From 92417cc56b8d2048cbe8eea62ebcec94ec8c9c65 Mon Sep 17 00:00:00 2001 From: matthias Date: Wed, 23 Apr 2025 12:13:57 +0200 Subject: [PATCH] optimize docs --- .github/workflows/hugo.yaml | 47 + docs/hugo/.hugo_build.lock | 0 docs/hugo/content/__to_do__/_index.md | 7 + docs/hugo/content/__to_do__/clone.md | 116 + docs/hugo/content/__to_do__/examples.md | 116 + docs/hugo/content/__to_do__/sidecars.md | 116 + docs/hugo/content/__to_do__/slots.md | 116 + docs/hugo/content/__to_do__/standby.md | 116 + docs/hugo/content/en/_index.md | 32 + docs/hugo/content/en/architecture/_index.md | 7 + .../content/en/architecture/architecture.md | 40 + .../content/en/architecture/compontens.md | 44 + .../content/en/architecture/rolling_update.md | 17 + docs/hugo/content/en/backup/_index.md | 6 + docs/hugo/content/en/backup/aws.md | 74 + docs/hugo/content/en/backup/azure_blob.md | 55 + docs/hugo/content/en/backup/check_backups.md | 79 + docs/hugo/content/en/backup/encryption.md | 52 + docs/hugo/content/en/backup/gcs.md | 55 + docs/hugo/content/en/backup/introduction.md | 83 + docs/hugo/content/en/backup/pvc.md | 40 + docs/hugo/content/en/certs/_index.md | 7 + docs/hugo/content/en/clone-cluster/_index.md | 87 + docs/hugo/content/en/config_cluster/_index.md | 84 + .../content/en/connection_pooler/_index.md | 56 + docs/hugo/content/en/crd/_index.md | 7 + .../en/crd/crd-operator-configurator.md | 89 + docs/hugo/content/en/crd/crd-postgresql.md | 467 ++ .../content/en/customize_cluster/_index.md | 6 + .../customize_cluster/additional-volumes.md | 32 + .../content/en/customize_cluster/sidecars.md | 110 + docs/hugo/content/en/db_users/_index.md | 153 + docs/hugo/content/en/extensions/_index.md | 6 + docs/hugo/content/en/extensions/pg13.md | 86 + docs/hugo/content/en/extensions/pg14.md | 88 + docs/hugo/content/en/extensions/pg15.md | 89 + docs/hugo/content/en/extensions/pg16.md | 89 + docs/hugo/content/en/extensions/pg17.md | 87 + docs/hugo/content/en/first_cluster/_index.md | 120 + docs/hugo/content/en/ha_cluster/_index.md | 59 + ...hitecture_cluster_backup_cloud_storage.png | Bin 0 -> 99433 bytes .../architecture_cluster_backup_pvc.png | Bin 0 -> 101125 bytes .../en/images/architecture_overview.png | Bin 0 -> 124143 bytes docs/hugo/content/en/installation/_index.md | 6 + .../en/installation/configuration_operator.md | 84 + docs/hugo/content/en/installation/dev-k8s.md | 73 + .../en/installation/install_operator.md | 61 + docs/hugo/content/en/monitoring/_index.md | 143 + docs/hugo/content/en/multisite/_index.md | 613 ++ docs/hugo/content/en/pg_versioning/_index.md | 6 + .../en/pg_versioning/major_upgrades.md | 87 + .../content/en/pg_versioning/minor_updates.md | 81 + docs/hugo/content/en/postgis/_index.md | 6 + docs/hugo/content/en/postgis/introduction.md | 7 + docs/hugo/content/en/project/_index.md | 6 + .../content/en/project/container_images.md | 32 + docs/hugo/content/en/project/project.md | 56 + docs/hugo/content/en/quickstart/_index.md | 112 + docs/hugo/content/en/release_notes/_index.md | 200 + docs/hugo/content/en/resources/_index.md | 57 + docs/hugo/content/en/restore/_index.md | 83 + .../hugo/content/en/standby-cluster/_index.md | 65 + docs/hugo/content/en/storage/_index.md | 98 + docs/hugo/content/en/tde/_index.md | 88 + docs/hugo/content/en/tls/_index.md | 120 + docs/hugo/content/en/tutorials/_index.md | 65 + docs/hugo/go.mod | 5 + docs/hugo/go.sum | 2 + docs/hugo/hugo.toml | 13 + docs/hugo/layouts/shortcodes/back.html | 1 + docs/hugo/public/404.html | 566 ++ .../architecture/architecture/index.html | 5248 ++++++++++++ .../public/architecture/compontens/index.html | 5171 ++++++++++++ docs/hugo/public/architecture/index.html | 5081 ++++++++++++ docs/hugo/public/architecture/index.xml | 26 + .../architecture/rolling_update/index.html | 5114 ++++++++++++ docs/hugo/public/backup/aws/index.html | 5186 ++++++++++++ docs/hugo/public/backup/azure_blob/index.html | 5165 ++++++++++++ .../public/backup/check_backups/index.html | 5186 ++++++++++++ docs/hugo/public/backup/encryption/index.html | 5141 ++++++++++++ docs/hugo/public/backup/gcs/index.html | 5165 ++++++++++++ docs/hugo/public/backup/index.html | 5081 ++++++++++++ docs/hugo/public/backup/index.xml | 61 + .../public/backup/introduction/index.html | 5223 ++++++++++++ docs/hugo/public/backup/pvc/index.html | 5138 ++++++++++++ docs/hugo/public/brand.svg | 53 + docs/hugo/public/categories/index.html | 4972 ++++++++++++ docs/hugo/public/categories/index.xml | 11 + docs/hugo/public/categories/page/1/index.html | 10 + docs/hugo/public/certs/index.html | 4940 ++++++++++++ docs/hugo/public/certs/index.xml | 12 + docs/hugo/public/clone-cluster/index.html | 5192 ++++++++++++ docs/hugo/public/clone-cluster/index.xml | 12 + docs/hugo/public/cluster_upgrade/index.html | 5102 ++++++++++++ docs/hugo/public/cluster_upgrade/index.xml | 12 + docs/hugo/public/config_cluster/index.html | 5202 ++++++++++++ docs/hugo/public/config_cluster/index.xml | 12 + docs/hugo/public/connection_pooler/index.html | 5186 ++++++++++++ docs/hugo/public/connection_pooler/index.xml | 12 + .../crd/crd-operator-configurator/index.html | 5549 +++++++++++++ .../hugo/public/crd/crd-postgresql/index.html | 7024 +++++++++++++++++ docs/hugo/public/crd/index.html | 5081 ++++++++++++ docs/hugo/public/crd/index.xml | 26 + docs/hugo/public/css/styles.css | 3 + docs/hugo/public/custom.css | 342 + .../additional-volumes/index.html | 5116 ++++++++++++ docs/hugo/public/customize_cluster/index.html | 5081 ++++++++++++ docs/hugo/public/customize_cluster/index.xml | 26 + .../customize_cluster/sidecars/index.html | 5242 ++++++++++++ docs/hugo/public/db_users/index.html | 5341 +++++++++++++ docs/hugo/public/db_users/index.xml | 12 + .../public/documentation/examples/index.html | 5312 +++++++++++++ docs/hugo/public/documentation/index.html | 5168 ++++++++++++ docs/hugo/public/documentation/index.xml | 26 + .../operator/migratetonewapi/index.html | 5181 ++++++++++++ docs/hugo/public/extensions/index.html | 5081 ++++++++++++ docs/hugo/public/extensions/index.xml | 47 + docs/hugo/public/extensions/pg13/index.html | 5485 +++++++++++++ docs/hugo/public/extensions/pg14/index.html | 5495 +++++++++++++ docs/hugo/public/extensions/pg15/index.html | 5500 +++++++++++++ docs/hugo/public/extensions/pg16/index.html | 5500 +++++++++++++ docs/hugo/public/extensions/pg17/index.html | 5490 +++++++++++++ .../public/favicon/android-chrome-144x144.png | Bin 0 -> 3142 bytes .../public/favicon/android-chrome-192x192.png | Bin 0 -> 4461 bytes .../public/favicon/android-chrome-256x256.png | Bin 0 -> 6209 bytes .../public/favicon/android-chrome-36x36.png | Bin 0 -> 751 bytes .../public/favicon/android-chrome-384x384.png | Bin 0 -> 10040 bytes .../public/favicon/android-chrome-48x48.png | Bin 0 -> 981 bytes .../public/favicon/android-chrome-512x512.png | Bin 0 -> 14011 bytes .../public/favicon/android-chrome-72x72.png | Bin 0 -> 1440 bytes .../public/favicon/android-chrome-96x96.png | Bin 0 -> 2013 bytes .../favicon/apple-touch-icon-1024x1024.png | Bin 0 -> 33494 bytes .../favicon/apple-touch-icon-114x114.png | Bin 0 -> 2435 bytes .../favicon/apple-touch-icon-120x120.png | Bin 0 -> 2546 bytes .../favicon/apple-touch-icon-144x144.png | Bin 0 -> 3143 bytes .../favicon/apple-touch-icon-152x152.png | Bin 0 -> 3410 bytes .../favicon/apple-touch-icon-167x167.png | Bin 0 -> 3782 bytes .../favicon/apple-touch-icon-180x180.png | Bin 0 -> 4137 bytes .../public/favicon/apple-touch-icon-57x57.png | Bin 0 -> 1135 bytes .../public/favicon/apple-touch-icon-60x60.png | Bin 0 -> 1244 bytes .../public/favicon/apple-touch-icon-72x72.png | Bin 0 -> 1414 bytes .../public/favicon/apple-touch-icon-76x76.png | Bin 0 -> 1559 bytes .../favicon/apple-touch-icon-precomposed.png | Bin 0 -> 4137 bytes docs/hugo/public/favicon/apple-touch-icon.png | Bin 0 -> 4137 bytes .../apple-touch-startup-image-1125x2436.png | Bin 0 -> 37986 bytes .../apple-touch-startup-image-1136x640.png | Bin 0 -> 19681 bytes .../apple-touch-startup-image-1170x2532.png | Bin 0 -> 39743 bytes .../apple-touch-startup-image-1179x2556.png | Bin 0 -> 40259 bytes .../apple-touch-startup-image-1242x2208.png | Bin 0 -> 42477 bytes .../apple-touch-startup-image-1242x2688.png | Bin 0 -> 42906 bytes .../apple-touch-startup-image-1284x2778.png | Bin 0 -> 45102 bytes .../apple-touch-startup-image-1290x2796.png | Bin 0 -> 43323 bytes .../apple-touch-startup-image-1334x750.png | Bin 0 -> 23706 bytes .../apple-touch-startup-image-1488x2266.png | Bin 0 -> 52703 bytes .../apple-touch-startup-image-1536x2048.png | Bin 0 -> 55190 bytes .../apple-touch-startup-image-1620x2160.png | Bin 0 -> 58514 bytes .../apple-touch-startup-image-1640x2160.png | Bin 0 -> 59659 bytes .../apple-touch-startup-image-1668x2224.png | Bin 0 -> 60962 bytes .../apple-touch-startup-image-1668x2388.png | Bin 0 -> 61120 bytes .../apple-touch-startup-image-1792x828.png | Bin 0 -> 25513 bytes .../apple-touch-startup-image-2048x1536.png | Bin 0 -> 58771 bytes .../apple-touch-startup-image-2048x2732.png | Bin 0 -> 79498 bytes .../apple-touch-startup-image-2160x1620.png | Bin 0 -> 62530 bytes .../apple-touch-startup-image-2160x1640.png | Bin 0 -> 63625 bytes .../apple-touch-startup-image-2208x1242.png | Bin 0 -> 44321 bytes .../apple-touch-startup-image-2224x1668.png | Bin 0 -> 64883 bytes .../apple-touch-startup-image-2266x1488.png | Bin 0 -> 55868 bytes .../apple-touch-startup-image-2388x1668.png | Bin 0 -> 64314 bytes .../apple-touch-startup-image-2436x1125.png | Bin 0 -> 37510 bytes .../apple-touch-startup-image-2532x1170.png | Bin 0 -> 39841 bytes .../apple-touch-startup-image-2556x1179.png | Bin 0 -> 40307 bytes .../apple-touch-startup-image-2688x1242.png | Bin 0 -> 42964 bytes .../apple-touch-startup-image-2732x2048.png | Bin 0 -> 84223 bytes .../apple-touch-startup-image-2778x1284.png | Bin 0 -> 44918 bytes .../apple-touch-startup-image-2796x1290.png | Bin 0 -> 45333 bytes .../apple-touch-startup-image-640x1136.png | Bin 0 -> 18940 bytes .../apple-touch-startup-image-750x1334.png | Bin 0 -> 23176 bytes .../apple-touch-startup-image-828x1792.png | Bin 0 -> 26138 bytes docs/hugo/public/favicon/browserconfig.xml | 12 + docs/hugo/public/favicon/favicon-16x16.png | Bin 0 -> 442 bytes docs/hugo/public/favicon/favicon-32x32.png | Bin 0 -> 816 bytes docs/hugo/public/favicon/favicon-48x48.png | Bin 0 -> 1215 bytes docs/hugo/public/favicon/favicon.ico | Bin 0 -> 33310 bytes docs/hugo/public/favicon/favicon.svg | 53 + docs/hugo/public/favicon/manifest.webmanifest | 68 + docs/hugo/public/favicon/mstile-144x144.png | Bin 0 -> 3142 bytes docs/hugo/public/favicon/mstile-150x150.png | Bin 0 -> 3272 bytes docs/hugo/public/favicon/mstile-310x150.png | Bin 0 -> 3026 bytes docs/hugo/public/favicon/mstile-310x310.png | Bin 0 -> 7749 bytes docs/hugo/public/favicon/mstile-70x70.png | Bin 0 -> 1442 bytes .../first_cluster/_index-copy/index.html | 5504 +++++++++++++ .../first_cluster/ha-cluster/index.html | 5362 +++++++++++++ docs/hugo/public/first_cluster/index.html | 5235 ++++++++++++ docs/hugo/public/first_cluster/index.xml | 12 + .../first_cluster/singe-clluster/index.html | 5495 +++++++++++++ .../first_cluster/singe-cluster/index.html | 5427 +++++++++++++ docs/hugo/public/fonts/GeekdocIcons.woff | Bin 0 -> 6140 bytes docs/hugo/public/fonts/GeekdocIcons.woff2 | Bin 0 -> 5084 bytes docs/hugo/public/fonts/KaTeX_AMS-Regular.woff | Bin 0 -> 33516 bytes .../hugo/public/fonts/KaTeX_AMS-Regular.woff2 | Bin 0 -> 28076 bytes .../public/fonts/KaTeX_Caligraphic-Bold.woff | Bin 0 -> 7716 bytes .../public/fonts/KaTeX_Caligraphic-Bold.woff2 | Bin 0 -> 6912 bytes .../fonts/KaTeX_Caligraphic-Regular.woff | Bin 0 -> 7656 bytes .../fonts/KaTeX_Caligraphic-Regular.woff2 | Bin 0 -> 6908 bytes .../hugo/public/fonts/KaTeX_Fraktur-Bold.woff | Bin 0 -> 13296 bytes .../public/fonts/KaTeX_Fraktur-Bold.woff2 | Bin 0 -> 11348 bytes .../public/fonts/KaTeX_Fraktur-Regular.woff | Bin 0 -> 13208 bytes .../public/fonts/KaTeX_Fraktur-Regular.woff2 | Bin 0 -> 11316 bytes docs/hugo/public/fonts/KaTeX_Main-Bold.woff | Bin 0 -> 29912 bytes docs/hugo/public/fonts/KaTeX_Main-Bold.woff2 | Bin 0 -> 25324 bytes .../public/fonts/KaTeX_Main-BoldItalic.woff | Bin 0 -> 19412 bytes .../public/fonts/KaTeX_Main-BoldItalic.woff2 | Bin 0 -> 16780 bytes docs/hugo/public/fonts/KaTeX_Main-Italic.woff | Bin 0 -> 19676 bytes .../hugo/public/fonts/KaTeX_Main-Italic.woff2 | Bin 0 -> 16988 bytes .../hugo/public/fonts/KaTeX_Main-Regular.woff | Bin 0 -> 30772 bytes .../public/fonts/KaTeX_Main-Regular.woff2 | Bin 0 -> 26272 bytes .../public/fonts/KaTeX_Math-BoldItalic.woff | Bin 0 -> 18668 bytes .../public/fonts/KaTeX_Math-BoldItalic.woff2 | Bin 0 -> 16400 bytes docs/hugo/public/fonts/KaTeX_Math-Italic.woff | Bin 0 -> 18748 bytes .../hugo/public/fonts/KaTeX_Math-Italic.woff2 | Bin 0 -> 16440 bytes .../public/fonts/KaTeX_SansSerif-Bold.woff | Bin 0 -> 14408 bytes .../public/fonts/KaTeX_SansSerif-Bold.woff2 | Bin 0 -> 12216 bytes .../public/fonts/KaTeX_SansSerif-Italic.woff | Bin 0 -> 14112 bytes .../public/fonts/KaTeX_SansSerif-Italic.woff2 | Bin 0 -> 12028 bytes .../public/fonts/KaTeX_SansSerif-Regular.woff | Bin 0 -> 12316 bytes .../fonts/KaTeX_SansSerif-Regular.woff2 | Bin 0 -> 10344 bytes .../public/fonts/KaTeX_Script-Regular.woff | Bin 0 -> 10588 bytes .../public/fonts/KaTeX_Script-Regular.woff2 | Bin 0 -> 9644 bytes .../public/fonts/KaTeX_Size1-Regular.woff | Bin 0 -> 6496 bytes .../public/fonts/KaTeX_Size1-Regular.woff2 | Bin 0 -> 5468 bytes .../public/fonts/KaTeX_Size2-Regular.woff | Bin 0 -> 6188 bytes .../public/fonts/KaTeX_Size2-Regular.woff2 | Bin 0 -> 5208 bytes .../public/fonts/KaTeX_Size3-Regular.woff | Bin 0 -> 4420 bytes .../public/fonts/KaTeX_Size3-Regular.woff2 | Bin 0 -> 3624 bytes .../public/fonts/KaTeX_Size4-Regular.woff | Bin 0 -> 5980 bytes .../public/fonts/KaTeX_Size4-Regular.woff2 | Bin 0 -> 4928 bytes .../fonts/KaTeX_Typewriter-Regular.woff | Bin 0 -> 16028 bytes .../fonts/KaTeX_Typewriter-Regular.woff2 | Bin 0 -> 13568 bytes docs/hugo/public/fonts/LiberationMono.woff | Bin 0 -> 174632 bytes docs/hugo/public/fonts/LiberationMono.woff2 | Bin 0 -> 123712 bytes .../public/fonts/LiberationSans-Bold.woff | Bin 0 -> 189564 bytes .../public/fonts/LiberationSans-Bold.woff2 | Bin 0 -> 134780 bytes .../fonts/LiberationSans-BoldItalic.woff | Bin 0 -> 192500 bytes .../fonts/LiberationSans-BoldItalic.woff2 | Bin 0 -> 138004 bytes .../public/fonts/LiberationSans-Italic.woff | Bin 0 -> 195116 bytes .../public/fonts/LiberationSans-Italic.woff2 | Bin 0 -> 139304 bytes docs/hugo/public/fonts/LiberationSans.woff | Bin 0 -> 188280 bytes docs/hugo/public/fonts/LiberationSans.woff2 | Bin 0 -> 133308 bytes docs/hugo/public/fonts/Metropolis.woff | Bin 0 -> 16336 bytes docs/hugo/public/fonts/Metropolis.woff2 | Bin 0 -> 11292 bytes docs/hugo/public/fonts/Roboto-Bold.ttf | Bin 0 -> 135820 bytes docs/hugo/public/fonts/Roboto-Italic.ttf | Bin 0 -> 148540 bytes docs/hugo/public/fonts/Roboto.ttf | Bin 0 -> 168260 bytes docs/hugo/public/fonts/SourceCodePro.ttf | Bin 0 -> 120456 bytes docs/hugo/public/ha_cluster/index.html | 5152 ++++++++++++ docs/hugo/public/ha_cluster/index.xml | 12 + ...hitecture_cluster_backup_cloud_storage.png | Bin 0 -> 99433 bytes .../architecture_cluster_backup_pvc.png | Bin 0 -> 101125 bytes .../public/images/architecture_overview.png | Bin 0 -> 124143 bytes docs/hugo/public/images/css/custom.css | 3 + docs/hugo/public/images/css/styles.css | 3 + docs/hugo/public/images/k8s-entities.png | Bin 0 -> 97008 bytes .../public/images/multisite-interaction.png | Bin 0 -> 38838 bytes docs/hugo/public/img/big-data-circle.svg | 2 + docs/hugo/public/img/geekdoc-stack.svg | 1 + docs/hugo/public/index.html | 5040 ++++++++++++ docs/hugo/public/index.xml | 187 + .../configuration_operator/index.html | 5208 ++++++++++++ .../public/installation/dev-k8s/index.html | 5204 ++++++++++++ docs/hugo/public/installation/index.html | 5081 ++++++++++++ docs/hugo/public/installation/index.xml | 33 + .../installation/install_operator/index.html | 5217 ++++++++++++ .../installation/installation/index.html | 5300 +++++++++++++ docs/hugo/public/js/110-f4b990d9.chunk.min.js | 1 + docs/hugo/public/js/12-0b8427d1.chunk.min.js | 1 + docs/hugo/public/js/130-3b252fb9.chunk.min.js | 1 + docs/hugo/public/js/164-c7b61128.chunk.min.js | 1 + docs/hugo/public/js/165-06872da1.chunk.min.js | 2 + .../js/165-06872da1.chunk.min.js.LICENSE.txt | 9 + docs/hugo/public/js/175-2944b44a.chunk.min.js | 1 + docs/hugo/public/js/237-c0a3f3fe.chunk.min.js | 1 + docs/hugo/public/js/240-8ca3ada2.chunk.min.js | 1 + docs/hugo/public/js/244-45e1a422.chunk.min.js | 1 + docs/hugo/public/js/354-5c1850f7.chunk.min.js | 1 + docs/hugo/public/js/355-ef4f96e9.chunk.min.js | 1 + docs/hugo/public/js/357-e9bfa102.chunk.min.js | 1 + docs/hugo/public/js/383-676aedef.chunk.min.js | 1 + docs/hugo/public/js/387-3546ecdc.chunk.min.js | 1 + docs/hugo/public/js/391-549a9d24.chunk.min.js | 1 + docs/hugo/public/js/410-3bccc12d.chunk.min.js | 1 + docs/hugo/public/js/413-c02a8543.chunk.min.js | 1 + docs/hugo/public/js/417-65958f5a.chunk.min.js | 1 + docs/hugo/public/js/452-e65d6d68.chunk.min.js | 1 + docs/hugo/public/js/485-6a3d102c.chunk.min.js | 1 + docs/hugo/public/js/540-ae28fd42.chunk.min.js | 1 + docs/hugo/public/js/545-bfa2b46e.chunk.min.js | 1 + docs/hugo/public/js/56-09931933.chunk.min.js | 1 + docs/hugo/public/js/567-4fef9a1a.chunk.min.js | 1 + docs/hugo/public/js/632-7a25d3c6.chunk.min.js | 1 + docs/hugo/public/js/648-b5ba4bb4.chunk.min.js | 1 + docs/hugo/public/js/664-ed5252a5.chunk.min.js | 1 + docs/hugo/public/js/691-2a6930fd.chunk.min.js | 1 + docs/hugo/public/js/720-970f726e.chunk.min.js | 1 + docs/hugo/public/js/723-47eb515a.chunk.min.js | 1 + docs/hugo/public/js/731-70ea2831.chunk.min.js | 1 + docs/hugo/public/js/732-8e5770e7.chunk.min.js | 1 + docs/hugo/public/js/758-18005d5c.chunk.min.js | 1 + docs/hugo/public/js/825-fe49e4aa.chunk.min.js | 1 + docs/hugo/public/js/890-c9907c95.chunk.min.js | 1 + docs/hugo/public/js/978-b543144f.chunk.min.js | 1 + .../js/colortheme-01ea3db1.bundle.min.js | 1 + .../public/js/katex-bde37be1.bundle.min.js | 1 + .../public/js/main-2e274343.bundle.min.js | 2 + .../main-2e274343.bundle.min.js.LICENSE.txt | 6 + .../public/js/mermaid-fc9f74ae.bundle.min.js | 2 + ...mermaid-fc9f74ae.bundle.min.js.LICENSE.txt | 7 + .../public/js/search-7db5e115.bundle.min.js | 2 + .../search-7db5e115.bundle.min.js.LICENSE.txt | 7 + docs/hugo/public/katex-a0da2a32.min.css | 1 + docs/hugo/public/main-4434ec39.min.css | 1 + .../hugo/public/major_upgrade-copy/index.html | 5162 ++++++++++++ docs/hugo/public/major_upgrade-copy/index.xml | 12 + docs/hugo/public/major_upgrade/index.html | 5179 ++++++++++++ docs/hugo/public/major_upgrade/index.xml | 12 + docs/hugo/public/minor_update/index.html | 5179 ++++++++++++ docs/hugo/public/minor_update/index.xml | 12 + docs/hugo/public/mobile-79ddc617.min.css | 1 + docs/hugo/public/monitoring/index.html | 5266 ++++++++++++ docs/hugo/public/monitoring/index.xml | 12 + docs/hugo/public/multisite-copy/index.html | 5422 +++++++++++++ docs/hugo/public/multisite-copy/index.xml | 12 + docs/hugo/public/multisite/index.html | 5681 +++++++++++++ docs/hugo/public/multisite/index.xml | 12 + docs/hugo/public/pg-versioning/index.html | 5179 ++++++++++++ docs/hugo/public/pg-versioning/index.xml | 12 + .../pg_versioning/_index-copy/index.html | 5292 +++++++++++++ docs/hugo/public/pg_versioning/index.html | 5081 ++++++++++++ docs/hugo/public/pg_versioning/index.xml | 26 + .../major_upgrades-copy/index.html | 5343 +++++++++++++ .../pg_versioning/major_upgrades/index.html | 5275 +++++++++++++ .../pg_versioning/minor_updates/index.html | 5210 ++++++++++++ docs/hugo/public/postgis/index.html | 5168 ++++++++++++ docs/hugo/public/postgis/index.xml | 19 + .../public/postgis/introduction/index.html | 5183 ++++++++++++ docs/hugo/public/print-735ccc12.min.css | 1 + .../project/container_images/index.html | 5153 ++++++++++++ docs/hugo/public/project/index.html | 5072 ++++++++++++ docs/hugo/public/project/index.xml | 26 + docs/hugo/public/project/project/index.html | 5211 ++++++++++++ docs/hugo/public/quickstart/index.html | 5240 ++++++++++++ docs/hugo/public/quickstart/index.xml | 12 + docs/hugo/public/release_notes/index.html | 5585 +++++++++++++ docs/hugo/public/release_notes/index.xml | 12 + docs/hugo/public/resources/index.html | 5147 ++++++++++++ docs/hugo/public/resources/index.xml | 12 + docs/hugo/public/restore/index.html | 5230 ++++++++++++ docs/hugo/public/restore/index.xml | 12 + docs/hugo/public/search/en.config.min.json | 1 + docs/hugo/public/search/en.data.min.json | 1 + docs/hugo/public/sitemap.xml | 162 + docs/hugo/public/standby-cluster/index.html | 5167 ++++++++++++ docs/hugo/public/standby-cluster/index.xml | 12 + docs/hugo/public/storage/index.html | 5213 ++++++++++++ docs/hugo/public/storage/index.xml | 12 + docs/hugo/public/tags/index.html | 4972 ++++++++++++ docs/hugo/public/tags/index.xml | 11 + docs/hugo/public/tags/page/1/index.html | 10 + docs/hugo/public/tde/index.html | 5220 ++++++++++++ docs/hugo/public/tde/index.xml | 12 + docs/hugo/public/tls-copy/index.html | 4834 ++++++++++++ docs/hugo/public/tls-copy/index.xml | 12 + docs/hugo/public/tls/index.html | 5247 ++++++++++++ docs/hugo/public/tls/index.xml | 12 + docs/hugo/public/tutorials/index.html | 5216 ++++++++++++ docs/hugo/public/tutorials/index.xml | 12 + docs/hugo/public/versionm-/index.html | 5179 ++++++++++++ docs/hugo/public/versionm-/index.xml | 12 + docs/hugo/static/images/k8s-entities.png | Bin 0 -> 97008 bytes .../static/images/multisite-interaction.png | Bin 0 -> 38838 bytes 379 files changed, 400985 insertions(+) create mode 100644 .github/workflows/hugo.yaml create mode 100644 docs/hugo/.hugo_build.lock create mode 100644 docs/hugo/content/__to_do__/_index.md create mode 100644 docs/hugo/content/__to_do__/clone.md create mode 100644 docs/hugo/content/__to_do__/examples.md create mode 100644 docs/hugo/content/__to_do__/sidecars.md create mode 100644 docs/hugo/content/__to_do__/slots.md create mode 100644 docs/hugo/content/__to_do__/standby.md create mode 100644 docs/hugo/content/en/_index.md create mode 100644 docs/hugo/content/en/architecture/_index.md create mode 100644 docs/hugo/content/en/architecture/architecture.md create mode 100644 docs/hugo/content/en/architecture/compontens.md create mode 100644 docs/hugo/content/en/architecture/rolling_update.md create mode 100644 docs/hugo/content/en/backup/_index.md create mode 100644 docs/hugo/content/en/backup/aws.md create mode 100644 docs/hugo/content/en/backup/azure_blob.md create mode 100644 docs/hugo/content/en/backup/check_backups.md create mode 100644 docs/hugo/content/en/backup/encryption.md create mode 100644 docs/hugo/content/en/backup/gcs.md create mode 100644 docs/hugo/content/en/backup/introduction.md create mode 100644 docs/hugo/content/en/backup/pvc.md create mode 100644 docs/hugo/content/en/certs/_index.md create mode 100644 docs/hugo/content/en/clone-cluster/_index.md create mode 100644 docs/hugo/content/en/config_cluster/_index.md create mode 100644 docs/hugo/content/en/connection_pooler/_index.md create mode 100644 docs/hugo/content/en/crd/_index.md create mode 100644 docs/hugo/content/en/crd/crd-operator-configurator.md create mode 100644 docs/hugo/content/en/crd/crd-postgresql.md create mode 100644 docs/hugo/content/en/customize_cluster/_index.md create mode 100644 docs/hugo/content/en/customize_cluster/additional-volumes.md create mode 100644 docs/hugo/content/en/customize_cluster/sidecars.md create mode 100644 docs/hugo/content/en/db_users/_index.md create mode 100644 docs/hugo/content/en/extensions/_index.md create mode 100644 docs/hugo/content/en/extensions/pg13.md create mode 100644 docs/hugo/content/en/extensions/pg14.md create mode 100644 docs/hugo/content/en/extensions/pg15.md create mode 100644 docs/hugo/content/en/extensions/pg16.md create mode 100644 docs/hugo/content/en/extensions/pg17.md create mode 100644 docs/hugo/content/en/first_cluster/_index.md create mode 100644 docs/hugo/content/en/ha_cluster/_index.md create mode 100644 docs/hugo/content/en/images/architecture_cluster_backup_cloud_storage.png create mode 100644 docs/hugo/content/en/images/architecture_cluster_backup_pvc.png create mode 100644 docs/hugo/content/en/images/architecture_overview.png create mode 100644 docs/hugo/content/en/installation/_index.md create mode 100644 docs/hugo/content/en/installation/configuration_operator.md create mode 100644 docs/hugo/content/en/installation/dev-k8s.md create mode 100644 docs/hugo/content/en/installation/install_operator.md create mode 100644 docs/hugo/content/en/monitoring/_index.md create mode 100644 docs/hugo/content/en/multisite/_index.md create mode 100644 docs/hugo/content/en/pg_versioning/_index.md create mode 100644 docs/hugo/content/en/pg_versioning/major_upgrades.md create mode 100644 docs/hugo/content/en/pg_versioning/minor_updates.md create mode 100644 docs/hugo/content/en/postgis/_index.md create mode 100644 docs/hugo/content/en/postgis/introduction.md create mode 100644 docs/hugo/content/en/project/_index.md create mode 100644 docs/hugo/content/en/project/container_images.md create mode 100644 docs/hugo/content/en/project/project.md create mode 100644 docs/hugo/content/en/quickstart/_index.md create mode 100644 docs/hugo/content/en/release_notes/_index.md create mode 100644 docs/hugo/content/en/resources/_index.md create mode 100644 docs/hugo/content/en/restore/_index.md create mode 100644 docs/hugo/content/en/standby-cluster/_index.md create mode 100644 docs/hugo/content/en/storage/_index.md create mode 100644 docs/hugo/content/en/tde/_index.md create mode 100644 docs/hugo/content/en/tls/_index.md create mode 100644 docs/hugo/content/en/tutorials/_index.md create mode 100644 docs/hugo/go.mod create mode 100644 docs/hugo/go.sum create mode 100644 docs/hugo/hugo.toml create mode 100644 docs/hugo/layouts/shortcodes/back.html create mode 100644 docs/hugo/public/404.html create mode 100644 docs/hugo/public/architecture/architecture/index.html create mode 100644 docs/hugo/public/architecture/compontens/index.html create mode 100644 docs/hugo/public/architecture/index.html create mode 100644 docs/hugo/public/architecture/index.xml create mode 100644 docs/hugo/public/architecture/rolling_update/index.html create mode 100644 docs/hugo/public/backup/aws/index.html create mode 100644 docs/hugo/public/backup/azure_blob/index.html create mode 100644 docs/hugo/public/backup/check_backups/index.html create mode 100644 docs/hugo/public/backup/encryption/index.html create mode 100644 docs/hugo/public/backup/gcs/index.html create mode 100644 docs/hugo/public/backup/index.html create mode 100644 docs/hugo/public/backup/index.xml create mode 100644 docs/hugo/public/backup/introduction/index.html create mode 100644 docs/hugo/public/backup/pvc/index.html create mode 100644 docs/hugo/public/brand.svg create mode 100644 docs/hugo/public/categories/index.html create mode 100644 docs/hugo/public/categories/index.xml create mode 100644 docs/hugo/public/categories/page/1/index.html create mode 100644 docs/hugo/public/certs/index.html create mode 100644 docs/hugo/public/certs/index.xml create mode 100644 docs/hugo/public/clone-cluster/index.html create mode 100644 docs/hugo/public/clone-cluster/index.xml create mode 100644 docs/hugo/public/cluster_upgrade/index.html create mode 100644 docs/hugo/public/cluster_upgrade/index.xml create mode 100644 docs/hugo/public/config_cluster/index.html create mode 100644 docs/hugo/public/config_cluster/index.xml create mode 100644 docs/hugo/public/connection_pooler/index.html create mode 100644 docs/hugo/public/connection_pooler/index.xml create mode 100644 docs/hugo/public/crd/crd-operator-configurator/index.html create mode 100644 docs/hugo/public/crd/crd-postgresql/index.html create mode 100644 docs/hugo/public/crd/index.html create mode 100644 docs/hugo/public/crd/index.xml create mode 100644 docs/hugo/public/css/styles.css create mode 100644 docs/hugo/public/custom.css create mode 100644 docs/hugo/public/customize_cluster/additional-volumes/index.html create mode 100644 docs/hugo/public/customize_cluster/index.html create mode 100644 docs/hugo/public/customize_cluster/index.xml create mode 100644 docs/hugo/public/customize_cluster/sidecars/index.html create mode 100644 docs/hugo/public/db_users/index.html create mode 100644 docs/hugo/public/db_users/index.xml create mode 100644 docs/hugo/public/documentation/examples/index.html create mode 100644 docs/hugo/public/documentation/index.html create mode 100644 docs/hugo/public/documentation/index.xml create mode 100644 docs/hugo/public/documentation/operator/migratetonewapi/index.html create mode 100644 docs/hugo/public/extensions/index.html create mode 100644 docs/hugo/public/extensions/index.xml create mode 100644 docs/hugo/public/extensions/pg13/index.html create mode 100644 docs/hugo/public/extensions/pg14/index.html create mode 100644 docs/hugo/public/extensions/pg15/index.html create mode 100644 docs/hugo/public/extensions/pg16/index.html create mode 100644 docs/hugo/public/extensions/pg17/index.html create mode 100644 docs/hugo/public/favicon/android-chrome-144x144.png create mode 100644 docs/hugo/public/favicon/android-chrome-192x192.png create mode 100644 docs/hugo/public/favicon/android-chrome-256x256.png create mode 100644 docs/hugo/public/favicon/android-chrome-36x36.png create mode 100644 docs/hugo/public/favicon/android-chrome-384x384.png create mode 100644 docs/hugo/public/favicon/android-chrome-48x48.png create mode 100644 docs/hugo/public/favicon/android-chrome-512x512.png create mode 100644 docs/hugo/public/favicon/android-chrome-72x72.png create mode 100644 docs/hugo/public/favicon/android-chrome-96x96.png create mode 100644 docs/hugo/public/favicon/apple-touch-icon-1024x1024.png create mode 100644 docs/hugo/public/favicon/apple-touch-icon-114x114.png create mode 100644 docs/hugo/public/favicon/apple-touch-icon-120x120.png create mode 100644 docs/hugo/public/favicon/apple-touch-icon-144x144.png create mode 100644 docs/hugo/public/favicon/apple-touch-icon-152x152.png create mode 100644 docs/hugo/public/favicon/apple-touch-icon-167x167.png create mode 100644 docs/hugo/public/favicon/apple-touch-icon-180x180.png create mode 100644 docs/hugo/public/favicon/apple-touch-icon-57x57.png create mode 100644 docs/hugo/public/favicon/apple-touch-icon-60x60.png create mode 100644 docs/hugo/public/favicon/apple-touch-icon-72x72.png create mode 100644 docs/hugo/public/favicon/apple-touch-icon-76x76.png create mode 100644 docs/hugo/public/favicon/apple-touch-icon-precomposed.png create mode 100644 docs/hugo/public/favicon/apple-touch-icon.png create mode 100644 docs/hugo/public/favicon/apple-touch-startup-image-1125x2436.png create mode 100644 docs/hugo/public/favicon/apple-touch-startup-image-1136x640.png create mode 100644 docs/hugo/public/favicon/apple-touch-startup-image-1170x2532.png create mode 100644 docs/hugo/public/favicon/apple-touch-startup-image-1179x2556.png create mode 100644 docs/hugo/public/favicon/apple-touch-startup-image-1242x2208.png create mode 100644 docs/hugo/public/favicon/apple-touch-startup-image-1242x2688.png create mode 100644 docs/hugo/public/favicon/apple-touch-startup-image-1284x2778.png create mode 100644 docs/hugo/public/favicon/apple-touch-startup-image-1290x2796.png create mode 100644 docs/hugo/public/favicon/apple-touch-startup-image-1334x750.png create mode 100644 docs/hugo/public/favicon/apple-touch-startup-image-1488x2266.png create mode 100644 docs/hugo/public/favicon/apple-touch-startup-image-1536x2048.png create mode 100644 docs/hugo/public/favicon/apple-touch-startup-image-1620x2160.png create mode 100644 docs/hugo/public/favicon/apple-touch-startup-image-1640x2160.png create mode 100644 docs/hugo/public/favicon/apple-touch-startup-image-1668x2224.png create mode 100644 docs/hugo/public/favicon/apple-touch-startup-image-1668x2388.png create mode 100644 docs/hugo/public/favicon/apple-touch-startup-image-1792x828.png create mode 100644 docs/hugo/public/favicon/apple-touch-startup-image-2048x1536.png create mode 100644 docs/hugo/public/favicon/apple-touch-startup-image-2048x2732.png create mode 100644 docs/hugo/public/favicon/apple-touch-startup-image-2160x1620.png create mode 100644 docs/hugo/public/favicon/apple-touch-startup-image-2160x1640.png create mode 100644 docs/hugo/public/favicon/apple-touch-startup-image-2208x1242.png create mode 100644 docs/hugo/public/favicon/apple-touch-startup-image-2224x1668.png create mode 100644 docs/hugo/public/favicon/apple-touch-startup-image-2266x1488.png create mode 100644 docs/hugo/public/favicon/apple-touch-startup-image-2388x1668.png create mode 100644 docs/hugo/public/favicon/apple-touch-startup-image-2436x1125.png create mode 100644 docs/hugo/public/favicon/apple-touch-startup-image-2532x1170.png create mode 100644 docs/hugo/public/favicon/apple-touch-startup-image-2556x1179.png create mode 100644 docs/hugo/public/favicon/apple-touch-startup-image-2688x1242.png create mode 100644 docs/hugo/public/favicon/apple-touch-startup-image-2732x2048.png create mode 100644 docs/hugo/public/favicon/apple-touch-startup-image-2778x1284.png create mode 100644 docs/hugo/public/favicon/apple-touch-startup-image-2796x1290.png create mode 100644 docs/hugo/public/favicon/apple-touch-startup-image-640x1136.png create mode 100644 docs/hugo/public/favicon/apple-touch-startup-image-750x1334.png create mode 100644 docs/hugo/public/favicon/apple-touch-startup-image-828x1792.png create mode 100644 docs/hugo/public/favicon/browserconfig.xml create mode 100644 docs/hugo/public/favicon/favicon-16x16.png create mode 100644 docs/hugo/public/favicon/favicon-32x32.png create mode 100644 docs/hugo/public/favicon/favicon-48x48.png create mode 100644 docs/hugo/public/favicon/favicon.ico create mode 100644 docs/hugo/public/favicon/favicon.svg create mode 100644 docs/hugo/public/favicon/manifest.webmanifest create mode 100644 docs/hugo/public/favicon/mstile-144x144.png create mode 100644 docs/hugo/public/favicon/mstile-150x150.png create mode 100644 docs/hugo/public/favicon/mstile-310x150.png create mode 100644 docs/hugo/public/favicon/mstile-310x310.png create mode 100644 docs/hugo/public/favicon/mstile-70x70.png create mode 100644 docs/hugo/public/first_cluster/_index-copy/index.html create mode 100644 docs/hugo/public/first_cluster/ha-cluster/index.html create mode 100644 docs/hugo/public/first_cluster/index.html create mode 100644 docs/hugo/public/first_cluster/index.xml create mode 100644 docs/hugo/public/first_cluster/singe-clluster/index.html create mode 100644 docs/hugo/public/first_cluster/singe-cluster/index.html create mode 100644 docs/hugo/public/fonts/GeekdocIcons.woff create mode 100644 docs/hugo/public/fonts/GeekdocIcons.woff2 create mode 100644 docs/hugo/public/fonts/KaTeX_AMS-Regular.woff create mode 100644 docs/hugo/public/fonts/KaTeX_AMS-Regular.woff2 create mode 100644 docs/hugo/public/fonts/KaTeX_Caligraphic-Bold.woff create mode 100644 docs/hugo/public/fonts/KaTeX_Caligraphic-Bold.woff2 create mode 100644 docs/hugo/public/fonts/KaTeX_Caligraphic-Regular.woff create mode 100644 docs/hugo/public/fonts/KaTeX_Caligraphic-Regular.woff2 create mode 100644 docs/hugo/public/fonts/KaTeX_Fraktur-Bold.woff create mode 100644 docs/hugo/public/fonts/KaTeX_Fraktur-Bold.woff2 create mode 100644 docs/hugo/public/fonts/KaTeX_Fraktur-Regular.woff create mode 100644 docs/hugo/public/fonts/KaTeX_Fraktur-Regular.woff2 create mode 100644 docs/hugo/public/fonts/KaTeX_Main-Bold.woff create mode 100644 docs/hugo/public/fonts/KaTeX_Main-Bold.woff2 create mode 100644 docs/hugo/public/fonts/KaTeX_Main-BoldItalic.woff create mode 100644 docs/hugo/public/fonts/KaTeX_Main-BoldItalic.woff2 create mode 100644 docs/hugo/public/fonts/KaTeX_Main-Italic.woff create mode 100644 docs/hugo/public/fonts/KaTeX_Main-Italic.woff2 create mode 100644 docs/hugo/public/fonts/KaTeX_Main-Regular.woff create mode 100644 docs/hugo/public/fonts/KaTeX_Main-Regular.woff2 create mode 100644 docs/hugo/public/fonts/KaTeX_Math-BoldItalic.woff create mode 100644 docs/hugo/public/fonts/KaTeX_Math-BoldItalic.woff2 create mode 100644 docs/hugo/public/fonts/KaTeX_Math-Italic.woff create mode 100644 docs/hugo/public/fonts/KaTeX_Math-Italic.woff2 create mode 100644 docs/hugo/public/fonts/KaTeX_SansSerif-Bold.woff create mode 100644 docs/hugo/public/fonts/KaTeX_SansSerif-Bold.woff2 create mode 100644 docs/hugo/public/fonts/KaTeX_SansSerif-Italic.woff create mode 100644 docs/hugo/public/fonts/KaTeX_SansSerif-Italic.woff2 create mode 100644 docs/hugo/public/fonts/KaTeX_SansSerif-Regular.woff create mode 100644 docs/hugo/public/fonts/KaTeX_SansSerif-Regular.woff2 create mode 100644 docs/hugo/public/fonts/KaTeX_Script-Regular.woff create mode 100644 docs/hugo/public/fonts/KaTeX_Script-Regular.woff2 create mode 100644 docs/hugo/public/fonts/KaTeX_Size1-Regular.woff create mode 100644 docs/hugo/public/fonts/KaTeX_Size1-Regular.woff2 create mode 100644 docs/hugo/public/fonts/KaTeX_Size2-Regular.woff create mode 100644 docs/hugo/public/fonts/KaTeX_Size2-Regular.woff2 create mode 100644 docs/hugo/public/fonts/KaTeX_Size3-Regular.woff create mode 100644 docs/hugo/public/fonts/KaTeX_Size3-Regular.woff2 create mode 100644 docs/hugo/public/fonts/KaTeX_Size4-Regular.woff create mode 100644 docs/hugo/public/fonts/KaTeX_Size4-Regular.woff2 create mode 100644 docs/hugo/public/fonts/KaTeX_Typewriter-Regular.woff create mode 100644 docs/hugo/public/fonts/KaTeX_Typewriter-Regular.woff2 create mode 100644 docs/hugo/public/fonts/LiberationMono.woff create mode 100644 docs/hugo/public/fonts/LiberationMono.woff2 create mode 100644 docs/hugo/public/fonts/LiberationSans-Bold.woff create mode 100644 docs/hugo/public/fonts/LiberationSans-Bold.woff2 create mode 100644 docs/hugo/public/fonts/LiberationSans-BoldItalic.woff create mode 100644 docs/hugo/public/fonts/LiberationSans-BoldItalic.woff2 create mode 100644 docs/hugo/public/fonts/LiberationSans-Italic.woff create mode 100644 docs/hugo/public/fonts/LiberationSans-Italic.woff2 create mode 100644 docs/hugo/public/fonts/LiberationSans.woff create mode 100644 docs/hugo/public/fonts/LiberationSans.woff2 create mode 100644 docs/hugo/public/fonts/Metropolis.woff create mode 100644 docs/hugo/public/fonts/Metropolis.woff2 create mode 100644 docs/hugo/public/fonts/Roboto-Bold.ttf create mode 100644 docs/hugo/public/fonts/Roboto-Italic.ttf create mode 100644 docs/hugo/public/fonts/Roboto.ttf create mode 100644 docs/hugo/public/fonts/SourceCodePro.ttf create mode 100644 docs/hugo/public/ha_cluster/index.html create mode 100644 docs/hugo/public/ha_cluster/index.xml create mode 100644 docs/hugo/public/images/architecture_cluster_backup_cloud_storage.png create mode 100644 docs/hugo/public/images/architecture_cluster_backup_pvc.png create mode 100644 docs/hugo/public/images/architecture_overview.png create mode 100644 docs/hugo/public/images/css/custom.css create mode 100644 docs/hugo/public/images/css/styles.css create mode 100644 docs/hugo/public/images/k8s-entities.png create mode 100644 docs/hugo/public/images/multisite-interaction.png create mode 100644 docs/hugo/public/img/big-data-circle.svg create mode 100644 docs/hugo/public/img/geekdoc-stack.svg create mode 100644 docs/hugo/public/index.html create mode 100644 docs/hugo/public/index.xml create mode 100644 docs/hugo/public/installation/configuration_operator/index.html create mode 100644 docs/hugo/public/installation/dev-k8s/index.html create mode 100644 docs/hugo/public/installation/index.html create mode 100644 docs/hugo/public/installation/index.xml create mode 100644 docs/hugo/public/installation/install_operator/index.html create mode 100644 docs/hugo/public/installation/installation/index.html create mode 100644 docs/hugo/public/js/110-f4b990d9.chunk.min.js create mode 100644 docs/hugo/public/js/12-0b8427d1.chunk.min.js create mode 100644 docs/hugo/public/js/130-3b252fb9.chunk.min.js create mode 100644 docs/hugo/public/js/164-c7b61128.chunk.min.js create mode 100644 docs/hugo/public/js/165-06872da1.chunk.min.js create mode 100644 docs/hugo/public/js/165-06872da1.chunk.min.js.LICENSE.txt create mode 100644 docs/hugo/public/js/175-2944b44a.chunk.min.js create mode 100644 docs/hugo/public/js/237-c0a3f3fe.chunk.min.js create mode 100644 docs/hugo/public/js/240-8ca3ada2.chunk.min.js create mode 100644 docs/hugo/public/js/244-45e1a422.chunk.min.js create mode 100644 docs/hugo/public/js/354-5c1850f7.chunk.min.js create mode 100644 docs/hugo/public/js/355-ef4f96e9.chunk.min.js create mode 100644 docs/hugo/public/js/357-e9bfa102.chunk.min.js create mode 100644 docs/hugo/public/js/383-676aedef.chunk.min.js create mode 100644 docs/hugo/public/js/387-3546ecdc.chunk.min.js create mode 100644 docs/hugo/public/js/391-549a9d24.chunk.min.js create mode 100644 docs/hugo/public/js/410-3bccc12d.chunk.min.js create mode 100644 docs/hugo/public/js/413-c02a8543.chunk.min.js create mode 100644 docs/hugo/public/js/417-65958f5a.chunk.min.js create mode 100644 docs/hugo/public/js/452-e65d6d68.chunk.min.js create mode 100644 docs/hugo/public/js/485-6a3d102c.chunk.min.js create mode 100644 docs/hugo/public/js/540-ae28fd42.chunk.min.js create mode 100644 docs/hugo/public/js/545-bfa2b46e.chunk.min.js create mode 100644 docs/hugo/public/js/56-09931933.chunk.min.js create mode 100644 docs/hugo/public/js/567-4fef9a1a.chunk.min.js create mode 100644 docs/hugo/public/js/632-7a25d3c6.chunk.min.js create mode 100644 docs/hugo/public/js/648-b5ba4bb4.chunk.min.js create mode 100644 docs/hugo/public/js/664-ed5252a5.chunk.min.js create mode 100644 docs/hugo/public/js/691-2a6930fd.chunk.min.js create mode 100644 docs/hugo/public/js/720-970f726e.chunk.min.js create mode 100644 docs/hugo/public/js/723-47eb515a.chunk.min.js create mode 100644 docs/hugo/public/js/731-70ea2831.chunk.min.js create mode 100644 docs/hugo/public/js/732-8e5770e7.chunk.min.js create mode 100644 docs/hugo/public/js/758-18005d5c.chunk.min.js create mode 100644 docs/hugo/public/js/825-fe49e4aa.chunk.min.js create mode 100644 docs/hugo/public/js/890-c9907c95.chunk.min.js create mode 100644 docs/hugo/public/js/978-b543144f.chunk.min.js create mode 100644 docs/hugo/public/js/colortheme-01ea3db1.bundle.min.js create mode 100644 docs/hugo/public/js/katex-bde37be1.bundle.min.js create mode 100644 docs/hugo/public/js/main-2e274343.bundle.min.js create mode 100644 docs/hugo/public/js/main-2e274343.bundle.min.js.LICENSE.txt create mode 100644 docs/hugo/public/js/mermaid-fc9f74ae.bundle.min.js create mode 100644 docs/hugo/public/js/mermaid-fc9f74ae.bundle.min.js.LICENSE.txt create mode 100644 docs/hugo/public/js/search-7db5e115.bundle.min.js create mode 100644 docs/hugo/public/js/search-7db5e115.bundle.min.js.LICENSE.txt create mode 100644 docs/hugo/public/katex-a0da2a32.min.css create mode 100644 docs/hugo/public/main-4434ec39.min.css create mode 100644 docs/hugo/public/major_upgrade-copy/index.html create mode 100644 docs/hugo/public/major_upgrade-copy/index.xml create mode 100644 docs/hugo/public/major_upgrade/index.html create mode 100644 docs/hugo/public/major_upgrade/index.xml create mode 100644 docs/hugo/public/minor_update/index.html create mode 100644 docs/hugo/public/minor_update/index.xml create mode 100644 docs/hugo/public/mobile-79ddc617.min.css create mode 100644 docs/hugo/public/monitoring/index.html create mode 100644 docs/hugo/public/monitoring/index.xml create mode 100644 docs/hugo/public/multisite-copy/index.html create mode 100644 docs/hugo/public/multisite-copy/index.xml create mode 100644 docs/hugo/public/multisite/index.html create mode 100644 docs/hugo/public/multisite/index.xml create mode 100644 docs/hugo/public/pg-versioning/index.html create mode 100644 docs/hugo/public/pg-versioning/index.xml create mode 100644 docs/hugo/public/pg_versioning/_index-copy/index.html create mode 100644 docs/hugo/public/pg_versioning/index.html create mode 100644 docs/hugo/public/pg_versioning/index.xml create mode 100644 docs/hugo/public/pg_versioning/major_upgrades-copy/index.html create mode 100644 docs/hugo/public/pg_versioning/major_upgrades/index.html create mode 100644 docs/hugo/public/pg_versioning/minor_updates/index.html create mode 100644 docs/hugo/public/postgis/index.html create mode 100644 docs/hugo/public/postgis/index.xml create mode 100644 docs/hugo/public/postgis/introduction/index.html create mode 100644 docs/hugo/public/print-735ccc12.min.css create mode 100644 docs/hugo/public/project/container_images/index.html create mode 100644 docs/hugo/public/project/index.html create mode 100644 docs/hugo/public/project/index.xml create mode 100644 docs/hugo/public/project/project/index.html create mode 100644 docs/hugo/public/quickstart/index.html create mode 100644 docs/hugo/public/quickstart/index.xml create mode 100644 docs/hugo/public/release_notes/index.html create mode 100644 docs/hugo/public/release_notes/index.xml create mode 100644 docs/hugo/public/resources/index.html create mode 100644 docs/hugo/public/resources/index.xml create mode 100644 docs/hugo/public/restore/index.html create mode 100644 docs/hugo/public/restore/index.xml create mode 100644 docs/hugo/public/search/en.config.min.json create mode 100644 docs/hugo/public/search/en.data.min.json create mode 100644 docs/hugo/public/sitemap.xml create mode 100644 docs/hugo/public/standby-cluster/index.html create mode 100644 docs/hugo/public/standby-cluster/index.xml create mode 100644 docs/hugo/public/storage/index.html create mode 100644 docs/hugo/public/storage/index.xml create mode 100644 docs/hugo/public/tags/index.html create mode 100644 docs/hugo/public/tags/index.xml create mode 100644 docs/hugo/public/tags/page/1/index.html create mode 100644 docs/hugo/public/tde/index.html create mode 100644 docs/hugo/public/tde/index.xml create mode 100644 docs/hugo/public/tls-copy/index.html create mode 100644 docs/hugo/public/tls-copy/index.xml create mode 100644 docs/hugo/public/tls/index.html create mode 100644 docs/hugo/public/tls/index.xml create mode 100644 docs/hugo/public/tutorials/index.html create mode 100644 docs/hugo/public/tutorials/index.xml create mode 100644 docs/hugo/public/versionm-/index.html create mode 100644 docs/hugo/public/versionm-/index.xml create mode 100644 docs/hugo/static/images/k8s-entities.png create mode 100644 docs/hugo/static/images/multisite-interaction.png diff --git a/.github/workflows/hugo.yaml b/.github/workflows/hugo.yaml new file mode 100644 index 000000000..f546d1b5a --- /dev/null +++ b/.github/workflows/hugo.yaml @@ -0,0 +1,47 @@ +name: 'Release(hugo): GitHub Pages' + +on: + release: + types: [published] + +env: + HUGO_DIR: 'docs/hugo' + +jobs: + gh-pages: + runs-on: ubuntu-latest + timeout-minutes: 10 + concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + defaults: + run: + working-directory: ${{ env.HUGO_DIR }} + + steps: + - uses: actions/checkout@v4 + with: + lfs: true + fetch-depth: 0 + + - uses: actions/setup-go@v5 + with: + go-version: '^1.23' + + - name: Setup Hugo + uses: peaceiris/actions-hugo@v3 + with: + hugo-version: '0.143.1' + extended: true + + - name: Get hugo dependencies (theme) + run: hugo mod get + + - name: Build + run: hugo --minify + + - name: Deploy to gh-pages + uses: peaceiris/actions-gh-pages@v4 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_branch: gh-pages + publish_dir: docs/hugo/public \ No newline at end of file diff --git a/docs/hugo/.hugo_build.lock b/docs/hugo/.hugo_build.lock new file mode 100644 index 000000000..e69de29bb diff --git a/docs/hugo/content/__to_do__/_index.md b/docs/hugo/content/__to_do__/_index.md new file mode 100644 index 000000000..9f8d2bc65 --- /dev/null +++ b/docs/hugo/content/__to_do__/_index.md @@ -0,0 +1,7 @@ +--- +title: "How to use" +date: 2023-03-07T14:26:51+01:00 +draft: false +weight: 320 +--- + diff --git a/docs/hugo/content/__to_do__/clone.md b/docs/hugo/content/__to_do__/clone.md new file mode 100644 index 000000000..451404ee6 --- /dev/null +++ b/docs/hugo/content/__to_do__/clone.md @@ -0,0 +1,116 @@ +--- +title: "Single Cluster" +date: 2023-12-28T14:26:51+01:00 +draft: true +--- + +Setting up a basic Cluster is pretty easy, we just need the minimum Definiton of a cluster-manifest which can also be find in the operator-tutorials repo on github. +We need the following Definitions for the basic cluster. +## minimal Single Cluster +``` +apiVersion: cpo.opensource.cybertec.at/v1 +kind: postgresql +metadata: + name: cluster-1 +spec: + dockerImage: "docker.io/cybertecpostgresql/cybertec-pg-container:postgres-16.1-6-dev" + numberOfInstances: 1 + postgresql: + version: "16" + resources: + limits: + cpu: 500m + memory: 500Mi + requests: + cpu: 500m + memory: 500Mi + volume: + size: 5Gi +``` +Based on this Manifest the Operator will deploy a single-Node-Cluster based on the defined dockerImage and start the included Postgres-16-Server. +Also created is a volume based on your default-storage Class. The Ressource-Definiton means, that we reserve a half cpu and a half GB Memory for this Cluster with the same Definition as limit. + +After some seconds we should see, that the operator creates our cluster based on the declared definitions. +``` +kubectl get pods +----------------------------------------------------------------------------- +NAME | READY | STATUS | RESTARTS | AGE +cluster-1-0 | 1/1 | Running | 0 | 50s + +``` + +We can now starting to modify our cluster with some more Definitons. +### Use a specific Storageclass +``` +spec: + ... + volume: + size: 5Gi + storageClass: default-provisioner + ... +``` +Using the storageClass-Definiton allows us to define a specific storageClass for this Cluster. Please ensure, that the storageClass exists and is usable. If a Volume cannot provide the Volume will stand in the pending-State as like the Database-Pod. + +### Expanding Volume +The Operator allows to you expand your volume if the storage-System is able to do this. +``` +spec: + ... + volume: + size: 10Gi + storageClass: default-provisioner + ... +``` +This will trigger the expand of your Cluster-Volumes. It will need some time and you can check the current state inside the pvc. +``` +kubectl get pvc pgdata-cluster-1-0 -o yaml +------------------------------------------------------- +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 10Gi + storageClassName: crc-csi-hostpath-provisioner + volumeMode: Filesystem + volumeName: pvc-800d7ecc-2d5f-4ef4-af83-1cd94c766d37 +status: + accessModes: + - ReadWriteOnce + capacity: + storage: 5Gi + phase: Bound + +``` + +### Creating additonal Volumes +The Operator allows you to modify your cluster with additonal Volumes. +``` +spec: + ... + additionalVolumes: + - name: empty + mountPath: /opt/empty + targetContainers: + - all + volumeSource: + emptyDir: {} +``` +This example will create an emptyDir and mount it to all Containers inside the Database-Pod. + + +### Specific Settings for aws gp3 Storage +For the gp3 Storage aws you can define more informations +``` + volume: + size: 1Gi + storageClass: gp3 + iops: 1000 # for EBS gp3 + throughput: 250 # in MB/s for EBS gp3 + +``` +The defined IOPS and Throughput will include in the PersistentVolumeClaim and send to the storage-Provisioner. +Please keep in Mind, that on aws there is a CoolDown-Time as a limitation defined. For new Changes you need to wait 6 hours. +Please also ensure to check the default and allowed values for IOPS and Throughput [AWS docs](https://aws.amazon.com/ebs/general-purpose/). + +To ensure that the settings are updates properly please define the Operator-Configuration 'storage_resize_mode' from default to 'mixed' diff --git a/docs/hugo/content/__to_do__/examples.md b/docs/hugo/content/__to_do__/examples.md new file mode 100644 index 000000000..451404ee6 --- /dev/null +++ b/docs/hugo/content/__to_do__/examples.md @@ -0,0 +1,116 @@ +--- +title: "Single Cluster" +date: 2023-12-28T14:26:51+01:00 +draft: true +--- + +Setting up a basic Cluster is pretty easy, we just need the minimum Definiton of a cluster-manifest which can also be find in the operator-tutorials repo on github. +We need the following Definitions for the basic cluster. +## minimal Single Cluster +``` +apiVersion: cpo.opensource.cybertec.at/v1 +kind: postgresql +metadata: + name: cluster-1 +spec: + dockerImage: "docker.io/cybertecpostgresql/cybertec-pg-container:postgres-16.1-6-dev" + numberOfInstances: 1 + postgresql: + version: "16" + resources: + limits: + cpu: 500m + memory: 500Mi + requests: + cpu: 500m + memory: 500Mi + volume: + size: 5Gi +``` +Based on this Manifest the Operator will deploy a single-Node-Cluster based on the defined dockerImage and start the included Postgres-16-Server. +Also created is a volume based on your default-storage Class. The Ressource-Definiton means, that we reserve a half cpu and a half GB Memory for this Cluster with the same Definition as limit. + +After some seconds we should see, that the operator creates our cluster based on the declared definitions. +``` +kubectl get pods +----------------------------------------------------------------------------- +NAME | READY | STATUS | RESTARTS | AGE +cluster-1-0 | 1/1 | Running | 0 | 50s + +``` + +We can now starting to modify our cluster with some more Definitons. +### Use a specific Storageclass +``` +spec: + ... + volume: + size: 5Gi + storageClass: default-provisioner + ... +``` +Using the storageClass-Definiton allows us to define a specific storageClass for this Cluster. Please ensure, that the storageClass exists and is usable. If a Volume cannot provide the Volume will stand in the pending-State as like the Database-Pod. + +### Expanding Volume +The Operator allows to you expand your volume if the storage-System is able to do this. +``` +spec: + ... + volume: + size: 10Gi + storageClass: default-provisioner + ... +``` +This will trigger the expand of your Cluster-Volumes. It will need some time and you can check the current state inside the pvc. +``` +kubectl get pvc pgdata-cluster-1-0 -o yaml +------------------------------------------------------- +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 10Gi + storageClassName: crc-csi-hostpath-provisioner + volumeMode: Filesystem + volumeName: pvc-800d7ecc-2d5f-4ef4-af83-1cd94c766d37 +status: + accessModes: + - ReadWriteOnce + capacity: + storage: 5Gi + phase: Bound + +``` + +### Creating additonal Volumes +The Operator allows you to modify your cluster with additonal Volumes. +``` +spec: + ... + additionalVolumes: + - name: empty + mountPath: /opt/empty + targetContainers: + - all + volumeSource: + emptyDir: {} +``` +This example will create an emptyDir and mount it to all Containers inside the Database-Pod. + + +### Specific Settings for aws gp3 Storage +For the gp3 Storage aws you can define more informations +``` + volume: + size: 1Gi + storageClass: gp3 + iops: 1000 # for EBS gp3 + throughput: 250 # in MB/s for EBS gp3 + +``` +The defined IOPS and Throughput will include in the PersistentVolumeClaim and send to the storage-Provisioner. +Please keep in Mind, that on aws there is a CoolDown-Time as a limitation defined. For new Changes you need to wait 6 hours. +Please also ensure to check the default and allowed values for IOPS and Throughput [AWS docs](https://aws.amazon.com/ebs/general-purpose/). + +To ensure that the settings are updates properly please define the Operator-Configuration 'storage_resize_mode' from default to 'mixed' diff --git a/docs/hugo/content/__to_do__/sidecars.md b/docs/hugo/content/__to_do__/sidecars.md new file mode 100644 index 000000000..451404ee6 --- /dev/null +++ b/docs/hugo/content/__to_do__/sidecars.md @@ -0,0 +1,116 @@ +--- +title: "Single Cluster" +date: 2023-12-28T14:26:51+01:00 +draft: true +--- + +Setting up a basic Cluster is pretty easy, we just need the minimum Definiton of a cluster-manifest which can also be find in the operator-tutorials repo on github. +We need the following Definitions for the basic cluster. +## minimal Single Cluster +``` +apiVersion: cpo.opensource.cybertec.at/v1 +kind: postgresql +metadata: + name: cluster-1 +spec: + dockerImage: "docker.io/cybertecpostgresql/cybertec-pg-container:postgres-16.1-6-dev" + numberOfInstances: 1 + postgresql: + version: "16" + resources: + limits: + cpu: 500m + memory: 500Mi + requests: + cpu: 500m + memory: 500Mi + volume: + size: 5Gi +``` +Based on this Manifest the Operator will deploy a single-Node-Cluster based on the defined dockerImage and start the included Postgres-16-Server. +Also created is a volume based on your default-storage Class. The Ressource-Definiton means, that we reserve a half cpu and a half GB Memory for this Cluster with the same Definition as limit. + +After some seconds we should see, that the operator creates our cluster based on the declared definitions. +``` +kubectl get pods +----------------------------------------------------------------------------- +NAME | READY | STATUS | RESTARTS | AGE +cluster-1-0 | 1/1 | Running | 0 | 50s + +``` + +We can now starting to modify our cluster with some more Definitons. +### Use a specific Storageclass +``` +spec: + ... + volume: + size: 5Gi + storageClass: default-provisioner + ... +``` +Using the storageClass-Definiton allows us to define a specific storageClass for this Cluster. Please ensure, that the storageClass exists and is usable. If a Volume cannot provide the Volume will stand in the pending-State as like the Database-Pod. + +### Expanding Volume +The Operator allows to you expand your volume if the storage-System is able to do this. +``` +spec: + ... + volume: + size: 10Gi + storageClass: default-provisioner + ... +``` +This will trigger the expand of your Cluster-Volumes. It will need some time and you can check the current state inside the pvc. +``` +kubectl get pvc pgdata-cluster-1-0 -o yaml +------------------------------------------------------- +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 10Gi + storageClassName: crc-csi-hostpath-provisioner + volumeMode: Filesystem + volumeName: pvc-800d7ecc-2d5f-4ef4-af83-1cd94c766d37 +status: + accessModes: + - ReadWriteOnce + capacity: + storage: 5Gi + phase: Bound + +``` + +### Creating additonal Volumes +The Operator allows you to modify your cluster with additonal Volumes. +``` +spec: + ... + additionalVolumes: + - name: empty + mountPath: /opt/empty + targetContainers: + - all + volumeSource: + emptyDir: {} +``` +This example will create an emptyDir and mount it to all Containers inside the Database-Pod. + + +### Specific Settings for aws gp3 Storage +For the gp3 Storage aws you can define more informations +``` + volume: + size: 1Gi + storageClass: gp3 + iops: 1000 # for EBS gp3 + throughput: 250 # in MB/s for EBS gp3 + +``` +The defined IOPS and Throughput will include in the PersistentVolumeClaim and send to the storage-Provisioner. +Please keep in Mind, that on aws there is a CoolDown-Time as a limitation defined. For new Changes you need to wait 6 hours. +Please also ensure to check the default and allowed values for IOPS and Throughput [AWS docs](https://aws.amazon.com/ebs/general-purpose/). + +To ensure that the settings are updates properly please define the Operator-Configuration 'storage_resize_mode' from default to 'mixed' diff --git a/docs/hugo/content/__to_do__/slots.md b/docs/hugo/content/__to_do__/slots.md new file mode 100644 index 000000000..451404ee6 --- /dev/null +++ b/docs/hugo/content/__to_do__/slots.md @@ -0,0 +1,116 @@ +--- +title: "Single Cluster" +date: 2023-12-28T14:26:51+01:00 +draft: true +--- + +Setting up a basic Cluster is pretty easy, we just need the minimum Definiton of a cluster-manifest which can also be find in the operator-tutorials repo on github. +We need the following Definitions for the basic cluster. +## minimal Single Cluster +``` +apiVersion: cpo.opensource.cybertec.at/v1 +kind: postgresql +metadata: + name: cluster-1 +spec: + dockerImage: "docker.io/cybertecpostgresql/cybertec-pg-container:postgres-16.1-6-dev" + numberOfInstances: 1 + postgresql: + version: "16" + resources: + limits: + cpu: 500m + memory: 500Mi + requests: + cpu: 500m + memory: 500Mi + volume: + size: 5Gi +``` +Based on this Manifest the Operator will deploy a single-Node-Cluster based on the defined dockerImage and start the included Postgres-16-Server. +Also created is a volume based on your default-storage Class. The Ressource-Definiton means, that we reserve a half cpu and a half GB Memory for this Cluster with the same Definition as limit. + +After some seconds we should see, that the operator creates our cluster based on the declared definitions. +``` +kubectl get pods +----------------------------------------------------------------------------- +NAME | READY | STATUS | RESTARTS | AGE +cluster-1-0 | 1/1 | Running | 0 | 50s + +``` + +We can now starting to modify our cluster with some more Definitons. +### Use a specific Storageclass +``` +spec: + ... + volume: + size: 5Gi + storageClass: default-provisioner + ... +``` +Using the storageClass-Definiton allows us to define a specific storageClass for this Cluster. Please ensure, that the storageClass exists and is usable. If a Volume cannot provide the Volume will stand in the pending-State as like the Database-Pod. + +### Expanding Volume +The Operator allows to you expand your volume if the storage-System is able to do this. +``` +spec: + ... + volume: + size: 10Gi + storageClass: default-provisioner + ... +``` +This will trigger the expand of your Cluster-Volumes. It will need some time and you can check the current state inside the pvc. +``` +kubectl get pvc pgdata-cluster-1-0 -o yaml +------------------------------------------------------- +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 10Gi + storageClassName: crc-csi-hostpath-provisioner + volumeMode: Filesystem + volumeName: pvc-800d7ecc-2d5f-4ef4-af83-1cd94c766d37 +status: + accessModes: + - ReadWriteOnce + capacity: + storage: 5Gi + phase: Bound + +``` + +### Creating additonal Volumes +The Operator allows you to modify your cluster with additonal Volumes. +``` +spec: + ... + additionalVolumes: + - name: empty + mountPath: /opt/empty + targetContainers: + - all + volumeSource: + emptyDir: {} +``` +This example will create an emptyDir and mount it to all Containers inside the Database-Pod. + + +### Specific Settings for aws gp3 Storage +For the gp3 Storage aws you can define more informations +``` + volume: + size: 1Gi + storageClass: gp3 + iops: 1000 # for EBS gp3 + throughput: 250 # in MB/s for EBS gp3 + +``` +The defined IOPS and Throughput will include in the PersistentVolumeClaim and send to the storage-Provisioner. +Please keep in Mind, that on aws there is a CoolDown-Time as a limitation defined. For new Changes you need to wait 6 hours. +Please also ensure to check the default and allowed values for IOPS and Throughput [AWS docs](https://aws.amazon.com/ebs/general-purpose/). + +To ensure that the settings are updates properly please define the Operator-Configuration 'storage_resize_mode' from default to 'mixed' diff --git a/docs/hugo/content/__to_do__/standby.md b/docs/hugo/content/__to_do__/standby.md new file mode 100644 index 000000000..451404ee6 --- /dev/null +++ b/docs/hugo/content/__to_do__/standby.md @@ -0,0 +1,116 @@ +--- +title: "Single Cluster" +date: 2023-12-28T14:26:51+01:00 +draft: true +--- + +Setting up a basic Cluster is pretty easy, we just need the minimum Definiton of a cluster-manifest which can also be find in the operator-tutorials repo on github. +We need the following Definitions for the basic cluster. +## minimal Single Cluster +``` +apiVersion: cpo.opensource.cybertec.at/v1 +kind: postgresql +metadata: + name: cluster-1 +spec: + dockerImage: "docker.io/cybertecpostgresql/cybertec-pg-container:postgres-16.1-6-dev" + numberOfInstances: 1 + postgresql: + version: "16" + resources: + limits: + cpu: 500m + memory: 500Mi + requests: + cpu: 500m + memory: 500Mi + volume: + size: 5Gi +``` +Based on this Manifest the Operator will deploy a single-Node-Cluster based on the defined dockerImage and start the included Postgres-16-Server. +Also created is a volume based on your default-storage Class. The Ressource-Definiton means, that we reserve a half cpu and a half GB Memory for this Cluster with the same Definition as limit. + +After some seconds we should see, that the operator creates our cluster based on the declared definitions. +``` +kubectl get pods +----------------------------------------------------------------------------- +NAME | READY | STATUS | RESTARTS | AGE +cluster-1-0 | 1/1 | Running | 0 | 50s + +``` + +We can now starting to modify our cluster with some more Definitons. +### Use a specific Storageclass +``` +spec: + ... + volume: + size: 5Gi + storageClass: default-provisioner + ... +``` +Using the storageClass-Definiton allows us to define a specific storageClass for this Cluster. Please ensure, that the storageClass exists and is usable. If a Volume cannot provide the Volume will stand in the pending-State as like the Database-Pod. + +### Expanding Volume +The Operator allows to you expand your volume if the storage-System is able to do this. +``` +spec: + ... + volume: + size: 10Gi + storageClass: default-provisioner + ... +``` +This will trigger the expand of your Cluster-Volumes. It will need some time and you can check the current state inside the pvc. +``` +kubectl get pvc pgdata-cluster-1-0 -o yaml +------------------------------------------------------- +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 10Gi + storageClassName: crc-csi-hostpath-provisioner + volumeMode: Filesystem + volumeName: pvc-800d7ecc-2d5f-4ef4-af83-1cd94c766d37 +status: + accessModes: + - ReadWriteOnce + capacity: + storage: 5Gi + phase: Bound + +``` + +### Creating additonal Volumes +The Operator allows you to modify your cluster with additonal Volumes. +``` +spec: + ... + additionalVolumes: + - name: empty + mountPath: /opt/empty + targetContainers: + - all + volumeSource: + emptyDir: {} +``` +This example will create an emptyDir and mount it to all Containers inside the Database-Pod. + + +### Specific Settings for aws gp3 Storage +For the gp3 Storage aws you can define more informations +``` + volume: + size: 1Gi + storageClass: gp3 + iops: 1000 # for EBS gp3 + throughput: 250 # in MB/s for EBS gp3 + +``` +The defined IOPS and Throughput will include in the PersistentVolumeClaim and send to the storage-Provisioner. +Please keep in Mind, that on aws there is a CoolDown-Time as a limitation defined. For new Changes you need to wait 6 hours. +Please also ensure to check the default and allowed values for IOPS and Throughput [AWS docs](https://aws.amazon.com/ebs/general-purpose/). + +To ensure that the settings are updates properly please define the Operator-Configuration 'storage_resize_mode' from default to 'mixed' diff --git a/docs/hugo/content/en/_index.md b/docs/hugo/content/en/_index.md new file mode 100644 index 000000000..9e88cf57a --- /dev/null +++ b/docs/hugo/content/en/_index.md @@ -0,0 +1,32 @@ +--- +title: "CPO (CYBERTEC-PG-Operator)" +date: 2024-03-11T14:26:51+01:00 +draft: false +weight: 1 +--- +Current Release: 0.8.3 (04.04.2025) [Release Notes](release_notes) + +drawing + +CPO (CYBERTEC PG Operator) allows you to create and run PostgreSQL clusters on Kubernetes. + +The operator reduces your efforts and simplifies the administration of your PostgreSQL clusters so that you can concentrate on other things. + +The following features characterise our operator: +- Declarative mode of operation +- Takes over all the necessary steps for setting up and managing the PG cluster. +- Integrated backup solution, automatic backups and very easy restore (snapshot & PITR) +- Rolling update procedure for adjustments to the pods and minor updates +- Major upgrade with minimum interruption time +- Reduction of downtime thanks to redundancy, pod anti-affinity, auto-failover and self-healing + +CPO is tested on the following platforms: +- Kubernetes: 1.21 - 1.28 +- Openshift: 4.8 - 4.13 +- Rancher +- AWS EKS +- Azure AKS +- Google GKE + +Furthermore, CPO is basically executable on any [CSCF-certified](https://www.cncf.io/certification/software-conformance/) Kubernetes platform. + diff --git a/docs/hugo/content/en/architecture/_index.md b/docs/hugo/content/en/architecture/_index.md new file mode 100644 index 000000000..4d21d2560 --- /dev/null +++ b/docs/hugo/content/en/architecture/_index.md @@ -0,0 +1,7 @@ +--- +title: "Architecture" +date: 2023-03-07T14:26:51+01:00 +draft: false +weight: 300 +--- + diff --git a/docs/hugo/content/en/architecture/architecture.md b/docs/hugo/content/en/architecture/architecture.md new file mode 100644 index 000000000..54e488e97 --- /dev/null +++ b/docs/hugo/content/en/architecture/architecture.md @@ -0,0 +1,40 @@ +--- +title: "Architecture" +date: 2023-03-07T14:26:51+01:00 +draft: true +weight: 1 +--- +This chapter covers all important aspects relating to the architecture of CPO and the associated components. In addition to the underlying Kubertnetes, the various components and their interaction for the operation of a PostgreSQL cluster are analysed. + +### Brief overview of the components +
+ drawing +
+ +### Network-Traffic + + +#### PG-Cluster-intern Traffic +With internal PG cluster-internal traffic, we are talking about all traffic that is necessary for the operation of the cluster itself. This includes +- Communication for the sync of the replicas: + - pg_basebackup & streaming replication +- Communication with pgBackRest (if configured) + - Backups + - WAL archiving + - replica-create for new replicas + +The figure below shows the internal traffic flows with pgBackRest based on block storage (left) or cloud storage (right) + +
+ drawing + drawing + +
+ +#### External Traffic + +External traffic, i.e. the connection to the database for the user or the application, takes place via defined Kubernetes services. A distinction must be made here between read/write and read only traffic. + +##### read/write + +##### read-only \ No newline at end of file diff --git a/docs/hugo/content/en/architecture/compontens.md b/docs/hugo/content/en/architecture/compontens.md new file mode 100644 index 000000000..0ae491233 --- /dev/null +++ b/docs/hugo/content/en/architecture/compontens.md @@ -0,0 +1,44 @@ +--- +title: "Software-Components" +date: 2023-03-07T14:26:51+01:00 +draft: false +weight: 2 +--- + +Various software components are used to operate CPO. This chapter lists the most important components and their respective purposes. + +Basically, the CPO project focusses on the main tasks of each individual component. This means that each component does what it does best and only that. +In addition to reliable operation, this should also ensure efficient development and project management that utilises existing approaches rather than fighting against them. + +### 1. CYBERTEC-pg-operator +The CYBERTEC-pg-operator is a Kubernetes operator that automates the operation and management of PostgreSQL databases on Kubernetes clusters. It facilitates the provisioning, scaling, backup and recovery of PostgreSQL clusters and integrates tools such as Patroni and pgBackRest for high availability and backup management. + +The main focus of the operator is the creation of the necessary templates and objects for Kubernetes, the regular check whether the declarative description of the cluster is still up to date and for the implementation of various tasks in the cluster, which were commissioned by the user. + +### 2. Kubernetes + +Kubernetes is an open source platform for automating the deployment, scaling and management of containerised applications. It enables the management of container clusters in different environments and offers functions such as automatic load balancing, self-healing and rollouts. Kubernetes ensures that applications are always available and scalable and provides a framework for managing infrastructure in a cloud-native environment. + +The focus of Kubernetes in the context of CPO is the use of the operator's templates to create the required objects. +For example, the statefulset controller creates the desired pods based on the template. Kubernetes or the respective controllers monitor the generated objects independently and react if they are missing or do not correspond to the template. +This means, for example, that pods that have been removed are automatically regenerated even if the operator is not currently running. This avoids the operator as a single point of failure. + +### 3. Patroni +Patroni is an open source tool for managing PostgreSQL high availability clusters. It uses a distributed consensus mechanism, often based on Etcd, Consul or Zookeeper, to manage the role of the PostgreSQL primary node and perform automatic failovers. Patroni ensures that only one primary database server is active at a time, enabling consistency and availability of PostgreSQL databases in a cluster. + +The focus of Patroni is to build, configure and monitor the PostgreSQL cluster based on the configuration created by the operator. Patroni therefore takes over all tasks such as leader selection, cluster monitoring, auto-failover and much more independently. +Patroni is included in every PostgreSQL container and therefore pod and focussed on the individual cluster. +This means that cluster management is guaranteed even without a currently running operator and therefore runs independently of the operator. This avoids the operator as a single point of failure. + +### 4. PostgreSQL +PostgreSQL is a powerful, open source object-relational database management system (ORDBMS). It is known for its reliability, robustness and compliance with SQL standards. PostgreSQL supports advanced data types, functions and offers extensive customisation options. It is suitable for applications of any size and offers strong support for ACID transactions and Multi-Version Concurrency Control (MVCC). + +The main role of PostgreSQL in the context of CPO is quite clear. Controlled by Patroni, PostgreSQL takes care of its task as a DBMS. + +### 5. pgBackRest +pgBackRest is a reliable backup and restore tool for PostgreSQL databases. It offers features such as incremental backups, parallel backup and restore, compression and encryption. pgBackRest is designed for use in large databases and offers both local and remote backup options. It integrates well into Kubernetes environments and enables automated and efficient backup strategies. + +pgBackRest is configured based on the cluster manifest and therefore via the operator. Automatic backups, on the other hand, are based on Kubernetes cron jobs and are therefore independent of the operator, apart from the template generation by the operator. + +### 6. pgBouncer +PgBouncer is a lightweight connection pooler for PostgreSQL. It reduces the load on the database server by consolidating and efficiently managing incoming client connections. PgBouncer improves the performance and scalability of PostgreSQL-based applications by reducing the number of active connections while enabling fast switching times between different connections. \ No newline at end of file diff --git a/docs/hugo/content/en/architecture/rolling_update.md b/docs/hugo/content/en/architecture/rolling_update.md new file mode 100644 index 000000000..ee2a144ef --- /dev/null +++ b/docs/hugo/content/en/architecture/rolling_update.md @@ -0,0 +1,17 @@ +--- +title: "Rolling-Updates" +date: 2023-03-07T14:26:51+01:00 +draft: false +weight: 3 +--- + +Whether updating the minor version, changing the hardware definitions of the cluster or other adjustments that require a pod restart, CPO ensures that the update is as uninterrupted as possible. + +This means that adjustments are carried out on the various pods of a particular cluster one after the other and in a sensible sequence. This happens as soon as a cluster consists of more than 1 PostgreSQL node. + +In the event of a necessary restart, the operator independently stops the pods and does not leave this to Kubernetes. The idea behind this is that all replica pods are restarted one after the other first. The operator recognises these by the label cpo.opensource.cybertec.at/role=replica set by Patroni + +As soon as all replicas are ready again, the operator checks whether one of the replicas is able to take over cluster operation and performs a switchover. Only then is the former leader pod stopped and restarted. + +This ensures that the only effect on the application is the switchover. +{{< hint type=info >}} A completely uninterrupted handover of operation is not possible due to the architecture and connection handling of PostgreSQL. {{< /hint >}} \ No newline at end of file diff --git a/docs/hugo/content/en/backup/_index.md b/docs/hugo/content/en/backup/_index.md new file mode 100644 index 000000000..e8e5a3db4 --- /dev/null +++ b/docs/hugo/content/en/backup/_index.md @@ -0,0 +1,6 @@ +--- +title: "Backup" +date: 2023-12-28T14:26:51+01:00 +draft: false +weight: 1300 +--- \ No newline at end of file diff --git a/docs/hugo/content/en/backup/aws.md b/docs/hugo/content/en/backup/aws.md new file mode 100644 index 000000000..88d693743 --- /dev/null +++ b/docs/hugo/content/en/backup/aws.md @@ -0,0 +1,74 @@ +--- +title: "via S3" +date: 2023-12-28T14:26:51+01:00 +draft: false +weight: 2 +--- + +This chapter describes the use of pgBackRest in combination with with AWS S3 or S3-compatible storage such as MinIO, Cloudian HyperStore or SwiftStack. It is not absolutely necessary to operate a Kubernetes on the AWS Cloud Platform. However, as with any cloud storage, the efficiency and therefore the duration of a backup depends on the connection. + +This Chapter will use AWS S3 for the example, the usage of different s3-compatible Storage is similiar. + +{{< hint type=important >}} Precondition: a S3-bucket and a priviledged role with credentials is needed for this chapter. {{< /hint >}} + +### Create a s3-bucket on the AWS console + +### Create a priviledged service-role + +### Modifying the Cluster +As soon as all requirements are met: + +- A S3 bucket +- Access-Token and Secret-Access-Key for the service role with the required authorisations for the bucket + +the cluster can be modified. Firstly, a secret containing the Credentials is created and the cluster manifest is adapted accordingly. + +The first step is to create the required secret. This is most easily done storing the needed data in a file called s3.conf and using a `kubectl` command. + +``` +# Create a file with name s3.conf and add the following infos. Please replace the placeholder by the credentials +[global] +repo1-s3-key=YOUR_S3_ACCESS_KEY +repo1-s3-key-secret=YOUR_S3_KEY_SECRET +repo1-cipher-pass=YOUR_ENCRYPTION_PASSPHRASE + +# Create the secret with the credentials +kubectl create secret generic cluster-1-s3-credentials --from-file=s3.conf=s3.conf +``` + +In the next step, the secret name ais stored in the secret in the cluster manifest. In addition, global settings, such as the retention time of the backups in the global object, are defined, the image for `pgBackRest` is specified and the necessary information for the repository is added. This includes both the desired storage path in the bucket and the times for automatic backups based on the cron syntax. + +``` +apiVersion: cpo.opensource.cybertec.at/v1 +kind: postgresql +metadata: + name: cluster + namespace: cpo +spec: + backup: + pgbackrest: + image: 'docker.io/cybertecpostgresql/cybertec-pg-container:pgbackrest-16.4-1' + repos: + - endpoint: 'https://s3-zurich.cyberlink.cloud:443' + name: repo1 + region: zurich + resource: cpo-cluster-bucket + schedule: + full: 30 2 * * * + incr: '*/30 * * * *' + storage: s3 + configuration: + secret: cluster-1-s3-credential + global: + repo1-path: /cluster/repo1/ + repo1-retention-full: '7' + repo1-retention-full-type: count +``` + +This example creates a backup in the defined S3 bucket. In addition to the above configurations, a secret is also required which contains the access data for the S3 storage. The name of the secret must be stored in the `spec.backup.pgbackrest.configuration.secret` object and the secret must be located in the same namespace as the cluster. +Information required to address the S3 bucket: +- `Endpoint`: S3 api endpoint +- `Region`: Region of the bucket +- `resource`: Name of the bucket + +An [example](https://github.com/cybertec-postgresql/CYBERTEC-operator-tutorials/tree/main/cluster-tutorials/pgbackrest_with_s3) with a sercret generator is also available in the tutorials. Enter your access data in the s3.conf file and transfer the tutorial to your Kubernetes with kubectl apply -k cluster-tutorials/pgbackrest_with_s3/. diff --git a/docs/hugo/content/en/backup/azure_blob.md b/docs/hugo/content/en/backup/azure_blob.md new file mode 100644 index 000000000..110136f6e --- /dev/null +++ b/docs/hugo/content/en/backup/azure_blob.md @@ -0,0 +1,55 @@ +--- +title: "via Azure-Blob" +date: 2023-12-28T14:26:51+01:00 +draft: false +weight: 4 +--- + +This chapter describes the use of pgBackRest in combination with Azure Blob Storage. It is not absolutely necessary to operate a Kubernetes on the Azure Cloud Platform. However, as with any cloud storage, the efficiency and therefore the duration of a backup depends on the connection. + +{{< hint type=important >}} Precondition: a blob-storage-volume and a priviledged role is needed for this chapter. {{< /hint >}} + +### Create a blob-storage-volume on the Azure console + +### Create a priviledged service-role + +### Modifying the Cluster +As soon as all requirements are met: + +- An Azure-Blob-Storage-Volume +- A JSON token for the service role with the required authorisations for the Volume + +the cluster can be modified. Firstly, a secret containing the JSON token is created and the cluster manifest is adapted accordingly. + +The first step is to create the required secret. This is most easily done using a `kubectl` command. + +``` +kubectl create secret generic cluster-1-gcs-credentials --from-file=gcs.json=fluent.json +``` + +In the next step, both the secret name and the file name of the JSON token are stored in the secret in the cluster manifest. In addition, global settings, such as the retention time of the backups in the global object, are defined, the image for `pgBackRest` is specified and the necessary information for the repository is added. This includes both the desired storage path in the bucket and the times for automatic backups based on the cron syntax. + +``` +apiVersion: cpo.opensource.cybertec.at/v1 +kind: postgresql +metadata: + name: cluster-1 +spec: + backup: + pgbackrest: + configuration: + secret: cluster-1-gcs-credentials + global: + repo1-path: /cluster-1/repo1/ + repo1-retention-full: '7' + repo1-retention-full-type: count + image: docker.io/cybertecpostgresql/cybertec-pg-container:pgbackrest-16.4-1' + repos: + - name: repo1 + resource: postgresql-backup-bucket + key: gcs.json + keyType: service + schedule: + full: 30 2 * * * + storage: gcs +``` diff --git a/docs/hugo/content/en/backup/check_backups.md b/docs/hugo/content/en/backup/check_backups.md new file mode 100644 index 000000000..9b0cf31d2 --- /dev/null +++ b/docs/hugo/content/en/backup/check_backups.md @@ -0,0 +1,79 @@ +--- +title: "Check/Monitor Backups" +date: 2023-12-28T14:26:51+01:00 +draft: false +weight: 7 +--- +There are several ways to gain an insight into the current status of pgBackRest. +One of these is to use pgBackRest within the container. This can be done both via the repo host and the Postgres pod. + +### pgbackrest via terminal (Repo-Host-Pod) +``` +kubectl exec cluster-5-pgbackrest-repo-host-0 --stdin --tty -- pgbackrest info +stanza: db + status: ok + cipher: none + + db (current) + wal archive min/max (16): 00000006000000000000005C/000000070000000000000092 + + full backup: 20240517-125730F + timestamp start/stop: 2024-05-17 12:57:30+00 / 2024-05-17 12:57:41+00 + wal start/stop: 00000007000000000000005E / 00000007000000000000005E + database size: 22.9MB, database backup size: 22.9MB + repo1: backup set size: 3MB, backup size: 3MB + + incr backup: 20240517-125730F_20240517-130003I + timestamp start/stop: 2024-05-17 13:00:03+00 / 2024-05-17 13:00:05+00 + wal start/stop: 000000070000000000000060 / 000000070000000000000060 + database size: 22.9MB, database backup size: 904.3KB + repo1: backup set size: 3MB, backup size: 149.4KB + backup reference list: 20240517-125730F + + incr backup: 20240517-125730F_20240517-131503I + timestamp start/stop: 2024-05-17 13:15:03+00 / 2024-05-17 13:15:04+00 + wal start/stop: 000000070000000000000062 / 000000070000000000000062 + database size: 22.9MB, database backup size: 24.3KB + repo1: backup set size: 3MB, backup size: 2.9KB + backup reference list: 20240517-125730F, 20240517-125730F_20240517-130003I +``` +### pgbackrest via terminal (Postgres-Pod) +``` +kubectl exec cluster-5-0 --stdin --tty -- pgbackrest info +Defaulted container "postgres" out of: postgres, postgres-exporter, pgbackrest-restore (init) +stanza: db + status: ok + cipher: none + + db (current) + wal archive min/max (16): 00000006000000000000005C/000000070000000000000092 + + full backup: 20240517-125730F + timestamp start/stop: 2024-05-17 12:57:30+00 / 2024-05-17 12:57:41+00 + wal start/stop: 00000007000000000000005E / 00000007000000000000005E + database size: 22.9MB, database backup size: 22.9MB + repo1: backup set size: 3MB, backup size: 3MB + + incr backup: 20240517-125730F_20240517-130003I + timestamp start/stop: 2024-05-17 13:00:03+00 / 2024-05-17 13:00:05+00 + wal start/stop: 000000070000000000000060 / 000000070000000000000060 + database size: 22.9MB, database backup size: 904.3KB + repo1: backup set size: 3MB, backup size: 149.4KB + backup reference list: 20240517-125730F + + incr backup: 20240517-125730F_20240517-131503I + timestamp start/stop: 2024-05-17 13:15:03+00 / 2024-05-17 13:15:04+00 + wal start/stop: 000000070000000000000062 / 000000070000000000000062 + database size: 22.9MB, database backup size: 24.3KB + repo1: backup set size: 3MB, backup size: 2.9KB + backup reference list: 20240517-125730F, 20240517-125730F_20240517-130003I +``` +There is the "normal" output, as well as the output format Json, which can be processed directly in the terminal. + +``` +kubectl exec cluster-5-0 --stdin --tty -- pgbackrest info --output=json +``` + +### Check pgBackrest via Monitoring + +In addition to reading the status via the containers, pgBackRest can also be analysed and monitored via the monitoring stack. You can find information on setting up the monitoring stack and further information [here](documentation/how-to-use/monitoring). \ No newline at end of file diff --git a/docs/hugo/content/en/backup/encryption.md b/docs/hugo/content/en/backup/encryption.md new file mode 100644 index 000000000..9d1a76541 --- /dev/null +++ b/docs/hugo/content/en/backup/encryption.md @@ -0,0 +1,52 @@ +--- +title: "Encrypted Backups" +date: 2023-12-28T14:26:51+01:00 +draft: false +weight: 6 +--- +pgBackRest also allows you to encrypt your backups on the client side before uploading them. This is possible with any type of storage and is very easy to activate. + +Firstly, we need to define an encryption key. This must be specified separately for each repo and stored in the same secret that is defined in the `spec.backup.pgbackrest.configuration.secret` object. +``` +kind: Secret +apiVersion: v1 +metadata: + name: cluster-1-s3-credential + namespace: cpo +stringData: + s3.conf | + [global] + repo1-s3-key=YOUR_S3_KEY + repo1-s3-key-secret=YOUR_S3_KEY_SECRET + repo1-cipher-pass=YOUR_ENCRYPTION_KEY +``` + +We also need to configure the type of encryption for pgBackRest. This is done via the cipher-type parameter, which must also be specified for each repo. You can find the available values for the parameter [here](https://pgbackrest.org/configuration.html#section-repository/option-repo-cipher-type) + +``` +apiVersion: cpo.opensource.cybertec.at/v1 +kind: postgresql +metadata: + name: cluster + namespace: cpo +spec: + backup: + pgbackrest: + configuration: + secret: cluster-1-s3-credential + global: + repo1-path: /cluster/repo1/ + repo1-retention-full: '7' + repo1-retention-full-type: count + repo1-cipher-type: aes-256-cbc + image: 'docker.io/cybertecpostgresql/cybertec-pg-container:pgbackrest-16.4-1' + repos: + - endpoint: 'https://s3-zurich.cyberlink.cloud:443' + name: repo1 + region: zurich + resource: cpo-cluster-bucket + schedule: + full: 30 2 * * * + incr: '*/30 * * * *' + storage: s3 +``` \ No newline at end of file diff --git a/docs/hugo/content/en/backup/gcs.md b/docs/hugo/content/en/backup/gcs.md new file mode 100644 index 000000000..bd231df20 --- /dev/null +++ b/docs/hugo/content/en/backup/gcs.md @@ -0,0 +1,55 @@ +--- +title: "via GCS" +date: 2023-12-28T14:26:51+01:00 +draft: false +weight: 3 +--- + +This chapter describes the use of pgBackRest in combination with Google Cloud Storage (gcs). It is not absolutely necessary to operate a Kubernetes on the Google Cloud Platform. However, as with any cloud storage, the efficiency and therefore the duration of a backup depends on the connection. + +{{< hint type=important >}} Precondition: a gcs-bucket and a priviledged role is needed for this chapter. {{< /hint >}} + +### Create a gcs-bucket on the google cloud console + +### Create a priviledged service-role + +### Modifying the Cluster +As soon as all requirements are met: + +- A GCS bucket +- A JSON token for the service role with the required authorisations for the bucket + +the cluster can be modified. Firstly, a secret containing the JSON token is created and the cluster manifest is adapted accordingly. + +The first step is to create the required secret. This is most easily done using a `kubectl` command. + +``` +kubectl create secret generic cluster-1-gcs-credentials --from-file=gcs.json=fluent.json +``` + +In the next step, both the secret name and the file name of the JSON token are stored in the secret in the cluster manifest. In addition, global settings, such as the retention time of the backups in the global object, are defined, the image for `pgBackRest` is specified and the necessary information for the repository is added. This includes both the desired storage path in the bucket and the times for automatic backups based on the cron syntax. + +``` +apiVersion: cpo.opensource.cybertec.at/v1 +kind: postgresql +metadata: + name: cluster-1 +spec: + backup: + pgbackrest: + configuration: + secret: cluster-1-gcs-credentials + global: + repo1-path: /cluster-1/repo1/ + repo1-retention-full: '7' + repo1-retention-full-type: count + image: docker.io/cybertecpostgresql/cybertec-pg-container:pgbackrest-16.4-1' + repos: + - name: repo1 + resource: postgresql-backup-bucket + key: gcs.json + keyType: service + schedule: + full: 30 2 * * * + storage: gcs +``` diff --git a/docs/hugo/content/en/backup/introduction.md b/docs/hugo/content/en/backup/introduction.md new file mode 100644 index 000000000..162259b73 --- /dev/null +++ b/docs/hugo/content/en/backup/introduction.md @@ -0,0 +1,83 @@ +--- +title: "Introduction" +date: 2023-12-28T14:26:51+01:00 +draft: false +weight: 1 +--- +Backups are essential for databases. From broken storage to deployments gone wrong, backups often save the day. Starting with pg_dump, which was released in the late 1990s, to the archiving of WAL files (PostgreSQL 8.0 / 2005) and pg_basebackup (PostgreSQL 9.0 / 2010), PostgreSQL already offers built-in options for backups and restores based on logical and physical backups. + +### Backups with pgBackRest + +CPO relies on [pgBackRest](www.pgbackrest.org) as its backup solution, a tried-and-tested tool with extensive backup and restore options. +The backup is based on two elements: +- Snapshots in the form of physical backups +- WAL archive: Continuous archiving of the WAL files + +### Backups + +Backups represent a snapshot of the database in the form of pyhsical files. This contains all relevant information that PostgreSQL holds in its data folder. +With pgBackRest it is possible to create different types of Backups: +- full Snapshot: This captures and saves all files at the time of the backup +- Differential backup: Only captures all files that have been changed since the last full Backup +- Incremental backup: Only records the files that have been changed since the last backup (of any kind). + +When restoring using differential or incremental Backup, it is necessary to also use the previous Backup that provide the basis for the selected Backup. + +{{< hint type=Info >}}The choice of Backup types depends on factors such as the size of the database, the time available for backups and the restore.{{< /hint >}} + +### WAL-Archive + +The WAL (Write-Ahead-Log) refers to log files which record all changes to the database data before they are written to the actual files. The basic idea here is to guarantee the consistency and recoverability of the comitted data even in the event of failures. + +PostgreSQL normally cleans up or recycles the WAL files that are no longer required. By using WAL archiving, the WAL files are saved to a different location before this process so that they can be used for various activities in the future. +These activities include +- Providing the WAL files for replicas to keep them up to date +- Restoring instances that have lost parts of the WAL files in the event of a failure and cannot return to a consistent state without them without losing data +- Point-In-Time-Recovery (PITR): In contrast to Backups, which map a fixed point in time, WAL files make it possible to jump dynamically to a desired point in time and restore the database to the closest available consistent data point + +{{< hint type=Info >}}WAL archiving is an indispensable tool for data availability, recoverability and the continuous availability of PostgreSQL.{{< /hint >}} + +### Backup your Cluster + +With pgBackRest, backups can be stored on different types of storage: +- Block storage (PVC) +- S3 / S3-compatible storage +- Azure blob storage +- GCS + +### How a Backup works + +The operator creates a cronjob object on Kubernetes based on the defined times for automatic backups. This means that the Kubernetes core ([CronJob Controller](https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/)) will take care of processing the automatic backups and create a job and thus a pod at the appropriate time. +The pod will send the backup command to the primary or, if block storage is used, to the repo host and monitor it. As soon as the backup is successfully completed, the pod stops with Completed and thus completes the job. + +``` +kubectl get cronjobs +--------------------------------------------------------------------------------------- +NAME | SCHEDULE | SUSPEND | ACTIVE | LAST SCHEDULE | AGE +pgbackrest-cluster-repo1-full | 30 2 * * * | False | 0 | 4h46m | 14h +pgbackrest-cluster-repo1-incr | */30 * * * * | False | 1 | 81s | 106m + +kubectl get jobs +----------------------------------------------------------------------- +NAME | COMPLETIONS | DURATION | AGE +pgbackrest-cluster-repo1-full-28597110 | 1/1 | 52s | 140m +pgbackrest-cluster-repo1-incr-28597365 | 1/1 | 2m37s | 32m +pgbackrest-cluster-repo1-incr-28597380 | 1/1 | 2m38s | 17m +pgbackrest-cluster-repo1-incr-28597395 | 0/1 | 2m3s | 2m3s + +``` + +If there are problems such as a timeout, the pod will stop with exit code 1 and thus indicate an error. In this case, a new pod will be created which will attempt to complete the backup. The maximum number of attempts is 6, so if the backup fails six times, the job is deemed to have failed and will not be attempted again until the next cronjob execution. The job pod log provides information about the problems. + +``` +kubectl get pods +----------------------------------------------------------------------------------- +NAME | READY | STATUS | RESTARTS | AGE +cluster-0 | 2/2 | Running | 2 | 14h +cluster-pgbackrest-repo-host-0 | 1/1 | Running | 0 | 107m +pgbackrest-cluster-repo1-full-28597110-x8zpw | 0/1 | Completed | 0 | 143m +pgbackrest-cluster-repo1-incr-28597365-7bb5l | 0/1 | Completed | 0 | 34m +pgbackrest-cluster-repo1-incr-28597380-j76rr | 0/1 | Completed | 0 | 19m +pgbackrest-cluster-repo1-incr-28597395-rh86t | 0/1 | Completed | 0 | 4m27s +postgres-operator-66bbff5c54-5sjmk | 1/1 | Running | 0 | 47m +``` diff --git a/docs/hugo/content/en/backup/pvc.md b/docs/hugo/content/en/backup/pvc.md new file mode 100644 index 000000000..90d96ab9d --- /dev/null +++ b/docs/hugo/content/en/backup/pvc.md @@ -0,0 +1,40 @@ +--- +title: "via Blockstorage (pvc)" +date: 2023-12-28T14:26:51+01:00 +draft: false +weight: 1 +--- + +### Backups on PVC (PersistentVolumeClaim) + +When using block storage, the operator creates an additional pod that acts as a repo host. Based on a TLS connection, the repo host obtains the data for the Backup from the current primary of the cluster, which is compressed before being sent. +WAL archives are pushed from the primary pod to the repo host. + +``` +apiVersion: cpo.opensource.cybertec.at/v1 +kind: postgresql +metadata: + name: cluster + namespace: cpo +spec: + backup: + pgbackrest: + image: 'docker.io/cybertecpostgresql/cybertec-pg-container:pgbackrest-16.4-1' + repos: + - name: repo1 + schedule: + full: 30 2 * * * + storage: pvc + volume: + size: 15Gi + storageClass: default + global: + repo1-retention-full: '7' + repo1-retention-full-type: count +``` + +This example creates backups based on a repo host with a daily full Backup at 2:30 am. In addition, pgBackRest is instructed to keep a maximum of 7 full Backups. The oldest one is always removed when a new Backup is created. You can increase the pvc-size all time if needed. Therefore you just need to update the `size` value to a higher amount of Gi. Please be aware that shrinking the volume is not possible. + +{{< hint type=info >}} In addition, further configurations for pgBackRest can be defined in the global object. Information on possible configurations can be found in the [pgBackRest documentation](https://pgbackrest.org/configuration.html) {{< /hint >}} + + diff --git a/docs/hugo/content/en/certs/_index.md b/docs/hugo/content/en/certs/_index.md new file mode 100644 index 000000000..7fb8a1e9c --- /dev/null +++ b/docs/hugo/content/en/certs/_index.md @@ -0,0 +1,7 @@ +--- +title: "Certificates" +date: 2023-12-28T14:26:51+01:00 +draft: true +weight: 1500 +--- +tbd \ No newline at end of file diff --git a/docs/hugo/content/en/clone-cluster/_index.md b/docs/hugo/content/en/clone-cluster/_index.md new file mode 100644 index 000000000..6a6c1b220 --- /dev/null +++ b/docs/hugo/content/en/clone-cluster/_index.md @@ -0,0 +1,87 @@ +--- +title: "Clone Cluster" +date: 2023-12-28T14:26:51+01:00 +draft: false +weight: 2050 +--- +The function of a cluster clone was implemented to create the possibility of duplicating the current status of a cluster in order to carry out tests such as a major upgrade. +It creates an autonomous and independent cluster based on an existing local cluster or from a cloud storage via pgBackRest (S3, gcs or Azure Blob) + +### Preconditions: +The primary cluster must either: +- be accessible from the standby cluster via streaming replication +- the backup storage used by the standby cluster (S3, GCS or Azure Blob) must be accessible for the standby cluster + +The passwords for the Postgres user, the replication user and the exporter user (if monitoring is active) must be created as a secret for the standby cluster. Otherwise connection problems will occur + +### Clone a cluster via pvc + +```yaml +apiVersion: cpo.opensource.cybertec.at/v1 +kind: postgresql +metadata: + name: cluster-1-clone +spec: + dockerImage: 'docker.io/cybertecpostgresql/cybertec-pg-container:postgres-17.4-1' + numberOfInstances: 1 + postgresql: + version: '17' + resources: + limits: + cpu: 500m + memory: 500Mi + requests: + cpu: 500m + memory: 500Mi + teamId: acid + volume: + size: 5Gi + clone: + cluster: cluster-1 + pgbackrest: + configuration: + secret: cluster-1-pvc-configuration + repo: + storage: pvc +``` + +### Clone a cluster via s3 + +```yaml +apiVersion: cpo.opensource.cybertec.at/v1 +kind: postgresql +metadata: + name: cluster-1-clone +spec: + dockerImage: 'docker.io/cybertecpostgresql/cybertec-pg-container:postgres-17.4-1' + numberOfInstances: 1 + postgresql: + version: '17' + resources: + limits: + cpu: 500m + memory: 500Mi + requests: + cpu: 500m + memory: 500Mi + teamId: acid + volume: + size: 5Gi + clone: + cluster: cluster-1 # A random cluster name can be used if the source cluster is not present on the k8s. + pgbackrest: + configuration: + secret: cluster-1-s3-credentials + options: + repo1-path: /YOUR_PATH_INSIDE_THE_BUCKET_TO_THE_SOURCE_STANZA/repo1/ + repo: + endpoint: YOUR_SOURCE_S3_ENDPOINT + name: repo1 + region: YOUR_SOURCE_S3_REGION + resource: YOUR_SOURCE_BUCKET_NAME + storage: s3 +``` + +### Limitations +A primary cluster cannot be demoted to a standby cluster. +If necessary, the recommendation is to create a new cluster as a standby cluster. \ No newline at end of file diff --git a/docs/hugo/content/en/config_cluster/_index.md b/docs/hugo/content/en/config_cluster/_index.md new file mode 100644 index 000000000..e196fc3bb --- /dev/null +++ b/docs/hugo/content/en/config_cluster/_index.md @@ -0,0 +1,84 @@ +--- +title: "PostgreSQL Configuration" +date: 2023-03-07T14:26:51+01:00 +draft: false +weight: 1200 +--- + +Users who are already used to working with PostgreSQL from Baremetal or VMs are already familiar with the need for various files to configure PostgreSQL. These include +- postgresql.conf +- pg_hba.conf +- ... + +Although these files are available in the container, direct modification is not planned. As part of the declarative mode of operation of the operator, these files are defined via the operator. The modifying intervention within the container also represents a contradiction to the immutability of the container. + +For these reasons, the operator provides a way to make adjustments to the various files, from PostgreSQL to Patroni. + +We differentiate between two main objects in the cluster manifest: +- [`postgresql`](documentation/how-to-use/configuration/#postgresql) with the child objects `version` and `parameters` +- [`patroni`](documentation/how-to-use/configuration/#patroni) with objects for the `pg_hab`, `slots` and much more + +## postgresql + +The `postgresql `object consists of the following elements: +- `version` - allows you to select the major version of PostgreSQL used. +- `parameters`- enables the postgresql.conf to be changed + +``` +spec: + postgresql: + parameters: + shared_preload_libraries: 'pg_stat_statements,pgnodemx, timescaledb' + shared_buffers: '512MB' + version: '16' +``` + +Any known PostgreSQL parameter from postgresql.conf can be entered here and will be delivered by the operator to all nodes of the cluster accordingly. + +You can find more information about the parameters in the [PostgreSQL documentation](https://www.postgresql.org/docs/) + +## patroni + +The patroni object contains numerous options for customising the patroni-setu, and the pg_hba.conf is also configured here. A complete list of all available elements can be found here. + +The most important elements include +- `pg_hba` - pg_hba.conf +- `slots` +- `synchronous_mode` - enables synchronous mode in the cluster. The default is set to `false` +- `maximum_lag_on_failover` - Specifies the maximum lag so that the pod is still considered healthy in the event of a failover. +- `failsafe_mode` Allows you to cancel the downgrading of the leader if all cluster members can be reached via the Patroni Rest Api. +You can find more information on this in the [Patroni documentation](https://patroni-readthedocs-io.translate.goog/en/master/dcs_failsafe_mode.html?_x_tr_sl=auto&_x_tr_tl=de&_x_tr_hl=de&_x_tr_pto=wapp) + +### pg_hba + +The pg_hba.conf contains all defined authentication rules for PostgreSQL. + +When customising this configuration, it is important that the entire version of pg_hba is written to the manifest. +The current configuration can be read out in the database using table pg_hba_file_rules ;. + +Further information can be found in the [PostgreSQL documentation](https://www.postgresql.org/docs/current/auth-pg-hba-conf.html) + + +### slots + +When using user-defined slots, for example for the use of CDC using Debezium, there are problems when interacting with Patroni, as the slot and its current status are not automatically synchronised to the replicas. + +In the event of a failover, the client cannot start replication as both the entire slot and the information about the data that has already been synchronised are missing. + +To resolve this problem, slots must be defined in the cluster manifest rather than in PostgreSQL. + +``` +spec: + patroni: + slots: + cdc-example: + database: app_db + plugin: pgoutput + type: logical +``` +This example creates a logical replication slot with the name `cdc-example` within the `app_db` database and uses the `pgoutput` plugin for the slot. + + +{{< hint type=Info >}}Slots are only synchronised from the leader/standby leader to the replicas. This means that using the slots read-only on the replicas will cause a problem in the event of a failover.{{< /hint >}} + + diff --git a/docs/hugo/content/en/connection_pooler/_index.md b/docs/hugo/content/en/connection_pooler/_index.md new file mode 100644 index 000000000..f62488b20 --- /dev/null +++ b/docs/hugo/content/en/connection_pooler/_index.md @@ -0,0 +1,56 @@ +--- +title: "connection pooler" +date: 2024-05-31T14:26:51+01:00 +draft: false +weight: 1700 +--- + +A connection pooler is a tool that acts as a proxy between the application and the database and enables the performance of the application to be improved and the load on the database to be reduced. The reason for this lies in the connection handling of PostgreSQL. + +## How PostgreSQL handles connection +PostgreSQL use a new Process for every database-connection created by the postmaster. This process is handling the connection. On the positive side, this enables a stable connection and isolation, but it is not particularly efficient for short-lived connections due to the effort required to create them. + +## How Connection Pooling solves this problem + +With connection pooling, the application connects to the pooler, which in turn maintains a number of connections to the PostgreSQL database. +This makes it possible to use the connections from the pooler to the database for a long time instead of short-lived connections and to recycle them accordingly. + +In addition to utilising long-term connections, a ConnectionPooler also makes it possible to reduce the number of connections required to the database. For example, if you have 3 application nodes, each of which maintains 100 connections to the database at the same time, that would be 300 connections in total. The application usually does not even begin to utilise this number of connections. With the pgBouncer, this can be optimised so that the applications open the 300 connections to the pgBouncer, but the pgBouncer only generates 100 connections to PostgreSQL, for example, thus reducing the load by 2/3. + +{{< hint type=Info >}}It is important to correctly configure the bouncer and thus the connections to be created between pgBouncer and PostgreSQL so that enough connections are available for the workload. {{< /hint >}} + +## How does this work with CPO +CPO relies on pgBouncer, a popular and above all lightweight open source tool. pgBouncer manages individual user-database connections for each user used, which can be used immediately for incoming client connections. + +## How do I create a pooler for a cluster? + +- connection_pooler.number_of_instances - How many instances of connection pooler to create. Default is 2 which is also the required minimum. +- connection_pooler.schema - Database schema to create for credentials lookup function to be used by the connection pooler. Is is created in every database of the Postgres cluster. You can also choose an existing schema. Default schema is pooler. +- connection_pooler.user - User to create for connection pooler to be able to connect to a database. You can also choose an existing role, but make sure it has the LOGIN privilege. Default role is pooler. +- connection_pooler.image - Docker image to use for connection pooler deployment. Default: “registry.opensource.zalan.do/acid/pgbouncer” +- connection_poole.max_db_connections - How many connections the pooler can max hold. This value is divided among the pooler pods. Default is 60 which will make up 30 connections per pod for the default setup with two instances. +- connection_pooler.mode - Defines pooler mode. Available Value: `session`, `transaction` or `statement`. Default is `transaction`. +- connection_pooler.resources - Hardware definition for the pooler pods + +- enableConnectionPooler - Defines whether poolers for read/write access should be created based on the spec.connectionPooler definition. +- enableReplicaConnectionPooler- Defines whether poolers for read-only access should be created based on the spec.connectionPooler definition. + +``` +spec: + connectionPooler: + mode: transaction + numberOfInstances: 2 + resources: + limits: + cpu: '1' + memory: 100Mi + requests: + cpu: 500m + memory: 100Mi + schema: pooler + user: pooler + enableConnectionPooler: true + enableReplicaConnectionPooler: true +``` + + diff --git a/docs/hugo/content/en/crd/_index.md b/docs/hugo/content/en/crd/_index.md new file mode 100644 index 000000000..1dae5a992 --- /dev/null +++ b/docs/hugo/content/en/crd/_index.md @@ -0,0 +1,7 @@ +--- +title: "References" +date: 2023-03-07T14:26:51+01:00 +draft: false +weight: 2400 +--- + diff --git a/docs/hugo/content/en/crd/crd-operator-configurator.md b/docs/hugo/content/en/crd/crd-operator-configurator.md new file mode 100644 index 000000000..21d6cca50 --- /dev/null +++ b/docs/hugo/content/en/crd/crd-operator-configurator.md @@ -0,0 +1,89 @@ +--- +title: "Operator-Configuration" +date: 2023-03-07T14:26:51+01:00 +draft: false +weight: 332 +--- + +| Name | Type | default | Description | +| -------------------------------- |:-------:| --------:| ------------------:| +| enable_crd_registration | boolean | true | | +| crd_categories | string | all | | +| enable_lazy_spilo_upgrade | boolean | false | | +| enable_pgversion_env_var | boolean | true | | +| enable_spilo_wal_path_combat | boolean | false | | +| etcd_host | string | | | +| kubernetes_use_configmaps | boolean | false | | +| docker_image | string | | | +| sidecars | list | | | +| enable_shm_volume | boolean | true | | +| workers | int | 8 | | +| max_instances | int | -1 | | +| min_instances | int | -1 | | +| resync_period | string | 30m | | +| repair_period | string | 5m | | +| set_memory_request_to_limit | boolean | false | | +| debug_logging | boolean | true | | +| enable_db_access | boolean | true | | +| spilo_privileged | boolean | false | | +| spilo_allow_privilege_escalation | boolean | true | | +| watched_namespace | string | * | | + +#### major-upgrade-specific + +| Name | Type | default | Description | +| ------------------------------------- |:-------:| --------:| ------------------:| +| major_version_upgrade_mode | string | off | | +| major_version_upgrade_team_allow_list | string | | | +| minimal_major_version | string | 9.6 | | +| target_major_version | string | 14 | | + +#### aws-specific + +| Name | Type | default | Description | +| ------------------------------------- |:-------:| --------:| ------------------:| +| wal_s3_bucket | string | | | +| log_s3_bucket | string | | | +| kube_iam_role | string | | | +| aws_region | string | | | +| additional_secret_mount | string | | | +| additional_secret_mount_path | string | | | +| enable_ebs_gp3_migration | boolean | | | +| enable_ebs_gp3_migration_max_size | int | | | + +#### logical-backup-specific + +| Name | Type | default | Description | +| ------------------------------------- |:-------:| --------:| ------------------:| +| logical_backup_docker_image | string | | | +| logical_backup_google_application_credentials | string | | | +| logical_backup_job_prefix | string | | | +| logical_backup_provider | string | | | +| logical_backup_s3_access_key_id | string | | | +| logical_backup_s3_bucket | string | | | +| logical_backup_s3_endpoint | string | | | +| logical_backup_s3_region | string | | | +| logical_backup_s3_secret_access_key | string | | | +| logical_backup_s3_sse | string | | | +| logical_backup_s3_retention_time | string | | | +| logical_backup_schedule | string | | (Cron-Syntax) | + +#### team-api-specific + +| Name | Type | default | Description | +| ------------------------------------- |:-------:| --------:| ------------------:| +| enable_teams_api | string | | | +| teams_api_url | string | | | +| teams_api_role_configuration | string | | | +| enable_team_superuser | boolean | | | +| team_admin_role | boolean | | | +| enable_admin_role_for_users | boolean | | | +| pam_role_name | string | | | +| pam_configuration | string | | | +| protected_role_names | list | | | +| postgres_superuser_teams | string | | | +| role_deletion_suffix | string | | | +| enable_team_member_deprecation | boolean | | | +| enable_postgres_team_crd | boolean | | | +| enable_postgres_team_crd_superusers | boolean | | | +| enable_team_id_clustername_prefix | boolean | | | \ No newline at end of file diff --git a/docs/hugo/content/en/crd/crd-postgresql.md b/docs/hugo/content/en/crd/crd-postgresql.md new file mode 100644 index 000000000..97ba2544a --- /dev/null +++ b/docs/hugo/content/en/crd/crd-postgresql.md @@ -0,0 +1,467 @@ +--- +title: "PostgreSQL" +date: 2023-03-07T14:26:51+01:00 +draft: false +weight: 331 +--- +#### CRD for kind postgresql + +| Name | Type | required | Description | +| ----------- |:--------------:| ---------:| ------------------:| +| apiVersion | string | true | acid.zalando.do/v1 | +| kind | string | true | | +| metadata | object | true | | +| [spec](#spec) | object | true | | +| [status](#status) | object | false | | + +--- + +#### spec + +| Name | Type | required | Description | +| ------------------------------ |:-------:| ---------:| ------------------:| +| [additionalVolumes](#additionalvolumes) | array | false | List of additional volumes to mount in each container of the statefulset pod | +| allowedSourceRanges | array | false | The corresponding load balancer is accessible only to the networks defined by this parameter | +| [backup](#backup) | object | false | Enables the definition of a customised backup solution for the cluster | +| [clone](#clone) | object | false | Defines the clone-target for the Cluster | +| [connectionPooler](#connectionpooler) | object | false | Defines the configuration and settings for every type of a connectionPoolers (Primary and Replica). | +| databases | map | false | Defines the name of the database, they are created by the operator. See [tutorial](https://github.com/cybertec-postgresql/CYBERTEC-operator-tutorials/tree/main/cluster-tutorials/configure_users_and_databases) | +| dockerImage | string | true | Defines the used PostgreSQL-Container-Image for this cluster | +| enableLogicalBackup | boolean | false | Enable logical Backups for this Cluster (Stored on S3) - s3-configuration for Operator is needed (Not for pgBackRest) | +| enableConnectionPooler | boolean | false | creates a ConnectionPooler for the primary Pod | +| enableReplicaConnectionPooler | boolean | false | creates a ConnectionPooler for the replica Pods | +| enableMasterLoadBalancer | boolean | false | Define whether to enable the load balancer pointing to the Postgres primary | +| enableReplicaLoadBalancer | boolean | false | Define whether to enable the load balancer pointing to the Postgres replicas | +| enableMasterPoolerLoadBalancer | boolean | false | Define whether to enable the load balancer pointing to the primary ConnectionPooler | +| enableReplicaPoolerLoadBalancer| boolean | false | Define whether to enable the load balancer pointing to the Replica-ConnectionPooler | +| enableShmVolume | boolean | false | Start a database pod without limitations on shm memory. By default Docker limit /dev/shm to 64M (see e.g. the docker issue, which could be not enough if PostgreSQL uses parallel workers heavily. If this option is present and value is true, to the target database pod will be mounted a new tmpfs volume to remove this limitation. | +| [env](#env) | array | false | Allows to add own Envs to the PostgreSQL containers | +| [initContainers](#initcontainers) | array | false | Enables the definition of init-containers | +| logicalBackupSchedule | string | false | Enables the scheduling of logical backups based on cron-syntax. Example: `30 00 * * *` | +| maintenanceWindows | array | false | Enables the definition of maintenance windows for the cluster. Example: `Sat:00:00-04:00` | +| masterServiceAnnotations | map | false | Enables the definition of annotations for the Primary Service | +| [monitor](#monitor) | map | false | Enables monitoring on the basis of the defined image | +| nodeAffinity | map | false | Enables overwriting of the nodeAffinity | +| numberOfInstances | int | true | Number of nodes of the cluster | +| [patroni](#patroni) | map | false | Enables the customisation of patroni settings | +| podPriorityClassName | string | false | a name of the priority class that should be assigned to the cluster pods. If not set then the default priority class is taken. The priority class itself must be defined in advance | +| podAnnotations | map | false | A map of key value pairs that gets attached as annotations to each pod created for the database. | +| [postgresql](#postgresql) | map | false | Enables the customisation of PostgreSQL settings and parameters | +| [preparedDatabases](#prepareddatabases) | map | false | Allows you to define databases including owner, schemas and extension and have the operator generate them. item See [tutorial](https://github.com/cybertec-postgresql/CYBERTEC-operator-tutorials/tree/main/cluster-tutorials/prepared_databases) | +| replicaServiceAnnotations | map | false | Enables the definition of annotations for the Replica Service | +| [resources](#resources) | map | true | CPU & Memory (Limit & Request) definition for the Postgres container | +| ServiceAnnotations | map | false | A map of key value pairs that gets attached as annotations to each Service created for the database. | +| [sidecars](#sidecars) | array | false | Enables the definition of custom sidecars | +| spiloFSGroup | int | false | the Persistent Volumes for the Spilo pods in the StatefulSet will be owned and writable by the group ID specified. This will override the spilo_fsgroup operator parameter | +| spiloRunAsGroup | int | false | sets the group ID which should be used in the container to run the process. | +| spiloRunAsUser | int | false | Sets the user ID which should be used in the container to run the process. This must be set to run the container without root. | +| [standby](#standby) | map | false | Enables the creation of a standby cluster at the time of the creation of a new cluster | +| [streams](#streams) | array | false | Enables change data capture streams for defined database tables | +| [tde](#tde) | map | false | Enables the activation of TDE if a new cluster is created | +| teamId | string | true | name of the team the cluster belongs to. Will be removed soon | +| [tls](#tls) | map | false | Custom TLS certificate | +| [tolerations](#tolerations) | array | false | a list of tolerations that apply to the cluster pods. Each element of that list is a dictionary with the following fields: +key, operator, value, effect and tolerationSeconds | +| [topologySpreadConstraints](https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/) | map | false | Enables the definition of a topologySpreadConstraint. See [K8s-Documentation](https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/) | +| users | map | false | a map of usernames to user flags for the users that should be created in the cluster by the operator. See [tutorial](https://github.com/cybertec-postgresql/CYBERTEC-operator-tutorials/tree/main/cluster-tutorials/configure_users_and_databases) | +| usersWithSecretRotation | list | false | list of users to enable credential rotation in K8s secrets. The rotation interval can only be configured globally. | +| usersWithInPlaceSecretRotation | list | false | list of users to enable in-place password rotation in K8s secrets. The rotation interval can only be configured globally. | +| [volume](#volume) | map | true | define the properties of the persistent storage that stores Postgres data | + + +{{< back >}} + +--- + +#### additionalVolumes + +| Name | Type | required | Description | +| ------------------------------ |:-------:| ---------:| ------------------:| +| name | string | true | Enables the definition of a pgbackrest-setup for the cluster | +| mountPath | string | true | Enables the definition of a pgbackrest-setup for the cluster | +| targetContainers | array | true | Enables the definition of a pgbackrest-setup for the cluster | +| subPath | string | false | Enables the definition of a pgbackrest-setup for the cluster | +| isSubPathExpr | boolean | false | Enables the definition of a pgbackrest-setup for the cluster | +| [volumeSource](#volumeSource) | map | true | Enables the definition of a pgbackrest-setup for the cluster | + +{{< back >}} + +--- + +#### backup + +| Name | Type | required | Description | +| ------------------------------ |:-------:| ---------:| ------------------:| +| [pgbackrest](#pgbackrest) | object | false | Enables the definition of a pgbackrest-setup for the cluster | + +{{< back >}} + +--- + +#### clone + +| Name | Type | required | Description | +| ------------------------------ |:-------:| ---------:| ------------------:| +| cluster | string | true | Name of the cluster to be cloned. Random value if the cluster does not exist locally. | +| [pgbackrest](#pgbackrest) | object | false | Enables the definition of a pgbackrest-setup for the cluster | + +{{< back >}} + +--- + +#### connectionPooler + +| Name | Type | required | Description | +| ------------------------------ |:-------:| ---------:| ------------------:| +| numberOfInstances | int | true | Number of Pods per Pooler | +| mode | string | true | pooling mode for pgBouncer (session, transaction, statement) | +| schema | string | true | Schema for Pooler (Default: pooler) | +| user | string | true | Username for Pooler (Default: pooler) | +| maxDBConnections | string | true | maxConnections to the DB-Pod(s) | +| [resources](#resources) | map | true | CPU & Memory (Limit & Request) definition for the Pooler | + +{{< back >}} +--- + +#### env + +| Name | Type | required | Description | +| ------------------------------ |:-------:| ---------:| ------------------:| +| name | string | true | Keyfield for the ENV-Entry | +| value | string | true | Valuefield for the ENV-Entry | + +{{< back >}} + +--- + +#### initContainers + +| Name | Type | required | Description | +| ------------------------------ |:-------:| ---------:| ------------------:| +| name | string | true | Name for the container | +| image | string | true | Docker-Image for container | +| command | string | false | to override CMD inside the container | +| [env](#env) | array | false | Allows to add own Envs to the container | +| [resources](#resources) | map | false | CPU & Memory (Limit & Request) definition for the container | +| [ports](ports) | array | false | Define open ports for the container | + +{{< back >}} + +--- + +#### monitor + +| Name | Type | required | Description | +| ------------------------------ |:-------:| ---------:| ------------------:| +| image | string | true | Docker-Image for the metric exporter | + +{{< back >}} + +--- + +#### patroni + +| Name | Type | required | Description | +| ------------------------------ |:-------:| ---------:| ------------------:| +| failsafe_mode | boolean | false | Patroni failsafe_mode parameter value. See the [Patroni documentation](https://patroni.readthedocs.io/en/master/dcs_failsafe_mode.html) for more details. | +| initdb | map | false | a map of key-value pairs describing initdb parameters | +| loop_wait | string | false | Patroni `loop_wait` parameter value, optional. The default is set by the PostgreSQL image. | +| maximum_lag_on_failover | string | false | Patroni `maximum_lag_on_failover` parameter value, optional. The default is set by the PostgreSQL image. | +| [multisite](#multisite) | map | false | Multisite configuration - Check the [Documentation](CYBERTEC-pg-operator/multisite/) first | +| pg_hba | array | false | list of custom pg_hba lines to replace default ones. One entry per item (example: - hostssl all all 0.0.0.0/0 scram-sha-256) | +| retry_timeout | int | false | Patroni `retry_timeout` parameter value, optional. The default is set by the PostgreSQL image. | +| [slots](#slots) | map | false | permanent replication slots that Patroni preserves after failover by re-creating them on the new primary immediately. after doing a promote. Use preferred slot-name as map-item | +| synchronous_mode | boolean | false | DPatroni `synchronous_mode` parameter value, optional. The default is false. | +| synchronous_mode_strict | boolean | false | Patroni `synchronous_mode_strict` parameter value, optional. The default is false. | +| synchronous_node_count | int | false | Patroni `synchronous_node_count` parameter value, optional. The default is set to 1. Only used if `synchronous_mode_strict` is true | +| ttl | int | false | Patroni `ttl` parameter value, optional. The default is set by the PostgreSQL image. | + +{{< back >}} + +--- + +#### PostgreSQL + +| Name | Type | required | Description | +| ------------------------------ |:-------:| ---------:| ------------------:| +| parameters | map | false | PostgreSQL-Parameter as item (Example: max_connections: "100"). For help check out the [CYBERTEC PostgreSQL Configurator](https://pgconfigurator.cybertec.at) | +| version | string | false | a map of key-value pairs describing initdb parameters | + +{{< back >}} + +--- + +#### preparedDatabases + +| Name | Type | required | Description | +| ------------------------------ |:-------:| ---------:| ------------------:| +| defaultUsers | boolean | false | Creates roles with `LOGIN` permission and `_user`suffix. Default: false | +| extensions | map | false | Includes the Extensions as items (key:value). Key is the Name of the Extension and value the schema. Example: pgcrypto: public | +| [schemas](#schemas) | map | false | Includes the schemanames as items. | + +{{< back >}} + +--- + +#### resources + +| Name | Type | required | Description | +| ------------------------------ |:-------:| ---------:| ------------------:| +| [requests](#requests) | map | true | cpu and memory definitons (request.cpu / request.memory) | +| [limits](#limits) | map | true | cpu and memory definitons (limits.cpu / limits.memory) | + +{{< back >}} + +--- + +#### sidecars + +| Name | Type | required | Description | +| ------------------------------ |:-------:| ---------:| ------------------:| +| name | string | true | Name for the container | +| image | string | true | Docker-Image for container | +| command | string | false | to override CMD inside the container | +| [env](#env) | array | false | Allows to add own Envs to the container | +| [resources](#resources) | map | false | CPU & Memory (Limit & Request) definition for the container | +| [ports](ports) | array | false | Define open ports for the container | + +{{< back >}} + +#### standby + +| Name | Type | required | Description | +| ------------------------------ |:-------:| ---------:| ------------------:| +| standby_host | string | true | Endpoint of the primary cluster | +| standby_port | string | true | PostgreSQL port of the primary cluster | + +{{< back >}} + +--- + +#### streams + +| Name | Type | required | Description | +| ------------------------------ |:-------:| ---------:| ------------------:| +| applicationId | string | true | The application name to which the database and CDC belongs to. | +| database | string | true | Name of the database from where events will be published via Postgres' logical decoding feature. | +| tables | map | true | Defines a map of table names and their properties (eventType, idColumn and payloadColumn). | +| batchSize | int | false | Defines the size of batches in which events are consumed. Defaults to 1 | +| enableRecovery | boolean | false | Flag to enable a dead letter queue recovery for all streams tables. | +| filter | string | false | Streamed events can be filtered by a jsonpath expression for each table. | +| standby_port | string | false | PostgreSQL port of the primary cluster | + +{{< back >}} + +--- + +#### tde + +| Name | Type | required | Description | +| ------------------------------ |:-------:| ---------:| ------------------:| +| enable | boolean | true | enable TDE during initDB | + +{{< back >}} + +--- + +#### tolerations + +| Name | Type | required | Description | +| ------------------------------ |:-------:| ---------:| ------------------:| +| key | string | false | Key for the taint attribute of the node | +| operator | string | false | Comparison operator (Equal or Exists). | +| value | string | false | Value of the taint (only relevant for ‘Equal’). | +| effect | string | false | Specifies how the node handles the pod (NoExecute, NoSchedule, PreferNoSchedule) | +| tolerationSeconds | int | false | Specifies how long the pod tolerates the taint (only for NoExecute). | + + +{{< back >}} + +--- + +#### volume + +| Name | Type | required | Description | +| ------------------------------ |:-------:| ---------:| ------------------:| +| size | string | true | the size of the target volume. Usual Kubernetes size modifiers, i.e. Gi or Mi, apply | +| storageClass | string | false | the name of the Kubernetes storage class to draw the persistent volume from. If empty K8s will choose the default StorageClass | +| subPath | string | false | Subpath to use when mounting volume into PostgreSQL container. | +| iops | int | false | When running the operator on AWS the latest generation of EBS volumes (gp3) allows for configuring the number of IOPS. Maximum is 16000 | +| throughput | int | false | When running the operator on AWS the latest generation of EBS volumes (gp3) allows for configuring the throughput in MB/s. Maximum is 1000 | +| selector | map | false | A label query over PVs to consider for binding. See the [Kubernetes documentation](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/) for details on using matchLabels and matchExpressions | + +{{< back >}} + +--- + +#### volumeSource + +| Name | Type | required | Description | +| ------------------------------ |:-------:| ---------:| ------------------:| +| emptyDir | string | false | emptyDir: {} | +| [PersistentVolumeClaim](#volumeSource-PersistentVolumeClaim) | map | false | PersistentVolumeClaim-Objekt | +| [configMap](#volumeSource-configMap) | map | false | configMap-Objekt | + +{{< back >}} + +--- + +#### volumeSource-PersistentVolumeClaim + +| Name | Type | required | Description | +| ------------------------------ |:-------:| ---------:| ------------------:| +| claimName | string | true | Name of the PersistentVolumeClaim | +| readyOnly | boolean | false | PersistentVolumeClaim-Objekt | + +{{< back >}} + +--- + +#### volumeSource-configMap + +| Name | Type | required | Description | +| ------------------------------ |:-------:| ---------:| ------------------:| +| name | string | true | Name of the Configmap | + +{{< back >}} + +--- + +#### multisite + +| Name | Type | required | Description | +| ------------------------------ |:-------:| ---------:| ------------------:| +| enable | boolean | true | Enable multisite-feature | +| [etcd](#etcd) | map | true | Enables the definition of a pgbackrest-setup for the cluster | +| retry_timeout | int | true | Patroni `retry_timeout` parameter value for the global etcd, optional. The default is set by the PostgreSQL image. | +| site | string | true | Name for the site of this cluster | +| ttl | int | true | Patroni `ttl` parameter value for the global etcd, optional. The default is set by the PostgreSQL image. | + +{{< back >}} + +--- + +#### slots + +| Name | Type | required | Description | +| ------------------------------ |:-------:| ---------:| ------------------:| +| type | string | true | Slot-Type (`physical` or `logical`) | +| database | string | false | Databasename - for logical replication only | +| plugin | string | false | Plugin - for logical replication only | + +{{< back >}} +--- + +#### schemas + +| Name | Type | required | Description | +| ------------------------------ |:-------:| ---------:| ------------------:| +| defaultRoles | boolean | false | Creates schema exclusiv roles with `NOLOGIN` permission and `_user`suffix Default: true | +| defaultUsers | boolean | false | Creates schema exclusiv roles with `LOGIN` permission and `_user`suffix Default: false | + +#### etcd + +| Name | Type | required | Description | +| ------------------------------ |:-------:| ---------:| ------------------:| +| hosts | string | true | list of etcd hosts, including etcd-client-port (default: `2379`), comma separated like in the etcd config | +| password | string | false | Password for the global etcd | +| protocol | string | true | Protocol for the global etcd (http or https) | +| user | string | false | Username for the global etcd | + +{{< back >}} + +--- + +#### requests + +| Name | Type | required | Description | +| ------------------------------ |:-------:| ---------:| ------------------:| +| cpu | string | true | cpu definitons Example: 1000m| +| memory | string | true | memory definitons Example: 1000Mi| + +{{< back >}} + +--- + +#### limits + +| Name | Type | required | Description | +| ------------------------------ |:-------:| ---------:| ------------------:| +| cpu | string | true | cpu definitons Example: 1000m| +| memory | string | true | memory definitons Example: 1000Mi| + +{{< back >}} + +--- + +#### pgbackrest + +| Name | Type | required | Description | +| ------------------------------ |:-------:| ---------:| ------------------:| +| [configuration](#configuration)| object | false | Enables the definition of a pgbackrest-setup for the cluster | +| global | object | false | | +| image | string | true | | +| [repos](#repos) | array | true | | +| [resources](#resources) | object | false | CPU & Memory (Limit & Request) definition for the pgBackRest container| + +{{< back >}} + +--- + +#### configuration + +| Name | Type | required | Description | +| ------------------------------ |:-------:| ---------:| ------------------:| +| secret | object | false | Secretname with the contained S3 credentials (AccessKey & SecretAccessKey) (Note: must be placed in the same namespace as the cluster) | +| [protection](#protection) | object | false | Enable Protection-Options | + +{{< back >}} + +--- + + + +#### protection + +| Name | Type | required | Description | +| ------------------------------ |:-------:| ---------:| ------------------:| +| restore | boolean | false | A restore is ignored as long as this option is set to true. | + +{{< back >}} + +--- + +#### repos + +| Name | Type | required | Description | +| ------------------------------ |:-------:| ---------:| ------------------:| +| name | string | true | Name of the repository Required:Repo[1-4] | +| storage | string | true | Defines the used backup-storage (Choose from List: pvc,s3,blob,gcs) | +| resource | string | true | Bucket-/Instance-/Storage- or PVC-Name | +| endpoint | string | false | The Endpoint for the choosen Storage (Not required for local storage) | +| region | string | false | Region for the choosen Storage (S3 only) | +| [schedule](#schedule) | string | false | Object for defining automatic backups | + +{{< back >}} + +--- + +#### schedule + +| Name | Type | required | Description | +| ------------------------------ |:-------:| ---------:| ------------------:| +| full | string | false | (Cron-Syntax) Define full backup | +| incr | string | false | (Cron-Syntax) Define incremental backup | +| diff | string | false | (Cron-Syntax) Define differential backup | + +{{< back >}} + +--- + +#### status + +| Name | Type | required | Description | +| ------------------------------ |:-------:| ---------:| ------------------:| +| PostgresClusterStatus | string | false | Shows the cluster status. Filled by the Operator | + +{{< back >}} diff --git a/docs/hugo/content/en/customize_cluster/_index.md b/docs/hugo/content/en/customize_cluster/_index.md new file mode 100644 index 000000000..c8329e684 --- /dev/null +++ b/docs/hugo/content/en/customize_cluster/_index.md @@ -0,0 +1,6 @@ +--- +title: "Customize Cluster" +date: 2023-12-28T14:26:51+01:00 +draft: false +weight: 1000 +--- \ No newline at end of file diff --git a/docs/hugo/content/en/customize_cluster/additional-volumes.md b/docs/hugo/content/en/customize_cluster/additional-volumes.md new file mode 100644 index 000000000..8127841e6 --- /dev/null +++ b/docs/hugo/content/en/customize_cluster/additional-volumes.md @@ -0,0 +1,32 @@ +--- +title: "Additional Volumes" +date: 2023-12-28T14:26:51+01:00 +draft: false +weight: 3 +--- + +``` + additionalVolumes: + - name: empty + mountPath: /opt/empty + targetContainers: + - all + volumeSource: + emptyDir: {} +# - name: data +# mountPath: /home/postgres/pgdata/partitions +# targetContainers: +# - postgres +# volumeSource: +# PersistentVolumeClaim: +# claimName: pvc-postgresql-data-partitions +# readyOnly: false +# - name: conf +# mountPath: /etc/telegraf +# subPath: telegraf.conf +# targetContainers: +# - telegraf-sidecar +# volumeSource: +# configMap: +# name: my-config-map +``` \ No newline at end of file diff --git a/docs/hugo/content/en/customize_cluster/sidecars.md b/docs/hugo/content/en/customize_cluster/sidecars.md new file mode 100644 index 000000000..babbec38b --- /dev/null +++ b/docs/hugo/content/en/customize_cluster/sidecars.md @@ -0,0 +1,110 @@ +--- +title: "Sidecars" +date: 2023-12-28T14:26:51+01:00 +draft: false +weight: 1 +--- +Starting with the Single-Node-Cluster from the previous section, we want to modify the Instance a bit to see. +## CPU and Memory +``` +spec: + resources: + limits: + cpu: 1000m + memory: 500Mi + requests: + cpu: 500m + memory: 500mi +``` +Based on the ressources-Definiton we're able to modify the reserved Hardware (requests) and the limits, which allows use to consume more than the reserved definitons if the k8s-worker has this hardware available. There are some Restrictions when modifiying the limits-section. Because of the behaviour of Databases we should never define a diff between requests.memory and limits.memory. A Database is after some time using all available Memory, for Cache and other things. Limits are optional and the worker node can force them back. forcing back memory will create big problems inside a database like creating corruption, forcing OutOfMemory-Killer and so on. +CPU on the other side is a ressource we can use inside the limits definiton to allow our database using more cpu if needed and available. + +## Sidecars +Sidecars are further Containers running on the same Pod as the Database. We can use them for serveral different Jobs. +The Operator allows us to define them directly inside the Cluster-Manifest. +``` +spec: + sidecars: + - name: "telegraf-sidecar" + image: "telegraf:latest" + ports: + - name: metrics + containerPort: 8094 + protocol: TCP + resources: + limits: + cpu: 500m + memory: 500Mi + requests: + cpu: 100m + memory: 100Mi + env: + - name: "USEFUL_VAR" + value: "perhaps-true" +``` +This Example will add a second Container to our Pods. This will trigger a restart, which creates Downtime if you're not running a HA-Cluster. + +## Init-Containers +We can exactly the same as for sidecars also for Init-Containers. +The difference is, that a sidecar is running normally on a pod. +An Init-Container will just run as first container when the pod is created and it will ends after his job is done. +The "normal" Containers has to wait till all init-Containers finished their jobs and ended with a exit-status. +``` +spec: + initContainers: + - name: date + image: busybox + command: [ "/bin/date" ] +``` + +## TLS-Certificates +One Startup the Containers will create a custom TLS-Certificate which allows creating tls-secured-connections to the Database. +But this Certificates cannot verified, because the application has no information about the CA. Because of this the certificates are no protection against MITM-Attacks. +You're able to configure your own Certificates and CA to ensure, that you can use secured and verified connections between your application and your database. +``` +spec: + tls: + secretName: "" # should correspond to a Kubernetes Secret resource to load + certificateFile: "tls.crt" + privateKeyFile: "tls.key" + caFile: "" # optionally configure Postgres with a CA certificate + caSecretName: "" # optionally the ca.crt can come from this secret instead. +``` +You need to store the needed values from tls.crt, tls.key and ca.crt in a secret and define the secrtetname inside the tls-object. +if you want you can create a separate sercet just for the ca and use this secret for every cluster inside the Namespace. +To get Information about creating Certificates and the secrets check the Tutorial in the additonal-Section or click [here](additonal/tutorials/tls) + +## Node-Affinity +Node-Affinity will ensure that the Cluster-pods only deployed on Kubernetes-Nodes which has the defined Labelkey and -Value +``` +spec: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: cpo + operator: In + values: + - enabled +``` +This allowes you to use specific database-nodes in a mixed cluster for example. +In the Example above the Cluster-Pods are just deployed on Nodes with the Key: cpo and the value: enabled +So you're able to seperate your Workload. + +## PostgreSQL-Configuration +Every Cluster will start with the default PostgreSQL-Configuration. Every Parameter can be overriden based in definitions inside the Cluster-Manifest. +Therefore we just need a add the section parameters to the postgresql-Object +``` +spec: + postgresql: + version: 16 + parameters: + max_connections: "53" + log_statement: "all" + track_io_timing: "true" +``` +These Definitions will change the PostgreSQL-Configuration. Based on the needs of Parameter changes the Pods may needs a restart, which creates a Downtime if its not a HA-Cluster. +You can check Parameters and allowed Values on this Sources to ensure a correct Value. +- PostgreSQL Documentation +- [PostgreSQL.org](https://postgresql.org) +- [PostgreSQLco.nf](https://postgresqlco.nf/) diff --git a/docs/hugo/content/en/db_users/_index.md b/docs/hugo/content/en/db_users/_index.md new file mode 100644 index 000000000..8a7a54d9e --- /dev/null +++ b/docs/hugo/content/en/db_users/_index.md @@ -0,0 +1,153 @@ +--- +title: "Databases & Users" +date: 2023-12-28T14:26:51+01:00 +draft: false +weight: 900 +--- + +CPO not only supports you in deploying your cluster, it also supports you in setting it up in terms of the database and users. +CPO offers you three different options for this: +- Create roles +- Create databases +- preapared databases + +## Create Roles +The creation of users is based on the definition of the user name and the definition of the required rights for this user. Available rights are +- `superuser` +- `inherit` +- `login` +- `nologin` +- `createrole` +- `createdb` +- `replication` +- `bypassrls` + +Unless explicitly defined via `NOLOGIN`, a created user automatically receives the `LOGIN` permission. + +``` +spec: + users: + db_owner: + - login + - createdb + appl_user: + - login +``` + +For each user created, CPO automatically creates a secret with `username` and `password` in the namespace of the cluster, which follows the following naming convention: +[USERNAME].[CLUSTERNAME].credentials.postgresql.cpo.opensource.cybertec.at + +If the secrets for an application are to be stored in a different namespace, for example, it is necessary to define the setting enable_cross_namespace_secret as true in the operator configuration. You can find more information about the operator configuration [here](documentation/how-to-use/operator_configuration/). + +The namespace must then be written before the user name. +``` +spec: + users: + db_owner: + - login + - createdb + app_namespace.appl_user: + - login +``` + +## Create Databases + +Databases are basically created in a very similar way to users. +The definition is based on the database name and the database owner. + +``` +spec: + users: + db_owner: + - login + - createdb + app_namespace.appl_user: + - login + databases; + app_db: app_namespace.appl_user +``` + +{{< hint type=Info >}}Be aware that the user name must be defined for the database owner in the same way as it is done in the users object. {{< /hint >}} + +## Prepared Databases + +The `preparedDatabases` object is available for a much more extensive setup of databases and users. +In addition to the creation of `databases` and `users`, this also enables the creation of `schemas` and `extensions`. A more detailed rights management is also available. + +### Databases and Schema + +Creating the preparedDatabases object already creates a database whose name is based on the cluster name. `preparedDatabases: {}` + +{{< hint type=Info >}}For the database name, `-` is replaced with `_` in the cluster name{{< /hint >}} + +To create your own database names and elements such as schemas and extensions within the database, an object must be created within preparedDatabases for each database. + +``` +spec: + preparedDatabases: + appl_db: + extensions: + dblink: public + schemas: + data: {} +``` + +This example creates a database with the name `appl_db` and creates a schema with the name `data` in it, as well as creating the `dblink` extension in the schema `public`. + +### Management of users and Permissions + +For rights management, we distinguish between `NOLOGIN` roles and `LOGIN` roles. `Users` have login rights and inherit the other rights from the `NOLOGIN` role. + +#### NoLogin roles (defaultRoles) + +The roles are created if `defaultroles` is not explicitly set to false. +``` +spec: + preparedDatabases: + appl_db: + extensions: + dblink: public + schemas: + data: {} +``` +This creates roles for the schema owner, writer and reader + +#### Login roles (defaultUsers) + +The roles described in the previous paragraph can be assigned to LOGIN roles via the users section in the manifest. Optionally, the Postgres operator can also create standard `LOGIN` roles for the database and each individual schema. These roles are given the suffix _user and inherit all rights from their NOLOGIN counterparts. Therefore, you cannot set defaultRoles to false and activate defaultUsers at the same time. + +``` +spec: + preparedDatabases: + appl_db: + defaultUsers: true + extensions: + dblink: public + schemas: + data: {} + history: + defaultRoles: true + defaultUsers: false +``` +This example creates the following users and inheritances + +Role name | Attributes | inherits from +------------------------|---------------------------|-------------------------------- + appl_db_owner | Cannot login | appl_db_reader,appl_db_owner,appl_data_owner,... + appl_db_owner_user | | appl_db_owner + appl_db_reader | Cannot login | + appl_db_reader_user | | appl_db_reader + appl_db_writer | Cannot login | appl_db_reader + appl_db_writer_user | | appl_db_writer + appl_db_data_owner | Cannot login | appl_db_data_reader,appl_db_data_writer + appl_db_data_reader | Cannot login | + appl_db_data_writer | Cannot login | appl_db_data_reader + appl_db_history_owner | Cannot login | appl_db_history_reader,appl_db_history_writer + appl_db_history_reader | Cannot login | + appl_db_history_writer | Cannot login | appl_db_history_reader + +Default access permissions are also defined for LOGIN roles when databases and schemas are created. This means that they are not currently set if defaultUsers (or defaultRoles for schemas) are activated at a later time. + +#### User Secrets + +For each user created by cpo with `LOGIN` permissions, the operator also creates a secret with username and password, as with the creation of roles via the `users` object. \ No newline at end of file diff --git a/docs/hugo/content/en/extensions/_index.md b/docs/hugo/content/en/extensions/_index.md new file mode 100644 index 000000000..cbe16db49 --- /dev/null +++ b/docs/hugo/content/en/extensions/_index.md @@ -0,0 +1,6 @@ +--- +title: "Extensions" +date: 2023-12-28T14:26:51+01:00 +draft: false +weight: 1900 +--- \ No newline at end of file diff --git a/docs/hugo/content/en/extensions/pg13.md b/docs/hugo/content/en/extensions/pg13.md new file mode 100644 index 000000000..9b57bb925 --- /dev/null +++ b/docs/hugo/content/en/extensions/pg13.md @@ -0,0 +1,86 @@ +--- +title: "PostgreSQL 13" +date: 2023-12-28T14:26:51+01:00 +draft: false +weight: 1813 +--- + +{{< hint type=info >}} The extensions listed are included in the standard images. This list refers to PostgreSQL 13. {{< /hint >}} + +| Name | Default Version | Comment | +|---------------------|-----------------|----------------------------------------------------------------------------| +| adminpack | 2.1 | Administrative functions for PostgreSQL | +| amcheck | 1.2 | Functions for verifying relation integrity | +| autoinc | 1.0 | Functions for autoincrementing fields | +| bloom | 1.0 | Bloom access method - signature file based index | +| btree_gin | 1.3 | Support for indexing common datatypes in GIN | +| btree_gist | 1.5 | Support for indexing common datatypes in GiST | +| citext | 1.6 | Data type for case-insensitive character strings | +| credcheck | 3.0.0 | credcheck - PostgreSQL plain text credential checker | +| cube | 1.4 | Data type for multidimensional cubes | +| dblink | 1.2 | Connect to other PostgreSQL databases from within a database | +| dict_int | 1.0 | Text search dictionary template for integers | +| dict_xsyn | 1.0 | Text search dictionary template for extended synonym processing | +| earthdistance | 1.1 | Calculate great-circle distances on the surface of the Earth | +| file_fdw | 1.0 | Foreign-data wrapper for flat file access | +| fuzzystrmatch | 1.1 | Determine similarities and distance between strings | +| hstore | 1.7 | Data type for storing sets of (key, value) pairs | +| hstore_plperl | 1.0 | Transform between hstore and plperl | +| hstore_plperlu | 1.0 | Transform between hstore and plperlu | +| hstore_plpython3u | 1.0 | Transform between hstore and plpython3u | +| insert_username | 1.0 | Functions for tracking who changed a table | +| intagg | 1.1 | Integer aggregator and enumerator (obsolete) | +| intarray | 1.3 | Functions, operators, and index support for 1-D arrays of integers | +| isn | 1.2 | Data types for international product numbering standards | +| jsonb_plperl | 1.0 | Transform between jsonb and plperl | +| jsonb_plperlu | 1.0 | Transform between jsonb and plperlu | +| jsonb_plpython3u | 1.0 | Transform between jsonb and plpython3u | +| lo | 1.1 | Large Object maintenance | +| ltree | 1.2 | Data type for hierarchical tree-like structures | +| ltree_plpython3u | 1.0 | Transform between ltree and plpython3u | +| moddatetime | 1.0 | Functions for tracking last modification time | +| pageinspect | 1.8 | Inspect the contents of database pages at a low level | +| pg_buffercache | 1.3 | Examine the shared buffer cache | +| pg_cron | 1.6 | Job scheduler for PostgreSQL | +| pg_freespacemap | 1.2 | Examine the free space map (FSM) | +| pg_permissions | 1.3 | View object permissions and compare them with the desired state | +| pg_prewarm | 1.2 | Prewarm relation data | +| pg_proctab | | Placeholder - see pg_proctab--0.0.10-compat.control | +| pg_stat_statements | 1.8 | Track planning and execution statistics of all SQL statements executed | +| pg_trgm | 1.5 | Text similarity measurement and index searching based on trigrams | +| pg_visibility | 1.2 | Examine the visibility map (VM) and page-level visibility info | +| pgaudit | 1.5.3 | Provides auditing functionality | +| pgauditlogtofile | 1.6 | pgAudit addon to redirect audit entries to an independent file | +| pgcrypto | 1.3 | Cryptographic functions | +| pgnodemx | 1.7 | SQL functions that allow capture of node OS metrics from PostgreSQL | +| pgrowlocks | 1.2 | Show row-level locking information | +| pgstattuple | 1.5 | Show tuple-level statistics | +| plpgsql | 1.0 | PL/pgSQL procedural language | +| plpython3u | 1.0 | PL/Python3U untrusted procedural language | +| pltcl | 1.0 | PL/Tcl procedural language | +| pltclu | 1.0 | PL/TclU untrusted procedural language | +| postgres_fdw | 1.0 | Foreign-data wrapper for remote PostgreSQL servers | +| refint | 1.0 | Functions for implementing referential integrity (obsolete) | +| seg | 1.3 | Data type for representing line segments or floating-point intervals | +| set_user | 4.1.0 | Similar to SET ROLE but with added logging | +| sslinfo | 1.2 | Information about SSL certificates | +| tablefunc | 1.0 | Functions that manipulate whole tables, including crosstab | +| tcn | 1.0 | Triggered change notifications | +| timescaledb | 2.15.3 | Enables scalable inserts and complex queries for time-series data (Apache 2 Edition) | +| tsm_system_rows | 1.0 | TABLESAMPLE method which accepts number of rows as a limit | +| tsm_system_time | 1.0 | TABLESAMPLE method which accepts time in milliseconds as a limit | +| unaccent | 1.1 | Text search dictionary that removes accents | +| uuid-ossp | 1.1 | Generate universally unique identifiers (UUIDs) | +| xml2 | 1.1 | XPath querying and XSLT | + +{{< hint type=info >}} The following extensions are additionally included in the Postgis images. {{< /hint >}} + +| Name | Default Version | Comment | +|----------------------------|-----------------|-----------------------------------------------------------------------------------------------------| +| address_standardizer | 3.4.4 | Used to parse an address into constituent elements. Generally used to support geocoding address normalization step. | +| address_standardizer_data_us | 3.4.4 | Address Standardizer US dataset example | +| postgis | 3.4.4 | PostGIS geometry and geography spatial types and functions | +| postgis_raster | 3.4.4 | PostGIS raster types and functions | +| postgis_sfcgal | 3.4.4 | PostGIS SFCGAL functions | +| postgis_tiger_geocoder | 3.4.4 | PostGIS tiger geocoder and reverse geocoder | +| postgis_topology | 3.4.4 | PostGIS topology spatial types and functions | diff --git a/docs/hugo/content/en/extensions/pg14.md b/docs/hugo/content/en/extensions/pg14.md new file mode 100644 index 000000000..857061e05 --- /dev/null +++ b/docs/hugo/content/en/extensions/pg14.md @@ -0,0 +1,88 @@ +--- +title: "PostgreSQL 14" +date: 2023-12-28T14:26:51+01:00 +draft: false +weight: 1814 +--- + +{{< hint type=info >}} The extensions listed are included in the standard images. This list refers to PostgreSQL 14. {{< /hint >}} + +| Name | Default Version | Comment | +|---------------------|-----------------|----------------------------------------------------------------------------| +| adminpack | 2.1 | Administrative functions for PostgreSQL | +| amcheck | 1.3 | Functions for verifying relation integrity | +| autoinc | 1.0 | Functions for autoincrementing fields | +| bloom | 1.0 | Bloom access method - signature file based index | +| btree_gin | 1.3 | Support for indexing common datatypes in GIN | +| btree_gist | 1.6 | Support for indexing common datatypes in GiST | +| citext | 1.6 | Data type for case-insensitive character strings | +| credcheck | 3.0.0 | credcheck - PostgreSQL plain text credential checker | +| cube | 1.5 | Data type for multidimensional cubes | +| dblink | 1.2 | Connect to other PostgreSQL databases from within a database | +| dict_int | 1.0 | Text search dictionary template for integers | +| dict_xsyn | 1.0 | Text search dictionary template for extended synonym processing | +| earthdistance | 1.1 | Calculate great-circle distances on the surface of the Earth | +| file_fdw | 1.0 | Foreign-data wrapper for flat file access | +| fuzzystrmatch | 1.1 | Determine similarities and distance between strings | +| hstore | 1.8 | Data type for storing sets of (key, value) pairs | +| hstore_plperl | 1.0 | Transform between hstore and plperl | +| hstore_plperlu | 1.0 | Transform between hstore and plperlu | +| hstore_plpython3u | 1.0 | Transform between hstore and plpython3u | +| insert_username | 1.0 | Functions for tracking who changed a table | +| intagg | 1.1 | Integer aggregator and enumerator (obsolete) | +| intarray | 1.5 | Functions, operators, and index support for 1-D arrays of integers | +| isn | 1.2 | Data types for international product numbering standards | +| jsonb_plperl | 1.0 | Transform between jsonb and plperl | +| jsonb_plperlu | 1.0 | Transform between jsonb and plperlu | +| jsonb_plpython3u | 1.0 | Transform between jsonb and plpython3u | +| lo | 1.1 | Large Object maintenance | +| ltree | 1.2 | Data type for hierarchical tree-like structures | +| ltree_plpython3u | 1.0 | Transform between ltree and plpython3u | +| moddatetime | 1.0 | Functions for tracking last modification time | +| old_snapshot | 1.0 | Utilities in support of old_snapshot_threshold | +| pageinspect | 1.9 | Inspect the contents of database pages at a low level | +| pg_buffercache | 1.3 | Examine the shared buffer cache | +| pg_cron | 1.6 | Job scheduler for PostgreSQL | +| pg_freespacemap | 1.2 | Examine the free space map (FSM) | +| pg_permissions | 1.3 | View object permissions and compare them with the desired state | +| pg_prewarm | 1.2 | Prewarm relation data | +| pg_proctab | | Placeholder - see pg_proctab--0.0.10-compat.control | +| pg_stat_statements| 1.9 | Track planning and execution statistics of all SQL statements executed | +| pg_surgery | 1.0 | Extension to perform surgery on a damaged relation | +| pg_trgm | 1.6 | Text similarity measurement and index searching based on trigrams | +| pg_visibility | 1.2 | Examine the visibility map (VM) and page-level visibility info | +| pgaudit | 1.6.3 | Provides auditing functionality | +| pgauditlogtofile | 1.6 | pgAudit addon to redirect audit entries to an independent file | +| pgcrypto | 1.3 | Cryptographic functions | +| pgnodemx | 1.7 | SQL functions that allow capture of node OS metrics from PostgreSQL | +| pgrowlocks | 1.2 | Show row-level locking information | +| pgstattuple | 1.5 | Show tuple-level statistics | +| plpgsql | 1.0 | PL/pgSQL procedural language | +| plpython3u | 1.0 | PL/Python3U untrusted procedural language | +| pltcl | 1.0 | PL/Tcl procedural language | +| pltclu | 1.0 | PL/TclU untrusted procedural language | +| postgres_fdw | 1.1 | Foreign-data wrapper for remote PostgreSQL servers | +| refint | 1.0 | Functions for implementing referential integrity (obsolete) | +| seg | 1.4 | Data type for representing line segments or floating-point intervals | +| set_user | 4.1.0 | Similar to SET ROLE but with added logging | +| sslinfo | 1.2 | Information about SSL certificates | +| tablefunc | 1.0 | Functions that manipulate whole tables, including crosstab | +| tcn | 1.0 | Triggered change notifications | +| timescaledb | 2.18.2 | Enables scalable inserts and complex queries for time-series data (Apache 2 Edition) | +| tsm_system_rows | 1.0 | TABLESAMPLE method which accepts number of rows as a limit | +| tsm_system_time | 1.0 | TABLESAMPLE method which accepts time in milliseconds as a limit | +| unaccent | 1.1 | Text search dictionary that removes accents | +| uuid-ossp | 1.1 | Generate universally unique identifiers (UUIDs) | +| xml2 | 1.1 | XPath querying and XSLT | + +{{< hint type=info >}} The following extensions are additionally included in the Postgis images. {{< /hint >}} + +| Name | Default Version | Comment | +|----------------------------|-----------------|-----------------------------------------------------------------------------------------------------| +| address_standardizer | 3.4.4 | Used to parse an address into constituent elements. Generally used to support geocoding address normalization step. | +| address_standardizer_data_us | 3.4.4 | Address Standardizer US dataset example | +| postgis | 3.4.4 | PostGIS geometry and geography spatial types and functions | +| postgis_raster | 3.4.4 | PostGIS raster types and functions | +| postgis_sfcgal | 3.4.4 | PostGIS SFCGAL functions | +| postgis_tiger_geocoder | 3.4.4 | PostGIS tiger geocoder and reverse geocoder | +| postgis_topology | 3.4.4 | PostGIS topology spatial types and functions | diff --git a/docs/hugo/content/en/extensions/pg15.md b/docs/hugo/content/en/extensions/pg15.md new file mode 100644 index 000000000..1bbd33a7b --- /dev/null +++ b/docs/hugo/content/en/extensions/pg15.md @@ -0,0 +1,89 @@ +--- +title: "PostgreSQL 15" +date: 2023-12-28T14:26:51+01:00 +draft: false +weight: 1815 +--- + +{{< hint type=info >}} The extensions listed are included in the standard images. This list refers to PostgreSQL 15. {{< /hint >}} + +| Name | Default Version | Comment | +|---------------------|-----------------|----------------------------------------------------------------------------| +| adminpack | 2.1 | Administrative functions for PostgreSQL | +| amcheck | 1.3 | Functions for verifying relation integrity | +| autoinc | 1.0 | Functions for autoincrementing fields | +| bloom | 1.0 | Bloom access method - signature file based index | +| btree_gin | 1.3 | Support for indexing common datatypes in GIN | +| btree_gist | 1.7 | Support for indexing common datatypes in GiST | +| citext | 1.6 | Data type for case-insensitive character strings | +| credcheck | 3.0.0 | credcheck - PostgreSQL plain text credential checker | +| cube | 1.5 | Data type for multidimensional cubes | +| dblink | 1.2 | Connect to other PostgreSQL databases from within a database | +| dict_int | 1.0 | Text search dictionary template for integers | +| dict_xsyn | 1.0 | Text search dictionary template for extended synonym processing | +| earthdistance | 1.1 | Calculate great-circle distances on the surface of the Earth | +| file_fdw | 1.0 | Foreign-data wrapper for flat file access | +| fuzzystrmatch | 1.1 | Determine similarities and distance between strings | +| hstore | 1.8 | Data type for storing sets of (key, value) pairs | +| hstore_plperl | 1.0 | Transform between hstore and plperl | +| hstore_plperlu | 1.0 | Transform between hstore and plperlu | +| hstore_plpython3u | 1.0 | Transform between hstore and plpython3u | +| insert_username | 1.0 | Functions for tracking who changed a table | +| intagg | 1.1 | Integer aggregator and enumerator (obsolete) | +| intarray | 1.5 | Functions, operators, and index support for 1-D arrays of integers | +| isn | 1.2 | Data types for international product numbering standards | +| jsonb_plperl | 1.0 | Transform between jsonb and plperl | +| jsonb_plperlu | 1.0 | Transform between jsonb and plperlu | +| jsonb_plpython3u | 1.0 | Transform between jsonb and plpython3u | +| lo | 1.1 | Large Object maintenance | +| ltree | 1.2 | Data type for hierarchical tree-like structures | +| ltree_plpython3u | 1.0 | Transform between ltree and plpython3u | +| moddatetime | 1.0 | Functions for tracking last modification time | +| old_snapshot | 1.0 | Utilities in support of old_snapshot_threshold | +| pageinspect | 1.11 | Inspect the contents of database pages at a low level | +| pg_buffercache | 1.3 | Examine the shared buffer cache | +| pg_cron | 1.6 | Job scheduler for PostgreSQL | +| pg_freespacemap | 1.2 | Examine the free space map (FSM) | +| pg_permissions | 1.3 | View object permissions and compare them with the desired state | +| pg_prewarm | 1.2 | Prewarm relation data | +| pg_proctab | | Placeholder - see pg_proctab--0.0.10-compat.control | +| pg_stat_statements| 1.10 | Track planning and execution statistics of all SQL statements executed | +| pg_surgery | 1.0 | Extension to perform surgery on a damaged relation | +| pg_trgm | 1.6 | Text similarity measurement and index searching based on trigrams | +| pg_visibility | 1.2 | Examine the visibility map (VM) and page-level visibility info | +| pg_walinspect | 1.0 | Functions to inspect contents of PostgreSQL Write-Ahead Log | +| pgaudit | 1.7 | Provides auditing functionality | +| pgauditlogtofile | 1.6 | pgAudit addon to redirect audit entries to an independent file | +| pgcrypto | 1.3 | Cryptographic functions | +| pgnodemx | 1.7 | SQL functions that allow capture of node OS metrics from PostgreSQL | +| pgrowlocks | 1.2 | Show row-level locking information | +| pgstattuple | 1.5 | Show tuple-level statistics | +| plpgsql | 1.0 | PL/pgSQL procedural language | +| plpython3u | 1.0 | PL/Python3U untrusted procedural language | +| pltcl | 1.0 | PL/Tcl procedural language | +| pltclu | 1.0 | PL/TclU untrusted procedural language | +| postgres_fdw | 1.1 | Foreign-data wrapper for remote PostgreSQL servers | +| refint | 1.0 | Functions for implementing referential integrity (obsolete) | +| seg | 1.4 | Data type for representing line segments or floating-point intervals | +| set_user | 4.1.0 | Similar to SET ROLE but with added logging | +| sslinfo | 1.2 | Information about SSL certificates | +| tablefunc | 1.0 | Functions that manipulate whole tables, including crosstab | +| tcn | 1.0 | Triggered change notifications | +| timescaledb | 2.18.2 | Enables scalable inserts and complex queries for time-series data (Apache 2 Edition) | +| tsm_system_rows | 1.0 | TABLESAMPLE method which accepts number of rows as a limit | +| tsm_system_time | 1.0 | TABLESAMPLE method which accepts time in milliseconds as a limit | +| unaccent | 1.1 | Text search dictionary that removes accents | +| uuid-ossp | 1.1 | Generate universally unique identifiers (UUIDs) | +| xml2 | 1.1 | XPath querying and XSLT | + +{{< hint type=info >}} The following extensions are additionally included in the Postgis images. {{< /hint >}} + +| Name | Default Version | Comment | +|----------------------------|-----------------|-----------------------------------------------------------------------------------------------------| +| address_standardizer | 3.4.4 | Used to parse an address into constituent elements. Generally used to support geocoding address normalization step. | +| address_standardizer_data_us | 3.4.4 | Address Standardizer US dataset example | +| postgis | 3.4.4 | PostGIS geometry and geography spatial types and functions | +| postgis_raster | 3.4.4 | PostGIS raster types and functions | +| postgis_sfcgal | 3.4.4 | PostGIS SFCGAL functions | +| postgis_tiger_geocoder | 3.4.4 | PostGIS tiger geocoder and reverse geocoder | +| postgis_topology | 3.4.4 | PostGIS topology spatial types and functions | diff --git a/docs/hugo/content/en/extensions/pg16.md b/docs/hugo/content/en/extensions/pg16.md new file mode 100644 index 000000000..1fa318580 --- /dev/null +++ b/docs/hugo/content/en/extensions/pg16.md @@ -0,0 +1,89 @@ +--- +title: "PostgreSQL 16" +date: 2023-12-28T14:26:51+01:00 +draft: false +weight: 1816 +--- + +{{< hint type=info >}} The extensions listed are included in the standard images. This list refers to PostgreSQL 16. {{< /hint >}} + +| Name | Default Version | Comment | +|---------------------|-----------------|----------------------------------------------------------------------------| +| adminpack | 2.1 | Administrative functions for PostgreSQL | +| amcheck | 1.3 | Functions for verifying relation integrity | +| autoinc | 1.0 | Functions for autoincrementing fields | +| bloom | 1.0 | Bloom access method - signature file based index | +| btree_gin | 1.3 | Support for indexing common datatypes in GIN | +| btree_gist | 1.7 | Support for indexing common datatypes in GiST | +| citext | 1.6 | Data type for case-insensitive character strings | +| credcheck | 3.0.0 | credcheck - PostgreSQL plain text credential checker | +| cube | 1.5 | Data type for multidimensional cubes | +| dblink | 1.2 | Connect to other PostgreSQL databases from within a database | +| dict_int | 1.0 | Text search dictionary template for integers | +| dict_xsyn | 1.0 | Text search dictionary template for extended synonym processing | +| earthdistance | 1.2 | Calculate great-circle distances on the surface of the Earth | +| file_fdw | 1.0 | Foreign-data wrapper for flat file access | +| fuzzystrmatch | 1.2 | Determine similarities and distance between strings | +| hstore | 1.8 | Data type for storing sets of (key, value) pairs | +| hstore_plperl | 1.0 | Transform between hstore and plperl | +| hstore_plperlu | 1.0 | Transform between hstore and plperlu | +| hstore_plpython3u | 1.0 | Transform between hstore and plpython3u | +| insert_username | 1.0 | Functions for tracking who changed a table | +| intagg | 1.1 | Integer aggregator and enumerator (obsolete) | +| intarray | 1.5 | Functions, operators, and index support for 1-D arrays of integers | +| isn | 1.2 | Data types for international product numbering standards | +| jsonb_plperl | 1.0 | Transform between jsonb and plperl | +| jsonb_plperlu | 1.0 | Transform between jsonb and plperlu | +| jsonb_plpython3u | 1.0 | Transform between jsonb and plpython3u | +| lo | 1.1 | Large Object maintenance | +| ltree | 1.2 | Data type for hierarchical tree-like structures | +| ltree_plpython3u | 1.0 | Transform between ltree and plpython3u | +| moddatetime | 1.0 | Functions for tracking last modification time | +| old_snapshot | 1.0 | Utilities in support of old_snapshot_threshold | +| pageinspect | 1.12 | Inspect the contents of database pages at a low level | +| pg_buffercache | 1.4 | Examine the shared buffer cache | +| pg_cron | 1.6 | Job scheduler for PostgreSQL | +| pg_freespacemap | 1.2 | Examine the free space map (FSM) | +| pg_permissions | 1.3 | View object permissions and compare them with the desired state | +| pg_prewarm | 1.2 | Prewarm relation data | +| pg_proctab | | Placeholder - see pg_proctab--0.0.10-compat.control | +| pg_stat_statements| 1.10 | Track planning and execution statistics of all SQL statements executed | +| pg_surgery | 1.0 | Extension to perform surgery on a damaged relation | +| pg_trgm | 1.6 | Text similarity measurement and index searching based on trigrams | +| pg_visibility | 1.2 | Examine the visibility map (VM) and page-level visibility info | +| pg_walinspect | 1.1 | Functions to inspect contents of PostgreSQL Write-Ahead Log | +| pgaudit | 16.1 | Provides auditing functionality | +| pgauditlogtofile | 1.6 | pgAudit addon to redirect audit entries to an independent file | +| pgcrypto | 1.3 | Cryptographic functions | +| pgnodemx | 1.7 | SQL functions that allow capture of node OS metrics from PostgreSQL | +| pgrowlocks | 1.2 | Show row-level locking information | +| pgstattuple | 1.5 | Show tuple-level statistics | +| plpgsql | 1.0 | PL/pgSQL procedural language | +| plpython3u | 1.0 | PL/Python3U untrusted procedural language | +| pltcl | 1.0 | PL/Tcl procedural language | +| pltclu | 1.0 | PL/TclU untrusted procedural language | +| postgres_fdw | 1.1 | Foreign-data wrapper for remote PostgreSQL servers | +| refint | 1.0 | Functions for implementing referential integrity (obsolete) | +| seg | 1.4 | Data type for representing line segments or floating-point intervals | +| set_user | 4.1.0 | Similar to SET ROLE but with added logging | +| sslinfo | 1.2 | Information about SSL certificates | +| tablefunc | 1.0 | Functions that manipulate whole tables, including crosstab | +| tcn | 1.0 | Triggered change notifications | +| timescaledb | 2.18.2 | Enables scalable inserts and complex queries for time-series data (Apache 2 Edition) | +| tsm_system_rows | 1.0 | TABLESAMPLE method which accepts number of rows as a limit | +| tsm_system_time | 1.0 | TABLESAMPLE method which accepts time in milliseconds as a limit | +| unaccent | 1.1 | Text search dictionary that removes accents | +| uuid-ossp | 1.1 | Generate universally unique identifiers (UUIDs) | +| xml2 | 1.1 | XPath querying and XSLT | + +{{< hint type=info >}} The following extensions are additionally included in the Postgis images. {{< /hint >}} + +| Name | Default Version | Comment | +|----------------------------|-----------------|-----------------------------------------------------------------------------------------------------| +| address_standardizer | 3.4.4 | Used to parse an address into constituent elements. Generally used to support geocoding address normalization step. | +| address_standardizer_data_us | 3.4.4 | Address Standardizer US dataset example | +| postgis | 3.4.4 | PostGIS geometry and geography spatial types and functions | +| postgis_raster | 3.4.4 | PostGIS raster types and functions | +| postgis_sfcgal | 3.4.4 | PostGIS SFCGAL functions | +| postgis_tiger_geocoder | 3.4.4 | PostGIS tiger geocoder and reverse geocoder | +| postgis_topology | 3.4.4 | PostGIS topology spatial types and functions | diff --git a/docs/hugo/content/en/extensions/pg17.md b/docs/hugo/content/en/extensions/pg17.md new file mode 100644 index 000000000..6de7df126 --- /dev/null +++ b/docs/hugo/content/en/extensions/pg17.md @@ -0,0 +1,87 @@ +--- +title: "PostgreSQL 17" +date: 2023-12-28T14:26:51+01:00 +draft: false +weight: 1817 +--- + +{{< hint type=info >}} The extensions listed are included in the standard images. This list refers to PostgreSQL 17. {{< /hint >}} + +| Name | Default Version | Comment | +|---------------------|-----------------|----------------------------------------------------------------------------| +| amcheck | 1.4 | Functions for verifying relation integrity | +| autoinc | 1.0 | Functions for autoincrementing fields | +| bloom | 1.0 | Bloom access method - signature file based index | +| btree_gin | 1.3 | Support for indexing common datatypes in GIN | +| btree_gist | 1.7 | Support for indexing common datatypes in GiST | +| citext | 1.6 | Data type for case-insensitive character strings | +| credcheck | 3.0.0 | credcheck - PostgreSQL plain text credential checker | +| cube | 1.5 | Data type for multidimensional cubes | +| dblink | 1.2 | Connect to other PostgreSQL databases from within a database | +| dict_int | 1.0 | Text search dictionary template for integers | +| dict_xsyn | 1.0 | Text search dictionary template for extended synonym processing | +| earthdistance | 1.2 | Calculate great-circle distances on the surface of the Earth | +| file_fdw | 1.0 | Foreign-data wrapper for flat file access | +| fuzzystrmatch | 1.2 | Determine similarities and distance between strings | +| hstore | 1.8 | Data type for storing sets of (key, value) pairs | +| hstore_plperl | 1.0 | Transform between hstore and plperl | +| hstore_plperlu | 1.0 | Transform between hstore and plperlu | +| hstore_plpython3u | 1.0 | Transform between hstore and plpython3u | +| insert_username | 1.0 | Functions for tracking who changed a table | +| intagg | 1.1 | Integer aggregator and enumerator (obsolete) | +| intarray | 1.5 | Functions, operators, and index support for 1-D arrays of integers | +| isn | 1.2 | Data types for international product numbering standards | +| jsonb_plperl | 1.0 | Transform between jsonb and plperl | +| jsonb_plperlu | 1.0 | Transform between jsonb and plperlu | +| jsonb_plpython3u | 1.0 | Transform between jsonb and plpython3u | +| lo | 1.1 | Large Object maintenance | +| ltree | 1.3 | Data type for hierarchical tree-like structures | +| ltree_plpython3u | 1.0 | Transform between ltree and plpython3u | +| moddatetime | 1.0 | Functions for tracking last modification time | +| pageinspect | 1.12 | Inspect the contents of database pages at a low level | +| pg_buffercache | 1.5 | Examine the shared buffer cache | +| pg_cron | 1.6 | Job scheduler for PostgreSQL | +| pg_freespacemap | 1.2 | Examine the free space map (FSM) | +| pg_permissions | 1.3 | View object permissions and compare them with the desired state | +| pg_prewarm | 1.2 | Prewarm relation data | +| pg_proctab | | Placeholder - see pg_proctab--0.0.10-compat.control | +| pg_stat_statements| 1.11 | Track planning and execution statistics of all SQL statements executed | +| pg_surgery | 1.0 | Extension to perform surgery on a damaged relation | +| pg_trgm | 1.6 | Text similarity measurement and index searching based on trigrams | +| pg_visibility | 1.2 | Examine the visibility map (VM) and page-level visibility info | +| pg_walinspect | 1.1 | Functions to inspect contents of PostgreSQL Write-Ahead Log | +| pgaudit | 17.1 | Provides auditing functionality | +| pgauditlogtofile | 1.6 | pgAudit addon to redirect audit entries to an independent file | +| pgcrypto | 1.3 | Cryptographic functions | +| pgnodemx | 1.7 | SQL functions that allow capture of node OS metrics from PostgreSQL | +| pgrowlocks | 1.2 | Show row-level locking information | +| pgstattuple | 1.5 | Show tuple-level statistics | +| plpgsql | 1.0 | PL/pgSQL procedural language | +| plpython3u | 1.0 | PL/Python3U untrusted procedural language | +| pltcl | 1.0 | PL/Tcl procedural language | +| pltclu | 1.0 | PL/TclU untrusted procedural language | +| postgres_fdw | 1.1 | Foreign-data wrapper for remote PostgreSQL servers | +| refint | 1.0 | Functions for implementing referential integrity (obsolete) | +| seg | 1.4 | Data type for representing line segments or floating-point intervals | +| set_user | 4.1.0 | Similar to SET ROLE but with added logging | +| sslinfo | 1.2 | Information about SSL certificates | +| tablefunc | 1.0 | Functions that manipulate whole tables, including crosstab | +| tcn | 1.0 | Triggered change notifications | +| timescaledb | 2.18.2 | Enables scalable inserts and complex queries for time-series data (Apache 2 Edition) | +| tsm_system_rows | 1.0 | TABLESAMPLE method which accepts number of rows as a limit | +| tsm_system_time | 1.0 | TABLESAMPLE method which accepts time in milliseconds as a limit | +| unaccent | 1.1 | Text search dictionary that removes accents | +| uuid-ossp | 1.1 | Generate universally unique identifiers (UUIDs) | +| xml2 | 1.1 | XPath querying and XSLT | + +{{< hint type=info >}} The following extensions are additionally included in the Postgis images. {{< /hint >}} + +| Name | Default Version | Comment | +|----------------------------|-----------------|-----------------------------------------------------------------------------------------------------| +| address_standardizer | 3.4.4 | Used to parse an address into constituent elements. Generally used to support geocoding address normalization step. | +| address_standardizer_data_us | 3.4.4 | Address Standardizer US dataset example | +| postgis | 3.4.4 | PostGIS geometry and geography spatial types and functions | +| postgis_raster | 3.4.4 | PostGIS raster types and functions | +| postgis_sfcgal | 3.4.4 | PostGIS SFCGAL functions | +| postgis_tiger_geocoder | 3.4.4 | PostGIS tiger geocoder and reverse geocoder | +| postgis_topology | 3.4.4 | PostGIS topology spatial types and functions | diff --git a/docs/hugo/content/en/first_cluster/_index.md b/docs/hugo/content/en/first_cluster/_index.md new file mode 100644 index 000000000..fdadc11a1 --- /dev/null +++ b/docs/hugo/content/en/first_cluster/_index.md @@ -0,0 +1,120 @@ +--- +title: "Create a Cluster" +date: 2023-12-28T14:26:51+01:00 +draft: false +weight: 600 +--- + +To set up a cluster, the implementation is based on a description, as with the other Kubernetes deplyoments. To do this, the operator uses a document of type `postgresql`. + +You can also find the basic minimum specifications for a single-node cluster in our [tutorial project on Github](https://github.com/cybertec-postgresql/CYBERTEC-operator-tutorials/blob/main/cluster-tutorials/single-cluster/postgres.yaml) + +## minimal Single-Node Cluster +``` +apiVersion: cpo.opensource.cybertec.at/v1 +kind: postgresql +metadata: + name: cluster-1 +spec: + dockerImage: "docker.io/cybertecpostgresql/cybertec-pg-container:postgres-17.4-1" + numberOfInstances: 1 + postgresql: + version: "17" + resources: + limits: + cpu: 500m + memory: 500Mi + requests: + cpu: 500m + memory: 500Mi + volume: + size: 5Gi +``` +Based on this Manifest the Operator will deploy a single-Node-Cluster based on the defined dockerImage and start the included Postgres-17-Server. +Also created is a volume based on your default-storage Class. The Ressource-Definiton means, that we reserve a half cpu and a half GB Memory for this Cluster with the same Definition as limit. + +After some seconds we should see, that the operator creates our cluster based on the declared definitions. +``` +kubectl get pods +----------------------------------------------------------------------------- +NAME | READY | STATUS | RESTARTS | AGE +cluster-1-0 | 1/1 | Running | 0 | 50s + +``` + +{{< hint type=Info >}}[Here](documentation/crd/crd-postgresql/) you will find a complete overview of the available options within the cluster manifest.{{< /hint >}} + +### Use a specific Storageclass +``` +spec: + ... + volume: + size: 5Gi + storageClass: default-provisioner + ... +``` +Using the storageClass-Definiton allows us to define a specific storageClass for this Cluster. Please ensure, that the storageClass exists and is usable. If a Volume cannot provide the Volume will stand in the pending-State as like the Database-Pod. + +### Expanding Volume +The Operator allows to you expand your volume if the storage-System is able to do this. +``` +spec: + ... + volume: + size: 10Gi + storageClass: default-provisioner + ... +``` +This will trigger the expand of your Cluster-Volumes. It will need some time and you can check the current state inside the pvc. +``` +kubectl get pvc pgdata-cluster-1-0 -o yaml +------------------------------------------------------- +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 10Gi + storageClassName: crc-csi-hostpath-provisioner + volumeMode: Filesystem + volumeName: pvc-800d7ecc-2d5f-4ef4-af83-1cd94c766d37 +status: + accessModes: + - ReadWriteOnce + capacity: + storage: 5Gi + phase: Bound + +``` + +### Creating additonal Volumes +The Operator allows you to modify your cluster with additonal Volumes. +``` +spec: + ... + additionalVolumes: + - name: empty + mountPath: /opt/empty + targetContainers: + - all + volumeSource: + emptyDir: {} +``` +This example will create an emptyDir and mount it to all Containers inside the Database-Pod. + + +### Specific Settings for aws gp3 Storage +For the gp3 Storage aws you can define more informations +``` + volume: + size: 1Gi + storageClass: gp3 + iops: 1000 # for EBS gp3 + throughput: 250 # in MB/s for EBS gp3 + +``` +The defined IOPS and Throughput will include in the PersistentVolumeClaim and send to the storage-Provisioner. +Please keep in Mind, that on aws there is a CoolDown-Time as a limitation defined. For new Changes you need to wait 6 hours. +Please also ensure to check the default and allowed values for IOPS and Throughput [AWS docs](https://aws.amazon.com/ebs/general-purpose/). + +To ensure that the settings are updates properly please define the Operator-Configuration 'storage_resize_mode' from default to 'mixed' diff --git a/docs/hugo/content/en/ha_cluster/_index.md b/docs/hugo/content/en/ha_cluster/_index.md new file mode 100644 index 000000000..ed2a1e6b0 --- /dev/null +++ b/docs/hugo/content/en/ha_cluster/_index.md @@ -0,0 +1,59 @@ +--- +title: "High Availability" +date: 2023-12-28T14:26:51+01:00 +draft: false +weight: 1100 +--- + +High availability (HA) is a critical aspect of running database systems, especially in mission-critical applications where downtime is unacceptable. This section explains why high availability is important for PostgreSQL and how Patroni acts as a solution to ensure HA. +Why High Availability (HA) for PostgreSQL? +1. To minimise downtime: In modern, data-driven applications, downtime can cause significant financial and reputational losses. High availability ensures that the database remains available even in the event of hardware failures or network problems. +2. Data integrity and security: A database failure can lead to data loss or data inconsistencies. High-availability solutions protect against such scenarios through continuous data replication and automatic failover. +3. Scalability and load balancing: HA setups make it possible to distribute the load across multiple nodes, resulting in better performance and faster response times. This is particularly important in environments with high data traffic. +4. Ease of maintenance: By setting up high availability, database maintenance can be performed without interrupting services. Nodes can be maintained incrementally while the database remains available. + +#### Patroni - the cluster manager +In our PostgreSQL environment, we use [Patroni](../../patroni) in the PG containers by default. This has the advantage that even single-node instances basically function as Patroni clusters. This configuration offers several important advantages: +- Easy scalability: by using Patroni in all PG containers, scaling pods up and down is possible at any time. You can easily add additional pods as needed to improve performance or increase capacity, or remove pods to free up resources. This flexibility is particularly useful in dynamic environments where requirements can change quickly. +- Automated cluster management: Patroni automatically takes over the management of the cluster. When a new pod is added to an existing cluster, Patroni takes care of setting up the new node itself, including initialising and starting replication. This means you don't have to perform any manual steps to configure or manage new nodes - Patroni does it all for you automatically. +- Seamless integration: As Patroni is active in every PG container by default, you don't have to worry about compatibility or manual configuration. This makes deployment and maintenance much easier, as all the necessary components are already preconfigured. +- Optimisation of resources: Even with a minimal setup (single-node instance), you benefit from the advantages of a Patroni cluster, including the possibility of easy expansion and automatic failover in the event of a failure. This ensures optimal resource utilisation and minimises downtime. + +#### Upgrade the cluster to high availability + +The necessary changes to a high-availability cluster are very limited. +Only the number of desired instances needs to be increased. + +``` +apiVersion: cpo.opensource.cybertec.at/v1 +kind: postgresql +metadata: + name: cluster-1 +spec: + dockerImage: "docker.io/cybertecpostgresql/cybertec-pg-container:postgres-17.4-1" + numberOfInstances: 2 + postgresql: + version: "17" + resources: + limits: + cpu: 500m + memory: 500Mi + requests: + cpu: 500m + memory: 500Mi + volume: + size: 5Gi +``` + +You can either create a new cluster with the document or update an existing cluster with it. +This makes it possible to scale the cluster up and down during operation. + +The example above will create a HA-Cluster based on two Nodes. +``` +kubectl get pods +----------------------------------------------------------------------------- +NAME | READY | STATUS | RESTARTS | AGE +cluster-1-0 | 1/1 | Running | 0 | 3d +cluster-1-1 | 1/1 | Running | 0 | 31s + +``` diff --git a/docs/hugo/content/en/images/architecture_cluster_backup_cloud_storage.png b/docs/hugo/content/en/images/architecture_cluster_backup_cloud_storage.png new file mode 100644 index 0000000000000000000000000000000000000000..082032dc9a9e76f592e88a05bf79b9db2d18cb4f GIT binary patch literal 99433 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 S=m}l*MhzYHdq3?s_P+oCeXLXf literal 0 HcmV?d00001 diff --git a/docs/hugo/content/en/images/architecture_cluster_backup_pvc.png b/docs/hugo/content/en/images/architecture_cluster_backup_pvc.png new file mode 100644 index 0000000000000000000000000000000000000000..1cdbf5bad5c0c0a3682fa8f45730f6043ab42f90 GIT binary patch literal 101125 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 D?4_8Y literal 0 HcmV?d00001 diff --git a/docs/hugo/content/en/installation/_index.md b/docs/hugo/content/en/installation/_index.md new file mode 100644 index 000000000..685fe460a --- /dev/null +++ b/docs/hugo/content/en/installation/_index.md @@ -0,0 +1,6 @@ +--- +title: "Installation" +date: 2023-03-07T14:26:51+01:00 +draft: false +weight: 500 +--- \ No newline at end of file diff --git a/docs/hugo/content/en/installation/configuration_operator.md b/docs/hugo/content/en/installation/configuration_operator.md new file mode 100644 index 000000000..189aea392 --- /dev/null +++ b/docs/hugo/content/en/installation/configuration_operator.md @@ -0,0 +1,84 @@ +--- +title: "Operator-Configuration" +date: 2023-03-07T14:26:51+01:00 +draft: false +weight: 503 +--- + +Users who are already used to working with PostgreSQL from Baremetal or VMs are already familiar with the need for various files to configure PostgreSQL. These include +- postgresql.conf +- pg_hba.conf +- ... + +Although these files are available in the container, direct modification is not planned. As part of the declarative mode of operation of the operator, these files are defined via the operator. The modifying intervention within the container also represents a contradiction to the immutability of the container. + +For these reasons, the operator provides a way to make adjustments to the various files, from PostgreSQL to Patroni. + +We differentiate between two main objects in the cluster manifest: +- [`postgresql`](documentation/how-to-use/configuration/#postgresql) with the child objects `version` and `parameters` +- [`patroni`](documentation/how-to-use/configuration/#patroni) with objects for the `pg_hab`, `slots` and much more + +## postgresql + +The `postgresql `object consists of the following elements: +- `version` - allows you to select the major version of PostgreSQL used. +- `parameters`- enables the postgresql.conf to be changed + +``` +spec: + postgresql: + parameters: + shared_preload_libraries: 'pg_stat_statements,pgnodemx, timescaledb' + shared_buffers: '512MB' + version: '16' +``` + +Any known PostgreSQL parameter from postgresql.conf can be entered here and will be delivered by the operator to all nodes of the cluster accordingly. + +You can find more information about the parameters in the [PostgreSQL documentation](https://www.postgresql.org/docs/) + +## patroni + +The patroni object contains numerous options for customising the patroni-setu, and the pg_hba.conf is also configured here. A complete list of all available elements can be found here. + +The most important elements include +- `pg_hba` - pg_hba.conf +- `slots` +- `synchronous_mode` - enables synchronous mode in the cluster. The default is set to `false` +- `maximum_lag_on_failover` - Specifies the maximum lag so that the pod is still considered healthy in the event of a failover. +- `failsafe_mode` Allows you to cancel the downgrading of the leader if all cluster members can be reached via the Patroni Rest Api. +You can find more information on this in the [Patroni documentation](https://patroni-readthedocs-io.translate.goog/en/master/dcs_failsafe_mode.html?_x_tr_sl=auto&_x_tr_tl=de&_x_tr_hl=de&_x_tr_pto=wapp) + +### pg_hba + +The pg_hba.conf contains all defined authentication rules for PostgreSQL. + +When customising this configuration, it is important that the entire version of pg_hba is written to the manifest. +The current configuration can be read out in the database using table pg_hba_file_rules ;. + +Further information can be found in the [PostgreSQL documentation](https://www.postgresql.org/docs/current/auth-pg-hba-conf.html) + + +### slots + +When using user-defined slots, for example for the use of CDC using Debezium, there are problems when interacting with Patroni, as the slot and its current status are not automatically synchronised to the replicas. + +In the event of a failover, the client cannot start replication as both the entire slot and the information about the data that has already been synchronised are missing. + +To resolve this problem, slots must be defined in the cluster manifest rather than in PostgreSQL. + +``` +spec: + patroni: + slots: + cdc-example: + database: app_db + plugin: pgoutput + type: logical +``` +This example creates a logical replication slot with the name `cdc-example` within the `app_db` database and uses the `pgoutput` plugin for the slot. + + +{{< hint type=Info >}}Slots are only synchronised from the leader/standby leader to the replicas. This means that using the slots read-only on the replicas will cause a problem in the event of a failover.{{< /hint >}} + + diff --git a/docs/hugo/content/en/installation/dev-k8s.md b/docs/hugo/content/en/installation/dev-k8s.md new file mode 100644 index 000000000..54bd65266 --- /dev/null +++ b/docs/hugo/content/en/installation/dev-k8s.md @@ -0,0 +1,73 @@ +--- +title: "Setup local Kubernetes" +date: 2023-03-07T14:26:51+01:00 +draft: false +weight: 501 +--- + +There are various options for setting up a local Kubernetes environment. This chapter deals with the following two variants: +- minikube +- crc (CodeReadyContainers from RedHat) + +### Minikube +Minikube is a tool that makes it possible to run Kubernetes locally on a single computer. It sets up a minimal but functional Kubernetes environment suitable for development and testing purposes. Minikube supports most Kubernetes features and provides an easy way to launch and manage Kubernetes clusters on local machines without the need for a complex cloud infrastructure. + +#### Install Kubectl & Minikube +To use Minikube, it is essential to install the Kubectl client. + +[Here](https://kubernetes.io/docs/tasks/tools/) you will find all the information you need to install kubectl on your Linux, Mac or Windows device. + +You can Install Minikube on your Linux-, Mac- or Windows-Devide using [this Documentation](https://minikube.sigs.k8s.io/docs/start/?arch=%2Flinux%2Fx86-64%2Fstable%2Fbinary+download). + +#### Use Minikube + +Before starting minikube, it is advisable to define a path for the kubeconfig. +```bash +export KUBECONFIG=/home/USERNAME/kubeconfig_minikube.conf +``` +You can then start minikube and all the necessary data is written directly to the conf. The definition of a user-defined path ensures that other configs are not inadvertently overwritten. +The path must be defined again via ENV in each new user session. Alternatively, this can also be permanently defined via .bashrc. +If the default path is not used for any other purpose, the ENV does not need to be set. +```bash +# Start minikube +minikube start + +# get pods from default namespace +kubectl get pods + +# change default namespace to cpo +kubectl config set-context --namespace=cpo +``` + +### CRC +CRC (CodeReady Containers) is a tool from Red Hat that provides a local OpenShift environment. It is specifically designed to run a compact version of OpenShift on a local machine to provide developers and testers with an easy way to develop and test applications optimised for use in OpenShift. CRC includes all the necessary OpenShift components and makes it possible to use Red Hat's container platform locally without building a full cloud infrastructure. + +#### Install oc-client & CRC +To use CRC, it is essential to install the oc-client or the kubectl-client. + +[Here](https://docs.openshift.com/container-platform/latest/cli_reference/openshift_cli/getting-started-cli.html) you will find all the information you need to install kubectl on your Linux, Mac or Windows device. + +You can Download and install CRC on your Linux-, Mac- or Windows-Devide using [this informations](https://developers.redhat.com/products/openshift-local/overview). + +#### Use CRC + +Before installing crc, it is advisable to define a path for the kubeconfig. +```bash +export KUBECONFIG=/home/USERNAME/kubeconfig_crc.conf +``` +You can then install and start crc and all the necessary data is written directly to the conf. The definition of a user-defined path ensures that other configs are not inadvertently overwritten. +The path must be defined again via ENV in each new user session. Alternatively, this can also be permanently defined via .bashrc. +If the default path is not used for any other purpose, the ENV does not need to be set. +```bash +# Install crc +crc setup + +# Start crc +crc start + +# get pods from default namespace +oc get pods + +# change default namespace to cpo +oc project cpo +``` \ No newline at end of file diff --git a/docs/hugo/content/en/installation/install_operator.md b/docs/hugo/content/en/installation/install_operator.md new file mode 100644 index 000000000..c36f5d2ce --- /dev/null +++ b/docs/hugo/content/en/installation/install_operator.md @@ -0,0 +1,61 @@ +--- +title: "Install CPO" +date: 2023-03-07T14:26:51+01:00 +draft: false +weight: 502 +--- + +## Prerequisites + +For the installation you either need our CPO tutorial repository or you install CPO directly from our registry.
+Exception: Installation via Operatorhub (Openshift only) + +### CPO-Tutorial-Repository + +To get started, you can fork our tutorial repository on Github and then download it. +[CYBERTEC-operator-tutorials](https://github.com/cybertec-postgresql/CYBERTEC-operator-tutorials/fork) + +``` +GITHUB_USER='[YOUR_USERNAME]' +git clone https://github.com/$GITHUB_USER/CYBERTEC-operator-tutorials.git +cd CYBERTEC-operator-tutorials +``` + +### Helm-Registry + +helm repo add cpo https://cybertec-postgresql.github.io/CYBERTEC-operator-tutorials +### Create Namespace + +``` +# kubectl +kubectl create namespace cpo + +# oc +oc create namespace cpo +``` + +## Install CPO + +There are several ways to install CPO: +- [Use Helm](#helm) +- [Use apply](#apply) +- [Use Operatorhub (On Openshift only)](#operatorhub) + +### Helm + +You can check and change the value.yaml of the helm diagram under the path helm/operator/values.yaml +By default, the operator is defined so that it is configured via crd-configuration. If you wish, you can change this to configmap. There are also some other default settings. + +``` +helm install -n cpo cpo helm/operator/. +``` + +The installation uses a standard configuration. On the following page you will find more information on how to [configure cpo](/documentation/how-to-use/configuration/) and thus adapt it to your requirements. + +### Apply + +The installation uses a standard configuration. On the following page you will find more information on how to [configure cpo](/documentation/how-to-use/configuration/) and thus adapt it to your requirements. + +### Operatorhub + +The installation uses a standard configuration. On the following page you will find more information on how to [configure cpo](/documentation/how-to-use/configuration/) and thus adapt it to your requirements. \ No newline at end of file diff --git a/docs/hugo/content/en/monitoring/_index.md b/docs/hugo/content/en/monitoring/_index.md new file mode 100644 index 000000000..48d1366df --- /dev/null +++ b/docs/hugo/content/en/monitoring/_index.md @@ -0,0 +1,143 @@ +--- +title: "Monitoring" +date: 2023-12-28T14:26:51+01:00 +draft: false +weight: 2000 +--- +The CPO-Project has prepared severall Tools which allows to setup a Monitoring-Stack including Alerting and Metric-Viewer. +These Stack is based on: +- Prometheus +- Alertmanager +- Grafana +- exporter-container + +CPO has prepared an own Exporter for the PostgreSQl-Pod which can used as a sidecar. + +#### Setting up the Monitoring Stack +To setup the Monitoring-Stack we suggest that you create an own namespace and use the prepared kustomization file inside the Operator-Tutorials. +``` +$ kubectl create namespace cpo-monitoring +namespace/cpo-monitoring created +$ kubectl get pods -n cpo-monitoring +No resources found in cpo-monitoring namespace. + +git clone https://github.com/cybertec-postgresql/CYBERTEC-operator-tutorial +cd CYBERTEC-operator-tutorial/setup/monitoring + +# Hint: Please check if youn want to use a specific storage-class the file pvcs.yaml and add your storageclass on the commented part. Please ensure that you removed the comment-char. + +$ kubectl apply -n cpo-monitoring -k . +serviceaccount/cpo-monitoring created +serviceaccount/cpo-monitoring-tools created +clusterrole.rbac.authorization.k8s.io/cpo-monitoring unchanged +clusterrolebinding.rbac.authorization.k8s.io/cpo-monitoring unchanged +configmap/alertmanager-config created +configmap/alertmanager-rules-config created +configmap/cpo-prometheus-cm created +configmap/grafana-dashboards created +configmap/grafana-datasources created +secret/grafana-secret created +service/cpo-monitoring-alertmanager created +service/cpo-monitoring-grafana created +service/cpo-monitoring-prometheus created +persistentvolumeclaim/alertmanager-pvc created +persistentvolumeclaim/grafana-pvc created +persistentvolumeclaim/prometheus-pvc created +deployment.apps/cpo-monitoring-alertmanager created +deployment.apps/cpo-monitoring-grafana created +deployment.apps/cpo-monitoring-prometheus created + +Hint: If you're not running Openshift you will get a error like this: +error: resource mapping not found for name: "grafana" namespace: "" from ".": +no matches for kind "Route" in version "route.openshift.io/v1" ensure CRDs are installed first + +You can ignore this, because it depends on an object with the type route which is part of Openshift. +It is not needed replaced by ingress-rules or an loadbalancer-service. +``` + +After installing the Monitoring-Stack we're able to check the created pods inside the namespace +``` +$ kubectl get pods -n cpo-monitoring +---------------------------------------------------------------------------------------- +NAME | READY | STATUS | RESTARTS | AGE +cpo-monitoring-alertmanager-5bb8bc79f7-8pdv4 | 1/1 | Running | 0 | 3m35s +cpo-monitoring-grafana-7c7c4f787b-jbj2f | 1/1 | Running | 0 | 3m35s +cpo-monitoring-prometheus-67969b757f-k26jd | 1/1 | Running | 0 | 3m35s + +``` +The configuration of this monitoring-stack is based on severall configmaps which can be modified. + +#### Prometheus-Configuration + + +#### Alertmanager-Configuration + + +#### Grafana-Configuration + + +#### Configure a PostgreSQL-Cluster to allow Prometheus to gather metrics + +To allow Prometheus to gather metrics from your cluster you need to do some small modfications on the Cluster-Manifest. +We need to create the monitor-object for this: +``` +kubectl edit postgresqls.cpo.opensource.cybertec.at cluster-1 + +... +spec: + ... + monitor: + image: docker.io/cybertecpostgresql/cybertec-pg-container:exporter-16.2-1 +``` + +The Operator will add automatically the monitoring sidecar to your pods, create a new postgres-user and add some structure inside the postgres-database to enable everthing needed for the Monitoring. Also every Ressource of your Cluster will get a new label: cpo_monitoring_stack=true. This is needed for Prometheus to identify all clusters which should be added to the monitoring. +Removing this label will stop Prometheus to gather data from this cluster. + +After changing your Cluster-Manifest the Pods needs to be recreated which is done by a rolling update. +After this you can see that the pod has now more than just one container. + +``` +kubectl get pods +----------------------------------------------------------------------------- +NAME | READY | STATUS | RESTARTS | AGE +cluster-1-0 | 2/2 | Running | 0 | 54s +cluster-1-1 | 2/2 | Running | 0 | 31s + +``` +You can check the logs to see that the exporter is working and with curl you can see the output of the exporter. + +``` +kubectl logs cluster-1-0 -c postgres-exporter +kubectl exec --stdin --tty cluster-1-0 -c postgres-exporter -- /bin/bash +[exporter@cluster-1-0 /]# curl http://127.0.0.1:9187/metrics + +``` +You can now setup a LoadBalancer-Service or create an Ingress-Rule to allow access von outside to the grafana. Alternativ you can use a port-forward. + +##### LoadBalancer or Nodeport + +##### Ingress-Rule + +##### Port-Forwarding +``` +$ kubectl get pods -n cpo-monitoring +---------------------------------------------------------------------------------------- +NAME | READY | STATUS | RESTARTS | AGE +cpo-monitoring-alertmanager-5bb8bc79f7-8pdv4 | 1/1 | Running | 0 | 6m42s +cpo-monitoring-grafana-7c7c4f787b-jbj2f | 1/1 | Running | 0 | 6m42s +cpo-monitoring-prometheus-67969b757f-k26jd | 1/1 | Running | 0 | 6m42s + +$ kubectl port-forward cpo-monitoring-grafana-7c7c4f787b-jbj2f -n cpo-monitoring 9000:9000 +Forwarding from 127.0.0.1:9000 -> 9000 +Forwarding from [::1]:9000 -> 9000 + +``` +Call http://localhost:9000 in the [Browser](http://localhost:9000) + +##### Use a Route (Openshift only) + +``` +kubectl get route -n cpo-monitoring + +``` +Use the Route-Adress to access Grafana \ No newline at end of file diff --git a/docs/hugo/content/en/multisite/_index.md b/docs/hugo/content/en/multisite/_index.md new file mode 100644 index 000000000..6fc188b96 --- /dev/null +++ b/docs/hugo/content/en/multisite/_index.md @@ -0,0 +1,613 @@ +--- +title: "Multisite" +date: 2023-12-28T14:26:51+01:00 +draft: false +weight: 2200 +--- +Multisite is a function specially developed for Patroni that makes it possible to combine two separate Patroni clusters into a common cluster unit. ‘Separate’ in this context means that the clusters run independently of each other and can even be located on different Kubernetes clusters. +With Multisite, both clusters benefit from the well-known Patroni features such as automatic failover and demotion of members, resulting in a significant extension compared to a conventional standby cluster. +This feature significantly improves high availability and redundancy by managing multiple geographically or infrastructurally separated clusters as one logical unit. This allows one cluster to seamlessly transition to another in the event of a failure without having to rely on manual switchovers or third-party replication solutions. + +### Prerequisites + +In order to set up the multisite PostgreSQL operator you will need the following: + +- Two or more Kubernetes or OpenShift clusters (also possible with bare metal or VMs) + - Kubernetes version 1.25+, OpenShift version 4.12+. + - Support for defining LoadBalancer services with external IP addresses that are accessible from the other cluster(s). + - Persistent volumes with must be available (only ReadWriteOnce capability is needed). +- A separate VM or Kubernetes/OpenShift cluster to provide quorum (if using less then three Kubernetes or OpenShift clusters). + - For high availability there should not be a shared point of failure between the quorum and the two Kubernetes clusters. + - VM or a LoadBalancer IP must be accessible on ports 2379/2380 to the two other clusters. + - 2 vCPU and 2 GB of memory and 20GB of persistent storage is needed for the quorum site. +- Set up etcd cluster with 3 sites accessible from each of the sites. etcd needs to support API version 3. +- For backups an object storage system with S3 compatible API is needed. Minio, Ceph and major cloud provider object storages are known to work. + +{{< hint type=important >}} An additional etcd is set up for Multisite, which spans the Kubernetes or Openshift clusters and must contain the quorum. {{< /hint >}} + + +### Architecture +Helm based deployment of the multisite operator contains two helm charts, postgres-operator and postgres-cluster. The first is used to deploy the operator and associated objects to a single Kubernetes cluster. The operator is responsible for managing PostgreSQL clusters based on Custom Resource Definitions (CRDs) of type postgresqls/pg. + +![Kubernetes entities](/CYBERTEC-pg-operator/images/k8s-entities.png) + +The diagram contains in green the Helm charts that are used to deploy operator and clusters, in blue the objects +deployed by the operator helm chart and in gold the objects deployed by the cluster chart. + +Operator helm chart deployed objects have the following purposes: + +* `deployments/postgres-operator` - Deployment for the operator itself. +* `opconfig/postgres-operator` - Operator configuration parameters that are read on operator startup. These apply to + all clusters managed by this operator. +* `crd/operatorconfigurations.cpo.opensource.cybertec.at` - Schema for the operator configuration. +* `clusterrole/postgres-operator` - Defines the Kubernetes API resource access used by the operator. Assigned to + postgres-operator service account. +* `clusterrole/postgres-pod` - The Kubernetes API access needed by database pods. Access is needed to access leader + status, config and other things. This is assigned to postgres-pod service account used by database pods. +* `crd/postgresqls.cpo.opensource.cybertec.at` - Schema for PostgreSQL cluster definitions. +* `clusterrole/postgres-operator:users:{admin,edit,view}` - If `rbac.createAggregateClusterRoles` is set then user + facing roles are added for accessing the postgresqls CRDs. + +The cluster chart creates an instance of postgresqls CRD, which will be called cluster manifest from here on. When this +cluster manifest is created operator will create the needed resources for the cluster. These include: + +* `statefulset/$clustername` - StatefulSet is responsible for creating and managing database pods and their associated + PersistentVolumeClaims for storing the databases. Each database pod will run internally an instance of Patroni + process, which will coordinate over the Kubernetes API initialization of the database, startup, leader election + and other control plane actions. +* `service/$clustername`,`endpoints/$clustername` - The main access point for users accessing the database. When load + balancer is enabled in the CRD or multisite mode is enabled, this service will be set to be a LoadBalancer service and + accessible from outside the Kubernetes cluster. The service is created without a selector. Instead, for leader + elections database pods will update the IP address of this endpoint to point to the current leader. + + The endpoint also holds annotations that determine the duration of the leader lease. + + In multicluster operation mode the standby site leader will be in read-only mode. +* `service/$clustername-repl` - Service that points to non-leader (read-only) instances of the database cluster. +* `service/$clustername-config` - A headless service with an endpoint that holds Patroni configuration in annotations. +* `poddisruptionbudget/postgres-$clustername-pdb` - A pod disruption budget that does not allow Kubernetes to shut + down pods in leader role. On some Kubernetes clusters `kubernetes.enable_pod_disruption_budgets` may need to be + turned off to allow nodes to be drained for upgrades. + +### Multisite mode + +In multisite operation mode there are multiple independent Kubernetes clusters with operators capable of independent +operation. To coordinate which site has the current leader process the database pods use a shared etcd cluster to +store a leader lease. + +![Multisite interactions](/CYBERTEC-pg-operator/images/multisite-interaction.png) + + +During bootstrap the first site to acquire the leader lease gets to initialize the database contents. Secondary +sites are configured to replicate from primary site using Patroni's standby_cluster mechanism. + +To be able to communicate between Kubernetes clusters a LoadBalancer service is needed. For this the operator +automatically turns the primary service of the cluster to be of kind LoadBalancer. Operator will wait for an +external IP address to be assigned to this service and passes this information to the database pod. The leader of +each site, whether primary or standby site, will periodically advertise the externally visible IP address for their +site in etcd. Based on this the standby site can configure the standby cluster mechanism to replicate from primary +site. + +## Deployment + +In multisite mode postgres-operator can manage a replicated PostgreSQL cluster that is deployed across multiple +Kubernetes clusters. Multisite operation can be turned on on a cluster by cluster basis, or can be configured to +default to on for all cluster managed by a single operator. + +Setting up a GR deployment consists of the following steps: + +1. Creating a shared etcd cluster. +2. Configuring multisite operation parameters for the postgres-operator. +3. Creating a multisite enabled cluster. + +## Etcd deployment + +Multisite operation mode requires an etcd cluster to achieve consensus on which site gets to accept write +transactions. This functionality is critical to avoid situations where multiple site accept incompatible writes that +cannot be reconciliated, also known as a split brain scenario. + +A highly available etcd cluster consists of an odd number of nodes, at least 3. It is very important that a quorum +of etcd instances (for 3 node clusters, any two instances) do not share a single point of failure. Otherwise the +write availability of database clusters is limited to this single point of failure. Effectively this means that to +protect 3 node etcd clusters from whole site failure, any site can only contain 1 etcd node and there needs to be +at least 3 sites. + +Postgres-operator is agnostic to the exact method of etcd setup, but for ease of use there is a +[Helm chart packaged](https://github.com/cybertec-postgresql/ansible-hpe/tree/main/etcd-helm) that demonstrates the +setup. + +### Example etcd setup + +This example uses one etcd instance deployed outside Kubernetes cluster as quorum. This etcd needs to be started +with the following configuration. Note that IP address that is advertised must be routed to the host that runs this +etcd. + +``` +ETCD_NAME=quorum +ETCD_INITIAL_CLUSTER=quorum=http://10.100.1.100:2380 +ETCD_INITIAL_ADVERTISE_PEER_URLS=http://10.100.1.100:2380 +ETCD_INITIAL_CLUSTER_TOKEN=hpe_etcd +ETCD_ADVERTISE_CLIENT_URLS=http://10.100.1.100:2379 +ETCD_LISTEN_CLIENT_URLS=http://0.0.0.0:2379 +ETCD_LISTEN_PEER_URLS=http://0.0.0.0:2380 +``` + +Kubernetes clusters can then be joined to this node. This needs to be a two step process as typically the externally +visible IP address or port is not known before creating the LoadBalancer service. For this first create a free standing +loadbalancer service that will be overwritten by the Helm chart. + +``` +helm template global-etcd ./etcd-helm/ -f etcd-helm/site_a.yaml \ +| awk '/service.yaml/{flag=1;next}/---/{flag=0}flag' \ +| kubectl apply -f - +``` + +Then check what external IP address the load balancer service got assigned to it. + +``` +$ kubectl get svc -l app.kubernetes.io/instance=global-etcd +NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE +global-etcd-etcd-helm LoadBalancer 10.109.171.146 10.200.1.101 2379:32488/TCP,2380:30336/TCP 17h +``` + +And set in the values for the helm chart: + +1. Unique name of the site. +2. Externally visible IP address of this service +3. IP address of existing etcd service. +4. Peer list that includes both existing and to be added etcd instance. + +Example: + +``` +site: + name: site_a + host: 10.100.2.101 + +etcd: + existing_etcd_cluster_hostname: 10.100.1.100 + token: hpe_etcd + state: existing + peers: + #Peers should only include working peers and the current one + - quorum=http://10.100.1.100:2380 + - site_a_etcd0=http://10.100.2.101:2380 + client_port: 2379 + peer_port: 2380 +``` + +Then install the helm chart: + +``` +helm install global-etcd ./etcd-helm/ -f etcd-helm/site_a.yaml +``` + +This then needs to be repeated for the other site. + +## Configuring operator for multisite operations + +Multisite operation needs at a minimum the configuration options `multisite.etcd_host`, `multisite.site` +and `multisite.enabled`. All of them can be configured either in operator configuration or per cluster. + +`multisite.etcd_host` needs to point at the global etcd. The port is currently assumed to be 2379. Normally +all clusters under one operator would be using the same etcd clusters, so it makes sense to configure it +in the operator configuration. At runtime database pods will discover the whole etcd cluster member list +and will also take notice of any membership changes. It is enough to use local etcd instance service name +here. + +`multisite.site` is a unique identifier for this site. It will be prefixed to globally advertised database pod names +to distinguish them from pods in other sites. This also makes sense in the operator configuration. + +`multisite.enabled` turns of the multisite behavior. Typically it would make sense to control this at the +cluster level, but the default could be turned on globally. + +These parameters are exposed in Helm chart values file as `configMultisite.*`. + +Example config: + +``` +$ kubectl get opconfig/postgres-operator -o yaml | grep multisite -B1 -A3 + min_instances: -1 + multisite: + etcd_host: global-etcd-etcd-helm.default.svc.cluster.local + site: s1 + postgres_pod_resources: +``` + +This needs to be repeated with a different site name in the second Kubernetes cluster. + +## Creating a multisite enabled postgres cluster + +If the operator is configured for multisite operation then creating a multisite cluster only needs +enabling of the multisite mode. + +Here is an example values file to use for creating multisite enabled clusters: + +``` +apiVersion: cpo.opensource.cybertec.at/v1 +kind: postgresql +metadata: + name: multisite-cluster + namespace: cpo + labels: + app.kubernetes.io/name: postgres-cluster + app.kubernetes.io/instance: multisite-cluster +spec: + dockerImage: docker.io/cybertecpostgresql/cybertec-pg-container:postgres-multisite-17.4-1 + numberOfInstances: 1 + postgresql: + version: '17' + resources: + limits: + cpu: 500m + memory: 500Mi + requests: + cpu: 500m + memory: 500Mi + teamId: acid + volume: + size: 5Gi + patroni: + ttl: 30 + loop_wait: 10 + retry_timeout: 10 + multisite: + enable: true +``` + +There is no coordination needed between creating the two or more sites and they can use identical +configuration. The clusters need to be in the same namespace and have the same name to be considered +the same cluster. The first cluster to boot up will acquire multisite leader status and will bootstrap +the database. The other clusters will automatically fetch a copy from the leader cluster and start +replicating. + +Multisite operation needs that the database cluster are capable of communicating with each other. +To do this a load balancer service is created in each cluster for the cluster leader. The operator +then waits for an external IP to be assigned and injects it into the database pods to be used for +advertising their identity. + +## Observing operations + +If database pods have not been created, the first place to check for information is operator logs. Operator logs can +be checked with the following command (add --follow if you want to observe in real-time): + +```shell +kubectl logs $(kubectl get po -l 'app.kubernetes.io/name=postgres-operator' -o name) +``` + +The logs for a successful cluster creation look like this + +``` +time="2023-02-22T15:24:12Z" level=info msg="ADD event has been queued" cluster-name=cpo/multisite-cluster pkg=controller worker=1 +time="2023-02-22T15:24:12Z" level=info msg="creating a new Postgres cluster" cluster-name=cpo/multisite-cluster pkg=controller worker=1 +time="2023-02-22T15:24:12Z" level=warning msg="master is not running, generated master endpoint does not contain any addresses" cluster-name=cpo/multisite-cluster pkg=cluster worker=1 +time="2023-02-22T15:24:12Z" level=info msg="endpoint \"cpo/multisite-cluster\" has been successfully created" cluster-name=cpo/multisite-cluster pkg=cluster worker=1 +time="2023-02-22T15:24:12Z" level=debug msg="final load balancer source ranges as seen in a service spec (not necessarily applied): [\"0.0.0.0/0\"]" cluster-name=cpo/multisite-cluster pkg=cluster worker=1 +time="2023-02-22T15:24:12Z" level=info msg="master service \"cpo/multisite-cluster\" has been successfully created" cluster-name=cpo/multisite-cluster pkg=cluster worker=1 +time="2023-02-22T15:24:12Z" level=info msg="replica service \"cpo/multisite-cluster-repl\" has been successfully created" cluster-name=cpo/multisite-cluster pkg=cluster worker=1 +time="2023-02-22T15:24:12Z" level=debug msg="team API is disabled" cluster-name=cpo/multisite-cluster pkg=cluster worker=1 +time="2023-02-22T15:24:12Z" level=debug msg="team API is disabled" cluster-name=cpo/multisite-cluster pkg=cluster worker=1 +time="2023-02-22T15:24:12Z" level=info msg="users have been initialized" cluster-name=cpo/multisite-cluster pkg=cluster worker=1 +time="2023-02-22T15:24:12Z" level=info msg="syncing secrets" cluster-name=cpo/multisite-cluster pkg=cluster worker=1 +time="2023-02-22T15:24:12Z" level=debug msg="created new secret cpo/postgres.multisite-cluster.credentials.postgresql.cpo.opensource.cybertec.at, namespace: default, uid: 75ded2eb-a2c9-4968-a1d7-50d2996baeb3" cluster-name=cpo/multisite-cluster pkg=cluster worker=1 +time="2023-02-22T15:24:13Z" level=debug msg="created new secret cpo/standby.multisite-cluster.credentials.postgresql.cpo.opensource.cybertec.at, namespace: default, uid: 45a2560a-65a8-4bd5-954f-34d80d8a1894" cluster-name=cpo/multisite-cluster pkg=cluster worker=1 +time="2023-02-22T15:24:13Z" level=info msg="secrets have been successfully created" cluster-name=cpo/multisite-cluster pkg=cluster worker=1 +time="2023-02-22T15:24:13Z" level=info msg="pod disruption budget \"cpo/postgres-multisite-cluster-pdb\" has been successfully created" cluster-name=cpo/multisite-cluster pkg=cluster worker=1 +time="2023-02-22T15:24:13Z" level=info msg="waiting for load balancer IP to be assigned" cluster-name=cpo/multisite-cluster pkg=cluster worker=1 +time="2023-02-22T15:24:13Z" level=debug msg="created new statefulset \"cpo/multisite-cluster\", uid: \"b83647ea-17f6-40aa-aa0c-b1111e76cdc0\"" cluster-name=cpo/multisite-cluster pkg=cluster worker=1 +time="2023-02-22T15:24:13Z" level=info msg="statefulset \"cpo/multisite-cluster\" has been successfully created" cluster-name=cpo/multisite-cluster pkg=cluster worker=1 +time="2023-02-22T15:24:13Z" level=info msg="waiting for the cluster being ready" cluster-name=cpo/multisite-cluster pkg=cluster worker=1 +time="2023-02-22T15:24:16Z" level=debug msg="Waiting for 1 pods to become ready" cluster-name=cpo/multisite-cluster pkg=cluster worker=1 +time="2023-02-22T15:24:28Z" level=info msg="pods are ready" cluster-name=cpo/multisite-cluster pkg=cluster worker=1 +time="2023-02-22T15:24:28Z" level=info msg="Create roles" cluster-name=cpo/multisite-cluster pkg=cluster worker=1 +time="2023-02-22T15:24:28Z" level=debug msg="closing database connection" cluster-name=cpo/multisite-cluster pkg=cluster worker=1 +time="2023-02-22T15:24:28Z" level=info msg="users have been successfully created" cluster-name=cpo/multisite-cluster pkg=cluster worker=1 +time="2023-02-22T15:24:28Z" level=debug msg="closing database connection" cluster-name=cpo/multisite-cluster pkg=cluster worker=1 +time="2023-02-22T15:24:28Z" level=info msg="databases have been successfully created" cluster-name=cpo/multisite-cluster pkg=cluster worker=1 +time="2023-02-22T15:24:28Z" level=info msg="found pod disruption budget: \"cpo/postgres-multisite-cluster-pdb\" (uid: \"986a0118-83e7-4736-9843-ec80c0ea9270\")" cluster-name=cpo/multisite-cluster pkg=cluster worker=1 +time="2023-02-22T15:24:28Z" level=info msg="found statefulset: \"cpo/multisite-cluster\" (uid: \"b83647ea-17f6-40aa-aa0c-b1111e76cdc0\")" cluster-name=cpo/multisite-cluster pkg=cluster worker=1 +time="2023-02-22T15:24:28Z" level=info msg="found secret: \"cpo/postgres.multisite-cluster.credentials.postgresql.cpo.opensource.cybertec.at\" (uid: \"75ded2eb-a2c9-4968-a1d7-50d2996baeb3\") namesapce: default" cluster-name=cpo/multisite-cluster pkg=cluster worker=1 +time="2023-02-22T15:24:28Z" level=info msg="found secret: \"cpo/standby.multisite-cluster.credentials.postgresql.cpo.opensource.cybertec.at\" (uid: \"45a2560a-65a8-4bd5-954f-34d80d8a1894\") namesapce: default" cluster-name=cpo/multisite-cluster pkg=cluster worker=1 +time="2023-02-22T15:24:28Z" level=info msg="found master endpoint: \"cpo/multisite-cluster\" (uid: \"d9f7870e-dd51-4a88-a36a-1c2eb258a31c\")" cluster-name=cpo/multisite-cluster pkg=cluster worker=1 +time="2023-02-22T15:24:28Z" level=info msg="found master service: \"cpo/multisite-cluster\" (uid: \"4b30df50-ca53-4def-8171-b792c4eefc17\")" cluster-name=cpo/multisite-cluster pkg=cluster worker=1 +time="2023-02-22T15:24:28Z" level=info msg="found replica service: \"cpo/multisite-cluster-repl\" (uid: \"a77c3a49-3eea-4b6b-92b1-032e13d78f02\")" cluster-name=cpo/multisite-cluster pkg=cluster worker=1 +time="2023-02-22T15:24:28Z" level=info msg="found pod: \"cpo/multisite-cluster-0\" (uid: \"9b31d378-c9eb-4c1a-8637-e78933187ed7\")" cluster-name=cpo/multisite-cluster pkg=cluster worker=1 +time="2023-02-22T15:24:28Z" level=info msg="found PVC: \"cpo/pgdata-multisite-cluster-0\" (uid: \"03e66572-27ed-42b4-87bd-825d32131d36\")" cluster-name=cpo/multisite-cluster pkg=cluster worker=1 +time="2023-02-22T15:24:28Z" level=debug msg="syncing connection pooler (master, replica) from (false, nil) to (false, false)" cluster-name=cpo/multisite-cluster pkg=cluster worker=1 +time="2023-02-22T15:24:28Z" level=info msg="cluster has been created" cluster-name=cpo/multisite-cluster pkg=controller worker=1 +``` + +When database pods have been created, then Patroni logs can be checked from the pod logs: + +``` +kubectl logs multisite-cluster-0 +``` + +Successful start of first database pod will have amongst other output the following lines: + +``` +. . . +# Kubernetes API access +2023-02-22 15:24:21,061 INFO: Selected new K8s API server endpoint https://192.168.49.2:8443 +. . . +# Set ourselves as multisite leader +2023-02-22 15:24:21,218 INFO: Selected new etcd server http://192.168.50.101:2379 +2023-02-22 15:24:21,348 INFO: Running multisite consensus. +2023-02-22 15:24:21,349 INFO: Touching member s1-multisite-cluster with {'host': '192.168.49.103', 'port': 5432} +2023-02-22 15:24:21,447 INFO: Became multisite leader +. . . +# Initializing a new empty database +2023-02-22 15:24:21,563 INFO: trying to bootstrap a new cluster +. . . +Success. You can now start the database server using: +. . . +# Database started +2023-02-22 15:24:23,934 INFO: postmaster pid=73 +. . . +# Running global database intitialization script +2023-02-22 15:24:25,061 INFO: running post_bootstrap +. . . +# Bootstrap done +2023-02-22 15:24:26,310 INFO: initialized a new cluster +. . . +# Repeated information about health every 10s +2023-02-22 15:24:26,313 INFO: Lock owner: multisite-cluster-0; I am multisite-cluster-0 +2023-02-22 15:24:26,361 INFO: Triggering multisite hearbeat +2023-02-22 15:24:26,364 INFO: Running multisite consensus. +2023-02-22 15:24:26,364 INFO: Multisite has leader and it is us +2023-02-22 15:24:26,409 INFO: Updated multisite leader lease +2023-02-22 15:24:26,409 INFO: Touching member s1-multisite-cluster with {'host': '192.168.49.103', 'port': 5432} +2023-02-22 15:24:26,422 INFO: no action. I am (multisite-cluster-0), the leader with the lock +. . . +``` + +Bootstrap of standby on primary site will have these lines: + +``` +. . . +# Determine leader +2023-02-22 15:47:04,552 INFO: Lock owner: multisite-cluster-0; I am multisite-cluster-1 +2023-02-22 15:47:04,677 INFO: trying to bootstrap from leader 'multisite-cluster-0' +. . . +# Data copied to replica successfully +2023-02-22 15:47:06,805 INFO: replica has been created using basebackup_fast_xlog +2023-02-22 15:47:06,807 INFO: bootstrapped from leader 'multisite-cluster-0' +# Postgres up +2023-02-22 15:47:07,205 INFO: postmaster pid=73 +. . . +# Normal operation +2023-02-22 15:47:08,380 INFO: no action. I am (multisite-cluster-1), a secondary, and following a leader (multisite-cluster-0) +``` + +Standby cluster will have the following information: + +``` +. . . +# Discovering multisite status +2023-02-22 15:49:58,406 INFO: Running multisite consensus. +2023-02-22 15:49:58,407 INFO: Touching member s2-multisite-cluster with {'host': '192.168.50.103', 'port': 5432} +2023-02-22 15:49:58,454 INFO: Multisite has leader and it is s1-multisite-cluster +2023-02-22 15:49:58,454 INFO: Multisite replicate from Member(index='118', name='s1-multisite-cluster', session='4113060022582527194', data={'host': '192.168.49.103', 'port': 5432}) +2023-02-22 15:49:58,454 INFO: Setting standby configuration to: {'host': '192.168.49.103', 'port': 5432} +2023-02-22 15:49:58,455 INFO: Touching member s2-multisite-cluster with {'host': '192.168.50.103', 'port': 5432} +. . . +# Acquiring standby site leader status and starting copy from primary site +2023-02-22 15:49:58,290 INFO: Lock owner: None; I am multisite-cluster-0 +2023-02-22 15:49:58,566 INFO: trying to bootstrap a new standby leader +. . . +# Replica creation successful +2023-02-22 15:50:00,326 INFO: replica has been created using basebackup +2023-02-22 15:50:00,327 INFO: bootstrapped clone from remote master postgresql://192.168.49.103:5432 +# Postgres started +2023-02-22 15:50:00,577 INFO: postmaster pid=58 +. . . +# Normal operation output of standby leader +2023-02-22 15:50:01,835 INFO: Lock owner: multisite-cluster-0; I am multisite-cluster-0 +2023-02-22 15:50:01,886 INFO: Triggering multisite hearbeat +2023-02-22 15:50:01,888 INFO: Running multisite consensus. +2023-02-22 15:50:01,888 INFO: Multisite has leader and it is s1-multisite-cluster +2023-02-22 15:50:01,888 INFO: Multisite replicate from Member(index='118', name='s1-multisite-cluster', session='4113060022582527194', data={'host': '192.168.49.103', 'port': 5432}) +2023-02-22 15:50:01,888 INFO: Touching member s2-multisite-cluster with {'host': '192.168.50.103', 'port': 5432} +2023-02-22 15:50:01,899 INFO: no action. I am (multisite-cluster-0), the standby leader with the lock +``` + +In case access to PostgreSQL logs is needed, the easiest way is to exec into a running database pod +with `kubectl exec -it multisite-cluster-0 -- bash` and view the files there. Logs are stored +as `/home/postgres/pgdata/pgroot/pg_log/postgresql-*.csv`, with one file per weekday. + +Replication state can be queried from PostgreSQL: + +``` +kubectl exec -it $(kubectl get -o name po -l 'spilo-role=master,cluster-name=multisite-cluster') -- su postgres -c \ + 'psql -xc "SELECT application_name, client_addr, backend_start, write_lag FROM pg_stat_replication"' +``` + +To check how multisite mode is doing one option is to check the etcd state. For example by executing +in any one of your database pods: + +``` +kubectl exec multisite-cluster-0 -- bash -c \ +'ETCDCTL_API=3 etcdctl --endpoints=http://${MULTISITE_ETCD_HOST}:2379 \ + get /multisite/${POD_NAMESPACE}/${SCOPE}/{leader,members0}' +``` + +This will output state stored in etcd. Example: + +``` +/multisite/cpo/multisite-cluster/leader +s1-multisite-cluster +/multisite/cpo/multisite-cluster/members/s1-multisite-cluster +{"host":"192.168.49.102","port":5432} +/multisite/cpo/multisite-cluster/members/s2-multisite-cluster +{"host":"192.168.50.102","port":5432} +``` + +Each cluster state is stored with the prefix `/multisite/$NAMESPACE/$CLUSTER_NAME`. In this state +there is `/leader` key storing current leader of the cluster and `/members/$SITE_$CLUSTER_NAME` for +each sites externally visible service. + +### Triggering switchover manually + +Sometimes it is necessary to move leader role from one site to another. For this the operator REST API has an endpoint +named `/clusters/$namespace/$cluster/multisite/`. This accepts a POST request with a request JSON. The document has the +following attributes: + +* **switchover_to**: name of the site that should become the new multisite leader. + +Example: + +```shell +curl --data-raw '{"switchover_to": "s1"}' -H "Content-type: application/json" \ + http://postgres-operator.default.svc.cluster.local:8080/clusters/cpo/multisite-cluster/multisite/ +``` + +The POST request to this endpoint will return immediately when the switchover request has been registered. The +actual switchover process will take some time to coordinate. + +### Observing multisite status + +Current multisite status is published to cluster CRD status subresource in `Multisite` field. The possible values +are `Leader` and `Standby`. When the role changes there will also be an event published. + +Example output from a kubectl describe on the cluster CRD resource: + +``` +Status: + Multisite: Leader + Postgres Cluster Status: Running +Events: + Type Reason Age From Message + ---- ------ ---- ---- ------- + Normal Promote 13s patroni Acquired multisite leader status +``` + +Ouptut from the standby side: + +``` +Status: +Multisite: Standby +Postgres Cluster Status: Running +Events: +Type Reason Age From Message + ---- ------ ---- ---- ------- +Normal Demote 62s patroni Lost leader lock to s1-multisite-cluster +Normal Multisite 97s postgres-operator Multisite switching over to "multisite-cluster" at site "s1" +Normal Multisite 97s postgres-operator Successfully started switchover to "multisite-cluster" at "s1" +``` + + +## Development environment tips + +### MetalLB based cross cluster communication with minikube + +Minikube is a useful distribution for deploying development Kubernetes clusters. With a bit of configuration it is +possible to set up 2 Minikube clusters with MetalLB deployed so that MetalLB assigned IP addresses are accessible +from the other cluster. + +Pre-requisite is to have 2 virtual machines that either are in the same L2 network, or that have a subnet routed to +them. + +This example is based on docker based deployment, same approach might work with other deployment options (e.g. +Virtualbox), but may require some extra configuration tuning. + +Start minikube's on the two hosts using different internal subnets, and configure and enable the metallb addon to +assign IP addresses from this subnet. The subnets chosen should not be in use for services needed by these two VMs, +but other hosts are not affected by the choice of the subnets. + +``` +# Host A +minikube start --subnet=192.168.49.2 +minikube addons configure metallb +-- Enter Load Balancer Start IP: 192.168.49.100 +-- Enter Load Balancer End IP: 192.168.49.200 + ▪ Using image docker.io/metallb/speaker:v0.9.6 + ▪ Using image docker.io/metallb/controller:v0.9.6 +✅ metallb was successfully configured +minikube addons enable metallb + +# Host B +minikube start --subnet=192.168.50.2 +minikube addons configure metallb +-- Enter Load Balancer Start IP: 192.168.50.100 +-- Enter Load Balancer End IP: 192.168.50.200 + ▪ Using image docker.io/metallb/speaker:v0.9.6 + ▪ Using image docker.io/metallb/controller:v0.9.6 +✅ metallb was successfully configured +minikube addons enable metallb +``` + +On both hosts turn on ip forwarding in sysctl.conf and reload it with `sysctl -p` + +``` +net.ipv4.ip_forward=1 +``` + +In IP tables allow forwarding: + +``` +sudo iptables -A FORWARD -j ACCEPT +``` + +Configure on each host routing to access the other clusters metallb IP range via the other VMs IP address (need to +replace IP addresses and network interfaces with actual ones from the VMs): + +``` +# Host A +sudo ip route add 192.168.50.0/24 via 192.168.2.12 dev eth1 +# Host B +sudo ip route add 192.168.49.0/24 via 192.168.2.11 dev eth1 +``` + +To check if load balancer works, here's an example HTTP service: + +```yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: hello-blue-whale +spec: + replicas: 1 + selector: + matchLabels: + app: hello-blue-whale-app + template: + metadata: + name: hello-blue-whale-pod + labels: + app: hello-blue-whale-app + spec: + containers: + - name: hello-blue-whale-container + image: vamsijakkula/hello-blue-whale:v1 + ports: + - containerPort: 80 +--- +apiVersion: v1 +kind: Service +metadata: + name: hello-blue-whale-svc + labels: + app: hello-blue-whale-app +spec: + selector: + app: hello-blue-whale-app + type: LoadBalancer + ports: + - port: 80 + targetPort: 80 +``` + +Then check what external ip got assigned to the service (should be the first IP from the range given above). + +``` +kubectl get svc/hello-blue-whale-svc +``` + +And then from the other host use curl to see if the service can be accessed. + +``` +curl -v http://192.168.49.100/ +``` + +Other hosts on the same network can have the same routes added to access services in the clusters. If access from +other networks is needed, then the chosen subnets need to be routed to these VMs across your network. diff --git a/docs/hugo/content/en/pg_versioning/_index.md b/docs/hugo/content/en/pg_versioning/_index.md new file mode 100644 index 000000000..5abc8a950 --- /dev/null +++ b/docs/hugo/content/en/pg_versioning/_index.md @@ -0,0 +1,6 @@ +--- +title: "PG versioning" +date: 2023-12-28T14:26:51+01:00 +draft: false +weight: 2100 +--- diff --git a/docs/hugo/content/en/pg_versioning/major_upgrades.md b/docs/hugo/content/en/pg_versioning/major_upgrades.md new file mode 100644 index 000000000..8d77b3712 --- /dev/null +++ b/docs/hugo/content/en/pg_versioning/major_upgrades.md @@ -0,0 +1,87 @@ +--- +title: "Major version upgrade" +date: 2023-12-28T14:26:51+01:00 +draft: false +weight: 2120 +--- + +CPO enables the use of the in-place upgrade, which makes it possible to upgrade a cluster to a new PG major. For this purpose, pg_upgrade is used in the background. + +{{< hint type=info >}}Note that an in-place upgrade generates both a pod restore in the form of a rolling update and an operational interruption of the cluster during the actual execution of the restore.{{< /hint >}} + + +## How does the upgrade work? + +### Preconditions: +1. Pod restart - Use the rolling update strategy to replace all pods based on the new ENV `PGVERSION` with the version you want to update to. +2. Check - Check that the new `PGVERSION` is larger than the previously used one. +3. Check whether the new `PGVERSION` is larger than the previously used one and the maintenance mode of the cluster must be deactivated. In addition, the replicas should not have a high lag. + +### Preliminary checks + +1. use initdb to prepare a new data_dir (`data_new`) based on the new `PGVERSION`. +2. check the upgrade possibility with `pg_upgrade --check` + +{{< hint type=info >}}If one of the steps is aborted, a cleanup is performed{{< /hint >}} + +### Prepare the Upgrade +1. remove dependencies that can cause problems. For example, the extensions `pg_stat_statements` and `pgaudit`. +2. activate the maintenance mode of the cluster +3. terminate PostgreSQL in an orderly manner +4. check pg_controldata for the checkpoint position and wait until all replicas apply the latest checkpoint location +5. use port `5432` for rsyncd and start it + +### Start the Upgrade + +1. Call pg_upgrade -k to start the Upgrade +{{< hint type=Info >}}if the process failed, we need to rollback, if it was sucessful we're reaching the point of no return{{< /hint >}} +2. Rename the directories. `data -> data_old` and `data_new -> data` +3. Update the Patroni.config (`postgres.yml`) +4. Call Checkpoint on every replica and trigger rsync on the Replicas +5. Wait for Replicas to complete rsxnc. `Timeout: 300` +6. Stop rsyncd on Primary and remove ininitialize key from DCS, because its based on the old sysid +7. Start Patroni on the Primary and start the postgres locally +8. Reset custom staticstics, warmup the Memory and start Analyze in stages in separate threads +9. Wait for every Replica to become ready +10. Disable the maintenance mode for the Cluster +11. Restore custom statistics, analyze these tables and restore dropped objetcs from `Prepare the upgrade` + +### Completion of the upgrade +1. Drop directory `data_old` +2. Trigger new Backup + +### How a rollback is working? +1. Stop rsynd if its running +2. Disable the maintenance mode for the Cluster +3. Drop directory `data_new` + + +## How to trigger a In-Place-Upgrade with cpo? + +``` +spec: + postgresql: + version: "17" +``` +To trigger an In-Place-Upgrade you have just to increase the parameter `spec.postgresql.version`. If you choose a valid number the Operator will start with the prozedure, described above. + +```sh +kubectl patch postgresqls.cpo.opensource.cybertec.at cluster-1 --type='merge' -p \ +'{"spec":{"postgresql":{"version":"17"}}}' +``` + +## Upgrade on cloning + +When cloning, the new cluster manifest must have a higher version number than the source cluster and is created from a base backup. Depending on the cluster size, the downtime can be considerable in this case, as write operations in the database should be stopped and all WAL files should be archived first before cloning is started. Therefore, only use cloning to test major version upgrades and to check the compatibility of your app with the Postgres server of a higher version. + +## manual upgrade via the PostgreSQL container + +In this scenario the major version could then be run by a user from within the primary pod. Exec into the container and run: + +``` +python3 /scripts/inplace_upgrade.py N +``` + +where `N` is the number of members of your cluster (see `numberOfInstances`). The upgrade is usually fast, well under one minute for most DBs. + +{{< hint type=Info >}}Note, that changes become irrevertible once pg_upgrade is called.{{< /hint >}} diff --git a/docs/hugo/content/en/pg_versioning/minor_updates.md b/docs/hugo/content/en/pg_versioning/minor_updates.md new file mode 100644 index 000000000..b584be323 --- /dev/null +++ b/docs/hugo/content/en/pg_versioning/minor_updates.md @@ -0,0 +1,81 @@ +--- +title: "Minor version update" +date: 2023-12-28T14:26:51+01:00 +draft: false +weight: 2110 +--- + +Minor version updates for PostgreSQL are performed by updating the PostgreSQL container image in use. +With the update object `spec.dockerImage` of the cluster manifest, the operator takes over the update based on the rolling update strategy. This means that the pods are replaced one after the other, with the replicas being updated first and then the old primary after a switchover. The operational interruption should generally last less than 5 seconds (switchover time), but the clients must still reconnect. + +If necessary, the operator also supports the downgrade of minor releases in the same way. + +To install minor version updates, PostgreSQL only requires the binaries to be replaced and the database to be restarted. For more information see [PostgreSQL - Versioning Policy](https://www.postgresql.org/support/versioning/) + +{{< hint type=info >}}This procedure can also be used for all other containers in a cluster. Whether sidecars, exporter, pooler or backup image{{< /hint >}} + + +### Preconditions: +1. Check if there is a newer image for the PostgreSQL container - [Check on Docker hub](https://hub.docker.com/repository/docker/cybertecpostgresql/cybertec-pg-container/general) +2. Check - Check that the new `PGVERSION` is larger than the previously used one. +3. Check whether the new `PGVERSION` is larger than the previously used one and the maintenance mode of the cluster must be deactivated. In addition, the replicas should not have a high lag. + +### Updating PostgreSQL-Container-Image +Old-Manifest: +```yaml +apiVersion: cpo.opensource.cybertec.at/v1 +kind: postgresql +metadata: + name: cluster-1 + namespace: cpo +spec: + dockerImage: 'docker.io/cybertecpostgresql/cybertec-pg-container:postgres-17.3-1' +``` +New-Manifest: +```yaml +apiVersion: cpo.opensource.cybertec.at/v1 +kind: postgresql +metadata: + name: cluster-1 + namespace: cpo +spec: + dockerImage: 'docker.io/cybertecpostgresql/cybertec-pg-container:postgres-17.4-1' +``` +#### Updating via kubectl/oc-client +```sh +kubectl patch postgresqls.cpo.opensource.cybertec.at cluster-1 --type='merge' -p \ +'{"spec":{"dockerImage":"docker.io/cybertecpostgresql/cybertec-pg-container:postgres-17.4-1"}}' +``` + +### Updating Exporter-Container-Image + +#### Updating Cluster-Manifest: +Old-Manifest: +```yaml +apiVersion: cpo.opensource.cybertec.at/v1 +kind: postgresql +metadata: + name: cluster-1 + namespace: cpo +spec: + monitor: + image: 'docker.io/cybertecpostgresql/cybertec-pg-container:exporter-17.3-1' +``` +New-Manifest: +```yaml +apiVersion: cpo.opensource.cybertec.at/v1 +kind: postgresql +metadata: + name: cluster-1 + namespace: cpo +spec: + monitor: + image: 'docker.io/cybertecpostgresql/cybertec-pg-container:exporter-17.4-1' +``` + +#### Updating via kubectl/oc-client +```sh +kubectl patch postgresqls.cpo.opensource.cybertec.at cluster-1 --type='merge' -p \ +'{"spec":{"monitor":{"image":"docker.io/cybertecpostgresql/cybertec-pg-container:exporter-17.4-1"}}}' +``` + diff --git a/docs/hugo/content/en/postgis/_index.md b/docs/hugo/content/en/postgis/_index.md new file mode 100644 index 000000000..c5f1739d2 --- /dev/null +++ b/docs/hugo/content/en/postgis/_index.md @@ -0,0 +1,6 @@ +--- +title: "Postgis" +date: 2024-03-11T14:26:51+01:00 +draft: true +weight: 1800 +--- \ No newline at end of file diff --git a/docs/hugo/content/en/postgis/introduction.md b/docs/hugo/content/en/postgis/introduction.md new file mode 100644 index 000000000..45c588525 --- /dev/null +++ b/docs/hugo/content/en/postgis/introduction.md @@ -0,0 +1,7 @@ +--- +title: "Introduction" +date: 2024-03-11T14:26:51+01:00 +draft: true +weight: 1 +--- +asdasdasd \ No newline at end of file diff --git a/docs/hugo/content/en/project/_index.md b/docs/hugo/content/en/project/_index.md new file mode 100644 index 000000000..e3d86e9fd --- /dev/null +++ b/docs/hugo/content/en/project/_index.md @@ -0,0 +1,6 @@ +--- +title: "CPO" +date: 2024-03-11T14:26:51+01:00 +draft: false +weight: 200 +--- \ No newline at end of file diff --git a/docs/hugo/content/en/project/container_images.md b/docs/hugo/content/en/project/container_images.md new file mode 100644 index 000000000..28c5f2c57 --- /dev/null +++ b/docs/hugo/content/en/project/container_images.md @@ -0,0 +1,32 @@ +--- +title: "Container Images" +date: 2024-03-11T14:26:51+01:00 +draft: false +weight: 202 +--- + +For each version of the operator and the required PostgreSQL and other required containers, the corresponding image is provided on Dockerhub. + +#### Operator container images +The operator images are the central components that control the operation and administration of the PostgreSQL databases. These images are available in the following repository on DockerHub: + +[Operator Images](https://hub.docker.com/repository/docker/cybertecpostgresql/cybertec-pg-operator) + +The repository contains all the necessary images for running the Cybertec PG Operator in a Kubernetes environment. These images are updated regularly to ensure the latest features and security updates. + +#### Additional container images +In addition to the operator images, various container images are required to support a complete PostgreSQL environment. These images are available in the following repository: +[CYBERTEC-PG-Container Images](https://hub.docker.com/repository/docker/cybertecpostgresql/cybertec-pg-container/general) + +This repository contains images for the following components: + +- PostgreSQL: The main database image, which contains all supported major versions of PostgreSQL. The name of the tag always reflects the latest release, e.g. currently `17.4` for PostgreSQL `17.4`. For the other major versions, the corresponding minor versions released by the PostgreSQL community at the same time are included. +- Postgres-GIS: A specialised image that combines PostgreSQL with the PostGIS extension to support spatial data processing functions. You can find more information about Postgis [here](../../postgis). +The tag for Postgis also includes the included version of Postgis. Example: postgres-gis-17.4-34-1 Postgis: `3.4.x` +- PGBackRest: A backup and restore tool developed specifically for PostgreSQL and available as a separate container image. +- Exporter: Images for monitoring PostgreSQL databases that collect metrics and make them available for monitoring tools such as Prometheus. +- PgBouncer: A lightweight connection pooler for PostgreSQL that manages and optimises the number of concurrent connections. + + +#### Extensions +You can view the versions included in the [Extensions](../../extensions/pg17/) section. \ No newline at end of file diff --git a/docs/hugo/content/en/project/project.md b/docs/hugo/content/en/project/project.md new file mode 100644 index 000000000..19a227e6b --- /dev/null +++ b/docs/hugo/content/en/project/project.md @@ -0,0 +1,56 @@ +--- +title: "The Project" +date: 2024-03-11T14:26:51+01:00 +draft: false +weight: 201 +--- +The CYBERTEC PostgreSQL Operator (CPO) enables the simple provision and management of PostgreSQL clusters on Kubernetes. It reduces the administration effort and facilitates the management of single-node and HA clusters. +## Main components +- [CYBERTEC-pg-operator](https://github.com/cybertec-postgresql/CYBERTEC-pg-operator): Kubernetes operator for the automation of PostgreSQL clusters. +- [CYBERTEC-pg-container](https://github.com/cybertec-postgresql/CYBERTEC-pg-container): Docker container suite for PostgreSQL, Patroni and etcd for the provision of HA clusters. +- [CYBERTEC-operator-tutorials](https://github.com/cybertec-postgresql/CYBERTEC-operator-tutorials): Tutorials and instructions for installing and using the operator. +## Features +- Cluster management: + - Single-node and HA (High Availability) clusters via [Patroni](https://patroni.readthedocs.io/en/latest/) + - Reduction of downtime thanks to redundancy, pod anti-affinity, auto-failover and self-healing + - Automated failover + - Live volume resize without pod restarts + - Basic credential and user management on K8s, eases application deployments + - Compatible with OpenShift and Rancher +- PostgreSQL compatibility: + - Supports PostgreSQL versions 13 to 17 + - Inplace upgrades for smooth version changes and minimal downtime + - Extensive extension support, including pgAudit, TimescaleDB and PostGIS + - Standby-Cluster +- Backup & Restore: + - Integrated pgBackRest support + - Automatic backups + - Point-in-Time- and Snapshot-based Restores / Disaster Recovery +- Connection management: + - pgBouncer for connection pooling +- Monitoring & alerting stack + - Integrated metrics exporter + - Prometheus, alert manager for metrics collection and alerting + - Grafana for visual monitoring of the clusters +- Operator UI: + - Web interface for managing clusters + +## Installation +Detailed instructions on installation and configuration can be found in the CYBERTEC operator tutorials and in the following chapters +Example of installation via Helm: +``` +helm repo add cybertec https://cybertec-postgresql.github.io/helm-charts/ +helm install pg-operator cybertec/cybertec-pg-operator +``` + +More information: [Installation]({{< relref "installation/install_operator" >}}) + +## Contribution +This project is open source, and contributions to its further development are expressly encouraged. +Possible forms of contribution: +- Bug reports and feature requests +- Code contributions (pull requests welcome) +- Improvement of the documentation +Further details on contributions can be found in the respective GitHub repositories. +## Licence +The CYBERTEC PostgreSQL Operator is licensed under the Apache 2.0 licence. \ No newline at end of file diff --git a/docs/hugo/content/en/quickstart/_index.md b/docs/hugo/content/en/quickstart/_index.md new file mode 100644 index 000000000..4419cb715 --- /dev/null +++ b/docs/hugo/content/en/quickstart/_index.md @@ -0,0 +1,112 @@ +--- +title: "Quickstart" +date: 2023-03-07T14:26:51+01:00 +draft: false +weight: 400 +--- + +We can tell and document so much about our project but it seems you just want to get started. Let us show you the fastest way to use CPO. + +## Preconditions + +- git +- helm (optional) +- kubectl or oc + +## Let's start + +### Step 1 - Preparations +To get started, you can fork our tutorial repository on Github and then download it. +[CYBERTEC-operator-tutorials](https://github.com/cybertec-postgresql/CYBERTEC-operator-tutorials/fork) + +``` +git clone https://github.com/cybertec-postgresql/CYBERTEC-operator-tutorials.git +cd CYBERTEC-operator-tutorials +``` + +### Step 2 - Install the Operator +Two options are available for the installation: +- Installation via Helm-Chart (local or via helmn-repo) +- Installation via apply + +#### Installation via Helm-Chart + +If you want to use the helm-chart, YOU can decide for yourself whether you want to use the helm-cahrt from the operator-tutorials on github or directly connect the helm-repo for the cpo-project and install the helm-chart over it. + +``` +#add helm-repo (optional) + helm repo add cpo https://cybertec-postgresql.github.io/CYBERTEC-operator-tutorials + kubectl apply -n cpo -k setup/namespace/. + helm install -n cpo cpo cpo/postgres-operator + +or + +# use local helm-chart from git + kubectl apply -n cpo -k setup/namespace/. + helm install cpo -n cpo setup/helm/operator/ +``` + +#### Installation via apply +``` +kubectl apply -n cpo -k setup/namespace/. +kubectl apply -n cpo -k setup/helm/operator/. +``` + +You can check if the operator pod is in operation. +``` +kubectl get pods -n cpo --selector=cpo.cybertec.at/pod/type=postgres-operator +``` +The result should look like this: +``` +NAME READY STATUS RESTARTS AGE +postgres-operator-599688d948-fw8pw 1/1 Running 0 41s +``` + +The operator is ready and the setup is complete. The next step is the creation of a Postgres cluster + +### Step 3 - Create a Cluster +To create a simple cluster, the following command is sufficient +``` +kubectl apply -n cpo -f cluster-tutorials/single-cluster +``` + +``` +watch kubectl get pods -n cpo --selector cluster-name=cluster-1 +``` +The result should look like this: +``` +Alle 2.0s: kubectl get pods -n cpo --selector cluster-name=cluster-1 + +NAME READY STATUS RESTARTS AGE +cluster-1-0 2/2 Running 0 28s +cluster-1-1 0/2 PodInitializing 0 9s +``` + +### Step 4 - Connect to the Database +Get your login information from the secret. +``` +kubectl get secret -n cpo postgres.cluster-1.credentials.postgresql.cpo.opensource.cybertec.at -o jsonpath='{.data}' | jq '.|map_values(@base64d)' +``` +The result should look like this: +``` +{ + "password": "2rZG1Kx9asdHscswQGzff4Ru0xW6uasacy3GQ0sjdCH3wWr0kguUXUZek6dkemsf", + "username": "postgres" +} +``` +#### Connection via port-forward + +``` +kubectl port-forward -n cpo cluster-1-0 5432:5432 +``` + +``` +# using psql +PGPASSWORD=2rZG1Kx9asdHscswQGzffjdCH3wWr0kguUXUZek6dkemsf psql -h 127.0.0.1 -p 5432 -U postgres + +# using usql +PGPASSWORD=2rZG1Kx9asdHscswQGzffjdCH3wWr0kguUXUZek6dkemsf usql postgresql://postgres@127.0.0.1/postgres +``` + +## Next Steps +Congratulations, your first cluster is ready and you were able to connect to it. On the following pages we have put together an introduction with lots of information and details to show you the different possibilities and components of CPO. \ No newline at end of file diff --git a/docs/hugo/content/en/release_notes/_index.md b/docs/hugo/content/en/release_notes/_index.md new file mode 100644 index 000000000..b62aa7778 --- /dev/null +++ b/docs/hugo/content/en/release_notes/_index.md @@ -0,0 +1,200 @@ +--- +title: "Release-Notes" +date: 2024-03-11T14:26:51+01:00 +draft: false +weight: 2500 +--- + +### 0.8.3 + +#### Fixes +- Majorupgrade updated for Patroni 4.x.x +- Fixes for PGEE +- Fix for Monitoring-User +- Dependency updates and several small changes + +#### Supported Versions + +- PG: 13 - 17 +- Patroni: 4.0.5 +- pgBackRest: 2.54.2 +- Kubernetes: 1.21 - 1.32 +- Openshift: 4.8 - 4.18 + +### 0.8.2 + +#### Features +- Added Clone-Functionality with pgBackRest + +#### Supported Versions + +- PG: 13 - 17 +- Patroni: 3.3.2 +- pgBackRest: 2.54.0 +- Kubernetes: 1.21 - 1.32 +- Openshift: 4.8 - 4.18 + +### 0.8.1 + +#### Features +- Added pgbackrest to Monitoring + +#### Fixes +- Fixed role creation for monitoring + +#### Supported Versions + +- PG: 13 - 17 +- Patroni: 3.3.2 +- pgBackRest: 2.53 +- Kubernetes: 1.21 - 1.32 +- Openshift: 4.8 - 4.18 + +### 0.8.0 + +#### Features +- Multisite - Support +- use icu as default for pg > 14 + +#### Fixes +- Fixed role creation for monitoring. +- Fix for the use of gcs with pgBackRest + +#### Supported Versions + +- PG: 13 - 16 & 17Beta2 +- Patroni: 3.3.2 +- pgBackRest: 2.53 +- Kubernetes: 1.21 - 1.32 +- Openshift: 4.8 - 4.18 + +### 0.7.1 + +#### Fixes +- Fixed role creation for monitoring. +- Fix for the use of gcs with pgBackRest + +#### Supported Versions + +- PG: 13 - 16 & 17Beta2 +- Patroni: 3.3.2 +- pgBackRest: 2.53 +- Kubernetes: 1.21 - 1.28 +- Openshift: 4.8 - 4.13 + +### 0.7.0 + +#### Features +- Monitoring-Sidecar integrated via CRD [Start with Monitoring](documentation/cluster/monitoring) +- Password-Hash per default set to scram-sha-256 +- pgBackRest with blockstorage using RepoHost +- Internal Certification-Management for RepoHost-Certificates +- Compatible with PG17Beta2 + +#### Changes +- API Change acid.zalan.do is replaced by cpo.opensource.cybertec.at - If you're updating your Operator from previous Versions, please check this [HowTo Migrate to new API](documentation/operator/migrateToNewApi/) +- Patroni-Compatibility has increased to Version 3.3.2 +- pgBackRest-Compatbility has increased to Version 2.52.1 +- Revision of the restore process +- Revision of the backup jobs +- Operator now using Rocky9 as Baseimage +- Updates Go-Package to 1.22.5 + +#### Fixes +- PDB Bug fixed - Single-Node Clusters are not creating PDBs anymore which can break Kubernetes-Update +- Wrong Templates inside Cronjobs fixed + +#### Supported Versions + +- PG: 13 - 16 & 17Beta2 +- Patroni: 3.3.2 +- pgBackRest: 2.52.1 +- Kubernetes: 1.21 - 1.28 +- Openshift: 4.8 - 4.13 + +### 0.6.1 + +Release with fixes + +#### Fixes +- Backup-Pod now runs with "best-effort" resource definition +- Der Init-Container für die Wiederherstellung verwendet nun die gleiche Ressource-Definition wie der Datenbank-Container, wenn es keine spezifische Definition im Cluster-Manifest gibt (spec.backup.pgbackrest.resources) + +#### Software-Versions + +- PostgreSQL: 15.3 14.8, 13.11, 12.15 +- Patroni: 3.0.4 +- pgBackRest: 2.47 +- OS: Rocky-Linux 9.1 (4.18) +

+___ +

+### 0.6.0 + +Release with some improvements and stabilisation measuresm + +#### Features +- Added [Pod Topology Spread Constraints](https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/) +- Added support for TDE based on the CYBERTEC PostgreSQL Enterprise Images (Licensed Container Suite) + +#### Software-Versions + +- PostgreSQL: 15.3 14.8, 13.11, 12.15 +- Patroni: 3.0.4 +- pgBackRest: 2.47 +- OS: Rocky-Linux 9.1 (4.18) +

+___ +

+### 0.5.0 + +Release with new Software-Updates and some internal Improvements +### Features +- Updated to Zalando Operator 1.9 + +#### Fixes +- internal Problems with Cronjobs +- updates for some API-Definitions + +#### Software-Versions + +- PostgreSQL: 15.2 14.7, 13.10, 12.14 +- Patroni: 3.0.2 +- pgBackRest: 2.45 +- OS: Rocky-Linux 9.1 (4.18) +

+___ +

+### 0.3.0 + +Release with some improvements and stabilisation measuresm + +#### Fixes +- missing pgbackrest_restore configmap fixed + +#### Software-Versions + +- PostgreSQL: 15.1 14.7, 13.9, 12.13, 11.18 and 10.23 +- Patroni: 3.0.1 +- pgBackRest: 2.44 +- OS: Rocky-Linux 9.1 (4.18) +

+___ +

+### 0.1.0 + +Initial Release as a Fork of the Zalando-Operator + +#### Features + +- Added Support for pgBackRest (PoC-State) + - Stanza-create and Initial-Backup are executed automatically + - Schedule automatic updates (Full/Incremental/Differential-Backup) + - Securely store backups on AWS S3 and S3-compatible storage + +#### Software-Versions + +- PostgreSQL: 14.6, 13.9, 12.13, 11.18 and 10.23 +- Patroni: 2.4.1 +- pgBackRest: 2.42 +- OS: Rocky-Linux 9.0 (4.18) diff --git a/docs/hugo/content/en/resources/_index.md b/docs/hugo/content/en/resources/_index.md new file mode 100644 index 000000000..5f29fc12a --- /dev/null +++ b/docs/hugo/content/en/resources/_index.md @@ -0,0 +1,57 @@ +--- +title: "Apply Ressources" +date: 2024-04-28T14:26:51+01:00 +draft: false +weight: 700 +--- + +Kubernetes workloads are often deployed without a direct resource definition. This means that, apart from the limits specified by the administrators, the workloads can use the required resources of the worker node very dynamically. + +The cluster manifest is used to define the Postgres pod resources via the typical resources objects. + +There are basically two different definitions: +- `requests`: Basic requirement and guaranteed by the worker node +- `limits`: maximum availability, allocation is increased dynamically if the worker node can provide the resources. + +For the planning of the cluster, a proper definition should be carried out in terms of the required hardware, which is then defined as `requests`. These resources are thus guaranteed to the cluster and are taken into account when deploying the pod. Accordingly, a pod can only be deployed on a worker if it can provide these resources. Any limits beyond this are not taken into account when deploying. + +The unit of measurement should be taken into account when planning the necessary CPUs: +cpu specifications are based on millicores +- `1 cpu` corresponds to `1 core` +- `1 core `corresponds to `1000 millicores (m)` +- `1/2 core` corresponds to `500 m` + +``` + resources: + limits: + cpu: 500m + memory: 1Gi + requests: + cpu: 1000m + memory: 1Gi +``` + +This example corresponds to a guaranteed availability of half a core and 1 Gibibyte. However, if necessary and available, the container can use up to one core. The allocation takes place dynamically and for the required time. + +Pods can be categorised into three Quality of Services (QoS) based on the defined information on the resources. + +- `Best-Effort`: The containers of a pod have no resource information +- `Burstable`: A container of the pod has a memory or CPU `requests` or `limits`. +- `Guaranteed`: Each container of a pod has both cpu and memory `requests` and `limits`. In addition, the details of the respective `limits` correspond to the `requests` details + +If you would like more information and explanations, you can take a look at the [Kubernetes documentation on QoS](https://kubernetes.io/docs/tasks/configure-pod-container/quality-service-pod/#qos-classes). + +We generally recommend using the Guaranteed Status for PostgreSQL workloads. However, many users very successfully use the deviation of the CPU limit by factors such as 2. +For example: +``` + resources: + limits: + cpu: 1000m + memory: 1Gi + requests: + cpu: 2000m + memory: 1Gi +``` +This is intended to create the possibility of additional CPU resources for sudden load peaks. + +{{< hint type=Info >}}The use of burstable definitions does not release you from a correct resource calculation, as `limits` resources are not guaranteed and therefore an undersupply can occur if the requests are not properly defined.{{< /hint >}} diff --git a/docs/hugo/content/en/restore/_index.md b/docs/hugo/content/en/restore/_index.md new file mode 100644 index 000000000..da757e8f7 --- /dev/null +++ b/docs/hugo/content/en/restore/_index.md @@ -0,0 +1,83 @@ +--- +title: "Restore" +date: 2023-12-28T14:26:51+01:00 +draft: false +weight: 1400 +--- + +Restore or recovery is the process of starting a PostgreSQL instance or a cluster based on a defined and existing backup. This can be just a Backup or a combination of a Backup and additional WAL files. The difference is that a Backup represents a fixed point in time, whereas the combination with WAL enables a point-in-time recovery(PITR). + +You can find more information about backups [here](../backup/introduction/) + +### Rescue my cluster + +CPO enables the restore based on an existing backup using pgBackRest. To do this, it needs the relevant information about the point in time or snapBackupshot to which it should restore and where the data for this comes from. +As we have already provided the operator with all the information relating to the storage of backups in the previous chapter, it only needs the following information: +- `id`: Control variable, must be increased for each restore process +- `type`: What type of restore is required +- `repo`: Which repo the data should come from +- `set`: Specific Backup to restore - Check [backup](../backup/check_backups/) to see how to get the identifier + +{{< hint type=Info >}}To ensure that the operator does not repeat an already done restore, the defined object `id` in the restore section is saved by the operator, so the value of this `id` must be changed for a new restore.{{< /hint >}} + +#### Details for a Backup restore +With this information, we define a fixed Backup from `repo1` and that pgBackRest should stop at the end of the Backup +``` +restore: + id: '1' + options: + type: 'immediate' + set: '20240515-164100F' + repo: 'repo1' +``` + +{{< hint type=info >}} Without the specification `--type=immediate`, pgBackRest would then consume the entire WAL that is available and thus restore the last available consistent data point. {{< /hint >}} + +#### Details for a point-in-time recoery (PITR) +We use this information to define a point-in-time recovery (PITR) and define the end point using a timestamp and the start point using a Backup specification. The latter is optional. Without this information, pgBackRest would automatically start at the last previous full Backup. +``` +restore: + id: '1' + options: + type: 'time' + set: '20240515-164100F' + target: '2024-05-16 07:46:05.506817+00' + + repo: '1' +``` +{{< hint type=info >}}`--type=time` indicates that it is a point-in-time recovery (PITR). {{< /hint >}} + +## Example in a cluster manifest + +``` +apiVersion: cpo.opensource.cybertec.at/v1 +kind: postgresql +metadata: + name: cluster-5 + namespace: cpo +spec: + backup: + pgbackrest: + configuration: + secret: cluster-1-pvc-credentials + global: + repo1-retention-full: '7' + repo1-retention-full-type: count + image: 'docker.io/cybertecpostgresql/cybertec-pg-container:pgbackrest-16.4-1' + repos: + - name: repo1 + schedule: + full: 30 2 * * * + storage: pvc + volume: + size: 1Gi + restore: + id: '1' + options: + type: 'time' + set: '20240515-164100F' + target: '2024-05-16 07:46:05.506817+00' +``` +An example of this can also be found in our tutorials. For a point-in-time recovery (PITR) you can find it [here](https://github.com/cybertec-postgresql/CYBERTEC-operator-tutorials/tree/main/cluster-tutorials/restore_pitr). + +{{< hint type=warning >}} Incorrect information for the Backup or the timestamp can result in pgBackRest not being able to complete the restore successfully. In the event of an error, the information must be corrected and another restore must be started. {{< /hint >}} diff --git a/docs/hugo/content/en/standby-cluster/_index.md b/docs/hugo/content/en/standby-cluster/_index.md new file mode 100644 index 000000000..744793c57 --- /dev/null +++ b/docs/hugo/content/en/standby-cluster/_index.md @@ -0,0 +1,65 @@ +--- +title: "Standby Cluster" +date: 2023-12-28T14:26:51+01:00 +draft: false +weight: 2080 +--- + +A standby cluster is an independent PostgreSQL cluster that consists of a standby leader and optionally further replicas (if `numberOfInstances` > 1). The standby leader runs in read-only mode and does not accept any write operations. A standby cluster can be promoted to a primary cluster if required, whereby the standby leader becomes a fully-fledged leader and allows write operations. + +### Preconditions: +The primary cluster must either: +- be accessible from the standby cluster via streaming replication +- the backup storage used by the standby cluster (S3, GCS or Azure Blob) must be accessible for the standby cluster + +The passwords for the Postgres user, the replication user and the exporter user (if monitoring is active) must be created as a secret for the standby cluster. Otherwise connection problems will occur + +### Create standby cluster + +The `standby` object in the cluster manifest is required to create a standby cluster. + +```yaml +apiVersion: cpo.opensource.cybertec.at/v1 +kind: postgresql +metadata: + name: standby-cluster-1 +spec: + standby: + standby_host: "cluster-1.cpo" + standby_port: "5432" + dockerImage: 'docker.io/cybertecpostgresql/cybertec-pg-container:postgres-17.4-1' + numberOfInstances: 1 + postgresql: + version: '17' + resources: + limits: + cpu: 500m + memory: 500Mi + requests: + cpu: 500m + memory: 500Mi + teamId: acid + volume: + size: 5Gi +``` + +The primary cluster must be accessible from the standby cluster. It can be located in the same Kubernetes cluster or in a different one. + +- `standby_host`: Corresponds to the endpoint via which the primary pod can be reached. It can be a kubernetes-internal DNS name or an IP or DNS name that can be reached in the network. +- `standby_port`: Corresponds to the PostgreSQL port used (default 5432) + + +### Promoting cluster + +To promote a cluster, it is only necessary to remove the standby object. +The cluster is then promoted to a primary cluster. + +```sh +kubectl patch postgresqls.cpo.opensource.cybertec.at cluster-1 --type='merge' -p \ +'{"spec":{"standby":null}}' +``` + + +### Limitations +A primary cluster cannot be demoted to a standby cluster. +If necessary, the recommendation is to create a new cluster as a standby cluster. \ No newline at end of file diff --git a/docs/hugo/content/en/storage/_index.md b/docs/hugo/content/en/storage/_index.md new file mode 100644 index 000000000..f4e4b070b --- /dev/null +++ b/docs/hugo/content/en/storage/_index.md @@ -0,0 +1,98 @@ +--- +title: "Storage" +date: 2023-12-28T14:26:51+01:00 +draft: false +weight: 800 +--- +Storage is crucial for the performance of a database and is therefore a central element. As with systems based on bare metal or virtual machines, the same requirements apply to Kubernetes workloads, such as constant availability, good performance, consistency and durability. + +A basic distinction is made between local storage, which is directly connected to the worker node, and network storage, which is mounted on the worker node and thus made available to the pod. + +In probably the vast majority of Kubernetes systems, network storage is used, for example from systems from hyperscalers or other cloud providers or own systems such as CEPH. + +With network storage in particular, attention must be paid to performance in terms of throughput (speed and guaranteed IOPS) and, above all, latency. It is also important to ensure that the different volumes do not compete with each other in terms of load. + +> **_PAY ATTENTION:_** Before using a CPO cluster, make sure that the storage is suitable for the intended use and provides the necessary performance. In addition, check the storage with benchmarks before use. We recommend the use of [pgbench](https://www.postgresql.org/docs/current/pgbench.html) for this purpose. + +## Define Storage-Volume + +The storage is defined via the volume object and enables the size and storage class for the storage to be defined, among other things. +``` +spec: + volume: + size: 5Gi + storageClass: default-provisioner + ... +``` + +The volume is currently used for both PG and WAL data. In future, there will be an optional option to create a separate WAL volume. +Please check our [roadmap](roadmap) + +{{< hint type=Info >}}Please ensure, that the storageClass exists and is usable. If a Volume cannot provide the Volume will stand in the pending-State as like the Database-Pod.{{< /hint >}} + +The volume is currently used for both PG and WAL data. In future, there will be an optional option to create a separate WAL volume. + +## Expanding Volume + +{{< hint type=Info >}}Kubernetes is able to forward requests to expand the storage to the storage system and enable the expand without the need to restart the container. However, this also requires the associated storage system and the driver used to support this. This information can be found in the storage class under the object: allowVolumeExpansion. A distinction must also be made between online and offline expand. The latter requires a restart of the pod. To do this, the pod must be deleted manually.{{< /hint >}} + +To Expand the Volume, the value of the object volume.size must be increased +``` +spec: + volume: + size: 10Gi + storageClass: default-provisioner + ... +``` +This will trigger the expand of your Cluster-Volumes. It will need some time and you can check the current state inside the pvc. +``` +kubectl get pvc pgdata-cluster-1-0 -o yaml +------------------------------------------------------- +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 10Gi + storageClassName: crc-csi-hostpath-provisioner + volumeMode: Filesystem + volumeName: pvc-800d7ecc-2d5f-4ef4-af83-1cd94c766d37 +status: + accessModes: + - ReadWriteOnce + capacity: + storage: 5Gi + phase: Bound +``` + +## Creating additonal Volumes +The Operator allows you to modify your cluster with additonal Volumes. +``` +spec: + ... + additionalVolumes: + - name: empty + mountPath: /opt/empty + targetContainers: + - all + volumeSource: + emptyDir: {} +``` +This example will create an emptyDir and mount it to all Containers inside the Database-Pod. + + +## Specific Settings for aws gp3 Storage +For the gp3 Storage aws you can define more informations +``` + volume: + size: 1Gi + storageClass: gp3 + iops: 1000 # for EBS gp3 + throughput: 250 # in MB/s for EBS gp3 + +``` +The defined IOPS and Throughput will include in the PersistentVolumeClaim and send to the storage-Provisioner. +Please keep in Mind, that on aws there is a CoolDown-Time as a limitation defined. For new Changes you need to wait 6 hours. +Please also ensure to check the default and allowed values for IOPS and Throughput [AWS docs](https://aws.amazon.com/ebs/general-purpose/). + +To ensure that the settings are updates properly please define the Operator-Configuration 'storage_resize_mode' from default to 'mixed' diff --git a/docs/hugo/content/en/tde/_index.md b/docs/hugo/content/en/tde/_index.md new file mode 100644 index 000000000..ce8a20e13 --- /dev/null +++ b/docs/hugo/content/en/tde/_index.md @@ -0,0 +1,88 @@ +--- +title: "TDE" +date: 2023-12-28T14:26:51+01:00 +draft: false +weight: 2200 +--- +## What is Transparent Data Encryption (TDE)? + +Transparent Data Encryption (TDE) is a technology for encrypting databases at file level. The data is automatically encrypted before it is stored on the storage medium and decrypted transparently for authorised applications and users if required. This ensures that the data is protected at rest without the need for changes to existing applications. TDE is used by various database vendors such as Microsoft, Oracle and IBM to increase the security of database files. + +### Difference between hard disk encryption and TDE + +Hard disk encryption, also known as Full Disk Encryption (FDE), encrypts the entire hard disk or individual partitions to prevent unauthorised access to sensitive data. This method protects all data on a system, including the operating system, but only when the system is switched off. As soon as an authorised user logs on, the encryption is removed and the data is accessible to anyone who can access the computer while the user is logged on. + +In contrast, TDE specifically encrypts the database files at file level. Encryption is transparent to the applications accessing the database and protects the data at rest, regardless of the status of the operating system or hardware. This provides an additional protection mechanism, especially in scenarios where hard disk encryption is not sufficient or not implemented. + + +### Advantages of TDE + +- **Protection of data at rest**: Data on the storage medium is encrypted, reducing the risk of data leaks. +- **Transparency for applications**: Encryption is done directly at database level, so no changes to existing applications are required. +- **Integration with PGEE**: Full support in Kubernetes environments and other modern IT infrastructures. +- **Fulfilment of regulatory requirements**: Support for compliance requirements such as GDPR, HIPAA and other data protection standards. +- **Additional security features**: In combination with other PGEE features such as data masking and obfuscation, comprehensive protection of sensitive data is ensured. + +Further information on TDE and PGEE can be found here: [CYBERTEC TDE](https://www.cybertec-postgresql.com/en/products/postgresql-transparent-data-encryption/). + +## Securing clusters with TDE + +The CYBERTEC pg operator, together with Patroni, takes over the setup and administration of the TDE functionality in conjunction with the cost-effective PGEE containers + +### Preconditions +- CYBERTEC-pgee-container +- Valid licence agreement for PGEE + +### Deploy a TDE-Cluster + +Setting up a TDE cluster is basically the same as setting up a conventional cluster. +The only difference is the defined Postgres. container and the object TDE.enabled: true, which instructs the operator to initialise the database with the TDE functionality. + +```yaml +apiVersion: cpo.opensource.cybertec.at/v1 +kind: postgresql +metadata: + name: tde-cluster-1 + namespace: cpo +spec: + dockerImage: 'containers.cybertec.at/cybertec-pgee-container/postgres:rocky9-17.4-1' + numberOfInstances: 1 + postgresql: + version: '17' + resources: + limits: + cpu: 250m + memory: 500Mi + requests: + cpu: 250m + memory: 500Mi + tde: + enable: true + teamId: acid + volume: + size: 5Gi +``` +- `dockerImage` - Must contain a PostgreSQL image of the pgee container suite +- `tde.enabled`- initialises the DB with TDE + +{{< hint type=important >}} Please note that the activation of TDE is only possible when creating new clusters. Subsequent activation is not possible. {{< /hint >}} + +### Check TDE-Status + +```sh +[postgres@tde-cluster-1-0 ~]$ psql +psql (17.4 EE 1.4.1) + ____ ____ _____ _____ +| _ \ / ___| ____| ____| +| |_) | | _| _| | _| +| __/| |_| | |___| |___ +|_| \____|_____|_____| +PostgreSQL EE by CYBERTEC +Type "help" for help. + +postgres=# show data_encryption; + data_encryption +----------------- + on +(1 row) +``` \ No newline at end of file diff --git a/docs/hugo/content/en/tls/_index.md b/docs/hugo/content/en/tls/_index.md new file mode 100644 index 000000000..488ca9d03 --- /dev/null +++ b/docs/hugo/content/en/tls/_index.md @@ -0,0 +1,120 @@ +--- +title: "TLS/SSL connections" +date: 2023-12-28T14:26:51+01:00 +draft: false +weight: 1600 +--- +Each cluster created is automatically equipped with a self-generated TLS certificate and is preconfigured for the use of TLS/SSL. However, this certificate is not based on a Certificate Authority (CA) that is known to the clients. This means that although communication between the client and server is encrypted, the certificate cannot be verified by the client. + +The following chapter deals with the creation of custom certificates and the steps required to integrate these certificates into the PostgreSQL cluster. In the example, a custom CA is created, on the basis of which the certificates are then generated and signed by this CA. This step can be skipped if certificates have already been obtained from another trusted organisation. + +### Create a custom CA and Certificates +{{< hint type=important >}} Precondition: This chapter requires openssl {{< /hint >}} +#### Create the CA +The first step is to create a custom CA. An organisation name is required for this. You can also add further details about the country, district and location. +The CA serves as the central authority that signs the certificates and thus guarantees the correctness of the certificate. In order to successfully complete the verification of a certificate, the CA's certificate must be stored on the client system. +``` +ORGANIZATION=MyCustomOrganization +CA=$ORGANIZATION-RootCA + +mkdir $CA +cd $CA + +# Creating the CA-Key +openssl genpkey -algorithm EC -out $CA.key -pkeyopt ec_paramgen_curve:secp384r1 -pkeyopt ec_param_enc:named_curve -aes256 + +# Creating the CA-Certificate +openssl req -x509 -new -nodes -key $CA.key -sha512 -days 1826 -out $CA.crt -subj "/CN=${ORGANIZATION} Root-CA/C=AT/ST=Lower Austria/L=Woellersdorf/O=${ORGANIZATION}" + +``` + +#### Create a custom Certificate +The server needs a certificate signed by a CA and a private key so that it can claim to be trustworthy. + +{{< hint type=important >}} It is important that the CA certificate is stored as trustworthy with the client. Otherwise, no certificate check is possible. {{< /hint >}} + + +``` +CN=cluster-1 +DNS2="${CN}-repl" +DNS3="${CN}-pooler" +DNS4="${CN}-pooler-repl" + +# Creating the private Key +openssl genpkey -algorithm EC -out $CN.key -pkeyopt ec_paramgen_curve:secp384r1 -pkeyopt ec_param_enc:named_curve + +# Creating Certificate Signing Request (CSR)) +openssl req -new -key $CN.key -out $CN.csr \ + -subj "/C=AT/ST=Lower Austria/L=Woellersdorf/O=${ORGANIZATION}/OU=OrgUnit/CN=${CN}" \ + -addext "subjectAltName=DNS:${CN},DNS:${DNS2},DNS:${DNS3},DNS:${DNS4}" + + +# Sign CSR with the CA +openssl x509 -req -in $CN.csr -CA $CA.crt -CAkey $CA.key -CAcreateserial -out $CN.crt -days 365 \ + -extfile <(echo -e "[ v3_req ]\nsubjectAltName=DNS:${CN},DNS:${DNS2},DNS:${DNS3},DNS:${DNS4}") -extensions v3_req + +``` + +#### Add Certicate to the Cluster + +For adding the Certificate to your cluster a secret on kubernetes is needed. +There are two different options here. +For the first option, a secret is created that contains all the necessary information. I.e. +- Server certificate +- Private server key +- CA certificate +In the second variant, the CA certificate is separated and written in a separate secret. The advantage of this is that the CA only needs to be saved once and changed in the event of an update. + +##### First Option: Using one secret for all three objects + +``` +kubectl create secret generic cluster-1-tls \ + --from-file=tls.crt=$CN.crt \ + --from-file=tls.key=$CN.key \ + --from-file=ca.crt=$CA.crt +``` + +Finally, the definition is made in the cluster manifest so that the operator adapts the cluster. + +```yaml +apiVersion: "cpo.opensource.cybertec.at/v1" +kind: postgresql +... +metadata: + name: cluster-1 +spec: + tls: + secretName: "cluster-1-tls" + caFile: "ca.crt" +``` + +##### Second Option: Using a separat Secret for the CA + +``` +kubectl create secret generic cpo-root-ca --from-file=ca.crt=ca.crt +``` + +``` +kubectl create secret generic cluster-1-tls \ + --from-file=tls.crt=$CN.crt \ + --from-file=tls.key=$CN.key \ +``` + +Finally, the definition is made in the cluster manifest so that the operator adapts the cluster. + +```yaml +apiVersion: "cpo.opensource.cybertec.at/v1" +kind: postgresql + +metadata: + name: cluster-1 +spec: + tls: + secretName: "cluster-1-tls" + caSecretName: "cpo-root-ca" + caFile: "ca.crt" +``` + +A regular check of the mounted certificates takes place automatically within the container. This check takes place every 5 minutes. If the certificates have been updated, the certificates are loaded automatically. + +{{< hint type=important >}} In addition to generating the certificates independently, [cert-manager](https://cert-manager.io/docs/) can also be used for this purpose. {{< /hint >}} diff --git a/docs/hugo/content/en/tutorials/_index.md b/docs/hugo/content/en/tutorials/_index.md new file mode 100644 index 000000000..1eb96870d --- /dev/null +++ b/docs/hugo/content/en/tutorials/_index.md @@ -0,0 +1,65 @@ +--- +title: "Tutorials" +date: 2023-12-28T14:26:51+01:00 +draft: false +weight: 2300 +--- +# Overview: CYBERTEC Operator Tutorials + +In this repository we provide various tutorials that demonstrate the use of the CYBERTEC operator. The tutorials contain cluster snippets that can be used directly with `kubectl`. + +## Using the tutorials + +The snippets provided can be deployed in two ways: + +- **With `kubectl apply -f`**: Use this method to apply a YAML file directly. +- With `kubectl apply -k`**: Use this method to execute kustomise-supported deployments. + +## Repository + +The repository with all tutorials can be found here: + +[CYBERTEC Operator Tutorials](https://github.com/cybertec-postgresql/CYBERTEC-operator-tutorials) + +### Cluster tutorials + +The specific cluster tutorials are available under the following path + +🔗 [Operator Helm-Chart](https://github.com/cybertec-postgresql/CYBERTEC-operator-tutorials/tree/main/setup/helm/operator) + +🔗 [Cluster Tutorials](https://github.com/cybertec-postgresql/CYBERTEC-operator-tutorials/tree/main/cluster-tutorials) + +#### Overview + +🔗 [Single Cluster](https://github.com/cybertec-postgresql/CYBERTEC-operator-tutorials/tree/main/cluster-tutorials/single-cluster) + +🔗 [Cluster-configured users and databases](https://github.com/cybertec-postgresql/CYBERTEC-operator-tutorials/tree/main/cluster-tutorials/configure_users_and_databases) +🔗 [Cluster with prepared databases](https://github.com/cybertec-postgresql/CYBERTEC-operator-tutorials/tree/main/cluster-tutorials/prepared_databases) + +🔗 [HA-Cluster](https://github.com/cybertec-postgresql/CYBERTEC-operator-tutorials/tree/main/cluster-tutorials/high-availability-cluster) + +🔗 [Cluster with Backup via PVC](https://github.com/cybertec-postgresql/CYBERTEC-operator-tutorials/tree/main/cluster-tutorials/pgbackrest_with_pvc) +🔗 [Cluster with Backup via S3](https://github.com/cybertec-postgresql/CYBERTEC-operator-tutorials/tree/main/cluster-tutorials/pgbackrest_with_s3) +🔗 [Cluster with Backup via GCS](https://github.com/cybertec-postgresql/CYBERTEC-operator-tutorials/tree/main/cluster-tutorials/pgbackrest_with_gcs) + +🔗 [Restore Cluster](https://github.com/cybertec-postgresql/CYBERTEC-operator-tutorials/tree/main/cluster-tutorials/restore) + +🔗 [Cluster with Pooler](https://github.com/cybertec-postgresql/CYBERTEC-operator-tutorials/tree/main/cluster-tutorials/cluster-with-pooler) + +🔗 [Cluster with Monitoring](https://github.com/cybertec-postgresql/CYBERTEC-operator-tutorials/tree/main/cluster-tutorials/monitored_cluster) + +🔗 [Cluster-Clone via PVC](https://github.com/cybertec-postgresql/CYBERTEC-operator-tutorials/tree/main/cluster-tutorials/clone_with_pvc) +🔗 [Cluster-Clone via S3](https://github.com/cybertec-postgresql/CYBERTEC-operator-tutorials/tree/main/cluster-tutorials/clone_with_s3) + +🔗 [Standby Cluster](https://github.com/cybertec-postgresql/CYBERTEC-operator-tutorials/tree/main/cluster-tutorials/standby-cluster) + +🔗 [Multisite-Cluster](https://github.com/cybertec-postgresql/CYBERTEC-operator-tutorials/tree/main/cluster-tutorials/multisite) + +🔗 [TDE-Cluster](https://github.com/cybertec-postgresql/CYBERTEC-operator-tutorials/tree/main/cluster-tutorials/tde-cluster) + + + + + + +Good luck trying it out! 🚀 \ No newline at end of file diff --git a/docs/hugo/go.mod b/docs/hugo/go.mod new file mode 100644 index 000000000..ad58e25dc --- /dev/null +++ b/docs/hugo/go.mod @@ -0,0 +1,5 @@ +module github.com/cybertec-postgresql/cybertec-pg-operator + +go 1.22.5 + +require github.com/cybertec-postgresql/hugo-geekdoc v0.0.0-20250130133505-d46e0dcc47c7 // indirect diff --git a/docs/hugo/go.sum b/docs/hugo/go.sum new file mode 100644 index 000000000..c36f9a4c3 --- /dev/null +++ b/docs/hugo/go.sum @@ -0,0 +1,2 @@ +github.com/cybertec-postgresql/hugo-geekdoc v0.0.0-20250130133505-d46e0dcc47c7 h1:l2xJB771iUIMN0zU1NKfFVqgnS0bQRFdCkVJhxVX7r4= +github.com/cybertec-postgresql/hugo-geekdoc v0.0.0-20250130133505-d46e0dcc47c7/go.mod h1:y+YYT9rdvbhqlFG8MvkmuP8A8Z2+WkraYEdLghEZLbs= diff --git a/docs/hugo/hugo.toml b/docs/hugo/hugo.toml new file mode 100644 index 000000000..600fa5515 --- /dev/null +++ b/docs/hugo/hugo.toml @@ -0,0 +1,13 @@ +baseURL = "https://cybertec-postgresql.github.io/CYBERTEC-pg-operator" +title = "CYBERTEC-PG-Operator" + +defaultContentLanguage = "en" + +[languages.en] +languageName = "English" +contentDir = "content/en" +weight = 10 + +[module] +[[module.imports]] +path = 'github.com/cybertec-postgresql/hugo-geekdoc' diff --git a/docs/hugo/layouts/shortcodes/back.html b/docs/hugo/layouts/shortcodes/back.html new file mode 100644 index 000000000..f9f10936a --- /dev/null +++ b/docs/hugo/layouts/shortcodes/back.html @@ -0,0 +1 @@ +
⬅ Back to Parent \ No newline at end of file diff --git a/docs/hugo/public/404.html b/docs/hugo/public/404.html new file mode 100644 index 000000000..6e83a4a06 --- /dev/null +++ b/docs/hugo/public/404.html @@ -0,0 +1,566 @@ + + + + + + + + + + + + Lost? Don't worry + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+ + +
+ + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
+
+
+ + + +
+
+
+ +
+
+
Lost?
+
Error 404
+
+ Seems like what you are looking for can't be found. Don't worry, we can bring you back to the homepage. + +
+
+
+
+ + + + +
+ + diff --git a/docs/hugo/public/architecture/architecture/index.html b/docs/hugo/public/architecture/architecture/index.html new file mode 100644 index 000000000..3c8a35743 --- /dev/null +++ b/docs/hugo/public/architecture/architecture/index.html @@ -0,0 +1,5248 @@ + + + + + + + + + + + + + Architecture | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + + +
+ + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
+
+
+ + + +
+ + + + + +
+ + + + + + + + + + + +
+ +
+ + +
+ + +
+ + +
+

Architecture

+
+
+ +

This chapter covers all important aspects relating to the architecture of CPO and the associated components. In addition to the underlying Kubertnetes, the various components and their interaction for the operation of a PostgreSQL cluster are analysed.

+
+

+ Brief overview of the components +

+ + + +
+ +
+

+ Network-Traffic +

+ + + +
+
+

+ PG-Cluster-intern Traffic +

+ + + +
+

With internal PG cluster-internal traffic, we are talking about all traffic that is necessary for the operation of the cluster itself. This includes

+
    +
  • Communication for the sync of the replicas: +
      +
    • pg_basebackup & streaming replication
    • +
    +
  • +
  • Communication with pgBackRest (if configured) +
      +
    • Backups
    • +
    • WAL archiving
    • +
    • replica-create for new replicas
    • +
    +
  • +
+

The figure below shows the internal traffic flows with pgBackRest based on block storage (left) or cloud storage (right)

+ + +
+

+ External Traffic +

+ + + +
+

External traffic, i.e. the connection to the database for the user or the application, takes place via defined Kubernetes services. A distinction must be made here between read/write and read only traffic.

+
+
+ read/write +
+ + + +
+
+
+ read-only +
+ + + +
+ +
+ + + + + + + +
+
+ + + +
+ + + + + + diff --git a/docs/hugo/public/architecture/compontens/index.html b/docs/hugo/public/architecture/compontens/index.html new file mode 100644 index 000000000..43ac92215 --- /dev/null +++ b/docs/hugo/public/architecture/compontens/index.html @@ -0,0 +1,5171 @@ + + + + + + + + + + + + + Software-Components | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + + +
+ + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
+
+
+ + + +
+ + + + + +
+ + + + + + + + + + + +
+ +
+ + +
+ + +
+ + +
+

Software-Components

+
+
+ +

Various software components are used to operate CPO. This chapter lists the most important components and their respective purposes.

+

Basically, the CPO project focusses on the main tasks of each individual component. This means that each component does what it does best and only that. +In addition to reliable operation, this should also ensure efficient development and project management that utilises existing approaches rather than fighting against them.

+
+

+ 1. CYBERTEC-pg-operator +

+ + + +
+

The CYBERTEC-pg-operator is a Kubernetes operator that automates the operation and management of PostgreSQL databases on Kubernetes clusters. It facilitates the provisioning, scaling, backup and recovery of PostgreSQL clusters and integrates tools such as Patroni and pgBackRest for high availability and backup management.

+

The main focus of the operator is the creation of the necessary templates and objects for Kubernetes, the regular check whether the declarative description of the cluster is still up to date and for the implementation of various tasks in the cluster, which were commissioned by the user.

+
+

+ 2. Kubernetes +

+ + + +
+

Kubernetes is an open source platform for automating the deployment, scaling and management of containerised applications. It enables the management of container clusters in different environments and offers functions such as automatic load balancing, self-healing and rollouts. Kubernetes ensures that applications are always available and scalable and provides a framework for managing infrastructure in a cloud-native environment.

+

The focus of Kubernetes in the context of CPO is the use of the operator’s templates to create the required objects. +For example, the statefulset controller creates the desired pods based on the template. Kubernetes or the respective controllers monitor the generated objects independently and react if they are missing or do not correspond to the template. +This means, for example, that pods that have been removed are automatically regenerated even if the operator is not currently running. This avoids the operator as a single point of failure.

+
+

+ 3. Patroni +

+ + + +
+

Patroni is an open source tool for managing PostgreSQL high availability clusters. It uses a distributed consensus mechanism, often based on Etcd, Consul or Zookeeper, to manage the role of the PostgreSQL primary node and perform automatic failovers. Patroni ensures that only one primary database server is active at a time, enabling consistency and availability of PostgreSQL databases in a cluster.

+

The focus of Patroni is to build, configure and monitor the PostgreSQL cluster based on the configuration created by the operator. Patroni therefore takes over all tasks such as leader selection, cluster monitoring, auto-failover and much more independently. +Patroni is included in every PostgreSQL container and therefore pod and focussed on the individual cluster. +This means that cluster management is guaranteed even without a currently running operator and therefore runs independently of the operator. This avoids the operator as a single point of failure.

+
+

+ 4. PostgreSQL +

+ + + +
+

PostgreSQL is a powerful, open source object-relational database management system (ORDBMS). It is known for its reliability, robustness and compliance with SQL standards. PostgreSQL supports advanced data types, functions and offers extensive customisation options. It is suitable for applications of any size and offers strong support for ACID transactions and Multi-Version Concurrency Control (MVCC).

+

The main role of PostgreSQL in the context of CPO is quite clear. Controlled by Patroni, PostgreSQL takes care of its task as a DBMS.

+
+

+ 5. pgBackRest +

+ + + +
+

pgBackRest is a reliable backup and restore tool for PostgreSQL databases. It offers features such as incremental backups, parallel backup and restore, compression and encryption. pgBackRest is designed for use in large databases and offers both local and remote backup options. It integrates well into Kubernetes environments and enables automated and efficient backup strategies.

+

pgBackRest is configured based on the cluster manifest and therefore via the operator. Automatic backups, on the other hand, are based on Kubernetes cron jobs and are therefore independent of the operator, apart from the template generation by the operator.

+
+

+ 6. pgBouncer +

+ + + +
+

PgBouncer is a lightweight connection pooler for PostgreSQL. It reduces the load on the database server by consolidating and efficiently managing incoming client connections. PgBouncer improves the performance and scalability of PostgreSQL-based applications by reducing the number of active connections while enabling fast switching times between different connections.

+ +
+ + + + + + + +
+
+ + + +
+ + + + + + diff --git a/docs/hugo/public/architecture/index.html b/docs/hugo/public/architecture/index.html new file mode 100644 index 000000000..b6c732cd1 --- /dev/null +++ b/docs/hugo/public/architecture/index.html @@ -0,0 +1,5081 @@ + + + + + + + + + + + + Architecture | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + + +
+ + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
+
+
+ + + +
+ + + + + +
+ + + + + + + + + + + +
+ +
+ + +
+ + +
+ + +
+

Architecture

+
+ +
+ +
+ + + + + + + +
+
+ + + +
+ + + + + + diff --git a/docs/hugo/public/architecture/index.xml b/docs/hugo/public/architecture/index.xml new file mode 100644 index 000000000..55c1bb52d --- /dev/null +++ b/docs/hugo/public/architecture/index.xml @@ -0,0 +1,26 @@ + + + + Architecture on CYBERTEC-PG-Operator + http://localhost:1313/CYBERTEC-pg-operator/architecture/ + Recent content in Architecture on CYBERTEC-PG-Operator + Hugo + en + Tue, 07 Mar 2023 14:26:51 +0100 + + + Software-Components + http://localhost:1313/CYBERTEC-pg-operator/architecture/compontens/ + Tue, 07 Mar 2023 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/architecture/compontens/ + <p>Various software components are used to operate CPO. This chapter lists the most important components and their respective purposes.</p> <p>Basically, the CPO project focusses on the main tasks of each individual component. This means that each component does what it does best and only that. In addition to reliable operation, this should also ensure efficient development and project management that utilises existing approaches rather than fighting against them.</p> <div class="flex align-center gdoc-page__anchorwrap"> <h3 id="1-cybertec-pg-operator" > 1. CYBERTEC-pg-operator </h3> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/architecture/compontens/#1-cybertec-pg-operator" class="gdoc-page__anchor clip flex align-center" title="Anchor to: 1. CYBERTEC-pg-operator" aria-label="Anchor to: 1. CYBERTEC-pg-operator" href="#1-cybertec-pg-operator"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <p>The CYBERTEC-pg-operator is a Kubernetes operator that automates the operation and management of PostgreSQL databases on Kubernetes clusters. It facilitates the provisioning, scaling, backup and recovery of PostgreSQL clusters and integrates tools such as Patroni and pgBackRest for high availability and backup management.</p> + + + Rolling-Updates + http://localhost:1313/CYBERTEC-pg-operator/architecture/rolling_update/ + Tue, 07 Mar 2023 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/architecture/rolling_update/ + <p>Whether updating the minor version, changing the hardware definitions of the cluster or other adjustments that require a pod restart, CPO ensures that the update is as uninterrupted as possible.</p> <p>This means that adjustments are carried out on the various pods of a particular cluster one after the other and in a sensible sequence. This happens as soon as a cluster consists of more than 1 PostgreSQL node.</p> <p>In the event of a necessary restart, the operator independently stops the pods and does not leave this to Kubernetes. The idea behind this is that all replica pods are restarted one after the other first. The operator recognises these by the label cpo.opensource.cybertec.at/role=replica set by Patroni</p> + + + diff --git a/docs/hugo/public/architecture/rolling_update/index.html b/docs/hugo/public/architecture/rolling_update/index.html new file mode 100644 index 000000000..1ed798adf --- /dev/null +++ b/docs/hugo/public/architecture/rolling_update/index.html @@ -0,0 +1,5114 @@ + + + + + + + + + + + + + Rolling-Updates | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + + +
+ + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
+
+
+ + + +
+ + + + + +
+ + + + + + + + + + + +
+ +
+ + +
+ + +
+ + +
+

Rolling-Updates

+
+
+ +

Whether updating the minor version, changing the hardware definitions of the cluster or other adjustments that require a pod restart, CPO ensures that the update is as uninterrupted as possible.

+

This means that adjustments are carried out on the various pods of a particular cluster one after the other and in a sensible sequence. This happens as soon as a cluster consists of more than 1 PostgreSQL node.

+

In the event of a necessary restart, the operator independently stops the pods and does not leave this to Kubernetes. The idea behind this is that all replica pods are restarted one after the other first. The operator recognises these by the label cpo.opensource.cybertec.at/role=replica set by Patroni

+

As soon as all replicas are ready again, the operator checks whether one of the replicas is able to take over cluster operation and performs a switchover. Only then is the former leader pod stopped and restarted.

+

This ensures that the only effect on the application is the switchover. + + + + + +

+
+
A completely uninterrupted handover of operation is not possible due to the architecture and connection handling of PostgreSQL.
+
+

+ +
+ + + + + + + +
+
+ + + +
+ + + + + + diff --git a/docs/hugo/public/backup/aws/index.html b/docs/hugo/public/backup/aws/index.html new file mode 100644 index 000000000..42889c9b3 --- /dev/null +++ b/docs/hugo/public/backup/aws/index.html @@ -0,0 +1,5186 @@ + + + + + + + + + + + + + via S3 | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + + +
+ + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
+
+
+ + + +
+ + + + + +
+ + + + + + + + + + + +
+ +
+ + +
+ + +
+ + +
+

via S3

+
+
+ +

This chapter describes the use of pgBackRest in combination with with AWS S3 or S3-compatible storage such as MinIO, Cloudian HyperStore or SwiftStack. It is not absolutely necessary to operate a Kubernetes on the AWS Cloud Platform. However, as with any cloud storage, the efficiency and therefore the duration of a backup depends on the connection.

+

This Chapter will use AWS S3 for the example, the usage of different s3-compatible Storage is similiar.

+ + + + + +
+
+
Precondition: a S3-bucket and a priviledged role with credentials is needed for this chapter.
+
+ +
+

+ Create a s3-bucket on the AWS console +

+ + + +
+
+

+ Create a priviledged service-role +

+ + + +
+
+

+ Modifying the Cluster +

+ + + +
+

As soon as all requirements are met:

+
    +
  • A S3 bucket
  • +
  • Access-Token and Secret-Access-Key for the service role with the required authorisations for the bucket
  • +
+

the cluster can be modified. Firstly, a secret containing the Credentials is created and the cluster manifest is adapted accordingly.

+

The first step is to create the required secret. This is most easily done storing the needed data in a file called s3.conf and using a kubectl command.

+
# Create a file with name s3.conf and add the following infos. Please replace the placeholder by the credentials
+[global]
+repo1-s3-key=YOUR_S3_ACCESS_KEY
+repo1-s3-key-secret=YOUR_S3_KEY_SECRET
+repo1-cipher-pass=YOUR_ENCRYPTION_PASSPHRASE
+
+# Create the secret with the credentials
+kubectl create secret generic cluster-1-s3-credentials --from-file=s3.conf=s3.conf
+

In the next step, the secret name ais stored in the secret in the cluster manifest. In addition, global settings, such as the retention time of the backups in the global object, are defined, the image for pgBackRest is specified and the necessary information for the repository is added. This includes both the desired storage path in the bucket and the times for automatic backups based on the cron syntax.

+
apiVersion: cpo.opensource.cybertec.at/v1
+kind: postgresql
+metadata:
+  name: cluster
+  namespace: cpo
+spec:
+  backup:
+    pgbackrest:
+      image: 'docker.io/cybertecpostgresql/cybertec-pg-container:pgbackrest-16.4-1'
+      repos:
+        - endpoint: 'https://s3-zurich.cyberlink.cloud:443'
+          name: repo1
+          region: zurich
+          resource: cpo-cluster-bucket
+          schedule:
+            full: 30 2 * * *
+            incr: '*/30 * * * *'
+          storage: s3
+      configuration:
+        secret: cluster-1-s3-credential
+      global:
+        repo1-path: /cluster/repo1/
+        repo1-retention-full: '7'
+        repo1-retention-full-type: count
+

This example creates a backup in the defined S3 bucket. In addition to the above configurations, a secret is also required which contains the access data for the S3 storage. The name of the secret must be stored in the spec.backup.pgbackrest.configuration.secret object and the secret must be located in the same namespace as the cluster. +Information required to address the S3 bucket:

+
    +
  • Endpoint: S3 api endpoint
  • +
  • Region: Region of the bucket
  • +
  • resource: Name of the bucket
  • +
+

An example with a sercret generator is also available in the tutorials. Enter your access data in the s3.conf file and transfer the tutorial to your Kubernetes with kubectl apply -k cluster-tutorials/pgbackrest_with_s3/.

+ +
+ + + + + + + +
+
+ + + +
+ + + + + + diff --git a/docs/hugo/public/backup/azure_blob/index.html b/docs/hugo/public/backup/azure_blob/index.html new file mode 100644 index 000000000..aeea90e7b --- /dev/null +++ b/docs/hugo/public/backup/azure_blob/index.html @@ -0,0 +1,5165 @@ + + + + + + + + + + + + + via Azure-Blob | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + + +
+ + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
+
+
+ + + +
+ + + + + +
+ + + + + + + + + + + +
+ +
+ + +
+ + +
+ + +
+

via Azure-Blob

+
+
+ +

This chapter describes the use of pgBackRest in combination with Azure Blob Storage. It is not absolutely necessary to operate a Kubernetes on the Azure Cloud Platform. However, as with any cloud storage, the efficiency and therefore the duration of a backup depends on the connection.

+ + + + + +
+
+
Precondition: a blob-storage-volume and a priviledged role is needed for this chapter.
+
+ +
+

+ Create a blob-storage-volume on the Azure console +

+ + + +
+
+

+ Create a priviledged service-role +

+ + + +
+
+

+ Modifying the Cluster +

+ + + +
+

As soon as all requirements are met:

+
    +
  • An Azure-Blob-Storage-Volume
  • +
  • A JSON token for the service role with the required authorisations for the Volume
  • +
+

the cluster can be modified. Firstly, a secret containing the JSON token is created and the cluster manifest is adapted accordingly.

+

The first step is to create the required secret. This is most easily done using a kubectl command.

+
kubectl create secret generic cluster-1-gcs-credentials --from-file=gcs.json=fluent.json
+

In the next step, both the secret name and the file name of the JSON token are stored in the secret in the cluster manifest. In addition, global settings, such as the retention time of the backups in the global object, are defined, the image for pgBackRest is specified and the necessary information for the repository is added. This includes both the desired storage path in the bucket and the times for automatic backups based on the cron syntax.

+
apiVersion: cpo.opensource.cybertec.at/v1
+kind: postgresql
+metadata:
+  name: cluster-1
+spec:
+  backup:
+    pgbackrest:
+      configuration:
+        secret: cluster-1-gcs-credentials
+      global:
+        repo1-path: /cluster-1/repo1/
+        repo1-retention-full: '7'
+        repo1-retention-full-type: count
+      image: docker.io/cybertecpostgresql/cybertec-pg-container:pgbackrest-16.4-1'
+      repos:
+        - name: repo1
+          resource: postgresql-backup-bucket
+          key: gcs.json
+          keyType: service
+          schedule:
+            full: 30 2 * * *
+          storage: gcs
+
+
+ + + + + + + +
+
+ + + +
+ + + + + + diff --git a/docs/hugo/public/backup/check_backups/index.html b/docs/hugo/public/backup/check_backups/index.html new file mode 100644 index 000000000..6c95e022c --- /dev/null +++ b/docs/hugo/public/backup/check_backups/index.html @@ -0,0 +1,5186 @@ + + + + + + + + + + + + + Check/Monitor Backups | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + + +
+ + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
+
+
+ + + +
+ + + + + +
+ + + + + + + + + + + +
+ +
+ + +
+ + +
+ + +
+

Check/Monitor Backups

+
+
+ +

There are several ways to gain an insight into the current status of pgBackRest. +One of these is to use pgBackRest within the container. This can be done both via the repo host and the Postgres pod.

+
+

+ pgbackrest via terminal (Repo-Host-Pod) +

+ + + +
+
kubectl exec cluster-5-pgbackrest-repo-host-0 --stdin --tty -- pgbackrest info 
+stanza: db
+    status: ok
+    cipher: none
+
+    db (current)
+        wal archive min/max (16): 00000006000000000000005C/000000070000000000000092
+
+        full backup: 20240517-125730F
+            timestamp start/stop: 2024-05-17 12:57:30+00 / 2024-05-17 12:57:41+00
+            wal start/stop: 00000007000000000000005E / 00000007000000000000005E
+            database size: 22.9MB, database backup size: 22.9MB
+            repo1: backup set size: 3MB, backup size: 3MB
+
+        incr backup: 20240517-125730F_20240517-130003I
+            timestamp start/stop: 2024-05-17 13:00:03+00 / 2024-05-17 13:00:05+00
+            wal start/stop: 000000070000000000000060 / 000000070000000000000060
+            database size: 22.9MB, database backup size: 904.3KB
+            repo1: backup set size: 3MB, backup size: 149.4KB
+            backup reference list: 20240517-125730F
+
+        incr backup: 20240517-125730F_20240517-131503I
+            timestamp start/stop: 2024-05-17 13:15:03+00 / 2024-05-17 13:15:04+00
+            wal start/stop: 000000070000000000000062 / 000000070000000000000062
+            database size: 22.9MB, database backup size: 24.3KB
+            repo1: backup set size: 3MB, backup size: 2.9KB
+            backup reference list: 20240517-125730F, 20240517-125730F_20240517-130003I
+
+

+ pgbackrest via terminal (Postgres-Pod) +

+ + + +
+
kubectl exec cluster-5-0 --stdin --tty -- pgbackrest info 
+Defaulted container "postgres" out of: postgres, postgres-exporter, pgbackrest-restore (init)
+stanza: db
+    status: ok
+    cipher: none
+
+    db (current)
+        wal archive min/max (16): 00000006000000000000005C/000000070000000000000092
+
+        full backup: 20240517-125730F
+            timestamp start/stop: 2024-05-17 12:57:30+00 / 2024-05-17 12:57:41+00
+            wal start/stop: 00000007000000000000005E / 00000007000000000000005E
+            database size: 22.9MB, database backup size: 22.9MB
+            repo1: backup set size: 3MB, backup size: 3MB
+
+        incr backup: 20240517-125730F_20240517-130003I
+            timestamp start/stop: 2024-05-17 13:00:03+00 / 2024-05-17 13:00:05+00
+            wal start/stop: 000000070000000000000060 / 000000070000000000000060
+            database size: 22.9MB, database backup size: 904.3KB
+            repo1: backup set size: 3MB, backup size: 149.4KB
+            backup reference list: 20240517-125730F
+
+        incr backup: 20240517-125730F_20240517-131503I
+            timestamp start/stop: 2024-05-17 13:15:03+00 / 2024-05-17 13:15:04+00
+            wal start/stop: 000000070000000000000062 / 000000070000000000000062
+            database size: 22.9MB, database backup size: 24.3KB
+            repo1: backup set size: 3MB, backup size: 2.9KB
+            backup reference list: 20240517-125730F, 20240517-125730F_20240517-130003I
+

There is the “normal” output, as well as the output format Json, which can be processed directly in the terminal.

+
kubectl exec cluster-5-0 --stdin --tty -- pgbackrest info  --output=json
+
+

+ Check pgBackrest via Monitoring +

+ + + +
+

In addition to reading the status via the containers, pgBackRest can also be analysed and monitored via the monitoring stack. You can find information on setting up the monitoring stack and further information here.

+ +
+ + + + + + + +
+
+ + + +
+ + + + + + diff --git a/docs/hugo/public/backup/encryption/index.html b/docs/hugo/public/backup/encryption/index.html new file mode 100644 index 000000000..160ffccaa --- /dev/null +++ b/docs/hugo/public/backup/encryption/index.html @@ -0,0 +1,5141 @@ + + + + + + + + + + + + + Encrypted Backups | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + + +
+ + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
+
+
+ + + +
+ + + + + +
+ + + + + + + + + + + +
+ +
+ + +
+ + +
+ + +
+

Encrypted Backups

+
+
+ +

pgBackRest also allows you to encrypt your backups on the client side before uploading them. This is possible with any type of storage and is very easy to activate.

+

Firstly, we need to define an encryption key. This must be specified separately for each repo and stored in the same secret that is defined in the spec.backup.pgbackrest.configuration.secret object.

+
kind: Secret
+apiVersion: v1
+metadata:
+  name: cluster-1-s3-credential
+  namespace: cpo
+stringData:
+  s3.conf |
+    [global]
+    repo1-s3-key=YOUR_S3_KEY
+    repo1-s3-key-secret=YOUR_S3_KEY_SECRET
+    repo1-cipher-pass=YOUR_ENCRYPTION_KEY
+

We also need to configure the type of encryption for pgBackRest. This is done via the cipher-type parameter, which must also be specified for each repo. You can find the available values for the parameter here

+
apiVersion: cpo.opensource.cybertec.at/v1
+kind: postgresql
+metadata:
+  name: cluster
+  namespace: cpo
+spec:
+  backup:
+    pgbackrest:
+      configuration:
+        secret: cluster-1-s3-credential
+      global:
+        repo1-path: /cluster/repo1/
+        repo1-retention-full: '7'
+        repo1-retention-full-type: count
+        repo1-cipher-type: aes-256-cbc
+      image: 'docker.io/cybertecpostgresql/cybertec-pg-container:pgbackrest-16.4-1'
+      repos:
+        - endpoint: 'https://s3-zurich.cyberlink.cloud:443'
+          name: repo1
+          region: zurich
+          resource: cpo-cluster-bucket
+          schedule:
+            full: 30 2 * * *
+            incr: '*/30 * * * *'
+          storage: s3
+
+
+ + + + + + + +
+
+ + + +
+ + + + + + diff --git a/docs/hugo/public/backup/gcs/index.html b/docs/hugo/public/backup/gcs/index.html new file mode 100644 index 000000000..c370b41f2 --- /dev/null +++ b/docs/hugo/public/backup/gcs/index.html @@ -0,0 +1,5165 @@ + + + + + + + + + + + + + via GCS | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + + +
+ + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
+
+
+ + + +
+ + + + + +
+ + + + + + + + + + + +
+ +
+ + +
+ + +
+ + +
+

via GCS

+
+
+ +

This chapter describes the use of pgBackRest in combination with Google Cloud Storage (gcs). It is not absolutely necessary to operate a Kubernetes on the Google Cloud Platform. However, as with any cloud storage, the efficiency and therefore the duration of a backup depends on the connection.

+ + + + + +
+
+
Precondition: a gcs-bucket and a priviledged role is needed for this chapter.
+
+ +
+

+ Create a gcs-bucket on the google cloud console +

+ + + +
+
+

+ Create a priviledged service-role +

+ + + +
+
+

+ Modifying the Cluster +

+ + + +
+

As soon as all requirements are met:

+
    +
  • A GCS bucket
  • +
  • A JSON token for the service role with the required authorisations for the bucket
  • +
+

the cluster can be modified. Firstly, a secret containing the JSON token is created and the cluster manifest is adapted accordingly.

+

The first step is to create the required secret. This is most easily done using a kubectl command.

+
kubectl create secret generic cluster-1-gcs-credentials --from-file=gcs.json=fluent.json
+

In the next step, both the secret name and the file name of the JSON token are stored in the secret in the cluster manifest. In addition, global settings, such as the retention time of the backups in the global object, are defined, the image for pgBackRest is specified and the necessary information for the repository is added. This includes both the desired storage path in the bucket and the times for automatic backups based on the cron syntax.

+
apiVersion: cpo.opensource.cybertec.at/v1
+kind: postgresql
+metadata:
+  name: cluster-1
+spec:
+  backup:
+    pgbackrest:
+      configuration:
+        secret: cluster-1-gcs-credentials
+      global:
+        repo1-path: /cluster-1/repo1/
+        repo1-retention-full: '7'
+        repo1-retention-full-type: count
+      image: docker.io/cybertecpostgresql/cybertec-pg-container:pgbackrest-16.4-1'
+      repos:
+        - name: repo1
+          resource: postgresql-backup-bucket
+          key: gcs.json
+          keyType: service
+          schedule:
+            full: 30 2 * * *
+          storage: gcs
+
+
+ + + + + + + +
+
+ + + +
+ + + + + + diff --git a/docs/hugo/public/backup/index.html b/docs/hugo/public/backup/index.html new file mode 100644 index 000000000..f95bee995 --- /dev/null +++ b/docs/hugo/public/backup/index.html @@ -0,0 +1,5081 @@ + + + + + + + + + + + + Backup | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + + +
+ + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
+
+
+ + + +
+ + + + + +
+ + + + + + + + + + + +
+ +
+ + +
+ + +
+ + +
+

Backup

+
+ +
+ +
+ + + + + + + +
+
+ + + +
+ + + + + + diff --git a/docs/hugo/public/backup/index.xml b/docs/hugo/public/backup/index.xml new file mode 100644 index 000000000..67ec94dc6 --- /dev/null +++ b/docs/hugo/public/backup/index.xml @@ -0,0 +1,61 @@ + + + + Backup on CYBERTEC-PG-Operator + http://localhost:1313/CYBERTEC-pg-operator/backup/ + Recent content in Backup on CYBERTEC-PG-Operator + Hugo + en + Thu, 28 Dec 2023 14:26:51 +0100 + + + Introduction + http://localhost:1313/CYBERTEC-pg-operator/backup/introduction/ + Thu, 28 Dec 2023 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/backup/introduction/ + <p>Backups are essential for databases. From broken storage to deployments gone wrong, backups often save the day. Starting with pg_dump, which was released in the late 1990s, to the archiving of WAL files (PostgreSQL 8.0 / 2005) and pg_basebackup (PostgreSQL 9.0 / 2010), PostgreSQL already offers built-in options for backups and restores based on logical and physical backups.</p> <div class="flex align-center gdoc-page__anchorwrap"> <h3 id="backups-with-pgbackrest" > Backups with pgBackRest </h3> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/backup/introduction/#backups-with-pgbackrest" class="gdoc-page__anchor clip flex align-center" title="Anchor to: Backups with pgBackRest" aria-label="Anchor to: Backups with pgBackRest" href="#backups-with-pgbackrest"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <p>CPO relies on <a class="gdoc-markdown__link" href="www.pgbackrest.org" >pgBackRest</a> as its backup solution, a tried-and-tested tool with extensive backup and restore options. The backup is based on two elements:</p> + + + via Blockstorage (pvc) + http://localhost:1313/CYBERTEC-pg-operator/backup/pvc/ + Thu, 28 Dec 2023 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/backup/pvc/ + <div class="flex align-center gdoc-page__anchorwrap"> <h3 id="backups-on-pvc-persistentvolumeclaim" > Backups on PVC (PersistentVolumeClaim) </h3> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/backup/pvc/#backups-on-pvc-persistentvolumeclaim" class="gdoc-page__anchor clip flex align-center" title="Anchor to: Backups on PVC (PersistentVolumeClaim)" aria-label="Anchor to: Backups on PVC (PersistentVolumeClaim)" href="#backups-on-pvc-persistentvolumeclaim"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <p>When using block storage, the operator creates an additional pod that acts as a repo host. Based on a TLS connection, the repo host obtains the data for the Backup from the current primary of the cluster, which is compressed before being sent. WAL archives are pushed from the primary pod to the repo host.</p> + + + via S3 + http://localhost:1313/CYBERTEC-pg-operator/backup/aws/ + Thu, 28 Dec 2023 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/backup/aws/ + <p>This chapter describes the use of pgBackRest in combination with with AWS S3 or S3-compatible storage such as MinIO, Cloudian HyperStore or SwiftStack. It is not absolutely necessary to operate a Kubernetes on the AWS Cloud Platform. However, as with any cloud storage, the efficiency and therefore the duration of a backup depends on the connection.</p> <p>This Chapter will use AWS S3 for the example, the usage of different s3-compatible Storage is similiar.</p> + + + via GCS + http://localhost:1313/CYBERTEC-pg-operator/backup/gcs/ + Thu, 28 Dec 2023 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/backup/gcs/ + <p>This chapter describes the use of pgBackRest in combination with Google Cloud Storage (gcs). It is not absolutely necessary to operate a Kubernetes on the Google Cloud Platform. However, as with any cloud storage, the efficiency and therefore the duration of a backup depends on the connection.</p> <blockquote class="gdoc-hint important"> <div class="gdoc-hint__title flex align-center"><i class="fa important" title="Important"></i></div> <div class="gdoc-hint__text">Precondition: a gcs-bucket and a priviledged role is needed for this chapter.</div> </blockquote> <div class="flex align-center gdoc-page__anchorwrap"> <h3 id="create-a-gcs-bucket-on-the-google-cloud-console" > Create a gcs-bucket on the google cloud console </h3> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/backup/gcs/#create-a-gcs-bucket-on-the-google-cloud-console" class="gdoc-page__anchor clip flex align-center" title="Anchor to: Create a gcs-bucket on the google cloud console" aria-label="Anchor to: Create a gcs-bucket on the google cloud console" href="#create-a-gcs-bucket-on-the-google-cloud-console"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <div class="flex align-center gdoc-page__anchorwrap"> <h3 id="create-a-priviledged-service-role" > Create a priviledged service-role </h3> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/backup/gcs/#create-a-priviledged-service-role" class="gdoc-page__anchor clip flex align-center" title="Anchor to: Create a priviledged service-role" aria-label="Anchor to: Create a priviledged service-role" href="#create-a-priviledged-service-role"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <div class="flex align-center gdoc-page__anchorwrap"> <h3 id="modifying-the-cluster" > Modifying the Cluster </h3> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/backup/gcs/#modifying-the-cluster" class="gdoc-page__anchor clip flex align-center" title="Anchor to: Modifying the Cluster" aria-label="Anchor to: Modifying the Cluster" href="#modifying-the-cluster"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <p>As soon as all requirements are met:</p> + + + via Azure-Blob + http://localhost:1313/CYBERTEC-pg-operator/backup/azure_blob/ + Thu, 28 Dec 2023 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/backup/azure_blob/ + <p>This chapter describes the use of pgBackRest in combination with Azure Blob Storage. It is not absolutely necessary to operate a Kubernetes on the Azure Cloud Platform. However, as with any cloud storage, the efficiency and therefore the duration of a backup depends on the connection.</p> <blockquote class="gdoc-hint important"> <div class="gdoc-hint__title flex align-center"><i class="fa important" title="Important"></i></div> <div class="gdoc-hint__text">Precondition: a blob-storage-volume and a priviledged role is needed for this chapter.</div> </blockquote> <div class="flex align-center gdoc-page__anchorwrap"> <h3 id="create-a-blob-storage-volume-on-the-azure-console" > Create a blob-storage-volume on the Azure console </h3> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/backup/azure_blob/#create-a-blob-storage-volume-on-the-azure-console" class="gdoc-page__anchor clip flex align-center" title="Anchor to: Create a blob-storage-volume on the Azure console" aria-label="Anchor to: Create a blob-storage-volume on the Azure console" href="#create-a-blob-storage-volume-on-the-azure-console"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <div class="flex align-center gdoc-page__anchorwrap"> <h3 id="create-a-priviledged-service-role" > Create a priviledged service-role </h3> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/backup/azure_blob/#create-a-priviledged-service-role" class="gdoc-page__anchor clip flex align-center" title="Anchor to: Create a priviledged service-role" aria-label="Anchor to: Create a priviledged service-role" href="#create-a-priviledged-service-role"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <div class="flex align-center gdoc-page__anchorwrap"> <h3 id="modifying-the-cluster" > Modifying the Cluster </h3> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/backup/azure_blob/#modifying-the-cluster" class="gdoc-page__anchor clip flex align-center" title="Anchor to: Modifying the Cluster" aria-label="Anchor to: Modifying the Cluster" href="#modifying-the-cluster"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <p>As soon as all requirements are met:</p> + + + Encrypted Backups + http://localhost:1313/CYBERTEC-pg-operator/backup/encryption/ + Thu, 28 Dec 2023 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/backup/encryption/ + <p>pgBackRest also allows you to encrypt your backups on the client side before uploading them. This is possible with any type of storage and is very easy to activate.</p> <p>Firstly, we need to define an encryption key. This must be specified separately for each repo and stored in the same secret that is defined in the <code>spec.backup.pgbackrest.configuration.secret</code> object.</p> <pre tabindex="0"><code>kind: Secret apiVersion: v1 metadata: name: cluster-1-s3-credential namespace: cpo stringData: s3.conf | [global] repo1-s3-key=YOUR_S3_KEY repo1-s3-key-secret=YOUR_S3_KEY_SECRET repo1-cipher-pass=YOUR_ENCRYPTION_KEY </code></pre><p>We also need to configure the type of encryption for pgBackRest. This is done via the cipher-type parameter, which must also be specified for each repo. You can find the available values for the parameter <a class="gdoc-markdown__link" href="https://pgbackrest.org/configuration.html#section-repository/option-repo-cipher-type" >here</a></p> + + + Check/Monitor Backups + http://localhost:1313/CYBERTEC-pg-operator/backup/check_backups/ + Thu, 28 Dec 2023 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/backup/check_backups/ + <p>There are several ways to gain an insight into the current status of pgBackRest. One of these is to use pgBackRest within the container. This can be done both via the repo host and the Postgres pod.</p> <div class="flex align-center gdoc-page__anchorwrap"> <h3 id="pgbackrest-via-terminal-repo-host-pod" > pgbackrest via terminal (Repo-Host-Pod) </h3> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/backup/check_backups/#pgbackrest-via-terminal-repo-host-pod" class="gdoc-page__anchor clip flex align-center" title="Anchor to: pgbackrest via terminal (Repo-Host-Pod)" aria-label="Anchor to: pgbackrest via terminal (Repo-Host-Pod)" href="#pgbackrest-via-terminal-repo-host-pod"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <pre tabindex="0"><code>kubectl exec cluster-5-pgbackrest-repo-host-0 --stdin --tty -- pgbackrest info stanza: db status: ok cipher: none db (current) wal archive min/max (16): 00000006000000000000005C/000000070000000000000092 full backup: 20240517-125730F timestamp start/stop: 2024-05-17 12:57:30+00 / 2024-05-17 12:57:41+00 wal start/stop: 00000007000000000000005E / 00000007000000000000005E database size: 22.9MB, database backup size: 22.9MB repo1: backup set size: 3MB, backup size: 3MB incr backup: 20240517-125730F_20240517-130003I timestamp start/stop: 2024-05-17 13:00:03+00 / 2024-05-17 13:00:05+00 wal start/stop: 000000070000000000000060 / 000000070000000000000060 database size: 22.9MB, database backup size: 904.3KB repo1: backup set size: 3MB, backup size: 149.4KB backup reference list: 20240517-125730F incr backup: 20240517-125730F_20240517-131503I timestamp start/stop: 2024-05-17 13:15:03+00 / 2024-05-17 13:15:04+00 wal start/stop: 000000070000000000000062 / 000000070000000000000062 database size: 22.9MB, database backup size: 24.3KB repo1: backup set size: 3MB, backup size: 2.9KB backup reference list: 20240517-125730F, 20240517-125730F_20240517-130003I </code></pre><div class="flex align-center gdoc-page__anchorwrap"> <h3 id="pgbackrest-via-terminal-postgres-pod" > pgbackrest via terminal (Postgres-Pod) </h3> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/backup/check_backups/#pgbackrest-via-terminal-postgres-pod" class="gdoc-page__anchor clip flex align-center" title="Anchor to: pgbackrest via terminal (Postgres-Pod)" aria-label="Anchor to: pgbackrest via terminal (Postgres-Pod)" href="#pgbackrest-via-terminal-postgres-pod"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <pre tabindex="0"><code>kubectl exec cluster-5-0 --stdin --tty -- pgbackrest info Defaulted container &#34;postgres&#34; out of: postgres, postgres-exporter, pgbackrest-restore (init) stanza: db status: ok cipher: none db (current) wal archive min/max (16): 00000006000000000000005C/000000070000000000000092 full backup: 20240517-125730F timestamp start/stop: 2024-05-17 12:57:30+00 / 2024-05-17 12:57:41+00 wal start/stop: 00000007000000000000005E / 00000007000000000000005E database size: 22.9MB, database backup size: 22.9MB repo1: backup set size: 3MB, backup size: 3MB incr backup: 20240517-125730F_20240517-130003I timestamp start/stop: 2024-05-17 13:00:03+00 / 2024-05-17 13:00:05+00 wal start/stop: 000000070000000000000060 / 000000070000000000000060 database size: 22.9MB, database backup size: 904.3KB repo1: backup set size: 3MB, backup size: 149.4KB backup reference list: 20240517-125730F incr backup: 20240517-125730F_20240517-131503I timestamp start/stop: 2024-05-17 13:15:03+00 / 2024-05-17 13:15:04+00 wal start/stop: 000000070000000000000062 / 000000070000000000000062 database size: 22.9MB, database backup size: 24.3KB repo1: backup set size: 3MB, backup size: 2.9KB backup reference list: 20240517-125730F, 20240517-125730F_20240517-130003I </code></pre><p>There is the &ldquo;normal&rdquo; output, as well as the output format Json, which can be processed directly in the terminal.</p> + + + diff --git a/docs/hugo/public/backup/introduction/index.html b/docs/hugo/public/backup/introduction/index.html new file mode 100644 index 000000000..f8cd17956 --- /dev/null +++ b/docs/hugo/public/backup/introduction/index.html @@ -0,0 +1,5223 @@ + + + + + + + + + + + + + Introduction | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + + +
+ + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
+
+
+ + + +
+ + + + + +
+ + + + + + + + + + + +
+ +
+ + +
+ + +
+ + +
+

Introduction

+
+
+ +

Backups are essential for databases. From broken storage to deployments gone wrong, backups often save the day. Starting with pg_dump, which was released in the late 1990s, to the archiving of WAL files (PostgreSQL 8.0 / 2005) and pg_basebackup (PostgreSQL 9.0 / 2010), PostgreSQL already offers built-in options for backups and restores based on logical and physical backups.

+
+

+ Backups with pgBackRest +

+ + + +
+

CPO relies on pgBackRest as its backup solution, a tried-and-tested tool with extensive backup and restore options. +The backup is based on two elements:

+
    +
  • Snapshots in the form of physical backups
  • +
  • WAL archive: Continuous archiving of the WAL files
  • +
+
+

+ Backups +

+ + + +
+

Backups represent a snapshot of the database in the form of pyhsical files. This contains all relevant information that PostgreSQL holds in its data folder. +With pgBackRest it is possible to create different types of Backups:

+
    +
  • full Snapshot: This captures and saves all files at the time of the backup
  • +
  • Differential backup: Only captures all files that have been changed since the last full Backup
  • +
  • Incremental backup: Only records the files that have been changed since the last backup (of any kind).
  • +
+

When restoring using differential or incremental Backup, it is necessary to also use the previous Backup that provide the basis for the selected Backup.

+ + + + + +
+
+
The choice of Backup types depends on factors such as the size of the database, the time available for backups and the restore.
+
+ +
+

+ WAL-Archive +

+ + + +
+

The WAL (Write-Ahead-Log) refers to log files which record all changes to the database data before they are written to the actual files. The basic idea here is to guarantee the consistency and recoverability of the comitted data even in the event of failures.

+

PostgreSQL normally cleans up or recycles the WAL files that are no longer required. By using WAL archiving, the WAL files are saved to a different location before this process so that they can be used for various activities in the future. +These activities include

+
    +
  • Providing the WAL files for replicas to keep them up to date
  • +
  • Restoring instances that have lost parts of the WAL files in the event of a failure and cannot return to a consistent state without them without losing data
  • +
  • Point-In-Time-Recovery (PITR): In contrast to Backups, which map a fixed point in time, WAL files make it possible to jump dynamically to a desired point in time and restore the database to the closest available consistent data point
  • +
+ + + + + +
+
+
WAL archiving is an indispensable tool for data availability, recoverability and the continuous availability of PostgreSQL.
+
+ +
+

+ Backup your Cluster +

+ + + +
+

With pgBackRest, backups can be stored on different types of storage:

+
    +
  • Block storage (PVC)
  • +
  • S3 / S3-compatible storage
  • +
  • Azure blob storage
  • +
  • GCS
  • +
+
+

+ How a Backup works +

+ + + +
+

The operator creates a cronjob object on Kubernetes based on the defined times for automatic backups. This means that the Kubernetes core (CronJob Controller) will take care of processing the automatic backups and create a job and thus a pod at the appropriate time. +The pod will send the backup command to the primary or, if block storage is used, to the repo host and monitor it. As soon as the backup is successfully completed, the pod stops with Completed and thus completes the job.

+
kubectl get cronjobs
+---------------------------------------------------------------------------------------
+NAME                          | SCHEDULE     | SUSPEND | ACTIVE | LAST SCHEDULE | AGE
+pgbackrest-cluster-repo1-full | 30 2 * * *   | False   | 0      | 4h46m         | 14h
+pgbackrest-cluster-repo1-incr | */30 * * * * | False   | 1      | 81s           | 106m
+
+kubectl get jobs
+-----------------------------------------------------------------------
+NAME                                   | COMPLETIONS | DURATION | AGE
+pgbackrest-cluster-repo1-full-28597110 | 1/1         | 52s      | 140m
+pgbackrest-cluster-repo1-incr-28597365 | 1/1         | 2m37s    | 32m
+pgbackrest-cluster-repo1-incr-28597380 | 1/1         | 2m38s    | 17m
+pgbackrest-cluster-repo1-incr-28597395 | 0/1         | 2m3s     | 2m3s
+

If there are problems such as a timeout, the pod will stop with exit code 1 and thus indicate an error. In this case, a new pod will be created which will attempt to complete the backup. The maximum number of attempts is 6, so if the backup fails six times, the job is deemed to have failed and will not be attempted again until the next cronjob execution. The job pod log provides information about the problems.

+
kubectl get pods
+-----------------------------------------------------------------------------------
+NAME                                         | READY | STATUS    | RESTARTS | AGE
+cluster-0                                    | 2/2   | Running   | 2        | 14h
+cluster-pgbackrest-repo-host-0               | 1/1   | Running   | 0        | 107m
+pgbackrest-cluster-repo1-full-28597110-x8zpw | 0/1   | Completed | 0        | 143m
+pgbackrest-cluster-repo1-incr-28597365-7bb5l | 0/1   | Completed | 0        | 34m
+pgbackrest-cluster-repo1-incr-28597380-j76rr | 0/1   | Completed | 0        | 19m
+pgbackrest-cluster-repo1-incr-28597395-rh86t | 0/1   | Completed | 0        | 4m27s
+postgres-operator-66bbff5c54-5sjmk           | 1/1   | Running   | 0        | 47m
+
+
+ + + + + + + +
+
+ + + +
+ + + + + + diff --git a/docs/hugo/public/backup/pvc/index.html b/docs/hugo/public/backup/pvc/index.html new file mode 100644 index 000000000..c1ee1b475 --- /dev/null +++ b/docs/hugo/public/backup/pvc/index.html @@ -0,0 +1,5138 @@ + + + + + + + + + + + + + via Blockstorage (pvc) | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + + +
+ + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
+
+
+ + + +
+ + + + + +
+ + + + + + + + + + + +
+ +
+ + +
+ + +
+ + +
+

via Blockstorage (pvc)

+
+
+ +
+

+ Backups on PVC (PersistentVolumeClaim) +

+ + + +
+

When using block storage, the operator creates an additional pod that acts as a repo host. Based on a TLS connection, the repo host obtains the data for the Backup from the current primary of the cluster, which is compressed before being sent. +WAL archives are pushed from the primary pod to the repo host.

+
apiVersion: cpo.opensource.cybertec.at/v1
+kind: postgresql
+metadata:
+  name: cluster
+  namespace: cpo
+spec:
+  backup:
+    pgbackrest:
+      image: 'docker.io/cybertecpostgresql/cybertec-pg-container:pgbackrest-16.4-1'
+      repos:
+        - name: repo1
+          schedule:
+            full: 30 2 * * *
+          storage: pvc
+          volume:
+            size: 15Gi
+            storageClass: default
+      global:
+        repo1-retention-full: '7'
+        repo1-retention-full-type: count
+

This example creates backups based on a repo host with a daily full Backup at 2:30 am. In addition, pgBackRest is instructed to keep a maximum of 7 full Backups. The oldest one is always removed when a new Backup is created. You can increase the pvc-size all time if needed. Therefore you just need to update the size value to a higher amount of Gi. Please be aware that shrinking the volume is not possible.

+ + + + + +
+
+
In addition, further configurations for pgBackRest can be defined in the global object. Information on possible configurations can be found in the pgBackRest documentation
+
+ + +
+ + + + + + + +
+
+ + + +
+ + + + + + diff --git a/docs/hugo/public/brand.svg b/docs/hugo/public/brand.svg new file mode 100644 index 000000000..16a25aea6 --- /dev/null +++ b/docs/hugo/public/brand.svg @@ -0,0 +1,53 @@ + + + + + + + + + + + diff --git a/docs/hugo/public/categories/index.html b/docs/hugo/public/categories/index.html new file mode 100644 index 000000000..46f21197e --- /dev/null +++ b/docs/hugo/public/categories/index.html @@ -0,0 +1,4972 @@ + + + + + + + + + + + + Categories | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + + +
+ + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
+
+
+ + + +
+ + + + + +
+ + + + + + + + + + + + + + +
+
+ + + +
+ + + + + + diff --git a/docs/hugo/public/categories/index.xml b/docs/hugo/public/categories/index.xml new file mode 100644 index 000000000..a69d9eff8 --- /dev/null +++ b/docs/hugo/public/categories/index.xml @@ -0,0 +1,11 @@ + + + + Categories on CYBERTEC-PG-Operator + http://localhost:1313/CYBERTEC-pg-operator/categories/ + Recent content in Categories on CYBERTEC-PG-Operator + Hugo + en + + + diff --git a/docs/hugo/public/categories/page/1/index.html b/docs/hugo/public/categories/page/1/index.html new file mode 100644 index 000000000..fdeee7189 --- /dev/null +++ b/docs/hugo/public/categories/page/1/index.html @@ -0,0 +1,10 @@ + + + + http://localhost:1313/CYBERTEC-pg-operator/categories/ + + + + + + diff --git a/docs/hugo/public/certs/index.html b/docs/hugo/public/certs/index.html new file mode 100644 index 000000000..a280f56e2 --- /dev/null +++ b/docs/hugo/public/certs/index.html @@ -0,0 +1,4940 @@ + + + + + + + + + + + + + Certificates | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + + +
+ + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
+
+
+ + + +
+ + + + + +
+ + + + + + + + + + + +
+ +
+ + +
+ + +
+ + +
+

Certificates

+
+ +
+

tbd

+ +
+ + + + + + + +
+
+ + + +
+ + + + + + diff --git a/docs/hugo/public/certs/index.xml b/docs/hugo/public/certs/index.xml new file mode 100644 index 000000000..8b7986f68 --- /dev/null +++ b/docs/hugo/public/certs/index.xml @@ -0,0 +1,12 @@ + + + + Certificates on CYBERTEC-PG-Operator + http://localhost:1313/CYBERTEC-pg-operator/certs/ + Recent content in Certificates on CYBERTEC-PG-Operator + Hugo + en + + + + diff --git a/docs/hugo/public/clone-cluster/index.html b/docs/hugo/public/clone-cluster/index.html new file mode 100644 index 000000000..1eab20072 --- /dev/null +++ b/docs/hugo/public/clone-cluster/index.html @@ -0,0 +1,5192 @@ + + + + + + + + + + + + + Clone Cluster | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + + +
+ + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
+
+
+ + + +
+ + + + + +
+ + + + + + + + + + + +
+ +
+ + +
+ + +
+ + +
+

Clone Cluster

+
+ +
+

The function of a cluster clone was implemented to create the possibility of duplicating the current status of a cluster in order to carry out tests such as a major upgrade. +It creates an autonomous and independent cluster based on an existing local cluster or from a cloud storage via pgBackRest (S3, gcs or Azure Blob)

+
+

+ Preconditions: +

+ + + +
+

The primary cluster must either:

+
    +
  • be accessible from the standby cluster via streaming replication
  • +
  • the backup storage used by the standby cluster (S3, GCS or Azure Blob) must be accessible for the standby cluster
  • +
+

The passwords for the Postgres user, the replication user and the exporter user (if monitoring is active) must be created as a secret for the standby cluster. Otherwise connection problems will occur

+
+

+ Clone a cluster via pvc +

+ + + +
+
apiVersion: cpo.opensource.cybertec.at/v1
+kind: postgresql
+metadata:
+  name: cluster-1-clone
+spec:
+  dockerImage: 'docker.io/cybertecpostgresql/cybertec-pg-container:postgres-17.4-1'
+  numberOfInstances: 1
+  postgresql:
+    version: '17'
+  resources:
+    limits:
+      cpu: 500m
+      memory: 500Mi
+    requests:
+      cpu: 500m
+      memory: 500Mi
+  teamId: acid
+  volume:
+    size: 5Gi
+  clone:
+    cluster: cluster-1
+    pgbackrest:
+      configuration:
+        secret: cluster-1-pvc-configuration
+      repo:
+        storage: pvc
+
+

+ Clone a cluster via s3 +

+ + + +
+
apiVersion: cpo.opensource.cybertec.at/v1
+kind: postgresql
+metadata:
+  name: cluster-1-clone
+spec:
+  dockerImage: 'docker.io/cybertecpostgresql/cybertec-pg-container:postgres-17.4-1'
+  numberOfInstances: 1
+  postgresql:
+    version: '17'
+  resources:
+    limits:
+      cpu: 500m
+      memory: 500Mi
+    requests:
+      cpu: 500m
+      memory: 500Mi
+  teamId: acid
+  volume:
+    size: 5Gi
+  clone:
+    cluster: cluster-1 # A random cluster name can be used if the source cluster is not present on the k8s.
+    pgbackrest:
+      configuration:
+        secret: cluster-1-s3-credentials
+      options:
+        repo1-path: /YOUR_PATH_INSIDE_THE_BUCKET_TO_THE_SOURCE_STANZA/repo1/
+      repo:
+        endpoint: YOUR_SOURCE_S3_ENDPOINT
+        name: repo1
+        region: YOUR_SOURCE_S3_REGION
+        resource: YOUR_SOURCE_BUCKET_NAME
+        storage: s3
+
+

+ Limitations +

+ + + +
+

A primary cluster cannot be demoted to a standby cluster. +If necessary, the recommendation is to create a new cluster as a standby cluster.

+ +
+ + + + + + + +
+
+ + + +
+ + + + + + diff --git a/docs/hugo/public/clone-cluster/index.xml b/docs/hugo/public/clone-cluster/index.xml new file mode 100644 index 000000000..7f2f31a5f --- /dev/null +++ b/docs/hugo/public/clone-cluster/index.xml @@ -0,0 +1,12 @@ + + + + Clone Cluster on CYBERTEC-PG-Operator + http://localhost:1313/CYBERTEC-pg-operator/clone-cluster/ + Recent content in Clone Cluster on CYBERTEC-PG-Operator + Hugo + en + + + + diff --git a/docs/hugo/public/cluster_upgrade/index.html b/docs/hugo/public/cluster_upgrade/index.html new file mode 100644 index 000000000..346a02052 --- /dev/null +++ b/docs/hugo/public/cluster_upgrade/index.html @@ -0,0 +1,5102 @@ + + + + + + + + + + + + + Major-Upgrade | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + + +
+ + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
+
+
+ + + +
+ + + + + +
+ + + + + + + + + + + +
+ +
+ + +
+ + +
+ + +
+

Major-Upgrade

+
+ +
+

CPO enables the use of the in-place upgrade, which makes it possible to upgrade a cluster to a new PG major. For this purpose, pg_upgrade is used in the background.

+
+

PAY ATTENTION: Note that an in-place upgrade generates both a pod restore in the form of a rolling update and an operational interruption of the cluster during the actual execution of the restore.

+
+

+ How does the upgrade work? +

+ + + +
+
+

+ Preconditions: +

+ + + +
+
    +
  1. Pod restart - Use the rolling update strategy to replace all pods based on the new ENV PGVERSION with the version you want to update to.
  2. +
  3. Check - Check that the new PGVERSION is larger than the previously used one.
  4. +
  5. Check whether the new PGVERSION is larger than the previously used one and the maintenance mode of the cluster must be deactivated. In addition, the replicas should not have a high lag.
  6. +
+
+

+ Preliminary checks +

+ + + +
+
    +
  1. use initdb to prepare a new data_dir (data_new) based on the new PGVERSION.
  2. +
  3. check the upgrade possibility with pg_upgrade --check
  4. +
+
+

HINT: If one of the steps is aborted, a cleanup is performed

+
+

+ Prepare the Upgrade +

+ + + +
+
    +
  1. remove dependencies that can cause problems. For example, the extensions pg_stat_statements and pgaudit.
  2. +
  3. activate the maintenance mode of the cluster
  4. +
  5. terminate PostgreSQL in an orderly manner
  6. +
  7. check pg_controldata for the checkpoint position and wait until all replicas apply the latest checkpoint location
  8. +
  9. use port 5432 for rsyncd and start it
  10. +
+
+

+ Start the Upgrade +

+ + + +
+
    +
  1. Call pg_upgrade -k to start the Upgrade
  2. +
+
+

ATTENTION if the process failed, we need to rollback, if it was sucessful we’re reaching the point of no return

+
    +
  1. Rename the directories. data -> data_old and data_new -> data
  2. +
  3. Update the Patroni.config (postgres.yml)
  4. +
  5. Call Checkpoint on every replica and trigger rsync on the Replicas
  6. +
  7. Wait for Replicas to complete rsxnc. Timeout: 300
  8. +
  9. Stop rsyncd on Primary and remove ininitialize key from DCS, because its based on the old sysid
  10. +
  11. Start Patroni on the Primary and start the postgres locally
  12. +
  13. Reset custom staticstics, warmup the Memory and start Analyze in stages in separate threads
  14. +
  15. Wait for every Replica to become ready
  16. +
  17. Disable the maintenance mode for the Cluster
  18. +
  19. Restore custom statistics, analyze these tables and restore dropped objetcs from Prepare the upgrade
  20. +
+
+

+ Completion of the upgrade +

+ + + +
+
    +
  1. Drop directory data_old
  2. +
  3. Trigger new Backup
  4. +
+
+

+ How a rollback is working? +

+ + + +
+
    +
  1. Stop rsynd if its running
  2. +
  3. Disable the maintenance mode for the Cluster
  4. +
  5. Drop directory data_new
  6. +
+
+

+ How to trigger a In-Place-Upgrade with cpo? +

+ + + +
+
spec:
+  postgresql:
+    version: "17"
+

To trigger an In-Place-Upgrade you have just to increase the parameter spec.postgresql.version. If you choose a valid number the Operator will start with the prozedure, described above. +If you choosse a not allowed value, you will give an error and if you decrease the value, the operator will just ignore it with the following log-Entry.

+
Operator-Log
+
+
+ + + + + + + +
+
+ + + +
+ + + + + + diff --git a/docs/hugo/public/cluster_upgrade/index.xml b/docs/hugo/public/cluster_upgrade/index.xml new file mode 100644 index 000000000..b2529fdcf --- /dev/null +++ b/docs/hugo/public/cluster_upgrade/index.xml @@ -0,0 +1,12 @@ + + + + Major-Upgrade on CYBERTEC-PG-Operator + http://localhost:1313/CYBERTEC-pg-operator/cluster_upgrade/ + Recent content in Major-Upgrade on CYBERTEC-PG-Operator + Hugo + en + + + + diff --git a/docs/hugo/public/config_cluster/index.html b/docs/hugo/public/config_cluster/index.html new file mode 100644 index 000000000..ffb0dda88 --- /dev/null +++ b/docs/hugo/public/config_cluster/index.html @@ -0,0 +1,5202 @@ + + + + + + + + + + + + + PostgreSQL Configuration | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + + +
+ + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
+
+
+ + + +
+ + + + + +
+ + + + + + + + + + + +
+ +
+ + +
+ + +
+ + +
+

PostgreSQL Configuration

+
+ +
+

Users who are already used to working with PostgreSQL from Baremetal or VMs are already familiar with the need for various files to configure PostgreSQL. These include

+
    +
  • postgresql.conf
  • +
  • pg_hba.conf
  • +
  • +
+

Although these files are available in the container, direct modification is not planned. As part of the declarative mode of operation of the operator, these files are defined via the operator. The modifying intervention within the container also represents a contradiction to the immutability of the container.

+

For these reasons, the operator provides a way to make adjustments to the various files, from PostgreSQL to Patroni.

+

We differentiate between two main objects in the cluster manifest:

+
    +
  • postgresql with the child objects version and parameters
  • +
  • patroni with objects for the pg_hab, slots and much more
  • +
+
+

+ postgresql +

+ + + +
+

The postgresql object consists of the following elements:

+
    +
  • version - allows you to select the major version of PostgreSQL used.
  • +
  • parameters- enables the postgresql.conf to be changed
  • +
+
spec:
+  postgresql:
+    parameters:
+      shared_preload_libraries: 'pg_stat_statements,pgnodemx, timescaledb'
+      shared_buffers: '512MB'
+    version: '16'
+

Any known PostgreSQL parameter from postgresql.conf can be entered here and will be delivered by the operator to all nodes of the cluster accordingly.

+

You can find more information about the parameters in the PostgreSQL documentation

+
+

+ patroni +

+ + + +
+

The patroni object contains numerous options for customising the patroni-setu, and the pg_hba.conf is also configured here. A complete list of all available elements can be found here.

+

The most important elements include

+
    +
  • pg_hba - pg_hba.conf
  • +
  • slots
  • +
  • synchronous_mode - enables synchronous mode in the cluster. The default is set to false
  • +
  • maximum_lag_on_failover - Specifies the maximum lag so that the pod is still considered healthy in the event of a failover.
  • +
  • failsafe_mode Allows you to cancel the downgrading of the leader if all cluster members can be reached via the Patroni Rest Api. +You can find more information on this in the Patroni documentation
  • +
+
+

+ pg_hba +

+ + + +
+

The pg_hba.conf contains all defined authentication rules for PostgreSQL.

+

When customising this configuration, it is important that the entire version of pg_hba is written to the manifest. +The current configuration can be read out in the database using table pg_hba_file_rules ;.

+

Further information can be found in the PostgreSQL documentation

+
+

+ slots +

+ + + +
+

When using user-defined slots, for example for the use of CDC using Debezium, there are problems when interacting with Patroni, as the slot and its current status are not automatically synchronised to the replicas.

+

In the event of a failover, the client cannot start replication as both the entire slot and the information about the data that has already been synchronised are missing.

+

To resolve this problem, slots must be defined in the cluster manifest rather than in PostgreSQL.

+
spec:
+  patroni:
+    slots:
+      cdc-example:
+        database: app_db
+        plugin: pgoutput
+        type: logical
+

This example creates a logical replication slot with the name cdc-example within the app_db database and uses the pgoutput plugin for the slot.

+ + + + + +
+
+
Slots are only synchronised from the leader/standby leader to the replicas. This means that using the slots read-only on the replicas will cause a problem in the event of a failover.
+
+ + +
+ + + + + + + +
+
+ + + +
+ + + + + + diff --git a/docs/hugo/public/config_cluster/index.xml b/docs/hugo/public/config_cluster/index.xml new file mode 100644 index 000000000..e6cea2ba4 --- /dev/null +++ b/docs/hugo/public/config_cluster/index.xml @@ -0,0 +1,12 @@ + + + + PostgreSQL Configuration on CYBERTEC-PG-Operator + http://localhost:1313/CYBERTEC-pg-operator/config_cluster/ + Recent content in PostgreSQL Configuration on CYBERTEC-PG-Operator + Hugo + en + + + + diff --git a/docs/hugo/public/connection_pooler/index.html b/docs/hugo/public/connection_pooler/index.html new file mode 100644 index 000000000..8084e33c4 --- /dev/null +++ b/docs/hugo/public/connection_pooler/index.html @@ -0,0 +1,5186 @@ + + + + + + + + + + + + + connection pooler | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + + +
+ + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
+
+
+ + + +
+ + + + + +
+ + + + + + + + + + + +
+ +
+ + +
+ + +
+ + +
+

connection pooler

+
+ +
+

A connection pooler is a tool that acts as a proxy between the application and the database and enables the performance of the application to be improved and the load on the database to be reduced. The reason for this lies in the connection handling of PostgreSQL.

+
+

+ How PostgreSQL handles connection +

+ + + +
+

PostgreSQL use a new Process for every database-connection created by the postmaster. This process is handling the connection. On the positive side, this enables a stable connection and isolation, but it is not particularly efficient for short-lived connections due to the effort required to create them.

+
+

+ How Connection Pooling solves this problem +

+ + + +
+

With connection pooling, the application connects to the pooler, which in turn maintains a number of connections to the PostgreSQL database. +This makes it possible to use the connections from the pooler to the database for a long time instead of short-lived connections and to recycle them accordingly.

+

In addition to utilising long-term connections, a ConnectionPooler also makes it possible to reduce the number of connections required to the database. For example, if you have 3 application nodes, each of which maintains 100 connections to the database at the same time, that would be 300 connections in total. The application usually does not even begin to utilise this number of connections. With the pgBouncer, this can be optimised so that the applications open the 300 connections to the pgBouncer, but the pgBouncer only generates 100 connections to PostgreSQL, for example, thus reducing the load by 2/3.

+ + + + + +
+
+
It is important to correctly configure the bouncer and thus the connections to be created between pgBouncer and PostgreSQL so that enough connections are available for the workload.
+
+ +
+

+ How does this work with CPO +

+ + + +
+

CPO relies on pgBouncer, a popular and above all lightweight open source tool. pgBouncer manages individual user-database connections for each user used, which can be used immediately for incoming client connections.

+
+

+ How do I create a pooler for a cluster? +

+ + + +
+
    +
  • +

    connection_pooler.number_of_instances - How many instances of connection pooler to create. Default is 2 which is also the required minimum.

    +
  • +
  • +

    connection_pooler.schema - Database schema to create for credentials lookup function to be used by the connection pooler. Is is created in every database of the Postgres cluster. You can also choose an existing schema. Default schema is pooler.

    +
  • +
  • +

    connection_pooler.user - User to create for connection pooler to be able to connect to a database. You can also choose an existing role, but make sure it has the LOGIN privilege. Default role is pooler.

    +
  • +
  • +

    connection_pooler.image - Docker image to use for connection pooler deployment. Default: “registry.opensource.zalan.do/acid/pgbouncer”

    +
  • +
  • +

    connection_poole.max_db_connections - How many connections the pooler can max hold. This value is divided among the pooler pods. Default is 60 which will make up 30 connections per pod for the default setup with two instances.

    +
  • +
  • +

    connection_pooler.mode - Defines pooler mode. Available Value: session, transaction or statement. Default is transaction.

    +
  • +
  • +

    connection_pooler.resources - Hardware definition for the pooler pods

    +
  • +
  • +

    enableConnectionPooler - Defines whether poolers for read/write access should be created based on the spec.connectionPooler definition.

    +
  • +
  • +

    enableReplicaConnectionPooler- Defines whether poolers for read-only access should be created based on the spec.connectionPooler definition.

    +
  • +
+
spec:
+  connectionPooler:
+    mode: transaction
+    numberOfInstances: 2
+    resources:
+      limits:
+        cpu: '1'
+        memory: 100Mi
+      requests:
+        cpu: 500m
+        memory: 100Mi
+    schema: pooler
+    user: pooler
+  enableConnectionPooler: true
+  enableReplicaConnectionPooler: true
+
+
+ + + + + + + +
+
+ + + +
+ + + + + + diff --git a/docs/hugo/public/connection_pooler/index.xml b/docs/hugo/public/connection_pooler/index.xml new file mode 100644 index 000000000..dd4d6d87c --- /dev/null +++ b/docs/hugo/public/connection_pooler/index.xml @@ -0,0 +1,12 @@ + + + + connection pooler on CYBERTEC-PG-Operator + http://localhost:1313/CYBERTEC-pg-operator/connection_pooler/ + Recent content in connection pooler on CYBERTEC-PG-Operator + Hugo + en + + + + diff --git a/docs/hugo/public/crd/crd-operator-configurator/index.html b/docs/hugo/public/crd/crd-operator-configurator/index.html new file mode 100644 index 000000000..d259af095 --- /dev/null +++ b/docs/hugo/public/crd/crd-operator-configurator/index.html @@ -0,0 +1,5549 @@ + + + + + + + + + + + + + Operator-Configuration | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + + +
+ + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
+
+
+ + + +
+ + + + + +
+ + + + + + + + + + + +
+ +
+ + +
+ + +
+ + +
+

Operator-Configuration

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypedefaultDescription
enable_crd_registrationbooleantrue
crd_categoriesstringall
enable_lazy_spilo_upgradebooleanfalse
enable_pgversion_env_varbooleantrue
enable_spilo_wal_path_combatbooleanfalse
etcd_hoststring
kubernetes_use_configmapsbooleanfalse
docker_imagestring
sidecarslist
enable_shm_volumebooleantrue
workersint8
max_instancesint-1
min_instancesint-1
resync_periodstring30m
repair_periodstring5m
set_memory_request_to_limitbooleanfalse
debug_loggingbooleantrue
enable_db_accessbooleantrue
spilo_privilegedbooleanfalse
spilo_allow_privilege_escalationbooleantrue
watched_namespacestring*
+
+

+ major-upgrade-specific +

+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypedefaultDescription
major_version_upgrade_modestringoff
major_version_upgrade_team_allow_liststring
minimal_major_versionstring9.6
target_major_versionstring14
+
+

+ aws-specific +

+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypedefaultDescription
wal_s3_bucketstring
log_s3_bucketstring
kube_iam_rolestring
aws_regionstring
additional_secret_mountstring
additional_secret_mount_pathstring
enable_ebs_gp3_migrationboolean
enable_ebs_gp3_migration_max_sizeint
+
+

+ logical-backup-specific +

+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypedefaultDescription
logical_backup_docker_imagestring
logical_backup_google_application_credentialsstring
logical_backup_job_prefixstring
logical_backup_providerstring
logical_backup_s3_access_key_idstring
logical_backup_s3_bucketstring
logical_backup_s3_endpointstring
logical_backup_s3_regionstring
logical_backup_s3_secret_access_keystring
logical_backup_s3_ssestring
logical_backup_s3_retention_timestring
logical_backup_schedulestring(Cron-Syntax)
+
+

+ team-api-specific +

+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypedefaultDescription
enable_teams_apistring
teams_api_urlstring
teams_api_role_configurationstring
enable_team_superuserboolean
team_admin_roleboolean
enable_admin_role_for_usersboolean
pam_role_namestring
pam_configurationstring
protected_role_nameslist
postgres_superuser_teamsstring
role_deletion_suffixstring
enable_team_member_deprecationboolean
enable_postgres_team_crdboolean
enable_postgres_team_crd_superusersboolean
enable_team_id_clustername_prefixboolean
+ +
+ + + + + + + +
+
+ + + +
+ + + + + + diff --git a/docs/hugo/public/crd/crd-postgresql/index.html b/docs/hugo/public/crd/crd-postgresql/index.html new file mode 100644 index 000000000..e6aa7a0ab --- /dev/null +++ b/docs/hugo/public/crd/crd-postgresql/index.html @@ -0,0 +1,7024 @@ + + + + + + + + + + + + + PostgreSQL | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + + +
+ + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
+
+
+ + + +
+ + + + + +
+ + + + + + + + + + + +
+ +
+ + +
+ + +
+ + +
+

PostgreSQL

+
+
+ +
+

+ CRD for kind postgresql +

+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTyperequiredDescription
apiVersionstringtrueacid.zalando.do/v1
kindstringtrue
metadataobjecttrue
specobjecttrue
statusobjectfalse
+
+
+

+ spec +

+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTyperequiredDescription
additionalVolumesarrayfalseList of additional volumes to mount in each container of the statefulset pod
allowedSourceRangesarrayfalseThe corresponding load balancer is accessible only to the networks defined by this parameter
backupobjectfalseEnables the definition of a customised backup solution for the cluster
cloneobjectfalseDefines the clone-target for the Cluster
connectionPoolerobjectfalseDefines the configuration and settings for every type of a connectionPoolers (Primary and Replica).
databasesmapfalseDefines the name of the database, they are created by the operator. See tutorial
dockerImagestringtrueDefines the used PostgreSQL-Container-Image for this cluster
enableLogicalBackupbooleanfalseEnable logical Backups for this Cluster (Stored on S3) - s3-configuration for Operator is needed (Not for pgBackRest)
enableConnectionPoolerbooleanfalsecreates a ConnectionPooler for the primary Pod
enableReplicaConnectionPoolerbooleanfalsecreates a ConnectionPooler for the replica Pods
enableMasterLoadBalancerbooleanfalseDefine whether to enable the load balancer pointing to the Postgres primary
enableReplicaLoadBalancerbooleanfalseDefine whether to enable the load balancer pointing to the Postgres replicas
enableMasterPoolerLoadBalancerbooleanfalseDefine whether to enable the load balancer pointing to the primary ConnectionPooler
enableReplicaPoolerLoadBalancerbooleanfalseDefine whether to enable the load balancer pointing to the Replica-ConnectionPooler
enableShmVolumebooleanfalseStart a database pod without limitations on shm memory. By default Docker limit /dev/shm to 64M (see e.g. the docker issue, which could be not enough if PostgreSQL uses parallel workers heavily. If this option is present and value is true, to the target database pod will be mounted a new tmpfs volume to remove this limitation.
envarrayfalseAllows to add own Envs to the PostgreSQL containers
initContainersarrayfalseEnables the definition of init-containers
logicalBackupSchedulestringfalseEnables the scheduling of logical backups based on cron-syntax. Example: 30 00 * * *
maintenanceWindowsarrayfalseEnables the definition of maintenance windows for the cluster. Example: Sat:00:00-04:00
masterServiceAnnotationsmapfalseEnables the definition of annotations for the Primary Service
monitormapfalseEnables monitoring on the basis of the defined image
nodeAffinitymapfalseEnables overwriting of the nodeAffinity
numberOfInstancesinttrueNumber of nodes of the cluster
patronimapfalseEnables the customisation of patroni settings
podPriorityClassNamestringfalsea name of the priority class that should be assigned to the cluster pods. If not set then the default priority class is taken. The priority class itself must be defined in advance
podAnnotationsmapfalseA map of key value pairs that gets attached as annotations to each pod created for the database.
postgresqlmapfalseEnables the customisation of PostgreSQL settings and parameters
preparedDatabasesmapfalseAllows you to define databases including owner, schemas and extension and have the operator generate them. item See tutorial
replicaServiceAnnotationsmapfalseEnables the definition of annotations for the Replica Service
resourcesmaptrueCPU & Memory (Limit & Request) definition for the Postgres container
ServiceAnnotationsmapfalseA map of key value pairs that gets attached as annotations to each Service created for the database.
sidecarsarrayfalseEnables the definition of custom sidecars
spiloFSGroupintfalsethe Persistent Volumes for the Spilo pods in the StatefulSet will be owned and writable by the group ID specified. This will override the spilo_fsgroup operator parameter
spiloRunAsGroupintfalsesets the group ID which should be used in the container to run the process.
spiloRunAsUserintfalseSets the user ID which should be used in the container to run the process. This must be set to run the container without root.
standbymapfalseEnables the creation of a standby cluster at the time of the creation of a new cluster
streamsarrayfalseEnables change data capture streams for defined database tables
tdemapfalseEnables the activation of TDE if a new cluster is created
teamIdstringtruename of the team the cluster belongs to. Will be removed soon
tlsmapfalseCustom TLS certificate
tolerationsarrayfalsea list of tolerations that apply to the cluster pods. Each element of that list is a dictionary with the following fields:
key, operator, value, effect and tolerationSeconds
topologySpreadConstraintsmapfalseEnables the definition of a topologySpreadConstraint. See K8s-Documentation
usersmapfalsea map of usernames to user flags for the users that should be created in the cluster by the operator. See tutorial
usersWithSecretRotationlistfalselist of users to enable credential rotation in K8s secrets. The rotation interval can only be configured globally.
usersWithInPlaceSecretRotationlistfalselist of users to enable in-place password rotation in K8s secrets. The rotation interval can only be configured globally.
volumemaptruedefine the properties of the persistent storage that stores Postgres data
+⬅ Back to Parent +
+
+

+ additionalVolumes +

+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTyperequiredDescription
namestringtrueEnables the definition of a pgbackrest-setup for the cluster
mountPathstringtrueEnables the definition of a pgbackrest-setup for the cluster
targetContainersarraytrueEnables the definition of a pgbackrest-setup for the cluster
subPathstringfalseEnables the definition of a pgbackrest-setup for the cluster
isSubPathExprbooleanfalseEnables the definition of a pgbackrest-setup for the cluster
volumeSourcemaptrueEnables the definition of a pgbackrest-setup for the cluster
+⬅ Back to Parent +
+
+

+ backup +

+ + + +
+
+ + + + + + + + + + + + + + + + +
NameTyperequiredDescription
pgbackrestobjectfalseEnables the definition of a pgbackrest-setup for the cluster
+⬅ Back to Parent +
+
+

+ clone +

+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + +
NameTyperequiredDescription
clusterstringtrueName of the cluster to be cloned. Random value if the cluster does not exist locally.
pgbackrestobjectfalseEnables the definition of a pgbackrest-setup for the cluster
+⬅ Back to Parent +
+
+

+ connectionPooler +

+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTyperequiredDescription
numberOfInstancesinttrueNumber of Pods per Pooler
modestringtruepooling mode for pgBouncer (session, transaction, statement)
schemastringtrueSchema for Pooler (Default: pooler)
userstringtrueUsername for Pooler (Default: pooler)
maxDBConnectionsstringtruemaxConnections to the DB-Pod(s)
resourcesmaptrueCPU & Memory (Limit & Request) definition for the Pooler
+
+

+ ⬅ Back to Parent +

+ ⬅ Back to Parent" aria-label="Anchor to: ⬅ Back to Parent" href="#hahahugoshortcode50s4hbhb"> + + +
+
+

+ env +

+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + +
NameTyperequiredDescription
namestringtrueKeyfield for the ENV-Entry
valuestringtrueValuefield for the ENV-Entry
+⬅ Back to Parent +
+
+

+ initContainers +

+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTyperequiredDescription
namestringtrueName for the container
imagestringtrueDocker-Image for container
commandstringfalseto override CMD inside the container
envarrayfalseAllows to add own Envs to the container
resourcesmapfalseCPU & Memory (Limit & Request) definition for the container
portsarrayfalseDefine open ports for the container
+⬅ Back to Parent +
+
+

+ monitor +

+ + + +
+
+ + + + + + + + + + + + + + + + +
NameTyperequiredDescription
imagestringtrueDocker-Image for the metric exporter
+⬅ Back to Parent +
+
+

+ patroni +

+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTyperequiredDescription
failsafe_modebooleanfalsePatroni failsafe_mode parameter value. See the Patroni documentation for more details.
initdbmapfalsea map of key-value pairs describing initdb parameters
loop_waitstringfalsePatroni loop_wait parameter value, optional. The default is set by the PostgreSQL image.
maximum_lag_on_failoverstringfalsePatroni maximum_lag_on_failover parameter value, optional. The default is set by the PostgreSQL image.
multisitemapfalseMultisite configuration - Check the Documentation first
pg_hbaarrayfalselist of custom pg_hba lines to replace default ones. One entry per item (example: - hostssl all all 0.0.0.0/0 scram-sha-256)
retry_timeoutintfalsePatroni retry_timeout parameter value, optional. The default is set by the PostgreSQL image.
slotsmapfalsepermanent replication slots that Patroni preserves after failover by re-creating them on the new primary immediately. after doing a promote. Use preferred slot-name as map-item
synchronous_modebooleanfalseDPatroni synchronous_mode parameter value, optional. The default is false.
synchronous_mode_strictbooleanfalsePatroni synchronous_mode_strict parameter value, optional. The default is false.
synchronous_node_countintfalsePatroni synchronous_node_count parameter value, optional. The default is set to 1. Only used if synchronous_mode_strict is true
ttlintfalsePatroni ttl parameter value, optional. The default is set by the PostgreSQL image.
+⬅ Back to Parent +
+
+

+ PostgreSQL +

+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + +
NameTyperequiredDescription
parametersmapfalsePostgreSQL-Parameter as item (Example: max_connections: “100”). For help check out the CYBERTEC PostgreSQL Configurator
versionstringfalsea map of key-value pairs describing initdb parameters
+⬅ Back to Parent +
+
+

+ preparedDatabases +

+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTyperequiredDescription
defaultUsersbooleanfalseCreates roles with LOGIN permission and _usersuffix. Default: false
extensionsmapfalseIncludes the Extensions as items (key:value). Key is the Name of the Extension and value the schema. Example: pgcrypto: public
schemasmapfalseIncludes the schemanames as items.
+⬅ Back to Parent +
+
+

+ resources +

+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + +
NameTyperequiredDescription
requestsmaptruecpu and memory definitons (request.cpu / request.memory)
limitsmaptruecpu and memory definitons (limits.cpu / limits.memory)
+⬅ Back to Parent +
+
+

+ sidecars +

+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTyperequiredDescription
namestringtrueName for the container
imagestringtrueDocker-Image for container
commandstringfalseto override CMD inside the container
envarrayfalseAllows to add own Envs to the container
resourcesmapfalseCPU & Memory (Limit & Request) definition for the container
portsarrayfalseDefine open ports for the container
+⬅ Back to Parent +
+

+ standby +

+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + +
NameTyperequiredDescription
standby_hoststringtrueEndpoint of the primary cluster
standby_portstringtruePostgreSQL port of the primary cluster
+⬅ Back to Parent +
+
+

+ streams +

+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTyperequiredDescription
applicationIdstringtrueThe application name to which the database and CDC belongs to.
databasestringtrueName of the database from where events will be published via Postgres’ logical decoding feature.
tablesmaptrueDefines a map of table names and their properties (eventType, idColumn and payloadColumn).
batchSizeintfalseDefines the size of batches in which events are consumed. Defaults to 1
enableRecoverybooleanfalseFlag to enable a dead letter queue recovery for all streams tables.
filterstringfalseStreamed events can be filtered by a jsonpath expression for each table.
standby_portstringfalsePostgreSQL port of the primary cluster
+⬅ Back to Parent +
+
+

+ tde +

+ + + +
+
+ + + + + + + + + + + + + + + + +
NameTyperequiredDescription
enablebooleantrueenable TDE during initDB
+⬅ Back to Parent +
+
+

+ tolerations +

+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTyperequiredDescription
keystringfalseKey for the taint attribute of the node
operatorstringfalseComparison operator (Equal or Exists).
valuestringfalseValue of the taint (only relevant for ‘Equal’).
effectstringfalseSpecifies how the node handles the pod (NoExecute, NoSchedule, PreferNoSchedule)
tolerationSecondsintfalseSpecifies how long the pod tolerates the taint (only for NoExecute).
+⬅ Back to Parent +
+
+

+ volume +

+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTyperequiredDescription
sizestringtruethe size of the target volume. Usual Kubernetes size modifiers, i.e. Gi or Mi, apply
storageClassstringfalsethe name of the Kubernetes storage class to draw the persistent volume from. If empty K8s will choose the default StorageClass
subPathstringfalseSubpath to use when mounting volume into PostgreSQL container.
iopsintfalseWhen running the operator on AWS the latest generation of EBS volumes (gp3) allows for configuring the number of IOPS. Maximum is 16000
throughputintfalseWhen running the operator on AWS the latest generation of EBS volumes (gp3) allows for configuring the throughput in MB/s. Maximum is 1000
selectormapfalseA label query over PVs to consider for binding. See the Kubernetes documentation for details on using matchLabels and matchExpressions
+⬅ Back to Parent +
+
+

+ volumeSource +

+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTyperequiredDescription
emptyDirstringfalseemptyDir: {}
PersistentVolumeClaimmapfalsePersistentVolumeClaim-Objekt
configMapmapfalseconfigMap-Objekt
+⬅ Back to Parent +
+
+

+ volumeSource-PersistentVolumeClaim +

+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + +
NameTyperequiredDescription
claimNamestringtrueName of the PersistentVolumeClaim
readyOnlybooleanfalsePersistentVolumeClaim-Objekt
+⬅ Back to Parent +
+
+

+ volumeSource-configMap +

+ + + +
+
+ + + + + + + + + + + + + + + + +
NameTyperequiredDescription
namestringtrueName of the Configmap
+⬅ Back to Parent +
+
+

+ multisite +

+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTyperequiredDescription
enablebooleantrueEnable multisite-feature
etcdmaptrueEnables the definition of a pgbackrest-setup for the cluster
retry_timeoutinttruePatroni retry_timeout parameter value for the global etcd, optional. The default is set by the PostgreSQL image.
sitestringtrueName for the site of this cluster
ttlinttruePatroni ttl parameter value for the global etcd, optional. The default is set by the PostgreSQL image.
+⬅ Back to Parent +
+
+

+ slots +

+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTyperequiredDescription
typestringtrueSlot-Type (physical or logical)
databasestringfalseDatabasename - for logical replication only
pluginstringfalsePlugin - for logical replication only
+
+

+ ⬅ Back to Parent +

+ ⬅ Back to Parent" aria-label="Anchor to: ⬅ Back to Parent" href="#hahahugoshortcode50s22hbhb"> + + +
+
+

+ schemas +

+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + +
NameTyperequiredDescription
defaultRolesbooleanfalseCreates schema exclusiv roles with NOLOGIN permission and _usersuffix Default: true
defaultUsersbooleanfalseCreates schema exclusiv roles with LOGIN permission and _usersuffix Default: false
+
+

+ etcd +

+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTyperequiredDescription
hostsstringtruelist of etcd hosts, including etcd-client-port (default: 2379), comma separated like in the etcd config
passwordstringfalsePassword for the global etcd
protocolstringtrueProtocol for the global etcd (http or https)
userstringfalseUsername for the global etcd
+⬅ Back to Parent +
+
+

+ requests +

+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + +
NameTyperequiredDescription
cpustringtruecpu definitons Example: 1000m
memorystringtruememory definitons Example: 1000Mi
+⬅ Back to Parent +
+
+

+ limits +

+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + +
NameTyperequiredDescription
cpustringtruecpu definitons Example: 1000m
memorystringtruememory definitons Example: 1000Mi
+⬅ Back to Parent +
+
+

+ pgbackrest +

+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTyperequiredDescription
configurationobjectfalseEnables the definition of a pgbackrest-setup for the cluster
globalobjectfalse
imagestringtrue
reposarraytrue
resourcesobjectfalseCPU & Memory (Limit & Request) definition for the pgBackRest container
+⬅ Back to Parent +
+
+

+ configuration +

+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + +
NameTyperequiredDescription
secretobjectfalseSecretname with the contained S3 credentials (AccessKey & SecretAccessKey) (Note: must be placed in the same namespace as the cluster)
protectionobjectfalseEnable Protection-Options
+⬅ Back to Parent +
+
+

+ protection +

+ + + +
+
+ + + + + + + + + + + + + + + + +
NameTyperequiredDescription
restorebooleanfalseA restore is ignored as long as this option is set to true.
+⬅ Back to Parent +
+
+

+ repos +

+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTyperequiredDescription
namestringtrueName of the repository Required:Repo[1-4]
storagestringtrueDefines the used backup-storage (Choose from List: pvc,s3,blob,gcs)
resourcestringtrueBucket-/Instance-/Storage- or PVC-Name
endpointstringfalseThe Endpoint for the choosen Storage (Not required for local storage)
regionstringfalseRegion for the choosen Storage (S3 only)
schedulestringfalseObject for defining automatic backups
+⬅ Back to Parent +
+
+

+ schedule +

+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTyperequiredDescription
fullstringfalse(Cron-Syntax) Define full backup
incrstringfalse(Cron-Syntax) Define incremental backup
diffstringfalse(Cron-Syntax) Define differential backup
+⬅ Back to Parent +
+
+

+ status +

+ + + +
+
+ + + + + + + + + + + + + + + + +
NameTyperequiredDescription
PostgresClusterStatusstringfalseShows the cluster status. Filled by the Operator
+⬅ Back to Parent + +
+ + + + + + + +
+
+ + + +
+ + + + + + diff --git a/docs/hugo/public/crd/index.html b/docs/hugo/public/crd/index.html new file mode 100644 index 000000000..966202e96 --- /dev/null +++ b/docs/hugo/public/crd/index.html @@ -0,0 +1,5081 @@ + + + + + + + + + + + + References | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + + +
+ + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
+
+
+ + + +
+ + + + + +
+ + + + + + + + + + + +
+ +
+ + +
+ + +
+ + +
+

References

+
+ +
+ +
+ + + + + + + +
+
+ + + +
+ + + + + + diff --git a/docs/hugo/public/crd/index.xml b/docs/hugo/public/crd/index.xml new file mode 100644 index 000000000..d5f527950 --- /dev/null +++ b/docs/hugo/public/crd/index.xml @@ -0,0 +1,26 @@ + + + + References on CYBERTEC-PG-Operator + http://localhost:1313/CYBERTEC-pg-operator/crd/ + Recent content in References on CYBERTEC-PG-Operator + Hugo + en + Tue, 07 Mar 2023 14:26:51 +0100 + + + PostgreSQL + http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/ + Tue, 07 Mar 2023 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/ + <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="crd-for-kind-postgresql" > CRD for kind postgresql </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#crd-for-kind-postgresql" class="gdoc-page__anchor clip flex align-center" title="Anchor to: CRD for kind postgresql" aria-label="Anchor to: CRD for kind postgresql" href="#crd-for-kind-postgresql"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>apiVersion</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">acid.zalando.do/v1</td> </tr> <tr> <td>kind</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right"></td> </tr> <tr> <td>metadata</td> <td style="text-align: center">object</td> <td style="text-align: right">true</td> <td style="text-align: right"></td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#spec" >spec</a></td> <td style="text-align: center">object</td> <td style="text-align: right">true</td> <td style="text-align: right"></td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#status" >status</a></td> <td style="text-align: center">object</td> <td style="text-align: right">false</td> <td style="text-align: right"></td> </tr> </tbody> </table> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="spec" > spec </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#spec" class="gdoc-page__anchor clip flex align-center" title="Anchor to: spec" aria-label="Anchor to: spec" href="#spec"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td><a class="gdoc-markdown__link" href="#additionalvolumes" >additionalVolumes</a></td> <td style="text-align: center">array</td> <td style="text-align: right">false</td> <td style="text-align: right">List of additional volumes to mount in each container of the statefulset pod</td> </tr> <tr> <td>allowedSourceRanges</td> <td style="text-align: center">array</td> <td style="text-align: right">false</td> <td style="text-align: right">The corresponding load balancer is accessible only to the networks defined by this parameter</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#backup" >backup</a></td> <td style="text-align: center">object</td> <td style="text-align: right">false</td> <td style="text-align: right">Enables the definition of a customised backup solution for the cluster</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#clone" >clone</a></td> <td style="text-align: center">object</td> <td style="text-align: right">false</td> <td style="text-align: right">Defines the clone-target for the Cluster</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#connectionpooler" >connectionPooler</a></td> <td style="text-align: center">object</td> <td style="text-align: right">false</td> <td style="text-align: right">Defines the configuration and settings for every type of a connectionPoolers (Primary and Replica).</td> </tr> <tr> <td>databases</td> <td style="text-align: center">map</td> <td style="text-align: right">false</td> <td style="text-align: right">Defines the name of the database, they are created by the operator. See <a class="gdoc-markdown__link" href="https://github.com/cybertec-postgresql/CYBERTEC-operator-tutorials/tree/main/cluster-tutorials/configure_users_and_databases" >tutorial</a></td> </tr> <tr> <td>dockerImage</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">Defines the used PostgreSQL-Container-Image for this cluster</td> </tr> <tr> <td>enableLogicalBackup</td> <td style="text-align: center">boolean</td> <td style="text-align: right">false</td> <td style="text-align: right">Enable logical Backups for this Cluster (Stored on S3) - s3-configuration for Operator is needed (Not for pgBackRest)</td> </tr> <tr> <td>enableConnectionPooler</td> <td style="text-align: center">boolean</td> <td style="text-align: right">false</td> <td style="text-align: right">creates a ConnectionPooler for the primary Pod</td> </tr> <tr> <td>enableReplicaConnectionPooler</td> <td style="text-align: center">boolean</td> <td style="text-align: right">false</td> <td style="text-align: right">creates a ConnectionPooler for the replica Pods</td> </tr> <tr> <td>enableMasterLoadBalancer</td> <td style="text-align: center">boolean</td> <td style="text-align: right">false</td> <td style="text-align: right">Define whether to enable the load balancer pointing to the Postgres primary</td> </tr> <tr> <td>enableReplicaLoadBalancer</td> <td style="text-align: center">boolean</td> <td style="text-align: right">false</td> <td style="text-align: right">Define whether to enable the load balancer pointing to the Postgres replicas</td> </tr> <tr> <td>enableMasterPoolerLoadBalancer</td> <td style="text-align: center">boolean</td> <td style="text-align: right">false</td> <td style="text-align: right">Define whether to enable the load balancer pointing to the primary ConnectionPooler</td> </tr> <tr> <td>enableReplicaPoolerLoadBalancer</td> <td style="text-align: center">boolean</td> <td style="text-align: right">false</td> <td style="text-align: right">Define whether to enable the load balancer pointing to the Replica-ConnectionPooler</td> </tr> <tr> <td>enableShmVolume</td> <td style="text-align: center">boolean</td> <td style="text-align: right">false</td> <td style="text-align: right">Start a database pod without limitations on shm memory. By default Docker limit /dev/shm to 64M (see e.g. the docker issue, which could be not enough if PostgreSQL uses parallel workers heavily. If this option is present and value is true, to the target database pod will be mounted a new tmpfs volume to remove this limitation.</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#env" >env</a></td> <td style="text-align: center">array</td> <td style="text-align: right">false</td> <td style="text-align: right">Allows to add own Envs to the PostgreSQL containers</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#initcontainers" >initContainers</a></td> <td style="text-align: center">array</td> <td style="text-align: right">false</td> <td style="text-align: right">Enables the definition of init-containers</td> </tr> <tr> <td>logicalBackupSchedule</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">Enables the scheduling of logical backups based on cron-syntax. Example: <code>30 00 * * *</code></td> </tr> <tr> <td>maintenanceWindows</td> <td style="text-align: center">array</td> <td style="text-align: right">false</td> <td style="text-align: right">Enables the definition of maintenance windows for the cluster. Example: <code>Sat:00:00-04:00</code></td> </tr> <tr> <td>masterServiceAnnotations</td> <td style="text-align: center">map</td> <td style="text-align: right">false</td> <td style="text-align: right">Enables the definition of annotations for the Primary Service</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#monitor" >monitor</a></td> <td style="text-align: center">map</td> <td style="text-align: right">false</td> <td style="text-align: right">Enables monitoring on the basis of the defined image</td> </tr> <tr> <td>nodeAffinity</td> <td style="text-align: center">map</td> <td style="text-align: right">false</td> <td style="text-align: right">Enables overwriting of the nodeAffinity</td> </tr> <tr> <td>numberOfInstances</td> <td style="text-align: center">int</td> <td style="text-align: right">true</td> <td style="text-align: right">Number of nodes of the cluster</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#patroni" >patroni</a></td> <td style="text-align: center">map</td> <td style="text-align: right">false</td> <td style="text-align: right">Enables the customisation of patroni settings</td> </tr> <tr> <td>podPriorityClassName</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">a name of the priority class that should be assigned to the cluster pods. If not set then the default priority class is taken. The priority class itself must be defined in advance</td> </tr> <tr> <td>podAnnotations</td> <td style="text-align: center">map</td> <td style="text-align: right">false</td> <td style="text-align: right">A map of key value pairs that gets attached as annotations to each pod created for the database.</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#postgresql" >postgresql</a></td> <td style="text-align: center">map</td> <td style="text-align: right">false</td> <td style="text-align: right">Enables the customisation of PostgreSQL settings and parameters</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#prepareddatabases" >preparedDatabases</a></td> <td style="text-align: center">map</td> <td style="text-align: right">false</td> <td style="text-align: right">Allows you to define databases including owner, schemas and extension and have the operator generate them. item See <a class="gdoc-markdown__link" href="https://github.com/cybertec-postgresql/CYBERTEC-operator-tutorials/tree/main/cluster-tutorials/prepared_databases" >tutorial</a></td> </tr> <tr> <td>replicaServiceAnnotations</td> <td style="text-align: center">map</td> <td style="text-align: right">false</td> <td style="text-align: right">Enables the definition of annotations for the Replica Service</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#resources" >resources</a></td> <td style="text-align: center">map</td> <td style="text-align: right">true</td> <td style="text-align: right">CPU &amp; Memory (Limit &amp; Request) definition for the Postgres container</td> </tr> <tr> <td>ServiceAnnotations</td> <td style="text-align: center">map</td> <td style="text-align: right">false</td> <td style="text-align: right">A map of key value pairs that gets attached as annotations to each Service created for the database.</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#sidecars" >sidecars</a></td> <td style="text-align: center">array</td> <td style="text-align: right">false</td> <td style="text-align: right">Enables the definition of custom sidecars</td> </tr> <tr> <td>spiloFSGroup</td> <td style="text-align: center">int</td> <td style="text-align: right">false</td> <td style="text-align: right">the Persistent Volumes for the Spilo pods in the StatefulSet will be owned and writable by the group ID specified. This will override the spilo_fsgroup operator parameter</td> </tr> <tr> <td>spiloRunAsGroup</td> <td style="text-align: center">int</td> <td style="text-align: right">false</td> <td style="text-align: right">sets the group ID which should be used in the container to run the process.</td> </tr> <tr> <td>spiloRunAsUser</td> <td style="text-align: center">int</td> <td style="text-align: right">false</td> <td style="text-align: right">Sets the user ID which should be used in the container to run the process. This must be set to run the container without root.</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#standby" >standby</a></td> <td style="text-align: center">map</td> <td style="text-align: right">false</td> <td style="text-align: right">Enables the creation of a standby cluster at the time of the creation of a new cluster</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#streams" >streams</a></td> <td style="text-align: center">array</td> <td style="text-align: right">false</td> <td style="text-align: right">Enables change data capture streams for defined database tables</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#tde" >tde</a></td> <td style="text-align: center">map</td> <td style="text-align: right">false</td> <td style="text-align: right">Enables the activation of TDE if a new cluster is created</td> </tr> <tr> <td>teamId</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">name of the team the cluster belongs to. Will be removed soon</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#tls" >tls</a></td> <td style="text-align: center">map</td> <td style="text-align: right">false</td> <td style="text-align: right">Custom TLS certificate</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#tolerations" >tolerations</a></td> <td style="text-align: center">array</td> <td style="text-align: right">false</td> <td style="text-align: right">a list of tolerations that apply to the cluster pods. Each element of that list is a dictionary with the following fields:</td> </tr> <tr> <td>key, operator, value, effect and tolerationSeconds</td> <td></td> <td></td> <td></td> </tr> <tr> <td><a class="gdoc-markdown__link" href="https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/" >topologySpreadConstraints</a></td> <td style="text-align: center">map</td> <td style="text-align: right">false</td> <td style="text-align: right">Enables the definition of a topologySpreadConstraint. See <a class="gdoc-markdown__link" href="https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/" >K8s-Documentation</a></td> </tr> <tr> <td>users</td> <td style="text-align: center">map</td> <td style="text-align: right">false</td> <td style="text-align: right">a map of usernames to user flags for the users that should be created in the cluster by the operator. See <a class="gdoc-markdown__link" href="https://github.com/cybertec-postgresql/CYBERTEC-operator-tutorials/tree/main/cluster-tutorials/configure_users_and_databases" >tutorial</a></td> </tr> <tr> <td>usersWithSecretRotation</td> <td style="text-align: center">list</td> <td style="text-align: right">false</td> <td style="text-align: right">list of users to enable credential rotation in K8s secrets. The rotation interval can only be configured globally.</td> </tr> <tr> <td>usersWithInPlaceSecretRotation</td> <td style="text-align: center">list</td> <td style="text-align: right">false</td> <td style="text-align: right">list of users to enable in-place password rotation in K8s secrets. The rotation interval can only be configured globally.</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#volume" >volume</a></td> <td style="text-align: center">map</td> <td style="text-align: right">true</td> <td style="text-align: right">define the properties of the persistent storage that stores Postgres data</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="additionalvolumes" > additionalVolumes </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#additionalvolumes" class="gdoc-page__anchor clip flex align-center" title="Anchor to: additionalVolumes" aria-label="Anchor to: additionalVolumes" href="#additionalvolumes"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>name</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">Enables the definition of a pgbackrest-setup for the cluster</td> </tr> <tr> <td>mountPath</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">Enables the definition of a pgbackrest-setup for the cluster</td> </tr> <tr> <td>targetContainers</td> <td style="text-align: center">array</td> <td style="text-align: right">true</td> <td style="text-align: right">Enables the definition of a pgbackrest-setup for the cluster</td> </tr> <tr> <td>subPath</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">Enables the definition of a pgbackrest-setup for the cluster</td> </tr> <tr> <td>isSubPathExpr</td> <td style="text-align: center">boolean</td> <td style="text-align: right">false</td> <td style="text-align: right">Enables the definition of a pgbackrest-setup for the cluster</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#volumeSource" >volumeSource</a></td> <td style="text-align: center">map</td> <td style="text-align: right">true</td> <td style="text-align: right">Enables the definition of a pgbackrest-setup for the cluster</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="backup" > backup </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#backup" class="gdoc-page__anchor clip flex align-center" title="Anchor to: backup" aria-label="Anchor to: backup" href="#backup"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td><a class="gdoc-markdown__link" href="#pgbackrest" >pgbackrest</a></td> <td style="text-align: center">object</td> <td style="text-align: right">false</td> <td style="text-align: right">Enables the definition of a pgbackrest-setup for the cluster</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="clone" > clone </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#clone" class="gdoc-page__anchor clip flex align-center" title="Anchor to: clone" aria-label="Anchor to: clone" href="#clone"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>cluster</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">Name of the cluster to be cloned. Random value if the cluster does not exist locally.</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#pgbackrest" >pgbackrest</a></td> <td style="text-align: center">object</td> <td style="text-align: right">false</td> <td style="text-align: right">Enables the definition of a pgbackrest-setup for the cluster</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="connectionpooler" > connectionPooler </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#connectionpooler" class="gdoc-page__anchor clip flex align-center" title="Anchor to: connectionPooler" aria-label="Anchor to: connectionPooler" href="#connectionpooler"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>numberOfInstances</td> <td style="text-align: center">int</td> <td style="text-align: right">true</td> <td style="text-align: right">Number of Pods per Pooler</td> </tr> <tr> <td>mode</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">pooling mode for pgBouncer (session, transaction, statement)</td> </tr> <tr> <td>schema</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">Schema for Pooler (Default: pooler)</td> </tr> <tr> <td>user</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">Username for Pooler (Default: pooler)</td> </tr> <tr> <td>maxDBConnections</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">maxConnections to the DB-Pod(s)</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#resources" >resources</a></td> <td style="text-align: center">map</td> <td style="text-align: right">true</td> <td style="text-align: right">CPU &amp; Memory (Limit &amp; Request) definition for the Pooler</td> </tr> </tbody> </table> <div class="flex align-center gdoc-page__anchorwrap"> <h2 id="hahahugoshortcode50s4hbhb" > <a href="javascript:history.back()">⬅ Back to Parent</a> </h2> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#hahahugoshortcode50s4hbhb" class="gdoc-page__anchor clip flex align-center" title="Anchor to: <a href="javascript:history.back()">⬅ Back to Parent</a>" aria-label="Anchor to: <a href="javascript:history.back()">⬅ Back to Parent</a>" href="#hahahugoshortcode50s4hbhb"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="env" > env </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#env" class="gdoc-page__anchor clip flex align-center" title="Anchor to: env" aria-label="Anchor to: env" href="#env"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>name</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">Keyfield for the ENV-Entry</td> </tr> <tr> <td>value</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">Valuefield for the ENV-Entry</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="initcontainers" > initContainers </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#initcontainers" class="gdoc-page__anchor clip flex align-center" title="Anchor to: initContainers" aria-label="Anchor to: initContainers" href="#initcontainers"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>name</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">Name for the container</td> </tr> <tr> <td>image</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">Docker-Image for container</td> </tr> <tr> <td>command</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">to override CMD inside the container</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#env" >env</a></td> <td style="text-align: center">array</td> <td style="text-align: right">false</td> <td style="text-align: right">Allows to add own Envs to the container</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#resources" >resources</a></td> <td style="text-align: center">map</td> <td style="text-align: right">false</td> <td style="text-align: right">CPU &amp; Memory (Limit &amp; Request) definition for the container</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="ports" >ports</a></td> <td style="text-align: center">array</td> <td style="text-align: right">false</td> <td style="text-align: right">Define open ports for the container</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="monitor" > monitor </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#monitor" class="gdoc-page__anchor clip flex align-center" title="Anchor to: monitor" aria-label="Anchor to: monitor" href="#monitor"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>image</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">Docker-Image for the metric exporter</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="patroni" > patroni </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#patroni" class="gdoc-page__anchor clip flex align-center" title="Anchor to: patroni" aria-label="Anchor to: patroni" href="#patroni"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>failsafe_mode</td> <td style="text-align: center">boolean</td> <td style="text-align: right">false</td> <td style="text-align: right">Patroni failsafe_mode parameter value. See the <a class="gdoc-markdown__link" href="https://patroni.readthedocs.io/en/master/dcs_failsafe_mode.html" >Patroni documentation</a> for more details.</td> </tr> <tr> <td>initdb</td> <td style="text-align: center">map</td> <td style="text-align: right">false</td> <td style="text-align: right">a map of key-value pairs describing initdb parameters</td> </tr> <tr> <td>loop_wait</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">Patroni <code>loop_wait</code> parameter value, optional. The default is set by the PostgreSQL image.</td> </tr> <tr> <td>maximum_lag_on_failover</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">Patroni <code>maximum_lag_on_failover</code> parameter value, optional. The default is set by the PostgreSQL image.</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#multisite" >multisite</a></td> <td style="text-align: center">map</td> <td style="text-align: right">false</td> <td style="text-align: right">Multisite configuration - Check the <a class="gdoc-markdown__link" href="CYBERTEC-pg-operator/multisite/" >Documentation</a> first</td> </tr> <tr> <td>pg_hba</td> <td style="text-align: center">array</td> <td style="text-align: right">false</td> <td style="text-align: right">list of custom pg_hba lines to replace default ones. One entry per item (example: - hostssl all all 0.0.0.0/0 scram-sha-256)</td> </tr> <tr> <td>retry_timeout</td> <td style="text-align: center">int</td> <td style="text-align: right">false</td> <td style="text-align: right">Patroni <code>retry_timeout</code> parameter value, optional. The default is set by the PostgreSQL image.</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#slots" >slots</a></td> <td style="text-align: center">map</td> <td style="text-align: right">false</td> <td style="text-align: right">permanent replication slots that Patroni preserves after failover by re-creating them on the new primary immediately. after doing a promote. Use preferred slot-name as map-item</td> </tr> <tr> <td>synchronous_mode</td> <td style="text-align: center">boolean</td> <td style="text-align: right">false</td> <td style="text-align: right">DPatroni <code>synchronous_mode</code> parameter value, optional. The default is false.</td> </tr> <tr> <td>synchronous_mode_strict</td> <td style="text-align: center">boolean</td> <td style="text-align: right">false</td> <td style="text-align: right">Patroni <code>synchronous_mode_strict</code> parameter value, optional. The default is false.</td> </tr> <tr> <td>synchronous_node_count</td> <td style="text-align: center">int</td> <td style="text-align: right">false</td> <td style="text-align: right">Patroni <code>synchronous_node_count</code> parameter value, optional. The default is set to 1. Only used if <code>synchronous_mode_strict</code> is true</td> </tr> <tr> <td>ttl</td> <td style="text-align: center">int</td> <td style="text-align: right">false</td> <td style="text-align: right">Patroni <code>ttl</code> parameter value, optional. The default is set by the PostgreSQL image.</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="postgresql" > PostgreSQL </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#postgresql" class="gdoc-page__anchor clip flex align-center" title="Anchor to: PostgreSQL" aria-label="Anchor to: PostgreSQL" href="#postgresql"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>parameters</td> <td style="text-align: center">map</td> <td style="text-align: right">false</td> <td style="text-align: right">PostgreSQL-Parameter as item (Example: max_connections: &ldquo;100&rdquo;). For help check out the <a class="gdoc-markdown__link" href="https://pgconfigurator.cybertec.at" >CYBERTEC PostgreSQL Configurator</a></td> </tr> <tr> <td>version</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">a map of key-value pairs describing initdb parameters</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="prepareddatabases" > preparedDatabases </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#prepareddatabases" class="gdoc-page__anchor clip flex align-center" title="Anchor to: preparedDatabases" aria-label="Anchor to: preparedDatabases" href="#prepareddatabases"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>defaultUsers</td> <td style="text-align: center">boolean</td> <td style="text-align: right">false</td> <td style="text-align: right">Creates roles with <code>LOGIN</code> permission and <code>_user</code>suffix. Default: false</td> </tr> <tr> <td>extensions</td> <td style="text-align: center">map</td> <td style="text-align: right">false</td> <td style="text-align: right">Includes the Extensions as items (key:value). Key is the Name of the Extension and value the schema. Example: pgcrypto: public</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#schemas" >schemas</a></td> <td style="text-align: center">map</td> <td style="text-align: right">false</td> <td style="text-align: right">Includes the schemanames as items.</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="resources" > resources </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#resources" class="gdoc-page__anchor clip flex align-center" title="Anchor to: resources" aria-label="Anchor to: resources" href="#resources"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td><a class="gdoc-markdown__link" href="#requests" >requests</a></td> <td style="text-align: center">map</td> <td style="text-align: right">true</td> <td style="text-align: right">cpu and memory definitons (request.cpu / request.memory)</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#limits" >limits</a></td> <td style="text-align: center">map</td> <td style="text-align: right">true</td> <td style="text-align: right">cpu and memory definitons (limits.cpu / limits.memory)</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="sidecars" > sidecars </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#sidecars" class="gdoc-page__anchor clip flex align-center" title="Anchor to: sidecars" aria-label="Anchor to: sidecars" href="#sidecars"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>name</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">Name for the container</td> </tr> <tr> <td>image</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">Docker-Image for container</td> </tr> <tr> <td>command</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">to override CMD inside the container</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#env" >env</a></td> <td style="text-align: center">array</td> <td style="text-align: right">false</td> <td style="text-align: right">Allows to add own Envs to the container</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#resources" >resources</a></td> <td style="text-align: center">map</td> <td style="text-align: right">false</td> <td style="text-align: right">CPU &amp; Memory (Limit &amp; Request) definition for the container</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="ports" >ports</a></td> <td style="text-align: center">array</td> <td style="text-align: right">false</td> <td style="text-align: right">Define open ports for the container</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="standby" > standby </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#standby" class="gdoc-page__anchor clip flex align-center" title="Anchor to: standby" aria-label="Anchor to: standby" href="#standby"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>standby_host</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">Endpoint of the primary cluster</td> </tr> <tr> <td>standby_port</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">PostgreSQL port of the primary cluster</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="streams" > streams </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#streams" class="gdoc-page__anchor clip flex align-center" title="Anchor to: streams" aria-label="Anchor to: streams" href="#streams"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>applicationId</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">The application name to which the database and CDC belongs to.</td> </tr> <tr> <td>database</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">Name of the database from where events will be published via Postgres&rsquo; logical decoding feature.</td> </tr> <tr> <td>tables</td> <td style="text-align: center">map</td> <td style="text-align: right">true</td> <td style="text-align: right">Defines a map of table names and their properties (eventType, idColumn and payloadColumn).</td> </tr> <tr> <td>batchSize</td> <td style="text-align: center">int</td> <td style="text-align: right">false</td> <td style="text-align: right">Defines the size of batches in which events are consumed. Defaults to 1</td> </tr> <tr> <td>enableRecovery</td> <td style="text-align: center">boolean</td> <td style="text-align: right">false</td> <td style="text-align: right">Flag to enable a dead letter queue recovery for all streams tables.</td> </tr> <tr> <td>filter</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">Streamed events can be filtered by a jsonpath expression for each table.</td> </tr> <tr> <td>standby_port</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">PostgreSQL port of the primary cluster</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="tde" > tde </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#tde" class="gdoc-page__anchor clip flex align-center" title="Anchor to: tde" aria-label="Anchor to: tde" href="#tde"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>enable</td> <td style="text-align: center">boolean</td> <td style="text-align: right">true</td> <td style="text-align: right">enable TDE during initDB</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="tolerations" > tolerations </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#tolerations" class="gdoc-page__anchor clip flex align-center" title="Anchor to: tolerations" aria-label="Anchor to: tolerations" href="#tolerations"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>key</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">Key for the taint attribute of the node</td> </tr> <tr> <td>operator</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">Comparison operator (Equal or Exists).</td> </tr> <tr> <td>value</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">Value of the taint (only relevant for ‘Equal’).</td> </tr> <tr> <td>effect</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">Specifies how the node handles the pod (NoExecute, NoSchedule, PreferNoSchedule)</td> </tr> <tr> <td>tolerationSeconds</td> <td style="text-align: center">int</td> <td style="text-align: right">false</td> <td style="text-align: right">Specifies how long the pod tolerates the taint (only for NoExecute).</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="volume" > volume </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#volume" class="gdoc-page__anchor clip flex align-center" title="Anchor to: volume" aria-label="Anchor to: volume" href="#volume"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>size</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">the size of the target volume. Usual Kubernetes size modifiers, i.e. Gi or Mi, apply</td> </tr> <tr> <td>storageClass</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">the name of the Kubernetes storage class to draw the persistent volume from. If empty K8s will choose the default StorageClass</td> </tr> <tr> <td>subPath</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">Subpath to use when mounting volume into PostgreSQL container.</td> </tr> <tr> <td>iops</td> <td style="text-align: center">int</td> <td style="text-align: right">false</td> <td style="text-align: right">When running the operator on AWS the latest generation of EBS volumes (gp3) allows for configuring the number of IOPS. Maximum is 16000</td> </tr> <tr> <td>throughput</td> <td style="text-align: center">int</td> <td style="text-align: right">false</td> <td style="text-align: right">When running the operator on AWS the latest generation of EBS volumes (gp3) allows for configuring the throughput in MB/s. Maximum is 1000</td> </tr> <tr> <td>selector</td> <td style="text-align: center">map</td> <td style="text-align: right">false</td> <td style="text-align: right">A label query over PVs to consider for binding. See the <a class="gdoc-markdown__link" href="https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/" >Kubernetes documentation</a> for details on using matchLabels and matchExpressions</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="volumesource" > volumeSource </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#volumesource" class="gdoc-page__anchor clip flex align-center" title="Anchor to: volumeSource" aria-label="Anchor to: volumeSource" href="#volumesource"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>emptyDir</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">emptyDir: {}</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#volumeSource-PersistentVolumeClaim" >PersistentVolumeClaim</a></td> <td style="text-align: center">map</td> <td style="text-align: right">false</td> <td style="text-align: right">PersistentVolumeClaim-Objekt</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#volumeSource-configMap" >configMap</a></td> <td style="text-align: center">map</td> <td style="text-align: right">false</td> <td style="text-align: right">configMap-Objekt</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="volumesource-persistentvolumeclaim" > volumeSource-PersistentVolumeClaim </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#volumesource-persistentvolumeclaim" class="gdoc-page__anchor clip flex align-center" title="Anchor to: volumeSource-PersistentVolumeClaim" aria-label="Anchor to: volumeSource-PersistentVolumeClaim" href="#volumesource-persistentvolumeclaim"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>claimName</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">Name of the PersistentVolumeClaim</td> </tr> <tr> <td>readyOnly</td> <td style="text-align: center">boolean</td> <td style="text-align: right">false</td> <td style="text-align: right">PersistentVolumeClaim-Objekt</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="volumesource-configmap" > volumeSource-configMap </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#volumesource-configmap" class="gdoc-page__anchor clip flex align-center" title="Anchor to: volumeSource-configMap" aria-label="Anchor to: volumeSource-configMap" href="#volumesource-configmap"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>name</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">Name of the Configmap</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="multisite" > multisite </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#multisite" class="gdoc-page__anchor clip flex align-center" title="Anchor to: multisite" aria-label="Anchor to: multisite" href="#multisite"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>enable</td> <td style="text-align: center">boolean</td> <td style="text-align: right">true</td> <td style="text-align: right">Enable multisite-feature</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#etcd" >etcd</a></td> <td style="text-align: center">map</td> <td style="text-align: right">true</td> <td style="text-align: right">Enables the definition of a pgbackrest-setup for the cluster</td> </tr> <tr> <td>retry_timeout</td> <td style="text-align: center">int</td> <td style="text-align: right">true</td> <td style="text-align: right">Patroni <code>retry_timeout</code> parameter value for the global etcd, optional. The default is set by the PostgreSQL image.</td> </tr> <tr> <td>site</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">Name for the site of this cluster</td> </tr> <tr> <td>ttl</td> <td style="text-align: center">int</td> <td style="text-align: right">true</td> <td style="text-align: right">Patroni <code>ttl</code> parameter value for the global etcd, optional. The default is set by the PostgreSQL image.</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="slots" > slots </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#slots" class="gdoc-page__anchor clip flex align-center" title="Anchor to: slots" aria-label="Anchor to: slots" href="#slots"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>type</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">Slot-Type (<code>physical</code> or <code>logical</code>)</td> </tr> <tr> <td>database</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">Databasename - for logical replication only</td> </tr> <tr> <td>plugin</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">Plugin - for logical replication only</td> </tr> </tbody> </table> <div class="flex align-center gdoc-page__anchorwrap"> <h2 id="hahahugoshortcode50s22hbhb" > <a href="javascript:history.back()">⬅ Back to Parent</a> </h2> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#hahahugoshortcode50s22hbhb" class="gdoc-page__anchor clip flex align-center" title="Anchor to: <a href="javascript:history.back()">⬅ Back to Parent</a>" aria-label="Anchor to: <a href="javascript:history.back()">⬅ Back to Parent</a>" href="#hahahugoshortcode50s22hbhb"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="schemas" > schemas </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#schemas" class="gdoc-page__anchor clip flex align-center" title="Anchor to: schemas" aria-label="Anchor to: schemas" href="#schemas"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>defaultRoles</td> <td style="text-align: center">boolean</td> <td style="text-align: right">false</td> <td style="text-align: right">Creates schema exclusiv roles with <code>NOLOGIN</code> permission and <code>_user</code>suffix Default: true</td> </tr> <tr> <td>defaultUsers</td> <td style="text-align: center">boolean</td> <td style="text-align: right">false</td> <td style="text-align: right">Creates schema exclusiv roles with <code>LOGIN</code> permission and <code>_user</code>suffix Default: false</td> </tr> </tbody> </table> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="etcd" > etcd </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#etcd" class="gdoc-page__anchor clip flex align-center" title="Anchor to: etcd" aria-label="Anchor to: etcd" href="#etcd"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>hosts</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">list of etcd hosts, including etcd-client-port (default: <code>2379</code>), comma separated like in the etcd config</td> </tr> <tr> <td>password</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">Password for the global etcd</td> </tr> <tr> <td>protocol</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">Protocol for the global etcd (http or https)</td> </tr> <tr> <td>user</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">Username for the global etcd</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="requests" > requests </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#requests" class="gdoc-page__anchor clip flex align-center" title="Anchor to: requests" aria-label="Anchor to: requests" href="#requests"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>cpu</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">cpu definitons Example: 1000m</td> </tr> <tr> <td>memory</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">memory definitons Example: 1000Mi</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="limits" > limits </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#limits" class="gdoc-page__anchor clip flex align-center" title="Anchor to: limits" aria-label="Anchor to: limits" href="#limits"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>cpu</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">cpu definitons Example: 1000m</td> </tr> <tr> <td>memory</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">memory definitons Example: 1000Mi</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="pgbackrest" > pgbackrest </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#pgbackrest" class="gdoc-page__anchor clip flex align-center" title="Anchor to: pgbackrest" aria-label="Anchor to: pgbackrest" href="#pgbackrest"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td><a class="gdoc-markdown__link" href="#configuration" >configuration</a></td> <td style="text-align: center">object</td> <td style="text-align: right">false</td> <td style="text-align: right">Enables the definition of a pgbackrest-setup for the cluster</td> </tr> <tr> <td>global</td> <td style="text-align: center">object</td> <td style="text-align: right">false</td> <td style="text-align: right"></td> </tr> <tr> <td>image</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right"></td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#repos" >repos</a></td> <td style="text-align: center">array</td> <td style="text-align: right">true</td> <td style="text-align: right"></td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#resources" >resources</a></td> <td style="text-align: center">object</td> <td style="text-align: right">false</td> <td style="text-align: right">CPU &amp; Memory (Limit &amp; Request) definition for the pgBackRest container</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="configuration" > configuration </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#configuration" class="gdoc-page__anchor clip flex align-center" title="Anchor to: configuration" aria-label="Anchor to: configuration" href="#configuration"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>secret</td> <td style="text-align: center">object</td> <td style="text-align: right">false</td> <td style="text-align: right">Secretname with the contained S3 credentials (AccessKey &amp; SecretAccessKey) (Note: must be placed in the same namespace as the cluster)</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#protection" >protection</a></td> <td style="text-align: center">object</td> <td style="text-align: right">false</td> <td style="text-align: right">Enable Protection-Options</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="protection" > protection </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#protection" class="gdoc-page__anchor clip flex align-center" title="Anchor to: protection" aria-label="Anchor to: protection" href="#protection"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>restore</td> <td style="text-align: center">boolean</td> <td style="text-align: right">false</td> <td style="text-align: right">A restore is ignored as long as this option is set to true.</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="repos" > repos </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#repos" class="gdoc-page__anchor clip flex align-center" title="Anchor to: repos" aria-label="Anchor to: repos" href="#repos"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>name</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">Name of the repository Required:Repo[1-4]</td> </tr> <tr> <td>storage</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">Defines the used backup-storage (Choose from List: pvc,s3,blob,gcs)</td> </tr> <tr> <td>resource</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">Bucket-/Instance-/Storage- or PVC-Name</td> </tr> <tr> <td>endpoint</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">The Endpoint for the choosen Storage (Not required for local storage)</td> </tr> <tr> <td>region</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">Region for the choosen Storage (S3 only)</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#schedule" >schedule</a></td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">Object for defining automatic backups</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="schedule" > schedule </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#schedule" class="gdoc-page__anchor clip flex align-center" title="Anchor to: schedule" aria-label="Anchor to: schedule" href="#schedule"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>full</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">(Cron-Syntax) Define full backup</td> </tr> <tr> <td>incr</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">(Cron-Syntax) Define incremental backup</td> </tr> <tr> <td>diff</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">(Cron-Syntax) Define differential backup</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="status" > status </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#status" class="gdoc-page__anchor clip flex align-center" title="Anchor to: status" aria-label="Anchor to: status" href="#status"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>PostgresClusterStatus</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">Shows the cluster status. Filled by the Operator</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> + + + Operator-Configuration + http://localhost:1313/CYBERTEC-pg-operator/crd/crd-operator-configurator/ + Tue, 07 Mar 2023 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/crd/crd-operator-configurator/ + <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">default</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>enable_crd_registration</td> <td style="text-align: center">boolean</td> <td style="text-align: right">true</td> <td style="text-align: right"></td> </tr> <tr> <td>crd_categories</td> <td style="text-align: center">string</td> <td style="text-align: right">all</td> <td style="text-align: right"></td> </tr> <tr> <td>enable_lazy_spilo_upgrade</td> <td style="text-align: center">boolean</td> <td style="text-align: right">false</td> <td style="text-align: right"></td> </tr> <tr> <td>enable_pgversion_env_var</td> <td style="text-align: center">boolean</td> <td style="text-align: right">true</td> <td style="text-align: right"></td> </tr> <tr> <td>enable_spilo_wal_path_combat</td> <td style="text-align: center">boolean</td> <td style="text-align: right">false</td> <td style="text-align: right"></td> </tr> <tr> <td>etcd_host</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>kubernetes_use_configmaps</td> <td style="text-align: center">boolean</td> <td style="text-align: right">false</td> <td style="text-align: right"></td> </tr> <tr> <td>docker_image</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>sidecars</td> <td style="text-align: center">list</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>enable_shm_volume</td> <td style="text-align: center">boolean</td> <td style="text-align: right">true</td> <td style="text-align: right"></td> </tr> <tr> <td>workers</td> <td style="text-align: center">int</td> <td style="text-align: right">8</td> <td style="text-align: right"></td> </tr> <tr> <td>max_instances</td> <td style="text-align: center">int</td> <td style="text-align: right">-1</td> <td style="text-align: right"></td> </tr> <tr> <td>min_instances</td> <td style="text-align: center">int</td> <td style="text-align: right">-1</td> <td style="text-align: right"></td> </tr> <tr> <td>resync_period</td> <td style="text-align: center">string</td> <td style="text-align: right">30m</td> <td style="text-align: right"></td> </tr> <tr> <td>repair_period</td> <td style="text-align: center">string</td> <td style="text-align: right">5m</td> <td style="text-align: right"></td> </tr> <tr> <td>set_memory_request_to_limit</td> <td style="text-align: center">boolean</td> <td style="text-align: right">false</td> <td style="text-align: right"></td> </tr> <tr> <td>debug_logging</td> <td style="text-align: center">boolean</td> <td style="text-align: right">true</td> <td style="text-align: right"></td> </tr> <tr> <td>enable_db_access</td> <td style="text-align: center">boolean</td> <td style="text-align: right">true</td> <td style="text-align: right"></td> </tr> <tr> <td>spilo_privileged</td> <td style="text-align: center">boolean</td> <td style="text-align: right">false</td> <td style="text-align: right"></td> </tr> <tr> <td>spilo_allow_privilege_escalation</td> <td style="text-align: center">boolean</td> <td style="text-align: right">true</td> <td style="text-align: right"></td> </tr> <tr> <td>watched_namespace</td> <td style="text-align: center">string</td> <td style="text-align: right">*</td> <td style="text-align: right"></td> </tr> </tbody> </table> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="major-upgrade-specific" > major-upgrade-specific </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-operator-configurator/#major-upgrade-specific" class="gdoc-page__anchor clip flex align-center" title="Anchor to: major-upgrade-specific" aria-label="Anchor to: major-upgrade-specific" href="#major-upgrade-specific"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">default</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>major_version_upgrade_mode</td> <td style="text-align: center">string</td> <td style="text-align: right">off</td> <td style="text-align: right"></td> </tr> <tr> <td>major_version_upgrade_team_allow_list</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>minimal_major_version</td> <td style="text-align: center">string</td> <td style="text-align: right">9.6</td> <td style="text-align: right"></td> </tr> <tr> <td>target_major_version</td> <td style="text-align: center">string</td> <td style="text-align: right">14</td> <td style="text-align: right"></td> </tr> </tbody> </table> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="aws-specific" > aws-specific </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-operator-configurator/#aws-specific" class="gdoc-page__anchor clip flex align-center" title="Anchor to: aws-specific" aria-label="Anchor to: aws-specific" href="#aws-specific"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">default</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>wal_s3_bucket</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>log_s3_bucket</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>kube_iam_role</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>aws_region</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>additional_secret_mount</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>additional_secret_mount_path</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>enable_ebs_gp3_migration</td> <td style="text-align: center">boolean</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>enable_ebs_gp3_migration_max_size</td> <td style="text-align: center">int</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> </tbody> </table> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="logical-backup-specific" > logical-backup-specific </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-operator-configurator/#logical-backup-specific" class="gdoc-page__anchor clip flex align-center" title="Anchor to: logical-backup-specific" aria-label="Anchor to: logical-backup-specific" href="#logical-backup-specific"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">default</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>logical_backup_docker_image</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>logical_backup_google_application_credentials</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>logical_backup_job_prefix</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>logical_backup_provider</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>logical_backup_s3_access_key_id</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>logical_backup_s3_bucket</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>logical_backup_s3_endpoint</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>logical_backup_s3_region</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>logical_backup_s3_secret_access_key</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>logical_backup_s3_sse</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>logical_backup_s3_retention_time</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>logical_backup_schedule</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right">(Cron-Syntax)</td> </tr> </tbody> </table> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="team-api-specific" > team-api-specific </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-operator-configurator/#team-api-specific" class="gdoc-page__anchor clip flex align-center" title="Anchor to: team-api-specific" aria-label="Anchor to: team-api-specific" href="#team-api-specific"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">default</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>enable_teams_api</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>teams_api_url</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>teams_api_role_configuration</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>enable_team_superuser</td> <td style="text-align: center">boolean</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>team_admin_role</td> <td style="text-align: center">boolean</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>enable_admin_role_for_users</td> <td style="text-align: center">boolean</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>pam_role_name</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>pam_configuration</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>protected_role_names</td> <td style="text-align: center">list</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>postgres_superuser_teams</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>role_deletion_suffix</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>enable_team_member_deprecation</td> <td style="text-align: center">boolean</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>enable_postgres_team_crd</td> <td style="text-align: center">boolean</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>enable_postgres_team_crd_superusers</td> <td style="text-align: center">boolean</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>enable_team_id_clustername_prefix</td> <td style="text-align: center">boolean</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> </tbody> </table> + + + diff --git a/docs/hugo/public/css/styles.css b/docs/hugo/public/css/styles.css new file mode 100644 index 000000000..d1f5fce85 --- /dev/null +++ b/docs/hugo/public/css/styles.css @@ -0,0 +1,3 @@ +thead { + background: var(--accent-color-lite); + } \ No newline at end of file diff --git a/docs/hugo/public/custom.css b/docs/hugo/public/custom.css new file mode 100644 index 000000000..799ddf111 --- /dev/null +++ b/docs/hugo/public/custom.css @@ -0,0 +1,342 @@ +/* Custom variables */ +:root { + --ci-color-primary: #153558; + --ci-color-secondary: #4ec1ec; + --ci-color-tertiary: #3880ad; + --ci-color-text: #40424a; + --ci-color-success: #006600; + --ci-color-error1: #cc3333; + --ci-color-error2: #f52222; + --ci-lightest-of-blues: #eaf4ff; + --ci-color-white: #ffffff; + + --custom-border-radius: 3px; + --custom-color-heading-color-alternative: var(--ci-color-tertiary); + --custom-color-heading-color: var(--ci-color-primary); + --custom-footer-link-color: var(--ci-color-white); + --custom-header-height: 80px; + --custom-header-margin: 2rem; + --custom-link-color: var(--ci-color-tertiary); + --custom-paper-color: #ffffff; +} + +/* Light mode (modify both object at the same time) */ +:root[color-theme="light"] { + --accent-color: unset; + --body-background: var(--ci-lightest-of-blues); + --body-font-color: var(--ci-color-text); + --code-copy-success-color: var(--ci-color-success); + --custom-color-heading-color-alternative: var(--ci-color-tertiary); + --custom-color-heading-color: var(--ci-color-primary); + --custom-paper-color: var(--ci-color-white); + --footer-background: var(--ci-color-primary); + --header-background: var(--ci-color-primary); +} + +@media (prefers-color-scheme: light) { + :root { + --accent-color: unset; + --body-background: var(--ci-lightest-of-blues); + --body-font-color: var(--ci-color-text); + --code-copy-success-color: var(--ci-color-success); + --custom-color-heading-color-alternative: var(--ci-color-tertiary); + --custom-color-heading-color: var(--ci-color-primary); + --custom-paper-color: var(--ci-color-white); + --footer-background: var(--ci-color-primary); + --header-background: var(--ci-color-primary); + } +} + + +/* Dark mode (modify both object at the same time) */ +:root[color-theme="dark"] { + --accent-color: unset; + --body-background: #0b223a; + --custom-color-heading-color-alternative: var(--ci-color-secondary); + --custom-color-heading-color: var(--ci-color-white); + --custom-paper-color: var(--ci-color-primary); + --header-background: var(--ci-color-primary); + /* Fix the $$ highlighting */ + .chroma .err { + color: inherit; + background-color: inherit; + } +} + +@media (prefers-color-scheme: dark) { + :root { + --accent-color: unset; + --body-background: #0b223a; + --custom-color-heading-color-alternative: var(--ci-color-secondary); + --custom-color-heading-color: var(--ci-color-white); + --custom-paper-color: var(--ci-color-primary); + --header-background: var(--ci-color-primary); + /* Fix the $$ highlighting */ + .chroma .err { + color: inherit; + background-color: inherit; + } + } +} + +/* Custom fonts */ +@font-face { + font-family: "Roboto"; + src: url("fonts/Roboto.ttf") format('truetype'); +} + +@font-face { + font-family: "Roboto"; + src: url("fonts/Roboto-Bold.ttf") format('truetype'); + font-weight: bold; +} + +@font-face { + font-family: "Roboto"; + src: url("fonts/Roboto-Italic.ttf") format('truetype'); + font-style: italic; +} + +@font-face { + font-family: "Source Code Pro"; + src: url("fonts/SourceCodePro.ttf") format('truetype'); +} + +html, body, .gdoc-header { + font-family: "Roboto", sans-serif; +} + +code { + font-family: "Source Code Pro", monospace; + overflow: auto; +} + +/* Make the logo a little bit bigger */ +.gdoc-brand__img { + width: auto; +} + +/* Make the arrows in the navigation look to the right if the menu entry is collapsed */ +.gdoc_keyboard_arrow_left { + transform: rotate(180deg); +} + +/* Use a solid underline for links within the navigation */ +.gdoc-nav__entry:hover, .gdoc-nav__entry.is-active { + text-decoration: underline !important; +} + +/* Fix the header to the top of the screen */ +.gdoc-header { + position: fixed; + top: 0; + left: 0; + right: 0; + z-index: 1; + height: var(--custom-header-height); + display: flex; + align-items: center; +} + +/* Center items within header */ +.gdoc-menu-header__items { + align-items: center; +} + +/* Increase the margin between header items */ +.gdoc-menu-header__items > span { + margin-left: 0.75rem; +} + +.gdoc-language { + margin-right: 0.25rem; +} + +/* Style the support button */ +.gdoc-support__button { + background-color: var(--ci-color-secondary); + padding-left: 8px; + padding-right: 8px; + height: 40px; + display: flex; + align-items: center; + border-radius: var(--custom-border-radius); + + a { + color: var(--ci-color-white); + text-transform: uppercase; + font-weight: bold; + } +} + +/* Ensure the content is leaving enough space to the top so it's not hidden beneath the fixed header */ +main { + margin-top: var(--custom-header-margin) !important; +} + +/* Increase the height of the Search and Breadcrumbs while centering their content */ +.gdoc-search__input, .gdoc-page__header { + height: 40px; + align-items: center; +} + +/* Ensure a uniform distance between the main components */ +.gdoc-page__header { + margin-bottom: var(--custom-header-margin); +} + +.gdoc-nav--main { + margin-top: var(--custom-header-margin); +} + +/* Add a border radius and drop shadow to the main components */ +.gdoc-markdown, .gdoc-nav--main, .gdoc-nav--more { + padding: 0 2rem 0.5rem 2rem; + border-radius: var(--custom-border-radius); + border: 1px solid var(--custom-paper-color); + box-shadow: 0 2px 20px -10px rgba(64, 66, 74, 0.2); +} + +/* Ensure proper fit between markdown title and body */ +.gdoc-markdown { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +/* Add paper background to main components */ +.gdoc-markdown, .gdoc-nav--main, .gdoc-search__input, .gdoc-search__list, .gdoc-page__header, .gdoc-language__list, .gdoc-nav--more { + background-color: var(--custom-paper-color); +} + +/* Use custom CI colors for warning */ +.gdoc-hint.warning, .gdoc-hint__title i.fa.warning { + background-color: var(--ci-color-error1); + color: #fff; + filter: unset +} + +/* Style headings according to our CI */ +h1, h2, h3, h4, h5, h6 { + text-transform: uppercase; + letter-spacing: 0.75px; + font-weight: 600; + line-height: 1.2em; +} + +h1, h3, h5 { + color: var(--custom-color-heading-color); +} + +h2, h4, h6 { + color: var(--custom-color-heading-color-alternative); +} + +h1 { + font-size: 42px !important; +} + +h2 { + font-size: 27px !important; +} + +h3 { + font-size: 21px !important; +} + +h4 { + font-size: 20px !important; +} + +h5 { + font-size: 18px !important; +} + +h6 { + font-size: 16px !important; +} + +/* Format links according to CI */ +.gdoc-markdown__link:link { + color: var(--custom-link-color); +} + +/* Add a blue background and the big-data-circle to each page title */ +.gdoc-markdown__title { + padding-top: 0; + padding-bottom: 0; + margin-bottom: 0; + background-color: var(--ci-color-primary); + + background-image: linear-gradient(var(--ci-color-primary), var(--ci-color-primary)), url(img/big-data-circle.svg); + background-size: auto, 50% 650px; + background-repeat: no-repeat; + min-height: 150px; + background-position: 140% -300px; + border-top-left-radius: var(--custom-border-radius); + border-top-right-radius: var(--custom-border-radius); + + display: flex; + flex-direction: column; + justify-content: center; + + h1 { + color: var(--ci-color-white); + margin: 0 2rem 0 2rem; + } +} + + +/* Shade the `A product of CYBERTEC` */ +.gdoc-page__nav__product { + color: #888; +} + +/* Customize the footer */ +.gdoc-footer { + display: flex; + justify-content: center; + align-items: center; + min-height: var(--custom-header-height); + + .gdoc-footer__wrapper { + display: flex; + flex-direction: column; + gap: 1rem; + max-width: 82rem; + width: 100%; + } + + .gdoc-footer__line { + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + flex-wrap: wrap; + gap: 1rem; + padding: 1.25rem; + width: 100%; + height: 100%; + + } + + .gdoc-footer__item { + align-items: center; + display: flex; + gap: 0.5rem; + } + + .gdoc-footer__item__icon { + height: 24px; + fill: var(--ci-color-secondary) + } + + .gdoc-footer__link { + color: var(--custom-footer-link-color); + text-decoration: none; + + &:hover { + text-decoration: underline; + } + } + +} diff --git a/docs/hugo/public/customize_cluster/additional-volumes/index.html b/docs/hugo/public/customize_cluster/additional-volumes/index.html new file mode 100644 index 000000000..1e19bc631 --- /dev/null +++ b/docs/hugo/public/customize_cluster/additional-volumes/index.html @@ -0,0 +1,5116 @@ + + + + + + + + + + + + + Additional Volumes | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + + +
+ + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
+
+
+ + + +
+ + + + + +
+ + + + + + + + + + + +
+ +
+ + +
+ + +
+ + +
+

Additional Volumes

+
+
+ +
  additionalVolumes:
+    - name: empty
+      mountPath: /opt/empty
+      targetContainers:
+        - all
+      volumeSource:
+        emptyDir: {}
+#    - name: data
+#      mountPath: /home/postgres/pgdata/partitions
+#      targetContainers:
+#        - postgres
+#      volumeSource:
+#        PersistentVolumeClaim:
+#          claimName: pvc-postgresql-data-partitions
+#          readyOnly: false
+#    - name: conf
+#      mountPath: /etc/telegraf
+#      subPath: telegraf.conf
+#      targetContainers:
+#        - telegraf-sidecar
+#      volumeSource:
+#        configMap:
+#          name: my-config-map
+
+
+ + + + + + + +
+
+ + + +
+ + + + + + diff --git a/docs/hugo/public/customize_cluster/index.html b/docs/hugo/public/customize_cluster/index.html new file mode 100644 index 000000000..40e4e8069 --- /dev/null +++ b/docs/hugo/public/customize_cluster/index.html @@ -0,0 +1,5081 @@ + + + + + + + + + + + + Customize Cluster | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + + +
+ + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
+
+
+ + + +
+ + + + + +
+ + + + + + + + + + + +
+ +
+ + +
+ + +
+ + +
+

Customize Cluster

+
+ +
+ +
+ + + + + + + +
+
+ + + +
+ + + + + + diff --git a/docs/hugo/public/customize_cluster/index.xml b/docs/hugo/public/customize_cluster/index.xml new file mode 100644 index 000000000..e814e2e74 --- /dev/null +++ b/docs/hugo/public/customize_cluster/index.xml @@ -0,0 +1,26 @@ + + + + Customize Cluster on CYBERTEC-PG-Operator + http://localhost:1313/CYBERTEC-pg-operator/customize_cluster/ + Recent content in Customize Cluster on CYBERTEC-PG-Operator + Hugo + en + Thu, 28 Dec 2023 14:26:51 +0100 + + + Sidecars + http://localhost:1313/CYBERTEC-pg-operator/customize_cluster/sidecars/ + Thu, 28 Dec 2023 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/customize_cluster/sidecars/ + <p>Starting with the Single-Node-Cluster from the previous section, we want to modify the Instance a bit to see.</p> <div class="flex align-center gdoc-page__anchorwrap"> <h2 id="cpu-and-memory" > CPU and Memory </h2> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/customize_cluster/sidecars/#cpu-and-memory" class="gdoc-page__anchor clip flex align-center" title="Anchor to: CPU and Memory" aria-label="Anchor to: CPU and Memory" href="#cpu-and-memory"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <pre tabindex="0"><code>spec: resources: limits: cpu: 1000m memory: 500Mi requests: cpu: 500m memory: 500mi </code></pre><p>Based on the ressources-Definiton we&rsquo;re able to modify the reserved Hardware (requests) and the limits, which allows use to consume more than the reserved definitons if the k8s-worker has this hardware available. There are some Restrictions when modifiying the limits-section. Because of the behaviour of Databases we should never define a diff between requests.memory and limits.memory. A Database is after some time using all available Memory, for Cache and other things. Limits are optional and the worker node can force them back. forcing back memory will create big problems inside a database like creating corruption, forcing OutOfMemory-Killer and so on. CPU on the other side is a ressource we can use inside the limits definiton to allow our database using more cpu if needed and available.</p> + + + Additional Volumes + http://localhost:1313/CYBERTEC-pg-operator/customize_cluster/additional-volumes/ + Thu, 28 Dec 2023 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/customize_cluster/additional-volumes/ + <pre tabindex="0"><code> additionalVolumes: - name: empty mountPath: /opt/empty targetContainers: - all volumeSource: emptyDir: {} # - name: data # mountPath: /home/postgres/pgdata/partitions # targetContainers: # - postgres # volumeSource: # PersistentVolumeClaim: # claimName: pvc-postgresql-data-partitions # readyOnly: false # - name: conf # mountPath: /etc/telegraf # subPath: telegraf.conf # targetContainers: # - telegraf-sidecar # volumeSource: # configMap: # name: my-config-map </code></pre> + + + diff --git a/docs/hugo/public/customize_cluster/sidecars/index.html b/docs/hugo/public/customize_cluster/sidecars/index.html new file mode 100644 index 000000000..86629d723 --- /dev/null +++ b/docs/hugo/public/customize_cluster/sidecars/index.html @@ -0,0 +1,5242 @@ + + + + + + + + + + + + + Sidecars | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + + +
+ + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
+
+
+ + + +
+ + + + + +
+ + + + + + + + + + + +
+ +
+ + +
+ + +
+ + +
+

Sidecars

+
+
+ +

Starting with the Single-Node-Cluster from the previous section, we want to modify the Instance a bit to see.

+
+

+ CPU and Memory +

+ + + +
+
spec:
+  resources:
+    limits:
+      cpu: 1000m
+      memory: 500Mi
+    requests:
+      cpu: 500m
+      memory: 500mi
+

Based on the ressources-Definiton we’re able to modify the reserved Hardware (requests) and the limits, which allows use to consume more than the reserved definitons if the k8s-worker has this hardware available. There are some Restrictions when modifiying the limits-section. Because of the behaviour of Databases we should never define a diff between requests.memory and limits.memory. A Database is after some time using all available Memory, for Cache and other things. Limits are optional and the worker node can force them back. forcing back memory will create big problems inside a database like creating corruption, forcing OutOfMemory-Killer and so on. +CPU on the other side is a ressource we can use inside the limits definiton to allow our database using more cpu if needed and available.

+
+

+ Sidecars +

+ + + +
+

Sidecars are further Containers running on the same Pod as the Database. We can use them for serveral different Jobs. +The Operator allows us to define them directly inside the Cluster-Manifest.

+
spec:
+  sidecars:
+   - name: "telegraf-sidecar"
+     image: "telegraf:latest"
+     ports:
+     - name: metrics
+       containerPort: 8094
+       protocol: TCP
+     resources:
+       limits:
+         cpu: 500m
+         memory: 500Mi
+       requests:
+         cpu: 100m
+         memory: 100Mi
+     env:
+       - name: "USEFUL_VAR"
+         value: "perhaps-true"
+

This Example will add a second Container to our Pods. This will trigger a restart, which creates Downtime if you’re not running a HA-Cluster.

+
+

+ Init-Containers +

+ + + +
+

We can exactly the same as for sidecars also for Init-Containers. +The difference is, that a sidecar is running normally on a pod. +An Init-Container will just run as first container when the pod is created and it will ends after his job is done. +The “normal” Containers has to wait till all init-Containers finished their jobs and ended with a exit-status.

+
spec:
+  initContainers:
+  - name: date
+    image: busybox
+    command: [ "/bin/date" ]
+
+

+ TLS-Certificates +

+ + + +
+

One Startup the Containers will create a custom TLS-Certificate which allows creating tls-secured-connections to the Database. +But this Certificates cannot verified, because the application has no information about the CA. Because of this the certificates are no protection against MITM-Attacks. +You’re able to configure your own Certificates and CA to ensure, that you can use secured and verified connections between your application and your database.

+
spec:
+  tls:
+    secretName: ""  # should correspond to a Kubernetes Secret resource to load
+    certificateFile: "tls.crt"
+    privateKeyFile: "tls.key"
+    caFile: ""  # optionally configure Postgres with a CA certificate
+    caSecretName: "" # optionally the ca.crt can come from this secret instead.
+

You need to store the needed values from tls.crt, tls.key and ca.crt in a secret and define the secrtetname inside the tls-object. +if you want you can create a separate sercet just for the ca and use this secret for every cluster inside the Namespace. +To get Information about creating Certificates and the secrets check the Tutorial in the additonal-Section or click here

+
+

+ Node-Affinity +

+ + + +
+

Node-Affinity will ensure that the Cluster-pods only deployed on Kubernetes-Nodes which has the defined Labelkey and -Value

+
spec:
+  nodeAffinity:
+    requiredDuringSchedulingIgnoredDuringExecution:
+      nodeSelectorTerms:
+        - matchExpressions:
+            - key: cpo
+              operator: In
+              values:
+                - enabled
+

This allowes you to use specific database-nodes in a mixed cluster for example. +In the Example above the Cluster-Pods are just deployed on Nodes with the Key: cpo and the value: enabled +So you’re able to seperate your Workload.

+
+

+ PostgreSQL-Configuration +

+ + + +
+

Every Cluster will start with the default PostgreSQL-Configuration. Every Parameter can be overriden based in definitions inside the Cluster-Manifest. +Therefore we just need a add the section parameters to the postgresql-Object

+
spec:
+  postgresql:
+    version: 16
+    parameters:
+      max_connections: "53"
+      log_statement: "all"
+      track_io_timing: "true"
+

These Definitions will change the PostgreSQL-Configuration. Based on the needs of Parameter changes the Pods may needs a restart, which creates a Downtime if its not a HA-Cluster. +You can check Parameters and allowed Values on this Sources to ensure a correct Value.

+ + +
+ + + + + + + +
+
+ + + +
+ + + + + + diff --git a/docs/hugo/public/db_users/index.html b/docs/hugo/public/db_users/index.html new file mode 100644 index 000000000..09f0bae6e --- /dev/null +++ b/docs/hugo/public/db_users/index.html @@ -0,0 +1,5341 @@ + + + + + + + + + + + + + Databases & Users | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + + +
+ + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
+
+
+ + + +
+ + + + + +
+ + + + + + + + + + + +
+ +
+ + +
+ + +
+ + +
+

Databases & Users

+
+ +
+

CPO not only supports you in deploying your cluster, it also supports you in setting it up in terms of the database and users. +CPO offers you three different options for this:

+
    +
  • Create roles
  • +
  • Create databases
  • +
  • preapared databases
  • +
+
+

+ Create Roles +

+ + + +
+

The creation of users is based on the definition of the user name and the definition of the required rights for this user. Available rights are

+
    +
  • superuser
  • +
  • inherit
  • +
  • login
  • +
  • nologin
  • +
  • createrole
  • +
  • createdb
  • +
  • replication
  • +
  • bypassrls
  • +
+

Unless explicitly defined via NOLOGIN, a created user automatically receives the LOGIN permission.

+
spec:
+  users:
+    db_owner:
+    - login
+    - createdb
+    appl_user:
+    - login
+

For each user created, CPO automatically creates a secret with username and password in the namespace of the cluster, which follows the following naming convention: +[USERNAME].[CLUSTERNAME].credentials.postgresql.cpo.opensource.cybertec.at

+

If the secrets for an application are to be stored in a different namespace, for example, it is necessary to define the setting enable_cross_namespace_secret as true in the operator configuration. You can find more information about the operator configuration here.

+

The namespace must then be written before the user name.

+
spec:
+  users:
+    db_owner:
+    - login
+    - createdb
+    app_namespace.appl_user:
+    - login
+
+

+ Create Databases +

+ + + +
+

Databases are basically created in a very similar way to users. +The definition is based on the database name and the database owner.

+
spec:
+  users:
+    db_owner:
+    - login
+    - createdb
+    app_namespace.appl_user:
+    - login
+  databases;
+    app_db: app_namespace.appl_user
+
+ + + + +
+
+
Be aware that the user name must be defined for the database owner in the same way as it is done in the users object.
+
+ +
+

+ Prepared Databases +

+ + + +
+

The preparedDatabases object is available for a much more extensive setup of databases and users. +In addition to the creation of databases and users, this also enables the creation of schemas and extensions. A more detailed rights management is also available.

+
+

+ Databases and Schema +

+ + + +
+

Creating the preparedDatabases object already creates a database whose name is based on the cluster name. preparedDatabases: {}

+ + + + + +
+
+
For the database name, - is replaced with _ in the cluster name
+
+ +

To create your own database names and elements such as schemas and extensions within the database, an object must be created within preparedDatabases for each database.

+
spec:
+  preparedDatabases:
+    appl_db:
+      extensions:
+        dblink: public
+      schemas:
+        data: {}
+

This example creates a database with the name appl_db and creates a schema with the name data in it, as well as creating the dblink extension in the schema public.

+
+

+ Management of users and Permissions +

+ + + +
+

For rights management, we distinguish between NOLOGIN roles and LOGIN roles. Users have login rights and inherit the other rights from the NOLOGIN role.

+
+

+ NoLogin roles (defaultRoles) +

+ + + +
+

The roles are created if defaultroles is not explicitly set to false.

+
spec:
+  preparedDatabases:
+    appl_db:
+      extensions:
+        dblink: public
+      schemas:
+        data: {}
+

This creates roles for the schema owner, writer and reader

+
+

+ Login roles (defaultUsers) +

+ + + +
+

The roles described in the previous paragraph can be assigned to LOGIN roles via the users section in the manifest. Optionally, the Postgres operator can also create standard LOGIN roles for the database and each individual schema. These roles are given the suffix _user and inherit all rights from their NOLOGIN counterparts. Therefore, you cannot set defaultRoles to false and activate defaultUsers at the same time.

+
spec:
+  preparedDatabases:
+    appl_db:
+      defaultUsers: true
+      extensions:
+        dblink: public
+      schemas:
+        data: {}
+        history:
+          defaultRoles: true
+          defaultUsers: false
+

This example creates the following users and inheritances

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Role nameAttributesinherits from
appl_db_ownerCannot loginappl_db_reader,appl_db_owner,appl_data_owner,…
appl_db_owner_userappl_db_owner
appl_db_readerCannot login
appl_db_reader_userappl_db_reader
appl_db_writerCannot loginappl_db_reader
appl_db_writer_userappl_db_writer
appl_db_data_ownerCannot loginappl_db_data_reader,appl_db_data_writer
appl_db_data_readerCannot login
appl_db_data_writerCannot loginappl_db_data_reader
appl_db_history_ownerCannot loginappl_db_history_reader,appl_db_history_writer
appl_db_history_readerCannot login
appl_db_history_writerCannot loginappl_db_history_reader
+

Default access permissions are also defined for LOGIN roles when databases and schemas are created. This means that they are not currently set if defaultUsers (or defaultRoles for schemas) are activated at a later time.

+
+

+ User Secrets +

+ + + +
+

For each user created by cpo with LOGIN permissions, the operator also creates a secret with username and password, as with the creation of roles via the users object.

+ +
+ + + + + + + +
+
+ + + +
+ + + + + + diff --git a/docs/hugo/public/db_users/index.xml b/docs/hugo/public/db_users/index.xml new file mode 100644 index 000000000..a18ef1d9c --- /dev/null +++ b/docs/hugo/public/db_users/index.xml @@ -0,0 +1,12 @@ + + + + Databases & Users on CYBERTEC-PG-Operator + http://localhost:1313/CYBERTEC-pg-operator/db_users/ + Recent content in Databases & Users on CYBERTEC-PG-Operator + Hugo + en + + + + diff --git a/docs/hugo/public/documentation/examples/index.html b/docs/hugo/public/documentation/examples/index.html new file mode 100644 index 000000000..d73bfc490 --- /dev/null +++ b/docs/hugo/public/documentation/examples/index.html @@ -0,0 +1,5312 @@ + + + + + + + + + + + + + Single Cluster | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + + +
+ + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
+
+
+ + + +
+ + + + + +
+ + + + + + + + + + + +
+ +
+ + +
+ + +
+ + +
+

Single Cluster

+
+
+ +

Setting up a basic Cluster is pretty easy, we just need the minimum Definiton of a cluster-manifest which can also be find in the operator-tutorials repo on github. +We need the following Definitions for the basic cluster.

+
+

+ minimal Single Cluster +

+ + + +
+
apiVersion: cpo.opensource.cybertec.at/v1
+kind: postgresql
+metadata:
+  name: cluster-1
+spec:
+  dockerImage: "docker.io/cybertecpostgresql/cybertec-pg-container:postgres-16.4-1"
+  numberOfInstances: 1
+  postgresql:
+    version: "16"
+  resources:
+    limits:
+      cpu: 500m
+      memory: 500Mi
+    requests:
+      cpu: 500m
+      memory: 500Mi
+  volume:
+    size: 5Gi 
+

Based on this Manifest the Operator will deploy a single-Node-Cluster based on the defined dockerImage and start the included Postgres-16-Server. +Also created is a volume based on your default-storage Class. The Ressource-Definiton means, that we reserve a half cpu and a half GB Memory for this Cluster with the same Definition as limit.

+

After some seconds we should see, that the operator creates our cluster based on the declared definitions.

+
kubectl get pods
+-----------------------------------------------------------------------------
+NAME                             | READY  | STATUS           | RESTARTS | AGE
+cluster-1-0                      | 1/1    | Running          | 0        | 50s
+

We can now starting to modify our cluster with some more Definitons.

+
+

+ Use a specific Storageclass +

+ + + +
+
spec:
+  ...
+  volume:
+    size: 5Gi
+    storageClass: default-provisioner
+  ...
+

Using the storageClass-Definiton allows us to define a specific storageClass for this Cluster. Please ensure, that the storageClass exists and is usable. If a Volume cannot provide the Volume will stand in the pending-State as like the Database-Pod.

+
+

+ Expanding Volume +

+ + + +
+

The Operator allows to you expand your volume if the storage-System is able to do this.

+
spec:
+  ...
+  volume:
+    size: 10Gi
+    storageClass: default-provisioner
+  ...
+

This will trigger the expand of your Cluster-Volumes. It will need some time and you can check the current state inside the pvc.

+
kubectl get pvc pgdata-cluster-1-0 -o yaml
+-------------------------------------------------------
+spec:
+  accessModes:
+  - ReadWriteOnce
+  resources:
+    requests:
+      storage: 10Gi
+  storageClassName: crc-csi-hostpath-provisioner
+  volumeMode: Filesystem
+  volumeName: pvc-800d7ecc-2d5f-4ef4-af83-1cd94c766d37
+status:
+  accessModes:
+  - ReadWriteOnce
+  capacity:
+    storage: 5Gi
+  phase: Bound
+
+

+ Creating additonal Volumes +

+ + + +
+

The Operator allows you to modify your cluster with additonal Volumes.

+
spec:
+  ...
+  additionalVolumes:
+    - name: empty
+      mountPath: /opt/empty
+      targetContainers:
+        - all
+      volumeSource:
+        emptyDir: {}
+

This example will create an emptyDir and mount it to all Containers inside the Database-Pod.

+
+

+ Specific Settings for aws gp3 Storage +

+ + + +
+

For the gp3 Storage aws you can define more informations

+
  volume:
+    size: 1Gi
+    storageClass: gp3
+    iops: 1000  # for EBS gp3
+    throughput: 250  # in MB/s for EBS gp3
+

The defined IOPS and Throughput will include in the PersistentVolumeClaim and send to the storage-Provisioner. +Please keep in Mind, that on aws there is a CoolDown-Time as a limitation defined. For new Changes you need to wait 6 hours. +Please also ensure to check the default and allowed values for IOPS and Throughput AWS docs.

+

To ensure that the settings are updates properly please define the Operator-Configuration ‘storage_resize_mode’ from default to ‘mixed’

+ +
+ + + + + + + +
+
+ + + +
+ + + + + + diff --git a/docs/hugo/public/documentation/index.html b/docs/hugo/public/documentation/index.html new file mode 100644 index 000000000..84f7272dc --- /dev/null +++ b/docs/hugo/public/documentation/index.html @@ -0,0 +1,5168 @@ + + + + + + + + + + + + Documentation | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + + +
+ + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
+
+
+ + + +
+ + + + + +
+ + + + + + + + + + + +
+ +
+ + +
+ + +
+ + +
+

Documentation

+
+ +
+ +
+ + + + + + + +
+
+ + + +
+ + + + + + diff --git a/docs/hugo/public/documentation/index.xml b/docs/hugo/public/documentation/index.xml new file mode 100644 index 000000000..17b7e1c7e --- /dev/null +++ b/docs/hugo/public/documentation/index.xml @@ -0,0 +1,26 @@ + + + + Documentation on CYBERTEC-PG-Operator + http://localhost:1313/CYBERTEC-pg-operator/documentation/ + Recent content in Documentation on CYBERTEC-PG-Operator + Hugo + en + Thu, 28 Dec 2023 14:26:51 +0100 + + + Single Cluster + http://localhost:1313/CYBERTEC-pg-operator/documentation/examples/ + Thu, 28 Dec 2023 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/documentation/examples/ + <p>Setting up a basic Cluster is pretty easy, we just need the minimum Definiton of a cluster-manifest which can also be find in the operator-tutorials repo on github. We need the following Definitions for the basic cluster.</p> <div class="flex align-center gdoc-page__anchorwrap"> <h2 id="minimal-single-cluster" > minimal Single Cluster </h2> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/documentation/examples/#minimal-single-cluster" class="gdoc-page__anchor clip flex align-center" title="Anchor to: minimal Single Cluster" aria-label="Anchor to: minimal Single Cluster" href="#minimal-single-cluster"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <pre tabindex="0"><code>apiVersion: cpo.opensource.cybertec.at/v1 kind: postgresql metadata: name: cluster-1 spec: dockerImage: &#34;docker.io/cybertecpostgresql/cybertec-pg-container:postgres-16.4-1&#34; numberOfInstances: 1 postgresql: version: &#34;16&#34; resources: limits: cpu: 500m memory: 500Mi requests: cpu: 500m memory: 500Mi volume: size: 5Gi </code></pre><p>Based on this Manifest the Operator will deploy a single-Node-Cluster based on the defined dockerImage and start the included Postgres-16-Server. Also created is a volume based on your default-storage Class. The Ressource-Definiton means, that we reserve a half cpu and a half GB Memory for this Cluster with the same Definition as limit.</p> + + + Update to new API from previous Operator-Version + http://localhost:1313/CYBERTEC-pg-operator/documentation/operator/migratetonewapi/ + Tue, 07 Mar 2023 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/documentation/operator/migratetonewapi/ + <p>khjls</p> + + + diff --git a/docs/hugo/public/documentation/operator/migratetonewapi/index.html b/docs/hugo/public/documentation/operator/migratetonewapi/index.html new file mode 100644 index 000000000..27758fd0c --- /dev/null +++ b/docs/hugo/public/documentation/operator/migratetonewapi/index.html @@ -0,0 +1,5181 @@ + + + + + + + + + + + + + Update to new API from previous Operator-Version | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + + +
+ + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
+
+
+ + + +
+ + + + + +
+ + + + + + + + + + + +
+ +
+ + +
+ + +
+ + +
+

Update to new API from previous Operator-Version

+
+
+ +

khjls

+ +
+ + + + + + + +
+
+ + + +
+ + + + + + diff --git a/docs/hugo/public/extensions/index.html b/docs/hugo/public/extensions/index.html new file mode 100644 index 000000000..940a15cb9 --- /dev/null +++ b/docs/hugo/public/extensions/index.html @@ -0,0 +1,5081 @@ + + + + + + + + + + + + Extensions | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + + +
+ + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
+
+
+ + + +
+ + + + + +
+ + + + + + + + + + + +
+ +
+ + +
+ + +
+ + +
+

Extensions

+
+ +
+ +
+ + + + + + + +
+
+ + + +
+ + + + + + diff --git a/docs/hugo/public/extensions/index.xml b/docs/hugo/public/extensions/index.xml new file mode 100644 index 000000000..cdf5ac2fc --- /dev/null +++ b/docs/hugo/public/extensions/index.xml @@ -0,0 +1,47 @@ + + + + Extensions on CYBERTEC-PG-Operator + http://localhost:1313/CYBERTEC-pg-operator/extensions/ + Recent content in Extensions on CYBERTEC-PG-Operator + Hugo + en + Thu, 28 Dec 2023 14:26:51 +0100 + + + PostgreSQL 13 + http://localhost:1313/CYBERTEC-pg-operator/extensions/pg13/ + Thu, 28 Dec 2023 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/extensions/pg13/ + <blockquote class="gdoc-hint info"> <div class="gdoc-hint__title flex align-center"><i class="fa info" title="Info"></i></div> <div class="gdoc-hint__text">The extensions listed are included in the standard images. This list refers to PostgreSQL 13.</div> </blockquote> <table> <thead> <tr> <th>Name</th> <th>Default Version</th> <th>Comment</th> </tr> </thead> <tbody> <tr> <td>adminpack</td> <td>2.1</td> <td>Administrative functions for PostgreSQL</td> </tr> <tr> <td>amcheck</td> <td>1.2</td> <td>Functions for verifying relation integrity</td> </tr> <tr> <td>autoinc</td> <td>1.0</td> <td>Functions for autoincrementing fields</td> </tr> <tr> <td>bloom</td> <td>1.0</td> <td>Bloom access method - signature file based index</td> </tr> <tr> <td>btree_gin</td> <td>1.3</td> <td>Support for indexing common datatypes in GIN</td> </tr> <tr> <td>btree_gist</td> <td>1.5</td> <td>Support for indexing common datatypes in GiST</td> </tr> <tr> <td>citext</td> <td>1.6</td> <td>Data type for case-insensitive character strings</td> </tr> <tr> <td>credcheck</td> <td>3.0.0</td> <td>credcheck - PostgreSQL plain text credential checker</td> </tr> <tr> <td>cube</td> <td>1.4</td> <td>Data type for multidimensional cubes</td> </tr> <tr> <td>dblink</td> <td>1.2</td> <td>Connect to other PostgreSQL databases from within a database</td> </tr> <tr> <td>dict_int</td> <td>1.0</td> <td>Text search dictionary template for integers</td> </tr> <tr> <td>dict_xsyn</td> <td>1.0</td> <td>Text search dictionary template for extended synonym processing</td> </tr> <tr> <td>earthdistance</td> <td>1.1</td> <td>Calculate great-circle distances on the surface of the Earth</td> </tr> <tr> <td>file_fdw</td> <td>1.0</td> <td>Foreign-data wrapper for flat file access</td> </tr> <tr> <td>fuzzystrmatch</td> <td>1.1</td> <td>Determine similarities and distance between strings</td> </tr> <tr> <td>hstore</td> <td>1.7</td> <td>Data type for storing sets of (key, value) pairs</td> </tr> <tr> <td>hstore_plperl</td> <td>1.0</td> <td>Transform between hstore and plperl</td> </tr> <tr> <td>hstore_plperlu</td> <td>1.0</td> <td>Transform between hstore and plperlu</td> </tr> <tr> <td>hstore_plpython3u</td> <td>1.0</td> <td>Transform between hstore and plpython3u</td> </tr> <tr> <td>insert_username</td> <td>1.0</td> <td>Functions for tracking who changed a table</td> </tr> <tr> <td>intagg</td> <td>1.1</td> <td>Integer aggregator and enumerator (obsolete)</td> </tr> <tr> <td>intarray</td> <td>1.3</td> <td>Functions, operators, and index support for 1-D arrays of integers</td> </tr> <tr> <td>isn</td> <td>1.2</td> <td>Data types for international product numbering standards</td> </tr> <tr> <td>jsonb_plperl</td> <td>1.0</td> <td>Transform between jsonb and plperl</td> </tr> <tr> <td>jsonb_plperlu</td> <td>1.0</td> <td>Transform between jsonb and plperlu</td> </tr> <tr> <td>jsonb_plpython3u</td> <td>1.0</td> <td>Transform between jsonb and plpython3u</td> </tr> <tr> <td>lo</td> <td>1.1</td> <td>Large Object maintenance</td> </tr> <tr> <td>ltree</td> <td>1.2</td> <td>Data type for hierarchical tree-like structures</td> </tr> <tr> <td>ltree_plpython3u</td> <td>1.0</td> <td>Transform between ltree and plpython3u</td> </tr> <tr> <td>moddatetime</td> <td>1.0</td> <td>Functions for tracking last modification time</td> </tr> <tr> <td>pageinspect</td> <td>1.8</td> <td>Inspect the contents of database pages at a low level</td> </tr> <tr> <td>pg_buffercache</td> <td>1.3</td> <td>Examine the shared buffer cache</td> </tr> <tr> <td>pg_cron</td> <td>1.6</td> <td>Job scheduler for PostgreSQL</td> </tr> <tr> <td>pg_freespacemap</td> <td>1.2</td> <td>Examine the free space map (FSM)</td> </tr> <tr> <td>pg_permissions</td> <td>1.3</td> <td>View object permissions and compare them with the desired state</td> </tr> <tr> <td>pg_prewarm</td> <td>1.2</td> <td>Prewarm relation data</td> </tr> <tr> <td>pg_proctab</td> <td></td> <td>Placeholder - see pg_proctab&ndash;0.0.10-compat.control</td> </tr> <tr> <td>pg_stat_statements</td> <td>1.8</td> <td>Track planning and execution statistics of all SQL statements executed</td> </tr> <tr> <td>pg_trgm</td> <td>1.5</td> <td>Text similarity measurement and index searching based on trigrams</td> </tr> <tr> <td>pg_visibility</td> <td>1.2</td> <td>Examine the visibility map (VM) and page-level visibility info</td> </tr> <tr> <td>pgaudit</td> <td>1.5.3</td> <td>Provides auditing functionality</td> </tr> <tr> <td>pgauditlogtofile</td> <td>1.6</td> <td>pgAudit addon to redirect audit entries to an independent file</td> </tr> <tr> <td>pgcrypto</td> <td>1.3</td> <td>Cryptographic functions</td> </tr> <tr> <td>pgnodemx</td> <td>1.7</td> <td>SQL functions that allow capture of node OS metrics from PostgreSQL</td> </tr> <tr> <td>pgrowlocks</td> <td>1.2</td> <td>Show row-level locking information</td> </tr> <tr> <td>pgstattuple</td> <td>1.5</td> <td>Show tuple-level statistics</td> </tr> <tr> <td>plpgsql</td> <td>1.0</td> <td>PL/pgSQL procedural language</td> </tr> <tr> <td>plpython3u</td> <td>1.0</td> <td>PL/Python3U untrusted procedural language</td> </tr> <tr> <td>pltcl</td> <td>1.0</td> <td>PL/Tcl procedural language</td> </tr> <tr> <td>pltclu</td> <td>1.0</td> <td>PL/TclU untrusted procedural language</td> </tr> <tr> <td>postgres_fdw</td> <td>1.0</td> <td>Foreign-data wrapper for remote PostgreSQL servers</td> </tr> <tr> <td>refint</td> <td>1.0</td> <td>Functions for implementing referential integrity (obsolete)</td> </tr> <tr> <td>seg</td> <td>1.3</td> <td>Data type for representing line segments or floating-point intervals</td> </tr> <tr> <td>set_user</td> <td>4.1.0</td> <td>Similar to SET ROLE but with added logging</td> </tr> <tr> <td>sslinfo</td> <td>1.2</td> <td>Information about SSL certificates</td> </tr> <tr> <td>tablefunc</td> <td>1.0</td> <td>Functions that manipulate whole tables, including crosstab</td> </tr> <tr> <td>tcn</td> <td>1.0</td> <td>Triggered change notifications</td> </tr> <tr> <td>timescaledb</td> <td>2.15.3</td> <td>Enables scalable inserts and complex queries for time-series data (Apache 2 Edition)</td> </tr> <tr> <td>tsm_system_rows</td> <td>1.0</td> <td>TABLESAMPLE method which accepts number of rows as a limit</td> </tr> <tr> <td>tsm_system_time</td> <td>1.0</td> <td>TABLESAMPLE method which accepts time in milliseconds as a limit</td> </tr> <tr> <td>unaccent</td> <td>1.1</td> <td>Text search dictionary that removes accents</td> </tr> <tr> <td>uuid-ossp</td> <td>1.1</td> <td>Generate universally unique identifiers (UUIDs)</td> </tr> <tr> <td>xml2</td> <td>1.1</td> <td>XPath querying and XSLT</td> </tr> </tbody> </table> <blockquote class="gdoc-hint info"> <div class="gdoc-hint__title flex align-center"><i class="fa info" title="Info"></i></div> <div class="gdoc-hint__text">The following extensions are additionally included in the Postgis images.</div> </blockquote> <table> <thead> <tr> <th>Name</th> <th>Default Version</th> <th>Comment</th> </tr> </thead> <tbody> <tr> <td>address_standardizer</td> <td>3.4.4</td> <td>Used to parse an address into constituent elements. Generally used to support geocoding address normalization step.</td> </tr> <tr> <td>address_standardizer_data_us</td> <td>3.4.4</td> <td>Address Standardizer US dataset example</td> </tr> <tr> <td>postgis</td> <td>3.4.4</td> <td>PostGIS geometry and geography spatial types and functions</td> </tr> <tr> <td>postgis_raster</td> <td>3.4.4</td> <td>PostGIS raster types and functions</td> </tr> <tr> <td>postgis_sfcgal</td> <td>3.4.4</td> <td>PostGIS SFCGAL functions</td> </tr> <tr> <td>postgis_tiger_geocoder</td> <td>3.4.4</td> <td>PostGIS tiger geocoder and reverse geocoder</td> </tr> <tr> <td>postgis_topology</td> <td>3.4.4</td> <td>PostGIS topology spatial types and functions</td> </tr> </tbody> </table> + + + PostgreSQL 14 + http://localhost:1313/CYBERTEC-pg-operator/extensions/pg14/ + Thu, 28 Dec 2023 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/extensions/pg14/ + <blockquote class="gdoc-hint info"> <div class="gdoc-hint__title flex align-center"><i class="fa info" title="Info"></i></div> <div class="gdoc-hint__text">The extensions listed are included in the standard images. This list refers to PostgreSQL 14.</div> </blockquote> <table> <thead> <tr> <th>Name</th> <th>Default Version</th> <th>Comment</th> </tr> </thead> <tbody> <tr> <td>adminpack</td> <td>2.1</td> <td>Administrative functions for PostgreSQL</td> </tr> <tr> <td>amcheck</td> <td>1.3</td> <td>Functions for verifying relation integrity</td> </tr> <tr> <td>autoinc</td> <td>1.0</td> <td>Functions for autoincrementing fields</td> </tr> <tr> <td>bloom</td> <td>1.0</td> <td>Bloom access method - signature file based index</td> </tr> <tr> <td>btree_gin</td> <td>1.3</td> <td>Support for indexing common datatypes in GIN</td> </tr> <tr> <td>btree_gist</td> <td>1.6</td> <td>Support for indexing common datatypes in GiST</td> </tr> <tr> <td>citext</td> <td>1.6</td> <td>Data type for case-insensitive character strings</td> </tr> <tr> <td>credcheck</td> <td>3.0.0</td> <td>credcheck - PostgreSQL plain text credential checker</td> </tr> <tr> <td>cube</td> <td>1.5</td> <td>Data type for multidimensional cubes</td> </tr> <tr> <td>dblink</td> <td>1.2</td> <td>Connect to other PostgreSQL databases from within a database</td> </tr> <tr> <td>dict_int</td> <td>1.0</td> <td>Text search dictionary template for integers</td> </tr> <tr> <td>dict_xsyn</td> <td>1.0</td> <td>Text search dictionary template for extended synonym processing</td> </tr> <tr> <td>earthdistance</td> <td>1.1</td> <td>Calculate great-circle distances on the surface of the Earth</td> </tr> <tr> <td>file_fdw</td> <td>1.0</td> <td>Foreign-data wrapper for flat file access</td> </tr> <tr> <td>fuzzystrmatch</td> <td>1.1</td> <td>Determine similarities and distance between strings</td> </tr> <tr> <td>hstore</td> <td>1.8</td> <td>Data type for storing sets of (key, value) pairs</td> </tr> <tr> <td>hstore_plperl</td> <td>1.0</td> <td>Transform between hstore and plperl</td> </tr> <tr> <td>hstore_plperlu</td> <td>1.0</td> <td>Transform between hstore and plperlu</td> </tr> <tr> <td>hstore_plpython3u</td> <td>1.0</td> <td>Transform between hstore and plpython3u</td> </tr> <tr> <td>insert_username</td> <td>1.0</td> <td>Functions for tracking who changed a table</td> </tr> <tr> <td>intagg</td> <td>1.1</td> <td>Integer aggregator and enumerator (obsolete)</td> </tr> <tr> <td>intarray</td> <td>1.5</td> <td>Functions, operators, and index support for 1-D arrays of integers</td> </tr> <tr> <td>isn</td> <td>1.2</td> <td>Data types for international product numbering standards</td> </tr> <tr> <td>jsonb_plperl</td> <td>1.0</td> <td>Transform between jsonb and plperl</td> </tr> <tr> <td>jsonb_plperlu</td> <td>1.0</td> <td>Transform between jsonb and plperlu</td> </tr> <tr> <td>jsonb_plpython3u</td> <td>1.0</td> <td>Transform between jsonb and plpython3u</td> </tr> <tr> <td>lo</td> <td>1.1</td> <td>Large Object maintenance</td> </tr> <tr> <td>ltree</td> <td>1.2</td> <td>Data type for hierarchical tree-like structures</td> </tr> <tr> <td>ltree_plpython3u</td> <td>1.0</td> <td>Transform between ltree and plpython3u</td> </tr> <tr> <td>moddatetime</td> <td>1.0</td> <td>Functions for tracking last modification time</td> </tr> <tr> <td>old_snapshot</td> <td>1.0</td> <td>Utilities in support of old_snapshot_threshold</td> </tr> <tr> <td>pageinspect</td> <td>1.9</td> <td>Inspect the contents of database pages at a low level</td> </tr> <tr> <td>pg_buffercache</td> <td>1.3</td> <td>Examine the shared buffer cache</td> </tr> <tr> <td>pg_cron</td> <td>1.6</td> <td>Job scheduler for PostgreSQL</td> </tr> <tr> <td>pg_freespacemap</td> <td>1.2</td> <td>Examine the free space map (FSM)</td> </tr> <tr> <td>pg_permissions</td> <td>1.3</td> <td>View object permissions and compare them with the desired state</td> </tr> <tr> <td>pg_prewarm</td> <td>1.2</td> <td>Prewarm relation data</td> </tr> <tr> <td>pg_proctab</td> <td></td> <td>Placeholder - see pg_proctab&ndash;0.0.10-compat.control</td> </tr> <tr> <td>pg_stat_statements</td> <td>1.9</td> <td>Track planning and execution statistics of all SQL statements executed</td> </tr> <tr> <td>pg_surgery</td> <td>1.0</td> <td>Extension to perform surgery on a damaged relation</td> </tr> <tr> <td>pg_trgm</td> <td>1.6</td> <td>Text similarity measurement and index searching based on trigrams</td> </tr> <tr> <td>pg_visibility</td> <td>1.2</td> <td>Examine the visibility map (VM) and page-level visibility info</td> </tr> <tr> <td>pgaudit</td> <td>1.6.3</td> <td>Provides auditing functionality</td> </tr> <tr> <td>pgauditlogtofile</td> <td>1.6</td> <td>pgAudit addon to redirect audit entries to an independent file</td> </tr> <tr> <td>pgcrypto</td> <td>1.3</td> <td>Cryptographic functions</td> </tr> <tr> <td>pgnodemx</td> <td>1.7</td> <td>SQL functions that allow capture of node OS metrics from PostgreSQL</td> </tr> <tr> <td>pgrowlocks</td> <td>1.2</td> <td>Show row-level locking information</td> </tr> <tr> <td>pgstattuple</td> <td>1.5</td> <td>Show tuple-level statistics</td> </tr> <tr> <td>plpgsql</td> <td>1.0</td> <td>PL/pgSQL procedural language</td> </tr> <tr> <td>plpython3u</td> <td>1.0</td> <td>PL/Python3U untrusted procedural language</td> </tr> <tr> <td>pltcl</td> <td>1.0</td> <td>PL/Tcl procedural language</td> </tr> <tr> <td>pltclu</td> <td>1.0</td> <td>PL/TclU untrusted procedural language</td> </tr> <tr> <td>postgres_fdw</td> <td>1.1</td> <td>Foreign-data wrapper for remote PostgreSQL servers</td> </tr> <tr> <td>refint</td> <td>1.0</td> <td>Functions for implementing referential integrity (obsolete)</td> </tr> <tr> <td>seg</td> <td>1.4</td> <td>Data type for representing line segments or floating-point intervals</td> </tr> <tr> <td>set_user</td> <td>4.1.0</td> <td>Similar to SET ROLE but with added logging</td> </tr> <tr> <td>sslinfo</td> <td>1.2</td> <td>Information about SSL certificates</td> </tr> <tr> <td>tablefunc</td> <td>1.0</td> <td>Functions that manipulate whole tables, including crosstab</td> </tr> <tr> <td>tcn</td> <td>1.0</td> <td>Triggered change notifications</td> </tr> <tr> <td>timescaledb</td> <td>2.18.2</td> <td>Enables scalable inserts and complex queries for time-series data (Apache 2 Edition)</td> </tr> <tr> <td>tsm_system_rows</td> <td>1.0</td> <td>TABLESAMPLE method which accepts number of rows as a limit</td> </tr> <tr> <td>tsm_system_time</td> <td>1.0</td> <td>TABLESAMPLE method which accepts time in milliseconds as a limit</td> </tr> <tr> <td>unaccent</td> <td>1.1</td> <td>Text search dictionary that removes accents</td> </tr> <tr> <td>uuid-ossp</td> <td>1.1</td> <td>Generate universally unique identifiers (UUIDs)</td> </tr> <tr> <td>xml2</td> <td>1.1</td> <td>XPath querying and XSLT</td> </tr> </tbody> </table> <blockquote class="gdoc-hint info"> <div class="gdoc-hint__title flex align-center"><i class="fa info" title="Info"></i></div> <div class="gdoc-hint__text">The following extensions are additionally included in the Postgis images.</div> </blockquote> <table> <thead> <tr> <th>Name</th> <th>Default Version</th> <th>Comment</th> </tr> </thead> <tbody> <tr> <td>address_standardizer</td> <td>3.4.4</td> <td>Used to parse an address into constituent elements. Generally used to support geocoding address normalization step.</td> </tr> <tr> <td>address_standardizer_data_us</td> <td>3.4.4</td> <td>Address Standardizer US dataset example</td> </tr> <tr> <td>postgis</td> <td>3.4.4</td> <td>PostGIS geometry and geography spatial types and functions</td> </tr> <tr> <td>postgis_raster</td> <td>3.4.4</td> <td>PostGIS raster types and functions</td> </tr> <tr> <td>postgis_sfcgal</td> <td>3.4.4</td> <td>PostGIS SFCGAL functions</td> </tr> <tr> <td>postgis_tiger_geocoder</td> <td>3.4.4</td> <td>PostGIS tiger geocoder and reverse geocoder</td> </tr> <tr> <td>postgis_topology</td> <td>3.4.4</td> <td>PostGIS topology spatial types and functions</td> </tr> </tbody> </table> + + + PostgreSQL 15 + http://localhost:1313/CYBERTEC-pg-operator/extensions/pg15/ + Thu, 28 Dec 2023 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/extensions/pg15/ + <blockquote class="gdoc-hint info"> <div class="gdoc-hint__title flex align-center"><i class="fa info" title="Info"></i></div> <div class="gdoc-hint__text">The extensions listed are included in the standard images. This list refers to PostgreSQL 15.</div> </blockquote> <table> <thead> <tr> <th>Name</th> <th>Default Version</th> <th>Comment</th> </tr> </thead> <tbody> <tr> <td>adminpack</td> <td>2.1</td> <td>Administrative functions for PostgreSQL</td> </tr> <tr> <td>amcheck</td> <td>1.3</td> <td>Functions for verifying relation integrity</td> </tr> <tr> <td>autoinc</td> <td>1.0</td> <td>Functions for autoincrementing fields</td> </tr> <tr> <td>bloom</td> <td>1.0</td> <td>Bloom access method - signature file based index</td> </tr> <tr> <td>btree_gin</td> <td>1.3</td> <td>Support for indexing common datatypes in GIN</td> </tr> <tr> <td>btree_gist</td> <td>1.7</td> <td>Support for indexing common datatypes in GiST</td> </tr> <tr> <td>citext</td> <td>1.6</td> <td>Data type for case-insensitive character strings</td> </tr> <tr> <td>credcheck</td> <td>3.0.0</td> <td>credcheck - PostgreSQL plain text credential checker</td> </tr> <tr> <td>cube</td> <td>1.5</td> <td>Data type for multidimensional cubes</td> </tr> <tr> <td>dblink</td> <td>1.2</td> <td>Connect to other PostgreSQL databases from within a database</td> </tr> <tr> <td>dict_int</td> <td>1.0</td> <td>Text search dictionary template for integers</td> </tr> <tr> <td>dict_xsyn</td> <td>1.0</td> <td>Text search dictionary template for extended synonym processing</td> </tr> <tr> <td>earthdistance</td> <td>1.1</td> <td>Calculate great-circle distances on the surface of the Earth</td> </tr> <tr> <td>file_fdw</td> <td>1.0</td> <td>Foreign-data wrapper for flat file access</td> </tr> <tr> <td>fuzzystrmatch</td> <td>1.1</td> <td>Determine similarities and distance between strings</td> </tr> <tr> <td>hstore</td> <td>1.8</td> <td>Data type for storing sets of (key, value) pairs</td> </tr> <tr> <td>hstore_plperl</td> <td>1.0</td> <td>Transform between hstore and plperl</td> </tr> <tr> <td>hstore_plperlu</td> <td>1.0</td> <td>Transform between hstore and plperlu</td> </tr> <tr> <td>hstore_plpython3u</td> <td>1.0</td> <td>Transform between hstore and plpython3u</td> </tr> <tr> <td>insert_username</td> <td>1.0</td> <td>Functions for tracking who changed a table</td> </tr> <tr> <td>intagg</td> <td>1.1</td> <td>Integer aggregator and enumerator (obsolete)</td> </tr> <tr> <td>intarray</td> <td>1.5</td> <td>Functions, operators, and index support for 1-D arrays of integers</td> </tr> <tr> <td>isn</td> <td>1.2</td> <td>Data types for international product numbering standards</td> </tr> <tr> <td>jsonb_plperl</td> <td>1.0</td> <td>Transform between jsonb and plperl</td> </tr> <tr> <td>jsonb_plperlu</td> <td>1.0</td> <td>Transform between jsonb and plperlu</td> </tr> <tr> <td>jsonb_plpython3u</td> <td>1.0</td> <td>Transform between jsonb and plpython3u</td> </tr> <tr> <td>lo</td> <td>1.1</td> <td>Large Object maintenance</td> </tr> <tr> <td>ltree</td> <td>1.2</td> <td>Data type for hierarchical tree-like structures</td> </tr> <tr> <td>ltree_plpython3u</td> <td>1.0</td> <td>Transform between ltree and plpython3u</td> </tr> <tr> <td>moddatetime</td> <td>1.0</td> <td>Functions for tracking last modification time</td> </tr> <tr> <td>old_snapshot</td> <td>1.0</td> <td>Utilities in support of old_snapshot_threshold</td> </tr> <tr> <td>pageinspect</td> <td>1.11</td> <td>Inspect the contents of database pages at a low level</td> </tr> <tr> <td>pg_buffercache</td> <td>1.3</td> <td>Examine the shared buffer cache</td> </tr> <tr> <td>pg_cron</td> <td>1.6</td> <td>Job scheduler for PostgreSQL</td> </tr> <tr> <td>pg_freespacemap</td> <td>1.2</td> <td>Examine the free space map (FSM)</td> </tr> <tr> <td>pg_permissions</td> <td>1.3</td> <td>View object permissions and compare them with the desired state</td> </tr> <tr> <td>pg_prewarm</td> <td>1.2</td> <td>Prewarm relation data</td> </tr> <tr> <td>pg_proctab</td> <td></td> <td>Placeholder - see pg_proctab&ndash;0.0.10-compat.control</td> </tr> <tr> <td>pg_stat_statements</td> <td>1.10</td> <td>Track planning and execution statistics of all SQL statements executed</td> </tr> <tr> <td>pg_surgery</td> <td>1.0</td> <td>Extension to perform surgery on a damaged relation</td> </tr> <tr> <td>pg_trgm</td> <td>1.6</td> <td>Text similarity measurement and index searching based on trigrams</td> </tr> <tr> <td>pg_visibility</td> <td>1.2</td> <td>Examine the visibility map (VM) and page-level visibility info</td> </tr> <tr> <td>pg_walinspect</td> <td>1.0</td> <td>Functions to inspect contents of PostgreSQL Write-Ahead Log</td> </tr> <tr> <td>pgaudit</td> <td>1.7</td> <td>Provides auditing functionality</td> </tr> <tr> <td>pgauditlogtofile</td> <td>1.6</td> <td>pgAudit addon to redirect audit entries to an independent file</td> </tr> <tr> <td>pgcrypto</td> <td>1.3</td> <td>Cryptographic functions</td> </tr> <tr> <td>pgnodemx</td> <td>1.7</td> <td>SQL functions that allow capture of node OS metrics from PostgreSQL</td> </tr> <tr> <td>pgrowlocks</td> <td>1.2</td> <td>Show row-level locking information</td> </tr> <tr> <td>pgstattuple</td> <td>1.5</td> <td>Show tuple-level statistics</td> </tr> <tr> <td>plpgsql</td> <td>1.0</td> <td>PL/pgSQL procedural language</td> </tr> <tr> <td>plpython3u</td> <td>1.0</td> <td>PL/Python3U untrusted procedural language</td> </tr> <tr> <td>pltcl</td> <td>1.0</td> <td>PL/Tcl procedural language</td> </tr> <tr> <td>pltclu</td> <td>1.0</td> <td>PL/TclU untrusted procedural language</td> </tr> <tr> <td>postgres_fdw</td> <td>1.1</td> <td>Foreign-data wrapper for remote PostgreSQL servers</td> </tr> <tr> <td>refint</td> <td>1.0</td> <td>Functions for implementing referential integrity (obsolete)</td> </tr> <tr> <td>seg</td> <td>1.4</td> <td>Data type for representing line segments or floating-point intervals</td> </tr> <tr> <td>set_user</td> <td>4.1.0</td> <td>Similar to SET ROLE but with added logging</td> </tr> <tr> <td>sslinfo</td> <td>1.2</td> <td>Information about SSL certificates</td> </tr> <tr> <td>tablefunc</td> <td>1.0</td> <td>Functions that manipulate whole tables, including crosstab</td> </tr> <tr> <td>tcn</td> <td>1.0</td> <td>Triggered change notifications</td> </tr> <tr> <td>timescaledb</td> <td>2.18.2</td> <td>Enables scalable inserts and complex queries for time-series data (Apache 2 Edition)</td> </tr> <tr> <td>tsm_system_rows</td> <td>1.0</td> <td>TABLESAMPLE method which accepts number of rows as a limit</td> </tr> <tr> <td>tsm_system_time</td> <td>1.0</td> <td>TABLESAMPLE method which accepts time in milliseconds as a limit</td> </tr> <tr> <td>unaccent</td> <td>1.1</td> <td>Text search dictionary that removes accents</td> </tr> <tr> <td>uuid-ossp</td> <td>1.1</td> <td>Generate universally unique identifiers (UUIDs)</td> </tr> <tr> <td>xml2</td> <td>1.1</td> <td>XPath querying and XSLT</td> </tr> </tbody> </table> <blockquote class="gdoc-hint info"> <div class="gdoc-hint__title flex align-center"><i class="fa info" title="Info"></i></div> <div class="gdoc-hint__text">The following extensions are additionally included in the Postgis images.</div> </blockquote> <table> <thead> <tr> <th>Name</th> <th>Default Version</th> <th>Comment</th> </tr> </thead> <tbody> <tr> <td>address_standardizer</td> <td>3.4.4</td> <td>Used to parse an address into constituent elements. Generally used to support geocoding address normalization step.</td> </tr> <tr> <td>address_standardizer_data_us</td> <td>3.4.4</td> <td>Address Standardizer US dataset example</td> </tr> <tr> <td>postgis</td> <td>3.4.4</td> <td>PostGIS geometry and geography spatial types and functions</td> </tr> <tr> <td>postgis_raster</td> <td>3.4.4</td> <td>PostGIS raster types and functions</td> </tr> <tr> <td>postgis_sfcgal</td> <td>3.4.4</td> <td>PostGIS SFCGAL functions</td> </tr> <tr> <td>postgis_tiger_geocoder</td> <td>3.4.4</td> <td>PostGIS tiger geocoder and reverse geocoder</td> </tr> <tr> <td>postgis_topology</td> <td>3.4.4</td> <td>PostGIS topology spatial types and functions</td> </tr> </tbody> </table> + + + PostgreSQL 16 + http://localhost:1313/CYBERTEC-pg-operator/extensions/pg16/ + Thu, 28 Dec 2023 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/extensions/pg16/ + <blockquote class="gdoc-hint info"> <div class="gdoc-hint__title flex align-center"><i class="fa info" title="Info"></i></div> <div class="gdoc-hint__text">The extensions listed are included in the standard images. This list refers to PostgreSQL 16.</div> </blockquote> <table> <thead> <tr> <th>Name</th> <th>Default Version</th> <th>Comment</th> </tr> </thead> <tbody> <tr> <td>adminpack</td> <td>2.1</td> <td>Administrative functions for PostgreSQL</td> </tr> <tr> <td>amcheck</td> <td>1.3</td> <td>Functions for verifying relation integrity</td> </tr> <tr> <td>autoinc</td> <td>1.0</td> <td>Functions for autoincrementing fields</td> </tr> <tr> <td>bloom</td> <td>1.0</td> <td>Bloom access method - signature file based index</td> </tr> <tr> <td>btree_gin</td> <td>1.3</td> <td>Support for indexing common datatypes in GIN</td> </tr> <tr> <td>btree_gist</td> <td>1.7</td> <td>Support for indexing common datatypes in GiST</td> </tr> <tr> <td>citext</td> <td>1.6</td> <td>Data type for case-insensitive character strings</td> </tr> <tr> <td>credcheck</td> <td>3.0.0</td> <td>credcheck - PostgreSQL plain text credential checker</td> </tr> <tr> <td>cube</td> <td>1.5</td> <td>Data type for multidimensional cubes</td> </tr> <tr> <td>dblink</td> <td>1.2</td> <td>Connect to other PostgreSQL databases from within a database</td> </tr> <tr> <td>dict_int</td> <td>1.0</td> <td>Text search dictionary template for integers</td> </tr> <tr> <td>dict_xsyn</td> <td>1.0</td> <td>Text search dictionary template for extended synonym processing</td> </tr> <tr> <td>earthdistance</td> <td>1.2</td> <td>Calculate great-circle distances on the surface of the Earth</td> </tr> <tr> <td>file_fdw</td> <td>1.0</td> <td>Foreign-data wrapper for flat file access</td> </tr> <tr> <td>fuzzystrmatch</td> <td>1.2</td> <td>Determine similarities and distance between strings</td> </tr> <tr> <td>hstore</td> <td>1.8</td> <td>Data type for storing sets of (key, value) pairs</td> </tr> <tr> <td>hstore_plperl</td> <td>1.0</td> <td>Transform between hstore and plperl</td> </tr> <tr> <td>hstore_plperlu</td> <td>1.0</td> <td>Transform between hstore and plperlu</td> </tr> <tr> <td>hstore_plpython3u</td> <td>1.0</td> <td>Transform between hstore and plpython3u</td> </tr> <tr> <td>insert_username</td> <td>1.0</td> <td>Functions for tracking who changed a table</td> </tr> <tr> <td>intagg</td> <td>1.1</td> <td>Integer aggregator and enumerator (obsolete)</td> </tr> <tr> <td>intarray</td> <td>1.5</td> <td>Functions, operators, and index support for 1-D arrays of integers</td> </tr> <tr> <td>isn</td> <td>1.2</td> <td>Data types for international product numbering standards</td> </tr> <tr> <td>jsonb_plperl</td> <td>1.0</td> <td>Transform between jsonb and plperl</td> </tr> <tr> <td>jsonb_plperlu</td> <td>1.0</td> <td>Transform between jsonb and plperlu</td> </tr> <tr> <td>jsonb_plpython3u</td> <td>1.0</td> <td>Transform between jsonb and plpython3u</td> </tr> <tr> <td>lo</td> <td>1.1</td> <td>Large Object maintenance</td> </tr> <tr> <td>ltree</td> <td>1.2</td> <td>Data type for hierarchical tree-like structures</td> </tr> <tr> <td>ltree_plpython3u</td> <td>1.0</td> <td>Transform between ltree and plpython3u</td> </tr> <tr> <td>moddatetime</td> <td>1.0</td> <td>Functions for tracking last modification time</td> </tr> <tr> <td>old_snapshot</td> <td>1.0</td> <td>Utilities in support of old_snapshot_threshold</td> </tr> <tr> <td>pageinspect</td> <td>1.12</td> <td>Inspect the contents of database pages at a low level</td> </tr> <tr> <td>pg_buffercache</td> <td>1.4</td> <td>Examine the shared buffer cache</td> </tr> <tr> <td>pg_cron</td> <td>1.6</td> <td>Job scheduler for PostgreSQL</td> </tr> <tr> <td>pg_freespacemap</td> <td>1.2</td> <td>Examine the free space map (FSM)</td> </tr> <tr> <td>pg_permissions</td> <td>1.3</td> <td>View object permissions and compare them with the desired state</td> </tr> <tr> <td>pg_prewarm</td> <td>1.2</td> <td>Prewarm relation data</td> </tr> <tr> <td>pg_proctab</td> <td></td> <td>Placeholder - see pg_proctab&ndash;0.0.10-compat.control</td> </tr> <tr> <td>pg_stat_statements</td> <td>1.10</td> <td>Track planning and execution statistics of all SQL statements executed</td> </tr> <tr> <td>pg_surgery</td> <td>1.0</td> <td>Extension to perform surgery on a damaged relation</td> </tr> <tr> <td>pg_trgm</td> <td>1.6</td> <td>Text similarity measurement and index searching based on trigrams</td> </tr> <tr> <td>pg_visibility</td> <td>1.2</td> <td>Examine the visibility map (VM) and page-level visibility info</td> </tr> <tr> <td>pg_walinspect</td> <td>1.1</td> <td>Functions to inspect contents of PostgreSQL Write-Ahead Log</td> </tr> <tr> <td>pgaudit</td> <td>16.1</td> <td>Provides auditing functionality</td> </tr> <tr> <td>pgauditlogtofile</td> <td>1.6</td> <td>pgAudit addon to redirect audit entries to an independent file</td> </tr> <tr> <td>pgcrypto</td> <td>1.3</td> <td>Cryptographic functions</td> </tr> <tr> <td>pgnodemx</td> <td>1.7</td> <td>SQL functions that allow capture of node OS metrics from PostgreSQL</td> </tr> <tr> <td>pgrowlocks</td> <td>1.2</td> <td>Show row-level locking information</td> </tr> <tr> <td>pgstattuple</td> <td>1.5</td> <td>Show tuple-level statistics</td> </tr> <tr> <td>plpgsql</td> <td>1.0</td> <td>PL/pgSQL procedural language</td> </tr> <tr> <td>plpython3u</td> <td>1.0</td> <td>PL/Python3U untrusted procedural language</td> </tr> <tr> <td>pltcl</td> <td>1.0</td> <td>PL/Tcl procedural language</td> </tr> <tr> <td>pltclu</td> <td>1.0</td> <td>PL/TclU untrusted procedural language</td> </tr> <tr> <td>postgres_fdw</td> <td>1.1</td> <td>Foreign-data wrapper for remote PostgreSQL servers</td> </tr> <tr> <td>refint</td> <td>1.0</td> <td>Functions for implementing referential integrity (obsolete)</td> </tr> <tr> <td>seg</td> <td>1.4</td> <td>Data type for representing line segments or floating-point intervals</td> </tr> <tr> <td>set_user</td> <td>4.1.0</td> <td>Similar to SET ROLE but with added logging</td> </tr> <tr> <td>sslinfo</td> <td>1.2</td> <td>Information about SSL certificates</td> </tr> <tr> <td>tablefunc</td> <td>1.0</td> <td>Functions that manipulate whole tables, including crosstab</td> </tr> <tr> <td>tcn</td> <td>1.0</td> <td>Triggered change notifications</td> </tr> <tr> <td>timescaledb</td> <td>2.18.2</td> <td>Enables scalable inserts and complex queries for time-series data (Apache 2 Edition)</td> </tr> <tr> <td>tsm_system_rows</td> <td>1.0</td> <td>TABLESAMPLE method which accepts number of rows as a limit</td> </tr> <tr> <td>tsm_system_time</td> <td>1.0</td> <td>TABLESAMPLE method which accepts time in milliseconds as a limit</td> </tr> <tr> <td>unaccent</td> <td>1.1</td> <td>Text search dictionary that removes accents</td> </tr> <tr> <td>uuid-ossp</td> <td>1.1</td> <td>Generate universally unique identifiers (UUIDs)</td> </tr> <tr> <td>xml2</td> <td>1.1</td> <td>XPath querying and XSLT</td> </tr> </tbody> </table> <blockquote class="gdoc-hint info"> <div class="gdoc-hint__title flex align-center"><i class="fa info" title="Info"></i></div> <div class="gdoc-hint__text">The following extensions are additionally included in the Postgis images.</div> </blockquote> <table> <thead> <tr> <th>Name</th> <th>Default Version</th> <th>Comment</th> </tr> </thead> <tbody> <tr> <td>address_standardizer</td> <td>3.4.4</td> <td>Used to parse an address into constituent elements. Generally used to support geocoding address normalization step.</td> </tr> <tr> <td>address_standardizer_data_us</td> <td>3.4.4</td> <td>Address Standardizer US dataset example</td> </tr> <tr> <td>postgis</td> <td>3.4.4</td> <td>PostGIS geometry and geography spatial types and functions</td> </tr> <tr> <td>postgis_raster</td> <td>3.4.4</td> <td>PostGIS raster types and functions</td> </tr> <tr> <td>postgis_sfcgal</td> <td>3.4.4</td> <td>PostGIS SFCGAL functions</td> </tr> <tr> <td>postgis_tiger_geocoder</td> <td>3.4.4</td> <td>PostGIS tiger geocoder and reverse geocoder</td> </tr> <tr> <td>postgis_topology</td> <td>3.4.4</td> <td>PostGIS topology spatial types and functions</td> </tr> </tbody> </table> + + + PostgreSQL 17 + http://localhost:1313/CYBERTEC-pg-operator/extensions/pg17/ + Thu, 28 Dec 2023 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/extensions/pg17/ + <blockquote class="gdoc-hint info"> <div class="gdoc-hint__title flex align-center"><i class="fa info" title="Info"></i></div> <div class="gdoc-hint__text">The extensions listed are included in the standard images. This list refers to PostgreSQL 17.</div> </blockquote> <table> <thead> <tr> <th>Name</th> <th>Default Version</th> <th>Comment</th> </tr> </thead> <tbody> <tr> <td>amcheck</td> <td>1.4</td> <td>Functions for verifying relation integrity</td> </tr> <tr> <td>autoinc</td> <td>1.0</td> <td>Functions for autoincrementing fields</td> </tr> <tr> <td>bloom</td> <td>1.0</td> <td>Bloom access method - signature file based index</td> </tr> <tr> <td>btree_gin</td> <td>1.3</td> <td>Support for indexing common datatypes in GIN</td> </tr> <tr> <td>btree_gist</td> <td>1.7</td> <td>Support for indexing common datatypes in GiST</td> </tr> <tr> <td>citext</td> <td>1.6</td> <td>Data type for case-insensitive character strings</td> </tr> <tr> <td>credcheck</td> <td>3.0.0</td> <td>credcheck - PostgreSQL plain text credential checker</td> </tr> <tr> <td>cube</td> <td>1.5</td> <td>Data type for multidimensional cubes</td> </tr> <tr> <td>dblink</td> <td>1.2</td> <td>Connect to other PostgreSQL databases from within a database</td> </tr> <tr> <td>dict_int</td> <td>1.0</td> <td>Text search dictionary template for integers</td> </tr> <tr> <td>dict_xsyn</td> <td>1.0</td> <td>Text search dictionary template for extended synonym processing</td> </tr> <tr> <td>earthdistance</td> <td>1.2</td> <td>Calculate great-circle distances on the surface of the Earth</td> </tr> <tr> <td>file_fdw</td> <td>1.0</td> <td>Foreign-data wrapper for flat file access</td> </tr> <tr> <td>fuzzystrmatch</td> <td>1.2</td> <td>Determine similarities and distance between strings</td> </tr> <tr> <td>hstore</td> <td>1.8</td> <td>Data type for storing sets of (key, value) pairs</td> </tr> <tr> <td>hstore_plperl</td> <td>1.0</td> <td>Transform between hstore and plperl</td> </tr> <tr> <td>hstore_plperlu</td> <td>1.0</td> <td>Transform between hstore and plperlu</td> </tr> <tr> <td>hstore_plpython3u</td> <td>1.0</td> <td>Transform between hstore and plpython3u</td> </tr> <tr> <td>insert_username</td> <td>1.0</td> <td>Functions for tracking who changed a table</td> </tr> <tr> <td>intagg</td> <td>1.1</td> <td>Integer aggregator and enumerator (obsolete)</td> </tr> <tr> <td>intarray</td> <td>1.5</td> <td>Functions, operators, and index support for 1-D arrays of integers</td> </tr> <tr> <td>isn</td> <td>1.2</td> <td>Data types for international product numbering standards</td> </tr> <tr> <td>jsonb_plperl</td> <td>1.0</td> <td>Transform between jsonb and plperl</td> </tr> <tr> <td>jsonb_plperlu</td> <td>1.0</td> <td>Transform between jsonb and plperlu</td> </tr> <tr> <td>jsonb_plpython3u</td> <td>1.0</td> <td>Transform between jsonb and plpython3u</td> </tr> <tr> <td>lo</td> <td>1.1</td> <td>Large Object maintenance</td> </tr> <tr> <td>ltree</td> <td>1.3</td> <td>Data type for hierarchical tree-like structures</td> </tr> <tr> <td>ltree_plpython3u</td> <td>1.0</td> <td>Transform between ltree and plpython3u</td> </tr> <tr> <td>moddatetime</td> <td>1.0</td> <td>Functions for tracking last modification time</td> </tr> <tr> <td>pageinspect</td> <td>1.12</td> <td>Inspect the contents of database pages at a low level</td> </tr> <tr> <td>pg_buffercache</td> <td>1.5</td> <td>Examine the shared buffer cache</td> </tr> <tr> <td>pg_cron</td> <td>1.6</td> <td>Job scheduler for PostgreSQL</td> </tr> <tr> <td>pg_freespacemap</td> <td>1.2</td> <td>Examine the free space map (FSM)</td> </tr> <tr> <td>pg_permissions</td> <td>1.3</td> <td>View object permissions and compare them with the desired state</td> </tr> <tr> <td>pg_prewarm</td> <td>1.2</td> <td>Prewarm relation data</td> </tr> <tr> <td>pg_proctab</td> <td></td> <td>Placeholder - see pg_proctab&ndash;0.0.10-compat.control</td> </tr> <tr> <td>pg_stat_statements</td> <td>1.11</td> <td>Track planning and execution statistics of all SQL statements executed</td> </tr> <tr> <td>pg_surgery</td> <td>1.0</td> <td>Extension to perform surgery on a damaged relation</td> </tr> <tr> <td>pg_trgm</td> <td>1.6</td> <td>Text similarity measurement and index searching based on trigrams</td> </tr> <tr> <td>pg_visibility</td> <td>1.2</td> <td>Examine the visibility map (VM) and page-level visibility info</td> </tr> <tr> <td>pg_walinspect</td> <td>1.1</td> <td>Functions to inspect contents of PostgreSQL Write-Ahead Log</td> </tr> <tr> <td>pgaudit</td> <td>17.1</td> <td>Provides auditing functionality</td> </tr> <tr> <td>pgauditlogtofile</td> <td>1.6</td> <td>pgAudit addon to redirect audit entries to an independent file</td> </tr> <tr> <td>pgcrypto</td> <td>1.3</td> <td>Cryptographic functions</td> </tr> <tr> <td>pgnodemx</td> <td>1.7</td> <td>SQL functions that allow capture of node OS metrics from PostgreSQL</td> </tr> <tr> <td>pgrowlocks</td> <td>1.2</td> <td>Show row-level locking information</td> </tr> <tr> <td>pgstattuple</td> <td>1.5</td> <td>Show tuple-level statistics</td> </tr> <tr> <td>plpgsql</td> <td>1.0</td> <td>PL/pgSQL procedural language</td> </tr> <tr> <td>plpython3u</td> <td>1.0</td> <td>PL/Python3U untrusted procedural language</td> </tr> <tr> <td>pltcl</td> <td>1.0</td> <td>PL/Tcl procedural language</td> </tr> <tr> <td>pltclu</td> <td>1.0</td> <td>PL/TclU untrusted procedural language</td> </tr> <tr> <td>postgres_fdw</td> <td>1.1</td> <td>Foreign-data wrapper for remote PostgreSQL servers</td> </tr> <tr> <td>refint</td> <td>1.0</td> <td>Functions for implementing referential integrity (obsolete)</td> </tr> <tr> <td>seg</td> <td>1.4</td> <td>Data type for representing line segments or floating-point intervals</td> </tr> <tr> <td>set_user</td> <td>4.1.0</td> <td>Similar to SET ROLE but with added logging</td> </tr> <tr> <td>sslinfo</td> <td>1.2</td> <td>Information about SSL certificates</td> </tr> <tr> <td>tablefunc</td> <td>1.0</td> <td>Functions that manipulate whole tables, including crosstab</td> </tr> <tr> <td>tcn</td> <td>1.0</td> <td>Triggered change notifications</td> </tr> <tr> <td>timescaledb</td> <td>2.18.2</td> <td>Enables scalable inserts and complex queries for time-series data (Apache 2 Edition)</td> </tr> <tr> <td>tsm_system_rows</td> <td>1.0</td> <td>TABLESAMPLE method which accepts number of rows as a limit</td> </tr> <tr> <td>tsm_system_time</td> <td>1.0</td> <td>TABLESAMPLE method which accepts time in milliseconds as a limit</td> </tr> <tr> <td>unaccent</td> <td>1.1</td> <td>Text search dictionary that removes accents</td> </tr> <tr> <td>uuid-ossp</td> <td>1.1</td> <td>Generate universally unique identifiers (UUIDs)</td> </tr> <tr> <td>xml2</td> <td>1.1</td> <td>XPath querying and XSLT</td> </tr> </tbody> </table> <blockquote class="gdoc-hint info"> <div class="gdoc-hint__title flex align-center"><i class="fa info" title="Info"></i></div> <div class="gdoc-hint__text">The following extensions are additionally included in the Postgis images.</div> </blockquote> <table> <thead> <tr> <th>Name</th> <th>Default Version</th> <th>Comment</th> </tr> </thead> <tbody> <tr> <td>address_standardizer</td> <td>3.4.4</td> <td>Used to parse an address into constituent elements. Generally used to support geocoding address normalization step.</td> </tr> <tr> <td>address_standardizer_data_us</td> <td>3.4.4</td> <td>Address Standardizer US dataset example</td> </tr> <tr> <td>postgis</td> <td>3.4.4</td> <td>PostGIS geometry and geography spatial types and functions</td> </tr> <tr> <td>postgis_raster</td> <td>3.4.4</td> <td>PostGIS raster types and functions</td> </tr> <tr> <td>postgis_sfcgal</td> <td>3.4.4</td> <td>PostGIS SFCGAL functions</td> </tr> <tr> <td>postgis_tiger_geocoder</td> <td>3.4.4</td> <td>PostGIS tiger geocoder and reverse geocoder</td> </tr> <tr> <td>postgis_topology</td> <td>3.4.4</td> <td>PostGIS topology spatial types and functions</td> </tr> </tbody> </table> + + + diff --git a/docs/hugo/public/extensions/pg13/index.html b/docs/hugo/public/extensions/pg13/index.html new file mode 100644 index 000000000..4b7a36c06 --- /dev/null +++ b/docs/hugo/public/extensions/pg13/index.html @@ -0,0 +1,5485 @@ + + + + + + + + + + + + + PostgreSQL 13 | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + + +
+ + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
+
+
+ + + +
+ + + + + +
+ + + + + + + + + + + +
+ +
+ + +
+ + +
+ + +
+

PostgreSQL 13

+
+
+ + + + + + +
+
+
The extensions listed are included in the standard images. This list refers to PostgreSQL 13.
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDefault VersionComment
adminpack2.1Administrative functions for PostgreSQL
amcheck1.2Functions for verifying relation integrity
autoinc1.0Functions for autoincrementing fields
bloom1.0Bloom access method - signature file based index
btree_gin1.3Support for indexing common datatypes in GIN
btree_gist1.5Support for indexing common datatypes in GiST
citext1.6Data type for case-insensitive character strings
credcheck3.0.0credcheck - PostgreSQL plain text credential checker
cube1.4Data type for multidimensional cubes
dblink1.2Connect to other PostgreSQL databases from within a database
dict_int1.0Text search dictionary template for integers
dict_xsyn1.0Text search dictionary template for extended synonym processing
earthdistance1.1Calculate great-circle distances on the surface of the Earth
file_fdw1.0Foreign-data wrapper for flat file access
fuzzystrmatch1.1Determine similarities and distance between strings
hstore1.7Data type for storing sets of (key, value) pairs
hstore_plperl1.0Transform between hstore and plperl
hstore_plperlu1.0Transform between hstore and plperlu
hstore_plpython3u1.0Transform between hstore and plpython3u
insert_username1.0Functions for tracking who changed a table
intagg1.1Integer aggregator and enumerator (obsolete)
intarray1.3Functions, operators, and index support for 1-D arrays of integers
isn1.2Data types for international product numbering standards
jsonb_plperl1.0Transform between jsonb and plperl
jsonb_plperlu1.0Transform between jsonb and plperlu
jsonb_plpython3u1.0Transform between jsonb and plpython3u
lo1.1Large Object maintenance
ltree1.2Data type for hierarchical tree-like structures
ltree_plpython3u1.0Transform between ltree and plpython3u
moddatetime1.0Functions for tracking last modification time
pageinspect1.8Inspect the contents of database pages at a low level
pg_buffercache1.3Examine the shared buffer cache
pg_cron1.6Job scheduler for PostgreSQL
pg_freespacemap1.2Examine the free space map (FSM)
pg_permissions1.3View object permissions and compare them with the desired state
pg_prewarm1.2Prewarm relation data
pg_proctabPlaceholder - see pg_proctab–0.0.10-compat.control
pg_stat_statements1.8Track planning and execution statistics of all SQL statements executed
pg_trgm1.5Text similarity measurement and index searching based on trigrams
pg_visibility1.2Examine the visibility map (VM) and page-level visibility info
pgaudit1.5.3Provides auditing functionality
pgauditlogtofile1.6pgAudit addon to redirect audit entries to an independent file
pgcrypto1.3Cryptographic functions
pgnodemx1.7SQL functions that allow capture of node OS metrics from PostgreSQL
pgrowlocks1.2Show row-level locking information
pgstattuple1.5Show tuple-level statistics
plpgsql1.0PL/pgSQL procedural language
plpython3u1.0PL/Python3U untrusted procedural language
pltcl1.0PL/Tcl procedural language
pltclu1.0PL/TclU untrusted procedural language
postgres_fdw1.0Foreign-data wrapper for remote PostgreSQL servers
refint1.0Functions for implementing referential integrity (obsolete)
seg1.3Data type for representing line segments or floating-point intervals
set_user4.1.0Similar to SET ROLE but with added logging
sslinfo1.2Information about SSL certificates
tablefunc1.0Functions that manipulate whole tables, including crosstab
tcn1.0Triggered change notifications
timescaledb2.15.3Enables scalable inserts and complex queries for time-series data (Apache 2 Edition)
tsm_system_rows1.0TABLESAMPLE method which accepts number of rows as a limit
tsm_system_time1.0TABLESAMPLE method which accepts time in milliseconds as a limit
unaccent1.1Text search dictionary that removes accents
uuid-ossp1.1Generate universally unique identifiers (UUIDs)
xml21.1XPath querying and XSLT
+ + + + + +
+
+
The following extensions are additionally included in the Postgis images.
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDefault VersionComment
address_standardizer3.4.4Used to parse an address into constituent elements. Generally used to support geocoding address normalization step.
address_standardizer_data_us3.4.4Address Standardizer US dataset example
postgis3.4.4PostGIS geometry and geography spatial types and functions
postgis_raster3.4.4PostGIS raster types and functions
postgis_sfcgal3.4.4PostGIS SFCGAL functions
postgis_tiger_geocoder3.4.4PostGIS tiger geocoder and reverse geocoder
postgis_topology3.4.4PostGIS topology spatial types and functions
+ +
+ + + + + + + +
+
+ + + +
+ + + + + + diff --git a/docs/hugo/public/extensions/pg14/index.html b/docs/hugo/public/extensions/pg14/index.html new file mode 100644 index 000000000..b8e2977a7 --- /dev/null +++ b/docs/hugo/public/extensions/pg14/index.html @@ -0,0 +1,5495 @@ + + + + + + + + + + + + + PostgreSQL 14 | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + + +
+ + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
+
+
+ + + +
+ + + + + +
+ + + + + + + + + + + +
+ +
+ + +
+ + +
+ + +
+

PostgreSQL 14

+
+
+ + + + + + +
+
+
The extensions listed are included in the standard images. This list refers to PostgreSQL 14.
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDefault VersionComment
adminpack2.1Administrative functions for PostgreSQL
amcheck1.3Functions for verifying relation integrity
autoinc1.0Functions for autoincrementing fields
bloom1.0Bloom access method - signature file based index
btree_gin1.3Support for indexing common datatypes in GIN
btree_gist1.6Support for indexing common datatypes in GiST
citext1.6Data type for case-insensitive character strings
credcheck3.0.0credcheck - PostgreSQL plain text credential checker
cube1.5Data type for multidimensional cubes
dblink1.2Connect to other PostgreSQL databases from within a database
dict_int1.0Text search dictionary template for integers
dict_xsyn1.0Text search dictionary template for extended synonym processing
earthdistance1.1Calculate great-circle distances on the surface of the Earth
file_fdw1.0Foreign-data wrapper for flat file access
fuzzystrmatch1.1Determine similarities and distance between strings
hstore1.8Data type for storing sets of (key, value) pairs
hstore_plperl1.0Transform between hstore and plperl
hstore_plperlu1.0Transform between hstore and plperlu
hstore_plpython3u1.0Transform between hstore and plpython3u
insert_username1.0Functions for tracking who changed a table
intagg1.1Integer aggregator and enumerator (obsolete)
intarray1.5Functions, operators, and index support for 1-D arrays of integers
isn1.2Data types for international product numbering standards
jsonb_plperl1.0Transform between jsonb and plperl
jsonb_plperlu1.0Transform between jsonb and plperlu
jsonb_plpython3u1.0Transform between jsonb and plpython3u
lo1.1Large Object maintenance
ltree1.2Data type for hierarchical tree-like structures
ltree_plpython3u1.0Transform between ltree and plpython3u
moddatetime1.0Functions for tracking last modification time
old_snapshot1.0Utilities in support of old_snapshot_threshold
pageinspect1.9Inspect the contents of database pages at a low level
pg_buffercache1.3Examine the shared buffer cache
pg_cron1.6Job scheduler for PostgreSQL
pg_freespacemap1.2Examine the free space map (FSM)
pg_permissions1.3View object permissions and compare them with the desired state
pg_prewarm1.2Prewarm relation data
pg_proctabPlaceholder - see pg_proctab–0.0.10-compat.control
pg_stat_statements1.9Track planning and execution statistics of all SQL statements executed
pg_surgery1.0Extension to perform surgery on a damaged relation
pg_trgm1.6Text similarity measurement and index searching based on trigrams
pg_visibility1.2Examine the visibility map (VM) and page-level visibility info
pgaudit1.6.3Provides auditing functionality
pgauditlogtofile1.6pgAudit addon to redirect audit entries to an independent file
pgcrypto1.3Cryptographic functions
pgnodemx1.7SQL functions that allow capture of node OS metrics from PostgreSQL
pgrowlocks1.2Show row-level locking information
pgstattuple1.5Show tuple-level statistics
plpgsql1.0PL/pgSQL procedural language
plpython3u1.0PL/Python3U untrusted procedural language
pltcl1.0PL/Tcl procedural language
pltclu1.0PL/TclU untrusted procedural language
postgres_fdw1.1Foreign-data wrapper for remote PostgreSQL servers
refint1.0Functions for implementing referential integrity (obsolete)
seg1.4Data type for representing line segments or floating-point intervals
set_user4.1.0Similar to SET ROLE but with added logging
sslinfo1.2Information about SSL certificates
tablefunc1.0Functions that manipulate whole tables, including crosstab
tcn1.0Triggered change notifications
timescaledb2.18.2Enables scalable inserts and complex queries for time-series data (Apache 2 Edition)
tsm_system_rows1.0TABLESAMPLE method which accepts number of rows as a limit
tsm_system_time1.0TABLESAMPLE method which accepts time in milliseconds as a limit
unaccent1.1Text search dictionary that removes accents
uuid-ossp1.1Generate universally unique identifiers (UUIDs)
xml21.1XPath querying and XSLT
+ + + + + +
+
+
The following extensions are additionally included in the Postgis images.
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDefault VersionComment
address_standardizer3.4.4Used to parse an address into constituent elements. Generally used to support geocoding address normalization step.
address_standardizer_data_us3.4.4Address Standardizer US dataset example
postgis3.4.4PostGIS geometry and geography spatial types and functions
postgis_raster3.4.4PostGIS raster types and functions
postgis_sfcgal3.4.4PostGIS SFCGAL functions
postgis_tiger_geocoder3.4.4PostGIS tiger geocoder and reverse geocoder
postgis_topology3.4.4PostGIS topology spatial types and functions
+ +
+ + + + + + + +
+
+ + + +
+ + + + + + diff --git a/docs/hugo/public/extensions/pg15/index.html b/docs/hugo/public/extensions/pg15/index.html new file mode 100644 index 000000000..3eb4888dc --- /dev/null +++ b/docs/hugo/public/extensions/pg15/index.html @@ -0,0 +1,5500 @@ + + + + + + + + + + + + + PostgreSQL 15 | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + + +
+ + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
+
+
+ + + +
+ + + + + +
+ + + + + + + + + + + +
+ +
+ + +
+ + +
+ + +
+

PostgreSQL 15

+
+
+ + + + + + +
+
+
The extensions listed are included in the standard images. This list refers to PostgreSQL 15.
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDefault VersionComment
adminpack2.1Administrative functions for PostgreSQL
amcheck1.3Functions for verifying relation integrity
autoinc1.0Functions for autoincrementing fields
bloom1.0Bloom access method - signature file based index
btree_gin1.3Support for indexing common datatypes in GIN
btree_gist1.7Support for indexing common datatypes in GiST
citext1.6Data type for case-insensitive character strings
credcheck3.0.0credcheck - PostgreSQL plain text credential checker
cube1.5Data type for multidimensional cubes
dblink1.2Connect to other PostgreSQL databases from within a database
dict_int1.0Text search dictionary template for integers
dict_xsyn1.0Text search dictionary template for extended synonym processing
earthdistance1.1Calculate great-circle distances on the surface of the Earth
file_fdw1.0Foreign-data wrapper for flat file access
fuzzystrmatch1.1Determine similarities and distance between strings
hstore1.8Data type for storing sets of (key, value) pairs
hstore_plperl1.0Transform between hstore and plperl
hstore_plperlu1.0Transform between hstore and plperlu
hstore_plpython3u1.0Transform between hstore and plpython3u
insert_username1.0Functions for tracking who changed a table
intagg1.1Integer aggregator and enumerator (obsolete)
intarray1.5Functions, operators, and index support for 1-D arrays of integers
isn1.2Data types for international product numbering standards
jsonb_plperl1.0Transform between jsonb and plperl
jsonb_plperlu1.0Transform between jsonb and plperlu
jsonb_plpython3u1.0Transform between jsonb and plpython3u
lo1.1Large Object maintenance
ltree1.2Data type for hierarchical tree-like structures
ltree_plpython3u1.0Transform between ltree and plpython3u
moddatetime1.0Functions for tracking last modification time
old_snapshot1.0Utilities in support of old_snapshot_threshold
pageinspect1.11Inspect the contents of database pages at a low level
pg_buffercache1.3Examine the shared buffer cache
pg_cron1.6Job scheduler for PostgreSQL
pg_freespacemap1.2Examine the free space map (FSM)
pg_permissions1.3View object permissions and compare them with the desired state
pg_prewarm1.2Prewarm relation data
pg_proctabPlaceholder - see pg_proctab–0.0.10-compat.control
pg_stat_statements1.10Track planning and execution statistics of all SQL statements executed
pg_surgery1.0Extension to perform surgery on a damaged relation
pg_trgm1.6Text similarity measurement and index searching based on trigrams
pg_visibility1.2Examine the visibility map (VM) and page-level visibility info
pg_walinspect1.0Functions to inspect contents of PostgreSQL Write-Ahead Log
pgaudit1.7Provides auditing functionality
pgauditlogtofile1.6pgAudit addon to redirect audit entries to an independent file
pgcrypto1.3Cryptographic functions
pgnodemx1.7SQL functions that allow capture of node OS metrics from PostgreSQL
pgrowlocks1.2Show row-level locking information
pgstattuple1.5Show tuple-level statistics
plpgsql1.0PL/pgSQL procedural language
plpython3u1.0PL/Python3U untrusted procedural language
pltcl1.0PL/Tcl procedural language
pltclu1.0PL/TclU untrusted procedural language
postgres_fdw1.1Foreign-data wrapper for remote PostgreSQL servers
refint1.0Functions for implementing referential integrity (obsolete)
seg1.4Data type for representing line segments or floating-point intervals
set_user4.1.0Similar to SET ROLE but with added logging
sslinfo1.2Information about SSL certificates
tablefunc1.0Functions that manipulate whole tables, including crosstab
tcn1.0Triggered change notifications
timescaledb2.18.2Enables scalable inserts and complex queries for time-series data (Apache 2 Edition)
tsm_system_rows1.0TABLESAMPLE method which accepts number of rows as a limit
tsm_system_time1.0TABLESAMPLE method which accepts time in milliseconds as a limit
unaccent1.1Text search dictionary that removes accents
uuid-ossp1.1Generate universally unique identifiers (UUIDs)
xml21.1XPath querying and XSLT
+ + + + + +
+
+
The following extensions are additionally included in the Postgis images.
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDefault VersionComment
address_standardizer3.4.4Used to parse an address into constituent elements. Generally used to support geocoding address normalization step.
address_standardizer_data_us3.4.4Address Standardizer US dataset example
postgis3.4.4PostGIS geometry and geography spatial types and functions
postgis_raster3.4.4PostGIS raster types and functions
postgis_sfcgal3.4.4PostGIS SFCGAL functions
postgis_tiger_geocoder3.4.4PostGIS tiger geocoder and reverse geocoder
postgis_topology3.4.4PostGIS topology spatial types and functions
+ +
+ + + + + + + +
+
+ + + +
+ + + + + + diff --git a/docs/hugo/public/extensions/pg16/index.html b/docs/hugo/public/extensions/pg16/index.html new file mode 100644 index 000000000..fb266bd36 --- /dev/null +++ b/docs/hugo/public/extensions/pg16/index.html @@ -0,0 +1,5500 @@ + + + + + + + + + + + + + PostgreSQL 16 | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + + +
+ + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
+
+
+ + + +
+ + + + + +
+ + + + + + + + + + + +
+ +
+ + +
+ + +
+ + +
+

PostgreSQL 16

+
+
+ + + + + + +
+
+
The extensions listed are included in the standard images. This list refers to PostgreSQL 16.
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDefault VersionComment
adminpack2.1Administrative functions for PostgreSQL
amcheck1.3Functions for verifying relation integrity
autoinc1.0Functions for autoincrementing fields
bloom1.0Bloom access method - signature file based index
btree_gin1.3Support for indexing common datatypes in GIN
btree_gist1.7Support for indexing common datatypes in GiST
citext1.6Data type for case-insensitive character strings
credcheck3.0.0credcheck - PostgreSQL plain text credential checker
cube1.5Data type for multidimensional cubes
dblink1.2Connect to other PostgreSQL databases from within a database
dict_int1.0Text search dictionary template for integers
dict_xsyn1.0Text search dictionary template for extended synonym processing
earthdistance1.2Calculate great-circle distances on the surface of the Earth
file_fdw1.0Foreign-data wrapper for flat file access
fuzzystrmatch1.2Determine similarities and distance between strings
hstore1.8Data type for storing sets of (key, value) pairs
hstore_plperl1.0Transform between hstore and plperl
hstore_plperlu1.0Transform between hstore and plperlu
hstore_plpython3u1.0Transform between hstore and plpython3u
insert_username1.0Functions for tracking who changed a table
intagg1.1Integer aggregator and enumerator (obsolete)
intarray1.5Functions, operators, and index support for 1-D arrays of integers
isn1.2Data types for international product numbering standards
jsonb_plperl1.0Transform between jsonb and plperl
jsonb_plperlu1.0Transform between jsonb and plperlu
jsonb_plpython3u1.0Transform between jsonb and plpython3u
lo1.1Large Object maintenance
ltree1.2Data type for hierarchical tree-like structures
ltree_plpython3u1.0Transform between ltree and plpython3u
moddatetime1.0Functions for tracking last modification time
old_snapshot1.0Utilities in support of old_snapshot_threshold
pageinspect1.12Inspect the contents of database pages at a low level
pg_buffercache1.4Examine the shared buffer cache
pg_cron1.6Job scheduler for PostgreSQL
pg_freespacemap1.2Examine the free space map (FSM)
pg_permissions1.3View object permissions and compare them with the desired state
pg_prewarm1.2Prewarm relation data
pg_proctabPlaceholder - see pg_proctab–0.0.10-compat.control
pg_stat_statements1.10Track planning and execution statistics of all SQL statements executed
pg_surgery1.0Extension to perform surgery on a damaged relation
pg_trgm1.6Text similarity measurement and index searching based on trigrams
pg_visibility1.2Examine the visibility map (VM) and page-level visibility info
pg_walinspect1.1Functions to inspect contents of PostgreSQL Write-Ahead Log
pgaudit16.1Provides auditing functionality
pgauditlogtofile1.6pgAudit addon to redirect audit entries to an independent file
pgcrypto1.3Cryptographic functions
pgnodemx1.7SQL functions that allow capture of node OS metrics from PostgreSQL
pgrowlocks1.2Show row-level locking information
pgstattuple1.5Show tuple-level statistics
plpgsql1.0PL/pgSQL procedural language
plpython3u1.0PL/Python3U untrusted procedural language
pltcl1.0PL/Tcl procedural language
pltclu1.0PL/TclU untrusted procedural language
postgres_fdw1.1Foreign-data wrapper for remote PostgreSQL servers
refint1.0Functions for implementing referential integrity (obsolete)
seg1.4Data type for representing line segments or floating-point intervals
set_user4.1.0Similar to SET ROLE but with added logging
sslinfo1.2Information about SSL certificates
tablefunc1.0Functions that manipulate whole tables, including crosstab
tcn1.0Triggered change notifications
timescaledb2.18.2Enables scalable inserts and complex queries for time-series data (Apache 2 Edition)
tsm_system_rows1.0TABLESAMPLE method which accepts number of rows as a limit
tsm_system_time1.0TABLESAMPLE method which accepts time in milliseconds as a limit
unaccent1.1Text search dictionary that removes accents
uuid-ossp1.1Generate universally unique identifiers (UUIDs)
xml21.1XPath querying and XSLT
+ + + + + +
+
+
The following extensions are additionally included in the Postgis images.
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDefault VersionComment
address_standardizer3.4.4Used to parse an address into constituent elements. Generally used to support geocoding address normalization step.
address_standardizer_data_us3.4.4Address Standardizer US dataset example
postgis3.4.4PostGIS geometry and geography spatial types and functions
postgis_raster3.4.4PostGIS raster types and functions
postgis_sfcgal3.4.4PostGIS SFCGAL functions
postgis_tiger_geocoder3.4.4PostGIS tiger geocoder and reverse geocoder
postgis_topology3.4.4PostGIS topology spatial types and functions
+ +
+ + + + + + + +
+
+ + + +
+ + + + + + diff --git a/docs/hugo/public/extensions/pg17/index.html b/docs/hugo/public/extensions/pg17/index.html new file mode 100644 index 000000000..cd4c9be58 --- /dev/null +++ b/docs/hugo/public/extensions/pg17/index.html @@ -0,0 +1,5490 @@ + + + + + + + + + + + + + PostgreSQL 17 | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + + +
+ + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
+
+
+ + + +
+ + + + + +
+ + + + + + + + + + + +
+ +
+ + +
+ + +
+ + +
+

PostgreSQL 17

+
+
+ + + + + + +
+
+
The extensions listed are included in the standard images. This list refers to PostgreSQL 17.
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDefault VersionComment
amcheck1.4Functions for verifying relation integrity
autoinc1.0Functions for autoincrementing fields
bloom1.0Bloom access method - signature file based index
btree_gin1.3Support for indexing common datatypes in GIN
btree_gist1.7Support for indexing common datatypes in GiST
citext1.6Data type for case-insensitive character strings
credcheck3.0.0credcheck - PostgreSQL plain text credential checker
cube1.5Data type for multidimensional cubes
dblink1.2Connect to other PostgreSQL databases from within a database
dict_int1.0Text search dictionary template for integers
dict_xsyn1.0Text search dictionary template for extended synonym processing
earthdistance1.2Calculate great-circle distances on the surface of the Earth
file_fdw1.0Foreign-data wrapper for flat file access
fuzzystrmatch1.2Determine similarities and distance between strings
hstore1.8Data type for storing sets of (key, value) pairs
hstore_plperl1.0Transform between hstore and plperl
hstore_plperlu1.0Transform between hstore and plperlu
hstore_plpython3u1.0Transform between hstore and plpython3u
insert_username1.0Functions for tracking who changed a table
intagg1.1Integer aggregator and enumerator (obsolete)
intarray1.5Functions, operators, and index support for 1-D arrays of integers
isn1.2Data types for international product numbering standards
jsonb_plperl1.0Transform between jsonb and plperl
jsonb_plperlu1.0Transform between jsonb and plperlu
jsonb_plpython3u1.0Transform between jsonb and plpython3u
lo1.1Large Object maintenance
ltree1.3Data type for hierarchical tree-like structures
ltree_plpython3u1.0Transform between ltree and plpython3u
moddatetime1.0Functions for tracking last modification time
pageinspect1.12Inspect the contents of database pages at a low level
pg_buffercache1.5Examine the shared buffer cache
pg_cron1.6Job scheduler for PostgreSQL
pg_freespacemap1.2Examine the free space map (FSM)
pg_permissions1.3View object permissions and compare them with the desired state
pg_prewarm1.2Prewarm relation data
pg_proctabPlaceholder - see pg_proctab–0.0.10-compat.control
pg_stat_statements1.11Track planning and execution statistics of all SQL statements executed
pg_surgery1.0Extension to perform surgery on a damaged relation
pg_trgm1.6Text similarity measurement and index searching based on trigrams
pg_visibility1.2Examine the visibility map (VM) and page-level visibility info
pg_walinspect1.1Functions to inspect contents of PostgreSQL Write-Ahead Log
pgaudit17.1Provides auditing functionality
pgauditlogtofile1.6pgAudit addon to redirect audit entries to an independent file
pgcrypto1.3Cryptographic functions
pgnodemx1.7SQL functions that allow capture of node OS metrics from PostgreSQL
pgrowlocks1.2Show row-level locking information
pgstattuple1.5Show tuple-level statistics
plpgsql1.0PL/pgSQL procedural language
plpython3u1.0PL/Python3U untrusted procedural language
pltcl1.0PL/Tcl procedural language
pltclu1.0PL/TclU untrusted procedural language
postgres_fdw1.1Foreign-data wrapper for remote PostgreSQL servers
refint1.0Functions for implementing referential integrity (obsolete)
seg1.4Data type for representing line segments or floating-point intervals
set_user4.1.0Similar to SET ROLE but with added logging
sslinfo1.2Information about SSL certificates
tablefunc1.0Functions that manipulate whole tables, including crosstab
tcn1.0Triggered change notifications
timescaledb2.18.2Enables scalable inserts and complex queries for time-series data (Apache 2 Edition)
tsm_system_rows1.0TABLESAMPLE method which accepts number of rows as a limit
tsm_system_time1.0TABLESAMPLE method which accepts time in milliseconds as a limit
unaccent1.1Text search dictionary that removes accents
uuid-ossp1.1Generate universally unique identifiers (UUIDs)
xml21.1XPath querying and XSLT
+ + + + + +
+
+
The following extensions are additionally included in the Postgis images.
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDefault VersionComment
address_standardizer3.4.4Used to parse an address into constituent elements. Generally used to support geocoding address normalization step.
address_standardizer_data_us3.4.4Address Standardizer US dataset example
postgis3.4.4PostGIS geometry and geography spatial types and functions
postgis_raster3.4.4PostGIS raster types and functions
postgis_sfcgal3.4.4PostGIS SFCGAL functions
postgis_tiger_geocoder3.4.4PostGIS tiger geocoder and reverse geocoder
postgis_topology3.4.4PostGIS topology spatial types and functions
+ +
+ + + + + + + +
+
+ + + +
+ + + + + + diff --git a/docs/hugo/public/favicon/android-chrome-144x144.png b/docs/hugo/public/favicon/android-chrome-144x144.png new file mode 100644 index 0000000000000000000000000000000000000000..7cf7b679d19699d797b6a171b47b63210028baa9 GIT binary patch literal 3142 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 LyiJRBz|H>wTzvM@ literal 0 HcmV?d00001 diff --git a/docs/hugo/public/favicon/android-chrome-192x192.png b/docs/hugo/public/favicon/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..15e95e24270e340f6d1ab1da5e8479583ca6a32d GIT binary patch literal 4461 zcmb7IcQl*t+Yhx>)r?uAEj3DP)rN|_H?0}9M{HFiVpKO;YK9iI6+bm1w)Ts*R;Z}2 zglKJ*C_);9H+|o8-v58kIrnp)`@Wv*+}AnRxj*B1YHMx6#Ua80006kmObzYn^T6N1 z#zKGF<3m~L6MKZ|-Dm*d+{WL*(4J@?0s!zxm>KFjJ}4oUB3_pc-5nuZugribIGIz+ zUrS(Jcjv0hHH;4@#ugS^Pn&q~%T-c`B1*#L zS6m;sXq|l6q@AG>|8!~3e-Mj^$R{mbJ$SzqtQ@e%npS63(jYqe-rgtl_rtk<-~-6_ zg=s|;q9zkAH|o*a2)f@t;Q`0oDOE>;zuZcTcKYEC&s9U)L|{YJ4mqmB{49HA4|iC_ z(~NiDlTOQF-)wm1=Z+iVmwU|y4WYYFeCkf6dP{ zJU68tyZL%|NXkr-5~-vo;C8u?;Vvop`{P~iL{WUCQ!BM=&b8URDWMd)bzfo)*lf+D z^!=Y%j(N#ZqB2$MEcMT~xr7@oF2|bvLS8^n{wXB1cS!?tP#(8|Ctk=0v{^XD1u6Ef z=7>r9u$ZUF1O&Sv5C`Nt34`jsXqxfB6hfN4PcLHfa2XQf_d@(~XOi@5>d;`PLYp&& z1&hDV9d^2l8D{ai5~bAq1bVtQmmuj^evlS~LHBBTGIqkG;xh6T?|v|iK!cqb*?O3t zQCciSyOo_8+j5|vY&BjlM%8_gub?8^G+dQjtU0TImgy44&!?+dWM1jHs3DafJO*~bRtD?6?Tg>4&8s= za(!wfDTEm|ur>ZJHq7fO?9{n%_#Po4!_?_-RHzXfY(kyotoHtoZWJVDS;7>cko4<% zD|wHxu-|NoK-i&WvQ|rtqk1*Ec1L_b5}rTYl-IY8=7xdGcJfX(!4T-WWKYJ z!T1!WBXL9RwbJ0qy0q-Txfd1DCD10gdYnF{qH ze3f9Y1CH_NAe%F3-zSg+-L@zi=3l9Hkj!MJHW7`W?yc&H*(+}>QBoCA{dvNakNBEf z_up!g9&ODAEDE`@uJ3hSTU+1Dud)cypVc0qR8jHCLB>^6+)6Q&fZ+v!2GyA2>hQA0 zkpYJ{;IuCmJ{!!J%A4DZg!>?(1^v#dZSs~v6c}tq94 zxU6;{y}tKhE`dRNWi-67(FWb?-qfSl;R(2qDp-DMl1z21bENLhxiV-o&Bp=VHE!7? z_Tg~dCnNVln3veJT@b{7PqMkrpD*EelLZVSJ#Dk0!}5CK^o7ao%zEYmn?y01iEsmX zWR`t^2P0rW&_HOr^o!8rxgXJ8Uu&pFW~Z>wOn{|%kyG$Y%tu0ni|(81O{C8+rX@C^ zhKNC|XZE|Z$h)%Py*5E`5zE}GDuG7Y>rJ4sushr{z)kB(Ms$P^cw8h^|e z#&Y+1vORblx<&_IBN5u&Uwczots9KIPE!rf_{v2S10?ey%+hyQS=8T06L7MMr*nGzEg zvQV3Nnp?oA^}JpE;wwcaLo-@r*{ksMYjw{d2TgQXbs$-_FYSfA$yOcnz5PJf*Xi-s zVex>VU*4E=x_hl5oKB3cS&3(;9E@gwm`mHegZb9Cj3=-oLJo2Q$y-E^NDeEHVI-K0 z>355ZG)mAcoeH`>i|z?c0tSELzv-00F|jHOxrLkmH2yurXNMbl`c!Ue%U4(bn3@r| zhVkRss`oK=D@YyFyOh{)U_2AM_+rU&K^%8}0T>nVgy`KH`KM%7S|gNEU2S>x>OMoU z?mt=v6r-aD`O#V4?OLz)IIEDlNBG5j{1oCrB`V#t|?* zqzOSi+JT_vJNG%E$@3RrSBx^Ueh$-jjq4o2Q|ql*^s#Boe)iCFGdq38e>e$P33Xm* z0#kuz2Tzvh+dPOk*kx^AUgYEc{W}d3iAmm&C^y zl5P&afR4{(QPR~8;Vu=3SOx}t?2c!;_Q#GbE&3pH&VS=8bozL_Zt&={u=aT^F2{~5 zUBX=;i1_1)sBX>06T~I4$1)q%VW9>wUJub1b5{>*D%_uZA!_AP8S~`W?P)?h>*kd$ zF07?TLMU0BFQI5mc39z^k=D@M_aLfdspG19^0WIE+68(x$7`!mtLk0n^?1lySQ$S> zunpURzPz$EIPpdxp7O;@%1)PV%o z_d28nhARkpOpx`<0rdX8={E{rK8p7c3SlfZZ{u)|Jx$%=wWP&|Hz&AQ!qwryy~2e_ zJvj5rP4hjp%CXLa($algf$Fl7g&;4yiVQFL5*`=WhA4UFeBCX-S5EF?yDRb9#42;z z=;N+N?Jy0L%NCwU8c2&%D7|SeDD8W(UTCB!;ejA`ff5eU>zT<)-sflzbO;)H`5Y}t zODRftk8``?SKU&mTUl;o4^%zW3?vFMCvcXTUAiV&GO7S6DKtVl+TM9s>no*OnRhoK zo{qzo9O5It;XP?;8e&_YBmu4S?E4E3(hFt^?)_qdnr|rWIN}DxpV1(nqe4pomR}z1 z_=XcW0y#SZy~gQ`GlAXt-TeiS<5v%g>U(%)mRi;zjk~uH6|Q`IJ#+5vZ|!=oxrN_h)yR5}>tuY-I%8 z&s?0=AS>*4n)R3680q>oZPbJ&n~Jygs`U9qC%1<$B{+Ty21ZqTRw`7t9Hb4P^6TmP zxp9~~mSR^A&Mo>;+|*r_m)X6T!(Ua;Qjq=7lu_R<$IIOm_-eo#V|4{464KU!tegHl zv#PzFT#7rZ{*@4uF1HpgXz3}U$nYS~*K96subz*cN0zkgU&0L*5%nlXt z9OKJ$5R2_{Et(+4$@_l}(QEp&so;cAGG=_z@+VIIM8ICT@bX`n&%_q(I(?YbsQsva z+YB7pF!6;Ij`C&}m+qbHy}M3g2w&3^y6M~`p>y-Kl3fmhfA>13vOf9$L{h8aI;nwS z3{h4r46C_6s9yUo-EeT13ykHAb#gyeJ4+qfZI^1Zd&)QIB8!CevUm1KKJ)}3>#`#a z%K1|IWH&ND>1P2^<^v+K3gcyX4$ijIwC;4L#7H-T(0 ztIhAA&Vbh$YSWKo66?cD)9N^VkX~&NT{|+zf`?ITI`O&R={fI5&A%ISRpP^v_8WFl zx4-_?qB+8pfGIx7+oCpIYGSxQKbO=uL;<#qg=U2J(*2r`sMiaVzc`HY1aYMwyyCkjija;8>jjp>GyuveRAv_|*Vo5%DW8f( znxGDUaJ~e@3{9gvgD1psf9@$7*NIk#_m*+h@_9>D-=?Q0g$PK4yXjikekh3GN-umE z4(_0~;&lbgm9hIz-vDkU8H9nDiy{k#tO2DsBxJLyNx6luY-~lAE@r>kE_Cjb&5$aO zEmOD*u(k;qw(BFMr=Q_7-*3G3#IVHhOBGWyaUBUE(RSAwE$HsYP+&oN;%w(al|Y-B za~zGX)>-r}DHe9A&Xa2@4Fl<=wMCwZ=`w6Pls6gmiO9R~`lyVl907q{l}(w6N`=(S z1+Vdiy*qU4Qg9qvEpR-mxsng-9lP`9S;c!{^_bq)< z3hs2BmWeYEL%g|gBr;mm^C^)LME!TpbrVoo5GC(rw=Qv;BeJ@0D}1FnNvFdY z#92#5PY_Mljo~+4$BB7nt^eloXI~ne3D|gHy*~CfE24?Thx1%C)MS8&QO${+(xaQ0NAI-c(s>| zz0WdCuyCl0LT}L=6`tJDaQ!X{w6EK5F%}MEU04^lI3Lm;=@yjr7AsmXjk`?u_LP8{ zs3zUvq9au-WyO+yFmZ^3g3yIM~q=ECf{l1 OZ?>6{wP6zkn)W~Y&Y%7O literal 0 HcmV?d00001 diff --git a/docs/hugo/public/favicon/android-chrome-256x256.png b/docs/hugo/public/favicon/android-chrome-256x256.png new file mode 100644 index 0000000000000000000000000000000000000000..efd6dc90ce33270a5de11e7b05a3f5aee0e83bbd GIT binary patch literal 6209 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 F`ai4G{#F10 literal 0 HcmV?d00001 diff --git a/docs/hugo/public/favicon/android-chrome-36x36.png b/docs/hugo/public/favicon/android-chrome-36x36.png new file mode 100644 index 0000000000000000000000000000000000000000..c9f7bf8ea8f83b85b21701c1f6e641649b442d97 GIT binary patch literal 751 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 PV7BO!XOSNeS0DZ#K)g__ literal 0 HcmV?d00001 diff --git a/docs/hugo/public/favicon/android-chrome-48x48.png b/docs/hugo/public/favicon/android-chrome-48x48.png new file mode 100644 index 0000000000000000000000000000000000000000..0dd0eb40585049c0a6c5496824794d2f0df96d12 GIT binary patch literal 981 zcmV;`11kK9P)|J9Od$;W^J}gZ63SI^h;&BT;(73T8dNRLK_<7R0`q{Mg9hX ze?j06DP941??}lkRKSX zD($kxBJyovH=JC4nzr%y3}rqrNBEP1e6i^{;CU*s&p!P2h3Be02F;O z0!~(4K(p@N6ukrf`LMWb)|nkeo(2Q>`l<_Py7g|d)aJEi_51U>v@|RZQ8+OIUNto} zO(sd8p#1r+@}CbPuT4*0`>Sm+6!>ZD(EzKgOvjAq4JDruw{p4M3{uNLK{G$Cnsm;)BmV&q%n>8yOwsIk_Onpp= za%JcOkeliW5PL!eXtOi2L{Wa}KN0}7cZ8%imxnHZu3Cs7KG-iJdymL3|GdP(6A^)5 zqbT0~-6i%f*e-EUf05w;QLLaS9{o1?r(kCgomEjb3g93GezQ^=b+tJ$$VQdv40eZ9 z3V__)#tf@xj7=L(ToxP;LG)CT$mAU}RkoOAZcA}48A(v;EDke-L`#Xk1*IbM&lYoW zCqjPUQLjvw?NMK7Goj5X0G_XjN4;z*ZH_Lw{0lYRR*`XyEp49F zbYsi?*ISGE*t*@`+|2^pKH|;Y0IoL2Etj|>uDy;Z?papG9300000NkvXXu0mjf D(dxCA literal 0 HcmV?d00001 diff --git a/docs/hugo/public/favicon/android-chrome-512x512.png b/docs/hugo/public/favicon/android-chrome-512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..15b0eec9b7037de300141d027cd546b4e3f31dbc GIT binary patch literal 14011 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 literal 0 HcmV?d00001 diff --git a/docs/hugo/public/favicon/apple-touch-icon-1024x1024.png b/docs/hugo/public/favicon/apple-touch-icon-1024x1024.png new file mode 100644 index 0000000000000000000000000000000000000000..b9e01c791c8c10d04b5b85aa0f791e50bafd3bd5 GIT binary patch literal 33494 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 literal 0 HcmV?d00001 diff --git a/docs/hugo/public/favicon/apple-touch-icon-114x114.png b/docs/hugo/public/favicon/apple-touch-icon-114x114.png new file mode 100644 index 0000000000000000000000000000000000000000..63a15fcfb27f940a8db2dfcfe04688ea5c0699aa GIT binary patch literal 2435 zcmaKuS5Om(8ihjw0wEM>1EB>89Yh616xoEb1ZmPm2^b($NvKi`(gKF7K%_$`nuQoT zWW~@GMVb`p5Mc!sA(D-Rwz7g;_CDU3dmqk!X3m_qf6mO8dCkFE6buCe002=Nl%?~r zNB$$B6UR4aDLwJngu_vuQ2+pF{U7nQ-gOQ=&d%FdB3=ikIv;@~&x)aHFliqfcNzzClVr0D#vX2ren0FVFp)qNu#Hn zN`e&}wWL$u7B%(GHgw*K7`ys?>p?o%#8|<->2GMZYZ;(v&LDB@wje{@-+ahWiBW1+ z&k0ZpNq~@`HK5vHsH@w|%e6`@vR^aGj2;vE;7RLl_0In90)u}eL9#|6D(P}f`s3&2 zGACa{PFOVG3*%Yy^@r}&+l8)nKtIpiQ`1i7=|F-cX4$tgUSqC5VxHC}@j4QAX_t{^ zO2!zZOQdc@?Jz5b!OJf!jIyvC9Vu3ep_Hp`+)8`@n^0ddLDeG8v_hjvqVGGN7F^2Z zV~g_eH7>18dx9Hop(~9aKKux>UzMXQY(0_~xJHFpud*R#Q=8gcz5V(2-{UVVHO z44b}Dl?(}n$leVSGi^;g_%JXw=20cFMrap$wIcjivgP5dZja7(BD70pkm&Wo+Y!w8 z%8A#G(w3>hotxh?*OP!jD}LNNQawjXPp8y3uwr0N#ae%C=8IDYmmVGF#g-M7SOCxB z zXPg481?s2tYbvv&u%Tr3yKJQ&ZK{p>^MJ!c&}35D2J$(7MTCXk>7VYbD^4l?N7~RV zb8l}x<31Gp)SmPjoPd9?%^b-i$u1=d=o-1-LA*v)S5C=rU9-E-0y@11xPDMQ0izAR<5*_bZqIUyXsK%c2p(~98+89y3B^L^v} zazQl>ZIqsXz5HNG3X+`{Hn%ZA#Pu-SSa;^cr@81cF`=%wiT-Y#h|5)gp(!DqVDi#Z zQ^QU^N0{kH!ofqpKg`Zr&QY=@lxll^UKpyvxG5;_C)JyZGI2|-ul$PNl@}L}prIL< z-QM0@kxBzV(P?x#NKogtk`Z1KQtI~w-Vj{RV!icRP1hpcKay|OtVKaL4)$-+ zPF@e%|77Eb$+ObV#2PU^pGKF5`|jUY$wuD2oanpo4WE+r=EH(c%R?@M$}jac6y$4P zNkmf5#FAujdhFuTpnjL-4E*y~ZytEuBAD(LutrDCa>JO>D(ISl?v){D@q;~k{oVQW zYGsRz)jyuQ@np>3;1w$lHXY@?GlPu41qDxUdl0G}wR@=aspIEd9{R-dMAPFi9UY33 zxUcK$M2=N_SzV;^&d$#9I>2y>H13hD>{`@cg4YW96l&_~ZkEKAQICgR7h>Q^9(E73 zC^vH(ZPh85n8}{qUL_O)u~(QSz?7$p9+ESVR{^Y^FazU})bk(cdwQ8dK6AZoY8}PR z@XZOj>h$%ZZj13sW@OsK^LFM()tq*QIx5-#W4D#)35wRkgkIyIt$E+VmQKwA6%2m~ z94m9tAMrImQ+(3VXen>4IzDmj=b@lE>_`-vf7`=epy5KLB0hP!Rwis)KGTv|&*nwO zP#jnKJMBwn2-o}})zw%y480Wh7Z9n-k?}^aQ#?Il(;)ELj*fmbER8tI<^lRH4y4S0 z^I;Kncif^9y4|iIyq>>KFUb|lW-iCApwS%8qVp~*yN`PG}=mkD_22%l> z)(}msuaX-RoQE88$_k_u^1OBj7q$X!kYo9|`Eip~0&HraV2uiJmwq3yntV|6K#ZDD zS~LX8Y;o2h-_3m%^m{DoN}>L__;JoQAyH~#dv{}LkB~T`kn-NQBaz6tVopg8x?$UQ z(OJ<2qT>* zc$YoXtAg_H18gO~2l&43DfLcU1iYs8`P9{hNJe5mZC^ddba|g*S@O_x|IM&RM$EX^ zml-`>7W75Hn}D literal 0 HcmV?d00001 diff --git a/docs/hugo/public/favicon/apple-touch-icon-120x120.png b/docs/hugo/public/favicon/apple-touch-icon-120x120.png new file mode 100644 index 0000000000000000000000000000000000000000..523bd06dd1e6b30451cfb4f1fa965008ecf2ff8b GIT binary patch literal 2546 zcmb7`_d6R37srhxBpRz4qegLyqShOwYP=+9t+-aXR&wnfqr@f+>RPp_(Pdp*jEGth z>zXaatyQ~Jg`%Rg+}uCm{_r{HdCqgr`QbdzIp33PZe|FD2tk;bn4k~tBP|#n_b==q zhP~^0XNuv#*!yZ<|Dc3lWTZmgo!m>fH_SW#Sz1&@u?$|km~N~>j_&fwE)+Pr8$2N!k)Gv z4yj4nxc#M6!p5M5^GBIZ$8zpPZLcZux#|^9l<22Z$I=3Jy}_*v`O&ng+1XWpN^l1l z7_D*ik4)4?V&)KSwqg``2 zeB$TnH1R$E3qC_kXTbWPzGQ&LC+q+xkLaHO;ai_ZMsIJ(3KW)>20lkS938@n_gv07 zlc+qjARY&QvKe-W?@}}s8DjZtzriCpJzaqgrWH0J8bOI(KMP~_wu$-&0X>i2pbnbZ zV=2IBU&Qg|)@~bn%*hw>Ilu))g+fa4HG*?}(x~Ds1%8r-DK+Fd8o&zD1b*Zq-p=L} z)f{ug&b$jCv^HQVRG!D-MJgk-7${6I(#XbLG>oDi7+i-g?P~X%LZ{OsaP;MBp_hJg z3FyU)K_~=9mM(4DN03?;w`A26=`K%@{WOHJxB%t8`PVqrzh^$7eSBTiAV#$qtIjP&?LC9dLVeX1Twp@(3pShl2@wXX8K$o-{z^aMsiC!_+?m+x%zTVBde%PU3;r-Xq4eJQe+ zm~XCkk`XvvoHx0*(#DNYqw4vq%I7_Rd4ObbG z@<#@nWg?E!zEM?GWzg1aG53NiOuh4?k2-Krt({k zcgv;;?Be()$cw7s(f2s9&gWo5xt_$6S!XXR=~YplXXWHEL)q$`{k2=O%}C=>Q+F~Q z52|x%%X%Bv6>eipM5l&}t`*0(2O>axF+afLE`97M}9E2YDSNH);VsLP%GLN)lBW#&1<%i2X{w&%P)i1dlFTS3O2l@;`^9S z2zncXK9YCw;ecVwghPb0GWbGFD~yn_(y8t9ah(8MM;e4srBmkTHKZuDA6|`8zQ7iM zu>*}u`QC6f=Vtk^s8VdMPb*v+L#chE_heN>>e-}#o8-a*jWW5NpFTC8*l*_3)fSgK4RKNW-lljsX%N}hn1>7>gl-dL|JTH3R zY7u(yd{`1QGEt}#G90lGp?2fJ$VAXVucGEecg5B{4c38|NAKw#E6ZJX3JSp=WJAl# z2xn&o-?M3n(9_AMoRzL-9obrbZE?!XsPb{6iN!@>Va?t>yLU~9mS%aV-s`rvRsvy(Fj;LX93&^md~q{JAV&)@8$)bUzc4zF;5>dvz7tWY7;R(|}5w!+vZDaxWKKscN}RFfS1?jLy{MU|P{4K=Skb%bQA~vek#_{Yn~Vf7GDM&i*FRU}HzWl`ynX zUdgE@n>=v#45#W4UB}t5d>xo?MRXWj&D`)7!Qhpl@OPFT%b= zo}gl7XUL9h7^S|ecuLK0@*7b;Os16-HZSpa?%e1IPWO1alG?@|x(R%jq4xvmK_@zW z6>ZaRlxx5ZrPSd#27^pz86vb9+dF@JoO%wBv<;(LVwa3hMC#U6qdcZ;jU$9$?Dn{4?IfI`Z`Ro0>1%YzV2Si%eAa427%ywy(!tXdwKukZJ_|`jm$^*2F4y;0 zYjwWLoBN-s37{~WiCfdeI^>)&7YBh>1^!+CpW+v~CrMn<2g`2+r}%2iTUNHo7Rj&& zE|aYY1v{2}wVfj3Ro;}DR46o`K&lMEzaA117Dz<|kwB`F8YWni1@W4=4}!L!>luq( z`cCWsPy*?73!cY>vco0VVm^Nz7c34x`BD-C9btRa4tMXB8QQ;{e08k2A3`Ng1x2L8 zPkdcbnfzv@>QGiz=2gFZUi>vA*oOP2t!@r_jfH{lf8~NjLF#aJsJ`M6pl^n( I*F)p~0dV=~(f|Me literal 0 HcmV?d00001 diff --git a/docs/hugo/public/favicon/apple-touch-icon-144x144.png b/docs/hugo/public/favicon/apple-touch-icon-144x144.png new file mode 100644 index 0000000000000000000000000000000000000000..95e756a8d26eb574f304e39a7792b8e90a9992c1 GIT binary patch literal 3143 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 Ar~m)} literal 0 HcmV?d00001 diff --git a/docs/hugo/public/favicon/apple-touch-icon-180x180.png b/docs/hugo/public/favicon/apple-touch-icon-180x180.png new file mode 100644 index 0000000000000000000000000000000000000000..dc1d76b2b338f154f0a050beea4ccb8983fa54f8 GIT binary patch literal 4137 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 E05rty{Qv*} literal 0 HcmV?d00001 diff --git a/docs/hugo/public/favicon/apple-touch-icon-57x57.png b/docs/hugo/public/favicon/apple-touch-icon-57x57.png new file mode 100644 index 0000000000000000000000000000000000000000..3207683f9e7a0079b19ae879fc003e52746498b8 GIT binary patch literal 1135 zcmV-#1d#iQP)PKLt566ove2ZWHekRrlhSrQ<5_NZN)<>8}GRJ4xOItXW@5+Lf#Q8Sw@ zAc~@PkX=8;fPjZVS9jSb;qiQj*mEfX0sZ#=U6(eH2xG{ZqXYV_*&{I5sjqKh0uoD0 z%?|0>a>0J+-9xf~#O}Fx<~jxWH)J7+dA+{yL;Cg=Lb}-}nV4YGFC@Yk^1kr0kZ(M6 z(eU{;6#=H3a)JiLp$gB3b++)N%?hx#NB@3$>a!xquFf9qAQ8s!d_|-x>)0k+ESj2H zWC1J97C<7>J{cJHiju&PL?CxgfSP3yR{pRZ+uz@pRFeir;%0l>+mHdVmT6sYZyyyf z{(LG-OiZh`7pDc_*48gbNzSAKx?BsY?#G22kfdm3cPpr;XtPbIz9$z>K=S*lecnI? ztg5Oxk$t&v0d8;qhKJ=(sDLDYU0>hO2GZ?blw>^hVwUuKxn5WTot-_B(@L-Bz`(E+ z&{?6Py1I^i3owSk4H53Rcu2PkkUb|r^^yQfGAfScAcqD=ASOB~pi^o4fU^db6u~@%a?R5--KX=C$O>xvY6-#lJLm&Yfegdeg-2v z#7KN2&IfXgs3_^AjgF2TsoF^haX99owY43xGV?=e`7$Iad*bw5kg@q+BS6HNk zIxhD3$pA^^NW9HR&t*bZKdoi2L*lmgXfm*@pufv0aa0W>r%RFt8YH>qYisK#vNsnl zNdKw6sB4Ve1RWm&Ei0>}f{u-z@=^=`S2SnQi)N?$^h08q_6HHTiSa4@K%xWHBWYEp zgO^4JMDFEOPe~)IO%IJM#EM_DJlHnb@vEs(z9nhax+U4Y#?C}cGMUKa#_S002ovPDHLkV1jnW B5ElRd literal 0 HcmV?d00001 diff --git a/docs/hugo/public/favicon/apple-touch-icon-60x60.png b/docs/hugo/public/favicon/apple-touch-icon-60x60.png new file mode 100644 index 0000000000000000000000000000000000000000..bdd9fc136e7cf629250c1310b042df3c3b4c7b0f GIT binary patch literal 1244 zcmV<21S9*2P)ZZ{p`@sywEHMLtLZPM73m5I=l2zKW(D%IW`4hg&d1i-}T-QZkd?3owAG0Sp6}8o)4ssR4|F0mmeYdv6KaJOs5a3AR~+t05Vo zxSaJ^et!^-o<7uAtSB!t!)9y2@DKM8k8kY_;MHx4mN^28>qD!Zk}$d<4*m4$Gn5@R zIZ!Htr+mBIsOh$yWGOScZPn{57-|UyTe0o_;>j6qhE!A*|Vh^Fr^d& zi+tEdH^F;}@1@x>6@l%$@_k-wrG)_AmK8WP?lKc1%m46UB}qcH`B+BSZ!dj^L?WR- zFin~-rr^#BL2rOyaFO7}h75`0s8TjE@`4L`_)sMtK70a2$^4e@DlpB#*mK0BqZaI^ zpVVP|e4?Opn)C#IaQ~4e?2(E(_V_@{*2T14t#d14IO8@@Z|Ath{a-A zO%#blFyOpV5b4Nd>a%qP-F||0kA!otB|HcdY)W|odp$nQqsN>I69SWyF3pgQdEwbv z51h{H>i%U50_Bz)qHx9bJ8ur8&z@xURzs-xhk_D*m*wc(cb>GDh}8Vo$u^M zTk9F&2&s$Cx;d8}9uRm! zcKZ&G3*O<|%Q@`u>gpQIRY!#u%0&Jbt!L16!GWIcK6R&Ix|p?BErQBMo|zXPsUK3Ic)l*9CqQ8LNa%b`@Jm=mG+(7fi(pfe)7-0~yOyR!uuy18tsRv_v_zBU z@yv6b+JTCPX(?trXey`GuupSZ^D#wDxL*zuI2VapCQZnhGmRs^kM6Im<+iM#Ka^ep zwRi}Ywle3XMFh^Ji@kdzFYU}wP_wy-Di(NSu(x+#R37|-wWZrD{Mr&bvZC^n70&m4 z_0Z*-5e6R8vwGNHp!#q)oJDY8n?OmCt*Mj9=PQLv_>d8NBIGD%$d6vQ%&_*AvpHj zB3xTrlMfKE{bGqP4muMcNI2r4jg1Y=`7B=u&_Ms=l&vS_fB*pd|I^VC2hO+S{E;+U zEH9Y-SvKtK>`v)gECB=n#^!rtTE`PFH9Rt`VcDpL7bl2eVIsL0%ei>q6go=L?+>JW z9hL!t6etjw;DYmY%{g3IS+#5)QUaosVpY`{Q#cnIt{8cmm2;62(Ea?;V?yG=RL`mzZlSAF;B)-G=|^Lu6-gnOZnd;=Eow4Cv1B-Yy2Aq4 zR}q>VphzSlT+Q1O`>yO*1-i;lqSNWZJiGbkYbLf&nJp-)Q*^!HOPE=N&ywtf0kyXN zmh_@hrL0eExV~=g#;i&pQg*o;)Ds8fDnGgFV7A0ulE=O3#>9$t)qavVpd7(cgOw_E zR&W6lsYx*v4y6eoX9*vmQb9mPLt19J*jYgrt4YSiZnd=SIvA-p>2NslW1ih`I!j!J z6&4>YH-7KfG4I`>V;(jOSGGfiT*dOHrfWtZ7%S6WT3R*&$wULimXlj61)d@;II&UPZD%F4wax#{r-no4jySjReYhjV^ zVmxoI+nr5eNgA_P3c-J0R#XzAEkKx4Z%vUW<1Gsju31ZC&q)j zWS?X{>KialDOM9=Pcqq!>z;a&327z;2oxYxfItC41qkGn0t5;WDnOtB;cfx?A9B!H UVlLe$3IG5A07*qoM6N<$f;EzZZvX%Q literal 0 HcmV?d00001 diff --git a/docs/hugo/public/favicon/apple-touch-icon-76x76.png b/docs/hugo/public/favicon/apple-touch-icon-76x76.png new file mode 100644 index 0000000000000000000000000000000000000000..50ae753f6452517859853c21135148eb50f5f902 GIT binary patch literal 1559 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 E05rty{Qv*} literal 0 HcmV?d00001 diff --git a/docs/hugo/public/favicon/apple-touch-icon.png b/docs/hugo/public/favicon/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..dc1d76b2b338f154f0a050beea4ccb8983fa54f8 GIT binary patch literal 4137 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 E05rty{Qv*} literal 0 HcmV?d00001 diff --git a/docs/hugo/public/favicon/apple-touch-startup-image-1125x2436.png b/docs/hugo/public/favicon/apple-touch-startup-image-1125x2436.png new file mode 100644 index 0000000000000000000000000000000000000000..7e7f518378b82524618918d0907b1230b7e49135 GIT binary patch literal 37986 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 Awwj)UyQtQJdp-cr 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ⅅ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 literal 0 HcmV?d00001 diff --git a/docs/hugo/public/favicon/apple-touch-startup-image-1179x2556.png b/docs/hugo/public/favicon/apple-touch-startup-image-1179x2556.png new file mode 100644 index 0000000000000000000000000000000000000000..090c636a57363b01fff90d22d816bafa8f1b51e6 GIT binary patch literal 40259 zcmeFaXH-*LyFa?HAw^J8K)SL86lt5@0ya>oDn+^!2_2N)Q7Ix-QIHxG0qN2^C{;xW z5Fm7nC=hDsApvsditj$>e7N_+{c^|ujJrR)!*{Uen&p{K{XM^x9jU9WevF=j9)h4_ zH*Z|K13`yUA&74G=n?Rj>wP~|z&~_uH;mjN=-?duKblJaJB|><2i?4OS0c8Sj~~4_z?rl?J^|i?ejGq!55oVaX6iVY6@uzm?Aa&T=pM-{kk-3gF)|=znFo z_ix$^5}=Q{WKhF;py zTW&{t)UH2_<~Vjls^>=Z+vHibL#fH(Jehfx6uJd}{of5U?1$@8C-w#=Jt=M$Soxcp zbNRUwMySF{8DI$UYkzRNfB*eg4scfUzg`bG|MZYvvHklmxXzG&!{|!bp zwr+0x{^~c1vCzrAxJf`UuxA(-CDzr)z3=Ji#FS3Y~p zrf=ttu}y9sjAETgU9MmGJkvb$RS>07(!6g#B0P<|i=55zAl&!P*Sm;QVS{WggD`!o z#2B4&8}F*_h|hC%#K)Swmh!wS?dcI4YoB_tTWIrpb>+tAQsa4!53&@-KGebZZ0pY0 z+)az1*XDls$_k&=mr`VsNk8!+OFw$Qx!{p>(73ey(0BQ6-OXK;`7Mip)dvaz#2Z93 zGc>{uy0Jp(YQrObb&2Nq;v7Y9eN1K6sn_9IC#qRjigU1a1@=e_<-s;Vc9w~Wi2nIO zM@)Y}r$ znAW{HlX}s9r^$h|cunM(9(UtYrMNcf*jDAuU#R}V?r#~A5RNsxbQT)Z!m=v z{skmKzu;7qfl$7!p|NFvdEYa{tT~Gr_TAJqtn^*M)TR&)wd$8(F+)XTseQIqoza94 zsXHviO`^)AxrA<1_NwId;9@8~CVu#kDvnF(uB-WXWq0?72QfREQ+oE3!kgV8VFIR_ zIyyS*R?EqfGocah8njSe*2b0dF*9iPJ^6#GGMXR*3DZTFZFuSw?FiJ&@ktqQxVAd( ze&1vz?!JA!IN2yG;(LGOgX!XgLr2`g4UMErI*MM4^ptTLKF)KcbRmh&i{#dC4Tr@U`*BMTM^5z| zij1qjbl@XXk9T`g2f7-38CtD%3hV+{-?2bO3@oXTojj-ZV2b5=h2@I;F)uyL5T=r_ zLZ>#Cp=@UV`N>pRXSzY9U0-8f!9ptdJ5)viA+PriTkzDBn)lyk`47wnJ#57H{hu~$ zZlv8}R@wFO`F`Pf2hx+|;Y!>-0*z2kf;A%jlP3|T8d#TTX1VL`&PeITAv5Qo@V+U2 z(|o_ijD6DNRR66{=$wDJ0E32FbYLXrVRuD^Z8vQ0?W_l<*3~nI1*0GvXDz1#eAlc6wXM~))pL7a zCEZMaJ%gM-@bLNjQkL1J>M4yRN`RHmhYL{_rij|wtKUThp)x+OjCC>DNm*q43@`HA zd@(qqNAJ0WAuI-iY51j}(DQ2Wog%C3O7rvm44N;avBQTxy&)lWM6||iWHENBrFk!9 zGFa2>%u;2XZzc$KA7%dgf%nocBm1sIXWW!5WMl$5G3+ccS!QCvh8ooBw>$y62=q#SYd zl0V_<<|Zy;R;HxXR8jDNSvlq6>sv%FDE@T@*wzOH#66wrrDx2dOUql_uLs<<-Og#d zx}vJPD?@zOS!GtfJ_Bd1RC z7!#|FBwe*5n0e_?3{Y7=xL5YmW(PN=+{?+y#@&k|gB#r;KiY=n-G1C(e>p$*sfAg( zDIt)&6@jLOj4niKLBCx5U6r-Qgrq9hQs=$48MLFD)V>osYKNptt^G#JbApy?s`Fmfi-KG}WuPA5=Bq0JmC8+=^CAc|MmT^4jB<)9$V= zPiGwJ1}1lcoky2FLyb%6(JwpVE|A?5AiML5zQq|cPN!3zJ4|lfnlI=;pJ>NUO`%-s z9=iC*S=w++nORs^5V>gLPs5@)7Y9Ot?51q=LW>nwdp;YZ-*)NI^c`K9C$hB65Ead9A? zEy+8y^Te8Tkg57;skI?70BrRo*y=OUL(M^V1K2G+b{}b+-_-v(8$Bc|E*@`-ZaS|N zEv}HGot*CHZ^q7~D&qvC*4mVdf2_QEIkc~`uxn4tbo{9XFCFu_=;HGli4o{CkP!}a z^BKG5`Iqe-*ic;F!7Q`e?Q9FJSC3jxgP=x-l7-5yz$#zH|I{d@P6F{nTqei4@cs1D zW!Imb+UW}E0$!TTaeUD+1;uGEW4RT15Z*vYXMvD@O}lT)A+TPFi=Jt*y#7D-AK++0 zOFdVVHCktZix&rn5C7Gg6^pJc*c4oH`Kcna>uBvmKdX;wzPazm4*nF{w`(ohX=y#k|Ni zwD6Tw@;UDK` z6)C^T;}Zk1iK1paJaTp-8i|(}Q2!Z1NbuSkY;8RvVt4g?priL)lbz-I}@AlK7jW4Zn5okfkNCQ|p@ddcL^`MNo z50@QN28?bB_KZvnFvaq!yy%E4FNj3R02Nbs_|t}%2Ik}fbMpEws|NIDRyOuKd*4;` zSq(F6d3vPC`FB)FDEb0q)CJUm`1rH2veuN1Aq$&~zlOB_!s`0BIeG78)0ANeWhL9* zQCJQ0^;ge?EYbq;1pSzvt|Y`?mMB!g3z;PcZuI5i&OWswu632P%$^P@%mz2T`-xj| z$-&BQdCFS$YVt%7c>;Ihsa4H-54rW9AptABBYr-gGH+bOzmICsz|ZwrWt4V z#~-lV0kNDo4$i;`&akq#6VLC#h@R)KB-EY{E@>pq5<)JQ?rt_VhoMElA%I6FPVREY z_DU#$WRDJIvbJ4d!WP=e@ccJ+edQ?11l$$S;@*L!qul(ZZ(nN5-7>r=sIwIs!SFm! zLa}e1L3QXPI9kf2;yf6!-Y21s|7No}Uy18`Vr5*vl||S&%;!i4Oi&Blb{y*|Oqr-_ zws3+X+XN?%h)@oB*H}jzd|CP9#er`^7|8j>50% z8*1OIOi7Q0&Vc!hMgv9zwM`TR6jN(WCGH<)~oZ{|pF` zF+`Wmq$~E7KC!B|j2hPSK%$v)R;L9*JL#W0&%YYMl{2ccYC9dUbDuy?V6P#xGu&Sl zf2nesWaYUi6pb&y85y@TV}x`phMK#;k6N|^~-T8M7IBQA4o7FI_bVWz!odx z+>fcUssTY+Qx@~W;6G}V4C`IPYBio!($*DSz)~awifO*I00VGdoSp`Ykk;N?dtArV zn9Ksz1~2@cjzch@oS`ytD;8Bwf69m9YfT(9l77W!GM1OG;w+!688!Mj6P7vJsZ}OqDCYEAr#i! zUpS!ZpMAt!1^e)u{Rjq#HGI6Nq^XMlYYz>z353XOAxk6EBDLDfJ@BpY;$Y3PDi9MZ zO1)#BY5iJI?wq5at+EiKXJ&bYUMPvuf{ZvphBA6@Iw*Zk?s9FR{6(45-O>1FMtFe5 zp}X24MKo=`y3KYQ!S@bgK_G~FNJmpT14?{02u z)}h}U?Q9m|Xpo#y&*!Y{jAYpv?K5OXIffU5#KY%RW}1ScY}kK|SmOOy9vQ%`1W%!| zzv>AO*jiCJj+laMEa5|X<)4#zQPSkFYbxncU|4c2?&PbxuC5lufd2^jo^n_J0PE3H zuUb7h3viO%gu;N;*94)z*xY)rK{=>fsBXp&Cb^@l#((t9hw~H8qY~I3W!b<;$@%Uv;QB?+3P$!A( z300^2X1_8Sh+79LdJDGYrvTLh+UI zz_)Isa<9UU!8)n^L7x*5+X3s?_eRgl)SCpCeFI(lSDHq}S|&N=`OF?jc3KbpUT=Gj zq@EgfP{!WhwzMiYnc!~$;peL$?8P;<*;N$SWYW?Pie@qIffdH6Z+=iBD zEw}kv1}~JR;Hf}WRbZD=6IEtTRyHnE_@0&2E~7RmuZXEMr>wD5+@-Dj6!`Tp_Y zm41n~u93`ar@CTHg!3j3talL>$EsC;ltr=H8L#K1ac4pbZ-R8eAII% z6vAf`o%Pk{=pDWu>}r`l^jpHcBTcV_0S(zq0Vxw7cciwz<3G|)7{VD78~*+~#&AF# zc($z4yP|$MAhH13<|k$@-oo5i?fTT3kDz?=_?ec@czvLzZD$Ro!^jNux28+reU^G$ z7+M-63vgh6LA%w_$!I**-za)SEPr{KA9%vGnw2KnR^U$yf5UsG4rycaSf(8=bQ<)xPQpJyP!IscNO zAtWH=%^Bi2DsnspCkFLwyr(u*ecoqsA;^nSaCC6I2^2vk55OTMRdGz56^XTD`Q0PW zGIZ3IVc*SvxLpS)P7nT}jZ9LOV^hX?hXKy7d|4xBH7H-HNP1SX;Z1mEDW zd8vDhhgZ(-*m||$oyNm6FJF-190bhejfq*mQ#5m)2C|ujbF|AATRxK9l&zAxtV!3m zTNnyjt{!gRMwjfLMs)orGkmu^!osWYZ1BzFIr(4xBE}xBJ|8lNS;wn{0%C#q;lkqj z5~tnxgdQC;Pum-idQD|KG`xF8bMXxikFZcNC=_q_Z!a^TtbsrTLB{+SI$)uU;I;Yl za_8)~ADNA|+wAaIAjZ#LGEb*Ze+oA^Fr46DQm@SDJX?`MxID zzHe%3BFG=%6Fvm&^sJ-lac*uEb`wq=2CWAV;l%st;r2?G36&Nkn2(x(|9;_mDA#M1 z7?kuR>3XAq4mVblff-~RaG8Lz{7>$mxPPnBx8kBgsCb>rh_TkeSoG@-fHB}cKe0+t zvbUXIS~~V$W2=@LJzaB!cgAMDHtDn;tj(mZgsL+1?%r@7c{&BI497-I9L+Cs zb8E6EcX(H4V;?4$r686%Kr;C-0Ne~t5=`p@rmZCseMCH+j;GNhLCXH{j@`wAiTdsE zPKM{x=-_<~;`am8%2d_GfOj>#?w#+-hh9BfGzFgxW|Am0-c%ztfDz%qITlaOv8Fx$ zxzu{)?nrmjej?%73Z;_(7wVW*nyGkM=fMLHp-v#u1g%+}@g^_~^#WYin z$txG}Ppw%Km#likD1sn=uj2{a_^MYj(sxKz<|5ELwLwzCriZhSjpclY11VqK&Vdbp z3rulmDvH_6edGhwXujM6#nSzOrR9=bqtxlA8ufLS8q!Pn>Zfnh8+Q90ahE|=(y`!5 ztxE8~bw@|GKHY?U1fk!Bb-6Gn>*7*@g51S@LE#Gt<$Lvv4Smh ze7|3m!866ndw;audTJmA<-4)nGdx=7>F+a~S*ck=sv8)oy$~P+Kph~(Pj5`zD`t3d zZ#SXv{A`b_iz0Y~l$2b06>Pg3&U4GTi3f;+fxttmK6{Fsw|{Kynf1u2m|Qraxir5x z^4Vik|8C1c+9KR?JB?JX2W19ainvWN4q%oPr=M!wmiBt)={v?{lsMCE!p;Q20KFs=-#&i)*kkau=n+?SLvsoFz};1#-$wxs z2p2;Abw}m_l;F&h4seS8#=#2LOxFFt-jqpSatW^Q=^JZzT4pb}ZnvR;uX{3&*P(|} zI~Q`CoE{S;)i_-7j$BFPA#DNCOmm56QKU?_eMc3D^C9~Nhr zFBIpbR=x7h#iSLz-spI1tl+C{^YiCW@Q%I@@&2NRsia7e1qDs0Js7fh0Ne?EUd99a z);vE_Ym-A=)!_qu*(sw&T3y@vm=4V544QRs=ML8&wAIq-(mg`G$KvoRAsM`U4t{w> zvoZsra@)~d2vK?CvAwml@_@e9g7#3V%GHh88>=3kOAO3>(M_z`(*=xVK3>l-gvtsZ+V73_b$(dT2L45~QSoi*0*i8W10cB8=N?Ye!4cdjOZU< zJ;{BQT{((P>}F$QBd#34v*N&vD$+CDH)nd@F~{yHUXfnDRcCE@zI(zzOH!6OP*88$ zVvOj>5xle(NZH?Z*!6c=F3JYVk;rZqr@Uq3!)WPYy1yQYFRGqAhLV83sNHZn5JKs% z$*eDB$g6&t4J?$`Zr3^{xaa)jH5ek0ym3wa#G0(*j0hD|J_BTU5@ZC>;q~!yv2gIn z8~t-C7mh(Y2f!n+Kj`oyfF{?iJ->jn4Bd_9#lD#I-`*pP90<822y{{PvC{VVH-g-i zpyE`&t5l%Nltwj?AM|iC`TYF+`d=GrGBN-4YZ}<0n-f!ro*MkpWu?7=b=>370IB7P zd~8GI$&kWV;3`875RTM6vRl+7@2-2|)(=4=LLiht^gkj`qeCN3igs_<%VrlByS5+! z7JeJlEKo(w)d(ipse7#48tk#^|6&bY7 z9)-#z;I?ta$439{u+EceE>uwDIAmk33BG8vv#g#9^7aw8BzDB5#_#WM>$J=QgcgGL z95o8EBOfVC8`m^4T>kFRgj{+CsD-^x<}3Z`e0z2YZY=~;MPGyY`B6563KV}B-n(%x zj1{)hwMvpnwfHYDvT)@GAtP~EJnb7>TiKuk(>hIeRdzOsk^sOsZiFJp(IM(%rP80t z1fP~(=~%@K!~`co7Cbo$KM7l$3g(O9_15xHwVZpKS8Zqq?ur6b5;Fd>#IQooEX3Gd z;$jw0B9U5Wd|qy@Aoa;Z_(`Vw zY)>|)E&3Sq1=Hcm1Y~w=L|iDE0kS#F2R3lXZ@Kn0?ra!C{rtBJ_UMdaf)PzfAs>8C zd@&&sFw!OwwqCzG%YsSl24;2`Dmwu3S?BLI|n=ajdI%_y0{BzQ;pk~ zv^M>e0}OyC5CSs2&qxLFbKHVt(aETu3}sG)AQXT44Y*%%H3Zqi%tsTqTb!;W%&qKq z2_WTs!gAENJiK{t8k)(USNcG}zzrlt?`0+w3joqV7Y$;6@cP#IZt`FYA+u#?Z?nX) zW%dwM_7c7*wUOtibs{=X^|<2uf8!(%Kt_?U8D`C4befOC8`P5RaX%{u+3dhdr1rIX ziboUn=N9hFWL2H4ZNnxHZCta|bih!PYBZfL*{pCMSh~ zwN^?yGZ?A61NjB?W#rrIl5p_nlG5o#5HYDTd=JZzD{!@)L;wQZ`?>bjp0e-S3h(R*|}DUzEW{ArSl{cz5R=#wn7nlP&O! zp1}2Us|1~c1@Cx}`t$>K9-ql|J)0M3>*Q5ei%}=zhbKF_ySIW0jW{K`93|Goh&l~@8HL%u;+hN1yBA~X zov!$RtPAe!Qg!bbETGnp52q77cF=<1;I+jRI&3x-`~uo114^eos<(iw`*!vrxp4i9|ZN+ z5ok0SY{!k}%H2{b;E)W|wj18X>{+SPUEj~R_x}LU@HnJ8Gy|V>-Sh|obZ1~QZ`!Yu z3~+(?K=}y~UB{}IG+Bx>ICyl}>!>)S3q&nmA)<jloxbA+QHx9{{(=3{Xk0(2B|{@v!jS+U#D7ng#H}CvQ>cbiZG*m8 zxH^m43}}xWL-9g%e2$%=3^Id?uQ^771-dN^B!)@_gvo& zr)5!d!Q_bic>;T1=UEu|osnN}wWj089u4cGz5|MHX!IK>OS(0(v#jZoa#oeq&?iA& z0bp{-j*~Zd*O%1(n;Z8Q^m9D$YXqYMP}w>#kC1*x({qh$?S?J% zjI^dZYf*WcJmyX30*axK#dqL7GWCueInoc(@0Ql1I~?94hrFd}R1Fy6S2*gumTs2Y zPIB?6eVHnY;5mj8gZMa4f{hC`_!VWC`!5yEq$B!nhxR=r{P4!PAAxMH!jcH{TC>qH z_UQacU~ieLMXs*2&N4z@!r@p%zmTAV(7|ffh$@AP*Ht-Jwuq~eZNt+{6tXDYw&UvWLI`N;Fnq{eMAZ;#b+8t!R8r{ z4jSrAAQ!ru5hNt^NL>KHp0mu9{9igQO+F3PXT_tG@DQcP$;u6h5JIZ)^2j$qMR zFmr;(fAQ-^lK1{7qd`o&+XkBP!9@1}XfK0}4BLh7&n0IC%o`0cUbWa7z&K6}ZbSqQ zdXRe@>Vjb2gn3;@GrA>x5KeN_f(7zv{DU$$dmObcmeT$Yi;1y5cuSgGo z0i=|4^DJEN_q^*$ZRf8vk%K@)#x}Ick=!4@gOi}Tl}XyxX?GmMjq0q*iu>vTm%iPdp0(dKjX{Z#B#(Rv2S!Ujy*N_doh2nZAtxJfLWmWUBEX@3=WjOm0q#rkmkJDjjCT=R}ZFzMy@~8Qtg_@<8SI9c1+hNW9Pzjgzd&} z4%X}jOd;5!?uvq@`b`afjC~kh?7w2DR0+~ev{|ZpEKPK2Sh`Bp8G`dnV?&kdAy~<)i4nOj`AfF@XD)pYM za-B*J^2Ia|u4{ujHC$?PyaK6XNc5&-tNTUimYt%8DoXlWPv^yPE<{0F{!sbG7S1@O zuJrH~?Z;Ax5}=(aD2om6qtvprg$;#PCR^1lB3BvG{x%cZAIV*~Q)zsR67=@%!@uT1 z$>F@*7PY^ZS!pJ_89u{FmxWA}gINr?9-`Y_n`-Bh_sX$DG)9+7>5gKE7A2evQFHBD zM%{1ryJikFH&0Cnw#_XqIr6Nhxq13G-F%62bo`^$EsHfb6mXTX-0-wQbQyL@7)*&H8}A}4!3mdMN!bRa-M9E4qy_> z1%OWu=&R?hP8ZXmyr0h|rUr8(TB94$+5`OqTC2BnzH^{fW(6H^Q_}I30LfvOg!?~c zfv?kx}vuzoW};7Xl&h{Yx$h(EGsVyl5$+2wjG+9hf5#wfN;fRC*+mRkpqUQRXHodv|GF;EBOmNbzR(&gO+0t9w&CTA5DWu?8} zcc=Ke6AM34N&wv^&!9Z(U9?O_v7&;Zc+5({YU6b@6BUj8^@y?a!H->wnCW{kK;pMl zS>3-p;m=*oY5n?EcI}uGtUY1PwZeNpA9YUKX=x-Oxc13c_UlLsFvZ8Gg`l-mn4`Rx zF{0}AwN2p1OSa0G562ttzpd0-e3Jo)4H<~tAJZPczVs1lMN;?o9|MR^z6gMwaLzIl zw%j)*&vvAEsjF(us~T7_Bh)Yg-W zY5Rps8v2wb2YncfH!iVVuQb*oZ!PJ7PS+bAU*akp!TTSmL{YRY|I$vAJF~BNJ?KdO zrc`i!uilY$Z@rW$DrDBsfB1Z3BYb9dKV)~t%o)2C1IW3J3OpmYCX(r0gJgRpiQ4>$)m zSQKqTgZIT#GJJlH5T;bt)`5HV;W`_Zz)PYul;e;Ux^7&Sm!fWgJ&RMU;e zZ>fHB;&%099Usilz&DY3oF*l==J<8q&t?Qlz$No~jPEg!0q;GobW|aIrcfs9SAr=e zft#;oQ-k+-dHpXcZ~WlLH~I5wR*N+V!}YC{|CY$PlcsINhgd1Gs<@z>hj`LOBhqiy zw|U=T&QIVV(dZz|LJG08H=W~Zyg`#WJOg&H>#K%HTyYO5=2jZeKZcU#6FvoeY8mjt zG8F9G+;w`WeXDJH+4162omd8~rC%79SPacbJh=OKi|U~Dv>hD7Dd_o1xehi=1zRJP zD{KT(#sJ82@%y;xO_=060#*h7^{nqsHnxRL5PEfW`Z`M=T3R$_+I6CT5rc*%%$-_-h7 zK4?fy%`CYuIRToQJJUNPNE1NY!L*mONnx~j1L^X>tYTt$%nS0uiO$&%IfLq4xd+P_ zPNs&e!z`$w@2Rb90?;dUki`>bIr%Y$-Tl#8UedRndoEk^yhEO(W*uo%#u?jr=#>WC z#a@qj;hU|9c+{)Fv3^`RL3OAMn6BV4CZ-%XP>9`vgyQfR7y95PiN9f)xL61L$n?~l z(9_DjD9S)vh63e}3KcW7cm?T-ZeQ9Dgr_v}?KRWdy=N`@4$1Px7*N%Af0==u(8O2k zi#7A?M_Us~1)EacU`%L-OLfz&-RJ|14mEih`k7GEiL&ek} zArwGt?RYS;K|K;mpfYH+K2o&Ol^{w_TgD6Sl=t4+r!vA}I_S3~Kr?Y@x$u>yiPf`D zhp=xF=8O)PC4xk9O3`!PgF~g5Kj88K)t&J`>_Hq_K797e{X_*BxhtK=oj$y8MJ~A< zC|dz4wLKZIo=#{#3jN+#loShBnPtzw)|v2G>9WW8MrIgMlPp3b@FSi?t3x4={DJ}O zG|Sa0=~{25#W*qUY{e2E2+;f#nEfht4H7B|-YbyYHR|kLS||wvT_og`sz`v>W4NiU zipke^4W$k`NXrzivcTREEJhSXnCdFU)JA5QQCrr%9t)sEV><`E!j6J=qM;<^m{NY@f^5;u`*v1c$!*A?|=`P#N|;i z1B{#4xx<(YbtS51Lo10cx4}dvREN@a zv=q$5$&8_9g)~5OHn*8WRn}{2oErhjNM+35>?9M+iOGy9G9%w69ssf{z%IH89dLce zuQPdr*2skV3}%!Z26yB2`*cDp%A2u!VFIvn?7!dL&^!neT}Fq?9>j%-U4ewE;mia+ zt2p+x6ei0?sI0K3OnJA%1gWp)rF4IWq;404;iAAv zmU1{}!>B`+3PWLrRBZZdLh=!qcT`adGvujjrOtk5hSyrJ>V)T6mQhUQbF_wsL~={E zP?stKgfe)DtWzw!on!Ddj{+>zc`;u&_s=YF2?{TjoXVZWuOcZUuSWYvBmgsvrK+UY zSP2_-Hw!Wy@Inr`>00rX039102JxMGJq*F_hSVE0a5|@+ps?ih1SV_sb^xqJEp=Fr zD@N`(w~!FaKL>S>W(w(>VK;jyr>364mG!i+2p(*DoavLD`(>YpHGFAGwR~JKndvfT z>aYYqRU^A$S_`ZtmhJ(WnMy9hR!9~bXHBOkGBR+Z5;h($IFg_h!)+(Gh^m);zfXV( zhQKE5tYMp>&NAUK-9VV-zPb+5?!FhOsU?r-|C=9>$(`-aOQ%!6psW5%Qxsu_HLR}S8wVev zWL%UY;vO@&VRh?_cSsJH!`9m|zv)*;%D+HWC}+w(@R&;BwxG=ph#f>*r~FX#-!N-0 zv%4Eb0c8T%P1S?-Dp)k`*kz*b<<*JGuHQeXG^5e+=baf$)Qd(1H;L~0cJ?ZH^C9$f z1OA7_gF~(SQQk)HDXLzgeE7NL2?7dVMgjlAdHKiZ!5c?_Ae~}L{Wf+NA;7SRHyn{r(Q5({KU5OdVibiirEVT>mqa!PKBAuoe5&35^z%J0tqV z=S!YWZnx#Geti3q37%>%0we*S;Fc0Ka+jAhpWi*xNdO;O9lmlzq(nlnubjSu6^_{e zTT!A0*=W#~%GYaPZL}Lo_qZ*`_CKPrO7Fd+n(2Ql2HXZNHGsVI84jO!i;(ynk=Xu+ zL9$N8Ik%L93?9Q|;!kl6Fx8adB=l`IN^FRlQ~-DarZE>t@b*d4+lYWq6@uOa^xw?4 z{TJan$OFn8207t8pad{%K=*y3EzYdEG=+3=^`FuG7#$VfCLx+k)8$5_{eM!PWr3hV z3AVm+IvWv?{|EI0Mk2@v_zdCi67~bEZL|%`W<;s9?KgF$Dcbs`j7&BvU}Vn%fT&J2 ziQ_1x-cuF^ueX18QmT%A4i}=YIxZY8_G0)62Lnx{5Y{f*%=%-9NMz*gr^?@YFW2?g zw|@F`fviIez{=OkZVSASQIbU6HCJgE`u4ZDxPNdD$M)E)@78rlIlEF{kqlD8^?L4| z$4`4!*LwU&ng{edLF$;m!NnCF$)421#&~-&$cH}8T zp8TKy5UaHQpY5*MDsP}(MF2y`Y@nQ@$H)BBCax(@j!YK{WGb95rIX7xE@H(5dAO5W z>7Yi-p0o%|aFxWPP21Cw*n1NLXxqY~>RCR2*2no-AXBp6+gs`C=hcShju~ou-tejB zlpEJ%=J{nmL0LR=C_fh16Vj$9Z3oXR1Z{+aMr$_3bb4H=;k=5U_!iHI1DQ)V{RCK) zKY}@!ElIoX;vUW6kmc$PSJZoWV1Qx4Pj%rn0MPmi5#O>HNYf0S0i}cF)}%jgj!Guf zyT=o}o40|oPpfC%R=m`J3ivpc56%H%n47_jlAR(qG&_@sFYgb|xE;Rav1d6s<3}o_ z(KiH>l>aT~^H+|kgvj3I!#zW7QMnb!?M{qKBuW!?x_ZjXdpwxZ@J1!rQmO0*c6E+F zt`no9Jhip!F4p<(deoRPg&e%^+r^@zG_k+AK7%;9y=Ub@UZ`lA+{8|tG&J)yGxhm= z8b2lMQMWoR8VP85ITX$5aqc|*hpiV~a~B?9OY+J@oXwr_y8`pVCu>iuB^bB=T_fIOp~(lTGqlBm+4=%mS=05x-* zR%%sSSxI6id4(dvDi$Q15wJGmLwLL+Vcp>@u~X*QU&3oc`WYpL0fOkr|2*WS@HtO* zaCBSNzau1n0c_w|1L@n#4cgPBRv?Lv?`OQ*b|ZLVrW!YH1rYZ8iGF+G#O3w3y`p!=HtjVG~7Dt%dDzW1O<~uI}mn@|!4d`rxk6b{my3ERMzB^wZ zCXmSiZkhdsZTZOLl~;QoudLV=CDyNoQ`i`If-WUC?Au;4siHQ@5DUp?=f_;Ds}1dy z$=@}Wjy_-zZu~`BuzergBa~~TFA?k>#Pv4K!lk%+#c|6CTqUr96Pz3hqe1t+1l@nD zXolDsCAK#_U)^kjC+(JHo z6h7bmrnbYY&RpDDt0+*V97+G74mOtrW&bS&|8R`L3N2eD`hr8c(MF#-sts-fBCD|o z&;lghCVQ@7T$?Hb8_QSZ(;|neh8NMy50+FWqZbSqv?mrj3+79a_v{YjyMrQR)@iz< z`yuXd0*2Rk?oyG61q17@LZawi%^qv(qWqFz(ZU`;klUu4gD$$%OwM0bFkHA#Swu7Z zcII*Dc=dayFSOiyM^(8AaZZY6P#)ly=bA_ke1MZ+mAxGttZqE*jKzo`z zbG2a!=ol*ncCd5PGI2#$Pm!#5orawH-bi5l3hcKQCF_iZZADE4AR^>>?hR!)^j90=p@4s!LijB4VQ{U2*$8S}ALxpf#qZ zgoyRv;%(quNo!2?*w2cybITBd(LbRb=2M9%i#G;E)aQ#ox?<)nc+tI(RGW%3hz znGyRnN!~QAZ%6J`suYfxNU4hOb+~G2Y(xHS{o-h)Vnz@tY^z|QeD=-cNB`;~ zkG-G0k+$Qtlk~ZaMGKR4`y-N&o-(LXJFYoaeuq_V&oVr?W-BFiI_CUJTW_x}$*Fe_ zwKQZR5=`Awh!XFdOPJE_VL zW1}*#Q21ueU~TwI8JV=R^v2s#=F z=gnBDHFCG@;xllg!aw*Kf}9Jutn1pBS384*FS!pHmnSGUM>i^W7Syaej?JsJIxj4g zS`P=`Kaej0LXAD`F_rCc4T)VbN=pnE6MSljpKoHdLfRZn}(eoUcCO2u^Z7-VG%Dd0i z+S-X(5vyQ4#vRihHT7IW(Cqd8PG-58{HDTK0C_y|t=g`Wnb!xrizIf?sx=;cLN^<@ zr`UVH2Nc+c5>wqJ{kINEh=2ThFQ_H&9p>FsGY^YcM#{eLTlb=Sr56JYz7874tdok> zH1Q#B7%gLLf#*b_?SXtIAX{#0kbz6MF7xA=6()Y|(j{2qS_G}gTip0<=AMBcKVJB3 zC9{pKr|zA3xBfjC^!LtWOD+O86lTIHVV_*&nJbCBtGvZHJ0%%1-wbltP9tE<-|IGu zH)u1oy}AcwI~+?I`-1GyO%~#JVC(8+MVy)Ll&_DW3>yFT+W<4}ymv2D?2lH&GH6fb zdYTzy1<5=#dKBTDIF$IB7#3ASL$&jLG{-Kg`8S(``7$SbKy`#bO4 z8_3HRnAw*-!9VB*Ns>rlf0etjnOG3s5RBNJMBjP-AY!{{&m}Gxu9NYOUcy)p75=iN0s$qi$ zF92u-JKW&w_#M?OF0f1J-=KZlClfUOzJ{{zySg)Lp_bKmqj^i*z_?(`*!AwljDn2Q z@GCH5Rrl5Ido|f73@@SMRI~Cn_ms=BPo%~fe?6pU1{fE0Jumpxslhlwm@nw>K!b*z z8D1;!&{+9%~-VTz*sPPXiAoxLZcT3zpnrKrBPnQn(rf$E-ntcO!>FCVoANa&CGjp z41vt?{Ir^{?>O2gO!kj3#~7dX!M`uSz@NGT52}Td_tR-KYOl)bCeD3QIWW+mwOQlo zEK+Q0ZhKg70i3ky|EK?`X6J>Mb~S+YOvhmMfpLmQ3Y2N)`^4vbbVjJXDryDTPM zJKxDBHn2poitOiNErQGU&{KiiC9B|_BbFj7E4?SM-FEP?QPMY!Rh-bHTW|X_IW+tU~sO zKD-3Ivf` znG4dX-9Af|vR1n_H}RICYdz%8*GsKCdp6|Zw?WO%k#LK`taS=;2bm4CeTje8Hc zKf3AEKfi`E-GK`#+ROrJsY8L^GtNVqBy+&K>Gfvfl4FM>rk}XwujN|u=M8yqiWTtv z2NZ~Ji)2{^n$({~#}B>;tfM}nz|5q;fp10P9xe9dWXWYa-u(<^bx3tn4Bq^T z2rxoF@QpcQmyorwLj&ap1Dq7n(^oW(=9QID&T#XBD~RxjxLoiX9J+f{V%5}J|!%_B7r z-Axtn`5Vt#l2aAEFO$Y0NIw;bgP;t&gp7cNmzLi(+;?iQaDg%b)&R-DA3=8fPAJie z6G}_ASE)PiP-zU_QyrWICkVkD5)@9WgG&|+;GE?nK$L{iI<}S+59NwV;3ASbdeZ&- zsZU@nOM475N1g<+dIjYiH@|XlYk%N;*m+`vqaSv=tN>296{igW)E zVxL&f?mgMIk=c?LNW!y$92L?>!DLUhxpePIEkJ-AeI=aJ-rL)^0Z5|xaWFS>_6I&U zLx=fd+US$R&Dwy*_yK$X3CMIzDc!c;)5&h|I^fHrl|PfgB+H)LMFvr*?v!*MJ-J#C zwoijE9&Q0r;0F@0dPw&ZC=X2iyS4DQ!xHLO*xWII<(Q9v_2bmqQuWyMJBE@QaTn9Z z{eyS-0=1#cc`C{EvPGcu@!35-m3+b;oPjw_HStrQQpvHFB@JbA%K2`OWT!STTk<9& zfQYFdN9AyS-rZrqWYG(5|8mXHLY;s<_`$j@P7m~`^B5LQU5d>jAQ=!(bvOB7IlTh^ zO%BXs9QPued&2bxyg?qA{2KjEM`iCEyp9S;(?Fl}1@$dJk^pb*%|s&m;f01<1TjeX z71$d@mkp(&ZNJxuz;CTIZd;N7Gj@<4zDbFX{@WQf#B;NCTzjCy99&#yo2vJWN)XPRf`03Y+5Uu^YY0t}_R0z&|9zOH6&N$vUU^w#dV^FyVg2*KvXb#>y0KZwLFN}Q; zs*@E^gtmb^Yr_|upcOs=_x=5=aXH|T>rf%8+A!+@AUNxB!-Ty#Xev;a9mX?YWAPpj za%E&@&;~*QzX}8Oo&~?M)3_1el3cr)>)j4KHPrx_U?!r+Gu!eraE0V|1NVJ=tGwRY z$44#@nEE_G?jcp$kvdNk7$$%pe^2vO2briAiW4MHRQkCkAik|`JbUuv5Hxs{x8u=;V7Avb%i_IHl0)wE;Td-z%d>k@T9a#-6mxWym z5*73Uu-|ph!xpG841y}Am5$$il3Db*_vHRv5+jYOG#tP}m}Eg-jK_t(@L#S?dN<;f zgFXT2Spy0jH0L%IP_EpO4t#Bj_@nZbIx+Bj4lfZJkZugjI?ZIDrn>iAYHRoFOsufQ z6Zmp)b|Lr-b)NuwYPBm@km`ri^6Y9d&H%sVp&J8!$_L8SP}(h^+=@H@N?tCY?_E0{ zd|xmq1UsF&YmN*<#D_`mJ5PS|v76+VPzq2AEQT^KQg8JfT(5%=*Hd9H+X;TGsDG9o z%6|f%K(q{rHb=^CzF`o1!^ImwxJ`1RQPrnj$^%xV-Ftp~ZyVs`h-#k}KoQ`tBKEr@ z)g)sF3Wog~&eWTPQ^rRY&a$eWM(iDc&SX9zSGA=3^A&rt_ zWiibb~xs;cFMA`-feHdZ7>>X?tS712MBPWnv zFog2l4);@PZajhFb!dCba^Tc&r|}y3|Es+#kB2({|I@MA4yjcsGWu@6j!i;xH;%2S zHb)yHSCrhx&=|)s*lep3YHcZlAwn2Jh#Zxxa*W*9II@`;<46XXar|EIX^($?|NQ>= z?PDLm2mg2&@6Y@5K3?bZbqwyNLJ5fSO_0L!15Fu|-Uu39$4DJdsEG-aoa`Y;DpDFc zk3Y)ys*5EHCT7|O^){$h?Q3j+RzK0$msUc zL!Um(>2l6k=ayo{JhE!T1X7A7;t6U2t5(T2+kKrp0ebU&e9_WxS_C)`5DX#NCItLs zb&_6vmq}FJni>z+UMJ@hdH&RqF;jEVuqfg-k7q%8? zaW=@`5tmA@7dxK(fp1#i=dX{O(Yzd|^f66)VGr)Af>6QZ=~mIu3&l7dHFz-VJluL6 z+$yiGym6aq?^KI^ZcbsVUFB_d)th)VuWt{MKEYo;Xb6Dr`|aTUQCR>ZgIA7 zG%3LQ+xN?8)GaQEfSvb4Ghm`Q1sP*thBrHI!elI=-6Zc+dv~ipu;uzG%2Vs{EV;~r zqAl2?7axf)aV2IK590!Fv%ry-f@%lK#ubSqQJ`Fn@9E~%+~<-&I3iVXhZITvxV~Pd zQ^f;$!Q!2X%$zmNp(4c|3moe)Q;)9vuXWmH;h|>t9WFJD_7AmG4`rgYoQekH@dVhQ z&xS{&T0%wUdPeS13XW2+E7JLp|DY2)6yb1GFs5C2&0d5$ZWb<4sM_6eL{R>#BVxVW z&_LG0z(ZueHnTQ|WDr1ZrF!?S+p4Z8s3x>3t6zpPNYeQnX;Fs8dn8WpK)lj_fV5c~)f)x4Euy z&*bh~FQIh@tIDnqtz6=zRir>87gGj^r|qV+ooZ|ITF55pwd;$lP7BI~`W4<2 zT^4y^TD8S-OGri<9LB9!RbSOh&4*=UHEQxKO7rzSM?@O*@+pQ!KCOvF98^!ebL+me zUPoD2+gbf9-sx?mY+z1|&)0?v0~OmA_u`zIx}XGf?aQ?x+eLw}s>_}oa~koMpU6sM ztW9>cwLL+uPn;4a9_6poX(PhMZ<77>gFwZUmej3FyU^}*=Aw^JUT?#^ftl_m;^R%J=8YEb!rCGwTh@M)Dbp z30Oro7P7D}@atC^Poo+^q6)$xMg6!|MI~+hMyLXIhPO;(|5pXUJVN5%~E(3Vlw0f1))T*`i z%!(vzgu`Os*~Y=j{ztXzOBmJwYBZ#_MPf{L!_F1Hm7l0bQq;^>L!q<-;X^z>-C2L| zxj9gq+;$hvu(3P#WjmGSM&p{-x#aRSUp|hRN9I`NS4@A~&)v%07M6q%d&k7x1=;6u ze$SEV60TWWx8oIihLnBa;#>@8@aj0!aCQi--yLfbN6@!6Iesv+{Dl16J92o{>6`e2 zPV^t&Y?Sa$ySAQo5=yr-vSERqHCnjVGf?YDm*2S7uy09S`Gkwy)jQY0G=c$i1asIxcF&C^w>X8Q$^XJDx@~I_Vzlc(sk9}2kk<%R20{v|=?0{qgbK2M4qvAEU z#04ueM^dx#nQiYu*}ypF#4lXO^UT#caZp6`VwN0CGc^dTc!XCa73|P1mcyAeNog(3 z*YW&ecPC+Y{oM8fyz=CNMgF_dkRA4yg=G&XbqP+_>PG(@vvhIbiE5LVi>wIUV+4=b zf}E1*n`ND^MM+(eu7SGQ1^e0B1=T0!H*}d8(az~PjCD_Qe!AMH=-XJyQ4-Z@^MY$! ztnM44n;H~0d1(~PWL;*+IublTo+KwG`XU!~BlhTT(5%8l8tQllY)VUaYhG%SyTG)U zwJwSUamTrHwJ(=Fo0G;kf-%)cJtNZe@^5m@%-gCS6nhnfzIxuqaA+_T+ro=zQ~9KMfcIDqHC{;mrufCyY3*9 z-JrU38@rD!7p1*u!naywOhU!fh2;F3u4co)UUgAsZ9P5m`K*|HB}7+-O_qmff$m4B zc#W0D1#mM@>5GjSd-WX3=-$?j$Y=Jt+LwQ^GL_c_2mUo2xV!xLChGPF{S!~`X7?PC zjF^$-<`1nd`*2Mnhz4y_Or#-2D$#vdgOFr**~3y^g_P`?U9N~;lxhS>B03=$v1>+# zP?KVRNqqOytZiYgh0P>t58=5c8iqg>MTi(u3Rk2z!-}f(Mck4gLg{1dHliZ53k{nB zv;@3xw4~D@s5Th|N6W~vJs9pqu%!9L4;{^wtIJrbMn|L3f;ez>m)c9_&+Ga=r&!BT zBGolzN-K`w&NKx$%>Q2a=PbNp(4JN*1EqT#8|>>`ydGYZwN^EM?m!{mPn?a@zW8G+ z7tY9p0{xrVM5(Y?PSVxBCm)=4QxepP0W+fpV&c41$YV%_emSNGpkokYfmBiX^1GqR zg-hpDo#|T6Ww?Wy@Xp0~)@%z)D&zoUHaD>nx)Nl*V~fhWNl;4~5Vio*BtTinf6(rK zgxyode~Op`+EMV0CR&s<0IG8u4YBDJ)CpG(UL3D@hwIetugV773;IrWxLcgvh29f% zbnM<=BXU9D{*#QdQQ9*-JOy1s`JF=nf4*q6X)WPla@I?WMJwX)1%G=l z*tjZSN~dT9OvVwYfRgDUo47s98mo=v5E~u@EG<+#(qBt%DRl1_ZdwvH9YvRPOQ~H; zuItv#eN4>)7#VlEi3%{y-y0rQ?k{GP{L&x^$jl-$n^-N94;IzRLW>s z8D8aVyFgHt>T%_L)eYW$T>^iK)^GIJN(7bI+#7j)Oj#8Y6+nh~>|QpGP(EqMcUxr) zAToyEDRoKwT3MMs>=jC6l+a}(1PsxGGxYV*n&BUU3GR(N{Xppo94c8GDkJ2^JI)n)Uh;+fG;^k_O73AH>Tg)?pl~Pp+r_kkU&kr&<`Jy^^ z0q|$r$&5-+_j3s%a2QHQyoGeT$nOwqfo4btB7lZ!%a8sSoYsp$2fh_?X0P=XdvaW2 zQ6PeNppDj-Ik-`3`8V=Zp!kyMG+eLQ3=C_}EXiqshCg5C@Yxt{@LPf4S!Zj6(6xni zcjY@0kOcX1p1CER$8~`%O8)~K4M1%)5;8*b5abY|4%%}cdpYeNo5WM;VD2dG{zJTI zA|suD2BrbU&+m2T3MsX5x`5~Ja2d%=?0&X1UFk(0G|KtH5YfGSMy1lqh6yF zXTLr2{-IsX7rv6~et=je+&A2SIU3nBVGspm9b*%uOiB2YWu}g8T$^?)2lm7qy~eUJ zL?am5ONaj&;W7K9^Z1T{r~q+mRm+*SPdv~VofS(u{G)#?)G9yY{oAd5Cu@s~$tUQz zAG)UMUyDL8YAWcq%mKDX-*FKgt|Z)Y)q>QN-B(Qa##AzYCvjZp{$wRSZ%A0s;qQdG zzyQ5&=BwO{#@wiU8Sv`WHKUZ;btOHSIR{VC>@XSLAX0N(jNRV%W=U_Ml3xm|>Oh#e zc4Qm<`G2p{celQi-gJ;{cmZ5TXXNfR1M zyJ1^T$0R*c_1Bj)-}R>c;;bn?QX+ECj^GE%3efSQe^Gd97Z8thD3sP$=v#&$pi5 z=bk&*({Zw0(1~#eRtp<*CN36xnC*tZD>~~zjl(Ll&k$K!aauHZDMUsG0^E1Hr0R=mz%{t-_=d`V zgJdoI-2wny3rjpCV>f7sxYkgr#x9Shv%~J$X^cH~6G9Kvt;u{G5uw#eV-i$@g+zDv zS}>p1cNxrsL8VW38PP}5CQ8ctUi+ELj6JX>;7_$j?WgbYUhC>R#Sh)ZMg8s%zzhe{ zpcGgy=Qz-{v+W(+sG)O*r_v#t1R0IjZDh?sXh)RDb)*+X0vY~DX7B2NCfX3&iT`^% zw~H`kCsKT&&)HPm^ypN5IJlx#Mhi1@JoVLon5d)_e03E5cM-8GXDrR5l1Z7d>6ZYH z%Z?*klRxgNeH5L26GDD}jd%P#bRmMr){QjUxXxfc2b9M_9QpQ8*{s$Xnl{+wfG2y_ zjQ8J`(b{e)=8;Eo8%xkV z_ow@QldU|=t4_7xSHE`x8S;Bq7?VWd5c5B!l@+#3htJL`H?txd+q!?eE3La-YNB)@ zjpx7W53gY?hB|fZ>txqHhaQ$%nP7qzgZ+Lxcr_#&u(H%v8poqm@NgN zg$%FZcDg_Vl2Yzt_4d2=`itAy+S>C2;Q`1l3)vhH;H!j-G{$q!WRDg<6dW}F zlm$%-LGxmSc{eZA{r!Fj+LZ*c>-d(c*EmSP;{5dU;o*9JHA(^uLA{*R)%%=k;<@f= zTp#Uz<0x^_FpScb0t>kyjj2YS@vGtolhHlsuKs>Nkd3dFbNv(w2;>xCQcbg?>JJ5! zS*9(DPI6xUe8-vj96E@k0rqIx0RnRWrCLv=Z0iRyhH9EE_;$P5Cr!uI!7zX{59??w ze2AD46LG?01Uc^3x#oJkzPVSA!Jn4u-n?5g#nVONg69dr1q3Ub8Ub(a z&)%w-`)KBkz zk5ca~8sW9r;j)p&9M@dIv#lGv%iFtjl^px-U@w!~AfrK@wl-u7i01Dk8-m?3pVt?b zTskC`Ui~nBdZwVEyuve8GD5GE_x|B_5TiV`7FnSC?G*xM=2>WGKOv7XwE_8cvcM~S zM^X0HxW=|D(sbw1%gW+RSCk3X5~0*`%s{@>J)0z#KLN;)4ba_5GXOIi6ZFoQC&;*i z^}T9(#w9hj?F=uZ{dC-k@NKn_1n@|o>Ooxm`OV~8+3;k1=A(XnFaeR0Rh*F~)V!ic z@IqSThTSr16NctyMNhlNEAdeDbCqGyv)KgoMu(NVG;RPgS8J}^`J`a{h~+R|jNG!b zjPT)Yo8rQ-Ws99*T8TYB>wI~jDW9@3WTYPyiFXQE>uDlXMLYMPUd|S!_V)Lc3lTE~ zZ_2e5@DO+l{PfPzYk^dhQX6lm=-%Cs>&>YhbB(411D=V66O^V;I~3q;9~7qsn`r== zDTmv2_+5W&ghSxxL46A4x*s=SiJffJ-SMp;2!hiHPOwheYOw}zZV9QWA;$gl_;7(r zyWO0x!JV~>4G>a%#?2Nq4>8U=Q*wfr1czlGV6J;0jFsdA&peWjc;;g-ay;o(_Jypi9LyC_<}n3O4HM z*ow*64A;+ITRYP5`LpeAKpZV5TjyAs3r;6++dQ1B_Q7e6&TrlC;P=^2V3j;KB~fT5 zVlR@?QVbH~J_OVN{!L0s=5zphyb_j0Hssz)jyTrfM>5+z-hVzyHilK3CTrIE{-wdR zAH^(r!I!vE9OQy-w@ps}CKP{kU`{l znB(qCu{I4$IVefW?#-`7Jw1a+OCk6#7{W1oK)S-u^&jDo;pZU~pTVz?{a|9j?_H;t z|Gj)H%jED+vcb(|mRn}IWtRItW4VrhId%O@`9EZ-KT=v8gL$E_;Zu&!HyYyV>IyI6 ztM?@CKt2!#ll868jyQh;a$zv=P0K>_!FFrcYWVBLfxItY8-5v{$6zvF3r!9D@`KBV z1LW}knsN>=Q$Aw(WwEd<`u<_P@OoLxAP;_71uvT!|9Ugy_VOM5>+fjUq+eDjLP&V` zvZDujHNV`Hg&EZ#{y|4XV@A~6+`K{)e=XgK&{kcE)=b8Iw zPMgchY?Xl^NcNb;A65{wh6X`W8B!A9Uw-^$`5gR__O`g}3qfLI@c%?ggRI;jNDVsn z$D#89DHHv+)O>6E=&P6{sk7U%?`FIReVu*NHDbGGjK*>AjeD!^KCKmz-fnTy;<}<+ z?5-zPHfv-y)2!BLB^%`73>VDY>UBtkjP`|^<@PC$U1T%)9jMP?m&d_9p0sO~By+j23F*VMV zh5wT#{ohyr+ou0a;=h~opO^UG+ar2!`adrU{GYhy|DybVh~_`^_8-Xo577TVBrkU2 z|L^BN@8Fc`|4*KHaF6_dY0Q6V%ztUje`(DB-f7JLpPcId?m)9#=Knm-@BfoE^9oTZ zxBCR&mwZ@REQ&hP2#c9(?U^Z%JWa&b2I8d4*U{(o#NU zg}xZZEKXm|VP-}nF)dW_1JLsQ9VH^{l*QJU9A-N``1d#c-t-?n{VdD0N3R#oSC6K( zGbbIfCYYIYXNon-7<-zkL+B56>&+q(1m(;)W1@fmt?`5(#fqfCotAEAg5EgrUL>Ll z1(S4R&#Fl?ioJh-uwCWtA9da9pui-+eWO`+2aT~LZa9azNLPzAw+>$BstJ4uG#x%{|y-`0fFJNea7?4RIwrbnmTB_ zeRemWCQG4U`3Q;=(S*R5UIPWj0GmnMq#d1IMG7HQFS&J(UYAguTn|D zb!NY9zPnu}Ox`qHJX~D%nnKlvy+zi6j|=wQmbekR<#dnERqVJ*$bDU_8=#U>LpAC~ zb=zES`nc(N&CCGGucz{Q5SJAM7#JO6T7uB_d!{LnVP zcc+v>d;{LPil56FNHz2t*vj`651qq;t&?%`wcbfD)xw-EeQ{s;_)>m-f?e(>K}u#n ze)$IrSI4!jW1iPcGIlN6C@oc^)_uV60&)*{zIXUV)XE{^XAdnDUbzOYd>32ES7KO^7H9IZ@>=TJ< ze7@g#mU$wrvA#fQ3o?`TMV9H=m>#@vol8Z9c65PB9-c5d_r>3fh&Vk-NV(nIcAR@D z^y2J%x7+v!^@9gXi=XdDwV21L$fDLl+3&$wwzBQrH4io}Ro;oazqujBegt1Pp1n`a z-rgQJP<@2)=swEccm6wXAV?sCQUqTCx4m^=bkI4HS5@uBKgj)OS{(gp{St{z<4-3Y zHfp`zvi}Cli4qr0Tn}0Gf(*yy-eO$&gZwRfS4n>bY5J8Na(vP>!kZ}88P+6hLOm&e z*Os+w_|CXN6j2efvISpIvMP1qd?#^3|DgAmmOequ-}CU+Ew#4-$DxXRG?r|$E||ZR zQ1KJ70kSYV;UaeBv&xVB(I9j{>yuA~IwLx&J0m%?lA9-xzWpEB0e=YkgQ#!uv%|S; z-8H7;8$kaXlr1le7up<^+#zwrV>kKM8TW9(!a}d$YkhR=I>b>s5-m6|XmM&S>I9Vi z6ztHxG0Xv*FWvc@dTbgT7oYm(Zp9X;S-rISasp|;6?tDtWk(e+IEaJTQ9c5sxvsyAXtkcHL}u!b{F z@^)h@%Qhe*ln%DPe>!{LS9?QF&27K5ujDGHzyO77W9Y?+7`Bgusp}RnfY?Rji{)4R z@lw~u`rlW8J&N%tiQcGwkfUWt--5iW6c`dbcTDFm(Rj&l;5kB5^3HRr?Po;peX6)~ zZnyv3rTA|&ITYqE_5K4p(NNm~&ZyQKdV`|L0%UROl#AHl-}4vW;1*iAY%}JmflHfv zT`sGtMvv>9I~t9;b}c#81IiWw2UR{{+%ro1($(cTVAmKOG(_3H?iD!s2ksu8AJS3l zd!f&X;CM3Vdpe&ePR+1IM(~uUw=h#-YivH|p0i(i^=0Z$reMlFZ@ES`w8IOmYIOk| zd#zcK!;VSq2I2{&dtl4Z9zSasVbMdE_$l2MA{MK=fcfbN4!Ec*lWz}AH+-;3l zjQWCRI=)yN|4=kODXLY%G~Ipj&G2|Pg`yIZ|DLHE`1Wu}HJ@h7(2c&P?9=(I+Kax( zaM~2wp#UzL_K%MhuB4kz_>Y;=Z?#5rj8(V2G{Ub;R-z|j9x=8>4<+AbdQ?-fOZGF+$`9#1?Wxkl}kC1(de`oHV^*v6-D9PO37=s>cMc-(_AF%E}B5hiE0Jx?H zfj=dQsMZjF53Ld8S}U11=l6`{o|~3K80w|7(jB*82qG4dU^~1IId&ki8m1+gMkY%& zD>RK)FD)?}k?t-I74p{wxLZ_NeJoBje(JjwtCraC#w(xtq9Sda<`g&zP zPU@@z?Zr}&_!e+rgNkoWYx$>wAU&ScNtu_=%6kY-I3d|422K%FftdM2fFfFY%81yK~ z;94+mCWmn~s>>>F>#@mK878q=Gqr}-S#W*%llx(^qX3B;K1_szga;AIMfPJpKj{Rt^v`hZ7_rF>I z8+u3nOS^(kM1PuDsa3OopRNh|W9#xo68AVaKvHefU0^8#A@7q4ZQTr&V`o~{n_Jv` z*qKL1Aoi6+ueXl>ond!`NqLMPw!3B#j(Zk|-V)2IoQ1W=YAo}NR@62Emj+qf& zt~DtQx4gt2JiPLz=C-nlBxG?l!XVVZkLrg|lV>g88Nv4z7)V^Uw)RK*B=oy~d_G^> z$HqaXGT;nLa+`DZFfzsaIzL^pCGi^At)f$|Viq32TwKoi*61AOj%i7^lWjtAg`PmUwf%P5$UH!-37nOM`S*%Cjt%IF!qP=kEL7 zE+5tXAWoA_?@BAliw#@)ndenkFT)d>^znvi4=A@800fWGnjL<{XVD!0gnE`lv&W~0 zJ&dd3{BBly$R>;-WFfl~Eb)2Jdy4rcu48w;<_MF8j;S3n3Y@z{8nT`_3z~l2Qe4lH zgmN?CasOUCsgHhL8(AIrdA+7KwNcSg8nMS4QwmL-T@%`I5pFVDCqg;8yWnQ;afWZi zsNPapS+wM)@_1`UoC!V-ir;z^?A(qrulvN^-n!V7JNPI3p7)bg?08W{PL=ViXzE7D zsve&CHP%hg4=F(vc_bqw4L|e)G)cTQXll;26H(KTXq9N)^>o_b{mD>rW#`P<Bs_JV$N z7|TOoxd-qqP<&Jhn3BZk#6zNbt95swCTk#unPt~kK|QjQ5~7_|;bAsSGmT=Zp(;Xq0NJf;^o; z2H|T1#vdR6_)hqEq5QDQ&8*DSshiB9U2s%OG7YI&93a=RR^me-r~5g=1D3jVr?HLJm~Qy$!yh?|{puY$$hk zJ5iA{bZ8Bs;JvcO!6&t*UkTn0|FfTd(o3jljl>nf<;>Xhpr5(U^=8uRKIWI5l>Hwa zy*{o#GTw#rc{2KbAzN}ix8nK!8`04ll>Q5{T29(bSzW%&KX>D9H^<>)gopC`>vy-^1X1&rYK@(p(4}e`ycipUp{# zIx*>WQM5~OX_jE|+rZ*qTO*`B^vGC(wM_a61h5s!qEa}~cI0HgQZ?7`a{K~tp>17A-r$yqU z;0ya=^K@xe?5O|hLC{OvB7GV`+_CS{XtS*XCgzEethb!V@j=iI@090F8$oUr_qftI(VE@HEj&f@Lt}h z2zaEz>e)bU%D-D39B|SlYpJ>Crn&NNe}Dhz==Dk`^Q_5=n8JUzfS#fN&KzX3C68v) zOjhdZrPjUjB3=GpS{R?Uu7{`MyQ0bPy&q7jv0nA)m3@-~HR^bWfA{)y3T!!EsLeEs zrGEeJ2zZ>-RP}n+rhnG+CdrCKg1~heN6^!=(1YeZ>*Fi_lEzeZpqepuSQrJe~|K9e% z5WGfM)1CICI&rgEwqDP-3fs(g6f=BfLiPTHZ^Qz>=y<^1uqJ)y#MV#5qr@b6xJ~uy z0=6DLh0m}Zy0dQT5WfM(GPrGx)zsvqEC2$}NGqPs-0FW_#{5Os%zOpddEsx{x$GE; ziwkF5T_eG1X!B*YL{c^XaZ!C8`7$ zRx;^{W+!*atXkgDAo*OC}?DLvZbe2#;=>H^iW5VdU@t^29V-?NJQlQ)0o?!S!4h1as>odaENYtOu z$(Kn7UMdRYOSF$+X|4f(gq^^RWH@E<{`~RHS?I`6gzrLECkuPBM>NmOF@OTv8Q(Po z*GBBEP617plMyC%k&futN=sz6|Qzrjs{7rrPmd_hlV;GTA0IG0wU zi+Nic(i_m|X+ZE?^3|*ZxAS9p(PQ6=2?U@6l7ai8wbBtEqc?HOjLV+*0^fG`8jhQ} zBn)Q_F(DDu9RT;hTRz6Ea9ut9cC1!Z-z_e1O_*cl$Y?HTrrpiHx`T6nV=99q71{v+ zwrTS6_yD(7wAATq%_ewyaMB28U`3#99hs+(M~cKBhM|-z{kbc$w5!12+GoZG=oR z!Q%PQFPuKLQtVgS7NCQ=ZK%xZ?(Y}I|8*!oj{!1y2VM?LAMD8RP6xG@VV<<}EjdjN zTSs_Z`MpZ;<=%_CeUr-*QHuoH;m@h8H#lBk70u;gh-z_i>{{E3TNeQ2;BN)VE1t)_ z&t4KUl>u_%Gi5)|>_peLF7w~zr+}PzTA|wv(TpJOYIW4S$lHORg5qTk!AVq^RdbnF z974C`UFpl}n%+lewWp$d3?t1qjuB~0)t6Sg|7|*mHMnyD{jfIv@^Z}%0Qf$HN7rRZ z&sk48d>E?`Gu^WeWLoLC+r%B&>quXen<}alu%zAZL-?F18j0_(e8^%j)-1brlrn!Ey~MACk<9M7?;7wd^UmJBb8@J5y=ZBs zmoyAKQ6apW+!PVDO>rPw#2FoKyi$(y-R+;qr0j3-=dvHMy+wod{ip82sCLh9U`)c|yhU}5XEv@ZMR?tG5S?nG9k z*mmV$Ll#3^h^YH3Wf>gt(DRo-=BGHnyv^L=2YKav;;o9USi()Y&g1$-r2aN^M(xXL zHm{MrBx<@x4~+ic&8zd|ub6{T_vHzmOw z#gtp}`-b&a+LM*wOgd}a=h|a738aV`-nvY$awC7gv~}s4An6D8F!neu%{8t3kUMi| zzCF-rU=(%iL#Xx;S2FQ(I5Z7NphSHO%r@ zI~#7Z6|`BM1)B}-Pm2LzN++mseuejfqTb9B233Xfctz`K6^uC`kN};PLBEK*|3olL zQ61?Uzw52t{`EN`nxb$Z-5iPAjwe9zN$|N`&sE*{P!9dE%FWgYKAIiPxj8w8j!WZh zj6)#f5?iExNr+*xp=<(JO1V3AQn8oTQ+EAz7 z{n(GusIAUFpITwG|JF4%F)>*(w2qTTXtKSwD?>Nsf%jM!lb{L+v`qiSg}*^}F#z=G zq2Jb$Po?uI_~p6hY#hj51Hm?hk0yjCpj|z7qa}3pZcJ*h_Fp&dQBo;Jr6?k;Gj4Q= z`TBZ!d2v%9wNjXUI5ZFMY83_}qg%dtYBxxiK7SfK;5+)T`{?e7h6hMar3QrC2k!s6 zN{{|d^v$ePkNj&rh>>M`d>b>St0-`Og%KwHbak@AE`M2U4fHKTNO7)EFT#AC`F3sk z{CMM17Sk_qAJ=v9>JjtJv|eFQlKh9<{L^(2r}bSG^>B=AYnU+G(hj$jQ$47HyzJsw zx}#~DEGUF&0N2Z4ab|D)hS{BFV121s+0EBl3U0xEP1UBI?ijEe{k}ErlbyfQ0G!Ag zfp6Rd-;gb;sY>#qtDqj0zZ>sLm~E6>EYdC6)gKTP;GMbJXK>vHgXdasxsqz7Xs{ho zM)q$;8-n&k-aF2-o5a-g$Hn~q@x6P`W~7}97SNPmYiep3Oh9#S1_!-$%8{}MHzZ+x zZ0%K#-Prlyo#|Q++}G7CaW+SrE7F=~Sr>)uiY-jSx8Vu^3Ge1_n{E953Fnn|Vazur zd;5O)pk)v`CDAYq?M1d%#7v1;c$mA0sdaRxCg3?Ys(QBuEA~E69l;k|Q&f)S{M0Or zrYO?tRsBy=B@sv&nCF3cboqiDt9i{oAq9mdd zPQ0{&38Ydju+q8%T`M7!W8E}{fdWzWt;vsP8oCCaeJaQ+E*^kTPR8=N?J!3rECoas z1I9sc-4dSy$`S^Nvq@PAfS(fB-E{P2X-fh3tZjZo#6lb}o@XxER=ru`tIia?+0tK` z`-E=1{oVTM??p@;_nlk4)4KdGXU{@bAAm(G3{36EB6sK851~}w#Y`3CW2df+&$o(* z7s1)Al9?N6&+3SqNZ8?WW4l+|e9T;jnTSMKb^JW!px?*wll-M+Jt!aM}u4p}@YBWQ&<}@V5R*d6HB*1iJX{8%*%4V<<>R#^DE)xHU?10XmQs=gV< zPHMA`DL*J>=5H1iaP4ymbedsm0`Oh}{qV5w@FlS@^UYH=9;gYjo@{(ISrtQ4&A*=B4?KCS3z({m#ZgMG$~ zlVs?1cC~>v=Ccm^@jI9b+wpW_9&Y-%E5EY%FYE!E-08cvB=TR06PhgY#BLU@s&T&i zwA)mVLnC5}JAle031!OHVImY1o5$5 z-7C^8f;0qU7hZN?=yi*hmJC;@cBYco%eBHBV0;TAv5&lTKm%r*)?Bi2*>iI=-y-wg;5a>Wn5DINFfT2OW znNM?a*}lbvg(%`Vz!8GW1$kfgo1|?--qLubNw{;z0iY|cl6Yvx6?hJbBLhJ2iHg z^H6~cIK&5IMbc0%B<$6_^NnF$y)E^zO#IA0~qX9@!gSX`bt-{woSn=HL;cZ=j zrAj5Q`q^^>)`Y$Q5eF*I7G8>3dAE-joMtP*aw*%PY*Bco<*$Vq!>s&xQXXYA-?l88 zcm&J_e%0oE$eEhf%=~m(4q@_f3$9sqKC8aX38V@efzyD>Gjh@b4bXG)te@+hIR3r< z5kxZpFaRS24OaV24iVhd*25u zV&nh|3V1Xq)G>e=>tE-D&=p?Yo9$28x>8WCG;CMAuQN>bpM@un0^CsOcb=P9NRmc{ z1CRhRAgGp#=C$(JgJw+Oo>5T2n=yPyOw*!#Oz7=+Is1PXL1~5fX z>nPmLzmH&z30iRH!e2iOz8-3@*y;}2H%H7EvRYbN*hPStZh#HV!yQnlbyFy zIGAU10<&2Q9}w-lIpss(?fY_Ay)H$V_l8H-03&C}c52tAFIQF7gYV4~6CGqxL16r6 z@c2<_1W+;K@97O+n-K5P>TO z+jStz{M1)rsTuS~3x)gJ1s{$N{Vf|*7KLec8NFaFJRD89++9zxW!u3wFX_~j>=6#P z10GKKQkkb&u>ZN++)SUT^d;|ti+RFzDTBBU+4M2$&1YY`QKDf8_bv9^ET|gQQ;<-$ z0pMhyl6T;m=Py^%dG)k zHKhlIA1Mky>geftuHGMD3)}K5y8aI9yts$|IEIWbx9{9x?Jnb!h4%yC_odpfIQU{^ zb70F$vH-{+&0u~2eEcxck)VZNCkp+zE9~~{o`l)p#TFT&$;Wa|+>Z*YT=x$X#EDoHLo?gIaZf;VDuv z(mspw8~B>=!%$k@UyFUgApwJ#N~EP5_S|P{AS*JwiVu~Qm7ESbNcsIWqE?(SD!>zm z-o6Y^!IVNw|6JCG)<;jBSqF^n>&hZZ3Y7?%R_=u_MZB2g!P(f2Ilzy{IKfmBWhYo> zGS~t6D?o~Y1G#cN2mrc)9UuRR8=<#*;C>}m#Z!qc2uL6M zeJFEw`4{UcyFr+T_e^Oh@rb%5$pk%m#tuktq)<7K=~e~d_m&oV@8CeNtTU5qxHD~1 zTqpceELg(6H3Ni|bRlE~pS^dY6tIhApzK5Njb8TxFg!fg(t~<2xrW8Tx7bLcHKZoH z2blkr_z61wkr#-f0kxS%-7069X7FAj?BebDxQWR0;Od5*c>d ztm`2`+UUMkJ5n!c2Yx~ny4eaJPT~(XV+W4b5mcWg+k71^8agTdVyB_PQ9`|AamB4e9j&g-KSJF570?sy#~}{aR|?kx&f~X(GY#%UZugPPlQ%ZR&y*zyAF!6EQMz!RP)d4qd+y-ca!nqu=4?jmCtAZ0FJAVI<++4Jk7-1x#n*-uSlQ|K&R!|BJ@!0iz^qrsm44P+rl}V>IqG|sBE=HW&dx^kqL(R!w$_bVT?x@GG%KLkFro|Wjo@^#(8%UXZ&lvX z$;+W)R#&AwOvgMQ*;g$TKTYiVR}0YLpVR4=-M??@6+5yuq>Au0n^(K)J4+YviPfI{ zQGM<08~JV$>+%81ESUM0=U1fr8aUQhe92>NOl9rvAGh?q&=;CDjR}2s3_LZQXxA%) zeT}e{ixlp~2cey!yh@Q=Eol!^GgS=!H!^1d%Xxd*mjg;BQ96X>EI;YxlADX8&grW` z!QJ*+3P%NjqT#HnN#j`%DIx_9X5&laS(Z^muQ8%cHZAy-4YqQLGWl}(^xtFgU5Kq5ZFww(ybRL|& z?eEXpdE#l5AnoutP3Ur?Nh*@|L4PMDPH3@|4GkPGRXw9U>WcPzI=)zQCy^PFAJ*|L z!r+QU2XgCclZ)Q%!^ZWB2V&0{-!K3U5w5xn!yv^mB*P2CA1huqiESfCw^q9P#~vm6 zmVa+4ZMIL~aY?t*$}>xcXbmrVfe4M)HgkMxzFah3BE3~&T@uaB6%{;plf;@@saG^; zgDX=G#iL@z{TUex)7W_Dug_HZLE`y^3s!z}0nvgBy`2}Tn%rq!3-{a5~E}KcHYI{kB3TVk#m-qncJ%^4P$ha zOR!Tx@+E=U>oFgM;Qh*NeVu`GTb8>ICAS9C6J}Ydok9sDdogKpj#_-cXBw+_!SE%S3ir>S}oyl2V`qs(D?7A49>F!gV`jXin208 z{OMMQ!h6~)nG=t~CCZ(Hc87F(_$$Y2gZ!w)ZIUL78;Y>4SJa%GSk`?!`#{s7CFk^= zNTQ_1-z_bVVNIow%1bXh!}+|!GJ?96X6E7FDQT_=c%!iV%&wSW%+U(CODp5S;DsBFThGeS-Q z=7Ot|IqzRogDd}wvPn&ECJRtsFg0!vdS2?Va=ayw(kSi?(8K#2#%{hvt}!9ck5(;B z^b|9gl3Par$Xbr;g`)-aPpy(V z@U*n!GjE)$`6v=Zh2Ut*xl4C5{|3QzdFBTYV`5o@R<4BuN2yzE&Q0DM%8s47rup8= zq3vwTh$}BZ#7ZesmiAq18mj?Fco$`XOLv0zDvvt7)bTT*h(pO1-4n`Ld@b+M43 zvp6>wMbsZF1d0r61RbG^)?0Lx>jN^L$Az1Y@GxECiMB$e423kh5 zFzzSeow?T{G7V>wlxM%aq=LH_&S1)EUvGNqG0)7j<_F&9_JuW#C}G2IvVORdaK-lS z%@cq`=S{6Il7*{N8L{sDfA{CT@c5ZlHBCi@%v~-xkDoZJl4F_P0z}PJ^hlRL5o3NO z0~QD1Pq!T;P0YP<(Y(B1R>8M%pDP!&GL!OX-390Dz=~h9Bc+OVJtXfW11T4N4sad1 z$AaEm%)_;R(!wzu`AH$ZBhP^9DSQOR@ac{vQDt&f#QaUo^b0K}n-{~q8p$4s$USGxoM9d_}{fA*P(toN?72|MI3)uX8R%ZLF0cA|fRgHe3 z&_%f!)q|ufqJWb0T-noEADzDrdtL{VVb8pU#dePPRy)t+-?hjKKW&#j-fv;+p5&0W zRst>>2P&2TwmkxD+SaQ}vx@aBWOJU?sindorkH%JFAE4jX_{bVXF+Eft}l~>*3CHN zi_%KPtP+=+4F}fumuEj#x9s#UfJ=}_%mfV}t5_if#98?6u|DVU&KSdM4Jh-_zV8ul z^SD()tNiigqXuHM&Ow)=F~9DIJdnE$Gbxr4M4yi31gaI$f*J`A1#CH*>g7A!{9Px6-DTS04&7lu*j-zcmMlFH7CP z#-RkZX}6hA*gjH6ehG&jk3MuiK`xAlMh>0owQ00}$<>vHf$E{PxX~Yqb&4t_^isU~@+w?%N5a@ukuNhFi8!-bJ_eijQxZ*em=Slwj$#QDIp~bn$4{X$W zuu=D5kWTuZQPb(5103if0;n!84Sq0V_}=CBk_D!#i+@%4ZXN~Jq-I%$Mb9 zUg;tONSqcxM!!WJd0W$Jt({oUvNSfjJ?71avkj2PHo=N&#bohwUHN zDP!E}>YtZ?nRCctp^P;PDoiY}0a1eL%uSvAR<*#Ec9qJe-Sqc8rwx{Y%)1afLNc&8 zbrQ_@La(eI;HT>qx9occ(?H8&YfDqTbP58DLKb=wLGCJt&`L1}q7=U8N*s^BB50&y zRu<8q#JBV`Ij2kP#vFA$?Zam`&(EDP4f}$FuFf%1#ib7D#lmj_yuEne#lKw#zT}t* zpG&V(+|v3PvhH2I*qeGmd8L$@;}|@DiqD8%)e2gV^YC{Bq)ato_0{rJ35>(xC`%e& z+&}wleBw;F3!*s<#a~&|%!m|2VlxDTL}Au`BJAf z{q3|x(4R9*9H>okQvFXZ?i0}qqphuJql+ofD<5|*pRFBpG4r)q2w!pEroSyyHtFl5 z9p>Yd3ojIvTHm@7p@$&cSt^B`Sbcq6%e~V<4nN2@nr9}KCRzzRzWnuaKBz@|7|^@i zo)Gc^Iem4odYL}$56UNHeR$_pWP^>=?d**d%qJ z3ycSAAs2r{%knucXtyx1e(`VJ0M|Byz>{LRAi;OpP1ML<*|3<@lJD# zZTcc$S8Cr}@QTpc1BK>|S2elmNSTKypE(Ki=TVYdY`XudiHkq%DtcI1p|35AG7F2M zboRncjlX7*Wi?*yA9-Vabc>DK37l^tScuGNm+-r=rhxlG6ymng(*m`@xYq(1p_1}S zf&LzvtmFEGYB88a(Rin2`#w@f0}4&Y!@_F1qyjZ_Kv+|(Yel*i(vA{wLPABH05KMN z2`Ewq1QCQ1QbW-O4y%7=CUQX+WJT!<`$UHUnVXR@5F&77JdlP4)!|B1-h~IY1Wyn# zSEt^N0V(rkAf8=gA-=QZkjRBS31}bzt5;NjYAs<}h^HJj1ZzreXRbc%J=3B-=^AeL z2Uv8gv6o;!URMO-^}(E$;AqCB_kI`ZfjA;>0WzOcfxhWTd7RnDYDsN^*H#d+W&? zHR1rOBigWDo{eGj?|{1#HUlYGl+JH}J5GWX(bH>UoO%#5KH~gI5IXF%YO5hD@Oy3I zMX>PW$QsC-09bQ8w@kF5)i$?_IDUk(iR(3PX@rr7gP<0#pVL!v0*4GG*Fxi?6ov9D@1df zr9I?d7Z>lx&p?n}Uov_(Y zmcJ@lrzi*2zSMG1+A8r)sdC&6~AmMI-AtZk&O7&Vqd$N6x6DK z;SDm`(-K3~zJCCnadXeep*6w|_5lut9VrHR-*hA_oq|V6>r*djtM=?UFOzN-PXj!y zY*%}`GRXy$vTgui%b?4B#9cAR?+pt(V7s6unk@lB`iF(d6%4)&6vCPd?1Spas`q@8 zf#~-ZHf0k{O&?SmWG@=u-B1JfF$&`v(1!*%gq8{d3cm)Op)q|mmN}J52^vEMC;GAT4 zffia^&JMW6;I}A*@)mx-X$q)wG9ImwaQ#BM#kITJaRUU1cd+VNxO3p)&v$rh-Ws`@ zD>r*hX=lp*n$EcpaO>)Tp_V-A?vsc6v6hnoDrBJd0b;#hvpH4ibNp8u7@UCPW>u^n zR&EBm6u*)~uKO}&x58=bue0vtr>d@kUep(1EpxJgj7R)daPK7YRL$-?00T|*t1nN6 z&+uH;ADDwcfOm>EHm31wg8}EX3(o+ziUw1{U>xTeq%jb_8on*d`e(Xu-2%4rL<9IS z0z4I+Afb|X{;=}!QTUWzD9S>n^gg|%7I?j1>6?TS}aM|ZyB4X<6ZEhRnYp$GMs|w}}LYD;Rrv{`aSs3@;5D1QCszDcU<9DzR z63)SI_1Q7_M&fRztAfSa8c6@&7i$2BYj_&yGDjd3?yqQQJNxVSPObL$|1x~nZj(RY zrFL!uH)xSE`R|sx!?H=?)qrapysEGR)2i!X{kUHbm^HkXcUY>U3dtL|1`jw{0TWsJ zyLc<|*p&=qulhd+jXeg>m2nU zDA*TPy?aSsQ<*vjo6^rzP`UbbG#CLdk9|Z8YBdCp=wO39Tks0sPqPZp2n*vbWVik^ zqyDPJ2%W89w4PEoOE8*`XYbyUwm!lETOiGkr-9Wz*R`c;z%2==Rop6Z0?{)#C= z>)$W$w)n#}Krf6RxRkNdqb9zdruLaus$3`Z&avgL?yz?TkMSrT_kfrfm0Ss&;UVBI zzqPj~gQWbmFoyYn(zGntovuFn86ZCV30_F`+0Mv|3gbZ%T*Pbue$i)TVO1VPvA6!j z@|@UFUCOF^{0=xo2`vK+!pb5bfTBY7%a40|$-vsgX%!#$Uy*K-PGA2kKII$IWx>J* zQf-IeH#Z-E&UTwP2n63j>a&Fu3hdM!e(V9q+}YJQq80vJ*^@e!Ott|q)_1V>-q93{ zWZ>U&7Y@3U2km8n9B?-X%-??n<`s}|FxCP@yr8ga<@GaXWjqC!;eo*2hhXUe zcRP#|Kzc0mFHXpYaYAR&FPtFq7S7t%1HADaF0qmo@0CqI1fu6|w`djR$ny|@RJA~u zE3Dcmu7_%ug3E%<0W4|o1_gnDe^tglE&p_P2z_AO@)yb(u;pBZ5fhuQTS&A*hYZ-u zr7N4h0rOHL@dG`6&C5BBfZ^GOT{{4jnls~*u34ABo3CV9t3v=d$^&JkWs0{O_b@=q zFKI2DF)#5LX6`g-b-=UNt}(%t_YX{)1%;95UucfkYb*qPW;Lbe>nB{Zlt8>*4}k6V zl0#v0b92Lh9hWCP1Mm=jon2w)C%FOpoNSDFR|{T6F8hp*EkW4=0K=|;XLXV6hBXlT z1pI1Pa603_`#aWa*W0*wX&wZ%)$F?<8N6~jW$devfw~4}Xrx1&CG){c(5#PJ$_i2} zQ;NYlfF|pVsin!hI~Q(Jp`LbWGe6d}$bE8FL(~Vn@iGLc4}kMf__-f|<;p@B|NCme z76x5PfeJhUtTgV6x`ny?H|R}7+T+X_DrUR@AmzXE%pW#)zKPVrmi60vtnmgtfhVCE z8I@I4oUyYT>lHTv^bTwB!FV%YdpDsRTu_eZf| z9k>v6EBCw%+!SNvX{~I=YBSlcoV^QR*o|X9e>MWWfs~^i1X;5@dP!?RvvPikG3Ik? zpl9EuM)ea8CQ%)0fb-vgBCvga<#XhJGrvazuA~p(g~{Ko`vaC5aEC-8 zTK|M3D>7u`8TVVV*>rW5Ve0dK1>9feCwBL2B)PLPwl4m zZ$i1a5a8$W>McgU%jDh%J^o4J|LkRpOOzyOhL}{6ywmpapW;_M$c4#3uYw0OOLueN z6;Hxg<`Q|I@23d?&)?OxaD5lQ3=lO*6gxv*V!7){E>?M;-ob-%QSgLHS4uo*Wp;}d zfmHd&?LR@r3T#bU>+;`vU_wVOthEE$rl-z*hMH8MWCDsp`YezNe}<_{UXQcmD9|^J zg17@0DJt^vjIH;W2}FAP`%{Uk#%YV7t^(e*J;j3XRUJ5=#2bo96!JJgYt*>^#@7P# zN}510=4dwf&6S+zN4W9n2k-ZB_Q%@@oDr0#xg=>m`$jjfCmBuDqI_thB>vcrN_Y(@ru6tj9 z@Z6iJ5;M1bvQ!=X9TJfcUpecl) zAY(tetUcJ{VP7mgfpeze(OC;s5Q5}7>EuE}ht_hmgkJp-#nZ1*_4wgO<{ae{11;eF zcr`NZI8b)d+$7D+%y58hUIG-%Ysx1{ zdVtTP>X2JPf*2#Py|9|p9XIl~n3ci5cfd``*}v|o73oGS(Ad|{T7ln+nfnTQ2FRK5 zw0hwN7a^-u(6oz(p+4WQLtdaI&ok5Dhsus-HG|w4=6n^ym9FSJ6_mj@`hzNZJKWmA zVFQWuLnWDbffF%y}w~&HRy90DSm9=-5kmebyDZyRh^XAg7M1TBTn=_71T4lIJ zqB{NL2>c~1=dmR^*{hu2wcM1~wqGpum7n9Eb2hJv@j>N&j^IZGcz;Lsnh>DewP5Mu zu7$f=lJ0nM5pu6p#quLdbucT=t4F9~r61UxQ)JuzG6U>l--)G9%AQSG=CRW0>Ms7J zruJ3)bpuzwUFMUhOetPpO>$#}U2M9g+9rVV6;)-cT25q_e2-LoSV*p3{2W(zaS0JTBy6EHO7*@Kzrky*F;kbu@;pUEC)hp#}BgGl$GG0Oud zeIj$x12K-i^MbYMmiP3o@;ZR1`_b3W7vAi~R-bYoziwTqJrZn2!m8Z?=(F-nh=7E? zIh4S_V#eIh6+U~KjvMtF+L}}9Oda6OHWeC^PE&=JaWH#-=hX0W`%~_q*|>da<&%}@ zA!m6DS>VAE-_)=VjLhDI``BChJh!0~W|OG2A)$7Z`toDlkV)2pqK_A^TOD~ z_l3bO@XHY6cEzurET)w_mbFR*!Q_GJLA}8igVWbRR>Ao(nXr3)&^G8{z9joIDT<8x@^CjyRNfpJ&zGkq^x5C52=M}}WLLyoT1!VqH zK)p82-ruNR$9ghlZERDpja@rM5#ps16Cf@ugCT%%&4{=D3dTP9B$znI5E41VM zVdc3{kQ|Qo6tf}(QriZ~PiRv?OvMiX=_1$eTe7Q8C!do}9}b$Tz!H&n&T^ANkK&xZ z^fJaDOtJk!b`mc;$Pf?fb(thLE(HMU*kZRVTl-%vfC=Eck!SPIbFzq-Eqt>GC7{kR z7I2yh#|w`frEcf-*4COj0QZCY_A#%nTT1U*qW4_Viy$87jJ~By_<=v1(3M$M_?S|k++)MV0)5AI%>@sj`-h(zS{r&;ygW5$>fBo>+Ve1z}6)F@t@{WSt0SQD!?2Z5N{|% z6e3+;DR*@RG3=a`!KDi=!Qmj1B7wsu9t6K# zv-<4B9C5?eocGEu4KWugZ0-moQ@vbVG{~Hm6^Feqv%Ws_Ime}Cu5`qykly8OK*lNc zWJ#{7uTJY)m>dV2M1I2ik>l{$Ien9W8L{7&k7Lf>6@LIr*y>o)Ntv7DfOhoAYTAdf zd5QWqI#~zb-$2fp+M-J8^19M9&x-SDeDH_P-_H{f@6kQ1@CiqmbVdHDXCfAQvLZ! zRs<)nokYhis6_6E>iiLWi3(QP)O9VW6>ls}6ij%!VT*6{CnxGSZo;5iPrI7Wx$2Ck z1+_e5>&pl{fS`pj9zIpJ_@_R7Bs1bnsr6N|%DV@$7FZw?`oG%y?yx44weN@p6(PD7 zRD`(8q9`J|NDqM(1s7BlL==Untb$ZQS}2LAz^XuW1(7a-(gZ~5y{HIMrAa~yEeHfc zPblHLC!Rg$`|DiiE#G^->%HWkz1EpL&&)hCcm3VJ(J=H#abysqZ@69%YcI~a!Pp3R zO&&Y+mWxYwN$CP)P1f3F1gxAC^+^+Qw{WEk&dZSg%%_`JllEv7#r{bRKB~BL5xl~M zBo@86F1uq$VB&1PQ+v=t`&+p@imiQ7SWaVqAp+CPRkx?aqVebh(vd z)*Fu9u+9o^4Vj#a6%cz!4z6Dn(P9zp^=S8rg1rlVdfEAmxeJr=(Vh&Rg0v;G)|9Uw ziH%cP5Z%Ok%GP_hL?r;}&Xf90#wq*zsesVWUmdGqu`^R4MtJKJnnoxEPSteB*#-@> zyvkgr|0gQG;DCMG8`%YUU%R&`jWaCk(*J{N_O+?)&s@FKPE{(AMRDNJ~ZqtvKviy&m8C5-S4Vg^;vt(7=h7Gh^@{T?4?kx<6*)uC2r;02cY}}(w z-Trticb>Pv%9e4=9HM0WD$^YJdog!Fjob5JztGbDXRb}7bpI%?gq7K8tCF}g)1&rc zqZ=BOX59xd$1DKiwl?w1-f0iZYt=b>76eb^=h@K$rlnPsmACRpzosR#eo84!!n-%U z2mjWo*dgR%6siJgFE6%LHmSkd>|yHR!`Skah13WQ^>dYwX=kp83k1}KuwlN14dZsj zB-k6PmmD^xxMa9AnCmkUewwnsq>l9^UB1il?L6I*K>evcP$V*GK*~dgM5A#^Hh+B+ z+>fVRkeU@w_Yk(+5hHAw6B83tVAHmH`oS|DYM%6h&dKECTQwBwqL(art;J{ER5q!; z1IvEkk!YCJKsCLbxr01>?rV}{GdxB`|6;RDe!DJr^hAGw4Mi&Y27c4A0Dy0w(0G~Y z^wp1>b-|)_O!@(@w9(SoR7Fx_vRVj%xkgRzh&WFTHWXYceeOAPe!OdsQ#|ZdPz1`6 zhQU_6YtR0~b)K!|MX$s zSOHt{MOp-|-J}+WOX!R3=M?XG=niy0cN2Y*0Gh6>G4U~$ndj zHbDy~HNKRcuE0HCveTSwYT;O?6^7PvJ0KW{%d6lr1Cqxg{G;rZ4VT9!O^4`3^NJ$u z&4^VY8JFF{i?Sj_ZDg2~9SMDryGKlxBkY8w7+70%pcd=K3MR>B2PmhD#(n8Sa#@)@ zI`vN<>>dChzLdsPJ#kp$jrHs+ah0CnQ-emJ4N@t)j|gthtB{eCTN7<<85EUQh5*H5_{AnD$hQPfW+-TIW{X{h=M0K0%yY^5?T^)}rel-G zMw9!}1ox8Y<5q-$aeZW63E>cv#7|P7d(@sNO(XOHgFT)F}bUvmOW4++CId1r)-|E(_L` z(wH52z!>+feRH||CA)3qxB6v_FdG6u0}u8W>;q<}ZKGj}@$AsQw|xecx5UT`g}Rj5 z*H=Ha@SC*IjD!yzIuwK>xm|X97qbZPp+&|d;9h{XUl8y^^-%yA7-nyS;iF<3O(9v+ zxnCvJhkDqrwLC)I-)CGz*?s^D`yi~X>TDXfj z;HT9iCiBy$F=FZfgjVHO2SECY$_%&9lf+NdONEl?Yv2G>-(`Yv-M)MOt3Ec;q@bE@`?rzWF{pR^Z-WQdBMI= zj6em@@&*L3uQ`+4TyTl^oL#T=YO+o&8oNVzE5B6{wF=*}ZK{q`lk?mHs9qbiSYj1f z#nqI3P^AK!u!wyg=7i`tFt*2S%&YoaTZk_LqK;yAMnWYjlzTvV1lh9lHUQ-#iWgbI z5RS!szK-^V_z(1f+E7sm&p#YSRm>;Aoh^ql^kc;c);_o%c43!SYdaKb_>0-+q>zJ@ z-9?t&no34f5itOWy{uB52$k^8ZGLRbr*0>PukSJSmjl7i=dbHj%yg}Wz31pymnh*5 z)Dj#;Ll;zq%FHPD_ft?GG2G!o?*Nt@OdJtv9WhP`wAzv6p_pE?Q5&uB&L-cpvl`TKC(uO(64H{GFkfZYbA z8oj7>e}-Mh9O&z(Y|N42<55n|1ecL>oRMXkL;TGjGRM9{<&S+#9bhrym^cYk`{9)C zBNV-ws*%z1`33GS|DQpF!9UZigOnD>1KAv{;Ruh~oC2@;Sv34aLG)EkM@zi#kVYV8 zzwD2e+@Y#%+`h^f{!q-(P$XVE_75S=39W$MFylZ0&d@>hX{a1}m)RQhI{xl-#XNL} zI5?(W5;BYsY?(&`ln0xGG(D8bf1M6mVD-L_k4o|2Riddi5yrf|z4@cd7feWSsiY7&_VL5vVq)gra{Pv`_LHP+GqjT`IXg`q8NTBYjs5GiXe~0po1H>CV4mur?VDcB_+1ql~ z31|+Tf-i*8n1n#Hj}Goi(@(=MPh2RoSdTFfL}Hv13b41O8y(f?w9;a?^4)(ZYZFJ) z>=w0c&ryl?I_o+0@|Yb8&5%unW)_zz>ZcM_n}XO^vGL_y2{=9B0hDyFbHXY!AKhH51DLAY%J>) zVL@p|_ykmem4OmM5CY7t4f9iv<)HqNWihn5@g{^x*j%WnL`vw=J2)ayWLW;!TJzgn zEBi@{a{&zbwU|Bp)!O!T_`*gBXG?vEGF9q@kk=Dpp%xC+v2^=)xD1a#DdxOM4*T9* zB)I`pW#UmZ%-Sy>0>aD9MOZA~Vf&ip%l*nNHbd1NI&zzS8P3W_O|}zp$&+82ewY+R4l?ebA!dtLI&@Om(z%}#W zXAimvQajneBZr3e?8ni9-XiubE#_9WYX-=kzgs7ZiCcxXo8@Zwfq_M|^RHwE_kFHO zBC=`XRv}Sr`83?VNFLu=Pr6oHppL`4Nqdr^3={@XLQyf$B{im7@t84IW_f9U659+b z^`Y3CdqIZF1HfeKOI&+VdIVH8t8^68&k+TzF zrMjaU=W8JULea3y+AK3y7AqWiy^NEXn`VE4vkurdU{=qVXAG-6{F1oI-d5^y>aU?* zgJ@i}@oezq)6F$ED<=%1vR+1vb)KoM8-3MB6*)8U#Jt(F>d~IOYX5D(MIxp;EBzIM zjl)I;7{_>+^q~9hs^$W_*HEyK(x(#si3Fyx;T_t?;0b>K`+f=3<#9BnX0h*=YM%X3 zr?K=4M6BDcEihgdc(_tH`+#>2FmAU}&(PD)s^y(m`%J35?;>O!Z%pT&6|yHvB(-Q= zp6c4D{TvE+yYwR^B&-K*L?bi^l!;0vV{#qlI^-BIc>~Ipto<3ZMa$x`2iU6thb|vg zS-P&5OYWi{YzPoZcls*Gi18hL4XzRX(4kF)MqtiEge$Sl68qgI<{hJGR~=Zb{>1aC z8daz0U(ZhD2-uDwW2Rl|ak->$$7R^plTT#nWz6khA;3;^ilC*YVrPses>gcDjpKex zCg-%;&O79{Tk6-T&tGwS7UKc>=PAOp`qU|4;<|vLy8a+?;&oil4C(BNl{C)JH8)qG z$e&8Y#RTvoy1Q1bS~a0kEG8ylIk?}ohG!_T1HYZn1;ztZZ)?(%3%Aa7x0sw7D$o%& zv8B-*7dQOzcr&~YJ6q?ajIXZu+8@rIFSu5d$L6m3#-B`6ech4%Bf-r1`5vzq1;5)% zVb|ELpd-?$pcu6P)%oXh<9$hEDj0)#*q)YZ!_>2rBY*@<56nBLyyjGH2u%wqmvzCcBe&XMaG!!10v!SyMNBTXKD(HQvZhZ zfR-=0H;vtH#kd|X7^y0_y!e5g3&Q}1{MM8C8$>Dni|5y3PXtXq?SD~l$wLJPvpm#Q z9ST&DTiq)LPn!dZ9p_u8j!BG%FPu^R$e`+`QuePGdn{7V8&(akl3~ancAe++)|K@N z6~?>RrOiSKx`0*Yi*9*KdKeMTk`bY`#U>c*rr_+hsXFV~)>heol zhA}V(MPV66Du#LAEyYRd2eNlzvEm9nm``ABC6PU8Ht zflv$HmLdt59-^eVY}URRch@rNLTkuGgX2O(gZN9Ll05#6X3YYZI*>$p2!thwq^QiQ zVr?{!Kv>b>*_tLxdKBdA2H{5FSmD{ujHvLVXu|@xn#N(2Yjv`AyS@|LX=3pq&yjH8 z=d9D!orS0v&q?c+$ZhGIxUWvyUVN`hwb|I*Vj?(H|@FzNcj^SOBC~~9FZ{$I{P53iEsb>#%8=j@W&7K9{EHY^WTxW zg_tem|A{vnd_ww7^IiPXKt1Zf8COo}?YD|bKl!`4GCD7_nFoKts!z4Dp9&QB&l<+_ zdBjm)I&3!13E+o|&OTBhrdk>?W6XxPkJQoWuUIZ*AXVK0GAsh$8$n~%W**D$>c}ydF0&P z!X;x54HRX08wNgfbO$zSVXX9li<3-^?M2tX_5zQs+k&7X{iZ>A*52iAP$M{=+=#9K zelJKS;ypXSI70kL`aAZ#@O+=dQPy(h_B=GTjp)Q#K&ABV0~bRA!wo1OCEZa^#D}b3 zO}7FjVx<>pXQ(+1lP5epc-;4l@fF%-8w`Mh9#)z|?e|M&{OUWJc`08qZXqjJ#@Nqq z;|oA}T>FLWjD2qr}NeKc|BG4aG3o%lP%@ zLuQ?w$`k}?ml2(UpQ^Yp#eqcO4wnZmlDEuzw)OZnDV8J%pMRZ zwkusY%4k@jJ@i~?cVB5~DSP@GAK62u2gZ9#SYBQPHTbYzDGC(6{v_kI@J1}PSONdEBvg6+l@Q;> zZv7k6Tlr|mCftQV(@a6-5v$%1{LG*sqjW`Wlh)*xyJzy>F;fP64Wq_LfW5e|a>Qwe@RmMr$PASp=S%{yo*-MV#@eNN!$KIB=6f8(iB zA1pbgKzvhXr${UJm=2LQ&|*R4P0 z(pC-Mp83W6!wF!jyYB|6?_>#H_gQKAhrO{`YQU4?Hbt=C<7wS`7$;)k|6}lT>|P^0nX%ef%`}kVS0)`q<*2Oajhdf4jU2Kz!rFPmLj6ov^YxQn#+41oezQdn4_v6nvcm@R} zH(L>yuIAts?>#>`OR_d0*~1Dp1dl{nBR~%)5 zfH!=z0cLgxs31i>CgwTk1T3tqqU%3k_lqk@;R7{e@!WTB`D5mH$+s{BaPm)qA<2y4 zKinuec8KFvJ5=4{Bqt2$E`fcZ{(XV6ZakfgNK^C2!o*-8r%^zH{~^FjA2fgu!3hR7 z*!!GoC3jZG72GK8<*(sX!oggVaYS_qDRE3*Q>mfZju(@K9dbZniw+Z2vi=xy4_h~5 z68FIN*q=H6v|gL(aV=hO!!f8;)d!N>L!W^O_#Zu{S(;M#KQ&KJW&`%L3NS7FE=pbd zutZ~6Vi4_lO>Y2F96450B%D(|-p< z7GV0qj%&}IEJH_*zou7p#7r;eirX%9=Z`4@^ROjwO73(9%C%>Di|@s4oxJrr8a^y- z+qxAGy|#Fsz(=T7&%ng3V9kzs*1ff7^(ZW0tX# zi(d8$p0W*Q2&#lOU8d!Z!Y6+X#Y&g^`P-(q(zNW2w<};|fp|U2*S#j=9jhMZA*$H- zsTag>y3hVdsc3KbpkD*|MWklP8qV$<)xVC{C~Xt!68nPVe8ht^S>sx!wPuq8Q+(DZ z4d`DRLA;udjE@!Kb(wirf`Q{V*C_ccFpx`Mf&8c6-@Dj+CBW)Aw`v2Extc@I5ees+ zqoDa}n^5$)DDW?#F&5}f3aXu+nmsI5Y(vWg-m4#!4N>-lsP!!$l=o#Ei72zRSTH!A zux8f_6x)>E=0EC)tr&2!Y|%mKv| zWYO#UB{~P96jkf)ZtlOB^Z~jVqVUrt0gE1Q4UHd)$S^K2DV=g>fiPJx52`OBKHMEQ zBS-@)TYy`acVFaRD;(5w$!v6tquViG7<( zd-`eZYbYA|2lx%h)k%Xm;3uS|; z19(7{e5(LRwoq_e{aPD2jry59N+0k?6W?EXL|hYDTcxG$GXsxfh|X z%eMbsMYJ#x?qYg^mi*MxsVeica1Dxwn|YefdQ1QJ4~ST*%qbN9=i9_#@Hk{E#*TLV zfIHU>&;ZYjO~n#}A^^8SL3$sZEl<@Tx!{i3=>zJ-y~$Mvs$o_}wSC>NV!JhDh|48~ zY#=I)T<*hYQAcKk1F1hSKL__0fD^L%Pz!J*O#sAW4OVt46@?T%#W4@dP*0nVXF41H znCue)!!2;7&=#MHE$+s|t}wR3w`)bFa@3SQ2#UJbabQp-c8X!YqaZTh8QMP;#m{5% zmVL9+vpc^bmuqIG4C{d1)4dLbtS!D>in4R5QYbE?KF;WcXU^|RVl~c?Sj4+j$HDz6 zV>yU3geh@r6PQpt$JEcK5Rc=;FAWM)x{TLElibSz!zn_QoAPal{m_Se(>gq64=k5v z$4xbLf6YnL?5qfVBQS~;AVL(S>TKe6H)g&$aIa3C8YWQ|CfOt|V>B651gK@#`PR!Y z(G-9yl}oPcV10HloEYz|D7O&*Mpw$~ZM*|K&j4@lS+?RzH2{$y+T`JtG1AE12Be_E z;4no$eX9b1Wv^YS`}&u|)jB`)*2j2zHu!8TyR)u?nMEHJiMEGZvS7<{?s;i7dxrXL zuzZc3QTs*r)okbdPJC6p>EH8sbZ}k)KEswD8@+iq=mQGw8PhMNUT%5iQQo_*qnDrk zXoOB+Te0Ocr5(Foax}G=;TcIm^ZKg4=z473y7ePuTtu*koQf{kMMWkXb-~R~(dgwz z5qQkm*)t*Ltrz*@qtmocXpc)=AGFCl=K&B$$iwfE%j#Av`v0 zwwqXHE*v=w*bZ?5Tu;PzvBRUI!WBmVJjzlmn!n$=iErzjta7w`rz zJ7$Y+r&0<|P9%qVIpxIMY%)vfARYcawva{3RO2UOZfG%|9_)R2ac^*$h3K~%(R`hW z^kC~9KVIGXBxE9F`A=ez48Z5ErYbr4uIY^*K>E;P%eT;h@73OPtD-}yJ@qqYG?tm7 z>ZdLlEhzB=KiQ9_+!Yk3)v?4ranAszShW$9$|5gi5Hj*46kM8I^DWdOIm4N~ zBBl|Ro*G1b(#!ne{?;A%At?iL&m%uk-#RHwVlQks|8p$2?lKlcc-#;il=s->O@lb( z1D*nO>lZwG{aBF)?jvM`J$EfTCJwZ9-Tr5i63M%boq!U}C|Qp*_VA;&D=<{qOF;I6 z5#y))b}ZsC!X)hz_*;ZY#t3eAyXnb}nSPnNpBcIPh+i#AaAGnarOX`Ao*G&9P!$nZYXv^yUA^Fm zdCo=QOOK99ZR(eNz$S#b8M(nf4z$nSinPJ>X@d~5{IYxvb(FpRx>7hm+p$qUv<=EG zF3wLN94SJ4N>cG*$(zx3M8x`*3E2RStDZ1$+w?sB8gR>kWx>6@`pzAl$!alsA?)Ep zop0+3wi1Y#xKub1^*11hKQJ!S+q*vCAmu_XS(G?+@z*$7dRgwx0Uy5~x0{0<4-j&~ zTHw((XodZ5c|Y?`Fmj-e9f1fCH&{J*F1>q@blc@r%GpVwIyn*QkxlX-Zwl;KbHJCq z(;033mnsL&)MVS;@Xy$I;^O%#qVSnAi`BFSh+c-v6r(Yf1?z0;aCxGW_APvitbaKPwr(-ir>0Lo+v8KDce!&S?||eUfy>aPjt{-q|l5E&E657i;}a zw!L3<6uGc<0MvFn*CWVWu(KgUn8C4G#1vy-4f^ly7Y8uq8g`}a?Z?j0->(YDK#((I z*;p;Zw6QA)HpJNnscHygYCZ*XGLoko^?ENsbvleo--{5utDcD=9;`Y*P~erP!w`A~ zAx>S=m!X;}%w09Nq%a))bfx(dI-|u#zF3B-aK|P6SD9C4g^EOvnrX(eB++(_SqA>V zf%Ux5`PgM?|2cD98ZTWe? zX!&n&sd|@+-->r63~aMrnXUaaCn<>7X7{2=*4lvl1OP()!Im9~DAy%%g0m9IPy`qKxF0(x4VWxB(>bbVP4ki*{#s^u zL+pOIDsNuX3^4TzHwA7TIu83uoCz@}xwZ?Ht*^eax?R3jIg)Q!tIUc+0Xt2bvS0IH zrrsjXvs(@lyzcYozP{*v*~g6X*n@-Jupkdmm&528$uqYHvi)R8oh`W0pC5=2Wz!4J zP(r6Wyhe$4><|!ePVWUJLPZ9pw>efmv`A-^DUu@=RV`X$`c9%*Y(9B5iTgmSd7)3x)u7si3U1_j*skhCsf zab6A^-YJr%el@c$U7IYaqI%Y+twtkAd;~_! z$noRg$eHDIkI&U+(iWY7Egx8a(Ws`a@=FM6=PIdV34LO%&7;oN#rYknCZ8*5B?m`2+g`eVk5|e)`;b)WR`afM`rc_l@h7+}b74z=h?vfu zOozgZKbh5`A@QajT8nPiWS-N$9DF=naRJq|AlxdcBX61yBq;{4(-wF~_fmwk@#IWz z^8!orMbTTE@li)F(Tle6Z6g8wa|fHkhFhK>Jf6`5i%d$|7S@2>ex?uo6QJ?zr;I0< zetSvf4OSA$QVGjaln&fbPP>p_RFph2-P%y}f>b$okFlDBIk3>!rSBudBaFQfF|Nqfts>l2{ z9N7QS5q}>r=07A&zki(n|4!Y%wuf(&{4*{2zw^5;|L-;?{&z0Zf4j}~eVP89Qi5HX zZh*n8H2>|$uV*m-+&KRJq5hp8>ifs}*HqX4vpxLXH~hZ+|0|J(d4b%tN)7WUzPaRa{l!a|Brh_+0Fms zy#M#mep`)@`6FM9DW z$n)RI5C3;U;Eu`vkHh``Z^V8$^#9LBRzrRcVB^k@_Kwr@{C7vDuG@WA&n(U5*uJyt z-4gHY%-Fp4Gxn64+wKQDqaPH!-68V`>*jJjKHMwY4TGd>Mu%J?6< zZgJy&21_@t*ivA@K5F=t#>zkc8;&|)`U|E$pZu%R&qDpm?kupss=ha~ziJ=j(O(t7 zzZ3i`#D5j(|2tcFz4~7>|Hsw2{9WMw>jEL@Um5&ABZI$wJN9kgY}Mo4d0OTpi<{JE z4~ow7I;IUnZs2rj{4=_=!mMOz&v&C?G80a@y{uS*!-uS7@80u`i(Wa5dVjT9Roo;u zdL^1S^Vo0@|KW=fWgDG$TdH#V0r%9&Ld4Ck*j>}Z4ZY=So*P2kOBV2A6Pu`VwAc$76zRw{5e z`?7XaRUPa4QjOr?jLUPYlQZT!XA3*$*Q?^dZWqodVM@y%3j$e8kzA|K7_smDKWPMc z!qNrvcv6^8QBWBT6eqM2ia_H=H2x6;>x#E=jV$$_kM88yVM&>LliLXp1~ z_gOT^MC{~-RYq5QBwVr1E^2?LK98pr2ZbzNBKx0Pr*ZV?6U_3@M&7tWEaRf8^gW}Z z0&(wVrA+Ti?pgGWONV(oR_RTw0_hh|x_RnlGrKL9(2f)!V~(Pt`~GS|=3{B^>=Sm& z{&A$-Xp-;pPnX9sEq-@j^i>5LIq-YVai2svhu7ynxG^Z9+)~ni%ZSg8Ajp-!-?fAl z)tit9dr`wYG?nB&PKw5J<2jqV&USlcj?$3(W^W7}(A<}{BXN)*AXkjnYeq!8_jgNH z>8|*T-kL(DGlBW61%0#e9|hf2=)o@m9uFiO+Q#0IqLYpX1fIWfcV;^R(NfKwPq6oy zrk+e@Ec~?+J2Ftd7+$>Jcuwb&a0sF*O@lJ7x>fk3CUixuns6H8Q2s?Y{-tnQwE7 z5G*c9wasV~+6#FdPbp(5DNpIl&5(u6I#1|4)g|pq-o_4g6QX?Nb*Gf~yHS3MA!qsC zI@@B8#wcmpP6Vl}ch1#%1heuZE&tMv6|{)_8F{eR2CDCeFHsscpSq3)7v)>tE`Hj6 z(9qD3{q0~f{B?bSBVb#QD9t|xh=QM+>O ziHzpTy{OZcZ6jiD8QqSAgVN$TeUR~Uppj<#`@*B}!36xniPg=Wp3Rv%R$5Y?Ps|5} z(7Dz%PUlr%vxP03qq8=&;{>?t=Vou75pb^`s}w|%NK%X4v$^N4$aKEuNf*)Alj7Y`c)jAr+iTK9{#N z>SQ{m>fCaVA_Bd60uE9}9sH(@8sBC*?KNVv1+(=qBHB;^!)}VAr#y&a*SLFsxqEjl z*?ARYu^#NmesXd+8s+YZzchrL?y;aKy3Z7dI6DOf9utfd>ySma3T|*8atg@Jm#m(g#4f+@F?6Pu`dBBc`y3B68!E5lFWJ%yRza?b@CgolAoa^3 zA0N~4>FSz&`}B%T(zV7HoaCnx_P?0 ziraQ{_D49 zkE$Yob{qNZwJmD#@HxI}s@T2T%lU)lmnfAgDfBt;{4RK2ALLa1+{2PhE}E|(ob*W3 zU9(nVtkJniB38e!3pjKn+7^1m7XvyQGuPX;+jKG~EMk|9cUzqe`eH2cNcL1m);X?` zwaSLr6NQ7^r^?Nagi39E9V8zt{7%7-t4I7pLwq-18S2kZPo6a3y)!=pu3W`F$TSfA zQH|2ym+xfFc_*T`qzP_ZZgl+BZpTt(^lwLItfsRfC^DUM!0f^!C(ew9mrUq4`k)^u4iiY zt^<4tOw{PD-)x*NT_RKkHZ-v~`nb{u+d?~zgR9j(LAx1;oXa*?DMC><_w8dey;9{; z-K8RokW}w>>^XM0xD45OGZatJa}kyApRsu?{VrAl{rO^PAJ+3(!IfGc`lpCv1=p2t zILJVyTfr9Z9k6Iv^oW+w{cSR5v}(BJ;!wYuwQADhT~3ewyK9TO+t5+an`BUvZ=N9Q zw_F=$O1;ZrJT2n9dQ<-J;lmLwJ9m97$~W8;v$7k%SHxKN3|O}*U)3PFysOlMM~>9B zDmsETMbDfL>`y5uezZwKB7(99%5nyVa1ZNZgzrfq&vnk$?UGiw;a}`c)AHXO;tNLd zX7d%v&Rat}3c#sPyhDDt_Dm2W=3055Xs&H*zKvTa6Y@L4Z~Qb3U!aaR1nd3@WH`0c zpdm`L_h>h#9hv_^u(9PIr7g0eokRGzY4a@ z?R2BFH|S052O8lyzZ8lIjg8@%?8 zTuCR}RcWG|28Lf%&a+C>3sCbN1@xKl=_A7*u-L0t)$m^6G_Xc^I>_9Y(DaRi<3B6Y z(vvsvV5>g1!9cZUSbSh~s$_6I(H^p(0IPI~dTjWZp_LHr!x}<67tI7v&}@sq!jxsZ zBaCdjJX<+2JvUg_i#c}_47H4Wx;pBL<%}qY^TQ)dN24;1fiJS#jF1tO!%&tY(23I@ zccD&jaW2)Y;BolOlx336WlP(2WeEfAqg#WRo3hMzZBbfd;d|H!x=Lgnh{3-_pW&_G~=|p8dt=QaV z_(NwAK2-|yt*|@ash-V!`ZnBXXZGdJ?8O@AouTJl;SIXotnTzEY*~)jNmo6CtK`=8 z(Qk%NT=+1OL01*m%T@y-Szj=DehcDy<_n$T9yHZG1V8YEbxglV7LES{p9}W32kh;# zgWP=y)$^wvm5^G)7WW+5HtudS51(+&eey8b6SBAlRQdGwKEqe*n25sQLhA~4OF11p zzj$jHXp>Cn`HS#ghFUW{(@sBJF78EB4~EP>Ew4%2*s1!XBFhW8THX}ajrDD)LbUc5 zvoi%<9qd=(Q)!j~OLIR^;QU}Vx25s4ShBNh==ne4*{<{!bL92?NIJU;EeA4?1O&n< zGk5JY;SYQr*z_NTBCWR!PGMVY7zIaeI#3yj#o0L4Z6mVN#!hwT1xvc>CcSLf6khaU z8@L{)-x0lTp0(|4jxUu*)tPz1@r?mi(gG_fbyr9p)&6Ye8K;v$Y6n5;cf{q)DhV`a zAHEB$1fqEBt=Oq;)R%z?rW-sh=ew(cU4jv#vAUAzN$5?(7NDM`1}iPjPD3j*uYIW5 z6Au)v!i~0Pd$*+~ke%iJUZ%6ZC7{2jojj#rh7dvi;*gN zJ-Lh8Q>}%nYSlq=N7$@aYvnB?L0mDZ)ZUD|G%i=)@^N#Dn-wWY1s)Q@p422eBSO!^ zmaQ~eXHNYgqZw<}GF%;`4L?UT85XM? ze!Iuyzozh;4@!w%;7*C8kle1@X$TjQ;@!B+X#xsu0PH+n*>Nkiu8{4&-BGXJqL49q?9FkHy!J#VSV! zJ*^5Yzrt}5VLz@b%vJswQn2z&(zCEzDZ!2IV>*di>~EyEg$)+CcPF!Yfl$JMP#QgC z-R?z52Q^+vAz8do!W~1Ewc@IJEB4?Qz;*8e*L`&Io(A>jQi!cl&efSATXLFMrE~Ly zAH4v`WFst-A39!>`=X_U#F>hL4Vr3-d0OW4@-u4gidDMOs&2Em|A-i&_oipIcE6 zAhjAUSG@0Dd&{!vqlZ_ZZ_1(?LpcZ*_--I@3r(+WR2QP<-4nKw9h39<&kfpuM17{z zqsZ_aLOtz7sUFk@+6fEI^3(V4pIF~dc-xfCB@1^f)OOthO*9zcPgJgPPM+0R@ZKb$ zJoi?Zi3y-Lr(iqH8ndbz=bVTg&l&yZmqOaWUy3s&gQNdQ3K$fgEFBhK2Pk{+p(%=X zHN^4oI9>dpYqaFSWHETPG^5xs3g&Mk_4>5L z0VZDg!4ybmc{=zoxMJM(X1mSk<$wG}dC6zsDVX2VTAXttWu$0Quu6N$u9iOoms2lr zp7Q7#v)~BBu;Of&+(VHu%5%xmj(8=Zt_od~yWRc2ek-ptSohpKr*jsIxgQILRIhmc z(laBVXQSbh&8=2qu}98#E9l73ea^bW#XP)~7NV~!I(W%fsFGmlr4xsGw;_R_UEBn8 zGCydZ${IhxyjU^bCA6L=t!w_e7l?JlKTIjxbc{$k%IDNC!q&m)b#~Z542CTBz=7gE zsJ{Xqro>BmzKft}lD=(3z_K3~BKvB87D7#lWH&P>Pb% zL=8>NoyA1aM|zf+-?X0g3sjHm3aK9}e3E*79+FNFx6d%!9MRuK>H$SpZTQqDOuJZxp&&iAj= z-?Xa*14!5_)q18uZ`SXH1AYAEktIIISbq`64mH`FJvK9X5FX*guLvvM_bw9L?LKg~ z>$^Ap(FVf5fA541I;d{#t?!(8*x<}qLbU`D3t7N@pVJ?moFn1FA0#JBwVUGP z&$o@Ljz!c<2a%seT_1U>XetZ}aI1(qG-E%LA3iad=@4P}LMqd5fmMe2Ezu`S!p{A zQo3RHoZbVIky_RfYk|%$q%Yp1XhT^U!V&&C)MF-^p4qm|R_67w#C2efx?T^RfawkJ zVy3Y1mPh!1Hj>q*E$ssPp2*2ts!`b3xfr#Uumg_6$*?*2M;Jz-azsyTN}A+PdF>>9 zh;zUzp=!)LpQ^k}Ub|Kz9A1zC7Q7dD%@N;}qH14U_F}DJBx}dDq5hl8mGoWVZa99a zbq&Z4I-UZVo=D7<=1$DFxD8_}D=2Qo2M$K=HYNHS1l~_68*`XRLuqU86s```dh=Um z;1-awAL?H0X1kEVV1V&BgOSuK&d?-F3*5mWa0g}*Q!e-F<+M*aD&^_y`d~TWO;|2x zZPxc2z)|kPiOU3>+NH#FN1_NxN^d&Y!{r`3rdFH84Q>TF(A%*WBTn@(VU%M)azH=s zEziER^sMxvhX)~Yf$;o5Vdr>jrimr5uO1AbKjDOMLs5?Yb>NDv3hn4p^Pi7N(jL^g zGq9Dy5fEP`@|wF5oK|~Gs(tJ@r>!kw0p~P?$CuJ{>xW=p({i7 z1t~8g+-6jba1TLxBc^C726E5FY)fVsMFV<6fFr`qWZGm!adtvcS#m()hiip#bMqwe z*rVqg(_+zE(A{8C7&WTj4=OwFsMzDDA5~F%8fwS2(kfr55DuW4%;ch^2jbm}Y&dqJ ze;2i`h2|rDRrz6sk%K!5pOB>C8YeI@W#<^BTmz}&kHWtd`MX~Bn>+nDZ$Q4-@@oNZ zg6?Cm>^T5V)nXzx`8=``;-1g0WF4w*2IzGwIZKC(Su>0XI|IT_Y+! z;7v{Una#Dw)i8EI?Ex^f5Gbl(P<1O9zi+5t_kAT?h#%TAEUeqrd`tFAH#Y&uN{o07 zGN!@#!9g|e%*1MC^!6hmi{5#R_%B@r3)2JA2-k5h>9ff%x^wN3=tk&K%N-zzZul~C z5_`KW5xu?dpOES+dF^>*eenVJ+120JagHH!=z1^|cyK*yt-}*{?s?60OoyxXez8{m zh(>j_CcU*&Q&azeWQE_pLOImBMz# zb6PtZy{P9YcNGjchg!9)@*HFkp5w|e0&bePeFLZzjrV}b&)4LhGpMS!7fA} z>~E>-7xeD62}s-L`~#pz%E!OkDskvF6+Vny03(E|eFEMfs3rGY*!Kmw>m(8*Zb5za zs|~L_wVXE{Kv*ZC?VG$7i9Zzk@Zmj*BJ@TBR_}`mrc&Hw(w#m*KrPiK7jltqBhriNv(Yl{a<~U4*j=r-l1?^qlg2E6%farK7eEHx z44fkZ5p@3utXyFX$FBxtnmW{qUjv+UV%peLVsO2TlcwJwfa(~z;_JMFivUs)>`^)ypb*=K>N9ar1^@> zYK`KCcc)L6-wM{HeJItC>TsZTe?iI~nC+tPCg$22oJdSbNkNUK?f}Ty!g6mChN7bM}V;V`b>*jB!1-d;o!I#rZzp zJHnei6qOgY7D>%1JrgK|DkQ)(Ah&|Hmwd}GWw^$*te3zPQhr{v9&1i0xko`jzDEJ= zCG;k4Wxk|_EHUM?Xursy)9I{I(a;V$xIn0`GTw8k@LXt-${iMmFy`e{C_W_^guZuc<6X%oBo?d~!UAY3oV|eh!DGLiGy#`O( zLTywL>_x3Qk`LFrrB*p%l%1fB1pFCv!zw<4Zd!TOKXBcZD~SN94gtL$GGilTAq_Kl zjvb_67Ec9kymG}3?Nr6?fqoHsSe5Y%zcT=w58RwOp9^qqge+=1+6j7e005QHcbx7* z&sO^J`(5SB)64AfaTg9=L@#?Cd~{}E0J93ue`7*U+f170%u1HJY@@SRLs=)_jaGfL z$Jk0C!dytw$%H-lTu9#X5qv&E5tjXeweRF4*r6NTGZH5rgp4HtoCC2)k*QyVt&a$o zXcOh+SKaR}BGJ}hE2rVD*s5Ej4eEEpA`Q z{n>ct%}bXKdSQP{Fu2FM-W z_TlSSum0f(06mu3=TcjiKD-8K)Igy}4qBn45s}9NtR4M=(f&U#aAd*!m*M%b%L_?d z-k)*d^}Ab|`wxa(-2-L|1W)v05AHPJ&j2s$w1sgUKIvb7U4p-N0<1mm2Y2fN4-NI( zY5VyP7P$v-Hi|&54}n};$sowaDLNk3MS;NEyjbk|O_Q$r8}vp1Z*h+GqOCT{TU^5M zAq|W9c#JUnl_7je0Kfq>mr3I-HM1^#F2ydB0%{nb|0w`n0%-g=NUWPd(3V0x++O|s zpyN6s5`gmu!P#EdceoYdD{T$S+Xn(@#HdubxA4y+6x@^fbbqFNA-o9jgQt(U(%bIO zaDhl?U#U6^Pv;EaN+^?4>S5hfs*T!t1pO_exp}PwVgr1>=qMmgGjjv;5zwh#A8Yu~ zlx@}1nbRFkk$@i63BQ?X?TFO{-wRQxV7UnwOoVkxvZK31!&KYb4eSx`RY6xQZF9K? zf2-vIJmnEl(YsiXT-Bt3mJTTQus2wjI6Sc1MB#3aqVNYCgFENp-7dq;2>9S|$qq@H ztJ#ILk`M&m4;EJhvVik!J%e|4+!KL^ukfUJtR>XZqdUXoC+U0hA1*+L6nrOZT@7EsxDDd|J|^$a zb8I+^22RS@Q@FGHL6yl&#|7g+`BZhQcY(^lMTK@)3BQ-w>BgNdpN1P}bs$Y;e|@T~ z2Oc`XXT7ALpujD*Wo`ryTaW@y2**wY%9?^7=_#JwI9eO!B`yITsbiL^g$gGHk`(y8 z*>y(&I!7S}cm{4yEdmW+xE-gr0Y1!c<4oGK40~-w)P^>jfEAC691js_zwnx`6Y;ZH zzz-+{F4`S5o1%n=V2DA+Lcwb+HRsVbN}M?TFal|VKs$m7VgFM237FRGT?y1q#NC(M z|5LQ?fF7NIrM&egi>`oei}l_FYMw+Gb0Vrj@?mgP+S>{|Is4r!u^Ro&TNy+9RoS4I zLN8bYy}1D-^Ve_K#Q_PspjJ_bKzb+Zq9|lx1X4E0#>3ZF4O4|T2n2N*2wv9_JGFP9 zeIUJwb+A0eYOI(Y}R`K<`hN~L>fK=J}r z*f##KHNbsqc&-8m_ea_QnuE-0V&uwaJFV@Jh+vmISn2CyC%+Pn)N&!DY z7(~(}rb_VKb9DAv=uHfK+Yi6BrPa^21FWDPaU~I!V^y#y-DllDkI9aLS=VHcce8r* z6U#%258*e_Jstvu|BzfKtILih6P@luVHFyt{1^*2Hq&XOf`?+}zM&)Su zZ&Pslv;lMtzW_`~eGCK?KC}KJTcc*IIsv2*4lHsQ7FcqdYj({3RG&wA&MyKqk~`_fUE&8-dHN^`0Hla1C`qR6@EB2vRR;_JgIuv&5Vqo; zMkw><&}TC~kDXU{;sRR%H!X>AYmBgC_h*E44<44Hhb)$3MyC1#Mhw$Hs`^@bg-fm; zGs$S#B!T*DJ2wnsz~jNAb}F;+TMa@yUnetZRunN!p6-)iZ)5k{jaJ=o+RA+_7tLE1 zHQb&NW zHb~hXwfCfS!Cw-NM(& z@BxVOV2{U1ieje^D7FG5G-d~EC$VF_9?L)Fo2N2je|n5iKn2;6FAc~3psr7MBkIs^ z68corFoQPfTxaZ$+U~mISB4nJaVr^3FNBW!k)_4c3|GXi&AP<%?k3}FBO-YPO7k(c zMgF<*&SdqpzV7;+#V=QtTCexiGj+{9$pKNOzW9#cw}v90BZNV9r#4dQywXyszUHwI z-pP=;$Ms}Fx$oOQ8E2Y>DbTqx+QK=5kXr!?6dM_2-QM;)e)GKcDns;Px92jCf`G-$ zHI=&ORW2D;;p=#;*rIiCl}jTC^qtE-l>i^-RI*lx@z4$=P397n#E6z<);@mSjxlPp z(FsGM7y1C3E4Xh0OMWDl6xy-%p2q9;1t#WE9Kc3QOTTEDoM~pTzKh0=@%d-y%r)Ad z0HmD6piI6qF&#hMEasBRcs}h@<}gwsp*CwNlbx?#_%1=So9%35{~F-vTdAQ9$<+%z zPNpNEH6<=MHhI3AH!c{%ybGcn&g8hUES&YcaWsQja*RhNP|5f@8byy9>?Yg0xgZZWJH^U?*5^}Qb= z$bkTY*V{%Qn|T@6{=aQ85<>zP~*)UorT?Lf#T&8|TNK+%2I6DLR6rjd;yU8XitTbhUYVG4vF9F_Q>gyeXFh?F1wkgl*&lOhWFjxB4CQV zIklM@np+ZLPpG=}X`YUBvh3SCztER63lq&~D$ndkmwu|MXk|S1@dx~daLSRSDL|GG zTrtAGoA8eV-MH>G6Ha|zX|(-%2SDmq*2QAofEjzN*!Kq#K)*cS8UG#Rq08YjLe&5? zpxN4U{ePU&BJf#xboOb6Te7N#cao(C$=9Bs>wWC9&i+SbFIw05rsq}hY=!C|@!mmL zIs&9Mz;?eJ6NCirOg+*6tb$V8#v%oUG`i0jh8D_Zgy4hsiwKqs298aPcF`BQ!Un5W$7mZ>&NVZC&RKOTUrqoY2DVJ(ANy z#p?WsxeQNX38rxOpjD}=a8e3-v<-X=F0=PmZB-1falSiPH!&b?%eh{<)Qa_xY~833Fo<>JgBsW;jZTQv!YwZ%zrYSMS$DF5 zrS*0ZIIG<1f*`xc79pUub6{pl+3_3&iJXyHZD9n=A*R4@av@*RybWnnxJ34Ia44M( zt8k_avUa4Yic3f^0%*Y)8cg-TrkAY11QLS8=Pb$nn2);Xy)(K?ZrsJYS7aV(#{h+S z28>&ng%YkF$(K?o^E;HORqC)7HDlpC)GRvB=B>DUN zkEsQzw(J*Q7iogSLL6!zBP8o9fRRUGW-JV{psjCc3m)a(~s>#Coaz}{ybF0(bHJmNLY4Jn6cm2Oks1luHH&_u5=;Pu}2xj8qU&!YW4 z^=+R;6|Hvd^A8QH*Xu=s+rPYK%>v`cx3O@-`8NA8itS6-&k_I%>~vW%C=;a#%ZZI;N8)H!b)e0T(ctpCI(G%st5p(+f!@7<*@-M$J@u=?Aa(#Dxo(Oy3H}a*82U=Vspql)md8n${-|T>}4JSxyLsw(WJ{#@Y z`xy{0vFtzd#f?E3@Omo#$eYroJxg~ZCtSmcV;;JdL)?6M-|<#D3(K@3lgZeXB|Z|P#3Iq?(s7zywx16_Hv zZTxa0XT17_9fRC$a`#+_`(+xrJqBQ}a)2x&x5(0u4O4kLjvTH((;z0*uZge7Uziw8 z(U0&+AL73dn32v$AeA!1zDhd;Y6<-5O!k`uZ!tmX@spX0LpKS>@cHrHRQV6{cd>m9 z+$#pKtplMNbt)IeI-EZ4d0f|NslVdtj40PM$FUhn;JFUwJ9V>^bH{0q{Sn=R#Z!Is zI6GqSSXjk)RXUbR@{twXBa}_Hgwd-r3Ta`t)F}hIKg>TJ#qk=|<^7%kb89N0O*bhR zJzVd2`cv!IO;d4!OQTj+QEqv@Ig;SjxWGXl8VT&D8QMBg2PFRgf7R$q0r?A>qw85j~9|3 zyfe6&!@`K|i?n$c!?$X8KqhA1TZ_DMT6Q1fuC(kf;K1O09a<)n=~4S2&aSk)SBLSA zm*+~JENBH~#e3T@zqnwQ=ZkMCTMj#KF%ARw>}lPXzP0lHs!&4xibt(g)?0jc$!?iZ zUVF+d4r)~v3szg{_px%S`|(>=LxPqll?qvY<(puBP}5`cDowA~&jN@gI7wqqV1=GV zfit3XF|abg2V`oh;|lBZqdHMH_3__Ra7}$S4cCl}Z+D=96Vh-D;relg)73@TNPdzuS6mgf*wV-{>saX%@elF>O%z51^i1SXfyZJ$PL#32;3=t#6Yc3HblO>)$#nf0k%+;3 z*DvICLSB(eR&7*Vm`Wn_{Zzk(r*L8IbEmj<^D{HygEzYuEI9qEvdq9PufZ**DwkEE z2j?TwCBg_gt|aMAr3ukXB+PKGhCB>m6gGXppk#lIS(+rQ7x=epGa5Vb1?9aie+BCd zbgp^xVhc6&1&9N;?v?jK<8m~->Sq4R8$W(f;ZB6dxIL~yZ^N4|;LBeGx{YSDR&Rwm zhI{gX=uBT)OC1AU`P;tzV%~h9Hg$6Yx&g8I|iX?V<(o9PDptVkjtZt*;1Zah} z7MA)jH#!~`(bIi#C`6vO{HJ^3$MfY0&H3i>n$GT8*5#Mp-tPDYq_H1_?~RU!MD!{h z@bpoZ_de3h#FlzP*Q6=uDR2kp;2{*G{0oD*(Rc^ z{5-s?hG$<@YotvevpkY*F+66lirtxeUv*o(QbI$iMKsY<*cx`}0cCQH^eLznxc{@^ z1S8i$;->nD9g)s#vpx9Y+b~u1^<@CST;ZGm3##Ax{L+r}F(PZ-n3s>ovo74&>)|v# zx0kJJ)I93uO6gI1pv>-(KfjTyQwqn6+Wbz)kTh{1O@0#&bVuLK$SYO2l#W-mCQs)S zdr)V($ehX;Hz;?w-LV<$`U|y)8LsjSdcB2Uw_wZ(cs90jIRKD9KJsZd7YjwQ0KnV& zXipS!o#Q?cJ%wc8Em_Qc%~@RzXxezszA1LSZcOZ|U!!Cc2Y;_JTNP?p!C!K$sZLX4 zd=GO2o$(&8UVvZ0W6VmJRXSU$jKP>-7QdcOvxsLeZk={cTZyrcB>KtE%ch8D_C+8= zeix1r-{`SU@S;7jexcTAdn9xC>9nh;#Q+eGmnq3kQaEI)w?Ktwd&(!IQVDQq@D$`W zYUp`Qc$PcmQsF93px5Si@7@Iq?X(7tM_>Bn_DJuxP4L0I;O)!|?~M=+8vRh~qoVVD z*KgWaCkzSJknnMws&jaav@z70nPU{a9^MJXbiJoIRr`FzrFl9=$aFjb-pVq~_Kz@$v`yNezuB6|^D&EYmX$JG8?h#B}TM|j>EY1nR z1uSSjSlGkciJG?EDU{2A4`l^jN)?;dYRKT-jEyt8eO?;K#l%xlZ*KQ`Xs6|}v|$@8 zmoxigFDe$cX;t?Ev@1&)h$YVUZObOdKScD>q*NTF_)6(Foln6`J;yOmr7()Fuz2mb z#{2k{9`y(0((z=E1iYPodQ>MM_Yq3{3V`~R!6(mMu8saR=EJo{a&@|z7Yz$e9{<7o zpADzw?LZ1QtULET4ZfxlTbDGlmyOClTY0RID<<3u;v)Yf5KNsX=3rslMa_4M+gJUP z%L4~_5j|Ca5grAKFkHOJ67X<>uP4cQ>SY5v=%|eWP0m+xo|Vlp8rtBWd?!H9Cx(Q7 z)u9F@=upQCWx~Lp0XJ%5sM8z_wl=~gSR4IN%Zpi+brzP#f7Ha}1%M}jJR(#!c=~pc z65#IvRDI&;R9Ek>gAUa;*1!kNd@1gLNfUZe}KopFfuQ&)uK{1;f9F{6{PKrvmXQ1iXLtPBdG{ z2{(&_89qV-0Xf;Nq>hdN=|rz(M#MOmiPYVtf|A1G2l?D>6}+< zVNOqInb0~u^$s3)!$>ViLWPzGFs78{V4fI)X2R{=LAG-w#i7uwOz?LC{}AqRi? z4)Rub!|-A{w?Z2c z_rR`Q7*zH@%@78a2PV_5fD`O}(_@>lI4E$!Nf&0W3S-l+P|-uO_|2!JEF-!Lw*-D& zP#6cuT@oI`5T|f9@z@S{Cpi+eMsUd4u~;CI1)6NF@2Os)LN$K@y>_rI@sbe4v{wW( zD@+CZfWXy(N_P7 z%C31;ONPQ>paEV1$9Nw>3*g%^al^?GiA)K~Z!c&Tuec<40(Mx_NI?K?-^8op_0p-&AXsP39Fk8A*L zXme$8x{@xo7s{+J^X`fuU|f?lV}rKcuA4$T|1)GPrjIG^s3!8)^PrXa>U$u0N@9-ewtWh3vAf5dx3#`u=p+CA8*hOqB2+4tVIf?EvD+ z66Pq!z+4|asfjG+UXtJ2XS30h!({Qw;h3pWyQw?9t1T`AshPmB&=DTFU2A9w|D!#f z<*i7XAKFz;{dh|z0(A#^^8!E%FA^4WR@0*tp^v}o`2XA>@M^cwPk#oo@?4D&>Oh|f zc-iAk4V<_2mHGtyNhfx&%^{Z4nl&2X1Xb5qC+Ty^AJOQat-2r-jowlZ(YSs70?=Noa{sBX3PyIw zD!9&Iq)R)l7dW)TY5w6=f|O?gSV+Wp3a%d(n^aZqsiZ>RX&2vruVQ)cnL5{3>04iH zA$<~&3hw7II6Cg%@U5rB7aG6Ym2ttD!LM9@>s6&LbIm!32OJ4m(r+7 z2<3K12v~i~+D)=e*0DR0RWI*Y$!HCg;mMr+*oKiEf2i0Ls=3!*MgV=f?j!D8sKf)N|;F#)jn zd3Wy0GRyv4k)X0D?MBJzq$DFpg&XAOnFg$J<{wjw^|~`{5iPhy9V1};M}Qd2iw3mX zqV{tnijppu2$lxvhvymAT_fO~Dim|D()rjW13_+KduwYiosdh#(BPCu#kLq97|{Q6 z(tCqohhE7IQ(MAEv)nN)+y3q@Qv_AvgGg2y$ZOJ+?aQ7yHz!J0y-pQOJ1))haI;Pa ztu`^=y_+(Q8jS8bvn97!VVYFZH8$Far1*^Wdr8X%XZcqipE}z%PWzL}WYxkZ+S4Tg z>rK@3HBk!~fT@?$4LTGHXKtyHSF#OKxol?3L2GmzhR1q}he4B9O!ZDTbtE7F0TO^S z7f_(L$2=R7S-Aw>wWe1SeCy)wcA~B)^;lg!r}1Jo-(;p>&6_IF(b@&x0iz!cut{Cm ze0(ZDRNb8)AMms1dE@9U4qn(;~)ODu|NT>RN9jRpnvjT?svb8Q&_PDN7A z?WJrain~}%jr-0qC6kJ7RrgpOn>@vR`V>C!_7w4T^L6nhHPTkT)znF%DT;rZKbCMC zKQolhDjkhTI(GAD_2OUzSHc9@;8cHl15w81q>{XmK)Fo|_{wV9!0Ma#UvMYQb$Ua$ zfi`gs$zg@T3X>eTHgbP5+!3-XUl`yG1Sr-xKU=aq*vXq(kmGVKbJ*`LvH|%dw}Vvie0}uu&lN}B{m3Zzg4s(4{K(1YL0AX@ZyTjbi+qZK4KW!B0 z-~)>6>zsi)uLNunSt1UIXkKLukyTXu(0_I7kk-+jm*koR)# z1IZQr{=vneT@pwrD+k^P7LE-nA6zOYLvA{Sc+@rk(%m!wcyY0Dx!9>@`eqs3ytxw4 z+}$V$mTwt7rLJ<**>=&^y1^SE2|~XgER$efn{&)F$^^?-^oYaB0dJ}FZ@Hqdmf4BfLt@Fwb6))osVde2{wGy!R zgfTnpWY-kE-~=HvtRDtZl9w8L>1@-RoiR$*2mG5^l?u{1*lCS?rFK!=0q%*5S4Azl zK`xYRj!SQ^^c*N!XFuORfuHEO#PMh)W_P-QA6M|>#^{7>&Y4j{3#p$mD{Gh@z_9@+l4un3 z5zPy@HxxMj$q4jLrrF%A36}2VHj!*(Q?E@6uBEqj&6{M90P1E)1tM@ivskMyV5$&H z^WCE4^82aI5I>13D%%)`Nj8evzLl?|&n%yo-nwG4I;1r}YCnzbiNAl~9e|2v_4YW< zEvY;TiUqC0cK}n6VCF_T+?TwlWOeA`?044LnsK6LhZArBn3awL_06tSxNt^Od^6lm zamiaH%lm9R#$MbS9Je%=pH~Lwa!t3`595!A-uB%PP{AAiDA|Llgu2#;)Qx#|T)V2E zXL4R@*FV{dkr^+i{f8{nRR$!HnLz^|Z(BG7e@s+?&ou~A=&&0+P5@aaFID<#r5A{D z-1%<76BP&F^O09THK1ETZhmaB(|oz^B<1jc_cycJ#y8?iQ!Tg9H;!Ktwb%u$BjufA z^?nM_AiQ~(iJ_gJeHF9BWHu;ovTf}q1S(Nl;B}G1l&c&ajdPSB+6U>E#?R7XtY=j; zKiB6t9QJnKpNCO+FCv7pZn(wG6PA8RJ1DNK2R^F-;3la_JLl5nbo@t!n8)Iy!NYzN zO{`bxC3gF)*|zluunl#bmz|`%2VK)8Ip>E7R!~+gFt_*F&)xW(VN;>Ml6D=q+LGAE z#xa9msyJ53@>TD+5Q7)4C8Jz}ILti*dBslJK@LB384aC0>f=*Y*UsVlCtk>TAc@<0 zLeIN^U?>gD=^3+>!DofpJbSS9?U-{ib{F#4jl(==kpWI-14x6O=E>>q;srdP_7i}L zu;3K43}jc;#LN*b+a=bf5}*PuMq1uCPHr<^0bRzW20FPuJk}%zsi}o;>+&j!yCALN z@S>U@ByWA-ISYdu50gHH#9uPtFqH>fflCIwn2Z|6v%!*OygDYo`iY|9+V>g>g(+%0 zN-4AAFA%7Jjs|DhDKk{ig8Ccxh0yP6yPOXGMJXklcmaP=f(?Q-3*$U)09=Sqy#i*u zR@z|`(KK?{Lu*tJQ1OI0IJ1(QH-5NlgXYF(><nWEu0*0Bf9-p^34XSo+_(Isx9JTU3x zbvr%BGh=Qcx}Dml-ioKwKQ4Uz+Q3rS+(vi-?FZ-=i`Efy!3%Kq^Mbtml64ka=)-XX zA6spC<=42;>fYkji5GC!)R!pYkrM!QPt>Z@EWPc)jR?g5LM+6oT)^F8~or_aVe^$No-H5b=jq@av-PbMBX?ENZL2iyC7<*5)E#H8ohN3G1`4mr!r@PBx^?7gj`o zEzbH?fBZ0qA^6bcwqO&o zzQjzi=duPK@x!}lc>rJ|vuhO(a7W3byf1^d_{}l5lFLcYyn8RS46n&ORCmVCv8BZG zz$h2=Qv%8xxL;SESB$yrA^2x&^IYy`t`Qc{gB1!CuY7a>#*g|6{0QQ|cZvA*j+ z%n9-L1V5_+D4(mKtVx((CmsYERF$Wx8E)NcPEwG7?+XwBsP*2;vc%YqZ;bE=q_+E< z`Y`*)H$YO906#$ka~oYgDeR}@*~lRXqh5Ri>X^dt8dK;cki@A+R0Exm*! zE!AfXO0^DZT^kxC#&}L5;FA4f(c$`F3=2F!fKo!0x7lzGeg@i3Q0sB;su?T9%}zi1 z<@;SY4!xcXbIelUlWnqHY+e!;U*J*p>JA{FaEdhas0QA=i2rndQhjW~HbjIAi8fGu z2wx0^Zi9)r>u!PGA_{hl$4?m#itXT+F+l5C$g@OMyZHtFk%|=_{JX&%3P@i_=Tn|*kIK6j zu{*xx(kJldE#NK20Jb_*)^RYe0)dEh8H5vK@Dm(>$_7sq^}w^zd+1&km&aubM;8k> zme|v^oQ$9CWodz9^ufo_{Y!Lxr6I2)}{aFMYd16#d@Lw zBwqyHLV{WqKo$|g0ulf2mS`NP+JtOLAyski5j7@rSy~D3h1ITiQ0m9@BQ`});3;8o zjvoP0SLMPD$3V5zBLK16KA5y!*9b67K@SLez1IHYja`&@bqs1}+e?sWDB{C`yl%nr ziq-aWgIQ}NKyh8N*9kfSIMIPHgE=c5zIQ}1LGTGbpyIVr!l=W0x?jhqXlUJj=*=ov zK0*C&qituuY;md~Z<)7cQxk-wV$iSw|L>;nWC;u)>UQKw83zCu4JN|=V!O&GI~Hl9 zWX-FAeQm1#Lq->V0-zJfY%{2V;QlKa%!UIm{0M2mXJFB87y&LG3uBBC3KJz>1K~o3 zEI`Jg&^uZ|a~BXg*DV5%rJ|kc`x8x*QIf*dfcJ*X^kg(V8sLf@5t~W5vwBe+DH4+m z2*v8)$8Ml~fHNGd0PlrLQ3~=0A_1)m==Ezioir(BJ6S|bCgsbP?or|Ehk!8*<9h$A zy(@of^4iw%*cJyg4k#)RXswDMlL*L^Ac(d&BZbOXLy zKsJ7N44n)!uh8uOM7kPxu<6mpA0#9|hXB~gB+SAz!9y`dJwlM0f?NwUB{PL+h{Tgh z31eV*Xqw@|4aDfqT&zd-rKJ+W=CrDCG|fR1v@ab(aScvz5~YukaSfLVL$RMw(K^pq z(9LVf{I1P}n8#e0EdE6<)HMU`TnrK#xO;JfT&g;TBwW}p&H+CJB6Q67#%b74_{+`@ zZ_z*ZZX_hQ0TJU758sHE3Axgiw}D`hRqrW{1=tMh{v!;^cyUHG065iHiFXmfk|BRk z=UgWl0lVM<5mLZ7^#Qc=VS{*1W=&5IwCD4HgPakEwxT4Ie^OHRI=Tj^-}eUWsMf^9 zkFmsP1vn?T5gJGx zFvLFRh~C|2M2DeY?3-jH!C)bGIXbe?4GbO_q9~g`M+2X`=bElZ$q4oR{=Sy0z7)jw z8&LVh3atEs%X#W}5)Q(PD3eJAA`UtyGwz}Bhc-b#CyC!*PzQ-=Khe(@#%-4vDPc7b z^7P=T6m;$y!hr}Z5hEoC+HqmD0*HvPqaQ*Ja`$pySBAv3`h2?u@N2UdWydYi+TzW^CgKAB$^Q4ggU z1jOMzp2&%PBv`Y5wsSXBTNHxaRT=yOl72YcMP2f_S2+x#_rzljggvpGSL4j%5W)Cy z2iyc}2$uwRqvV5jIh6SBqznOH7@dt_k$!YL!gSrLi5+v4@CnuRdqO|xxI)q+=){O_kLZ}LW?>Pq~^!+}df zivqqfR*3?aerbH9Q+xkG<>^sz0)<=WlTx03cSn{QUt?(u_{s5nFJ(SyK$Xv5eM`vc zNhrJc_)dMo6W+qx@mwg*3D1?U)N!sznR#3$2lo|}cv|FVrM z_SnfSU^ZDCc5521O)vAc(ya(A__dIh-S?~91>fT;Mf(o|y+YhOP!>D|3^1tiGKDuR zGEP)#E}K8BMIt}F%Xc5794|GecakeQM?(TKJ~z~?divkT1NU`J2LRkD=mW9LT7xuFqYg5a5Cv+H28}{co0)6p*Fmu05&pm z>Z>p*Fxs$%RP!U#NsS3*?*6)5_SdOd%?*QYhET8eyB1p-={Dx+3eh z;vN{m;?6Z9Z+(pClfu~9mqU-WwyIg_A0Or4U)&gDiJ{u?qqSCci8Q!ftdvg^aT#i` zd&bKR`AUJ)U1o&B9Q;2z@V}L07|3p_ztuzCIG#gyw z>_Tl?#z*eJ6}(;N>F&s}5j)SziG%x7Lle~;>fnlzB?Jfv^gt1k=5byR!g%OG$zJuA z!fv}!$4r}MLP&u1g|sCon-4lpvj%Xu6x*ssq2k8XV2%QrC^bvruzz(_mc4h+jE_CJ z;8(R$w|^=7LclxygjN{^5H-MALO@Ab&Qf2>6{Wf&#-`$A-#;Z1?I-SYde+FNJPu!w z{j_T8J((KNl&T+7JpT}dJ1@{LWMD{AoYu<;l>WYX3TW94aZlA%t8zN4;xap5Z;B_nV8&kXNSMj%)~6t9&0>8{I}H=G)X#anQUW)W-OV z%0OHO?yRsE(*qV-+_LAY48M}uj$b=H=4{lMBR&DIQo*MiK->d9RH3d!}xB5|@GOafM@jv1m zwRLs*MK7CXE*L`>obzlUk$7q|Q-7D<-ids~$`Wk5dS?C&MA4fFUIG=!PTx_pEm}h? z#a+LH>W}kln&YkXlsH=3JrsLaIlt6qTCLoUQo^Wp{<%8g4+iQHB!i9K3WSwHonKZs|`Z#-OaR9SAL1| zflx|(MCWMPHh{bpDUnOCOz^!&vdo`r8?^(+?^zLkd~DI<9Jx2aY#X8@8F1K1D1!~+ zhh8lHCY-q(%tTPt^Oen%H&vprmkG1tAs^#{xoN z_WH@YnSDED2G8`H(o4r*GUm0^pK3rYcE6%iqlenp& zXj^FwEBEDr`gO@x*%m^SjjY}hM0M_fEsqtNBk2af<6LjldN&yV%;-q=5PwdUkY9z@ zlIp2rgv_oEuh+yqkcS(BO+RY;q_4w(a$ND)KxTOThU6(gRiX}ViB4tck0Cye<|^DL zF6z$=_&o+*Hb7IHXp!B}F;kmW z@lvA#-b_Kd2!HM{O@?qr@u5uBvDYRh&MZ*CYHEe?8LM>2$-|-5Ump-rAh67#s2aRF zZi^>A{SGN$g+PIt!rRtI$~?!Yq1_?moeqjuJxnK?NzCPtY3`VrNWvs6kn{M$eslR* zCy=3=&C(M%hJROjfoDtrEOlg)i8s2CRTIp3`Jg&+2!{8qy}=nB8It?^5_6(&Lk{D+ zBrUg4kcnus2cQE}umIRNELI=*d^$z!a7%0SoAK604e3yA5cBHXc@}pmC|#lCJwmFW zT7$)x3v051H_>x#s1t>m42!zs?L15^GAu9~jDnV3~YwARw_oMy}YafXu?0b!{mjJYU;iI9Pbkjty@ zbl)S09kf?axep9uMT2K-l0RKe*Jlr<5Bfmjk6Q`tGV(xY>!^cn_CTUf5=2YlstF-V z|86pfmRqK!8un=GyG}p)hS7cDH?~%VOKh593EZlXn-qmaYJlm8;|$TaCX5_6@siOw zUb9231Nv@TXd0d zmlAwOAdJBYc({e&q8Pb3=@5&j9rW;g@=x{ItASIJ=vC3VnK*@eU<_fJOJ>yMUTw2} zccPP(%?%1l-SZ;m$J(M3cx31a$ZKJYVvCHvq?W`NJ(87qJ{4@s?;)eQ91k7kIeFGW z2#aKWA|Qjx)~4b0w9VYaJ|?<}nWOnf+-%DNb~;Sti$uoM>1q;`*MmloBb?aEOE=fr5!fZP#}N8(v?=6SqKLq>jSjW$1a|qUTj!jRH+C z{wvec6Vcs}VO<3(Ni@DyHa4O!Ey_GbHDI$+tILVjQYfDTf z4jH}Kb{87QM5Y0Rl-!XpNC}&IAa;}H+-Hw*koH=EtiHD;IVTeA(u4ERTy(c_3jkq} z2c>5kk)t#Xy#Zil^d_4qC4X9x=`?g+Ih@lUmljIYMt#`_jVAonsIyQLk=JO+>p0P; zAwU7CvHAQFovWBC+FmeJ6&={yz=pBc`YET&80zoBZdp?gxTI-%3KfhUf&Y7m_dH_0z>)P38^#wQxrlRO_~y=3eVU&lgZMY=nrqyDv$uzqaCyW zZKOLE0bv{4yn-u-$ZHOGOAzVm8|2V;fD#pL2%+I;-> zwbR&xPiSf^RA+<1mEMi!j$C4~3K?=`>8|TnPXl=xy}9q$#|&&Nm|C1HVkDjN_fP|N zTQ){ZK}|+J@cwE-3AS`e%kOhv%ZcuWFanQW8j=i{4wyP@Z0mDC-$Wd_a~|Hl1&UDA zn+@V+R1Ui0k;PzQa4odFG@!pRUdJ--i^dz(K#)!RDKod_uU`848~tD?C$%{ZmQoNI zqsiR?tA`1Vs0f?yu@5*O>2f(}b3$^}st5_`nZNYnPWf{hPUyKkk@JY~85Ar>(;!4w z1-2j2%Dp`h_buD8QKzH9@_UrW0}CM`7B$k|+k|E+|Kcm)$hk4B4zBFgnVMHcmdfz# zBp~T5ptRszZg=v-p+T2+YW5FUW(!uNJ>S^@TM_IHW9<%OXG=%2vCR!|m0QuG=^|(s zEgIHDHGU9glF)W?IV>2zKUd;K+DbA1MZ`*^tfz!&@7)1sn#m?v4uOe%M36SLI16wu ziw}y1P_2Sfx!Cd09Ff(4Uc|QCQ&Hq+jQ(}_w!v2H2*s?>fA|Vw*Wn?|H-!=wB)c`Q z0jT*4q>G64LZ^69;Aie~u<`nyOIU_iOV3mzvKCPYCnvxtE*XjVYV|bbv&8A5`-EtXA?F6Dmp*{iI}yfPu`X02(IZf5?TD@ z7Fb(b)DvJKYJUwm-L@Ev~lr_lkp{PlJwNA9CRe zj{>ekT;Q_Q#{|fxfX3u#ZHg8N-MJCSE!XvV`=W*V4-NvMNsyWQi{0K~6;!QqQ`8EZUPhjnQ|9W*AaLenG3q`{oN1$x1)b z$PMHrd^zBLI$3j5yXaBOw8u%Zl0H=6 zlx8~B6)YcFy(!uayUs!23Pm}b7ls}MZ^9?ePUTNrLP90L4SI1|vU0quR6ZQ3U}25A zUv7g@6Q+iDfkIWX26es@T(8qxWMw76kNa{5)V}usdfY^pUSB99bQCey@w=r!{ta}> zv~d|v(WCkjSg~>MPQxiD+E#sFwi1ClX_A#fh#LP_Bep5<+OkV4fbgo7tc5OJ$H>#V zh&yNt>xr(eY+3pA1d!v&YY5FpkQ__0lGmn)%cw;UajiW8zmM@=nojxryHlFDuXOn6 z$IQ@;@^D!L8)OTpOZ{;*TW{K2SeK)Hr_i^s^}uX1h7Ii*XMzLq@%eL5gOL2=g0?A9 zCcb0Owj}$x7dT*|UpFGV3Q;*kJ~Y9+0ULi#+Oj?TmfCdNjH>$G8cGRf%uiJ|AQ4sW zfe0)AZkYKnp6`B<5?|FkG;=k@>2&$rSU(T=^YEVS#nu*$QC;PcZ@71(ubkod8khwbg<{comU zZYymUSyjhT6LSe#+YLUjWzgmoz5U1a8Fc>~w1aGLe9R~~rBiSBL9Z-~+a6{zB}4M` zVFrwvLqz?hX?1!3*XE(dgI7jxo6lvvORh^XOsa0q8pZNYKlsVcUI&mW z)Ah|QjDva#`Kdk`uLvmTXwAAU^r3ePba5Fy@J7bS5d#OjuEku{s>eBg$P&EVYoExh z%RrZFe5k_H1W9J(sXG!l%8XG`mU8bA6Tf`#v*<7;_zH-Kh79sb514Qota<1skr=gB zG)(B=FZt@T5QG>a0jH=2PF2n2%a2(6bzw~?LNE>qc#)&c^ndfvhiDT^`!Q(PF&x00 zNC`p-3sj!g5pP0&0J5y{9L*8EGAW}<>g_gjVosk^Fc?`g+y$5s4N5h*;7%^{FR`dS zDfjK5+p!_(c9*)b-nghJLiaTYnP~=rN`OQC5CVe9_ms0pC*_#SNO~f6U_K*W2o+V7 zZ$5cQtJ=N-&XcBrXiX0~{Xv7sm5Owc?3|kSP0=TkWWK2htk;F|kQl?@$=(wrc^N{8 zAgfxQss{-@1u?quS{1EMGW`!y=2FRB3rEkS(c$w5X(LcP_4YP77{xkdi9Z6sAtu8{ zM;}5kOTwCVmpDX$Gr%>3(p%3ROWq<$(*gAsq%zmq9+;y?d7!TMRReK~VpEsy3i|1X z>2gPfe6Ab;lK-5wJgB)3NBTiX?giL6AtineNy#3jd&q|Z1Nf)Mubps*U=Y#%Kmlk{ zG|MGPA|RFor0Y*<(?&&0G#Kvf zx4_Ve2J0H`BI=-3=4l8yG7)yN-`$33<=+1j5Ml#A6jW;D&5y?A3Q=~*X>H7@$*3qu z9U*0WV9?+M%M)B{;s&omg2=hs=+v1sH;S;<2&f@#EpGEq$5U-H+Sac8BAjhV&mU}G zIy!nq`I@^-OfXAJSIKxlkVWmKbN#R2P)FgWPUA%)-yTB7_>0h7Rehd%1CND@A z(YQfw9-?cInF4OJQ9b9vL#R1ZV_du$T%m%_sP-^rZ-i?DVUp+guLYk@we5YEF0Dde zEyzIVwP7}c>^fwbmn~xel!!ykqT69X@n-3~;Ai)ju5azzdDFRXsl@8Y`mb<%kh8)^ zr-b~}%czH;T8<%sB1NxpStHG^;9-^lz^*K(lNHuQ7rcqVlkOr}7!wL09PPgs_m7$} zfxjN`c?X#hKh`B2a!T8T6o(#lf{KXV#7%^ULVeoA2+a`pU?cb$it%FUCxIzx59IPF zUS|Vz9LMWrt%2lwXgY6$GHa;?sp#zI0gOUM(}iEarK)%rPTbH*Bb9HKdk(65oZLwz zb55Ly9t4528X#G$Bcw$Op3v-)0LPf7Opo=BfQZP0jj+OsS%&;4)2$udEDOgh>+idi`Kk`dmw1 z&4s7e<~JKZFiZcH8##t3cs7x4Q*{8Vyo--g+m=}6Tp_Q`w5 zWZi`c7cH9dN_Y0PmC~vob+`e_#{k?P`Oy3$eQSa8Ez<3&!4CO(O-N~e4TrMGt1jWm zbmy=VT9B&HdSdmq!K0&8wVoUD41g4p-#WyA`FhTPzFFhN^8x> zprr(e-oS~xHa6kbm=_@LTf2|%oUh+F^BkIvL807r>0L!?akAba0kUo_G3&ivqXZS=bC8(^&#Lt0`k+Hqqe3>$pK>zOId#-TE$YhhhC{0w+>^y7pMS z-d1g#stgoZUQfDOxyXzOQ7mifuBillLH+F5+c_u(?uClh@6i=9R}V?HIM^5Wex#@U z)_>G$>`q$3+_Mz3l+yJ0YPv47vn(}!xa&lnGTtK6KdagAeL{qmpnZe^B+D|t!QjBk z=pDlM#r}N&UU<44N2Eetl+4D?!aWspk6OocxRR2?C0FP3VHMDQ>~h(9T+dHq)$p$1 zg;KN7-V57E02|A5Y+hgWqfo!1pKG}_>@Yuvr_1@!7v^#X)5`*^baUHm>M~bbj>%Lj zO$$#pm-X9f(Y&j-j7J~~?eOyN!;|K|&jqgMTvN?Y82cM4()t1`tko%5WGK0r?n`B)}akGb=sN6^QHax9d13lzvKqI@q7#thCL`b40) z5XKJw{ZI?r8vawz`r})Z|9=hs{TaLe+#~-3Z}s2w2+_hoo5m7Ii(gh>aLrR++j)EI zH+z@g*$fG19FAT0#RB{eKvorpE6~K&{a$jzH|U>(*D!N%afWOx4ripFhFJ;c@BY&* zi}QqAw28&7^WS((5H|ho&b5(ei)Z-aeYJQuFS;;`?%LnoHT}~w{c!2;cOv2!&41DS z7X#SEV0{tOSj2Dsz^eX^;UIf49{kh(_YWEZz%8-n$Nl>(7QKW2PVc~0-|sM>(@Xcg zs^BEDql>Od{`LXE&2RQ&kaX614A6Oc6vLpO>3#8Q`xpO+!!1q%n92XuBwR51dl}f0 h#f^mfyPhVq20FdATIKSNuzzqrnjYPsWBkiM{|DxFv!eh2 literal 0 HcmV?d00001 diff --git a/docs/hugo/public/favicon/apple-touch-startup-image-1284x2778.png b/docs/hugo/public/favicon/apple-touch-startup-image-1284x2778.png new file mode 100644 index 0000000000000000000000000000000000000000..dba32d713ea9604008d8de8bfc044a094b19f53b GIT binary patch literal 45102 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 rMYwk1h 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

_ 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 literal 0 HcmV?d00001 diff --git a/docs/hugo/public/favicon/apple-touch-startup-image-1290x2796.png b/docs/hugo/public/favicon/apple-touch-startup-image-1290x2796.png new file mode 100644 index 0000000000000000000000000000000000000000..637d5fbdaeb6cfc95e71fddc74facb7ce41543d5 GIT binary patch literal 43323 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 SS06$l>z^7r>hIMq-}w(6Q3LG& literal 0 HcmV?d00001 diff --git a/docs/hugo/public/favicon/apple-touch-startup-image-1334x750.png b/docs/hugo/public/favicon/apple-touch-startup-image-1334x750.png new file mode 100644 index 0000000000000000000000000000000000000000..eca90505124adc3f7216e30a00f54ccf0662a880 GIT binary patch literal 23706 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 TAN}l;KqZZ*tDnm{r-UW|{zyD~ literal 0 HcmV?d00001 diff --git a/docs/hugo/public/favicon/apple-touch-startup-image-1488x2266.png b/docs/hugo/public/favicon/apple-touch-startup-image-1488x2266.png new file mode 100644 index 0000000000000000000000000000000000000000..66a765cd3d65f5be57141165c3090dee049d2f6e GIT binary patch literal 52703 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

)r)n)K|GKtwgpL4r9iBsL)L7Zn7zF?O?P*) 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 literal 0 HcmV?d00001 diff --git a/docs/hugo/public/favicon/apple-touch-startup-image-1640x2160.png b/docs/hugo/public/favicon/apple-touch-startup-image-1640x2160.png new file mode 100644 index 0000000000000000000000000000000000000000..842088f9bff096b9d06a6f9f7bed641346788d98 GIT binary patch literal 59659 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 Lz>f4^9D@D}N4%58 literal 0 HcmV?d00001 diff --git a/docs/hugo/public/favicon/apple-touch-startup-image-1668x2224.png b/docs/hugo/public/favicon/apple-touch-startup-image-1668x2224.png new file mode 100644 index 0000000000000000000000000000000000000000..7f941227e8efa0de5f89774f15ea62c3c9813b9b GIT binary patch literal 60962 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 J#xCd3{{tufBwhdj literal 0 HcmV?d00001 diff --git a/docs/hugo/public/favicon/apple-touch-startup-image-1668x2388.png b/docs/hugo/public/favicon/apple-touch-startup-image-1668x2388.png new file mode 100644 index 0000000000000000000000000000000000000000..f94a0b99b59400af878937dd5296580f25e2c74b GIT binary patch literal 61120 zcmeEuc{G)4|MzVOW!NfFhKf4F8J!i)Y;)y*Z2{@`D*?*#e-Vki60MvxQ#@aP{sf_m_eiTvY6 zpdS3=A^(XYP!Ik`0_6RFf-uVK{~v-dF76-0`X4i_|JPV}@E^R5%KHDc9RA6Y{z(9# zBL0&k|C9eiJ^05T{ZsyddhmZ+BKrrp|Nm2A{67PC!c^~abkuN(=BD4Y(8cRo5B;}2 zIMwQSUqp*<_!^hsb=rZT-TM!=-v7>7`v;jaN%_<3<-S`X<};eq%^Y>##}Yah8~WC~ zmhvn$%R5w#NSqQ*n7o_49J@wh5{rsG@r%R%`~<4x|8V1fcjI|Z@2r)Aje_+Vu&n@XjYyVFSJ z4!t4ktvZQ6J59=;T6$2U*2li4&(TCztt^V^)r8J?&bc^c_mL}#n+le$!;4!ALorvZ zwz}MXo!hck!g@wWgO}A`_$?3Yx7reF(U`yPyV%}2Uq*>Yw< zUf(kWb!l^a(zChJ08`(2oRnr+x{C4FFJ1ckj@%_3aZNGnGN~`R^Y-Vbo-C`A-x>l7 z%AJy)vmcq&R76TUpYGS0?=F~}Z-~m8%WEOY8Gm12UF}+V_9*?Q<+@*V2xFLW$aAD1 zZ?4>Pc{DwNpiwzn+fbh7Zm;1o=E!K_M8x*^0|Oj8ymo40<<uLkTekLu zapxRCiD!bt?TMtE5xplJ^8ru27%c++cQZOCJX;bfRyLM3n_JX22EX5qZD8MU^|ht-u~&M-Mg6`q%geNec3b)NQBEYh`!uKvL>d<)%!NfPuGa>bZua%UOLozXP#=F!v8M2;> z6D{*qRo56TqKH^QIJkghsMpyNzc&iTAz%6pnoRfx8j5T}?P&ZC*&}|!Z-*<$4dTdV z+vm?Vn}d%M-nVIn-u+qQ6ipP6zbMW4l)6$YH1bm-(L>sAsY}4qQD2J{d2MhJ$VDW3 z_IdNftHt&2InAWa?D)IG%bE0v5J$(Oe6#3`zHEnK!Jn5Zasqz0yHFnxP`&!%}w zb$)I*7YaFKi^PPyo_`Gr&MM9NsR^1&W@k1}|lXKh*Zb8f}b@_Rc-NZ(D=YZi%BRGTkebTfi2uSCyoml{WNjZ?sryyJc=gK?Z|9p+ z%Wp0GY3xZtJ{yaqa+mSlE73#oY==wFNhdtpDqg5B_bw_5LHzkH02T%*UCJ88@N~{i zh0bnc9~~LtZim{4%`V|*PZBA#?|CX9wP+Yen`B{P;HY{=cAJX{P}evMJ+8? ziySapGl;*D*A8(c=_X0dxG_)RqX6H>isRp$%lS7&m|Y&mtGW++I@361B=64-4C>4U zu&|RWwSn(_4s6M$w1T`y*eYb4xOctS{i-}|pIfMK)i@Uy*H0Z$pTj6;4r#re70_+a z)7&_L-Mg1-OPa~wNClpEn=R`Q@L(62i?Lx_awX}1EZK8i;?qX@q0?y3T%LRVz=SBU zldmzTF>SQdVr}ia;;xN&W+X$7?*vlinUx;duVK_^vUunoPrWSO$&+l7^3>i{#9$sX3|nx^`-FwRJkeZr z@o2@3+L#^q&bSocVnqDuF zID9A~ce~8qvGZ+d&0n%i{IHuMEWnPS{^k`9-B9oU(7Na-S7(0puxHD=wi7r{5p}Pl zG8XHO9?3Z6qh^e2fG-?dIZXcFoZ!u_RP0#*T9)u5iz}r>P@+k&-?#$lSH{WuEKt)u zYi_oY&#^YRo4zS3l38D4Lkx7F`?3B>u~BbXHs+NobhMKfRUgjhrL3Gfb*f^|pN;Bs zbgPx0^%2y5RU};H9*`U3O4gJ1`F5WR+gh=mOPA)O>ujn0>QyD(h4wlLPEBv=AN*&I z4aEr6kxIsBSmbnYI$+)fyL{u8Co_*_IL1z>N3H+pv(4!k8bt=qw@)svciZ{32!zG* zTI`~j*ILTmp6Yp&zyv}@3_R^3yUyfFSkpF1wlQ0Ge9q7PIpHiSRTN5n`L*g4`gQ-A zLXX*JYHDi28W;q3_;ZrKHl&gkgpt8IF*7mF11#h z%BK$QZ*!M?8pKrEM|BRHm$?yJb|T?5;37%q zd>o6PODszUj@@bV%3673RY3P-ZomV(_x$=Xt47;LNp!b#>~lqj@4^~-2yRC*FSEaN z{)E1io)Ozc!KnB5WW93y=S(YB=hZe-&QSl-kRu-u(5tVgup^J|Ku+5OJ@A*F@6fu* zd()_%b~xCdpD{+(n+LudgPBc!DJ`sc+;4q0ojMQPSfK$26HegD`$}W~0j%lk^k-X6 z`iEHMTGnWOadqa$#MR1)#>E2y(IZhuOoChXfv|rHxG(d;sN5(m7h>nqkzoJ%qPxSY zRso(aHkjOjHHS z;=r=AGwt{|t`yY`D?fF@rhoH%bLKLc>}gX}d%JkKZ|xXi6Y>9M0KAdpdqoW3+I67V zVT!^2dGzu0t+`vg=H@$m=+$*pXAb1`b6{t=c_NK^3p4Y>hykQ<*vGVFnCV7Kt*|_ z^CYTup%*B^k-* z4Lg?}pDcv3oT}oIqNj01M57YHsmK5kja{2$v-P~2n>9FKX7)ZU2H=t4q}ZvhJVnd9 zvyt>`A}SZH+}vh#t~KIOj|maJ`pD<^)UF>9XTsL#s)40aIPW|{`Quc zvo?%MiPnIY-H?_f!vZgoRYZgqg^RP$*tr0!*@?50vdI5k?L6_17a+u&<*t$WfFFfe zQial1Rw2aNlz+!ko{$sJ;W-oKvLkVI5h=Vj{jxGUxL45odGZTNh@Y%7_#VEDQp^45( zp1`5cJ+^b;!n7nmzGb0mH)WqQrp%6f-G|=xO?ss0cYe_r?U(BLCTv>H>wVM6J7kZL#Y4yj(+%I)uBAkid0P-D$ysNt81l)TN z@h3%>|4w#Tlf}Y1%jk$ZMq?NDnYQAUg(_{TGX{B`mvwsdnc`>j^^N-J;PbX+hn^3EjTwWbX`|_EE zC6MZkAg9yemdtB3k=bM=mpq--_+9rd%zZO#Arc2EO`CM0M9ngSgkON5Y}?}OPLoes zI~RoA&vK|}`EBJ8sKt$B7N;?{$qsvtes%=6dJ%erB&w}?ir@G zHx|9r`@I@}(8Yv{<@)K9TMY#GJqTh9~rY ze~wT>dlOt-b#aVVl3FGt4*=__QmYJuw85Co&G*itQ(6azAa6Px&~HR z!QGGouZBEDCK&881ApsB9?A``7PWNAJ;nK#Fr5^1vVS#6y)sr5?f# zZ z;St;k!12~T^(hx#mz4Ip@&l|pS64fNi9J~g2QM*SHcU&3!jGrXo34)ur4z9=X!Ktc8OP_5+8}LhY z>U*mw_7=-!10fXowsOq)EAA6oW~y6{HU=XP8Ip03g| z>2YSeZ30LLJ^aDjUtZ?jt(b9&N=IyynMRurw{N9LI0hIzj+&luDJS5Kyy` zLBdNP19k1bv-zAcAZSBkFDy~uF{Li`j1bv7ar06D?=pM=#=QyM+o?633E&YY2a_Vb z4zCQnnZzf(2(P`tBNOZKgKnTFb1HdESU?s70q2xL=G!|dmNN(b}01lG2Px2~}@{F2cd zHdB1phsvP;tfCZ4JA{DS95JiR8SGY4(u+EKK(F|Ymxn%ge&1qe6HmV~;7<_bPZI4< zb+y-Q-PZF-c0&UM!sbdeRa~B;v9VEBv&@6MmWHuY!GmBzz;Wld%zI~2z1dZ|p7obW z^OV+e%B&wE(0~M)p#&RUoucUef;OU^wbdnA##x?&!zLl@-*9U`JjikMUcfs}$h%L1 zCORjHZMd~*m2p6u0APm@_5#baJAELTz5!PKgd(}#xcrG7EZVU5lOk;4Buq;e9?-7| z+Egm`6I2OX0GLBd$^R}AI}~_3X@mdHVi<4SBNU3hVC$wOtYCs@q9F7`h{&&U@eB~} za$u5>?o9U2h)aOLuJ0Azcn?YLk7%LE#YK*QVZt3g4)>%Gb!@50a=fGSRym=8dG7~v z{WvkH0ZNv>T|y)x$TeR8#+lmOt~|j}+GSX_=Y*reOu3bohZy%q&&`r(@-i>-dKXkt zPV>rUS0_r-E&Q7xn)n#s{{8zs*H1>&u-q1Fj_Yy{q5TF3gkFtbSCOXH)pYtk$>$}YLeQ@ZSO(*uuCd-B%MySx z3HaLXvkZrODXTvt+No4o{i6{FE%uONfkYvCin+6OT3wC6_HcA8!;9g2?>DcduIL)F zb&>}g8(YotZoph<)e%0vU)Hp$FpKf}9Mw-s=EJs8t7Y}ogcKck`t`t(5YFl@J=wUx z!KAsclxzxjvNhx0BcjIgX}(!iG>9evhzB(l|AXFcdIUNbU&|58BS8aODsEFA9%Ed5 zZRcd9Ir}gEy;Y$NNCd&6XPdTQtCaEaaZXHpz;)Adn=_0sAk06YFh3{@9YM)(zmo|L zkc=_0^ifxHVS6|}66?VIpUo6}bkWTUd@gWQZ!J=^&ylsQlU^LO@V)t;%~Ezp@nKb1 zKFOP96KRJepVe;nAEWG(%rQ*A5KKD+h);pUPl#p`*_&}r(;~)TE4QvxLo$nXQZbLP z(q2+JVCj9xQk$mj!Mu)MLhO7e=%5Ei?8#XH{59(CqGJ*`pQS= z|2hrZHQt~!uz-RbK$BwMF$wg%r$kZC{!2hMe?l?m1KGf>Xlrn*?a{iN@Vu)~G&w*t zzd_NY1YaG3jN!+daA=V!6nzg07hk{nyeLP%$>00PS&Fl+2dxzy3QGEGZE2I9v`>=M zgO3#@<^Ijcv7DwTdKD0Ycj4inBx;171}7#aU~sKTwgO$ zu7Mz4IWxEMZ}3+C{rtT$`hFpxrFvlCn#X4@7q+w$eZH^Yu{Q-+Wfd`A;48pOPsj#M5=q`)!IUzKO`%4U~mLPb$;?2@nGUWF!A1ehC z^@M=I6(0~|XUg22P#$>;th=Mk{^jzbD|3R`TX3`G`9=JsM6qtXL#aHfCC)7s!v8t( z&ahT6FI_vdm$w2e%FmD`Yu`$eeQUPj@Lzkmf@Elb*pcvt2#7MuYM(3SJc!cu{oP-N z=p}!h2|Xk5wsrPSqJf5M72P;*JrIhmI+ldgW@%!mOB;ZDx<@{0mQ zG1F_x-LIq13M$Q9s0*3y@I+n68IbBEoqSGvgh>hT2sP)ecp_$+YEUn*{+osk+e2Cj zsJEcxp^)ao2!Nmft}MnoPID7L9|Scmb<6DSV2!>p3RaSBU-4!J5nFMu&tfwrgObwI zWdJW8(m*e46m&jOYkm!_`9#qjBMvRaGS>)zf2oNe*@X^J5%wog-v$W_PUzn)dYZ*a zP*uzeqqS3Q>qjH%++@n>XBi}*(J*ha0oX*#-EPW%Or7=QJ6Kc#{)+^A8$Q5ud_>QB zRp6Ci?5__{=@G9it6#f)N$~N8F1`mQ4Nsr8{%84h%$+Bgw16e=Yq67q1F9&ZQDFI` zfbZKtBTqe~?NgtcJ||qYHd<}U*bMk>uZRdYJC?3V#Y@ zV%%l!G<1zB?2W<;+=Ukij8*&yakkto4KEt*B4PHV9!i+5Vy_@63nXVu5N1^;0-y~* z`oC6{lLkZS@AgR+YF5l?qGSm`WG6HQ!TQ+2GNQQvd;iMNR|ztV(QZ>?7#I#qVK27( zMsvtnkJBKT% z1|vyJqXl=r;ophL&&i!24^sRN@+?MCKtMH06rR*2ijt1*)G8G_NVZLKb?CahyQZ8%?+CZ+ZkXbTCf3u;dp4J&DZY*&w!i#JF!#$N{i%;Z2jt+9yqWS1EUGR zM`@oPMF-I&L8b;Fpnah)PMr1Tw-?i68_Xx2LB*3u1bf+c=N};GFySVkKjAp$ZFNAc zoGr$>Bg8gG;93#x>Ep1l5l-Koq5yt54{x zR8;d|dw7%Tg9)J>1YCyo>1qXTP=AQGA^QW1a(OP}Cj|lg&B=~wYT0(gAR3wq(~lx4 zjUQ~yKWglOR_b{UY!V@=R~l)qkb&6-%&Skn^LdjXv1C-E4JtZ!7TtK)U+?SuvICP8 zF!;UrFK31Yvp>w19}Y5sdd&W#-7_w{>yc0?>H8$Z(70s5jC|b-)Q#^W4_LzRI$Y8} zF2*>6!V=);9jj%eo66j#xA&hzaDov1Ghg{?>0c$Jlzm_WU<#&_%U{p=@nDhzt~1D@ z2^{@rK-~{kqxn8lTcMMo2r-g@lUb>{-=;-(7JO2t1M;kL%do^}7*UN~qzF*Z!vo$* zzR(0t7nImcNi98K;l!dBiBPjZ7Zbd{JjmHtw#GU~J8 zrnjN@th&%X;kk4wJxHtuPS)fbWBOSrhcq@BZS-S;_ho&$bLZ%EN0bP3{eS}3x4Az} z>a@HUjpj<3Og>e2c`UT1!wmgGi-}zgNae$Qp8?6MfNa!umPy&=Y3-MjE$S{Ylew`X z*wZY>pG*7vMqp<`#;xJ`EL@i+RzenGrA_Wu_HpM{XH5K!YuCio!r88yxemK}+Kk;` zU;(u)kOjo=a+g6ZE$RftKs~Cw?~;>a2b%PN+QX|{yg7phEZhh2C;Q4giJ5go9~4C{ zkw=A9o`O<_s`}=4S?U_-&iyK*zc$r_?GR82`|-X+MZv1onJ3<+Rz9x=lt(In2aeJ? zb*g3=gM>H3@`cKmO`uk!gBohYKVEj2fDT}}5bNmmtxXncwH(C)Osqr};c1wDP0%zr z0`zJOCn^l!)|mc5QIS~(-nc9@1B+wpo`j$pG-bu&<$;>Gyh&e{3{KjY&^y#CrXESbdghr>1trpUKI| zuw?Yw877-NZVN{0aI)tOxYJ0ft%lkJ+#crKm^T4Su!Pgc&FufJ3r1zC0;XgBXWv$26K#8S7h@Fk5arPP0&BpMjhf0b zH{cZ<@;f`&r9LaJ>T+*%*@!&4r(uASOolZwujMa(Vx4w5m$&&F!2+1%1Fy3y)grTh zfp%5Obh}wrUCWWk>i(_G7J8DPP4-J!>tT2+A8;$QgZ1E72di)QJyGYLG+S)W>h5OB zQD>SdFV>hP+xb)EzLi+~5|Ji|h{=aSIz~WYg7jB~0mo)h?RjCv~b=*5!kKpW8rQj`n_BJ3>*9GH{GtnB6e)KkDatDr|p2K7gIP+SsUCKMbb zw19r~IN+VWfvR2yY{c(q?ai6W`YEE_AZAkt;~KF8XIGv#u|XFB)IW!a;DNnJ=IFTH zptk4zWA?i8cwv1ut-MQzqtvJ$#;M7m4vUs|>%h*i#HxQcmTl6i+QUT&GwpH`FQ2P< zkuy;fojTbLDyJh?VNrN(8|YHPm?KSbE(dj|QjM?~$4@a}yg^jmUEdg^o-e0X%oa15 zDi9q^ZEbj-`!MV*LjyyO#Aev?u! zW>df}pt%csjiqV!_0A~Wzh?oyw8@0f_y8qQKt83E8LC%8iGs#Q;;k3&3uD&wRQ9oE zyMe|#Vf=t0SsT>G)z=>X!2wVNwEpN-uh$9I*-tR@RKgdu2_MIG&+Rg3cGG!Bl@ zt6mHZ(6Hx#cJ)5sY=b-A$wxSTJVz>uP!8nicBS0oj7KlkECKMQ$9wKy%XT={5uewH+ds6l|@lvY-0;w>>=Tthl zX?W1}8DQYc;4ctI{6&>4GDf|NYNHX#G5k3&Kmv4K(r>lRvL?`eU4h=m1X4rrieluKOae=c{FcfdM zLbA;%`Hg4CUpH>Zfm*z&2Zeh*zbg;lqVojH*}o6mL=Dj8Xk3VCpKlTxY-DLjoz7hVD{cBJy2Pyzw9YgApMtOtcGf4uRferw9W^`2gT(#+rVcZL7c07r9oytynSadJx9oAt^`LXFr`L)4sF-B6(?tM> z!+^~rF}BkWyb|)NdrqvU$0{1lPrQ04HpY6yBxeVJGc?`u^@jCNqn5!mHgFHfDar@C zpE(nTT&`ucitn!bNhM|;3QRKmK>#fk08_GKK{dc{9yD7k5HJ!6JOCo)TyD^!Hi7!41#2%MPYX>w62-N=%L$ zd4Xw+watm|u?DUEB92RF5r|i~)O?6L7mSmcFf_pY&N$TG!Y);_mUHeMbANu)zx^mF zcaIk3J)ErpYQ={Q(N>HFvo+>B*^!^dAh;v;MUywwHS>phc8QmN9#Fe9_Y9mtyS?DP zEiUn9sHtR6a_z|O;l+k&E0)|{ zb@hbRs65bzN9PQ8WIO#f9PtW_^4iG*2XpsLyP)P!a8IU{rgM5glIjn4+92Iuxb#y^ zFlGee?-F*zzyunoh}FB8Id-C*XRF(=zTu)#ZBCF~`H;&(OUq2gh-I!JPki$i*Y&rSK+xg+z|i9S0uMnS*a4=PP+kzc;X(h?=2%+7Nuq~Uw4a;h3reqoGX zzom#br%heGSB}7dHHHsN4xdhto6V$Cgd4^>u8xdo6M2X&%D@Y1Lbd3;Z5CbVl#~D_ zV?)hl-IqtsCKMhdQIuns{RBT553LsMS+iSdv?_S77?t9egB!g(+gTY*9MMMnOC^$ZtvA0S}#Lh&Q~hb z(r~D=gCVcro877@ljID61Dxcb3pczzZaCTDz>$atDa~#`Bw~H7*t7*0qLs<}Y~_nB zqM{kYikNS6b3X0s>j@LzU0t}JOuY>??^!AnX(!MM@$#FrTE7m)md|p(-MV~eW#Me) zZ0l3g8Fh=69wKSOTW-^$b*mibnQgXm!NY^+=3Uyot!6m7kp~c;ZwR;um|Xj2x2QJX z9ZP0$k!;-K)EHg)92US>z%;WK5I;gWps_j@LFW}|xO?(P2zP9aH9%?c+knqNaM8uL zJEW*uDlVmrD-jg~>^4B5{&( z21en&A{vgd4lvU}kU1kr2~NIq2mE!Z&P>BgomYie(Kh%=hHoW?&fVeNkbGHNJ1&U+Z?9gx@`Pmth_d%% zG@oa++cL@l#R||1fZ?+_%`JJgJH(VyFauY9cesq|3|?mbMb&kXidn)|1V!YbO~cQu z`R7en$)fkFZ ziQH6Srv)eCoWRV_JWQz*0gN*`_Uo;}TTP{O1pDwh=o!zACi?Buhz88}N0~2@X^}N5 zgnzLcTcf=b1XZuTVkc*Y8Q{Y`ln*X%&;%`r_*?PyhR5%V@>8sLfn$FOfQ6fz8%_!H zUm|lZE7yI@6GHJblj>D!L1>z1(_ydbIdLy5h& zwmvUI1}Tgq@BvtF)gxYPK!>-Z+Op%$jT^sPDsPn1uVK6GtJNPxY613pqU_(c^l^7f z2>U$60bT_4>we%N>?a|}wgT75CAFD*+o@Ew{I(xu{7U;+!JH!u8;Cw`(Nw)I+4an{sl~-36)ykSg5Z2m;Rp?fXfz$-ud>zrbTK z$A1()3UA+zJ_BR&ilLP^uQQUct33^SvT8bo5TwiR*NbCM4?H14g4C7P@EN8VA-ReO z@?nb?5+wH-Mj1%W!5_1oE}QEs^hGuVwRg^e+uzI(h@Trn6knXJhzs-PgExoO4l zVnM{#wgo`z(#$fCccn$Xq>{bH^jO%r&ZxRi?Xbin$c@UgVnAAy7UNvs{e;Vyjp^y4 zK5k3!r|)i5oMAuZ%iLBNdzJK=>F z-ph~}Dg=E%P>HoA7fMj{d6Xbxn6Pp}$hxNy;~jRjEk7gA0Qg(t3hm;N+p8h^-FQ}9xh4SI6xuHRZ(Ju~~{0Yf&++&N+;1YFnMh{KI?|m7DRp&?V zn)3qPVaMW<#cB6m`2#4Mhn{p2Q2}TD23c9m48AvOO01Mbul!yo@n3uEqI+)xMkbFw zS?cL-3+5E~r8t*RWi?C7B~6^}wAiirmbfYBh`ZWdg!e;*Fu5BQLZc&nfa*dXcnYPD z2VYwm|9bjMdCq-ncU1`$an?bv-5ZgfZksAd8UZ(7eT>q*YXQ(bJ#9#a>Ia1g`2Vj3 zk>~=_JdwM0eaOHOO4JP$ARhIs07rLPqu259r7B6=aq_f~a9(z8(fmQKfT?kTsqQ&`8E(;L?fu+Xxj#@7UIkR!NkY}6e0VP9Elp6ugf7i!_G5m% ziBfF(^_&c8m&Oa?sWR`mh1L4vu|-I*BP2L!7-e#xr%iqUOUP>$cAnr|O>kHAHc6=* zfi{;~G}cZq;5nT8Q9447-8YuE{mDR`j64T|<3EL7EU44cPn95vxv1c?d6OZ?3SK}7 z-=Vkn&m*xLRqJ$g@ddb;F9vMl)|(iTwqGZVn5zv={6)^YAg%mT6ARD%1QBK=Tpo2! z`loYAbGI1Bu)p=H_!=CJI!m?N3H0C)%Ced(6|13ifF~w@fUzMd_!2i{hyGq*FH+{E zM+v-`R(@%Z-wEpQ*&g&62N-zV@M*Q82726A@SxCLfV}DQ+W}LIp#R3rwD+BPscQWf zLkt^J-I!&;X&C|JpsNE(|7nWH<70gLr|9Bpa)HNR;m-+3n{ikI?Dh8oW1vnkKYT42 zyx5petBXS9&I3TghP$BKDsh?nnIT6Fs|>*mBwzWV?&-xS1)Q=og~AYX_hnE|mwHYG z(V5ibBH)*nxuBN#Ar0l@-J7Ff<{8tqtyHqR&B1fe)vzQ5CggKW3{>jRq1-|mdYzV? z{2Bz}tv~+0(;~dnH}p=@zXa`Wb1Jud?i6Dcp6Z3FKnBRJ@?FM1(34f=UIAyF+SkWP zo#X>79*0rMKh1S^@RJ;VrUov^0%Om?xrTr$Gc@q%W@Kd@DcHJc%cv5GX=lvto|G6% z={yWBERD)1Ef3$nDYu%|Q^P((`J#~1&qp!_RNvKxyp)TAP8=#T;X6;$R8CpiYuf@r zlEr@(1a~`nFHR`duuq4x$138vE%N}MOHhwkV_xhiE_L~x65%tC=dle^7uAj*@jvR0 z-u6wRugcSz7!N&0xX9e~<(UfVrIKqyFyF;xurWoF1W*SKAASZI$uZj( zgZWy;WKU&r`~1i*w?rJyaS*2ey}*Xyt%aIlj&|Rd#7ZT?27L4!zH9S>OnmaX2XBWF zeXEU~?)MWTaD&14e?7b(DpYyekM!3KhQ7$0&CHKrs@+~dZzoD`B>*3{S7eXWuup_r zgEkw+vJqbNAhfvECOysg(-A#1PSG^&gr)>_O@b8MHUXYFCLkhm^(%;BRI~Kd#BHOt2K2} z80eZlp~X@C)_xs`o!APsL@7>V6FFGG5#BIS4MWbap<=v1BO zY8Hy_Gc~1^GG0@fTX(uXj81G-j3)RbYZzTFTe2LV2eGB6aQZYmkMMZ_VcOZfTm6iY zx#|oto5$6Gr_#Xn>GBvpJ$z~mPhxIbd~f^0O_KvY3x)?OT;D!3#^$_EWp5a#tu>D0 z*BZvF)wdKj$_z@Ed*)icZFX&KjB+k*uKCR~0`7WIiD$jmzE^I=Te@DF*b*(+%H@o* zWh4suPiX>%Xa(p=O?ADa&U;yBty()QWMtl0~v-$|yInEK8 z3(!$}Eho}Cwcl9Pg%P*ZnRs)Th6AEaDn^WWClCCN+<4BR#RwhfvR5av!dzAtUeYT~5J58F z-CL$ko{Yp@Pb}7O^G8hb^0)5D`w&u|84KsUR`zbVyLmPB6!8GOD_E^gp_nBwc=On;1^e-2&qovKv4!@%7q^^s zwt878b@*)+>!pTTlxy>&GCM4{aLy_wo6Gfy?K%y&H~a1iR;2P_M;4+l#t*w}&!{|?e|NZXyv)4JusuX1 zX}lf#-fs$YpZ$oqEZeQdZ*&#pql#Oysh?%K8?()y)-D`v<)_@9w*`7Pj5k?D<ozl#I>Ihi?=`0 zov4*ENm1EXmoIuqA%ggpF58Wbxa~bxS6C_SC3ZT>6${$R)0$VeZ+SA`&;{|FE(AVu zjZX0NIw|PW1{~+T-}WgD)XLdUyv@JW#0~?*`Y0Er0l-32%~`>XGA2{=p3qk)OtoXC z>}7A+T9ZmT1HK!IOv%`0SCBRA=BBF58ose3fVXN($#=aj|L&*EUpf|G>^Lp2`1+9H zj2^9g-a^H5&ItUmgrrN6XH)ZS+p|#2=O=(DzD`f{)hL%nHYUG)vfX$nE3QBEtcC|Km{k49nIf)ocNCA%Bud(}(=U^YR-$e#+dFjt9&l|B5}gm{<+;$0(!LPa64v zV-`=kDFXh)fco+jXWx076N+5em)I+F9^LPUdgv|NaTmeoJ9*YEnB3W_mUdDkpSh?% zsonK`jD@nn8TUK8ndM_2^fZo#TJ1>>@&A^|dIHzjRpE^{eRu7QpyPBnoeA-~^X>C2 zj2K_xSGbz0h$qBjtFCW4H*VW_=(79XZcEFpnPjCXhAkLR(mEg8+#3k&S4_!^!)}nC z@gy#H@P-!vmrB`{8D%>$_Wc-HkB(-)!x-*t~R+g3T^NFP2{>|2uF z`Tk31ud-_6jPC$ezUzOu*;%P^X2>Cdw{NVia;C)l)apVTcZSj7V80n8r9G!JPSyP{ z4|}%F?^R6N1|}vZ9=(XP<+NOVJ|6tNguBP`3wp+N#g6v6Y`wvLzi0rnfgfK_*Cpj>;qnn5jOnDU>E4~E+IJyuys2PoPT>=5T#C7IJ z2{ap+?|B&NIcNDeZ-V+kIxO(}IWXlcg_gHy^uDNlOj0i|WHye9fnuUM$7WR~-s0=d+;ne=doYzKwHs8Yy6zqma=-9G*y5_c zrOMUJj$Br|Nyo$Y&waaiR!`*ZYv-HQyy3$kfWBa0(tRF7@h%&#*rqf*x4lrrbIrWp z;+35KSa;^3Z&eEBEb*JV#Ivp%+v^FLTLGt6n)S?~N19`>;YVpf9BC{w$S;iP!#Nnt%-2IQ!D%<-~py_oNwd|3`#dYtWhZa%WJ7udRnF2!E82}N2I|T>&FIc=y3kHKo z+a6M%ZbZ41ax`Qb{XGltGoLqHULF|Sx4#jLqm{?}1-q9ZQ`m@IiF%0lWD4cJ=YUle zFK1)kuwG)BCr@(I@s=)^+M2G$??}Oi_LyFnAz(KwEu z`9m5=>S8WT->3x@iG6+V$Xol=Y;Jg6A8#8U1NqS;i)0A+i$19ku?Z1>@L3G`*G@}F zn-%j~_$5V6D__-(aFf%zhC64|fAQ>Ei;5KM4c(Jsta70Y5ee5vWfLhbvrf*sU{N`iJbtd+Bs zrTGAT;()%IzKXTB@5kMP6ek=rX5x-1XJ45Qz^^j~+(knO6{EQ44n5zf{Ik0z6FT0ULQ@i;3adh4gziJkzR;i!C=6N|6uG z0Xnbw7BiUoM4A&%NtWR%c00YHQUd(IWI9tyrvUFLG;Dw^4M4Ob+wG?6 zplN|&>K(aSxcLu>D0|Dp%yZ@j=LaekYNteD>uc2p0^%YeT9!eajm_>rY7%gd|On?aw?q!e9@j zU_hfYgN_+r8MSl~YxY`&s>>PR;F4p-|U^SA=6jEBHd3ZJf2}DP3-(b^22m* zl$_h62(6zz#o5F8qi^*&KCi~(IL1ssRX}QU&5GKjB$o#YxB0${M$qhd87Jq)jg9)Vf`wi3PJD*bc^jV5vHQ`&nZJfRhzoKz8#buAN_?NfHTxr< zAN5po1sErDPbiaFXm`P5&~Cc`1{Mf{va2w!u+p&5>+T(-O+R81 z?K|Hz0xJ}&J!Y+wdu-HUthV4xKCPjCh%04J)Yn==FLkj=P_9hU13*yDxi*eoD`a}f zeqiJCv${4=D14h+Hx`5JEG;dapgAIKaExKdo(HP-s$ z+zfz11mQS}Z40RLEP2=+`0@Zhp>BnPQdi35d=`fl$7_N)sq)OL010JSZd?A5CzGZs zah?a1+_utvULR0RF@hPz5fuKF0L zN9o2xrJWq|pUMO_nKk$EYdTrTVc;tS_CCFCE_a*?gi9#xuBE}lJH;VJL8B>CmZ z7PqgMU681mkhXY;EK5WvR9ssx9wDibsI}nb=ks&SzL;;B*r5@NYDR~k_stYz{iag4 z{Q~}V^F`HzPnurp+?-i<=)>jCTxZY1QA6E|IG1En_(rWv{~!mX!SY-*toBu%N%IT4 z$)v`i+dt=A*?kOj(jLJ1WlXo4yO)F(zqT{Cc)!R0yNLH2FH!-;?n#?MWZxaw=Rc1{ zY@WKMlJl}GI4t!QyH-y=(Kd>*;Nym(K3RV$W$8V?4;m_7i_3bDGud!?icMN!rSS*X zZB>1elbJPGd7rZfL@M#^vWBM8JIPs=GSz@HUi(s;pfRAy-)&~NI>YMiE@X2eD81OU z!3(Urv?Q)M+%>bE+DLV^*{Tq@6D#W-3<+Z=z4XJ1ElBUyXjzee49Y#%PqmWdzl35J zR`)wDPGIu$F0fz4ZgRvCU?j(>>Z~^1Cmp_r&#)~w92yz$>is-62}<&^D7;bXS_1P2z6MmD$Kp&&fIP4{lb2JYHL+n zX{FTs#B#aVb#+;Si;_6+iJ?=>6$foC+^j%{m7b7U#vN7p>|9a7=ojy1|GiObcbD>5 zA_8qDS>?wX0f31^ahj63(T*Jd`A^O51qvgb`K3}a2+1tYv&jTl2|>}b>wGQquB6%a zmHgTNUhTN3 zmLeKCzdcZt6^Gy%uZzO<(rwKx23irI9}4I5{+inB*wJi0}|BB23L&Czz`P2F% z^YM#Q=)5aCYjGZTL^Ve`1<#?I9R5N-T)o?yVv)dt@%cxUf6JRA$Ztbf6gu zhzf58^VdxnhpV}Y;(u&r6(?DdhYz&nE+M$Ol1MXh-bsZHS zbYjZeOqqCAB(&|6o^8@ikIj+uL9pYY9Thzd`lwlDo2{z|twL8S{=Jd@#eB#f7eCL< zyPwkqy-`AD*?)6O#3HW6XpC&bnx1+$N zN;6QgZ1DU+m7?4u6V9SjxtVM_c_s#|h6Mmaxm8b&+zZ26?YO5kdx@hZ6>Dv%mS$_a zPIDvK)V(UtSltW_6C%6;g*9>cVJc0~ql&aY=P!@zUGRh=eAt5(Ld`O)%6_B;LS}W7{~7>C!6ZXDvhYq z3UatGty))6{!F%eTg3K_VSIy$3C{tOXj_hgF+uCu75HNqxLuE~P9xRR7bi_R(7EaTtMA$?VrS`kc3eY3hj(x`kmOJgV$&w-VQ6dPar3GWtw}fA=cf*rCBb>VjtuNJ>7gq_l8;2e)r`y( zee~@!DCS0yifvfP&Q1FnFA`*@bj59_O>0{P!&%}q@Yu5P|z;w|P>`^b>$XA6iX zTh!kfFbh>d9op|HnRLRwo?{K9Jp`|7XfbnT0!4Ekf%^}z_tpvt2Z*X zU@_A(SydQ#B76RC)N~_idbv7L$Q2RCF%1$4>nQnTJL8&n?sfTNd~h9im8OZ=XauCA zwLD}HulhK1uBo2YzX^vMzk(n(Utfm5Dr_G>=NL;$t>v)o86H4gw3h{Q>vW_ zq$feCc+>LXm61~#fudqoxyJe!Xrl_UvHAz$<{^%hbZq5qp%$fYgEDd=6e2plYPK~PE4Dje>}K4imbYAM~_Kmyj2JH1m+;pvJg#0cfyZ&K_JQK^9`iB(5y zZlF|=?Tj+*9J#HWB?s!ky0y`3+5QszAJ=7vjLw0fc($~MQ0TY<7x2Vuao&SIM|4;b zXK<#1+@?e8^m!p}V;hi80}=j^=sR7>3WM#rb7>B}28DJL(;xAffs}kNl3FnZhPYbb z;K8WsK2UTubYWO|u`iDmyXd}tx2BsyI|h@Dfk}qpTX7(!aqvFu)H(=$3p&9iL$BG7 z+JXmy^_q6?BRpwXn5etBR2IXumn);m@;;3s$Ltx=jOlK!WG9@8Epf$9#cZ50<2^aR zsqO44q&F+j5{)AVggGVKk+0eEV&hr9`QZ<0@UlrBq*$!Jh?yzu8Vx(-U_(6b!LgBk zqM$9N{c^=Dt@_wk`qYZgvk-k3bbvdtBJMJz|HOI>YYEbZbtgTp=L2_(Mfo#HG`iz5 z%a*%A#L|64c?_FH4dmulu;)Y_eLc4kj|(f+E@Xqo;KK~~Xk&i@C!0mid+NQs+}ab?)`ZJK*sw zZ|v$CDO82<7Qae(p)#=)|Ic({Mi@Rd@RLTPrEr$EPAe#BBbmk7wjK0vw7d=bxfMrb-vw)U02=KOpihNED>t*N?aI#eX58vOxJDiPBH5 zsP+}AI$TbGVMVS3=Rxqvba*9WJCdiNIM)MY=8WuDr0Smqs@6%}blH4qIq0~cM}!#) z3v1*=qri)L|6BXd7l9KV)isf!BY=HtiB+-JK5KSr3SA$~v*pW!)N=N`D80ARiL+N+ zp!JlV{R!ZqNyoudah>_hRj!dR)z4oq(;{9dyAU9BT)cIe`9TnI915HjA4H?Z+zS|W zGgag^yuBMUl^&}U_$;UcE58@a72c4BTE`xgv$>*|hcY<_l|-3kT}ULLjhb18X;ZlF zRYBML@Tr$CP8MhrY53K(F=>uxkL@Ii3V)PnF*oRQB3dtf2iYq@@ft)9nY99~#T6>V zJ?H#yy~*wbmK4&6w%N+86FN7~z^b_=`4`G!!`tEu_!DZyqTY*QEm5i`XsN+!{W*YI z)oIRM@Crr;V7l=xaJ|gQmYeV|hYLG{02{??qiA0%#9Icc<-|b_MS9E0#ai^enl2NO z|9tQ1(Fi=R6&99el8>g@nTvPr6kWRD%ry-Zy`;87G-&hi=;%t<2$&}WUShAIu*pX? zS}ld)34hIi`zvvqB+PS?sX_oKbu(zW1}xo+327LYV}N_cwxe}KQugx=u-?@m=r>#* zcM*J6I8)uP;?_5VS|tbj5}hM z;iVJT+C+IOrscIFwr-NCN1s~x8D$;axWak!mR_?D1gjmzdO@(xpSI_AZ*tJ;$uHP1 zf_=^a@{$C2O8}{E8_*IA7oHV{N67lGpFZ?Sh!1@Tc{871A!wO5a&R0rqGp|LrZDon zih<=YCQyeroH|=2d7taD_S9dAX6F%~8G?@w1TJq&nPuh%D??;b4_xJL;Z3i|^XoTO ziMCS5jvdPmeQ=$7lD5Vs6;@mTS|L}G*D7w`MFVURlC%Xw0%+4&kk<7120#jGxwCz3 z6}%OHtT+&gR@_wbHV~K84A&s_%WHI{-R<|F0LosE2JSl)uok{&>3#O!F|F6+-edJc z8Q42lkqG;e9CD7#{e<`56FyuWwPJ%M?d#xrFleE?+SrAO0oo%Xh`|9*Pwt0J4mP>< zs)hfys)^sXgEw?vFG$r!ote`r(JCmDvf$ju!)0ioAEz$QYh=k~SCz9D>K&R&5s<-al}NndjaJpAF@h7QSYPavD)4kzEYf;)plEM1$8vipZ?6$l zgf%O_xdRs8^nZtTRdNp`Fa#`Y7k#o0%wL+KH~HV$fp9@)Ly~-t!;#Ft`TXz6_sCQ$ zpq_0F+E`}=MgI{>WN2Y$psPYi8WYO@^u;atS4xz9r@6lcV1ZkS z?O8|u;!{ilypsN%mVysQ`gdQ&kjI5K?d~+Tvs0WUNTq-k9&a(-{C^9a<;^#1fbS-@ z4Pm+J%P*mvLA9yz*KNP`h57$idZz$N{oM#zMo7dLW`L9jPD|U$f4|rPDFnX200I{VbcX$7%4MgO4`a%Ul_}By^n!sJlANiFT_8<9x46)zp>A#0OPaGRMeFD}> z9_=AyVf;RI$b~{fGO!jyUn83TK2KF0S2s&iWk6s4gF$gL*yfsdO0QRj!HL?GpS#)S z>2Jk4TIj6D)Awc>ob5^(sebl5fuu?)$&nUaKD;*4dLMl8J4%}4opTfcL0^>WkkCfj z?k7-f9gIeY{jGhX&1#-#p>Pm7oYRvjdK{$f_AD5!%rexuSqV~eagjJs!dtCT^p+PL z&-{BJzqS_a2e8qY3ifcn^7}MVIw8Fm^>ri$oXh7K=$6D(c`E{YFfEN(bTI{W)>RoB zJK$wreoNoUZwF~W$Rh9B>qKla6lw7cKs8>}a_EZngsWYqB3b&sFUY1BnxeclE6MK< zX8CC!ezah{lZX>my2q1du<34GZ8xb4Rrw4T$R(baBfW*-QLlk6NY!8SGM{e%XsgC9 z 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 V$C?Hp*(rh?K47swf1m56e*vOJh&KQL literal 0 HcmV?d00001 diff --git a/docs/hugo/public/favicon/apple-touch-startup-image-1792x828.png b/docs/hugo/public/favicon/apple-touch-startup-image-1792x828.png new file mode 100644 index 0000000000000000000000000000000000000000..0f7aef7e2762177053f584d93d7b2f0cb38e4e3f GIT binary patch literal 25513 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 literal 0 HcmV?d00001 diff --git a/docs/hugo/public/favicon/apple-touch-startup-image-2048x1536.png b/docs/hugo/public/favicon/apple-touch-startup-image-2048x1536.png new file mode 100644 index 0000000000000000000000000000000000000000..b72b34475358f9dbd4b204f878fcceb392723eea GIT binary patch literal 58771 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 RqO=h9yP@%(>|OSM{XcvT^;!S` literal 0 HcmV?d00001 diff --git a/docs/hugo/public/favicon/apple-touch-startup-image-2048x2732.png b/docs/hugo/public/favicon/apple-touch-startup-image-2048x2732.png new file mode 100644 index 0000000000000000000000000000000000000000..67f734e1ae2425353966abda95c5b975a84b879e GIT binary patch literal 79498 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 literal 0 HcmV?d00001 diff --git a/docs/hugo/public/favicon/apple-touch-startup-image-2160x1620.png b/docs/hugo/public/favicon/apple-touch-startup-image-2160x1620.png new file mode 100644 index 0000000000000000000000000000000000000000..e4d33b6d6bb638b514356aa87e09d4e53915e020 GIT binary patch literal 62530 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 literal 0 HcmV?d00001 diff --git a/docs/hugo/public/favicon/apple-touch-startup-image-2160x1640.png b/docs/hugo/public/favicon/apple-touch-startup-image-2160x1640.png new file mode 100644 index 0000000000000000000000000000000000000000..0b9021b680393ad60f4c9f0916aa6c0b44ea6c03 GIT binary patch literal 63625 zcmeFZ`9IWc`#(OoPzkN}t-VMpYguNlOS_5)S)!7N7!flVg9;UrNCUf@lYsE$IpI}H0`-Fdt?XSM?84J%@3Gv}<`7SBeNM<;pZe;q-q8RH@ zc=&ChHgRuG(RP(ydc>;L^x|saIC+27YVm4ea-{i`>rm=q6wA=ho;Zz(L2Db2oZ~a? z)wCXt{IqTrAlLJgzjExnr+fXpE0%iMoMrjpb{jucGQGT(wP>glCr@O~5c*0)N4i`~ zRQv8UyRbU#H4|H~uBEyvwnPfkpO#~4IP8$sw6K)masgD=_Rph*;B=(a|boCEFgq%L$se z+j@(s;vCAvtbUQl?U( za(d|59$_imG<)iESeAO`#+$FwLfeVBy)gu5tr)5IS z9k5oLK&nZUNt>NsB;tH4k2??Ah2AJ4*hNlvnT}|Z_c7{UD@L2L(VJ0@>N|GqC`@%& zVP%DM;e|aD4cW;ThV0Oj7evel4MW3vj@_=T zVg|g~iXCG{xP;Gioow^78jfsImPNHt=yW%m+#8pPOKCJleywYLbE;=h^_I+my9|f$ z)tIo#{Z<98lqi35;3G{D2!dF3{&FE4Ek4Waopz0TAhNTwZo>aB+3dL}@9IN*!l?M0 z6KPNKoi&H5&2*!(NdxVySBc+3Hceie=y+*G%q6h*#gzCi2Ce4)g+dt{Yy<@arfyQt zEL>1f6ARStd`$Y;&55?BroOdoR^;J`CFufGUJjNl`(2*2db@P+u`eSmk+N2F+tEr= zVJJgi$vnL8it(1?Otb^wJO~yf7~x6Dtg6J7-@QA3Ilc(>k@99OoUrlxC_^6Ixul6g zrOwW``>}%1r03a1?lS}Q-Qylh8h(84gn!3v7K?Stjf%Ve+hn&Xew$myM z^|(R1;G($Z=I^-aTVZ`aFI=1<3!|9SbJEbxON*9^=t-~Zp+@?A#^YJji3APK^>cI6 zyeQPEbK5||4G__|^p-uMX>X(0>1e@d-|F3(aClnAT}cpiNI+1qIyv0=MelP8>okE> zwyN$tvWwMtl9*V4?UUqKfnu%cIl`P^=j{(Q5fl3uukvRCc{jKBSPhvk)#&_suqw>c zz|wH(d^%m^d>q<-@X2*&e-0e)VMX|}P2?mb)~~JrE#7Q`rkA9@e#<^`oB8n6x#Rc; zWgU`2Sh?<=@3taEQG5YE)Ya6~h+S3L2gpZtPW1mgm)I6H{bjJ1!Zsn^7>sOi%2KtgX}ZuubJ?)KK6 z_F;0#;@<}zZD->^)%-ShJCuq>{>`Ks+_a1|tLMuF!DuYInxS}{jTH@8$ocHxS4s`; z3qC1uw!}h}MsrB;{>o4U`*%ho`=7E%Vb4$%ZHss5?Nz8^dmbk)WE_^)oATa@I{!g2 zgS}{|SKDK*EEKWMu~eu&F-qRDP*Gk7zn5LG25jHV-QFnWIr@n8@UD^>9-hprHw+`? zJ9Z4A`hD#T9Z8%eEAQU!O6o?Q8K~H7YnJ2G^y+SQ!CEkXEn>W(R;w;i(XNk01su|>(CTi^H^K0j0jb|^H`)2?%J-QFNX`b7c zoS!E9&NjTt51&aj6_B1GUq;0yruMFZMz@gOHDNP&Y*yaGn95;^Y?q<%sw4dYAR4!z4r95 zQ1M8R=*peXajr$mi;Mo7IdNd_MLXz?YkUq2*H6w==*@q+;VQC)* zuyiW;{`OZ^E~8e399!E&Rsm98rvQy?ce-)Sv<%&PU5;yC@AtkiA2a?W)9|pcp=xh@o)@OJ!tiHQS3P1_9{B?l`XDGrM-XwLqWn-R#QEh!)G)tt}}32@}&yT>Z^ zm0vGEK~21@Lu(=d17~W20Ffqu%nPato^jTwj+k>hoZGH3JH9f^+>CDQTaS_T1L=xY zp5;x|*M0S~LKK~F^2CV>vN#AWvS*<-O|H*>JxsBXM%Pyy>nX~Q6qUzG3u1D^!l|N} z)?4*{RvfEK#98!ye67juf}!m-vfq!#Vy2~bzHA9mhihM#PH@R?%?@B*pIbc6rV@9u#Iw0V?t3U#4e(G~EeI5&6EWPuV^mI~Kzq zX`y!4M(#KXf^*L%JyON>LYTA}m7R2~5XclE8$e_)vyi&=mN5RAnIrqIygUCmXX3#g zQ&fH1XBX|+N{<7=^4(VzbvVCF3iq!p1F62v-3fJ{`_be5PxD)0@*P*tWbT{IwT&9o ztUKoKftvi?gX6rQXtzJxcjt2oxpbTS(K}jfUp~NN739$^SWoNX$dSg1qiT(lT~dRZ z^~d~uQIl`>J|e8Hh=z!cH|)>7Ve_=$R)-X45^(2a0=d&VXCE~?=sQ?_=fTIf1(A!w z=G4Azm<(+^-DqmcMojO$el85CeSSDkrY49(X~NK#`_<1!|BiTx`RoD^_ zQMz3z+uf?vvF$E>o9uR7#!sQb^ka!2{++)E4RrT!`i!D&?h&F+h}ps1)bAOhK!}_U zaof2e5bb3367-e6%(rPXzJGUQ;y}boJGTbxbcJ_ey*X<({5aE5MA`maB!rWuLWE>g zW`AZu?~mrxmF)zz5VIz~)=z}r4OIH{W*~lPMEv_c$nRxzdkzRQ4=Lf)-7i#vICh~b z;URNnGbLDbxFLPShO~FOs{qZm;s-(;K!mtSUiJXvr}}`fR+LqN`s}IEc;6)Aqc`7i z-M0;y7?I2=VAkGUpJl0i`+>^Dc0-lP&v0HJrc7+amL2Q)k{=l&wOu4h@5G4{4B_^^ zO?qMa#Y`6E1}$7#GswRfh{N(Z6vz4gOl(c}@QARMOZzR?A#5lUD{&9mw5 z={-LtT0yo4-llv4dK+4yH{eGOP_Ag$BdvgX)q@9LLMXvRiA+wtN@VW`c+a+id=rj8 z2FI_`C(H+gU!FC;b!+GzV5MRpd>8n=<-uUK|7BT@3m>qZjnH;Z?ISbu@qF*bc0aC2 zFyT46v-iub+c;*waQqDrP-jEri87pUIGP8JcA5?+&Ip`MvBfIRUfIF164WvQ;Dt4o zku4-&^xEWH;zB4Jcy5sYIFQj@Xl3v77e$^II-lF9=cb=p>}3!cq2B$CCol2M-dSNy zwg#a;_&i89VeHY=#1MZ5n8l0C%3KtEsF@Vw+HE{^b)#UziJDJ83pfk)^sCZi10;{) z+0K0FaQvOIRX zzuPImbb{x&#?WZb6wQ%0d&?;xxt=-)fkBd(lxYpQr;RsRold@y?J`t% z&y>kR(a{SN9nlVK!g;2nFagV&^>sI8ErMCb%Fwyq2SpVRR6F(CDqpf4%03x(7(+@v zNv>niE{o}z@vV*((rnhFcYqY59tcb};PGOorakkNF#F4{lJJ>5kKa(%C6!hsI7;}Y zZ}WL8KwB}=?*%G;^6~KE{fLILm>946uhn$06&|FLoak#SS!@k+zz{6~7o}-j#Ti04x z;6zZ$I;=|BS#(vPxTc+moDSLi>f=pTJ$O^hWk2+$TRcarX9lYoDMHcrBkIeBylL@^ zn4SjTvvE*74f`#Zu0z{Go_Qh9 zF4!*@AjZ^JJ*aLbKlgl{+d^Ar*9JW`K9j+8rD(+VB*Eeir{UsVzHT^n+4{5bh0dYf zXyc$nbst;hR-Kz6m6-aTi%C@ig=&l*YZmwE_pLQu2-vWHMfnHuoax2ikgaOFuE zMd0~{shFM*zedGGt_+xE`Wz;l6^I=tc{mKOEH773=qsNYXA)CQlIjoiT^iar-Nm=(f~l!Z(OeaM zqvQidrE$qppFbW))xdZ`E~< z!sJ5M0zC(OC#^9ToM;Fb-HnK_R$4iO&>>)$irTYKaL<*BGVc9Ys!7->U}>^wT3b%p z3xvHHBH*Oql|l-jI6_*8^f=m-X~F+3EnN|ZQxTGX7}z!sDkUK_C`uIK??U;#(CB_Y zdv|_@?@&W$FS|-v#>iosyn2DDwLb52WoVJdF6LjL&7c7dTX`}iyQdWBu6#aR=i2i? zOT|aqf#=WCZ%a7(+2xqe#Q+~0-3k3N@5AdiHK6XLRvc`Qt4gqXq*o9y;=7Vhz8_JJ z@x8>XRdTmjLSktx;*y^@AJN1O0-e=&=a1{Pxd{oj{P;B~%@{ebPCh7bVP>IgIw%pC z>JuWYD*|4q8NJoPWp-%>G&4R~X(gHU`i%F`4@o$x*fq9aVsG^$LVY6vNO{z|0E=?C zGSQK8wZILd9Hx8kWB*gzpop)SW$(qFR;mMl2X8kc&f*T8-9_1_MamqKuV zyH1`MxKMD*U zp+QaDLRS34)PJ+0YU9p;O$9P>P}9M`FawDH>qyRb=g5ptnG=>EgYo z(r|(E5y-6JbOLcnlxnBaU@`L3=4EYDE(l$3UvLML7Q%tfeiY#KBWo2oVSM#A7q+n8 zSO}F@+axgvOQSTZ1F)U26|O6-HD45?>Z>%w=%L53t^e%7udYOtpR`F*?E&q`e~(;K z;Qeu(JU*~~K2cjInK!;acpSS{-aD}VPQ4-V#q!cp1?33H+LI9AtXV9}Vg`!;wpR6h zL~zSnhaL}5#nJm;&jhOb4DlarZ#LAGC${mRo;Vr8xb+^Gv4`cAe*U9f2DZK@_&Ym< z{PFt;-Qf3E9YP+aYxQ_gr;rNkzRxs9Qg4DcKGtNzHJ~KqE&%p)w!_7wcxCqRR_fpZ z(6a$$Cwdx4FMl`CwL*(a*FebSBsnixMuF37*>K_X#^eJ=qOgu5jzAjDK^k6uJy8Rw zrC$(#A3|F!4&v)o5Nq2 zCN%TzIACPxKg9s#-4is^*`znXJFn*7Yfp7h0L9G<7-H0VIDS!93 z0E3f&1M{(c=2RLS=*1m4y;vps1>;vYv2Qjf7$_tP^uCn{B>u6LZxkUyH-(A;SJI>eMYRGj9%W(J_~|t z>mwLZ-W55YWV;C+e20Cz4!t?he}1MqF*xEg$}Ryv5JOkp2=-P&_I8@UmYjqS0JZ?) zd9zhXPDI{?r|J#}@aWCJ9P^Pla&zgV3G<2&9WB?fqd&kbj~;DMe$p!75F`@zJ!#v4 zd^8aG)GdQ7^i{0i-@3=@eqw0Zs^`%6M)*ZY+rkG?v@~3E8?e`;n{qun`canOW4DWH z3{Xz=`+`$~+ssQsbbUkgJb~G<1{eg=kUr-zKeC9UE_Y)&Q;Ic##!SuYLyd306?f0Q0GarO&}(J-z)v;O*I(TdB02Ej=gY zS9A%l__bo7%O*wv0w3=Iin&swyK2hD2+{2hSay96SLA%Sf7EyO2d%u?BH)?#WUJ=? zSrY;oQNU$0TFT$-pZJxLk**44;1G3B`M)>MTK%*}-ht=*jS7q;5sa(@{Y_-|IBbzJ z`vVZTrw)uJCR3m}G`PR)2MGs|$^~##5+s_7O8w+U1yt_>W;O`@|D|!VeN=JVmq0#8 z7yn;wW!k}FC+~<0Pv{t}^Ti*L}%GvjEuV33y?|~I{K~IWG+YOjb<}yw0+K8^I|NyKte4)kn5_O%to|HB{a z0x<#HxCnNbJT`-Zt`YkF*|Zp4*M3xIg_56Zf544#*tPo3d$xt2MiKeN>#->K;i%86))DKpA>wlUv;|s^O0x2aD#QQk`KlnhiCETsSj% z=f5*Z6bN*_Vd@04aINPj+;k~@n^^xH*(2_1{~mZ_^#K%c&b4T1t)v*eRni{91AeW` z%ZrO4iO^6UBZg8lp$9bFS*@$x0|=X28pj49yH-EGOr`AsYOq_Y#X7zY=^aL3Q~k%) z`zu*jmhWs(Uwee+Tkq#jWbXG&b3XmER7|PebKyM5Lp6W%i6n)8(7gf)m}{m4iRYjO z=UFu03I>q##Y+M(S^Z4l0i*nM9Lspl<&S*zq#oa2hM(*$*`tF7x(%|2;izI_B0EU@ z6UuIW&`&_7;j96NB3co8DPYE(4|rKx;Cfh*yqu(Um+|C96fa&Z_t;!>z3nGIvX&%> z7f+@%Tf*e2@k@k_h6W=`nILJQ{F7x@;=z5i_JiE)`4lNiiQ`BvcsSmwa!1`=7 z`4%$bS~lDx?KXE2l@MW|#hFzRDK|{6&fgfNM^SQ@w>Hmmb`5>ov z9WM2I$9M&#`S<9kFvSQM^;O7T!@<-O2=9q<=|QyJ&nst#Mej#{L~U;D>yuA-4Q!(P zFkmw2sz5rl>FUiV!RR{oab*KU0Pimw>c4dFUY7-E| z{^smBX`6E1u=XgEqveS191%8K$|r#!e3^EDF|`Uh{S9ONdS_eIG>I_5ANlvs!b4N-4BSlhpGe zG-#7tPQLJ8j-tDZ^>>jv?EuGa1K)nod4T}mT~<|UAD^eo{8!Qi6AUICc}p+(N#KoN zCBBA;+6wv>?r{~8fGDJ3;R@l15Zz@#6d0)Lttx!emowQuP%$1)GqTs21 zBVAGwKXbR}geHi)l74p;iXgjw%OYIG(GkUc5z6;T=&)F;a+BwP{aj4y?^pLfeHj<5 zMNCUVMrQrLw%%gkB@J-YO*ky<{-;X^SC`?|cxBS<+jt_tJZHW_*L{Z{G9sK7a@!{; zI8K#ZYj2d@&S=TFaUTXPBrqW^!Vjs89T2T{rtVTMYd4)eRR`Ig==!VWB7b`qA)(m~FG(ckTQTL%xI?Q8H!O(8bsV<#fWC3Gr61&op zp_@;)zJEA|*wanlE_Oxd#-07&=Zk1{Wd~ucq>ik34QKk?HMS_`@bc#Lc|L(EFHposRVx`4d2Bn zQ58F$s==WjCR{RiK{CttFYA>4FuUoE5XxriM4H(hBRc9uZF(BA&6KQ@Xf2pxSc$kSLoK zOp|@y_~Th>xsXLb&P$)xu9}3{?R_6Wa5=@ScJ5VUr=mwIjLC%QVXMUEl$1q_X#Q=qp zSdl{9_onCe@@4Aq{xVG%PjuAOwj_W;?+GUydbBdFz_u!yj9D&v zof}Ir14j~(icx10fPU$B#rosGl_QlP2T*doUA+dyTsvB9M9D3vj4s3YcG81@FggSI zLdt6`0{L+Dl}5lCV-oA@#v{x;vWXg;92j#&c`WvP43Jk?&gjO>f#BRF0H5uMn9 zmNC}j%QN=iK!M}_Ml8Xwj64ClSCAMSgVqzP6m6sP>LtQFhy!!0!`2L0VQ6*~Sp$+4&`C92Zyrr)76UV7R%4P4N3kr(Lt)mO0{*xYv_mr#fLwGHtpi@(U_u%jZldU zlGkW^bZcOwYUdG&r_?!&QFk3~AQ<4x-BaWe|1N9S zouyOC4Xgq##A*6%Nq7j4Ov(_d^A|9LnDuInZD)E_`$xApnhIg9Wo$Zm_mgqeM7JA@V>2k-)MW8GQ7bdoWc0`xDXiX?#rkn2Rm#7A>cHkiK{y9-yiTjx;_GA zfOaJDWKLoIeN{*#{+jWr;_1aZ;4Qbpy^z$sVS#6ALUBH4_#X}A!*e}t=8w+mav|%a zS6PXAnu$8ziaLToY3DXUk*%}Gt^QV)IU&<9Wj2vHVyUZV5`fiQN?Wv0#jaPm9q8Uk zVhz$|pxPcHtH0_aO4{o2ZN`CMr>8!kc*ju?*o=sZTcEqoSek8!g90QOsT!zZL?{2& zQsyS9mjS@Jz1#47ot4x6i%$55LeDAjxc#*-neahc4kNUrk)O^E#3vXBdNIxzD(j#F za*AnFQPkrHj1IJ4*4D=17K3TvEb^@Y;({L+MB5m`T?0ZluiWDFeRTqe&lpS+t-QbBtgmG(D6dmhB0DQfhdsczG{dt0GwI+i*<)3=N7jZXDv-NG*b zZ*oFRY2Eb09W%pf^tzE-86!LNtE3xT6WEp6<+avHIxkfG722JNWN^l>h}3!Ouy4&M zi&G%8wUq6;l{qB3{QOYEW3k>ZTBHX4nyb|C0vZH3-LT@m0xjfudEuEN<}rP|g)ln= zz0gw5;E^EjI9a+zN(|F*Dg?1TnS_(ByJyANB(n1_~4j%IJ^MeqGV5mDkPA5UyuOqZK z)xv5*<9Va9wi2ra+IOyIAKMw9BebOpz@%ZHIwat5app~3+|LJmv7_&@ob-HbB>5&? zD<8E|0b;SPebE!GV*O=9f+z5EUKk{eEP<0fI~k^xBst<~I{S6ops*vZqGE^ln5k;H zkWJD{*An~FQ_}!U9t8mkQR#Pk`P({Pz%it5o_A26p2`kN#P!d*^s;Z`zY1+>zRT*P zq@Ir#f#*i2kiN^_5=-6T5Yfu$ZlhzW+DhJCM>MgR3p#ltk@TnHdlQc2iVsgs_0q!t zyIX#O*n={ziSnrtm3yF4{QA@l*UTYhhaM8o@k7AMQZK7&lYa9*8V6QsgPgC*NuMg(coX_Sa)x{yw)a3>u6SDw5aUSO$jbQP?is1sAWe3F6Ki94cr`0 zGKv&g44y&Zy|Gj(RR^E}YLJT2t2j;Ai{?%VgHx>k(M@54e0W%<^9LxOdNn}|IX=hf z(+m+W#T@z>TUb^n4c0#Z>O&N&)c)JdM2;nXpUC8u#>Y;2hp&Ud`Az_KHGu<64_fyt zGW(OZPBSEbFG9XZ_Ckw$b=w*I-y)e#Kc<|fWFMk4FoOw(g+A#tlYrV>dQ}(W;pROR zs=`2~LNN9P9AbXVPQW?_zLBx4EAdriS?}V6@rE;ceL)1a1t+YlZMzDyvsH8`a2qYS zjYM(@-#p39mvB`ibAYN3(e$l#TY4hQK8UFJ2QK7KWDSFhB?>yVa0Y19ff*qQkv^p! z=7ifKjR|^|b@O6c&oFlL^YL}&=L_{nD1pxAnkeVl@83`1UqJWS3{Cvt`DDuR?t+3% zHc9&TW8$OO^*=0`NB)W(MA`)bfeU%W6_diLcLz|Y?}Jy%cu=U#MwzK>c62`dux#vT zn`{)x0ke_M-o0xeg}Uot12F+~j4lfL$bgXBWaq^N~rh{L=6Hb`p}{Dh@?F_ z;7XoC{t+m!mpg$I%0F(O1+Wl5BN9EH)e}XSBh3grZ{3r4Ypu%tz=e*<(KG(9WD7wCqfQ`sY% zcewVTIQHP>6Dt3qhFFbT_}%SJ36?M>A|2F*V|=a86WMRXY`RTcL%l9Cd{eg^1bAky zVFz^=KzyLBrA=Pt2vS+#N=n*aa1VvDw%mCV9+cMKQwef<7wc$>GY%+6-IWzSB;M6t zOY(&E^4SjwUhUa)NO*{1$S_}rhntc1?Y7gdI&l=x)L*v z|NZ(T12#7`fITa2ggRZ*rfW^cEB$lltKlK#-|0h|KF)=f5vw+WmR)b+rq-*31>!+9 z3h%d?;CI7WpdAca)Em2&oxMkCu7g+H!+IxXhs5&NRu|0@Qh6L`hCghtr4s=} z5cLw;PF~V$CtY%bOf%QEpa-*8Mp0Q zO93aIrx0^c8qa>qHpZz_x^8^`s#)xe+vSh13YRYX#$I6c1&M#hbU)h{BI11*DAqU> zF**&mtf#XK+qPL@<%42Lp8I>|Tiud-dHa$vzUdbgSs;>E7+hBv`SF}VqlC~l0I_qT z0gaPpe^&u|k-Gq>yhxKB^X&2DRvnxb8y}zr-Xi)TzaZ&~ipCCB;mQrJClw<4X4Lmp zFaUq2Y+=U*<>L6>l7gLUn_a}=EmPD!o6W}ZwUSm|r5XqP@TiupEw8uooJf1M=NJ~H)P7&Q1~XXq`_dEi%1|!- zC)^N+=&hxUF5eqnPgHA)%BPPg`{i3_RQs#&RKf;G>45J{<>7`)xK;W| zR!dqlH3nGb+e3$-`gygrE>b{*ss-0AUX^JUdzh<}I|n}tCwYSd@MtQSre%`#G9eK} zMC)u;2~f>j4Oru%b{)KwMq51J3dE9d>E_mgsrN&v5oU}jjt_9y#WhB9_wMPlI&bDy z2;E3JG*Vx9WV$zhj}Ew%5}@V^gSJum9y1Q^XHM(O3P--Zaptx}WzrP^DZ5raXAcln z@by46H~&H0`&+%KF>(2ra<;Bfoku~XsLUhB(Wx`UsY`W^e2!~dozy9bI0O8T^=GqS zRSAmc0(uw}kUiuObs)Xf1l%&GsCb$)RtYwBvaYn3PmXk@v#OUfSmC{vdWQyjyp!_5 zndEekcwO00k#}P}tKszyDvK8|TMMBv%DM?uDlo0s_BK8R+iIQl~Yc= z9k#WtKI~QP0E4vlaaNnvi~G@F9q)<8L>iSENhd&B-a>muRSn%rNdVq*pts?WPsO*1 zr+S6%jK@wk9!asbldLg|=R)cQw@{PRWKr~5mAJqkjki}wp$T0V>6=&j0LAstl=)S z*ZUW?%ulg>x~8>)f;}I2wiv(@lqSh9I_8AwPIh;$%8+HISi(LKz?~3yl$1vK7}ndF z!#b-=ZnUaZ@iJ!wC+CM2Sbyj?uft7d4O!tX9$5B%0ge?w7IG@ZVTT6-h8#jNSTT0C zJ#P>B*qx$v_;B2Ro#NXY;X7?1X#+|aO^1ayB)jD-`hFl#V}0l~C}o$Vr?VLK;ZmXb zZq?bS!3x`z9NbU_S<`9mboB34GjIdLfAuSUR`TVStx9G9)^oVCE0Ec!Ex*!1FIdR& z3j3Y)p%st@J$IM_kYJC11eB3cPfs;tYhS3!o4^?e0&!kmK@Mv`ltFs8An_#0c{3fT z$JGw%L3nJKsJA%*6g(KGqc9)?=NcOw1;8an&gKN4-Qt`|VqLx^sFT2xEl74iB?W+1 z5*G~AzNn{ngGt5+Ktl!GJwhZ^Pf9oJesQ2=PvTL}qdJ;!UOmhzsH7{zPYXG8V=1Pq z;fKB_uo-a!e4U2$eNd<^-*fDGylb|?3fXHiufx0fT^-dMNbT(l#CK6f3Zj|bJ4vqu zN;_OaL1i+s_oxzBy~Q0G1*kFye&whjjK2>wu*w~Y)X~wAN!SWGI}Lpoh2o#-AM>R0 ztJ6J`DN-eKO-fWrWO>9}P)4W_QTeqhX@S|}Ux+qS6BFwwKxzv4$RP|63%g0V!VxO)p?Of-wZx>nQ0;{&Bf5coyb3@xgdc*9IW=8jWT%` zBHm%70easFf&v2Nst5^O{Wa`1%eIuZxvt;w!RLxgsT=hlcameKH zwiPw=j8-~B6sXVmkAiN`Tk7_~W~#l$^B>J*f(Cm6*lgNGu5DR%gSR=i+T75$u%0P# zW+d9IdN2#&;>eK%So|ZXy>*i9i1;*Nd$-}|;|$+vmv!hxC`07%06><7Z%e||6piO! z0TZ;kIK6df27LTSfnx9;Rj4NKG4U>=J0{t&k?7?Qs_dVThL%4xw3IAM#@q^0GmA9;@K>e^fE zV9SIB`l;1FCVb7tXJ(l0F8%1%iR!xqCOwj#3nIdwZZZlZG&-pp33RAL>JNSs+js~q ze-xB#&_5CEfok}Nn0L(+|5f<7`byCe@4iw#Dh+5@;qqOs4TLiL?}=6jx$aFL&x(&< zoa&J$)`RIyNRt-WAP-2s-mp)&OLI$Oe)A1l3CQ1x9>B%tl>hKhws~ChJ}9eOW~$@{ zfd?t%gQI0&0|8f(DMx{7m~W&X-2ev2pe0TVqX)s0o9nq#dBKGZ0xXq|Yi_A)HPLp5 z$v_pdR|W4ufTbG1+ks*>ck~;rj|?xdXR58rDIj=Zq>!dQDnOy6WY27#^NpbB9wW8s zQU;O95&*Irgxyha;55XM*Oh>?NlUZNR0mMzDx5>A78EAnT%1OTIGCkEqA$~P0ohM> zbN5X8QJhqsf3H9b!TZ;!v>$(_eFcpP#@zTwuy|j?6!GI+uXWnRKja~eNmM}X#f;ViFX|g1 zaV&=GkCl}bssofdKQ~5wIZO8A;1Jr=%;uGlK2i-l(7)kG$fL% z)M7MpAc`Wq2pAgXiP!Ikj7 zVV{x&bC@1|^f!L6F5Jy^JPmH(eqv0V>JTr7egjWmY4!7eoZ<#z8v#wei#_M4DVkd< zVRwe>4Z>WjN@;7&-+@%mbHUr0qlW$)xnhgs3iizS_ehmlVDGj?d)kZ)`+z9%g=QYU@A4FBaL)h<<*CXuYPUqzc_RJuwkF*8E$Vk%MKrJ`KZRJYT zXdM$#7S?h-2CABecbd+zw+8-XY)sO~hWvzz^8f z0i6=i4UM%MUU4p`Xv1}oZWMS^tx9@v_4il$HR(sL;6z|{W>A;vAO~V_6ml67)zB0i z62h4EH4g?zOMtxGqx9$Tb0pF=dc{9XeuA_QsyhX4ahMkjE{zR6 z9;XFGcNpzXzLy5iOCb(^!gYuNPtVEkpiL(Wpl%1LWTppsh$-U2l{NVwo$G*IsmC>* z*U5sjH2|7nEJK|V=aPRFxihp0Q~~f#El7>v?Aw;hcXR9bJR4M#!YUtMe`x#Qy;BDm z3&5W6q8Ui;=|bWMhLGkRc$}5c841tubHS5Ox(MbV;P(!*QVQ6%`Q)g0K4i|09CC0OCymxD|}}#63HQ>)+v4hZue6 z0|{PrA7B~e+S_gAo?^U~0(z-`x@6!gEMu%TdswMd+}4_}9r-IBI-9}cQ+-_Vyu6c~ zIO~t^p_B_b_bV0je%jgYJWsy`Mkx60Ks@@2alEeY0hMBBZ~RqZHgctn0)hgnsel_U zch`YST(hLYg8R{}W#s*reGKs+?4X{Mav|NpeZBsx_mH3hYQ@B&BCq>2D7;Z^uJof* zY_e(5Ha@#ZZv{$`GcZ`+Vx%^6H!p{;XzGKzilD|d=pwIP!JmhVSA9b?@bXDQLNAHA zysAk`5;)*;$9ii#WbW-DE~cx>%*|Dz{Jylo#)vQ4t8y``?qr0V5Ct^BQB5zo+uNCe z>wyL;C7W!{^Yyvb#d;#uJ4Q;JyZu>+b*Bq`?eT|%2?h5AMME4Q?>DWv`kT(fQA%}i z^>xVMsad9_bON-Wx3{_bm$t@XIqJ4Y?0xY2gv09K%@hy7`=7oXs%#f{Gjq5#qb)eP zvFukS$Z$Hqt-(uH8Hmv^S9v}WnEY*1E_9tc!9 zz|%t(lw2$qIQGBEb)XE(XM$Mv58r0+xs(oGLk4J=o1>m+YZuQ7=ZXc3Hx zj3a3GB4vj-rEIth!pnEa;&I%?zn7I^Y#9AT^m56UG9bS`b3J%e>B zuL6HC;N?j8w(@^^djXrei)MZ$qeWF>1Aic8o1^1i9Xm+DGuZ7}qwdqg0KgH(8N$S` zXjs*WPyQ-Z!uE7}HvW$5P4sJHkpU3)zp=`>C%#&;dC&O~a7IYC6+-2`i9q*01#h(+ zA~_1|?#m|5$AK2-gBIJn;gYpH@{D9a+=#_o*_lCWPYt+TjE^Ic|rUvT1xX5b= zfGUW|$$F>;M{q*I+T$!Qr1CPb>I+On5bk~8al9XCsVlE-OR=J~F|77Du{1%Ozak`^ zRjM0B0vB5QT1@M}t-iwK+|GmWVAM7Q}O0z~0qkNK(S2F?Kx(O*V`rW$(b`x1M$ zHv2M(nq07WjM=^gwfmlxW)ky6bz`FipIf0o`o8J0>|ye&_rrV0?}vRCFV5C!OKH}; zykn)r0;h)TrAUsrz;X5ejCqBj+EcGFR z`+7t=W`2OajS$dScC~s^JHvZ2aI7-b>hr72%Q6|qRzW+_xE6Z$fi!UX>QDcAk_Ao~ z{bqhVYgCF&_CF;%Jhn>djsJYw)W(I6tZxV!xx_3sPMuWVQ!n53}%yq1FE z;|uzCkI8JdtZK2&^OIYzf22Z=s%XZ&~(|?Why_* za6D<7mS@=U>6Ue^o}#u(mSmIJkAC_ph<($Pn87c9{TM_fOn-2Xx6E_ADTQ`* z$D0&&gv)sv&O7A0_AK3j-K;)&)a3ZjnB1Ga-9gmp6G^uf+gFdb%LVx3(p3!P6ZfU? zFNfZ|75%X)UxJ+fGC}9k*>TGArb4Bx%RB+=c|=f-=EKHECOdLfN=nBv$Gjd|VIN|T z6@0pFx5qU5MaRdhcA#&&c6EjKiGPamzLHhW$(s$6JIed+VFoXjw+(;VCch#3QhihX zlzjFvZ#Q#-#C8?wqh>P7?=r<}(~KUk%JQKsD%QGzR$Za{@R_BtjJliDySr}wYRIA1 z(MajmnvDLij?s7==jmfPT``WYpo0IxR8Qi&v!!Tuyr5cd@icLR&AotyR+Igy6#u;` zXxY8*BF}BWf6r~a95m+j_#CY!jlA=VAj%?cLq96umC}}VHyIgMYcGdfx;`ftv34%0@?gf(Z+TmmPVmR&CY=*zw|;Et@!Lld{Hgg zcxH$8;635V-&x9)YX1I*K&W`WG`AI{FdPHaGGw%CXG3FSR03gORP8$bJ^h60sv5ig z_RWq@G!ygo&tqfDzd;JiOm;ulez~GLgj^e-Ww_txDBQwBx2By|JNodRhKpKU&5g$? zA&=4+*N#NR_2=@UuB-1V<3Sy9ANkplHlqm``3V!{P)gd&8ZRD6}KY1_GrEF!Fg@O1s z@h`YKjQ?Z_BAbxa&GliM)m+}TY}P#-4!`S}M}&$=3wz1<&aT$!i}Tc|dSluLAahPw zAae#+KJp(ueVg)i+#voJAM?+e&%~=<)0dBj{(8>IudC|r%0p;VOLm#eow$Y(u@z+$ zz_k8eXxIDKXp`};=vQ*ry7O~~Y7NsF;(tM+w!nR9lGEm&A*<>Ed91V7=4w>U1Xt^t zn_Cotx{>v#jgnyC_>Awwg>!o_Uyb|$12U^@iyZuN2HEXT?D+_1g<_?Ypcp=?&h-L=YC@&hv8-4tcZLG%};fq7gb}(zML&v|mnd z;3;>dn#v=F3%U#pD+>fSJeddA)S~gY%{zRubJLXNU9EjW@d`)F?lNSi>v0eTNw4g)9Tepq&PvTD*v5fuyEeb9Y*&Y6ySVwj?pJ?g_-zG4%993Hb+E za9)N6II*^#USwyI>~3p6tF=ZOa^h8wo&G#sSKj-DHJk4HiSZYI0lVGt$%T9s9T>rm zDd@3$&_6}2R^PPwWQRPIRUMH$IksY$IuTap0vvwx6V{yEz+f z4`wbSHMPjd;Y9C?x3;RSC3WF30%k4#qx#Lc3*FsUOT3M#AMw=a;!NF**b6u!gNUs( zqCc#X`=s`=b}SEZcS<=&iSHjqo8LmnE3^AaEjzIB3yX`%MMN)2j)P~#$~u`cvwzzW zl4XmXSNNf)%{dh&JWWs$>NV6nx_*Bc zrS4c$V2#aeik6ixs{>xQazC!sdryU2)5~`Vyd!d8(Efg*5WSI408_6HCmg1QD==x~% zN;jk4s)^Z2HYW_$fE5s`%Zkt1`kjWaS$6sHLIyR$+Y1_m%?;KX{89hA4>qZ*3q$PL zDd&nfIkO2^KaL8^KgMT@xH)=E$7-FTKg#-D=iF-YReENVZ6|=*AAq%b?|o|OQHdK= zO%DR^J)5=sU;;1R0rDQlsRx;!u-WSu?ng?5621H9KwEN4P?xeubHr7J%(aT!6D$&W zp_YrY7Ge>@ctOlpr}JpK+r6EFHVf~)tNAN*C5P*@)ls(-P_rC3B8HDdA-%Ji9kTjh z{PeBusa6#T<8hm9`5(9>8AU*SW9A&og}U`FZyz}epmFdBcStP_RhdO!L3i5ar$ z%QXoodx=w5ncfH6^|~c>=LvIW7h%^ADp;Hsi{hwC=zo@zx zZk?mrAk6;;4(fXh26sxDp4DS{FVXXd^A~=^s$MH<`9n1XBcHB&ED5oJ_fc*3>}>41 z*K~JO^@M2a_5MKdjR!a?MeyDoV9fCoyACm8-5wzTS)i)Xj_J+Se6NaQuu)85-s><^o*_^Q zETGA%Tt8&Un3b=UQ$|n9yhF+nQM`8iS?R=18O2;?ZGRVfs)>(1>EVYKEOx%#Q( zobA$Nea*ywpd_9YXjnb*A6;CnQ>1~fIh$~nnwksO2mG?r{>(h!tOi(D`M{ zi#odz0`pzSJ;rK{#zaxUE&(9l{9<@6MN^X80a_RLK zCCTm`yeGyWZQLj_uxB}v@Wrm0KR-K7=^5Dr?=FbBU5N#9^ZV>Q<9mSE8d&z`^y+3l z*p2$fxT^6FM9fc`mb~iBSUsavHda9~Vs*?k^CA~e)^@e)bk#cX^&c-|7%t>#Yql2! zrIdvzcQeEy=XJcBxZ$>j2#1tBE8I@pXh3J7WqsCoAqRh+zroKnuCLiT z&5>7#buG*Xsm!F(s@5VWkwfdJKO6-ztRIE4^sx~B(O;KWPh$|D%Cxf%Ia3j2`*0)QBSk{ z0uV@U;gKo^tZ{E{@`(+vK?lhupDbhW6bSkj zzu~bqG#{F#d+c!+-{8P`{_Kjsj!+G(nG)ufBYu_a?xPkQmvg{QDd(2HILZD181pEc zK~GzATxp|!yXHQG4&FhiVK_MdP)5A2C^4r_-U%%8Fqbgt5g~oB2?Z-s_W4=`) zSEkJ*pOq^*nAku2$o^}3{Svnx?oR~N6bPVJH)P}l?H1xDeq^?gbIvd>QZX%Y0UzR= zS)3{^aV@qfrs!0^l=UAgd7P~o+E5E)mKVTJFceGe_8wyGd*RN$#H*Jhu=R}z+lfWz z5CMU!)Wphzg2W7Fi+;JA*3q)I_C|T5!!Dq(C_OteGfcz`<&B~G{ez5W+X7{bKY?3+ z{Eo{8i@he8=k?3AoP~*|;)=SOhtXjyiNay@o^hL82fqY7Eu(~0%{awFnLdl5`Buxs z@l%Q=X6N#h+^3-+g1`avTuURVmQ&dDG-~;wl1Qem?A%>9H#b)T+zDuS{X^_~{FtTpI=xHW}v+PDqN=F~di|Ahx_4O*`GGoVx zq)WqrJ7wyNB_oaJ(8joW>emtpNqL%&xiqCTSiarUCUXQf6|#1q#Tn%nsD;&dPyK*!fHGdwai+|i>aPtNk?zgLNU0=580YU;RlRZ04CK$LkAF}TGZd0ml zb5>@WNW_EDcbe+VUbWa;JUc;IW}`G32!{)6LQMUobj4l~g@SzbVdqagysXtl)IcpUL0kea7!$_Foxg9{qLbNYX*hZ|W$}P!1h8 z$pjsF{USvHRX_Ercg<^SYlOcJ)nBc5kF%NTaiyu83n7sPMem;r%U`(6l+c7k3&owA zGGKZ#lE9<{^75K;VfJhFkrg9GOt%&gRKiHynFptlRP#{dN#NeiuXqG$X(Xw<=ANde zi#}?I5R8%YeFEJB?eEZm%o#9MQ-9XYQ>E{St-8TG7ux?GA&*3vY0Q+(M*&$JC5K2>XbK9N+CU9l2j$XXUF6QEm9Af1 zSto6Au?3FfQ*#57eyjdbV5_s(Qg*AR4w*&^--B@)>4uet8(WL*dMzmm&ZDVhg0S}f zBbtAz;iMI*%NVR5Ff&HyyS<UdxG1W_7RSd>yd% z!Q?M4QwNMlsWuw?YI=HF=KinOlq2GB@1x*)#bhAGnTwLW>6FW*avh4GYdC2$AEylt zWRH9-e-pAKSshk*yPc|+7`9wKsA?QCjbpU4q;{S!(RGYq!`x^@dg_i(-fAgj6pA^k z7SFhjyR6(`Te+gp*k-vt#M*$hlu-UD#*N91M5 z$GW<*<)=4?6gq-6u>&NOQ8hsW&+bqGg^(uUt2h%bzeq+umuYo{&?&LUoN#~iWf5=N z$XhV5ZVD%*z8!E zzUpDe=s#JB@Me>FJ?C^889{s~Qo>sWz?jOa)Yo3N&+}zkG31;SOS!60aghPLB#i)9 zhhTR`mOz+2f~4Tx?+=m`%r#E%yp}SY;$M^E(g{d;PK= zx-Hd2IPrDwP_sx-(E4GZ85J@@F=EDaSMEc&n*=PBb<@U!G5H^Ewm?cAcYYrCr6JZY zSZD98Bne;vtxG`EDbf>vDUdh}fuQ+ik%i<8;|LogE{0ZA#{<^(;K^JKN28lApwYSL z_Q7358ciM`yJ}htTEUvX$|k&^0rhK0@weom}&hRd3@kjMxp1Ma)TnRYUYD8SA zIAB(a5m`3}T9yf2PifxikdJ20AQFj`dG7poGwTgD@1gmpD__SAO_GRXTi*rB<%ngPqB4k*)YQ7Qes>@%FQE;}*+vrIny z=GXkt?dobFH9u}v&0IwI?#%I^F4=7-<8^#|JXjwjl9mCSw$TCbv{w|^dzy;I>;^FR zCV*ke3K?D$NC4WZeHKUq)%>*G%>`fDI)LVt#^I@WTtz`X@ZNQih7 zc;kHpm|uKom{Vb8Y!EtS?*N~J-Pgd)F$S%B9&o(ZqAN?8)N~E4ZdAJTl9I=h|FS5& zRE7C{_#z!;NT@tH%A+huG(nRlqatB^L4qknU9@`a*I9Ih;Zc>xT?(+J|G>~1* zrcp73E@b+tI-D#0;gs0NrDi5lxo4>d(ADXP2&a!#IAfPX20Ds1ic)ao5-i!qFo3A<=e42LMb1HdWhmrN2(zCO7ZtO2sV7+S`h9H_pm(`e$S!!qJ7^ z1;WJZ2;73&5d1E*{&n{hE|nk5J!VW z7L(RJLjC(yzd@j2u_yq|sI{;yCbkLua~Le_ZKRZ8cM9Px|A1v&Hyw zJgbN;N`moO%n&z7TIfW*4k(R66&!E=qk=3QhKI#yHz=@b{iMsVoO>HSh$rt+bv~!` z8hZ6TVb4$H4P!$R<1vsDhm>89+V)f)7T*aZtCL?#&nsvgg4kU#)*FSi%vc$|_B@2K zu3eDdLy=k*@n4VWKXYEoyf72yHVd(@%tZ81=t(pMZ%B4AEA!KAC9O1ch-pyho?qh*CWGa*>vk zJh?QxJD>Uef$kfcwN5^EJ46~0!;g=mqT(ifbdX;6oAK2xW-qMF@sfd@_Zi?uzm7tg z95^wN2>0{LmD%hLDQIG7HqjDZPyhJye>qJ!B9>UzP2c@MeAHpNSu|2NA5Sm7M zpNm({tzSHjb@m*(DfRD!(tdrfD0dP6D*IACM^gYp9S{fZ?>MNM!Mu`IT7+n%BNVOu zoj~9xUPikwlB`%cO{Fq>x_(R*P=Ssb3cPG16uw>9NDYL5+AzV=YJM6z3tcCcDDyC9 zs+9&w&B!00xA+$3x?u{;tII3wyHZ5Ch!!uWtbm z$1}-`woQZ3zO8&~|MnSzCl!RR6v?i$lX%Q&#gH``5En=>f-_V?XV^EWbn&tLRm8Y< ztJ0EaWVjcYIiJO=BoB7jKx4%lO^DF+`uqDyT8MNndW=L|BUzpL`cAE!Q2=XOtp7aw z4ImJ*Z&)p48J0Z-1h(#k>wRV`2Y1i?>YY!fB#KuRoM|=Q^Y2JsWd9yPG;xTg2U~8w zxP*_*f$paqg1jKozTQLXH+rqUM5iX^J+N#j1wG(_|11(tR0X(N`Bb(Nxy+;iGstL) z_L?c@+#dMxK}`xp`oPcc4VDPNm0zzgunjHRHc(D^8$j>|_xrItI&0*1#_t%rqXf+Y z`ggv2|IGatzIm-nw4La%4h838x`qM|$suk*)5<~*{p#&;E-o%K_=LJmcM3N!nuHwP z(}Sdi9zt~cbJn|o@>c-Se2GZ#AWsi12VsFqZ#79oT`t`5f`EwNKCL>*}}$u$N4EcT6^qAjJyx(2H+Kx zM`h&WATu&8fAaAEj|fT@BUk8qh*j}Df);g#_=2^lyFJj0e?|(B%X`F4m;{hF*eSqL zCZdV$4~B?(rmDHcbiK258H}Eu&0`qT73B-6OyTdlu?PdCFJJ#XR7i z{14JJsdq<%=#+2^T^K^F^q1BtG)&L^$G-&gc$Z!^o$_gECq&S%Px3<>!Bf7$|E{W4 zvW)xhFyuF&Vg0={I<=^S;s0f%=-H}_?Y+9V+OgB1D>_6Y{LxA7e>XdA$^PHz?r0d& z=-{t@gtwagtjzzL&FlY{JCZ5UAYYI<*52MIS`2mTL&Kp zBwy%^Ia9HIZkrP1?0<047}GO@i-tYnxZHoS2kE`wZR~BVwa^%32G0fE3v0$yfpWI_ zV{x%-U>nJ#Z0HJ&h-TrRH%=?MJcC9qCdY!iG$9g+WONG6cA!I8G~lI58`u!lQA~*>X7}eCC_xT?m*+YfEw!kl>zTvHDF@JGMnHfm1$>Fx4 zRGAql_%L90S@-3~>)X0>>C0R2@yuTsT9&erYHs+azo|&y`+r2fvaS99M7}Xiv!tL5tUimhhfoPnW z0*`7eb8&RIc2u?PVa$zbq_v&R{Z_ASFMNdPY)(^3O=(wGkg};zG2iol)FwDk+iLUO zMWP_mO5-Kh_XsyLnl$A!0(7@!k(<^8sbCq3Va>J)MypOjHp41V3U;3FJIz?i1c@XV z5N7`jgQ3>~01J*=%q5Yx4JSUwi5GAsc}b$ZaV2vWnHuwhSr#6l@Uz2c=uiv1QX{X2 z6j~+7Dqu{#Z|D$2%e!q6KnHj@`|#5iOh{YzFz!Oo;mnr*i}6e3AGP*$%7nla?Oi3;ZE z3(LE62n%nUs+{mT7&2-u~@4ytuq(k6_XWI^jIO850$VG*#8YGYJLX0f(!Yk1l?z55YDnOlu?$H4PV*=hbg8X8 z2}7YXG;AWZU$S<0-hF$%5-821S^mPQU|JgcKa=2XAj$6Y7wVfp;jkCqyn78aPn~q>ucbA9wyYBZt(zpI|>- zL#F?A>d##8;ePgm{T({_On8uS%4VqWyocZp5nFaRbeS)D8j->B*ANNc8dVFYJDU&8 zse5^?by|eMJ;mHm0}gH7%P;RIxb5^oNn{|N=9GdRioCw2F@#M%M4LgsW@dCCQ@?N9 zf$nA5tp#0#~8|0We_L$QtVCm|oinIZ5A^!|1K$Z3DRTNX9Ir25#d8&_TllwVP zPw`qyYV7H*0Ehn+0`{9BBwn{2UP#!`9A0quWP0SmLlvE$eB{mhL) z?4LGUY_`d}+*(;NtmX4*aj1mwZ@-KtY_De4sOC>cF`vS+YFK4uk)eX zmF8TR896jm%DHHYA9Gt25WaJk=JI7BucEEQb%M4q$`Q>muI5i`9*1J3)_64T!Rp)y zEx*NK0MumUxtiQnjeu-kh$6H~Kya`?Ha8Cf@Cg0vNQAvU3;`2|k7(kCScUnTmK&}1 zqf;TmON^_z)Q@OK)j&;q?;=}-KIfZLx72A-E2sw5lAqe;K$@woeaE3RmHE%UTkn%CkN&?$GvJEx@MXh{kLT4doD z)u^nC7IRGCF{oU%UpdI$^L=8Vo)Z_)xwK4x%nS>*a|yxQ)zyU$;t=E~T7wZ%e1o0m z>_HSCblHTc_^;=}7^X~{`-Y;XCrf|=#gU5Cx;4@uU&EgX6evG2y=yrTpPgVTp~R)S zgT;t2K3q%TW5Gn=1JFoPbzlgT9M{yu&_)k;8c$zFEsw0ktuLXPs8)z*#=6JCUR4LzK(KrHkK<(q5OjB-jgFEuhqyYJd^WT@f@oTTx%MH&VH6l& zvon-h$m`Zar39292*p-~(jt}+9WU*w3>W^5smW%_rdJ-SUr^nbRvMHU z%!K|omJfAQJ5>$Om6n=_rBrrFl%3U8;S0B}^|6s|=3=Rdg6E;<<8wP=fcxQ9bfDM+l}*mL8FmDp|<{32v4pOeb9jmy}Q)E9}+&BfHZi>%GB4Hh$t=+ zQC#Eo;+ubZF!2B;yl6g@I5YJb%nF!tEpaBQOl0T;+gY7~^J# z(ovIS#;GAfUZDfzr?}A6&F@gwx1nPZl?%g)58dRxjYg^eA{!Qr^{DXq04JTI``;g zDC8Oo7QcM9@bE>sM%rLhlTe)VvN|RQ(_WX*8=NZo=u!%*@B@c#GX(y}V5@XX8X34- zWf;dyRA=nx$LL4w-gM&Y9TDUH8Upq2Nb@|JTBP(g4voE#estc z6i)UllPYAU+&PoMSa|`}->*?Ae?B-9gcI2r>L{#&7-oT-%HP&yj*Edh>3DQ20W6Wf z!H2$qu4R;zN+yG0)b-QXaik$)Ts3$7c zU0hgr+(o@;@A=^|)@`~kPR?%a2vn;4>9wA@Oqg#eH{tO87B4HmVL$$Syd`T+`uV0Z zV=EQP;`eR(F>RLK368$Gvb*nr-QotZk2d++c+pY#6nHTH-m;RuOC5nAwH;Rp`lh^GHU;C&DO+_#~C5h0>vLS?r9 z)-+UKr%XZmHvhw=WiF_WGS`3{@t?rjKdTY9&@MydVnUZD0%{0fyi=0vN2$llSE|!H zY|jISMnlCxociH(%a{u~Iu431zZ{W)ORnMEGAOrC`AtPY+UqTc5XR18Z6Ua3;8Ilw zVzuw4AW7~`6Ad&~O^ye5?FCOBN+$jL-uujZ(uB`lhI^T(2ZdGb)uU07!JI~Ra)IsE zUxjx4e>KN%h?Xrm&9eobSM*uA+*5o@&ub!cx$ULSSyRC|4t_;BY91?gs!wiEzT-s6 z+X1Dj4qxYrS3zz&A7Imq^WMF1b7Kdl9SH()_bJzHssu`Ps+tZ!5_;VAC|o|*#QV(M zkd1W%>Y}Wv_jQPuy3b?=xrrGo-939M-Ah7yVT{Y4e;zsEmB#+&OKZ!sYBqyC8OnC^ z{{dG3`RPg;JgWPNubB~7ABaxTj{6IlapMI?z1?OOGflE?j691)*9=gVAH1w|Diks% zRB4VXN$;g@Zqm%&!6>M@L^ZuP`HD*pvj&2ipv6f0(tPwb+);I~6~kr=6xk<%Zo8}_ zaU*`SaC8_I=8P8{{J!|NPudQDx9J~on`_?(((wiVyi7@DDB81Yi^@dN*+27!XR`v6 zrR6TF@v^W~ojJPWxoK^?xf9YD$UASp!p{(`2StYsK7q)T6g$CItpV&kF*_BU!TR<6)I*N+= zu1`g_6A1gwCI;{7%YB)Idk5v~)2uYs5qxy~PcPAn`r3k?qI1pZj$T4P#4F?Tk%igiAuIYAmuB z6&?= zg)V40#)o*Y@XE;uXo3rwEZcxlN{r~cwlYul^e%B)Ros=<4<}8EUstU7SQ>r2`GC)- z{t3kjN+PKs#3*YVeXlpKDkzs6^-JKGvLJ0*h(!+LePP}|(7ad0c?ifx=P$%Q&#|1= zg7!J;J)bPyW!t$;Uy6j!bT_z#H8{JW;1S-_|L$nCoVBSkTn+f7!lF{(dC?}2o@KY#W$GRe5TgvrR_^r_+Fe>yO#a2UW9lb7_F&T#9iHB6kBpu& zA&ksRR3Xu2GgxOTcH5>dYlT7nXUCyZcCyp=gWwp_%1a}mT&rz^AiT?=hjCHLb^JN1 z{v-d$nW>rJpuDT7*vyCU`?%}fNA~U=Y*n$U-#D|Is+vAQS+0!|I|=GlV_4m|(?!#M z!CRKO7?7a(nQ#kR24zP=jT78r7m*+xQ+z?7E%`4#;R>4b@?Mg z8KeWx3FB`*{AMP1P`@=Gn|Uv-09kpuo?>mc9~vwuC%+J<&5yYHlO!sMH1f7?sm+hJ^B0YBS+v z#mf@eJ(m#U<+Ws8h6~XgsK_7r`avB0gl}(fJF{&u@_0k)`(7R){=IpgH@d0cUE)b)=DK$*^y~0#4j6TUc4Ho-z^J!VDK_NN zJ%d-FKc6sR`RFMhm6;E9I5mfT1_DFZKJ zhKJXNMAbr~h%m-y9jd2*nzR(p5QE#6g{x}6#XhiFBkl<5nkN2!*RGMXRkX2hs^g4H z)@A$!%(01BM!0A4aC$oadNCzufw#2vNs4AXH_mIZ;McffoJu3swx@Cnd$x2gu=qjW z&xN?16g~9ddxc~G$+ax|xw%h-a8k`>BjX z%pd=!jV8uOnUQu!BOIz{@ zi-q^I35`sbBI$I8MhJ$Xz*nI;=tVPQtMd7YfcnSlv-L+eAKvPCGYyzb@ul1XO}PC)r@m8 zUbAO5>I$j!Rqz#NJd{4+vyapLC+qYn{rDe-p?TM4b^>JQ5o8h2Ps-BpL+jNnL1h&l zNi&|QDM9i)>#24YHXFQeiOOh8sjBY)W2V(we($?ukIh=|J)hs3#s{5a zm31(>a%TXt1B{S(3&*$ML^c8?cc&J{q||CiZivD~qzDyf%%NNLVcA39FGbe9x1Do8 z)vD-r{Gan0=4q!L7yoeE%NaF6T)HPf*2C`bciMRjE;a2vxT5t*)|SY3Hcn(cS#o#s z!J=;meF|B#I2z)m{ddDXlJKL3XZLr7RUG#{%G5N|9U+-Cqb#C>%Y4GiIm$Zc_@|r! z3%*PJFI6RgZx@2kf~iaWTddU4jao^Q%=KySGZojjk}b;^{B(cncJ2sTZqI{eIu-N& zCU|#lDd+SP*WR1w6YrnEY;#CIoa7=9s^o2Rzy z!g}wz{U78-`}XnV?y7iPb}QL<=pq^S;^X^h;IK-}#XXF$77CN4-)Q|!QXSfs&ck>h{Ju2R zi&tUAG)=;l%ST;TLqFM{Uz=v->zeGH(H^kE`hMWKlc97a#JK2Z@VZQPZ=nGzKJV?G zcu&kR<0l{h{sYelKI$@n`X+^q+EYyq=X)g{owKkS`)9#QI3YqnbyMr?r=d3oT(vf> z7+PNg`zFntPVj?M`D`n3q{JXl)P+XKu7%_6AXD}O@nPQvcxU20sN@CS8kyA6X`{W6 zEA&G`bmIoA^&N9uxhjux*?%^i8LZE?Wci5t1~V+qIGXRP?1>Ym5>_H7)9Pk7snAuf zfhPqH+4Ux*KxV5pLfXvt63%udB&eS7ulw#s$p1`O&t2wi zJy3DhG{oCYG4xU6a-(U)kM5~20N8{-?6v)`IHjK93U6U`+!f8?Po8bxt}o7|fA4Tr z+)!W{q+!>+sr=|h9+UNMJass4p`2MJ?5((^TGa2XQKJ>vVvkxhmYmr!ueRPIz^n-= znNkkKaf{FV04(53y=01}<9lSp)y;g35}Of4N=bDh9@selde8eRi%bcNfk zyprV$^~HXg#%p8jy7-Hx(kDSMMpk6|*Xc_%cx?S4F>2o;$??Kr@OGq5DHn*(3`?Mz zRt$2#Lxjx!-kf`F;@Vf<%bDx9r0WIF-*qGVtu`4Yp;>L*{s9T zuL)VZ7pR|DyR%+on0yRq`NlHPazemv>S%x73G*jXU0RoMPrrRV;9c|6!>LyK(c$>X zF;0I{7m-NflO1I3v5)3~=73}+HtRj!Ej+XBT?N*?N#DMIJ7S;lW&iqzoYJDpxKWJ% z+~3E6VwlFq6$R4`HjdlJ%SdnBIbAaxk5@e~(OE9+>uc7|lpp=p;7d;dZeD@Yr+$3~ z_qqb_KkAf}{bY=@-J&6qn#-Uz7AX;N-Ss_B+{QDI^>QL0v8*ZnR>O4?IUcjQ2bAym ztZCfIYR)hos{;WPdgxMEimEZ@C)`@<8ytK1vdEtSI@91QqWni)3XQ(7#ua$ncK2KL zKd~H={UK-i4~eyVw0TdVd4G$GJ8HQ&E-U5RGewq+`s6a~5WALr;_9<%4IYdim92nP z`1-5OH_SgLe*Jh^@zQ_PjbgG7cg7^-ps{Io+p$!;v+fBz>n&b*4Cc;DWF;Iq8!;Rr zDOZOSBS;^D`RRGJ{XHr5*|?3EANe*K?e_{6tXTZ(D4$uk95dPSiv#eYdG7mK`POU) z;u~gvOyAS&d;jf<&JnO@a?3kb^3$KF|Fs2$sv|FuWIN&p_r6vp35#3e&YJ2tQr~!T zXuwQO)$%)|%oJ6Aj7$nBQxCThcB%1bYKz>>pBz-pf!^MjiV*+KHa!W}MgfhbW6nR* zcAGtrruhEKRI~#Dd<5~P#9Qc$0y=Q`I`!A-J7N2rmQC3$IzFh@W-Wz%et9Jq&wz=p zud-^4gPRYyPKHA>EjYiUzN`$H6E4Y53I^JTNMQha(l@DCd!k9G`BYlnfRgQZy??fd zOqh`;2sJ$VY5ErPDVejqyk=qDMJ*b*UH#&917{8k8JCF@eU~?WjgPBusW7$nv1E}T z&L#nBK&q&zM9Fsxv-^ypgoT=+M7)x2h*IHk=iPyydea}7w*U`n_h9^UWr6fC4~G7* zqAq4nu;`3gm)aPuX^<~I7%u)N$B|??yEcIf>n~m2!(!7tpn)-(ccy{{PQjgIJY>}v zX-6()9b8|+OANKt-^+Rbj_;-XSd=K==T{N~@wv0jvqqqge_;H71Bw|8MlVR(c4dXs z3**G@HouP9d{|liY$%aj#r;0+=wxzk~Y9v6~3XB zl8yI~1A7N2_BccjgQ3>~d|Y_3@%y@y7MN6L9k<@DG&z_(uPmFlzu#MUs5zFby|u;RsC#8(^s}u6%cgN&r5WawNi4J* zm|Byv(|*bn-I+FjA%B@`HvDD5b>|G8N(J4JOYVl2#4z=5JqDpqV=j&^gazPQstS(I zyBiGU^mllWuoA?x1|d4y+#u?n5V$XJfEK@sj_FBy$Gz_z9ozt|z}eX$u(w0dGqXg` zvHo)o6|-&`X61KV;dvi^vKEd(}KAt5!!Y-W_{ZEakBQXv-)dwi!f8C>! z93>0{Kh!$2-kWV8^$ePCkuNWr<3_UweAZhyOq@?Udevd2EC+AD$h$VO8vuU*fJ2es zPnL#Ioh*+d%J*4BHsPNW$}H%=<`g*VaqRAZpSza`he^Ee`cmo) zCwy->fy@MWrRY7}FucC`g+LCFaU@4l$7dJ%;os?$3(JIJEi$9#W2FIeEWbc6g{Y zv4*S!XW~DXOT#=SD&yF*>v^M@NCSFZ=Ah;y3FK=|n}vryOD?o2kU)x8If=!uui%}- zvv-%mlV>2Ig=x@0QXY~&e>FG1M68s;+EEp5jJDzpIU&0ChVO=x(2{s|1-GfF{GP?n z8X&QNR%`zqLx;q0D$bo4`u$y9Dr;wzyM$SpxGzuuYz9e44CdzL`#(M&w-=CCQ2xkL zF_E6_mOO)~sv!ha82kzPmZ)~gqBGN(z+^kP)#pA?LoNl-{O8`%C;b3>Vpi;#%@XL~eyIRNZHWy2O=(xA0O`GD%_7u>u5R3drFMp2A z>1>>7R0X1gW4Kqe<2?1dqLNM>(uJ%)S{o3?(M`%_gy0cQI+6~h6fNIJqHD>9n1Ja@U~jI5jrH)U(kO} ziH-v32)^!TqO_K>aEjmPdzNV_!5#f#q>{dLn%w;#G9JllZm&5qN5|%cFXM6WwE;)x zpEg&Q$){-ZtUaywkj7tFh0{q8pyQ@JaATdbuIc676!@%;!V(ZqC!?mFx^xz34+om6 zeQrFO6bu8*d>1PTsO4wEAD~8{a9t8!Jbi|=J7+=SwdduxuDZCzYeJM2lyohf1zl51 zOON`wbv<0T$!}CUytO*9@Cg7oW{jdDuuK#r`-TzJaCQ9}s<8D%ElcSh1Qb$a!aFwg zZ-b+fSbJO9kXQcf?PXfa)7%T&^JiX7`(haql^hHMP}WOj9;UssO?=~KnFb-?t|r0P zNqat3S){!1o(Mi>`tLc;J!QIBH+M8%8xL6h_n+0!KSxURwv7qGcJE8k2nEX&c_uQI zwXgLX5*qqq5euHQy&!)Kq^#qsGdEYtmwIBzsI9DS;a(bpB#0h=P(|T$?tctd@jccu z0CBG*&eQN`J^5SxZ-@6BI0?_P%J??ZHjW$$C`$HuYWegx*4;5JD(k;*e?guzd?~wE zz!xHH8Y$$WCLIlu5q$Gh^gbN6`zM`VQgqYwhoE7<7H4VVLFkCBK}Nmkb>$T3;MnYr z{p}QPbAxwCNMcz%Vn44D*9F+;EyEJL4@WTl~2?3>@_&c65p68dHGEC7O8Fzp%b1=rdn{= z7f|TrM0uH)r87o*;USRi5%1`e6exQy)rJlqNew2pYNCGVCrXJ4sNs=HwDa;>;bG})L7FGJb5b{%#_JD_I38)i(!hH-KbX8IyubDc)_T3bO;*U>x%D(aFY!p*zghSc? z%xE7?q4=x4i$M$mt%YbE%Wu@vkcT;$0K)oP$>Q_^Mu4w>sJ5|&s5OSGx37Hxx;HIan8`2?O$&r_s+^_%zoO@!{YXEOP`FI(d%~Z zqvNG9--gf$K^;H%dLMM&+jo{aYp6}~D_6Qm8Dz`wTJ4~1to?XVEtz1oy*Va2@(dH+ zbJKz{Opewr%l+%R$Va6e&PzJ!m?Xko?9cmms2@1>5Ctt!*+A01a62- zqsd@lzgXItjqIcwAqUPw8aV{PpzVp-K&Gh4om#*qRS=_gb3t9)7IGG|5N4WEVY_4JkZ z?57|5t);JTx6rqP&ml~Ryf8Yq(xR#G-s3k2H$&mef!~?(T%h$kUET!0rZ2n`$|-io zkqP#~;ur7Gq=>>}Iyx^tN!P#m>s$H!*aOHoZ2yX`%&K-ifL~>@3j4?)bLl=JF*PiW z2yX89q|O}F`E29_U1ka}(l>Buk`(M0A>^ed?Ku+BK}N0ibO;gMf_slLn;7cj2v-0W?KSj=bhG(^9uo+LJ4u2kBe??V4D`YuAZ> z+6WZ1hvsl?kSPV{;1BwC{y_ylLT;dBPkVL_Uc1mu(~)M3^bILeR)%$wgZo>bzXC_d zKldD+irNE!dtSH7DJxF~-IaI%5#+OU?TxZZ@aO%0+pdZzP~CY>zrjv)JLyWSE(g#`ZS4q)8l4`A?>Y&xvtU!kSSaL;!;@;P~#bjS$6b03NXD`c2Zg|@+&A966) z=KPfSrYTlR9?aDgS_}JChwT}@b>~@GwtYEB7L}LD15yZwKw2uTJN>E-eY>vKQ$5RV zO!n4pdPiEG!JCLl=yO$77yZx^_HY;cK3!pZ&Z~-}$-eE2vBf~e23Z;`#a9w2rU0;L zPxXC|7qVA7@w(MbV-h-&`i?RHW|HYg+MbiF5t)jtG~_F|P2bl+c38sw8{5lIetFtl z?Ds8c!I9tS^AG+bwWC_bgfStY6=S+ng^gRUIgw6yWM|E7nH95lqRWA12`1cE*q$K^ ziVRY;%9WLW1Q|$qwXa++bu(R?1kmni&~0IB3|x@>)9XFh$(5V7TJ&#?^n^Xd61n?byB?l_q=_#~4>Qo^ll3W@cm5Te1H195 z9NbpGf--!5rFDsp+RtEDKcA@AROif1yw-ol-swIuU)GnGHpBMbu*i)ji^}EaqHLw> z1W{)IJb7%l44ne_baixe`u<;g-x=3*vIQDI%1X1+iwnDAqlhAil(;TfDHc$gpe%x* z1_Y#q0IPzEh^!P9=~ARx=q(5eNDE365kiqJB-A7j;GOy7y}S4Gd%yQ-^GV5M=FB-~ zPM55 zdJDOoqkU>BN=W;UeAjwX4j}lyzOYK+y)QkezPeChQm%Hn|2|}7!&blk`9EJnF!gSI&beV-%6r4%AYWpix z0pxscj81o1oIm#U&6^FOZf9&+<>sZ%@gf{1?+qZjJ^=BS-8h6&A8JM+TP!})OHS1?GSO^J+XOp|zEyj|!Opea}k`mfuW;& zTDTl~#~^4V2dSf|^0UA~*K4sO6!q;JOHN1I1XB0pvdQP?jatR7omM|P5Z2xHcKlp^ z?DoW*q31&JyV;{{9iML6+c-27yI;cuaSnnEyv!n}#?e17{bC(C;Q za`nCw5zM8xju3TBY369ng5V@pi_j}BCV_;lQ+w%Vy*{WF02dIm;Z@SerUJ3srh=;S z9v2+CFmR7wI(o-Vh450BOc5VS@pbMrW##4h!P#bUF>^>^ZGc_zz0L3>5G1{{(fV)#YuXu*{i?@n8HK<>cc3D=P~7g=?)FU7^Yld{D{ zGtQIL9P`WbRWVLJy^1&S!*@2^Exmy`OgWD1dxflVBn)Ssek0^%UUS*~v_^8PkOxbTIf4r}*=@ z6;Ds7Z7;ams3fZL7pe37T|uk7w;RvCjyo7X1&@vFgIo=LtlJm1kjq`7V5L;K|i$Jk|WM1ZnS)<|@@l37;X@dEcVAx01ksofR^aF+2h zX58)d-?*e#>iJSaozSE#Y^;m;qIlyysfq}A-@@~L@m5`99{u)_lLNMx5_8o9DH!gK z#iPd9>EXIk+3){&FQ{bG)8t5OHVb|#$Lq`u)#rc7Y~|W7L$o>R<{o26Jp_o|e*{UM zvE0I`PYLN6rwVs5zGuE$$Tr{PP8Z+`v7H&ZI{LHf!(lj(wx}gs3Fw()7%5@}EN`RS z&WSF|qsm;(g_BM>`aYrZ9|Ml7kGGe!9QtER=uQ*h&rE)#l#CVjxwT!Ke88s1ZGH7> zgVFblYW1Z*#d`bC`%E;>;>2qUAY=6rYRStV!Edf$0{7wf<{~+nE-T&uU4zSYLynm` zr$R{Nll+zyPxf?Ul@@)w9}*z#^vc!VXW=}&%f1@U!v7WPC{B@0)9c#Wk*vZVx|UNd zYLz!TER$w^JZhJb@PmMbqEmK|0Uh;$7<-)v=IbBrNN(s!DSTUN0okdTY!eRBJ5;)U z$Tq%wm$&CpHxI^hngX0$3+&+Ek3T&e>`5e$?ie{mmnUx^$mZys+s2L}BePyVrlc%DQkrpoT@hhWpKhsrma+;2ffEH z6(I(+DpB%14DWZZMzU-kOOGq_+?@XYQijw3@_s6%MZ@1uqHxCrEZBQ7UI!f%D1#U+ zf#}PR;8WE|%jx&M?wdP**0yY@l5QLM?jgZzT>U!PC?)6}e(5PF0L*ZKTWaxFP%RKn zMZkNfo>oy#q)c7a;N$${4J#UE$KzzTbf9W4u8Z;I-CCC~f!iBf4pKD!iYoS-cVB$& z6}pz3R(G&8^0f+nW0DH>+&k{cL5}c|%sQ^Q39#0uI>_0_sbpG@VbwWQ5rBzaYqZ8T zYz@w(Jh|BJIN9{7BTrxDZHT65+~qRYBM=D4J@wuqus71_aKU@zhL=~Nb+Dk5^Ap1u z<^G;|wuOs{{ z-6o_%)AgY6p~|T$&|nlgUKJuUV$(Ghp>dtgyo~LFf zcVhY3pWzpgioU8lB91NSz`OUaIgnLW@hj8EUUBQSGd=#a5_|h!H5Vf^;-6@*e5JK; z*~GuX%seEB?P2Syu3Djg;;sRs!_$YZr`dCLtd-VEeaF$5UREZr&E}S%QigTcm6h4I zctEHv+#QQcC>i&7PT7z&ghG13lK9+~1mnjdN5PvQ;|EG0q2V%g!ehY@fnrae~Nvd!OBNwfMOZgE#~=hW2pju-entZv%*qrybE4Tf^E zV`t7Tkg!c4yyDID{S3Ug0%JGu?%fC%Fsu3=bk2Z^H~^(w@Fg#T!NCiTgY`s{P;r8n zQU7OWbAaG|1)<(Ps0=?-3~ca&jkh8bI6k@Uo@ykm9{IQiU(eiaw7&<@_v{{; zRT8JbBi77hC_FupOaqm;dUew^1s8l$7kDKy)0~at5FZb5 z%zIis4l|!Xxek1Nq z?64?+`KOG-(^Xd-^!5~(4xA$!^GI}JIi6nbr(LK9(6xzRr`FmP5>nR{H5$e5H zy<<^_Ysj8~dm&y6O)&HIHP~)dg<^MNyq_jo&oD_!yV;GiEQgjf*cv4uT;1HhAEkoF zZTtXBOPE(eX8h|bAktW4+=DYM3@&F@d-jrr_e=iVz!y0O-=^bmtF-{2qO-HJXUkyQ zgM7w_5~Fi%_rN4384I!t$sX;W7;BupAR!=pp72omJ7?B~W%eQpSkrWX7OT-O1KMcL z40uMV-K9kmB|gEkRvebGUNe&h!tMd>Q{&bUUZ(-Bu(~_wf(S|_IS4YRjXkD!TQ>hH z(a{5>8$2>}ni4PoG@3Ff%ET86-e~FM8 z;>;TS@=;xIGWPot_6ua1$HSwL*6*%b%y3=qoksa|Uq4(_ifP7sRQk$WjCXnh^mg;` zNTuNs_^8$vXOL5r%eh?fK0H#sEV_kyiI$lFx0?#sEm;F8RCb6S3`i=d=JC$e$#S46u7 z84MhBZksoODi{oEtaun*mbF2r} zeTZe_#l;Rv?tGP35?Su!FFQ6lX()V+gD3Oc)QJT{v_2MtY<{RS0+;S`6H7eKB#}*@ z)3)>mVU+?ftqs&9K$$ksV>5Oh`rOXeJuXtyJ;HOHJ@pcJLnaF)O`1h)D!z9O>*b9N zgXdEhh^#GqmDj>J8?3%Pz_UWnT-WlpMniWB4eeZRrZsq35#^#lH>`Xbw>P}3OfUCp z=5yX!e72r6DMMt;0M&O^i1hk}lwFwaJzv)of)K%jAwvITArrXnTgpYL=Qd0 z#Ks*D7@I*RBnxp~jE~ix%LC3lpJ~Y=dK<%FsLwkLhRVVNL~2f?h|-*PGKP7p@bYQk zj2rg(d((S-WS{dwOAlx=xcqn(1}p_I*1kTKfQ!1oDtBDy;jH@%?;Ls`;iuc8L>%gM zS*`%!vVTH2Zp~64XD9Pk;<-A{-SxGH7O$OexY2TXj$Z)v=E)?cJI73!{Ke0`TjOEv%j zX_(}i%+&k_l&%xpRKau4rn5xA-0W~oEE@e=4{=~()(YH)K?a88vrVSKkMrM;N>;S7 z1}*>rQy{N}Wrm>PTR7xT1SiwK`=aq=Z0c+_>v4;^e}+eW+ zHU_rEWzB`LWo7yy=l~Je1D7B)yvmPIU7GKKGY&b2W6%UnX(+Fw=LGc$co}pxBrCR9 zC2zAGYG=obIv5h9Ttn9W!RmxEcmzlhNbZxZn;v>mz;Q_HIC^yc& zX*&CEz$lgX4KC^;@=gzI1eOi$l5jYrgvdK&*h}@rTmT7wuj^rP+Mb8nC~; z5KBIXUIzMI)yKRG`S%tmkWG921>#oVp|z#@y5dPlmPC3+^GfaiDe%#yBgCWA{`PPM zDCLr)eq^MCcW}gCeV@av5E% zcE>DJ-CK*^${pU?McJXcg0glT)&1!^Q-|N!2UXFw!h5srYXF#A-b=>fI^Q|F3HsLZ zahI9-+PPnr;ZgFWT@~lD&MzHgcCW#0X?qHHk^GJM^Q(nR@Y+OA%L^ZMmXoDMzZyp-8VJI%3KVY+xS&P9w|jX3ze1S zBS!-ozH9*Ot{d_bS|F}%)@wem zz5Gg*J%6x!m)SItxrJZFR5#Y|>?)j*2+nnj6ei5*9qh4ie{JrU>A{_qyf9ty_XB5# z(S1^?Apoj~O*xfLNyTxbWI26n(MjS|%p)yT(+`T+XqjePZYDug{z%?0h*{oA>%?)c zVR=^ApNWqUl3i9M-sctzg(_vKzX!z+8j5UZWNvoG?T+o<+3Rn*qh8foXY>o2FEhLN zx}%JYj1U<@lh41bM;iV*O?HO0X-iY1WH9{zpZgxCp~k+OyDB`{OOGg(1O=ea4Md;Z zua8Q&rSO?c_UUvBKKJX3Mw5cFwj9+1!@4VW%n3xC2WZog>8I-6sJ{y>z?YS|90B^w zGHs1+hrYrMxGdeL1z~%h;6vvAiF_&9xZtNfjZ*JYkq?*bgSo-O1 z=;-(Ng!SKL(kpo_{QbNf4$HHZezQ7b5|P8q8L#{SrWolE0`q4Crrq+iow&|tPImo> zWPm8&byC&JBZLH zwD_Ysmmc+STJTwGFKrA*_2sVaI<7+}n1b9uqCYVbF+K4W9Jz5t(UN@(m=szO2m_wB zUL2@y>{H(a&qwoff`T>gZvzH{Nrjz)i76*Fc>75Wml@zs^ixGKUnSYKpy z{iKpFHZYXuK;Rmw=CwgW(n7KqV8*Hbn*SL#V!t-=u(?0s_1F<{l6->Dy+l4VE|F1P z^pBOFUMtMJZe+b)=MyLK5ta0jkNn73^mOXibr>$~s70D_5N%`!0_BTi(T-9im$VMf zg6hy=5JZ7PzG@EV(|;DRk%QI-(ioAfj1WRwmgXG9b(%S!QN9c6F=K8O7p|1+^~vw5 z_&pPe7=$8sZ4OW)1`Iaz$OkRQqYv!5=wq-zQYAdeE*#9 zQkHUMjhR2c*$s4fUS8|2rmu&MWEY{@pTFUAPY?QeAfX6t_!nPqOAaIL% z5;*!-gEwUQGXVuG@4Eg+wRrVMH}2T?}Yy<%D@rPHq(ZDNXA0(;$|>oY5g&4&66 z{Le5~^9l~P2SFZuzyjwzmj^MvgB}_pt9-n==65MjmN5h66M&Ei@-8@|2yc;%2=G%a zn0S4f1xEotTPDm=qm8y0{IKI7L|vAEkBof zIjwTJBF2_)`kt$!!xYI777{=z!3pY$`xsy^wdSn?l>IXYZ}Wbc&yyQ>G#^8U z7m1oEG(+p}7*Q_KE~62o;?qc{v1g!pG^~_|I)5(y^k34YtYiWoNQD9plY2-$c9>LO zWH5p-_0zEma}elJUauq|Yq7 zRlKl-#1tR^CEw`Lf8*H^v>WA%91-aQD(UB5|8276D<`q7$;-?Cb73o5Akzi;T3VKY z)MIHG%gZ;BL0s@eZ6<{dDI5HlH%7V1?5jPX(F@4Jd>UJhnV7J^z77fnpXYjwG~+g0 zdBUCQz!ZX;(f93DHK1NPU5nR}BaH2#@K8nv=`ZD2;y$+N-x}58i!A81XB}VU;x5Ca zpD1yjTQP_`&M%&3W+5J2)szL7;_t~ia5ULA4e2A5YEe$qV?vYEpW&r+2I$WJ0-24@ zhJ$tJ_YKbYT5aZm8rr^K_*-{`-4n9U`&K$=<7i9w z!C6ZaodO;l-cb`t2t}8geCB^g>vL|W#Cg~=!38%UX{}__C1Le+ZfxMxY|sA;)SYR_ zsY0fRs&`x>0o>#NSTd49^>mnVJY`O;$rnI?Npq0F3BL5!ooBPxlEdI&nPX<$21#Bx z%8Nz57V>Nz&J|}U6GcCb2GM$et&i-|gGf*xe|Gtd*D(;4$dYrl2H6nP@VG}(rxpIY zdBxpI>7E??{6C}XcYT)7MI(c1GU#1=?5;$;(A%MTIP1A23(;FteW2ylRWo*Y{yqA; zyW6=6j)`xL>Qo_FCysK*4}T3;5g@Sg!!&GItf`~F66v+R*7?nSr1=_LGnU05IqanK z6B*(~&%dnNq}D=b`)(>$khNZ=3Xp>iYomH2Klv`g4<>j{g~DsJS2^@2_FLVi{@$yrXkET) zbt7x)pW}9hhW8~YR)A5K{iSy+Jc)=}7Q!FW+A?(c{yFe)PzJqEr1x$&_(2m_X5Vms ztWvC)8sO?f_3`2;=!r|eykEs$A=Q`B^mUim`$ zXdjo7v2|AgO@MqG;Sk&Kb-jq``*TzBO2$ThBVdRscrp_XSMplM$3p1s=d%$7?i{#> z=7xwV?jVx}zQ~VJt;H)ayT*j8(0^qXJC!R5TVU--q?m3o$JfW5%_utV&ebQ65O2*33z{Sl+;aRpN`fky*s2~~dU)b{is3WHGAA5vG_Q5dO zGQhbsOFUxd@^~@*plF(KoDm0Z3pcj#(3!C5T=%IYC1YW7CzX%vQ^C}BUhxYOF2-x4 zL#w5wB}HQ3z*)j{b8BJ@Hnz*qq)%N~jI0K%DC-{J%_N6vttY{SjU#!;0Nc_!W(%0# zO9kK5GVg68S9Q)uhi_0Lz$benV3GlSI|a#*!FXP|DA*U9$Jp;nwVo)%K~Xv5GIzo@xDy zZovzZ0~2t4`NAesT*}RPlU+T0WY>!KC3EfEeej1etgYxU0#*TljaU2%HvTv6;+Dl4 zq7HZQTS>p=XsOafq z2;y-1D*}jTazhjtp3qG4@`U!pgk-b9JdGwS>k}|J-Oxf7B433-((+L>ZP(}hXKsg< z;TeU5k^%x=-MoLJhA0PGzzgrN+FuYG)uy7W$=;++VRaPE7 zvLvW@-r{>3SxWiSAN(n4I8nmnkUpH_6ppC#CMHD%9)?Uhzgu~E`5gQjhx>FElU_TM zZjP5K>M@!8Zuw-Hxp~2nOOOgNMMLu~NOZqSf;dn%2Rl|bOr@qoglzgR5gfkty*d1{XCrS5zs1`Z-GE1g9Y);Xk2wEXL5vJpXNA4_c~x$Jb-_9#zkGuu z3;K~g`3js!KPWaLl~X?L&76SYZZb%0eQAH9A7M|pBYQib>18gpOFjO|?CGvq!T|U$_eI6Aj^x(EImqQFj6pi(wNDgZx!&`}p1_2%LjS$`7`SzB7VGlG9t4~_y>O4%n^{1> zt&Gz9lxIA09!uy*aZSZ~IUZ#i!1yVQLR?*f2E4g69U3xTtag6P$)X%l4_m~!Ia&r>5T_@0<(K*EL%v8s%Y#;># zRYD#isysNI98O#K3Ug<-OEE?_^>$^AcdgUe!nONajH`vxal$w!m{?NCc9FgeaUvtL zo&EmBtWgM-Epcep^n+0#`~mM|fOd(T`6Vc=-phgQvi&%3f6X89?w7K6PJg^WpyH}0 znNtD8#T`e#j~KRi4=)|7;g;* zH|^|V9o-<5B z-7MdCXpi${3@@+kESOMI>+kjx5;-Fh^+K%hwQi3jJJhGA)&n$3F+jnY*6r%Igqtdo zXQu0O0;wW!6r%1R3T5wJD43;DWpp*UqAI?~`FU5Sp7uXZgM6c)?6ZL51NpMb4JO;? zktHmMwre#w;v7LZM?1Zvc{Fx0aXrb%e{wFvdTAfglSipZ?W_?6g~iAUfJ-ItHsJ^M zjd=G-0`0JHbH%%_`N_3a%lj0Ye}_{;iSx5(;sj58^`Vu?lE8f5Vs#PQ@+bbqdir_^ zG4eV#`*bu;J7(vL}~AnP{xv ze&R!(>Putcl1*jW3Io5LsDw*V!$*HVcn00P#XD}mc5`*nI3hJGST+R;ntg4XMxtF4 z2|UKSCT4>NXob2&$j5)5KKf`Tvazd@zypV7)q|fil>v|BaxeQ@=NTk`P2ml)y?evS z)C20oc%CK#iYpbsj!r#7ERuHn*Tvt#;=GitJl)e`!VJM_ILGT+A7Cxe!z7qSm@5h< zt$!;gLYL!(*%pCdkLu923bKKj#kVRNSa^B14DJ~vC#rOvj^&|lc*D4i$fQU0f$f7k#gA*1Z?!0XAIp6?P_j3?>jh0M>kSVsUYTf z9!>=pHuP(A$hDqx->U3^4#NjL>Bh19+;1>z1-p-w0zyYIX~%BKSdtSe3@;}qgbCkO z_g4zmxYSs>o%lWQ+VrR3oLkUp5clxQEkFydynpTx4BdoShcw00oVUKFu`fy8?Iv}3 z=sg`>raC2w42X)3(j~hmKJ6lXTpDia5cX!(zVzf8IS(}zlrr@uL0NLbBW=dGXl0xo zoP(?S6#xv?X6}`$(db5(3eUza%Wt;w{etm}(z-ei3FVj1Gx>yKM&>$}H!TZr0sljE z5QozU6%IY?bx+-;;_=cSPV#ZP`s1wpO~u7D!u*`y+~KModrh;9p^_GJ`Y1|(kbTGy z_UDI4WkXBHd*K0SUA`pWy=_^p(~SqGXD{yBC{ zo>F(N-iyAuLyw4aCM{KmZ#V=l(k#Mxd5vyE_f`P$83Iu$U`H~0s87|%Z2YQ}Td0?X z1S@z?zo7qdJ4$R>5sLEK9 z_Ha;{J6F8P16kQxxJN6dQ(bk=%C~K{l*qbAw}VQ20f@O6z>8>Oc|8Qb;|y!b`}o%OeKZPeu0cwH)O2cqcrs z;<$Gk^M^da?A}(% zOB@^Tp-2|3WRmsxo3l|#EUko*+Bcv*r^b3ZzB1Jw@`m3q*NBO|n119_NB=p_ zyXb;%*jbtFu5CONkQ`8keh7}5f^aI#iUJ_Do$1D zbZ6HdpO0Yuv3@0**Me9Hvfr&mT<#9AXp5d}rk?Ig-%^k9n*^W5FVzXXYl;WamdG>H1ozK4sj<#(PdBvHDe7GYk z!3gv(t@)=-%B^ePiZ!0=Kxd6o_Tkrs0)D*Hv;D4Hm92_*8I@ns_gsg!FC3WnnL#fc z`jx<<5PyS{>fma@lR=~nPX*v6F6&zld`wAh-43E(kF1k4G-b_SoqCI#xNyumEUx?PkZq+PZh7?G-A7&!FS{+p&QZUX zX;HA7jhu_;yRrT9zBpCqWE8HGb;?#fQ@P1^$9qY2oJL$iLIUE!nfs$82;9@R-q$ba`*M03e zprExao~0D$cJ+Mj$j4Hrj#xSj0Au@iY?^Dc1_H+ySEeonj@0@eC%kRfC(#_9NSd$- zg8ofsOiY#?8Wp_W{#jBb&!tob?(i_O)nw7DN)RH&Jr9;cCrfE}YufZZdAsEg?aUGX z;61ih^168iVFfYMPc{MNmlhXiT*;)Lts%;nACN+?iH^HlMK`0E>fwA*6%jov&$X5mm!V!4Q|*5 ztpvjQZXYoA3yx9DU{8Kjr7n4e`Ly5L|K+2@A8)<|tI}kq^96AiQAY?}##h=j%E1Y5 zVj3YXq`Fe7;KfSeX*%7RNyAROJlfJz4Nc2Ib>S%1=xgkw|S)t z=kEuXTWLi`nMj{$S*DdBs||{E2Ll3tpJA4V=GfU+bNjvF zoA`MDp`dH39CP!3vNLVJ{@8`nl-8dSP8gXoS~? za#ad-%yp-=x|461U-6qT>jUS83~nYHCE<*Z^9sw<)ko#jLINz-{sc`>_?It@nNQS* z6=eK0b1aK?$U*~5cAO||{|m}3;>6x0Bx*ADKa3LIJ6+Z#2~`ym+|o|LTK0f~qLPN4 z55m1@qdU%CrBl}6zBHEmE>g-82BvD_np{cD0V3;pEd5TRiFbC)6I$`iGP{e)*71Wk zQi*IPo~a9_=@xeZq>h|VJ_tGERrO&9*{iU@Xp&WvdKQX7Zua)eHCS4ID=FB_>hv8f zTCq-wi`d^nzafZwd?#_+bW=>pOc!BAO&6R@Ex+X$7RuVzh=>j#JB;vn?k2LGS9IGo z;86f(9FlUHD7}R%{HCw_>+40gC%WR>W*`~Bj$R63Q%fXR`HFhw<NGpUZX)u!Bt9zX;u??W$9C?=aelAlKizTDNQ<} zM}9vn0g>3@ufs+tLBak^A%$6c*_kav&x>hjq53TNRN@L7IK0&zF$2C{P-Hvp!0Exp zn|8~d@pUw!*$~8VSS$c3SUaTD!CqeX<$$a{b!4~Wa-_L^Lw zv1|JkrXLwCtLlOwjcI!-co>u8T@M+P-5yFxcbE6Tv0071!#~i!cOl|pAN)OJ4X=KV zyh1x){cOj$4Ey(%_sGUr{X9R1Bog-V--LqHtDlD#k)T=q{5$!-X!*ek|8ffwYuM-C zL-em~`N0bR7a|vPg0X4-e@Nez9IFG6o`jB&2SYBGlbNAr&R-XjS%7387NfEM;G2P?l2BhO9%`*RqX$icl%T zjFR2h$G!~47&GsAUeo>l?)yEC_aAuQ=Q)n&aOXO&^Zc%#?{a=Gj}7&;1UHCoK%r2A z7tWu#ghH)PLZQ}ntX~Iyf3c}V%L*Ri`K^F z$#Gdei4iWVLMmU6GznM*RaE4qXElk8hzVKR{>1!@8*f`$m3KGi1!p7wYqgLH}F+Kgs;h2>$0D|35{7zyF7Y z|BDj;3yA+q75=}Q74_vjEz0_htrV7&octWNn&9POASKb;63&Ce5B!pwd{g*gYg?Xk zL(Z|>d+6)k;da@qVcu-kIL@*vZ)=;gZNrZ^vwOWGlXN1X#HwY=Lso3;^NLp1ZbGaoCAHk)zj@@~K!Vb^yKl#dVBZ7s}? z&^c5+R+Lvh$9OY8AlAU{_MI}>B*dH;`C!{p_~9-!%xk(z$Z8-&@7`!Lg~m1piRxJ5 zewfGhISAs%uleT)=kFZ-EUc<}#Gl+-^TPl0-tMEW?y64o9Px;|)1OJn`Z=tEuv)3$ z1DgJ$ZYm$F8k)QYp5X_g3D*@RqT|D~n-Y%7RWGocro*POHs_e5v1PMlU&%*jpKNQu z^?IWhC&jeccfqk4z7Jq-9Kg1=%?ZN`x%YofNO)72yp?>_1ASasxUj9b!CBw?UWTw( z#FZnzHm9O~cn*GPnf*A>qUC=CtNOLo+46UB^PsNzOjXPPK3&#ttZkMOiu?TK%X!8K z$lo=)Pr%p{z~u?{SK4@W_G1Y_{mCow*RNF;Dv8}@oge%%!n&nCOKU0!2njXd*h~vG zX0z3il{p9UyO)2B_>D7XZT$7STj#z?$ynXJE4w-m$W79hg2LLa*%@v;JCUg0_5Q=s z!&m;pu?xBMx+eXc)q*hnNOn8-L#wvD?%A4o`T9z4e0`ZwHBKU2cbKg1+3W7lq#8Ka zM_Wqhu)Dxk8AeEgyzX<8@D(*YUcAluOT?*y_;Sk73xY>K`CWqTlZyct-aGdisx4KZ zKVLC!x*&AAz)4GaYgZ*>%wYguecN9W$g|aa52S3=s&-Q4>csTtF2PlQ^4FMhdvh6V zMY{Nk);vKf3IFWr)6Zc;{!f)%opgmXV{eb)<)8Xan{1NA&fF{NoTN?j0g?G!;)B%; zqnTlq;N|5jb;vY9(nqo9+tseZVsXixxm{sv;$O&_X+(rd`rKvm#ZLTwN43_)ZRN)? z+;^UEIlSr%3Z|sQEr|RzS~ACG)9(yB-|zg|UVh8mml^ZcNU7nrKTcC2q5SJWt`d7^ z8*8+e^e)`OZR$0DfAxyQ(`RDGQ~jd>4Z5;ipg`1&5VJG>a5qDNm7?qMu|@unMR%Bu zhi8BDwMf?LnjbFxpC5ZI525SsL|eR)xJP?Z=ISKspO~J-{Iv!M2BR4Oel)++FUr35 zfdDLPh*xaYo{@D`t*lTu)W9^nCP@X$^pdq;p1M9$C7A}Ej+Hw&KU(TpIh+;VYYHS% z9*RiBM>jibp!i|Jo2ujJ=IvY1*SaNyE{3nac;iNqY3{6;0T4o@gsniBjJ2htB$j@G z;VA@&$6Q@24Omfsn>9}FJHNFpXQ@>`Dki&gwyVeE>9P!F)GXbJ;&n$&txQq<%l6Ak zKL`pXPTf)1ZQ!L0;v?uKNxXMeE$VXPf~EBC{Vcy)iOG0{JrwY`*r_{&-g3;9%q_sO z{4ci@A5!P30{bGD|_|6?7jfOKAKxthLRriYj9Ut-UCVslXi{laq&?bE%wDE;#Mf56Udtd3k@pw7F6(ww73|Dj@jW)`i$i@tYNZ&aotmDA*q&c z|F2>+1OFTEEWPRnWZH`O>(MHY_rhf3Fat(=W}M?WRdAZ@q=zcxiDvlVtLvvF>~_Qi zOn@(B@Ww;tc71y6u~o>47_nzG+#6SH#lFTWdw6obPQrUen(KP_(styfXg`;t zFv%3&O^Tmt%qKHMUG^tS%9+ev@ zSI^^D;s$dc&)DHRXXisD4TL0Z!(G#_Z*s0))@QUMZy{yyjlUAghiv%|S_;SF77 zN~sNkv=B?y{fmqkppuN0H&8P-{_20liyzSvq(zAxFX?}?o~If_wh*hP2xr|0(NQ_4 zQxK`8o*`==;JUqU*+{8dCn&Y+Ouw$ipDI`gT%B#A5rGN1{`B`DwWMH2o(K zbaBoQ0E7?|-*8tf^VV=I(=bp2IHR-pSPIVdi^o`0*o0vq%bilBb8ET>Lmk-(R5f)E zQB|Sa;O(u(IgXksnwF~W6;1V4e{WgW_A9ruzoIwhg~Wm8UTaINuS|KTC%G3WmdIjqlVr7a9l0i9 zk~S~YJ@;LKpcAoqyBdu1*OsGyQb#}#O`1B1@S*S?cwJ2P{OPsp+IY3pg-)`~s_ZAd z);|~DbNJ1n_~SAgB{g1Zz$T%4#Adj^-|5M$@Z~sDD%YBalP{0uo;bY!RIQTiiG1j|?rm}R&NA-3fAY;sS+n`#nSRk1Cbmw88{ zYWkT{kA8$e-*{qwdxfVZBOWYn6-1IHI=U!Z1v_Vgy@9eE>HnE~LUH(jgiqVdjLY{o z8Zzof1M(FBh>>l8A0{~=nEa7_bD7Ivx>*e1iat){gjs|J;|Z-4RsGnr7lX!FK&saX zCxIXF^)40RCJt&C#^e>YO2B|3JNG`w~_bY6(RFYb+Z%LIrpdN?sC%w)uE(r2F} zIH8mAT{9-CDpyz&A7kDqP5+{0pqf7S+u#iTy_8*>CwxWMa%fT5hbYFIOA=;nn&8RM*4%BzZ53C4`=d$8A0956`$*x?uTBS>Wvic}N11SZ_k&Ze00QfTtglB&Y}S0dGVOmD1H<812x5=S?s_Z0B${~>XJ%-d zCt`U$Q9|hBncpRjz6>=O!vvA^fL_t5G!n{vc(Zk`UEL$FGU=6+LH+k9*6HwD&$-5GpxL7Ke^c&NL6Ul$43zP1M8@vo><{Yb?E#P7 zh8S0ivYG7<{B7}__hyCibtBf@_*ORRH>`FK78ft%sw~@_fm@VVv;Q?ImfR7)2eT=cvs8}En2;!;T;kh zI#8KOCUJAU(S->3lFY2?|bVrHr_X#n-+?uh;}cBhKl z2}}>9_Y6dy8#h*c@FSkv1?JHXsYJ1d~Y~MDvEJgfPrR0|GDqbiZEJ zG$|zzj(L|zNnY`o_#Gp`qlv%n*qOPD~p1uM1Uij z2?*v0#E&cvhoYWS!sP%DzA!lWtVivLBG9xMOejM>jtpZ62heK+1jxoEw^D|7NbK+J zsahfLL4CR3Dd(9^-1UFZkzSC)?!oac2S3<&6lXnlXi+=2ZnsBXj9*ucQ+HUUlg15TrKx ze>pxKVn(vr44i-JD2!i+4~KLv(C5^_Cbw}r7X*Y}*}!Zdn*H1nmSi73e4rtzRt1ts z2s|bDQI^F|3@Q1pmDWv+8}5y%W`^#+M!;Gz)L`Ocz87Zu>*}4C2IX1Fd`{h6+BhwS zQAKw+EW#Q6lCd|wzKkZ>`~?a4n?nG${Fwi&kltZeJ=Lsr-}kN}n$+>P4a3QKoxtn| z`;8q!V2yhq%RQG?hgPfu^_Ipf8g8qMg`Oqjw9$3t2Il*?_^M(KQRSr!5_b}2cl%O=^yZpWr&Edhp-T55D&3`4 zXcn->(tTh**9KvS&XP%LBi1$+F=9QaCLNBNyl$AWY9wO^3yO1TWhsQpg!Zug!79c%!H;X_vDdmUa>$IrJr^Ot@r~blK(mPdU;7?^+ae|`@QP{HJ{5? z@>a;vtIdiE^05gTafmHJ5DlpId~2R6&q#i(p$-IOz-X9g%-6GAJWY;Q9a_2Q{ux9Q zP4!KXNX_0(^wo5@v`0-^^X4s3VZOQF!~@BED_>1NiaCd92thfF^Y|k%!#=mDjeLf0 zws+#E&s)x&HgfD-Y@_V}h?P-+cpI(iisgE+3R|cJNc0*>SRzF;n=i|-3snBI*>pl} z0_`kXv1LHDgF1h~|5_zIn6?kC_!IVT{=0H$bjY3tZf#OQR8{`i<$F`F?T{_g{TJ>s;t_w?1^t21Q|Q|juqNGg zV82q5;Z)zJ(^P(}Z2?#oM^pZ{T+%&vQ0fsBORKE2**V5w}I2AyN+*zM3;0<=~>R4ex=T4zWguI zL#MAW-b%)f=H;&0@@*CL*%0Q2E1Y_R3O*{Y#=gb4FR5-v0sh39 z1&E!f%v2z8*!hDPdA-jGz#DgfTEga4&mw)mAQh_PP=dSO9}7VepmjCsW^=$#Wpizf zmkTdAS1f^I3)%?odxacEAMr3Gq2i{1_T)NQX0mdgNv}3e$EP=5St$)}Dd9c%_>W@# zK!!-@TIrc9cxR_{;=U?pSi(Rx%d>8p{P$=rEgrCr(A5r*(#Py)W`EZK5yWUTSadSY z1ToM*TPA-vh=Fi7#>KVa4lF*Ps5%R6oEb>nYtCWj)Rne-vtw5whTa+gZycgJ#wj`L z0Y$#TEU7BgJ8$@wh-is}f*(u03sF4vxp(VaWc>G29j6KGi;M@7u@k++J@J2Rh!X&3 z2gCJQ{gR@6V;~TCr!2{tE#5~~K9<^+MmzxF_bexUsq{7kif1+~dN9;TE87nF?ZwDB#c5xMY@V@e|} z;&5f@eT;)z&9}spKD`BZVJ6D3zEA_OlL z1QtQ3JB0|N#6O7?jJ%+>w?d7UM1=eN_2BWnCG#b?>Ekr)N)2qYA&{(sxbgP$=poTYT}*>Cz{rFL;2wajb!J89AG+{3W zU@eWBp8bbbPX2SXBFk#AgLwkAzjI`d6Z&Sq+RVp2)F&VV*g>{Ao4#ietSm!x40MDu)l?>e|t`CEJm-`5Tv$PxOZQbZw z9pWd>G~>2S*{2glR`2}GI)>ySSF(Slang%F>#n$qyB_xn3B{5{{cj!gtsa#}@T34_ zON&EoT341~A#-A32h;;IEV zZ=b~^B=jxmr(YqZU>Q`G7y?%_k!FUlMiA1>{8088$XSz@q|e~GC5$s><+PhC8d za<}z?sqDdm58Jk6a`y-Pdhjjj+Gd`Zi+jJXIlAFy;!D)c+yymB3N|7#3iG=IK!p?q$e9awFqEDAH~3yI%1 zfDBh|`?0xCmk&nP5cdLCv#>%aW)Ec-n)sbZsUKc>-)S(aS{wRI(2{vt?plS%X}UKM z!xx9=h`0#1y%Ww{Z%38%K#UnwLS_U? zA5V7{=8fpSeYd9c$`jLW?5W=6#klDj5w;`8WxY#dUw?Q5Pvq5hULXV}qA z5FU|^cAv=YpM+%sVT;6$k3R&Q0h0-{BS8#6ZQ#rh`izekbMSIzsT}~+UF@xhxGnDu zYDZ0VgZ9{B&I!le+Py0-vm~(fTgC1pC&WQRg}D;|>L3r2z?Jey#y^S>>`PDVGS-fi zW!*Jor>QU8^;(O%*yHPbk-h^`!Vgjn6v~DFn@M8Ylq>&+;+ypF`}S2)!8rag%Z2tA z73&1~BT&1>s0o)cw_rCy89vyQ1Wd2%tx;Qn;w@i4Ka?eIp0;t-3iLB6n^9-BH@C)v zAS;Sp2N$nFP}{B6*rsrX9#Fs7pM0OLoODn2Iz3`$6Y6hSv+}>0uvi`B;atF_wTBMu zSu08o>K+{i!gN9~_J5Ztg{G3sV# zBh@f8Sb8=6-Mc-4w&hZ4>jGGce!qXW{`$2I%YtvMLEfTiju*>5>)L%PnVq9-%!l(8 zZ442Ns|DC^z#SV)W?^`1h!RkrhKR@|7>l>|9di~=ZeH59Qzn$C`fOw<+LB*rO%giy z`tlum89>D^{0Mfrh;74Ptr=K5)=A?Yy8Nx*CZYc29g{Yry)7qEv}j{Xi~_R@VHN3^ zlnR<8rW=QU*4ogTe!*8KvuY=LL@{x7#eY56o1mL8=XNlkL}={AjC#Wc^JWnZr?sMVVj(^6?AC5tl(0Cb+Wfm{bLA#W=`WH*<1 z$*V{cv%R`1ext`DgGUNepDs{tqG-j*OX2$I`UxA+&Okig35Z^4FQ2p(D&8~jtJM6^ z-FZn{F8Z_7=gdQc?`lz_4iDFD)B%mqKQD+Qx~07>OfV58bm~ddzE^c>+l|+0(|3}8 zN69YlRofU)?Ka{Znv$UE8Hzgw@S?H_K~5hNsDthuk_v{0!7HoYvwXAr4SfDq+Z0fJ zG|A3|F&vjm84&=6pMM(Bf`$uCJ4)jB74D1NJQuYsal*Jw)8AtXDS;?jB$wV&%8$5e zKC}(O1xLv*$O+!D?^RXqCjEk3#2vDx%x}1&gSL>6;M26MlM*|AcLUlAz95d2Dzs#U z1e4fODUJI{$Gh=W@zrIc!@~9rDQI0jA)X}p#P0S|tSfyP_{x`Y#Cek<%u5qf8y2H# zta$AkGsIJiD)jtLO`gCobiJfeRg+D<8!z-?+Wx{;L(^M_c;qOraifV3E0jJO*m2m& z_<;D-CY+&}2E*3GOBPi{ovH{)HLq9?s^%frsN9mE_$w@(Vn{E8l!)S1$bMRQpPPWGyc1*&QOR{&1!j`lN(_ zrt=O}k5g^0F13t6TyZ{(h!@p)=nj=7{`c#U54o><&=)V52!5C7`tFb~w?1NBl9FyB z^NhWN13%gb3XB_(@LFYZOlsze{jTsNgDa=sMd>)HCwoA!qxG!R)^e4ayIK=Ozwj)P^v#DWmXZs<&4E9zI6>Ys`>axdOJSFZyl|)6we$3jdB8{>iT8?LLYP=yL3G zc0ni;eNTNWTskJjV+uRn4tX;e z*Y`c^G1(v_OW)C{Oa+5eXU&WEqsp(m#l* zt-omhmAukOb&IL#_Z}t^ss+JY%kqeZw|q}~ViH@_;3&PC%h*C9 z8AZ05%yw<8!+XuXoXJ38f2cpyN^!1k7sXm21R`yzq<}2E^WF02sgHg8YoGck-SSng z@_+lXLuVH4IVu>bz3e57dBDpryHw9}jBanbA>$c>7%BCCm|$^qtPM`+RtrxV&4VOS*ivg1ykHul3bP zwKW|H8UlURP=;psk{}#t9-`(X5Ws4U;TAWE#gx9B>XeXl-SQQ;7)`3@H_5s^i#|On z!@F^(0Jw>TqYWhK{ z!HRaKw;6`#fY3CnZC)kr(Cy6AZl@k*A7b$Ks;jA~1f1j!O_Mjy!iv$mKt8*$I7NR5c1FMtlMyD|HPs6GOdG9B=%MNPXyu^FdvygNl2iT#nC;YSP)22 zUsjNNih#H*jVpx%_oJfXvr^haWnfq;$Deb$u!B(X+FC+3oq&^0*ApppW0m)<#WpRB zw~?EDwL%+s6-$gqeoV*Kjn0G3GLcPX}n5O1M;N&ktN40YT!k_MEZqJ2wvG<>Vf)ex|E-mvevG&!@9 z5FD^8)SLzqnv;yVBl+73-9XIoz+WNZMP%&A!8tk$cJVkdPs~1w*eOO)DSfhjdbz>qspTm=4ODfW%c)Yv!@+wqULGic_ytAufXG z2DF3BU!XL_zZJ-;D>_~BdZam^UN%3e)Ei7hBQGP-3DuhXY+NZ6<~dsX)uK$z3_^(- z@G;Up19j{@aHTSts_Z{MxDm?eH5M&d3Lk;<4yDVZR${hgOooH_h#R= z>v||$Tf26wx0F{Z72IA06V>3ZdVeT>0VxjUYbDr`ty99o!)LrfYOyPS2ZS(ir*Sd! zGU@jRVI<>upwv5AZYSl_16cmz5C+{7_@`f)y`ERR=BlWoi){xCpz+Xq+x9|}1WZdu zYTJDuou#~3vtUPC9U#Bhqg4xU!~-g=5ja4NeViM@1;Y$UDox+O(Q%TZ0Qs{Zb6DW< z9QqcinBsleD?@YDdtd=?lzNE|cMt467mFwoC0!akjol=1(9m*<{==L~Hel`0=mgIP zgE@o6((j*$$fp8(58>r+jZpPh-J5HM-|bfdx!^w=0Ad!(@J9Z3jJn#jB&q&IhT#ZiV z<%7X+lmX>U;Yex2@I28tIFx@&?*krwqo_NSd0<q7W7Y-R8|HIj?aB5{C`1H%8^H$5|n7 zBJBc{^rQ5|cnSDO#u&R*qZX3vuEP--3fyb07uqhJw-tw#`144Q^JqXtMTLYp-4LWD zu!SszV=DNCAZI3Wq*?zXZt0xYXU!vWmMjxG6DZ)h(prwW2!htUX8C~9>~8M5LNJUu zvkZ)Em-BXx5Jj&XiYC_%NQH(9Y$5VW`fb-BK#BzaDDj=f^-4vx+euy)2})=`4|t^5 zA2!z|sJN@FPBkS{j&Ro;*@6QcpD%vKcdzQKjJxzGi(a}+BgB+0j z=lxM?LZ%UWr-Y*6PMFf^<1~adDiHb&IAYrqC2zJFKK>^K$C-i087xlE0%fo1Fm7is z?a~O;^{NDeSNC%QEbd|}aYXkXpwoT>?B8nkNhhl5x7_JnK(LxDVUFl-OcU_ZYPLxy zdg9qm^zY!&M}H3NtnDC7Yqq%_Y`Mr?H`DrxT;cTnaUwkU3uoXAwd+fyj4?=d25R4} z3%fb-n=iAf>d)B(KF-CQ@r3-?$G>x=6&F;YmC{snHV6~04C>79mQyYQDTp<1b>96bjXNJ z<#vriu=n#`q%DuqMEfkK8Y7f_ALYvgb)la%lnQ}|!#B3TdZBzKBko-ms`0&?gd0oC?=d}5#^k}gfuTfDXZc( zdLGehMqvN7vbjdi;guqs!<}kDSA{fl)2bF8LbX$<89{_+!9m2)WKibPKK_18Imumj z1i*i}3*{Dl0-AJBBM0=<4G%_=S`Qe6@(ONg>?jtif$j#v`yT-TqEn%{NGKS}`ePZ( zh`R<m)C5-Mtm@ z)aOea<$RPgEf{EC?$q=+(GtA*Wd&(#q58J@&DM><$7S>Q)0Z5^zalUO z&gQU=tpn6T%>yt=9LrU1nTOuujpo<|^MN23GXn*05Jb74P)R+IQ6m7lYnqp1)VSRm z6pxAS3i&_3mg4+6?svf*2PE4+VyNpnQoRj9<>yO#5QF&WzZvHO3XWbJgr<@0P*zwD z%+vX1`S9b7R~%~o{F7Rd4=k>$$@()>s5B9cMNBO!Kb`%V}n zel9D!jk?ffLFm+!;8==c zga+~7PY*N}DEhNh!GZ-!A+dTr&JH~N!i|V9AjAmdCGpDs{4gL7NHTDFF=2@g|6V|9 zZ;wF=rXtPN-yf`uk!YQN))~4gejlaEDV&{Sgyw*FFOPv5z2NwxZcyY zI%lw6Xj_IP>=->3&ZQK>y2)FRqb2w0mFcDQ-9O&dJmeW`WG+t!5s!n%gU66w8>+SV znHW9=<{D~Old8Lp*iX^i}PiSZ%x@^}efTIS68K*qvXDYgL46+Hjq@DyPq zLk#qB^!J3IH%Ukv63#vII}D?i3CQmPD(ew92q=H=G+7VZH$l7`TJb-#+d_yc2ph;$ z1(=8|yROf_O;$iiIKv-CwF2#J8Zg0p-iAzQp$xBy$XjR|rK^cc>~G%wE5}6g&tqv0 z6Xz>DrY@YG78jS;*Sx*{sRZs|q&B?^+K0tE#EUhPZ<|EHJ`&Q-(@wev(@FXSvVzlW z)x7EE=9V&&h}o@nF6l!TdMx?!q3BvTj0jr297El3v$vYte7C0CQ_TSrh&0O_9yzuW zdllHq+q0moJpE{Mt>k%_n1ciqkTAd@;fIR*m|Lvc^5dEHf%V1xWFjZ2|I=bc*^?Lx zV&uMx&`{p>ig`fgq+*8ziVaXDXg6}K;aDmNJgY;&(KQ3yUP}o=HAKJw=y!4wQ2Tn% z-r^KWZGA{6@8P6OW%E*(BTQX{f=$pAGEM@LK>JKXT*Ym#V{f$#%ujQ#eK;y-T9nf0 zJ1wUTkZ1|*H}fgfoZTM!Bsz_Vwv0TU*BkFK)s+BxJ{=3hZwF22Y)cfuZTu_Z790CQ z#?;Q?_@xVEiRAVsS@F>?q!OJ-+CrH&gQmL=(`>3g@1K*>7O~oBDHP4FmC^dfUc$+# zSzOT3zd{0?+@hgdQHw=aND;<`t<(wt&6nind^J2|z2BP3bAdf9xX#L{?fA8up%<2Lo?@KDfUx$X{Z7%KdIVGp!G2umT z5BR&(MO~*;-o_3z(|s0fmDOF7;`dJ+NcT0<&MZsqvZ9+MZ0^DP9~uH0jBW(FBo$Z0>;qa_WW9EzSRTDY|jb}`Zp^Tnz=x4%i^^g+@lXqmRK zS9=G$nVkYV!Hyj?JzyN=ERA8r(F3|x8qHFRa4ugmiyq;HXyX(NfgySp)M?`MWgoU=9f zX%j zd|~(Nd%GQ|I;o&gqM-Sc7M(*FqwnqnS8figFYsHo0qq_}=Z9<)(^gY`;ibz|;k{l5KD?k<~08O!@sG zZ8~v%hFq^dfiQj{f3)|?j6+u7Wi2f&dQ2e8B~L*|vgE4hQI%!oJ)l+6wI{NuBKKv1 zDD3BGS{#PHReBaQdtfk(ni9S2PaLPE^>!;ORvjKsZ6y^b+{sf64e^-mPeoDzwgu<~ z&Nb!-gZ`e*&x~836SKPDqTFqk4&IBhe^W@iywCjLav~4NPLcevPvo_BYLU-E2UJ5% z^sTe-E`kOouF?k@%xe9kG})}F91XndlKBJmu%YJUTFMA797O!lYb?+86Rtn z@hyG1(erYRe>enHWVW~Kj8;Qr(e1BN=3HlKM{_J-a+!xFH%52X_*ZN8wwE|+`P`WJ zJkzV(Z2n3Ly%~#5!Y5Qmr7sy=CS{1%yy}@r$D|f5ydCiddSoMoJpD064lpWc#=5OC7G`#!e1^Nq z=Iy4s+AfjBAJ+P(YZ`Pbcm?^3Toh??vxbe(JR7UGd!C&;yu5O$!|miFu;VfTy0oqB z&pTuQ*QCA*tsr@VX#4Zwi*}zL1XBmU8c`Iux?*8s_zSQC70L8m-<9X>+PfZY=@n}3WLH1duxu8FNJp|zN^Fg# z$PE=`6vwN`+_DEDBm}mZlWtx<9kM*%dqK}rV56nSz46%T9Wg!F@hUgaGo0D+;GCcV z$U-Aw_lZ8uJ<2b6$U+p`l%(3x=gG)_KGZ)= z+*CdIb_7<9ut!m3LtLWFuYLAcVvcFC%Cl;JKl*ZL^`&Q*c*3`QP2-Ol@dyLgyioDr zi>P*pw2~0)G91LkjY$)P>c6V{-g@dK($1LTolYN&ZloxzTNs8S{QA-WDf)5lqYh-y zNoRillnWuAD47$O^gv=qMPYo2`P^P1Kwh^nAkPpFLF?SJog&p;Z>OJbXKA*P`C$KN ze%;x&mX;UWR`eG-L zb=cLr%BQ5Mt_#JPJp$d~CzO#**rvx0pr@|obtyl@5sa-6FW10pt~sQ#NphO_{h^V( znTfk6q^~QZv8rZXc7LDW@#L$wBV`@06O{G9Jq&$Eur0W}+K7JTqF^R}1$cG;t8<5! z&Zmy2#f^f|<$%g)L?!$<%wn*VC%taO8{YhAq;DFk34UU3@ambU@*$?~sa$47av^zM zwKWPP0VJcX22+Y}8VK_64jO(8!yvCw=W79vFL6c?{6AG#TN2o zLaTCVC((LB7AEr7j z^u-PVfq`EB98&5gJ=c%7)w4PmA!K>u;$808b?G)~Z08P8>117Iimfq?Ie0l z1tV!JPA=n)XYa9`@pZ+cuKZUT@~rKcP6ksm&fp62Vs;z@gj9amz|y2l^m^_()~j&T zFYqj;Cv0vYqM_Dir_;|sZeDVBesv6Dd8ZAx0G9dC6^6xlIh{S8j|}MSs#PoHJI4;c z0~~w4f*hY}2R#kY{k%q>3u7F&BfX|Ak7Qp07(Npd$_5^|Or!Ltf-dZ<8sdg6E#<{x zwZtP6)z>fVDQO7Z*qYZCe&q~6sFb&`Dl**Oi>>%U{)?6k(G6ylq{YdKOIN?v5K+&@ zL08ePowSt-O7akp+A+w$C&ei?vGt4HsoJ9ZH7MJ@Yh1rDB#Q+tkX;01;B3Rq+K?aS zI`2m7wmx$ht$IhU^mcaZuGw=g86B^I*)O;1T|^X8<}DgS6@QC1?CTi z+r^!_!R^Iagf_%b=1cCjAJj-r>r!&lja6EDR%8_#cX8CbAzXag$HImrnHEG;Zhe=k zgBAq0+JYwgV8_{p-7{%K|tgdD-eoXi-7wib|j)&y*VIJZDpf%ynSvP z_`TOmXuqoMKzstg_=^MVItRp(08C1VDjo2Mh(mu(o0{PL+s-bn=!x6QD#HK@j*UFC1nd_qOW#OFQ%=t*p;HNBqUHqiY{K}PTHdtp62eLlm@!|&(rkcUO>;p@h929J9YZ>R?&t~ zDH+N=Z~;QyZIw_fzo&&!yT6Jpl_URQfQrimQ61m-yaUTln1h} zsnJ?N450RXsx?pk+RJ9$G@emlC9^L8oC#%D2KE@KkF*e+Z3R>h*<_a0kyUB9_E7aY zZeYs_(3XQ#LBE61osjq;AQAjvZ!m%_2cPlWC6Wye^P&Vlp$n4n&FO>Q02K|uklTeg zCI8Na&n=Z@&MBZ79Dh#0e;3n+msYj=$5OiNe8ux>Pljn!{lperGh0Jl4t!L(E1wVM zv8TYjbUKp1q$edh>+MkRImJMFPfOR{-?(X7;&v9^y}(Nb6`+%wxW&vKi%ZY$Zrpj| zP4((mh1HZ$s#M#WY`h zB&pgX8GQZXjijW>)=lx^)o<2h;WGsEz&O{W57v6@b$Z3N5_oR{E+tpsrM}(r9Fa7F z%OCT}8jf==NduR5=9Gq(cMYVkuhLnk7wTW&$Q?cmG|MKN{WJ?qL8MGqJ5U)T`Pa*` zWL{=!D8Nur;Uw!lD=(i8<19=mK{1x3`V#n1J&rXJL+Mp-#YcyG`Gj^H zwbwe3K$toJu0ZFIQl8Nb>P#Wa^IWKf>30!P!Tw8zgc9>_HCEiEF(N|VVZ5jSHN^G< z(mg{$cDq^tgp9`-s+k=s=K84bBgw0@KrkRij52$`3R_-f~CZ$(N7*j z+FyWL*?hv{Rl3rqg`rhp@TuGH`pJW-<6D(ZbAjvG0}v}P)}1Bd6n;SLtl#ob8>RPT zYeZwJ+OyvhlAAtGGDddbL3I9S?XXaUnnX3oB1DPc`kOSVg3%t!cz0wmj13L2|+{s)+TKn88dC&N`^AbYga zB=^k>38R|d{L1g$&Qd>vp@Y;c8O&gv7B`{q;0A!C3N6RyCt8Cp?Kcay&3mU65$rE? z(JwUbHk{T2wkp<@6O~>mR>zdh&}Fj4z9&Ba=>@M0tQnu!8j$b5V-|SGA=4EMy7+1eXC~cJ1M7120Ou}Tadr-#k*ie6A(zHawk%tERmTKr$%^v1}>mDM8?g`yn|bI>VT0u=UxnUYnkmfw2R#ggk=pbzvONB9}~Y1}Jd zd4dadnQ-AP;fZwK>ZFMm3iSdE%kZH?!G^)`cD}FVsjtf|dJP}y#%%vScye2Vlse(G zRowfEop99j3qQR4)Ql)DE)JECL!q*et4sXmx&`JZIv9F2FP%a}(+RJ#lNydYvyS_< zuSFRy!0`!xv5UH3z;ea&bxkyTlOy>oq-@y{aV9I+wzfPD=tE{^J0IOr@i@j0$B@Cd zw1@_Kx54G=i?Fj5t%pKg0il|Yef;g4YBeK1xbRImLK_x*Zv}AYJct8`9N|)!o%CvL zA&)n#l{R$mUA%wLW)^%q7*P2hS^EXv_KCoSo`Ry=SdM4zsh1J9RMSIEFJfLEWazE| z)lw8hcL@_vMAHlSP)YXRM?-4~&!p2p#`I`%77Rddg@q7tAHb5Eh|j-(Q=rJ&F^E54 z*CPq#QNi-e-1(vlc-d9mBA5wzoo@Sw#M5x!)$5I zK%8hvReXWy381;bV5C^?Y)Vj-thQZ)D!tiLsZ>LVkWL#Bss~5^x?Y+Xi~};6JB2hS z9DNu4I14G0_#Pp+<^IV7!SXA~za|_+5VVD(jsZ?)RX&dNw|uC+kh4#sg8U^f>ek{L z;IbUFB_H}{>u#qEW({Eu}F+ri~QvWk*2ebErkPPS{DeROCW+y|@0sn3>)aHWIp#YeU!f@dmX| z5a0GdA(cBaXfc#0K-gj+gWtr$oSD5_0Y2x8^PYV!27=HRUwEIWiC0%y{yK9Ocow)+ zy9*`g^(!Gi2z({7O})wzuK2UvBxUwhEwmk_yX^(XAQvX?R|D24Dcr$9aa01wg|vZb zo)Gz16w2v$dGS8DYI&jv#p7f>x0E_F&j+IAc@A-K_68vi3{i#v;i-Y!Qx_xQrBbec zZT5&F6vWvKUe7OWuA85|02!r&Z~CCMY=)lFeH@N`B9u+E&tu@S!i;0s7SKTpO!)UY z513CNXMzTg2ownTsB*Y|10sxbh%mq>a;S`b;5$GmAW5YWK8Su29J4@5eJJ#1(0D-D z_b`R*-;4Ngln11c7)4)e*SpgfnU!MMue*A&S0Y!z1mY zV6<5FZ}tbj8vJ4Z{Y_Vduf<9r%V8?`coPza0E#0yohZPu2JC7*w1)JdOWVK~L8i2R zryTp2}Xo@t*j{ zEho?17r`c_N|3iBD3(%{I&%lz8jG3yj~YR}$1&LarZ`D(?h$qW!`ODA;$fycw1-yggtj33Q!TInFW&eU*As-z5e+TAoebKWFk!cD6E>1wV=zt6@r)?dLICi z*wXZ!*h4TNAnln5HBhAd17Yl)aGhfr1RNh0FXwO$Ch|B}i&fuUgUX1dg&v^vp4&ps zbTFaUfRlN_SD#RM2!!pi#4Nb~gR`@6ol(??-QeOSI!V&LE`&dF27Gq?XIRT;usL}T z=VqX2Oht zj3a-cOMMZ!BY-jCpEz?hVQZ4+PcS4sGrt}jZVT!4nfOVl+JSJS;?j464kF=Y%>BJS zvqHsvlaf5pw()S>Ni!nXtm4T3dnl}vWvW5bfPalSKtk1X%8$eS(6{^=5M}ZpCbM^U z1dk&^LZT~()nF*~{}HQYD2@J)6mNn*xd4#NIS%gD3FoJRIPq$t_c$*aF+SDUYSDy}N$XBk>C(hL-!Z7{unln(SC5T+KcqVHgT=J`C59(0?>nTF+3cT#s#JPERqwIP@KL49Fn8K%F;s2ZkZG+z?th^Rx?OEf<|Y^wGG`?U>3s0*_& zkLFg!UW0Q5g{CuuiDKa3RL(+~t9}xkg`fG1Y6wCXu_EIpq8055YL_hy?rv3g2F4kQ z0B^6GyL)P!(@ybffKR66r16kc(;t>JvSZwT2|i z{E>ZzjdwZ5S59qP0Bg~)qSF8vJ}*+UW2281DBi0vN6N&7F3b{bX8P3ShW-JklgXx2 z?H3J9xU6A`_7X;Dfk$_6EOkE+W{MJbw?&*^@KJ|ExKt;mA2I8H$2BUCORx`ue`d}5 z4y1VdCUf&{YScyH+GsX5{R7|k`|*CfeyWGLuJbyV<2?4~aWLC%zX)^nx_YNv zxLPXP4lHf-FxuhmF(4|%i@;xNQo&(SmhhJy%yjxbqUz$Pr1__}?O4O+Y#LYrc+4*( z>?QVvd&BjP@-v{a9sLPAHdpZCi8Hn*Ovwjv^_RbllU`X4W460H;xh}IBX;$bN}a%I z+uGP_h|kL0y~=Vg`W0jc8%VCBiT?s~NzE7Wn1me4)N{;t;GATfzKu7HuTAgm)^R(A zJKHf_IL6L}3+sS|HY3_0u4+^5Tv`&2#y!VwEMX53PazLRa6VK4GX7rkUM%qU7p@F8 zhnHdxKiNGH%O27?#b~WkT-v6vKbC7oPz0lTox>Ky3-lS_j<#RDYX^D#0^F&#pZiJ~ z@p|DU#e75kQM^Zh|K)r;Q$loVIUNZ@J?ze%>Z_+n6+MK_E3JyoFD;%n)Q=uh)Nk!t zDH&jU!DFSCJRG2sF5*j!8P+}iV&p2SonZRQ`BR2s^LA6gA5g~mT14WKVUx2lk*V)G z#i85$(6_)`P??0uL~ucQyvS-0>97#yX1+DO%5uua$P|ODE_w@YWz4r_x4|!1j9+yi zGdi`K+8%3IG?^=|C6yH~4$MT53xFnriQ6YuRs=b4@Znwog1dv+=KdmUKqgR?{CttG z8%3*!1)jhWLv(~CPA+DLJ3by?W`1lQ|LUi)4UiZbS`+QcbB%z_uAL6>ozH(rG({Uq1rflxL#BLpG4`g$$bFe`(-#^g&R%5BGlOy-0sL6Xc%$l6H z*%J#ls$BUxxbz4(lWnHjM^hQDYrJ}v>Ku>S^E59nuY|b9ORvz(fXF9rlF@Wiuxl+) zNf4q+2xk}cDN1*v0)@y+~m5qp>^t#>y~SuOj}H(79hw)xrAwq0pX{1omYpE}i> zMoI(ypGvw>;#DWQ?2EGh{+x(B)3^G(TrC_fj{LkGoG4}Hw%3!(EVlu#b>XEW25&+v zle3>#J2(s#dd7EmSC1Nx*65{*+) z1W!KzL8XidD&OsnAN$!0Ry-;j@_%sD)gV_Hf_crH_tSbL2j#saPU5N8wIx=$$4Fjg z{&+ck+j_62X~!s)?lPyg!r-_|YJrRSGQu-`?|kG+iH_DwO{*+zxSPa9D^>cm36=}? zOoM08_gk@mBGaya0;A`@n*VI6@K%+YL*%aaA?#<8O zm^rh}G}6s8uyIxFblmxTAd;p0^Rdq4>q+8}EGCWkX|!{j7}5w2p!;$uBU47N)IoMl zQQR$s><1A~sBUB((nRzG!?n%s*uVe;82{n7`HD%^RLSHsYJ$V#A?P@v)gj?|#e3^$ z&jtfOieI%l$^QA1OrqBDn8uF|FXL%>AJB#L#e|k2l-`W=J5T(Rd}2Z6cKiNcs*YVz z8Q=h7mCND5CwWjIazt-(vR4i3byKd0K4-HG= zg)M%4G-+)7wulIa{*W($*oklYRq#+BTCwEL5lW6c1f;InNBo zRXNft_07F)bC95?|ow#j^%?H z?8=Fn7NbEiVtVz_O>J7ccq-m?8R;AJEJT-YGxQn_zKhKed6l#;jVTUwe|6tMzO1pz-cIdEWu3Iw>5Q42+^_sBldddmHyPk2rg1P)*_+* zXw&|udmWE++XL!$x>dhv?TPDlm-)6BJK2>*lV-rOJW9HSzFcF+Fj*zOVoVi%+v(YB zr7)+Er_+6`lN(?=fndxrgEF2J)a@%}w#?k@glDJ&En=ne>|fE4iok0wB~A~QAFz3E zE5-o!TVl1~i*;p$Gt+TNle)Cc*D&ropY{lkH_QfL+b0{4@}}?@oUpG`3&e{Go{{YH zZa76~OmspfND$ta(g!0m2lk0KR zG@+;yuw$v1xp@+5-?rzql_|efD7G<@JBk?mHnW0NUMWlyXIIxmhcn6gP?XR~+NtFY zJNMQz5&ujRC9-{Nd90Xmo<-y$U&@bjdiNW9nW&D{h%M$j%76q?8g>Ii4ox=iyn5M$ z+vV{xdEg*-uivao`-jh*uE-${b+pI$_Or$}%xSie>cM=qGG!TX)4o+#0V5n-pRMr;w2!S1@NMsxQK_4Ia{tphQ#)r4y%?ZSA%Zt%MTG1?2<{`Zs-JC6t?CiIeyOkLydNhI7+&d*W5Ewa=AQ(ce*r7zFu4ZQ*g^)SfFlALwN2{R!|=tp0D zJ}^BqX<~DD&zoCqF7@LkjpXC1uz#&55$R<#|2c;As5boS6-Dg!?7&r8T7{YHLZ_}{ z9^Bk{BTlTE_|`QiNLN&*M(0g2WI_}D=u+qJ2U?{&(Sx|vxA^rvm17(;Q-bp@Oxy|d zPd#<_ky8VYqcDN(UEi7>n;(Z-0B}i_BVQ%Mmq+#htPib@8U)L_pvp+`y+nmv*4ZKiwiRPVvF zRI|N`2W`S$YFxExd8%l+fZKvj9IF`JXqRJaxkW%{!0V5VoReZY-km5H~KL^QYOAfoGrBmyoY!-o(TgRuMss7x# z{tIZ2m_EqenRL{zMRikU^z==D`BJz;t5)qHtZzdiiPH71HgBj^w*-{_RcW!UrlsOK(!e9&OSj)^RlvatL<`d9e|JTU~a0i*Ns z^Gl&fyd$UCo-;drp8>bgpR(+I?H&Ze;Jwq{bGCvZVi%}-!7A%r<>aCzT2JJoqeqJjNTCM`(gRKc8UYYu5b(qoHF801;{PvVBK-C zY7a!sAFcR|ECs#MuEb~!7k@t0`*H)oGBEZ=-^?{2*$?DiXYS{I)mDk>sbY8#YZ=i^ zz6$);-7lXti1gWv=Atu{L5aOP5mU+0AsBo~x=^S^809#!CJvaW=&U9V261|~I&gI4 z2{(>&hUP1zm?Vd3xlxW(c$uA)tq4nAM3b`4DwRslc##Z+XYK}TM+}5jj;UHu2+5i) zhoyRp=&&`d7|NzcS)_J)&trE4`;#^VQaAR!iL^&4u_zgm}C z#N$y@mYqh4)%<{%nUi%MDxaEf2c9I>I`(yuNH@(1o=!<2%bZANB5*6`3C6D*Rjov2 z@7uyCVbtg`@{swNi90giDl#jcg7U3u@v%SS*YkLr>G9}7wfuv8o_B9=e?hf}<0+1n z94}p7mL{$xXLv9%KfTrTz{<5R6a6Q?lS+ena(|#Dk#0ZS z2Zwp+gccdTuB~~0+rOsX+%wdSGBd#87^T+`Tn!9>JIk@-8<8Z)AB+m4x?R>8;tweo zoqGyJeTQ5m)_q0kTgevoV!_LP)(6SjiP4rSDC_}d2%)&Q+W;=y+J};b&o7d{@ae@nxUAQoU z_Chfa>r%{U_OdRvkU!HWy@O2d9ULcviirDlRshzLtb;_I8qT!rV!XKZ1<>eLY5^U= z-~w2bLI$wS_A*-B``dm{k0*mV+%bs!T4eAi0KdXKLO4TFkMVvz3Hj#LvVVbVip%R` zkK*BX_xFfL;=F5m`U@UXy{?{dd#G*ubkC)uS5>8%0yK{h@;`wto(?t_^;hgmfB-mi zb72PF1@8pwx1s%7jr>@bgpx1S$PFGb27P$~UU?{m!6a}B$pGVvha&HPY95c-MINn; zV5?vs-zWI^$-dmjmzj}6zU7NgwSk;WP=sx!OgdUYBl zB|x(OPQlkL*Y3Tksvos|qvpw&Jg^B=YOiLp)6wGH-yD&rDxttWYgdU%uDYuJEdYPpng(1AQ4+Xw7&?YxZ=pFZ%RO{+!v!>;?zy zza^G%kF#tTVNM;@-vGB(dy^6P+=J#3pw$LXJe0!NF78FaZ4o@m^YhgeJ5>S3i;Ncn zy023fR1v8D<2Y@0Z;N|5#UFkzAM#&fP##QML~O!_m_xs>!`-?eAYgq{FZO!UdHa zz$=7Aeef!UY&A2AJWqf#6reR9cH0azIxrsg=>q8dQ9ZV>AQ?Qd0viG8$2c6X6g&m} zfs39USoo#yn=W+;vHbU6zkHP2ec!MrH1l=6KZb(;6e&OpvJDO@aLSPM0`EczeFwbs zOJ9JT%y}T^_2Uszx&bH})kUYM@Roq?qTPxWtHya#4%{ipL?%!Mh5w$d0%_nlcdQg3 z4(D}yk+1D8h&BMwaqbtarXdbDdwZ;}Snsw-3&M(PA+Nia7usS60p$7J3U2S~(|}X& zbOcJkL^T4c1HTs>LC$`f*GM)y#%IKx^DVKIz75S+Sg@4qD_T7#Zlm9fGXZCZ5bWM$ z9CkTyDK)%F2S1Uek17yj9v@F<3IMh95dQ>$dlb?D_Bxs^0UUNXxK{jW7vQg-1g$P` zKc!Wr10e;J4uI!JfW~d}oBLTnG(V-0Dy^T}*9utdkyR?Blf6BADzz`6F#{e-Z@n1S%dXXG53IR<1dkQ2;&>OGh`3@}qlOBa5L zl|P3x+qoxb*u}(6eLicREDA{LU}Oea8n5&M6$?I%iF!z~L*9%Mc-f*MZ3R<+;`W-u z5$h7vOf-kN4*;HilRNY91S^r&SRz0}dkTo4#|ltVhrvRZmQ^!cW;B?mh8TmR7%a+N zPVoJO@4)}XxXbJ)=~(!MS$np15wi0ki%0;szUYk@I~bLUn)WekQ5peC;f5S;9l`qN zWpFwynU{n+s~s(>SPY`S0IZ$*@7n~8zDahD&&?-VGr=#vf&L6`&pAUKN~U`|Lp0`d zw!zZiH46UOZDx{lgC7+PzG)9BLuqN@B`3FL?Y(5Mtk?qd{%OIjQT>ecU)Y;VKlHPq z_?X1p{%jR2-uhX1S0x^e>@i5CLLT$KqYKTA{;Kw>P2+ceY~jA$=Awdyo6kdT7o2uz z^qw0#m*(3XLmvkxt|j*=22q~_L(fNt?e;@^FVE`}I|CKX6U@y)Ft_>c$WZ}Xdg=S8 z#n?>{oE-&u451d)ulBP0Htl!vu}8jKm`FgzDt0iFmV$#3LM~|J6-M9x8nsuRhiW5e zdttE!ocG0{qUn9`eRoCB0_GM@5!{DGb=Imig$&tch^kQOBCJ}&C(2wg3LK=x8ys+0 zwE_wYEJLyykN`3Qs^eo3Y@GH!#S3|wh}iwwGgyFqe@q!A>c>K~Bu_C6DON#rZps|D4BzO@5e- zWohHI-&f9#nnSIDFRNq8Gqq|=#Lc`5HVO_%GzFlw$l`_K6>;KU>aj*M>*THrsOt|d zZ#1>UV&NBLA2Beta|wOJ1WSJOp~zE&L_2ja zXtjdFosmj4TLFW2-zZ=$M}JN3Rrd2=^60F=yNt_a;Y@^(_b!-Q_r{u5uiY(99X$Z{ zziB!(3_A@hUfXQ5V0QmZvP*+Yg%^Ht7;ZNxL5*x6*e6)l(S$Rv9*!C~X^JfTNWPUh;|$Rzgr^3sk4uVT9uon6cp5gF+0M~T@;hRzv2ZqR^jbxl`H<}XV9?qP`GvOXRO{CP60SoP$H;! z*duQuKgNMO;||RZZR<(#82AVGs2OIA6bLjIixk%nS0AwsniyeKK7~;|kL51AQT=F4=7TjJ9*yZ%=3InnU+17M zc>fUc=|k10WGnC_+hEj1M7v{z?M{yx1m@MhJ&vD=Hg0sed+|@@KDY7|^1{XQe1Qe{bg#Vz#JjC_~t%MHQR~jip-?>c`t_{ zQ@3M#Re0Rhiq*#mjx;s;o;2jRkC2^vkYBLA z=AMK+VlpMd^H+g!HDzCl2fQj`yx@s|H7do0b+V?@163!=b)@s-P2PWYSe^T_Zu)O} z_+?3xA77t3LiGTyx!B5r#}KdQo`+ZFYKLi;jcFcA&wL)zCG#qASV=OP*R;ygLWz*h z505;Nw+2u!A`zBDtuxGT^LULdpmd{*6Dv5hx!e-mmfo-Nib{K14;#6B(3Ly13xfHD zH*>&IAbP@jDaw?9MoFni1(-sbWjZ!#Oe^yaXlVF$m@dohObG6I_xzY_^Grpu0)Z}h zh`;PoOp;mQZp}U36)g8ZdqL7NRWQ+6iLG{p`<3qLaUGIda8F$7CcD>(aH38{vV0HU zStK}f-iDR}C?e_z<;g!Nr2_@Valh&@W!~^IA=^1=Ps3qXdnqa>+f=QdQSv;{DXYs} z_El#op12IZ^k>^@a3f~84a;w?Adkame{ICLmqIKF{OwXImb&B@C!8&I*E4Qy82j$^ zdFP|6Jw1D97*|sDZX5Z~p+cfxq#r9AG z?O`}31QcT6Mia8KaXt&q{(|e6G2*m=*Zi)wr?>ZbslBuW6ojl@byK00l>zI)>H-M1 zlR1j??m2(Mf|K+S&OXx(E$wxoCrRVlgy>}VF#i!~2UW|C!KIXe@AV`wPTG3-?p(P{ zg}V|L+^0IICT<7!wH<3VF=)%qU+Q~vj~m<2?J%zXYGa1~NdSRz*TOzNoWNwTq&9t2 zDLZd0PJMS>%~t<4FJCivO9l)L<|jgR&FjhFDSrfRAvvtq(_SQEyunk4Jh8a<^Mx-r z2AQanPTbl57RBV<4&pqAr`JEP>8-Ub6_gki^j%wLcfmL!ixH}Ey52FpGS5X^w5%4e zbKudFl@-@ES8}tv^rcx7j_2Vs?7j<;+gicReb>O`<3|$|`|363HQcUnZy#RG9ENlp zD2w(O#8#;lD6#7tFe}A-6Qs&3U7g-|cv0}5fM*-8GqS2Q?>5r3J)4Thi^LT3>RT8L zR7zSqcL>#q%kEoliE^auMoZmI&HM>SaOC{W?nIjqOl zziE#-onhh8(IFCWsiuyketjRTpJzF^l?karfD)6BlcQ)#YMH{ZxZlUP_L4V7EyfXf zDq5tNb04q0Oswoas32J$rqqP+A`U7YSrn_a?IGVeNj|Av`MdQLyIZLTH7(+%z!-p#h_3t}7M7JdO^ zJ`PHu_|sRT7fxU=c-7TCjz7{Qx_p=6HV`xwM%0e=XTmI@#NZKTEVLN_U-R*N*P*3? zO2oG?Ry5P&b{0H^Cf-kc{&^L@%c}X#{v^z3nSXH|GCdlL`4_pUBh{}J7!&D{2WO`f zL}BLrx$w(12;@%{UAVJ9NYHOdH*(Qwfux1yDcVk!~mc902mut8i-*>LG| z;8#`4=)=pOo25>)E*FZ#0@F9%Gre1(N7%m+CCRDrglC9Fr_l^74 ze|)eyy|e>o?f241?l5vPVuha1Vn%cfK26iW5x={{V!9vJV;!V}c{TF8hp#!r{ z!MB?K0UfkdK!Ti7Cv&a2{n)S=Bg#37E^A);O3)`vbnKJjFLV>i4vh9UxvtY(cM8tDS>R;ZJ9pag|=@46GE znWNgaTuAvTJ%GE5XcG%GFTrF9X1C-BjVT)72ZQkV7+r%!wGsyp(HGRBTrB2#+`*?{ zX>YdWCIQR%lq#rZFIq4fn&_$!HtkyLQTn2%A!Z8Y4QS5yR*+LRUa55(o%|8(31$j%mlD*Dahg@dWu)JAHmAL$ z206RS-trmi4BuJ``L0-|j^d~>aEOO|%%kDm_U2a(%q6QFxX>AIhcq;t3o?UY4vI@E}wQ0Ee)!MOBm(`n)96S2)c*hAj%?3|#;Fkj>XD zEw^0T9K|W=61B)#4ebgP0&ZByCz39((M927wNZb{t<0af6Tk&w$kjYS@R%6HL&t;= zs15gpor~4w$F!Y?-7jB%bDTb+q`B66HjM$j9?~IdxDYf;cUvBO5eD#;Qq_Yg!2~dE zzB=uyF?ExDAb$SE7%*EPJ-K$rOp$I0nm~3?u9D?aS|(zEHP{p?OguJ;;e}&XgWl{9 zj}DiJDf=r=$KHh=hq78UM1@$8wK|R3ASJg@TjfE+NrRTzois1ZHoWhp@C<=D=%AZw z%VHJLGU7%vH3OSZp;3(?V>PClxO?^uU`+6bR5^a%fRkyEbr89(LnIip(bM^rIO2?z zT0O9><;aYcnlU`pmSnO9>-6G|`TeW^p+bhY(v`0Xq`Y&kVxpemmc~Q+_-|+eD4X*4 zAv>c|0l1(85JOTO^i}k_3Fa{x^C02I8KjFrhK{!;CNHe_+E%%F`PZoq0p6{eh|;UL z&*TDn{pEK1Vx4gWCHgX=a)}@Pam$&YB|chlapC6T`Yz=q&>rmsN>SrJKm;{UaH1^Z zB7;V0IU(&wx1%A^eJIRxYJ$CyC|Qd_b-#akvxs^+;vq^}kO_a_%MiMn(B))40ZQ z%_#US#WVaH#V2S+i0lNd#40|GXa=^OM0kWouv5vhn~Omqx&vQ-fu-_dr!)8Uj!$KZ zOUIu($J;(+;&{luqP54So%Z%tsVpepl?C9;x7SFCIP(eU25UYbKd*g zGO}q)q5ai2&xw|gY-1$NA~CL%ai^?&4O5Jw@Q?1qcgU=~S&^o=G}r4O_HC&2Q~Dnt zHq%nn_A$@5FjXRN+guEs5PkR)6tmbhcZishq{RH}ISfOFnLt)}`jOlgjR7XMKezFk zD+T)_XpB7B$Njj817KQUIa<`i; z!A3-JAgrC%+?q!qeUg2MDEX~EaSe0yNG`PPwn0ltNl#ZHpTP(c(|RAf{(6R6u+0i1 z2q^uM$L`dUY(X`v1?$BkFoy0L8q$C(RCwk}0lp&NnPpo~#UAXcY??cfxd+>_^5-qs z*8RBDUOU#|c(l3m@?+2@4Jb@w^Q;kOnoQS%zpfw|VFLuOOxc5}+ zv>h5u#I?SpJ9NaO_p>o}_fTwYZkGjnGGS)Q1IE!)bOBZ|Waj0*52J$jx3V!}jaiLx zht5Lh?@JY~?=^DGgH@Ooa6_?^=z|dC9PK0B$NP&%$6;(Vstg*fE@fsnnp_t`ysdM< zN@K>1v`&6TLou4Y_Y?OZ7!({87Qp(Ygw@wP)oR|l@tHqd_pmV`L>J z{k9C1T0ld>3U{~cHHJNMYWVzJUOn ziyO#VFHu1+jFEaGueOTlJAQp@p^LHcg?qC6YvN5WPR!qT=yv-?)>X+99UE;J84D#W zu1S1bw(3yza{V_at_9mXzc;`<)9i3F5i(9$*3@S*Vw#oEP`R6yoXM zFJQDsYNe(NNpg3l%8m<(N?2THgmLts_as!KOvHAn1uL=>(=8*D%s?H@poIjq#zY-Z zrZz&uOR!7@UE}7uB#!DdnrZtekG?m2tVQDlJyq$7Gv^#&oF5N-{hT2_4HwPX93v`E zW|)35rve&}wUk14wW<;ix#OrG;a<5bmcO+PjZs!?rlQt{j;|gQBRN42d1@e4o_VvpTdeG*^Wha@z&ZZpSYy>HlB4jm*DI7}z^k*FEP*yNAp3g$s*j$g+9x+pc zvns!7}O{~$w4$`Yv->XQx5a~6H*S|h{ zD5f8fivM=0q+^#Zji z9OF4w)If`^ri_Y|d)T5jpdG+UQN^TwZQG>nV_^a3P4}1cdgL{UZ&*0%erZY(qetxa zPJKzA)?h)GUshFRGISKoUW&(;cQR7+L7p@I*{H|(twnJ4+1cy+z4ue58_H4N;fWRk z--m<4?VK47=12bCpSb8|!i93qSRK2%xRrQmW?3kt5}anu!~MONFH{Yo>>2FZ$G(HNWML|-U9jhZ%_?QK3nBTkhw42Y4kLfU>PQRBB(&zxvz zkvP83)~$y)U3G>vs>}b8VdDrdwzyPOx+Y-#s-iL3%!xOb{S-VeCURj`7PO+CJ?Z@F z$=;4G&N^J44XZ|qVFecNTyw&ynjjTew)q*^G%x=_kEzWtyfRoKdcSq7?rGYk>3S{8 z&wuvD#Sc?5c@BMb1E`;2MM2ZT8Y@U|i8+o1j;88TwODbw&})0*njQ4sp0OQl&aZ)% zQGT5j=0{Me4R7@j9LSd*Q`&*JG zUbgwEoXESs^Slmd9M2rF3Y>Lr|6q75zdwQlEeaVEvRtp17&Wh2KB+OKyq63S6@zZ>lD7<(LYG-zKa5A`U#wcp{X#t&KZ9ghj7 zY^mqZEpD`MB5Q8XdvcgKIn4OIzk5tdM@RbUV-upHguiRWQ)$(L9fMBr1K=m|Oo1Ki z^~3lkuL1AUi8>70|ELa98Q?v=RlIBG&h{0Oq>mf$eA6k^iRs_o_2~mvuQ=Cnn@TGD zp-u68^UipwvkCt2E-JC6Wq^+1Hs+5g`gtNXW_wvn&fCs03F(2aPgRDKUt7hO3mca7 zA;0`s8>YXJ-&0|d=JiK|7yUe0NXiM-(q#uHoqM~5u+IArbWgAzO?j7)I)I~ev`zfd zoqv6^eZ%(vrpsfk1MJ`jfq~d9*&vi7i8Tga4>XhKGxz+@!z)w@Zk0%8bQz`6wmU=1 zX${u;dFPXWO-Vo@>!UQe|LqeeR%3ZD60BPV~e*~Ci79P#xcU0I)|fp(VzP-sLdp-f;Nq)m6CTJR!ItH z&g7|w_P@Yw`(Tj|%u*=4_w6C#ad3O=FPQ8?e?U|r@P%!4dZoV7o*pdrv+t`}ThImz zGvcLQbuZpQa$m18D3Ro7XfOVr+xVg%1rA=U!IT*GE-fw7vIov*hO5sPPiKT`$s6{L z)t^a(K*Q;T3oiQojhXVE$6@-tegYqju(Ibra;x8k=Q?|@wX$#D zc<$bxZ*tioIlW(uS;O;Y>}KE1e6xo}%P@Wnbw4(JDdwkhE7a_l$3E;X>^L)2Jw4k! zF_b8>h?Dv{HDU#XtMyTKxHl;PqsjAecz<=^HH&-)r^~d47teG&O$?9oU&KjtZSz!~ z;lZQdjRgL=KMJnD36BVTA9i65i0C^wbkk)lxwI#p>J(M8Ai;ac3QQoDe-@5oQjz!;M_aCoGqmnrl^l! z(L)F~$lnb>M$f6qg+Oc`*uh>DDi}4EC!C4N)_j{Sb6U7+x9TD2q%6|LpWs~dX-z|1 z42ACvC$QM_yZOfMhwni1^S`a2@9pWSr+x{0T?fxA7ECZX);_IouCYcqC=a}LH1>sZX_R->?fso3i_ zgAI)Vz`h)pAav`~oQ`qIk>FKNBB_hpW#~kT z)jksZ5s*IgLNdDc2HP+{@?X=H;(c!1oA?3i^6QYLe(d0#ooLaYe6E<}amqNzaxk30 zQk=Af4aCt7^f(t!j`iJWP#f8>=;qg`8;($WcI(Vq>>UIm$5mVE>h_&`qoi>s zrm5@NwK6}WGlSaM*M4kYRj*&Xncx?b-_^2vxo)smgctJ9_d+9bxT%M?*S&0i>N$C0 ze#;Gdmdo1J5;W~>sA%=K=HX94fA$2)5oZ5>5EPVv=@@wi7}frfJd-4$QkPvLym%Ac z$U|dCqc}}FEF>i4T!!@x(%SdGCc9QJEGi>1Syn(@F@uhn3-@nW61OUhXL#%0E)NTh z+39ogGvs+R)BN#hU?ERgZ|6(&g+&hCZONZVpeX}a5HvzFIy0h4Sx1bxcv%sS^T2a6 zf=|L;Fe9P6a0~0(e2I>GWyJeTCX?d`0$!Vd^**a!C%5D@Xbq1wjq38w6mXBoLxXH% zp`!DzYXiE&6z^9Qg#dcU1|WwL6kZ2Efd;BQuD2NDbJkB{9ZzeH-H<0H{CxJctua8x zs(>V9R0gh5i&i^f){X^I-QRTOf}#6XJd$GY9_CKAe!=%hlNeoC=vU*UGRy1zoEyZQ zpAg}aFSGSbQUGEY_^n)0J-uKf#sg^(2gCKIVrO9ehIwX%-ni@KkEHcSB?xKhG9tQn zB2=ZjjGv`J%=ziqZJyvh0h@Xr zC($=E!IyNj&m$1>emaV+)LbP;DNu$VfRfDxcU^KMG4^io~=BJ-#%3fieo#(>5mdYBf@=`!ZPBvmu0*r@x}r*)J!WFO7#xb z<;vr(?H~3s7jy125)I15D#FT7pA|ikXE~mfI}Gj64<&Z^Zbpn=6!ZKaJCXbeJI>3tRzAc5D*jFPQXy#nnZ`v_d-*)%y+qaw{peAik z%r%HJYPL=c*hMp`R0*+ft`3k|=Frh&*2$a_aT@E@(GHF$YL>X;s$ibJNE1gH5g8 z)z2^4H#G-@<1;&YtY=+?5}^BfQ2G606LB?q?gj$KIwHTDxZI&&_{cPi3k_e}89o=qklTdmVdAAWYK?{ZOWXuJ2G z5#4k5xc9b{p4Drc|DY4I6}wu-TQ~}T@4Nu60gGAQv_uBNXKd3WeLum|8p2-)mL9nd1SH z>dD@ZYwYir5vObl3di{$5UPPvjCPNO$rRq>4bM*(cqB;_|7g26X&S-b|0OxHari^) zIF}ULQu?@7UAyD-=@non-EW&6FTM;J>o-QDG-_`Dld3Y1X4^jQF8tPQ*k~B4oR-HP zIMW9s8}en)jB)0+aTm&}m|I$BGbHG8*5w;Ch{0NUG6`QBegt@AXLhhW2e>VX(LbDC z1%xU=4V}VEZf<*^=FHmHXJ%Y9IZue!Dd*KZkJnp-Hl%lbEEJOspv`i+JAA$Z=;yMN zlj6(-Y`Aud8)A>RZJ*C21{mnPK1WFl$kyun5O84NTw1XNv9;-*T>rIlf~n~Z*#G9Y zxw~Y8qtt9mC!hS{^W9s2c2le_>TQ*6ZU`!$$mjrybYq3O@CL2rXH`#?wK9)K*>v&? zaK@LuKp3tAPvNdJqu4nsUYI(m`Ic)nTs<+nYvIC`LB+=afiT*h$5Ja(OMS9eHst(h zas#E4{ORWG5aP5qCU_$4v2Z5D$eZL$h7#Ub8jH_apchPgDLwj-ui!L CLeF9V literal 0 HcmV?d00001 diff --git a/docs/hugo/public/favicon/apple-touch-startup-image-2224x1668.png b/docs/hugo/public/favicon/apple-touch-startup-image-2224x1668.png new file mode 100644 index 0000000000000000000000000000000000000000..a60798c86404a3a753b3a4a619a7ae97a59e879c GIT binary patch literal 64883 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 J{fP1H{{w?XE6xA_ literal 0 HcmV?d00001 diff --git a/docs/hugo/public/favicon/apple-touch-startup-image-2266x1488.png b/docs/hugo/public/favicon/apple-touch-startup-image-2266x1488.png new file mode 100644 index 0000000000000000000000000000000000000000..124af1a6cbb17a98d5ec07931424ea47f5c841b1 GIT binary patch literal 55868 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 literal 0 HcmV?d00001 diff --git a/docs/hugo/public/favicon/apple-touch-startup-image-2388x1668.png b/docs/hugo/public/favicon/apple-touch-startup-image-2388x1668.png new file mode 100644 index 0000000000000000000000000000000000000000..8b48e518a227dcf3609ba0df100e46c3a1eef85e GIT binary patch literal 64314 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%0AG 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 literal 0 HcmV?d00001 diff --git a/docs/hugo/public/favicon/apple-touch-startup-image-2532x1170.png b/docs/hugo/public/favicon/apple-touch-startup-image-2532x1170.png new file mode 100644 index 0000000000000000000000000000000000000000..51633de250add89a1c06eca60cec53926379a004 GIT binary patch literal 39841 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

&P)8rz|6K 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 literal 0 HcmV?d00001 diff --git a/docs/hugo/public/favicon/apple-touch-startup-image-2688x1242.png b/docs/hugo/public/favicon/apple-touch-startup-image-2688x1242.png new file mode 100644 index 0000000000000000000000000000000000000000..d6cb5cb4a72222a01608a76736ee423aefff241a GIT binary patch literal 42964 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 literal 0 HcmV?d00001 diff --git a/docs/hugo/public/favicon/apple-touch-startup-image-2732x2048.png b/docs/hugo/public/favicon/apple-touch-startup-image-2732x2048.png new file mode 100644 index 0000000000000000000000000000000000000000..91edc5c1b9839ec3e5cdaf6cf5d4aa8a8a92cf96 GIT binary patch literal 84223 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

3PHN#i4-xI4__JoLjI(c8$V12FDmcyn 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 literal 0 HcmV?d00001 diff --git a/docs/hugo/public/favicon/apple-touch-startup-image-2796x1290.png b/docs/hugo/public/favicon/apple-touch-startup-image-2796x1290.png new file mode 100644 index 0000000000000000000000000000000000000000..70d689b6c54ddcf52d90da6c141ed51a022c0d19 GIT binary patch literal 45333 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 Gum1@)@hjE< literal 0 HcmV?d00001 diff --git a/docs/hugo/public/favicon/apple-touch-startup-image-640x1136.png b/docs/hugo/public/favicon/apple-touch-startup-image-640x1136.png new file mode 100644 index 0000000000000000000000000000000000000000..07a85d53e5fa31d471b16f19fc15ae07382574f5 GIT binary patch literal 18940 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 B9hd+B literal 0 HcmV?d00001 diff --git a/docs/hugo/public/favicon/apple-touch-startup-image-750x1334.png b/docs/hugo/public/favicon/apple-touch-startup-image-750x1334.png new file mode 100644 index 0000000000000000000000000000000000000000..f9cf67d9d4435b20dce3895065c60ad18d17202b GIT binary patch literal 23176 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 F{~!4dk>3CS literal 0 HcmV?d00001 diff --git a/docs/hugo/public/favicon/apple-touch-startup-image-828x1792.png b/docs/hugo/public/favicon/apple-touch-startup-image-828x1792.png new file mode 100644 index 0000000000000000000000000000000000000000..34f7ff1f266eb125c6d1473e2714ed88478afaad GIT binary patch literal 26138 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 + + + + + + + + #efefef + + + \ No newline at end of file diff --git a/docs/hugo/public/favicon/favicon-16x16.png b/docs/hugo/public/favicon/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..45c0ba00c5e4299e02e261ab4e2c6f5fa658cadf GIT binary patch literal 442 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 Uj(8x9Z(P;JK;8fc{$DxpKh)ZY*8l(j literal 0 HcmV?d00001 diff --git a/docs/hugo/public/favicon/favicon.svg b/docs/hugo/public/favicon/favicon.svg new file mode 100644 index 000000000..580956369 --- /dev/null +++ b/docs/hugo/public/favicon/favicon.svg @@ -0,0 +1,53 @@ + + + + + + + + + + + diff --git a/docs/hugo/public/favicon/manifest.webmanifest b/docs/hugo/public/favicon/manifest.webmanifest new file mode 100644 index 000000000..b12e07e5e --- /dev/null +++ b/docs/hugo/public/favicon/manifest.webmanifest @@ -0,0 +1,68 @@ +{ + "name": "geekdoc", + "short_name": "geekdoc", + "description": "Hugo theme made for documentation", + "dir": "auto", + "lang": "en-US", + "display": "standalone", + "orientation": "any", + "start_url": "/?homescreen=1", + "background_color": "#efefef", + "theme_color": "#efefef", + "icons": [ + { + "src": "android-chrome-36x36.png", + "sizes": "36x36", + "type": "image/png", + "purpose": "any" + }, + { + "src": "android-chrome-48x48.png", + "sizes": "48x48", + "type": "image/png", + "purpose": "any" + }, + { + "src": "android-chrome-72x72.png", + "sizes": "72x72", + "type": "image/png", + "purpose": "any" + }, + { + "src": "android-chrome-96x96.png", + "sizes": "96x96", + "type": "image/png", + "purpose": "any" + }, + { + "src": "android-chrome-144x144.png", + "sizes": "144x144", + "type": "image/png", + "purpose": "any" + }, + { + "src": "android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "any" + }, + { + "src": "android-chrome-256x256.png", + "sizes": "256x256", + "type": "image/png", + "purpose": "any" + }, + { + "src": "android-chrome-384x384.png", + "sizes": "384x384", + "type": "image/png", + "purpose": "any" + }, + { + "src": "android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "any" + } + ] +} \ No newline at end of file diff --git a/docs/hugo/public/favicon/mstile-144x144.png b/docs/hugo/public/favicon/mstile-144x144.png new file mode 100644 index 0000000000000000000000000000000000000000..7cf7b679d19699d797b6a171b47b63210028baa9 GIT binary patch literal 3142 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 LyiJRBz|H>wTzvM@ literal 0 HcmV?d00001 diff --git a/docs/hugo/public/favicon/mstile-150x150.png b/docs/hugo/public/favicon/mstile-150x150.png new file mode 100644 index 0000000000000000000000000000000000000000..fd7440da6fa7110dbd8e1eb8ec18f9f4268dbbff GIT binary patch literal 3272 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 T(8zgpngERT&GZ^|T;l!*ba_Bq literal 0 HcmV?d00001 diff --git a/docs/hugo/public/favicon/mstile-310x150.png b/docs/hugo/public/favicon/mstile-310x150.png new file mode 100644 index 0000000000000000000000000000000000000000..06f3ef9550a94594cee73f10b4481f00520c1853 GIT binary patch literal 3026 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 P?iwZr<~PdqZ{Gh8f04$R literal 0 HcmV?d00001 diff --git a/docs/hugo/public/favicon/mstile-310x310.png b/docs/hugo/public/favicon/mstile-310x310.png new file mode 100644 index 0000000000000000000000000000000000000000..cb9f77d3c12cc9bdbd3c70b1612d67587578c850 GIT binary patch literal 7749 zcmchci9b~D`~QbFOl1j^glv&zC~1f>HTIn$V;LqY-r1Li5XzD)CA+dkw#l9_GeS{H zmZ^*(2FWrSAu(haerNjp{)X>79_KNSbD#UZ?(3X$pX+*E&pXM+%J>N12|f@Abi~xe z00jbZUEmx%2Z5Hw*ByA^k2lc7DFg)Cx4=2Lnj=v@AdtkSsljFY+XYJ#;8z&KLg;U^ z+j0DtY>aLhyiR`JfA{+5!}GVUFtruFU73gsi(Oy%;U<`!h!MHO9sNY z-}fF3GSk1T9#w?OW!7EfO&233LydTzO^a!{;xYs#(+WDOtq5i&R>6`JbZqnXb}h5^ zeOEK)Ct?EY-RZ5taq<7?Hx%4+q_CY)`!FSVMlZ`H%+P(@CuETd>G4ykiG10x`-RpL z<<9m?SXBlucGx>^E|0xveC|}Kk;Wopx!1}t!C3;$t)_Kq$1r;afl-;?BP{ruZ3Eel zg+KAu1*9YEb1<%Ma|}3g0d_ur0A98C8}#LSEpvOmwy|@twiB43q>D9Zks*$F>axjX zndGaj+?uzGsf+K=M4{!-xqNlYS;#O?p|{z&n3(#DkLL>3;CO^EDCy1|TTQ8E@4Ej) z#gm+GWoMT+-Q^)>nXHf=@9D1jXcTpjNBJdi1!}hJ);qkFB07AubhiK$Qu^&gl$HCA zA#pYBR{Q5rMXeZYH%X&0cKi99@77L|zGcZWBeY~G&o^_Hv9icy?NW-xpLqq(SgX{u zRnik$y4_!FZ;mm(Tyre0wrA9fV%U)@;H7WMT2XCTFU;6mT%;Ju0g^eL^tmYe1K$kU zJxZxyHWvv$H&VWlnhGw_>%96lw!O-WOWo)FiOnB07FIBKOk=HZ-mCd)mD#BNIX6E2*`94> z#y-c`0`*r>f@fehxua!g{Vmz|Bh4dGIt2|7WNj(5(KTyaA}+337Ej-=e&fkR;D7$K zi+}!%O?(>oE4AiOd217skbk3lpqVn)yj|r2QFFVa&U_83SYN;7Ps35lHJRP0u(Qfy zy~7GW&3!&8!^V9tY|j@c$SJ{ghbT8R2lT(LvP>e+C?}a2svbd~!h?OB=T1{TRM8Kr zUoj<>R=j||@VyGFXD^>(6FOqt5w2Szni-5JurKmXg zW3MG;iZGjb%)BeMj!2dzF3eIp(_R;NqJ3w~Yh&Q%_T{C!n80Su*x08*@t;@9ie%qN zT}RiCE5LT${sce0(REZ-#TL1sj8C~qecv!Nd8{SuF=xR3M++6;px0@7%fpJabmde;g+)}otq2- z2a9DB#)K|Q<5Z{bNHZ}dWcjeEG0Laft4ZH=b&^OAND|WP!3-j@IK`L#$X{ff?j*B+ zWY5Ia0M2vN_?}hB(tKRVOiNC~sJ};&$@+boYyBu;?CA}spJCX0CYrxSh5iUJEE^v} zd}tv~vs&2T{WxBx(r|JPWi3JP%JG;B;k-;mb9CDQmEbFGJ}8I{*})H4YzfCM*b!HA zZ6P-GU)7hdi)!~W!zl+SO@VAN#ul!o(H+XktIb!CvFMQ)9Fk^foT91?QW`mTELBO{1sMQ7LXG?MZHxC(aDG3<0oUe>oC z!S$o-=qj(nQ7_bYSE|5OXnY#svgp}CCVmcZYe8-DlBo!_&;aoF)61L~-W12b)0w%} z{KwqP^f~irYOu^0+>GHqS4SWe8P;5nY*;$}q&+sG=ktf)#bu~#qu3@{CHQRTTsxSU zAJOrd&bQckh2-HwY;v6KN<+kQGc1*qwqW-!|LE$wZ{FfO?(FiD-%GH1WO2K412y|| zKYipbO$>HxL#ZZ&l0a$B+t5@Ac3<>m{P}rh|HyN&sLE(cL=UJ&eaZYI81Et`76ncz z$YQ8AhAL3V&Rwns>C zc_jnsr}D*Y>5R0uc@>>c{l;{3Llw5dm$onAX6GaM_>e+dV8LlXi5CkaDnLWjhHI5` zRJe#c-p^vr{<28MfO@3pK|MR z2yqoQOGOa2&xJrS0v~I)O`^&M>>^^HQPOOJ*l~s_-iK_-M^BA?Xkzq8NEKbLa@nh( zk&JFnc@Y|0h@oq5Yi7IFGEr47y(!*|aADX4_Zz4w-pXp>^P1J*Fcw8V43eSxUf2}C zOd(wz?NYq2RBxqJc^w3$gTv@U5URfhG@fOk=*|e|x-_dr-!>~*PTu)^EX|1P4aKw$ zVd08t>x~;uMo~hz?;0FFtP*`w@zHIxH>ZbTv0Y&Bk3CSj~4&v@vI{P9OR%LF29y|~r2?pTt)^_AW zAR!I)hFNQmiFSP+wg&AE7&P=1@H+=nUjl6?G-gK!2L1$dtR@K}W0E@Fgg#Z!CX1pt z17($2wSvN2Y=uy~!rZiFrFSY6qf`(AFo-xvdNekDjI%#9)&fD+V{c~1} z>?X8UCxKjO!gIV8JE7#JyXrr{!{?i^!=3mH1T5pRvgHO7#1v=>k`D|iRzEaj@4(J}-;-KI0+>!nT<^PGe!Q72+#5<8R5tU4LbsZI24G}Q%;{N9NaPLOX_;1b|$s0QQiM_Lx;xP@hND{cC=!bkShae(A7c`N7#H3}98&(aN-0(|a)%J8j%&Y=m7w&~9_QkpPz z;%u!H4c0(z?dk2v33K_4(6Vej%Pg*jwm1% zcrvH#7pk3pi7zU$Z@Fv(zhiM8MA@M~=X;Jj^Y>#Iz7r>rOXv zK@F|ML^pNlrd8-E6QWZ|S)`13>~qLbZSaisnVOJxl~;u)U$|Ytwl@k_(-dI}soz%% zR)52y3DtT9ULNwIW*GbRkpt+o%v{@%Qp^jwjgK;Wnz$Nj1s>45#`K(+?;>SZ(QQtz z$&Jtlm`Z+ph>R(R@QsdhaIfPnOX=r^GOG867Q62x$CrBYetIZ185&z$K}lZXw^o~} z9W0_~nC>QuZWsQV7O>=Lj$IqGc~MPh;3^Yn=6}yRy-~+*6(aQr4XH2B(g+Gw;M!5> zvey80A*9MHvn=qVfWuJ=;{MGXn(DMeY+!SaA#_Kq+uS_<^IkgZz&*U7A8+e{#`yC! zIvOy4<*4*6iEFf{(>}{OcO#5Uod$ErxtKk>ABeIkvpU4F!4C;uig+*Q+Icl0Wc!(4 zaM7)bG#0b73|xEC&y;HFCKaO7cn z4np=IgIh)Is*S!j!E86_b&>RdUN~%;aVzIRAitA8ZD#iUjj&=s9aPb?;{oBgl&JsQ z4=p|%kYKYXnXlL&UK|1`$lvhfZnYym%X`&uX z_uR%h+_U-sx`@^EKJV>irc%zw8JmQlFcie$Y;EvbC5o)-y>DL%c5I@ON8q}QxT8$) zOpJxA{rh!(QzS%#M8a!rK0k&Wc^GQ*##0rSd5l|FOL|QeLvtY1nQk z?e+HIVKYB5X0FtkfXTl-zidR$PC9o60BM%tp+rhg|I%th);N)|s7b*_mlX)=wiO%J zsqae6CR}fO<=wOkp{%7M%TbXx5VXmA0tt)RD#2O&tq{10-|*;{nkn8AJ)_+@W3&8G zsXGC$E=ZhRk_fn#76f@24Qo^l+m8U1l}$5bRXjMt*Ug}%t+#ehWYH@w&KzsgvlR6B zw$S9j8yV4-=?Z9R>9%sqYJ^XpbPZXmSZ42!?3^X;RG-s3vk*;+e=$ehFQSi;jg5ZK z8Gp+EoopzI|81nm;8u#rqOm$}u+4awsth$f)Uv%2gX~oHCkJcdddaZfV{Ga=+br0x zs`IZ2@tD7YN4iqKW79k3mMb+_KyjL~-y44_{GFpJil?!{a#}`HJMS^8qiMY&PsZbw zS5#0$=8AGaBN4~x?O(q8Lw3%pKR{5wFpdBv zu=i9lgg>zD(AUN9q5RgF(H#>&@(H70@08J!whm5=F$NB0-+sT*3fRP3m;JN(E6rY{ zXUf}ZhS!YFV`vgBP|D4`f&}Ke~0AIu*Z9##~DTwA7m19iCI}$jO(1G zME%Z;j9!i%Sz+5YeWUFoKa^?bbIbch_iVloIlb~=ZOo-A24tcw8-Fp;u#Qu;`cF(y z=Ir}rj_7Q7GPI4(6fBhQ3ZA-=%7U6-`YLXHLW*s8;@rP1!&GPUbDeRz&|o0kgU!B* zhhu7jjBUwK?~LkJc6~kN7DMw(9RMtZgCVRvmeczu&h?rmE6f@wNWjQrv9p)^x z*bLq($5T@OY*+f0_6(|O%B-YAP;xaLRs6ZT(3Kw4G5f&V@Juh0h^h(z*Da@BJ^1Qh zFo^J(DWwrU3@K`c9bmrBXyg>hWi|-;y|ew$MS1j|faE&%RaK|})8f!U(N6mZzdHF! zI#mdy=X=SPF=_I0x&}oqoA$Gb&p6QtDDsr2w?(F?*^r& zBzN2oDJ&;l%ztr@i|sWnW968h0YPnkJxUL7iuDF^O%{J2o$3dz(MgIpT7Le#{cA0n zuj%i&+vj)u$l#5fVO*^y~Iqr6xa?dhPR_qrA6RrQ6Xtc7;0+Okta&i9ODT)>72JAe+<^M5uEM0 zW8#ikCx6SaYDS6kC@d>D*iUT#L7Z?%utsRPGP(zz9Iv_l0bF8K1@@kgal%*Lzt1Rl zjEax#1JtkkgoLZgE936axg$f8&vx%brLFbcLwT<7Y%1~A8GALHYjbs=z_iI$KMH1q zHkJo6Uxpg(r|Wu&)(v{ezkEIP1S@rOjYc4g_DpCkNrWpvEeI=#QPU@CEf1k$Bu9zi z(}HDw=uOI@c$;DXI_cR)Ov5XtE50RnT;hrHBpAkpL>*^JX)T2mv5aR8HQAjXjUZ6p z1=&{L9@55Ujb58Sq4_d!v>I>$M>m#ohL|B0yAOD9n zS{AERQJyIP%mVT9uIvb7CiJma+xjyzs)z7i2SB`n$abCBKVz;v2{uyQ`fDI{=7(C3 zDb$XbPAm`^Iv+=Pf*yka+`s`_Rc!}30##$*1D8q->%H-w+~I*ytcWVYKCjW!edlFT zj6bon|JQwer{18!%`9ZSbrntWtsNhTY~#|t^^ErS7CaXJ&qzUQR(_r1z*84j z$FR#$?~eSTvZ9=N0ohQZR&!J8Y2EkNL8q9%KqlwWw>Cc3`pi<<=70=pQ++uh*XnQQ z&YlC5JGXKY2k-4i7m;c_A2SJ0AS|=BiowZ*)ymnP+I+t!md?RFt|RJD{=`=*LC6KL ztm2EG^)y0s&8Mc#vppGm0iXtRB5t^gl^=QKKOND6*5)hMjGN*UAT{xazTi{5=MPlw z;{N+@VT%&7f1y|VRToJlC&vg6uJ-uah{gk{9bij?2@14PX{WPC#~i%RjJ)#v-HjHSsV1KF88e0U$AZ~~GN z4}-{U!AKRq7%4(!7rd^iaP?nOYcSv`*}YFnCAs+{A6{LQec&)b3h6cX_N;DMHR|Kd zxoajLDS;DY%IWH)M6`f(cs3K~s0b4`l!jVsephm)A+*NVzz|_Wy5eGpctg}njpzW4 z_tv(>0u=KJjiBMk-PQAG4%3V`$9sVr*azaEzXmT$&cx()T|;LqTBqmQs5$sy5TZpX zuFu*~8~oHS0Eh#PtNF+r8k3l!AV zEx&eucN}7f=@;jZGB3m;8P1Jjt(qH$=DL?(0bFn>_!#Lj0MkMeR;MbU&zC>6=Nnq_ z&6#0*u_Z-n>%=Zn;+oY7GZWRv{_0btzV-QoHV}%da zltUPWUKJESiDAV8B$1-@uQ?#9RPEWMTa2e33H2P zX9N^j8&-q}9RR_d<{iNYNvQSq>W{c?aN>}%W^?wMuOM>=bUIsnkC##Uboao%&eZJv^lzrU zBKbDO&x*v~Ec2Vzx)gr)UTUhj9&ZDYxA&I)2lX}XPP_p26f(qP%y-J?V@@XLWm{;W z<&{_`7+;?v{lP8;c4Y9?Pr+?J=ZLG~GH!TRbm#OWz)Ap#FD2lhFPJqVXB#$M{_(Ld z5ulGJT=7nwN^O(5(VGvFKGgnDX=U!)x7CNI?^C}<(u{Bf;=Ihoot?`6zhgtMFSD6? z@T~u|41wf-^=fai4f((`W$V+kR97>MH}HOoyIDXkWuq31O;a9L$Gl14RxIoyl&UWe z64f*}*Z#Mclo{OXb7s<4ojGfJ>O~Z0xLJ)ty2d+iBbypeCXIBdcbs6OB z$Kk-H1HeoMmf5`DPWLkT%P0y^$A+tF4E_TG4+EQgC;xyKsfGFZ8|aW3O76vP@Uc&Opyj|B^cHmzw`}eXsh8kc^CsjEszojEszo1_(A*C;4IYq)<`lOMOJh z=(sQSUSH|gym0sy(jZ-3eKQc*DvE3mMSco_MTqPh0RDIo1d~Xban<3OLh5gQ6;(%D zLRBKKRDq;+Ddi4DrYZ93=!=EDy}dV+G%~QGdbO|g_DhL!UK|+>i>*WV+S+v-?`{PC z=cPqCw}20(^2_n0ekM+o3tx`jY-^Vy+Z-#($fEfHk~V~lcGwDIRw4ZTjyRi?x_4TO zg1m~zzb9#;SglU{4K_ zBoW3e*L5e8G$CYEPA1HeMR7I}*@p>*IZV=qQ2Kp)VYD_;EY2nZ+nG?9_ek2v%kmsw zMJFu%%d>Iz0N`4a$R+SEe>qNm4oM>-tSqr`!s|)3Iw8&$qT7`~lrxmFr6kQ1LXAS| zeWT<1;s?`ae)DITa&{O8vcyfq&JAS>+_RqV!{n-@x ziFjeykCgJ;NvD9w*I0ZhUo2SQ-#|KrTrU4m&1cm2DW9Y&k!v*og=q-$*20@GY^<7Wf+^jTA|7B0%q5xtw=D0H4(in*i(qitKnoM#n$99=Ha$H(*CX*7-WfCOiwNU$QJ>x7%jmqXLj$+{h1U`T{-}x7YmEqtk_oj#;-?!^)C|g+XAS zr$m^K;`Zt*y)03)EQ~&DSQv`@rz&A+g>Xpfai4KlI7&d;7l8ioWSQtv#(zbHGG8(=t&Nm2xNfg+334h3Gbof4W_?ITPp};@B zT;bX@!Y)g=zR)zPU8L9Byh+wJQOX~!SNYbeXXFJ$w%#O#tw`{MjNXkAWsfNpNHYL{ zsnlVs5qSCk8)gR(*$a)71SX@Vz~5{|Ng%?Z$9$=GUgT`cCUON~c`9i(MN*t-I`Nd| z=QXQ{GzBRF-)kYxv7|*L56iPgipVh^ohtzVOhx2hwQbv>l>|X>jd9p9;&fJ{YJ~3Y z?wjIzGac9393g9l*MS0mXIx&N6wSO$DSB8)Jzy@}M5*j0xp2$n^0y)IljG{b%`53H zq4fSyind{2>6dN8CUw{cJ(6U#UFTSJ6qU0!~HG z#o3!bKbT_buC^Zo5lXLX_TZ33jh6nwA(3#@tRO3o#Mv}`n6@4@3tBgv_-b1ZCl*^Y z&We~{(bnUv2BD%Knmqt*u7lfp0NNlz{d6lv=B+OK(>yXiP7-{lBbadup`sPOjJ61=hs;ARq4aJc^{T$jf6O3bddS6BQsleO w_KTUW9W#e7PwkhIk&%&+k&%&+kwMbVzZV-`1wq + + + + + + + + + + + + Create a Cluster | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+ + + +
+
+ + + + +
+ + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
+
+
+ + + +
+ + + + + +
+ + + + + + + + + + + +
+ +
+ + +
+ + +
+ + +
+

Create a Cluster

+
+
+ +

To set up a cluster, the implementation is based on a description, as with the other Kubernetes deplyoments. To do this, the operator uses a document of type postgresql.

+

You can also find the basic minimum specifications for a single-node cluster in our tutorial project on Github

+
+

+ minimal Single-Node Cluster +

+ + + +
+
apiVersion: cpo.opensource.cybertec.at/v1
+kind: postgresql
+metadata:
+  name: cluster-1
+spec:
+  dockerImage: "docker.io/cybertecpostgresql/cybertec-pg-container:postgres-16.4-1"
+  numberOfInstances: 1
+  postgresql:
+    version: "16"
+  resources:
+    limits:
+      cpu: 500m
+      memory: 500Mi
+    requests:
+      cpu: 500m
+      memory: 500Mi
+  volume:
+    size: 5Gi 
+

Based on this Manifest the Operator will deploy a single-Node-Cluster based on the defined dockerImage and start the included Postgres-16-Server. +Also created is a volume based on your default-storage Class. The Ressource-Definiton means, that we reserve a half cpu and a half GB Memory for this Cluster with the same Definition as limit.

+

After some seconds we should see, that the operator creates our cluster based on the declared definitions.

+
kubectl get pods
+-----------------------------------------------------------------------------
+NAME                             | READY  | STATUS           | RESTARTS | AGE
+cluster-1-0                      | 1/1    | Running          | 0        | 50s
+
+

HINT: Here you will find a complete overview of the available options within the cluster manifest.

+
+

+ Use a specific Storageclass +

+ + + +
+
spec:
+  ...
+  volume:
+    size: 5Gi
+    storageClass: default-provisioner
+  ...
+

Using the storageClass-Definiton allows us to define a specific storageClass for this Cluster. Please ensure, that the storageClass exists and is usable. If a Volume cannot provide the Volume will stand in the pending-State as like the Database-Pod.

+
+

+ Expanding Volume +

+ + + +
+

The Operator allows to you expand your volume if the storage-System is able to do this.

+
spec:
+  ...
+  volume:
+    size: 10Gi
+    storageClass: default-provisioner
+  ...
+

This will trigger the expand of your Cluster-Volumes. It will need some time and you can check the current state inside the pvc.

+
kubectl get pvc pgdata-cluster-1-0 -o yaml
+-------------------------------------------------------
+spec:
+  accessModes:
+  - ReadWriteOnce
+  resources:
+    requests:
+      storage: 10Gi
+  storageClassName: crc-csi-hostpath-provisioner
+  volumeMode: Filesystem
+  volumeName: pvc-800d7ecc-2d5f-4ef4-af83-1cd94c766d37
+status:
+  accessModes:
+  - ReadWriteOnce
+  capacity:
+    storage: 5Gi
+  phase: Bound
+
+

+ Creating additonal Volumes +

+ + + +
+

The Operator allows you to modify your cluster with additonal Volumes.

+
spec:
+  ...
+  additionalVolumes:
+    - name: empty
+      mountPath: /opt/empty
+      targetContainers:
+        - all
+      volumeSource:
+        emptyDir: {}
+

This example will create an emptyDir and mount it to all Containers inside the Database-Pod.

+
+

+ Specific Settings for aws gp3 Storage +

+ + + +
+

For the gp3 Storage aws you can define more informations

+
  volume:
+    size: 1Gi
+    storageClass: gp3
+    iops: 1000  # for EBS gp3
+    throughput: 250  # in MB/s for EBS gp3
+

The defined IOPS and Throughput will include in the PersistentVolumeClaim and send to the storage-Provisioner. +Please keep in Mind, that on aws there is a CoolDown-Time as a limitation defined. For new Changes you need to wait 6 hours. +Please also ensure to check the default and allowed values for IOPS and Throughput AWS docs.

+

To ensure that the settings are updates properly please define the Operator-Configuration ‘storage_resize_mode’ from default to ‘mixed’

+ +
+ + + + + + + +
+
+ + + +
+ + + + + + diff --git a/docs/hugo/public/first_cluster/ha-cluster/index.html b/docs/hugo/public/first_cluster/ha-cluster/index.html new file mode 100644 index 000000000..e40d8ab8c --- /dev/null +++ b/docs/hugo/public/first_cluster/ha-cluster/index.html @@ -0,0 +1,5362 @@ + + + + + + + + + + + + + High-Availability Cluster | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + + +
+ + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
+
+
+ + + +
+ + + + + +
+ + + + + + + + + + + +
+ +
+ + +
+ + +
+ + +
+

High-Availability Cluster

+
+
+ +

No more effort is required to create a High-Availablity cluster than for a Single-Node Cluster. Only the Cluster-Manifest needs to be modified slightly. +The difference lies in the object numberOfInstances, which must be set > 1.

+

You can also find the basic minimum specifications for a High-Availability-Cluster cluster in our tutorial project on Github

+ +
+ + + + + + + +
+
+ + + +
+ + + + + + diff --git a/docs/hugo/public/first_cluster/index.html b/docs/hugo/public/first_cluster/index.html new file mode 100644 index 000000000..40e511ea3 --- /dev/null +++ b/docs/hugo/public/first_cluster/index.html @@ -0,0 +1,5235 @@ + + + + + + + + + + + + + Create a Cluster | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + + +
+ + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
+
+
+ + + +
+ + + + + +
+ + + + + + + + + + + +
+ +
+ + +
+ + +
+ + +
+

Create a Cluster

+
+ +
+

To set up a cluster, the implementation is based on a description, as with the other Kubernetes deplyoments. To do this, the operator uses a document of type postgresql.

+

You can also find the basic minimum specifications for a single-node cluster in our tutorial project on Github

+
+

+ minimal Single-Node Cluster +

+ + + +
+
apiVersion: cpo.opensource.cybertec.at/v1
+kind: postgresql
+metadata:
+  name: cluster-1
+spec:
+  dockerImage: "docker.io/cybertecpostgresql/cybertec-pg-container:postgres-17.4-1"
+  numberOfInstances: 1
+  postgresql:
+    version: "17"
+  resources:
+    limits:
+      cpu: 500m
+      memory: 500Mi
+    requests:
+      cpu: 500m
+      memory: 500Mi
+  volume:
+    size: 5Gi 
+

Based on this Manifest the Operator will deploy a single-Node-Cluster based on the defined dockerImage and start the included Postgres-17-Server. +Also created is a volume based on your default-storage Class. The Ressource-Definiton means, that we reserve a half cpu and a half GB Memory for this Cluster with the same Definition as limit.

+

After some seconds we should see, that the operator creates our cluster based on the declared definitions.

+
kubectl get pods
+-----------------------------------------------------------------------------
+NAME                             | READY  | STATUS           | RESTARTS | AGE
+cluster-1-0                      | 1/1    | Running          | 0        | 50s
+
+ + + + +
+
+
Here you will find a complete overview of the available options within the cluster manifest.
+
+ +
+

+ Use a specific Storageclass +

+ + + +
+
spec:
+  ...
+  volume:
+    size: 5Gi
+    storageClass: default-provisioner
+  ...
+

Using the storageClass-Definiton allows us to define a specific storageClass for this Cluster. Please ensure, that the storageClass exists and is usable. If a Volume cannot provide the Volume will stand in the pending-State as like the Database-Pod.

+
+

+ Expanding Volume +

+ + + +
+

The Operator allows to you expand your volume if the storage-System is able to do this.

+
spec:
+  ...
+  volume:
+    size: 10Gi
+    storageClass: default-provisioner
+  ...
+

This will trigger the expand of your Cluster-Volumes. It will need some time and you can check the current state inside the pvc.

+
kubectl get pvc pgdata-cluster-1-0 -o yaml
+-------------------------------------------------------
+spec:
+  accessModes:
+  - ReadWriteOnce
+  resources:
+    requests:
+      storage: 10Gi
+  storageClassName: crc-csi-hostpath-provisioner
+  volumeMode: Filesystem
+  volumeName: pvc-800d7ecc-2d5f-4ef4-af83-1cd94c766d37
+status:
+  accessModes:
+  - ReadWriteOnce
+  capacity:
+    storage: 5Gi
+  phase: Bound
+
+

+ Creating additonal Volumes +

+ + + +
+

The Operator allows you to modify your cluster with additonal Volumes.

+
spec:
+  ...
+  additionalVolumes:
+    - name: empty
+      mountPath: /opt/empty
+      targetContainers:
+        - all
+      volumeSource:
+        emptyDir: {}
+

This example will create an emptyDir and mount it to all Containers inside the Database-Pod.

+
+

+ Specific Settings for aws gp3 Storage +

+ + + +
+

For the gp3 Storage aws you can define more informations

+
  volume:
+    size: 1Gi
+    storageClass: gp3
+    iops: 1000  # for EBS gp3
+    throughput: 250  # in MB/s for EBS gp3
+

The defined IOPS and Throughput will include in the PersistentVolumeClaim and send to the storage-Provisioner. +Please keep in Mind, that on aws there is a CoolDown-Time as a limitation defined. For new Changes you need to wait 6 hours. +Please also ensure to check the default and allowed values for IOPS and Throughput AWS docs.

+

To ensure that the settings are updates properly please define the Operator-Configuration ‘storage_resize_mode’ from default to ‘mixed’

+ +
+ + + + + + + +
+
+ + + +
+ + + + + + diff --git a/docs/hugo/public/first_cluster/index.xml b/docs/hugo/public/first_cluster/index.xml new file mode 100644 index 000000000..0ab3329f3 --- /dev/null +++ b/docs/hugo/public/first_cluster/index.xml @@ -0,0 +1,12 @@ + + + + Create a Cluster on CYBERTEC-PG-Operator + http://localhost:1313/CYBERTEC-pg-operator/first_cluster/ + Recent content in Create a Cluster on CYBERTEC-PG-Operator + Hugo + en + + + + diff --git a/docs/hugo/public/first_cluster/singe-clluster/index.html b/docs/hugo/public/first_cluster/singe-clluster/index.html new file mode 100644 index 000000000..2ecb7d862 --- /dev/null +++ b/docs/hugo/public/first_cluster/singe-clluster/index.html @@ -0,0 +1,5495 @@ + + + + + + + + + + + + + Create a Cluster | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + + +
+ + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
+
+
+ + + +
+ + + + + +
+ + + + + + + + + + + +
+ +
+ + +
+ + +
+ + +
+

Create a Cluster

+
+
+ +

To set up a cluster, the implementation is based on a description, as with the other Kubernetes deplyoments. To do this, the operator uses a document of type postgresql.

+

You can also find the basic minimum specifications for a single-node cluster in our tutorial project on Github

+
+

+ minimal Single-Node Cluster +

+ + + +
+
apiVersion: cpo.opensource.cybertec.at/v1
+kind: postgresql
+metadata:
+  name: cluster-1
+spec:
+  dockerImage: "docker.io/cybertecpostgresql/cybertec-pg-container:postgres-16.4-1"
+  numberOfInstances: 1
+  postgresql:
+    version: "16"
+  resources:
+    limits:
+      cpu: 500m
+      memory: 500Mi
+    requests:
+      cpu: 500m
+      memory: 500Mi
+  volume:
+    size: 5Gi 
+

Based on this Manifest the Operator will deploy a single-Node-Cluster based on the defined dockerImage and start the included Postgres-16-Server. +Also created is a volume based on your default-storage Class. The Ressource-Definiton means, that we reserve a half cpu and a half GB Memory for this Cluster with the same Definition as limit.

+

After some seconds we should see, that the operator creates our cluster based on the declared definitions.

+
kubectl get pods
+-----------------------------------------------------------------------------
+NAME                             | READY  | STATUS           | RESTARTS | AGE
+cluster-1-0                      | 1/1    | Running          | 0        | 50s
+
+

HINT: Here you will find a complete overview of the available options within the cluster manifest.

+
+

+ Use a specific Storageclass +

+ + + +
+
spec:
+  ...
+  volume:
+    size: 5Gi
+    storageClass: default-provisioner
+  ...
+

Using the storageClass-Definiton allows us to define a specific storageClass for this Cluster. Please ensure, that the storageClass exists and is usable. If a Volume cannot provide the Volume will stand in the pending-State as like the Database-Pod.

+
+

+ Expanding Volume +

+ + + +
+

The Operator allows to you expand your volume if the storage-System is able to do this.

+
spec:
+  ...
+  volume:
+    size: 10Gi
+    storageClass: default-provisioner
+  ...
+

This will trigger the expand of your Cluster-Volumes. It will need some time and you can check the current state inside the pvc.

+
kubectl get pvc pgdata-cluster-1-0 -o yaml
+-------------------------------------------------------
+spec:
+  accessModes:
+  - ReadWriteOnce
+  resources:
+    requests:
+      storage: 10Gi
+  storageClassName: crc-csi-hostpath-provisioner
+  volumeMode: Filesystem
+  volumeName: pvc-800d7ecc-2d5f-4ef4-af83-1cd94c766d37
+status:
+  accessModes:
+  - ReadWriteOnce
+  capacity:
+    storage: 5Gi
+  phase: Bound
+
+

+ Creating additonal Volumes +

+ + + +
+

The Operator allows you to modify your cluster with additonal Volumes.

+
spec:
+  ...
+  additionalVolumes:
+    - name: empty
+      mountPath: /opt/empty
+      targetContainers:
+        - all
+      volumeSource:
+        emptyDir: {}
+

This example will create an emptyDir and mount it to all Containers inside the Database-Pod.

+
+

+ Specific Settings for aws gp3 Storage +

+ + + +
+

For the gp3 Storage aws you can define more informations

+
  volume:
+    size: 1Gi
+    storageClass: gp3
+    iops: 1000  # for EBS gp3
+    throughput: 250  # in MB/s for EBS gp3
+

The defined IOPS and Throughput will include in the PersistentVolumeClaim and send to the storage-Provisioner. +Please keep in Mind, that on aws there is a CoolDown-Time as a limitation defined. For new Changes you need to wait 6 hours. +Please also ensure to check the default and allowed values for IOPS and Throughput AWS docs.

+

To ensure that the settings are updates properly please define the Operator-Configuration ‘storage_resize_mode’ from default to ‘mixed’

+ +
+ + + + + + + +
+
+ + + +
+ + + + + + diff --git a/docs/hugo/public/first_cluster/singe-cluster/index.html b/docs/hugo/public/first_cluster/singe-cluster/index.html new file mode 100644 index 000000000..2af1d9b3a --- /dev/null +++ b/docs/hugo/public/first_cluster/singe-cluster/index.html @@ -0,0 +1,5427 @@ + + + + + + + + + + + + + Create a Cluster | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + + +
+ + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
+
+
+ + + +
+ + + + + +
+ + + + + + + + + + + +
+ +
+ + +
+ + +
+ + +
+

Create a Cluster

+
+
+ +

To set up a cluster, the implementation is based on a description, as with the other Kubernetes deplyoments. To do this, the operator uses a document of type postgresql.

+

You can also find the basic minimum specifications for a single-node cluster in our tutorial project on Github

+
+

+ minimal Single-Node Cluster +

+ + + +
+
apiVersion: cpo.opensource.cybertec.at/v1
+kind: postgresql
+metadata:
+  name: cluster-1
+spec:
+  dockerImage: "docker.io/cybertecpostgresql/cybertec-pg-container:postgres-16.4-1"
+  numberOfInstances: 1
+  postgresql:
+    version: "16"
+  resources:
+    limits:
+      cpu: 500m
+      memory: 500Mi
+    requests:
+      cpu: 500m
+      memory: 500Mi
+  volume:
+    size: 5Gi 
+

Based on this Manifest the Operator will deploy a single-Node-Cluster based on the defined dockerImage and start the included Postgres-16-Server. +Also created is a volume based on your default-storage Class. The Ressource-Definiton means, that we reserve a half cpu and a half GB Memory for this Cluster with the same Definition as limit.

+

After some seconds we should see, that the operator creates our cluster based on the declared definitions.

+
kubectl get pods
+-----------------------------------------------------------------------------
+NAME                             | READY  | STATUS           | RESTARTS | AGE
+cluster-1-0                      | 1/1    | Running          | 0        | 50s
+
+

HINT: Here you will find a complete overview of the available options within the cluster manifest.

+
+

+ Use a specific Storageclass +

+ + + +
+
spec:
+  ...
+  volume:
+    size: 5Gi
+    storageClass: default-provisioner
+  ...
+

Using the storageClass-Definiton allows us to define a specific storageClass for this Cluster. Please ensure, that the storageClass exists and is usable. If a Volume cannot provide the Volume will stand in the pending-State as like the Database-Pod.

+
+

+ Expanding Volume +

+ + + +
+

The Operator allows to you expand your volume if the storage-System is able to do this.

+
spec:
+  ...
+  volume:
+    size: 10Gi
+    storageClass: default-provisioner
+  ...
+

This will trigger the expand of your Cluster-Volumes. It will need some time and you can check the current state inside the pvc.

+
kubectl get pvc pgdata-cluster-1-0 -o yaml
+-------------------------------------------------------
+spec:
+  accessModes:
+  - ReadWriteOnce
+  resources:
+    requests:
+      storage: 10Gi
+  storageClassName: crc-csi-hostpath-provisioner
+  volumeMode: Filesystem
+  volumeName: pvc-800d7ecc-2d5f-4ef4-af83-1cd94c766d37
+status:
+  accessModes:
+  - ReadWriteOnce
+  capacity:
+    storage: 5Gi
+  phase: Bound
+
+

+ Creating additonal Volumes +

+ + + +
+

The Operator allows you to modify your cluster with additonal Volumes.

+
spec:
+  ...
+  additionalVolumes:
+    - name: empty
+      mountPath: /opt/empty
+      targetContainers:
+        - all
+      volumeSource:
+        emptyDir: {}
+

This example will create an emptyDir and mount it to all Containers inside the Database-Pod.

+
+

+ Specific Settings for aws gp3 Storage +

+ + + +
+

For the gp3 Storage aws you can define more informations

+
  volume:
+    size: 1Gi
+    storageClass: gp3
+    iops: 1000  # for EBS gp3
+    throughput: 250  # in MB/s for EBS gp3
+

The defined IOPS and Throughput will include in the PersistentVolumeClaim and send to the storage-Provisioner. +Please keep in Mind, that on aws there is a CoolDown-Time as a limitation defined. For new Changes you need to wait 6 hours. +Please also ensure to check the default and allowed values for IOPS and Throughput AWS docs.

+

To ensure that the settings are updates properly please define the Operator-Configuration ‘storage_resize_mode’ from default to ‘mixed’

+ +
+ + + + + + + +
+
+ + + +
+ + + + + + diff --git a/docs/hugo/public/fonts/GeekdocIcons.woff b/docs/hugo/public/fonts/GeekdocIcons.woff new file mode 100644 index 0000000000000000000000000000000000000000..eb6eacacf50e4ac16b8adce1c4fa93ea20202ba5 GIT binary patch literal 6140 zcmY*-bxa&iwDm%9X>nbO78a+tTT5|wU$nT}VvD=G6_?^t+}))>aVahpmI7U%$iDr3 zFL}v#CpRA`0RTvmo>BObUOo&DiA%b< zdU_!}h$Fc^q)*EtnS@-wf<&Dj7h)L_i5@ZBm#?CwiDa>0V7k$s;3l|#UvMf&7bh+z zjEjV>9IK-EeGIoWNep*!DRNa7m&$&NQ7?`G5q@mwn-^%0@NE_2JC&U8^S$5z0wy$M zsV`1e;V-WOdKL;TDKVZVrvGkk1YG%%cR9)Drix%re9wl^yt>3Ga^E8G>RIekJtukZ=t|jYw#p6_T5ERb5rpxvwW?)!vmI_9mve;0EPW-TD%`>z4#ekIw5} zz}!qLQtO9tejE~8OW+y?MfzUxbWH-Nvr3YW;C+`A9AAaOD>Kc zIm}K2-`lIfjZ%%Gg#Ve(Nq0K9x!W=XWciK<-evZ02b- zprmEVJWVMZ?^$hJVSO_rTFqrju$Pv$f@x-4P!D5QvJLV+PC%XVN?o*VDYZ^p;u_v~ zyX~Lorn~Q4og=Y>PeQVr9@u?=h#Kx0W%sz&+6E43|BIO-07rHBJkHOv@{{c{w~>=< zCNKUo*Rm4@tGF4Lz%#ap4zaIjS~l`V>sCOkhoQn0u^8Sa`G*wiV;uuVIK|MUD;Vecw@z>)y-7cJoz#r&u405 zkLIjf_`7=Zv+8EwuU4|t+Hw@x(oyrJ)t^sgv)X)&d%--#W$#zuER3B3T=9N-hI#rY zUF1rhNOt>n`@(Z}ayN3#T9+E&OG*ke405tyMy3)4B_>cjc!Rklq1Fi}0*8e+M~R-5 zlq)iB@GTd0dN~dnAybkSQ4J5PPG$xxIazaLB4b7j&Q|7HUpCV=-wxtwt?@hJ>0%9! z$M0+K=0XhK3;!_^CLZ+7Q!$v&BQ$J(zK2ODVE)Ccs6J1HZUyz{gnjoVvRR)Bd?8w? zm#*pCd#fdf-f`enMc^z0 z<(tAo(T3kx_-1?PBm7F>1a$st@atz2md8XH!aoZ1m#mT~`a8(4W9(yCkv*D}DX~JN zU1lf4Oss(+tZHYZo=Cc+asNlhlt0JJYsrknAA|z6I_t)+`)o?96&w?CttEd_+ji{5 z2xAE?{x-WNDgZb(=swETyuX=0nmmFfzlSK5fhJT+m$q;2^slN_!dN17Jxf74Y+;l6 zvi&T!FHiUc!Z}yDncrtA+jFop6IjY*g?f}is|vU#mOW(lY&6x5wnaj_y9$(%2D16*kH?R1>W%LGc^TDv zvY8!A2Nk#hHbUHW+YB$poev~it+q~nrx$N=rtWpod$hVlU*_eUxzUfV!R0RV${?gj zpJF&AYqOtmgj5!9g*kSZHYTQ%o#u{G_y6wRifW^Q4mhrb_qaj{8arUYUlHr=dyaH> zMRlUh3EORs&wE2|Gc%7?D)j5Vn7)qKa$mnm`!CFt=WHRyn? zOUiBaLwhPiJjO)z>*={BG1i*==02N^nFzguPr!eNpWu8qrMG%q;PMP~yKVWMoR*A= zE3c2b79Oy_-!An}j~dQ_sz0S}t&>5gZE7U3!cWrw3q-@^M?pStI2!A#UeI|xq;LKg zdi|qTqv0XD=(TVly>x#-n3LgPO=Ca*p1GthVhP991I0Vt+TUH6_K5C|{e)7Yl&{tF4ubs|(gBi+48tkucUn)^vJK6~kS=zxy0M2#KKX%02)L*BxYhlq1C7wOOqm>2&|+1e98jFCDj}nw zeMyT`oKXard+_#N5#?YD=!VDPs5;8<{`F7>io@gL+EGHB27)Q48^yQ zj0hvmcgf%Us8^O=ZZ9pf*U$itoDpvfiY|UAJ#eG1nLi{aub*FEW(>S|URHY$n{`-; zs9J(c)Dm8281@Yp+8iwu|LqK8&j~xvt*OQ#)&D!`DWCK$SzKr0=R5iNf6#A$i1QW)e&OMQ7Obr_Abpji_(EQ}vPgB@|uMuFHs12mu?)4D|kY ze_Eyf4zuG6%Q{!V>@COU?-u9}l@nhG2m{l2;@XJzDcoIL@~~Ka;O*NkieyA~!`SC` z^jk{I(21LGe?BM*;|a_$jQz5{v|Gx-?Mq?=bHx*D9{P(ac>r(-UBW7%fFbjY0*NqT1RDH1zr$_Md5BIJE9a%d{siOl2%)H)t?f%$x=sC2+mTI%J$~BOH~VPzu>#B|_o8OS|)EC}u>{ z)4*sQ5oyc?^GlrJEk+^CW|Pze(_PdEI_!cB+qca#8I7Ab2!01E^Z%`T?c5KHm%%r$J1A1Nh`lh0pKmU^%m>eKqL`vB`_U^YFu9sn z^@Q7fS&tx&>_^m?IXjkUSx5ys27QNf32KC%8)Kbd@5?ogP%w5PU12W%h*OODdYi(7aIrDt%%B+0v{-GxBd@D5vAYdELW%(~O%=Sm|lZC2?I@Ya`PljSh}x)kBH zRl6D84J6o49(~cN)3>jKfxZF+Rm@_u9fv9aD>Cpf0LqpfArl&zhY8JcT^DJ*BQyPZq*~0|pO~ z!5tV;+f5wrSr1q6P3H(v@uPm6XcGIGR?~A92$Cs%4OuWq$@mI0nN^k{b689YU+`7| z;(ZDC^~0BF4TmIh6A@nMLoeCVu-Pg? zw`d?*&EmS5lr}?>!MN0zLC>%(o)sP0BsE%47RC>u?asq0 zI?W_72`NN#D2)hx!rtJs2gq1b9+K1~uD|D(MY_%rXN;vLDxguc(`$8jbmx*jd7$=A zRl%|v-qlX6PNw7(kvw(Y3Orsq%o{Z=ch?9vAXDfe&t1rSgKeNPR`C_9ay7yB1S`jJNn0x} zeQGS9k%nt!F%<<=8DkkPsyff_7a9)W|Bku^Ro$B$FzY>~6@2`Qkr#oeDYd_E45gU` z86ML0uC!lp{5Wng+wSuA^JeulGnm!3 zIzr^2`ADdMr467K!=oeu7?tEY;#tPWcg0rcek(7>Q+-k_^FN?$(bGw3Gq4~ot>1^5 zKV7Zj&7e&D8@T*_%HV`Sio0SU&@O*;BK(Ie<5YcqdU`57?s43)(I%ebD=v9T<>d5D z8V6z*$c^<_ov72#u%^k}o$@m*K}{+hrWF&}F)_1dE7lU^v4nuP-OuZP_p|DHElF(m zHZn5?E&EjJ(_iS>fWmxW++e($#1|c*bXtpf`EG}=5vcczwg|&c$QS7S$ebJBcGzH> z7m?q3V5ZCsH)AZ~S2SHnjQTyaZPwG?dC*7!^=eD~^y9w&IzYe#*l=t9K5de;PX+J0 z)Jz6tbTuF6iKs2ZnUmN9-+mMdIyde*`ZJWn4^;3^oD-wP z;GB!Jy-A^$ic9n^vl}%qJz$o^e2dVH!>zqgmB+lG>edNKX22`=ZF=l-$@hr*{*|eU z{(hZ5&_>_l4)G^7uTK*G=8*0L#1|`V?I!oqNDv~u;rz3ZXwv#F3g{q_^?fVzu7TEw zmSp}L_0qYDoQ5V`ytxKaI|_NHuYYT76QsdWq0Re~=`6PJi%%l{t*%aWurqswdog$M z?g&QpUr)<@#8z7q%)12zbvH?>5z7^#b>aUElbf@#UvN~`H$|RCW;XN!X72f83amaC zW`5YU7b0^_Tx#kj{{>HRCI#C_OK}W^2`%|B8!Ei-UiJHVChD5VDPN|QUr5mG%Ky4;pv*K`bsewlLs7UO-DG{k!>`XdZ zN?JoMB23my<9SZ$Tv1z9xjQrXpPh<4v9*XHT1F8EEd*4fNTdXEDDS_QdZrMmoLyjL z@0;ZiiB1W5!bl%xGnE%RxD=N$%PBGzp6c4j7IG2i6YDW4`*QZN`Z7K=RyCa5%gf>? z8QhO#1gv~G#jbrVRkSId4qI4odOnrCO?`d0q*KBB_t&r4;?o5v&BEFOaZoa1>NVo(^?DQLs6;@+FIrnl>;PM4 zypGJl+1^1$ROk=`V)$`8QVd|ax8E1A&+X%~*&nn#pAVPpg(5}*8c*mg2U@QrN-S|) zwvK0_HV@HxS=Z#aTR|d<&CXt1iq%6VX8gN@leQKmsJRQJ$82RK@ehurX%<+ z=v8lklyFIrSXI&8UX3d&iI^O-g8fR9kdXuSR{bSjTS>>{ET7xKw`%SDqK!ZY_Yjt% zAuC9n{GbQD(DA!mTOJnuhO?0@NgTXLS}ySsycRti@^ED_*Z?B)0T%6Tc-p1BAaTpm zCRXpic?lJl{PPbg9wKB00jL>a`or$$eYqsRf1>%;@_hW|F501kq)eW z38u-g2=ZgG2nZ#@=N%T~H_JB$VRYS`fk_5&j-M{e7|l?bR_|!KS+iVidyEI=mG#1% zb(T`GC$vfV)S^Dz(Kj*x}iTuX~i&P=|f#AaMI+C7a(ek>i%CHWCV+}@^GR6nz2Bs|EmR{Vq(> zXVGmDnAem5I#N`O|98ir)E>1F9+D_Tt34s7tb#%ezB-4(xefSi@@tJ_G@g_FL3uV) z60k!{=yf>D-dhR?T47l9Uh*G}l(=L|=;^gcdj+6#7*m{oWF+!a{^Bs@7h0F}2AYQ> zu?d=+KYN|Zh_g=lhojDg`7jp0XOTHhGhl~Xtp0@aKcNZ9`yF>op*yeb3WUe@yR-YG zhtAu=k6JFoqzhKMtGKzpuM}u&tzK3%tksZ|f$w_CGemiL31`AT-)^ku=#(3gTGl8r zUYo=!)g~sWHt|;G;bBx?%hch_(oq^SX~euetYP)mmudfsiz)WJOmN@VDIFh1X%(y$1rWeludb*P+RQ2Ylvt(?b2%;YGkd z?CaA+#L>e>eAtYHC(cpxn23_6`0L zyHEGYDx$~F1LcKf77OED3Gsi-DaNPAjiM^OjdYh>2^^Q1OB9zwU#T)=e=dY5GSsLT zEenRrot2vly-io5PQ7z)AyI<)t?xKwdj{&()S19EE6EG8JB+#&wi}O4A8|zD6Pl)mkM7ObiLYrX8<*Pew8T0RR9102AB*3jhEB04Hn!027M<0RR9100000000000000000000 z0000Si$Dfo0EI*ftO%n^0X7081A-6>feHWwAO(a*2ZmxB;32aS7Hk{<3h1?D|Ca>0 zE`Qky389o_r8#VJSS9ENN0Ul;P|ShT4JKfB*uSI{@H_?4R!}^^z+|$(9U(J6_@gB*|K07dR!b+dsRXh6NnL z0|r9^?qNm1He3Hv$v5w|sLsmYiMHDAgb?Hr2ou7|-_Mm60A=YHN#C5SJ0WZ2=5H4M zzRLk;azwd3$`Q7l16AB^0YCv|OPDPHDIic_bdBiL$T~&d)XGB4HIH)r8W32NJv16q z`;fH=P0%Jp5jcyZxQHG5WCS2xB6I6wpxe=_=x59ai^fz~H8uuYgl)u5 zVh^zn+y@WEvvD)-z(?V8@J4($eja~}w-d+&At8~VAXtHFVagB`6Js>QdM6bfdTg5tB|6R4RT~C|{biu>=rI8E3nBR}_#S?ad!58bPWeOL109 z-a(#0yRURIxuS4848CF2yalOlH4F}cx8vkd4FUuU&y^LFtoB*GA!DWngEmbkJ?FnR z!U^L7)d#)`9ZFJEuQ2>V=w{+2IW^)kJbVnRvVG$fDcfS@yh!S3IHo8YNF9h^;yx`& zaL(5oY%#BwB+F@8iptq`5)aktAc7(Q42c6_3WuD*-HJ~Hy8+)ncvI-ibtrtju++vg z3l(;#An+Nx0ok*LKQ#n`FW_AVesEr&7xOdPlk!6p+%Al0NguD`kpi&Hd6mKpbp0$* zyac05GnC%YONyn2U1=q)7)797a^PS>4iJwG(F7pgObpQqoJLC!A3=woVeSH~R}kE| zL2w^ji-_OM%OyS_zZnV4SfOSsh+heu=it9ef@anDVopVT+WwmN;`N8`+QW#F5*&_T zVRw4lCu<%O-e56N{`NiyHeUuLApuPv0x{vEp8FtT(j*{Vbz#yeGNp49? z)@(R(=}uA~*dUW}mF|wAJs5%Y7>GBQl1i>%$25fS`-dK2q<$s{$qpvk@oq*?e042S zd#$4th!`7K`~)T^(6X5jssJUeOmox@Y@iNc6LkYys14XgEx-=y19nkAu!ov~eKZ6d zph4gW^#I4H7dYWYKxkl~QQ!=<0_SKPm#7oCLSwi_1HcU$2JTQ7aIYYd2hhD_Jr(le zHaGbTsp@H1Wv8R`KxR$cZrZ{2w{ zQ@NPm@HD?Qtv+I^db~|J*}9f$H2r_Q|AYU+=FOySWnbdi@sN1O*7i*&Vn(2cy!pP5 z9NKaf^fwqoai4YFmZ!w@S*zYXW{h+qljih0m%z>EW}`Nf?G?|g8`+1?2_qAz(OKk~ zaRc=Eyy(~*=r_&hNM9X|uf3Qzp6*$atoG8p{%tfCQD1zjb`8f&ajWEV6pP?!zcLEn zLX}O7ZszPA7NIdE%8i5ik|#h=oKrLgFpBdJQC6m{BfZ=o(A0vOOR&uv3gsC=7}1D~ z)#WlCkNyllz+|hDl{7zk))|$i906D zc#E_yv9Dm(-+e#adNmA7rS3w<`J=-z1bTe@{A6E(W!2fe&yM4aeuByQLdq^8Cyt( z7WI`pD7><`J3ZZOia7~G0Lwx|uw7JqCBr7Bj9eFV2{}@kErUx$jy+^YkpKg0upk0} z9=WG`4AA!S(#-A>s5K%fPPfcmSN_9fzDXj~^Qh$j=qcoc8()IH#ZC95oa~Y8?11Ku zv16e#*(F{>4qs*?iILn3rQ;%3k_^$VpF(7bT{(8nXr7ETO9}!d0G)@eDyecEOSE0_ z+{#Y6k|Uwnc7f|ShGlC+j($T$mM*cB9;Tb;fi1M(vfJ3+;y5xVRSgVt*KB6CB{Zo| ztk`N)olQ-p!me6K%>9?wPj3wFo{()5`P9lpSvYXaF&yBW@qA0bhSbtzIZ|ODkk;H^ zF$3Kt#I#Y&w!Z{|s)i7$R!B55&e}S@r5)L^nYys&fr7nV_f`p3H}9x3(Tf^P`pf*yxA*(}E@boM z<())z2n9J)iyeTR(VX+EN7s&r;mh>E5?cwypko7drW!4+q@ZYiw%r#Hgx?{EA?Uek zUQULdn4^<@Cc5qcBLv475s-CMC9NPA81n)g;lb{eb~T2#|;nMlr%sf}~W{^pQDLCmr`4w~XfPuvVNMQ$X@?>M3wFEsu2TPF+JvPi8l`QyFdT#T&RC1?q++&d<{QTVG{#jB9tm?+ zx>0>>0q$h>W5N7w>Qz3AzhQ}G)MBaxZC@NdFFM0ySe)HSLTvgybVU5yMP5d3_0Bnh zxq{~LWI_&KGnT6Hn>RA}-x6J^jMO6MvWBu@w=F7^rs0n68!_$;jhRba>N8ZlD{97* zA{t2qnms%^@5IT1;{_)oQ`7qP;~_kM9)l;~m5xLD*vtxImS{7nvUj=7ZmV*+9<{bk zL2HM?_G~WNUvbaip3tt;)YZ-Pjy0jCV;R5Gy?pr{(p_(h>+oU5Eg87$A&Jz`^uak8#;6kFB+^nz*Em{5h4|b#@erxP zZkt+ODM6j-a-A_G&j0|#uzFd3bc#U zI7{kQF#&NCDp!zuZ^@c>GtRsuWrezoM#J&oTm{%BWi-xC1G1z$ajh-9+ z&whC7H8tDH)tLp?UN&eN)DQT{{03esU&Bx3HNcz?!#X({avFG{d}!=mSS;(P7tm84k^GBnejCvd?Tq=C#zeM;%G)44GST7PQlnNH_CHSjcDObtm+f~Zp z&WE(TwA2FvfuCUQH$6m1oHs_vTF+juWV=~u{`JC@!g~KGG3*WdH|y3QJt>t*rU@xt5Hp=1(QsQnf=f|IPUWnR^#>@*LB-7g#LSZAFfev2ntY4t3j7>2Ah>1Ls1{n}&--bt407v#{+xIfmz7 zbI+eNE;dSEv&(WZn0Iw)Ex%t#SYiuF2?KdOyDTLQkaQ-R7mn-dIGo4VFZi`XdZ0Bg22+9fFr$z=-Y9eKJmiwa%QX2lhfD zzB(%y6Jas|K4*^4Cs*?TOF&qRcljZWPHk2X?U2SH$&Hgr>X#dKt3L$hD=JL!hPXI= zytyJbKqiv(uq(J*++-WqUb#d`GV)8)!VQS<;IZKxy`Ye1uLyoA|boCD7ZcBB1wQOw<6vgr#Hlz;w!Fy zKqrPt=|LZYhZPL_oSceCg9)LMB*41}Vm!s%iiVgatQ3p%FeWo6MF^Qe zcDS4+c6NSMYvf(*|81D_Xrbn@+bc&hU%v_M&okC8qr^`6Xd>a;1&ZU-%f**hddi}L zs!D6Di0$i{iejx_PC@4MF0E@R2Ru4|oaSk-T-n3FS*e~5oOpZW&5<&{nJE&4knHzP z@J==-Wo8I9Ikf$3*xBkl6LAQ^L>NMBF4iSe;hI%0l?V0=)5;%DN>9R%Lx2BhfL^cB zb_A#2o6SYq;w(xcLEw85vC}sK_#FA?&tDS{tyW|1#4Y`&B~0sYQg*pfmamjm{RjhMF%rqX183PuP9r`lukHN zpQ5m4jk>mWw(pO6x@>yv$D)t1(`D`pa+Z8eP|T&#bj^bYDS5qQ<5{QPEr714x+wvh zhHj@4ns)8=9D6-;ew2vfixlkgR?}pkEgU_@=qQM|!N(PO&(@5We-D()C^TRVnjaGU z*fOAiq7(b7EnS&}fon9IGvZTacC}re8lSmYvm-N0l8~{-TeK%5q3)JUp#JVWH-RqO zBBL+6B!;5}2~~^Ms0HkwlaBBk<_C3o{71C`+5V7WY46dcm6CbLsT=W`Ck9pLaExn`&7%s|m# zQN90SNO{V6RU;$GYF?3dmx)^KiIjr&mA&6p>Wj7%={wsS3LA-=S?f6VR|_ka=^Ty) z0qMt%xvxT?TbX0;wQ%0eg$r-aTi7ci#6H>$+i$ZDzZT4%GhS#Js5MLV9k~gve=={` zKbJn?TB32vYQ)vm_CvUvc!+39lmnNi!4AjQx2fO!e^B*daAYMZcbtDc4Sp z(oFQY%EQE$={O36Kl5#)2VXn&o(*Na_;p)htmokVQ+Pr%v=|Vbk!{pyDgU}+}TA)%kf*8*S`Rz6_7f!Ze zV&G-X6Okl(MiOF%1BU&%EuCd!M2&; zusw(fxNwsYVf!9YSrPn;(S+ZY{}B~0_zR_t-xMc<-VR1y#edR~r7io-F8k6qQZVw1 zdsxP8JlJ(u!ll&Z`&lz$mZe|H1EFowwe^qNZJ<>)cvi1|AXc^T1p38=q8WaZwHHkc zsKqeB^1ogUc?-)w94+5DfM(q(FvPRY|ht`|~A~#XL!~yg(t9Hr9EceD=jx-+C4=xPq#jRtH#K$t!0HwgTJhWV+^< zrq)k4r#MC#1BT8VmTMN>PQ(FV|VBqGixI+J>xj z8xwQgs3?ix(L6a#H%(x0*`*SJ+8s%kN-ri^xdnM<>-TjEU7UdW2F7(7dMfUXWb9^1SU(Ssu{YAb5{VfqMP0T literal 0 HcmV?d00001 diff --git a/docs/hugo/public/fonts/KaTeX_AMS-Regular.woff b/docs/hugo/public/fonts/KaTeX_AMS-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..b804d7b33a3fa5b2587d2d1d55006aed678e3eb2 GIT binary patch literal 33516 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 literal 0 HcmV?d00001 diff --git a/docs/hugo/public/fonts/KaTeX_AMS-Regular.woff2 b/docs/hugo/public/fonts/KaTeX_AMS-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..0acaaff03d4bb7606de02a827aeee338e5a86910 GIT binary patch literal 28076 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 G2<`xUL{2yW literal 0 HcmV?d00001 diff --git a/docs/hugo/public/fonts/KaTeX_Caligraphic-Regular.woff b/docs/hugo/public/fonts/KaTeX_Caligraphic-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..9bdd534fd2beb9b878f0219da9d63ffba56677e2 GIT binary patch literal 7656 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 Mepdy)y#Y}F4=Hd9=l}o! literal 0 HcmV?d00001 diff --git a/docs/hugo/public/fonts/KaTeX_Caligraphic-Regular.woff2 b/docs/hugo/public/fonts/KaTeX_Caligraphic-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..75344a1f98e37e2c631e178065854c3a81fb842f GIT binary patch literal 6908 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 CFgb+) literal 0 HcmV?d00001 diff --git a/docs/hugo/public/fonts/KaTeX_Fraktur-Bold.woff b/docs/hugo/public/fonts/KaTeX_Fraktur-Bold.woff new file mode 100644 index 0000000000000000000000000000000000000000..e7730f66275c87c28f26530d89264cffecf90be0 GIT binary patch literal 13296 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 literal 0 HcmV?d00001 diff --git a/docs/hugo/public/fonts/KaTeX_Fraktur-Bold.woff2 b/docs/hugo/public/fonts/KaTeX_Fraktur-Bold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..395f28beac23c7b0f7f3a1e714bd8dac253dd3bc GIT binary patch literal 11348 zcmV-aEUVLZPew8T0RR9104!7h4gdfE08HQj04x0f0RR9100000000000000000000 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 bnfbLfgSm6Day;iB;wah|00962|Nj6Fv8wea literal 0 HcmV?d00001 diff --git a/docs/hugo/public/fonts/KaTeX_Main-Bold.woff2 b/docs/hugo/public/fonts/KaTeX_Main-Bold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..ab2ad21da6fbe6c171bb869240954d0ead8f68fd GIT binary patch literal 25324 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 PaX`&K^keg1Ja!Xc;UkM5@@HSxAD!R_q>yYN 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 literal 0 HcmV?d00001 diff --git a/docs/hugo/public/fonts/KaTeX_Main-Italic.woff b/docs/hugo/public/fonts/KaTeX_Main-Italic.woff new file mode 100644 index 0000000000000000000000000000000000000000..6f43b594b6c1d863a0e3f93b001f8dd503316464 GIT binary patch literal 19676 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 literal 0 HcmV?d00001 diff --git a/docs/hugo/public/fonts/KaTeX_Main-Italic.woff2 b/docs/hugo/public/fonts/KaTeX_Main-Italic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..b50920e138807f385d0b0359f4f0f09891f18406 GIT binary patch literal 16988 zcmV(>K-j-`Pew8T0RR91076^<4gdfE0E4su073x(0RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/docs/hugo/public/fonts/KaTeX_Main-Regular.woff b/docs/hugo/public/fonts/KaTeX_Main-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..21f5812968c42392a3eaea9b0c6320870b6b8b38 GIT binary patch literal 30772 zcmY&;Q;;r9tnD|p_t>^=+qP}nwr$(?9^1C|*tX7p>YkU|Rjay_TB|yF>U1UU@?v5D zAi#gig9QNpzx#sB|Fi%1{Qoa`WqKw6z~bmXukwE|5bcxVG`2N#001mG003Yt002aV zZ0}US*v*9i0C1}KkHhsJw190f+07ixZ2@XBpBBLOzc5i3*0K1{`Clx<|JelpfdmQz z0^Y*b#p6F-%zv@`#{+elC*ydxu{ZvYXM*vckNZFH^=qeE+ZuZOcdzl=|7i(;=HTb; z3~f#Si}}CYfb##-dgxdCCOFtTy8r+#A^+u71^_^asJbaN9Tqy4u;eOgen$MYFMjKr&ti>na+jqz-Ybx;jUT7rpi=M zufa(yA-TkdCn1q)EGvM2_hiax`gmi(0EflrdclzrY4)wlE?XoOGM65Zbzu31KryOv zDKlP~=VUIvYc(&_n4V2Nx|(ZkU{Ya`SLxl|_7eInvM;JKdC-~hF59%J{8gZ8s*xA(-Zy@VkPzVn;oDCiUoZ~y zd`=a4_!T~VIKf`-zr{LHRR`Z6oArG{z)^ZL&nGLA+uSoxbS8Ol`V7aokBT3Xo(hP( z+9AA$K0@4d8K?G(+Z{kE=#z$hPB}TJAG|HIE* zTQ)h#44y8HVIs_R_t=|UHjp!==565A(?KYTQlro?#(5^lyUz(WLb73Dy7B!}-xD1P zBH1c+Te}vNYtBs%bFya8%x)LtSejr>!emav;;Tc**d7miFAk0r&T!Ij7OY$jnucxy z%HMehZ4oCYujr8myR;h2H!=^$hH>=^?wg_l19r=c?+gwXnd~g$Cboc^n#T;Gt@e15 zn;uQUSO<7RPYBQesCs?#bF7jh#u$!u`;-2GfOQ>eAgjw|dNTNpOt#&dof28b+4b-D z1fmEtM39qlX9b~H_kRdEv@cz%FS=d&YVOA|qbvJy8))2-CdMgS5Wl}~c^%9v&l3l- zS+#zbDbs7Mcu{2*_CV!qJn2B{UA9m%FVT}&&KZ`nx4;WB%$(@KPfUVSfPtjFo-EwJfkt27^E z8Z)JXmXhG|m;gy3`tV#s08jr&+bll_DV@5LksaIScMWbwYM|7_m z*q7eiB(rN%wd`+50sA4=p8%zW24;l;l4=}Qre-<E_K3s81mK+|tN8@qM z@~FGC@FbM5wrjISp(V$f=I=6`o)0`4&8lfVAS#R~s{pImvBny$#a@WXCicNcM3rwr z`-uMJHht8Q6Am=sG#SWExcG^#6K@)Ywm`%UXh>yIZIxgkcN<5=Rp4C$Hy4XsKO|q6 z8Ah@dL1L9~vD(b4?ty|*nqYZL65V+vT2wCqWK=vUKmSi}pA38d*ZRRP<9Ny^nKR_g zJ!Mr2PCX~Dn0GYi;7d{_r@d3urdBG|ab=$i%To_h)LHWcu9_x}06{$Beo8A2s6@(^4B_=o#4

Yqh7OdB% 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�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 literal 0 HcmV?d00001 diff --git a/docs/hugo/public/fonts/KaTeX_Main-Regular.woff2 b/docs/hugo/public/fonts/KaTeX_Main-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..eb24a7ba282b03d830fa6c63ee897d92a5188736 GIT binary patch literal 26272 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�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 bkH82T%!~T~dOL3iZSfI!+IWoKhyte*`46Vs literal 0 HcmV?d00001 diff --git a/docs/hugo/public/fonts/KaTeX_Math-BoldItalic.woff b/docs/hugo/public/fonts/KaTeX_Math-BoldItalic.woff new file mode 100644 index 0000000000000000000000000000000000000000..0ae390d74c9f665cf8b1e5ea5483395da7513444 GIT binary patch literal 18668 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�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 J00IC101u*7EU^Fp literal 0 HcmV?d00001 diff --git a/docs/hugo/public/fonts/KaTeX_Math-BoldItalic.woff2 b/docs/hugo/public/fonts/KaTeX_Math-BoldItalic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..29657023adc09956249f6295746c8ce4469b50d3 GIT binary patch literal 16400 zcmV+rK<~eIPew8T0RR9106-7`4gdfE0D43K06(+<0RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/docs/hugo/public/fonts/KaTeX_Math-Italic.woff b/docs/hugo/public/fonts/KaTeX_Math-Italic.woff new file mode 100644 index 0000000000000000000000000000000000000000..eb5159d4c1ca83fb92b3190223698427df0e010c GIT binary patch literal 18748 zcmY(KV{~sl(CGiQZQHhOoZ7bCp4zr;+qP}@)a|L=Q@d}Ud*2WDPS$THGixT<$;#Rv zGCOYa;^F`xz>i4r0^t9vJ!Su|{$Kn57kOm{W&nV%`^T#MgMnCtOo_3rp#uQGkNBe} z{xA(n^1^29>Ou$rh<*I%fH;6L&3utxNs-sXnRKe1A*KR%HE z3!=G=hZz6>Bnkj<%>n@WuAwnb85X97CIA30>W>fme;8v3|FQTn{=7@}k52FdDFi-n zsfDeJ`;VXOPrSkp?GF<0G&c6eKYl#_jj{6|tRy&!wubIMs@uCFQ%mqlgW|L&R{miT3OGXxosjhEk7N2MOo3FTxj0^^rd!OlPSx3D& zi)_yKqvM{0hOWnoi)`hxN*@0JPeQ~O$PFN5!~j8(jc_%b1*Ol6xwQ)m{kJOak7OO? zo{zL!s24#&I2Dk|xg*&C4T4M7%^1(ER%tPdRmlnsDzuJxhRxQ$a@~q~*>iw8qN zo`isapt~`IAqWr=pf48ous4J1ZOdk!yC%F%r$Y*lti8MYsOz}YuBzB<`<8Y}RRkqj zoo=ZjS)s|ICa4f_V{l~*Su5%O&E$CElN%odXcJy+q;O*7qiCm(R{Ir& z_IJ!gfgPIXhF{l3f!F-qFLtqgL%}jwtV&dz+H~yQ4#RO1y<)wzpMd}6KNlVgb2`3`UJK|*zEshFwUNS5 zC6%-UB-j+9Nv*j1g*bCdw689CnRMq$o=Dt_>RN~ny=N{hY$b+L-VSgYoh}Oxdm1q7 zA(jN|8VDLqLu1Uvp-G?}4p2hx?XSFb5GBZRzvh}~+z=onD(%|XJ93W+@~^N&;;EM+ zoVGX3XU)hQnbFG+rR}o>H1s#CTo1eR#W0`C73tZpm06Z8IZ;(MYvtG(z)@_3^R%kO z*3mr+C^}ivsPZUc{qyoj4GkUzHHAE!h|(1Gu{?v5He&J(M;1l^0-w=KLPo;X=f#1$ zi+Y^s>dgr9Moj31gf(tBU2h^N9bcPMrX|kV45d~Oz6VbDCX1fE`4(4q{5`SiwKo(X zHnD0_HY_XZuez&U1H{mO>ieByK<|AESpF(|A z8|i?G#EEiGvsnf!?#j!998j!Ti+dJ*ymUe_CXVjTo^p!iv{*hXzwBv+!s6dFmA zMGW;4>e3l&@yhyJH(!_b-}P|jtRxbpu`EWXlbZw@&E_wT$=YW|3DJqW?TrmVsdB>)ugcV!5AlK6OhU zN&e^H;ERPm@B~}$h}Z`;82z3qfzuiow-|!u*qK(^Vd%0?P`OIgh@HW|5N$P#S?qX8 zxpQ&-iRi|0-7eQ1O9TCag3zUc2W-}EbTRRIUeK~z5>BzzC21p)Azdi>; z$LOq}6sNkv(#R1j)i_b}=bIeWzfCPxp_U5@_dziO-qLvVQG*Vww$v$fX}#u_&05P6 z%bdn$-zL1gtu%XQ)d>911j*Uek~uRi)?yEMvmv`2?P_U}=c)|WYX@)$piwY=fy2B5 z9{c)_BVona!r1CdAe*6;-VR>F=@lyn`>vgfFrj99PeVez%slMu9aSgFY83)W^8uoZ zGgh9%uyzycu}FUtIwHzKxZ~bl4htssZN}<>n$6{&*z8_w2kt~^)U7U#q#rdBlkTwC>v0R@8#85t!F?eq0cq#~ALE5(LZ zI5iJC+uns#YVyE36F7*I9Jz+gPRQhIu(vF=lAh_r6IWDomoLOiYyDX1JWwrz136>u zIkQ7BU|u7u64Se5p2bTp8g7&8yX^>ymykxQg~}mk6&Te;WB~uC=ksr|q^y z&i@aI7?V+sHJ2VUx*Nxi&U6IGni7?na`tk)=($eA)vI{gjTf?{JVS$%_?Uk0QxE_Y zpHLs+uT`>0iS~9JD5`r!J6B!lznm-$L?~LKq32MA2XMICrNlm(eA9=GVF7sCIwk=7 zx1Xwp_6_@uJ%gtfzegVpjEpJUr0MB5ZHpgDTkg<$MCc;0pR=6K7FD6jlfK+ddRxE6 zR>T5HJVz;*y8msK(i|Th#*vUI$8xsZx$XHUGTJI&`O1{KV~6cgVyXqNymL=|`e@mZ}+ z@;n|7F^_)U_5qDoFnlfcJ((4gP4<+Af@JcZ$=EE)$)s6(V|Pa#4)6G2ykBQ|T=0tB zH6mf0&=3Co>Sg?x4*-Pdy+IZL_B-y*?A>U@<*eTO{y~7aNzcyGd1b$fZ573AI#O-4 zcImH{KO>IeB`bRE9HjA8thlDBx0O%53O6{x0XM2wsdT;S-F{Z94Co)P?+gw>loK)@ zk*;(!K&lU*74JnW6Dm+5CK6{uO>J!-vdn%=R9vQZM2_MO+MAku%J(*25*H8a1mBug z!k*|5>~Rt*`Ipk~`D_$3t0;p3kPdH<3XcqO%k4h)3hzH)Bq1A=8>$Qcq$$F)&^5km zWD}!Zzy{dujn&6N2WDfDBPIJ_f$jER+mpJsNnX;I_E>HHdcu*Q&*|R2yS*1e7w*h| zw&EyjxK_1#NYxwAytTWEg`v;6Ph*y#&C%g_dJw-9w0`;p;ie2$5Pu_kC;W%K{}FN4 zg(=7hPJ%k|cvX&n?y;o!`N={6_@7xiu!@3ri!(+%JLY0@W!D!^0?cZk*6vlSq$=N*K1Cs5y=($$Jfb^Ge8UJ^Oht;(?e_R>TSb*&mRHDJKL>DJ|hrZmRM|rGEYLx3B4jgQWNI=8k)nprL8c3v#>>;>F0^pTe5!Fnj z;&oRGn3os4CRVtR1)@~~i~={DcHj;JfeRubAH9;}9N*Rt4B;+T4q*9O{nD zBsEoM-Zo@Q>}7-%O2gd!Vh~9$BthS`_>n*e0sR@#@Ti?fH^)2lX;l8`Zm!c>k+2Ut zWu!pvwkWuO=Vg&4<~s?~LyxvtG##P#kg_VKUCF4%Yqx^aT&rK3na6k>=W@^IL7Uz~ z8TPdFO(S6YPLNd=_RRp?z)@jOu1rE5fYy}a8!pg1cp^5ildqk6V!u;i9~=M9`Py%T ze)&A|7njTTFcMMq$@aM6VzB_X}_X z1F;K)Op2?Gz~=>2fDSI0-D^4>?4;UmwRF_QfTZ#O5yYuAHzD9-Z#rMtwlUa3+}n`* zalq2cVkz=4Z#&+#tT%{HW@NgTCyhM&{~Oh1;A?DS66kw#m-1Tkd7b`OXD3iKCIoM;`;SaA^6N1>_@S_j?GE_+-Be5dSy9|(e3ATVEbo8`xZxLO90*rf)pgA zWdY8foA7n;D@GsT*X1J61YdQ&5&h3Va)o>BhD}lq(>;o@h2FEtT(W z4MYaZXIR@)R7SDy$@@i~an{&+BBZ5&UMW9XFt$0YQyz@^k}FMYHjJyW{@`)a-+;qk zuk*K&iJSP*kZpFR*2l_|VhpzGgm;Q5$G&Z;g{w3VkDxpp@3ax2^jElTp@>vaO6>hc zu2r?$+r5_HN+T5cqJyUV&;Ow-EKK zgqps&Lf`~0?x{Wn)e`G{M3oNuLn&QhP2f~88XD~LdakupFmNWk&WGyj-Wb z^4l29OF_ThS+2~}D4gsX&R_aNb%z@0Yqu(0_2$nmYXYn9$*!o%`sVv(|{qzf+ zak2>*L|1Z_rMZiL&Ukc5`^2oVrP26Ue9fg;B-YsMulFY9Y^!S;rNr)2{i5E{VYGzh z({=bcvv5=zg$V;7##dv^f1r+?REYd$$kGaombM1<0FjyhjZ zYMmybnYFYhulQbk0-BgN5~^DM*lS(vTz{f>YjzqX-_^xL(+=Z}Io&U?lwzx8*}bqS z(dki5+eILOGYq;F=TY)0LwivSPZ#5<0@BqY!7-XTY@ZBxb1--%g}W*6kAZt{fd!!` zL)!(RMOTJaWP4LhZl%Z5sYBOY7zAl7(r3*qs ze$WUa0%1Z{<+ykfLj&(SoZT;HnGX{NGTvI97OM<&PWO`_rvXjX6r`T89>+`;2V`Au zlqu5pEbK4oe#R(sT=@`txH=cW)|D#XH!39lNt6neu$*hlTX$ARM8we^wR2Gkc7^zt zGP`VReVgc-V^s06>@_H{A~ z@u8c8Q;g$}BSIKm%cWkgg*9Aj_F-z5f6YAA{dZKavbh0Wmjy$1pr>1W)PpCE8nN>W z+`LqZQd5W@H`+5s$id)PNc)~!m8aHZg0s51JH&=l9CD1{UpNJHfnZ}fP+6L9FrtIv zK$vBGME!0&4s1r~1(Ew+Kwk;AbGnVj{@9Dq$4bzcji({mZvjhUmZ6VvM-{LUhR{T5R&w-hvD#rbmpCY$Zn>(XMZx8W6 zQublwiKZ>+Fx1~WCbhnjEfobTz_3K1h@_sGRd4Wwm)4K~gaL(hC;W$2&AZz^z8IJT zw>$q>o;Wc5^~a-Nweet)thD7_Rn(*63R#+U zpAC_}WJZ}e#>U%}3>O733cu9sv~eFjQJsnF|H>|j&SW9Vam$S+y|-)BbocLQd@!J^ zf)8xLM3$V|+p3LLA^Y))K>W>im48D%ZU)>BR)5gkG85As6K6k8ihXC(D2GOe#(I_* z3TVqBDME)7RQi33sYdT{$WKdeaWLp?aT1Q-uOK2HxHmYk*OrxAb**mS;)Z*~3yq`; zgLcvba#OyM`zfTOnc^g=#6i*YeC>YsYN*kMikcgZwUYsf5Ar<^rg@hT29&#ly2qFz z0>}&dzC1`L;lVN{u%Qy@Wr6UL*_l(g9pM9tJr9hOizVV@HhSGO&Nnk_Dyla^}<=8~1ftJZZq{1cdl4@#S!A$|@; zoN2`&_gaPpgdF^T_sDUKiMm&Ks>^Ar&=4iPaPwud(_<#AwLQAmYi6EXw` zp4Wmg{&*4YtYg++=i_1NlLfvV&A{(#`vm`v$4$uu4m*rEeMul;K*7pEqJ&U8)r9bLPsw1-pY&Hl$|ew{65 z$EyD3&D*=pn}nTXx&TFmxs*W7n4n-!=IBms@@;S38V+qnH@}kAUlF>B?s_Vpvue-F z9yX!Kt+k&t-fVBz6;I1*l>1t1V%eIAVv6+S7)*Ac$OY(w6M{wDSSDOBQkkZ9m)8;b zY5PO@_=PF0nTi;zeW$bD$D}z~5~)+5aY1qazV$?qX{QOJtHMjCRXP&swbr@*RSCrP;QuBCF zFnA9dDwxtO0fcgnV9Y~<9!gWF0`r@sv1*rmiowv)ZQF6Hz&0{ipS%*$7BzdDffEfU zTjAoGvL#O3yIn*1s$xaqEu?n13}WDsZ|b)%m?;|jSvxs&)GOG>zdu|2ULURtUTZl9 zdry_1<6W#?z3`HjZTcRhihtHkJN0VjN>SUgwRIiS@AfLhKM$u&%hN!&&BA=(5X+lJ zzD~WXoABJ724?Co7zq<6v6!q)@!1Bq=M&}!*)q0s7ufTXMyM_su+^-2?#pU#Hwuq$yVYBp)u&3t|REymN-{|D+Ju_;@xfQ)844 z?cP#S=x2oqK>lXp_)WQimUE>#G-#U=U?CSM~9~`?V$}TDSYM^necCKEEoL^Y{;-+OmNbKe3$o zE>~f`m2HzSj54)aD3FmmT27R)j9rw+Q7!D}%myW6Y=F0;v)r|{`zkuZY?E|^g&5n5 z`(H+4x8@?7$Jssj5)$BWbRa-|A2 z5^Gsftg7Is#N_RUCOC|~wuIKDn&ccM+T=SKa9~l;$|zEnG`d!F$Oq5i#S}a2B;3Mb zE?$di;`X3?86gtW_nKw-vcNlRM8QJGg1De`fb~MR>f@SzwVaCvu{qpgxjt zS*6AE4+0i7$fQ(chNUTs6N>+_@Jx2vCJ(2Vb>#4+KUTdf)o2xHQE{J1_p7upAF!H# z1aL8uky+zdVytr)l5WbCnTaP`wKRsRkg1rADg=={ayRNkgR;tv^LER0)gj7uHO`H< zPPXLQmsMd_pcSn*p`It(%5PG%Mn6y?L9ODEd9jkPiT?U^F)4c^r05K*8hR}ukV$HF z9T9^_#3gFMBudE#CY9`ljswFYY^o$VT+YNHJ)5*V_A3zN-o+ki2VSyYB|bb_8ThvK zVo2i?6IhoqB%7dw4M#ThVsg@3o($5E+5i-4R}?9wN+6#E?nDf9yn7EAF(798llkv` zhV^$OLm1O7+rIYksC|cl^ZAfo+(weK$jZO(A&R#)cnqo8Ue!OA>_r_TJ7MzY*HGE1 zM=DmAzAA3Y6(8bSK&Dp@KJ?*_>qcjx^};Ud<2LJO;_M}Es`v@;GmSqv-H_yPn!=Jx zk77)$bkk5R^JXXy|P0Dd$_72}i zKnDxo+?7d6K7*w8cfVwS!f0V;mpagL92fAnE%r(52D^);Krv75c~`P!sr{ytyn@Pe z-4>tgUNQ^=1aTP2MT;BztE6O2@56n@k;YiZpa<$i;?+imYx@MUOqcCb(QP*ylE4Ap zkt4^_y?C(V&2!C8M`#FFkb2J!Npg@pOq5FzaEIn;zwkdM+sZ2Z7tFpH$ zhI@om4C{vG#I^zEK6Z7q>>|UG%wh6s+(jYU%{B>K#Qfdqw12a;mseP|W}&7pX_nmr zRJFZ2TaTaU-JjoU;4a}K_B4dX z_Q3aYCEL?IbWRUn=&>4wv^pw_OWz@xHpJ!3QljvkHH>Ci<`E5_gPgCLS9(zN9A4xq z(~mp#BJ-?vZsS@TR*Q@^QiU%uH(Qs)+RtHU;vN@GS_=@Gdhlb0@;#~t+xrlEUx*-K zn9^t1&G(q>AH(ibN9^)>92CbyH4eY%Umx21eU#fv$2I`{GyWWh5!1-}i?@_1LQZ}z zyJt=;r1=b8v|qS#O^5aH46DbUxZZ5{Su}Q~Z@H}|Q4-)EK5DZ;lc53%3`{QU+rF&* zhuE{$D$7)a(6`O%B9WBEKD9IDZRjFY+s66KJ;oKahudi50heAk`>(wa8D1y?$_6xn zjU0Dqx@SBl{@ToYWAyZ|DdNIP8p@_K&n|X`0xPuRla4$fW^R$OAuBOwT%iGrSb@>Y z2rWE=D!4_%r6LVcC(FL1Dh$!FuYL$1#ew;N{xcRrf-#(eTP z&hAihMYwI*9beo690olHr5jIDT!GP~R`xT?{Vs%JsvK=h{A55wsXQsNJDIgoKkmiyHZ;Up3%!zhzdI zC{lMD{D#;e5MXUsVy@na6{nSd)oC}8s`*VZTK}FtlRvz)Q)T-Y)llArpA*|G(W3Tn zs}0K1kDNm}&>xAEee>70cCO#Za9KNF{(BNssFu{?mM*mRGoz&V8253qmy37~jdiRppmE{z z&)y6)C(0PGyqPe-V`NQB@1CjzMG(kC`6w6Z5W!$ zl$LOpK2@ua*C?=b0vE+sw;5)|)_!cXSp1s#ISwDlFKwX$JoaZr(&A$CK4uN-z3R+K z+h@_94-AG|XBxEd9K$P_|>j~*tF>%$unchjAgnf`5 zaU2y^7Ef^Ute7q`cv5rRS7>5oxgyl^8v%}kt>_Pt_vN3F8*v5cLpE~eA2tJT-*(6# z4^BDdrb1@u{n(q+N8CypYP5ny{Z?;DjP^Mg_{yss9=GsZNDEIf#iYSb+0wb`U3#4_ ztGbu77C|mQCq7t?r&goCnkd|OD!cfbDx(cQk^-P|y3BgwjSUn?>M;FmUGCt!=SA_1QZVZe1jz$*!p3kmN9%~plY12zx zKr-F;*>xT>FpWMcnGG!0xFHctU_s<kjqaq8EuAq&_S zEKI*Ba3onj6LC4aczWZmXs{bm2cw!d`BwWDQ^f&w44)5?vqS^s#~3BkSSym3W_IXP zIe&(y1R#3UrKi~QA_CQ1?Iv^XS_D$2V#fKXk|b?2`VYQKluXZ1jIq~joL-V2s{$q1 z#Ac%yd8p8ekSx?H4i0lFDk^~7?q)~jJLWeK%<@f7V>PkmYxSU@aAiErQ!9V(dl$2q zi?HM^DUc#5dX(FivsPX%ercMvSca_O?4jTdY>TG^=evh3rlH=`FrOQJ#LH+`m_l*Z z>qU}de5?lKn2ce=cm^v}5p^(XSW@sGAL2X*N}M$B+r1-|VJv1jJsloe{jxR`C?vu2 zGaB)??UQhHNnm%cJx|r^0zQX{%yl}x0us{g`{Q3zUc|Dh70N5(HS_PSAA-G2JYAuB z6(c6b$&9-#m6wW<#rIhugSXval7RhYPneHXB-Jwcio|MqolKO4qwOR>Q+9N#w*mi^ zqDK22t`dg2Je-;Ed!vX=AIO%+LOB zf2N7m`z`m=Cy6MLB27GFueYtY*lOAO6>brQ_n9MFlzZo5T_vc|;L`4XNxt75)W(N> zl#2sv)XfG+vf8$WT57jS#}K|(YnUT1;x1C(IDTUDI8|{b+bGbIm9ipA<2m+^VlF_t zgW?Q(%O@P>AYBapG|Gr;$u7q8+<8kPqVi!(*Xt~QduGlKI0mbk{bVhi_nl;8=?~K5FlS^M37QeT>29amZe$m|c4?J4R z!GCCYKzp$_;$`4gmA=RB+SJL+Ju)F7{bwd~@UF9K^mw*MOaNq3V@2>_P|r71LSpQi z*U^X|=jU8r2cxg~v6a>7r}fM=iwV$C7Bd$K);eB{)d~uAbMj~a|MA_^LoqFO@>P#~ z?VSh1*hxr`#TQdx$f!do>5_#FBm{jXsu{}%tL8X?A^<1-oNDkyM#a+nkD7nj!)e11 z#(~G z<5o&{PFDySNUB;R?p3416uZn3=dd0WpVf;l{yMoVNBJ%-AN2xQIHp;BO3xO@QhyA_ z&77ndsi@Mq^FTHM} zH?QxQ)$!g(W<-DWeOu&GQi*{z74ns@V_iV(tM7fw8>5>nXOg3snBi)lz>pZ+6%BnU(v(MXsk?+W8bBl{ zPvxFT@lI`_iQz{)iCx8(Y?mw0$AG&qT-o_772>!s#m=;xa#PcNpehRw&mq~Pl76nZ zo<03?9*gX}!p)m1A>dYf0FBDQMK<*$CAkIrcW(cX);(=JG-=gDp1gzX6GV#RtA2zt zRQGy`z}B=H5MhJT;Vw%}NUvLxVKaY1p&yjteSXkcyN9EkS-f&QJC{lqAw9yi31u?Z z*+p#Md$M9$eH!R@bG)usQ(R)obj$oqkG07H#B2Ma)Ov}ICnKx@QAyQHYgygoZ9*Uh zj?#7CGpSQ%?IA0TL6dRrj|%rCR^pKMb#WS2s5w%IsOojGVCZxRvh&v)SAztrZ~;Vu zU+T<@>gnKJG7ln!ly*!w276vuC54s{5>Xg-0oC~b=J6VK1WyS?q?{Mxqf?&P#L*z*Lcq8A-1tsJiiT`tK;Di@Nw~ zy3(wa)tYd@Nem4Kda_Fur>mFs{Z+Cy)LThuX`|$eUIEDn9V{z7G z=%sKoF2<$NNVINDOR8FHnK;Cw}%&_vxd{r)jv96hwrxjE6 z@iBKxc7Ox!1%;N>2NgQ8BzuML@_m!yD_vwVO*6(8Y0>)8~q{Jzi>+ zv#Oh`1Hr-r(5oV4DQefsRS^O3qOK38b?-?_7{T-7-^DEOp*+vc0XN>Qb@%O1V8K}2 z*WXb+9=0?^*SoQt@ZaEL`|GFghG4mKIXxs_|4?1%#h*vp;NeaoVAZYG(1@2-)|;aP zkQIw67Rxous(NYFxtWPA-B(vFA8GI@-%6SDXu^So3bpg5xcPROozr@2rA?yVFKp6@ zHV5yHY3}%IMa_V zYV=?sA^et_?FdtQb9#oSinyZuc=w-y(3k?}@pfm;QT6E|00hvxn8dj=(1N~uA>oXz9DQrIIFWqMeJ5qHB{)%f zG6ES56aBS0*j(sQXtB`=LokMW@jDn^>q$0b*(y*CGVRj=rn0cR9CUksy}DdGGuqVx z9`@HKhKN*7!7B0lZCJ5Q_gY6p7A4FbaaxI+Eyj8QEy!%>?$EL!ZEWI%G$B%4SX}x= z=5n?K*O{4_Ka$zY00W%`+zd&Lz^jYJ3i-SoM``P5+WakDq-5SZ5CC@O#&5lUQS5oU zPsLax|5UqI)m){1^b(UHdsqNN{C12p53vw3clf41E6zwAx#J9uN=m|U1cMKE4bs>- zw#LT^kIiv3-f6}!HbXN1n2u1e>8Ul)gO=gN%vcj$6tkp;utvC7D}BOZ(*w$K=_Tye zrDKauZ_iJ3DTNouhXA*pQS!=LVvvw=x&1RfaskJUHV{M}3G@5y zF;ueWkvb{GrSb4|q<1DPp!-PZM%TAAx6ATXy8*jXsF72rHf2SlYg=a>>oEwG2^|3{ ztkO{)`q2-}jTB~2$gCNWv;^vxbBFs$GIjMzIDss5F_i1-o^)=PfZb1A z(ehIQcpLq&B!zYKhi2DHMcsN-T_%4p42i&Q1;LYqO!_ujAYzEgikkPOpdk|XrVc<3r1{Y?U53L9U|rwpJjBp>+=%-qk$zyThUa!Y|6$Rq z{ubvxz}$H=omv&J14g%I(7-6gXgoRt0xsIUao0O(r$BcR3V*tIG_J~NLp!Ykqf_vD z-l<39Rd+Vm@}_xd&A1k9&gD&P;o(v>Nz{*H*ugpdS1uqh*j1qF482XMJaTY4x+L{g z+u$$tX8f=1Ht|f1(Xspx^=miviRj{GVd_<>G}yV;F2khz&Q6t=w7_PRCfc-WvWQLET#qA;=#0Ye zSh&PUaaAI#bAy7l?KHA={4cVwqzU!*Mmf?pxR#eJB@0b|PJz}_W4QQldZ<%tdR}Vq zE(x(2b102`gE*aS1TGEQ9=>M1`lh(!zw7BfLlY+1o%`#>EO|WHb!K28N1Vbxc^;jz z-$*djDB-ucZYOzMyj6&_>KZm__ovbt>f3nI9VXLwrRnGi0S%8AET&2r{G68`(IYM@&iL%a5 z2)Q@Wc~Y+S8&bC8=YT(GIc8l|`m5zyQ0m_51+=Ph);&r1ZNzy99vrq6*@=x{5n zL06TffsH7E>%tNBOQP!_iV}N8zDJg*y$1n9FEUsNM{OfzhS5F^HHafs#3?`(?S18V z&*S8F(H1WST?NJ61MN)7SJPHO6B0^}0}Z(OnDf1Bv6<)iogSnA{sZF+$nKodfN)M4~+vMYY#+=00%hsF3*Az=#+|5w4koFRU8D z;nTpEH8M%ghv>MOg`<_?g}1k9qb-%^=Y)qpw<%b`s=9*@>CEJcJ*Kz`p#~uebk+6S z!Dsx9Mbg`3VP+uZs2ASdjIg<>ZW{5SW^42t9<|1CQBL=ZH*d$8L0I+$zds*Wub#Q7 z3C5gHrr*!+aSnrH!n~It!~7oOI#U~C!8uPz@Sy`i{8I0IqiVR=RWNlrs z&Cda1%BB(L<;dXbC-Mi?rY^BH{HDdSd2Bl71vePr>M)=L?KOsFD2Gm}q0;NTyIH&- znFdwBoPwlisEW8=ofGm{8qD>tD80|>9A8HsQ6wTVrk*Xo$Ds=4=YaKvB40bIE|*>1 zY`GL%le@DJru-N=3#mYb>A@8{g7322-3F_gU{e#}e8f5s12iWy;mF8=Rogj>lK>@-R>g#T z6;$brYnft}{!JQzwnR;6fQ^bR{nFOW*Ua66+|DrT5G=@4c7?mg!D8<6F=9s`(NKZ&Uo(kexI`D(1ScV9`0nkQ|oXxPF5(J5BO$& z*}xPO+(fQP_AKQy(K*!dfv55`FF>$ZYq>Pgf95S~|45YyQfz~{12W`m)lNhodTqAb zXy^xRYKaF~xY@L&pVA{K*?C|rK|r)lGrR0br^=ixxgWm)J;e8~KesynyANvzCLn?0<$ILH^&O07wQr0oeo105bt+0bhccf-HcFgKmI{f;EFHfuBOS zLMlRbKtVyxLCZpaz<9w-!K%P+!)3uE!{;L4BP1ZoA^{;qB3&WtA&;Qopk$&vp&Fo0 zqOqc-p?#spq5s7Qz_`O?!JNk8#Y)2l$F{*fz!Ack!qvn*!87?O^Z1bX83X`=Izn;6 zIwB^bUE**OQj$VaL{eMQZ8AQxPI63g2l5sQS_)f=B}#nC7Ro0o4XSdgFKP+uXzB+V zQ<^`tI<$*)W_0`X2K2KGI1JVdT|cw?Z~i}kX7poYGi1`s1>|Kxx>v_yWs7v$xL;aM? z9romI6oVdaU-=OVrU8wm4TTJIPwAbW3k=VrHP|n@NV!zyyBYk`-(Rh%rR$ruv@P1 zb%$3r?B>T73B*Y1DtFj7-YqsZe`CAj{KGYmzbPpp zQ0z^5~0tKJ=S#M(lqpcy%fPj>MfQl$f1P~ArgkUr8euMGxVSi9;Ow1h^#%>Ro z1Bl{|QbtZjN?vAjwHNyV#1WU&{ZwEO5kFiOg=e|a6+tp+*k}Ol8&dsGpR$o9Sik_( zV1!svGXOIbG_q#UD0Xx}SJzTHz-?+A*urZ!Z1djj8AJh?5C8``;#@TknjiG!TXC}l zjDs7#^h-b_nt2wriMD=>t(s0aJ?<=vQ`+uF!)cU%1= zrL@T8VnUAzY4Js5q`LOQ)=2@=yHzJMK@21~fDR2m$$$H*T5Zj9Qx+bt^5;{5TI!!M ze!&(NxwH*4*37>B_!Om^b?Og-1{gQalh_HF?apXl|PrOFt@+|SiNFI)f^>Ae91 z*!zYrTybb@d{)KH$!5b3#v$Ikr&mb`yo>c&v>XOlYElBDYT3C26S2{1&cNPLj9sff6l~maUl5P4<>#Se2K3A;Cf62);n%UqZ+YMgLGdP+d@< zW~ew95Qr$~@<3reVp$*0sWJXDqdu1k5L9Gt4e2v-^8B0!y!L+aP;0ZJdyZq_x{wj9 zsAz1Xa4L0X?P?T}P2YA?ah?DM5E_8a=HrAJGDD9N?xiwk{#ER_sqJ-HjSE?Ryj^fd zP@F|`IpSrOqk|xjI*)Wc^k2XWs16K>D-_3~6@;p}fr`akPD3oXxnvH0@%|<1P--#7 zDUo|abpAG(cKQ|~D9TzaWYOxR1&IuklN2X^F{O|q23Snx{{)T*arYF^=aFHN_b7`g ztzd?RcuXa^oQLgb!@+Syt^hcuU-JR9pbp_U?{;W6p7v`((JCbch=Ueo#t9ul90E=d zZ4OSVH+z0kXm11$apX{baukZk!0(?@vSI0jBTK4VD=>#fbqP9gM3H31=MQvFTRo^IA9Elh+cOX5qT zSm_vsk#?)9L?UwDo{y8#1rJB1izAXo&V}&%&6|dp5M|-IE;CRen-L|IejER5n-7St z8ey#34&G3S!SW{Y&GME?@+@zwq`=ZtNs;9pm6TZCRY@Pqdn)N?d0!<1ENvxw{9`F3 zrX@7c_y^w>2h|B_+;dou(rX{))VB(cFWJFD=K zjgRO)K2`utxTKphnv?usztY2G^iO&%PDV=}PaHm;Ns30*^Jjw;<KY7k)4Mn>Gr$2pLAzqA_?R@B{!+Zk}_-(P7-OB5H3n0Ig2DqND_z==xRLc00)^8QglX%B0dPFyD z#xm-$^7EZ&+nn<576^Roih%epa;*;gBNX^lI6WJ^85{Y{ti9= z&^hDa6MFCkJ@}3amG)(uE2%2{`}4O$f130$m};%bm8ElktA{hcFYDSLV@v@@c-ms{ z-obDJP@^;)Rt$jQFSc&gsdl?TI6#eaGC((|-M(33?)DJ<{B&^_5ya#^Bq|;}{D%mf zlbo)R*l$s`!D~Dz_V|chW;-l6jQ|=TAuX8XG_V%kvI-R7MVrLe`CVvz-L*XMqTQC4 zJX)a*+^Q)2QZDZUC6t@Gb+xGtzkiQGa zHwN(m%-0`Oc-mrMVBlmZVqj)qWZ?v|7XdMZ&B!1E3_J|mAZ#G%#Bd18W?@ib zWP!3-8Jrl^plmiIabBhr#tbN%kHLib44_rAKyft)g7Ak!PBG~7`15slH*|@+5YO$m zsC8F*qzEPRcZYdev>7Y4LWwdx0-wq8MR$_8>MuWx654?U3UtkF64)mvToBIb{7zui zI7;MM=LG31=RXA2#mU%pmYh(Y0uAZcg%5;JIAv3~C*CSOp}L%NEGef+&v!>j1^Y++ z+JD*)>3`gEc%E@YLEidqX9W^Owf_tCR7EoMb+@Fe(7gE4fmwgFQ+#=4pTEDn)ApHQ z=!&Xiem_;+Bcc~Qnc~X_PULoC4YRawaBd}kCn9FW?+WbsyVOqxI`f392?n;vNL_ej zYEdGp19!Q5OSdmn6dIDDW4#%8dhVJMoz)l4J3ZL5VD%~+y0>YYd((O2mV^5K$bTVv z>t(ld0~rR|75$zet5d(-=t#ziv+Nr8_$Mz-N7WXNsk-DmwKhHBsJ6VWdK_b0`i-|} z&Hym&uH^s#c-mrMVgQ5x%?w5i*gzhDAh!O_Xt z#nsK-!_&*#=SvVg7%&U~003KN+gojX+-IAZnweWzT3OrJ+SxleIyt+zy19FJdU^Z! z`uR@=flwrtNM&+`Ql-{tb^6s<<22}45JS6l)N!$E{2I17PZ00bZfh;j#meGGvz8}?&GBPzE8 z1u0OUJSyttUiBVPluy!d#s9|yDnr%+PdDJI6W~D+hF7dn3876mx~G$_T&rr^uln5x z|BT}}4pu5P3e*HEr8*eDNTG<1F_;U3ZA=tqpJ7vDW=sX5YRKxDB`FY!LZL8@ z!bX`TSd8YAvLOreMkita9aZ$fQ$*@8r}n?8&fXI{KJWmoXc#0=X$40A*07 z&SI0gyJXs?ugX_CC|r4aZcQPu+bcrpYg<7f7bmfQRh4#o+@zM{cG#5I0dklZ z)z<8ItFoM}%JCB=SLYwy?cof?1GGfhVUk-3A3vRct*O30o6@Q!dZh;dM6m*cJeAl!*4z~IaFs+R8AEDeJOU?u3$8JXqZrnAU^RPh+F zU;a;L|F-we${!dyOb=Y9sM9p#JJMP+Bki*!?>>9v2ey3PS!?%!*)SOVy?*)743p>5skoe=iCPWL7}q;e-a9(G+RBfkb0t=i8_N*+ z7_N0U_z$PkZB<@dmg^}j2qDKj_ZiD2E{-^a@MxAp%Lt*{=gz|MvAU+<%dmy%)1*fC9?>djP?CJbUm!@N*vrK|8L#IrzmL7}7602l}4y?RTD= z#6!3r^5Ona!>#G)S?_S5-S-FtfgimK1aUrG4ns(0(V#gV^>8f@hf-*su5ukNasBL{ zgLBnfJJ-)mbL-qOFU-SP%s=z%Z}%T+!EL+v^$fiHW#`{Ax6jd+tNxX~{?eYf=hVw& z*ze|P61T)(fBbU{mHHA0(6Y^eWse?T|L=*6X=cUCf~xpmtLO*gUB^F|M`rr)E7$la zYxyr@6;nP4W&KEj4@Z#n<^!?2U!Fz#w7-M}Qudi}#A94=>6^>8v6fIfp`dgF1SA+- zMF4VjQ4xk%u@w=Z-$gdg7Oo{tgy1r~(YkCMCt-eDf?_AkHuglXmjgUD#^7k|E?Zl6 zkZ!J=UPd7!ZlHBtFii+0{EiNC9rFul2FYaUfe(V*>Gog^dhqy^X!7cW12aOln0e=^P-ZnLl#qLQ#7r3Oe7La2?Ib8(RC|iNyUMS;^To8AQ{T z4^tCo>P4-BzB>=fh~tcCt%`h5z;b}#Yy-Zdz@325a-~Rkv>^Ddl0S?_08q|KIX^0OZw63{Y=(8w7`DXu%dD_IbvOuaQ?^`5OLLx#r+`^All1Y!=LjPHjjUZ(Dp zgb7ocC>oFviPYQ>j!@}K=0=hMsT*Cg4dezXeE8-w`qSwRN;+9?E?sYJ`43;$fw6Ih zzAS?bQSEn^qFn^dk<1!d3Wv+G4HA10Yzc_OqH+@RM8l1DK31X;b2wyuXhR zQ$_;t*sEriPL;ZwM)xrDbaUh%C|B)G(mnu_BH$_g4aF$bJ1Kz;K_)cX+JxkLknZYU z%33bcO~&7q5}?6^MU_wxdH5NXqCVeLEbGxA;Jj24@f-8^&8W-CBQPQ@0WaYb~#;VhN_MJ#uc(}5AUf}sGTxH({yT2-N)^ckVs~?s*D4EA`<36A9?my(<&%KFXS=y6E6kPfC?XXLmg{T zFtS6Eaa=Re2s!@Rii8aHK?7z=loVctoP2p+MDnl=(KHqo5~0q=XC^{7EhQ&6te~HonR+x@XP0i2l2`P<@ytx$c>rN-x34+~ zR%E~3A+Rzh&YDX55K~!?3^CSpSsjj?s?6T9AAMSvV1{=l-79 z{}z*4CT8?u_Qj2?8Cx~;R>?wiBUDjJBV#o_&s&*0oJxtnI*)zzhXeFBcTcm2l?-2< z_+mXW1WEx*q0s=AUqIt^LGqEH#yFXqWMLDgb->0#rWpeSjXfq9faDQCFvV1*fjD6q zQjk3Y2(~cIwqh58iq>J<41o3{RRMA{Q9PIdCa{>u!X%cG17nye)Pi~hpvIzfAjX(M z3d|z_Ef#H)!_bU_C+ON1@GNLwkS<3xH}pAvV^Q*jVaTi34`d0r~=9C_s+eq2XkOvlT8@xH<~90$?vd9{SMnw8qOC zZ)2VMApk67^bso@_8zpx zArSWtf~+r)b_qNT{^^)v76(T-|u$UBFvrSsBt2{0N{Ly7_xkhen+2Q4Ml ze^vrI#GK{-EgR@=LVZCfTfvJKQ^j_QDQ1I$3YLz!)GI~?ZVVUg$gF8qs)DLwt$0k4 z?(1mW_`hynk;0)a57G`Y?q%x4W#WpV(uo8^rcWpi9?|_k5CRA;b|%z6T|B*l@uL*Bc|%h3CCoWzZ^Q*TB0sB% zJOro3q>vb~wA>$umX)$Q$AWX`zCRO&GdTu&(SER{E%P_9$Th8MBq!40 z+~t)sk{fPo2}J1;@{@xoTh1q%JsN>(7A;r;qv0DPByIIGHs?#gtVqf9kR5V^C~Ud@ zOImuX_*~ekSJbb{6>_S!N95r!OQb$Rt3!5Lat_hl4iwUl74^$GmqFuTv1^egSAEy{ z%=j5~=PXV6;6VG$!;zun!Usn2iGweZxSnXggVhbjVS6_ z#0X?d+Bj(29rr)W(@e_{u#l)s;G)LrDpr<^3@QQ!8R|_AW;ma%)eXl|G%u-NC6NAd z8d*K-k)j&ZaOYd}tU)2xy8j+CNWDmlA1#;0?^Fb!=&2+ZkC0LI zDg}%AWtUFk%d~)=x$}^G|NYjM-pk!qllU5~)H)-I=Is<+XJ)2vJ|?L`J_1MX z<(e>u=3U>Hv)@LRZESS|`7 zfz@jFVsoQZewlL+ef(?kJue}or^cKYuW_JR1finE-WMo+G`v|JzmTr}C7b2q@o z5b5^)@?z4NErhiTZbbLD$LbWK+b@&_a)$}lyP_idId<$qkb|5s5cZ2luS?lVKW<%m z9_ANFkG>e4w+TtI&L+A+SGz@BihmBnBJVbST)Er|(BQ-2z<#>ockEw6B2lW31cf?+ za)W*x8D|uG`sQbw#nOs%n`YaYPTP(g@Vs!)=~VGU3vFbw;0*WXzdM^Zlx;V4LTVja z!KCd1jaucrxkKl6UDJkSZMFnsx7rkVy^hCKLQG%1OPwUyd#bE%o1aGYQOE?F{g6QUrme= zF|ud}g2WT%(49R94K5as&Q^K)h-;!*qOVM`X;2u?8!ZPH19sSScYSDth>q#MPd%upS3ky=sk`Mh z(XE5vXzB=QiF0$ebkV#h+T}984i+~<6kQ-TQNAn?5jT+0yQJ`7pzUDIf`6>U#Gs#; zdHgenRu`dES~}{Un~AV#*;zRV18GR++48X!{5$1<*HH0dg?fq5yUFN zEw8`qbr?jyrCH$h-FRw|;Fl&Pw)OH=GGaEP5aoQLF>e&2ILOKcT z(hy~gs5vhNCLwHE()|0#>C+)_De(H+unPP4xt*BsFuY`qx=Iut?s znr-m(WXL|Z1>6FXUMbW$Y&sCsi{a+{+Tjb4HoN2iBgv<%`G7t}Y)^wyF_v1@EQp&5 zOLKuZh#sVVEH6{mmJ=Xv`V|oKY8vWzJZD{W9ulS`vNhv_3XB<(vLuBtZ}h33I21`Q zCaEZt%tJx(A(A0fJW(xNs8GV;G!{Qk9<`Xu^%w0dPh}v@Ma!XXjY&{MJjf_rj%uaC zi{Fd=vSoe^@~CkwhD4Ye_Z-G|`K+`FPFMteMyt9bckuE?RuF3~wMTL#)C?FXcv~gA zF8i#Ue{YCirT520k0nxN7hb?HmN|D;b_)r|Czx&phZdH$FzD-Z8K*WDiUZMG!`faczN6~&{m7t8lrk%|--?}Qgh>V=szV>owavKfyPifC$A4d$ zx7)eisC7Sa1*rYy--;Qvol)Bd4yDfcw!I0J?efIcCSsy`7c_7WciGYGFk&V&`$C#N z7_QrU@H9+5q<+>gRtACNpx^lyU&}(m7Zij|(W=@P1%`{;Gp0}3!3Ry}nw*YloTs#= zTf$wR`m-w>Psg}P!qEsRRgx>tF(7Zb)yfVn3Q38i3Z>Fz9U%QzskIDyF`#0|20i_l zwCuIZXO+AJC%tN}T&1!U=DsaQPYZN>nm!E*3{Pj}0(Y_%uT#-s70BQybMU~VDKY(k zHUpd2CzOdL5vgs&Ytq-x8;|TS>PcM@j-M2%4NOwfdj1F*f2sRh%rKC1b#LARMUe|qO{0Ko0%pSdyaP+VLaRN$o4Rp%rxpD zV!2SihPX6ms*6cB?*^sR=_6ArTnKcCUE`6hF0KdKy5kgUDOYAU9>ybrC7PB9#pymL zLRZl25A~le+WwG)P_B$y5?Oz4d`!B#={?kK#tzON3 z`#U;z(qhxkzF52{VRlVZFPkHy@`9s*n6If)l877^(=RQ?ipF-5^4pe~iOX@LftspK zbryT`dvOY}?$yRyAp?+EsV!=MsC{9>51ymzdQ*Omh*ub2@|r=4bsGDrhCzrs*+>wX zcM17|Z|KvCWlUQ`{mfyri+1DXou6s>9j+cz~ zMa~0wKs#E%zON(HRv6zu+J1ax-We$*0~;m62R)lqoQIQzf(QRy+U-~U)a4tI9Ps>kz+<=}^&)1G!1oRR8< zn6ae@RStqfA!6G37}ru*@_EOcg-1cPQWhb4;S zw%2djKG#&Y&ZuRqOp95e*|ilq)s8s^XUHRy44>mPOP93G>yS=K#W}5uqRVifCQZAK zmER%#J)FOxmE5>Xj^pp~Q^&7-OC$%4+G*_B6J~fEE5~4U%vJrDu@EktD~S1-N+^FI`FG_?ou%=4qI#SNw?Z1{VVe1GkimR2V+hh zuiszKUo1T!nwg3a?T)|+t1bw~*_3mqTB2d8oX{%(Vc+p$yeom+9+DVaw^L`bK#m*< zXb!k=Qz=-Hv9s;iSw2Dw7FM;K#Pc2Q%qqjcq~{zKy#;xfiw&)d9nnlJqQ&#o8>7%+ zUNT7ILRhDQaN+GUw5@Z2<>|TZ^1&OeJAxC|KH8(EjMIFJJrCprKKdY)kqzSL35*Ao zVKh3lilu&5f2VKj3Y4;BGBG8Ck|LZ$LS8i0VIo}`{3QBslpK8a;bw&s&%lgBS)_9K zVj$3R=sn$j%%*#8<55~DPd6OQk(gc8@g3gcoLOnmn_Df*OH2(nrF^n!jfgylc7+vM z29y7DdzM5D&@C>85kqp=%xF2-T4E0}vqLDo#E~G@(R2|7G#6H0)SapI$P^0;l&MQo+Y*r>QQ=#QX2|-7F+A=@ zF7-U?7%>WYq+5Md!m($K#_R-z>EPT!_9P$;Zb4u)jA{^iCLG71TiNpY-X|aoB$qXC znhp(;Ezub^isg5v7^F#mto5Rt``6Mjk$zofjn*1v2E17d&1`fm~T2WN=cVm%p0W>tELR)N-Z_ZYMFtr>)NL7U5Kw^3VC{Er45QaR@SGJp>Dd%GTBy^>(?x-EAin4aRXH z9RTfn)aG!^yFAB*6eK_3dOI!H$w)>rkSa&izm5-=@CNOSD^M*ek76#FFbVn%O=v_X z2*~EFIc8#_->|KG_hIclq>~bir=S9Iy)(xX&JVIWiS^7B=|3f<4CL+n0!q)XU-_S7 zS~=XsF)e`1O@a0UX96@){B}`LM-h|rVsRhyp zGSzLSAmCMU0a}H8BKd~8W=UwXQ97!5z14mTjk+S#e z8=%Tw8Uz#}Hs=UiKQ3purP89cEV5hWv$;h0R2urWkB05;EXMM5{{s3tYipv1LD5_n zobT~Ix96w_vb{Few{B?F@XXXVue=)KTOCJ-=M3l`STEW*)+DHN1>}J_o56Vh=p$N( z7|-tWQpy2%)#WH}^2BknB#HWzlO$0hqPs!73(%qxf}B+P(A8FO&DA4yKs|_+G**mO z#WQ17@9`*>byXP$JFZIEj}fa!s^Q^rAQ-*0HY*YPZR+(T$R68%9)SQ!$Vm9MvA@1) zD0DTI_>12s{iAw%!F~uE!c?%5-NX2h8~0yUs9WdnFaPnnH1(ghOx>Z&V`w60(n6$Co3RbQ-yCf45{m4vKHYTh( z8Fu_oR)jsZABuyWQ^hA1gKkqftboT02uhC@mw)%rWc|C2VJZ5fC zv^UZVMA?C_T<&0HdifRjwGPE8KR;#H##dX6dg1tY=L1J$Ka~nJ!BF~8ag%<{tmJ&n-nfvdr9Q4Ow})U^;J}re;+F3wdjtkl^mBRK15KVB{$!9;TB}{ zMV~B_5kBwfkG9;uD{jnvB=mk=2#^0N_S;b7v%t&q@x+6uG}wFa60gx1Ssd%Jcv6BL z=9q;(kdt=+RU((C_q|w^{1%4nsVkts>cd4I5(|AF9_o*Wd%|z=D97Z+2OfHB)<|MG zV#0TEdAhl2S@J`L+;=JF*!0!)XT0}6>#X-UxY?Od{^|oR@tB5ET<&u@7FDGpuAGk^ zi#gx2PE7E67XA*)%Ck+vDVO3Lt9bv65Sza@FX-@%&hgvwf(^vW-@L79ty=VL%RLz@ zcuDvYTrX&y6E1G`4#%$lYh!s;Q$?}r{j*Qhm~$VQ75Sn$qP#!vD9X9(!eAeHJN`FW z2k599&!UA@lt&td|I03Ep<){-vJGegngA8AVr@viGa{l=K(*wA`0u}KndG&i%P*)Z z(NezZRa(fi7qtF|F!s=$e>t1muNZ`eaKmaqx!hxzuv?5O_cD~z?}pYRFNXvJlU_5| z+U<+)^W%xS(wM)dp>724K6BF8=Lc|ef)ipI_?4J>t9dwND*S&>24ap#Brg?HHGe0Q zM>oej-f*!z|Er=z;}is&b`oJSjE;q%_HG~6KOo$8J{?;UDt>EeLDjO7Zpj8d+uq)r z#=9l9?H-L{X;ZKN#%}LQ9@~LFQ|= zc3hrT7}NaWe?vyiTTuwH25W-efH2!~P(C_-!jMG^+^M`ll&5+F$SLsv_At=4L5$e4 zfr_S3Q5Y5Qs&uheVyj!4A=fwyaqA6prAHFH3;x$(1;TKCj3@5rAvG82A&`u`dMTsd z%mzvg>kMne$zxGf9*qH6ay{l}rw;AEH2xgQ)SeOha;Kgq7f80e+}W`P!%ErL?_W;)n)T!WP#UCdjFVyk||J^rnyNfX5?UYQ?nqS&yy&AzR<2 z%s{k+rJTM1k9VH$n{-<&72iVe-n}qV@tFiRC%eUSGM+`qwppZ97Wh(tkZxLZlz)7h zq%7O=5k5NpvLOO^`9C z_;Vrhasg71cnPci96B@^T?W@bLMHmqrFu5PGun>UyW z>UI46tB}E~-L_cZV&&Akn6?Up{GRZskT}mCY~a-!y+B2AFQ3)evN^Vas?<43}z@ogV#Wtv3erPGu!ixxV(CZR{gpP++9 zNkP6y-Wjme+F)XNNJO>(BbR~*N!HSRwBm3h4!AgRs!r+>%dYQ6&}$8^4%tG`Lwzq* zUXc0B`!;Sw38Mb1?3AnFe|@C^v7`;PuPRuVYbA{T0aC?aB54R{V$hf|$%lsl%R~{R zc!OAsA^_~$quR$Hs&u-qdCrVP^I$Mx_Z6ke7bT#gwB2|AeNYfec6S>+7%zhq8zbe@ zvdw|;{h~b$I70%GRVf|Sh83W7+sGZymM!RQmWVsKS;I>Ngc(J3t=oki089uXWH_9Q zAbB8z3xcpWHm@Q4x}zxKRw2>V*v(j9{ML#TzgF~$RQ(Gpr}AM1N|PjtNMo=@9RL!k zKsm@T5t!NED5s^yi|v1{dI8^wu1HP|$w%0!r%2nL9?9hH61&+jbj`Q@G3hdW|recTm_>RYB7OO9%n;Lyn!uGQqJ zC!iDOn`-XkF)GEwo=|WZ+1&$m>85n6rO9T7)9?l=Z1-*HjzOeL?w1#9+G(7J;A9#a z3kZtuB*O>sUCkmBAN}MV+o-uhGeVcnBb#sea?H!;0S1FNKVh(auzN9Ipu`64Ghx#< zm9xTYw0zQhvY}|nW727XaWd#$UgT1?JEmWft{3WuGZQ?#AX1AhI3EyDd$c_5l-eZJ z_q-ER$45V^++Fsi}7_S;Y=t*v%J- z4T@RSmxSlG&)vtvhV|S=m=6*p?k;7Pnq2hZhzP?$ajkd{4UR`)KMI3zBXqe>Soj+o z*Bfvd@{|K;7IuwEF}rS`j{H= zwba%NU;aAYxKE+*l_WNrjE@(^i#%ncYaLOci!U0!?%u4JU-oHM!U!;g$6?oL)&lc- zqYT{d7}}};Gy#FYKGQZLcxRZxcsfHce0%#nhR%Uj5hBULn68}-eVH13Z4*Es7+|J1 zA;e8eux_FV;+yAHiYLAwI{JfiLm1kgkMd8vdfaq^feT;^W+0M7u`9Nho+(SM9Z|-6 zHVbnbQ&xuvVp`}`JtzN2;ZrrbwrjTbB$syz>v*JsRC><1p2PX;;lDaS@wt-ov<@q{ zlZ*o@O!Bj6A*_IDUII(~LvDqv-j$hDfS`8Xj zd>-Fe1GO`>9C6G*%3sbaV;qfmUxo09NaAzB*XkC>EuS%b?se=cx@jwu+naW29mVTGWUv5apKR$e3L{9Nm38p<& zS#hej^*-FXoD&T&e}SNk-t3Z=E>Lr=|0eH2&WwxtEfQHhWY8yTyBKORM~D(Wy!dPI z=s7Sgq@M$OfLO@S&Cg)AGEs=!z#q7pX~>s^Jj$85d%n)18dMJ2Cz4+*m^sb{7q|n2 z_^0YiOu|SNMVW-xr-e-3pRQiCW_0by4gv8KDTFo7h)5cSmEOJ34cO&g5$Gs-W?{pj zxdW;p^(eMP#fs1*FJQdz9qDnx7!8vd@&;jTJ2X}=$R-taFv}nSSO_xLuymHc6Ico3 z7hi-BxK)+{ruHS!SPahuHL;aDXGR3r@vV}$jmp!`-4>+l(=Gx>X&iO1>5GHL+PMY* z8ABzNL1^?DIi86=` zZ@Uxh5(2RR4>JJCY7QM$AFZrT`^K)mZ;|fmM$;-?CvczkoYr9sA7xFMK(*2I=Rl$w zo&y!{k!CY6?NBXIxu!2FjfTzo01+Xh_?^9m79E|T$=cs05cJkOQ|XyQhNvuXSR4Cz z6)F31v7|Dz6+sssvs4^-bBQELF3oMV6gUgD@eRXu{Dj2(&NQ~%xFE;*`84f%B%b6l<7UJ9`cnq+3gy1~;Bn&l@e-&rA@JZW(NceL zk;1v5;8H>^nH6cpujHjAjI``gSL6pf_E4)LtD?40@@XYCEj+0tVP(q?-vS0Ac_=2G zZc=5*n+^8r9ElI)&*aa9g(^~d%LB@^Bd8_QK6@nXvPo?u3p##+n{j(u-J&M@2~CNH znh?C8Q;Y7uJy!sif+UYGonEAi{;IZsmw0i63h+q6^}Of*Ie#?-zMWU*{Akops^|gQ z@{>tHdWd(-`c`zbb? z-+5sW{%80E}x1sKoUb)&XGH(1I5xNup z8wP8#Q}58CRE|<%x%p5Uu%tALpg!H?`>O<%SHB2+*k}R4!TiZ!Rg)%H^qhivXeOBc zVJSEEb+kQN`L!jw(6%GnEb#FNb)mF<_pW$}<6|4e#uVmkR+8YUdQ!E2@|k)%hHKd@ zfoXj)g_eDH<8Fst-ZzCxSQ-_yG{t1f;k1m)fZVA#m{cw?9lRYj0OM~je%0V-l# zN(_u4;?{|mb*La$C7ueh%;OIAXi5be>S)X17SSZtNJdR?Cyn!-;>S}_J3tiPnr2(* z1O)mVv%s5Zxp|>aAr=zb-3U(bQ5D_tnB*fd4~gi5&C^`%9jiq)aY?=X4$0Y&=wXSW z*q;f;`nHA3)6w&kd)*=_n=AY9y1m-f#_h3F*yMHe07Vx5{w&}K$nwRx!iMu-vYc#w zi!apuOz)=jj^eT%ucmtFAS2bjq9WXc@q^U>DVi+E=`>T{9b9<(jZc4I5fkbf*s}DA z6^x+{+Z@c(@O?^q1L|oWX)WcFYc?Q47;tp7n6jF=5H{ny7xKfHY=LsH=A=b7ShiDv|z18 z<2&WiG{0rPYz>v)ds-$h#*QDB)<`84pAl-MXP-t9&7EDk3Ke>)|DokU1?+;atj)LX zEp)F*$`X=-p#I%OXDz`*ZLLPxY8!U!nY?DbC4Oy^%>B>8=pBCY%bUyLxLA3WqQDYlB=KSWYrv==tqdyU#;3Mlfo&yrU8uLMr6?+7+4uE&7K6EE=k3$IQa zArn4eFt5v{0QRYU#p>t2s@M|w8Cdq`9I~FmK7HsYPj=O*_rH@1{QSE|5l$q@V!LaP zJloyU9C`7v^KyGWZU1~{Sz62pf#Q>&Bbj^szY4{`^B&3Szn-i@60NWGq}T$5>RG=u{l;i?@+wcu-v7`r@{m+9NA5 z^V{=bEO{)VB1QP7nZevX9AuX-^TG&tBhGh%n`rBc3F4(xSpvGv@ z=vDcIj|di=VuXJrEhBi&R@L7-Y#TMEmJ5VgVDJCPs%n z`qFF~VhE-SK$d?b{jma@)f>RYlZ?jIpU8*ec1E!GuYw2fm_-4E2sB#|IVB#%GGleaSK>}^v1O0?6Kq@V1dcV2#*52%6jP( zOr>=c2gm=$2J103Yg8MOuibpk&8rdqyZEq=pBGl(O%JyBKeHX$P$#*uVF0k6e=dvW z<(S$_LC1s1POP%b+L3G#BCH5xKZ9uv^qD<~hsuQ{dUc#ZG=7g!t2Gt#)o+0!nRo)r zm*WW&kGZ;{Yq9sXCugiQLR;t8)~-x*A~U@gKbRVg5Uc%O>2h%GUT zb+v8?QixI*+lH)XL+q-db?f9EiX~LDZaBC2_Td`a7uV))5@CHSCGARy=)0^Dv{py= zs!@yDut62#u}7Qn*^E#B-KLG1G~qkZH-{ojvv@xmR%!cN!L=uUJofjfUDBix2sIm* zw61ag4w$ylqoCde05#P_TiXKOve%wF;?>R;KDxJ4bWGUnIxGC>iQ?CbUgu*U_nPe@ z+YB-_vAv>=b^p1%yNX@~_kTCAO+7feTHB!Z<#FPeBR7mG>qfs+bk1Db#^wkSlFcHR zoxdC8S>!gwl{we9P=&8T!Q8Ap&$Xpmq`LfGJDgc_4c6*0i%?Ln()l^o6>#tv zTlvpOVU`Jh(2BG!EmA5MH{#9kh6kf+3q0PDQvS~Wi;kJO*Una}(|_+>^4v6h9<6PP zSGh|UT|85j7}~kBTe?@%ZVeUJ{=-rwW46jnMB1%XQs^r+>?hT&D^#gwKMzNVvI?K4 zV_+9LgjJZXaWotFws&#m;Vc5!#I;2S6IyX4 zKb0^kWpLET`g+>05Ni^DRcG1OcU35eue2=j3`8J8iamWfeV7%wU-OHKT)6(zOGNp- zGY&(vv^Otpi(h+I!_OmA&U&DYQT-k9bee-h=GO{k{iDBP~5=PB6%IYM0?<`^1AtPkyZ4v zj9=Q>kcB^3f#qzFk*S9TB*}wgEKi3(FhO(^$uT~i z+<#7_+d_;P1|FNA?BB!ID~lG_88@xX{pkk>q5gi)f2$}>Yd3?R#(AlAU#nlhrjIDXM z?_=ubu#`9Ai>Jy+Ue^(D8vzU*c%6UKizh7wc2$Xn-b|s2{pT76Mo;o!_XY_Q%vA>$ zGx8f{#J>wv)RC6ZxQ1y8-DzJB8hHy@XG4Tx2bBq6jD??w3uqyl*W#Oc2B0CmB{-7W9u@zMY{z2?lVbSKho@J7kO#e$sU1H(B zC%I?|e ze>;DP>x|}bMdJsGULrXDFlY0om?-{XglwVYI$~=haf2v?NLBf=_@zS$Nl@v6I;5fx z#ND_4W{i!u96*Fc_mEd)+>Z?#?S=LplKoDCpXOuZt=L1taJoHIyl_P}?VWuE+P@vr06>)LcYN_v@W z6(UhM)|$J>F(qZ%dy_HuU;F*tmLA*rO~4v6Di0lKv-#?)*7=krNe9G(4LxoA62)r18!E{aGE zsI!C4(azV`-Q>7vcW0Y5k(VX$9WP^R(&-Bi%kkh6Mu@I@)YqUod~RO7xE&xL{F+K4 z6v?NU*-bMWcXMlOO~!y+dPOpK70a#83$i)C%S5RQXYC7f#qa+RSdH+n;-eO1OSLVt zZZ${dgcBIQxBV!FUH`CMW@hyHv$py$rI3I`EEP8yB@AD9<7Nb4Ec4TfDLODh79=o&!F8}&uRiUawFnO<+>>-+oo!ZQLP7VZ`{@?_qt?Bc}lmD4nK=&HMW z1qO@IaaBE>17P00^X?p{hHV;T3ndqEm?tm7?(c~Ob&n6OeL$I(x7~m8t$V}4=8NcH-KEVd~pqfAH3H}#sRqUJ8n-^KDB%9rvBt>J_8RysxIi2B_D?P&c_NKhgS{Cij!5E?Cc`X&M#gD zNWr6pkHN0}_pEfQcEp8e1&d~!uQ5?~u#L5kavSO!b3}9oQ!TnhNr5h{ew}ekYgBM( z6UG;EEn<{ikkj`N>FC1J$rpm8!Lc-;FJm`D{k1Gz-H3!H`oq%bEhEvGOMT z%sr7{ZdrljjUS<*RF}-(+a*n~Nn2eRP^s#%R=H;D<8PMFnD1o88b?|x$@1_Cp^%EA z&!2*f2(A#yd=`5TXH9dTj`Oy@wI?_B?MkEU>0d_rfnc++I32Ccq0;^38~}+U zoz)k^*P!McIYc)_z>E&3l_WsHK_RTo$MUoyD3GONPO@l8Hu&8%h4-c7rPLHTqxhe>K2AIXkvsKIWm;_ZYC0 zIUYnWF!y&{PxDL_V?So-MuwrPtJgB*Vd^@RPmWyAE$uX1@w#@xf6qfEsiV_uPyua)L~!uq(!9R zqEXsjMcIDTpirW7Of8`(28r@GOJ1SLgYxrZz`f1s<*JW+c<;h?QsjaHksz081*$ye z>08RsN`@RmREzE|o{m#>JGv{#+Kg?6W2&5PE|>%C37|8#KA?mr+z2@wf@?}UO-s8g zhICC}T+#*`0tgcOkl|v0apT1>u?H_k1U!8)$`tfsomR;p;u2wG{( ztZ^fT44c5Q>yw++JX|R*SFo3E?Bs+DSnVKJcuaGH1G10G{JO4dK0PNP{;6(7SSIU* zx(6HmwI2Q0UT#)>1vBTj>Cz}C#IlaIdn_}u)*@Dp>WQn`xFJnJw3G5DufUOarQGSYi>>=D|0!q$U(83G+ZEuW&R4jdJ6jeS;omLSM2vx{*us4mFeeV&0o$! zj%ISEY76rpQX{u4!@~MYp>Nl-7z{7-F`hO;F6N}zk*IQtZtBOC@$#G|J(iCyov5u? zC?oaTuXdK{90%p}g5w?sb4p0k`KtrUNv-=SXbzd$c3PbVW15XQ4C23i0}kYmQxTq% z-ss?MPLC-qM_5jwmn{9V=$^2~FKH;+xPq`m9Oammg(+UGuXJ+EbE};c)-4nI`@c}L zhz7?9rr+enjXc(^xI5z0Nn^0&6qHodG_)+NY;xG;%Hxo)fKy=|{qObgDpIUOsWRm% zRH{-fBrGB-rcPYF2926DOGrvd%gAccs!h8NofcUf7$5)zJb(c{z<~e=fe46!1W17l z5FtZ_4ih%=D58ui>S&^MRdmtE5H7};VvZ%&*pd@_a+4QF^0z0)h|A@7@uIPOd5`Hq zc*~1;nH-qt!5U(DZ+{QmR&b(t=^ASL<=M4*WZB9UNFqm&#Af%4{pGv|c?4+hXviDF z)4YeQRQLnE0`!t|g>;b<*U!a=kIc@cF*eqNEem9$O$h|y6&s!@{>lfY@HHLJmDuXw zk(+n18JUR54re4dCi_US=<@oKfuSDEN8m=!BR6LD+~{+WD^`4F*zI-Svd3Er)qjUh zruv&?)=hdHw#v3!DrL0I>S`|MLIM|9?_aV`2pW81BEMnqM%M+)C^+b1-oR z02t-J_%;9l4AF0pG{Vf&odf{j(EgI~enA%k0e9Kb*~$R`_y!38Kz9KE$cU!j-uM!YNulfxf+y*_R&O*K+_*|A8iuH^jlj`-`Vj{^Cjg z1K2m@UyddY7GG;l`LfFf03hSc0MQOVBk-*T0l>FVHohd{)5|V?PooV<^uA$cod_o_1%ml;qh4G2{qm)r+>18OHin z>I_cWlI29|Ww~f#6k@VGQAf*1f6x4m<0g4C0m~CIL?g-|3-jUt9a-?oZMVb?mA6l= zB*hqm9E3oMXThfvL!xZ<{?1SWODlT~d`nI!5W~e(O<|=W*SfLn?R)61-Ed;kub{#zCPDO&r0C}-^Lf=g%M5I*&~Aqd3~kFIepCGuh1H@ zEA^?&JD=V{#c5QWoo&W_HlFSNmhBj|{1P3qUB_}}nW|o$g@E&!1et<8B-v@|-)dU{ z@P@&yCMueBg+%HXpDG6OY?>pZ1BxS4F4NUdxmA z<-OC>-hj*0wEmApyLpsS^_NG7aw|AcC!Zc|3J6m#ri~=37p+jXkVd2NGLNpea)HbP zF2y10%(iN!Oe>H*$d_>~6UjuEprjF9Wkwy7&CME;CG56ef7HbZp%jvYWk|^oJ%YwK z^>k7P9e6EFfkjbQsUP8g+%Rdy;R0c^g% z4i*{XiL@CsfxOCs7r$N6u6t+Fv};pSDVr%Qy+#KIGx$wIJ|5E`0awk+Rh8kG!iP?Z zY28d*Wh!Eo+>E5?mO=9;D;OQh2yN`PlZ+UWL)<2-I;BOCwixT=}?hl%~{j(w+vs zWWWqu%QF}qQ|$azLP)kJ4SJd~ADV%E0p~)WRSqVsQTb=%qII+#+xcT}N0C{ogRIh$ z%z%7$7PbCvP%1DQOn}-mu+_C?`I${=lXa;wG8@K=Fbly4J<9UW#)S8P4v5*w>K!iA z=a(|-Ak;K*bBVH?A;&NhlvTf{eoQn62;aG#EMh%qD>Qj2mw3W}kkJ#x_7xge)uadw zgY1$6&``g=9BjgB*0qUh$R#z{skq^462>9A!C!@%#%C9xeQ_Sex;=Q4PH1|fQCvl+ z*=#x~KAqi6nqkyTDGc)idSSyUx*=FGWA)!JH+kkViDm>GWb*FNc|m?IT)9aNF_#K9 zjOC7#CpnI$N<*8LfnXgit#7%wsxEwOmSloCge5eQn93~!V&ivlLgrqXI3E#A>knI} z8$)WX1Ut^c*2cR09Faq6<-^5nOmgBIaQYGrgHhZB+h@&Q80yW}$VhpeW3hktPXCR7 z!tTVF;x>6+{$z4nr$eIzTHeMy9BpE$3tMx4SL-^0=}YZ6437ogK7K<>`!x983HsOr zWkXAb*wrHCVJDpOzYU8K07)YyH^I&7b}vvThVPby;c~F2w`g**GPvr-e^x-|Au4Yj&>~XUR~y#!P7B{ZeidFJ>@*^(Ea@k%zvPiIrH9A z@!M8$anuOj97k#0b5wz6a<26~n%xVO<{k>`m$%^Iy?GHaT*(GAvGe+i!ZVCrZ`odC zg>03Dd{^f$Zgg)QOO5tv-5(w`K@UP9v>fMSnJGu9eApaS|F()vT8Zg3Lrv*W`f0>d zBIf}|<#G2lkCszrlNjx9^9=Fg-bdv>|IPel7`*R zkD}hLr33lZ;*B9yoA}@a!&riiN!Sqe2{O>_On2da`HSx2^tc(ZgTZ=|;_`>I2uV)} zm69Q{`D3Hr#O+?o{Y)r}`FxiOgb$LOrjscq-3@YDRZqA#&|z4Z@>29z!sS38(BZ?P zz+k#;ud}SYY;#dA_2lC9AQ@h)Zf%N&P7?v< zXUT^9bQ!I~tQcv|u1m`AZNTl}9O%i~T9A28Ns?j7d8Djh>2W_pQ9X>_@`)aLswCgS657RpC z4hUtxHM$^=W=RI9CTA4<{p-Kt`I-0C?aYVnN zDyUPQ&~SHw*8X6mn@EZNwBj`IgpOMITZ#4O6Q-W}Zr}VxpViG?aiDDOK(HiNmX$R<^dD-+3}PDh2dtgkVCa^ZnoC2d zouT$hNoa%Y_w0n{z+$5j=+V;W_E4Y>?CE9Dh8(*;Iy#wIKD`l}-(25gHct3jLnHsR zzW(pXp3*D0`f^yi_)5>;uwD`|dLKoJ>1WlFVg(82*5D{`eg@lFR zVE{D)CWS_?Km?27(1<)H?quI=WUI*ETe)Zh+19bz$1jv_ur@e4koXT`<4%`M+!Hr( zXX@e=U1nlVYk0C`24P=P&RY_WMyDQ`zKpaTnaVr+tXW)qlnInOZRQ%;euIYI!=FCD zPG(<%Iug14aAbs~lW2~#X>Y-zN9S6#@_`qx&3SPaFF}{4@G)=ndnEO*GyEn)x}>Z$ z5CJG5OM=;3Ne>!YRN+GNYPUaWs$mFMsQWz=`?k|}0|f@#TF~MegR}UN|z$MaJtG#piC?BeE&jt zL{R1gA~WunjsG3Ic2@WrUz3ICMUAHt>S@NIov~J5Z)Mx9LU$ajt;Er6=2!K8YPP6C z75|3ZjUS+jtGNjKn_3b=UlIWo;%!&7ZNDQTtn?t~Qz50e6~x`LGGNHulr^!sV1JKQ zGj(xt{`mw^$Em_Gb#}!pmf(Mmf3Qk_D<6+J|Ag{r)ELO>-803@i$)+^30d%LtI;b= zu5LiM_ZWcKvI^8SsH)*-wiLWBWYe?-`!QNwXoVQDs>)4QNOC);B9bU#;FzRH!G7A^{om8x+kpVy8iqw3HAQ*NZp&4>}f~ zg23@JKlq*opW#RP1Ewi|li_ycJi`^s!@0;Ki8!O{)55QVCmBK3=qXW^2!IOF%xv+H zZSC7)35nWd&fndo1I((dg5W-bLp#diZ(XL%>lv1;qYmvX%9f3Be1?%>q5}nt@6qNM zZJOBwj60+U+o`+I2))k+;ni05S+G6LPS-JSQr`~GEbSV9_e);Lt}eB*qDxI;`rq*< zKz6WHfGe9lj{JTGOcAeg&mp2U;clx;oV_1hdScnsU%I;$BVQvy5gMQ)%Uc{Lk8e|~R+o@>BL-d9KCZ)LUM$=-W8hGgq}!5<5q7^SZMhknPLfzc zl9~dnfd=)nZI63(aT8gJphj zR^VY2Ot2hW1u>OGXNRGvEVYFE!o%NcBF)(SVR+z{sYTcU4FPKCnpT_jP+2fx&DO#D z`lJ1%5u)T9!tYp0?)X+jl)z6bW?P6 z*@5Er)Yr$X<{*k#SxRVFYA=IGILZ4^`pZC}^KL8YV&FINFwyXiyQOaLY~5Nge7q41 zSjSH^6ZX@qbF*VXsXuIv??bWsibNN4{6}iq@H;BUH4@8;CRi0(lmrRM@;149Iq#qc zlz{n}H3R--kKG_aH9>z+kjGke>*gUTbupUFuUkJ-4fRE%G&#%%E5SgM!@@)0w1I!x zJ`*v<^l8#FpEToj4hCwxYwR**<6N}GtVCEoD{i&yv&dSf!*mJBF)!!D+b?_KMARc9 zsr?7ywcb5Du7AuGoTK%q4wMY=1T>(RHbFW|2N|r>gY+r=vc6~6>bn_5X_Q@6h?@YQ z8?wv2wfg~l37(P2Ai3hiS@O$|msbkx@Fi@{hhS7PbTbjiNrk%%b{uZhLs%PSA|l=c za}=nhHXH5k=fx$gMJ?fB;CyiY;ah}zM*z&fgIEL~3kkXc9xNgy0=X$^@$EY``XZUi zr};e=4-@>PA2suXte_%LvTT;2{U>+=7fg@n1PlG)v2IUglANZ2!`%-o%x`Erh-_Dd z_@nTi-ciuI?Xe-SOAj?tZlymKoQ?nLp4#kKN)Z-vd4=L(z5j&e@~U0{qev6LR5HVf z4_oVfbtl+cE?qS+NoCYh05X{wyuRa$_)}iSexB#!@y>lT)|!Gi)zQyR^?Pcp$y8#) ze&Valo?s!7)<=&uXjH9E?uuOeP&dFZ2;~=A$PZT!JQ&U^um~l$hgy9OhJs!GBOmRo z#`lJA-i*QoUqNDVI;J$+3iUIdHh?T}|AHhjiibJQq* zam6z@$qb_zA)H z#d4ks>+D*(tqXnB;3lNVIO=Ex+1BR6{RsT-MtkaFROX9|6ROw-xl~U$cMK15aWxi< zUk*BZWmy9=x*k<78s=?s2V-f*Otz4(j&97aN22dmZhu z{$m<{uc3;^Ee7enKYt(eF({)d1f(Y~^MhW zI#IMY`~T(=s@6u#k)ZbW?cCKW%<@%t!)tGWAwLq$Q_8JEb|-S`8;`;tZCN5im}S@I zu5r1QN`a15c0YH=Th}6PP0I4y;aJYju3bqG zxv^U`aK}YJ#0lJ9&>Uf}|3xH$%CcvMjB?^!`EKw$JW;@4&iKt2oPd_KSDy54h6Bep zZZ}H!Yh!|00^(Mgx`SfVB%Kz2+eWqojXID6*ARVM!p94Bd0xGx0nAK09A zQdkrhaV@(0Ar>>byERZMS4#3WmKH+bO8kiX{h=0S64Kote`StI_wCw&rlf);tY$lH zC{IkK&Kw8-ZJZ0%K-5}B1WRMwbpb@)aD0G3lT?vLoiCJB_YU^vk9g?iGH9A?hp0xm zz=IsJKt9oQ^MuogcwdWEgIVX0l&GMceMP!Ebz?I)FYORVsfeg1AToX|C@``1IUC4N z@0nAd_hJJ(4_oDT!ZKJ8Y#o#TeJCk#N|o3;s5)=7g!J<;xGN)Ko_e*H(Bx--%SmvX zPE9L?`?X;G=H8GmjKT_i=D`!acldszNlydrpHEJQzt1IALtv!a6{cF_BZ}u z<;WT1p+zyMLD=hFz8bAjXsgPSLdaaV#avYJ#TulFOtGl4aDfgPkQJgy(Nbx4MO z*p@UyV6dMe!fUVH&kug#cUn#bghMNzIPQlQyr6Zbq6dXmx%T;yxn1!;fV%s4^p3p zYX89N8!|-}dU_{bcbbtB3|rhWCuNL95v7Ye!2P&rUIGHg$^HVPvrH<-#;$@c+<9>2 zqb`+76J~EOrtf5jBZE%pdbgR66490ZlA$(d{YhPr7Uy$l{nIdm5INq05pV+c*qiiY z8>NlEO>Clnm;kqT8ncq=NHmA7R$|{mD%yWwx=oRPA+ripG*b#%&*x&w?kkwjM2;u@ zX3330xr5pZAx|*}Ma5rMCG*X6(jpbl)H&3C<`g3rq}&*?Z9j5v%4IKQRSh%4(+LOc zi>)Yun2T8uC z$iZ^)ZcvG1EKgu571qV>3R+nSBb~P%`_cKYT{D)88rA9}11Vib%Tp0wdlb)Dd^SxW zepnc7B%~FFR3=B3QF9!4V>nQ2O( zzb*+4+dSB=r)>A4_CP(!;m`+(rxL3)oH;ADmzd_s9Zmnz(hIF7k0pCn6rkSH7)?NF09%f9Dy61n&utP8ZZmjtZCDK1rD|-c?Y7N>}@S&$I=9D{hq-5<@P(?MO%6< z8AOo{L6#SxO$6lqHU|CYx({cGf&Yxu?pxN9X5~L0cqA1d2?q3(IzCeCBGP{F@~OU1 z2i_BtO7m-4!g@_ZRzvrL=Mbjf&MiD@!kFE_kvWvAbs5A99=NwlB93-)ziXVNWg6}c zCzk8qSQ@3c+WcwMJ{C9mW1Q_3JT6*POG6kF{coyA1VW^xOp44`tCWKDI|K`66Onf< zp#+54ZwS2Lh!bl}wj$5N<@usBF2QTCc$|Q1vFOm$u|&G)L9JAmqxIOp&l`M8D(JqG zzpx>?hQ=gB@TX^0IdIXvU8?=%0`ab_c8fHMy?s_y*l&1Lc=jJ0sbNbRgD}(;2=AsD# zdNbFGwy&rY4`K)#@Jt_qX%KAD=@uiN;p z-y$a`saleu+Rvvj19W1_f6aPP&pna&Zeb!*rSRs#HfWZ{obzk5(KC*B%Gx@Cn;?-g zsoUcx`PX+(hqTQ{&Q90wXl=cVqpIh9gB`Ez=Lx-|wqa9bgPsM7tV#+~WR9UMZVEL* zgGlMm#A3~LS2hXS%(bcNokBT@M>0Z}K3H_SUI`!$sfGf~A$HhJD$E870gh_9u|xK+ z@-r$-8K{T{;&a6QZ`KJQ-_&Wx ziP!3+&(sZK0es|BVIPx)#Od)V=z0sJpXrugcPWvt?2eMc(o$r}!RSoy!MDcOvx<0~ z%2=}J<*-s+P**`2TcZxF{$&bBrE>9YXg=J2+enC;v)DAuCOElu5K0R-U4jOu&W<{^ zG3thrqqAiBs`NAHG-$H0! zI-4%%0}eX(x9#vPPc7*4ZEMfKF3g4tWjUASaSYaNJK4<})Pox21q*s9r)>1MF759K z>x$kV?TB`9mESJs`be5HIC~O@7PVeBlQJ0oHON0&)2VPmKb+rm&)ukH>Azsw>(2b;-o|!6@Hv6!wss+L2(JHz$%XYV2Q7ryXO+U$|>H%s;YZinY>T;e*JS%`^4AuNFWHr z53#wsI-=`-H;Rma$Z763BsFWDDfIVlCyIJ^wn)9S&DdnO=~^Q7;BTowq_XTN;o?%g zuAW^=nTpB5FY0?_>7(~M`9Q#O_`5^z)z?Z8H$%1qpW?YRjIjTqa^{r)D)adc?6`AO%3F2+cD#IYK5~UB zGHAFi5vKU%pgC<}-2S%J4&lbl7wUf7;}WSLYSd*0jRO@kVp8aaI4Q4K zUvAZvW;UI<`)16)Sy7D5v&-OsHFl==h+gEv)otYC&5Wmt6&+{fbv`ROHb6kNGAozY)@7O4Vi>o6Q0hsax za`gMYrdRLXF=i2uRoX4knyO1dnD^+5_`=Zkv-zes*P5rP^{`Cy2Ne_HbiA-1YS!Yc zi<;4;pFCV42>qS2X?_Rqdf_xxb3XV%4F9b4n_wZ;h%WEquv=czxipY)$nj_IHYPS* z;JZ|4_EBcTnLfHIM0v$73Vces?SPZbnIT+y+7V1s$6Pcut ztC^^6Gt>$(`4+~csRIQD0@2LwfMF!0&OsiR0K&NbbAP=XK%FhgjKIQ7GCy%O9LBRU zkoc<*lQr$+gRW?Use$6tJ(0S}=&IhH=X3x?X^8Uz((X>0yE*QZG>1{kesV@pfFtzv zrOYAhRSr;u+XsHv(8n(uxH;0y^F2(l7|+6U@hdmI_29?@BOy9z+n<1kXuRo%zpJq3 zxp_!PXkegE`;{_>?kIDGvvL`QZRALclm3Y#T_=q)ZwfXs(FDr` z7ClwUS8AXnuPFo=WQdqw9jq&w1ET^jc}bx`AG+9G&fkFI|4wNs2kp--L92b2TDyU z@SLBK;ypV)=|>_znr6?tdNhK>gsVPEy>INc-?CjcCy^ns3ZlkI9VQ(_#pj5o9 zA%=4!_Dxk%3jBU!T*fc%9ijU4J_2tYR#V#;mBkGDQ&x?T(ztPfjydRrvf{Wu^ZP+= z&6fmEjQlZ%wfk5(jOn0Wk3bU*=1f~R#9@g+^s1K{$CG+J=pyA zf57e2SU|9&DKtbv>F6x1KYF*x&Ab42DKrS76naN49r(8VVKBx+`^4=F(NArR7zs-~ z)W_2v@4Ibh*qTijR|JYaD~oXI1$TQg{%je4E17GN<@?((V=D%L0~wiZ5>_*L}P7=BjN=@Qt^XT-jk`HkKBL!43OM7^oTT8hSLimAQ4XQ z_BXzH8{UxBJao-*U>Zp&>sOxZ18@du?EBMXAC1nCt+TFfTFB!zx!>TeiG!D-C_tvY`+00w442Mq~QsZ0Xt2f8;i6MOu_0py0tz2P# zFHR26qy;eD+bonjayy_O5g^0Me_siBf$J8 zIr6l1OwWrZMvn*aVh7uwIQ-pdJ5us)u`xbMd4{MQkB09e$e>;_PmTVIM_>CPB$Uyz zP`EpKE`Nk|LRPv$YUt#hy=WEm9qV|3<$wqAVc6^p@Uhk3(uu(+bb#O%@G}lX+M-+I zDwT44nx-CQ^l~pFeoh0Mp-_J7(JJX1<7+k)Uv43Yg=gbW%(W%)uuSMs~ zlL9{VNT;yvThfr8`5J<7<4-Qs@q_RgEldzL{`Ua{A!XFsv^IJ&T4_Q>(ZWGAU&OFN zCX1Qn{e?*MK3A1Oa#Iz^6H@}sXct0MV*=@>RvZvY4&BSvH;4x)KWkSLEyH6fx}7toS!oDgGvtHg zz47p(J!Lo>Z6AA|faAufx=x^?vOc!Jvl@czxVmC+&gXG7BOQdD44OPR2vE);toL$g zHZ>yrozrXS+Tis5Qez?1gwS9ez}x#Etaim4xOu`!-z!d;u6NEU^%2xDnV_@j=$R{W zILsEx8vl@+_^9}BZ~!5lP@;N&os0ar;s@9bFYwnAUV%p8>n(|UUFX!aVK_tN?$t8! z$41|A+&Q92HwH&(6sukwP*R2!42!(&J$YP_ZdbVW*BC#U_vJ%3J+B?t<$Jh3i_;zO z`BVV$`tE-od}_sgqELZ8_y4DM)DPeefcmPA1OULlfCGsA>Pe8l>N)?1&;bA2GysKQ zl3=6YV&EGPun^o3))32($dEjcdXWB*g^-U>EKo5}yU<+FG0=xFbTDx+x3ILZwy;^S z&v3?Y&G7K>>hKBhX9%na0SIFVmx#28A&8Ag#7OQ)9Z1i}HppWrOekI`ohZ*h7vM4~ zEvg@CHR>iBA{rwa2yF@-3*8*O0{sIc6k`Sx57QNM4D%98533q$7n>0~2)hdh4aX9v z1?L0T5Vs!>15XVv?yD{0!{C3zSHt(gZ^qvvz#`x#up&qy7$yV|iV%7d_7I^EX%Vdw zV-hAyeNDVqAZR4$!hB{=2qBeGVg z{$!ipoqoR;yvTYMxf>ff;(bcbuZe=djyTVo_=;ogfOZ^nN&qGpz z*EwAJI}D@T6JR5OlHApbAhiSaUv6%uaT6gcT%DGq_Cgo}`$GF2LQi-Z0Du*rN|E*oCs8yy;O z3|&X}FjDtpUTd1L>%#9ml#Dh!=~^=%S+(lnmGxDmh#M4IvyQ6Mb`vMvO2LCkSiH7o zCTD8YKmW|KSQBp6Yp>x}<6RQw6}$6U6v}f(nf?(%ZQz5yc6C%sv zmBDAO{Ogdx1(Lh%;71Wy3)1Z=RIOo{B@SeWjQviXWB&4uN|%Wh=;08*YqZkOsepK| zV3H1QyK6))5TdBOp8yp4t^K#1gVbz;R(kzXA7fYWvp&J zon0RXZ6%#eRJ3!BF_>0FeN5_IACtF1sh7SEghXG8gDqSfwkJ?{HsvT65(**on^4Q9?z2 z$FdlKBNQb7R|GmBD^_s%1*%#*L87?qD+jvPRc+e8I(f1c+a&g6ozl~xCi`wFQBiZ? zC4$gB`x0C|xN!GsU0y^BsX`L$pW*&Wd2et-EAk1N$-tjgPfjS3-pg=+k=m%fE6n9M zE>beehtbIG$`xv#;6x;PR#u3Uxo+mfC(l8lNEL&~lO(6YuU{uKBhrBuJ00KHlu0vD zDN_USKkYJ6B5UwWs#cLVm81G^sct53(`0WMoGOd@=G0{p4+v9Jv^O{{Q2M=@(NdI9vd=uhY+=DHz?of)JzY&4XE7@h;(jLMiog*xG7Zb*^;jz79?AG) z?LbtVf$f;l!V&-Z5f*QeeO;eL=Fjjc{-mvlE|?ZX<SUob}|T5{pe>O024 z-&{7=JTBr5kyP**_>x9=gE90!ykKUULzYA@AHwD!loe4dA%TNYiY> z))DKArVW>XkvZqRsvSYzsZvE zfGFgo(Lnzq1+B7=#lICyN$j6=zETKGNqn!H-vgJ{%Q|%>{TW$ukQ2pR`k=6~U$j1) zn!^Z{%o1xl?bMglBtLhb;(n|`U#DKWQJLIp&_HF#ezD;wL-f3Wo_cK9Df$uOhUHp2 zY$q%FU1xm=e|3x13!FGDRFc(B{dlt`x8X8fue9niyk1MfIvn9a1C9&h+bYY#2%BWy zH;>{7PUkc-{)nupBlQvgu)(>>yt`mo?a+vPuV^BcU2NI!``uJ1Q zq7&v+viB&1uQ-?e28t!Bl$krJY&PVaJecX3@7NBR zNeA7mw{J+kAIJiqGdz3S=)Tub0#9-9sSg&J^yPGKuXn9tLBH-<(rv4Mrxv>fRsLY> zWjb3WHj@XF@?JH)-t2b#u zOwx#{_LXHR@`l*WNSrPhaWl488-AFDrlm`BtsV8}9j#!)y}@kh6hgKD4twOV4L@u< zAb)^9;VZ}JL!ux_uwjFMNTvbiK7YcCv&q8@&_vLbI0)A}#FXOTe5{2WpnxBsux`G5 zUi7j=q5!JZfcO995vIn*+vYT;#+JtBJCF_7U@T#iV ztDHfsrxazPAJdZM{>^Wmd})I5TnFzIUt8v(k|2R#VbOCWvF+4au7>_}W{P53Jt8_o z)tjFK=3A!n{ z080H|vv)ct*eT?EQ&*>kBaN%f{>gDAac)VesX6uz7LLZ&R6QG1>ZKfnZrdoyLT|4t zFh^YuRSIe=<9*T(ifa3N1rVPul1997;j$m1ckOp3NP2_E^gb13=7*r8-l-xVE4kh?Q7}=?1J$pU-iQ%RXP|qLOUmF?a zBl-|KJK!YK9Dij-{9%zI=b|BT@FtqtrQ21L{IIFPSyN7~IvNp6({|E1_k7OLXTRh% zNbL>`MYs9CWZiq!zTZrg!WaOUd5jgXTN^pITx&Tac+cAM`01ZKkvtFOs|4BhjlO-7 zE;O<%y)CRLr75N=t1GmC@3P~l2ZqRZzn(hB_plw?(DxwLYx8xxP)YE0x6-NSb*I!Q z@O7^?Dd?k8xm>mxulaP|Zl+8JqYFG(g(z#0D6hFF=f0>QhUjbwW9NhYn#^VuJJa93zFB}g zK5nL%wUwOa)KTo?xhc{4@gBsB{cEoCAtSu!n2G6y#sVHrtN9yc4cP&^L_ dc`{EPH+n(;EE=F?jkox}V1NO@K0g5{{|8v1?6Uv> literal 0 HcmV?d00001 diff --git a/docs/hugo/public/fonts/KaTeX_SansSerif-Bold.woff2 b/docs/hugo/public/fonts/KaTeX_SansSerif-Bold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..cfaa3bda59246b49e94298478d6de3b3208066c8 GIT binary patch literal 12216 zcmV;pFGtXKPew8T0RR91057-z4gdfE0AMHp054wv0RR9100000000000000000000 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 G>;nKVNojrn literal 0 HcmV?d00001 diff --git a/docs/hugo/public/fonts/KaTeX_SansSerif-Italic.woff b/docs/hugo/public/fonts/KaTeX_SansSerif-Italic.woff new file mode 100644 index 0000000000000000000000000000000000000000..7e02df963621a5e26d53d510f0b4992eebde1c60 GIT binary patch literal 14112 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 ZM6wWJ659DkbG}7@mjJD1@jO-Eqc8pH1xbNXy>V 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 DqysK0 literal 0 HcmV?d00001 diff --git a/docs/hugo/public/fonts/KaTeX_SansSerif-Regular.woff2 b/docs/hugo/public/fonts/KaTeX_SansSerif-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..a90eea85f6f7bded69ff5d40114447a6d8b48cfe GIT binary patch literal 10344 zcmV-uD3{lFPew8T0RR9104Qhx4gdfE08C&204NXu0RR9100000000000000000000 z00006U;u&y2wDl83=s$l;$X`j0X7081A}f0fqDQ0AO(pa2ZI3&fifGaK4piDbvuxV z6#5b(Dmas7|Nm{dAu`ZEP~ECnb|eyPwiTFUR5y*Mx2Ne~jX@c8uTXpvCb3wegGR;m z%=c2Wc%sfsG@ovJqNOc3b(O8mWQ$5aQt&6euR0L)w!<=-Mo2Q-4$p7%|J(~)E-8qF zjfJA9fY?*gpf8b%N?0{@F4INkf2*e}_oBAFibc9tdw-pWYuQY8lBF!cG4Br*%mc*Lwiq#xeHSOGr0 zb3DaLRH-%IWLxZU$ni)jzs}Tmb-AwfieA&}dsA=e?Y*n_u7vzZe(VRLZ(9jDAAg~< z{-(~=#k$(dkGQkKjyzQ`)$g9TN+Uh6(FO&9*7@)=wBO=IbUWS1Wr7ZL3;5In&{ouKr^jC~kC6N*wp;O?) z3D7S;P+b2CTv%oIF)ooGAILnNYNE-vh3pz@2_Ax4+7TexkKPf%YFRomh!yLo0K>jA zcX`b>42T$gVRMZytzMGx+X|FM#wHD#E(Iml{*pw z7WQ zIZj`BRFq{Z4eVMa#dW*I~SqUlfrfocRB3HkDq$pXxlk!f8y-9NoqE^A3>wv;wqSRw&jw+~g zG6HO4qBYgc3kdN@iLA9GwoR(d5Z3`k3v4b$-t;j$bRS7t=AB< z*o!nNAci4QlH@U)ksB2TLq{Om8nakk<&LpTD&E!F@)yP8HQ2lW(B_8N*qG|~tuaw{ z`(TY&UAK-73hUYBcTLLCMQ{Lg_@3LpTIQ8*3aqN@D&ny%V357wgydUpRP-2;zl>Rv z$XhnFqF zS^@8V3-rySqivp+krj`4oGzUaPcDl0UV9Q&O{_{d6nu}>yXqLD06QELrbtrCNRBEb zPl*&LCq*hqiK?VbHBzDac>@Uct`z0Nw;-s9uPuf7d50NYW6#HNM_t>V&pWJ&HO_{P zQ;5~!9WIM>gBtLm4hjuWXo5lu6xyKB0fjCo^gy8xni&JNw~~oHGA(H2tTy&!%vu<( zdWKs#!UNNEoC27^k!eXA(y6zfDU9Z1F1Sw@dtf)%I^wihc$)9R1JzKSH_dFYGYh~| zrO#c&+HxVg@)E>QqfJ^GIREfk(7u$7vXJKWyhE0N8Z*^Rf|{7mE~C0yFN?L3k1-Sd zqZL+Bn8c0>GeS~J$-c|8efwAmVb}DyoiIPHq%?nN-Ej>B&UfMs@^2uIS)`mxnw;$A zu>o~nffHD7KqX42C_+GX5^w!U#huHrPkKSkKIIE5>U-H~29XKv?$XFGzrwfiq zC5Ukla;Aa&CnFgYv6pKV9!mmclPuG;VS>%zl+2fagq22YgeJD~@0f6>71j?oL3Z zddf6}XY;+Aw*)QNW}qvM66WudwqFqW&?Ac*td`|AWM6X!qCo^%+Izy#o4E$mT9qu# zO*+TlJ^kGD3*Rf&ZtxA>2iKyqrU&49U61x{#c8Fe#J-h$1> zr?8AqMI{@elSe3qj(ao5{rL+q3t-d-`><=)vSDnfG+I@W9G?e8fe1gz*uBxp7Bwkq zKAdXon2(Imy2BTxZcELRa+WOwAe2b^6&g=ub7NJXyT%?2-b+cic~ z0(Am|A~9tEi$>UN(5Qn;;>rLXjorsS0Z9%52}#%kAd(_t2n9`OG^NpuCUSY8&;r+_ zlmRLlQL{m(4K7J519WKAu1X+FJ-E~dSsK8lAzT{4r7>KZz-LWSXv2EyEM<`Qo;e6& zVer5T#PG5T0A5?IK~UFhF9>2YnHYhv^)RsWFxq|vA~^tn_Z&g+oIoV!$;66+i-(1) zhlQJmg}ahT9$t{A7yJcXIe2?G_;@(@dN}wgOY--E44ru~^NwG0R@;PPb)=r{&_S%R zs(wPPOJ%EH4b(0!4nUy6ha9i+MEs>82bNW7?i3l2P2O1Y~_ zBG-??&bBS5!!&G~)+nYy#xHr3)&tKiIDX&vY_lgRjQWqrWZTivv}l^DVHJ@lYF$f_ z)%3M}Yg*F!enh3~9P=^Hz$i8C6@mb331l>akR}K-8m$`UHpTPdQ#MCIR=I~Ft5{3S zN;(IYuW1%y)?yB&@mzViE)*fhXa<)2eayJTmZoW6a=Mn_SkzrrMGf~eZjeQsJk_d& zAfVVd+K>g!Qr{h-5Cl~u!62dTDHBt9t1Co(7FKrYguMU{bu|OP#~%|G(gL66nL9LN zED-zrech#*cn+*fDEN3)H?a$cIut&aIsd6intT6lha3Kud{e@8eNUbF*%PYz?3C)< zU_Q0>TG-m9vb^ov3q!C#ekSfktG=WM;y#zA$30S}a9a+2Y}ic{+lBRGdx2(}b1=A8 z;rE-Si@aoLWF{uq1XvGivM5aCv%zo8CcKvYjjqtfqcetz4Z&};ddk!GGzvvGyk*3s zqM2SHSj;(cWVGg`(aFR#)kt&>zT~D@uR;OzpKsQ3{S0>GFYd%k|y|gtOUd_7KlCW+eEzfhz zLnt6fZ0fKp2N?N*9a2B6VXduPnkY^tPG`pr?F}>Yy{+c`^NVeZ=4^mTLbz!YB{q6> z*Xyo7CfuW$EfdX+Q^dW`-M&-ZDZsQ1*Hx~*((HgmX*32DEabPFW7m7Z@{e2zu2aOD=UkZ$ej<+M>G&4S_?pEW zE;wH_Smf$n?e#mpGfv%e3{uxInR&(772kEA-I(Op*Uvjr`WQ(Jn4cT~phT8Q)AP8N zvSrOL7xy)WFN2b8^&x@x%j2G^z6t}eNccqk0Q9K^eAg@rVyEw;*gDxD8#fM@h_<%3 zRXrkE<#ltyK2X(bq0vQb**0CsDt9cUH>~*h0IS(c!xTYCCWREWZSmEJO@F7rg%f+@ zi|be1v>mGU_Scvaf8i6(aDcSohPX}>`yKVfw+X^$wU4fsZY?pI2y`p%`v)9rsbOeK z%u+R3(lr>V_W3JVfu2QqoFkj4_b)i)oq7Wjy?0U6y(bhdVA?}$UsfzijRI!*tfMas z!%`InG$+THB`_a@nn0gLP!}6F()mo9XZ!;rSG2TiP(WEH*LM@!7;C@vjIJNA!gX2Z z5qsCv#akhj`I-;*2Kr4Dayw6S_F7wB1T-<7VjP7&3KF79P%=Ud&4EHn^HA{TvMoSA z(6L*X9|LND1qFa6qzWS)!X%Vnq^D@u6qd;)<{hD$k2Th^Dz>OVjhhaM0#Z2 zk%xcPKyNNrThv`tWGfFbQ>+E_AD}kl*VoUsC#Yel{tke$yVy)BDcR21#BzlqQ{D63 zoQq0cum=2hp|*w^E0t;{A~@I5sW0n)Flnn@abKtAr6pDq1bYLpmZTlVxYrsIs-*m$ z9U5b`#E@pCVvbPW2#uJUM6kDGkZip7i)_PE=p%zgQmB;qPD`k$P1HMv9g=C8MecQT z3^6Jv`^{BgbmK$f>DHHh{!Uqpdt%E347CJVBeEGE=^>I+INp;PV|{I6?XNJcIz$ny2vAhJ~?n@BIQPY zbFzvD{0$>LP)Dw+0?kKgpS;;Bn0IV)X=VolMV@XQzFD{N)~n9Z3^tBpp~(}Si3D?; z$RMgPhG0Yf;2)qU!iw~QEssZFR(Hp)QHZ~Z&vbxjlmQ=3{$w~?8w(ix-{ zsiNMggF!-dh-T_1${jEj4)d9BMKMB1ey99_c+UswwrjTJc2=20(T250Bu(@+B^xLT zHM$;6sj72_#r*aEK)h|?Vv8>vQG~_R;&9n!zNu0CyJbky#U||Hg+59ZKt^C9no&@=bZVQz7R0)yC1!C6vcY4pAd{tGEaLdw<=v+QEe2EUAtV-ziQe7k||V{b@1^rTpI;~ z&t&xVXw%vOsz&Lfw=}<)(M^VFpsvrinRw9An)S(tvvy#Zo!O&N*{Ly9ZN!p5SBOj% zp#aTaV*Zv1nCXtGu|!DDC<^WsdBGqttJTkS*rfu^9G2MDo3lP%hGHPV%v-gtjTZy; z3DnG)?tYKGO$@{z?c5vcyF!=Px=k}+3Ee~i%$bR68#07@^BBd5Hi_bPkr$16(@IHM z7w|TwT`my!K2+vSyb6w{Q6o%~82rRUW=-6QYjhL$?x$7MJMSvW25NNOoBEqrEF(Bg zh8wZgIdWQ!-n4>?oNi#+>z8F+=(;|`Q(yp1F&KX7Sg%bOvjqs>whjPSc824XCW9#Y-@7pG2ol98}`e$3*(Mx zi)2}Ulm=#9{&B0bB+!97|0;63w9AP6%7ny#kgr3!TNYvY0J9#8ev1^}TqF}PFPl8w)~>s>4ldrR{qk%r@e~h0-$@hcMBr_reB15)_(}0L>D{{k4m)~LE1K`4ogY6Q zvgRfgP>ClHyjcXGn%cW(?iD>FtRt2jPa(iy^R#<(t?uJ|c_JAJiN(%KBPjQ~& zmjP>7m9?Fxg*`px9{>Bly*=RfLpv8vW}Bs_OL86xE*DrUEMI6v~bM z4OXcUbQp!%(D7H{vkJ|9w#vempPw<)G^Mz&C3T~CKg+{TAz5isHm%r@uf`{SQf5!+$FcDM(nmlL%!adf zb+qsML0owlwmP#?KZ{9^o0Tj=3$IM)<&VeH4q^6e4-}lixFSgu9G@N`SH+P%RxF8V z<-I%i0K>ZVJ7<5Jtup}RYURP)xpO@Dt5qPSjjT0HWOFex*@2pb*C>^NwE#9Yl{ z?33w>+kVu`_A#>WHzhh9$LeD;k}8n=yHV#eR)LipNVJah^jo}JKeyf<)t;V#c7>wgCXkX3(aXY__R3sZ4=?ZSB_!sRd65kz6k%rOhs)}g-OM8e8?u5W_Ysh#xnN#M)VOFq*gHD^YZ zTZ^*43zILIW)MvnL!+C-KKbOZSgNv8Gk1Ayr6zmdda%K{*sM_xD|c)qBY6v-`^AMh z#T7-l67}AZY=Hn8fx5Z01H!b|=~C^l2h24v6L(IlA;Lf7aq@ryXXO;Bh>vDSE5u|y zLU&H?cXyi2^Fj!HA=I|B%22hrW;1LU`&0kVoGrb00_s@sIB#-95@biO=N8C~kYb98 z>!I_irFfIl_c3`PQF*@Uy-6;}XQz%bE(j-gdk>@3wLQ@)!yAr5eN({UOAGUOk z%vRtX$*Jn5Q4a5&#?nO&_Q8x<;Bxoaj2G5B~<_>q01EI;7#WAJP4 z+L?!6m-i4Atk^zwqr>B}^`~X>vdOU$Zz`v?Hwc2C7 zsgrI|DHlpW>C+QoPbY#hrh%5WIwR1HXsuwEp7H0$5mIIR zkAh+bPn=Ql*69VISL&SZNTQI*Bxe=vuZWT{>Ktg1vDnycrwdGF{29^$4g1y};dK}xc8~mMWNR=UT)M91W z{4s{#2s>&rLYa3P;s#Dl>MgAiR~pll{4%eKhv36}K&sZ31j6cEq`viC!Rn=z+)Ida zs42A~wQ0_(E7XX~ysbk>+|=B9ZZtyB_>6k3kHQm$a zK2&NTsQ+H*kB;WeJqI_LZS!sxeRniAgLMxrNcGTMBYc3?vu5palxbM8sE2j{HqIOJ zNq~st4NQIJ@IxQCX*qjTFMysAS5q{)vS_A=3NLcxAd%xZ1Ancn7@+9Vh5>V zb4z#4ZX2_k!|uiy{@tj1Xwf3@xr5r#rw=cuDch@c=u)pMd`DZI1(+ku7Ess9WO)dj z>?tuQHxY=-3QY6H@iWv%NrJ8_R}~AIrpnh&dWQl_{r~D2JlH)AYI*ZEyJJLFVxH33 zwA(?!XcBwgYMHsOGq@28Tgv7rU@?TchvqK=Q=57`qwL~hYmI_Cxc#WqF7<5^%K+qB z>s+%U_i*dyR$#qvtpc-bET)PrV25kb!_3-!HQ`^yQkl=HsA+QRrQ@Ret*I*SDE>OO zqSt7483ct8qYflW&1KQKGF9d-b~qjXDe~gS54EW3OFUC1hhk>9C}wd8Nvg%_u*s8v zzsWxdAkNR9Ha!EM=;oXas$y&9F)9Rf?){ zTh5nQUqR!I?ar~#hJDYvp~UVjIoeVe1kD|qJ2X~R+|*OaODFGX-4A1V=7Zh34Z zMMZ)N<>B*o){4C zUPVGhBIeZ_=Ai4=cvE*>a&Wo_Bo#Rf+*xf!LLZ(L8G~2skJZ0S2r(ECGZmke7|lpb zuH9>hjiB5tE;xejTw#(_MHUVg^cxF~+>~nE#Z3Cz5ovctE z*tNsA5p2X?(kJEI_aZZ=`G&lRO5XH#*2#yx!>H^2Q?qAfxEBQ@kmbx@nQ0GW&@g2L zl#p~WSqhQ`H8NFNNoNEY*?;~b=L?1>&905^R#5}hG-XS?XY_!ZM2*KRG}`$J zm912w>c>JSj-+v)y5iBD%PXWo_H?;?w%KW)rlMo4%6Wazf4<4y2w3u@kg2#Ww~Z<- ztIEr<%|ZEBeAP2FC?ytKw|sS>cb@Og%F9MLnjqIqE7|b(oYcq(stiN6veF|fRJzc8 zGnGmk(Ms;IsaNnof4}z&hZZ^gowYI!YHZLatEK0vsIfn;AiZpDOX}lloE0WRWdavR zH?P#BRmlHILt{6cds$RSC_WogsMdU=K#@X!cscxTMKP5=)J#<84vaNwu_^W`v$eCw zfH6@Mnv}F{NG0Wv?+`d>zmsU*qbE*S>l^l_2GybtKF?Z1M2>7b4&bb8n8~Vz7J({K zoF4YV+fN|0Q&mD6ljtCk@EZO5tB$yeM@^A9K<%Md6n+`$jtwS{Q(fif2p!S*N)jSS zo+n&9l%74Jx{93q`{VQV#kykM)|Z7k2}qg0=eeW4@{iA<_4NwZui|k7XZWSA(8-&~ z8Ble#`U-%u#hQ-P7=*}>rPc1 zh6uZL4U+an^|J~;9S>^ow~CJAlC1a^2Gop2uaipPa z21f#)0H}4$y6q{cNA`26G|q-EQqq>M=g_FzslriWVOksdQFD?-Ab@p6p6l@|fyjK-J*x5x*^RHN@JN^-H#rjIVETTy@H_uh#gC!Op6N;!F z(O?3_`0*6Pew67e_0K7Xt`NY}9I1{#elpn`1SA7NCbKon%E-4A8d3!W14)25<89TE z5lvRZDn#VNgy_O|Y}K9YEJ&bU&GBCB4RsyefUR2#LddsOn>=mbUp+T_0CX1u-DPYu zF7nn_J9mwMo49Km9B964^^u>ZP`a4f5iGS~EhWGfv*_JQ+pm}=-$gwf8+W*ux$zKv z0;#q95ifhspV|dA-CgV5jPA&c+VWW2;$Vx|Sm@1B1R4Y61yx<1#!gR{2hPU|@tpGc zAE8(jo)_g8u5DIwGet0x<#La5zln7XyFj74+)Z{Kh7I*i%d2YCWgZ$bD#4v$%rLF_mB66DpRp~@w{)B$$^B$^R>S@i8CYk)V{da4 z%Lw$06Z^9oc0WmS;}rC_P7C`p_%p(76UpYGp z3j~l~{New#hQ!-uUif)kZvt?3{?M}^@aq1TMkV86X~rOvMu5n$U~K`~*<%H{S((vz zoHRp0HI^64GLpCq1Q4nd_+6&*xTj(2HxI_s=q(R)*%Lv=GHBUdkNLM05NDaHg5|P| zthT8GoEbIJ^j5yraTNjuTKr$mdd-L_G}WwSnhzn6p8BvavNYyvH3Q*0+|ZzZC1C~s zvtgx#(4uLse;i=3a@|9{_^PLxw!boe2Q^2Ho>Ac2U5*K*K*2IIvWQfaLa8C^0|vNJZ13RGwel`n*PheE~c zg!XeLDMTOUTLLfne{R|-g%p#&@i8`$k?mqy4iJKdLkOTS}(zoh908lUhW;qjdUZuZ7F5p%1t2M!E zkuJMKC**ZmXirC;;CI_x#MnGZi1%&cc1Gf6~4~UsJ zAq^QKeT~He#qAg6*LnpBV)o^&DWJH1y+51ZI~L5!GJFb%^VlPHzS}ejFKJL6DyWH6u8A%3K~me+Y^I^cj}OkYL3`Dq3xS zUS8_~btoUc?*9yjrRykKn!-}`@UYVunQ|r348rO5AJA(*Ity@)<|qcL4O_;%QD<2) zY(Nx>Rn*|71Z8jrYzb{R>et^$tMxj^l^`9nXa%tn>A3iT=a=*56Cu(I!y|;VKTmvw z@A^>_wIECg1Au2?KmH7rfHHt&G#qG%1h6f59s`N9Z48X=voSa(KaRo6O3WAnRdn+r zv@x{mfEGMeI$6J_)~U-lqcv;Pq!(YBAR)Ju5)&(wnQ)2C=hLXy1LGYTw?$^5o(E?x zDpc)i^RkeI4v~;S0oV6czd%sN{6ds#H;(=Q`!u&&HYV?3wSFCIVBPGE`n2&Ev2vX~ zwU_YGl3FiE%~E=EitxoOATybhK-Eb_T%^vJL{{R(8}E(0q0jp`)~PAhcOapT0q}yf zC36Vfu%tu@ib#yo|CYzYI8{S3uv2{kBjP;mQb>sS(zw8b`c}q zWqI}|(Icoo%XzQmS%6|fNZ<9dnUyoZqp;UA{4gV_NfZAmLFm5|eCL89A)}z8p$o&n z6pkeV8wVFpq$ts1#EQe0C`qyu0;$pnrOP0aDN8mn38@@1x$@*IP^d_;QA(6jP*Tw- zQ?5cKEgd}rBNH=>g_Vt+gOiJ!hgX$qKK{U9kr}SL5FEJZX7CUJLckSQU31Be5Fr#I zL1c&mQ6U;chr%F6n2tDV$T1%q9PR697K@b`87R%k@18Yi?|oa&+}Hw{>>lu%_n3_F(PJ`6#Nt`0$e zVdM667!VJSrU5Md*nBWr3&X?YWO#~TS1HorDI&lFFbZ`;84eT_6+glOnwMmpd*ME$ znCnhRh^EDlqhO1f>8t3&+ewp?=v2^<=Io&TCcf@{Fjiv@!SwVG`7mp=@P$dv*MtxP GG{*pT{>~Tx literal 0 HcmV?d00001 diff --git a/docs/hugo/public/fonts/KaTeX_Script-Regular.woff b/docs/hugo/public/fonts/KaTeX_Script-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..0e7da821eee0dd05a0a6f0b16c2c1345dc573a84 GIT binary patch literal 10588 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 literal 0 HcmV?d00001 diff --git a/docs/hugo/public/fonts/KaTeX_Size1-Regular.woff b/docs/hugo/public/fonts/KaTeX_Size1-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..7f292d91184f257054ef77cc1cd3443db757c9cc GIT binary patch literal 6496 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 literal 0 HcmV?d00001 diff --git a/docs/hugo/public/fonts/KaTeX_Size1-Regular.woff2 b/docs/hugo/public/fonts/KaTeX_Size1-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..c5a8462fbfe2c39a7c1857b9e296e62500a8a8a5 GIT binary patch literal 5468 zcmV-i6{G5RPew8T0RR9102N#S4gdfE059|a02KrP0RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/docs/hugo/public/fonts/KaTeX_Size2-Regular.woff2 b/docs/hugo/public/fonts/KaTeX_Size2-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..e1bccfe2403a4ed770c1697ae7c15b9e1cd9bc4e GIT binary patch literal 5208 zcmV-e6sPNVPew8T0RR9102EjN4gdfE04)>%02BcL0RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/docs/hugo/public/fonts/KaTeX_Size4-Regular.woff b/docs/hugo/public/fonts/KaTeX_Size4-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..e1ec5457664f438ce5a1cc6dd8409bf60ca7804b GIT binary patch literal 5980 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 literal 0 HcmV?d00001 diff --git a/docs/hugo/public/fonts/KaTeX_Typewriter-Regular.woff b/docs/hugo/public/fonts/KaTeX_Typewriter-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..2432419f28936aff53ddfa2a732d027e6a6648fd GIT binary patch literal 16028 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 G0ssIWHN-z~T~JWaM^I3(Gz^Wl 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

09E7K+> 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%0Adx?p%dKuR>Vai7z_%yDOkd0 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 literal 0 HcmV?d00001 diff --git a/docs/hugo/public/fonts/LiberationMono.woff2 b/docs/hugo/public/fonts/LiberationMono.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..3f4bb063748877e99d5c2c91c878a834ac9dab2f GIT binary patch literal 123712 zcmV)7K*zs#Pew8T0RR910pmab5&!@I1jrNs0pivG0RR9100000000000000000000 z0000#Mn+Uk92$WJ8|FS7h9U-F0E{jOg)Rw?G!YOAkBv-?t6>YuWB>s+0we>adRvDuv;jVS(<7|5R++ z3O+)v`;Am|oQ`eoYA<|rXq^53|NsC0|NsByWFfXSyRoyIq)jXG779Ly9-=3p;=O_< z-HnVy$~6e0F)MBEA`I^vDuC&LevGch*Y@?E&qJGBl@=#JV6#93LJbR1!bXx_Re^;t7zglO>H zP0)j++)K)P7rPXRUNTa~D|nh?Vlb@Ds8N1QVY(~6CwzJQ6t3))$r2^#>v0=0)4s5& z$V1pz5|0dI1+u#G8TGx^!z;4**z$et_(UX=pa}|^nIJX>BgK;Xih9miGGksm^m0~7 zB}RA6%#>BU=E4qygR&7*oUWfvBI@sggNgZhlaMBea4lK>*7m_0r4y7CldW(^xh*&* zWV}Ra2m0vO%`*;2!tgE(!x$8H>LYr5!$s$K9F3Ab%wTeb?_kp};m6r!ev(PJLi+hj zMtD+8t|f!>?=040inS>Q*9Zn2HM_b+5|UAQ? zQc8)X6g0tqsggQ%>i^WXZChC*Rd}wC7n+$>ZsoyCubk=eRWtMI{;%#?^~xQ^U%52J zrc+lVaYx+!+qrt6#`?9>qC9Bxsy_x47`Ltn3^`2Gl2ejPwj{T0Kg%nh{QC7cwYR%p z_LoBnV429H!*s5?o=eC{k>P-B{jW_`Qb0QRIsF5FlWZ$&kbz`U(raHQwXjPeopk9=99uwrv_BkH|(_zrADF$-7b z=bzOmRxY}AQRS*}(Vs;X22{DMx+IM>8n<@VxHrbLB{V~Tp!4)G`ClIR=ED9Y-N_V) zk^%__q<~4t+A4aUzygx5qI2wyci=x-`_FT$x~6*;-!iL^0$>*lWPufd&8mcr0aD14 z>HiJjpRS8jb7_Gp3?=`y?{!+wh1gVjS7kPozw`5Fy*S~-4|zZXnzhjAG?F=7mjADJ zT6IgAy*sru9zgH_a)ThXwgW>BduJW{ef=yjBzzEpmRhzB9IiWho%L0>0;ozYS>qRC z{=UnLB=zd!rLAV>%&LJ~sc zBm@d=@LQ_6N=G|l9c$;=nE4a4_HkMB<@QXx|JU#H%ij?@h)=}fdpS`lrSzb>)Fh1z zcvD81GEMlZyA52=gypq7^T>lquWIx2C*$F8MLFc#EAIhT(w_0)eE} zrf?yBhuFGx<)ZEU|C^b;x9YumRsI=U#`o7t6B(C<{d_43%OVLAHi+E|Xsq zWD1hCoCQap|NA-f9Y^w+@wtyR&wep^v;-kB)4J5Qx@2EP?i?*?qFH=sf4nJ9r7ne) zyxgS&AIvZE{QJA&ygRa1wXBJnmV`wPwvTBFT}xaKEn z57flKoT&5@E=br8q(6oL3hIn|O#uf4ZOr!^t4yH3?`M9VbI-X1k0m{ItI6#Tw$+A7 zGT0hIE8z~wA+)O;V0Ume`Rx$eQ+tmSR@q^yJ&^x)W|iH*Pn-Jp-n)Z9HiX$d$Tj_g zren;<8!@7Sy#Qa-Pu&^j4ol~y9c$I{dF`3* z3A=lH_kPMMuBzw6znG~Fg@ouU?hsi5RAwmZK@v-;w^Qg3t)rtDp^MKxLEBbO+ zmUIG--uZW~`py?Y7zBhJ-q}Ff*)9z|DU*7u{YcV^QrD)xB%F(B=NR>+apM zp+Z7F;cQ>%$q6$d{nfq)|5H`Lv`S^t1t}l*M<%D$rBVc4;7;WZa3$qNW%88tvBKGg z2fJ@svuu4dy!1n7b)Bp>Rbq`n!p}P>g@*pGA4l(-%U-|L`ikt``ycTFSOKJ@^x`zF zQziKh@W4y}3=DvoY>iPC=%1D9gg23FeCKS#p#1>`{-eUC2B&zlLrrH!Ub!d>E^01hG{Xy(7B+I7C&L~>CI%4rwaJ*~6b zcXyY7-~DSwwgxPFW@N=9DM}vEvLbX>f`^;G8bd5?R#5})?%^|JqeuWGe@pA;-mR+TBKs>Lc-pu5}EaI1nU zoV`S=`Z#rRPY8K8=K$}%_b>21K1hC$G6|3}2}(T@DBBb$*%U~*{(T>GfuP(&(XKg? zJ)vT-JSj}Rpvj{mi^q}%HK zr@fT%0eFCoHM_cyu@SMSHF~9;8p$yi4++Kn{kuo4)@U|3M8cezO%pmJb7VjaxbB=} zXP*C>_V3fPT+`)gCx8v80Sg(zrzw>zS$kaLx&q|q!0p^G1pvqgi2eUd)#?gJR$JYD z@ua*lA5QMs7*2cM%L(;=6^i(U0!V;V07!`jB?roO+p?S_cMky4^9mGuA0`8Q4nB$9 z0b~-OEP<3{@0NMpfCpuGC>ExVVA5vGk>Fmx`>;Kc4wev0gWW1KWl!Js1 zsJfS;+h-k9c`r@nnLp#%vGlzpg}e^%0f6P8eCQm|>#->SOKh5}x+ADvT5uR7uy7#I zOy_AJ4`M%W@I3L2X*Mull*{7t2n5tDcMs zASBU6IqDUz?1G=~X8(MgxWDdaVR4bmATo#q2_h0C1mD{&+C5~>|DKYltiuP1mzZ4ZZ$l}~f}%*2zT0PV*=DoQmZ}^oL9Ak@z}e%oN#X&J z6*n$4>AKPB+2yBM=TGFDNFrPW=17J@G^S1gsm>xoO8sUTkP^#~Qj79Kx>VMr>t$WK zQ8px!(2Y!U+n#vc&>kh8YEz)}r;#i(9mZ4frqk%mcNyJ~GTp%e2nqnpq!fw|g&C+G zH#gNF1^?w0O-O|%rQ3q^Gsh^=qLWCSFC#7L|Fx9ycA$WU2_M1`jtE2|K_F*A6`7lJ zqNK`kTbX-WP2ia$1{;tJqyTMYD+q+oLA+W}CwT@fYFw%^pX0LxGg8UCa6#coS(8um zUPbX=(>6iQ!|1$rR{x@lg&eGH9JL$8bt(bl@;5piYsn62t*OyMc{khYx zBMZy7U_|;jz@KY^aF!Jfc;}_%}2nCOl_zy50c*DrhNISwpGwo`}&`O8fBs)7c z7|B@o87YVl2_6u`5e$Tkj+;Stdyxf_8Ad(ngvg{z;I{OnGH^aRF&u~p3(9Oca^vF+ zsxUDUq{{SfN)z+gWpvzHWnAxJ@irH7^mXGIE~#pMqiOJ?$=YNOrj4-!vh3*}m~qdQ7v3*}m~liK9_ zRqNDq=_S>$J^x5vwZpuf&o4@gx*M1MI^>SD1!4)ecwn+5a?##PB8{|=72cM?K$A5Y zX&eYU$F9&+wp(+qutx@anr@A^8m-$|S4ZdwZ4t9@$YZCpVasrZI~iL zaZH`{RGg{Dgl^m2z9A7X&4*qI4NW+g6ArbC8|zb%X! z7iA2!mxh{atFxYLKXVK;+*p&%{NsEOmMW|D{J+_UFoWjaL19!h!vBi@{dk-VFiFD% zyiZQzAY$YLf1FKB5;4j(Z7Yf+w6IB!#Lcs)=`1$ATiOxb;MglZt_Fo zf@aWOvb@fEe^g{qhA{v%ut@|rtm7VWaaE1*pX#hSuGvwXq*-1K<1{bpwjY<=w3Us~ zWpo|gP#xX`Zj(AT+G@9hjyvnJo9?smsiz>kRv$Cn2LJvF?LP&-yN726vF?X@dpU|N z*PrznKa0qg9@+B?l(=z0LDV<84>S+8BhSp2Aq7T8k}txZera+xFL|aZ3eXN3THHU4 zoXvph>#oXbD7h)|bW(h(k7wR<&JdL{H`zs1Z*aKk{$57O2AVCpaoqdL7%HjjZ$fmx zAjjC`$x2iYnT6x(`a(A$rgmtPDjPh{e&)}}#v$j8Q?#uAyhFBF4*!{zKR)DVwB>#e z$1MwFiXYAf;uF)t(|Z>`pN}Z8?xq<82vyj<+#kUlWbTQH#aCHyovFa%>m#uPRn3uK zEvmmvm2XG^h+HaeJ!L^+)+B|~zEq0V{SzyD+^tl_>hyr_w#v*RVKjE&)K<~jYea;1 zTB6?uNA9HqhR+(Ka#KjrK@EkeS6xl5#yv>gT>_)2xdudMxJ8$71pyi#hk`^1Nw6 zx-7k`XEP!J6}Rr0p!4Z@LR7nIV)a;)eC}@YyEEJ50CZ1x=Ja%T=DYc`n?2ne=;l~A z$CIK5vxEI;g0ou~&sI#Bmf-C$lp{%abDJwL3#-}1jMZ9U!J$kCaE>w&0X|!rZ0Nl$ z+g4?7qY(xa&jYyI`;7^1IB>wa>k%{__9<0g4dk+U9*7V*;B;~%!d5g_V2K5ouXxOk zcKy>r9$4B}Z?@5{JH|>A=GJg2{@5o@)niJl5_4HLZnXIQUPbL%{o?H@B8JSTe-EH9 zfc~cs1~3x9cnQ|2%WMlRw^o|%_B!mO^RBw>q37QE%&Jevp8z6Lj=oA2H(%I``@8-{ z5C5q(K6>9q+0EKu9<@*Qj~AP2k?b#JN~;^I{XbEj65!iH9cI70=cuZO-S0!pVo{ZE zwCdMISj0K)VYSm;s?j;&uS?iD=#NVz(OHytFHYkI+wI@C%r)k#;G6$BxFQk8Xs{Z* z0(Bb0dM50`+9L=^STutEhBLQN!{dr4`1Rj+=n>aL2%}NqSGtwX?0dz-nfYL4H~(ULz859UFsE)8k2+&$qsWn11Zdw;b=-0I4Ud2uAx1 zq5;v{^mkkO`ybJuXh<|H8i^eZR~D9&E&`DpnT{c)mW%ND8ev&(9mGRZj+Z z)|u%d1ReV9KLDzH)B+&ud;kPUYQ_{sU*IFGW&P z3Q&%eGZjPSPz9>4DxL~q76#14JZz7}SdJaA3--c+xD=1Vq2hyQ*IGs)B(S>vgUExyZ(%>dqkJeAKnQgHJ+JbFiw#;_l5ipz*4zl`O z`1&uN;ORciXZUJw4b_+yt%3Dt!%`gO3S|>ufj0m_42Um#a9Lm!*ayyn+rSFGf}fBJ z`$EwVI5pHkKVYsu3pUjfzGe_gLTRE|fL~uiDeGoa`R@o6#lLA5Zo-?uMQ~T-FD;>|--MyI)OOY3{lAA(EvB!hkXobwd6Y1A$}yuyNhXWR zujNusrBa&3_Oh4UcgL}tuG_a|#X0?_LBIOZTMunCQC|%mHK|ptSh_w|xWeQhU!E$m zo{eYietVS;+EJ~POT~hxo;AThr-TCpSC6P)OZ1F@SX@j0==wrjh5{K1bWou|4+D%a z!3+zmgXqpV?}Cdix$Fvy&EW!bJRI@`LXi}bmXVc{ClnNwNb?pfT5^IJa~4P}S+Qor zmK}R1kvVX5iW6rpT)A=Q!IKwnK73L5@pl@)Xj!hf>V^VkDlstKbJu-r4^*jEqZUV< zhw3%pYSiShR!=3TcK9aQ=1X@ zC6!*Vw4gaFEbURtcAypDflJjCXQavSU$9qvy;9%S(K=QK>k!SUk^h5f{n#+FKkCo+ zuIc~WPV5SnKiV0C!ww%bK(3aRz5{fcgW|QJ_AY5vZ zAhiK_FY?uUa3x{oFR9V6)<_xja;9SmnZRSR7((H%TrYxoSlsm}t|;eU9JV9Ja#3TLAx*VT6(sx+ zz9>~r?%ZX4vLseT`XT)q!xtWcbN}J8D{|fb*fx?kr%1ZB=$3y{3HXbnVLNRCxb>{_ zN^3Rt`UB+m;3RVH`c9y62dho(B@~A!k;rR{CC^D{k?bUL?$;<-5P~rF&agBim@eZy zivMrT1zSZyZDn`pL!P1iN(Yqw-=6$zOhNbW&S69`j93-B;uIJ8MOrBW-{IVY?J#zu zr*PT0DlN)Wq1vmL_{GyFj~|_i`@7ql(^?7qDd{3XH5p4~$y4vHz54DJ{C%f?4r& zCY5qc>nT(Z&UULIFYa{+Ne{z+(B0KUw@mJA@m95J!Mnb>_I#}0xX!6b z(8`(R-u>HWUcHUsoM{Y`m}!>sa5Cx^Nd$j9X7c|67Wjg{RjUgLK#eZ)faQVHts3xU z&UxuKP8{W4S-Q?V`>OOGv+t>_+}N#40+<%)o5~f7L4BVMt*oP;U9tK3l0n_#N)TsK zOLg^-o6bjB^-0yhmuMl&Mj)6+pmtfMsvu|ImEw|93)t=U4ADKv1CXu6ffbOoZ!O#K zqPDGM0V*&llydx`Zl1jX`rC=G1Z2&FJ$r2FgTNkb4Yt- z*dcj%iDzAA$&0ovxWThFYikEo$}Q;S4q2%n9k9!>-F9dNN8I`gy`h{;D(F~KuvuKT zeOX|0%-5iNaqRg&?D*RlBPWw2>qAjA>czVl`9=R#)(UBDvBykCT}z}ZSrS?LzX}5 zuy|VmBiUrUfGlsbnvIW6nEebcPUS`7AkdCZ~5ZF-I z4I7|clN!6_mp9~1d52Z8SirBu0lK_`Ai@TRl~{!?#ExC+&_%l^Eaktz&XBHHCo3*z zE!!Lb*dso>i%D&tKhw>c%_T*rX^SN`A6)GVPH8z1by$25M8Lr#0!&RJAPZDFk-^(3 zDh8*&#f&a98WTW*5SeI{i`z)&7c@$~=M}3shW_xUnras$(X*2g?pgnL4==DqXW5jy z{zy^4?Aqj4TByvxNJTSfLeE@x5PD}JOb zQAvh4KZp(F*c$SY@5td^6cqGsMP7jC-xzS-My?Q)#LJlJNs+Z>yaVY=NnKEcwRWH^9xf&!7tU&T2g{kfM4P4 zi-Trl4N!;nV+`qYfjv}sIw!>>+QvJwQcL5yU=8BOyxq=3>kMOexKue*dCY^xSwXIQ zAXh&7dD*Z?i18P;>AWOz|64p;t>9W2Tn=5WM~V9?ge_e~$id+Tr4Ty&GHHOi_04T| z)$7)wdPA7uiRF&|?S+HbYAtjIdhisWkg7pGB)JBwLSl%|e#BBycshlm)D!eE0Sy)7 zeVpBlq8GZ1M2GtpmFUl&Xo~&}YdQL00nmEmZOk2((&bd#;!NE2J4{v@f}K#Ww`{$gFaU{f!+1})T)uJPMmt2({qC6iH zj_Hur>t&nwDXq)=JZ+cP=!ht*TJ2nqP>zu)lBUQAwXVl|!0)7;KbdNs>n-EcGtT#- z!v%P_htE0Tff*OoleNKYR@q7DH~-qzlDrhnM5`g1CTi}8Bx~AiU(S9)#R2VrE%qp; z@JaqOrs*Emr2f6Gw?rL|Rl39D{&PC^&6O058OLQjgb+l+pQq!rx^Z0Xw_A!WRkufN ztyL(E>5(0QR~!zLZoc)Z8#$-D{NVS?ZoC)SKlkK^VG5=uRSlt5V^oQlrz9o7Q70lG z&CJ2S)dyHan8gsOnywDOWOJAMae-wKD7WT8_kJiPE0ml zVh`dVx`wHb?Wj!Tx7)$4jKe=w3a!X z?qL`TL=yA=z#eFJgZK8fo6TTXe2s%0sn`Lv}oHqaaY=zFduFEC)s4=xX zv~M?D+)!H{v+7WYNsy3quo3I9_97u1j*r`4{#NTeElU|=4B>Qmb$8sKK3ZpQRlc70(D_WNWC!&#l8!%j)@}XnTTW)>FG_eRxCWON_{B7 zVID*lXBOv!v)+0u%R=-zKi*m9EF39_3?gcQ9jFH{J^(YE2_mUpa6!crWjK<9OFc$<~!-$CA5-+1|`2KJfG9^now`ar@in=@4+lFZRY1d$Cs>ary}@ z{^@@6hd1QjGqXrC#!OVG5P_Abr>pa>5jA$~CO1c&#Y{#=ofCyD^cbONQt%NwhyJ;e zwLwG@Hip8uKQh0jkGCx*-ssupV6R(ZV-BtHS=w-gw)*f#y$~+H{~QEQX&Xs2!V`%pS3o!;%Y;`XzQFsXnaolY$17yO>E@+ zn~Utwp(1LHepA7cP@XRXt4~aykL&De>FbdC1u->4h#Dhd>f9-2ck`C(=UVr%n{7@- zRL+nw7IQpjlo%{B1iKmguT3wLCB_%8*+y2=2|6;_rjQM3D)lu;i>jiK9{Pp5xWJ@f z-6=HsK0}|eH`r4p^eUj?|^mr2#toK4sd>k7rb z2n#NUAdrrC%ch_hczW#6T3DYp0>dymS5+n}zfN%}bgc|z+mDfBC70k0cuBINv>>fq z)|3DUs+3=mb)Yx}kBR=plIOoEv8Y*X#ES#`v{GsK#9E#|mb9>qbsBz*TqK=?*ggU` zGxrQA*cZhja0vK!lAgAlu0?Jop)^!p06DK|Jvz(O#yydN_l-ml6jF;%imVt=_(L3R z%k8{7psgKS+Y7_~I~t>P6ay_t=1&F+UX5IqFM9j^cQnOwW#Jt1buTcL<3&g!k2cXo z@B4mB|IZ!bg(g}Cn_GGDH@=Z9A>vdLbS6_%qhW9LBYxUS%w!-aKfg!59VQkak9K66 ztfxnEtF?IXJ0A##qF{g7&QD`w2B)$_ukcT;o$|u+LPqL{~KFXd)A( zh3KXX>f9SfnX*|A)SLZA0Y6GCvQ!`giUWy57kyz~#1h$NDZ+iIjV+;nPXh&wlYKvm zANlJ4kZ?M_xjhnziJ9w6Kc#1=qCb_?hVp4M7cx%S{LFF}>KVY9d+xA7?hqgOi5{L$DrQ9AIv)cMz{a7G+^<3HDhokkR^$ z)@)xvw=(spc&W_)_d|v*F{EdHS}5mUX<(`@kxkHbr6o7iqv&l5>T35}(~K;7do$HG zUTVr(2~{AEiJzhdwf}t7FDcfmReoUJ+cw=^yw%m)TM0ts z&}N}1X7-5p5lOeHVuNVkEuIAt!5&8c5xdQkx5P^%t$XhutR8}0kF?m(4bHZuSP z@L29b(A21f7B`3T(vaDg7pr*yPDZ+(7{hc$C)WR?1#NgA7S(vTOc4A*M0SE;SjX`( z`lzad0wxrTUtQEKO(|-BW6w?$9nr}*Z^?+9AZ0hR%C^fBlHoMLa68zpJcI!g)F=$~ zK!tLLI}&se=Im^sC`15E=3~HphddPIl+H61xMz(Pm1_i?@{={O6a*X8bXdV#XZ1ID zWUEBve-N^CVjQwN@wyCwO}uVjWv+h5@kMBppmgU%OWtqs0jrd!5F zB06L%bATYRcpqLG_|iI21Y#F9Wz)0?Dkq{em`C*8G^W=hc)XAgP+TPx1LQuv0uN^m z1Z1d73d1xLb|-JxTdY7tMPTfg2Fs5t!*KTsM7X~NE=YD^NrdjH9N8oU(Op<=ofqfk zrVNySJw#_srNv1vnEADnNz2B@$`qVju@Zz_YhGNJLJHJab@Lh$_AYAENP3-RUs)^d z50TN3Sty@FGHUL1H~g5nNBf3*S(vg)Xc)T*&8_NHoy59x6L5iI4|Cn$@NXdTP-KsT z77$ZkDiew-dMlw<=cj<=A@z?(+hcksJwKaq*qaK%+1lLL#{DOo(`br ztHO1s3P$%$!SHT`ba_vDt9;$n9Aq1nN`_j9b#;)!cr=gva+C%j-Xyn+8hj-9U9mR` zkujYx-OU#r>zUK0PTpj7KW=EVX-NfPr5QNmqoVQwdw6-O2l!Z{-Ek~q$EXo}JTJ!y z7q3l*22?)WL=T7C*#?G>`ik_GgX=+IQ~$v%X%Fn_hnbz;LLv8t_%U{`VswK- zOAojFgy^uA3DpZk1X~LHtq6{Yp8wZ#LRd-$y`?1ma0cN-GXS zPJMEz%R$!wNMzfH#EUAh6T3)k=%dD9CI_OxzU>eZo}vW)8^znjK9cVOs@j=fYN3cA zkc$)W>%0#IRNiU;*vqlH>Pm%^%8Voc$CQ*~N1Ft8J-f(ag$ifyk@Xq!lD`oUIP+Oh zlxI6=Tp5Q3Gno@mlYOc&5S;MrVW`r;*%+|VL(QIpMDMs3FUMz-@L2&MU3v=4TOz0t zkSOjshdhbZFbCkCVy5u3)i6ZyypP*DC0kD2pesoIJg_B!WYgC-w?af=-FaxQ>0uqp=S;^Y_)^ zhjCzoHcZ#akEL0v$5lApAwQ0FMkmaqJ6y~~-jo(d{E2|&2phjp?@3iQcR}Ka7{+AR zKh(OP!%;?^g?PP`YV+FxC7rvVS$sT~vvjsjuHjTsNw3m-ky>5K{;897iHZTiUj6=C zF?S+>+>+_df^Vm$#o)$#0P@#ySs*t!fMO7U$ndeA9nEp*7{M3tZF9tMETEslYcdLI z*oVJHm_jE9v$0}%MOd!|0fI&;N*-v1-unAwH9d0CZb&NJ(Ot4JC!UtwVQwU>EVn zsLj=?c9XDr>`Fnx;Ix4$%$V+P7j!TE#vOP@JaG=6-=z zdT|3mn2`%u_iM|zFkAq%?rWia@QH?6Bc7;4K@i@{2mYhzx0hb%R0iqw#IM{{8X0K5}i|hpSuzJC{&s z02sLws8!w_T8i)Lbt_TG3nJ<17!`8!11RSu(sW|~sclC46jB*lvX`eUl=MshP*xiO zi2^by7nGo0<1oQTud>jgAtIr`HbvIaSgNpJKM70;{4|78<$jZLJV;*~9X}tt8O9^A zXI1`sRdwxk=3LiNAm(k51y}*l6ueQN&Z8o>uXe-3q;)@ArZ#*9SEU|?$xZQqw827Ka=GcJ$6hCH@+7qjjK@9n$JUAPH;kLi~91k zpGbUmZ?peY3aWFrbmiZQ4Iyj5GvY>YlNak7B>ogL#+{SXxpwW@*K85qe1)znZ8mBSlOGFRko!eOA zP!o5b=c#SaIV)(NlafaP zcNeOz@>!#nYDCoYnBhnu$s+vD-I^H|NgdtN>3qo4VNv^vF~M8oU){?#S`N2P=AovEqJwd#&iNeY;Tc-k2(3Wy{bW}6}!5wQ#mu>~^Nm$6VP_}%uQqR~i1JJ#9^7Di3tOvO6_ zF*U1&zBeH>O*3!W{aK=Qe;Iu_zDD5}#mp)61($NdWdTa z6{Cf{MOlOhD>{PpykHN-)D1SB#Q0hDy@|kX++_%&S2> zwj%vfv?z$DK+>Iz+)}*KVpEaLk}qp?U1oaS$z2*gB!Z8y@QCZ^;v)p|@fL%_zcDi$T7z8|4$EGn?k$KLMp(%;Ap+4aa6 z+Bn71@Vz}{u?V4L4}~8F!Gp((nyx%+Ha8_|?O z4t0}Tc`>_H>&*7O7-xw>6Rz!3hgKJTcSy$UYJR2c>GEvj*UeJ=bz_pwKxn{W~nPWMe+bck3mVD(zY-1V#RiUz&;0Bgp+fz+*i_SFUyZxGC=T~vWY zkMcjCT{H1)w8jO#o~v0eUs&ef5bMJ=YUR}bENJBr*ZP{WxQ0~h&V}>px|RIBZGAG2 zi9h<7NK-3TF}1L|Zq>J};6u^rp88Vqb+YLE*je2LqoDpJfSHq7v(%}GG0 zzN_xlpA_w5qA{lp&@pU^4OkZ@5y#ktO9Bcl55O{i+Jb}6vp!`L7jMzV@3O8klJF!Z zcx~Tz=>uAdl|!F}lZ)a285^1GPa0F=53S6wVRATPTTzqoN?#4!HWc#&@jI59w1R5=B zjmtPO3z$!xu4@mq9us+-zcJcTA7Dz-MZx7Xly_F=CqpW~FbEyp5O(!NRkE*&ST~Nt zZ@b$5gWeGFaZDcj$qffb#4-;Pwg-_@?V@jp-p-b9sZ=1eR8XP*o57eppqd3WKbor! zNyQ_>SbpgGAx=sU;>@V?d+EcEU$F(435FC!&TTT!?Ia&X4%%AEM?TQ!5Yu{a9fO#S zdi`~@I+Z-76{uN0-ahf_EdQ}m@wgk01C2BFTv8BZcDRdUxo0!Jj+7P%i2)L+KocXd zn0@zAU#J2t+N=!4LX3YUhZsF3N-yrpqd_PN;f<8p$QOI{cX~z@)wvu2sq zOext{g%pjSlP*rrU%ND$zyni)f1WxbmJ5sdt0VDW zsCWkYmH(@zQgUEi$p?tKW$dwYN>c{oj8(&7kwPFk5eVYH0FWN=&cb=_$7C5x z(I8N2E+n7IA|1t1fnLxgad@5*dJVQBKsB@h1veVckvU{>I)kT!ZgOdIa3W(wptL0U z-*SW80$(X4REyW~NOV%+aGitGED+3(PHJuTdLHi&)}2?{Sn^!d(ZU&wLWnT+bNp8D zR;Q_fzb@=t=C8a$rD<5(xDX}dy1?sJ8Yf*&0?LOg)~7<)YoStcRnp*5xbTO5f*uAH zmA(T*2<7r$`G7pCE z3F?+H_y52OT)RA2SJOVWn8bZZb!&KJxM`o{Dx}mml<+dA+5Z(p>fmk>-_R&R_^%dp z&$@)J!3SxTn~Mj+1vV}sjEUSL6m6^YF(Y*y!=oaVt~E+s>o~U*CLucD*lRpdf2?w( zD43wk!QNn#wE|2)!=t!R&$2XRLM!zONP+wt3jw7DKLvbMiP;Wwq*S8BLq#gaWSnxE z3-hyGwf^J!K5|xf$(H1eY)Gu&vp?F*+j}-iF$~>xmp~4)@_tZ*?7`qwZ#vkzgDtcZQf{)4pg40)`8 zjY6qGpMv}}PnpT5bWH3WlUT?cAS#ZSXcc0=#4D?LQ*@OrGE7nUb~Cl$WJ}xC4B_cq zi(iGl)N9(SZ;cz&c189Z7=8T%?qfR;16m1rJe^DyZPl4i_2ztw-H{mJ*%?%}9uUrp z)nVg%akj#I_F97@z4ypN0~u{NA}uYD$(xAv$(<%x%)AezVI zwH6lypeO*(6R&1A&4g6_OIT=-^dwb&4xrd%d0xP-A$MHoE=>)Z;V7 zI5U7Csvp6nzFE2hOJb1SJ!I%_E$0)34CCvX)!IQy3Y>ojOZB&mp1}ls3NQa7xU#O$3!01lB@1&89BVeV1~Wn>qX^Nk zmcT@|=g3>ZwI=fNenb&D#tgBXq5r@XYN}1miIoc|QMD~6SfpO`%oZ}eXznWox1EqT z?=*c`Q;hDOK4aOip{f`b&+FL3^mHg*>Z>TBY)(&FDQJ6K3p0fh6x;8((8(;b_buO0 zZNsC&mylqzjVnI>E0T@Yl0=6Vk;p^sr*%lf(D_!ff`j*YMy;989I_Wmz*&dYU3Rl z$`Y$tnE_P;;IOJn@Y7Rip(ZXwM@w~qFDQuAMLV7FoGI#3sC~vJxkt5Z9SU@?g zg{?JwSpi+I5jsl2pmwAq127&D#nwfYcd{jaf8_#!iyr%@L#lS_(!uZBrO>*$Z`leC zZVz0FXZ{I`$k`)<9tB7=Rv%C!Kl&J}?DZV^Jk4a8j!&9~& zltzb9qZVh5LdK0|l!ycAMK*eC(b8mtDJ&l z^@4t0TcvpNjxn5r=DBri5|7lf+h*XdL z#0DsolRgtdgQUy2hS%A&f=v1|F#Sd{cl`1UC0dwztJm6B>RcS%&c=l`nkWnm8I)RfFT@_lz!{T!I6I`>m6z>?B__{Z@m() zG%dQPci6wh6Y&-$GHMxwv~~ORM=P{hAGZOsMi}y;PT2D$u>zzt0f0Cs)@b#u2g!J-FmwSvfs+)^wZjG<`nK ziScg_6I}=Xy;i|rgt2p!w{v&mjDC8xgYs{07r3ng^B`H6BBOHoDVz0Xx?z77^G&l6Q>s`ELH;c)vI*3IZF#(I z@pS5c6N&6uDlg6)SLG!kjqczgYW+T5?pD0tE!}hc_Zu-(a!*DZo*1e9iUfT=5-|c% z9skHDU~U9VF+^Mbk-*Y|&;siyNyTEU!h zYG3G5YmVvkTpYPH{%mtbYV{Dk&K?ILlp`$HN)$;w{@%9v^7bMW1zHZ5`Xm4;Y5M^f zZywe-oJVxe5;+5lY}zeT=!JjMHaR3`AAB1fLM3lgH_7ji^KOU4dP3II2pntVmQpZa z>V@D-2~0N@FaD$(V;QANs|)`}6xUA4EjAUTyD@+gdMihK9+0*8Jw%xQ0rb-@K~#*7 z;$`Brup4&CMys8@F-KWpz65mzG2h{qMe-Tyd0nFQ;@Ugr&5>iQpa&0^9UzovanB$( zkF?3S`&ikFnAR50bM)o(*Ku`_eSGG|$%gMdgPQq7QiI&z{52;`O%)*Bx2C{%@7@C9 zP}Y3X^V?}IW}``7XoqsIRC~jjW0#@6&gidE+@z{VO9^eX(4nz> z3Y(c-w;THLNe4kPJfk!8m(z1V*@+7;_#QEnwa4%P&1a{xA%xN84W7=6P)*zo2hzRx z?{dQr%P&^a&Rxu0^JAL0x43rtVQ7dWcXM|fcqDhp5gvFs;H?JPBw%!6@Yx@a*Bk{M zHGI}-(e;q$DTt_PDJQ{06>DSNK&7^Z;0!oKys0$-L-pX%2K%EBLK6<#MXkrSLv$~y z*ty8;)?XUa{1TKa{c(^+!j5LfJJe6_%r+Z6c z89G-W&s4K9tpX=11!p7l6k81&v1U|dSHm&B4S_oxXwb$D(uDiK*yDbjH3sa^mi3i> zO-Rg#0qqQn5wpz`f!jN1)^mCa{GAX6780csWR;0uih&ZDHGDLDlka9<>u|MOBNTZQ}3AGy<(^ehkf6 zygz?aK|yAbJf_-$tIl*{7$>`ML+ifk&kar&+p*j<_MXk>hlup9j|xnTNM9J#YDqRq zQSI)}(0?m6CiRm#vvRkoaW`4*iJ!Ya3OpJ56a||$Zv(UlE-Get1HIAf_d1}t5Wk04@npp*$pV!bO^;Js$%Jf;5-O~E_TCVB~Hcx)2Pk%BEZ zFytKwO_I~%RDoVnjSJ?lFzWFCH~z8g+F}ayf0RQ~oz$l3pUb+kXTgatvk7rAGgn8o?Fw@2y{itwcGh-RzlMg3N-%>(=Y>R%FEUM%ukS|tmvEg7(4rO7AmP)H{~;TIFhJ;EPwS} z2b_Ykdlu`n62J!~idyohf?theR$aTBvo8D)%T%Jk@6_Rj8@{s@S zM*Bo#NNPS6=RIVJ3EkhVvxOG;CMm}`G!N%-8CkobPEvW=Rd2PN zk(MhWYcuo|H`K>&^vj2F2VIqhbFM|NF&JXV-RI!fyShA*+a>Ce(5^s%JF{S+oKIQg z9<2KvOa=vk$AXtMNcL3E%<*foGZLTwjNG$=Ygcdj8M6b~>SgT9Oh?S+zf`FC`flDJ zTPzm2s9ZwTtYGzvK4UnLwL;r5hDD2aC@sh(3dqpY=oDnWk2tFZjS*hq*3b^#1OVAT47M z^`hhM&={2_k0XGkV{&|A4UTFu(NMl$z4g{>$n@7Wv#76!#`Z|`sp>2&r$XI+i#=V7>J_W zow1)mTZ4Q?ga#DLg?Qygs|!SX!UJF?^#BhHVbm*xwWshU!@J{Wuj(7(^*|3i@K6ls zg$p&0wUQi;GTyVGma1K>m0_&s$;h-<^8{)$x zewF;I8Jk_vr@O9dbC+^hj{;uh7!3u5^iNwnsc?}ab{#e#`+_!PL&qP*UQ%riY9Xf{ zeZRpRpgYeJ`*Jg>@HzY1Re8}rlHL2yWj+RjU!7si;tBU*rCvTO7EL&s5=Vw$FF6rN zur9k#>qHLH#>)a{=vgPS%{6ZR)rF<|o=NWf`je;{HSOcwwen=nWG+GSH}thz$4c)i z>N}m(Xs$L++}U$T>K+ZqVi>jN?KX*;k)31}@buWW7xx8(lsHP78w)ezVE-Oq7XZbG zp*|2sh1j1ZralWI4kmByU>e3$ZU|C@f?Mg^>qCbvD(KYmexuzzvyTn1q>P|&LBQNN zh6sz_!TzIDTS>`Dwe;~sxg>Lbo`P;p;?zTTn)CKduDXXV7T;a#;-3MIdy4VbVNBsf zDA8y5qBbyA)g=L#=Sf6^NQ!WcTtQ_2xjk#sX8e+o{K5$9$3N27lHMh}uKMM4fEBe&yTmjdu{T>G7kDP$@ys5 z?WM=^Q0|c~8FK23>M;V!#Tmk_4(BX6I!yfyi4z)z|V9Q%3IH6j``Ym=3EQ&KBw32 z7|^orQATU^ z1;Ha<6rk8)@M3-DcgizFSvrV6xZRGdT&0se-;WQpgIRK|EXST0_#%WptsQ=C1RwZY zj6=^F_PrWk8l6dD{rNM0KnUw1%!Q^8(h@=^m*DMZf?A+q@s3(*eSZ`CnwG7UQmc!dr+bFUuI2%1dx61*{=QoFaP$yw!LA_C5IFSKQ32tDDplEY zTC`C;`$Gss7-Azd%2!yX4JEachdfz7n_ukL!`{Q<_H+c^cLP)o$vx^K%; zz&}OD2Jn>J`T#i|()M&;Id3WGUd~iQybkIKC0J;3JDdvkx>=A`1$3`VDt(Y_C}aw= zMt@}}zNRHvN~u&57NZ3-i*C5 z{SLvgpVuhR5Xt?Bj=>+(A@J3ozM6_qq{xCUKarD`>{OQ8QFbfR>sZuU0&rgNb{$8o zQ-a5@=eQgDnL?Dx#L3(kYqd{wot>Fpa&?=bD|cpjg9pP|WZVfoCAF3Yr}4to!(@_- z#OHqqd7suF+X7)qfNmXQ%)Yh-B_0gz@Dv$b2k*FXus=&{O7wYcBoRVmHKW3@y>OAg ztI{YCcgz-&YK+z^eeRqb+kIBYD%ypXL^ql*rUCVD@^@HvU>)o)muRhvj^NJw;VO3a z?b3A|7b36pCmSZg!+ZN%a>tze{H*$Mp`F0;x$lnruQPxIne{LcBh;EX_0yTKQS8CZPUnRx7;u>P*AIS6}hKU+1&>O96yeB&Wg$OF=T-Pl#F3 zzf^{oa;b*nl;_=CEniWmEIw+jg<0@naE}?ETE2N7nD~a~{Bxg?-e|R?XH?<36^mPiu=Zl#TvG7^E+Xq~eBCE#(cxKK$)0?C%byAbANLa0trm?_Vc+>o zif2LgJE-+VlapOm|Ld*56uMqJX$8jQVgW75_qu1Au-*qGg5Qel`~RZkwV~dGoqn-gRX3UQdUd6&w_nT-5rAxg(Zg z>G=5(v_)iXUppqdDAX!rH!|GrLe40Dx?&(5nfdpJxikK zgG_P_iv{KMhE7kFt6~uXxG>`xJA;{@>^LdaGnfP zUxeYJXSPKOaNaoaor;?}cm)#=?ZhivvF#H@k9=|iq2@889YK4@qPY_@484p6#zLty zy75;f6CM{3w|+V>HqL`|iuA>iN0q9WmQ3qt7EQ*7Hd)R;QgOs0f%6Lz+!_MOSh?3A7GW}r>0Rn*Xf_8!Q0kNx z2%SM|3GplU>N}5d*s+7nazB2V7X_teho8B3m3=Ko?h-FIk8pF@W8YF=zbv(U*sK|;{ojho zO^(N>LJby$NvfN%Tzu?t{aYhQJMVjvR%`Me5@S|UASh5~d#=0`zGg4^n)aq-6hX(E{MU?qk*hqjLZw(7q9Bi*p{G zap1I#XW^Ma0>f@FcTO}Y3Jd4?zk98tuJt|lvg!GrILf+d5KENK;u2cABc;_a>rR7e zUxB1fTn{0197LBWv#T~a!*fiUH`R-grWZn>d8LLgLZu4cza!98r6_kKsp~rK;=#J< z_68x_ftH@_Wf}yR|_dX z30y@DMNV=M2<5-iCA_mu65t*v&>Dn-&0xt0tTd&`lJ_p7&V6&JYrl504n|Zg{jWE~ zu455qnI@f06Vw7{!uISROZCm~!NjLSkxnhTtev%CO#9+^B+iBGfF2KVjjB)b^9}KR z?5kfF?W2XixM2KrqMN`5ZZZU{2PP;80Fqs6Md2(>W5eN1t zK;hJiQqvl@$DX($%L0lF-ysRIXKiI2#n2iAmRZjZ%v%cR17%StJ^DC`gkRILy8I5= zadN_LplS;QE@&tU4zM4?#-_|0N))Yh)TzT=MX-({e!(tE>rxC_ANzotf|zO5Rz~Is zW}|dc3u(2i!3%^|99o~pfVishtHB^oWD#})BQ2s2SoD^ztZ3v*r9c z8>9i!_3~!+0}&$chx^_7ybgvs*Mp2+Y8~0*Pyxq!sn$;w7{{(MtWU%1Ujekn=;?<2 zB*M|ckiALgetZMxpShm9u#AiIBu}g96`U=9q%Yk;JwvX>eRnm%J@mxkGA2?cZR9-? zSS#r|EMD?JIg%|$E?S6eTu`HhMj8bg8|V!*%`+K{q1F1pk8nd$8%_UCH4 zwj&9hm|8YW&Fk0M)Fb`&Ve){ndR&|jo|}}a@C!tQE$$vUx~hvih6zE?nIr4LdX>e+ zF8V88hZc%iJWFM$$Zu^R!Wj55ZasA9EshoVyIgR}xSidA&Q}k15!(C#wyyGRbLD%F z#Axx>AQvO^QEZEkQ!t;u(F8!&JJPxA2(veUt%D_1B(P)4^Z|y~7S|=!FIpj^G9TV% zmPY&1$)_MB9D&TXir^{Ssm$LgWB#D#u0=e(%l?Rqg=!}P)vza`N|-N$k5 zmHlODB&udie2Ccgth~YH2=Ga{q|`6ar)@r|(a^lEx9pAttbj&lD@z&5?3&%E(p(VH zYAJ1Gqwwvp&y{$1S2DZ_QW<;Es@{Yg%x-|SY2xd-!J&PMon>ik@%^5-Yeqkkf_K?@`Rjd8q0iQpA_H*RD zaQnaf#&e7v)=%29QvN?4I7-<(k7DSU`}z8(W5dY!-#bdvt$${dj2%C_%FMmaQD z{>h`E(#FibQ!Z6K^#)aclVkO`D{$@Y%Hr``;$ZyFCpAg8S{v&GOz&4}8g8jh{f}H@+<_9^FoLB+VTt z;vuhb9UDr7j_BxY>mWhmw(jBS^rn_%W`NMapna`$Ft*2G>9uV zv&T!naZPJkx#N9^vg-b9%T6>!C%7ZEj3X|f6AQKs^&H!&ceE?{c<3!{g~d7*T-4w; zdMb;`z;*0#mA0apG&!rMrW|rNG5!9Sd|Sf+@Uxjz4WopMP~>3=(fKw9%#Ea#)M7ri zl7b{evCGH1M&#QXFQHBf_X1PgVQ)XKUm zlQ^Hi6?`y`!|-HV2Tvpj{}tOebWNcOWBy@%=tvm5K1s{}N9ASghIb!ET!<}D3BPbl z+Vk&1e#A>Y%oO;;Oyes;2666G7)G82t7wP6%HxV7)}G1G7@~zYgSs;=@jo|u$nS)S zL?1b7c)zB7xA(Jysd*E@ZS~6oKwz-Ho1_jcrTMI|j193|h1YO)e&765+O|ctRe$i^ z1#RteGA(nJrJH#$aH(6pyis>dO||u_U~c(1v{3iLfz`9d;C;&^fyRu3q*QT`%8UY| zMnK}vk#>CZ;e86j;-}j*I~PSzwX+Y}v31yOl9ECnkF|IBMm(6PqM9~KM&HSQhQ9d) zj3aVw^JzG7#PxKWXM0`Ezqy3+(IYWWY(;iIu??@Xuc9>*A+)NAm%EN_nDkjq2F=+h z(9E0#{Qmxnxt`4-A>tGtORYxFzRN}9&-YdS^^1&_)nh(S3wN8Je!qK%X@`Hi8p*Y0 zEPq!(mxUgwNaq%x>n$FU6M`fMCgHN*qrwl>!_ja9~q8r;35`||0}m$O@v^F-#&gvM!HPV15JT*Uecf3?vy5LrQx z6ZpJXl~fM!x?o-L*Pa=W92|R&H$C}UV(%RWBg`3_LjxwG>j^(xawO&S0mFCJg2~?q zx!JU#&Tu0|XtLS%FzkGO8>*?vzI8r74BOUSGBG`kfBa_~>Zcao(uP6Gl& zgis(q_c`%li+eI8^&EWv>K%v^eJ7gRCdR-87r>EPS5d-~4^|j=HTBeZT_*oYcBm~> zrKu}t+7(W_%7iyuU7H#@u$7=iSo@&3^eG1Wj3tz$Q4TF+Fp5NCbXZuxb*|YjZsQj6 zHo-jmoz`9uI`k~LcXU35WPRgnzu`Wr;B{abMaD*Kf_wz{1st!_`&!3 z^+&Lv&)53}_5I{%ygx1vh}zg7^im>ixNgn&JT+~1tQ|QTqmz?XBqW#f?0-Qj1?^qk zg!5#Nb21aFX~lovT_iOu+pN%jJVwgye~}i6ZI{NESO(c5vwED?q1T7cNVnWxsD1>4 zr=0!1R{ z5|xc4?_G_@h)t1a{OxSriYMCKnoPR&v9D`tabM1GG>GM2fw!-|2{UrM<9zkyE!zy& zY0)93zU=hypzN%?sq|RfFf0tx{mpUQT5VUyD1ha9{sBuxD?d&v1?e=u`QruVN#3iJ zd01`!*~M}G{p$RbYwCg?#MUX-WWGg^O{T?x{3jcu<76Ec%9V5Crt7nuY>-d+j|x|+ z3X*R;d7QEdLlr+%(PK_jxr-Mrf1Lh9n6>n~#p$;%3QiSGky0g)wt??SC9W|@MB4PL z{+*qZY=PoNKGysu>Q3h#cqvuvW2;+AASs!q`)%uk`*~cM3jkV^Btre$T1|T#*Rw8Y zQ4DEC*H9fE_aeJBxU_x;k%J{REK+Ibq9D9ero9DMRMn)){wbs%>#J>P9Uo|pKT=P^ zoT|m*hC|DPTk0{w<}nWldY$f>mC`YxgveUJN9)SJwvZ?4>!QUSY@2j3kVBsQ5L@lY zd69ySg`7_Q5HDGfts5PmE?->CKgd~zpF*Cx&?r^HuquU@z^|9kwI*nWubTUHIVI-x z)+QO4!Q!OzR5Z@_k>Uz~$o(vD9>n$MxmgVqToNUkgRtz0Z57=`s3?5YmD}1`a8EW; zZ?J;5l9x9~OL`XC@@NpBdDs-nI70ncnU6&vhoLfd1BX21S*%CsZmr1AxX@ z?)Ztgha#WImSfu-N<iUpLOp@=-GRMO*;wEyMMRA1cE9;j;1LZW7QIlgvj#rMBAVpXCV_H}e6D2id)C)%WrlV`tH^70n_lk! zUX6JeK90VgFlNhSHD|DL>R0z9)~)V^)~@VL)~@V{s3Vt^lSpM1M545UKrEMn_IDsq zh|Y@6VpQ=&Yb)}T)a#0n%vAFrKD1shBbFcvYqE2(L?XHnZ;Q&arI)oDGuwtUt4X{L z0jjN7#I3nO5^R`h;z^j+4+il+Dx_!W!Z%mJXSE_TX zk(%0;_Jp4$!(cmQo;vuToeGwEHK4jfNL9|cEr1h!e1$;D8LH#5!mDC8DvH<`9 zZ?BGen}L~5zCg^(q}_hp1nzDsI%3!iMz(B~2N>zt0G_^{F)6Uxn%^~E=&?6HY8RY* zLt*iC7BSQlP*&w<%}PrJg7Pw636C$8^0)$lL|RfJ5(2@g$FnTBW`+mvKkdC44k}F# zv+~u~s`Z_`w{}$k503p%)9IOPMR7#htpvt@c+fIVsk=4p6@Ym~$d3Q`EUL!$ABKK% z`3u85$p_+QL2DKMo9;hMd!4H3A7bd)p3a`=Wb@WxjIdF0DL)TImx{8v5Kc2ACqq;` z4|YhUbQCMbdYfAQ63DJ^pTC;BY%VH}5o2>_gd`E@y1b$+{&;~Wz&9+&d*vGoc^rXM z#B;&H;|)HDQ;HO!4WNcGMQN*{wb6@UwPJaesbtR>P#=WfGh4xPF zJ3g?3TlVUrOt_#ZZNin^U`ZvR$t8&9$c*Am3rxk1^}^X6IyL~nI|vY#6p6YI_kyx6 z6r@E?GqfH$^tsI2j3Lq_JfD$Ys6q#FngFqn$a!YOpI5LLW=zMHpDTabJ`fDQ1z zg)^h4XBP;EvQ;(aNEYC0Fn%O0cr}7t{v;^$>tfQE#UUQ=-{W2EfvwBLW!lo(T-E%R z81UgQHe1z-xbJ8`dH~1v4N@?vylNU8K7z4#+TO^6<#{$NCuabX%#x-Q!3ga&>0Chw zf3TN^Y4#TGaQ)d#=S1(F^; zM9YNBY^|7}CHo>?-#$#$sq)<==P+n%)9u{_;DccVB`lB+6&rK4ij1Otn8?ID!l@r{ z@OWd>z>zUb*0um`O_+);&hTbbblVbS4Z)?hzORAe(|2s7hLeVMhqPtzXfro^SQ@m}L>nYKR2I=Ej)$7f9R+Tr=thLn-)gL0}4zjC#@ET%v_N_CoQ=}7tszvN4*1Gw^~@^wMV9iTx{H*Jyz0X9#|L?9HHFD{ zf{2mO6NV@V6fVVknwc4%-BDMARR3U-I=Gnb8z*7sp{F{N7wzQzn90U9?rx4R_Wee< zXp*Gf7uL+RfQcER=h(mf7YvW*@Pc=)sH-Ah{o5oGQq$ z6;mlvyWZ}GR0zU(?jtFa94zHI#gl61t@`RupxHF%cf}`VP3TA=A@4nPFK|^AIPGAD3Y=^T?xA{rG?h9-U0EXe||9;|7`b^a_=z$czH4YX4o2?}0FZQws z$_&Z64-?noPx6;*&UO>S(ICJ$&>PrJU196*`fYzmp`4R{uQPnJU@G<>uGuOg>nk?2 z!)ML6v31z?2iRHwjE)^aNz#0oSZ_aMLl1pF$WOb_(g0T#SNyvGs8V6z{b<@B8($mU z1H1(7jpY-@OISFNk6S6WA1-~bH`&^&3pVz}G`3GBmw)YNGKRZOOm40|*p8-3WSS-y zoZ8XEqQWBEREDgDY1sk7W(4j?=gb^xoGr-s%*}@871d==W|6W1e7|m4PNN)?@+SmQ z6MwjKfAiJ~V}>&+@w4Wq)MD-}R}<2vTg~>_Zal3KvMs+ntT>jVA`HwP8jMPDis-uhdw*)sIs?F5;^J7vz6&Js+uRIJ2(2=3j)o$Zi;aE)m z=FZGDGdH_(Q%fu<{i7+>`_2STg5t7s!S$w-UE4VZ1YPU8-O}9`BpvZ$o8vl7pIp5+Q-D)4agzhOZc9M4c8#{QRcaQPj{CQ^cx!hki*56BFow}S&j+Y4D+{Z# zP5c&T)#E3mK-@2>%2~_aQTW3WnoQ4C745wkc7%%zZMoVTvn$Rta$r+xsO2MD^K}y^ zIK+cwotBfpWD?;}t*=l`YUi6C-3Gd#|A^Snh`|bBac2B~1VDjSMyR@Rb)CMy|CZdz z%oU(=wz>ddhg~`+rR-jO6kthyYF`yAn+cCK<6er5#_j6gd2~{IQmtES29yP%v8HGw za;{KSRK*dKQY-*Z84?+7(pGtq?0tAesTip#Qw_$gsI!~LoXJzlrb}8P8lU+%>3)7b z1I-bgj3>A4E|;AWCMmt3rnj58ntm}Gs{i>TZe?{ANhGJIw(xno3A-Z-1uz$!#_U1b53=ylo3ujhOf4QyP^cVUAV5vQVtCDvb>!M*}2j6T3Nbd=b6Fs4HV zx(>2;4xZIII=y9gSBm+aZMATKWHgirg=FtCbVOwLqs#u@F7P;(myua1r{on*Dah|r zlt1M_icDVB@4bP6>+aap>@)X;E? zxxfg`(U-T^+c%`=iOf48b=?*53!fX$<*>Iy`Wu|;>l%6vHpL(5w+q9RbMkjqtvlW& z9|jhVvoO_8wsL)PaBJT&(Bmzi0pLuZ>7q-D3)T*|!C zhu7FO=>+>l`6m9f2Oknu1bF%A$6tRU^K9eBXq0K%oEki5J-~tb+F+3mRI@YQ+KiUZ zm!oB{X&jg$e$kci@N{&qb^p?<)n^uaqOw0N;VL0>L z!O84`!JSvz_g}95G`9e~k~M!x{&8z*^=LeQCQq}t*_?UAwRMeLFWlmzsH~a!{SEFB zmg@6cbKS>%V?{aT_KU}68t}LoIE(OqgLLdCf6qQV`@eCzdrjNslTmT7f`m0lqNeG) z?iHU{gmf3@u@qyJ)!1%{SQ?agL307&AEW9Q*Y_c|97lVT7*tsg?m%pjpicq_o=oVY zcf0Fdbx3^^T2yC{cPWhPhmV0)->fb@xSj4R3RRDH@O_@k&=gix{9M@!O>O?@)f{Tw z-H?9%A??0M-x$Nj&RWW$p98)(QT@n0WJolBx#+0G zv;WyY^W&Gj9sO4e`-{(;?{xLiv6Sqru5iHdUL5yjhN4(;EWoS?3}QuyDTU8JYJc?j zZQh-dMn3L>Jv38Cp>;`$k`$*3Cc5haTNt^9d+MESXpcjbwYM-MbeMW+fLZ)A-r(3H z0FS$9Ld>l=YcH3!K2P2ZWVfab4sAYQKrEm1Mtr4151_b7unZ`Uh&E6)p4{?N-?1tA zxPJwSK`O&cHupD|U`mur3=&pSJf!0~3zJUjv3}V8<%`#v{d)A(1e3aS9_H$?@|!g5 zTN=5Ok4WY4Rfi&yW0^;3_NJH<6x^B;SKD#l2e=Oq?%kWmP9~Mn_k13=LtHNc8h>QN z=XOjBE}-P{Rkp^%7xL1?0vg1!FgFf0za6%m>7R!2{zI}Aw%3%1Gx{hw#94_QEVc&lnU)r$cG7^G396Urq^Pd5hn~H66 z?KCs5GytF*T!B?KF;2QRmzx35Gal*z3kS+}$i4xZ+F6aM-SS=2n~U6bD_?C(Tm9uH z$m|*i?P5~>RCfazJ{eIJ$MGK3Ts<7;@NE17U0;5`g#f=wR8*xnd~M&$uY;EKKh!AF zI~M>z-yO@&%^p}fRN@@rPzzC*WRwd}GKaUYpbuzN$;!v2xqp< zTzROEA^2R-;Y{0u|N9OU@*|w|3?Ax10|0hV1BM2KPGy;IZA;nka=McyRmbuG0N_5f zEGrg=gQ*6)>)Im2A}WJYG)rbMtq=vsk^$CK{>5^wPtFf+H0R9fwKsC>rH z`sJNyY9IAPr!`_-@kwax%IQW#Hz6Y(nGg|a>GX`l(~|PDSIUZPl6h9h(%KIpYcZ}X z;h(J$H}m#_5?;z>Gl@2n1D#{#eSr$pi^k~Q8ohd!nIoH|vWEW5?aW(tkJwwmh4vfa z{?Y{s7Nv^j~I;^cgx-|>r3|Qdm4Qpe^mRgu=7YJ`j%HUqv21G#;6IZRvA)cU~ z#-UgZ3XOJECiuE9`bSryqEUM1>S6Hx)JV<+}pxU*vW5Bns zUi^J|R9?H1!%rT?r{6Th=r(%|@YVP*S~I<+yEEO`*VYbisB5mR#o(|m_}*SCEPims z_$*R^ucLT)gs8Fl-j3B@5u`pY0tC0C=YY z0Fg(w05O2_&SDfjJIg1qA;tWI)%fp~K=eqW-jSM1tARjt1=P8FUmv z@GT)r`22W_n1FV!G=dlrO1Cht#_h(D#E|arOcNSiGsqjOHt$$eZzc2AJ018ycgF;G zxT(nmdH>_dvEH$%i24Z57;)1}av7q>x6D{-$xU=k3Nu^v#{^R>%&R7MPm)BF29ry$ zd1gX#wXSV=)kGxVsC%T@Y1X2TgF{8BO~Mp$!?wZ!$8k=Tq~>+7tfefiLvGNY z^Iw`^;2J;aZQVZGUn*-^uMvS{fP%)`G^Zmcc~;hC|E}AwLwLYm-jxCq%9DY*_ckAs z9|jAV^ruI!$dX`FFxPWMsYPdlKxe@ruALNxCQwxZ68E{!ld=Jw-Hf*y1xWD8kM%pU z=TRO1{Vj8BGSE`-BzeW4w;k`x+P>jqkeQeTPo5;tvt4B;Pd5tup$ikcXYF&O2D!64 zSrmX^xHw$lipu48CmqTSAqhQB8M^oso0^2Pqx1Ahp#+{|7Bhx`IS{fjR z3_)5HF>cyis{X(}Jc*%da*AcPg-YcdNB;?tjU6(WHeZk?wg|GV1owsgT6NTHME=*p zW8P#KL-icOH*4WZH=bN4FBM?m5B1PJ8>7=w(-L!sam}d|?f>F79>en^VnQh};s*GT0623-`I^70_?oqC`lCMW!_VH8^8H6rAR_i{mSZ)+ zz!E()V(uSsWoM`a#fAb;>Rh~}{#F)-lgF*`^)%2Lh#@0muBafKpd^aSrhBa=+Gg4e*B<=srMiQ@Vn!Pcpk5?N}wqj;P9%rRED&e zzZtYS%mmuG-q}(-84$|t_U17#8ptA3BR*z^jAnoUM?kp0^0|7gZ&gU^h-xxG-=jiC zjOm>(y=T<+sn`q!vo4YA<}^KDwts$a=8P7Ke7$koR6Ka5odnQpReZ(H>-ITL|21sO z05Iz9C=VR4_i@Eqq{z$`qkw(oikk);PQkWcrP~LNx-Z~p0}ixUqrWptd(StNVE(im z)%CcCw`PKYk)2Q>pP0NjI>Icqm4+g}`DygEn%80ZmjBPlpPOK^)|PLfkxhD8Ws_bJ z?ZpOi|2%cD=py#e6GgxXA?CnmY#9A$($RUH9ZoMC-ZlKHWtkwITcb43<-o!(1>`0w z^610#%BFgmy((1}*Gwo0-a}=c}&2NWs(u(9jXqA^J4HWdyvSMK`|j)66gViX|0rT?a@DloaCQ43xL}> zKhM80K#T1S4x>Q33`~0H$!0DY_vmqY~>Mvo*r+oA8u)d^aaF?K|pGsoK+@MG3aBKU^9<9gc~T+NW+T66il=h z5OE(%T1>&py%s#(_f#huIIi7KOj3`wW{N+HlUqVH^oG@AwYlf;fA4ZdXCUhSEK7}D z1HIX61teHDq1PcDYf~v9SesJ4sWpf^Hmt_j8+J9{hXm&v=iB&Mz4mh9^ozn^Fmlhf z?kwY>^@fKB>(=AGu6y*mL8Ii#i&g_v7WVM5SL-BC&#qB?oiI7XqEZfA46`<)iX}z8 z!u_f7ZR_Aj^=ZpZ=g!Rj{U|0yLOZQa&#>>XlKn&|!0@?;z(o)lpeDYKq4mmY@Omte zRP8DK#BzQj;C3hvTIMUfVLiTtyHoD{gpdRq<>{%z1caaFZj=AT!>tn}0 zzmF`&zV=x}2&V7SkA2cIa|j`rAr7ya;{nk5vee9(7LaP3S9HU!pe+NF@?fR&KA3Nw z#K&A`#Eh(Dfe&9zZ<>JD?u)XWRuM9PxC@-QTRaAXmy6n0ZG^jzX{g@dc9afn)(}wP zTYG8st%y=XAECBiR=4k?i{aXVMtAcqIVZYHx{bX~^~c=oBR(=vLaa@d^^7yXh!PUg ze(#pc;#6lpZ;*FEBRKO|vtQyd`9QXIO`*XQGR3r0=gf53_-a;NZ&!{k$~!K@^F}|y z2X)=Fq+C2dkCL1TO@lLXKk7tC7P+e>C{AS0Vo+E0YKQE9-yhwN$d|tdPv%Jr?~vW) zGPpRIMi>0u6 zwE-8KEak-YoPFny_df2N{UmjKGMy8ycr`iEvKHqKOUrjSy((?J1w1U4DXS8 z3XeO1O<%^wKfMRi|F{u2W6p(`8y_=YGDsb4`tvdyHGDI~hn`?aS$evq^7!$!mSdbz zN)R;i@>b3LHB@R=kNtoDhMsls*AW@SE}k^jNkfoRpynrnhqH9-(;ucLNk7GE=^G0* z4Y=j6ojYGTH&DMIU17T2=iFG;%A-@;xw@B5-%d%H$1WkE4 z6Db*$%!F!b9sMBcCf`)M^u~(LQc%{5 zmaGun_v;@=C|bK}5@L3mpQ!RAnkS)9?_pGv){J-M^a*^Hx=Whs%MwV+gvHOe--26p zSda9I;#UnN7~vy{qycVb3tl1wJN!D$sL9?cB=n>cs--O#MiV z^>JycF;)P)GE5XA?wkgHYLl17#3(~LMAFCz1%nxndsc6qg~%+mc&+VpaqzLA+GL=I?5#`l7&@=C~M zC$5XV8C7?7$^-)#1p+)jB3<3yBrBpDb{i`?M3q=S3&Dc& z0681I8Lbu zE0?FB{Z_R9UCPF=&UE6Y+}u%$-mi=Q8QW)7F;U^Q7AYKP5LwZe8h;>6__dH``Vvk4 zpb$zZe{L~7KOL=>Hl3cQmgTOzhYfb%ItPIk#`jV__PrX-jY^0gLrIns7A2n%dJmm?CZUJaZKu0SO;xL-Cy?rFm+r!H~8{#nGqu!(b zLgHJJ!6_+avH2{qq_9w2#`25RX!Awo1%)C>etv9ON=kWbpv{fnBgxRB(JrKOyR^q6 zFT)N{KBlVPwL~0iLoC5)e;64({{f@L2)B*4&Ns%IRDkkkJCAmFNJ0Bxq3dWx>;pd| zO!bQn&tzK-Z|fhkpAL{`@{v(9?z^$S*63U&{$nn z-CA9^?$bAI;kwRVz)7hY{@F6LLXwYW7;(`ZpY79;u`V)@E28qiElCGpUOX8X?t4#Z zAlhCaTS`xZ#s6Jt0x&e9#SRza(j!zP`HT&LcHT{crJinlos0t4PtSySyBG|lQo(sq zF$UN7B!Hb-VxFc|{qMNRoW&gS+q-P4x$)`0#hI%KTN}1<7U-iPnbwJ0RB>pmg zPFgBCvtmfzqZ=%A7b=`Qq*F|4DkPc?cgyqCh7_cMnB>&0+xr?T8hPYJf5#Rc6B`wS z|BRvTfw@kY!CH4d;nesOHd2KXApmA$)D~Ii4&~#EmV=fl5g;q zV;}jDBFYE_DxX#Ru!sHjv*K45VFAzWk`y#ry|Qs#r=T-x6@t8k6&abMh#a5zDqlaN zpl9IiK|YY5@Vn~7&KT|E3_^Mrd{({Rh8p<`O40#HiN^wi(|O%odx@NsmJN&lGdMIb zNbFiy>}v9_4+&wt-(A|J-zTf4QBuj1?(tc!?Sv24k*ykA<7XgFklWgG#D+3cGawQ?d;YX;w+(Xxekzg`;UZEHZtTisD$~yPGbVc5~ zn|Z$f8cK`}VQcG#0WbZrlk}`J)FZ|cuSs;SmH|iRfdyCS?~dLgdX+2v zZZf=se07oma3|}hyIE2zUicaj$wK_e3g^0pett@a*PUSz17f<3ysnm_Z#XE8wtnaH zP(0r{cg;NJrcoa;9J1<9?{vrHXv_n~VasEz8~Aq@c&sK^-sE6);s@6pt$q{xB`!K( z!MsYfErR&yAn&pJWg7myuQ-@%b$j2uS9O*FaHunB#&>ur>3vHo(I#fZpih^rXfD7TAt_utqi`=|Ie}< zMZ`+HA2rQdE7NUXfh}l5MI1DQ^jAB*J6)1Hd)A+>7umkzW2+^D(R{8!UP?|tCZ@v) zm|_f^ke--;B9+Ry2EHm;yn6G=JGPK-i%HLlLp>wmCeH`*k;k~FYj9iQ$m#1BUoq!~ zo)6n8$s{Ua9cvPe`d1nRetV}s1jTndTQM_HiZoN6qO@+ z^|LhRM|U>FMX-)#U1h}Kv&v_XUE75sI(qFAwW7br(?upl$J1Yf<=U}4EomGC2f~9Q zlES+K1I+v5O@mNaBS5aRJjl6A+7M;qB$j^Z*d8;rT0!ZJw$8wfn%;CfJ&IcY2^#x2 zQ&dkyBGHw3oE&2ZQ||ETb=Y;7cJi5;Bt3)}i3$mVc-2(8 z8UiYrpY{@ZM?Q~Zt8dR*Xf5nLpe)-x1UT2X)x+7}vW3g){=`2M#i6V35(fu$KgkY-G@%K9vYowAJ;&2L z%%+=xJ8YT!ftE-s-KSspefcQTjDoMdX%)E{byQ!db~FfTxSjtUPDM{4LYKNVsdpC5{zVsT5R2Dr$f_R|_Sl5EKtC z{~z0NoP6`^tM#(jI66-=zVlKe!ByxGs6Gtg&)yVDZm#bU(%)N<+271d?)TzB;;kb-GO9~dtllg5TAm^&aRBJqfQ%-#P?{0ZJZ&G4lhgsGE@dLnZ>>Yb zRCX#p70=Eq7gIM@#Yw@X;5hc_6wqa9>5VU?FW)FWdC{cLZ}s-AfgJ*T6!5v0Kz@po zPhnv`ua!{y>l<@uJ?dcBveYe}fEu5H&Gkgj%)63L^Svnl!>;*}ngR^FlQ(OSuVw~v zJK|9bEotnVV&&3|PTkY$1ERJb7rkO`LpE^RI7svw#0qJ)Hd_;zc5# z^qZI{ZKZaqdC3BAAt@kJ=yX!1QtuFai;CV4%fM$I7YDNPV&kz;k`1BTF1Xly>QWm?l72RPqOLW{PT-*H+hNyVjcx$K5hY?6p1$9=l9y zrEs&nT$s|(U~8KDo$^~2gp&4?r`H$P5#}4y%USmu-3Ke>f{~dTubpK|{%9)gv**vE z^jL+3Wew_+x+2R(jb*Ea1WAEnH7Z&L-)Yb($>UDy=i}{3X|_)Cn)am0<+bIx=B@g; z(RzTa+0L^E?w8+%JtYn!D05l;tqUt=l3vTE*I6vkx_MIG_*|`5 ze|a&Zk7VCo^P3!dqiZ!U6Z-sFxLP5V%8gG|EEd&P0$~dgiWo^|m0$ow3uO6hjJRd+ zUCKTaB#+9et2;^EXbxVhCQZF>)-!GVb@Jkbui3A6dv*Vy#uMjvRnzc!1?{g~+y}Y# zL!kcAkX*Tyn@8JqlVAo17p*Lu-m$6Ds z%MJ}fPQP0dMzaqc_4ZfyF}WlI%O~(GdreI z?vWngd#0wR@ulz9zq@{QT{r(|w0+-mi~h|0n$^VR23~ikgm0gC6}x+x=3f7P_O#(c zRaMiwhqFoV(mWpSV%KE7?RSco;Wvje+#aJO-MlvS^PR_6xx6_IrmqM*B7EUfK7QdCFQ$m@kw!Y-^P^HAOV@+X$x>?EJ#jfQgFF)g2;ytK6Oe)e| zbv3RT|M<<-qwxYS8|xa^m~DWK7uV-k_xHxy|6Vww0=hQoOoiGirO8m&A^!_6Z#S?L zQ&_g$a35JiTR&pu@&>|Ke%owQ!7*(>N3OSa+BoB{WjYZx^0Q1B zSt`madE;CE`FU$?#PoQgy+tK`N0(p6kM+w{2TuAzePJSY7*%1YV-bta7QQG1Jbr=P zwqjnLj;a!>yc+{1g{n-jLb!y{-<+-trU!sJ%npV12~Bu&hj?cw-$dTEF`>xcK?)Vq zed2fMa@B_*)=K*Nj>@U>DB-sm@8h3c-liwK+<$)&0~S3mgE5oygkT6#@Q!=Q7Gan;-zzz~fMhP8XC)%5 zSXeNKh<^G^%|Jvwe1CG`vYQJJnFWnBS4|XIFLlXBZh?HF&-!Y#XP;y?dy)>?FC!Bw zhxK#5)Po-a6y$eBq3rHrko0%1HtVf7U=u#D@a)`)O2$^u-B~Y zrA;MdCr5~~;B0h!xIB>>gF{nTYDHXA@M*chDAuZB5Uzezhl)K;$sttNsG3ly(qBH3 z%Rl|_-^Z3F4(OFMSdXG0XJ(-8%_O`@+jX0|eX`mhS=%r#&jr}9H%0Gdt2@ZVjjr^J zJi9hYjZ=mpvCeQ!-Vm7;^pE`O>j$S#YDXJHnb3VFH@T*%(Uj9*XeJK3G9)p;(euryzo2R2T3Yzjh?;gD&xwX6cHA&ym z=R90NPwL1#`9`z$*nFMG5dw~QXKpd*jSp8)M?L?z{*OO!0?2^2QH~@lZ*BXC|G*;u z&lh9*vmtyPKE7o?uFjg@HL>6vo%+*c@9PTy06exOMfH;~HE`ZhPUW}n&$o9zU7ht_ z)kNfkHolJ{SvXdhsyfczR{l^eb!OcMr~1eD zA}{JEVvQWVf_JfZad>ADWiOD;E}}dKdc?ry}WiZ28=*7j$cdRHLM4U*gn_ zk?!RkQF4LO{{hdz{wD6Mr@hJb!FqBK!kA(A))oE8I1-~USe@n}#s99njW$2S*CG#^ z(bt?>nEg}cPaIwK6$M&yAAN0a<=7(4?|0FA>59zE-B1Vd1V(gpM=B0a-I(*8FP)`r zG9jYiFm%<`=AeFS9I z5ci+!+>6}x3}jazaYr*HCI9b0*Yv-C3d+1`yKOPpw^ui^cBWand-ML>DsFZF@{mYW zS1}~Te(o+TbD!euvMH-e+ZX3%3I1dFO(#Ew$iT$Ttf-wgtzJZ`Hi@uuAM*scdx{! z^kgRmrnwb7dueVI_73=a@g?F`0eErorNiwV6U3bWmHqZ2$j&w6i}@htV}i~9G}G>~ zu{6ghZUZ$N@35Ka=0sBAQW-^~l9!KspImtYd|QX}N9?YAAVadCqU!haj#P#J24=AN zWPBpFy74%6sA~Hzm3Q|($C-<>TedLBbHd9d`-g;(DHuwpEN%9r5}8i7t<1?%6!q-l z!11x7ORB#gXBaetfPnYfywmJG_?M1$C&$DzHzr_E{g#`WiiXLBEVP0Aua z(}BjMa}MQoohJ-ztBL#KKiq$#1s$`AlT}uNN(T1z)qaOugsHv2`Uis)3?maeqjyk` zt6r9tSGXPY?H6JH@lqVPWBmA?tmI`2&Y{t_-aArv!?tZ!^?4vl7`~BysuWng(7zKZTc45W0X=apLp82#D$$k7;1b`%W9^I`tzoEEoqt9A2Ch zjELZ}A&XboYgU^U82~~!V_&*Lh43=>?bn~QuN@3aAkWRdey4jm4S}404PT0+hT)-? zYjDuZq5dBZGT|}ST8%N#hZWW%X_sjd37#>2U(LBy2;T&FPcQeTBtq$g#>x} zx_Yq_0UjDkj_T)l&;~>dok7 z9itT8DYNhSyFbG0_NvahG}BfYH4&8aRCn_To4eMrhs{;hC0X@)#T`)TC~4omeoH%k`qfX`3Uqk zvikc=f;%+ItAfs0DRpEawwC;%LKTlYW!L@pYX%kfw``wdTFE&S>(1ico2CaR3xsu8 zHteSSH0q9_j&ZHzO5|+deFeMWuM1Whno8GC_uvQUR>X#>+T-VM7^Thr)z1z}&JZu6f$b<6o=U%AJfwo{ch3sWl5&y_#G`(^j=C)t>U~nm#?QUgyunQ z&2tjRUeHxch|iKJucX?@OVpPXPUgBqv1(Wcq#?Y3UH$05;LK$YX4Vw|E%Eru2nF&$ zuzUH6W~Qg2lEcESr*HEd_jGcUw};Ix7q4p7rk%(W6@X^IBX{wG(!PAHE4gob3pW^1 z+rdfsRl{A;MNYVEq+9GD2Ruy*m_le+FoVIt3Gl$jbNfg|zlIMP<)&c#@~W5vJOK`! zYcUmoZV!7~MbIo}4UDgV_Gk=p_O$M4568jHY7WRYqr)b5%O(}8rTC!N`hPv!#>M0t zLSDJ5;x+yRFF^+x@MrR5=FXO+&(+gDRE~HMzZB)dZRVm}R(OIpywAlK^MJ#lw7x(o=eUX(OF^kV&+tNDhgVxv0Y9`-$e0Q$S#* zQo{Gx=L=C}7p$-gFt=0WiESAVijOooW)u>KLR(8uo3A{twgnAsDYY_vQzn5_y_>MT z2Fp`~Ht04*wUqDL?^J=bKiQlbR-O}hd7Jb_{$wtso=bo%>Q8V_&gF-l66%Mpu2)+C z2|5!ZRkTAMGo`=!_YplSRj}#Gn|0=4o^4oCE-Su-;%DM>z$rcBfcM!I5JC?;_s?Ie zxY19hM!#CMO{aU=Z9y-M?oVo8iI8Olsn2{W)@hzL-n3z0v_WnBh-odB}0r zcWSem@MZqhRj@Coz}`h_n=frA*R~A%oG{DtGE4v5fX!7mRn4z07B5!g5L2H{F80Y~ z?EWF0`}RuD+D4}TbaYJ=&izgRx6K9Ptm8o$FqP2<$;uM4t`*rwYoJ$G5ioCcVoPVAP{Hn#GgUF@|<5>H@OmI1WQXYM>#Op-8WdZ3r0jx>r-!-n{^Z z_^m3kgyu%KiY8I?iW`#msy9Y0d>`-i7WM%5^$ssn-}}uE znKFXjz2$uh!qlUmvVIi!{r5f3H87_>=a%&uNIld#lRcK&4}kA26PNP$N?5Giqp4nK z=&|49gmDy4E7}1H@puBMv=%cz>EOGKj~ls3ToGSg&~d}4)0xwSEVIk{3>B}GUtQ2L zd*IWxImEcfO+tha(mot@)cXTsaDk82%=wbC=9)I==soMeC_z=LMoa_LQ!Q;Rwp*qy zRAP_Rg+p}W8~@Tv_(Jk$^YiE~*QeXRJBGI9NU5%gj}7mzQoQYWi-+JH0&he;2?onUxTb~x}5w_BCr0UdUr5naJxfz{L12{_ZDp4XiRCD62W3)m13;) zGU(-jq%ClKkL)|7O9A}hUxjzdFJ zw1a!gS`e?Aqq;f^yV;&W#+gSdEBcDA#~H~+8B<*1&RMyXJTHKYewkQ323{$ubc?vP ziQ0_wE7kUPyg3V!FhZ!1L`d?u-P-SHYIrbke`P?150L!VuO07rNypzNdL=vlOL?53 zL{5Q~BsWi{8(p61gRfm^(JQWdL3|I^lyx6pQ{Q}xT7R>aPz97rO-O50eMbG;xT3=5 zhbue;f80%Xv;J?abfTT3s+WP5?Owr>OV+F>sBKh7<+fEonS;FBfpvOj1U0rrf_)vj zxIPWc1r2~QP665l_io?L=E%W2A=C#(Ru3f8LYhcj*UF+BtCy=aeO1?aK+w-*^r+YP zU1CNLRVOU2SZueTf%iNXK^~KUmS*4-D1wh8CvMiNo2^$B0qy*8um@B}A8@*O@X9lO z_>o#sKLXb4_QFFNW2#uyQ`K}u)lyUS*Rgmg-q>2EWJxjV)Ky2k|74qRu&9R0H_}yQ6XnCQ5(Q;sIAiW2jGgfB2j{Sf1 z`~gtK`hgk+%Bi=Ke0hK!7P|FWjze`4H?Jr$ft29Yfe ztPNO@(n6Y#VArwJ>8(?z0}{dqKBwiVGPh9qM5xg4$Iv4iiH)*hU02IKO=|0qrfT?xvXM&MrKN~hV~Tl*Rpr@=XoRR_URdD{o2EDsBXa=F*g*qyZW!oXKzSu%~yw;x6!EK8_q z#Xv_K#|81@@MvQY?>}tswCl|GA2-Z}97Y$&drB6OwZ#L}6Zl{VxFCcQO$dnyf}N*r z=;$khBhbuEk98EOA;c(az~9=?k$rJQCB^Nsjk`JsS#L5Gg4cbjH{aR0@QE8?lbKh~u+QbBc zf}ZEh(I;3owrAC&VS2T#?TU5bIwOR07sorcr%L{*U~q-k^UHI#*Gf^zY2Y&Nmv-)f zsUZQWzP;>KC^&5+aEz@-$ubq3#_&AS-oZvtbWBN0qk0`<77h&WKW%cr3fBNbZX4;I z`RQp87DTo`t>42l@QCHUlu#xJ1Y&?HHd6>zS9#Lr^h-HfcMbv~|^8kd}$ zmsq&w|w58B;Rv;z_Q_g}`G{7w^i1Ijq;NxH&VeCE!LM5XVM;$=wNrPa! z^nxsPa{5u>M>$;h(UCmO)C55mH`5@e*PJ^l^f+x|wC3rp02AK|umkDOC}Z@kbg=Tf z+zLFcsZ2Ze-HqcMFGrL0^=i&~xEX4x0~!yqaB)PB~(Q!~N9z>ck`m>O6-*hfF8(%Qd!7xTJ8yw-{`}u)rGfs6X*4&Hd$sdb9uV z*(d#lo@xgj2M46r)&V@xJYnXxAC8J%=-xjIfYUjAY9;eVxn z=FN>$Us?^ff5zR=eNUv*$9)^>0YWl)pJ%7Fq72oceT$Ea5rs6;>~}MI{FeRo2QL8dN8hwg6eW0BrnWqd{590%VjG|4_swMG0uvN z-$5pSboP$vUpVb8QB4^GQdT5BK)V=#itS;`bSp%nZHcGV5jB8n@>?USahtfkidsEs z22GUcxCbyvm`rM`4{;QWx>+bsZF7HC^+}Li^smj0UJqg1YU=cr0&Qy@W-n2}(KXR3 zUS2CJ5y~cu(Tp%pUSDa2h|Lohq&58OG;OW6*g*iW*_*%LQr;>MXeB3_D{j4dpRP6R zDrF%*T+7Zqi#aY_$GA4swum|W@~~1xb_7PeZT5E(0nj3=1W5Ggl7M$4pb~ zV#?~OwdKr^cIQwkd;@0TNm6t=G(XY1zvK_(MrUlJC2JWX!Z)f%yoOz;ai3W8ETM%O zcT}MF?SLRQ)#cAsZCWq*DVkWdZa#%5K7;L}Ax5kSM8x4_O+<@VDDqe`O~KE;?H@b} zKS`V%M~#z2N6925DhT_ec61N6S4pV6gk3t=ZbEO8Fk_g$#!66?JAZ~xb6_G#2MI-z?4{7s;jc3#BVwSXZG+&XQh zK^p5>&w9N43s{0=7&6WSRFs20Jc=~>OUtlk)u%@H1edTo+z2A$(1H2D`sd_Y7L1Q& zH|>AvWSZh4+yA(~)%vi`$O2`BeE=OEd779q`0X$a-1N!t+iX%Dq)S!~)RRz=cK-TM zdGa2q%(x8j9kD@emONa;dYT8^{7-u6O2d0z&$-BSY#$Z_aSX{O(1IAe3rAc4y{b&uk(CrrcFQLV3 zJJ}pbx-764v7|KJs%t&7Jm^>niPWX;hnBqkB>HV{y-i0hskVe1i4Mb$0TpcZUE%NK!$nP&+>itd3 z${l%zV`AxL8Qkvo7r>HCet%$_aU-(q?I$IA`MMUP9%|pfNfq)OoKpUQT;ELEI@vud zdy4jHW2WT0GY1CYPiTcEv`-Olz0beR6tCv_wikF)=i)s-Sl@U_C-cGm@KcMSgOggV zvjIGO`Fe$@!+8?U(5;_ssO{ZPhUVjbe_#~8M_%m|*(v;hX+(*RFTB+U zlh(jau2^$GLM^&>Yw>6hfDQd$e zMntl{9^EBIgp;qWGNM+Znt7}qdRRxEFe4`vbex?&HKYRKBxEav{shy#aB8A@sFKX{w)H4Bw!4&zBKoE%jSR+F!mUKnNQzHweF7n7j54chmRc95%YU zO}xE*y#aC2?P@|?!-~fiO8&t|Q6e!A`In$S<5Bn(H{NL9EWFEZH>1X}dPV7)smm@c z-TNVl33hk|AUkvImJyvmV9HZWzSEj8Ka%Zb;$vDW$Shb$L_UaE=v*GDEdb?|*O6R{ zDk2s>**t7YK5VwtH8SC;5#b!g>SdWbrxvrNqMWWUFdgvMqUcaNPN|gYEnl{}_hj*2 z^{oY5;K@Ot&$#7O7&aZ>q0MvUN_mZs)+bTOf@-C@!&8q)6CKvgL-egt%e{Q91Oy^e z-FdfVcQ=2sZd3>9FnF(L`e8e~$Z_BR-Shk%f^BxNqTbwT6c z3~YltDG~We10Qoa&>kK%wWxEN1;8*cxA~;HV|{U zX(_S_lATr2AQr1CsWrG*YQF8OmXHo*%q==^HDTO z>9V45a!W@;nOKD%*mqgTnahVNp5CyL{8g|rK?I9iJts%;n(Db#GcMMee)cpr%Xz1` zv!b%BYpQ#6dVB3~j<|WUp-Do3inl??nly7QE%kHrE2B5_x6g=kH_wTpkZdvFCHM2G z?4FitAX2cXD!D?l^p!i}%D+~l%`HvEHhgqr*K|yI?MC$x+yL%6F}kJxP!Esnq>uF)o>RTZ1e%QrU7AflHnZT*6N4mj36Ke-Wy&X*cWabs9QLbxu;-!-DK96HR0 z5_Nr8d_u4;&Qst2AsafLiA}FG6_qXBymB^Qn=^Xm&fOq4rtknaYFbuisxqbX>4Mmqo10JV3#;?9_HA2;LKk6T%JAVSDIb#ClhIQvW>}_g%0#VTD?d^Hz4UtCfF1o z8p`qiWn_}Xt2fsNYZ~Okfngy{FC?{Rm*|rJD`2SN!u)~xQtcz=CYWwioK9Wg%+$F z#c4rxMQBV)s+)JNOCzCO#7eVQQ<3fcCE80*tll^t+flmXB}I*{+4f2P6+HsBAu3J| zGnfrrZCYKq*Y zf_T3|;i^Vqx9-Mq!P#!6?rCY$6M>WRt>B6MiK^Q1!|r2$Eh-_)o0EN2xHO({5hH;6 zkAdcyD-(@jw6>DqeAQWqM(W)Vtqg+4H&^$K_U@#N1>p7J7mmY;ZMYIT9#zpYAb?%D z+H;u?58}fQQnGvCSSaz`23e5E(~`SB=gFVs(b~$Hun&+-O3OZS!zzk+<>&~4ucOZ% zIXD(O9y^#dT!({LUdE=MfJr@PeSWM@YQx*TNH_DBj(oM<$C;e26wqPWo9xYm4YQ=Bvcd@P07ahk&5ArI zFS0fZz^$OfgX`VRm9D7kff=7cQ2k6gD5UjH#P`frczrRY?`fnvr5s1DKIi2kZ#%c;|?r*yL z`?WMKbkDX;4sRS?_Zd)*J`5IUxx14%dU#~%YdGGLP;f72%^&ks>4kH99D>r;!>c?G z+)0}b`fHwx-Tkw*vkNIz^w#>Of??>>bP9?9+US_;c|io7G3KR}2JyM!umdJuOW?+d zM#VnL@4JIr+}59ilkV?%U0UxIBuIvwwZ1vg$~@moDW!66W`o19x6!#E6Q{Y{rVNfT z$SKwR`1-wwuQ>O$=@)b;gcFwU*fvs~$3C00b+HOP*UbU??UrSC(wC+ajmAYhB>Qex zqrBwsay24cW7E@}`V*L~{io%})70V~{+(wTtMyuNUp)8#mmzf3sA=YA&6e)GiDk^F z#RdLnkbXoejM>ZNnm{BLHxD_XK%}XtgW-~6Y3-K-Q^yVE0YuE+UIc@5F=+ID?Z(an zs07WqA&|~sD;PCSU)sD+31l%ClKciG>QDmE&(|pmqKrOHyU|Nno)DfMAKMTIS9M*F z5_fWb-HSq1U4m8nWAR6iU6*RsOAu;txdJW!`C>|2LBa}}y zHU*x2tU8NhHW;$5$8GF~aL&uAoM%V?j>>gzW(LS+Z{4c2u9sM{L)j|rNj{SKH!s^i z@7@Z0>>JzbnQ!=JE;sTT8h1(_ogNogx9k>+iXIkvuv-ZCDL2TR9gfU^CZF_P^SuMI z1pRi|-g8#N!!W^is)(%^I+K+oO<{AV=#no~E!z9pINbh;{PT79I4NiE)!sbY-)3?= zyiy*y81yXe7C*AgWqBw6V5{H1Yp2A`7HO<#FW2W3*8e3s=SXvpyXfB5o@>wmt3|mFw6qtBnD1*~YEvMgYcHG~TVd zWwbW8tkNo8Y&difzqKzT>-b{&ae4>{1I^YPRprxQo7=d5E-AlSeW0T`{;*$Rsx;W+ z^2XA^N`K1;HNmc$<*lmC{o(z_Rkz=Wizl;+?yYySh$HJRolb_Ui2L^46uRc@B_*ua zqEC8k&+WULT$V?Nm*%r}gS)$cd;=SmwH*u9g$Yyr*%aw6%heRjuiS88p$5`YsIp-z zC4^x^jh@EgAu~>9m%-?T=E;erMwCHjj~V+3eGxSphlVAvK{hUNgDOZ-VFNak17Sf} z8Eh>sE&UP%7I|zN0)~U3(CzX4{kovAlj_bl;hAUZMVsLIp#gl>mVVDxce8Sze?#M$ zUqZ1EZE07_kp?0I9l4DVSd9u9<%C^fIfWmAfs)j*L|B0i{-%9qlXDi zkVI7->V^wj@lCEt&4wlno?Z$Nb@`O zTItQ$+}v32zxC$v1Lc1=S7!-UkO)--qe8>|{3aokaU6Ld6wTLHUNjdkKmDTq*18s_ zq-%>7XZBM7Pe8E0D;M@{PEU@W;#_w@^bZ6j?PlXB4?Xgq0#@2W+nBIr0k0rS{D?Icm5!y@MS)7ey&8!5!0}j}O;&sHuK*oAMCq*_`U?#o}{3dSFLE zANjnrL_JCn&GOIRTIU_bT`2v3z>} zm+mtkq3Cm8Obu_N8e!LPa*c@$^O!FkX|Dt3lwP6R2bxPtW*+{|BDt@v z_R;M(j6j_SS^cH(+JZ>kgv`Ua`^aM7u}lz1P{n7(UUrS@SK>7RnuL;X#tzp8k_QwW zhT?QXS9wvufNcAVJsGX7TYNk8l#?AJ)6zu0uNT;Z?ywS4SyN82jwUCZdwSb_Q0pV;D_jI3F#ALlw|TD`Bd;M9CCE#zn)&A7o<$ zwe0%bj_E6h7_K%tlC+k!@nN$ZkiYZ8-u{&_0pd467pZErmD-u+b&D1YNdbw%U{KTS z^s^oKZ!tbVmeNY6G2?DIpgfW+(lR@04hjv!R=_i4*_Loc+qeRu8JqbzT-g=m{s?z3 zwpu0lEY&3=;XUE;vY
    1}B266i$Ihu455O4z84sv9VxLOM;1&qYX;Q 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

    Q}LUWZ{wbP=EdHR`_!hD3&pD(c;;cV!gg0oKU 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 RDAJQE`lTKRYuD|#000vo4gmlF literal 0 HcmV?d00001 diff --git a/docs/hugo/public/fonts/LiberationSans-BoldItalic.woff b/docs/hugo/public/fonts/LiberationSans-BoldItalic.woff new file mode 100644 index 0000000000000000000000000000000000000000..aa4c0c1f5e6d77e67c9213a283f0c4525bb24397 GIT binary patch literal 192500 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 O{B)xax;R`9w+#O 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 Qyh&K0{xkf1~fwf6y<;4FD2oAsEaM3K0+kc1VIW z$b?)dfD$N$PS6c{LLcZabahTc-6t)3^Jr+-fp46$3pzt_v>80}WPCD99n;;f)pb!1QNneG~!5Mw>;@{sr{pQPO zgdphNd+LTqf0kZ_?Rq7)YhF~F2=F0@}q~Js5?PzWY+O6 z^1*}m?R(&n6HF|}Wcl8`2Od5FiI93s)@nCx+kS%b$bQTzZ}{8RyH7wQ#2+t{*RNkj zE#V2uCfhMtw{*oVx1XT)BkY(Q983-23Fg)u>mW~^F=xRE(1GE2dwI%~ku~EcouE9@ z9Fq+rs%s~nVAjhSE}PBNOkQs+mV5UdFytC3l6&=HX6giVh4N#ve2< z^}C-=Kn3)3CbyM;j*Lx6PS29V@T2ku-Bd$w%g? zZs85hF0|3K6u-C9?01Q#75Sgjx1GL~0!L^P{kGC?hu^#T{lEEpv;3j?c{4h__bVQ{ z7(F(MYiovYZGP^#-}^0{zm_qj>2E4~u|My(_wU-arlj}i|CA}`>Axq<{nZrDj|~T> zLfO>wQ{mC6O)!2~f#*IT9L7)1^MCv`yTX^jREAB4&|l7b@AiGOYo_v>+*=@F4EuM~ zfPF0g53oR|e4QowKbn5ZQ@lSt-`uD@?>%_I-`3nlBrU5e(5!^J`BzEnsO1vZVwJ6+dqwl5W~G}y&K4R(YPi?Di5e3ke8 zVx2)EQfOnW(TYeCQ1;o&XZ_~tv0JTXyIB@rym+!;}K+aSVus0`^?ZCal@D^a?x-4-pSvAHbjK z-`V(?JY0N?UeC)VsC#^=*jfyCawa_H-tFF{&H>m>udfid`0yDqP54?YSGW(l9~QS< zA3%v{hL3R5)tql;kcTt)>m_)+XD)lR^dR4Nuf5Z*l_b4_u}-g%K@j0_J?z!PW<6Bu zp-d0ide3ZRzWavXQU+Q|hZgd+A|5h{l)?*>;ANtaD=d-XTrxMj#%IuE~kgk zelbf-kf3Oh3i!hS{qRos4PkTrv!E!1hq3||%8JeJe`wKLiN!$38M{?4x7HJTexKW9jeEpB628bII68#?%}fOMe;r2oK4R#-br& zwK#xkijl9+OQ9CO2$i88s1glD)o3D`i58-jl${}tgo3vDc`2T6tLNM1`S$*y6vXB226%-XDvLjMdNdFEM6%-WV0qoNq$rA9bzH8lw+ZGoV z@{8dg>^Cx!eg2PKyp`dZT=mmP-;j5)ccb zgs057G>4Gmb%e~kAY7aG{*>c{fKWH>{6e)pr%~N}Ok{DetxQjXun3smZ=(I==Iuy6 zt&`A9H`2sg8^i^#FI;eT!GbgNbG~@%_2szJf-?)~F-=^^Ry_LW;XrMi)}ZKUEQW;8 zoRShv;Z!eK?YVsU4b$Z}0+y6|@@%G`DJ{^@f9%0AW2o}+&ptO2Hx%tJ$gzAKu34*5BsWp@*6eko5 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 rBbpfCb1g-Oh69htxp;Gue(0Bj=HUcCA&~yYK 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�?Rc0&ZOH4}Fk&=-Y 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�y2t#*2gkoSJ@bdi0(2`_lOr9>f1|znU}swE)v; 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

    ?!q>cpMI?MHx2w&>L(8I;f*87C*Z4 ztIS2Wd}$3=+lYS^lCQ{t9If6SK6moHJl&B(EaW0?ysLxG!I%4xc%f@TKIF$2%#8}1 zCrOiSbj9T}*xj0Z^7vem+IB}y_n#%3fa2C;Ib>KenVkDW(tR4*e;d>NBXqGAFivV0 zv+MXDV-*{AQccH?)CO^2ND^9TheyM;WX8Ag3O!~$<#YmtNFsf zNa2uyf+7eFse$g5#w;N;f7tTxMvA<;}=W(JSIpib2$0Ah|1n(xm*a2w@sBwJ-041<}ZeT&<6cg-uw$!XD+Z)d?|8amf z9TV;?CP$G?bq?@~gZZgph-iv^BpG7PU3mR#`3Ugi-goTXcPO`$bDzF#=gzE0R;_&~ zvUBH@JDaxYKW6^@{4b7no$~4Lyg@_V3htXWW(rR_+#o}U$@;Io{ zGB*Lo?0{2gB#h9=7|n7`Q>#+$Ai}9+QR)q@N;YehK8dOPkOm0eHx(v}QU|0ml0x&_ z^HZ;$nrbVP8KNH(WBbYkJ;&TR^&H-y;5~BaXwD!&dp|PX4avpHp1r%N&^-r zbSEqXq0{RcTfI=9fu>fCNvvpUm5PN=*~T&xHi9Uik0)$<gJ-OXu< znQIr4W1*hiy7s>Hd`1S%8_l$c=HZ;oKp6AZl#seYS-)(z%^nQ|>@poaXt2Mqp;fN7 zx%_^$OJlBSXfd6x>J217TJ?|Y52ev7ME$C5`a*S~zp1s*6v=C9&5k&nWzZUE&0-{KY7L>lIi}RELNEQ0 z(vG@RxxHV1#Z8jAu#)iP-rsn|&D1eXINE6l6utcRt8ci)XE5s2Ytk&#gWU%So-ec+ z-wCdZXA^3m(uKn+wZ!SMO0shThKAOF)}wZ4P|d@>rv{yH%1wK}G}L=oeQ*Jd|G-4y zNZL7Xy@v%uXXzSnN@?~M7lo%7w57}%nvstO}z9O6 zgEfT4r6;|hM#x3BuIH9J=(T;y9<9%m%if8shOxql8-FM>d&SI7srni|Z$*fh7V12V zdrQ%Kz-qfaLP!e=4AA{5FDoGIYFZl#ApxZ(E}oE6_Hem2R*1uQaj~CQzNl2x#`$DT%ISdWk*-nU_pK-XUv{Wo9jUTKrwSS zJGL7m%QxW^Pfq`$yqt#l!}#P*PE~$>R?}kiX2j2M%-Pr%YmDdm9X_?mWOPtugbX`u zZs>s+q3`K7x{ZXAohO12HKn~hm^5N(ugr5#+3<%6ljgV&E48vA?x`%UZ?k<7dgiWC zL%r3-cNZK0FQyryFC)RnnHKYY>->%M4KJLqKIp!9?d_z&dGplcSXV4&no*qx!b%K^ z`?VSgVFW6bQA61*R;%5j(HPZgv?H6TBv{WPb#8_0eY%=JkCK}`0Nu$UM|@l6yoK+a zjd|>u7iP-jw7ng4y}FaRaQk-DsjYNXcYN^j($Z(hSA=iPTZyspJhRk5Xsv3J)EbPm z-mbTq2`#0u7&YjEyBIn_4ZWQp?z!2F%aOcuU`SsQ$(QHJ+3znYb?&=)c-&pwf2Gsv z`yb)k^JD?j&Rp4hi}`-bt?SW)>ipC5tR4IS_8H~5j8ON6#S|q|D)kBp4fU}}uhl|* zt98gFQVEQ-G$IA9Xkbgya2X5!GhHN*(e`nbFOre~euj&*yTC!Yx*tKws%u}6kCX_E z^-WZG=S|oC%KVVD(Iim-=lT(-V@ioZ#Jc!ELz!P9iA16%zn_dcoX%=ZR5N6-zPzzj zrq?Sy4Gy4jz*x}X@OZ2Ztsbqi7Hz?cvKw1PCZeb*<&!1rUvc#@+R@FR%G`{_EU2IF zM}c8Dbt@_uD*u&RQMEwApDY9tHN_vpr1L%(+c$~CV^3_nEoXG#| z_m97B7@=r1JE^F+BQM(%V?KC&)sFhyj!_-=&C)W>=XGV}+ez`~KQA19dEH<05snzCCY9#qM4hdz%A%YZDW$H*_l0j*)2#lwb zrz-=PbJvMRd?%mX8e_+v{khn&y|s15pF~qCO58&R%w8cY|FuBuo~?J9?l!i~{DpFw+g10g zR?f{T1p2;t&`d|LFH%5^kLR0|$}DZLfFxZmX^<+67C;4Ql@>?~>^>h1JAGQa2$hd9 zsGC|1!X?6M{mRUI|kIQUQc)8$P5mBstB2&b?YW$R(G*+)4*84C)Nv@+Xt%a3>hwm!VVy#f@Aa10 zB(@63(!wZ=)1pyxAdu708i@q7Ml(g3&2ZdivswmCoP!W(0CdnUnyNlVq+50VxKt=( zv~ZZLeaC6pUKd_`{Dqg>I&L2`x0)OG{1pn@E97O&(WU(KhP9uDq!u>L()IeHikg z3+u-P@d|4!7Iny|kS8~{ToV$BG@3G`Bpon(a1vR;U{)5i@>yEBQVBgW=!%)34{9KB zO(Q|^)V@ln^5?bq+rKE~njz@_S5;MyPw}VNFyuE1tPXoT#RAa&Tg6sMVgOw4D(;-t zym+}GKR-_rQz~uQ9#4R9I&BiFq%;@~``FfmmL(ZFgHs?T%%iy-`xo-B#@A(A=w8IwxxY z>0wJcLmv2;W*o~J2n$gk&ytB%q)sZAi$tWDvKq~1o5?t~)kH`%sD`iDq$dasXAP4{ z3GR48MsXQddmDrr9X)&nW${i*q`ttOI5m?u1YCs@f%M(!M^DL<@7Y1 zqbyWwDGe)$cGB_$8d|+xjnYh#A`x7tqGbIlbW&QVhy{Bi?6nQOFLg$& zmt11kTVJXr^WGYF-x^T&^4qt4ceH(7Za|il#Kxz@3np#a*G#?qbrBf!*FT+M9z9%; ze>~fr6v6$rj=9@Gcn?spK2sSSPd3hX^^be(UZpZ<_Id*jm&@AJ>T8Yj%`Rm_tIK4vSoBS; zmNePmjxP!dqo$wb=WjLiHv6et4&?^$Kr*z}wF=CATQbVt1l{R%IJ_n&Uwg7mXzP=a zHn|J(|9Lp3F>p-T#Nv2WL}#VUMzh19QaK#Cq%jcil4Onr2BT1-+-@ZCVz*U~a*uAk zTThrYSp*Rh%0G8J6&=;Frq^{7o>b+J=_kbsZ?&Pvsgfn$XyKOhy`Sr2N3=Jt>3DF` z-Umn8z*F7R9n>-xGyI|B%%}hT-$fd7R(`+(UEK4LDL}29tSI8}0r5{W_qqcLpNU7=L6%c5^QnHO~Qsq=2= zAacM^_S;u<&OR8W4QrNY#N<*bO%-)EE?hqLclL?PYg+5acT|9nZrMOiX)H6!n@s3} z&h5;Po5^S9|9SGHDf2IlJI2b}Ch#%&3;hF(fpX#oi&RS4G#d5-))jOC>tgx^tmN%c zwrCr71uRvg2i&%^a$eJCTW^{8(1yj^Wotx(1~t#^M-Dg?xNzT1n}6J}a=xy1%;Y!b z{~q&b5O|EDAdmb+J~1kuMT)GlT!};`q6)%ZuTHCtX4!KkB<*q$M%5S{(CJiH0{BkG zYsdp=$G2N8srmqdqgs%Cs6t+O?;i4rG;ySu%Q3kDcw$AvVBMI~vhbuw)-S$^UM(6{ z+YEhx#;)3iiFa*koIJ9+v&=9AeB6J$W5D2kwTqT~zkc0J{h<1`cP0d#!~2gJI%mz~ zfn_zrE3HoUF5PF8T1*gbB9E99&$s2|h)I_enspbY2 zlVQz8iTDzEiNA~lMO@FG{^PPOTqS09jO@#)ARLLAE#(?4%%pHa3P40sZb++u0xlPi zU7g?mq-xoyp{<8*xbfbWgDYcGUCMqr&#C7(%q?#o(>lL&n&|f8YHMNL$Y}eYR^QP> ztU0iK$sebMgClnqjTy&$HuAC2lcrBSJ-P2kSgOZx=ww@khG;x}0rLStmqJ>7pkA2`0H3IU(N)({l^(wK|ET(Km zqn#o&8kzYUgX|JMJ&CH4q+gs%T9BB)*aQsaWP8PuF*9eXo7at3u4&$4Zd~)~+L)Kx z(GZ{Aku?&WV=4z^t=zsGJpRiipxuquQ7*UyHo-n92o2hy5KEzxBq2x|kd#)bR_l}+ zl}8m-O;ORROLCHwKn;5tl}D;&8C2UYNFeb(k^`XU7g%PYTeJhJ8gz|=)(&dYH&w+f zYb}suMLU?u>}zMvQ2W=cLA)3MzZ?PQ2G{U{o)Ap{Afmn@E@#y6g2Q}w?Vh#tg>EtN z|I-eQyA`%WHQ+3OCgpJCDmZXb*~chT_eA(>BB=oi2PYgD?2(>0P0knfK+akTCowc0 zu~0IF0u`U3XqV05fO^U9u}AGw?6m!o%4n2}#nQ`K_JVRB>}8o-j(wnhfZL--I<_1~ zS7p;OP|w1Lzru z^SE{Z@e)`8*`h&Jsz{|$tkn=Y%_Rvf`gUbj>W|)P~%At<{?yQB8wjW0sm5&;|Jsh3K{?z9281;v82!u3_Sc z*&Uvi?!PRWiteTlAQcn*5M(ibSH6aLk?w^2%0~BBHF~|m4$WnDM5Lf|LZRHqKM0XD zXj5M{NiTXSz8pnZiSuKMMx<#pxs>xdkvo8{olIgT_rQd+P(zibZ-;@;nw4wEZ?SZkrjFqmzloMf zMa$vLR4yAiW0txFPQYt}A}e<+>;8A=WR}|xT1%sT5u6HC1|WAhQ-XM|gZ+IM*BL2~ zI|;em>7q1rFqm!5()q49F1yV3%jR!Hq=a1-XiF&B>lkMS(-vTA6R(CW6&5TY>uSRR zV^I!Vm$Pv18`dtSB)a7WvU17j8M8FAK<7aDVz^RWKGK4Fj%pTY1DybuEeMZB6$Jr- zifEdljA&35HkDef6^X??fM-qjN*pM*;}V^;afse<;STej_MKfd<1J9jhFsOE7a z+6OxxoweKv_59)1EA}zpmCsq!Z}a&#)~+$2K5ijiqM}fj83;SnnM2}1 z8L+q&wA?^AXqu2yexq6)FnsH>Sb+Yb?2_5-R!DJm1*pi`PoXkLXZMN?7P`Tmk?C=$(O#Q9VWU`9zibq8Q@Ek{Vv9!V>$#S+Z2oRf|P1id57Ljl1&#E>C%V@vP2-Zf-@)lk0PY=CL`5yNH*_PF$l2`T{Bo zY1XO~mqa9AErylTqQXdWrRxPb25D)&DbH0}qrE43uB^Zu3C{A~Yg_S>rc*bng^B{8 zU2b~t+PNE6LOxE1d{m0|K*_9)yWLW$&89Hubd*A2@|t{TzfG^b?2ukeQAX7lQdO2> zI)O3gy2A1@?7RqQ z?dW={-L9mZmtBU7%4E5QXl`X@ePI5;M@otE=LI!nT6O~t#sSc(LnrEhzXmkdtg9KW z8{yN*kwvRm(lBF|dAM$P%^g*<2g{iw2B;cNfjZ{Yy0j#YG(Bqz(&5SPzS>`tBxC}nc5!;4m537reYn_(mutqC}=0A3ZV0G%J&?~tB z^$66dVwsF2jT)`iq!C?KX4VD8o%ISYymIvztD##tZbQ3l_~0Yq_H}Kp2f(NARMmqM zOdvli*6)wt6DD%+9gr4`sL4M;S{9UhfVRuuS9eh80^23aV;C*)TLyWU9 zZkCcH1+4=il8Y2#==Wa+@L#BIE3OfcX%P(k-m4^63;x4&=}41~k%EVH;L=pGV%pU1 zGt*ca$Ua}j{OTWfX(6{vgj^-JYG}RQX3%PNm(}pQl!1<=sKsK!XD!mKbaLlcA||Jn z`rPIscfZjV#;7OV%xnW$sPFz9yzLW%ITg|+vbuWLdeo}s*wtyXDhpU!CXoAi2vg`zZu%XY2Vtdyf_Be7Remuk5}r5Rxa?jaxD=K@sP zjenOR1WhEH2mtl7w+~iO3-;A5i}sT-Y!1vl}rd84tB=_4+S8Wfg$F3-?3At zj-EP2P|PLz6*7{6SA_7AU7~cn6uMmxLgg&ph-Ck13G*H34>4c+JI3q-Lqp7I4l}aB ztC`Wn^qwO`9$}2jvLzlJO}uQd6499b9G@$$A1>u&PCWnl0{! zLwRA+9du_EW#wm=f`R=e2lK+f=COGreozo*Mpqil8o5L!m8ms4t3fB%7z=$R4xdRa z6-yO5joze!KUI^sPXp+`f&YsB4A+nT8DKIgyR>55q2egsweoZ4O5q5x1t9wY@P)r( z_MFam`+U(RDz~y^+N>pm0-}kb{Lsv1yUQD_&MM4eeU4)K1CS7X0C}lADe9s~j2L1S z!Nn8;3FZUlhz(Q%k!a4|t}Y1Q4&hI8@HEv05WjIm8Y#EjEyPyl> zuZQqYaPTC}&O3T1E&}meK+F5g>o(AQmHwcsYcGZ$58?lpg9oB6*dI7fgkKa1`M_!B zHRf6_$OSE;aa{}c5`ei(e?a;mZzO~*E+-`t5$J;26rd6nF}s#ykt8Atm0Lojujvf) zFXo?3?*UpgVBy-edl#ZHF@J+NvM~<*Gh#q@LC1%Pz8bTCQv52M@d%`BDYty_9&;@V z)P4G&EY#VBd)KaAi27U3v=FO%-XOGu@mX3cl|!{IMZ|S6?Kvnf6kmmnKh%7-Ts2NX zdioa!^;&oJAcdQ00oHLNqJC;3J*@mb_Dx871E>`H2r=Rr@iL8gfE*PKus}rzD$T#Y z+x(M8>{~i@>e9#X`(GsUIMWPH_WTUns1PR<(zsG4qscBYZXCnq1&RtaKvWAN=>5c) zr97t8Ft3?k{GA#6rD@sH+RaOkH9dwK9lvp+ zdX^%UMl~%7f!xwkboZqI-;){*;RbVXXn#Zd6h)ru`6y9Sp@^`c2(}hlJgxX)2pht% z`@jt1uY@74pnRe*wZZLG(FmA;|6_O;TdxAb58>cP^?X1`Pm=k%Fa|<6nX@7-?kC16 z(~~d3#_H#w3fh+7F(O>dSs^Y6HH#V?4fH36D>J?|fR{ zzQpeyV|*tPx%o+aOPD6nd*bgQTo|$?LaYV1_WYugNEs5nB?8A%CQ6QF5HpvSh%P|b zp)4%1i_q&N#7eM)V&$c^+;x*Q)PSXb0>aDeCI#ze%YF$?BJi0>*{#N(TsFnWF!-&OEO9^dXn zc8LIAi)gO+5{pk8k|2^@)hSPV(el;ujW{c$!^Y=NGFu&!sNt~GSZy}kNSTW_dl2G|3$9< z8i@a4rJ7F1kKUp(VfcCuzLtY`!Tw*cJB{LW{LCw&vv?kJIX&@t&wtr@9FgF$BfL;I zoACOo=io~D`QD!3u_pU_B8d-xd(+m}(^?LvK*mv@hl;=Aal;sVA(%(lo*{vcgiTHX zGU4VZu&to&dmYM4vft3(THD3entBlOH`z}ul!=~pZk%(4<0QW)7x4Wbo6wjA$-Cf`v5H3_76RY0Y%L?BxSvE3`cI+y{ku(AmBP`1vhw0+1{Gln0{ z!V_0{cqm&>_JT*Y>LBJ(0VgwW@jR+ez}QkKTg{k9qdB;I9&U;d4%sRJK4_~3^Kj!6 zYOMg@c_BV%tIqInyM%DCf7AtxFUrx~!NXlhh@}MQNA!HmoaN?l3=2nm#KYAjXmL{4 zL45RTtP7%8hv~^Kc8!B0P$xjWq)6(po-dfQS)2%#_?*)R1}OUwR!RzN{&`_P z;dnmb>A#hb$ddiEFy{sR6q8?0;-DH6A_fre?F~MVJ zN2=Glv!}lHe91k}xVN?t7O-RG{9eAIIo0srAllVG&u80Y&8;kKc&QN8nO`*sT zQjL2;#d0dcrl7aor(wUT3Hu25BmIc|roTeJDHabX0Kpbt5K zsE?P@)ReMgWn^s`=tO_w-n?7}rj&J}FUORTnlb?Y#~q}FJuKxNJ=DvkrN7e8*C;2? zvjF1Rfqt z?{{YQ<8>;QHg|W0Tz&SVCaoWOZtkA>f9?lblf$u&igC7XJLh*It_emrLfFL3LXIh){d^7ybFEamLrkDML+9NR(4k+Oqd zLmTYE{_uFt4t|CEyK@ZogZ%2Co<=SeI&mm?&o!i1;)q8 zK2|}$J&yTVmd;O*2X*wm>|82c=Zbo+pf|H1d^0y+FK{|K7jkrWR*u+~244kv5EtFW z<4^Gv^gNv4u_L^2{O9R<9xsF&z{C9^!DHq7D={VUy+J`^jD6%{5%!S-iJU?fEAJzt zKGQPM-;=oCAonuw;Wp3?qBiP8c9f-%Y{SyYP11Rje2@3v3lO03{Nm>Uw;PZ?A9(%j&MU~6k5h2{ zv|)PX9G#8ad_$)UluG4vdR)|w>T-z(K=>AR{rr0c5sBM@#|bn}(BlN3Ilps~4>*An z)Y%*q8x$gagDeH22glcj<+VILmj#%&5!#FL8Zw9o{LVPJ7ka;AbmL~Ddg>jA$-*?C+ zu=s{0Jhmjhdtf~FKNw#HhWnb_gL8~f%zA7IyOq+Xa*WMT_l=;dAnXJd7JQb39i8yH zt@0G?J+PlbyjRJ7Jbg*RolWuUSqFUyAWEfl>O$Of6$%SzD;0#0ifb+%-^AX zi^Lsd-@XZO@>!jfKaxrR9HmLdjUF5~ZuW4aO7llhA4Z5*B>S)v$T@$clK7bj#4Qv# zCip;*j0S-x2sFXkAQ?>3U$SHgkLM}4u6~q=A)ZQ1p9Bj8G2~#qi%ie2;5Xw%DDG*+ ze7&Fego8IhJsL52$#mcNDY%Y)#Pe0jts~x-WIlj$&tgY-VeB;x&sQtAj{eER{Ts%R zB=2*={z?n5A5ew;fNoNU?K*&F6pG*T35Q!|6WB)lrakrpCUU;e-&uIn-BUg16K0## zD1gtz&tTsi=Z_$PO?HbBk1~HHL zbFvNM`)$43APCX_;Bi!Q<2cBTLkY*BktrxiTEA|Ax^y-kM;kYeH@I;);5crx+DSti z{9hn`r=js zuTDI#{ki!%z|Ys-gj@-DyYd6dz2JFm=istTz;|AV z55nD?%4sN6JU$%53iEqkg2#Ed+Y$~}GLMPu|0m*MyxoIyM-%7Rx$~m=9_r$3bLKh| zFH5e0`@qZmd|T0c=Q~W9>x`X0+=iXM`-sQ+HV)Kgf!oT?pny&R^y~6P|4Q!XbrC;s zzRy6|pC*mfAFP)dG}m<>EZv3W7aF-I}PVVmXTN!8QGjWJGe$^-Ylp)S$S~DME4K&^H|48w7N&FJ>Z#@1u!vA=@r8j;gM_6wLxwzvYPJcGyJtxYN+MmL*gmva%>|5<% z^A}uf2cz2l$^EI!e#;4T_6GCE$nvK?Ve$0ApGnxqVEZp6zv25|gZlsOfPUBGj~pcD zful2`Z#ty{Ix_M?8l4vg)LoYjNiF5*cvw396aJh&=oI5NEFC%dcb?7&EWo42U6&3; zZQjr0?Sk_D>mr$w&`=@7x`=_b=0NJx9;R~epPx0RJh~$3kn<5p|OT6Ft zM-8{DEjVj{_OzABec3nZshnPlLcNp-=4g87pXN%WN&NSNPeDD#59J5E$nW^3;}@My z;=iBxC$uaGe>TLwh~N25!~ce0Z~Pi{Czs!_viXfr!kV@_&e6Dt^-&$C_s;P1nUCi4 z%X~jeMWDkn_u!Lyk0UflqyLrt{}de&`2kNSis*QQ+1I7Rr04_?olgRqKIxprdasVt zd!O-iDiEDdDgxJ~)03i;kIxiDe0|dCkJmvRr~i`U$wqYcX2*NeLGp_AUlynTzQFVd z(80>KR=7V8Wfto{c7J{c%54huUpTc6p!Ou+!*a{+qrOS4<>VH{k8es;8FGd4n&ZVv zZJ7AiSqx8h!ygQbXItYwU!67Xa={O)6@D0v@WWt$A9_9fP$=MsTwVuGF(1Wc5(x?M z>Ty3H`dsc8O9SO(1be%}oXl{+eqYbulKX-qxqN8y%*haxCT}B+uBqzLLia z*Lpj*)^p)ne9{|cF(=_ObN1J$*LnHKLdx}DS$*d0IUl4+;De-O>gQ~CDlh*lbh zL_Gdq*`r9&5vAzlB0Blr&~@oBDLOGk=arbJPde}5wb;b1#Uz~)MCa2I&vohar0Dd= zdmZIPebO0?*J2a57L#;Bh|Ymfb#FRIp72^MX4fLs%K0L9vc5=2cwP<46kdx>Y5CF} zxUdF<6|6)=&66|LC6T|)gFcGWiqyMLq`0ocwXao5@q@HgR1(oUj zXU_$f;!e$mZXK9+LwcZh?}gZM{9ass;F#NQ2y z*<4-_=l*6Vynz&jKJX7hd$tHZ59j{kiLBfd1s*?^za<=ha&c^kEHQ+CFX7MXjUUV3 zQjR}WEdElA|Idk>!andzllbokKSLi3!bdRvHxiNJKKg$;iJzB05XJc4O+>5G@k9BG zB6(r)3*?2FpYZrt+^oEaZbtIL;)QT-9`3$GB%8&V%w>Jg=dvKb{p|Q;xWC^d3mFP85%bS4b0tD;n{4a;*i z$N!%=d4|CpC{XJA%C%v6ZsXw1T>qdF1&=sd8d>3 z?jBB_#2I2n(uWU3bF9+egg-|-&%vYpKy&PR z@CPw|6l0a*u&n25qLgcs^vN^Z9K~(0Ju5?vBo%2b`lNG+_?mBn2^E#*UboG$R2xiZ zXvMFzLG#VEIh^Vn_TxwPAAa37$5U;JaGUtZ%rGzHfmnvUlaHXGXlHDTL4(W}i- z*v1@J!hjq$lH2Wq7Jbq<^#4HP*l*I#3*ZlPG%T3L%L$(^lSc10$GJ9ku1zqQ z*~Z^?rqkyi|5ZimJ= z_~hEigg?r|BXyXZpgmt_ z5=pH8|Q z_tj;OXTKWzs>QCHU$NlZE6XE3}Ts?&)UO3vC^-D(tkpy6v@)h z(UBqn?762{SObK8z|NTl@OU@*BY!~#{2KPHUpQBJnd?D~ zHAsO&cPU*EQe8ze(Vp)(S;nU#ZOQSQok2Wh%8!X#-8S8<@ZJtjA0@rVIJflrGoY{uWVHNT@ALy5S&-vkgIFWbw zT^aefO!#w2c%(n?3||laV9ICBLOyF%maA7zDYK2hZ^!w&hTQA7IRwWnq;q$c`?_t8 zrP^RRPv-V+v!>^YxDC!_m?&;bNip)0!vskT56)Ypg;7U?{ zvEP~poysIM@3-FD3;rk%pWhce!oP!q-;tEt-^QN~f9yB$&w;#TZT>1wj=tmk3KxnO zT~=fIUA0X3bHt|{Ji2GF(RV%ggT%+Ytq&lLGa|sX5X@C(o1>{V*w{}A_uXcgpv@uZ z;S1@!5U^dh&9PJ)Oy}Kj-)(Nf`g0ZMhmd?57i#lHZh4<=Rtef1Px)0I?1&Up^=gCs zif%lQ)i_oW=us2WqcamS8AYY!5ZUf*7Cu8K+OZCqnNX`Ks<*x0#kKi;nttQkC={7( zwj(-NSMhY%7>d`4=48Lpbd~65%;$BSulqSCGbP9(mqZ<^UO81E{5f!rgNI=`*i~^o z_=6Z8^S27|_y5rLCh$#FX~Xz=&bdpHn?1Qno33fPK+^>p+E6GofI?;8EQDGL$_TQ^ zE+`5`HWdNOCIbqJyQnx)u3}>35Mb zD!(k#dF-=x@zo@^^qp_aLHOs6u;*ImoTpVXm4sGU}Xo(NDuK_HNvJ6P8V zKA{;Q)CD~AL31>CJhq)}539WLW^=qmd!B4xCeFvbFItAhYzMS5@I|tY)G9*Vx+Rs+ zHsmw8ez6Vl7{>({Z2mX8wk zJdq$Co~S+9P&55cHU~?(%&o=YMN$cuCp~|kR#@BtUdtVbiQK{AQk2MK6m~B%CFgzH z!!q2xQ5*Dk-GUwS7;5Y&CSt9_XiYrtPT>b-2fB<;6Yvy&V-ox?Sveixsox5JQsHN5 z_*?&=!?Orrq{Yq~JHq3u6Yv75ENp{5X14Jip0QAWLQMD*htXX+9homxmFe%&H%h?M zwqKtF|8_=p2YAh%i3$CG7_E)3ZKSR7r>1vlGZXM_5+g zIkCTso*TC3vph28kS!pf-^nL;D094vGM)0u%7o-=HIa%%oCQSSHih#kv5(YfqJ^NCV&Zji|%%MEr>Z&!K6j%D|EE_>1Z zqLiE~WOCV#PQRaL>{#~6PGx^5-$;2PDSyaDmibhwy#4xndB;xWj(05Ab^cMAkeuUV za{7Z>irj$yYaX&w*(W-b{hfSdr?PvythdX&WT&$GyR5g%{3I*emTP44+M(?4q3jc#%U(Pt z>QGjViMpt_%h;$x+5Mf%UOYx(W#jRVDzBe)EPL@-sYBT(JD0t9%tYlbDF&jYw_x%A zCU)vnE+Mb1{KaD^%7aPqP?EgfgZ^tQ)v4?g9m@VrOr=anj**h&HH3aQw(3-Ff5&oN z$5^ynQoO|E^jurH{}O9;D*I%Ivi~LKV)L!F7z*!1@94ffGcy^*y}F9I*jjTPem(k6 z(tNd?V8@tC^Aq(Ljkb)&bh_7ek;pDyhRw~=<3I+j&fv^w?iGjZjJrUK6FT_i?V`X$ z`(H@3e|Mt&WfZ!gtY25{kHf2bPW-1`9i2+W=Oe`DyE{Z}zB}u$RbAgQwAqo8yuL+; zzc;ZSW<4B$kqq9Z!e=$x99_VRad;XF4pS{2wjtcNuQrk0TSxidYOrBjS-{Hu5Zpt@a%cB_HGf3*M`Vn=#)K|&`INZ8YJ>SA&MaX30><%n8S{=y# zsqc7YGQxI88HPldoon-_mK2otHhNdd%C{N9JgINUUwrK>+RlmGa6FYif{bhrRncHT zCdt5cXeDc-5O3mCZ|3Cd`t;$WIsB2OO>_FsO@ExVZ#4HOGKPNvc~NG>Y)o;xQ(e5d z(P2#NqN!~-%eJj9!E6ir0Nc7Z6Vs-KtQe0g96mUb6&~oW>)u#fG~&|!nOEmuku$K4 z`%_+VUjNDsE9l#jnbX<2Y=ZW3uaG+7FufB|Ch8sWIRuW&qW%F+PtQ)Zq`4dI$N&c5 z5r;}cpOk%CU*=H#IVZw$D7{qKyhfiJhIRM?3jfD~vM%aRz^iM}KDe<|f)0;i<9mgl2{x*Dc;0ElHZ1YHz#_Ah^cq1zrN@J1 zr4DvDS7H}*Rf+;69P%g0`^RL#8uGRBme<)kyrMEMcW6T z)=Sd#dczTyl~v3+sPH;%#6~25->bP&KPWCFl0cXw)m{EI`S${n-c~h#+^T$ThU}!u zFBI|^&*&gUk4j~STwq3KxRdi>x!(%B&vYM&+0j2+~Y+Vxf#7G*DlG*%PQ|ZbxN3yDYfkQxN5i6 z{2t!bmW_n!3PJzlVR!Hd~SWyUk#1+b2QY%OkOO5I&HM_pq9ILrea5c-h)& z{7+S;wZ83sN$Z=N_HCs*t5e@vg~N$w|J(16@AA-PE#>h&1xKj1T$MB zw6?9R(bwUeSNH5G(tV?1eIHAnLf@O%KQ2kHkddk!7j=|-kx8mZPm8Pu~}VlT`C}A^cWGz$!-q&FsZxIYA1x=XpSNIW8vBIZJj*?_f4>3c{g!r=>bBgsD%VSN zfBc7}`P(<8<#d%RS7m#N&U5-Yc1Wf0SEZ(P1+U8C5_Rw8nQR|MH7CCzE{TD;0h|>m z4dDHOlL5RZ0JZ=GFx$9<$w<16vArZ-1ovq@f4}vAi@WtrYP)OISb1Ul`GV^FjW2Vv ztnK#(>j>XA--G3%Ug*{VUZ>*=2|Dg(ZBNV_ADtcS@)^b9#50ZUXm4WAm@a$MZf}ae zC+6F8utTqhP3U)-UG3+y>+ts_=D)9p`@IhOj|OXcxpy1%UNn+##L zPfmDXSM|r?Re$+RhkCj$*WCKOn5*(s86-!j?AZxr5|o|Y#vu&;GB)3c!t3*mNM-Ak zB#v6%oHXM|g@29mEYI+hIw;ri*K0gph}3*eFqp_9G5nNgdolc^Zdx*a4f@jNjyb0+ z+V8j68ZuI+_jh>QUw){$XE0rR@BMcf9SyYSr)vvRgMiczk}8E1c_> zsC7N!P8mFE@R%Ou>(uiUK2Xl0Lh4}h=(R`=}Tas(WO<9YG7zX>TSTsDRK zj9-haC_iGgQn%i~V?vA~v5;q3{6I@;=SsybpDW-H3&I6qZ`dn(#e%}|E5eUFqW@o^ zoaLj9;fEjU{ph2;A9^_4sGYa*p>h@u&^k=WeTbt@iHQg;D&FIIuw4)i(02I?!f@bB zc=fMiVd&~G_sFU6P3PwDpWoD*;!uXuc6QToV3Ua#31~QuR_d(^u!ADJqQBeNUss3E zP&_b{HfPIC;ZvXVzDczK|AJSz6?nK)5IKVzwGPz|GiE2VF9 zVLzM!9wPa{8bGDN`uRcqKr#~cixwZZAPru*^;Qj+!ScVtWkCPWaZ%o-u07sQ^|Ju0 zR2ocC%;a3_SSpJH>1V+quy@oq5=0FYD?SPIbp_y2&;Xd;^DB5fif`a?H4j;QDUWSD z@JQPlRWr!?{x+|Z7WkH5iHsl~Kqg6QX>E+yZfvaiT7sj}dlG(10`}dZMN4X~)NUiL zxeIDM)N__#&X>~95`IVj-f{IcHP=aNB|Ki5CgFklx9Rm$D6(H9+$=GK zKri+c{YPKb#E&aX5+pR{bAviZ_=D_&7)c9_!abCqVn1Ds@{ zZHYvzlxD1dUrMA4k_~So+2_(v30mxx;0_6HmVi-gkwhrXdP#sKr<5ZRm9`&9@RW2! z!uLzCK)PAlED;T%nNp3D+!Fp-ufaKJSWT`pUZWcBw^}1v#M7&)W}b$hR?1M4JM^E@ zGW<0?Sex8Zu0&Q#TI;!atO06Kv#rJ^Wl5zHF%q8JUB{zG>i7gbgAL593$lH7gBl6v z>ttOJ|BDk=qbsOkG&^Y)`Yv1Io0$Jfx^p0Dx#h-Jn;N#Ma(zy@0O{yeYWY(lW=dFA zA;;5!q>>V3%9QDgIFiM290QaK3`hNTb!=jEY`&*sV@BSH(M(+kD;CYP(I+YsiM=*W zToH!v^CyaB%lw91e&wrqd6TagJt6DT7pZOAN?Hi8F-9&_8cCrV)y^Z6>~B{Jm86*A^z_(_KMM24;M z{c^KR*2*wVUL@mz@>m)7VvyjL0n0Fh0sbtLL-K1fzF&sTGR%`3HNY!nLP2H51Az&X zYCe~tSw1SiCzA&mUbtC?@iN0oD&)a3mKpag95S?KJ4N+@{I$$2lHp1jddZi_<7Fbq z9ywnoy+4-WHHHY-7Zq}?yjI>WKPZcX=`FiCB>y4{Wimjv46J+j9@@@`%o=rv%-LiR zX}1{{N{F$AjZY>$Nj7;-c-KDtFqYR9+3uKZj zGujZ3IuP+OJIuylul$ru7-?6_q)cXGL4hfhQ^xHEY_B$2cgRE^FSpE)Qewj|GISiU zMm8P`WISF5b;NRX3jfT8gpC-vRR%g}Q)JL9Wk2WALHmmg*QsMeD3`HutYE(ZYY2`H z{^3Yvc3us|2}rif_(vI7)nCfw4%+f5>Hv}~xm3nT1_OzY9usRT%X+sPLOOYI z@OUg7LPn#-XGybR>=qkSnL1%dROt~2OPXp|2i@Xtr)VB2m?)Gj%Q5D{Z}B^-acm@nPN-B6%V{{jY_uE4#8`Qt^j>fa%%fZ|65sZ|MFESgPETalcyk zC9Mm&NwjVm&5!gKjFOeJ@ivDW5zfwYoZV~(C+87GuiGrSoUWIn4y(m!cOI#;8x4qh zA1_DMmf|B+aieyvN-4ca8`=51dcrl{&^!s~i{5fPMA?!JS61$i!rW}-u1R??CtKOw zXa6LnDI2Cm$=?zkNK+0e&(KfGEwGe+f+4g&Q=tjpPM)WTlAI}3ina>9c5Szv?Z zZVLvxCEF6Qkk2gek_C`uiscT=Jr=I_la|jcKU&Bp3-qAh&9jhs^y?=rgrdr}z>g}l z{)>$Uzncgk(t}`PGlG%&Xea9HVY1HKI;+o5wyZku&)1KHb?c`Ahsr$o_JIWl zg%9FK7vF#X;)Q$mu$Y>L*1|LBl$s!uP)Woi8ANKj5N9A}i;)KeyP^gd5HZ z6l%=l4>L2SUHtLjk>G`=gNK6`4hCNdo>KpkVg>GPmizw`q9KS?4PIynqQx$Lxo{ku z=5A(z!6+6NjG%ErcNO08Jav>EYCvUWC#2FYmHTNCWdxia$K5>YTqeIotHVjl{J^iG zy>J~6sC8z64$%W0EtFt2{cv>rQ8-QBKA*{b&Ng0cD<>iEL8CxS?MjBKLv3Ycf4sc1 z7}m#ej8eWs?eU~MMJdUU7{T!rQQZKBin{R>f!ccd?*~{)xzjnxTF?>wcxIW^R@70EgY+b=33ZQ3!7AchFXZ!La$n|*8*1yGdciK zEOoWBYH>1>_iDea#n08k{k5>Z78WrG9Y>mq<2wcd34j%~Fsv4O)Ix48pjrt3Tnnda z;b<-FtA(w#u&frQsSwpFgj5R}z~Q7O&~}cmg}$|roz#(CwZ|d@YVqoLH?$_wZeUuA zNX7|cQik;i^f(l~v@oskP_!Z~koI(4|3IoiJ`_cUr|Xc7zKhITW&3a@>`&+rj-*pxlTLqSN5AR^U-k!YjuqI6zwA`ii~o{$@iGAjL2Sv5 zy{2y%xv25-M;DEm(tG~MD|^9boxj7u&fopE;{k5(L;QxDmrQte&5*UruKWC^+4Zkp zwsHC^LvD#Z($%-Ky9C`!tt6mBh-nZahayLJlN+!Y z`;GEGg(o(Cr9EH#Ma_l%qRt5?=qmCWxm(4KVjy3_w*AekUg2 zbNnxp5yal54$pTg&C?@hObAa^Foy+{LiJ*N4g#|Pl;M=wf8>_$q_EU#u+s%#IrR^; zv9h7Dkz$)95;L_S1Uc*$^RB4Tuq$dYT4*bHZdVlXqj@Y*{LIoIClyL6k}QT~o8wld zlnWUeW$eo#Os^>XcGPuP8M=Z93V8vYQPENj9dHE#PPtiKdrJ zRn1&lMs;(@5h(Y|0Y^yI^z%`w=Z_wZ>u0LvH4Ux$^l`j|Y5Ql82^Nslfw;_SrIU471tV_7f&avv!fR_95N8Lg_qYPnfcF=NX`L(p138hAiCIMqG zaPbP`PxooHEZ-I`5WR)tUp;&F)$z-hFQ@hM2S54b;KBLx=e4tS7UVl1Aftt~L2760 z5)@6QXG(&c%3V4&F)F|z{0`+E6CI^Vk)BqYM6e)=1^{f~FlV$I9f(-TS5b?Bw^_5S z*c!1qYgkrO6ix#^qn?{in_n8N*PTaA0koYouRp5~u+zUoBqS1%_+7XHA{ENx!~s*99)sU}FzaM&FbOV(q>U_aZ(uRw<0QsqFF=+DfZ|s+F&zlyK+_J4HL*mc;q*feNRKojz_Q zP`xJeg)fyt51#5CyM5{9xYr+HAi(@TOg(tu8Or&?a5wxJ^-EGw9_q6jUE-VOBd2`8`P{xU+<}tG^WtA6+xrH^qk;W}L0z#g)A%*j5Vo zrH>y^D^&3u$m^zIPt6Y0ocFv(CB9 zx!%c@I;)*H%?UOqU?(b7J)Mwt&~vb?tgNz94KRYi`I-|GR5N+hQ<|)Y6^VgyRj_lz z1-2)-emFE6Dv`jyFO#mSxyCu9ahi9D9fzk48dEO~!y;T4%9}E6va%Ig*U!DIEP6$5 ze`O`hU%%2i9dE$P?IM3w>us^y^s{oV!O!7F`rS3HTVfm3?`*BJ@SAug{cb_)J+Vz{ z?)ymV_4u!Np%nT;3N}`;;3a za5OD;%Oqv-@H;+SbMLDX_t>t18_tYdyb$2vdgcAwlxNn%Ne*T&0pXd3JC`#bX@2V_ z{vE-90yIh}MXMs0rn_8ryE9h|pwyxiOL1{&K@r0FJSUoZIGwWGlLWFOMTPmP*{KcD zv@{;0Y*%qXN~u)Z5VbfYkH=-VN*uFhlsD{0%k&^!`>cKNrPz;`X}*9nY3usL2KM;{ zRO#l^uI92CoE~qOy@>e*kn8daToCBb#O(!Y$vj@jFTg3o1`XdhZ~t+a^L2P*-|>;* z8)vL3ZceFCypZ<7rsc}v_iXl}jR%Lo$$u+n9_%w3ivz|ITkgGo-vj=i;I>b=1vi*e z_k28QM|fz(1#AI1`urm>89%gp4tXO@Srwbp-Og2K8nqnC{MPUJclhm;Rudy79x*ec zs3;ZXrixq-tF>oNK|?e*CnqyKok)_iA!@TpTxt<1YKWGW5*Mo0D3D-+lu~vudGgq6 zgD-G_oLpQ^2@opdydvAepVOFu5kwUj^*D7arn*1Ok7QjusQi2VJFxick0IEjIq%Io zTa>?TZ(4DAs`JqRH?VPhL2rLiNzDz>LfftXm;_^?Opw@rc1?`Yz5M?9`G zG(*e;fc>LdBM=Tzv4DSGf%j*{#&n0xsmiq#%@zAo_a7n4GP$pn+`HdjseB9GmE_x9 zv=2YiKJ21nR)mg6Rs?dgGQD0;o*_r_n=@@iv@d4Kz;hl?Nq3&(it`MTVR4lGXfrR4 zX3`;qRtXxUxzZ+Sk90=jvn9x)U9;`6VVf<>)?k}!V;}b0L?f|9JiZ#qCfSOq5nCAb zdR-#lo$J0RYA?zz!bL?~3S)x$c3hzPs*DT^*x^>1K5(?rA|WP8|JeKlN)jss{Najf zHcNpeCBvF(Q2B)#KAm1{vZ22$%!LYG{bOu!#*t$F+0-vlliUPJh6*Xy}3! zDQWP>RAojQ?4Ym2*%*b7UJF6RoqKlHeV@AW_LVmudwI#+vOYr>-gF!N1o}%`TfM^M3NBdRUFI=j*g~h+IvDts*{&|o`^>n9rf6) zwjOy%l2P?*)bXXNk!poEX+Nt&Nrzgr`R-oOZ8ozS72%Lu&<%%|N<>&UAOV-|`AC!` z@K5Y07+yQ?vFz&(Jm_{kDvRW@EmtqyWQEIiKjN^gYm!$ybz|!A+V1|J7d=&~y!B^% z{c0U={aEr92`+`YJ=fYoqhRwG{ro|TG83T4qW~0k@6HwE+cG4BiE31*Au}UC%g+Hyk%CsUxv0S7 zq?WfKnw@S-3s47@;D%^-8uFyke|)Yx#o5iMK9JD-R5lT=Ez8+1-x=y6L7;oF%td6Z z;i3ZLVoq#8q!$SgO^muj*w6b50#FeSfEa2i-k7;@#C!YU{K&^f-jR7n(WcBzb*JA{ zDkeQzw=t891EE-%t_+14fA|nT?(p5Oh?&>ndEe}UP0Dec_UlnNXi&JqkeO*s8H|PvAC6Kgdhlb% z@IxD-JU?v22&zj)kYUcke*RFX&**449P;?PjgIE!`E8kLW2kt__R&$D*w58=0R}0{|#8lzm_bIy*GcAa$QMq ztaZ73Wo@rsuyfT<-z=VzTG*$ys4OjWLGgM$7+q=eK9 zEp0wjH64r3=vY{g2UVllkvy$e?s-RHSs`i*M}M{QcMvIbukdzxQ)?4jpRXT%=FpWS)uyrr>UmHNH=7ccKU zarD&s!hSuA3P;Zx(sXxg>Zrk^Y6|-l7k3*wkL6R%?7S{YGfmQisDx^~a&&j3)+47l zbFJNa^vX{!4-{s1FD@xDvDFtjrtXF1`8})-r|h!Zva-Uqik>BsXtUcIqTO<{IeV}m zKwNHDL$p_V3Ub@&KT9an=OLv(G`X)a2c-$vg3fLj`Oa zo2m=g1tBW_AzcNy*nbbz0^+RcncL=loTZ%m>P()}c=}8aC6@JmN>k>vZm$O5g%_Uo z!;8=V<-#X_o1^TwaO9iW${*n_2s$5!rK`7GcyU#e6)zlr1^H>$*SnNL_<&vXHm)LI z(}f?uW`D6UP@=p8C9jhMZ?SlOB-N$6xntDN@T0!Zpfsp_T6BpnCnetiGel4nIiU~z z)vDe*pc2{X=jygtkeShHJ?yhVz^QXqAPt9zzpOu-aYd{+K>8kQNiTh-uVd!*%9AHr z{&CNSXXe28YnPA7SoO@BZtLEAoIAGt;rbmvL2!0O!>IFTxMSzb@yD^Z2j9O9?~RQ; z_U$#A49!R1azXw$_3jHPFHDPsvjnHjnwQC^yVKLsQe19#kx;^wdOST+>~`5v;7>;u zVj?7BwADE1yU9UZ!4elj)ul{-mzFY#@m8|rW604K=(m}F&E9LNTW0q(lOIy`xxkha z0(w+*5W9aQ=L94{bV|so4z6) z+j6pUHs$Qk;cWEnOwQRHP9o_!={cUfyx_uU_wIS3$F`6T^%N&|Iz6eHv(zbSnok4D z4sKFA87R}AVzGm-C?N#)qH30~myr-NDNxsegq*qIGBvg!J+59mCm-G#pp111aB_e$ z8?U)>=9hOp_Sk$U z*neGFHcMOqa1M5D3p~&1XMIse;a;jY+-PW|z~Lku=eE0y)Z+w~Q`66JNyC6%v83Gd9lB;GZUs~v)8MmN_r-@ zHd9F-470M7?YR2!J^Pf&Q2p@EeGfje^HKQoU3V#W(eIdV)%p+R8u2M%A#$QVXfV1Q zHK0Y2szPt=h(OO!s31J9FG2&x84Cin;?%l~j46c$Lqh%Sc3+R;V2G>rx+X>fBSvL6 zPB!|Sqg>8Qc)~R5iRu&8ubuFnc2rjSPS6*sUr$gnpRnuc|BjASNPiMqK(rNrE>-d% zhngo{6xjn(Z`cQ6%4y{ld11<7f|vYk|%Dw$6cjv>= zZMW@I#$;57FC95<%;1SB&i!yLJh4bD%N=k9?jD_(HhdxXuyUs5L*>@jAam;cMU$s4 zTFPx7`utnpE6vwme*_v{_!SDzFDvZcvuClE%f3sQz^$kH&yR}H<&jc@EIYcVAP=!v zJSh$?Co{9uRT4yQn?n{{X=!;=qG`zGw7UcvB^rb@HqVBgWT&cbZ+vlLGWA)WNK0y} z$Jvz^5TIT?qyg5bF1xMZViaZ%vAp35(yiRM_mTS1xkCrtLvob2=e0Zp8?QcF_T(QI zH`c5x?3G_QBH$dl1CNeM}2o>9vuQZl?I@84reOw!=*5{>A8<@yk=DM`*5th zN556qEWLlx_p0y8&H!T1qkPo*=c4XtSESDCa@idYUv77fE6mSHOEVZaE|@8JQ}Rek zKytYwSq68mZAuiS*i*7oi1Dx+_PF=EaSu1x+*$5YH<3{89l6*_Qrx-J*(W}SuX{t( zM;w~0F{)5yr{##~-()prWT_LztD#VWWi{6-o<~vbpO=~hH?s=@7tq6H)mG3D$}jR| zR7PEXW*Q?;|EFZPZkG>4nJ?|!=-cR`R}YeAh>dl@!1pJ|=DQ~0=_6lI zTKJW#u3J-4wC1{%u~Q^{&6R6@Q?m2=UHR>_Y4Fxn%!dD=wTS;8AwX?n9-0~HoyBJY zcIBivodL7aYxDVxRQK{ienDzVLo_ut)0pGRr0x%fNT$mfFb1fqv71dsO79b)c&5a6 zLXQWNT=rxMRTD;ma6T&6(?!%zWa_*>R0GvUMBqeVi4zXtH*U&Tlpp^LbN`vXEdAiW zdcHj9=hHWTJ0YaJlMSCvyG=QESn2cZ6Q3wQE3d!zS_Xv9{~K=p*s!t5_Q2MPH&V_w z@gpx&?ok{|=3spJbDw*;Sq|kE)fZ^pOZnqbRgb38=w?Qw(w^n=A-5aLIMtVxnPL(o zQQ{qr9NzCGqCsqkrnn7hF3Bu4L^JJX1O3ORTM6(^UGr-$pEhqI{@&5mW6#h?e0XVB zf#pQ}Z0z&=1%9CMaX$CekukA5{&nKl$20!EPI)c^ZibB4{s0>?lqY-qobhz52rd*W z2T|+D=m*(wmog3R+V(%&;IB$PecSdwR3G1YuWG|qw0_U`m$M-na;4ILd1jkG%irK9M&kG9U@)77DN(aao6(~tgWB#KIvtV>ecSUq)mPFv-mmJ?Y?oJ8%8c17)Zy3D0R{0C zGbN5yU47~2{&JzY+bv7Mc-5X7<;3e>`v+z$p8MsB*jE|E6kIy%!^`&%`TF^1-wUkI zc(ZJN^wzo>{33igtaj?PK#HGv;Hi7Yj^B1ub>6limq-8bmB0D!ecPfVw-xnH$;-~B zaxkCD!8=qAd{jG5jg+MsiI9@%&9Yl8S($>7&!NnL+%8wZn`Oyrh`QZ&Tg1X;rVvU& zpHJXfrm&p^Xt!NwgVb~(^>;gn05wr0*OkXuUqJlG8OZ0U|H6gh z=A1v>bQ(NQUzq#&uG7C!4LIiMhxwOZONWYo{}XQh#JsV|{^Yjs^yTLBO)^++|I?XN zZl+gR)!M4;B5%VI;U2q)EJ^^fR2{jh^=IK2e>?4SCbbBC@U%#4MrK-iWlpHjVaFuJ zXe9Q+ob*hws&7`wp=d!?OI<-ZeNW90(o!%M1av5B5nAdj?n6=00g}UE5sRuItqLqv z5LT+-hbs8A3f`!KXRBae73{2n+p1t$70j-JE2?0474)lu;wtb}fuRb1t%7f>;ICD1 zEDnEH72IA0H>&V8RZv+4DOF&sg5OlgkE`G>D&+PmSXTwptDsvIq^bboHB~SvUZzm} z)}$8ua}_*Y1v{$XmMXZu3Mg2#3Wlm+YT-x=1DtuT3jR?ApH#t{Rq$dJJW>Vw)zb zU7QtO^@)n+g2973%U2dWdDE@ir#-)M*`0VjKYYOC`GZG{V$)dG-?X;k+NS7@x70tm za!_p~xcu^KtMHAFq~5spvE8?WXZyy*(umOu&R>1?)v?w5%Gl4lx6l0Mq01lGu>~@= z&hEeFgAp&T1;dm>nxFKq*6;BdejC*UK^g(j_$DvQo|T#E;nTVkQk+(lnUB(iRFszH z%CXsy*_E2ZCKypql{%(W1C~-Hc*2p`zM*aUCF>ftf$m?jT^sagoPtQbP#2rtBZ!3c zH6NFauK(NNVoQ&#KDGImhHtrQ${a(Wrp7j={{sIV%X?O*PTl@MA-`?f?6;H+)4m!I z?pHBm&cmB#Uz;-cPyW=)GBfb7`_~Ph(x}*?Q1L?KQZ1i19w9@WI?uyFCB6vFi}cIN zFAM~7Jz`-n-D<@_5#RB|4Q+PEwZ8wn?I63WlcBM8{@v7&-NR<4%t z2=S%yBZ6G+K;{(-LY7MsOsM7SCu;^NfVm#jlfdHG(@7r2mv2X$IH^sHQjBw z1je%0FB@j}zh~;T)e|lZRb-F*;631Y1Ag$i4(?UXZr%*RyEpc|6s}~i%5J>3;mz9S zt3DVvdBlYf_w2qY7sl`_&kuN^f!ud)1*1j()*tyVXPPmjfA@{i6DN$px4*3HfB9AA@#l`f=$DVc zn8Q~*tekrEVdeD0k3h~Nk3jyz)M^A*&tJR_Zc|PVuNgd4`G^(y3ygT-Wf*iykRELe!RY{ ztW1xO)rB|EiiVSGG>s??_}-Tn?srMF*a>`^PnF z|FeC^zt&!Owd}sjS3fhd=E~FCLVG71Se(-Y;@uCT);l&T$^*(>6@zClFWhwlz76E^ z0gIKtYkEa$eOPv@Z)WF{(SUTGDbOBywQ5ijJfkOhAmq= z>zQr0KH<5=Ic?&EX(@fyE}qcydH&nqJ{58Z`hwVb9!}nL=8Scf#i@^6zhQBI~-yp~rfiF#lzmdZCQQ^h@ z8vG+V{G>R1W-@$A>-XeEZlqJd9(9WOUNlXZj4weJlo7E=$UrOv@toCWF{9EG38|-K zXPZP6lvl9TTYed@tn6R2V$-G-HT^5eC(wP+&D$=^y=>dfgK8O0d+RIsM{Whh*)8Ja z1+&>=v|wVjNyvyTjXYaRe7r32fJMu93L?Yp@yhuHjsU#hhLGITR@H?-=Qbk=8_h)7VJiZH`Xsp9cE zLO9rlaBnhoP`fsJQ9;CI_S)Qx);v{`UZ;?nLKQ|*%e$a>Qcsd;kCnFjq)|xRXm!W? z=B2tnTX67Bhtupe+OXU0HQTt<6tmYVH##G1c+}Bh9rd;AZ`+K94nvhhf}}x9+$0ZP z47c5@{v~Z!joL1P($E0fGL&NUm}CpMTz1)$mLjBQ*wdV;9)dhJ&LS95DQnRupPsNM zwX7}O$@^u$>tb!Q!)HqNtDPG-V>CDMB2C1ock5T=S^ia&jtVK|0=b3^>K=FvBv@q5 z9uu{h&AiX+_4(YRqdvqJjE?f2xHH5YKjs04k~B0+$eKV%^7unxZCXH>esU63Cu7Yg zc9LgnwtTSq-p5wFxqSSZY>vBmWv}ad=FXq@%E@;fb1ogTcEY5wBiA*MM|Ughl&`iN zYkm;=-+$Hk#Yf*R$lcOk`CIJ##D%Ms^Q#xGy;D8Q7o!wvppH{Nho_!iIFe>S1k-Sy z7Z8!m0>Q+{fdLsBwAsjsc~5O~864^)WNJ}lAmE1-_~d8!B6k0k${VDY@>&!3<9X*6 z?ws=7g{R47%-=Y#RPxWO&&+cp4#FXk6AeZlvq!I-y0nI^&q~_+PMtOEcktYWLoabJ zE0w~7zfBTrer;j6-k`XqP+Srk5h)N%Z1IAhgc{PHUD1)j2bGu5;4x#V_1jH!932jE56f_KvL z#gTMO2ZKkjtFDy(5=jfzpok}xzF6Hgtl`0+ItgCe5Fi{99|*n@gcnbrW_UuaKXF$I zZqG2T=f28Y*Q@P_S)rKzsu|J^<8}bU_GTJ5%}U z5LkbLCstZX%Hr5aejRP$HRu>WmwbraD4Rw{Z$x%xq5?_s+xZkEloanT0b5B{Noh$# z$%>LqC3{LlTS;}vDD~t1l9x(OmYgjy_BmV9T7pX=^;2s~BDIrh-YS7C3blzsa1AAM zDG*U1==Tf>p2B_y`LkTewWggdghD>WZ|6w0;UxpEHjFZ0L&WB(VY>r5ZPt_4vsPk_ z_;PEkY|ntuX*OZA%v*V)zRXT9&_eYE3xaGR_WT7&3;$S7p0qvxa5y8nVL4NL&>yE9ieqz%4C;oKHUm7i{8F@)w@fk zAH8SqVT{rCvujrWv{gYEzxd_nM-(TP` z8K`PGF+Y#WRSvZap|Wzq_<))VwJx`iJ1SgN`51oU!3jk@2abzAp;WrIq~ZcHdZhPx0a6w~EF1kB!AVyZx+~ zh{Tiscr=skFczq)$@H-4(BAYK_1*4P-y=CjbB!m`Ez-TJrkmfN_IPxzACTYf#}e^N z5oCWnYGCCHs%i{KFOT%{`ow87)j>{H-YH4^<58P*Qo>S%!buUyRU1`ked%)#{Zq!ZX1O%T^#=e_M5F(`9SMS1%Z{ zVB7T7vlsNZc|p~}%hm4&EgCR)$JJ}LOvt6*EylkDeZ_g9JI0rG%bvWgFkhKeFHB)M_%n1wy+pc>a-&StVv zIj0vK-qCdDKOp>~BH?~JH|+pf+4~aCfQiZ(@Nb3LTOn6Dy;a$|RhzRh4gJgw;YRCg zjD|*vB_bLSCvq0E!N}&Vs*9-h^Cx*8v8_$A0oX*=QaA&gff@rk9w%sn)n~?S`|yM` zy9N3+jeKz-L%YcHTerq~Z`}&hSPL+Fj>zS5C)KqyLn7TddLs(NB$_0%NC_s65*ma} z0uds3G;YL-dLPt!{rw+dB23(=EItvtRjd1MT6dURNuzrsjSL(#erK!H1P*Z~2^(lk zS$ZNt(1dacIgH@Q^V8S6;RKwxa0s7MRw=9SGAzW-#nz0)0z9hJsysOjHFHC#U%~7G z2Y>~()lup3gk1=$i*VV%JkgB%Z&t=5z&Wv<# z(2DrtngUh2L_x*}w>-SOdRQng(_+u}+jEUVY^PXz^q1-$-Fle}g#`tHYc#vV$9Cd_ zv<^3`1E{+pduSb~LmeSU+iGjC$Ez+z!8u#*TithLS+3t_%F425c!fuQefX7s_bV+Z zw{zX|LMznuRKMUn{vbX?JDYNls9OWI0DdY87f^L#3m`f+CjKRy$3}v+>7&>de2rM6 z`d~&(2*(ozonwphbZ3c{3&2NBO=8V2!zi6L#I~q)@YDyD2+L`L$Sa7bHK7ZdvmSSk z*uywV=>Xn9y2Y+(!iSp9U(4DV+d?wqIH;cmA_$yfv^dgxm4%!ZiL!|x$ zIrqEm2supnPSy@?^SMt@oE{X1h=LId76efw24WPI4sA(7)Yc$I7}_LC8MRGqw9)a| zC_busjL0A;v|VDmcD2K&H7%evPHWvS!&EvkeCl|Ks3>CNL@EhH#mAv`+`-)XWK+)g zM5Q|a5*s+mF6Xc1Hph8PZ6C!)$4&sj2nKSFhyRAp!TPLH?@qOaY!vkNQG61OpxnH{ zfF%jBWpHK_?XrQIN{aMAlxMw;ud8mu8%jp)*ZZ#$G+u++YWCda7nsiU=_11>19$DqeD2g)-J+ zYV<-5?VQS2x=t`sonSUn3yyit#7PE*_D~cXE+FBYI+G>Xo~bmcrT1h&6MS(Yx9LMw z5Ap%3300ob+pW`yY6D*4IkSnQw`z+G=hdbkq=PJI(w5x#cGc*wA2*R<7jmiW!56XH z#hP=^Ht`?Qe&{>}^Htre@{~a1f1^Zw6q9)F|1(d8G@hc`NaZQ=>ACK@y?IB)PkBnD zwg#~c%S{IE99u=*rro>XDbTPoTD?Qt|Aod@38qr@n~FQZQ<4E0EMSBLPo3w4bMabY z7nMI&jX$LE)P-C!tVt1@Vz*K7^Gxft**ppLW;V|x8O)r)A}PPeP|1{P$5II+ zs2f6+tC*DQIz_cL5(-6JnEI!ZAaQ2SB1#G}bhOl=b~H<}vP|WwEJpPR)7-kXRW&bl zdlU7r{a|hA(umz`vx(F|a=_bpi^FVFdt*MYs^W-|>S7Z=#Hd zV4MSg8AkP*u6uNv_KY|s6EBzq3qoc|Pz;@%j8GS1LVLG>%^V^xGLSjS+(7AgxygEoT3^T{4iEG~0;-Jy(MN%?sKUUP7;0M)!i^Cj~WGP z!FiE0iw+xSw^>zPYddcw98qrtE+*+Ls&y`@ZoITqH_c2 zIDX3d%6~|Es{2qn?@+pG-XG;tV;fy#$)4c(-=V826)Ig-mrZx9$fr~qbmywg*Hr1M z*43X+Y~yl_q?VP@ByEB#AyH=*nZ}brKV?I!qS3#jFz3661}k z9;N2YbiU1;U4*U)i&O4rT~u{X>~@`Nl??tRRn2j8DbrH*+Jut)U>6!2NwFI(78kV% zRWiw;AT$IGL!;0*Gy&D226Ppgj%J~`XdzmHmZ24B z6MUrM9@W-|>3`Y-fTZc+ZEJ%6pM0aevNc9>AWy&eq+n z-qFQ1eZ~yfO|N^VPmeXx_dVKma{6>-%8VJxl{02=7WzI_yH2)2pX~D6i{Lof_U(lu zZTIK@)mDU=+y{arbk{avZvYhR21Pzysq{iK|^QaLk4`Go$T zs(ddkQ0SR68Pzy*A zng1|z9 zaGw9d)Mw`I7H}To-+WW*J8Mr1xG2!c{MwrjDg4)87fe|7bSwXjwg0s{TflROf8z~X z_1s-8;62D6E1b0US!NRWzyCd0x9&MAatHbEoC6nZZvo#S{7n9z+#p@Q@H1K6?DbD_WrFfKW56M*VTrxCwO)El_$$ z7&dLj?0Jh?pvM7$^0fNn^jUKkE@^?#A>pbU8&}_QdkgeBAS_+BRQ++qs&(r(wLtig zu*|vjR z)`vVUeMeBagXu|!JKFMsBVYUUQizteYQO(!@4!B?r#1M2t&3?N|I9a4^Lx5@ivJ7O z(>h%XSdEM>p7MF%IDTh&_?_478Z5_eyj!)hGr9So|3~>h{c!ebYJSvz_3F%-trPx> zQgBCTndfHCB=>eKME_@=18n96lsWs|h0vhhI`e$5>|L{mQ_r!A_2;pW=e<6q{h?aU z$szW0N{AKhU`wZlTGaZ0U7ex5G)Ul6|$lTR+SY z54QD>N=u3x*2?h?CyYZo)#n)aF^_LAL4gENzLQ|D1hQUlK9lKFCIF;Bx;w0U&Z|H z*WY~m0Cg?OyskmgtCiL{VOQz5Q(sBkuD>d5jEPm2EP)OQD%54YPb{S@^R zZ7V2<7{De~t?4*cuW-yeV~7{04O`nla&veU~Yx$UNn zS-jR%R~0$-fy=rm%lkJtR-%{~Zk5v%!%a{hv%JibKznC z9saF+P5%yBzDn3k%g1<)7!Zq{j4-g9*nv@wLyx5@|91Za!sfFhDJlHE4tOxV2}1Bt z??alv(3~y7(^dYZ(RMS6cOteOrNHYH2#aejW2}>iK`)9%$xO-#COW=HwYEbXIxW(d zOAl_nfW0FX4;&f^uPNcm9WWK@@f-MW{+_td|C;|fT*h$SkM0(F2;GnwC9<}%plBV^ zB_&6g;sn}OA9RqBz~O-al>X zgAG$3nmXmdsknh%e~bRKeEHFpQy-jCzkMqGW$J@GZ33E##tL=9NGdI6eoiif`Vt;g zjs~G>G!E6FnWzyhLrv(Yckb|6vqoQBynK0|RhjeWXD?2wuTO2zRaBU&kk>2px8&tT z6cqHYYFNDLVmW&Jq`2tlNo$)c7cL#PwBO1#1J~rwxuob4=Y+`#lWil%MvcY2%A_(w z_a5Ormae&E^4PK-J<7&TzGTf(IeqGklyu%j+Nb}lEbhl|yaae<3q90!-WRr?+m%vS z;Lgv`-tF4ELwgVWE_eD4zwvwL?`fUj2k?=13yO;iZeTAzc?vy+sqB;DDWZ=@JcWfG zJd(Zoo$La>ELhh6XhCsN5ibm{u-}wP?DZ#B_y+cg+(cip={MyqkEifc`UN)A4-*)$ zW%LCO6uC?M{pqJI1qH=8PAjAk`r#zI?O1U^ad-Mb)d7#A4T6iDVKMW(dV>&dmd#8v zs0So@AL3GpTq%e}=)!X@IlfR)_U%=a#&^h>#qZ78rzk-7UVLns+P}Kd{`IiHV!_*4 zPbO3|3K5YOU>!bQqwHav~w}iKm71@%ZIOrV(QenGP=M#V(RuOQ)tiOuS3rz zBlsJA?LZQ(^CDP}r;#O;hcT?5hocA?$+1ocu^Kw}bAHM|J8S8Pl0!l%;b}Kd=|8{! z=IJvBRaVUyIB>?)%As|5_1tUvE*voPy2?Q_2hNx=aM1MGbR@8o>bwg5e6f>h!vFY)&_)>)AG3#;01!r`Oy0^m=~i3BwTnh#?J~78*Z`u_S}D zWJ@QO_)!;Jc$6`qtm?YWRUNsoGNj7vUHRbPLDz;2)PN3bTO@@Gz3I5tgVuO2Dzq47 z1Mc2EDyBzzO1#SzV<08PS>17WlhK%*(laJ1MwiyzoRAXJJtZb4r8|K*>j}px2XU_KEGk6s&CzTvBkOg1b>sK`*?g?!Ov86)K6S~0#Es8BzhPtjv=@Zl$EA#%y*c|AEG}DJPYXG_TXe^dTLB3stqcT{;-&Bjy79Jjn;vIs3jHFwpEi&31 z9exV6v0T21Nx4ZlIw?9y_S(T7<4wz~h>>ac$;z$e-G_Fb1wpf=*{fjWH8lb#?fvX< zwYG@Oc7>?%J=99~0Q^DK-2RU)Tsms(wR3=Ct)yxeyNV~3Tsm@G@6wW5+|O9Ga>$x{ z$BtS#@9wbs1}bMj8i=netScG2qO5duuet)YUL(*MVF#^OHY#Rkox_mZHe*;8eQvBUz76ga|Va z9VbUchHUtjLlO{>w#`{ONzx_v?>)X-YM4c`m;@o*o|YQ+@6kIJFMi~~m4imzTC-}+ zxSEx#1eBE}hUxTzU=1^c$M%^z%$=l{q`njKzZo%a^`rN!T)sUkX=P2_($(X~t)iBy zH#;sTyn&KYo;Su8XLOh)$q`3VTzYd%VoYuf(Z$4A+1B(DTCtAVx_}*V2M6B+pMVn~ z*+XqYDFl)#P-B-AQ-AX{1M#|Xw@)M0_gt=P{g<@r;c*kT*Q~3Vw()Y|jrs>SuDN_r zeRIpU`zGtt(xyCoU3g3Lq#EDIWe1sU?SrUOExe2hP_Z{2n+q~C6Qa#RVNq(9E;k}c zFeVzoX0)*hDN3IzIE>To5GB$LJY}RXL$zCss(c4;1$FnnT;vHz61Qs!#32l9-K)ED zSzRG6dAw%m+JV>CmNleXjdw3teCL4CmZ*%`{RiK+xOiz@sn~N~(?VBl(efLsa+fcy zS~GOf9pLVpnU=odraR}3otjB>!>Sf9zPIPd*=x2eFN|dMnbGzI9UrZreI(jzKwu}^Qmlkmz6_ESwk&5^u^F9yvwZECx}? zAt5;(r)Lx)ELVVjWq;-MQE3Nm7_*oTJYHU{+`M6+GW&)>Ahyid05z)L^8$(|y=lLQ zK|Q>Y1`&sc$3(=4B-R;5#{xR!;4;Hb#FSV&NsT*_Fr$<7Ep;{ab&ZJ9SYw`8Gr z^W2hNtA}Ox5Y{$4yLtOfE1H)tzr(0Vm)=~|W9VYLcE0(Ta7wrm#i1msZz2**CKPWr zJ0qPk5>k@GMSLVzJ2aD< zmDMpEhh~P_&onx$Vvt}5{gwu4g`#k(=+eO@B`b&Jb@#uwVNpr1Rn<8;_@Mtt?tiuu;YjF@l zZ6_OyzEG|i88=IQyy;Ue^zf(Knns_VNZINU=?~=f zSL&7B^{>!JJyfxG7pFr5s?w~HAbH6Q%@p^*MJGGuhE%F zBB2)uv57WwU5(Ag;-QBm4&ZwgSloE}Iln{L_;bRa2eSvTG#W0?-uO+GoSsv}*E@LcPR8M~&>bK>i6SdUZu|DfdhzsIKa2-=QlJdZ^)y>T%TiUw0yn89f` z021Tkqs;X+B8mbB;U^wrsdpRYwdwVg%?6dohh?Vu#LN2JQ2{4VpkGE(*HEUW9&=eMkhiA!{u*G0{!&vMq{LkakR zke54WrGPK;FBNn17A`a>X}4)-<;20X4lIA+Xm7UNW@9mcbb3pep2S8G5@(m|YOF?+ zky1@PdAms;9`3BG2`BnM08Jh(I3&GFa6}vklqp0;2;D%9pct#BOGvWvpwXj0hj8T$ znYSIh_d!Q87{GG?!i!&1Ne}jlnKlSL1Ran=OS3H8Ge>v?``p6o|4L9U4)c zk_&+#pY1txs2q2SOn+`nbs_dUWzZG!Sa(5UuZtEp8Xz4vs6o?B%6uL)eav(`*k75L zTx+?*x@1OfzW7b2(CA2LyIUDA{6OWt2P&dIgcn`ot@a=x9D0_N^@`8TEl-Y)?h|FV z_bDycWoGm$0m0ZeGO}Nf*pkGa**%BX^vWyC8&M;7gB+4wW{=X93SnjR&zhP|$3RxY z@EWT{JKm&)y;N0KFs-6?tfc0!QJlz`%6sKJG3L5zrsvJS6_iZY@&>duX*(aWM4mA~!|?z=@y%!6mK9Kj>1 zdeD*=$SiJjJ8vjc>@MXgxL3SvwXe1VbGGGC*S#p~hAyZHns~mHboD;Ju8C1GF;MM~pmncf+({ozD+Tyz! zZ~4J*gM*Z3)%fnU{u7jIL)YSb|5g4Q{jad73L5XmQr=n70B;(l#$pXOnXHr=(Pl8% zDLn+~%_0&a!%WCDqQ-()<`zxrnDf!0mv$z|!zjXkQ@($of^lfqVVM07|2LqADU^5c z<0|C}@o?+hr(uAStHc1~nVNf&@+gkSEGhRU0meq7WT2K*rwbz{y(CL@H8K$l#6Sg# zIYBQ4lxHA|P)N8$Do-935mts|^3~4j*6LUx!A}y%m$7F*Axo55aLXoP>}?y*-p6xo zQeN~EdU3poM3#|(9oRBqQ4EuaK!(={W{{CQyv7j1g^oG#G&yz$k-F>_C&~A3jwQvh zt*_%J=H4@W14-Ywq4hoghoJd~EVtCh;!RX0;^-JO(J2Fph%n3M_ymhBoIn^c8l&oJ zi~_ON)sT>&fjqBC$k}Y3VOipl0WB;tpu^*aw0sX!l01);U=QDN_<-`$hGVcndG7kV z5|yw0{!<(F)_?J&^1)pv22H#M#76+bwa14RpJ`e@lRVO}TRC{-)z2w!=2N?zFAPHt z)ZH6NFqWe&mYA@Jku_Fpm<5|G}POh6k)eJ z!V?9Yjx*v&q9dHx?8Ig>*bo&BsyPKzo}a768E2V=LIa@X2T5>|^bD$%IE4;R5tUc% zy$p1dZyU5ez9=n!P>TQ9$$>f{cce1un}lA&qTtSbl}6bzDI0p1-Y4F)d2a8_ zk^yHgBTYj;TJU7+T5)ab+N~|Vy*K5Au^QA-PD9;&_%mmPI!#!y$YXa{iVnqm6X%TC4H+lkT`$L(=TCh{Hz{> zM^b+GzDSkHB?t*O2?MBIa#8J`W+TL@3#TrPP83oRN+Y&7+lU$|E)K_-jmaZxjFu=I z893Xc25;(^Hb4uoN7zhOdn9++!KFhF5e_ZSlW>!N%dv?IVwULdT|I1qXX)f_MxEfC z3{CzAOjkt4cQ0b0>aZ(ybw;0j-^1gFl&zkc`DyRfg@t?ZbIRFF_kfxRR~gf@jD8+N zDaC7(McRLLdI{=kB-WFe)+i4eAhr^y8XaMoU($@tnShz0uw2xy_E5dRVPOOkg$2|I zv*>$fDY6qRq9!YY2W#N-7$v5D_nSg5rRXxnP9b14sO>A^M`0x8Ybx@3Q|v}FWvYvi zC?iQr4>u353Aa!tN6`U96mkx)L6(rPSmjxr$F4jYEK3`gUT8rchd_94%Rm&^GHfd> zAb-1h%Y+A&w*5c)!SQvR@^z_g$fv%ghpC_{)#oq`dlK?a5EU4zp9& zdzF?6L$2B;Es0w9=e zWY2Xw=`b`uxBXBE8`-4EK%ae*@VG?()I>Z!5q`M)^xgjZ=nI4WIN1x6wOqiKJ%EtZ zEU+W5ZcAL=tV?GJi#Bh53P<_BRL|P(B0s^E!FvVT%+0{=&1d)O zAp^uhcO+b?Y#s;ml*?`v8XQM@qE z|DglBl-=>S#tU^Trfg}*c5KTcn^XmpOOZjB8@(E0|!ZgX?_haIK zG0JvTCw72IT`odvU@)?HEb_T9Y3Bp=Xb^>YyH&Xt5;jAESgUM@F%C@pezo7fL+-Q&r1fnBE&lCIU3DB>CxF6yluMr5!&21l(2elMWoXvQ)d-kOFl(F&e#0ziY zvuBUratnuloWftF!7uhY5D*E7jzxaO7Ai@EMTw9ljzNa5Fa(lx+hvyrcD;9a_9YYr z1$q{;Z_(`O{cta?)Y`Me8{H)iZvY9>Qir`>ay}$$H6#>j00}65VKyA6IP`39fGFyl zWx|_ZOCnD1qfdJ>JbNlNpFLo8_KxgT*{5I{y`T9eXfqj`{P@` zio^Tk@Y^@spd_$3Ie_lNHSjL)PYy3tuq=lIRRCHBcs1$`PaXTyh@sgBvT+T*{^O5% zj5{(M4tKhbbhr=reGoe$p591HZ~ge=wl*|?+K3+FVM{t1%yXYt;SwI_v-9<8?fM;% z4&Ml`+0sQlyDof>UQ_na_PA5L50^-vQXks7TZfv%$$luOwve_(d-5iVUJKccOX8m0 zeAPDTPFyi$$gFVb)0^+RVrf!xguSG4%3zLXKlCAA3$IyJJQ*T8f{d)Pa0)NNE)>2G zSL?v610Ax~))uz4wLRH(LU@hRC5bkkSIR75a?|+B>9?QQwxn3HNu}~?@ zV$!gSDpR~4`tGT@7O3*r4<1zh0?%opYF9QxC#1Ey)8NXH2S>uy7$1a(mC-8QyW4)0 zQl$Qr-!Yuu--?#tbt!mV627hMs(gmo|?;wu6+8o)U|B z@7isqHL$ioFQkVO`jbFkF%;3^fSZj70zL$BLlLt+;g}9OVf-D74vroRmAi)Yd%8TS zZq+It`uERUYHrd6hU?sr6w;G zzE-v^TYo#;17YI6rR$#7a`Rpyw2+B``*5=qxUbNiBsg5@$(QIL2G$H)zg9^U_g(tb z-k&M1{lW|AG4Uueq43=%VrZ7RH^S~xhn6lr$NE^qQ)8FRH(W11)w29!;jE)u{(!%% zDP%aW6<#14=>1{z{xG?j7`ZdT)-%*t@otunBjeiXEfbbqEZiUtyW2Pa8*yuNcaOJW zZmCDzi^um{iqG=BhhhB0cRWg_BYu{lysx$&Zw^`tl6M1%kdo!3@NVYJ=-k}QZq$5A zQ7O)x99L}ig6VVXhYlYzrnYwA@XGQ13f#TQjSv-OKn_QFA9ugXf%Vg~4a;n{Sws<%smYaB!PWmWgAY2sJ1S0uBm%oe)i;78d%&ty^Xr(*L45_+*0r<#nsRy?6!5dZGUet8p&4`jsfk$pMwhdvK95;mGl0hYlTk zXv?kJAKi8{^Hr1*n9+6zA46Fr5k!Mg5E@Yvb!(}mvHat3ZAor0W}n?v#8&6za5%DL zp>=%H^AXmIl#=N+_sKXOKDB?hS9N@ zWRQ%6pk}r_>O5Scf#v7(gM`AoAf-Z_Mk(7D94|b9v!o;ni;f}a_{adX-eNOix*`CH z0dh-h71C1%ur~-uN(ul17%!f|$EDM>&t`jLK@vrI8{UCiFu~2wAV{P=x19D`w&}aJ z)_J5hSaUk8cF1_O^1k@SBSbuNJpPjiPM3+o`!oO#5s6$NJWrZi7QsY7d_z?36wgF_ z5`UcW?0NAFnItJZ7E_!gQ0Ku&w&`~0Fx98e0FUxn4s{>^4@pWPwvV6ah$q7(x+r8a zNvL}UEB*xnL?4#IBQ|b~I89-HOJQ#ez{Zk6r!&gi$PR+ZZ^L$FPzJCe9$tR<38D4~ z{&BG&o;ek{abqMOQ~g9?50W0&#%E?hLIl%66*RK|rEFLgfX2t%6izaOwaoR1%m0>Z zhf6%OpFSv!k5D+`@lekh@}3c2)nfgo)i|xV#g@GnqXzdk?&2 zF@0M*Z+b6vew)&;O8S<^@yPSW6IvIOULU3lwye~lUGtrxb+fb7W}=(FE+GG)t^2s2 zoM3OXkw1-pk3DHU*NLY|tn?+dUzy$rfsio0!4Pg>tjpcbOyOr(hKBt9lpk?++#x_|_=m-ah+pes9{)5Gm5$wvp8NMp% znzrxdGF}cfW3?P{i>~iJSKeDEm+eH*dPurPSbW)o8dtOZDcD}~3|=LwcQ?)=uNg`@D$g)i)v zYQw^(OGnepeJ!I$7!%7WzLDa;lz+>W$c8L?%qA=~hiOR>SblXE2g7zeF+gQl>A$(o zkTZSxm6yyg&W}kdE|eZ9k!I+t`t~1X%3n^5NxTlNK53Q`)-`R=nKu8zsYN5ZCXUxL zPa2GVk@HX_it!rk1_KFej*QfW@i|MU6oEKY-)xKf1;-pfirPt>O!~ zKzf?WyJZjI{u&qX{9G2EJ4CLZ?;zGMw2L)`@qzd)j+b^({T04j&^Jrk1d^utWEbso zI9`~)6+hq;KKrXAMvNL2@hH6yltXRrwJo7CrQ3UUnsVsjhdH0O3fs|O z@i{JcY&J%dVQ}4lTKV)k@i{Jb-0!@a!bFPcpDy)1}oQd zIkD}v8%VR-elIyce93*@#yfOD0s?1#kOupo{(Z2|{BVJ=AEU5W{7%@9T^Q`vMZ)uK zeZ=j*2X^bCE@2DLcY=NPA>nyt@$Z9u_Mr=eJ(t2R_?@ulUI=VDEVe0!TEA*rVw3eY zzg3+BIeQ1awoJX&db@hYeV|@zHPO0!rrm4Qu3ban z&Csr0tzBC|uZ`5ME!X(4liquk#)roMfIxr0v~oqXoLMVZsFfQ^%cX1Os#M;z8l+Xq z%km(~8{6IpBWaG(hj(h*sB?wV5V2}Zat~Mk{OHoy=A0ef`sXKPIft61RSgXWOOmnIN2PW8YCzpp>F+Apj>oxPdTKKggke)i@Irv23~>{-Fyz50aY3L_ngu_H?h^I7_Y1?oV$-QP`P`Hu@z?@9GPOkd!T|AQEu zDn8C!-!n}Cybs`LidUUe81GFrnRN3>GdsdabW&JYuGA=D$%2wl9(oK3AEDFKqG@FC z%nsp{jBN<=kQcEG0?d_Xq~tDi=kkGlEgi};k4mN^1&2l#6n%n~_twIT0n+3w(?f>0 zxl2xIT1RQ>MrqP9>&^1==w!l%i6;F3Vz4hD$ z3*9Bmx8N$kZC1w?_5dw^*^0k??lHXevg&qf439iynxg!J6GYlpix0pL9eAXh&yxVq zQIcrT>vIi_25hj1Nn)P(m?(TCo))pF@kk8vNQ6AmD-IWl*nvkjjY+Ck;c*Ar4m_~- zB>qHsg|%EbeUa7}9x^GbIZe3jHStNT)8wUc&r$plC5NGmPp)9^-gt|>LcjthNphZC zFVB~oWzj1Smp_tE%Yw{ubx`7DzD8NQKs~dSwLnb?#Ik0OPrWH6JJCA zUVI+k$Z^KgRw;~$(hF8A7EGoVfezv^14fT{YQWDO?j7O)jcp3v6$nf7VW_7Qn z4WiYZ9b3?rI!JIJg;nj$C&lmr{|C`H^|-6NPjPIH+cGh(cyw86-`+*ey!^09@t#rA z!%fO9j(CSFbJUCboY_lVUkaI8@hK59|=aoAA*0a@-c^xkKt6GG60_V zli^>XdE-y-hO4qB&vHWe8S7hVOT#! z`8yO)m?ML{$YrP218vD-0^9f1bO6m`EO+2UGVM&sD!Df(o2J4bDDaW{p>c|`A4aOO z5};W|8D1NUsY;!9y+p7mf)GMU@y-XY zka7X+)&Ltu!LAQ{U*mgW{aj_1l1pYYxC4W{P4!yTHe)R&%NmtxuL@yp2+aGH`4iyL zkA37WSUE$P}RgF^*+hf=>3Zur>;;V=!qI?zAx7qW}DU4;f$Vp$gi+K@U~5GXg=frfV5fV{>m zqb(Y zL!lEy0Ui*>Ja|EJjH4J5X=AG7V;)uM~ZsZ*m zrX$G9?p}L9CaA|s{nrj~b92ut4f~b6HBbY6ePl`NMzK1#)j=+9X0VI?8`uHXRyV;g z$oAn){srQwoU@L5MY-f*^UQ6%huE=ZE{LkX@4)C+Rkz5XlNDRgbBMf%y zTO^0Vo*e9NnO?hu1kAk!22{pkSCDx-wu8M!`ECRSTjUcqd`@}NT1uV|@T6TXSg(+& zAqFgVDHm4Sgj_D3n+&)4gy)nGXTu8A$^XpUr>X<))>0)%bquu@=O{rAPiDR+qpwYw z52K;CPk7;DA4GNVmkU%MQMIuuP(zI@%5+d2us&?WqaKay+GXBK-F)UH;MuT}5|2lB z9#iD1x|`{QU%_xb@OLP0K@(VfP>3J(`Ts*wJMg3XK2>#dN1Otd1W5q73%~(qT=VcA zQC@&MzV(q$eg1OR`+$y(Lu7#UJ%Q+{Jrku491fA)PMY_CGOHdEV2V#z?mq^1O;z5< zV>|YXBCnJ4fu;M^ETxXa4`oC!OKivf5uzuj*F$gC10Pckz-{%)i`4#GLj2tzzuRpk zWlLu?=eL$Kl$}$dJJeFI43H_~bPI zrR0_nc-+Qm{(0xd>)Jb~ESLz7z3an^;MQr%C}o;3F{G~r=~Hd+h0w=3T|+ID`)~u? zHeGoZPwe0yaCu;@X3+mGc^I^WLLcoD;#)r>QwI9CkaEVylFstLBrV{b{T_J;*yNE* zp_mUW{0qpSLH@h&CLXK5Jfx4ubjEWIn%|JR=agZ~pqBY)id^3M?5_> zT|yY1UzI#Zmy&mnGH)3jAsc)!mc*3$^T|D-@O4aws&XPQDbYN&bH{Lw!02VtGPv~w z)f=Q&Y3n~;3;1f~UHR|lh{<`RWZW{y_dyQnSL)wRvQVh+qoeR_0lgtn=a0w%_k;yE zDCt^CsB5ws3IhI`KCg8_z!xa&Y){qp!?Gl^z5X3x|C)RZTMc~zKAXO0>%?<>HVwY2 zmo6NBSALr@r#0&wzpWE|6}+UvR}pjpziZ#kkaPA0&37vb>Z9&nbHI0_)|Iv*Gcu0{ z&WLIfa*iLD#{h5r$j4xg(EPZ|)A5)*tn`_q`L9lly-!#G_%$pmj%wbSf zcaFlH)zP0r0-JCDO@HoGBQ*PjHAPzm5mYWP)74m%C^oT!cuyxm;IluQ z35#I9k1CLpli<15zY3`xd=ENCBTJX=d$esV~8b~@bl z+}-XYs$fkuR5RWCbTno8A%7Bg2l{d*owjZ}EACI~*OhEet zeT$(mky&4y2S?BkyI>sFb{yqU>BHsJkRKo7{{j!e-8hcoHvfO)>jf|zU>GJq4z$+)b*M*& zxjPD3`n9>c5YP`RpQ)gU-(N!+q|U~2xPM^o?p+FNgAnKM#Tt^+w>EVA3hV$Fla5dW z-eJy;5yt2`p**k*rb3lZcCLsJ-#oLol9XM^q~%) ze^DuZm(L59{F(mVo64h0;ZY_RHE^|m!5}h78I1>{j&mS+-spBb=f`qBxp+)Ds^Zv# zzwz&;DEvuemCC1HA#!1pxC4c0-|Xz^*-G-e9tAw0yt{;s0;pVU_P;QYRJ7hG$Qtb( zeLX>4>$zZG@0De+!$%JIx0RBi+f-Vw>nI~4b85~nBP1Xr?%Q0h*RmJlra#%HG6woVPvz5Tuv|GzF7M3i zY;RPDF@VU2h+Rq^w*hkd2=O12Ie1+4%M4iVe@j@6I?VU~0oky&j|1=xd>nwY&hdBE z<>7!kO&#kHS*BpS9tpg!RKZ9n^^te{ba;2qpE3?0L2vq$QV+w}^iryl@57fsVVCg5 z;N1U(!4L7)-&VFlA{}wz&C2sWxDv;88XHkVBGU#0b!>#Gm#0(1Ja!x#X%MLfY|*w5 zQRmaAd?lzG{6fcuA!7i>Vj_3;k-8iM@L6dDwBx+l+5=Y1_)56uJo72P)5jBoJ|0D2 zf>k~;ru89;;3x9#vwsHskd=jr5D#;?e@EdfXK<6|-~G8b%3(0|uIb2v;&>kl$@QJq zJ~O>x)W^fWHk(({?%{EzqV!Z|PKIS*^uf~E%7el$!S&QoAMXOj6RZ*eD4p_g=Nxj#_0H*x5=68?Sm zRSMpJjB2AU_7Gec>`;sSymHSPI7(rENi41UT(P?KeUjF3&qMp19X@B*!};dy_A9$q z!>igndY(93E|ei7A=V+L9{XTM0h5BGOvR1?)p z)ILA=c58%(TChRrJo{S2(0whGof_P8_qDWpaNjG_SHK<^MLoFI_xcP5P3wn3%z5_f zXm*-OaRBgn{kQ#>!t-=I)#}R^p4o&t?JeW7!Nv->U2MCW%e{6P{@f?bJiDd8SQ^|{ z)@k2cux|y~*_kFeSlOSIid9C6API8(yN2MC%1&}uhdq+%+>ck~KUg+OC86U=#o%R}c(qjfywge#v_E)6quySB3EP#utOQ!6e z0*eCkfkV3*+p9~fgh(8+3i`aQ|J)?b3F>bAeG05s4ht`L+{fDmAGmLj`>U-#0q*ue zrt)qBG?Uvq_@h~Tu7K|qz=F&}oU#4kHgyh&`!AvHBLtjuIw-mh!eOnCJlWdc7w})Y z+}EzkL6?xbnoKVYg14~co%GiCd_uRQ=dK6XI{0BHY) z>3ru3ekc9yqX0Kd@xKBH`($kxaMcql=_d2YT^ThdLvq+l6 zZQ>5GMHGgMU}op$`PqzIcddF@jvq&{vm->Ym>os=k)Om+kD)x$MB!gT;lHB6&-Eq| z>7?{Mb#C-|Xg;C@H=%842WmmWa0FUXC=EP2w$2X(vDo7Od5@Hg`~m!d zs7Fk~5I7MeG~pJEhhs2f2%HDXEh$?W$@fwU#|&^2GJnT)q|d}V@}?z6(T{O#PpDf#j9J(X!KJxV)^o442_7Yq~%%%F0PLra@L= zVIj&Yq>NrrSomx3?grsch4(1>JP5BGj+UP;$K~bK^yLr2+kx8t6nL+|%C_T-f9L}W zZ=BaFkT(XO7>u_KZW)Xl2R9AI)r0E>DN_C@EbO}N0=Vx+KmVWMeiXeO#9eu!5^t+)sl<(yO_jL1vaS;6R+d*{b7f*B zZmB#~iOVaiwQGr$Q2G0CXPtw42l@!={)ch1y>PpDz2{Qg>3HL_ytlNyr%DgOc}Z|I z>2wk|j>yY0*$ht~ytkA~2f3`dhsC*$(u>SUaJ zLG-~n@OHHQ^N+*BuZ6&SWg71-ZU0fFhTu1{PGsS2SuI((F{>#HS7+5_;oPk9ENsq7 z%)%{Mr?PN)R<(95F$=Q5WKAa+kjc~$Wk}0u^$^d&dw1KH|MPh91LxpH`8jxZv>pB*#yhL+ zYaxo`U8d>RcT{_Vz6eT8HXO}9t%1*m7*%3oq9ek((60<$N*D0%2Kf)e>x#ahJ)!V& z;Aqb299*7Lor81!AiN#ur#}T=(4K%3Qk3}Md3H1PDJ6Rs7+D0F8G@{ zDlrQ4Ur$8Aj;Iz^U>mzke~ZFUXMrRZ3zS+r6d7R+PoqTI16?|ck-1=Dp-QPn>O%S` zEc^{xWkVRc75#rhZIHLGoI~#`$cJ9gc)Qd)MyShd%*2VAxtZ9U32m9sl({VvmuFV< z@0p|}0vhQ+Bm$ZvAUC2s0-GZsf(|$=brwuXYu2cC0L>IVs-BD2|IIVHY5q=hFLj2YSO` z-~Z?Is{DNg{>ml51nz(Y6f_p##Dd%cY%YMd0%$7OR)EV3s`>W<(vk#?NsyQX%}J1( zRGx&*Nx%lgadmN+64$KJXHU)Un!fYM=Wo#$2K)a{=}V^m9AWgal~${yQ<8e4IIjV3 z3)>Nf!^CvFA56P-MgcQeD66)Rj;Sk^apF$#M$`?JcoUs*#36JKce%2XtaUX>LS&pH zhB$0UuB#CQ6dO!qLkI8W!CZDBVMEKnV^{O0gtN3uu{>I5QL2``O2QIJUUFN}pX=U8NVRLgzYF^xl7ghDW<(}D( zH?*!7`a|i>4ePEs_T2b7|KgL%FDrQds&V2gBFh8Z$D0sk)$6e#T!@K`bXu+95e74f zvgyNZNUX2HY_f_`uZG68X+cGKpj%dj3=az?TMiHoEcptQv7m4C^P1wpj)KJAy{(b{ z7afMDw}bU994|PZepoq{c(pPv+@~8oX|C|(?fqNR#IwR>6%UN&s{x~1!nzTEdlW$WqNs}NRRMRVXHG6#hr zC$jGhm!E(*6hSNIq=Hb+CREgRzw8cIuJw6@w784MeNa%XHi-p@>}=gK!X7mdjYa&TDMcHR(3#h)yRO_cIPMlFAubZk~#h%>a}9PIQ?e0eG(9K%8V2 z3E9*0g_5E^W35+Lo?6&^$pjcM>~`O&URPTxh77J6TG=lG=Ppg}QJ5#cF>S=iX(k*# zy5FqTuQ>8c2Nn11HJ9i3TaQ*l4CS{0Sx}bOjs!v1WZq=PX0IWv!feJynY92`TY#;& z)T;TCSoV=*53orzVg@RA*C#GcRAyS?-)ko=h`O!ETXyI75VvjHX!uU)z5uorz7fU5 zMR^L%1}~XN+bP>?aYjcAl4LUtH`h~)W)l-CLQBPPp5?}bFf&E8Uc*m7Dkcq1w$y+(Q`NkL1dU;1w^%+>i>--{`3*D(- z5sgw&&&N}&b~aaO)`wNt?cuV~YmKNd8mWLgQ5>ZuPNgM_(UQf~Lxw8iA*ro2y3ztU zv+1>xrB_dTbm7=#k}hqPsz}!bFW_9bmq$OqwU!}ntW5| zPio%&Rqu+KmG07UEcT@tt%5mZ5^a-+T{=;eSPOvK0*n_Kt|A+Y6D3R7`#}8OSCt7- zc!2$xJ*#epq=Sw14=e8>qHL#i%%-v!gVIn>+9%9*DLp;cS?;WM5~njejIlZ?*nd^2 zE77{KBu8qp#*=9m@|@82K-E|lr;r5U1&c4AGNH8Up_?z;*f`r$x@|`PA^p5%Bl;P} zj2JL@=!BtU&Xkdrvy8-CUEbJyac%V_kvL*R(d606tKQz(Jw2s8islU~?@>CeZ@wqA zZ5+tOb_FI|Y+l+hHd~m?0s#NZYh)AytKYv^t0(F~T!f`X)WJWbEpw z6|ob>Esh%0JpIyLKmsj8=K7j9eZFq=c;}Q2Yo;!q)^ulk%P{&ji+gb)Uw1L1Sg)yx zs&+3S`tW9*8dW~OB-eSQHW+kGT`2Ofg{I>~X|2a2h1myi+bjVhUz4*;j~RAEJosP) zUsuOUxVRTmLSTy^dNDp1Hc^9>1z{h>_0N#wxVRm(w8HS1N!bG^#e!*b#*-iUVOSb2!zo&0oD-dRqw@*pSI)Cep~(poopYVI+6l4FEN5>gF*^Y}QEpwW>NmQNWYw~4 zUhX3-Iy75%%1A$VrH0x^YB*?ntaeuoP0cB=OpGlaQ=aPO>onn$;)_Qf`RkqJ>*sdk zo21$4X|BxSgS+vSn$d$Y=3ivGW|Ki}|G(3^4B%~KW6|-N5wL|ejKZYhq@E>Jwj>#j z8t_rWM~2e|;x!C6)EkI_MTg7jS;5|SMk^Z!vc=f~e^?IV$=+SHR=qWu%&Y_1(840Cl8eaPv`8Xnk9_ePo^(JLwfS`7I zEGQoJ@LJ;{btYN1BCj>N0(m2Wt}{L5NOD`Y8Hz zG;WOE7QG{yc%va&4lG}?$ca2hoSLR8KmjEnBM`teRIFm=EF2>Zz39s9F+;OmefyNe zRwqo1@{B1>?c2xW%o5KvDa8*6xV41`? zD)Ef3(dcXEU|#0mz4I z)sWixfmqsbjt(h(WbANxqODJl{-q^`%1ko*ARSQ=R*xk!3I`j~ClhCEH~a8tWq7bk z6#r!u|7__L%ZGqmUQ2jvLX<7f00x67p=O<+=`h-i?jxK6608|?sS~EZ_OQ@EYdTK= ze*x19U98@UZ>jZ%SxhN}F5hBhKc#08&j(;d5&N(xn)S^lNlh!3uST9`k^i|6MR1&W z8UcYN0qAw*|J&5koe33krMZyn0RC-XI$@@d@4wRwP;&#}<^mf;=;jK8Zzw=Em+9YY z*7Mt#7a$o6y0!qxSfII^faZFG>i}5>V+T1_4h{ice};I5d|;!CjZNABG<|L$`azUQ zv_V1$Y#p#bFwzIcC$Lxm*RB{bisS^XD+Mte`C?w?L7rYb@qBQXuxmHi$8c-pF{`NP zNF>YsZ9_N-9)|D1Z82b)5@ZqK;b34;0(E;ExjzgjUW+3Bj;R$Yz63@5EmJqP zd)$b-e~f|cpUA&@M(h9YfMq(Ug{aS9&0x=9?jR$rs0eHwGgvY@ST3++vQ!u4=U3-s zW>&Ye(^UtbZ7&GD;zr;MsFeUL>x~TzSxw+Q3N>>iHaikq6^A&xurc#L5j_PZJv}7_ zy{9n7Oc;a7P8Y(`)dn#Pl@zoN+vM3KDCogdfa`ZF3|g)#cyQU(T=e~du?3IhGh z3~CcH$TMg)Pq3Z0ec8|UC$`O=po9e4Ra5i z0dnV}+*~K@PC{}MJA*LLMasakL`qp%oI#e+L3V*GlPtFbBO4og0}Bhcl9C`d%wbYz zECoRquR>kNXbxWMf!~FZVtF7pW{ESd!RpF?Z;Enri?(2QDAWIc|KG5bvgHF^X#mWc zW_nEOe9Y`@pkl+0iCI`oT#kvIk69U5t()61n=_lMu(GQ$D+mecT8jEjuZs~DU^h+n z4XlZ@KKROwTir-NR6Kq9;o_oYNz#(y`Lp+>-?m=Z>LN!A$2zmsYteZorCN|$Y3CL+8_l%3gg za$02{U%;ZQ_KBkPo4~SbWXf2sH#N=u+g5Jw?SE_mQ_P>W@g3Z)nnh9Nh4q=BJK>pn zA(Dp|FvUaM#^MEbn>>=+us99mC`MyRreBhOi=em7Z-F`lauIz!#O7-7W%EpNP>UfK z(KGcj001}`z#0Gm0C?J+RZVXkH5h&;N!x7Nh6`}03K%3%i*_d;Y9;6`O}~P+r0SOT z!o@q|*>N&69@$P->52crl@mhz08Vh^$}ix|i34Zg@jKphlcqspN3-+Te!u+sd0!LJ z`$Hd@27}Y>DtOCh$LC+Ve|t>6>x&R zT!?sqt|Yf3UZh*e7ZEQ}KlwJ|3v@mCJ>rY>>B7~BFVSBMyAdzbjm4iM?$Pzde#ivHB+RxQ-`9w&}UDE@*6~>+9*p*&b*925<5g z+zn>#&W>4gyn#@jS3-hnd@b!`&QNjgu?xs4CaJ@U;!)04gYB;%F=DAFtQii#v$uw& zo}J-w7aj}Vhnkbj*ml@sXW0Ok@hJD`fNAR>8T4j*bAgs~xz|oe;jPS7E$zNA#Yw6O zt0vlcWihE6@l`rX#S`gOS$k-w0;W3McvFlVuUL7j&SbDEq5WWim7n9!|>=q}b#wZ-v6zK}dDH%&X z^qkFwdT*lU7#%>I>sUlx8OhV&F_7(c6Lk8K6b1h~_S?XR0G^eH<9ui)*L)O$k5w{B zI%3vX^(>n)!7Gk1^u8K-?7WU+cbjsrERXjN`42y0`n}3UN9iI~p5WOQ*l_H#><#$j zLi~!O3P^JA9YdpHKV2Lp6IU|rRHUKjXx$urJF*InI9R{WlnotM#Z10HryibZvCGzc z*@Tm*I9@kryWwbao-@ap4N_I~)a|(98)5(WR0?Kem%W^=4c?I7f^*}eSHltIc)D}$ z7-gV)z^B%gddGGDTIM9@*F?P*E5TP6OWl?3UFlGYDBLZpYtt9gQfH-@N+)vV^rXS! z_(+^A1c6nFQg0e_h%!1rib3E@lWLu06ww>pzmb%dL%ZlOBH zRW;SV4Bln+ecDBVu2G;d3thL?9CCOAmszD6_>s9B>q>jrD5aGddI=he&K&m&v=S$d5HB zdf(nzTboX&sfN=3d*z?96*H6mHnqYkwkqwX2021ofyVU6_HFmPL`(Q}_0(d!x zv3S~ToCSE>*4xD|gOkFTnYos(Y3w-C)=>xTnB2roye4rPXxA|_Gcz+YGsAz(%*?!f zwsn#?`qJk~-g^c2cfrv)uOyc+LjL=ikbh4kr;#!KC6=iEqJ$An1d&7$O$@OlL7GT2 z8AryG31lLfhs;anBlD95$bw`cvM^bMEJ_w5i<2eDl4L2eG+Bl$OO_+clNHE{WF@jP zS%s`hRwJvEHOQJ|Ei#EDiAQ|mNQ$IMhGa>OtWDM->yq`z`eXyLA<2^#QXs7)AR*a^ zY)mGTO~|HXGqO3^f=nS>lC8+rWE(P-Oe5Qp?a20I2eKpCiR?^vA-j^@$nK;_8M&Ao zLJlSOR!8|cIgA`fjwa`lE6F94lcT602a}V@kK`wEES2O4s>r+K2XY>{iu^);Ccl!4 z$hG82@;JGUOebyR1kz5PCMEI&d5Szwo*~bY=g1di26>6RKwc!*lMeDdIgz|dUM8=Q zPVyD`h8#)uAZ0R>bdxU9LoOf{GK=(*KGIJH$pD#6=8!MRo@6gFm+VdUCHs&&$c1Eo zvL88s97w(<-;%qiriNOYpiQ)y{6qew>i~LDmqmyWo zdeoPN7@Ut?1Tt8#LE8UImPK$IpZKLh9 zL}$e`_O&qesq6& z06mZ%L=UEikjvf9SvTKSmg3jBzHIWQu8Km}Lpp#G2VS zHl9sj6WKg$UN#?_pDn-^WDBu{*&=LFwisKSEy0##OR=TdGHhA499y2Pz*b}{v6a~> zY*n@zTb-@J)?{n3Ni4}c<}=4qEX^`3%W`aOwhmjDt;g198?X&op0%(7Yh?io*+y(* zHkob0Hf5W!&Dj=g3fq!x#kOYKu&Hbs+m>y|wr4xA9obH7XSNI5mF>oMXGJ!hwXt?q zVl!9=>ttoN2b;;dSU2lo71qmUu|C$%2G}5*&E~K@*<7|4+nepf_GSCA{n-KRKz0y2 zm>t3nWrwlD*%9nWb`(3B9m9@g$Fbwt3G7665<8il!cJwUvD4WZ>`ZnRJDZ)u&SmGZ z^VtRLLUs|mm|emyWtXwb*%j;?8B`yYFWz06)=ud>(J>+B8oCVPv$&E8?}viI2g>;v{8`-pwaK4G7-&)Dbe z3-%@Ziha$#Vc)Xv*!S!Q_9Od={mg!0zp~%h@9YouC;N;2&HiEkvi~^Ylrzq`;F2q@ zx#5;4coT2td5O>99lVp5`5t^G@8aF$3f{vjyqC}7eY~F!@IgMC&*6LWxqL6aH{XZv z%lG5^^8?8F{6KyXKbRlF59NpP!}$^XNPZMQnjgcD<;U^k`3d|)eiAvIpUh9;r;@Yz zY5a7420xRZ#n0yF@N@Zj{Cs`^zmQ+VFXor@KALftnNBLv?asC8qGBq(oX|L{{X)+F~8Cu2@g3FE$Vxio9qM z1<@)35sHn(#$vMAL~JTH6Pt@I#1yfm*h*|Iwh>dsG_kGNPHZoB5Ic&U#Li+Dv8&ik z>@JF8x@Z&aq9kUB4$&#fVh=G>bct@!BPya-%o2T~Ukr#rFV(Ev^Yi_D~=P#ixb3&;v{jhI7OT)P7|k#GsKzV zEOE9tN1Q9p6X%Ny#D(G_ak02WTq-UTmy0XJmEtOKwYWxHE3OmQiyOp^;wEvkxJBG5 zZWFhQJH(yhE^)WGN8Bs!6ZeY;#Dn4?@vwMAJSrX&kBcY7lj14yw0K55E1nb2ix(_;eYt_$Q08TeEXYBzKm($X(@ba(7vj(`B1% zmnAtvcF0aymV3yVvP*W$9$AsSa+d6q{c=DK%Gq*`+*8h#d&#}!K5}2VpWI&_APd`2$(Q9T z@>Thod|kdF-;{63x8*zXUHP7TUw$Azlpo2Dltr{9XPb|CE2pzvVyjU-_RRiYlhK5=ttiv@*)7glbaFYMdIcCa8&O z9yPC;PtC6uPz$Ps)WT{JwWwN5Ev}YOORA;R(rOvCtXfVjuU1eis+H8rY8ADrT1~C4 z)=+DzwbUe)RG#vcQz?~J8I@HzwYFMEt*h2k>#GgahAOXGR6(_>K!s`}wXvG4Hc^|Z z&D7><3pGV;skTyEt8LU&HBD`+wo}`y9n_9$C$+QMMeV9~Q@g98ny%VZyDF&}szY_E zvf4wQ@75P|a3z)Shat+Dq-N_EGz){nY;I0Ck``NFA&WQHQF- z)Zyv~b)-5<9j%U0$ExGh@#+M1qB=>PtWHsI`+JI!m3c&Qa&8^VIq30(GIf zNL{QhQJ1RA)aB|5b)~vWU9GNB*Q)E(_38$7qq<4mtZq@as@v4<>JD|Mx=Y=y?os!u z`_%pF0rjAINIk3`QID#})Z^+2^`v@AJ*}Qm&#LFt^XdilqWYhDNxiIIQLn1k)a&XE z^`?4Dy{+C+@2dCI`|1Prq54RDtUghns?XHt>I?Oy`bvGRzER(*@6`9|2lb=+N&T#T zQNOC+)bHvK^{4tv{jL5{|Em8q(Nr_dwa`*4t+mlsCv=l;*5mYeJwZ>@^XPf?e0qMp zfL>59q!-qU=tcEndU3skUQ#cmm)6VZW%Y7;dA)*OQLm&|)~o1M^=f)`y@p;>ucasH zr1rG0olfbr&giVp>9zGbdR@JqUSDsZH`ICEq6@lJ2RhUn>5cVdy@}pbZ>BfbTj(iz zOTCreT5qGL>S=mgy`A1(@1S?oJL#SEE_zqJo8Da)^>p2)+jU9L&>gx{m-QZcrtZ?+ zx<^-Zub!p*biW?ZgL<}}qxaNv^*LUbU^2`_59kN= zL;7L;h<;Q*rXSZ&=qL44`f2@)epWxHpVu$w7xn-2OZsK~ihfnUreD`@=r{FS`fdG= zepkPz-`5}L5A{d-WBrN#RDY&F*I(!_^;i09{f+)sf2Y6KKj<7HxtZ6a*vtE%xmT|^P2_Cf@UGJuvx?`Y8Eq#nbTMYEDw*{ot#HLID`%^GG+vzD1;lEyQ>aVBNbCS$TDXVy0BkYmicW<9gM*}!aQ z@}|WUOsfe@Xf`q%o5^Mqv#Ht4Y);NFTadHJndCb&g*;3yB`29J%~s?baydEPY)wuf zr)4${cNu zF~^$Y%<<$-bAmb1oMcWmrE;g5#OU-5G za&v{b(p+V(HrJSI&2{E_bA!3j++=Pxx0qYaZRU1!hq=?-W$rfjn0w8A=6>^ldC)v$ z9yX7dN6lmAar1vy3w#hczady0&U?(!9vXgAmde*njrfk|~ zY}V%N+IAhgu3gWrZ#S?T+PrPC1>0%^8`_QR#&)vZ#BORgvzyy3>=e7D-O6rlx3N?0 zG`p?c&TemaushnF?9O%B z-wxP8JKN5&d)m2nFT1zh$L?$Qv-{fv?1AJ>hub6Uk@hHiv^~ZiYmc+X z+Y{`G_9T0=h)K58Gc zkJ~5gllCe5w0*`tYoD{v+ZXJM_J8&z`?7t-zG`2yuiH25oAxdHwtdIGYu~f)+YjuA z_9OeT{ltE1KeM0PFYK50EBm$m#(rzRv)|hv?2q;*`?LMU{%U`-zuQ0TpY|{NxBbWd zYyV4-1Wm96Pl$v}sDw_KgiRz8O^N2jxWxFxgv7+eJc)S|^Cjj_ERa|*u~1^+#3G4B z6N@DlPb`sGGO<)*X+79eo-`>x39;2yW|#W<+bVq}-aVL9-R1W7%7D&y7u)(OJ-Qf0 zm7m^Mnq5-GdeHewN2RAUQx~JyRA?*rwGDR9=ql~m)HYI16sk=X+uBM!1BtfbqH1j` z)|zaOLTk1C;(!hSECCoqz*0RVf{}(w!$lpS8>J|!AZoEx4^102bgHAFQyY!6)iGRb z-l(n8-CabbqoLBYaYH+uBW1Di^kSdrto~Ay2g+UTB~`8mJsBe@V?sTlI5SZ@UuJ-ntetebT;;oJJw!VTyg>89b5jXeS z((mdjS`r>Rq0sUVMr2SzSow#^z!o|yth6aTfZPJRtdUnIyS%lPb!J6Pff5_Sc$jPn z<4+-LsXQ?mUVO%%>|qw@*(tc;7UiTH)h!MRfyBjkq+HgM&ya~MA%qE@=w2KP9OusR zBCde}r;E{*^DKmWx))Ki_8Ue`Gj>YOAP6sX&uhMapSp`WD{zO3w+q{lki{=aY=~kD zLkk@xs3Zu^5Wk!Fn&;SYb*pXI=Q9EqvJKiIaXpXSzY}-^^l9-e7B4hmB-VpQL$2j# z`rGXzerd=+fHUbn-|W8;$PSumJlq{t?JinvHgJuI`?%$Q0p1?s4t<0>(|OYR#1rlo z{u=QZWfiZD*<0_Age_t#&Mo*@tNkB<$Gr;vv9$yKY>vV12b!37$#{XGykw#k>LI1h zD$vG|yELW8-Kk6Ke#oWxCyAb;dx!=m3CmKMqE`j+bnzLY7{XQHun2{jcFOo>JQaNI ziFr$XEp;5bO3OC9z^+>YBYMpZ&o7llD|JpCoK8I+OAYz)g_iVB!L*}O)+OmV!2Lgr z%>6%1(E3Wf3Lp)M{Yq_ z@p&96Sj}rw@X3G|MD%=di+xRhtnwE`yMkW^k|3%l;Vt{M`SHYR-k%Axwo&g4I6(wY zq}!L*1jlTv|B2{)?qUZ|n(B>AyW0LwL0vR=Zg@aMn;+Hj>NCE-giXZPlFm(h*LH}c z+CIo?tL->0e+^xa&sOWa0cNZ11TJ<+q^Um0|4sPV<0quV-pI(S?Qs7Pid|*ykYX?S zWw|Lj0YVPnjq}reL;i1*D8K&#iY$z)rRo$)uQ+MVoNE@ejAm@iLFB)ecT;>tp9mu8 z+OHpxHZiq_m^iO%xOU-o!5cCddgBj&0`Omb*%mlo3`~cOIg&vRMMm$aA<;vWTj=e9 zAuvUIve$op{)>T8Fmwkp;luySWWL9<8UV#5MVEm8Y#=%;SqM!P^7?Ll zelWL1*{h*dS7xIT0t~&#V!TvElGe#}sNmT-U{=={hjgDN$jZMx!Z>Al9H%v75ueZP>f}N_VrbAZ;op-)G}%_wsVqG=12O=VSCP)k3l0mv%C6pPQGThY3C(YrSj+1t)7N7^gUh2T>B45 zL~41gO}yh~@RUDAs6B#m0MX|ZF#@9B10|v8Qe@_pk?eC4Df?7%m(j0alCd5^g#e`s zib4U=sla?FI*2T5S48#yoFo%>5A2$yU~!fVBf)%}%JU&gO7{8{44y9{C^oPY@pTklf)PWJ_4yq zk(m7`Y9Mw0Z!q%#4SMvapjlPRovke|KY*r_y!wQg*xL`m&h7~sT3b6DH}{jrAL;*D zGH3OPvfUGUZf|U2p%-Z6h{#dC2$Jn^{|p_H?wggDxkFC}d7&18T}n)^&7)lJkYl$g zxi%2p5l{7rLE;Yw97KrEiTmWv{$_Ce%1yt2_*Xmj28#sg-KAd%5G6Jo04r^lud|! zRpBbB(*En=)hT~5=eR~0oyulSGW|3ffktkvLr|*L;o6kyCxEKg7I=O*%t4{T($pTQ z?7q)JO=fmdXLoBVBmXRVe2<9)4Y6+tUVw^rnoLH9}gK?R1i}9uvPVX3JxSe zXCYFs#a#u$5dgjb@Nh?pA^?$ z2&_LTuBuhD_EFyqL_ri!+}k(T8pr>Ma9n+yspyk|Ac*XVcKe%@{}XYxy4^nNmw_w@ z@FczEyZ)u3{zPcC*}}CV-r^qr1MrtZo!Ohr7t6KM_(|IHOg1>DSKcE}$C97$VhNeS z@5ugt@?ZNvd}Z@%iv;&n9ka@H&STb7A>|9GOZs(=0n+2H|MI8%j;Z|S%XWM%x2p6; zV8+m^kk0Plo9IM=y@|IK_$y;}q8{^vk@>bst!qJR0o%+G6%`dF(AdqM+Fhb8OK!vb z?K7N*huW_@G$%WsstrYW=5>$oYG($qvJN`=lNE_|dR;FBR+}KM?$sX8fGymG7Jh5r zk84HWvW`+66p=&vxhy^yqGxOgf-;1J|S-A)*zstuA2tpSeM}S&eWlOG;}vn<>1XjiySGy>z%4Y8}9)TS~}0$ zncLM1PKXl{6VuBR{hVKww4aw`MwWo^SUWv7R}O#ARGA;|wJid7Sb=q<`)HjW>A=Np z67iG_;Avf@$ax(r7lfk4Sq^1wPS~XuJ)P0t>|cPSjQ$cRYvaN$)#$&$eqonN^z=9W zv?y!;6|@ZsJZX>pbZkt)r}0byx8q-d0Nf70PsjQceCp4BgW42)YR^V-IvhV8{|;(W z@PU&EE%5FF^IohK2)h)br@!|9AA%dZ6b={Y4Uiyhe$i4=N;SaR7h#utbkf)UfiM0J zhtN*m>i(Jh-SK~izbg}66xcT<@}H{zb2Kr(Xap&x1Ry#)uy0&sV~4`w9GwRe^jCC) zYtSN}s0}G47a;m`Afg@0DsCI2x7L$7oJFvmR=YJ~9ZnPYShL*{vFtZsj+lp&`sDAn zj#6F6YD=}Wpa4Av1xP(&>eb?iPESAtDks+#Da$IyR zjKKO|mqnU!PgZ`L@;nl~7uFfe95&PXCYh>dvmST3&cu%^YRmcl&6*THB)aYDO)=Df zAY&m%R_3F%rG_8l4PhY%o3(~h!(uRHZZ=e5LVxyW=IGx=dOr=bz4r6C^J~s+amX!m z6?b(u&u1-doxe$6(=1pV=XtAI)wz)E?4TY_45kX4>o?$dgnSW$>-9~v-v&IyRNuzm zRPQogBq9ZH8s(nyOs#07fOatt;?vPEUS5LA5&Q;>6kTNyb&h-(Z*P@goW9-6{Wl2$O!tXiD0LEci`{p6{&q?%Db zvgI?%3JFDhq}#&~%F+H#6FeYpcMFXvK<^r-2~N;`<>;a4(;;F#L0 zyD6O6nM1sm93j^!G21jM!O|;2W(S|+x=XhlMuiTl<~S8g&)MTmQ4`G61SR;bY34Kt z_L;+rJe?X}lhgpz6impKfc3kcjYyEd(1|_35g#AH<+12&XRJ0r!K!GS!W5%orPJ9R zsv@u}uuGpx#*=0t3X7g75GVcxe+@XbhY~Ar{2H1IU56<$Ar_-nTFJL_{uHA<>#%=xHv2e5q@<^#K zxudVn?eu^d1Q8lt#D=65h!x(mA^7A0N?{HK7P8_jp_i5Kng13}Q$RBDqUTxoHG1Li z9M2aabx?%+=Tm~)${f+8`MO~ifG)X%23V@YMHR^Fhb}|Gh%)0&a`$_QyAw#sB;R>Z zGnl0&aP?vxDWq!8t%&hxdVynhMelIOypUhGmk2Hx(x97~*HUm#2%>-?2{Zi-q%6^WDKfo~^G zR1VzFF~vW$)zrPQ7*q-cB^Q5!hE2Mu>6!B3K0i^X?lOu-j}+@D%(bw%_RKF?d8S=u zZL`t^y}BWC9-dGN!PbLY1pSX06iV`9#SxF%=ImW@C(;@e>gS~nq(w48&&sye!6S6#eIGX z5lAMykfS<{sD_HIkdrWhNYFz0Re0$u3AN^NkeAa`cJp0bwN&qJvN}Ie(Kg}kPtCBYi3-Ro z@MzC&!`A>vXNzp{!4N)-tpdUcwzX_U2%HE)ZgAhW&tFzv@HIuV7SL%*T`rWG$FVq@t0qe{O`;0^mk1&U}=@fS~as) zTnzk5EE)L4`ALe*3@@yTmuH>V8|Jp+$_YzXfOU(G7W}=L3qKVUAuGY%@qedj%*dRY)1S4o*S*N2UYd* zw%E%%R-FCaTQ&_nh%A73T4mZ+%?^+K>Yir!l@ynp<6k%xrw30x_Qz-;eB0E}+N@_b z3eR zKUwBwdglkj$6FWi@BX5BIMSoIcz|(PXx(yi_1K?WemAO4B+YI<$3Fpabxlm^`DE2o z{ibYv5En~=x759^Hga-kk`(0BZs`Cpz_B=WxM(p|$Bgqnmu zuc%|iq$<0n7GK`2=wv>j7T29i<`UPeDzaY2FaBnpKHfBrEGDI_wos3;YiFJBvt@93 zT)H-KENM1;Kk|5`QMp5zQ*t%D^Ax!&eR`-JW`*DK33I8OfJ?Q+i_D~D?K2LQo-Bc2 z6C=39i`K-j)4C8k4IL(5R19uOh$+6W&f4dQyVKOLs?w5CyyK|3v>aT0c+&LzD(-PP z4#JaXPvDi}QwM_U&XGNKt6 zzkIlKk&Zo+bV9_oP(1vnlnP`z^?v8GZgq}Y$t0?0Z_`=CZnNNo9{}4+%&(j2GLE~8 z#UmtvaJycgE|R9oOVB$VANg?|Q0}yb6^;ou^6`V!fxD3klZ%SXr}<+cs8AS103En1 z1cX9|TM|Tcu8gu-=~9A{pI=X*IsQ67h$!o0LDr9mkf0v?Wo;opH^u=At+uF3#8Kk= z8{bj6i6bx5ts&X%nF-)01ae`l={5z%{v4(881wYV3dhf%S(BpDmuk^fayrv^U6pY# zCx|Re5F<$Z5CAR2Ji49JrB)3Of-%yJ>R~T*inemLYchG8>Ee5SIt-1=tF`bgIXEGP zD2A}A8df`nuP?LZa2@6waY`rVXqC>`Ee5Q^LhJgbFrQ_;AQtstr{o1)BIzd192{Ii znma2wWLr9~m)8vH-$}WH$<^$p4Y)^yOZe=mOuyh*s|Vnyhoa5~mCSy!F%L`4QTeF~ zG)g1P8%f@B>Y53b_t|?W0yUHbEELKXQbAgEYN7pL!G&GC5^dMgm~x5TmSZ)yeJ-s# zPvIFddlFBYJvfY)VvGc+@g@99!qdy;gXtG}V0#646D4}ShoBWa)bU2Ah0>*3=pfi@ z!6LHca^51NLDx(rDBi;Tk zW{FbKluiz%bX%~{g5R>445v)bzDK8wR5Yd$BmLUPQ0y?f&mm+{Cfbe8 zflDkw=?9ba;=AD7ICbIR1sz4+4K@nLXnVU1ZtX%c?xgMI*?Y<;k%Xeu<%U6f49!K$NB-&{@DMueiVTV^o z?%Tktbl7sk+Yx+}%5E#53P7NyDFlbV@^-CvHf|sgkJ*f^kW{@QZrIdS_V#w95;Nf{ zwBh3u0!QMn7ufIZv{qw-fK+5|E;q_xA@%cXgh4VRnpKAch5U!j=m`IWZumETb5>6c z2aGk|eBLbAPGvUasv;;(UFzPdg3V#p#+8^7&4va+L6^J>!)O%(oNWkvfssER=bd}< zwFk78nJ7x1*J~6sV(vxwpI0t_E^eGZIU{S$nHVI_J zgk9n+h?CZ2u?r$9<=yps%|!2MZZ$s3SbAUY?e=Ewfb`*BDWPUtEBOp{4*S8bo?tv$x%BGy$`?6fIfs^^Kbz{EPis)d0o7$X*(EFj z2T_(E=asHp_8?a-Fxe~h+L8Fr8e1f06G_L(@nOii;sFFOmZGfIS1sb&%r>TS#nRRN zqw4V~jPsMO)6}JAAh_EJRw(h>#bHLCmYA|!mR!b%hSJilHI?-EP4^x5_u025f5v9cUe+&lSvHZlP~s>J~(Y*VLaSoF&ktYUWKVPok9vTV=(+J0LfB zWx#2GW+1SJjJV5P#I!HTo zJJ|fq=&M})H=^xD3m>;^sps&_ph`~#=V-(|bh$`iu7p9@?R(I1U28&}wFOgxj4ofv zri%Cv`v*S9a+`a1+tuPJf2-nO08PstH57Qy?%>@3hc+xgQnNstO{NQ2%vTZH?J*I> z*dD&fEE3iN`H#EiEj;#)d5}p-|D7}5s^V-B7OK{@0fvv ze>=Ym)~sm0$~|T9r-N>oR}p9F>FG&x%Vjy4)=&pdUktddvIGM>Hc(wzOw2GkP*+-B zTK%Gg1sn~s3a?qI6D+@)m%H?Yd6U!v=7ui~U?Q-fyXdh&>PW9oJ%o`Kv^^?JFEw{J{aKDBmzJXUk% zU+G?1JvtWmj3Qg>bwPdzyE;9)%|h?M<;fDl4#s5BmBm%*Qe_c|3)V1gUIa=}Iv z?{n%5Nq_e1r=fa~ z^{H|sDo?CfKX-gJ?AGZqt>962WbVKcrU5T8%uZM_x`fw!`k181jMm;+#*LLr<2Ob%T+u*&0HZjtx`4U34BGTegh zLS;q}!{mfT2}B-Lgf|&#QB0V6|}b}tmy7em0t*=1;HF9 z`|T{LN=cQcgbM8+aE*qEJi;_zX2QF?J-h_s;8yHT+aZFDG%` zo@GNsBuFJ;8$&=L)mq@Re==Qu_U-kXLm?KF_sro-v4rqEk%onI7)~ z?V{@lxJM-_I@^fcjf-Ad9goKa$Ch12D{zh-cdNmY21bPN<}@T{_p<5O#-g^v`;|s= zY6*vWzjgFR`Jlv5dEI}<$BXReI?Z@JYQ9Mu&OPx?S8{f{Zk@8p>Vx6H%R0{APMgz+ z1kWslugg^<4W5>^`@C#jY?ps3r(@S>Dl4K8{6W?uOFo|oM=7IV6jaBX3z;;ZDr!;O zo}3wY9)X67)LWiaUAj8d=*z};#>#iW%6G-ecf-mDW97SJ<$GY|gJa`EVByPf5Y7KqB390C_pKB{F`k2g+8m+iqFcT%+4K%N|HC>0fvz?(5%nZ4H}P6EKdKj zop9JMr>kI^YtAxN-{9F|5=Q^}j;Je%z05PLNQnwGqE&Y)pZ8r&3%z*R1-Mh z6qa_u_w&6cGQR@n<#OG?Ld*8b>#Of)3Bgn1jTAnyeIFOzvY3Yp+OMjfw#tQ*N6~&i=AkgP7l;WFwKl7b3;;tdr3%pU*LSJ65RG`8 zXbsfq#i=;QidITij-Viwr6ZR`+pyc(eM)&6gKTloZuVfLr`ft^XsmWm%})pI&-V2; ze&%<@6o&nIr~RIf*mC|6QIM+;mFr6gDrqf#+e_{%D$`hB{MD^sql zH2rR7`p^po)hb?i*Ji!`B{udz3+E|7zNyTeEp?OGtmluWcOUa156{(f&&M~5`1F=N zARrZwFj$XY3r}?D&c5ZOu7oDZBoj-zGYokl*o_zMW|}WD*Uv~kjCR}<^9@PZ&uwZG zPHAMbwtcq&-9#v7Gd?stjKI~79}_Ll6i}$JZs81ne_mxb=BE7Fpjbh?mz}A3Yt0J# zj@L#5&eA{LWK-kQCGxqJdZ@>wfT@=uSsidc*166@^I;3sHYVIC*D7XO_D5uqO-JdV z{>`FE?V`urn~ZN(2?~0ggUu^#m8D%pDymtQAFpwjB(rfZj%MIA#TprQ9PQT=OWi}c zUUyb`StMP$eNPbNmc4mpyFU?sbSloSb8~1gz=f)EzxsAlD}dh1Dd}|kj2~HA0 zcX|(gr=g{l8e*OJSNf%Gsk77%)fqP|)8a(|^i5&RTMXBZO&A|CTQWdz>?3g0XMN`IKhxT&OM$Y!s@AAfb0uZL{4Pqr)Wsd>Qg@1 ztLw~ENlK~qAA0=5atVNJNc$$2NBb9-GD(&ha~@Q_R5pYsi$PqzAD^zET^i3PXS2$% zm5mk;Ev6C-@TJaWa4;58T1riaYA~DCn4}GVOX6pReck^wH(04R;t7PQqYXaa!rs8% zlpRTqW@9rmkQWAM z68wW^4P$)>n|?jQro@ti@;;&jE}NOjnRD`h&!Ou}++1Y6h}=w18R1PjrD=-WNF$8C z@Sv%N;E$QTpAl(9oWB^e@%ehFf|50gNDC-&Czk2gL&?$VQ!8E23Mu^_T1x7?$KMzq zwYW34)aMD8f~@I%cIE3Ljtnk-0VT>N4Wgn`CdtioyvfWQiEWygd$aAk1+43HLxOI? zZwqdCa0`S*L)FGq$|>L4cy-m^MTf^d45hGS#p91lhrQ2jTA8C`AisLD^R7D4+cW&q zDD(B0@)*|Y9a8m+>Ju9cY#n{CrYTi=n6fYZzi5sqo*#WvMYU*HNY zNyI>^4L#nT2G*>_j@W1mI;1&-sq=_`<S5h=V+I9ZG*T45SJ%L+|z(JFI_C#U>~m;&nXMe zDZk7&ZshNsNPpa*dDDzL7$T&r6*Ym&2@n2kP(qN9@@4Mju<3hFkt~9g;V28!8+s!G z`3w7o4%bNf5Vr=b9(@1kXnrf~;wj3!(GEk@H`Bs~fa1e<@)@5t2~~SY)yv+=U$vbI zzJpzr>!P5vO4ww4O4RJqLQzm?Q(<&~zWGsVqTy#@1=zI&OwGI?j-65`WuIrMZTvEY zR^t4=Mx=;D^I*&(5Daub4A_zwv+CtO3~>IHd~(L6MiDVDgMUYr5bS)OoyHoS4^&rh zo75F$_j`lITQX+;NuI$;^UK7GH1JNfa2^hC$??pKX7D%ZrJ&c1(fo&#Qs@b4*th3$QeVQ}PIdZE@GWWSY;916ogejkwd>h=I>}QF&2z5z-tf%awih zramVD+|XAVGm#Xj1dcjS$m#Zr{c8x-f#d)`ucrsN#}VzqL;_wR&!DO0-x+4zJC*yY zu;mTu_ci7bWw<(|lYa03bX&1Hpyc!06@4?@w3r9LVzoA?vwDOJOMpI)C~n01Y(%=} z3*P6+&+>_!UQ8nJqTaD_U-~flwgjZEPttEq8W=~m{a`uI3Du#6ooi~t+CE6Th4gqm zofK{k*T=qU%Q!S~FWnvM{Qf+94!gzdGm(GGL8O3NS0eJkXG}V^U5@TSVEy|7!40mv_>{1-(_60+n zb5WA29E>c3Vax=k>XY{0bjcqzz5wQ$>PYqBJtW)79{>YY1Wk!SlPL;MVw7cwa z2d`1Wd0xli_bMD~XZG$kz1y*w&vqOYxpuI3*z@t6keqNQk-u{|!Z~4_bM)B@2l0zy zsFM4>C=2ND)LYGsZu&-5+FZNth}<_Ur0)D<7BR$I0Qm#eL!RCKmwkT>v8PHq$=Kpg zF>Yvfm@`qxdk51=8wg#rpWAZijxa2`K9BVL;BN$~MZu{It+Y=u6~+JPvtBHlE-II9 zIy0WPcO3lsX}sT@#0)&Y{6e#a8iE$Z?uu@T>xXg;i0ZTR1z?QlronHsRU?6M+ikE)i`2LD2rtJNzK#XJ^zs5E%xMId_+8fUP z6qs~UiZ_ERK9L5b&_@3DqikIFa8Xv&F^@s-s!2ZM0&;lOaY33!)}s1!8puCb+A`vy z-g*-3c(eM-wCkupSzUWAsrd=Jny@1cWCI*JQrF^um>)?S>}T(IgvpD0zFE&AFb@3A z(<<24bD|#KShDxl^sYWVU)^&Qh)f3`E8>wm<%Vil_@yy#0YcpDE*|MF4g_0bGE9WK zDBI5rC)_gAl8Yo!t@)6;8n23IkJ<%xPvmuhYU1RKAKGk;ANo8yYz!u5oi3U8ZJe34 z`f&R*1{O9BPSG@84Q`HZq@8Y`GV!R5#C{ySIVI(bTxP%<&>Mhllx<+%1Qo}DPVF0H z1$?$AyA8;S>FKqO!uPD?y~O8GY-g{#J=3rz)<>&I3$04f_ds8|JR!>G67f0=z!f8;2uWe85>v>Kp$D3IFLS)yZeQlGIi;WYsGTzvRoj`uZ+F{%IwVz2*e~Xa z)O+w8HTwAA4NDJ)1%zLvO9wu{8et0_=N@<&WFDWpR&G|)FD_r!f3pra^z3X2J#~2p>(t!zv#B1Nn9t!?p1bFbK*343 zFE`?Tb$jF|y0iL={mP3d6|WQ^%;$&3;eIRP29A#e)(R8L8<&KS?h9@Psdrx-V~*u} z$L4|t+kD%vI#io44~s>XQFJ2xy|Au?hXUb^(m?3z^#|7eHoC8|j9;OXvTx|TA$O;P zOT;XtOtoo3WLI!3Hx2%BFBo`j-9w5yjN-n8aYv+{uz@!RfAv88{V25vJiRLW!3%Up hro1Gm^!QiP6S!YtDu?#jueML#r{-5X6n)I|zW@(RJiGt^ literal 0 HcmV?d00001 diff --git a/docs/hugo/public/fonts/LiberationSans-Italic.woff2 b/docs/hugo/public/fonts/LiberationSans-Italic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..86f6521c04884f81c9a48e50e3ae383b3aaa3ddf GIT binary patch literal 139304 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 -i+FKf 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⪚)=A6l_-KZ@^(mY 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 literal 0 HcmV?d00001 diff --git a/docs/hugo/public/fonts/LiberationSans.woff b/docs/hugo/public/fonts/LiberationSans.woff new file mode 100644 index 0000000000000000000000000000000000000000..bb582d51fb75d2f4d125f15e6e089d319af6e7d5 GIT binary patch literal 188280 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 literal 0 HcmV?d00001 diff --git a/docs/hugo/public/fonts/LiberationSans.woff2 b/docs/hugo/public/fonts/LiberationSans.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..796cb17b55771e8282b4554a86f145a6193f39a5 GIT binary patch literal 133308 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 #*I7^s-J}Y4IY1hQvRfTBA1kd`2zbAK}odo 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 literal 0 HcmV?d00001 diff --git a/docs/hugo/public/fonts/Metropolis.woff b/docs/hugo/public/fonts/Metropolis.woff new file mode 100644 index 0000000000000000000000000000000000000000..6b1342c2f125825ee1967d00c5e863ba5e4597e4 GIT binary patch literal 16336 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 TYqd&VnqJLHIX9iq_T+y7#;O#c literal 0 HcmV?d00001 diff --git a/docs/hugo/public/fonts/Roboto-Italic.ttf b/docs/hugo/public/fonts/Roboto-Italic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..f382c6874359c1e98bdc2a2ecd1d141e8f1cc15e GIT binary patch literal 148540 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 B*%JT& literal 0 HcmV?d00001 diff --git a/docs/hugo/public/fonts/Roboto.ttf b/docs/hugo/public/fonts/Roboto.ttf new file mode 100644 index 0000000000000000000000000000000000000000..2d116d920580367caf6a179155f344ede856bf31 GIT binary patch literal 168260 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∾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 TwL*XSfJ*Ay literal 0 HcmV?d00001 diff --git a/docs/hugo/public/fonts/SourceCodePro.ttf b/docs/hugo/public/fonts/SourceCodePro.ttf new file mode 100644 index 0000000000000000000000000000000000000000..b1fa336cd52b3d88269920d325505a70c95225d9 GIT binary patch literal 120456 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 z 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 AIRF3v literal 0 HcmV?d00001 diff --git a/docs/hugo/public/ha_cluster/index.html b/docs/hugo/public/ha_cluster/index.html new file mode 100644 index 000000000..48fbc9cbd --- /dev/null +++ b/docs/hugo/public/ha_cluster/index.html @@ -0,0 +1,5152 @@ + + + + + + + + + + + + + High Availability | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + + + +
    +
    + + + + +
    + + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
    +
    +
    + + + +
    + + + + + +
    + + + + + + + + + + + +
    + +
    + + +
    + + +
    + + +
    +

    High Availability

    +
    + +
    +

    High availability (HA) is a critical aspect of running database systems, especially in mission-critical applications where downtime is unacceptable. This section explains why high availability is important for PostgreSQL and how Patroni acts as a solution to ensure HA. +Why High Availability (HA) for PostgreSQL?

    +
      +
    1. To minimise downtime: In modern, data-driven applications, downtime can cause significant financial and reputational losses. High availability ensures that the database remains available even in the event of hardware failures or network problems.
    2. +
    3. Data integrity and security: A database failure can lead to data loss or data inconsistencies. High-availability solutions protect against such scenarios through continuous data replication and automatic failover.
    4. +
    5. Scalability and load balancing: HA setups make it possible to distribute the load across multiple nodes, resulting in better performance and faster response times. This is particularly important in environments with high data traffic.
    6. +
    7. Ease of maintenance: By setting up high availability, database maintenance can be performed without interrupting services. Nodes can be maintained incrementally while the database remains available.
    8. +
    +
    +

    + Patroni - the cluster manager +

    + + + +
    +

    In our PostgreSQL environment, we use Patroni in the PG containers by default. This has the advantage that even single-node instances basically function as Patroni clusters. This configuration offers several important advantages:

    +
      +
    • Easy scalability: by using Patroni in all PG containers, scaling pods up and down is possible at any time. You can easily add additional pods as needed to improve performance or increase capacity, or remove pods to free up resources. This flexibility is particularly useful in dynamic environments where requirements can change quickly.
    • +
    • Automated cluster management: Patroni automatically takes over the management of the cluster. When a new pod is added to an existing cluster, Patroni takes care of setting up the new node itself, including initialising and starting replication. This means you don’t have to perform any manual steps to configure or manage new nodes - Patroni does it all for you automatically.
    • +
    • Seamless integration: As Patroni is active in every PG container by default, you don’t have to worry about compatibility or manual configuration. This makes deployment and maintenance much easier, as all the necessary components are already preconfigured.
    • +
    • Optimisation of resources: Even with a minimal setup (single-node instance), you benefit from the advantages of a Patroni cluster, including the possibility of easy expansion and automatic failover in the event of a failure. This ensures optimal resource utilisation and minimises downtime.
    • +
    +
    +

    + Upgrade the cluster to high availability +

    + + + +
    +

    The necessary changes to a high-availability cluster are very limited. +Only the number of desired instances needs to be increased.

    +
    apiVersion: cpo.opensource.cybertec.at/v1
    +kind: postgresql
    +metadata:
    +  name: cluster-1
    +spec:
    +  dockerImage: "docker.io/cybertecpostgresql/cybertec-pg-container:postgres-17.4-1"
    +  numberOfInstances: 2
    +  postgresql:
    +    version: "17"
    +  resources:
    +    limits:
    +      cpu: 500m
    +      memory: 500Mi
    +    requests:
    +      cpu: 500m
    +      memory: 500Mi
    +  volume:
    +    size: 5Gi 
    +

    You can either create a new cluster with the document or update an existing cluster with it. +This makes it possible to scale the cluster up and down during operation.

    +

    The example above will create a HA-Cluster based on two Nodes.

    +
    kubectl get pods
    +-----------------------------------------------------------------------------
    +NAME                             | READY  | STATUS           | RESTARTS | AGE
    +cluster-1-0                      | 1/1    | Running          | 0        | 3d
    +cluster-1-1                      | 1/1    | Running          | 0        | 31s
    +
    +
    + + + + + + + +
    +
    + + + +
    + + + + + + diff --git a/docs/hugo/public/ha_cluster/index.xml b/docs/hugo/public/ha_cluster/index.xml new file mode 100644 index 000000000..ceaf1b1fa --- /dev/null +++ b/docs/hugo/public/ha_cluster/index.xml @@ -0,0 +1,12 @@ + + + + High Availability on CYBERTEC-PG-Operator + http://localhost:1313/CYBERTEC-pg-operator/ha_cluster/ + Recent content in High Availability on CYBERTEC-PG-Operator + Hugo + en + + + + diff --git a/docs/hugo/public/images/architecture_cluster_backup_cloud_storage.png b/docs/hugo/public/images/architecture_cluster_backup_cloud_storage.png new file mode 100644 index 0000000000000000000000000000000000000000..082032dc9a9e76f592e88a05bf79b9db2d18cb4f GIT binary patch literal 99433 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 S=m}l*MhzYHdq3?s_P+oCeXLXf literal 0 HcmV?d00001 diff --git a/docs/hugo/public/images/architecture_cluster_backup_pvc.png b/docs/hugo/public/images/architecture_cluster_backup_pvc.png new file mode 100644 index 0000000000000000000000000000000000000000..1cdbf5bad5c0c0a3682fa8f45730f6043ab42f90 GIT binary patch literal 101125 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 D?4_8Y literal 0 HcmV?d00001 diff --git a/docs/hugo/public/images/css/custom.css b/docs/hugo/public/images/css/custom.css new file mode 100644 index 000000000..d1f5fce85 --- /dev/null +++ b/docs/hugo/public/images/css/custom.css @@ -0,0 +1,3 @@ +thead { + background: var(--accent-color-lite); + } \ No newline at end of file diff --git a/docs/hugo/public/images/css/styles.css b/docs/hugo/public/images/css/styles.css new file mode 100644 index 000000000..d1f5fce85 --- /dev/null +++ b/docs/hugo/public/images/css/styles.css @@ -0,0 +1,3 @@ +thead { + background: var(--accent-color-lite); + } \ No newline at end of file diff --git a/docs/hugo/public/images/k8s-entities.png b/docs/hugo/public/images/k8s-entities.png new file mode 100644 index 0000000000000000000000000000000000000000..7f33924b4e6ee0e13a20e9b5469b0794dfce0b66 GIT binary patch literal 97008 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

  1. ${e}
  2. \n`}checkbox({checked:t}){return"'}paragraph({tokens:t}){return`

    ${this.parser.parseInline(t)}

    \n`}table(t){let e="",r="";for(let e=0;e${n}`),"\n\n"+e+"\n"+n+"
    \n"}tablerow({text:t}){return`\n${t}\n`}tablecell(t){const e=this.parser.parseInline(t.tokens),r=t.header?"th":"td";return(t.align?`<${r} align="${t.align}">`:`<${r}>`)+e+`\n`}strong({tokens:t}){return`${this.parser.parseInline(t)}`}em({tokens:t}){return`${this.parser.parseInline(t)}`}codespan({text:t}){return`${t}`}br(t){return"
    "}del({tokens:t}){return`${this.parser.parseInline(t)}`}link({href:t,title:e,tokens:r}){const n=this.parser.parseInline(r),i=x(t);if(null===i)return n;let a='
    ",a}image({href:t,title:e,text:r}){const n=x(t);if(null===n)return r;let i=`${r}{const i=t[n].flat(1/0);r=r.concat(this.walkTokens(i,e))})):t.tokens&&(r=r.concat(this.walkTokens(t.tokens,e)))}}return r}use(...t){const e=this.defaults.extensions||{renderers:{},childTokens:{}};return t.forEach((t=>{const r={...t};if(r.async=this.defaults.async||r.async||!1,t.extensions&&(t.extensions.forEach((t=>{if(!t.name)throw new Error("extension name required");if("renderer"in t){const r=e.renderers[t.name];e.renderers[t.name]=r?function(...e){let n=t.renderer.apply(this,e);return!1===n&&(n=r.apply(this,e)),n}:t.renderer}if("tokenizer"in t){if(!t.level||"block"!==t.level&&"inline"!==t.level)throw new Error("extension level must be 'block' or 'inline'");const r=e[t.level];r?r.unshift(t.tokenizer):e[t.level]=[t.tokenizer],t.start&&("block"===t.level?e.startBlock?e.startBlock.push(t.start):e.startBlock=[t.start]:"inline"===t.level&&(e.startInline?e.startInline.push(t.start):e.startInline=[t.start]))}"childTokens"in t&&t.childTokens&&(e.childTokens[t.name]=t.childTokens)})),r.extensions=e),t.renderer){const e=this.defaults.renderer||new st(this.defaults);for(const r in t.renderer){if(!(r in e))throw new Error(`renderer '${r}' does not exist`);if(["options","parser"].includes(r))continue;const n=r;let i=t.renderer[n];t.useNewRenderer||(i=this.#e(i,n,e));const a=e[n];e[n]=(...t)=>{let r=i.apply(e,t);return!1===r&&(r=a.apply(e,t)),r||""}}r.renderer=e}if(t.tokenizer){const e=this.defaults.tokenizer||new _(this.defaults);for(const r in t.tokenizer){if(!(r in e))throw new Error(`tokenizer '${r}' does not exist`);if(["options","rules","lexer"].includes(r))continue;const n=r,i=t.tokenizer[n],a=e[n];e[n]=(...t)=>{let r=i.apply(e,t);return!1===r&&(r=a.apply(e,t)),r}}r.tokenizer=e}if(t.hooks){const e=this.defaults.hooks||new ct;for(const r in t.hooks){if(!(r in e))throw new Error(`hook '${r}' does not exist`);if("options"===r)continue;const n=r,i=t.hooks[n],a=e[n];ct.passThroughHooks.has(r)?e[n]=t=>{if(this.defaults.async)return Promise.resolve(i.call(e,t)).then((t=>a.call(e,t)));const r=i.call(e,t);return a.call(e,r)}:e[n]=(...t)=>{let r=i.apply(e,t);return!1===r&&(r=a.apply(e,t)),r}}r.hooks=e}if(t.walkTokens){const e=this.defaults.walkTokens,n=t.walkTokens;r.walkTokens=function(t){let r=[];return r.push(n.call(this,t)),e&&(r=r.concat(e.call(this,t))),r}}this.defaults={...this.defaults,...r}})),this}#e(t,e,r){switch(e){case"heading":return function(n){return n.type&&n.type===e?t.call(this,r.parser.parseInline(n.tokens),n.depth,function(t){return t.replace(g,((t,e)=>"colon"===(e=e.toLowerCase())?":":"#"===e.charAt(0)?"x"===e.charAt(1)?String.fromCharCode(parseInt(e.substring(2),16)):String.fromCharCode(+e.substring(1)):""))}(r.parser.parseInline(n.tokens,r.parser.textRenderer))):t.apply(this,arguments)};case"code":return function(r){return r.type&&r.type===e?t.call(this,r.text,r.lang,!!r.escaped):t.apply(this,arguments)};case"table":return function(r){if(!r.type||r.type!==e)return t.apply(this,arguments);let n="",i="";for(let t=0;t0&&"paragraph"===e.tokens[0].type?(e.tokens[0].text=t+" "+e.tokens[0].text,e.tokens[0].tokens&&e.tokens[0].tokens.length>0&&"text"===e.tokens[0].tokens[0].type&&(e.tokens[0].tokens[0].text=t+" "+e.tokens[0].tokens[0].text)):e.tokens.unshift({type:"text",text:t+" "}):s+=t+" "}s+=this.parser.parse(e.tokens,a),o+=this.listitem({type:"list_item",raw:s,text:s,task:i,checked:!!n,loose:a,tokens:e.tokens})}return t.call(this,o,n,i)};case"html":return function(r){return r.type&&r.type===e?t.call(this,r.text,r.block):t.apply(this,arguments)};case"paragraph":case"strong":case"em":case"del":return function(r){return r.type&&r.type===e?t.call(this,this.parser.parseInline(r.tokens)):t.apply(this,arguments)};case"escape":case"codespan":case"text":return function(r){return r.type&&r.type===e?t.call(this,r.text):t.apply(this,arguments)};case"link":return function(r){return r.type&&r.type===e?t.call(this,r.href,r.title,this.parser.parseInline(r.tokens)):t.apply(this,arguments)};case"image":return function(r){return r.type&&r.type===e?t.call(this,r.href,r.title,r.text):t.apply(this,arguments)}}return t}setOptions(t){return this.defaults={...this.defaults,...t},this}lexer(t,e){return ot.lex(t,e??this.defaults)}parser(t,e){return ht.parse(t,e??this.defaults)}#t(t,e){return(r,n)=>{const i={...n},a={...this.defaults,...i};!0===this.defaults.async&&!1===i.async&&(a.silent||console.warn("marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored."),a.async=!0);const o=this.#r(!!a.silent,!!a.async);if(null==r)return o(new Error("marked(): input parameter is undefined or null"));if("string"!=typeof r)return o(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(r)+", string expected"));if(a.hooks&&(a.hooks.options=a),a.async)return Promise.resolve(a.hooks?a.hooks.preprocess(r):r).then((e=>t(e,a))).then((t=>a.hooks?a.hooks.processAllTokens(t):t)).then((t=>a.walkTokens?Promise.all(this.walkTokens(t,a.walkTokens)).then((()=>t)):t)).then((t=>e(t,a))).then((t=>a.hooks?a.hooks.postprocess(t):t)).catch(o);try{a.hooks&&(r=a.hooks.preprocess(r));let n=t(r,a);a.hooks&&(n=a.hooks.processAllTokens(n)),a.walkTokens&&this.walkTokens(n,a.walkTokens);let i=e(n,a);return a.hooks&&(i=a.hooks.postprocess(i)),i}catch(t){return o(t)}}}#r(t,e){return r=>{if(r.message+="\nPlease report this to https://github.com/markedjs/marked.",t){const t="

    An error occurred:

    "+f(r.message+"",!0)+"
    ";return e?Promise.resolve(t):t}if(e)return Promise.reject(r);throw r}}};function dt(t,e){return ut.parse(t,e)}dt.options=dt.setOptions=function(t){return ut.setOptions(t),dt.defaults=ut.defaults,s(dt.defaults),dt},dt.getDefaults=function(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}},dt.defaults=o,dt.use=function(...t){return ut.use(...t),dt.defaults=ut.defaults,s(dt.defaults),dt},dt.walkTokens=function(t,e){return ut.walkTokens(t,e)},dt.parseInline=ut.parseInline,dt.Parser=ht,dt.parser=ht.parse,dt.Renderer=st,dt.TextRenderer=lt,dt.Lexer=ot,dt.lexer=ot.lex,dt.Tokenizer=_,dt.Hooks=ct,dt.parse=dt,dt.options,dt.setOptions,dt.use,dt.walkTokens,dt.parseInline,ht.parse,ot.lex;var pt=r(513);function ft(t,{markdownAutoWrap:e}){const r=t.replace(//g,"\n").replace(/\n{2,}/g,"\n"),n=(0,pt.T)(r);return!1===e?n.replace(/ /g," "):n}function gt(t,e={}){const r=ft(t,e),n=dt.lexer(r),a=[[]];let o=0;function s(t,e="normal"){"text"===t.type?t.text.split("\n").forEach(((t,r)=>{0!==r&&(o++,a.push([])),t.split(" ").forEach((t=>{(t=t.replace(/'/g,"'"))&&a[o].push({content:t,type:e})}))})):"strong"===t.type||"em"===t.type?t.tokens.forEach((e=>{s(e,t.type)})):"html"===t.type&&a[o].push({content:t.text,type:"normal"})}return(0,i.K2)(s,"processNode"),n.forEach((t=>{"paragraph"===t.type?t.tokens?.forEach((t=>{s(t)})):"html"===t.type&&a[o].push({content:t.text,type:"normal"})})),a}function yt(t,{markdownAutoWrap:e}={}){const r=dt.lexer(t);function n(t){return"text"===t.type?!1===e?t.text.replace(/\n */g,"
    ").replace(/ /g," "):t.text.replace(/\n */g,"
    "):"strong"===t.type?`${t.tokens?.map(n).join("")}`:"em"===t.type?`${t.tokens?.map(n).join("")}`:"paragraph"===t.type?`

    ${t.tokens?.map(n).join("")}

    `:"space"===t.type?"":"html"===t.type?`${t.text}`:"escape"===t.type?t.text:`Unsupported markdown: ${t.type}`}return(0,i.K2)(n,"output"),r.map(n).join("")}function mt(t){return Intl.Segmenter?[...(new Intl.Segmenter).segment(t)].map((t=>t.segment)):[...t]}function xt(t,e){return bt(t,[],mt(e.content),e.type)}function bt(t,e,r,n){if(0===r.length)return[{content:e.join(""),type:n},{content:"",type:n}];const[i,...a]=r,o=[...e,i];return t([{content:o.join(""),type:n}])?bt(t,o,a,n):(0===e.length&&i&&(e.push(i),r.shift()),[{content:e.join(""),type:n},{content:r.join(""),type:n}])}function kt(t,e){if(t.some((({content:t})=>t.includes("\n"))))throw new Error("splitLineToFitWidth does not support newlines in the line");return Ct(t,e)}function Ct(t,e,r=[],n=[]){if(0===t.length)return n.length>0&&r.push(n),r.length>0?r:[];let i="";" "===t[0].content&&(i=" ",t.shift());const a=t.shift()??{content:" ",type:"normal"},o=[...n];if(""!==i&&o.push({content:i,type:"normal"}),o.push(a),e(o))return Ct(t,e,r,o);if(n.length>0)r.push(n),t.unshift(a);else if(a.content){const[n,i]=xt(e,a);r.push([n]),i.content&&t.unshift(i)}return Ct(t,e,r)}function wt(t,e){e&&t.attr("style",e)}async function _t(t,e,r,n,a=!1){const o=t.append("foreignObject");o.attr("width",10*r+"px"),o.attr("height",10*r+"px");const s=o.append("xhtml:div");let l=e.label;e.label&&(0,i.Wi)(e.label)&&(l=await(0,i.VJ)(e.label.replace(i.Y2.lineBreakRegex,"\n"),(0,i.D7)()));const h=e.isNode?"nodeLabel":"edgeLabel",c=s.append("span");c.html(l),wt(c,e.labelStyle),c.attr("class",`${h} ${n}`),wt(s,e.labelStyle),s.style("display","table-cell"),s.style("white-space","nowrap"),s.style("line-height","1.5"),s.style("max-width",r+"px"),s.style("text-align","center"),s.attr("xmlns","http://www.w3.org/1999/xhtml"),a&&s.attr("class","labelBkg");let u=s.node().getBoundingClientRect();return u.width===r&&(s.style("display","table"),s.style("white-space","break-spaces"),s.style("width",r+"px"),u=s.node().getBoundingClientRect()),o.node()}function vt(t,e,r){return t.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",e*r-.1+"em").attr("dy",r+"em")}function St(t,e,r){const n=t.append("text"),i=vt(n,1,e);Mt(i,r);const a=i.node().getComputedTextLength();return n.remove(),a}function Tt(t,e,r){const n=t.append("text"),i=vt(n,1,e);Mt(i,[{content:r,type:"normal"}]);const a=i.node()?.getBoundingClientRect();return a&&n.remove(),a}function At(t,e,r,n=!1){const a=e.append("g"),o=a.insert("rect").attr("class","background").attr("style","stroke: none"),s=a.append("text").attr("y","-10.1");let l=0;for(const e of r){const r=(0,i.K2)((e=>St(a,1.1,e)<=t),"checkWidth"),n=r(e)?[e]:kt(e,r);for(const t of n)Mt(vt(s,l,1.1),t),l++}if(n){const t=s.node().getBBox(),e=2;return o.attr("x",t.x-e).attr("y",t.y-e).attr("width",t.width+2*e).attr("height",t.height+2*e),a.node()}return s.node()}function Mt(t,e){t.text(""),e.forEach(((e,r)=>{const n=t.append("tspan").attr("font-style","em"===e.type?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight","strong"===e.type?"bold":"normal");0===r?n.text(e.content):n.text(" "+e.content)}))}function Bt(t){return t.replace(/fa[bklrs]?:fa-[\w-]+/g,(t=>``))}(0,i.K2)(ft,"preprocessMarkdown"),(0,i.K2)(gt,"markdownToLines"),(0,i.K2)(yt,"markdownToHTML"),(0,i.K2)(mt,"splitTextToChars"),(0,i.K2)(xt,"splitWordToFitWidth"),(0,i.K2)(bt,"splitWordToFitWidthRecursion"),(0,i.K2)(kt,"splitLineToFitWidth"),(0,i.K2)(Ct,"splitLineToFitWidthRecursion"),(0,i.K2)(wt,"applyStyle"),(0,i.K2)(_t,"addHtmlSpan"),(0,i.K2)(vt,"createTspan"),(0,i.K2)(St,"computeWidthOfText"),(0,i.K2)(Tt,"computeDimensionOfText"),(0,i.K2)(At,"createFormattedText"),(0,i.K2)(Mt,"updateTextContentAndStyles"),(0,i.K2)(Bt,"replaceIconSubstring");var Lt=(0,i.K2)((async(t,e="",{style:r="",isTitle:o=!1,classes:s="",useHtmlLabels:l=!0,isNode:h=!0,width:c=200,addSvgBackground:u=!1}={},d)=>{if(i.Rm.debug("XYZ createText",e,r,o,s,l,h,"addSvgBackground: ",u),l){const a=yt(e,d),o=Bt((0,n.Sm)(a)),l=e.replace(/\\\\/g,"\\"),p={isNode:h,label:(0,i.Wi)(e)?l:o,labelStyle:r.replace("fill:","color:")};return await _t(t,p,c,s,u)}{const n=At(c,t,gt(e.replace(//g,"
    ").replace("
    ","
    "),d),!!e&&u);if(h){/stroke:/.exec(r)&&(r=r.replace("stroke:","lineColor:"));const t=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");(0,a.Ltv)(n).attr("style",t)}else{const t=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/background:/g,"fill:");(0,a.Ltv)(n).select("rect").attr("style",t.replace(/background:/g,"fill:"));const e=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");(0,a.Ltv)(n).select("text").attr("style",e)}return n}}),"createText")},8159:(t,e,r)=>{"use strict";r.d(e,{$C:()=>A,$t:()=>j,C4:()=>H,I5:()=>q,Ib:()=>g,KL:()=>G,Sm:()=>U,Un:()=>O,_K:()=>W,bH:()=>$,dq:()=>K,pe:()=>l,rY:()=>Y,ru:()=>D,sM:()=>S,vU:()=>p,yT:()=>B});var n=r(9502),i=r(6750),a=r(4852),o=r(6632),s=r(7222),l="​",h={curveBasis:a.qrM,curveBasisClosed:a.Yu4,curveBasisOpen:a.IA3,curveBumpX:a.Wi0,curveBumpY:a.PGM,curveBundle:a.OEq,curveCardinalClosed:a.olC,curveCardinalOpen:a.IrU,curveCardinal:a.y8u,curveCatmullRomClosed:a.Q7f,curveCatmullRomOpen:a.cVp,curveCatmullRom:a.oDi,curveLinear:a.lUB,curveLinearClosed:a.Lx9,curveMonotoneX:a.nVG,curveMonotoneY:a.uxU,curveNatural:a.Xf2,curveStep:a.GZz,curveStepAfter:a.UPb,curveStepBefore:a.dyv},c=/\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,u=(0,n.K2)((function(t,e){const r=d(t,/(?:init\b)|(?:initialize\b)/);let i={};if(Array.isArray(r)){const t=r.map((t=>t.args));(0,n.$i)(t),i=(0,n.hH)(i,[...t])}else i=r.args;if(!i)return;let a=(0,n.Ch)(t,e);const o="config";return void 0!==i[o]&&("flowchart-v2"===a&&(a="flowchart"),i[a]=i[o],delete i[o]),i}),"detectInit"),d=(0,n.K2)((function(t,e=null){try{const r=new RegExp(`[%]{2}(?![{]${c.source})(?=[}][%]{2}).*\n`,"ig");let i;t=t.trim().replace(r,"").replace(/'/gm,'"'),n.Rm.debug(`Detecting diagram directive${null!==e?" type:"+e:""} based on the text:${t}`);const a=[];for(;null!==(i=n.DB.exec(t));)if(i.index===n.DB.lastIndex&&n.DB.lastIndex++,i&&!e||e&&i[1]?.match(e)||e&&i[2]?.match(e)){const t=i[1]?i[1]:i[2],e=i[3]?i[3].trim():i[4]?JSON.parse(i[4].trim()):null;a.push({type:t,args:e})}return 0===a.length?{type:t,args:null}:1===a.length?a[0]:a}catch(r){return n.Rm.error(`ERROR: ${r.message} - Unable to parse directive type: '${e}' based on the text: '${t}'`),{type:void 0,args:null}}}),"detectDirective"),p=(0,n.K2)((function(t){return t.replace(n.DB,"")}),"removeDirectives"),f=(0,n.K2)((function(t,e){for(const[r,n]of e.entries())if(n.match(t))return r;return-1}),"isSubstringInArray");function g(t,e){if(!t)return e;const r=`curve${t.charAt(0).toUpperCase()+t.slice(1)}`;return h[r]??e}function y(t,e){const r=t.trim();if(r)return"loose"!==e.securityLevel?(0,i.J)(r):r}(0,n.K2)(g,"interpolateToCurve"),(0,n.K2)(y,"formatUrl");var m=(0,n.K2)(((t,...e)=>{const r=t.split("."),i=r.length-1,a=r[i];let o=window;for(let e=0;e{r+=x(t,e),e=t})),w(t,r/2)}function k(t){return 1===t.length?t[0]:b(t)}(0,n.K2)(x,"distance"),(0,n.K2)(b,"traverseEdge"),(0,n.K2)(k,"calcLabelPosition");var C=(0,n.K2)(((t,e=2)=>{const r=Math.pow(10,e);return Math.round(t*r)/r}),"roundNumber"),w=(0,n.K2)(((t,e)=>{let r,n=e;for(const e of t){if(r){const t=x(e,r);if(t=1)return{x:e.x,y:e.y};if(i>0&&i<1)return{x:C((1-i)*r.x+i*e.x,5),y:C((1-i)*r.y+i*e.y,5)}}}r=e}throw new Error("Could not find a suitable point for the given distance")}),"calculatePoint"),_=(0,n.K2)(((t,e,r)=>{n.Rm.info(`our points ${JSON.stringify(e)}`),e[0]!==r&&(e=e.reverse());const i=w(e,25),a=t?10:5,o=Math.atan2(e[0].y-i.y,e[0].x-i.x),s={x:0,y:0};return s.x=Math.sin(o)*a+(e[0].x+i.x)/2,s.y=-Math.cos(o)*a+(e[0].y+i.y)/2,s}),"calcCardinalityPosition");function v(t,e,r){const i=structuredClone(r);n.Rm.info("our points",i),"start_left"!==e&&"start_right"!==e&&i.reverse();const a=w(i,25+t),o=10+.5*t,s=Math.atan2(i[0].y-a.y,i[0].x-a.x),l={x:0,y:0};return"start_left"===e?(l.x=Math.sin(s+Math.PI)*o+(i[0].x+a.x)/2,l.y=-Math.cos(s+Math.PI)*o+(i[0].y+a.y)/2):"end_right"===e?(l.x=Math.sin(s-Math.PI)*o+(i[0].x+a.x)/2-5,l.y=-Math.cos(s-Math.PI)*o+(i[0].y+a.y)/2-5):"end_left"===e?(l.x=Math.sin(s)*o+(i[0].x+a.x)/2-5,l.y=-Math.cos(s)*o+(i[0].y+a.y)/2-5):(l.x=Math.sin(s)*o+(i[0].x+a.x)/2,l.y=-Math.cos(s)*o+(i[0].y+a.y)/2),l}function S(t){let e="",r="";for(const n of t)void 0!==n&&(n.startsWith("color:")||n.startsWith("text-align:")?r=r+n+";":e=e+n+";");return{style:e,labelStyle:r}}(0,n.K2)(v,"calcTerminalLabelPosition"),(0,n.K2)(S,"getStylesFromArray");var T=0,A=(0,n.K2)((()=>(T++,"id-"+Math.random().toString(36).substr(2,12)+"-"+T)),"generateId");function M(t){let e="";for(let r=0;rM(t.length)),"random"),L=(0,n.K2)((function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""}}),"getTextObj"),F=(0,n.K2)((function(t,e){const r=e.text.replace(n.Y2.lineBreakRegex," "),[,i]=q(e.fontSize),a=t.append("text");a.attr("x",e.x),a.attr("y",e.y),a.style("text-anchor",e.anchor),a.style("font-family",e.fontFamily),a.style("font-size",i),a.style("font-weight",e.fontWeight),a.attr("fill",e.fill),void 0!==e.class&&a.attr("class",e.class);const o=a.append("tspan");return o.attr("x",e.x+2*e.textMargin),o.attr("fill",e.fill),o.text(r),a}),"drawSimpleText"),$=(0,o.A)(((t,e,r)=>{if(!t)return t;if(r=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"
    "},r),n.Y2.lineBreakRegex.test(t))return t;const i=t.split(" ").filter(Boolean),a=[];let o="";return i.forEach(((t,n)=>{const s=O(`${t} `,r),l=O(o,r);if(s>e){const{hyphenatedStrings:n,remainingWord:i}=E(t,e,"-",r);a.push(o,...n),o=i}else l+s>=e?(a.push(o),o=t):o=[o,t].filter(Boolean).join(" ");n+1===i.length&&a.push(o)})),a.filter((t=>""!==t)).join(r.joinWith)}),((t,e,r)=>`${t}${e}${r.fontSize}${r.fontWeight}${r.fontFamily}${r.joinWith}`)),E=(0,o.A)(((t,e,r="-",n)=>{n=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},n);const i=[...t],a=[];let o="";return i.forEach(((t,s)=>{const l=`${o}${t}`;if(O(l,n)>=e){const t=s+1,e=i.length===t,n=`${l}${r}`;a.push(e?l:n),o=""}else o=l})),{hyphenatedStrings:a,remainingWord:o}}),((t,e,r="-",n)=>`${t}${e}${r}${n.fontSize}${n.fontWeight}${n.fontFamily}`));function D(t,e){return N(t,e).height}function O(t,e){return N(t,e).width}(0,n.K2)(D,"calculateTextHeight"),(0,n.K2)(O,"calculateTextWidth");var I,N=(0,o.A)(((t,e)=>{const{fontSize:r=12,fontFamily:i="Arial",fontWeight:o=400}=e;if(!t)return{width:0,height:0};const[,s]=q(r),h=["sans-serif",i],c=t.split(n.Y2.lineBreakRegex),u=[],d=(0,a.Ltv)("body");if(!d.remove)return{width:0,height:0,lineHeight:0};const p=d.append("svg");for(const t of h){let e=0;const r={width:0,height:0,lineHeight:0};for(const n of c){const i=L();i.text=n||l;const a=F(p,i).style("font-size",s).style("font-weight",o).style("font-family",t),h=(a._groups||a)[0][0].getBBox();if(0===h.width&&0===h.height)throw new Error("svg element not in render tree");r.width=Math.round(Math.max(r.width,h.width)),e=Math.round(h.height),r.height+=e,r.lineHeight=Math.round(Math.max(r.lineHeight,e))}u.push(r)}return p.remove(),u[isNaN(u[1].height)||isNaN(u[1].width)||isNaN(u[1].lineHeight)||u[0].height>u[1].height&&u[0].width>u[1].width&&u[0].lineHeight>u[1].lineHeight?0:1]}),((t,e)=>`${t}${e.fontSize}${e.fontWeight}${e.fontFamily}`)),R=class{constructor(t=!1,e){this.count=0,this.count=e?e.length:0,this.next=t?()=>this.count++:()=>Date.now()}static{(0,n.K2)(this,"InitIDGenerator")}},P=(0,n.K2)((function(t){return I=I||document.createElement("div"),t=escape(t).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),I.innerHTML=t,unescape(I.textContent)}),"entityDecode");function K(t){return"str"in t}(0,n.K2)(K,"isDetailedError");var z=(0,n.K2)(((t,e,r,n)=>{if(!n)return;const i=t.node()?.getBBox();i&&t.append("text").text(n).attr("text-anchor","middle").attr("x",i.x+i.width/2).attr("y",-r).attr("class",e)}),"insertTitle"),q=(0,n.K2)((t=>{if("number"==typeof t)return[t,t+"px"];const e=parseInt(t??"",10);return Number.isNaN(e)?[void 0,void 0]:t===String(e)?[e,t+"px"]:[e,t]}),"parseFontSize");function j(t,e){return(0,s.A)({},t,e)}(0,n.K2)(j,"cleanAndMerge");var W={assignWithDepth:n.hH,wrapLabel:$,calculateTextHeight:D,calculateTextWidth:O,calculateTextDimensions:N,cleanAndMerge:j,detectInit:u,detectDirective:d,isSubstringInArray:f,interpolateToCurve:g,calcLabelPosition:k,calcCardinalityPosition:_,calcTerminalLabelPosition:v,formatUrl:y,getStylesFromArray:S,generateId:A,random:B,runFunc:m,entityDecode:P,insertTitle:z,parseFontSize:q,InitIDGenerator:R},H=(0,n.K2)((function(t){let e=t;return e=e.replace(/style.*:\S*#.*;/g,(function(t){return t.substring(0,t.length-1)})),e=e.replace(/classDef.*:\S*#.*;/g,(function(t){return t.substring(0,t.length-1)})),e=e.replace(/#\w+;/g,(function(t){const e=t.substring(1,t.length-1);return/^\+?\d+$/.test(e)?"fl°°"+e+"¶ß":"fl°"+e+"¶ß"})),e}),"encodeEntities"),U=(0,n.K2)((function(t){return t.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")}),"decodeEntities"),Y=(0,n.K2)(((t,e,{counter:r=0,prefix:n,suffix:i})=>`${n?`${n}_`:""}${t}_${e}_${r}${i?`_${i}`:""}`),"getEdgeId");function G(t){return t??null}(0,n.K2)(G,"handleUndefinedAttr")},1282:(t,e,r)=>{"use strict";r.d(e,{DA:()=>k,IU:()=>D,U:()=>E,U7:()=>we,U_:()=>ve,Zk:()=>c,aP:()=>be,gh:()=>_e,lC:()=>d,on:()=>Ce});var n=r(1099),i=r(3115),a=r(6058),o=r(8159),s=r(9502),l=r(4852),h=r(2274),c=(0,s.K2)((async(t,e,r)=>{let n;const i=e.useHtmlLabels||(0,s._3)((0,s.D7)()?.htmlLabels);n=r||"node default";const h=t.insert("g").attr("class",n).attr("id",e.domId||e.id),c=h.insert("g").attr("class","label").attr("style",(0,o.KL)(e.labelStyle));let u;u=void 0===e.label?"":"string"==typeof e.label?e.label:e.label[0];const d=await(0,a.GZ)(c,(0,s.jZ)((0,o.Sm)(u),(0,s.D7)()),{useHtmlLabels:i,width:e.width||(0,s.D7)().flowchart?.wrappingWidth,cssClasses:"markdown-node-label",style:e.labelStyle,addSvgBackground:!!e.icon||!!e.img});let p=d.getBBox();const f=(e?.padding??0)/2;if(i){const t=d.children[0],e=(0,l.Ltv)(d),r=t.getElementsByTagName("img");if(r){const t=""===u.replace(/]*>/g,"").trim();await Promise.all([...r].map((e=>new Promise((r=>{function n(){if(e.style.display="flex",e.style.flexDirection="column",t){const t=(0,s.D7)().fontSize?(0,s.D7)().fontSize:window.getComputedStyle(document.body).fontSize,r=5,[n=s.UI.fontSize]=(0,o.I5)(t),i=n*r+"px";e.style.minWidth=i,e.style.maxWidth=i}else e.style.width="100%";r(e)}(0,s.K2)(n,"setupImage"),setTimeout((()=>{e.complete&&n()})),e.addEventListener("error",n),e.addEventListener("load",n)})))))}p=t.getBoundingClientRect(),e.attr("width",p.width),e.attr("height",p.height)}return i?c.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"):c.attr("transform","translate(0, "+-p.height/2+")"),e.centerLabel&&c.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),c.insert("rect",":first-child"),{shapeSvg:h,bbox:p,halfPadding:f,label:c}}),"labelHelper"),u=(0,s.K2)((async(t,e,r)=>{const n=r.useHtmlLabels||(0,s._3)((0,s.D7)()?.flowchart?.htmlLabels),i=t.insert("g").attr("class","label").attr("style",r.labelStyle||""),h=await(0,a.GZ)(i,(0,s.jZ)((0,o.Sm)(e),(0,s.D7)()),{useHtmlLabels:n,width:r.width||(0,s.D7)()?.flowchart?.wrappingWidth,style:r.labelStyle,addSvgBackground:!!r.icon||!!r.img});let c=h.getBBox();const u=r.padding/2;if((0,s._3)((0,s.D7)()?.flowchart?.htmlLabels)){const t=h.children[0],e=(0,l.Ltv)(h);c=t.getBoundingClientRect(),e.attr("width",c.width),e.attr("height",c.height)}return n?i.attr("transform","translate("+-c.width/2+", "+-c.height/2+")"):i.attr("transform","translate(0, "+-c.height/2+")"),r.centerLabel&&i.attr("transform","translate("+-c.width/2+", "+-c.height/2+")"),i.insert("rect",":first-child"),{shapeSvg:t,bbox:c,halfPadding:u,label:i}}),"insertLabel"),d=(0,s.K2)(((t,e)=>{const r=e.node().getBBox();t.width=r.width,t.height=r.height}),"updateNodeBounds"),p=(0,s.K2)(((t,e)=>("handDrawn"===t.look?"rough-node":"node")+" "+t.cssClasses+" "+(e||"")),"getNodeClasses");function f(t){const e=t.map(((t,e)=>`${0===e?"M":"L"}${t.x},${t.y}`));return e.push("Z"),e.join(" ")}function g(t,e,r,n,i,a){const o=[],s=r-t,l=n-e,h=s/a,c=2*Math.PI/h,u=e+l/2;for(let e=0;e<=50;e++){const r=t+e/50*s,n=u+i*Math.sin(c*(r-t));o.push({x:r,y:n})}return o}function y(t,e,r,n,i,a){const o=[],s=i*Math.PI/180,l=(a*Math.PI/180-s)/(n-1);for(let i=0;i{var r,n,i=t.x,a=t.y,o=e.x-i,s=e.y-a,l=t.width/2,h=t.height/2;return Math.abs(s)*l>Math.abs(o)*h?(s<0&&(h=-h),r=0===s?0:h*o/s,n=h):(o<0&&(l=-l),r=l,n=0===o?0:l*s/o),{x:i+r,y:a+n}}),"intersectRect");function x(t,e){e&&t.attr("style",e)}async function b(t){const e=(0,l.Ltv)(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),r=e.append("xhtml:div");let n=t.label;t.label&&(0,s.Wi)(t.label)&&(n=await(0,s.VJ)(t.label.replace(s.Y2.lineBreakRegex,"\n"),(0,s.D7)()));const i=t.isNode?"nodeLabel":"edgeLabel";return r.html('"+n+""),x(r,t.labelStyle),r.style("display","inline-block"),r.style("padding-right","1px"),r.style("white-space","nowrap"),r.attr("xmlns","http://www.w3.org/1999/xhtml"),e.node()}(0,s.K2)(x,"applyStyle"),(0,s.K2)(b,"addHtmlLabel");var k=(0,s.K2)((async(t,e,r,n)=>{let i=t||"";if("object"==typeof i&&(i=i[0]),(0,s._3)((0,s.D7)().flowchart.htmlLabels)){i=i.replace(/\\n|\n/g,"
    "),s.Rm.info("vertexText"+i);const t={isNode:n,label:(0,o.Sm)(i).replace(/fa[blrs]?:fa-[\w-]+/g,(t=>``)),labelStyle:e?e.replace("fill:","color:"):e};return await b(t)}{const t=document.createElementNS("http://www.w3.org/2000/svg","text");t.setAttribute("style",e.replace("color:","fill:"));let n=[];n="string"==typeof i?i.split(/\\n|\n|/gi):Array.isArray(i)?i:[];for(const e of n){const n=document.createElementNS("http://www.w3.org/2000/svg","tspan");n.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),n.setAttribute("dy","1em"),n.setAttribute("x","0"),r?n.setAttribute("class","title-row"):n.setAttribute("class","row"),n.textContent=e.trim(),t.appendChild(n)}return t}}),"createLabel"),C=(0,s.K2)(((t,e,r,n,i)=>["M",t+i,e,"H",t+r-i,"A",i,i,0,0,1,t+r,e+i,"V",e+n-i,"A",i,i,0,0,1,t+r-i,e+n,"H",t+i,"A",i,i,0,0,1,t,e+n-i,"V",e+i,"A",i,i,0,0,1,t+i,e,"Z"].join(" ")),"createRoundedRectPathD"),w=(0,s.K2)((t=>{const{handDrawnSeed:e}=(0,s.D7)();return{fill:t,hachureAngle:120,hachureGap:4,fillWeight:2,roughness:.7,stroke:t,seed:e}}),"solidStateFill"),_=(0,s.K2)((t=>{const e=v([...t.cssCompiledStyles||[],...t.cssStyles||[]]);return{stylesMap:e,stylesArray:[...e]}}),"compileStyles"),v=(0,s.K2)((t=>{const e=new Map;return t.forEach((t=>{const[r,n]=t.split(":");e.set(r.trim(),n?.trim())})),e}),"styles2Map"),S=(0,s.K2)((t=>{const{stylesArray:e}=_(t),r=[],n=[],i=[],a=[];return e.forEach((t=>{const e=t[0];"color"===e||"font-size"===e||"font-family"===e||"font-weight"===e||"font-style"===e||"text-decoration"===e||"text-align"===e||"text-transform"===e||"line-height"===e||"letter-spacing"===e||"word-spacing"===e||"text-shadow"===e||"text-overflow"===e||"white-space"===e||"word-wrap"===e||"word-break"===e||"overflow-wrap"===e||"hyphens"===e?r.push(t.join(":")+" !important"):(n.push(t.join(":")+" !important"),e.includes("stroke")&&i.push(t.join(":")+" !important"),"fill"===e&&a.push(t.join(":")+" !important"))})),{labelStyles:r.join(";"),nodeStyles:n.join(";"),stylesArray:e,borderStyles:i,backgroundStyles:a}}),"styles2String"),T=(0,s.K2)(((t,e)=>{const{themeVariables:r,handDrawnSeed:n}=(0,s.D7)(),{nodeBorder:i,mainBkg:a}=r,{stylesMap:o}=_(t);return Object.assign({roughness:.7,fill:o.get("fill")||a,fillStyle:"hachure",fillWeight:4,hachureGap:5.2,stroke:o.get("stroke")||i,seed:n,strokeWidth:o.get("stroke-width")?.replace("px","")||1.3,fillLineDash:[0,0]},e)}),"userNodeOverrides"),A=(0,s.K2)((async(t,e)=>{s.Rm.info("Creating subgraph rect for ",e.id,e);const r=(0,s.D7)(),{themeVariables:n,handDrawnSeed:o}=r,{clusterBkg:c,clusterBorder:u}=n,{labelStyles:d,nodeStyles:p,borderStyles:f,backgroundStyles:g}=S(e),y=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.id).attr("data-look",e.look),x=(0,s._3)(r.flowchart.htmlLabels),b=y.insert("g").attr("class","cluster-label "),k=await(0,a.GZ)(b,e.label,{style:e.labelStyle,useHtmlLabels:x,isNode:!0});let w=k.getBBox();if((0,s._3)(r.flowchart.htmlLabels)){const t=k.children[0],e=(0,l.Ltv)(k);w=t.getBoundingClientRect(),e.attr("width",w.width),e.attr("height",w.height)}const _=e.width<=w.width+e.padding?w.width+e.padding:e.width;e.width<=w.width+e.padding?e.diff=(_-e.width)/2-e.padding:e.diff=-e.padding;const v=e.height,A=e.x-_/2,M=e.y-v/2;let B;if(s.Rm.trace("Data ",e,JSON.stringify(e)),"handDrawn"===e.look){const t=h.A.svg(y),r=T(e,{roughness:.7,fill:c,stroke:u,fillWeight:3,seed:o}),n=t.path(C(A,M,_,v,0),r);B=y.insert((()=>(s.Rm.debug("Rough node insert CXC",n),n)),":first-child"),B.select("path:nth-child(2)").attr("style",f.join(";")),B.select("path").attr("style",g.join(";").replace("fill","stroke"))}else B=y.insert("rect",":first-child"),B.attr("style",p).attr("rx",e.rx).attr("ry",e.ry).attr("x",A).attr("y",M).attr("width",_).attr("height",v);const{subGraphTitleTopMargin:L}=(0,i.O)(r);if(b.attr("transform",`translate(${e.x-w.width/2}, ${e.y-e.height/2+L})`),d){const t=b.select("span");t&&t.attr("style",d)}const F=B.node().getBBox();return e.offsetX=0,e.width=F.width,e.height=F.height,e.offsetY=w.height-e.padding/2,e.intersect=function(t){return m(e,t)},{cluster:y,labelBBox:w}}),"rect"),M=(0,s.K2)(((t,e)=>{const r=t.insert("g").attr("class","note-cluster").attr("id",e.id),n=r.insert("rect",":first-child"),i=0*e.padding,a=i/2;n.attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-e.width/2-a).attr("y",e.y-e.height/2-a).attr("width",e.width+i).attr("height",e.height+i).attr("fill","none");const o=n.node().getBBox();return e.width=o.width,e.height=o.height,e.intersect=function(t){return m(e,t)},{cluster:r,labelBBox:{width:0,height:0}}}),"noteGroup"),B=(0,s.K2)((async(t,e)=>{const r=(0,s.D7)(),{themeVariables:n,handDrawnSeed:i}=r,{altBackground:a,compositeBackground:o,compositeTitleBackground:c,nodeBorder:u}=n,d=t.insert("g").attr("class",e.cssClasses).attr("id",e.id).attr("data-id",e.id).attr("data-look",e.look),p=d.insert("g",":first-child"),f=d.insert("g").attr("class","cluster-label");let g=d.append("rect");const y=f.node().appendChild(await k(e.label,e.labelStyle,void 0,!0));let x=y.getBBox();if((0,s._3)(r.flowchart.htmlLabels)){const t=y.children[0],e=(0,l.Ltv)(y);x=t.getBoundingClientRect(),e.attr("width",x.width),e.attr("height",x.height)}const b=0*e.padding,w=b/2,_=(e.width<=x.width+e.padding?x.width+e.padding:e.width)+b;e.width<=x.width+e.padding?e.diff=(_-e.width)/2-e.padding:e.diff=-e.padding;const v=e.height+b,S=e.height+b-x.height-6,T=e.x-_/2,A=e.y-v/2;e.width=_;const M=e.y-e.height/2-w+x.height+2;let B;if("handDrawn"===e.look){const t=e.cssClasses.includes("statediagram-cluster-alt"),r=h.A.svg(d),n=e.rx||e.ry?r.path(C(T,A,_,v,10),{roughness:.7,fill:c,fillStyle:"solid",stroke:u,seed:i}):r.rectangle(T,A,_,v,{seed:i});B=d.insert((()=>n),":first-child");const s=r.rectangle(T,M,_,S,{fill:t?a:o,fillStyle:t?"hachure":"solid",stroke:u,seed:i});B=d.insert((()=>n),":first-child"),g=d.insert((()=>s))}else{B=p.insert("rect",":first-child");const t="outer";B.attr("class",t).attr("x",T).attr("y",A).attr("width",_).attr("height",v).attr("data-look",e.look),g.attr("class","inner").attr("x",T).attr("y",M).attr("width",_).attr("height",S)}f.attr("transform",`translate(${e.x-x.width/2}, ${A+1-((0,s._3)(r.flowchart.htmlLabels)?0:3)})`);const L=B.node().getBBox();return e.height=L.height,e.offsetX=0,e.offsetY=x.height-e.padding/2,e.labelBBox=x,e.intersect=function(t){return m(e,t)},{cluster:d,labelBBox:x}}),"roundedWithTitle"),L=(0,s.K2)((async(t,e)=>{s.Rm.info("Creating subgraph rect for ",e.id,e);const r=(0,s.D7)(),{themeVariables:n,handDrawnSeed:o}=r,{clusterBkg:c,clusterBorder:u}=n,{labelStyles:d,nodeStyles:p,borderStyles:f,backgroundStyles:g}=S(e),y=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.id).attr("data-look",e.look),x=(0,s._3)(r.flowchart.htmlLabels),b=y.insert("g").attr("class","cluster-label "),k=await(0,a.GZ)(b,e.label,{style:e.labelStyle,useHtmlLabels:x,isNode:!0,width:e.width});let w=k.getBBox();if((0,s._3)(r.flowchart.htmlLabels)){const t=k.children[0],e=(0,l.Ltv)(k);w=t.getBoundingClientRect(),e.attr("width",w.width),e.attr("height",w.height)}const _=e.width<=w.width+e.padding?w.width+e.padding:e.width;e.width<=w.width+e.padding?e.diff=(_-e.width)/2-e.padding:e.diff=-e.padding;const v=e.height,A=e.x-_/2,M=e.y-v/2;let B;if(s.Rm.trace("Data ",e,JSON.stringify(e)),"handDrawn"===e.look){const t=h.A.svg(y),r=T(e,{roughness:.7,fill:c,stroke:u,fillWeight:4,seed:o}),n=t.path(C(A,M,_,v,e.rx),r);B=y.insert((()=>(s.Rm.debug("Rough node insert CXC",n),n)),":first-child"),B.select("path:nth-child(2)").attr("style",f.join(";")),B.select("path").attr("style",g.join(";").replace("fill","stroke"))}else B=y.insert("rect",":first-child"),B.attr("style",p).attr("rx",e.rx).attr("ry",e.ry).attr("x",A).attr("y",M).attr("width",_).attr("height",v);const{subGraphTitleTopMargin:L}=(0,i.O)(r);if(b.attr("transform",`translate(${e.x-w.width/2}, ${e.y-e.height/2+L})`),d){const t=b.select("span");t&&t.attr("style",d)}const F=B.node().getBBox();return e.offsetX=0,e.width=F.width,e.height=F.height,e.offsetY=w.height-e.padding/2,e.intersect=function(t){return m(e,t)},{cluster:y,labelBBox:w}}),"kanbanSection"),F={rect:A,squareRect:A,roundedWithTitle:B,noteGroup:M,divider:(0,s.K2)(((t,e)=>{const r=(0,s.D7)(),{themeVariables:n,handDrawnSeed:i}=r,{nodeBorder:a}=n,o=t.insert("g").attr("class",e.cssClasses).attr("id",e.id).attr("data-look",e.look),l=o.insert("g",":first-child"),c=0*e.padding,u=e.width+c;e.diff=-e.padding;const d=e.height+c,p=e.x-u/2,f=e.y-d/2;let g;if(e.width=u,"handDrawn"===e.look){const t=h.A.svg(o).rectangle(p,f,u,d,{fill:"lightgrey",roughness:.5,strokeLineDash:[5],stroke:a,seed:i});g=o.insert((()=>t),":first-child")}else{g=l.insert("rect",":first-child");const t="divider";g.attr("class",t).attr("x",p).attr("y",f).attr("width",u).attr("height",d).attr("data-look",e.look)}const y=g.node().getBBox();return e.height=y.height,e.offsetX=0,e.offsetY=0,e.intersect=function(t){return m(e,t)},{cluster:o,labelBBox:{}}}),"divider"),kanbanSection:L},$=new Map,E=(0,s.K2)((async(t,e)=>{const r=e.shape||"rect",n=await F[r](t,e);return $.set(e.id,n),n}),"insertCluster"),D=(0,s.K2)((()=>{$=new Map}),"clear");function O(t,e){return t.intersect(e)}(0,s.K2)(O,"intersectNode");var I=O;function N(t,e,r,n){var i=t.x,a=t.y,o=i-n.x,s=a-n.y,l=Math.sqrt(e*e*s*s+r*r*o*o),h=Math.abs(e*r*o/l);n.x0}(0,s.K2)(z,"intersectLine"),(0,s.K2)(q,"sameSign");var j=z;function W(t,e,r){let n=t.x,i=t.y,a=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;"function"==typeof e.forEach?e.forEach((function(t){o=Math.min(o,t.x),s=Math.min(s,t.y)})):(o=Math.min(o,e.x),s=Math.min(s,e.y));let l=n-t.width/2-o,h=i-t.height/2-s;for(let n=0;n1&&a.sort((function(t,e){let n=t.x-r.x,i=t.y-r.y,a=Math.sqrt(n*n+i*i),o=e.x-r.x,s=e.y-r.y,l=Math.sqrt(o*o+s*s);return af),":first-child");return g.attr("class","anchor").attr("style",(0,o.KL)(l)),d(e,g),e.intersect=function(t){return s.Rm.info("Circle intersect",e,1,t),H.circle(e,1,t)},a}function Y(t,e,r,n,i,a,o){const s=(t+r)/2,l=(e+n)/2,h=Math.atan2(n-e,r-t),c=(r-t)/2/i,u=(n-e)/2/a,d=Math.sqrt(c**2+u**2);if(d>1)throw new Error("The given radii are too small to create an arc between the points.");const p=Math.sqrt(1-d**2),f=s+p*a*Math.sin(h)*(o?-1:1),g=l-p*i*Math.cos(h)*(o?-1:1),y=Math.atan2((e-g)/a,(t-f)/i);let m=Math.atan2((n-g)/a,(r-f)/i)-y;o&&m<0&&(m+=2*Math.PI),!o&&m>0&&(m-=2*Math.PI);const x=[];for(let t=0;t<20;t++){const e=y+t/19*m,r=f+i*Math.cos(e),n=g+a*Math.sin(e);x.push({x:r,y:n})}return x}async function G(t,e){const{labelStyles:r,nodeStyles:n}=S(e);e.labelStyle=r;const{shapeSvg:i,bbox:a}=await c(t,e,p(e)),o=a.width+e.padding+20,s=a.height+e.padding,l=s/2,u=l/(2.5+s/50),{cssStyles:g}=e,y=[{x:o/2,y:-s/2},{x:-o/2,y:-s/2},...Y(-o/2,-s/2,-o/2,s/2,u,l,!1),{x:o/2,y:s/2},...Y(o/2,s/2,o/2,-s/2,u,l,!0)],m=h.A.svg(i),x=T(e,{});"handDrawn"!==e.look&&(x.roughness=0,x.fillStyle="solid");const b=f(y),k=m.path(b,x),C=i.insert((()=>k),":first-child");return C.attr("class","basic label-container"),g&&"handDrawn"!==e.look&&C.selectAll("path").attr("style",g),n&&"handDrawn"!==e.look&&C.selectAll("path").attr("style",n),C.attr("transform",`translate(${u/2}, 0)`),d(e,C),e.intersect=function(t){return H.polygon(e,y,t)},i}function V(t,e,r,n){return t.insert("polygon",":first-child").attr("points",n.map((function(t){return t.x+","+t.y})).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}async function Z(t,e){const{labelStyles:r,nodeStyles:n}=S(e);e.labelStyle=r;const{shapeSvg:i,bbox:a}=await c(t,e,p(e)),o=a.height+e.padding,s=a.width+e.padding+12,l=-o,u=[{x:12,y:l},{x:s,y:l},{x:s,y:0},{x:0,y:0},{x:0,y:l+12},{x:12,y:l}];let g;const{cssStyles:y}=e;if("handDrawn"===e.look){const t=h.A.svg(i),r=T(e,{}),n=f(u),a=t.path(n,r);g=i.insert((()=>a),":first-child").attr("transform",`translate(${-s/2}, ${o/2})`),y&&g.attr("style",y)}else g=V(i,s,o,u);return n&&g.attr("style",n),d(e,g),e.intersect=function(t){return H.polygon(e,u,t)},i}function X(t,e){const{nodeStyles:r}=S(e);e.label="";const n=t.insert("g").attr("class",p(e)).attr("id",e.domId??e.id),{cssStyles:i}=e,a=Math.max(28,e.width??0),o=[{x:0,y:a/2},{x:a/2,y:0},{x:0,y:-a/2},{x:-a/2,y:0}],s=h.A.svg(n),l=T(e,{});"handDrawn"!==e.look&&(l.roughness=0,l.fillStyle="solid");const c=f(o),u=s.path(c,l),d=n.insert((()=>u),":first-child");return i&&"handDrawn"!==e.look&&d.selectAll("path").attr("style",i),r&&"handDrawn"!==e.look&&d.selectAll("path").attr("style",r),e.width=28,e.height=28,e.intersect=function(t){return H.polygon(e,o,t)},n}async function Q(t,e){const{labelStyles:r,nodeStyles:n}=S(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,halfPadding:l}=await c(t,e,p(e)),u=a.width/2+l;let f;const{cssStyles:g}=e;if("handDrawn"===e.look){const t=h.A.svg(i),r=T(e,{}),n=t.circle(0,0,2*u,r);f=i.insert((()=>n),":first-child"),f.attr("class","basic label-container").attr("style",(0,o.KL)(g))}else f=i.insert("circle",":first-child").attr("class","basic label-container").attr("style",n).attr("r",u).attr("cx",0).attr("cy",0);return d(e,f),e.intersect=function(t){return s.Rm.info("Circle intersect",e,u,t),H.circle(e,u,t)},i}function J(t){const e=Math.cos(Math.PI/4),r=Math.sin(Math.PI/4),n=2*t;return`M ${-n/2*e},${n/2*r} L ${n/2*e},${-n/2*r}\n M ${n/2*e},${n/2*r} L ${-n/2*e},${-n/2*r}`}function tt(t,e){const{labelStyles:r,nodeStyles:n}=S(e);e.labelStyle=r,e.label="";const i=t.insert("g").attr("class",p(e)).attr("id",e.domId??e.id),a=Math.max(30,e?.width??0),{cssStyles:o}=e,l=h.A.svg(i),c=T(e,{});"handDrawn"!==e.look&&(c.roughness=0,c.fillStyle="solid");const u=l.circle(0,0,2*a,c),f=J(a),g=l.path(f,c),y=i.insert((()=>u),":first-child");return y.insert((()=>g)),o&&"handDrawn"!==e.look&&y.selectAll("path").attr("style",o),n&&"handDrawn"!==e.look&&y.selectAll("path").attr("style",n),d(e,y),e.intersect=function(t){return s.Rm.info("crossedCircle intersect",e,{radius:a,point:t}),H.circle(e,a,t)},i}function et(t,e,r,n=100,i=0,a=180){const o=[],s=i*Math.PI/180,l=(a*Math.PI/180-s)/(n-1);for(let i=0;i_),":first-child").attr("stroke-opacity",0),v.insert((()=>C),":first-child"),v.attr("class","text"),g&&"handDrawn"!==e.look&&v.selectAll("path").attr("style",g),n&&"handDrawn"!==e.look&&v.selectAll("path").attr("style",n),v.attr("transform",`translate(${u}, 0)`),o.attr("transform",`translate(${-s/2+u-(a.x-(a.left??0))},${-l/2+(e.padding??0)/2-(a.y-(a.top??0))})`),d(e,v),e.intersect=function(t){return H.polygon(e,m,t)},i}function nt(t,e,r,n=100,i=0,a=180){const o=[],s=i*Math.PI/180,l=(a*Math.PI/180-s)/(n-1);for(let i=0;i_),":first-child").attr("stroke-opacity",0),v.insert((()=>C),":first-child"),v.attr("class","text"),g&&"handDrawn"!==e.look&&v.selectAll("path").attr("style",g),n&&"handDrawn"!==e.look&&v.selectAll("path").attr("style",n),v.attr("transform",`translate(${-u}, 0)`),o.attr("transform",`translate(${-s/2+(e.padding??0)/2-(a.x-(a.left??0))},${-l/2+(e.padding??0)/2-(a.y-(a.top??0))})`),d(e,v),e.intersect=function(t){return H.polygon(e,m,t)},i}function at(t,e,r,n=100,i=0,a=180){const o=[],s=i*Math.PI/180,l=(a*Math.PI/180-s)/(n-1);for(let i=0;iM),":first-child").attr("stroke-opacity",0),B.insert((()=>w),":first-child"),B.insert((()=>v),":first-child"),B.attr("class","text"),g&&"handDrawn"!==e.look&&B.selectAll("path").attr("style",g),n&&"handDrawn"!==e.look&&B.selectAll("path").attr("style",n),B.attr("transform",`translate(${u-u/4}, 0)`),o.attr("transform",`translate(${-s/2+(e.padding??0)/2-(a.x-(a.left??0))},${-l/2+(e.padding??0)/2-(a.y-(a.top??0))})`),d(e,B),e.intersect=function(t){return H.polygon(e,x,t)},i}async function st(t,e){const{labelStyles:r,nodeStyles:n}=S(e);e.labelStyle=r;const{shapeSvg:i,bbox:a}=await c(t,e,p(e)),o=Math.max(80,1.25*(a.width+2*(e.padding??0)),e?.width??0),s=Math.max(20,a.height+2*(e.padding??0),e?.height??0),l=s/2,{cssStyles:u}=e,g=h.A.svg(i),m=T(e,{});"handDrawn"!==e.look&&(m.roughness=0,m.fillStyle="solid");const x=o-l,b=s/4,k=[{x,y:0},{x:b,y:0},{x:0,y:s/2},{x:b,y:s},{x,y:s},...y(-x,-s/2,l,50,270,90)],C=f(k),w=g.path(C,m),_=i.insert((()=>w),":first-child");return _.attr("class","basic label-container"),u&&"handDrawn"!==e.look&&_.selectChildren("path").attr("style",u),n&&"handDrawn"!==e.look&&_.selectChildren("path").attr("style",n),_.attr("transform",`translate(${-o/2}, ${-s/2})`),d(e,_),e.intersect=function(t){return H.polygon(e,k,t)},i}(0,s.K2)(U,"anchor"),(0,s.K2)(Y,"generateArcPoints"),(0,s.K2)(G,"bowTieRect"),(0,s.K2)(V,"insertPolygonShape"),(0,s.K2)(Z,"card"),(0,s.K2)(X,"choice"),(0,s.K2)(Q,"circle"),(0,s.K2)(J,"createLine"),(0,s.K2)(tt,"crossedCircle"),(0,s.K2)(et,"generateCirclePoints"),(0,s.K2)(rt,"curlyBraceLeft"),(0,s.K2)(nt,"generateCirclePoints"),(0,s.K2)(it,"curlyBraceRight"),(0,s.K2)(at,"generateCirclePoints"),(0,s.K2)(ot,"curlyBraces"),(0,s.K2)(st,"curvedTrapezoid");var lt=(0,s.K2)(((t,e,r,n,i,a)=>[`M${t},${e+a}`,`a${i},${a} 0,0,0 ${r},0`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,"l0,"+-n].join(" ")),"createCylinderPathD"),ht=(0,s.K2)(((t,e,r,n,i,a)=>[`M${t},${e+a}`,`M${t+r},${e+a}`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,"l0,"+-n].join(" ")),"createOuterCylinderPathD"),ct=(0,s.K2)(((t,e,r,n,i,a)=>[`M${t-r/2},${-n/2}`,`a${i},${a} 0,0,0 ${r},0`].join(" ")),"createInnerCylinderPathD");async function ut(t,e){const{labelStyles:r,nodeStyles:n}=S(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,label:s}=await c(t,e,p(e)),l=Math.max(a.width+e.padding,e.width??0),u=l/2,f=u/(2.5+l/50),g=Math.max(a.height+f+e.padding,e.height??0);let y;const{cssStyles:m}=e;if("handDrawn"===e.look){const t=h.A.svg(i),r=ht(0,0,l,g,u,f),n=ct(0,f,l,g,u,f),a=t.path(r,T(e,{})),o=t.path(n,T(e,{fill:"none"}));y=i.insert((()=>o),":first-child"),y=i.insert((()=>a),":first-child"),y.attr("class","basic label-container"),m&&y.attr("style",m)}else{const t=lt(0,0,l,g,u,f);y=i.insert("path",":first-child").attr("d",t).attr("class","basic label-container").attr("style",(0,o.KL)(m)).attr("style",n)}return y.attr("label-offset-y",f),y.attr("transform",`translate(${-l/2}, ${-(g/2+f)})`),d(e,y),s.attr("transform",`translate(${-a.width/2-(a.x-(a.left??0))}, ${-a.height/2+(e.padding??0)/1.5-(a.y-(a.top??0))})`),e.intersect=function(t){const r=H.rect(e,t),n=r.x-(e.x??0);if(0!=u&&(Math.abs(n)<(e.width??0)/2||Math.abs(n)==(e.width??0)/2&&Math.abs(r.y-(e.y??0))>(e.height??0)/2-f)){let i=f*f*(1-n*n/(u*u));i>0&&(i=Math.sqrt(i)),i=f-i,t.y-(e.y??0)>0&&(i=-i),r.y+=i}return r},i}async function dt(t,e){const{labelStyles:r,nodeStyles:n}=S(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,label:o}=await c(t,e,p(e)),s=a.width+e.padding,l=a.height+e.padding,u=.2*l,f=-s/2,g=-l/2-u/2,{cssStyles:y}=e,m=h.A.svg(i),x=T(e,{});"handDrawn"!==e.look&&(x.roughness=0,x.fillStyle="solid");const b=[{x:f,y:g+u},{x:-f,y:g+u},{x:-f,y:-g},{x:f,y:-g},{x:f,y:g},{x:-f,y:g},{x:-f,y:g+u}],k=m.polygon(b.map((t=>[t.x,t.y])),x),C=i.insert((()=>k),":first-child");return C.attr("class","basic label-container"),y&&"handDrawn"!==e.look&&C.selectAll("path").attr("style",y),n&&"handDrawn"!==e.look&&C.selectAll("path").attr("style",n),o.attr("transform",`translate(${f+(e.padding??0)/2-(a.x-(a.left??0))}, ${g+u+(e.padding??0)/2-(a.y-(a.top??0))})`),d(e,C),e.intersect=function(t){return H.rect(e,t)},i}async function pt(t,e){const{labelStyles:r,nodeStyles:n}=S(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,halfPadding:l}=await c(t,e,p(e)),u=a.width/2+l+5,f=a.width/2+l;let g;const{cssStyles:y}=e;if("handDrawn"===e.look){const t=h.A.svg(i),r=T(e,{roughness:.2,strokeWidth:2.5}),n=T(e,{roughness:.2,strokeWidth:1.5}),a=t.circle(0,0,2*u,r),s=t.circle(0,0,2*f,n);g=i.insert("g",":first-child"),g.attr("class",(0,o.KL)(e.cssClasses)).attr("style",(0,o.KL)(y)),g.node()?.appendChild(a),g.node()?.appendChild(s)}else{g=i.insert("g",":first-child");const t=g.insert("circle",":first-child"),e=g.insert("circle");g.attr("class","basic label-container").attr("style",n),t.attr("class","outer-circle").attr("style",n).attr("r",u).attr("cx",0).attr("cy",0),e.attr("class","inner-circle").attr("style",n).attr("r",f).attr("cx",0).attr("cy",0)}return d(e,g),e.intersect=function(t){return s.Rm.info("DoubleCircle intersect",e,u,t),H.circle(e,u,t)},i}function ft(t,e,{config:{themeVariables:r}}){const{labelStyles:n,nodeStyles:i}=S(e);e.label="",e.labelStyle=n;const a=t.insert("g").attr("class",p(e)).attr("id",e.domId??e.id),{cssStyles:o}=e,l=h.A.svg(a),{nodeBorder:c}=r,u=T(e,{fillStyle:"solid"});"handDrawn"!==e.look&&(u.roughness=0);const f=l.circle(0,0,14,u),g=a.insert((()=>f),":first-child");return g.selectAll("path").attr("style",`fill: ${c} !important;`),o&&o.length>0&&"handDrawn"!==e.look&&g.selectAll("path").attr("style",o),i&&"handDrawn"!==e.look&&g.selectAll("path").attr("style",i),d(e,g),e.intersect=function(t){return s.Rm.info("filledCircle intersect",e,{radius:7,point:t}),H.circle(e,7,t)},a}async function gt(t,e){const{labelStyles:r,nodeStyles:n}=S(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,label:o}=await c(t,e,p(e)),l=a.width+(e.padding??0),u=l+a.height,g=l+a.height,y=[{x:0,y:-u},{x:g,y:-u},{x:g/2,y:0}],{cssStyles:m}=e,x=h.A.svg(i),b=T(e,{});"handDrawn"!==e.look&&(b.roughness=0,b.fillStyle="solid");const k=f(y),C=x.path(k,b),w=i.insert((()=>C),":first-child").attr("transform",`translate(${-u/2}, ${u/2})`);return m&&"handDrawn"!==e.look&&w.selectChildren("path").attr("style",m),n&&"handDrawn"!==e.look&&w.selectChildren("path").attr("style",n),e.width=l,e.height=u,d(e,w),o.attr("transform",`translate(${-a.width/2-(a.x-(a.left??0))}, ${-u/2+(e.padding??0)/2+(a.y-(a.top??0))})`),e.intersect=function(t){return s.Rm.info("Triangle intersect",e,y,t),H.polygon(e,y,t)},i}function yt(t,e,{dir:r,config:{state:n,themeVariables:i}}){const{nodeStyles:a}=S(e);e.label="";const o=t.insert("g").attr("class",p(e)).attr("id",e.domId??e.id),{cssStyles:s}=e;let l=Math.max(70,e?.width??0),c=Math.max(10,e?.height??0);"LR"===r&&(l=Math.max(10,e?.width??0),c=Math.max(70,e?.height??0));const u=-1*l/2,f=-1*c/2,g=h.A.svg(o),y=T(e,{stroke:i.lineColor,fill:i.lineColor});"handDrawn"!==e.look&&(y.roughness=0,y.fillStyle="solid");const m=g.rectangle(u,f,l,c,y),x=o.insert((()=>m),":first-child");s&&"handDrawn"!==e.look&&x.selectAll("path").attr("style",s),a&&"handDrawn"!==e.look&&x.selectAll("path").attr("style",a),d(e,x);const b=n?.padding??0;return e.width&&e.height&&(e.width+=b/2||0,e.height+=b/2||0),e.intersect=function(t){return H.rect(e,t)},o}async function mt(t,e){const{labelStyles:r,nodeStyles:n}=S(e);e.labelStyle=r;const{shapeSvg:i,bbox:a}=await c(t,e,p(e)),o=Math.max(80,a.width+2*(e.padding??0),e?.width??0),l=Math.max(50,a.height+2*(e.padding??0),e?.height??0),u=l/2,{cssStyles:g}=e,m=h.A.svg(i),x=T(e,{});"handDrawn"!==e.look&&(x.roughness=0,x.fillStyle="solid");const b=[{x:-o/2,y:-l/2},{x:o/2-u,y:-l/2},...y(-o/2+u,0,u,50,90,270),{x:o/2-u,y:l/2},{x:-o/2,y:l/2}],k=f(b),C=m.path(k,x),w=i.insert((()=>C),":first-child");return w.attr("class","basic label-container"),g&&"handDrawn"!==e.look&&w.selectChildren("path").attr("style",g),n&&"handDrawn"!==e.look&&w.selectChildren("path").attr("style",n),d(e,w),e.intersect=function(t){return s.Rm.info("Pill intersect",e,{radius:u,point:t}),H.polygon(e,b,t)},i}(0,s.K2)(ut,"cylinder"),(0,s.K2)(dt,"dividedRectangle"),(0,s.K2)(pt,"doublecircle"),(0,s.K2)(ft,"filledCircle"),(0,s.K2)(gt,"flippedTriangle"),(0,s.K2)(yt,"forkJoin"),(0,s.K2)(mt,"halfRoundedRectangle");var xt=(0,s.K2)(((t,e,r,n,i)=>[`M${t+i},${e}`,`L${t+r-i},${e}`,`L${t+r},${e-n/2}`,`L${t+r-i},${e-n}`,`L${t+i},${e-n}`,`L${t},${e-n/2}`,"Z"].join(" ")),"createHexagonPathD");async function bt(t,e){const{labelStyles:r,nodeStyles:n}=S(e);e.labelStyle=r;const{shapeSvg:i,bbox:a}=await c(t,e,p(e)),o=a.height+e.padding,s=o/4,l=a.width+2*s+e.padding,u=[{x:s,y:0},{x:l-s,y:0},{x:l,y:-o/2},{x:l-s,y:-o},{x:s,y:-o},{x:0,y:-o/2}];let f;const{cssStyles:g}=e;if("handDrawn"===e.look){const t=h.A.svg(i),r=T(e,{}),n=xt(0,0,l,o,s),a=t.path(n,r);f=i.insert((()=>a),":first-child").attr("transform",`translate(${-l/2}, ${o/2})`),g&&f.attr("style",g)}else f=V(i,l,o,u);return n&&f.attr("style",n),e.width=l,e.height=o,d(e,f),e.intersect=function(t){return H.polygon(e,u,t)},i}async function kt(t,e){const{labelStyles:r,nodeStyles:n}=S(e);e.label="",e.labelStyle=r;const{shapeSvg:i}=await c(t,e,p(e)),a=Math.max(30,e?.width??0),o=Math.max(30,e?.height??0),{cssStyles:l}=e,u=h.A.svg(i),g=T(e,{});"handDrawn"!==e.look&&(g.roughness=0,g.fillStyle="solid");const y=[{x:0,y:0},{x:a,y:0},{x:0,y:o},{x:a,y:o}],m=f(y),x=u.path(m,g),b=i.insert((()=>x),":first-child");return b.attr("class","basic label-container"),l&&"handDrawn"!==e.look&&b.selectChildren("path").attr("style",l),n&&"handDrawn"!==e.look&&b.selectChildren("path").attr("style",n),b.attr("transform",`translate(${-a/2}, ${-o/2})`),d(e,b),e.intersect=function(t){return s.Rm.info("Pill intersect",e,{points:y}),H.polygon(e,y,t)},i}async function Ct(t,e,{config:{themeVariables:r,flowchart:i}}){const{labelStyles:a}=S(e);e.labelStyle=a;const o=e.assetHeight??48,l=e.assetWidth??48,u=Math.max(o,l),p=i?.wrappingWidth;e.width=Math.max(u,p??0);const{shapeSvg:f,bbox:g,label:y}=await c(t,e,"icon-shape default"),m="t"===e.pos,x=u,b=u,{nodeBorder:k}=r,{stylesMap:C}=_(e),w=-b/2,v=-x/2,A=e.label?8:0,M=h.A.svg(f),B=T(e,{stroke:"none",fill:"none"});"handDrawn"!==e.look&&(B.roughness=0,B.fillStyle="solid");const L=M.rectangle(w,v,b,x,B),F=Math.max(b,g.width),$=x+g.height+A,E=M.rectangle(-F/2,-$/2,F,$,{...B,fill:"transparent",stroke:"none"}),D=f.insert((()=>L),":first-child"),O=f.insert((()=>E));if(e.icon){const t=f.append("g");t.html(`${await(0,n.WY)(e.icon,{height:u,width:u,fallbackPrefix:""})}`);const r=t.node().getBBox(),i=r.width,a=r.height,o=r.x,s=r.y;t.attr("transform",`translate(${-i/2-o},${m?g.height/2+A/2-a/2-s:-g.height/2-A/2-a/2-s})`),t.attr("style",`color: ${C.get("stroke")??k};`)}return y.attr("transform",`translate(${-g.width/2-(g.x-(g.left??0))},${m?-$/2:$/2-g.height})`),D.attr("transform",`translate(0,${m?g.height/2+A/2:-g.height/2-A/2})`),d(e,O),e.intersect=function(t){if(s.Rm.info("iconSquare intersect",e,t),!e.label)return H.rect(e,t);const r=e.x??0,n=e.y??0,i=e.height??0;let a=[];return a=m?[{x:r-g.width/2,y:n-i/2},{x:r+g.width/2,y:n-i/2},{x:r+g.width/2,y:n-i/2+g.height+A},{x:r+b/2,y:n-i/2+g.height+A},{x:r+b/2,y:n+i/2},{x:r-b/2,y:n+i/2},{x:r-b/2,y:n-i/2+g.height+A},{x:r-g.width/2,y:n-i/2+g.height+A}]:[{x:r-b/2,y:n-i/2},{x:r+b/2,y:n-i/2},{x:r+b/2,y:n-i/2+x},{x:r+g.width/2,y:n-i/2+x},{x:r+g.width/2/2,y:n+i/2},{x:r-g.width/2,y:n+i/2},{x:r-g.width/2,y:n-i/2+x},{x:r-b/2,y:n-i/2+x}],H.polygon(e,a,t)},f}async function wt(t,e,{config:{themeVariables:r,flowchart:i}}){const{labelStyles:a}=S(e);e.labelStyle=a;const o=e.assetHeight??48,l=e.assetWidth??48,u=Math.max(o,l),p=i?.wrappingWidth;e.width=Math.max(u,p??0);const{shapeSvg:f,bbox:g,label:y}=await c(t,e,"icon-shape default"),m=e.label?8:0,x="t"===e.pos,{nodeBorder:b,mainBkg:k}=r,{stylesMap:C}=_(e),w=h.A.svg(f),v=T(e,{});"handDrawn"!==e.look&&(v.roughness=0,v.fillStyle="solid");const A=C.get("fill");v.stroke=A??k;const M=f.append("g");e.icon&&M.html(`${await(0,n.WY)(e.icon,{height:u,width:u,fallbackPrefix:""})}`);const B=M.node().getBBox(),L=B.width,F=B.height,$=B.x,E=B.y,D=Math.max(L,F)*Math.SQRT2+40,O=w.circle(0,0,D,v),I=Math.max(D,g.width),N=D+g.height+m,R=w.rectangle(-I/2,-N/2,I,N,{...v,fill:"transparent",stroke:"none"}),P=f.insert((()=>O),":first-child"),K=f.insert((()=>R));return M.attr("transform",`translate(${-L/2-$},${x?g.height/2+m/2-F/2-E:-g.height/2-m/2-F/2-E})`),M.attr("style",`color: ${C.get("stroke")??b};`),y.attr("transform",`translate(${-g.width/2-(g.x-(g.left??0))},${x?-N/2:N/2-g.height})`),P.attr("transform",`translate(0,${x?g.height/2+m/2:-g.height/2-m/2})`),d(e,K),e.intersect=function(t){return s.Rm.info("iconSquare intersect",e,t),H.rect(e,t)},f}async function _t(t,e,{config:{themeVariables:r,flowchart:i}}){const{labelStyles:a}=S(e);e.labelStyle=a;const o=e.assetHeight??48,l=e.assetWidth??48,u=Math.max(o,l),p=i?.wrappingWidth;e.width=Math.max(u,p??0);const{shapeSvg:f,bbox:g,halfPadding:y,label:m}=await c(t,e,"icon-shape default"),x="t"===e.pos,b=u+2*y,k=u+2*y,{nodeBorder:w,mainBkg:v}=r,{stylesMap:A}=_(e),M=-k/2,B=-b/2,L=e.label?8:0,F=h.A.svg(f),$=T(e,{});"handDrawn"!==e.look&&($.roughness=0,$.fillStyle="solid");const E=A.get("fill");$.stroke=E??v;const D=F.path(C(M,B,k,b,5),$),O=Math.max(k,g.width),I=b+g.height+L,N=F.rectangle(-O/2,-I/2,O,I,{...$,fill:"transparent",stroke:"none"}),R=f.insert((()=>D),":first-child").attr("class","icon-shape2"),P=f.insert((()=>N));if(e.icon){const t=f.append("g");t.html(`${await(0,n.WY)(e.icon,{height:u,width:u,fallbackPrefix:""})}`);const r=t.node().getBBox(),i=r.width,a=r.height,o=r.x,s=r.y;t.attr("transform",`translate(${-i/2-o},${x?g.height/2+L/2-a/2-s:-g.height/2-L/2-a/2-s})`),t.attr("style",`color: ${A.get("stroke")??w};`)}return m.attr("transform",`translate(${-g.width/2-(g.x-(g.left??0))},${x?-I/2:I/2-g.height})`),R.attr("transform",`translate(0,${x?g.height/2+L/2:-g.height/2-L/2})`),d(e,P),e.intersect=function(t){if(s.Rm.info("iconSquare intersect",e,t),!e.label)return H.rect(e,t);const r=e.x??0,n=e.y??0,i=e.height??0;let a=[];return a=x?[{x:r-g.width/2,y:n-i/2},{x:r+g.width/2,y:n-i/2},{x:r+g.width/2,y:n-i/2+g.height+L},{x:r+k/2,y:n-i/2+g.height+L},{x:r+k/2,y:n+i/2},{x:r-k/2,y:n+i/2},{x:r-k/2,y:n-i/2+g.height+L},{x:r-g.width/2,y:n-i/2+g.height+L}]:[{x:r-k/2,y:n-i/2},{x:r+k/2,y:n-i/2},{x:r+k/2,y:n-i/2+b},{x:r+g.width/2,y:n-i/2+b},{x:r+g.width/2/2,y:n+i/2},{x:r-g.width/2,y:n+i/2},{x:r-g.width/2,y:n-i/2+b},{x:r-k/2,y:n-i/2+b}],H.polygon(e,a,t)},f}async function vt(t,e,{config:{themeVariables:r,flowchart:i}}){const{labelStyles:a}=S(e);e.labelStyle=a;const o=e.assetHeight??48,l=e.assetWidth??48,u=Math.max(o,l),p=i?.wrappingWidth;e.width=Math.max(u,p??0);const{shapeSvg:f,bbox:g,halfPadding:y,label:m}=await c(t,e,"icon-shape default"),x="t"===e.pos,b=u+2*y,k=u+2*y,{nodeBorder:w,mainBkg:v}=r,{stylesMap:A}=_(e),M=-k/2,B=-b/2,L=e.label?8:0,F=h.A.svg(f),$=T(e,{});"handDrawn"!==e.look&&($.roughness=0,$.fillStyle="solid");const E=A.get("fill");$.stroke=E??v;const D=F.path(C(M,B,k,b,.1),$),O=Math.max(k,g.width),I=b+g.height+L,N=F.rectangle(-O/2,-I/2,O,I,{...$,fill:"transparent",stroke:"none"}),R=f.insert((()=>D),":first-child"),P=f.insert((()=>N));if(e.icon){const t=f.append("g");t.html(`${await(0,n.WY)(e.icon,{height:u,width:u,fallbackPrefix:""})}`);const r=t.node().getBBox(),i=r.width,a=r.height,o=r.x,s=r.y;t.attr("transform",`translate(${-i/2-o},${x?g.height/2+L/2-a/2-s:-g.height/2-L/2-a/2-s})`),t.attr("style",`color: ${A.get("stroke")??w};`)}return m.attr("transform",`translate(${-g.width/2-(g.x-(g.left??0))},${x?-I/2:I/2-g.height})`),R.attr("transform",`translate(0,${x?g.height/2+L/2:-g.height/2-L/2})`),d(e,P),e.intersect=function(t){if(s.Rm.info("iconSquare intersect",e,t),!e.label)return H.rect(e,t);const r=e.x??0,n=e.y??0,i=e.height??0;let a=[];return a=x?[{x:r-g.width/2,y:n-i/2},{x:r+g.width/2,y:n-i/2},{x:r+g.width/2,y:n-i/2+g.height+L},{x:r+k/2,y:n-i/2+g.height+L},{x:r+k/2,y:n+i/2},{x:r-k/2,y:n+i/2},{x:r-k/2,y:n-i/2+g.height+L},{x:r-g.width/2,y:n-i/2+g.height+L}]:[{x:r-k/2,y:n-i/2},{x:r+k/2,y:n-i/2},{x:r+k/2,y:n-i/2+b},{x:r+g.width/2,y:n-i/2+b},{x:r+g.width/2/2,y:n+i/2},{x:r-g.width/2,y:n+i/2},{x:r-g.width/2,y:n-i/2+b},{x:r-k/2,y:n-i/2+b}],H.polygon(e,a,t)},f}async function St(t,e,{config:{flowchart:r}}){const n=new Image;n.src=e?.img??"",await n.decode();const i=Number(n.naturalWidth.toString().replace("px","")),a=Number(n.naturalHeight.toString().replace("px",""));e.imageAspectRatio=i/a;const{labelStyles:o}=S(e);e.labelStyle=o;const l=r?.wrappingWidth;e.defaultWidth=r?.wrappingWidth;const u=Math.max(e.label?l??0:0,e?.assetWidth??i),p="on"===e.constraint&&e?.assetHeight?e.assetHeight*e.imageAspectRatio:u,f="on"===e.constraint?p/e.imageAspectRatio:e?.assetHeight??a;e.width=Math.max(p,l??0);const{shapeSvg:g,bbox:y,label:m}=await c(t,e,"image-shape default"),x="t"===e.pos,b=-p/2,k=-f/2,C=e.label?8:0,w=h.A.svg(g),_=T(e,{});"handDrawn"!==e.look&&(_.roughness=0,_.fillStyle="solid");const v=w.rectangle(b,k,p,f,_),A=Math.max(p,y.width),M=f+y.height+C,B=w.rectangle(-A/2,-M/2,A,M,{..._,fill:"none",stroke:"none"}),L=g.insert((()=>v),":first-child"),F=g.insert((()=>B));if(e.img){const t=g.append("image");t.attr("href",e.img),t.attr("width",p),t.attr("height",f),t.attr("preserveAspectRatio","none"),t.attr("transform",`translate(${-p/2},${x?M/2-f:-M/2})`)}return m.attr("transform",`translate(${-y.width/2-(y.x-(y.left??0))},${x?-f/2-y.height/2-C/2:f/2-y.height/2+C/2})`),L.attr("transform",`translate(0,${x?y.height/2+C/2:-y.height/2-C/2})`),d(e,F),e.intersect=function(t){if(s.Rm.info("iconSquare intersect",e,t),!e.label)return H.rect(e,t);const r=e.x??0,n=e.y??0,i=e.height??0;let a=[];return a=x?[{x:r-y.width/2,y:n-i/2},{x:r+y.width/2,y:n-i/2},{x:r+y.width/2,y:n-i/2+y.height+C},{x:r+p/2,y:n-i/2+y.height+C},{x:r+p/2,y:n+i/2},{x:r-p/2,y:n+i/2},{x:r-p/2,y:n-i/2+y.height+C},{x:r-y.width/2,y:n-i/2+y.height+C}]:[{x:r-p/2,y:n-i/2},{x:r+p/2,y:n-i/2},{x:r+p/2,y:n-i/2+f},{x:r+y.width/2,y:n-i/2+f},{x:r+y.width/2/2,y:n+i/2},{x:r-y.width/2,y:n+i/2},{x:r-y.width/2,y:n-i/2+f},{x:r-p/2,y:n-i/2+f}],H.polygon(e,a,t)},g}async function Tt(t,e){const{labelStyles:r,nodeStyles:n}=S(e);e.labelStyle=r;const{shapeSvg:i,bbox:a}=await c(t,e,p(e)),o=Math.max(a.width+2*(e.padding??0),e?.width??0),s=Math.max(a.height+2*(e.padding??0),e?.height??0),l=[{x:0,y:0},{x:o,y:0},{x:o+3*s/6,y:-s},{x:-3*s/6,y:-s}];let u;const{cssStyles:g}=e;if("handDrawn"===e.look){const t=h.A.svg(i),r=T(e,{}),n=f(l),a=t.path(n,r);u=i.insert((()=>a),":first-child").attr("transform",`translate(${-o/2}, ${s/2})`),g&&u.attr("style",g)}else u=V(i,o,s,l);return n&&u.attr("style",n),e.width=o,e.height=s,d(e,u),e.intersect=function(t){return H.polygon(e,l,t)},i}async function At(t,e,r){const{labelStyles:n,nodeStyles:i}=S(e);e.labelStyle=n;const{shapeSvg:a,bbox:s}=await c(t,e,p(e)),l=Math.max(s.width+2*r.labelPaddingX,e?.width||0),u=Math.max(s.height+2*r.labelPaddingY,e?.height||0),f=-l/2,g=-u/2;let y,{rx:m,ry:x}=e;const{cssStyles:b}=e;if(r?.rx&&r.ry&&(m=r.rx,x=r.ry),"handDrawn"===e.look){const t=h.A.svg(a),r=T(e,{}),n=m||x?t.path(C(f,g,l,u,m||0),r):t.rectangle(f,g,l,u,r);y=a.insert((()=>n),":first-child"),y.attr("class","basic label-container").attr("style",(0,o.KL)(b))}else y=a.insert("rect",":first-child"),y.attr("class","basic label-container").attr("style",i).attr("rx",(0,o.KL)(m)).attr("ry",(0,o.KL)(x)).attr("x",f).attr("y",g).attr("width",l).attr("height",u);return d(e,y),e.intersect=function(t){return H.rect(e,t)},a}async function Mt(t,e){const{shapeSvg:r,bbox:n,label:i}=await c(t,e,"label"),a=r.insert("rect",":first-child");return a.attr("width",.1).attr("height",.1),r.attr("class","label edgeLabel"),i.attr("transform",`translate(${-n.width/2-(n.x-(n.left??0))}, ${-n.height/2-(n.y-(n.top??0))})`),d(e,a),e.intersect=function(t){return H.rect(e,t)},r}async function Bt(t,e){const{labelStyles:r,nodeStyles:n}=S(e);e.labelStyle=r;const{shapeSvg:i,bbox:a}=await c(t,e,p(e)),o=Math.max(a.width+(e.padding??0),e?.width??0),s=Math.max(a.height+(e.padding??0),e?.height??0),l=[{x:0,y:0},{x:o+3*s/6,y:0},{x:o,y:-s},{x:-3*s/6,y:-s}];let u;const{cssStyles:g}=e;if("handDrawn"===e.look){const t=h.A.svg(i),r=T(e,{}),n=f(l),a=t.path(n,r);u=i.insert((()=>a),":first-child").attr("transform",`translate(${-o/2}, ${s/2})`),g&&u.attr("style",g)}else u=V(i,o,s,l);return n&&u.attr("style",n),e.width=o,e.height=s,d(e,u),e.intersect=function(t){return H.polygon(e,l,t)},i}async function Lt(t,e){const{labelStyles:r,nodeStyles:n}=S(e);e.labelStyle=r;const{shapeSvg:i,bbox:a}=await c(t,e,p(e)),o=Math.max(a.width+(e.padding??0),e?.width??0),s=Math.max(a.height+(e.padding??0),e?.height??0),l=[{x:-3*s/6,y:0},{x:o,y:0},{x:o+3*s/6,y:-s},{x:0,y:-s}];let u;const{cssStyles:g}=e;if("handDrawn"===e.look){const t=h.A.svg(i),r=T(e,{}),n=f(l),a=t.path(n,r);u=i.insert((()=>a),":first-child").attr("transform",`translate(${-o/2}, ${s/2})`),g&&u.attr("style",g)}else u=V(i,o,s,l);return n&&u.attr("style",n),e.width=o,e.height=s,d(e,u),e.intersect=function(t){return H.polygon(e,l,t)},i}function Ft(t,e){const{labelStyles:r,nodeStyles:n}=S(e);e.label="",e.labelStyle=r;const i=t.insert("g").attr("class",p(e)).attr("id",e.domId??e.id),{cssStyles:a}=e,o=Math.max(35,e?.width??0),l=Math.max(35,e?.height??0),c=[{x:o,y:0},{x:0,y:l+3.5},{x:o-14,y:l+3.5},{x:0,y:2*l},{x:o,y:l-3.5},{x:14,y:l-3.5}],u=h.A.svg(i),g=T(e,{});"handDrawn"!==e.look&&(g.roughness=0,g.fillStyle="solid");const y=f(c),m=u.path(y,g),x=i.insert((()=>m),":first-child");return a&&"handDrawn"!==e.look&&x.selectAll("path").attr("style",a),n&&"handDrawn"!==e.look&&x.selectAll("path").attr("style",n),x.attr("transform",`translate(-${o/2},${-l})`),d(e,x),e.intersect=function(t){return s.Rm.info("lightningBolt intersect",e,t),H.polygon(e,c,t)},i}(0,s.K2)(bt,"hexagon"),(0,s.K2)(kt,"hourglass"),(0,s.K2)(Ct,"icon"),(0,s.K2)(wt,"iconCircle"),(0,s.K2)(_t,"iconRounded"),(0,s.K2)(vt,"iconSquare"),(0,s.K2)(St,"imageSquare"),(0,s.K2)(Tt,"inv_trapezoid"),(0,s.K2)(At,"drawRect"),(0,s.K2)(Mt,"labelRect"),(0,s.K2)(Bt,"lean_left"),(0,s.K2)(Lt,"lean_right"),(0,s.K2)(Ft,"lightningBolt");var $t=(0,s.K2)(((t,e,r,n,i,a,o)=>[`M${t},${e+a}`,`a${i},${a} 0,0,0 ${r},0`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,"l0,"+-n,`M${t},${e+a+o}`,`a${i},${a} 0,0,0 ${r},0`].join(" ")),"createCylinderPathD"),Et=(0,s.K2)(((t,e,r,n,i,a,o)=>[`M${t},${e+a}`,`M${t+r},${e+a}`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,"l0,"+-n,`M${t},${e+a+o}`,`a${i},${a} 0,0,0 ${r},0`].join(" ")),"createOuterCylinderPathD"),Dt=(0,s.K2)(((t,e,r,n,i,a)=>[`M${t-r/2},${-n/2}`,`a${i},${a} 0,0,0 ${r},0`].join(" ")),"createInnerCylinderPathD");async function Ot(t,e){const{labelStyles:r,nodeStyles:n}=S(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,label:s}=await c(t,e,p(e)),l=Math.max(a.width+(e.padding??0),e.width??0),u=l/2,f=u/(2.5+l/50),g=Math.max(a.height+f+(e.padding??0),e.height??0),y=.1*g;let m;const{cssStyles:x}=e;if("handDrawn"===e.look){const t=h.A.svg(i),r=Et(0,0,l,g,u,f,y),n=Dt(0,f,l,g,u,f),a=T(e,{}),o=t.path(r,a),s=t.path(n,a);i.insert((()=>s),":first-child").attr("class","line"),m=i.insert((()=>o),":first-child"),m.attr("class","basic label-container"),x&&m.attr("style",x)}else{const t=$t(0,0,l,g,u,f,y);m=i.insert("path",":first-child").attr("d",t).attr("class","basic label-container").attr("style",(0,o.KL)(x)).attr("style",n)}return m.attr("label-offset-y",f),m.attr("transform",`translate(${-l/2}, ${-(g/2+f)})`),d(e,m),s.attr("transform",`translate(${-a.width/2-(a.x-(a.left??0))}, ${-a.height/2+f-(a.y-(a.top??0))})`),e.intersect=function(t){const r=H.rect(e,t),n=r.x-(e.x??0);if(0!=u&&(Math.abs(n)<(e.width??0)/2||Math.abs(n)==(e.width??0)/2&&Math.abs(r.y-(e.y??0))>(e.height??0)/2-f)){let i=f*f*(1-n*n/(u*u));i>0&&(i=Math.sqrt(i)),i=f-i,t.y-(e.y??0)>0&&(i=-i),r.y+=i}return r},i}async function It(t,e){const{labelStyles:r,nodeStyles:n}=S(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,label:o}=await c(t,e,p(e)),s=Math.max(a.width+2*(e.padding??0),e?.width??0),l=Math.max(a.height+2*(e.padding??0),e?.height??0),u=l/4,f=l+u,{cssStyles:y}=e,m=h.A.svg(i),x=T(e,{});"handDrawn"!==e.look&&(x.roughness=0,x.fillStyle="solid");const b=[{x:-s/2-s/2*.1,y:-f/2},{x:-s/2-s/2*.1,y:f/2},...g(-s/2-s/2*.1,f/2,s/2+s/2*.1,f/2,u,.8),{x:s/2+s/2*.1,y:-f/2},{x:-s/2-s/2*.1,y:-f/2},{x:-s/2,y:-f/2},{x:-s/2,y:f/2*1.1},{x:-s/2,y:-f/2}],k=m.polygon(b.map((t=>[t.x,t.y])),x),C=i.insert((()=>k),":first-child");return C.attr("class","basic label-container"),y&&"handDrawn"!==e.look&&C.selectAll("path").attr("style",y),n&&"handDrawn"!==e.look&&C.selectAll("path").attr("style",n),C.attr("transform",`translate(0,${-u/2})`),o.attr("transform",`translate(${-s/2+(e.padding??0)+s/2*.1/2-(a.x-(a.left??0))},${-l/2+(e.padding??0)-u/2-(a.y-(a.top??0))})`),d(e,C),e.intersect=function(t){return H.polygon(e,b,t)},i}async function Nt(t,e){const{labelStyles:r,nodeStyles:n}=S(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,label:o}=await c(t,e,p(e)),s=Math.max(a.width+2*(e.padding??0),e?.width??0),l=Math.max(a.height+2*(e.padding??0),e?.height??0),u=-s/2,g=-l/2,{cssStyles:y}=e,m=h.A.svg(i),x=T(e,{}),b=[{x:u-5,y:g+5},{x:u-5,y:g+l+5},{x:u+s-5,y:g+l+5},{x:u+s-5,y:g+l},{x:u+s,y:g+l},{x:u+s,y:g+l-5},{x:u+s+5,y:g+l-5},{x:u+s+5,y:g-5},{x:u+5,y:g-5},{x:u+5,y:g},{x:u,y:g},{x:u,y:g+5}],k=[{x:u,y:g+5},{x:u+s-5,y:g+5},{x:u+s-5,y:g+l},{x:u+s,y:g+l},{x:u+s,y:g},{x:u,y:g}];"handDrawn"!==e.look&&(x.roughness=0,x.fillStyle="solid");const C=f(b),w=m.path(C,x),_=f(k),v=m.path(_,{...x,fill:"none"}),A=i.insert((()=>v),":first-child");return A.insert((()=>w),":first-child"),A.attr("class","basic label-container"),y&&"handDrawn"!==e.look&&A.selectAll("path").attr("style",y),n&&"handDrawn"!==e.look&&A.selectAll("path").attr("style",n),o.attr("transform",`translate(${-a.width/2-5-(a.x-(a.left??0))}, ${-a.height/2+5-(a.y-(a.top??0))})`),d(e,A),e.intersect=function(t){return H.polygon(e,b,t)},i}async function Rt(t,e){const{labelStyles:r,nodeStyles:n}=S(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,label:o}=await c(t,e,p(e)),s=Math.max(a.width+2*(e.padding??0),e?.width??0),l=Math.max(a.height+2*(e.padding??0),e?.height??0),u=l/4,y=l+u,m=-s/2,x=-y/2,{cssStyles:b}=e,k=g(m-5,x+y+5,m+s-5,x+y+5,u,.8),C=k?.[k.length-1],w=[{x:m-5,y:x+5},{x:m-5,y:x+y+5},...k,{x:m+s-5,y:C.y-5},{x:m+s,y:C.y-5},{x:m+s,y:C.y-10},{x:m+s+5,y:C.y-10},{x:m+s+5,y:x-5},{x:m+5,y:x-5},{x:m+5,y:x},{x:m,y:x},{x:m,y:x+5}],_=[{x:m,y:x+5},{x:m+s-5,y:x+5},{x:m+s-5,y:C.y-5},{x:m+s,y:C.y-5},{x:m+s,y:x},{x:m,y:x}],v=h.A.svg(i),A=T(e,{});"handDrawn"!==e.look&&(A.roughness=0,A.fillStyle="solid");const M=f(w),B=v.path(M,A),L=f(_),F=v.path(L,A),$=i.insert((()=>B),":first-child");return $.insert((()=>F)),$.attr("class","basic label-container"),b&&"handDrawn"!==e.look&&$.selectAll("path").attr("style",b),n&&"handDrawn"!==e.look&&$.selectAll("path").attr("style",n),$.attr("transform",`translate(0,${-u/2})`),o.attr("transform",`translate(${-a.width/2-5-(a.x-(a.left??0))}, ${-a.height/2+5-u/2-(a.y-(a.top??0))})`),d(e,$),e.intersect=function(t){return H.polygon(e,w,t)},i}async function Pt(t,e,{config:{themeVariables:r}}){const{labelStyles:n,nodeStyles:i}=S(e);e.labelStyle=n,e.useHtmlLabels||!1!==(0,s.zj)().flowchart?.htmlLabels||(e.centerLabel=!0);const{shapeSvg:a,bbox:o}=await c(t,e,p(e)),l=Math.max(o.width+2*(e.padding??0),e?.width??0),u=Math.max(o.height+2*(e.padding??0),e?.height??0),f=-l/2,g=-u/2,{cssStyles:y}=e,m=h.A.svg(a),x=T(e,{fill:r.noteBkgColor,stroke:r.noteBorderColor});"handDrawn"!==e.look&&(x.roughness=0,x.fillStyle="solid");const b=m.rectangle(f,g,l,u,x),k=a.insert((()=>b),":first-child");return k.attr("class","basic label-container"),y&&"handDrawn"!==e.look&&k.selectAll("path").attr("style",y),i&&"handDrawn"!==e.look&&k.selectAll("path").attr("style",i),d(e,k),e.intersect=function(t){return H.rect(e,t)},a}(0,s.K2)(Ot,"linedCylinder"),(0,s.K2)(It,"linedWaveEdgedRect"),(0,s.K2)(Nt,"multiRect"),(0,s.K2)(Rt,"multiWaveEdgedRectangle"),(0,s.K2)(Pt,"note");var Kt=(0,s.K2)(((t,e,r)=>[`M${t+r/2},${e}`,`L${t+r},${e-r/2}`,`L${t+r/2},${e-r}`,`L${t},${e-r/2}`,"Z"].join(" ")),"createDecisionBoxPathD");async function zt(t,e){const{labelStyles:r,nodeStyles:n}=S(e);e.labelStyle=r;const{shapeSvg:i,bbox:a}=await c(t,e,p(e)),o=a.width+e.padding+(a.height+e.padding),l=[{x:o/2,y:0},{x:o,y:-o/2},{x:o/2,y:-o},{x:0,y:-o/2}];let u;const{cssStyles:f}=e;if("handDrawn"===e.look){const t=h.A.svg(i),r=T(e,{}),n=Kt(0,0,o),a=t.path(n,r);u=i.insert((()=>a),":first-child").attr("transform",`translate(${-o/2}, ${o/2})`),f&&u.attr("style",f)}else u=V(i,o,o,l);return n&&u.attr("style",n),d(e,u),e.intersect=function(t){return s.Rm.debug("APA12 Intersect called SPLIT\npoint:",t,"\nnode:\n",e,"\nres:",H.polygon(e,l,t)),H.polygon(e,l,t)},i}async function qt(t,e){const{labelStyles:r,nodeStyles:n}=S(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,label:o}=await c(t,e,p(e)),s=-Math.max(a.width+(e.padding??0),e?.width??0)/2,l=-Math.max(a.height+(e.padding??0),e?.height??0)/2,u=l/2,g=[{x:s+u,y:l},{x:s,y:0},{x:s+u,y:-l},{x:-s,y:-l},{x:-s,y:l}],{cssStyles:y}=e,m=h.A.svg(i),x=T(e,{});"handDrawn"!==e.look&&(x.roughness=0,x.fillStyle="solid");const b=f(g),k=m.path(b,x),C=i.insert((()=>k),":first-child");return C.attr("class","basic label-container"),y&&"handDrawn"!==e.look&&C.selectAll("path").attr("style",y),n&&"handDrawn"!==e.look&&C.selectAll("path").attr("style",n),C.attr("transform",`translate(${-u/2},0)`),o.attr("transform",`translate(${-u/2-a.width/2-(a.x-(a.left??0))}, ${-a.height/2-(a.y-(a.top??0))})`),d(e,C),e.intersect=function(t){return H.polygon(e,g,t)},i}async function jt(t,e){const{labelStyles:r,nodeStyles:n}=S(e);let i;e.labelStyle=r,i=e.cssClasses?"node "+e.cssClasses:"node default";const a=t.insert("g").attr("class",i).attr("id",e.domId||e.id),o=a.insert("g"),c=a.insert("g").attr("class","label").attr("style",n),u=e.description,p=e.label,f=c.node().appendChild(await k(p,e.labelStyle,!0,!0));let g={width:0,height:0};if((0,s._3)((0,s.D7)()?.flowchart?.htmlLabels)){const t=f.children[0],e=(0,l.Ltv)(f);g=t.getBoundingClientRect(),e.attr("width",g.width),e.attr("height",g.height)}s.Rm.info("Text 2",u);const y=u||[],m=f.getBBox(),x=c.node().appendChild(await k(y.join?y.join("
    "):y,e.labelStyle,!0,!0)),b=x.children[0],w=(0,l.Ltv)(x);g=b.getBoundingClientRect(),w.attr("width",g.width),w.attr("height",g.height);const _=(e.padding||0)/2;(0,l.Ltv)(x).attr("transform","translate( "+(g.width>m.width?0:(m.width-g.width)/2)+", "+(m.height+_+5)+")"),(0,l.Ltv)(f).attr("transform","translate( "+(g.width(s.Rm.debug("Rough node insert CXC",n),i)),":first-child"),L=a.insert((()=>(s.Rm.debug("Rough node insert CXC",n),n)),":first-child")}else L=o.insert("rect",":first-child"),F=o.insert("line"),L.attr("class","outer title-state").attr("style",n).attr("x",-g.width/2-_).attr("y",-g.height/2-_).attr("width",g.width+(e.padding||0)).attr("height",g.height+(e.padding||0)),F.attr("class","divider").attr("x1",-g.width/2-_).attr("x2",g.width/2+_).attr("y1",-g.height/2-_+m.height+_).attr("y2",-g.height/2-_+m.height+_);return d(e,L),e.intersect=function(t){return H.rect(e,t)},a}async function Wt(t,e){return At(t,e,{rx:5,ry:5,classes:"",labelPaddingX:1*(e?.padding||0),labelPaddingY:1*(e?.padding||0)})}async function Ht(t,e){const{labelStyles:r,nodeStyles:n}=S(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,label:s}=await c(t,e,p(e)),l=e?.padding??0,u=Math.max(a.width+2*(e.padding??0),e?.width??0),f=Math.max(a.height+2*(e.padding??0),e?.height??0),g=-a.width/2-l,y=-a.height/2-l,{cssStyles:m}=e,x=h.A.svg(i),b=T(e,{});"handDrawn"!==e.look&&(b.roughness=0,b.fillStyle="solid");const k=[{x:g,y},{x:g+u+8,y},{x:g+u+8,y:y+f},{x:g-8,y:y+f},{x:g-8,y},{x:g,y},{x:g,y:y+f}],C=x.polygon(k.map((t=>[t.x,t.y])),b),w=i.insert((()=>C),":first-child");return w.attr("class","basic label-container").attr("style",(0,o.KL)(m)),n&&"handDrawn"!==e.look&&w.selectAll("path").attr("style",n),m&&"handDrawn"!==e.look&&w.selectAll("path").attr("style",n),s.attr("transform",`translate(${-u/2+4+(e.padding??0)-(a.x-(a.left??0))},${-f/2+(e.padding??0)-(a.y-(a.top??0))})`),d(e,w),e.intersect=function(t){return H.rect(e,t)},i}async function Ut(t,e){const{labelStyles:r,nodeStyles:n}=S(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,label:o}=await c(t,e,p(e)),s=Math.max(a.width+2*(e.padding??0),e?.width??0),l=Math.max(a.height+2*(e.padding??0),e?.height??0),u=-s/2,g=-l/2,{cssStyles:y}=e,m=h.A.svg(i),x=T(e,{});"handDrawn"!==e.look&&(x.roughness=0,x.fillStyle="solid");const b=[{x:u,y:g},{x:u,y:g+l},{x:u+s,y:g+l},{x:u+s,y:g-l/2}],k=f(b),C=m.path(k,x),w=i.insert((()=>C),":first-child");return w.attr("class","basic label-container"),y&&"handDrawn"!==e.look&&w.selectChildren("path").attr("style",y),n&&"handDrawn"!==e.look&&w.selectChildren("path").attr("style",n),w.attr("transform",`translate(0, ${l/4})`),o.attr("transform",`translate(${-s/2+(e.padding??0)-(a.x-(a.left??0))}, ${-l/4+(e.padding??0)-(a.y-(a.top??0))})`),d(e,w),e.intersect=function(t){return H.polygon(e,b,t)},i}async function Yt(t,e){return At(t,e,{rx:0,ry:0,classes:"",labelPaddingX:2*(e?.padding||0),labelPaddingY:1*(e?.padding||0)})}async function Gt(t,e){const{labelStyles:r,nodeStyles:n}=S(e);e.labelStyle=r;const{shapeSvg:i,bbox:a}=await c(t,e,p(e)),s=a.height+e.padding,l=a.width+s/4+e.padding;let u;const{cssStyles:f}=e;if("handDrawn"===e.look){const t=h.A.svg(i),r=T(e,{}),n=C(-l/2,-s/2,l,s,s/2),a=t.path(n,r);u=i.insert((()=>a),":first-child"),u.attr("class","basic label-container").attr("style",(0,o.KL)(f))}else u=i.insert("rect",":first-child"),u.attr("class","basic label-container").attr("style",n).attr("rx",s/2).attr("ry",s/2).attr("x",-l/2).attr("y",-s/2).attr("width",l).attr("height",s);return d(e,u),e.intersect=function(t){return H.rect(e,t)},i}async function Vt(t,e){return At(t,e,{rx:5,ry:5,classes:"flowchart-node"})}function Zt(t,e,{config:{themeVariables:r}}){const{labelStyles:n,nodeStyles:i}=S(e);e.labelStyle=n;const{cssStyles:a}=e,{lineColor:o,stateBorder:s,nodeBorder:l}=r,c=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),u=h.A.svg(c),p=T(e,{});"handDrawn"!==e.look&&(p.roughness=0,p.fillStyle="solid");const f=u.circle(0,0,14,{...p,stroke:o,strokeWidth:2}),g=s??l,y=u.circle(0,0,5,{...p,fill:g,stroke:g,strokeWidth:2,fillStyle:"solid"}),m=c.insert((()=>f),":first-child");return m.insert((()=>y)),a&&m.selectAll("path").attr("style",a),i&&m.selectAll("path").attr("style",i),d(e,m),e.intersect=function(t){return H.circle(e,7,t)},c}function Xt(t,e,{config:{themeVariables:r}}){const{lineColor:n}=r,i=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);let a;if("handDrawn"===e.look){const t=h.A.svg(i).circle(0,0,14,w(n));a=i.insert((()=>t)),a.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14)}else a=i.insert("circle",":first-child"),a.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14);return d(e,a),e.intersect=function(t){return H.circle(e,7,t)},i}async function Qt(t,e){const{labelStyles:r,nodeStyles:n}=S(e);e.labelStyle=r;const{shapeSvg:i,bbox:a}=await c(t,e,p(e)),s=(e?.padding||0)/2,l=a.width+e.padding,u=a.height+e.padding,f=-a.width/2-s,g=-a.height/2-s,y=[{x:0,y:0},{x:l,y:0},{x:l,y:-u},{x:0,y:-u},{x:0,y:0},{x:-8,y:0},{x:l+8,y:0},{x:l+8,y:-u},{x:-8,y:-u},{x:-8,y:0}];if("handDrawn"===e.look){const t=h.A.svg(i),r=T(e,{}),n=t.rectangle(f-8,g,l+16,u,r),a=t.line(f,g,f,g+u,r),s=t.line(f+l,g,f+l,g+u,r);i.insert((()=>a),":first-child"),i.insert((()=>s),":first-child");const c=i.insert((()=>n),":first-child"),{cssStyles:p}=e;c.attr("class","basic label-container").attr("style",(0,o.KL)(p)),d(e,c)}else{const t=V(i,l,u,y);n&&t.attr("style",n),d(e,t)}return e.intersect=function(t){return H.polygon(e,y,t)},i}async function Jt(t,e){const{labelStyles:r,nodeStyles:n}=S(e);e.labelStyle=r;const{shapeSvg:i,bbox:a}=await c(t,e,p(e)),o=Math.max(a.width+2*(e.padding??0),e?.width??0),s=Math.max(a.height+2*(e.padding??0),e?.height??0),l=-o/2,u=-s/2,g=.2*s,y=.2*s,{cssStyles:m}=e,x=h.A.svg(i),b=T(e,{}),k=[{x:l-g/2,y:u},{x:l+o+g/2,y:u},{x:l+o+g/2,y:u+s},{x:l-g/2,y:u+s}],C=[{x:l+o-g/2,y:u+s},{x:l+o+g/2,y:u+s},{x:l+o+g/2,y:u+s-y}];"handDrawn"!==e.look&&(b.roughness=0,b.fillStyle="solid");const w=f(k),_=x.path(w,b),v=f(C),A=x.path(v,{...b,fillStyle:"solid"}),M=i.insert((()=>A),":first-child");return M.insert((()=>_),":first-child"),M.attr("class","basic label-container"),m&&"handDrawn"!==e.look&&M.selectAll("path").attr("style",m),n&&"handDrawn"!==e.look&&M.selectAll("path").attr("style",n),d(e,M),e.intersect=function(t){return H.polygon(e,k,t)},i}async function te(t,e){const{labelStyles:r,nodeStyles:n}=S(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,label:o}=await c(t,e,p(e)),s=Math.max(a.width+2*(e.padding??0),e?.width??0),l=Math.max(a.height+2*(e.padding??0),e?.height??0),u=l/4,y=.2*s,m=.2*l,x=l+u,{cssStyles:b}=e,k=h.A.svg(i),C=T(e,{});"handDrawn"!==e.look&&(C.roughness=0,C.fillStyle="solid");const w=[{x:-s/2-s/2*.1,y:x/2},...g(-s/2-s/2*.1,x/2,s/2+s/2*.1,x/2,u,.8),{x:s/2+s/2*.1,y:-x/2},{x:-s/2-s/2*.1,y:-x/2}],_=-s/2+s/2*.1,v=-x/2-.4*m,A=[{x:_+s-y,y:1.4*(v+l)},{x:_+s,y:v+l-m},{x:_+s,y:.9*(v+l)},...g(_+s,1.3*(v+l),_+s-y,1.5*(v+l),.03*-l,.5)],M=f(w),B=k.path(M,C),L=f(A),F=k.path(L,{...C,fillStyle:"solid"}),$=i.insert((()=>F),":first-child");return $.insert((()=>B),":first-child"),$.attr("class","basic label-container"),b&&"handDrawn"!==e.look&&$.selectAll("path").attr("style",b),n&&"handDrawn"!==e.look&&$.selectAll("path").attr("style",n),$.attr("transform",`translate(0,${-u/2})`),o.attr("transform",`translate(${-s/2+(e.padding??0)-(a.x-(a.left??0))},${-l/2+(e.padding??0)-u/2-(a.y-(a.top??0))})`),d(e,$),e.intersect=function(t){return H.polygon(e,w,t)},i}async function ee(t,e){const{labelStyles:r,nodeStyles:n}=S(e);e.labelStyle=r;const{shapeSvg:i,bbox:a}=await c(t,e,p(e)),o=Math.max(a.width+e.padding,e?.width||0),s=Math.max(a.height+e.padding,e?.height||0),l=-o/2,h=-s/2,u=i.insert("rect",":first-child");return u.attr("class","text").attr("style",n).attr("rx",0).attr("ry",0).attr("x",l).attr("y",h).attr("width",o).attr("height",s),d(e,u),e.intersect=function(t){return H.rect(e,t)},i}(0,s.K2)(zt,"question"),(0,s.K2)(qt,"rect_left_inv_arrow"),(0,s.K2)(jt,"rectWithTitle"),(0,s.K2)(Wt,"roundedRect"),(0,s.K2)(Ht,"shadedProcess"),(0,s.K2)(Ut,"slopedRect"),(0,s.K2)(Yt,"squareRect"),(0,s.K2)(Gt,"stadium"),(0,s.K2)(Vt,"state"),(0,s.K2)(Zt,"stateEnd"),(0,s.K2)(Xt,"stateStart"),(0,s.K2)(Qt,"subroutine"),(0,s.K2)(Jt,"taggedRect"),(0,s.K2)(te,"taggedWaveEdgedRectangle"),(0,s.K2)(ee,"text");var re=(0,s.K2)(((t,e,r,n,i,a)=>`M${t},${e}\n a${i},${a} 0,0,1 0,${-n}\n l${r},0\n a${i},${a} 0,0,1 0,${n}\n M${r},${-n}\n a${i},${a} 0,0,0 0,${n}\n l${-r},0`),"createCylinderPathD"),ne=(0,s.K2)(((t,e,r,n,i,a)=>[`M${t},${e}`,`M${t+r},${e}`,`a${i},${a} 0,0,0 0,${-n}`,`l${-r},0`,`a${i},${a} 0,0,0 0,${n}`,`l${r},0`].join(" ")),"createOuterCylinderPathD"),ie=(0,s.K2)(((t,e,r,n,i,a)=>[`M${t+r/2},${-n/2}`,`a${i},${a} 0,0,0 0,${n}`].join(" ")),"createInnerCylinderPathD");async function ae(t,e){const{labelStyles:r,nodeStyles:n}=S(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,label:s,halfPadding:l}=await c(t,e,p(e)),u="neo"===e.look?2*l:l,f=a.height+u,g=f/2,y=g/(2.5+f/50),m=a.width+y+u,{cssStyles:x}=e;let b;if("handDrawn"===e.look){const t=h.A.svg(i),r=ne(0,0,m,f,y,g),n=ie(0,0,m,f,y,g),a=t.path(r,T(e,{})),o=t.path(n,T(e,{fill:"none"}));b=i.insert((()=>o),":first-child"),b=i.insert((()=>a),":first-child"),b.attr("class","basic label-container"),x&&b.attr("style",x)}else{const t=re(0,0,m,f,y,g);b=i.insert("path",":first-child").attr("d",t).attr("class","basic label-container").attr("style",(0,o.KL)(x)).attr("style",n),b.attr("class","basic label-container"),x&&b.selectAll("path").attr("style",x),n&&b.selectAll("path").attr("style",n)}return b.attr("label-offset-x",y),b.attr("transform",`translate(${-m/2}, ${f/2} )`),s.attr("transform",`translate(${-a.width/2-y-(a.x-(a.left??0))}, ${-a.height/2-(a.y-(a.top??0))})`),d(e,b),e.intersect=function(t){const r=H.rect(e,t),n=r.y-(e.y??0);if(0!=g&&(Math.abs(n)<(e.height??0)/2||Math.abs(n)==(e.height??0)/2&&Math.abs(r.x-(e.x??0))>(e.width??0)/2-y)){let i=y*y*(1-n*n/(g*g));0!=i&&(i=Math.sqrt(Math.abs(i))),i=y-i,t.x-(e.x??0)>0&&(i=-i),r.x+=i}return r},i}async function oe(t,e){const{labelStyles:r,nodeStyles:n}=S(e);e.labelStyle=r;const{shapeSvg:i,bbox:a}=await c(t,e,p(e)),o=a.width+e.padding,s=a.height+e.padding,l=[{x:-3*s/6,y:0},{x:o+3*s/6,y:0},{x:o,y:-s},{x:0,y:-s}];let u;const{cssStyles:g}=e;if("handDrawn"===e.look){const t=h.A.svg(i),r=T(e,{}),n=f(l),a=t.path(n,r);u=i.insert((()=>a),":first-child").attr("transform",`translate(${-o/2}, ${s/2})`),g&&u.attr("style",g)}else u=V(i,o,s,l);return n&&u.attr("style",n),e.width=o,e.height=s,d(e,u),e.intersect=function(t){return H.polygon(e,l,t)},i}async function se(t,e){const{labelStyles:r,nodeStyles:n}=S(e);e.labelStyle=r;const{shapeSvg:i,bbox:a}=await c(t,e,p(e)),o=Math.max(60,a.width+2*(e.padding??0),e?.width??0),s=Math.max(20,a.height+2*(e.padding??0),e?.height??0),{cssStyles:l}=e,u=h.A.svg(i),g=T(e,{});"handDrawn"!==e.look&&(g.roughness=0,g.fillStyle="solid");const y=[{x:-o/2*.8,y:-s/2},{x:o/2*.8,y:-s/2},{x:o/2,y:-s/2*.6},{x:o/2,y:s/2},{x:-o/2,y:s/2},{x:-o/2,y:-s/2*.6}],m=f(y),x=u.path(m,g),b=i.insert((()=>x),":first-child");return b.attr("class","basic label-container"),l&&"handDrawn"!==e.look&&b.selectChildren("path").attr("style",l),n&&"handDrawn"!==e.look&&b.selectChildren("path").attr("style",n),d(e,b),e.intersect=function(t){return H.polygon(e,y,t)},i}async function le(t,e){const{labelStyles:r,nodeStyles:n}=S(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,label:o}=await c(t,e,p(e)),l=(0,s._3)((0,s.D7)().flowchart?.htmlLabels),u=a.width+(e.padding??0),g=u+a.height,y=u+a.height,m=[{x:0,y:0},{x:y,y:0},{x:y/2,y:-g}],{cssStyles:x}=e,b=h.A.svg(i),k=T(e,{});"handDrawn"!==e.look&&(k.roughness=0,k.fillStyle="solid");const C=f(m),w=b.path(C,k),_=i.insert((()=>w),":first-child").attr("transform",`translate(${-g/2}, ${g/2})`);return x&&"handDrawn"!==e.look&&_.selectChildren("path").attr("style",x),n&&"handDrawn"!==e.look&&_.selectChildren("path").attr("style",n),e.width=u,e.height=g,d(e,_),o.attr("transform",`translate(${-a.width/2-(a.x-(a.left??0))}, ${g/2-(a.height+(e.padding??0)/(l?2:1)-(a.y-(a.top??0)))})`),e.intersect=function(t){return s.Rm.info("Triangle intersect",e,m,t),H.polygon(e,m,t)},i}async function he(t,e){const{labelStyles:r,nodeStyles:n}=S(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,label:o}=await c(t,e,p(e)),s=Math.max(a.width+2*(e.padding??0),e?.width??0),l=Math.max(a.height+2*(e.padding??0),e?.height??0),u=l/8,y=l+u,{cssStyles:m}=e,x=70-s,b=x>0?x/2:0,k=h.A.svg(i),C=T(e,{});"handDrawn"!==e.look&&(C.roughness=0,C.fillStyle="solid");const w=[{x:-s/2-b,y:y/2},...g(-s/2-b,y/2,s/2+b,y/2,u,.8),{x:s/2+b,y:-y/2},{x:-s/2-b,y:-y/2}],_=f(w),v=k.path(_,C),A=i.insert((()=>v),":first-child");return A.attr("class","basic label-container"),m&&"handDrawn"!==e.look&&A.selectAll("path").attr("style",m),n&&"handDrawn"!==e.look&&A.selectAll("path").attr("style",n),A.attr("transform",`translate(0,${-u/2})`),o.attr("transform",`translate(${-s/2+(e.padding??0)-(a.x-(a.left??0))},${-l/2+(e.padding??0)-u-(a.y-(a.top??0))})`),d(e,A),e.intersect=function(t){return H.polygon(e,w,t)},i}async function ce(t,e){const{labelStyles:r,nodeStyles:n}=S(e);e.labelStyle=r;const{shapeSvg:i,bbox:a}=await c(t,e,p(e)),o=Math.max(a.width+2*(e.padding??0),e?.width??0),s=Math.max(a.height+2*(e.padding??0),e?.height??0),l=o/s;let u=o,y=s;u>y*l?y=u/l:u=y*l,u=Math.max(u,100),y=Math.max(y,50);const m=Math.min(.2*y,y/4),x=y+2*m,{cssStyles:b}=e,k=h.A.svg(i),C=T(e,{});"handDrawn"!==e.look&&(C.roughness=0,C.fillStyle="solid");const w=[{x:-u/2,y:x/2},...g(-u/2,x/2,u/2,x/2,m,1),{x:u/2,y:-x/2},...g(u/2,-x/2,-u/2,-x/2,m,-1)],_=f(w),v=k.path(_,C),A=i.insert((()=>v),":first-child");return A.attr("class","basic label-container"),b&&"handDrawn"!==e.look&&A.selectAll("path").attr("style",b),n&&"handDrawn"!==e.look&&A.selectAll("path").attr("style",n),d(e,A),e.intersect=function(t){return H.polygon(e,w,t)},i}async function ue(t,e){const{labelStyles:r,nodeStyles:n}=S(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,label:o}=await c(t,e,p(e)),s=Math.max(a.width+2*(e.padding??0),e?.width??0),l=Math.max(a.height+2*(e.padding??0),e?.height??0),u=-s/2,f=-l/2,{cssStyles:g}=e,y=h.A.svg(i),m=T(e,{}),x=[{x:u-5,y:f-5},{x:u-5,y:f+l},{x:u+s,y:f+l},{x:u+s,y:f-5}],b=`M${u-5},${f-5} L${u+s},${f-5} L${u+s},${f+l} L${u-5},${f+l} L${u-5},${f-5}\n M${u-5},${f} L${u+s},${f}\n M${u},${f-5} L${u},${f+l}`;"handDrawn"!==e.look&&(m.roughness=0,m.fillStyle="solid");const k=y.path(b,m),C=i.insert((()=>k),":first-child");return C.attr("transform","translate(2.5, 2.5)"),C.attr("class","basic label-container"),g&&"handDrawn"!==e.look&&C.selectAll("path").attr("style",g),n&&"handDrawn"!==e.look&&C.selectAll("path").attr("style",n),o.attr("transform",`translate(${-a.width/2+2.5-(a.x-(a.left??0))}, ${-a.height/2+2.5-(a.y-(a.top??0))})`),d(e,C),e.intersect=function(t){return H.polygon(e,x,t)},i}async function de(t,e,r,n,i=r.class.padding??12){const a=n?0:3,o=t.insert("g").attr("class",p(e)).attr("id",e.domId||e.id);let s=null,l=null,h=null,c=null,u=0,d=0,f=0;if(s=o.insert("g").attr("class","annotation-group text"),e.annotations.length>0){const t=e.annotations[0];await pe(s,{text:`«${t}»`},0),u=s.node().getBBox().height}l=o.insert("g").attr("class","label-group text"),await pe(l,e,0,["font-weight: bolder"]);const g=l.node().getBBox();d=g.height,h=o.insert("g").attr("class","members-group text");let y=0;for(const t of e.members)y+=await pe(h,t,y,[t.parseClassifier()])+a;f=h.node().getBBox().height,f<=0&&(f=i/2),c=o.insert("g").attr("class","methods-group text");let m=0;for(const t of e.methods)m+=await pe(c,t,m,[t.parseClassifier()])+a;let x=o.node().getBBox();if(null!==s){const t=s.node().getBBox();s.attr("transform",`translate(${-t.width/2})`)}return l.attr("transform",`translate(${-g.width/2}, ${u})`),x=o.node().getBBox(),h.attr("transform",`translate(0, ${u+d+2*i})`),x=o.node().getBBox(),c.attr("transform",`translate(0, ${u+d+(f?f+4*i:2*i)})`),x=o.node().getBBox(),{shapeSvg:o,bbox:x}}async function pe(t,e,r,n=[]){const i=t.insert("g").attr("class","label").attr("style",n.join("; ")),h=(0,s.zj)();let c="useHtmlLabels"in e?e.useHtmlLabels:(0,s._3)(h.htmlLabels)??!0,u="";u="text"in e?e.text:e.label,!c&&u.startsWith("\\")&&(u=u.substring(1)),(0,s.Wi)(u)&&(c=!0);const d=await(0,a.GZ)(i,(0,s.oB)((0,o.Sm)(u)),{width:(0,o.Un)(u,h)+50,classes:"markdown-node-label",useHtmlLabels:c},h);let p,f=1;if(c){const t=d.children[0],e=(0,l.Ltv)(d);f=t.innerHTML.split("
    ").length,t.innerHTML.includes("")&&(f+=t.innerHTML.split("").length-1);const r=t.getElementsByTagName("img");if(r){const t=""===u.replace(/]*>/g,"").trim();await Promise.all([...r].map((e=>new Promise((r=>{function n(){if(e.style.display="flex",e.style.flexDirection="column",t){const t=h.fontSize?.toString()??window.getComputedStyle(document.body).fontSize,r=5,n=parseInt(t,10)*r+"px";e.style.minWidth=n,e.style.maxWidth=n}else e.style.width="100%";r(e)}(0,s.K2)(n,"setupImage"),setTimeout((()=>{e.complete&&n()})),e.addEventListener("error",n),e.addEventListener("load",n)})))))}p=t.getBoundingClientRect(),e.attr("width",p.width),e.attr("height",p.height)}else{n.includes("font-weight: bolder")&&(0,l.Ltv)(d).selectAll("tspan").attr("font-weight",""),f=d.children.length;const t=d.children[0];(""===d.textContent||d.textContent.includes(">"))&&(t.textContent=u[0]+u.substring(1).replaceAll(">",">").replaceAll("<","<").trim()," "===u[1]&&(t.textContent=t.textContent[0]+" "+t.textContent.substring(1))),"undefined"===t.textContent&&(t.textContent=""),p=d.getBBox()}return i.attr("transform","translate(0,"+(-p.height/(2*f)+r)+")"),p.height}async function fe(t,e){const r=(0,s.D7)(),n=r.class.padding??12,i=n,a=e.useHtmlLabels??(0,s._3)(r.htmlLabels)??!0,o=e;o.annotations=o.annotations??[],o.members=o.members??[],o.methods=o.methods??[];const{shapeSvg:c,bbox:u}=await de(t,e,r,a,i),{labelStyles:p,nodeStyles:f}=S(e);e.labelStyle=p,e.cssStyles=o.styles||"";const g=o.styles?.join(";")||f||"";e.cssStyles||(e.cssStyles=g.replaceAll("!important","").split(";"));const y=0===o.members.length&&0===o.methods.length&&!r.class?.hideEmptyMembersBox,m=h.A.svg(c),x=T(e,{});"handDrawn"!==e.look&&(x.roughness=0,x.fillStyle="solid");const b=u.width;let k=u.height;0===o.members.length&&0===o.methods.length?k+=i:o.members.length>0&&0===o.methods.length&&(k+=2*i);const C=-b/2,w=-k/2,_=m.rectangle(C-n,w-n-(y?n:0===o.members.length&&0===o.methods.length?-n/2:0),b+2*n,k+2*n+(y?2*n:0===o.members.length&&0===o.methods.length?-n:0),x),v=c.insert((()=>_),":first-child");v.attr("class","basic label-container");const A=v.node().getBBox();c.selectAll(".text").each(((t,e,r)=>{const i=(0,l.Ltv)(r[e]),s=i.attr("transform");let h=0;if(s){const t=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(s);t&&(h=parseFloat(t[2]))}let u=h+w+n-(y?n:0===o.members.length&&0===o.methods.length?-n/2:0);a||(u-=4);let d=C;(i.attr("class").includes("label-group")||i.attr("class").includes("annotation-group"))&&(d=-i.node()?.getBBox().width/2||0,c.selectAll("text").each((function(t,e,r){"middle"===window.getComputedStyle(r[e]).textAnchor&&(d=0)}))),i.attr("transform",`translate(${d}, ${u})`)}));const M=c.select(".annotation-group").node().getBBox().height-(y?n/2:0)||0,B=c.select(".label-group").node().getBBox().height-(y?n/2:0)||0,L=c.select(".members-group").node().getBBox().height-(y?n/2:0)||0;if(o.members.length>0||o.methods.length>0||y){const t=m.line(A.x,M+B+w+n,A.x+A.width,M+B+w+n,x);c.insert((()=>t)).attr("class","divider").attr("style",g)}if(y||o.members.length>0||o.methods.length>0){const t=m.line(A.x,M+B+L+w+2*i+n,A.x+A.width,M+B+L+w+n+2*i,x);c.insert((()=>t)).attr("class","divider").attr("style",g)}if("handDrawn"!==o.look&&c.selectAll("path").attr("style",g),v.select(":nth-child(2)").attr("style",g),c.selectAll(".divider").select("path").attr("style",g),e.labelStyle?c.selectAll("span").attr("style",e.labelStyle):c.selectAll("span").attr("style",g),!a){const t=RegExp(/color\s*:\s*([^;]*)/),e=t.exec(g);if(e){const t=e[0].replace("color","fill");c.selectAll("tspan").attr("style",t)}else if(p){const e=t.exec(p);if(e){const t=e[0].replace("color","fill");c.selectAll("tspan").attr("style",t)}}}return d(e,v),e.intersect=function(t){return H.rect(e,t)},c}(0,s.K2)(ae,"tiltedCylinder"),(0,s.K2)(oe,"trapezoid"),(0,s.K2)(se,"trapezoidalPentagon"),(0,s.K2)(le,"triangle"),(0,s.K2)(he,"waveEdgedRectangle"),(0,s.K2)(ce,"waveRectangle"),(0,s.K2)(ue,"windowPane"),(0,s.K2)(de,"textHelper"),(0,s.K2)(pe,"addText"),(0,s.K2)(fe,"classBox");var ge=(0,s.K2)((t=>{switch(t){case"Very High":return"red";case"High":return"orange";case"Medium":return null;case"Low":return"blue";case"Very Low":return"lightblue"}}),"colorFromPriority");async function ye(t,e,{config:r}){const{labelStyles:n,nodeStyles:i}=S(e);e.labelStyle=n||"";const a=e.width;e.width=(e.width??200)-10;const{shapeSvg:o,bbox:s,label:l}=await c(t,e,p(e)),f=e.padding||10;let g,y="";"ticket"in e&&e.ticket&&r?.kanban?.ticketBaseUrl&&(y=r?.kanban?.ticketBaseUrl.replace("#TICKET#",e.ticket),g=o.insert("svg:a",":first-child").attr("class","kanban-ticket-link").attr("xlink:href",y).attr("target","_blank"));const m={useHtmlLabels:e.useHtmlLabels,labelStyle:e.labelStyle||"",width:e.width,img:e.img,padding:e.padding||8,centerLabel:!1};let x,b;({label:x,bbox:b}=g?await u(g,"ticket"in e&&e.ticket||"",m):await u(o,"ticket"in e&&e.ticket||"",m));const{label:k,bbox:w}=await u(o,"assigned"in e&&e.assigned||"",m);e.width=a;const _=e?.width||0,v=Math.max(b.height,w.height)/2,A=Math.max(s.height+20,e?.height||0)+v,M=-_/2,B=-A/2;let L;l.attr("transform","translate("+(f-_/2)+", "+(-v-s.height/2)+")"),x.attr("transform","translate("+(f-_/2)+", "+(-v+s.height/2)+")"),k.attr("transform","translate("+(f+_/2-w.width-20)+", "+(-v+s.height/2)+")");const{rx:F,ry:$}=e,{cssStyles:E}=e;if("handDrawn"===e.look){const t=h.A.svg(o),r=T(e,{}),n=F||$?t.path(C(M,B,_,A,F||0),r):t.rectangle(M,B,_,A,r);L=o.insert((()=>n),":first-child"),L.attr("class","basic label-container").attr("style",E||null)}else{L=o.insert("rect",":first-child"),L.attr("class","basic label-container __APA__").attr("style",i).attr("rx",F??5).attr("ry",$??5).attr("x",M).attr("y",B).attr("width",_).attr("height",A);const t="priority"in e&&e.priority;if(t){const e=o.append("line"),r=M+2,n=B+Math.floor((F??0)/2),i=B+A-Math.floor((F??0)/2);e.attr("x1",r).attr("y1",n).attr("x2",r).attr("y2",i).attr("stroke-width","4").attr("stroke",ge(t))}}return d(e,L),e.height=A,e.intersect=function(t){return H.rect(e,t)},o}(0,s.K2)(ye,"kanbanItem");var me=[{semanticName:"Process",name:"Rectangle",shortName:"rect",description:"Standard process shape",aliases:["proc","process","rectangle"],internalAliases:["squareRect"],handler:Yt},{semanticName:"Event",name:"Rounded Rectangle",shortName:"rounded",description:"Represents an event",aliases:["event"],internalAliases:["roundedRect"],handler:Wt},{semanticName:"Terminal Point",name:"Stadium",shortName:"stadium",description:"Terminal point",aliases:["terminal","pill"],handler:Gt},{semanticName:"Subprocess",name:"Framed Rectangle",shortName:"fr-rect",description:"Subprocess",aliases:["subprocess","subproc","framed-rectangle","subroutine"],handler:Qt},{semanticName:"Database",name:"Cylinder",shortName:"cyl",description:"Database storage",aliases:["db","database","cylinder"],handler:ut},{semanticName:"Start",name:"Circle",shortName:"circle",description:"Starting point",aliases:["circ"],handler:Q},{semanticName:"Decision",name:"Diamond",shortName:"diam",description:"Decision-making step",aliases:["decision","diamond","question"],handler:zt},{semanticName:"Prepare Conditional",name:"Hexagon",shortName:"hex",description:"Preparation or condition step",aliases:["hexagon","prepare"],handler:bt},{semanticName:"Data Input/Output",name:"Lean Right",shortName:"lean-r",description:"Represents input or output",aliases:["lean-right","in-out"],internalAliases:["lean_right"],handler:Lt},{semanticName:"Data Input/Output",name:"Lean Left",shortName:"lean-l",description:"Represents output or input",aliases:["lean-left","out-in"],internalAliases:["lean_left"],handler:Bt},{semanticName:"Priority Action",name:"Trapezoid Base Bottom",shortName:"trap-b",description:"Priority action",aliases:["priority","trapezoid-bottom","trapezoid"],handler:oe},{semanticName:"Manual Operation",name:"Trapezoid Base Top",shortName:"trap-t",description:"Represents a manual task",aliases:["manual","trapezoid-top","inv-trapezoid"],internalAliases:["inv_trapezoid"],handler:Tt},{semanticName:"Stop",name:"Double Circle",shortName:"dbl-circ",description:"Represents a stop point",aliases:["double-circle"],internalAliases:["doublecircle"],handler:pt},{semanticName:"Text Block",name:"Text Block",shortName:"text",description:"Text block",handler:ee},{semanticName:"Card",name:"Notched Rectangle",shortName:"notch-rect",description:"Represents a card",aliases:["card","notched-rectangle"],handler:Z},{semanticName:"Lined/Shaded Process",name:"Lined Rectangle",shortName:"lin-rect",description:"Lined process shape",aliases:["lined-rectangle","lined-process","lin-proc","shaded-process"],handler:Ht},{semanticName:"Start",name:"Small Circle",shortName:"sm-circ",description:"Small starting point",aliases:["start","small-circle"],internalAliases:["stateStart"],handler:Xt},{semanticName:"Stop",name:"Framed Circle",shortName:"fr-circ",description:"Stop point",aliases:["stop","framed-circle"],internalAliases:["stateEnd"],handler:Zt},{semanticName:"Fork/Join",name:"Filled Rectangle",shortName:"fork",description:"Fork or join in process flow",aliases:["join"],internalAliases:["forkJoin"],handler:yt},{semanticName:"Collate",name:"Hourglass",shortName:"hourglass",description:"Represents a collate operation",aliases:["hourglass","collate"],handler:kt},{semanticName:"Comment",name:"Curly Brace",shortName:"brace",description:"Adds a comment",aliases:["comment","brace-l"],handler:rt},{semanticName:"Comment Right",name:"Curly Brace",shortName:"brace-r",description:"Adds a comment",handler:it},{semanticName:"Comment with braces on both sides",name:"Curly Braces",shortName:"braces",description:"Adds a comment",handler:ot},{semanticName:"Com Link",name:"Lightning Bolt",shortName:"bolt",description:"Communication link",aliases:["com-link","lightning-bolt"],handler:Ft},{semanticName:"Document",name:"Document",shortName:"doc",description:"Represents a document",aliases:["doc","document"],handler:he},{semanticName:"Delay",name:"Half-Rounded Rectangle",shortName:"delay",description:"Represents a delay",aliases:["half-rounded-rectangle"],handler:mt},{semanticName:"Direct Access Storage",name:"Horizontal Cylinder",shortName:"h-cyl",description:"Direct access storage",aliases:["das","horizontal-cylinder"],handler:ae},{semanticName:"Disk Storage",name:"Lined Cylinder",shortName:"lin-cyl",description:"Disk storage",aliases:["disk","lined-cylinder"],handler:Ot},{semanticName:"Display",name:"Curved Trapezoid",shortName:"curv-trap",description:"Represents a display",aliases:["curved-trapezoid","display"],handler:st},{semanticName:"Divided Process",name:"Divided Rectangle",shortName:"div-rect",description:"Divided process shape",aliases:["div-proc","divided-rectangle","divided-process"],handler:dt},{semanticName:"Extract",name:"Triangle",shortName:"tri",description:"Extraction process",aliases:["extract","triangle"],handler:le},{semanticName:"Internal Storage",name:"Window Pane",shortName:"win-pane",description:"Internal storage",aliases:["internal-storage","window-pane"],handler:ue},{semanticName:"Junction",name:"Filled Circle",shortName:"f-circ",description:"Junction point",aliases:["junction","filled-circle"],handler:ft},{semanticName:"Loop Limit",name:"Trapezoidal Pentagon",shortName:"notch-pent",description:"Loop limit step",aliases:["loop-limit","notched-pentagon"],handler:se},{semanticName:"Manual File",name:"Flipped Triangle",shortName:"flip-tri",description:"Manual file operation",aliases:["manual-file","flipped-triangle"],handler:gt},{semanticName:"Manual Input",name:"Sloped Rectangle",shortName:"sl-rect",description:"Manual input step",aliases:["manual-input","sloped-rectangle"],handler:Ut},{semanticName:"Multi-Document",name:"Stacked Document",shortName:"docs",description:"Multiple documents",aliases:["documents","st-doc","stacked-document"],handler:Rt},{semanticName:"Multi-Process",name:"Stacked Rectangle",shortName:"st-rect",description:"Multiple processes",aliases:["procs","processes","stacked-rectangle"],handler:Nt},{semanticName:"Stored Data",name:"Bow Tie Rectangle",shortName:"bow-rect",description:"Stored data",aliases:["stored-data","bow-tie-rectangle"],handler:G},{semanticName:"Summary",name:"Crossed Circle",shortName:"cross-circ",description:"Summary",aliases:["summary","crossed-circle"],handler:tt},{semanticName:"Tagged Document",name:"Tagged Document",shortName:"tag-doc",description:"Tagged document",aliases:["tag-doc","tagged-document"],handler:te},{semanticName:"Tagged Process",name:"Tagged Rectangle",shortName:"tag-rect",description:"Tagged process",aliases:["tagged-rectangle","tag-proc","tagged-process"],handler:Jt},{semanticName:"Paper Tape",name:"Flag",shortName:"flag",description:"Paper tape",aliases:["paper-tape"],handler:ce},{semanticName:"Odd",name:"Odd",shortName:"odd",description:"Odd shape",internalAliases:["rect_left_inv_arrow"],handler:qt},{semanticName:"Lined Document",name:"Lined Document",shortName:"lin-doc",description:"Lined document",aliases:["lined-document"],handler:It}],xe=(0,s.K2)((()=>{const t={state:Vt,choice:X,note:Pt,rectWithTitle:jt,labelRect:Mt,iconSquare:vt,iconCircle:wt,icon:Ct,iconRounded:_t,imageSquare:St,anchor:U,kanbanItem:ye,classBox:fe},e=[...Object.entries(t),...me.flatMap((t=>[t.shortName,..."aliases"in t?t.aliases:[],..."internalAliases"in t?t.internalAliases:[]].map((e=>[e,t.handler]))))];return Object.fromEntries(e)}),"generateShapeMap")();function be(t){return t in xe}(0,s.K2)(be,"isValidShape");var ke=new Map;async function Ce(t,e,r){let n,i;"rect"===e.shape&&(e.rx&&e.ry?e.shape="roundedRect":e.shape="squareRect");const a=e.shape?xe[e.shape]:void 0;if(!a)throw new Error(`No such shape: ${e.shape}. Please check your syntax.`);if(e.link){let o;"sandbox"===r.config.securityLevel?o="_top":e.linkTarget&&(o=e.linkTarget||"_blank"),n=t.insert("svg:a").attr("xlink:href",e.link).attr("target",o??null),i=await a(n,e,r)}else i=await a(t,e,r),n=i;return e.tooltip&&i.attr("title",e.tooltip),ke.set(e.id,n),e.haveCallback&&n.attr("class",n.attr("class")+" clickable"),n}(0,s.K2)(Ce,"insertNode");var we=(0,s.K2)(((t,e)=>{ke.set(e.id,t)}),"setNodeElem"),_e=(0,s.K2)((()=>{ke.clear()}),"clear"),ve=(0,s.K2)((t=>{const e=ke.get(t.id);s.Rm.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");const r=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+r-t.width/2)+", "+(t.y-t.height/2-8)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),r}),"positionNode")},7308:(t,e,r)=>{"use strict";r.d(e,{XX:()=>c,q7:()=>u,sO:()=>h});var n=r(7938),i=r(1282),a=r(8159),o=r(9502),s={common:o.Y2,getConfig:o.zj,insertCluster:i.U,insertEdge:n.Jo,insertEdgeLabel:n.jP,insertMarkers:n.g0,insertNode:i.on,interpolateToCurve:a.Ib,labelHelper:i.Zk,log:o.Rm,positionEdgeLabel:n.T_},l={},h=(0,o.K2)((t=>{for(const e of t)l[e.name]=e}),"registerLayoutLoaders");(0,o.K2)((()=>{h([{name:"dagre",loader:(0,o.K2)((async()=>await Promise.all([r.e(164),r.e(567),r.e(12)]).then(r.bind(r,9012))),"loader")}])}),"registerDefaultLayoutLoaders")();var c=(0,o.K2)((async(t,e)=>{if(!(t.layoutAlgorithm in l))throw new Error(`Unknown layout algorithm: ${t.layoutAlgorithm}`);const r=l[t.layoutAlgorithm];return(await r.loader()).render(t,e,s,{algorithm:r.algorithm})}),"render"),u=(0,o.K2)(((t="",{fallback:e="dagre"}={})=>{if(t in l)return t;if(e in l)return o.Rm.warn(`Layout algorithm ${t} is not registered. Using ${e} as fallback.`),e;throw new Error(`Both layout algorithms ${t} and ${e} are not registered.`)}),"getRegisteredLayoutAlgorithm")},7286:(t,e,r)=>{"use strict";r.d(e,{D:()=>a});var n=r(9502),i=r(4852),a=(0,n.K2)((t=>{const{securityLevel:e}=(0,n.D7)();let r=(0,i.Ltv)("body");if("sandbox"===e){const e=(0,i.Ltv)(`#i${t}`),n=e.node()?.contentDocument??document;r=(0,i.Ltv)(n.body)}return r.select(`#${t}`)}),"selectSvgElement")},6144:(t,e,r)=>{"use strict";r.d(e,{r:()=>n});var n="11.4.1"},1099:(t,e,r)=>{"use strict";r.d(e,{WY:()=>v,pC:()=>w,Gc:()=>b});var n=r(9502);const i=(t,e)=>!!t&&!(!(e&&""===t.prefix||t.prefix)||!t.name),a=Object.freeze({left:0,top:0,width:16,height:16}),o=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),s=Object.freeze({...a,...o}),l=Object.freeze({...s,body:"",hidden:!1});function h(t,e){const r=function(t,e){const r={};!t.hFlip!=!e.hFlip&&(r.hFlip=!0),!t.vFlip!=!e.vFlip&&(r.vFlip=!0);const n=((t.rotate||0)+(e.rotate||0))%4;return n&&(r.rotate=n),r}(t,e);for(const n in l)n in o?n in t&&!(n in r)&&(r[n]=o[n]):n in e?r[n]=e[n]:n in t&&(r[n]=t[n]);return r}function c(t,e,r){const n=t.icons,i=t.aliases||Object.create(null);let a={};function o(t){a=h(n[t]||i[t],a)}return o(e),r.forEach(o),h(t,a)}const u=Object.freeze({width:null,height:null}),d=Object.freeze({...u,...o}),p=/(-?[0-9.]*[0-9]+[0-9.]*)/g,f=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function g(t,e,r){if(1===e)return t;if(r=r||100,"number"==typeof t)return Math.ceil(t*e*r)/r;if("string"!=typeof t)return t;const n=t.split(p);if(null===n||!n.length)return t;const i=[];let a=n.shift(),o=f.test(a);for(;;){if(o){const t=parseFloat(a);isNaN(t)?i.push(a):i.push(Math.ceil(t*e*r)/r)}else i.push(a);if(a=n.shift(),void 0===a)return i.join("");o=!o}}const y=/\sid="(\S+)"/g,m="IconifyId"+Date.now().toString(16)+(16777216*Math.random()|0).toString(16);let x=0;var b={body:'?',height:80,width:80},k=new Map,C=new Map,w=(0,n.K2)((t=>{for(const e of t){if(!e.name)throw new Error('Invalid icon loader. Must have a "name" property with non-empty string value.');if(n.Rm.debug("Registering icon pack:",e.name),"loader"in e)C.set(e.name,e.loader);else{if(!("icons"in e))throw n.Rm.error("Invalid icon loader:",e),new Error('Invalid icon loader. Must have either "icons" or "loader" property.');k.set(e.name,e.icons)}}}),"registerIconPacks"),_=(0,n.K2)((async(t,e)=>{const r=((t,e,r,n="")=>{const a=t.split(":");if("@"===t.slice(0,1)){if(a.length<2||a.length>3)return null;n=a.shift().slice(1)}if(a.length>3||!a.length)return null;if(a.length>1){const t=a.pop(),r=a.pop(),o={provider:a.length>0?a[0]:n,prefix:r,name:t};return e&&!i(o)?null:o}const o=a[0],s=o.split("-");if(s.length>1){const t={provider:n,prefix:s.shift(),name:s.join("-")};return e&&!i(t)?null:t}if(r&&""===n){const t={provider:n,prefix:"",name:o};return e&&!i(t,r)?null:t}return null})(t,!0,void 0!==e);if(!r)throw new Error(`Invalid icon name: ${t}`);const a=r.prefix||e;if(!a)throw new Error(`Icon name must contain a prefix: ${t}`);let o=k.get(a);if(!o){const t=C.get(a);if(!t)throw new Error(`Icon set not found: ${r.prefix}`);try{o={...await t(),prefix:a},k.set(a,o)}catch(t){throw n.Rm.error(t),new Error(`Failed to load icon set: ${r.prefix}`)}}const s=function(t,e){if(t.icons[e])return c(t,e,[]);const r=function(t,e){const r=t.icons,n=t.aliases||Object.create(null),i=Object.create(null);return(e||Object.keys(r).concat(Object.keys(n))).forEach((function t(e){if(r[e])return i[e]=[];if(!(e in i)){i[e]=null;const r=n[e]&&n[e].parent,a=r&&t(r);a&&(i[e]=[r].concat(a))}return i[e]})),i}(t,[e])[e];return r?c(t,e,r):null}(o,r.name);if(!s)throw new Error(`Icon not found: ${t}`);return s}),"getRegisteredIconData"),v=(0,n.K2)((async(t,e)=>{let r;try{r=await _(t,e?.fallbackPrefix)}catch(t){n.Rm.error(t),r=b}const i=function(t,e){const r={...s,...t},n={...d,...e},i={left:r.left,top:r.top,width:r.width,height:r.height};let a=r.body;[r,n].forEach((t=>{const e=[],r=t.hFlip,n=t.vFlip;let o,s=t.rotate;switch(r?n?s+=2:(e.push("translate("+(i.width+i.left).toString()+" "+(0-i.top).toString()+")"),e.push("scale(-1 1)"),i.top=i.left=0):n&&(e.push("translate("+(0-i.left).toString()+" "+(i.height+i.top).toString()+")"),e.push("scale(1 -1)"),i.top=i.left=0),s<0&&(s-=4*Math.floor(s/4)),s%=4,s){case 1:o=i.height/2+i.top,e.unshift("rotate(90 "+o.toString()+" "+o.toString()+")");break;case 2:e.unshift("rotate(180 "+(i.width/2+i.left).toString()+" "+(i.height/2+i.top).toString()+")");break;case 3:o=i.width/2+i.left,e.unshift("rotate(-90 "+o.toString()+" "+o.toString()+")")}s%2==1&&(i.left!==i.top&&(o=i.left,i.left=i.top,i.top=o),i.width!==i.height&&(o=i.width,i.width=i.height,i.height=o)),e.length&&(a=function(t,e){const r=function(t,e="defs"){let r="";const n=t.indexOf("<"+e);for(;n>=0;){const i=t.indexOf(">",n),a=t.indexOf("",a);if(-1===o)break;r+=t.slice(i+1,a).trim(),t=t.slice(0,n).trim()+t.slice(o+1)}return{defs:r,content:t}}(t);return n=r.defs,i=e+r.content+"
  3. 3ryELNsSvtMDSVpeFU1H;wfn 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 literal 0 HcmV?d00001 diff --git a/docs/hugo/public/images/multisite-interaction.png b/docs/hugo/public/images/multisite-interaction.png new file mode 100644 index 0000000000000000000000000000000000000000..10b4c6f1ef18f01c393cc2ca23fbd9eac4f4c2fc GIT binary patch literal 38838 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 tgti>|-(=<$1o~eUQb0K2zl`t4*okV_ba3?P + \ No newline at end of file diff --git a/docs/hugo/public/img/geekdoc-stack.svg b/docs/hugo/public/img/geekdoc-stack.svg new file mode 100644 index 000000000..64aebb70c --- /dev/null +++ b/docs/hugo/public/img/geekdoc-stack.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/hugo/public/index.html b/docs/hugo/public/index.html new file mode 100644 index 000000000..e1c51483e --- /dev/null +++ b/docs/hugo/public/index.html @@ -0,0 +1,5040 @@ + + + + + + + + + + + + CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/hugo/public/index.xml b/docs/hugo/public/index.xml new file mode 100644 index 000000000..0f9a402a1 --- /dev/null +++ b/docs/hugo/public/index.xml @@ -0,0 +1,187 @@ + + + + CPO (CYBERTEC-PG-Operator) on CYBERTEC-PG-Operator + http://localhost:1313/CYBERTEC-pg-operator/ + Recent content in CPO (CYBERTEC-PG-Operator) on CYBERTEC-PG-Operator + Hugo + en + Mon, 11 Mar 2024 14:26:51 +0100 + + + Introduction + http://localhost:1313/CYBERTEC-pg-operator/backup/introduction/ + Thu, 28 Dec 2023 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/backup/introduction/ + <p>Backups are essential for databases. From broken storage to deployments gone wrong, backups often save the day. Starting with pg_dump, which was released in the late 1990s, to the archiving of WAL files (PostgreSQL 8.0 / 2005) and pg_basebackup (PostgreSQL 9.0 / 2010), PostgreSQL already offers built-in options for backups and restores based on logical and physical backups.</p> <div class="flex align-center gdoc-page__anchorwrap"> <h3 id="backups-with-pgbackrest" > Backups with pgBackRest </h3> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/backup/introduction/#backups-with-pgbackrest" class="gdoc-page__anchor clip flex align-center" title="Anchor to: Backups with pgBackRest" aria-label="Anchor to: Backups with pgBackRest" href="#backups-with-pgbackrest"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <p>CPO relies on <a class="gdoc-markdown__link" href="www.pgbackrest.org" >pgBackRest</a> as its backup solution, a tried-and-tested tool with extensive backup and restore options. The backup is based on two elements:</p> + + + Sidecars + http://localhost:1313/CYBERTEC-pg-operator/customize_cluster/sidecars/ + Thu, 28 Dec 2023 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/customize_cluster/sidecars/ + <p>Starting with the Single-Node-Cluster from the previous section, we want to modify the Instance a bit to see.</p> <div class="flex align-center gdoc-page__anchorwrap"> <h2 id="cpu-and-memory" > CPU and Memory </h2> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/customize_cluster/sidecars/#cpu-and-memory" class="gdoc-page__anchor clip flex align-center" title="Anchor to: CPU and Memory" aria-label="Anchor to: CPU and Memory" href="#cpu-and-memory"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <pre tabindex="0"><code>spec: resources: limits: cpu: 1000m memory: 500Mi requests: cpu: 500m memory: 500mi </code></pre><p>Based on the ressources-Definiton we&rsquo;re able to modify the reserved Hardware (requests) and the limits, which allows use to consume more than the reserved definitons if the k8s-worker has this hardware available. There are some Restrictions when modifiying the limits-section. Because of the behaviour of Databases we should never define a diff between requests.memory and limits.memory. A Database is after some time using all available Memory, for Cache and other things. Limits are optional and the worker node can force them back. forcing back memory will create big problems inside a database like creating corruption, forcing OutOfMemory-Killer and so on. CPU on the other side is a ressource we can use inside the limits definiton to allow our database using more cpu if needed and available.</p> + + + via Blockstorage (pvc) + http://localhost:1313/CYBERTEC-pg-operator/backup/pvc/ + Thu, 28 Dec 2023 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/backup/pvc/ + <div class="flex align-center gdoc-page__anchorwrap"> <h3 id="backups-on-pvc-persistentvolumeclaim" > Backups on PVC (PersistentVolumeClaim) </h3> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/backup/pvc/#backups-on-pvc-persistentvolumeclaim" class="gdoc-page__anchor clip flex align-center" title="Anchor to: Backups on PVC (PersistentVolumeClaim)" aria-label="Anchor to: Backups on PVC (PersistentVolumeClaim)" href="#backups-on-pvc-persistentvolumeclaim"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <p>When using block storage, the operator creates an additional pod that acts as a repo host. Based on a TLS connection, the repo host obtains the data for the Backup from the current primary of the cluster, which is compressed before being sent. WAL archives are pushed from the primary pod to the repo host.</p> + + + via S3 + http://localhost:1313/CYBERTEC-pg-operator/backup/aws/ + Thu, 28 Dec 2023 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/backup/aws/ + <p>This chapter describes the use of pgBackRest in combination with with AWS S3 or S3-compatible storage such as MinIO, Cloudian HyperStore or SwiftStack. It is not absolutely necessary to operate a Kubernetes on the AWS Cloud Platform. However, as with any cloud storage, the efficiency and therefore the duration of a backup depends on the connection.</p> <p>This Chapter will use AWS S3 for the example, the usage of different s3-compatible Storage is similiar.</p> + + + Software-Components + http://localhost:1313/CYBERTEC-pg-operator/architecture/compontens/ + Tue, 07 Mar 2023 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/architecture/compontens/ + <p>Various software components are used to operate CPO. This chapter lists the most important components and their respective purposes.</p> <p>Basically, the CPO project focusses on the main tasks of each individual component. This means that each component does what it does best and only that. In addition to reliable operation, this should also ensure efficient development and project management that utilises existing approaches rather than fighting against them.</p> <div class="flex align-center gdoc-page__anchorwrap"> <h3 id="1-cybertec-pg-operator" > 1. CYBERTEC-pg-operator </h3> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/architecture/compontens/#1-cybertec-pg-operator" class="gdoc-page__anchor clip flex align-center" title="Anchor to: 1. CYBERTEC-pg-operator" aria-label="Anchor to: 1. CYBERTEC-pg-operator" href="#1-cybertec-pg-operator"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <p>The CYBERTEC-pg-operator is a Kubernetes operator that automates the operation and management of PostgreSQL databases on Kubernetes clusters. It facilitates the provisioning, scaling, backup and recovery of PostgreSQL clusters and integrates tools such as Patroni and pgBackRest for high availability and backup management.</p> + + + Additional Volumes + http://localhost:1313/CYBERTEC-pg-operator/customize_cluster/additional-volumes/ + Thu, 28 Dec 2023 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/customize_cluster/additional-volumes/ + <pre tabindex="0"><code> additionalVolumes: - name: empty mountPath: /opt/empty targetContainers: - all volumeSource: emptyDir: {} # - name: data # mountPath: /home/postgres/pgdata/partitions # targetContainers: # - postgres # volumeSource: # PersistentVolumeClaim: # claimName: pvc-postgresql-data-partitions # readyOnly: false # - name: conf # mountPath: /etc/telegraf # subPath: telegraf.conf # targetContainers: # - telegraf-sidecar # volumeSource: # configMap: # name: my-config-map </code></pre> + + + via GCS + http://localhost:1313/CYBERTEC-pg-operator/backup/gcs/ + Thu, 28 Dec 2023 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/backup/gcs/ + <p>This chapter describes the use of pgBackRest in combination with Google Cloud Storage (gcs). It is not absolutely necessary to operate a Kubernetes on the Google Cloud Platform. However, as with any cloud storage, the efficiency and therefore the duration of a backup depends on the connection.</p> <blockquote class="gdoc-hint important"> <div class="gdoc-hint__title flex align-center"><i class="fa important" title="Important"></i></div> <div class="gdoc-hint__text">Precondition: a gcs-bucket and a priviledged role is needed for this chapter.</div> </blockquote> <div class="flex align-center gdoc-page__anchorwrap"> <h3 id="create-a-gcs-bucket-on-the-google-cloud-console" > Create a gcs-bucket on the google cloud console </h3> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/backup/gcs/#create-a-gcs-bucket-on-the-google-cloud-console" class="gdoc-page__anchor clip flex align-center" title="Anchor to: Create a gcs-bucket on the google cloud console" aria-label="Anchor to: Create a gcs-bucket on the google cloud console" href="#create-a-gcs-bucket-on-the-google-cloud-console"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <div class="flex align-center gdoc-page__anchorwrap"> <h3 id="create-a-priviledged-service-role" > Create a priviledged service-role </h3> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/backup/gcs/#create-a-priviledged-service-role" class="gdoc-page__anchor clip flex align-center" title="Anchor to: Create a priviledged service-role" aria-label="Anchor to: Create a priviledged service-role" href="#create-a-priviledged-service-role"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <div class="flex align-center gdoc-page__anchorwrap"> <h3 id="modifying-the-cluster" > Modifying the Cluster </h3> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/backup/gcs/#modifying-the-cluster" class="gdoc-page__anchor clip flex align-center" title="Anchor to: Modifying the Cluster" aria-label="Anchor to: Modifying the Cluster" href="#modifying-the-cluster"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <p>As soon as all requirements are met:</p> + + + Rolling-Updates + http://localhost:1313/CYBERTEC-pg-operator/architecture/rolling_update/ + Tue, 07 Mar 2023 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/architecture/rolling_update/ + <p>Whether updating the minor version, changing the hardware definitions of the cluster or other adjustments that require a pod restart, CPO ensures that the update is as uninterrupted as possible.</p> <p>This means that adjustments are carried out on the various pods of a particular cluster one after the other and in a sensible sequence. This happens as soon as a cluster consists of more than 1 PostgreSQL node.</p> <p>In the event of a necessary restart, the operator independently stops the pods and does not leave this to Kubernetes. The idea behind this is that all replica pods are restarted one after the other first. The operator recognises these by the label cpo.opensource.cybertec.at/role=replica set by Patroni</p> + + + via Azure-Blob + http://localhost:1313/CYBERTEC-pg-operator/backup/azure_blob/ + Thu, 28 Dec 2023 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/backup/azure_blob/ + <p>This chapter describes the use of pgBackRest in combination with Azure Blob Storage. It is not absolutely necessary to operate a Kubernetes on the Azure Cloud Platform. However, as with any cloud storage, the efficiency and therefore the duration of a backup depends on the connection.</p> <blockquote class="gdoc-hint important"> <div class="gdoc-hint__title flex align-center"><i class="fa important" title="Important"></i></div> <div class="gdoc-hint__text">Precondition: a blob-storage-volume and a priviledged role is needed for this chapter.</div> </blockquote> <div class="flex align-center gdoc-page__anchorwrap"> <h3 id="create-a-blob-storage-volume-on-the-azure-console" > Create a blob-storage-volume on the Azure console </h3> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/backup/azure_blob/#create-a-blob-storage-volume-on-the-azure-console" class="gdoc-page__anchor clip flex align-center" title="Anchor to: Create a blob-storage-volume on the Azure console" aria-label="Anchor to: Create a blob-storage-volume on the Azure console" href="#create-a-blob-storage-volume-on-the-azure-console"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <div class="flex align-center gdoc-page__anchorwrap"> <h3 id="create-a-priviledged-service-role" > Create a priviledged service-role </h3> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/backup/azure_blob/#create-a-priviledged-service-role" class="gdoc-page__anchor clip flex align-center" title="Anchor to: Create a priviledged service-role" aria-label="Anchor to: Create a priviledged service-role" href="#create-a-priviledged-service-role"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <div class="flex align-center gdoc-page__anchorwrap"> <h3 id="modifying-the-cluster" > Modifying the Cluster </h3> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/backup/azure_blob/#modifying-the-cluster" class="gdoc-page__anchor clip flex align-center" title="Anchor to: Modifying the Cluster" aria-label="Anchor to: Modifying the Cluster" href="#modifying-the-cluster"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <p>As soon as all requirements are met:</p> + + + Encrypted Backups + http://localhost:1313/CYBERTEC-pg-operator/backup/encryption/ + Thu, 28 Dec 2023 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/backup/encryption/ + <p>pgBackRest also allows you to encrypt your backups on the client side before uploading them. This is possible with any type of storage and is very easy to activate.</p> <p>Firstly, we need to define an encryption key. This must be specified separately for each repo and stored in the same secret that is defined in the <code>spec.backup.pgbackrest.configuration.secret</code> object.</p> <pre tabindex="0"><code>kind: Secret apiVersion: v1 metadata: name: cluster-1-s3-credential namespace: cpo stringData: s3.conf | [global] repo1-s3-key=YOUR_S3_KEY repo1-s3-key-secret=YOUR_S3_KEY_SECRET repo1-cipher-pass=YOUR_ENCRYPTION_KEY </code></pre><p>We also need to configure the type of encryption for pgBackRest. This is done via the cipher-type parameter, which must also be specified for each repo. You can find the available values for the parameter <a class="gdoc-markdown__link" href="https://pgbackrest.org/configuration.html#section-repository/option-repo-cipher-type" >here</a></p> + + + Check/Monitor Backups + http://localhost:1313/CYBERTEC-pg-operator/backup/check_backups/ + Thu, 28 Dec 2023 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/backup/check_backups/ + <p>There are several ways to gain an insight into the current status of pgBackRest. One of these is to use pgBackRest within the container. This can be done both via the repo host and the Postgres pod.</p> <div class="flex align-center gdoc-page__anchorwrap"> <h3 id="pgbackrest-via-terminal-repo-host-pod" > pgbackrest via terminal (Repo-Host-Pod) </h3> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/backup/check_backups/#pgbackrest-via-terminal-repo-host-pod" class="gdoc-page__anchor clip flex align-center" title="Anchor to: pgbackrest via terminal (Repo-Host-Pod)" aria-label="Anchor to: pgbackrest via terminal (Repo-Host-Pod)" href="#pgbackrest-via-terminal-repo-host-pod"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <pre tabindex="0"><code>kubectl exec cluster-5-pgbackrest-repo-host-0 --stdin --tty -- pgbackrest info stanza: db status: ok cipher: none db (current) wal archive min/max (16): 00000006000000000000005C/000000070000000000000092 full backup: 20240517-125730F timestamp start/stop: 2024-05-17 12:57:30+00 / 2024-05-17 12:57:41+00 wal start/stop: 00000007000000000000005E / 00000007000000000000005E database size: 22.9MB, database backup size: 22.9MB repo1: backup set size: 3MB, backup size: 3MB incr backup: 20240517-125730F_20240517-130003I timestamp start/stop: 2024-05-17 13:00:03+00 / 2024-05-17 13:00:05+00 wal start/stop: 000000070000000000000060 / 000000070000000000000060 database size: 22.9MB, database backup size: 904.3KB repo1: backup set size: 3MB, backup size: 149.4KB backup reference list: 20240517-125730F incr backup: 20240517-125730F_20240517-131503I timestamp start/stop: 2024-05-17 13:15:03+00 / 2024-05-17 13:15:04+00 wal start/stop: 000000070000000000000062 / 000000070000000000000062 database size: 22.9MB, database backup size: 24.3KB repo1: backup set size: 3MB, backup size: 2.9KB backup reference list: 20240517-125730F, 20240517-125730F_20240517-130003I </code></pre><div class="flex align-center gdoc-page__anchorwrap"> <h3 id="pgbackrest-via-terminal-postgres-pod" > pgbackrest via terminal (Postgres-Pod) </h3> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/backup/check_backups/#pgbackrest-via-terminal-postgres-pod" class="gdoc-page__anchor clip flex align-center" title="Anchor to: pgbackrest via terminal (Postgres-Pod)" aria-label="Anchor to: pgbackrest via terminal (Postgres-Pod)" href="#pgbackrest-via-terminal-postgres-pod"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <pre tabindex="0"><code>kubectl exec cluster-5-0 --stdin --tty -- pgbackrest info Defaulted container &#34;postgres&#34; out of: postgres, postgres-exporter, pgbackrest-restore (init) stanza: db status: ok cipher: none db (current) wal archive min/max (16): 00000006000000000000005C/000000070000000000000092 full backup: 20240517-125730F timestamp start/stop: 2024-05-17 12:57:30+00 / 2024-05-17 12:57:41+00 wal start/stop: 00000007000000000000005E / 00000007000000000000005E database size: 22.9MB, database backup size: 22.9MB repo1: backup set size: 3MB, backup size: 3MB incr backup: 20240517-125730F_20240517-130003I timestamp start/stop: 2024-05-17 13:00:03+00 / 2024-05-17 13:00:05+00 wal start/stop: 000000070000000000000060 / 000000070000000000000060 database size: 22.9MB, database backup size: 904.3KB repo1: backup set size: 3MB, backup size: 149.4KB backup reference list: 20240517-125730F incr backup: 20240517-125730F_20240517-131503I timestamp start/stop: 2024-05-17 13:15:03+00 / 2024-05-17 13:15:04+00 wal start/stop: 000000070000000000000062 / 000000070000000000000062 database size: 22.9MB, database backup size: 24.3KB repo1: backup set size: 3MB, backup size: 2.9KB backup reference list: 20240517-125730F, 20240517-125730F_20240517-130003I </code></pre><p>There is the &ldquo;normal&rdquo; output, as well as the output format Json, which can be processed directly in the terminal.</p> + + + The Project + http://localhost:1313/CYBERTEC-pg-operator/project/project/ + Mon, 11 Mar 2024 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/project/project/ + <p>The CYBERTEC PostgreSQL Operator (CPO) enables the simple provision and management of PostgreSQL clusters on Kubernetes. It reduces the administration effort and facilitates the management of single-node and HA clusters.</p> <div class="flex align-center gdoc-page__anchorwrap"> <h2 id="main-components" > Main components </h2> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/project/project/#main-components" class="gdoc-page__anchor clip flex align-center" title="Anchor to: Main components" aria-label="Anchor to: Main components" href="#main-components"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <ul> <li><a class="gdoc-markdown__link" href="https://github.com/cybertec-postgresql/CYBERTEC-pg-operator" >CYBERTEC-pg-operator</a>: Kubernetes operator for the automation of PostgreSQL clusters.</li> <li><a class="gdoc-markdown__link" href="https://github.com/cybertec-postgresql/CYBERTEC-pg-container" >CYBERTEC-pg-container</a>: Docker container suite for PostgreSQL, Patroni and etcd for the provision of HA clusters.</li> <li><a class="gdoc-markdown__link" href="https://github.com/cybertec-postgresql/CYBERTEC-operator-tutorials" >CYBERTEC-operator-tutorials</a>: Tutorials and instructions for installing and using the operator.</li> </ul> <div class="flex align-center gdoc-page__anchorwrap"> <h2 id="features" > Features </h2> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/project/project/#features" class="gdoc-page__anchor clip flex align-center" title="Anchor to: Features" aria-label="Anchor to: Features" href="#features"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <ul> <li>Cluster management: <ul> <li>Single-node and HA (High Availability) clusters via <a class="gdoc-markdown__link" href="https://patroni.readthedocs.io/en/latest/" >Patroni</a></li> <li>Reduction of downtime thanks to redundancy, pod anti-affinity, auto-failover and self-healing</li> <li>Automated failover</li> <li>Live volume resize without pod restarts</li> <li>Basic credential and user management on K8s, eases application deployments</li> <li>Compatible with OpenShift and Rancher</li> </ul> </li> <li>PostgreSQL compatibility: <ul> <li>Supports PostgreSQL versions 13 to 17</li> <li>Inplace upgrades for smooth version changes and minimal downtime</li> <li>Extensive extension support, including pgAudit, TimescaleDB and PostGIS</li> <li>Standby-Cluster</li> </ul> </li> <li>Backup &amp; Restore: <ul> <li>Integrated pgBackRest support</li> <li>Automatic backups</li> <li>Point-in-Time- and Snapshot-based Restores / Disaster Recovery</li> </ul> </li> <li>Connection management: <ul> <li>pgBouncer for connection pooling</li> </ul> </li> <li>Monitoring &amp; alerting stack <ul> <li>Integrated metrics exporter</li> <li>Prometheus, alert manager for metrics collection and alerting</li> <li>Grafana for visual monitoring of the clusters</li> </ul> </li> <li>Operator UI: <ul> <li>Web interface for managing clusters</li> </ul> </li> </ul> <div class="flex align-center gdoc-page__anchorwrap"> <h2 id="installation" > Installation </h2> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/project/project/#installation" class="gdoc-page__anchor clip flex align-center" title="Anchor to: Installation" aria-label="Anchor to: Installation" href="#installation"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <p>Detailed instructions on installation and configuration can be found in the CYBERTEC operator tutorials and in the following chapters Example of installation via Helm:</p> + + + Container Images + http://localhost:1313/CYBERTEC-pg-operator/project/container_images/ + Mon, 11 Mar 2024 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/project/container_images/ + <p>For each version of the operator and the required PostgreSQL and other required containers, the corresponding image is provided on Dockerhub.</p> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="operator-container-images" > Operator container images </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/project/container_images/#operator-container-images" class="gdoc-page__anchor clip flex align-center" title="Anchor to: Operator container images" aria-label="Anchor to: Operator container images" href="#operator-container-images"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <p>The operator images are the central components that control the operation and administration of the PostgreSQL databases. These images are available in the following repository on DockerHub:</p> + + + PostgreSQL + http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/ + Tue, 07 Mar 2023 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/ + <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="crd-for-kind-postgresql" > CRD for kind postgresql </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#crd-for-kind-postgresql" class="gdoc-page__anchor clip flex align-center" title="Anchor to: CRD for kind postgresql" aria-label="Anchor to: CRD for kind postgresql" href="#crd-for-kind-postgresql"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>apiVersion</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">acid.zalando.do/v1</td> </tr> <tr> <td>kind</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right"></td> </tr> <tr> <td>metadata</td> <td style="text-align: center">object</td> <td style="text-align: right">true</td> <td style="text-align: right"></td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#spec" >spec</a></td> <td style="text-align: center">object</td> <td style="text-align: right">true</td> <td style="text-align: right"></td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#status" >status</a></td> <td style="text-align: center">object</td> <td style="text-align: right">false</td> <td style="text-align: right"></td> </tr> </tbody> </table> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="spec" > spec </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#spec" class="gdoc-page__anchor clip flex align-center" title="Anchor to: spec" aria-label="Anchor to: spec" href="#spec"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td><a class="gdoc-markdown__link" href="#additionalvolumes" >additionalVolumes</a></td> <td style="text-align: center">array</td> <td style="text-align: right">false</td> <td style="text-align: right">List of additional volumes to mount in each container of the statefulset pod</td> </tr> <tr> <td>allowedSourceRanges</td> <td style="text-align: center">array</td> <td style="text-align: right">false</td> <td style="text-align: right">The corresponding load balancer is accessible only to the networks defined by this parameter</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#backup" >backup</a></td> <td style="text-align: center">object</td> <td style="text-align: right">false</td> <td style="text-align: right">Enables the definition of a customised backup solution for the cluster</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#clone" >clone</a></td> <td style="text-align: center">object</td> <td style="text-align: right">false</td> <td style="text-align: right">Defines the clone-target for the Cluster</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#connectionpooler" >connectionPooler</a></td> <td style="text-align: center">object</td> <td style="text-align: right">false</td> <td style="text-align: right">Defines the configuration and settings for every type of a connectionPoolers (Primary and Replica).</td> </tr> <tr> <td>databases</td> <td style="text-align: center">map</td> <td style="text-align: right">false</td> <td style="text-align: right">Defines the name of the database, they are created by the operator. See <a class="gdoc-markdown__link" href="https://github.com/cybertec-postgresql/CYBERTEC-operator-tutorials/tree/main/cluster-tutorials/configure_users_and_databases" >tutorial</a></td> </tr> <tr> <td>dockerImage</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">Defines the used PostgreSQL-Container-Image for this cluster</td> </tr> <tr> <td>enableLogicalBackup</td> <td style="text-align: center">boolean</td> <td style="text-align: right">false</td> <td style="text-align: right">Enable logical Backups for this Cluster (Stored on S3) - s3-configuration for Operator is needed (Not for pgBackRest)</td> </tr> <tr> <td>enableConnectionPooler</td> <td style="text-align: center">boolean</td> <td style="text-align: right">false</td> <td style="text-align: right">creates a ConnectionPooler for the primary Pod</td> </tr> <tr> <td>enableReplicaConnectionPooler</td> <td style="text-align: center">boolean</td> <td style="text-align: right">false</td> <td style="text-align: right">creates a ConnectionPooler for the replica Pods</td> </tr> <tr> <td>enableMasterLoadBalancer</td> <td style="text-align: center">boolean</td> <td style="text-align: right">false</td> <td style="text-align: right">Define whether to enable the load balancer pointing to the Postgres primary</td> </tr> <tr> <td>enableReplicaLoadBalancer</td> <td style="text-align: center">boolean</td> <td style="text-align: right">false</td> <td style="text-align: right">Define whether to enable the load balancer pointing to the Postgres replicas</td> </tr> <tr> <td>enableMasterPoolerLoadBalancer</td> <td style="text-align: center">boolean</td> <td style="text-align: right">false</td> <td style="text-align: right">Define whether to enable the load balancer pointing to the primary ConnectionPooler</td> </tr> <tr> <td>enableReplicaPoolerLoadBalancer</td> <td style="text-align: center">boolean</td> <td style="text-align: right">false</td> <td style="text-align: right">Define whether to enable the load balancer pointing to the Replica-ConnectionPooler</td> </tr> <tr> <td>enableShmVolume</td> <td style="text-align: center">boolean</td> <td style="text-align: right">false</td> <td style="text-align: right">Start a database pod without limitations on shm memory. By default Docker limit /dev/shm to 64M (see e.g. the docker issue, which could be not enough if PostgreSQL uses parallel workers heavily. If this option is present and value is true, to the target database pod will be mounted a new tmpfs volume to remove this limitation.</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#env" >env</a></td> <td style="text-align: center">array</td> <td style="text-align: right">false</td> <td style="text-align: right">Allows to add own Envs to the PostgreSQL containers</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#initcontainers" >initContainers</a></td> <td style="text-align: center">array</td> <td style="text-align: right">false</td> <td style="text-align: right">Enables the definition of init-containers</td> </tr> <tr> <td>logicalBackupSchedule</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">Enables the scheduling of logical backups based on cron-syntax. Example: <code>30 00 * * *</code></td> </tr> <tr> <td>maintenanceWindows</td> <td style="text-align: center">array</td> <td style="text-align: right">false</td> <td style="text-align: right">Enables the definition of maintenance windows for the cluster. Example: <code>Sat:00:00-04:00</code></td> </tr> <tr> <td>masterServiceAnnotations</td> <td style="text-align: center">map</td> <td style="text-align: right">false</td> <td style="text-align: right">Enables the definition of annotations for the Primary Service</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#monitor" >monitor</a></td> <td style="text-align: center">map</td> <td style="text-align: right">false</td> <td style="text-align: right">Enables monitoring on the basis of the defined image</td> </tr> <tr> <td>nodeAffinity</td> <td style="text-align: center">map</td> <td style="text-align: right">false</td> <td style="text-align: right">Enables overwriting of the nodeAffinity</td> </tr> <tr> <td>numberOfInstances</td> <td style="text-align: center">int</td> <td style="text-align: right">true</td> <td style="text-align: right">Number of nodes of the cluster</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#patroni" >patroni</a></td> <td style="text-align: center">map</td> <td style="text-align: right">false</td> <td style="text-align: right">Enables the customisation of patroni settings</td> </tr> <tr> <td>podPriorityClassName</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">a name of the priority class that should be assigned to the cluster pods. If not set then the default priority class is taken. The priority class itself must be defined in advance</td> </tr> <tr> <td>podAnnotations</td> <td style="text-align: center">map</td> <td style="text-align: right">false</td> <td style="text-align: right">A map of key value pairs that gets attached as annotations to each pod created for the database.</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#postgresql" >postgresql</a></td> <td style="text-align: center">map</td> <td style="text-align: right">false</td> <td style="text-align: right">Enables the customisation of PostgreSQL settings and parameters</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#prepareddatabases" >preparedDatabases</a></td> <td style="text-align: center">map</td> <td style="text-align: right">false</td> <td style="text-align: right">Allows you to define databases including owner, schemas and extension and have the operator generate them. item See <a class="gdoc-markdown__link" href="https://github.com/cybertec-postgresql/CYBERTEC-operator-tutorials/tree/main/cluster-tutorials/prepared_databases" >tutorial</a></td> </tr> <tr> <td>replicaServiceAnnotations</td> <td style="text-align: center">map</td> <td style="text-align: right">false</td> <td style="text-align: right">Enables the definition of annotations for the Replica Service</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#resources" >resources</a></td> <td style="text-align: center">map</td> <td style="text-align: right">true</td> <td style="text-align: right">CPU &amp; Memory (Limit &amp; Request) definition for the Postgres container</td> </tr> <tr> <td>ServiceAnnotations</td> <td style="text-align: center">map</td> <td style="text-align: right">false</td> <td style="text-align: right">A map of key value pairs that gets attached as annotations to each Service created for the database.</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#sidecars" >sidecars</a></td> <td style="text-align: center">array</td> <td style="text-align: right">false</td> <td style="text-align: right">Enables the definition of custom sidecars</td> </tr> <tr> <td>spiloFSGroup</td> <td style="text-align: center">int</td> <td style="text-align: right">false</td> <td style="text-align: right">the Persistent Volumes for the Spilo pods in the StatefulSet will be owned and writable by the group ID specified. This will override the spilo_fsgroup operator parameter</td> </tr> <tr> <td>spiloRunAsGroup</td> <td style="text-align: center">int</td> <td style="text-align: right">false</td> <td style="text-align: right">sets the group ID which should be used in the container to run the process.</td> </tr> <tr> <td>spiloRunAsUser</td> <td style="text-align: center">int</td> <td style="text-align: right">false</td> <td style="text-align: right">Sets the user ID which should be used in the container to run the process. This must be set to run the container without root.</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#standby" >standby</a></td> <td style="text-align: center">map</td> <td style="text-align: right">false</td> <td style="text-align: right">Enables the creation of a standby cluster at the time of the creation of a new cluster</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#streams" >streams</a></td> <td style="text-align: center">array</td> <td style="text-align: right">false</td> <td style="text-align: right">Enables change data capture streams for defined database tables</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#tde" >tde</a></td> <td style="text-align: center">map</td> <td style="text-align: right">false</td> <td style="text-align: right">Enables the activation of TDE if a new cluster is created</td> </tr> <tr> <td>teamId</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">name of the team the cluster belongs to. Will be removed soon</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#tls" >tls</a></td> <td style="text-align: center">map</td> <td style="text-align: right">false</td> <td style="text-align: right">Custom TLS certificate</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#tolerations" >tolerations</a></td> <td style="text-align: center">array</td> <td style="text-align: right">false</td> <td style="text-align: right">a list of tolerations that apply to the cluster pods. Each element of that list is a dictionary with the following fields:</td> </tr> <tr> <td>key, operator, value, effect and tolerationSeconds</td> <td></td> <td></td> <td></td> </tr> <tr> <td><a class="gdoc-markdown__link" href="https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/" >topologySpreadConstraints</a></td> <td style="text-align: center">map</td> <td style="text-align: right">false</td> <td style="text-align: right">Enables the definition of a topologySpreadConstraint. See <a class="gdoc-markdown__link" href="https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/" >K8s-Documentation</a></td> </tr> <tr> <td>users</td> <td style="text-align: center">map</td> <td style="text-align: right">false</td> <td style="text-align: right">a map of usernames to user flags for the users that should be created in the cluster by the operator. See <a class="gdoc-markdown__link" href="https://github.com/cybertec-postgresql/CYBERTEC-operator-tutorials/tree/main/cluster-tutorials/configure_users_and_databases" >tutorial</a></td> </tr> <tr> <td>usersWithSecretRotation</td> <td style="text-align: center">list</td> <td style="text-align: right">false</td> <td style="text-align: right">list of users to enable credential rotation in K8s secrets. The rotation interval can only be configured globally.</td> </tr> <tr> <td>usersWithInPlaceSecretRotation</td> <td style="text-align: center">list</td> <td style="text-align: right">false</td> <td style="text-align: right">list of users to enable in-place password rotation in K8s secrets. The rotation interval can only be configured globally.</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#volume" >volume</a></td> <td style="text-align: center">map</td> <td style="text-align: right">true</td> <td style="text-align: right">define the properties of the persistent storage that stores Postgres data</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="additionalvolumes" > additionalVolumes </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#additionalvolumes" class="gdoc-page__anchor clip flex align-center" title="Anchor to: additionalVolumes" aria-label="Anchor to: additionalVolumes" href="#additionalvolumes"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>name</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">Enables the definition of a pgbackrest-setup for the cluster</td> </tr> <tr> <td>mountPath</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">Enables the definition of a pgbackrest-setup for the cluster</td> </tr> <tr> <td>targetContainers</td> <td style="text-align: center">array</td> <td style="text-align: right">true</td> <td style="text-align: right">Enables the definition of a pgbackrest-setup for the cluster</td> </tr> <tr> <td>subPath</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">Enables the definition of a pgbackrest-setup for the cluster</td> </tr> <tr> <td>isSubPathExpr</td> <td style="text-align: center">boolean</td> <td style="text-align: right">false</td> <td style="text-align: right">Enables the definition of a pgbackrest-setup for the cluster</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#volumeSource" >volumeSource</a></td> <td style="text-align: center">map</td> <td style="text-align: right">true</td> <td style="text-align: right">Enables the definition of a pgbackrest-setup for the cluster</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="backup" > backup </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#backup" class="gdoc-page__anchor clip flex align-center" title="Anchor to: backup" aria-label="Anchor to: backup" href="#backup"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td><a class="gdoc-markdown__link" href="#pgbackrest" >pgbackrest</a></td> <td style="text-align: center">object</td> <td style="text-align: right">false</td> <td style="text-align: right">Enables the definition of a pgbackrest-setup for the cluster</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="clone" > clone </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#clone" class="gdoc-page__anchor clip flex align-center" title="Anchor to: clone" aria-label="Anchor to: clone" href="#clone"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>cluster</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">Name of the cluster to be cloned. Random value if the cluster does not exist locally.</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#pgbackrest" >pgbackrest</a></td> <td style="text-align: center">object</td> <td style="text-align: right">false</td> <td style="text-align: right">Enables the definition of a pgbackrest-setup for the cluster</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="connectionpooler" > connectionPooler </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#connectionpooler" class="gdoc-page__anchor clip flex align-center" title="Anchor to: connectionPooler" aria-label="Anchor to: connectionPooler" href="#connectionpooler"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>numberOfInstances</td> <td style="text-align: center">int</td> <td style="text-align: right">true</td> <td style="text-align: right">Number of Pods per Pooler</td> </tr> <tr> <td>mode</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">pooling mode for pgBouncer (session, transaction, statement)</td> </tr> <tr> <td>schema</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">Schema for Pooler (Default: pooler)</td> </tr> <tr> <td>user</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">Username for Pooler (Default: pooler)</td> </tr> <tr> <td>maxDBConnections</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">maxConnections to the DB-Pod(s)</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#resources" >resources</a></td> <td style="text-align: center">map</td> <td style="text-align: right">true</td> <td style="text-align: right">CPU &amp; Memory (Limit &amp; Request) definition for the Pooler</td> </tr> </tbody> </table> <div class="flex align-center gdoc-page__anchorwrap"> <h2 id="hahahugoshortcode50s4hbhb" > <a href="javascript:history.back()">⬅ Back to Parent</a> </h2> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#hahahugoshortcode50s4hbhb" class="gdoc-page__anchor clip flex align-center" title="Anchor to: <a href="javascript:history.back()">⬅ Back to Parent</a>" aria-label="Anchor to: <a href="javascript:history.back()">⬅ Back to Parent</a>" href="#hahahugoshortcode50s4hbhb"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="env" > env </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#env" class="gdoc-page__anchor clip flex align-center" title="Anchor to: env" aria-label="Anchor to: env" href="#env"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>name</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">Keyfield for the ENV-Entry</td> </tr> <tr> <td>value</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">Valuefield for the ENV-Entry</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="initcontainers" > initContainers </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#initcontainers" class="gdoc-page__anchor clip flex align-center" title="Anchor to: initContainers" aria-label="Anchor to: initContainers" href="#initcontainers"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>name</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">Name for the container</td> </tr> <tr> <td>image</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">Docker-Image for container</td> </tr> <tr> <td>command</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">to override CMD inside the container</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#env" >env</a></td> <td style="text-align: center">array</td> <td style="text-align: right">false</td> <td style="text-align: right">Allows to add own Envs to the container</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#resources" >resources</a></td> <td style="text-align: center">map</td> <td style="text-align: right">false</td> <td style="text-align: right">CPU &amp; Memory (Limit &amp; Request) definition for the container</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="ports" >ports</a></td> <td style="text-align: center">array</td> <td style="text-align: right">false</td> <td style="text-align: right">Define open ports for the container</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="monitor" > monitor </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#monitor" class="gdoc-page__anchor clip flex align-center" title="Anchor to: monitor" aria-label="Anchor to: monitor" href="#monitor"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>image</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">Docker-Image for the metric exporter</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="patroni" > patroni </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#patroni" class="gdoc-page__anchor clip flex align-center" title="Anchor to: patroni" aria-label="Anchor to: patroni" href="#patroni"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>failsafe_mode</td> <td style="text-align: center">boolean</td> <td style="text-align: right">false</td> <td style="text-align: right">Patroni failsafe_mode parameter value. See the <a class="gdoc-markdown__link" href="https://patroni.readthedocs.io/en/master/dcs_failsafe_mode.html" >Patroni documentation</a> for more details.</td> </tr> <tr> <td>initdb</td> <td style="text-align: center">map</td> <td style="text-align: right">false</td> <td style="text-align: right">a map of key-value pairs describing initdb parameters</td> </tr> <tr> <td>loop_wait</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">Patroni <code>loop_wait</code> parameter value, optional. The default is set by the PostgreSQL image.</td> </tr> <tr> <td>maximum_lag_on_failover</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">Patroni <code>maximum_lag_on_failover</code> parameter value, optional. The default is set by the PostgreSQL image.</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#multisite" >multisite</a></td> <td style="text-align: center">map</td> <td style="text-align: right">false</td> <td style="text-align: right">Multisite configuration - Check the <a class="gdoc-markdown__link" href="CYBERTEC-pg-operator/multisite/" >Documentation</a> first</td> </tr> <tr> <td>pg_hba</td> <td style="text-align: center">array</td> <td style="text-align: right">false</td> <td style="text-align: right">list of custom pg_hba lines to replace default ones. One entry per item (example: - hostssl all all 0.0.0.0/0 scram-sha-256)</td> </tr> <tr> <td>retry_timeout</td> <td style="text-align: center">int</td> <td style="text-align: right">false</td> <td style="text-align: right">Patroni <code>retry_timeout</code> parameter value, optional. The default is set by the PostgreSQL image.</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#slots" >slots</a></td> <td style="text-align: center">map</td> <td style="text-align: right">false</td> <td style="text-align: right">permanent replication slots that Patroni preserves after failover by re-creating them on the new primary immediately. after doing a promote. Use preferred slot-name as map-item</td> </tr> <tr> <td>synchronous_mode</td> <td style="text-align: center">boolean</td> <td style="text-align: right">false</td> <td style="text-align: right">DPatroni <code>synchronous_mode</code> parameter value, optional. The default is false.</td> </tr> <tr> <td>synchronous_mode_strict</td> <td style="text-align: center">boolean</td> <td style="text-align: right">false</td> <td style="text-align: right">Patroni <code>synchronous_mode_strict</code> parameter value, optional. The default is false.</td> </tr> <tr> <td>synchronous_node_count</td> <td style="text-align: center">int</td> <td style="text-align: right">false</td> <td style="text-align: right">Patroni <code>synchronous_node_count</code> parameter value, optional. The default is set to 1. Only used if <code>synchronous_mode_strict</code> is true</td> </tr> <tr> <td>ttl</td> <td style="text-align: center">int</td> <td style="text-align: right">false</td> <td style="text-align: right">Patroni <code>ttl</code> parameter value, optional. The default is set by the PostgreSQL image.</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="postgresql" > PostgreSQL </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#postgresql" class="gdoc-page__anchor clip flex align-center" title="Anchor to: PostgreSQL" aria-label="Anchor to: PostgreSQL" href="#postgresql"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>parameters</td> <td style="text-align: center">map</td> <td style="text-align: right">false</td> <td style="text-align: right">PostgreSQL-Parameter as item (Example: max_connections: &ldquo;100&rdquo;). For help check out the <a class="gdoc-markdown__link" href="https://pgconfigurator.cybertec.at" >CYBERTEC PostgreSQL Configurator</a></td> </tr> <tr> <td>version</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">a map of key-value pairs describing initdb parameters</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="prepareddatabases" > preparedDatabases </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#prepareddatabases" class="gdoc-page__anchor clip flex align-center" title="Anchor to: preparedDatabases" aria-label="Anchor to: preparedDatabases" href="#prepareddatabases"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>defaultUsers</td> <td style="text-align: center">boolean</td> <td style="text-align: right">false</td> <td style="text-align: right">Creates roles with <code>LOGIN</code> permission and <code>_user</code>suffix. Default: false</td> </tr> <tr> <td>extensions</td> <td style="text-align: center">map</td> <td style="text-align: right">false</td> <td style="text-align: right">Includes the Extensions as items (key:value). Key is the Name of the Extension and value the schema. Example: pgcrypto: public</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#schemas" >schemas</a></td> <td style="text-align: center">map</td> <td style="text-align: right">false</td> <td style="text-align: right">Includes the schemanames as items.</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="resources" > resources </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#resources" class="gdoc-page__anchor clip flex align-center" title="Anchor to: resources" aria-label="Anchor to: resources" href="#resources"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td><a class="gdoc-markdown__link" href="#requests" >requests</a></td> <td style="text-align: center">map</td> <td style="text-align: right">true</td> <td style="text-align: right">cpu and memory definitons (request.cpu / request.memory)</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#limits" >limits</a></td> <td style="text-align: center">map</td> <td style="text-align: right">true</td> <td style="text-align: right">cpu and memory definitons (limits.cpu / limits.memory)</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="sidecars" > sidecars </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#sidecars" class="gdoc-page__anchor clip flex align-center" title="Anchor to: sidecars" aria-label="Anchor to: sidecars" href="#sidecars"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>name</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">Name for the container</td> </tr> <tr> <td>image</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">Docker-Image for container</td> </tr> <tr> <td>command</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">to override CMD inside the container</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#env" >env</a></td> <td style="text-align: center">array</td> <td style="text-align: right">false</td> <td style="text-align: right">Allows to add own Envs to the container</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#resources" >resources</a></td> <td style="text-align: center">map</td> <td style="text-align: right">false</td> <td style="text-align: right">CPU &amp; Memory (Limit &amp; Request) definition for the container</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="ports" >ports</a></td> <td style="text-align: center">array</td> <td style="text-align: right">false</td> <td style="text-align: right">Define open ports for the container</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="standby" > standby </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#standby" class="gdoc-page__anchor clip flex align-center" title="Anchor to: standby" aria-label="Anchor to: standby" href="#standby"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>standby_host</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">Endpoint of the primary cluster</td> </tr> <tr> <td>standby_port</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">PostgreSQL port of the primary cluster</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="streams" > streams </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#streams" class="gdoc-page__anchor clip flex align-center" title="Anchor to: streams" aria-label="Anchor to: streams" href="#streams"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>applicationId</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">The application name to which the database and CDC belongs to.</td> </tr> <tr> <td>database</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">Name of the database from where events will be published via Postgres&rsquo; logical decoding feature.</td> </tr> <tr> <td>tables</td> <td style="text-align: center">map</td> <td style="text-align: right">true</td> <td style="text-align: right">Defines a map of table names and their properties (eventType, idColumn and payloadColumn).</td> </tr> <tr> <td>batchSize</td> <td style="text-align: center">int</td> <td style="text-align: right">false</td> <td style="text-align: right">Defines the size of batches in which events are consumed. Defaults to 1</td> </tr> <tr> <td>enableRecovery</td> <td style="text-align: center">boolean</td> <td style="text-align: right">false</td> <td style="text-align: right">Flag to enable a dead letter queue recovery for all streams tables.</td> </tr> <tr> <td>filter</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">Streamed events can be filtered by a jsonpath expression for each table.</td> </tr> <tr> <td>standby_port</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">PostgreSQL port of the primary cluster</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="tde" > tde </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#tde" class="gdoc-page__anchor clip flex align-center" title="Anchor to: tde" aria-label="Anchor to: tde" href="#tde"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>enable</td> <td style="text-align: center">boolean</td> <td style="text-align: right">true</td> <td style="text-align: right">enable TDE during initDB</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="tolerations" > tolerations </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#tolerations" class="gdoc-page__anchor clip flex align-center" title="Anchor to: tolerations" aria-label="Anchor to: tolerations" href="#tolerations"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>key</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">Key for the taint attribute of the node</td> </tr> <tr> <td>operator</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">Comparison operator (Equal or Exists).</td> </tr> <tr> <td>value</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">Value of the taint (only relevant for ‘Equal’).</td> </tr> <tr> <td>effect</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">Specifies how the node handles the pod (NoExecute, NoSchedule, PreferNoSchedule)</td> </tr> <tr> <td>tolerationSeconds</td> <td style="text-align: center">int</td> <td style="text-align: right">false</td> <td style="text-align: right">Specifies how long the pod tolerates the taint (only for NoExecute).</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="volume" > volume </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#volume" class="gdoc-page__anchor clip flex align-center" title="Anchor to: volume" aria-label="Anchor to: volume" href="#volume"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>size</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">the size of the target volume. Usual Kubernetes size modifiers, i.e. Gi or Mi, apply</td> </tr> <tr> <td>storageClass</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">the name of the Kubernetes storage class to draw the persistent volume from. If empty K8s will choose the default StorageClass</td> </tr> <tr> <td>subPath</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">Subpath to use when mounting volume into PostgreSQL container.</td> </tr> <tr> <td>iops</td> <td style="text-align: center">int</td> <td style="text-align: right">false</td> <td style="text-align: right">When running the operator on AWS the latest generation of EBS volumes (gp3) allows for configuring the number of IOPS. Maximum is 16000</td> </tr> <tr> <td>throughput</td> <td style="text-align: center">int</td> <td style="text-align: right">false</td> <td style="text-align: right">When running the operator on AWS the latest generation of EBS volumes (gp3) allows for configuring the throughput in MB/s. Maximum is 1000</td> </tr> <tr> <td>selector</td> <td style="text-align: center">map</td> <td style="text-align: right">false</td> <td style="text-align: right">A label query over PVs to consider for binding. See the <a class="gdoc-markdown__link" href="https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/" >Kubernetes documentation</a> for details on using matchLabels and matchExpressions</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="volumesource" > volumeSource </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#volumesource" class="gdoc-page__anchor clip flex align-center" title="Anchor to: volumeSource" aria-label="Anchor to: volumeSource" href="#volumesource"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>emptyDir</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">emptyDir: {}</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#volumeSource-PersistentVolumeClaim" >PersistentVolumeClaim</a></td> <td style="text-align: center">map</td> <td style="text-align: right">false</td> <td style="text-align: right">PersistentVolumeClaim-Objekt</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#volumeSource-configMap" >configMap</a></td> <td style="text-align: center">map</td> <td style="text-align: right">false</td> <td style="text-align: right">configMap-Objekt</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="volumesource-persistentvolumeclaim" > volumeSource-PersistentVolumeClaim </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#volumesource-persistentvolumeclaim" class="gdoc-page__anchor clip flex align-center" title="Anchor to: volumeSource-PersistentVolumeClaim" aria-label="Anchor to: volumeSource-PersistentVolumeClaim" href="#volumesource-persistentvolumeclaim"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>claimName</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">Name of the PersistentVolumeClaim</td> </tr> <tr> <td>readyOnly</td> <td style="text-align: center">boolean</td> <td style="text-align: right">false</td> <td style="text-align: right">PersistentVolumeClaim-Objekt</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="volumesource-configmap" > volumeSource-configMap </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#volumesource-configmap" class="gdoc-page__anchor clip flex align-center" title="Anchor to: volumeSource-configMap" aria-label="Anchor to: volumeSource-configMap" href="#volumesource-configmap"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>name</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">Name of the Configmap</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="multisite" > multisite </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#multisite" class="gdoc-page__anchor clip flex align-center" title="Anchor to: multisite" aria-label="Anchor to: multisite" href="#multisite"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>enable</td> <td style="text-align: center">boolean</td> <td style="text-align: right">true</td> <td style="text-align: right">Enable multisite-feature</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#etcd" >etcd</a></td> <td style="text-align: center">map</td> <td style="text-align: right">true</td> <td style="text-align: right">Enables the definition of a pgbackrest-setup for the cluster</td> </tr> <tr> <td>retry_timeout</td> <td style="text-align: center">int</td> <td style="text-align: right">true</td> <td style="text-align: right">Patroni <code>retry_timeout</code> parameter value for the global etcd, optional. The default is set by the PostgreSQL image.</td> </tr> <tr> <td>site</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">Name for the site of this cluster</td> </tr> <tr> <td>ttl</td> <td style="text-align: center">int</td> <td style="text-align: right">true</td> <td style="text-align: right">Patroni <code>ttl</code> parameter value for the global etcd, optional. The default is set by the PostgreSQL image.</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="slots" > slots </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#slots" class="gdoc-page__anchor clip flex align-center" title="Anchor to: slots" aria-label="Anchor to: slots" href="#slots"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>type</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">Slot-Type (<code>physical</code> or <code>logical</code>)</td> </tr> <tr> <td>database</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">Databasename - for logical replication only</td> </tr> <tr> <td>plugin</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">Plugin - for logical replication only</td> </tr> </tbody> </table> <div class="flex align-center gdoc-page__anchorwrap"> <h2 id="hahahugoshortcode50s22hbhb" > <a href="javascript:history.back()">⬅ Back to Parent</a> </h2> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#hahahugoshortcode50s22hbhb" class="gdoc-page__anchor clip flex align-center" title="Anchor to: <a href="javascript:history.back()">⬅ Back to Parent</a>" aria-label="Anchor to: <a href="javascript:history.back()">⬅ Back to Parent</a>" href="#hahahugoshortcode50s22hbhb"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="schemas" > schemas </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#schemas" class="gdoc-page__anchor clip flex align-center" title="Anchor to: schemas" aria-label="Anchor to: schemas" href="#schemas"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>defaultRoles</td> <td style="text-align: center">boolean</td> <td style="text-align: right">false</td> <td style="text-align: right">Creates schema exclusiv roles with <code>NOLOGIN</code> permission and <code>_user</code>suffix Default: true</td> </tr> <tr> <td>defaultUsers</td> <td style="text-align: center">boolean</td> <td style="text-align: right">false</td> <td style="text-align: right">Creates schema exclusiv roles with <code>LOGIN</code> permission and <code>_user</code>suffix Default: false</td> </tr> </tbody> </table> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="etcd" > etcd </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#etcd" class="gdoc-page__anchor clip flex align-center" title="Anchor to: etcd" aria-label="Anchor to: etcd" href="#etcd"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>hosts</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">list of etcd hosts, including etcd-client-port (default: <code>2379</code>), comma separated like in the etcd config</td> </tr> <tr> <td>password</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">Password for the global etcd</td> </tr> <tr> <td>protocol</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">Protocol for the global etcd (http or https)</td> </tr> <tr> <td>user</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">Username for the global etcd</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="requests" > requests </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#requests" class="gdoc-page__anchor clip flex align-center" title="Anchor to: requests" aria-label="Anchor to: requests" href="#requests"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>cpu</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">cpu definitons Example: 1000m</td> </tr> <tr> <td>memory</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">memory definitons Example: 1000Mi</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="limits" > limits </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#limits" class="gdoc-page__anchor clip flex align-center" title="Anchor to: limits" aria-label="Anchor to: limits" href="#limits"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>cpu</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">cpu definitons Example: 1000m</td> </tr> <tr> <td>memory</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">memory definitons Example: 1000Mi</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="pgbackrest" > pgbackrest </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#pgbackrest" class="gdoc-page__anchor clip flex align-center" title="Anchor to: pgbackrest" aria-label="Anchor to: pgbackrest" href="#pgbackrest"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td><a class="gdoc-markdown__link" href="#configuration" >configuration</a></td> <td style="text-align: center">object</td> <td style="text-align: right">false</td> <td style="text-align: right">Enables the definition of a pgbackrest-setup for the cluster</td> </tr> <tr> <td>global</td> <td style="text-align: center">object</td> <td style="text-align: right">false</td> <td style="text-align: right"></td> </tr> <tr> <td>image</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right"></td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#repos" >repos</a></td> <td style="text-align: center">array</td> <td style="text-align: right">true</td> <td style="text-align: right"></td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#resources" >resources</a></td> <td style="text-align: center">object</td> <td style="text-align: right">false</td> <td style="text-align: right">CPU &amp; Memory (Limit &amp; Request) definition for the pgBackRest container</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="configuration" > configuration </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#configuration" class="gdoc-page__anchor clip flex align-center" title="Anchor to: configuration" aria-label="Anchor to: configuration" href="#configuration"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>secret</td> <td style="text-align: center">object</td> <td style="text-align: right">false</td> <td style="text-align: right">Secretname with the contained S3 credentials (AccessKey &amp; SecretAccessKey) (Note: must be placed in the same namespace as the cluster)</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#protection" >protection</a></td> <td style="text-align: center">object</td> <td style="text-align: right">false</td> <td style="text-align: right">Enable Protection-Options</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="protection" > protection </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#protection" class="gdoc-page__anchor clip flex align-center" title="Anchor to: protection" aria-label="Anchor to: protection" href="#protection"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>restore</td> <td style="text-align: center">boolean</td> <td style="text-align: right">false</td> <td style="text-align: right">A restore is ignored as long as this option is set to true.</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="repos" > repos </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#repos" class="gdoc-page__anchor clip flex align-center" title="Anchor to: repos" aria-label="Anchor to: repos" href="#repos"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>name</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">Name of the repository Required:Repo[1-4]</td> </tr> <tr> <td>storage</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">Defines the used backup-storage (Choose from List: pvc,s3,blob,gcs)</td> </tr> <tr> <td>resource</td> <td style="text-align: center">string</td> <td style="text-align: right">true</td> <td style="text-align: right">Bucket-/Instance-/Storage- or PVC-Name</td> </tr> <tr> <td>endpoint</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">The Endpoint for the choosen Storage (Not required for local storage)</td> </tr> <tr> <td>region</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">Region for the choosen Storage (S3 only)</td> </tr> <tr> <td><a class="gdoc-markdown__link" href="#schedule" >schedule</a></td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">Object for defining automatic backups</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="schedule" > schedule </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#schedule" class="gdoc-page__anchor clip flex align-center" title="Anchor to: schedule" aria-label="Anchor to: schedule" href="#schedule"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>full</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">(Cron-Syntax) Define full backup</td> </tr> <tr> <td>incr</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">(Cron-Syntax) Define incremental backup</td> </tr> <tr> <td>diff</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">(Cron-Syntax) Define differential backup</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> <hr> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="status" > status </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/#status" class="gdoc-page__anchor clip flex align-center" title="Anchor to: status" aria-label="Anchor to: status" href="#status"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">required</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>PostgresClusterStatus</td> <td style="text-align: center">string</td> <td style="text-align: right">false</td> <td style="text-align: right">Shows the cluster status. Filled by the Operator</td> </tr> </tbody> </table> <a href="javascript:history.back()">⬅ Back to Parent</a> + + + Operator-Configuration + http://localhost:1313/CYBERTEC-pg-operator/crd/crd-operator-configurator/ + Tue, 07 Mar 2023 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/crd/crd-operator-configurator/ + <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">default</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>enable_crd_registration</td> <td style="text-align: center">boolean</td> <td style="text-align: right">true</td> <td style="text-align: right"></td> </tr> <tr> <td>crd_categories</td> <td style="text-align: center">string</td> <td style="text-align: right">all</td> <td style="text-align: right"></td> </tr> <tr> <td>enable_lazy_spilo_upgrade</td> <td style="text-align: center">boolean</td> <td style="text-align: right">false</td> <td style="text-align: right"></td> </tr> <tr> <td>enable_pgversion_env_var</td> <td style="text-align: center">boolean</td> <td style="text-align: right">true</td> <td style="text-align: right"></td> </tr> <tr> <td>enable_spilo_wal_path_combat</td> <td style="text-align: center">boolean</td> <td style="text-align: right">false</td> <td style="text-align: right"></td> </tr> <tr> <td>etcd_host</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>kubernetes_use_configmaps</td> <td style="text-align: center">boolean</td> <td style="text-align: right">false</td> <td style="text-align: right"></td> </tr> <tr> <td>docker_image</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>sidecars</td> <td style="text-align: center">list</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>enable_shm_volume</td> <td style="text-align: center">boolean</td> <td style="text-align: right">true</td> <td style="text-align: right"></td> </tr> <tr> <td>workers</td> <td style="text-align: center">int</td> <td style="text-align: right">8</td> <td style="text-align: right"></td> </tr> <tr> <td>max_instances</td> <td style="text-align: center">int</td> <td style="text-align: right">-1</td> <td style="text-align: right"></td> </tr> <tr> <td>min_instances</td> <td style="text-align: center">int</td> <td style="text-align: right">-1</td> <td style="text-align: right"></td> </tr> <tr> <td>resync_period</td> <td style="text-align: center">string</td> <td style="text-align: right">30m</td> <td style="text-align: right"></td> </tr> <tr> <td>repair_period</td> <td style="text-align: center">string</td> <td style="text-align: right">5m</td> <td style="text-align: right"></td> </tr> <tr> <td>set_memory_request_to_limit</td> <td style="text-align: center">boolean</td> <td style="text-align: right">false</td> <td style="text-align: right"></td> </tr> <tr> <td>debug_logging</td> <td style="text-align: center">boolean</td> <td style="text-align: right">true</td> <td style="text-align: right"></td> </tr> <tr> <td>enable_db_access</td> <td style="text-align: center">boolean</td> <td style="text-align: right">true</td> <td style="text-align: right"></td> </tr> <tr> <td>spilo_privileged</td> <td style="text-align: center">boolean</td> <td style="text-align: right">false</td> <td style="text-align: right"></td> </tr> <tr> <td>spilo_allow_privilege_escalation</td> <td style="text-align: center">boolean</td> <td style="text-align: right">true</td> <td style="text-align: right"></td> </tr> <tr> <td>watched_namespace</td> <td style="text-align: center">string</td> <td style="text-align: right">*</td> <td style="text-align: right"></td> </tr> </tbody> </table> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="major-upgrade-specific" > major-upgrade-specific </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-operator-configurator/#major-upgrade-specific" class="gdoc-page__anchor clip flex align-center" title="Anchor to: major-upgrade-specific" aria-label="Anchor to: major-upgrade-specific" href="#major-upgrade-specific"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">default</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>major_version_upgrade_mode</td> <td style="text-align: center">string</td> <td style="text-align: right">off</td> <td style="text-align: right"></td> </tr> <tr> <td>major_version_upgrade_team_allow_list</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>minimal_major_version</td> <td style="text-align: center">string</td> <td style="text-align: right">9.6</td> <td style="text-align: right"></td> </tr> <tr> <td>target_major_version</td> <td style="text-align: center">string</td> <td style="text-align: right">14</td> <td style="text-align: right"></td> </tr> </tbody> </table> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="aws-specific" > aws-specific </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-operator-configurator/#aws-specific" class="gdoc-page__anchor clip flex align-center" title="Anchor to: aws-specific" aria-label="Anchor to: aws-specific" href="#aws-specific"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">default</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>wal_s3_bucket</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>log_s3_bucket</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>kube_iam_role</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>aws_region</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>additional_secret_mount</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>additional_secret_mount_path</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>enable_ebs_gp3_migration</td> <td style="text-align: center">boolean</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>enable_ebs_gp3_migration_max_size</td> <td style="text-align: center">int</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> </tbody> </table> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="logical-backup-specific" > logical-backup-specific </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-operator-configurator/#logical-backup-specific" class="gdoc-page__anchor clip flex align-center" title="Anchor to: logical-backup-specific" aria-label="Anchor to: logical-backup-specific" href="#logical-backup-specific"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">default</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>logical_backup_docker_image</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>logical_backup_google_application_credentials</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>logical_backup_job_prefix</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>logical_backup_provider</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>logical_backup_s3_access_key_id</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>logical_backup_s3_bucket</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>logical_backup_s3_endpoint</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>logical_backup_s3_region</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>logical_backup_s3_secret_access_key</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>logical_backup_s3_sse</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>logical_backup_s3_retention_time</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>logical_backup_schedule</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right">(Cron-Syntax)</td> </tr> </tbody> </table> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="team-api-specific" > team-api-specific </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/crd/crd-operator-configurator/#team-api-specific" class="gdoc-page__anchor clip flex align-center" title="Anchor to: team-api-specific" aria-label="Anchor to: team-api-specific" href="#team-api-specific"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <table> <thead> <tr> <th>Name</th> <th style="text-align: center">Type</th> <th style="text-align: right">default</th> <th style="text-align: right">Description</th> </tr> </thead> <tbody> <tr> <td>enable_teams_api</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>teams_api_url</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>teams_api_role_configuration</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>enable_team_superuser</td> <td style="text-align: center">boolean</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>team_admin_role</td> <td style="text-align: center">boolean</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>enable_admin_role_for_users</td> <td style="text-align: center">boolean</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>pam_role_name</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>pam_configuration</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>protected_role_names</td> <td style="text-align: center">list</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>postgres_superuser_teams</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>role_deletion_suffix</td> <td style="text-align: center">string</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>enable_team_member_deprecation</td> <td style="text-align: center">boolean</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>enable_postgres_team_crd</td> <td style="text-align: center">boolean</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>enable_postgres_team_crd_superusers</td> <td style="text-align: center">boolean</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> <tr> <td>enable_team_id_clustername_prefix</td> <td style="text-align: center">boolean</td> <td style="text-align: right"></td> <td style="text-align: right"></td> </tr> </tbody> </table> + + + Setup local Kubernetes + http://localhost:1313/CYBERTEC-pg-operator/installation/dev-k8s/ + Tue, 07 Mar 2023 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/installation/dev-k8s/ + <p>There are various options for setting up a local Kubernetes environment. This chapter deals with the following two variants:</p> <ul> <li>minikube</li> <li>crc (CodeReadyContainers from RedHat)</li> </ul> <div class="flex align-center gdoc-page__anchorwrap"> <h3 id="minikube" > Minikube </h3> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/installation/dev-k8s/#minikube" class="gdoc-page__anchor clip flex align-center" title="Anchor to: Minikube" aria-label="Anchor to: Minikube" href="#minikube"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <p>Minikube is a tool that makes it possible to run Kubernetes locally on a single computer. It sets up a minimal but functional Kubernetes environment suitable for development and testing purposes. Minikube supports most Kubernetes features and provides an easy way to launch and manage Kubernetes clusters on local machines without the need for a complex cloud infrastructure.</p> + + + Install CPO + http://localhost:1313/CYBERTEC-pg-operator/installation/install_operator/ + Tue, 07 Mar 2023 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/installation/install_operator/ + <div class="flex align-center gdoc-page__anchorwrap"> <h2 id="prerequisites" > Prerequisites </h2> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/installation/install_operator/#prerequisites" class="gdoc-page__anchor clip flex align-center" title="Anchor to: Prerequisites" aria-label="Anchor to: Prerequisites" href="#prerequisites"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <p>For the installation you either need our CPO tutorial repository or you install CPO directly from our registry.<!-- raw HTML omitted --> Exception: Installation via Operatorhub (Openshift only)</p> <div class="flex align-center gdoc-page__anchorwrap"> <h3 id="cpo-tutorial-repository" > CPO-Tutorial-Repository </h3> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/installation/install_operator/#cpo-tutorial-repository" class="gdoc-page__anchor clip flex align-center" title="Anchor to: CPO-Tutorial-Repository" aria-label="Anchor to: CPO-Tutorial-Repository" href="#cpo-tutorial-repository"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <p>To get started, you can fork our tutorial repository on Github and then download it. <a class="gdoc-markdown__link" href="https://github.com/cybertec-postgresql/CYBERTEC-operator-tutorials/fork" >CYBERTEC-operator-tutorials</a></p> + + + Operator-Configuration + http://localhost:1313/CYBERTEC-pg-operator/installation/configuration_operator/ + Tue, 07 Mar 2023 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/installation/configuration_operator/ + <p>Users who are already used to working with PostgreSQL from Baremetal or VMs are already familiar with the need for various files to configure PostgreSQL. These include</p> <ul> <li>postgresql.conf</li> <li>pg_hba.conf</li> <li>&hellip;</li> </ul> <p>Although these files are available in the container, direct modification is not planned. As part of the declarative mode of operation of the operator, these files are defined via the operator. The modifying intervention within the container also represents a contradiction to the immutability of the container.</p> + + + PostgreSQL 13 + http://localhost:1313/CYBERTEC-pg-operator/extensions/pg13/ + Thu, 28 Dec 2023 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/extensions/pg13/ + <blockquote class="gdoc-hint info"> <div class="gdoc-hint__title flex align-center"><i class="fa info" title="Info"></i></div> <div class="gdoc-hint__text">The extensions listed are included in the standard images. This list refers to PostgreSQL 13.</div> </blockquote> <table> <thead> <tr> <th>Name</th> <th>Default Version</th> <th>Comment</th> </tr> </thead> <tbody> <tr> <td>adminpack</td> <td>2.1</td> <td>Administrative functions for PostgreSQL</td> </tr> <tr> <td>amcheck</td> <td>1.2</td> <td>Functions for verifying relation integrity</td> </tr> <tr> <td>autoinc</td> <td>1.0</td> <td>Functions for autoincrementing fields</td> </tr> <tr> <td>bloom</td> <td>1.0</td> <td>Bloom access method - signature file based index</td> </tr> <tr> <td>btree_gin</td> <td>1.3</td> <td>Support for indexing common datatypes in GIN</td> </tr> <tr> <td>btree_gist</td> <td>1.5</td> <td>Support for indexing common datatypes in GiST</td> </tr> <tr> <td>citext</td> <td>1.6</td> <td>Data type for case-insensitive character strings</td> </tr> <tr> <td>credcheck</td> <td>3.0.0</td> <td>credcheck - PostgreSQL plain text credential checker</td> </tr> <tr> <td>cube</td> <td>1.4</td> <td>Data type for multidimensional cubes</td> </tr> <tr> <td>dblink</td> <td>1.2</td> <td>Connect to other PostgreSQL databases from within a database</td> </tr> <tr> <td>dict_int</td> <td>1.0</td> <td>Text search dictionary template for integers</td> </tr> <tr> <td>dict_xsyn</td> <td>1.0</td> <td>Text search dictionary template for extended synonym processing</td> </tr> <tr> <td>earthdistance</td> <td>1.1</td> <td>Calculate great-circle distances on the surface of the Earth</td> </tr> <tr> <td>file_fdw</td> <td>1.0</td> <td>Foreign-data wrapper for flat file access</td> </tr> <tr> <td>fuzzystrmatch</td> <td>1.1</td> <td>Determine similarities and distance between strings</td> </tr> <tr> <td>hstore</td> <td>1.7</td> <td>Data type for storing sets of (key, value) pairs</td> </tr> <tr> <td>hstore_plperl</td> <td>1.0</td> <td>Transform between hstore and plperl</td> </tr> <tr> <td>hstore_plperlu</td> <td>1.0</td> <td>Transform between hstore and plperlu</td> </tr> <tr> <td>hstore_plpython3u</td> <td>1.0</td> <td>Transform between hstore and plpython3u</td> </tr> <tr> <td>insert_username</td> <td>1.0</td> <td>Functions for tracking who changed a table</td> </tr> <tr> <td>intagg</td> <td>1.1</td> <td>Integer aggregator and enumerator (obsolete)</td> </tr> <tr> <td>intarray</td> <td>1.3</td> <td>Functions, operators, and index support for 1-D arrays of integers</td> </tr> <tr> <td>isn</td> <td>1.2</td> <td>Data types for international product numbering standards</td> </tr> <tr> <td>jsonb_plperl</td> <td>1.0</td> <td>Transform between jsonb and plperl</td> </tr> <tr> <td>jsonb_plperlu</td> <td>1.0</td> <td>Transform between jsonb and plperlu</td> </tr> <tr> <td>jsonb_plpython3u</td> <td>1.0</td> <td>Transform between jsonb and plpython3u</td> </tr> <tr> <td>lo</td> <td>1.1</td> <td>Large Object maintenance</td> </tr> <tr> <td>ltree</td> <td>1.2</td> <td>Data type for hierarchical tree-like structures</td> </tr> <tr> <td>ltree_plpython3u</td> <td>1.0</td> <td>Transform between ltree and plpython3u</td> </tr> <tr> <td>moddatetime</td> <td>1.0</td> <td>Functions for tracking last modification time</td> </tr> <tr> <td>pageinspect</td> <td>1.8</td> <td>Inspect the contents of database pages at a low level</td> </tr> <tr> <td>pg_buffercache</td> <td>1.3</td> <td>Examine the shared buffer cache</td> </tr> <tr> <td>pg_cron</td> <td>1.6</td> <td>Job scheduler for PostgreSQL</td> </tr> <tr> <td>pg_freespacemap</td> <td>1.2</td> <td>Examine the free space map (FSM)</td> </tr> <tr> <td>pg_permissions</td> <td>1.3</td> <td>View object permissions and compare them with the desired state</td> </tr> <tr> <td>pg_prewarm</td> <td>1.2</td> <td>Prewarm relation data</td> </tr> <tr> <td>pg_proctab</td> <td></td> <td>Placeholder - see pg_proctab&ndash;0.0.10-compat.control</td> </tr> <tr> <td>pg_stat_statements</td> <td>1.8</td> <td>Track planning and execution statistics of all SQL statements executed</td> </tr> <tr> <td>pg_trgm</td> <td>1.5</td> <td>Text similarity measurement and index searching based on trigrams</td> </tr> <tr> <td>pg_visibility</td> <td>1.2</td> <td>Examine the visibility map (VM) and page-level visibility info</td> </tr> <tr> <td>pgaudit</td> <td>1.5.3</td> <td>Provides auditing functionality</td> </tr> <tr> <td>pgauditlogtofile</td> <td>1.6</td> <td>pgAudit addon to redirect audit entries to an independent file</td> </tr> <tr> <td>pgcrypto</td> <td>1.3</td> <td>Cryptographic functions</td> </tr> <tr> <td>pgnodemx</td> <td>1.7</td> <td>SQL functions that allow capture of node OS metrics from PostgreSQL</td> </tr> <tr> <td>pgrowlocks</td> <td>1.2</td> <td>Show row-level locking information</td> </tr> <tr> <td>pgstattuple</td> <td>1.5</td> <td>Show tuple-level statistics</td> </tr> <tr> <td>plpgsql</td> <td>1.0</td> <td>PL/pgSQL procedural language</td> </tr> <tr> <td>plpython3u</td> <td>1.0</td> <td>PL/Python3U untrusted procedural language</td> </tr> <tr> <td>pltcl</td> <td>1.0</td> <td>PL/Tcl procedural language</td> </tr> <tr> <td>pltclu</td> <td>1.0</td> <td>PL/TclU untrusted procedural language</td> </tr> <tr> <td>postgres_fdw</td> <td>1.0</td> <td>Foreign-data wrapper for remote PostgreSQL servers</td> </tr> <tr> <td>refint</td> <td>1.0</td> <td>Functions for implementing referential integrity (obsolete)</td> </tr> <tr> <td>seg</td> <td>1.3</td> <td>Data type for representing line segments or floating-point intervals</td> </tr> <tr> <td>set_user</td> <td>4.1.0</td> <td>Similar to SET ROLE but with added logging</td> </tr> <tr> <td>sslinfo</td> <td>1.2</td> <td>Information about SSL certificates</td> </tr> <tr> <td>tablefunc</td> <td>1.0</td> <td>Functions that manipulate whole tables, including crosstab</td> </tr> <tr> <td>tcn</td> <td>1.0</td> <td>Triggered change notifications</td> </tr> <tr> <td>timescaledb</td> <td>2.15.3</td> <td>Enables scalable inserts and complex queries for time-series data (Apache 2 Edition)</td> </tr> <tr> <td>tsm_system_rows</td> <td>1.0</td> <td>TABLESAMPLE method which accepts number of rows as a limit</td> </tr> <tr> <td>tsm_system_time</td> <td>1.0</td> <td>TABLESAMPLE method which accepts time in milliseconds as a limit</td> </tr> <tr> <td>unaccent</td> <td>1.1</td> <td>Text search dictionary that removes accents</td> </tr> <tr> <td>uuid-ossp</td> <td>1.1</td> <td>Generate universally unique identifiers (UUIDs)</td> </tr> <tr> <td>xml2</td> <td>1.1</td> <td>XPath querying and XSLT</td> </tr> </tbody> </table> <blockquote class="gdoc-hint info"> <div class="gdoc-hint__title flex align-center"><i class="fa info" title="Info"></i></div> <div class="gdoc-hint__text">The following extensions are additionally included in the Postgis images.</div> </blockquote> <table> <thead> <tr> <th>Name</th> <th>Default Version</th> <th>Comment</th> </tr> </thead> <tbody> <tr> <td>address_standardizer</td> <td>3.4.4</td> <td>Used to parse an address into constituent elements. Generally used to support geocoding address normalization step.</td> </tr> <tr> <td>address_standardizer_data_us</td> <td>3.4.4</td> <td>Address Standardizer US dataset example</td> </tr> <tr> <td>postgis</td> <td>3.4.4</td> <td>PostGIS geometry and geography spatial types and functions</td> </tr> <tr> <td>postgis_raster</td> <td>3.4.4</td> <td>PostGIS raster types and functions</td> </tr> <tr> <td>postgis_sfcgal</td> <td>3.4.4</td> <td>PostGIS SFCGAL functions</td> </tr> <tr> <td>postgis_tiger_geocoder</td> <td>3.4.4</td> <td>PostGIS tiger geocoder and reverse geocoder</td> </tr> <tr> <td>postgis_topology</td> <td>3.4.4</td> <td>PostGIS topology spatial types and functions</td> </tr> </tbody> </table> + + + PostgreSQL 14 + http://localhost:1313/CYBERTEC-pg-operator/extensions/pg14/ + Thu, 28 Dec 2023 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/extensions/pg14/ + <blockquote class="gdoc-hint info"> <div class="gdoc-hint__title flex align-center"><i class="fa info" title="Info"></i></div> <div class="gdoc-hint__text">The extensions listed are included in the standard images. This list refers to PostgreSQL 14.</div> </blockquote> <table> <thead> <tr> <th>Name</th> <th>Default Version</th> <th>Comment</th> </tr> </thead> <tbody> <tr> <td>adminpack</td> <td>2.1</td> <td>Administrative functions for PostgreSQL</td> </tr> <tr> <td>amcheck</td> <td>1.3</td> <td>Functions for verifying relation integrity</td> </tr> <tr> <td>autoinc</td> <td>1.0</td> <td>Functions for autoincrementing fields</td> </tr> <tr> <td>bloom</td> <td>1.0</td> <td>Bloom access method - signature file based index</td> </tr> <tr> <td>btree_gin</td> <td>1.3</td> <td>Support for indexing common datatypes in GIN</td> </tr> <tr> <td>btree_gist</td> <td>1.6</td> <td>Support for indexing common datatypes in GiST</td> </tr> <tr> <td>citext</td> <td>1.6</td> <td>Data type for case-insensitive character strings</td> </tr> <tr> <td>credcheck</td> <td>3.0.0</td> <td>credcheck - PostgreSQL plain text credential checker</td> </tr> <tr> <td>cube</td> <td>1.5</td> <td>Data type for multidimensional cubes</td> </tr> <tr> <td>dblink</td> <td>1.2</td> <td>Connect to other PostgreSQL databases from within a database</td> </tr> <tr> <td>dict_int</td> <td>1.0</td> <td>Text search dictionary template for integers</td> </tr> <tr> <td>dict_xsyn</td> <td>1.0</td> <td>Text search dictionary template for extended synonym processing</td> </tr> <tr> <td>earthdistance</td> <td>1.1</td> <td>Calculate great-circle distances on the surface of the Earth</td> </tr> <tr> <td>file_fdw</td> <td>1.0</td> <td>Foreign-data wrapper for flat file access</td> </tr> <tr> <td>fuzzystrmatch</td> <td>1.1</td> <td>Determine similarities and distance between strings</td> </tr> <tr> <td>hstore</td> <td>1.8</td> <td>Data type for storing sets of (key, value) pairs</td> </tr> <tr> <td>hstore_plperl</td> <td>1.0</td> <td>Transform between hstore and plperl</td> </tr> <tr> <td>hstore_plperlu</td> <td>1.0</td> <td>Transform between hstore and plperlu</td> </tr> <tr> <td>hstore_plpython3u</td> <td>1.0</td> <td>Transform between hstore and plpython3u</td> </tr> <tr> <td>insert_username</td> <td>1.0</td> <td>Functions for tracking who changed a table</td> </tr> <tr> <td>intagg</td> <td>1.1</td> <td>Integer aggregator and enumerator (obsolete)</td> </tr> <tr> <td>intarray</td> <td>1.5</td> <td>Functions, operators, and index support for 1-D arrays of integers</td> </tr> <tr> <td>isn</td> <td>1.2</td> <td>Data types for international product numbering standards</td> </tr> <tr> <td>jsonb_plperl</td> <td>1.0</td> <td>Transform between jsonb and plperl</td> </tr> <tr> <td>jsonb_plperlu</td> <td>1.0</td> <td>Transform between jsonb and plperlu</td> </tr> <tr> <td>jsonb_plpython3u</td> <td>1.0</td> <td>Transform between jsonb and plpython3u</td> </tr> <tr> <td>lo</td> <td>1.1</td> <td>Large Object maintenance</td> </tr> <tr> <td>ltree</td> <td>1.2</td> <td>Data type for hierarchical tree-like structures</td> </tr> <tr> <td>ltree_plpython3u</td> <td>1.0</td> <td>Transform between ltree and plpython3u</td> </tr> <tr> <td>moddatetime</td> <td>1.0</td> <td>Functions for tracking last modification time</td> </tr> <tr> <td>old_snapshot</td> <td>1.0</td> <td>Utilities in support of old_snapshot_threshold</td> </tr> <tr> <td>pageinspect</td> <td>1.9</td> <td>Inspect the contents of database pages at a low level</td> </tr> <tr> <td>pg_buffercache</td> <td>1.3</td> <td>Examine the shared buffer cache</td> </tr> <tr> <td>pg_cron</td> <td>1.6</td> <td>Job scheduler for PostgreSQL</td> </tr> <tr> <td>pg_freespacemap</td> <td>1.2</td> <td>Examine the free space map (FSM)</td> </tr> <tr> <td>pg_permissions</td> <td>1.3</td> <td>View object permissions and compare them with the desired state</td> </tr> <tr> <td>pg_prewarm</td> <td>1.2</td> <td>Prewarm relation data</td> </tr> <tr> <td>pg_proctab</td> <td></td> <td>Placeholder - see pg_proctab&ndash;0.0.10-compat.control</td> </tr> <tr> <td>pg_stat_statements</td> <td>1.9</td> <td>Track planning and execution statistics of all SQL statements executed</td> </tr> <tr> <td>pg_surgery</td> <td>1.0</td> <td>Extension to perform surgery on a damaged relation</td> </tr> <tr> <td>pg_trgm</td> <td>1.6</td> <td>Text similarity measurement and index searching based on trigrams</td> </tr> <tr> <td>pg_visibility</td> <td>1.2</td> <td>Examine the visibility map (VM) and page-level visibility info</td> </tr> <tr> <td>pgaudit</td> <td>1.6.3</td> <td>Provides auditing functionality</td> </tr> <tr> <td>pgauditlogtofile</td> <td>1.6</td> <td>pgAudit addon to redirect audit entries to an independent file</td> </tr> <tr> <td>pgcrypto</td> <td>1.3</td> <td>Cryptographic functions</td> </tr> <tr> <td>pgnodemx</td> <td>1.7</td> <td>SQL functions that allow capture of node OS metrics from PostgreSQL</td> </tr> <tr> <td>pgrowlocks</td> <td>1.2</td> <td>Show row-level locking information</td> </tr> <tr> <td>pgstattuple</td> <td>1.5</td> <td>Show tuple-level statistics</td> </tr> <tr> <td>plpgsql</td> <td>1.0</td> <td>PL/pgSQL procedural language</td> </tr> <tr> <td>plpython3u</td> <td>1.0</td> <td>PL/Python3U untrusted procedural language</td> </tr> <tr> <td>pltcl</td> <td>1.0</td> <td>PL/Tcl procedural language</td> </tr> <tr> <td>pltclu</td> <td>1.0</td> <td>PL/TclU untrusted procedural language</td> </tr> <tr> <td>postgres_fdw</td> <td>1.1</td> <td>Foreign-data wrapper for remote PostgreSQL servers</td> </tr> <tr> <td>refint</td> <td>1.0</td> <td>Functions for implementing referential integrity (obsolete)</td> </tr> <tr> <td>seg</td> <td>1.4</td> <td>Data type for representing line segments or floating-point intervals</td> </tr> <tr> <td>set_user</td> <td>4.1.0</td> <td>Similar to SET ROLE but with added logging</td> </tr> <tr> <td>sslinfo</td> <td>1.2</td> <td>Information about SSL certificates</td> </tr> <tr> <td>tablefunc</td> <td>1.0</td> <td>Functions that manipulate whole tables, including crosstab</td> </tr> <tr> <td>tcn</td> <td>1.0</td> <td>Triggered change notifications</td> </tr> <tr> <td>timescaledb</td> <td>2.18.2</td> <td>Enables scalable inserts and complex queries for time-series data (Apache 2 Edition)</td> </tr> <tr> <td>tsm_system_rows</td> <td>1.0</td> <td>TABLESAMPLE method which accepts number of rows as a limit</td> </tr> <tr> <td>tsm_system_time</td> <td>1.0</td> <td>TABLESAMPLE method which accepts time in milliseconds as a limit</td> </tr> <tr> <td>unaccent</td> <td>1.1</td> <td>Text search dictionary that removes accents</td> </tr> <tr> <td>uuid-ossp</td> <td>1.1</td> <td>Generate universally unique identifiers (UUIDs)</td> </tr> <tr> <td>xml2</td> <td>1.1</td> <td>XPath querying and XSLT</td> </tr> </tbody> </table> <blockquote class="gdoc-hint info"> <div class="gdoc-hint__title flex align-center"><i class="fa info" title="Info"></i></div> <div class="gdoc-hint__text">The following extensions are additionally included in the Postgis images.</div> </blockquote> <table> <thead> <tr> <th>Name</th> <th>Default Version</th> <th>Comment</th> </tr> </thead> <tbody> <tr> <td>address_standardizer</td> <td>3.4.4</td> <td>Used to parse an address into constituent elements. Generally used to support geocoding address normalization step.</td> </tr> <tr> <td>address_standardizer_data_us</td> <td>3.4.4</td> <td>Address Standardizer US dataset example</td> </tr> <tr> <td>postgis</td> <td>3.4.4</td> <td>PostGIS geometry and geography spatial types and functions</td> </tr> <tr> <td>postgis_raster</td> <td>3.4.4</td> <td>PostGIS raster types and functions</td> </tr> <tr> <td>postgis_sfcgal</td> <td>3.4.4</td> <td>PostGIS SFCGAL functions</td> </tr> <tr> <td>postgis_tiger_geocoder</td> <td>3.4.4</td> <td>PostGIS tiger geocoder and reverse geocoder</td> </tr> <tr> <td>postgis_topology</td> <td>3.4.4</td> <td>PostGIS topology spatial types and functions</td> </tr> </tbody> </table> + + + PostgreSQL 15 + http://localhost:1313/CYBERTEC-pg-operator/extensions/pg15/ + Thu, 28 Dec 2023 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/extensions/pg15/ + <blockquote class="gdoc-hint info"> <div class="gdoc-hint__title flex align-center"><i class="fa info" title="Info"></i></div> <div class="gdoc-hint__text">The extensions listed are included in the standard images. This list refers to PostgreSQL 15.</div> </blockquote> <table> <thead> <tr> <th>Name</th> <th>Default Version</th> <th>Comment</th> </tr> </thead> <tbody> <tr> <td>adminpack</td> <td>2.1</td> <td>Administrative functions for PostgreSQL</td> </tr> <tr> <td>amcheck</td> <td>1.3</td> <td>Functions for verifying relation integrity</td> </tr> <tr> <td>autoinc</td> <td>1.0</td> <td>Functions for autoincrementing fields</td> </tr> <tr> <td>bloom</td> <td>1.0</td> <td>Bloom access method - signature file based index</td> </tr> <tr> <td>btree_gin</td> <td>1.3</td> <td>Support for indexing common datatypes in GIN</td> </tr> <tr> <td>btree_gist</td> <td>1.7</td> <td>Support for indexing common datatypes in GiST</td> </tr> <tr> <td>citext</td> <td>1.6</td> <td>Data type for case-insensitive character strings</td> </tr> <tr> <td>credcheck</td> <td>3.0.0</td> <td>credcheck - PostgreSQL plain text credential checker</td> </tr> <tr> <td>cube</td> <td>1.5</td> <td>Data type for multidimensional cubes</td> </tr> <tr> <td>dblink</td> <td>1.2</td> <td>Connect to other PostgreSQL databases from within a database</td> </tr> <tr> <td>dict_int</td> <td>1.0</td> <td>Text search dictionary template for integers</td> </tr> <tr> <td>dict_xsyn</td> <td>1.0</td> <td>Text search dictionary template for extended synonym processing</td> </tr> <tr> <td>earthdistance</td> <td>1.1</td> <td>Calculate great-circle distances on the surface of the Earth</td> </tr> <tr> <td>file_fdw</td> <td>1.0</td> <td>Foreign-data wrapper for flat file access</td> </tr> <tr> <td>fuzzystrmatch</td> <td>1.1</td> <td>Determine similarities and distance between strings</td> </tr> <tr> <td>hstore</td> <td>1.8</td> <td>Data type for storing sets of (key, value) pairs</td> </tr> <tr> <td>hstore_plperl</td> <td>1.0</td> <td>Transform between hstore and plperl</td> </tr> <tr> <td>hstore_plperlu</td> <td>1.0</td> <td>Transform between hstore and plperlu</td> </tr> <tr> <td>hstore_plpython3u</td> <td>1.0</td> <td>Transform between hstore and plpython3u</td> </tr> <tr> <td>insert_username</td> <td>1.0</td> <td>Functions for tracking who changed a table</td> </tr> <tr> <td>intagg</td> <td>1.1</td> <td>Integer aggregator and enumerator (obsolete)</td> </tr> <tr> <td>intarray</td> <td>1.5</td> <td>Functions, operators, and index support for 1-D arrays of integers</td> </tr> <tr> <td>isn</td> <td>1.2</td> <td>Data types for international product numbering standards</td> </tr> <tr> <td>jsonb_plperl</td> <td>1.0</td> <td>Transform between jsonb and plperl</td> </tr> <tr> <td>jsonb_plperlu</td> <td>1.0</td> <td>Transform between jsonb and plperlu</td> </tr> <tr> <td>jsonb_plpython3u</td> <td>1.0</td> <td>Transform between jsonb and plpython3u</td> </tr> <tr> <td>lo</td> <td>1.1</td> <td>Large Object maintenance</td> </tr> <tr> <td>ltree</td> <td>1.2</td> <td>Data type for hierarchical tree-like structures</td> </tr> <tr> <td>ltree_plpython3u</td> <td>1.0</td> <td>Transform between ltree and plpython3u</td> </tr> <tr> <td>moddatetime</td> <td>1.0</td> <td>Functions for tracking last modification time</td> </tr> <tr> <td>old_snapshot</td> <td>1.0</td> <td>Utilities in support of old_snapshot_threshold</td> </tr> <tr> <td>pageinspect</td> <td>1.11</td> <td>Inspect the contents of database pages at a low level</td> </tr> <tr> <td>pg_buffercache</td> <td>1.3</td> <td>Examine the shared buffer cache</td> </tr> <tr> <td>pg_cron</td> <td>1.6</td> <td>Job scheduler for PostgreSQL</td> </tr> <tr> <td>pg_freespacemap</td> <td>1.2</td> <td>Examine the free space map (FSM)</td> </tr> <tr> <td>pg_permissions</td> <td>1.3</td> <td>View object permissions and compare them with the desired state</td> </tr> <tr> <td>pg_prewarm</td> <td>1.2</td> <td>Prewarm relation data</td> </tr> <tr> <td>pg_proctab</td> <td></td> <td>Placeholder - see pg_proctab&ndash;0.0.10-compat.control</td> </tr> <tr> <td>pg_stat_statements</td> <td>1.10</td> <td>Track planning and execution statistics of all SQL statements executed</td> </tr> <tr> <td>pg_surgery</td> <td>1.0</td> <td>Extension to perform surgery on a damaged relation</td> </tr> <tr> <td>pg_trgm</td> <td>1.6</td> <td>Text similarity measurement and index searching based on trigrams</td> </tr> <tr> <td>pg_visibility</td> <td>1.2</td> <td>Examine the visibility map (VM) and page-level visibility info</td> </tr> <tr> <td>pg_walinspect</td> <td>1.0</td> <td>Functions to inspect contents of PostgreSQL Write-Ahead Log</td> </tr> <tr> <td>pgaudit</td> <td>1.7</td> <td>Provides auditing functionality</td> </tr> <tr> <td>pgauditlogtofile</td> <td>1.6</td> <td>pgAudit addon to redirect audit entries to an independent file</td> </tr> <tr> <td>pgcrypto</td> <td>1.3</td> <td>Cryptographic functions</td> </tr> <tr> <td>pgnodemx</td> <td>1.7</td> <td>SQL functions that allow capture of node OS metrics from PostgreSQL</td> </tr> <tr> <td>pgrowlocks</td> <td>1.2</td> <td>Show row-level locking information</td> </tr> <tr> <td>pgstattuple</td> <td>1.5</td> <td>Show tuple-level statistics</td> </tr> <tr> <td>plpgsql</td> <td>1.0</td> <td>PL/pgSQL procedural language</td> </tr> <tr> <td>plpython3u</td> <td>1.0</td> <td>PL/Python3U untrusted procedural language</td> </tr> <tr> <td>pltcl</td> <td>1.0</td> <td>PL/Tcl procedural language</td> </tr> <tr> <td>pltclu</td> <td>1.0</td> <td>PL/TclU untrusted procedural language</td> </tr> <tr> <td>postgres_fdw</td> <td>1.1</td> <td>Foreign-data wrapper for remote PostgreSQL servers</td> </tr> <tr> <td>refint</td> <td>1.0</td> <td>Functions for implementing referential integrity (obsolete)</td> </tr> <tr> <td>seg</td> <td>1.4</td> <td>Data type for representing line segments or floating-point intervals</td> </tr> <tr> <td>set_user</td> <td>4.1.0</td> <td>Similar to SET ROLE but with added logging</td> </tr> <tr> <td>sslinfo</td> <td>1.2</td> <td>Information about SSL certificates</td> </tr> <tr> <td>tablefunc</td> <td>1.0</td> <td>Functions that manipulate whole tables, including crosstab</td> </tr> <tr> <td>tcn</td> <td>1.0</td> <td>Triggered change notifications</td> </tr> <tr> <td>timescaledb</td> <td>2.18.2</td> <td>Enables scalable inserts and complex queries for time-series data (Apache 2 Edition)</td> </tr> <tr> <td>tsm_system_rows</td> <td>1.0</td> <td>TABLESAMPLE method which accepts number of rows as a limit</td> </tr> <tr> <td>tsm_system_time</td> <td>1.0</td> <td>TABLESAMPLE method which accepts time in milliseconds as a limit</td> </tr> <tr> <td>unaccent</td> <td>1.1</td> <td>Text search dictionary that removes accents</td> </tr> <tr> <td>uuid-ossp</td> <td>1.1</td> <td>Generate universally unique identifiers (UUIDs)</td> </tr> <tr> <td>xml2</td> <td>1.1</td> <td>XPath querying and XSLT</td> </tr> </tbody> </table> <blockquote class="gdoc-hint info"> <div class="gdoc-hint__title flex align-center"><i class="fa info" title="Info"></i></div> <div class="gdoc-hint__text">The following extensions are additionally included in the Postgis images.</div> </blockquote> <table> <thead> <tr> <th>Name</th> <th>Default Version</th> <th>Comment</th> </tr> </thead> <tbody> <tr> <td>address_standardizer</td> <td>3.4.4</td> <td>Used to parse an address into constituent elements. Generally used to support geocoding address normalization step.</td> </tr> <tr> <td>address_standardizer_data_us</td> <td>3.4.4</td> <td>Address Standardizer US dataset example</td> </tr> <tr> <td>postgis</td> <td>3.4.4</td> <td>PostGIS geometry and geography spatial types and functions</td> </tr> <tr> <td>postgis_raster</td> <td>3.4.4</td> <td>PostGIS raster types and functions</td> </tr> <tr> <td>postgis_sfcgal</td> <td>3.4.4</td> <td>PostGIS SFCGAL functions</td> </tr> <tr> <td>postgis_tiger_geocoder</td> <td>3.4.4</td> <td>PostGIS tiger geocoder and reverse geocoder</td> </tr> <tr> <td>postgis_topology</td> <td>3.4.4</td> <td>PostGIS topology spatial types and functions</td> </tr> </tbody> </table> + + + PostgreSQL 16 + http://localhost:1313/CYBERTEC-pg-operator/extensions/pg16/ + Thu, 28 Dec 2023 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/extensions/pg16/ + <blockquote class="gdoc-hint info"> <div class="gdoc-hint__title flex align-center"><i class="fa info" title="Info"></i></div> <div class="gdoc-hint__text">The extensions listed are included in the standard images. This list refers to PostgreSQL 16.</div> </blockquote> <table> <thead> <tr> <th>Name</th> <th>Default Version</th> <th>Comment</th> </tr> </thead> <tbody> <tr> <td>adminpack</td> <td>2.1</td> <td>Administrative functions for PostgreSQL</td> </tr> <tr> <td>amcheck</td> <td>1.3</td> <td>Functions for verifying relation integrity</td> </tr> <tr> <td>autoinc</td> <td>1.0</td> <td>Functions for autoincrementing fields</td> </tr> <tr> <td>bloom</td> <td>1.0</td> <td>Bloom access method - signature file based index</td> </tr> <tr> <td>btree_gin</td> <td>1.3</td> <td>Support for indexing common datatypes in GIN</td> </tr> <tr> <td>btree_gist</td> <td>1.7</td> <td>Support for indexing common datatypes in GiST</td> </tr> <tr> <td>citext</td> <td>1.6</td> <td>Data type for case-insensitive character strings</td> </tr> <tr> <td>credcheck</td> <td>3.0.0</td> <td>credcheck - PostgreSQL plain text credential checker</td> </tr> <tr> <td>cube</td> <td>1.5</td> <td>Data type for multidimensional cubes</td> </tr> <tr> <td>dblink</td> <td>1.2</td> <td>Connect to other PostgreSQL databases from within a database</td> </tr> <tr> <td>dict_int</td> <td>1.0</td> <td>Text search dictionary template for integers</td> </tr> <tr> <td>dict_xsyn</td> <td>1.0</td> <td>Text search dictionary template for extended synonym processing</td> </tr> <tr> <td>earthdistance</td> <td>1.2</td> <td>Calculate great-circle distances on the surface of the Earth</td> </tr> <tr> <td>file_fdw</td> <td>1.0</td> <td>Foreign-data wrapper for flat file access</td> </tr> <tr> <td>fuzzystrmatch</td> <td>1.2</td> <td>Determine similarities and distance between strings</td> </tr> <tr> <td>hstore</td> <td>1.8</td> <td>Data type for storing sets of (key, value) pairs</td> </tr> <tr> <td>hstore_plperl</td> <td>1.0</td> <td>Transform between hstore and plperl</td> </tr> <tr> <td>hstore_plperlu</td> <td>1.0</td> <td>Transform between hstore and plperlu</td> </tr> <tr> <td>hstore_plpython3u</td> <td>1.0</td> <td>Transform between hstore and plpython3u</td> </tr> <tr> <td>insert_username</td> <td>1.0</td> <td>Functions for tracking who changed a table</td> </tr> <tr> <td>intagg</td> <td>1.1</td> <td>Integer aggregator and enumerator (obsolete)</td> </tr> <tr> <td>intarray</td> <td>1.5</td> <td>Functions, operators, and index support for 1-D arrays of integers</td> </tr> <tr> <td>isn</td> <td>1.2</td> <td>Data types for international product numbering standards</td> </tr> <tr> <td>jsonb_plperl</td> <td>1.0</td> <td>Transform between jsonb and plperl</td> </tr> <tr> <td>jsonb_plperlu</td> <td>1.0</td> <td>Transform between jsonb and plperlu</td> </tr> <tr> <td>jsonb_plpython3u</td> <td>1.0</td> <td>Transform between jsonb and plpython3u</td> </tr> <tr> <td>lo</td> <td>1.1</td> <td>Large Object maintenance</td> </tr> <tr> <td>ltree</td> <td>1.2</td> <td>Data type for hierarchical tree-like structures</td> </tr> <tr> <td>ltree_plpython3u</td> <td>1.0</td> <td>Transform between ltree and plpython3u</td> </tr> <tr> <td>moddatetime</td> <td>1.0</td> <td>Functions for tracking last modification time</td> </tr> <tr> <td>old_snapshot</td> <td>1.0</td> <td>Utilities in support of old_snapshot_threshold</td> </tr> <tr> <td>pageinspect</td> <td>1.12</td> <td>Inspect the contents of database pages at a low level</td> </tr> <tr> <td>pg_buffercache</td> <td>1.4</td> <td>Examine the shared buffer cache</td> </tr> <tr> <td>pg_cron</td> <td>1.6</td> <td>Job scheduler for PostgreSQL</td> </tr> <tr> <td>pg_freespacemap</td> <td>1.2</td> <td>Examine the free space map (FSM)</td> </tr> <tr> <td>pg_permissions</td> <td>1.3</td> <td>View object permissions and compare them with the desired state</td> </tr> <tr> <td>pg_prewarm</td> <td>1.2</td> <td>Prewarm relation data</td> </tr> <tr> <td>pg_proctab</td> <td></td> <td>Placeholder - see pg_proctab&ndash;0.0.10-compat.control</td> </tr> <tr> <td>pg_stat_statements</td> <td>1.10</td> <td>Track planning and execution statistics of all SQL statements executed</td> </tr> <tr> <td>pg_surgery</td> <td>1.0</td> <td>Extension to perform surgery on a damaged relation</td> </tr> <tr> <td>pg_trgm</td> <td>1.6</td> <td>Text similarity measurement and index searching based on trigrams</td> </tr> <tr> <td>pg_visibility</td> <td>1.2</td> <td>Examine the visibility map (VM) and page-level visibility info</td> </tr> <tr> <td>pg_walinspect</td> <td>1.1</td> <td>Functions to inspect contents of PostgreSQL Write-Ahead Log</td> </tr> <tr> <td>pgaudit</td> <td>16.1</td> <td>Provides auditing functionality</td> </tr> <tr> <td>pgauditlogtofile</td> <td>1.6</td> <td>pgAudit addon to redirect audit entries to an independent file</td> </tr> <tr> <td>pgcrypto</td> <td>1.3</td> <td>Cryptographic functions</td> </tr> <tr> <td>pgnodemx</td> <td>1.7</td> <td>SQL functions that allow capture of node OS metrics from PostgreSQL</td> </tr> <tr> <td>pgrowlocks</td> <td>1.2</td> <td>Show row-level locking information</td> </tr> <tr> <td>pgstattuple</td> <td>1.5</td> <td>Show tuple-level statistics</td> </tr> <tr> <td>plpgsql</td> <td>1.0</td> <td>PL/pgSQL procedural language</td> </tr> <tr> <td>plpython3u</td> <td>1.0</td> <td>PL/Python3U untrusted procedural language</td> </tr> <tr> <td>pltcl</td> <td>1.0</td> <td>PL/Tcl procedural language</td> </tr> <tr> <td>pltclu</td> <td>1.0</td> <td>PL/TclU untrusted procedural language</td> </tr> <tr> <td>postgres_fdw</td> <td>1.1</td> <td>Foreign-data wrapper for remote PostgreSQL servers</td> </tr> <tr> <td>refint</td> <td>1.0</td> <td>Functions for implementing referential integrity (obsolete)</td> </tr> <tr> <td>seg</td> <td>1.4</td> <td>Data type for representing line segments or floating-point intervals</td> </tr> <tr> <td>set_user</td> <td>4.1.0</td> <td>Similar to SET ROLE but with added logging</td> </tr> <tr> <td>sslinfo</td> <td>1.2</td> <td>Information about SSL certificates</td> </tr> <tr> <td>tablefunc</td> <td>1.0</td> <td>Functions that manipulate whole tables, including crosstab</td> </tr> <tr> <td>tcn</td> <td>1.0</td> <td>Triggered change notifications</td> </tr> <tr> <td>timescaledb</td> <td>2.18.2</td> <td>Enables scalable inserts and complex queries for time-series data (Apache 2 Edition)</td> </tr> <tr> <td>tsm_system_rows</td> <td>1.0</td> <td>TABLESAMPLE method which accepts number of rows as a limit</td> </tr> <tr> <td>tsm_system_time</td> <td>1.0</td> <td>TABLESAMPLE method which accepts time in milliseconds as a limit</td> </tr> <tr> <td>unaccent</td> <td>1.1</td> <td>Text search dictionary that removes accents</td> </tr> <tr> <td>uuid-ossp</td> <td>1.1</td> <td>Generate universally unique identifiers (UUIDs)</td> </tr> <tr> <td>xml2</td> <td>1.1</td> <td>XPath querying and XSLT</td> </tr> </tbody> </table> <blockquote class="gdoc-hint info"> <div class="gdoc-hint__title flex align-center"><i class="fa info" title="Info"></i></div> <div class="gdoc-hint__text">The following extensions are additionally included in the Postgis images.</div> </blockquote> <table> <thead> <tr> <th>Name</th> <th>Default Version</th> <th>Comment</th> </tr> </thead> <tbody> <tr> <td>address_standardizer</td> <td>3.4.4</td> <td>Used to parse an address into constituent elements. Generally used to support geocoding address normalization step.</td> </tr> <tr> <td>address_standardizer_data_us</td> <td>3.4.4</td> <td>Address Standardizer US dataset example</td> </tr> <tr> <td>postgis</td> <td>3.4.4</td> <td>PostGIS geometry and geography spatial types and functions</td> </tr> <tr> <td>postgis_raster</td> <td>3.4.4</td> <td>PostGIS raster types and functions</td> </tr> <tr> <td>postgis_sfcgal</td> <td>3.4.4</td> <td>PostGIS SFCGAL functions</td> </tr> <tr> <td>postgis_tiger_geocoder</td> <td>3.4.4</td> <td>PostGIS tiger geocoder and reverse geocoder</td> </tr> <tr> <td>postgis_topology</td> <td>3.4.4</td> <td>PostGIS topology spatial types and functions</td> </tr> </tbody> </table> + + + PostgreSQL 17 + http://localhost:1313/CYBERTEC-pg-operator/extensions/pg17/ + Thu, 28 Dec 2023 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/extensions/pg17/ + <blockquote class="gdoc-hint info"> <div class="gdoc-hint__title flex align-center"><i class="fa info" title="Info"></i></div> <div class="gdoc-hint__text">The extensions listed are included in the standard images. This list refers to PostgreSQL 17.</div> </blockquote> <table> <thead> <tr> <th>Name</th> <th>Default Version</th> <th>Comment</th> </tr> </thead> <tbody> <tr> <td>amcheck</td> <td>1.4</td> <td>Functions for verifying relation integrity</td> </tr> <tr> <td>autoinc</td> <td>1.0</td> <td>Functions for autoincrementing fields</td> </tr> <tr> <td>bloom</td> <td>1.0</td> <td>Bloom access method - signature file based index</td> </tr> <tr> <td>btree_gin</td> <td>1.3</td> <td>Support for indexing common datatypes in GIN</td> </tr> <tr> <td>btree_gist</td> <td>1.7</td> <td>Support for indexing common datatypes in GiST</td> </tr> <tr> <td>citext</td> <td>1.6</td> <td>Data type for case-insensitive character strings</td> </tr> <tr> <td>credcheck</td> <td>3.0.0</td> <td>credcheck - PostgreSQL plain text credential checker</td> </tr> <tr> <td>cube</td> <td>1.5</td> <td>Data type for multidimensional cubes</td> </tr> <tr> <td>dblink</td> <td>1.2</td> <td>Connect to other PostgreSQL databases from within a database</td> </tr> <tr> <td>dict_int</td> <td>1.0</td> <td>Text search dictionary template for integers</td> </tr> <tr> <td>dict_xsyn</td> <td>1.0</td> <td>Text search dictionary template for extended synonym processing</td> </tr> <tr> <td>earthdistance</td> <td>1.2</td> <td>Calculate great-circle distances on the surface of the Earth</td> </tr> <tr> <td>file_fdw</td> <td>1.0</td> <td>Foreign-data wrapper for flat file access</td> </tr> <tr> <td>fuzzystrmatch</td> <td>1.2</td> <td>Determine similarities and distance between strings</td> </tr> <tr> <td>hstore</td> <td>1.8</td> <td>Data type for storing sets of (key, value) pairs</td> </tr> <tr> <td>hstore_plperl</td> <td>1.0</td> <td>Transform between hstore and plperl</td> </tr> <tr> <td>hstore_plperlu</td> <td>1.0</td> <td>Transform between hstore and plperlu</td> </tr> <tr> <td>hstore_plpython3u</td> <td>1.0</td> <td>Transform between hstore and plpython3u</td> </tr> <tr> <td>insert_username</td> <td>1.0</td> <td>Functions for tracking who changed a table</td> </tr> <tr> <td>intagg</td> <td>1.1</td> <td>Integer aggregator and enumerator (obsolete)</td> </tr> <tr> <td>intarray</td> <td>1.5</td> <td>Functions, operators, and index support for 1-D arrays of integers</td> </tr> <tr> <td>isn</td> <td>1.2</td> <td>Data types for international product numbering standards</td> </tr> <tr> <td>jsonb_plperl</td> <td>1.0</td> <td>Transform between jsonb and plperl</td> </tr> <tr> <td>jsonb_plperlu</td> <td>1.0</td> <td>Transform between jsonb and plperlu</td> </tr> <tr> <td>jsonb_plpython3u</td> <td>1.0</td> <td>Transform between jsonb and plpython3u</td> </tr> <tr> <td>lo</td> <td>1.1</td> <td>Large Object maintenance</td> </tr> <tr> <td>ltree</td> <td>1.3</td> <td>Data type for hierarchical tree-like structures</td> </tr> <tr> <td>ltree_plpython3u</td> <td>1.0</td> <td>Transform between ltree and plpython3u</td> </tr> <tr> <td>moddatetime</td> <td>1.0</td> <td>Functions for tracking last modification time</td> </tr> <tr> <td>pageinspect</td> <td>1.12</td> <td>Inspect the contents of database pages at a low level</td> </tr> <tr> <td>pg_buffercache</td> <td>1.5</td> <td>Examine the shared buffer cache</td> </tr> <tr> <td>pg_cron</td> <td>1.6</td> <td>Job scheduler for PostgreSQL</td> </tr> <tr> <td>pg_freespacemap</td> <td>1.2</td> <td>Examine the free space map (FSM)</td> </tr> <tr> <td>pg_permissions</td> <td>1.3</td> <td>View object permissions and compare them with the desired state</td> </tr> <tr> <td>pg_prewarm</td> <td>1.2</td> <td>Prewarm relation data</td> </tr> <tr> <td>pg_proctab</td> <td></td> <td>Placeholder - see pg_proctab&ndash;0.0.10-compat.control</td> </tr> <tr> <td>pg_stat_statements</td> <td>1.11</td> <td>Track planning and execution statistics of all SQL statements executed</td> </tr> <tr> <td>pg_surgery</td> <td>1.0</td> <td>Extension to perform surgery on a damaged relation</td> </tr> <tr> <td>pg_trgm</td> <td>1.6</td> <td>Text similarity measurement and index searching based on trigrams</td> </tr> <tr> <td>pg_visibility</td> <td>1.2</td> <td>Examine the visibility map (VM) and page-level visibility info</td> </tr> <tr> <td>pg_walinspect</td> <td>1.1</td> <td>Functions to inspect contents of PostgreSQL Write-Ahead Log</td> </tr> <tr> <td>pgaudit</td> <td>17.1</td> <td>Provides auditing functionality</td> </tr> <tr> <td>pgauditlogtofile</td> <td>1.6</td> <td>pgAudit addon to redirect audit entries to an independent file</td> </tr> <tr> <td>pgcrypto</td> <td>1.3</td> <td>Cryptographic functions</td> </tr> <tr> <td>pgnodemx</td> <td>1.7</td> <td>SQL functions that allow capture of node OS metrics from PostgreSQL</td> </tr> <tr> <td>pgrowlocks</td> <td>1.2</td> <td>Show row-level locking information</td> </tr> <tr> <td>pgstattuple</td> <td>1.5</td> <td>Show tuple-level statistics</td> </tr> <tr> <td>plpgsql</td> <td>1.0</td> <td>PL/pgSQL procedural language</td> </tr> <tr> <td>plpython3u</td> <td>1.0</td> <td>PL/Python3U untrusted procedural language</td> </tr> <tr> <td>pltcl</td> <td>1.0</td> <td>PL/Tcl procedural language</td> </tr> <tr> <td>pltclu</td> <td>1.0</td> <td>PL/TclU untrusted procedural language</td> </tr> <tr> <td>postgres_fdw</td> <td>1.1</td> <td>Foreign-data wrapper for remote PostgreSQL servers</td> </tr> <tr> <td>refint</td> <td>1.0</td> <td>Functions for implementing referential integrity (obsolete)</td> </tr> <tr> <td>seg</td> <td>1.4</td> <td>Data type for representing line segments or floating-point intervals</td> </tr> <tr> <td>set_user</td> <td>4.1.0</td> <td>Similar to SET ROLE but with added logging</td> </tr> <tr> <td>sslinfo</td> <td>1.2</td> <td>Information about SSL certificates</td> </tr> <tr> <td>tablefunc</td> <td>1.0</td> <td>Functions that manipulate whole tables, including crosstab</td> </tr> <tr> <td>tcn</td> <td>1.0</td> <td>Triggered change notifications</td> </tr> <tr> <td>timescaledb</td> <td>2.18.2</td> <td>Enables scalable inserts and complex queries for time-series data (Apache 2 Edition)</td> </tr> <tr> <td>tsm_system_rows</td> <td>1.0</td> <td>TABLESAMPLE method which accepts number of rows as a limit</td> </tr> <tr> <td>tsm_system_time</td> <td>1.0</td> <td>TABLESAMPLE method which accepts time in milliseconds as a limit</td> </tr> <tr> <td>unaccent</td> <td>1.1</td> <td>Text search dictionary that removes accents</td> </tr> <tr> <td>uuid-ossp</td> <td>1.1</td> <td>Generate universally unique identifiers (UUIDs)</td> </tr> <tr> <td>xml2</td> <td>1.1</td> <td>XPath querying and XSLT</td> </tr> </tbody> </table> <blockquote class="gdoc-hint info"> <div class="gdoc-hint__title flex align-center"><i class="fa info" title="Info"></i></div> <div class="gdoc-hint__text">The following extensions are additionally included in the Postgis images.</div> </blockquote> <table> <thead> <tr> <th>Name</th> <th>Default Version</th> <th>Comment</th> </tr> </thead> <tbody> <tr> <td>address_standardizer</td> <td>3.4.4</td> <td>Used to parse an address into constituent elements. Generally used to support geocoding address normalization step.</td> </tr> <tr> <td>address_standardizer_data_us</td> <td>3.4.4</td> <td>Address Standardizer US dataset example</td> </tr> <tr> <td>postgis</td> <td>3.4.4</td> <td>PostGIS geometry and geography spatial types and functions</td> </tr> <tr> <td>postgis_raster</td> <td>3.4.4</td> <td>PostGIS raster types and functions</td> </tr> <tr> <td>postgis_sfcgal</td> <td>3.4.4</td> <td>PostGIS SFCGAL functions</td> </tr> <tr> <td>postgis_tiger_geocoder</td> <td>3.4.4</td> <td>PostGIS tiger geocoder and reverse geocoder</td> </tr> <tr> <td>postgis_topology</td> <td>3.4.4</td> <td>PostGIS topology spatial types and functions</td> </tr> </tbody> </table> + + + Minor version update + http://localhost:1313/CYBERTEC-pg-operator/pg_versioning/minor_updates/ + Thu, 28 Dec 2023 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/pg_versioning/minor_updates/ + <p>Minor version updates for PostgreSQL are performed by updating the PostgreSQL container image in use. With the update object <code>spec.dockerImage</code> of the cluster manifest, the operator takes over the update based on the rolling update strategy. This means that the pods are replaced one after the other, with the replicas being updated first and then the old primary after a switchover. The operational interruption should generally last less than 5 seconds (switchover time), but the clients must still reconnect.</p> + + + Major version upgrade + http://localhost:1313/CYBERTEC-pg-operator/pg_versioning/major_upgrades/ + Thu, 28 Dec 2023 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/pg_versioning/major_upgrades/ + <p>CPO enables the use of the in-place upgrade, which makes it possible to upgrade a cluster to a new PG major. For this purpose, pg_upgrade is used in the background.</p> <blockquote class="gdoc-hint info"> <div class="gdoc-hint__title flex align-center"><i class="fa info" title="Info"></i></div> <div class="gdoc-hint__text">Note that an in-place upgrade generates both a pod restore in the form of a rolling update and an operational interruption of the cluster during the actual execution of the restore.</div> </blockquote> <div class="flex align-center gdoc-page__anchorwrap"> <h2 id="how-does-the-upgrade-work" > How does the upgrade work? </h2> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/pg_versioning/major_upgrades/#how-does-the-upgrade-work" class="gdoc-page__anchor clip flex align-center" title="Anchor to: How does the upgrade work?" aria-label="Anchor to: How does the upgrade work?" href="#how-does-the-upgrade-work"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <div class="flex align-center gdoc-page__anchorwrap"> <h3 id="preconditions" > Preconditions: </h3> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/pg_versioning/major_upgrades/#preconditions" class="gdoc-page__anchor clip flex align-center" title="Anchor to: Preconditions:" aria-label="Anchor to: Preconditions:" href="#preconditions"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <ol> <li>Pod restart - Use the rolling update strategy to replace all pods based on the new ENV <code>PGVERSION</code> with the version you want to update to.</li> <li>Check - Check that the new <code>PGVERSION</code> is larger than the previously used one.</li> <li>Check whether the new <code>PGVERSION</code> is larger than the previously used one and the maintenance mode of the cluster must be deactivated. In addition, the replicas should not have a high lag.</li> </ol> <div class="flex align-center gdoc-page__anchorwrap"> <h3 id="preliminary-checks" > Preliminary checks </h3> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/pg_versioning/major_upgrades/#preliminary-checks" class="gdoc-page__anchor clip flex align-center" title="Anchor to: Preliminary checks" aria-label="Anchor to: Preliminary checks" href="#preliminary-checks"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <ol> <li>use initdb to prepare a new data_dir (<code>data_new</code>) based on the new <code>PGVERSION</code>.</li> <li>check the upgrade possibility with <code>pg_upgrade --check</code></li> </ol> <blockquote class="gdoc-hint info"> <div class="gdoc-hint__title flex align-center"><i class="fa info" title="Info"></i></div> <div class="gdoc-hint__text">If one of the steps is aborted, a cleanup is performed</div> </blockquote> <div class="flex align-center gdoc-page__anchorwrap"> <h3 id="prepare-the-upgrade" > Prepare the Upgrade </h3> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/pg_versioning/major_upgrades/#prepare-the-upgrade" class="gdoc-page__anchor clip flex align-center" title="Anchor to: Prepare the Upgrade" aria-label="Anchor to: Prepare the Upgrade" href="#prepare-the-upgrade"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <ol> <li>remove dependencies that can cause problems. For example, the extensions <code>pg_stat_statements</code> and <code>pgaudit</code>.</li> <li>activate the maintenance mode of the cluster</li> <li>terminate PostgreSQL in an orderly manner</li> <li>check pg_controldata for the checkpoint position and wait until all replicas apply the latest checkpoint location</li> <li>use port <code>5432</code> for rsyncd and start it</li> </ol> <div class="flex align-center gdoc-page__anchorwrap"> <h3 id="start-the-upgrade" > Start the Upgrade </h3> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/pg_versioning/major_upgrades/#start-the-upgrade" class="gdoc-page__anchor clip flex align-center" title="Anchor to: Start the Upgrade" aria-label="Anchor to: Start the Upgrade" href="#start-the-upgrade"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <ol> <li>Call pg_upgrade -k to start the Upgrade <blockquote class="gdoc-hint info"> <div class="gdoc-hint__title flex align-center"><i class="fa info" title="Info"></i></div> <div class="gdoc-hint__text">if the process failed, we need to rollback, if it was sucessful we&rsquo;re reaching the point of no return</div> </blockquote> </li> <li>Rename the directories. <code>data -&gt; data_old</code> and <code>data_new -&gt; data</code></li> <li>Update the Patroni.config (<code>postgres.yml</code>)</li> <li>Call Checkpoint on every replica and trigger rsync on the Replicas</li> <li>Wait for Replicas to complete rsxnc. <code>Timeout: 300</code></li> <li>Stop rsyncd on Primary and remove ininitialize key from DCS, because its based on the old sysid</li> <li>Start Patroni on the Primary and start the postgres locally</li> <li>Reset custom staticstics, warmup the Memory and start Analyze in stages in separate threads</li> <li>Wait for every Replica to become ready</li> <li>Disable the maintenance mode for the Cluster</li> <li>Restore custom statistics, analyze these tables and restore dropped objetcs from <code>Prepare the upgrade</code></li> </ol> <div class="flex align-center gdoc-page__anchorwrap"> <h3 id="completion-of-the-upgrade" > Completion of the upgrade </h3> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/pg_versioning/major_upgrades/#completion-of-the-upgrade" class="gdoc-page__anchor clip flex align-center" title="Anchor to: Completion of the upgrade" aria-label="Anchor to: Completion of the upgrade" href="#completion-of-the-upgrade"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <ol> <li>Drop directory <code>data_old</code></li> <li>Trigger new Backup</li> </ol> <div class="flex align-center gdoc-page__anchorwrap"> <h3 id="how-a-rollback-is-working" > How a rollback is working? </h3> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/pg_versioning/major_upgrades/#how-a-rollback-is-working" class="gdoc-page__anchor clip flex align-center" title="Anchor to: How a rollback is working?" aria-label="Anchor to: How a rollback is working?" href="#how-a-rollback-is-working"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <ol> <li>Stop rsynd if its running</li> <li>Disable the maintenance mode for the Cluster</li> <li>Drop directory <code>data_new</code></li> </ol> <div class="flex align-center gdoc-page__anchorwrap"> <h2 id="how-to-trigger-a-in-place-upgrade-with-cpo" > How to trigger a In-Place-Upgrade with cpo? </h2> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/pg_versioning/major_upgrades/#how-to-trigger-a-in-place-upgrade-with-cpo" class="gdoc-page__anchor clip flex align-center" title="Anchor to: How to trigger a In-Place-Upgrade with cpo?" aria-label="Anchor to: How to trigger a In-Place-Upgrade with cpo?" href="#how-to-trigger-a-in-place-upgrade-with-cpo"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <pre tabindex="0"><code>spec: postgresql: version: &#34;17&#34; </code></pre><p>To trigger an In-Place-Upgrade you have just to increase the parameter <code>spec.postgresql.version</code>. If you choose a valid number the Operator will start with the prozedure, described above.</p> + + + diff --git a/docs/hugo/public/installation/configuration_operator/index.html b/docs/hugo/public/installation/configuration_operator/index.html new file mode 100644 index 000000000..d8cd72501 --- /dev/null +++ b/docs/hugo/public/installation/configuration_operator/index.html @@ -0,0 +1,5208 @@ + + + + + + + + + + + + + Operator-Configuration | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    +
    + + + + +
    + + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
    +
    +
    + + + +
    + + + + + +
    + + + + + + + + + + + +
    + +
    + + +
    + + +
    + + +
    +

    Operator-Configuration

    +
    +
    + +

    Users who are already used to working with PostgreSQL from Baremetal or VMs are already familiar with the need for various files to configure PostgreSQL. These include

    +
      +
    • postgresql.conf
    • +
    • pg_hba.conf
    • +
    • +
    +

    Although these files are available in the container, direct modification is not planned. As part of the declarative mode of operation of the operator, these files are defined via the operator. The modifying intervention within the container also represents a contradiction to the immutability of the container.

    +

    For these reasons, the operator provides a way to make adjustments to the various files, from PostgreSQL to Patroni.

    +

    We differentiate between two main objects in the cluster manifest:

    +
      +
    • postgresql with the child objects version and parameters
    • +
    • patroni with objects for the pg_hab, slots and much more
    • +
    +
    +

    + postgresql +

    + + + +
    +

    The postgresql object consists of the following elements:

    +
      +
    • version - allows you to select the major version of PostgreSQL used.
    • +
    • parameters- enables the postgresql.conf to be changed
    • +
    +
    spec:
    +  postgresql:
    +    parameters:
    +      shared_preload_libraries: 'pg_stat_statements,pgnodemx, timescaledb'
    +      shared_buffers: '512MB'
    +    version: '16'
    +

    Any known PostgreSQL parameter from postgresql.conf can be entered here and will be delivered by the operator to all nodes of the cluster accordingly.

    +

    You can find more information about the parameters in the PostgreSQL documentation

    +
    +

    + patroni +

    + + + +
    +

    The patroni object contains numerous options for customising the patroni-setu, and the pg_hba.conf is also configured here. A complete list of all available elements can be found here.

    +

    The most important elements include

    +
      +
    • pg_hba - pg_hba.conf
    • +
    • slots
    • +
    • synchronous_mode - enables synchronous mode in the cluster. The default is set to false
    • +
    • maximum_lag_on_failover - Specifies the maximum lag so that the pod is still considered healthy in the event of a failover.
    • +
    • failsafe_mode Allows you to cancel the downgrading of the leader if all cluster members can be reached via the Patroni Rest Api. +You can find more information on this in the Patroni documentation
    • +
    +
    +

    + pg_hba +

    + + + +
    +

    The pg_hba.conf contains all defined authentication rules for PostgreSQL.

    +

    When customising this configuration, it is important that the entire version of pg_hba is written to the manifest. +The current configuration can be read out in the database using table pg_hba_file_rules ;.

    +

    Further information can be found in the PostgreSQL documentation

    +
    +

    + slots +

    + + + +
    +

    When using user-defined slots, for example for the use of CDC using Debezium, there are problems when interacting with Patroni, as the slot and its current status are not automatically synchronised to the replicas.

    +

    In the event of a failover, the client cannot start replication as both the entire slot and the information about the data that has already been synchronised are missing.

    +

    To resolve this problem, slots must be defined in the cluster manifest rather than in PostgreSQL.

    +
    spec:
    +  patroni:
    +    slots:
    +      cdc-example:
    +        database: app_db
    +        plugin: pgoutput
    +        type: logical
    +

    This example creates a logical replication slot with the name cdc-example within the app_db database and uses the pgoutput plugin for the slot.

    + + + + + +
    +
    +
    Slots are only synchronised from the leader/standby leader to the replicas. This means that using the slots read-only on the replicas will cause a problem in the event of a failover.
    +
    + + +
    + + + + + + + +
    +
    + + + +
    + + + + + + diff --git a/docs/hugo/public/installation/dev-k8s/index.html b/docs/hugo/public/installation/dev-k8s/index.html new file mode 100644 index 000000000..ec4fb6a9f --- /dev/null +++ b/docs/hugo/public/installation/dev-k8s/index.html @@ -0,0 +1,5204 @@ + + + + + + + + + + + + + Setup local Kubernetes | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    +
    + + + + +
    + + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
    +
    +
    + + + +
    + + + + + +
    + + + + + + + + + + + +
    + +
    + + +
    + + +
    + + +
    +

    Setup local Kubernetes

    +
    +
    + +

    There are various options for setting up a local Kubernetes environment. This chapter deals with the following two variants:

    +
      +
    • minikube
    • +
    • crc (CodeReadyContainers from RedHat)
    • +
    +
    +

    + Minikube +

    + + + +
    +

    Minikube is a tool that makes it possible to run Kubernetes locally on a single computer. It sets up a minimal but functional Kubernetes environment suitable for development and testing purposes. Minikube supports most Kubernetes features and provides an easy way to launch and manage Kubernetes clusters on local machines without the need for a complex cloud infrastructure.

    +
    +

    + Install Kubectl & Minikube +

    + + + +
    +

    To use Minikube, it is essential to install the Kubectl client.

    +

    Here you will find all the information you need to install kubectl on your Linux, Mac or Windows device.

    +

    You can Install Minikube on your Linux-, Mac- or Windows-Devide using this Documentation.

    +
    +

    + Use Minikube +

    + + + +
    +

    Before starting minikube, it is advisable to define a path for the kubeconfig.

    +
    export KUBECONFIG=/home/USERNAME/kubeconfig_minikube.conf
    +

    You can then start minikube and all the necessary data is written directly to the conf. The definition of a user-defined path ensures that other configs are not inadvertently overwritten. +The path must be defined again via ENV in each new user session. Alternatively, this can also be permanently defined via .bashrc. +If the default path is not used for any other purpose, the ENV does not need to be set.

    +
    # Start minikube
    +minikube start
    +
    +# get pods from default namespace
    +kubectl get pods
    +
    +# change default namespace to cpo
    +kubectl config set-context --namespace=cpo
    +
    +

    + CRC +

    + + + +
    +

    CRC (CodeReady Containers) is a tool from Red Hat that provides a local OpenShift environment. It is specifically designed to run a compact version of OpenShift on a local machine to provide developers and testers with an easy way to develop and test applications optimised for use in OpenShift. CRC includes all the necessary OpenShift components and makes it possible to use Red Hat’s container platform locally without building a full cloud infrastructure.

    +
    +

    + Install oc-client & CRC +

    + + + +
    +

    To use CRC, it is essential to install the oc-client or the kubectl-client.

    +

    Here you will find all the information you need to install kubectl on your Linux, Mac or Windows device.

    +

    You can Download and install CRC on your Linux-, Mac- or Windows-Devide using this informations.

    +
    +

    + Use CRC +

    + + + +
    +

    Before installing crc, it is advisable to define a path for the kubeconfig.

    +
    export KUBECONFIG=/home/USERNAME/kubeconfig_crc.conf
    +

    You can then install and start crc and all the necessary data is written directly to the conf. The definition of a user-defined path ensures that other configs are not inadvertently overwritten. +The path must be defined again via ENV in each new user session. Alternatively, this can also be permanently defined via .bashrc. +If the default path is not used for any other purpose, the ENV does not need to be set.

    +
    # Install crc
    +crc setup
    +
    +# Start crc
    +crc start
    +
    +# get pods from default namespace
    +oc get pods
    +
    +# change default namespace to cpo
    +oc project cpo
    +
    +
    + + + + + + + +
    +
    + + + +
    + + + + + + diff --git a/docs/hugo/public/installation/index.html b/docs/hugo/public/installation/index.html new file mode 100644 index 000000000..593c60eeb --- /dev/null +++ b/docs/hugo/public/installation/index.html @@ -0,0 +1,5081 @@ + + + + + + + + + + + + Installation | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    +
    + + + + +
    + + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
    +
    +
    + + + +
    + + + + + +
    + + + + + + + + + + + +
    + +
    + + +
    + + +
    + + +
    +

    Installation

    +
    + +
    + +
    + + + + + + + +
    +
    + + + +
    + + + + + + diff --git a/docs/hugo/public/installation/index.xml b/docs/hugo/public/installation/index.xml new file mode 100644 index 000000000..ac9570723 --- /dev/null +++ b/docs/hugo/public/installation/index.xml @@ -0,0 +1,33 @@ + + + + Installation on CYBERTEC-PG-Operator + http://localhost:1313/CYBERTEC-pg-operator/installation/ + Recent content in Installation on CYBERTEC-PG-Operator + Hugo + en + Tue, 07 Mar 2023 14:26:51 +0100 + + + Setup local Kubernetes + http://localhost:1313/CYBERTEC-pg-operator/installation/dev-k8s/ + Tue, 07 Mar 2023 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/installation/dev-k8s/ + <p>There are various options for setting up a local Kubernetes environment. This chapter deals with the following two variants:</p> <ul> <li>minikube</li> <li>crc (CodeReadyContainers from RedHat)</li> </ul> <div class="flex align-center gdoc-page__anchorwrap"> <h3 id="minikube" > Minikube </h3> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/installation/dev-k8s/#minikube" class="gdoc-page__anchor clip flex align-center" title="Anchor to: Minikube" aria-label="Anchor to: Minikube" href="#minikube"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <p>Minikube is a tool that makes it possible to run Kubernetes locally on a single computer. It sets up a minimal but functional Kubernetes environment suitable for development and testing purposes. Minikube supports most Kubernetes features and provides an easy way to launch and manage Kubernetes clusters on local machines without the need for a complex cloud infrastructure.</p> + + + Install CPO + http://localhost:1313/CYBERTEC-pg-operator/installation/install_operator/ + Tue, 07 Mar 2023 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/installation/install_operator/ + <div class="flex align-center gdoc-page__anchorwrap"> <h2 id="prerequisites" > Prerequisites </h2> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/installation/install_operator/#prerequisites" class="gdoc-page__anchor clip flex align-center" title="Anchor to: Prerequisites" aria-label="Anchor to: Prerequisites" href="#prerequisites"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <p>For the installation you either need our CPO tutorial repository or you install CPO directly from our registry.<!-- raw HTML omitted --> Exception: Installation via Operatorhub (Openshift only)</p> <div class="flex align-center gdoc-page__anchorwrap"> <h3 id="cpo-tutorial-repository" > CPO-Tutorial-Repository </h3> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/installation/install_operator/#cpo-tutorial-repository" class="gdoc-page__anchor clip flex align-center" title="Anchor to: CPO-Tutorial-Repository" aria-label="Anchor to: CPO-Tutorial-Repository" href="#cpo-tutorial-repository"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <p>To get started, you can fork our tutorial repository on Github and then download it. <a class="gdoc-markdown__link" href="https://github.com/cybertec-postgresql/CYBERTEC-operator-tutorials/fork" >CYBERTEC-operator-tutorials</a></p> + + + Operator-Configuration + http://localhost:1313/CYBERTEC-pg-operator/installation/configuration_operator/ + Tue, 07 Mar 2023 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/installation/configuration_operator/ + <p>Users who are already used to working with PostgreSQL from Baremetal or VMs are already familiar with the need for various files to configure PostgreSQL. These include</p> <ul> <li>postgresql.conf</li> <li>pg_hba.conf</li> <li>&hellip;</li> </ul> <p>Although these files are available in the container, direct modification is not planned. As part of the declarative mode of operation of the operator, these files are defined via the operator. The modifying intervention within the container also represents a contradiction to the immutability of the container.</p> + + + diff --git a/docs/hugo/public/installation/install_operator/index.html b/docs/hugo/public/installation/install_operator/index.html new file mode 100644 index 000000000..37ef81b1f --- /dev/null +++ b/docs/hugo/public/installation/install_operator/index.html @@ -0,0 +1,5217 @@ + + + + + + + + + + + + + Install CPO | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    +
    + + + + +
    + + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
    +
    +
    + + + +
    + + + + + +
    + + + + + + + + + + + +
    + +
    + + +
    + + +
    + + +
    +

    Install CPO

    +
    +
    + +
    +

    + Prerequisites +

    + + + +
    +

    For the installation you either need our CPO tutorial repository or you install CPO directly from our registry. +Exception: Installation via Operatorhub (Openshift only)

    +
    +

    + CPO-Tutorial-Repository +

    + + + +
    +

    To get started, you can fork our tutorial repository on Github and then download it. +CYBERTEC-operator-tutorials

    +
    GITHUB_USER='[YOUR_USERNAME]'
    +git clone https://github.com/$GITHUB_USER/CYBERTEC-operator-tutorials.git
    +cd CYBERTEC-operator-tutorials
    +
    +

    + Helm-Registry +

    + + + +
    +

    helm repo add cpo https://cybertec-postgresql.github.io/CYBERTEC-operator-tutorials

    +
    +

    + Create Namespace +

    + + + +
    +
    # kubectl
    +kubectl create namespace cpo
    +
    +# oc
    +oc create namespace cpo
    +
    +

    + Install CPO +

    + + + +
    +

    There are several ways to install CPO:

    + +
    +

    + Helm +

    + + + +
    +

    You can check and change the value.yaml of the helm diagram under the path helm/operator/values.yaml +By default, the operator is defined so that it is configured via crd-configuration. If you wish, you can change this to configmap. There are also some other default settings.

    +
    helm install -n cpo cpo helm/operator/.
    +

    The installation uses a standard configuration. On the following page you will find more information on how to configure cpo and thus adapt it to your requirements.

    +
    +

    + Apply +

    + + + +
    +

    The installation uses a standard configuration. On the following page you will find more information on how to configure cpo and thus adapt it to your requirements.

    +
    +

    + Operatorhub +

    + + + +
    +

    The installation uses a standard configuration. On the following page you will find more information on how to configure cpo and thus adapt it to your requirements.

    + +
    + + + + + + + +
    +
    + + + +
    + + + + + + diff --git a/docs/hugo/public/installation/installation/index.html b/docs/hugo/public/installation/installation/index.html new file mode 100644 index 000000000..323d6cb18 --- /dev/null +++ b/docs/hugo/public/installation/installation/index.html @@ -0,0 +1,5300 @@ + + + + + + + + + + + + + Install CPO | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    +
    + + + + +
    + + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
    +
    +
    + + + +
    + + + + + +
    + + + + + + + + + + + +
    + +
    + + +
    + + +
    + + +
    +

    Install CPO

    +
    +
    + +
    +

    + Prerequisites +

    + + + +
    +

    For the installation you either need our CPO tutorial repository or you install CPO directly from our registry. +Exception: Installation via Operatorhub (Openshift only)

    +
    +

    + CPO-Tutorial-Repository +

    + + + +
    +

    To get started, you can fork our tutorial repository on Github and then download it. +CYBERTEC-operator-tutorials

    +
    GITHUB_USER='[YOUR_USERNAME]'
    +git clone https://github.com/$GITHUB_USER/CYBERTEC-operator-tutorials.git
    +cd CYBERTEC-operator-tutorials
    +
    +

    + CPO-Registry +

    + + + +
    +
    +

    + Create Namespace +

    + + + +
    +
    # kubectl
    +kubectl create namespace cpo
    +
    +# oc
    +oc create namespace cpo
    +
    +

    + Install CPO +

    + + + +
    +

    There are several ways to install CPO:

    + +
    +

    + Helm +

    + + + +
    +

    You can check and change the value.yaml of the helm diagram under the path helm/operator/values.yaml +By default, the operator is defined so that it is configured via crd-configuration. If you wish, you can change this to configmap. There are also some other default settings.

    +
    helm install -n cpo cpo helm/operator/.
    +

    The installation uses a standard configuration. On the following page you will find more information on how to configure cpo and thus adapt it to your requirements.

    +
    +

    + Apply +

    + + + +
    +

    The installation uses a standard configuration. On the following page you will find more information on how to configure cpo and thus adapt it to your requirements.

    +
    +

    + Operatorhub +

    + + + +
    +

    The installation uses a standard configuration. On the following page you will find more information on how to configure cpo and thus adapt it to your requirements.

    + +
    + + + + + + + +
    +
    + + + +
    + + + + + + diff --git a/docs/hugo/public/js/110-f4b990d9.chunk.min.js b/docs/hugo/public/js/110-f4b990d9.chunk.min.js new file mode 100644 index 000000000..a3d3612dd --- /dev/null +++ b/docs/hugo/public/js/110-f4b990d9.chunk.min.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgeekdoc=self.webpackChunkgeekdoc||[]).push([[110],{5110:(e,r,a)=>{a.d(r,{diagram:()=>k});var t=a(758),s=(a(6474),a(7308),a(7938),a(1282),a(1099),a(7588),a(3115),a(6058),a(8159),a(9502)),k={parser:t.Zk,db:t.iP,renderer:t.q7,styles:t.tM,init:(0,s.K2)((e=>{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute,t.iP.clear()}),"init")}}}]); \ No newline at end of file diff --git a/docs/hugo/public/js/12-0b8427d1.chunk.min.js b/docs/hugo/public/js/12-0b8427d1.chunk.min.js new file mode 100644 index 000000000..f025c5a68 --- /dev/null +++ b/docs/hugo/public/js/12-0b8427d1.chunk.min.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgeekdoc=self.webpackChunkgeekdoc||[]).push([[12],{53:(e,n,t)=>{t.d(n,{A:()=>i});var r=t(4507);const i=function(e){return(0,r.A)(e,4)}},9012:(e,n,t)=>{t.r(n),t.d(n,{render:()=>k});var r=t(7938),i=t(1282),a=(t(1099),t(7588),t(3115)),o=(t(6058),t(8159),t(9502)),d=t(567),s=t(9592),c=t(53),g=t(4722);function l(e){var n={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:f(e),edges:h(e)};return s.A(e.graph())||(n.value=c.A(e.graph())),n}function f(e){return g.A(e.nodes(),(function(n){var t=e.node(n),r=e.parent(n),i={v:n};return s.A(t)||(i.value=t),s.A(r)||(i.parent=r),i}))}function h(e){return g.A(e.edges(),(function(n){var t=e.edge(n),r={v:n.v,w:n.w};return s.A(n.name)||(r.name=n.name),s.A(t)||(r.value=t),r}))}t(1471);var u=t(697),p=new Map,m=new Map,w=new Map,R=(0,o.K2)((()=>{m.clear(),w.clear(),p.clear()}),"clear"),v=(0,o.K2)(((e,n)=>{const t=m.get(n)||[];return o.Rm.trace("In isDescendant",n," ",e," = ",t.includes(e)),t.includes(e)}),"isDescendant"),y=(0,o.K2)(((e,n)=>{const t=m.get(n)||[];return o.Rm.info("Descendants of ",n," is ",t),o.Rm.info("Edge is ",e),e.v!==n&&e.w!==n&&(t?t.includes(e.v)||v(e.v,n)||v(e.w,n)||t.includes(e.w):(o.Rm.debug("Tilt, ",n,",not in descendants"),!1))}),"edgeInCluster"),X=(0,o.K2)(((e,n,t,r)=>{o.Rm.warn("Copying children of ",e,"root",r,"data",n.node(e),r);const i=n.children(e)||[];e!==r&&i.push(e),o.Rm.warn("Copying (nodes) clusterId",e,"nodes",i),i.forEach((i=>{if(n.children(i).length>0)X(i,n,t,r);else{const a=n.node(i);o.Rm.info("cp ",i," to ",r," with parent ",e),t.setNode(i,a),r!==n.parent(i)&&(o.Rm.warn("Setting parent",i,n.parent(i)),t.setParent(i,n.parent(i))),e!==r&&i!==e?(o.Rm.debug("Setting parent",i,e),t.setParent(i,e)):(o.Rm.info("In copy ",e,"root",r,"data",n.node(e),r),o.Rm.debug("Not Setting parent for node=",i,"cluster!==rootId",e!==r,"node!==clusterId",i!==e));const d=n.edges(i);o.Rm.debug("Copying Edges",d),d.forEach((i=>{o.Rm.info("Edge",i);const a=n.edge(i.v,i.w,i.name);o.Rm.info("Edge data",a,r);try{y(i,r)?(o.Rm.info("Copying as ",i.v,i.w,a,i.name),t.setEdge(i.v,i.w,a,i.name),o.Rm.info("newGraph edges ",t.edges(),t.edge(t.edges()[0]))):o.Rm.info("Skipping copy of edge ",i.v,"--\x3e",i.w," rootId: ",r," clusterId:",e)}catch(e){o.Rm.error(e)}}))}o.Rm.debug("Removing node",i),n.removeNode(i)}))}),"copy"),b=(0,o.K2)(((e,n)=>{const t=n.children(e);let r=[...t];for(const i of t)w.set(i,e),r=[...r,...b(i,n)];return r}),"extractDescendants"),E=(0,o.K2)(((e,n,t)=>{const r=e.edges().filter((e=>e.v===n||e.w===n)),i=e.edges().filter((e=>e.v===t||e.w===t)),a=r.map((e=>({v:e.v===n?t:e.v,w:e.w===n?n:e.w}))),o=i.map((e=>({v:e.v,w:e.w})));return a.filter((e=>o.some((n=>e.v===n.v&&e.w===n.w))))}),"findCommonEdges"),N=(0,o.K2)(((e,n,t)=>{const r=n.children(e);if(o.Rm.trace("Searching children of id ",e,r),r.length<1)return e;let i;for(const e of r){const r=N(e,n,t),a=E(n,t,r);if(r){if(!(a.length>0))return r;i=r}}return i}),"findNonClusterChild"),C=(0,o.K2)((e=>p.has(e)&&p.get(e).externalConnections&&p.has(e)?p.get(e).id:e),"getAnchorId"),x=(0,o.K2)(((e,n)=>{if(!e||n>10)o.Rm.debug("Opting out, no graph ");else{o.Rm.debug("Opting in, graph "),e.nodes().forEach((function(n){e.children(n).length>0&&(o.Rm.warn("Cluster identified",n," Replacement id in edges: ",N(n,e,n)),m.set(n,b(n,e)),p.set(n,{id:N(n,e,n),clusterData:e.node(n)}))})),e.nodes().forEach((function(n){const t=e.children(n),r=e.edges();t.length>0?(o.Rm.debug("Cluster identified",n,m),r.forEach((e=>{v(e.v,n)^v(e.w,n)&&(o.Rm.warn("Edge: ",e," leaves cluster ",n),o.Rm.warn("Descendants of XXX ",n,": ",m.get(n)),p.get(n).externalConnections=!0)}))):o.Rm.debug("Not a cluster ",n,m)}));for(let n of p.keys()){const t=p.get(n).id,r=e.parent(t);r!==n&&p.has(r)&&!p.get(r).externalConnections&&(p.get(n).id=r)}e.edges().forEach((function(n){const t=e.edge(n);o.Rm.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),o.Rm.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let r=n.v,i=n.w;if(o.Rm.warn("Fix XXX",p,"ids:",n.v,n.w,"Translating: ",p.get(n.v)," --- ",p.get(n.w)),p.get(n.v)||p.get(n.w)){if(o.Rm.warn("Fixing and trying - removing XXX",n.v,n.w,n.name),r=C(n.v),i=C(n.w),e.removeEdge(n.v,n.w,n.name),r!==n.v){const i=e.parent(r);p.get(i).externalConnections=!0,t.fromCluster=n.v}if(i!==n.w){const r=e.parent(i);p.get(r).externalConnections=!0,t.toCluster=n.w}o.Rm.warn("Fix Replacing with XXX",r,i,n.name),e.setEdge(r,i,t,n.name)}})),o.Rm.warn("Adjusted Graph",l(e)),I(e,0),o.Rm.trace(p)}}),"adjustClustersAndEdges"),I=(0,o.K2)(((e,n)=>{if(o.Rm.warn("extractor - ",n,l(e),e.children("D")),n>10)return void o.Rm.error("Bailing out");let t=e.nodes(),r=!1;for(const n of t){const t=e.children(n);r=r||t.length>0}if(r){o.Rm.debug("Nodes = ",t,n);for(const r of t)if(o.Rm.debug("Extracting node",r,p,p.has(r)&&!p.get(r).externalConnections,!e.parent(r),e.node(r),e.children("D")," Depth ",n),p.has(r))if(!p.get(r).externalConnections&&e.children(r)&&e.children(r).length>0){o.Rm.warn("Cluster without external connections, without a parent and with children",r,n);let t="TB"===e.graph().rankdir?"LR":"TB";p.get(r)?.clusterData?.dir&&(t=p.get(r).clusterData.dir,o.Rm.warn("Fixing dir",p.get(r).clusterData.dir,t));const i=new u.T({multigraph:!0,compound:!0}).setGraph({rankdir:t,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel((function(){return{}}));o.Rm.warn("Old graph before copy",l(e)),X(r,e,i,r),e.setNode(r,{clusterNode:!0,id:r,clusterData:p.get(r).clusterData,label:p.get(r).label,graph:i}),o.Rm.warn("New graph after copy node: (",r,")",l(i)),o.Rm.debug("Old graph after copy",l(e))}else o.Rm.warn("Cluster ** ",r," **not meeting the criteria !externalConnections:",!p.get(r).externalConnections," no parent: ",!e.parent(r)," children ",e.children(r)&&e.children(r).length>0,e.children("D"),n),o.Rm.debug(p);else o.Rm.debug("Not a cluster",r,n);t=e.nodes(),o.Rm.warn("New list of nodes",t);for(const r of t){const t=e.node(r);o.Rm.warn(" Now next level",r,t),t?.clusterNode&&I(t.graph,n+1)}}else o.Rm.debug("Done, no node has children",e.nodes())}),"extractor"),S=(0,o.K2)(((e,n)=>{if(0===n.length)return[];let t=Object.assign([],n);return n.forEach((n=>{const r=e.children(n),i=S(e,r);t=[...t,...i]})),t}),"sorter"),D=(0,o.K2)((e=>S(e,e.children())),"sortNodesByHierarchy"),A=(0,o.K2)((async(e,n,t,s,c,g)=>{o.Rm.warn("Graph in recursive render:XAX",l(n),c);const f=n.graph().rankdir;o.Rm.trace("Dir in recursive render - dir:",f);const h=e.insert("g").attr("class","root");n.nodes()?o.Rm.info("Recursive render XXX",n.nodes()):o.Rm.info("No nodes found for",n),n.edges().length>0&&o.Rm.info("Recursive edges",n.edge(n.edges()[0]));const u=h.insert("g").attr("class","clusters"),m=h.insert("g").attr("class","edgePaths"),w=h.insert("g").attr("class","edgeLabels"),R=h.insert("g").attr("class","nodes");await Promise.all(n.nodes().map((async function(e){const r=n.node(e);if(void 0!==c){const t=JSON.parse(JSON.stringify(c.clusterData));o.Rm.trace("Setting data for parent cluster XXX\n Node.id = ",e,"\n data=",t.height,"\nParent cluster",c.height),n.setNode(c.id,t),n.parent(e)||(o.Rm.trace("Setting parent",e,c.id),n.setParent(e,c.id,t))}if(o.Rm.info("(Insert) Node XXX"+e+": "+JSON.stringify(n.node(e))),r?.clusterNode){o.Rm.info("Cluster identified XBX",e,r.width,n.node(e));const{ranksep:a,nodesep:d}=n.graph();r.graph.setGraph({...r.graph.graph(),ranksep:a+25,nodesep:d});const c=await A(R,r.graph,t,s,n.node(e),g),l=c.elem;(0,i.lC)(r,l),r.diff=c.diff||0,o.Rm.info("New compound node after recursive render XAX",e,"width",r.width,"height",r.height),(0,i.U7)(l,r)}else n.children(e).length>0?(o.Rm.trace("Cluster - the non recursive path XBX",e,r.id,r,r.width,"Graph:",n),o.Rm.trace(N(r.id,n)),p.set(r.id,{id:N(r.id,n),node:r})):(o.Rm.trace("Node - the non recursive path XAX",e,R,n.node(e),f),await(0,i.on)(R,n.node(e),{config:g,dir:f}))})));const v=(0,o.K2)((async()=>{const e=n.edges().map((async function(e){const t=n.edge(e.v,e.w,e.name);o.Rm.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(e)),o.Rm.info("Edge "+e.v+" -> "+e.w+": ",e," ",JSON.stringify(n.edge(e))),o.Rm.info("Fix",p,"ids:",e.v,e.w,"Translating: ",p.get(e.v),p.get(e.w)),await(0,r.jP)(w,t)}));await Promise.all(e)}),"processEdges");await v(),o.Rm.info("Graph before layout:",JSON.stringify(l(n))),o.Rm.info("############################################# XXX"),o.Rm.info("### Layout ### XXX"),o.Rm.info("############################################# XXX"),(0,d.Zp)(n),o.Rm.info("Graph after layout:",JSON.stringify(l(n)));let y=0,{subGraphTitleTotalMargin:X}=(0,a.O)(g);return await Promise.all(D(n).map((async function(e){const t=n.node(e);if(o.Rm.info("Position XBX => "+e+": ("+t.x,","+t.y,") width: ",t.width," height: ",t.height),t?.clusterNode)t.y+=X,o.Rm.info("A tainted cluster node XBX1",e,t.id,t.width,t.height,t.x,t.y,n.parent(e)),p.get(t.id).node=t,(0,i.U_)(t);else if(n.children(e).length>0){o.Rm.info("A pure cluster node XBX1",e,t.id,t.x,t.y,t.width,t.height,n.parent(e)),t.height+=X,n.node(t.parentId);const r=t?.padding/2||0,a=t?.labelBBox?.height||0,d=a-r||0;o.Rm.debug("OffsetY",d,"labelHeight",a,"halfPadding",r),await(0,i.U)(u,t),p.get(t.id).node=t}else{const e=n.node(t.parentId);t.y+=X/2,o.Rm.info("A regular node XBX1 - using the padding",t.id,"parent",t.parentId,t.width,t.height,t.x,t.y,"offsetY",t.offsetY,"parent",e,e?.offsetY,t),(0,i.U_)(t)}}))),n.edges().forEach((function(e){const i=n.edge(e);o.Rm.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(i),i),i.points.forEach((e=>e.y+=X/2));const a=n.node(e.v);var d=n.node(e.w);const c=(0,r.Jo)(m,i,p,t,a,d,s);(0,r.T_)(i,c)})),n.nodes().forEach((function(e){const t=n.node(e);o.Rm.info(e,t.type,t.diff),t.isGroup&&(y=t.diff)})),o.Rm.warn("Returning from recursive render XAX",h,y),{elem:h,diff:y}}),"recursiveRender"),k=(0,o.K2)((async(e,n)=>{const t=new u.T({multigraph:!0,compound:!0}).setGraph({rankdir:e.direction,nodesep:e.config?.nodeSpacing||e.config?.flowchart?.nodeSpacing||e.nodeSpacing,ranksep:e.config?.rankSpacing||e.config?.flowchart?.rankSpacing||e.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel((function(){return{}})),a=n.select("g");(0,r.g0)(a,e.markers,e.type,e.diagramId),(0,i.gh)(),(0,r.IU)(),(0,i.IU)(),R(),e.nodes.forEach((e=>{t.setNode(e.id,{...e}),e.parentId&&t.setParent(e.id,e.parentId)})),o.Rm.debug("Edges:",e.edges),e.edges.forEach((e=>{if(e.start===e.end){const n=e.start,r=n+"---"+n+"---1",i=n+"---"+n+"---2",a=t.node(n);t.setNode(r,{domId:r,id:r,parentId:a.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),t.setParent(r,a.parentId),t.setNode(i,{domId:i,id:i,parentId:a.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),t.setParent(i,a.parentId);const o=structuredClone(e),d=structuredClone(e),s=structuredClone(e);o.label="",o.arrowTypeEnd="none",o.id=n+"-cyclic-special-1",d.arrowTypeEnd="none",d.id=n+"-cyclic-special-mid",s.label="",a.isGroup&&(o.fromCluster=n,s.toCluster=n),s.id=n+"-cyclic-special-2",t.setEdge(n,r,o,n+"-cyclic-special-0"),t.setEdge(r,i,d,n+"-cyclic-special-1"),t.setEdge(i,n,s,n+"-cyc{r.d(t,{default:()=>tn});class a{constructor(e,t,r){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=e,this.start=t,this.end=r}static range(e,t){return t?e&&e.loc&&t.loc&&e.loc.lexer===t.loc.lexer?new a(e.loc.lexer,e.loc.start,t.loc.end):null:e&&e.loc}}class n{constructor(e,t){this.text=void 0,this.loc=void 0,this.noexpand=void 0,this.treatAsRelax=void 0,this.text=e,this.loc=t}range(e,t){return new n(t,a.range(this,e))}}class i{constructor(e,t){this.name=void 0,this.position=void 0,this.length=void 0,this.rawMessage=void 0;var r,a,n="KaTeX parse error: "+e,o=t&&t.loc;if(o&&o.start<=o.end){var s=o.lexer.input;r=o.start,a=o.end,r===s.length?n+=" at end of input: ":n+=" at position "+(r+1)+": ";var l=s.slice(r,a).replace(/[^]/g,"$&̲");n+=(r>15?"…"+s.slice(r-15,r):s.slice(0,r))+l+(a+15":">","<":"<",'"':""","'":"'"},l=/[&><"']/g,h=function e(t){return"ordgroup"===t.type||"color"===t.type?1===t.body.length?e(t.body[0]):t:"font"===t.type?e(t.body):t},m=function(e,t){return-1!==e.indexOf(t)},c=function(e,t){return void 0===e?t:e},p=function(e){return String(e).replace(l,(e=>s[e]))},u=function(e){return e.replace(o,"-$1").toLowerCase()},d=h,g=function(e){var t=h(e);return"mathord"===t.type||"textord"===t.type||"atom"===t.type},f=function(e){var t=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(e);return t?":"!==t[2]?null:/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(t[1])?t[1].toLowerCase():null:"_relative"},v={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format "},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color ",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:e=>"#"+e},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(e,t)=>(t.push(e),t)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:e=>Math.max(0,e),cli:"--min-rule-thickness ",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:e=>Math.max(0,e),cli:"-s, --max-size ",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:e=>Math.max(0,e),cli:"-e, --max-expand ",cliProcessor:e=>"Infinity"===e?1/0:parseInt(e)},globalGroup:{type:"boolean",cli:!1}};function b(e){if(e.default)return e.default;var t=e.type,r=Array.isArray(t)?t[0]:t;if("string"!=typeof r)return r.enum[0];switch(r){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}class y{constructor(e){for(var t in this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e=e||{},v)if(v.hasOwnProperty(t)){var r=v[t];this[t]=void 0!==e[t]?r.processor?r.processor(e[t]):e[t]:b(r)}}reportNonstrict(e,t,r){var a=this.strict;if("function"==typeof a&&(a=a(e,t,r)),a&&"ignore"!==a){if(!0===a||"error"===a)throw new i("LaTeX-incompatible input and strict mode is set to 'error': "+t+" ["+e+"]",r);"warn"===a?"undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+t+" ["+e+"]"):"undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to unrecognized '"+a+"': "+t+" ["+e+"]")}}useStrictBehavior(e,t,r){var a=this.strict;if("function"==typeof a)try{a=a(e,t,r)}catch(e){a="error"}return!(!a||"ignore"===a||!0!==a&&"error"!==a&&("warn"===a?("undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+t+" ["+e+"]"),1):("undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to unrecognized '"+a+"': "+t+" ["+e+"]"),1)))}isTrusted(e){if(e.url&&!e.protocol){var t=f(e.url);if(null==t)return!1;e.protocol=t}var r="function"==typeof this.trust?this.trust(e):this.trust;return Boolean(r)}}class x{constructor(e,t,r){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=t,this.cramped=r}sup(){return w[k[this.id]]}sub(){return w[S[this.id]]}fracNum(){return w[M[this.id]]}fracDen(){return w[z[this.id]]}cramp(){return w[A[this.id]]}text(){return w[T[this.id]]}isTight(){return this.size>=2}}var w=[new x(0,0,!1),new x(1,0,!0),new x(2,1,!1),new x(3,1,!0),new x(4,2,!1),new x(5,2,!0),new x(6,3,!1),new x(7,3,!0)],k=[4,5,4,5,6,7,6,7],S=[5,5,5,5,7,7,7,7],M=[2,3,4,5,6,7,6,7],z=[3,3,5,5,7,7,7,7],A=[1,1,3,3,5,5,7,7],T=[0,1,2,3,2,3,2,3],B={DISPLAY:w[0],TEXT:w[2],SCRIPT:w[4],SCRIPTSCRIPT:w[6]},N=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}],q=[];function C(e){for(var t=0;t=q[t]&&e<=q[t+1])return!0;return!1}N.forEach((e=>e.blocks.forEach((e=>q.push(...e)))));var I={doubleleftarrow:"M262 157\nl10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3\n 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28\n 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5\nc2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5\n 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87\n-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7\n-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z\nm8 0v40h399730v-40zm0 194v40h399730v-40z",doublerightarrow:"M399738 392l\n-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5\n 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88\n-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68\n-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18\n-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782\nc-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3\n-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z",leftarrow:"M400000 241H110l3-3c68.7-52.7 113.7-120\n 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8\n-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247\nc-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208\n 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3\n 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202\n l-3-3h399890zM100 241v40h399900v-40z",leftbrace:"M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117\n-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7\n 5-6 9-10 13-.7 1-7.3 1-20 1H6z",leftbraceunder:"M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13\n 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688\n 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7\n-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z",leftgroup:"M400000 80\nH435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0\n 435 0h399565z",leftgroupunder:"M400000 262\nH435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219\n 435 219h399565z",leftharpoon:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3\n-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5\n-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7\n-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z",leftharpoonplus:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5\n 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3\n-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7\n-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z\nm0 0v40h400000v-40z",leftharpoondown:"M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333\n 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5\n 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667\n-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z",leftharpoondownplus:"M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12\n 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7\n-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0\nv40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z",lefthook:"M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5\n-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3\n-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21\n 71.5 23h399859zM103 281v-40h399897v40z",leftlinesegment:"M40 281 V428 H0 V94 H40 V241 H400000 v40z\nM40 281 V428 H0 V94 H40 V241 H400000 v40z",leftmapsto:"M40 281 V448H0V74H40V241H400000v40z\nM40 281 V448H0V74H40V241H400000v40z",leftToFrom:"M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23\n-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8\nc28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3\n 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z",longequal:"M0 50 h400000 v40H0z m0 194h40000v40H0z\nM0 50 h400000 v40H0z m0 194h40000v40H0z",midbrace:"M200428 334\nc-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14\n-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7\n 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11\n 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z",midbraceunder:"M199572 214\nc100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14\n 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3\n 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0\n-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z",oiintSize1:"M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6\n-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z\nm368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8\n60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z",oiintSize2:"M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8\n-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z\nm502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2\nc0 110 84 276 504 276s502.4-166 502.4-276z",oiiintSize1:"M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6\n-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z\nm525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0\n85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z",oiiintSize2:"M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8\n-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z\nm770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1\nc0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z",rightarrow:"M0 241v40h399891c-47.3 35.3-84 78-110 128\n-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20\n 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7\n 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85\n-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n 151.7 139 205zm0 0v40h399900v-40z",rightbrace:"M400000 542l\n-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5\ns-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1\nc124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z",rightbraceunder:"M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3\n 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237\n-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z",rightgroup:"M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0\n 3-1 3-3v-38c-76-158-257-219-435-219H0z",rightgroupunder:"M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18\n 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z",rightharpoon:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3\n-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2\n-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58\n 69.2 92 94.5zm0 0v40h399900v-40z",rightharpoonplus:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11\n-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7\n 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z\nm0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z",rightharpoondown:"M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8\n 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5\n-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95\n-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z",rightharpoondownplus:"M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8\n 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3\n 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3\n-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z\nm0-194v40h400000v-40zm0 0v40h400000v-40z",righthook:"M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3\n 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0\n-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21\n 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z",rightlinesegment:"M399960 241 V94 h40 V428 h-40 V281 H0 v-40z\nM399960 241 V94 h40 V428 h-40 V281 H0 v-40z",rightToFrom:"M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23\n 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32\n-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142\n-167z M100 147v40h399900v-40zM0 341v40h399900v-40z",twoheadleftarrow:"M0 167c68 40\n 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69\n-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3\n-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19\n-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101\n 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z",twoheadrightarrow:"M400000 167\nc-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3\n 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42\n 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333\n-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70\n 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z",tilde1:"M200 55.538c-77 0-168 73.953-177 73.953-3 0-7\n-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0\n 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0\n 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128\n-68.267.847-113-73.952-191-73.952z",tilde2:"M344 55.266c-142 0-300.638 81.316-311.5 86.418\n-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9\n 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114\nc1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751\n 181.476 676 181.476c-149 0-189-126.21-332-126.21z",tilde3:"M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457\n-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0\n 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697\n 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696\n -338 0-409-156.573-744-156.573z",tilde4:"M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345\n-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409\n 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9\n 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409\n -175.236-744-175.236z",vec:"M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5\n3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11\n10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63\n-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1\n-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59\nH213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359\nc-16-25.333-24-45-24-59z",widehat1:"M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22\nc-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z",widehat2:"M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat3:"M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat4:"M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widecheck1:"M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,\n-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z",widecheck2:"M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck3:"M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck4:"M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",baraboveleftarrow:"M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202\nc4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5\nc-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130\ns-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47\n121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6\ns2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11\nc0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z\nM100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z",rightarrowabovebar:"M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32\n-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0\n13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39\n-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5\n-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z",baraboveshortleftharpoon:"M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17\nc2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21\nc-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40\nc-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z\nM0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z",rightharpoonaboveshortbar:"M0,241 l0,40c399126,0,399993,0,399993,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z",shortbaraboveleftharpoon:"M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,\n1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,\n-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z\nM93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z",shortrightharpoonabovebar:"M53,241l0,40c398570,0,399437,0,399437,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z"};class R{constructor(e){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return m(this.classes,e)}toNode(){for(var e=document.createDocumentFragment(),t=0;te.toText())).join("")}}var H={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},O={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},E={Å:"A",Ð:"D",Þ:"o",å:"a",ð:"d",þ:"o",А:"A",Б:"B",В:"B",Г:"F",Д:"A",Е:"E",Ж:"K",З:"3",И:"N",Й:"N",К:"K",Л:"N",М:"M",Н:"H",О:"O",П:"N",Р:"P",С:"C",Т:"T",У:"y",Ф:"O",Х:"X",Ц:"U",Ч:"h",Ш:"W",Щ:"W",Ъ:"B",Ы:"X",Ь:"B",Э:"3",Ю:"X",Я:"R",а:"a",б:"b",в:"a",г:"r",д:"y",е:"e",ж:"m",з:"e",и:"n",й:"n",к:"n",л:"n",м:"m",н:"n",о:"o",п:"n",р:"p",с:"c",т:"o",у:"y",ф:"b",х:"x",ц:"n",ч:"n",ш:"w",щ:"w",ъ:"a",ы:"m",ь:"a",э:"e",ю:"m",я:"r"};function L(e,t,r){if(!H[t])throw new Error("Font metrics not found for font: "+t+".");var a=e.charCodeAt(0),n=H[t][a];if(!n&&e[0]in E&&(a=E[e[0]].charCodeAt(0),n=H[t][a]),n||"text"!==r||C(a)&&(n=H[t][77]),n)return{depth:n[0],height:n[1],italic:n[2],skew:n[3],width:n[4]}}var D={},V=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],P=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],F=function(e,t){return t.size<2?e:V[e-1][t.size-1]};class G{constructor(e){this.style=void 0,this.color=void 0,this.size=void 0,this.textSize=void 0,this.phantom=void 0,this.font=void 0,this.fontFamily=void 0,this.fontWeight=void 0,this.fontShape=void 0,this.sizeMultiplier=void 0,this.maxSize=void 0,this.minRuleThickness=void 0,this._fontMetrics=void 0,this.style=e.style,this.color=e.color,this.size=e.size||G.BASESIZE,this.textSize=e.textSize||this.size,this.phantom=!!e.phantom,this.font=e.font||"",this.fontFamily=e.fontFamily||"",this.fontWeight=e.fontWeight||"",this.fontShape=e.fontShape||"",this.sizeMultiplier=P[this.size-1],this.maxSize=e.maxSize,this.minRuleThickness=e.minRuleThickness,this._fontMetrics=void 0}extend(e){var t={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);return new G(t)}havingStyle(e){return this.style===e?this:this.extend({style:e,size:F(this.textSize,e)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(e){return this.size===e&&this.textSize===e?this:this.extend({style:this.style.text(),size:e,textSize:e,sizeMultiplier:P[e-1]})}havingBaseStyle(e){e=e||this.style.text();var t=F(G.BASESIZE,e);return this.size===t&&this.textSize===G.BASESIZE&&this.style===e?this:this.extend({style:e,size:t})}havingBaseSizing(){var e;switch(this.style.id){case 4:case 5:e=3;break;case 6:case 7:e=1;break;default:e=6}return this.extend({style:this.style.text(),size:e})}withColor(e){return this.extend({color:e})}withPhantom(){return this.extend({phantom:!0})}withFont(e){return this.extend({font:e})}withTextFontFamily(e){return this.extend({fontFamily:e,font:""})}withTextFontWeight(e){return this.extend({fontWeight:e,font:""})}withTextFontShape(e){return this.extend({fontShape:e,font:""})}sizingClasses(e){return e.size!==this.size?["sizing","reset-size"+e.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==G.BASESIZE?["sizing","reset-size"+this.size,"size"+G.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=function(e){var t;if(!D[t=e>=5?0:e>=3?1:2]){var r=D[t]={cssEmPerMu:O.quad[t]/18};for(var a in O)O.hasOwnProperty(a)&&(r[a]=O[a][t])}return D[t]}(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}}G.BASESIZE=6;var U={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:1.00375,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:1.00375},Y={ex:!0,em:!0,mu:!0},X=function(e){return"string"!=typeof e&&(e=e.unit),e in U||e in Y||"ex"===e},W=function(e,t){var r;if(e.unit in U)r=U[e.unit]/t.fontMetrics().ptPerEm/t.sizeMultiplier;else if("mu"===e.unit)r=t.fontMetrics().cssEmPerMu;else{var a;if(a=t.style.isTight()?t.havingStyle(t.style.text()):t,"ex"===e.unit)r=a.fontMetrics().xHeight;else{if("em"!==e.unit)throw new i("Invalid unit: '"+e.unit+"'");r=a.fontMetrics().quad}a!==t&&(r*=a.sizeMultiplier/t.sizeMultiplier)}return Math.min(e.number*r,t.maxSize)},_=function(e){return+e.toFixed(4)+"em"},j=function(e){return e.filter((e=>e)).join(" ")},$=function(e,t,r){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=r||{},t){t.style.isTight()&&this.classes.push("mtight");var a=t.getColor();a&&(this.style.color=a)}},Z=function(e){var t=document.createElement(e);for(var r in t.className=j(this.classes),this.style)this.style.hasOwnProperty(r)&&(t.style[r]=this.style[r]);for(var a in this.attributes)this.attributes.hasOwnProperty(a)&&t.setAttribute(a,this.attributes[a]);for(var n=0;n/=\x00-\x1f]/,J=function(e){var t="<"+e;this.classes.length&&(t+=' class="'+p(j(this.classes))+'"');var r="";for(var a in this.style)this.style.hasOwnProperty(a)&&(r+=u(a)+":"+this.style[a]+";");for(var n in r&&(t+=' style="'+p(r)+'"'),this.attributes)if(this.attributes.hasOwnProperty(n)){if(K.test(n))throw new i("Invalid attribute name '"+n+"'");t+=" "+n+'="'+p(this.attributes[n])+'"'}t+=">";for(var o=0;o"};class Q{constructor(e,t,r,a){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,$.call(this,e,r,a),this.children=t||[]}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return m(this.classes,e)}toNode(){return Z.call(this,"span")}toMarkup(){return J.call(this,"span")}}class ee{constructor(e,t,r,a){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,$.call(this,t,a),this.children=r||[],this.setAttribute("href",e)}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return m(this.classes,e)}toNode(){return Z.call(this,"a")}toMarkup(){return J.call(this,"a")}}class te{constructor(e,t,r){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=t,this.src=e,this.classes=["mord"],this.style=r}hasClass(e){return m(this.classes,e)}toNode(){var e=document.createElement("img");for(var t in e.src=this.src,e.alt=this.alt,e.className="mord",this.style)this.style.hasOwnProperty(t)&&(e.style[t]=this.style[t]);return e}toMarkup(){var e=''+p(this.alt)+'"}}var re={î:"ı̂",ï:"ı̈",í:"ı́",ì:"ı̀"};class ae{constructor(e,t,r,a,n,i,o,s){this.text=void 0,this.height=void 0,this.depth=void 0,this.italic=void 0,this.skew=void 0,this.width=void 0,this.maxFontSize=void 0,this.classes=void 0,this.style=void 0,this.text=e,this.height=t||0,this.depth=r||0,this.italic=a||0,this.skew=n||0,this.width=i||0,this.classes=o||[],this.style=s||{},this.maxFontSize=0;var l=function(e){for(var t=0;t=n[0]&&e<=n[1])return r.name}return null}(this.text.charCodeAt(0));l&&this.classes.push(l+"_fallback"),/[îïíì]/.test(this.text)&&(this.text=re[this.text])}hasClass(e){return m(this.classes,e)}toNode(){var e=document.createTextNode(this.text),t=null;for(var r in this.italic>0&&((t=document.createElement("span")).style.marginRight=_(this.italic)),this.classes.length>0&&((t=t||document.createElement("span")).className=j(this.classes)),this.style)this.style.hasOwnProperty(r)&&((t=t||document.createElement("span")).style[r]=this.style[r]);return t?(t.appendChild(e),t):e}toMarkup(){var e=!1,t="0&&(r+="margin-right:"+this.italic+"em;"),this.style)this.style.hasOwnProperty(a)&&(r+=u(a)+":"+this.style[a]+";");r&&(e=!0,t+=' style="'+p(r)+'"');var n=p(this.text);return e?(t+=">",t+=n,t+=""):n}}class ne{constructor(e,t){this.children=void 0,this.attributes=void 0,this.children=e||[],this.attributes=t||{}}toNode(){var e=document.createElementNS("http://www.w3.org/2000/svg","svg");for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);for(var r=0;r"}}class ie{constructor(e,t){this.pathName=void 0,this.alternate=void 0,this.pathName=e,this.alternate=t}toNode(){var e=document.createElementNS("http://www.w3.org/2000/svg","path");return this.alternate?e.setAttribute("d",this.alternate):e.setAttribute("d",I[this.pathName]),e}toMarkup(){return this.alternate?'':''}}class oe{constructor(e){this.attributes=void 0,this.attributes=e||{}}toNode(){var e=document.createElementNS("http://www.w3.org/2000/svg","line");for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);return e}toMarkup(){var e=""}}function se(e){if(e instanceof ae)return e;throw new Error("Expected symbolNode but got "+String(e)+".")}var le={bin:1,close:1,inner:1,open:1,punct:1,rel:1},he={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1},me={math:{},text:{}};function ce(e,t,r,a,n,i){me[e][n]={font:t,group:r,replace:a},i&&a&&(me[e][a]=me[e][n])}var pe="math",ue="text",de="main",ge="ams",fe="accent-token",ve="bin",be="close",ye="inner",xe="mathord",we="op-token",ke="open",Se="punct",Me="rel",ze="spacing",Ae="textord";ce(pe,de,Me,"≡","\\equiv",!0),ce(pe,de,Me,"≺","\\prec",!0),ce(pe,de,Me,"≻","\\succ",!0),ce(pe,de,Me,"∼","\\sim",!0),ce(pe,de,Me,"⊥","\\perp"),ce(pe,de,Me,"⪯","\\preceq",!0),ce(pe,de,Me,"⪰","\\succeq",!0),ce(pe,de,Me,"≃","\\simeq",!0),ce(pe,de,Me,"∣","\\mid",!0),ce(pe,de,Me,"≪","\\ll",!0),ce(pe,de,Me,"≫","\\gg",!0),ce(pe,de,Me,"≍","\\asymp",!0),ce(pe,de,Me,"∥","\\parallel"),ce(pe,de,Me,"⋈","\\bowtie",!0),ce(pe,de,Me,"⌣","\\smile",!0),ce(pe,de,Me,"⊑","\\sqsubseteq",!0),ce(pe,de,Me,"⊒","\\sqsupseteq",!0),ce(pe,de,Me,"≐","\\doteq",!0),ce(pe,de,Me,"⌢","\\frown",!0),ce(pe,de,Me,"∋","\\ni",!0),ce(pe,de,Me,"∝","\\propto",!0),ce(pe,de,Me,"⊢","\\vdash",!0),ce(pe,de,Me,"⊣","\\dashv",!0),ce(pe,de,Me,"∋","\\owns"),ce(pe,de,Se,".","\\ldotp"),ce(pe,de,Se,"⋅","\\cdotp"),ce(pe,de,Ae,"#","\\#"),ce(ue,de,Ae,"#","\\#"),ce(pe,de,Ae,"&","\\&"),ce(ue,de,Ae,"&","\\&"),ce(pe,de,Ae,"ℵ","\\aleph",!0),ce(pe,de,Ae,"∀","\\forall",!0),ce(pe,de,Ae,"ℏ","\\hbar",!0),ce(pe,de,Ae,"∃","\\exists",!0),ce(pe,de,Ae,"∇","\\nabla",!0),ce(pe,de,Ae,"♭","\\flat",!0),ce(pe,de,Ae,"ℓ","\\ell",!0),ce(pe,de,Ae,"♮","\\natural",!0),ce(pe,de,Ae,"♣","\\clubsuit",!0),ce(pe,de,Ae,"℘","\\wp",!0),ce(pe,de,Ae,"♯","\\sharp",!0),ce(pe,de,Ae,"♢","\\diamondsuit",!0),ce(pe,de,Ae,"ℜ","\\Re",!0),ce(pe,de,Ae,"♡","\\heartsuit",!0),ce(pe,de,Ae,"ℑ","\\Im",!0),ce(pe,de,Ae,"♠","\\spadesuit",!0),ce(pe,de,Ae,"§","\\S",!0),ce(ue,de,Ae,"§","\\S"),ce(pe,de,Ae,"¶","\\P",!0),ce(ue,de,Ae,"¶","\\P"),ce(pe,de,Ae,"†","\\dag"),ce(ue,de,Ae,"†","\\dag"),ce(ue,de,Ae,"†","\\textdagger"),ce(pe,de,Ae,"‡","\\ddag"),ce(ue,de,Ae,"‡","\\ddag"),ce(ue,de,Ae,"‡","\\textdaggerdbl"),ce(pe,de,be,"⎱","\\rmoustache",!0),ce(pe,de,ke,"⎰","\\lmoustache",!0),ce(pe,de,be,"⟯","\\rgroup",!0),ce(pe,de,ke,"⟮","\\lgroup",!0),ce(pe,de,ve,"∓","\\mp",!0),ce(pe,de,ve,"⊖","\\ominus",!0),ce(pe,de,ve,"⊎","\\uplus",!0),ce(pe,de,ve,"⊓","\\sqcap",!0),ce(pe,de,ve,"∗","\\ast"),ce(pe,de,ve,"⊔","\\sqcup",!0),ce(pe,de,ve,"◯","\\bigcirc",!0),ce(pe,de,ve,"∙","\\bullet",!0),ce(pe,de,ve,"‡","\\ddagger"),ce(pe,de,ve,"≀","\\wr",!0),ce(pe,de,ve,"⨿","\\amalg"),ce(pe,de,ve,"&","\\And"),ce(pe,de,Me,"⟵","\\longleftarrow",!0),ce(pe,de,Me,"⇐","\\Leftarrow",!0),ce(pe,de,Me,"⟸","\\Longleftarrow",!0),ce(pe,de,Me,"⟶","\\longrightarrow",!0),ce(pe,de,Me,"⇒","\\Rightarrow",!0),ce(pe,de,Me,"⟹","\\Longrightarrow",!0),ce(pe,de,Me,"↔","\\leftrightarrow",!0),ce(pe,de,Me,"⟷","\\longleftrightarrow",!0),ce(pe,de,Me,"⇔","\\Leftrightarrow",!0),ce(pe,de,Me,"⟺","\\Longleftrightarrow",!0),ce(pe,de,Me,"↦","\\mapsto",!0),ce(pe,de,Me,"⟼","\\longmapsto",!0),ce(pe,de,Me,"↗","\\nearrow",!0),ce(pe,de,Me,"↩","\\hookleftarrow",!0),ce(pe,de,Me,"↪","\\hookrightarrow",!0),ce(pe,de,Me,"↘","\\searrow",!0),ce(pe,de,Me,"↼","\\leftharpoonup",!0),ce(pe,de,Me,"⇀","\\rightharpoonup",!0),ce(pe,de,Me,"↙","\\swarrow",!0),ce(pe,de,Me,"↽","\\leftharpoondown",!0),ce(pe,de,Me,"⇁","\\rightharpoondown",!0),ce(pe,de,Me,"↖","\\nwarrow",!0),ce(pe,de,Me,"⇌","\\rightleftharpoons",!0),ce(pe,ge,Me,"≮","\\nless",!0),ce(pe,ge,Me,"","\\@nleqslant"),ce(pe,ge,Me,"","\\@nleqq"),ce(pe,ge,Me,"⪇","\\lneq",!0),ce(pe,ge,Me,"≨","\\lneqq",!0),ce(pe,ge,Me,"","\\@lvertneqq"),ce(pe,ge,Me,"⋦","\\lnsim",!0),ce(pe,ge,Me,"⪉","\\lnapprox",!0),ce(pe,ge,Me,"⊀","\\nprec",!0),ce(pe,ge,Me,"⋠","\\npreceq",!0),ce(pe,ge,Me,"⋨","\\precnsim",!0),ce(pe,ge,Me,"⪹","\\precnapprox",!0),ce(pe,ge,Me,"≁","\\nsim",!0),ce(pe,ge,Me,"","\\@nshortmid"),ce(pe,ge,Me,"∤","\\nmid",!0),ce(pe,ge,Me,"⊬","\\nvdash",!0),ce(pe,ge,Me,"⊭","\\nvDash",!0),ce(pe,ge,Me,"⋪","\\ntriangleleft"),ce(pe,ge,Me,"⋬","\\ntrianglelefteq",!0),ce(pe,ge,Me,"⊊","\\subsetneq",!0),ce(pe,ge,Me,"","\\@varsubsetneq"),ce(pe,ge,Me,"⫋","\\subsetneqq",!0),ce(pe,ge,Me,"","\\@varsubsetneqq"),ce(pe,ge,Me,"≯","\\ngtr",!0),ce(pe,ge,Me,"","\\@ngeqslant"),ce(pe,ge,Me,"","\\@ngeqq"),ce(pe,ge,Me,"⪈","\\gneq",!0),ce(pe,ge,Me,"≩","\\gneqq",!0),ce(pe,ge,Me,"","\\@gvertneqq"),ce(pe,ge,Me,"⋧","\\gnsim",!0),ce(pe,ge,Me,"⪊","\\gnapprox",!0),ce(pe,ge,Me,"⊁","\\nsucc",!0),ce(pe,ge,Me,"⋡","\\nsucceq",!0),ce(pe,ge,Me,"⋩","\\succnsim",!0),ce(pe,ge,Me,"⪺","\\succnapprox",!0),ce(pe,ge,Me,"≆","\\ncong",!0),ce(pe,ge,Me,"","\\@nshortparallel"),ce(pe,ge,Me,"∦","\\nparallel",!0),ce(pe,ge,Me,"⊯","\\nVDash",!0),ce(pe,ge,Me,"⋫","\\ntriangleright"),ce(pe,ge,Me,"⋭","\\ntrianglerighteq",!0),ce(pe,ge,Me,"","\\@nsupseteqq"),ce(pe,ge,Me,"⊋","\\supsetneq",!0),ce(pe,ge,Me,"","\\@varsupsetneq"),ce(pe,ge,Me,"⫌","\\supsetneqq",!0),ce(pe,ge,Me,"","\\@varsupsetneqq"),ce(pe,ge,Me,"⊮","\\nVdash",!0),ce(pe,ge,Me,"⪵","\\precneqq",!0),ce(pe,ge,Me,"⪶","\\succneqq",!0),ce(pe,ge,Me,"","\\@nsubseteqq"),ce(pe,ge,ve,"⊴","\\unlhd"),ce(pe,ge,ve,"⊵","\\unrhd"),ce(pe,ge,Me,"↚","\\nleftarrow",!0),ce(pe,ge,Me,"↛","\\nrightarrow",!0),ce(pe,ge,Me,"⇍","\\nLeftarrow",!0),ce(pe,ge,Me,"⇏","\\nRightarrow",!0),ce(pe,ge,Me,"↮","\\nleftrightarrow",!0),ce(pe,ge,Me,"⇎","\\nLeftrightarrow",!0),ce(pe,ge,Me,"△","\\vartriangle"),ce(pe,ge,Ae,"ℏ","\\hslash"),ce(pe,ge,Ae,"▽","\\triangledown"),ce(pe,ge,Ae,"◊","\\lozenge"),ce(pe,ge,Ae,"Ⓢ","\\circledS"),ce(pe,ge,Ae,"®","\\circledR"),ce(ue,ge,Ae,"®","\\circledR"),ce(pe,ge,Ae,"∡","\\measuredangle",!0),ce(pe,ge,Ae,"∄","\\nexists"),ce(pe,ge,Ae,"℧","\\mho"),ce(pe,ge,Ae,"Ⅎ","\\Finv",!0),ce(pe,ge,Ae,"⅁","\\Game",!0),ce(pe,ge,Ae,"‵","\\backprime"),ce(pe,ge,Ae,"▲","\\blacktriangle"),ce(pe,ge,Ae,"▼","\\blacktriangledown"),ce(pe,ge,Ae,"■","\\blacksquare"),ce(pe,ge,Ae,"⧫","\\blacklozenge"),ce(pe,ge,Ae,"★","\\bigstar"),ce(pe,ge,Ae,"∢","\\sphericalangle",!0),ce(pe,ge,Ae,"∁","\\complement",!0),ce(pe,ge,Ae,"ð","\\eth",!0),ce(ue,de,Ae,"ð","ð"),ce(pe,ge,Ae,"╱","\\diagup"),ce(pe,ge,Ae,"╲","\\diagdown"),ce(pe,ge,Ae,"□","\\square"),ce(pe,ge,Ae,"□","\\Box"),ce(pe,ge,Ae,"◊","\\Diamond"),ce(pe,ge,Ae,"¥","\\yen",!0),ce(ue,ge,Ae,"¥","\\yen",!0),ce(pe,ge,Ae,"✓","\\checkmark",!0),ce(ue,ge,Ae,"✓","\\checkmark"),ce(pe,ge,Ae,"ℶ","\\beth",!0),ce(pe,ge,Ae,"ℸ","\\daleth",!0),ce(pe,ge,Ae,"ℷ","\\gimel",!0),ce(pe,ge,Ae,"ϝ","\\digamma",!0),ce(pe,ge,Ae,"ϰ","\\varkappa"),ce(pe,ge,ke,"┌","\\@ulcorner",!0),ce(pe,ge,be,"┐","\\@urcorner",!0),ce(pe,ge,ke,"└","\\@llcorner",!0),ce(pe,ge,be,"┘","\\@lrcorner",!0),ce(pe,ge,Me,"≦","\\leqq",!0),ce(pe,ge,Me,"⩽","\\leqslant",!0),ce(pe,ge,Me,"⪕","\\eqslantless",!0),ce(pe,ge,Me,"≲","\\lesssim",!0),ce(pe,ge,Me,"⪅","\\lessapprox",!0),ce(pe,ge,Me,"≊","\\approxeq",!0),ce(pe,ge,ve,"⋖","\\lessdot"),ce(pe,ge,Me,"⋘","\\lll",!0),ce(pe,ge,Me,"≶","\\lessgtr",!0),ce(pe,ge,Me,"⋚","\\lesseqgtr",!0),ce(pe,ge,Me,"⪋","\\lesseqqgtr",!0),ce(pe,ge,Me,"≑","\\doteqdot"),ce(pe,ge,Me,"≓","\\risingdotseq",!0),ce(pe,ge,Me,"≒","\\fallingdotseq",!0),ce(pe,ge,Me,"∽","\\backsim",!0),ce(pe,ge,Me,"⋍","\\backsimeq",!0),ce(pe,ge,Me,"⫅","\\subseteqq",!0),ce(pe,ge,Me,"⋐","\\Subset",!0),ce(pe,ge,Me,"⊏","\\sqsubset",!0),ce(pe,ge,Me,"≼","\\preccurlyeq",!0),ce(pe,ge,Me,"⋞","\\curlyeqprec",!0),ce(pe,ge,Me,"≾","\\precsim",!0),ce(pe,ge,Me,"⪷","\\precapprox",!0),ce(pe,ge,Me,"⊲","\\vartriangleleft"),ce(pe,ge,Me,"⊴","\\trianglelefteq"),ce(pe,ge,Me,"⊨","\\vDash",!0),ce(pe,ge,Me,"⊪","\\Vvdash",!0),ce(pe,ge,Me,"⌣","\\smallsmile"),ce(pe,ge,Me,"⌢","\\smallfrown"),ce(pe,ge,Me,"≏","\\bumpeq",!0),ce(pe,ge,Me,"≎","\\Bumpeq",!0),ce(pe,ge,Me,"≧","\\geqq",!0),ce(pe,ge,Me,"⩾","\\geqslant",!0),ce(pe,ge,Me,"⪖","\\eqslantgtr",!0),ce(pe,ge,Me,"≳","\\gtrsim",!0),ce(pe,ge,Me,"⪆","\\gtrapprox",!0),ce(pe,ge,ve,"⋗","\\gtrdot"),ce(pe,ge,Me,"⋙","\\ggg",!0),ce(pe,ge,Me,"≷","\\gtrless",!0),ce(pe,ge,Me,"⋛","\\gtreqless",!0),ce(pe,ge,Me,"⪌","\\gtreqqless",!0),ce(pe,ge,Me,"≖","\\eqcirc",!0),ce(pe,ge,Me,"≗","\\circeq",!0),ce(pe,ge,Me,"≜","\\triangleq",!0),ce(pe,ge,Me,"∼","\\thicksim"),ce(pe,ge,Me,"≈","\\thickapprox"),ce(pe,ge,Me,"⫆","\\supseteqq",!0),ce(pe,ge,Me,"⋑","\\Supset",!0),ce(pe,ge,Me,"⊐","\\sqsupset",!0),ce(pe,ge,Me,"≽","\\succcurlyeq",!0),ce(pe,ge,Me,"⋟","\\curlyeqsucc",!0),ce(pe,ge,Me,"≿","\\succsim",!0),ce(pe,ge,Me,"⪸","\\succapprox",!0),ce(pe,ge,Me,"⊳","\\vartriangleright"),ce(pe,ge,Me,"⊵","\\trianglerighteq"),ce(pe,ge,Me,"⊩","\\Vdash",!0),ce(pe,ge,Me,"∣","\\shortmid"),ce(pe,ge,Me,"∥","\\shortparallel"),ce(pe,ge,Me,"≬","\\between",!0),ce(pe,ge,Me,"⋔","\\pitchfork",!0),ce(pe,ge,Me,"∝","\\varpropto"),ce(pe,ge,Me,"◀","\\blacktriangleleft"),ce(pe,ge,Me,"∴","\\therefore",!0),ce(pe,ge,Me,"∍","\\backepsilon"),ce(pe,ge,Me,"▶","\\blacktriangleright"),ce(pe,ge,Me,"∵","\\because",!0),ce(pe,ge,Me,"⋘","\\llless"),ce(pe,ge,Me,"⋙","\\gggtr"),ce(pe,ge,ve,"⊲","\\lhd"),ce(pe,ge,ve,"⊳","\\rhd"),ce(pe,ge,Me,"≂","\\eqsim",!0),ce(pe,de,Me,"⋈","\\Join"),ce(pe,ge,Me,"≑","\\Doteq",!0),ce(pe,ge,ve,"∔","\\dotplus",!0),ce(pe,ge,ve,"∖","\\smallsetminus"),ce(pe,ge,ve,"⋒","\\Cap",!0),ce(pe,ge,ve,"⋓","\\Cup",!0),ce(pe,ge,ve,"⩞","\\doublebarwedge",!0),ce(pe,ge,ve,"⊟","\\boxminus",!0),ce(pe,ge,ve,"⊞","\\boxplus",!0),ce(pe,ge,ve,"⋇","\\divideontimes",!0),ce(pe,ge,ve,"⋉","\\ltimes",!0),ce(pe,ge,ve,"⋊","\\rtimes",!0),ce(pe,ge,ve,"⋋","\\leftthreetimes",!0),ce(pe,ge,ve,"⋌","\\rightthreetimes",!0),ce(pe,ge,ve,"⋏","\\curlywedge",!0),ce(pe,ge,ve,"⋎","\\curlyvee",!0),ce(pe,ge,ve,"⊝","\\circleddash",!0),ce(pe,ge,ve,"⊛","\\circledast",!0),ce(pe,ge,ve,"⋅","\\centerdot"),ce(pe,ge,ve,"⊺","\\intercal",!0),ce(pe,ge,ve,"⋒","\\doublecap"),ce(pe,ge,ve,"⋓","\\doublecup"),ce(pe,ge,ve,"⊠","\\boxtimes",!0),ce(pe,ge,Me,"⇢","\\dashrightarrow",!0),ce(pe,ge,Me,"⇠","\\dashleftarrow",!0),ce(pe,ge,Me,"⇇","\\leftleftarrows",!0),ce(pe,ge,Me,"⇆","\\leftrightarrows",!0),ce(pe,ge,Me,"⇚","\\Lleftarrow",!0),ce(pe,ge,Me,"↞","\\twoheadleftarrow",!0),ce(pe,ge,Me,"↢","\\leftarrowtail",!0),ce(pe,ge,Me,"↫","\\looparrowleft",!0),ce(pe,ge,Me,"⇋","\\leftrightharpoons",!0),ce(pe,ge,Me,"↶","\\curvearrowleft",!0),ce(pe,ge,Me,"↺","\\circlearrowleft",!0),ce(pe,ge,Me,"↰","\\Lsh",!0),ce(pe,ge,Me,"⇈","\\upuparrows",!0),ce(pe,ge,Me,"↿","\\upharpoonleft",!0),ce(pe,ge,Me,"⇃","\\downharpoonleft",!0),ce(pe,de,Me,"⊶","\\origof",!0),ce(pe,de,Me,"⊷","\\imageof",!0),ce(pe,ge,Me,"⊸","\\multimap",!0),ce(pe,ge,Me,"↭","\\leftrightsquigarrow",!0),ce(pe,ge,Me,"⇉","\\rightrightarrows",!0),ce(pe,ge,Me,"⇄","\\rightleftarrows",!0),ce(pe,ge,Me,"↠","\\twoheadrightarrow",!0),ce(pe,ge,Me,"↣","\\rightarrowtail",!0),ce(pe,ge,Me,"↬","\\looparrowright",!0),ce(pe,ge,Me,"↷","\\curvearrowright",!0),ce(pe,ge,Me,"↻","\\circlearrowright",!0),ce(pe,ge,Me,"↱","\\Rsh",!0),ce(pe,ge,Me,"⇊","\\downdownarrows",!0),ce(pe,ge,Me,"↾","\\upharpoonright",!0),ce(pe,ge,Me,"⇂","\\downharpoonright",!0),ce(pe,ge,Me,"⇝","\\rightsquigarrow",!0),ce(pe,ge,Me,"⇝","\\leadsto"),ce(pe,ge,Me,"⇛","\\Rrightarrow",!0),ce(pe,ge,Me,"↾","\\restriction"),ce(pe,de,Ae,"‘","`"),ce(pe,de,Ae,"$","\\$"),ce(ue,de,Ae,"$","\\$"),ce(ue,de,Ae,"$","\\textdollar"),ce(pe,de,Ae,"%","\\%"),ce(ue,de,Ae,"%","\\%"),ce(pe,de,Ae,"_","\\_"),ce(ue,de,Ae,"_","\\_"),ce(ue,de,Ae,"_","\\textunderscore"),ce(pe,de,Ae,"∠","\\angle",!0),ce(pe,de,Ae,"∞","\\infty",!0),ce(pe,de,Ae,"′","\\prime"),ce(pe,de,Ae,"△","\\triangle"),ce(pe,de,Ae,"Γ","\\Gamma",!0),ce(pe,de,Ae,"Δ","\\Delta",!0),ce(pe,de,Ae,"Θ","\\Theta",!0),ce(pe,de,Ae,"Λ","\\Lambda",!0),ce(pe,de,Ae,"Ξ","\\Xi",!0),ce(pe,de,Ae,"Π","\\Pi",!0),ce(pe,de,Ae,"Σ","\\Sigma",!0),ce(pe,de,Ae,"Υ","\\Upsilon",!0),ce(pe,de,Ae,"Φ","\\Phi",!0),ce(pe,de,Ae,"Ψ","\\Psi",!0),ce(pe,de,Ae,"Ω","\\Omega",!0),ce(pe,de,Ae,"A","Α"),ce(pe,de,Ae,"B","Β"),ce(pe,de,Ae,"E","Ε"),ce(pe,de,Ae,"Z","Ζ"),ce(pe,de,Ae,"H","Η"),ce(pe,de,Ae,"I","Ι"),ce(pe,de,Ae,"K","Κ"),ce(pe,de,Ae,"M","Μ"),ce(pe,de,Ae,"N","Ν"),ce(pe,de,Ae,"O","Ο"),ce(pe,de,Ae,"P","Ρ"),ce(pe,de,Ae,"T","Τ"),ce(pe,de,Ae,"X","Χ"),ce(pe,de,Ae,"¬","\\neg",!0),ce(pe,de,Ae,"¬","\\lnot"),ce(pe,de,Ae,"⊤","\\top"),ce(pe,de,Ae,"⊥","\\bot"),ce(pe,de,Ae,"∅","\\emptyset"),ce(pe,ge,Ae,"∅","\\varnothing"),ce(pe,de,xe,"α","\\alpha",!0),ce(pe,de,xe,"β","\\beta",!0),ce(pe,de,xe,"γ","\\gamma",!0),ce(pe,de,xe,"δ","\\delta",!0),ce(pe,de,xe,"ϵ","\\epsilon",!0),ce(pe,de,xe,"ζ","\\zeta",!0),ce(pe,de,xe,"η","\\eta",!0),ce(pe,de,xe,"θ","\\theta",!0),ce(pe,de,xe,"ι","\\iota",!0),ce(pe,de,xe,"κ","\\kappa",!0),ce(pe,de,xe,"λ","\\lambda",!0),ce(pe,de,xe,"μ","\\mu",!0),ce(pe,de,xe,"ν","\\nu",!0),ce(pe,de,xe,"ξ","\\xi",!0),ce(pe,de,xe,"ο","\\omicron",!0),ce(pe,de,xe,"π","\\pi",!0),ce(pe,de,xe,"ρ","\\rho",!0),ce(pe,de,xe,"σ","\\sigma",!0),ce(pe,de,xe,"τ","\\tau",!0),ce(pe,de,xe,"υ","\\upsilon",!0),ce(pe,de,xe,"ϕ","\\phi",!0),ce(pe,de,xe,"χ","\\chi",!0),ce(pe,de,xe,"ψ","\\psi",!0),ce(pe,de,xe,"ω","\\omega",!0),ce(pe,de,xe,"ε","\\varepsilon",!0),ce(pe,de,xe,"ϑ","\\vartheta",!0),ce(pe,de,xe,"ϖ","\\varpi",!0),ce(pe,de,xe,"ϱ","\\varrho",!0),ce(pe,de,xe,"ς","\\varsigma",!0),ce(pe,de,xe,"φ","\\varphi",!0),ce(pe,de,ve,"∗","*",!0),ce(pe,de,ve,"+","+"),ce(pe,de,ve,"−","-",!0),ce(pe,de,ve,"⋅","\\cdot",!0),ce(pe,de,ve,"∘","\\circ",!0),ce(pe,de,ve,"÷","\\div",!0),ce(pe,de,ve,"±","\\pm",!0),ce(pe,de,ve,"×","\\times",!0),ce(pe,de,ve,"∩","\\cap",!0),ce(pe,de,ve,"∪","\\cup",!0),ce(pe,de,ve,"∖","\\setminus",!0),ce(pe,de,ve,"∧","\\land"),ce(pe,de,ve,"∨","\\lor"),ce(pe,de,ve,"∧","\\wedge",!0),ce(pe,de,ve,"∨","\\vee",!0),ce(pe,de,Ae,"√","\\surd"),ce(pe,de,ke,"⟨","\\langle",!0),ce(pe,de,ke,"∣","\\lvert"),ce(pe,de,ke,"∥","\\lVert"),ce(pe,de,be,"?","?"),ce(pe,de,be,"!","!"),ce(pe,de,be,"⟩","\\rangle",!0),ce(pe,de,be,"∣","\\rvert"),ce(pe,de,be,"∥","\\rVert"),ce(pe,de,Me,"=","="),ce(pe,de,Me,":",":"),ce(pe,de,Me,"≈","\\approx",!0),ce(pe,de,Me,"≅","\\cong",!0),ce(pe,de,Me,"≥","\\ge"),ce(pe,de,Me,"≥","\\geq",!0),ce(pe,de,Me,"←","\\gets"),ce(pe,de,Me,">","\\gt",!0),ce(pe,de,Me,"∈","\\in",!0),ce(pe,de,Me,"","\\@not"),ce(pe,de,Me,"⊂","\\subset",!0),ce(pe,de,Me,"⊃","\\supset",!0),ce(pe,de,Me,"⊆","\\subseteq",!0),ce(pe,de,Me,"⊇","\\supseteq",!0),ce(pe,ge,Me,"⊈","\\nsubseteq",!0),ce(pe,ge,Me,"⊉","\\nsupseteq",!0),ce(pe,de,Me,"⊨","\\models"),ce(pe,de,Me,"←","\\leftarrow",!0),ce(pe,de,Me,"≤","\\le"),ce(pe,de,Me,"≤","\\leq",!0),ce(pe,de,Me,"<","\\lt",!0),ce(pe,de,Me,"→","\\rightarrow",!0),ce(pe,de,Me,"→","\\to"),ce(pe,ge,Me,"≱","\\ngeq",!0),ce(pe,ge,Me,"≰","\\nleq",!0),ce(pe,de,ze," ","\\ "),ce(pe,de,ze," ","\\space"),ce(pe,de,ze," ","\\nobreakspace"),ce(ue,de,ze," ","\\ "),ce(ue,de,ze," "," "),ce(ue,de,ze," ","\\space"),ce(ue,de,ze," ","\\nobreakspace"),ce(pe,de,ze,null,"\\nobreak"),ce(pe,de,ze,null,"\\allowbreak"),ce(pe,de,Se,",",","),ce(pe,de,Se,";",";"),ce(pe,ge,ve,"⊼","\\barwedge",!0),ce(pe,ge,ve,"⊻","\\veebar",!0),ce(pe,de,ve,"⊙","\\odot",!0),ce(pe,de,ve,"⊕","\\oplus",!0),ce(pe,de,ve,"⊗","\\otimes",!0),ce(pe,de,Ae,"∂","\\partial",!0),ce(pe,de,ve,"⊘","\\oslash",!0),ce(pe,ge,ve,"⊚","\\circledcirc",!0),ce(pe,ge,ve,"⊡","\\boxdot",!0),ce(pe,de,ve,"△","\\bigtriangleup"),ce(pe,de,ve,"▽","\\bigtriangledown"),ce(pe,de,ve,"†","\\dagger"),ce(pe,de,ve,"⋄","\\diamond"),ce(pe,de,ve,"⋆","\\star"),ce(pe,de,ve,"◃","\\triangleleft"),ce(pe,de,ve,"▹","\\triangleright"),ce(pe,de,ke,"{","\\{"),ce(ue,de,Ae,"{","\\{"),ce(ue,de,Ae,"{","\\textbraceleft"),ce(pe,de,be,"}","\\}"),ce(ue,de,Ae,"}","\\}"),ce(ue,de,Ae,"}","\\textbraceright"),ce(pe,de,ke,"{","\\lbrace"),ce(pe,de,be,"}","\\rbrace"),ce(pe,de,ke,"[","\\lbrack",!0),ce(ue,de,Ae,"[","\\lbrack",!0),ce(pe,de,be,"]","\\rbrack",!0),ce(ue,de,Ae,"]","\\rbrack",!0),ce(pe,de,ke,"(","\\lparen",!0),ce(pe,de,be,")","\\rparen",!0),ce(ue,de,Ae,"<","\\textless",!0),ce(ue,de,Ae,">","\\textgreater",!0),ce(pe,de,ke,"⌊","\\lfloor",!0),ce(pe,de,be,"⌋","\\rfloor",!0),ce(pe,de,ke,"⌈","\\lceil",!0),ce(pe,de,be,"⌉","\\rceil",!0),ce(pe,de,Ae,"\\","\\backslash"),ce(pe,de,Ae,"∣","|"),ce(pe,de,Ae,"∣","\\vert"),ce(ue,de,Ae,"|","\\textbar",!0),ce(pe,de,Ae,"∥","\\|"),ce(pe,de,Ae,"∥","\\Vert"),ce(ue,de,Ae,"∥","\\textbardbl"),ce(ue,de,Ae,"~","\\textasciitilde"),ce(ue,de,Ae,"\\","\\textbackslash"),ce(ue,de,Ae,"^","\\textasciicircum"),ce(pe,de,Me,"↑","\\uparrow",!0),ce(pe,de,Me,"⇑","\\Uparrow",!0),ce(pe,de,Me,"↓","\\downarrow",!0),ce(pe,de,Me,"⇓","\\Downarrow",!0),ce(pe,de,Me,"↕","\\updownarrow",!0),ce(pe,de,Me,"⇕","\\Updownarrow",!0),ce(pe,de,we,"∐","\\coprod"),ce(pe,de,we,"⋁","\\bigvee"),ce(pe,de,we,"⋀","\\bigwedge"),ce(pe,de,we,"⨄","\\biguplus"),ce(pe,de,we,"⋂","\\bigcap"),ce(pe,de,we,"⋃","\\bigcup"),ce(pe,de,we,"∫","\\int"),ce(pe,de,we,"∫","\\intop"),ce(pe,de,we,"∬","\\iint"),ce(pe,de,we,"∭","\\iiint"),ce(pe,de,we,"∏","\\prod"),ce(pe,de,we,"∑","\\sum"),ce(pe,de,we,"⨂","\\bigotimes"),ce(pe,de,we,"⨁","\\bigoplus"),ce(pe,de,we,"⨀","\\bigodot"),ce(pe,de,we,"∮","\\oint"),ce(pe,de,we,"∯","\\oiint"),ce(pe,de,we,"∰","\\oiiint"),ce(pe,de,we,"⨆","\\bigsqcup"),ce(pe,de,we,"∫","\\smallint"),ce(ue,de,ye,"…","\\textellipsis"),ce(pe,de,ye,"…","\\mathellipsis"),ce(ue,de,ye,"…","\\ldots",!0),ce(pe,de,ye,"…","\\ldots",!0),ce(pe,de,ye,"⋯","\\@cdots",!0),ce(pe,de,ye,"⋱","\\ddots",!0),ce(pe,de,Ae,"⋮","\\varvdots"),ce(ue,de,Ae,"⋮","\\varvdots"),ce(pe,de,fe,"ˊ","\\acute"),ce(pe,de,fe,"ˋ","\\grave"),ce(pe,de,fe,"¨","\\ddot"),ce(pe,de,fe,"~","\\tilde"),ce(pe,de,fe,"ˉ","\\bar"),ce(pe,de,fe,"˘","\\breve"),ce(pe,de,fe,"ˇ","\\check"),ce(pe,de,fe,"^","\\hat"),ce(pe,de,fe,"⃗","\\vec"),ce(pe,de,fe,"˙","\\dot"),ce(pe,de,fe,"˚","\\mathring"),ce(pe,de,xe,"","\\@imath"),ce(pe,de,xe,"","\\@jmath"),ce(pe,de,Ae,"ı","ı"),ce(pe,de,Ae,"ȷ","ȷ"),ce(ue,de,Ae,"ı","\\i",!0),ce(ue,de,Ae,"ȷ","\\j",!0),ce(ue,de,Ae,"ß","\\ss",!0),ce(ue,de,Ae,"æ","\\ae",!0),ce(ue,de,Ae,"œ","\\oe",!0),ce(ue,de,Ae,"ø","\\o",!0),ce(ue,de,Ae,"Æ","\\AE",!0),ce(ue,de,Ae,"Œ","\\OE",!0),ce(ue,de,Ae,"Ø","\\O",!0),ce(ue,de,fe,"ˊ","\\'"),ce(ue,de,fe,"ˋ","\\`"),ce(ue,de,fe,"ˆ","\\^"),ce(ue,de,fe,"˜","\\~"),ce(ue,de,fe,"ˉ","\\="),ce(ue,de,fe,"˘","\\u"),ce(ue,de,fe,"˙","\\."),ce(ue,de,fe,"¸","\\c"),ce(ue,de,fe,"˚","\\r"),ce(ue,de,fe,"ˇ","\\v"),ce(ue,de,fe,"¨",'\\"'),ce(ue,de,fe,"˝","\\H"),ce(ue,de,fe,"◯","\\textcircled");var Te={"--":!0,"---":!0,"``":!0,"''":!0};ce(ue,de,Ae,"–","--",!0),ce(ue,de,Ae,"–","\\textendash"),ce(ue,de,Ae,"—","---",!0),ce(ue,de,Ae,"—","\\textemdash"),ce(ue,de,Ae,"‘","`",!0),ce(ue,de,Ae,"‘","\\textquoteleft"),ce(ue,de,Ae,"’","'",!0),ce(ue,de,Ae,"’","\\textquoteright"),ce(ue,de,Ae,"“","``",!0),ce(ue,de,Ae,"“","\\textquotedblleft"),ce(ue,de,Ae,"”","''",!0),ce(ue,de,Ae,"”","\\textquotedblright"),ce(pe,de,Ae,"°","\\degree",!0),ce(ue,de,Ae,"°","\\degree"),ce(ue,de,Ae,"°","\\textdegree",!0),ce(pe,de,Ae,"£","\\pounds"),ce(pe,de,Ae,"£","\\mathsterling",!0),ce(ue,de,Ae,"£","\\pounds"),ce(ue,de,Ae,"£","\\textsterling",!0),ce(pe,ge,Ae,"✠","\\maltese"),ce(ue,ge,Ae,"✠","\\maltese");for(var Be=0;Be<14;Be++){var Ne='0123456789/@."'.charAt(Be);ce(pe,de,Ae,Ne,Ne)}for(var qe=0;qe<25;qe++){var Ce='0123456789!@*()-=+";:?/.,'.charAt(qe);ce(ue,de,Ae,Ce,Ce)}for(var Ie="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",Re=0;Re<52;Re++){var He=Ie.charAt(Re);ce(pe,de,xe,He,He),ce(ue,de,Ae,He,He)}ce(pe,ge,Ae,"C","ℂ"),ce(ue,ge,Ae,"C","ℂ"),ce(pe,ge,Ae,"H","ℍ"),ce(ue,ge,Ae,"H","ℍ"),ce(pe,ge,Ae,"N","ℕ"),ce(ue,ge,Ae,"N","ℕ"),ce(pe,ge,Ae,"P","ℙ"),ce(ue,ge,Ae,"P","ℙ"),ce(pe,ge,Ae,"Q","ℚ"),ce(ue,ge,Ae,"Q","ℚ"),ce(pe,ge,Ae,"R","ℝ"),ce(ue,ge,Ae,"R","ℝ"),ce(pe,ge,Ae,"Z","ℤ"),ce(ue,ge,Ae,"Z","ℤ"),ce(pe,de,xe,"h","ℎ"),ce(ue,de,xe,"h","ℎ");for(var Oe="",Ee=0;Ee<52;Ee++){var Le=Ie.charAt(Ee);ce(pe,de,xe,Le,Oe=String.fromCharCode(55349,56320+Ee)),ce(ue,de,Ae,Le,Oe),ce(pe,de,xe,Le,Oe=String.fromCharCode(55349,56372+Ee)),ce(ue,de,Ae,Le,Oe),ce(pe,de,xe,Le,Oe=String.fromCharCode(55349,56424+Ee)),ce(ue,de,Ae,Le,Oe),ce(pe,de,xe,Le,Oe=String.fromCharCode(55349,56580+Ee)),ce(ue,de,Ae,Le,Oe),ce(pe,de,xe,Le,Oe=String.fromCharCode(55349,56684+Ee)),ce(ue,de,Ae,Le,Oe),ce(pe,de,xe,Le,Oe=String.fromCharCode(55349,56736+Ee)),ce(ue,de,Ae,Le,Oe),ce(pe,de,xe,Le,Oe=String.fromCharCode(55349,56788+Ee)),ce(ue,de,Ae,Le,Oe),ce(pe,de,xe,Le,Oe=String.fromCharCode(55349,56840+Ee)),ce(ue,de,Ae,Le,Oe),ce(pe,de,xe,Le,Oe=String.fromCharCode(55349,56944+Ee)),ce(ue,de,Ae,Le,Oe),Ee<26&&(ce(pe,de,xe,Le,Oe=String.fromCharCode(55349,56632+Ee)),ce(ue,de,Ae,Le,Oe),ce(pe,de,xe,Le,Oe=String.fromCharCode(55349,56476+Ee)),ce(ue,de,Ae,Le,Oe))}ce(pe,de,xe,"k",Oe=String.fromCharCode(55349,56668)),ce(ue,de,Ae,"k",Oe);for(var De=0;De<10;De++){var Ve=De.toString();ce(pe,de,xe,Ve,Oe=String.fromCharCode(55349,57294+De)),ce(ue,de,Ae,Ve,Oe),ce(pe,de,xe,Ve,Oe=String.fromCharCode(55349,57314+De)),ce(ue,de,Ae,Ve,Oe),ce(pe,de,xe,Ve,Oe=String.fromCharCode(55349,57324+De)),ce(ue,de,Ae,Ve,Oe),ce(pe,de,xe,Ve,Oe=String.fromCharCode(55349,57334+De)),ce(ue,de,Ae,Ve,Oe)}for(var Pe=0;Pe<3;Pe++){var Fe="ÐÞþ".charAt(Pe);ce(pe,de,xe,Fe,Fe),ce(ue,de,Ae,Fe,Fe)}var Ge=[["mathbf","textbf","Main-Bold"],["mathbf","textbf","Main-Bold"],["mathnormal","textit","Math-Italic"],["mathnormal","textit","Math-Italic"],["boldsymbol","boldsymbol","Main-BoldItalic"],["boldsymbol","boldsymbol","Main-BoldItalic"],["mathscr","textscr","Script-Regular"],["","",""],["","",""],["","",""],["mathfrak","textfrak","Fraktur-Regular"],["mathfrak","textfrak","Fraktur-Regular"],["mathbb","textbb","AMS-Regular"],["mathbb","textbb","AMS-Regular"],["mathboldfrak","textboldfrak","Fraktur-Regular"],["mathboldfrak","textboldfrak","Fraktur-Regular"],["mathsf","textsf","SansSerif-Regular"],["mathsf","textsf","SansSerif-Regular"],["mathboldsf","textboldsf","SansSerif-Bold"],["mathboldsf","textboldsf","SansSerif-Bold"],["mathitsf","textitsf","SansSerif-Italic"],["mathitsf","textitsf","SansSerif-Italic"],["","",""],["","",""],["mathtt","texttt","Typewriter-Regular"],["mathtt","texttt","Typewriter-Regular"]],Ue=[["mathbf","textbf","Main-Bold"],["","",""],["mathsf","textsf","SansSerif-Regular"],["mathboldsf","textboldsf","SansSerif-Bold"],["mathtt","texttt","Typewriter-Regular"]],Ye=function(e,t,r){return me[r][e]&&me[r][e].replace&&(e=me[r][e].replace),{value:e,metrics:L(e,t,r)}},Xe=function(e,t,r,a,n){var i,o=Ye(e,t,r),s=o.metrics;if(e=o.value,s){var l=s.italic;("text"===r||a&&"mathit"===a.font)&&(l=0),i=new ae(e,s.height,s.depth,l,s.skew,s.width,n)}else"undefined"!=typeof console&&console.warn("No character metrics for '"+e+"' in style '"+t+"' and mode '"+r+"'"),i=new ae(e,0,0,0,0,0,n);if(a){i.maxFontSize=a.sizeMultiplier,a.style.isTight()&&i.classes.push("mtight");var h=a.getColor();h&&(i.style.color=h)}return i},We=(e,t)=>{if(j(e.classes)!==j(t.classes)||e.skew!==t.skew||e.maxFontSize!==t.maxFontSize)return!1;if(1===e.classes.length){var r=e.classes[0];if("mbin"===r||"mord"===r)return!1}for(var a in e.style)if(e.style.hasOwnProperty(a)&&e.style[a]!==t.style[a])return!1;for(var n in t.style)if(t.style.hasOwnProperty(n)&&e.style[n]!==t.style[n])return!1;return!0},_e=function(e){for(var t=0,r=0,a=0,n=0;nt&&(t=i.height),i.depth>r&&(r=i.depth),i.maxFontSize>a&&(a=i.maxFontSize)}e.height=t,e.depth=r,e.maxFontSize=a},je=function(e,t,r,a){var n=new Q(e,t,r,a);return _e(n),n},$e=(e,t,r,a)=>new Q(e,t,r,a),Ze=function(e){var t=new R(e);return _e(t),t},Ke=function(e,t,r){var a="";switch(e){case"amsrm":a="AMS";break;case"textrm":a="Main";break;case"textsf":a="SansSerif";break;case"texttt":a="Typewriter";break;default:a=e}return a+"-"+("textbf"===t&&"textit"===r?"BoldItalic":"textbf"===t?"Bold":"textit"===t?"Italic":"Regular")},Je={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathsfit:{variant:"sans-serif-italic",fontName:"SansSerif-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},Qe={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},et={fontMap:Je,makeSymbol:Xe,mathsym:function(e,t,r,a){return void 0===a&&(a=[]),"boldsymbol"===r.font&&Ye(e,"Main-Bold",t).metrics?Xe(e,"Main-Bold",t,r,a.concat(["mathbf"])):"\\"===e||"main"===me[t][e].font?Xe(e,"Main-Regular",t,r,a):Xe(e,"AMS-Regular",t,r,a.concat(["amsrm"]))},makeSpan:je,makeSvgSpan:$e,makeLineSpan:function(e,t,r){var a=je([e],[],t);return a.height=Math.max(r||t.fontMetrics().defaultRuleThickness,t.minRuleThickness),a.style.borderBottomWidth=_(a.height),a.maxFontSize=1,a},makeAnchor:function(e,t,r,a){var n=new ee(e,t,r,a);return _e(n),n},makeFragment:Ze,wrapFragment:function(e,t){return e instanceof R?je([],[e],t):e},makeVList:function(e,t){for(var{children:r,depth:a}=function(e){if("individualShift"===e.positionType){for(var t=e.children,r=[t[0]],a=-t[0].shift-t[0].elem.depth,n=a,i=1;i0)return Xe(n,h,a,t,o.concat(m));if(l){var c,p;if("boldsymbol"===l){var u=function(e,t,r,a,n){return"textord"!==n&&Ye(e,"Math-BoldItalic",t).metrics?{fontName:"Math-BoldItalic",fontClass:"boldsymbol"}:{fontName:"Main-Bold",fontClass:"mathbf"}}(n,a,0,0,r);c=u.fontName,p=[u.fontClass]}else s?(c=Je[l].fontName,p=[l]):(c=Ke(l,t.fontWeight,t.fontShape),p=[l,t.fontWeight,t.fontShape]);if(Ye(n,c,a).metrics)return Xe(n,c,a,t,o.concat(p));if(Te.hasOwnProperty(n)&&"Typewriter"===c.slice(0,10)){for(var d=[],g=0;g{var r=je(["mspace"],[],t),a=W(e,t);return r.style.marginRight=_(a),r},staticSvg:function(e,t){var[r,a,n]=Qe[e],i=new ie(r),o=new ne([i],{width:_(a),height:_(n),style:"width:"+_(a),viewBox:"0 0 "+1e3*a+" "+1e3*n,preserveAspectRatio:"xMinYMin"}),s=$e(["overlay"],[o],t);return s.height=n,s.style.height=_(n),s.style.width=_(a),s},svgData:Qe,tryCombineChars:e=>{for(var t=0;t{var r=t.classes[0],a=e.classes[0];"mbin"===r&&m(gt,a)?t.classes[0]="mord":"mbin"===a&&m(dt,r)&&(e.classes[0]="mord")}),{node:c},p,u),yt(n,((e,t)=>{var r=kt(t),a=kt(e),n=r&&a?e.hasClass("mtight")?it[r][a]:nt[r][a]:null;if(n)return et.makeGlue(n,l)}),{node:c},p,u),n},yt=function e(t,r,a,n,i){n&&t.push(n);for(var o=0;or=>{t.splice(e+1,0,r),o++})(o)}}n&&t.pop()},xt=function(e){return e instanceof R||e instanceof ee||e instanceof Q&&e.hasClass("enclosing")?e:null},wt=function e(t,r){var a=xt(t);if(a){var n=a.children;if(n.length){if("right"===r)return e(n[n.length-1],"right");if("left"===r)return e(n[0],"left")}}return t},kt=function(e,t){return e?(t&&(e=wt(e,t)),vt[e.classes[0]]||null):null},St=function(e,t){var r=["nulldelimiter"].concat(e.baseSizingClasses());return ut(t.concat(r))},Mt=function(e,t,r){if(!e)return ut();if(st[e.type]){var a=st[e.type](e,t);if(r&&t.size!==r.size){a=ut(t.sizingClasses(r),[a],t);var n=t.sizeMultiplier/r.sizeMultiplier;a.height*=n,a.depth*=n}return a}throw new i("Got group of unknown type: '"+e.type+"'")};function zt(e,t){var r=ut(["base"],e,t),a=ut(["strut"]);return a.style.height=_(r.height+r.depth),r.depth&&(a.style.verticalAlign=_(-r.depth)),r.children.unshift(a),r}function At(e,t){var r=null;1===e.length&&"tag"===e[0].type&&(r=e[0].tag,e=e[0].body);var a,n=bt(e,t,"root");2===n.length&&n[1].hasClass("tag")&&(a=n.pop());for(var i,o=[],s=[],l=0;l0&&(o.push(zt(s,t)),s=[]),o.push(n[l]));s.length>0&&o.push(zt(s,t)),r?((i=zt(bt(r,t,!0))).classes=["tag"],o.push(i)):a&&o.push(a);var m=ut(["katex-html"],o);if(m.setAttribute("aria-hidden","true"),i){var c=i.children[0];c.style.height=_(m.height+m.depth),m.depth&&(c.style.verticalAlign=_(-m.depth))}return m}function Tt(e){return new R(e)}class Bt{constructor(e,t,r){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=e,this.attributes={},this.children=t||[],this.classes=r||[]}setAttribute(e,t){this.attributes[e]=t}getAttribute(e){return this.attributes[e]}toNode(){var e=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);this.classes.length>0&&(e.className=j(this.classes));for(var r=0;r0&&(e+=' class ="'+p(j(this.classes))+'"'),e+=">";for(var r=0;r"}toText(){return this.children.map((e=>e.toText())).join("")}}class Nt{constructor(e){this.text=void 0,this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return p(this.toText())}toText(){return this.text}}var qt={MathNode:Bt,TextNode:Nt,SpaceNode:class{constructor(e){this.width=void 0,this.character=void 0,this.width=e,this.character=e>=.05555&&e<=.05556?" ":e>=.1666&&e<=.1667?" ":e>=.2222&&e<=.2223?" ":e>=.2777&&e<=.2778?"  ":e>=-.05556&&e<=-.05555?" ⁣":e>=-.1667&&e<=-.1666?" ⁣":e>=-.2223&&e<=-.2222?" ⁣":e>=-.2778&&e<=-.2777?" ⁣":null}toNode(){if(this.character)return document.createTextNode(this.character);var e=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return e.setAttribute("width",_(this.width)),e}toMarkup(){return this.character?""+this.character+"":''}toText(){return this.character?this.character:" "}},newDocumentFragment:Tt},Ct=function(e,t,r){return!me[t][e]||!me[t][e].replace||55349===e.charCodeAt(0)||Te.hasOwnProperty(e)&&r&&(r.fontFamily&&"tt"===r.fontFamily.slice(4,6)||r.font&&"tt"===r.font.slice(4,6))||(e=me[t][e].replace),new qt.TextNode(e)},It=function(e){return 1===e.length?e[0]:new qt.MathNode("mrow",e)},Rt=function(e,t){if("texttt"===t.fontFamily)return"monospace";if("textsf"===t.fontFamily)return"textit"===t.fontShape&&"textbf"===t.fontWeight?"sans-serif-bold-italic":"textit"===t.fontShape?"sans-serif-italic":"textbf"===t.fontWeight?"bold-sans-serif":"sans-serif";if("textit"===t.fontShape&&"textbf"===t.fontWeight)return"bold-italic";if("textit"===t.fontShape)return"italic";if("textbf"===t.fontWeight)return"bold";var r=t.font;if(!r||"mathnormal"===r)return null;var a=e.mode;if("mathit"===r)return"italic";if("boldsymbol"===r)return"textord"===e.type?"bold":"bold-italic";if("mathbf"===r)return"bold";if("mathbb"===r)return"double-struck";if("mathsfit"===r)return"sans-serif-italic";if("mathfrak"===r)return"fraktur";if("mathscr"===r||"mathcal"===r)return"script";if("mathsf"===r)return"sans-serif";if("mathtt"===r)return"monospace";var n=e.text;return m(["\\imath","\\jmath"],n)?null:(me[a][n]&&me[a][n].replace&&(n=me[a][n].replace),L(n,et.fontMap[r].fontName,a)?et.fontMap[r].variant:null)};function Ht(e){if(!e)return!1;if("mi"===e.type&&1===e.children.length){var t=e.children[0];return t instanceof Nt&&"."===t.text}if("mo"===e.type&&1===e.children.length&&"true"===e.getAttribute("separator")&&"0em"===e.getAttribute("lspace")&&"0em"===e.getAttribute("rspace")){var r=e.children[0];return r instanceof Nt&&","===r.text}return!1}var Ot=function(e,t,r){if(1===e.length){var a=Lt(e[0],t);return r&&a instanceof Bt&&"mo"===a.type&&(a.setAttribute("lspace","0em"),a.setAttribute("rspace","0em")),[a]}for(var n,i=[],o=0;o=1&&("mn"===n.type||Ht(n))){var l=s.children[0];l instanceof Bt&&"mn"===l.type&&(l.children=[...n.children,...l.children],i.pop())}else if("mi"===n.type&&1===n.children.length){var h=n.children[0];if(h instanceof Nt&&"̸"===h.text&&("mo"===s.type||"mi"===s.type||"mn"===s.type)){var m=s.children[0];m instanceof Nt&&m.text.length>0&&(m.text=m.text.slice(0,1)+"̸"+m.text.slice(1),i.pop())}}}i.push(s),n=s}return i},Et=function(e,t,r){return It(Ot(e,t,r))},Lt=function(e,t){if(!e)return new qt.MathNode("mrow");if(lt[e.type])return lt[e.type](e,t);throw new i("Got group of unknown type: '"+e.type+"'")};function Dt(e,t,r,a,n){var i,o=Ot(e,r);i=1===o.length&&o[0]instanceof Bt&&m(["mrow","mtable"],o[0].type)?o[0]:new qt.MathNode("mrow",o);var s=new qt.MathNode("annotation",[new qt.TextNode(t)]);s.setAttribute("encoding","application/x-tex");var l=new qt.MathNode("semantics",[i,s]),h=new qt.MathNode("math",[l]);return h.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),a&&h.setAttribute("display","block"),et.makeSpan([n?"katex":"katex-mathml"],[h])}var Vt=function(e){return new G({style:e.displayMode?B.DISPLAY:B.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},Pt=function(e,t){if(t.displayMode){var r=["katex-display"];t.leqno&&r.push("leqno"),t.fleqn&&r.push("fleqn"),e=et.makeSpan(r,[e])}return e},Ft={widehat:"^",widecheck:"ˇ",widetilde:"~",utilde:"~",overleftarrow:"←",underleftarrow:"←",xleftarrow:"←",overrightarrow:"→",underrightarrow:"→",xrightarrow:"→",underbrace:"⏟",overbrace:"⏞",overgroup:"⏠",undergroup:"⏡",overleftrightarrow:"↔",underleftrightarrow:"↔",xleftrightarrow:"↔",Overrightarrow:"⇒",xRightarrow:"⇒",overleftharpoon:"↼",xleftharpoonup:"↼",overrightharpoon:"⇀",xrightharpoonup:"⇀",xLeftarrow:"⇐",xLeftrightarrow:"⇔",xhookleftarrow:"↩",xhookrightarrow:"↪",xmapsto:"↦",xrightharpoondown:"⇁",xleftharpoondown:"↽",xrightleftharpoons:"⇌",xleftrightharpoons:"⇋",xtwoheadleftarrow:"↞",xtwoheadrightarrow:"↠",xlongequal:"=",xtofrom:"⇄",xrightleftarrows:"⇄",xrightequilibrium:"⇌",xleftequilibrium:"⇋","\\cdrightarrow":"→","\\cdleftarrow":"←","\\cdlongequal":"="},Gt={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},Ut=function(e){var t=new qt.MathNode("mo",[new qt.TextNode(Ft[e.replace(/^\\/,"")])]);return t.setAttribute("stretchy","true"),t},Yt=function(e,t){var{span:r,minWidth:a,height:n}=function(){var r=4e5,a=e.label.slice(1);if(m(["widehat","widecheck","widetilde","utilde"],a)){var n,i,o,s="ordgroup"===(d=e.base).type?d.body.length:1;if(s>5)"widehat"===a||"widecheck"===a?(n=420,r=2364,o=.42,i=a+"4"):(n=312,r=2340,o=.34,i="tilde4");else{var l=[1,1,2,2,3,3][s];"widehat"===a||"widecheck"===a?(r=[0,1062,2364,2364,2364][l],n=[0,239,300,360,420][l],o=[0,.24,.3,.3,.36,.42][l],i=a+l):(r=[0,600,1033,2339,2340][l],n=[0,260,286,306,312][l],o=[0,.26,.286,.3,.306,.34][l],i="tilde"+l)}var h=new ie(i),c=new ne([h],{width:"100%",height:_(o),viewBox:"0 0 "+r+" "+n,preserveAspectRatio:"none"});return{span:et.makeSvgSpan([],[c],t),minWidth:0,height:o}}var p,u,d,g=[],f=Gt[a],[v,b,y]=f,x=y/1e3,w=v.length;if(1===w)p=["hide-tail"],u=[f[3]];else if(2===w)p=["halfarrow-left","halfarrow-right"],u=["xMinYMin","xMaxYMin"];else{if(3!==w)throw new Error("Correct katexImagesData or update code here to support\n "+w+" children.");p=["brace-left","brace-center","brace-right"],u=["xMinYMin","xMidYMin","xMaxYMin"]}for(var k=0;k0&&(r.style.minWidth=_(a)),r};function Xt(e,t){if(!e||e.type!==t)throw new Error("Expected node of type "+t+", but got "+(e?"node of type "+e.type:String(e)));return e}function Wt(e){var t=_t(e);if(!t)throw new Error("Expected node of symbol group type, but got "+(e?"node of type "+e.type:String(e)));return t}function _t(e){return e&&("atom"===e.type||he.hasOwnProperty(e.type))?e:null}var jt=(e,t)=>{var r,a,n;e&&"supsub"===e.type?(r=(a=Xt(e.base,"accent")).base,e.base=r,n=function(e){if(e instanceof Q)return e;throw new Error("Expected span but got "+String(e)+".")}(Mt(e,t)),e.base=a):r=(a=Xt(e,"accent")).base;var i=Mt(r,t.havingCrampedStyle()),o=0;if(a.isShifty&&g(r)){var s=d(r);o=se(Mt(s,t.havingCrampedStyle())).skew}var l,h="\\c"===a.label,m=h?i.height+i.depth:Math.min(i.height,t.fontMetrics().xHeight);if(a.isStretchy)l=Yt(a,t),l=et.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:i},{type:"elem",elem:l,wrapperClasses:["svg-align"],wrapperStyle:o>0?{width:"calc(100% - "+_(2*o)+")",marginLeft:_(2*o)}:void 0}]},t);else{var c,p;"\\vec"===a.label?(c=et.staticSvg("vec",t),p=et.svgData.vec[1]):((c=se(c=et.makeOrd({mode:a.mode,text:a.label},t,"textord"))).italic=0,p=c.width,h&&(m+=c.depth)),l=et.makeSpan(["accent-body"],[c]);var u="\\textcircled"===a.label;u&&(l.classes.push("accent-full"),m=i.height);var f=o;u||(f-=p/2),l.style.left=_(f),"\\textcircled"===a.label&&(l.style.top=".2em"),l=et.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:i},{type:"kern",size:-m},{type:"elem",elem:l}]},t)}var v=et.makeSpan(["mord","accent"],[l],t);return n?(n.children[0]=v,n.height=Math.max(v.height,n.height),n.classes[0]="mord",n):v},$t=(e,t)=>{var r=e.isStretchy?Ut(e.label):new qt.MathNode("mo",[Ct(e.label,e.mode)]),a=new qt.MathNode("mover",[Lt(e.base,t),r]);return a.setAttribute("accent","true"),a},Zt=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map((e=>"\\"+e)).join("|"));ht({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:(e,t)=>{var r=ct(t[0]),a=!Zt.test(e.funcName),n=!a||"\\widehat"===e.funcName||"\\widetilde"===e.funcName||"\\widecheck"===e.funcName;return{type:"accent",mode:e.parser.mode,label:e.funcName,isStretchy:a,isShifty:n,base:r}},htmlBuilder:jt,mathmlBuilder:$t}),ht({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:(e,t)=>{var r=t[0],a=e.parser.mode;return"math"===a&&(e.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+e.funcName+" works only in text mode"),a="text"),{type:"accent",mode:a,label:e.funcName,isStretchy:!1,isShifty:!0,base:r}},htmlBuilder:jt,mathmlBuilder:$t}),ht({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:(e,t)=>{var{parser:r,funcName:a}=e,n=t[0];return{type:"accentUnder",mode:r.mode,label:a,base:n}},htmlBuilder:(e,t)=>{var r=Mt(e.base,t),a=Yt(e,t),n="\\utilde"===e.label?.12:0,i=et.makeVList({positionType:"top",positionData:r.height,children:[{type:"elem",elem:a,wrapperClasses:["svg-align"]},{type:"kern",size:n},{type:"elem",elem:r}]},t);return et.makeSpan(["mord","accentunder"],[i],t)},mathmlBuilder:(e,t)=>{var r=Ut(e.label),a=new qt.MathNode("munder",[Lt(e.base,t),r]);return a.setAttribute("accentunder","true"),a}});var Kt=e=>{var t=new qt.MathNode("mpadded",e?[e]:[]);return t.setAttribute("width","+0.6em"),t.setAttribute("lspace","0.3em"),t};ht({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler(e,t,r){var{parser:a,funcName:n}=e;return{type:"xArrow",mode:a.mode,label:n,body:t[0],below:r[0]}},htmlBuilder(e,t){var r,a=t.style,n=t.havingStyle(a.sup()),i=et.wrapFragment(Mt(e.body,n,t),t),o="\\x"===e.label.slice(0,2)?"x":"cd";i.classes.push(o+"-arrow-pad"),e.below&&(n=t.havingStyle(a.sub()),(r=et.wrapFragment(Mt(e.below,n,t),t)).classes.push(o+"-arrow-pad"));var s,l=Yt(e,t),h=-t.fontMetrics().axisHeight+.5*l.height,m=-t.fontMetrics().axisHeight-.5*l.height-.111;if((i.depth>.25||"\\xleftequilibrium"===e.label)&&(m-=i.depth),r){var c=-t.fontMetrics().axisHeight+r.height+.5*l.height+.111;s=et.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:m},{type:"elem",elem:l,shift:h},{type:"elem",elem:r,shift:c}]},t)}else s=et.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:m},{type:"elem",elem:l,shift:h}]},t);return s.children[0].children[0].children[1].classes.push("svg-align"),et.makeSpan(["mrel","x-arrow"],[s],t)},mathmlBuilder(e,t){var r,a=Ut(e.label);if(a.setAttribute("minsize","x"===e.label.charAt(0)?"1.75em":"3.0em"),e.body){var n=Kt(Lt(e.body,t));if(e.below){var i=Kt(Lt(e.below,t));r=new qt.MathNode("munderover",[a,i,n])}else r=new qt.MathNode("mover",[a,n])}else if(e.below){var o=Kt(Lt(e.below,t));r=new qt.MathNode("munder",[a,o])}else r=Kt(),r=new qt.MathNode("mover",[a,r]);return r}});var Jt=et.makeSpan;function Qt(e,t){var r=bt(e.body,t,!0);return Jt([e.mclass],r,t)}function er(e,t){var r,a=Ot(e.body,t);return"minner"===e.mclass?r=new qt.MathNode("mpadded",a):"mord"===e.mclass?e.isCharacterBox?(r=a[0]).type="mi":r=new qt.MathNode("mi",a):(e.isCharacterBox?(r=a[0]).type="mo":r=new qt.MathNode("mo",a),"mbin"===e.mclass?(r.attributes.lspace="0.22em",r.attributes.rspace="0.22em"):"mpunct"===e.mclass?(r.attributes.lspace="0em",r.attributes.rspace="0.17em"):"mopen"===e.mclass||"mclose"===e.mclass?(r.attributes.lspace="0em",r.attributes.rspace="0em"):"minner"===e.mclass&&(r.attributes.lspace="0.0556em",r.attributes.width="+0.1111em")),r}ht({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(e,t){var{parser:r,funcName:a}=e,n=t[0];return{type:"mclass",mode:r.mode,mclass:"m"+a.slice(5),body:pt(n),isCharacterBox:g(n)}},htmlBuilder:Qt,mathmlBuilder:er});var tr=e=>{var t="ordgroup"===e.type&&e.body.length?e.body[0]:e;return"atom"!==t.type||"bin"!==t.family&&"rel"!==t.family?"mord":"m"+t.family};ht({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(e,t){var{parser:r}=e;return{type:"mclass",mode:r.mode,mclass:tr(t[0]),body:pt(t[1]),isCharacterBox:g(t[1])}}}),ht({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(e,t){var r,{parser:a,funcName:n}=e,i=t[1],o=t[0];r="\\stackrel"!==n?tr(i):"mrel";var s={type:"op",mode:i.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:"\\stackrel"!==n,body:pt(i)},l={type:"supsub",mode:o.mode,base:s,sup:"\\underset"===n?null:o,sub:"\\underset"===n?o:null};return{type:"mclass",mode:a.mode,mclass:r,body:[l],isCharacterBox:g(l)}},htmlBuilder:Qt,mathmlBuilder:er}),ht({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(e,t){var{parser:r}=e;return{type:"pmb",mode:r.mode,mclass:tr(t[0]),body:pt(t[0])}},htmlBuilder(e,t){var r=bt(e.body,t,!0),a=et.makeSpan([e.mclass],r,t);return a.style.textShadow="0.02em 0.01em 0.04px",a},mathmlBuilder(e,t){var r=Ot(e.body,t),a=new qt.MathNode("mstyle",r);return a.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),a}});var rr={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},ar=e=>"textord"===e.type&&"@"===e.text;function nr(e,t,r){var a=rr[e];switch(a){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return r.callFunction(a,[t[0]],[t[1]]);case"\\uparrow":case"\\downarrow":var n={type:"atom",text:a,mode:"math",family:"rel"},i={type:"ordgroup",mode:"math",body:[r.callFunction("\\\\cdleft",[t[0]],[]),r.callFunction("\\Big",[n],[]),r.callFunction("\\\\cdright",[t[1]],[])]};return r.callFunction("\\\\cdparent",[i],[]);case"\\\\cdlongequal":return r.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":return r.callFunction("\\Big",[{type:"textord",text:"\\Vert",mode:"math"}],[]);default:return{type:"textord",text:" ",mode:"math"}}}ht({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(e,t){var{parser:r,funcName:a}=e;return{type:"cdlabel",mode:r.mode,side:a.slice(4),label:t[0]}},htmlBuilder(e,t){var r=t.havingStyle(t.style.sup()),a=et.wrapFragment(Mt(e.label,r,t),t);return a.classes.push("cd-label-"+e.side),a.style.bottom=_(.8-a.depth),a.height=0,a.depth=0,a},mathmlBuilder(e,t){var r=new qt.MathNode("mrow",[Lt(e.label,t)]);return(r=new qt.MathNode("mpadded",[r])).setAttribute("width","0"),"left"===e.side&&r.setAttribute("lspace","-1width"),r.setAttribute("voffset","0.7em"),(r=new qt.MathNode("mstyle",[r])).setAttribute("displaystyle","false"),r.setAttribute("scriptlevel","1"),r}}),ht({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(e,t){var{parser:r}=e;return{type:"cdlabelparent",mode:r.mode,fragment:t[0]}},htmlBuilder(e,t){var r=et.wrapFragment(Mt(e.fragment,t),t);return r.classes.push("cd-vert-arrow"),r},mathmlBuilder:(e,t)=>new qt.MathNode("mrow",[Lt(e.fragment,t)])}),ht({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(e,t){for(var{parser:r}=e,a=Xt(t[0],"ordgroup").body,n="",o=0;o=1114111)throw new i("\\@char with invalid code point "+n);return l<=65535?s=String.fromCharCode(l):(l-=65536,s=String.fromCharCode(55296+(l>>10),56320+(1023&l))),{type:"textord",mode:r.mode,text:s}}});var ir=(e,t)=>{var r=bt(e.body,t.withColor(e.color),!1);return et.makeFragment(r)},or=(e,t)=>{var r=Ot(e.body,t.withColor(e.color)),a=new qt.MathNode("mstyle",r);return a.setAttribute("mathcolor",e.color),a};ht({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(e,t){var{parser:r}=e,a=Xt(t[0],"color-token").color,n=t[1];return{type:"color",mode:r.mode,color:a,body:pt(n)}},htmlBuilder:ir,mathmlBuilder:or}),ht({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(e,t){var{parser:r,breakOnTokenText:a}=e,n=Xt(t[0],"color-token").color;r.gullet.macros.set("\\current@color",n);var i=r.parseExpression(!0,a);return{type:"color",mode:r.mode,color:n,body:i}},htmlBuilder:ir,mathmlBuilder:or}),ht({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(e,t,r){var{parser:a}=e,n="["===a.gullet.future().text?a.parseSizeGroup(!0):null,i=!a.settings.displayMode||!a.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:a.mode,newLine:i,size:n&&Xt(n,"size").value}},htmlBuilder(e,t){var r=et.makeSpan(["mspace"],[],t);return e.newLine&&(r.classes.push("newline"),e.size&&(r.style.marginTop=_(W(e.size,t)))),r},mathmlBuilder(e,t){var r=new qt.MathNode("mspace");return e.newLine&&(r.setAttribute("linebreak","newline"),e.size&&r.setAttribute("height",_(W(e.size,t)))),r}});var sr={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},lr=e=>{var t=e.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(t))throw new i("Expected a control sequence",e);return t},hr=(e,t,r,a)=>{var n=e.gullet.macros.get(r.text);null==n&&(r.noexpand=!0,n={tokens:[r],numArgs:0,unexpandable:!e.gullet.isExpandable(r.text)}),e.gullet.macros.set(t,n,a)};ht({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(e){var{parser:t,funcName:r}=e;t.consumeSpaces();var a=t.fetch();if(sr[a.text])return"\\global"!==r&&"\\\\globallong"!==r||(a.text=sr[a.text]),Xt(t.parseFunction(),"internal");throw new i("Invalid token after macro prefix",a)}}),ht({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e){var{parser:t,funcName:r}=e,a=t.gullet.popToken(),n=a.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(n))throw new i("Expected a control sequence",a);for(var o,s=0,l=[[]];"{"!==t.gullet.future().text;)if("#"===(a=t.gullet.popToken()).text){if("{"===t.gullet.future().text){o=t.gullet.future(),l[s].push("{");break}if(a=t.gullet.popToken(),!/^[1-9]$/.test(a.text))throw new i('Invalid argument number "'+a.text+'"');if(parseInt(a.text)!==s+1)throw new i('Argument number "'+a.text+'" out of order');s++,l.push([])}else{if("EOF"===a.text)throw new i("Expected a macro definition");l[s].push(a.text)}var{tokens:h}=t.gullet.consumeArg();return o&&h.unshift(o),"\\edef"!==r&&"\\xdef"!==r||(h=t.gullet.expandTokens(h)).reverse(),t.gullet.macros.set(n,{tokens:h,numArgs:s,delimiters:l},r===sr[r]),{type:"internal",mode:t.mode}}}),ht({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e){var{parser:t,funcName:r}=e,a=lr(t.gullet.popToken());t.gullet.consumeSpaces();var n=(e=>{var t=e.gullet.popToken();return"="===t.text&&" "===(t=e.gullet.popToken()).text&&(t=e.gullet.popToken()),t})(t);return hr(t,a,n,"\\\\globallet"===r),{type:"internal",mode:t.mode}}}),ht({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e){var{parser:t,funcName:r}=e,a=lr(t.gullet.popToken()),n=t.gullet.popToken(),i=t.gullet.popToken();return hr(t,a,i,"\\\\globalfuture"===r),t.gullet.pushToken(i),t.gullet.pushToken(n),{type:"internal",mode:t.mode}}});var mr=function(e,t,r){var a=L(me.math[e]&&me.math[e].replace||e,t,r);if(!a)throw new Error("Unsupported symbol "+e+" and font size "+t+".");return a},cr=function(e,t,r,a){var n=r.havingBaseStyle(t),i=et.makeSpan(a.concat(n.sizingClasses(r)),[e],r),o=n.sizeMultiplier/r.sizeMultiplier;return i.height*=o,i.depth*=o,i.maxFontSize=n.sizeMultiplier,i},pr=function(e,t,r){var a=t.havingBaseStyle(r),n=(1-t.sizeMultiplier/a.sizeMultiplier)*t.fontMetrics().axisHeight;e.classes.push("delimcenter"),e.style.top=_(n),e.height-=n,e.depth+=n},ur=function(e,t,r,a,n,i){var o=function(e,t,r,a){return et.makeSymbol(e,"Size"+t+"-Regular",r,a)}(e,t,n,a),s=cr(et.makeSpan(["delimsizing","size"+t],[o],a),B.TEXT,a,i);return r&&pr(s,a,B.TEXT),s},dr=function(e,t,r){return{type:"elem",elem:et.makeSpan(["delimsizinginner","Size1-Regular"===t?"delim-size1":"delim-size4"],[et.makeSpan([],[et.makeSymbol(e,t,r)])])}},gr=function(e,t,r){var a=H["Size4-Regular"][e.charCodeAt(0)]?H["Size4-Regular"][e.charCodeAt(0)][4]:H["Size1-Regular"][e.charCodeAt(0)][4],n=new ie("inner",function(e,t){switch(e){case"⎜":return"M291 0 H417 V"+t+" H291z M291 0 H417 V"+t+" H291z";case"∣":return"M145 0 H188 V"+t+" H145z M145 0 H188 V"+t+" H145z";case"∥":return"M145 0 H188 V"+t+" H145z M145 0 H188 V"+t+" H145zM367 0 H410 V"+t+" H367z M367 0 H410 V"+t+" H367z";case"⎟":return"M457 0 H583 V"+t+" H457z M457 0 H583 V"+t+" H457z";case"⎢":return"M319 0 H403 V"+t+" H319z M319 0 H403 V"+t+" H319z";case"⎥":return"M263 0 H347 V"+t+" H263z M263 0 H347 V"+t+" H263z";case"⎪":return"M384 0 H504 V"+t+" H384z M384 0 H504 V"+t+" H384z";case"⏐":return"M312 0 H355 V"+t+" H312z M312 0 H355 V"+t+" H312z";case"‖":return"M257 0 H300 V"+t+" H257z M257 0 H300 V"+t+" H257zM478 0 H521 V"+t+" H478z M478 0 H521 V"+t+" H478z";default:return""}}(e,Math.round(1e3*t))),i=new ne([n],{width:_(a),height:_(t),style:"width:"+_(a),viewBox:"0 0 "+1e3*a+" "+Math.round(1e3*t),preserveAspectRatio:"xMinYMin"}),o=et.makeSvgSpan([],[i],r);return o.height=t,o.style.height=_(t),o.style.width=_(a),{type:"elem",elem:o}},fr={type:"kern",size:-.008},vr=["|","\\lvert","\\rvert","\\vert"],br=["\\|","\\lVert","\\rVert","\\Vert"],yr=function(e,t,r,a,n,i){var o,s,l,h,c="",p=0;o=l=h=e,s=null;var u="Size1-Regular";"\\uparrow"===e?l=h="⏐":"\\Uparrow"===e?l=h="‖":"\\downarrow"===e?o=l="⏐":"\\Downarrow"===e?o=l="‖":"\\updownarrow"===e?(o="\\uparrow",l="⏐",h="\\downarrow"):"\\Updownarrow"===e?(o="\\Uparrow",l="‖",h="\\Downarrow"):m(vr,e)?(l="∣",c="vert",p=333):m(br,e)?(l="∥",c="doublevert",p=556):"["===e||"\\lbrack"===e?(o="⎡",l="⎢",h="⎣",u="Size4-Regular",c="lbrack",p=667):"]"===e||"\\rbrack"===e?(o="⎤",l="⎥",h="⎦",u="Size4-Regular",c="rbrack",p=667):"\\lfloor"===e||"⌊"===e?(l=o="⎢",h="⎣",u="Size4-Regular",c="lfloor",p=667):"\\lceil"===e||"⌈"===e?(o="⎡",l=h="⎢",u="Size4-Regular",c="lceil",p=667):"\\rfloor"===e||"⌋"===e?(l=o="⎥",h="⎦",u="Size4-Regular",c="rfloor",p=667):"\\rceil"===e||"⌉"===e?(o="⎤",l=h="⎥",u="Size4-Regular",c="rceil",p=667):"("===e||"\\lparen"===e?(o="⎛",l="⎜",h="⎝",u="Size4-Regular",c="lparen",p=875):")"===e||"\\rparen"===e?(o="⎞",l="⎟",h="⎠",u="Size4-Regular",c="rparen",p=875):"\\{"===e||"\\lbrace"===e?(o="⎧",s="⎨",h="⎩",l="⎪",u="Size4-Regular"):"\\}"===e||"\\rbrace"===e?(o="⎫",s="⎬",h="⎭",l="⎪",u="Size4-Regular"):"\\lgroup"===e||"⟮"===e?(o="⎧",h="⎩",l="⎪",u="Size4-Regular"):"\\rgroup"===e||"⟯"===e?(o="⎫",h="⎭",l="⎪",u="Size4-Regular"):"\\lmoustache"===e||"⎰"===e?(o="⎧",h="⎭",l="⎪",u="Size4-Regular"):"\\rmoustache"!==e&&"⎱"!==e||(o="⎫",h="⎩",l="⎪",u="Size4-Regular");var d=mr(o,u,n),g=d.height+d.depth,f=mr(l,u,n),v=f.height+f.depth,b=mr(h,u,n),y=b.height+b.depth,x=0,w=1;if(null!==s){var k=mr(s,u,n);x=k.height+k.depth,w=2}var S=g+y+x,M=S+Math.max(0,Math.ceil((t-S)/(w*v)))*w*v,z=a.fontMetrics().axisHeight;r&&(z*=a.sizeMultiplier);var A=M/2-z,T=[];if(c.length>0){var N=M-g-y,q=Math.round(1e3*M),C=function(e,t){switch(e){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+t+" v1759 h347 v-84\nH403z M403 1759 V0 H319 V1759 v"+t+" v1759 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+t+" v1759 H0 v84 H347z\nM347 1759 V0 H263 V1759 v"+t+" v1759 h84z";case"vert":return"M145 15 v585 v"+t+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-t+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v"+t+" v585 h43z";case"doublevert":return"M145 15 v585 v"+t+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-t+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v"+t+" v585 h43z\nM367 15 v585 v"+t+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-t+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M410 15 H367 v585 v"+t+" v585 h43z";case"lfloor":return"M319 602 V0 H403 V602 v"+t+" v1715 h263 v84 H319z\nMM319 602 V0 H403 V602 v"+t+" v1715 H319z";case"rfloor":return"M319 602 V0 H403 V602 v"+t+" v1799 H0 v-84 H319z\nMM319 602 V0 H403 V602 v"+t+" v1715 H319z";case"lceil":return"M403 1759 V84 H666 V0 H319 V1759 v"+t+" v602 h84z\nM403 1759 V0 H319 V1759 v"+t+" v602 h84z";case"rceil":return"M347 1759 V0 H0 V84 H263 V1759 v"+t+" v602 h84z\nM347 1759 V0 h-84 V1759 v"+t+" v602 h84z";case"lparen":return"M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1\nc-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349,\n-36,557 l0,"+(t+84)+"c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210,\n949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9\nc0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5,\n-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189\nl0,-"+(t+92)+"c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3,\n-210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z";case"rparen":return"M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3,\n63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5\nc11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,"+(t+9)+"\nc-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664\nc-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11\nc0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17\nc242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558\nl0,-"+(t+144)+"c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,\n-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z";default:throw new Error("Unknown stretchy delimiter.")}}(c,Math.round(1e3*N)),I=new ie(c,C),R=(p/1e3).toFixed(3)+"em",H=(q/1e3).toFixed(3)+"em",O=new ne([I],{width:R,height:H,viewBox:"0 0 "+p+" "+q}),E=et.makeSvgSpan([],[O],a);E.height=q/1e3,E.style.width=R,E.style.height=H,T.push({type:"elem",elem:E})}else{if(T.push(dr(h,u,n)),T.push(fr),null===s){var L=M-g-y+.016;T.push(gr(l,L,a))}else{var D=(M-g-y-x)/2+.016;T.push(gr(l,D,a)),T.push(fr),T.push(dr(s,u,n)),T.push(fr),T.push(gr(l,D,a))}T.push(fr),T.push(dr(o,u,n))}var V=a.havingBaseStyle(B.TEXT),P=et.makeVList({positionType:"bottom",positionData:A,children:T},V);return cr(et.makeSpan(["delimsizing","mult"],[P],V),B.TEXT,a,i)},xr=.08,wr=function(e,t,r,a,n){var i=function(e,t,r){t*=1e3;var a="";switch(e){case"sqrtMain":a=function(e){return"M95,"+(622+e+80)+"\nc-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14\nc0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54\nc44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10\ns173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429\nc69,-144,104.5,-217.7,106.5,-221\nl"+e/2.075+" -"+e+"\nc5.3,-9.3,12,-14,20,-14\nH400000v"+(40+e)+"H845.2724\ns-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7\nc-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z\nM"+(834+e)+" 80h400000v"+(40+e)+"h-400000z"}(t);break;case"sqrtSize1":a=function(e){return"M263,"+(601+e+80)+"c0.7,0,18,39.7,52,119\nc34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120\nc340,-704.7,510.7,-1060.3,512,-1067\nl"+e/2.084+" -"+e+"\nc4.7,-7.3,11,-11,19,-11\nH40000v"+(40+e)+"H1012.3\ns-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232\nc-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1\ns-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26\nc-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z\nM"+(1001+e)+" 80h400000v"+(40+e)+"h-400000z"}(t);break;case"sqrtSize2":a=function(e){return"M983 "+(10+e+80)+"\nl"+e/3.13+" -"+e+"\nc4,-6.7,10,-10,18,-10 H400000v"+(40+e)+"\nH1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7\ns-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744\nc-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30\nc26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722\nc56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5\nc53.7,-170.3,84.5,-266.8,92.5,-289.5z\nM"+(1001+e)+" 80h400000v"+(40+e)+"h-400000z"}(t);break;case"sqrtSize3":a=function(e){return"M424,"+(2398+e+80)+"\nc-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514\nc0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20\ns-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121\ns209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081\nl"+e/4.223+" -"+e+"c4,-6.7,10,-10,18,-10 H400000\nv"+(40+e)+"H1014.6\ns-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185\nc-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2z M"+(1001+e)+" 80\nh400000v"+(40+e)+"h-400000z"}(t);break;case"sqrtSize4":a=function(e){return"M473,"+(2713+e+80)+"\nc339.3,-1799.3,509.3,-2700,510,-2702 l"+e/5.298+" -"+e+"\nc3.3,-7.3,9.3,-11,18,-11 H400000v"+(40+e)+"H1017.7\ns-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200\nc0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26\ns76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,\n606zM"+(1001+e)+" 80h400000v"+(40+e)+"H1017.7z"}(t);break;case"sqrtTall":a=function(e,t,r){return"M702 "+(e+80)+"H400000"+(40+e)+"\nH742v"+(r-54-80-e)+"l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1\nh-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170\nc-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667\n219 661 l218 661zM702 80H400000v"+(40+e)+"H742z"}(t,0,r)}return a}(e,a,r),o=new ie(e,i),s=new ne([o],{width:"400em",height:_(t),viewBox:"0 0 400000 "+r,preserveAspectRatio:"xMinYMin slice"});return et.makeSvgSpan(["hide-tail"],[s],n)},kr=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","\\surd"],Sr=["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱"],Mr=["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"],zr=[0,1.2,1.8,2.4,3],Ar=[{type:"small",style:B.SCRIPTSCRIPT},{type:"small",style:B.SCRIPT},{type:"small",style:B.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],Tr=[{type:"small",style:B.SCRIPTSCRIPT},{type:"small",style:B.SCRIPT},{type:"small",style:B.TEXT},{type:"stack"}],Br=[{type:"small",style:B.SCRIPTSCRIPT},{type:"small",style:B.SCRIPT},{type:"small",style:B.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],Nr=function(e){if("small"===e.type)return"Main-Regular";if("large"===e.type)return"Size"+e.size+"-Regular";if("stack"===e.type)return"Size4-Regular";throw new Error("Add support for delim type '"+e.type+"' here.")},qr=function(e,t,r,a){for(var n=Math.min(2,3-a.style.size);nt)return r[n]}return r[r.length-1]},Cr=function(e,t,r,a,n,i){var o;"<"===e||"\\lt"===e||"⟨"===e?e="\\langle":">"!==e&&"\\gt"!==e&&"⟩"!==e||(e="\\rangle"),o=m(Mr,e)?Ar:m(kr,e)?Br:Tr;var s=qr(e,t,o,a);return"small"===s.type?function(e,t,r,a,n,i){var o=et.makeSymbol(e,"Main-Regular",n,a),s=cr(o,t,a,i);return r&&pr(s,a,t),s}(e,s.style,r,a,n,i):"large"===s.type?ur(e,s.size,r,a,n,i):yr(e,t,r,a,n,i)},Ir={sqrtImage:function(e,t){var r,a,n=t.havingBaseSizing(),i=qr("\\surd",e*n.sizeMultiplier,Br,n),o=n.sizeMultiplier,s=Math.max(0,t.minRuleThickness-t.fontMetrics().sqrtRuleThickness),l=0,h=0,m=0;return"small"===i.type?(e<1?o=1:e<1.4&&(o=.7),h=(1+s)/o,(r=wr("sqrtMain",l=(1+s+xr)/o,m=1e3+1e3*s+80,s,t)).style.minWidth="0.853em",a=.833/o):"large"===i.type?(m=1080*zr[i.size],h=(zr[i.size]+s)/o,l=(zr[i.size]+s+xr)/o,(r=wr("sqrtSize"+i.size,l,m,s,t)).style.minWidth="1.02em",a=1/o):(l=e+s+xr,h=e+s,m=Math.floor(1e3*e+s)+80,(r=wr("sqrtTall",l,m,s,t)).style.minWidth="0.742em",a=1.056),r.height=h,r.style.height=_(l),{span:r,advanceWidth:a,ruleWidth:(t.fontMetrics().sqrtRuleThickness+s)*o}},sizedDelim:function(e,t,r,a,n){if("<"===e||"\\lt"===e||"⟨"===e?e="\\langle":">"!==e&&"\\gt"!==e&&"⟩"!==e||(e="\\rangle"),m(kr,e)||m(Mr,e))return ur(e,t,!1,r,a,n);if(m(Sr,e))return yr(e,zr[t],!1,r,a,n);throw new i("Illegal delimiter: '"+e+"'")},sizeToMaxHeight:zr,customSizedDelim:Cr,leftRightDelim:function(e,t,r,a,n,i){var o=a.fontMetrics().axisHeight*a.sizeMultiplier,s=5/a.fontMetrics().ptPerEm,l=Math.max(t-o,r+o),h=Math.max(l/500*901,2*l-s);return Cr(e,h,!0,a,n,i)}},Rr={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},Hr=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","<",">","\\langle","⟨","\\rangle","⟩","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."];function Or(e,t){var r=_t(e);if(r&&m(Hr,r.text))return r;throw new i(r?"Invalid delimiter '"+r.text+"' after '"+t.funcName+"'":"Invalid delimiter type '"+e.type+"'",e)}function Er(e){if(!e.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}ht({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:(e,t)=>{var r=Or(t[0],e);return{type:"delimsizing",mode:e.parser.mode,size:Rr[e.funcName].size,mclass:Rr[e.funcName].mclass,delim:r.text}},htmlBuilder:(e,t)=>"."===e.delim?et.makeSpan([e.mclass]):Ir.sizedDelim(e.delim,e.size,t,e.mode,[e.mclass]),mathmlBuilder:e=>{var t=[];"."!==e.delim&&t.push(Ct(e.delim,e.mode));var r=new qt.MathNode("mo",t);"mopen"===e.mclass||"mclose"===e.mclass?r.setAttribute("fence","true"):r.setAttribute("fence","false"),r.setAttribute("stretchy","true");var a=_(Ir.sizeToMaxHeight[e.size]);return r.setAttribute("minsize",a),r.setAttribute("maxsize",a),r}}),ht({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:(e,t)=>{var r=e.parser.gullet.macros.get("\\current@color");if(r&&"string"!=typeof r)throw new i("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:e.parser.mode,delim:Or(t[0],e).text,color:r}}}),ht({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:(e,t)=>{var r=Or(t[0],e),a=e.parser;++a.leftrightDepth;var n=a.parseExpression(!1);--a.leftrightDepth,a.expect("\\right",!1);var i=Xt(a.parseFunction(),"leftright-right");return{type:"leftright",mode:a.mode,body:n,left:r.text,right:i.delim,rightColor:i.color}},htmlBuilder:(e,t)=>{Er(e);for(var r,a,n=bt(e.body,t,!0,["mopen","mclose"]),i=0,o=0,s=!1,l=0;l{Er(e);var r=Ot(e.body,t);if("."!==e.left){var a=new qt.MathNode("mo",[Ct(e.left,e.mode)]);a.setAttribute("fence","true"),r.unshift(a)}if("."!==e.right){var n=new qt.MathNode("mo",[Ct(e.right,e.mode)]);n.setAttribute("fence","true"),e.rightColor&&n.setAttribute("mathcolor",e.rightColor),r.push(n)}return It(r)}}),ht({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:(e,t)=>{var r=Or(t[0],e);if(!e.parser.leftrightDepth)throw new i("\\middle without preceding \\left",r);return{type:"middle",mode:e.parser.mode,delim:r.text}},htmlBuilder:(e,t)=>{var r;if("."===e.delim)r=St(t,[]);else{r=Ir.sizedDelim(e.delim,1,t,e.mode,[]);var a={delim:e.delim,options:t};r.isMiddle=a}return r},mathmlBuilder:(e,t)=>{var r="\\vert"===e.delim||"|"===e.delim?Ct("|","text"):Ct(e.delim,e.mode),a=new qt.MathNode("mo",[r]);return a.setAttribute("fence","true"),a.setAttribute("lspace","0.05em"),a.setAttribute("rspace","0.05em"),a}});var Lr=(e,t)=>{var r,a,n,i=et.wrapFragment(Mt(e.body,t),t),o=e.label.slice(1),s=t.sizeMultiplier,l=0,h=g(e.body);if("sout"===o)(r=et.makeSpan(["stretchy","sout"])).height=t.fontMetrics().defaultRuleThickness/s,l=-.5*t.fontMetrics().xHeight;else if("phase"===o){var m=W({number:.6,unit:"pt"},t),c=W({number:.35,unit:"ex"},t);s/=t.havingBaseSizing().sizeMultiplier;var p=i.height+i.depth+m+c;i.style.paddingLeft=_(p/2+m);var u=Math.floor(1e3*p*s),d="M400000 "+(a=u)+" H0 L"+a/2+" 0 l65 45 L145 "+(a-80)+" H400000z",f=new ne([new ie("phase",d)],{width:"400em",height:_(u/1e3),viewBox:"0 0 400000 "+u,preserveAspectRatio:"xMinYMin slice"});(r=et.makeSvgSpan(["hide-tail"],[f],t)).style.height=_(p),l=i.depth+m+c}else{/cancel/.test(o)?h||i.classes.push("cancel-pad"):"angl"===o?i.classes.push("anglpad"):i.classes.push("boxpad");var v=0,b=0,y=0;/box/.test(o)?(y=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness),b=v=t.fontMetrics().fboxsep+("colorbox"===o?0:y)):"angl"===o?(v=4*(y=Math.max(t.fontMetrics().defaultRuleThickness,t.minRuleThickness)),b=Math.max(0,.25-i.depth)):b=v=h?.2:0,r=function(e,t,r,a,n){var i,o=e.height+e.depth+r+a;if(/fbox|color|angl/.test(t)){if(i=et.makeSpan(["stretchy",t],[],n),"fbox"===t){var s=n.color&&n.getColor();s&&(i.style.borderColor=s)}}else{var l=[];/^[bx]cancel$/.test(t)&&l.push(new oe({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(t)&&l.push(new oe({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var h=new ne(l,{width:"100%",height:_(o)});i=et.makeSvgSpan([],[h],n)}return i.height=o,i.style.height=_(o),i}(i,o,v,b,t),/fbox|boxed|fcolorbox/.test(o)?(r.style.borderStyle="solid",r.style.borderWidth=_(y)):"angl"===o&&.049!==y&&(r.style.borderTopWidth=_(y),r.style.borderRightWidth=_(y)),l=i.depth+b,e.backgroundColor&&(r.style.backgroundColor=e.backgroundColor,e.borderColor&&(r.style.borderColor=e.borderColor))}if(e.backgroundColor)n=et.makeVList({positionType:"individualShift",children:[{type:"elem",elem:r,shift:l},{type:"elem",elem:i,shift:0}]},t);else{var x=/cancel|phase/.test(o)?["svg-align"]:[];n=et.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:0},{type:"elem",elem:r,shift:l,wrapperClasses:x}]},t)}return/cancel/.test(o)&&(n.height=i.height,n.depth=i.depth),/cancel/.test(o)&&!h?et.makeSpan(["mord","cancel-lap"],[n],t):et.makeSpan(["mord"],[n],t)},Dr=(e,t)=>{var r=0,a=new qt.MathNode(e.label.indexOf("colorbox")>-1?"mpadded":"menclose",[Lt(e.body,t)]);switch(e.label){case"\\cancel":a.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":a.setAttribute("notation","downdiagonalstrike");break;case"\\phase":a.setAttribute("notation","phasorangle");break;case"\\sout":a.setAttribute("notation","horizontalstrike");break;case"\\fbox":a.setAttribute("notation","box");break;case"\\angl":a.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(r=t.fontMetrics().fboxsep*t.fontMetrics().ptPerEm,a.setAttribute("width","+"+2*r+"pt"),a.setAttribute("height","+"+2*r+"pt"),a.setAttribute("lspace",r+"pt"),a.setAttribute("voffset",r+"pt"),"\\fcolorbox"===e.label){var n=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness);a.setAttribute("style","border: "+n+"em solid "+String(e.borderColor))}break;case"\\xcancel":a.setAttribute("notation","updiagonalstrike downdiagonalstrike")}return e.backgroundColor&&a.setAttribute("mathbackground",e.backgroundColor),a};ht({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler(e,t,r){var{parser:a,funcName:n}=e,i=Xt(t[0],"color-token").color,o=t[1];return{type:"enclose",mode:a.mode,label:n,backgroundColor:i,body:o}},htmlBuilder:Lr,mathmlBuilder:Dr}),ht({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler(e,t,r){var{parser:a,funcName:n}=e,i=Xt(t[0],"color-token").color,o=Xt(t[1],"color-token").color,s=t[2];return{type:"enclose",mode:a.mode,label:n,backgroundColor:o,borderColor:i,body:s}},htmlBuilder:Lr,mathmlBuilder:Dr}),ht({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(e,t){var{parser:r}=e;return{type:"enclose",mode:r.mode,label:"\\fbox",body:t[0]}}}),ht({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\sout","\\phase"],props:{numArgs:1},handler(e,t){var{parser:r,funcName:a}=e,n=t[0];return{type:"enclose",mode:r.mode,label:a,body:n}},htmlBuilder:Lr,mathmlBuilder:Dr}),ht({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(e,t){var{parser:r}=e;return{type:"enclose",mode:r.mode,label:"\\angl",body:t[0]}}});var Vr={};function Pr(e){for(var{type:t,names:r,props:a,handler:n,htmlBuilder:i,mathmlBuilder:o}=e,s={type:t,numArgs:a.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:n},l=0;l{if(!e.parser.settings.displayMode)throw new i("{"+e.envName+"} can be used only in display mode.")};function Xr(e){if(-1===e.indexOf("ed"))return-1===e.indexOf("*")}function Wr(e,t,r){var{hskipBeforeAndAfter:a,addJot:o,cols:s,arraystretch:l,colSeparationType:h,autoTag:m,singleRow:c,emptySingleRow:p,maxNumCols:u,leqno:d}=t;if(e.gullet.beginGroup(),c||e.gullet.macros.set("\\cr","\\\\\\relax"),!l){var g=e.gullet.expandMacroAsText("\\arraystretch");if(null==g)l=1;else if(!(l=parseFloat(g))||l<0)throw new i("Invalid \\arraystretch: "+g)}e.gullet.beginGroup();var f=[],v=[f],b=[],y=[],x=null!=m?[]:void 0;function w(){m&&e.gullet.macros.set("\\@eqnsw","1",!0)}function k(){x&&(e.gullet.macros.get("\\df@tag")?(x.push(e.subparse([new n("\\df@tag")])),e.gullet.macros.set("\\df@tag",void 0,!0)):x.push(Boolean(m)&&"1"===e.gullet.macros.get("\\@eqnsw")))}for(w(),y.push(Ur(e));;){var S=e.parseExpression(!1,c?"\\end":"\\\\");e.gullet.endGroup(),e.gullet.beginGroup(),S={type:"ordgroup",mode:e.mode,body:S},r&&(S={type:"styling",mode:e.mode,style:r,body:[S]}),f.push(S);var M=e.fetch().text;if("&"===M){if(u&&f.length===u){if(c||h)throw new i("Too many tab characters: &",e.nextToken);e.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.")}e.consume()}else{if("\\end"===M){k(),1===f.length&&"styling"===S.type&&0===S.body[0].body.length&&(v.length>1||!p)&&v.pop(),y.length0&&(y+=.25),h.push({pos:y,isDashed:e[t]})}for(x(o[0]),r=0;r0&&(S<(T+=b)&&(S=T),T=0),e.addJot&&(S+=g),M.height=k,M.depth=S,y+=k,M.pos=y,y+=S+T,l[r]=M,x(o[r+1])}var N,q,C=y/2+t.fontMetrics().axisHeight,I=e.cols||[],R=[],H=[];if(e.tags&&e.tags.some((e=>e)))for(r=0;r=s)){var Y=void 0;(a>0||e.hskipBeforeAndAfter)&&0!==(Y=c(V.pregap,u))&&((N=et.makeSpan(["arraycolsep"],[])).style.width=_(Y),R.push(N));var X=[];for(r=0;r0){for(var K=et.makeLineSpan("hline",t,m),J=et.makeLineSpan("hdashline",t,m),Q=[{type:"elem",elem:l,shift:0}];h.length>0;){var ee=h.pop(),te=ee.pos-C;ee.isDashed?Q.push({type:"elem",elem:J,shift:te}):Q.push({type:"elem",elem:K,shift:te})}l=et.makeVList({positionType:"individualShift",children:Q},t)}if(0===H.length)return et.makeSpan(["mord"],[l],t);var re=et.makeVList({positionType:"individualShift",children:H},t);return re=et.makeSpan(["tag"],[re],t),et.makeFragment([l,re])},$r={c:"center ",l:"left ",r:"right "},Zr=function(e,t){for(var r=[],a=new qt.MathNode("mtd",[],["mtr-glue"]),n=new qt.MathNode("mtd",[],["mml-eqn-num"]),i=0;i0){var u=e.cols,d="",g=!1,f=0,v=u.length;"separator"===u[0].type&&(c+="top ",f=1),"separator"===u[u.length-1].type&&(c+="bottom ",v-=1);for(var b=f;b0?"left ":"",c+=S[S.length-1].length>0?"right ":"";for(var M=1;M-1?"alignat":"align",o="split"===e.envName,s=Wr(e.parser,{cols:a,addJot:!0,autoTag:o?void 0:Xr(e.envName),emptySingleRow:!0,colSeparationType:n,maxNumCols:o?2:void 0,leqno:e.parser.settings.leqno},"display"),l=0,h={type:"ordgroup",mode:e.mode,body:[]};if(t[0]&&"ordgroup"===t[0].type){for(var m="",c=0;c0&&p&&(g=1),a[u]={type:"align",align:d,pregap:g,postgap:0}}return s.colSeparationType=p?"align":"alignat",s};Pr({type:"array",names:["array","darray"],props:{numArgs:1},handler(e,t){var r=(_t(t[0])?[t[0]]:Xt(t[0],"ordgroup").body).map((function(e){var t=Wt(e).text;if(-1!=="lcr".indexOf(t))return{type:"align",align:t};if("|"===t)return{type:"separator",separator:"|"};if(":"===t)return{type:"separator",separator:":"};throw new i("Unknown column alignment: "+t,e)})),a={cols:r,hskipBeforeAndAfter:!0,maxNumCols:r.length};return Wr(e.parser,a,_r(e.envName))},htmlBuilder:jr,mathmlBuilder:Zr}),Pr({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(e){var t={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[e.envName.replace("*","")],r="c",a={hskipBeforeAndAfter:!1,cols:[{type:"align",align:r}]};if("*"===e.envName.charAt(e.envName.length-1)){var n=e.parser;if(n.consumeSpaces(),"["===n.fetch().text){if(n.consume(),n.consumeSpaces(),r=n.fetch().text,-1==="lcr".indexOf(r))throw new i("Expected l or c or r",n.nextToken);n.consume(),n.consumeSpaces(),n.expect("]"),n.consume(),a.cols=[{type:"align",align:r}]}}var o=Wr(e.parser,a,_r(e.envName)),s=Math.max(0,...o.body.map((e=>e.length)));return o.cols=new Array(s).fill({type:"align",align:r}),t?{type:"leftright",mode:e.mode,body:[o],left:t[0],right:t[1],rightColor:void 0}:o},htmlBuilder:jr,mathmlBuilder:Zr}),Pr({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(e){var t=Wr(e.parser,{arraystretch:.5},"script");return t.colSeparationType="small",t},htmlBuilder:jr,mathmlBuilder:Zr}),Pr({type:"array",names:["subarray"],props:{numArgs:1},handler(e,t){var r=(_t(t[0])?[t[0]]:Xt(t[0],"ordgroup").body).map((function(e){var t=Wt(e).text;if(-1!=="lc".indexOf(t))return{type:"align",align:t};throw new i("Unknown column alignment: "+t,e)}));if(r.length>1)throw new i("{subarray} can contain only one column");var a={cols:r,hskipBeforeAndAfter:!1,arraystretch:.5};if((a=Wr(e.parser,a,"script")).body.length>0&&a.body[0].length>1)throw new i("{subarray} can contain only one column");return a},htmlBuilder:jr,mathmlBuilder:Zr}),Pr({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(e){var t=Wr(e.parser,{arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},_r(e.envName));return{type:"leftright",mode:e.mode,body:[t],left:e.envName.indexOf("r")>-1?".":"\\{",right:e.envName.indexOf("r")>-1?"\\}":".",rightColor:void 0}},htmlBuilder:jr,mathmlBuilder:Zr}),Pr({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:Kr,htmlBuilder:jr,mathmlBuilder:Zr}),Pr({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(e){m(["gather","gather*"],e.envName)&&Yr(e);var t={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:Xr(e.envName),emptySingleRow:!0,leqno:e.parser.settings.leqno};return Wr(e.parser,t,"display")},htmlBuilder:jr,mathmlBuilder:Zr}),Pr({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:Kr,htmlBuilder:jr,mathmlBuilder:Zr}),Pr({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(e){Yr(e);var t={autoTag:Xr(e.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:e.parser.settings.leqno};return Wr(e.parser,t,"display")},htmlBuilder:jr,mathmlBuilder:Zr}),Pr({type:"array",names:["CD"],props:{numArgs:0},handler:e=>(Yr(e),function(e){var t=[];for(e.gullet.beginGroup(),e.gullet.macros.set("\\cr","\\\\\\relax"),e.gullet.beginGroup();;){t.push(e.parseExpression(!1,"\\\\")),e.gullet.endGroup(),e.gullet.beginGroup();var r=e.fetch().text;if("&"!==r&&"\\\\"!==r){if("\\end"===r){0===t[t.length-1].length&&t.pop();break}throw new i("Expected \\\\ or \\cr or \\end",e.nextToken)}e.consume()}for(var a,n,o=[],s=[o],l=0;l-1);else{if(!("<>AV".indexOf(p)>-1))throw new i('Expected one of "<>AV=|." after @',h[c]);for(var d=0;d<2;d++){for(var g=!0,f=c+1;f{var r=e.font,a=t.withFont(r);return Mt(e.body,a)},ea=(e,t)=>{var r=e.font,a=t.withFont(r);return Lt(e.body,a)},ta={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};ht({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathsfit","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:(e,t)=>{var{parser:r,funcName:a}=e,n=ct(t[0]),i=a;return i in ta&&(i=ta[i]),{type:"font",mode:r.mode,font:i.slice(1),body:n}},htmlBuilder:Qr,mathmlBuilder:ea}),ht({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:(e,t)=>{var{parser:r}=e,a=t[0],n=g(a);return{type:"mclass",mode:r.mode,mclass:tr(a),body:[{type:"font",mode:r.mode,font:"boldsymbol",body:a}],isCharacterBox:n}}}),ht({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:(e,t)=>{var{parser:r,funcName:a,breakOnTokenText:n}=e,{mode:i}=r,o=r.parseExpression(!0,n);return{type:"font",mode:i,font:"math"+a.slice(1),body:{type:"ordgroup",mode:r.mode,body:o}}},htmlBuilder:Qr,mathmlBuilder:ea});var ra=(e,t)=>{var r=t;return"display"===e?r=r.id>=B.SCRIPT.id?r.text():B.DISPLAY:"text"===e&&r.size===B.DISPLAY.size?r=B.TEXT:"script"===e?r=B.SCRIPT:"scriptscript"===e&&(r=B.SCRIPTSCRIPT),r},aa=(e,t)=>{var r,a=ra(e.size,t.style),n=a.fracNum(),i=a.fracDen();r=t.havingStyle(n);var o=Mt(e.numer,r,t);if(e.continued){var s=8.5/t.fontMetrics().ptPerEm,l=3.5/t.fontMetrics().ptPerEm;o.height=o.height0?3*c:7*c,d=t.fontMetrics().denom1):(m>0?(p=t.fontMetrics().num2,u=c):(p=t.fontMetrics().num3,u=3*c),d=t.fontMetrics().denom2),h){var x=t.fontMetrics().axisHeight;p-o.depth-(x+.5*m){var r=new qt.MathNode("mfrac",[Lt(e.numer,t),Lt(e.denom,t)]);if(e.hasBarLine){if(e.barSize){var a=W(e.barSize,t);r.setAttribute("linethickness",_(a))}}else r.setAttribute("linethickness","0px");var n=ra(e.size,t.style);if(n.size!==t.style.size){r=new qt.MathNode("mstyle",[r]);var i=n.size===B.DISPLAY.size?"true":"false";r.setAttribute("displaystyle",i),r.setAttribute("scriptlevel","0")}if(null!=e.leftDelim||null!=e.rightDelim){var o=[];if(null!=e.leftDelim){var s=new qt.MathNode("mo",[new qt.TextNode(e.leftDelim.replace("\\",""))]);s.setAttribute("fence","true"),o.push(s)}if(o.push(r),null!=e.rightDelim){var l=new qt.MathNode("mo",[new qt.TextNode(e.rightDelim.replace("\\",""))]);l.setAttribute("fence","true"),o.push(l)}return It(o)}return r};ht({type:"genfrac",names:["\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:(e,t)=>{var r,{parser:a,funcName:n}=e,i=t[0],o=t[1],s=null,l=null,h="auto";switch(n){case"\\dfrac":case"\\frac":case"\\tfrac":r=!0;break;case"\\\\atopfrac":r=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":r=!1,s="(",l=")";break;case"\\\\bracefrac":r=!1,s="\\{",l="\\}";break;case"\\\\brackfrac":r=!1,s="[",l="]";break;default:throw new Error("Unrecognized genfrac command")}switch(n){case"\\dfrac":case"\\dbinom":h="display";break;case"\\tfrac":case"\\tbinom":h="text"}return{type:"genfrac",mode:a.mode,continued:!1,numer:i,denom:o,hasBarLine:r,leftDelim:s,rightDelim:l,size:h,barSize:null}},htmlBuilder:aa,mathmlBuilder:na}),ht({type:"genfrac",names:["\\cfrac"],props:{numArgs:2},handler:(e,t)=>{var{parser:r,funcName:a}=e,n=t[0],i=t[1];return{type:"genfrac",mode:r.mode,continued:!0,numer:n,denom:i,hasBarLine:!0,leftDelim:null,rightDelim:null,size:"display",barSize:null}}}),ht({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(e){var t,{parser:r,funcName:a,token:n}=e;switch(a){case"\\over":t="\\frac";break;case"\\choose":t="\\binom";break;case"\\atop":t="\\\\atopfrac";break;case"\\brace":t="\\\\bracefrac";break;case"\\brack":t="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:r.mode,replaceWith:t,token:n}}});var ia=["display","text","script","scriptscript"],oa=function(e){var t=null;return e.length>0&&(t="."===(t=e)?null:t),t};ht({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(e,t){var r,{parser:a}=e,n=t[4],i=t[5],o=ct(t[0]),s="atom"===o.type&&"open"===o.family?oa(o.text):null,l=ct(t[1]),h="atom"===l.type&&"close"===l.family?oa(l.text):null,m=Xt(t[2],"size"),c=null;r=!!m.isBlank||(c=m.value).number>0;var p="auto",u=t[3];if("ordgroup"===u.type){if(u.body.length>0){var d=Xt(u.body[0],"textord");p=ia[Number(d.text)]}}else u=Xt(u,"textord"),p=ia[Number(u.text)];return{type:"genfrac",mode:a.mode,numer:n,denom:i,continued:!1,hasBarLine:r,barSize:c,leftDelim:s,rightDelim:h,size:p}},htmlBuilder:aa,mathmlBuilder:na}),ht({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(e,t){var{parser:r,funcName:a,token:n}=e;return{type:"infix",mode:r.mode,replaceWith:"\\\\abovefrac",size:Xt(t[0],"size").value,token:n}}}),ht({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:(e,t)=>{var{parser:r,funcName:a}=e,n=t[0],i=function(e){if(!e)throw new Error("Expected non-null, but got "+String(e));return e}(Xt(t[1],"infix").size),o=t[2],s=i.number>0;return{type:"genfrac",mode:r.mode,numer:n,denom:o,continued:!1,hasBarLine:s,barSize:i,leftDelim:null,rightDelim:null,size:"auto"}},htmlBuilder:aa,mathmlBuilder:na});var sa=(e,t)=>{var r,a,n=t.style;"supsub"===e.type?(r=e.sup?Mt(e.sup,t.havingStyle(n.sup()),t):Mt(e.sub,t.havingStyle(n.sub()),t),a=Xt(e.base,"horizBrace")):a=Xt(e,"horizBrace");var i,o=Mt(a.base,t.havingBaseStyle(B.DISPLAY)),s=Yt(a,t);if(a.isOver?(i=et.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:o},{type:"kern",size:.1},{type:"elem",elem:s}]},t)).children[0].children[0].children[1].classes.push("svg-align"):(i=et.makeVList({positionType:"bottom",positionData:o.depth+.1+s.height,children:[{type:"elem",elem:s},{type:"kern",size:.1},{type:"elem",elem:o}]},t)).children[0].children[0].children[0].classes.push("svg-align"),r){var l=et.makeSpan(["mord",a.isOver?"mover":"munder"],[i],t);i=a.isOver?et.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:l},{type:"kern",size:.2},{type:"elem",elem:r}]},t):et.makeVList({positionType:"bottom",positionData:l.depth+.2+r.height+r.depth,children:[{type:"elem",elem:r},{type:"kern",size:.2},{type:"elem",elem:l}]},t)}return et.makeSpan(["mord",a.isOver?"mover":"munder"],[i],t)};ht({type:"horizBrace",names:["\\overbrace","\\underbrace"],props:{numArgs:1},handler(e,t){var{parser:r,funcName:a}=e;return{type:"horizBrace",mode:r.mode,label:a,isOver:/^\\over/.test(a),base:t[0]}},htmlBuilder:sa,mathmlBuilder:(e,t)=>{var r=Ut(e.label);return new qt.MathNode(e.isOver?"mover":"munder",[Lt(e.base,t),r])}}),ht({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:(e,t)=>{var{parser:r}=e,a=t[1],n=Xt(t[0],"url").url;return r.settings.isTrusted({command:"\\href",url:n})?{type:"href",mode:r.mode,href:n,body:pt(a)}:r.formatUnsupportedCmd("\\href")},htmlBuilder:(e,t)=>{var r=bt(e.body,t,!1);return et.makeAnchor(e.href,[],r,t)},mathmlBuilder:(e,t)=>{var r=Et(e.body,t);return r instanceof Bt||(r=new Bt("mrow",[r])),r.setAttribute("href",e.href),r}}),ht({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:(e,t)=>{var{parser:r}=e,a=Xt(t[0],"url").url;if(!r.settings.isTrusted({command:"\\url",url:a}))return r.formatUnsupportedCmd("\\url");for(var n=[],i=0;inew qt.MathNode("mrow",Ot(e.body,t))}),ht({type:"html",names:["\\htmlClass","\\htmlId","\\htmlStyle","\\htmlData"],props:{numArgs:2,argTypes:["raw","original"],allowedInText:!0},handler:(e,t)=>{var r,{parser:a,funcName:n,token:o}=e,s=Xt(t[0],"raw").string,l=t[1];a.settings.strict&&a.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var h={};switch(n){case"\\htmlClass":h.class=s,r={command:"\\htmlClass",class:s};break;case"\\htmlId":h.id=s,r={command:"\\htmlId",id:s};break;case"\\htmlStyle":h.style=s,r={command:"\\htmlStyle",style:s};break;case"\\htmlData":for(var m=s.split(","),c=0;c{var r=bt(e.body,t,!1),a=["enclosing"];e.attributes.class&&a.push(...e.attributes.class.trim().split(/\s+/));var n=et.makeSpan(a,r,t);for(var i in e.attributes)"class"!==i&&e.attributes.hasOwnProperty(i)&&n.setAttribute(i,e.attributes[i]);return n},mathmlBuilder:(e,t)=>Et(e.body,t)}),ht({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInText:!0},handler:(e,t)=>{var{parser:r}=e;return{type:"htmlmathml",mode:r.mode,html:pt(t[0]),mathml:pt(t[1])}},htmlBuilder:(e,t)=>{var r=bt(e.html,t,!1);return et.makeFragment(r)},mathmlBuilder:(e,t)=>Et(e.mathml,t)});var la=function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:"bp"};var t=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!t)throw new i("Invalid size: '"+e+"' in \\includegraphics");var r={number:+(t[1]+t[2]),unit:t[3]};if(!X(r))throw new i("Invalid unit: '"+r.unit+"' in \\includegraphics.");return r};ht({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:(e,t,r)=>{var{parser:a}=e,n={number:0,unit:"em"},o={number:.9,unit:"em"},s={number:0,unit:"em"},l="";if(r[0])for(var h=Xt(r[0],"raw").string.split(","),m=0;m{var r=W(e.height,t),a=0;e.totalheight.number>0&&(a=W(e.totalheight,t)-r);var n=0;e.width.number>0&&(n=W(e.width,t));var i={height:_(r+a)};n>0&&(i.width=_(n)),a>0&&(i.verticalAlign=_(-a));var o=new te(e.src,e.alt,i);return o.height=r,o.depth=a,o},mathmlBuilder:(e,t)=>{var r=new qt.MathNode("mglyph",[]);r.setAttribute("alt",e.alt);var a=W(e.height,t),n=0;if(e.totalheight.number>0&&(n=W(e.totalheight,t)-a,r.setAttribute("valign",_(-n))),r.setAttribute("height",_(a+n)),e.width.number>0){var i=W(e.width,t);r.setAttribute("width",_(i))}return r.setAttribute("src",e.src),r}}),ht({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(e,t){var{parser:r,funcName:a}=e,n=Xt(t[0],"size");if(r.settings.strict){var i="m"===a[1],o="mu"===n.value.unit;i?(o||r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" supports only mu units, not "+n.value.unit+" units"),"math"!==r.mode&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" works only in math mode")):o&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" doesn't support mu units")}return{type:"kern",mode:r.mode,dimension:n.value}},htmlBuilder:(e,t)=>et.makeGlue(e.dimension,t),mathmlBuilder(e,t){var r=W(e.dimension,t);return new qt.SpaceNode(r)}}),ht({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{var{parser:r,funcName:a}=e,n=t[0];return{type:"lap",mode:r.mode,alignment:a.slice(5),body:n}},htmlBuilder:(e,t)=>{var r;"clap"===e.alignment?(r=et.makeSpan([],[Mt(e.body,t)]),r=et.makeSpan(["inner"],[r],t)):r=et.makeSpan(["inner"],[Mt(e.body,t)]);var a=et.makeSpan(["fix"],[]),n=et.makeSpan([e.alignment],[r,a],t),i=et.makeSpan(["strut"]);return i.style.height=_(n.height+n.depth),n.depth&&(i.style.verticalAlign=_(-n.depth)),n.children.unshift(i),n=et.makeSpan(["thinbox"],[n],t),et.makeSpan(["mord","vbox"],[n],t)},mathmlBuilder:(e,t)=>{var r=new qt.MathNode("mpadded",[Lt(e.body,t)]);if("rlap"!==e.alignment){var a="llap"===e.alignment?"-1":"-0.5";r.setAttribute("lspace",a+"width")}return r.setAttribute("width","0px"),r}}),ht({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(e,t){var{funcName:r,parser:a}=e,n=a.mode;a.switchMode("math");var i="\\("===r?"\\)":"$",o=a.parseExpression(!1,i);return a.expect(i),a.switchMode(n),{type:"styling",mode:a.mode,style:"text",body:o}}}),ht({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(e,t){throw new i("Mismatched "+e.funcName)}});var ha=(e,t)=>{switch(t.style.size){case B.DISPLAY.size:return e.display;case B.TEXT.size:return e.text;case B.SCRIPT.size:return e.script;case B.SCRIPTSCRIPT.size:return e.scriptscript;default:return e.text}};ht({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:(e,t)=>{var{parser:r}=e;return{type:"mathchoice",mode:r.mode,display:pt(t[0]),text:pt(t[1]),script:pt(t[2]),scriptscript:pt(t[3])}},htmlBuilder:(e,t)=>{var r=ha(e,t),a=bt(r,t,!1);return et.makeFragment(a)},mathmlBuilder:(e,t)=>{var r=ha(e,t);return Et(r,t)}});var ma=(e,t,r,a,n,i,o)=>{e=et.makeSpan([],[e]);var s,l,h,m=r&&g(r);if(t){var c=Mt(t,a.havingStyle(n.sup()),a);l={elem:c,kern:Math.max(a.fontMetrics().bigOpSpacing1,a.fontMetrics().bigOpSpacing3-c.depth)}}if(r){var p=Mt(r,a.havingStyle(n.sub()),a);s={elem:p,kern:Math.max(a.fontMetrics().bigOpSpacing2,a.fontMetrics().bigOpSpacing4-p.height)}}if(l&&s){var u=a.fontMetrics().bigOpSpacing5+s.elem.height+s.elem.depth+s.kern+e.depth+o;h=et.makeVList({positionType:"bottom",positionData:u,children:[{type:"kern",size:a.fontMetrics().bigOpSpacing5},{type:"elem",elem:s.elem,marginLeft:_(-i)},{type:"kern",size:s.kern},{type:"elem",elem:e},{type:"kern",size:l.kern},{type:"elem",elem:l.elem,marginLeft:_(i)},{type:"kern",size:a.fontMetrics().bigOpSpacing5}]},a)}else if(s){var d=e.height-o;h=et.makeVList({positionType:"top",positionData:d,children:[{type:"kern",size:a.fontMetrics().bigOpSpacing5},{type:"elem",elem:s.elem,marginLeft:_(-i)},{type:"kern",size:s.kern},{type:"elem",elem:e}]},a)}else{if(!l)return e;var f=e.depth+o;h=et.makeVList({positionType:"bottom",positionData:f,children:[{type:"elem",elem:e},{type:"kern",size:l.kern},{type:"elem",elem:l.elem,marginLeft:_(i)},{type:"kern",size:a.fontMetrics().bigOpSpacing5}]},a)}var v=[h];if(s&&0!==i&&!m){var b=et.makeSpan(["mspace"],[],a);b.style.marginRight=_(i),v.unshift(b)}return et.makeSpan(["mop","op-limits"],v,a)},ca=["\\smallint"],pa=(e,t)=>{var r,a,n,i=!1;"supsub"===e.type?(r=e.sup,a=e.sub,n=Xt(e.base,"op"),i=!0):n=Xt(e,"op");var o,s=t.style,l=!1;if(s.size===B.DISPLAY.size&&n.symbol&&!m(ca,n.name)&&(l=!0),n.symbol){var h=l?"Size2-Regular":"Size1-Regular",c="";if("\\oiint"!==n.name&&"\\oiiint"!==n.name||(c=n.name.slice(1),n.name="oiint"===c?"\\iint":"\\iiint"),o=et.makeSymbol(n.name,h,"math",t,["mop","op-symbol",l?"large-op":"small-op"]),c.length>0){var p=o.italic,u=et.staticSvg(c+"Size"+(l?"2":"1"),t);o=et.makeVList({positionType:"individualShift",children:[{type:"elem",elem:o,shift:0},{type:"elem",elem:u,shift:l?.08:0}]},t),n.name="\\"+c,o.classes.unshift("mop"),o.italic=p}}else if(n.body){var d=bt(n.body,t,!0);1===d.length&&d[0]instanceof ae?(o=d[0]).classes[0]="mop":o=et.makeSpan(["mop"],d,t)}else{for(var g=[],f=1;f{var r;if(e.symbol)r=new Bt("mo",[Ct(e.name,e.mode)]),m(ca,e.name)&&r.setAttribute("largeop","false");else if(e.body)r=new Bt("mo",Ot(e.body,t));else{r=new Bt("mi",[new Nt(e.name.slice(1))]);var a=new Bt("mo",[Ct("⁡","text")]);r=e.parentIsSupSub?new Bt("mrow",[r,a]):Tt([r,a])}return r},da={"∏":"\\prod","∐":"\\coprod","∑":"\\sum","⋀":"\\bigwedge","⋁":"\\bigvee","⋂":"\\bigcap","⋃":"\\bigcup","⨀":"\\bigodot","⨁":"\\bigoplus","⨂":"\\bigotimes","⨄":"\\biguplus","⨆":"\\bigsqcup"};ht({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","∏","∐","∑","⋀","⋁","⋂","⋃","⨀","⨁","⨂","⨄","⨆"],props:{numArgs:0},handler:(e,t)=>{var{parser:r,funcName:a}=e,n=a;return 1===n.length&&(n=da[n]),{type:"op",mode:r.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:n}},htmlBuilder:pa,mathmlBuilder:ua}),ht({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:(e,t)=>{var{parser:r}=e,a=t[0];return{type:"op",mode:r.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:pt(a)}},htmlBuilder:pa,mathmlBuilder:ua});var ga={"∫":"\\int","∬":"\\iint","∭":"\\iiint","∮":"\\oint","∯":"\\oiint","∰":"\\oiiint"};ht({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler(e){var{parser:t,funcName:r}=e;return{type:"op",mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:pa,mathmlBuilder:ua}),ht({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(e){var{parser:t,funcName:r}=e;return{type:"op",mode:t.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:pa,mathmlBuilder:ua}),ht({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","∫","∬","∭","∮","∯","∰"],props:{numArgs:0},handler(e){var{parser:t,funcName:r}=e,a=r;return 1===a.length&&(a=ga[a]),{type:"op",mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:a}},htmlBuilder:pa,mathmlBuilder:ua});var fa=(e,t)=>{var r,a,n,i,o=!1;if("supsub"===e.type?(r=e.sup,a=e.sub,n=Xt(e.base,"operatorname"),o=!0):n=Xt(e,"operatorname"),n.body.length>0){for(var s=n.body.map((e=>{var t=e.text;return"string"==typeof t?{type:"textord",mode:e.mode,text:t}:e})),l=bt(s,t.withFont("mathrm"),!0),h=0;h{var{parser:r,funcName:a}=e,n=t[0];return{type:"operatorname",mode:r.mode,body:pt(n),alwaysHandleSupSub:"\\operatornamewithlimits"===a,limits:!1,parentIsSupSub:!1}},htmlBuilder:fa,mathmlBuilder:(e,t)=>{for(var r=Ot(e.body,t.withFont("mathrm")),a=!0,n=0;ne.toText())).join("");r=[new qt.TextNode(s)]}var l=new qt.MathNode("mi",r);l.setAttribute("mathvariant","normal");var h=new qt.MathNode("mo",[Ct("⁡","text")]);return e.parentIsSupSub?new qt.MathNode("mrow",[l,h]):qt.newDocumentFragment([l,h])}}),Gr("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@"),mt({type:"ordgroup",htmlBuilder:(e,t)=>e.semisimple?et.makeFragment(bt(e.body,t,!1)):et.makeSpan(["mord"],bt(e.body,t,!0),t),mathmlBuilder:(e,t)=>Et(e.body,t,!0)}),ht({type:"overline",names:["\\overline"],props:{numArgs:1},handler(e,t){var{parser:r}=e,a=t[0];return{type:"overline",mode:r.mode,body:a}},htmlBuilder(e,t){var r=Mt(e.body,t.havingCrampedStyle()),a=et.makeLineSpan("overline-line",t),n=t.fontMetrics().defaultRuleThickness,i=et.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"kern",size:3*n},{type:"elem",elem:a},{type:"kern",size:n}]},t);return et.makeSpan(["mord","overline"],[i],t)},mathmlBuilder(e,t){var r=new qt.MathNode("mo",[new qt.TextNode("‾")]);r.setAttribute("stretchy","true");var a=new qt.MathNode("mover",[Lt(e.body,t),r]);return a.setAttribute("accent","true"),a}}),ht({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{var{parser:r}=e,a=t[0];return{type:"phantom",mode:r.mode,body:pt(a)}},htmlBuilder:(e,t)=>{var r=bt(e.body,t.withPhantom(),!1);return et.makeFragment(r)},mathmlBuilder:(e,t)=>{var r=Ot(e.body,t);return new qt.MathNode("mphantom",r)}}),ht({type:"hphantom",names:["\\hphantom"],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{var{parser:r}=e,a=t[0];return{type:"hphantom",mode:r.mode,body:a}},htmlBuilder:(e,t)=>{var r=et.makeSpan([],[Mt(e.body,t.withPhantom())]);if(r.height=0,r.depth=0,r.children)for(var a=0;a{var r=Ot(pt(e.body),t),a=new qt.MathNode("mphantom",r),n=new qt.MathNode("mpadded",[a]);return n.setAttribute("height","0px"),n.setAttribute("depth","0px"),n}}),ht({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{var{parser:r}=e,a=t[0];return{type:"vphantom",mode:r.mode,body:a}},htmlBuilder:(e,t)=>{var r=et.makeSpan(["inner"],[Mt(e.body,t.withPhantom())]),a=et.makeSpan(["fix"],[]);return et.makeSpan(["mord","rlap"],[r,a],t)},mathmlBuilder:(e,t)=>{var r=Ot(pt(e.body),t),a=new qt.MathNode("mphantom",r),n=new qt.MathNode("mpadded",[a]);return n.setAttribute("width","0px"),n}}),ht({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(e,t){var{parser:r}=e,a=Xt(t[0],"size").value,n=t[1];return{type:"raisebox",mode:r.mode,dy:a,body:n}},htmlBuilder(e,t){var r=Mt(e.body,t),a=W(e.dy,t);return et.makeVList({positionType:"shift",positionData:-a,children:[{type:"elem",elem:r}]},t)},mathmlBuilder(e,t){var r=new qt.MathNode("mpadded",[Lt(e.body,t)]),a=e.dy.number+e.dy.unit;return r.setAttribute("voffset",a),r}}),ht({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0},handler(e){var{parser:t}=e;return{type:"internal",mode:t.mode}}}),ht({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["size","size","size"]},handler(e,t,r){var{parser:a}=e,n=r[0],i=Xt(t[0],"size"),o=Xt(t[1],"size");return{type:"rule",mode:a.mode,shift:n&&Xt(n,"size").value,width:i.value,height:o.value}},htmlBuilder(e,t){var r=et.makeSpan(["mord","rule"],[],t),a=W(e.width,t),n=W(e.height,t),i=e.shift?W(e.shift,t):0;return r.style.borderRightWidth=_(a),r.style.borderTopWidth=_(n),r.style.bottom=_(i),r.width=a,r.height=n+i,r.depth=-i,r.maxFontSize=1.125*n*t.sizeMultiplier,r},mathmlBuilder(e,t){var r=W(e.width,t),a=W(e.height,t),n=e.shift?W(e.shift,t):0,i=t.color&&t.getColor()||"black",o=new qt.MathNode("mspace");o.setAttribute("mathbackground",i),o.setAttribute("width",_(r)),o.setAttribute("height",_(a));var s=new qt.MathNode("mpadded",[o]);return n>=0?s.setAttribute("height",_(n)):(s.setAttribute("height",_(n)),s.setAttribute("depth",_(-n))),s.setAttribute("voffset",_(n)),s}});var ba=["\\tiny","\\sixptsize","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"];ht({type:"sizing",names:ba,props:{numArgs:0,allowedInText:!0},handler:(e,t)=>{var{breakOnTokenText:r,funcName:a,parser:n}=e,i=n.parseExpression(!1,r);return{type:"sizing",mode:n.mode,size:ba.indexOf(a)+1,body:i}},htmlBuilder:(e,t)=>{var r=t.havingSize(e.size);return va(e.body,r,t)},mathmlBuilder:(e,t)=>{var r=t.havingSize(e.size),a=Ot(e.body,r),n=new qt.MathNode("mstyle",a);return n.setAttribute("mathsize",_(r.sizeMultiplier)),n}}),ht({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:(e,t,r)=>{var{parser:a}=e,n=!1,i=!1,o=r[0]&&Xt(r[0],"ordgroup");if(o)for(var s="",l=0;l{var r=et.makeSpan([],[Mt(e.body,t)]);if(!e.smashHeight&&!e.smashDepth)return r;if(e.smashHeight&&(r.height=0,r.children))for(var a=0;a{var r=new qt.MathNode("mpadded",[Lt(e.body,t)]);return e.smashHeight&&r.setAttribute("height","0px"),e.smashDepth&&r.setAttribute("depth","0px"),r}}),ht({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(e,t,r){var{parser:a}=e,n=r[0],i=t[0];return{type:"sqrt",mode:a.mode,body:i,index:n}},htmlBuilder(e,t){var r=Mt(e.body,t.havingCrampedStyle());0===r.height&&(r.height=t.fontMetrics().xHeight),r=et.wrapFragment(r,t);var a=t.fontMetrics().defaultRuleThickness,n=a;t.style.idr.height+r.depth+i&&(i=(i+m-r.height-r.depth)/2);var c=s.height-r.height-i-l;r.style.paddingLeft=_(h);var p=et.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r,wrapperClasses:["svg-align"]},{type:"kern",size:-(r.height+c)},{type:"elem",elem:s},{type:"kern",size:l}]},t);if(e.index){var u=t.havingStyle(B.SCRIPTSCRIPT),d=Mt(e.index,u,t),g=.6*(p.height-p.depth),f=et.makeVList({positionType:"shift",positionData:-g,children:[{type:"elem",elem:d}]},t),v=et.makeSpan(["root"],[f]);return et.makeSpan(["mord","sqrt"],[v,p],t)}return et.makeSpan(["mord","sqrt"],[p],t)},mathmlBuilder(e,t){var{body:r,index:a}=e;return a?new qt.MathNode("mroot",[Lt(r,t),Lt(a,t)]):new qt.MathNode("msqrt",[Lt(r,t)])}});var ya={display:B.DISPLAY,text:B.TEXT,script:B.SCRIPT,scriptscript:B.SCRIPTSCRIPT};ht({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e,t){var{breakOnTokenText:r,funcName:a,parser:n}=e,i=n.parseExpression(!0,r),o=a.slice(1,a.length-5);return{type:"styling",mode:n.mode,style:o,body:i}},htmlBuilder(e,t){var r=ya[e.style],a=t.havingStyle(r).withFont("");return va(e.body,a,t)},mathmlBuilder(e,t){var r=ya[e.style],a=t.havingStyle(r),n=Ot(e.body,a),i=new qt.MathNode("mstyle",n),o={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]}[e.style];return i.setAttribute("scriptlevel",o[0]),i.setAttribute("displaystyle",o[1]),i}}),mt({type:"supsub",htmlBuilder(e,t){var r=function(e,t){var r=e.base;return r?"op"===r.type?r.limits&&(t.style.size===B.DISPLAY.size||r.alwaysHandleSupSub)?pa:null:"operatorname"===r.type?r.alwaysHandleSupSub&&(t.style.size===B.DISPLAY.size||r.limits)?fa:null:"accent"===r.type?g(r.base)?jt:null:"horizBrace"===r.type&&!e.sub===r.isOver?sa:null:null}(e,t);if(r)return r(e,t);var a,n,i,{base:o,sup:s,sub:l}=e,h=Mt(o,t),m=t.fontMetrics(),c=0,p=0,u=o&&g(o);if(s){var d=t.havingStyle(t.style.sup());a=Mt(s,d,t),u||(c=h.height-d.fontMetrics().supDrop*d.sizeMultiplier/t.sizeMultiplier)}if(l){var f=t.havingStyle(t.style.sub());n=Mt(l,f,t),u||(p=h.depth+f.fontMetrics().subDrop*f.sizeMultiplier/t.sizeMultiplier)}i=t.style===B.DISPLAY?m.sup1:t.style.cramped?m.sup3:m.sup2;var v,b=t.sizeMultiplier,y=_(.5/m.ptPerEm/b),x=null;if(n){var w=e.base&&"op"===e.base.type&&e.base.name&&("\\oiint"===e.base.name||"\\oiiint"===e.base.name);(h instanceof ae||w)&&(x=_(-h.italic))}if(a&&n){c=Math.max(c,i,a.depth+.25*m.xHeight),p=Math.max(p,m.sub2);var k=4*m.defaultRuleThickness;if(c-a.depth-(n.height-p)0&&(c+=S,p-=S)}v=et.makeVList({positionType:"individualShift",children:[{type:"elem",elem:n,shift:p,marginRight:y,marginLeft:x},{type:"elem",elem:a,shift:-c,marginRight:y}]},t)}else if(n){p=Math.max(p,m.sub1,n.height-.8*m.xHeight),v=et.makeVList({positionType:"shift",positionData:p,children:[{type:"elem",elem:n,marginLeft:x,marginRight:y}]},t)}else{if(!a)throw new Error("supsub must have either sup or sub.");c=Math.max(c,i,a.depth+.25*m.xHeight),v=et.makeVList({positionType:"shift",positionData:-c,children:[{type:"elem",elem:a,marginRight:y}]},t)}var M=kt(h,"right")||"mord";return et.makeSpan([M],[h,et.makeSpan(["msupsub"],[v])],t)},mathmlBuilder(e,t){var r,a=!1;e.base&&"horizBrace"===e.base.type&&!!e.sup===e.base.isOver&&(a=!0,r=e.base.isOver),!e.base||"op"!==e.base.type&&"operatorname"!==e.base.type||(e.base.parentIsSupSub=!0);var n,i=[Lt(e.base,t)];if(e.sub&&i.push(Lt(e.sub,t)),e.sup&&i.push(Lt(e.sup,t)),a)n=r?"mover":"munder";else if(e.sub)if(e.sup){var o=e.base;n=o&&"op"===o.type&&o.limits&&t.style===B.DISPLAY||o&&"operatorname"===o.type&&o.alwaysHandleSupSub&&(t.style===B.DISPLAY||o.limits)?"munderover":"msubsup"}else{var s=e.base;n=s&&"op"===s.type&&s.limits&&(t.style===B.DISPLAY||s.alwaysHandleSupSub)||s&&"operatorname"===s.type&&s.alwaysHandleSupSub&&(s.limits||t.style===B.DISPLAY)?"munder":"msub"}else{var l=e.base;n=l&&"op"===l.type&&l.limits&&(t.style===B.DISPLAY||l.alwaysHandleSupSub)||l&&"operatorname"===l.type&&l.alwaysHandleSupSub&&(l.limits||t.style===B.DISPLAY)?"mover":"msup"}return new qt.MathNode(n,i)}}),mt({type:"atom",htmlBuilder:(e,t)=>et.mathsym(e.text,e.mode,t,["m"+e.family]),mathmlBuilder(e,t){var r=new qt.MathNode("mo",[Ct(e.text,e.mode)]);if("bin"===e.family){var a=Rt(e,t);"bold-italic"===a&&r.setAttribute("mathvariant",a)}else"punct"===e.family?r.setAttribute("separator","true"):"open"!==e.family&&"close"!==e.family||r.setAttribute("stretchy","false");return r}});var xa={mi:"italic",mn:"normal",mtext:"normal"};mt({type:"mathord",htmlBuilder:(e,t)=>et.makeOrd(e,t,"mathord"),mathmlBuilder(e,t){var r=new qt.MathNode("mi",[Ct(e.text,e.mode,t)]),a=Rt(e,t)||"italic";return a!==xa[r.type]&&r.setAttribute("mathvariant",a),r}}),mt({type:"textord",htmlBuilder:(e,t)=>et.makeOrd(e,t,"textord"),mathmlBuilder(e,t){var r,a=Ct(e.text,e.mode,t),n=Rt(e,t)||"normal";return r="text"===e.mode?new qt.MathNode("mtext",[a]):/[0-9]/.test(e.text)?new qt.MathNode("mn",[a]):"\\prime"===e.text?new qt.MathNode("mo",[a]):new qt.MathNode("mi",[a]),n!==xa[r.type]&&r.setAttribute("mathvariant",n),r}});var wa={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},ka={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};mt({type:"spacing",htmlBuilder(e,t){if(ka.hasOwnProperty(e.text)){var r=ka[e.text].className||"";if("text"===e.mode){var a=et.makeOrd(e,t,"textord");return a.classes.push(r),a}return et.makeSpan(["mspace",r],[et.mathsym(e.text,e.mode,t)],t)}if(wa.hasOwnProperty(e.text))return et.makeSpan(["mspace",wa[e.text]],[],t);throw new i('Unknown type of space "'+e.text+'"')},mathmlBuilder(e,t){if(!ka.hasOwnProperty(e.text)){if(wa.hasOwnProperty(e.text))return new qt.MathNode("mspace");throw new i('Unknown type of space "'+e.text+'"')}return new qt.MathNode("mtext",[new qt.TextNode(" ")])}});var Sa=()=>{var e=new qt.MathNode("mtd",[]);return e.setAttribute("width","50%"),e};mt({type:"tag",mathmlBuilder(e,t){var r=new qt.MathNode("mtable",[new qt.MathNode("mtr",[Sa(),new qt.MathNode("mtd",[Et(e.body,t)]),Sa(),new qt.MathNode("mtd",[Et(e.tag,t)])])]);return r.setAttribute("width","100%"),r}});var Ma={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},za={"\\textbf":"textbf","\\textmd":"textmd"},Aa={"\\textit":"textit","\\textup":"textup"},Ta=(e,t)=>{var r=e.font;return r?Ma[r]?t.withTextFontFamily(Ma[r]):za[r]?t.withTextFontWeight(za[r]):"\\emph"===r?"textit"===t.fontShape?t.withTextFontShape("textup"):t.withTextFontShape("textit"):t.withTextFontShape(Aa[r]):t};ht({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(e,t){var{parser:r,funcName:a}=e,n=t[0];return{type:"text",mode:r.mode,body:pt(n),font:a}},htmlBuilder(e,t){var r=Ta(e,t),a=bt(e.body,r,!0);return et.makeSpan(["mord","text"],a,r)},mathmlBuilder(e,t){var r=Ta(e,t);return Et(e.body,r)}}),ht({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(e,t){var{parser:r}=e;return{type:"underline",mode:r.mode,body:t[0]}},htmlBuilder(e,t){var r=Mt(e.body,t),a=et.makeLineSpan("underline-line",t),n=t.fontMetrics().defaultRuleThickness,i=et.makeVList({positionType:"top",positionData:r.height,children:[{type:"kern",size:n},{type:"elem",elem:a},{type:"kern",size:3*n},{type:"elem",elem:r}]},t);return et.makeSpan(["mord","underline"],[i],t)},mathmlBuilder(e,t){var r=new qt.MathNode("mo",[new qt.TextNode("‾")]);r.setAttribute("stretchy","true");var a=new qt.MathNode("munder",[Lt(e.body,t),r]);return a.setAttribute("accentunder","true"),a}}),ht({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(e,t){var{parser:r}=e;return{type:"vcenter",mode:r.mode,body:t[0]}},htmlBuilder(e,t){var r=Mt(e.body,t),a=t.fontMetrics().axisHeight,n=.5*(r.height-a-(r.depth+a));return et.makeVList({positionType:"shift",positionData:n,children:[{type:"elem",elem:r}]},t)},mathmlBuilder:(e,t)=>new qt.MathNode("mpadded",[Lt(e.body,t)],["vcenter"])}),ht({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(e,t,r){throw new i("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(e,t){for(var r=Ba(e),a=[],n=t.havingStyle(t.style.text()),i=0;ie.body.replace(/ /g,e.star?"␣":" "),Na=ot,qa="[ \r\n\t]",Ca="(\\\\[a-zA-Z@]+)"+qa+"*",Ia="[̀-ͯ]",Ra=new RegExp(Ia+"+$"),Ha="("+qa+"+)|\\\\(\n|[ \r\t]+\n?)[ \r\t]*|([!-\\[\\]-‧‪-퟿豈-￿]"+Ia+"*|[\ud800-\udbff][\udc00-\udfff]"+Ia+"*|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5|"+Ca+"|\\\\[^\ud800-\udfff])";class Oa{constructor(e,t){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=e,this.settings=t,this.tokenRegex=new RegExp(Ha,"g"),this.catcodes={"%":14,"~":13}}setCatcode(e,t){this.catcodes[e]=t}lex(){var e=this.input,t=this.tokenRegex.lastIndex;if(t===e.length)return new n("EOF",new a(this,t,t));var r=this.tokenRegex.exec(e);if(null===r||r.index!==t)throw new i("Unexpected character: '"+e[t]+"'",new n(e[t],new a(this,t,t+1)));var o=r[6]||r[3]||(r[2]?"\\ ":" ");if(14===this.catcodes[o]){var s=e.indexOf("\n",this.tokenRegex.lastIndex);return-1===s?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=s+1,this.lex()}return new n(o,new a(this,t,this.tokenRegex.lastIndex))}}class Ea{constructor(e,t){void 0===e&&(e={}),void 0===t&&(t={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=t,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(0===this.undefStack.length)throw new i("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var e=this.undefStack.pop();for(var t in e)e.hasOwnProperty(t)&&(null==e[t]?delete this.current[t]:this.current[t]=e[t])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]}set(e,t,r){if(void 0===r&&(r=!1),r){for(var a=0;a0&&(this.undefStack[this.undefStack.length-1][e]=t)}else{var n=this.undefStack[this.undefStack.length-1];n&&!n.hasOwnProperty(e)&&(n[e]=this.current[e])}null==t?delete this.current[e]:this.current[e]=t}}var La=Fr;Gr("\\noexpand",(function(e){var t=e.popToken();return e.isExpandable(t.text)&&(t.noexpand=!0,t.treatAsRelax=!0),{tokens:[t],numArgs:0}})),Gr("\\expandafter",(function(e){var t=e.popToken();return e.expandOnce(!0),{tokens:[t],numArgs:0}})),Gr("\\@firstoftwo",(function(e){return{tokens:e.consumeArgs(2)[0],numArgs:0}})),Gr("\\@secondoftwo",(function(e){return{tokens:e.consumeArgs(2)[1],numArgs:0}})),Gr("\\@ifnextchar",(function(e){var t=e.consumeArgs(3);e.consumeSpaces();var r=e.future();return 1===t[0].length&&t[0][0].text===r.text?{tokens:t[1],numArgs:0}:{tokens:t[2],numArgs:0}})),Gr("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}"),Gr("\\TextOrMath",(function(e){var t=e.consumeArgs(2);return"text"===e.mode?{tokens:t[0],numArgs:0}:{tokens:t[1],numArgs:0}}));var Da={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};Gr("\\char",(function(e){var t,r=e.popToken(),a="";if("'"===r.text)t=8,r=e.popToken();else if('"'===r.text)t=16,r=e.popToken();else if("`"===r.text)if("\\"===(r=e.popToken()).text[0])a=r.text.charCodeAt(1);else{if("EOF"===r.text)throw new i("\\char` missing argument");a=r.text.charCodeAt(0)}else t=10;if(t){if(null==(a=Da[r.text])||a>=t)throw new i("Invalid base-"+t+" digit "+r.text);for(var n;null!=(n=Da[e.future().text])&&n{var n=e.consumeArg().tokens;if(1!==n.length)throw new i("\\newcommand's first argument must be a macro name");var o=n[0].text,s=e.isDefined(o);if(s&&!t)throw new i("\\newcommand{"+o+"} attempting to redefine "+o+"; use \\renewcommand");if(!s&&!r)throw new i("\\renewcommand{"+o+"} when command "+o+" does not yet exist; use \\newcommand");var l=0;if(1===(n=e.consumeArg().tokens).length&&"["===n[0].text){for(var h="",m=e.expandNextToken();"]"!==m.text&&"EOF"!==m.text;)h+=m.text,m=e.expandNextToken();if(!h.match(/^\s*[0-9]+\s*$/))throw new i("Invalid number of arguments: "+h);l=parseInt(h),n=e.consumeArg().tokens}return s&&a||e.macros.set(o,{tokens:n,numArgs:l}),""};Gr("\\newcommand",(e=>Va(e,!1,!0,!1))),Gr("\\renewcommand",(e=>Va(e,!0,!1,!1))),Gr("\\providecommand",(e=>Va(e,!0,!0,!0))),Gr("\\message",(e=>{var t=e.consumeArgs(1)[0];return console.log(t.reverse().map((e=>e.text)).join("")),""})),Gr("\\errmessage",(e=>{var t=e.consumeArgs(1)[0];return console.error(t.reverse().map((e=>e.text)).join("")),""})),Gr("\\show",(e=>{var t=e.popToken(),r=t.text;return console.log(t,e.macros.get(r),Na[r],me.math[r],me.text[r]),""})),Gr("\\bgroup","{"),Gr("\\egroup","}"),Gr("~","\\nobreakspace"),Gr("\\lq","`"),Gr("\\rq","'"),Gr("\\aa","\\r a"),Gr("\\AA","\\r A"),Gr("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`©}"),Gr("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}"),Gr("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}"),Gr("ℬ","\\mathscr{B}"),Gr("ℰ","\\mathscr{E}"),Gr("ℱ","\\mathscr{F}"),Gr("ℋ","\\mathscr{H}"),Gr("ℐ","\\mathscr{I}"),Gr("ℒ","\\mathscr{L}"),Gr("ℳ","\\mathscr{M}"),Gr("ℛ","\\mathscr{R}"),Gr("ℭ","\\mathfrak{C}"),Gr("ℌ","\\mathfrak{H}"),Gr("ℨ","\\mathfrak{Z}"),Gr("\\Bbbk","\\Bbb{k}"),Gr("·","\\cdotp"),Gr("\\llap","\\mathllap{\\textrm{#1}}"),Gr("\\rlap","\\mathrlap{\\textrm{#1}}"),Gr("\\clap","\\mathclap{\\textrm{#1}}"),Gr("\\mathstrut","\\vphantom{(}"),Gr("\\underbar","\\underline{\\text{#1}}"),Gr("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}'),Gr("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}"),Gr("\\ne","\\neq"),Gr("≠","\\neq"),Gr("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}"),Gr("∉","\\notin"),Gr("≘","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}"),Gr("≙","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}"),Gr("≚","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}"),Gr("≛","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}"),Gr("≝","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}"),Gr("≞","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}"),Gr("≟","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}"),Gr("⟂","\\perp"),Gr("‼","\\mathclose{!\\mkern-0.8mu!}"),Gr("∌","\\notni"),Gr("⌜","\\ulcorner"),Gr("⌝","\\urcorner"),Gr("⌞","\\llcorner"),Gr("⌟","\\lrcorner"),Gr("©","\\copyright"),Gr("®","\\textregistered"),Gr("️","\\textregistered"),Gr("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}'),Gr("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}'),Gr("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}'),Gr("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}'),Gr("\\vdots","{\\varvdots\\rule{0pt}{15pt}}"),Gr("⋮","\\vdots"),Gr("\\varGamma","\\mathit{\\Gamma}"),Gr("\\varDelta","\\mathit{\\Delta}"),Gr("\\varTheta","\\mathit{\\Theta}"),Gr("\\varLambda","\\mathit{\\Lambda}"),Gr("\\varXi","\\mathit{\\Xi}"),Gr("\\varPi","\\mathit{\\Pi}"),Gr("\\varSigma","\\mathit{\\Sigma}"),Gr("\\varUpsilon","\\mathit{\\Upsilon}"),Gr("\\varPhi","\\mathit{\\Phi}"),Gr("\\varPsi","\\mathit{\\Psi}"),Gr("\\varOmega","\\mathit{\\Omega}"),Gr("\\substack","\\begin{subarray}{c}#1\\end{subarray}"),Gr("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax"),Gr("\\boxed","\\fbox{$\\displaystyle{#1}$}"),Gr("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;"),Gr("\\implies","\\DOTSB\\;\\Longrightarrow\\;"),Gr("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;"),Gr("\\dddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}"),Gr("\\ddddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}");var Pa={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"};Gr("\\dots",(function(e){var t="\\dotso",r=e.expandAfterFuture().text;return r in Pa?t=Pa[r]:("\\not"===r.slice(0,4)||r in me.math&&m(["bin","rel"],me.math[r].group))&&(t="\\dotsb"),t}));var Fa={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};Gr("\\dotso",(function(e){return e.future().text in Fa?"\\ldots\\,":"\\ldots"})),Gr("\\dotsc",(function(e){var t=e.future().text;return t in Fa&&","!==t?"\\ldots\\,":"\\ldots"})),Gr("\\cdots",(function(e){return e.future().text in Fa?"\\@cdots\\,":"\\@cdots"})),Gr("\\dotsb","\\cdots"),Gr("\\dotsm","\\cdots"),Gr("\\dotsi","\\!\\cdots"),Gr("\\dotsx","\\ldots\\,"),Gr("\\DOTSI","\\relax"),Gr("\\DOTSB","\\relax"),Gr("\\DOTSX","\\relax"),Gr("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax"),Gr("\\,","\\tmspace+{3mu}{.1667em}"),Gr("\\thinspace","\\,"),Gr("\\>","\\mskip{4mu}"),Gr("\\:","\\tmspace+{4mu}{.2222em}"),Gr("\\medspace","\\:"),Gr("\\;","\\tmspace+{5mu}{.2777em}"),Gr("\\thickspace","\\;"),Gr("\\!","\\tmspace-{3mu}{.1667em}"),Gr("\\negthinspace","\\!"),Gr("\\negmedspace","\\tmspace-{4mu}{.2222em}"),Gr("\\negthickspace","\\tmspace-{5mu}{.277em}"),Gr("\\enspace","\\kern.5em "),Gr("\\enskip","\\hskip.5em\\relax"),Gr("\\quad","\\hskip1em\\relax"),Gr("\\qquad","\\hskip2em\\relax"),Gr("\\tag","\\@ifstar\\tag@literal\\tag@paren"),Gr("\\tag@paren","\\tag@literal{({#1})}"),Gr("\\tag@literal",(e=>{if(e.macros.get("\\df@tag"))throw new i("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"})),Gr("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}"),Gr("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)"),Gr("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}"),Gr("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1"),Gr("\\newline","\\\\\\relax"),Gr("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var Ga=_(H["Main-Regular"]["T".charCodeAt(0)][1]-.7*H["Main-Regular"]["A".charCodeAt(0)][1]);Gr("\\LaTeX","\\textrm{\\html@mathml{L\\kern-.36em\\raisebox{"+Ga+"}{\\scriptstyle A}\\kern-.15em\\TeX}{LaTeX}}"),Gr("\\KaTeX","\\textrm{\\html@mathml{K\\kern-.17em\\raisebox{"+Ga+"}{\\scriptstyle A}\\kern-.15em\\TeX}{KaTeX}}"),Gr("\\hspace","\\@ifstar\\@hspacer\\@hspace"),Gr("\\@hspace","\\hskip #1\\relax"),Gr("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax"),Gr("\\ordinarycolon",":"),Gr("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}"),Gr("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}'),Gr("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}'),Gr("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}'),Gr("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}'),Gr("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}'),Gr("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}'),Gr("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}'),Gr("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}'),Gr("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}'),Gr("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}'),Gr("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}'),Gr("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}'),Gr("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}'),Gr("∷","\\dblcolon"),Gr("∹","\\eqcolon"),Gr("≔","\\coloneqq"),Gr("≕","\\eqqcolon"),Gr("⩴","\\Coloneqq"),Gr("\\ratio","\\vcentcolon"),Gr("\\coloncolon","\\dblcolon"),Gr("\\colonequals","\\coloneqq"),Gr("\\coloncolonequals","\\Coloneqq"),Gr("\\equalscolon","\\eqqcolon"),Gr("\\equalscoloncolon","\\Eqqcolon"),Gr("\\colonminus","\\coloneq"),Gr("\\coloncolonminus","\\Coloneq"),Gr("\\minuscolon","\\eqcolon"),Gr("\\minuscoloncolon","\\Eqcolon"),Gr("\\coloncolonapprox","\\Colonapprox"),Gr("\\coloncolonsim","\\Colonsim"),Gr("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),Gr("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}"),Gr("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),Gr("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}"),Gr("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}"),Gr("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}"),Gr("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}"),Gr("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}"),Gr("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}"),Gr("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}"),Gr("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}"),Gr("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}"),Gr("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}"),Gr("\\gvertneqq","\\html@mathml{\\@gvertneqq}{≩}"),Gr("\\lvertneqq","\\html@mathml{\\@lvertneqq}{≨}"),Gr("\\ngeqq","\\html@mathml{\\@ngeqq}{≱}"),Gr("\\ngeqslant","\\html@mathml{\\@ngeqslant}{≱}"),Gr("\\nleqq","\\html@mathml{\\@nleqq}{≰}"),Gr("\\nleqslant","\\html@mathml{\\@nleqslant}{≰}"),Gr("\\nshortmid","\\html@mathml{\\@nshortmid}{∤}"),Gr("\\nshortparallel","\\html@mathml{\\@nshortparallel}{∦}"),Gr("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{⊈}"),Gr("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{⊉}"),Gr("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{⊊}"),Gr("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{⫋}"),Gr("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{⊋}"),Gr("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{⫌}"),Gr("\\imath","\\html@mathml{\\@imath}{ı}"),Gr("\\jmath","\\html@mathml{\\@jmath}{ȷ}"),Gr("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}"),Gr("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}"),Gr("⟦","\\llbracket"),Gr("⟧","\\rrbracket"),Gr("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}"),Gr("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}"),Gr("⦃","\\lBrace"),Gr("⦄","\\rBrace"),Gr("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}"),Gr("⦵","\\minuso"),Gr("\\darr","\\downarrow"),Gr("\\dArr","\\Downarrow"),Gr("\\Darr","\\Downarrow"),Gr("\\lang","\\langle"),Gr("\\rang","\\rangle"),Gr("\\uarr","\\uparrow"),Gr("\\uArr","\\Uparrow"),Gr("\\Uarr","\\Uparrow"),Gr("\\N","\\mathbb{N}"),Gr("\\R","\\mathbb{R}"),Gr("\\Z","\\mathbb{Z}"),Gr("\\alef","\\aleph"),Gr("\\alefsym","\\aleph"),Gr("\\Alpha","\\mathrm{A}"),Gr("\\Beta","\\mathrm{B}"),Gr("\\bull","\\bullet"),Gr("\\Chi","\\mathrm{X}"),Gr("\\clubs","\\clubsuit"),Gr("\\cnums","\\mathbb{C}"),Gr("\\Complex","\\mathbb{C}"),Gr("\\Dagger","\\ddagger"),Gr("\\diamonds","\\diamondsuit"),Gr("\\empty","\\emptyset"),Gr("\\Epsilon","\\mathrm{E}"),Gr("\\Eta","\\mathrm{H}"),Gr("\\exist","\\exists"),Gr("\\harr","\\leftrightarrow"),Gr("\\hArr","\\Leftrightarrow"),Gr("\\Harr","\\Leftrightarrow"),Gr("\\hearts","\\heartsuit"),Gr("\\image","\\Im"),Gr("\\infin","\\infty"),Gr("\\Iota","\\mathrm{I}"),Gr("\\isin","\\in"),Gr("\\Kappa","\\mathrm{K}"),Gr("\\larr","\\leftarrow"),Gr("\\lArr","\\Leftarrow"),Gr("\\Larr","\\Leftarrow"),Gr("\\lrarr","\\leftrightarrow"),Gr("\\lrArr","\\Leftrightarrow"),Gr("\\Lrarr","\\Leftrightarrow"),Gr("\\Mu","\\mathrm{M}"),Gr("\\natnums","\\mathbb{N}"),Gr("\\Nu","\\mathrm{N}"),Gr("\\Omicron","\\mathrm{O}"),Gr("\\plusmn","\\pm"),Gr("\\rarr","\\rightarrow"),Gr("\\rArr","\\Rightarrow"),Gr("\\Rarr","\\Rightarrow"),Gr("\\real","\\Re"),Gr("\\reals","\\mathbb{R}"),Gr("\\Reals","\\mathbb{R}"),Gr("\\Rho","\\mathrm{P}"),Gr("\\sdot","\\cdot"),Gr("\\sect","\\S"),Gr("\\spades","\\spadesuit"),Gr("\\sub","\\subset"),Gr("\\sube","\\subseteq"),Gr("\\supe","\\supseteq"),Gr("\\Tau","\\mathrm{T}"),Gr("\\thetasym","\\vartheta"),Gr("\\weierp","\\wp"),Gr("\\Zeta","\\mathrm{Z}"),Gr("\\argmin","\\DOTSB\\operatorname*{arg\\,min}"),Gr("\\argmax","\\DOTSB\\operatorname*{arg\\,max}"),Gr("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits"),Gr("\\bra","\\mathinner{\\langle{#1}|}"),Gr("\\ket","\\mathinner{|{#1}\\rangle}"),Gr("\\braket","\\mathinner{\\langle{#1}\\rangle}"),Gr("\\Bra","\\left\\langle#1\\right|"),Gr("\\Ket","\\left|#1\\right\\rangle");var Ua=e=>t=>{var r=t.consumeArg().tokens,a=t.consumeArg().tokens,n=t.consumeArg().tokens,i=t.consumeArg().tokens,o=t.macros.get("|"),s=t.macros.get("\\|");t.macros.beginGroup();var l=t=>r=>{e&&(r.macros.set("|",o),n.length&&r.macros.set("\\|",s));var i=t;return!t&&n.length&&"|"===r.future().text&&(r.popToken(),i=!0),{tokens:i?n:a,numArgs:0}};t.macros.set("|",l(!1)),n.length&&t.macros.set("\\|",l(!0));var h=t.consumeArg().tokens,m=t.expandTokens([...i,...h,...r]);return t.macros.endGroup(),{tokens:m.reverse(),numArgs:0}};Gr("\\bra@ket",Ua(!1)),Gr("\\bra@set",Ua(!0)),Gr("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}"),Gr("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}"),Gr("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}"),Gr("\\angln","{\\angl n}"),Gr("\\blue","\\textcolor{##6495ed}{#1}"),Gr("\\orange","\\textcolor{##ffa500}{#1}"),Gr("\\pink","\\textcolor{##ff00af}{#1}"),Gr("\\red","\\textcolor{##df0030}{#1}"),Gr("\\green","\\textcolor{##28ae7b}{#1}"),Gr("\\gray","\\textcolor{gray}{#1}"),Gr("\\purple","\\textcolor{##9d38bd}{#1}"),Gr("\\blueA","\\textcolor{##ccfaff}{#1}"),Gr("\\blueB","\\textcolor{##80f6ff}{#1}"),Gr("\\blueC","\\textcolor{##63d9ea}{#1}"),Gr("\\blueD","\\textcolor{##11accd}{#1}"),Gr("\\blueE","\\textcolor{##0c7f99}{#1}"),Gr("\\tealA","\\textcolor{##94fff5}{#1}"),Gr("\\tealB","\\textcolor{##26edd5}{#1}"),Gr("\\tealC","\\textcolor{##01d1c1}{#1}"),Gr("\\tealD","\\textcolor{##01a995}{#1}"),Gr("\\tealE","\\textcolor{##208170}{#1}"),Gr("\\greenA","\\textcolor{##b6ffb0}{#1}"),Gr("\\greenB","\\textcolor{##8af281}{#1}"),Gr("\\greenC","\\textcolor{##74cf70}{#1}"),Gr("\\greenD","\\textcolor{##1fab54}{#1}"),Gr("\\greenE","\\textcolor{##0d923f}{#1}"),Gr("\\goldA","\\textcolor{##ffd0a9}{#1}"),Gr("\\goldB","\\textcolor{##ffbb71}{#1}"),Gr("\\goldC","\\textcolor{##ff9c39}{#1}"),Gr("\\goldD","\\textcolor{##e07d10}{#1}"),Gr("\\goldE","\\textcolor{##a75a05}{#1}"),Gr("\\redA","\\textcolor{##fca9a9}{#1}"),Gr("\\redB","\\textcolor{##ff8482}{#1}"),Gr("\\redC","\\textcolor{##f9685d}{#1}"),Gr("\\redD","\\textcolor{##e84d39}{#1}"),Gr("\\redE","\\textcolor{##bc2612}{#1}"),Gr("\\maroonA","\\textcolor{##ffbde0}{#1}"),Gr("\\maroonB","\\textcolor{##ff92c6}{#1}"),Gr("\\maroonC","\\textcolor{##ed5fa6}{#1}"),Gr("\\maroonD","\\textcolor{##ca337c}{#1}"),Gr("\\maroonE","\\textcolor{##9e034e}{#1}"),Gr("\\purpleA","\\textcolor{##ddd7ff}{#1}"),Gr("\\purpleB","\\textcolor{##c6b9fc}{#1}"),Gr("\\purpleC","\\textcolor{##aa87ff}{#1}"),Gr("\\purpleD","\\textcolor{##7854ab}{#1}"),Gr("\\purpleE","\\textcolor{##543b78}{#1}"),Gr("\\mintA","\\textcolor{##f5f9e8}{#1}"),Gr("\\mintB","\\textcolor{##edf2df}{#1}"),Gr("\\mintC","\\textcolor{##e0e5cc}{#1}"),Gr("\\grayA","\\textcolor{##f6f7f7}{#1}"),Gr("\\grayB","\\textcolor{##f0f1f2}{#1}"),Gr("\\grayC","\\textcolor{##e3e5e6}{#1}"),Gr("\\grayD","\\textcolor{##d6d8da}{#1}"),Gr("\\grayE","\\textcolor{##babec2}{#1}"),Gr("\\grayF","\\textcolor{##888d93}{#1}"),Gr("\\grayG","\\textcolor{##626569}{#1}"),Gr("\\grayH","\\textcolor{##3b3e40}{#1}"),Gr("\\grayI","\\textcolor{##21242c}{#1}"),Gr("\\kaBlue","\\textcolor{##314453}{#1}"),Gr("\\kaGreen","\\textcolor{##71B307}{#1}");var Ya={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0};class Xa{constructor(e,t,r){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=t,this.expansionCount=0,this.feed(e),this.macros=new Ea(La,t.macros),this.mode=r,this.stack=[]}feed(e){this.lexer=new Oa(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return 0===this.stack.length&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){var t,r,a;if(e){if(this.consumeSpaces(),"["!==this.future().text)return null;t=this.popToken(),({tokens:a,end:r}=this.consumeArg(["]"]))}else({tokens:a,start:t,end:r}=this.consumeArg());return this.pushToken(new n("EOF",r.loc)),this.pushTokens(a),t.range(r,"")}consumeSpaces(){for(;" "===this.future().text;)this.stack.pop()}consumeArg(e){var t=[],r=e&&e.length>0;r||this.consumeSpaces();var a,n=this.future(),o=0,s=0;do{if(a=this.popToken(),t.push(a),"{"===a.text)++o;else if("}"===a.text){if(-1==--o)throw new i("Extra }",a)}else if("EOF"===a.text)throw new i("Unexpected end of input in a macro argument, expected '"+(e&&r?e[s]:"}")+"'",a);if(e&&r)if((0===o||1===o&&"{"===e[s])&&a.text===e[s]){if(++s===e.length){t.splice(-s,s);break}}else s=0}while(0!==o||r);return"{"===n.text&&"}"===t[t.length-1].text&&(t.pop(),t.shift()),t.reverse(),{tokens:t,start:n,end:a}}consumeArgs(e,t){if(t){if(t.length!==e+1)throw new i("The length of delimiters doesn't match the number of args!");for(var r=t[0],a=0;athis.settings.maxExpand)throw new i("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(e){var t=this.popToken(),r=t.text,a=t.noexpand?null:this._getExpansion(r);if(null==a||e&&a.unexpandable){if(e&&null==a&&"\\"===r[0]&&!this.isDefined(r))throw new i("Undefined control sequence: "+r);return this.pushToken(t),!1}this.countExpansion(1);var n=a.tokens,o=this.consumeArgs(a.numArgs,a.delimiters);if(a.numArgs)for(var s=(n=n.slice()).length-1;s>=0;--s){var l=n[s];if("#"===l.text){if(0===s)throw new i("Incomplete placeholder at end of macro body",l);if("#"===(l=n[--s]).text)n.splice(s+1,1);else{if(!/^[1-9]$/.test(l.text))throw new i("Not a valid argument number",l);n.splice(s,2,...o[+l.text-1])}}}return this.pushTokens(n),n.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(!1===this.expandOnce()){var e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}throw new Error}expandMacro(e){return this.macros.has(e)?this.expandTokens([new n(e)]):void 0}expandTokens(e){var t=[],r=this.stack.length;for(this.pushTokens(e);this.stack.length>r;)if(!1===this.expandOnce(!0)){var a=this.stack.pop();a.treatAsRelax&&(a.noexpand=!1,a.treatAsRelax=!1),t.push(a)}return this.countExpansion(t.length),t}expandMacroAsText(e){var t=this.expandMacro(e);return t?t.map((e=>e.text)).join(""):t}_getExpansion(e){var t=this.macros.get(e);if(null==t)return t;if(1===e.length){var r=this.lexer.catcodes[e];if(null!=r&&13!==r)return}var a="function"==typeof t?t(this):t;if("string"==typeof a){var n=0;if(-1!==a.indexOf("#"))for(var i=a.replace(/##/g,"");-1!==i.indexOf("#"+(n+1));)++n;for(var o=new Oa(a,this.settings),s=[],l=o.lex();"EOF"!==l.text;)s.push(l),l=o.lex();return s.reverse(),{tokens:s,numArgs:n}}return a}isDefined(e){return this.macros.has(e)||Na.hasOwnProperty(e)||me.math.hasOwnProperty(e)||me.text.hasOwnProperty(e)||Ya.hasOwnProperty(e)}isExpandable(e){var t=this.macros.get(e);return null!=t?"string"==typeof t||"function"==typeof t||!t.unexpandable:Na.hasOwnProperty(e)&&!Na[e].primitive}}var Wa=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,_a=Object.freeze({"₊":"+","₋":"-","₌":"=","₍":"(","₎":")","₀":"0","₁":"1","₂":"2","₃":"3","₄":"4","₅":"5","₆":"6","₇":"7","₈":"8","₉":"9",ₐ:"a",ₑ:"e",ₕ:"h",ᵢ:"i",ⱼ:"j",ₖ:"k",ₗ:"l",ₘ:"m",ₙ:"n",ₒ:"o",ₚ:"p",ᵣ:"r",ₛ:"s",ₜ:"t",ᵤ:"u",ᵥ:"v",ₓ:"x",ᵦ:"β",ᵧ:"γ",ᵨ:"ρ",ᵩ:"ϕ",ᵪ:"χ","⁺":"+","⁻":"-","⁼":"=","⁽":"(","⁾":")","⁰":"0","¹":"1","²":"2","³":"3","⁴":"4","⁵":"5","⁶":"6","⁷":"7","⁸":"8","⁹":"9",ᴬ:"A",ᴮ:"B",ᴰ:"D",ᴱ:"E",ᴳ:"G",ᴴ:"H",ᴵ:"I",ᴶ:"J",ᴷ:"K",ᴸ:"L",ᴹ:"M",ᴺ:"N",ᴼ:"O",ᴾ:"P",ᴿ:"R",ᵀ:"T",ᵁ:"U",ⱽ:"V",ᵂ:"W",ᵃ:"a",ᵇ:"b",ᶜ:"c",ᵈ:"d",ᵉ:"e",ᶠ:"f",ᵍ:"g",ʰ:"h",ⁱ:"i",ʲ:"j",ᵏ:"k",ˡ:"l",ᵐ:"m",ⁿ:"n",ᵒ:"o",ᵖ:"p",ʳ:"r",ˢ:"s",ᵗ:"t",ᵘ:"u",ᵛ:"v",ʷ:"w",ˣ:"x",ʸ:"y",ᶻ:"z",ᵝ:"β",ᵞ:"γ",ᵟ:"δ",ᵠ:"ϕ",ᵡ:"χ",ᶿ:"θ"}),ja={"́":{text:"\\'",math:"\\acute"},"̀":{text:"\\`",math:"\\grave"},"̈":{text:'\\"',math:"\\ddot"},"̃":{text:"\\~",math:"\\tilde"},"̄":{text:"\\=",math:"\\bar"},"̆":{text:"\\u",math:"\\breve"},"̌":{text:"\\v",math:"\\check"},"̂":{text:"\\^",math:"\\hat"},"̇":{text:"\\.",math:"\\dot"},"̊":{text:"\\r",math:"\\mathring"},"̋":{text:"\\H"},"̧":{text:"\\c"}},$a={á:"á",à:"à",ä:"ä",ǟ:"ǟ",ã:"ã",ā:"ā",ă:"ă",ắ:"ắ",ằ:"ằ",ẵ:"ẵ",ǎ:"ǎ",â:"â",ấ:"ấ",ầ:"ầ",ẫ:"ẫ",ȧ:"ȧ",ǡ:"ǡ",å:"å",ǻ:"ǻ",ḃ:"ḃ",ć:"ć",ḉ:"ḉ",č:"č",ĉ:"ĉ",ċ:"ċ",ç:"ç",ď:"ď",ḋ:"ḋ",ḑ:"ḑ",é:"é",è:"è",ë:"ë",ẽ:"ẽ",ē:"ē",ḗ:"ḗ",ḕ:"ḕ",ĕ:"ĕ",ḝ:"ḝ",ě:"ě",ê:"ê",ế:"ế",ề:"ề",ễ:"ễ",ė:"ė",ȩ:"ȩ",ḟ:"ḟ",ǵ:"ǵ",ḡ:"ḡ",ğ:"ğ",ǧ:"ǧ",ĝ:"ĝ",ġ:"ġ",ģ:"ģ",ḧ:"ḧ",ȟ:"ȟ",ĥ:"ĥ",ḣ:"ḣ",ḩ:"ḩ",í:"í",ì:"ì",ï:"ï",ḯ:"ḯ",ĩ:"ĩ",ī:"ī",ĭ:"ĭ",ǐ:"ǐ",î:"î",ǰ:"ǰ",ĵ:"ĵ",ḱ:"ḱ",ǩ:"ǩ",ķ:"ķ",ĺ:"ĺ",ľ:"ľ",ļ:"ļ",ḿ:"ḿ",ṁ:"ṁ",ń:"ń",ǹ:"ǹ",ñ:"ñ",ň:"ň",ṅ:"ṅ",ņ:"ņ",ó:"ó",ò:"ò",ö:"ö",ȫ:"ȫ",õ:"õ",ṍ:"ṍ",ṏ:"ṏ",ȭ:"ȭ",ō:"ō",ṓ:"ṓ",ṑ:"ṑ",ŏ:"ŏ",ǒ:"ǒ",ô:"ô",ố:"ố",ồ:"ồ",ỗ:"ỗ",ȯ:"ȯ",ȱ:"ȱ",ő:"ő",ṕ:"ṕ",ṗ:"ṗ",ŕ:"ŕ",ř:"ř",ṙ:"ṙ",ŗ:"ŗ",ś:"ś",ṥ:"ṥ",š:"š",ṧ:"ṧ",ŝ:"ŝ",ṡ:"ṡ",ş:"ş",ẗ:"ẗ",ť:"ť",ṫ:"ṫ",ţ:"ţ",ú:"ú",ù:"ù",ü:"ü",ǘ:"ǘ",ǜ:"ǜ",ǖ:"ǖ",ǚ:"ǚ",ũ:"ũ",ṹ:"ṹ",ū:"ū",ṻ:"ṻ",ŭ:"ŭ",ǔ:"ǔ",û:"û",ů:"ů",ű:"ű",ṽ:"ṽ",ẃ:"ẃ",ẁ:"ẁ",ẅ:"ẅ",ŵ:"ŵ",ẇ:"ẇ",ẘ:"ẘ",ẍ:"ẍ",ẋ:"ẋ",ý:"ý",ỳ:"ỳ",ÿ:"ÿ",ỹ:"ỹ",ȳ:"ȳ",ŷ:"ŷ",ẏ:"ẏ",ẙ:"ẙ",ź:"ź",ž:"ž",ẑ:"ẑ",ż:"ż",Á:"Á",À:"À",Ä:"Ä",Ǟ:"Ǟ",Ã:"Ã",Ā:"Ā",Ă:"Ă",Ắ:"Ắ",Ằ:"Ằ",Ẵ:"Ẵ",Ǎ:"Ǎ",Â:"Â",Ấ:"Ấ",Ầ:"Ầ",Ẫ:"Ẫ",Ȧ:"Ȧ",Ǡ:"Ǡ",Å:"Å",Ǻ:"Ǻ",Ḃ:"Ḃ",Ć:"Ć",Ḉ:"Ḉ",Č:"Č",Ĉ:"Ĉ",Ċ:"Ċ",Ç:"Ç",Ď:"Ď",Ḋ:"Ḋ",Ḑ:"Ḑ",É:"É",È:"È",Ë:"Ë",Ẽ:"Ẽ",Ē:"Ē",Ḗ:"Ḗ",Ḕ:"Ḕ",Ĕ:"Ĕ",Ḝ:"Ḝ",Ě:"Ě",Ê:"Ê",Ế:"Ế",Ề:"Ề",Ễ:"Ễ",Ė:"Ė",Ȩ:"Ȩ",Ḟ:"Ḟ",Ǵ:"Ǵ",Ḡ:"Ḡ",Ğ:"Ğ",Ǧ:"Ǧ",Ĝ:"Ĝ",Ġ:"Ġ",Ģ:"Ģ",Ḧ:"Ḧ",Ȟ:"Ȟ",Ĥ:"Ĥ",Ḣ:"Ḣ",Ḩ:"Ḩ",Í:"Í",Ì:"Ì",Ï:"Ï",Ḯ:"Ḯ",Ĩ:"Ĩ",Ī:"Ī",Ĭ:"Ĭ",Ǐ:"Ǐ",Î:"Î",İ:"İ",Ĵ:"Ĵ",Ḱ:"Ḱ",Ǩ:"Ǩ",Ķ:"Ķ",Ĺ:"Ĺ",Ľ:"Ľ",Ļ:"Ļ",Ḿ:"Ḿ",Ṁ:"Ṁ",Ń:"Ń",Ǹ:"Ǹ",Ñ:"Ñ",Ň:"Ň",Ṅ:"Ṅ",Ņ:"Ņ",Ó:"Ó",Ò:"Ò",Ö:"Ö",Ȫ:"Ȫ",Õ:"Õ",Ṍ:"Ṍ",Ṏ:"Ṏ",Ȭ:"Ȭ",Ō:"Ō",Ṓ:"Ṓ",Ṑ:"Ṑ",Ŏ:"Ŏ",Ǒ:"Ǒ",Ô:"Ô",Ố:"Ố",Ồ:"Ồ",Ỗ:"Ỗ",Ȯ:"Ȯ",Ȱ:"Ȱ",Ő:"Ő",Ṕ:"Ṕ",Ṗ:"Ṗ",Ŕ:"Ŕ",Ř:"Ř",Ṙ:"Ṙ",Ŗ:"Ŗ",Ś:"Ś",Ṥ:"Ṥ",Š:"Š",Ṧ:"Ṧ",Ŝ:"Ŝ",Ṡ:"Ṡ",Ş:"Ş",Ť:"Ť",Ṫ:"Ṫ",Ţ:"Ţ",Ú:"Ú",Ù:"Ù",Ü:"Ü",Ǘ:"Ǘ",Ǜ:"Ǜ",Ǖ:"Ǖ",Ǚ:"Ǚ",Ũ:"Ũ",Ṹ:"Ṹ",Ū:"Ū",Ṻ:"Ṻ",Ŭ:"Ŭ",Ǔ:"Ǔ",Û:"Û",Ů:"Ů",Ű:"Ű",Ṽ:"Ṽ",Ẃ:"Ẃ",Ẁ:"Ẁ",Ẅ:"Ẅ",Ŵ:"Ŵ",Ẇ:"Ẇ",Ẍ:"Ẍ",Ẋ:"Ẋ",Ý:"Ý",Ỳ:"Ỳ",Ÿ:"Ÿ",Ỹ:"Ỹ",Ȳ:"Ȳ",Ŷ:"Ŷ",Ẏ:"Ẏ",Ź:"Ź",Ž:"Ž",Ẑ:"Ẑ",Ż:"Ż",ά:"ά",ὰ:"ὰ",ᾱ:"ᾱ",ᾰ:"ᾰ",έ:"έ",ὲ:"ὲ",ή:"ή",ὴ:"ὴ",ί:"ί",ὶ:"ὶ",ϊ:"ϊ",ΐ:"ΐ",ῒ:"ῒ",ῑ:"ῑ",ῐ:"ῐ",ό:"ό",ὸ:"ὸ",ύ:"ύ",ὺ:"ὺ",ϋ:"ϋ",ΰ:"ΰ",ῢ:"ῢ",ῡ:"ῡ",ῠ:"ῠ",ώ:"ώ",ὼ:"ὼ",Ύ:"Ύ",Ὺ:"Ὺ",Ϋ:"Ϋ",Ῡ:"Ῡ",Ῠ:"Ῠ",Ώ:"Ώ",Ὼ:"Ὼ"};class Za{constructor(e,t){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new Xa(e,t,this.mode),this.settings=t,this.leftrightDepth=0}expect(e,t){if(void 0===t&&(t=!0),this.fetch().text!==e)throw new i("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());t&&this.consume()}consume(){this.nextToken=null}fetch(){return null==this.nextToken&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}}subparse(e){var t=this.nextToken;this.consume(),this.gullet.pushToken(new n("}")),this.gullet.pushTokens(e);var r=this.parseExpression(!1);return this.expect("}"),this.nextToken=t,r}parseExpression(e,t){for(var r=[];;){"math"===this.mode&&this.consumeSpaces();var a=this.fetch();if(-1!==Za.endOfExpression.indexOf(a.text))break;if(t&&a.text===t)break;if(e&&Na[a.text]&&Na[a.text].infix)break;var n=this.parseAtom(t);if(!n)break;"internal"!==n.type&&r.push(n)}return"text"===this.mode&&this.formLigatures(r),this.handleInfixNodes(r)}handleInfixNodes(e){for(var t,r=-1,a=0;a=0&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+t[0]+'" used in math mode',e);var l,h=me[this.mode][t].group,m=a.range(e);if(le.hasOwnProperty(h)){var c=h;l={type:"atom",mode:this.mode,family:c,loc:m,text:t}}else l={type:h,mode:this.mode,loc:m,text:t};o=l}else{if(!(t.charCodeAt(0)>=128))return null;this.settings.strict&&(C(t.charCodeAt(0))?"math"===this.mode&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+t[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+t[0]+'" ('+t.charCodeAt(0)+")",e)),o={type:"textord",mode:"text",loc:a.range(e),text:t}}if(this.consume(),s)for(var p=0;p{n.d(r,{A:()=>c});var e=n(2050);function o(t){var r=-1,n=null==t?0:t.length;for(this.__data__=new e.A;++r{n.d(r,{A:()=>e});const e=function(t,r){for(var n=-1,e=null==t?0:t.length;++n{n.d(r,{A:()=>e});const e=function(t,r){for(var n=-1,e=null==t?0:t.length,o=0,c=[];++n{n.d(r,{A:()=>o});var e=n(5205);const o=function(t,r){return!(null==t||!t.length)&&(0,e.A)(t,r,0)>-1}},7809:(t,r,n)=>{n.d(r,{A:()=>e});const e=function(t,r,n){for(var e=-1,o=null==t?0:t.length;++e{n.d(r,{A:()=>e});const e=function(t,r){for(var n=-1,e=null==t?0:t.length,o=Array(e);++n{n.d(r,{A:()=>e});const e=function(t,r){for(var n=-1,e=r.length,o=t.length;++n{n.d(r,{A:()=>e});const e=function(t,r){for(var n=-1,e=null==t?0:t.length;++n{n.d(r,{A:()=>$});var e=n(2080),o=n(2641),c=n(2851),u=n(2031),a=n(5041);var i=n(9999);var A=n(154),f=n(9759),s=n(4792);var v=n(3511);var l=n(9042),b=n(3973),d=n(9137),j=Object.prototype.hasOwnProperty;var p=n(565);var h=/\w*$/;var y=n(241),g=y.A?y.A.prototype:void 0,w=g?g.valueOf:void 0;var _=n(1801);const O=function(t,r,n){var e,o,c,u=t.constructor;switch(r){case"[object ArrayBuffer]":return(0,p.A)(t);case"[object Boolean]":case"[object Date]":return new u(+t);case"[object DataView]":return function(t,r){var n=r?(0,p.A)(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}(t,n);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return(0,_.A)(t,n);case"[object Map]":case"[object Set]":return new u;case"[object Number]":case"[object String]":return new u(t);case"[object RegExp]":return(c=new(o=t).constructor(o.source,h.exec(o))).lastIndex=o.lastIndex,c;case"[object Symbol]":return e=t,w?Object(w.call(e)):{}}};var m=n(407),S=n(2049),k=n(1200),E=n(3098);var x=n(2789),I=n(4841),U=I.A&&I.A.isMap;const B=U?(0,x.A)(U):function(t){return(0,E.A)(t)&&"[object Map]"==(0,d.A)(t)};var C=n(3149);var D=I.A&&I.A.isSet;const F=D?(0,x.A)(D):function(t){return(0,E.A)(t)&&"[object Set]"==(0,d.A)(t)};var M="[object Arguments]",z="[object Function]",L="[object Object]",P={};P[M]=P["[object Array]"]=P["[object ArrayBuffer]"]=P["[object DataView]"]=P["[object Boolean]"]=P["[object Date]"]=P["[object Float32Array]"]=P["[object Float64Array]"]=P["[object Int8Array]"]=P["[object Int16Array]"]=P["[object Int32Array]"]=P["[object Map]"]=P["[object Number]"]=P[L]=P["[object RegExp]"]=P["[object Set]"]=P["[object String]"]=P["[object Symbol]"]=P["[object Uint8Array]"]=P["[object Uint8ClampedArray]"]=P["[object Uint16Array]"]=P["[object Uint32Array]"]=!0,P["[object Error]"]=P[z]=P["[object WeakMap]"]=!1;const $=function t(r,n,p,h,y,g){var w,_=1&n,E=2&n,x=4&n;if(p&&(w=y?p(r,h,y,g):p(r)),void 0!==w)return w;if(!(0,C.A)(r))return r;var I=(0,S.A)(r);if(I){if(w=function(t){var r=t.length,n=new t.constructor(r);return r&&"string"==typeof t[0]&&j.call(t,"index")&&(n.index=t.index,n.input=t.input),n}(r),!_)return(0,f.A)(r,w)}else{var U=(0,d.A)(r),D=U==z||"[object GeneratorFunction]"==U;if((0,k.A)(r))return(0,A.A)(r,_);if(U==L||U==M||D&&!y){if(w=E||D?{}:(0,m.A)(r),!_)return E?function(t,r){return(0,u.A)(t,(0,v.A)(t),r)}(r,function(t,r){return t&&(0,u.A)(r,(0,i.A)(r),t)}(w,r)):function(t,r){return(0,u.A)(t,(0,s.A)(t),r)}(r,function(t,r){return t&&(0,u.A)(r,(0,a.A)(r),t)}(w,r))}else{if(!P[U])return y?r:{};w=O(r,U,_)}}g||(g=new e.A);var $=g.get(r);if($)return $;g.set(r,w),F(r)?r.forEach((function(e){w.add(t(e,n,p,e,r,g))})):B(r)&&r.forEach((function(e,o){w.set(o,t(e,n,p,o,r,g))}));var N=x?E?b.A:l.A:E?i.A:a.A,R=I?void 0:N(r);return(0,o.A)(R||r,(function(e,o){R&&(e=r[o=e]),(0,c.A)(w,o,t(e,n,p,o,r,g))})),w}},4288:(t,r,n)=>{n.d(r,{A:()=>c});var e=n(9841),o=n(8446);const c=(u=e.A,function(t,r){if(null==t)return t;if(!(0,o.A)(t))return u(t,r);for(var n=t.length,e=-1,c=Object(t);++e{n.d(r,{A:()=>o});var e=n(4288);const o=function(t,r){var n=[];return(0,e.A)(t,(function(t,e,o){r(t,e,o)&&n.push(t)})),n}},5707:(t,r,n)=>{n.d(r,{A:()=>e});const e=function(t,r,n,e){for(var o=t.length,c=n+(e?1:-1);e?c--:++c{n.d(r,{A:()=>A});var e=n(6912),o=n(241),c=n(5175),u=n(2049),a=o.A?o.A.isConcatSpreadable:void 0;const i=function(t){return(0,u.A)(t)||(0,c.A)(t)||!!(a&&t&&t[a])},A=function t(r,n,o,c,u){var a=-1,A=r.length;for(o||(o=i),u||(u=[]);++a0&&o(f)?n>1?t(f,n-1,o,c,u):(0,e.A)(u,f):c||(u[u.length]=f)}return u}},9841:(t,r,n)=>{n.d(r,{A:()=>c});var e=n(7132),o=n(5041);const c=function(t,r){return t&&(0,e.A)(t,r,o.A)}},6318:(t,r,n)=>{n.d(r,{A:()=>c});var e=n(1521),o=n(901);const c=function(t,r){for(var n=0,c=(r=(0,e.A)(r,t)).length;null!=t&&n{n.d(r,{A:()=>c});var e=n(6912),o=n(2049);const c=function(t,r,n){var c=r(t);return(0,o.A)(t)?c:(0,e.A)(c,n(t))}},5205:(t,r,n)=>{n.d(r,{A:()=>c});var e=n(5707);const o=function(t){return t!=t},c=function(t,r,n){return r==r?function(t,r,n){for(var e=n-1,o=t.length;++e{n.d(r,{A:()=>R});var e=n(2080),o=n(8300),c=n(3736),u=n(4099);const a=function(t,r,n,e,a,i){var A=1&n,f=t.length,s=r.length;if(f!=s&&!(A&&s>f))return!1;var v=i.get(t),l=i.get(r);if(v&&l)return v==r&&l==t;var b=-1,d=!0,j=2&n?new o.A:void 0;for(i.set(t,r),i.set(r,t);++b{n.d(r,{A:()=>e});const e=function(t){return function(r){return null==r?void 0:r[t]}}},7371:(t,r,n)=>{n.d(r,{A:()=>s});var e=n(8300),o=n(5530),c=n(7809),u=n(4099),a=n(9857),i=n(2302),A=n(9959);const f=a.A&&1/(0,A.A)(new a.A([,-0]))[1]==1/0?function(t){return new a.A(t)}:i.A,s=function(t,r,n){var a=-1,i=o.A,s=t.length,v=!0,l=[],b=l;if(n)v=!1,i=c.A;else if(s>=200){var d=r?null:f(t);if(d)return(0,A.A)(d);v=!1,i=u.A,b=new e.A}else b=r?[]:l;t:for(;++a{n.d(r,{A:()=>e});const e=function(t,r){return t.has(r)}},9922:(t,r,n)=>{n.d(r,{A:()=>o});var e=n(9008);const o=function(t){return"function"==typeof t?t:e.A}},1521:(t,r,n)=>{n.d(r,{A:()=>v});var e=n(2049),o=n(6586),c=n(6632),u=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,a=/\\(\\)?/g;const i=(A=(0,c.A)((function(t){var r=[];return 46===t.charCodeAt(0)&&r.push(""),t.replace(u,(function(t,n,e,o){r.push(e?o.replace(a,"$1"):n||t)})),r}),(function(t){return 500===f.size&&f.clear(),t})),f=A.cache,A);var A,f,s=n(3456);const v=function(t,r){return(0,e.A)(t)?t:(0,o.A)(t,r)?[t]:i((0,s.A)(t))}},9042:(t,r,n)=>{n.d(r,{A:()=>u});var e=n(6212),o=n(4792),c=n(5041);const u=function(t){return(0,e.A)(t,c.A,o.A)}},3973:(t,r,n)=>{n.d(r,{A:()=>u});var e=n(6212),o=n(3511),c=n(9999);const u=function(t){return(0,e.A)(t,c.A,o.A)}},4792:(t,r,n)=>{n.d(r,{A:()=>a});var e=n(2634),o=n(3153),c=Object.prototype.propertyIsEnumerable,u=Object.getOwnPropertySymbols;const a=u?function(t){return null==t?[]:(t=Object(t),(0,e.A)(u(t),(function(r){return c.call(t,r)})))}:o.A},3511:(t,r,n)=>{n.d(r,{A:()=>a});var e=n(6912),o=n(5647),c=n(4792),u=n(3153);const a=Object.getOwnPropertySymbols?function(t){for(var r=[];t;)(0,e.A)(r,(0,c.A)(t)),t=(0,o.A)(t);return r}:u.A},5054:(t,r,n)=>{n.d(r,{A:()=>A});var e=n(1521),o=n(5175),c=n(2049),u=n(5353),a=n(5254),i=n(901);const A=function(t,r,n){for(var A=-1,f=(r=(0,e.A)(r,t)).length,s=!1;++A{n.d(r,{A:()=>a});var e=n(2049),o=n(9501),c=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,u=/^\w*$/;const a=function(t,r){if((0,e.A)(t))return!1;var n=typeof t;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=t&&!(0,o.A)(t))||u.test(t)||!c.test(t)||null!=r&&t in Object(r)}},9959:(t,r,n)=>{n.d(r,{A:()=>e});const e=function(t){var r=-1,n=Array(t.size);return t.forEach((function(t){n[++r]=t})),n}},901:(t,r,n)=>{n.d(r,{A:()=>o});var e=n(9501);const o=function(t){if("string"==typeof t||(0,e.A)(t))return t;var r=t+"";return"0"==r&&1/t==-1/0?"-0":r}},4092:(t,r,n)=>{n.d(r,{A:()=>a});var e=n(2634),o=n(1790),c=n(6307),u=n(2049);const a=function(t,r){return((0,u.A)(t)?e.A:o.A)(t,(0,c.A)(r,3))}},8058:(t,r,n)=>{n.d(r,{A:()=>a});var e=n(2641),o=n(4288),c=n(9922),u=n(2049);const a=function(t,r){return((0,u.A)(t)?e.A:o.A)(t,(0,c.A)(r))}},6964:(t,r,n)=>{n.d(r,{A:()=>c});const e=function(t,r){return null!=t&&r in Object(t)};var o=n(5054);const c=function(t,r){return null!=t&&(0,o.A)(t,r,e)}},9501:(t,r,n)=>{n.d(r,{A:()=>c});var e=n(2383),o=n(3098);const c=function(t){return"symbol"==typeof t||(0,o.A)(t)&&"[object Symbol]"==(0,e.A)(t)}},9592:(t,r,n)=>{n.d(r,{A:()=>e});const e=function(t){return void 0===t}},5041:(t,r,n)=>{n.d(r,{A:()=>u});var e=n(2505),o=n(4453),c=n(8446);const u=function(t){return(0,c.A)(t)?(0,e.A)(t):(0,o.A)(t)}},2302:(t,r,n)=>{n.d(r,{A:()=>e});const e=function(){}},3130:(t,r,n)=>{n.d(r,{A:()=>i});const e=function(t,r,n,e){var o=-1,c=null==t?0:t.length;for(e&&c&&(n=t[++o]);++o{n.d(r,{A:()=>e});const e=function(){return[]}},3456:(t,r,n)=>{n.d(r,{A:()=>f});var e=n(241),o=n(5572),c=n(2049),u=n(9501),a=e.A?e.A.prototype:void 0,i=a?a.toString:void 0;const A=function t(r){if("string"==typeof r)return r;if((0,c.A)(r))return(0,o.A)(r,t)+"";if((0,u.A)(r))return i?i.call(r):"";var n=r+"";return"0"==n&&1/r==-1/0?"-0":n},f=function(t){return null==t?"":A(t)}},2866:(t,r,n)=>{n.d(r,{A:()=>c});var e=n(5572);var o=n(5041);const c=function(t){return null==t?[]:function(t,r){return(0,e.A)(r,(function(r){return t[r]}))}(t,(0,o.A)(t))}}}]); \ No newline at end of file diff --git a/docs/hugo/public/js/165-06872da1.chunk.min.js b/docs/hugo/public/js/165-06872da1.chunk.min.js new file mode 100644 index 000000000..e2fd12b18 --- /dev/null +++ b/docs/hugo/public/js/165-06872da1.chunk.min.js @@ -0,0 +1,2 @@ +/*! For license information please see 165-06872da1.chunk.min.js.LICENSE.txt */ +"use strict";(self.webpackChunkgeekdoc=self.webpackChunkgeekdoc||[]).push([[165],{165:(e,t,n)=>{function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,o=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,i=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw i}}}}n.d(t,{A:()=>ju});var h="undefined"==typeof window?null:window,p=h?h.navigator:null;h&&h.document;var f=r(""),g=r({}),v=r((function(){})),y="undefined"==typeof HTMLElement?"undefined":r(HTMLElement),m=function(e){return e&&e.instanceString&&x(e.instanceString)?e.instanceString():null},b=function(e){return null!=e&&r(e)==f},x=function(e){return null!=e&&r(e)===v},w=function(e){return!S(e)&&(Array.isArray?Array.isArray(e):null!=e&&e instanceof Array)},E=function(e){return null!=e&&r(e)===g&&!w(e)&&e.constructor===Object},k=function(e){return null!=e&&r(e)===r(1)&&!isNaN(e)},C=function(e){return"undefined"===y?void 0:null!=e&&e instanceof HTMLElement},S=function(e){return P(e)||D(e)},P=function(e){return"collection"===m(e)&&e._private.single},D=function(e){return"collection"===m(e)&&!e._private.single},T=function(e){return"core"===m(e)},_=function(e){return"stylesheet"===m(e)},M=function(e){return null==e||!(""!==e&&!e.match(/^\s+$/))},B=function(e){return function(e){return null!=e&&r(e)===g}(e)&&x(e.then)},N=function(e,t){t||(t=function(){if(1===arguments.length)return arguments[0];if(0===arguments.length)return"undefined";for(var e=[],t=0;tt?1:0},Y=null!=Object.assign?Object.assign.bind(Object):function(e){for(var t=arguments,n=1;n=t||n<0||d&&e-u>=i}function g(){var e=Q();if(f(e))return v(e);s=setTimeout(g,function(e){var n=t-(e-l);return d?ye(n,i-(e-u)):n}(e))}function v(e){return s=void 0,h&&r?p(e):(r=a=void 0,o)}function y(){var e=Q(),n=f(e);if(r=arguments,a=this,l=e,n){if(void 0===s)return function(e){return u=e,s=setTimeout(g,t),c?p(e):o}(l);if(d)return clearTimeout(s),s=setTimeout(g,t),p(l)}return void 0===s&&(s=setTimeout(g,t)),o}return t=ge(t)||0,K(n)&&(c=!!n.leading,i=(d="maxWait"in n)?ve(ge(n.maxWait)||0,t):i,h="trailing"in n?!!n.trailing:h),y.cancel=function(){void 0!==s&&clearTimeout(s),u=0,r=l=a=s=void 0},y.flush=function(){return void 0===s?o:v(Q())},y},be=h?h.performance:null,xe=be&&be.now?function(){return be.now()}:function(){return Date.now()},we=function(){if(h){if(h.requestAnimationFrame)return function(e){h.requestAnimationFrame(e)};if(h.mozRequestAnimationFrame)return function(e){h.mozRequestAnimationFrame(e)};if(h.webkitRequestAnimationFrame)return function(e){h.webkitRequestAnimationFrame(e)};if(h.msRequestAnimationFrame)return function(e){h.msRequestAnimationFrame(e)}}return function(e){e&&setTimeout((function(){e(xe())}),1e3/60)}}(),Ee=function(e){return we(e)},ke=xe,Ce=9261,Se=5381,Pe=function(e){for(var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ce;!(t=e.next()).done;)n=65599*n+t.value|0;return n},De=function(e){return 65599*(arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ce)+e|0},Te=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Se;return(t<<5)+t+e|0},_e=function(e){return 2097152*e[0]+e[1]},Me=function(e,t){return[De(e[0],t[0]),Te(e[1],t[1])]},Be=function(e,t){var n={value:0,done:!1},r=0,a=e.length;return Pe({next:function(){return r=0&&(e[r]!==t||(e.splice(r,1),!n));r--);},$e=function(e){e.splice(0,e.length)},Qe=function(e,t,n){return n&&(t=A(n,t)),e[t]},Je=function(e,t,n,r){n&&(t=A(n,t)),e[t]=r},et="undefined"!=typeof Map?Map:function(){function e(){a(this,e),this._obj={}}return o(e,[{key:"set",value:function(e,t){return this._obj[e]=t,this}},{key:"delete",value:function(e){return this._obj[e]=void 0,this}},{key:"clear",value:function(){this._obj={}}},{key:"has",value:function(e){return void 0!==this._obj[e]}},{key:"get",value:function(e){return this._obj[e]}}]),e}(),tt=function(){function e(t){if(a(this,e),this._obj=Object.create(null),this.size=0,null!=t){var n;n=null!=t.instanceString&&t.instanceString()===this.instanceString()?t.toArray():t;for(var r=0;r2&&void 0!==arguments[2])||arguments[2];if(void 0!==e&&void 0!==t&&T(e)){var r=t.group;if(null==r&&(r=t.data&&null!=t.data.source&&null!=t.data.target?"edges":"nodes"),"nodes"===r||"edges"===r){this.length=1,this[0]=this;var a=this._private={cy:e,single:!0,data:t.data||{},position:t.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:r,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!t.selected,selectable:void 0===t.selectable||!!t.selectable,locked:!!t.locked,grabbed:!1,grabbable:void 0===t.grabbable||!!t.grabbable,pannable:void 0===t.pannable?"edges"===r:!!t.pannable,active:!1,classes:new nt,animation:{current:[],queue:[]},rscratch:{},scratch:t.scratch||{},edges:[],children:[],parent:t.parent&&t.parent.isNode()?t.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(null==a.position.x&&(a.position.x=0),null==a.position.y&&(a.position.y=0),t.renderedPosition){var i=t.renderedPosition,o=e.pan(),s=e.zoom();a.position={x:(i.x-o.x)/s,y:(i.y-o.y)/s}}var l=[];w(t.classes)?l=t.classes:b(t.classes)&&(l=t.classes.split(/\s+/));for(var u=0,c=l.length;ut?1:0},u=function(e,t,a,i,o){var s;if(null==a&&(a=0),null==o&&(o=n),a<0)throw new Error("lo must be non-negative");for(null==i&&(i=e.length);an;0<=n?t++:t--)u.push(t);return u}.apply(this).reverse()).length;ig;0<=g?++h:--h)v.push(i(e,r));return v},f=function(e,t,r,a){var i,o,s;for(null==a&&(a=n),i=e[r];r>t&&a(i,o=e[s=r-1>>1])<0;)e[r]=o,r=s;return e[r]=i},g=function(e,t,r){var a,i,o,s,l;for(null==r&&(r=n),i=e.length,l=t,o=e[t],a=2*t+1;a0;){var k=y.pop(),C=g(k),S=k.id();if(d[S]=C,C!==1/0)for(var P=k.neighborhood().intersect(p),D=0;D0)for(n.unshift(t);c[a];){var i=c[a];n.unshift(i.edge),n.unshift(i.node),a=(r=i.node).id()}return o.spawn(n)}}}},dt={kruskal:function(e){e=e||function(e){return 1};for(var t=this.byGroup(),n=t.nodes,r=t.edges,a=n.length,i=new Array(a),o=n,s=function(e){for(var t=0;t0;){if(u=(l=g.pop()).id(),v.delete(u),w++,u===d){for(var E=[],k=a,C=d,S=m[C];E.unshift(k),null!=S&&E.unshift(S),null!=(k=y[C]);)S=m[C=k.id()];return{found:!0,distance:h[u],path:this.spawn(E),steps:w}}f[u]=!0;for(var P=l._private.edges,D=0;DD&&(p[P]=D,y[P]=S,m[P]=w),!a){var T=S*u+C;!a&&p[T]>D&&(p[T]=D,y[T]=C,m[T]=w)}}}for(var _=0;_1&&void 0!==arguments[1]?arguments[1]:i,r=[],a=m(e);;){if(null==a)return t.spawn();var o=y(a),l=o.edge,u=o.pred;if(r.unshift(a[0]),a.same(n)&&r.length>0)break;null!=l&&r.unshift(l),a=u}return s.spawn(r)},hasNegativeWeightCycle:f,negativeWeightCycles:g}}},mt=Math.sqrt(2),bt=function(e,t,n){0===n.length&&qe("Karger-Stein must be run on a connected (sub)graph");for(var r=n[e],a=r[1],i=r[2],o=t[a],s=t[i],l=n,u=l.length-1;u>=0;u--){var c=l[u],d=c[1],h=c[2];(t[d]===o&&t[h]===s||t[d]===s&&t[h]===o)&&l.splice(u,1)}for(var p=0;pr;){var a=Math.floor(Math.random()*t.length);t=bt(a,e,t),n--}return t},wt={kargerStein:function(){var e=this,t=this.byGroup(),n=t.nodes,r=t.edges;r.unmergeBy((function(e){return e.isLoop()}));var a=n.length,i=r.length,o=Math.ceil(Math.pow(Math.log(a)/Math.LN2,2)),s=Math.floor(a/mt);if(!(a<2)){for(var l=[],u=0;u0?1:e<0?-1:0},Tt=function(e,t){return Math.sqrt(_t(e,t))},_t=function(e,t){var n=t.x-e.x,r=t.y-e.y;return n*n+r*r},Mt=function(e){for(var t=e.length,n=0,r=0;r=e.x1&&e.y2>=e.y1)return{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,w:e.x2-e.x1,h:e.y2-e.y1};if(null!=e.w&&null!=e.h&&e.w>=0&&e.h>=0)return{x1:e.x1,y1:e.y1,x2:e.x1+e.w,y2:e.y1+e.h,w:e.w,h:e.h}}},At=function(e,t){e.x1=Math.min(e.x1,t.x1),e.x2=Math.max(e.x2,t.x2),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,t.y1),e.y2=Math.max(e.y2,t.y2),e.h=e.y2-e.y1},Lt=function(e,t,n){e.x1=Math.min(e.x1,t),e.x2=Math.max(e.x2,t),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,n),e.y2=Math.max(e.y2,n),e.h=e.y2-e.y1},Ot=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e.x1-=t,e.x2+=t,e.y1-=t,e.y2+=t,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},Rt=function(e){var t,n,r,a,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0];if(1===i.length)t=n=r=a=i[0];else if(2===i.length)t=r=i[0],a=n=i[1];else if(4===i.length){var o=l(i,4);t=o[0],n=o[1],r=o[2],a=o[3]}return e.x1-=a,e.x2+=n,e.y1-=t,e.y2+=r,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},Vt=function(e,t){e.x1=t.x1,e.y1=t.y1,e.x2=t.x2,e.y2=t.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},Ft=function(e,t){return!(e.x1>t.x2||t.x1>e.x2||e.x2t.y2||t.y1>e.y2)},jt=function(e,t,n){return e.x1<=t&&t<=e.x2&&e.y1<=n&&n<=e.y2},qt=function(e,t){return jt(e,t.x1,t.y1)&&jt(e,t.x2,t.y2)},Yt=function(e,t,n,r,a,i,o){var s,l,u=arguments.length>7&&void 0!==arguments[7]?arguments[7]:"auto",c="auto"===u?ln(a,i):u,d=a/2,h=i/2,p=(c=Math.min(c,d,h))!==d,f=c!==h;if(p){var g=r-h-o;if((s=tn(e,t,n,r,n-d+c-o,g,n+d-c+o,g,!1)).length>0)return s}if(f){var v=n+d+o;if((s=tn(e,t,n,r,v,r-h+c-o,v,r+h-c+o,!1)).length>0)return s}if(p){var y=r+h+o;if((s=tn(e,t,n,r,n-d+c-o,y,n+d-c+o,y,!1)).length>0)return s}if(f){var m=n-d-o;if((s=tn(e,t,n,r,m,r-h+c-o,m,r+h-c+o,!1)).length>0)return s}var b=n-d+c,x=r-h+c;if((l=Jt(e,t,n,r,b,x,c+o)).length>0&&l[0]<=b&&l[1]<=x)return[l[0],l[1]];var w=n+d-c,E=r-h+c;if((l=Jt(e,t,n,r,w,E,c+o)).length>0&&l[0]>=w&&l[1]<=E)return[l[0],l[1]];var k=n+d-c,C=r+h-c;if((l=Jt(e,t,n,r,k,C,c+o)).length>0&&l[0]>=k&&l[1]>=C)return[l[0],l[1]];var S=n-d+c,P=r+h-c;return(l=Jt(e,t,n,r,S,P,c+o)).length>0&&l[0]<=S&&l[1]>=P?[l[0],l[1]]:[]},Xt=function(e,t,n,r,a,i,o){var s=o,l=Math.min(n,a),u=Math.max(n,a),c=Math.min(r,i),d=Math.max(r,i);return l-s<=e&&e<=u+s&&c-s<=t&&t<=d+s},Wt=function(e,t,n,r,a,i,o,s,l){var u=Math.min(n,o,a)-l,c=Math.max(n,o,a)+l,d=Math.min(r,s,i)-l,h=Math.max(r,s,i)+l;return!(ec||th)},Ht=function(e,t,n,r,a,i,o,s){var l,u,c,d,h,p,f,g,v,y,m,b,x,w=[];u=9*n*a-3*n*n-3*n*o-6*a*a+3*a*o+9*r*i-3*r*r-3*r*s-6*i*i+3*i*s,c=3*n*n-6*n*a+n*o-n*e+2*a*a+2*a*e-o*e+3*r*r-6*r*i+r*s-r*t+2*i*i+2*i*t-s*t,d=1*n*a-n*n+n*e-a*e+r*i-r*r+r*t-i*t,0===(l=1*n*n-4*n*a+2*n*o+4*a*a-4*a*o+o*o+r*r-4*r*i+2*r*s+4*i*i-4*i*s+s*s)&&(l=1e-5),g=-27*(d/=l)+(u/=l)*(9*(c/=l)-u*u*2),p=(f=(3*c-u*u)/9)*f*f+(g/=54)*g,(h=w)[1]=0,b=u/3,p>0?(y=(y=g+Math.sqrt(p))<0?-Math.pow(-y,1/3):Math.pow(y,1/3),m=(m=g-Math.sqrt(p))<0?-Math.pow(-m,1/3):Math.pow(m,1/3),h[0]=-b+y+m,b+=(y+m)/2,h[4]=h[2]=-b,b=Math.sqrt(3)*(-m+y)/2,h[3]=b,h[5]=-b):(h[5]=h[3]=0,0===p?(x=g<0?-Math.pow(-g,1/3):Math.pow(g,1/3),h[0]=2*x-b,h[4]=h[2]=-(x+b)):(v=(f=-f)*f*f,v=Math.acos(g/Math.sqrt(v)),x=2*Math.sqrt(f),h[0]=-b+x*Math.cos(v/3),h[2]=-b+x*Math.cos((v+2*Math.PI)/3),h[4]=-b+x*Math.cos((v+4*Math.PI)/3)));for(var E=[],k=0;k<6;k+=2)Math.abs(w[k+1])<1e-7&&w[k]>=0&&w[k]<=1&&E.push(w[k]);E.push(1),E.push(0);for(var C,S,P,D=-1,T=0;T=0?Pl?(e-a)*(e-a)+(t-i)*(t-i):u-d},Gt=function(e,t,n){for(var r,a,i,o,s=0,l=0;l=e&&e>=i||r<=e&&e<=i))continue;(e-r)/(i-r)*(o-a)+a>t&&s++}return s%2!=0},Ut=function(e,t,n,r,a,i,o,s,l){var u,c=new Array(n.length);null!=s[0]?(u=Math.atan(s[1]/s[0]),s[0]<0?u+=Math.PI/2:u=-u-Math.PI/2):u=s;for(var d,h=Math.cos(-u),p=Math.sin(-u),f=0;f0){var g=$t(c,-l);d=Zt(g)}else d=c;return Gt(e,t,d)},Zt=function(e){for(var t,n,r,a,i,o,s,l,u=new Array(e.length/2),c=0;c=0&&f<=1&&v.push(f),g>=0&&g<=1&&v.push(g),0===v.length)return[];var y=v[0]*s[0]+e,m=v[0]*s[1]+t;return v.length>1?v[0]==v[1]?[y,m]:[y,m,v[1]*s[0]+e,v[1]*s[1]+t]:[y,m]},en=function(e,t,n){return t<=e&&e<=n||n<=e&&e<=t?e:e<=t&&t<=n||n<=t&&t<=e?t:n},tn=function(e,t,n,r,a,i,o,s,l){var u=e-a,c=n-e,d=o-a,h=t-i,p=r-t,f=s-i,g=d*h-f*u,v=c*h-p*u,y=f*c-d*p;if(0!==y){var m=g/y,b=v/y,x=-.001;return x<=m&&m<=1.001&&x<=b&&b<=1.001||l?[e+m*c,t+m*p]:[]}return 0===g||0===v?en(e,n,o)===o?[o,s]:en(e,n,a)===a?[a,i]:en(a,o,n)===n?[n,r]:[]:[]},nn=function(e,t,n,r,a,i,o,s){var l,u,c,d,h,p,f=[],g=new Array(n.length),v=!0;if(null==i&&(v=!1),v){for(var y=0;y0){var m=$t(g,-s);u=Zt(m)}else u=g}else u=n;for(var b=0;bu&&(u=t)},d=function(e){return l[e]},h=0;h0?x.edgesTo(b)[0]:b.edgesTo(x)[0];var w=r(m);b=b.id(),h[b]>h[v]+w&&(h[b]=h[v]+w,p.nodes.indexOf(b)<0?p.push(b):p.updateItem(b),u[b]=0,l[b]=[]),h[b]==h[v]+w&&(u[b]=u[b]+u[v],l[b].push(v))}else for(var E=0;E0;){for(var P=n.pop(),D=0;D0&&o.push(n[s]);0!==o.length&&a.push(r.collection(o))}return a}(c,l,t,r);return b=function(e){for(var t=0;t5&&void 0!==arguments[5]?arguments[5]:_n,o=r,s=0;s=2?An(e,t,n,0,Nn,In):An(e,t,n,0,Bn)},squaredEuclidean:function(e,t,n){return An(e,t,n,0,Nn)},manhattan:function(e,t,n){return An(e,t,n,0,Bn)},max:function(e,t,n){return An(e,t,n,-1/0,zn)}};function On(e,t,n,r,a,i){var o;return o=x(e)?e:Ln[e]||Ln.euclidean,0===t&&x(e)?o(a,i):o(t,n,r,a,i)}Ln["squared-euclidean"]=Ln.squaredEuclidean,Ln.squaredeuclidean=Ln.squaredEuclidean;var Rn=Ue({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),Vn=function(e){return Rn(e)},Fn=function(e,t,n,r,a){var i="kMedoids"!==a?function(e){return n[e]}:function(e){return r[e](n)},o=n,s=t;return On(e,r.length,i,(function(e){return r[e](t)}),o,s)},jn=function(e,t,n){for(var r=n.length,a=new Array(r),i=new Array(r),o=new Array(t),s=null,l=0;ln)return!1;return!0},Hn=function(e,t,n){for(var r=0;ra&&(a=t[l][u],i=u);o[i].push(e[l])}for(var c=0;c=a.threshold||"dendrogram"===a.mode&&1===e.length)return!1;var p,f=t[o],g=t[r[o]];p="dendrogram"===a.mode?{left:f,right:g,key:f.key}:{value:f.value.concat(g.value),key:f.key},e[f.index]=p,e.splice(g.index,1),t[f.key]=p;for(var v=0;vn[g.key][y.key]&&(i=n[g.key][y.key])):"max"===a.linkage?(i=n[f.key][y.key],n[f.key][y.key]o&&(i=l,o=t[a*e+l])}i>0&&r.push(i)}for(var u=0;u1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];arguments.length>3&&void 0!==arguments[3]&&!arguments[3]?(n0&&e.splice(0,t)):e=e.slice(t,n);for(var i=0,o=e.length-1;o>=0;o--){var s=e[o];a?isFinite(s)||(e[o]=-1/0,i++):e.splice(o,1)}r&&e.sort((function(e,t){return e-t}));var l=e.length,u=Math.floor(l/2);return l%2!=0?e[u+1+i]:(e[u-1+i]+e[u+i])/2}(e):"mean"===t?function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=0,a=0,i=t;i1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=1/0,a=t;a1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=-1/0,a=t;a=D?(T=D,D=M,_=B):M>T&&(T=M);for(var N=0;N0?1:0;C[E%u.minIterations*t+R]=V,O+=V}if(O>0&&(E>=u.minIterations-1||E==u.maxIterations-1)){for(var F=0,j=0;j0&&r.push(a);return r}(t,i,o),X=function(e,t,n){for(var r=ur(e,t,n),a=0;al&&(s=u,l=c)}n[a]=i[s]}return ur(e,t,n)}(t,r,Y),W={},H=0;H1)}}));var l=Object.keys(t).filter((function(e){return t[e].cutVertex})).map((function(t){return e.getElementById(t)}));return{cut:e.spawn(l),components:a}},fr=function(){var e=this,t={},n=0,r=[],a=[],i=e.spawn(e),o=function o(s){if(a.push(s),t[s]={index:n,low:n++,explored:!1},e.getElementById(s).connectedEdges().intersection(e).forEach((function(e){var n=e.target().id();n!==s&&(n in t||o(n),t[n].explored||(t[s].low=Math.min(t[s].low,t[n].low)))})),t[s].index===t[s].low){for(var l=e.spawn();;){var u=a.pop();if(l.merge(e.getElementById(u)),t[u].low=t[s].index,t[u].explored=!0,u===s)break}var c=l.edgesWith(l),d=l.merge(c);r.push(d),i=i.difference(d)}};return e.forEach((function(e){if(e.isNode()){var n=e.id();n in t||o(n)}})),{cut:i,components:r}},gr={};[it,ct,dt,pt,gt,yt,wt,hn,fn,vn,mn,Tn,Qn,or,dr,{hierholzer:function(e){if(!E(e)){var t=arguments;e={root:t[0],directed:t[1]}}var n,r,a,i=hr(e),o=i.root,s=i.directed,l=this,u=!1;o&&(a=b(o)?this.filter(o)[0].id():o[0].id());var c={},d={};s?l.forEach((function(e){var t=e.id();if(e.isNode()){var a=e.indegree(!0),i=e.outdegree(!0),o=a-i,s=i-a;1==o?n?u=!0:n=t:1==s?r?u=!0:r=t:(s>1||o>1)&&(u=!0),c[t]=[],e.outgoers().forEach((function(e){e.isEdge()&&c[t].push(e.id())}))}else d[t]=[void 0,e.target().id()]})):l.forEach((function(e){var t=e.id();e.isNode()?(e.degree(!0)%2&&(n?r?u=!0:r=t:n=t),c[t]=[],e.connectedEdges().forEach((function(e){return c[t].push(e.id())}))):d[t]=[e.source().id(),e.target().id()]}));var h={found:!1,trail:void 0};if(u)return h;if(r&&n)if(s){if(a&&r!=a)return h;a=r}else{if(a&&r!=a&&n!=a)return h;a||(a=r)}else a||(a=l[0].id());var p=function(e){for(var t,n,r,a=e,i=[e];c[a].length;)t=c[a].shift(),n=d[t][0],a!=(r=d[t][1])?(c[r]=c[r].filter((function(e){return e!=t})),a=r):s||a==n||(c[n]=c[n].filter((function(e){return e!=t})),a=n),i.unshift(t),i.unshift(a);return i},f=[],g=[];for(g=p(a);1!=g.length;)0==c[g[0]].length?(f.unshift(l.getElementById(g.shift())),f.unshift(l.getElementById(g.shift()))):g=p(g.shift()).concat(g);for(var v in f.unshift(l.getElementById(g.shift())),c)if(c[v].length)return h;return h.found=!0,h.trail=this.spawn(f,!0),h}},{hopcroftTarjanBiconnected:pr,htbc:pr,htb:pr,hopcroftTarjanBiconnectedComponents:pr},{tarjanStronglyConnected:fr,tsc:fr,tscc:fr,tarjanStronglyConnectedComponents:fr}].forEach((function(e){Y(gr,e)}));var vr=function e(t){if(!(this instanceof e))return new e(t);this.id="Thenable/1.0.7",this.state=0,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},"function"==typeof t&&t.call(this,this.fulfill.bind(this),this.reject.bind(this))};vr.prototype={fulfill:function(e){return yr(this,1,"fulfillValue",e)},reject:function(e){return yr(this,2,"rejectReason",e)},then:function(e,t){var n=this,r=new vr;return n.onFulfilled.push(xr(e,r,"fulfill")),n.onRejected.push(xr(t,r,"reject")),mr(n),r.proxy}};var yr=function(e,t,n,r){return 0===e.state&&(e.state=t,e[n]=r,mr(e)),e},mr=function(e){1===e.state?br(e,"onFulfilled",e.fulfillValue):2===e.state&&br(e,"onRejected",e.rejectReason)},br=function(e,t,n){if(0!==e[t].length){var r=e[t];e[t]=[];var a=function(){for(var e=0;e0:void 0}},clearQueue:function(){return function(){var e=this,t=void 0!==e.length?e:[e];if(!(this._private.cy||this).styleEnabled())return this;for(var n=0;n-1},Ur.prototype.set=function(e,t){var n=this.__data__,r=Kr(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this};var Zr=Ur,$r=Fr($,"Map"),Qr=function(e,t){var n,r,a=e.__data__;return("string"==(r=typeof(n=t))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?a["string"==typeof t?"string":"hash"]:a.map};function Jr(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t-1&&e%1==0&&e0&&this.spawn(r).updateStyle().emit("class"),t},addClass:function(e){return this.toggleClass(e,!0)},hasClass:function(e){var t=this[0];return null!=t&&t._private.classes.has(e)},toggleClass:function(e,t){w(e)||(e=e.match(/\S+/g)||[]);for(var n=this,r=void 0===t,a=[],i=0,o=n.length;i0&&this.spawn(a).updateStyle().emit("class"),n},removeClass:function(e){return this.toggleClass(e,!1)},flashClass:function(e,t){var n=this;if(null==t)t=250;else if(0===t)return n;return n.addClass(e),setTimeout((function(){n.removeClass(e)}),t),n}};Pa.className=Pa.classNames=Pa.classes;var Da={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:"\"(?:\\\\\"|[^\"])*\"|'(?:\\\\'|[^'])*'",number:O,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};Da.variable="(?:[\\w-.]|(?:\\\\"+Da.metaChar+"))+",Da.className="(?:[\\w-]|(?:\\\\"+Da.metaChar+"))+",Da.value=Da.string+"|"+Da.number,Da.id=Da.variable,function(){var e,t,n;for(e=Da.comparatorOp.split("|"),n=0;n=0||"="!==t&&(Da.comparatorOp+="|\\!"+t)}();var Ta=20,_a=[{selector:":selected",matches:function(e){return e.selected()}},{selector:":unselected",matches:function(e){return!e.selected()}},{selector:":selectable",matches:function(e){return e.selectable()}},{selector:":unselectable",matches:function(e){return!e.selectable()}},{selector:":locked",matches:function(e){return e.locked()}},{selector:":unlocked",matches:function(e){return!e.locked()}},{selector:":visible",matches:function(e){return e.visible()}},{selector:":hidden",matches:function(e){return!e.visible()}},{selector:":transparent",matches:function(e){return e.transparent()}},{selector:":grabbed",matches:function(e){return e.grabbed()}},{selector:":free",matches:function(e){return!e.grabbed()}},{selector:":removed",matches:function(e){return e.removed()}},{selector:":inside",matches:function(e){return!e.removed()}},{selector:":grabbable",matches:function(e){return e.grabbable()}},{selector:":ungrabbable",matches:function(e){return!e.grabbable()}},{selector:":animated",matches:function(e){return e.animated()}},{selector:":unanimated",matches:function(e){return!e.animated()}},{selector:":parent",matches:function(e){return e.isParent()}},{selector:":childless",matches:function(e){return e.isChildless()}},{selector:":child",matches:function(e){return e.isChild()}},{selector:":orphan",matches:function(e){return e.isOrphan()}},{selector:":nonorphan",matches:function(e){return e.isChild()}},{selector:":compound",matches:function(e){return e.isNode()?e.isParent():e.source().isParent()||e.target().isParent()}},{selector:":loop",matches:function(e){return e.isLoop()}},{selector:":simple",matches:function(e){return e.isSimple()}},{selector:":active",matches:function(e){return e.active()}},{selector:":inactive",matches:function(e){return!e.active()}},{selector:":backgrounding",matches:function(e){return e.backgrounding()}},{selector:":nonbackgrounding",matches:function(e){return!e.backgrounding()}}].sort((function(e,t){return function(e,t){return-1*q(e,t)}(e.selector,t.selector)})),Ma=function(){for(var e,t={},n=0;n<_a.length;n++)t[(e=_a[n]).selector]=e.matches;return t}(),Ba="("+_a.map((function(e){return e.selector})).join("|")+")",Na=function(e){return e.replace(new RegExp("\\\\("+Da.metaChar+")","g"),(function(e,t){return t}))},Ia=function(e,t,n){e[e.length-1]=n},za=[{name:"group",query:!0,regex:"("+Da.group+")",populate:function(e,t,n){var r=l(n,1)[0];t.checks.push({type:0,value:"*"===r?r:r+"s"})}},{name:"state",query:!0,regex:Ba,populate:function(e,t,n){var r=l(n,1)[0];t.checks.push({type:7,value:r})}},{name:"id",query:!0,regex:"\\#("+Da.id+")",populate:function(e,t,n){var r=l(n,1)[0];t.checks.push({type:8,value:Na(r)})}},{name:"className",query:!0,regex:"\\.("+Da.className+")",populate:function(e,t,n){var r=l(n,1)[0];t.checks.push({type:9,value:Na(r)})}},{name:"dataExists",query:!0,regex:"\\[\\s*("+Da.variable+")\\s*\\]",populate:function(e,t,n){var r=l(n,1)[0];t.checks.push({type:4,field:Na(r)})}},{name:"dataCompare",query:!0,regex:"\\[\\s*("+Da.variable+")\\s*("+Da.comparatorOp+")\\s*("+Da.value+")\\s*\\]",populate:function(e,t,n){var r=l(n,3),a=r[0],i=r[1],o=r[2];o=null!=new RegExp("^"+Da.string+"$").exec(o)?o.substring(1,o.length-1):parseFloat(o),t.checks.push({type:3,field:Na(a),operator:i,value:o})}},{name:"dataBool",query:!0,regex:"\\[\\s*("+Da.boolOp+")\\s*("+Da.variable+")\\s*\\]",populate:function(e,t,n){var r=l(n,2),a=r[0],i=r[1];t.checks.push({type:5,field:Na(i),operator:a})}},{name:"metaCompare",query:!0,regex:"\\[\\[\\s*("+Da.meta+")\\s*("+Da.comparatorOp+")\\s*("+Da.number+")\\s*\\]\\]",populate:function(e,t,n){var r=l(n,3),a=r[0],i=r[1],o=r[2];t.checks.push({type:6,field:Na(a),operator:i,value:parseFloat(o)})}},{name:"nextQuery",separator:!0,regex:Da.separator,populate:function(e,t){var n=e.currentSubject,r=e.edgeCount,a=e.compoundCount,i=e[e.length-1];return null!=n&&(i.subject=n,e.currentSubject=null),i.edgeCount=r,i.compoundCount=a,e.edgeCount=0,e.compoundCount=0,e[e.length++]={checks:[]}}},{name:"directedEdge",separator:!0,regex:Da.directedEdge,populate:function(e,t){if(null==e.currentSubject){var n={checks:[]},r=t,a={checks:[]};return n.checks.push({type:11,source:r,target:a}),Ia(e,0,n),e.edgeCount++,a}var i={checks:[]},o=t,s={checks:[]};return i.checks.push({type:12,source:o,target:s}),Ia(e,0,i),e.edgeCount++,s}},{name:"undirectedEdge",separator:!0,regex:Da.undirectedEdge,populate:function(e,t){if(null==e.currentSubject){var n={checks:[]},r=t,a={checks:[]};return n.checks.push({type:10,nodes:[r,a]}),Ia(e,0,n),e.edgeCount++,a}var i={checks:[]},o=t,s={checks:[]};return i.checks.push({type:14,node:o,neighbor:s}),Ia(e,0,i),s}},{name:"child",separator:!0,regex:Da.child,populate:function(e,t){if(null==e.currentSubject){var n={checks:[]},r={checks:[]},a=e[e.length-1];return n.checks.push({type:15,parent:a,child:r}),Ia(e,0,n),e.compoundCount++,r}if(e.currentSubject===t){var i={checks:[]},o=e[e.length-1],s={checks:[]},l={checks:[]},u={checks:[]},c={checks:[]};return i.checks.push({type:19,left:o,right:s,subject:l}),l.checks=t.checks,t.checks=[{type:Ta}],c.checks.push({type:Ta}),s.checks.push({type:17,parent:c,child:u}),Ia(e,0,i),e.currentSubject=l,e.compoundCount++,u}var d={checks:[]},h={checks:[]},p=[{type:17,parent:d,child:h}];return d.checks=t.checks,t.checks=p,e.compoundCount++,h}},{name:"descendant",separator:!0,regex:Da.descendant,populate:function(e,t){if(null==e.currentSubject){var n={checks:[]},r={checks:[]},a=e[e.length-1];return n.checks.push({type:16,ancestor:a,descendant:r}),Ia(e,0,n),e.compoundCount++,r}if(e.currentSubject===t){var i={checks:[]},o=e[e.length-1],s={checks:[]},l={checks:[]},u={checks:[]},c={checks:[]};return i.checks.push({type:19,left:o,right:s,subject:l}),l.checks=t.checks,t.checks=[{type:Ta}],c.checks.push({type:Ta}),s.checks.push({type:18,ancestor:c,descendant:u}),Ia(e,0,i),e.currentSubject=l,e.compoundCount++,u}var d={checks:[]},h={checks:[]},p=[{type:18,ancestor:d,descendant:h}];return d.checks=t.checks,t.checks=p,e.compoundCount++,h}},{name:"subject",modifier:!0,regex:Da.subject,populate:function(e,t){if(null!=e.currentSubject&&e.currentSubject!==t)return Xe("Redefinition of subject in selector `"+e.toString()+"`"),!1;e.currentSubject=t;var n=e[e.length-1].checks[0],r=null==n?null:n.type;11===r?n.type=13:10===r&&(n.type=14,n.node=n.nodes[1],n.neighbor=n.nodes[0],n.nodes=null)}}];za.forEach((function(e){return e.regexObj=new RegExp("^"+e.regex)}));var Aa=function(e){for(var t,n,r,a=0;a0&&u.edgeCount>0)return Xe("The selector `"+e+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(u.edgeCount>1)return Xe("The selector `"+e+"` is invalid because it uses multiple edge selectors"),!1;1===u.edgeCount&&Xe("The selector `"+e+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},toString:function(){if(null!=this.toStringCache)return this.toStringCache;for(var e=function(e){return null==e?"":e},t=function(t){return b(t)?'"'+t+'"':e(t)},n=function(e){return" "+e+" "},r=function(a,i){return a.checks.reduce((function(o,s,l){return o+(i===a&&0===l?"$":"")+function(a,i){var o=a.type,s=a.value;switch(o){case 0:var l=e(s);return l.substring(0,l.length-1);case 3:var u=a.field,c=a.operator;return"["+u+n(e(c))+t(s)+"]";case 5:var d=a.operator,h=a.field;return"["+e(d)+h+"]";case 4:return"["+a.field+"]";case 6:var p=a.operator;return"[["+a.field+n(e(p))+t(s)+"]]";case 7:return s;case 8:return"#"+s;case 9:return"."+s;case 17:case 15:return r(a.parent,i)+n(">")+r(a.child,i);case 18:case 16:return r(a.ancestor,i)+" "+r(a.descendant,i);case 19:var f=r(a.left,i),g=r(a.subject,i),v=r(a.right,i);return f+(f.length>0?" ":"")+g+v;case Ta:return""}}(s,i)}),"")},a="",i=0;i1&&i=0&&(t=t.replace("!",""),c=!0),t.indexOf("@")>=0&&(t=t.replace("@",""),u=!0),(o||l||u)&&(a=o||s?""+e:"",i=""+n),u&&(e=a=a.toLowerCase(),n=i=i.toLowerCase()),t){case"*=":r=a.indexOf(i)>=0;break;case"$=":r=a.indexOf(i,a.length-i.length)>=0;break;case"^=":r=0===a.indexOf(i);break;case"=":r=e===n;break;case">":d=!0,r=e>n;break;case">=":d=!0,r=e>=n;break;case"<":d=!0,r=e0;){var u=a.shift();t(u),i.add(u.id()),o&&r(a,i,u)}return e}function Za(e,t,n){if(n.isParent())for(var r=n._private.children,a=0;a1&&void 0!==arguments[1])||arguments[1],Za)},Ga.forEachUp=function(e){return Ua(this,e,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],$a)},Ga.forEachUpAndDown=function(e){return Ua(this,e,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],Qa)},Ga.ancestors=Ga.parents,(Wa=Ha={data:Ca.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:Ca.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:Ca.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:Ca.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:Ca.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:Ca.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var e=this[0];if(e)return e._private.data.id}}).attr=Wa.data,Wa.removeAttr=Wa.removeData;var Ja,ei,ti=Ha,ni={};function ri(e){return function(t){var n=this;if(void 0===t&&(t=!0),0!==n.length&&n.isNode()&&!n.removed()){for(var r=0,a=n[0],i=a._private.edges,o=0;ot})),minIndegree:ai("indegree",(function(e,t){return et})),minOutdegree:ai("outdegree",(function(e,t){return et}))}),Y(ni,{totalDegree:function(e){for(var t=0,n=this.nodes(),r=0;r0,c=u;u&&(l=l[0]);var d=c?l.position():{x:0,y:0};return a={x:s.x-d.x,y:s.y-d.y},void 0===e?a:a[e]}for(var h=0;h0,v=g;g&&(f=f[0]);var y=v?f.position():{x:0,y:0};void 0!==t?p.position(e,t+y[e]):void 0!==a&&p.position({x:a.x+y.x,y:a.y+y.y})}}else if(!i)return;return this}},Ja.modelPosition=Ja.point=Ja.position,Ja.modelPositions=Ja.points=Ja.positions,Ja.renderedPoint=Ja.renderedPosition,Ja.relativePoint=Ja.relativePosition;var si,li,ui=ei;si=li={},li.renderedBoundingBox=function(e){var t=this.boundingBox(e),n=this.cy(),r=n.zoom(),a=n.pan(),i=t.x1*r+a.x,o=t.x2*r+a.x,s=t.y1*r+a.y,l=t.y2*r+a.y;return{x1:i,x2:o,y1:s,y2:l,w:o-i,h:l-s}},li.dirtyCompoundBoundsCache=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.cy();return t.styleEnabled()&&t.hasCompoundNodes()?(this.forEachUp((function(t){if(t.isParent()){var n=t._private;n.compoundBoundsClean=!1,n.bbCache=null,e||t.emitAndNotify("bounds")}})),this):this},li.updateCompoundBounds=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.cy();if(!t.styleEnabled()||!t.hasCompoundNodes())return this;if(!e&&t.batching())return this;function n(e){if(e.isParent()){var t=e._private,n=e.children(),r="include"===e.pstyle("compound-sizing-wrt-labels").value,a={width:{val:e.pstyle("min-width").pfValue,left:e.pstyle("min-width-bias-left"),right:e.pstyle("min-width-bias-right")},height:{val:e.pstyle("min-height").pfValue,top:e.pstyle("min-height-bias-top"),bottom:e.pstyle("min-height-bias-bottom")}},i=n.boundingBox({includeLabels:r,includeOverlays:!1,useCache:!1}),o=t.position;0!==i.w&&0!==i.h||((i={w:e.pstyle("width").pfValue,h:e.pstyle("height").pfValue}).x1=o.x-i.w/2,i.x2=o.x+i.w/2,i.y1=o.y-i.h/2,i.y2=o.y+i.h/2);var s=a.width.left.value;"px"===a.width.left.units&&a.width.val>0&&(s=100*s/a.width.val);var l=a.width.right.value;"px"===a.width.right.units&&a.width.val>0&&(l=100*l/a.width.val);var u=a.height.top.value;"px"===a.height.top.units&&a.height.val>0&&(u=100*u/a.height.val);var c=a.height.bottom.value;"px"===a.height.bottom.units&&a.height.val>0&&(c=100*c/a.height.val);var d=y(a.width.val-i.w,s,l),h=d.biasDiff,p=d.biasComplementDiff,f=y(a.height.val-i.h,u,c),g=f.biasDiff,v=f.biasComplementDiff;t.autoPadding=function(e,t,n,r){if("%"!==n.units)return"px"===n.units?n.pfValue:0;switch(r){case"width":return e>0?n.pfValue*e:0;case"height":return t>0?n.pfValue*t:0;case"average":return e>0&&t>0?n.pfValue*(e+t)/2:0;case"min":return e>0&&t>0?e>t?n.pfValue*t:n.pfValue*e:0;case"max":return e>0&&t>0?e>t?n.pfValue*e:n.pfValue*t:0;default:return 0}}(i.w,i.h,e.pstyle("padding"),e.pstyle("padding-relative-to").value),t.autoWidth=Math.max(i.w,a.width.val),o.x=(-h+i.x1+i.x2+p)/2,t.autoHeight=Math.max(i.h,a.height.val),o.y=(-g+i.y1+i.y2+v)/2}function y(e,t,n){var r=0,a=0,i=t+n;return e>0&&i>0&&(r=t/i*e,a=n/i*e),{biasDiff:r,biasComplementDiff:a}}}for(var r=0;re.x2?r:e.x2,e.y1=ne.y2?a:e.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1)},hi=function(e,t){return null==t?e:di(e,t.x1,t.y1,t.x2,t.y2)},pi=function(e,t,n){return Qe(e,t,n)},fi=function(e,t,n){if(!t.cy().headless()){var r,a,i=t._private,o=i.rstyle,s=o.arrowWidth/2;if("none"!==t.pstyle(n+"-arrow-shape").value){"source"===n?(r=o.srcX,a=o.srcY):"target"===n?(r=o.tgtX,a=o.tgtY):(r=o.midX,a=o.midY);var l=i.arrowBounds=i.arrowBounds||{},u=l[n]=l[n]||{};u.x1=r-s,u.y1=a-s,u.x2=r+s,u.y2=a+s,u.w=u.x2-u.x1,u.h=u.y2-u.y1,Ot(u,1),di(e,u.x1,u.y1,u.x2,u.y2)}}},gi=function(e,t,n){if(!t.cy().headless()){var r;r=n?n+"-":"";var a=t._private,i=a.rstyle;if(t.pstyle(r+"label").strValue){var o,s,l,u,c=t.pstyle("text-halign"),d=t.pstyle("text-valign"),h=pi(i,"labelWidth",n),p=pi(i,"labelHeight",n),f=pi(i,"labelX",n),g=pi(i,"labelY",n),v=t.pstyle(r+"text-margin-x").pfValue,y=t.pstyle(r+"text-margin-y").pfValue,m=t.isEdge(),b=t.pstyle(r+"text-rotation"),x=t.pstyle("text-outline-width").pfValue,w=t.pstyle("text-border-width").pfValue/2,E=t.pstyle("text-background-padding").pfValue,k=p,C=h,S=C/2,P=k/2;if(m)o=f-S,s=f+S,l=g-P,u=g+P;else{switch(c.value){case"left":o=f-C,s=f;break;case"center":o=f-S,s=f+S;break;case"right":o=f,s=f+C}switch(d.value){case"top":l=g-k,u=g;break;case"center":l=g-P,u=g+P;break;case"bottom":l=g,u=g+k}}var D=v-Math.max(x,w)-E-2,T=v+Math.max(x,w)+E+2,_=y-Math.max(x,w)-E-2,M=y+Math.max(x,w)+E+2;o+=D,s+=T,l+=_,u+=M;var B=n||"main",N=a.labelBounds,I=N[B]=N[B]||{};I.x1=o,I.y1=l,I.x2=s,I.y2=u,I.w=s-o,I.h=u-l,I.leftPad=D,I.rightPad=T,I.topPad=_,I.botPad=M;var z=m&&"autorotate"===b.strValue,A=null!=b.pfValue&&0!==b.pfValue;if(z||A){var L=z?pi(a.rstyle,"labelAngle",n):b.pfValue,O=Math.cos(L),R=Math.sin(L),V=(o+s)/2,F=(l+u)/2;if(!m){switch(c.value){case"left":V=s;break;case"right":V=o}switch(d.value){case"top":F=u;break;case"bottom":F=l}}var j=function(e,t){return{x:(e-=V)*O-(t-=F)*R+V,y:e*R+t*O+F}},q=j(o,l),Y=j(o,u),X=j(s,l),W=j(s,u);o=Math.min(q.x,Y.x,X.x,W.x),s=Math.max(q.x,Y.x,X.x,W.x),l=Math.min(q.y,Y.y,X.y,W.y),u=Math.max(q.y,Y.y,X.y,W.y)}var H=B+"Rot",K=N[H]=N[H]||{};K.x1=o,K.y1=l,K.x2=s,K.y2=u,K.w=s-o,K.h=u-l,di(e,o,l,s,u),di(a.labelBounds.all,o,l,s,u)}return e}},vi=function(e){var t=0,n=function(e){return(e?1:0)<0&&i>0){var o=t.pstyle("outline-offset").value,s=t.pstyle("shape").value,l=i+o,u=(e.w+2*l)/e.w,c=(e.h+2*l)/e.h,d=0;["diamond","pentagon","round-triangle"].includes(s)?(u=(e.w+2.4*l)/e.w,d=-l/3.6):["concave-hexagon","rhomboid","right-rhomboid"].includes(s)?u=(e.w+2.4*l)/e.w:"star"===s?(u=(e.w+2.8*l)/e.w,c=(e.h+2.6*l)/e.h,d=-l/3.8):"triangle"===s?(u=(e.w+2.8*l)/e.w,c=(e.h+2.4*l)/e.h,d=-l/1.4):"vee"===s&&(u=(e.w+4.4*l)/e.w,c=(e.h+3.8*l)/e.h,d=.5*-l);var h=e.h*c-e.h,p=e.w*u-e.w;if(Rt(e,[Math.ceil(h/2),Math.ceil(p/2)]),0!==d){var f=(r=d,{x1:(n=e).x1+0,x2:n.x2+0,y1:n.y1+r,y2:n.y2+r,w:n.w,h:n.h});At(e,f)}}}}(h,e)}else if(g&&t.includeEdges)if(c&&!d){var D=e.pstyle("curve-style").strValue;if(n=Math.min(v.srcX,v.midX,v.tgtX),r=Math.max(v.srcX,v.midX,v.tgtX),a=Math.min(v.srcY,v.midY,v.tgtY),i=Math.max(v.srcY,v.midY,v.tgtY),di(h,n-=k,a-=k,r+=k,i+=k),"haystack"===D){var T=v.haystackPts;if(T&&2===T.length){if(n=T[0].x,a=T[0].y,n>(r=T[1].x)){var _=n;n=r,r=_}if(a>(i=T[1].y)){var M=a;a=i,i=M}di(h,n-k,a-k,r+k,i+k)}}else if("bezier"===D||"unbundled-bezier"===D||D.endsWith("segments")||D.endsWith("taxi")){var B;switch(D){case"bezier":case"unbundled-bezier":B=v.bezierPts;break;case"segments":case"taxi":case"round-segments":case"round-taxi":B=v.linePts}if(null!=B)for(var N=0;N(r=A.x)){var L=n;n=r,r=L}if((a=z.y)>(i=A.y)){var O=a;a=i,i=O}di(h,n-=k,a-=k,r+=k,i+=k)}if(c&&t.includeEdges&&g&&(fi(h,e,"mid-source"),fi(h,e,"mid-target"),fi(h,e,"source"),fi(h,e,"target")),c&&"yes"===e.pstyle("ghost").value){var R=e.pstyle("ghost-offset-x").pfValue,V=e.pstyle("ghost-offset-y").pfValue;di(h,h.x1+R,h.y1+V,h.x2+R,h.y2+V)}var F=p.bodyBounds=p.bodyBounds||{};Vt(F,h),Rt(F,y),Ot(F,1),c&&(n=h.x1,r=h.x2,a=h.y1,i=h.y2,di(h,n-E,a-E,r+E,i+E));var j=p.overlayBounds=p.overlayBounds||{};Vt(j,h),Rt(j,y),Ot(j,1);var q=p.labelBounds=p.labelBounds||{};null!=q.all?((l=q.all).x1=1/0,l.y1=1/0,l.x2=-1/0,l.y2=-1/0,l.w=0,l.h=0):q.all=zt(),c&&t.includeLabels&&(t.includeMainLabels&&gi(h,e,null),g&&(t.includeSourceLabels&&gi(h,e,"source"),t.includeTargetLabels&&gi(h,e,"target")))}return h.x1=ci(h.x1),h.y1=ci(h.y1),h.x2=ci(h.x2),h.y2=ci(h.y2),h.w=ci(h.x2-h.x1),h.h=ci(h.y2-h.y1),h.w>0&&h.h>0&&b&&(Rt(h,y),Ot(h,1)),h}(e,bi),r.bbCache=n,r.bbCachePosKey=o):n=r.bbCache,!i){var c=e.isNode();n=zt(),(t.includeNodes&&c||t.includeEdges&&!c)&&(t.includeOverlays?hi(n,r.overlayBounds):hi(n,r.bodyBounds)),t.includeLabels&&(t.includeMainLabels&&(!a||t.includeSourceLabels&&t.includeTargetLabels)?hi(n,r.labelBounds.all):(t.includeMainLabels&&hi(n,r.labelBounds.mainRot),t.includeSourceLabels&&hi(n,r.labelBounds.sourceRot),t.includeTargetLabels&&hi(n,r.labelBounds.targetRot))),n.w=n.x2-n.x1,n.h=n.y2-n.y1}return n},bi={includeNodes:!0,includeEdges:!0,includeLabels:!0,includeMainLabels:!0,includeSourceLabels:!0,includeTargetLabels:!0,includeOverlays:!0,includeUnderlays:!0,includeOutlines:!0,useCache:!0},xi=vi(bi),wi=Ue(bi);li.boundingBox=function(e){var t;if(1!==this.length||null==this[0]._private.bbCache||this[0]._private.styleDirty||void 0!==e&&void 0!==e.useCache&&!0!==e.useCache){t=zt();var n=wi(e=e||bi),r=this;if(r.cy().styleEnabled())for(var a=0;a0&&void 0!==arguments[0]?arguments[0]:Li,t=arguments.length>1?arguments[1]:void 0,n=0;n=0;s--)o(s);return this},Ri.removeAllListeners=function(){return this.removeListener("*")},Ri.emit=Ri.trigger=function(e,t,n){var r=this.listeners,a=r.length;return this.emitting++,w(t)||(t=[t]),function(e,t,n){if("event"!==m(n))if(E(n))t(e,Fi(e,n));else for(var r=w(n)?n:n.split(/\s+/),a=0;a1&&!r){var a=this.length-1,i=this[a],o=i._private.data.id;this[a]=void 0,this[e]=i,n.set(o,{ele:i,index:e})}return this.length--,this},unmergeOne:function(e){e=e[0];var t=this._private,n=e._private.data.id,r=t.map.get(n);if(!r)return this;var a=r.index;return this.unmergeAt(a),this},unmerge:function(e){var t=this._private.cy;if(!e)return this;if(e&&b(e)){var n=e;e=t.mutableElements().filter(n)}for(var r=0;r=0;t--)e(this[t])&&this.unmergeAt(t);return this},map:function(e,t){for(var n=[],r=this,a=0;ar&&(r=s,n=o)}return{value:r,ele:n}},min:function(e,t){for(var n,r=1/0,a=this,i=0;i=0&&a1&&void 0!==arguments[1])||arguments[1],n=this[0],r=n.cy();if(r.styleEnabled()&&n){this.cleanStyle();var a=n._private.style[e];return null!=a?a:t?r.style().getDefaultProperty(e):null}},numericStyle:function(e){var t=this[0];if(t.cy().styleEnabled()&&t){var n=t.pstyle(e);return void 0!==n.pfValue?n.pfValue:n.value}},numericStyleUnits:function(e){var t=this[0];if(t.cy().styleEnabled())return t?t.pstyle(e).units:void 0},renderedStyle:function(e){var t=this.cy();if(!t.styleEnabled())return this;var n=this[0];return n?t.style().getRenderedStyle(n,e):void 0},style:function(e,t){var n=this.cy();if(!n.styleEnabled())return this;var r=!1,a=n.style();if(E(e)){var i=e;a.applyBypass(this,i,r),this.emitAndNotify("style")}else if(b(e)){if(void 0===t){var o=this[0];return o?a.getStylePropertyValue(o,e):void 0}a.applyBypass(this,e,t,r),this.emitAndNotify("style")}else if(void 0===e){var s=this[0];return s?a.getRawStyle(s):void 0}return this},removeStyle:function(e){var t=this.cy();if(!t.styleEnabled())return this;var n=!1,r=t.style(),a=this;if(void 0===e)for(var i=0;i0&&t.push(c[0]),t.push(s[0])}return this.spawn(t,!0).filter(e)}),"neighborhood"),closedNeighborhood:function(e){return this.neighborhood().add(this).filter(e)},openNeighborhood:function(e){return this.neighborhood(e)}}),ho.neighbourhood=ho.neighborhood,ho.closedNeighbourhood=ho.closedNeighborhood,ho.openNeighbourhood=ho.openNeighborhood,Y(ho,{source:Ka((function(e){var t,n=this[0];return n&&(t=n._private.source||n.cy().collection()),t&&e?t.filter(e):t}),"source"),target:Ka((function(e){var t,n=this[0];return n&&(t=n._private.target||n.cy().collection()),t&&e?t.filter(e):t}),"target"),sources:vo({attr:"source"}),targets:vo({attr:"target"})}),Y(ho,{edgesWith:Ka(yo(),"edgesWith"),edgesTo:Ka(yo({thisIsSrc:!0}),"edgesTo")}),Y(ho,{connectedEdges:Ka((function(e){for(var t=[],n=0;n0);return i},component:function(){var e=this[0];return e.cy().mutableElements().components(e)[0]}}),ho.componentsOf=ho.components;var bo=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(void 0!==e){var a=new et,i=!1;if(t){if(t.length>0&&E(t[0])&&!P(t[0])){i=!0;for(var o=[],s=new nt,l=0,u=t.length;l0&&void 0!==arguments[0])||arguments[0],r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],a=this,i=a.cy(),o=i._private,s=[],l=[],u=0,c=a.length;u0){for(var O=e.length===a.length?a:new bo(i,e),R=0;R0&&void 0!==arguments[0])||arguments[0],t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=this,r=[],a={},i=n._private.cy;function o(e){var n=a[e.id()];t&&e.removed()||n||(a[e.id()]=!0,e.isNode()?(r.push(e),function(e){for(var t=e._private.edges,n=0;n0&&(e?k.emitAndNotify("remove"):t&&k.emit("remove"));for(var C=0;C=.001?function(t,r){for(var a=0;a<4;++a){var i=h(r,e,n);if(0===i)return r;r-=(d(r,e,n)-t)/i}return r}(t,o):0===l?o:function(t,r,a){var i,o,s=0;do{(i=d(o=r+(a-r)/2,e,n)-t)>0?a=o:r=o}while(Math.abs(i)>1e-7&&++s<10);return o}(t,r,r+a)}(i),t,r)};f.getControlPoints=function(){return[{x:e,y:t},{x:n,y:r}]};var g="generateBezier("+[e,t,n,r]+")";return f.toString=function(){return g},f}var ko=function(){function e(e){return-e.tension*e.x-e.friction*e.v}function t(t,n,r){var a={x:t.x+r.dx*n,v:t.v+r.dv*n,tension:t.tension,friction:t.friction};return{dx:a.v,dv:e(a)}}function n(n,r){var a={dx:n.v,dv:e(n)},i=t(n,.5*r,a),o=t(n,.5*r,i),s=t(n,r,o),l=1/6*(a.dx+2*(i.dx+o.dx)+s.dx),u=1/6*(a.dv+2*(i.dv+o.dv)+s.dv);return n.x=n.x+l*r,n.v=n.v+u*r,n}return function e(t,r,a){var i,o,s,l={x:-1,v:0,tension:null,friction:null},u=[0],c=0,d=1e-4;for(t=parseFloat(t)||500,r=parseFloat(r)||20,a=a||null,l.tension=t,l.friction=r,o=(i=null!==a)?(c=e(t,r))/a*.016:.016;s=n(s||l,o),u.push(1+s.x),c+=16,Math.abs(s.x)>d&&Math.abs(s.v)>d;);return i?function(e){return u[e*(u.length-1)|0]}:c}}(),Co=function(e,t,n,r){var a=Eo(e,t,n,r);return function(e,t,n){return e+(t-e)*a(n)}},So={linear:function(e,t,n){return e+(t-e)*n},ease:Co(.25,.1,.25,1),"ease-in":Co(.42,0,1,1),"ease-out":Co(0,0,.58,1),"ease-in-out":Co(.42,0,.58,1),"ease-in-sine":Co(.47,0,.745,.715),"ease-out-sine":Co(.39,.575,.565,1),"ease-in-out-sine":Co(.445,.05,.55,.95),"ease-in-quad":Co(.55,.085,.68,.53),"ease-out-quad":Co(.25,.46,.45,.94),"ease-in-out-quad":Co(.455,.03,.515,.955),"ease-in-cubic":Co(.55,.055,.675,.19),"ease-out-cubic":Co(.215,.61,.355,1),"ease-in-out-cubic":Co(.645,.045,.355,1),"ease-in-quart":Co(.895,.03,.685,.22),"ease-out-quart":Co(.165,.84,.44,1),"ease-in-out-quart":Co(.77,0,.175,1),"ease-in-quint":Co(.755,.05,.855,.06),"ease-out-quint":Co(.23,1,.32,1),"ease-in-out-quint":Co(.86,0,.07,1),"ease-in-expo":Co(.95,.05,.795,.035),"ease-out-expo":Co(.19,1,.22,1),"ease-in-out-expo":Co(1,0,0,1),"ease-in-circ":Co(.6,.04,.98,.335),"ease-out-circ":Co(.075,.82,.165,1),"ease-in-out-circ":Co(.785,.135,.15,.86),spring:function(e,t,n){if(0===n)return So.linear;var r=ko(e,t,n);return function(e,t,n){return e+(t-e)*r(n)}},"cubic-bezier":Co};function Po(e,t,n,r,a){if(1===r)return n;if(t===n)return n;var i=a(t,n,r);return null==e||((e.roundValue||e.color)&&(i=Math.round(i)),void 0!==e.min&&(i=Math.max(i,e.min)),void 0!==e.max&&(i=Math.min(i,e.max))),i}function Do(e,t){return null!=e.pfValue||null!=e.value?null==e.pfValue||null!=t&&"%"===t.type.units?e.value:e.pfValue:e}function To(e,t,n,r,a){var i=null!=a?a.type:null;n<0?n=0:n>1&&(n=1);var o=Do(e,a),s=Do(t,a);if(k(o)&&k(s))return Po(i,o,s,n,r);if(w(o)&&w(s)){for(var l=[],u=0;u0?("spring"===d&&h.push(o.duration),o.easingImpl=So[d].apply(null,h)):o.easingImpl=So[d]}var p,f=o.easingImpl;if(p=0===o.duration?1:(n-l)/o.duration,o.applying&&(p=o.progress),p<0?p=0:p>1&&(p=1),null==o.delay){var g=o.startPosition,v=o.position;if(v&&a&&!e.locked()){var y={};Mo(g.x,v.x)&&(y.x=To(g.x,v.x,p,f)),Mo(g.y,v.y)&&(y.y=To(g.y,v.y,p,f)),e.position(y)}var m=o.startPan,x=o.pan,w=i.pan,E=null!=x&&r;E&&(Mo(m.x,x.x)&&(w.x=To(m.x,x.x,p,f)),Mo(m.y,x.y)&&(w.y=To(m.y,x.y,p,f)),e.emit("pan"));var k=o.startZoom,C=o.zoom,S=null!=C&&r;S&&(Mo(k,C)&&(i.zoom=It(i.minZoom,To(k,C,p,f),i.maxZoom)),e.emit("zoom")),(E||S)&&e.emit("viewport");var P=o.style;if(P&&P.length>0&&a){for(var D=0;D=0;t--)(0,e[t])();e.splice(0,e.length)},c=i.length-1;c>=0;c--){var d=i[c],h=d._private;h.stopped?(i.splice(c,1),h.hooked=!1,h.playing=!1,h.started=!1,u(h.frames)):(h.playing||h.applying)&&(h.playing&&h.applying&&(h.applying=!1),h.started||Bo(0,d,e),_o(t,d,e,n),h.applying&&(h.applying=!1),u(h.frames),null!=h.step&&h.step(e),d.completed()&&(i.splice(c,1),h.hooked=!1,h.playing=!1,h.started=!1,u(h.completes)),s=!0)}return n||0!==i.length||0!==o.length||r.push(t),s}for(var i=!1,o=0;o0?t.notify("draw",n):t.notify("draw")),n.unmerge(r),t.emit("step")}var Io={animate:Ca.animate(),animation:Ca.animation(),animated:Ca.animated(),clearQueue:Ca.clearQueue(),delay:Ca.delay(),delayAnimation:Ca.delayAnimation(),stop:Ca.stop(),addToAnimationPool:function(e){this.styleEnabled()&&this._private.aniEles.merge(e)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var e=this;if(e._private.animationsRunning=!0,e.styleEnabled()){var t=e.renderer();t&&t.beforeRender?t.beforeRender((function(t,n){No(n,e)}),t.beforeRenderPriorities.animations):function t(){e._private.animationsRunning&&Ee((function(n){No(n,e),t()}))}()}}},zo={qualifierCompare:function(e,t){return null==e||null==t?null==e&&null==t:e.sameText(t)},eventMatches:function(e,t,n){var r=t.qualifier;return null==r||e!==n.target&&P(n.target)&&r.matches(n.target)},addEventFields:function(e,t){t.cy=e,t.target=e},callbackContext:function(e,t,n){return null!=t.qualifier?n.target:e}},Ao=function(e){return b(e)?new qa(e):e},Lo={createEmitter:function(){var e=this._private;return e.emitter||(e.emitter=new Oi(zo,this)),this},emitter:function(){return this._private.emitter},on:function(e,t,n){return this.emitter().on(e,Ao(t),n),this},removeListener:function(e,t,n){return this.emitter().removeListener(e,Ao(t),n),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(e,t,n){return this.emitter().one(e,Ao(t),n),this},once:function(e,t,n){return this.emitter().one(e,Ao(t),n),this},emit:function(e,t){return this.emitter().emit(e,t),this},emitAndNotify:function(e,t){return this.emit(e),this.notify(e,t),this}};Ca.eventAliasesOn(Lo);var Oo={png:function(e){return e=e||{},this._private.renderer.png(e)},jpg:function(e){var t=this._private.renderer;return(e=e||{}).bg=e.bg||"#fff",t.jpg(e)}};Oo.jpeg=Oo.jpg;var Ro={layout:function(e){var t=this;if(null!=e)if(null!=e.name){var n,r=e.name,a=t.extension("layout",r);if(null!=a)return n=b(e.eles)?t.$(e.eles):null!=e.eles?e.eles:t.$(),new a(Y({},e,{cy:t,eles:n}));qe("No such layout `"+r+"` found. Did you forget to import it and `cytoscape.use()` it?")}else qe("A `name` must be specified to make a layout");else qe("Layout options must be specified to make a layout")}};Ro.createLayout=Ro.makeLayout=Ro.layout;var Vo={notify:function(e,t){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var r=n.batchNotifications[e]=n.batchNotifications[e]||this.collection();null!=t&&r.merge(t)}else if(n.notificationsEnabled){var a=this.renderer();!this.destroyed()&&a&&a.notify(e,t)}},notifications:function(e){var t=this._private;return void 0===e?t.notificationsEnabled:(t.notificationsEnabled=!!e,this)},noNotifications:function(e){this.notifications(!1),e(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var e=this._private;return null==e.batchCount&&(e.batchCount=0),0===e.batchCount&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},endBatch:function(){var e=this._private;if(0===e.batchCount)return this;if(e.batchCount--,0===e.batchCount){e.batchStyleEles.updateStyle();var t=this.renderer();Object.keys(e.batchNotifications).forEach((function(n){var r=e.batchNotifications[n];r.empty()?t.notify(n):t.notify(n,r)}))}return this},batch:function(e){return this.startBatch(),e(),this.endBatch(),this},batchData:function(e){var t=this;return this.batch((function(){for(var n=Object.keys(e),r=0;r0;)t.removeChild(t.childNodes[0]);e._private.renderer=null,e.mutableElements().forEach((function(e){var t=e._private;t.rscratch={},t.rstyle={},t.animation.current=[],t.animation.queue=[]}))},onRender:function(e){return this.on("render",e)},offRender:function(e){return this.off("render",e)}};jo.invalidateDimensions=jo.resize;var qo={collection:function(e,t){return b(e)?this.$(e):S(e)?e.collection():w(e)?(t||(t={}),new bo(this,e,t.unique,t.removed)):new bo(this)},nodes:function(e){var t=this.$((function(e){return e.isNode()}));return e?t.filter(e):t},edges:function(e){var t=this.$((function(e){return e.isEdge()}));return e?t.filter(e):t},$:function(e){var t=this._private.elements;return e?t.filter(e):t.spawnSelf()},mutableElements:function(){return this._private.elements}};qo.elements=qo.filter=qo.$;var Yo={},Xo="t";Yo.apply=function(e){for(var t=this,n=t._private.cy.collection(),r=0;r0;if(h||d&&p){var f=void 0;h&&p||h?f=u.properties:p&&(f=u.mappedProperties);for(var g=0;g1&&(v=1),s.color){var w=a.valueMin[0],E=a.valueMax[0],C=a.valueMin[1],S=a.valueMax[1],P=a.valueMin[2],D=a.valueMax[2],T=null==a.valueMin[3]?1:a.valueMin[3],_=null==a.valueMax[3]?1:a.valueMax[3],M=[Math.round(w+(E-w)*v),Math.round(C+(S-C)*v),Math.round(P+(D-P)*v),Math.round(T+(_-T)*v)];n={bypass:a.bypass,name:a.name,value:M,strValue:"rgb("+M[0]+", "+M[1]+", "+M[2]+")"}}else{if(!s.number)return!1;var B=a.valueMin+(a.valueMax-a.valueMin)*v;n=this.parse(a.name,B,a.bypass,h)}if(!n)return g(),!1;n.mapping=a,a=n;break;case o.data:for(var N=a.field.split("."),I=d.data,z=0;z0&&i>0){for(var s={},l=!1,u=0;u0?e.delayAnimation(o).play().promise().then(t):t()})).then((function(){return e.animation({style:s,duration:i,easing:e.pstyle("transition-timing-function").value,queue:!1}).play().promise()})).then((function(){n.removeBypasses(e,a),e.emitAndNotify("style"),r.transitioning=!1}))}else r.transitioning&&(this.removeBypasses(e,a),e.emitAndNotify("style"),r.transitioning=!1)},Yo.checkTrigger=function(e,t,n,r,a,i){var o=this.properties[t],s=a(o);null!=s&&s(n,r)&&i(o)},Yo.checkZOrderTrigger=function(e,t,n,r){var a=this;this.checkTrigger(e,t,n,r,(function(e){return e.triggersZOrder}),(function(){a._private.cy.notify("zorder",e)}))},Yo.checkBoundsTrigger=function(e,t,n,r){this.checkTrigger(e,t,n,r,(function(e){return e.triggersBounds}),(function(a){e.dirtyCompoundBoundsCache(),e.dirtyBoundingBoxCache(),!a.triggersBoundsOfParallelBeziers||"curve-style"!==t||"bezier"!==n&&"bezier"!==r||e.parallelEdges().forEach((function(e){e.dirtyBoundingBoxCache()})),!a.triggersBoundsOfConnectedEdges||"display"!==t||"none"!==n&&"none"!==r||e.connectedEdges().forEach((function(e){e.dirtyBoundingBoxCache()}))}))},Yo.checkTriggers=function(e,t,n,r){e.dirtyStyleCache(),this.checkZOrderTrigger(e,t,n,r),this.checkBoundsTrigger(e,t,n,r)};var Wo={applyBypass:function(e,t,n,r){var a=[];if("*"===t||"**"===t){if(void 0!==n)for(var i=0;it.length?i.substr(t.length):""}function s(){n=n.length>r.length?n.substr(r.length):""}for(i=i.replace(/[/][*](\s|.)+?[*][/]/g,"");!i.match(/^\s*$/);){var l=i.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!l){Xe("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+i);break}t=l[0];var u=l[1];if("core"!==u&&new qa(u).invalid)Xe("Skipping parsing of block: Invalid selector found in string stylesheet: "+u),o();else{var c=l[2],d=!1;n=c;for(var h=[];!n.match(/^\s*$/);){var p=n.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!p){Xe("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+c),d=!0;break}r=p[0];var f=p[1],g=p[2];this.properties[f]?a.parse(f,g)?(h.push({name:f,val:g}),s()):(Xe("Skipping property: Invalid property definition in: "+r),s()):(Xe("Skipping property: Invalid property name in: "+r),s())}if(d){o();break}a.selector(u);for(var v=0;v=7&&"d"===t[0]&&(u=new RegExp(s.data.regex).exec(t))){if(n)return!1;var h=s.data;return{name:e,value:u,strValue:""+t,mapped:h,field:u[1],bypass:n}}if(t.length>=10&&"m"===t[0]&&(c=new RegExp(s.mapData.regex).exec(t))){if(n)return!1;if(d.multiple)return!1;var p=s.mapData;if(!d.color&&!d.number)return!1;var f=this.parse(e,c[4]);if(!f||f.mapped)return!1;var g=this.parse(e,c[5]);if(!g||g.mapped)return!1;if(f.pfValue===g.pfValue||f.strValue===g.strValue)return Xe("`"+e+": "+t+"` is not a valid mapper because the output range is zero; converting to `"+e+": "+f.strValue+"`"),this.parse(e,f.strValue);if(d.color){var v=f.value,y=g.value;if(!(v[0]!==y[0]||v[1]!==y[1]||v[2]!==y[2]||v[3]!==y[3]&&(null!=v[3]&&1!==v[3]||null!=y[3]&&1!==y[3])))return!1}return{name:e,value:c,strValue:""+t,mapped:p,field:c[1],fieldMin:parseFloat(c[2]),fieldMax:parseFloat(c[3]),valueMin:f.value,valueMax:g.value,bypass:n}}}if(d.multiple&&"multiple"!==r){var m;if(m=l?t.split(/\s+/):w(t)?t:[t],d.evenMultiple&&m.length%2!=0)return null;for(var E=[],C=[],S=[],P="",D=!1,T=0;T0?" ":"")+_.strValue}return d.validate&&!d.validate(E,C)?null:d.singleEnum&&D?1===E.length&&b(E[0])?{name:e,value:E[0],strValue:E[0],bypass:n}:null:{name:e,value:E,pfValue:S,strValue:P,bypass:n,units:C}}var M,B,N,z=function(){for(var r=0;rd.max||d.strictMax&&t===d.max))return null;var q={name:e,value:t,strValue:""+t+(A||""),units:A,bypass:n};return d.unitless||"px"!==A&&"em"!==A?q.pfValue=t:q.pfValue="px"!==A&&A?this.getEmSizeInPixels()*t:t,"ms"!==A&&"s"!==A||(q.pfValue="ms"===A?t:1e3*t),"deg"!==A&&"rad"!==A||(q.pfValue="rad"===A?t:(M=t,Math.PI*M/180)),"%"===A&&(q.pfValue=t/100),q}if(d.propList){var Y=[],W=""+t;if("none"===W);else{for(var H=W.split(/\s*,\s*|\s+/),K=0;K255)return;t.push(Math.floor(i))}var o=r[1]||r[2]||r[3],s=r[1]&&r[2]&&r[3];if(o&&!s)return;var l=n[4];if(void 0!==l){if((l=parseFloat(l))<0||l>1)return;t.push(l)}}return t}(N)||function(e){var t,n,r,a,i,o,s,l;function u(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}var c=new RegExp("^"+F+"$").exec(e);if(c){if((n=parseInt(c[1]))<0?n=(360- -1*n%360)%360:n>360&&(n%=360),n/=360,(r=parseFloat(c[2]))<0||r>100)return;if(r/=100,(a=parseFloat(c[3]))<0||a>100)return;if(a/=100,void 0!==(i=c[4])&&((i=parseFloat(i))<0||i>1))return;if(0===r)o=s=l=Math.round(255*a);else{var d=a<.5?a*(1+r):a+r-a*r,h=2*a-d;o=Math.round(255*u(h,d,n+1/3)),s=Math.round(255*u(h,d,n)),l=Math.round(255*u(h,d,n-1/3))}t=[o,s,l,i]}return t}(N);return U?{name:e,value:U,pfValue:U,strValue:"rgb("+U[0]+","+U[1]+","+U[2]+")",bypass:n}:null}if(d.regex||d.regexes){if(d.enums){var Z=z();if(Z)return Z}for(var $=d.regexes?d.regexes:[d.regex],Q=0;Q<$.length;Q++){var J=new RegExp($[Q]).exec(t);if(J)return{name:e,value:d.singleRegexMatchValue?J[1]:J,strValue:""+t,bypass:n}}return null}return d.string?{name:e,value:""+t,strValue:""+t,bypass:n}:d.enums?z():null};var Qo=function e(t){if(!(this instanceof e))return new e(t);T(t)?(this._private={cy:t,coreStyle:{}},this.length=0,this.resetToDefault()):qe("A style must have a core reference")},Jo=Qo.prototype;Jo.instanceString=function(){return"style"},Jo.clear=function(){for(var e=this._private,t=e.cy.elements(),n=0;n0&&l>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0)return{zoom:o=(o=(o=Math.min((s-2*t)/n.w,(l-2*t)/n.h))>this._private.maxZoom?this._private.maxZoom:o)=n.minZoom&&(n.maxZoom=t),this},minZoom:function(e){return void 0===e?this._private.minZoom:this.zoomRange({min:e})},maxZoom:function(e){return void 0===e?this._private.maxZoom:this.zoomRange({max:e})},getZoomedViewport:function(e){var t,n,r=this._private,a=r.pan,i=r.zoom,o=!1;if(r.zoomingEnabled||(o=!0),k(e)?n=e:E(e)&&(n=e.level,null!=e.position?t=Et(e.position,i,a):null!=e.renderedPosition&&(t=e.renderedPosition),null==t||r.panningEnabled||(o=!0)),n=(n=n>r.maxZoom?r.maxZoom:n)t.maxZoom||!t.zoomingEnabled?i=!0:(t.zoom=s,a.push("zoom"))}if(r&&(!i||!e.cancelOnFailedZoom)&&t.panningEnabled){var l=e.pan;k(l.x)&&(t.pan.x=l.x,o=!1),k(l.y)&&(t.pan.y=l.y,o=!1),o||a.push("pan")}return a.length>0&&(a.push("viewport"),this.emit(a.join(" ")),this.notify("viewport")),this},center:function(e){var t=this.getCenterPan(e);return t&&(this._private.pan=t,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(e,t){if(this._private.panningEnabled){if(b(e)){var n=e;e=this.mutableElements().filter(n)}else S(e)||(e=this.mutableElements());if(0!==e.length){var r=e.boundingBox(),a=this.width(),i=this.height();return{x:(a-(t=void 0===t?this._private.zoom:t)*(r.x1+r.x2))/2,y:(i-t*(r.y1+r.y2))/2}}}},reset:function(){return this._private.panningEnabled&&this._private.zoomingEnabled?(this.viewport({pan:{x:0,y:0},zoom:1}),this):this},invalidateSize:function(){this._private.sizeCache=null},size:function(){var e,t,n=this._private,r=n.container;return n.sizeCache=n.sizeCache||(r?(e=this.window().getComputedStyle(r),t=function(t){return parseFloat(e.getPropertyValue(t))},{width:r.clientWidth-t("padding-left")-t("padding-right"),height:r.clientHeight-t("padding-top")-t("padding-bottom")}):{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var e=this._private.pan,t=this._private.zoom,n=this.renderedExtent(),r={x1:(n.x1-e.x)/t,x2:(n.x2-e.x)/t,y1:(n.y1-e.y)/t,y2:(n.y2-e.y)/t};return r.w=r.x2-r.x1,r.h=r.y2-r.y1,r},renderedExtent:function(){var e=this.width(),t=this.height();return{x1:0,y1:0,x2:e,y2:t,w:e,h:t}},multiClickDebounceTime:function(e){return e?(this._private.multiClickDebounceTime=e,this):this._private.multiClickDebounceTime}};ts.centre=ts.center,ts.autolockNodes=ts.autolock,ts.autoungrabifyNodes=ts.autoungrabify;var ns={data:Ca.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:Ca.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:Ca.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:Ca.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};ns.attr=ns.data,ns.removeAttr=ns.removeData;var rs=function(e){var t=this,n=(e=Y({},e)).container;n&&!C(n)&&C(n[0])&&(n=n[0]);var r=n?n._cyreg:null;(r=r||{})&&r.cy&&(r.cy.destroy(),r={});var a=r.readies=r.readies||[];n&&(n._cyreg=r),r.cy=t;var i=void 0!==h&&void 0!==n&&!e.headless,o=e;o.layout=Y({name:i?"grid":"null"},o.layout),o.renderer=Y({name:i?"canvas":"null"},o.renderer);var s=function(e,t,n){return void 0!==t?t:void 0!==n?n:e},l=this._private={container:n,ready:!1,options:o,elements:new bo(this),listeners:[],aniEles:new bo(this),data:o.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:s(!0,o.zoomingEnabled),userZoomingEnabled:s(!0,o.userZoomingEnabled),panningEnabled:s(!0,o.panningEnabled),userPanningEnabled:s(!0,o.userPanningEnabled),boxSelectionEnabled:s(!0,o.boxSelectionEnabled),autolock:s(!1,o.autolock,o.autolockNodes),autoungrabify:s(!1,o.autoungrabify,o.autoungrabifyNodes),autounselectify:s(!1,o.autounselectify),styleEnabled:void 0===o.styleEnabled?i:o.styleEnabled,zoom:k(o.zoom)?o.zoom:1,pan:{x:E(o.pan)&&k(o.pan.x)?o.pan.x:0,y:E(o.pan)&&k(o.pan.y)?o.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:s(250,o.multiClickDebounceTime)};this.createEmitter(),this.selectionType(o.selectionType),this.zoomRange({min:o.minZoom,max:o.maxZoom}),l.styleEnabled&&t.setStyle([]);var u=Y({},o,o.renderer);t.initRenderer(u),function(e,t){if(e.some(B))return Er.all(e).then(t);t(e)}([o.style,o.elements],(function(e){var n=e[0],i=e[1];l.styleEnabled&&t.style().append(n),function(e,n,r){t.notifications(!1);var a=t.mutableElements();a.length>0&&a.remove(),null!=e&&(E(e)||w(e))&&t.add(e),t.one("layoutready",(function(e){t.notifications(!0),t.emit(e),t.one("load",n),t.emitAndNotify("load")})).one("layoutstop",(function(){t.one("done",r),t.emit("done")}));var i=Y({},t._private.options.layout);i.eles=t.elements(),t.layout(i).run()}(i,(function(){t.startAnimationLoop(),l.ready=!0,x(o.ready)&&t.on("ready",o.ready);for(var e=0;e0,u=zt(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(S(n.roots))e=n.roots;else if(w(n.roots)){for(var c=[],d=0;d0;){var N=_.shift(),I=T(N,M);if(I)N.outgoers().filter((function(e){return e.isNode()&&a.has(e)})).forEach(B);else if(null===I){Xe("Detected double maximal shift for node `"+N.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}D();var z=0;if(n.avoidOverlap)for(var A=0;A0&&y[0].length<=3?l/2:0),d=2*Math.PI/y[r].length*a;return 0===r&&1===y[0].length&&(c=1),{x:G+c*Math.cos(d),y:U+c*Math.sin(d)}}return{x:G+(a+1-(i+1)/2)*o,y:(r+1)*s}})),this};var cs={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function ds(e){this.options=Y({},cs,e)}ds.prototype.run=function(){var e=this.options,t=e,n=e.cy,r=t.eles,a=void 0!==t.counterclockwise?!t.counterclockwise:t.clockwise,i=r.nodes().not(":parent");t.sort&&(i=i.sort(t.sort));for(var o,s=zt(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),l=s.x1+s.w/2,u=s.y1+s.h/2,c=(void 0===t.sweep?2*Math.PI-2*Math.PI/i.length:t.sweep)/Math.max(1,i.length-1),d=0,h=0;h1&&t.avoidOverlap){d*=1.75;var v=Math.cos(c)-Math.cos(0),y=Math.sin(c)-Math.sin(0),m=Math.sqrt(d*d/(v*v+y*y));o=Math.max(m,o)}return r.nodes().layoutPositions(this,t,(function(e,n){var r=t.startAngle+n*c*(a?1:-1),i=o*Math.cos(r),s=o*Math.sin(r);return{x:l+i,y:u+s}})),this};var hs,ps={fit:!0,padding:30,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(e){return e.degree()},levelWidth:function(e){return e.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function fs(e){this.options=Y({},ps,e)}fs.prototype.run=function(){for(var e=this.options,t=e,n=void 0!==t.counterclockwise?!t.counterclockwise:t.clockwise,r=e.cy,a=t.eles,i=a.nodes().not(":parent"),o=zt(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),s=o.x1+o.w/2,l=o.y1+o.h/2,u=[],c=0,d=0;d0&&Math.abs(m[0].value-x.value)>=v&&(m=[],y.push(m)),m.push(x)}var w=c+t.minNodeSpacing;if(!t.avoidOverlap){var E=y.length>0&&y[0].length>1,k=(Math.min(o.w,o.h)/2-w)/(y.length+E?1:0);w=Math.min(w,k)}for(var C=0,S=0;S1&&t.avoidOverlap){var _=Math.cos(T)-Math.cos(0),M=Math.sin(T)-Math.sin(0),B=Math.sqrt(w*w/(_*_+M*M));C=Math.max(B,C)}P.r=C,C+=w}if(t.equidistant){for(var N=0,I=0,z=0;z=e.numIter||(ks(r,e),r.temperature=r.temperature*e.coolingFactor,r.temperature=e.animationThreshold&&i(),Ee(t)):(As(r,e),s())}();else{for(;u;)u=o(l),l++;As(r,e),s()}return this},vs.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},vs.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var ys=function(e,t,n){for(var r=n.eles.edges(),a=n.eles.nodes(),i=zt(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),o={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:a.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:r.size(),temperature:n.initialTemp,clientWidth:i.w,clientHeight:i.h,boundingBox:i},s=n.eles.components(),l={},u=0;u0)for(o.graphSet.push(E),u=0;ur.count?0:r.graph},bs=function e(t,n,r,a){var i=a.graphSet[r];if(-10)var s=(u=r.nodeOverlap*o)*a/(g=Math.sqrt(a*a+i*i)),l=u*i/g;else{var u,c=Ts(e,a,i),d=Ts(t,-1*a,-1*i),h=d.x-c.x,p=d.y-c.y,f=h*h+p*p,g=Math.sqrt(f);s=(u=(e.nodeRepulsion+t.nodeRepulsion)/f)*h/g,l=u*p/g}e.isLocked||(e.offsetX-=s,e.offsetY-=l),t.isLocked||(t.offsetX+=s,t.offsetY+=l)}},Ds=function(e,t,n,r){if(n>0)var a=e.maxX-t.minX;else a=t.maxX-e.minX;if(r>0)var i=e.maxY-t.minY;else i=t.maxY-e.minY;return a>=0&&i>=0?Math.sqrt(a*a+i*i):0},Ts=function(e,t,n){var r=e.positionX,a=e.positionY,i=e.height||1,o=e.width||1,s=n/t,l=i/o,u={};return 0===t&&0n?(u.x=r,u.y=a+i/2,u):0t&&-1*l<=s&&s<=l?(u.x=r-o/2,u.y=a-o*n/2/t,u):0=l)?(u.x=r+i*t/2/n,u.y=a+i/2,u):0>n&&(s<=-1*l||s>=l)?(u.x=r-i*t/2/n,u.y=a-i/2,u):u},_s=function(e,t){for(var n=0;n1){var f=t.gravity*d/p,g=t.gravity*h/p;c.offsetX+=f,c.offsetY+=g}}}}},Bs=function(e,t){var n=[],r=0,a=-1;for(n.push.apply(n,e.graphSet[0]),a+=e.graphSet[0].length;r<=a;){var i=n[r++],o=e.idToIndex[i],s=e.layoutNodes[o],l=s.children;if(0n)var a={x:n*e/r,y:n*t/r};else a={x:e,y:t};return a},zs=function e(t,n){var r=t.parentId;if(null!=r){var a=n.layoutNodes[n.idToIndex[r]],i=!1;return(null==a.maxX||t.maxX+a.padRight>a.maxX)&&(a.maxX=t.maxX+a.padRight,i=!0),(null==a.minX||t.minX-a.padLefta.maxY)&&(a.maxY=t.maxY+a.padBottom,i=!0),(null==a.minY||t.minY-a.padTopf&&(d+=p+t.componentSpacing,c=0,h=0,p=0)}}},Ls={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(e){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function Os(e){this.options=Y({},Ls,e)}Os.prototype.run=function(){var e=this.options,t=e,n=e.cy,r=t.eles,a=r.nodes().not(":parent");t.sort&&(a=a.sort(t.sort));var i=zt(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()});if(0===i.h||0===i.w)r.nodes().layoutPositions(this,t,(function(e){return{x:i.x1,y:i.y1}}));else{var o=a.size(),s=Math.sqrt(o*i.h/i.w),l=Math.round(s),u=Math.round(i.w/i.h*s),c=function(e){if(null==e)return Math.min(l,u);Math.min(l,u)==l?l=e:u=e},d=function(e){if(null==e)return Math.max(l,u);Math.max(l,u)==l?l=e:u=e},h=t.rows,p=null!=t.cols?t.cols:t.columns;if(null!=h&&null!=p)l=h,u=p;else if(null!=h&&null==p)l=h,u=Math.ceil(o/l);else if(null==h&&null!=p)u=p,l=Math.ceil(o/u);else if(u*l>o){var f=c(),g=d();(f-1)*g>=o?c(f-1):(g-1)*f>=o&&d(g-1)}else for(;u*l=o?d(y+1):c(v+1)}var m=i.w/u,b=i.h/l;if(t.condense&&(m=0,b=0),t.avoidOverlap)for(var x=0;x=u&&(B=0,M++)},I={},z=0;z(r=Kt(e,t,x[w],x[w+1],x[w+2],x[w+3])))return v(n,r),!0}else if("bezier"===i.edgeType||"multibezier"===i.edgeType||"self"===i.edgeType||"compound"===i.edgeType)for(x=i.allpts,w=0;w+5(r=Ht(e,t,x[w],x[w+1],x[w+2],x[w+3],x[w+4],x[w+5])))return v(n,r),!0;m=m||a.source,b=b||a.target;var E=o.getArrowWidth(l,c),k=[{name:"source",x:i.arrowStartX,y:i.arrowStartY,angle:i.srcArrowAngle},{name:"target",x:i.arrowEndX,y:i.arrowEndY,angle:i.tgtArrowAngle},{name:"mid-source",x:i.midX,y:i.midY,angle:i.midsrcArrowAngle},{name:"mid-target",x:i.midX,y:i.midY,angle:i.midtgtArrowAngle}];for(w=0;w0&&(y(m),y(b))}function b(e,t,n){return Qe(e,t,n)}function x(n,r){var a,i=n._private,o=f;a=r?r+"-":"",n.boundingBox();var s=i.labelBounds[r||"main"],l=n.pstyle(a+"label").value;if("yes"===n.pstyle("text-events").strValue&&l){var u=b(i.rscratch,"labelX",r),c=b(i.rscratch,"labelY",r),d=b(i.rscratch,"labelAngle",r),h=n.pstyle(a+"text-margin-x").pfValue,p=n.pstyle(a+"text-margin-y").pfValue,g=s.x1-o-h,y=s.x2+o-h,m=s.y1-o-p,x=s.y2+o-p;if(d){var w=Math.cos(d),E=Math.sin(d),k=function(e,t){return{x:(e-=u)*w-(t-=c)*E+u,y:e*E+t*w+c}},C=k(g,m),S=k(g,x),P=k(y,m),D=k(y,x),T=[C.x+h,C.y+p,P.x+h,P.y+p,D.x+h,D.y+p,S.x+h,S.y+p];if(Gt(e,t,T))return v(n),!0}else if(jt(s,e,t))return v(n),!0}}n&&(l=l.interactive);for(var w=l.length-1;w>=0;w--){var E=l[w];E.isNode()?y(E)||x(E):m(E)||x(E)||x(E,"source")||x(E,"target")}return u},getAllInBox:function(e,t,n,r){for(var a,i,o=this.getCachedZSortedEles().interactive,s=[],l=Math.min(e,n),u=Math.max(e,n),c=Math.min(t,r),d=Math.max(t,r),h=zt({x1:e=l,y1:t=c,x2:n=u,y2:r=d}),p=0;p4&&void 0!==arguments[4])||arguments[4];return 0===r||0===t.radius?{cx:t.x,cy:t.y,radius:0,startX:t.x,startY:t.y,stopX:t.x,stopY:t.y,startAngle:void 0,endAngle:void 0,counterClockwise:void 0}:(function(e,t,n,r,a){var i,o;if(e!==pl?vl(t,e,fl):((o=fl).x=-1*(i=gl).x,o.y=-1*i.y,o.nx=-1*i.nx,o.ny=-1*i.ny,o.ang=i.ang>0?-(Math.PI-i.ang):Math.PI+i.ang),vl(t,n,gl),Js=fl.nx*gl.ny-fl.ny*gl.nx,el=fl.nx*gl.nx-fl.ny*-gl.ny,rl=Math.asin(Math.max(-1,Math.min(1,Js))),Math.abs(rl)<1e-6)return $s=t.x,Qs=t.y,void(il=sl=0);tl=1,nl=!1,el<0?rl<0?rl=Math.PI+rl:(rl=Math.PI-rl,tl=-1,nl=!0):rl>0&&(tl=-1,nl=!0),sl=void 0!==t.radius?t.radius:r,al=rl/2,ll=Math.min(fl.len/2,gl.len/2),a?(ol=Math.abs(Math.cos(al)*sl/Math.sin(al)))>ll?(ol=ll,il=Math.abs(ol*Math.sin(al)/Math.cos(al))):il=sl:(ol=Math.min(ll,sl),il=Math.abs(ol*Math.sin(al)/Math.cos(al))),dl=t.x+gl.nx*ol,hl=t.y+gl.ny*ol,$s=dl-gl.ny*il*tl,Qs=hl+gl.nx*il*tl,ul=t.x+fl.nx*ol,cl=t.y+fl.ny*ol,pl=t}(e,t,n,r,a),{cx:$s,cy:Qs,radius:il,startX:ul,startY:cl,stopX:dl,stopY:hl,startAngle:fl.ang+Math.PI/2*tl,endAngle:gl.ang-Math.PI/2*tl,counterClockwise:nl})}var bl={};function xl(e){var t=[];if(null!=e){for(var n=0;n0?Math.max(e-t,0):Math.min(e+t,0)},D=P(C,E),T=P(S,k),_=!1;"auto"===v?g=Math.abs(D)>Math.abs(T)?a:r:v===l||v===s?(g=r,_=!0):v!==i&&v!==o||(g=a,_=!0);var M,B=g===r,N=B?T:D,I=B?S:C,z=Dt(I),A=!1;_&&(m||x)||!(v===s&&I<0||v===l&&I>0||v===i&&I>0||v===o&&I<0)||(N=(z*=-1)*Math.abs(N),A=!0);var L=function(e){return Math.abs(e)=Math.abs(N)},O=L(M=m?(b<0?1+b:b)*N:(b<0?N:0)+b*z),R=L(Math.abs(N)-Math.abs(M));if(!O&&!R||A)if(B){var V=u.y1+M+(f?d/2*z:0),F=u.x1,j=u.x2;n.segpts=[F,V,j,V]}else{var q=u.x1+M+(f?c/2*z:0),Y=u.y1,X=u.y2;n.segpts=[q,Y,q,X]}else if(B){var W=Math.abs(I)<=d/2,H=Math.abs(C)<=h/2;if(W){var K=(u.x1+u.x2)/2,G=u.y1,U=u.y2;n.segpts=[K,G,K,U]}else if(H){var Z=(u.y1+u.y2)/2,$=u.x1,Q=u.x2;n.segpts=[$,Z,Q,Z]}else n.segpts=[u.x1,u.y2]}else{var J=Math.abs(I)<=c/2,ee=Math.abs(S)<=p/2;if(J){var te=(u.y1+u.y2)/2,ne=u.x1,re=u.x2;n.segpts=[ne,te,re,te]}else if(ee){var ae=(u.x1+u.x2)/2,ie=u.y1,oe=u.y2;n.segpts=[ae,ie,ae,oe]}else n.segpts=[u.x2,u.y1]}if(n.isRound){var se=e.pstyle("taxi-radius").value,le="arc-radius"===e.pstyle("radius-type").value[0];n.radii=new Array(n.segpts.length/2).fill(se),n.isArcRadius=new Array(n.segpts.length/2).fill(le)}},bl.tryToCorrectInvalidPoints=function(e,t){var n=e._private.rscratch;if("bezier"===n.edgeType){var r=t.srcPos,a=t.tgtPos,i=t.srcW,o=t.srcH,s=t.tgtW,l=t.tgtH,u=t.srcShape,c=t.tgtShape,d=t.srcCornerRadius,h=t.tgtCornerRadius,p=t.srcRs,f=t.tgtRs,g=!k(n.startX)||!k(n.startY),v=!k(n.arrowStartX)||!k(n.arrowStartY),y=!k(n.endX)||!k(n.endY),m=!k(n.arrowEndX)||!k(n.arrowEndY),b=this.getArrowWidth(e.pstyle("width").pfValue,e.pstyle("arrow-scale").value)*this.arrowShapeWidth*3,x=Tt({x:n.ctrlpts[0],y:n.ctrlpts[1]},{x:n.startX,y:n.startY}),w=xh.poolIndex()){var p=d;d=h,h=p}var f=s.srcPos=d.position(),g=s.tgtPos=h.position(),v=s.srcW=d.outerWidth(),y=s.srcH=d.outerHeight(),m=s.tgtW=h.outerWidth(),b=s.tgtH=h.outerHeight(),x=s.srcShape=n.nodeShapes[t.getNodeShape(d)],w=s.tgtShape=n.nodeShapes[t.getNodeShape(h)],E=s.srcCornerRadius="auto"===d.pstyle("corner-radius").value?"auto":d.pstyle("corner-radius").pfValue,C=s.tgtCornerRadius="auto"===h.pstyle("corner-radius").value?"auto":h.pstyle("corner-radius").pfValue,S=s.tgtRs=h._private.rscratch,P=s.srcRs=d._private.rscratch;s.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var D=0;D0){var H=u,K=_t(H,Ct(t)),G=_t(H,Ct(W)),U=K;G2&&_t(H,{x:W[2],y:W[3]})0){var le=c,ue=_t(le,Ct(t)),ce=_t(le,Ct(se)),de=ue;ce2&&_t(le,{x:se[2],y:se[3]})=u||m){c={cp:g,segment:y};break}}if(c)break}var b=c.cp,x=c.segment,w=(u-h)/x.length,E=x.t1-x.t0,k=s?x.t0+E*w:x.t1-E*w;k=It(0,k,1),t=Nt(b.p0,b.p1,b.p2,k),a=function(e,t,n,r){var a=It(0,r-.001,1),i=It(0,r+.001,1),o=Nt(e,t,n,a),s=Nt(e,t,n,i);return Pl(o,s)}(b.p0,b.p1,b.p2,k);break;case"straight":case"segments":case"haystack":for(var C,S,P,D,T=0,_=r.allpts.length,M=0;M+3<_&&(s?(P={x:r.allpts[M],y:r.allpts[M+1]},D={x:r.allpts[M+2],y:r.allpts[M+3]}):(P={x:r.allpts[_-2-M],y:r.allpts[_-1-M]},D={x:r.allpts[_-4-M],y:r.allpts[_-3-M]}),S=T,!((T+=C=Tt(P,D))>=u));M+=2);var B=(u-S)/C;B=It(0,B,1),t=function(e,t,n,r){var a=t.x-e.x,i=t.y-e.y,o=Tt(e,t),s=a/o,l=i/o;return n=null==n?0:n,r=null!=r?r:n*o,{x:e.x+s*r,y:e.y+l*r}}(P,D,B),a=Pl(P,D)}o("labelX",n,t.x),o("labelY",n,t.y),o("labelAutoAngle",n,a)}};u("source"),u("target"),this.applyLabelDimensions(e)}},Cl.applyLabelDimensions=function(e){this.applyPrefixedLabelDimensions(e),e.isEdge()&&(this.applyPrefixedLabelDimensions(e,"source"),this.applyPrefixedLabelDimensions(e,"target"))},Cl.applyPrefixedLabelDimensions=function(e,t){var n=e._private,r=this.getLabelText(e,t),a=this.calculateLabelDimensions(e,r),i=e.pstyle("line-height").pfValue,o=e.pstyle("text-wrap").strValue,s=Qe(n.rscratch,"labelWrapCachedLines",t)||[],l="wrap"!==o?1:Math.max(s.length,1),u=a.height/l,c=u*i,d=a.width,h=a.height+(l-1)*(i-1)*u;Je(n.rstyle,"labelWidth",t,d),Je(n.rscratch,"labelWidth",t,d),Je(n.rstyle,"labelHeight",t,h),Je(n.rscratch,"labelHeight",t,h),Je(n.rscratch,"labelLineHeight",t,c)},Cl.getLabelText=function(e,t){var n=e._private,r=t?t+"-":"",a=e.pstyle(r+"label").strValue,i=e.pstyle("text-transform").value,o=function(e,r){return r?(Je(n.rscratch,e,t,r),r):Qe(n.rscratch,e,t)};if(!a)return"";"none"==i||("uppercase"==i?a=a.toUpperCase():"lowercase"==i&&(a=a.toLowerCase()));var s=e.pstyle("text-wrap").value;if("wrap"===s){var l=o("labelKey");if(null!=l&&o("labelWrapKey")===l)return o("labelWrapCachedText");for(var u=a.split("\n"),c=e.pstyle("text-max-width").pfValue,h="anywhere"===e.pstyle("text-overflow-wrap").value,p=[],f=/[\s\u200b]+|$/g,g=0;gc){var b,x="",w=0,E=d(v.matchAll(f));try{for(E.s();!(b=E.n()).done;){var k=b.value,C=k[0],S=v.substring(w,k.index);w=k.index+C.length;var P=0===x.length?S:x+S+C;this.calculateLabelDimensions(e,P).width<=c?x+=S+C:(x&&p.push(x),x=S+C)}}catch(e){E.e(e)}finally{E.f()}x.match(/^[\s\u200b]+$/)||p.push(x)}else p.push(v)}o("labelWrapCachedLines",p),a=o("labelWrapCachedText",p.join("\n")),o("labelWrapKey",l)}else if("ellipsis"===s){var D=e.pstyle("text-max-width").pfValue,T="",_=!1;if(this.calculateLabelDimensions(e,a).widthD);M++)T+=a[M],M===a.length-1&&(_=!0);return _||(T+="…"),T}return a},Cl.getLabelJustification=function(e){var t=e.pstyle("text-justification").strValue,n=e.pstyle("text-halign").strValue;if("auto"!==t)return t;if(!e.isNode())return"center";switch(n){case"left":return"right";case"right":return"left";default:return"center"}},Cl.calculateLabelDimensions=function(e,t){var n=this,r=n.cy.window().document,a=Be(t,e._private.labelDimsKey),i=n.labelDimCache||(n.labelDimCache=[]),o=i[a];if(null!=o)return o;var s=e.pstyle("font-style").strValue,l=e.pstyle("font-size").pfValue,u=e.pstyle("font-family").strValue,c=e.pstyle("font-weight").strValue,d=this.labelCalcCanvas,h=this.labelCalcCanvasContext;if(!d){d=this.labelCalcCanvas=r.createElement("canvas"),h=this.labelCalcCanvasContext=d.getContext("2d");var p=d.style;p.position="absolute",p.left="-9999px",p.top="-9999px",p.zIndex="-1",p.visibility="hidden",p.pointerEvents="none"}h.font="".concat(s," ").concat(c," ").concat(l,"px ").concat(u);for(var f=0,g=0,v=t.split("\n"),y=0;y1&&void 0!==arguments[1])||arguments[1];if(t.merge(e),n)for(var r=0;r=e.desktopTapThreshold2}var D=a(t);v&&(e.hoverData.tapholdCancelled=!0),n=!0,r(g,["mousemove","vmousemove","tapdrag"],t,{x:c[0],y:c[1]});var T=function(){e.data.bgActivePosistion=void 0,e.hoverData.selecting||o.emit({originalEvent:t,type:"boxstart",position:{x:c[0],y:c[1]}}),f[4]=1,e.hoverData.selecting=!0,e.redrawHint("select",!0),e.redraw()};if(3===e.hoverData.which){if(v){var _={originalEvent:t,type:"cxtdrag",position:{x:c[0],y:c[1]}};b?b.emit(_):o.emit(_),e.hoverData.cxtDragged=!0,e.hoverData.cxtOver&&g===e.hoverData.cxtOver||(e.hoverData.cxtOver&&e.hoverData.cxtOver.emit({originalEvent:t,type:"cxtdragout",position:{x:c[0],y:c[1]}}),e.hoverData.cxtOver=g,g&&g.emit({originalEvent:t,type:"cxtdragover",position:{x:c[0],y:c[1]}}))}}else if(e.hoverData.dragging){if(n=!0,o.panningEnabled()&&o.userPanningEnabled()){var M;if(e.hoverData.justStartedPan){var B=e.hoverData.mdownPos;M={x:(c[0]-B[0])*s,y:(c[1]-B[1])*s},e.hoverData.justStartedPan=!1}else M={x:x[0]*s,y:x[1]*s};o.panBy(M),o.emit("dragpan"),e.hoverData.dragged=!0}c=e.projectIntoViewport(t.clientX,t.clientY)}else if(1!=f[4]||null!=b&&!b.pannable()){if(b&&b.pannable()&&b.active()&&b.unactivate(),b&&b.grabbed()||g==y||(y&&r(y,["mouseout","tapdragout"],t,{x:c[0],y:c[1]}),g&&r(g,["mouseover","tapdragover"],t,{x:c[0],y:c[1]}),e.hoverData.last=g),b)if(v){if(o.boxSelectionEnabled()&&D)b&&b.grabbed()&&(d(w),b.emit("freeon"),w.emit("free"),e.dragData.didDrag&&(b.emit("dragfreeon"),w.emit("dragfree"))),T();else if(b&&b.grabbed()&&e.nodeIsDraggable(b)){var N=!e.dragData.didDrag;N&&e.redrawHint("eles",!0),e.dragData.didDrag=!0,e.hoverData.draggingEles||u(w,{inDragLayer:!0});var I={x:0,y:0};if(k(x[0])&&k(x[1])&&(I.x+=x[0],I.y+=x[1],N)){var z=e.hoverData.dragDelta;z&&k(z[0])&&k(z[1])&&(I.x+=z[0],I.y+=z[1])}e.hoverData.draggingEles=!0,w.silentShift(I).emit("position drag"),e.redrawHint("drag",!0),e.redraw()}}else!function(){var t=e.hoverData.dragDelta=e.hoverData.dragDelta||[];0===t.length?(t.push(x[0]),t.push(x[1])):(t[0]+=x[0],t[1]+=x[1])}();n=!0}else v&&(e.hoverData.dragging||!o.boxSelectionEnabled()||!D&&o.panningEnabled()&&o.userPanningEnabled()?!e.hoverData.selecting&&o.panningEnabled()&&o.userPanningEnabled()&&i(b,e.hoverData.downs)&&(e.hoverData.dragging=!0,e.hoverData.justStartedPan=!0,f[4]=0,e.data.bgActivePosistion=Ct(h),e.redrawHint("select",!0),e.redraw()):T(),b&&b.pannable()&&b.active()&&b.unactivate());return f[2]=c[0],f[3]=c[1],n?(t.stopPropagation&&t.stopPropagation(),t.preventDefault&&t.preventDefault(),!1):void 0}}),!1),e.registerBinding(t,"mouseup",(function(t){if((1!==e.hoverData.which||1===t.which||!e.hoverData.capture)&&e.hoverData.capture){e.hoverData.capture=!1;var i=e.cy,o=e.projectIntoViewport(t.clientX,t.clientY),s=e.selection,l=e.findNearestElement(o[0],o[1],!0,!1),u=e.dragData.possibleDragElements,c=e.hoverData.down,h=a(t);if(e.data.bgActivePosistion&&(e.redrawHint("select",!0),e.redraw()),e.hoverData.tapholdCancelled=!0,e.data.bgActivePosistion=void 0,c&&c.unactivate(),3===e.hoverData.which){var p={originalEvent:t,type:"cxttapend",position:{x:o[0],y:o[1]}};if(c?c.emit(p):i.emit(p),!e.hoverData.cxtDragged){var f={originalEvent:t,type:"cxttap",position:{x:o[0],y:o[1]}};c?c.emit(f):i.emit(f)}e.hoverData.cxtDragged=!1,e.hoverData.which=null}else if(1===e.hoverData.which){if(r(l,["mouseup","tapend","vmouseup"],t,{x:o[0],y:o[1]}),e.dragData.didDrag||e.hoverData.dragged||e.hoverData.selecting||e.hoverData.isOverThresholdDrag||(r(c,["click","tap","vclick"],t,{x:o[0],y:o[1]}),x=!1,t.timeStamp-w<=i.multiClickDebounceTime()?(b&&clearTimeout(b),x=!0,w=null,r(c,["dblclick","dbltap","vdblclick"],t,{x:o[0],y:o[1]})):(b=setTimeout((function(){x||r(c,["oneclick","onetap","voneclick"],t,{x:o[0],y:o[1]})}),i.multiClickDebounceTime()),w=t.timeStamp)),null!=c||e.dragData.didDrag||e.hoverData.selecting||e.hoverData.dragged||a(t)||(i.$(n).unselect(["tapunselect"]),u.length>0&&e.redrawHint("eles",!0),e.dragData.possibleDragElements=u=i.collection()),l!=c||e.dragData.didDrag||e.hoverData.selecting||null!=l&&l._private.selectable&&(e.hoverData.dragging||("additive"===i.selectionType()||h?l.selected()?l.unselect(["tapunselect"]):l.select(["tapselect"]):h||(i.$(n).unmerge(l).unselect(["tapunselect"]),l.select(["tapselect"]))),e.redrawHint("eles",!0)),e.hoverData.selecting){var g=i.collection(e.getAllInBox(s[0],s[1],s[2],s[3]));e.redrawHint("select",!0),g.length>0&&e.redrawHint("eles",!0),i.emit({type:"boxend",originalEvent:t,position:{x:o[0],y:o[1]}});"additive"===i.selectionType()||h||i.$(n).unmerge(g).unselect(),g.emit("box").stdFilter((function(e){return e.selectable()&&!e.selected()})).select().emit("boxselect"),e.redraw()}if(e.hoverData.dragging&&(e.hoverData.dragging=!1,e.redrawHint("select",!0),e.redrawHint("eles",!0),e.redraw()),!s[4]){e.redrawHint("drag",!0),e.redrawHint("eles",!0);var v=c&&c.grabbed();d(u),v&&(c.emit("freeon"),u.emit("free"),e.dragData.didDrag&&(c.emit("dragfreeon"),u.emit("dragfree")))}}s[4]=0,e.hoverData.down=null,e.hoverData.cxtStarted=!1,e.hoverData.draggingEles=!1,e.hoverData.selecting=!1,e.hoverData.isOverThresholdDrag=!1,e.dragData.didDrag=!1,e.hoverData.dragged=!1,e.hoverData.dragDelta=[],e.hoverData.mdownPos=null,e.hoverData.mdownGPos=null,e.hoverData.which=null}}),!1);var C,S,P,D,T,_,M,B,N,I,z,A,L,O=function(t){if(!e.scrollingPage){var n=e.cy,r=n.zoom(),a=n.pan(),i=e.projectIntoViewport(t.clientX,t.clientY),o=[i[0]*r+a.x,i[1]*r+a.y];if(e.hoverData.draggingEles||e.hoverData.dragging||e.hoverData.cxtStarted||0!==e.selection[4])t.preventDefault();else if(n.panningEnabled()&&n.userPanningEnabled()&&n.zoomingEnabled()&&n.userZoomingEnabled()){var s;t.preventDefault(),e.data.wheelZooming=!0,clearTimeout(e.data.wheelTimeout),e.data.wheelTimeout=setTimeout((function(){e.data.wheelZooming=!1,e.redrawHint("eles",!0),e.redraw()}),150),s=null!=t.deltaY?t.deltaY/-250:null!=t.wheelDeltaY?t.wheelDeltaY/1e3:t.wheelDelta/1e3,s*=e.wheelSensitivity,1===t.deltaMode&&(s*=33);var l=n.zoom()*Math.pow(10,s);"gesturechange"===t.type&&(l=e.gestureStartZoom*t.scale),n.zoom({level:l,renderedPosition:{x:o[0],y:o[1]}}),n.emit("gesturechange"===t.type?"pinchzoom":"scrollzoom")}}};e.registerBinding(e.container,"wheel",O,!0),e.registerBinding(t,"scroll",(function(t){e.scrollingPage=!0,clearTimeout(e.scrollingPageTimeout),e.scrollingPageTimeout=setTimeout((function(){e.scrollingPage=!1}),250)}),!0),e.registerBinding(e.container,"gesturestart",(function(t){e.gestureStartZoom=e.cy.zoom(),e.hasTouchStarted||t.preventDefault()}),!0),e.registerBinding(e.container,"gesturechange",(function(t){e.hasTouchStarted||O(t)}),!0),e.registerBinding(e.container,"mouseout",(function(t){var n=e.projectIntoViewport(t.clientX,t.clientY);e.cy.emit({originalEvent:t,type:"mouseout",position:{x:n[0],y:n[1]}})}),!1),e.registerBinding(e.container,"mouseover",(function(t){var n=e.projectIntoViewport(t.clientX,t.clientY);e.cy.emit({originalEvent:t,type:"mouseover",position:{x:n[0],y:n[1]}})}),!1);var R,V,F,j,q,Y,X,W=function(e,t,n,r){return Math.sqrt((n-e)*(n-e)+(r-t)*(r-t))},H=function(e,t,n,r){return(n-e)*(n-e)+(r-t)*(r-t)};if(e.registerBinding(e.container,"touchstart",R=function(t){if(e.hasTouchStarted=!0,m(t)){p(),e.touchData.capture=!0,e.data.bgActivePosistion=void 0;var n=e.cy,a=e.touchData.now,i=e.touchData.earlier;if(t.touches[0]){var o=e.projectIntoViewport(t.touches[0].clientX,t.touches[0].clientY);a[0]=o[0],a[1]=o[1]}if(t.touches[1]&&(o=e.projectIntoViewport(t.touches[1].clientX,t.touches[1].clientY),a[2]=o[0],a[3]=o[1]),t.touches[2]&&(o=e.projectIntoViewport(t.touches[2].clientX,t.touches[2].clientY),a[4]=o[0],a[5]=o[1]),t.touches[1]){e.touchData.singleTouchMoved=!0,d(e.dragData.touchDragEles);var l=e.findContainerClientCoords();N=l[0],I=l[1],z=l[2],A=l[3],C=t.touches[0].clientX-N,S=t.touches[0].clientY-I,P=t.touches[1].clientX-N,D=t.touches[1].clientY-I,L=0<=C&&C<=z&&0<=P&&P<=z&&0<=S&&S<=A&&0<=D&&D<=A;var h=n.pan(),f=n.zoom();if(T=W(C,S,P,D),_=H(C,S,P,D),B=[((M=[(C+P)/2,(S+D)/2])[0]-h.x)/f,(M[1]-h.y)/f],_<4e4&&!t.touches[2]){var g=e.findNearestElement(a[0],a[1],!0,!0),v=e.findNearestElement(a[2],a[3],!0,!0);return g&&g.isNode()?(g.activate().emit({originalEvent:t,type:"cxttapstart",position:{x:a[0],y:a[1]}}),e.touchData.start=g):v&&v.isNode()?(v.activate().emit({originalEvent:t,type:"cxttapstart",position:{x:a[0],y:a[1]}}),e.touchData.start=v):n.emit({originalEvent:t,type:"cxttapstart",position:{x:a[0],y:a[1]}}),e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxt=!0,e.touchData.cxtDragged=!1,e.data.bgActivePosistion=void 0,void e.redraw()}}if(t.touches[2])n.boxSelectionEnabled()&&t.preventDefault();else if(t.touches[1]);else if(t.touches[0]){var y=e.findNearestElements(a[0],a[1],!0,!0),b=y[0];if(null!=b&&(b.activate(),e.touchData.start=b,e.touchData.starts=y,e.nodeIsGrabbable(b))){var x=e.dragData.touchDragEles=n.collection(),w=null;e.redrawHint("eles",!0),e.redrawHint("drag",!0),b.selected()?(w=n.$((function(t){return t.selected()&&e.nodeIsGrabbable(t)})),u(w,{addToList:x})):c(b,{addToList:x}),s(b);var E=function(e){return{originalEvent:t,type:e,position:{x:a[0],y:a[1]}}};b.emit(E("grabon")),w?w.forEach((function(e){e.emit(E("grab"))})):b.emit(E("grab"))}r(b,["touchstart","tapstart","vmousedown"],t,{x:a[0],y:a[1]}),null==b&&(e.data.bgActivePosistion={x:o[0],y:o[1]},e.redrawHint("select",!0),e.redraw()),e.touchData.singleTouchMoved=!1,e.touchData.singleTouchStartTime=+new Date,clearTimeout(e.touchData.tapholdTimeout),e.touchData.tapholdTimeout=setTimeout((function(){!1!==e.touchData.singleTouchMoved||e.pinching||e.touchData.selecting||r(e.touchData.start,["taphold"],t,{x:a[0],y:a[1]})}),e.tapholdDuration)}if(t.touches.length>=1){for(var k=e.touchData.startPosition=[null,null,null,null,null,null],O=0;O=e.touchTapThreshold2}if(n&&e.touchData.cxt){t.preventDefault();var w=t.touches[0].clientX-N,E=t.touches[0].clientY-I,M=t.touches[1].clientX-N,z=t.touches[1].clientY-I,A=H(w,E,M,z);if(A/_>=2.25||A>=22500){e.touchData.cxt=!1,e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);var O={originalEvent:t,type:"cxttapend",position:{x:s[0],y:s[1]}};e.touchData.start?(e.touchData.start.unactivate().emit(O),e.touchData.start=null):o.emit(O)}}if(n&&e.touchData.cxt){O={originalEvent:t,type:"cxtdrag",position:{x:s[0],y:s[1]}},e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),e.touchData.start?e.touchData.start.emit(O):o.emit(O),e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxtDragged=!0;var R=e.findNearestElement(s[0],s[1],!0,!0);e.touchData.cxtOver&&R===e.touchData.cxtOver||(e.touchData.cxtOver&&e.touchData.cxtOver.emit({originalEvent:t,type:"cxtdragout",position:{x:s[0],y:s[1]}}),e.touchData.cxtOver=R,R&&R.emit({originalEvent:t,type:"cxtdragover",position:{x:s[0],y:s[1]}}))}else if(n&&t.touches[2]&&o.boxSelectionEnabled())t.preventDefault(),e.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,e.touchData.selecting||o.emit({originalEvent:t,type:"boxstart",position:{x:s[0],y:s[1]}}),e.touchData.selecting=!0,e.touchData.didSelect=!0,a[4]=1,a&&0!==a.length&&void 0!==a[0]?(a[2]=(s[0]+s[2]+s[4])/3,a[3]=(s[1]+s[3]+s[5])/3):(a[0]=(s[0]+s[2]+s[4])/3,a[1]=(s[1]+s[3]+s[5])/3,a[2]=(s[0]+s[2]+s[4])/3+1,a[3]=(s[1]+s[3]+s[5])/3+1),e.redrawHint("select",!0),e.redraw();else if(n&&t.touches[1]&&!e.touchData.didSelect&&o.zoomingEnabled()&&o.panningEnabled()&&o.userZoomingEnabled()&&o.userPanningEnabled()){if(t.preventDefault(),e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),ee=e.dragData.touchDragEles){e.redrawHint("drag",!0);for(var V=0;V0&&!e.hoverData.draggingEles&&!e.swipePanning&&null!=e.data.bgActivePosistion&&(e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),e.redraw())}},!1),e.registerBinding(t,"touchcancel",F=function(t){var n=e.touchData.start;e.touchData.capture=!1,n&&n.unactivate()}),e.registerBinding(t,"touchend",j=function(t){var a=e.touchData.start;if(e.touchData.capture){0===t.touches.length&&(e.touchData.capture=!1),t.preventDefault();var i=e.selection;e.swipePanning=!1,e.hoverData.draggingEles=!1;var o,s=e.cy,l=s.zoom(),u=e.touchData.now,c=e.touchData.earlier;if(t.touches[0]){var h=e.projectIntoViewport(t.touches[0].clientX,t.touches[0].clientY);u[0]=h[0],u[1]=h[1]}if(t.touches[1]&&(h=e.projectIntoViewport(t.touches[1].clientX,t.touches[1].clientY),u[2]=h[0],u[3]=h[1]),t.touches[2]&&(h=e.projectIntoViewport(t.touches[2].clientX,t.touches[2].clientY),u[4]=h[0],u[5]=h[1]),a&&a.unactivate(),e.touchData.cxt){if(o={originalEvent:t,type:"cxttapend",position:{x:u[0],y:u[1]}},a?a.emit(o):s.emit(o),!e.touchData.cxtDragged){var p={originalEvent:t,type:"cxttap",position:{x:u[0],y:u[1]}};a?a.emit(p):s.emit(p)}return e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxt=!1,e.touchData.start=null,void e.redraw()}if(!t.touches[2]&&s.boxSelectionEnabled()&&e.touchData.selecting){e.touchData.selecting=!1;var f=s.collection(e.getAllInBox(i[0],i[1],i[2],i[3]));i[0]=void 0,i[1]=void 0,i[2]=void 0,i[3]=void 0,i[4]=0,e.redrawHint("select",!0),s.emit({type:"boxend",originalEvent:t,position:{x:u[0],y:u[1]}}),f.emit("box").stdFilter((function(e){return e.selectable()&&!e.selected()})).select().emit("boxselect"),f.nonempty()&&e.redrawHint("eles",!0),e.redraw()}if(null!=a&&a.unactivate(),t.touches[2])e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);else if(t.touches[1]);else if(t.touches[0]);else if(!t.touches[0]){e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);var g=e.dragData.touchDragEles;if(null!=a){var v=a._private.grabbed;d(g),e.redrawHint("drag",!0),e.redrawHint("eles",!0),v&&(a.emit("freeon"),g.emit("free"),e.dragData.didDrag&&(a.emit("dragfreeon"),g.emit("dragfree"))),r(a,["touchend","tapend","vmouseup","tapdragout"],t,{x:u[0],y:u[1]}),a.unactivate(),e.touchData.start=null}else{var y=e.findNearestElement(u[0],u[1],!0,!0);r(y,["touchend","tapend","vmouseup","tapdragout"],t,{x:u[0],y:u[1]})}var m=e.touchData.startPosition[0]-u[0],b=m*m,x=e.touchData.startPosition[1]-u[1],w=(b+x*x)*l*l;e.touchData.singleTouchMoved||(a||s.$(":selected").unselect(["tapunselect"]),r(a,["tap","vclick"],t,{x:u[0],y:u[1]}),q=!1,t.timeStamp-X<=s.multiClickDebounceTime()?(Y&&clearTimeout(Y),q=!0,X=null,r(a,["dbltap","vdblclick"],t,{x:u[0],y:u[1]})):(Y=setTimeout((function(){q||r(a,["onetap","voneclick"],t,{x:u[0],y:u[1]})}),s.multiClickDebounceTime()),X=t.timeStamp)),null!=a&&!e.dragData.didDrag&&a._private.selectable&&w2){for(var p=[c[0],c[1]],f=Math.pow(p[0]-e,2)+Math.pow(p[1]-t,2),g=1;g0)return g[0]}return null},p=Object.keys(d),f=0;f0?u:Yt(a,i,e,t,n,r,o,s)},checkPoint:function(e,t,n,r,a,i,o,s){var l=2*(s="auto"===s?ln(r,a):s);if(Ut(e,t,this.points,i,o,r,a-l,[0,-1],n))return!0;if(Ut(e,t,this.points,i,o,r-l,a,[0,-1],n))return!0;var u=r/2+2*n,c=a/2+2*n;return!!Gt(e,t,[i-u,o-c,i-u,o,i+u,o,i+u,o-c])||!!Qt(e,t,l,l,i+r/2-s,o+a/2-s,n)||!!Qt(e,t,l,l,i-r/2+s,o+a/2-s,n)}}},registerNodeShapes:function(){var e=this.nodeShapes={},t=this;this.generateEllipse(),this.generatePolygon("triangle",an(3,0)),this.generateRoundPolygon("round-triangle",an(3,0)),this.generatePolygon("rectangle",an(4,0)),e.square=e.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();var n=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",n),this.generateRoundPolygon("round-diamond",n),this.generatePolygon("pentagon",an(5,0)),this.generateRoundPolygon("round-pentagon",an(5,0)),this.generatePolygon("hexagon",an(6,0)),this.generateRoundPolygon("round-hexagon",an(6,0)),this.generatePolygon("heptagon",an(7,0)),this.generateRoundPolygon("round-heptagon",an(7,0)),this.generatePolygon("octagon",an(8,0)),this.generateRoundPolygon("round-octagon",an(8,0));var r=new Array(20),a=sn(5,0),i=sn(5,Math.PI/5),o=.5*(3-Math.sqrt(5));o*=1.57;for(var s=0;s=e.deqFastCost*g)break}else if(a){if(p>=e.deqCost*l||p>=e.deqAvgCost*s)break}else if(f>=e.deqNoDrawCost*Rl)break;var v=e.deq(t,d,c);if(!(v.length>0))break;for(var y=0;y0&&(e.onDeqd(t,u),!a&&e.shouldRedraw(t,u,d,c)&&r())}),a(t))}}},Fl=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ve;a(this,e),this.idsByKey=new et,this.keyForId=new et,this.cachesByLvl=new et,this.lvls=[],this.getKey=t,this.doesEleInvalidateKey=n}return o(e,[{key:"getIdsFor",value:function(e){null==e&&qe("Can not get id list for null key");var t=this.idsByKey,n=this.idsByKey.get(e);return n||(n=new nt,t.set(e,n)),n}},{key:"addIdForKey",value:function(e,t){null!=e&&this.getIdsFor(e).add(t)}},{key:"deleteIdForKey",value:function(e,t){null!=e&&this.getIdsFor(e).delete(t)}},{key:"getNumberOfIdsForKey",value:function(e){return null==e?0:this.getIdsFor(e).size}},{key:"updateKeyMappingFor",value:function(e){var t=e.id(),n=this.keyForId.get(t),r=this.getKey(e);this.deleteIdForKey(n,t),this.addIdForKey(r,t),this.keyForId.set(t,r)}},{key:"deleteKeyMappingFor",value:function(e){var t=e.id(),n=this.keyForId.get(t);this.deleteIdForKey(n,t),this.keyForId.delete(t)}},{key:"keyHasChangedFor",value:function(e){var t=e.id();return this.keyForId.get(t)!==this.getKey(e)}},{key:"isInvalid",value:function(e){return this.keyHasChangedFor(e)||this.doesEleInvalidateKey(e)}},{key:"getCachesAt",value:function(e){var t=this.cachesByLvl,n=this.lvls,r=t.get(e);return r||(r=new et,t.set(e,r),n.push(e)),r}},{key:"getCache",value:function(e,t){return this.getCachesAt(t).get(e)}},{key:"get",value:function(e,t){var n=this.getKey(e),r=this.getCache(n,t);return null!=r&&this.updateKeyMappingFor(e),r}},{key:"getForCachedKey",value:function(e,t){var n=this.keyForId.get(e.id());return this.getCache(n,t)}},{key:"hasCache",value:function(e,t){return this.getCachesAt(t).has(e)}},{key:"has",value:function(e,t){var n=this.getKey(e);return this.hasCache(n,t)}},{key:"setCache",value:function(e,t,n){n.key=e,this.getCachesAt(t).set(e,n)}},{key:"set",value:function(e,t,n){var r=this.getKey(e);this.setCache(r,t,n),this.updateKeyMappingFor(e)}},{key:"deleteCache",value:function(e,t){this.getCachesAt(t).delete(e)}},{key:"delete",value:function(e,t){var n=this.getKey(e);this.deleteCache(n,t)}},{key:"invalidateKey",value:function(e){var t=this;this.lvls.forEach((function(n){return t.deleteCache(e,n)}))}},{key:"invalidate",value:function(e){var t=e.id(),n=this.keyForId.get(t);this.deleteKeyMappingFor(e);var r=this.doesEleInvalidateKey(e);return r&&this.invalidateKey(n),r||0===this.getNumberOfIdsForKey(n)}}]),e}(),jl={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},ql=Ue({getKey:null,doesEleInvalidateKey:Ve,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:Re,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),Yl=function(e,t){var n=this;n.renderer=e,n.onDequeues=[];var r=ql(t);Y(n,r),n.lookup=new Fl(r.getKey,r.doesEleInvalidateKey),n.setupDequeueing()},Xl=Yl.prototype;Xl.reasons=jl,Xl.getTextureQueue=function(e){var t=this;return t.eleImgCaches=t.eleImgCaches||{},t.eleImgCaches[e]=t.eleImgCaches[e]||[]},Xl.getRetiredTextureQueue=function(e){var t=this.eleImgCaches.retired=this.eleImgCaches.retired||{};return t[e]=t[e]||[]},Xl.getElementQueue=function(){return this.eleCacheQueue=this.eleCacheQueue||new lt((function(e,t){return t.reqs-e.reqs}))},Xl.getElementKeyToQueue=function(){return this.eleKeyToCacheQueue=this.eleKeyToCacheQueue||{}},Xl.getElement=function(e,t,n,r,a){var i=this,o=this.renderer,s=o.cy.zoom(),l=this.lookup;if(!t||0===t.w||0===t.h||isNaN(t.w)||isNaN(t.h)||!e.visible()||e.removed())return null;if(!i.allowEdgeTxrCaching&&e.isEdge()||!i.allowParentTxrCaching&&e.isParent())return null;if(null==r&&(r=Math.ceil(Pt(s*n))),r<-4)r=-4;else if(s>=7.99||r>3)return null;var u=Math.pow(2,r),c=t.h*u,d=t.w*u,h=o.eleTextBiggerThanMin(e,u);if(!this.isVisible(e,h))return null;var p,f=l.get(e,r);if(f&&f.invalidated&&(f.invalidated=!1,f.texture.invalidatedWidth-=f.width),f)return f;if(p=c<=25?25:c<=50?50:50*Math.ceil(c/50),c>1024||d>1024)return null;var g=i.getTextureQueue(p),v=g[g.length-2],y=function(){return i.recycleTexture(p,d)||i.addTexture(p,d)};v||(v=g[g.length-1]),v||(v=y()),v.width-v.usedWidthr;D--)S=i.getElement(e,t,n,D,jl.downscale);P()}else{var T;if(!x&&!w&&!E)for(var _=r-1;_>=-4;_--){var M=l.get(e,_);if(M){T=M;break}}if(b(T))return i.queueElement(e,r),T;v.context.translate(v.usedWidth,0),v.context.scale(u,u),this.drawElement(v.context,e,t,h,!1),v.context.scale(1/u,1/u),v.context.translate(-v.usedWidth,0)}return f={x:v.usedWidth,texture:v,level:r,scale:u,width:d,height:c,scaledLabelShown:h},v.usedWidth+=Math.ceil(d+8),v.eleCaches.push(f),l.set(e,r,f),i.checkTextureFullness(v),f},Xl.invalidateElements=function(e){for(var t=0;t=.2*e.width&&this.retireTexture(e)},Xl.checkTextureFullness=function(e){var t=this.getTextureQueue(e.height);e.usedWidth/e.width>.8&&e.fullnessChecks>=10?Ze(t,e):e.fullnessChecks++},Xl.retireTexture=function(e){var t=e.height,n=this.getTextureQueue(t),r=this.lookup;Ze(n,e),e.retired=!0;for(var a=e.eleCaches,i=0;i=t)return i.retired=!1,i.usedWidth=0,i.invalidatedWidth=0,i.fullnessChecks=0,$e(i.eleCaches),i.context.setTransform(1,0,0,1,0,0),i.context.clearRect(0,0,i.width,i.height),Ze(r,i),n.push(i),i}},Xl.queueElement=function(e,t){var n=this.getElementQueue(),r=this.getElementKeyToQueue(),a=this.getKey(e),i=r[a];if(i)i.level=Math.max(i.level,t),i.eles.merge(e),i.reqs++,n.updateItem(i);else{var o={eles:e.spawn().merge(e),level:t,reqs:1,key:a};n.push(o),r[a]=o}},Xl.dequeue=function(e){for(var t=this,n=t.getElementQueue(),r=t.getElementKeyToQueue(),a=[],i=t.lookup,o=0;o<1&&n.size()>0;o++){var s=n.pop(),l=s.key,u=s.eles[0],c=i.hasCache(u,s.level);if(r[l]=null,!c){a.push(s);var d=t.getBoundingBox(u);t.getElement(u,d,e,s.level,jl.dequeue)}}return a},Xl.removeFromQueue=function(e){var t=this.getElementQueue(),n=this.getElementKeyToQueue(),r=this.getKey(e),a=n[r];null!=a&&(1===a.eles.length?(a.reqs=Oe,t.updateItem(a),t.pop(),n[r]=null):a.eles.unmerge(e))},Xl.onDequeue=function(e){this.onDequeues.push(e)},Xl.offDequeue=function(e){Ze(this.onDequeues,e)},Xl.setupDequeueing=Vl({deqRedrawThreshold:100,deqCost:.15,deqAvgCost:.1,deqNoDrawCost:.9,deqFastCost:.9,deq:function(e,t,n){return e.dequeue(t,n)},onDeqd:function(e,t){for(var n=0;n=3.99||n>2)return null;r.validateLayersElesOrdering(n,e);var o,s,l=r.layersByLevel,u=Math.pow(2,n),c=l[n]=l[n]||[];if(r.levelIsComplete(n,e))return c;!function(){var t=function(t){if(r.validateLayersElesOrdering(t,e),r.levelIsComplete(t,e))return s=l[t],!0},a=function(e){if(!s)for(var r=n+e;-4<=r&&r<=2&&!t(r);r+=e);};a(1),a(-1);for(var i=c.length-1;i>=0;i--){var o=c[i];o.invalid&&Ze(c,o)}}();var d=function(t){var a=(t=t||{}).after;!function(){if(!o){o=zt();for(var t=0;t32767||s>32767)return null;if(i*s>16e6)return null;var l=r.makeLayer(o,n);if(null!=a){var d=c.indexOf(a)+1;c.splice(d,0,l)}else(void 0===t.insert||t.insert)&&c.unshift(l);return l};if(r.skipping&&!i)return null;for(var h=null,p=e.length/1,f=!i,g=0;g=p||!qt(h.bb,v.boundingBox()))&&!(h=d({insert:!0,after:h})))return null;s||f?r.queueLayer(h,v):r.drawEleInLayer(h,v,n,t),h.eles.push(v),m[n]=h}}return s||(f?null:c)},Hl.getEleLevelForLayerLevel=function(e,t){return e},Hl.drawEleInLayer=function(e,t,n,r){var a=this.renderer,i=e.context,o=t.boundingBox();0!==o.w&&0!==o.h&&t.visible()&&(n=this.getEleLevelForLayerLevel(n,r),a.setImgSmoothing(i,!1),a.drawCachedElement(i,t,null,null,n,!0),a.setImgSmoothing(i,!0))},Hl.levelIsComplete=function(e,t){var n=this.layersByLevel[e];if(!n||0===n.length)return!1;for(var r=0,a=0;a0)return!1;if(i.invalid)return!1;r+=i.eles.length}return r===t.length},Hl.validateLayersElesOrdering=function(e,t){var n=this.layersByLevel[e];if(n)for(var r=0;r0){e=!0;break}}return e},Hl.invalidateElements=function(e){var t=this;0!==e.length&&(t.lastInvalidationTime=ke(),0!==e.length&&t.haveLayers()&&t.updateElementsInLayers(e,(function(e,n,r){t.invalidateLayer(e)})))},Hl.invalidateLayer=function(e){if(this.lastInvalidationTime=ke(),!e.invalid){var t=e.level,n=e.eles,r=this.layersByLevel[t];Ze(r,e),e.elesQueue=[],e.invalid=!0,e.replacement&&(e.replacement.invalid=!0);for(var a=0;a3&&void 0!==arguments[3])||arguments[3],a=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],i=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],o=this,s=t._private.rscratch;if((!i||t.visible())&&!s.badLine&&null!=s.allpts&&!isNaN(s.allpts[0])){var l;n&&(l=n,e.translate(-l.x1,-l.y1));var u=i?t.pstyle("opacity").value:1,c=i?t.pstyle("line-opacity").value:1,d=t.pstyle("curve-style").value,h=t.pstyle("line-style").value,p=t.pstyle("width").pfValue,f=t.pstyle("line-cap").value,g=t.pstyle("line-outline-width").value,v=t.pstyle("line-outline-color").value,y=u*c,m=u*c,b=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:y;"straight-triangle"===d?(o.eleStrokeStyle(e,t,n),o.drawEdgeTrianglePath(t,e,s.allpts)):(e.lineWidth=p,e.lineCap=f,o.eleStrokeStyle(e,t,n),o.drawEdgePath(t,e,s.allpts,h),e.lineCap="butt")},x=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:m;o.drawArrowheads(e,t,n)};if(e.lineJoin="round","yes"===t.pstyle("ghost").value){var w=t.pstyle("ghost-offset-x").pfValue,E=t.pstyle("ghost-offset-y").pfValue,k=t.pstyle("ghost-opacity").value,C=y*k;e.translate(w,E),b(C),x(C),e.translate(-w,-E)}else!function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:y;e.lineWidth=p+g,e.lineCap=f,g>0?(o.colorStrokeStyle(e,v[0],v[1],v[2],n),"straight-triangle"===d?o.drawEdgeTrianglePath(t,e,s.allpts):(o.drawEdgePath(t,e,s.allpts,h),e.lineCap="butt")):e.lineCap="butt"}();a&&o.drawEdgeUnderlay(e,t),b(),x(),a&&o.drawEdgeOverlay(e,t),o.drawElementText(e,t,null,r),n&&e.translate(l.x1,l.y1)}}},cu=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(t,n){if(n.visible()){var r=n.pstyle("".concat(e,"-opacity")).value;if(0!==r){var a=this,i=a.usePaths(),o=n._private.rscratch,s=2*n.pstyle("".concat(e,"-padding")).pfValue,l=n.pstyle("".concat(e,"-color")).value;t.lineWidth=s,"self"!==o.edgeType||i?t.lineCap="round":t.lineCap="butt",a.colorStrokeStyle(t,l[0],l[1],l[2],r),a.drawEdgePath(n,t,o.allpts,"solid")}}}};uu.drawEdgeOverlay=cu("overlay"),uu.drawEdgeUnderlay=cu("underlay"),uu.drawEdgePath=function(e,t,n,r){var a,i=e._private.rscratch,o=t,s=!1,l=this.usePaths(),u=e.pstyle("line-dash-pattern").pfValue,c=e.pstyle("line-dash-offset").pfValue;if(l){var h=n.join("$");i.pathCacheKey&&i.pathCacheKey===h?(a=t=i.pathCache,s=!0):(a=t=new Path2D,i.pathCacheKey=h,i.pathCache=a)}if(o.setLineDash)switch(r){case"dotted":o.setLineDash([1,1]);break;case"dashed":o.setLineDash(u),o.lineDashOffset=c;break;case"solid":o.setLineDash([])}if(!s&&!i.badLine)switch(t.beginPath&&t.beginPath(),t.moveTo(n[0],n[1]),i.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var p=2;p+35&&void 0!==arguments[5]?arguments[5]:5,o=arguments.length>6?arguments[6]:void 0;e.beginPath(),e.moveTo(t+i,n),e.lineTo(t+r-i,n),e.quadraticCurveTo(t+r,n,t+r,n+i),e.lineTo(t+r,n+a-i),e.quadraticCurveTo(t+r,n+a,t+r-i,n+a),e.lineTo(t+i,n+a),e.quadraticCurveTo(t,n+a,t,n+a-i),e.lineTo(t,n+i),e.quadraticCurveTo(t,n,t+i,n),e.closePath(),o?e.stroke():e.fill()}hu.eleTextBiggerThanMin=function(e,t){if(!t){var n=e.cy().zoom(),r=this.getPixelRatio(),a=Math.ceil(Pt(n*r));t=Math.pow(2,a)}return!(e.pstyle("font-size").pfValue*t5&&void 0!==arguments[5])||arguments[5],o=this;if(null==r){if(i&&!o.eleTextBiggerThanMin(t))return}else if(!1===r)return;if(t.isNode()){var s=t.pstyle("label");if(!s||!s.value)return;var l=o.getLabelJustification(t);e.textAlign=l,e.textBaseline="bottom"}else{var u=t.element()._private.rscratch.badLine,c=t.pstyle("label"),d=t.pstyle("source-label"),h=t.pstyle("target-label");if(u||(!c||!c.value)&&(!d||!d.value)&&(!h||!h.value))return;e.textAlign="center",e.textBaseline="bottom"}var p,f=!n;n&&(p=n,e.translate(-p.x1,-p.y1)),null==a?(o.drawText(e,t,null,f,i),t.isEdge()&&(o.drawText(e,t,"source",f,i),o.drawText(e,t,"target",f,i))):o.drawText(e,t,a,f,i),n&&e.translate(p.x1,p.y1)},hu.getFontCache=function(e){var t;this.fontCaches=this.fontCaches||[];for(var n=0;n2&&void 0!==arguments[2])||arguments[2],r=t.pstyle("font-style").strValue,a=t.pstyle("font-size").pfValue+"px",i=t.pstyle("font-family").strValue,o=t.pstyle("font-weight").strValue,s=n?t.effectiveOpacity()*t.pstyle("text-opacity").value:1,l=t.pstyle("text-outline-opacity").value*s,u=t.pstyle("color").value,c=t.pstyle("text-outline-color").value;e.font=r+" "+o+" "+a+" "+i,e.lineJoin="round",this.colorFillStyle(e,u[0],u[1],u[2],s),this.colorStrokeStyle(e,c[0],c[1],c[2],l)},hu.getTextAngle=function(e,t){var n=e._private.rscratch,r=t?t+"-":"",a=e.pstyle(r+"text-rotation"),i=Qe(n,"labelAngle",t);return"autorotate"===a.strValue?e.isEdge()?i:0:"none"===a.strValue?0:a.pfValue},hu.drawText=function(e,t,n){var r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],a=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],i=t._private.rscratch,o=a?t.effectiveOpacity():1;if(!a||0!==o&&0!==t.pstyle("text-opacity").value){"main"===n&&(n=null);var s,l,u=Qe(i,"labelX",n),c=Qe(i,"labelY",n),d=this.getLabelText(t,n);if(null!=d&&""!==d&&!isNaN(u)&&!isNaN(c)){this.setupTextStyle(e,t,a);var h,p=n?n+"-":"",f=Qe(i,"labelWidth",n),g=Qe(i,"labelHeight",n),v=t.pstyle(p+"text-margin-x").pfValue,y=t.pstyle(p+"text-margin-y").pfValue,m=t.isEdge(),b=t.pstyle("text-halign").value,x=t.pstyle("text-valign").value;switch(m&&(b="center",x="center"),u+=v,c+=y,0!==(h=r?this.getTextAngle(t,n):0)&&(s=u,l=c,e.translate(s,l),e.rotate(h),u=0,c=0),x){case"top":break;case"center":c+=g/2;break;case"bottom":c+=g}var w=t.pstyle("text-background-opacity").value,E=t.pstyle("text-border-opacity").value,k=t.pstyle("text-border-width").pfValue,C=t.pstyle("text-background-padding").pfValue,S=0===t.pstyle("text-background-shape").strValue.indexOf("round");if(w>0||k>0&&E>0){var P=u-C;switch(b){case"left":P-=f;break;case"center":P-=f/2}var D=c-g-C,T=f+2*C,_=g+2*C;if(w>0){var M=e.fillStyle,B=t.pstyle("text-background-color").value;e.fillStyle="rgba("+B[0]+","+B[1]+","+B[2]+","+w*o+")",S?pu(e,P,D,T,_,2):e.fillRect(P,D,T,_),e.fillStyle=M}if(k>0&&E>0){var N=e.strokeStyle,I=e.lineWidth,z=t.pstyle("text-border-color").value,A=t.pstyle("text-border-style").value;if(e.strokeStyle="rgba("+z[0]+","+z[1]+","+z[2]+","+E*o+")",e.lineWidth=k,e.setLineDash)switch(A){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"double":e.lineWidth=k/4,e.setLineDash([]);break;case"solid":e.setLineDash([])}if(S?pu(e,P,D,T,_,2,"stroke"):e.strokeRect(P,D,T,_),"double"===A){var L=k/2;S?pu(e,P+L,D+L,T-2*L,_-2*L,2,"stroke"):e.strokeRect(P+L,D+L,T-2*L,_-2*L)}e.setLineDash&&e.setLineDash([]),e.lineWidth=I,e.strokeStyle=N}}var O=2*t.pstyle("text-outline-width").pfValue;if(O>0&&(e.lineWidth=O),"wrap"===t.pstyle("text-wrap").value){var R=Qe(i,"labelWrapCachedLines",n),V=Qe(i,"labelLineHeight",n),F=f/2,j=this.getLabelJustification(t);switch("auto"===j||("left"===b?"left"===j?u+=-f:"center"===j&&(u+=-F):"center"===b?"left"===j?u+=-F:"right"===j&&(u+=F):"right"===b&&("center"===j?u+=F:"right"===j&&(u+=f))),x){case"top":case"center":case"bottom":c-=(R.length-1)*V}for(var q=0;q0&&e.strokeText(R[q],u,c),e.fillText(R[q],u,c),c+=V}else O>0&&e.strokeText(d,u,c),e.fillText(d,u,c);0!==h&&(e.rotate(-h),e.translate(-s,-l))}}};var fu={drawNode:function(e,t,n){var r,a,i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],o=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],s=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],l=this,u=t._private,c=u.rscratch,d=t.position();if(k(d.x)&&k(d.y)&&(!s||t.visible())){var h,p,f=s?t.effectiveOpacity():1,g=l.usePaths(),v=!1,y=t.padding();r=t.width()+2*y,a=t.height()+2*y,n&&(p=n,e.translate(-p.x1,-p.y1));for(var m=t.pstyle("background-image").value,b=new Array(m.length),x=new Array(m.length),w=0,E=0;E0&&void 0!==arguments[0]?arguments[0]:T;l.eleFillStyle(e,t,n)},X=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:L;l.colorStrokeStyle(e,_[0],_[1],_[2],t)},W=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:F;l.colorStrokeStyle(e,R[0],R[1],R[2],t)},H=function(e,t,n,r){var a,i=l.nodePathCache=l.nodePathCache||[],o=Ne("polygon"===n?n+","+r.join(","):n,""+t,""+e,""+q),s=i[o],u=!1;return null!=s?(a=s,u=!0,c.pathCache=a):(a=new Path2D,i[o]=c.pathCache=a),{path:a,cacheHit:u}},K=t.pstyle("shape").strValue,G=t.pstyle("shape-polygon-points").pfValue;if(g){e.translate(d.x,d.y);var U=H(r,a,K,G);h=U.path,v=U.cacheHit}var Z=function(){if(!v){var n=d;g&&(n={x:0,y:0}),l.nodeShapes[l.getNodeShape(t)].draw(h||e,n.x,n.y,r,a,q,c)}g?e.fill(h):e.fill()},$=function(){for(var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:f,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],a=u.backgrounding,i=0,o=0;o0&&void 0!==arguments[0]&&arguments[0],i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:f;l.hasPie(t)&&(l.drawPie(e,t,i),n&&(g||l.nodeShapes[l.getNodeShape(t)].draw(e,d.x,d.y,r,a,q,c)))},J=function(){var t=(P>0?P:-P)*(arguments.length>0&&void 0!==arguments[0]?arguments[0]:f),n=P>0?0:255;0!==P&&(l.colorFillStyle(e,n,n,n,t),g?e.fill(h):e.fill())},ee=function(){if(D>0){if(e.lineWidth=D,e.lineCap=N,e.lineJoin=B,e.setLineDash)switch(M){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash(z),e.lineDashOffset=A;break;case"solid":case"double":e.setLineDash([])}if("center"!==I){if(e.save(),e.lineWidth*=2,"inside"===I)g?e.clip(h):e.clip();else{var t=new Path2D;t.rect(-r/2-D,-a/2-D,r+2*D,a+2*D),t.addPath(h),e.clip(t,"evenodd")}g?e.stroke(h):e.stroke(),e.restore()}else g?e.stroke(h):e.stroke();if("double"===M){e.lineWidth=D/3;var n=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",g?e.stroke(h):e.stroke(),e.globalCompositeOperation=n}e.setLineDash&&e.setLineDash([])}},te=function(){if(O>0){if(e.lineWidth=O,e.lineCap="butt",e.setLineDash)switch(V){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"solid":case"double":e.setLineDash([])}var n=d;g&&(n={x:0,y:0});var i=l.getNodeShape(t),o=D;"inside"===I&&(o=0),"outside"===I&&(o*=2);var s,u=(r+o+(O+j))/r,c=(a+o+(O+j))/a,h=r*u,p=a*c,f=l.nodeShapes[i].points;if(g&&(s=H(h,p,i,f).path),"ellipse"===i)l.drawEllipsePath(s||e,n.x,n.y,h,p);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(i)){var v=0,y=0,m=0;"round-diamond"===i?v=1.4*(o+j+O):"round-heptagon"===i?(v=1.075*(o+j+O),m=-(o/2+j+O)/35):"round-hexagon"===i?v=1.12*(o+j+O):"round-pentagon"===i?(v=1.13*(o+j+O),m=-(o/2+j+O)/15):"round-tag"===i?(v=1.12*(o+j+O),y=.07*(o/2+O+j)):"round-triangle"===i&&(v=(o+j+O)*(Math.PI/2),m=-(o+j/2+O)/Math.PI),0!==v&&(h=r*(u=(r+v)/r),["round-hexagon","round-tag"].includes(i)||(p=a*(c=(a+v)/a)));for(var b=h/2,x=p/2,w=(q="auto"===q?un(h,p):q)+(o+O+j)/2,E=new Array(f.length/2),k=new Array(f.length/2),C=0;C0){if(r=r||n.position(),null==a||null==i){var d=n.padding();a=n.width()+2*d,i=n.height()+2*d}this.colorFillStyle(t,l[0],l[1],l[2],s),this.nodeShapes[u].draw(t,r.x,r.y,a+2*o,i+2*o,c),t.fill()}}}};fu.drawNodeOverlay=gu("overlay"),fu.drawNodeUnderlay=gu("underlay"),fu.hasPie=function(e){return(e=e[0])._private.hasPie},fu.drawPie=function(e,t,n,r){t=t[0],r=r||t.position();var a=t.cy().style(),i=t.pstyle("pie-size"),o=r.x,s=r.y,l=t.width(),u=t.height(),c=Math.min(l,u)/2,d=0;this.usePaths()&&(o=0,s=0),"%"===i.units?c*=i.pfValue:void 0!==i.pfValue&&(c=i.pfValue/2);for(var h=1;h<=a.pieBackgroundN;h++){var p=t.pstyle("pie-"+h+"-background-size").value,f=t.pstyle("pie-"+h+"-background-color").value,g=t.pstyle("pie-"+h+"-background-opacity").value*n,v=p/100;v+d>1&&(v=1-d);var y=1.5*Math.PI+2*Math.PI*d,m=y+2*Math.PI*v;0===p||d>=1||d+v>1||(e.beginPath(),e.moveTo(o,s),e.arc(o,s,c,y,m),e.closePath(),this.colorFillStyle(e,f[0],f[1],f[2],g),e.fill(),d+=v)}};for(var vu={getPixelRatio:function(){var e=this.data.contexts[0];if(null!=this.forcedPixelRatio)return this.forcedPixelRatio;var t=this.cy.window(),n=e.backingStorePixelRatio||e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1;return(t.devicePixelRatio||1)/n},paintCache:function(e){for(var t,n=this.paintCaches=this.paintCaches||[],r=!0,a=0;ao.minMbLowQualFrames&&(o.motionBlurPxRatio=o.mbPxRBlurry)),o.clearingMotionBlur&&(o.motionBlurPxRatio=1),o.textureDrawLastFrame&&!d&&(c[o.NODE]=!0,c[o.SELECT_BOX]=!0);var m=l.style(),b=l.zoom(),x=void 0!==a?a:b,w=l.pan(),E={x:w.x,y:w.y},k={zoom:b,pan:{x:w.x,y:w.y}},C=o.prevViewport;void 0===C||k.zoom!==C.zoom||k.pan.x!==C.pan.x||k.pan.y!==C.pan.y||g&&!f||(o.motionBlurPxRatio=1),i&&(E=i),x*=s,E.x*=s,E.y*=s;var S=o.getCachedZSortedEles();function P(e,t,n,r,a){var i=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",o.colorFillStyle(e,255,255,255,o.motionBlurTransparency),e.fillRect(t,n,r,a),e.globalCompositeOperation=i}function D(e,r){var s,l,c,d;o.clearingMotionBlur||e!==u.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]&&e!==u.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG]?(s=E,l=x,c=o.canvasWidth,d=o.canvasHeight):(s={x:w.x*p,y:w.y*p},l=b*p,c=o.canvasWidth*p,d=o.canvasHeight*p),e.setTransform(1,0,0,1,0,0),"motionBlur"===r?P(e,0,0,c,d):t||void 0!==r&&!r||e.clearRect(0,0,c,d),n||(e.translate(s.x,s.y),e.scale(l,l)),i&&e.translate(i.x,i.y),a&&e.scale(a,a)}if(d||(o.textureDrawLastFrame=!1),d){if(o.textureDrawLastFrame=!0,!o.textureCache){o.textureCache={},o.textureCache.bb=l.mutableElements().boundingBox(),o.textureCache.texture=o.data.bufferCanvases[o.TEXTURE_BUFFER];var T=o.data.bufferContexts[o.TEXTURE_BUFFER];T.setTransform(1,0,0,1,0,0),T.clearRect(0,0,o.canvasWidth*o.textureMult,o.canvasHeight*o.textureMult),o.render({forcedContext:T,drawOnlyNodeLayer:!0,forcedPxRatio:s*o.textureMult}),(k=o.textureCache.viewport={zoom:l.zoom(),pan:l.pan(),width:o.canvasWidth,height:o.canvasHeight}).mpan={x:(0-k.pan.x)/k.zoom,y:(0-k.pan.y)/k.zoom}}c[o.DRAG]=!1,c[o.NODE]=!1;var _=u.contexts[o.NODE],M=o.textureCache.texture;k=o.textureCache.viewport,_.setTransform(1,0,0,1,0,0),h?P(_,0,0,k.width,k.height):_.clearRect(0,0,k.width,k.height);var B=m.core("outside-texture-bg-color").value,N=m.core("outside-texture-bg-opacity").value;o.colorFillStyle(_,B[0],B[1],B[2],N),_.fillRect(0,0,k.width,k.height),b=l.zoom(),D(_,!1),_.clearRect(k.mpan.x,k.mpan.y,k.width/k.zoom/s,k.height/k.zoom/s),_.drawImage(M,k.mpan.x,k.mpan.y,k.width/k.zoom/s,k.height/k.zoom/s)}else o.textureOnViewport&&!t&&(o.textureCache=null);var I=l.extent(),z=o.pinching||o.hoverData.dragging||o.swipePanning||o.data.wheelZooming||o.hoverData.draggingEles||o.cy.animated(),A=o.hideEdgesOnViewport&&z,L=[];if(L[o.NODE]=!c[o.NODE]&&h&&!o.clearedForMotionBlur[o.NODE]||o.clearingMotionBlur,L[o.NODE]&&(o.clearedForMotionBlur[o.NODE]=!0),L[o.DRAG]=!c[o.DRAG]&&h&&!o.clearedForMotionBlur[o.DRAG]||o.clearingMotionBlur,L[o.DRAG]&&(o.clearedForMotionBlur[o.DRAG]=!0),c[o.NODE]||n||r||L[o.NODE]){var O=h&&!L[o.NODE]&&1!==p;D(_=t||(O?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]:u.contexts[o.NODE]),h&&!O?"motionBlur":void 0),A?o.drawCachedNodes(_,S.nondrag,s,I):o.drawLayeredElements(_,S.nondrag,s,I),o.debug&&o.drawDebugPoints(_,S.nondrag),n||h||(c[o.NODE]=!1)}if(!r&&(c[o.DRAG]||n||L[o.DRAG])&&(O=h&&!L[o.DRAG]&&1!==p,D(_=t||(O?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG]:u.contexts[o.DRAG]),h&&!O?"motionBlur":void 0),A?o.drawCachedNodes(_,S.drag,s,I):o.drawCachedElements(_,S.drag,s,I),o.debug&&o.drawDebugPoints(_,S.drag),n||h||(c[o.DRAG]=!1)),o.showFps||!r&&c[o.SELECT_BOX]&&!n){if(D(_=t||u.contexts[o.SELECT_BOX]),1==o.selection[4]&&(o.hoverData.selecting||o.touchData.selecting)){b=o.cy.zoom();var R=m.core("selection-box-border-width").value/b;_.lineWidth=R,_.fillStyle="rgba("+m.core("selection-box-color").value[0]+","+m.core("selection-box-color").value[1]+","+m.core("selection-box-color").value[2]+","+m.core("selection-box-opacity").value+")",_.fillRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]),R>0&&(_.strokeStyle="rgba("+m.core("selection-box-border-color").value[0]+","+m.core("selection-box-border-color").value[1]+","+m.core("selection-box-border-color").value[2]+","+m.core("selection-box-opacity").value+")",_.strokeRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]))}if(u.bgActivePosistion&&!o.hoverData.selecting){b=o.cy.zoom();var V=u.bgActivePosistion;_.fillStyle="rgba("+m.core("active-bg-color").value[0]+","+m.core("active-bg-color").value[1]+","+m.core("active-bg-color").value[2]+","+m.core("active-bg-opacity").value+")",_.beginPath(),_.arc(V.x,V.y,m.core("active-bg-size").pfValue/b,0,2*Math.PI),_.fill()}var F=o.lastRedrawTime;if(o.showFps&&F){F=Math.round(F);var j=Math.round(1e3/F);_.setTransform(1,0,0,1,0,0),_.fillStyle="rgba(255, 0, 0, 0.75)",_.strokeStyle="rgba(255, 0, 0, 0.75)",_.lineWidth=1,_.fillText("1 frame = "+F+" ms = "+j+" fps",0,20),_.strokeRect(0,30,250,20),_.fillRect(0,30,250*Math.min(j/60,1),20)}n||(c[o.SELECT_BOX]=!1)}if(h&&1!==p){var q=u.contexts[o.NODE],Y=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_NODE],X=u.contexts[o.DRAG],W=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_DRAG],H=function(e,t,n){e.setTransform(1,0,0,1,0,0),n||!y?e.clearRect(0,0,o.canvasWidth,o.canvasHeight):P(e,0,0,o.canvasWidth,o.canvasHeight);var r=p;e.drawImage(t,0,0,o.canvasWidth*r,o.canvasHeight*r,0,0,o.canvasWidth,o.canvasHeight)};(c[o.NODE]||L[o.NODE])&&(H(q,Y,L[o.NODE]),c[o.NODE]=!1),(c[o.DRAG]||L[o.DRAG])&&(H(X,W,L[o.DRAG]),c[o.DRAG]=!1)}o.prevViewport=k,o.clearingMotionBlur&&(o.clearingMotionBlur=!1,o.motionBlurCleared=!0,o.motionBlur=!0),h&&(o.motionBlurTimeout=setTimeout((function(){o.motionBlurTimeout=null,o.clearedForMotionBlur[o.NODE]=!1,o.clearedForMotionBlur[o.DRAG]=!1,o.motionBlur=!1,o.clearingMotionBlur=!d,o.mbFrames=0,c[o.NODE]=!0,c[o.DRAG]=!0,o.redraw()}),100)),t||l.emit("render")}},yu={drawPolygonPath:function(e,t,n,r,a,i){var o=r/2,s=a/2;e.beginPath&&e.beginPath(),e.moveTo(t+o*i[0],n+s*i[1]);for(var l=1;l0&&i>0){h.clearRect(0,0,a,i),h.globalCompositeOperation="source-over";var p=this.getCachedZSortedEles();if(e.full)h.translate(-n.x1*l,-n.y1*l),h.scale(l,l),this.drawElements(h,p),h.scale(1/l,1/l),h.translate(n.x1*l,n.y1*l);else{var f=t.pan(),g={x:f.x*l,y:f.y*l};l*=t.zoom(),h.translate(g.x,g.y),h.scale(l,l),this.drawElements(h,p),h.scale(1/l,1/l),h.translate(-g.x,-g.y)}e.bg&&(h.globalCompositeOperation="destination-over",h.fillStyle=e.bg,h.rect(0,0,a,i),h.fill())}return d},Cu.png=function(e){return Pu(e,this.bufferCanvasImage(e),"image/png")},Cu.jpg=function(e){return Pu(e,this.bufferCanvasImage(e),"image/jpeg")};var Du=_u,Tu=_u.prototype;function _u(e){var t=this,n=t.cy.window().document;t.data={canvases:new Array(Tu.CANVAS_LAYERS),contexts:new Array(Tu.CANVAS_LAYERS),canvasNeedsRedraw:new Array(Tu.CANVAS_LAYERS),bufferCanvases:new Array(Tu.BUFFER_COUNT),bufferContexts:new Array(Tu.CANVAS_LAYERS)};var r="-webkit-tap-highlight-color",a="rgba(0,0,0,0)";t.data.canvasContainer=n.createElement("div");var i=t.data.canvasContainer.style;t.data.canvasContainer.style[r]=a,i.position="relative",i.zIndex="0",i.overflow="hidden";var o=e.cy.container();o.appendChild(t.data.canvasContainer),o.style[r]=a;var s={"-webkit-user-select":"none","-moz-user-select":"-moz-none","user-select":"none","-webkit-tap-highlight-color":"rgba(0,0,0,0)","outline-style":"none"};p&&p.userAgent.match(/msie|trident|edge/i)&&(s["-ms-touch-action"]="none",s["touch-action"]="none");for(var l=0;l{"use strict";var e={658:t=>{t.exports=null!=Object.assign?Object.assign.bind(Object):function(t){for(var e=arguments.length,i=Array(e>1?e-1:0),r=1;r{var r=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var i=[],r=!0,n=!1,o=void 0;try{for(var s,a=t[Symbol.iterator]();!(r=(s=a.next()).done)&&(i.push(s.value),!e||i.length!==e);r=!0);}catch(t){n=!0,o=t}finally{try{!r&&a.return&&a.return()}finally{if(n)throw o}}return i}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")},n=i(140).layoutBase.LinkedList,o={getTopMostNodes:function(t){for(var e={},i=0;i0&&l.merge(t)}));for(var c=0;c1){l=a[0],c=l.connectedEdges().length,a.forEach((function(t){t.connectedEdges().length0&&r.set("dummy"+(r.size+1),u),p},relocateComponent:function(t,e,i){if(!i.fixedNodeConstraint){var n=Number.POSITIVE_INFINITY,o=Number.NEGATIVE_INFINITY,s=Number.POSITIVE_INFINITY,a=Number.NEGATIVE_INFINITY;if("draft"==i.quality){var h=!0,l=!1,c=void 0;try{for(var d,g=e.nodeIndexes[Symbol.iterator]();!(h=(d=g.next()).done);h=!0){var u=d.value,p=r(u,2),f=p[0],y=p[1],v=i.cy.getElementById(f);if(v){var m=v.boundingBox(),E=e.xCoords[y]-m.w/2,N=e.xCoords[y]+m.w/2,T=e.yCoords[y]-m.h/2,A=e.yCoords[y]+m.h/2;Eo&&(o=N),Ta&&(a=A)}}}catch(t){l=!0,c=t}finally{try{!h&&g.return&&g.return()}finally{if(l)throw c}}var w=t.x-(o+n)/2,L=t.y-(a+s)/2;e.xCoords=e.xCoords.map((function(t){return t+w})),e.yCoords=e.yCoords.map((function(t){return t+L}))}else{Object.keys(e).forEach((function(t){var i=e[t],r=i.getRect().x,h=i.getRect().x+i.getRect().width,l=i.getRect().y,c=i.getRect().y+i.getRect().height;ro&&(o=h),la&&(a=c)}));var I=t.x-(o+n)/2,_=t.y-(a+s)/2;Object.keys(e).forEach((function(t){var i=e[t];i.setCenter(i.getCenterX()+I,i.getCenterY()+_)}))}}},calcBoundingBox:function(t,e,i,r){for(var n=Number.MAX_SAFE_INTEGER,o=Number.MIN_SAFE_INTEGER,s=Number.MAX_SAFE_INTEGER,a=Number.MIN_SAFE_INTEGER,h=void 0,l=void 0,c=void 0,d=void 0,g=t.descendants().not(":parent"),u=g.length,p=0;p(h=e[r.get(f.id())]-f.width()/2)&&(n=h),o<(l=e[r.get(f.id())]+f.width()/2)&&(o=l),s>(c=i[r.get(f.id())]-f.height()/2)&&(s=c),a<(d=i[r.get(f.id())]+f.height()/2)&&(a=d)}var y={};return y.topLeftX=n,y.topLeftY=s,y.width=o-n,y.height=a-s,y},calcParentsWithoutChildren:function(t,e){var i=t.collection();return e.nodes(":parent").forEach((function(t){var e=!1;t.children().forEach((function(t){"none"!=t.css("display")&&(e=!0)})),e||i.merge(t)})),i}};t.exports=o},816:(t,e,i)=>{var r=i(548),n=i(140).CoSELayout,o=i(140).CoSENode,s=i(140).layoutBase.PointD,a=i(140).layoutBase.DimensionD,h=i(140).layoutBase.LayoutConstants,l=i(140).layoutBase.FDLayoutConstants,c=i(140).CoSEConstants;t.exports={coseLayout:function(t,e){var i=t.cy,d=t.eles,g=d.nodes(),u=d.edges(),p=void 0,f=void 0,y=void 0,v={};t.randomize&&(p=e.nodeIndexes,f=e.xCoords,y=e.yCoords);var m=function(t){return"function"==typeof t},E=function(t,e){return m(t)?t(e):t},N=r.calcParentsWithoutChildren(i,d);null!=t.nestingFactor&&(c.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=l.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=t.nestingFactor),null!=t.gravity&&(c.DEFAULT_GRAVITY_STRENGTH=l.DEFAULT_GRAVITY_STRENGTH=t.gravity),null!=t.numIter&&(c.MAX_ITERATIONS=l.MAX_ITERATIONS=t.numIter),null!=t.gravityRange&&(c.DEFAULT_GRAVITY_RANGE_FACTOR=l.DEFAULT_GRAVITY_RANGE_FACTOR=t.gravityRange),null!=t.gravityCompound&&(c.DEFAULT_COMPOUND_GRAVITY_STRENGTH=l.DEFAULT_COMPOUND_GRAVITY_STRENGTH=t.gravityCompound),null!=t.gravityRangeCompound&&(c.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=l.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=t.gravityRangeCompound),null!=t.initialEnergyOnIncremental&&(c.DEFAULT_COOLING_FACTOR_INCREMENTAL=l.DEFAULT_COOLING_FACTOR_INCREMENTAL=t.initialEnergyOnIncremental),null!=t.tilingCompareBy&&(c.TILING_COMPARE_BY=t.tilingCompareBy),"proof"==t.quality?h.QUALITY=2:h.QUALITY=0,c.NODE_DIMENSIONS_INCLUDE_LABELS=l.NODE_DIMENSIONS_INCLUDE_LABELS=h.NODE_DIMENSIONS_INCLUDE_LABELS=t.nodeDimensionsIncludeLabels,c.DEFAULT_INCREMENTAL=l.DEFAULT_INCREMENTAL=h.DEFAULT_INCREMENTAL=!t.randomize,c.ANIMATE=l.ANIMATE=h.ANIMATE=t.animate,c.TILE=t.tile,c.TILING_PADDING_VERTICAL="function"==typeof t.tilingPaddingVertical?t.tilingPaddingVertical.call():t.tilingPaddingVertical,c.TILING_PADDING_HORIZONTAL="function"==typeof t.tilingPaddingHorizontal?t.tilingPaddingHorizontal.call():t.tilingPaddingHorizontal,c.DEFAULT_INCREMENTAL=l.DEFAULT_INCREMENTAL=h.DEFAULT_INCREMENTAL=!0,c.PURE_INCREMENTAL=!t.randomize,h.DEFAULT_UNIFORM_LEAF_NODE_SIZES=t.uniformNodeDimensions,"transformed"==t.step&&(c.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,c.ENFORCE_CONSTRAINTS=!1,c.APPLY_LAYOUT=!1),"enforced"==t.step&&(c.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,c.ENFORCE_CONSTRAINTS=!0,c.APPLY_LAYOUT=!1),"cose"==t.step&&(c.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,c.ENFORCE_CONSTRAINTS=!1,c.APPLY_LAYOUT=!0),"all"==t.step&&(t.randomize?c.TRANSFORM_ON_CONSTRAINT_HANDLING=!0:c.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,c.ENFORCE_CONSTRAINTS=!0,c.APPLY_LAYOUT=!0),t.fixedNodeConstraint||t.alignmentConstraint||t.relativePlacementConstraint?c.TREE_REDUCTION_ON_INCREMENTAL=!1:c.TREE_REDUCTION_ON_INCREMENTAL=!0;var T=new n,A=T.newGraphManager();return function t(e,i,n,h){for(var l=i.length,c=0;c0&&t(n.getGraphManager().add(n.newGraph(),u),g,n,h)}}(A.addRoot(),r.getTopMostNodes(g),T,t),function(e,i,r){for(var n=0,o=0,s=0;s0?c.DEFAULT_EDGE_LENGTH=l.DEFAULT_EDGE_LENGTH=n/o:m(t.idealEdgeLength)?c.DEFAULT_EDGE_LENGTH=l.DEFAULT_EDGE_LENGTH=50:c.DEFAULT_EDGE_LENGTH=l.DEFAULT_EDGE_LENGTH=t.idealEdgeLength,c.MIN_REPULSION_DIST=l.MIN_REPULSION_DIST=l.DEFAULT_EDGE_LENGTH/10,c.DEFAULT_RADIAL_SEPARATION=l.DEFAULT_EDGE_LENGTH)}(T,A,u),function(t,e){e.fixedNodeConstraint&&(t.constraints.fixedNodeConstraint=e.fixedNodeConstraint),e.alignmentConstraint&&(t.constraints.alignmentConstraint=e.alignmentConstraint),e.relativePlacementConstraint&&(t.constraints.relativePlacementConstraint=e.relativePlacementConstraint)}(T,t),T.runLayout(),v}}},212:(t,e,i)=>{var r=function(){function t(t,e){for(var i=0;i0)if(d){var g=o.getTopMostNodes(t.eles.nodes());if((h=o.connectComponents(e,t.eles,g)).forEach((function(t){var e=t.boundingBox();l.push({x:e.x1+e.w/2,y:e.y1+e.h/2})})),t.randomize&&h.forEach((function(e){t.eles=e,r.push(s(t))})),"default"==t.quality||"proof"==t.quality){var u=e.collection();if(t.tile){var p=new Map,f=0,y={nodeIndexes:p,xCoords:[],yCoords:[]},v=[];if(h.forEach((function(t,e){0==t.edges().length&&(t.nodes().forEach((function(e,i){u.merge(t.nodes()[i]),e.isParent()||(y.nodeIndexes.set(t.nodes()[i].id(),f++),y.xCoords.push(t.nodes()[0].position().x),y.yCoords.push(t.nodes()[0].position().y))})),v.push(e))})),u.length>1){var m=u.boundingBox();l.push({x:m.x1+m.w/2,y:m.y1+m.h/2}),h.push(u),r.push(y);for(var E=v.length-1;E>=0;E--)h.splice(v[E],1),r.splice(v[E],1),l.splice(v[E],1)}}h.forEach((function(e,i){t.eles=e,n.push(a(t,r[i])),o.relocateComponent(l[i],n[i],t)}))}else h.forEach((function(e,i){o.relocateComponent(l[i],r[i],t)}));var N=new Set;if(h.length>1){var T=[],A=i.filter((function(t){return"none"==t.css("display")}));h.forEach((function(e,i){var s=void 0;if("draft"==t.quality&&(s=r[i].nodeIndexes),e.nodes().not(A).length>0){var a={edges:[],nodes:[]},h=void 0;e.nodes().not(A).forEach((function(e){if("draft"==t.quality)if(e.isParent()){var l=o.calcBoundingBox(e,r[i].xCoords,r[i].yCoords,s);a.nodes.push({x:l.topLeftX,y:l.topLeftY,width:l.width,height:l.height})}else h=s.get(e.id()),a.nodes.push({x:r[i].xCoords[h]-e.boundingbox().w/2,y:r[i].yCoords[h]-e.boundingbox().h/2,width:e.boundingbox().w,height:e.boundingbox().h});else n[i][e.id()]&&a.nodes.push({x:n[i][e.id()].getLeft(),y:n[i][e.id()].getTop(),width:n[i][e.id()].getWidth(),height:n[i][e.id()].getHeight()})})),e.edges().forEach((function(e){var h=e.source(),l=e.target();if("none"!=h.css("display")&&"none"!=l.css("display"))if("draft"==t.quality){var c=s.get(h.id()),d=s.get(l.id()),g=[],u=[];if(h.isParent()){var p=o.calcBoundingBox(h,r[i].xCoords,r[i].yCoords,s);g.push(p.topLeftX+p.width/2),g.push(p.topLeftY+p.height/2)}else g.push(r[i].xCoords[c]),g.push(r[i].yCoords[c]);if(l.isParent()){var f=o.calcBoundingBox(l,r[i].xCoords,r[i].yCoords,s);u.push(f.topLeftX+f.width/2),u.push(f.topLeftY+f.height/2)}else u.push(r[i].xCoords[d]),u.push(r[i].yCoords[d]);a.edges.push({startX:g[0],startY:g[1],endX:u[0],endY:u[1]})}else n[i][h.id()]&&n[i][l.id()]&&a.edges.push({startX:n[i][h.id()].getCenterX(),startY:n[i][h.id()].getCenterY(),endX:n[i][l.id()].getCenterX(),endY:n[i][l.id()].getCenterY()})})),a.nodes.length>0&&(T.push(a),N.add(i))}}));var w=c.packComponents(T,t.randomize).shifts;if("draft"==t.quality)r.forEach((function(t,e){var i=t.xCoords.map((function(t){return t+w[e].dx})),r=t.yCoords.map((function(t){return t+w[e].dy}));t.xCoords=i,t.yCoords=r}));else{var L=0;N.forEach((function(t){Object.keys(n[t]).forEach((function(e){var i=n[t][e];i.setCenter(i.getCenterX()+w[L].dx,i.getCenterY()+w[L].dy)})),L++}))}}}else{var I=t.eles.boundingBox();if(l.push({x:I.x1+I.w/2,y:I.y1+I.h/2}),t.randomize){var _=s(t);r.push(_)}"default"==t.quality||"proof"==t.quality?(n.push(a(t,r[0])),o.relocateComponent(l[0],n[0],t)):o.relocateComponent(l[0],r[0],t)}var C=function(e,i){if("default"==t.quality||"proof"==t.quality){"number"==typeof e&&(e=i);var o=void 0,s=void 0,a=e.data("id");return n.forEach((function(t){a in t&&(o={x:t[a].getRect().getCenterX(),y:t[a].getRect().getCenterY()},s=t[a])})),t.nodeDimensionsIncludeLabels&&(s.labelWidth&&("left"==s.labelPosHorizontal?o.x+=s.labelWidth/2:"right"==s.labelPosHorizontal&&(o.x-=s.labelWidth/2)),s.labelHeight&&("top"==s.labelPosVertical?o.y+=s.labelHeight/2:"bottom"==s.labelPosVertical&&(o.y-=s.labelHeight/2))),null==o&&(o={x:e.position("x"),y:e.position("y")}),{x:o.x,y:o.y}}var h=void 0;return r.forEach((function(t){var i=t.nodeIndexes.get(e.id());null!=i&&(h={x:t.xCoords[i],y:t.yCoords[i]})})),null==h&&(h={x:e.position("x"),y:e.position("y")}),{x:h.x,y:h.y}};if("default"==t.quality||"proof"==t.quality||t.randomize){var M=o.calcParentsWithoutChildren(e,i),x=i.filter((function(t){return"none"==t.css("display")}));t.eles=i.not(x),i.nodes().not(":parent").not(x).layoutPositions(this,t,C),M.length>0&&M.forEach((function(t){t.position(C(t))}))}else console.log("If randomize option is set to false, then quality option must be 'default' or 'proof'.")}}]),t}();t.exports=l},657:(t,e,i)=>{var r=i(548),n=i(140).layoutBase.Matrix,o=i(140).layoutBase.SVD;t.exports={spectralLayout:function(t){var e=t.cy,i=t.eles,s=i.nodes(),a=i.nodes(":parent"),h=new Map,l=new Map,c=new Map,d=[],g=[],u=[],p=[],f=[],y=[],v=[],m=[],E=void 0,N=1e8,T=1e-9,A=t.piTol,w=t.samplingType,L=t.nodeSeparation,I=void 0,_=function(t,e,i){for(var r=[],n=0,o=0,s=0,a=void 0,h=[],c=0,g=1,u=0;u=n;){s=r[n++];for(var p=d[s],v=0;vc&&(c=f[T],g=T)}return g};r.connectComponents(e,i,r.getTopMostNodes(s),h),a.forEach((function(t){r.connectComponents(e,i,r.getTopMostNodes(t.descendants().intersection(i)),h)}));for(var C=0,M=0;M0&&(r.isParent()?d[e].push(c.get(r.id())):d[e].push(r.id()))}))}));var S=function(t){var i=l.get(t),r=void 0;h.get(t).forEach((function(n){r=e.getElementById(n).isParent()?c.get(n):n,d[i].push(r),d[l.get(r)].push(t)}))},P=!0,U=!1,Y=void 0;try{for(var k,H=h.keys()[Symbol.iterator]();!(P=(k=H.next()).done);P=!0)S(k.value)}catch(t){U=!0,Y=t}finally{try{!P&&H.return&&H.return()}finally{if(U)throw Y}}var X=void 0;if((E=l.size)>2){I=E=1)break;l=h}for(var p=0;p=1)break;l=h}for(var v=0;v{var r=i(212),n=function(t){t&&t("layout","fcose",r)};"undefined"!=typeof cytoscape&&n(cytoscape),t.exports=n},140:e=>{e.exports=t}},i={},r=function t(r){var n=i[r];if(void 0!==n)return n.exports;var o=i[r]={exports:{}};return e[r](o,o.exports,t),o.exports}(579);return r})()},t.exports=r(i(1709))},1709:function(t,e,i){var r;r=function(t){return(()=>{"use strict";var e={45:(t,e,i)=>{var r={};r.layoutBase=i(551),r.CoSEConstants=i(806),r.CoSEEdge=i(767),r.CoSEGraph=i(880),r.CoSEGraphManager=i(578),r.CoSELayout=i(765),r.CoSENode=i(991),r.ConstraintHandler=i(902),t.exports=r},806:(t,e,i)=>{var r=i(551).FDLayoutConstants;function n(){}for(var o in r)n[o]=r[o];n.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,n.DEFAULT_RADIAL_SEPARATION=r.DEFAULT_EDGE_LENGTH,n.DEFAULT_COMPONENT_SEPERATION=60,n.TILE=!0,n.TILING_PADDING_VERTICAL=10,n.TILING_PADDING_HORIZONTAL=10,n.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,n.ENFORCE_CONSTRAINTS=!0,n.APPLY_LAYOUT=!0,n.RELAX_MOVEMENT_ON_CONSTRAINTS=!0,n.TREE_REDUCTION_ON_INCREMENTAL=!0,n.PURE_INCREMENTAL=n.DEFAULT_INCREMENTAL,t.exports=n},767:(t,e,i)=>{var r=i(551).FDLayoutEdge;function n(t,e,i){r.call(this,t,e,i)}for(var o in n.prototype=Object.create(r.prototype),r)n[o]=r[o];t.exports=n},880:(t,e,i)=>{var r=i(551).LGraph;function n(t,e,i){r.call(this,t,e,i)}for(var o in n.prototype=Object.create(r.prototype),r)n[o]=r[o];t.exports=n},578:(t,e,i)=>{var r=i(551).LGraphManager;function n(t){r.call(this,t)}for(var o in n.prototype=Object.create(r.prototype),r)n[o]=r[o];t.exports=n},765:(t,e,i)=>{var r=i(551).FDLayout,n=i(578),o=i(880),s=i(991),a=i(767),h=i(806),l=i(902),c=i(551).FDLayoutConstants,d=i(551).LayoutConstants,g=i(551).Point,u=i(551).PointD,p=i(551).DimensionD,f=i(551).Layout,y=i(551).Integer,v=i(551).IGeometry,m=i(551).LGraph,E=i(551).Transform,N=i(551).LinkedList;function T(){r.call(this),this.toBeTiled={},this.constraints={}}for(var A in T.prototype=Object.create(r.prototype),r)T[A]=r[A];T.prototype.newGraphManager=function(){var t=new n(this);return this.graphManager=t,t},T.prototype.newGraph=function(t){return new o(null,this.graphManager,t)},T.prototype.newNode=function(t){return new s(this.graphManager,t)},T.prototype.newEdge=function(t){return new a(null,null,t)},T.prototype.initParameters=function(){r.prototype.initParameters.call(this,arguments),this.isSubLayout||(h.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=h.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=h.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=c.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=c.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=c.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=c.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1)},T.prototype.initSpringEmbedder=function(){r.prototype.initSpringEmbedder.call(this),this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/c.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=.04,this.coolingAdjuster=1},T.prototype.layout=function(){return d.DEFAULT_CREATE_BENDS_AS_NEEDED&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},T.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental)h.TREE_REDUCTION_ON_INCREMENTAL&&(this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation(),e=new Set(this.getAllNodes()),i=this.nodesWithGravity.filter((function(t){return e.has(t)})),this.graphManager.setAllNodesToApplyGravitation(i));else{var t=this.getFlatForest();if(t.length>0)this.positionNodesRadially(t);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var e=new Set(this.getAllNodes()),i=this.nodesWithGravity.filter((function(t){return e.has(t)}));this.graphManager.setAllNodesToApplyGravitation(i),this.positionNodesRandomly()}}return Object.keys(this.constraints).length>0&&(l.handleConstraints(this),this.initConstraintVariables()),this.initSpringEmbedder(),h.APPLY_LAYOUT&&this.runSpringEmbedder(),!0},T.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}if(this.totalIterations%c.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged()){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}this.coolingCycle++,0==this.layoutQuality?this.coolingAdjuster=this.coolingCycle:1==this.layoutQuality&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var t=new Set(this.getAllNodes()),e=this.nodesWithGravity.filter((function(e){return t.has(e)}));this.graphManager.setAllNodesToApplyGravitation(e),this.graphManager.updateBounds(),this.updateGrid(),h.PURE_INCREMENTAL?this.coolingFactor=c.DEFAULT_COOLING_FACTOR_INCREMENTAL/2:this.coolingFactor=c.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),h.PURE_INCREMENTAL?this.coolingFactor=c.DEFAULT_COOLING_FACTOR_INCREMENTAL/2*((100-this.afterGrowthIterations)/100):this.coolingFactor=c.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var i=!this.isTreeGrowing&&!this.isGrowthFinished,r=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(i,r),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},T.prototype.getPositionsData=function(){for(var t=this.graphManager.getAllNodes(),e={},i=0;i0&&this.updateDisplacements(),e=0;e0&&(r.fixedNodeWeight=o)}if(this.constraints.relativePlacementConstraint){var s=new Map,a=new Map;if(this.dummyToNodeForVerticalAlignment=new Map,this.dummyToNodeForHorizontalAlignment=new Map,this.fixedNodesOnHorizontal=new Set,this.fixedNodesOnVertical=new Set,this.fixedNodeSet.forEach((function(e){t.fixedNodesOnHorizontal.add(e),t.fixedNodesOnVertical.add(e)})),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical){var l=this.constraints.alignmentConstraint.vertical;for(i=0;i=2*t.length/3;r--)e=Math.floor(Math.random()*(r+1)),i=t[r],t[r]=t[e],t[e]=i;return t},this.nodesInRelativeHorizontal=[],this.nodesInRelativeVertical=[],this.nodeToRelativeConstraintMapHorizontal=new Map,this.nodeToRelativeConstraintMapVertical=new Map,this.nodeToTempPositionMapHorizontal=new Map,this.nodeToTempPositionMapVertical=new Map,this.constraints.relativePlacementConstraint.forEach((function(e){if(e.left){var i=s.has(e.left)?s.get(e.left):e.left,r=s.has(e.right)?s.get(e.right):e.right;t.nodesInRelativeHorizontal.includes(i)||(t.nodesInRelativeHorizontal.push(i),t.nodeToRelativeConstraintMapHorizontal.set(i,[]),t.dummyToNodeForVerticalAlignment.has(i)?t.nodeToTempPositionMapHorizontal.set(i,t.idToNodeMap.get(t.dummyToNodeForVerticalAlignment.get(i)[0]).getCenterX()):t.nodeToTempPositionMapHorizontal.set(i,t.idToNodeMap.get(i).getCenterX())),t.nodesInRelativeHorizontal.includes(r)||(t.nodesInRelativeHorizontal.push(r),t.nodeToRelativeConstraintMapHorizontal.set(r,[]),t.dummyToNodeForVerticalAlignment.has(r)?t.nodeToTempPositionMapHorizontal.set(r,t.idToNodeMap.get(t.dummyToNodeForVerticalAlignment.get(r)[0]).getCenterX()):t.nodeToTempPositionMapHorizontal.set(r,t.idToNodeMap.get(r).getCenterX())),t.nodeToRelativeConstraintMapHorizontal.get(i).push({right:r,gap:e.gap}),t.nodeToRelativeConstraintMapHorizontal.get(r).push({left:i,gap:e.gap})}else{var n=a.has(e.top)?a.get(e.top):e.top,o=a.has(e.bottom)?a.get(e.bottom):e.bottom;t.nodesInRelativeVertical.includes(n)||(t.nodesInRelativeVertical.push(n),t.nodeToRelativeConstraintMapVertical.set(n,[]),t.dummyToNodeForHorizontalAlignment.has(n)?t.nodeToTempPositionMapVertical.set(n,t.idToNodeMap.get(t.dummyToNodeForHorizontalAlignment.get(n)[0]).getCenterY()):t.nodeToTempPositionMapVertical.set(n,t.idToNodeMap.get(n).getCenterY())),t.nodesInRelativeVertical.includes(o)||(t.nodesInRelativeVertical.push(o),t.nodeToRelativeConstraintMapVertical.set(o,[]),t.dummyToNodeForHorizontalAlignment.has(o)?t.nodeToTempPositionMapVertical.set(o,t.idToNodeMap.get(t.dummyToNodeForHorizontalAlignment.get(o)[0]).getCenterY()):t.nodeToTempPositionMapVertical.set(o,t.idToNodeMap.get(o).getCenterY())),t.nodeToRelativeConstraintMapVertical.get(n).push({bottom:o,gap:e.gap}),t.nodeToRelativeConstraintMapVertical.get(o).push({top:n,gap:e.gap})}}));else{var d=new Map,g=new Map;this.constraints.relativePlacementConstraint.forEach((function(t){if(t.left){var e=s.has(t.left)?s.get(t.left):t.left,i=s.has(t.right)?s.get(t.right):t.right;d.has(e)?d.get(e).push(i):d.set(e,[i]),d.has(i)?d.get(i).push(e):d.set(i,[e])}else{var r=a.has(t.top)?a.get(t.top):t.top,n=a.has(t.bottom)?a.get(t.bottom):t.bottom;g.has(r)?g.get(r).push(n):g.set(r,[n]),g.has(n)?g.get(n).push(r):g.set(n,[r])}}));var u=function(t,e){var i=[],r=[],n=new N,o=new Set,s=0;return t.forEach((function(a,h){if(!o.has(h)){i[s]=[],r[s]=!1;var l=h;for(n.push(l),o.add(l),i[s].push(l);0!=n.length;)l=n.shift(),e.has(l)&&(r[s]=!0),t.get(l).forEach((function(t){o.has(t)||(n.push(t),o.add(t),i[s].push(t))}));s++}})),{components:i,isFixed:r}},p=u(d,t.fixedNodesOnHorizontal);this.componentsOnHorizontal=p.components,this.fixedComponentsOnHorizontal=p.isFixed;var f=u(g,t.fixedNodesOnVertical);this.componentsOnVertical=f.components,this.fixedComponentsOnVertical=f.isFixed}}},T.prototype.updateDisplacements=function(){var t=this;if(this.constraints.fixedNodeConstraint&&this.constraints.fixedNodeConstraint.forEach((function(e){var i=t.idToNodeMap.get(e.nodeId);i.displacementX=0,i.displacementY=0})),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var e=this.constraints.alignmentConstraint.vertical,i=0;i1)for(a=0;ar&&(r=Math.floor(s.y)),o=Math.floor(s.x+h.DEFAULT_COMPONENT_SEPERATION)}this.transform(new u(d.WORLD_CENTER_X-s.x/2,d.WORLD_CENTER_Y-s.y/2))},T.radialLayout=function(t,e,i){var r=Math.max(this.maxDiagonalInTree(t),h.DEFAULT_RADIAL_SEPARATION);T.branchRadialLayout(e,null,0,359,0,r);var n=m.calculateBounds(t),o=new E;o.setDeviceOrgX(n.getMinX()),o.setDeviceOrgY(n.getMinY()),o.setWorldOrgX(i.x),o.setWorldOrgY(i.y);for(var s=0;s1;){var y=f[0];f.splice(0,1);var m=c.indexOf(y);m>=0&&c.splice(m,1),p--,d--}g=null!=e?(c.indexOf(f[0])+1)%p:0;for(var E=Math.abs(r-i)/d,N=g;u!=d;N=++N%p){var A=c[N].getOtherEnd(t);if(A!=e){var w=(i+u*E)%360,L=(w+E)%360;T.branchRadialLayout(A,t,w,L,n+o,o),u++}}},T.maxDiagonalInTree=function(t){for(var e=y.MIN_VALUE,i=0;ie&&(e=r)}return e},T.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},T.prototype.groupZeroDegreeMembers=function(){var t=this,e={};this.memberGroups={},this.idToDummyNode={};for(var i=[],r=this.graphManager.getAllNodes(),n=0;n1){var r="DummyCompound_"+i;t.memberGroups[r]=e[i];var n=e[i][0].getParent(),o=new s(t.graphManager);o.id=r,o.paddingLeft=n.paddingLeft||0,o.paddingRight=n.paddingRight||0,o.paddingBottom=n.paddingBottom||0,o.paddingTop=n.paddingTop||0,t.idToDummyNode[r]=o;var a=t.getGraphManager().add(t.newGraph(),o),h=n.getChild();h.add(o);for(var l=0;ln?(r.rect.x-=(r.labelWidth-n)/2,r.setWidth(r.labelWidth),r.labelMarginLeft=(r.labelWidth-n)/2):"right"==r.labelPosHorizontal&&r.setWidth(n+r.labelWidth)),r.labelHeight&&("top"==r.labelPosVertical?(r.rect.y-=r.labelHeight,r.setHeight(o+r.labelHeight),r.labelMarginTop=r.labelHeight):"center"==r.labelPosVertical&&r.labelHeight>o?(r.rect.y-=(r.labelHeight-o)/2,r.setHeight(r.labelHeight),r.labelMarginTop=(r.labelHeight-o)/2):"bottom"==r.labelPosVertical&&r.setHeight(o+r.labelHeight))}}))},T.prototype.repopulateCompounds=function(){for(var t=this.compoundOrder.length-1;t>=0;t--){var e=this.compoundOrder[t],i=e.id,r=e.paddingLeft,n=e.paddingTop,o=e.labelMarginLeft,s=e.labelMarginTop;this.adjustLocations(this.tiledMemberPack[i],e.rect.x,e.rect.y,r,n,o,s)}},T.prototype.repopulateZeroDegreeMembers=function(){var t=this,e=this.tiledZeroDegreePack;Object.keys(e).forEach((function(i){var r=t.idToDummyNode[i],n=r.paddingLeft,o=r.paddingTop,s=r.labelMarginLeft,a=r.labelMarginTop;t.adjustLocations(e[i],r.rect.x,r.rect.y,n,o,s,a)}))},T.prototype.getToBeTiled=function(t){var e=t.id;if(null!=this.toBeTiled[e])return this.toBeTiled[e];var i=t.getChild();if(null==i)return this.toBeTiled[e]=!1,!1;for(var r=i.getNodes(),n=0;n0)return this.toBeTiled[e]=!1,!1;if(null!=o.getChild()){if(!this.getToBeTiled(o))return this.toBeTiled[e]=!1,!1}else this.toBeTiled[o.id]=!1}return this.toBeTiled[e]=!0,!0},T.prototype.getNodeDegree=function(t){t.id;for(var e=t.getEdges(),i=0,r=0;rc&&(c=g.rect.height)}i+=c+t.verticalPadding}},T.prototype.tileCompoundMembers=function(t,e){var i=this;this.tiledMemberPack=[],Object.keys(t).forEach((function(r){var n=e[r];if(i.tiledMemberPack[r]=i.tileNodes(t[r],n.paddingLeft+n.paddingRight),n.rect.width=i.tiledMemberPack[r].width,n.rect.height=i.tiledMemberPack[r].height,n.setCenter(i.tiledMemberPack[r].centerX,i.tiledMemberPack[r].centerY),n.labelMarginLeft=0,n.labelMarginTop=0,h.NODE_DIMENSIONS_INCLUDE_LABELS){var o=n.rect.width,s=n.rect.height;n.labelWidth&&("left"==n.labelPosHorizontal?(n.rect.x-=n.labelWidth,n.setWidth(o+n.labelWidth),n.labelMarginLeft=n.labelWidth):"center"==n.labelPosHorizontal&&n.labelWidth>o?(n.rect.x-=(n.labelWidth-o)/2,n.setWidth(n.labelWidth),n.labelMarginLeft=(n.labelWidth-o)/2):"right"==n.labelPosHorizontal&&n.setWidth(o+n.labelWidth)),n.labelHeight&&("top"==n.labelPosVertical?(n.rect.y-=n.labelHeight,n.setHeight(s+n.labelHeight),n.labelMarginTop=n.labelHeight):"center"==n.labelPosVertical&&n.labelHeight>s?(n.rect.y-=(n.labelHeight-s)/2,n.setHeight(n.labelHeight),n.labelMarginTop=(n.labelHeight-s)/2):"bottom"==n.labelPosVertical&&n.setHeight(s+n.labelHeight))}}))},T.prototype.tileNodes=function(t,e){var i=this.tileNodesByFavoringDim(t,e,!0),r=this.tileNodesByFavoringDim(t,e,!1),n=this.getOrgRatio(i);return this.getOrgRatio(r)a&&(a=t.getWidth())}));var l,c=o/n,d=s/n,g=Math.pow(i-r,2)+4*(c+r)*(d+i)*n,u=(r-i+Math.sqrt(g))/(2*(c+r));e?(l=Math.ceil(u))==u&&l++:l=Math.floor(u);var p=l*(c+r)-r;return a>p&&(p=a),p+2*r},T.prototype.tileNodesByFavoringDim=function(t,e,i){var r=h.TILING_PADDING_VERTICAL,n=h.TILING_PADDING_HORIZONTAL,o=h.TILING_COMPARE_BY,s={rows:[],rowWidth:[],rowHeight:[],width:0,height:e,verticalPadding:r,horizontalPadding:n,centerX:0,centerY:0};o&&(s.idealRowWidth=this.calcIdealRowWidth(t,i));var a=function(t){return t.rect.width*t.rect.height},l=function(t,e){return a(e)-a(t)};t.sort((function(t,e){var i=l;return s.idealRowWidth?(i=o)(t.id,e.id):i(t,e)}));for(var c=0,d=0,g=0;g0&&(o+=t.horizontalPadding),t.rowWidth[i]=o,t.width0&&(s+=t.verticalPadding);var a=0;s>t.rowHeight[i]&&(a=t.rowHeight[i],t.rowHeight[i]=s,a=t.rowHeight[i]-a),t.height+=a,t.rows[i].push(e)},T.prototype.getShortestRowIndex=function(t){for(var e=-1,i=Number.MAX_VALUE,r=0;ri&&(e=r,i=t.rowWidth[r]);return e},T.prototype.canAddHorizontal=function(t,e,i){if(t.idealRowWidth){var r=t.rows.length-1;return t.rowWidth[r]+e+t.horizontalPadding<=t.idealRowWidth}var n=this.getShortestRowIndex(t);if(n<0)return!0;var o=t.rowWidth[n];if(o+t.horizontalPadding+e<=t.width)return!0;var s,a,h=0;return t.rowHeight[n]0&&(h=i+t.verticalPadding-t.rowHeight[n]),s=t.width-o>=e+t.horizontalPadding?(t.height+h)/(o+e+t.horizontalPadding):(t.height+h)/t.width,h=i+t.verticalPadding,(a=t.widtho&&e!=i){r.splice(-1,1),t.rows[i].push(n),t.rowWidth[e]=t.rowWidth[e]-o,t.rowWidth[i]=t.rowWidth[i]+o,t.width=t.rowWidth[instance.getLongestRowIndex(t)];for(var s=Number.MIN_VALUE,a=0;as&&(s=r[a].height);e>0&&(s+=t.verticalPadding);var h=t.rowHeight[e]+t.rowHeight[i];t.rowHeight[e]=s,t.rowHeight[i]0)for(var d=n;d<=o;d++)l[0]+=this.grid[d][s-1].length+this.grid[d][s].length-1;if(o0)for(d=s;d<=a;d++)l[3]+=this.grid[n-1][d].length+this.grid[n][d].length-1;for(var g,u,p=y.MAX_VALUE,f=0;f{var r=i(551).FDLayoutNode,n=i(551).IMath;function o(t,e,i,n){r.call(this,t,e,i,n)}for(var s in o.prototype=Object.create(r.prototype),r)o[s]=r[s];o.prototype.calculateDisplacement=function(){var t=this.graphManager.getLayout();null!=this.getChild()&&this.fixedNodeWeight?(this.displacementX+=t.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.fixedNodeWeight,this.displacementY+=t.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.fixedNodeWeight):(this.displacementX+=t.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY+=t.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren),Math.abs(this.displacementX)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementX=t.coolingFactor*t.maxNodeDisplacement*n.sign(this.displacementX)),Math.abs(this.displacementY)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementY=t.coolingFactor*t.maxNodeDisplacement*n.sign(this.displacementY)),this.child&&this.child.getNodes().length>0&&this.propogateDisplacementToChildren(this.displacementX,this.displacementY)},o.prototype.propogateDisplacementToChildren=function(t,e){for(var i,r=this.getChild().getNodes(),n=0;n{function r(t){if(Array.isArray(t)){for(var e=0,i=Array(t.length);e0){var o=0;r.forEach((function(t){"horizontal"==e?(d.set(t,h.has(t)?l[h.get(t)]:n.get(t)),o+=d.get(t)):(d.set(t,h.has(t)?c[h.get(t)]:n.get(t)),o+=d.get(t))})),o/=r.length,t.forEach((function(t){i.has(t)||d.set(t,o)}))}else{var s=0;t.forEach((function(t){s+="horizontal"==e?h.has(t)?l[h.get(t)]:n.get(t):h.has(t)?c[h.get(t)]:n.get(t)})),s/=t.length,t.forEach((function(t){d.set(t,s)}))}}));for(var p=function(){var r=u.shift();t.get(r).forEach((function(t){if(d.get(t.id)s&&(s=v),Ea&&(a=E)}}catch(t){u=!0,p=t}finally{try{!g&&y.return&&y.return()}finally{if(u)throw p}}var N=(r+s)/2-(o+a)/2,T=!0,A=!1,w=void 0;try{for(var L,I=t[Symbol.iterator]();!(T=(L=I.next()).done);T=!0){var _=L.value;d.set(_,d.get(_)+N)}}catch(t){A=!0,w=t}finally{try{!T&&I.return&&I.return()}finally{if(A)throw w}}}))}return d},v=function(t){var e=0,i=0,r=0,n=0;if(t.forEach((function(t){t.left?l[h.get(t.left)]-l[h.get(t.right)]>=0?e++:i++:c[h.get(t.top)]-c[h.get(t.bottom)]>=0?r++:n++})),e>i&&r>n)for(var o=0;oi)for(var s=0;sn)for(var a=0;a1)e.fixedNodeConstraint.forEach((function(t,e){T[e]=[t.position.x,t.position.y],A[e]=[l[h.get(t.nodeId)],c[h.get(t.nodeId)]]})),w=!0;else if(e.alignmentConstraint)!function(){var t=0;if(e.alignmentConstraint.vertical){for(var i=e.alignmentConstraint.vertical,n=function(e){var n=new Set;i[e].forEach((function(t){n.add(t)}));var o,s=new Set([].concat(r(n)).filter((function(t){return I.has(t)})));o=s.size>0?l[h.get(s.values().next().value)]:f(n).x,i[e].forEach((function(e){T[t]=[o,c[h.get(e)]],A[t]=[l[h.get(e)],c[h.get(e)]],t++}))},o=0;o0?l[h.get(o.values().next().value)]:f(i).y,s[e].forEach((function(e){T[t]=[l[h.get(e)],n],A[t]=[l[h.get(e)],c[h.get(e)]],t++}))},d=0;dx&&(x=M[D].length,O=D);if(x0){var j={x:0,y:0};e.fixedNodeConstraint.forEach((function(t,e){var i,r,n=(r={x:l[h.get(t.nodeId)],y:c[h.get(t.nodeId)]},{x:(i=t.position).x-r.x,y:i.y-r.y});j.x+=n.x,j.y+=n.y})),j.x/=e.fixedNodeConstraint.length,j.y/=e.fixedNodeConstraint.length,l.forEach((function(t,e){l[e]+=j.x})),c.forEach((function(t,e){c[e]+=j.y})),e.fixedNodeConstraint.forEach((function(t){l[h.get(t.nodeId)]=t.position.x,c[h.get(t.nodeId)]=t.position.y}))}if(e.alignmentConstraint){if(e.alignmentConstraint.vertical)for(var q=e.alignmentConstraint.vertical,$=function(t){var e=new Set;q[t].forEach((function(t){e.add(t)}));var i,n=new Set([].concat(r(e)).filter((function(t){return I.has(t)})));i=n.size>0?l[h.get(n.values().next().value)]:f(e).x,e.forEach((function(t){I.has(t)||(l[h.get(t)]=i)}))},K=0;K0?c[h.get(n.values().next().value)]:f(e).y,e.forEach((function(t){I.has(t)||(c[h.get(t)]=i)}))},J=0;J{e.exports=t}},i={},r=function t(r){var n=i[r];if(void 0!==n)return n.exports;var o=i[r]={exports:{}};return e[r](o,o.exports,t),o.exports}(45);return r})()},t.exports=r(i(4298))},4298:function(t){var e;e=function(){return function(t){var e={};function i(r){if(e[r])return e[r].exports;var n=e[r]={i:r,l:!1,exports:{}};return t[r].call(n.exports,n,n.exports,i),n.l=!0,n.exports}return i.m=t,i.c=e,i.i=function(t){return t},i.d=function(t,e,r){i.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=28)}([function(t,e,i){"use strict";function r(){}r.QUALITY=1,r.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,r.DEFAULT_INCREMENTAL=!1,r.DEFAULT_ANIMATION_ON_LAYOUT=!0,r.DEFAULT_ANIMATION_DURING_LAYOUT=!1,r.DEFAULT_ANIMATION_PERIOD=50,r.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,r.DEFAULT_GRAPH_MARGIN=15,r.NODE_DIMENSIONS_INCLUDE_LABELS=!1,r.SIMPLE_NODE_SIZE=40,r.SIMPLE_NODE_HALF_SIZE=r.SIMPLE_NODE_SIZE/2,r.EMPTY_COMPOUND_NODE_SIZE=40,r.MIN_EDGE_LENGTH=1,r.WORLD_BOUNDARY=1e6,r.INITIAL_WORLD_BOUNDARY=r.WORLD_BOUNDARY/1e3,r.WORLD_CENTER_X=1200,r.WORLD_CENTER_Y=900,t.exports=r},function(t,e,i){"use strict";var r=i(2),n=i(8),o=i(9);function s(t,e,i){r.call(this,i),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=i,this.bendpoints=[],this.source=t,this.target=e}for(var a in s.prototype=Object.create(r.prototype),r)s[a]=r[a];s.prototype.getSource=function(){return this.source},s.prototype.getTarget=function(){return this.target},s.prototype.isInterGraph=function(){return this.isInterGraph},s.prototype.getLength=function(){return this.length},s.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},s.prototype.getBendpoints=function(){return this.bendpoints},s.prototype.getLca=function(){return this.lca},s.prototype.getSourceInLca=function(){return this.sourceInLca},s.prototype.getTargetInLca=function(){return this.targetInLca},s.prototype.getOtherEnd=function(t){if(this.source===t)return this.target;if(this.target===t)return this.source;throw"Node is not incident with this edge"},s.prototype.getOtherEndInGraph=function(t,e){for(var i=this.getOtherEnd(t),r=e.getGraphManager().getRoot();;){if(i.getOwner()==e)return i;if(i.getOwner()==r)break;i=i.getOwner().getParent()}return null},s.prototype.updateLength=function(){var t=new Array(4);this.isOverlapingSourceAndTarget=n.getIntersection(this.target.getRect(),this.source.getRect(),t),this.isOverlapingSourceAndTarget||(this.lengthX=t[0]-t[2],this.lengthY=t[1]-t[3],Math.abs(this.lengthX)<1&&(this.lengthX=o.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},s.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=o.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},t.exports=s},function(t,e,i){"use strict";t.exports=function(t){this.vGraphObject=t}},function(t,e,i){"use strict";var r=i(2),n=i(10),o=i(13),s=i(0),a=i(16),h=i(5);function l(t,e,i,s){null==i&&null==s&&(s=e),r.call(this,s),null!=t.graphManager&&(t=t.graphManager),this.estimatedSize=n.MIN_VALUE,this.inclusionTreeDepth=n.MAX_VALUE,this.vGraphObject=s,this.edges=[],this.graphManager=t,this.rect=null!=i&&null!=e?new o(e.x,e.y,i.width,i.height):new o}for(var c in l.prototype=Object.create(r.prototype),r)l[c]=r[c];l.prototype.getEdges=function(){return this.edges},l.prototype.getChild=function(){return this.child},l.prototype.getOwner=function(){return this.owner},l.prototype.getWidth=function(){return this.rect.width},l.prototype.setWidth=function(t){this.rect.width=t},l.prototype.getHeight=function(){return this.rect.height},l.prototype.setHeight=function(t){this.rect.height=t},l.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},l.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},l.prototype.getCenter=function(){return new h(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},l.prototype.getLocation=function(){return new h(this.rect.x,this.rect.y)},l.prototype.getRect=function(){return this.rect},l.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},l.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},l.prototype.setRect=function(t,e){this.rect.x=t.x,this.rect.y=t.y,this.rect.width=e.width,this.rect.height=e.height},l.prototype.setCenter=function(t,e){this.rect.x=t-this.rect.width/2,this.rect.y=e-this.rect.height/2},l.prototype.setLocation=function(t,e){this.rect.x=t,this.rect.y=e},l.prototype.moveBy=function(t,e){this.rect.x+=t,this.rect.y+=e},l.prototype.getEdgeListToNode=function(t){var e=[],i=this;return i.edges.forEach((function(r){if(r.target==t){if(r.source!=i)throw"Incorrect edge source!";e.push(r)}})),e},l.prototype.getEdgesBetween=function(t){var e=[],i=this;return i.edges.forEach((function(r){if(r.source!=i&&r.target!=i)throw"Incorrect edge source and/or target";r.target!=t&&r.source!=t||e.push(r)})),e},l.prototype.getNeighborsList=function(){var t=new Set,e=this;return e.edges.forEach((function(i){if(i.source==e)t.add(i.target);else{if(i.target!=e)throw"Incorrect incidency!";t.add(i.source)}})),t},l.prototype.withChildren=function(){var t=new Set;if(t.add(this),null!=this.child)for(var e=this.child.getNodes(),i=0;ie?(this.rect.x-=(this.labelWidth-e)/2,this.setWidth(this.labelWidth)):"right"==this.labelPosHorizontal&&this.setWidth(e+this.labelWidth)),this.labelHeight&&("top"==this.labelPosVertical?(this.rect.y-=this.labelHeight,this.setHeight(i+this.labelHeight)):"center"==this.labelPosVertical&&this.labelHeight>i?(this.rect.y-=(this.labelHeight-i)/2,this.setHeight(this.labelHeight)):"bottom"==this.labelPosVertical&&this.setHeight(i+this.labelHeight))}}},l.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==n.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},l.prototype.transform=function(t){var e=this.rect.x;e>s.WORLD_BOUNDARY?e=s.WORLD_BOUNDARY:e<-s.WORLD_BOUNDARY&&(e=-s.WORLD_BOUNDARY);var i=this.rect.y;i>s.WORLD_BOUNDARY?i=s.WORLD_BOUNDARY:i<-s.WORLD_BOUNDARY&&(i=-s.WORLD_BOUNDARY);var r=new h(e,i),n=t.inverseTransformPoint(r);this.setLocation(n.x,n.y)},l.prototype.getLeft=function(){return this.rect.x},l.prototype.getRight=function(){return this.rect.x+this.rect.width},l.prototype.getTop=function(){return this.rect.y},l.prototype.getBottom=function(){return this.rect.y+this.rect.height},l.prototype.getParent=function(){return null==this.owner?null:this.owner.getParent()},t.exports=l},function(t,e,i){"use strict";var r=i(0);function n(){}for(var o in r)n[o]=r[o];n.MAX_ITERATIONS=2500,n.DEFAULT_EDGE_LENGTH=50,n.DEFAULT_SPRING_STRENGTH=.45,n.DEFAULT_REPULSION_STRENGTH=4500,n.DEFAULT_GRAVITY_STRENGTH=.4,n.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,n.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,n.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,n.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,n.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,n.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,n.COOLING_ADAPTATION_FACTOR=.33,n.ADAPTATION_LOWER_NODE_LIMIT=1e3,n.ADAPTATION_UPPER_NODE_LIMIT=5e3,n.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,n.MAX_NODE_DISPLACEMENT=3*n.MAX_NODE_DISPLACEMENT_INCREMENTAL,n.MIN_REPULSION_DIST=n.DEFAULT_EDGE_LENGTH/10,n.CONVERGENCE_CHECK_PERIOD=100,n.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,n.MIN_EDGE_LENGTH=1,n.GRID_CALCULATION_CHECK_PERIOD=10,t.exports=n},function(t,e,i){"use strict";function r(t,e){null==t&&null==e?(this.x=0,this.y=0):(this.x=t,this.y=e)}r.prototype.getX=function(){return this.x},r.prototype.getY=function(){return this.y},r.prototype.setX=function(t){this.x=t},r.prototype.setY=function(t){this.y=t},r.prototype.getDifference=function(t){return new DimensionD(this.x-t.x,this.y-t.y)},r.prototype.getCopy=function(){return new r(this.x,this.y)},r.prototype.translate=function(t){return this.x+=t.width,this.y+=t.height,this},t.exports=r},function(t,e,i){"use strict";var r=i(2),n=i(10),o=i(0),s=i(7),a=i(3),h=i(1),l=i(13),c=i(12),d=i(11);function g(t,e,i){r.call(this,i),this.estimatedSize=n.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=t,null!=e&&e instanceof s?this.graphManager=e:null!=e&&e instanceof Layout&&(this.graphManager=e.graphManager)}for(var u in g.prototype=Object.create(r.prototype),r)g[u]=r[u];g.prototype.getNodes=function(){return this.nodes},g.prototype.getEdges=function(){return this.edges},g.prototype.getGraphManager=function(){return this.graphManager},g.prototype.getParent=function(){return this.parent},g.prototype.getLeft=function(){return this.left},g.prototype.getRight=function(){return this.right},g.prototype.getTop=function(){return this.top},g.prototype.getBottom=function(){return this.bottom},g.prototype.isConnected=function(){return this.isConnected},g.prototype.add=function(t,e,i){if(null==e&&null==i){var r=t;if(null==this.graphManager)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(r)>-1)throw"Node already in graph!";return r.owner=this,this.getNodes().push(r),r}var n=t;if(!(this.getNodes().indexOf(e)>-1&&this.getNodes().indexOf(i)>-1))throw"Source or target not in graph!";if(e.owner!=i.owner||e.owner!=this)throw"Both owners must be this graph!";return e.owner!=i.owner?null:(n.source=e,n.target=i,n.isInterGraph=!1,this.getEdges().push(n),e.edges.push(n),i!=e&&i.edges.push(n),n)},g.prototype.remove=function(t){var e=t;if(t instanceof a){if(null==e)throw"Node is null!";if(null==e.owner||e.owner!=this)throw"Owner graph is invalid!";if(null==this.graphManager)throw"Owner graph manager is invalid!";for(var i=e.edges.slice(),r=i.length,n=0;n-1&&c>-1))throw"Source and/or target doesn't know this edge!";if(o.source.edges.splice(l,1),o.target!=o.source&&o.target.edges.splice(c,1),-1==(s=o.source.owner.getEdges().indexOf(o)))throw"Not in owner's edge list!";o.source.owner.getEdges().splice(s,1)}},g.prototype.updateLeftTop=function(){for(var t,e,i,r=n.MAX_VALUE,o=n.MAX_VALUE,s=this.getNodes(),a=s.length,h=0;h(t=l.getTop())&&(r=t),o>(e=l.getLeft())&&(o=e)}return r==n.MAX_VALUE?null:(i=null!=s[0].getParent().paddingLeft?s[0].getParent().paddingLeft:this.margin,this.left=o-i,this.top=r-i,new c(this.left,this.top))},g.prototype.updateBounds=function(t){for(var e,i,r,o,s,a=n.MAX_VALUE,h=-n.MAX_VALUE,c=n.MAX_VALUE,d=-n.MAX_VALUE,g=this.nodes,u=g.length,p=0;p(e=f.getLeft())&&(a=e),h<(i=f.getRight())&&(h=i),c>(r=f.getTop())&&(c=r),d<(o=f.getBottom())&&(d=o)}var y=new l(a,c,h-a,d-c);a==n.MAX_VALUE&&(this.left=this.parent.getLeft(),this.right=this.parent.getRight(),this.top=this.parent.getTop(),this.bottom=this.parent.getBottom()),s=null!=g[0].getParent().paddingLeft?g[0].getParent().paddingLeft:this.margin,this.left=y.x-s,this.right=y.x+y.width+s,this.top=y.y-s,this.bottom=y.y+y.height+s},g.calculateBounds=function(t){for(var e,i,r,o,s=n.MAX_VALUE,a=-n.MAX_VALUE,h=n.MAX_VALUE,c=-n.MAX_VALUE,d=t.length,g=0;g(e=u.getLeft())&&(s=e),a<(i=u.getRight())&&(a=i),h>(r=u.getTop())&&(h=r),c<(o=u.getBottom())&&(c=o)}return new l(s,h,a-s,c-h)},g.prototype.getInclusionTreeDepth=function(){return this==this.graphManager.getRoot()?1:this.parent.getInclusionTreeDepth()},g.prototype.getEstimatedSize=function(){if(this.estimatedSize==n.MIN_VALUE)throw"assert failed";return this.estimatedSize},g.prototype.calcEstimatedSize=function(){for(var t=0,e=this.nodes,i=e.length,r=0;r=this.nodes.length){var h=0;n.forEach((function(e){e.owner==t&&h++})),h==this.nodes.length&&(this.isConnected=!0)}}else this.isConnected=!0},t.exports=g},function(t,e,i){"use strict";var r,n=i(1);function o(t){r=i(6),this.layout=t,this.graphs=[],this.edges=[]}o.prototype.addRoot=function(){var t=this.layout.newGraph(),e=this.layout.newNode(null),i=this.add(t,e);return this.setRootGraph(i),this.rootGraph},o.prototype.add=function(t,e,i,r,n){if(null==i&&null==r&&null==n){if(null==t)throw"Graph is null!";if(null==e)throw"Parent node is null!";if(this.graphs.indexOf(t)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(t),null!=t.parent)throw"Already has a parent!";if(null!=e.child)throw"Already has a child!";return t.parent=e,e.child=t,t}n=i,i=t;var o=(r=e).getOwner(),s=n.getOwner();if(null==o||o.getGraphManager()!=this)throw"Source not in this graph mgr!";if(null==s||s.getGraphManager()!=this)throw"Target not in this graph mgr!";if(o==s)return i.isInterGraph=!1,o.add(i,r,n);if(i.isInterGraph=!0,i.source=r,i.target=n,this.edges.indexOf(i)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(i),null==i.source||null==i.target)throw"Edge source and/or target is null!";if(-1!=i.source.edges.indexOf(i)||-1!=i.target.edges.indexOf(i))throw"Edge already in source and/or target incidency list!";return i.source.edges.push(i),i.target.edges.push(i),i},o.prototype.remove=function(t){if(t instanceof r){var e=t;if(e.getGraphManager()!=this)throw"Graph not in this graph mgr";if(e!=this.rootGraph&&(null==e.parent||e.parent.graphManager!=this))throw"Invalid parent node!";for(var i,o=[],s=(o=o.concat(e.getEdges())).length,a=0;a=e.getRight()?i[0]+=Math.min(e.getX()-t.getX(),t.getRight()-e.getRight()):e.getX()<=t.getX()&&e.getRight()>=t.getRight()&&(i[0]+=Math.min(t.getX()-e.getX(),e.getRight()-t.getRight())),t.getY()<=e.getY()&&t.getBottom()>=e.getBottom()?i[1]+=Math.min(e.getY()-t.getY(),t.getBottom()-e.getBottom()):e.getY()<=t.getY()&&e.getBottom()>=t.getBottom()&&(i[1]+=Math.min(t.getY()-e.getY(),e.getBottom()-t.getBottom()));var o=Math.abs((e.getCenterY()-t.getCenterY())/(e.getCenterX()-t.getCenterX()));e.getCenterY()===t.getCenterY()&&e.getCenterX()===t.getCenterX()&&(o=1);var s=o*i[0],a=i[1]/o;i[0]s)return i[0]=r,i[1]=h,i[2]=o,i[3]=E,!1;if(no)return i[0]=a,i[1]=n,i[2]=v,i[3]=s,!1;if(ro?(i[0]=c,i[1]=d,w=!0):(i[0]=l,i[1]=h,w=!0):I===C&&(r>o?(i[0]=a,i[1]=h,w=!0):(i[0]=g,i[1]=d,w=!0)),-_===C?o>r?(i[2]=m,i[3]=E,L=!0):(i[2]=v,i[3]=y,L=!0):_===C&&(o>r?(i[2]=f,i[3]=y,L=!0):(i[2]=N,i[3]=E,L=!0)),w&&L)return!1;if(r>o?n>s?(M=this.getCardinalDirection(I,C,4),x=this.getCardinalDirection(_,C,2)):(M=this.getCardinalDirection(-I,C,3),x=this.getCardinalDirection(-_,C,1)):n>s?(M=this.getCardinalDirection(-I,C,1),x=this.getCardinalDirection(-_,C,3)):(M=this.getCardinalDirection(I,C,2),x=this.getCardinalDirection(_,C,4)),!w)switch(M){case 1:D=h,O=r+-p/C,i[0]=O,i[1]=D;break;case 2:O=g,D=n+u*C,i[0]=O,i[1]=D;break;case 3:D=d,O=r+p/C,i[0]=O,i[1]=D;break;case 4:O=c,D=n+-u*C,i[0]=O,i[1]=D}if(!L)switch(x){case 1:b=y,R=o+-A/C,i[2]=R,i[3]=b;break;case 2:R=N,b=s+T*C,i[2]=R,i[3]=b;break;case 3:b=E,R=o+A/C,i[2]=R,i[3]=b;break;case 4:R=m,b=s+-T*C,i[2]=R,i[3]=b}}return!1},n.getCardinalDirection=function(t,e,i){return t>e?i:1+i%4},n.getIntersection=function(t,e,i,n){if(null==n)return this.getIntersection2(t,e,i);var o,s,a,h,l,c,d,g=t.x,u=t.y,p=e.x,f=e.y,y=i.x,v=i.y,m=n.x,E=n.y;return 0==(d=(o=f-u)*(h=y-m)-(s=E-v)*(a=g-p))?null:new r((a*(c=m*v-y*E)-h*(l=p*u-g*f))/d,(s*l-o*c)/d)},n.angleOfVector=function(t,e,i,r){var n=void 0;return t!==i?(n=Math.atan((r-e)/(i-t)),i=0){var c=(-h+Math.sqrt(h*h-4*a*l))/(2*a),d=(-h-Math.sqrt(h*h-4*a*l))/(2*a);return c>=0&&c<=1?[c]:d>=0&&d<=1?[d]:null}return null},n.HALF_PI=.5*Math.PI,n.ONE_AND_HALF_PI=1.5*Math.PI,n.TWO_PI=2*Math.PI,n.THREE_PI=3*Math.PI,t.exports=n},function(t,e,i){"use strict";function r(){}r.sign=function(t){return t>0?1:t<0?-1:0},r.floor=function(t){return t<0?Math.ceil(t):Math.floor(t)},r.ceil=function(t){return t<0?Math.floor(t):Math.ceil(t)},t.exports=r},function(t,e,i){"use strict";function r(){}r.MAX_VALUE=2147483647,r.MIN_VALUE=-2147483648,t.exports=r},function(t,e,i){"use strict";var r=function(){function t(t,e){for(var i=0;i0&&e;){for(a.push(l[0]);a.length>0&&e;){var c=a[0];a.splice(0,1),s.add(c);var d=c.getEdges();for(o=0;o-1&&l.splice(f,1)}s=new Set,h=new Map}else t=[]}return t},g.prototype.createDummyNodesForBendpoints=function(t){for(var e=[],i=t.source,r=this.graphManager.calcLowestCommonAncestor(t.source,t.target),n=0;n0){for(var n=this.edgeToDummyNodes.get(i),o=0;o=0&&e.splice(d,1),c.getNeighborsList().forEach((function(t){if(i.indexOf(t)<0){var e=r.get(t)-1;1==e&&h.push(t),r.set(t,e)}}))}i=i.concat(h),1!=e.length&&2!=e.length||(n=!0,o=e[0])}return o},g.prototype.setGraphManager=function(t){this.graphManager=t},t.exports=g},function(t,e,i){"use strict";function r(){}r.seed=1,r.x=0,r.nextDouble=function(){return r.x=1e4*Math.sin(r.seed++),r.x-Math.floor(r.x)},t.exports=r},function(t,e,i){"use strict";var r=i(5);function n(t,e){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}n.prototype.getWorldOrgX=function(){return this.lworldOrgX},n.prototype.setWorldOrgX=function(t){this.lworldOrgX=t},n.prototype.getWorldOrgY=function(){return this.lworldOrgY},n.prototype.setWorldOrgY=function(t){this.lworldOrgY=t},n.prototype.getWorldExtX=function(){return this.lworldExtX},n.prototype.setWorldExtX=function(t){this.lworldExtX=t},n.prototype.getWorldExtY=function(){return this.lworldExtY},n.prototype.setWorldExtY=function(t){this.lworldExtY=t},n.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},n.prototype.setDeviceOrgX=function(t){this.ldeviceOrgX=t},n.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},n.prototype.setDeviceOrgY=function(t){this.ldeviceOrgY=t},n.prototype.getDeviceExtX=function(){return this.ldeviceExtX},n.prototype.setDeviceExtX=function(t){this.ldeviceExtX=t},n.prototype.getDeviceExtY=function(){return this.ldeviceExtY},n.prototype.setDeviceExtY=function(t){this.ldeviceExtY=t},n.prototype.transformX=function(t){var e=0,i=this.lworldExtX;return 0!=i&&(e=this.ldeviceOrgX+(t-this.lworldOrgX)*this.ldeviceExtX/i),e},n.prototype.transformY=function(t){var e=0,i=this.lworldExtY;return 0!=i&&(e=this.ldeviceOrgY+(t-this.lworldOrgY)*this.ldeviceExtY/i),e},n.prototype.inverseTransformX=function(t){var e=0,i=this.ldeviceExtX;return 0!=i&&(e=this.lworldOrgX+(t-this.ldeviceOrgX)*this.lworldExtX/i),e},n.prototype.inverseTransformY=function(t){var e=0,i=this.ldeviceExtY;return 0!=i&&(e=this.lworldOrgY+(t-this.ldeviceOrgY)*this.lworldExtY/i),e},n.prototype.inverseTransformPoint=function(t){return new r(this.inverseTransformX(t.x),this.inverseTransformY(t.y))},t.exports=n},function(t,e,i){"use strict";var r=i(15),n=i(4),o=i(0),s=i(8),a=i(9);function h(){r.call(this),this.useSmartIdealEdgeLengthCalculation=n.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=n.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=n.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=n.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=n.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.displacementThresholdPerNode=3*n.DEFAULT_EDGE_LENGTH/100,this.coolingFactor=n.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.initialCoolingFactor=n.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.totalDisplacement=0,this.oldTotalDisplacement=0,this.maxIterations=n.MAX_ITERATIONS}for(var l in h.prototype=Object.create(r.prototype),r)h[l]=r[l];h.prototype.initParameters=function(){r.prototype.initParameters.call(this,arguments),this.totalIterations=0,this.notAnimatedIterations=0,this.useFRGridVariant=n.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION,this.grid=[]},h.prototype.calcIdealEdgeLengths=function(){for(var t,e,i,r,s,a,h,l=this.getGraphManager().getAllEdges(),c=0;cn.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*n.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(t-n.ADAPTATION_LOWER_NODE_LIMIT)/(n.ADAPTATION_UPPER_NODE_LIMIT-n.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-n.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=n.MAX_NODE_DISPLACEMENT_INCREMENTAL):(t>n.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(n.COOLING_ADAPTATION_FACTOR,1-(t-n.ADAPTATION_LOWER_NODE_LIMIT)/(n.ADAPTATION_UPPER_NODE_LIMIT-n.ADAPTATION_LOWER_NODE_LIMIT)*(1-n.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=n.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(5*this.getAllNodes().length,this.maxIterations),this.displacementThresholdPerNode=3*n.DEFAULT_EDGE_LENGTH/100,this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},h.prototype.calcSpringForces=function(){for(var t,e=this.getAllEdges(),i=0;i0&&void 0!==arguments[0])||arguments[0],a=arguments.length>1&&void 0!==arguments[1]&&arguments[1],h=this.getAllNodes();if(this.useFRGridVariant)for(this.totalIterations%n.GRID_CALCULATION_CHECK_PERIOD==1&&s&&this.updateGrid(),o=new Set,t=0;t(h=e.getEstimatedSize()*this.gravityRangeFactor)||a>h)&&(t.gravitationForceX=-this.gravityConstant*n,t.gravitationForceY=-this.gravityConstant*o):(s>(h=e.getEstimatedSize()*this.compoundGravityRangeFactor)||a>h)&&(t.gravitationForceX=-this.gravityConstant*n*this.compoundGravityConstant,t.gravitationForceY=-this.gravityConstant*o*this.compoundGravityConstant)},h.prototype.isConverged=function(){var t,e=!1;return this.totalIterations>this.maxIterations/3&&(e=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),t=this.totalDisplacement=a.length||l>=a[0].length))for(var c=0;ct}}]),t}();t.exports=o},function(t,e,i){"use strict";function r(){}r.svd=function(t){this.U=null,this.V=null,this.s=null,this.m=0,this.n=0,this.m=t.length,this.n=t[0].length;var e=Math.min(this.m,this.n);this.s=function(t){for(var e=[];t-- >0;)e.push(0);return e}(Math.min(this.m+1,this.n)),this.U=function t(e){if(0==e.length)return 0;for(var i=[],r=0;r0;)e.push(0);return e}(this.n),s=function(t){for(var e=[];t-- >0;)e.push(0);return e}(this.m),a=Math.min(this.m-1,this.n),h=Math.max(0,Math.min(this.n-2,this.m)),l=0;l=0;x--)if(0!==this.s[x]){for(var O=x+1;O=0;P--){if(function(t,e){return t&&e}(P0;){var W=void 0,j=void 0;for(W=_-2;W>=-1&&-1!==W;W--)if(Math.abs(o[W])<=B+V*(Math.abs(this.s[W])+Math.abs(this.s[W+1]))){o[W]=0;break}if(W===_-2)j=4;else{var q=void 0;for(q=_-1;q>=W&&q!==W;q--){var $=(q!==_?Math.abs(o[q]):0)+(q!==W+1?Math.abs(o[q-1]):0);if(Math.abs(this.s[q])<=B+V*$){this.s[q]=0;break}}q===W?j=3:q===_-1?j=1:(j=2,W=q)}switch(W++,j){case 1:var K=o[_-2];o[_-2]=0;for(var Z=_-2;Z>=W;Z--){var Q=r.hypot(this.s[Z],K),J=this.s[Z]/Q,tt=K/Q;this.s[Z]=Q,Z!==W&&(K=-tt*o[Z-1],o[Z-1]=J*o[Z-1]);for(var et=0;et=this.s[W+1]);){var _t=this.s[W];if(this.s[W]=this.s[W+1],this.s[W+1]=_t,WMath.abs(e)?(i=e/t,i=Math.abs(t)*Math.sqrt(1+i*i)):0!=e?(i=t/e,i=Math.abs(e)*Math.sqrt(1+i*i)):i=0,i},t.exports=r},function(t,e,i){"use strict";var r=function(){function t(t,e){for(var i=0;i2&&void 0!==arguments[2]?arguments[2]:1,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-1,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:-1;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.sequence1=e,this.sequence2=i,this.match_score=r,this.mismatch_penalty=n,this.gap_penalty=o,this.iMax=e.length+1,this.jMax=i.length+1,this.grid=new Array(this.iMax);for(var s=0;s=0;i--){var r=this.listeners[i];r.event===t&&r.callback===e&&this.listeners.splice(i,1)}},n.emit=function(t,e){for(var i=0;i{"use strict";i.d(e,{diagram:()=>dt});var r=i(1099),n=i(6058),o=i(3933),s=i(8160),a=(i(8159),i(7286)),h=i(9502),l=i(8731),c=i(165),d=i(6527),g=i(4852),u={L:"left",R:"right",T:"top",B:"bottom"},p={L:(0,h.K2)((t=>`${t},${t/2} 0,${t} 0,0`),"L"),R:(0,h.K2)((t=>`0,${t/2} ${t},0 ${t},${t}`),"R"),T:(0,h.K2)((t=>`0,0 ${t},0 ${t/2},${t}`),"T"),B:(0,h.K2)((t=>`${t/2},0 ${t},${t} 0,${t}`),"B")},f={L:(0,h.K2)(((t,e)=>t-e+2),"L"),R:(0,h.K2)(((t,e)=>t-2),"R"),T:(0,h.K2)(((t,e)=>t-e+2),"T"),B:(0,h.K2)(((t,e)=>t-2),"B")},y=(0,h.K2)((function(t){return m(t)?"L"===t?"R":"L":"T"===t?"B":"T"}),"getOppositeArchitectureDirection"),v=(0,h.K2)((function(t){return"L"===t||"R"===t||"T"===t||"B"===t}),"isArchitectureDirection"),m=(0,h.K2)((function(t){return"L"===t||"R"===t}),"isArchitectureDirectionX"),E=(0,h.K2)((function(t){return"T"===t||"B"===t}),"isArchitectureDirectionY"),N=(0,h.K2)((function(t,e){const i=m(t)&&E(e),r=E(t)&&m(e);return i||r}),"isArchitectureDirectionXY"),T=(0,h.K2)((function(t){const e=t[0],i=t[1],r=m(e)&&E(i),n=E(e)&&m(i);return r||n}),"isArchitecturePairXY"),A=(0,h.K2)((function(t){return"LL"!==t&&"RR"!==t&&"TT"!==t&&"BB"!==t}),"isValidArchitectureDirectionPair"),w=(0,h.K2)((function(t,e){const i=`${t}${e}`;return A(i)?i:void 0}),"getArchitectureDirectionPair"),L=(0,h.K2)((function([t,e],i){const r=i[0],n=i[1];return m(r)?E(n)?[t+("L"===r?-1:1),e+("T"===n?1:-1)]:[t+("L"===r?-1:1),e]:m(n)?[t+("L"===n?1:-1),e+("T"===r?1:-1)]:[t,e+("T"===r?1:-1)]}),"shiftPositionByArchitectureDirectionPair"),I=(0,h.K2)((function(t){return"LT"===t||"TL"===t?[1,1]:"BL"===t||"LB"===t?[1,-1]:"BR"===t||"RB"===t?[-1,-1]:[-1,1]}),"getArchitectureDirectionXYFactors"),_=(0,h.K2)((function(t){return"service"===t.type}),"isArchitectureService"),C=(0,h.K2)((function(t){return"junction"===t.type}),"isArchitectureJunction"),M=(0,h.K2)((t=>t.data()),"edgeData"),x=(0,h.K2)((t=>t.data()),"nodeData"),O=h.UI.architecture,D=new s.m((()=>({nodes:{},groups:{},edges:[],registeredIds:{},config:O,dataStructures:void 0,elements:{}}))),R=(0,h.K2)((()=>{D.reset(),(0,h.IU)()}),"clear"),b=(0,h.K2)((function({id:t,icon:e,in:i,title:r,iconText:n}){if(void 0!==D.records.registeredIds[t])throw new Error(`The service id [${t}] is already in use by another ${D.records.registeredIds[t]}`);if(void 0!==i){if(t===i)throw new Error(`The service [${t}] cannot be placed within itself`);if(void 0===D.records.registeredIds[i])throw new Error(`The service [${t}]'s parent does not exist. Please make sure the parent is created before this service`);if("node"===D.records.registeredIds[i])throw new Error(`The service [${t}]'s parent is not a group`)}D.records.registeredIds[t]="node",D.records.nodes[t]={id:t,type:"service",icon:e,iconText:n,title:r,edges:[],in:i}}),"addService"),G=(0,h.K2)((()=>Object.values(D.records.nodes).filter(_)),"getServices"),F=(0,h.K2)((function({id:t,in:e}){D.records.registeredIds[t]="node",D.records.nodes[t]={id:t,type:"junction",edges:[],in:e}}),"addJunction"),S=(0,h.K2)((()=>Object.values(D.records.nodes).filter(C)),"getJunctions"),P=(0,h.K2)((()=>Object.values(D.records.nodes)),"getNodes"),U=(0,h.K2)((t=>D.records.nodes[t]),"getNode"),Y=(0,h.K2)((function({id:t,icon:e,in:i,title:r}){if(void 0!==D.records.registeredIds[t])throw new Error(`The group id [${t}] is already in use by another ${D.records.registeredIds[t]}`);if(void 0!==i){if(t===i)throw new Error(`The group [${t}] cannot be placed within itself`);if(void 0===D.records.registeredIds[i])throw new Error(`The group [${t}]'s parent does not exist. Please make sure the parent is created before this group`);if("node"===D.records.registeredIds[i])throw new Error(`The group [${t}]'s parent is not a group`)}D.records.registeredIds[t]="group",D.records.groups[t]={id:t,icon:e,title:r,in:i}}),"addGroup"),k=(0,h.K2)((()=>Object.values(D.records.groups)),"getGroups"),H=(0,h.K2)((function({lhsId:t,rhsId:e,lhsDir:i,rhsDir:r,lhsInto:n,rhsInto:o,lhsGroup:s,rhsGroup:a,title:h}){if(!v(i))throw new Error(`Invalid direction given for left hand side of edge ${t}--${e}. Expected (L,R,T,B) got ${i}`);if(!v(r))throw new Error(`Invalid direction given for right hand side of edge ${t}--${e}. Expected (L,R,T,B) got ${r}`);if(void 0===D.records.nodes[t]&&void 0===D.records.groups[t])throw new Error(`The left-hand id [${t}] does not yet exist. Please create the service/group before declaring an edge to it.`);if(void 0===D.records.nodes[e]&&void 0===D.records.groups[t])throw new Error(`The right-hand id [${e}] does not yet exist. Please create the service/group before declaring an edge to it.`);const l=D.records.nodes[t].in,c=D.records.nodes[e].in;if(s&&l&&c&&l==c)throw new Error(`The left-hand id [${t}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);if(a&&l&&c&&l==c)throw new Error(`The right-hand id [${e}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);const d={lhsId:t,lhsDir:i,lhsInto:n,lhsGroup:s,rhsId:e,rhsDir:r,rhsInto:o,rhsGroup:a,title:h};D.records.edges.push(d),D.records.nodes[t]&&D.records.nodes[e]&&(D.records.nodes[t].edges.push(D.records.edges[D.records.edges.length-1]),D.records.nodes[e].edges.push(D.records.edges[D.records.edges.length-1]))}),"addEdge"),X=(0,h.K2)((()=>D.records.edges),"getEdges"),z=(0,h.K2)((()=>{if(void 0===D.records.dataStructures){const t=Object.entries(D.records.nodes).reduce(((t,[e,i])=>(t[e]=i.edges.reduce(((t,i)=>{if(i.lhsId===e){const e=w(i.lhsDir,i.rhsDir);e&&(t[e]=i.rhsId)}else{const e=w(i.rhsDir,i.lhsDir);e&&(t[e]=i.lhsId)}return t}),{}),t)),{}),e=Object.keys(t)[0],i={[e]:1},r=Object.keys(t).reduce(((t,i)=>i===e?t:{...t,[i]:1}),{}),n=(0,h.K2)((e=>{const n={[e]:[0,0]},o=[e];for(;o.length>0;){const e=o.shift();if(e){i[e]=1,delete r[e];const s=t[e],[a,h]=n[e];Object.entries(s).forEach((([t,e])=>{i[e]||(n[e]=L([a,h],t),o.push(e))}))}}return n}),"BFS"),o=[n(e)];for(;Object.keys(r).length>0;)o.push(n(Object.keys(r)[0]));D.records.dataStructures={adjList:t,spatialMaps:o}}return D.records.dataStructures}),"getDataStructures"),V=(0,h.K2)(((t,e)=>{D.records.elements[t]=e}),"setElementForId"),B=(0,h.K2)((t=>D.records.elements[t]),"getElementById"),W={clear:R,setDiagramTitle:h.ke,getDiagramTitle:h.ab,setAccTitle:h.SV,getAccTitle:h.iN,setAccDescription:h.EI,getAccDescription:h.m7,addService:b,getServices:G,addJunction:F,getJunctions:S,getNodes:P,getNode:U,addGroup:Y,getGroups:k,addEdge:H,getEdges:X,setElementForId:V,getElementById:B,getDataStructures:z};function j(t){const e=(0,h.D7)().architecture;return e?.[t]?e[t]:O[t]}(0,h.K2)(j,"getConfigField");var q=(0,h.K2)(((t,e)=>{(0,o.S)(t,e),t.groups.map(e.addGroup),t.services.map((t=>e.addService({...t,type:"service"}))),t.junctions.map((t=>e.addJunction({...t,type:"junction"}))),t.edges.map(e.addEdge)}),"populateDb"),$={parse:(0,h.K2)((async t=>{const e=await(0,l.qg)("architecture",t);h.Rm.debug(e),q(e,W)}),"parse")},K=(0,h.K2)((t=>`\n .edge {\n stroke-width: ${t.archEdgeWidth};\n stroke: ${t.archEdgeColor};\n fill: none;\n }\n\n .arrow {\n fill: ${t.archEdgeArrowColor};\n }\n\n .node-bkg {\n fill: none;\n stroke: ${t.archGroupBorderColor};\n stroke-width: ${t.archGroupBorderWidth};\n stroke-dasharray: 8;\n }\n .node-icon-text {\n display: flex; \n align-items: center;\n }\n \n .node-icon-text > div {\n color: #fff;\n margin: 1px;\n height: fit-content;\n text-align: center;\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n }\n`),"getStyles"),Z=(0,h.K2)((t=>`${t}`),"wrapIcon"),Q={prefix:"mermaid-architecture",height:80,width:80,icons:{database:{body:Z('')},server:{body:Z('')},disk:{body:Z('')},internet:{body:Z('')},cloud:{body:Z('')},unknown:r.Gc,blank:{body:Z("")}}},J=(0,h.K2)((async function(t,e){const i=j("padding"),r=j("iconSize"),o=r/2,s=r/6,a=s/2;await Promise.all(e.edges().map((async e=>{const{source:r,sourceDir:l,sourceArrow:c,sourceGroup:d,target:g,targetDir:u,targetArrow:y,targetGroup:v,label:A}=M(e);let{x:L,y:_}=e[0].sourceEndpoint();const{x:C,y:x}=e[0].midpoint();let{x:O,y:D}=e[0].targetEndpoint();const R=i+4;if(d&&(m(l)?L+="L"===l?-R:R:_+="T"===l?-R:R+18),v&&(m(u)?O+="L"===u?-R:R:D+="T"===u?-R:R+18),d||"junction"!==W.getNode(r)?.type||(m(l)?L+="L"===l?o:-o:_+="T"===l?o:-o),v||"junction"!==W.getNode(g)?.type||(m(u)?O+="L"===u?o:-o:D+="T"===u?o:-o),e[0]._private.rscratch){const e=t.insert("g");if(e.insert("path").attr("d",`M ${L},${_} L ${C},${x} L${O},${D} `).attr("class","edge"),c){const t=m(l)?f[l](L,s):L-a,i=E(l)?f[l](_,s):_-a;e.insert("polygon").attr("points",p[l](s)).attr("transform",`translate(${t},${i})`).attr("class","arrow")}if(y){const t=m(u)?f[u](O,s):O-a,i=E(u)?f[u](D,s):D-a;e.insert("polygon").attr("points",p[u](s)).attr("transform",`translate(${t},${i})`).attr("class","arrow")}if(A){const t=N(l,u)?"XY":m(l)?"X":"Y";let i=0;i="X"===t?Math.abs(L-O):"Y"===t?Math.abs(_-D)/1.5:Math.abs(L-O)/2;const r=e.append("g");if(await(0,n.GZ)(r,A,{useHtmlLabels:!1,width:i,classes:"architecture-service-label"},(0,h.D7)()),r.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),"X"===t)r.attr("transform","translate("+C+", "+x+")");else if("Y"===t)r.attr("transform","translate("+C+", "+x+") rotate(-90)");else if("XY"===t){const t=w(l,u);if(t&&T(t)){const e=r.node().getBoundingClientRect(),[i,n]=I(t);r.attr("dominant-baseline","auto").attr("transform",`rotate(${-1*i*n*45})`);const o=r.node().getBoundingClientRect();r.attr("transform",`\n translate(${C}, ${x-e.height/2})\n translate(${i*o.width/2}, ${n*o.height/2})\n rotate(${-1*i*n*45}, 0, ${e.height/2})\n `)}}}}})))}),"drawEdges"),tt=(0,h.K2)((async function(t,e){const i=.75*j("padding"),o=j("fontSize"),s=j("iconSize")/2;await Promise.all(e.nodes().map((async e=>{const a=x(e);if("group"===a.type){const{h:l,w:c,x1:d,y1:g}=e.boundingBox();t.append("rect").attr("x",d+s).attr("y",g+s).attr("width",c).attr("height",l).attr("class","node-bkg");const u=t.append("g");let p=d,f=g;if(a.icon){const t=u.append("g");t.html(`${await(0,r.WY)(a.icon,{height:i,width:i,fallbackPrefix:Q.prefix})}`),t.attr("transform","translate("+(p+s+1)+", "+(f+s+1)+")"),p+=i,f+=o/2-1-2}if(a.label){const t=u.append("g");await(0,n.GZ)(t,a.label,{useHtmlLabels:!1,width:c,classes:"architecture-service-label"},(0,h.D7)()),t.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","start").attr("text-anchor","start"),t.attr("transform","translate("+(p+s+4)+", "+(f+s+2)+")")}}})))}),"drawGroups"),et=(0,h.K2)((async function(t,e,i){for(const o of i){const i=e.append("g"),s=j("iconSize");if(o.title){const t=i.append("g");await(0,n.GZ)(t,o.title,{useHtmlLabels:!1,width:1.5*s,classes:"architecture-service-label"},(0,h.D7)()),t.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),t.attr("transform","translate("+s/2+", "+s+")")}const a=i.append("g");if(o.icon)a.html(`${await(0,r.WY)(o.icon,{height:s,width:s,fallbackPrefix:Q.prefix})}`);else if(o.iconText){a.html(`${await(0,r.WY)("blank",{height:s,width:s,fallbackPrefix:Q.prefix})}`);const t=a.append("g").append("foreignObject").attr("width",s).attr("height",s).append("div").attr("class","node-icon-text").attr("style",`height: ${s}px;`).append("div").html(o.iconText),e=parseInt(window.getComputedStyle(t.node(),null).getPropertyValue("font-size").replace(/\D/g,""))??16;t.attr("style",`-webkit-line-clamp: ${Math.floor((s-2)/e)};`)}else a.append("path").attr("class","node-bkg").attr("id","node-"+o.id).attr("d",`M0 ${s} v${-s} q0,-5 5,-5 h${s} q5,0 5,5 v${s} H0 Z`);i.attr("class","architecture-service");const{width:l,height:c}=i._groups[0][0].getBBox();o.width=l,o.height=c,t.setElementForId(o.id,i)}return 0}),"drawServices"),it=(0,h.K2)((function(t,e,i){i.forEach((i=>{const r=e.append("g"),n=j("iconSize");r.append("g").append("rect").attr("id","node-"+i.id).attr("fill-opacity","0").attr("width",n).attr("height",n),r.attr("class","architecture-junction");const{width:o,height:s}=r._groups[0][0].getBBox();r.width=o,r.height=s,t.setElementForId(i.id,r)}))}),"drawJunctions");function rt(t,e){t.forEach((t=>{e.add({group:"nodes",data:{type:"service",id:t.id,icon:t.icon,label:t.title,parent:t.in,width:j("iconSize"),height:j("iconSize")},classes:"node-service"})}))}function nt(t,e){t.forEach((t=>{e.add({group:"nodes",data:{type:"junction",id:t.id,parent:t.in,width:j("iconSize"),height:j("iconSize")},classes:"node-junction"})}))}function ot(t,e){e.nodes().map((e=>{const i=x(e);"group"!==i.type&&(i.x=e.position().x,i.y=e.position().y,t.getElementById(i.id).attr("transform","translate("+(i.x||0)+","+(i.y||0)+")"))}))}function st(t,e){t.forEach((t=>{e.add({group:"nodes",data:{type:"group",id:t.id,icon:t.icon,label:t.title,parent:t.in},classes:"node-group"})}))}function at(t,e){t.forEach((t=>{const{lhsId:i,rhsId:r,lhsInto:n,lhsGroup:o,rhsInto:s,lhsDir:a,rhsDir:h,rhsGroup:l,title:c}=t,d=N(t.lhsDir,t.rhsDir)?"segments":"straight",g={id:`${i}-${r}`,label:c,source:i,sourceDir:a,sourceArrow:n,sourceGroup:o,sourceEndpoint:"L"===a?"0 50%":"R"===a?"100% 50%":"T"===a?"50% 0":"50% 100%",target:r,targetDir:h,targetArrow:s,targetGroup:l,targetEndpoint:"L"===h?"0 50%":"R"===h?"100% 50%":"T"===h?"50% 0":"50% 100%"};e.add({group:"edges",data:g,classes:d})}))}function ht(t){const e=t.map((t=>{const e={},i={};return Object.entries(t).forEach((([t,[r,n]])=>{e[n]||(e[n]=[]),i[r]||(i[r]=[]),e[n].push(t),i[r].push(t)})),{horiz:Object.values(e).filter((t=>t.length>1)),vert:Object.values(i).filter((t=>t.length>1))}})),[i,r]=e.reduce((([t,e],{horiz:i,vert:r})=>[[...t,...i],[...e,...r]]),[[],[]]);return{horizontal:i,vertical:r}}function lt(t){const e=[],i=(0,h.K2)((t=>`${t[0]},${t[1]}`),"posToStr"),r=(0,h.K2)((t=>t.split(",").map((t=>parseInt(t)))),"strToPos");return t.forEach((t=>{const n=Object.fromEntries(Object.entries(t).map((([t,e])=>[i(e),t]))),o=[i([0,0])],s={},a={L:[-1,0],R:[1,0],T:[0,1],B:[0,-1]};for(;o.length>0;){const t=o.shift();if(t){s[t]=1;const h=n[t];if(h){const l=r(t);Object.entries(a).forEach((([t,r])=>{const a=i([l[0]+r[0],l[1]+r[1]]),c=n[a];c&&!s[a]&&(o.push(a),e.push({[u[t]]:c,[u[y(t)]]:h,gap:1.5*j("iconSize")}))}))}}}})),e}function ct(t,e,i,r,{spatialMaps:n}){return new Promise((o=>{const s=(0,g.Ltv)("body").append("div").attr("id","cy").attr("style","display:none"),a=(0,c.A)({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"straight",label:"data(label)","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"edge.segments",style:{"curve-style":"segments","segment-weights":"0","segment-distances":[.5],"edge-distances":"endpoints","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"node",style:{"compound-sizing-wrt-labels":"include"}},{selector:"node[label]",style:{"text-valign":"bottom","text-halign":"center","font-size":`${j("fontSize")}px`}},{selector:".node-service",style:{label:"data(label)",width:"data(width)",height:"data(height)"}},{selector:".node-junction",style:{width:"data(width)",height:"data(height)"}},{selector:".node-group",style:{padding:`${j("padding")}px`}}]});s.remove(),st(i,a),rt(t,a),nt(e,a),at(r,a);const l=ht(n),d=lt(n),u=a.layout({name:"fcose",quality:"proof",styleEnabled:!1,animate:!1,nodeDimensionsIncludeLabels:!1,idealEdgeLength(t){const[e,i]=t.connectedNodes(),{parent:r}=x(e),{parent:n}=x(i);return r===n?1.5*j("iconSize"):.5*j("iconSize")},edgeElasticity(t){const[e,i]=t.connectedNodes(),{parent:r}=x(e),{parent:n}=x(i);return r===n?.45:.001},alignmentConstraint:l,relativePlacementConstraint:d});u.one("layoutstop",(()=>{function t(t,e,i,r){let n,o;const{x:s,y:a}=t,{x:h,y:l}=e;o=(r-a+(s-i)*(a-l)/(s-h))/Math.sqrt(1+Math.pow((a-l)/(s-h),2)),n=Math.sqrt(Math.pow(r-a,2)+Math.pow(i-s,2)-Math.pow(o,2)),n/=Math.sqrt(Math.pow(h-s,2)+Math.pow(l-a,2));let c=(h-s)*(r-a)-(l-a)*(i-s);switch(!0){case c>=0:c=1;break;case c<0:c=-1}let d=(h-s)*(i-s)+(l-a)*(r-a);switch(!0){case d>=0:d=1;break;case d<0:d=-1}return o=Math.abs(o)*c,n*=d,{distances:o,weights:n}}(0,h.K2)(t,"getSegmentWeights"),a.startBatch();for(const e of Object.values(a.edges()))if(e.data?.()){const{x:i,y:r}=e.source().position(),{x:n,y:o}=e.target().position();if(i!==n&&r!==o){const i=e.sourceEndpoint(),r=e.targetEndpoint(),{sourceDir:n}=M(e),[o,s]=E(n)?[i.x,r.y]:[r.x,i.y],{weights:a,distances:h}=t(i,r,o,s);e.style("segment-distances",h),e.style("segment-weights",a)}}a.endBatch(),u.run()})),u.run(),a.ready((t=>{h.Rm.info("Ready",t),o(a)}))}))}(0,r.pC)([{name:Q.prefix,icons:Q}]),c.A.use(d),(0,h.K2)(rt,"addServices"),(0,h.K2)(nt,"addJunctions"),(0,h.K2)(ot,"positionNodes"),(0,h.K2)(st,"addGroups"),(0,h.K2)(at,"addEdges"),(0,h.K2)(ht,"getAlignments"),(0,h.K2)(lt,"getRelativeConstraints"),(0,h.K2)(ct,"layoutArchitecture");var dt={parser:$,db:W,renderer:{draw:(0,h.K2)((async(t,e,i,r)=>{const n=r.db,o=n.getServices(),s=n.getJunctions(),l=n.getGroups(),c=n.getEdges(),d=n.getDataStructures(),g=(0,a.D)(e),u=g.append("g");u.attr("class","architecture-edges");const p=g.append("g");p.attr("class","architecture-services");const f=g.append("g");f.attr("class","architecture-groups"),await et(n,p,o),it(n,p,s);const y=await ct(o,s,l,c,d);await J(u,y),await tt(f,y),ot(n,y),(0,h.ot)(void 0,g,j("padding"),j("useMaxWidth"))}),"draw")},styles:K}},8160:(t,e,i)=>{"use strict";i.d(e,{m:()=>n});var r=i(9502),n=class{constructor(t){this.init=t,this.records=this.init()}static{(0,r.K2)(this,"ImperativeState")}reset(){this.records=this.init()}}},3933:(t,e,i)=>{"use strict";function r(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}i.d(e,{S:()=>r}),(0,i(9502).K2)(r,"populateCommonDb")}}]); \ No newline at end of file diff --git a/docs/hugo/public/js/237-c0a3f3fe.chunk.min.js b/docs/hugo/public/js/237-c0a3f3fe.chunk.min.js new file mode 100644 index 000000000..f7f2a3b30 --- /dev/null +++ b/docs/hugo/public/js/237-c0a3f3fe.chunk.min.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgeekdoc=self.webpackChunkgeekdoc||[]).push([[237],{3814:(t,e,n)=>{n.d(e,{CP:()=>l,HT:()=>u,PB:()=>h,aC:()=>c,lC:()=>a,m:()=>o,tk:()=>r});var i=n(9502),s=n(6750),r=(0,i.K2)(((t,e)=>{const n=t.append("rect");if(n.attr("x",e.x),n.attr("y",e.y),n.attr("fill",e.fill),n.attr("stroke",e.stroke),n.attr("width",e.width),n.attr("height",e.height),e.name&&n.attr("name",e.name),e.rx&&n.attr("rx",e.rx),e.ry&&n.attr("ry",e.ry),void 0!==e.attrs)for(const t in e.attrs)n.attr(t,e.attrs[t]);return e.class&&n.attr("class",e.class),n}),"drawRect"),a=(0,i.K2)(((t,e)=>{const n={x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"};r(t,n).lower()}),"drawBackgroundRect"),o=(0,i.K2)(((t,e)=>{const n=e.text.replace(i.H1," "),s=t.append("text");s.attr("x",e.x),s.attr("y",e.y),s.attr("class","legend"),s.style("text-anchor",e.anchor),e.class&&s.attr("class",e.class);const r=s.append("tspan");return r.attr("x",e.x+2*e.textMargin),r.text(n),s}),"drawText"),c=(0,i.K2)(((t,e,n,i)=>{const r=t.append("image");r.attr("x",e),r.attr("y",n);const a=(0,s.J)(i);r.attr("xlink:href",a)}),"drawImage"),l=(0,i.K2)(((t,e,n,i)=>{const r=t.append("use");r.attr("x",e),r.attr("y",n);const a=(0,s.J)(i);r.attr("xlink:href",`#${a}`)}),"drawEmbeddedImage"),h=(0,i.K2)((()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0})),"getNoteRect"),u=(0,i.K2)((()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0})),"getTextObj")},6237:(t,e,n)=>{n.d(e,{diagram:()=>Y});var i=n(3814),s=n(9502),r=n(4852),a=function(){var t=(0,s.K2)((function(t,e,n,i){for(n=n||{},i=t.length;i--;n[t[i]]=e);return n}),"o"),e=[6,8,10,11,12,14,16,17,18],n=[1,9],i=[1,10],r=[1,11],a=[1,12],o=[1,13],c=[1,14],l={trace:(0,s.K2)((function(){}),"trace"),yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:(0,s.K2)((function(t,e,n,i,s,r,a){var o=r.length-1;switch(s){case 1:return r[o-1];case 2:case 6:case 7:this.$=[];break;case 3:r[o-1].push(r[o]),this.$=r[o-1];break;case 4:case 5:this.$=r[o];break;case 8:i.setDiagramTitle(r[o].substr(6)),this.$=r[o].substr(6);break;case 9:this.$=r[o].trim(),i.setAccTitle(this.$);break;case 10:case 11:this.$=r[o].trim(),i.setAccDescription(this.$);break;case 12:i.addSection(r[o].substr(8)),this.$=r[o].substr(8);break;case 13:i.addTask(r[o-1],r[o]),this.$="task"}}),"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:n,12:i,14:r,16:a,17:o,18:c},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:n,12:i,14:r,16:a,17:o,18:c},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:(0,s.K2)((function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)}),"parseError"),parse:(0,s.K2)((function(t){var e=this,n=[0],i=[],r=[null],a=[],o=this.table,c="",l=0,h=0,u=0,y=a.slice.call(arguments,1),p=Object.create(this.lexer),d={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(d.yy[f]=this.yy[f]);p.setInput(t,d.yy),d.yy.lexer=p,d.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var g=p.yylloc;a.push(g);var x=p.options&&p.options.ranges;function m(){var t;return"number"!=typeof(t=i.pop()||p.lex()||1)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof d.yy.parseError?this.parseError=d.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,s.K2)((function(t){n.length=n.length-2*t,r.length=r.length-t,a.length=a.length-t}),"popStack"),(0,s.K2)(m,"lex");for(var k,_,b,w,v,K,$,T,M,S={};;){if(b=n[n.length-1],this.defaultActions[b]?w=this.defaultActions[b]:(null==k&&(k=m()),w=o[b]&&o[b][k]),void 0===w||!w.length||!w[0]){var E;for(K in M=[],o[b])this.terminals_[K]&&K>2&&M.push("'"+this.terminals_[K]+"'");E=p.showPosition?"Parse error on line "+(l+1)+":\n"+p.showPosition()+"\nExpecting "+M.join(", ")+", got '"+(this.terminals_[k]||k)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==k?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(E,{text:p.match,token:this.terminals_[k]||k,line:p.yylineno,loc:g,expected:M})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+b+", token: "+k);switch(w[0]){case 1:n.push(k),r.push(p.yytext),a.push(p.yylloc),n.push(w[1]),k=null,_?(k=_,_=null):(h=p.yyleng,c=p.yytext,l=p.yylineno,g=p.yylloc,u>0&&u--);break;case 2:if($=this.productions_[w[1]][1],S.$=r[r.length-$],S._$={first_line:a[a.length-($||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-($||1)].first_column,last_column:a[a.length-1].last_column},x&&(S._$.range=[a[a.length-($||1)].range[0],a[a.length-1].range[1]]),void 0!==(v=this.performAction.apply(S,[c,h,l,d.yy,w[1],r,a].concat(y))))return v;$&&(n=n.slice(0,-1*$*2),r=r.slice(0,-1*$),a=a.slice(0,-1*$)),n.push(this.productions_[w[1]][0]),r.push(S.$),a.push(S._$),T=o[n[n.length-2]][n[n.length-1]],n.push(T);break;case 3:return!0}}return!0}),"parse")},h=function(){return{EOF:1,parseError:(0,s.K2)((function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)}),"parseError"),setInput:(0,s.K2)((function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this}),"setInput"),input:(0,s.K2)((function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t}),"input"),unput:(0,s.K2)((function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var s=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[s[0],s[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this}),"unput"),more:(0,s.K2)((function(){return this._more=!0,this}),"more"),reject:(0,s.K2)((function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"reject"),less:(0,s.K2)((function(t){this.unput(this.match.slice(t))}),"less"),pastInput:(0,s.K2)((function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")}),"pastInput"),upcomingInput:(0,s.K2)((function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")}),"upcomingInput"),showPosition:(0,s.K2)((function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"}),"showPosition"),test_match:(0,s.K2)((function(t,e){var n,i,s;if(this.options.backtrack_lexer&&(s={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(s.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var r in s)this[r]=s[r];return!1}return!1}),"test_match"),next:(0,s.K2)((function(){if(this.done)return this.EOF;var t,e,n,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var s=this._currentRules(),r=0;re[0].length)){if(e=n,i=r,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,s[r])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,s[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"next"),lex:(0,s.K2)((function(){return this.next()||this.lex()}),"lex"),begin:(0,s.K2)((function(t){this.conditionStack.push(t)}),"begin"),popState:(0,s.K2)((function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]}),"popState"),_currentRules:(0,s.K2)((function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules}),"_currentRules"),topState:(0,s.K2)((function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"}),"topState"),pushState:(0,s.K2)((function(t){this.begin(t)}),"pushState"),stateStackSize:(0,s.K2)((function(){return this.conditionStack.length}),"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,s.K2)((function(t,e,n,i){switch(n){case 0:case 1:case 3:case 4:break;case 2:return 10;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 18;case 16:return 19;case 17:return":";case 18:return 6;case 19:return"INVALID"}}),"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18,19],inclusive:!0}}}}();function u(){this.yy={}}return l.lexer=h,(0,s.K2)(u,"Parser"),u.prototype=l,l.Parser=u,new u}();a.parser=a;var o=a,c="",l=[],h=[],u=[],y=(0,s.K2)((function(){l.length=0,h.length=0,c="",u.length=0,(0,s.IU)()}),"clear"),p=(0,s.K2)((function(t){c=t,l.push(t)}),"addSection"),d=(0,s.K2)((function(){return l}),"getSections"),f=(0,s.K2)((function(){let t=k(),e=0;for(;!t&&e<100;)t=k(),e++;return h.push(...u),h}),"getTasks"),g=(0,s.K2)((function(){const t=[];return h.forEach((e=>{e.people&&t.push(...e.people)})),[...new Set(t)].sort()}),"updateActors"),x=(0,s.K2)((function(t,e){const n=e.substr(1).split(":");let i=0,s=[];1===n.length?(i=Number(n[0]),s=[]):(i=Number(n[0]),s=n[1].split(","));const r=s.map((t=>t.trim())),a={section:c,type:c,people:r,task:t,score:i};u.push(a)}),"addTask"),m=(0,s.K2)((function(t){const e={section:c,type:c,description:t,task:t,classes:[]};h.push(e)}),"addTaskOrg"),k=(0,s.K2)((function(){const t=(0,s.K2)((function(t){return u[t].processed}),"compileTask");let e=!0;for(const[n,i]of u.entries())t(n),e=e&&i.processed;return e}),"compileTasks"),_=(0,s.K2)((function(){return g()}),"getActors"),b={getConfig:(0,s.K2)((()=>(0,s.D7)().journey),"getConfig"),clear:y,setDiagramTitle:s.ke,getDiagramTitle:s.ab,setAccTitle:s.SV,getAccTitle:s.iN,setAccDescription:s.EI,getAccDescription:s.m7,addSection:p,getSections:d,getTasks:f,addTask:x,addTaskOrg:m,getActors:_},w=(0,s.K2)((t=>`.label {\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n color: ${t.textColor};\n }\n .mouth {\n stroke: #666;\n }\n\n line {\n stroke: ${t.textColor}\n }\n\n .legend {\n fill: ${t.textColor};\n }\n\n .label text {\n fill: #333;\n }\n .label {\n color: ${t.textColor}\n }\n\n .face {\n ${t.faceColor?`fill: ${t.faceColor}`:"fill: #FFF8DC"};\n stroke: #999;\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${t.mainBkg};\n stroke: ${t.nodeBorder};\n stroke-width: 1px;\n }\n\n .node .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n .arrowheadPath {\n fill: ${t.arrowheadColor};\n }\n\n .edgePath .path {\n stroke: ${t.lineColor};\n stroke-width: 1.5px;\n }\n\n .flowchart-link {\n stroke: ${t.lineColor};\n fill: none;\n }\n\n .edgeLabel {\n background-color: ${t.edgeLabelBackground};\n rect {\n opacity: 0.5;\n }\n text-align: center;\n }\n\n .cluster rect {\n }\n\n .cluster text {\n fill: ${t.titleColor};\n }\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n font-size: 12px;\n background: ${t.tertiaryColor};\n border: 1px solid ${t.border2};\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n\n .task-type-0, .section-type-0 {\n ${t.fillType0?`fill: ${t.fillType0}`:""};\n }\n .task-type-1, .section-type-1 {\n ${t.fillType0?`fill: ${t.fillType1}`:""};\n }\n .task-type-2, .section-type-2 {\n ${t.fillType0?`fill: ${t.fillType2}`:""};\n }\n .task-type-3, .section-type-3 {\n ${t.fillType0?`fill: ${t.fillType3}`:""};\n }\n .task-type-4, .section-type-4 {\n ${t.fillType0?`fill: ${t.fillType4}`:""};\n }\n .task-type-5, .section-type-5 {\n ${t.fillType0?`fill: ${t.fillType5}`:""};\n }\n .task-type-6, .section-type-6 {\n ${t.fillType0?`fill: ${t.fillType6}`:""};\n }\n .task-type-7, .section-type-7 {\n ${t.fillType0?`fill: ${t.fillType7}`:""};\n }\n\n .actor-0 {\n ${t.actor0?`fill: ${t.actor0}`:""};\n }\n .actor-1 {\n ${t.actor1?`fill: ${t.actor1}`:""};\n }\n .actor-2 {\n ${t.actor2?`fill: ${t.actor2}`:""};\n }\n .actor-3 {\n ${t.actor3?`fill: ${t.actor3}`:""};\n }\n .actor-4 {\n ${t.actor4?`fill: ${t.actor4}`:""};\n }\n .actor-5 {\n ${t.actor5?`fill: ${t.actor5}`:""};\n }\n`),"getStyles"),v=(0,s.K2)((function(t,e){return(0,i.tk)(t,e)}),"drawRect"),K=(0,s.K2)((function(t,e){const n=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),i=t.append("g");function a(t){const n=(0,r.JLW)().startAngle(Math.PI/2).endAngle(Math.PI/2*3).innerRadius(7.5).outerRadius(15/2.2);t.append("path").attr("class","mouth").attr("d",n).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}function o(t){const n=(0,r.JLW)().startAngle(3*Math.PI/2).endAngle(Math.PI/2*5).innerRadius(7.5).outerRadius(15/2.2);t.append("path").attr("class","mouth").attr("d",n).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}function c(t){t.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return i.append("circle").attr("cx",e.cx-5).attr("cy",e.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),i.append("circle").attr("cx",e.cx+5).attr("cy",e.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),(0,s.K2)(a,"smile"),(0,s.K2)(o,"sad"),(0,s.K2)(c,"ambivalent"),e.score>3?a(i):e.score<3?o(i):c(i),n}),"drawFace"),$=(0,s.K2)((function(t,e){const n=t.append("circle");return n.attr("cx",e.cx),n.attr("cy",e.cy),n.attr("class","actor-"+e.pos),n.attr("fill",e.fill),n.attr("stroke",e.stroke),n.attr("r",e.r),void 0!==n.class&&n.attr("class",n.class),void 0!==e.title&&n.append("title").text(e.title),n}),"drawCircle"),T=(0,s.K2)((function(t,e){return(0,i.m)(t,e)}),"drawText"),M=(0,s.K2)((function(t,e){function n(t,e,n,i,s){return t+","+e+" "+(t+n)+","+e+" "+(t+n)+","+(e+i-s)+" "+(t+n-1.2*s)+","+(e+i)+" "+t+","+(e+i)}(0,s.K2)(n,"genPoints");const i=t.append("polygon");i.attr("points",n(e.x,e.y,50,20,7)),i.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,T(t,e)}),"drawLabel"),S=(0,s.K2)((function(t,e,n){const s=t.append("g"),r=(0,i.PB)();r.x=e.x,r.y=e.y,r.fill=e.fill,r.width=n.width*e.taskCount+n.diagramMarginX*(e.taskCount-1),r.height=n.height,r.class="journey-section section-type-"+e.num,r.rx=3,r.ry=3,v(s,r),C(n)(e.text,s,r.x,r.y,r.width,r.height,{class:"journey-section section-type-"+e.num},n,e.colour)}),"drawSection"),E=-1,I=(0,s.K2)((function(t,e,n){const s=e.x+n.width/2,r=t.append("g");E++,r.append("line").attr("id","task"+E).attr("x1",s).attr("y1",e.y).attr("x2",s).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),K(r,{cx:s,cy:300+30*(5-e.score),score:e.score});const a=(0,i.PB)();a.x=e.x,a.y=e.y,a.fill=e.fill,a.width=n.width,a.height=n.height,a.class="task task-type-"+e.num,a.rx=3,a.ry=3,v(r,a);let o=e.x+14;e.people.forEach((t=>{const n=e.actors[t].color,i={cx:o,cy:e.y,r:7,fill:n,stroke:"#000",title:t,pos:e.actors[t].position};$(r,i),o+=10})),C(n)(e.task,r,a.x,a.y,a.width,a.height,{class:"task"},n,e.colour)}),"drawTask"),P=(0,s.K2)((function(t,e){(0,i.lC)(t,e)}),"drawBackgroundRect"),C=function(){function t(t,e,n,s,r,a,o,c){i(e.append("text").attr("x",n+r/2).attr("y",s+a/2+5).style("font-color",c).style("text-anchor","middle").text(t),o)}function e(t,e,n,s,r,a,o,c,l){const{taskFontSize:h,taskFontFamily:u}=c,y=t.split(//gi);for(let t=0;t{const s=D[i].color,r={cx:20,cy:n,r:7,fill:s,stroke:"#000",pos:D[i].position};A.drawCircle(t,r);const a={x:40,y:n+7,fill:"#666",text:i,textMargin:5|e.boxTextMargin};A.drawText(t,a),n+=20}))}(0,s.K2)(L,"drawActorLegend");var V=(0,s.D7)().journey,B=V.leftMargin,O=(0,s.K2)((function(t,e,n,i){const a=(0,s.D7)().journey,o=(0,s.D7)().securityLevel;let c;"sandbox"===o&&(c=(0,r.Ltv)("#i"+e));const l="sandbox"===o?(0,r.Ltv)(c.nodes()[0].contentDocument.body):(0,r.Ltv)("body");F.init();const h=l.select("#"+e);A.initGraphics(h);const u=i.db.getTasks(),y=i.db.getDiagramTitle(),p=i.db.getActors();for(const t in D)delete D[t];let d=0;p.forEach((t=>{D[t]={color:a.actorColours[d%a.actorColours.length],position:d},d++})),L(h),F.insert(0,0,B,50*Object.keys(D).length),z(h,u,0);const f=F.getBounds();y&&h.append("text").text(y).attr("x",B).attr("font-size","4ex").attr("font-weight","bold").attr("y",25);const g=f.stopy-f.starty+2*a.diagramMarginY,x=B+f.stopx+2*a.diagramMarginX;(0,s.a$)(h,g,x,a.useMaxWidth),h.append("line").attr("x1",B).attr("y1",4*a.height).attr("x2",x-B-4).attr("y2",4*a.height).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)");const m=y?70:0;h.attr("viewBox",`${f.startx} -25 ${x} ${g+m}`),h.attr("preserveAspectRatio","xMinYMin meet"),h.attr("height",g+m+25)}),"draw"),F={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:(0,s.K2)((function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0}),"init"),updateVal:(0,s.K2)((function(t,e,n,i){void 0===t[e]?t[e]=n:t[e]=i(n,t[e])}),"updateVal"),updateBounds:(0,s.K2)((function(t,e,n,i){const r=(0,s.D7)().journey,a=this;let o=0;function c(c){return(0,s.K2)((function(s){o++;const l=a.sequenceItems.length-o+1;a.updateVal(s,"starty",e-l*r.boxMargin,Math.min),a.updateVal(s,"stopy",i+l*r.boxMargin,Math.max),a.updateVal(F.data,"startx",t-l*r.boxMargin,Math.min),a.updateVal(F.data,"stopx",n+l*r.boxMargin,Math.max),"activation"!==c&&(a.updateVal(s,"startx",t-l*r.boxMargin,Math.min),a.updateVal(s,"stopx",n+l*r.boxMargin,Math.max),a.updateVal(F.data,"starty",e-l*r.boxMargin,Math.min),a.updateVal(F.data,"stopy",i+l*r.boxMargin,Math.max))}),"updateItemBounds")}(0,s.K2)(c,"updateFn"),this.sequenceItems.forEach(c())}),"updateBounds"),insert:(0,s.K2)((function(t,e,n,i){const s=Math.min(t,n),r=Math.max(t,n),a=Math.min(e,i),o=Math.max(e,i);this.updateVal(F.data,"startx",s,Math.min),this.updateVal(F.data,"starty",a,Math.min),this.updateVal(F.data,"stopx",r,Math.max),this.updateVal(F.data,"stopy",o,Math.max),this.updateBounds(s,a,r,o)}),"insert"),bumpVerticalPos:(0,s.K2)((function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos}),"bumpVerticalPos"),getVerticalPos:(0,s.K2)((function(){return this.verticalPos}),"getVerticalPos"),getBounds:(0,s.K2)((function(){return this.data}),"getBounds")},N=V.sectionFills,R=V.sectionColours,z=(0,s.K2)((function(t,e,n){const i=(0,s.D7)().journey;let r="";const a=n+(2*i.height+i.diagramMarginY);let o=0,c="#CCC",l="black",h=0;for(const[n,s]of e.entries()){if(r!==s.section){c=N[o%N.length],h=o%N.length,l=R[o%R.length];let a=0;const u=s.section;for(let t=n;t(D[e]&&(t[e]=D[e]),t)),{});s.x=n*i.taskMargin+n*i.width+B,s.y=a,s.width=i.diagramMarginX,s.height=i.diagramMarginY,s.colour=l,s.fill=c,s.num=h,s.actors=u,A.drawTask(t,s,i),F.insert(s.x,s.y,s.x+s.width+i.taskMargin,450)}}),"drawTasks"),W={setConf:j,draw:O},Y={parser:o,db:b,renderer:W,styles:w,init:(0,s.K2)((t=>{W.setConf(t.journey),b.clear()}),"init")}}}]); \ No newline at end of file diff --git a/docs/hugo/public/js/240-8ca3ada2.chunk.min.js b/docs/hugo/public/js/240-8ca3ada2.chunk.min.js new file mode 100644 index 000000000..3393b5a58 --- /dev/null +++ b/docs/hugo/public/js/240-8ca3ada2.chunk.min.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgeekdoc=self.webpackChunkgeekdoc||[]).push([[240],{6474:(t,e,s)=>{s.d(e,{A:()=>u,P:()=>a});var n=s(9502),i=s(4852),u=(0,n.K2)(((t,e)=>{let s;return"sandbox"===e&&(s=(0,i.Ltv)("#i"+t)),("sandbox"===e?(0,i.Ltv)(s.nodes()[0].contentDocument.body):(0,i.Ltv)("body")).select(`[id="${t}"]`)}),"getDiagramElement"),a=(0,n.K2)(((t,e,s,i)=>{t.attr("class",s);const{width:u,height:a,x:l,y:c}=r(t,e);(0,n.a$)(t,a,u,i);const h=o(l,c,u,a,e);t.attr("viewBox",h),n.Rm.debug(`viewBox configured: ${h} with padding: ${e}`)}),"setupViewPortForSVG"),r=(0,n.K2)(((t,e)=>{const s=t.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:s.width+2*e,height:s.height+2*e,x:s.x,y:s.y}}),"calculateDimensionsWithPadding"),o=(0,n.K2)(((t,e,s,n,i)=>`${t-i} ${e-i} ${s} ${n}`),"createViewBox")},6240:(t,e,s)=>{s.d(e,{Lh:()=>ot,_$:()=>l,tM:()=>at,z2:()=>ut});var n=s(6474),i=s(7308),u=s(8159),a=s(9502),r=s(4852),o=function(){var t=(0,a.K2)((function(t,e,s,n){for(s=s||{},n=t.length;n--;s[t[n]]=e);return s}),"o"),e=[1,18],s=[1,19],n=[1,20],i=[1,41],u=[1,42],r=[1,26],o=[1,24],l=[1,25],c=[1,32],h=[1,33],p=[1,34],d=[1,45],A=[1,35],y=[1,36],g=[1,37],m=[1,38],C=[1,27],f=[1,28],E=[1,29],b=[1,30],k=[1,31],T=[1,44],D=[1,46],F=[1,43],B=[1,47],_=[1,9],S=[1,8,9],N=[1,58],L=[1,59],$=[1,60],x=[1,61],O=[1,62],v=[1,63],I=[1,64],K=[1,8,9,41],w=[1,76],R=[1,8,9,12,13,22,39,41,44,66,67,68,69,70,71,72,77,79],P=[1,8,9,12,13,17,20,22,39,41,44,48,58,66,67,68,69,70,71,72,77,79,84,99,101,102],M=[13,58,84,99,101,102],G=[13,58,71,72,84,99,101,102],U=[13,58,66,67,68,69,70,84,99,101,102],Y=[1,98],z=[1,115],Q=[1,107],W=[1,113],X=[1,108],j=[1,109],V=[1,110],q=[1,111],H=[1,112],J=[1,114],Z=[22,58,59,80,84,85,86,87,88,89],tt=[1,8,9,39,41,44],et=[1,8,9,22],st=[1,143],nt=[1,8,9,59],it=[1,8,9,22,58,59,80,84,85,86,87,88,89],ut={trace:(0,a.K2)((function(){}),"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,DOT:17,className:18,classLiteralName:19,GENERICTYPE:20,relationStatement:21,LABEL:22,namespaceStatement:23,classStatement:24,memberStatement:25,annotationStatement:26,clickStatement:27,styleStatement:28,cssClassStatement:29,noteStatement:30,classDefStatement:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,namespaceIdentifier:38,STRUCT_START:39,classStatements:40,STRUCT_STOP:41,NAMESPACE:42,classIdentifier:43,STYLE_SEPARATOR:44,members:45,CLASS:46,ANNOTATION_START:47,ANNOTATION_END:48,MEMBER:49,SEPARATOR:50,relation:51,NOTE_FOR:52,noteText:53,NOTE:54,CLASSDEF:55,classList:56,stylesOpt:57,ALPHA:58,COMMA:59,direction_tb:60,direction_bt:61,direction_rl:62,direction_lr:63,relationType:64,lineType:65,AGGREGATION:66,EXTENSION:67,COMPOSITION:68,DEPENDENCY:69,LOLLIPOP:70,LINE:71,DOTTED_LINE:72,CALLBACK:73,LINK:74,LINK_TARGET:75,CLICK:76,CALLBACK_NAME:77,CALLBACK_ARGS:78,HREF:79,STYLE:80,CSSCLASS:81,style:82,styleComponent:83,NUM:84,COLON:85,UNIT:86,SPACE:87,BRKT:88,PCT:89,commentToken:90,textToken:91,graphCodeTokens:92,textNoTagsToken:93,TAGSTART:94,TAGEND:95,"==":96,"--":97,DEFAULT:98,MINUS:99,keywords:100,UNICODE_TEXT:101,BQUOTE_STR:102,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",17:"DOT",20:"GENERICTYPE",22:"LABEL",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",39:"STRUCT_START",41:"STRUCT_STOP",42:"NAMESPACE",44:"STYLE_SEPARATOR",46:"CLASS",47:"ANNOTATION_START",48:"ANNOTATION_END",49:"MEMBER",50:"SEPARATOR",52:"NOTE_FOR",54:"NOTE",55:"CLASSDEF",58:"ALPHA",59:"COMMA",60:"direction_tb",61:"direction_bt",62:"direction_rl",63:"direction_lr",66:"AGGREGATION",67:"EXTENSION",68:"COMPOSITION",69:"DEPENDENCY",70:"LOLLIPOP",71:"LINE",72:"DOTTED_LINE",73:"CALLBACK",74:"LINK",75:"LINK_TARGET",76:"CLICK",77:"CALLBACK_NAME",78:"CALLBACK_ARGS",79:"HREF",80:"STYLE",81:"CSSCLASS",84:"NUM",85:"COLON",86:"UNIT",87:"SPACE",88:"BRKT",89:"PCT",92:"graphCodeTokens",94:"TAGSTART",95:"TAGEND",96:"==",97:"--",98:"DEFAULT",99:"MINUS",100:"keywords",101:"UNICODE_TEXT",102:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,3],[15,2],[18,1],[18,3],[18,1],[18,2],[18,2],[18,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[23,4],[23,5],[38,2],[40,1],[40,2],[40,3],[24,1],[24,3],[24,4],[24,6],[43,2],[43,3],[26,4],[45,1],[45,2],[25,1],[25,2],[25,1],[25,1],[21,3],[21,4],[21,4],[21,5],[30,3],[30,2],[31,3],[56,1],[56,3],[32,1],[32,1],[32,1],[32,1],[51,3],[51,2],[51,2],[51,1],[64,1],[64,1],[64,1],[64,1],[64,1],[65,1],[65,1],[27,3],[27,4],[27,3],[27,4],[27,4],[27,5],[27,3],[27,4],[27,4],[27,5],[27,4],[27,5],[27,5],[27,6],[28,3],[29,3],[57,1],[57,3],[82,1],[82,2],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[90,1],[90,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[93,1],[93,1],[93,1],[93,1],[16,1],[16,1],[16,1],[16,1],[19,1],[53,1]],performAction:(0,a.K2)((function(t,e,s,n,i,u,a){var r=u.length-1;switch(i){case 8:this.$=u[r-1];break;case 9:case 12:case 14:this.$=u[r];break;case 10:case 13:this.$=u[r-2]+"."+u[r];break;case 11:case 15:case 95:this.$=u[r-1]+u[r];break;case 16:case 17:this.$=u[r-1]+"~"+u[r]+"~";break;case 18:n.addRelation(u[r]);break;case 19:u[r-1].title=n.cleanupLabel(u[r]),n.addRelation(u[r-1]);break;case 30:this.$=u[r].trim(),n.setAccTitle(this.$);break;case 31:case 32:this.$=u[r].trim(),n.setAccDescription(this.$);break;case 33:n.addClassesToNamespace(u[r-3],u[r-1]);break;case 34:n.addClassesToNamespace(u[r-4],u[r-1]);break;case 35:this.$=u[r],n.addNamespace(u[r]);break;case 36:case 46:case 59:case 92:this.$=[u[r]];break;case 37:this.$=[u[r-1]];break;case 38:u[r].unshift(u[r-2]),this.$=u[r];break;case 40:n.setCssClass(u[r-2],u[r]);break;case 41:n.addMembers(u[r-3],u[r-1]);break;case 42:n.setCssClass(u[r-5],u[r-3]),n.addMembers(u[r-5],u[r-1]);break;case 43:this.$=u[r],n.addClass(u[r]);break;case 44:this.$=u[r-1],n.addClass(u[r-1]),n.setClassLabel(u[r-1],u[r]);break;case 45:n.addAnnotation(u[r],u[r-2]);break;case 47:u[r].push(u[r-1]),this.$=u[r];break;case 48:case 50:case 51:break;case 49:n.addMember(u[r-1],n.cleanupLabel(u[r]));break;case 52:this.$={id1:u[r-2],id2:u[r],relation:u[r-1],relationTitle1:"none",relationTitle2:"none"};break;case 53:this.$={id1:u[r-3],id2:u[r],relation:u[r-1],relationTitle1:u[r-2],relationTitle2:"none"};break;case 54:this.$={id1:u[r-3],id2:u[r],relation:u[r-2],relationTitle1:"none",relationTitle2:u[r-1]};break;case 55:this.$={id1:u[r-4],id2:u[r],relation:u[r-2],relationTitle1:u[r-3],relationTitle2:u[r-1]};break;case 56:n.addNote(u[r],u[r-1]);break;case 57:n.addNote(u[r]);break;case 58:this.$=u[r-2],n.defineClass(u[r-1],u[r]);break;case 60:this.$=u[r-2].concat([u[r]]);break;case 61:n.setDirection("TB");break;case 62:n.setDirection("BT");break;case 63:n.setDirection("RL");break;case 64:n.setDirection("LR");break;case 65:this.$={type1:u[r-2],type2:u[r],lineType:u[r-1]};break;case 66:this.$={type1:"none",type2:u[r],lineType:u[r-1]};break;case 67:this.$={type1:u[r-1],type2:"none",lineType:u[r]};break;case 68:this.$={type1:"none",type2:"none",lineType:u[r]};break;case 69:this.$=n.relationType.AGGREGATION;break;case 70:this.$=n.relationType.EXTENSION;break;case 71:this.$=n.relationType.COMPOSITION;break;case 72:this.$=n.relationType.DEPENDENCY;break;case 73:this.$=n.relationType.LOLLIPOP;break;case 74:this.$=n.lineType.LINE;break;case 75:this.$=n.lineType.DOTTED_LINE;break;case 76:case 82:this.$=u[r-2],n.setClickEvent(u[r-1],u[r]);break;case 77:case 83:this.$=u[r-3],n.setClickEvent(u[r-2],u[r-1]),n.setTooltip(u[r-2],u[r]);break;case 78:this.$=u[r-2],n.setLink(u[r-1],u[r]);break;case 79:this.$=u[r-3],n.setLink(u[r-2],u[r-1],u[r]);break;case 80:this.$=u[r-3],n.setLink(u[r-2],u[r-1]),n.setTooltip(u[r-2],u[r]);break;case 81:this.$=u[r-4],n.setLink(u[r-3],u[r-2],u[r]),n.setTooltip(u[r-3],u[r-1]);break;case 84:this.$=u[r-3],n.setClickEvent(u[r-2],u[r-1],u[r]);break;case 85:this.$=u[r-4],n.setClickEvent(u[r-3],u[r-2],u[r-1]),n.setTooltip(u[r-3],u[r]);break;case 86:this.$=u[r-3],n.setLink(u[r-2],u[r]);break;case 87:this.$=u[r-4],n.setLink(u[r-3],u[r-1],u[r]);break;case 88:this.$=u[r-4],n.setLink(u[r-3],u[r-1]),n.setTooltip(u[r-3],u[r]);break;case 89:this.$=u[r-5],n.setLink(u[r-4],u[r-2],u[r]),n.setTooltip(u[r-4],u[r-1]);break;case 90:this.$=u[r-2],n.setCssStyle(u[r-1],u[r]);break;case 91:n.setCssClass(u[r-1],u[r]);break;case 93:u[r-2].push(u[r]),this.$=u[r-2]}}),"anonymous"),table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:39,18:21,19:40,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:e,35:s,37:n,38:22,42:i,43:23,46:u,47:r,49:o,50:l,52:c,54:h,55:p,58:d,60:A,61:y,62:g,63:m,73:C,74:f,76:E,80:b,81:k,84:T,99:D,101:F,102:B},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},t(_,[2,5],{8:[1,48]}),{8:[1,49]},t(S,[2,18],{22:[1,50]}),t(S,[2,20]),t(S,[2,21]),t(S,[2,22]),t(S,[2,23]),t(S,[2,24]),t(S,[2,25]),t(S,[2,26]),t(S,[2,27]),t(S,[2,28]),t(S,[2,29]),{34:[1,51]},{36:[1,52]},t(S,[2,32]),t(S,[2,48],{51:53,64:56,65:57,13:[1,54],22:[1,55],66:N,67:L,68:$,69:x,70:O,71:v,72:I}),{39:[1,65]},t(K,[2,39],{39:[1,67],44:[1,66]}),t(S,[2,50]),t(S,[2,51]),{16:68,58:d,84:T,99:D,101:F},{16:39,18:69,19:40,58:d,84:T,99:D,101:F,102:B},{16:39,18:70,19:40,58:d,84:T,99:D,101:F,102:B},{16:39,18:71,19:40,58:d,84:T,99:D,101:F,102:B},{58:[1,72]},{13:[1,73]},{16:39,18:74,19:40,58:d,84:T,99:D,101:F,102:B},{13:w,53:75},{56:77,58:[1,78]},t(S,[2,61]),t(S,[2,62]),t(S,[2,63]),t(S,[2,64]),t(R,[2,12],{16:39,19:40,18:80,17:[1,79],20:[1,81],58:d,84:T,99:D,101:F,102:B}),t(R,[2,14],{20:[1,82]}),{15:83,16:84,58:d,84:T,99:D,101:F},{16:39,18:85,19:40,58:d,84:T,99:D,101:F,102:B},t(P,[2,118]),t(P,[2,119]),t(P,[2,120]),t(P,[2,121]),t([1,8,9,12,13,20,22,39,41,44,66,67,68,69,70,71,72,77,79],[2,122]),t(_,[2,6],{10:5,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,18:21,38:22,43:23,16:39,19:40,5:86,33:e,35:s,37:n,42:i,46:u,47:r,49:o,50:l,52:c,54:h,55:p,58:d,60:A,61:y,62:g,63:m,73:C,74:f,76:E,80:b,81:k,84:T,99:D,101:F,102:B}),{5:87,10:5,16:39,18:21,19:40,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:e,35:s,37:n,38:22,42:i,43:23,46:u,47:r,49:o,50:l,52:c,54:h,55:p,58:d,60:A,61:y,62:g,63:m,73:C,74:f,76:E,80:b,81:k,84:T,99:D,101:F,102:B},t(S,[2,19]),t(S,[2,30]),t(S,[2,31]),{13:[1,89],16:39,18:88,19:40,58:d,84:T,99:D,101:F,102:B},{51:90,64:56,65:57,66:N,67:L,68:$,69:x,70:O,71:v,72:I},t(S,[2,49]),{65:91,71:v,72:I},t(M,[2,68],{64:92,66:N,67:L,68:$,69:x,70:O}),t(G,[2,69]),t(G,[2,70]),t(G,[2,71]),t(G,[2,72]),t(G,[2,73]),t(U,[2,74]),t(U,[2,75]),{8:[1,94],24:95,40:93,43:23,46:u},{16:96,58:d,84:T,99:D,101:F},{45:97,49:Y},{48:[1,99]},{13:[1,100]},{13:[1,101]},{77:[1,102],79:[1,103]},{22:z,57:104,58:Q,80:W,82:105,83:106,84:X,85:j,86:V,87:q,88:H,89:J},{58:[1,116]},{13:w,53:117},t(S,[2,57]),t(S,[2,123]),{22:z,57:118,58:Q,59:[1,119],80:W,82:105,83:106,84:X,85:j,86:V,87:q,88:H,89:J},t(Z,[2,59]),{16:39,18:120,19:40,58:d,84:T,99:D,101:F,102:B},t(R,[2,15]),t(R,[2,16]),t(R,[2,17]),{39:[2,35]},{15:122,16:84,17:[1,121],39:[2,9],58:d,84:T,99:D,101:F},t(tt,[2,43],{11:123,12:[1,124]}),t(_,[2,7]),{9:[1,125]},t(et,[2,52]),{16:39,18:126,19:40,58:d,84:T,99:D,101:F,102:B},{13:[1,128],16:39,18:127,19:40,58:d,84:T,99:D,101:F,102:B},t(M,[2,67],{64:129,66:N,67:L,68:$,69:x,70:O}),t(M,[2,66]),{41:[1,130]},{24:95,40:131,43:23,46:u},{8:[1,132],41:[2,36]},t(K,[2,40],{39:[1,133]}),{41:[1,134]},{41:[2,46],45:135,49:Y},{16:39,18:136,19:40,58:d,84:T,99:D,101:F,102:B},t(S,[2,76],{13:[1,137]}),t(S,[2,78],{13:[1,139],75:[1,138]}),t(S,[2,82],{13:[1,140],78:[1,141]}),{13:[1,142]},t(S,[2,90],{59:st}),t(nt,[2,92],{83:144,22:z,58:Q,80:W,84:X,85:j,86:V,87:q,88:H,89:J}),t(it,[2,94]),t(it,[2,96]),t(it,[2,97]),t(it,[2,98]),t(it,[2,99]),t(it,[2,100]),t(it,[2,101]),t(it,[2,102]),t(it,[2,103]),t(it,[2,104]),t(S,[2,91]),t(S,[2,56]),t(S,[2,58],{59:st}),{58:[1,145]},t(R,[2,13]),{15:146,16:84,58:d,84:T,99:D,101:F},{39:[2,11]},t(tt,[2,44]),{13:[1,147]},{1:[2,4]},t(et,[2,54]),t(et,[2,53]),{16:39,18:148,19:40,58:d,84:T,99:D,101:F,102:B},t(M,[2,65]),t(S,[2,33]),{41:[1,149]},{24:95,40:150,41:[2,37],43:23,46:u},{45:151,49:Y},t(K,[2,41]),{41:[2,47]},t(S,[2,45]),t(S,[2,77]),t(S,[2,79]),t(S,[2,80],{75:[1,152]}),t(S,[2,83]),t(S,[2,84],{13:[1,153]}),t(S,[2,86],{13:[1,155],75:[1,154]}),{22:z,58:Q,80:W,82:156,83:106,84:X,85:j,86:V,87:q,88:H,89:J},t(it,[2,95]),t(Z,[2,60]),{39:[2,10]},{14:[1,157]},t(et,[2,55]),t(S,[2,34]),{41:[2,38]},{41:[1,158]},t(S,[2,81]),t(S,[2,85]),t(S,[2,87]),t(S,[2,88],{75:[1,159]}),t(nt,[2,93],{83:144,22:z,58:Q,80:W,84:X,85:j,86:V,87:q,88:H,89:J}),t(tt,[2,8]),t(K,[2,42]),t(S,[2,89])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],83:[2,35],122:[2,11],125:[2,4],135:[2,47],146:[2,10],150:[2,38]},parseError:(0,a.K2)((function(t,e){if(!e.recoverable){var s=new Error(t);throw s.hash=e,s}this.trace(t)}),"parseError"),parse:(0,a.K2)((function(t){var e=this,s=[0],n=[],i=[null],u=[],r=this.table,o="",l=0,c=0,h=0,p=u.slice.call(arguments,1),d=Object.create(this.lexer),A={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(A.yy[y]=this.yy[y]);d.setInput(t,A.yy),A.yy.lexer=d,A.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var g=d.yylloc;u.push(g);var m=d.options&&d.options.ranges;function C(){var t;return"number"!=typeof(t=n.pop()||d.lex()||1)&&(t instanceof Array&&(t=(n=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof A.yy.parseError?this.parseError=A.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,a.K2)((function(t){s.length=s.length-2*t,i.length=i.length-t,u.length=u.length-t}),"popStack"),(0,a.K2)(C,"lex");for(var f,E,b,k,T,D,F,B,_,S={};;){if(b=s[s.length-1],this.defaultActions[b]?k=this.defaultActions[b]:(null==f&&(f=C()),k=r[b]&&r[b][f]),void 0===k||!k.length||!k[0]){var N;for(D in _=[],r[b])this.terminals_[D]&&D>2&&_.push("'"+this.terminals_[D]+"'");N=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+_.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(N,{text:d.match,token:this.terminals_[f]||f,line:d.yylineno,loc:g,expected:_})}if(k[0]instanceof Array&&k.length>1)throw new Error("Parse Error: multiple actions possible at state: "+b+", token: "+f);switch(k[0]){case 1:s.push(f),i.push(d.yytext),u.push(d.yylloc),s.push(k[1]),f=null,E?(f=E,E=null):(c=d.yyleng,o=d.yytext,l=d.yylineno,g=d.yylloc,h>0&&h--);break;case 2:if(F=this.productions_[k[1]][1],S.$=i[i.length-F],S._$={first_line:u[u.length-(F||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(F||1)].first_column,last_column:u[u.length-1].last_column},m&&(S._$.range=[u[u.length-(F||1)].range[0],u[u.length-1].range[1]]),void 0!==(T=this.performAction.apply(S,[o,c,l,A.yy,k[1],i,u].concat(p))))return T;F&&(s=s.slice(0,-1*F*2),i=i.slice(0,-1*F),u=u.slice(0,-1*F)),s.push(this.productions_[k[1]][0]),i.push(S.$),u.push(S._$),B=r[s[s.length-2]][s[s.length-1]],s.push(B);break;case 3:return!0}}return!0}),"parse")},at=function(){return{EOF:1,parseError:(0,a.K2)((function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)}),"parseError"),setInput:(0,a.K2)((function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this}),"setInput"),input:(0,a.K2)((function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t}),"input"),unput:(0,a.K2)((function(t){var e=t.length,s=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),s.length-1&&(this.yylineno-=s.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:s?(s.length===n.length?this.yylloc.first_column:0)+n[n.length-s.length].length-s[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this}),"unput"),more:(0,a.K2)((function(){return this._more=!0,this}),"more"),reject:(0,a.K2)((function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"reject"),less:(0,a.K2)((function(t){this.unput(this.match.slice(t))}),"less"),pastInput:(0,a.K2)((function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")}),"pastInput"),upcomingInput:(0,a.K2)((function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")}),"upcomingInput"),showPosition:(0,a.K2)((function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"}),"showPosition"),test_match:(0,a.K2)((function(t,e){var s,n,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(n=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],s=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),s)return s;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1}),"test_match"),next:(0,a.K2)((function(){if(this.done)return this.EOF;var t,e,s,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ue[0].length)){if(e=s,n=u,this.options.backtrack_lexer){if(!1!==(t=this.test_match(s,i[u])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[n]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"next"),lex:(0,a.K2)((function(){return this.next()||this.lex()}),"lex"),begin:(0,a.K2)((function(t){this.conditionStack.push(t)}),"begin"),popState:(0,a.K2)((function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]}),"popState"),_currentRules:(0,a.K2)((function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules}),"_currentRules"),topState:(0,a.K2)((function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"}),"topState"),pushState:(0,a.K2)((function(t){this.begin(t)}),"pushState"),stateStackSize:(0,a.K2)((function(){return this.conditionStack.length}),"stateStackSize"),options:{},performAction:(0,a.K2)((function(t,e,s,n){switch(s){case 0:return 60;case 1:return 61;case 2:return 62;case 3:return 63;case 4:case 5:case 14:case 31:case 36:case 40:case 47:break;case 6:return this.begin("acc_title"),33;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),35;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:case 19:case 22:case 24:case 58:case 61:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:case 35:return 8;case 15:case 16:return 7;case 17:case 37:case 45:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 77;case 23:return 78;case 25:return"STR";case 26:this.begin("string");break;case 27:return 80;case 28:return 55;case 29:return this.begin("namespace"),42;case 30:case 39:return this.popState(),8;case 32:return this.begin("namespace-body"),39;case 33:case 43:return this.popState(),41;case 34:case 44:return"EOF_IN_STRUCT";case 38:return this.begin("class"),46;case 41:return this.popState(),this.popState(),41;case 42:return this.begin("class-body"),39;case 46:return"OPEN_IN_STRUCT";case 48:return"MEMBER";case 49:return 81;case 50:return 73;case 51:return 74;case 52:return 76;case 53:return 52;case 54:return 54;case 55:return 47;case 56:return 48;case 57:return 79;case 59:return"GENERICTYPE";case 60:this.begin("generic");break;case 62:return"BQUOTE_STR";case 63:this.begin("bqstring");break;case 64:case 65:case 66:case 67:return 75;case 68:case 69:return 67;case 70:case 71:return 69;case 72:return 68;case 73:return 66;case 74:return 70;case 75:return 71;case 76:return 72;case 77:return 22;case 78:return 44;case 79:return 99;case 80:return 17;case 81:return"PLUS";case 82:return 85;case 83:return 59;case 84:case 85:return 88;case 86:return 89;case 87:case 88:return"EQUALS";case 89:return 58;case 90:return 12;case 91:return 14;case 92:return"PUNCTUATION";case 93:return 84;case 94:return 101;case 95:case 96:return 87;case 97:return 9}}),"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:style\b)/,/^(?:classDef\b)/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?::)/,/^(?:,)/,/^(?:#)/,/^(?:#)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[26,33,34,35,36,37,38,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},namespace:{rules:[26,29,30,31,32,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},"class-body":{rules:[26,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},class:{rules:[26,39,40,41,42,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_descr:{rules:[9,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_title:{rules:[7,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},callback_args:{rules:[22,23,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},callback_name:{rules:[19,20,21,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},href:{rules:[26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},struct:{rules:[26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},generic:{rules:[26,49,50,51,52,53,54,55,56,57,58,59,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},bqstring:{rules:[26,49,50,51,52,53,54,55,56,57,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},string:{rules:[24,25,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,29,38,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97],inclusive:!0}}}}();function rt(){this.yy={}}return ut.lexer=at,(0,a.K2)(rt,"Parser"),rt.prototype=ut,ut.Parser=rt,new rt}();o.parser=o;var l=o,c=["#","+","~","-",""],h=class{static{(0,a.K2)(this,"ClassMember")}constructor(t,e){this.memberType=e,this.visibility="",this.classifier="",this.text="";const s=(0,a.jZ)(t,(0,a.D7)());this.parseMember(s)}getDisplayDetails(){let t=this.visibility+(0,a.QO)(this.id);return"method"===this.memberType&&(t+=`(${(0,a.QO)(this.parameters.trim())})`,this.returnType&&(t+=" : "+(0,a.QO)(this.returnType))),t=t.trim(),{displayText:t,cssStyle:this.parseClassifier()}}parseMember(t){let e="";if("method"===this.memberType){const s=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/.exec(t);if(s){const t=s[1]?s[1].trim():"";if(c.includes(t)&&(this.visibility=t),this.id=s[2],this.parameters=s[3]?s[3].trim():"",e=s[4]?s[4].trim():"",this.returnType=s[5]?s[5].trim():"",""===e){const t=this.returnType.substring(this.returnType.length-1);/[$*]/.exec(t)&&(e=t,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{const s=t.length,n=t.substring(0,1),i=t.substring(s-1);c.includes(n)&&(this.visibility=n),/[$*]/.exec(i)&&(e=i),this.id=t.substring(""===this.visibility?0:1,""===e?s:s-1)}this.classifier=e,this.id=this.id.startsWith(" ")?" "+this.id.trim():this.id.trim();const s=`${this.visibility?"\\"+this.visibility:""}${(0,a.QO)(this.id)}${"method"===this.memberType?`(${(0,a.QO)(this.parameters)})${this.returnType?" : "+(0,a.QO)(this.returnType):""}`:""}`;this.text=s.replaceAll("<","<").replaceAll(">",">"),this.text.startsWith("\\<")&&(this.text=this.text.replace("\\<","~"))}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}},p="classId-",d=[],A=new Map,y=new Map,g=[],m=[],C=0,f=new Map,E=0,b=[],k=(0,a.K2)((t=>a.Y2.sanitizeText(t,(0,a.D7)())),"sanitizeText"),T=(0,a.K2)((function(t){const e=a.Y2.sanitizeText(t,(0,a.D7)());let s="",n=e;if(e.indexOf("~")>0){const t=e.split("~");n=k(t[0]),s=k(t[1])}return{className:n,type:s}}),"splitClassNameAndType"),D=(0,a.K2)((function(t,e){const s=a.Y2.sanitizeText(t,(0,a.D7)());e&&(e=k(e));const{className:n}=T(s);A.get(n).label=e,A.get(n).text=`${e}${A.get(n).type?`<${A.get(n).type}>`:""}`}),"setClassLabel"),F=(0,a.K2)((function(t){const e=a.Y2.sanitizeText(t,(0,a.D7)()),{className:s,type:n}=T(e);if(A.has(s))return;const i=a.Y2.sanitizeText(s,(0,a.D7)());A.set(i,{id:i,type:n,label:i,text:`${i}${n?`<${n}>`:""}`,shape:"classBox",cssClasses:"default",methods:[],members:[],annotations:[],styles:[],domId:p+i+"-"+C}),C++}),"addClass"),B=(0,a.K2)((function(t,e){const s={id:`interface${m.length}`,label:t,classId:e};m.push(s)}),"addInterface"),_=(0,a.K2)((function(t){const e=a.Y2.sanitizeText(t,(0,a.D7)());if(A.has(e))return A.get(e).domId;throw new Error("Class not found: "+e)}),"lookUpDomId"),S=(0,a.K2)((function(){d=[],A=new Map,g=[],m=[],(b=[]).push(j),f=new Map,E=0,V="TB",(0,a.IU)()}),"clear"),N=(0,a.K2)((function(t){return A.get(t)}),"getClass"),L=(0,a.K2)((function(){return A}),"getClasses"),$=(0,a.K2)((function(){return d}),"getRelations"),x=(0,a.K2)((function(){return g}),"getNotes"),O=(0,a.K2)((function(t){a.Rm.debug("Adding relation: "+JSON.stringify(t));const e=[X.LOLLIPOP,X.AGGREGATION,X.COMPOSITION,X.DEPENDENCY,X.EXTENSION];t.relation.type1!==X.LOLLIPOP||e.includes(t.relation.type2)?t.relation.type2!==X.LOLLIPOP||e.includes(t.relation.type1)?(F(t.id1),F(t.id2)):(F(t.id1),B(t.id2,t.id1),t.id2="interface"+(m.length-1)):(F(t.id2),B(t.id1,t.id2),t.id1="interface"+(m.length-1)),t.id1=T(t.id1).className,t.id2=T(t.id2).className,t.relationTitle1=a.Y2.sanitizeText(t.relationTitle1.trim(),(0,a.D7)()),t.relationTitle2=a.Y2.sanitizeText(t.relationTitle2.trim(),(0,a.D7)()),d.push(t)}),"addRelation"),v=(0,a.K2)((function(t,e){const s=T(t).className;A.get(s).annotations.push(e)}),"addAnnotation"),I=(0,a.K2)((function(t,e){F(t);const s=T(t).className,n=A.get(s);if("string"==typeof e){const t=e.trim();t.startsWith("<<")&&t.endsWith(">>")?n.annotations.push(k(t.substring(2,t.length-2))):t.indexOf(")")>0?n.methods.push(new h(t,"method")):t&&n.members.push(new h(t,"attribute"))}}),"addMember"),K=(0,a.K2)((function(t,e){Array.isArray(e)&&(e.reverse(),e.forEach((e=>I(t,e))))}),"addMembers"),w=(0,a.K2)((function(t,e){const s={id:`note${g.length}`,class:e,text:t};g.push(s)}),"addNote"),R=(0,a.K2)((function(t){return t.startsWith(":")&&(t=t.substring(1)),k(t.trim())}),"cleanupLabel"),P=(0,a.K2)((function(t,e){t.split(",").forEach((function(t){let s=t;/\d/.exec(t[0])&&(s=p+s);const n=A.get(s);n&&(n.cssClasses+=" "+e)}))}),"setCssClass"),M=(0,a.K2)((function(t,e){for(const s of t){let t=y.get(s);void 0===t&&(t={id:s,styles:[],textStyles:[]},y.set(s,t)),e&&e.forEach((function(e){if(/color/.exec(e)){const s=e.replace("fill","bgFill");t.textStyles.push(s)}t.styles.push(e)})),A.forEach((t=>{t.cssClasses.includes(s)&&t.styles.push(...e.flatMap((t=>t.split(","))))}))}}),"defineClass"),G=(0,a.K2)((function(t,e){t.split(",").forEach((function(t){void 0!==e&&(A.get(t).tooltip=k(e))}))}),"setTooltip"),U=(0,a.K2)((function(t,e){return e&&f.has(e)?f.get(e).classes.get(t).tooltip:A.get(t).tooltip}),"getTooltip"),Y=(0,a.K2)((function(t,e,s){const n=(0,a.D7)();t.split(",").forEach((function(t){let i=t;/\d/.exec(t[0])&&(i=p+i);const a=A.get(i);a&&(a.link=u._K.formatUrl(e,n),"sandbox"===n.securityLevel?a.linkTarget="_top":a.linkTarget="string"==typeof s?k(s):"_blank")})),P(t,"clickable")}),"setLink"),z=(0,a.K2)((function(t,e,s){t.split(",").forEach((function(t){Q(t,e,s),A.get(t).haveCallback=!0})),P(t,"clickable")}),"setClickEvent"),Q=(0,a.K2)((function(t,e,s){const n=a.Y2.sanitizeText(t,(0,a.D7)());if("loose"!==(0,a.D7)().securityLevel)return;if(void 0===e)return;const i=n;if(A.has(i)){const t=_(i);let n=[];if("string"==typeof s){n=s.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let t=0;t")),t.classed("hover",!0)})).on("mouseout",(function(){e.transition().duration(500).style("opacity",0),(0,r.Ltv)(this).classed("hover",!1)}))}),"setupToolTips");b.push(j);var V="TB",q=(0,a.K2)((()=>V),"getDirection"),H=(0,a.K2)((t=>{V=t}),"setDirection"),J=(0,a.K2)((function(t){f.has(t)||(f.set(t,{id:t,classes:new Map,children:{},domId:p+t+"-"+E}),E++)}),"addNamespace"),Z=(0,a.K2)((function(t){return f.get(t)}),"getNamespace"),tt=(0,a.K2)((function(){return f}),"getNamespaces"),et=(0,a.K2)((function(t,e){if(f.has(t))for(const s of e){const{className:e}=T(s);A.get(e).parent=t,f.get(t).classes.set(e,A.get(e))}}),"addClassesToNamespace"),st=(0,a.K2)((function(t,e){const s=A.get(t);if(e&&s)for(const t of e)t.includes(",")?s.styles.push(...t.split(",")):s.styles.push(t)}),"setCssStyle");function nt(t){let e;switch(t){case 0:e="aggregation";break;case 1:e="extension";break;case 2:e="composition";break;case 3:e="dependency";break;case 4:e="lollipop";break;default:e="none"}return e}(0,a.K2)(nt,"getArrowMarker");var it=(0,a.K2)((()=>{const t=[],e=[],s=(0,a.D7)();for(const e of f.keys()){const n=f.get(e);if(n){const e={id:n.id,label:n.id,isGroup:!0,padding:s.class.padding??16,shape:"rect",cssStyles:["fill: none","stroke: black"],look:s.look};t.push(e)}}for(const e of A.keys()){const n=A.get(e);if(n){const e=n;e.parentId=n.parent,e.look=s.look,t.push(e)}}let n=0;for(const i of g){n++;const u={id:i.id,label:i.text,isGroup:!1,shape:"note",padding:s.class.padding??6,cssStyles:["text-align: left","white-space: nowrap",`fill: ${s.themeVariables.noteBkgColor}`,`stroke: ${s.themeVariables.noteBorderColor}`],look:s.look};t.push(u);const a=A.get(i.class)?.id??"";if(a){const t={id:`edgeNote${n}`,start:i.id,end:a,type:"normal",thickness:"normal",classes:"relation",arrowTypeStart:"none",arrowTypeEnd:"none",arrowheadStyle:"",labelStyle:[""],style:["fill: none"],pattern:"dotted",look:s.look};e.push(t)}}for(const e of m){const n={id:e.id,label:e.label,isGroup:!1,shape:"rect",cssStyles:["opacity: 0;"],look:s.look};t.push(n)}n=0;for(const t of d){n++;const i={id:(0,u.rY)(t.id1,t.id2,{prefix:"id",counter:n}),start:t.id1,end:t.id2,type:"normal",label:t.title,labelpos:"c",thickness:"normal",classes:"relation",arrowTypeStart:nt(t.relation.type1),arrowTypeEnd:nt(t.relation.type2),startLabelRight:"none"===t.relationTitle1?"":t.relationTitle1,endLabelLeft:"none"===t.relationTitle2?"":t.relationTitle2,arrowheadStyle:"",labelStyle:["display: inline-block"],style:t.style||"",pattern:1==t.relation.lineType?"dashed":"solid",look:s.look};e.push(i)}return{nodes:t,edges:e,other:{},config:s,direction:q()}}),"getData"),ut={setAccTitle:a.SV,getAccTitle:a.iN,getAccDescription:a.m7,setAccDescription:a.EI,getConfig:(0,a.K2)((()=>(0,a.D7)().class),"getConfig"),addClass:F,bindFunctions:W,clear:S,getClass:N,getClasses:L,getNotes:x,addAnnotation:v,addNote:w,getRelations:$,addRelation:O,getDirection:q,setDirection:H,addMember:I,addMembers:K,cleanupLabel:R,lineType:{LINE:0,DOTTED_LINE:1},relationType:X,setClickEvent:z,setCssClass:P,defineClass:M,setLink:Y,getTooltip:U,setTooltip:G,lookUpDomId:_,setDiagramTitle:a.ke,getDiagramTitle:a.ab,setClassLabel:D,addNamespace:J,addClassesToNamespace:et,getNamespace:Z,getNamespaces:tt,setCssStyle:st,getData:it},at=(0,a.K2)((t=>`g.classGroup text {\n fill: ${t.nodeBorder||t.classText};\n stroke: none;\n font-family: ${t.fontFamily};\n font-size: 10px;\n\n .title {\n font-weight: bolder;\n }\n\n}\n\n.nodeLabel, .edgeLabel {\n color: ${t.classText};\n}\n.edgeLabel .label rect {\n fill: ${t.mainBkg};\n}\n.label text {\n fill: ${t.classText};\n}\n\n.labelBkg {\n background: ${t.mainBkg};\n}\n.edgeLabel .label span {\n background: ${t.mainBkg};\n}\n\n.classTitle {\n font-weight: bolder;\n}\n.node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${t.mainBkg};\n stroke: ${t.nodeBorder};\n stroke-width: 1px;\n }\n\n\n.divider {\n stroke: ${t.nodeBorder};\n stroke-width: 1;\n}\n\ng.clickable {\n cursor: pointer;\n}\n\ng.classGroup rect {\n fill: ${t.mainBkg};\n stroke: ${t.nodeBorder};\n}\n\ng.classGroup line {\n stroke: ${t.nodeBorder};\n stroke-width: 1;\n}\n\n.classLabel .box {\n stroke: none;\n stroke-width: 0;\n fill: ${t.mainBkg};\n opacity: 0.5;\n}\n\n.classLabel .label {\n fill: ${t.nodeBorder};\n font-size: 10px;\n}\n\n.relation {\n stroke: ${t.lineColor};\n stroke-width: 1;\n fill: none;\n}\n\n.dashed-line{\n stroke-dasharray: 3;\n}\n\n.dotted-line{\n stroke-dasharray: 1 2;\n}\n\n#compositionStart, .composition {\n fill: ${t.lineColor} !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n}\n\n#compositionEnd, .composition {\n fill: ${t.lineColor} !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n}\n\n#dependencyStart, .dependency {\n fill: ${t.lineColor} !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n}\n\n#dependencyStart, .dependency {\n fill: ${t.lineColor} !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n}\n\n#extensionStart, .extension {\n fill: transparent !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n}\n\n#extensionEnd, .extension {\n fill: transparent !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n}\n\n#aggregationStart, .aggregation {\n fill: transparent !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n}\n\n#aggregationEnd, .aggregation {\n fill: transparent !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n}\n\n#lollipopStart, .lollipop {\n fill: ${t.mainBkg} !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n}\n\n#lollipopEnd, .lollipop {\n fill: ${t.mainBkg} !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n}\n\n.edgeTerminals {\n font-size: 11px;\n line-height: initial;\n}\n\n.classTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${t.textColor};\n}\n`),"getStyles"),rt=(0,a.K2)(((t,e="TB")=>{if(!t.doc)return e;let s=e;for(const e of t.doc)"dir"===e.stmt&&(s=e.value);return s}),"getDir"),ot={getClasses:(0,a.K2)((function(t,e){return e.db.getClasses()}),"getClasses"),draw:(0,a.K2)((async function(t,e,s,r){a.Rm.info("REF0:"),a.Rm.info("Drawing class diagram (v3)",e);const{securityLevel:o,state:l,layout:c}=(0,a.D7)(),h=r.db.getData(),p=(0,n.A)(e,o);h.type=r.type,h.layoutAlgorithm=(0,i.q7)(c),h.nodeSpacing=l?.nodeSpacing||50,h.rankSpacing=l?.rankSpacing||50,h.markers=["aggregation","extension","composition","dependency","lollipop"],h.diagramId=e,await(0,i.XX)(h,p),u._K.insertTitle(p,"classDiagramTitleText",l?.titleTopMargin??25,r.db.getDiagramTitle()),(0,n.P)(p,8,"classDiagram",l?.useMaxWidth??!0)}),"draw"),getDir:rt}}}]); \ No newline at end of file diff --git a/docs/hugo/public/js/244-45e1a422.chunk.min.js b/docs/hugo/public/js/244-45e1a422.chunk.min.js new file mode 100644 index 000000000..cf88bbb66 --- /dev/null +++ b/docs/hugo/public/js/244-45e1a422.chunk.min.js @@ -0,0 +1 @@ +(self.webpackChunkgeekdoc=self.webpackChunkgeekdoc||[]).push([[244],{7375:function(t){t.exports=function(){"use strict";return function(t,e){var n=e.prototype,i=n.format;n.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return i.bind(this)(t);var s=this.$utils(),r=(t||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,(function(t){switch(t){case"Q":return Math.ceil((e.$M+1)/3);case"Do":return n.ordinal(e.$D);case"gggg":return e.weekYear();case"GGGG":return e.isoWeekYear();case"wo":return n.ordinal(e.week(),"W");case"w":case"ww":return s.s(e.week(),"w"===t?1:2,"0");case"W":case"WW":return s.s(e.isoWeek(),"W"===t?1:2,"0");case"k":case"kk":return s.s(String(0===e.$H?24:e.$H),"k"===t?1:2,"0");case"X":return Math.floor(e.$d.getTime()/1e3);case"x":return e.$d.getTime();case"z":return"["+e.offsetName()+"]";case"zzz":return"["+e.offsetName("long")+"]";default:return t}}));return i.bind(this)(r)}}}()},445:function(t){t.exports=function(){"use strict";var t={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},e=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,n=/\d/,i=/\d\d/,s=/\d\d?/,r=/\d*[^-_:/,()\s\d]+/,a={},o=function(t){return(t=+t)+(t>68?1900:2e3)},c=function(t){return function(e){this[t]=+e}},l=[/[+-]\d\d:?(\d\d)?|Z/,function(t){(this.zone||(this.zone={})).offset=function(t){if(!t)return 0;if("Z"===t)return 0;var e=t.match(/([+-]|\d\d)/g),n=60*e[1]+(+e[2]||0);return 0===n?0:"+"===e[0]?-n:n}(t)}],d=function(t){var e=a[t];return e&&(e.indexOf?e:e.s.concat(e.f))},u=function(t,e){var n,i=a.meridiem;if(i){for(var s=1;s<=24;s+=1)if(t.indexOf(i(s,0,e))>-1){n=s>12;break}}else n=t===(e?"pm":"PM");return n},h={A:[r,function(t){this.afternoon=u(t,!1)}],a:[r,function(t){this.afternoon=u(t,!0)}],Q:[n,function(t){this.month=3*(t-1)+1}],S:[n,function(t){this.milliseconds=100*+t}],SS:[i,function(t){this.milliseconds=10*+t}],SSS:[/\d{3}/,function(t){this.milliseconds=+t}],s:[s,c("seconds")],ss:[s,c("seconds")],m:[s,c("minutes")],mm:[s,c("minutes")],H:[s,c("hours")],h:[s,c("hours")],HH:[s,c("hours")],hh:[s,c("hours")],D:[s,c("day")],DD:[i,c("day")],Do:[r,function(t){var e=a.ordinal,n=t.match(/\d+/);if(this.day=n[0],e)for(var i=1;i<=31;i+=1)e(i).replace(/\[|\]/g,"")===t&&(this.day=i)}],w:[s,c("week")],ww:[i,c("week")],M:[s,c("month")],MM:[i,c("month")],MMM:[r,function(t){var e=d("months"),n=(d("monthsShort")||e.map((function(t){return t.slice(0,3)}))).indexOf(t)+1;if(n<1)throw new Error;this.month=n%12||n}],MMMM:[r,function(t){var e=d("months").indexOf(t)+1;if(e<1)throw new Error;this.month=e%12||e}],Y:[/[+-]?\d+/,c("year")],YY:[i,function(t){this.year=o(t)}],YYYY:[/\d{4}/,c("year")],Z:l,ZZ:l};function f(n){var i,s;i=n,s=a&&a.formats;for(var r=(n=i.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(e,n,i){var r=i&&i.toUpperCase();return n||s[i]||t[i]||s[r].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(t,e,n){return e||n.slice(1)}))}))).match(e),o=r.length,c=0;c-1)return new Date(("X"===e?1e3:1)*t);var s=f(e)(t),r=s.year,a=s.month,o=s.day,c=s.hours,l=s.minutes,d=s.seconds,u=s.milliseconds,h=s.zone,y=s.week,k=new Date,m=o||(r||a?1:k.getDate()),p=r||k.getFullYear(),g=0;r&&!a||(g=a>0?a-1:k.getMonth());var b,T=c||0,v=l||0,x=d||0,w=u||0;return h?new Date(Date.UTC(p,g,m,T,v,x,w+60*h.offset*1e3)):n?new Date(Date.UTC(p,g,m,T,v,x,w)):(b=new Date(p,g,m,T,v,x,w),y&&(b=i(b).week(y).toDate()),b)}catch(t){return new Date("")}}(e,o,i,n),this.init(),u&&!0!==u&&(this.$L=this.locale(u).$L),d&&e!=this.format(o)&&(this.$d=new Date("")),a={}}else if(o instanceof Array)for(var h=o.length,y=1;y<=h;y+=1){r[1]=o[y-1];var k=n.apply(this,r);if(k.isValid()){this.$d=k.$d,this.$L=k.$L,this.init();break}y===h&&(this.$d=new Date(""))}else s.call(this,t)}}}()},8313:function(t){t.exports=function(){"use strict";var t="day";return function(e,n,i){var s=function(e){return e.add(4-e.isoWeekday(),t)},r=n.prototype;r.isoWeekYear=function(){return s(this).year()},r.isoWeek=function(e){if(!this.$utils().u(e))return this.add(7*(e-this.isoWeek()),t);var n,r,a,o=s(this),c=(n=this.isoWeekYear(),a=4-(r=(this.$u?i.utc:i)().year(n).startOf("year")).isoWeekday(),r.isoWeekday()>4&&(a+=7),r.add(a,t));return o.diff(c,"week")+1},r.isoWeekday=function(t){return this.$utils().u(t)?this.day()||7:this.day(this.day()%7?t:t-7)};var a=r.startOf;r.startOf=function(t,e){var n=this.$utils(),i=!!n.u(e)||e;return"isoweek"===n.p(t)?i?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):a.bind(this)(t,e)}}}()},6244:(t,e,n)=>{"use strict";n.d(e,{diagram:()=>Yt});var i=n(8159),s=n(9502),r=n(6750),a=n(4353),o=n(8313),c=n(445),l=n(7375),d=n(4852),u=function(){var t=(0,s.K2)((function(t,e,n,i){for(n=n||{},i=t.length;i--;n[t[i]]=e);return n}),"o"),e=[6,8,10,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,33,35,36,38,40],n=[1,26],i=[1,27],r=[1,28],a=[1,29],o=[1,30],c=[1,31],l=[1,32],d=[1,33],u=[1,34],h=[1,9],f=[1,10],y=[1,11],k=[1,12],m=[1,13],p=[1,14],g=[1,15],b=[1,16],T=[1,19],v=[1,20],x=[1,21],w=[1,22],_=[1,23],D=[1,25],$=[1,35],C={trace:(0,s.K2)((function(){}),"trace"),yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,weekend:19,weekend_friday:20,weekend_saturday:21,dateFormat:22,inclusiveEndDates:23,topAxis:24,axisFormat:25,tickInterval:26,excludes:27,includes:28,todayMarker:29,title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,section:36,clickStatement:37,taskTxt:38,taskData:39,click:40,callbackname:41,callbackargs:42,href:43,clickStatementDebug:44,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",20:"weekend_friday",21:"weekend_saturday",22:"dateFormat",23:"inclusiveEndDates",24:"topAxis",25:"axisFormat",26:"tickInterval",27:"excludes",28:"includes",29:"todayMarker",30:"title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"section",38:"taskTxt",39:"taskData",40:"click",41:"callbackname",42:"callbackargs",43:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[19,1],[19,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[37,2],[37,3],[37,3],[37,4],[37,3],[37,4],[37,2],[44,2],[44,3],[44,3],[44,4],[44,3],[44,4],[44,2]],performAction:(0,s.K2)((function(t,e,n,i,s,r,a){var o=r.length-1;switch(s){case 1:return r[o-1];case 2:case 6:case 7:this.$=[];break;case 3:r[o-1].push(r[o]),this.$=r[o-1];break;case 4:case 5:this.$=r[o];break;case 8:i.setWeekday("monday");break;case 9:i.setWeekday("tuesday");break;case 10:i.setWeekday("wednesday");break;case 11:i.setWeekday("thursday");break;case 12:i.setWeekday("friday");break;case 13:i.setWeekday("saturday");break;case 14:i.setWeekday("sunday");break;case 15:i.setWeekend("friday");break;case 16:i.setWeekend("saturday");break;case 17:i.setDateFormat(r[o].substr(11)),this.$=r[o].substr(11);break;case 18:i.enableInclusiveEndDates(),this.$=r[o].substr(18);break;case 19:i.TopAxis(),this.$=r[o].substr(8);break;case 20:i.setAxisFormat(r[o].substr(11)),this.$=r[o].substr(11);break;case 21:i.setTickInterval(r[o].substr(13)),this.$=r[o].substr(13);break;case 22:i.setExcludes(r[o].substr(9)),this.$=r[o].substr(9);break;case 23:i.setIncludes(r[o].substr(9)),this.$=r[o].substr(9);break;case 24:i.setTodayMarker(r[o].substr(12)),this.$=r[o].substr(12);break;case 27:i.setDiagramTitle(r[o].substr(6)),this.$=r[o].substr(6);break;case 28:this.$=r[o].trim(),i.setAccTitle(this.$);break;case 29:case 30:this.$=r[o].trim(),i.setAccDescription(this.$);break;case 31:i.addSection(r[o].substr(8)),this.$=r[o].substr(8);break;case 33:i.addTask(r[o-1],r[o]),this.$="task";break;case 34:this.$=r[o-1],i.setClickEvent(r[o-1],r[o],null);break;case 35:this.$=r[o-2],i.setClickEvent(r[o-2],r[o-1],r[o]);break;case 36:this.$=r[o-2],i.setClickEvent(r[o-2],r[o-1],null),i.setLink(r[o-2],r[o]);break;case 37:this.$=r[o-3],i.setClickEvent(r[o-3],r[o-2],r[o-1]),i.setLink(r[o-3],r[o]);break;case 38:this.$=r[o-2],i.setClickEvent(r[o-2],r[o],null),i.setLink(r[o-2],r[o-1]);break;case 39:this.$=r[o-3],i.setClickEvent(r[o-3],r[o-1],r[o]),i.setLink(r[o-3],r[o-2]);break;case 40:this.$=r[o-1],i.setLink(r[o-1],r[o]);break;case 41:case 47:this.$=r[o-1]+" "+r[o];break;case 42:case 43:case 45:this.$=r[o-2]+" "+r[o-1]+" "+r[o];break;case 44:case 46:this.$=r[o-3]+" "+r[o-2]+" "+r[o-1]+" "+r[o]}}),"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:n,13:i,14:r,15:a,16:o,17:c,18:l,19:18,20:d,21:u,22:h,23:f,24:y,25:k,26:m,27:p,28:g,29:b,30:T,31:v,33:x,35:w,36:_,37:24,38:D,40:$},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:36,11:17,12:n,13:i,14:r,15:a,16:o,17:c,18:l,19:18,20:d,21:u,22:h,23:f,24:y,25:k,26:m,27:p,28:g,29:b,30:T,31:v,33:x,35:w,36:_,37:24,38:D,40:$},t(e,[2,5]),t(e,[2,6]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,20]),t(e,[2,21]),t(e,[2,22]),t(e,[2,23]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),t(e,[2,27]),{32:[1,37]},{34:[1,38]},t(e,[2,30]),t(e,[2,31]),t(e,[2,32]),{39:[1,39]},t(e,[2,8]),t(e,[2,9]),t(e,[2,10]),t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),{41:[1,40],43:[1,41]},t(e,[2,4]),t(e,[2,28]),t(e,[2,29]),t(e,[2,33]),t(e,[2,34],{42:[1,42],43:[1,43]}),t(e,[2,40],{41:[1,44]}),t(e,[2,35],{43:[1,45]}),t(e,[2,36]),t(e,[2,38],{42:[1,46]}),t(e,[2,37]),t(e,[2,39])],defaultActions:{},parseError:(0,s.K2)((function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)}),"parseError"),parse:(0,s.K2)((function(t){var e=this,n=[0],i=[],r=[null],a=[],o=this.table,c="",l=0,d=0,u=0,h=a.slice.call(arguments,1),f=Object.create(this.lexer),y={yy:{}};for(var k in this.yy)Object.prototype.hasOwnProperty.call(this.yy,k)&&(y.yy[k]=this.yy[k]);f.setInput(t,y.yy),y.yy.lexer=f,y.yy.parser=this,void 0===f.yylloc&&(f.yylloc={});var m=f.yylloc;a.push(m);var p=f.options&&f.options.ranges;function g(){var t;return"number"!=typeof(t=i.pop()||f.lex()||1)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,s.K2)((function(t){n.length=n.length-2*t,r.length=r.length-t,a.length=a.length-t}),"popStack"),(0,s.K2)(g,"lex");for(var b,T,v,x,w,_,D,$,C,S={};;){if(v=n[n.length-1],this.defaultActions[v]?x=this.defaultActions[v]:(null==b&&(b=g()),x=o[v]&&o[v][b]),void 0===x||!x.length||!x[0]){var K;for(_ in C=[],o[v])this.terminals_[_]&&_>2&&C.push("'"+this.terminals_[_]+"'");K=f.showPosition?"Parse error on line "+(l+1)+":\n"+f.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==b?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(K,{text:f.match,token:this.terminals_[b]||b,line:f.yylineno,loc:m,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+v+", token: "+b);switch(x[0]){case 1:n.push(b),r.push(f.yytext),a.push(f.yylloc),n.push(x[1]),b=null,T?(b=T,T=null):(d=f.yyleng,c=f.yytext,l=f.yylineno,m=f.yylloc,u>0&&u--);break;case 2:if(D=this.productions_[x[1]][1],S.$=r[r.length-D],S._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},p&&(S._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),void 0!==(w=this.performAction.apply(S,[c,d,l,y.yy,x[1],r,a].concat(h))))return w;D&&(n=n.slice(0,-1*D*2),r=r.slice(0,-1*D),a=a.slice(0,-1*D)),n.push(this.productions_[x[1]][0]),r.push(S.$),a.push(S._$),$=o[n[n.length-2]][n[n.length-1]],n.push($);break;case 3:return!0}}return!0}),"parse")},S=function(){return{EOF:1,parseError:(0,s.K2)((function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)}),"parseError"),setInput:(0,s.K2)((function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this}),"setInput"),input:(0,s.K2)((function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t}),"input"),unput:(0,s.K2)((function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var s=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[s[0],s[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this}),"unput"),more:(0,s.K2)((function(){return this._more=!0,this}),"more"),reject:(0,s.K2)((function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"reject"),less:(0,s.K2)((function(t){this.unput(this.match.slice(t))}),"less"),pastInput:(0,s.K2)((function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")}),"pastInput"),upcomingInput:(0,s.K2)((function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")}),"upcomingInput"),showPosition:(0,s.K2)((function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"}),"showPosition"),test_match:(0,s.K2)((function(t,e){var n,i,s;if(this.options.backtrack_lexer&&(s={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(s.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var r in s)this[r]=s[r];return!1}return!1}),"test_match"),next:(0,s.K2)((function(){if(this.done)return this.EOF;var t,e,n,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var s=this._currentRules(),r=0;re[0].length)){if(e=n,i=r,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,s[r])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,s[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"next"),lex:(0,s.K2)((function(){return this.next()||this.lex()}),"lex"),begin:(0,s.K2)((function(t){this.conditionStack.push(t)}),"begin"),popState:(0,s.K2)((function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]}),"popState"),_currentRules:(0,s.K2)((function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules}),"_currentRules"),topState:(0,s.K2)((function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"}),"topState"),pushState:(0,s.K2)((function(t){this.begin(t)}),"pushState"),stateStackSize:(0,s.K2)((function(){return this.conditionStack.length}),"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,s.K2)((function(t,e,n,i){switch(n){case 0:return this.begin("open_directive"),"open_directive";case 1:return this.begin("acc_title"),31;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),33;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:case 15:case 18:case 21:case 24:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:case 9:case 10:case 12:case 13:break;case 11:return 10;case 14:this.begin("href");break;case 16:return 43;case 17:this.begin("callbackname");break;case 19:this.popState(),this.begin("callbackargs");break;case 20:return 41;case 22:return 42;case 23:this.begin("click");break;case 25:return 40;case 26:return 4;case 27:return 22;case 28:return 23;case 29:return 24;case 30:return 25;case 31:return 26;case 32:return 28;case 33:return 27;case 34:return 29;case 35:return 12;case 36:return 13;case 37:return 14;case 38:return 15;case 39:return 16;case 40:return 17;case 41:return 18;case 42:return 20;case 43:return 21;case 44:return"date";case 45:return 30;case 46:return"accDescription";case 47:return 36;case 48:return 38;case 49:return 39;case 50:return":";case 51:return 6;case 52:return"INVALID"}}),"anonymous"),rules:[/^(?:%%\{)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/i,/^(?:weekend\s+friday\b)/i,/^(?:weekend\s+saturday\b)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^\n]+)/i,/^(?:[^:\n]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},callbackargs:{rules:[21,22],inclusive:!1},callbackname:{rules:[18,19,20],inclusive:!1},href:{rules:[15,16],inclusive:!1},click:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,17,23,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52],inclusive:!0}}}}();function K(){this.yy={}}return C.lexer=S,(0,s.K2)(K,"Parser"),K.prototype=C,C.Parser=K,new K}();u.parser=u;var h=u;a.extend(o),a.extend(c),a.extend(l);var f,y,k={friday:5,saturday:6},m="",p="",g=void 0,b="",T=[],v=[],x=new Map,w=[],_=[],D="",$="",C=["active","done","crit","milestone"],S=[],K=!1,E=!1,M="sunday",A="saturday",L=0,Y=(0,s.K2)((function(){w=[],_=[],D="",S=[],ht=0,f=void 0,y=void 0,mt=[],m="",p="",$="",g=void 0,b="",T=[],v=[],K=!1,E=!1,L=0,x=new Map,(0,s.IU)(),M="sunday",A="saturday"}),"clear"),I=(0,s.K2)((function(t){p=t}),"setAxisFormat"),W=(0,s.K2)((function(){return p}),"getAxisFormat"),F=(0,s.K2)((function(t){g=t}),"setTickInterval"),O=(0,s.K2)((function(){return g}),"getTickInterval"),P=(0,s.K2)((function(t){b=t}),"setTodayMarker"),B=(0,s.K2)((function(){return b}),"getTodayMarker"),z=(0,s.K2)((function(t){m=t}),"setDateFormat"),N=(0,s.K2)((function(){K=!0}),"enableInclusiveEndDates"),G=(0,s.K2)((function(){return K}),"endDatesAreInclusive"),H=(0,s.K2)((function(){E=!0}),"enableTopAxis"),R=(0,s.K2)((function(){return E}),"topAxisEnabled"),j=(0,s.K2)((function(t){$=t}),"setDisplayMode"),U=(0,s.K2)((function(){return $}),"getDisplayMode"),V=(0,s.K2)((function(){return m}),"getDateFormat"),Z=(0,s.K2)((function(t){T=t.toLowerCase().split(/[\s,]+/)}),"setIncludes"),X=(0,s.K2)((function(){return T}),"getIncludes"),q=(0,s.K2)((function(t){v=t.toLowerCase().split(/[\s,]+/)}),"setExcludes"),Q=(0,s.K2)((function(){return v}),"getExcludes"),J=(0,s.K2)((function(){return x}),"getLinks"),tt=(0,s.K2)((function(t){D=t,w.push(t)}),"addSection"),et=(0,s.K2)((function(){return w}),"getSections"),nt=(0,s.K2)((function(){let t=vt(),e=0;for(;!t&&e<10;)t=vt(),e++;return _=mt}),"getTasks"),it=(0,s.K2)((function(t,e,n,i){return!i.includes(t.format(e.trim()))&&(!(!n.includes("weekends")||t.isoWeekday()!==k[A]&&t.isoWeekday()!==k[A]+1)||!!n.includes(t.format("dddd").toLowerCase())||n.includes(t.format(e.trim())))}),"isInvalidDate"),st=(0,s.K2)((function(t){M=t}),"setWeekday"),rt=(0,s.K2)((function(){return M}),"getWeekday"),at=(0,s.K2)((function(t){A=t}),"setWeekend"),ot=(0,s.K2)((function(t,e,n,i){if(!n.length||t.manualEndTime)return;let s,r;s=t.startTime instanceof Date?a(t.startTime):a(t.startTime,e,!0),s=s.add(1,"d"),r=t.endTime instanceof Date?a(t.endTime):a(t.endTime,e,!0);const[o,c]=ct(s,r,e,n,i);t.endTime=o.toDate(),t.renderEndTime=c}),"checkTaskDates"),ct=(0,s.K2)((function(t,e,n,i,s){let r=!1,a=null;for(;t<=e;)r||(a=e.toDate()),r=it(t,n,i,s),r&&(e=e.add(1,"d")),t=t.add(1,"d");return[e,a]}),"fixTaskDates"),lt=(0,s.K2)((function(t,e,n){n=n.trim();const i=/^after\s+(?[\d\w- ]+)/.exec(n);if(null!==i){let t=null;for(const e of i.groups.ids.split(" ")){let n=bt(e);void 0!==n&&(!t||n.endTime>t.endTime)&&(t=n)}if(t)return t.endTime;const e=new Date;return e.setHours(0,0,0,0),e}let r=a(n,e.trim(),!0);if(r.isValid())return r.toDate();{s.Rm.debug("Invalid date:"+n),s.Rm.debug("With date format:"+e.trim());const t=new Date(n);if(void 0===t||isNaN(t.getTime())||t.getFullYear()<-1e4||t.getFullYear()>1e4)throw new Error("Invalid date:"+n);return t}}),"getStartDate"),dt=(0,s.K2)((function(t){const e=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(t.trim());return null!==e?[Number.parseFloat(e[1]),e[2]]:[NaN,"ms"]}),"parseDuration"),ut=(0,s.K2)((function(t,e,n,i=!1){n=n.trim();const s=/^until\s+(?[\d\w- ]+)/.exec(n);if(null!==s){let t=null;for(const e of s.groups.ids.split(" ")){let n=bt(e);void 0!==n&&(!t||n.startTime{window.open(n,"_self")})),x.set(t,n))})),wt(t,"clickable")}),"setLink"),wt=(0,s.K2)((function(t,e){t.split(",").forEach((function(t){let n=bt(t);void 0!==n&&n.classes.push(e)}))}),"setClass"),_t=(0,s.K2)((function(t,e,n){if("loose"!==(0,s.D7)().securityLevel)return;if(void 0===e)return;let r=[];if("string"==typeof n){r=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let t=0;t{i._K.runFunc(e,...r)}))}),"setClickFun"),Dt=(0,s.K2)((function(t,e){S.push((function(){const n=document.querySelector(`[id="${t}"]`);null!==n&&n.addEventListener("click",(function(){e()}))}),(function(){const n=document.querySelector(`[id="${t}-text"]`);null!==n&&n.addEventListener("click",(function(){e()}))}))}),"pushFun"),$t=(0,s.K2)((function(t,e,n){t.split(",").forEach((function(t){_t(t,e,n)})),wt(t,"clickable")}),"setClickEvent"),Ct=(0,s.K2)((function(t){S.forEach((function(e){e(t)}))}),"bindFunctions"),St={getConfig:(0,s.K2)((()=>(0,s.D7)().gantt),"getConfig"),clear:Y,setDateFormat:z,getDateFormat:V,enableInclusiveEndDates:N,endDatesAreInclusive:G,enableTopAxis:H,topAxisEnabled:R,setAxisFormat:I,getAxisFormat:W,setTickInterval:F,getTickInterval:O,setTodayMarker:P,getTodayMarker:B,setAccTitle:s.SV,getAccTitle:s.iN,setDiagramTitle:s.ke,getDiagramTitle:s.ab,setDisplayMode:j,getDisplayMode:U,setAccDescription:s.EI,getAccDescription:s.m7,addSection:tt,getSections:et,getTasks:nt,addTask:gt,findTaskById:bt,addTaskOrg:Tt,setIncludes:Z,getIncludes:X,setExcludes:q,getExcludes:Q,setClickEvent:$t,setLink:xt,getLinks:J,bindFunctions:Ct,parseDuration:dt,isInvalidDate:it,setWeekday:st,getWeekday:rt,setWeekend:at};function Kt(t,e,n){let i=!0;for(;i;)i=!1,n.forEach((function(n){const s=new RegExp("^\\s*"+n+"\\s*$");t[0].match(s)&&(e[n]=!0,t.shift(1),i=!0)}))}(0,s.K2)(Kt,"getTaskTags");var Et,Mt=(0,s.K2)((function(){s.Rm.debug("Something is calling, setConf, remove the call")}),"setConf"),At={monday:d.ABi,tuesday:d.PGu,wednesday:d.GuW,thursday:d.Mol,friday:d.TUC,saturday:d.rGn,sunday:d.YPH},Lt=(0,s.K2)(((t,e)=>{let n=[...t].map((()=>-1/0)),i=[...t].sort(((t,e)=>t.startTime-e.startTime||t.order-e.order)),s=0;for(const t of i)for(let i=0;i=n[i]){n[i]=t.endTime,t.order=i+e,i>s&&(s=i);break}return s}),"getMaxIntersections"),Yt={parser:h,db:St,renderer:{setConf:Mt,draw:(0,s.K2)((function(t,e,n,i){const r=(0,s.D7)().gantt,o=(0,s.D7)().securityLevel;let c;"sandbox"===o&&(c=(0,d.Ltv)("#i"+e));const l="sandbox"===o?(0,d.Ltv)(c.nodes()[0].contentDocument.body):(0,d.Ltv)("body"),u="sandbox"===o?c.nodes()[0].contentDocument:document,h=u.getElementById(e);void 0===(Et=h.parentElement.offsetWidth)&&(Et=1200),void 0!==r.useWidth&&(Et=r.useWidth);const f=i.db.getTasks();let y=[];for(const t of f)y.push(t.type);y=$(y);const k={};let m=2*r.topPadding;if("compact"===i.db.getDisplayMode()||"compact"===r.displayMode){const t={};for(const e of f)void 0===t[e.section]?t[e.section]=[e]:t[e.section].push(e);let e=0;for(const n of Object.keys(t)){const i=Lt(t[n],e)+1;e+=i,m+=i*(r.barHeight+r.barGap),k[n]=i}}else{m+=f.length*(r.barHeight+r.barGap);for(const t of y)k[t]=f.filter((e=>e.type===t)).length}h.setAttribute("viewBox","0 0 "+Et+" "+m);const p=l.select(`[id="${e}"]`),g=(0,d.w7C)().domain([(0,d.jkA)(f,(function(t){return t.startTime})),(0,d.T9B)(f,(function(t){return t.endTime}))]).rangeRound([0,Et-r.leftPadding-r.rightPadding]);function b(t,e){const n=t.startTime,i=e.startTime;let s=0;return n>i?s=1:nt.order)))].map((e=>t.find((t=>t.order===e))));p.append("g").selectAll("rect").data(h).enter().append("rect").attr("x",0).attr("y",(function(t,e){return t.order*n+a-2})).attr("width",(function(){return u-r.rightPadding/2})).attr("height",n).attr("class",(function(t){for(const[e,n]of y.entries())if(t.type===n)return"section section"+e%r.numberSectionStyles;return"section section0"}));const f=p.append("g").selectAll("rect").data(t).enter(),k=i.db.getLinks();if(f.append("rect").attr("id",(function(t){return t.id})).attr("rx",3).attr("ry",3).attr("x",(function(t){return t.milestone?g(t.startTime)+o+.5*(g(t.endTime)-g(t.startTime))-.5*c:g(t.startTime)+o})).attr("y",(function(t,e){return t.order*n+a})).attr("width",(function(t){return t.milestone?c:g(t.renderEndTime||t.endTime)-g(t.startTime)})).attr("height",c).attr("transform-origin",(function(t,e){return e=t.order,(g(t.startTime)+o+.5*(g(t.endTime)-g(t.startTime))).toString()+"px "+(e*n+a+.5*c).toString()+"px"})).attr("class",(function(t){let e="";t.classes.length>0&&(e=t.classes.join(" "));let n=0;for(const[e,i]of y.entries())t.type===i&&(n=e%r.numberSectionStyles);let i="";return t.active?t.crit?i+=" activeCrit":i=" active":t.done?i=t.crit?" doneCrit":" done":t.crit&&(i+=" crit"),0===i.length&&(i=" task"),t.milestone&&(i=" milestone "+i),i+=n,i+=" "+e,"task"+i})),f.append("text").attr("id",(function(t){return t.id+"-text"})).text((function(t){return t.task})).attr("font-size",r.fontSize).attr("x",(function(t){let e=g(t.startTime),n=g(t.renderEndTime||t.endTime);t.milestone&&(e+=.5*(g(t.endTime)-g(t.startTime))-.5*c),t.milestone&&(n=e+c);const i=this.getBBox().width;return i>n-e?n+i+1.5*r.leftPadding>u?e+o-5:n+o+5:(n-e)/2+e+o})).attr("y",(function(t,e){return t.order*n+r.barHeight/2+(r.fontSize/2-2)+a})).attr("text-height",c).attr("class",(function(t){const e=g(t.startTime);let n=g(t.endTime);t.milestone&&(n=e+c);const i=this.getBBox().width;let s="";t.classes.length>0&&(s=t.classes.join(" "));let a=0;for(const[e,n]of y.entries())t.type===n&&(a=e%r.numberSectionStyles);let o="";return t.active&&(o=t.crit?"activeCritText"+a:"activeText"+a),t.done?o=t.crit?o+" doneCritText"+a:o+" doneText"+a:t.crit&&(o=o+" critText"+a),t.milestone&&(o+=" milestoneText"),i>n-e?n+i+1.5*r.leftPadding>u?s+" taskTextOutsideLeft taskTextOutside"+a+" "+o:s+" taskTextOutsideRight taskTextOutside"+a+" "+o+" width-"+i:s+" taskText taskText"+a+" "+o+" width-"+i})),"sandbox"===(0,s.D7)().securityLevel){let t;t=(0,d.Ltv)("#i"+e);const n=t.nodes()[0].contentDocument;f.filter((function(t){return k.has(t.id)})).each((function(t){var e=n.querySelector("#"+t.id),i=n.querySelector("#"+t.id+"-text");const s=e.parentNode;var r=n.createElement("a");r.setAttribute("xlink:href",k.get(t.id)),r.setAttribute("target","_top"),s.appendChild(r),r.appendChild(e),r.appendChild(i)}))}}function x(t,e,n,o,c,l,d,u){if(0===d.length&&0===u.length)return;let h,f;for(const{startTime:t,endTime:e}of l)(void 0===h||tf)&&(f=e);if(!h||!f)return;if(a(f).diff(a(h),"year")>5)return void s.Rm.warn("The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.");const y=i.db.getDateFormat(),k=[];let m=null,b=a(h);for(;b.valueOf()<=f;)i.db.isInvalidDate(b,y,d,u)?m?m.end=b:m={start:b,end:b}:m&&(k.push(m),m=null),b=b.add(1,"d");p.append("g").selectAll("rect").data(k).enter().append("rect").attr("id",(function(t){return"exclude-"+t.start.format("YYYY-MM-DD")})).attr("x",(function(t){return g(t.start)+n})).attr("y",r.gridLineStartPadding).attr("width",(function(t){const e=t.end.add(1,"day");return g(e)-g(t.start)})).attr("height",c-e-r.gridLineStartPadding).attr("transform-origin",(function(e,i){return(g(e.start)+n+.5*(g(e.end)-g(e.start))).toString()+"px "+(i*t+.5*c).toString()+"px"})).attr("class","exclude-range")}function w(t,e,n,s){let a=(0,d.l78)(g).tickSize(-s+e+r.gridLineStartPadding).tickFormat((0,d.DCK)(i.db.getAxisFormat()||r.axisFormat||"%Y-%m-%d"));const o=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(i.db.getTickInterval()||r.tickInterval);if(null!==o){const t=o[1],e=o[2],n=i.db.getWeekday()||r.weekday;switch(e){case"millisecond":a.ticks(d.t6C.every(t));break;case"second":a.ticks(d.ucG.every(t));break;case"minute":a.ticks(d.wXd.every(t));break;case"hour":a.ticks(d.Agd.every(t));break;case"day":a.ticks(d.UAC.every(t));break;case"week":a.ticks(At[n].every(t));break;case"month":a.ticks(d.Ui6.every(t))}}if(p.append("g").attr("class","grid").attr("transform","translate("+t+", "+(s-50)+")").call(a).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),i.db.topAxisEnabled()||r.topAxis){let n=(0,d.tlR)(g).tickSize(-s+e+r.gridLineStartPadding).tickFormat((0,d.DCK)(i.db.getAxisFormat()||r.axisFormat||"%Y-%m-%d"));if(null!==o){const t=o[1],e=o[2],s=i.db.getWeekday()||r.weekday;switch(e){case"millisecond":n.ticks(d.t6C.every(t));break;case"second":n.ticks(d.ucG.every(t));break;case"minute":n.ticks(d.wXd.every(t));break;case"hour":n.ticks(d.Agd.every(t));break;case"day":n.ticks(d.UAC.every(t));break;case"week":n.ticks(At[s].every(t));break;case"month":n.ticks(d.Ui6.every(t))}}p.append("g").attr("class","grid").attr("transform","translate("+t+", "+e+")").call(n).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}function _(t,e){let n=0;const i=Object.keys(k).map((t=>[t,k[t]]));p.append("g").selectAll("text").data(i).enter().append((function(t){const e=t[0].split(s.Y2.lineBreakRegex),n=-(e.length-1)/2,i=u.createElementNS("http://www.w3.org/2000/svg","text");i.setAttribute("dy",n+"em");for(const[t,n]of e.entries()){const e=u.createElementNS("http://www.w3.org/2000/svg","tspan");e.setAttribute("alignment-baseline","central"),e.setAttribute("x","10"),t>0&&e.setAttribute("dy","1em"),e.textContent=n,i.appendChild(e)}return i})).attr("x",10).attr("y",(function(s,r){if(!(r>0))return s[1]*t/2+e;for(let a=0;a`\n .mermaid-main-font {\n font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif);\n }\n\n .exclude-range {\n fill: ${t.excludeBkgColor};\n }\n\n .section {\n stroke: none;\n opacity: 0.2;\n }\n\n .section0 {\n fill: ${t.sectionBkgColor};\n }\n\n .section2 {\n fill: ${t.sectionBkgColor2};\n }\n\n .section1,\n .section3 {\n fill: ${t.altSectionBkgColor};\n opacity: 0.2;\n }\n\n .sectionTitle0 {\n fill: ${t.titleColor};\n }\n\n .sectionTitle1 {\n fill: ${t.titleColor};\n }\n\n .sectionTitle2 {\n fill: ${t.titleColor};\n }\n\n .sectionTitle3 {\n fill: ${t.titleColor};\n }\n\n .sectionTitle {\n text-anchor: start;\n font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif);\n }\n\n\n /* Grid and axis */\n\n .grid .tick {\n stroke: ${t.gridColor};\n opacity: 0.8;\n shape-rendering: crispEdges;\n }\n\n .grid .tick text {\n font-family: ${t.fontFamily};\n fill: ${t.textColor};\n }\n\n .grid path {\n stroke-width: 0;\n }\n\n\n /* Today line */\n\n .today {\n fill: none;\n stroke: ${t.todayLineColor};\n stroke-width: 2px;\n }\n\n\n /* Task styling */\n\n /* Default task */\n\n .task {\n stroke-width: 2;\n }\n\n .taskText {\n text-anchor: middle;\n font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif);\n }\n\n .taskTextOutsideRight {\n fill: ${t.taskTextDarkColor};\n text-anchor: start;\n font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif);\n }\n\n .taskTextOutsideLeft {\n fill: ${t.taskTextDarkColor};\n text-anchor: end;\n }\n\n\n /* Special case clickable */\n\n .task.clickable {\n cursor: pointer;\n }\n\n .taskText.clickable {\n cursor: pointer;\n fill: ${t.taskTextClickableColor} !important;\n font-weight: bold;\n }\n\n .taskTextOutsideLeft.clickable {\n cursor: pointer;\n fill: ${t.taskTextClickableColor} !important;\n font-weight: bold;\n }\n\n .taskTextOutsideRight.clickable {\n cursor: pointer;\n fill: ${t.taskTextClickableColor} !important;\n font-weight: bold;\n }\n\n\n /* Specific task settings for the sections*/\n\n .taskText0,\n .taskText1,\n .taskText2,\n .taskText3 {\n fill: ${t.taskTextColor};\n }\n\n .task0,\n .task1,\n .task2,\n .task3 {\n fill: ${t.taskBkgColor};\n stroke: ${t.taskBorderColor};\n }\n\n .taskTextOutside0,\n .taskTextOutside2\n {\n fill: ${t.taskTextOutsideColor};\n }\n\n .taskTextOutside1,\n .taskTextOutside3 {\n fill: ${t.taskTextOutsideColor};\n }\n\n\n /* Active task */\n\n .active0,\n .active1,\n .active2,\n .active3 {\n fill: ${t.activeTaskBkgColor};\n stroke: ${t.activeTaskBorderColor};\n }\n\n .activeText0,\n .activeText1,\n .activeText2,\n .activeText3 {\n fill: ${t.taskTextDarkColor} !important;\n }\n\n\n /* Completed task */\n\n .done0,\n .done1,\n .done2,\n .done3 {\n stroke: ${t.doneTaskBorderColor};\n fill: ${t.doneTaskBkgColor};\n stroke-width: 2;\n }\n\n .doneText0,\n .doneText1,\n .doneText2,\n .doneText3 {\n fill: ${t.taskTextDarkColor} !important;\n }\n\n\n /* Tasks on the critical line */\n\n .crit0,\n .crit1,\n .crit2,\n .crit3 {\n stroke: ${t.critBorderColor};\n fill: ${t.critBkgColor};\n stroke-width: 2;\n }\n\n .activeCrit0,\n .activeCrit1,\n .activeCrit2,\n .activeCrit3 {\n stroke: ${t.critBorderColor};\n fill: ${t.activeTaskBkgColor};\n stroke-width: 2;\n }\n\n .doneCrit0,\n .doneCrit1,\n .doneCrit2,\n .doneCrit3 {\n stroke: ${t.critBorderColor};\n fill: ${t.doneTaskBkgColor};\n stroke-width: 2;\n cursor: pointer;\n shape-rendering: crispEdges;\n }\n\n .milestone {\n transform: rotate(45deg) scale(0.8,0.8);\n }\n\n .milestoneText {\n font-style: italic;\n }\n .doneCritText0,\n .doneCritText1,\n .doneCritText2,\n .doneCritText3 {\n fill: ${t.taskTextDarkColor} !important;\n }\n\n .activeCritText0,\n .activeCritText1,\n .activeCritText2,\n .activeCritText3 {\n fill: ${t.taskTextDarkColor} !important;\n }\n\n .titleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${t.titleColor||t.textColor};\n font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif);\n }\n`),"getStyles")}}}]); \ No newline at end of file diff --git a/docs/hugo/public/js/354-5c1850f7.chunk.min.js b/docs/hugo/public/js/354-5c1850f7.chunk.min.js new file mode 100644 index 000000000..0aec2588f --- /dev/null +++ b/docs/hugo/public/js/354-5c1850f7.chunk.min.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgeekdoc=self.webpackChunkgeekdoc||[]).push([[354],{7354:(e,r,a)=>{a.d(r,{diagram:()=>g});var t=a(6144),n=a(7286),s=a(9502),d=a(8731),i={parse:(0,s.K2)((async e=>{const r=await(0,d.qg)("info",e);s.Rm.debug(r)}),"parse")},o={version:t.r},g={parser:i,db:{getVersion:(0,s.K2)((()=>o.version),"getVersion")},renderer:{draw:(0,s.K2)(((e,r,a)=>{s.Rm.debug("rendering info diagram\n"+e);const t=(0,n.D)(r);(0,s.a$)(t,100,400,!0),t.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${a}`)}),"draw")}}}}]); \ No newline at end of file diff --git a/docs/hugo/public/js/355-ef4f96e9.chunk.min.js b/docs/hugo/public/js/355-ef4f96e9.chunk.min.js new file mode 100644 index 000000000..526f16547 --- /dev/null +++ b/docs/hugo/public/js/355-ef4f96e9.chunk.min.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgeekdoc=self.webpackChunkgeekdoc||[]).push([[355],{6355:(t,e,n)=>{n.d(e,{diagram:()=>D});var i=n(9874),s=n(1282),r=(n(1099),n(3115),n(6058),n(8159),n(7286)),o=n(9502),a=n(5097),c=n(8041),l=n(5263),h=function(){var t=(0,o.K2)((function(t,e,n,i){for(n=n||{},i=t.length;i--;n[t[i]]=e);return n}),"o"),e=[1,4],n=[1,13],i=[1,12],s=[1,15],r=[1,16],a=[1,20],c=[1,19],l=[6,7,8],h=[1,26],u=[1,24],g=[1,25],d=[6,7,11],p=[1,31],y=[6,7,11,24],f=[1,6,13,16,17,20,23],m=[1,35],b=[1,36],_=[1,6,7,11,13,16,17,20,23],k=[1,38],E={trace:(0,o.K2)((function(){}),"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,KANBAN:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,shapeData:15,ICON:16,CLASS:17,nodeWithId:18,nodeWithoutId:19,NODE_DSTART:20,NODE_DESCR:21,NODE_DEND:22,NODE_ID:23,SHAPE_DATA:24,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"KANBAN",11:"EOF",13:"SPACELIST",16:"ICON",17:"CLASS",20:"NODE_DSTART",21:"NODE_DESCR",22:"NODE_DEND",23:"NODE_ID",24:"SHAPE_DATA"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,3],[12,2],[12,2],[12,2],[12,1],[12,2],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[19,3],[18,1],[18,4],[15,2],[15,1]],performAction:(0,o.K2)((function(t,e,n,i,s,r,o){var a=r.length-1;switch(s){case 6:case 7:return i;case 8:i.getLogger().trace("Stop NL ");break;case 9:i.getLogger().trace("Stop EOF ");break;case 11:i.getLogger().trace("Stop NL2 ");break;case 12:i.getLogger().trace("Stop EOF2 ");break;case 15:i.getLogger().info("Node: ",r[a-1].id),i.addNode(r[a-2].length,r[a-1].id,r[a-1].descr,r[a-1].type,r[a]);break;case 16:i.getLogger().info("Node: ",r[a].id),i.addNode(r[a-1].length,r[a].id,r[a].descr,r[a].type);break;case 17:i.getLogger().trace("Icon: ",r[a]),i.decorateNode({icon:r[a]});break;case 18:case 23:i.decorateNode({class:r[a]});break;case 19:i.getLogger().trace("SPACELIST");break;case 20:i.getLogger().trace("Node: ",r[a-1].id),i.addNode(0,r[a-1].id,r[a-1].descr,r[a-1].type,r[a]);break;case 21:i.getLogger().trace("Node: ",r[a].id),i.addNode(0,r[a].id,r[a].descr,r[a].type);break;case 22:i.decorateNode({icon:r[a]});break;case 27:i.getLogger().trace("node found ..",r[a-2]),this.$={id:r[a-1],descr:r[a-1],type:i.getType(r[a-2],r[a])};break;case 28:this.$={id:r[a],descr:r[a],type:0};break;case 29:i.getLogger().trace("node found ..",r[a-3]),this.$={id:r[a-3],descr:r[a-1],type:i.getType(r[a-2],r[a])};break;case 30:this.$=r[a-1]+r[a];break;case 31:this.$=r[a]}}),"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:n,7:[1,10],9:9,12:11,13:i,14:14,16:s,17:r,18:17,19:18,20:a,23:c},t(l,[2,3]),{1:[2,2]},t(l,[2,4]),t(l,[2,5]),{1:[2,6],6:n,12:21,13:i,14:14,16:s,17:r,18:17,19:18,20:a,23:c},{6:n,9:22,12:11,13:i,14:14,16:s,17:r,18:17,19:18,20:a,23:c},{6:h,7:u,10:23,11:g},t(d,[2,24],{18:17,19:18,14:27,16:[1,28],17:[1,29],20:a,23:c}),t(d,[2,19]),t(d,[2,21],{15:30,24:p}),t(d,[2,22]),t(d,[2,23]),t(y,[2,25]),t(y,[2,26]),t(y,[2,28],{20:[1,32]}),{21:[1,33]},{6:h,7:u,10:34,11:g},{1:[2,7],6:n,12:21,13:i,14:14,16:s,17:r,18:17,19:18,20:a,23:c},t(f,[2,14],{7:m,11:b}),t(_,[2,8]),t(_,[2,9]),t(_,[2,10]),t(d,[2,16],{15:37,24:p}),t(d,[2,17]),t(d,[2,18]),t(d,[2,20],{24:k}),t(y,[2,31]),{21:[1,39]},{22:[1,40]},t(f,[2,13],{7:m,11:b}),t(_,[2,11]),t(_,[2,12]),t(d,[2,15],{24:k}),t(y,[2,30]),{22:[1,41]},t(y,[2,27]),t(y,[2,29])],defaultActions:{2:[2,1],6:[2,2]},parseError:(0,o.K2)((function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)}),"parseError"),parse:(0,o.K2)((function(t){var e=this,n=[0],i=[],s=[null],r=[],a=this.table,c="",l=0,h=0,u=0,g=r.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(p.yy[y]=this.yy[y]);d.setInput(t,p.yy),p.yy.lexer=d,p.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var f=d.yylloc;r.push(f);var m=d.options&&d.options.ranges;function b(){var t;return"number"!=typeof(t=i.pop()||d.lex()||1)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,o.K2)((function(t){n.length=n.length-2*t,s.length=s.length-t,r.length=r.length-t}),"popStack"),(0,o.K2)(b,"lex");for(var _,k,E,S,N,x,D,L,I,C={};;){if(E=n[n.length-1],this.defaultActions[E]?S=this.defaultActions[E]:(null==_&&(_=b()),S=a[E]&&a[E][_]),void 0===S||!S.length||!S[0]){var O;for(x in I=[],a[E])this.terminals_[x]&&x>2&&I.push("'"+this.terminals_[x]+"'");O=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+I.join(", ")+", got '"+(this.terminals_[_]||_)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==_?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(O,{text:d.match,token:this.terminals_[_]||_,line:d.yylineno,loc:f,expected:I})}if(S[0]instanceof Array&&S.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+_);switch(S[0]){case 1:n.push(_),s.push(d.yytext),r.push(d.yylloc),n.push(S[1]),_=null,k?(_=k,k=null):(h=d.yyleng,c=d.yytext,l=d.yylineno,f=d.yylloc,u>0&&u--);break;case 2:if(D=this.productions_[S[1]][1],C.$=s[s.length-D],C._$={first_line:r[r.length-(D||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(D||1)].first_column,last_column:r[r.length-1].last_column},m&&(C._$.range=[r[r.length-(D||1)].range[0],r[r.length-1].range[1]]),void 0!==(N=this.performAction.apply(C,[c,h,l,p.yy,S[1],s,r].concat(g))))return N;D&&(n=n.slice(0,-1*D*2),s=s.slice(0,-1*D),r=r.slice(0,-1*D)),n.push(this.productions_[S[1]][0]),s.push(C.$),r.push(C._$),L=a[n[n.length-2]][n[n.length-1]],n.push(L);break;case 3:return!0}}return!0}),"parse")},S=function(){return{EOF:1,parseError:(0,o.K2)((function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)}),"parseError"),setInput:(0,o.K2)((function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this}),"setInput"),input:(0,o.K2)((function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t}),"input"),unput:(0,o.K2)((function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var s=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[s[0],s[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this}),"unput"),more:(0,o.K2)((function(){return this._more=!0,this}),"more"),reject:(0,o.K2)((function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"reject"),less:(0,o.K2)((function(t){this.unput(this.match.slice(t))}),"less"),pastInput:(0,o.K2)((function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")}),"pastInput"),upcomingInput:(0,o.K2)((function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")}),"upcomingInput"),showPosition:(0,o.K2)((function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"}),"showPosition"),test_match:(0,o.K2)((function(t,e){var n,i,s;if(this.options.backtrack_lexer&&(s={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(s.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var r in s)this[r]=s[r];return!1}return!1}),"test_match"),next:(0,o.K2)((function(){if(this.done)return this.EOF;var t,e,n,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var s=this._currentRules(),r=0;re[0].length)){if(e=n,i=r,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,s[r])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,s[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"next"),lex:(0,o.K2)((function(){return this.next()||this.lex()}),"lex"),begin:(0,o.K2)((function(t){this.conditionStack.push(t)}),"begin"),popState:(0,o.K2)((function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]}),"popState"),_currentRules:(0,o.K2)((function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules}),"_currentRules"),topState:(0,o.K2)((function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"}),"topState"),pushState:(0,o.K2)((function(t){this.begin(t)}),"pushState"),stateStackSize:(0,o.K2)((function(){return this.conditionStack.length}),"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,o.K2)((function(t,e,n,i){switch(n){case 0:return this.pushState("shapeData"),e.yytext="",24;case 1:return this.pushState("shapeDataStr"),24;case 2:return this.popState(),24;case 3:const n=/\n\s*/g;return e.yytext=e.yytext.replace(n,"
    "),24;case 4:return 24;case 5:case 10:case 29:case 32:this.popState();break;case 6:return t.getLogger().trace("Found comment",e.yytext),6;case 7:return 8;case 8:this.begin("CLASS");break;case 9:return this.popState(),17;case 11:t.getLogger().trace("Begin icon"),this.begin("ICON");break;case 12:return t.getLogger().trace("SPACELINE"),6;case 13:return 7;case 14:return 16;case 15:t.getLogger().trace("end icon"),this.popState();break;case 16:return t.getLogger().trace("Exploding node"),this.begin("NODE"),20;case 17:return t.getLogger().trace("Cloud"),this.begin("NODE"),20;case 18:return t.getLogger().trace("Explosion Bang"),this.begin("NODE"),20;case 19:return t.getLogger().trace("Cloud Bang"),this.begin("NODE"),20;case 20:case 21:case 22:case 23:return this.begin("NODE"),20;case 24:return 13;case 25:return 23;case 26:return 11;case 27:this.begin("NSTR2");break;case 28:return"NODE_DESCR";case 30:t.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 31:return t.getLogger().trace("description:",e.yytext),"NODE_DESCR";case 33:return this.popState(),t.getLogger().trace("node end ))"),"NODE_DEND";case 34:return this.popState(),t.getLogger().trace("node end )"),"NODE_DEND";case 35:return this.popState(),t.getLogger().trace("node end ...",e.yytext),"NODE_DEND";case 36:case 39:case 40:return this.popState(),t.getLogger().trace("node end (("),"NODE_DEND";case 37:case 38:return this.popState(),t.getLogger().trace("node end (-"),"NODE_DEND";case 41:case 42:return t.getLogger().trace("Long description:",e.yytext),21}}),"anonymous"),rules:[/^(?:@\{)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^\"]+)/i,/^(?:[^}^"]+)/i,/^(?:\})/i,/^(?:\s*%%.*)/i,/^(?:kanban\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}@]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{shapeDataEndBracket:{rules:[],inclusive:!1},shapeDataStr:{rules:[2,3],inclusive:!1},shapeData:{rules:[1,4,5],inclusive:!1},CLASS:{rules:[9,10],inclusive:!1},ICON:{rules:[14,15],inclusive:!1},NSTR2:{rules:[28,29],inclusive:!1},NSTR:{rules:[31,32],inclusive:!1},NODE:{rules:[27,30,33,34,35,36,37,38,39,40,41,42],inclusive:!1},INITIAL:{rules:[0,6,7,8,11,12,13,16,17,18,19,20,21,22,23,24,25,26],inclusive:!0}}}}();function N(){this.yy={}}return E.lexer=S,(0,o.K2)(N,"Parser"),N.prototype=E,E.Parser=N,new N}();h.parser=h;var u=h,g=[],d=[],p=0,y={},f=(0,o.K2)((()=>{g=[],d=[],p=0,y={}}),"clear"),m=(0,o.K2)((t=>{if(0===g.length)return null;const e=g[0].level;let n=null;for(let t=g.length-1;t>=0;t--)if(g[t].level!==e||n||(n=g[t]),g[t].levelt.parentId===i.id));for(const e of s){const s={id:e.id,parentId:i.id,label:(0,o.jZ)(e.label??"",n),isGroup:!1,ticket:e?.ticket,priority:e?.priority,assigned:e?.assigned,icon:e?.icon,shape:"kanbanItem",level:e.level,rx:5,ry:5,cssStyles:["text-align: left"]};t.push(s)}}return{nodes:t,edges:[],other:{},config:(0,o.D7)()}}),"getData"),k=(0,o.K2)(((t,e,n,s,r)=>{const a=(0,o.D7)();let c=a.mindmap?.padding??o.UI.mindmap.padding;switch(s){case E.ROUNDED_RECT:case E.RECT:case E.HEXAGON:c*=2}const l={id:(0,o.jZ)(e,a)||"kbn"+p++,level:t,label:(0,o.jZ)(n,a),width:a.mindmap?.maxNodeWidth??o.UI.mindmap.maxNodeWidth,padding:c,isGroup:!1};if(void 0!==r){let t;t=r.includes("\n")?r+"\n":"{\n"+r+"\n}";const e=(0,i.H)(t,{schema:i.r});if(e.shape&&(e.shape!==e.shape.toLowerCase()||e.shape.includes("_")))throw new Error(`No such shape: ${e.shape}. Shape names should be lowercase.`);e?.shape&&"kanbanItem"===e.shape&&(l.shape=e?.shape),e?.label&&(l.label=e?.label),e?.icon&&(l.icon=e?.icon.toString()),e?.assigned&&(l.assigned=e?.assigned.toString()),e?.ticket&&(l.ticket=e?.ticket.toString()),e?.priority&&(l.priority=e?.priority)}const h=m(t);h?l.parentId=h.id||"kbn"+p++:d.push(l),g.push(l)}),"addNode"),E={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},S={clear:f,addNode:k,getSections:b,getData:_,nodeType:E,getType:(0,o.K2)(((t,e)=>{switch(o.Rm.debug("In get type",t,e),t){case"[":return E.RECT;case"(":return")"===e?E.ROUNDED_RECT:E.CLOUD;case"((":return E.CIRCLE;case")":return E.CLOUD;case"))":return E.BANG;case"{{":return E.HEXAGON;default:return E.DEFAULT}}),"getType"),setElementForId:(0,o.K2)(((t,e)=>{y[t]=e}),"setElementForId"),decorateNode:(0,o.K2)((t=>{if(!t)return;const e=(0,o.D7)(),n=g[g.length-1];t.icon&&(n.icon=(0,o.jZ)(t.icon,e)),t.class&&(n.cssClasses=(0,o.jZ)(t.class,e))}),"decorateNode"),type2Str:(0,o.K2)((t=>{switch(t){case E.DEFAULT:return"no-border";case E.RECT:return"rect";case E.ROUNDED_RECT:return"rounded-rect";case E.CIRCLE:return"circle";case E.CLOUD:return"cloud";case E.BANG:return"bang";case E.HEXAGON:return"hexgon";default:return"no-border"}}),"type2Str"),getLogger:(0,o.K2)((()=>o.Rm),"getLogger"),getElementById:(0,o.K2)((t=>y[t]),"getElementById")},N={draw:(0,o.K2)((async(t,e,n,i)=>{o.Rm.debug("Rendering kanban diagram\n"+t);const a=i.db.getData(),c=(0,o.D7)();c.htmlLabels=!1;const l=(0,r.D)(e),h=l.append("g");h.attr("class","sections");const u=l.append("g");u.attr("class","items");const g=a.nodes.filter((t=>t.isGroup));let d=0;const p=[];let y=25;for(const t of g){const e=c?.kanban?.sectionWidth||200;d+=1,t.x=e*d+10*(d-1)/2,t.width=e,t.y=0,t.height=3*e,t.rx=5,t.ry=5,t.cssClasses=t.cssClasses+" section-"+d;const n=await(0,s.U)(h,t);y=Math.max(y,n?.labelBBox?.height),p.push(n)}let f=0;for(const t of g){const e=p[f];f+=1;const n=c?.kanban?.sectionWidth||200,i=3*-n/2+y;let r=i;const o=a.nodes.filter((e=>e.parentId===t.id));for(const e of o){if(e.isGroup)throw new Error("Groups within groups are not allowed in Kanban diagrams");e.x=t.x,e.width=n-15;const i=(await(0,s.on)(u,e,{config:c})).node().getBBox();e.y=r+i.height/2,await(0,s.U_)(e),r=e.y+i.height/2+5}const l=e.cluster.select("rect"),h=Math.max(r-i+30,50)+(y-25);l.attr("height",h)}(0,o.ot)(void 0,l,c.mindmap?.padding??o.UI.kanban.padding,c.mindmap?.useMaxWidth??o.UI.kanban.useMaxWidth)}),"draw")},x=(0,o.K2)((t=>{let e="";for(let e=0;et.darkMode?(0,l.A)(e,n):(0,c.A)(e,n)),"adjuster");for(let i=0;i`\n .edge {\n stroke-width: 3;\n }\n ${x(t)}\n .section-root rect, .section-root path, .section-root circle, .section-root polygon {\n fill: ${t.git0};\n }\n .section-root text {\n fill: ${t.gitBranchLabel0};\n }\n .icon-container {\n height:100%;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .edge {\n fill: none;\n }\n .cluster-label, .label {\n color: ${t.textColor};\n fill: ${t.textColor};\n }\n .kanban-label {\n dy: 1em;\n alignment-baseline: middle;\n text-anchor: middle;\n dominant-baseline: middle;\n text-align: center;\n }\n`),"getStyles")}}}]); \ No newline at end of file diff --git a/docs/hugo/public/js/357-e9bfa102.chunk.min.js b/docs/hugo/public/js/357-e9bfa102.chunk.min.js new file mode 100644 index 000000000..aac58eb5b --- /dev/null +++ b/docs/hugo/public/js/357-e9bfa102.chunk.min.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgeekdoc=self.webpackChunkgeekdoc||[]).push([[357],{3933:(t,e,a)=>{function r(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}a.d(e,{S:()=>r}),(0,a(9502).K2)(r,"populateCommonDb")},7357:(t,e,a)=>{a.d(e,{diagram:()=>x});var r=a(3933),n=a(8159),o=a(7286),l=a(9502),i=a(8731),c={packet:[]},s=structuredClone(c),d=l.UI.packet,k=(0,l.K2)((()=>{const t=(0,n.$t)({...d,...(0,l.zj)().packet});return t.showBits&&(t.paddingY+=10),t}),"getConfig"),p=(0,l.K2)((()=>s.packet),"getPacket"),b={pushWord:(0,l.K2)((t=>{t.length>0&&s.packet.push(t)}),"pushWord"),getPacket:p,getConfig:k,clear:(0,l.K2)((()=>{(0,l.IU)(),s=structuredClone(c)}),"clear"),setAccTitle:l.SV,getAccTitle:l.iN,setDiagramTitle:l.ke,getDiagramTitle:l.ab,getAccDescription:l.m7,setAccDescription:l.EI},g=(0,l.K2)((t=>{(0,r.S)(t,b);let e=-1,a=[],n=1;const{bitsPerRow:o}=b.getConfig();for(let{start:r,end:i,label:c}of t.blocks){if(i&&i{if(void 0===t.end&&(t.end=t.start),t.start>t.end)throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`);return t.end+1<=e*a?[t,void 0]:[{start:t.start,end:e*a-1,label:t.label},{start:e*a,end:t.end,label:t.label}]}),"getNextFittingBlock"),f={parse:(0,l.K2)((async t=>{const e=await(0,i.qg)("packet",t);l.Rm.debug(e),g(e)}),"parse")},u=(0,l.K2)(((t,e,a,r)=>{const n=r.db,i=n.getConfig(),{rowHeight:c,paddingY:s,bitWidth:d,bitsPerRow:k}=i,p=n.getPacket(),b=n.getDiagramTitle(),g=c+s,h=g*(p.length+1)-(b?0:c),f=d*k+2,u=(0,o.D)(e);u.attr("viewbox",`0 0 ${f} ${h}`),(0,l.a$)(u,h,f,i.useMaxWidth);for(const[t,e]of p.entries())$(u,e,t,i);u.append("text").text(b).attr("x",f/2).attr("y",h-g/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")}),"draw"),$=(0,l.K2)(((t,e,a,{rowHeight:r,paddingX:n,paddingY:o,bitWidth:l,bitsPerRow:i,showBits:c})=>{const s=t.append("g"),d=a*(r+o)+o;for(const t of e){const e=t.start%i*l+1,a=(t.end-t.start+1)*l-n;if(s.append("rect").attr("x",e).attr("y",d).attr("width",a).attr("height",r).attr("class","packetBlock"),s.append("text").attr("x",e+a/2).attr("y",d+r/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(t.label),!c)continue;const o=t.end===t.start,k=d-2;s.append("text").attr("x",e+(o?a/2:0)).attr("y",k).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",o?"middle":"start").text(t.start),o||s.append("text").attr("x",e+a).attr("y",k).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(t.end)}}),"drawWord"),w={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},x={parser:f,db:b,renderer:{draw:u},styles:(0,l.K2)((({packet:t}={})=>{const e=(0,n.$t)(w,t);return`\n\t.packetByte {\n\t\tfont-size: ${e.byteFontSize};\n\t}\n\t.packetByte.start {\n\t\tfill: ${e.startByteColor};\n\t}\n\t.packetByte.end {\n\t\tfill: ${e.endByteColor};\n\t}\n\t.packetLabel {\n\t\tfill: ${e.labelColor};\n\t\tfont-size: ${e.labelFontSize};\n\t}\n\t.packetTitle {\n\t\tfill: ${e.titleColor};\n\t\tfont-size: ${e.titleFontSize};\n\t}\n\t.packetBlock {\n\t\tstroke: ${e.blockStrokeColor};\n\t\tstroke-width: ${e.blockStrokeWidth};\n\t\tfill: ${e.blockFillColor};\n\t}\n\t`}),"styles")}}}]); \ No newline at end of file diff --git a/docs/hugo/public/js/383-676aedef.chunk.min.js b/docs/hugo/public/js/383-676aedef.chunk.min.js new file mode 100644 index 000000000..237da8dc0 --- /dev/null +++ b/docs/hugo/public/js/383-676aedef.chunk.min.js @@ -0,0 +1 @@ +(self.webpackChunkgeekdoc=self.webpackChunkgeekdoc||[]).push([[383],{7799:function(t,e,i){var n;n=function(t){return function(t){var e={};function i(n){if(e[n])return e[n].exports;var r=e[n]={i:n,l:!1,exports:{}};return t[n].call(r.exports,r,r.exports,i),r.l=!0,r.exports}return i.m=t,i.c=e,i.i=function(t){return t},i.d=function(t,e,n){i.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=7)}([function(e,i){e.exports=t},function(t,e,i){"use strict";var n=i(0).FDLayoutConstants;function r(){}for(var o in n)r[o]=n[o];r.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,r.DEFAULT_RADIAL_SEPARATION=n.DEFAULT_EDGE_LENGTH,r.DEFAULT_COMPONENT_SEPERATION=60,r.TILE=!0,r.TILING_PADDING_VERTICAL=10,r.TILING_PADDING_HORIZONTAL=10,r.TREE_REDUCTION_ON_INCREMENTAL=!1,t.exports=r},function(t,e,i){"use strict";var n=i(0).FDLayoutEdge;function r(t,e,i){n.call(this,t,e,i)}for(var o in r.prototype=Object.create(n.prototype),n)r[o]=n[o];t.exports=r},function(t,e,i){"use strict";var n=i(0).LGraph;function r(t,e,i){n.call(this,t,e,i)}for(var o in r.prototype=Object.create(n.prototype),n)r[o]=n[o];t.exports=r},function(t,e,i){"use strict";var n=i(0).LGraphManager;function r(t){n.call(this,t)}for(var o in r.prototype=Object.create(n.prototype),n)r[o]=n[o];t.exports=r},function(t,e,i){"use strict";var n=i(0).FDLayoutNode,r=i(0).IMath;function o(t,e,i,r){n.call(this,t,e,i,r)}for(var s in o.prototype=Object.create(n.prototype),n)o[s]=n[s];o.prototype.move=function(){var t=this.graphManager.getLayout();this.displacementX=t.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY=t.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren,Math.abs(this.displacementX)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementX=t.coolingFactor*t.maxNodeDisplacement*r.sign(this.displacementX)),Math.abs(this.displacementY)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementY=t.coolingFactor*t.maxNodeDisplacement*r.sign(this.displacementY)),null==this.child||0==this.child.getNodes().length?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),t.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},o.prototype.propogateDisplacementToChildren=function(t,e){for(var i,n=this.getChild().getNodes(),r=0;r0)this.positionNodesRadially(t);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var e=new Set(this.getAllNodes()),i=this.nodesWithGravity.filter((function(t){return e.has(t)}));this.graphManager.setAllNodesToApplyGravitation(i),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},_.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}if(this.totalIterations%l.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged()){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}this.coolingCycle++,0==this.layoutQuality?this.coolingAdjuster=this.coolingCycle:1==this.layoutQuality&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var t=new Set(this.getAllNodes()),e=this.nodesWithGravity.filter((function(e){return t.has(e)}));this.graphManager.setAllNodesToApplyGravitation(e),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var i=!this.isTreeGrowing&&!this.isGrowthFinished,n=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(i,n),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},_.prototype.getPositionsData=function(){for(var t=this.graphManager.getAllNodes(),e={},i=0;i1)for(a=0;an&&(n=Math.floor(s.y)),o=Math.floor(s.x+h.DEFAULT_COMPONENT_SEPERATION)}this.transform(new u(c.WORLD_CENTER_X-s.x/2,c.WORLD_CENTER_Y-s.y/2))},_.radialLayout=function(t,e,i){var n=Math.max(this.maxDiagonalInTree(t),h.DEFAULT_RADIAL_SEPARATION);_.branchRadialLayout(e,null,0,359,0,n);var r=y.calculateBounds(t),o=new E;o.setDeviceOrgX(r.getMinX()),o.setDeviceOrgY(r.getMinY()),o.setWorldOrgX(i.x),o.setWorldOrgY(i.y);for(var s=0;s1;){var E=y[0];y.splice(0,1);var m=c.indexOf(E);m>=0&&c.splice(m,1),p--,g--}u=null!=e?(c.indexOf(y[0])+1)%p:0;for(var v=Math.abs(n-i)/g,N=u;d!=g;N=++N%p){var A=c[N].getOtherEnd(t);if(A!=e){var L=(i+d*v)%360,T=(L+v)%360;_.branchRadialLayout(A,t,L,T,r+o,o),d++}}},_.maxDiagonalInTree=function(t){for(var e=p.MIN_VALUE,i=0;ie&&(e=n)}return e},_.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},_.prototype.groupZeroDegreeMembers=function(){var t=this,e={};this.memberGroups={},this.idToDummyNode={};for(var i=[],n=this.graphManager.getAllNodes(),r=0;r1){var n="DummyCompound_"+i;t.memberGroups[n]=e[i];var r=e[i][0].getParent(),o=new s(t.graphManager);o.id=n,o.paddingLeft=r.paddingLeft||0,o.paddingRight=r.paddingRight||0,o.paddingBottom=r.paddingBottom||0,o.paddingTop=r.paddingTop||0,t.idToDummyNode[n]=o;var a=t.getGraphManager().add(t.newGraph(),o),h=r.getChild();h.add(o);for(var l=0;l=0;t--){var e=this.compoundOrder[t],i=e.id,n=e.paddingLeft,r=e.paddingTop;this.adjustLocations(this.tiledMemberPack[i],e.rect.x,e.rect.y,n,r)}},_.prototype.repopulateZeroDegreeMembers=function(){var t=this,e=this.tiledZeroDegreePack;Object.keys(e).forEach((function(i){var n=t.idToDummyNode[i],r=n.paddingLeft,o=n.paddingTop;t.adjustLocations(e[i],n.rect.x,n.rect.y,r,o)}))},_.prototype.getToBeTiled=function(t){var e=t.id;if(null!=this.toBeTiled[e])return this.toBeTiled[e];var i=t.getChild();if(null==i)return this.toBeTiled[e]=!1,!1;for(var n=i.getNodes(),r=0;r0)return this.toBeTiled[e]=!1,!1;if(null!=o.getChild()){if(!this.getToBeTiled(o))return this.toBeTiled[e]=!1,!1}else this.toBeTiled[o.id]=!1}return this.toBeTiled[e]=!0,!0},_.prototype.getNodeDegree=function(t){t.id;for(var e=t.getEdges(),i=0,n=0;nh&&(h=c.rect.height)}i+=h+t.verticalPadding}},_.prototype.tileCompoundMembers=function(t,e){var i=this;this.tiledMemberPack=[],Object.keys(t).forEach((function(n){var r=e[n];i.tiledMemberPack[n]=i.tileNodes(t[n],r.paddingLeft+r.paddingRight),r.rect.width=i.tiledMemberPack[n].width,r.rect.height=i.tiledMemberPack[n].height}))},_.prototype.tileNodes=function(t,e){var i={rows:[],rowWidth:[],rowHeight:[],width:0,height:e,verticalPadding:h.TILING_PADDING_VERTICAL,horizontalPadding:h.TILING_PADDING_HORIZONTAL};t.sort((function(t,e){return t.rect.width*t.rect.height>e.rect.width*e.rect.height?-1:t.rect.width*t.rect.height0&&(o+=t.horizontalPadding),t.rowWidth[i]=o,t.width0&&(s+=t.verticalPadding);var a=0;s>t.rowHeight[i]&&(a=t.rowHeight[i],t.rowHeight[i]=s,a=t.rowHeight[i]-a),t.height+=a,t.rows[i].push(e)},_.prototype.getShortestRowIndex=function(t){for(var e=-1,i=Number.MAX_VALUE,n=0;ni&&(e=n,i=t.rowWidth[n]);return e},_.prototype.canAddHorizontal=function(t,e,i){var n=this.getShortestRowIndex(t);if(n<0)return!0;var r=t.rowWidth[n];if(r+t.horizontalPadding+e<=t.width)return!0;var o,s,a=0;return t.rowHeight[n]0&&(a=i+t.verticalPadding-t.rowHeight[n]),o=t.width-r>=e+t.horizontalPadding?(t.height+a)/(r+e+t.horizontalPadding):(t.height+a)/t.width,a=i+t.verticalPadding,(s=t.widtho&&e!=i){n.splice(-1,1),t.rows[i].push(r),t.rowWidth[e]=t.rowWidth[e]-o,t.rowWidth[i]=t.rowWidth[i]+o,t.width=t.rowWidth[instance.getLongestRowIndex(t)];for(var s=Number.MIN_VALUE,a=0;as&&(s=n[a].height);e>0&&(s+=t.verticalPadding);var h=t.rowHeight[e]+t.rowHeight[i];t.rowHeight[e]=s,t.rowHeight[i]0)for(var c=r;c<=o;c++)h[0]+=this.grid[c][s-1].length+this.grid[c][s].length-1;if(o0)for(c=s;c<=a;c++)h[3]+=this.grid[r-1][c].length+this.grid[r][c].length-1;for(var g,u,d=p.MAX_VALUE,f=0;f0&&(s=i.getGraphManager().add(i.newGraph(),o),this.processChildrenList(s,g,i))}},g.prototype.stop=function(){return this.stopped=!0,this};var d=function(t){t("layout","cose-bilkent",g)};"undefined"!=typeof cytoscape&&d(cytoscape),t.exports=d}])},t.exports=n(i(7799))},3143:function(t){var e;e=function(){return function(t){var e={};function i(n){if(e[n])return e[n].exports;var r=e[n]={i:n,l:!1,exports:{}};return t[n].call(r.exports,r,r.exports,i),r.l=!0,r.exports}return i.m=t,i.c=e,i.i=function(t){return t},i.d=function(t,e,n){i.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=26)}([function(t,e,i){"use strict";function n(){}n.QUALITY=1,n.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,n.DEFAULT_INCREMENTAL=!1,n.DEFAULT_ANIMATION_ON_LAYOUT=!0,n.DEFAULT_ANIMATION_DURING_LAYOUT=!1,n.DEFAULT_ANIMATION_PERIOD=50,n.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,n.DEFAULT_GRAPH_MARGIN=15,n.NODE_DIMENSIONS_INCLUDE_LABELS=!1,n.SIMPLE_NODE_SIZE=40,n.SIMPLE_NODE_HALF_SIZE=n.SIMPLE_NODE_SIZE/2,n.EMPTY_COMPOUND_NODE_SIZE=40,n.MIN_EDGE_LENGTH=1,n.WORLD_BOUNDARY=1e6,n.INITIAL_WORLD_BOUNDARY=n.WORLD_BOUNDARY/1e3,n.WORLD_CENTER_X=1200,n.WORLD_CENTER_Y=900,t.exports=n},function(t,e,i){"use strict";var n=i(2),r=i(8),o=i(9);function s(t,e,i){n.call(this,i),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=i,this.bendpoints=[],this.source=t,this.target=e}for(var a in s.prototype=Object.create(n.prototype),n)s[a]=n[a];s.prototype.getSource=function(){return this.source},s.prototype.getTarget=function(){return this.target},s.prototype.isInterGraph=function(){return this.isInterGraph},s.prototype.getLength=function(){return this.length},s.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},s.prototype.getBendpoints=function(){return this.bendpoints},s.prototype.getLca=function(){return this.lca},s.prototype.getSourceInLca=function(){return this.sourceInLca},s.prototype.getTargetInLca=function(){return this.targetInLca},s.prototype.getOtherEnd=function(t){if(this.source===t)return this.target;if(this.target===t)return this.source;throw"Node is not incident with this edge"},s.prototype.getOtherEndInGraph=function(t,e){for(var i=this.getOtherEnd(t),n=e.getGraphManager().getRoot();;){if(i.getOwner()==e)return i;if(i.getOwner()==n)break;i=i.getOwner().getParent()}return null},s.prototype.updateLength=function(){var t=new Array(4);this.isOverlapingSourceAndTarget=r.getIntersection(this.target.getRect(),this.source.getRect(),t),this.isOverlapingSourceAndTarget||(this.lengthX=t[0]-t[2],this.lengthY=t[1]-t[3],Math.abs(this.lengthX)<1&&(this.lengthX=o.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},s.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=o.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},t.exports=s},function(t,e,i){"use strict";t.exports=function(t){this.vGraphObject=t}},function(t,e,i){"use strict";var n=i(2),r=i(10),o=i(13),s=i(0),a=i(16),h=i(4);function l(t,e,i,s){null==i&&null==s&&(s=e),n.call(this,s),null!=t.graphManager&&(t=t.graphManager),this.estimatedSize=r.MIN_VALUE,this.inclusionTreeDepth=r.MAX_VALUE,this.vGraphObject=s,this.edges=[],this.graphManager=t,this.rect=null!=i&&null!=e?new o(e.x,e.y,i.width,i.height):new o}for(var c in l.prototype=Object.create(n.prototype),n)l[c]=n[c];l.prototype.getEdges=function(){return this.edges},l.prototype.getChild=function(){return this.child},l.prototype.getOwner=function(){return this.owner},l.prototype.getWidth=function(){return this.rect.width},l.prototype.setWidth=function(t){this.rect.width=t},l.prototype.getHeight=function(){return this.rect.height},l.prototype.setHeight=function(t){this.rect.height=t},l.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},l.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},l.prototype.getCenter=function(){return new h(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},l.prototype.getLocation=function(){return new h(this.rect.x,this.rect.y)},l.prototype.getRect=function(){return this.rect},l.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},l.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},l.prototype.setRect=function(t,e){this.rect.x=t.x,this.rect.y=t.y,this.rect.width=e.width,this.rect.height=e.height},l.prototype.setCenter=function(t,e){this.rect.x=t-this.rect.width/2,this.rect.y=e-this.rect.height/2},l.prototype.setLocation=function(t,e){this.rect.x=t,this.rect.y=e},l.prototype.moveBy=function(t,e){this.rect.x+=t,this.rect.y+=e},l.prototype.getEdgeListToNode=function(t){var e=[],i=this;return i.edges.forEach((function(n){if(n.target==t){if(n.source!=i)throw"Incorrect edge source!";e.push(n)}})),e},l.prototype.getEdgesBetween=function(t){var e=[],i=this;return i.edges.forEach((function(n){if(n.source!=i&&n.target!=i)throw"Incorrect edge source and/or target";n.target!=t&&n.source!=t||e.push(n)})),e},l.prototype.getNeighborsList=function(){var t=new Set,e=this;return e.edges.forEach((function(i){if(i.source==e)t.add(i.target);else{if(i.target!=e)throw"Incorrect incidency!";t.add(i.source)}})),t},l.prototype.withChildren=function(){var t=new Set;if(t.add(this),null!=this.child)for(var e=this.child.getNodes(),i=0;ie&&(this.rect.x-=(this.labelWidth-e)/2,this.setWidth(this.labelWidth)),this.labelHeight>i&&("center"==this.labelPos?this.rect.y-=(this.labelHeight-i)/2:"top"==this.labelPos&&(this.rect.y-=this.labelHeight-i),this.setHeight(this.labelHeight))}}},l.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==r.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},l.prototype.transform=function(t){var e=this.rect.x;e>s.WORLD_BOUNDARY?e=s.WORLD_BOUNDARY:e<-s.WORLD_BOUNDARY&&(e=-s.WORLD_BOUNDARY);var i=this.rect.y;i>s.WORLD_BOUNDARY?i=s.WORLD_BOUNDARY:i<-s.WORLD_BOUNDARY&&(i=-s.WORLD_BOUNDARY);var n=new h(e,i),r=t.inverseTransformPoint(n);this.setLocation(r.x,r.y)},l.prototype.getLeft=function(){return this.rect.x},l.prototype.getRight=function(){return this.rect.x+this.rect.width},l.prototype.getTop=function(){return this.rect.y},l.prototype.getBottom=function(){return this.rect.y+this.rect.height},l.prototype.getParent=function(){return null==this.owner?null:this.owner.getParent()},t.exports=l},function(t,e,i){"use strict";function n(t,e){null==t&&null==e?(this.x=0,this.y=0):(this.x=t,this.y=e)}n.prototype.getX=function(){return this.x},n.prototype.getY=function(){return this.y},n.prototype.setX=function(t){this.x=t},n.prototype.setY=function(t){this.y=t},n.prototype.getDifference=function(t){return new DimensionD(this.x-t.x,this.y-t.y)},n.prototype.getCopy=function(){return new n(this.x,this.y)},n.prototype.translate=function(t){return this.x+=t.width,this.y+=t.height,this},t.exports=n},function(t,e,i){"use strict";var n=i(2),r=i(10),o=i(0),s=i(6),a=i(3),h=i(1),l=i(13),c=i(12),g=i(11);function u(t,e,i){n.call(this,i),this.estimatedSize=r.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=t,null!=e&&e instanceof s?this.graphManager=e:null!=e&&e instanceof Layout&&(this.graphManager=e.graphManager)}for(var d in u.prototype=Object.create(n.prototype),n)u[d]=n[d];u.prototype.getNodes=function(){return this.nodes},u.prototype.getEdges=function(){return this.edges},u.prototype.getGraphManager=function(){return this.graphManager},u.prototype.getParent=function(){return this.parent},u.prototype.getLeft=function(){return this.left},u.prototype.getRight=function(){return this.right},u.prototype.getTop=function(){return this.top},u.prototype.getBottom=function(){return this.bottom},u.prototype.isConnected=function(){return this.isConnected},u.prototype.add=function(t,e,i){if(null==e&&null==i){var n=t;if(null==this.graphManager)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(n)>-1)throw"Node already in graph!";return n.owner=this,this.getNodes().push(n),n}var r=t;if(!(this.getNodes().indexOf(e)>-1&&this.getNodes().indexOf(i)>-1))throw"Source or target not in graph!";if(e.owner!=i.owner||e.owner!=this)throw"Both owners must be this graph!";return e.owner!=i.owner?null:(r.source=e,r.target=i,r.isInterGraph=!1,this.getEdges().push(r),e.edges.push(r),i!=e&&i.edges.push(r),r)},u.prototype.remove=function(t){var e=t;if(t instanceof a){if(null==e)throw"Node is null!";if(null==e.owner||e.owner!=this)throw"Owner graph is invalid!";if(null==this.graphManager)throw"Owner graph manager is invalid!";for(var i=e.edges.slice(),n=i.length,r=0;r-1&&c>-1))throw"Source and/or target doesn't know this edge!";if(o.source.edges.splice(l,1),o.target!=o.source&&o.target.edges.splice(c,1),-1==(s=o.source.owner.getEdges().indexOf(o)))throw"Not in owner's edge list!";o.source.owner.getEdges().splice(s,1)}},u.prototype.updateLeftTop=function(){for(var t,e,i,n=r.MAX_VALUE,o=r.MAX_VALUE,s=this.getNodes(),a=s.length,h=0;h(t=l.getTop())&&(n=t),o>(e=l.getLeft())&&(o=e)}return n==r.MAX_VALUE?null:(i=null!=s[0].getParent().paddingLeft?s[0].getParent().paddingLeft:this.margin,this.left=o-i,this.top=n-i,new c(this.left,this.top))},u.prototype.updateBounds=function(t){for(var e,i,n,o,s,a=r.MAX_VALUE,h=-r.MAX_VALUE,c=r.MAX_VALUE,g=-r.MAX_VALUE,u=this.nodes,d=u.length,p=0;p(e=f.getLeft())&&(a=e),h<(i=f.getRight())&&(h=i),c>(n=f.getTop())&&(c=n),g<(o=f.getBottom())&&(g=o)}var y=new l(a,c,h-a,g-c);a==r.MAX_VALUE&&(this.left=this.parent.getLeft(),this.right=this.parent.getRight(),this.top=this.parent.getTop(),this.bottom=this.parent.getBottom()),s=null!=u[0].getParent().paddingLeft?u[0].getParent().paddingLeft:this.margin,this.left=y.x-s,this.right=y.x+y.width+s,this.top=y.y-s,this.bottom=y.y+y.height+s},u.calculateBounds=function(t){for(var e,i,n,o,s=r.MAX_VALUE,a=-r.MAX_VALUE,h=r.MAX_VALUE,c=-r.MAX_VALUE,g=t.length,u=0;u(e=d.getLeft())&&(s=e),a<(i=d.getRight())&&(a=i),h>(n=d.getTop())&&(h=n),c<(o=d.getBottom())&&(c=o)}return new l(s,h,a-s,c-h)},u.prototype.getInclusionTreeDepth=function(){return this==this.graphManager.getRoot()?1:this.parent.getInclusionTreeDepth()},u.prototype.getEstimatedSize=function(){if(this.estimatedSize==r.MIN_VALUE)throw"assert failed";return this.estimatedSize},u.prototype.calcEstimatedSize=function(){for(var t=0,e=this.nodes,i=e.length,n=0;n=this.nodes.length){var h=0;r.forEach((function(e){e.owner==t&&h++})),h==this.nodes.length&&(this.isConnected=!0)}}else this.isConnected=!0},t.exports=u},function(t,e,i){"use strict";var n,r=i(1);function o(t){n=i(5),this.layout=t,this.graphs=[],this.edges=[]}o.prototype.addRoot=function(){var t=this.layout.newGraph(),e=this.layout.newNode(null),i=this.add(t,e);return this.setRootGraph(i),this.rootGraph},o.prototype.add=function(t,e,i,n,r){if(null==i&&null==n&&null==r){if(null==t)throw"Graph is null!";if(null==e)throw"Parent node is null!";if(this.graphs.indexOf(t)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(t),null!=t.parent)throw"Already has a parent!";if(null!=e.child)throw"Already has a child!";return t.parent=e,e.child=t,t}r=i,i=t;var o=(n=e).getOwner(),s=r.getOwner();if(null==o||o.getGraphManager()!=this)throw"Source not in this graph mgr!";if(null==s||s.getGraphManager()!=this)throw"Target not in this graph mgr!";if(o==s)return i.isInterGraph=!1,o.add(i,n,r);if(i.isInterGraph=!0,i.source=n,i.target=r,this.edges.indexOf(i)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(i),null==i.source||null==i.target)throw"Edge source and/or target is null!";if(-1!=i.source.edges.indexOf(i)||-1!=i.target.edges.indexOf(i))throw"Edge already in source and/or target incidency list!";return i.source.edges.push(i),i.target.edges.push(i),i},o.prototype.remove=function(t){if(t instanceof n){var e=t;if(e.getGraphManager()!=this)throw"Graph not in this graph mgr";if(e!=this.rootGraph&&(null==e.parent||e.parent.graphManager!=this))throw"Invalid parent node!";for(var i,o=[],s=(o=o.concat(e.getEdges())).length,a=0;a=e.getRight()?i[0]+=Math.min(e.getX()-t.getX(),t.getRight()-e.getRight()):e.getX()<=t.getX()&&e.getRight()>=t.getRight()&&(i[0]+=Math.min(t.getX()-e.getX(),e.getRight()-t.getRight())),t.getY()<=e.getY()&&t.getBottom()>=e.getBottom()?i[1]+=Math.min(e.getY()-t.getY(),t.getBottom()-e.getBottom()):e.getY()<=t.getY()&&e.getBottom()>=t.getBottom()&&(i[1]+=Math.min(t.getY()-e.getY(),e.getBottom()-t.getBottom()));var o=Math.abs((e.getCenterY()-t.getCenterY())/(e.getCenterX()-t.getCenterX()));e.getCenterY()===t.getCenterY()&&e.getCenterX()===t.getCenterX()&&(o=1);var s=o*i[0],a=i[1]/o;i[0]s)return i[0]=n,i[1]=h,i[2]=o,i[3]=m,!1;if(ro)return i[0]=a,i[1]=r,i[2]=E,i[3]=s,!1;if(no?(i[0]=c,i[1]=g,L=!0):(i[0]=l,i[1]=h,L=!0):O===I&&(n>o?(i[0]=a,i[1]=h,L=!0):(i[0]=u,i[1]=g,L=!0)),-D===I?o>n?(i[2]=_,i[3]=m,T=!0):(i[2]=E,i[3]=y,T=!0):D===I&&(o>n?(i[2]=f,i[3]=y,T=!0):(i[2]=v,i[3]=m,T=!0)),L&&T)return!1;if(n>o?r>s?(w=this.getCardinalDirection(O,I,4),R=this.getCardinalDirection(D,I,2)):(w=this.getCardinalDirection(-O,I,3),R=this.getCardinalDirection(-D,I,1)):r>s?(w=this.getCardinalDirection(-O,I,1),R=this.getCardinalDirection(-D,I,3)):(w=this.getCardinalDirection(O,I,2),R=this.getCardinalDirection(D,I,4)),!L)switch(w){case 1:M=h,C=n+-p/I,i[0]=C,i[1]=M;break;case 2:C=u,M=r+d*I,i[0]=C,i[1]=M;break;case 3:M=g,C=n+p/I,i[0]=C,i[1]=M;break;case 4:C=c,M=r+-d*I,i[0]=C,i[1]=M}if(!T)switch(R){case 1:G=y,x=o+-A/I,i[2]=x,i[3]=G;break;case 2:x=v,G=s+N*I,i[2]=x,i[3]=G;break;case 3:G=m,x=o+A/I,i[2]=x,i[3]=G;break;case 4:x=_,G=s+-N*I,i[2]=x,i[3]=G}}return!1},r.getCardinalDirection=function(t,e,i){return t>e?i:1+i%4},r.getIntersection=function(t,e,i,r){if(null==r)return this.getIntersection2(t,e,i);var o,s,a,h,l,c,g,u=t.x,d=t.y,p=e.x,f=e.y,y=i.x,E=i.y,_=r.x,m=r.y;return 0==(g=(o=f-d)*(h=y-_)-(s=m-E)*(a=u-p))?null:new n((a*(c=_*E-y*m)-h*(l=p*d-u*f))/g,(s*l-o*c)/g)},r.angleOfVector=function(t,e,i,n){var r=void 0;return t!==i?(r=Math.atan((n-e)/(i-t)),i0?1:t<0?-1:0},n.floor=function(t){return t<0?Math.ceil(t):Math.floor(t)},n.ceil=function(t){return t<0?Math.floor(t):Math.ceil(t)},t.exports=n},function(t,e,i){"use strict";function n(){}n.MAX_VALUE=2147483647,n.MIN_VALUE=-2147483648,t.exports=n},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i=0;i0&&e;){for(a.push(l[0]);a.length>0&&e;){var c=a[0];a.splice(0,1),s.add(c);var g=c.getEdges();for(o=0;o-1&&l.splice(f,1)}s=new Set,h=new Map}else t=[]}return t},u.prototype.createDummyNodesForBendpoints=function(t){for(var e=[],i=t.source,n=this.graphManager.calcLowestCommonAncestor(t.source,t.target),r=0;r0){for(var r=this.edgeToDummyNodes.get(i),o=0;o=0&&e.splice(g,1),c.getNeighborsList().forEach((function(t){if(i.indexOf(t)<0){var e=n.get(t)-1;1==e&&h.push(t),n.set(t,e)}}))}i=i.concat(h),1!=e.length&&2!=e.length||(r=!0,o=e[0])}return o},u.prototype.setGraphManager=function(t){this.graphManager=t},t.exports=u},function(t,e,i){"use strict";function n(){}n.seed=1,n.x=0,n.nextDouble=function(){return n.x=1e4*Math.sin(n.seed++),n.x-Math.floor(n.x)},t.exports=n},function(t,e,i){"use strict";var n=i(4);function r(t,e){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}r.prototype.getWorldOrgX=function(){return this.lworldOrgX},r.prototype.setWorldOrgX=function(t){this.lworldOrgX=t},r.prototype.getWorldOrgY=function(){return this.lworldOrgY},r.prototype.setWorldOrgY=function(t){this.lworldOrgY=t},r.prototype.getWorldExtX=function(){return this.lworldExtX},r.prototype.setWorldExtX=function(t){this.lworldExtX=t},r.prototype.getWorldExtY=function(){return this.lworldExtY},r.prototype.setWorldExtY=function(t){this.lworldExtY=t},r.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},r.prototype.setDeviceOrgX=function(t){this.ldeviceOrgX=t},r.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},r.prototype.setDeviceOrgY=function(t){this.ldeviceOrgY=t},r.prototype.getDeviceExtX=function(){return this.ldeviceExtX},r.prototype.setDeviceExtX=function(t){this.ldeviceExtX=t},r.prototype.getDeviceExtY=function(){return this.ldeviceExtY},r.prototype.setDeviceExtY=function(t){this.ldeviceExtY=t},r.prototype.transformX=function(t){var e=0,i=this.lworldExtX;return 0!=i&&(e=this.ldeviceOrgX+(t-this.lworldOrgX)*this.ldeviceExtX/i),e},r.prototype.transformY=function(t){var e=0,i=this.lworldExtY;return 0!=i&&(e=this.ldeviceOrgY+(t-this.lworldOrgY)*this.ldeviceExtY/i),e},r.prototype.inverseTransformX=function(t){var e=0,i=this.ldeviceExtX;return 0!=i&&(e=this.lworldOrgX+(t-this.ldeviceOrgX)*this.lworldExtX/i),e},r.prototype.inverseTransformY=function(t){var e=0,i=this.ldeviceExtY;return 0!=i&&(e=this.lworldOrgY+(t-this.ldeviceOrgY)*this.lworldExtY/i),e},r.prototype.inverseTransformPoint=function(t){return new n(this.inverseTransformX(t.x),this.inverseTransformY(t.y))},t.exports=r},function(t,e,i){"use strict";var n=i(15),r=i(7),o=i(0),s=i(8),a=i(9);function h(){n.call(this),this.useSmartIdealEdgeLengthCalculation=r.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.idealEdgeLength=r.DEFAULT_EDGE_LENGTH,this.springConstant=r.DEFAULT_SPRING_STRENGTH,this.repulsionConstant=r.DEFAULT_REPULSION_STRENGTH,this.gravityConstant=r.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=r.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=r.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=r.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.displacementThresholdPerNode=3*r.DEFAULT_EDGE_LENGTH/100,this.coolingFactor=r.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.initialCoolingFactor=r.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.totalDisplacement=0,this.oldTotalDisplacement=0,this.maxIterations=r.MAX_ITERATIONS}for(var l in h.prototype=Object.create(n.prototype),n)h[l]=n[l];h.prototype.initParameters=function(){n.prototype.initParameters.call(this,arguments),this.totalIterations=0,this.notAnimatedIterations=0,this.useFRGridVariant=r.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION,this.grid=[]},h.prototype.calcIdealEdgeLengths=function(){for(var t,e,i,n,s,a,h=this.getGraphManager().getAllEdges(),l=0;lr.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*r.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(t-r.ADAPTATION_LOWER_NODE_LIMIT)/(r.ADAPTATION_UPPER_NODE_LIMIT-r.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-r.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=r.MAX_NODE_DISPLACEMENT_INCREMENTAL):(t>r.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(r.COOLING_ADAPTATION_FACTOR,1-(t-r.ADAPTATION_LOWER_NODE_LIMIT)/(r.ADAPTATION_UPPER_NODE_LIMIT-r.ADAPTATION_LOWER_NODE_LIMIT)*(1-r.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=r.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(5*this.getAllNodes().length,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},h.prototype.calcSpringForces=function(){for(var t,e=this.getAllEdges(),i=0;i0&&void 0!==arguments[0])||arguments[0],a=arguments.length>1&&void 0!==arguments[1]&&arguments[1],h=this.getAllNodes();if(this.useFRGridVariant)for(this.totalIterations%r.GRID_CALCULATION_CHECK_PERIOD==1&&s&&this.updateGrid(),o=new Set,t=0;t(h=e.getEstimatedSize()*this.gravityRangeFactor)||a>h)&&(t.gravitationForceX=-this.gravityConstant*r,t.gravitationForceY=-this.gravityConstant*o):(s>(h=e.getEstimatedSize()*this.compoundGravityRangeFactor)||a>h)&&(t.gravitationForceX=-this.gravityConstant*r*this.compoundGravityConstant,t.gravitationForceY=-this.gravityConstant*o*this.compoundGravityConstant)},h.prototype.isConverged=function(){var t,e=!1;return this.totalIterations>this.maxIterations/3&&(e=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),t=this.totalDisplacement=a.length||l>=a[0].length))for(var c=0;ct}}]),t}();t.exports=o},function(t,e,i){"use strict";var n=function(){function t(t,e){for(var i=0;i2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-1,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:-1;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.sequence1=e,this.sequence2=i,this.match_score=n,this.mismatch_penalty=r,this.gap_penalty=o,this.iMax=e.length+1,this.jMax=i.length+1,this.grid=new Array(this.iMax);for(var s=0;s=0;i--){var n=this.listeners[i];n.event===t&&n.callback===e&&this.listeners.splice(i,1)}},r.emit=function(t,e){for(var i=0;i{"use strict";i.d(e,{diagram:()=>X});var n=i(6058),r=i(8159),o=i(7286),s=i(9502),a=i(165),h=i(3457),l=i(4852),c=i(5097),g=i(8041),u=i(5263),d=function(){var t=(0,s.K2)((function(t,e,i,n){for(i=i||{},n=t.length;n--;i[t[n]]=e);return i}),"o"),e=[1,4],i=[1,13],n=[1,12],r=[1,15],o=[1,16],a=[1,20],h=[1,19],l=[6,7,8],c=[1,26],g=[1,24],u=[1,25],d=[6,7,11],p=[1,6,13,15,16,19,22],f=[1,33],y=[1,34],E=[1,6,7,11,13,15,16,19,22],_={trace:(0,s.K2)((function(){}),"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:(0,s.K2)((function(t,e,i,n,r,o,s){var a=o.length-1;switch(r){case 6:case 7:return n;case 8:n.getLogger().trace("Stop NL ");break;case 9:n.getLogger().trace("Stop EOF ");break;case 11:n.getLogger().trace("Stop NL2 ");break;case 12:n.getLogger().trace("Stop EOF2 ");break;case 15:n.getLogger().info("Node: ",o[a].id),n.addNode(o[a-1].length,o[a].id,o[a].descr,o[a].type);break;case 16:n.getLogger().trace("Icon: ",o[a]),n.decorateNode({icon:o[a]});break;case 17:case 21:n.decorateNode({class:o[a]});break;case 18:n.getLogger().trace("SPACELIST");break;case 19:n.getLogger().trace("Node: ",o[a].id),n.addNode(0,o[a].id,o[a].descr,o[a].type);break;case 20:n.decorateNode({icon:o[a]});break;case 25:n.getLogger().trace("node found ..",o[a-2]),this.$={id:o[a-1],descr:o[a-1],type:n.getType(o[a-2],o[a])};break;case 26:this.$={id:o[a],descr:o[a],type:n.nodeType.DEFAULT};break;case 27:n.getLogger().trace("node found ..",o[a-3]),this.$={id:o[a-3],descr:o[a-1],type:n.getType(o[a-2],o[a])}}}),"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:i,7:[1,10],9:9,12:11,13:n,14:14,15:r,16:o,17:17,18:18,19:a,22:h},t(l,[2,3]),{1:[2,2]},t(l,[2,4]),t(l,[2,5]),{1:[2,6],6:i,12:21,13:n,14:14,15:r,16:o,17:17,18:18,19:a,22:h},{6:i,9:22,12:11,13:n,14:14,15:r,16:o,17:17,18:18,19:a,22:h},{6:c,7:g,10:23,11:u},t(d,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:a,22:h}),t(d,[2,18]),t(d,[2,19]),t(d,[2,20]),t(d,[2,21]),t(d,[2,23]),t(d,[2,24]),t(d,[2,26],{19:[1,30]}),{20:[1,31]},{6:c,7:g,10:32,11:u},{1:[2,7],6:i,12:21,13:n,14:14,15:r,16:o,17:17,18:18,19:a,22:h},t(p,[2,14],{7:f,11:y}),t(E,[2,8]),t(E,[2,9]),t(E,[2,10]),t(d,[2,15]),t(d,[2,16]),t(d,[2,17]),{20:[1,35]},{21:[1,36]},t(p,[2,13],{7:f,11:y}),t(E,[2,11]),t(E,[2,12]),{21:[1,37]},t(d,[2,25]),t(d,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:(0,s.K2)((function(t,e){if(!e.recoverable){var i=new Error(t);throw i.hash=e,i}this.trace(t)}),"parseError"),parse:(0,s.K2)((function(t){var e=this,i=[0],n=[],r=[null],o=[],a=this.table,h="",l=0,c=0,g=0,u=o.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(p.yy[f]=this.yy[f]);d.setInput(t,p.yy),p.yy.lexer=d,p.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var y=d.yylloc;o.push(y);var E=d.options&&d.options.ranges;function _(){var t;return"number"!=typeof(t=n.pop()||d.lex()||1)&&(t instanceof Array&&(t=(n=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,s.K2)((function(t){i.length=i.length-2*t,r.length=r.length-t,o.length=o.length-t}),"popStack"),(0,s.K2)(_,"lex");for(var m,v,N,A,L,T,O,D,I,w={};;){if(N=i[i.length-1],this.defaultActions[N]?A=this.defaultActions[N]:(null==m&&(m=_()),A=a[N]&&a[N][m]),void 0===A||!A.length||!A[0]){var R;for(T in I=[],a[N])this.terminals_[T]&&T>2&&I.push("'"+this.terminals_[T]+"'");R=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+I.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(R,{text:d.match,token:this.terminals_[m]||m,line:d.yylineno,loc:y,expected:I})}if(A[0]instanceof Array&&A.length>1)throw new Error("Parse Error: multiple actions possible at state: "+N+", token: "+m);switch(A[0]){case 1:i.push(m),r.push(d.yytext),o.push(d.yylloc),i.push(A[1]),m=null,v?(m=v,v=null):(c=d.yyleng,h=d.yytext,l=d.yylineno,y=d.yylloc,g>0&&g--);break;case 2:if(O=this.productions_[A[1]][1],w.$=r[r.length-O],w._$={first_line:o[o.length-(O||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(O||1)].first_column,last_column:o[o.length-1].last_column},E&&(w._$.range=[o[o.length-(O||1)].range[0],o[o.length-1].range[1]]),void 0!==(L=this.performAction.apply(w,[h,c,l,p.yy,A[1],r,o].concat(u))))return L;O&&(i=i.slice(0,-1*O*2),r=r.slice(0,-1*O),o=o.slice(0,-1*O)),i.push(this.productions_[A[1]][0]),r.push(w.$),o.push(w._$),D=a[i[i.length-2]][i[i.length-1]],i.push(D);break;case 3:return!0}}return!0}),"parse")},m=function(){return{EOF:1,parseError:(0,s.K2)((function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)}),"parseError"),setInput:(0,s.K2)((function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this}),"setInput"),input:(0,s.K2)((function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t}),"input"),unput:(0,s.K2)((function(t){var e=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===n.length?this.yylloc.first_column:0)+n[n.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this}),"unput"),more:(0,s.K2)((function(){return this._more=!0,this}),"more"),reject:(0,s.K2)((function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"reject"),less:(0,s.K2)((function(t){this.unput(this.match.slice(t))}),"less"),pastInput:(0,s.K2)((function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")}),"pastInput"),upcomingInput:(0,s.K2)((function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")}),"upcomingInput"),showPosition:(0,s.K2)((function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"}),"showPosition"),test_match:(0,s.K2)((function(t,e){var i,n,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(n=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack){for(var o in r)this[o]=r[o];return!1}return!1}),"test_match"),next:(0,s.K2)((function(){if(this.done)return this.EOF;var t,e,i,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),o=0;oe[0].length)){if(e=i,n=o,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,r[o])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[n]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"next"),lex:(0,s.K2)((function(){return this.next()||this.lex()}),"lex"),begin:(0,s.K2)((function(t){this.conditionStack.push(t)}),"begin"),popState:(0,s.K2)((function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]}),"popState"),_currentRules:(0,s.K2)((function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules}),"_currentRules"),topState:(0,s.K2)((function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"}),"topState"),pushState:(0,s.K2)((function(t){this.begin(t)}),"pushState"),stateStackSize:(0,s.K2)((function(){return this.conditionStack.length}),"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,s.K2)((function(t,e,i,n){switch(i){case 0:return t.getLogger().trace("Found comment",e.yytext),6;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;case 4:case 23:case 26:this.popState();break;case 5:t.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return t.getLogger().trace("SPACELINE"),6;case 7:return 7;case 8:return 15;case 9:t.getLogger().trace("end icon"),this.popState();break;case 10:return t.getLogger().trace("Exploding node"),this.begin("NODE"),19;case 11:return t.getLogger().trace("Cloud"),this.begin("NODE"),19;case 12:return t.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;case 13:return t.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;case 14:case 15:case 16:case 17:return this.begin("NODE"),19;case 18:return 13;case 19:return 22;case 20:return 11;case 21:this.begin("NSTR2");break;case 22:return"NODE_DESCR";case 24:t.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return t.getLogger().trace("description:",e.yytext),"NODE_DESCR";case 27:return this.popState(),t.getLogger().trace("node end ))"),"NODE_DEND";case 28:return this.popState(),t.getLogger().trace("node end )"),"NODE_DEND";case 29:return this.popState(),t.getLogger().trace("node end ...",e.yytext),"NODE_DEND";case 30:case 33:case 34:return this.popState(),t.getLogger().trace("node end (("),"NODE_DEND";case 31:case 32:return this.popState(),t.getLogger().trace("node end (-"),"NODE_DEND";case 35:case 36:return t.getLogger().trace("Long description:",e.yytext),20}}),"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR2:{rules:[22,23],inclusive:!1},NSTR:{rules:[25,26],inclusive:!1},NODE:{rules:[21,24,27,28,29,30,31,32,33,34,35,36],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}}}();function v(){this.yy={}}return _.lexer=m,(0,s.K2)(v,"Parser"),v.prototype=_,_.Parser=v,new v}();d.parser=d;var p=d,f=[],y=0,E={},_=(0,s.K2)((()=>{f=[],y=0,E={}}),"clear"),m=(0,s.K2)((function(t){for(let e=f.length-1;e>=0;e--)if(f[e].levelf.length>0?f[0]:null),"getMindmap"),N=(0,s.K2)(((t,e,i,n)=>{s.Rm.info("addNode",t,e,i,n);const r=(0,s.D7)();let o=r.mindmap?.padding??s.UI.mindmap.padding;switch(n){case A.ROUNDED_RECT:case A.RECT:case A.HEXAGON:o*=2}const a={id:y++,nodeId:(0,s.jZ)(e,r),level:t,descr:(0,s.jZ)(i,r),type:n,children:[],width:r.mindmap?.maxNodeWidth??s.UI.mindmap.maxNodeWidth,padding:o},h=m(t);if(h)h.children.push(a),f.push(a);else{if(0!==f.length)throw new Error('There can be only one root. No parent could be found for ("'+a.descr+'")');f.push(a)}}),"addNode"),A={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},L={clear:_,addNode:N,getMindmap:v,nodeType:A,getType:(0,s.K2)(((t,e)=>{switch(s.Rm.debug("In get type",t,e),t){case"[":return A.RECT;case"(":return")"===e?A.ROUNDED_RECT:A.CLOUD;case"((":return A.CIRCLE;case")":return A.CLOUD;case"))":return A.BANG;case"{{":return A.HEXAGON;default:return A.DEFAULT}}),"getType"),setElementForId:(0,s.K2)(((t,e)=>{E[t]=e}),"setElementForId"),decorateNode:(0,s.K2)((t=>{if(!t)return;const e=(0,s.D7)(),i=f[f.length-1];t.icon&&(i.icon=(0,s.jZ)(t.icon,e)),t.class&&(i.class=(0,s.jZ)(t.class,e))}),"decorateNode"),type2Str:(0,s.K2)((t=>{switch(t){case A.DEFAULT:return"no-border";case A.RECT:return"rect";case A.ROUNDED_RECT:return"rounded-rect";case A.CIRCLE:return"circle";case A.CLOUD:return"cloud";case A.BANG:return"bang";case A.HEXAGON:return"hexgon";default:return"no-border"}}),"type2Str"),getLogger:(0,s.K2)((()=>s.Rm),"getLogger"),getElementById:(0,s.K2)((t=>E[t]),"getElementById")},T=(0,s.K2)((function(t,e,i,n){e.append("path").attr("id","node-"+i.id).attr("class","node-bkg node-"+t.type2Str(i.type)).attr("d",`M0 ${i.height-5} v${10-i.height} q0,-5 5,-5 h${i.width-10} q5,0 5,5 v${i.height-5} H0 Z`),e.append("line").attr("class","node-line-"+n).attr("x1",0).attr("y1",i.height).attr("x2",i.width).attr("y2",i.height)}),"defaultBkg"),O=(0,s.K2)((function(t,e,i){e.append("rect").attr("id","node-"+i.id).attr("class","node-bkg node-"+t.type2Str(i.type)).attr("height",i.height).attr("width",i.width)}),"rectBkg"),D=(0,s.K2)((function(t,e,i){const n=i.width,r=i.height,o=.15*n,s=.25*n,a=.35*n,h=.2*n;e.append("path").attr("id","node-"+i.id).attr("class","node-bkg node-"+t.type2Str(i.type)).attr("d",`M0 0 a${o},${o} 0 0,1 ${.25*n},${-1*n*.1}\n a${a},${a} 1 0,1 ${.4*n},${-1*n*.1}\n a${s},${s} 1 0,1 ${.35*n},${1*n*.2}\n\n a${o},${o} 1 0,1 ${.15*n},${1*r*.35}\n a${h},${h} 1 0,1 ${-1*n*.15},${1*r*.65}\n\n a${s},${o} 1 0,1 ${-1*n*.25},${.15*n}\n a${a},${a} 1 0,1 ${-1*n*.5},0\n a${o},${o} 1 0,1 ${-1*n*.25},${-1*n*.15}\n\n a${o},${o} 1 0,1 ${-1*n*.1},${-1*r*.35}\n a${h},${h} 1 0,1 ${.1*n},${-1*r*.65}\n\n H0 V0 Z`)}),"cloudBkg"),I=(0,s.K2)((function(t,e,i){const n=i.width,r=i.height,o=.15*n;e.append("path").attr("id","node-"+i.id).attr("class","node-bkg node-"+t.type2Str(i.type)).attr("d",`M0 0 a${o},${o} 1 0,0 ${.25*n},${-1*r*.1}\n a${o},${o} 1 0,0 ${.25*n},0\n a${o},${o} 1 0,0 ${.25*n},0\n a${o},${o} 1 0,0 ${.25*n},${1*r*.1}\n\n a${o},${o} 1 0,0 ${.15*n},${1*r*.33}\n a${.8*o},${.8*o} 1 0,0 0,${1*r*.34}\n a${o},${o} 1 0,0 ${-1*n*.15},${1*r*.33}\n\n a${o},${o} 1 0,0 ${-1*n*.25},${.15*r}\n a${o},${o} 1 0,0 ${-1*n*.25},0\n a${o},${o} 1 0,0 ${-1*n*.25},0\n a${o},${o} 1 0,0 ${-1*n*.25},${-1*r*.15}\n\n a${o},${o} 1 0,0 ${-1*n*.1},${-1*r*.33}\n a${.8*o},${.8*o} 1 0,0 0,${-1*r*.34}\n a${o},${o} 1 0,0 ${.1*n},${-1*r*.33}\n\n H0 V0 Z`)}),"bangBkg"),w=(0,s.K2)((function(t,e,i){e.append("circle").attr("id","node-"+i.id).attr("class","node-bkg node-"+t.type2Str(i.type)).attr("r",i.width/2)}),"circleBkg");function R(t,e,i,n,r){return t.insert("polygon",":first-child").attr("points",n.map((function(t){return t.x+","+t.y})).join(" ")).attr("transform","translate("+(r.width-e)/2+", "+i+")")}(0,s.K2)(R,"insertPolygonShape");var C=(0,s.K2)((function(t,e,i){const n=i.height,r=n/4,o=i.width-i.padding+2*r;R(e,o,n,[{x:r,y:0},{x:o-r,y:0},{x:o,y:-n/2},{x:o-r,y:-n},{x:r,y:-n},{x:0,y:-n/2}],i)}),"hexagonBkg"),M=(0,s.K2)((function(t,e,i){e.append("rect").attr("id","node-"+i.id).attr("class","node-bkg node-"+t.type2Str(i.type)).attr("height",i.height).attr("rx",i.padding).attr("ry",i.padding).attr("width",i.width)}),"roundedRectBkg"),x=(0,s.K2)((async function(t,e,i,o,s){const a=s.htmlLabels,h=o%11,l=e.append("g");i.section=h;let c="section-"+h;h<0&&(c+=" section-root"),l.attr("class",(i.class?i.class+" ":"")+"mindmap-node "+c);const g=l.append("g"),u=l.append("g"),d=i.descr.replace(/()/g,"\n");await(0,n.GZ)(u,d,{useHtmlLabels:a,width:i.width,classes:"mindmap-node-label"},s),a||u.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle");const p=u.node().getBBox(),[f]=(0,r.I5)(s.fontSize);if(i.height=p.height+1.1*f*.5+i.padding,i.width=p.width+2*i.padding,i.icon)if(i.type===t.nodeType.CIRCLE)i.height+=50,i.width+=50,l.append("foreignObject").attr("height","50px").attr("width",i.width).attr("style","text-align: center;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+h+" "+i.icon),u.attr("transform","translate("+i.width/2+", "+(i.height/2-1.5*i.padding)+")");else{i.width+=50;const t=i.height;i.height=Math.max(t,60);const e=Math.abs(i.height-t);l.append("foreignObject").attr("width","60px").attr("height",i.height).attr("style","text-align: center;margin-top:"+e/2+"px;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+h+" "+i.icon),u.attr("transform","translate("+(25+i.width/2)+", "+(e/2+i.padding/2)+")")}else if(a){const t=(i.width-p.width)/2,e=(i.height-p.height)/2;u.attr("transform","translate("+t+", "+e+")")}else{const t=i.width/2,e=i.padding/2;u.attr("transform","translate("+t+", "+e+")")}switch(i.type){case t.nodeType.DEFAULT:T(t,g,i,h);break;case t.nodeType.ROUNDED_RECT:M(t,g,i,h);break;case t.nodeType.RECT:O(t,g,i,h);break;case t.nodeType.CIRCLE:g.attr("transform","translate("+i.width/2+", "+ +i.height/2+")"),w(t,g,i,h);break;case t.nodeType.CLOUD:D(t,g,i,h);break;case t.nodeType.BANG:I(t,g,i,h);break;case t.nodeType.HEXAGON:C(t,g,i,h)}return t.setElementForId(i.id,l),i.height}),"drawNode"),G=(0,s.K2)((function(t,e){const i=t.getElementById(e.id),n=e.x||0,r=e.y||0;i.attr("transform","translate("+n+","+r+")")}),"positionNode");async function S(t,e,i,n,r){await x(t,e,i,n,r),i.children&&await Promise.all(i.children.map(((i,o)=>S(t,e,i,n<0?o:n,r))))}function b(t,e){e.edges().map(((e,i)=>{const n=e.data();if(e[0]._private.bodyBounds){const r=e[0]._private.rscratch;s.Rm.trace("Edge: ",i,n),t.insert("path").attr("d",`M ${r.startX},${r.startY} L ${r.midX},${r.midY} L${r.endX},${r.endY} `).attr("class","edge section-edge-"+n.section+" edge-depth-"+n.depth)}}))}function F(t,e,i,n){e.add({group:"nodes",data:{id:t.id.toString(),labelText:t.descr,height:t.height,width:t.width,level:n,nodeId:t.id,padding:t.padding,type:t.type},position:{x:t.x,y:t.y}}),t.children&&t.children.forEach((r=>{F(r,e,i,n+1),e.add({group:"edges",data:{id:`${t.id}_${r.id}`,source:t.id,target:r.id,depth:n,section:r.section}})}))}function P(t,e){return new Promise((i=>{const n=(0,l.Ltv)("body").append("div").attr("id","cy").attr("style","display:none"),r=(0,a.A)({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});n.remove(),F(t,r,e,0),r.nodes().forEach((function(t){t.layoutDimensions=()=>{const e=t.data();return{w:e.width,h:e.height}}})),r.layout({name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1}).run(),r.ready((t=>{s.Rm.info("Ready",t),i(r)}))}))}function U(t,e){e.nodes().map(((e,i)=>{const n=e.data();n.x=e.position().x,n.y=e.position().y,G(t,n);const r=t.getElementById(n.nodeId);s.Rm.info("Id:",i,"Position: (",e.position().x,", ",e.position().y,")",n),r.attr("transform",`translate(${e.position().x-n.width/2}, ${e.position().y-n.height/2})`),r.attr("attr",`apa-${i})`)}))}a.A.use(h),(0,s.K2)(S,"drawNodes"),(0,s.K2)(b,"drawEdges"),(0,s.K2)(F,"addNodes"),(0,s.K2)(P,"layoutMindmap"),(0,s.K2)(U,"positionNodes");var k={draw:(0,s.K2)((async(t,e,i,n)=>{s.Rm.debug("Rendering mindmap diagram\n"+t);const r=n.db,a=r.getMindmap();if(!a)return;const h=(0,s.D7)();h.htmlLabels=!1;const l=(0,o.D)(e),c=l.append("g");c.attr("class","mindmap-edges");const g=l.append("g");g.attr("class","mindmap-nodes"),await S(r,g,a,-1,h);const u=await P(a,h);b(c,u),U(r,u),(0,s.ot)(void 0,l,h.mindmap?.padding??s.UI.mindmap.padding,h.mindmap?.useMaxWidth??s.UI.mindmap.useMaxWidth)}),"draw")},Y=(0,s.K2)((t=>{let e="";for(let e=0;e`\n .edge {\n stroke-width: 3;\n }\n ${Y(t)}\n .section-root rect, .section-root path, .section-root circle, .section-root polygon {\n fill: ${t.git0};\n }\n .section-root text {\n fill: ${t.gitBranchLabel0};\n }\n .icon-container {\n height:100%;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .edge {\n fill: none;\n }\n .mindmap-node-label {\n dy: 1em;\n alignment-baseline: middle;\n text-anchor: middle;\n dominant-baseline: middle;\n text-align: center;\n }\n`),"getStyles")}}}]); \ No newline at end of file diff --git a/docs/hugo/public/js/387-3546ecdc.chunk.min.js b/docs/hugo/public/js/387-3546ecdc.chunk.min.js new file mode 100644 index 000000000..75d1a6008 --- /dev/null +++ b/docs/hugo/public/js/387-3546ecdc.chunk.min.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgeekdoc=self.webpackChunkgeekdoc||[]).push([[387],{2387:(e,c,k)=>{k.d(c,{createGitGraphServices:()=>s.b});var s=k(2785);k(9369)}}]); \ No newline at end of file diff --git a/docs/hugo/public/js/391-549a9d24.chunk.min.js b/docs/hugo/public/js/391-549a9d24.chunk.min.js new file mode 100644 index 000000000..f2cac2c87 --- /dev/null +++ b/docs/hugo/public/js/391-549a9d24.chunk.min.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgeekdoc=self.webpackChunkgeekdoc||[]).push([[391],{391:(e,r,s)=>{s.d(r,{diagram:()=>l});var a=s(6240),c=(s(6474),s(7308),s(7938),s(1282),s(1099),s(7588),s(3115),s(6058),s(8159),s(9502)),l={parser:a._$,db:a.z2,renderer:a.Lh,styles:a.tM,init:(0,c.K2)((e=>{e.class||(e.class={}),e.class.arrowMarkerAbsolute=e.arrowMarkerAbsolute,a.z2.clear()}),"init")}}}]); \ No newline at end of file diff --git a/docs/hugo/public/js/410-3bccc12d.chunk.min.js b/docs/hugo/public/js/410-3bccc12d.chunk.min.js new file mode 100644 index 000000000..3c6c8dc20 --- /dev/null +++ b/docs/hugo/public/js/410-3bccc12d.chunk.min.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgeekdoc=self.webpackChunkgeekdoc||[]).push([[410],{1471:(t,e,r)=>{r.d(e,{T:()=>f});var s=r(9142),a=r(9610),i=r(5041),n=r(4092),o=r(6401),l=r(8058),c=r(9592),d=r(7671),h=r(4326),g=r(7371),u=r(3533);const p=(0,h.A)((function(t){return(0,g.A)((0,d.A)(t,1,u.A,!0))}));var y=r(2866),b=r(3130),x="\0";class f{constructor(t={}){this._isDirected=!Object.prototype.hasOwnProperty.call(t,"directed")||t.directed,this._isMultigraph=!!Object.prototype.hasOwnProperty.call(t,"multigraph")&&t.multigraph,this._isCompound=!!Object.prototype.hasOwnProperty.call(t,"compound")&&t.compound,this._label=void 0,this._defaultNodeLabelFn=s.A(void 0),this._defaultEdgeLabelFn=s.A(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[x]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(t){return this._label=t,this}graph(){return this._label}setDefaultNodeLabel(t){return a.A(t)||(t=s.A(t)),this._defaultNodeLabelFn=t,this}nodeCount(){return this._nodeCount}nodes(){return i.A(this._nodes)}sources(){var t=this;return n.A(this.nodes(),(function(e){return o.A(t._in[e])}))}sinks(){var t=this;return n.A(this.nodes(),(function(e){return o.A(t._out[e])}))}setNodes(t,e){var r=arguments,s=this;return l.A(t,(function(t){r.length>1?s.setNode(t,e):s.setNode(t)})),this}setNode(t,e){return Object.prototype.hasOwnProperty.call(this._nodes,t)?(arguments.length>1&&(this._nodes[t]=e),this):(this._nodes[t]=arguments.length>1?e:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]=x,this._children[t]={},this._children[x][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)}node(t){return this._nodes[t]}hasNode(t){return Object.prototype.hasOwnProperty.call(this._nodes,t)}removeNode(t){if(Object.prototype.hasOwnProperty.call(this._nodes,t)){var e=t=>this.removeEdge(this._edgeObjs[t]);delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],l.A(this.children(t),(t=>{this.setParent(t)})),delete this._children[t]),l.A(i.A(this._in[t]),e),delete this._in[t],delete this._preds[t],l.A(i.A(this._out[t]),e),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this}setParent(t,e){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(c.A(e))e=x;else{for(var r=e+="";!c.A(r);r=this.parent(r))if(r===t)throw new Error("Setting "+e+" as parent of "+t+" would create a cycle");this.setNode(e)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=e,this._children[e][t]=!0,this}_removeFromParentsChildList(t){delete this._children[this._parent[t]][t]}parent(t){if(this._isCompound){var e=this._parent[t];if(e!==x)return e}}children(t){if(c.A(t)&&(t=x),this._isCompound){var e=this._children[t];if(e)return i.A(e)}else{if(t===x)return this.nodes();if(this.hasNode(t))return[]}}predecessors(t){var e=this._preds[t];if(e)return i.A(e)}successors(t){var e=this._sucs[t];if(e)return i.A(e)}neighbors(t){var e=this.predecessors(t);if(e)return p(e,this.successors(t))}isLeaf(t){return 0===(this.isDirected()?this.successors(t):this.neighbors(t)).length}filterNodes(t){var e=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});e.setGraph(this.graph());var r=this;l.A(this._nodes,(function(r,s){t(s)&&e.setNode(s,r)})),l.A(this._edgeObjs,(function(t){e.hasNode(t.v)&&e.hasNode(t.w)&&e.setEdge(t,r.edge(t))}));var s={};function a(t){var i=r.parent(t);return void 0===i||e.hasNode(i)?(s[t]=i,i):i in s?s[i]:a(i)}return this._isCompound&&l.A(e.nodes(),(function(t){e.setParent(t,a(t))})),e}setDefaultEdgeLabel(t){return a.A(t)||(t=s.A(t)),this._defaultEdgeLabelFn=t,this}edgeCount(){return this._edgeCount}edges(){return y.A(this._edgeObjs)}setPath(t,e){var r=this,s=arguments;return b.A(t,(function(t,a){return s.length>1?r.setEdge(t,a,e):r.setEdge(t,a),a})),this}setEdge(){var t,e,r,s,a=!1,i=arguments[0];"object"==typeof i&&null!==i&&"v"in i?(t=i.v,e=i.w,r=i.name,2===arguments.length&&(s=arguments[1],a=!0)):(t=i,e=arguments[1],r=arguments[3],arguments.length>2&&(s=arguments[2],a=!0)),t=""+t,e=""+e,c.A(r)||(r=""+r);var n=_(this._isDirected,t,e,r);if(Object.prototype.hasOwnProperty.call(this._edgeLabels,n))return a&&(this._edgeLabels[n]=s),this;if(!c.A(r)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(t),this.setNode(e),this._edgeLabels[n]=a?s:this._defaultEdgeLabelFn(t,e,r);var o=function(t,e,r,s){var a=""+e,i=""+r;if(!t&&a>i){var n=a;a=i,i=n}var o={v:a,w:i};return s&&(o.name=s),o}(this._isDirected,t,e,r);return t=o.v,e=o.w,Object.freeze(o),this._edgeObjs[n]=o,m(this._preds[e],t),m(this._sucs[t],e),this._in[e][n]=o,this._out[t][n]=o,this._edgeCount++,this}edge(t,e,r){var s=1===arguments.length?L(this._isDirected,arguments[0]):_(this._isDirected,t,e,r);return this._edgeLabels[s]}hasEdge(t,e,r){var s=1===arguments.length?L(this._isDirected,arguments[0]):_(this._isDirected,t,e,r);return Object.prototype.hasOwnProperty.call(this._edgeLabels,s)}removeEdge(t,e,r){var s=1===arguments.length?L(this._isDirected,arguments[0]):_(this._isDirected,t,e,r),a=this._edgeObjs[s];return a&&(t=a.v,e=a.w,delete this._edgeLabels[s],delete this._edgeObjs[s],w(this._preds[e],t),w(this._sucs[t],e),delete this._in[e][s],delete this._out[t][s],this._edgeCount--),this}inEdges(t,e){var r=this._in[t];if(r){var s=y.A(r);return e?n.A(s,(function(t){return t.v===e})):s}}outEdges(t,e){var r=this._out[t];if(r){var s=y.A(r);return e?n.A(s,(function(t){return t.w===e})):s}}nodeEdges(t,e){var r=this.inEdges(t,e);if(r)return r.concat(this.outEdges(t,e))}}function m(t,e){t[e]?t[e]++:t[e]=1}function w(t,e){--t[e]||delete t[e]}function _(t,e,r,s){var a=""+e,i=""+r;if(!t&&a>i){var n=a;a=i,i=n}return a+""+i+""+(c.A(s)?"\0":s)}function L(t,e){return _(t,e.v,e.w,e.name)}f.prototype._nodeCount=0,f.prototype._edgeCount=0},697:(t,e,r)=>{r.d(e,{T:()=>s.T});var s=r(1471)},5937:(t,e,r)=>{r.d(e,{A:()=>i});var s=r(6309),a=r(1931);const i=(t,e)=>s.A.lang.round(a.A.parse(t)[e])},53:(t,e,r)=>{r.d(e,{A:()=>a});var s=r(4507);const a=function(t){return(0,s.A)(t,4)}},172:(t,e,r)=>{r.d(e,{diagram:()=>fe});var s=r(7588),a=r(3115),i=r(6058),n=r(8159),o=r(9502),l=r(53),c=r(5937),d=r(5582),h=r(4852),g=r(697),u=function(){var t=(0,o.K2)((function(t,e,r,s){for(r=r||{},s=t.length;s--;r[t[s]]=e);return r}),"o"),e=[1,7],r=[1,13],s=[1,14],a=[1,15],i=[1,19],n=[1,16],l=[1,17],c=[1,18],d=[8,30],h=[8,21,28,29,30,31,32,40,44,47],g=[1,23],u=[1,24],p=[8,15,16,21,28,29,30,31,32,40,44,47],y=[8,15,16,21,27,28,29,30,31,32,40,44,47],b=[1,49],x={trace:(0,o.K2)((function(){}),"trace"),yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,block:31,NODE_ID:32,nodeShapeNLabel:33,dirList:34,DIR:35,NODE_DSTART:36,NODE_DEND:37,BLOCK_ARROW_START:38,BLOCK_ARROW_END:39,classDef:40,CLASSDEF_ID:41,CLASSDEF_STYLEOPTS:42,DEFAULT:43,class:44,CLASSENTITY_IDS:45,STYLECLASS:46,style:47,STYLE_ENTITY_IDS:48,STYLE_DEFINITION_DATA:49,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"block",32:"NODE_ID",35:"DIR",36:"NODE_DSTART",37:"NODE_DEND",38:"BLOCK_ARROW_START",39:"BLOCK_ARROW_END",40:"classDef",41:"CLASSDEF_ID",42:"CLASSDEF_STYLEOPTS",43:"DEFAULT",44:"class",45:"CLASSENTITY_IDS",46:"STYLECLASS",47:"style",48:"STYLE_ENTITY_IDS",49:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[34,1],[34,2],[33,3],[33,4],[23,3],[23,3],[24,3],[25,3]],performAction:(0,o.K2)((function(t,e,r,s,a,i,n){var o=i.length-1;switch(a){case 4:s.getLogger().debug("Rule: separator (NL) ");break;case 5:s.getLogger().debug("Rule: separator (Space) ");break;case 6:s.getLogger().debug("Rule: separator (EOF) ");break;case 7:s.getLogger().debug("Rule: hierarchy: ",i[o-1]),s.setHierarchy(i[o-1]);break;case 8:s.getLogger().debug("Stop NL ");break;case 9:s.getLogger().debug("Stop EOF ");break;case 10:s.getLogger().debug("Stop NL2 ");break;case 11:s.getLogger().debug("Stop EOF2 ");break;case 12:s.getLogger().debug("Rule: statement: ",i[o]),"number"==typeof i[o].length?this.$=i[o]:this.$=[i[o]];break;case 13:s.getLogger().debug("Rule: statement #2: ",i[o-1]),this.$=[i[o-1]].concat(i[o]);break;case 14:s.getLogger().debug("Rule: link: ",i[o],t),this.$={edgeTypeStr:i[o],label:""};break;case 15:s.getLogger().debug("Rule: LABEL link: ",i[o-3],i[o-1],i[o]),this.$={edgeTypeStr:i[o],label:i[o-1]};break;case 18:const e=parseInt(i[o]),r=s.generateId();this.$={id:r,type:"space",label:"",width:e,children:[]};break;case 23:s.getLogger().debug("Rule: (nodeStatement link node) ",i[o-2],i[o-1],i[o]," typestr: ",i[o-1].edgeTypeStr);const a=s.edgeStrToEdgeData(i[o-1].edgeTypeStr);this.$=[{id:i[o-2].id,label:i[o-2].label,type:i[o-2].type,directions:i[o-2].directions},{id:i[o-2].id+"-"+i[o].id,start:i[o-2].id,end:i[o].id,label:i[o-1].label,type:"edge",directions:i[o].directions,arrowTypeEnd:a,arrowTypeStart:"arrow_open"},{id:i[o].id,label:i[o].label,type:s.typeStr2Type(i[o].typeStr),directions:i[o].directions}];break;case 24:s.getLogger().debug("Rule: nodeStatement (abc88 node size) ",i[o-1],i[o]),this.$={id:i[o-1].id,label:i[o-1].label,type:s.typeStr2Type(i[o-1].typeStr),directions:i[o-1].directions,widthInColumns:parseInt(i[o],10)};break;case 25:s.getLogger().debug("Rule: nodeStatement (node) ",i[o]),this.$={id:i[o].id,label:i[o].label,type:s.typeStr2Type(i[o].typeStr),directions:i[o].directions,widthInColumns:1};break;case 26:s.getLogger().debug("APA123",this?this:"na"),s.getLogger().debug("COLUMNS: ",i[o]),this.$={type:"column-setting",columns:"auto"===i[o]?-1:parseInt(i[o])};break;case 27:s.getLogger().debug("Rule: id-block statement : ",i[o-2],i[o-1]),s.generateId(),this.$={...i[o-2],type:"composite",children:i[o-1]};break;case 28:s.getLogger().debug("Rule: blockStatement : ",i[o-2],i[o-1],i[o]);const n=s.generateId();this.$={id:n,type:"composite",label:"",children:i[o-1]};break;case 29:s.getLogger().debug("Rule: node (NODE_ID separator): ",i[o]),this.$={id:i[o]};break;case 30:s.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",i[o-1],i[o]),this.$={id:i[o-1],label:i[o].label,typeStr:i[o].typeStr,directions:i[o].directions};break;case 31:s.getLogger().debug("Rule: dirList: ",i[o]),this.$=[i[o]];break;case 32:s.getLogger().debug("Rule: dirList: ",i[o-1],i[o]),this.$=[i[o-1]].concat(i[o]);break;case 33:s.getLogger().debug("Rule: nodeShapeNLabel: ",i[o-2],i[o-1],i[o]),this.$={typeStr:i[o-2]+i[o],label:i[o-1]};break;case 34:s.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",i[o-3],i[o-2]," #3:",i[o-1],i[o]),this.$={typeStr:i[o-3]+i[o],label:i[o-2],directions:i[o-1]};break;case 35:case 36:this.$={type:"classDef",id:i[o-1].trim(),css:i[o].trim()};break;case 37:this.$={type:"applyClass",id:i[o-1].trim(),styleClass:i[o].trim()};break;case 38:this.$={type:"applyStyles",id:i[o-1].trim(),stylesStr:i[o].trim()}}}),"anonymous"),table:[{9:1,10:[1,2]},{1:[3]},{11:3,13:4,19:5,20:6,21:e,22:8,23:9,24:10,25:11,26:12,28:r,29:s,31:a,32:i,40:n,44:l,47:c},{8:[1,20]},t(d,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,21:e,28:r,29:s,31:a,32:i,40:n,44:l,47:c}),t(h,[2,16],{14:22,15:g,16:u}),t(h,[2,17]),t(h,[2,18]),t(h,[2,19]),t(h,[2,20]),t(h,[2,21]),t(h,[2,22]),t(p,[2,25],{27:[1,25]}),t(h,[2,26]),{19:26,26:12,32:i},{11:27,13:4,19:5,20:6,21:e,22:8,23:9,24:10,25:11,26:12,28:r,29:s,31:a,32:i,40:n,44:l,47:c},{41:[1,28],43:[1,29]},{45:[1,30]},{48:[1,31]},t(y,[2,29],{33:32,36:[1,33],38:[1,34]}),{1:[2,7]},t(d,[2,13]),{26:35,32:i},{32:[2,14]},{17:[1,36]},t(p,[2,24]),{11:37,13:4,14:22,15:g,16:u,19:5,20:6,21:e,22:8,23:9,24:10,25:11,26:12,28:r,29:s,31:a,32:i,40:n,44:l,47:c},{30:[1,38]},{42:[1,39]},{42:[1,40]},{46:[1,41]},{49:[1,42]},t(y,[2,30]),{18:[1,43]},{18:[1,44]},t(p,[2,23]),{18:[1,45]},{30:[1,46]},t(h,[2,28]),t(h,[2,35]),t(h,[2,36]),t(h,[2,37]),t(h,[2,38]),{37:[1,47]},{34:48,35:b},{15:[1,50]},t(h,[2,27]),t(y,[2,33]),{39:[1,51]},{34:52,35:b,39:[2,31]},{32:[2,15]},t(y,[2,34]),{39:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:(0,o.K2)((function(t,e){if(!e.recoverable){var r=new Error(t);throw r.hash=e,r}this.trace(t)}),"parseError"),parse:(0,o.K2)((function(t){var e=this,r=[0],s=[],a=[null],i=[],n=this.table,l="",c=0,d=0,h=0,g=i.slice.call(arguments,1),u=Object.create(this.lexer),p={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(p.yy[y]=this.yy[y]);u.setInput(t,p.yy),p.yy.lexer=u,p.yy.parser=this,void 0===u.yylloc&&(u.yylloc={});var b=u.yylloc;i.push(b);var x=u.options&&u.options.ranges;function f(){var t;return"number"!=typeof(t=s.pop()||u.lex()||1)&&(t instanceof Array&&(t=(s=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,o.K2)((function(t){r.length=r.length-2*t,a.length=a.length-t,i.length=i.length-t}),"popStack"),(0,o.K2)(f,"lex");for(var m,w,_,L,k,S,v,E,D,C={};;){if(_=r[r.length-1],this.defaultActions[_]?L=this.defaultActions[_]:(null==m&&(m=f()),L=n[_]&&n[_][m]),void 0===L||!L.length||!L[0]){var R;for(S in D=[],n[_])this.terminals_[S]&&S>2&&D.push("'"+this.terminals_[S]+"'");R=u.showPosition?"Parse error on line "+(c+1)+":\n"+u.showPosition()+"\nExpecting "+D.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(R,{text:u.match,token:this.terminals_[m]||m,line:u.yylineno,loc:b,expected:D})}if(L[0]instanceof Array&&L.length>1)throw new Error("Parse Error: multiple actions possible at state: "+_+", token: "+m);switch(L[0]){case 1:r.push(m),a.push(u.yytext),i.push(u.yylloc),r.push(L[1]),m=null,w?(m=w,w=null):(d=u.yyleng,l=u.yytext,c=u.yylineno,b=u.yylloc,h>0&&h--);break;case 2:if(v=this.productions_[L[1]][1],C.$=a[a.length-v],C._$={first_line:i[i.length-(v||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(v||1)].first_column,last_column:i[i.length-1].last_column},x&&(C._$.range=[i[i.length-(v||1)].range[0],i[i.length-1].range[1]]),void 0!==(k=this.performAction.apply(C,[l,d,c,p.yy,L[1],a,i].concat(g))))return k;v&&(r=r.slice(0,-1*v*2),a=a.slice(0,-1*v),i=i.slice(0,-1*v)),r.push(this.productions_[L[1]][0]),a.push(C.$),i.push(C._$),E=n[r[r.length-2]][r[r.length-1]],r.push(E);break;case 3:return!0}}return!0}),"parse")},f=function(){return{EOF:1,parseError:(0,o.K2)((function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)}),"parseError"),setInput:(0,o.K2)((function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this}),"setInput"),input:(0,o.K2)((function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t}),"input"),unput:(0,o.K2)((function(t){var e=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var s=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var a=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===s.length?this.yylloc.first_column:0)+s[s.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[a[0],a[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this}),"unput"),more:(0,o.K2)((function(){return this._more=!0,this}),"more"),reject:(0,o.K2)((function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"reject"),less:(0,o.K2)((function(t){this.unput(this.match.slice(t))}),"less"),pastInput:(0,o.K2)((function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")}),"pastInput"),upcomingInput:(0,o.K2)((function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")}),"upcomingInput"),showPosition:(0,o.K2)((function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"}),"showPosition"),test_match:(0,o.K2)((function(t,e){var r,s,a;if(this.options.backtrack_lexer&&(a={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(a.yylloc.range=this.yylloc.range.slice(0))),(s=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=s.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:s?s[s.length-1].length-s[s.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var i in a)this[i]=a[i];return!1}return!1}),"test_match"),next:(0,o.K2)((function(){if(this.done)return this.EOF;var t,e,r,s;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var a=this._currentRules(),i=0;ie[0].length)){if(e=r,s=i,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,a[i])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,a[s]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"next"),lex:(0,o.K2)((function(){return this.next()||this.lex()}),"lex"),begin:(0,o.K2)((function(t){this.conditionStack.push(t)}),"begin"),popState:(0,o.K2)((function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]}),"popState"),_currentRules:(0,o.K2)((function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules}),"_currentRules"),topState:(0,o.K2)((function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"}),"topState"),pushState:(0,o.K2)((function(t){this.begin(t)}),"pushState"),stateStackSize:(0,o.K2)((function(){return this.conditionStack.length}),"stateStackSize"),options:{},performAction:(0,o.K2)((function(t,e,r,s){switch(r){case 0:return 10;case 1:return t.getLogger().debug("Found space-block"),31;case 2:return t.getLogger().debug("Found nl-block"),31;case 3:return t.getLogger().debug("Found space-block"),29;case 4:t.getLogger().debug(".",e.yytext);break;case 5:t.getLogger().debug("_",e.yytext);break;case 6:return 5;case 7:return e.yytext=-1,28;case 8:return e.yytext=e.yytext.replace(/columns\s+/,""),t.getLogger().debug("COLUMNS (LEX)",e.yytext),28;case 9:case 77:case 78:case 100:this.pushState("md_string");break;case 10:return"MD_STR";case 11:case 35:case 80:this.popState();break;case 12:this.pushState("string");break;case 13:t.getLogger().debug("LEX: POPPING STR:",e.yytext),this.popState();break;case 14:return t.getLogger().debug("LEX: STR end:",e.yytext),"STR";case 15:return e.yytext=e.yytext.replace(/space\:/,""),t.getLogger().debug("SPACE NUM (LEX)",e.yytext),21;case 16:return e.yytext="1",t.getLogger().debug("COLUMNS (LEX)",e.yytext),21;case 17:return 43;case 18:return"LINKSTYLE";case 19:return"INTERPOLATE";case 20:return this.pushState("CLASSDEF"),40;case 21:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 22:return this.popState(),this.pushState("CLASSDEFID"),41;case 23:return this.popState(),42;case 24:return this.pushState("CLASS"),44;case 25:return this.popState(),this.pushState("CLASS_STYLE"),45;case 26:return this.popState(),46;case 27:return this.pushState("STYLE_STMNT"),47;case 28:return this.popState(),this.pushState("STYLE_DEFINITION"),48;case 29:return this.popState(),49;case 30:return this.pushState("acc_title"),"acc_title";case 31:return this.popState(),"acc_title_value";case 32:return this.pushState("acc_descr"),"acc_descr";case 33:return this.popState(),"acc_descr_value";case 34:this.pushState("acc_descr_multiline");break;case 36:return"acc_descr_multiline_value";case 37:return 30;case 38:case 39:case 41:case 42:case 45:return this.popState(),t.getLogger().debug("Lex: (("),"NODE_DEND";case 40:return this.popState(),t.getLogger().debug("Lex: ))"),"NODE_DEND";case 43:return this.popState(),t.getLogger().debug("Lex: (-"),"NODE_DEND";case 44:return this.popState(),t.getLogger().debug("Lex: -)"),"NODE_DEND";case 46:return this.popState(),t.getLogger().debug("Lex: ]]"),"NODE_DEND";case 47:return this.popState(),t.getLogger().debug("Lex: ("),"NODE_DEND";case 48:return this.popState(),t.getLogger().debug("Lex: ])"),"NODE_DEND";case 49:case 50:return this.popState(),t.getLogger().debug("Lex: /]"),"NODE_DEND";case 51:return this.popState(),t.getLogger().debug("Lex: )]"),"NODE_DEND";case 52:return this.popState(),t.getLogger().debug("Lex: )"),"NODE_DEND";case 53:return this.popState(),t.getLogger().debug("Lex: ]>"),"NODE_DEND";case 54:return this.popState(),t.getLogger().debug("Lex: ]"),"NODE_DEND";case 55:return t.getLogger().debug("Lexa: -)"),this.pushState("NODE"),36;case 56:return t.getLogger().debug("Lexa: (-"),this.pushState("NODE"),36;case 57:return t.getLogger().debug("Lexa: ))"),this.pushState("NODE"),36;case 58:case 60:case 61:case 62:case 65:return t.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 59:return t.getLogger().debug("Lex: ((("),this.pushState("NODE"),36;case 63:return t.getLogger().debug("Lexc: >"),this.pushState("NODE"),36;case 64:return t.getLogger().debug("Lexa: (["),this.pushState("NODE"),36;case 66:case 67:case 68:case 69:case 70:case 71:case 72:return this.pushState("NODE"),36;case 73:return t.getLogger().debug("Lexa: ["),this.pushState("NODE"),36;case 74:return this.pushState("BLOCK_ARROW"),t.getLogger().debug("LEX ARR START"),38;case 75:return t.getLogger().debug("Lex: NODE_ID",e.yytext),32;case 76:return t.getLogger().debug("Lex: EOF",e.yytext),8;case 79:return"NODE_DESCR";case 81:t.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 82:t.getLogger().debug("LEX ARR: Starting string"),this.pushState("string");break;case 83:return t.getLogger().debug("LEX: NODE_DESCR:",e.yytext),"NODE_DESCR";case 84:t.getLogger().debug("LEX POPPING"),this.popState();break;case 85:t.getLogger().debug("Lex: =>BAE"),this.pushState("ARROW_DIR");break;case 86:return e.yytext=e.yytext.replace(/^,\s*/,""),t.getLogger().debug("Lex (right): dir:",e.yytext),"DIR";case 87:return e.yytext=e.yytext.replace(/^,\s*/,""),t.getLogger().debug("Lex (left):",e.yytext),"DIR";case 88:return e.yytext=e.yytext.replace(/^,\s*/,""),t.getLogger().debug("Lex (x):",e.yytext),"DIR";case 89:return e.yytext=e.yytext.replace(/^,\s*/,""),t.getLogger().debug("Lex (y):",e.yytext),"DIR";case 90:return e.yytext=e.yytext.replace(/^,\s*/,""),t.getLogger().debug("Lex (up):",e.yytext),"DIR";case 91:return e.yytext=e.yytext.replace(/^,\s*/,""),t.getLogger().debug("Lex (down):",e.yytext),"DIR";case 92:return e.yytext="]>",t.getLogger().debug("Lex (ARROW_DIR end):",e.yytext),this.popState(),this.popState(),"BLOCK_ARROW_END";case 93:return t.getLogger().debug("Lex: LINK","#"+e.yytext+"#"),15;case 94:case 95:case 96:return t.getLogger().debug("Lex: LINK",e.yytext),15;case 97:case 98:case 99:return t.getLogger().debug("Lex: START_LINK",e.yytext),this.pushState("LLABEL"),16;case 101:return t.getLogger().debug("Lex: Starting string"),this.pushState("string"),"LINK_LABEL";case 102:return this.popState(),t.getLogger().debug("Lex: LINK","#"+e.yytext+"#"),15;case 103:case 104:return this.popState(),t.getLogger().debug("Lex: LINK",e.yytext),15;case 105:return t.getLogger().debug("Lex: COLON",e.yytext),e.yytext=e.yytext.slice(1),27}}),"anonymous"),rules:[/^(?:block-beta\b)/,/^(?:block\s+)/,/^(?:block\n+)/,/^(?:block:)/,/^(?:[\s]+)/,/^(?:[\n]+)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:columns\s+auto\b)/,/^(?:columns\s+[\d]+)/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:space[:]\d+)/,/^(?:space\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\s+)/,/^(?:DEFAULT\s+)/,/^(?:\w+\s+)/,/^(?:[^\n]*)/,/^(?:class\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:style\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:end\b\s*)/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:[\)]\))/,/^(?:\}\})/,/^(?:\})/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\()/,/^(?:\]\])/,/^(?:\()/,/^(?:\]\))/,/^(?:\\\])/,/^(?:\/\])/,/^(?:\)\])/,/^(?:[\)])/,/^(?:\]>)/,/^(?:[\]])/,/^(?:-\))/,/^(?:\(-)/,/^(?:\)\))/,/^(?:\))/,/^(?:\(\(\()/,/^(?:\(\()/,/^(?:\{\{)/,/^(?:\{)/,/^(?:>)/,/^(?:\(\[)/,/^(?:\()/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\[\\)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:\[)/,/^(?:<\[)/,/^(?:[^\(\[\n\-\)\{\}\s\<\>:]+)/,/^(?:$)/,/^(?:["][`])/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:\]>\s*\()/,/^(?:,?\s*right\s*)/,/^(?:,?\s*left\s*)/,/^(?:,?\s*x\s*)/,/^(?:,?\s*y\s*)/,/^(?:,?\s*up\s*)/,/^(?:,?\s*down\s*)/,/^(?:\)\s*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*~~[\~]+\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:["][`])/,/^(?:["])/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?::\d+)/],conditions:{STYLE_DEFINITION:{rules:[29],inclusive:!1},STYLE_STMNT:{rules:[28],inclusive:!1},CLASSDEFID:{rules:[23],inclusive:!1},CLASSDEF:{rules:[21,22],inclusive:!1},CLASS_STYLE:{rules:[26],inclusive:!1},CLASS:{rules:[25],inclusive:!1},LLABEL:{rules:[100,101,102,103,104],inclusive:!1},ARROW_DIR:{rules:[86,87,88,89,90,91,92],inclusive:!1},BLOCK_ARROW:{rules:[77,82,85],inclusive:!1},NODE:{rules:[38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,78,81],inclusive:!1},md_string:{rules:[10,11,79,80],inclusive:!1},space:{rules:[],inclusive:!1},string:{rules:[13,14,83,84],inclusive:!1},acc_descr_multiline:{rules:[35,36],inclusive:!1},acc_descr:{rules:[33],inclusive:!1},acc_title:{rules:[31],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,12,15,16,17,18,19,20,24,27,30,32,34,37,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,93,94,95,96,97,98,99,105],inclusive:!0}}}}();function m(){this.yy={}}return x.lexer=f,(0,o.K2)(m,"Parser"),m.prototype=x,x.Parser=m,new m}();u.parser=u;var p=u,y=new Map,b=[],x=new Map,f="color",m="fill",w=(0,o.D7)(),_=new Map,L=(0,o.K2)((t=>o.Y2.sanitizeText(t,w)),"sanitizeText"),k=(0,o.K2)((function(t,e=""){let r=_.get(t);r||(r={id:t,styles:[],textStyles:[]},_.set(t,r)),null!=e&&e.split(",").forEach((t=>{const e=t.replace(/([^;]*);/,"$1").trim();if(RegExp(f).exec(t)){const t=e.replace(m,"bgFill").replace(f,m);r.textStyles.push(t)}r.styles.push(e)}))}),"addStyleClass"),S=(0,o.K2)((function(t,e=""){const r=y.get(t);null!=e&&(r.styles=e.split(","))}),"addStyle2Node"),v=(0,o.K2)((function(t,e){t.split(",").forEach((function(t){let r=y.get(t);if(void 0===r){const e=t.trim();r={id:e,type:"na",children:[]},y.set(e,r)}r.classes||(r.classes=[]),r.classes.push(e)}))}),"setCssClass"),E=(0,o.K2)(((t,e)=>{const r=t.flat(),s=[];for(const t of r)if(t.label&&(t.label=L(t.label)),"classDef"!==t.type)if("applyClass"!==t.type)if("applyStyles"!==t.type)if("column-setting"===t.type)e.columns=t.columns??-1;else if("edge"===t.type){const e=(x.get(t.id)??0)+1;x.set(t.id,e),t.id=e+"-"+t.id,b.push(t)}else{t.label||("composite"===t.type?t.label="":t.label=t.id);const e=y.get(t.id);if(void 0===e?y.set(t.id,t):("na"!==t.type&&(e.type=t.type),t.label!==t.id&&(e.label=t.label)),t.children&&E(t.children,t),"space"===t.type){const e=t.width??1;for(let r=0;r{o.Rm.debug("Clear called"),(0,o.IU)(),C={id:"root",type:"composite",children:[],columns:-1},y=new Map([["root",C]]),D=[],_=new Map,b=[],x=new Map}),"clear");function K(t){switch(o.Rm.debug("typeStr2Type",t),t){case"[]":return"square";case"()":return o.Rm.debug("we have a round"),"round";case"(())":return"circle";case">]":return"rect_left_inv_arrow";case"{}":return"diamond";case"{{}}":return"hexagon";case"([])":return"stadium";case"[[]]":return"subroutine";case"[()]":return"cylinder";case"((()))":return"doublecircle";case"[//]":return"lean_right";case"[\\\\]":return"lean_left";case"[/\\]":return"trapezoid";case"[\\/]":return"inv_trapezoid";case"<[]>":return"block_arrow";default:return"na"}}function N(t){return o.Rm.debug("typeStr2Type",t),"=="===t?"thick":"normal"}function T(t){switch(t.trim()){case"--x":return"arrow_cross";case"--o":return"arrow_circle";default:return"arrow_point"}}(0,o.K2)(K,"typeStr2Type"),(0,o.K2)(N,"edgeTypeStr2Type"),(0,o.K2)(T,"edgeStrToEdgeData");var $=0,A=(0,o.K2)((()=>($++,"id-"+Math.random().toString(36).substr(2,12)+"-"+$)),"generateId"),I=(0,o.K2)((t=>{C.children=t,E(t,C),D=C.children}),"setHierarchy"),O=(0,o.K2)((t=>{const e=y.get(t);return e?e.columns?e.columns:e.children?e.children.length:-1:-1}),"getColumns"),B=(0,o.K2)((()=>[...y.values()]),"getBlocksFlat"),z=(0,o.K2)((()=>D||[]),"getBlocks"),M=(0,o.K2)((()=>b),"getEdges"),P=(0,o.K2)((t=>y.get(t)),"getBlock"),Y=(0,o.K2)((t=>{y.set(t.id,t)}),"setBlock"),F=(0,o.K2)((()=>console),"getLogger"),j=(0,o.K2)((function(){return _}),"getClasses"),W={getConfig:(0,o.K2)((()=>(0,o.zj)().block),"getConfig"),typeStr2Type:K,edgeTypeStr2Type:N,edgeStrToEdgeData:T,getLogger:F,getBlocksFlat:B,getBlocks:z,getEdges:M,setHierarchy:I,getBlock:P,setBlock:Y,getColumns:O,getClasses:j,clear:R,generateId:A},X=(0,o.K2)(((t,e)=>{const r=c.A,s=r(t,"r"),a=r(t,"g"),i=r(t,"b");return d.A(s,a,i,e)}),"fade"),H=(0,o.K2)((t=>`.label {\n font-family: ${t.fontFamily};\n color: ${t.nodeTextColor||t.textColor};\n }\n .cluster-label text {\n fill: ${t.titleColor};\n }\n .cluster-label span,p {\n color: ${t.titleColor};\n }\n\n\n\n .label text,span,p {\n fill: ${t.nodeTextColor||t.textColor};\n color: ${t.nodeTextColor||t.textColor};\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${t.mainBkg};\n stroke: ${t.nodeBorder};\n stroke-width: 1px;\n }\n .flowchart-label text {\n text-anchor: middle;\n }\n // .flowchart-label .text-outer-tspan {\n // text-anchor: middle;\n // }\n // .flowchart-label .text-inner-tspan {\n // text-anchor: start;\n // }\n\n .node .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n .arrowheadPath {\n fill: ${t.arrowheadColor};\n }\n\n .edgePath .path {\n stroke: ${t.lineColor};\n stroke-width: 2.0px;\n }\n\n .flowchart-link {\n stroke: ${t.lineColor};\n fill: none;\n }\n\n .edgeLabel {\n background-color: ${t.edgeLabelBackground};\n rect {\n opacity: 0.5;\n background-color: ${t.edgeLabelBackground};\n fill: ${t.edgeLabelBackground};\n }\n text-align: center;\n }\n\n /* For html labels only */\n .labelBkg {\n background-color: ${X(t.edgeLabelBackground,.5)};\n // background-color:\n }\n\n .node .cluster {\n // fill: ${X(t.mainBkg,.5)};\n fill: ${X(t.clusterBkg,.5)};\n stroke: ${X(t.clusterBorder,.2)};\n box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;\n stroke-width: 1px;\n }\n\n .cluster text {\n fill: ${t.titleColor};\n }\n\n .cluster span,p {\n color: ${t.titleColor};\n }\n /* .cluster div {\n color: ${t.titleColor};\n } */\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: ${t.fontFamily};\n font-size: 12px;\n background: ${t.tertiaryColor};\n border: 1px solid ${t.border2};\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n\n .flowchartTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${t.textColor};\n }\n`),"getStyles"),U=(0,o.K2)(((t,e,r,s)=>{e.forEach((e=>{Z[e](t,r,s)}))}),"insertMarkers"),Z={extension:(0,o.K2)(((t,e,r)=>{o.Rm.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")}),"extension"),composition:(0,o.K2)(((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")}),"composition"),aggregation:(0,o.K2)(((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")}),"aggregation"),dependency:(0,o.K2)(((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")}),"dependency"),lollipop:(0,o.K2)(((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)}),"lollipop"),point:(0,o.K2)(((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")}),"point"),circle:(0,o.K2)(((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")}),"circle"),cross:(0,o.K2)(((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")}),"cross"),barb:(0,o.K2)(((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")}),"barb")},q=U,G=(0,o.D7)()?.block?.padding??8;function J(t,e){if(0===t||!Number.isInteger(t))throw new Error("Columns must be an integer !== 0.");if(e<0||!Number.isInteger(e))throw new Error("Position must be a non-negative integer."+e);return t<0?{px:e,py:0}:1===t?{px:0,py:e}:{px:e%t,py:Math.floor(e/t)}}(0,o.K2)(J,"calculateBlockPosition");var V=(0,o.K2)((t=>{let e=0,r=0;for(const s of t.children){const{width:a,height:i,x:n,y:l}=s.size??{width:0,height:0,x:0,y:0};o.Rm.debug("getMaxChildSize abc95 child:",s.id,"width:",a,"height:",i,"x:",n,"y:",l,s.type),"space"!==s.type&&(a>e&&(e=a/(t.widthInColumns??1)),i>r&&(r=i))}return{width:e,height:r}}),"getMaxChildSize");function Q(t,e,r=0,s=0){o.Rm.debug("setBlockSizes abc95 (start)",t.id,t?.size?.x,"block width =",t?.size,"sieblingWidth",r),t?.size?.width||(t.size={width:r,height:s,x:0,y:0});let a=0,i=0;if(t.children?.length>0){for(const r of t.children)Q(r,e);const n=V(t);a=n.width,i=n.height,o.Rm.debug("setBlockSizes abc95 maxWidth of",t.id,":s children is ",a,i);for(const e of t.children)e.size&&(o.Rm.debug(`abc95 Setting size of children of ${t.id} id=${e.id} ${a} ${i} ${JSON.stringify(e.size)}`),e.size.width=a*(e.widthInColumns??1)+G*((e.widthInColumns??1)-1),e.size.height=i,e.size.x=0,e.size.y=0,o.Rm.debug(`abc95 updating size of ${t.id} children child:${e.id} maxWidth:${a} maxHeight:${i}`));for(const r of t.children)Q(r,e,a,i);const l=t.columns??-1;let c=0;for(const e of t.children)c+=e.widthInColumns??1;let d=t.children.length;l>0&&l0?Math.min(t.children.length,l):t.children.length;if(e>0){const r=(g-e*G-G)/e;o.Rm.debug("abc95 (growing to fit) width",t.id,g,t.size?.width,r);for(const e of t.children)e.size&&(e.size.width=r)}}t.size={width:g,height:u,x:0,y:0}}o.Rm.debug("setBlockSizes abc94 (done)",t.id,t?.size?.x,t?.size?.width,t?.size?.y,t?.size?.height)}function tt(t,e){o.Rm.debug(`abc85 layout blocks (=>layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`);const r=t.columns??-1;if(o.Rm.debug("layoutBlocks columns abc95",t.id,"=>",r,t),t.children&&t.children.length>0){const s=t?.children[0]?.size?.width??0,a=t.children.length*s+(t.children.length-1)*G;o.Rm.debug("widthOfChildren 88",a,"posX");let i=0;o.Rm.debug("abc91 block?.size?.x",t.id,t?.size?.x);let n=t?.size?.x?t?.size?.x+(-t?.size?.width/2||0):-G,l=0;for(const s of t.children){const a=t;if(!s.size)continue;const{width:c,height:d}=s.size,{px:h,py:g}=J(r,i);if(g!=l&&(l=g,n=t?.size?.x?t?.size?.x+(-t?.size?.width/2||0):-G,o.Rm.debug("New row in layout for block",t.id," and child ",s.id,l)),o.Rm.debug(`abc89 layout blocks (child) id: ${s.id} Pos: ${i} (px, py) ${h},${g} (${a?.size?.x},${a?.size?.y}) parent: ${a.id} width: ${c}${G}`),a.size){const t=c/2;s.size.x=n+G+t,o.Rm.debug(`abc91 layout blocks (calc) px, pyid:${s.id} startingPos=X${n} new startingPosX${s.size.x} ${t} padding=${G} width=${c} halfWidth=${t} => x:${s.size.x} y:${s.size.y} ${s.widthInColumns} (width * (child?.w || 1)) / 2 ${c*(s?.widthInColumns??1)/2}`),n=s.size.x+t,s.size.y=a.size.y-a.size.height/2+g*(d+G)+d/2+G,o.Rm.debug(`abc88 layout blocks (calc) px, pyid:${s.id}startingPosX${n}${G}${t}=>x:${s.size.x}y:${s.size.y}${s.widthInColumns}(width * (child?.w || 1)) / 2${c*(s?.widthInColumns??1)/2}`)}s.children&&tt(s,e),i+=s?.widthInColumns??1,o.Rm.debug("abc88 columnsPos",s,i)}}o.Rm.debug(`layout blocks (<==layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`)}function et(t,{minX:e,minY:r,maxX:s,maxY:a}={minX:0,minY:0,maxX:0,maxY:0}){if(t.size&&"root"!==t.id){const{x:i,y:n,width:o,height:l}=t.size;i-o/2s&&(s=i+o/2),n+l/2>a&&(a=n+l/2)}if(t.children)for(const i of t.children)({minX:e,minY:r,maxX:s,maxY:a}=et(i,{minX:e,minY:r,maxX:s,maxY:a}));return{minX:e,minY:r,maxX:s,maxY:a}}function rt(t){const e=t.getBlock("root");if(!e)return;Q(e,t,0,0),tt(e,t),o.Rm.debug("getBlocks",JSON.stringify(e,null,2));const{minX:r,minY:s,maxX:a,maxY:i}=et(e);return{x:r,y:s,width:a-r,height:i-s}}function st(t,e){e&&t.attr("style",e)}function at(t){const e=(0,h.Ltv)(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),r=e.append("xhtml:div"),s=t.label,a=t.isNode?"nodeLabel":"edgeLabel",i=r.append("span");return i.html(s),st(i,t.labelStyle),i.attr("class",a),st(r,t.labelStyle),r.style("display","inline-block"),r.style("white-space","nowrap"),r.attr("xmlns","http://www.w3.org/1999/xhtml"),e.node()}(0,o.K2)(Q,"setBlockSizes"),(0,o.K2)(tt,"layoutBlocks"),(0,o.K2)(et,"findBounds"),(0,o.K2)(rt,"layout"),(0,o.K2)(st,"applyStyle"),(0,o.K2)(at,"addHtmlLabel");var it=(0,o.K2)(((t,e,r,s)=>{let a=t||"";if("object"==typeof a&&(a=a[0]),(0,o._3)((0,o.D7)().flowchart.htmlLabels))return a=a.replace(/\\n|\n/g,"
    "),o.Rm.debug("vertexText"+a),at({isNode:s,label:(0,i.hE)((0,n.Sm)(a)),labelStyle:e.replace("fill:","color:")});{const t=document.createElementNS("http://www.w3.org/2000/svg","text");t.setAttribute("style",e.replace("color:","fill:"));let s=[];s="string"==typeof a?a.split(/\\n|\n|/gi):Array.isArray(a)?a:[];for(const e of s){const s=document.createElementNS("http://www.w3.org/2000/svg","tspan");s.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),s.setAttribute("dy","1em"),s.setAttribute("x","0"),r?s.setAttribute("class","title-row"):s.setAttribute("class","row"),s.textContent=e.trim(),t.appendChild(s)}return t}}),"createLabel"),nt=(0,o.K2)(((t,e,r,s,a)=>{e.arrowTypeStart&<(t,"start",e.arrowTypeStart,r,s,a),e.arrowTypeEnd&<(t,"end",e.arrowTypeEnd,r,s,a)}),"addEdgeMarkers"),ot={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},lt=(0,o.K2)(((t,e,r,s,a,i)=>{const n=ot[r];if(!n)return void o.Rm.warn(`Unknown arrow type: ${r}`);const l="start"===e?"Start":"End";t.attr(`marker-${e}`,`url(${s}#${a}_${i}-${n}${l})`)}),"addEdgeMarker"),ct={},dt={},ht=(0,o.K2)(((t,e)=>{const r=(0,o.D7)(),s=(0,o._3)(r.flowchart.htmlLabels),a="markdown"===e.labelType?(0,i.GZ)(t,e.label,{style:e.labelStyle,useHtmlLabels:s,addSvgBackground:!0},r):it(e.label,e.labelStyle),n=t.insert("g").attr("class","edgeLabel"),l=n.insert("g").attr("class","label");l.node().appendChild(a);let c,d=a.getBBox();if(s){const t=a.children[0],e=(0,h.Ltv)(a);d=t.getBoundingClientRect(),e.attr("width",d.width),e.attr("height",d.height)}if(l.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),ct[e.id]=n,e.width=d.width,e.height=d.height,e.startLabelLeft){const r=it(e.startLabelLeft,e.labelStyle),s=t.insert("g").attr("class","edgeTerminals"),a=s.insert("g").attr("class","inner");c=a.node().appendChild(r);const i=r.getBBox();a.attr("transform","translate("+-i.width/2+", "+-i.height/2+")"),dt[e.id]||(dt[e.id]={}),dt[e.id].startLeft=s,gt(c,e.startLabelLeft)}if(e.startLabelRight){const r=it(e.startLabelRight,e.labelStyle),s=t.insert("g").attr("class","edgeTerminals"),a=s.insert("g").attr("class","inner");c=s.node().appendChild(r),a.node().appendChild(r);const i=r.getBBox();a.attr("transform","translate("+-i.width/2+", "+-i.height/2+")"),dt[e.id]||(dt[e.id]={}),dt[e.id].startRight=s,gt(c,e.startLabelRight)}if(e.endLabelLeft){const r=it(e.endLabelLeft,e.labelStyle),s=t.insert("g").attr("class","edgeTerminals"),a=s.insert("g").attr("class","inner");c=a.node().appendChild(r);const i=r.getBBox();a.attr("transform","translate("+-i.width/2+", "+-i.height/2+")"),s.node().appendChild(r),dt[e.id]||(dt[e.id]={}),dt[e.id].endLeft=s,gt(c,e.endLabelLeft)}if(e.endLabelRight){const r=it(e.endLabelRight,e.labelStyle),s=t.insert("g").attr("class","edgeTerminals"),a=s.insert("g").attr("class","inner");c=a.node().appendChild(r);const i=r.getBBox();a.attr("transform","translate("+-i.width/2+", "+-i.height/2+")"),s.node().appendChild(r),dt[e.id]||(dt[e.id]={}),dt[e.id].endRight=s,gt(c,e.endLabelRight)}return a}),"insertEdgeLabel");function gt(t,e){(0,o.D7)().flowchart.htmlLabels&&t&&(t.style.width=9*e.length+"px",t.style.height="12px")}(0,o.K2)(gt,"setTerminalWidth");var ut=(0,o.K2)(((t,e)=>{o.Rm.debug("Moving label abc88 ",t.id,t.label,ct[t.id],e);let r=e.updatedPath?e.updatedPath:e.originalPath;const s=(0,o.D7)(),{subGraphTitleTotalMargin:i}=(0,a.O)(s);if(t.label){const s=ct[t.id];let a=t.x,l=t.y;if(r){const s=n._K.calcLabelPosition(r);o.Rm.debug("Moving label "+t.label+" from (",a,",",l,") to (",s.x,",",s.y,") abc88"),e.updatedPath&&(a=s.x,l=s.y)}s.attr("transform",`translate(${a}, ${l+i/2})`)}if(t.startLabelLeft){const e=dt[t.id].startLeft;let s=t.x,a=t.y;if(r){const e=n._K.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);s=e.x,a=e.y}e.attr("transform",`translate(${s}, ${a})`)}if(t.startLabelRight){const e=dt[t.id].startRight;let s=t.x,a=t.y;if(r){const e=n._K.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);s=e.x,a=e.y}e.attr("transform",`translate(${s}, ${a})`)}if(t.endLabelLeft){const e=dt[t.id].endLeft;let s=t.x,a=t.y;if(r){const e=n._K.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);s=e.x,a=e.y}e.attr("transform",`translate(${s}, ${a})`)}if(t.endLabelRight){const e=dt[t.id].endRight;let s=t.x,a=t.y;if(r){const e=n._K.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);s=e.x,a=e.y}e.attr("transform",`translate(${s}, ${a})`)}}),"positionEdgeLabel"),pt=(0,o.K2)(((t,e)=>{const r=t.x,s=t.y,a=Math.abs(e.x-r),i=Math.abs(e.y-s),n=t.width/2,o=t.height/2;return a>=n||i>=o}),"outsideNode"),yt=(0,o.K2)(((t,e,r)=>{o.Rm.debug(`intersection calc abc89:\n outsidePoint: ${JSON.stringify(e)}\n insidePoint : ${JSON.stringify(r)}\n node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);const s=t.x,a=t.y,i=Math.abs(s-r.x),n=t.width/2;let l=r.xMath.abs(s-e.x)*c){let t=r.y{o.Rm.debug("abc88 cutPathAtIntersect",t,e);let r=[],s=t[0],a=!1;return t.forEach((t=>{if(pt(e,t)||a)s=t,a||r.push(t);else{const i=yt(e,s,t);let n=!1;r.forEach((t=>{n=n||t.x===i.x&&t.y===i.y})),r.some((t=>t.x===i.x&&t.y===i.y))||r.push(i),a=!0}})),r}),"cutPathAtIntersect"),xt=(0,o.K2)((function(t,e,r,a,i,n,l){let c=r.points;o.Rm.debug("abc88 InsertEdge: edge=",r,"e=",e);let d=!1;const g=n.node(e.v);var u=n.node(e.w);u?.intersect&&g?.intersect&&(c=c.slice(1,r.points.length-1),c.unshift(g.intersect(c[0])),c.push(u.intersect(c[c.length-1]))),r.toCluster&&(o.Rm.debug("to cluster abc88",a[r.toCluster]),c=bt(r.points,a[r.toCluster].node),d=!0),r.fromCluster&&(o.Rm.debug("from cluster abc88",a[r.fromCluster]),c=bt(c.reverse(),a[r.fromCluster].node).reverse(),d=!0);const p=c.filter((t=>!Number.isNaN(t.y)));let y=h.qrM;!r.curve||"graph"!==i&&"flowchart"!==i||(y=r.curve);const{x:b,y:x}=(0,s.R)(r),f=(0,h.n8j)().x(b).y(x).curve(y);let m;switch(r.thickness){case"normal":m="edge-thickness-normal";break;case"thick":case"invisible":m="edge-thickness-thick";break;default:m=""}switch(r.pattern){case"solid":m+=" edge-pattern-solid";break;case"dotted":m+=" edge-pattern-dotted";break;case"dashed":m+=" edge-pattern-dashed"}const w=t.append("path").attr("d",f(p)).attr("id",r.id).attr("class"," "+m+(r.classes?" "+r.classes:"")).attr("style",r.style);let _="";((0,o.D7)().flowchart.arrowMarkerAbsolute||(0,o.D7)().state.arrowMarkerAbsolute)&&(_=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,_=_.replace(/\(/g,"\\("),_=_.replace(/\)/g,"\\)")),nt(w,r,_,l,i);let L={};return d&&(L.updatedPath=c),L.originalPath=r.points,L}),"insertEdge"),ft=(0,o.K2)((t=>{const e=new Set;for(const r of t)switch(r){case"x":e.add("right"),e.add("left");break;case"y":e.add("up"),e.add("down");break;default:e.add(r)}return e}),"expandAndDeduplicateDirections"),mt=(0,o.K2)(((t,e,r)=>{const s=ft(t),a=e.height+2*r.padding,i=a/2,n=e.width+2*i+r.padding,o=r.padding/2;return s.has("right")&&s.has("left")&&s.has("up")&&s.has("down")?[{x:0,y:0},{x:i,y:0},{x:n/2,y:2*o},{x:n-i,y:0},{x:n,y:0},{x:n,y:-a/3},{x:n+2*o,y:-a/2},{x:n,y:-2*a/3},{x:n,y:-a},{x:n-i,y:-a},{x:n/2,y:-a-2*o},{x:i,y:-a},{x:0,y:-a},{x:0,y:-2*a/3},{x:-2*o,y:-a/2},{x:0,y:-a/3}]:s.has("right")&&s.has("left")&&s.has("up")?[{x:i,y:0},{x:n-i,y:0},{x:n,y:-a/2},{x:n-i,y:-a},{x:i,y:-a},{x:0,y:-a/2}]:s.has("right")&&s.has("left")&&s.has("down")?[{x:0,y:0},{x:i,y:-a},{x:n-i,y:-a},{x:n,y:0}]:s.has("right")&&s.has("up")&&s.has("down")?[{x:0,y:0},{x:n,y:-i},{x:n,y:-a+i},{x:0,y:-a}]:s.has("left")&&s.has("up")&&s.has("down")?[{x:n,y:0},{x:0,y:-i},{x:0,y:-a+i},{x:n,y:-a}]:s.has("right")&&s.has("left")?[{x:i,y:0},{x:i,y:-o},{x:n-i,y:-o},{x:n-i,y:0},{x:n,y:-a/2},{x:n-i,y:-a},{x:n-i,y:-a+o},{x:i,y:-a+o},{x:i,y:-a},{x:0,y:-a/2}]:s.has("up")&&s.has("down")?[{x:n/2,y:0},{x:0,y:-o},{x:i,y:-o},{x:i,y:-a+o},{x:0,y:-a+o},{x:n/2,y:-a},{x:n,y:-a+o},{x:n-i,y:-a+o},{x:n-i,y:-o},{x:n,y:-o}]:s.has("right")&&s.has("up")?[{x:0,y:0},{x:n,y:-i},{x:0,y:-a}]:s.has("right")&&s.has("down")?[{x:0,y:0},{x:n,y:0},{x:0,y:-a}]:s.has("left")&&s.has("up")?[{x:n,y:0},{x:0,y:-i},{x:n,y:-a}]:s.has("left")&&s.has("down")?[{x:n,y:0},{x:0,y:0},{x:n,y:-a}]:s.has("right")?[{x:i,y:-o},{x:i,y:-o},{x:n-i,y:-o},{x:n-i,y:0},{x:n,y:-a/2},{x:n-i,y:-a},{x:n-i,y:-a+o},{x:i,y:-a+o},{x:i,y:-a+o}]:s.has("left")?[{x:i,y:0},{x:i,y:-o},{x:n-i,y:-o},{x:n-i,y:-a+o},{x:i,y:-a+o},{x:i,y:-a},{x:0,y:-a/2}]:s.has("up")?[{x:i,y:-o},{x:i,y:-a+o},{x:0,y:-a+o},{x:n/2,y:-a},{x:n,y:-a+o},{x:n-i,y:-a+o},{x:n-i,y:-o}]:s.has("down")?[{x:n/2,y:0},{x:0,y:-o},{x:i,y:-o},{x:i,y:-a+o},{x:n-i,y:-a+o},{x:n-i,y:-o},{x:n,y:-o}]:[{x:0,y:0}]}),"getArrowPoints");function wt(t,e){return t.intersect(e)}(0,o.K2)(wt,"intersectNode");var _t=wt;function Lt(t,e,r,s){var a=t.x,i=t.y,n=a-s.x,o=i-s.y,l=Math.sqrt(e*e*o*o+r*r*n*n),c=Math.abs(e*r*n/l);s.x0}(0,o.K2)(Et,"intersectLine"),(0,o.K2)(Dt,"sameSign");var Ct=Et,Rt=Kt;function Kt(t,e,r){var s=t.x,a=t.y,i=[],n=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;"function"==typeof e.forEach?e.forEach((function(t){n=Math.min(n,t.x),o=Math.min(o,t.y)})):(n=Math.min(n,e.x),o=Math.min(o,e.y));for(var l=s-t.width/2-n,c=a-t.height/2-o,d=0;d1&&i.sort((function(t,e){var s=t.x-r.x,a=t.y-r.y,i=Math.sqrt(s*s+a*a),n=e.x-r.x,o=e.y-r.y,l=Math.sqrt(n*n+o*o);return i{var r,s,a=t.x,i=t.y,n=e.x-a,o=e.y-i,l=t.width/2,c=t.height/2;return Math.abs(o)*l>Math.abs(n)*c?(o<0&&(c=-c),r=0===o?0:c*n/o,s=c):(n<0&&(l=-l),r=l,s=0===n?0:l*o/n),{x:a+r,y:i+s}}),"intersectRect")},Tt=(0,o.K2)((async(t,e,r,s)=>{const a=(0,o.D7)();let l;const c=e.useHtmlLabels||(0,o._3)(a.flowchart.htmlLabels);l=r||"node default";const d=t.insert("g").attr("class",l).attr("id",e.domId||e.id),g=d.insert("g").attr("class","label").attr("style",e.labelStyle);let u;u=void 0===e.labelText?"":"string"==typeof e.labelText?e.labelText:e.labelText[0];const p=g.node();let y;y="markdown"===e.labelType?(0,i.GZ)(g,(0,o.jZ)((0,n.Sm)(u),a),{useHtmlLabels:c,width:e.width||a.flowchart.wrappingWidth,classes:"markdown-node-label"},a):p.appendChild(it((0,o.jZ)((0,n.Sm)(u),a),e.labelStyle,!1,s));let b=y.getBBox();const x=e.padding/2;if((0,o._3)(a.flowchart.htmlLabels)){const t=y.children[0],e=(0,h.Ltv)(y),r=t.getElementsByTagName("img");if(r){const t=""===u.replace(/]*>/g,"").trim();await Promise.all([...r].map((e=>new Promise((r=>{function s(){if(e.style.display="flex",e.style.flexDirection="column",t){const t=a.fontSize?a.fontSize:window.getComputedStyle(document.body).fontSize,r=5,s=parseInt(t,10)*r+"px";e.style.minWidth=s,e.style.maxWidth=s}else e.style.width="100%";r(e)}(0,o.K2)(s,"setupImage"),setTimeout((()=>{e.complete&&s()})),e.addEventListener("error",s),e.addEventListener("load",s)})))))}b=t.getBoundingClientRect(),e.attr("width",b.width),e.attr("height",b.height)}return c?g.attr("transform","translate("+-b.width/2+", "+-b.height/2+")"):g.attr("transform","translate(0, "+-b.height/2+")"),e.centerLabel&&g.attr("transform","translate("+-b.width/2+", "+-b.height/2+")"),g.insert("rect",":first-child"),{shapeSvg:d,bbox:b,halfPadding:x,label:g}}),"labelHelper"),$t=(0,o.K2)(((t,e)=>{const r=e.node().getBBox();t.width=r.width,t.height=r.height}),"updateNodeBounds");function At(t,e,r,s){return t.insert("polygon",":first-child").attr("points",s.map((function(t){return t.x+","+t.y})).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}(0,o.K2)(At,"insertPolygonShape");var It=(0,o.K2)((async(t,e)=>{e.useHtmlLabels||(0,o.D7)().flowchart.htmlLabels||(e.centerLabel=!0);const{shapeSvg:r,bbox:s,halfPadding:a}=await Tt(t,e,"node "+e.classes,!0);o.Rm.info("Classes = ",e.classes);const i=r.insert("rect",":first-child");return i.attr("rx",e.rx).attr("ry",e.ry).attr("x",-s.width/2-a).attr("y",-s.height/2-a).attr("width",s.width+e.padding).attr("height",s.height+e.padding),$t(e,i),e.intersect=function(t){return Nt.rect(e,t)},r}),"note"),Ot=(0,o.K2)((t=>t?" "+t:""),"formatClass"),Bt=(0,o.K2)(((t,e)=>`${e||"node default"}${Ot(t.classes)} ${Ot(t.class)}`),"getClassesFromNode"),zt=(0,o.K2)((async(t,e)=>{const{shapeSvg:r,bbox:s}=await Tt(t,e,Bt(e,void 0),!0),a=s.width+e.padding+(s.height+e.padding),i=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}];o.Rm.info("Question main (Circle)");const n=At(r,a,a,i);return n.attr("style",e.style),$t(e,n),e.intersect=function(t){return o.Rm.warn("Intersect called"),Nt.polygon(e,i,t)},r}),"question"),Mt=(0,o.K2)(((t,e)=>{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);return r.insert("polygon",":first-child").attr("points",[{x:0,y:14},{x:14,y:0},{x:0,y:-14},{x:-14,y:0}].map((function(t){return t.x+","+t.y})).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),e.width=28,e.height=28,e.intersect=function(t){return Nt.circle(e,14,t)},r}),"choice"),Pt=(0,o.K2)((async(t,e)=>{const{shapeSvg:r,bbox:s}=await Tt(t,e,Bt(e,void 0),!0),a=s.height+e.padding,i=a/4,n=s.width+2*i+e.padding,o=[{x:i,y:0},{x:n-i,y:0},{x:n,y:-a/2},{x:n-i,y:-a},{x:i,y:-a},{x:0,y:-a/2}],l=At(r,n,a,o);return l.attr("style",e.style),$t(e,l),e.intersect=function(t){return Nt.polygon(e,o,t)},r}),"hexagon"),Yt=(0,o.K2)((async(t,e)=>{const{shapeSvg:r,bbox:s}=await Tt(t,e,void 0,!0),a=s.height+2*e.padding,i=a/2,n=s.width+2*i+e.padding,o=mt(e.directions,s,e),l=At(r,n,a,o);return l.attr("style",e.style),$t(e,l),e.intersect=function(t){return Nt.polygon(e,o,t)},r}),"block_arrow"),Ft=(0,o.K2)((async(t,e)=>{const{shapeSvg:r,bbox:s}=await Tt(t,e,Bt(e,void 0),!0),a=s.width+e.padding,i=s.height+e.padding,n=[{x:-i/2,y:0},{x:a,y:0},{x:a,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}];return At(r,a,i,n).attr("style",e.style),e.width=a+i,e.height=i,e.intersect=function(t){return Nt.polygon(e,n,t)},r}),"rect_left_inv_arrow"),jt=(0,o.K2)((async(t,e)=>{const{shapeSvg:r,bbox:s}=await Tt(t,e,Bt(e),!0),a=s.width+e.padding,i=s.height+e.padding,n=[{x:-2*i/6,y:0},{x:a-i/6,y:0},{x:a+2*i/6,y:-i},{x:i/6,y:-i}],o=At(r,a,i,n);return o.attr("style",e.style),$t(e,o),e.intersect=function(t){return Nt.polygon(e,n,t)},r}),"lean_right"),Wt=(0,o.K2)((async(t,e)=>{const{shapeSvg:r,bbox:s}=await Tt(t,e,Bt(e,void 0),!0),a=s.width+e.padding,i=s.height+e.padding,n=[{x:2*i/6,y:0},{x:a+i/6,y:0},{x:a-2*i/6,y:-i},{x:-i/6,y:-i}],o=At(r,a,i,n);return o.attr("style",e.style),$t(e,o),e.intersect=function(t){return Nt.polygon(e,n,t)},r}),"lean_left"),Xt=(0,o.K2)((async(t,e)=>{const{shapeSvg:r,bbox:s}=await Tt(t,e,Bt(e,void 0),!0),a=s.width+e.padding,i=s.height+e.padding,n=[{x:-2*i/6,y:0},{x:a+2*i/6,y:0},{x:a-i/6,y:-i},{x:i/6,y:-i}],o=At(r,a,i,n);return o.attr("style",e.style),$t(e,o),e.intersect=function(t){return Nt.polygon(e,n,t)},r}),"trapezoid"),Ht=(0,o.K2)((async(t,e)=>{const{shapeSvg:r,bbox:s}=await Tt(t,e,Bt(e,void 0),!0),a=s.width+e.padding,i=s.height+e.padding,n=[{x:i/6,y:0},{x:a-i/6,y:0},{x:a+2*i/6,y:-i},{x:-2*i/6,y:-i}],o=At(r,a,i,n);return o.attr("style",e.style),$t(e,o),e.intersect=function(t){return Nt.polygon(e,n,t)},r}),"inv_trapezoid"),Ut=(0,o.K2)((async(t,e)=>{const{shapeSvg:r,bbox:s}=await Tt(t,e,Bt(e,void 0),!0),a=s.width+e.padding,i=s.height+e.padding,n=[{x:0,y:0},{x:a+i/2,y:0},{x:a,y:-i/2},{x:a+i/2,y:-i},{x:0,y:-i}],o=At(r,a,i,n);return o.attr("style",e.style),$t(e,o),e.intersect=function(t){return Nt.polygon(e,n,t)},r}),"rect_right_inv_arrow"),Zt=(0,o.K2)((async(t,e)=>{const{shapeSvg:r,bbox:s}=await Tt(t,e,Bt(e,void 0),!0),a=s.width+e.padding,i=a/2,n=i/(2.5+a/50),o=s.height+n+e.padding,l="M 0,"+n+" a "+i+","+n+" 0,0,0 "+a+" 0 a "+i+","+n+" 0,0,0 "+-a+" 0 l 0,"+o+" a "+i+","+n+" 0,0,0 "+a+" 0 l 0,"+-o,c=r.attr("label-offset-y",n).insert("path",":first-child").attr("style",e.style).attr("d",l).attr("transform","translate("+-a/2+","+-(o/2+n)+")");return $t(e,c),e.intersect=function(t){const r=Nt.rect(e,t),s=r.x-e.x;if(0!=i&&(Math.abs(s)e.height/2-n)){let a=n*n*(1-s*s/(i*i));0!=a&&(a=Math.sqrt(a)),a=n-a,t.y-e.y>0&&(a=-a),r.y+=a}return r},r}),"cylinder"),qt=(0,o.K2)((async(t,e)=>{const{shapeSvg:r,bbox:s,halfPadding:a}=await Tt(t,e,"node "+e.classes+" "+e.class,!0),i=r.insert("rect",":first-child"),n=e.positioned?e.width:s.width+e.padding,l=e.positioned?e.height:s.height+e.padding,c=e.positioned?-n/2:-s.width/2-a,d=e.positioned?-l/2:-s.height/2-a;if(i.attr("class","basic label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",c).attr("y",d).attr("width",n).attr("height",l),e.props){const t=new Set(Object.keys(e.props));e.props.borders&&(Vt(i,e.props.borders,n,l),t.delete("borders")),t.forEach((t=>{o.Rm.warn(`Unknown node property ${t}`)}))}return $t(e,i),e.intersect=function(t){return Nt.rect(e,t)},r}),"rect"),Gt=(0,o.K2)((async(t,e)=>{const{shapeSvg:r,bbox:s,halfPadding:a}=await Tt(t,e,"node "+e.classes,!0),i=r.insert("rect",":first-child"),n=e.positioned?e.width:s.width+e.padding,l=e.positioned?e.height:s.height+e.padding,c=e.positioned?-n/2:-s.width/2-a,d=e.positioned?-l/2:-s.height/2-a;if(i.attr("class","basic cluster composite label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",c).attr("y",d).attr("width",n).attr("height",l),e.props){const t=new Set(Object.keys(e.props));e.props.borders&&(Vt(i,e.props.borders,n,l),t.delete("borders")),t.forEach((t=>{o.Rm.warn(`Unknown node property ${t}`)}))}return $t(e,i),e.intersect=function(t){return Nt.rect(e,t)},r}),"composite"),Jt=(0,o.K2)((async(t,e)=>{const{shapeSvg:r}=await Tt(t,e,"label",!0);o.Rm.trace("Classes = ",e.class);const s=r.insert("rect",":first-child");if(s.attr("width",0).attr("height",0),r.attr("class","label edgeLabel"),e.props){const t=new Set(Object.keys(e.props));e.props.borders&&(Vt(s,e.props.borders,0,0),t.delete("borders")),t.forEach((t=>{o.Rm.warn(`Unknown node property ${t}`)}))}return $t(e,s),e.intersect=function(t){return Nt.rect(e,t)},r}),"labelRect");function Vt(t,e,r,s){const a=[],i=(0,o.K2)((t=>{a.push(t,0)}),"addBorder"),n=(0,o.K2)((t=>{a.push(0,t)}),"skipBorder");e.includes("t")?(o.Rm.debug("add top border"),i(r)):n(r),e.includes("r")?(o.Rm.debug("add right border"),i(s)):n(s),e.includes("b")?(o.Rm.debug("add bottom border"),i(r)):n(r),e.includes("l")?(o.Rm.debug("add left border"),i(s)):n(s),t.attr("stroke-dasharray",a.join(" "))}(0,o.K2)(Vt,"applyNodePropertyBorders");var Qt=(0,o.K2)(((t,e)=>{let r;r=e.classes?"node "+e.classes:"node default";const s=t.insert("g").attr("class",r).attr("id",e.domId||e.id),a=s.insert("rect",":first-child"),i=s.insert("line"),n=s.insert("g").attr("class","label"),l=e.labelText.flat?e.labelText.flat():e.labelText;let c="";c="object"==typeof l?l[0]:l,o.Rm.info("Label text abc79",c,l,"object"==typeof l);const d=n.node().appendChild(it(c,e.labelStyle,!0,!0));let g={width:0,height:0};if((0,o._3)((0,o.D7)().flowchart.htmlLabels)){const t=d.children[0],e=(0,h.Ltv)(d);g=t.getBoundingClientRect(),e.attr("width",g.width),e.attr("height",g.height)}o.Rm.info("Text 2",l);const u=l.slice(1,l.length);let p=d.getBBox();const y=n.node().appendChild(it(u.join?u.join("
    "):u,e.labelStyle,!0,!0));if((0,o._3)((0,o.D7)().flowchart.htmlLabels)){const t=y.children[0],e=(0,h.Ltv)(y);g=t.getBoundingClientRect(),e.attr("width",g.width),e.attr("height",g.height)}const b=e.padding/2;return(0,h.Ltv)(y).attr("transform","translate( "+(g.width>p.width?0:(p.width-g.width)/2)+", "+(p.height+b+5)+")"),(0,h.Ltv)(d).attr("transform","translate( "+(g.width{const{shapeSvg:r,bbox:s}=await Tt(t,e,Bt(e,void 0),!0),a=s.height+e.padding,i=s.width+a/4+e.padding,n=r.insert("rect",":first-child").attr("style",e.style).attr("rx",a/2).attr("ry",a/2).attr("x",-i/2).attr("y",-a/2).attr("width",i).attr("height",a);return $t(e,n),e.intersect=function(t){return Nt.rect(e,t)},r}),"stadium"),ee=(0,o.K2)((async(t,e)=>{const{shapeSvg:r,bbox:s,halfPadding:a}=await Tt(t,e,Bt(e,void 0),!0),i=r.insert("circle",":first-child");return i.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",s.width/2+a).attr("width",s.width+e.padding).attr("height",s.height+e.padding),o.Rm.info("Circle main"),$t(e,i),e.intersect=function(t){return o.Rm.info("Circle intersect",e,s.width/2+a,t),Nt.circle(e,s.width/2+a,t)},r}),"circle"),re=(0,o.K2)((async(t,e)=>{const{shapeSvg:r,bbox:s,halfPadding:a}=await Tt(t,e,Bt(e,void 0),!0),i=r.insert("g",":first-child"),n=i.insert("circle"),l=i.insert("circle");return i.attr("class",e.class),n.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",s.width/2+a+5).attr("width",s.width+e.padding+10).attr("height",s.height+e.padding+10),l.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",s.width/2+a).attr("width",s.width+e.padding).attr("height",s.height+e.padding),o.Rm.info("DoubleCircle main"),$t(e,n),e.intersect=function(t){return o.Rm.info("DoubleCircle intersect",e,s.width/2+a+5,t),Nt.circle(e,s.width/2+a+5,t)},r}),"doublecircle"),se=(0,o.K2)((async(t,e)=>{const{shapeSvg:r,bbox:s}=await Tt(t,e,Bt(e,void 0),!0),a=s.width+e.padding,i=s.height+e.padding,n=[{x:0,y:0},{x:a,y:0},{x:a,y:-i},{x:0,y:-i},{x:0,y:0},{x:-8,y:0},{x:a+8,y:0},{x:a+8,y:-i},{x:-8,y:-i},{x:-8,y:0}],o=At(r,a,i,n);return o.attr("style",e.style),$t(e,o),e.intersect=function(t){return Nt.polygon(e,n,t)},r}),"subroutine"),ae=(0,o.K2)(((t,e)=>{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),s=r.insert("circle",":first-child");return s.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),$t(e,s),e.intersect=function(t){return Nt.circle(e,7,t)},r}),"start"),ie=(0,o.K2)(((t,e,r)=>{const s=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);let a=70,i=10;"LR"===r&&(a=10,i=70);const n=s.append("rect").attr("x",-1*a/2).attr("y",-1*i/2).attr("width",a).attr("height",i).attr("class","fork-join");return $t(e,n),e.height=e.height+e.padding/2,e.width=e.width+e.padding/2,e.intersect=function(t){return Nt.rect(e,t)},s}),"forkJoin"),ne={rhombus:zt,composite:Gt,question:zt,rect:qt,labelRect:Jt,rectWithTitle:Qt,choice:Mt,circle:ee,doublecircle:re,stadium:te,hexagon:Pt,block_arrow:Yt,rect_left_inv_arrow:Ft,lean_right:jt,lean_left:Wt,trapezoid:Xt,inv_trapezoid:Ht,rect_right_inv_arrow:Ut,cylinder:Zt,start:ae,end:(0,o.K2)(((t,e)=>{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),s=r.insert("circle",":first-child"),a=r.insert("circle",":first-child");return a.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),s.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),$t(e,a),e.intersect=function(t){return Nt.circle(e,7,t)},r}),"end"),note:It,subroutine:se,fork:ie,join:ie,class_box:(0,o.K2)(((t,e)=>{const r=e.padding/2;let s;s=e.classes?"node "+e.classes:"node default";const a=t.insert("g").attr("class",s).attr("id",e.domId||e.id),i=a.insert("rect",":first-child"),n=a.insert("line"),l=a.insert("line");let c=0,d=4;const g=a.insert("g").attr("class","label");let u=0;const p=e.classData.annotations?.[0],y=e.classData.annotations[0]?"«"+e.classData.annotations[0]+"»":"",b=g.node().appendChild(it(y,e.labelStyle,!0,!0));let x=b.getBBox();if((0,o._3)((0,o.D7)().flowchart.htmlLabels)){const t=b.children[0],e=(0,h.Ltv)(b);x=t.getBoundingClientRect(),e.attr("width",x.width),e.attr("height",x.height)}e.classData.annotations[0]&&(d+=x.height+4,c+=x.width);let f=e.classData.label;void 0!==e.classData.type&&""!==e.classData.type&&((0,o.D7)().flowchart.htmlLabels?f+="<"+e.classData.type+">":f+="<"+e.classData.type+">");const m=g.node().appendChild(it(f,e.labelStyle,!0,!0));(0,h.Ltv)(m).attr("class","classTitle");let w=m.getBBox();if((0,o._3)((0,o.D7)().flowchart.htmlLabels)){const t=m.children[0],e=(0,h.Ltv)(m);w=t.getBoundingClientRect(),e.attr("width",w.width),e.attr("height",w.height)}d+=w.height+4,w.width>c&&(c=w.width);const _=[];e.classData.members.forEach((t=>{const r=t.getDisplayDetails();let s=r.displayText;(0,o.D7)().flowchart.htmlLabels&&(s=s.replace(//g,">"));const a=g.node().appendChild(it(s,r.cssStyle?r.cssStyle:e.labelStyle,!0,!0));let i=a.getBBox();if((0,o._3)((0,o.D7)().flowchart.htmlLabels)){const t=a.children[0],e=(0,h.Ltv)(a);i=t.getBoundingClientRect(),e.attr("width",i.width),e.attr("height",i.height)}i.width>c&&(c=i.width),d+=i.height+4,_.push(a)})),d+=8;const L=[];if(e.classData.methods.forEach((t=>{const r=t.getDisplayDetails();let s=r.displayText;(0,o.D7)().flowchart.htmlLabels&&(s=s.replace(//g,">"));const a=g.node().appendChild(it(s,r.cssStyle?r.cssStyle:e.labelStyle,!0,!0));let i=a.getBBox();if((0,o._3)((0,o.D7)().flowchart.htmlLabels)){const t=a.children[0],e=(0,h.Ltv)(a);i=t.getBoundingClientRect(),e.attr("width",i.width),e.attr("height",i.height)}i.width>c&&(c=i.width),d+=i.height+4,L.push(a)})),d+=8,p){let t=(c-x.width)/2;(0,h.Ltv)(b).attr("transform","translate( "+(-1*c/2+t)+", "+-1*d/2+")"),u=x.height+4}let k=(c-w.width)/2;return(0,h.Ltv)(m).attr("transform","translate( "+(-1*c/2+k)+", "+(-1*d/2+u)+")"),u+=w.height+4,n.attr("class","divider").attr("x1",-c/2-r).attr("x2",c/2+r).attr("y1",-d/2-r+8+u).attr("y2",-d/2-r+8+u),u+=8,_.forEach((t=>{(0,h.Ltv)(t).attr("transform","translate( "+-c/2+", "+(-1*d/2+u+4)+")");const e=t?.getBBox();u+=(e?.height??0)+4})),u+=8,l.attr("class","divider").attr("x1",-c/2-r).attr("x2",c/2+r).attr("y1",-d/2-r+8+u).attr("y2",-d/2-r+8+u),u+=8,L.forEach((t=>{(0,h.Ltv)(t).attr("transform","translate( "+-c/2+", "+(-1*d/2+u)+")");const e=t?.getBBox();u+=(e?.height??0)+4})),i.attr("style",e.style).attr("class","outer title-state").attr("x",-c/2-r).attr("y",-d/2-r).attr("width",c+e.padding).attr("height",d+e.padding),$t(e,i),e.intersect=function(t){return Nt.rect(e,t)},a}),"class_box")},oe={},le=(0,o.K2)((async(t,e,r)=>{let s,a;if(e.link){let i;"sandbox"===(0,o.D7)().securityLevel?i="_top":e.linkTarget&&(i=e.linkTarget||"_blank"),s=t.insert("svg:a").attr("xlink:href",e.link).attr("target",i),a=await ne[e.shape](s,e,r)}else a=await ne[e.shape](t,e,r),s=a;return e.tooltip&&a.attr("title",e.tooltip),e.class&&a.attr("class","node default "+e.class),oe[e.id]=s,e.haveCallback&&oe[e.id].attr("class",oe[e.id].attr("class")+" clickable"),s}),"insertNode"),ce=(0,o.K2)((t=>{const e=oe[t.id];o.Rm.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");const r=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+r-t.width/2)+", "+(t.y-t.height/2-8)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),r}),"positionNode");function de(t,e,r=!1){const s=t;let a="default";(s?.classes?.length||0)>0&&(a=(s?.classes??[]).join(" ")),a+=" flowchart-label";let i,l=0,c="";switch(s.type){case"round":l=5,c="rect";break;case"composite":l=0,c="composite",i=0;break;case"square":case"group":default:c="rect";break;case"diamond":c="question";break;case"hexagon":c="hexagon";break;case"block_arrow":c="block_arrow";break;case"odd":case"rect_left_inv_arrow":c="rect_left_inv_arrow";break;case"lean_right":c="lean_right";break;case"lean_left":c="lean_left";break;case"trapezoid":c="trapezoid";break;case"inv_trapezoid":c="inv_trapezoid";break;case"circle":c="circle";break;case"ellipse":c="ellipse";break;case"stadium":c="stadium";break;case"subroutine":c="subroutine";break;case"cylinder":c="cylinder";break;case"doublecircle":c="doublecircle"}const d=(0,n.sM)(s?.styles??[]),h=s.label,g=s.size??{width:0,height:0,x:0,y:0};return{labelStyle:d.labelStyle,shape:c,labelText:h,rx:l,ry:l,class:a,style:d.style,id:s.id,directions:s.directions,width:g.width,height:g.height,x:g.x,y:g.y,positioned:r,intersect:void 0,type:s.type,padding:i??(0,o.zj)()?.block?.padding??0}}async function he(t,e,r){const s=de(e,0,!1);if("group"===s.type)return;const a=(0,o.zj)(),i=await le(t,s,{config:a}),n=i.node().getBBox(),l=r.getBlock(s.id);l.size={width:n.width,height:n.height,x:0,y:0,node:i},r.setBlock(l),i.remove()}async function ge(t,e,r){const s=de(e,0,!0);if("space"!==r.getBlock(s.id).type){const r=(0,o.zj)();await le(t,s,{config:r}),e.intersect=s?.intersect,ce(s)}}async function ue(t,e,r,s){for(const a of e)await s(t,a,r),a.children&&await ue(t,a.children,r,s)}async function pe(t,e,r){await ue(t,e,r,he)}async function ye(t,e,r){await ue(t,e,r,ge)}async function be(t,e,r,s,a){const i=new g.T({multigraph:!0,compound:!0});i.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8});for(const t of r)t.size&&i.setNode(t.id,{width:t.size.width,height:t.size.height,intersect:t.intersect});for(const r of e)if(r.start&&r.end){const e=s.getBlock(r.start),n=s.getBlock(r.end);if(e?.size&&n?.size){const s=e.size,o=n.size,l=[{x:s.x,y:s.y},{x:s.x+(o.x-s.x)/2,y:s.y+(o.y-s.y)/2},{x:o.x,y:o.y}];xt(t,{v:r.start,w:r.end,name:r.id},{...r,arrowTypeEnd:r.arrowTypeEnd,arrowTypeStart:r.arrowTypeStart,points:l,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"},void 0,"block",i,a),r.label&&(await ht(t,{...r,label:r.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:r.arrowTypeEnd,arrowTypeStart:r.arrowTypeStart,points:l,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"}),ut({...r,x:l[1].x,y:l[1].y},{originalPath:l}))}}}(0,o.K2)(de,"getNodeFromBlock"),(0,o.K2)(he,"calculateBlockSize"),(0,o.K2)(ge,"insertBlockPositioned"),(0,o.K2)(ue,"performOperations"),(0,o.K2)(pe,"calculateBlockSizes"),(0,o.K2)(ye,"insertBlocks"),(0,o.K2)(be,"insertEdges");var xe=(0,o.K2)((function(t,e){return e.db.getClasses()}),"getClasses"),fe={parser:p,db:W,renderer:{draw:(0,o.K2)((async function(t,e,r,s){const{securityLevel:a,block:i}=(0,o.zj)(),n=s.db;let l;"sandbox"===a&&(l=(0,h.Ltv)("#i"+e));const c="sandbox"===a?(0,h.Ltv)(l.nodes()[0].contentDocument.body):(0,h.Ltv)("body"),d="sandbox"===a?c.select(`[id="${e}"]`):(0,h.Ltv)(`[id="${e}"]`);q(d,["point","circle","cross"],s.type,e);const g=n.getBlocks(),u=n.getBlocksFlat(),p=n.getEdges(),y=d.insert("g").attr("class","block");await pe(y,g,n);const b=rt(n);if(await ye(y,g,n),await be(y,p,u,n,e),b){const t=b,e=Math.max(1,Math.round(t.width/t.height*.125)),r=t.height+e+10,s=t.width+10,{useMaxWidth:a}=i;(0,o.a$)(d,r,s,!!a),o.Rm.debug("Here Bounds",b,t),d.attr("viewBox",`${t.x-5} ${t.y-5} ${t.width+10} ${t.height+10}`)}}),"draw"),getClasses:xe},styles:H}}}]); \ No newline at end of file diff --git a/docs/hugo/public/js/413-c02a8543.chunk.min.js b/docs/hugo/public/js/413-c02a8543.chunk.min.js new file mode 100644 index 000000000..47d1e7446 --- /dev/null +++ b/docs/hugo/public/js/413-c02a8543.chunk.min.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgeekdoc=self.webpackChunkgeekdoc||[]).push([[413],{8413:(e,t,i)=>{i.d(t,{diagram:()=>Y});var n=i(9502),r=i(4852),s=i(567),a=i(697),l=function(){var e=(0,n.K2)((function(e,t,i,n){for(i=i||{},n=e.length;n--;i[e[n]]=t);return i}),"o"),t=[1,3],i=[1,4],r=[1,5],s=[1,6],a=[5,6,8,9,11,13,31,32,33,34,35,36,44,62,63],l=[1,18],o=[2,7],h=[1,22],c=[1,23],u=[1,24],d=[1,25],y=[1,26],p=[1,27],_=[1,20],g=[1,28],E=[1,29],R=[62,63],m=[5,8,9,11,13,31,32,33,34,35,36,44,51,53,62,63],f=[1,47],I=[1,48],S=[1,49],k=[1,50],N=[1,51],b=[1,52],T=[1,53],x=[53,54],w=[1,64],A=[1,60],q=[1,61],v=[1,62],K=[1,63],$=[1,65],O=[1,69],L=[1,70],C=[1,67],M=[1,68],F=[5,8,9,11,13,31,32,33,34,35,36,44,62,63],D={trace:(0,n.K2)((function(){}),"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,requirementType:17,requirementName:18,STRUCT_START:19,requirementBody:20,ID:21,COLONSEP:22,id:23,TEXT:24,text:25,RISK:26,riskLevel:27,VERIFYMTHD:28,verifyType:29,STRUCT_STOP:30,REQUIREMENT:31,FUNCTIONAL_REQUIREMENT:32,INTERFACE_REQUIREMENT:33,PERFORMANCE_REQUIREMENT:34,PHYSICAL_REQUIREMENT:35,DESIGN_CONSTRAINT:36,LOW_RISK:37,MED_RISK:38,HIGH_RISK:39,VERIFY_ANALYSIS:40,VERIFY_DEMONSTRATION:41,VERIFY_INSPECTION:42,VERIFY_TEST:43,ELEMENT:44,elementName:45,elementBody:46,TYPE:47,type:48,DOCREF:49,ref:50,END_ARROW_L:51,relationship:52,LINE:53,END_ARROW_R:54,CONTAINS:55,COPIES:56,DERIVES:57,SATISFIES:58,VERIFIES:59,REFINES:60,TRACES:61,unqString:62,qString:63,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",19:"STRUCT_START",21:"ID",22:"COLONSEP",24:"TEXT",26:"RISK",28:"VERIFYMTHD",30:"STRUCT_STOP",31:"REQUIREMENT",32:"FUNCTIONAL_REQUIREMENT",33:"INTERFACE_REQUIREMENT",34:"PERFORMANCE_REQUIREMENT",35:"PHYSICAL_REQUIREMENT",36:"DESIGN_CONSTRAINT",37:"LOW_RISK",38:"MED_RISK",39:"HIGH_RISK",40:"VERIFY_ANALYSIS",41:"VERIFY_DEMONSTRATION",42:"VERIFY_INSPECTION",43:"VERIFY_TEST",44:"ELEMENT",47:"TYPE",49:"DOCREF",51:"END_ARROW_L",53:"LINE",54:"END_ARROW_R",55:"CONTAINS",56:"COPIES",57:"DERIVES",58:"SATISFIES",59:"VERIFIES",60:"REFINES",61:"TRACES",62:"unqString",63:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[14,5],[20,5],[20,5],[20,5],[20,5],[20,2],[20,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[27,1],[27,1],[27,1],[29,1],[29,1],[29,1],[29,1],[15,5],[46,5],[46,5],[46,2],[46,1],[16,5],[16,5],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[18,1],[18,1],[23,1],[23,1],[25,1],[25,1],[45,1],[45,1],[48,1],[48,1],[50,1],[50,1]],performAction:(0,n.K2)((function(e,t,i,n,r,s,a){var l=s.length-1;switch(r){case 4:this.$=s[l].trim(),n.setAccTitle(this.$);break;case 5:case 6:this.$=s[l].trim(),n.setAccDescription(this.$);break;case 7:this.$=[];break;case 13:n.addRequirement(s[l-3],s[l-4]);break;case 14:n.setNewReqId(s[l-2]);break;case 15:n.setNewReqText(s[l-2]);break;case 16:n.setNewReqRisk(s[l-2]);break;case 17:n.setNewReqVerifyMethod(s[l-2]);break;case 20:this.$=n.RequirementType.REQUIREMENT;break;case 21:this.$=n.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 22:this.$=n.RequirementType.INTERFACE_REQUIREMENT;break;case 23:this.$=n.RequirementType.PERFORMANCE_REQUIREMENT;break;case 24:this.$=n.RequirementType.PHYSICAL_REQUIREMENT;break;case 25:this.$=n.RequirementType.DESIGN_CONSTRAINT;break;case 26:this.$=n.RiskLevel.LOW_RISK;break;case 27:this.$=n.RiskLevel.MED_RISK;break;case 28:this.$=n.RiskLevel.HIGH_RISK;break;case 29:this.$=n.VerifyType.VERIFY_ANALYSIS;break;case 30:this.$=n.VerifyType.VERIFY_DEMONSTRATION;break;case 31:this.$=n.VerifyType.VERIFY_INSPECTION;break;case 32:this.$=n.VerifyType.VERIFY_TEST;break;case 33:n.addElement(s[l-3]);break;case 34:n.setNewElementType(s[l-2]);break;case 35:n.setNewElementDocRef(s[l-2]);break;case 38:n.addRelationship(s[l-2],s[l],s[l-4]);break;case 39:n.addRelationship(s[l-2],s[l-4],s[l]);break;case 40:this.$=n.Relationships.CONTAINS;break;case 41:this.$=n.Relationships.COPIES;break;case 42:this.$=n.Relationships.DERIVES;break;case 43:this.$=n.Relationships.SATISFIES;break;case 44:this.$=n.Relationships.VERIFIES;break;case 45:this.$=n.Relationships.REFINES;break;case 46:this.$=n.Relationships.TRACES}}),"anonymous"),table:[{3:1,4:2,6:t,9:i,11:r,13:s},{1:[3]},{3:8,4:2,5:[1,7],6:t,9:i,11:r,13:s},{5:[1,9]},{10:[1,10]},{12:[1,11]},e(a,[2,6]),{3:12,4:2,6:t,9:i,11:r,13:s},{1:[2,2]},{4:17,5:l,7:13,8:o,9:i,11:r,13:s,14:14,15:15,16:16,17:19,23:21,31:h,32:c,33:u,34:d,35:y,36:p,44:_,62:g,63:E},e(a,[2,4]),e(a,[2,5]),{1:[2,1]},{8:[1,30]},{4:17,5:l,7:31,8:o,9:i,11:r,13:s,14:14,15:15,16:16,17:19,23:21,31:h,32:c,33:u,34:d,35:y,36:p,44:_,62:g,63:E},{4:17,5:l,7:32,8:o,9:i,11:r,13:s,14:14,15:15,16:16,17:19,23:21,31:h,32:c,33:u,34:d,35:y,36:p,44:_,62:g,63:E},{4:17,5:l,7:33,8:o,9:i,11:r,13:s,14:14,15:15,16:16,17:19,23:21,31:h,32:c,33:u,34:d,35:y,36:p,44:_,62:g,63:E},{4:17,5:l,7:34,8:o,9:i,11:r,13:s,14:14,15:15,16:16,17:19,23:21,31:h,32:c,33:u,34:d,35:y,36:p,44:_,62:g,63:E},{4:17,5:l,7:35,8:o,9:i,11:r,13:s,14:14,15:15,16:16,17:19,23:21,31:h,32:c,33:u,34:d,35:y,36:p,44:_,62:g,63:E},{18:36,62:[1,37],63:[1,38]},{45:39,62:[1,40],63:[1,41]},{51:[1,42],53:[1,43]},e(R,[2,20]),e(R,[2,21]),e(R,[2,22]),e(R,[2,23]),e(R,[2,24]),e(R,[2,25]),e(m,[2,49]),e(m,[2,50]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{19:[1,44]},{19:[2,47]},{19:[2,48]},{19:[1,45]},{19:[2,53]},{19:[2,54]},{52:46,55:f,56:I,57:S,58:k,59:N,60:b,61:T},{52:54,55:f,56:I,57:S,58:k,59:N,60:b,61:T},{5:[1,55]},{5:[1,56]},{53:[1,57]},e(x,[2,40]),e(x,[2,41]),e(x,[2,42]),e(x,[2,43]),e(x,[2,44]),e(x,[2,45]),e(x,[2,46]),{54:[1,58]},{5:w,20:59,21:A,24:q,26:v,28:K,30:$},{5:O,30:L,46:66,47:C,49:M},{23:71,62:g,63:E},{23:72,62:g,63:E},e(F,[2,13]),{22:[1,73]},{22:[1,74]},{22:[1,75]},{22:[1,76]},{5:w,20:77,21:A,24:q,26:v,28:K,30:$},e(F,[2,19]),e(F,[2,33]),{22:[1,78]},{22:[1,79]},{5:O,30:L,46:80,47:C,49:M},e(F,[2,37]),e(F,[2,38]),e(F,[2,39]),{23:81,62:g,63:E},{25:82,62:[1,83],63:[1,84]},{27:85,37:[1,86],38:[1,87],39:[1,88]},{29:89,40:[1,90],41:[1,91],42:[1,92],43:[1,93]},e(F,[2,18]),{48:94,62:[1,95],63:[1,96]},{50:97,62:[1,98],63:[1,99]},e(F,[2,36]),{5:[1,100]},{5:[1,101]},{5:[2,51]},{5:[2,52]},{5:[1,102]},{5:[2,26]},{5:[2,27]},{5:[2,28]},{5:[1,103]},{5:[2,29]},{5:[2,30]},{5:[2,31]},{5:[2,32]},{5:[1,104]},{5:[2,55]},{5:[2,56]},{5:[1,105]},{5:[2,57]},{5:[2,58]},{5:w,20:106,21:A,24:q,26:v,28:K,30:$},{5:w,20:107,21:A,24:q,26:v,28:K,30:$},{5:w,20:108,21:A,24:q,26:v,28:K,30:$},{5:w,20:109,21:A,24:q,26:v,28:K,30:$},{5:O,30:L,46:110,47:C,49:M},{5:O,30:L,46:111,47:C,49:M},e(F,[2,14]),e(F,[2,15]),e(F,[2,16]),e(F,[2,17]),e(F,[2,34]),e(F,[2,35])],defaultActions:{8:[2,2],12:[2,1],30:[2,3],31:[2,8],32:[2,9],33:[2,10],34:[2,11],35:[2,12],37:[2,47],38:[2,48],40:[2,53],41:[2,54],83:[2,51],84:[2,52],86:[2,26],87:[2,27],88:[2,28],90:[2,29],91:[2,30],92:[2,31],93:[2,32],95:[2,55],96:[2,56],98:[2,57],99:[2,58]},parseError:(0,n.K2)((function(e,t){if(!t.recoverable){var i=new Error(e);throw i.hash=t,i}this.trace(e)}),"parseError"),parse:(0,n.K2)((function(e){var t=this,i=[0],r=[],s=[null],a=[],l=this.table,o="",h=0,c=0,u=0,d=a.slice.call(arguments,1),y=Object.create(this.lexer),p={yy:{}};for(var _ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,_)&&(p.yy[_]=this.yy[_]);y.setInput(e,p.yy),p.yy.lexer=y,p.yy.parser=this,void 0===y.yylloc&&(y.yylloc={});var g=y.yylloc;a.push(g);var E=y.options&&y.options.ranges;function R(){var e;return"number"!=typeof(e=r.pop()||y.lex()||1)&&(e instanceof Array&&(e=(r=e).pop()),e=t.symbols_[e]||e),e}"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,n.K2)((function(e){i.length=i.length-2*e,s.length=s.length-e,a.length=a.length-e}),"popStack"),(0,n.K2)(R,"lex");for(var m,f,I,S,k,N,b,T,x,w={};;){if(I=i[i.length-1],this.defaultActions[I]?S=this.defaultActions[I]:(null==m&&(m=R()),S=l[I]&&l[I][m]),void 0===S||!S.length||!S[0]){var A;for(N in x=[],l[I])this.terminals_[N]&&N>2&&x.push("'"+this.terminals_[N]+"'");A=y.showPosition?"Parse error on line "+(h+1)+":\n"+y.showPosition()+"\nExpecting "+x.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(h+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(A,{text:y.match,token:this.terminals_[m]||m,line:y.yylineno,loc:g,expected:x})}if(S[0]instanceof Array&&S.length>1)throw new Error("Parse Error: multiple actions possible at state: "+I+", token: "+m);switch(S[0]){case 1:i.push(m),s.push(y.yytext),a.push(y.yylloc),i.push(S[1]),m=null,f?(m=f,f=null):(c=y.yyleng,o=y.yytext,h=y.yylineno,g=y.yylloc,u>0&&u--);break;case 2:if(b=this.productions_[S[1]][1],w.$=s[s.length-b],w._$={first_line:a[a.length-(b||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(b||1)].first_column,last_column:a[a.length-1].last_column},E&&(w._$.range=[a[a.length-(b||1)].range[0],a[a.length-1].range[1]]),void 0!==(k=this.performAction.apply(w,[o,c,h,p.yy,S[1],s,a].concat(d))))return k;b&&(i=i.slice(0,-1*b*2),s=s.slice(0,-1*b),a=a.slice(0,-1*b)),i.push(this.productions_[S[1]][0]),s.push(w.$),a.push(w._$),T=l[i[i.length-2]][i[i.length-1]],i.push(T);break;case 3:return!0}}return!0}),"parse")},P=function(){return{EOF:1,parseError:(0,n.K2)((function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)}),"parseError"),setInput:(0,n.K2)((function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this}),"setInput"),input:(0,n.K2)((function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e}),"input"),unput:(0,n.K2)((function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===n.length?this.yylloc.first_column:0)+n[n.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this}),"unput"),more:(0,n.K2)((function(){return this._more=!0,this}),"more"),reject:(0,n.K2)((function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"reject"),less:(0,n.K2)((function(e){this.unput(this.match.slice(e))}),"less"),pastInput:(0,n.K2)((function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")}),"pastInput"),upcomingInput:(0,n.K2)((function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")}),"upcomingInput"),showPosition:(0,n.K2)((function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"}),"showPosition"),test_match:(0,n.K2)((function(e,t){var i,n,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(n=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],i=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack){for(var s in r)this[s]=r[s];return!1}return!1}),"test_match"),next:(0,n.K2)((function(){if(this.done)return this.EOF;var e,t,i,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),s=0;st[0].length)){if(t=i,n=s,this.options.backtrack_lexer){if(!1!==(e=this.test_match(i,r[s])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"next"),lex:(0,n.K2)((function(){return this.next()||this.lex()}),"lex"),begin:(0,n.K2)((function(e){this.conditionStack.push(e)}),"begin"),popState:(0,n.K2)((function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]}),"popState"),_currentRules:(0,n.K2)((function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules}),"_currentRules"),topState:(0,n.K2)((function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"}),"topState"),pushState:(0,n.K2)((function(e){this.begin(e)}),"pushState"),stateStackSize:(0,n.K2)((function(){return this.conditionStack.length}),"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,n.K2)((function(e,t,i,n){switch(i){case 0:return"title";case 1:return this.begin("acc_title"),9;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),11;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:case 48:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:return 5;case 9:case 10:case 11:break;case 12:return 8;case 13:return 6;case 14:return 19;case 15:return 30;case 16:return 22;case 17:return 21;case 18:return 24;case 19:return 26;case 20:return 28;case 21:return 31;case 22:return 32;case 23:return 33;case 24:return 34;case 25:return 35;case 26:return 36;case 27:return 37;case 28:return 38;case 29:return 39;case 30:return 40;case 31:return 41;case 32:return 42;case 33:return 43;case 34:return 44;case 35:return 55;case 36:return 56;case 37:return 57;case 38:return 58;case 39:return 59;case 40:return 60;case 41:return 61;case 42:return 47;case 43:return 49;case 44:return 51;case 45:return 54;case 46:return 53;case 47:this.begin("string");break;case 49:return"qString";case 50:return t.yytext=t.yytext.trim(),62}}),"anonymous"),rules:[/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^\r\n\{\<\>\-\=]*)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},unqString:{rules:[],inclusive:!1},token:{rules:[],inclusive:!1},string:{rules:[48,49],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,50],inclusive:!0}}}}();function V(){this.yy={}}return D.lexer=P,(0,n.K2)(V,"Parser"),V.prototype=D,D.Parser=V,new V}();l.parser=l;var o=l,h=[],c={},u=new Map,d={},y=new Map,p=(0,n.K2)(((e,t)=>(u.has(e)||u.set(e,{name:e,type:t,id:c.id,text:c.text,risk:c.risk,verifyMethod:c.verifyMethod}),c={},u.get(e))),"addRequirement"),_=(0,n.K2)((()=>u),"getRequirements"),g=(0,n.K2)((e=>{void 0!==c&&(c.id=e)}),"setNewReqId"),E=(0,n.K2)((e=>{void 0!==c&&(c.text=e)}),"setNewReqText"),R=(0,n.K2)((e=>{void 0!==c&&(c.risk=e)}),"setNewReqRisk"),m=(0,n.K2)((e=>{void 0!==c&&(c.verifyMethod=e)}),"setNewReqVerifyMethod"),f=(0,n.K2)((e=>(y.has(e)||(y.set(e,{name:e,type:d.type,docRef:d.docRef}),n.Rm.info("Added new requirement: ",e)),d={},y.get(e))),"addElement"),I=(0,n.K2)((()=>y),"getElements"),S=(0,n.K2)((e=>{void 0!==d&&(d.type=e)}),"setNewElementType"),k=(0,n.K2)((e=>{void 0!==d&&(d.docRef=e)}),"setNewElementDocRef"),N=(0,n.K2)(((e,t,i)=>{h.push({type:e,src:t,dst:i})}),"addRelationship"),b=(0,n.K2)((()=>h),"getRelationships"),T=(0,n.K2)((()=>{h=[],c={},u=new Map,d={},y=new Map,(0,n.IU)()}),"clear"),x={RequirementType:{REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"},RiskLevel:{LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"},VerifyType:{VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"},Relationships:{CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"},getConfig:(0,n.K2)((()=>(0,n.D7)().req),"getConfig"),addRequirement:p,getRequirements:_,setNewReqId:g,setNewReqText:E,setNewReqRisk:R,setNewReqVerifyMethod:m,setAccTitle:n.SV,getAccTitle:n.iN,setAccDescription:n.EI,getAccDescription:n.m7,addElement:f,getElements:I,setNewElementType:S,setNewElementDocRef:k,addRelationship:N,getRelationships:b,clear:T},w=(0,n.K2)((e=>`\n\n marker {\n fill: ${e.relationColor};\n stroke: ${e.relationColor};\n }\n\n marker.cross {\n stroke: ${e.lineColor};\n }\n\n svg {\n font-family: ${e.fontFamily};\n font-size: ${e.fontSize};\n }\n\n .reqBox {\n fill: ${e.requirementBackground};\n fill-opacity: 1.0;\n stroke: ${e.requirementBorderColor};\n stroke-width: ${e.requirementBorderSize};\n }\n \n .reqTitle, .reqLabel{\n fill: ${e.requirementTextColor};\n }\n .reqLabelBox {\n fill: ${e.relationLabelBackground};\n fill-opacity: 1.0;\n }\n\n .req-title-line {\n stroke: ${e.requirementBorderColor};\n stroke-width: ${e.requirementBorderSize};\n }\n .relationshipLine {\n stroke: ${e.relationColor};\n stroke-width: 1;\n }\n .relationshipLabel {\n fill: ${e.relationLabelColor};\n }\n\n`),"getStyles"),A={CONTAINS:"contains",ARROW:"arrow"},q={ReqMarkers:A,insertLineEndings:(0,n.K2)(((e,t)=>{let i=e.append("defs").append("marker").attr("id",A.CONTAINS+"_line_ending").attr("refX",0).attr("refY",t.line_height/2).attr("markerWidth",t.line_height).attr("markerHeight",t.line_height).attr("orient","auto").append("g");i.append("circle").attr("cx",t.line_height/2).attr("cy",t.line_height/2).attr("r",t.line_height/2).attr("fill","none"),i.append("line").attr("x1",0).attr("x2",t.line_height).attr("y1",t.line_height/2).attr("y2",t.line_height/2).attr("stroke-width",1),i.append("line").attr("y1",0).attr("y2",t.line_height).attr("x1",t.line_height/2).attr("x2",t.line_height/2).attr("stroke-width",1),e.append("defs").append("marker").attr("id",A.ARROW+"_line_ending").attr("refX",t.line_height).attr("refY",.5*t.line_height).attr("markerWidth",t.line_height).attr("markerHeight",t.line_height).attr("orient","auto").append("path").attr("d",`M0,0\n L${t.line_height},${t.line_height/2}\n M${t.line_height},${t.line_height/2}\n L0,${t.line_height}`).attr("stroke-width",1)}),"insertLineEndings")},v={},K=0,$=(0,n.K2)(((e,t)=>e.insert("rect","#"+t).attr("class","req reqBox").attr("x",0).attr("y",0).attr("width",v.rect_min_width+"px").attr("height",v.rect_min_height+"px")),"newRectNode"),O=(0,n.K2)(((e,t,i)=>{let n=v.rect_min_width/2,r=e.append("text").attr("class","req reqLabel reqTitle").attr("id",t).attr("x",n).attr("y",v.rect_padding).attr("dominant-baseline","hanging"),s=0;i.forEach((e=>{0==s?r.append("tspan").attr("text-anchor","middle").attr("x",v.rect_min_width/2).attr("dy",0).text(e):r.append("tspan").attr("text-anchor","middle").attr("x",v.rect_min_width/2).attr("dy",.75*v.line_height).text(e),s++}));let a=1.5*v.rect_padding+s*v.line_height*.75;return e.append("line").attr("class","req-title-line").attr("x1","0").attr("x2",v.rect_min_width).attr("y1",a).attr("y2",a),{titleNode:r,y:a}}),"newTitleNode"),L=(0,n.K2)(((e,t,i,n)=>{let r=e.append("text").attr("class","req reqLabel").attr("id",t).attr("x",v.rect_padding).attr("y",n).attr("dominant-baseline","hanging"),s=0,a=[];return i.forEach((e=>{let t=e.length;for(;t>30&&s<3;){let i=e.substring(0,30);t=(e=e.substring(30,e.length)).length,a[a.length]=i,s++}if(3==s){let e=a[a.length-1];a[a.length-1]=e.substring(0,e.length-4)+"..."}else a[a.length]=e;s=0})),a.forEach((e=>{r.append("tspan").attr("x",v.rect_padding).attr("dy",v.line_height).text(e)})),r}),"newBodyNode"),C=(0,n.K2)(((e,t,i,n)=>{const r=t.node().getTotalLength(),s=t.node().getPointAtLength(.5*r),a="rel"+K;K++;const l=e.append("text").attr("class","req relationshipLabel").attr("id",a).attr("x",s.x).attr("y",s.y).attr("text-anchor","middle").attr("dominant-baseline","middle").text(n).node().getBBox();e.insert("rect","#"+a).attr("class","req reqLabelBox").attr("x",s.x-l.width/2).attr("y",s.y-l.height/2).attr("width",l.width).attr("height",l.height).attr("fill","white").attr("fill-opacity","85%")}),"addEdgeLabel"),M=(0,n.K2)((function(e,t,i,s,a){const l=i.edge(U(t.src),U(t.dst)),o=(0,r.n8j)().x((function(e){return e.x})).y((function(e){return e.y})),h=e.insert("path","#"+s).attr("class","er relationshipLine").attr("d",o(l.points)).attr("fill","none");t.type==a.db.Relationships.CONTAINS?h.attr("marker-start","url("+n.Y2.getUrl(v.arrowMarkerAbsolute)+"#"+t.type+"_line_ending)"):(h.attr("stroke-dasharray","10,7"),h.attr("marker-end","url("+n.Y2.getUrl(v.arrowMarkerAbsolute)+"#"+q.ReqMarkers.ARROW+"_line_ending)")),C(e,h,v,`<<${t.type}>>`)}),"drawRelationshipFromLayout"),F=(0,n.K2)(((e,t,i)=>{e.forEach(((e,r)=>{r=U(r),n.Rm.info("Added new requirement: ",r);const s=i.append("g").attr("id",r),a=$(s,"req-"+r);let l=[],o=O(s,r+"_title",[`<<${e.type}>>`,`${e.name}`]);l.push(o.titleNode);let h=L(s,r+"_body",[`Id: ${e.id}`,`Text: ${e.text}`,`Risk: ${e.risk}`,`Verification: ${e.verifyMethod}`],o.y);l.push(h);const c=a.node().getBBox();t.setNode(r,{width:c.width,height:c.height,shape:"rect",id:r})}))}),"drawReqs"),D=(0,n.K2)(((e,t,i)=>{e.forEach(((e,n)=>{const r=U(n),s=i.append("g").attr("id",r),a="element-"+r,l=$(s,a);let o=[],h=O(s,a+"_title",["<>",`${n}`]);o.push(h.titleNode);let c=L(s,a+"_body",[`Type: ${e.type||"Not Specified"}`,`Doc Ref: ${e.docRef||"None"}`],h.y);o.push(c);const u=l.node().getBBox();t.setNode(r,{width:u.width,height:u.height,shape:"rect",id:r})}))}),"drawElements"),P=(0,n.K2)(((e,t)=>(e.forEach((function(e){let i=U(e.src),n=U(e.dst);t.setEdge(i,n,{relationship:e})})),e)),"addRelationships"),V=(0,n.K2)((function(e,t){t.nodes().forEach((function(i){void 0!==i&&void 0!==t.node(i)&&(e.select("#"+i),e.select("#"+i).attr("transform","translate("+(t.node(i).x-t.node(i).width/2)+","+(t.node(i).y-t.node(i).height/2)+" )"))}))}),"adjustEntities"),U=(0,n.K2)((e=>e.replace(/\s/g,"").replace(/\./g,"_")),"elementString"),Y={parser:o,db:x,renderer:{draw:(0,n.K2)(((e,t,i,l)=>{const o=(v=(0,n.D7)().requirement).securityLevel;let h;"sandbox"===o&&(h=(0,r.Ltv)("#i"+t));const c=("sandbox"===o?(0,r.Ltv)(h.nodes()[0].contentDocument.body):(0,r.Ltv)("body")).select(`[id='${t}']`);q.insertLineEndings(c,v);const u=new a.T({multigraph:!1,compound:!1,directed:!0}).setGraph({rankdir:v.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel((function(){return{}}));let d=l.db.getRequirements(),y=l.db.getElements(),p=l.db.getRelationships();F(d,u,c),D(y,u,c),P(p,u),(0,s.Zp)(u),V(c,u),p.forEach((function(e){M(c,e,u,t,l)}));const _=v.rect_padding,g=c.node().getBBox(),E=g.width+2*_,R=g.height+2*_;(0,n.a$)(c,R,E,v.useMaxWidth),c.attr("viewBox",`${g.x-_} ${g.y-_} ${E} ${R}`)}),"draw")},styles:w}}}]); \ No newline at end of file diff --git a/docs/hugo/public/js/417-65958f5a.chunk.min.js b/docs/hugo/public/js/417-65958f5a.chunk.min.js new file mode 100644 index 000000000..5648acf0d --- /dev/null +++ b/docs/hugo/public/js/417-65958f5a.chunk.min.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgeekdoc=self.webpackChunkgeekdoc||[]).push([[417],{5417:(t,e,r)=>{r.d(e,{diagram:()=>F});var a=r(8159),i=r(9502),n=r(697),s=r(4852),o=r(567);const c=[];for(let t=0;t<256;++t)c.push((t+256).toString(16).slice(1));const l=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,h=function(t){if(!function(t){return"string"==typeof t&&l.test(t)}(t))throw TypeError("Invalid UUID");let e;const r=new Uint8Array(16);return r[0]=(e=parseInt(t.slice(0,8),16))>>>24,r[1]=e>>>16&255,r[2]=e>>>8&255,r[3]=255&e,r[4]=(e=parseInt(t.slice(9,13),16))>>>8,r[5]=255&e,r[6]=(e=parseInt(t.slice(14,18),16))>>>8,r[7]=255&e,r[8]=(e=parseInt(t.slice(19,23),16))>>>8,r[9]=255&e,r[10]=(e=parseInt(t.slice(24,36),16))/1099511627776&255,r[11]=e/4294967296&255,r[12]=e>>>24&255,r[13]=e>>>16&255,r[14]=e>>>8&255,r[15]=255&e,r};function d(t,e,r,a){switch(t){case 0:return e&r^~e&a;case 1:case 3:return e^r^a;case 2:return e&r^e&a^r&a}}function u(t,e){return t<>>32-e}const y=function(){function t(t,e,r,a){var i;if("string"==typeof t&&(t=function(t){t=unescape(encodeURIComponent(t));const e=[];for(let r=0;r>>0;l=c,c=o,o=u(s,30)>>>0,s=i,i=n}r[0]=r[0]+i>>>0,r[1]=r[1]+s>>>0,r[2]=r[2]+o>>>0,r[3]=r[3]+c>>>0,r[4]=r[4]+l>>>0}return[r[0]>>24&255,r[0]>>16&255,r[0]>>8&255,255&r[0],r[1]>>24&255,r[1]>>16&255,r[1]>>8&255,255&r[1],r[2]>>24&255,r[2]>>16&255,r[2]>>8&255,255&r[2],r[3]>>24&255,r[3]>>16&255,r[3]>>8&255,255&r[3],r[4]>>24&255,r[4]>>16&255,r[4]>>8&255,255&r[4]]}(n),n[6]=15&n[6]|80,n[8]=63&n[8]|128,r){a=a||0;for(let t=0;t<16;++t)r[a+t]=n[t];return r}return function(t,e=0){return c[t[e+0]]+c[t[e+1]]+c[t[e+2]]+c[t[e+3]]+"-"+c[t[e+4]]+c[t[e+5]]+"-"+c[t[e+6]]+c[t[e+7]]+"-"+c[t[e+8]]+c[t[e+9]]+"-"+c[t[e+10]]+c[t[e+11]]+c[t[e+12]]+c[t[e+13]]+c[t[e+14]]+c[t[e+15]]}(n)}try{t.name="v5"}catch(t){}return t.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",t.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8",t}();var p=function(){var t=(0,i.K2)((function(t,e,r,a){for(r=r||{},a=t.length;a--;r[t[a]]=e);return r}),"o"),e=[6,8,10,20,22,24,26,27,28],r=[1,10],a=[1,11],n=[1,12],s=[1,13],o=[1,14],c=[1,15],l=[1,21],h=[1,22],d=[1,23],u=[1,24],y=[1,25],p=[6,8,10,13,15,18,19,20,22,24,26,27,28,41,42,43,44,45],_=[1,34],f=[27,28,46,47],E=[41,42,43,44,45],g=[17,34],m=[1,54],O=[1,53],k=[17,34,36,38],b={trace:(0,i.K2)((function(){}),"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,":":13,role:14,BLOCK_START:15,attributes:16,BLOCK_STOP:17,SQS:18,SQE:19,title:20,title_value:21,acc_title:22,acc_title_value:23,acc_descr:24,acc_descr_value:25,acc_descr_multiline_value:26,ALPHANUM:27,ENTITY_NAME:28,attribute:29,attributeType:30,attributeName:31,attributeKeyTypeList:32,attributeComment:33,ATTRIBUTE_WORD:34,attributeKeyType:35,COMMA:36,ATTRIBUTE_KEY:37,COMMENT:38,cardinality:39,relType:40,ZERO_OR_ONE:41,ZERO_OR_MORE:42,ONE_OR_MORE:43,ONLY_ONE:44,MD_PARENT:45,NON_IDENTIFYING:46,IDENTIFYING:47,WORD:48,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:":",15:"BLOCK_START",17:"BLOCK_STOP",18:"SQS",19:"SQE",20:"title",21:"title_value",22:"acc_title",23:"acc_title_value",24:"acc_descr",25:"acc_descr_value",26:"acc_descr_multiline_value",27:"ALPHANUM",28:"ENTITY_NAME",34:"ATTRIBUTE_WORD",36:"COMMA",37:"ATTRIBUTE_KEY",38:"COMMENT",41:"ZERO_OR_ONE",42:"ZERO_OR_MORE",43:"ONE_OR_MORE",44:"ONLY_ONE",45:"MD_PARENT",46:"NON_IDENTIFYING",47:"IDENTIFYING",48:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,4],[9,3],[9,1],[9,7],[9,6],[9,4],[9,2],[9,2],[9,2],[9,1],[11,1],[11,1],[16,1],[16,2],[29,2],[29,3],[29,3],[29,4],[30,1],[31,1],[32,1],[32,3],[35,1],[33,1],[12,3],[39,1],[39,1],[39,1],[39,1],[39,1],[40,1],[40,1],[14,1],[14,1],[14,1]],performAction:(0,i.K2)((function(t,e,r,a,i,n,s){var o=n.length-1;switch(i){case 1:break;case 2:case 6:case 7:this.$=[];break;case 3:n[o-1].push(n[o]),this.$=n[o-1];break;case 4:case 5:case 19:case 43:case 27:case 28:case 31:this.$=n[o];break;case 8:a.addEntity(n[o-4]),a.addEntity(n[o-2]),a.addRelationship(n[o-4],n[o],n[o-2],n[o-3]);break;case 9:a.addEntity(n[o-3]),a.addAttributes(n[o-3],n[o-1]);break;case 10:a.addEntity(n[o-2]);break;case 11:a.addEntity(n[o]);break;case 12:a.addEntity(n[o-6],n[o-4]),a.addAttributes(n[o-6],n[o-1]);break;case 13:a.addEntity(n[o-5],n[o-3]);break;case 14:a.addEntity(n[o-3],n[o-1]);break;case 15:case 16:this.$=n[o].trim(),a.setAccTitle(this.$);break;case 17:case 18:this.$=n[o].trim(),a.setAccDescription(this.$);break;case 20:case 41:case 42:case 32:this.$=n[o].replace(/"/g,"");break;case 21:case 29:this.$=[n[o]];break;case 22:n[o].push(n[o-1]),this.$=n[o];break;case 23:this.$={attributeType:n[o-1],attributeName:n[o]};break;case 24:this.$={attributeType:n[o-2],attributeName:n[o-1],attributeKeyTypeList:n[o]};break;case 25:this.$={attributeType:n[o-2],attributeName:n[o-1],attributeComment:n[o]};break;case 26:this.$={attributeType:n[o-3],attributeName:n[o-2],attributeKeyTypeList:n[o-1],attributeComment:n[o]};break;case 30:n[o-2].push(n[o]),this.$=n[o-2];break;case 33:this.$={cardA:n[o],relType:n[o-1],cardB:n[o-2]};break;case 34:this.$=a.Cardinality.ZERO_OR_ONE;break;case 35:this.$=a.Cardinality.ZERO_OR_MORE;break;case 36:this.$=a.Cardinality.ONE_OR_MORE;break;case 37:this.$=a.Cardinality.ONLY_ONE;break;case 38:this.$=a.Cardinality.MD_PARENT;break;case 39:this.$=a.Identification.NON_IDENTIFYING;break;case 40:this.$=a.Identification.IDENTIFYING}}),"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,20:r,22:a,24:n,26:s,27:o,28:c},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:16,11:9,20:r,22:a,24:n,26:s,27:o,28:c},t(e,[2,5]),t(e,[2,6]),t(e,[2,11],{12:17,39:20,15:[1,18],18:[1,19],41:l,42:h,43:d,44:u,45:y}),{21:[1,26]},{23:[1,27]},{25:[1,28]},t(e,[2,18]),t(p,[2,19]),t(p,[2,20]),t(e,[2,4]),{11:29,27:o,28:c},{16:30,17:[1,31],29:32,30:33,34:_},{11:35,27:o,28:c},{40:36,46:[1,37],47:[1,38]},t(f,[2,34]),t(f,[2,35]),t(f,[2,36]),t(f,[2,37]),t(f,[2,38]),t(e,[2,15]),t(e,[2,16]),t(e,[2,17]),{13:[1,39]},{17:[1,40]},t(e,[2,10]),{16:41,17:[2,21],29:32,30:33,34:_},{31:42,34:[1,43]},{34:[2,27]},{19:[1,44]},{39:45,41:l,42:h,43:d,44:u,45:y},t(E,[2,39]),t(E,[2,40]),{14:46,27:[1,49],28:[1,48],48:[1,47]},t(e,[2,9]),{17:[2,22]},t(g,[2,23],{32:50,33:51,35:52,37:m,38:O}),t([17,34,37,38],[2,28]),t(e,[2,14],{15:[1,55]}),t([27,28],[2,33]),t(e,[2,8]),t(e,[2,41]),t(e,[2,42]),t(e,[2,43]),t(g,[2,24],{33:56,36:[1,57],38:O}),t(g,[2,25]),t(k,[2,29]),t(g,[2,32]),t(k,[2,31]),{16:58,17:[1,59],29:32,30:33,34:_},t(g,[2,26]),{35:60,37:m},{17:[1,61]},t(e,[2,13]),t(k,[2,30]),t(e,[2,12])],defaultActions:{34:[2,27],41:[2,22]},parseError:(0,i.K2)((function(t,e){if(!e.recoverable){var r=new Error(t);throw r.hash=e,r}this.trace(t)}),"parseError"),parse:(0,i.K2)((function(t){var e=this,r=[0],a=[],n=[null],s=[],o=this.table,c="",l=0,h=0,d=0,u=s.slice.call(arguments,1),y=Object.create(this.lexer),p={yy:{}};for(var _ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,_)&&(p.yy[_]=this.yy[_]);y.setInput(t,p.yy),p.yy.lexer=y,p.yy.parser=this,void 0===y.yylloc&&(y.yylloc={});var f=y.yylloc;s.push(f);var E=y.options&&y.options.ranges;function g(){var t;return"number"!=typeof(t=a.pop()||y.lex()||1)&&(t instanceof Array&&(t=(a=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,i.K2)((function(t){r.length=r.length-2*t,n.length=n.length-t,s.length=s.length-t}),"popStack"),(0,i.K2)(g,"lex");for(var m,O,k,b,R,N,x,T,A,M={};;){if(k=r[r.length-1],this.defaultActions[k]?b=this.defaultActions[k]:(null==m&&(m=g()),b=o[k]&&o[k][m]),void 0===b||!b.length||!b[0]){var w;for(N in A=[],o[k])this.terminals_[N]&&N>2&&A.push("'"+this.terminals_[N]+"'");w=y.showPosition?"Parse error on line "+(l+1)+":\n"+y.showPosition()+"\nExpecting "+A.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(w,{text:y.match,token:this.terminals_[m]||m,line:y.yylineno,loc:f,expected:A})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+k+", token: "+m);switch(b[0]){case 1:r.push(m),n.push(y.yytext),s.push(y.yylloc),r.push(b[1]),m=null,O?(m=O,O=null):(h=y.yyleng,c=y.yytext,l=y.yylineno,f=y.yylloc,d>0&&d--);break;case 2:if(x=this.productions_[b[1]][1],M.$=n[n.length-x],M._$={first_line:s[s.length-(x||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(x||1)].first_column,last_column:s[s.length-1].last_column},E&&(M._$.range=[s[s.length-(x||1)].range[0],s[s.length-1].range[1]]),void 0!==(R=this.performAction.apply(M,[c,h,l,p.yy,b[1],n,s].concat(u))))return R;x&&(r=r.slice(0,-1*x*2),n=n.slice(0,-1*x),s=s.slice(0,-1*x)),r.push(this.productions_[b[1]][0]),n.push(M.$),s.push(M._$),T=o[r[r.length-2]][r[r.length-1]],r.push(T);break;case 3:return!0}}return!0}),"parse")},R=function(){return{EOF:1,parseError:(0,i.K2)((function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)}),"parseError"),setInput:(0,i.K2)((function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this}),"setInput"),input:(0,i.K2)((function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t}),"input"),unput:(0,i.K2)((function(t){var e=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var a=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===a.length?this.yylloc.first_column:0)+a[a.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this}),"unput"),more:(0,i.K2)((function(){return this._more=!0,this}),"more"),reject:(0,i.K2)((function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"reject"),less:(0,i.K2)((function(t){this.unput(this.match.slice(t))}),"less"),pastInput:(0,i.K2)((function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")}),"pastInput"),upcomingInput:(0,i.K2)((function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")}),"upcomingInput"),showPosition:(0,i.K2)((function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"}),"showPosition"),test_match:(0,i.K2)((function(t,e){var r,a,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(a=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=a.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:a?a[a.length-1].length-a[a.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var n in i)this[n]=i[n];return!1}return!1}),"test_match"),next:(0,i.K2)((function(){if(this.done)return this.EOF;var t,e,r,a;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),n=0;ne[0].length)){if(e=r,a=n,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,i[n])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[a]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"next"),lex:(0,i.K2)((function(){return this.next()||this.lex()}),"lex"),begin:(0,i.K2)((function(t){this.conditionStack.push(t)}),"begin"),popState:(0,i.K2)((function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]}),"popState"),_currentRules:(0,i.K2)((function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules}),"_currentRules"),topState:(0,i.K2)((function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"}),"topState"),pushState:(0,i.K2)((function(t){this.begin(t)}),"pushState"),stateStackSize:(0,i.K2)((function(){return this.conditionStack.length}),"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,i.K2)((function(t,e,r,a){switch(r){case 0:return this.begin("acc_title"),22;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),24;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 10;case 8:case 15:case 20:break;case 9:return 8;case 10:return 28;case 11:return 48;case 12:return 4;case 13:return this.begin("block"),15;case 14:return 36;case 16:return 37;case 17:case 18:return 34;case 19:return 38;case 21:return this.popState(),17;case 22:case 54:return e.yytext[0];case 23:return 18;case 24:return 19;case 25:case 29:case 30:case 43:return 41;case 26:case 27:case 28:case 36:case 38:case 45:return 43;case 31:case 32:case 33:case 34:case 35:case 37:case 44:return 42;case 39:case 40:case 41:case 42:return 44;case 46:return 45;case 47:case 50:case 51:case 52:return 46;case 48:case 49:return 47;case 53:return 27;case 55:return 6}}),"anonymous"),rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:,)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:(.*?)[~](.*?)*[~])/i,/^(?:[\*A-Za-z_][A-Za-z0-9\-_\[\]\(\)]*)/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:1\b)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:\s*u\b)/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,/^(?:.)/i,/^(?:$)/i],conditions:{acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block:{rules:[14,15,16,17,18,19,20,21,22],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55],inclusive:!0}}}}();function N(){this.yy={}}return b.lexer=R,(0,i.K2)(N,"Parser"),N.prototype=b,b.Parser=N,new N}();p.parser=p;var _=p,f=new Map,E=[],g=(0,i.K2)((function(t,e=void 0){return f.has(t)?!f.get(t).alias&&e&&(f.get(t).alias=e,i.Rm.info(`Add alias '${e}' to entity '${t}'`)):(f.set(t,{attributes:[],alias:e}),i.Rm.info("Added new entity :",t)),f.get(t)}),"addEntity"),m=(0,i.K2)((()=>f),"getEntities"),O=(0,i.K2)((function(t,e){let r,a=g(t);for(r=e.length-1;r>=0;r--)a.attributes.push(e[r]),i.Rm.debug("Added attribute ",e[r].attributeName)}),"addAttributes"),k=(0,i.K2)((function(t,e,r,a){let n={entityA:t,roleA:e,entityB:r,relSpec:a};E.push(n),i.Rm.debug("Added new relationship :",n)}),"addRelationship"),b=(0,i.K2)((()=>E),"getRelationships"),R=(0,i.K2)((function(){f=new Map,E=[],(0,i.IU)()}),"clear"),N={Cardinality:{ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"},Identification:{NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},getConfig:(0,i.K2)((()=>(0,i.D7)().er),"getConfig"),addEntity:g,addAttributes:O,getEntities:m,addRelationship:k,getRelationships:b,clear:R,setAccTitle:i.SV,getAccTitle:i.iN,setAccDescription:i.EI,getAccDescription:i.m7,setDiagramTitle:i.ke,getDiagramTitle:i.ab},x={ONLY_ONE_START:"ONLY_ONE_START",ONLY_ONE_END:"ONLY_ONE_END",ZERO_OR_ONE_START:"ZERO_OR_ONE_START",ZERO_OR_ONE_END:"ZERO_OR_ONE_END",ONE_OR_MORE_START:"ONE_OR_MORE_START",ONE_OR_MORE_END:"ONE_OR_MORE_END",ZERO_OR_MORE_START:"ZERO_OR_MORE_START",ZERO_OR_MORE_END:"ZERO_OR_MORE_END",MD_PARENT_END:"MD_PARENT_END",MD_PARENT_START:"MD_PARENT_START"},T={ERMarkers:x,insertMarkers:(0,i.K2)((function(t,e){let r;t.append("defs").append("marker").attr("id",x.MD_PARENT_START).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",x.MD_PARENT_END).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",x.ONLY_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M9,0 L9,18 M15,0 L15,18"),t.append("defs").append("marker").attr("id",x.ONLY_ONE_END).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M3,0 L3,18 M9,0 L9,18"),r=t.append("defs").append("marker").attr("id",x.ZERO_OR_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),r.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),r.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M9,0 L9,18"),r=t.append("defs").append("marker").attr("id",x.ZERO_OR_ONE_END).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),r.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),r.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M21,0 L21,18"),t.append("defs").append("marker").attr("id",x.ONE_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),t.append("defs").append("marker").attr("id",x.ONE_OR_MORE_END).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18"),r=t.append("defs").append("marker").attr("id",x.ZERO_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),r.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),r.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18"),r=t.append("defs").append("marker").attr("id",x.ZERO_OR_MORE_END).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),r.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),r.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")}),"insertMarkers")},A=/[^\dA-Za-z](\W)*/g,M={},w=new Map,I=(0,i.K2)((function(t){const e=Object.keys(t);for(const r of e)M[r]=t[r]}),"setConf"),D=(0,i.K2)(((t,e,r)=>{const a=M.entityPadding/3,n=M.entityPadding/3,s=.85*M.fontSize,o=e.node().getBBox(),c=[];let l=!1,h=!1,d=0,u=0,y=0,p=0,_=o.height+2*a,f=1;r.forEach((t=>{void 0!==t.attributeKeyTypeList&&t.attributeKeyTypeList.length>0&&(l=!0),void 0!==t.attributeComment&&(h=!0)})),r.forEach((r=>{const n=`${e.node().id}-attr-${f}`;let o=0;const E=(0,i.QO)(r.attributeType),g=t.append("text").classed("er entityLabel",!0).attr("id",`${n}-type`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",(0,i.D7)().fontFamily).style("font-size",s+"px").text(E),m=t.append("text").classed("er entityLabel",!0).attr("id",`${n}-name`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",(0,i.D7)().fontFamily).style("font-size",s+"px").text(r.attributeName),O={};O.tn=g,O.nn=m;const k=g.node().getBBox(),b=m.node().getBBox();if(d=Math.max(d,k.width),u=Math.max(u,b.width),o=Math.max(k.height,b.height),l){const e=void 0!==r.attributeKeyTypeList?r.attributeKeyTypeList.join(","):"",a=t.append("text").classed("er entityLabel",!0).attr("id",`${n}-key`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",(0,i.D7)().fontFamily).style("font-size",s+"px").text(e);O.kn=a;const c=a.node().getBBox();y=Math.max(y,c.width),o=Math.max(o,c.height)}if(h){const e=t.append("text").classed("er entityLabel",!0).attr("id",`${n}-comment`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",(0,i.D7)().fontFamily).style("font-size",s+"px").text(r.attributeComment||"");O.cn=e;const a=e.node().getBBox();p=Math.max(p,a.width),o=Math.max(o,a.height)}O.height=o,c.push(O),_+=o+2*a,f+=1}));let E=4;l&&(E+=2),h&&(E+=2);const g=d+u+y+p,m={width:Math.max(M.minEntityWidth,Math.max(o.width+2*M.entityPadding,g+n*E)),height:r.length>0?_:Math.max(M.minEntityHeight,o.height+2*M.entityPadding)};if(r.length>0){const r=Math.max(0,(m.width-g-n*E)/(E/2));e.attr("transform","translate("+m.width/2+","+(a+o.height/2)+")");let i=o.height+2*a,s="attributeBoxOdd";c.forEach((e=>{const o=i+a+e.height/2;e.tn.attr("transform","translate("+n+","+o+")");const c=t.insert("rect","#"+e.tn.node().id).classed(`er ${s}`,!0).attr("x",0).attr("y",i).attr("width",d+2*n+r).attr("height",e.height+2*a),_=parseFloat(c.attr("x"))+parseFloat(c.attr("width"));e.nn.attr("transform","translate("+(_+n)+","+o+")");const f=t.insert("rect","#"+e.nn.node().id).classed(`er ${s}`,!0).attr("x",_).attr("y",i).attr("width",u+2*n+r).attr("height",e.height+2*a);let E=parseFloat(f.attr("x"))+parseFloat(f.attr("width"));if(l){e.kn.attr("transform","translate("+(E+n)+","+o+")");const c=t.insert("rect","#"+e.kn.node().id).classed(`er ${s}`,!0).attr("x",E).attr("y",i).attr("width",y+2*n+r).attr("height",e.height+2*a);E=parseFloat(c.attr("x"))+parseFloat(c.attr("width"))}h&&(e.cn.attr("transform","translate("+(E+n)+","+o+")"),t.insert("rect","#"+e.cn.node().id).classed(`er ${s}`,"true").attr("x",E).attr("y",i).attr("width",p+2*n+r).attr("height",e.height+2*a)),i+=e.height+2*a,s="attributeBoxOdd"===s?"attributeBoxEven":"attributeBoxOdd"}))}else m.height=Math.max(M.minEntityHeight,_),e.attr("transform","translate("+m.width/2+","+m.height/2+")");return m}),"drawAttributes"),S=(0,i.K2)((function(t,e,r){let a;return[...e.keys()].forEach((function(n){const s=Y(n,"entity");w.set(n,s);const o=t.append("g").attr("id",s);a=void 0===a?s:a;const c="text-"+s,l=o.append("text").classed("er entityLabel",!0).attr("id",c).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","middle").style("font-family",(0,i.D7)().fontFamily).style("font-size",M.fontSize+"px").text(e.get(n).alias??n),{width:h,height:d}=D(o,l,e.get(n).attributes),u=o.insert("rect","#"+c).classed("er entityBox",!0).attr("x",0).attr("y",0).attr("width",h).attr("height",d).node().getBBox();r.setNode(s,{width:u.width,height:u.height,shape:"rect",id:s})})),a}),"drawEntities"),v=(0,i.K2)((function(t,e){e.nodes().forEach((function(r){void 0!==r&&void 0!==e.node(r)&&t.select("#"+r).attr("transform","translate("+(e.node(r).x-e.node(r).width/2)+","+(e.node(r).y-e.node(r).height/2)+" )")}))}),"adjustEntities"),L=(0,i.K2)((function(t){return(t.entityA+t.roleA+t.entityB).replace(/\s/g,"")}),"getEdgeName"),$=(0,i.K2)((function(t,e){return t.forEach((function(t){e.setEdge(w.get(t.entityA),w.get(t.entityB),{relationship:t},L(t))})),t}),"addRelationships"),K=0,C=(0,i.K2)((function(t,e,r,a,n){K++;const o=r.edge(w.get(e.entityA),w.get(e.entityB),L(e)),c=(0,s.n8j)().x((function(t){return t.x})).y((function(t){return t.y})).curve(s.qrM),l=t.insert("path","#"+a).classed("er relationshipLine",!0).attr("d",c(o.points)).style("stroke",M.stroke).style("fill","none");e.relSpec.relType===n.db.Identification.NON_IDENTIFYING&&l.attr("stroke-dasharray","8,8");let h="";switch(M.arrowMarkerAbsolute&&(h=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,h=h.replace(/\(/g,"\\("),h=h.replace(/\)/g,"\\)")),e.relSpec.cardA){case n.db.Cardinality.ZERO_OR_ONE:l.attr("marker-end","url("+h+"#"+T.ERMarkers.ZERO_OR_ONE_END+")");break;case n.db.Cardinality.ZERO_OR_MORE:l.attr("marker-end","url("+h+"#"+T.ERMarkers.ZERO_OR_MORE_END+")");break;case n.db.Cardinality.ONE_OR_MORE:l.attr("marker-end","url("+h+"#"+T.ERMarkers.ONE_OR_MORE_END+")");break;case n.db.Cardinality.ONLY_ONE:l.attr("marker-end","url("+h+"#"+T.ERMarkers.ONLY_ONE_END+")");break;case n.db.Cardinality.MD_PARENT:l.attr("marker-end","url("+h+"#"+T.ERMarkers.MD_PARENT_END+")")}switch(e.relSpec.cardB){case n.db.Cardinality.ZERO_OR_ONE:l.attr("marker-start","url("+h+"#"+T.ERMarkers.ZERO_OR_ONE_START+")");break;case n.db.Cardinality.ZERO_OR_MORE:l.attr("marker-start","url("+h+"#"+T.ERMarkers.ZERO_OR_MORE_START+")");break;case n.db.Cardinality.ONE_OR_MORE:l.attr("marker-start","url("+h+"#"+T.ERMarkers.ONE_OR_MORE_START+")");break;case n.db.Cardinality.ONLY_ONE:l.attr("marker-start","url("+h+"#"+T.ERMarkers.ONLY_ONE_START+")");break;case n.db.Cardinality.MD_PARENT:l.attr("marker-start","url("+h+"#"+T.ERMarkers.MD_PARENT_START+")")}const d=l.node().getTotalLength(),u=l.node().getPointAtLength(.5*d),y="rel"+K,p=e.roleA.split(/
    /g),_=t.append("text").classed("er relationshipLabel",!0).attr("id",y).attr("x",u.x).attr("y",u.y).style("text-anchor","middle").style("dominant-baseline","middle").style("font-family",(0,i.D7)().fontFamily).style("font-size",M.fontSize+"px");if(1==p.length)_.text(e.roleA);else{const t=.5*-(p.length-1);p.forEach(((e,r)=>{_.append("tspan").attr("x",u.x).attr("dy",`${0===r?t:1}em`).text(e)}))}const f=_.node().getBBox();t.insert("rect","#"+y).classed("er relationshipLabelBox",!0).attr("x",u.x-f.width/2).attr("y",u.y-f.height/2).attr("width",f.width).attr("height",f.height)}),"drawRelationshipFromLayout"),B=(0,i.K2)((function(t,e,r,c){M=(0,i.D7)().er,i.Rm.info("Drawing ER diagram");const l=(0,i.D7)().securityLevel;let h;"sandbox"===l&&(h=(0,s.Ltv)("#i"+e));const d=("sandbox"===l?(0,s.Ltv)(h.nodes()[0].contentDocument.body):(0,s.Ltv)("body")).select(`[id='${e}']`);let u;T.insertMarkers(d,M),u=new n.T({multigraph:!0,directed:!0,compound:!1}).setGraph({rankdir:M.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel((function(){return{}}));const y=S(d,c.db.getEntities(),u),p=$(c.db.getRelationships(),u);(0,o.Zp)(u),v(d,u),p.forEach((function(t){C(d,t,u,y,c)}));const _=M.diagramPadding;a._K.insertTitle(d,"entityTitleText",M.titleTopMargin,c.db.getDiagramTitle());const f=d.node().getBBox(),E=f.width+2*_,g=f.height+2*_;(0,i.a$)(d,g,E,M.useMaxWidth),d.attr("viewBox",`${f.x-_} ${f.y-_} ${E} ${g}`)}),"draw"),P="28e9f9db-3c8d-5aa5-9faf-44286ae5937c";function Y(t="",e=""){const r=t.replace(A,"");return`${Z(e)}${Z(r)}${y(t,P)}`}function Z(t=""){return t.length>0?`${t}-`:""}(0,i.K2)(Y,"generateId"),(0,i.K2)(Z,"strWithHyphen");var F={parser:_,db:N,renderer:{setConf:I,draw:B},styles:(0,i.K2)((t=>`\n .entityBox {\n fill: ${t.mainBkg};\n stroke: ${t.nodeBorder};\n }\n\n .attributeBoxOdd {\n fill: ${t.attributeBackgroundColorOdd};\n stroke: ${t.nodeBorder};\n }\n\n .attributeBoxEven {\n fill: ${t.attributeBackgroundColorEven};\n stroke: ${t.nodeBorder};\n }\n\n .relationshipLabelBox {\n fill: ${t.tertiaryColor};\n opacity: 0.7;\n background-color: ${t.tertiaryColor};\n rect {\n opacity: 0.5;\n }\n }\n\n .relationshipLine {\n stroke: ${t.lineColor};\n }\n\n .entityTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${t.textColor};\n } \n #MD_PARENT_START {\n fill: #f5f5f5 !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n }\n #MD_PARENT_END {\n fill: #f5f5f5 !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n }\n \n`),"getStyles")}}}]); \ No newline at end of file diff --git a/docs/hugo/public/js/452-e65d6d68.chunk.min.js b/docs/hugo/public/js/452-e65d6d68.chunk.min.js new file mode 100644 index 000000000..34932b1a2 --- /dev/null +++ b/docs/hugo/public/js/452-e65d6d68.chunk.min.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgeekdoc=self.webpackChunkgeekdoc||[]).push([[452],{4071:(e,c,k)=>{k.d(c,{createPacketServices:()=>s.$});var s=k(1609);k(9369)}}]); \ No newline at end of file diff --git a/docs/hugo/public/js/485-6a3d102c.chunk.min.js b/docs/hugo/public/js/485-6a3d102c.chunk.min.js new file mode 100644 index 000000000..da0adb2ec --- /dev/null +++ b/docs/hugo/public/js/485-6a3d102c.chunk.min.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgeekdoc=self.webpackChunkgeekdoc||[]).push([[485],{5937:(t,e,s)=>{s.d(e,{A:()=>i});var n=s(6309),r=s(1931);const i=(t,e)=>n.A.lang.round(r.A.parse(t)[e])},6474:(t,e,s)=>{s.d(e,{A:()=>i,P:()=>u});var n=s(9502),r=s(4852),i=(0,n.K2)(((t,e)=>{let s;return"sandbox"===e&&(s=(0,r.Ltv)("#i"+t)),("sandbox"===e?(0,r.Ltv)(s.nodes()[0].contentDocument.body):(0,r.Ltv)("body")).select(`[id="${t}"]`)}),"getDiagramElement"),u=(0,n.K2)(((t,e,s,r)=>{t.attr("class",s);const{width:i,height:u,x:c,y:l}=a(t,e);(0,n.a$)(t,u,i,r);const h=o(c,l,i,u,e);t.attr("viewBox",h),n.Rm.debug(`viewBox configured: ${h} with padding: ${e}`)}),"setupViewPortForSVG"),a=(0,n.K2)(((t,e)=>{const s=t.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:s.width+2*e,height:s.height+2*e,x:s.x,y:s.y}}),"calculateDimensionsWithPadding"),o=(0,n.K2)(((t,e,s,n,r)=>`${t-r} ${e-r} ${s} ${n}`),"createViewBox")},4485:(t,e,s)=>{s.d(e,{diagram:()=>Dt});var n,r,i=s(6474),u=s(9874),a=s(7308),o=(s(7938),s(1282)),c=(s(1099),s(7588),s(3115),s(6058),s(8159)),l=s(9502),h=s(4852),d=s(5937),p=s(5582),A=0,g=(0,l.D7)(),f=new Map,y=[],k=new Map,b=[],E=new Map,m=new Map,D=0,x=!0,C=[],T=(0,l.K2)((t=>l.Y2.sanitizeText(t,g)),"sanitizeText"),S=(0,l.K2)((function(t){for(const e of f.values())if(e.id===t)return e.domId;return t}),"lookUpDomId"),F=(0,l.K2)((function(t,e,s,n,r,i,a={},c){if(!t||0===t.trim().length)return;let h,d=f.get(t);if(void 0===d&&(d={id:t,labelType:"text",domId:"flowchart-"+t+"-"+A,styles:[],classes:[]},f.set(t,d)),A++,void 0!==e?(g=(0,l.D7)(),h=T(e.text.trim()),d.labelType=e.type,h.startsWith('"')&&h.endsWith('"')&&(h=h.substring(1,h.length-1)),d.text=h):void 0===d.text&&(d.text=t),void 0!==s&&(d.type=s),null!=n&&n.forEach((function(t){d.styles.push(t)})),null!=r&&r.forEach((function(t){d.classes.push(t)})),void 0!==i&&(d.dir=i),void 0===d.props?d.props=a:void 0!==a&&Object.assign(d.props,a),void 0!==c){let e;e=c.includes("\n")?c+"\n":"{\n"+c+"\n}";const s=(0,u.H)(e,{schema:u.r});if(s.shape){if(s.shape!==s.shape.toLowerCase()||s.shape.includes("_"))throw new Error(`No such shape: ${s.shape}. Shape names should be lowercase.`);if(!(0,o.aP)(s.shape))throw new Error(`No such shape: ${s.shape}.`);d.type=s?.shape}s?.label&&(d.text=s?.label),s?.icon&&(d.icon=s?.icon,s.label?.trim()||d.text!==t||(d.text="")),s?.form&&(d.form=s?.form),s?.pos&&(d.pos=s?.pos),s?.img&&(d.img=s?.img,s.label?.trim()||d.text!==t||(d.text="")),s?.constraint&&(d.constraint=s.constraint),s.w&&(d.assetWidth=Number(s.w)),s.h&&(d.assetHeight=Number(s.h))}}),"addVertex"),_=(0,l.K2)((function(t,e,s){const n={start:t,end:e,type:void 0,text:"",labelType:"text"};l.Rm.info("abc78 Got edge...",n);const r=s.text;if(void 0!==r&&(n.text=T(r.text.trim()),n.text.startsWith('"')&&n.text.endsWith('"')&&(n.text=n.text.substring(1,n.text.length-1)),n.labelType=r.type),void 0!==s&&(n.type=s.type,n.stroke=s.stroke,n.length=s.length>10?10:s.length),!(y.length<(g.maxEdges??500)))throw new Error(`Edge limit exceeded. ${y.length} edges found, but the limit is ${g.maxEdges}.\n\nInitialize mermaid with maxEdges set to a higher number to allow more edges.\nYou cannot set this config via configuration inside the diagram as it is a secure config.\nYou have to call mermaid.initialize.`);l.Rm.info("Pushing edge..."),y.push(n)}),"addSingleLink"),B=(0,l.K2)((function(t,e,s){l.Rm.info("addLink",t,e,s);for(const n of t)for(const t of e)_(n,t,s)}),"addLink"),v=(0,l.K2)((function(t,e){t.forEach((function(t){"default"===t?y.defaultInterpolate=e:y[t].interpolate=e}))}),"updateLinkInterpolate"),w=(0,l.K2)((function(t,e){t.forEach((function(t){if("number"==typeof t&&t>=y.length)throw new Error(`The index ${t} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${y.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);"default"===t?y.defaultStyle=e:(y[t].style=e,(y[t]?.style?.length??0)>0&&!y[t]?.style?.some((t=>t?.startsWith("fill")))&&y[t]?.style?.push("fill:none"))}))}),"updateLink"),$=(0,l.K2)((function(t,e){t.split(",").forEach((function(t){let s=k.get(t);void 0===s&&(s={id:t,styles:[],textStyles:[]},k.set(t,s)),null!=e&&e.forEach((function(t){if(/color/.exec(t)){const e=t.replace("fill","bgFill");s.textStyles.push(e)}s.styles.push(t)}))}))}),"addClass"),L=(0,l.K2)((function(t){/.*/.exec(n)&&(n="LR"),/.*v/.exec(n)&&(n="TB"),"TD"===n&&(n="TB")}),"setDirection"),R=(0,l.K2)((function(t,e){for(const s of t.split(",")){const t=f.get(s);t&&t.classes.push(e);const n=E.get(s);n&&n.classes.push(e)}}),"setClass"),I=(0,l.K2)((function(t,e){if(void 0!==e){e=T(e);for(const s of t.split(","))m.set("gen-1"===r?S(s):s,e)}}),"setTooltip"),K=(0,l.K2)((function(t,e,s){const n=S(t);if("loose"!==(0,l.D7)().securityLevel)return;if(void 0===e)return;let r=[];if("string"==typeof s){r=s.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let t=0;t")),t.classed("hover",!0)})).on("mouseout",(function(){e.transition().duration(500).style("opacity",0),(0,h.Ltv)(this).classed("hover",!1)}))}),"setupToolTips");C.push(Y);var j=(0,l.K2)((function(t="gen-1"){f=new Map,k=new Map,y=[],C=[Y],b=[],E=new Map,D=0,m=new Map,x=!0,r=t,g=(0,l.D7)(),(0,l.IU)()}),"clear"),X=(0,l.K2)((t=>{r=t||"gen-2"}),"setGen"),z=(0,l.K2)((function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}),"defaultStyle"),H=(0,l.K2)((function(t,e,s){let n=t.text.trim(),i=s.text;function u(t){const e={boolean:{},number:{},string:{}},s=[];let n;return{nodeList:t.filter((function(t){const r=typeof t;return t.stmt&&"dir"===t.stmt?(n=t.value,!1):""!==t.trim()&&(r in e?!e[r].hasOwnProperty(t)&&(e[r][t]=!0):!s.includes(t)&&s.push(t))})),dir:n}}t===s&&/\s/.exec(s.text)&&(n=void 0),(0,l.K2)(u,"uniq");const{nodeList:a,dir:o}=u(e.flat());if("gen-1"===r)for(let t=0;t2e3)return{result:!1,count:0};if(Z[Q]=e,b[e].id===t)return{result:!0,count:0};let n=0,r=1;for(;n=0){const s=J(t,e);if(s.result)return{result:!0,count:r+s.count};r+=s.count}n+=1}return{result:!1,count:r}}),"indexNodes2"),tt=(0,l.K2)((function(t){return Z[t]}),"getDepthFirstPos"),et=(0,l.K2)((function(){Q=-1,b.length>0&&J("none",b.length-1)}),"indexNodes"),st=(0,l.K2)((function(){return b}),"getSubGraphs"),nt=(0,l.K2)((()=>!!x&&(x=!1,!0)),"firstGraph"),rt=(0,l.K2)((t=>{let e=t.trim(),s="arrow_open";switch(e[0]){case"<":s="arrow_point",e=e.slice(1);break;case"x":s="arrow_cross",e=e.slice(1);break;case"o":s="arrow_circle",e=e.slice(1)}let n="normal";return e.includes("=")&&(n="thick"),e.includes(".")&&(n="dotted"),{type:s,stroke:n}}),"destructStartLink"),it=(0,l.K2)(((t,e)=>{const s=e.length;let n=0;for(let r=0;r{const e=t.trim();let s=e.slice(0,-1),n="arrow_open";switch(e.slice(-1)){case"x":n="arrow_cross",e.startsWith("x")&&(n="double_"+n,s=s.slice(1));break;case">":n="arrow_point",e.startsWith("<")&&(n="double_"+n,s=s.slice(1));break;case"o":n="arrow_circle",e.startsWith("o")&&(n="double_"+n,s=s.slice(1))}let r="normal",i=s.length-1;s.startsWith("=")&&(r="thick"),s.startsWith("~")&&(r="invisible");const u=it(".",s);return u&&(r="dotted",i=u),{type:n,stroke:r,length:i}}),"destructEndLink"),at=(0,l.K2)(((t,e)=>{const s=ut(t);let n;if(e){if(n=rt(e),n.stroke!==s.stroke)return{type:"INVALID",stroke:"INVALID"};if("arrow_open"===n.type)n.type=s.type;else{if(n.type!==s.type)return{type:"INVALID",stroke:"INVALID"};n.type="double_"+n.type}return"double_arrow"===n.type&&(n.type="double_arrow_point"),n.length=s.length,n}return s}),"destructLink"),ot=(0,l.K2)(((t,e)=>{for(const s of t)if(s.nodes.includes(e))return!0;return!1}),"exists"),ct=(0,l.K2)(((t,e)=>{const s=[];return t.nodes.forEach(((n,r)=>{ot(e,n)||s.push(t.nodes[r])})),{nodes:s}}),"makeUniq"),lt={firstGraph:nt},ht=(0,l.K2)((t=>{if(t.img)return"imageSquare";if(t.icon)return"circle"===t.form?"iconCircle":"square"===t.form?"iconSquare":"rounded"===t.form?"iconRounded":"icon";switch(t.type){case"square":case void 0:return"squareRect";case"round":return"roundedRect";case"ellipse":return"ellipse";default:return t.type}}),"getTypeFromVertex"),dt=(0,l.K2)(((t,e)=>t.find((t=>t.id===e))),"findNode"),pt=(0,l.K2)((t=>{let e="none",s="arrow_point";switch(t){case"arrow_point":case"arrow_circle":case"arrow_cross":s=t;break;case"double_arrow_point":case"double_arrow_circle":case"double_arrow_cross":e=t.replace("double_",""),s=e}return{arrowTypeStart:e,arrowTypeEnd:s}}),"destructEdgeType"),At=(0,l.K2)(((t,e,s,n,r,i)=>{const u=s.get(t.id),a=n.get(t.id)??!1,o=dt(e,t.id);if(o)o.cssStyles=t.styles,o.cssCompiledStyles=gt(t.classes),o.cssClasses=t.classes.join(" ");else{const s={id:t.id,label:t.text,labelStyle:"",parentId:u,padding:r.flowchart?.padding||8,cssStyles:t.styles,cssCompiledStyles:gt(["default","node",...t.classes]),cssClasses:"default "+t.classes.join(" "),dir:t.dir,domId:t.domId,look:i,link:t.link,linkTarget:t.linkTarget,tooltip:P(t.id),icon:t.icon,pos:t.pos,img:t.img,assetWidth:t.assetWidth,assetHeight:t.assetHeight,constraint:t.constraint};a?e.push({...s,isGroup:!0,shape:"rect"}):e.push({...s,isGroup:!1,shape:ht(t)})}}),"addNodeFromVertex");function gt(t){let e=[];for(const s of t){const t=k.get(s);t?.styles&&(e=[...e,...t.styles??[]].map((t=>t.trim()))),t?.textStyles&&(e=[...e,...t.textStyles??[]].map((t=>t.trim())))}return e}(0,l.K2)(gt,"getCompiledStyles");var ft=(0,l.K2)((()=>{const t=(0,l.D7)(),e=[],s=[],n=st(),r=new Map,i=new Map;for(let t=n.length-1;t>=0;t--){const e=n[t];e.nodes.length>0&&i.set(e.id,!0);for(const t of e.nodes)r.set(t,e.id)}for(let s=n.length-1;s>=0;s--){const i=n[s];e.push({id:i.id,label:i.title,labelStyle:"",parentId:r.get(i.id),padding:8,cssCompiledStyles:gt(i.classes),cssClasses:i.classes.join(" "),shape:"rect",dir:i.dir,isGroup:!0,look:t.look})}U().forEach((s=>{At(s,e,r,i,t,t.look||"classic")}));const u=G();return u.forEach(((e,n)=>{const{arrowTypeStart:r,arrowTypeEnd:i}=pt(e.type),a=[...u.defaultStyle??[]];e.style&&a.push(...e.style);const o={id:(0,c.rY)(e.start,e.end,{counter:n,prefix:"L"}),start:e.start,end:e.end,type:e.type??"normal",label:e.text,labelpos:"c",thickness:e.stroke,minlen:e.length,classes:"invisible"===e?.stroke?"":"edge-thickness-normal edge-pattern-solid flowchart-link",arrowTypeStart:"invisible"===e?.stroke?"none":r,arrowTypeEnd:"invisible"===e?.stroke?"none":i,arrowheadStyle:"fill: #333",labelStyle:a,style:a,pattern:e.stroke,look:t.look};s.push(o)})),{nodes:e,edges:s,other:{},config:t}}),"getData"),yt={defaultConfig:(0,l.K2)((()=>l.ME.flowchart),"defaultConfig"),setAccTitle:l.SV,getAccTitle:l.iN,getAccDescription:l.m7,getData:ft,setAccDescription:l.EI,addVertex:F,lookUpDomId:S,addLink:B,updateLinkInterpolate:v,updateLink:w,addClass:$,setDirection:L,setClass:R,setTooltip:I,getTooltip:P,setClickEvent:O,setLink:N,bindFunctions:M,getDirection:V,getVertices:U,getEdges:G,getClasses:W,clear:j,setGen:X,defaultStyle:z,addSubGraph:H,getDepthFirstPos:tt,indexNodes:et,getSubGraphs:st,destructLink:at,lex:lt,exists:ot,makeUniq:ct,setDiagramTitle:l.ke,getDiagramTitle:l.ab},kt={getClasses:(0,l.K2)((function(t,e){return e.db.getClasses()}),"getClasses"),draw:(0,l.K2)((async function(t,e,s,n){l.Rm.info("REF0:"),l.Rm.info("Drawing state diagram (v2)",e);const{securityLevel:r,flowchart:u,layout:o}=(0,l.D7)();let d;"sandbox"===r&&(d=(0,h.Ltv)("#i"+e));const p="sandbox"===r?d.nodes()[0].contentDocument:document;l.Rm.debug("Before getData: ");const A=n.db.getData();l.Rm.debug("Data: ",A);const g=(0,i.A)(e,r),f=V();A.type=n.type,A.layoutAlgorithm=(0,a.q7)(o),"dagre"===A.layoutAlgorithm&&"elk"===o&&l.Rm.warn("flowchart-elk was moved to an external package in Mermaid v11. Please refer [release notes](https://github.com/mermaid-js/mermaid/releases/tag/v11.0.0) for more details. This diagram will be rendered using `dagre` layout as a fallback."),A.direction=f,A.nodeSpacing=u?.nodeSpacing||50,A.rankSpacing=u?.rankSpacing||50,A.markers=["point","circle","cross"],A.diagramId=e,l.Rm.debug("REF1:",A),await(0,a.XX)(A,g);const y=A.config.flowchart?.diagramPadding??8;c._K.insertTitle(g,"flowchartTitleText",u?.titleTopMargin||0,n.db.getDiagramTitle()),(0,i.P)(g,y,"flowchart",u?.useMaxWidth||!1);for(const t of A.nodes){const s=(0,h.Ltv)(`#${e} [id="${t.id}"]`);if(!s||!t.link)continue;const n=p.createElementNS("http://www.w3.org/2000/svg","a");n.setAttributeNS("http://www.w3.org/2000/svg","class",t.cssClasses),n.setAttributeNS("http://www.w3.org/2000/svg","rel","noopener"),"sandbox"===r?n.setAttributeNS("http://www.w3.org/2000/svg","target","_top"):t.linkTarget&&n.setAttributeNS("http://www.w3.org/2000/svg","target",t.linkTarget);const i=s.insert((function(){return n}),":first-child"),u=s.select(".label-container");u&&i.append((function(){return u.node()}));const a=s.select(".label");a&&i.append((function(){return a.node()}))}}),"draw")},bt=function(){var t=(0,l.K2)((function(t,e,s,n){for(s=s||{},n=t.length;n--;s[t[n]]=e);return s}),"o"),e=[1,4],s=[1,3],n=[1,5],r=[1,8,9,10,11,27,34,36,38,44,60,83,84,85,86,87,88,101,104,105,108,110,113,114,115,120,121,122,123],i=[2,2],u=[1,13],a=[1,14],o=[1,15],c=[1,16],h=[1,23],d=[1,25],p=[1,26],A=[1,27],g=[1,49],f=[1,48],y=[1,29],k=[1,30],b=[1,31],E=[1,32],m=[1,33],D=[1,44],x=[1,46],C=[1,42],T=[1,47],S=[1,43],F=[1,50],_=[1,45],B=[1,51],v=[1,52],w=[1,34],$=[1,35],L=[1,36],R=[1,37],I=[1,57],K=[1,8,9,10,11,27,32,34,36,38,44,60,83,84,85,86,87,88,101,104,105,108,110,113,114,115,120,121,122,123],N=[1,61],P=[1,60],O=[1,62],M=[8,9,11,75,77],V=[1,77],U=[1,90],G=[1,95],W=[1,94],Y=[1,91],j=[1,87],X=[1,93],z=[1,89],H=[1,96],q=[1,92],Q=[1,97],Z=[1,88],J=[8,9,10,11,40,75,77],tt=[8,9,10,11,40,46,75,77],et=[8,9,10,11,29,40,44,46,48,50,52,54,56,58,60,63,65,67,68,70,75,77,88,101,104,105,108,110,113,114,115],st=[8,9,11,44,60,75,77,88,101,104,105,108,110,113,114,115],nt=[44,60,88,101,104,105,108,110,113,114,115],rt=[1,123],it=[1,122],ut=[1,130],at=[1,144],ot=[1,145],ct=[1,146],lt=[1,147],ht=[1,132],dt=[1,134],pt=[1,138],At=[1,139],gt=[1,140],ft=[1,141],yt=[1,142],kt=[1,143],bt=[1,148],Et=[1,149],mt=[1,128],Dt=[1,129],xt=[1,136],Ct=[1,131],Tt=[1,135],St=[1,133],Ft=[8,9,10,11,27,32,34,36,38,44,60,83,84,85,86,87,88,101,104,105,108,110,113,114,115,120,121,122,123],_t=[1,151],Bt=[1,153],vt=[8,9,11],wt=[8,9,10,11,14,44,60,88,104,105,108,110,113,114,115],$t=[1,173],Lt=[1,169],Rt=[1,170],It=[1,174],Kt=[1,171],Nt=[1,172],Pt=[77,115,118],Ot=[8,9,10,11,12,14,27,29,32,44,60,75,83,84,85,86,87,88,89,104,108,110,113,114,115],Mt=[10,105],Vt=[31,49,51,53,55,57,62,64,66,67,69,71,115,116,117],Ut=[1,242],Gt=[1,240],Wt=[1,244],Yt=[1,238],jt=[1,239],Xt=[1,241],zt=[1,243],Ht=[1,245],qt=[1,263],Qt=[8,9,11,105],Zt=[8,9,10,11,60,83,104,105,108,109,110,111],Jt={trace:(0,l.K2)((function(){}),"trace"),yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeparator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,vertexStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,shapeData:39,SHAPE_DATA:40,link:41,node:42,styledVertex:43,AMP:44,vertex:45,STYLE_SEPARATOR:46,idString:47,DOUBLECIRCLESTART:48,DOUBLECIRCLEEND:49,PS:50,PE:51,"(-":52,"-)":53,STADIUMSTART:54,STADIUMEND:55,SUBROUTINESTART:56,SUBROUTINEEND:57,VERTEX_WITH_PROPS_START:58,"NODE_STRING[field]":59,COLON:60,"NODE_STRING[value]":61,PIPE:62,CYLINDERSTART:63,CYLINDEREND:64,DIAMOND_START:65,DIAMOND_STOP:66,TAGEND:67,TRAPSTART:68,TRAPEND:69,INVTRAPSTART:70,INVTRAPEND:71,linkStatement:72,arrowText:73,TESTSTR:74,START_LINK:75,edgeText:76,LINK:77,edgeTextToken:78,STR:79,MD_STR:80,textToken:81,keywords:82,STYLE:83,LINKSTYLE:84,CLASSDEF:85,CLASS:86,CLICK:87,DOWN:88,UP:89,textNoTagsToken:90,stylesOpt:91,"idString[vertex]":92,"idString[class]":93,CALLBACKNAME:94,CALLBACKARGS:95,HREF:96,LINK_TARGET:97,"STR[link]":98,"STR[tooltip]":99,alphaNum:100,DEFAULT:101,numList:102,INTERPOLATE:103,NUM:104,COMMA:105,style:106,styleComponent:107,NODE_STRING:108,UNIT:109,BRKT:110,PCT:111,idStringToken:112,MINUS:113,MULT:114,UNICODE_TEXT:115,TEXT:116,TAGSTART:117,EDGE_TEXT:118,alphaNumToken:119,direction_tb:120,direction_bt:121,direction_rl:122,direction_lr:123,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",40:"SHAPE_DATA",44:"AMP",46:"STYLE_SEPARATOR",48:"DOUBLECIRCLESTART",49:"DOUBLECIRCLEEND",50:"PS",51:"PE",52:"(-",53:"-)",54:"STADIUMSTART",55:"STADIUMEND",56:"SUBROUTINESTART",57:"SUBROUTINEEND",58:"VERTEX_WITH_PROPS_START",59:"NODE_STRING[field]",60:"COLON",61:"NODE_STRING[value]",62:"PIPE",63:"CYLINDERSTART",64:"CYLINDEREND",65:"DIAMOND_START",66:"DIAMOND_STOP",67:"TAGEND",68:"TRAPSTART",69:"TRAPEND",70:"INVTRAPSTART",71:"INVTRAPEND",74:"TESTSTR",75:"START_LINK",77:"LINK",79:"STR",80:"MD_STR",83:"STYLE",84:"LINKSTYLE",85:"CLASSDEF",86:"CLASS",87:"CLICK",88:"DOWN",89:"UP",92:"idString[vertex]",93:"idString[class]",94:"CALLBACKNAME",95:"CALLBACKARGS",96:"HREF",97:"LINK_TARGET",98:"STR[link]",99:"STR[tooltip]",101:"DEFAULT",103:"INTERPOLATE",104:"NUM",105:"COMMA",108:"NODE_STRING",109:"UNIT",110:"BRKT",111:"PCT",113:"MINUS",114:"MULT",115:"UNICODE_TEXT",116:"TEXT",117:"TAGSTART",118:"EDGE_TEXT",120:"direction_tb",121:"direction_bt",122:"direction_rl",123:"direction_lr"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[39,2],[39,1],[20,4],[20,3],[20,4],[20,2],[20,2],[20,1],[42,1],[42,6],[42,5],[43,1],[43,3],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,8],[45,4],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,4],[45,4],[45,1],[41,2],[41,3],[41,3],[41,1],[41,3],[76,1],[76,2],[76,1],[76,1],[72,1],[73,3],[30,1],[30,2],[30,1],[30,1],[82,1],[82,1],[82,1],[82,1],[82,1],[82,1],[82,1],[82,1],[82,1],[82,1],[82,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[102,1],[102,3],[91,1],[91,3],[106,1],[106,2],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[112,1],[112,1],[112,1],[112,1],[112,1],[112,1],[112,1],[112,1],[112,1],[112,1],[112,1],[81,1],[81,1],[81,1],[81,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[78,1],[78,1],[119,1],[119,1],[119,1],[119,1],[119,1],[119,1],[119,1],[119,1],[119,1],[119,1],[119,1],[47,1],[47,2],[100,1],[100,2],[33,1],[33,1],[33,1],[33,1]],performAction:(0,l.K2)((function(t,e,s,n,r,i,u){var a=i.length-1;switch(r){case 2:case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 3:(!Array.isArray(i[a])||i[a].length>0)&&i[a-1].push(i[a]),this.$=i[a-1];break;case 4:case 181:case 44:case 54:case 76:case 179:this.$=i[a];break;case 11:n.setDirection("TB"),this.$="TB";break;case 12:n.setDirection(i[a-1]),this.$=i[a-1];break;case 27:this.$=i[a-1].nodes;break;case 33:this.$=n.addSubGraph(i[a-6],i[a-1],i[a-4]);break;case 34:this.$=n.addSubGraph(i[a-3],i[a-1],i[a-3]);break;case 35:this.$=n.addSubGraph(void 0,i[a-1],void 0);break;case 37:this.$=i[a].trim(),n.setAccTitle(this.$);break;case 38:case 39:this.$=i[a].trim(),n.setAccDescription(this.$);break;case 43:case 131:this.$=i[a-1]+i[a];break;case 45:n.addVertex(i[a-1][0],void 0,void 0,void 0,void 0,void 0,void 0,i[a]),n.addLink(i[a-3].stmt,i[a-1],i[a-2]),this.$={stmt:i[a-1],nodes:i[a-1].concat(i[a-3].nodes)};break;case 46:n.addLink(i[a-2].stmt,i[a],i[a-1]),this.$={stmt:i[a],nodes:i[a].concat(i[a-2].nodes)};break;case 47:n.addLink(i[a-3].stmt,i[a-1],i[a-2]),this.$={stmt:i[a-1],nodes:i[a-1].concat(i[a-3].nodes)};break;case 48:this.$={stmt:i[a-1],nodes:i[a-1]};break;case 49:n.addVertex(i[a-1][0],void 0,void 0,void 0,void 0,void 0,void 0,i[a]),this.$={stmt:i[a-1],nodes:i[a-1],shapeData:i[a]};break;case 50:this.$={stmt:i[a],nodes:i[a]};break;case 51:case 126:case 128:this.$=[i[a]];break;case 52:n.addVertex(i[a-5][0],void 0,void 0,void 0,void 0,void 0,void 0,i[a-4]),this.$=i[a-5].concat(i[a]);break;case 53:this.$=i[a-4].concat(i[a]);break;case 55:this.$=i[a-2],n.setClass(i[a-2],i[a]);break;case 56:this.$=i[a-3],n.addVertex(i[a-3],i[a-1],"square");break;case 57:this.$=i[a-3],n.addVertex(i[a-3],i[a-1],"doublecircle");break;case 58:this.$=i[a-5],n.addVertex(i[a-5],i[a-2],"circle");break;case 59:this.$=i[a-3],n.addVertex(i[a-3],i[a-1],"ellipse");break;case 60:this.$=i[a-3],n.addVertex(i[a-3],i[a-1],"stadium");break;case 61:this.$=i[a-3],n.addVertex(i[a-3],i[a-1],"subroutine");break;case 62:this.$=i[a-7],n.addVertex(i[a-7],i[a-1],"rect",void 0,void 0,void 0,Object.fromEntries([[i[a-5],i[a-3]]]));break;case 63:this.$=i[a-3],n.addVertex(i[a-3],i[a-1],"cylinder");break;case 64:this.$=i[a-3],n.addVertex(i[a-3],i[a-1],"round");break;case 65:this.$=i[a-3],n.addVertex(i[a-3],i[a-1],"diamond");break;case 66:this.$=i[a-5],n.addVertex(i[a-5],i[a-2],"hexagon");break;case 67:this.$=i[a-3],n.addVertex(i[a-3],i[a-1],"odd");break;case 68:this.$=i[a-3],n.addVertex(i[a-3],i[a-1],"trapezoid");break;case 69:this.$=i[a-3],n.addVertex(i[a-3],i[a-1],"inv_trapezoid");break;case 70:this.$=i[a-3],n.addVertex(i[a-3],i[a-1],"lean_right");break;case 71:this.$=i[a-3],n.addVertex(i[a-3],i[a-1],"lean_left");break;case 72:this.$=i[a],n.addVertex(i[a]);break;case 73:i[a-1].text=i[a],this.$=i[a-1];break;case 74:case 75:i[a-2].text=i[a-1],this.$=i[a-2];break;case 77:var o=n.destructLink(i[a],i[a-2]);this.$={type:o.type,stroke:o.stroke,length:o.length,text:i[a-1]};break;case 78:case 84:case 99:case 101:this.$={text:i[a],type:"text"};break;case 79:case 85:case 100:this.$={text:i[a-1].text+""+i[a],type:i[a-1].type};break;case 80:case 86:this.$={text:i[a],type:"string"};break;case 81:case 87:case 102:this.$={text:i[a],type:"markdown"};break;case 82:o=n.destructLink(i[a]),this.$={type:o.type,stroke:o.stroke,length:o.length};break;case 83:this.$=i[a-1];break;case 103:this.$=i[a-4],n.addClass(i[a-2],i[a]);break;case 104:this.$=i[a-4],n.setClass(i[a-2],i[a]);break;case 105:case 113:this.$=i[a-1],n.setClickEvent(i[a-1],i[a]);break;case 106:case 114:this.$=i[a-3],n.setClickEvent(i[a-3],i[a-2]),n.setTooltip(i[a-3],i[a]);break;case 107:this.$=i[a-2],n.setClickEvent(i[a-2],i[a-1],i[a]);break;case 108:this.$=i[a-4],n.setClickEvent(i[a-4],i[a-3],i[a-2]),n.setTooltip(i[a-4],i[a]);break;case 109:this.$=i[a-2],n.setLink(i[a-2],i[a]);break;case 110:this.$=i[a-4],n.setLink(i[a-4],i[a-2]),n.setTooltip(i[a-4],i[a]);break;case 111:this.$=i[a-4],n.setLink(i[a-4],i[a-2],i[a]);break;case 112:this.$=i[a-6],n.setLink(i[a-6],i[a-4],i[a]),n.setTooltip(i[a-6],i[a-2]);break;case 115:this.$=i[a-1],n.setLink(i[a-1],i[a]);break;case 116:this.$=i[a-3],n.setLink(i[a-3],i[a-2]),n.setTooltip(i[a-3],i[a]);break;case 117:this.$=i[a-3],n.setLink(i[a-3],i[a-2],i[a]);break;case 118:this.$=i[a-5],n.setLink(i[a-5],i[a-4],i[a]),n.setTooltip(i[a-5],i[a-2]);break;case 119:this.$=i[a-4],n.addVertex(i[a-2],void 0,void 0,i[a]);break;case 120:this.$=i[a-4],n.updateLink([i[a-2]],i[a]);break;case 121:this.$=i[a-4],n.updateLink(i[a-2],i[a]);break;case 122:this.$=i[a-8],n.updateLinkInterpolate([i[a-6]],i[a-2]),n.updateLink([i[a-6]],i[a]);break;case 123:this.$=i[a-8],n.updateLinkInterpolate(i[a-6],i[a-2]),n.updateLink(i[a-6],i[a]);break;case 124:this.$=i[a-6],n.updateLinkInterpolate([i[a-4]],i[a]);break;case 125:this.$=i[a-6],n.updateLinkInterpolate(i[a-4],i[a]);break;case 127:case 129:i[a-2].push(i[a]),this.$=i[a-2];break;case 180:case 182:this.$=i[a-1]+""+i[a];break;case 183:this.$={stmt:"dir",value:"TB"};break;case 184:this.$={stmt:"dir",value:"BT"};break;case 185:this.$={stmt:"dir",value:"RL"};break;case 186:this.$={stmt:"dir",value:"LR"}}}),"anonymous"),table:[{3:1,4:2,9:e,10:s,12:n},{1:[3]},t(r,i,{5:6}),{4:7,9:e,10:s,12:n},{4:8,9:e,10:s,12:n},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:u,9:a,10:o,11:c,20:17,22:18,23:19,24:20,25:21,26:22,27:h,33:24,34:d,36:p,38:A,42:28,43:38,44:g,45:39,47:40,60:f,83:y,84:k,85:b,86:E,87:m,88:D,101:x,104:C,105:T,108:S,110:F,112:41,113:_,114:B,115:v,120:w,121:$,122:L,123:R},t(r,[2,9]),t(r,[2,10]),t(r,[2,11]),{8:[1,54],9:[1,55],10:I,15:53,18:56},t(K,[2,3]),t(K,[2,4]),t(K,[2,5]),t(K,[2,6]),t(K,[2,7]),t(K,[2,8]),{8:N,9:P,11:O,21:58,41:59,72:63,75:[1,64],77:[1,65]},{8:N,9:P,11:O,21:66},{8:N,9:P,11:O,21:67},{8:N,9:P,11:O,21:68},{8:N,9:P,11:O,21:69},{8:N,9:P,11:O,21:70},{8:N,9:P,10:[1,71],11:O,21:72},t(K,[2,36]),{35:[1,73]},{37:[1,74]},t(K,[2,39]),t(M,[2,50],{18:75,39:76,10:I,40:V}),{10:[1,78]},{10:[1,79]},{10:[1,80]},{10:[1,81]},{14:U,44:G,60:W,79:[1,85],88:Y,94:[1,82],96:[1,83],100:84,104:j,105:X,108:z,110:H,113:q,114:Q,115:Z,119:86},t(K,[2,183]),t(K,[2,184]),t(K,[2,185]),t(K,[2,186]),t(J,[2,51]),t(J,[2,54],{46:[1,98]}),t(tt,[2,72],{112:111,29:[1,99],44:g,48:[1,100],50:[1,101],52:[1,102],54:[1,103],56:[1,104],58:[1,105],60:f,63:[1,106],65:[1,107],67:[1,108],68:[1,109],70:[1,110],88:D,101:x,104:C,105:T,108:S,110:F,113:_,114:B,115:v}),t(et,[2,179]),t(et,[2,140]),t(et,[2,141]),t(et,[2,142]),t(et,[2,143]),t(et,[2,144]),t(et,[2,145]),t(et,[2,146]),t(et,[2,147]),t(et,[2,148]),t(et,[2,149]),t(et,[2,150]),t(r,[2,12]),t(r,[2,18]),t(r,[2,19]),{9:[1,112]},t(st,[2,26],{18:113,10:I}),t(K,[2,27]),{42:114,43:38,44:g,45:39,47:40,60:f,88:D,101:x,104:C,105:T,108:S,110:F,112:41,113:_,114:B,115:v},t(K,[2,40]),t(K,[2,41]),t(K,[2,42]),t(nt,[2,76],{73:115,62:[1,117],74:[1,116]}),{76:118,78:119,79:[1,120],80:[1,121],115:rt,118:it},t([44,60,62,74,88,101,104,105,108,110,113,114,115],[2,82]),t(K,[2,28]),t(K,[2,29]),t(K,[2,30]),t(K,[2,31]),t(K,[2,32]),{10:ut,12:at,14:ot,27:ct,28:124,32:lt,44:ht,60:dt,75:pt,79:[1,126],80:[1,127],82:137,83:At,84:gt,85:ft,86:yt,87:kt,88:bt,89:Et,90:125,104:mt,108:Dt,110:xt,113:Ct,114:Tt,115:St},t(Ft,i,{5:150}),t(K,[2,37]),t(K,[2,38]),t(M,[2,48],{44:_t}),t(M,[2,49],{18:152,10:I,40:Bt}),t(J,[2,44]),{44:g,47:154,60:f,88:D,101:x,104:C,105:T,108:S,110:F,112:41,113:_,114:B,115:v},{101:[1,155],102:156,104:[1,157]},{44:g,47:158,60:f,88:D,101:x,104:C,105:T,108:S,110:F,112:41,113:_,114:B,115:v},{44:g,47:159,60:f,88:D,101:x,104:C,105:T,108:S,110:F,112:41,113:_,114:B,115:v},t(vt,[2,105],{10:[1,160],95:[1,161]}),{79:[1,162]},t(vt,[2,113],{119:164,10:[1,163],14:U,44:G,60:W,88:Y,104:j,105:X,108:z,110:H,113:q,114:Q,115:Z}),t(vt,[2,115],{10:[1,165]}),t(wt,[2,181]),t(wt,[2,168]),t(wt,[2,169]),t(wt,[2,170]),t(wt,[2,171]),t(wt,[2,172]),t(wt,[2,173]),t(wt,[2,174]),t(wt,[2,175]),t(wt,[2,176]),t(wt,[2,177]),t(wt,[2,178]),{44:g,47:166,60:f,88:D,101:x,104:C,105:T,108:S,110:F,112:41,113:_,114:B,115:v},{30:167,67:$t,79:Lt,80:Rt,81:168,115:It,116:Kt,117:Nt},{30:175,67:$t,79:Lt,80:Rt,81:168,115:It,116:Kt,117:Nt},{30:177,50:[1,176],67:$t,79:Lt,80:Rt,81:168,115:It,116:Kt,117:Nt},{30:178,67:$t,79:Lt,80:Rt,81:168,115:It,116:Kt,117:Nt},{30:179,67:$t,79:Lt,80:Rt,81:168,115:It,116:Kt,117:Nt},{30:180,67:$t,79:Lt,80:Rt,81:168,115:It,116:Kt,117:Nt},{108:[1,181]},{30:182,67:$t,79:Lt,80:Rt,81:168,115:It,116:Kt,117:Nt},{30:183,65:[1,184],67:$t,79:Lt,80:Rt,81:168,115:It,116:Kt,117:Nt},{30:185,67:$t,79:Lt,80:Rt,81:168,115:It,116:Kt,117:Nt},{30:186,67:$t,79:Lt,80:Rt,81:168,115:It,116:Kt,117:Nt},{30:187,67:$t,79:Lt,80:Rt,81:168,115:It,116:Kt,117:Nt},t(et,[2,180]),t(r,[2,20]),t(st,[2,25]),t(M,[2,46],{39:188,18:189,10:I,40:V}),t(nt,[2,73],{10:[1,190]}),{10:[1,191]},{30:192,67:$t,79:Lt,80:Rt,81:168,115:It,116:Kt,117:Nt},{77:[1,193],78:194,115:rt,118:it},t(Pt,[2,78]),t(Pt,[2,80]),t(Pt,[2,81]),t(Pt,[2,166]),t(Pt,[2,167]),{8:N,9:P,10:ut,11:O,12:at,14:ot,21:196,27:ct,29:[1,195],32:lt,44:ht,60:dt,75:pt,82:137,83:At,84:gt,85:ft,86:yt,87:kt,88:bt,89:Et,90:197,104:mt,108:Dt,110:xt,113:Ct,114:Tt,115:St},t(Ot,[2,99]),t(Ot,[2,101]),t(Ot,[2,102]),t(Ot,[2,155]),t(Ot,[2,156]),t(Ot,[2,157]),t(Ot,[2,158]),t(Ot,[2,159]),t(Ot,[2,160]),t(Ot,[2,161]),t(Ot,[2,162]),t(Ot,[2,163]),t(Ot,[2,164]),t(Ot,[2,165]),t(Ot,[2,88]),t(Ot,[2,89]),t(Ot,[2,90]),t(Ot,[2,91]),t(Ot,[2,92]),t(Ot,[2,93]),t(Ot,[2,94]),t(Ot,[2,95]),t(Ot,[2,96]),t(Ot,[2,97]),t(Ot,[2,98]),{6:11,7:12,8:u,9:a,10:o,11:c,20:17,22:18,23:19,24:20,25:21,26:22,27:h,32:[1,198],33:24,34:d,36:p,38:A,42:28,43:38,44:g,45:39,47:40,60:f,83:y,84:k,85:b,86:E,87:m,88:D,101:x,104:C,105:T,108:S,110:F,112:41,113:_,114:B,115:v,120:w,121:$,122:L,123:R},{10:I,18:199},{44:[1,200]},t(J,[2,43]),{10:[1,201],44:g,60:f,88:D,101:x,104:C,105:T,108:S,110:F,112:111,113:_,114:B,115:v},{10:[1,202]},{10:[1,203],105:[1,204]},t(Mt,[2,126]),{10:[1,205],44:g,60:f,88:D,101:x,104:C,105:T,108:S,110:F,112:111,113:_,114:B,115:v},{10:[1,206],44:g,60:f,88:D,101:x,104:C,105:T,108:S,110:F,112:111,113:_,114:B,115:v},{79:[1,207]},t(vt,[2,107],{10:[1,208]}),t(vt,[2,109],{10:[1,209]}),{79:[1,210]},t(wt,[2,182]),{79:[1,211],97:[1,212]},t(J,[2,55],{112:111,44:g,60:f,88:D,101:x,104:C,105:T,108:S,110:F,113:_,114:B,115:v}),{31:[1,213],67:$t,81:214,115:It,116:Kt,117:Nt},t(Vt,[2,84]),t(Vt,[2,86]),t(Vt,[2,87]),t(Vt,[2,151]),t(Vt,[2,152]),t(Vt,[2,153]),t(Vt,[2,154]),{49:[1,215],67:$t,81:214,115:It,116:Kt,117:Nt},{30:216,67:$t,79:Lt,80:Rt,81:168,115:It,116:Kt,117:Nt},{51:[1,217],67:$t,81:214,115:It,116:Kt,117:Nt},{53:[1,218],67:$t,81:214,115:It,116:Kt,117:Nt},{55:[1,219],67:$t,81:214,115:It,116:Kt,117:Nt},{57:[1,220],67:$t,81:214,115:It,116:Kt,117:Nt},{60:[1,221]},{64:[1,222],67:$t,81:214,115:It,116:Kt,117:Nt},{66:[1,223],67:$t,81:214,115:It,116:Kt,117:Nt},{30:224,67:$t,79:Lt,80:Rt,81:168,115:It,116:Kt,117:Nt},{31:[1,225],67:$t,81:214,115:It,116:Kt,117:Nt},{67:$t,69:[1,226],71:[1,227],81:214,115:It,116:Kt,117:Nt},{67:$t,69:[1,229],71:[1,228],81:214,115:It,116:Kt,117:Nt},t(M,[2,45],{18:152,10:I,40:Bt}),t(M,[2,47],{44:_t}),t(nt,[2,75]),t(nt,[2,74]),{62:[1,230],67:$t,81:214,115:It,116:Kt,117:Nt},t(nt,[2,77]),t(Pt,[2,79]),{30:231,67:$t,79:Lt,80:Rt,81:168,115:It,116:Kt,117:Nt},t(Ft,i,{5:232}),t(Ot,[2,100]),t(K,[2,35]),{43:233,44:g,45:39,47:40,60:f,88:D,101:x,104:C,105:T,108:S,110:F,112:41,113:_,114:B,115:v},{10:I,18:234},{10:Ut,60:Gt,83:Wt,91:235,104:Yt,106:236,107:237,108:jt,109:Xt,110:zt,111:Ht},{10:Ut,60:Gt,83:Wt,91:246,103:[1,247],104:Yt,106:236,107:237,108:jt,109:Xt,110:zt,111:Ht},{10:Ut,60:Gt,83:Wt,91:248,103:[1,249],104:Yt,106:236,107:237,108:jt,109:Xt,110:zt,111:Ht},{104:[1,250]},{10:Ut,60:Gt,83:Wt,91:251,104:Yt,106:236,107:237,108:jt,109:Xt,110:zt,111:Ht},{44:g,47:252,60:f,88:D,101:x,104:C,105:T,108:S,110:F,112:41,113:_,114:B,115:v},t(vt,[2,106]),{79:[1,253]},{79:[1,254],97:[1,255]},t(vt,[2,114]),t(vt,[2,116],{10:[1,256]}),t(vt,[2,117]),t(tt,[2,56]),t(Vt,[2,85]),t(tt,[2,57]),{51:[1,257],67:$t,81:214,115:It,116:Kt,117:Nt},t(tt,[2,64]),t(tt,[2,59]),t(tt,[2,60]),t(tt,[2,61]),{108:[1,258]},t(tt,[2,63]),t(tt,[2,65]),{66:[1,259],67:$t,81:214,115:It,116:Kt,117:Nt},t(tt,[2,67]),t(tt,[2,68]),t(tt,[2,70]),t(tt,[2,69]),t(tt,[2,71]),t([10,44,60,88,101,104,105,108,110,113,114,115],[2,83]),{31:[1,260],67:$t,81:214,115:It,116:Kt,117:Nt},{6:11,7:12,8:u,9:a,10:o,11:c,20:17,22:18,23:19,24:20,25:21,26:22,27:h,32:[1,261],33:24,34:d,36:p,38:A,42:28,43:38,44:g,45:39,47:40,60:f,83:y,84:k,85:b,86:E,87:m,88:D,101:x,104:C,105:T,108:S,110:F,112:41,113:_,114:B,115:v,120:w,121:$,122:L,123:R},t(J,[2,53]),{43:262,44:g,45:39,47:40,60:f,88:D,101:x,104:C,105:T,108:S,110:F,112:41,113:_,114:B,115:v},t(vt,[2,119],{105:qt}),t(Qt,[2,128],{107:264,10:Ut,60:Gt,83:Wt,104:Yt,108:jt,109:Xt,110:zt,111:Ht}),t(Zt,[2,130]),t(Zt,[2,132]),t(Zt,[2,133]),t(Zt,[2,134]),t(Zt,[2,135]),t(Zt,[2,136]),t(Zt,[2,137]),t(Zt,[2,138]),t(Zt,[2,139]),t(vt,[2,120],{105:qt}),{10:[1,265]},t(vt,[2,121],{105:qt}),{10:[1,266]},t(Mt,[2,127]),t(vt,[2,103],{105:qt}),t(vt,[2,104],{112:111,44:g,60:f,88:D,101:x,104:C,105:T,108:S,110:F,113:_,114:B,115:v}),t(vt,[2,108]),t(vt,[2,110],{10:[1,267]}),t(vt,[2,111]),{97:[1,268]},{51:[1,269]},{62:[1,270]},{66:[1,271]},{8:N,9:P,11:O,21:272},t(K,[2,34]),t(J,[2,52]),{10:Ut,60:Gt,83:Wt,104:Yt,106:273,107:237,108:jt,109:Xt,110:zt,111:Ht},t(Zt,[2,131]),{14:U,44:G,60:W,88:Y,100:274,104:j,105:X,108:z,110:H,113:q,114:Q,115:Z,119:86},{14:U,44:G,60:W,88:Y,100:275,104:j,105:X,108:z,110:H,113:q,114:Q,115:Z,119:86},{97:[1,276]},t(vt,[2,118]),t(tt,[2,58]),{30:277,67:$t,79:Lt,80:Rt,81:168,115:It,116:Kt,117:Nt},t(tt,[2,66]),t(Ft,i,{5:278}),t(Qt,[2,129],{107:264,10:Ut,60:Gt,83:Wt,104:Yt,108:jt,109:Xt,110:zt,111:Ht}),t(vt,[2,124],{119:164,10:[1,279],14:U,44:G,60:W,88:Y,104:j,105:X,108:z,110:H,113:q,114:Q,115:Z}),t(vt,[2,125],{119:164,10:[1,280],14:U,44:G,60:W,88:Y,104:j,105:X,108:z,110:H,113:q,114:Q,115:Z}),t(vt,[2,112]),{31:[1,281],67:$t,81:214,115:It,116:Kt,117:Nt},{6:11,7:12,8:u,9:a,10:o,11:c,20:17,22:18,23:19,24:20,25:21,26:22,27:h,32:[1,282],33:24,34:d,36:p,38:A,42:28,43:38,44:g,45:39,47:40,60:f,83:y,84:k,85:b,86:E,87:m,88:D,101:x,104:C,105:T,108:S,110:F,112:41,113:_,114:B,115:v,120:w,121:$,122:L,123:R},{10:Ut,60:Gt,83:Wt,91:283,104:Yt,106:236,107:237,108:jt,109:Xt,110:zt,111:Ht},{10:Ut,60:Gt,83:Wt,91:284,104:Yt,106:236,107:237,108:jt,109:Xt,110:zt,111:Ht},t(tt,[2,62]),t(K,[2,33]),t(vt,[2,122],{105:qt}),t(vt,[2,123],{105:qt})],defaultActions:{},parseError:(0,l.K2)((function(t,e){if(!e.recoverable){var s=new Error(t);throw s.hash=e,s}this.trace(t)}),"parseError"),parse:(0,l.K2)((function(t){var e=this,s=[0],n=[],r=[null],i=[],u=this.table,a="",o=0,c=0,h=0,d=i.slice.call(arguments,1),p=Object.create(this.lexer),A={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(A.yy[g]=this.yy[g]);p.setInput(t,A.yy),A.yy.lexer=p,A.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var f=p.yylloc;i.push(f);var y=p.options&&p.options.ranges;function k(){var t;return"number"!=typeof(t=n.pop()||p.lex()||1)&&(t instanceof Array&&(t=(n=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof A.yy.parseError?this.parseError=A.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,l.K2)((function(t){s.length=s.length-2*t,r.length=r.length-t,i.length=i.length-t}),"popStack"),(0,l.K2)(k,"lex");for(var b,E,m,D,x,C,T,S,F,_={};;){if(m=s[s.length-1],this.defaultActions[m]?D=this.defaultActions[m]:(null==b&&(b=k()),D=u[m]&&u[m][b]),void 0===D||!D.length||!D[0]){var B;for(C in F=[],u[m])this.terminals_[C]&&C>2&&F.push("'"+this.terminals_[C]+"'");B=p.showPosition?"Parse error on line "+(o+1)+":\n"+p.showPosition()+"\nExpecting "+F.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(o+1)+": Unexpected "+(1==b?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(B,{text:p.match,token:this.terminals_[b]||b,line:p.yylineno,loc:f,expected:F})}if(D[0]instanceof Array&&D.length>1)throw new Error("Parse Error: multiple actions possible at state: "+m+", token: "+b);switch(D[0]){case 1:s.push(b),r.push(p.yytext),i.push(p.yylloc),s.push(D[1]),b=null,E?(b=E,E=null):(c=p.yyleng,a=p.yytext,o=p.yylineno,f=p.yylloc,h>0&&h--);break;case 2:if(T=this.productions_[D[1]][1],_.$=r[r.length-T],_._$={first_line:i[i.length-(T||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(T||1)].first_column,last_column:i[i.length-1].last_column},y&&(_._$.range=[i[i.length-(T||1)].range[0],i[i.length-1].range[1]]),void 0!==(x=this.performAction.apply(_,[a,c,o,A.yy,D[1],r,i].concat(d))))return x;T&&(s=s.slice(0,-1*T*2),r=r.slice(0,-1*T),i=i.slice(0,-1*T)),s.push(this.productions_[D[1]][0]),r.push(_.$),i.push(_._$),S=u[s[s.length-2]][s[s.length-1]],s.push(S);break;case 3:return!0}}return!0}),"parse")},te=function(){return{EOF:1,parseError:(0,l.K2)((function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)}),"parseError"),setInput:(0,l.K2)((function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this}),"setInput"),input:(0,l.K2)((function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t}),"input"),unput:(0,l.K2)((function(t){var e=t.length,s=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),s.length-1&&(this.yylineno-=s.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:s?(s.length===n.length?this.yylloc.first_column:0)+n[n.length-s.length].length-s[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this}),"unput"),more:(0,l.K2)((function(){return this._more=!0,this}),"more"),reject:(0,l.K2)((function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"reject"),less:(0,l.K2)((function(t){this.unput(this.match.slice(t))}),"less"),pastInput:(0,l.K2)((function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")}),"pastInput"),upcomingInput:(0,l.K2)((function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")}),"upcomingInput"),showPosition:(0,l.K2)((function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"}),"showPosition"),test_match:(0,l.K2)((function(t,e){var s,n,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(n=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],s=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),s)return s;if(this._backtrack){for(var i in r)this[i]=r[i];return!1}return!1}),"test_match"),next:(0,l.K2)((function(){if(this.done)return this.EOF;var t,e,s,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),i=0;ie[0].length)){if(e=s,n=i,this.options.backtrack_lexer){if(!1!==(t=this.test_match(s,r[i])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[n]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"next"),lex:(0,l.K2)((function(){return this.next()||this.lex()}),"lex"),begin:(0,l.K2)((function(t){this.conditionStack.push(t)}),"begin"),popState:(0,l.K2)((function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]}),"popState"),_currentRules:(0,l.K2)((function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules}),"_currentRules"),topState:(0,l.K2)((function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"}),"topState"),pushState:(0,l.K2)((function(t){this.begin(t)}),"pushState"),stateStackSize:(0,l.K2)((function(){return this.conditionStack.length}),"stateStackSize"),options:{},performAction:(0,l.K2)((function(t,e,s,n){switch(s){case 0:return this.begin("acc_title"),34;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),36;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:case 12:case 14:case 17:case 20:case 23:case 33:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return this.pushState("shapeData"),e.yytext="",40;case 8:return this.pushState("shapeDataStr"),40;case 9:return this.popState(),40;case 10:const s=/\n\s*/g;return e.yytext=e.yytext.replace(s,"
    "),40;case 11:return 40;case 13:this.begin("callbackname");break;case 15:this.popState(),this.begin("callbackargs");break;case 16:return 94;case 18:return 95;case 19:return"MD_STR";case 21:this.begin("md_string");break;case 22:return"STR";case 24:this.pushState("string");break;case 25:return 83;case 26:return 101;case 27:return 84;case 28:return 103;case 29:return 85;case 30:return 86;case 31:return 96;case 32:this.begin("click");break;case 34:return 87;case 35:case 36:case 37:return t.lex.firstGraph()&&this.begin("dir"),12;case 38:return 27;case 39:return 32;case 40:case 41:case 42:case 43:return 97;case 44:return this.popState(),13;case 45:case 46:case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 54:return this.popState(),14;case 55:return 120;case 56:return 121;case 57:return 122;case 58:return 123;case 59:return 104;case 60:case 101:return 110;case 61:return 46;case 62:return 60;case 63:case 102:return 44;case 64:return 8;case 65:return 105;case 66:case 100:return 114;case 67:case 70:case 73:return this.popState(),77;case 68:return this.pushState("edgeText"),75;case 69:case 72:case 75:return 118;case 71:return this.pushState("thickEdgeText"),75;case 74:return this.pushState("dottedEdgeText"),75;case 76:return 77;case 77:return this.popState(),53;case 78:case 114:return"TEXT";case 79:return this.pushState("ellipseText"),52;case 80:return this.popState(),55;case 81:return this.pushState("text"),54;case 82:return this.popState(),57;case 83:return this.pushState("text"),56;case 84:return 58;case 85:return this.pushState("text"),67;case 86:return this.popState(),64;case 87:return this.pushState("text"),63;case 88:return this.popState(),49;case 89:return this.pushState("text"),48;case 90:return this.popState(),69;case 91:return this.popState(),71;case 92:return 116;case 93:return this.pushState("trapText"),68;case 94:return this.pushState("trapText"),70;case 95:return 117;case 96:return 67;case 97:return 89;case 98:return"SEP";case 99:return 88;case 103:return 108;case 104:return 113;case 105:return 115;case 106:return this.popState(),62;case 107:return this.pushState("text"),62;case 108:return this.popState(),51;case 109:return this.pushState("text"),50;case 110:return this.popState(),31;case 111:return this.pushState("text"),29;case 112:return this.popState(),66;case 113:return this.pushState("text"),65;case 115:return"QUOTE";case 116:return 9;case 117:return 10;case 118:return 11}}),"anonymous"),rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:@\{)/,/^(?:["])/,/^(?:["])/,/^(?:[^\"]+)/,/^(?:[^}^"]+)/,/^(?:\})/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:[^=]|=(?!))/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:[^\.]|\.(?!))/,/^(?:\s*~~[\~]+\s*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|!\)+)/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/,/^(?:-)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:[^\[\]\(\)\{\}\|\"]+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{shapeDataEndBracket:{rules:[21,24,76,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},shapeDataStr:{rules:[9,10,21,24,76,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},shapeData:{rules:[8,11,12,21,24,76,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},callbackargs:{rules:[17,18,21,24,76,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},callbackname:{rules:[14,15,16,21,24,76,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},href:{rules:[21,24,76,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},click:{rules:[21,24,33,34,76,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},dottedEdgeText:{rules:[21,24,73,75,76,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},thickEdgeText:{rules:[21,24,70,72,76,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},edgeText:{rules:[21,24,67,69,76,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},trapText:{rules:[21,24,76,79,81,83,87,89,90,91,92,93,94,107,109,111,113],inclusive:!1},ellipseText:{rules:[21,24,76,77,78,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},text:{rules:[21,24,76,79,80,81,82,83,86,87,88,89,93,94,106,107,108,109,110,111,112,113,114],inclusive:!1},vertex:{rules:[21,24,76,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},dir:{rules:[21,24,44,45,46,47,48,49,50,51,52,53,54,76,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},acc_descr_multiline:{rules:[5,6,21,24,76,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},acc_descr:{rules:[3,21,24,76,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},acc_title:{rules:[1,21,24,76,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},md_string:{rules:[19,20,21,24,76,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},string:{rules:[21,22,23,24,76,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},INITIAL:{rules:[0,2,4,7,13,21,24,25,26,27,28,29,30,31,32,35,36,37,38,39,40,41,42,43,55,56,57,58,59,60,61,62,63,64,65,66,67,68,70,71,73,74,76,79,81,83,84,85,87,89,93,94,95,96,97,98,99,100,101,102,103,104,105,107,109,111,113,115,116,117,118],inclusive:!0}}}}();function ee(){this.yy={}}return Jt.lexer=te,(0,l.K2)(ee,"Parser"),ee.prototype=Jt,Jt.Parser=ee,new ee}();bt.parser=bt;var Et=bt,mt=(0,l.K2)(((t,e)=>{const s=d.A,n=s(t,"r"),r=s(t,"g"),i=s(t,"b");return p.A(n,r,i,e)}),"fade"),Dt={parser:Et,db:yt,renderer:kt,styles:(0,l.K2)((t=>`.label {\n font-family: ${t.fontFamily};\n color: ${t.nodeTextColor||t.textColor};\n }\n .cluster-label text {\n fill: ${t.titleColor};\n }\n .cluster-label span {\n color: ${t.titleColor};\n }\n .cluster-label span p {\n background-color: transparent;\n }\n\n .label text,span {\n fill: ${t.nodeTextColor||t.textColor};\n color: ${t.nodeTextColor||t.textColor};\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${t.mainBkg};\n stroke: ${t.nodeBorder};\n stroke-width: 1px;\n }\n .rough-node .label text , .node .label text, .image-shape .label, .icon-shape .label {\n text-anchor: middle;\n }\n // .flowchart-label .text-outer-tspan {\n // text-anchor: middle;\n // }\n // .flowchart-label .text-inner-tspan {\n // text-anchor: start;\n // }\n\n .node .katex path {\n fill: #000;\n stroke: #000;\n stroke-width: 1px;\n }\n\n .rough-node .label,.node .label, .image-shape .label, .icon-shape .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n\n .root .anchor path {\n fill: ${t.lineColor} !important;\n stroke-width: 0;\n stroke: ${t.lineColor};\n }\n\n .arrowheadPath {\n fill: ${t.arrowheadColor};\n }\n\n .edgePath .path {\n stroke: ${t.lineColor};\n stroke-width: 2.0px;\n }\n\n .flowchart-link {\n stroke: ${t.lineColor};\n fill: none;\n }\n\n .edgeLabel {\n background-color: ${t.edgeLabelBackground};\n p {\n background-color: ${t.edgeLabelBackground};\n }\n rect {\n opacity: 0.5;\n background-color: ${t.edgeLabelBackground};\n fill: ${t.edgeLabelBackground};\n }\n text-align: center;\n }\n\n /* For html labels only */\n .labelBkg {\n background-color: ${mt(t.edgeLabelBackground,.5)};\n // background-color:\n }\n\n .cluster rect {\n fill: ${t.clusterBkg};\n stroke: ${t.clusterBorder};\n stroke-width: 1px;\n }\n\n .cluster text {\n fill: ${t.titleColor};\n }\n\n .cluster span {\n color: ${t.titleColor};\n }\n /* .cluster div {\n color: ${t.titleColor};\n } */\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: ${t.fontFamily};\n font-size: 12px;\n background: ${t.tertiaryColor};\n border: 1px solid ${t.border2};\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n\n .flowchartTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${t.textColor};\n }\n\n rect.text {\n fill: none;\n stroke-width: 0;\n }\n\n .icon-shape, .image-shape {\n background-color: ${t.edgeLabelBackground};\n p {\n background-color: ${t.edgeLabelBackground};\n padding: 2px;\n }\n rect {\n opacity: 0.5;\n background-color: ${t.edgeLabelBackground};\n fill: ${t.edgeLabelBackground};\n }\n text-align: center;\n }\n`),"getStyles"),init:(0,l.K2)((t=>{t.flowchart||(t.flowchart={}),t.layout&&(0,l.XV)({layout:t.layout}),t.flowchart.arrowMarkerAbsolute=t.arrowMarkerAbsolute,(0,l.XV)({flowchart:{arrowMarkerAbsolute:t.arrowMarkerAbsolute}}),yt.clear(),yt.setGen("gen-2")}),"init")}}}]); \ No newline at end of file diff --git a/docs/hugo/public/js/540-ae28fd42.chunk.min.js b/docs/hugo/public/js/540-ae28fd42.chunk.min.js new file mode 100644 index 000000000..414f9b03c --- /dev/null +++ b/docs/hugo/public/js/540-ae28fd42.chunk.min.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgeekdoc=self.webpackChunkgeekdoc||[]).push([[540],{3814:(t,e,a)=>{a.d(e,{CP:()=>l,HT:()=>h,PB:()=>d,aC:()=>c,lC:()=>n,m:()=>o,tk:()=>i});var r=a(9502),s=a(6750),i=(0,r.K2)(((t,e)=>{const a=t.append("rect");if(a.attr("x",e.x),a.attr("y",e.y),a.attr("fill",e.fill),a.attr("stroke",e.stroke),a.attr("width",e.width),a.attr("height",e.height),e.name&&a.attr("name",e.name),e.rx&&a.attr("rx",e.rx),e.ry&&a.attr("ry",e.ry),void 0!==e.attrs)for(const t in e.attrs)a.attr(t,e.attrs[t]);return e.class&&a.attr("class",e.class),a}),"drawRect"),n=(0,r.K2)(((t,e)=>{const a={x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"};i(t,a).lower()}),"drawBackgroundRect"),o=(0,r.K2)(((t,e)=>{const a=e.text.replace(r.H1," "),s=t.append("text");s.attr("x",e.x),s.attr("y",e.y),s.attr("class","legend"),s.style("text-anchor",e.anchor),e.class&&s.attr("class",e.class);const i=s.append("tspan");return i.attr("x",e.x+2*e.textMargin),i.text(a),s}),"drawText"),c=(0,r.K2)(((t,e,a,r)=>{const i=t.append("image");i.attr("x",e),i.attr("y",a);const n=(0,s.J)(r);i.attr("xlink:href",n)}),"drawImage"),l=(0,r.K2)(((t,e,a,r)=>{const i=t.append("use");i.attr("x",e),i.attr("y",a);const n=(0,s.J)(r);i.attr("xlink:href",`#${n}`)}),"drawEmbeddedImage"),d=(0,r.K2)((()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0})),"getNoteRect"),h=(0,r.K2)((()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0})),"getTextObj")},8160:(t,e,a)=>{a.d(e,{m:()=>s});var r=a(9502),s=class{constructor(t){this.init=t,this.records=this.init()}static{(0,r.K2)(this,"ImperativeState")}reset(){this.records=this.init()}}},8540:(t,e,a)=>{a.d(e,{diagram:()=>Ut});var r=a(3814),s=a(8160),i=a(8159),n=a(9502),o=a(4852),c=a(6750),l=function(){var t=(0,n.K2)((function(t,e,a,r){for(a=a||{},r=t.length;r--;a[t[r]]=e);return a}),"o"),e=[1,2],a=[1,3],r=[1,4],s=[2,4],i=[1,9],o=[1,11],c=[1,13],l=[1,14],d=[1,16],h=[1,17],p=[1,18],g=[1,24],u=[1,25],x=[1,26],y=[1,27],m=[1,28],b=[1,29],T=[1,30],f=[1,31],E=[1,32],w=[1,33],I=[1,34],L=[1,35],_=[1,36],P=[1,37],k=[1,38],A=[1,39],v=[1,41],N=[1,42],M=[1,43],D=[1,44],O=[1,45],S=[1,46],K=[1,4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,48,49,50,52,53,54,59,60,61,62,70],R=[4,5,16,50,52,53],Y=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],C=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,49,50,52,53,54,59,60,61,62,70],B=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,48,50,52,53,54,59,60,61,62,70],$=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,50,52,53,54,59,60,61,62,70],V=[68,69,70],F=[1,122],W={trace:(0,n.K2)((function(){}),"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,box_section:10,box_line:11,participant_statement:12,create:13,box:14,restOfLine:15,end:16,signal:17,autonumber:18,NUM:19,off:20,activate:21,actor:22,deactivate:23,note_statement:24,links_statement:25,link_statement:26,properties_statement:27,details_statement:28,title:29,legacy_title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,loop:36,rect:37,opt:38,alt:39,else_sections:40,par:41,par_sections:42,par_over:43,critical:44,option_sections:45,break:46,option:47,and:48,else:49,participant:50,AS:51,participant_actor:52,destroy:53,note:54,placement:55,text2:56,over:57,actor_pair:58,links:59,link:60,properties:61,details:62,spaceList:63,",":64,left_of:65,right_of:66,signaltype:67,"+":68,"-":69,ACTOR:70,SOLID_OPEN_ARROW:71,DOTTED_OPEN_ARROW:72,SOLID_ARROW:73,BIDIRECTIONAL_SOLID_ARROW:74,DOTTED_ARROW:75,BIDIRECTIONAL_DOTTED_ARROW:76,SOLID_CROSS:77,DOTTED_CROSS:78,SOLID_POINT:79,DOTTED_POINT:80,TXT:81,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",13:"create",14:"box",15:"restOfLine",16:"end",18:"autonumber",19:"NUM",20:"off",21:"activate",23:"deactivate",29:"title",30:"legacy_title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"loop",37:"rect",38:"opt",39:"alt",41:"par",43:"par_over",44:"critical",46:"break",47:"option",48:"and",49:"else",50:"participant",51:"AS",52:"participant_actor",53:"destroy",54:"note",57:"over",59:"links",60:"link",61:"properties",62:"details",64:",",65:"left_of",66:"right_of",68:"+",69:"-",70:"ACTOR",71:"SOLID_OPEN_ARROW",72:"DOTTED_OPEN_ARROW",73:"SOLID_ARROW",74:"BIDIRECTIONAL_SOLID_ARROW",75:"DOTTED_ARROW",76:"BIDIRECTIONAL_DOTTED_ARROW",77:"SOLID_CROSS",78:"DOTTED_CROSS",79:"SOLID_POINT",80:"DOTTED_POINT",81:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[10,0],[10,2],[11,2],[11,1],[11,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[45,1],[45,4],[42,1],[42,4],[40,1],[40,4],[12,5],[12,3],[12,5],[12,3],[12,3],[24,4],[24,4],[25,3],[26,3],[27,3],[28,3],[63,2],[63,1],[58,3],[58,1],[55,1],[55,1],[17,5],[17,5],[17,4],[22,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[56,1]],performAction:(0,n.K2)((function(t,e,a,r,s,i,n){var o=i.length-1;switch(s){case 3:return r.apply(i[o]),i[o];case 4:case 9:case 8:case 13:this.$=[];break;case 5:case 10:i[o-1].push(i[o]),this.$=i[o-1];break;case 6:case 7:case 11:case 12:case 62:this.$=i[o];break;case 15:i[o].type="createParticipant",this.$=i[o];break;case 16:i[o-1].unshift({type:"boxStart",boxData:r.parseBoxData(i[o-2])}),i[o-1].push({type:"boxEnd",boxText:i[o-2]}),this.$=i[o-1];break;case 18:this.$={type:"sequenceIndex",sequenceIndex:Number(i[o-2]),sequenceIndexStep:Number(i[o-1]),sequenceVisible:!0,signalType:r.LINETYPE.AUTONUMBER};break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(i[o-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:r.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:r.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:r.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"activeStart",signalType:r.LINETYPE.ACTIVE_START,actor:i[o-1].actor};break;case 23:this.$={type:"activeEnd",signalType:r.LINETYPE.ACTIVE_END,actor:i[o-1].actor};break;case 29:r.setDiagramTitle(i[o].substring(6)),this.$=i[o].substring(6);break;case 30:r.setDiagramTitle(i[o].substring(7)),this.$=i[o].substring(7);break;case 31:this.$=i[o].trim(),r.setAccTitle(this.$);break;case 32:case 33:this.$=i[o].trim(),r.setAccDescription(this.$);break;case 34:i[o-1].unshift({type:"loopStart",loopText:r.parseMessage(i[o-2]),signalType:r.LINETYPE.LOOP_START}),i[o-1].push({type:"loopEnd",loopText:i[o-2],signalType:r.LINETYPE.LOOP_END}),this.$=i[o-1];break;case 35:i[o-1].unshift({type:"rectStart",color:r.parseMessage(i[o-2]),signalType:r.LINETYPE.RECT_START}),i[o-1].push({type:"rectEnd",color:r.parseMessage(i[o-2]),signalType:r.LINETYPE.RECT_END}),this.$=i[o-1];break;case 36:i[o-1].unshift({type:"optStart",optText:r.parseMessage(i[o-2]),signalType:r.LINETYPE.OPT_START}),i[o-1].push({type:"optEnd",optText:r.parseMessage(i[o-2]),signalType:r.LINETYPE.OPT_END}),this.$=i[o-1];break;case 37:i[o-1].unshift({type:"altStart",altText:r.parseMessage(i[o-2]),signalType:r.LINETYPE.ALT_START}),i[o-1].push({type:"altEnd",signalType:r.LINETYPE.ALT_END}),this.$=i[o-1];break;case 38:i[o-1].unshift({type:"parStart",parText:r.parseMessage(i[o-2]),signalType:r.LINETYPE.PAR_START}),i[o-1].push({type:"parEnd",signalType:r.LINETYPE.PAR_END}),this.$=i[o-1];break;case 39:i[o-1].unshift({type:"parStart",parText:r.parseMessage(i[o-2]),signalType:r.LINETYPE.PAR_OVER_START}),i[o-1].push({type:"parEnd",signalType:r.LINETYPE.PAR_END}),this.$=i[o-1];break;case 40:i[o-1].unshift({type:"criticalStart",criticalText:r.parseMessage(i[o-2]),signalType:r.LINETYPE.CRITICAL_START}),i[o-1].push({type:"criticalEnd",signalType:r.LINETYPE.CRITICAL_END}),this.$=i[o-1];break;case 41:i[o-1].unshift({type:"breakStart",breakText:r.parseMessage(i[o-2]),signalType:r.LINETYPE.BREAK_START}),i[o-1].push({type:"breakEnd",optText:r.parseMessage(i[o-2]),signalType:r.LINETYPE.BREAK_END}),this.$=i[o-1];break;case 43:this.$=i[o-3].concat([{type:"option",optionText:r.parseMessage(i[o-1]),signalType:r.LINETYPE.CRITICAL_OPTION},i[o]]);break;case 45:this.$=i[o-3].concat([{type:"and",parText:r.parseMessage(i[o-1]),signalType:r.LINETYPE.PAR_AND},i[o]]);break;case 47:this.$=i[o-3].concat([{type:"else",altText:r.parseMessage(i[o-1]),signalType:r.LINETYPE.ALT_ELSE},i[o]]);break;case 48:i[o-3].draw="participant",i[o-3].type="addParticipant",i[o-3].description=r.parseMessage(i[o-1]),this.$=i[o-3];break;case 49:i[o-1].draw="participant",i[o-1].type="addParticipant",this.$=i[o-1];break;case 50:i[o-3].draw="actor",i[o-3].type="addParticipant",i[o-3].description=r.parseMessage(i[o-1]),this.$=i[o-3];break;case 51:i[o-1].draw="actor",i[o-1].type="addParticipant",this.$=i[o-1];break;case 52:i[o-1].type="destroyParticipant",this.$=i[o-1];break;case 53:this.$=[i[o-1],{type:"addNote",placement:i[o-2],actor:i[o-1].actor,text:i[o]}];break;case 54:i[o-2]=[].concat(i[o-1],i[o-1]).slice(0,2),i[o-2][0]=i[o-2][0].actor,i[o-2][1]=i[o-2][1].actor,this.$=[i[o-1],{type:"addNote",placement:r.PLACEMENT.OVER,actor:i[o-2].slice(0,2),text:i[o]}];break;case 55:this.$=[i[o-1],{type:"addLinks",actor:i[o-1].actor,text:i[o]}];break;case 56:this.$=[i[o-1],{type:"addALink",actor:i[o-1].actor,text:i[o]}];break;case 57:this.$=[i[o-1],{type:"addProperties",actor:i[o-1].actor,text:i[o]}];break;case 58:this.$=[i[o-1],{type:"addDetails",actor:i[o-1].actor,text:i[o]}];break;case 61:this.$=[i[o-2],i[o]];break;case 63:this.$=r.PLACEMENT.LEFTOF;break;case 64:this.$=r.PLACEMENT.RIGHTOF;break;case 65:this.$=[i[o-4],i[o-1],{type:"addMessage",from:i[o-4].actor,to:i[o-1].actor,signalType:i[o-3],msg:i[o],activate:!0},{type:"activeStart",signalType:r.LINETYPE.ACTIVE_START,actor:i[o-1].actor}];break;case 66:this.$=[i[o-4],i[o-1],{type:"addMessage",from:i[o-4].actor,to:i[o-1].actor,signalType:i[o-3],msg:i[o]},{type:"activeEnd",signalType:r.LINETYPE.ACTIVE_END,actor:i[o-4].actor}];break;case 67:this.$=[i[o-3],i[o-1],{type:"addMessage",from:i[o-3].actor,to:i[o-1].actor,signalType:i[o-2],msg:i[o]}];break;case 68:this.$={type:"addParticipant",actor:i[o]};break;case 69:this.$=r.LINETYPE.SOLID_OPEN;break;case 70:this.$=r.LINETYPE.DOTTED_OPEN;break;case 71:this.$=r.LINETYPE.SOLID;break;case 72:this.$=r.LINETYPE.BIDIRECTIONAL_SOLID;break;case 73:this.$=r.LINETYPE.DOTTED;break;case 74:this.$=r.LINETYPE.BIDIRECTIONAL_DOTTED;break;case 75:this.$=r.LINETYPE.SOLID_CROSS;break;case 76:this.$=r.LINETYPE.DOTTED_CROSS;break;case 77:this.$=r.LINETYPE.SOLID_POINT;break;case 78:this.$=r.LINETYPE.DOTTED_POINT;break;case 79:this.$=r.parseMessage(i[o].trim().substring(1))}}),"anonymous"),table:[{3:1,4:e,5:a,6:r},{1:[3]},{3:5,4:e,5:a,6:r},{3:6,4:e,5:a,6:r},t([1,4,5,13,14,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],s,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:i,5:o,8:8,9:10,12:12,13:c,14:l,17:15,18:d,21:h,22:40,23:p,24:19,25:20,26:21,27:22,28:23,29:g,30:u,31:x,33:y,35:m,36:b,37:T,38:f,39:E,41:w,43:I,44:L,46:_,50:P,52:k,53:A,54:v,59:N,60:M,61:D,62:O,70:S},t(K,[2,5]),{9:47,12:12,13:c,14:l,17:15,18:d,21:h,22:40,23:p,24:19,25:20,26:21,27:22,28:23,29:g,30:u,31:x,33:y,35:m,36:b,37:T,38:f,39:E,41:w,43:I,44:L,46:_,50:P,52:k,53:A,54:v,59:N,60:M,61:D,62:O,70:S},t(K,[2,7]),t(K,[2,8]),t(K,[2,14]),{12:48,50:P,52:k,53:A},{15:[1,49]},{5:[1,50]},{5:[1,53],19:[1,51],20:[1,52]},{22:54,70:S},{22:55,70:S},{5:[1,56]},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},t(K,[2,29]),t(K,[2,30]),{32:[1,61]},{34:[1,62]},t(K,[2,33]),{15:[1,63]},{15:[1,64]},{15:[1,65]},{15:[1,66]},{15:[1,67]},{15:[1,68]},{15:[1,69]},{15:[1,70]},{22:71,70:S},{22:72,70:S},{22:73,70:S},{67:74,71:[1,75],72:[1,76],73:[1,77],74:[1,78],75:[1,79],76:[1,80],77:[1,81],78:[1,82],79:[1,83],80:[1,84]},{55:85,57:[1,86],65:[1,87],66:[1,88]},{22:89,70:S},{22:90,70:S},{22:91,70:S},{22:92,70:S},t([5,51,64,71,72,73,74,75,76,77,78,79,80,81],[2,68]),t(K,[2,6]),t(K,[2,15]),t(R,[2,9],{10:93}),t(K,[2,17]),{5:[1,95],19:[1,94]},{5:[1,96]},t(K,[2,21]),{5:[1,97]},{5:[1,98]},t(K,[2,24]),t(K,[2,25]),t(K,[2,26]),t(K,[2,27]),t(K,[2,28]),t(K,[2,31]),t(K,[2,32]),t(Y,s,{7:99}),t(Y,s,{7:100}),t(Y,s,{7:101}),t(C,s,{40:102,7:103}),t(B,s,{42:104,7:105}),t(B,s,{7:105,42:106}),t($,s,{45:107,7:108}),t(Y,s,{7:109}),{5:[1,111],51:[1,110]},{5:[1,113],51:[1,112]},{5:[1,114]},{22:117,68:[1,115],69:[1,116],70:S},t(V,[2,69]),t(V,[2,70]),t(V,[2,71]),t(V,[2,72]),t(V,[2,73]),t(V,[2,74]),t(V,[2,75]),t(V,[2,76]),t(V,[2,77]),t(V,[2,78]),{22:118,70:S},{22:120,58:119,70:S},{70:[2,63]},{70:[2,64]},{56:121,81:F},{56:123,81:F},{56:124,81:F},{56:125,81:F},{4:[1,128],5:[1,130],11:127,12:129,16:[1,126],50:P,52:k,53:A},{5:[1,131]},t(K,[2,19]),t(K,[2,20]),t(K,[2,22]),t(K,[2,23]),{4:i,5:o,8:8,9:10,12:12,13:c,14:l,16:[1,132],17:15,18:d,21:h,22:40,23:p,24:19,25:20,26:21,27:22,28:23,29:g,30:u,31:x,33:y,35:m,36:b,37:T,38:f,39:E,41:w,43:I,44:L,46:_,50:P,52:k,53:A,54:v,59:N,60:M,61:D,62:O,70:S},{4:i,5:o,8:8,9:10,12:12,13:c,14:l,16:[1,133],17:15,18:d,21:h,22:40,23:p,24:19,25:20,26:21,27:22,28:23,29:g,30:u,31:x,33:y,35:m,36:b,37:T,38:f,39:E,41:w,43:I,44:L,46:_,50:P,52:k,53:A,54:v,59:N,60:M,61:D,62:O,70:S},{4:i,5:o,8:8,9:10,12:12,13:c,14:l,16:[1,134],17:15,18:d,21:h,22:40,23:p,24:19,25:20,26:21,27:22,28:23,29:g,30:u,31:x,33:y,35:m,36:b,37:T,38:f,39:E,41:w,43:I,44:L,46:_,50:P,52:k,53:A,54:v,59:N,60:M,61:D,62:O,70:S},{16:[1,135]},{4:i,5:o,8:8,9:10,12:12,13:c,14:l,16:[2,46],17:15,18:d,21:h,22:40,23:p,24:19,25:20,26:21,27:22,28:23,29:g,30:u,31:x,33:y,35:m,36:b,37:T,38:f,39:E,41:w,43:I,44:L,46:_,49:[1,136],50:P,52:k,53:A,54:v,59:N,60:M,61:D,62:O,70:S},{16:[1,137]},{4:i,5:o,8:8,9:10,12:12,13:c,14:l,16:[2,44],17:15,18:d,21:h,22:40,23:p,24:19,25:20,26:21,27:22,28:23,29:g,30:u,31:x,33:y,35:m,36:b,37:T,38:f,39:E,41:w,43:I,44:L,46:_,48:[1,138],50:P,52:k,53:A,54:v,59:N,60:M,61:D,62:O,70:S},{16:[1,139]},{16:[1,140]},{4:i,5:o,8:8,9:10,12:12,13:c,14:l,16:[2,42],17:15,18:d,21:h,22:40,23:p,24:19,25:20,26:21,27:22,28:23,29:g,30:u,31:x,33:y,35:m,36:b,37:T,38:f,39:E,41:w,43:I,44:L,46:_,47:[1,141],50:P,52:k,53:A,54:v,59:N,60:M,61:D,62:O,70:S},{4:i,5:o,8:8,9:10,12:12,13:c,14:l,16:[1,142],17:15,18:d,21:h,22:40,23:p,24:19,25:20,26:21,27:22,28:23,29:g,30:u,31:x,33:y,35:m,36:b,37:T,38:f,39:E,41:w,43:I,44:L,46:_,50:P,52:k,53:A,54:v,59:N,60:M,61:D,62:O,70:S},{15:[1,143]},t(K,[2,49]),{15:[1,144]},t(K,[2,51]),t(K,[2,52]),{22:145,70:S},{22:146,70:S},{56:147,81:F},{56:148,81:F},{56:149,81:F},{64:[1,150],81:[2,62]},{5:[2,55]},{5:[2,79]},{5:[2,56]},{5:[2,57]},{5:[2,58]},t(K,[2,16]),t(R,[2,10]),{12:151,50:P,52:k,53:A},t(R,[2,12]),t(R,[2,13]),t(K,[2,18]),t(K,[2,34]),t(K,[2,35]),t(K,[2,36]),t(K,[2,37]),{15:[1,152]},t(K,[2,38]),{15:[1,153]},t(K,[2,39]),t(K,[2,40]),{15:[1,154]},t(K,[2,41]),{5:[1,155]},{5:[1,156]},{56:157,81:F},{56:158,81:F},{5:[2,67]},{5:[2,53]},{5:[2,54]},{22:159,70:S},t(R,[2,11]),t(C,s,{7:103,40:160}),t(B,s,{7:105,42:161}),t($,s,{7:108,45:162}),t(K,[2,48]),t(K,[2,50]),{5:[2,65]},{5:[2,66]},{81:[2,61]},{16:[2,47]},{16:[2,45]},{16:[2,43]}],defaultActions:{5:[2,1],6:[2,2],87:[2,63],88:[2,64],121:[2,55],122:[2,79],123:[2,56],124:[2,57],125:[2,58],147:[2,67],148:[2,53],149:[2,54],157:[2,65],158:[2,66],159:[2,61],160:[2,47],161:[2,45],162:[2,43]},parseError:(0,n.K2)((function(t,e){if(!e.recoverable){var a=new Error(t);throw a.hash=e,a}this.trace(t)}),"parseError"),parse:(0,n.K2)((function(t){var e=this,a=[0],r=[],s=[null],i=[],o=this.table,c="",l=0,d=0,h=0,p=i.slice.call(arguments,1),g=Object.create(this.lexer),u={yy:{}};for(var x in this.yy)Object.prototype.hasOwnProperty.call(this.yy,x)&&(u.yy[x]=this.yy[x]);g.setInput(t,u.yy),u.yy.lexer=g,u.yy.parser=this,void 0===g.yylloc&&(g.yylloc={});var y=g.yylloc;i.push(y);var m=g.options&&g.options.ranges;function b(){var t;return"number"!=typeof(t=r.pop()||g.lex()||1)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof u.yy.parseError?this.parseError=u.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,n.K2)((function(t){a.length=a.length-2*t,s.length=s.length-t,i.length=i.length-t}),"popStack"),(0,n.K2)(b,"lex");for(var T,f,E,w,I,L,_,P,k,A={};;){if(E=a[a.length-1],this.defaultActions[E]?w=this.defaultActions[E]:(null==T&&(T=b()),w=o[E]&&o[E][T]),void 0===w||!w.length||!w[0]){var v;for(L in k=[],o[E])this.terminals_[L]&&L>2&&k.push("'"+this.terminals_[L]+"'");v=g.showPosition?"Parse error on line "+(l+1)+":\n"+g.showPosition()+"\nExpecting "+k.join(", ")+", got '"+(this.terminals_[T]||T)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==T?"end of input":"'"+(this.terminals_[T]||T)+"'"),this.parseError(v,{text:g.match,token:this.terminals_[T]||T,line:g.yylineno,loc:y,expected:k})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+T);switch(w[0]){case 1:a.push(T),s.push(g.yytext),i.push(g.yylloc),a.push(w[1]),T=null,f?(T=f,f=null):(d=g.yyleng,c=g.yytext,l=g.yylineno,y=g.yylloc,h>0&&h--);break;case 2:if(_=this.productions_[w[1]][1],A.$=s[s.length-_],A._$={first_line:i[i.length-(_||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(_||1)].first_column,last_column:i[i.length-1].last_column},m&&(A._$.range=[i[i.length-(_||1)].range[0],i[i.length-1].range[1]]),void 0!==(I=this.performAction.apply(A,[c,d,l,u.yy,w[1],s,i].concat(p))))return I;_&&(a=a.slice(0,-1*_*2),s=s.slice(0,-1*_),i=i.slice(0,-1*_)),a.push(this.productions_[w[1]][0]),s.push(A.$),i.push(A._$),P=o[a[a.length-2]][a[a.length-1]],a.push(P);break;case 3:return!0}}return!0}),"parse")},q=function(){return{EOF:1,parseError:(0,n.K2)((function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)}),"parseError"),setInput:(0,n.K2)((function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this}),"setInput"),input:(0,n.K2)((function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t}),"input"),unput:(0,n.K2)((function(t){var e=t.length,a=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),a.length-1&&(this.yylineno-=a.length-1);var s=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:a?(a.length===r.length?this.yylloc.first_column:0)+r[r.length-a.length].length-a[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[s[0],s[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this}),"unput"),more:(0,n.K2)((function(){return this._more=!0,this}),"more"),reject:(0,n.K2)((function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"reject"),less:(0,n.K2)((function(t){this.unput(this.match.slice(t))}),"less"),pastInput:(0,n.K2)((function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")}),"pastInput"),upcomingInput:(0,n.K2)((function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")}),"upcomingInput"),showPosition:(0,n.K2)((function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"}),"showPosition"),test_match:(0,n.K2)((function(t,e){var a,r,s;if(this.options.backtrack_lexer&&(s={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(s.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],a=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),a)return a;if(this._backtrack){for(var i in s)this[i]=s[i];return!1}return!1}),"test_match"),next:(0,n.K2)((function(){if(this.done)return this.EOF;var t,e,a,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var s=this._currentRules(),i=0;ie[0].length)){if(e=a,r=i,this.options.backtrack_lexer){if(!1!==(t=this.test_match(a,s[i])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,s[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"next"),lex:(0,n.K2)((function(){return this.next()||this.lex()}),"lex"),begin:(0,n.K2)((function(t){this.conditionStack.push(t)}),"begin"),popState:(0,n.K2)((function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]}),"popState"),_currentRules:(0,n.K2)((function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules}),"_currentRules"),topState:(0,n.K2)((function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"}),"topState"),pushState:(0,n.K2)((function(t){this.begin(t)}),"pushState"),stateStackSize:(0,n.K2)((function(){return this.conditionStack.length}),"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,n.K2)((function(t,e,a,r){switch(a){case 0:case 51:case 66:return 5;case 1:case 2:case 3:case 4:case 5:break;case 6:return 19;case 7:return this.begin("LINE"),14;case 8:return this.begin("ID"),50;case 9:return this.begin("ID"),52;case 10:return 13;case 11:return this.begin("ID"),53;case 12:return e.yytext=e.yytext.trim(),this.begin("ALIAS"),70;case 13:return this.popState(),this.popState(),this.begin("LINE"),51;case 14:return this.popState(),this.popState(),5;case 15:return this.begin("LINE"),36;case 16:return this.begin("LINE"),37;case 17:return this.begin("LINE"),38;case 18:return this.begin("LINE"),39;case 19:return this.begin("LINE"),49;case 20:return this.begin("LINE"),41;case 21:return this.begin("LINE"),43;case 22:return this.begin("LINE"),48;case 23:return this.begin("LINE"),44;case 24:return this.begin("LINE"),47;case 25:return this.begin("LINE"),46;case 26:return this.popState(),15;case 27:return 16;case 28:return 65;case 29:return 66;case 30:return 59;case 31:return 60;case 32:return 61;case 33:return 62;case 34:return 57;case 35:return 54;case 36:return this.begin("ID"),21;case 37:return this.begin("ID"),23;case 38:return 29;case 39:return 30;case 40:return this.begin("acc_title"),31;case 41:return this.popState(),"acc_title_value";case 42:return this.begin("acc_descr"),33;case 43:return this.popState(),"acc_descr_value";case 44:this.begin("acc_descr_multiline");break;case 45:this.popState();break;case 46:return"acc_descr_multiline_value";case 47:return 6;case 48:return 18;case 49:return 20;case 50:return 64;case 52:return e.yytext=e.yytext.trim(),70;case 53:return 73;case 54:return 74;case 55:return 75;case 56:return 76;case 57:return 71;case 58:return 72;case 59:return 77;case 60:return 78;case 61:return 79;case 62:return 80;case 63:return 81;case 64:return 68;case 65:return 69;case 67:return"INVALID"}}),"anonymous"),rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[0-9]+(?=[ \n]+))/i,/^(?:box\b)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:create\b)/i,/^(?:destroy\b)/i,/^(?:[^\<->\->:\n,;]+?([\-]*[^\<->\->:\n,;]+?)*?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:par_over\b)/i,/^(?:and\b)/i,/^(?:critical\b)/i,/^(?:option\b)/i,/^(?:break\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:links\b)/i,/^(?:link\b)/i,/^(?:properties\b)/i,/^(?:details\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:title:\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:off\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\+\<->\->:\n,;]+((?!(-x|--x|-\)|--\)))[\-]*[^\+\<->\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:<<->>)/i,/^(?:-->>)/i,/^(?:<<-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?::(?:(?:no)?wrap)?[^#\n;]+)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[45,46],inclusive:!1},acc_descr:{rules:[43],inclusive:!1},acc_title:{rules:[41],inclusive:!1},ID:{rules:[2,3,12],inclusive:!1},ALIAS:{rules:[2,3,13,14],inclusive:!1},LINE:{rules:[2,3,26],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,6,7,8,9,10,11,15,16,17,18,19,20,21,22,23,24,25,27,28,29,30,31,32,33,34,35,36,37,38,39,40,42,44,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67],inclusive:!0}}}}();function z(){this.yy={}}return W.lexer=q,(0,n.K2)(z,"Parser"),z.prototype=W,W.Parser=z,new z}();l.parser=l;var d=l,h=new s.m((()=>({prevActor:void 0,actors:new Map,createdActors:new Map,destroyedActors:new Map,boxes:[],messages:[],notes:[],sequenceNumbersEnabled:!1,wrapEnabled:void 0,currentBox:void 0,lastCreated:void 0,lastDestroyed:void 0}))),p=(0,n.K2)((function(t){h.records.boxes.push({name:t.text,wrap:t.wrap??M(),fill:t.color,actorKeys:[]}),h.records.currentBox=h.records.boxes.slice(-1)[0]}),"addBox"),g=(0,n.K2)((function(t,e,a,r){let s=h.records.currentBox;const i=h.records.actors.get(t);if(i){if(h.records.currentBox&&i.box&&h.records.currentBox!==i.box)throw new Error(`A same participant should only be defined in one Box: ${i.name} can't be in '${i.box.name}' and in '${h.records.currentBox.name}' at the same time.`);if(s=i.box?i.box:h.records.currentBox,i.box=s,i&&e===i.name&&null==a)return}if(null==a?.text&&(a={text:e,type:r}),null!=r&&null!=a.text||(a={text:e,type:r}),h.records.actors.set(t,{box:s,name:e,description:a.text,wrap:a.wrap??M(),prevActor:h.records.prevActor,links:{},properties:{},actorCnt:null,rectData:null,type:r??"participant"}),h.records.prevActor){const e=h.records.actors.get(h.records.prevActor);e&&(e.nextActor=t)}h.records.currentBox&&h.records.currentBox.actorKeys.push(t),h.records.prevActor=t}),"addActor"),u=(0,n.K2)((t=>{let e,a=0;if(!t)return 0;for(e=0;e>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},e}return h.records.messages.push({from:t,to:e,message:a?.text??"",wrap:a?.wrap??M(),type:r,activate:s}),!0}),"addSignal"),m=(0,n.K2)((function(){return h.records.boxes.length>0}),"hasAtLeastOneBox"),b=(0,n.K2)((function(){return h.records.boxes.some((t=>t.name))}),"hasAtLeastOneBoxWithTitle"),T=(0,n.K2)((function(){return h.records.messages}),"getMessages"),f=(0,n.K2)((function(){return h.records.boxes}),"getBoxes"),E=(0,n.K2)((function(){return h.records.actors}),"getActors"),w=(0,n.K2)((function(){return h.records.createdActors}),"getCreatedActors"),I=(0,n.K2)((function(){return h.records.destroyedActors}),"getDestroyedActors"),L=(0,n.K2)((function(t){return h.records.actors.get(t)}),"getActor"),_=(0,n.K2)((function(){return[...h.records.actors.keys()]}),"getActorKeys"),P=(0,n.K2)((function(){h.records.sequenceNumbersEnabled=!0}),"enableSequenceNumbers"),k=(0,n.K2)((function(){h.records.sequenceNumbersEnabled=!1}),"disableSequenceNumbers"),A=(0,n.K2)((()=>h.records.sequenceNumbersEnabled),"showSequenceNumbers"),v=(0,n.K2)((function(t){h.records.wrapEnabled=t}),"setWrap"),N=(0,n.K2)((t=>{if(void 0===t)return{};t=t.trim();const e=null!==/^:?wrap:/.exec(t)||null===/^:?nowrap:/.exec(t)&&void 0;return{cleanedText:(void 0===e?t:t.replace(/^:?(?:no)?wrap:/,"")).trim(),wrap:e}}),"extractWrap"),M=(0,n.K2)((()=>void 0!==h.records.wrapEnabled?h.records.wrapEnabled:(0,n.D7)().sequence?.wrap??!1),"autoWrap"),D=(0,n.K2)((function(){h.reset(),(0,n.IU)()}),"clear"),O=(0,n.K2)((function(t){const e=t.trim(),{wrap:a,cleanedText:r}=N(e),s={text:r,wrap:a};return n.Rm.debug(`parseMessage: ${JSON.stringify(s)}`),s}),"parseMessage"),S=(0,n.K2)((function(t){const e=/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/.exec(t);let a=e?.[1]?e[1].trim():"transparent",r=e?.[2]?e[2].trim():void 0;if(window?.CSS)window.CSS.supports("color",a)||(a="transparent",r=t.trim());else{const e=(new Option).style;e.color=a,e.color!==a&&(a="transparent",r=t.trim())}const{wrap:s,cleanedText:i}=N(r);return{text:i?(0,n.jZ)(i,(0,n.D7)()):void 0,color:a,wrap:s}}),"parseBoxData"),K={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25,AUTONUMBER:26,CRITICAL_START:27,CRITICAL_OPTION:28,CRITICAL_END:29,BREAK_START:30,BREAK_END:31,PAR_OVER_START:32,BIDIRECTIONAL_SOLID:33,BIDIRECTIONAL_DOTTED:34},R=(0,n.K2)((function(t,e,a){const r={actor:t,placement:e,message:a.text,wrap:a.wrap??M()},s=[].concat(t,t);h.records.notes.push(r),h.records.messages.push({from:s[0],to:s[1],message:a.text,wrap:a.wrap??M(),type:K.NOTE,placement:e})}),"addNote"),Y=(0,n.K2)((function(t,e){const a=L(t);try{let t=(0,n.jZ)(e.text,(0,n.D7)());t=t.replace(/&/g,"&"),t=t.replace(/=/g,"="),B(a,JSON.parse(t))}catch(t){n.Rm.error("error while parsing actor link text",t)}}),"addLinks"),C=(0,n.K2)((function(t,e){const a=L(t);try{const t={};let r=(0,n.jZ)(e.text,(0,n.D7)());const s=r.indexOf("@");r=r.replace(/&/g,"&"),r=r.replace(/=/g,"=");const i=r.slice(0,s-1).trim(),o=r.slice(s+1).trim();t[i]=o,B(a,t)}catch(t){n.Rm.error("error while parsing actor link text",t)}}),"addALink");function B(t,e){if(null==t.links)t.links=e;else for(const a in e)t.links[a]=e[a]}(0,n.K2)(B,"insertLinks");var $=(0,n.K2)((function(t,e){const a=L(t);try{const t=(0,n.jZ)(e.text,(0,n.D7)());V(a,JSON.parse(t))}catch(t){n.Rm.error("error while parsing actor properties text",t)}}),"addProperties");function V(t,e){if(null==t.properties)t.properties=e;else for(const a in e)t.properties[a]=e[a]}function F(){h.records.currentBox=void 0}(0,n.K2)(V,"insertProperties"),(0,n.K2)(F,"boxEnd");var W=(0,n.K2)((function(t,e){const a=L(t),r=document.getElementById(e.text);try{const t=r.innerHTML,e=JSON.parse(t);e.properties&&V(a,e.properties),e.links&&B(a,e.links)}catch(t){n.Rm.error("error while parsing actor details text",t)}}),"addDetails"),q=(0,n.K2)((function(t,e){if(void 0!==t?.properties)return t.properties[e]}),"getActorProperty"),z=(0,n.K2)((function(t){if(Array.isArray(t))t.forEach((function(t){z(t)}));else switch(t.type){case"sequenceIndex":h.records.messages.push({from:void 0,to:void 0,message:{start:t.sequenceIndex,step:t.sequenceIndexStep,visible:t.sequenceVisible},wrap:!1,type:t.signalType});break;case"addParticipant":g(t.actor,t.actor,t.description,t.draw);break;case"createParticipant":if(h.records.actors.has(t.actor))throw new Error("It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior");h.records.lastCreated=t.actor,g(t.actor,t.actor,t.description,t.draw),h.records.createdActors.set(t.actor,h.records.messages.length);break;case"destroyParticipant":h.records.lastDestroyed=t.actor,h.records.destroyedActors.set(t.actor,h.records.messages.length);break;case"activeStart":case"activeEnd":y(t.actor,void 0,void 0,t.signalType);break;case"addNote":R(t.actor,t.placement,t.text);break;case"addLinks":Y(t.actor,t.text);break;case"addALink":C(t.actor,t.text);break;case"addProperties":$(t.actor,t.text);break;case"addDetails":W(t.actor,t.text);break;case"addMessage":if(h.records.lastCreated){if(t.to!==h.records.lastCreated)throw new Error("The created participant "+h.records.lastCreated.name+" does not have an associated creating message after its declaration. Please check the sequence diagram.");h.records.lastCreated=void 0}else if(h.records.lastDestroyed){if(t.to!==h.records.lastDestroyed&&t.from!==h.records.lastDestroyed)throw new Error("The destroyed participant "+h.records.lastDestroyed.name+" does not have an associated destroying message after its declaration. Please check the sequence diagram.");h.records.lastDestroyed=void 0}y(t.from,t.to,t.msg,t.signalType,t.activate);break;case"boxStart":p(t.boxData);break;case"boxEnd":F();break;case"loopStart":y(void 0,void 0,t.loopText,t.signalType);break;case"loopEnd":case"rectEnd":case"optEnd":case"altEnd":case"parEnd":case"criticalEnd":case"breakEnd":y(void 0,void 0,void 0,t.signalType);break;case"rectStart":y(void 0,void 0,t.color,t.signalType);break;case"optStart":y(void 0,void 0,t.optText,t.signalType);break;case"altStart":case"else":y(void 0,void 0,t.altText,t.signalType);break;case"setAccTitle":(0,n.SV)(t.text);break;case"parStart":case"and":y(void 0,void 0,t.parText,t.signalType);break;case"criticalStart":y(void 0,void 0,t.criticalText,t.signalType);break;case"option":y(void 0,void 0,t.optionText,t.signalType);break;case"breakStart":y(void 0,void 0,t.breakText,t.signalType)}}),"apply"),H={addActor:g,addMessage:x,addSignal:y,addLinks:Y,addDetails:W,addProperties:$,autoWrap:M,setWrap:v,enableSequenceNumbers:P,disableSequenceNumbers:k,showSequenceNumbers:A,getMessages:T,getActors:E,getCreatedActors:w,getDestroyedActors:I,getActor:L,getActorKeys:_,getActorProperty:q,getAccTitle:n.iN,getBoxes:f,getDiagramTitle:n.ab,setDiagramTitle:n.ke,getConfig:(0,n.K2)((()=>(0,n.D7)().sequence),"getConfig"),clear:D,parseMessage:O,parseBoxData:S,LINETYPE:K,ARROWTYPE:{FILLED:0,OPEN:1},PLACEMENT:{LEFTOF:0,RIGHTOF:1,OVER:2},addNote:R,setAccTitle:n.SV,apply:z,setAccDescription:n.EI,getAccDescription:n.m7,hasAtLeastOneBox:m,hasAtLeastOneBoxWithTitle:b},j=(0,n.K2)((t=>`.actor {\n stroke: ${t.actorBorder};\n fill: ${t.actorBkg};\n }\n\n text.actor > tspan {\n fill: ${t.actorTextColor};\n stroke: none;\n }\n\n .actor-line {\n stroke: ${t.actorLineColor};\n }\n\n .messageLine0 {\n stroke-width: 1.5;\n stroke-dasharray: none;\n stroke: ${t.signalColor};\n }\n\n .messageLine1 {\n stroke-width: 1.5;\n stroke-dasharray: 2, 2;\n stroke: ${t.signalColor};\n }\n\n #arrowhead path {\n fill: ${t.signalColor};\n stroke: ${t.signalColor};\n }\n\n .sequenceNumber {\n fill: ${t.sequenceNumberColor};\n }\n\n #sequencenumber {\n fill: ${t.signalColor};\n }\n\n #crosshead path {\n fill: ${t.signalColor};\n stroke: ${t.signalColor};\n }\n\n .messageText {\n fill: ${t.signalTextColor};\n stroke: none;\n }\n\n .labelBox {\n stroke: ${t.labelBoxBorderColor};\n fill: ${t.labelBoxBkgColor};\n }\n\n .labelText, .labelText > tspan {\n fill: ${t.labelTextColor};\n stroke: none;\n }\n\n .loopText, .loopText > tspan {\n fill: ${t.loopTextColor};\n stroke: none;\n }\n\n .loopLine {\n stroke-width: 2px;\n stroke-dasharray: 2, 2;\n stroke: ${t.labelBoxBorderColor};\n fill: ${t.labelBoxBorderColor};\n }\n\n .note {\n //stroke: #decc93;\n stroke: ${t.noteBorderColor};\n fill: ${t.noteBkgColor};\n }\n\n .noteText, .noteText > tspan {\n fill: ${t.noteTextColor};\n stroke: none;\n }\n\n .activation0 {\n fill: ${t.activationBkgColor};\n stroke: ${t.activationBorderColor};\n }\n\n .activation1 {\n fill: ${t.activationBkgColor};\n stroke: ${t.activationBorderColor};\n }\n\n .activation2 {\n fill: ${t.activationBkgColor};\n stroke: ${t.activationBorderColor};\n }\n\n .actorPopupMenu {\n position: absolute;\n }\n\n .actorPopupMenuPanel {\n position: absolute;\n fill: ${t.actorBkg};\n box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);\n filter: drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));\n}\n .actor-man line {\n stroke: ${t.actorBorder};\n fill: ${t.actorBkg};\n }\n .actor-man circle, line {\n stroke: ${t.actorBorder};\n fill: ${t.actorBkg};\n stroke-width: 2px;\n }\n`),"getStyles"),U="actor-top",J="actor-bottom",X="actor-man",G=(0,n.K2)((function(t,e){return(0,r.tk)(t,e)}),"drawRect"),Z=(0,n.K2)((function(t,e,a,r,s){if(void 0===e.links||null===e.links||0===Object.keys(e.links).length)return{height:0,width:0};const i=e.links,n=e.actorCnt,o=e.rectData;var l="none";s&&(l="block !important");const d=t.append("g");d.attr("id","actor"+n+"_popup"),d.attr("class","actorPopupMenu"),d.attr("display",l);var h="";void 0!==o.class&&(h=" "+o.class);let p=o.width>a?o.width:a;const g=d.append("rect");if(g.attr("class","actorPopupMenuPanel"+h),g.attr("x",o.x),g.attr("y",o.height),g.attr("fill",o.fill),g.attr("stroke",o.stroke),g.attr("width",p),g.attr("height",o.height),g.attr("rx",o.rx),g.attr("ry",o.ry),null!=i){var u=20;for(let t in i){var x=d.append("a"),y=(0,c.J)(i[t]);x.attr("xlink:href",y),x.attr("target","_blank"),It(r)(t,x,o.x+10,o.height+u,p,20,{class:"actor"},r),u+=30}}return g.attr("height",u),{height:o.height+u,width:p}}),"drawPopup"),Q=(0,n.K2)((function(t){return"var pu = document.getElementById('"+t+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"}),"popupMenuToggle"),tt=(0,n.K2)((async function(t,e,a=null){let r=t.append("foreignObject");const s=await(0,n.VJ)(e.text,(0,n.zj)()),i=r.append("xhtml:div").attr("style","width: fit-content;").attr("xmlns","http://www.w3.org/1999/xhtml").html(s).node().getBoundingClientRect();if(r.attr("height",Math.round(i.height)).attr("width",Math.round(i.width)),"noteText"===e.class){const a=t.node().firstChild;a.setAttribute("height",i.height+2*e.textMargin);const s=a.getBBox();r.attr("x",Math.round(s.x+s.width/2-i.width/2)).attr("y",Math.round(s.y+s.height/2-i.height/2))}else if(a){let{startx:t,stopx:s,starty:n}=a;if(t>s){const e=t;t=s,s=e}r.attr("x",Math.round(t+Math.abs(t-s)/2-i.width/2)),"loopText"===e.class?r.attr("y",Math.round(n)):r.attr("y",Math.round(n-i.height))}return[r]}),"drawKatex"),et=(0,n.K2)((function(t,e){let a=0,r=0;const s=e.text.split(n.Y2.lineBreakRegex),[o,c]=(0,i.I5)(e.fontSize);let l=[],d=0,h=(0,n.K2)((()=>e.y),"yfunc");if(void 0!==e.valign&&void 0!==e.textMargin&&e.textMargin>0)switch(e.valign){case"top":case"start":h=(0,n.K2)((()=>Math.round(e.y+e.textMargin)),"yfunc");break;case"middle":case"center":h=(0,n.K2)((()=>Math.round(e.y+(a+r+e.textMargin)/2)),"yfunc");break;case"bottom":case"end":h=(0,n.K2)((()=>Math.round(e.y+(a+r+2*e.textMargin)-e.textMargin)),"yfunc")}if(void 0!==e.anchor&&void 0!==e.textMargin&&void 0!==e.width)switch(e.anchor){case"left":case"start":e.x=Math.round(e.x+e.textMargin),e.anchor="start",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"middle":case"center":e.x=Math.round(e.x+e.width/2),e.anchor="middle",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"right":case"end":e.x=Math.round(e.x+e.width-e.textMargin),e.anchor="end",e.dominantBaseline="middle",e.alignmentBaseline="middle"}for(let[n,p]of s.entries()){void 0!==e.textMargin&&0===e.textMargin&&void 0!==o&&(d=n*o);const s=t.append("text");s.attr("x",e.x),s.attr("y",h()),void 0!==e.anchor&&s.attr("text-anchor",e.anchor).attr("dominant-baseline",e.dominantBaseline).attr("alignment-baseline",e.alignmentBaseline),void 0!==e.fontFamily&&s.style("font-family",e.fontFamily),void 0!==c&&s.style("font-size",c),void 0!==e.fontWeight&&s.style("font-weight",e.fontWeight),void 0!==e.fill&&s.attr("fill",e.fill),void 0!==e.class&&s.attr("class",e.class),void 0!==e.dy?s.attr("dy",e.dy):0!==d&&s.attr("dy",d);const g=p||i.pe;if(e.tspan){const t=s.append("tspan");t.attr("x",e.x),void 0!==e.fill&&t.attr("fill",e.fill),t.text(g)}else s.text(g);void 0!==e.valign&&void 0!==e.textMargin&&e.textMargin>0&&(r+=(s._groups||s)[0][0].getBBox().height,a=r),l.push(s)}return l}),"drawText"),at=(0,n.K2)((function(t,e){function a(t,e,a,r,s){return t+","+e+" "+(t+a)+","+e+" "+(t+a)+","+(e+r-s)+" "+(t+a-1.2*s)+","+(e+r)+" "+t+","+(e+r)}(0,n.K2)(a,"genPoints");const r=t.append("polygon");return r.attr("points",a(e.x,e.y,e.width,e.height,7)),r.attr("class","labelBox"),e.y=e.y+e.height/2,et(t,e),r}),"drawLabel"),rt=-1,st=(0,n.K2)(((t,e,a,r)=>{t.select&&a.forEach((a=>{const s=e.get(a),i=t.select("#actor"+s.actorCnt);!r.mirrorActors&&s.stopy?i.attr("y2",s.stopy+s.height/2):r.mirrorActors&&i.attr("y2",s.stopy)}))}),"fixLifeLineHeights"),it=(0,n.K2)((function(t,e,a,s){const i=s?e.stopy:e.starty,o=e.x+e.width/2,c=i+e.height,l=t.append("g").lower();var d=l;s||(rt++,Object.keys(e.links||{}).length&&!a.forceMenus&&d.attr("onclick",Q(`actor${rt}_popup`)).attr("cursor","pointer"),d.append("line").attr("id","actor"+rt).attr("x1",o).attr("y1",c).attr("x2",o).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),d=l.append("g"),e.actorCnt=rt,null!=e.links&&d.attr("id","root-"+rt));const h=(0,r.PB)();var p="actor";e.properties?.class?p=e.properties.class:h.fill="#eaeaea",p+=s?` ${J}`:` ${U}`,h.x=e.x,h.y=i,h.width=e.width,h.height=e.height,h.class=p,h.rx=3,h.ry=3,h.name=e.name;const g=G(d,h);if(e.rectData=h,e.properties?.icon){const t=e.properties.icon.trim();"@"===t.charAt(0)?(0,r.CP)(d,h.x+h.width-20,h.y+10,t.substr(1)):(0,r.aC)(d,h.x+h.width-20,h.y+10,t)}wt(a,(0,n.Wi)(e.description))(e.description,d,h.x,h.y,h.width,h.height,{class:"actor actor-box"},a);let u=e.height;if(g.node){const t=g.node().getBBox();e.height=t.height,u=t.height}return u}),"drawActorTypeParticipant"),nt=(0,n.K2)((function(t,e,a,s){const i=s?e.stopy:e.starty,o=e.x+e.width/2,c=i+80,l=t.append("g").lower();s||(rt++,l.append("line").attr("id","actor"+rt).attr("x1",o).attr("y1",c).attr("x2",o).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),e.actorCnt=rt);const d=t.append("g");let h=X;h+=s?` ${J}`:` ${U}`,d.attr("class",h),d.attr("name",e.name);const p=(0,r.PB)();p.x=e.x,p.y=i,p.fill="#eaeaea",p.width=e.width,p.height=e.height,p.class="actor",p.rx=3,p.ry=3,d.append("line").attr("id","actor-man-torso"+rt).attr("x1",o).attr("y1",i+25).attr("x2",o).attr("y2",i+45),d.append("line").attr("id","actor-man-arms"+rt).attr("x1",o-18).attr("y1",i+33).attr("x2",o+18).attr("y2",i+33),d.append("line").attr("x1",o-18).attr("y1",i+60).attr("x2",o).attr("y2",i+45),d.append("line").attr("x1",o).attr("y1",i+45).attr("x2",o+18-2).attr("y2",i+60);const g=d.append("circle");g.attr("cx",e.x+e.width/2),g.attr("cy",i+10),g.attr("r",15),g.attr("width",e.width),g.attr("height",e.height);const u=d.node().getBBox();return e.height=u.height,wt(a,(0,n.Wi)(e.description))(e.description,d,p.x,p.y+35,p.width,p.height,{class:`actor ${X}`},a),e.height}),"drawActorTypeActor"),ot=(0,n.K2)((async function(t,e,a,r){switch(e.type){case"actor":return await nt(t,e,a,r);case"participant":return await it(t,e,a,r)}}),"drawActor"),ct=(0,n.K2)((function(t,e,a){const r=t.append("g");pt(r,e),e.name&&wt(a)(e.name,r,e.x,e.y+(e.textMaxHeight||0)/2,e.width,0,{class:"text"},a),r.lower()}),"drawBox"),lt=(0,n.K2)((function(t){return t.append("g")}),"anchorElement"),dt=(0,n.K2)((function(t,e,a,s,i){const n=(0,r.PB)(),o=e.anchored;n.x=e.startx,n.y=e.starty,n.class="activation"+i%3,n.width=e.stopx-e.startx,n.height=a-e.starty,G(o,n)}),"drawActivation"),ht=(0,n.K2)((async function(t,e,a,s){const{boxMargin:i,boxTextMargin:o,labelBoxHeight:c,labelBoxWidth:l,messageFontFamily:d,messageFontSize:h,messageFontWeight:p}=s,g=t.append("g"),u=(0,n.K2)((function(t,e,a,r){return g.append("line").attr("x1",t).attr("y1",e).attr("x2",a).attr("y2",r).attr("class","loopLine")}),"drawLoopLine");u(e.startx,e.starty,e.stopx,e.starty),u(e.stopx,e.starty,e.stopx,e.stopy),u(e.startx,e.stopy,e.stopx,e.stopy),u(e.startx,e.starty,e.startx,e.stopy),void 0!==e.sections&&e.sections.forEach((function(t){u(e.startx,t.y,e.stopx,t.y).style("stroke-dasharray","3, 3")}));let x=(0,r.HT)();x.text=a,x.x=e.startx,x.y=e.starty,x.fontFamily=d,x.fontSize=h,x.fontWeight=p,x.anchor="middle",x.valign="middle",x.tspan=!1,x.width=l||50,x.height=c||20,x.textMargin=o,x.class="labelText",at(g,x),x=ft(),x.text=e.title,x.x=e.startx+l/2+(e.stopx-e.startx)/2,x.y=e.starty+i+o,x.anchor="middle",x.valign="middle",x.textMargin=o,x.class="loopText",x.fontFamily=d,x.fontSize=h,x.fontWeight=p,x.wrap=!0;let y=(0,n.Wi)(x.text)?await tt(g,x,e):et(g,x);if(void 0!==e.sectionTitles)for(const[t,a]of Object.entries(e.sectionTitles))if(a.message){x.text=a.message,x.x=e.startx+(e.stopx-e.startx)/2,x.y=e.sections[t].y+i+o,x.class="loopText",x.anchor="middle",x.valign="middle",x.tspan=!1,x.fontFamily=d,x.fontSize=h,x.fontWeight=p,x.wrap=e.wrap,(0,n.Wi)(x.text)?(e.starty=e.sections[t].y,await tt(g,x,e)):et(g,x);let r=Math.round(y.map((t=>(t._groups||t)[0][0].getBBox().height)).reduce(((t,e)=>t+e)));e.sections[t].height+=r-(i+o)}return e.height=Math.round(e.stopy-e.starty),g}),"drawLoop"),pt=(0,n.K2)((function(t,e){(0,r.lC)(t,e)}),"drawBackgroundRect"),gt=(0,n.K2)((function(t){t.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")}),"insertDatabaseIcon"),ut=(0,n.K2)((function(t){t.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")}),"insertComputerIcon"),xt=(0,n.K2)((function(t){t.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")}),"insertClockIcon"),yt=(0,n.K2)((function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",7.9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M -1 0 L 10 5 L 0 10 z")}),"insertArrowHead"),mt=(0,n.K2)((function(t){t.append("defs").append("marker").attr("id","filled-head").attr("refX",15.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")}),"insertArrowFilledHead"),bt=(0,n.K2)((function(t){t.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)}),"insertSequenceNumber"),Tt=(0,n.K2)((function(t){t.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",4.5).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1pt").attr("d","M 1,2 L 6,7 M 6,2 L 1,7")}),"insertArrowCrossHead"),ft=(0,n.K2)((function(){return{x:0,y:0,fill:void 0,anchor:void 0,style:"#666",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}}),"getTextObj"),Et=(0,n.K2)((function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}}),"getNoteRect"),wt=function(){function t(t,e,a,r,i,n,o){s(e.append("text").attr("x",a+i/2).attr("y",r+n/2+5).style("text-anchor","middle").text(t),o)}function e(t,e,a,r,o,c,l,d){const{actorFontSize:h,actorFontFamily:p,actorFontWeight:g}=d,[u,x]=(0,i.I5)(h),y=t.split(n.Y2.lineBreakRegex);for(let t=0;tt.height||0)))+(0===this.loops.length?0:this.loops.map((t=>t.height||0)).reduce(((t,e)=>t+e)))+(0===this.messages.length?0:this.messages.map((t=>t.height||0)).reduce(((t,e)=>t+e)))+(0===this.notes.length?0:this.notes.map((t=>t.height||0)).reduce(((t,e)=>t+e)))}),"getHeight"),clear:(0,n.K2)((function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]}),"clear"),addBox:(0,n.K2)((function(t){this.boxes.push(t)}),"addBox"),addActor:(0,n.K2)((function(t){this.actors.push(t)}),"addActor"),addLoop:(0,n.K2)((function(t){this.loops.push(t)}),"addLoop"),addMessage:(0,n.K2)((function(t){this.messages.push(t)}),"addMessage"),addNote:(0,n.K2)((function(t){this.notes.push(t)}),"addNote"),lastActor:(0,n.K2)((function(){return this.actors[this.actors.length-1]}),"lastActor"),lastLoop:(0,n.K2)((function(){return this.loops[this.loops.length-1]}),"lastLoop"),lastMessage:(0,n.K2)((function(){return this.messages[this.messages.length-1]}),"lastMessage"),lastNote:(0,n.K2)((function(){return this.notes[this.notes.length-1]}),"lastNote"),actors:[],boxes:[],loops:[],messages:[],notes:[]},init:(0,n.K2)((function(){this.sequenceItems=[],this.activations=[],this.models.clear(),this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0,Rt((0,n.D7)())}),"init"),updateVal:(0,n.K2)((function(t,e,a,r){void 0===t[e]?t[e]=a:t[e]=r(a,t[e])}),"updateVal"),updateBounds:(0,n.K2)((function(t,e,a,r){const s=this;let i=0;function o(o){return(0,n.K2)((function(n){i++;const c=s.sequenceItems.length-i+1;s.updateVal(n,"starty",e-c*_t.boxMargin,Math.min),s.updateVal(n,"stopy",r+c*_t.boxMargin,Math.max),s.updateVal(Pt.data,"startx",t-c*_t.boxMargin,Math.min),s.updateVal(Pt.data,"stopx",a+c*_t.boxMargin,Math.max),"activation"!==o&&(s.updateVal(n,"startx",t-c*_t.boxMargin,Math.min),s.updateVal(n,"stopx",a+c*_t.boxMargin,Math.max),s.updateVal(Pt.data,"starty",e-c*_t.boxMargin,Math.min),s.updateVal(Pt.data,"stopy",r+c*_t.boxMargin,Math.max))}),"updateItemBounds")}(0,n.K2)(o,"updateFn"),this.sequenceItems.forEach(o()),this.activations.forEach(o("activation"))}),"updateBounds"),insert:(0,n.K2)((function(t,e,a,r){const s=n.Y2.getMin(t,a),i=n.Y2.getMax(t,a),o=n.Y2.getMin(e,r),c=n.Y2.getMax(e,r);this.updateVal(Pt.data,"startx",s,Math.min),this.updateVal(Pt.data,"starty",o,Math.min),this.updateVal(Pt.data,"stopx",i,Math.max),this.updateVal(Pt.data,"stopy",c,Math.max),this.updateBounds(s,o,i,c)}),"insert"),newActivation:(0,n.K2)((function(t,e,a){const r=a.get(t.from),s=Yt(t.from).length||0,i=r.x+r.width/2+(s-1)*_t.activationWidth/2;this.activations.push({startx:i,starty:this.verticalPos+2,stopx:i+_t.activationWidth,stopy:void 0,actor:t.from,anchored:Lt.anchorElement(e)})}),"newActivation"),endActivation:(0,n.K2)((function(t){const e=this.activations.map((function(t){return t.actor})).lastIndexOf(t.from);return this.activations.splice(e,1)[0]}),"endActivation"),createLoop:(0,n.K2)((function(t={message:void 0,wrap:!1,width:void 0},e){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t.message,wrap:t.wrap,width:t.width,height:0,fill:e}}),"createLoop"),newLoop:(0,n.K2)((function(t={message:void 0,wrap:!1,width:void 0},e){this.sequenceItems.push(this.createLoop(t,e))}),"newLoop"),endLoop:(0,n.K2)((function(){return this.sequenceItems.pop()}),"endLoop"),isLoopOverlap:(0,n.K2)((function(){return!!this.sequenceItems.length&&this.sequenceItems[this.sequenceItems.length-1].overlap}),"isLoopOverlap"),addSectionToLoop:(0,n.K2)((function(t){const e=this.sequenceItems.pop();e.sections=e.sections||[],e.sectionTitles=e.sectionTitles||[],e.sections.push({y:Pt.getVerticalPos(),height:0}),e.sectionTitles.push(t),this.sequenceItems.push(e)}),"addSectionToLoop"),saveVerticalPos:(0,n.K2)((function(){this.isLoopOverlap()&&(this.savedVerticalPos=this.verticalPos)}),"saveVerticalPos"),resetVerticalPos:(0,n.K2)((function(){this.isLoopOverlap()&&(this.verticalPos=this.savedVerticalPos)}),"resetVerticalPos"),bumpVerticalPos:(0,n.K2)((function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=n.Y2.getMax(this.data.stopy,this.verticalPos)}),"bumpVerticalPos"),getVerticalPos:(0,n.K2)((function(){return this.verticalPos}),"getVerticalPos"),getBounds:(0,n.K2)((function(){return{bounds:this.data,models:this.models}}),"getBounds")},kt=(0,n.K2)((async function(t,e){Pt.bumpVerticalPos(_t.boxMargin),e.height=_t.boxMargin,e.starty=Pt.getVerticalPos();const a=(0,r.PB)();a.x=e.startx,a.y=e.starty,a.width=e.width||_t.width,a.class="note";const s=t.append("g"),i=Lt.drawRect(s,a),o=(0,r.HT)();o.x=e.startx,o.y=e.starty,o.width=a.width,o.dy="1em",o.text=e.message,o.class="noteText",o.fontFamily=_t.noteFontFamily,o.fontSize=_t.noteFontSize,o.fontWeight=_t.noteFontWeight,o.anchor=_t.noteAlign,o.textMargin=_t.noteMargin,o.valign="center";const c=(0,n.Wi)(o.text)?await tt(s,o):et(s,o),l=Math.round(c.map((t=>(t._groups||t)[0][0].getBBox().height)).reduce(((t,e)=>t+e)));i.attr("height",l+2*_t.noteMargin),e.height+=l+2*_t.noteMargin,Pt.bumpVerticalPos(l+2*_t.noteMargin),e.stopy=e.starty+l+2*_t.noteMargin,e.stopx=e.startx+a.width,Pt.insert(e.startx,e.starty,e.stopx,e.stopy),Pt.models.addNote(e)}),"drawNote"),At=(0,n.K2)((t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight})),"messageFont"),vt=(0,n.K2)((t=>({fontFamily:t.noteFontFamily,fontSize:t.noteFontSize,fontWeight:t.noteFontWeight})),"noteFont"),Nt=(0,n.K2)((t=>({fontFamily:t.actorFontFamily,fontSize:t.actorFontSize,fontWeight:t.actorFontWeight})),"actorFont");async function Mt(t,e){Pt.bumpVerticalPos(10);const{startx:a,stopx:r,message:s}=e,o=n.Y2.splitBreaks(s).length,c=(0,n.Wi)(s),l=c?await(0,n.Dl)(s,(0,n.D7)()):i._K.calculateTextDimensions(s,At(_t));if(!c){const t=l.height/o;e.height+=t,Pt.bumpVerticalPos(t)}let d,h=l.height-10;const p=l.width;if(a===r){d=Pt.getVerticalPos()+h,_t.rightAngles||(h+=_t.boxMargin,d=Pt.getVerticalPos()+h),h+=30;const t=n.Y2.getMax(p/2,_t.width/2);Pt.insert(a-t,Pt.getVerticalPos()-10+h,r+t,Pt.getVerticalPos()+30+h)}else h+=_t.boxMargin,d=Pt.getVerticalPos()+h,Pt.insert(a,d-10,r,d);return Pt.bumpVerticalPos(h),e.height+=h,e.stopy=e.starty+e.height,Pt.insert(e.fromBounds,e.starty,e.toBounds,e.stopy),d}(0,n.K2)(Mt,"boundMessage");var Dt=(0,n.K2)((async function(t,e,a,s){const{startx:o,stopx:c,starty:l,message:d,type:h,sequenceIndex:p,sequenceVisible:g}=e,u=i._K.calculateTextDimensions(d,At(_t)),x=(0,r.HT)();x.x=o,x.y=l+10,x.width=c-o,x.class="messageText",x.dy="1em",x.text=d,x.fontFamily=_t.messageFontFamily,x.fontSize=_t.messageFontSize,x.fontWeight=_t.messageFontWeight,x.anchor=_t.messageAlign,x.valign="center",x.textMargin=_t.wrapPadding,x.tspan=!1,(0,n.Wi)(x.text)?await tt(t,x,{startx:o,stopx:c,starty:a}):et(t,x);const y=u.width;let m;o===c?m=_t.rightAngles?t.append("path").attr("d",`M ${o},${a} H ${o+n.Y2.getMax(_t.width/2,y/2)} V ${a+25} H ${o}`):t.append("path").attr("d","M "+o+","+a+" C "+(o+60)+","+(a-10)+" "+(o+60)+","+(a+30)+" "+o+","+(a+20)):(m=t.append("line"),m.attr("x1",o),m.attr("y1",a),m.attr("x2",c),m.attr("y2",a)),h===s.db.LINETYPE.DOTTED||h===s.db.LINETYPE.DOTTED_CROSS||h===s.db.LINETYPE.DOTTED_POINT||h===s.db.LINETYPE.DOTTED_OPEN||h===s.db.LINETYPE.BIDIRECTIONAL_DOTTED?(m.style("stroke-dasharray","3, 3"),m.attr("class","messageLine1")):m.attr("class","messageLine0");let b="";_t.arrowMarkerAbsolute&&(b=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,b=b.replace(/\(/g,"\\("),b=b.replace(/\)/g,"\\)")),m.attr("stroke-width",2),m.attr("stroke","none"),m.style("fill","none"),h!==s.db.LINETYPE.SOLID&&h!==s.db.LINETYPE.DOTTED||m.attr("marker-end","url("+b+"#arrowhead)"),h!==s.db.LINETYPE.BIDIRECTIONAL_SOLID&&h!==s.db.LINETYPE.BIDIRECTIONAL_DOTTED||(m.attr("marker-start","url("+b+"#arrowhead)"),m.attr("marker-end","url("+b+"#arrowhead)")),h!==s.db.LINETYPE.SOLID_POINT&&h!==s.db.LINETYPE.DOTTED_POINT||m.attr("marker-end","url("+b+"#filled-head)"),h!==s.db.LINETYPE.SOLID_CROSS&&h!==s.db.LINETYPE.DOTTED_CROSS||m.attr("marker-end","url("+b+"#crosshead)"),(g||_t.showSequenceNumbers)&&(m.attr("marker-start","url("+b+"#sequencenumber)"),t.append("text").attr("x",o).attr("y",a+4).attr("font-family","sans-serif").attr("font-size","12px").attr("text-anchor","middle").attr("class","sequenceNumber").text(p))}),"drawMessage"),Ot=(0,n.K2)((function(t,e,a,r,s,i,o){let c,l=0,d=0,h=0;for(const t of r){const r=e.get(t),i=r.box;c&&c!=i&&(o||Pt.models.addBox(c),d+=_t.boxMargin+c.margin),i&&i!=c&&(o||(i.x=l+d,i.y=s),d+=i.margin),r.width=r.width||_t.width,r.height=n.Y2.getMax(r.height||_t.height,_t.height),r.margin=r.margin||_t.actorMargin,h=n.Y2.getMax(h,r.height),a.get(r.name)&&(d+=r.width/2),r.x=l+d,r.starty=Pt.getVerticalPos(),Pt.insert(r.x,s,r.x+r.width,r.height),l+=r.width+d,r.box&&(r.box.width=l+i.margin-r.box.x),d=r.margin,c=r.box,Pt.models.addActor(r)}c&&!o&&Pt.models.addBox(c),Pt.bumpVerticalPos(h)}),"addActorRenderingData"),St=(0,n.K2)((async function(t,e,a,r){if(r){let r=0;Pt.bumpVerticalPos(2*_t.boxMargin);for(const s of a){const a=e.get(s);a.stopy||(a.stopy=Pt.getVerticalPos());const i=await Lt.drawActor(t,a,_t,!0);r=n.Y2.getMax(r,i)}Pt.bumpVerticalPos(r+_t.boxMargin)}else for(const r of a){const a=e.get(r);await Lt.drawActor(t,a,_t,!1)}}),"drawActors"),Kt=(0,n.K2)((function(t,e,a,r){let s=0,i=0;for(const n of a){const a=e.get(n),o=Wt(a),c=Lt.drawPopup(t,a,o,_t,_t.forceMenus,r);c.height>s&&(s=c.height),c.width+a.x>i&&(i=c.width+a.x)}return{maxHeight:s,maxWidth:i}}),"drawActorsPopup"),Rt=(0,n.K2)((function(t){(0,n.hH)(_t,t),t.fontFamily&&(_t.actorFontFamily=_t.noteFontFamily=_t.messageFontFamily=t.fontFamily),t.fontSize&&(_t.actorFontSize=_t.noteFontSize=_t.messageFontSize=t.fontSize),t.fontWeight&&(_t.actorFontWeight=_t.noteFontWeight=_t.messageFontWeight=t.fontWeight)}),"setConf"),Yt=(0,n.K2)((function(t){return Pt.activations.filter((function(e){return e.actor===t}))}),"actorActivations"),Ct=(0,n.K2)((function(t,e){const a=e.get(t),r=Yt(t);return[r.reduce((function(t,e){return n.Y2.getMin(t,e.startx)}),a.x+a.width/2-1),r.reduce((function(t,e){return n.Y2.getMax(t,e.stopx)}),a.x+a.width/2+1)]}),"activationBounds");function Bt(t,e,a,r,s){Pt.bumpVerticalPos(a);let o=r;if(e.id&&e.message&&t[e.id]){const a=t[e.id].width,s=At(_t);e.message=i._K.wrapLabel(`[${e.message}]`,a-2*_t.wrapPadding,s),e.width=a,e.wrap=!0;const c=i._K.calculateTextDimensions(e.message,s),l=n.Y2.getMax(c.height,_t.labelBoxHeight);o=r+l,n.Rm.debug(`${l} - ${e.message}`)}s(e),Pt.bumpVerticalPos(o)}function $t(t,e,a,r,s,i,o){function c(a,r){a.x{t.add(e.from),t.add(e.to)})),y=y.filter((e=>t.has(e)))}Ot(h,p,g,y,0,m,!1);const w=await jt(m,p,E,r);function I(t,e){const a=Pt.endActivation(t);a.starty+18>e&&(a.starty=e-6,e+=12),Lt.drawActivation(h,a,e,_t,Yt(t.from).length),Pt.insert(a.startx,e-10,a.stopx,e)}Lt.insertArrowHead(h),Lt.insertArrowCrossHead(h),Lt.insertArrowFilledHead(h),Lt.insertSequenceNumber(h),(0,n.K2)(I,"activeEnd");let L=1,_=1;const P=[],k=[];let A=0;for(const t of m){let e,a,s;switch(t.type){case r.db.LINETYPE.NOTE:Pt.resetVerticalPos(),a=t.noteModel,await kt(h,a);break;case r.db.LINETYPE.ACTIVE_START:Pt.newActivation(t,h,p);break;case r.db.LINETYPE.ACTIVE_END:I(t,Pt.getVerticalPos());break;case r.db.LINETYPE.LOOP_START:Bt(w,t,_t.boxMargin,_t.boxMargin+_t.boxTextMargin,(t=>Pt.newLoop(t)));break;case r.db.LINETYPE.LOOP_END:e=Pt.endLoop(),await Lt.drawLoop(h,e,"loop",_t),Pt.bumpVerticalPos(e.stopy-Pt.getVerticalPos()),Pt.models.addLoop(e);break;case r.db.LINETYPE.RECT_START:Bt(w,t,_t.boxMargin,_t.boxMargin,(t=>Pt.newLoop(void 0,t.message)));break;case r.db.LINETYPE.RECT_END:e=Pt.endLoop(),k.push(e),Pt.models.addLoop(e),Pt.bumpVerticalPos(e.stopy-Pt.getVerticalPos());break;case r.db.LINETYPE.OPT_START:Bt(w,t,_t.boxMargin,_t.boxMargin+_t.boxTextMargin,(t=>Pt.newLoop(t)));break;case r.db.LINETYPE.OPT_END:e=Pt.endLoop(),await Lt.drawLoop(h,e,"opt",_t),Pt.bumpVerticalPos(e.stopy-Pt.getVerticalPos()),Pt.models.addLoop(e);break;case r.db.LINETYPE.ALT_START:Bt(w,t,_t.boxMargin,_t.boxMargin+_t.boxTextMargin,(t=>Pt.newLoop(t)));break;case r.db.LINETYPE.ALT_ELSE:Bt(w,t,_t.boxMargin+_t.boxTextMargin,_t.boxMargin,(t=>Pt.addSectionToLoop(t)));break;case r.db.LINETYPE.ALT_END:e=Pt.endLoop(),await Lt.drawLoop(h,e,"alt",_t),Pt.bumpVerticalPos(e.stopy-Pt.getVerticalPos()),Pt.models.addLoop(e);break;case r.db.LINETYPE.PAR_START:case r.db.LINETYPE.PAR_OVER_START:Bt(w,t,_t.boxMargin,_t.boxMargin+_t.boxTextMargin,(t=>Pt.newLoop(t))),Pt.saveVerticalPos();break;case r.db.LINETYPE.PAR_AND:Bt(w,t,_t.boxMargin+_t.boxTextMargin,_t.boxMargin,(t=>Pt.addSectionToLoop(t)));break;case r.db.LINETYPE.PAR_END:e=Pt.endLoop(),await Lt.drawLoop(h,e,"par",_t),Pt.bumpVerticalPos(e.stopy-Pt.getVerticalPos()),Pt.models.addLoop(e);break;case r.db.LINETYPE.AUTONUMBER:L=t.message.start||L,_=t.message.step||_,t.message.visible?r.db.enableSequenceNumbers():r.db.disableSequenceNumbers();break;case r.db.LINETYPE.CRITICAL_START:Bt(w,t,_t.boxMargin,_t.boxMargin+_t.boxTextMargin,(t=>Pt.newLoop(t)));break;case r.db.LINETYPE.CRITICAL_OPTION:Bt(w,t,_t.boxMargin+_t.boxTextMargin,_t.boxMargin,(t=>Pt.addSectionToLoop(t)));break;case r.db.LINETYPE.CRITICAL_END:e=Pt.endLoop(),await Lt.drawLoop(h,e,"critical",_t),Pt.bumpVerticalPos(e.stopy-Pt.getVerticalPos()),Pt.models.addLoop(e);break;case r.db.LINETYPE.BREAK_START:Bt(w,t,_t.boxMargin,_t.boxMargin+_t.boxTextMargin,(t=>Pt.newLoop(t)));break;case r.db.LINETYPE.BREAK_END:e=Pt.endLoop(),await Lt.drawLoop(h,e,"break",_t),Pt.bumpVerticalPos(e.stopy-Pt.getVerticalPos()),Pt.models.addLoop(e);break;default:try{s=t.msgModel,s.starty=Pt.getVerticalPos(),s.sequenceIndex=L,s.sequenceVisible=r.db.showSequenceNumbers();const e=await Mt(0,s);$t(t,s,e,A,p,g,u),P.push({messageModel:s,lineStartY:e}),Pt.models.addMessage(s)}catch(t){n.Rm.error("error while drawing message",t)}}[r.db.LINETYPE.SOLID_OPEN,r.db.LINETYPE.DOTTED_OPEN,r.db.LINETYPE.SOLID,r.db.LINETYPE.DOTTED,r.db.LINETYPE.SOLID_CROSS,r.db.LINETYPE.DOTTED_CROSS,r.db.LINETYPE.SOLID_POINT,r.db.LINETYPE.DOTTED_POINT,r.db.LINETYPE.BIDIRECTIONAL_SOLID,r.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(t.type)&&(L+=_),A++}n.Rm.debug("createdActors",g),n.Rm.debug("destroyedActors",u),await St(h,p,y,!1);for(const t of P)await Dt(h,t.messageModel,t.lineStartY,r);_t.mirrorActors&&await St(h,p,y,!0),k.forEach((t=>Lt.drawBackgroundRect(h,t))),st(h,p,y,_t);for(const t of Pt.models.boxes)t.height=Pt.getVerticalPos()-t.y,Pt.insert(t.x,t.y,t.x+t.width,t.height),t.startx=t.x,t.starty=t.y,t.stopx=t.startx+t.width,t.stopy=t.starty+t.height,t.stroke="rgb(0,0,0, 0.5)",Lt.drawBox(h,t,_t);T&&Pt.bumpVerticalPos(_t.boxMargin);const v=Kt(h,p,y,d),{bounds:N}=Pt.getBounds();void 0===N.startx&&(N.startx=0),void 0===N.starty&&(N.starty=0),void 0===N.stopx&&(N.stopx=0),void 0===N.stopy&&(N.stopy=0);let M=N.stopy-N.starty;M{const a=At(_t);let r=e.actorKeys.reduce(((e,a)=>e+(t.get(a).width+(t.get(a).margin||0))),0);r-=2*_t.boxTextMargin,e.wrap&&(e.name=i._K.wrapLabel(e.name,r-2*_t.wrapPadding,a));const o=i._K.calculateTextDimensions(e.name,a);s=n.Y2.getMax(o.height,s);const c=n.Y2.getMax(r,o.width+2*_t.wrapPadding);if(e.margin=_t.boxTextMargin,rt.textMaxHeight=s)),n.Y2.getMax(r,_t.height)}(0,n.K2)(qt,"calculateActorMargins");var zt=(0,n.K2)((async function(t,e,a){const r=e.get(t.from),s=e.get(t.to),o=r.x,c=s.x,l=t.wrap&&t.message;let d=(0,n.Wi)(t.message)?await(0,n.Dl)(t.message,(0,n.D7)()):i._K.calculateTextDimensions(l?i._K.wrapLabel(t.message,_t.width,vt(_t)):t.message,vt(_t));const h={width:l?_t.width:n.Y2.getMax(_t.width,d.width+2*_t.noteMargin),height:0,startx:r.x,stopx:0,starty:0,stopy:0,message:t.message};return t.placement===a.db.PLACEMENT.RIGHTOF?(h.width=l?n.Y2.getMax(_t.width,d.width):n.Y2.getMax(r.width/2+s.width/2,d.width+2*_t.noteMargin),h.startx=o+(r.width+_t.actorMargin)/2):t.placement===a.db.PLACEMENT.LEFTOF?(h.width=l?n.Y2.getMax(_t.width,d.width+2*_t.noteMargin):n.Y2.getMax(r.width/2+s.width/2,d.width+2*_t.noteMargin),h.startx=o-h.width+(r.width-_t.actorMargin)/2):t.to===t.from?(d=i._K.calculateTextDimensions(l?i._K.wrapLabel(t.message,n.Y2.getMax(_t.width,r.width),vt(_t)):t.message,vt(_t)),h.width=l?n.Y2.getMax(_t.width,r.width):n.Y2.getMax(r.width,_t.width,d.width+2*_t.noteMargin),h.startx=o+(r.width-h.width)/2):(h.width=Math.abs(o+r.width/2-(c+s.width/2))+_t.actorMargin,h.startx=o2,g=(0,n.K2)((t=>l?-t:t),"adjustValue");t.from===t.to?h=d:(t.activate&&!p&&(h+=g(_t.activationWidth/2-1)),[a.db.LINETYPE.SOLID_OPEN,a.db.LINETYPE.DOTTED_OPEN].includes(t.type)||(h+=g(3)),[a.db.LINETYPE.BIDIRECTIONAL_SOLID,a.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(t.type)&&(d-=g(3)));const u=[r,s,o,c],x=Math.abs(d-h);t.wrap&&t.message&&(t.message=i._K.wrapLabel(t.message,n.Y2.getMax(x+2*_t.wrapPadding,_t.width),At(_t)));const y=i._K.calculateTextDimensions(t.message,At(_t));return{width:n.Y2.getMax(t.wrap?0:y.width+2*_t.wrapPadding,x+2*_t.wrapPadding,_t.width),height:0,startx:d,stopx:h,starty:0,stopy:0,message:t.message,type:t.type,wrap:t.wrap,fromBounds:Math.min.apply(null,u),toBounds:Math.max.apply(null,u)}}),"buildMessageModel"),jt=(0,n.K2)((async function(t,e,a,r){const s={},o=[];let c,l,d;for(const a of t){switch(a.id=i._K.random({length:10}),a.type){case r.db.LINETYPE.LOOP_START:case r.db.LINETYPE.ALT_START:case r.db.LINETYPE.OPT_START:case r.db.LINETYPE.PAR_START:case r.db.LINETYPE.PAR_OVER_START:case r.db.LINETYPE.CRITICAL_START:case r.db.LINETYPE.BREAK_START:o.push({id:a.id,msg:a.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case r.db.LINETYPE.ALT_ELSE:case r.db.LINETYPE.PAR_AND:case r.db.LINETYPE.CRITICAL_OPTION:a.message&&(c=o.pop(),s[c.id]=c,s[a.id]=c,o.push(c));break;case r.db.LINETYPE.LOOP_END:case r.db.LINETYPE.ALT_END:case r.db.LINETYPE.OPT_END:case r.db.LINETYPE.PAR_END:case r.db.LINETYPE.CRITICAL_END:case r.db.LINETYPE.BREAK_END:c=o.pop(),s[c.id]=c;break;case r.db.LINETYPE.ACTIVE_START:{const t=e.get(a.from?a.from:a.to.actor),r=Yt(a.from?a.from:a.to.actor).length,s=t.x+t.width/2+(r-1)*_t.activationWidth/2,i={startx:s,stopx:s+_t.activationWidth,actor:a.from,enabled:!0};Pt.activations.push(i)}break;case r.db.LINETYPE.ACTIVE_END:{const t=Pt.activations.map((t=>t.actor)).lastIndexOf(a.from);Pt.activations.splice(t,1).splice(0,1)}}void 0!==a.placement?(l=await zt(a,e,r),a.noteModel=l,o.forEach((t=>{c=t,c.from=n.Y2.getMin(c.from,l.startx),c.to=n.Y2.getMax(c.to,l.startx+l.width),c.width=n.Y2.getMax(c.width,Math.abs(c.from-c.to))-_t.labelBoxWidth}))):(d=Ht(a,e,r),a.msgModel=d,d.startx&&d.stopx&&o.length>0&&o.forEach((t=>{if(c=t,d.startx===d.stopx){const t=e.get(a.from),r=e.get(a.to);c.from=n.Y2.getMin(t.x-d.width/2,t.x-t.width/2,c.from),c.to=n.Y2.getMax(r.x+d.width/2,r.x+t.width/2,c.to),c.width=n.Y2.getMax(c.width,Math.abs(c.to-c.from))-_t.labelBoxWidth}else c.from=n.Y2.getMin(d.startx,c.from),c.to=n.Y2.getMax(d.stopx,c.to),c.width=n.Y2.getMax(c.width,d.width)-_t.labelBoxWidth})))}return Pt.activations=[],n.Rm.debug("Loop type widths:",s),s}),"calculateLoopBounds"),Ut={parser:d,db:H,renderer:{bounds:Pt,drawActors:St,drawActorsPopup:Kt,setConf:Rt,draw:Vt},styles:j,init:(0,n.K2)((({wrap:t})=>{H.setWrap(t)}),"init")}}}]); \ No newline at end of file diff --git a/docs/hugo/public/js/545-bfa2b46e.chunk.min.js b/docs/hugo/public/js/545-bfa2b46e.chunk.min.js new file mode 100644 index 000000000..1e1adaa24 --- /dev/null +++ b/docs/hugo/public/js/545-bfa2b46e.chunk.min.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgeekdoc=self.webpackChunkgeekdoc||[]).push([[545],{545:(t,i,e)=>{e.d(i,{diagram:()=>J});var s=e(6058),n=e(8159),a=e(7286),h=e(9502),o=e(4852),r=function(){var t=(0,h.K2)((function(t,i,e,s){for(e=e||{},s=t.length;s--;e[t[s]]=i);return e}),"o"),i=[1,10,12,14,16,18,19,21,23],e=[2,6],s=[1,3],n=[1,5],a=[1,6],o=[1,7],r=[1,5,10,12,14,16,18,19,21,23,34,35,36],l=[1,25],c=[1,26],g=[1,28],u=[1,29],x=[1,30],d=[1,31],p=[1,32],f=[1,33],y=[1,34],m=[1,35],b=[1,36],A=[1,37],S=[1,43],C=[1,42],w=[1,47],k=[1,50],_=[1,10,12,14,16,18,19,21,23,34,35,36],T=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],R=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],D=[1,64],L={trace:(0,h.K2)((function(){}),"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:(0,h.K2)((function(t,i,e,s,n,a,h){var o=a.length-1;switch(n){case 5:s.setOrientation(a[o]);break;case 9:s.setDiagramTitle(a[o].text.trim());break;case 12:s.setLineData({text:"",type:"text"},a[o]);break;case 13:s.setLineData(a[o-1],a[o]);break;case 14:s.setBarData({text:"",type:"text"},a[o]);break;case 15:s.setBarData(a[o-1],a[o]);break;case 16:this.$=a[o].trim(),s.setAccTitle(this.$);break;case 17:case 18:this.$=a[o].trim(),s.setAccDescription(this.$);break;case 19:case 27:this.$=a[o-1];break;case 20:this.$=[Number(a[o-2]),...a[o]];break;case 21:this.$=[Number(a[o])];break;case 22:s.setXAxisTitle(a[o]);break;case 23:s.setXAxisTitle(a[o-1]);break;case 24:s.setXAxisTitle({type:"text",text:""});break;case 25:s.setXAxisBand(a[o]);break;case 26:s.setXAxisRangeData(Number(a[o-2]),Number(a[o]));break;case 28:this.$=[a[o-2],...a[o]];break;case 29:this.$=[a[o]];break;case 30:s.setYAxisTitle(a[o]);break;case 31:s.setYAxisTitle(a[o-1]);break;case 32:s.setYAxisTitle({type:"text",text:""});break;case 33:s.setYAxisRangeData(Number(a[o-2]),Number(a[o]));break;case 37:case 38:this.$={text:a[o],type:"text"};break;case 39:this.$={text:a[o],type:"markdown"};break;case 40:this.$=a[o];break;case 41:this.$=a[o-1]+""+a[o]}}),"anonymous"),table:[t(i,e,{3:1,4:2,7:4,5:s,34:n,35:a,36:o}),{1:[3]},t(i,e,{4:2,7:4,3:8,5:s,34:n,35:a,36:o}),t(i,e,{4:2,7:4,6:9,3:10,5:s,8:[1,11],34:n,35:a,36:o}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},t(r,[2,34]),t(r,[2,35]),t(r,[2,36]),{1:[2,1]},t(i,e,{4:2,7:4,3:21,5:s,34:n,35:a,36:o}),{1:[2,3]},t(r,[2,5]),t(i,[2,7],{4:22,34:n,35:a,36:o}),{11:23,37:24,38:l,39:c,40:27,41:g,42:u,43:x,44:d,45:p,46:f,47:y,48:m,49:b,50:A},{11:39,13:38,24:S,27:C,29:40,30:41,37:24,38:l,39:c,40:27,41:g,42:u,43:x,44:d,45:p,46:f,47:y,48:m,49:b,50:A},{11:45,15:44,27:w,33:46,37:24,38:l,39:c,40:27,41:g,42:u,43:x,44:d,45:p,46:f,47:y,48:m,49:b,50:A},{11:49,17:48,24:k,37:24,38:l,39:c,40:27,41:g,42:u,43:x,44:d,45:p,46:f,47:y,48:m,49:b,50:A},{11:52,17:51,24:k,37:24,38:l,39:c,40:27,41:g,42:u,43:x,44:d,45:p,46:f,47:y,48:m,49:b,50:A},{20:[1,53]},{22:[1,54]},t(_,[2,18]),{1:[2,2]},t(_,[2,8]),t(_,[2,9]),t(T,[2,37],{40:55,41:g,42:u,43:x,44:d,45:p,46:f,47:y,48:m,49:b,50:A}),t(T,[2,38]),t(T,[2,39]),t(R,[2,40]),t(R,[2,42]),t(R,[2,43]),t(R,[2,44]),t(R,[2,45]),t(R,[2,46]),t(R,[2,47]),t(R,[2,48]),t(R,[2,49]),t(R,[2,50]),t(R,[2,51]),t(_,[2,10]),t(_,[2,22],{30:41,29:56,24:S,27:C}),t(_,[2,24]),t(_,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:l,39:c,40:27,41:g,42:u,43:x,44:d,45:p,46:f,47:y,48:m,49:b,50:A},t(_,[2,11]),t(_,[2,30],{33:60,27:w}),t(_,[2,32]),{31:[1,61]},t(_,[2,12]),{17:62,24:k},{25:63,27:D},t(_,[2,14]),{17:65,24:k},t(_,[2,16]),t(_,[2,17]),t(R,[2,41]),t(_,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},t(_,[2,31]),{27:[1,69]},t(_,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},t(_,[2,15]),t(_,[2,26]),t(_,[2,27]),{11:59,32:72,37:24,38:l,39:c,40:27,41:g,42:u,43:x,44:d,45:p,46:f,47:y,48:m,49:b,50:A},t(_,[2,33]),t(_,[2,19]),{25:73,27:D},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:(0,h.K2)((function(t,i){if(!i.recoverable){var e=new Error(t);throw e.hash=i,e}this.trace(t)}),"parseError"),parse:(0,h.K2)((function(t){var i=this,e=[0],s=[],n=[null],a=[],o=this.table,r="",l=0,c=0,g=0,u=a.slice.call(arguments,1),x=Object.create(this.lexer),d={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(d.yy[p]=this.yy[p]);x.setInput(t,d.yy),d.yy.lexer=x,d.yy.parser=this,void 0===x.yylloc&&(x.yylloc={});var f=x.yylloc;a.push(f);var y=x.options&&x.options.ranges;function m(){var t;return"number"!=typeof(t=s.pop()||x.lex()||1)&&(t instanceof Array&&(t=(s=t).pop()),t=i.symbols_[t]||t),t}"function"==typeof d.yy.parseError?this.parseError=d.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,h.K2)((function(t){e.length=e.length-2*t,n.length=n.length-t,a.length=a.length-t}),"popStack"),(0,h.K2)(m,"lex");for(var b,A,S,C,w,k,_,T,R,D={};;){if(S=e[e.length-1],this.defaultActions[S]?C=this.defaultActions[S]:(null==b&&(b=m()),C=o[S]&&o[S][b]),void 0===C||!C.length||!C[0]){var L;for(k in R=[],o[S])this.terminals_[k]&&k>2&&R.push("'"+this.terminals_[k]+"'");L=x.showPosition?"Parse error on line "+(l+1)+":\n"+x.showPosition()+"\nExpecting "+R.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==b?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(L,{text:x.match,token:this.terminals_[b]||b,line:x.yylineno,loc:f,expected:R})}if(C[0]instanceof Array&&C.length>1)throw new Error("Parse Error: multiple actions possible at state: "+S+", token: "+b);switch(C[0]){case 1:e.push(b),n.push(x.yytext),a.push(x.yylloc),e.push(C[1]),b=null,A?(b=A,A=null):(c=x.yyleng,r=x.yytext,l=x.yylineno,f=x.yylloc,g>0&&g--);break;case 2:if(_=this.productions_[C[1]][1],D.$=n[n.length-_],D._$={first_line:a[a.length-(_||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(_||1)].first_column,last_column:a[a.length-1].last_column},y&&(D._$.range=[a[a.length-(_||1)].range[0],a[a.length-1].range[1]]),void 0!==(w=this.performAction.apply(D,[r,c,l,d.yy,C[1],n,a].concat(u))))return w;_&&(e=e.slice(0,-1*_*2),n=n.slice(0,-1*_),a=a.slice(0,-1*_)),e.push(this.productions_[C[1]][0]),n.push(D.$),a.push(D._$),T=o[e[e.length-2]][e[e.length-1]],e.push(T);break;case 3:return!0}}return!0}),"parse")},P=function(){return{EOF:1,parseError:(0,h.K2)((function(t,i){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,i)}),"parseError"),setInput:(0,h.K2)((function(t,i){return this.yy=i||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this}),"setInput"),input:(0,h.K2)((function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t}),"input"),unput:(0,h.K2)((function(t){var i=t.length,e=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-i),this.offset-=i;var s=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),e.length-1&&(this.yylineno-=e.length-1);var n=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:e?(e.length===s.length?this.yylloc.first_column:0)+s[s.length-e.length].length-e[0].length:this.yylloc.first_column-i},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-i]),this.yyleng=this.yytext.length,this}),"unput"),more:(0,h.K2)((function(){return this._more=!0,this}),"more"),reject:(0,h.K2)((function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"reject"),less:(0,h.K2)((function(t){this.unput(this.match.slice(t))}),"less"),pastInput:(0,h.K2)((function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")}),"pastInput"),upcomingInput:(0,h.K2)((function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")}),"upcomingInput"),showPosition:(0,h.K2)((function(){var t=this.pastInput(),i=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+i+"^"}),"showPosition"),test_match:(0,h.K2)((function(t,i){var e,s,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(n.yylloc.range=this.yylloc.range.slice(0))),(s=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=s.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:s?s[s.length-1].length-s[s.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],e=this.performAction.call(this,this.yy,this,i,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),e)return e;if(this._backtrack){for(var a in n)this[a]=n[a];return!1}return!1}),"test_match"),next:(0,h.K2)((function(){if(this.done)return this.EOF;var t,i,e,s;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var n=this._currentRules(),a=0;ai[0].length)){if(i=e,s=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(e,n[a])))return t;if(this._backtrack){i=!1;continue}return!1}if(!this.options.flex)break}return i?!1!==(t=this.test_match(i,n[s]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"next"),lex:(0,h.K2)((function(){return this.next()||this.lex()}),"lex"),begin:(0,h.K2)((function(t){this.conditionStack.push(t)}),"begin"),popState:(0,h.K2)((function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]}),"popState"),_currentRules:(0,h.K2)((function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules}),"_currentRules"),topState:(0,h.K2)((function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"}),"topState"),pushState:(0,h.K2)((function(t){this.begin(t)}),"pushState"),stateStackSize:(0,h.K2)((function(){return this.conditionStack.length}),"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,h.K2)((function(t,i,e,s){switch(e){case 0:case 1:case 5:case 43:break;case 2:case 3:return this.popState(),34;case 4:return 34;case 6:return 10;case 7:return this.pushState("acc_title"),19;case 8:return this.popState(),"acc_title_value";case 9:return this.pushState("acc_descr"),21;case 10:return this.popState(),"acc_descr_value";case 11:this.pushState("acc_descr_multiline");break;case 12:case 25:case 27:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 8;case 16:return this.pushState("axis_data"),"X_AXIS";case 17:return this.pushState("axis_data"),"Y_AXIS";case 18:return this.pushState("axis_band_data"),24;case 19:return 31;case 20:return this.pushState("data"),16;case 21:return this.pushState("data"),18;case 22:return this.pushState("data_inner"),24;case 23:return 27;case 24:return this.popState(),26;case 26:this.pushState("string");break;case 28:return"STR";case 29:return 24;case 30:return 26;case 31:return 43;case 32:return"COLON";case 33:return 44;case 34:return 28;case 35:return 45;case 36:return 46;case 37:return 48;case 38:return 50;case 39:return 47;case 40:return 41;case 41:return 49;case 42:return 42;case 44:return 35;case 45:return 36}}),"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\{)/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,23,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,20,21,22,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,23,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[27,28],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0}}}}();function E(){this.yy={}}return L.lexer=P,(0,h.K2)(E,"Parser"),E.prototype=L,L.Parser=E,new E}();r.parser=r;var l=r;function c(t){return"bar"===t.type}function g(t){return"band"===t.type}function u(t){return"linear"===t.type}(0,h.K2)(c,"isBarPlot"),(0,h.K2)(g,"isBandAxisData"),(0,h.K2)(u,"isLinearAxisData");var x=class{constructor(t){this.parentGroup=t}static{(0,h.K2)(this,"TextDimensionCalculatorWithFont")}getMaxDimension(t,i){if(!this.parentGroup)return{width:t.reduce(((t,i)=>Math.max(i.length,t)),0)*i,height:i};const e={width:0,height:0},n=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",i);for(const a of t){const t=(0,s.W6)(n,1,a),h=t?t.width:a.length*i,o=t?t.height:i;e.width=Math.max(e.width,h),e.height=Math.max(e.height,o)}return n.remove(),e}},d=class{constructor(t,i,e,s){this.axisConfig=t,this.title=i,this.textDimensionCalculator=e,this.axisThemeConfig=s,this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left",this.showTitle=!1,this.showLabel=!1,this.showTick=!1,this.showAxisLine=!1,this.outerPadding=0,this.titleTextHeight=0,this.labelTextHeight=0,this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left"}static{(0,h.K2)(this,"BaseAxis")}setRange(t){this.range=t,"left"===this.axisPosition||"right"===this.axisPosition?this.boundingRect.height=t[1]-t[0]:this.boundingRect.width=t[1]-t[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(t){this.axisPosition=t,this.setRange(this.range)}getTickDistance(){const t=this.getRange();return Math.abs(t[0]-t[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map((t=>t.toString())),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){.7*this.getTickDistance()>2*this.outerPadding&&(this.outerPadding=Math.floor(.7*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(t){let i=t.height;if(this.axisConfig.showAxisLine&&i>this.axisConfig.axisLineWidth&&(i-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const e=this.getLabelDimension(),s=.2*t.width;this.outerPadding=Math.min(e.width/2,s);const n=e.height+2*this.axisConfig.labelPadding;this.labelTextHeight=e.height,n<=i&&(i-=n,this.showLabel=!0)}if(this.axisConfig.showTick&&i>=this.axisConfig.tickLength&&(this.showTick=!0,i-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const t=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),e=t.height+2*this.axisConfig.titlePadding;this.titleTextHeight=t.height,e<=i&&(i-=e,this.showTitle=!0)}this.boundingRect.width=t.width,this.boundingRect.height=t.height-i}calculateSpaceIfDrawnVertical(t){let i=t.width;if(this.axisConfig.showAxisLine&&i>this.axisConfig.axisLineWidth&&(i-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const e=this.getLabelDimension(),s=.2*t.height;this.outerPadding=Math.min(e.height/2,s);const n=e.width+2*this.axisConfig.labelPadding;n<=i&&(i-=n,this.showLabel=!0)}if(this.axisConfig.showTick&&i>=this.axisConfig.tickLength&&(this.showTick=!0,i-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const t=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),e=t.height+2*this.axisConfig.titlePadding;this.titleTextHeight=t.height,e<=i&&(i-=e,this.showTitle=!0)}this.boundingRect.width=t.width-i,this.boundingRect.height=t.height}calculateSpace(t){return"left"===this.axisPosition||"right"===this.axisPosition?this.calculateSpaceIfDrawnVertical(t):this.calculateSpaceIfDrawnHorizontally(t),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}getDrawableElementsForLeftAxis(){const t=[];if(this.showAxisLine){const i=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${i},${this.boundingRect.y} L ${i},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map((t=>({text:t.toString(),x:this.boundingRect.x+this.boundingRect.width-(this.showLabel?this.axisConfig.labelPadding:0)-(this.showTick?this.axisConfig.tickLength:0)-(this.showAxisLine?this.axisConfig.axisLineWidth:0),y:this.getScaleValue(t),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"})))}),this.showTick){const i=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);t.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map((t=>({path:`M ${i},${this.getScaleValue(t)} L ${i-this.axisConfig.tickLength},${this.getScaleValue(t)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth})))})}return this.showTitle&&t.push({type:"text",groupTexts:["left-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.axisConfig.titlePadding,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:270,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElementsForBottomAxis(){const t=[];if(this.showAxisLine){const i=this.boundingRect.y+this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${i} L ${this.boundingRect.x+this.boundingRect.width},${i}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map((t=>({text:t.toString(),x:this.getScaleValue(t),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"})))}),this.showTick){const i=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);t.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map((t=>({path:`M ${this.getScaleValue(t)},${i} L ${this.getScaleValue(t)},${i+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth})))})}return this.showTitle&&t.push({type:"text",groupTexts:["bottom-axis","title"],data:[{text:this.title,x:this.range[0]+(this.range[1]-this.range[0])/2,y:this.boundingRect.y+this.boundingRect.height-this.axisConfig.titlePadding-this.titleTextHeight,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElementsForTopAxis(){const t=[];if(this.showAxisLine){const i=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${i} L ${this.boundingRect.x+this.boundingRect.width},${i}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map((t=>({text:t.toString(),x:this.getScaleValue(t),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+2*this.axisConfig.titlePadding:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"})))}),this.showTick){const i=this.boundingRect.y;t.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map((t=>({path:`M ${this.getScaleValue(t)},${i+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(t)},${i+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth})))})}return this.showTitle&&t.push({type:"text",groupTexts:["top-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.axisConfig.titlePadding,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElements(){if("left"===this.axisPosition)return this.getDrawableElementsForLeftAxis();if("right"===this.axisPosition)throw Error("Drawing of right axis is not implemented");return"bottom"===this.axisPosition?this.getDrawableElementsForBottomAxis():"top"===this.axisPosition?this.getDrawableElementsForTopAxis():[]}},p=class extends d{static{(0,h.K2)(this,"BandAxis")}constructor(t,i,e,s,n){super(t,s,n,i),this.categories=e,this.scale=(0,o.WH)().domain(this.categories).range(this.getRange())}setRange(t){super.setRange(t)}recalculateScale(){this.scale=(0,o.WH)().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),h.Rm.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(t){return this.scale(t)??this.getRange()[0]}},f=class extends d{static{(0,h.K2)(this,"LinearAxis")}constructor(t,i,e,s,n){super(t,s,n,i),this.domain=e,this.scale=(0,o.m4Y)().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){const t=[...this.domain];"left"===this.axisPosition&&t.reverse(),this.scale=(0,o.m4Y)().domain(t).range(this.getRange())}getScaleValue(t){return this.scale(t)}};function y(t,i,e,s){const n=new x(s);return g(t)?new p(i,e,t.categories,t.title,n):new f(i,e,[t.min,t.max],t.title,n)}(0,h.K2)(y,"getAxis");var m=class{constructor(t,i,e,s){this.textDimensionCalculator=t,this.chartConfig=i,this.chartData=e,this.chartThemeConfig=s,this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}static{(0,h.K2)(this,"ChartTitle")}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}calculateSpace(t){const i=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),e=Math.max(i.width,t.width),s=i.height+2*this.chartConfig.titlePadding;return i.width<=e&&i.height<=s&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=e,this.boundingRect.height=s,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){const t=[];return this.showChartTitle&&t.push({groupTexts:["chart-title"],type:"text",data:[{fontSize:this.chartConfig.titleFontSize,text:this.chartData.title,verticalPos:"middle",horizontalPos:"center",x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.chartThemeConfig.titleColor,rotation:0}]}),t}};function b(t,i,e,s){const n=new x(s);return new m(n,t,i,e)}(0,h.K2)(b,"getChartTitleComponent");var A=class{constructor(t,i,e,s,n){this.plotData=t,this.xAxis=i,this.yAxis=e,this.orientation=s,this.plotIndex=n}static{(0,h.K2)(this,"LinePlot")}getDrawableElement(){const t=this.plotData.data.map((t=>[this.xAxis.getScaleValue(t[0]),this.yAxis.getScaleValue(t[1])]));let i;return i="horizontal"===this.orientation?(0,o.n8j)().y((t=>t[0])).x((t=>t[1]))(t):(0,o.n8j)().x((t=>t[0])).y((t=>t[1]))(t),i?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:i,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}},S=class{constructor(t,i,e,s,n,a){this.barData=t,this.boundingRect=i,this.xAxis=e,this.yAxis=s,this.orientation=n,this.plotIndex=a}static{(0,h.K2)(this,"BarPlot")}getDrawableElement(){const t=this.barData.data.map((t=>[this.xAxis.getScaleValue(t[0]),this.yAxis.getScaleValue(t[1])])),i=.95*Math.min(2*this.xAxis.getAxisOuterPadding(),this.xAxis.getTickDistance()),e=i/2;return"horizontal"===this.orientation?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:t.map((t=>({x:this.boundingRect.x,y:t[0]-e,height:i,width:t[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill})))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:t.map((t=>({x:t[0]-e,y:t[1],width:i,height:this.boundingRect.y+this.boundingRect.height-t[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill})))}]}},C=class{constructor(t,i,e){this.chartConfig=t,this.chartData=i,this.chartThemeConfig=e,this.boundingRect={x:0,y:0,width:0,height:0}}static{(0,h.K2)(this,"BasePlot")}setAxes(t,i){this.xAxis=t,this.yAxis=i}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}calculateSpace(t){return this.boundingRect.width=t.width,this.boundingRect.height=t.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!this.xAxis||!this.yAxis)throw Error("Axes must be passed to render Plots");const t=[];for(const[i,e]of this.chartData.plots.entries())switch(e.type){case"line":{const s=new A(e,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,i);t.push(...s.getDrawableElement())}break;case"bar":{const s=new S(e,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,i);t.push(...s.getDrawableElement())}}return t}};function w(t,i,e){return new C(t,i,e)}(0,h.K2)(w,"getPlotComponent");var k,_=class{constructor(t,i,e,s){this.chartConfig=t,this.chartData=i,this.componentStore={title:b(t,i,e,s),plot:w(t,i,e),xAxis:y(i.xAxis,t.xAxis,{titleColor:e.xAxisTitleColor,labelColor:e.xAxisLabelColor,tickColor:e.xAxisTickColor,axisLineColor:e.xAxisLineColor},s),yAxis:y(i.yAxis,t.yAxis,{titleColor:e.yAxisTitleColor,labelColor:e.yAxisLabelColor,tickColor:e.yAxisTickColor,axisLineColor:e.yAxisLineColor},s)}}static{(0,h.K2)(this,"Orchestrator")}calculateVerticalSpace(){let t=this.chartConfig.width,i=this.chartConfig.height,e=0,s=0,n=Math.floor(t*this.chartConfig.plotReservedSpacePercent/100),a=Math.floor(i*this.chartConfig.plotReservedSpacePercent/100),h=this.componentStore.plot.calculateSpace({width:n,height:a});t-=h.width,i-=h.height,h=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:i}),s=h.height,i-=h.height,this.componentStore.xAxis.setAxisPosition("bottom"),h=this.componentStore.xAxis.calculateSpace({width:t,height:i}),i-=h.height,this.componentStore.yAxis.setAxisPosition("left"),h=this.componentStore.yAxis.calculateSpace({width:t,height:i}),e=h.width,t-=h.width,t>0&&(n+=t,t=0),i>0&&(a+=i,i=0),this.componentStore.plot.calculateSpace({width:n,height:a}),this.componentStore.plot.setBoundingBoxXY({x:e,y:s}),this.componentStore.xAxis.setRange([e,e+n]),this.componentStore.xAxis.setBoundingBoxXY({x:e,y:s+a}),this.componentStore.yAxis.setRange([s,s+a]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:s}),this.chartData.plots.some((t=>c(t)))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let t=this.chartConfig.width,i=this.chartConfig.height,e=0,s=0,n=0,a=Math.floor(t*this.chartConfig.plotReservedSpacePercent/100),h=Math.floor(i*this.chartConfig.plotReservedSpacePercent/100),o=this.componentStore.plot.calculateSpace({width:a,height:h});t-=o.width,i-=o.height,o=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:i}),e=o.height,i-=o.height,this.componentStore.xAxis.setAxisPosition("left"),o=this.componentStore.xAxis.calculateSpace({width:t,height:i}),t-=o.width,s=o.width,this.componentStore.yAxis.setAxisPosition("top"),o=this.componentStore.yAxis.calculateSpace({width:t,height:i}),i-=o.height,n=e+o.height,t>0&&(a+=t,t=0),i>0&&(h+=i,i=0),this.componentStore.plot.calculateSpace({width:a,height:h}),this.componentStore.plot.setBoundingBoxXY({x:s,y:n}),this.componentStore.yAxis.setRange([s,s+a]),this.componentStore.yAxis.setBoundingBoxXY({x:s,y:e}),this.componentStore.xAxis.setRange([n,n+h]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:n}),this.chartData.plots.some((t=>c(t)))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){"horizontal"===this.chartConfig.chartOrientation?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();const t=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(const i of Object.values(this.componentStore))t.push(...i.getDrawableElements());return t}},T=class{static{(0,h.K2)(this,"XYChartBuilder")}static build(t,i,e,s){return new _(t,i,e,s).getDrawableElement()}},R=0,D=$(),L=I(),P={yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]},E=L.plotColorPalette.split(",").map((t=>t.trim())),v=!1,K=!1;function I(){const t=(0,h.P$)(),i=(0,h.zj)();return(0,n.$t)(t.xyChart,i.themeVariables.xyChart)}function $(){const t=(0,h.zj)();return(0,n.$t)(h.UI.xyChart,t.xyChart)}function M(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}function B(t){const i=(0,h.zj)();return(0,h.jZ)(t.trim(),i)}function z(t){k=t}function W(t){D.chartOrientation="horizontal"===t?"horizontal":"vertical"}function O(t){P.xAxis.title=B(t.text)}function F(t,i){P.xAxis={type:"linear",title:P.xAxis.title,min:t,max:i},v=!0}function N(t){P.xAxis={type:"band",title:P.xAxis.title,categories:t.map((t=>B(t.text)))},v=!0}function V(t){P.yAxis.title=B(t.text)}function X(t,i){P.yAxis={type:"linear",title:P.yAxis.title,min:t,max:i},K=!0}function Y(t){const i=Math.min(...t),e=Math.max(...t),s=u(P.yAxis)?P.yAxis.min:1/0,n=u(P.yAxis)?P.yAxis.max:-1/0;P.yAxis={type:"linear",title:P.yAxis.title,min:Math.min(s,i),max:Math.max(n,e)}}function U(t){let i=[];if(0===t.length)return i;if(!v){const i=u(P.xAxis)?P.xAxis.min:1/0,e=u(P.xAxis)?P.xAxis.max:-1/0;F(Math.min(i,1),Math.max(e,t.length))}if(K||Y(t),g(P.xAxis)&&(i=P.xAxis.categories.map(((i,e)=>[i,t[e]]))),u(P.xAxis)){const e=P.xAxis.min,s=P.xAxis.max,n=(s-e)/(t.length-1),a=[];for(let t=e;t<=s;t+=n)a.push(`${t}`);i=a.map(((i,e)=>[i,t[e]]))}return i}function H(t){return E[0===t?0:t%E.length]}function j(t,i){const e=U(i);P.plots.push({type:"line",strokeFill:H(R),strokeWidth:2,data:e}),R++}function G(t,i){const e=U(i);P.plots.push({type:"bar",fill:H(R),data:e}),R++}function Q(){if(0===P.plots.length)throw Error("No Plot to render, please provide a plot with some data");return P.title=(0,h.ab)(),T.build(D,P,L,k)}function Z(){return L}function q(){return D}(0,h.K2)(I,"getChartDefaultThemeConfig"),(0,h.K2)($,"getChartDefaultConfig"),(0,h.K2)(M,"getChartDefaultData"),(0,h.K2)(B,"textSanitizer"),(0,h.K2)(z,"setTmpSVGG"),(0,h.K2)(W,"setOrientation"),(0,h.K2)(O,"setXAxisTitle"),(0,h.K2)(F,"setXAxisRangeData"),(0,h.K2)(N,"setXAxisBand"),(0,h.K2)(V,"setYAxisTitle"),(0,h.K2)(X,"setYAxisRangeData"),(0,h.K2)(Y,"setYAxisRangeFromPlotData"),(0,h.K2)(U,"transformDataWithoutCategory"),(0,h.K2)(H,"getPlotColorFromPalette"),(0,h.K2)(j,"setLineData"),(0,h.K2)(G,"setBarData"),(0,h.K2)(Q,"getDrawableElem"),(0,h.K2)(Z,"getChartThemeConfig"),(0,h.K2)(q,"getChartConfig");var J={parser:l,db:{getDrawableElem:Q,clear:(0,h.K2)((function(){(0,h.IU)(),R=0,D=$(),P={yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]},L=I(),E=L.plotColorPalette.split(",").map((t=>t.trim())),v=!1,K=!1}),"clear"),setAccTitle:h.SV,getAccTitle:h.iN,setDiagramTitle:h.ke,getDiagramTitle:h.ab,getAccDescription:h.m7,setAccDescription:h.EI,setOrientation:W,setXAxisTitle:O,setXAxisRangeData:F,setXAxisBand:N,setYAxisTitle:V,setYAxisRangeData:X,setLineData:j,setBarData:G,setTmpSVGG:z,getChartThemeConfig:Z,getChartConfig:q},renderer:{draw:(0,h.K2)(((t,i,e,s)=>{const n=s.db,o=n.getChartThemeConfig(),r=n.getChartConfig();function l(t){return"top"===t?"text-before-edge":"middle"}function c(t){return"left"===t?"start":"right"===t?"end":"middle"}function g(t){return`translate(${t.x}, ${t.y}) rotate(${t.rotation||0})`}(0,h.K2)(l,"getDominantBaseLine"),(0,h.K2)(c,"getTextAnchor"),(0,h.K2)(g,"getTextTransformation"),h.Rm.debug("Rendering xychart chart\n"+t);const u=(0,a.D)(i),x=u.append("g").attr("class","main"),d=x.append("rect").attr("width",r.width).attr("height",r.height).attr("class","background");(0,h.a$)(u,r.height,r.width,!0),u.attr("viewBox",`0 0 ${r.width} ${r.height}`),d.attr("fill",o.backgroundColor),n.setTmpSVGG(u.append("g").attr("class","mermaid-tmp-group"));const p=n.getDrawableElem(),f={};function y(t){let i=x,e="";for(const[s]of t.entries()){let n=x;s>0&&f[e]&&(n=f[e]),e+=t[s],i=f[e],i||(i=f[e]=n.append("g").attr("class",t[s]))}return i}(0,h.K2)(y,"getGroup");for(const t of p){if(0===t.data.length)continue;const i=y(t.groupTexts);switch(t.type){case"rect":i.selectAll("rect").data(t.data).enter().append("rect").attr("x",(t=>t.x)).attr("y",(t=>t.y)).attr("width",(t=>t.width)).attr("height",(t=>t.height)).attr("fill",(t=>t.fill)).attr("stroke",(t=>t.strokeFill)).attr("stroke-width",(t=>t.strokeWidth));break;case"text":i.selectAll("text").data(t.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",(t=>t.fill)).attr("font-size",(t=>t.fontSize)).attr("dominant-baseline",(t=>l(t.verticalPos))).attr("text-anchor",(t=>c(t.horizontalPos))).attr("transform",(t=>g(t))).text((t=>t.text));break;case"path":i.selectAll("path").data(t.data).enter().append("path").attr("d",(t=>t.path)).attr("fill",(t=>t.fill?t.fill:"none")).attr("stroke",(t=>t.strokeFill)).attr("stroke-width",(t=>t.strokeWidth))}}}),"draw")}}}}]); \ No newline at end of file diff --git a/docs/hugo/public/js/56-09931933.chunk.min.js b/docs/hugo/public/js/56-09931933.chunk.min.js new file mode 100644 index 000000000..0ee0532e5 --- /dev/null +++ b/docs/hugo/public/js/56-09931933.chunk.min.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgeekdoc=self.webpackChunkgeekdoc||[]).push([[56],{3056:(e,r,s)=>{s.d(r,{diagram:()=>l});var a=s(6240),c=(s(6474),s(7308),s(7938),s(1282),s(1099),s(7588),s(3115),s(6058),s(8159),s(9502)),l={parser:a._$,db:a.z2,renderer:a.Lh,styles:a.tM,init:(0,c.K2)((e=>{e.class||(e.class={}),e.class.arrowMarkerAbsolute=e.arrowMarkerAbsolute,a.z2.clear()}),"init")}}}]); \ No newline at end of file diff --git a/docs/hugo/public/js/567-4fef9a1a.chunk.min.js b/docs/hugo/public/js/567-4fef9a1a.chunk.min.js new file mode 100644 index 000000000..7e004a8c7 --- /dev/null +++ b/docs/hugo/public/js/567-4fef9a1a.chunk.min.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgeekdoc=self.webpackChunkgeekdoc||[]).push([[567],{567:(e,n,t)=>{t.d(n,{Zp:()=>bn});var r=t(8058),o=t(3456),i=0;const u=function(e){var n=++i;return(0,o.A)(e)+n};var a=t(9142),s=t(4098),d=t(4722),c=Math.ceil,h=Math.max;var f=t(6832),v=t(3631);const l=function(e,n,t){return t&&"number"!=typeof t&&(0,f.A)(e,n,t)&&(n=t=void 0),e=(0,v.A)(e),void 0===n?(n=e,e=0):n=(0,v.A)(n),function(e,n,t,r){for(var o=-1,i=h(c((n-e)/(t||1)),0),u=Array(i);i--;)u[r?i:++o]=e,e+=t;return u}(e,n,t=void 0===t?e0;--a)if(r=n[a].dequeue()){o=o.concat(m(e,n,t,r,!0));break}}return o}(t.graph,t.buckets,t.zeroIdx);return s.A(d.A(o,(function(n){return e.outEdges(n.v,n.w)})))}(e,function(e){return function(n){return e.edge(n).weight}}(e)):function(e){var n=[],t={},o={};return r.A(e.nodes(),(function i(u){Object.prototype.hasOwnProperty.call(o,u)||(o[u]=!0,t[u]=!0,r.A(e.outEdges(u),(function(e){Object.prototype.hasOwnProperty.call(t,e.w)?n.push(e):i(e.w)})),delete t[u])})),n}(e);r.A(n,(function(n){var t=e.edge(n);e.removeEdge(n),t.forwardName=n.name,t.reversed=!0,e.setEdge(n.w,n.v,t,u("rev"))}))}var E=t(7222),x=t(5507),k=t(6964);var O=t(5255),N=t(7424);const P=(j=function(e,n){return null==e?{}:function(e,n){return(0,x.A)(e,n,(function(n,t){return(0,k.A)(e,t)}))}(e,n)},(0,N.A)((0,O.A)(j,void 0,s.A),j+""));var j,C=t(3068),I=t(2559);const L=function(e,n){return e>n};var T=t(9008);const M=function(e){return e&&e.length?(0,I.A)(e,T.A,L):void 0};var R=t(6666),F=t(2528),D=t(9841),S=t(6307);const G=function(e,n){var t={};return n=(0,S.A)(n,3),(0,D.A)(e,(function(e,r,o){(0,F.A)(t,r,n(e,r,o))})),t};var V=t(9592),B=t(6452),q=t(9622),Y=t(1917);const z=function(){return Y.A.Date.now()};function $(e,n,t,r){var o;do{o=u(r)}while(e.hasNode(o));return t.dummy=n,e.setNode(o,t),o}function J(e){var n=new g.T({multigraph:e.isMultigraph()}).setGraph(e.graph());return r.A(e.nodes(),(function(t){e.children(t).length||n.setNode(t,e.node(t))})),r.A(e.edges(),(function(t){n.setEdge(t,e.edge(t))})),n}function Z(e,n){var t,r,o=e.x,i=e.y,u=n.x-o,a=n.y-i,s=e.width/2,d=e.height/2;if(!u&&!a)throw new Error("Not possible to find intersection inside of the rectangle");return Math.abs(a)*s>Math.abs(u)*d?(a<0&&(d=-d),t=d*u/a,r=d):(u<0&&(s=-s),t=s,r=s*a/u),{x:o+t,y:i+r}}function H(e){var n=d.A(l(Q(e)+1),(function(){return[]}));return r.A(e.nodes(),(function(t){var r=e.node(t),o=r.rank;V.A(o)||(n[o][r.order]=t)})),n}function K(e,n,t,r){var o={width:0,height:0};return arguments.length>=4&&(o.rank=t,o.order=r),$(e,"border",o,n)}function Q(e){return M(d.A(e.nodes(),(function(n){var t=e.node(n).rank;if(!V.A(t))return t})))}function U(e,n){var t=z();try{return n()}finally{console.log(e+" time: "+(z()-t)+"ms")}}function W(e,n){return n()}function X(e,n,t,r,o,i){var u={width:0,height:0,rank:i,borderType:n},a=o[n][i-1],s=$(e,"border",u,t);o[n][i]=s,e.setParent(s,r),a&&e.setEdge(a,s,{weight:1})}function ee(e){r.A(e.nodes(),(function(n){ne(e.node(n))})),r.A(e.edges(),(function(n){ne(e.edge(n))}))}function ne(e){var n=e.width;e.width=e.height,e.height=n}function te(e){e.y=-e.y}function re(e){var n=e.x;e.x=e.y,e.y=n}var oe=t(6224);const ie=function(e,n){return e&&e.length?(0,I.A)(e,(0,S.A)(n,2),oe.A):void 0};function ue(e){var n={};r.A(e.sources(),(function t(r){var o=e.node(r);if(Object.prototype.hasOwnProperty.call(n,r))return o.rank;n[r]=!0;var i=B.A(d.A(e.outEdges(r),(function(n){return t(n.w)-e.edge(n).minlen})));return i!==Number.POSITIVE_INFINITY&&null!=i||(i=0),o.rank=i}))}function ae(e,n){return e.node(n.w).rank-e.node(n.v).rank-e.edge(n).minlen}function se(e){var n,t,r=new g.T({directed:!1}),o=e.nodes()[0],i=e.nodeCount();for(r.setNode(o,{});de(r,e)u.lim&&(a=u,s=!0);var d=ve.A(n.edges(),(function(n){return s===Fe(0,e.node(n.v),a)&&s!==Fe(0,e.node(n.w),a)}));return ie(d,(function(e){return ae(n,e)}))}function Re(e,n,t,o){var i=t.v,u=t.w;e.removeEdge(i,u),e.setEdge(o.v,o.w,{}),Ie(e),je(e,n),function(e,n){var t=fe.A(e.nodes(),(function(e){return!n.node(e).parent})),o=function(e,n){return Oe(e,n,"pre")}(e,t);o=o.slice(1),r.A(o,(function(t){var r=e.node(t).parent,o=n.edge(t,r),i=!1;o||(o=n.edge(r,t),i=!0),n.node(t).rank=n.node(r).rank+(i?o.minlen:-o.minlen)}))}(e,n)}function Fe(e,n,t){return t.low<=n.lim&&n.lim<=t.lim}function De(e){switch(e.graph().ranker){case"network-simplex":default:!function(e){Pe(e)}(e);break;case"tight-tree":!function(e){ue(e),se(e)}(e);break;case"longest-path":Se(e)}}t(1471),Pe.initLowLimValues=Ie,Pe.initCutValues=je,Pe.calcCutValue=Ce,Pe.leaveEdge=Te,Pe.enterEdge=Me,Pe.exchangeEdges=Re;var Se=ue;var Ge=t(2866),Ve=t(3130);function Be(e){var n=$(e,"root",{},"_root"),t=function(e){var n={};function t(o,i){var u=e.children(o);u&&u.length&&r.A(u,(function(e){t(e,i+1)})),n[o]=i}return r.A(e.children(),(function(e){t(e,1)})),n}(e),o=M(Ge.A(t))-1,i=2*o+1;e.graph().nestingRoot=n,r.A(e.edges(),(function(n){e.edge(n).minlen*=i}));var u=function(e){return Ve.A(e.edges(),(function(n,t){return n+e.edge(t).weight}),0)}(e)+1;r.A(e.children(),(function(r){qe(e,n,i,u,o,t,r)})),e.graph().nodeRankFactor=i}function qe(e,n,t,o,i,u,a){var s=e.children(a);if(s.length){var d=K(e,"_bt"),c=K(e,"_bb"),h=e.node(a);e.setParent(d,a),h.borderTop=d,e.setParent(c,a),h.borderBottom=c,r.A(s,(function(r){qe(e,n,t,o,i,u,r);var s=e.node(r),h=s.borderTop?s.borderTop:r,f=s.borderBottom?s.borderBottom:r,v=s.borderTop?o:2*o,l=h!==f?1:i-u[a]+1;e.setEdge(d,h,{weight:v,minlen:l,nestingEdge:!0}),e.setEdge(f,c,{weight:v,minlen:l,nestingEdge:!0})})),e.parent(a)||e.setEdge(n,d,{weight:0,minlen:i+u[a]})}else a!==n&&e.setEdge(n,a,{weight:0,minlen:t})}var Ye=t(4507);const ze=function(e){return(0,Ye.A)(e,5)};var $e=t(2851);const Je=function(e,n){return function(e,n,t){for(var r=-1,o=e.length,i=n.length,u={};++rn||i&&u&&s&&!a&&!d||r&&u&&s||!t&&s||!o)return 1;if(!r&&!i&&!d&&e=a?s:s*("desc"==t[r]?-1:1)}return e.index-n.index}(e,n,t)}))},nn=(0,t(4326).A)((function(e,n){if(null==e)return[];var t=n.length;return t>1&&(0,f.A)(e,n[0],n[1])?n=[]:t>2&&(0,f.A)(n[0],n[1],n[2])&&(n=[n[0]]),en(e,(0,Ze.A)(n,1),[])}));function tn(e,n){for(var t=0,r=1;r0;)n%2&&(t+=c[n+1]),c[n=n-1>>1]+=e.weight;h+=e.weight*t}))),h}function on(e,n){var t,o=function(e){var n={lhs:[],rhs:[]};return r.A(e,(function(e){var t;t=e,Object.prototype.hasOwnProperty.call(t,"barycenter")?n.lhs.push(e):n.rhs.push(e)})),n}(e),i=o.lhs,u=nn(o.rhs,(function(e){return-e.i})),a=[],d=0,c=0,h=0;i.sort((t=!!n,function(e,n){return e.barycentern.barycenter?1:t?n.i-e.i:e.i-n.i})),h=un(a,u,h),r.A(i,(function(e){h+=e.vs.length,a.push(e.vs),d+=e.barycenter*e.weight,c+=e.weight,h=un(a,u,h)}));var f={vs:s.A(a)};return c&&(f.barycenter=d/c,f.weight=c),f}function un(e,n,t){for(var r;n.length&&(r=R.A(n)).i<=t;)n.pop(),e.push(r.vs),t++;return t}function an(e,n,t,o){var i=e.children(n),u=e.node(n),a=u?u.borderLeft:void 0,c=u?u.borderRight:void 0,h={};a&&(i=ve.A(i,(function(e){return e!==a&&e!==c})));var f=function(e,n){return d.A(n,(function(n){var t=e.inEdges(n);if(t.length){var r=Ve.A(t,(function(n,t){var r=e.edge(t),o=e.node(t.v);return{sum:n.sum+r.weight*o.order,weight:n.weight+r.weight}}),{sum:0,weight:0});return{v:n,barycenter:r.sum/r.weight,weight:r.weight}}return{v:n}}))}(e,i);r.A(f,(function(n){if(e.children(n.v).length){var r=an(e,n.v,t,o);h[n.v]=r,Object.prototype.hasOwnProperty.call(r,"barycenter")&&(i=n,u=r,V.A(i.barycenter)?(i.barycenter=u.barycenter,i.weight=u.weight):(i.barycenter=(i.barycenter*i.weight+u.barycenter*u.weight)/(i.weight+u.weight),i.weight+=u.weight))}var i,u}));var v=function(e,n){var t={};return r.A(e,(function(e,n){var r=t[e.v]={indegree:0,in:[],out:[],vs:[e.v],i:n};V.A(e.barycenter)||(r.barycenter=e.barycenter,r.weight=e.weight)})),r.A(n.edges(),(function(e){var n=t[e.v],r=t[e.w];V.A(n)||V.A(r)||(r.indegree++,n.out.push(t[e.w]))})),function(e){var n=[];function t(e){return function(n){var t,r,o,i;n.merged||(V.A(n.barycenter)||V.A(e.barycenter)||n.barycenter>=e.barycenter)&&(r=n,o=0,i=0,(t=e).weight&&(o+=t.barycenter*t.weight,i+=t.weight),r.weight&&(o+=r.barycenter*r.weight,i+=r.weight),t.vs=r.vs.concat(t.vs),t.barycenter=o/i,t.weight=i,t.i=Math.min(r.i,t.i),r.merged=!0)}}function o(n){return function(t){t.in.push(n),0==--t.indegree&&e.push(t)}}for(;e.length;){var i=e.pop();n.push(i),r.A(i.in.reverse(),t(i)),r.A(i.out,o(i))}return d.A(ve.A(n,(function(e){return!e.merged})),(function(e){return P(e,["vs","i","barycenter","weight"])}))}(ve.A(t,(function(e){return!e.indegree})))}(f,t);!function(e,n){r.A(e,(function(e){e.vs=s.A(e.vs.map((function(e){return n[e]?n[e].vs:e})))}))}(v,h);var l=on(v,o);if(a&&(l.vs=s.A([a,l.vs,c]),e.predecessors(a).length)){var g=e.node(e.predecessors(a)[0]),p=e.node(e.predecessors(c)[0]);Object.prototype.hasOwnProperty.call(l,"barycenter")||(l.barycenter=0,l.weight=0),l.barycenter=(l.barycenter*l.weight+g.order+p.order)/(l.weight+2),l.weight+=2}return l}function sn(e,n,t){return d.A(n,(function(n){return function(e,n,t){var o=function(e){for(var n;e.hasNode(n=u("_root")););return n}(e),i=new g.T({compound:!0}).setGraph({root:o}).setDefaultNodeLabel((function(n){return e.node(n)}));return r.A(e.nodes(),(function(u){var a=e.node(u),s=e.parent(u);(a.rank===n||a.minRank<=n&&n<=a.maxRank)&&(i.setNode(u),i.setParent(u,s||o),r.A(e[t](u),(function(n){var t=n.v===u?n.w:n.v,r=i.edge(t,u),o=V.A(r)?0:r.weight;i.setEdge(t,u,{weight:e.edge(n).weight+o})})),Object.prototype.hasOwnProperty.call(a,"minRank")&&i.setNode(u,{borderLeft:a.borderLeft[n],borderRight:a.borderRight[n]}))})),i}(e,n,t)}))}function dn(e,n){var t=new g.T;r.A(e,(function(e){var o=e.graph().root,i=an(e,o,t,n);r.A(i.vs,(function(n,t){e.node(n).order=t})),function(e,n,t){var o,i={};r.A(t,(function(t){for(var r,u,a=e.parent(t);a;){if((r=e.parent(a))?(u=i[r],i[r]=a):(u=o,o=a),u&&u!==a)return void n.setEdge(u,a);a=r}}))}(e,t,i.vs)}))}function cn(e,n){r.A(n,(function(n){r.A(n,(function(n,t){e.node(n).order=t}))}))}var hn=t(9922);const fn=function(e,n){return e&&(0,D.A)(e,(0,hn.A)(n))};var vn=t(7132),ln=t(9999);const gn=function(e,n){return null==e?e:(0,vn.A)(e,(0,hn.A)(n),ln.A)};function pn(e,n,t){if(n>t){var r=n;n=t,t=r}var o=e[n];o||(e[n]=o={}),o[t]=!0}function An(e,n,t){if(n>t){var r=n;n=t,t=r}return!!e[n]&&Object.prototype.hasOwnProperty.call(e[n],t)}function wn(e){var n,t=H(e),o=E.A(function(e,n){var t={};return Ve.A(n,(function(n,o){var i=0,u=0,a=n.length,s=R.A(o);return r.A(o,(function(n,d){var c=function(e,n){if(e.node(n).dummy)return fe.A(e.predecessors(n),(function(n){return e.node(n).dummy}))}(e,n),h=c?e.node(c).order:a;(c||n===s)&&(r.A(o.slice(u,d+1),(function(n){r.A(e.predecessors(n),(function(r){var o=e.node(r),u=o.order;!(ua)&&pn(t,n,s)}))}))}return Ve.A(n,(function(n,t){var i,u=-1,a=0;return r.A(t,(function(r,s){if("border"===e.node(r).dummy){var d=e.predecessors(r);d.length&&(i=e.node(d[0]).order,o(t,a,s,u,i),a=s,u=i)}o(t,a,t.length,i,n.length)})),t})),t}(e,t)),i={};r.A(["u","d"],(function(u){n="u"===u?t:Ge.A(t).reverse(),r.A(["l","r"],(function(t){"r"===t&&(n=d.A(n,(function(e){return Ge.A(e).reverse()})));var a=("u"===u?e.predecessors:e.successors).bind(e),s=function(e,n,t,o){var i={},u={},a={};return r.A(n,(function(e){r.A(e,(function(e,n){i[e]=e,u[e]=e,a[e]=n}))})),r.A(n,(function(e){var n=-1;r.A(e,(function(e){var r=o(e);if(r.length){r=nn(r,(function(e){return a[e]}));for(var s=(r.length-1)/2,d=Math.floor(s),c=Math.ceil(s);d<=c;++d){var h=r[d];u[e]===e&&n{var n=t(" buildLayoutGraph",(()=>function(e){var n=new g.T({multigraph:!0,compound:!0}),t=jn(e.graph());return n.setGraph(E.A({},yn,Pn(t,mn),P(t,_n))),r.A(e.nodes(),(function(t){var r=jn(e.node(t));n.setNode(t,C.A(Pn(r,En),xn)),n.setParent(t,e.parent(t))})),r.A(e.edges(),(function(t){var r=jn(e.edge(t));n.setEdge(t,E.A({},On,Pn(r,kn),P(r,Nn)))})),n}(e)));t(" runLayout",(()=>function(e,n){n(" makeSpaceForEdgeLabels",(()=>function(e){var n=e.graph();n.ranksep/=2,r.A(e.edges(),(function(t){var r=e.edge(t);r.minlen*=2,"c"!==r.labelpos.toLowerCase()&&("TB"===n.rankdir||"BT"===n.rankdir?r.width+=r.labeloffset:r.height+=r.labeloffset)}))}(e))),n(" removeSelfEdges",(()=>function(e){r.A(e.edges(),(function(n){if(n.v===n.w){var t=e.node(n.v);t.selfEdges||(t.selfEdges=[]),t.selfEdges.push({e:n,label:e.edge(n)}),e.removeEdge(n)}}))}(e))),n(" acyclic",(()=>_(e))),n(" nestingGraph.run",(()=>Be(e))),n(" rank",(()=>De(J(e)))),n(" injectEdgeLabelProxies",(()=>function(e){r.A(e.edges(),(function(n){var t=e.edge(n);if(t.width&&t.height){var r=e.node(n.v),o={rank:(e.node(n.w).rank-r.rank)/2+r.rank,e:n};$(e,"edge-proxy",o,"_ep")}}))}(e))),n(" removeEmptyRanks",(()=>function(e){var n=B.A(d.A(e.nodes(),(function(n){return e.node(n).rank}))),t=[];r.A(e.nodes(),(function(r){var o=e.node(r).rank-n;t[o]||(t[o]=[]),t[o].push(r)}));var o=0,i=e.graph().nodeRankFactor;r.A(t,(function(n,t){V.A(n)&&t%i!=0?--o:o&&r.A(n,(function(n){e.node(n).rank+=o}))}))}(e))),n(" nestingGraph.cleanup",(()=>function(e){var n=e.graph();e.removeNode(n.nestingRoot),delete n.nestingRoot,r.A(e.edges(),(function(n){e.edge(n).nestingEdge&&e.removeEdge(n)}))}(e))),n(" normalizeRanks",(()=>function(e){var n=B.A(d.A(e.nodes(),(function(n){return e.node(n).rank})));r.A(e.nodes(),(function(t){var r=e.node(t);q.A(r,"rank")&&(r.rank-=n)}))}(e))),n(" assignRankMinMax",(()=>function(e){var n=0;r.A(e.nodes(),(function(t){var r=e.node(t);r.borderTop&&(r.minRank=e.node(r.borderTop).rank,r.maxRank=e.node(r.borderBottom).rank,n=M(n,r.maxRank))})),e.graph().maxRank=n}(e))),n(" removeEdgeLabelProxies",(()=>function(e){r.A(e.nodes(),(function(n){var t=e.node(n);"edge-proxy"===t.dummy&&(e.edge(t.e).labelRank=t.rank,e.removeNode(n))}))}(e))),n(" normalize.run",(()=>function(e){e.graph().dummyChains=[],r.A(e.edges(),(function(n){!function(e,n){var t=n.v,r=e.node(t).rank,o=n.w,i=e.node(o).rank,u=n.name,a=e.edge(n),s=a.labelRank;if(i!==r+1){e.removeEdge(n);var d,c,h=void 0;for(c=0,++r;rfunction(e){var n=function(e){var n={},t=0;return r.A(e.children(),(function o(i){var u=t;r.A(e.children(i),o),n[i]={low:u,lim:t++}})),n}(e);r.A(e.graph().dummyChains,(function(t){for(var r=e.node(t),o=r.edgeObj,i=function(e,n,t,r){var o,i,u=[],a=[],s=Math.min(n[t].low,n[r].low),d=Math.max(n[t].lim,n[r].lim);o=t;do{o=e.parent(o),u.push(o)}while(o&&(n[o].low>s||d>n[o].lim));for(i=o,o=r;(o=e.parent(o))!==i;)a.push(o);return{path:u.concat(a.reverse()),lca:i}}(e,n,o.v,o.w),u=i.path,a=i.lca,s=0,d=u[s],c=!0;t!==o.w;){if(r=e.node(t),c){for(;(d=u[s])!==a&&e.node(d).maxRankfunction(e){r.A(e.children(),(function n(t){var o=e.children(t),i=e.node(t);if(o.length&&r.A(o,n),Object.prototype.hasOwnProperty.call(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(var u=i.minRank,a=i.maxRank+1;ufunction(e){var n=Q(e),t=sn(e,l(1,n+1),"inEdges"),o=sn(e,l(n-1,-1,-1),"outEdges"),i=function(e){var n={},t=ve.A(e.nodes(),(function(n){return!e.children(n).length})),o=M(d.A(t,(function(n){return e.node(n).rank}))),i=d.A(l(o+1),(function(){return[]})),u=nn(t,(function(n){return e.node(n).rank}));return r.A(u,(function t(o){if(!q.A(n,o)){n[o]=!0;var u=e.node(o);i[u.rank].push(o),r.A(e.successors(o),t)}})),i}(e);cn(e,i);for(var u,a=Number.POSITIVE_INFINITY,s=0,c=0;c<4;++s,++c){dn(s%2?t:o,s%4>=2);var h=tn(e,i=H(e));hfunction(e){var n=H(e);r.A(n,(function(n){var t=0;r.A(n,(function(n,o){var i=e.node(n);i.order=o+t,r.A(i.selfEdges,(function(n){$(e,"selfedge",{width:n.label.width,height:n.label.height,rank:i.rank,order:o+ ++t,e:n.e,label:n.label},"_se")})),delete i.selfEdges}))}))}(e))),n(" adjustCoordinateSystem",(()=>function(e){var n=e.graph().rankdir.toLowerCase();"lr"!==n&&"rl"!==n||ee(e)}(e))),n(" position",(()=>function(e){(function(e){var n=H(e),t=e.graph().ranksep,o=0;r.A(n,(function(n){var i=M(d.A(n,(function(n){return e.node(n).height})));r.A(n,(function(n){e.node(n).y=o+i/2})),o+=i+t}))})(e=J(e)),fn(wn(e),(function(n,t){e.node(t).x=n}))}(e))),n(" positionSelfEdges",(()=>function(e){r.A(e.nodes(),(function(n){var t=e.node(n);if("selfedge"===t.dummy){var r=e.node(t.e.v),o=r.x+r.width/2,i=r.y,u=t.x-o,a=r.height/2;e.setEdge(t.e,t.label),e.removeNode(n),t.label.points=[{x:o+2*u/3,y:i-a},{x:o+5*u/6,y:i-a},{x:o+u,y:i},{x:o+5*u/6,y:i+a},{x:o+2*u/3,y:i+a}],t.label.x=t.x,t.label.y=t.y}}))}(e))),n(" removeBorderNodes",(()=>function(e){r.A(e.nodes(),(function(n){if(e.children(n).length){var t=e.node(n),r=e.node(t.borderTop),o=e.node(t.borderBottom),i=e.node(R.A(t.borderLeft)),u=e.node(R.A(t.borderRight));t.width=Math.abs(u.x-i.x),t.height=Math.abs(o.y-r.y),t.x=i.x+t.width/2,t.y=r.y+t.height/2}})),r.A(e.nodes(),(function(n){"border"===e.node(n).dummy&&e.removeNode(n)}))}(e))),n(" normalize.undo",(()=>function(e){r.A(e.graph().dummyChains,(function(n){var t,r=e.node(n),o=r.edgeLabel;for(e.setEdge(r.edgeObj,o);r.dummy;)t=e.successors(n)[0],e.removeNode(n),o.points.push({x:r.x,y:r.y}),"edge-label"===r.dummy&&(o.x=r.x,o.y=r.y,o.width=r.width,o.height=r.height),n=t,r=e.node(n)}))}(e))),n(" fixupEdgeLabelCoords",(()=>function(e){r.A(e.edges(),(function(n){var t=e.edge(n);if(Object.prototype.hasOwnProperty.call(t,"x"))switch("l"!==t.labelpos&&"r"!==t.labelpos||(t.width-=t.labeloffset),t.labelpos){case"l":t.x-=t.width/2+t.labeloffset;break;case"r":t.x+=t.width/2+t.labeloffset}}))}(e))),n(" undoCoordinateSystem",(()=>function(e){var n=e.graph().rankdir.toLowerCase();"bt"!==n&&"rl"!==n||function(e){r.A(e.nodes(),(function(n){te(e.node(n))})),r.A(e.edges(),(function(n){var t=e.edge(n);r.A(t.points,te),Object.prototype.hasOwnProperty.call(t,"y")&&te(t)}))}(e),"lr"!==n&&"rl"!==n||(function(e){r.A(e.nodes(),(function(n){re(e.node(n))})),r.A(e.edges(),(function(n){var t=e.edge(n);r.A(t.points,re),Object.prototype.hasOwnProperty.call(t,"x")&&re(t)}))}(e),ee(e))}(e))),n(" translateGraph",(()=>function(e){var n=Number.POSITIVE_INFINITY,t=0,o=Number.POSITIVE_INFINITY,i=0,u=e.graph(),a=u.marginx||0,s=u.marginy||0;function d(e){var r=e.x,u=e.y,a=e.width,s=e.height;n=Math.min(n,r-a/2),t=Math.max(t,r+a/2),o=Math.min(o,u-s/2),i=Math.max(i,u+s/2)}r.A(e.nodes(),(function(n){d(e.node(n))})),r.A(e.edges(),(function(n){var t=e.edge(n);Object.prototype.hasOwnProperty.call(t,"x")&&d(t)})),n-=a,o-=s,r.A(e.nodes(),(function(t){var r=e.node(t);r.x-=n,r.y-=o})),r.A(e.edges(),(function(t){var i=e.edge(t);r.A(i.points,(function(e){e.x-=n,e.y-=o})),Object.prototype.hasOwnProperty.call(i,"x")&&(i.x-=n),Object.prototype.hasOwnProperty.call(i,"y")&&(i.y-=o)})),u.width=t-n+a,u.height=i-o+s}(e))),n(" assignNodeIntersects",(()=>function(e){r.A(e.edges(),(function(n){var t,r,o=e.edge(n),i=e.node(n.v),u=e.node(n.w);o.points?(t=o.points[0],r=o.points[o.points.length-1]):(o.points=[],t=u,r=i),o.points.unshift(Z(i,t)),o.points.push(Z(u,r))}))}(e))),n(" reversePoints",(()=>function(e){r.A(e.edges(),(function(n){var t=e.edge(n);t.reversed&&t.points.reverse()}))}(e))),n(" acyclic.undo",(()=>function(e){r.A(e.edges(),(function(n){var t=e.edge(n);if(t.reversed){e.removeEdge(n);var r=t.forwardName;delete t.reversed,delete t.forwardName,e.setEdge(n.w,n.v,t,r)}}))}(e)))}(n,t))),t(" updateInputGraph",(()=>function(e,n){r.A(e.nodes(),(function(t){var r=e.node(t),o=n.node(t);r&&(r.x=o.x,r.y=o.y,n.children(t).length&&(r.width=o.width,r.height=o.height))})),r.A(e.edges(),(function(t){var r=e.edge(t),o=n.edge(t);r.points=o.points,Object.prototype.hasOwnProperty.call(o,"x")&&(r.x=o.x,r.y=o.y)})),e.graph().width=n.graph().width,e.graph().height=n.graph().height}(e,n)))}))}var mn=["nodesep","edgesep","ranksep","marginx","marginy"],yn={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},_n=["acyclicer","ranker","rankdir","align"],En=["width","height"],xn={width:0,height:0},kn=["minlen","weight","width","height","labeloffset"],On={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},Nn=["labelpos"];function Pn(e,n){return G(P(e,n),Number)}function jn(e){var n={};return r.A(e,(function(e,t){n[t.toLowerCase()]=e})),n}},1471:(e,n,t)=>{t.d(n,{T:()=>w});var r=t(9142),o=t(9610),i=t(5041),u=t(4092),a=t(6401),s=t(8058),d=t(9592),c=t(7671),h=t(4326),f=t(7371),v=t(3533);const l=(0,h.A)((function(e){return(0,f.A)((0,c.A)(e,1,v.A,!0))}));var g=t(2866),p=t(3130),A="\0";class w{constructor(e={}){this._isDirected=!Object.prototype.hasOwnProperty.call(e,"directed")||e.directed,this._isMultigraph=!!Object.prototype.hasOwnProperty.call(e,"multigraph")&&e.multigraph,this._isCompound=!!Object.prototype.hasOwnProperty.call(e,"compound")&&e.compound,this._label=void 0,this._defaultNodeLabelFn=r.A(void 0),this._defaultEdgeLabelFn=r.A(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[A]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(e){return this._label=e,this}graph(){return this._label}setDefaultNodeLabel(e){return o.A(e)||(e=r.A(e)),this._defaultNodeLabelFn=e,this}nodeCount(){return this._nodeCount}nodes(){return i.A(this._nodes)}sources(){var e=this;return u.A(this.nodes(),(function(n){return a.A(e._in[n])}))}sinks(){var e=this;return u.A(this.nodes(),(function(n){return a.A(e._out[n])}))}setNodes(e,n){var t=arguments,r=this;return s.A(e,(function(e){t.length>1?r.setNode(e,n):r.setNode(e)})),this}setNode(e,n){return Object.prototype.hasOwnProperty.call(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=n),this):(this._nodes[e]=arguments.length>1?n:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=A,this._children[e]={},this._children[A][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)}node(e){return this._nodes[e]}hasNode(e){return Object.prototype.hasOwnProperty.call(this._nodes,e)}removeNode(e){if(Object.prototype.hasOwnProperty.call(this._nodes,e)){var n=e=>this.removeEdge(this._edgeObjs[e]);delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],s.A(this.children(e),(e=>{this.setParent(e)})),delete this._children[e]),s.A(i.A(this._in[e]),n),delete this._in[e],delete this._preds[e],s.A(i.A(this._out[e]),n),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,n){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(d.A(n))n=A;else{for(var t=n+="";!d.A(t);t=this.parent(t))if(t===e)throw new Error("Setting "+n+" as parent of "+e+" would create a cycle");this.setNode(n)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=n,this._children[n][e]=!0,this}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}parent(e){if(this._isCompound){var n=this._parent[e];if(n!==A)return n}}children(e){if(d.A(e)&&(e=A),this._isCompound){var n=this._children[e];if(n)return i.A(n)}else{if(e===A)return this.nodes();if(this.hasNode(e))return[]}}predecessors(e){var n=this._preds[e];if(n)return i.A(n)}successors(e){var n=this._sucs[e];if(n)return i.A(n)}neighbors(e){var n=this.predecessors(e);if(n)return l(n,this.successors(e))}isLeaf(e){return 0===(this.isDirected()?this.successors(e):this.neighbors(e)).length}filterNodes(e){var n=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});n.setGraph(this.graph());var t=this;s.A(this._nodes,(function(t,r){e(r)&&n.setNode(r,t)})),s.A(this._edgeObjs,(function(e){n.hasNode(e.v)&&n.hasNode(e.w)&&n.setEdge(e,t.edge(e))}));var r={};function o(e){var i=t.parent(e);return void 0===i||n.hasNode(i)?(r[e]=i,i):i in r?r[i]:o(i)}return this._isCompound&&s.A(n.nodes(),(function(e){n.setParent(e,o(e))})),n}setDefaultEdgeLabel(e){return o.A(e)||(e=r.A(e)),this._defaultEdgeLabelFn=e,this}edgeCount(){return this._edgeCount}edges(){return g.A(this._edgeObjs)}setPath(e,n){var t=this,r=arguments;return p.A(e,(function(e,o){return r.length>1?t.setEdge(e,o,n):t.setEdge(e,o),o})),this}setEdge(){var e,n,t,r,o=!1,i=arguments[0];"object"==typeof i&&null!==i&&"v"in i?(e=i.v,n=i.w,t=i.name,2===arguments.length&&(r=arguments[1],o=!0)):(e=i,n=arguments[1],t=arguments[3],arguments.length>2&&(r=arguments[2],o=!0)),e=""+e,n=""+n,d.A(t)||(t=""+t);var u=y(this._isDirected,e,n,t);if(Object.prototype.hasOwnProperty.call(this._edgeLabels,u))return o&&(this._edgeLabels[u]=r),this;if(!d.A(t)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(n),this._edgeLabels[u]=o?r:this._defaultEdgeLabelFn(e,n,t);var a=function(e,n,t,r){var o=""+n,i=""+t;if(!e&&o>i){var u=o;o=i,i=u}var a={v:o,w:i};return r&&(a.name=r),a}(this._isDirected,e,n,t);return e=a.v,n=a.w,Object.freeze(a),this._edgeObjs[u]=a,b(this._preds[n],e),b(this._sucs[e],n),this._in[n][u]=a,this._out[e][u]=a,this._edgeCount++,this}edge(e,n,t){var r=1===arguments.length?_(this._isDirected,arguments[0]):y(this._isDirected,e,n,t);return this._edgeLabels[r]}hasEdge(e,n,t){var r=1===arguments.length?_(this._isDirected,arguments[0]):y(this._isDirected,e,n,t);return Object.prototype.hasOwnProperty.call(this._edgeLabels,r)}removeEdge(e,n,t){var r=1===arguments.length?_(this._isDirected,arguments[0]):y(this._isDirected,e,n,t),o=this._edgeObjs[r];return o&&(e=o.v,n=o.w,delete this._edgeLabels[r],delete this._edgeObjs[r],m(this._preds[n],e),m(this._sucs[e],n),delete this._in[n][r],delete this._out[e][r],this._edgeCount--),this}inEdges(e,n){var t=this._in[e];if(t){var r=g.A(t);return n?u.A(r,(function(e){return e.v===n})):r}}outEdges(e,n){var t=this._out[e];if(t){var r=g.A(t);return n?u.A(r,(function(e){return e.w===n})):r}}nodeEdges(e,n){var t=this.inEdges(e,n);if(t)return t.concat(this.outEdges(e,n))}}function b(e,n){e[n]?e[n]++:e[n]=1}function m(e,n){--e[n]||delete e[n]}function y(e,n,t,r){var o=""+n,i=""+t;if(!e&&o>i){var u=o;o=i,i=u}return o+""+i+""+(d.A(r)?"\0":r)}function _(e,n){return y(e,n.v,n.w,n.name)}w.prototype._nodeCount=0,w.prototype._edgeCount=0},697:(e,n,t)=>{t.d(n,{T:()=>r.T});var r=t(1471)},2559:(e,n,t)=>{t.d(n,{A:()=>o});var r=t(9501);const o=function(e,n,t){for(var o=-1,i=e.length;++o{t.d(n,{A:()=>r});const r=function(e,n){return e{t.d(n,{A:()=>i});var r=t(4288),o=t(8446);const i=function(e,n){var t=-1,i=(0,o.A)(e)?Array(e.length):[];return(0,r.A)(e,(function(e,r,o){i[++t]=n(e,r,o)})),i}},5507:(e,n,t)=>{t.d(n,{A:()=>c});var r=t(6318),o=t(2851),i=t(1521),u=t(5353),a=t(3149),s=t(901);const d=function(e,n,t,r){if(!(0,a.A)(e))return e;for(var d=-1,c=(n=(0,i.A)(n,e)).length,h=c-1,f=e;null!=f&&++d{t.d(n,{A:()=>d});var r=t(4326),o=t(6984),i=t(6832),u=t(9999),a=Object.prototype,s=a.hasOwnProperty;const d=(0,r.A)((function(e,n){e=Object(e);var t=-1,r=n.length,d=r>2?n[2]:void 0;for(d&&(0,i.A)(n[0],n[1],d)&&(r=1);++t{t.d(n,{A:()=>d});var r=t(6307),o=t(8446),i=t(5041);var u=t(5707),a=t(8593),s=Math.max;const d=(c=function(e,n,t){var o=null==e?0:e.length;if(!o)return-1;var i=null==t?0:(0,a.A)(t);return i<0&&(i=s(o+i,0)),(0,u.A)(e,(0,r.A)(n,3),i)},function(e,n,t){var u=Object(e);if(!(0,o.A)(e)){var a=(0,r.A)(n,3);e=(0,i.A)(e),n=function(e){return a(u[e],e,u)}}var s=c(e,n,t);return s>-1?u[a?e[s]:s]:void 0});var c},4098:(e,n,t)=>{t.d(n,{A:()=>o});var r=t(7671);const o=function(e){return null!=e&&e.length?(0,r.A)(e,1):[]}},9622:(e,n,t)=>{t.d(n,{A:()=>u});var r=Object.prototype.hasOwnProperty;const o=function(e,n){return null!=e&&r.call(e,n)};var i=t(5054);const u=function(e,n){return null!=e&&(0,i.A)(e,n,o)}},9703:(e,n,t)=>{t.d(n,{A:()=>u});var r=t(2383),o=t(2049),i=t(3098);const u=function(e){return"string"==typeof e||!(0,o.A)(e)&&(0,i.A)(e)&&"[object String]"==(0,r.A)(e)}},6666:(e,n,t)=>{t.d(n,{A:()=>r});const r=function(e){var n=null==e?0:e.length;return n?e[n-1]:void 0}},4722:(e,n,t)=>{t.d(n,{A:()=>a});var r=t(5572),o=t(6307),i=t(2568),u=t(2049);const a=function(e,n){return((0,u.A)(e)?r.A:i.A)(e,(0,o.A)(n,3))}},6452:(e,n,t)=>{t.d(n,{A:()=>u});var r=t(2559),o=t(6224),i=t(9008);const u=function(e){return e&&e.length?(0,r.A)(e,i.A,o.A):void 0}},3631:(e,n,t)=>{t.d(n,{A:()=>v});var r=/\s/;var o=/^\s+/;const i=function(e){return e?e.slice(0,function(e){for(var n=e.length;n--&&r.test(e.charAt(n)););return n}(e)+1).replace(o,""):e};var u=t(3149),a=t(9501),s=/^[-+]0x[0-9a-f]+$/i,d=/^0b[01]+$/i,c=/^0o[0-7]+$/i,h=parseInt;var f=1/0;const v=function(e){return e?(e=function(e){if("number"==typeof e)return e;if((0,a.A)(e))return NaN;if((0,u.A)(e)){var n="function"==typeof e.valueOf?e.valueOf():e;e=(0,u.A)(n)?n+"":n}if("string"!=typeof e)return 0===e?e:+e;e=i(e);var t=d.test(e);return t||c.test(e)?h(e.slice(2),t?2:8):s.test(e)?NaN:+e}(e))===f||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}},8593:(e,n,t)=>{t.d(n,{A:()=>o});var r=t(3631);const o=function(e){var n=(0,r.A)(e),t=n%1;return n==n?t?n-t:n:0}}}]); \ No newline at end of file diff --git a/docs/hugo/public/js/632-7a25d3c6.chunk.min.js b/docs/hugo/public/js/632-7a25d3c6.chunk.min.js new file mode 100644 index 000000000..353ef0f06 --- /dev/null +++ b/docs/hugo/public/js/632-7a25d3c6.chunk.min.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgeekdoc=self.webpackChunkgeekdoc||[]).push([[632],{2251:(t,e,i)=>{i.d(e,{diagram:()=>v});var a=i(9502),n=i(4852),s=function(){var t=(0,a.K2)((function(t,e,i,a){for(i=i||{},a=t.length;a--;i[t[a]]=e);return i}),"o"),e=[1,3],i=[1,4],n=[1,5],s=[1,6],r=[1,7],o=[1,4,5,10,12,13,14,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],l=[1,4,5,10,12,13,14,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],h=[55,56,57],c=[2,36],d=[1,37],u=[1,36],x=[1,38],g=[1,35],f=[1,43],p=[1,41],y=[1,14],T=[1,23],m=[1,18],q=[1,19],A=[1,20],_=[1,21],b=[1,22],S=[1,24],k=[1,25],F=[1,26],P=[1,27],C=[1,28],L=[1,29],v=[1,32],I=[1,33],E=[1,34],D=[1,39],z=[1,40],w=[1,42],K=[1,44],U=[1,62],N=[1,61],R=[4,5,8,10,12,13,14,18,44,47,49,55,56,57,63,64,65,66,67],B=[1,65],W=[1,66],$=[1,67],Q=[1,68],O=[1,69],X=[1,70],H=[1,71],M=[1,72],Y=[1,73],j=[1,74],G=[1,75],V=[1,76],Z=[4,5,6,7,8,9,10,11,12,13,14,15,18],J=[1,90],tt=[1,91],et=[1,92],it=[1,99],at=[1,93],nt=[1,96],st=[1,94],rt=[1,95],ot=[1,97],lt=[1,98],ht=[1,102],ct=[10,55,56,57],dt=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],ut={trace:(0,a.K2)((function(){}),"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:(0,a.K2)((function(t,e,i,a,n,s,r){var o=s.length-1;switch(n){case 23:case 68:this.$=s[o];break;case 24:case 69:this.$=s[o-1]+""+s[o];break;case 26:this.$=s[o-1]+s[o];break;case 27:this.$=[s[o].trim()];break;case 28:s[o-2].push(s[o].trim()),this.$=s[o-2];break;case 29:this.$=s[o-4],a.addClass(s[o-2],s[o]);break;case 37:this.$=[];break;case 42:this.$=s[o].trim(),a.setDiagramTitle(this.$);break;case 43:this.$=s[o].trim(),a.setAccTitle(this.$);break;case 44:case 45:this.$=s[o].trim(),a.setAccDescription(this.$);break;case 46:a.addSection(s[o].substr(8)),this.$=s[o].substr(8);break;case 47:a.addPoint(s[o-3],"",s[o-1],s[o],[]);break;case 48:a.addPoint(s[o-4],s[o-3],s[o-1],s[o],[]);break;case 49:a.addPoint(s[o-4],"",s[o-2],s[o-1],s[o]);break;case 50:a.addPoint(s[o-5],s[o-4],s[o-2],s[o-1],s[o]);break;case 51:a.setXAxisLeftText(s[o-2]),a.setXAxisRightText(s[o]);break;case 52:s[o-1].text+=" ⟶ ",a.setXAxisLeftText(s[o-1]);break;case 53:a.setXAxisLeftText(s[o]);break;case 54:a.setYAxisBottomText(s[o-2]),a.setYAxisTopText(s[o]);break;case 55:s[o-1].text+=" ⟶ ",a.setYAxisBottomText(s[o-1]);break;case 56:a.setYAxisBottomText(s[o]);break;case 57:a.setQuadrant1Text(s[o]);break;case 58:a.setQuadrant2Text(s[o]);break;case 59:a.setQuadrant3Text(s[o]);break;case 60:a.setQuadrant4Text(s[o]);break;case 64:case 66:this.$={text:s[o],type:"text"};break;case 65:this.$={text:s[o-1].text+""+s[o],type:s[o-1].type};break;case 67:this.$={text:s[o],type:"markdown"}}}),"anonymous"),table:[{18:e,26:1,27:2,28:i,55:n,56:s,57:r},{1:[3]},{18:e,26:8,27:2,28:i,55:n,56:s,57:r},{18:e,26:9,27:2,28:i,55:n,56:s,57:r},t(o,[2,33],{29:10}),t(l,[2,61]),t(l,[2,62]),t(l,[2,63]),{1:[2,30]},{1:[2,31]},t(h,c,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:d,5:u,10:x,12:g,13:f,14:p,18:y,25:T,35:m,37:q,39:A,41:_,42:b,48:S,50:k,51:F,52:P,53:C,54:L,60:v,61:I,63:E,64:D,65:z,66:w,67:K}),t(o,[2,34]),{27:45,55:n,56:s,57:r},t(h,[2,37]),t(h,c,{24:13,32:15,33:16,34:17,43:30,58:31,31:46,4:d,5:u,10:x,12:g,13:f,14:p,18:y,25:T,35:m,37:q,39:A,41:_,42:b,48:S,50:k,51:F,52:P,53:C,54:L,60:v,61:I,63:E,64:D,65:z,66:w,67:K}),t(h,[2,39]),t(h,[2,40]),t(h,[2,41]),{36:[1,47]},{38:[1,48]},{40:[1,49]},t(h,[2,45]),t(h,[2,46]),{18:[1,50]},{4:d,5:u,10:x,12:g,13:f,14:p,43:51,58:31,60:v,61:I,63:E,64:D,65:z,66:w,67:K},{4:d,5:u,10:x,12:g,13:f,14:p,43:52,58:31,60:v,61:I,63:E,64:D,65:z,66:w,67:K},{4:d,5:u,10:x,12:g,13:f,14:p,43:53,58:31,60:v,61:I,63:E,64:D,65:z,66:w,67:K},{4:d,5:u,10:x,12:g,13:f,14:p,43:54,58:31,60:v,61:I,63:E,64:D,65:z,66:w,67:K},{4:d,5:u,10:x,12:g,13:f,14:p,43:55,58:31,60:v,61:I,63:E,64:D,65:z,66:w,67:K},{4:d,5:u,10:x,12:g,13:f,14:p,43:56,58:31,60:v,61:I,63:E,64:D,65:z,66:w,67:K},{4:d,5:u,8:U,10:x,12:g,13:f,14:p,18:N,44:[1,57],47:[1,58],58:60,59:59,63:E,64:D,65:z,66:w,67:K},t(R,[2,64]),t(R,[2,66]),t(R,[2,67]),t(R,[2,70]),t(R,[2,71]),t(R,[2,72]),t(R,[2,73]),t(R,[2,74]),t(R,[2,75]),t(R,[2,76]),t(R,[2,77]),t(R,[2,78]),t(R,[2,79]),t(R,[2,80]),t(o,[2,35]),t(h,[2,38]),t(h,[2,42]),t(h,[2,43]),t(h,[2,44]),{3:64,4:B,5:W,6:$,7:Q,8:O,9:X,10:H,11:M,12:Y,13:j,14:G,15:V,21:63},t(h,[2,53],{59:59,58:60,4:d,5:u,8:U,10:x,12:g,13:f,14:p,18:N,49:[1,77],63:E,64:D,65:z,66:w,67:K}),t(h,[2,56],{59:59,58:60,4:d,5:u,8:U,10:x,12:g,13:f,14:p,18:N,49:[1,78],63:E,64:D,65:z,66:w,67:K}),t(h,[2,57],{59:59,58:60,4:d,5:u,8:U,10:x,12:g,13:f,14:p,18:N,63:E,64:D,65:z,66:w,67:K}),t(h,[2,58],{59:59,58:60,4:d,5:u,8:U,10:x,12:g,13:f,14:p,18:N,63:E,64:D,65:z,66:w,67:K}),t(h,[2,59],{59:59,58:60,4:d,5:u,8:U,10:x,12:g,13:f,14:p,18:N,63:E,64:D,65:z,66:w,67:K}),t(h,[2,60],{59:59,58:60,4:d,5:u,8:U,10:x,12:g,13:f,14:p,18:N,63:E,64:D,65:z,66:w,67:K}),{45:[1,79]},{44:[1,80]},t(R,[2,65]),t(R,[2,81]),t(R,[2,82]),t(R,[2,83]),{3:82,4:B,5:W,6:$,7:Q,8:O,9:X,10:H,11:M,12:Y,13:j,14:G,15:V,18:[1,81]},t(Z,[2,23]),t(Z,[2,1]),t(Z,[2,2]),t(Z,[2,3]),t(Z,[2,4]),t(Z,[2,5]),t(Z,[2,6]),t(Z,[2,7]),t(Z,[2,8]),t(Z,[2,9]),t(Z,[2,10]),t(Z,[2,11]),t(Z,[2,12]),t(h,[2,52],{58:31,43:83,4:d,5:u,10:x,12:g,13:f,14:p,60:v,61:I,63:E,64:D,65:z,66:w,67:K}),t(h,[2,55],{58:31,43:84,4:d,5:u,10:x,12:g,13:f,14:p,60:v,61:I,63:E,64:D,65:z,66:w,67:K}),{46:[1,85]},{45:[1,86]},{4:J,5:tt,6:et,8:it,11:at,13:nt,16:89,17:st,18:rt,19:ot,20:lt,22:88,23:87},t(Z,[2,24]),t(h,[2,51],{59:59,58:60,4:d,5:u,8:U,10:x,12:g,13:f,14:p,18:N,63:E,64:D,65:z,66:w,67:K}),t(h,[2,54],{59:59,58:60,4:d,5:u,8:U,10:x,12:g,13:f,14:p,18:N,63:E,64:D,65:z,66:w,67:K}),t(h,[2,47],{22:88,16:89,23:100,4:J,5:tt,6:et,8:it,11:at,13:nt,17:st,18:rt,19:ot,20:lt}),{46:[1,101]},t(h,[2,29],{10:ht}),t(ct,[2,27],{16:103,4:J,5:tt,6:et,8:it,11:at,13:nt,17:st,18:rt,19:ot,20:lt}),t(dt,[2,25]),t(dt,[2,13]),t(dt,[2,14]),t(dt,[2,15]),t(dt,[2,16]),t(dt,[2,17]),t(dt,[2,18]),t(dt,[2,19]),t(dt,[2,20]),t(dt,[2,21]),t(dt,[2,22]),t(h,[2,49],{10:ht}),t(h,[2,48],{22:88,16:89,23:104,4:J,5:tt,6:et,8:it,11:at,13:nt,17:st,18:rt,19:ot,20:lt}),{4:J,5:tt,6:et,8:it,11:at,13:nt,16:89,17:st,18:rt,19:ot,20:lt,22:105},t(dt,[2,26]),t(h,[2,50],{10:ht}),t(ct,[2,28],{16:103,4:J,5:tt,6:et,8:it,11:at,13:nt,17:st,18:rt,19:ot,20:lt})],defaultActions:{8:[2,30],9:[2,31]},parseError:(0,a.K2)((function(t,e){if(!e.recoverable){var i=new Error(t);throw i.hash=e,i}this.trace(t)}),"parseError"),parse:(0,a.K2)((function(t){var e=this,i=[0],n=[],s=[null],r=[],o=this.table,l="",h=0,c=0,d=0,u=r.slice.call(arguments,1),x=Object.create(this.lexer),g={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(g.yy[f]=this.yy[f]);x.setInput(t,g.yy),g.yy.lexer=x,g.yy.parser=this,void 0===x.yylloc&&(x.yylloc={});var p=x.yylloc;r.push(p);var y=x.options&&x.options.ranges;function T(){var t;return"number"!=typeof(t=n.pop()||x.lex()||1)&&(t instanceof Array&&(t=(n=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,a.K2)((function(t){i.length=i.length-2*t,s.length=s.length-t,r.length=r.length-t}),"popStack"),(0,a.K2)(T,"lex");for(var m,q,A,_,b,S,k,F,P,C={};;){if(A=i[i.length-1],this.defaultActions[A]?_=this.defaultActions[A]:(null==m&&(m=T()),_=o[A]&&o[A][m]),void 0===_||!_.length||!_[0]){var L;for(S in P=[],o[A])this.terminals_[S]&&S>2&&P.push("'"+this.terminals_[S]+"'");L=x.showPosition?"Parse error on line "+(h+1)+":\n"+x.showPosition()+"\nExpecting "+P.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(h+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(L,{text:x.match,token:this.terminals_[m]||m,line:x.yylineno,loc:p,expected:P})}if(_[0]instanceof Array&&_.length>1)throw new Error("Parse Error: multiple actions possible at state: "+A+", token: "+m);switch(_[0]){case 1:i.push(m),s.push(x.yytext),r.push(x.yylloc),i.push(_[1]),m=null,q?(m=q,q=null):(c=x.yyleng,l=x.yytext,h=x.yylineno,p=x.yylloc,d>0&&d--);break;case 2:if(k=this.productions_[_[1]][1],C.$=s[s.length-k],C._$={first_line:r[r.length-(k||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(k||1)].first_column,last_column:r[r.length-1].last_column},y&&(C._$.range=[r[r.length-(k||1)].range[0],r[r.length-1].range[1]]),void 0!==(b=this.performAction.apply(C,[l,c,h,g.yy,_[1],s,r].concat(u))))return b;k&&(i=i.slice(0,-1*k*2),s=s.slice(0,-1*k),r=r.slice(0,-1*k)),i.push(this.productions_[_[1]][0]),s.push(C.$),r.push(C._$),F=o[i[i.length-2]][i[i.length-1]],i.push(F);break;case 3:return!0}}return!0}),"parse")},xt=function(){return{EOF:1,parseError:(0,a.K2)((function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)}),"parseError"),setInput:(0,a.K2)((function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this}),"setInput"),input:(0,a.K2)((function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t}),"input"),unput:(0,a.K2)((function(t){var e=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var a=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var n=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===a.length?this.yylloc.first_column:0)+a[a.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this}),"unput"),more:(0,a.K2)((function(){return this._more=!0,this}),"more"),reject:(0,a.K2)((function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"reject"),less:(0,a.K2)((function(t){this.unput(this.match.slice(t))}),"less"),pastInput:(0,a.K2)((function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")}),"pastInput"),upcomingInput:(0,a.K2)((function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")}),"upcomingInput"),showPosition:(0,a.K2)((function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"}),"showPosition"),test_match:(0,a.K2)((function(t,e){var i,a,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(n.yylloc.range=this.yylloc.range.slice(0))),(a=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=a.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:a?a[a.length-1].length-a[a.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack){for(var s in n)this[s]=n[s];return!1}return!1}),"test_match"),next:(0,a.K2)((function(){if(this.done)return this.EOF;var t,e,i,a;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var n=this._currentRules(),s=0;se[0].length)){if(e=i,a=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,n[s])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,n[a]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"next"),lex:(0,a.K2)((function(){return this.next()||this.lex()}),"lex"),begin:(0,a.K2)((function(t){this.conditionStack.push(t)}),"begin"),popState:(0,a.K2)((function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]}),"popState"),_currentRules:(0,a.K2)((function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules}),"_currentRules"),topState:(0,a.K2)((function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"}),"topState"),pushState:(0,a.K2)((function(t){this.begin(t)}),"pushState"),stateStackSize:(0,a.K2)((function(){return this.conditionStack.length}),"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,a.K2)((function(t,e,i,a){switch(i){case 0:case 1:case 3:break;case 2:return 55;case 4:return this.begin("title"),35;case 5:return this.popState(),"title_value";case 6:return this.begin("acc_title"),37;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),39;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:case 23:case 25:case 31:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 48;case 14:return 50;case 15:return 49;case 16:return 51;case 17:return 52;case 18:return 53;case 19:return 54;case 20:return 25;case 21:this.begin("md_string");break;case 22:return"MD_STR";case 24:this.begin("string");break;case 26:return"STR";case 27:this.begin("class_name");break;case 28:return this.popState(),47;case 29:return this.begin("point_start"),44;case 30:return this.begin("point_x"),45;case 32:this.popState(),this.begin("point_y");break;case 33:return this.popState(),46;case 34:return 28;case 35:return 4;case 36:return 11;case 37:return 64;case 38:return 10;case 39:case 40:return 65;case 41:return 14;case 42:return 13;case 43:return 67;case 44:return 66;case 45:return 12;case 46:return 8;case 47:return 5;case 48:return 18;case 49:return 56;case 50:return 63;case 51:return 57}}),"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:classDef\b)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?::::)/i,/^(?:^\w+)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{class_name:{rules:[28],inclusive:!1},point_y:{rules:[33],inclusive:!1},point_x:{rules:[32],inclusive:!1},point_start:{rules:[30,31],inclusive:!1},acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},title:{rules:[5],inclusive:!1},md_string:{rules:[22,23],inclusive:!1},string:{rules:[25,26],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,21,24,27,29,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],inclusive:!0}}}}();function gt(){this.yy={}}return ut.lexer=xt,(0,a.K2)(gt,"Parser"),gt.prototype=ut,ut.Parser=gt,new gt}();s.parser=s;var r=s,o=(0,a.P$)(),l=class{constructor(){this.classes=new Map,this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}static{(0,a.K2)(this,"QuadrantBuilder")}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:a.UI.quadrantChart?.chartWidth||500,chartWidth:a.UI.quadrantChart?.chartHeight||500,titlePadding:a.UI.quadrantChart?.titlePadding||10,titleFontSize:a.UI.quadrantChart?.titleFontSize||20,quadrantPadding:a.UI.quadrantChart?.quadrantPadding||5,xAxisLabelPadding:a.UI.quadrantChart?.xAxisLabelPadding||5,yAxisLabelPadding:a.UI.quadrantChart?.yAxisLabelPadding||5,xAxisLabelFontSize:a.UI.quadrantChart?.xAxisLabelFontSize||16,yAxisLabelFontSize:a.UI.quadrantChart?.yAxisLabelFontSize||16,quadrantLabelFontSize:a.UI.quadrantChart?.quadrantLabelFontSize||16,quadrantTextTopPadding:a.UI.quadrantChart?.quadrantTextTopPadding||5,pointTextPadding:a.UI.quadrantChart?.pointTextPadding||5,pointLabelFontSize:a.UI.quadrantChart?.pointLabelFontSize||12,pointRadius:a.UI.quadrantChart?.pointRadius||5,xAxisPosition:a.UI.quadrantChart?.xAxisPosition||"top",yAxisPosition:a.UI.quadrantChart?.yAxisPosition||"left",quadrantInternalBorderStrokeWidth:a.UI.quadrantChart?.quadrantInternalBorderStrokeWidth||1,quadrantExternalBorderStrokeWidth:a.UI.quadrantChart?.quadrantExternalBorderStrokeWidth||2}}getDefaultThemeConfig(){return{quadrant1Fill:o.quadrant1Fill,quadrant2Fill:o.quadrant2Fill,quadrant3Fill:o.quadrant3Fill,quadrant4Fill:o.quadrant4Fill,quadrant1TextFill:o.quadrant1TextFill,quadrant2TextFill:o.quadrant2TextFill,quadrant3TextFill:o.quadrant3TextFill,quadrant4TextFill:o.quadrant4TextFill,quadrantPointFill:o.quadrantPointFill,quadrantPointTextFill:o.quadrantPointTextFill,quadrantXAxisTextFill:o.quadrantXAxisTextFill,quadrantYAxisTextFill:o.quadrantYAxisTextFill,quadrantTitleFill:o.quadrantTitleFill,quadrantInternalBorderStrokeFill:o.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:o.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),this.classes=new Map,a.Rm.info("clear called")}setData(t){this.data={...this.data,...t}}addPoints(t){this.data.points=[...t,...this.data.points]}addClass(t,e){this.classes.set(t,e)}setConfig(t){a.Rm.trace("setConfig called with: ",t),this.config={...this.config,...t}}setThemeConfig(t){a.Rm.trace("setThemeConfig called with: ",t),this.themeConfig={...this.themeConfig,...t}}calculateSpace(t,e,i,a){const n=2*this.config.xAxisLabelPadding+this.config.xAxisLabelFontSize,s={top:"top"===t&&e?n:0,bottom:"bottom"===t&&e?n:0},r=2*this.config.yAxisLabelPadding+this.config.yAxisLabelFontSize,o={left:"left"===this.config.yAxisPosition&&i?r:0,right:"right"===this.config.yAxisPosition&&i?r:0},l=this.config.titleFontSize+2*this.config.titlePadding,h={top:a?l:0},c=this.config.quadrantPadding+o.left,d=this.config.quadrantPadding+s.top+h.top,u=this.config.chartWidth-2*this.config.quadrantPadding-o.left-o.right,x=this.config.chartHeight-2*this.config.quadrantPadding-s.top-s.bottom-h.top;return{xAxisSpace:s,yAxisSpace:o,titleSpace:h,quadrantSpace:{quadrantLeft:c,quadrantTop:d,quadrantWidth:u,quadrantHalfWidth:u/2,quadrantHeight:x,quadrantHalfHeight:x/2}}}getAxisLabels(t,e,i,a){const{quadrantSpace:n,titleSpace:s}=a,{quadrantHalfHeight:r,quadrantHeight:o,quadrantLeft:l,quadrantHalfWidth:h,quadrantTop:c,quadrantWidth:d}=n,u=Boolean(this.data.xAxisRightText),x=Boolean(this.data.yAxisTopText),g=[];return this.data.xAxisLeftText&&e&&g.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:l+(u?h/2:0),y:"top"===t?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+c+o+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:u?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&e&&g.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:l+h+(u?h/2:0),y:"top"===t?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+c+o+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:u?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&i&&g.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:"left"===this.config.yAxisPosition?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+l+d+this.config.quadrantPadding,y:c+o-(x?r/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:x?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&i&&g.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:"left"===this.config.yAxisPosition?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+l+d+this.config.quadrantPadding,y:c+r-(x?r/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:x?"center":"left",horizontalPos:"top",rotation:-90}),g}getQuadrants(t){const{quadrantSpace:e}=t,{quadrantHalfHeight:i,quadrantLeft:a,quadrantHalfWidth:n,quadrantTop:s}=e,r=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:a+n,y:s,width:n,height:i,fill:this.themeConfig.quadrant1Fill},{text:{text:this.data.quadrant2Text,fill:this.themeConfig.quadrant2TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:a,y:s,width:n,height:i,fill:this.themeConfig.quadrant2Fill},{text:{text:this.data.quadrant3Text,fill:this.themeConfig.quadrant3TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:a,y:s+i,width:n,height:i,fill:this.themeConfig.quadrant3Fill},{text:{text:this.data.quadrant4Text,fill:this.themeConfig.quadrant4TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:a+n,y:s+i,width:n,height:i,fill:this.themeConfig.quadrant4Fill}];for(const t of r)t.text.x=t.x+t.width/2,0===this.data.points.length?(t.text.y=t.y+t.height/2,t.text.horizontalPos="middle"):(t.text.y=t.y+this.config.quadrantTextTopPadding,t.text.horizontalPos="top");return r}getQuadrantPoints(t){const{quadrantSpace:e}=t,{quadrantHeight:i,quadrantLeft:a,quadrantTop:s,quadrantWidth:r}=e,o=(0,n.m4Y)().domain([0,1]).range([a,r+a]),l=(0,n.m4Y)().domain([0,1]).range([i+s,s]);return this.data.points.map((t=>{const e=this.classes.get(t.className);return e&&(t={...e,...t}),{x:o(t.x),y:l(t.y),fill:t.color??this.themeConfig.quadrantPointFill,radius:t.radius??this.config.pointRadius,text:{text:t.text,fill:this.themeConfig.quadrantPointTextFill,x:o(t.x),y:l(t.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0},strokeColor:t.strokeColor??this.themeConfig.quadrantPointFill,strokeWidth:t.strokeWidth??"0px"}}))}getBorders(t){const e=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:i}=t,{quadrantHalfHeight:a,quadrantHeight:n,quadrantLeft:s,quadrantHalfWidth:r,quadrantTop:o,quadrantWidth:l}=i;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-e,y1:o,x2:s+l+e,y2:o},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s+l,y1:o+e,x2:s+l,y2:o+n-e},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-e,y1:o+n,x2:s+l+e,y2:o+n},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s,y1:o+e,x2:s,y2:o+n-e},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+r,y1:o+e,x2:s+r,y2:o+n-e},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+e,y1:o+a,x2:s+l-e,y2:o+a}]}getTitle(t){if(t)return{text:this.data.titleText,fill:this.themeConfig.quadrantTitleFill,fontSize:this.config.titleFontSize,horizontalPos:"top",verticalPos:"center",rotation:0,y:this.config.titlePadding,x:this.config.chartWidth/2}}build(){const t=this.config.showXAxis&&!(!this.data.xAxisLeftText&&!this.data.xAxisRightText),e=this.config.showYAxis&&!(!this.data.yAxisTopText&&!this.data.yAxisBottomText),i=this.config.showTitle&&!!this.data.titleText,a=this.data.points.length>0?"bottom":this.config.xAxisPosition,n=this.calculateSpace(a,t,e,i);return{points:this.getQuadrantPoints(n),quadrants:this.getQuadrants(n),axisLabels:this.getAxisLabels(a,t,e,n),borderLines:this.getBorders(n),title:this.getTitle(i)}}},h=class extends Error{static{(0,a.K2)(this,"InvalidStyleError")}constructor(t,e,i){super(`value for ${t} ${e} is invalid, please use a valid ${i}`),this.name="InvalidStyleError"}};function c(t){return!/^#?([\dA-Fa-f]{6}|[\dA-Fa-f]{3})$/.test(t)}function d(t){return!/^\d+$/.test(t)}function u(t){return!/^\d+px$/.test(t)}(0,a.K2)(c,"validateHexCode"),(0,a.K2)(d,"validateNumber"),(0,a.K2)(u,"validateSizeInPixels");var x=(0,a.D7)();function g(t){return(0,a.jZ)(t.trim(),x)}(0,a.K2)(g,"textSanitizer");var f=new l;function p(t){f.setData({quadrant1Text:g(t.text)})}function y(t){f.setData({quadrant2Text:g(t.text)})}function T(t){f.setData({quadrant3Text:g(t.text)})}function m(t){f.setData({quadrant4Text:g(t.text)})}function q(t){f.setData({xAxisLeftText:g(t.text)})}function A(t){f.setData({xAxisRightText:g(t.text)})}function _(t){f.setData({yAxisTopText:g(t.text)})}function b(t){f.setData({yAxisBottomText:g(t.text)})}function S(t){const e={};for(const i of t){const[t,a]=i.trim().split(/\s*:\s*/);if("radius"===t){if(d(a))throw new h(t,a,"number");e.radius=parseInt(a)}else if("color"===t){if(c(a))throw new h(t,a,"hex code");e.color=a}else if("stroke-color"===t){if(c(a))throw new h(t,a,"hex code");e.strokeColor=a}else{if("stroke-width"!==t)throw new Error(`style named ${t} is not supported.`);if(u(a))throw new h(t,a,"number of pixels (eg. 10px)");e.strokeWidth=a}}return e}function k(t,e,i,a,n){const s=S(n);f.addPoints([{x:i,y:a,text:g(t.text),className:e,...s}])}function F(t,e){f.addClass(t,S(e))}function P(t){f.setConfig({chartWidth:t})}function C(t){f.setConfig({chartHeight:t})}function L(){const t=(0,a.D7)(),{themeVariables:e,quadrantChart:i}=t;return i&&f.setConfig(i),f.setThemeConfig({quadrant1Fill:e.quadrant1Fill,quadrant2Fill:e.quadrant2Fill,quadrant3Fill:e.quadrant3Fill,quadrant4Fill:e.quadrant4Fill,quadrant1TextFill:e.quadrant1TextFill,quadrant2TextFill:e.quadrant2TextFill,quadrant3TextFill:e.quadrant3TextFill,quadrant4TextFill:e.quadrant4TextFill,quadrantPointFill:e.quadrantPointFill,quadrantPointTextFill:e.quadrantPointTextFill,quadrantXAxisTextFill:e.quadrantXAxisTextFill,quadrantYAxisTextFill:e.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:e.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:e.quadrantInternalBorderStrokeFill,quadrantTitleFill:e.quadrantTitleFill}),f.setData({titleText:(0,a.ab)()}),f.build()}(0,a.K2)(p,"setQuadrant1Text"),(0,a.K2)(y,"setQuadrant2Text"),(0,a.K2)(T,"setQuadrant3Text"),(0,a.K2)(m,"setQuadrant4Text"),(0,a.K2)(q,"setXAxisLeftText"),(0,a.K2)(A,"setXAxisRightText"),(0,a.K2)(_,"setYAxisTopText"),(0,a.K2)(b,"setYAxisBottomText"),(0,a.K2)(S,"parseStyles"),(0,a.K2)(k,"addPoint"),(0,a.K2)(F,"addClass"),(0,a.K2)(P,"setWidth"),(0,a.K2)(C,"setHeight"),(0,a.K2)(L,"getQuadrantData");var v={parser:r,db:{setWidth:P,setHeight:C,setQuadrant1Text:p,setQuadrant2Text:y,setQuadrant3Text:T,setQuadrant4Text:m,setXAxisLeftText:q,setXAxisRightText:A,setYAxisTopText:_,setYAxisBottomText:b,parseStyles:S,addPoint:k,addClass:F,getQuadrantData:L,clear:(0,a.K2)((function(){f.clear(),(0,a.IU)()}),"clear"),setAccTitle:a.SV,getAccTitle:a.iN,setDiagramTitle:a.ke,getDiagramTitle:a.ab,getAccDescription:a.m7,setAccDescription:a.EI},renderer:{draw:(0,a.K2)(((t,e,i,s)=>{function r(t){return"top"===t?"hanging":"middle"}function o(t){return"left"===t?"start":"middle"}function l(t){return`translate(${t.x}, ${t.y}) rotate(${t.rotation||0})`}(0,a.K2)(r,"getDominantBaseLine"),(0,a.K2)(o,"getTextAnchor"),(0,a.K2)(l,"getTransformation");const h=(0,a.D7)();a.Rm.debug("Rendering quadrant chart\n"+t);const c=h.securityLevel;let d;"sandbox"===c&&(d=(0,n.Ltv)("#i"+e));const u=("sandbox"===c?(0,n.Ltv)(d.nodes()[0].contentDocument.body):(0,n.Ltv)("body")).select(`[id="${e}"]`),x=u.append("g").attr("class","main"),g=h.quadrantChart?.chartWidth??500,f=h.quadrantChart?.chartHeight??500;(0,a.a$)(u,f,g,h.quadrantChart?.useMaxWidth??!0),u.attr("viewBox","0 0 "+g+" "+f),s.db.setHeight(f),s.db.setWidth(g);const p=s.db.getQuadrantData(),y=x.append("g").attr("class","quadrants"),T=x.append("g").attr("class","border"),m=x.append("g").attr("class","data-points"),q=x.append("g").attr("class","labels"),A=x.append("g").attr("class","title");p.title&&A.append("text").attr("x",0).attr("y",0).attr("fill",p.title.fill).attr("font-size",p.title.fontSize).attr("dominant-baseline",r(p.title.horizontalPos)).attr("text-anchor",o(p.title.verticalPos)).attr("transform",l(p.title)).text(p.title.text),p.borderLines&&T.selectAll("line").data(p.borderLines).enter().append("line").attr("x1",(t=>t.x1)).attr("y1",(t=>t.y1)).attr("x2",(t=>t.x2)).attr("y2",(t=>t.y2)).style("stroke",(t=>t.strokeFill)).style("stroke-width",(t=>t.strokeWidth));const _=y.selectAll("g.quadrant").data(p.quadrants).enter().append("g").attr("class","quadrant");_.append("rect").attr("x",(t=>t.x)).attr("y",(t=>t.y)).attr("width",(t=>t.width)).attr("height",(t=>t.height)).attr("fill",(t=>t.fill)),_.append("text").attr("x",0).attr("y",0).attr("fill",(t=>t.text.fill)).attr("font-size",(t=>t.text.fontSize)).attr("dominant-baseline",(t=>r(t.text.horizontalPos))).attr("text-anchor",(t=>o(t.text.verticalPos))).attr("transform",(t=>l(t.text))).text((t=>t.text.text)),q.selectAll("g.label").data(p.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text((t=>t.text)).attr("fill",(t=>t.fill)).attr("font-size",(t=>t.fontSize)).attr("dominant-baseline",(t=>r(t.horizontalPos))).attr("text-anchor",(t=>o(t.verticalPos))).attr("transform",(t=>l(t)));const b=m.selectAll("g.data-point").data(p.points).enter().append("g").attr("class","data-point");b.append("circle").attr("cx",(t=>t.x)).attr("cy",(t=>t.y)).attr("r",(t=>t.radius)).attr("fill",(t=>t.fill)).attr("stroke",(t=>t.strokeColor)).attr("stroke-width",(t=>t.strokeWidth)),b.append("text").attr("x",0).attr("y",0).text((t=>t.text.text)).attr("fill",(t=>t.text.fill)).attr("font-size",(t=>t.text.fontSize)).attr("dominant-baseline",(t=>r(t.text.horizontalPos))).attr("text-anchor",(t=>o(t.text.verticalPos))).attr("transform",(t=>l(t.text)))}),"draw")},styles:(0,a.K2)((()=>""),"styles")}}}]); \ No newline at end of file diff --git a/docs/hugo/public/js/648-b5ba4bb4.chunk.min.js b/docs/hugo/public/js/648-b5ba4bb4.chunk.min.js new file mode 100644 index 000000000..bf15f3327 --- /dev/null +++ b/docs/hugo/public/js/648-b5ba4bb4.chunk.min.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgeekdoc=self.webpackChunkgeekdoc||[]).push([[648],{3648:(t,n,e)=>{e.d(n,{diagram:()=>it});var i=e(9502),s=e(4852);function r(t,n){let e;if(void 0===n)for(const n of t)null!=n&&(e>n||void 0===e&&n>=n)&&(e=n);else{let i=-1;for(let s of t)null!=(s=n(s,++i,t))&&(e>s||void 0===e&&s>=s)&&(e=s)}return e}function o(t){return t.target.depth}function c(t,n){return t.sourceLinks.length?t.depth:n-1}function a(t,n){let e=0;if(void 0===n)for(let n of t)(n=+n)&&(e+=n);else{let i=-1;for(let s of t)(s=+n(s,++i,t))&&(e+=s)}return e}function l(t,n){let e;if(void 0===n)for(const n of t)null!=n&&(e=n)&&(e=n);else{let i=-1;for(let s of t)null!=(s=n(s,++i,t))&&(e=s)&&(e=s)}return e}function h(t){return function(){return t}}function u(t,n){return y(t.source,n.source)||t.index-n.index}function f(t,n){return y(t.target,n.target)||t.index-n.index}function y(t,n){return t.y0-n.y0}function d(t){return t.value}function p(t){return t.index}function g(t){return t.nodes}function _(t){return t.links}function k(t,n){const e=t.get(n);if(!e)throw new Error("missing: "+n);return e}function x({nodes:t}){for(const n of t){let t=n.y0,e=t;for(const e of n.sourceLinks)e.y0=t+e.width/2,t+=e.width;for(const t of n.targetLinks)t.y1=e+t.width/2,e+=t.width}}var m=Math.PI,v=2*m,b=1e-6,w=v-b;function L(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function S(){return new L}L.prototype=S.prototype={constructor:L,moveTo:function(t,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,n){this._+="L"+(this._x1=+t)+","+(this._y1=+n)},quadraticCurveTo:function(t,n,e,i){this._+="Q"+ +t+","+ +n+","+(this._x1=+e)+","+(this._y1=+i)},bezierCurveTo:function(t,n,e,i,s,r){this._+="C"+ +t+","+ +n+","+ +e+","+ +i+","+(this._x1=+s)+","+(this._y1=+r)},arcTo:function(t,n,e,i,s){t=+t,n=+n,e=+e,i=+i,s=+s;var r=this._x1,o=this._y1,c=e-t,a=i-n,l=r-t,h=o-n,u=l*l+h*h;if(s<0)throw new Error("negative radius: "+s);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=n);else if(u>b)if(Math.abs(h*c-a*l)>b&&s){var f=e-r,y=i-o,d=c*c+a*a,p=f*f+y*y,g=Math.sqrt(d),_=Math.sqrt(u),k=s*Math.tan((m-Math.acos((d+u-p)/(2*g*_)))/2),x=k/_,v=k/g;Math.abs(x-1)>b&&(this._+="L"+(t+x*l)+","+(n+x*h)),this._+="A"+s+","+s+",0,0,"+ +(h*f>l*y)+","+(this._x1=t+v*c)+","+(this._y1=n+v*a)}else this._+="L"+(this._x1=t)+","+(this._y1=n)},arc:function(t,n,e,i,s,r){t=+t,n=+n,r=!!r;var o=(e=+e)*Math.cos(i),c=e*Math.sin(i),a=t+o,l=n+c,h=1^r,u=r?i-s:s-i;if(e<0)throw new Error("negative radius: "+e);null===this._x1?this._+="M"+a+","+l:(Math.abs(this._x1-a)>b||Math.abs(this._y1-l)>b)&&(this._+="L"+a+","+l),e&&(u<0&&(u=u%v+v),u>w?this._+="A"+e+","+e+",0,1,"+h+","+(t-o)+","+(n-c)+"A"+e+","+e+",0,1,"+h+","+(this._x1=a)+","+(this._y1=l):u>b&&(this._+="A"+e+","+e+",0,"+ +(u>=m)+","+h+","+(this._x1=t+e*Math.cos(s))+","+(this._y1=n+e*Math.sin(s))))},rect:function(t,n,e,i){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)+"h"+ +e+"v"+ +i+"h"+-e+"Z"},toString:function(){return this._}};const E=S;var A=Array.prototype.slice;function K(t){return function(){return t}}function M(t){return t[0]}function I(t){return t[1]}function T(t){return t.source}function D(t){return t.target}function N(t,n,e,i,s){t.moveTo(n,e),t.bezierCurveTo(n=(n+i)/2,e,n,s,i,s)}function P(t){return[t.source.x1,t.y0]}function C(t){return[t.target.x0,t.y1]}function O(){return function(t){var n=T,e=D,i=M,s=I,r=null;function o(){var o,c=A.call(arguments),a=n.apply(this,c),l=e.apply(this,c);if(r||(r=o=E()),t(r,+i.apply(this,(c[0]=a,c)),+s.apply(this,c),+i.apply(this,(c[0]=l,c)),+s.apply(this,c)),o)return r=null,o+""||null}return o.source=function(t){return arguments.length?(n=t,o):n},o.target=function(t){return arguments.length?(e=t,o):e},o.x=function(t){return arguments.length?(i="function"==typeof t?t:K(+t),o):i},o.y=function(t){return arguments.length?(s="function"==typeof t?t:K(+t),o):s},o.context=function(t){return arguments.length?(r=null==t?null:t,o):r},o}(N).source(P).target(C)}var $=function(){var t=(0,i.K2)((function(t,n,e,i){for(e=e||{},i=t.length;i--;e[t[i]]=n);return e}),"o"),n=[1,9],e=[1,10],s=[1,5,10,12],r={trace:(0,i.K2)((function(){}),"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:(0,i.K2)((function(t,n,e,i,s,r,o){var c=r.length-1;switch(s){case 7:const t=i.findOrCreateNode(r[c-4].trim().replaceAll('""','"')),n=i.findOrCreateNode(r[c-2].trim().replaceAll('""','"')),e=parseFloat(r[c].trim());i.addLink(t,n,e);break;case 8:case 9:case 11:this.$=r[c];break;case 10:this.$=r[c-1]}}),"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:n,20:e},{1:[2,6],7:11,10:[1,12]},t(e,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(s,[2,8]),t(s,[2,9]),{19:[1,16]},t(s,[2,11]),{1:[2,1]},{1:[2,5]},t(e,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:n,20:e},{15:18,16:7,17:8,18:n,20:e},{18:[1,19]},t(e,[2,3]),{12:[1,20]},t(s,[2,10]),{15:21,16:7,17:8,18:n,20:e},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:(0,i.K2)((function(t,n){if(!n.recoverable){var e=new Error(t);throw e.hash=n,e}this.trace(t)}),"parseError"),parse:(0,i.K2)((function(t){var n=this,e=[0],s=[],r=[null],o=[],c=this.table,a="",l=0,h=0,u=0,f=o.slice.call(arguments,1),y=Object.create(this.lexer),d={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(d.yy[p]=this.yy[p]);y.setInput(t,d.yy),d.yy.lexer=y,d.yy.parser=this,void 0===y.yylloc&&(y.yylloc={});var g=y.yylloc;o.push(g);var _=y.options&&y.options.ranges;function k(){var t;return"number"!=typeof(t=s.pop()||y.lex()||1)&&(t instanceof Array&&(t=(s=t).pop()),t=n.symbols_[t]||t),t}"function"==typeof d.yy.parseError?this.parseError=d.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,i.K2)((function(t){e.length=e.length-2*t,r.length=r.length-t,o.length=o.length-t}),"popStack"),(0,i.K2)(k,"lex");for(var x,m,v,b,w,L,S,E,A,K={};;){if(v=e[e.length-1],this.defaultActions[v]?b=this.defaultActions[v]:(null==x&&(x=k()),b=c[v]&&c[v][x]),void 0===b||!b.length||!b[0]){var M;for(L in A=[],c[v])this.terminals_[L]&&L>2&&A.push("'"+this.terminals_[L]+"'");M=y.showPosition?"Parse error on line "+(l+1)+":\n"+y.showPosition()+"\nExpecting "+A.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==x?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(M,{text:y.match,token:this.terminals_[x]||x,line:y.yylineno,loc:g,expected:A})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+v+", token: "+x);switch(b[0]){case 1:e.push(x),r.push(y.yytext),o.push(y.yylloc),e.push(b[1]),x=null,m?(x=m,m=null):(h=y.yyleng,a=y.yytext,l=y.yylineno,g=y.yylloc,u>0&&u--);break;case 2:if(S=this.productions_[b[1]][1],K.$=r[r.length-S],K._$={first_line:o[o.length-(S||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(S||1)].first_column,last_column:o[o.length-1].last_column},_&&(K._$.range=[o[o.length-(S||1)].range[0],o[o.length-1].range[1]]),void 0!==(w=this.performAction.apply(K,[a,h,l,d.yy,b[1],r,o].concat(f))))return w;S&&(e=e.slice(0,-1*S*2),r=r.slice(0,-1*S),o=o.slice(0,-1*S)),e.push(this.productions_[b[1]][0]),r.push(K.$),o.push(K._$),E=c[e[e.length-2]][e[e.length-1]],e.push(E);break;case 3:return!0}}return!0}),"parse")},o=function(){return{EOF:1,parseError:(0,i.K2)((function(t,n){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,n)}),"parseError"),setInput:(0,i.K2)((function(t,n){return this.yy=n||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this}),"setInput"),input:(0,i.K2)((function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t}),"input"),unput:(0,i.K2)((function(t){var n=t.length,e=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),e.length-1&&(this.yylineno-=e.length-1);var s=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:e?(e.length===i.length?this.yylloc.first_column:0)+i[i.length-e.length].length-e[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[s[0],s[0]+this.yyleng-n]),this.yyleng=this.yytext.length,this}),"unput"),more:(0,i.K2)((function(){return this._more=!0,this}),"more"),reject:(0,i.K2)((function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"reject"),less:(0,i.K2)((function(t){this.unput(this.match.slice(t))}),"less"),pastInput:(0,i.K2)((function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")}),"pastInput"),upcomingInput:(0,i.K2)((function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")}),"upcomingInput"),showPosition:(0,i.K2)((function(){var t=this.pastInput(),n=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+n+"^"}),"showPosition"),test_match:(0,i.K2)((function(t,n){var e,i,s;if(this.options.backtrack_lexer&&(s={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(s.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],e=this.performAction.call(this,this.yy,this,n,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),e)return e;if(this._backtrack){for(var r in s)this[r]=s[r];return!1}return!1}),"test_match"),next:(0,i.K2)((function(){if(this.done)return this.EOF;var t,n,e,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var s=this._currentRules(),r=0;rn[0].length)){if(n=e,i=r,this.options.backtrack_lexer){if(!1!==(t=this.test_match(e,s[r])))return t;if(this._backtrack){n=!1;continue}return!1}if(!this.options.flex)break}return n?!1!==(t=this.test_match(n,s[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"next"),lex:(0,i.K2)((function(){return this.next()||this.lex()}),"lex"),begin:(0,i.K2)((function(t){this.conditionStack.push(t)}),"begin"),popState:(0,i.K2)((function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]}),"popState"),_currentRules:(0,i.K2)((function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules}),"_currentRules"),topState:(0,i.K2)((function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"}),"topState"),pushState:(0,i.K2)((function(t){this.begin(t)}),"pushState"),stateStackSize:(0,i.K2)((function(){return this.conditionStack.length}),"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,i.K2)((function(t,n,e,i){switch(e){case 0:return this.pushState("csv"),4;case 1:return 10;case 2:return 5;case 3:return 12;case 4:return this.pushState("escaped_text"),18;case 5:return 20;case 6:return this.popState("escaped_text"),18;case 7:return 19}}),"anonymous"),rules:[/^(?:sankey-beta\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[1,2,3,4,5,6,7],inclusive:!1},escaped_text:{rules:[6,7],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}}}();function c(){this.yy={}}return r.lexer=o,(0,i.K2)(c,"Parser"),c.prototype=r,r.Parser=c,new c}();$.parser=$;var j=$,z=[],U=[],F=new Map,W=(0,i.K2)((()=>{z=[],U=[],F=new Map,(0,i.IU)()}),"clear"),G=class{constructor(t,n,e=0){this.source=t,this.target=n,this.value=e}static{(0,i.K2)(this,"SankeyLink")}},V=(0,i.K2)(((t,n,e)=>{z.push(new G(t,n,e))}),"addLink"),X=class{constructor(t){this.ID=t}static{(0,i.K2)(this,"SankeyNode")}},Y=(0,i.K2)((t=>{t=i.Y2.sanitizeText(t,(0,i.D7)());let n=F.get(t);return void 0===n&&(n=new X(t),F.set(t,n),U.push(n)),n}),"findOrCreateNode"),q=(0,i.K2)((()=>U),"getNodes"),Q=(0,i.K2)((()=>z),"getLinks"),R=(0,i.K2)((()=>({nodes:U.map((t=>({id:t.ID}))),links:z.map((t=>({source:t.source.ID,target:t.target.ID,value:t.value})))})),"getGraph"),B={nodesMap:F,getConfig:(0,i.K2)((()=>(0,i.D7)().sankey),"getConfig"),getNodes:q,getLinks:Q,getGraph:R,addLink:V,findOrCreateNode:Y,getAccTitle:i.iN,setAccTitle:i.SV,getAccDescription:i.m7,setAccDescription:i.EI,getDiagramTitle:i.ab,setDiagramTitle:i.ke,clear:W},Z=class t{static{(0,i.K2)(this,"Uid")}static{this.count=0}static next(n){return new t(n+ ++t.count)}constructor(t){this.id=t,this.href=`#${t}`}toString(){return"url("+this.href+")"}},H={left:function(t){return t.depth},right:function(t,n){return n-1-t.height},center:function(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?r(t.sourceLinks,o)-1:0},justify:c},J=(0,i.K2)((function(t,n,e,o){const{securityLevel:m,sankey:v}=(0,i.D7)(),b=i.ME.sankey;let w;"sandbox"===m&&(w=(0,s.Ltv)("#i"+n));const L="sandbox"===m?(0,s.Ltv)(w.nodes()[0].contentDocument.body):(0,s.Ltv)("body"),S="sandbox"===m?L.select(`[id="${n}"]`):(0,s.Ltv)(`[id="${n}"]`),E=v?.width??b.width,A=v?.height??b.width,K=v?.useMaxWidth??b.useMaxWidth,M=v?.nodeAlignment??b.nodeAlignment,I=v?.prefix??b.prefix,T=v?.suffix??b.suffix,D=v?.showValues??b.showValues,N=o.db.getGraph(),P=H[M];(function(){let t,n,e,i=0,s=0,o=1,m=1,v=24,b=8,w=p,L=c,S=g,E=_,A=6;function K(){const c={nodes:S.apply(null,arguments),links:E.apply(null,arguments)};return function({nodes:t,links:n}){for(const[n,e]of t.entries())e.index=n,e.sourceLinks=[],e.targetLinks=[];const i=new Map(t.map(((n,e)=>[w(n,e,t),n])));for(const[t,e]of n.entries()){e.index=t;let{source:n,target:s}=e;"object"!=typeof n&&(n=e.source=k(i,n)),"object"!=typeof s&&(s=e.target=k(i,s)),n.sourceLinks.push(e),s.targetLinks.push(e)}if(null!=e)for(const{sourceLinks:n,targetLinks:i}of t)n.sort(e),i.sort(e)}(c),function({nodes:t}){for(const n of t)n.value=void 0===n.fixedValue?Math.max(a(n.sourceLinks,d),a(n.targetLinks,d)):n.fixedValue}(c),function({nodes:t}){const n=t.length;let e=new Set(t),i=new Set,s=0;for(;e.size;){for(const t of e){t.depth=s;for(const{target:n}of t.sourceLinks)i.add(n)}if(++s>n)throw new Error("circular link");e=i,i=new Set}}(c),function({nodes:t}){const n=t.length;let e=new Set(t),i=new Set,s=0;for(;e.size;){for(const t of e){t.height=s;for(const{source:n}of t.targetLinks)i.add(n)}if(++s>n)throw new Error("circular link");e=i,i=new Set}}(c),function(e){const c=function({nodes:t}){const e=l(t,(t=>t.depth))+1,s=(o-i-v)/(e-1),r=new Array(e);for(const n of t){const t=Math.max(0,Math.min(e-1,Math.floor(L.call(null,n,e))));n.layer=t,n.x0=i+t*s,n.x1=n.x0+v,r[t]?r[t].push(n):r[t]=[n]}if(n)for(const t of r)t.sort(n);return r}(e);t=Math.min(b,(m-s)/(l(c,(t=>t.length))-1)),function(n){const e=r(n,(n=>(m-s-(n.length-1)*t)/a(n,d)));for(const i of n){let n=s;for(const s of i){s.y0=n,s.y1=n+s.value*e,n=s.y1+t;for(const t of s.sourceLinks)t.width=t.value*e}n=(m-n+t)/(i.length+1);for(let t=0;t0))continue;let s=(n/i-t.y0)*e;t.y0+=s,t.y1+=s,P(t)}void 0===n&&r.sort(y),T(r,i)}}function I(t,e,i){for(let s=t.length-2;s>=0;--s){const r=t[s];for(const t of r){let n=0,i=0;for(const{target:e,value:s}of t.sourceLinks){let r=s*(e.layer-t.layer);n+=$(t,e)*r,i+=r}if(!(i>0))continue;let s=(n/i-t.y0)*e;t.y0+=s,t.y1+=s,P(t)}void 0===n&&r.sort(y),T(r,i)}}function T(n,e){const i=n.length>>1,r=n[i];N(n,r.y0-t,i-1,e),D(n,r.y1+t,i+1,e),N(n,m,n.length-1,e),D(n,s,0,e)}function D(n,e,i,s){for(;i1e-6&&(r.y0+=o,r.y1+=o),e=r.y1+t}}function N(n,e,i,s){for(;i>=0;--i){const r=n[i],o=(r.y1-e)*s;o>1e-6&&(r.y0-=o,r.y1-=o),e=r.y0-t}}function P({sourceLinks:t,targetLinks:n}){if(void 0===e){for(const{source:{sourceLinks:t}}of n)t.sort(f);for(const{target:{targetLinks:n}}of t)n.sort(u)}}function C(t){if(void 0===e)for(const{sourceLinks:n,targetLinks:e}of t)n.sort(f),e.sort(u)}function O(n,e){let i=n.y0-(n.sourceLinks.length-1)*t/2;for(const{target:s,width:r}of n.sourceLinks){if(s===e)break;i+=r+t}for(const{source:t,width:s}of e.targetLinks){if(t===n)break;i-=s}return i}function $(n,e){let i=e.y0-(e.targetLinks.length-1)*t/2;for(const{source:s,width:r}of e.targetLinks){if(s===n)break;i+=r+t}for(const{target:t,width:s}of n.sourceLinks){if(t===e)break;i-=s}return i}return K.update=function(t){return x(t),t},K.nodeId=function(t){return arguments.length?(w="function"==typeof t?t:h(t),K):w},K.nodeAlign=function(t){return arguments.length?(L="function"==typeof t?t:h(t),K):L},K.nodeSort=function(t){return arguments.length?(n=t,K):n},K.nodeWidth=function(t){return arguments.length?(v=+t,K):v},K.nodePadding=function(n){return arguments.length?(b=t=+n,K):b},K.nodes=function(t){return arguments.length?(S="function"==typeof t?t:h(t),K):S},K.links=function(t){return arguments.length?(E="function"==typeof t?t:h(t),K):E},K.linkSort=function(t){return arguments.length?(e=t,K):e},K.size=function(t){return arguments.length?(i=s=0,o=+t[0],m=+t[1],K):[o-i,m-s]},K.extent=function(t){return arguments.length?(i=+t[0][0],o=+t[1][0],s=+t[0][1],m=+t[1][1],K):[[i,s],[o,m]]},K.iterations=function(t){return arguments.length?(A=+t,K):A},K})().nodeId((t=>t.id)).nodeWidth(10).nodePadding(10+(D?15:0)).nodeAlign(P).extent([[0,0],[E,A]])(N);const C=(0,s.UMr)(s.zt);S.append("g").attr("class","nodes").selectAll(".node").data(N.nodes).join("g").attr("class","node").attr("id",(t=>(t.uid=Z.next("node-")).id)).attr("transform",(function(t){return"translate("+t.x0+","+t.y0+")"})).attr("x",(t=>t.x0)).attr("y",(t=>t.y0)).append("rect").attr("height",(t=>t.y1-t.y0)).attr("width",(t=>t.x1-t.x0)).attr("fill",(t=>C(t.id)));const $=(0,i.K2)((({id:t,value:n})=>D?`${t}\n${I}${Math.round(100*n)/100}${T}`:t),"getText");S.append("g").attr("class","node-labels").attr("font-family","sans-serif").attr("font-size",14).selectAll("text").data(N.nodes).join("text").attr("x",(t=>t.x0(t.y1+t.y0)/2)).attr("dy",(D?"0":"0.35")+"em").attr("text-anchor",(t=>t.x0(t.uid=Z.next("linearGradient-")).id)).attr("gradientUnits","userSpaceOnUse").attr("x1",(t=>t.source.x1)).attr("x2",(t=>t.target.x0));t.append("stop").attr("offset","0%").attr("stop-color",(t=>C(t.source.id))),t.append("stop").attr("offset","100%").attr("stop-color",(t=>C(t.target.id)))}let U;switch(z){case"gradient":U=(0,i.K2)((t=>t.uid),"coloring");break;case"source":U=(0,i.K2)((t=>C(t.source.id)),"coloring");break;case"target":U=(0,i.K2)((t=>C(t.target.id)),"coloring");break;default:U=z}j.append("path").attr("d",O()).attr("stroke",U).attr("stroke-width",(t=>Math.max(1,t.width))),(0,i.ot)(void 0,S,0,K)}),"draw"),tt={draw:J},nt=(0,i.K2)((t=>t.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,"\n").trim()),"prepareTextForParsing"),et=j.parse.bind(j);j.parse=t=>et(nt(t));var it={parser:j,db:B,renderer:tt}}}]); \ No newline at end of file diff --git a/docs/hugo/public/js/664-ed5252a5.chunk.min.js b/docs/hugo/public/js/664-ed5252a5.chunk.min.js new file mode 100644 index 000000000..64d262d5b --- /dev/null +++ b/docs/hugo/public/js/664-ed5252a5.chunk.min.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgeekdoc=self.webpackChunkgeekdoc||[]).push([[664],{2664:(t,e,a)=>{a.d(e,{diagram:()=>Nt});var n=a(3814),i=a(8159),r=a(9502),s=a(4852),l=a(6750),o=function(){var t=(0,r.K2)((function(t,e,a,n){for(a=a||{},n=t.length;n--;a[t[n]]=e);return a}),"o"),e=[1,24],a=[1,25],n=[1,26],i=[1,27],s=[1,28],l=[1,63],o=[1,64],h=[1,65],d=[1,66],u=[1,67],p=[1,68],y=[1,69],g=[1,29],f=[1,30],b=[1,31],x=[1,32],_=[1,33],m=[1,34],E=[1,35],S=[1,36],A=[1,37],C=[1,38],w=[1,39],k=[1,40],O=[1,41],T=[1,42],v=[1,43],R=[1,44],D=[1,45],N=[1,46],P=[1,47],B=[1,48],I=[1,50],M=[1,51],j=[1,52],K=[1,53],L=[1,54],Y=[1,55],U=[1,56],F=[1,57],X=[1,58],z=[1,59],W=[1,60],Q=[14,42],$=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],H=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],q=[1,82],V=[1,83],G=[1,84],J=[1,85],Z=[12,14,42],tt=[12,14,33,42],et=[12,14,33,42,76,77,79,80],at=[12,33],nt=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],it={trace:(0,r.K2)((function(){}),"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:(0,r.K2)((function(t,e,a,n,i,r,s){var l=r.length-1;switch(i){case 3:n.setDirection("TB");break;case 4:n.setDirection("BT");break;case 5:n.setDirection("RL");break;case 6:n.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:n.setC4Type(r[l-3]);break;case 19:n.setTitle(r[l].substring(6)),this.$=r[l].substring(6);break;case 20:n.setAccDescription(r[l].substring(15)),this.$=r[l].substring(15);break;case 21:this.$=r[l].trim(),n.setTitle(this.$);break;case 22:case 23:this.$=r[l].trim(),n.setAccDescription(this.$);break;case 28:r[l].splice(2,0,"ENTERPRISE"),n.addPersonOrSystemBoundary(...r[l]),this.$=r[l];break;case 29:r[l].splice(2,0,"SYSTEM"),n.addPersonOrSystemBoundary(...r[l]),this.$=r[l];break;case 30:n.addPersonOrSystemBoundary(...r[l]),this.$=r[l];break;case 31:r[l].splice(2,0,"CONTAINER"),n.addContainerBoundary(...r[l]),this.$=r[l];break;case 32:n.addDeploymentNode("node",...r[l]),this.$=r[l];break;case 33:n.addDeploymentNode("nodeL",...r[l]),this.$=r[l];break;case 34:n.addDeploymentNode("nodeR",...r[l]),this.$=r[l];break;case 35:n.popBoundaryParseStack();break;case 39:n.addPersonOrSystem("person",...r[l]),this.$=r[l];break;case 40:n.addPersonOrSystem("external_person",...r[l]),this.$=r[l];break;case 41:n.addPersonOrSystem("system",...r[l]),this.$=r[l];break;case 42:n.addPersonOrSystem("system_db",...r[l]),this.$=r[l];break;case 43:n.addPersonOrSystem("system_queue",...r[l]),this.$=r[l];break;case 44:n.addPersonOrSystem("external_system",...r[l]),this.$=r[l];break;case 45:n.addPersonOrSystem("external_system_db",...r[l]),this.$=r[l];break;case 46:n.addPersonOrSystem("external_system_queue",...r[l]),this.$=r[l];break;case 47:n.addContainer("container",...r[l]),this.$=r[l];break;case 48:n.addContainer("container_db",...r[l]),this.$=r[l];break;case 49:n.addContainer("container_queue",...r[l]),this.$=r[l];break;case 50:n.addContainer("external_container",...r[l]),this.$=r[l];break;case 51:n.addContainer("external_container_db",...r[l]),this.$=r[l];break;case 52:n.addContainer("external_container_queue",...r[l]),this.$=r[l];break;case 53:n.addComponent("component",...r[l]),this.$=r[l];break;case 54:n.addComponent("component_db",...r[l]),this.$=r[l];break;case 55:n.addComponent("component_queue",...r[l]),this.$=r[l];break;case 56:n.addComponent("external_component",...r[l]),this.$=r[l];break;case 57:n.addComponent("external_component_db",...r[l]),this.$=r[l];break;case 58:n.addComponent("external_component_queue",...r[l]),this.$=r[l];break;case 60:n.addRel("rel",...r[l]),this.$=r[l];break;case 61:n.addRel("birel",...r[l]),this.$=r[l];break;case 62:n.addRel("rel_u",...r[l]),this.$=r[l];break;case 63:n.addRel("rel_d",...r[l]),this.$=r[l];break;case 64:n.addRel("rel_l",...r[l]),this.$=r[l];break;case 65:n.addRel("rel_r",...r[l]),this.$=r[l];break;case 66:n.addRel("rel_b",...r[l]),this.$=r[l];break;case 67:r[l].splice(0,1),n.addRel("rel",...r[l]),this.$=r[l];break;case 68:n.updateElStyle("update_el_style",...r[l]),this.$=r[l];break;case 69:n.updateRelStyle("update_rel_style",...r[l]),this.$=r[l];break;case 70:n.updateLayoutConfig("update_layout_config",...r[l]),this.$=r[l];break;case 71:this.$=[r[l]];break;case 72:r[l].unshift(r[l-1]),this.$=r[l];break;case 73:case 75:this.$=r[l].trim();break;case 74:let t={};t[r[l-1].trim()]=r[l].trim(),this.$=t;break;case 76:this.$=""}}),"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:e,23:a,24:n,26:i,28:s,29:49,30:61,32:62,34:l,36:o,37:h,38:d,39:u,40:p,41:y,43:23,44:g,45:f,46:b,47:x,48:_,49:m,50:E,51:S,52:A,53:C,54:w,55:k,56:O,57:T,58:v,59:R,60:D,61:N,62:P,63:B,64:I,65:M,66:j,67:K,68:L,69:Y,70:U,71:F,72:X,73:z,74:W},{13:70,19:20,20:21,21:22,22:e,23:a,24:n,26:i,28:s,29:49,30:61,32:62,34:l,36:o,37:h,38:d,39:u,40:p,41:y,43:23,44:g,45:f,46:b,47:x,48:_,49:m,50:E,51:S,52:A,53:C,54:w,55:k,56:O,57:T,58:v,59:R,60:D,61:N,62:P,63:B,64:I,65:M,66:j,67:K,68:L,69:Y,70:U,71:F,72:X,73:z,74:W},{13:71,19:20,20:21,21:22,22:e,23:a,24:n,26:i,28:s,29:49,30:61,32:62,34:l,36:o,37:h,38:d,39:u,40:p,41:y,43:23,44:g,45:f,46:b,47:x,48:_,49:m,50:E,51:S,52:A,53:C,54:w,55:k,56:O,57:T,58:v,59:R,60:D,61:N,62:P,63:B,64:I,65:M,66:j,67:K,68:L,69:Y,70:U,71:F,72:X,73:z,74:W},{13:72,19:20,20:21,21:22,22:e,23:a,24:n,26:i,28:s,29:49,30:61,32:62,34:l,36:o,37:h,38:d,39:u,40:p,41:y,43:23,44:g,45:f,46:b,47:x,48:_,49:m,50:E,51:S,52:A,53:C,54:w,55:k,56:O,57:T,58:v,59:R,60:D,61:N,62:P,63:B,64:I,65:M,66:j,67:K,68:L,69:Y,70:U,71:F,72:X,73:z,74:W},{13:73,19:20,20:21,21:22,22:e,23:a,24:n,26:i,28:s,29:49,30:61,32:62,34:l,36:o,37:h,38:d,39:u,40:p,41:y,43:23,44:g,45:f,46:b,47:x,48:_,49:m,50:E,51:S,52:A,53:C,54:w,55:k,56:O,57:T,58:v,59:R,60:D,61:N,62:P,63:B,64:I,65:M,66:j,67:K,68:L,69:Y,70:U,71:F,72:X,73:z,74:W},{14:[1,74]},t(Q,[2,13],{43:23,29:49,30:61,32:62,20:75,34:l,36:o,37:h,38:d,39:u,40:p,41:y,44:g,45:f,46:b,47:x,48:_,49:m,50:E,51:S,52:A,53:C,54:w,55:k,56:O,57:T,58:v,59:R,60:D,61:N,62:P,63:B,64:I,65:M,66:j,67:K,68:L,69:Y,70:U,71:F,72:X,73:z,74:W}),t(Q,[2,14]),t($,[2,16],{12:[1,76]}),t(Q,[2,36],{12:[1,77]}),t(H,[2,19]),t(H,[2,20]),{25:[1,78]},{27:[1,79]},t(H,[2,23]),{35:80,75:81,76:q,77:V,79:G,80:J},{35:86,75:81,76:q,77:V,79:G,80:J},{35:87,75:81,76:q,77:V,79:G,80:J},{35:88,75:81,76:q,77:V,79:G,80:J},{35:89,75:81,76:q,77:V,79:G,80:J},{35:90,75:81,76:q,77:V,79:G,80:J},{35:91,75:81,76:q,77:V,79:G,80:J},{35:92,75:81,76:q,77:V,79:G,80:J},{35:93,75:81,76:q,77:V,79:G,80:J},{35:94,75:81,76:q,77:V,79:G,80:J},{35:95,75:81,76:q,77:V,79:G,80:J},{35:96,75:81,76:q,77:V,79:G,80:J},{35:97,75:81,76:q,77:V,79:G,80:J},{35:98,75:81,76:q,77:V,79:G,80:J},{35:99,75:81,76:q,77:V,79:G,80:J},{35:100,75:81,76:q,77:V,79:G,80:J},{35:101,75:81,76:q,77:V,79:G,80:J},{35:102,75:81,76:q,77:V,79:G,80:J},{35:103,75:81,76:q,77:V,79:G,80:J},{35:104,75:81,76:q,77:V,79:G,80:J},t(Z,[2,59]),{35:105,75:81,76:q,77:V,79:G,80:J},{35:106,75:81,76:q,77:V,79:G,80:J},{35:107,75:81,76:q,77:V,79:G,80:J},{35:108,75:81,76:q,77:V,79:G,80:J},{35:109,75:81,76:q,77:V,79:G,80:J},{35:110,75:81,76:q,77:V,79:G,80:J},{35:111,75:81,76:q,77:V,79:G,80:J},{35:112,75:81,76:q,77:V,79:G,80:J},{35:113,75:81,76:q,77:V,79:G,80:J},{35:114,75:81,76:q,77:V,79:G,80:J},{35:115,75:81,76:q,77:V,79:G,80:J},{20:116,29:49,30:61,32:62,34:l,36:o,37:h,38:d,39:u,40:p,41:y,43:23,44:g,45:f,46:b,47:x,48:_,49:m,50:E,51:S,52:A,53:C,54:w,55:k,56:O,57:T,58:v,59:R,60:D,61:N,62:P,63:B,64:I,65:M,66:j,67:K,68:L,69:Y,70:U,71:F,72:X,73:z,74:W},{12:[1,118],33:[1,117]},{35:119,75:81,76:q,77:V,79:G,80:J},{35:120,75:81,76:q,77:V,79:G,80:J},{35:121,75:81,76:q,77:V,79:G,80:J},{35:122,75:81,76:q,77:V,79:G,80:J},{35:123,75:81,76:q,77:V,79:G,80:J},{35:124,75:81,76:q,77:V,79:G,80:J},{35:125,75:81,76:q,77:V,79:G,80:J},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},t(Q,[2,15]),t($,[2,17],{21:22,19:130,22:e,23:a,24:n,26:i,28:s}),t(Q,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:e,23:a,24:n,26:i,28:s,34:l,36:o,37:h,38:d,39:u,40:p,41:y,44:g,45:f,46:b,47:x,48:_,49:m,50:E,51:S,52:A,53:C,54:w,55:k,56:O,57:T,58:v,59:R,60:D,61:N,62:P,63:B,64:I,65:M,66:j,67:K,68:L,69:Y,70:U,71:F,72:X,73:z,74:W}),t(H,[2,21]),t(H,[2,22]),t(Z,[2,39]),t(tt,[2,71],{75:81,35:132,76:q,77:V,79:G,80:J}),t(et,[2,73]),{78:[1,133]},t(et,[2,75]),t(et,[2,76]),t(Z,[2,40]),t(Z,[2,41]),t(Z,[2,42]),t(Z,[2,43]),t(Z,[2,44]),t(Z,[2,45]),t(Z,[2,46]),t(Z,[2,47]),t(Z,[2,48]),t(Z,[2,49]),t(Z,[2,50]),t(Z,[2,51]),t(Z,[2,52]),t(Z,[2,53]),t(Z,[2,54]),t(Z,[2,55]),t(Z,[2,56]),t(Z,[2,57]),t(Z,[2,58]),t(Z,[2,60]),t(Z,[2,61]),t(Z,[2,62]),t(Z,[2,63]),t(Z,[2,64]),t(Z,[2,65]),t(Z,[2,66]),t(Z,[2,67]),t(Z,[2,68]),t(Z,[2,69]),t(Z,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},t(at,[2,28]),t(at,[2,29]),t(at,[2,30]),t(at,[2,31]),t(at,[2,32]),t(at,[2,33]),t(at,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},t($,[2,18]),t(Q,[2,38]),t(tt,[2,72]),t(et,[2,74]),t(Z,[2,24]),t(Z,[2,35]),t(nt,[2,25]),t(nt,[2,26],{12:[1,138]}),t(nt,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:(0,r.K2)((function(t,e){if(!e.recoverable){var a=new Error(t);throw a.hash=e,a}this.trace(t)}),"parseError"),parse:(0,r.K2)((function(t){var e=this,a=[0],n=[],i=[null],s=[],l=this.table,o="",c=0,h=0,d=0,u=s.slice.call(arguments,1),p=Object.create(this.lexer),y={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(y.yy[g]=this.yy[g]);p.setInput(t,y.yy),y.yy.lexer=p,y.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var f=p.yylloc;s.push(f);var b=p.options&&p.options.ranges;function x(){var t;return"number"!=typeof(t=n.pop()||p.lex()||1)&&(t instanceof Array&&(t=(n=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,r.K2)((function(t){a.length=a.length-2*t,i.length=i.length-t,s.length=s.length-t}),"popStack"),(0,r.K2)(x,"lex");for(var _,m,E,S,A,C,w,k,O,T={};;){if(E=a[a.length-1],this.defaultActions[E]?S=this.defaultActions[E]:(null==_&&(_=x()),S=l[E]&&l[E][_]),void 0===S||!S.length||!S[0]){var v;for(C in O=[],l[E])this.terminals_[C]&&C>2&&O.push("'"+this.terminals_[C]+"'");v=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+O.join(", ")+", got '"+(this.terminals_[_]||_)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==_?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(v,{text:p.match,token:this.terminals_[_]||_,line:p.yylineno,loc:f,expected:O})}if(S[0]instanceof Array&&S.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+_);switch(S[0]){case 1:a.push(_),i.push(p.yytext),s.push(p.yylloc),a.push(S[1]),_=null,m?(_=m,m=null):(h=p.yyleng,o=p.yytext,c=p.yylineno,f=p.yylloc,d>0&&d--);break;case 2:if(w=this.productions_[S[1]][1],T.$=i[i.length-w],T._$={first_line:s[s.length-(w||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(w||1)].first_column,last_column:s[s.length-1].last_column},b&&(T._$.range=[s[s.length-(w||1)].range[0],s[s.length-1].range[1]]),void 0!==(A=this.performAction.apply(T,[o,h,c,y.yy,S[1],i,s].concat(u))))return A;w&&(a=a.slice(0,-1*w*2),i=i.slice(0,-1*w),s=s.slice(0,-1*w)),a.push(this.productions_[S[1]][0]),i.push(T.$),s.push(T._$),k=l[a[a.length-2]][a[a.length-1]],a.push(k);break;case 3:return!0}}return!0}),"parse")},rt=function(){return{EOF:1,parseError:(0,r.K2)((function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)}),"parseError"),setInput:(0,r.K2)((function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this}),"setInput"),input:(0,r.K2)((function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t}),"input"),unput:(0,r.K2)((function(t){var e=t.length,a=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),a.length-1&&(this.yylineno-=a.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:a?(a.length===n.length?this.yylloc.first_column:0)+n[n.length-a.length].length-a[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this}),"unput"),more:(0,r.K2)((function(){return this._more=!0,this}),"more"),reject:(0,r.K2)((function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"reject"),less:(0,r.K2)((function(t){this.unput(this.match.slice(t))}),"less"),pastInput:(0,r.K2)((function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")}),"pastInput"),upcomingInput:(0,r.K2)((function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")}),"upcomingInput"),showPosition:(0,r.K2)((function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"}),"showPosition"),test_match:(0,r.K2)((function(t,e){var a,n,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(n=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],a=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),a)return a;if(this._backtrack){for(var r in i)this[r]=i[r];return!1}return!1}),"test_match"),next:(0,r.K2)((function(){if(this.done)return this.EOF;var t,e,a,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),r=0;re[0].length)){if(e=a,n=r,this.options.backtrack_lexer){if(!1!==(t=this.test_match(a,i[r])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[n]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"next"),lex:(0,r.K2)((function(){return this.next()||this.lex()}),"lex"),begin:(0,r.K2)((function(t){this.conditionStack.push(t)}),"begin"),popState:(0,r.K2)((function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]}),"popState"),_currentRules:(0,r.K2)((function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules}),"_currentRules"),topState:(0,r.K2)((function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"}),"topState"),pushState:(0,r.K2)((function(t){this.begin(t)}),"pushState"),stateStackSize:(0,r.K2)((function(){return this.conditionStack.length}),"stateStackSize"),options:{},performAction:(0,r.K2)((function(t,e,a,n){switch(a){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),26;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:case 73:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:case 16:case 70:break;case 14:c;break;case 15:return 12;case 17:return 11;case 18:return 15;case 19:return 16;case 20:return 17;case 21:return 18;case 22:return this.begin("person_ext"),45;case 23:return this.begin("person"),44;case 24:return this.begin("system_ext_queue"),51;case 25:return this.begin("system_ext_db"),50;case 26:return this.begin("system_ext"),49;case 27:return this.begin("system_queue"),48;case 28:return this.begin("system_db"),47;case 29:return this.begin("system"),46;case 30:return this.begin("boundary"),37;case 31:return this.begin("enterprise_boundary"),34;case 32:return this.begin("system_boundary"),36;case 33:return this.begin("container_ext_queue"),57;case 34:return this.begin("container_ext_db"),56;case 35:return this.begin("container_ext"),55;case 36:return this.begin("container_queue"),54;case 37:return this.begin("container_db"),53;case 38:return this.begin("container"),52;case 39:return this.begin("container_boundary"),38;case 40:return this.begin("component_ext_queue"),63;case 41:return this.begin("component_ext_db"),62;case 42:return this.begin("component_ext"),61;case 43:return this.begin("component_queue"),60;case 44:return this.begin("component_db"),59;case 45:return this.begin("component"),58;case 46:case 47:return this.begin("node"),39;case 48:return this.begin("node_l"),40;case 49:return this.begin("node_r"),41;case 50:return this.begin("rel"),64;case 51:return this.begin("birel"),65;case 52:case 53:return this.begin("rel_u"),66;case 54:case 55:return this.begin("rel_d"),67;case 56:case 57:return this.begin("rel_l"),68;case 58:case 59:return this.begin("rel_r"),69;case 60:return this.begin("rel_b"),70;case 61:return this.begin("rel_index"),71;case 62:return this.begin("update_el_style"),72;case 63:return this.begin("update_rel_style"),73;case 64:return this.begin("update_layout_config"),74;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";case 67:this.begin("attribute");break;case 68:case 79:this.popState(),this.popState();break;case 69:case 71:return 80;case 72:this.begin("string");break;case 74:case 80:return"STR";case 75:this.begin("string_kv");break;case 76:return this.begin("string_kv_key"),"STR_KEY";case 77:this.popState(),this.begin("string_kv_value");break;case 78:return"STR_VALUE";case 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}}),"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},string_kv_value:{rules:[78,79],inclusive:!1},string_kv_key:{rules:[77],inclusive:!1},string_kv:{rules:[76],inclusive:!1},string:{rules:[73,74],inclusive:!1},attribute:{rules:[68,69,70,71,72,75,80],inclusive:!1},update_layout_config:{rules:[65,66,67,68],inclusive:!1},update_rel_style:{rules:[65,66,67,68],inclusive:!1},update_el_style:{rules:[65,66,67,68],inclusive:!1},rel_b:{rules:[65,66,67,68],inclusive:!1},rel_r:{rules:[65,66,67,68],inclusive:!1},rel_l:{rules:[65,66,67,68],inclusive:!1},rel_d:{rules:[65,66,67,68],inclusive:!1},rel_u:{rules:[65,66,67,68],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[65,66,67,68],inclusive:!1},node_r:{rules:[65,66,67,68],inclusive:!1},node_l:{rules:[65,66,67,68],inclusive:!1},node:{rules:[65,66,67,68],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[65,66,67,68],inclusive:!1},component_ext_queue:{rules:[],inclusive:!1},component_ext_db:{rules:[65,66,67,68],inclusive:!1},component_ext:{rules:[65,66,67,68],inclusive:!1},component_queue:{rules:[65,66,67,68],inclusive:!1},component_db:{rules:[65,66,67,68],inclusive:!1},component:{rules:[65,66,67,68],inclusive:!1},container_boundary:{rules:[65,66,67,68],inclusive:!1},container_ext_queue:{rules:[65,66,67,68],inclusive:!1},container_ext_db:{rules:[65,66,67,68],inclusive:!1},container_ext:{rules:[65,66,67,68],inclusive:!1},container_queue:{rules:[65,66,67,68],inclusive:!1},container_db:{rules:[65,66,67,68],inclusive:!1},container:{rules:[65,66,67,68],inclusive:!1},birel:{rules:[65,66,67,68],inclusive:!1},system_boundary:{rules:[65,66,67,68],inclusive:!1},enterprise_boundary:{rules:[65,66,67,68],inclusive:!1},boundary:{rules:[65,66,67,68],inclusive:!1},system_ext_queue:{rules:[65,66,67,68],inclusive:!1},system_ext_db:{rules:[65,66,67,68],inclusive:!1},system_ext:{rules:[65,66,67,68],inclusive:!1},system_queue:{rules:[65,66,67,68],inclusive:!1},system_db:{rules:[65,66,67,68],inclusive:!1},system:{rules:[65,66,67,68],inclusive:!1},person_ext:{rules:[65,66,67,68],inclusive:!1},person:{rules:[65,66,67,68],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,82,83,84,85],inclusive:!0}}}}();function st(){this.yy={}}return it.lexer=rt,(0,r.K2)(st,"Parser"),st.prototype=it,it.Parser=st,new st}();o.parser=o;var h,d=o,u=[],p=[""],y="global",g="",f=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],b=[],x="",_=!1,m=4,E=2,S=(0,r.K2)((function(){return h}),"getC4Type"),A=(0,r.K2)((function(t){let e=(0,r.jZ)(t,(0,r.D7)());h=e}),"setC4Type"),C=(0,r.K2)((function(t,e,a,n,i,r,s,l,o){if(null==t||null==e||null==a||null==n)return;let c={};const h=b.find((t=>t.from===e&&t.to===a));if(h?c=h:b.push(c),c.type=t,c.from=e,c.to=a,c.label={text:n},null==i)c.techn={text:""};else if("object"==typeof i){let[t,e]=Object.entries(i)[0];c[t]={text:e}}else c.techn={text:i};if(null==r)c.descr={text:""};else if("object"==typeof r){let[t,e]=Object.entries(r)[0];c[t]={text:e}}else c.descr={text:r};if("object"==typeof s){let[t,e]=Object.entries(s)[0];c[t]=e}else c.sprite=s;if("object"==typeof l){let[t,e]=Object.entries(l)[0];c[t]=e}else c.tags=l;if("object"==typeof o){let[t,e]=Object.entries(o)[0];c[t]=e}else c.link=o;c.wrap=$()}),"addRel"),w=(0,r.K2)((function(t,e,a,n,i,r,s){if(null===e||null===a)return;let l={};const o=u.find((t=>t.alias===e));if(o&&e===o.alias?l=o:(l.alias=e,u.push(l)),l.label=null==a?{text:""}:{text:a},null==n)l.descr={text:""};else if("object"==typeof n){let[t,e]=Object.entries(n)[0];l[t]={text:e}}else l.descr={text:n};if("object"==typeof i){let[t,e]=Object.entries(i)[0];l[t]=e}else l.sprite=i;if("object"==typeof r){let[t,e]=Object.entries(r)[0];l[t]=e}else l.tags=r;if("object"==typeof s){let[t,e]=Object.entries(s)[0];l[t]=e}else l.link=s;l.typeC4Shape={text:t},l.parentBoundary=y,l.wrap=$()}),"addPersonOrSystem"),k=(0,r.K2)((function(t,e,a,n,i,r,s,l){if(null===e||null===a)return;let o={};const c=u.find((t=>t.alias===e));if(c&&e===c.alias?o=c:(o.alias=e,u.push(o)),o.label=null==a?{text:""}:{text:a},null==n)o.techn={text:""};else if("object"==typeof n){let[t,e]=Object.entries(n)[0];o[t]={text:e}}else o.techn={text:n};if(null==i)o.descr={text:""};else if("object"==typeof i){let[t,e]=Object.entries(i)[0];o[t]={text:e}}else o.descr={text:i};if("object"==typeof r){let[t,e]=Object.entries(r)[0];o[t]=e}else o.sprite=r;if("object"==typeof s){let[t,e]=Object.entries(s)[0];o[t]=e}else o.tags=s;if("object"==typeof l){let[t,e]=Object.entries(l)[0];o[t]=e}else o.link=l;o.wrap=$(),o.typeC4Shape={text:t},o.parentBoundary=y}),"addContainer"),O=(0,r.K2)((function(t,e,a,n,i,r,s,l){if(null===e||null===a)return;let o={};const c=u.find((t=>t.alias===e));if(c&&e===c.alias?o=c:(o.alias=e,u.push(o)),o.label=null==a?{text:""}:{text:a},null==n)o.techn={text:""};else if("object"==typeof n){let[t,e]=Object.entries(n)[0];o[t]={text:e}}else o.techn={text:n};if(null==i)o.descr={text:""};else if("object"==typeof i){let[t,e]=Object.entries(i)[0];o[t]={text:e}}else o.descr={text:i};if("object"==typeof r){let[t,e]=Object.entries(r)[0];o[t]=e}else o.sprite=r;if("object"==typeof s){let[t,e]=Object.entries(s)[0];o[t]=e}else o.tags=s;if("object"==typeof l){let[t,e]=Object.entries(l)[0];o[t]=e}else o.link=l;o.wrap=$(),o.typeC4Shape={text:t},o.parentBoundary=y}),"addComponent"),T=(0,r.K2)((function(t,e,a,n,i){if(null===t||null===e)return;let r={};const s=f.find((e=>e.alias===t));if(s&&t===s.alias?r=s:(r.alias=t,f.push(r)),r.label=null==e?{text:""}:{text:e},null==a)r.type={text:"system"};else if("object"==typeof a){let[t,e]=Object.entries(a)[0];r[t]={text:e}}else r.type={text:a};if("object"==typeof n){let[t,e]=Object.entries(n)[0];r[t]=e}else r.tags=n;if("object"==typeof i){let[t,e]=Object.entries(i)[0];r[t]=e}else r.link=i;r.parentBoundary=y,r.wrap=$(),g=y,y=t,p.push(g)}),"addPersonOrSystemBoundary"),v=(0,r.K2)((function(t,e,a,n,i){if(null===t||null===e)return;let r={};const s=f.find((e=>e.alias===t));if(s&&t===s.alias?r=s:(r.alias=t,f.push(r)),r.label=null==e?{text:""}:{text:e},null==a)r.type={text:"container"};else if("object"==typeof a){let[t,e]=Object.entries(a)[0];r[t]={text:e}}else r.type={text:a};if("object"==typeof n){let[t,e]=Object.entries(n)[0];r[t]=e}else r.tags=n;if("object"==typeof i){let[t,e]=Object.entries(i)[0];r[t]=e}else r.link=i;r.parentBoundary=y,r.wrap=$(),g=y,y=t,p.push(g)}),"addContainerBoundary"),R=(0,r.K2)((function(t,e,a,n,i,r,s,l){if(null===e||null===a)return;let o={};const c=f.find((t=>t.alias===e));if(c&&e===c.alias?o=c:(o.alias=e,f.push(o)),o.label=null==a?{text:""}:{text:a},null==n)o.type={text:"node"};else if("object"==typeof n){let[t,e]=Object.entries(n)[0];o[t]={text:e}}else o.type={text:n};if(null==i)o.descr={text:""};else if("object"==typeof i){let[t,e]=Object.entries(i)[0];o[t]={text:e}}else o.descr={text:i};if("object"==typeof s){let[t,e]=Object.entries(s)[0];o[t]=e}else o.tags=s;if("object"==typeof l){let[t,e]=Object.entries(l)[0];o[t]=e}else o.link=l;o.nodeType=t,o.parentBoundary=y,o.wrap=$(),g=y,y=e,p.push(g)}),"addDeploymentNode"),D=(0,r.K2)((function(){y=g,p.pop(),g=p.pop(),p.push(g)}),"popBoundaryParseStack"),N=(0,r.K2)((function(t,e,a,n,i,r,s,l,o,c,h){let d=u.find((t=>t.alias===e));if(void 0!==d||(d=f.find((t=>t.alias===e)),void 0!==d)){if(null!=a)if("object"==typeof a){let[t,e]=Object.entries(a)[0];d[t]=e}else d.bgColor=a;if(null!=n)if("object"==typeof n){let[t,e]=Object.entries(n)[0];d[t]=e}else d.fontColor=n;if(null!=i)if("object"==typeof i){let[t,e]=Object.entries(i)[0];d[t]=e}else d.borderColor=i;if(null!=r)if("object"==typeof r){let[t,e]=Object.entries(r)[0];d[t]=e}else d.shadowing=r;if(null!=s)if("object"==typeof s){let[t,e]=Object.entries(s)[0];d[t]=e}else d.shape=s;if(null!=l)if("object"==typeof l){let[t,e]=Object.entries(l)[0];d[t]=e}else d.sprite=l;if(null!=o)if("object"==typeof o){let[t,e]=Object.entries(o)[0];d[t]=e}else d.techn=o;if(null!=c)if("object"==typeof c){let[t,e]=Object.entries(c)[0];d[t]=e}else d.legendText=c;if(null!=h)if("object"==typeof h){let[t,e]=Object.entries(h)[0];d[t]=e}else d.legendSprite=h}}),"updateElStyle"),P=(0,r.K2)((function(t,e,a,n,i,r,s){const l=b.find((t=>t.from===e&&t.to===a));if(void 0!==l){if(null!=n)if("object"==typeof n){let[t,e]=Object.entries(n)[0];l[t]=e}else l.textColor=n;if(null!=i)if("object"==typeof i){let[t,e]=Object.entries(i)[0];l[t]=e}else l.lineColor=i;if(null!=r)if("object"==typeof r){let[t,e]=Object.entries(r)[0];l[t]=parseInt(e)}else l.offsetX=parseInt(r);if(null!=s)if("object"==typeof s){let[t,e]=Object.entries(s)[0];l[t]=parseInt(e)}else l.offsetY=parseInt(s)}}),"updateRelStyle"),B=(0,r.K2)((function(t,e,a){let n=m,i=E;if("object"==typeof e){const t=Object.values(e)[0];n=parseInt(t)}else n=parseInt(e);if("object"==typeof a){const t=Object.values(a)[0];i=parseInt(t)}else i=parseInt(a);n>=1&&(m=n),i>=1&&(E=i)}),"updateLayoutConfig"),I=(0,r.K2)((function(){return m}),"getC4ShapeInRow"),M=(0,r.K2)((function(){return E}),"getC4BoundaryInRow"),j=(0,r.K2)((function(){return y}),"getCurrentBoundaryParse"),K=(0,r.K2)((function(){return g}),"getParentBoundaryParse"),L=(0,r.K2)((function(t){return null==t?u:u.filter((e=>e.parentBoundary===t))}),"getC4ShapeArray"),Y=(0,r.K2)((function(t){return u.find((e=>e.alias===t))}),"getC4Shape"),U=(0,r.K2)((function(t){return Object.keys(L(t))}),"getC4ShapeKeys"),F=(0,r.K2)((function(t){return null==t?f:f.filter((e=>e.parentBoundary===t))}),"getBoundaries"),X=F,z=(0,r.K2)((function(){return b}),"getRels"),W=(0,r.K2)((function(){return x}),"getTitle"),Q=(0,r.K2)((function(t){_=t}),"setWrap"),$=(0,r.K2)((function(){return _}),"autoWrap"),H=(0,r.K2)((function(){u=[],f=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],g="",y="global",p=[""],b=[],p=[""],x="",_=!1,m=4,E=2}),"clear"),q=(0,r.K2)((function(t){let e=(0,r.jZ)(t,(0,r.D7)());x=e}),"setTitle"),V={addPersonOrSystem:w,addPersonOrSystemBoundary:T,addContainer:k,addContainerBoundary:v,addComponent:O,addDeploymentNode:R,popBoundaryParseStack:D,addRel:C,updateElStyle:N,updateRelStyle:P,updateLayoutConfig:B,autoWrap:$,setWrap:Q,getC4ShapeArray:L,getC4Shape:Y,getC4ShapeKeys:U,getBoundaries:F,getBoundarys:X,getCurrentBoundaryParse:j,getParentBoundaryParse:K,getRels:z,getTitle:W,getC4Type:S,getC4ShapeInRow:I,getC4BoundaryInRow:M,setAccTitle:r.SV,getAccTitle:r.iN,getAccDescription:r.m7,setAccDescription:r.EI,getConfig:(0,r.K2)((()=>(0,r.D7)().c4),"getConfig"),clear:H,LINETYPE:{SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25},ARROWTYPE:{FILLED:0,OPEN:1},PLACEMENT:{LEFTOF:0,RIGHTOF:1,OVER:2},setTitle:q,setC4Type:A},G=(0,r.K2)((function(t,e){return(0,n.tk)(t,e)}),"drawRect"),J=(0,r.K2)((function(t,e,a,n,i,r){const s=t.append("image");s.attr("width",e),s.attr("height",a),s.attr("x",n),s.attr("y",i);let o=r.startsWith("data:image/png;base64")?r:(0,l.J)(r);s.attr("xlink:href",o)}),"drawImage"),Z=(0,r.K2)(((t,e,a)=>{const n=t.append("g");let i=0;for(let t of e){let e=t.textColor?t.textColor:"#444444",r=t.lineColor?t.lineColor:"#444444",s=t.offsetX?parseInt(t.offsetX):0,l=t.offsetY?parseInt(t.offsetY):0,o="";if(0===i){let e=n.append("line");e.attr("x1",t.startPoint.x),e.attr("y1",t.startPoint.y),e.attr("x2",t.endPoint.x),e.attr("y2",t.endPoint.y),e.attr("stroke-width","1"),e.attr("stroke",r),e.style("fill","none"),"rel_b"!==t.type&&e.attr("marker-end","url("+o+"#arrowhead)"),"birel"!==t.type&&"rel_b"!==t.type||e.attr("marker-start","url("+o+"#arrowend)"),i=-1}else{let e=n.append("path");e.attr("fill","none").attr("stroke-width","1").attr("stroke",r).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",t.startPoint.x).replaceAll("starty",t.startPoint.y).replaceAll("controlx",t.startPoint.x+(t.endPoint.x-t.startPoint.x)/2-(t.endPoint.x-t.startPoint.x)/4).replaceAll("controly",t.startPoint.y+(t.endPoint.y-t.startPoint.y)/2).replaceAll("stopx",t.endPoint.x).replaceAll("stopy",t.endPoint.y)),"rel_b"!==t.type&&e.attr("marker-end","url("+o+"#arrowhead)"),"birel"!==t.type&&"rel_b"!==t.type||e.attr("marker-start","url("+o+"#arrowend)")}let c=a.messageFont();dt(a)(t.label.text,n,Math.min(t.startPoint.x,t.endPoint.x)+Math.abs(t.endPoint.x-t.startPoint.x)/2+s,Math.min(t.startPoint.y,t.endPoint.y)+Math.abs(t.endPoint.y-t.startPoint.y)/2+l,t.label.width,t.label.height,{fill:e},c),t.techn&&""!==t.techn.text&&(c=a.messageFont(),dt(a)("["+t.techn.text+"]",n,Math.min(t.startPoint.x,t.endPoint.x)+Math.abs(t.endPoint.x-t.startPoint.x)/2+s,Math.min(t.startPoint.y,t.endPoint.y)+Math.abs(t.endPoint.y-t.startPoint.y)/2+a.messageFontSize+5+l,Math.max(t.label.width,t.techn.width),t.techn.height,{fill:e,"font-style":"italic"},c))}}),"drawRels"),tt=(0,r.K2)((function(t,e,a){const n=t.append("g");let i=e.bgColor?e.bgColor:"none",r=e.borderColor?e.borderColor:"#444444",s=e.fontColor?e.fontColor:"black",l={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};e.nodeType&&(l={"stroke-width":1});let o={x:e.x,y:e.y,fill:i,stroke:r,width:e.width,height:e.height,rx:2.5,ry:2.5,attrs:l};G(n,o);let c=a.boundaryFont();c.fontWeight="bold",c.fontSize=c.fontSize+2,c.fontColor=s,dt(a)(e.label.text,n,e.x,e.y+e.label.Y,e.width,e.height,{fill:"#444444"},c),e.type&&""!==e.type.text&&(c=a.boundaryFont(),c.fontColor=s,dt(a)(e.type.text,n,e.x,e.y+e.type.Y,e.width,e.height,{fill:"#444444"},c)),e.descr&&""!==e.descr.text&&(c=a.boundaryFont(),c.fontSize=c.fontSize-2,c.fontColor=s,dt(a)(e.descr.text,n,e.x,e.y+e.descr.Y,e.width,e.height,{fill:"#444444"},c))}),"drawBoundary"),et=(0,r.K2)((function(t,e,a){let i=e.bgColor?e.bgColor:a[e.typeC4Shape.text+"_bg_color"],r=e.borderColor?e.borderColor:a[e.typeC4Shape.text+"_border_color"],s=e.fontColor?e.fontColor:"#FFFFFF",l="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(e.typeC4Shape.text){case"person":l="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";break;case"external_person":l="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII="}const o=t.append("g");o.attr("class","person-man");const c=(0,n.PB)();switch(e.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":c.x=e.x,c.y=e.y,c.fill=i,c.width=e.width,c.height=e.height,c.stroke=r,c.rx=2.5,c.ry=2.5,c.attrs={"stroke-width":.5},G(o,c);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":o.append("path").attr("fill",i).attr("stroke-width","0.5").attr("stroke",r).attr("d","Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2).replaceAll("height",e.height)),o.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",r).attr("d","Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":o.append("path").attr("fill",i).attr("stroke-width","0.5").attr("stroke",r).attr("d","Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("width",e.width).replaceAll("half",e.height/2)),o.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",r).attr("d","Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx",e.x+e.width).replaceAll("starty",e.y).replaceAll("half",e.height/2))}let h=ht(a,e.typeC4Shape.text);switch(o.append("text").attr("fill",s).attr("font-family",h.fontFamily).attr("font-size",h.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",e.typeC4Shape.width).attr("x",e.x+e.width/2-e.typeC4Shape.width/2).attr("y",e.y+e.typeC4Shape.Y).text("<<"+e.typeC4Shape.text+">>"),e.typeC4Shape.text){case"person":case"external_person":J(o,48,48,e.x+e.width/2-24,e.y+e.image.Y,l)}let d=a[e.typeC4Shape.text+"Font"]();return d.fontWeight="bold",d.fontSize=d.fontSize+2,d.fontColor=s,dt(a)(e.label.text,o,e.x,e.y+e.label.Y,e.width,e.height,{fill:s},d),d=a[e.typeC4Shape.text+"Font"](),d.fontColor=s,e.techn&&""!==e.techn?.text?dt(a)(e.techn.text,o,e.x,e.y+e.techn.Y,e.width,e.height,{fill:s,"font-style":"italic"},d):e.type&&""!==e.type.text&&dt(a)(e.type.text,o,e.x,e.y+e.type.Y,e.width,e.height,{fill:s,"font-style":"italic"},d),e.descr&&""!==e.descr.text&&(d=a.personFont(),d.fontColor=s,dt(a)(e.descr.text,o,e.x,e.y+e.descr.Y,e.width,e.height,{fill:s},d)),e.height}),"drawC4Shape"),at=(0,r.K2)((function(t){t.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")}),"insertDatabaseIcon"),nt=(0,r.K2)((function(t){t.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")}),"insertComputerIcon"),it=(0,r.K2)((function(t){t.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")}),"insertClockIcon"),rt=(0,r.K2)((function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")}),"insertArrowHead"),st=(0,r.K2)((function(t){t.append("defs").append("marker").attr("id","arrowend").attr("refX",1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z")}),"insertArrowEnd"),lt=(0,r.K2)((function(t){t.append("defs").append("marker").attr("id","filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")}),"insertArrowFilledHead"),ot=(0,r.K2)((function(t){t.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)}),"insertDynamicNumber"),ct=(0,r.K2)((function(t){const e=t.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);e.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),e.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")}),"insertArrowCrossHead"),ht=(0,r.K2)(((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]})),"getC4ShapeFont"),dt=function(){function t(t,e,a,i,r,s,l){n(e.append("text").attr("x",a+r/2).attr("y",i+s/2+5).style("text-anchor","middle").text(t),l)}function e(t,e,a,i,s,l,o,c){const{fontSize:h,fontFamily:d,fontWeight:u}=c,p=t.split(r.Y2.lineBreakRegex);for(let t=0;t=this.data.widthLimit||a>=this.data.widthLimit||this.nextData.cnt>gt)&&(e=this.nextData.startx+t.margin+bt.nextLinePaddingX,n=this.nextData.stopy+2*t.margin,this.nextData.stopx=a=e+t.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=i=n+t.height,this.nextData.cnt=1),t.x=e,t.y=n,this.updateVal(this.data,"startx",e,Math.min),this.updateVal(this.data,"starty",n,Math.min),this.updateVal(this.data,"stopx",a,Math.max),this.updateVal(this.data,"stopy",i,Math.max),this.updateVal(this.nextData,"startx",e,Math.min),this.updateVal(this.nextData,"starty",n,Math.min),this.updateVal(this.nextData,"stopx",a,Math.max),this.updateVal(this.nextData,"stopy",i,Math.max)}init(t){this.name="",this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,widthLimit:void 0},this.nextData={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,cnt:0},_t(t.db.getConfig())}bumpLastMargin(t){this.data.stopx+=t,this.data.stopy+=t}},_t=(0,r.K2)((function(t){(0,r.hH)(bt,t),t.fontFamily&&(bt.personFontFamily=bt.systemFontFamily=bt.messageFontFamily=t.fontFamily),t.fontSize&&(bt.personFontSize=bt.systemFontSize=bt.messageFontSize=t.fontSize),t.fontWeight&&(bt.personFontWeight=bt.systemFontWeight=bt.messageFontWeight=t.fontWeight)}),"setConf"),mt=(0,r.K2)(((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]})),"c4ShapeFont"),Et=(0,r.K2)((t=>({fontFamily:t.boundaryFontFamily,fontSize:t.boundaryFontSize,fontWeight:t.boundaryFontWeight})),"boundaryFont"),St=(0,r.K2)((t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight})),"messageFont");function At(t,e,a,n,s){if(!e[t].width)if(a)e[t].text=(0,i.bH)(e[t].text,s,n),e[t].textLines=e[t].text.split(r.Y2.lineBreakRegex).length,e[t].width=s,e[t].height=(0,i.ru)(e[t].text,n);else{let a=e[t].text.split(r.Y2.lineBreakRegex);e[t].textLines=a.length;let s=0;e[t].height=0,e[t].width=0;for(const r of a)e[t].width=Math.max((0,i.Un)(r,n),e[t].width),s=(0,i.ru)(r,n),e[t].height=e[t].height+s}}(0,r.K2)(At,"calcC4ShapeTextWH");var Ct=(0,r.K2)((function(t,e,a){e.x=a.data.startx,e.y=a.data.starty,e.width=a.data.stopx-a.data.startx,e.height=a.data.stopy-a.data.starty,e.label.y=bt.c4ShapeMargin-35;let n=e.wrap&&bt.wrap,r=Et(bt);r.fontSize=r.fontSize+2,r.fontWeight="bold",At("label",e,n,r,(0,i.Un)(e.label.text,r)),ut.drawBoundary(t,e,bt)}),"drawBoundary"),wt=(0,r.K2)((function(t,e,a,n){let r=0;for(const s of n){r=0;const n=a[s];let l=mt(bt,n.typeC4Shape.text);switch(l.fontSize=l.fontSize-2,n.typeC4Shape.width=(0,i.Un)("«"+n.typeC4Shape.text+"»",l),n.typeC4Shape.height=l.fontSize+2,n.typeC4Shape.Y=bt.c4ShapePadding,r=n.typeC4Shape.Y+n.typeC4Shape.height-4,n.image={width:0,height:0,Y:0},n.typeC4Shape.text){case"person":case"external_person":n.image.width=48,n.image.height=48,n.image.Y=r,r=n.image.Y+n.image.height}n.sprite&&(n.image.width=48,n.image.height=48,n.image.Y=r,r=n.image.Y+n.image.height);let o=n.wrap&&bt.wrap,c=bt.width-2*bt.c4ShapePadding,h=mt(bt,n.typeC4Shape.text);h.fontSize=h.fontSize+2,h.fontWeight="bold",At("label",n,o,h,c),n.label.Y=r+8,r=n.label.Y+n.label.height,n.type&&""!==n.type.text?(n.type.text="["+n.type.text+"]",At("type",n,o,mt(bt,n.typeC4Shape.text),c),n.type.Y=r+5,r=n.type.Y+n.type.height):n.techn&&""!==n.techn.text&&(n.techn.text="["+n.techn.text+"]",At("techn",n,o,mt(bt,n.techn.text),c),n.techn.Y=r+5,r=n.techn.Y+n.techn.height);let d=r,u=n.label.width;n.descr&&""!==n.descr.text&&(At("descr",n,o,mt(bt,n.typeC4Shape.text),c),n.descr.Y=r+20,r=n.descr.Y+n.descr.height,u=Math.max(n.label.width,n.descr.width),d=r-5*n.descr.textLines),u+=bt.c4ShapePadding,n.width=Math.max(n.width||bt.width,u,bt.width),n.height=Math.max(n.height||bt.height,d,bt.height),n.margin=n.margin||bt.c4ShapeMargin,t.insert(n),ut.drawC4Shape(e,n,bt)}t.bumpLastMargin(bt.c4ShapeMargin)}),"drawC4ShapeArray"),kt=class{static{(0,r.K2)(this,"Point")}constructor(t,e){this.x=t,this.y=e}},Ot=(0,r.K2)((function(t,e){let a=t.x,n=t.y,i=e.x,r=e.y,s=a+t.width/2,l=n+t.height/2,o=Math.abs(a-i),c=Math.abs(n-r),h=c/o,d=t.height/t.width,u=null;return n==r&&ai?u=new kt(a,l):a==i&&nr&&(u=new kt(s,n)),a>i&&n=h?new kt(a,l+h*t.width/2):new kt(s-o/c*t.height/2,n+t.height):a=h?new kt(a+t.width,l+h*t.width/2):new kt(s+o/c*t.height/2,n+t.height):ar?u=d>=h?new kt(a+t.width,l-h*t.width/2):new kt(s+t.height/2*o/c,n):a>i&&n>r&&(u=d>=h?new kt(a,l-t.width/2*h):new kt(s-t.height/2*o/c,n)),u}),"getIntersectPoint"),Tt=(0,r.K2)((function(t,e){let a={x:0,y:0};a.x=e.x+e.width/2,a.y=e.y+e.height/2;let n=Ot(t,a);return a.x=t.x+t.width/2,a.y=t.y+t.height/2,{startPoint:n,endPoint:Ot(e,a)}}),"getIntersectPoints"),vt=(0,r.K2)((function(t,e,a,n){let r=0;for(let t of e){r+=1;let e=t.wrap&&bt.wrap,s=St(bt);"C4Dynamic"===n.db.getC4Type()&&(t.label.text=r+": "+t.label.text);let l=(0,i.Un)(t.label.text,s);At("label",t,e,s,l),t.techn&&""!==t.techn.text&&(l=(0,i.Un)(t.techn.text,s),At("techn",t,e,s,l)),t.descr&&""!==t.descr.text&&(l=(0,i.Un)(t.descr.text,s),At("descr",t,e,s,l));let o=a(t.from),c=a(t.to),h=Tt(o,c);t.startPoint=h.startPoint,t.endPoint=h.endPoint}ut.drawRels(t,e,bt)}),"drawRels");function Rt(t,e,a,n,i){let r=new xt(i);r.data.widthLimit=a.data.widthLimit/Math.min(ft,n.length);for(let[s,l]of n.entries()){let n=0;l.image={width:0,height:0,Y:0},l.sprite&&(l.image.width=48,l.image.height=48,l.image.Y=n,n=l.image.Y+l.image.height);let o=l.wrap&&bt.wrap,c=Et(bt);if(c.fontSize=c.fontSize+2,c.fontWeight="bold",At("label",l,o,c,r.data.widthLimit),l.label.Y=n+8,n=l.label.Y+l.label.height,l.type&&""!==l.type.text&&(l.type.text="["+l.type.text+"]",At("type",l,o,Et(bt),r.data.widthLimit),l.type.Y=n+5,n=l.type.Y+l.type.height),l.descr&&""!==l.descr.text){let t=Et(bt);t.fontSize=t.fontSize-2,At("descr",l,o,t,r.data.widthLimit),l.descr.Y=n+20,n=l.descr.Y+l.descr.height}if(0==s||s%ft==0){let t=a.data.startx+bt.diagramMarginX,e=a.data.stopy+bt.diagramMarginY+n;r.setData(t,t,e,e)}else{let t=r.data.stopx!==r.data.startx?r.data.stopx+bt.diagramMarginX:r.data.startx,e=r.data.starty;r.setData(t,t,e,e)}r.name=l.alias;let h=i.db.getC4ShapeArray(l.alias),d=i.db.getC4ShapeKeys(l.alias);d.length>0&&wt(r,t,h,d),e=l.alias;let u=i.db.getBoundarys(e);u.length>0&&Rt(t,e,r,u,i),"global"!==l.alias&&Ct(t,l,r),a.data.stopy=Math.max(r.data.stopy+bt.c4ShapeMargin,a.data.stopy),a.data.stopx=Math.max(r.data.stopx+bt.c4ShapeMargin,a.data.stopx),pt=Math.max(pt,a.data.stopx),yt=Math.max(yt,a.data.stopy)}}(0,r.K2)(Rt,"drawInsideBoundary");var Dt={drawPersonOrSystemArray:wt,drawBoundary:Ct,setConf:_t,draw:(0,r.K2)((function(t,e,a,n){bt=(0,r.D7)().c4;const i=(0,r.D7)().securityLevel;let l;"sandbox"===i&&(l=(0,s.Ltv)("#i"+e));const o="sandbox"===i?(0,s.Ltv)(l.nodes()[0].contentDocument.body):(0,s.Ltv)("body");let c=n.db;n.db.setWrap(bt.wrap),gt=c.getC4ShapeInRow(),ft=c.getC4BoundaryInRow(),r.Rm.debug(`C:${JSON.stringify(bt,null,2)}`);const h="sandbox"===i?o.select(`[id="${e}"]`):(0,s.Ltv)(`[id="${e}"]`);ut.insertComputerIcon(h),ut.insertDatabaseIcon(h),ut.insertClockIcon(h);let d=new xt(n);d.setData(bt.diagramMarginX,bt.diagramMarginX,bt.diagramMarginY,bt.diagramMarginY),d.data.widthLimit=screen.availWidth,pt=bt.diagramMarginX,yt=bt.diagramMarginY;const u=n.db.getTitle();Rt(h,"",d,n.db.getBoundarys(""),n),ut.insertArrowHead(h),ut.insertArrowEnd(h),ut.insertArrowCrossHead(h),ut.insertArrowFilledHead(h),vt(h,n.db.getRels(),n.db.getC4Shape,n),d.data.stopx=pt,d.data.stopy=yt;const p=d.data;let y=p.stopy-p.starty+2*bt.diagramMarginY;const g=p.stopx-p.startx+2*bt.diagramMarginX;u&&h.append("text").text(u).attr("x",(p.stopx-p.startx)/2-4*bt.diagramMarginX).attr("y",p.starty+bt.diagramMarginY),(0,r.a$)(h,y,g,bt.useMaxWidth);const f=u?60:0;h.attr("viewBox",p.startx-bt.diagramMarginX+" -"+(bt.diagramMarginY+f)+" "+g+" "+(y+f)),r.Rm.debug("models:",p)}),"draw")},Nt={parser:d,db:V,renderer:Dt,styles:(0,r.K2)((t=>`.person {\n stroke: ${t.personBorder};\n fill: ${t.personBkg};\n }\n`),"getStyles"),init:(0,r.K2)((({c4:t,wrap:e})=>{Dt.setConf(t),V.setWrap(e)}),"init")}},3814:(t,e,a)=>{a.d(e,{CP:()=>c,HT:()=>d,PB:()=>h,aC:()=>o,lC:()=>s,m:()=>l,tk:()=>r});var n=a(9502),i=a(6750),r=(0,n.K2)(((t,e)=>{const a=t.append("rect");if(a.attr("x",e.x),a.attr("y",e.y),a.attr("fill",e.fill),a.attr("stroke",e.stroke),a.attr("width",e.width),a.attr("height",e.height),e.name&&a.attr("name",e.name),e.rx&&a.attr("rx",e.rx),e.ry&&a.attr("ry",e.ry),void 0!==e.attrs)for(const t in e.attrs)a.attr(t,e.attrs[t]);return e.class&&a.attr("class",e.class),a}),"drawRect"),s=(0,n.K2)(((t,e)=>{const a={x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"};r(t,a).lower()}),"drawBackgroundRect"),l=(0,n.K2)(((t,e)=>{const a=e.text.replace(n.H1," "),i=t.append("text");i.attr("x",e.x),i.attr("y",e.y),i.attr("class","legend"),i.style("text-anchor",e.anchor),e.class&&i.attr("class",e.class);const r=i.append("tspan");return r.attr("x",e.x+2*e.textMargin),r.text(a),i}),"drawText"),o=(0,n.K2)(((t,e,a,n)=>{const r=t.append("image");r.attr("x",e),r.attr("y",a);const s=(0,i.J)(n);r.attr("xlink:href",s)}),"drawImage"),c=(0,n.K2)(((t,e,a,n)=>{const r=t.append("use");r.attr("x",e),r.attr("y",a);const s=(0,i.J)(n);r.attr("xlink:href",`#${s}`)}),"drawEmbeddedImage"),h=(0,n.K2)((()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0})),"getNoteRect"),d=(0,n.K2)((()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0})),"getTextObj")}}]); \ No newline at end of file diff --git a/docs/hugo/public/js/691-2a6930fd.chunk.min.js b/docs/hugo/public/js/691-2a6930fd.chunk.min.js new file mode 100644 index 000000000..159bfeef5 --- /dev/null +++ b/docs/hugo/public/js/691-2a6930fd.chunk.min.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgeekdoc=self.webpackChunkgeekdoc||[]).push([[691],{7691:(t,e,n)=>{n.d(e,{diagram:()=>J});var i=n(9502),s=n(4852),r=n(5097),a=n(8041),o=n(5263),c=function(){var t=(0,i.K2)((function(t,e,n,i){for(n=n||{},i=t.length;i--;n[t[i]]=e);return n}),"o"),e=[6,8,10,11,12,14,16,17,20,21],n=[1,9],s=[1,10],r=[1,11],a=[1,12],o=[1,13],c=[1,16],l=[1,17],h={trace:(0,i.K2)((function(){}),"trace"),yy:{},symbols_:{error:2,start:3,timeline:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,period_statement:18,event_statement:19,period:20,event:21,$accept:0,$end:1},terminals_:{2:"error",4:"timeline",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",20:"period",21:"event"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[18,1],[19,1]],performAction:(0,i.K2)((function(t,e,n,i,s,r,a){var o=r.length-1;switch(s){case 1:return r[o-1];case 2:case 6:case 7:this.$=[];break;case 3:r[o-1].push(r[o]),this.$=r[o-1];break;case 4:case 5:this.$=r[o];break;case 8:i.getCommonDb().setDiagramTitle(r[o].substr(6)),this.$=r[o].substr(6);break;case 9:this.$=r[o].trim(),i.getCommonDb().setAccTitle(this.$);break;case 10:case 11:this.$=r[o].trim(),i.getCommonDb().setAccDescription(this.$);break;case 12:i.addSection(r[o].substr(8)),this.$=r[o].substr(8);break;case 15:i.addTask(r[o],0,""),this.$=r[o];break;case 16:i.addEvent(r[o].substr(2)),this.$=r[o]}}),"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:n,12:s,14:r,16:a,17:o,18:14,19:15,20:c,21:l},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:18,11:n,12:s,14:r,16:a,17:o,18:14,19:15,20:c,21:l},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,19]},{15:[1,20]},t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),t(e,[2,4]),t(e,[2,9]),t(e,[2,10])],defaultActions:{},parseError:(0,i.K2)((function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)}),"parseError"),parse:(0,i.K2)((function(t){var e=this,n=[0],s=[],r=[null],a=[],o=this.table,c="",l=0,h=0,d=0,u=a.slice.call(arguments,1),p=Object.create(this.lexer),y={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(y.yy[g]=this.yy[g]);p.setInput(t,y.yy),y.yy.lexer=p,y.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var f=p.yylloc;a.push(f);var m=p.options&&p.options.ranges;function x(){var t;return"number"!=typeof(t=s.pop()||p.lex()||1)&&(t instanceof Array&&(t=(s=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,i.K2)((function(t){n.length=n.length-2*t,r.length=r.length-t,a.length=a.length-t}),"popStack"),(0,i.K2)(x,"lex");for(var b,k,_,w,v,K,S,$,E,T={};;){if(_=n[n.length-1],this.defaultActions[_]?w=this.defaultActions[_]:(null==b&&(b=x()),w=o[_]&&o[_][b]),void 0===w||!w.length||!w[0]){var I;for(K in E=[],o[_])this.terminals_[K]&&K>2&&E.push("'"+this.terminals_[K]+"'");I=p.showPosition?"Parse error on line "+(l+1)+":\n"+p.showPosition()+"\nExpecting "+E.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==b?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(I,{text:p.match,token:this.terminals_[b]||b,line:p.yylineno,loc:f,expected:E})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+_+", token: "+b);switch(w[0]){case 1:n.push(b),r.push(p.yytext),a.push(p.yylloc),n.push(w[1]),b=null,k?(b=k,k=null):(h=p.yyleng,c=p.yytext,l=p.yylineno,f=p.yylloc,d>0&&d--);break;case 2:if(S=this.productions_[w[1]][1],T.$=r[r.length-S],T._$={first_line:a[a.length-(S||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(S||1)].first_column,last_column:a[a.length-1].last_column},m&&(T._$.range=[a[a.length-(S||1)].range[0],a[a.length-1].range[1]]),void 0!==(v=this.performAction.apply(T,[c,h,l,y.yy,w[1],r,a].concat(u))))return v;S&&(n=n.slice(0,-1*S*2),r=r.slice(0,-1*S),a=a.slice(0,-1*S)),n.push(this.productions_[w[1]][0]),r.push(T.$),a.push(T._$),$=o[n[n.length-2]][n[n.length-1]],n.push($);break;case 3:return!0}}return!0}),"parse")},d=function(){return{EOF:1,parseError:(0,i.K2)((function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)}),"parseError"),setInput:(0,i.K2)((function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this}),"setInput"),input:(0,i.K2)((function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t}),"input"),unput:(0,i.K2)((function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var s=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[s[0],s[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this}),"unput"),more:(0,i.K2)((function(){return this._more=!0,this}),"more"),reject:(0,i.K2)((function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"reject"),less:(0,i.K2)((function(t){this.unput(this.match.slice(t))}),"less"),pastInput:(0,i.K2)((function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")}),"pastInput"),upcomingInput:(0,i.K2)((function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")}),"upcomingInput"),showPosition:(0,i.K2)((function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"}),"showPosition"),test_match:(0,i.K2)((function(t,e){var n,i,s;if(this.options.backtrack_lexer&&(s={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(s.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var r in s)this[r]=s[r];return!1}return!1}),"test_match"),next:(0,i.K2)((function(){if(this.done)return this.EOF;var t,e,n,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var s=this._currentRules(),r=0;re[0].length)){if(e=n,i=r,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,s[r])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,s[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"next"),lex:(0,i.K2)((function(){return this.next()||this.lex()}),"lex"),begin:(0,i.K2)((function(t){this.conditionStack.push(t)}),"begin"),popState:(0,i.K2)((function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]}),"popState"),_currentRules:(0,i.K2)((function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules}),"_currentRules"),topState:(0,i.K2)((function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"}),"topState"),pushState:(0,i.K2)((function(t){this.begin(t)}),"pushState"),stateStackSize:(0,i.K2)((function(){return this.conditionStack.length}),"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,i.K2)((function(t,e,n,i){switch(n){case 0:case 1:case 3:case 4:break;case 2:return 10;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 21;case 16:return 20;case 17:return 6;case 18:return"INVALID"}}),"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^:\n]+)/i,/^(?::\s[^:\n]+)/i,/^(?:[^#:\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18],inclusive:!0}}}}();function u(){this.yy={}}return h.lexer=d,(0,i.K2)(u,"Parser"),u.prototype=h,h.Parser=u,new u}();c.parser=c;var l=c,h={};(0,i.VA)(h,{addEvent:()=>w,addSection:()=>x,addTask:()=>_,addTaskOrg:()=>v,clear:()=>m,default:()=>S,getCommonDb:()=>f,getSections:()=>b,getTasks:()=>k});var d="",u=0,p=[],y=[],g=[],f=(0,i.K2)((()=>i.Wt),"getCommonDb"),m=(0,i.K2)((function(){p.length=0,y.length=0,d="",g.length=0,(0,i.IU)()}),"clear"),x=(0,i.K2)((function(t){d=t,p.push(t)}),"addSection"),b=(0,i.K2)((function(){return p}),"getSections"),k=(0,i.K2)((function(){let t=K(),e=0;for(;!t&&e<100;)t=K(),e++;return y.push(...g),y}),"getTasks"),_=(0,i.K2)((function(t,e,n){const i={id:u++,section:d,type:d,task:t,score:e||0,events:n?[n]:[]};g.push(i)}),"addTask"),w=(0,i.K2)((function(t){g.find((t=>t.id===u-1)).events.push(t)}),"addEvent"),v=(0,i.K2)((function(t){const e={section:d,type:d,description:t,task:t,classes:[]};y.push(e)}),"addTaskOrg"),K=(0,i.K2)((function(){const t=(0,i.K2)((function(t){return g[t].processed}),"compileTask");let e=!0;for(const[n,i]of g.entries())t(n),e=e&&i.processed;return e}),"compileTasks"),S={clear:m,getCommonDb:f,addSection:x,getSections:b,getTasks:k,addTask:_,addTaskOrg:v,addEvent:w},$=(0,i.K2)((function(t,e){const n=t.append("rect");return n.attr("x",e.x),n.attr("y",e.y),n.attr("fill",e.fill),n.attr("stroke",e.stroke),n.attr("width",e.width),n.attr("height",e.height),n.attr("rx",e.rx),n.attr("ry",e.ry),void 0!==e.class&&n.attr("class",e.class),n}),"drawRect"),E=(0,i.K2)((function(t,e){const n=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),r=t.append("g");function a(t){const n=(0,s.JLW)().startAngle(Math.PI/2).endAngle(Math.PI/2*3).innerRadius(7.5).outerRadius(15/2.2);t.append("path").attr("class","mouth").attr("d",n).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}function o(t){const n=(0,s.JLW)().startAngle(3*Math.PI/2).endAngle(Math.PI/2*5).innerRadius(7.5).outerRadius(15/2.2);t.append("path").attr("class","mouth").attr("d",n).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}function c(t){t.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return r.append("circle").attr("cx",e.cx-5).attr("cy",e.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),r.append("circle").attr("cx",e.cx+5).attr("cy",e.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),(0,i.K2)(a,"smile"),(0,i.K2)(o,"sad"),(0,i.K2)(c,"ambivalent"),e.score>3?a(r):e.score<3?o(r):c(r),n}),"drawFace"),T=(0,i.K2)((function(t,e){const n=t.append("circle");return n.attr("cx",e.cx),n.attr("cy",e.cy),n.attr("class","actor-"+e.pos),n.attr("fill",e.fill),n.attr("stroke",e.stroke),n.attr("r",e.r),void 0!==n.class&&n.attr("class",n.class),void 0!==e.title&&n.append("title").text(e.title),n}),"drawCircle"),I=(0,i.K2)((function(t,e){const n=e.text.replace(//gi," "),i=t.append("text");i.attr("x",e.x),i.attr("y",e.y),i.attr("class","legend"),i.style("text-anchor",e.anchor),void 0!==e.class&&i.attr("class",e.class);const s=i.append("tspan");return s.attr("x",e.x+2*e.textMargin),s.text(n),i}),"drawText"),R=(0,i.K2)((function(t,e){function n(t,e,n,i,s){return t+","+e+" "+(t+n)+","+e+" "+(t+n)+","+(e+i-s)+" "+(t+n-1.2*s)+","+(e+i)+" "+t+","+(e+i)}(0,i.K2)(n,"genPoints");const s=t.append("polygon");s.attr("points",n(e.x,e.y,50,20,7)),s.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,I(t,e)}),"drawLabel"),A=(0,i.K2)((function(t,e,n){const i=t.append("g"),s=P();s.x=e.x,s.y=e.y,s.fill=e.fill,s.width=n.width,s.height=n.height,s.class="journey-section section-type-"+e.num,s.rx=3,s.ry=3,$(i,s),H(n)(e.text,i,s.x,s.y,s.width,s.height,{class:"journey-section section-type-"+e.num},n,e.colour)}),"drawSection"),L=-1,M=(0,i.K2)((function(t,e,n){const i=e.x+n.width/2,s=t.append("g");L++,s.append("line").attr("id","task"+L).attr("x1",i).attr("y1",e.y).attr("x2",i).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),E(s,{cx:i,cy:300+30*(5-e.score),score:e.score});const r=P();r.x=e.x,r.y=e.y,r.fill=e.fill,r.width=n.width,r.height=n.height,r.class="task task-type-"+e.num,r.rx=3,r.ry=3,$(s,r),H(n)(e.task,s,r.x,r.y,r.width,r.height,{class:"task"},n,e.colour)}),"drawTask"),C=(0,i.K2)((function(t,e){$(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,class:"rect"}).lower()}),"drawBackgroundRect"),N=(0,i.K2)((function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}}),"getTextObj"),P=(0,i.K2)((function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}}),"getNoteRect"),H=function(){function t(t,e,n,i,r,a,o,c){s(e.append("text").attr("x",n+r/2).attr("y",i+a/2+5).style("font-color",c).style("text-anchor","middle").text(t),o)}function e(t,e,n,i,r,a,o,c,l){const{taskFontSize:h,taskFontFamily:d}=c,u=t.split(//gi);for(let t=0;t)/).reverse(),r=[],a=n.attr("y"),o=parseFloat(n.attr("dy")),c=n.text(null).append("tspan").attr("x",0).attr("y",a).attr("dy",o+"em");for(let s=0;se||"
    "===t)&&(r.pop(),c.text(r.join(" ").trim()),r="
    "===t?[""]:[t],c=n.append("tspan").attr("x",0).attr("y",a).attr("dy","1.1em").text(t))}))}(0,i.K2)(j,"wrap");var D=(0,i.K2)((function(t,e,n,i){const s=n%12-1,r=t.append("g");e.section=s,r.attr("class",(e.class?e.class+" ":"")+"timeline-node section-"+s);const a=r.append("g"),o=r.append("g"),c=o.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(j,e.width).node().getBBox(),l=i.fontSize?.replace?i.fontSize.replace("px",""):i.fontSize;return e.height=c.height+1.1*l*.5+e.padding,e.height=Math.max(e.height,e.maxHeight),e.width=e.width+2*e.padding,o.attr("transform","translate("+e.width/2+", "+e.padding/2+")"),W(a,e,s,i),e}),"drawNode"),z=(0,i.K2)((function(t,e,n){const i=t.append("g"),s=i.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(j,e.width).node().getBBox(),r=n.fontSize?.replace?n.fontSize.replace("px",""):n.fontSize;return i.remove(),s.height+1.1*r*.5+e.padding}),"getVirtualNodeHeight"),W=(0,i.K2)((function(t,e,n){t.append("path").attr("id","node-"+e.id).attr("class","node-bkg node-"+e.type).attr("d",`M0 ${e.height-5} v${10-e.height} q0,-5 5,-5 h${e.width-10} q5,0 5,5 v${e.height-5} H0 Z`),t.append("line").attr("class","node-line-"+n).attr("x1",0).attr("y1",e.height).attr("x2",e.width).attr("y2",e.height)}),"defaultBkg"),B={drawRect:$,drawCircle:T,drawSection:A,drawText:I,drawLabel:R,drawTask:M,drawBackgroundRect:C,getTextObj:N,getNoteRect:P,initGraphics:O,drawNode:D,getVirtualNodeHeight:z},F=(0,i.K2)((function(t,e,n,r){const a=(0,i.D7)(),o=a.leftMargin??50;i.Rm.debug("timeline",r.db);const c=a.securityLevel;let l;"sandbox"===c&&(l=(0,s.Ltv)("#i"+e));const h=("sandbox"===c?(0,s.Ltv)(l.nodes()[0].contentDocument.body):(0,s.Ltv)("body")).select("#"+e);h.append("g");const d=r.db.getTasks(),u=r.db.getCommonDb().getDiagramTitle();i.Rm.debug("task",d),B.initGraphics(h);const p=r.db.getSections();i.Rm.debug("sections",p);let y=0,g=0,f=0,m=0,x=50+o,b=50;m=50;let k=0,_=!0;p.forEach((function(t){const e={number:k,descr:t,section:k,width:150,padding:20,maxHeight:y},n=B.getVirtualNodeHeight(h,e,a);i.Rm.debug("sectionHeight before draw",n),y=Math.max(y,n+20)}));let w=0,v=0;i.Rm.debug("tasks.length",d.length);for(const[t,e]of d.entries()){const n={number:t,descr:e,section:e.section,width:150,padding:20,maxHeight:g},s=B.getVirtualNodeHeight(h,n,a);i.Rm.debug("taskHeight before draw",s),g=Math.max(g,s+20),w=Math.max(w,e.events.length);let r=0;for(const t of e.events){const n={descr:t,section:e.section,number:e.section,width:150,padding:20,maxHeight:50};r+=B.getVirtualNodeHeight(h,n,a)}v=Math.max(v,r)}i.Rm.debug("maxSectionHeight before draw",y),i.Rm.debug("maxTaskHeight before draw",g),p&&p.length>0?p.forEach((t=>{const e=d.filter((e=>e.section===t)),n={number:k,descr:t,section:k,width:200*Math.max(e.length,1)-50,padding:20,maxHeight:y};i.Rm.debug("sectionNode",n);const s=h.append("g"),r=B.drawNode(s,n,k,a);i.Rm.debug("sectionNode output",r),s.attr("transform",`translate(${x}, 50)`),b+=y+50,e.length>0&&V(h,e,k,x,b,g,a,w,v,y,!1),x+=200*Math.max(e.length,1),b=50,k++})):(_=!1,V(h,d,k,x,b,g,a,w,v,y,!0));const K=h.node().getBBox();i.Rm.debug("bounds",K),u&&h.append("text").text(u).attr("x",K.width/2-o).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),f=_?y+g+150:g+100,h.append("g").attr("class","lineWrapper").append("line").attr("x1",o).attr("y1",f).attr("x2",K.width+3*o).attr("y2",f).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),(0,i.ot)(void 0,h,a.timeline?.padding??50,a.timeline?.useMaxWidth??!1)}),"draw"),V=(0,i.K2)((function(t,e,n,s,r,a,o,c,l,h,d){for(const c of e){const e={descr:c.task,section:n,number:n,width:150,padding:20,maxHeight:a};i.Rm.debug("taskNode",e);const u=t.append("g").attr("class","taskWrapper"),p=B.drawNode(u,e,n,o).height;if(i.Rm.debug("taskHeight after draw",p),u.attr("transform",`translate(${s}, ${r})`),a=Math.max(a,p),c.events){const e=t.append("g").attr("class","lineWrapper");let i=a;r+=100,i+=G(t,c.events,n,s,r,o),r-=100,e.append("line").attr("x1",s+95).attr("y1",r+a).attr("x2",s+95).attr("y2",r+a+(d?a:h)+l+120).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5")}s+=200,d&&!o.timeline?.disableMulticolor&&n++}r-=10}),"drawTasks"),G=(0,i.K2)((function(t,e,n,s,r,a){let o=0;const c=r;r+=100;for(const c of e){const e={descr:c,section:n,number:n,width:150,padding:20,maxHeight:50};i.Rm.debug("eventNode",e);const l=t.append("g").attr("class","eventWrapper"),h=B.drawNode(l,e,n,a).height;o+=h,l.attr("transform",`translate(${s}, ${r})`),r=r+10+h}return r=c,o}),"drawEvents"),U={setConf:(0,i.K2)((()=>{}),"setConf"),draw:F},q=(0,i.K2)((t=>{let e="";for(let e=0;e`\n .edge {\n stroke-width: 3;\n }\n ${q(t)}\n .section-root rect, .section-root path, .section-root circle {\n fill: ${t.git0};\n }\n .section-root text {\n fill: ${t.gitBranchLabel0};\n }\n .icon-container {\n height:100%;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .edge {\n fill: none;\n }\n .eventWrapper {\n filter: brightness(120%);\n }\n`),"getStyles")}}}]); \ No newline at end of file diff --git a/docs/hugo/public/js/720-970f726e.chunk.min.js b/docs/hugo/public/js/720-970f726e.chunk.min.js new file mode 100644 index 000000000..158ba0ef8 --- /dev/null +++ b/docs/hugo/public/js/720-970f726e.chunk.min.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgeekdoc=self.webpackChunkgeekdoc||[]).push([[720],{9720:(e,c,k)=>{k.d(c,{createArchitectureServices:()=>r.S});var r=k(9936);k(9369)}}]); \ No newline at end of file diff --git a/docs/hugo/public/js/723-47eb515a.chunk.min.js b/docs/hugo/public/js/723-47eb515a.chunk.min.js new file mode 100644 index 000000000..128f89722 --- /dev/null +++ b/docs/hugo/public/js/723-47eb515a.chunk.min.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgeekdoc=self.webpackChunkgeekdoc||[]).push([[723],{7723:(e,c,k)=>{k.d(c,{createPieServices:()=>s.f});var s=k(8685);k(9369)}}]); \ No newline at end of file diff --git a/docs/hugo/public/js/731-70ea2831.chunk.min.js b/docs/hugo/public/js/731-70ea2831.chunk.min.js new file mode 100644 index 000000000..d4b98f75b --- /dev/null +++ b/docs/hugo/public/js/731-70ea2831.chunk.min.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgeekdoc=self.webpackChunkgeekdoc||[]).push([[731],{9850:(e,t,n)=>{t.Qi=t.XO=void 0;const r=n(9590),i=n(8585),s=n(2676);var a;!function(e){e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:s.Event.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:s.Event.None}),e.is=function(t){const n=t;return n&&(n===e.None||n===e.Cancelled||i.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}}(a||(t.XO=a={}));const o=Object.freeze((function(e,t){const n=(0,r.default)().timer.setTimeout(e.bind(t),0);return{dispose(){n.dispose()}}}));class c{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?o:(this._emitter||(this._emitter=new s.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}t.Qi=class{get token(){return this._token||(this._token=new c),this._token}cancel(){this._token?this._token.cancel():this._token=a.Cancelled}dispose(){this._token?this._token instanceof c&&this._token.dispose():this._token=a.None}}},2676:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Emitter=t.Event=void 0;const r=n(9590);var i;!function(e){const t={dispose(){}};e.None=function(){return t}}(i||(t.Event=i={}));class s{add(e,t=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(n)&&n.push({dispose:()=>this.remove(e,t)})}remove(e,t=null){if(!this._callbacks)return;let n=!1;for(let r=0,i=this._callbacks.length;r{this._callbacks||(this._callbacks=new s),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,t);const r={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,t),r.dispose=a._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(n)&&n.push(r),r}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}t.Emitter=a,a._noop=function(){}},8585:(e,t)=>{function n(e){return"string"==typeof e||e instanceof String}function r(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=function(e){return"function"==typeof e},t.array=r,t.stringArray=function(e){return r(e)&&e.every((e=>n(e)))}},9590:(e,t)=>{let n;function r(){if(void 0===n)throw new Error("No runtime abstraction layer installed");return n}Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.install=function(e){if(void 0===e)throw new Error("No runtime abstraction layer provided");n=e}}(r||(r={})),t.default=r},7021:(e,t,n)=>{n.d(t,{v:()=>o});var r=n(9369),i=n(3707),s=class extends r.mR{static{(0,r.K2)(this,"InfoTokenBuilder")}constructor(){super(["info","showInfo"])}},a={parser:{TokenBuilder:(0,r.K2)((()=>new s),"TokenBuilder"),ValueConverter:(0,r.K2)((()=>new r.Tm),"ValueConverter")}};function o(e=i.DD){const t=(0,i.WQ)((0,i.uM)(e),r.sr),n=(0,i.WQ)((0,i.tG)({shared:t}),r.e5,a);return t.ServiceRegistry.register(n),{shared:t,Info:n}}(0,r.K2)(o,"createInfoServices")},8685:(e,t,n)=>{n.d(t,{f:()=>c});var r=n(9369),i=n(3707),s=class extends r.mR{static{(0,r.K2)(this,"PieTokenBuilder")}constructor(){super(["pie","showData"])}},a=class extends r.dg{static{(0,r.K2)(this,"PieValueConverter")}runCustomConverter(e,t,n){if("PIE_SECTION_LABEL"===e.name)return t.replace(/"/g,"").trim()}},o={parser:{TokenBuilder:(0,r.K2)((()=>new s),"TokenBuilder"),ValueConverter:(0,r.K2)((()=>new a),"ValueConverter")}};function c(e=i.DD){const t=(0,i.WQ)((0,i.uM)(e),r.sr),n=(0,i.WQ)((0,i.tG)({shared:t}),r.KX,o);return t.ServiceRegistry.register(n),{shared:t,Pie:n}}(0,r.K2)(c,"createPieServices")},1609:(e,t,n)=>{n.d(t,{$:()=>o});var r=n(9369),i=n(3707),s=class extends r.mR{static{(0,r.K2)(this,"PacketTokenBuilder")}constructor(){super(["packet-beta"])}},a={parser:{TokenBuilder:(0,r.K2)((()=>new s),"TokenBuilder"),ValueConverter:(0,r.K2)((()=>new r.Tm),"ValueConverter")}};function o(e=i.DD){const t=(0,i.WQ)((0,i.uM)(e),r.sr),n=(0,i.WQ)((0,i.tG)({shared:t}),r.AM,a);return t.ServiceRegistry.register(n),{shared:t,Packet:n}}(0,r.K2)(o,"createPacketServices")},9936:(e,t,n)=>{n.d(t,{S:()=>c});var r=n(9369),i=n(3707),s=class extends r.mR{static{(0,r.K2)(this,"ArchitectureTokenBuilder")}constructor(){super(["architecture"])}},a=class extends r.dg{static{(0,r.K2)(this,"ArchitectureValueConverter")}runCustomConverter(e,t,n){return"ARCH_ICON"===e.name?t.replace(/[()]/g,"").trim():"ARCH_TEXT_ICON"===e.name?t.replace(/["()]/g,""):"ARCH_TITLE"===e.name?t.replace(/[[\]]/g,"").trim():void 0}},o={parser:{TokenBuilder:(0,r.K2)((()=>new s),"TokenBuilder"),ValueConverter:(0,r.K2)((()=>new a),"ValueConverter")}};function c(e=i.DD){const t=(0,i.WQ)((0,i.uM)(e),r.sr),n=(0,i.WQ)((0,i.tG)({shared:t}),r.jE,o);return t.ServiceRegistry.register(n),{shared:t,Architecture:n}}(0,r.K2)(c,"createArchitectureServices")},2785:(e,t,n)=>{n.d(t,{b:()=>o});var r=n(9369),i=n(3707),s=class extends r.mR{static{(0,r.K2)(this,"GitGraphTokenBuilder")}constructor(){super(["gitGraph"])}},a={parser:{TokenBuilder:(0,r.K2)((()=>new s),"TokenBuilder"),ValueConverter:(0,r.K2)((()=>new r.Tm),"ValueConverter")}};function o(e=i.DD){const t=(0,i.WQ)((0,i.uM)(e),r.sr),n=(0,i.WQ)((0,i.tG)({shared:t}),r.eZ,a);return t.ServiceRegistry.register(n),{shared:t,GitGraph:n}}(0,r.K2)(o,"createGitGraphServices")},9369:(e,t,n)=>{n.d(t,{AM:()=>$,K2:()=>s,KX:()=>w,Tm:()=>P,dg:()=>_,e5:()=>C,eZ:()=>O,jE:()=>L,mR:()=>M,sr:()=>N});var r=n(3707),i=Object.defineProperty,s=(e,t)=>i(e,"name",{value:t,configurable:!0});s((function(e){return g.isInstance(e,"Architecture")}),"isArchitecture");var a="Branch";s((function(e){return g.isInstance(e,a)}),"isBranch");var o="Commit";s((function(e){return g.isInstance(e,o)}),"isCommit"),s((function(e){return g.isInstance(e,"Common")}),"isCommon");var c="GitGraph";s((function(e){return g.isInstance(e,c)}),"isGitGraph"),s((function(e){return g.isInstance(e,"Info")}),"isInfo");var l="Merge";s((function(e){return g.isInstance(e,l)}),"isMerge"),s((function(e){return g.isInstance(e,"Packet")}),"isPacket"),s((function(e){return g.isInstance(e,"PacketBlock")}),"isPacketBlock"),s((function(e){return g.isInstance(e,"Pie")}),"isPie"),s((function(e){return g.isInstance(e,"PieSection")}),"isPieSection");var u,d,h,f,p,m=class extends r.kD{static{s(this,"MermaidAstReflection")}getAllTypes(){return["Architecture","Branch","Checkout","CherryPicking","Commit","Common","Direction","Edge","GitGraph","Group","Info","Junction","Merge","Packet","PacketBlock","Pie","PieSection","Service","Statement"]}computeIsSubtype(e,t){switch(e){case a:case"Checkout":case"CherryPicking":case o:case l:return this.isSubtype("Statement",t);case"Direction":return this.isSubtype(c,t);default:return!1}}getReferenceType(e){const t=`${e.container.$type}:${e.property}`;throw new Error(`${t} is not a valid reference id.`)}getTypeMetaData(e){switch(e){case"Architecture":return{name:"Architecture",properties:[{name:"accDescr"},{name:"accTitle"},{name:"edges",defaultValue:[]},{name:"groups",defaultValue:[]},{name:"junctions",defaultValue:[]},{name:"services",defaultValue:[]},{name:"title"}]};case"Branch":return{name:"Branch",properties:[{name:"name"},{name:"order"}]};case"Checkout":return{name:"Checkout",properties:[{name:"branch"}]};case"CherryPicking":return{name:"CherryPicking",properties:[{name:"id"},{name:"parent"},{name:"tags",defaultValue:[]}]};case"Commit":return{name:"Commit",properties:[{name:"id"},{name:"message"},{name:"tags",defaultValue:[]},{name:"type"}]};case"Common":return{name:"Common",properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"}]};case"Edge":return{name:"Edge",properties:[{name:"lhsDir"},{name:"lhsGroup",defaultValue:!1},{name:"lhsId"},{name:"lhsInto",defaultValue:!1},{name:"rhsDir"},{name:"rhsGroup",defaultValue:!1},{name:"rhsId"},{name:"rhsInto",defaultValue:!1},{name:"title"}]};case"GitGraph":return{name:"GitGraph",properties:[{name:"accDescr"},{name:"accTitle"},{name:"statements",defaultValue:[]},{name:"title"}]};case"Group":return{name:"Group",properties:[{name:"icon"},{name:"id"},{name:"in"},{name:"title"}]};case"Info":return{name:"Info",properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"}]};case"Junction":return{name:"Junction",properties:[{name:"id"},{name:"in"}]};case"Merge":return{name:"Merge",properties:[{name:"branch"},{name:"id"},{name:"tags",defaultValue:[]},{name:"type"}]};case"Packet":return{name:"Packet",properties:[{name:"accDescr"},{name:"accTitle"},{name:"blocks",defaultValue:[]},{name:"title"}]};case"PacketBlock":return{name:"PacketBlock",properties:[{name:"end"},{name:"label"},{name:"start"}]};case"Pie":return{name:"Pie",properties:[{name:"accDescr"},{name:"accTitle"},{name:"sections",defaultValue:[]},{name:"showData",defaultValue:!1},{name:"title"}]};case"PieSection":return{name:"PieSection",properties:[{name:"label"},{name:"value"}]};case"Service":return{name:"Service",properties:[{name:"icon"},{name:"iconText"},{name:"id"},{name:"in"},{name:"title"}]};case"Direction":return{name:"Direction",properties:[{name:"accDescr"},{name:"accTitle"},{name:"dir"},{name:"statements",defaultValue:[]},{name:"title"}]};default:return{name:e,properties:[]}}}},g=new m,y=s((()=>u??(u=(0,r.y0)('{"$type":"Grammar","isDeclared":true,"name":"Info","imports":[],"rules":[{"$type":"ParserRule","name":"Info","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"info"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"showInfo"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}'))),"InfoGrammar"),A=s((()=>d??(d=(0,r.y0)('{"$type":"Grammar","isDeclared":true,"name":"Packet","imports":[],"rules":[{"$type":"ParserRule","name":"Packet","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"packet-beta"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"+"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PacketBlock","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"start","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"end","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"?"},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|\'[^\']*\'/"},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}'))),"PacketGrammar"),T=s((()=>h??(h=(0,r.y0)('{"$type":"Grammar","isDeclared":true,"name":"Pie","imports":[],"rules":[{"$type":"ParserRule","name":"Pie","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"+"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"PIE_SECTION_LABEL","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]+\\"/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"PIE_SECTION_VALUE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/(0|[1-9][0-9]*)(\\\\.[0-9]+)?/"},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}'))),"PieGrammar"),v=s((()=>f??(f=(0,r.y0)('{"$type":"Grammar","isDeclared":true,"name":"Architecture","imports":[],"rules":[{"$type":"ParserRule","name":"Architecture","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Statement","fragment":true,"definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"groups","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"services","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"junctions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"edges","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"LeftPort","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"lhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"RightPort","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Keyword","value":":"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Arrow","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Assignment","feature":"lhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"--"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Group","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Service","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"service"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Junction","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"junction"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Edge","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"}}]},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"}}]},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_ID","definition":{"$type":"RegexToken","regex":"/[\\\\w]+/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TEXT_ICON","definition":{"$type":"RegexToken","regex":"/\\\\(\\"[^\\"]+\\"\\\\)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[[\\\\w ]+\\\\]/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/"},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}'))),"ArchitectureGrammar"),R=s((()=>p??(p=(0,r.y0)('{"$type":"Grammar","isDeclared":true,"name":"GitGraph","interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"rules":[{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false},{"$type":"ParserRule","name":"GitGraph","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Keyword","value":":"}]},{"$type":"Keyword","value":"gitGraph:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"statements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Direction","definition":{"$type":"Assignment","feature":"dir","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"LR"},{"$type":"Keyword","value":"TB"},{"$type":"Keyword","value":"BT"}]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Commit","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"commit"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"msg:","cardinality":"?"},{"$type":"Assignment","feature":"message","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Branch","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"branch"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"order:"},{"$type":"Assignment","feature":"order","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Merge","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"merge"},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Checkout","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"checkout"},{"$type":"Keyword","value":"switch"}]},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"CherryPicking","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"cherry-pick"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"parent:"},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+(?=\\\\s)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|\'[^\']*\'/"},"fragment":false,"hidden":false}],"definesHiddenTokens":false,"hiddenTokens":[],"imports":[],"types":[],"usedGrammars":[]}'))),"GitGraphGrammar"),E={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1},k={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1},x={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1},I={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1},S={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1},N={AstReflection:s((()=>new m),"AstReflection")},C={Grammar:s((()=>y()),"Grammar"),LanguageMetaData:s((()=>E),"LanguageMetaData"),parser:{}},$={Grammar:s((()=>A()),"Grammar"),LanguageMetaData:s((()=>k),"LanguageMetaData"),parser:{}},w={Grammar:s((()=>T()),"Grammar"),LanguageMetaData:s((()=>x),"LanguageMetaData"),parser:{}},L={Grammar:s((()=>v()),"Grammar"),LanguageMetaData:s((()=>I),"LanguageMetaData"),parser:{}},O={Grammar:s((()=>R()),"Grammar"),LanguageMetaData:s((()=>S),"LanguageMetaData"),parser:{}},b={ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/accTitle[\t ]*:([^\n\r]*)/,TITLE:/title([\t ][^\n\r]*|)/},_=class extends r.dM{static{s(this,"AbstractMermaidValueConverter")}runConverter(e,t,n){let r=this.runCommonConverter(e,t,n);return void 0===r&&(r=this.runCustomConverter(e,t,n)),void 0===r?super.runConverter(e,t,n):r}runCommonConverter(e,t,n){const r=b[e.name];if(void 0===r)return;const i=r.exec(t);return null!==i?void 0!==i[1]?i[1].trim().replace(/[\t ]{2,}/gm," "):void 0!==i[2]?i[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,"\n"):void 0:void 0}},P=class extends _{static{s(this,"CommonValueConverter")}runCustomConverter(e,t,n){}},M=class extends r.QU{static{s(this,"AbstractMermaidTokenBuilder")}constructor(e){super(),this.keywords=new Set(e)}buildKeywordTokens(e,t,n){const r=super.buildKeywordTokens(e,t,n);return r.forEach((e=>{this.keywords.has(e.name)&&void 0!==e.PATTERN&&(e.PATTERN=new RegExp(e.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))})),r}};(class extends M{static{s(this,"CommonTokenBuilder")}})},8731:(e,t,n)=>{n.d(t,{qg:()=>a}),n(2785),n(7021),n(1609),n(8685),n(9936);var r=n(9369),i={},s={info:(0,r.K2)((async()=>{const{createInfoServices:e}=await n.e(890).then(n.bind(n,890)),t=e().Info.parser.LangiumParser;i.info=t}),"info"),packet:(0,r.K2)((async()=>{const{createPacketServices:e}=await n.e(452).then(n.bind(n,4071)),t=e().Packet.parser.LangiumParser;i.packet=t}),"packet"),pie:(0,r.K2)((async()=>{const{createPieServices:e}=await n.e(723).then(n.bind(n,7723)),t=e().Pie.parser.LangiumParser;i.pie=t}),"pie"),architecture:(0,r.K2)((async()=>{const{createArchitectureServices:e}=await n.e(720).then(n.bind(n,9720)),t=e().Architecture.parser.LangiumParser;i.architecture=t}),"architecture"),gitGraph:(0,r.K2)((async()=>{const{createGitGraphServices:e}=await n.e(387).then(n.bind(n,2387)),t=e().GitGraph.parser.LangiumParser;i.gitGraph=t}),"gitGraph")};async function a(e,t){const n=s[e];if(!n)throw new Error(`Unknown diagram type: ${e}`);i[e]||await n();const r=i[e].parse(t);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new o(r);return r.value}(0,r.K2)(a,"parse");var o=class extends Error{constructor(e){super(`Parsing failed: ${e.lexerErrors.map((e=>e.message)).join("\n")} ${e.parserErrors.map((e=>e.message)).join("\n")}`),this.result=e}static{(0,r.K2)(this,"MermaidParseError")}}},3707:(e,t,n)=>{function r(e){return"object"==typeof e&&null!==e&&"string"==typeof e.$type}function i(e){return"object"==typeof e&&null!==e&&"string"==typeof e.$refText}function s(e){return"object"==typeof e&&null!==e&&r(e.container)&&i(e.reference)&&"string"==typeof e.message}n.d(t,{kD:()=>a,QU:()=>pc,dM:()=>mc,DD:()=>Jl,tG:()=>jl,uM:()=>Vl,WQ:()=>Hl,y0:()=>tu});class a{constructor(){this.subtypes={},this.allSubtypes={}}isInstance(e,t){return r(e)&&this.isSubtype(e.$type,t)}isSubtype(e,t){if(e===t)return!0;let n=this.subtypes[e];n||(n=this.subtypes[e]={});const r=n[t];if(void 0!==r)return r;{const r=this.computeIsSubtype(e,t);return n[t]=r,r}}getAllSubTypes(e){const t=this.allSubtypes[e];if(t)return t;{const t=this.getAllTypes(),n=[];for(const r of t)this.isSubtype(r,e)&&n.push(r);return this.allSubtypes[e]=n,n}}}function o(e){return"object"==typeof e&&null!==e&&Array.isArray(e.content)}function c(e){return"object"==typeof e&&null!==e&&"object"==typeof e.tokenType}function l(e){return o(e)&&"string"==typeof e.fullText}class u{constructor(e,t){this.startFn=e,this.nextFn=t}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){const e=this.iterator();return Boolean(e.next().done)}count(){const e=this.iterator();let t=0,n=e.next();for(;!n.done;)t++,n=e.next();return t}toArray(){const e=[],t=this.iterator();let n;do{n=t.next(),void 0!==n.value&&e.push(n.value)}while(!n.done);return e}toSet(){return new Set(this)}toMap(e,t){const n=this.map((n=>[e?e(n):n,t?t(n):n]));return new Map(n)}toString(){return this.join()}concat(e){const t=e[Symbol.iterator]();return new u((()=>({first:this.startFn(),firstDone:!1})),(e=>{let n;if(!e.firstDone){do{if(n=this.nextFn(e.first),!n.done)return n}while(!n.done);e.firstDone=!0}do{if(n=t.next(),!n.done)return n}while(!n.done);return f}))}join(e=","){const t=this.iterator();let n,r="",i=!1;do{n=t.next(),n.done||(i&&(r+=e),r+="string"==typeof(s=n.value)?s:void 0===s?"undefined":"function"==typeof s.toString?s.toString():Object.prototype.toString.call(s)),i=!0}while(!n.done);var s;return r}indexOf(e,t=0){const n=this.iterator();let r=0,i=n.next();for(;!i.done;){if(r>=t&&i.value===e)return r;i=n.next(),r++}return-1}every(e){const t=this.iterator();let n=t.next();for(;!n.done;){if(!e(n.value))return!1;n=t.next()}return!0}some(e){const t=this.iterator();let n=t.next();for(;!n.done;){if(e(n.value))return!0;n=t.next()}return!1}forEach(e){const t=this.iterator();let n=0,r=t.next();for(;!r.done;)e(r.value,n),r=t.next(),n++}map(e){return new u(this.startFn,(t=>{const{done:n,value:r}=this.nextFn(t);return n?f:{done:!1,value:e(r)}}))}filter(e){return new u(this.startFn,(t=>{let n;do{if(n=this.nextFn(t),!n.done&&e(n.value))return n}while(!n.done);return f}))}nonNullable(){return this.filter((e=>null!=e))}reduce(e,t){const n=this.iterator();let r=t,i=n.next();for(;!i.done;)r=void 0===r?i.value:e(r,i.value),i=n.next();return r}reduceRight(e,t){return this.recursiveReduce(this.iterator(),e,t)}recursiveReduce(e,t,n){const r=e.next();if(r.done)return n;const i=this.recursiveReduce(e,t,n);return void 0===i?r.value:t(i,r.value)}find(e){const t=this.iterator();let n=t.next();for(;!n.done;){if(e(n.value))return n.value;n=t.next()}}findIndex(e){const t=this.iterator();let n=0,r=t.next();for(;!r.done;){if(e(r.value))return n;r=t.next(),n++}return-1}includes(e){const t=this.iterator();let n=t.next();for(;!n.done;){if(n.value===e)return!0;n=t.next()}return!1}flatMap(e){return new u((()=>({this:this.startFn()})),(t=>{do{if(t.iterator){const e=t.iterator.next();if(!e.done)return e;t.iterator=void 0}const{done:n,value:r}=this.nextFn(t.this);if(!n){const n=e(r);if(!d(n))return{done:!1,value:n};t.iterator=n[Symbol.iterator]()}}while(t.iterator);return f}))}flat(e){if(void 0===e&&(e=1),e<=0)return this;const t=e>1?this.flat(e-1):this;return new u((()=>({this:t.startFn()})),(e=>{do{if(e.iterator){const t=e.iterator.next();if(!t.done)return t;e.iterator=void 0}const{done:n,value:r}=t.nextFn(e.this);if(!n){if(!d(r))return{done:!1,value:r};e.iterator=r[Symbol.iterator]()}}while(e.iterator);return f}))}head(){const e=this.iterator().next();if(!e.done)return e.value}tail(e=1){return new u((()=>{const t=this.startFn();for(let n=0;n({size:0,state:this.startFn()})),(t=>(t.size++,t.size>e?f:this.nextFn(t.state))))}distinct(e){const t=new Set;return this.filter((n=>{const r=e?e(n):n;return!t.has(r)&&(t.add(r),!0)}))}exclude(e,t){const n=new Set;for(const r of e){const e=t?t(r):r;n.add(e)}return this.filter((e=>{const r=t?t(e):e;return!n.has(r)}))}}function d(e){return!!e&&"function"==typeof e[Symbol.iterator]}const h=new u((()=>{}),(()=>f)),f=Object.freeze({done:!0,value:void 0});function p(...e){if(1===e.length){const t=e[0];if(t instanceof u)return t;if(d(t))return new u((()=>t[Symbol.iterator]()),(e=>e.next()));if("number"==typeof t.length)return new u((()=>({index:0})),(e=>e.index1?new u((()=>({collIndex:0,arrIndex:0})),(t=>{do{if(t.iterator){const e=t.iterator.next();if(!e.done)return e;t.iterator=void 0}if(t.array){if(t.arrIndex({iterators:(null==n?void 0:n.includeRoot)?[[e][Symbol.iterator]()]:[t(e)[Symbol.iterator]()],pruned:!1})),(e=>{for(e.pruned&&(e.iterators.pop(),e.pruned=!1);e.iterators.length>0;){const n=e.iterators[e.iterators.length-1].next();if(!n.done)return e.iterators.push(t(n.value)[Symbol.iterator]()),n;e.iterators.pop()}return f}))}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}}var g,y;function A(e){return new m(e,(e=>o(e)?e.content:[]),{includeRoot:!0})}function T(e){return{start:{character:e.startColumn-1,line:e.startLine-1},end:{character:e.endColumn,line:e.endLine-1}}}function v(e){if(!e)return;const{offset:t,end:n,range:r}=e;return{range:r,offset:t,end:n,length:n-t}}!function(e){e.sum=function(e){return e.reduce(((e,t)=>e+t),0)},e.product=function(e){return e.reduce(((e,t)=>e*t),0)},e.min=function(e){return e.reduce(((e,t)=>Math.min(e,t)))},e.max=function(e){return e.reduce(((e,t)=>Math.max(e,t)))}}(g||(g={})),function(e){e[e.Before=0]="Before",e[e.After=1]="After",e[e.OverlapFront=2]="OverlapFront",e[e.OverlapBack=3]="OverlapBack",e[e.Inside=4]="Inside"}(y||(y={}));const R=/^[\w\p{L}]$/u;function E(e,t){return c(e)&&t.includes(e.tokenType.name)}class k extends Error{constructor(e,t){super(e?`${t} at ${e.range.start.line}:${e.range.start.character}`:t)}}function x(e){throw new Error("Error! The input value was not handled.")}const I="AbstractRule",S="AbstractType",N="Condition",C="ValueLiteral",$="AbstractElement",w="BooleanLiteral",L="Conjunction",O="Disjunction",b="InferredType";function _(e){return ve.isInstance(e,b)}const P="Interface";function M(e){return ve.isInstance(e,P)}const D="Negation",U="ParameterReference",F="ParserRule";function G(e){return ve.isInstance(e,F)}const K="ReturnType",B="SimpleType",j="TerminalRule";function V(e){return ve.isInstance(e,j)}const H="Type";function W(e){return ve.isInstance(e,H)}const z="Action";function Y(e){return ve.isInstance(e,z)}const X="Alternatives";function q(e){return ve.isInstance(e,X)}const Q="Assignment";function J(e){return ve.isInstance(e,Q)}const Z="CharacterRange",ee="CrossReference";function te(e){return ve.isInstance(e,ee)}const ne="EndOfFile",re="Group";function ie(e){return ve.isInstance(e,re)}const se="Keyword";function ae(e){return ve.isInstance(e,se)}const oe="NegatedToken",ce="RegexToken",le="RuleCall";function ue(e){return ve.isInstance(e,le)}const de="TerminalAlternatives",he="TerminalGroup",fe="TerminalRuleCall";function pe(e){return ve.isInstance(e,fe)}const me="UnorderedGroup";function ge(e){return ve.isInstance(e,me)}const ye="UntilToken",Ae="Wildcard";class Te extends a{getAllTypes(){return["AbstractElement","AbstractRule","AbstractType","Action","Alternatives","ArrayLiteral","ArrayType","Assignment","BooleanLiteral","CharacterRange","Condition","Conjunction","CrossReference","Disjunction","EndOfFile","Grammar","GrammarImport","Group","InferredType","Interface","Keyword","NamedArgument","NegatedToken","Negation","NumberLiteral","Parameter","ParameterReference","ParserRule","ReferenceType","RegexToken","ReturnType","RuleCall","SimpleType","StringLiteral","TerminalAlternatives","TerminalGroup","TerminalRule","TerminalRuleCall","Type","TypeAttribute","TypeDefinition","UnionType","UnorderedGroup","UntilToken","ValueLiteral","Wildcard"]}computeIsSubtype(e,t){switch(e){case z:case X:case Q:case Z:case ee:case ne:case re:case se:case oe:case ce:case le:case de:case he:case fe:case me:case ye:case Ae:return this.isSubtype($,t);case"ArrayLiteral":case"NumberLiteral":case"StringLiteral":return this.isSubtype(C,t);case"ArrayType":case"ReferenceType":case B:case"UnionType":return this.isSubtype("TypeDefinition",t);case w:return this.isSubtype(N,t)||this.isSubtype(C,t);case L:case O:case D:case U:return this.isSubtype(N,t);case b:case P:case H:return this.isSubtype(S,t);case F:return this.isSubtype(I,t)||this.isSubtype(S,t);case j:return this.isSubtype(I,t);default:return!1}}getReferenceType(e){const t=`${e.container.$type}:${e.property}`;switch(t){case"Action:type":case"CrossReference:type":case"Interface:superTypes":case"ParserRule:returnType":case"SimpleType:typeRef":return S;case"Grammar:hiddenTokens":case"ParserRule:hiddenTokens":case"RuleCall:rule":return I;case"Grammar:usedGrammars":return"Grammar";case"NamedArgument:parameter":case"ParameterReference:parameter":return"Parameter";case"TerminalRuleCall:rule":return j;default:throw new Error(`${t} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case"AbstractElement":return{name:"AbstractElement",properties:[{name:"cardinality"},{name:"lookahead"}]};case"ArrayLiteral":return{name:"ArrayLiteral",properties:[{name:"elements",defaultValue:[]}]};case"ArrayType":return{name:"ArrayType",properties:[{name:"elementType"}]};case"BooleanLiteral":return{name:"BooleanLiteral",properties:[{name:"true",defaultValue:!1}]};case"Conjunction":return{name:"Conjunction",properties:[{name:"left"},{name:"right"}]};case"Disjunction":return{name:"Disjunction",properties:[{name:"left"},{name:"right"}]};case"Grammar":return{name:"Grammar",properties:[{name:"definesHiddenTokens",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"imports",defaultValue:[]},{name:"interfaces",defaultValue:[]},{name:"isDeclared",defaultValue:!1},{name:"name"},{name:"rules",defaultValue:[]},{name:"types",defaultValue:[]},{name:"usedGrammars",defaultValue:[]}]};case"GrammarImport":return{name:"GrammarImport",properties:[{name:"path"}]};case"InferredType":return{name:"InferredType",properties:[{name:"name"}]};case"Interface":return{name:"Interface",properties:[{name:"attributes",defaultValue:[]},{name:"name"},{name:"superTypes",defaultValue:[]}]};case"NamedArgument":return{name:"NamedArgument",properties:[{name:"calledByName",defaultValue:!1},{name:"parameter"},{name:"value"}]};case"Negation":return{name:"Negation",properties:[{name:"value"}]};case"NumberLiteral":return{name:"NumberLiteral",properties:[{name:"value"}]};case"Parameter":return{name:"Parameter",properties:[{name:"name"}]};case"ParameterReference":return{name:"ParameterReference",properties:[{name:"parameter"}]};case"ParserRule":return{name:"ParserRule",properties:[{name:"dataType"},{name:"definesHiddenTokens",defaultValue:!1},{name:"definition"},{name:"entry",defaultValue:!1},{name:"fragment",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"inferredType"},{name:"name"},{name:"parameters",defaultValue:[]},{name:"returnType"},{name:"wildcard",defaultValue:!1}]};case"ReferenceType":return{name:"ReferenceType",properties:[{name:"referenceType"}]};case"ReturnType":return{name:"ReturnType",properties:[{name:"name"}]};case"SimpleType":return{name:"SimpleType",properties:[{name:"primitiveType"},{name:"stringType"},{name:"typeRef"}]};case"StringLiteral":return{name:"StringLiteral",properties:[{name:"value"}]};case"TerminalRule":return{name:"TerminalRule",properties:[{name:"definition"},{name:"fragment",defaultValue:!1},{name:"hidden",defaultValue:!1},{name:"name"},{name:"type"}]};case"Type":return{name:"Type",properties:[{name:"name"},{name:"type"}]};case"TypeAttribute":return{name:"TypeAttribute",properties:[{name:"defaultValue"},{name:"isOptional",defaultValue:!1},{name:"name"},{name:"type"}]};case"UnionType":return{name:"UnionType",properties:[{name:"types",defaultValue:[]}]};case"Action":return{name:"Action",properties:[{name:"cardinality"},{name:"feature"},{name:"inferredType"},{name:"lookahead"},{name:"operator"},{name:"type"}]};case"Alternatives":return{name:"Alternatives",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case"Assignment":return{name:"Assignment",properties:[{name:"cardinality"},{name:"feature"},{name:"lookahead"},{name:"operator"},{name:"terminal"}]};case"CharacterRange":return{name:"CharacterRange",properties:[{name:"cardinality"},{name:"left"},{name:"lookahead"},{name:"right"}]};case"CrossReference":return{name:"CrossReference",properties:[{name:"cardinality"},{name:"deprecatedSyntax",defaultValue:!1},{name:"lookahead"},{name:"terminal"},{name:"type"}]};case"EndOfFile":return{name:"EndOfFile",properties:[{name:"cardinality"},{name:"lookahead"}]};case"Group":return{name:"Group",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"guardCondition"},{name:"lookahead"}]};case"Keyword":return{name:"Keyword",properties:[{name:"cardinality"},{name:"lookahead"},{name:"value"}]};case"NegatedToken":return{name:"NegatedToken",properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case"RegexToken":return{name:"RegexToken",properties:[{name:"cardinality"},{name:"lookahead"},{name:"regex"}]};case"RuleCall":return{name:"RuleCall",properties:[{name:"arguments",defaultValue:[]},{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case"TerminalAlternatives":return{name:"TerminalAlternatives",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case"TerminalGroup":return{name:"TerminalGroup",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case"TerminalRuleCall":return{name:"TerminalRuleCall",properties:[{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case"UnorderedGroup":return{name:"UnorderedGroup",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case"UntilToken":return{name:"UntilToken",properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case"Wildcard":return{name:"Wildcard",properties:[{name:"cardinality"},{name:"lookahead"}]};default:return{name:e,properties:[]}}}}const ve=new Te;function Re(e,t){let n=e;for(;n;){if(t(n))return n;n=n.$container}}function Ee(e){const t=function(e){for(;e.$container;)e=e.$container;return e}(e),n=t.$document;if(!n)throw new Error("AST node has no document.");return n}function ke(e,t){if(!e)throw new Error("Node must be an AstNode.");const n=null==t?void 0:t.range;return new u((()=>({keys:Object.keys(e),keyIndex:0,arrayIndex:0})),(t=>{for(;t.keyIndexke(e,t)))}function Ie(e,t){if(!e)throw new Error("Root node must be an AstNode.");return(null==t?void 0:t.range)&&!Se(e,t.range)?new m(e,(()=>[])):new m(e,(e=>ke(e,t)),{includeRoot:!0})}function Se(e,t){var n;if(!t)return!0;const r=null===(n=e.$cstNode)||void 0===n?void 0:n.range;return!!r&&function(e,t){const n=function(e,t){if(e.end.linet.end.line||e.start.line===t.end.line&&e.start.character>t.end.character)return y.After;const n=e.start.line>t.start.line||e.start.line===t.start.line&&e.start.character>=t.start.character,r=e.end.liney.After}(r,t)}function Ne(e){return new u((()=>({keys:Object.keys(e),keyIndex:0,arrayIndex:0})),(t=>{for(;t.keyIndex=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}}class Be{visitChildren(e){for(const t in e){const n=e[t];e.hasOwnProperty(t)&&(void 0!==n.type?this.visit(n):Array.isArray(n)&&n.forEach((e=>{this.visit(e)}),this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e)}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}}const je=/\r?\n/gm,Ve=new Ke,He=new class extends Be{constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){const t=String.fromCharCode(e.value);if(this.multiline||"\n"!==t||(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const e=Ye(t);this.endRegexpStack.push(e),this.isStarting&&(this.startRegexp+=e)}}visitSet(e){if(!this.multiline){const t=this.regex.substring(e.loc.begin,e.loc.end),n=new RegExp(t);this.multiline=Boolean("\n".match(n))}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const t=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(t),this.isStarting&&(this.startRegexp+=t)}}visitChildren(e){"Group"===e.type&&e.quantifier||super.visitChildren(e)}};function We(e){try{return"string"==typeof e&&(e=new RegExp(e)),e=e.toString(),He.reset(e),He.visit(Ve.pattern(e)),He.multiline}catch(e){return!1}}function ze(e){return("string"==typeof e?new RegExp(e):e).test(" ")}function Ye(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Xe(e,t){const n=new Set,r=function(e){return e.rules.find((e=>G(e)&&e.entry))}(e);if(!r)return new Set(e.rules);const i=[r].concat(function(e){return e.rules.filter((e=>V(e)&&e.hidden))}(e));for(const e of i)qe(e,n,t);const s=new Set;for(const t of e.rules)(n.has(t.name)||V(t)&&t.hidden)&&s.add(t);return s}function qe(e,t,n){t.add(e.name),xe(e).forEach((e=>{if(ue(e)||n&&pe(e)){const r=e.rule.ref;r&&!t.has(r.name)&&qe(r,t,n)}}))}function Qe(e,t,n){if(!e||!t)return;const r=Je(e,t,e.astNode,!0);return 0!==r.length?r[n=void 0!==n?Math.max(0,Math.min(n,r.length-1)):0]:void 0}function Je(e,t,n,r){if(!r){const n=Re(e.grammarSource,J);if(n&&n.feature===t)return[e]}return o(e)&&e.astNode===n?e.content.flatMap((e=>Je(e,t,n,!1))):[]}function Ze(e){let t=e;return _(t)&&(Y(t.$container)?t=t.$container.$container:G(t.$container)?t=t.$container:x(t.$container)),et(e,t,new Map)}function et(e,t,n){var r,i;function s(t,r){let i;return Re(t,J)||(i=et(r,r,n)),n.set(e,i),i}if(n.has(e))return n.get(e);n.set(e,void 0);for(const a of xe(t)){if(J(a)&&"name"===a.feature.toLowerCase())return n.set(e,a),a;if(ue(a)&&G(a.rule.ref))return s(a,a.rule.ref);if(i=a,ve.isInstance(i,B)&&(null===(r=a.typeRef)||void 0===r?void 0:r.ref))return s(a,a.typeRef.ref)}}function tt(e){return nt(e,new Set)}function nt(e,t){if(t.has(e))return!0;t.add(e);for(const n of xe(e))if(ue(n)){if(!n.rule.ref)return!1;if(G(n.rule.ref)&&!nt(n.rule.ref,t))return!1}else{if(J(n))return!1;if(Y(n))return!1}return Boolean(e.definition)}function rt(e){if(e.inferredType)return e.inferredType.name;if(e.dataType)return e.dataType;if(e.returnType){const t=e.returnType.ref;if(t){if(G(t))return t.name;if(M(t)||W(t))return t.name}}}function it(e){var t,n;if(G(e))return tt(e)?e.name:null!==(t=rt(e))&&void 0!==t?t:e.name;if(M(e)||W(e)||(n=e,ve.isInstance(n,K)))return e.name;if(Y(e)){const t=function(e){var t;return e.inferredType?e.inferredType.name:(null===(t=e.type)||void 0===t?void 0:t.ref)?it(e.type.ref):void 0}(e);if(t)return t}else if(_(e))return e.name;throw new Error("Cannot get name of Unknown Type")}function st(e){const t={s:!1,i:!1,u:!1},n=ot(e.definition,t),r=Object.entries(t).filter((([,e])=>e)).map((([e])=>e)).join("");return new RegExp(n,r)}const at=/[\s\S]/.source;function ot(e,t){if(o=e,ve.isInstance(o,de))return lt((a=e).elements.map((e=>ot(e))).join("|"),{cardinality:a.cardinality,lookahead:a.lookahead});if(function(e){return ve.isInstance(e,he)}(e))return lt((s=e).elements.map((e=>ot(e))).join(""),{cardinality:s.cardinality,lookahead:s.lookahead});if(function(e){return ve.isInstance(e,Z)}(e))return(n=e).right?lt(`[${ct(n.left)}-${ct(n.right)}]`,{cardinality:n.cardinality,lookahead:n.lookahead,wrap:!1}):lt(ct(n.left),{cardinality:n.cardinality,lookahead:n.lookahead,wrap:!1});var n,r,i,s,a,o;if(pe(e)){const t=e.rule.ref;if(!t)throw new Error("Missing rule reference.");return lt(ot(t.definition),{cardinality:e.cardinality,lookahead:e.lookahead})}if(function(e){return ve.isInstance(e,oe)}(e))return lt(`(?!${ot((r=e).terminal)})${at}*?`,{cardinality:r.cardinality,lookahead:r.lookahead});if(function(e){return ve.isInstance(e,ye)}(e))return lt(`${at}*?${ot((i=e).terminal)}`,{cardinality:i.cardinality,lookahead:i.lookahead});if(function(e){return ve.isInstance(e,ce)}(e)){const n=e.regex.lastIndexOf("/"),r=e.regex.substring(1,n),i=e.regex.substring(n+1);return t&&(t.i=i.includes("i"),t.s=i.includes("s"),t.u=i.includes("u")),lt(r,{cardinality:e.cardinality,lookahead:e.lookahead,wrap:!1})}if(function(e){return ve.isInstance(e,Ae)}(e))return lt(at,{cardinality:e.cardinality,lookahead:e.lookahead});throw new Error(`Invalid terminal element: ${null==e?void 0:e.$type}`)}function ct(e){return Ye(e.value)}function lt(e,t){var n;return(!1!==t.wrap||t.lookahead)&&(e=`(${null!==(n=t.lookahead)&&void 0!==n?n:""}${e})`),t.cardinality?`${e}${t.cardinality}`:e}var ut=n(8058),dt=n(2866),ht=n(6401),ft=n(4722),pt=n(9622),mt=n(53);function gt(e){function t(){}t.prototype=e;const n=new t;function r(){return typeof n.bar}return r(),r(),e}const yt=function(e,t,n){var r=-1,i=e.length;t<0&&(t=-t>i?0:i+t),(n=n>i?i:n)<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var s=Array(i);++r{t.accept(e)}))}}class Kt extends Gt{constructor(e){super([]),this.idx=1,Ct(this,bt(e,(e=>void 0!==e)))}set definition(e){}get definition(){return void 0!==this.referencedRule?this.referencedRule.definition:[]}accept(e){e.visit(this)}}class Bt extends Gt{constructor(e){super(e.definition),this.orgText="",Ct(this,bt(e,(e=>void 0!==e)))}}class jt extends Gt{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,Ct(this,bt(e,(e=>void 0!==e)))}}class Vt extends Gt{constructor(e){super(e.definition),this.idx=1,Ct(this,bt(e,(e=>void 0!==e)))}}class Ht extends Gt{constructor(e){super(e.definition),this.idx=1,Ct(this,bt(e,(e=>void 0!==e)))}}class Wt extends Gt{constructor(e){super(e.definition),this.idx=1,Ct(this,bt(e,(e=>void 0!==e)))}}class zt extends Gt{constructor(e){super(e.definition),this.idx=1,Ct(this,bt(e,(e=>void 0!==e)))}}class Yt extends Gt{constructor(e){super(e.definition),this.idx=1,Ct(this,bt(e,(e=>void 0!==e)))}}class Xt extends Gt{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){super(e.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,Ct(this,bt(e,(e=>void 0!==e)))}}class qt{constructor(e){this.idx=1,Ct(this,bt(e,(e=>void 0!==e)))}accept(e){e.visit(this)}}function Qt(e){function t(e){return(0,ft.A)(e,Qt)}if(e instanceof Kt){const t={type:"NonTerminal",name:e.nonTerminalName,idx:e.idx};return(0,vt.A)(e.label)&&(t.label=e.label),t}if(e instanceof jt)return{type:"Alternative",definition:t(e.definition)};if(e instanceof Vt)return{type:"Option",idx:e.idx,definition:t(e.definition)};if(e instanceof Ht)return{type:"RepetitionMandatory",idx:e.idx,definition:t(e.definition)};if(e instanceof Wt)return{type:"RepetitionMandatoryWithSeparator",idx:e.idx,separator:Qt(new qt({terminalType:e.separator})),definition:t(e.definition)};if(e instanceof Yt)return{type:"RepetitionWithSeparator",idx:e.idx,separator:Qt(new qt({terminalType:e.separator})),definition:t(e.definition)};if(e instanceof zt)return{type:"Repetition",idx:e.idx,definition:t(e.definition)};if(e instanceof Xt)return{type:"Alternation",idx:e.idx,definition:t(e.definition)};if(e instanceof qt){const t={type:"Terminal",name:e.terminalType.name,label:(n=e.terminalType,r=n,(0,vt.A)(r.LABEL)&&""!==r.LABEL?n.LABEL:n.name),idx:e.idx};(0,vt.A)(e.label)&&(t.terminalLabel=e.label);const i=e.terminalType.PATTERN;return e.terminalType.PATTERN&&(t.pattern=Ft(i)?i.source:i),t}var n,r;if(e instanceof Bt)return{type:"Rule",name:e.name,orgText:e.orgText,definition:t(e.definition)};throw Error("non exhaustive match")}class Jt{visit(e){const t=e;switch(t.constructor){case Kt:return this.visitNonTerminal(t);case jt:return this.visitAlternative(t);case Vt:return this.visitOption(t);case Ht:return this.visitRepetitionMandatory(t);case Wt:return this.visitRepetitionMandatoryWithSeparator(t);case Yt:return this.visitRepetitionWithSeparator(t);case zt:return this.visitRepetition(t);case Xt:return this.visitAlternation(t);case qt:return this.visitTerminal(t);case Bt:return this.visitRule(t);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}}var Zt=n(3736),en=n(4288);const tn=function(e,t){var n;return(0,en.A)(e,(function(e,r,i){return!(n=t(e,r,i))})),!!n};var nn=n(2049),rn=n(6832);const sn=function(e,t,n){var r=(0,nn.A)(e)?Zt.A:tn;return n&&(0,rn.A)(e,t,n)&&(t=void 0),r(e,(0,wt.A)(t,3))};var an=n(5205),on=Math.max;const cn=function(e,t,n,r){e=(0,xt.A)(e)?e:(0,dt.A)(e),n=n&&!r?(0,At.A)(n):0;var i=e.length;return n<0&&(n=on(i+n,0)),(0,vt.A)(e)?n<=i&&e.indexOf(t,n)>-1:!!i&&(0,an.A)(e,t,n)>-1},ln=function(e,t){for(var n=-1,r=null==e?0:e.length;++nhn(e,t))):!(e instanceof Kt&&cn(t,e))&&e instanceof Gt&&(e instanceof Kt&&t.push(e),dn(e.definition,(e=>hn(e,t)))))}function fn(e){if(e instanceof Kt)return"SUBRULE";if(e instanceof Vt)return"OPTION";if(e instanceof Xt)return"OR";if(e instanceof Ht)return"AT_LEAST_ONE";if(e instanceof Wt)return"AT_LEAST_ONE_SEP";if(e instanceof Yt)return"MANY_SEP";if(e instanceof zt)return"MANY";if(e instanceof qt)return"CONSUME";throw Error("non exhaustive match")}class pn{walk(e,t=[]){(0,ut.A)(e.definition,((n,r)=>{const i=Tt(e.definition,r+1);if(n instanceof Kt)this.walkProdRef(n,i,t);else if(n instanceof qt)this.walkTerminal(n,i,t);else if(n instanceof jt)this.walkFlat(n,i,t);else if(n instanceof Vt)this.walkOption(n,i,t);else if(n instanceof Ht)this.walkAtLeastOne(n,i,t);else if(n instanceof Wt)this.walkAtLeastOneSep(n,i,t);else if(n instanceof Yt)this.walkManySep(n,i,t);else if(n instanceof zt)this.walkMany(n,i,t);else{if(!(n instanceof Xt))throw Error("non exhaustive match");this.walkOr(n,i,t)}}))}walkTerminal(e,t,n){}walkProdRef(e,t,n){}walkFlat(e,t,n){const r=t.concat(n);this.walk(e,r)}walkOption(e,t,n){const r=t.concat(n);this.walk(e,r)}walkAtLeastOne(e,t,n){const r=[new Vt({definition:e.definition})].concat(t,n);this.walk(e,r)}walkAtLeastOneSep(e,t,n){const r=mn(e,t,n);this.walk(e,r)}walkMany(e,t,n){const r=[new Vt({definition:e.definition})].concat(t,n);this.walk(e,r)}walkManySep(e,t,n){const r=mn(e,t,n);this.walk(e,r)}walkOr(e,t,n){const r=t.concat(n);(0,ut.A)(e.definition,(e=>{const t=new jt({definition:[e]});this.walk(t,r)}))}}function mn(e,t,n){return[new Vt({definition:[new qt({terminalType:e.separator})].concat(e.definition)})].concat(t,n)}var gn=n(7371);const yn=function(e){return e&&e.length?(0,gn.A)(e):[]};var An=n(4098);function Tn(e){if(e instanceof Kt)return Tn(e.referencedRule);if(e instanceof qt)return[e.terminalType];if(function(e){return e instanceof jt||e instanceof Vt||e instanceof zt||e instanceof Ht||e instanceof Wt||e instanceof Yt||e instanceof qt||e instanceof Bt}(e))return function(e){let t=[];const n=e.definition;let r,i=0,s=n.length>i,a=!0;for(;s&&a;)r=n[i],a=hn(r),t=t.concat(Tn(r)),i+=1,s=n.length>i;return yn(t)}(e);if(function(e){return e instanceof Xt}(e))return function(e){const t=(0,ft.A)(e.definition,(e=>Tn(e)));return yn((0,An.A)(t))}(e);throw Error("non exhaustive match")}const vn="_~IN~_";class Rn extends pn{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,t,n){}walkProdRef(e,t,n){const r=(i=e.referencedRule,s=e.idx,i.name+s+vn+this.topProd.name);var i,s;const a=t.concat(n),o=Tn(new jt({definition:a}));this.follows[r]=o}}var En=n(9592),kn=n(3068),xn=n(2634),In=n(1790);const Sn=function(e,t){return((0,nn.A)(e)?xn.A:In.A)(e,function(e){if("function"!=typeof e)throw new TypeError("Expected a function");return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}((0,wt.A)(t,3)))};var Nn=n(9610),Cn=Math.max;const $n=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var i=null==n?0:(0,At.A)(n);return i<0&&(i=Cn(r+i,0)),(0,an.A)(e,t,i)};var wn=n(3130),Ln=n(4092),On=n(8300),bn=n(5530),_n=n(7809),Pn=n(4099);var Mn=n(7671),Dn=n(4326),Un=n(3533);const Fn=(0,Dn.A)((function(e,t){return(0,Un.A)(e)?function(e,t,n,r){var i=-1,s=bn.A,a=!0,o=e.length,c=[],l=t.length;if(!o)return c;n&&(t=(0,$t.A)(t,(0,Mt.A)(n))),r?(s=_n.A,a=!1):t.length>=200&&(s=Pn.A,a=!1,t=new On.A(t));e:for(;++i\n\tComplement Sets cannot be automatically optimized.\n\tThis will disable the lexer's first char optimizations.\n\tSee: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let n="";t&&(n="\n\tThis will disable the lexer's first char optimizations.\n\tSee: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details."),jn(`${Xn}\n\tFailed parsing: < ${e.toString()} >\n\tUsing the @chevrotain/regexp-to-ast library\n\tPlease open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}function Qn(e,t,n){switch(e.type){case"Disjunction":for(let r=0;r{if("number"==typeof e)Jn(e,t,n);else{const r=e;if(!0===n)for(let e=r.from;e<=r.to;e++)Jn(e,t,n);else{for(let e=r.from;e<=r.to&&e=yr){const e=r.from>=yr?r.from:yr,n=r.to,i=Tr(e),s=Tr(n);for(let e=i;e<=s;e++)t[e]=e}}}}));break;case"Group":Qn(s.value,t,n);break;default:throw Error("Non Exhaustive Match")}const a=void 0!==s.quantifier&&0===s.quantifier.atLeast;if("Group"===s.type&&!1===er(s)||"Group"!==s.type&&!1===a)break}break;default:throw Error("non exhaustive match!")}return(0,dt.A)(t)}function Jn(e,t,n){const r=Tr(e);t[r]=r,!0===n&&function(e,t){const n=String.fromCharCode(e),r=n.toUpperCase();if(r!==n){const e=Tr(r.charCodeAt(0));t[e]=e}else{const e=n.toLowerCase();if(e!==n){const n=Tr(e.charCodeAt(0));t[n]=n}}}(e,t)}function Zn(e,t){return(0,Bn.A)(e.value,(e=>{if("number"==typeof e)return cn(t,e);{const n=e;return void 0!==(0,Bn.A)(t,(e=>n.from<=e&&e<=n.to))}}))}function er(e){const t=e.quantifier;return!(!t||0!==t.atLeast)||!!e.value&&((0,nn.A)(e.value)?dn(e.value,er):er(e.value))}class tr extends Be{constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(!0!==this.found){switch(e.type){case"Lookahead":return void this.visitLookahead(e);case"NegativeLookahead":return void this.visitNegativeLookahead(e)}super.visitChildren(e)}}visitCharacter(e){cn(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?void 0===Zn(e,this.targetCharCodes)&&(this.found=!0):void 0!==Zn(e,this.targetCharCodes)&&(this.found=!0)}}function nr(e,t){if(t instanceof RegExp){const n=zn(t),r=new tr(e);return r.visit(n),r.found}return void 0!==(0,Bn.A)(t,(t=>cn(e,t.charCodeAt(0))))}const rr="PATTERN",ir="defaultMode",sr="modes";let ar="boolean"==typeof new RegExp("(?:)").sticky;const or=/[^\\][$]/,cr=/[^\\[][\^]|^\^/;function lr(e){const t=e.ignoreCase?"i":"";return new RegExp(`^(?:${e.source})`,t)}function ur(e){const t=e.ignoreCase?"iy":"y";return new RegExp(`${e.source}`,t)}function dr(e){const t=e.PATTERN;if(Ft(t))return!1;if((0,Nn.A)(t))return!0;if((0,pt.A)(t,"exec"))return!0;if((0,vt.A)(t))return!1;throw Error("non exhaustive match")}function hr(e){return!(!(0,vt.A)(e)||1!==e.length)&&e.charCodeAt(0)}const fr={test:function(e){const t=e.length;for(let n=this.lastIndex;n(0,vt.A)(e)?e.charCodeAt(0):e))}function gr(e,t,n){void 0===e[t]?e[t]=[n]:e[t].push(n)}const yr=256;let Ar=[];function Tr(e){return ee.CATEGORIES))));const e=Fn(n,t);t=t.concat(e),(0,ht.A)(e)?r=!1:n=e}return t}(e);!function(e){(0,ut.A)(e,(e=>{var t;wr(e)||(Nr[Sr]=e,e.tokenTypeIdx=Sr++),Lr(e)&&!(0,nn.A)(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),Lr(e)||(e.CATEGORIES=[]),t=e,(0,pt.A)(t,"categoryMatches")||(e.categoryMatches=[]),function(e){return(0,pt.A)(e,"categoryMatchesMap")}(e)||(e.categoryMatchesMap={})}))}(t),function(e){(0,ut.A)(e,(e=>{$r([],e)}))}(t),function(e){(0,ut.A)(e,(e=>{e.categoryMatches=[],(0,ut.A)(e.categoryMatchesMap,((t,n)=>{e.categoryMatches.push(Nr[n].tokenTypeIdx)}))}))}(t),(0,ut.A)(t,(e=>{e.isParent=e.categoryMatches.length>0}))}function $r(e,t){(0,ut.A)(e,(e=>{t.categoryMatchesMap[e.tokenTypeIdx]=!0})),(0,ut.A)(t.CATEGORIES,(n=>{const r=e.concat(t);cn(r,n)||$r(r,n)}))}function wr(e){return(0,pt.A)(e,"tokenTypeIdx")}function Lr(e){return(0,pt.A)(e,"CATEGORIES")}function Or(e){return(0,pt.A)(e,"tokenTypeIdx")}var br;!function(e){e[e.MISSING_PATTERN=0]="MISSING_PATTERN",e[e.INVALID_PATTERN=1]="INVALID_PATTERN",e[e.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",e[e.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",e[e.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",e[e.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",e[e.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",e[e.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",e[e.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",e[e.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",e[e.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",e[e.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",e[e.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",e[e.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",e[e.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",e[e.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",e[e.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",e[e.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"}(br||(br={}));const _r={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:["\n","\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:{buildUnableToPopLexerModeMessage:e=>`Unable to pop Lexer Mode after encountering Token ->${e.image}<- The Mode Stack is empty`,buildUnexpectedCharactersMessage:(e,t,n,r,i)=>`unexpected character: ->${e.charAt(t)}<- at offset: ${t}, skipped ${n} characters.`},traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(_r);class Pr{constructor(e,t=_r){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(e,t)=>{if(!0===this.traceInitPerf){this.traceInitIndent++;const n=new Array(this.traceInitIndent+1).join("\t");this.traceInitIndent`);const{time:r,value:i}=kr(t),s=r>10?console.warn:console.log;return this.traceInitIndent time: ${r}ms`),this.traceInitIndent--,i}return t()},"boolean"==typeof t)throw Error("The second argument to the Lexer constructor is now an ILexerConfig Object.\na boolean 2nd argument is no longer supported");this.config=Ct({},_r,t);const n=this.config.traceInitPerf;!0===n?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):"number"==typeof n&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",(()=>{let n,r=!0;this.TRACE_INIT("Lexer Config handling",(()=>{if(this.config.lineTerminatorsPattern===_r.lineTerminatorsPattern)this.config.lineTerminatorsPattern=fr;else if(this.config.lineTerminatorCharacters===_r.lineTerminatorCharacters)throw Error("Error: Missing property on the Lexer config.\n\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS");if(t.safeMode&&t.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),(0,nn.A)(e)?n={modes:{defaultMode:(0,mt.A)(e)},defaultMode:ir}:(r=!1,n=(0,mt.A)(e))})),!1===this.config.skipValidations&&(this.TRACE_INIT("performRuntimeChecks",(()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(function(e){const t=[];return(0,pt.A)(e,ir)||t.push({message:"A MultiMode Lexer cannot be initialized without a <"+ir+"> property in its definition\n",type:br.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),(0,pt.A)(e,sr)||t.push({message:"A MultiMode Lexer cannot be initialized without a property in its definition\n",type:br.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),(0,pt.A)(e,sr)&&(0,pt.A)(e,ir)&&!(0,pt.A)(e.modes,e.defaultMode)&&t.push({message:`A MultiMode Lexer cannot be initialized with a ${ir}: <${e.defaultMode}>which does not exist\n`,type:br.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),(0,pt.A)(e,sr)&&(0,ut.A)(e.modes,((e,n)=>{(0,ut.A)(e,((r,i)=>{if((0,En.A)(r))t.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${n}> at index: <${i}>\n`,type:br.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if((0,pt.A)(r,"LONGER_ALT")){const i=(0,nn.A)(r.LONGER_ALT)?r.LONGER_ALT:[r.LONGER_ALT];(0,ut.A)(i,(i=>{(0,En.A)(i)||cn(e,i)||t.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${i.name}> on token <${r.name}> outside of mode <${n}>\n`,type:br.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})}))}}))})),t}(n,this.trackStartLines,this.config.lineTerminatorCharacters))})),this.TRACE_INIT("performWarningRuntimeChecks",(()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(function(e,t,n){const r=[];let i=!1;const s=Gn((0,An.A)((0,dt.A)(e.modes))),a=Sn(s,(e=>e[rr]===Pr.NA)),o=mr(n);return t&&(0,ut.A)(a,(e=>{const t=pr(e,o);if(!1!==t){const n=function(e,t){if(t.issue===br.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.\n\tThe problem is in the <${e.name}> Token Type\n\t Root cause: ${t.errMsg}.\n\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(t.issue===br.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the option.\n\tThe problem is in the <${e.name}> Token Type\n\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}(e,t),i={message:n,type:t.issue,tokenType:e};r.push(i)}else(0,pt.A)(e,"LINE_BREAKS")?!0===e.LINE_BREAKS&&(i=!0):nr(o,e.PATTERN)&&(i=!0)})),t&&!i&&r.push({message:"Warning: No LINE_BREAKS Found.\n\tThis Lexer has been defined to track line and column information,\n\tBut none of the Token Types can be identified as matching a line terminator.\n\tSee https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS \n\tfor details.",type:br.NO_LINE_BREAKS_FLAGS}),r}(n,this.trackStartLines,this.config.lineTerminatorCharacters))}))),n.modes=n.modes?n.modes:{},(0,ut.A)(n.modes,((e,t)=>{n.modes[t]=Sn(e,(e=>(0,En.A)(e)))}));const i=(0,St.A)(n.modes);if((0,ut.A)(n.modes,((e,n)=>{this.TRACE_INIT(`Mode: <${n}> processing`,(()=>{if(this.modes.push(n),!1===this.config.skipValidations&&this.TRACE_INIT("validatePatterns",(()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(function(e,t){let n=[];const r=function(e){const t=(0,Ln.A)(e,(e=>!(0,pt.A)(e,rr)));return{errors:(0,ft.A)(t,(e=>({message:"Token Type: ->"+e.name+"<- missing static 'PATTERN' property",type:br.MISSING_PATTERN,tokenTypes:[e]}))),valid:Fn(e,t)}}(e);n=n.concat(r.errors);const i=function(e){const t=(0,Ln.A)(e,(e=>{const t=e[rr];return!(Ft(t)||(0,Nn.A)(t)||(0,pt.A)(t,"exec")||(0,vt.A)(t))}));return{errors:(0,ft.A)(t,(e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:br.INVALID_PATTERN,tokenTypes:[e]}))),valid:Fn(e,t)}}(r.valid),s=i.valid;return n=n.concat(i.errors),n=n.concat(function(e){let t=[];const n=(0,Ln.A)(e,(e=>Ft(e[rr])));return t=t.concat(function(e){class t extends Be{constructor(){super(...arguments),this.found=!1}visitEndAnchor(e){this.found=!0}}const n=(0,Ln.A)(e,(e=>{const n=e.PATTERN;try{const e=zn(n),r=new t;return r.visit(e),r.found}catch(e){return or.test(n.source)}}));return(0,ft.A)(n,(e=>({message:"Unexpected RegExp Anchor Error:\n\tToken Type: ->"+e.name+"<- static 'PATTERN' cannot contain end of input anchor '$'\n\tSee chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS\tfor details.",type:br.EOI_ANCHOR_FOUND,tokenTypes:[e]})))}(n)),t=t.concat(function(e){class t extends Be{constructor(){super(...arguments),this.found=!1}visitStartAnchor(e){this.found=!0}}const n=(0,Ln.A)(e,(e=>{const n=e.PATTERN;try{const e=zn(n),r=new t;return r.visit(e),r.found}catch(e){return cr.test(n.source)}}));return(0,ft.A)(n,(e=>({message:"Unexpected RegExp Anchor Error:\n\tToken Type: ->"+e.name+"<- static 'PATTERN' cannot contain start of input anchor '^'\n\tSee https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS\tfor details.",type:br.SOI_ANCHOR_FOUND,tokenTypes:[e]})))}(n)),t=t.concat(function(e){const t=(0,Ln.A)(e,(e=>{const t=e[rr];return t instanceof RegExp&&(t.multiline||t.global)}));return(0,ft.A)(t,(e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:br.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[e]})))}(n)),t=t.concat(function(e){const t=[];let n=(0,ft.A)(e,(n=>(0,wn.A)(e,((e,r)=>(n.PATTERN.source!==r.PATTERN.source||cn(t,r)||r.PATTERN===Pr.NA||(t.push(r),e.push(r)),e)),[])));n=Gn(n);const r=(0,Ln.A)(n,(e=>e.length>1));return(0,ft.A)(r,(e=>{const t=(0,ft.A)(e,(e=>e.name));return{message:`The same RegExp pattern ->${Kn(e).PATTERN}<-has been used in all of the following Token Types: ${t.join(", ")} <-`,type:br.DUPLICATE_PATTERNS_FOUND,tokenTypes:e}}))}(n)),t=t.concat(function(e){const t=(0,Ln.A)(e,(e=>e.PATTERN.test("")));return(0,ft.A)(t,(e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' must not match an empty string",type:br.EMPTY_MATCH_PATTERN,tokenTypes:[e]})))}(n)),t}(s)),n=n.concat(function(e){const t=(0,Ln.A)(e,(e=>{if(!(0,pt.A)(e,"GROUP"))return!1;const t=e.GROUP;return t!==Pr.SKIPPED&&t!==Pr.NA&&!(0,vt.A)(t)}));return(0,ft.A)(t,(e=>({message:"Token Type: ->"+e.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:br.INVALID_GROUP_TYPE_FOUND,tokenTypes:[e]})))}(s)),n=n.concat(function(e,t){const n=(0,Ln.A)(e,(e=>void 0!==e.PUSH_MODE&&!cn(t,e.PUSH_MODE)));return(0,ft.A)(n,(e=>({message:`Token Type: ->${e.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${e.PUSH_MODE}<-which does not exist`,type:br.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[e]})))}(s,t)),n=n.concat(function(e){const t=[],n=(0,wn.A)(e,((e,t,n)=>{const r=t.PATTERN;return r===Pr.NA||((0,vt.A)(r)?e.push({str:r,idx:n,tokenType:t}):Ft(r)&&(i=r,void 0===(0,Bn.A)([".","\\","[","]","|","^","$","(",")","?","*","+","{"],(e=>-1!==i.source.indexOf(e))))&&e.push({str:r.source,idx:n,tokenType:t})),e;var i}),[]);return(0,ut.A)(e,((e,r)=>{(0,ut.A)(n,(({str:n,idx:i,tokenType:s})=>{if(r${s.name}<- can never be matched.\nBecause it appears AFTER the Token Type ->${e.name}<-in the lexer's definition.\nSee https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;t.push({message:n,type:br.UNREACHABLE_PATTERN,tokenTypes:[e,s]})}}))})),t}(s)),n}(e,i))})),(0,ht.A)(this.lexerDefinitionErrors)){let r;Cr(e),this.TRACE_INIT("analyzeTokenTypes",(()=>{r=function(e,t){const n=(t=(0,kn.A)(t,{useSticky:ar,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r","\n"],tracer:(e,t)=>t()})).tracer;let r;n("initCharCodeToOptimizedIndexMap",(()=>{!function(){if((0,ht.A)(Ar)){Ar=new Array(65536);for(let e=0;e<65536;e++)Ar[e]=e>255?255+~~(e/255):e}}()})),n("Reject Lexer.NA",(()=>{r=Sn(e,(e=>e[rr]===Pr.NA))}));let i,s,a,o,c,l,u,d,h,f,p,m=!1;n("Transform Patterns",(()=>{m=!1,i=(0,ft.A)(r,(e=>{const n=e[rr];if(Ft(n)){const e=n.source;return 1!==e.length||"^"===e||"$"===e||"."===e||n.ignoreCase?2!==e.length||"\\"!==e[0]||cn(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],e[1])?t.useSticky?ur(n):lr(n):e[1]:e}if((0,Nn.A)(n))return m=!0,{exec:n};if("object"==typeof n)return m=!0,n;if("string"==typeof n){if(1===n.length)return n;{const e=n.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),r=new RegExp(e);return t.useSticky?ur(r):lr(r)}}throw Error("non exhaustive match")}))})),n("misc mapping",(()=>{s=(0,ft.A)(r,(e=>e.tokenTypeIdx)),a=(0,ft.A)(r,(e=>{const t=e.GROUP;if(t!==Pr.SKIPPED){if((0,vt.A)(t))return t;if((0,En.A)(t))return!1;throw Error("non exhaustive match")}})),o=(0,ft.A)(r,(e=>{const t=e.LONGER_ALT;if(t)return(0,nn.A)(t)?(0,ft.A)(t,(e=>$n(r,e))):[$n(r,t)]})),c=(0,ft.A)(r,(e=>e.PUSH_MODE)),l=(0,ft.A)(r,(e=>(0,pt.A)(e,"POP_MODE")))})),n("Line Terminator Handling",(()=>{const e=mr(t.lineTerminatorCharacters);u=(0,ft.A)(r,(e=>!1)),"onlyOffset"!==t.positionTracking&&(u=(0,ft.A)(r,(t=>(0,pt.A)(t,"LINE_BREAKS")?!!t.LINE_BREAKS:!1===pr(t,e)&&nr(e,t.PATTERN))))})),n("Misc Mapping #2",(()=>{d=(0,ft.A)(r,dr),h=(0,ft.A)(i,hr),f=(0,wn.A)(r,((e,t)=>{const n=t.GROUP;return(0,vt.A)(n)&&n!==Pr.SKIPPED&&(e[n]=[]),e}),{}),p=(0,ft.A)(i,((e,t)=>({pattern:i[t],longerAlt:o[t],canLineTerminator:u[t],isCustom:d[t],short:h[t],group:a[t],push:c[t],pop:l[t],tokenTypeIdx:s[t],tokenType:r[t]})))}));let g=!0,y=[];return t.safeMode||n("First Char Optimization",(()=>{y=(0,wn.A)(r,((e,n,r)=>{if("string"==typeof n.PATTERN){const t=Tr(n.PATTERN.charCodeAt(0));gr(e,t,p[r])}else if((0,nn.A)(n.START_CHARS_HINT)){let t;(0,ut.A)(n.START_CHARS_HINT,(n=>{const i=Tr("string"==typeof n?n.charCodeAt(0):n);t!==i&&(t=i,gr(e,i,p[r]))}))}else if(Ft(n.PATTERN))if(n.PATTERN.unicode)g=!1,t.ensureOptimizations&&jn(`${Xn}\tUnable to analyze < ${n.PATTERN.toString()} > pattern.\n\tThe regexp unicode flag is not currently supported by the regexp-to-ast library.\n\tThis will disable the lexer's first char optimizations.\n\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{const i=qn(n.PATTERN,t.ensureOptimizations);(0,ht.A)(i)&&(g=!1),(0,ut.A)(i,(t=>{gr(e,t,p[r])}))}else t.ensureOptimizations&&jn(`${Xn}\tTokenType: <${n.name}> is using a custom token pattern without providing parameter.\n\tThis will disable the lexer's first char optimizations.\n\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),g=!1;return e}),[])})),{emptyGroups:f,patternIdxToConfig:p,charCodeToPatternIdxToConfig:y,hasCustom:m,canBeOptimized:g}}(e,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:t.positionTracking,ensureOptimizations:t.ensureOptimizations,safeMode:t.safeMode,tracer:this.TRACE_INIT})})),this.patternIdxToConfig[n]=r.patternIdxToConfig,this.charCodeToPatternIdxToConfig[n]=r.charCodeToPatternIdxToConfig,this.emptyGroups=Ct({},this.emptyGroups,r.emptyGroups),this.hasCustom=r.hasCustom||this.hasCustom,this.canModeBeOptimized[n]=r.canBeOptimized}}))})),this.defaultMode=n.defaultMode,!(0,ht.A)(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling){const e=(0,ft.A)(this.lexerDefinitionErrors,(e=>e.message)).join("-----------------------\n");throw new Error("Errors detected in definition of Lexer:\n"+e)}(0,ut.A)(this.lexerDefinitionWarning,(e=>{Vn(e.message)})),this.TRACE_INIT("Choosing sub-methods implementations",(()=>{if(ar?(this.chopInput=vr.A,this.match=this.matchWithTest):(this.updateLastIndex=Rr.A,this.match=this.matchWithExec),r&&(this.handleModes=Rr.A),!1===this.trackStartLines&&(this.computeNewColumn=vr.A),!1===this.trackEndLines&&(this.updateTokenEndLineColumnLocation=Rr.A),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else{if(!/onlyOffset/i.test(this.config.positionTracking))throw Error(`Invalid config option: "${this.config.positionTracking}"`);this.createTokenInstance=this.createOffsetOnlyToken}this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)})),this.TRACE_INIT("Failed Optimization Warnings",(()=>{const e=(0,wn.A)(this.canModeBeOptimized,((e,t,n)=>(!1===t&&e.push(n),e)),[]);if(t.ensureOptimizations&&!(0,ht.A)(e))throw Error(`Lexer Modes: < ${e.join(", ")} > cannot be optimized.\n\t Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode.\n\t Or inspect the console log for details on how to resolve these issues.`)})),this.TRACE_INIT("clearRegExpParserCache",(()=>{Hn={}})),this.TRACE_INIT("toFastProperties",(()=>{gt(this)}))}))}tokenize(e,t=this.defaultMode){if(!(0,ht.A)(this.lexerDefinitionErrors)){const e=(0,ft.A)(this.lexerDefinitionErrors,(e=>e.message)).join("-----------------------\n");throw new Error("Unable to Tokenize because Errors detected in definition of Lexer:\n"+e)}return this.tokenizeInternal(e,t)}tokenizeInternal(e,t){let n,r,i,s,a,o,c,l,u,d,h,f,p,m,g;const y=e,A=y.length;let T=0,v=0;const R=this.hasCustom?0:Math.floor(e.length/10),E=new Array(R),k=[];let x=this.trackStartLines?1:void 0,I=this.trackStartLines?1:void 0;const S=function(e){const t={},n=(0,St.A)(e);return(0,ut.A)(n,(n=>{const r=e[n];if(!(0,nn.A)(r))throw Error("non exhaustive match");t[n]=[]})),t}(this.emptyGroups),N=this.trackStartLines,C=this.config.lineTerminatorsPattern;let $=0,w=[],L=[];const O=[],b=[];let _;function P(){return w}function M(e){const t=Tr(e),n=L[t];return void 0===n?b:n}Object.freeze(b);const D=e=>{if(1===O.length&&void 0===e.tokenType.PUSH_MODE){const t=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(e);k.push({offset:e.startOffset,line:e.startLine,column:e.startColumn,length:e.image.length,message:t})}else{O.pop();const e=(0,Er.A)(O);w=this.patternIdxToConfig[e],L=this.charCodeToPatternIdxToConfig[e],$=w.length;const t=this.canModeBeOptimized[e]&&!1===this.config.safeMode;_=L&&t?M:P}};function U(e){O.push(e),L=this.charCodeToPatternIdxToConfig[e],w=this.patternIdxToConfig[e],$=w.length,$=w.length;const t=this.canModeBeOptimized[e]&&!1===this.config.safeMode;_=L&&t?M:P}let F;U.call(this,t);const G=this.config.recoveryEnabled;for(;To.length){o=s,c=l,F=t;break}}}break}}if(null!==o){if(u=o.length,d=F.group,void 0!==d&&(h=F.tokenTypeIdx,f=this.createTokenInstance(o,T,h,F.tokenType,x,I,u),this.handlePayload(f,c),!1===d?v=this.addToken(E,v,f):S[d].push(f)),e=this.chopInput(e,u),T+=u,I=this.computeNewColumn(I,u),!0===N&&!0===F.canLineTerminator){let e,t,n=0;C.lastIndex=0;do{e=C.test(o),!0===e&&(t=C.lastIndex-1,n++)}while(!0===e);0!==n&&(x+=n,I=u-t,this.updateTokenEndLineColumnLocation(f,d,t,n,x,I,u))}this.handleModes(F,D,U,f)}else{const t=T,n=x,i=I;let s=!1===G;for(;!1===s&&T`Expecting ${Dr(e)?`--\x3e ${Mr(e)} <--`:`token of type --\x3e ${e.name} <--`} but found --\x3e '${t.image}' <--`,buildNotAllInputParsedMessage:({firstRedundant:e,ruleName:t})=>"Redundant input, expecting EOF but found: "+e.image,buildNoViableAltMessage({expectedPathsPerAlt:e,actual:t,previous:n,customUserDescription:r,ruleName:i}){const s="Expecting: ",a="\nbut found: '"+Kn(t).image+"'";if(r)return s+r+a;{const t=(0,wn.A)(e,((e,t)=>e.concat(t)),[]),n=(0,ft.A)(t,(e=>`[${(0,ft.A)(e,(e=>Mr(e))).join(", ")}]`));return s+`one of these possible Token sequences:\n${(0,ft.A)(n,((e,t)=>` ${t+1}. ${e}`)).join("\n")}`+a}},buildEarlyExitMessage({expectedIterationPaths:e,actual:t,customUserDescription:n,ruleName:r}){const i="Expecting: ",s="\nbut found: '"+Kn(t).image+"'";return n?i+n+s:i+`expecting at least one iteration which starts with one of these possible Token sequences::\n <${(0,ft.A)(e,(e=>`[${(0,ft.A)(e,(e=>Mr(e))).join(",")}]`)).join(" ,")}>`+s}};Object.freeze(qr);const Qr={buildRuleNotFoundError:(e,t)=>"Invalid grammar, reference to a rule which is not defined: ->"+t.nonTerminalName+"<-\ninside top level rule: ->"+e.name+"<-"},Jr={buildDuplicateFoundError(e,t){const n=e.name,r=Kn(t),i=r.idx,s=fn(r),a=(o=r)instanceof qt?o.terminalType.name:o instanceof Kt?o.nonTerminalName:"";var o;let c=`->${s}${i>0?i:""}<- ${a?`with argument: ->${a}<-`:""}\n appears more than once (${t.length} times) in the top level rule: ->${n}<-. \n For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES \n `;return c=c.replace(/[ \t]+/g," "),c=c.replace(/\s\s+/g,"\n"),c},buildNamespaceConflictError:e=>`Namespace conflict found in grammar.\nThe grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${e.name}>.\nTo resolve this make sure each Terminal and Non-Terminal names are unique\nThis is easy to accomplish by using the convention that Terminal names start with an uppercase letter\nand Non-Terminal names start with a lower case letter.`,buildAlternationPrefixAmbiguityError(e){const t=(0,ft.A)(e.prefixPath,(e=>Mr(e))).join(", "),n=0===e.alternation.idx?"":e.alternation.idx;return`Ambiguous alternatives: <${e.ambiguityIndices.join(" ,")}> due to common lookahead prefix\nin inside <${e.topLevelRule.name}> Rule,\n<${t}> may appears as a prefix path in all these alternatives.\nSee: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX\nFor Further details.`},buildAlternationAmbiguityError(e){const t=(0,ft.A)(e.prefixPath,(e=>Mr(e))).join(", "),n=0===e.alternation.idx?"":e.alternation.idx;let r=`Ambiguous Alternatives Detected: <${e.ambiguityIndices.join(" ,")}> in inside <${e.topLevelRule.name}> Rule,\n<${t}> may appears as a prefix path in all these alternatives.\n`;return r+="See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES\nFor Further details.",r},buildEmptyRepetitionError(e){let t=fn(e.repetition);return 0!==e.repetition.idx&&(t+=e.repetition.idx),`The repetition <${t}> within Rule <${e.topLevelRule.name}> can never consume any tokens.\nThis could lead to an infinite loop.`},buildTokenNameError:e=>"deprecated",buildEmptyAlternationError:e=>`Ambiguous empty alternative: <${e.emptyChoiceIdx+1}> in inside <${e.topLevelRule.name}> Rule.\nOnly the last alternative may be an empty alternative.`,buildTooManyAlternativesError:e=>`An Alternation cannot have more than 256 alternatives:\n inside <${e.topLevelRule.name}> Rule.\n has ${e.alternation.definition.length+1} alternatives.`,buildLeftRecursionError(e){const t=e.topLevelRule.name;return`Left Recursion found in grammar.\nrule: <${t}> can be invoked from itself (directly or indirectly)\nwithout consuming any Tokens. The grammar path that causes this is: \n ${t} --\x3e ${(0,ft.A)(e.leftRecursionPath,(e=>e.name)).concat([t]).join(" --\x3e ")}\n To fix this refactor your grammar to remove the left recursion.\nsee: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError:e=>"deprecated",buildDuplicateRuleNameError(e){let t;return t=e.topLevelRule instanceof Bt?e.topLevelRule.name:e.topLevelRule,`Duplicate definition, rule: ->${t}<- is already defined in the grammar: ->${e.grammarName}<-`}};class Zr extends Jt{constructor(e,t){super(),this.nameToTopRule=e,this.errMsgProvider=t,this.errors=[]}resolveRefs(){(0,ut.A)((0,dt.A)(this.nameToTopRule),(e=>{this.currTopLevel=e,e.accept(this)}))}visitNonTerminal(e){const t=this.nameToTopRule[e.nonTerminalName];if(t)e.referencedRule=t;else{const t=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:t,type:Ns.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}}const ei=function(e,t){return(0,Mn.A)((0,ft.A)(e,t),1)};var ti=n(2528);const ni=function(e,t,n,r){for(var i=-1,s=null==e?0:e.length;++i{!1===(0,ht.A)(e.definition)&&(r=s(e.definition))})),r;if(!(t instanceof qt))throw Error("non exhaustive match");n.push(t.terminalType)}}i++}return r.push({partialPath:n,suffixDef:Tt(e,i)}),r}function yi(e,t,n,r){const i="EXIT_NONE_TERMINAL",s=[i],a="EXIT_ALTERNATIVE";let o=!1;const c=t.length,l=c-r-1,u=[],d=[];for(d.push({idx:-1,def:e,ruleStack:[],occurrenceStack:[]});!(0,ht.A)(d);){const e=d.pop();if(e===a){o&&(0,Er.A)(d).idx<=l&&d.pop();continue}const r=e.def,h=e.idx,f=e.ruleStack,p=e.occurrenceStack;if((0,ht.A)(r))continue;const m=r[0];if(m===i){const e={idx:h,def:Tt(r),ruleStack:ci(f),occurrenceStack:ci(p)};d.push(e)}else if(m instanceof qt)if(h=0;e--){const t={idx:h,def:m.definition[e].definition.concat(Tt(r)),ruleStack:f,occurrenceStack:p};d.push(t),d.push(a)}else if(m instanceof jt)d.push({idx:h,def:m.definition.concat(Tt(r)),ruleStack:f,occurrenceStack:p});else{if(!(m instanceof Bt))throw Error("non exhaustive match");d.push(Ai(m,h,f,p))}}return u}function Ai(e,t,n,r){const i=(0,mt.A)(n);i.push(e.name);const s=(0,mt.A)(r);return s.push(1),{idx:t,def:e.definition,ruleStack:i,occurrenceStack:s}}var Ti;function vi(e){if(e instanceof Vt||"Option"===e)return Ti.OPTION;if(e instanceof zt||"Repetition"===e)return Ti.REPETITION;if(e instanceof Ht||"RepetitionMandatory"===e)return Ti.REPETITION_MANDATORY;if(e instanceof Wt||"RepetitionMandatoryWithSeparator"===e)return Ti.REPETITION_MANDATORY_WITH_SEPARATOR;if(e instanceof Yt||"RepetitionWithSeparator"===e)return Ti.REPETITION_WITH_SEPARATOR;if(e instanceof Xt||"Alternation"===e)return Ti.ALTERNATION;throw Error("non exhaustive match")}function Ri(e){const{occurrence:t,rule:n,prodType:r,maxLookahead:i}=e,s=vi(r);return s===Ti.ALTERNATION?wi(t,n,i):Li(t,n,s,i)}function Ei(e,t,n,r){const i=e.length,s=dn(e,(e=>dn(e,(e=>1===e.length))));if(t)return function(t){const r=(0,ft.A)(t,(e=>e.GATE));for(let t=0;t(0,An.A)(e))),n=(0,wn.A)(t,((e,t,n)=>((0,ut.A)(t,(t=>{(0,pt.A)(e,t.tokenTypeIdx)||(e[t.tokenTypeIdx]=n),(0,ut.A)(t.categoryMatches,(t=>{(0,pt.A)(e,t)||(e[t]=n)}))})),e)),{});return function(){const e=this.LA(1);return n[e.tokenTypeIdx]}}return function(){for(let t=0;t1===e.length)),i=e.length;if(r&&!n){const t=(0,An.A)(e);if(1===t.length&&(0,ht.A)(t[0].categoryMatches)){const e=t[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===e}}{const e=(0,wn.A)(t,((e,t,n)=>(e[t.tokenTypeIdx]=!0,(0,ut.A)(t.categoryMatches,(t=>{e[t]=!0})),e)),[]);return function(){const t=this.LA(1);return!0===e[t.tokenTypeIdx]}}}return function(){e:for(let n=0;ngi([e],1))),r=Si(n.length),i=(0,ft.A)(n,(e=>{const t={};return(0,ut.A)(e,(e=>{const n=Ni(e.partialPath);(0,ut.A)(n,(e=>{t[e]=!0}))})),t}));let s=n;for(let e=1;e<=t;e++){const n=s;s=Si(n.length);for(let a=0;a{const t=Ni(e.partialPath);(0,ut.A)(t,(e=>{i[a][e]=!0}))}))}}}}return r}function wi(e,t,n,r){const i=new Ii(e,Ti.ALTERNATION,r);return t.accept(i),$i(i.result,n)}function Li(e,t,n,r){const i=new Ii(e,n);t.accept(i);const s=i.result,a=new xi(t,e,n).startWalking();return $i([new jt({definition:s}),new jt({definition:a})],r)}function Oi(e,t){e:for(let n=0;ndn(e,(e=>dn(e,(e=>(0,ht.A)(e.categoryMatches)))))))}function _i(e){return`${fn(e)}_#_${e.idx}_#_${Pi(e)}`}function Pi(e){return e instanceof qt?e.terminalType.name:e instanceof Kt?e.nonTerminalName:""}class Mi extends Jt{constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(e){this.allProductions.push(e)}visitOption(e){this.allProductions.push(e)}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}visitAlternation(e){this.allProductions.push(e)}visitTerminal(e){this.allProductions.push(e)}}function Di(e,t,n,r=[]){const i=[],s=Ui(t.definition);if((0,ht.A)(s))return[];{const t=e.name;cn(s,e)&&i.push({message:n.buildLeftRecursionError({topLevelRule:e,leftRecursionPath:r}),type:Ns.LEFT_RECURSION,ruleName:t});const a=Fn(s,r.concat([e])),o=ei(a,(t=>{const i=(0,mt.A)(r);return i.push(t),Di(e,t,n,i)}));return i.concat(o)}}function Ui(e){let t=[];if((0,ht.A)(e))return t;const n=Kn(e);if(n instanceof Kt)t.push(n.referencedRule);else if(n instanceof jt||n instanceof Vt||n instanceof Ht||n instanceof Wt||n instanceof Yt||n instanceof zt)t=t.concat(Ui(n.definition));else if(n instanceof Xt)t=(0,An.A)((0,ft.A)(n.definition,(e=>Ui(e.definition))));else if(!(n instanceof qt))throw Error("non exhaustive match");const r=hn(n),i=e.length>1;if(r&&i){const n=Tt(e);return t.concat(Ui(n))}return t}class Fi extends Jt{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}}class Gi extends Jt{constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}}const Ki="MismatchedTokenException",Bi="NoViableAltException",ji="EarlyExitException",Vi="NotAllInputParsedException",Hi=[Ki,Bi,ji,Vi];function Wi(e){return cn(Hi,e.name)}Object.freeze(Hi);class zi extends Error{constructor(e,t){super(e),this.token=t,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}class Yi extends zi{constructor(e,t,n){super(e,t),this.previousToken=n,this.name=Ki}}class Xi extends zi{constructor(e,t,n){super(e,t),this.previousToken=n,this.name=Bi}}class qi extends zi{constructor(e,t){super(e,t),this.name=Vi}}class Qi extends zi{constructor(e,t,n){super(e,t),this.previousToken=n,this.name=ji}}const Ji={},Zi="InRuleRecoveryException";class es extends Error{constructor(e){super(e),this.name=Zi}}function ts(e,t,n,r,i,s,a){const o=this.getKeyForAutomaticLookahead(r,i);let c=this.firstAfterRepMap[o];if(void 0===c){const e=this.getCurrRuleFullName();c=new s(this.getGAstProductions()[e],i).startWalking(),this.firstAfterRepMap[o]=c}let l=c.token,u=c.occurrence;const d=c.isEndOfRule;1===this.RULE_STACK.length&&d&&void 0===l&&(l=zr,u=1),void 0!==l&&void 0!==u&&this.shouldInRepetitionRecoveryBeTried(l,u,a)&&this.tryInRepetitionRecovery(e,t,n,l)}const ns=1024,rs=1280,is=1536;function ss(e,t,n){return n|t|e}class as{constructor(e){var t;this.maxLookahead=null!==(t=null==e?void 0:e.maxLookahead)&&void 0!==t?t:Is.maxLookahead}validate(e){const t=this.validateNoLeftRecursion(e.rules);if((0,ht.A)(t)){const n=this.validateEmptyOrAlternatives(e.rules),r=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),i=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead);return[...t,...n,...r,...i]}return t}validateNoLeftRecursion(e){return ei(e,(e=>Di(e,e,Jr)))}validateEmptyOrAlternatives(e){return ei(e,(e=>function(e,t){const n=new Fi;e.accept(n);const r=n.alternations;return ei(r,(n=>{const r=ci(n.definition);return ei(r,((r,i)=>{const s=yi([r],[],xr,1);return(0,ht.A)(s)?[{message:t.buildEmptyAlternationError({topLevelRule:e,alternation:n,emptyChoiceIdx:i}),type:Ns.NONE_LAST_EMPTY_ALT,ruleName:e.name,occurrence:n.idx,alternative:i+1}]:[]}))}))}(e,Jr)))}validateAmbiguousAlternationAlternatives(e,t){return ei(e,(e=>function(e,t,n){const r=new Fi;e.accept(r);let i=r.alternations;i=Sn(i,(e=>!0===e.ignoreAmbiguities));return ei(i,(r=>{const i=r.idx,s=r.maxLookahead||t,a=wi(i,e,s,r),o=function(e,t,n,r){const i=[],s=(0,wn.A)(e,((n,r,s)=>(!0===t.definition[s].ignoreAmbiguities||(0,ut.A)(r,(r=>{const a=[s];(0,ut.A)(e,((e,n)=>{s!==n&&Oi(e,r)&&!0!==t.definition[n].ignoreAmbiguities&&a.push(n)})),a.length>1&&!Oi(i,r)&&(i.push(r),n.push({alts:a,path:r}))})),n)),[]);return(0,ft.A)(s,(e=>{const i=(0,ft.A)(e.alts,(e=>e+1));return{message:r.buildAlternationAmbiguityError({topLevelRule:n,alternation:t,ambiguityIndices:i,prefixPath:e.path}),type:Ns.AMBIGUOUS_ALTS,ruleName:n.name,occurrence:t.idx,alternatives:e.alts}}))}(a,r,e,n),c=function(e,t,n,r){const i=(0,wn.A)(e,((e,t,n)=>{const r=(0,ft.A)(t,(e=>({idx:n,path:e})));return e.concat(r)}),[]);return Gn(ei(i,(e=>{if(!0===t.definition[e.idx].ignoreAmbiguities)return[];const s=e.idx,a=e.path,o=(0,Ln.A)(i,(e=>{return!0!==t.definition[e.idx].ignoreAmbiguities&&e.idx{const n=r[t];return e===n||n.categoryMatchesMap[e.tokenTypeIdx]})));var n,r}));return(0,ft.A)(o,(e=>{const i=[e.idx+1,s+1],a=0===t.idx?"":t.idx;return{message:r.buildAlternationPrefixAmbiguityError({topLevelRule:n,alternation:t,ambiguityIndices:i,prefixPath:e.path}),type:Ns.AMBIGUOUS_PREFIX_ALTS,ruleName:n.name,occurrence:a,alternatives:i}}))})))}(a,r,e,n);return o.concat(c)}))}(e,t,Jr)))}validateSomeNonEmptyLookaheadPath(e,t){return function(e,t,n){const r=[];return(0,ut.A)(e,(e=>{const i=new Gi;e.accept(i);const s=i.allProductions;(0,ut.A)(s,(i=>{const s=vi(i),a=i.maxLookahead||t,o=Li(i.idx,e,s,a)[0];if((0,ht.A)((0,An.A)(o))){const t=n.buildEmptyRepetitionError({topLevelRule:e,repetition:i});r.push({message:t,type:Ns.NO_NON_EMPTY_LOOKAHEAD,ruleName:e.name})}}))})),r}(e,t,Jr)}buildLookaheadForAlternation(e){return function(e,t,n,r,i,s){const a=wi(e,t,n);return s(a,r,bi(a)?Ir:xr,i)}(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,Ei)}buildLookaheadForOptional(e){return function(e,t,n,r,i,s){const a=Li(e,t,i,n),o=bi(a)?Ir:xr;return s(a[0],o,r)}(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,vi(e.prodType),ki)}}const os=new class extends Jt{constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(e){this.dslMethods.option.push(e)}visitRepetitionWithSeparator(e){this.dslMethods.repetitionWithSeparator.push(e)}visitRepetitionMandatory(e){this.dslMethods.repetitionMandatory.push(e)}visitRepetitionMandatoryWithSeparator(e){this.dslMethods.repetitionMandatoryWithSeparator.push(e)}visitRepetition(e){this.dslMethods.repetition.push(e)}visitAlternation(e){this.dslMethods.alternation.push(e)}};function cs(e,t){!0===isNaN(e.startOffset)?(e.startOffset=t.startOffset,e.endOffset=t.endOffset):e.endOffset(0,Nn.A)(e.GATE)));return s.hasPredicates=a,n.definition.push(s),(0,ut.A)(i,(e=>{const t=new jt({definition:[]});s.definition.push(t),(0,pt.A)(e,"IGNORE_AMBIGUITIES")?t.ignoreAmbiguities=e.IGNORE_AMBIGUITIES:(0,pt.A)(e,"GATE")&&(t.ignoreAmbiguities=!0),this.recordingProdStack.push(t),e.ALT.call(this),this.recordingProdStack.pop()})),ps}function Es(e){return 0===e?"":`${e}`}function ks(e){if(e<0||e>gs){const t=new Error(`Invalid DSL Method idx value: <${e}>\n\tIdx value must be a none negative value smaller than ${gs+1}`);throw t.KNOWN_RECORDER_ERROR=!0,t}}const xs=Yr(zr,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(xs);const Is=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:qr,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),Ss=Object.freeze({recoveryValueFunc:()=>{},resyncEnabled:!0});var Ns,Cs,$s;function ws(e=void 0){return function(){return e}}!function(e){e[e.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",e[e.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",e[e.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",e[e.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",e[e.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",e[e.LEFT_RECURSION=5]="LEFT_RECURSION",e[e.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",e[e.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",e[e.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",e[e.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",e[e.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",e[e.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",e[e.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",e[e.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"}(Ns||(Ns={}));class Ls{static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated.\t\nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",(()=>{let e;this.selfAnalysisDone=!0;const t=this.className;this.TRACE_INIT("toFastProps",(()=>{gt(this)})),this.TRACE_INIT("Grammar Recording",(()=>{try{this.enableRecording(),(0,ut.A)(this.definedRulesNames,(e=>{const t=this[e].originalGrammarAction;let n;this.TRACE_INIT(`${e} Rule`,(()=>{n=this.topLevelRuleRecord(e,t)})),this.gastProductionsCache[e]=n}))}finally{this.disableRecording()}}));let n=[];if(this.TRACE_INIT("Grammar Resolving",(()=>{n=function(e){const t=(0,kn.A)(e,{errMsgProvider:Qr}),n={};return(0,ut.A)(e.rules,(e=>{n[e.name]=e})),function(e,t){const n=new Zr(e,t);return n.resolveRefs(),n.errors}(n,t.errMsgProvider)}({rules:(0,dt.A)(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)})),this.TRACE_INIT("Grammar Validations",(()=>{if((0,ht.A)(n)&&!1===this.skipValidations){const n=(e={rules:(0,dt.A)(this.gastProductionsCache),tokenTypes:(0,dt.A)(this.tokensMap),errMsgProvider:Jr,grammarName:t},function(e,t,n,r){const i=ei(e,(e=>function(e,t){const n=new Mi;e.accept(n);const r=n.allProductions,i=si(r,_i),s=bt(i,(e=>e.length>1));return(0,ft.A)((0,dt.A)(s),(n=>{const r=Kn(n),i=t.buildDuplicateFoundError(e,n),s=fn(r),a={message:i,type:Ns.DUPLICATE_PRODUCTIONS,ruleName:e.name,dslName:s,occurrence:r.idx},o=Pi(r);return o&&(a.parameter=o),a}))}(e,n))),s=function(e,t,n){const r=[],i=(0,ft.A)(t,(e=>e.name));return(0,ut.A)(e,(e=>{const t=e.name;if(cn(i,t)){const i=n.buildNamespaceConflictError(e);r.push({message:i,type:Ns.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:t})}})),r}(e,t,n),a=ei(e,(e=>function(e,t){const n=new Fi;e.accept(n);const r=n.alternations;return ei(r,(n=>n.definition.length>255?[{message:t.buildTooManyAlternativesError({topLevelRule:e,alternation:n}),type:Ns.TOO_MANY_ALTS,ruleName:e.name,occurrence:n.idx}]:[]))}(e,n))),o=ei(e,(t=>function(e,t,n,r){const i=[],s=(0,wn.A)(t,((t,n)=>n.name===e.name?t+1:t),0);if(s>1){const t=r.buildDuplicateRuleNameError({topLevelRule:e,grammarName:n});i.push({message:t,type:Ns.DUPLICATE_RULE_NAME,ruleName:e.name})}return i}(t,e,r,n)));return i.concat(s,a,o)}((e=(0,kn.A)(e,{errMsgProvider:Jr})).rules,e.tokenTypes,e.errMsgProvider,e.grammarName)),r=function(e){const t=e.lookaheadStrategy.validate({rules:e.rules,tokenTypes:e.tokenTypes,grammarName:e.grammarName});return(0,ft.A)(t,(e=>Object.assign({type:Ns.CUSTOM_LOOKAHEAD_VALIDATION},e)))}({lookaheadStrategy:this.lookaheadStrategy,rules:(0,dt.A)(this.gastProductionsCache),tokenTypes:(0,dt.A)(this.tokensMap),grammarName:t});this.definitionErrors=this.definitionErrors.concat(n,r)}var e})),(0,ht.A)(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",(()=>{const e=function(e){const t={};return(0,ut.A)(e,(e=>{const n=new Rn(e).startWalking();Ct(t,n)})),t}((0,dt.A)(this.gastProductionsCache));this.resyncFollows=e})),this.TRACE_INIT("ComputeLookaheadFunctions",(()=>{var e,t;null===(t=(e=this.lookaheadStrategy).initialize)||void 0===t||t.call(e,{rules:(0,dt.A)(this.gastProductionsCache)}),this.preComputeLookaheadFunctions((0,dt.A)(this.gastProductionsCache))}))),!Ls.DEFER_DEFINITION_ERRORS_HANDLING&&!(0,ht.A)(this.definitionErrors))throw e=(0,ft.A)(this.definitionErrors,(e=>e.message)),new Error(`Parser Definition Errors detected:\n ${e.join("\n-------------------------------\n")}`)}))}constructor(e,t){this.definitionErrors=[],this.selfAnalysisDone=!1;const n=this;if(n.initErrorHandler(t),n.initLexerAdapter(),n.initLooksAhead(t),n.initRecognizerEngine(e,t),n.initRecoverable(t),n.initTreeBuilder(t),n.initContentAssist(),n.initGastRecorder(t),n.initPerformanceTracer(t),(0,pt.A)(t,"ignoredIssues"))throw new Error("The IParserConfig property has been deprecated.\n\tPlease use the flag on the relevant DSL method instead.\n\tSee: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES\n\tFor further details.");this.skipValidations=(0,pt.A)(t,"skipValidations")?t.skipValidations:Is.skipValidations}}Ls.DEFER_DEFINITION_ERRORS_HANDLING=!1,Cs=Ls,$s=[class{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=(0,pt.A)(e,"recoveryEnabled")?e.recoveryEnabled:Is.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=ts)}getTokenToInsert(e){const t=Yr(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return t.isInsertedInRecovery=!0,t}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,t,n,r){const i=this.findReSyncTokenType(),s=this.exportLexerState(),a=[];let o=!1;const c=this.LA(1);let l=this.LA(1);const u=()=>{const e=this.LA(0),t=this.errorMessageProvider.buildMismatchTokenMessage({expected:r,actual:c,previous:e,ruleName:this.getCurrRuleFullName()}),n=new Yi(t,c,this.LA(0));n.resyncedTokens=ci(a),this.SAVE_ERROR(n)};for(;!o;){if(this.tokenMatcher(l,r))return void u();if(n.call(this))return u(),void e.apply(this,t);this.tokenMatcher(l,i)?o=!0:(l=this.SKIP_TOKEN(),this.addToResyncTokens(l,a))}this.importLexerState(s)}shouldInRepetitionRecoveryBeTried(e,t,n){return!1!==n&&!this.tokenMatcher(this.LA(1),e)&&!this.isBackTracking()&&!this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,t))}getFollowsForInRuleRecovery(e,t){const n=this.getCurrentGrammarPath(e,t);return this.getNextPossibleTokenTypes(n)}tryInRuleRecovery(e,t){if(this.canRecoverWithSingleTokenInsertion(e,t))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){const e=this.SKIP_TOKEN();return this.consumeToken(),e}throw new es("sad sad panda")}canPerformInRuleRecovery(e,t){return this.canRecoverWithSingleTokenInsertion(e,t)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,t){if(!this.canTokenTypeBeInsertedInRecovery(e))return!1;if((0,ht.A)(t))return!1;const n=this.LA(1);return void 0!==(0,Bn.A)(t,(e=>this.tokenMatcher(n,e)))}canRecoverWithSingleTokenDeletion(e){return!!this.canTokenTypeBeDeletedInRecovery(e)&&this.tokenMatcher(this.LA(2),e)}isInCurrentRuleReSyncSet(e){const t=this.getCurrFollowKey(),n=this.getFollowSetFromFollowKey(t);return cn(n,e)}findReSyncTokenType(){const e=this.flattenFollowSet();let t=this.LA(1),n=2;for(;;){const r=(0,Bn.A)(e,(e=>Xr(t,e)));if(void 0!==r)return r;t=this.LA(n),n++}}getCurrFollowKey(){if(1===this.RULE_STACK.length)return Ji;const e=this.getLastExplicitRuleShortName(),t=this.getLastExplicitRuleOccurrenceIndex(),n=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:t,inRule:this.shortRuleNameToFullName(n)}}buildFullFollowKeyStack(){const e=this.RULE_STACK,t=this.RULE_OCCURRENCE_STACK;return(0,ft.A)(e,((n,r)=>0===r?Ji:{ruleName:this.shortRuleNameToFullName(n),idxInCallingRule:t[r],inRule:this.shortRuleNameToFullName(e[r-1])}))}flattenFollowSet(){const e=(0,ft.A)(this.buildFullFollowKeyStack(),(e=>this.getFollowSetFromFollowKey(e)));return(0,An.A)(e)}getFollowSetFromFollowKey(e){if(e===Ji)return[zr];const t=e.ruleName+e.idxInCallingRule+vn+e.inRule;return this.resyncFollows[t]}addToResyncTokens(e,t){return this.tokenMatcher(e,zr)||t.push(e),t}reSyncTo(e){const t=[];let n=this.LA(1);for(;!1===this.tokenMatcher(n,e);)n=this.SKIP_TOKEN(),this.addToResyncTokens(n,t);return ci(t)}attemptInRepetitionRecovery(e,t,n,r,i,s,a){}getCurrentGrammarPath(e,t){return{ruleStack:this.getHumanReadableRuleStack(),occurrenceStack:(0,mt.A)(this.RULE_OCCURRENCE_STACK),lastTok:e,lastTokOccurrence:t}}getHumanReadableRuleStack(){return(0,ft.A)(this.RULE_STACK,(e=>this.shortRuleNameToFullName(e)))}},class{initLooksAhead(e){this.dynamicTokensEnabled=(0,pt.A)(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:Is.dynamicTokensEnabled,this.maxLookahead=(0,pt.A)(e,"maxLookahead")?e.maxLookahead:Is.maxLookahead,this.lookaheadStrategy=(0,pt.A)(e,"lookaheadStrategy")?e.lookaheadStrategy:new as({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){(0,ut.A)(e,(e=>{this.TRACE_INIT(`${e.name} Rule Lookahead`,(()=>{const{alternation:t,repetition:n,option:r,repetitionMandatory:i,repetitionMandatoryWithSeparator:s,repetitionWithSeparator:a}=function(e){os.reset(),e.accept(os);const t=os.dslMethods;return os.reset(),t}(e);(0,ut.A)(t,(t=>{const n=0===t.idx?"":t.idx;this.TRACE_INIT(`${fn(t)}${n}`,(()=>{const n=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:t.idx,rule:e,maxLookahead:t.maxLookahead||this.maxLookahead,hasPredicates:t.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),r=ss(this.fullRuleNameToShort[e.name],256,t.idx);this.setLaFuncCache(r,n)}))})),(0,ut.A)(n,(t=>{this.computeLookaheadFunc(e,t.idx,768,"Repetition",t.maxLookahead,fn(t))})),(0,ut.A)(r,(t=>{this.computeLookaheadFunc(e,t.idx,512,"Option",t.maxLookahead,fn(t))})),(0,ut.A)(i,(t=>{this.computeLookaheadFunc(e,t.idx,ns,"RepetitionMandatory",t.maxLookahead,fn(t))})),(0,ut.A)(s,(t=>{this.computeLookaheadFunc(e,t.idx,is,"RepetitionMandatoryWithSeparator",t.maxLookahead,fn(t))})),(0,ut.A)(a,(t=>{this.computeLookaheadFunc(e,t.idx,rs,"RepetitionWithSeparator",t.maxLookahead,fn(t))}))}))}))}computeLookaheadFunc(e,t,n,r,i,s){this.TRACE_INIT(`${s}${0===t?"":t}`,(()=>{const s=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:t,rule:e,maxLookahead:i||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:r}),a=ss(this.fullRuleNameToShort[e.name],n,t);this.setLaFuncCache(a,s)}))}getKeyForAutomaticLookahead(e,t){return ss(this.getLastExplicitRuleShortName(),e,t)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,t){this.lookAheadFuncsCache.set(e,t)}},class{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=(0,pt.A)(e,"nodeLocationTracking")?e.nodeLocationTracking:Is.nodeLocationTracking,this.outputCst)if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=ls,this.setNodeLocationFromNode=ls,this.cstPostRule=Rr.A,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=Rr.A,this.setNodeLocationFromNode=Rr.A,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=cs,this.setNodeLocationFromNode=cs,this.cstPostRule=Rr.A,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=Rr.A,this.setNodeLocationFromNode=Rr.A,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else{if(!/none/i.test(this.nodeLocationTracking))throw Error(`Invalid config option: "${e.nodeLocationTracking}"`);this.setNodeLocationFromToken=Rr.A,this.setNodeLocationFromNode=Rr.A,this.cstPostRule=Rr.A,this.setInitialNodeLocation=Rr.A}else this.cstInvocationStateUpdate=Rr.A,this.cstFinallyStateUpdate=Rr.A,this.cstPostTerminal=Rr.A,this.cstPostNonTerminal=Rr.A,this.cstPostRule=Rr.A}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){const t=this.LA(1);e.location={startOffset:t.startOffset,startLine:t.startLine,startColumn:t.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){const t={name:e,children:Object.create(null)};this.setInitialNodeLocation(t),this.CST_STACK.push(t)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){const t=this.LA(0),n=e.location;n.startOffset<=t.startOffset==1?(n.endOffset=t.endOffset,n.endLine=t.endLine,n.endColumn=t.endColumn):(n.startOffset=NaN,n.startLine=NaN,n.startColumn=NaN)}cstPostRuleOnlyOffset(e){const t=this.LA(0),n=e.location;n.startOffset<=t.startOffset==1?n.endOffset=t.endOffset:n.startOffset=NaN}cstPostTerminal(e,t){const n=this.CST_STACK[this.CST_STACK.length-1];var r,i,s;i=t,s=e,void 0===(r=n).children[s]?r.children[s]=[i]:r.children[s].push(i),this.setNodeLocationFromToken(n.location,t)}cstPostNonTerminal(e,t){const n=this.CST_STACK[this.CST_STACK.length-1];!function(e,t,n){void 0===e.children[t]?e.children[t]=[n]:e.children[t].push(n)}(n,t,e),this.setNodeLocationFromNode(n.location,e.location)}getBaseCstVisitorConstructor(){if((0,En.A)(this.baseCstVisitorConstructor)){const e=function(e,t){const n=function(){};us(n,e+"BaseSemantics");const r={visit:function(e,t){if((0,nn.A)(e)&&(e=e[0]),!(0,En.A)(e))return this[e.name](e.children,t)},validateVisitor:function(){const e=function(e,t){const n=function(e,t){const n=(0,Ln.A)(t,(t=>!1===(0,Nn.A)(e[t]))),r=(0,ft.A)(n,(t=>({msg:`Missing visitor method: <${t}> on ${e.constructor.name} CST Visitor.`,type:hs.MISSING_METHOD,methodName:t})));return Gn(r)}(e,t);return n}(this,t);if(!(0,ht.A)(e)){const t=(0,ft.A)(e,(e=>e.msg));throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:\n\t${t.join("\n\n").replace(/\n/g,"\n\t")}`)}}};return(n.prototype=r).constructor=n,n._RULE_NAMES=t,n}(this.className,(0,St.A)(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if((0,En.A)(this.baseCstVisitorWithDefaultsConstructor)){const e=function(e,t,n){const r=function(){};us(r,e+"BaseSemanticsWithDefaults");const i=Object.create(n.prototype);return(0,ut.A)(t,(e=>{i[e]=ds})),(r.prototype=i).constructor=r,r}(this.className,(0,St.A)(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){const e=this.RULE_STACK;return e[e.length-1]}getPreviousExplicitRuleShortName(){const e=this.RULE_STACK;return e[e.length-2]}getLastExplicitRuleOccurrenceIndex(){const e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]}},class{initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(!0!==this.selfAnalysisDone)throw Error("Missing invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):xs}LA(e){const t=this.currIdx+e;return t<0||this.tokVectorLength<=t?xs:this.tokVector[t]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVector.length-1}getLexerPosition(){return this.exportLexerState()}},class{initRecognizerEngine(e,t){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=Ir,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},(0,pt.A)(t,"serializedGrammar"))throw Error("The Parser's configuration can no longer contain a property.\n\tSee: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0\n\tFor Further details.");if((0,nn.A)(e)){if((0,ht.A)(e))throw Error("A Token Vocabulary cannot be empty.\n\tNote that the first argument for the parser constructor\n\tis no longer a Token vector (since v4.0).");if("number"==typeof e[0].startOffset)throw Error("The Parser constructor no longer accepts a token vector as the first argument.\n\tSee: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0\n\tFor Further details.")}if((0,nn.A)(e))this.tokensMap=(0,wn.A)(e,((e,t)=>(e[t.name]=t,e)),{});else if((0,pt.A)(e,"modes")&&dn((0,An.A)((0,dt.A)(e.modes)),Or)){const t=(0,An.A)((0,dt.A)(e.modes)),n=yn(t);this.tokensMap=(0,wn.A)(n,((e,t)=>(e[t.name]=t,e)),{})}else{if(!(0,fs.A)(e))throw new Error(" argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap=(0,mt.A)(e)}this.tokensMap.EOF=zr;const n=(0,pt.A)(e,"modes")?(0,An.A)((0,dt.A)(e.modes)):(0,dt.A)(e),r=dn(n,(e=>(0,ht.A)(e.categoryMatches)));this.tokenMatcher=r?Ir:xr,Cr((0,dt.A)(this.tokensMap))}defineRule(e,t,n){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called'\nMake sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);const r=(0,pt.A)(n,"resyncEnabled")?n.resyncEnabled:Ss.resyncEnabled,i=(0,pt.A)(n,"recoveryValueFunc")?n.recoveryValueFunc:Ss.recoveryValueFunc,s=this.ruleShortNameIdx<<12;let a;return this.ruleShortNameIdx++,this.shortRuleNameToFull[s]=e,this.fullRuleNameToShort[e]=s,a=!0===this.outputCst?function(...n){try{this.ruleInvocationStateUpdate(s,e,this.subruleIdx),t.apply(this,n);const r=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(r),r}catch(e){return this.invokeRuleCatch(e,r,i)}finally{this.ruleFinallyStateUpdate()}}:function(...n){try{return this.ruleInvocationStateUpdate(s,e,this.subruleIdx),t.apply(this,n)}catch(e){return this.invokeRuleCatch(e,r,i)}finally{this.ruleFinallyStateUpdate()}},Object.assign(a,{ruleName:e,originalGrammarAction:t})}invokeRuleCatch(e,t,n){const r=1===this.RULE_STACK.length,i=t&&!this.isBackTracking()&&this.recoveryEnabled;if(Wi(e)){const t=e;if(i){const r=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(r)){if(t.resyncedTokens=this.reSyncTo(r),this.outputCst){const e=this.CST_STACK[this.CST_STACK.length-1];return e.recoveredNode=!0,e}return n(e)}if(this.outputCst){const e=this.CST_STACK[this.CST_STACK.length-1];e.recoveredNode=!0,t.partialCstResult=e}throw t}if(r)return this.moveToTerminatedState(),n(e);throw t}throw e}optionInternal(e,t){const n=this.getKeyForAutomaticLookahead(512,t);return this.optionInternalLogic(e,t,n)}optionInternalLogic(e,t,n){let r,i=this.getLaFuncFromCache(n);if("function"!=typeof e){r=e.DEF;const t=e.GATE;if(void 0!==t){const e=i;i=()=>t.call(this)&&e.call(this)}}else r=e;if(!0===i.call(this))return r.call(this)}atLeastOneInternal(e,t){const n=this.getKeyForAutomaticLookahead(ns,e);return this.atLeastOneInternalLogic(e,t,n)}atLeastOneInternalLogic(e,t,n){let r,i=this.getLaFuncFromCache(n);if("function"!=typeof t){r=t.DEF;const e=t.GATE;if(void 0!==e){const t=i;i=()=>e.call(this)&&t.call(this)}}else r=t;if(!0!==i.call(this))throw this.raiseEarlyExitException(e,Ti.REPETITION_MANDATORY,t.ERR_MSG);{let e=this.doSingleRepetition(r);for(;!0===i.call(this)&&!0===e;)e=this.doSingleRepetition(r)}this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,t],i,ns,e,pi)}atLeastOneSepFirstInternal(e,t){const n=this.getKeyForAutomaticLookahead(is,e);this.atLeastOneSepFirstInternalLogic(e,t,n)}atLeastOneSepFirstInternalLogic(e,t,n){const r=t.DEF,i=t.SEP;if(!0!==this.getLaFuncFromCache(n).call(this))throw this.raiseEarlyExitException(e,Ti.REPETITION_MANDATORY_WITH_SEPARATOR,t.ERR_MSG);{r.call(this);const t=()=>this.tokenMatcher(this.LA(1),i);for(;!0===this.tokenMatcher(this.LA(1),i);)this.CONSUME(i),r.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,i,t,r,mi],t,is,e,mi)}}manyInternal(e,t){const n=this.getKeyForAutomaticLookahead(768,e);return this.manyInternalLogic(e,t,n)}manyInternalLogic(e,t,n){let r,i=this.getLaFuncFromCache(n);if("function"!=typeof t){r=t.DEF;const e=t.GATE;if(void 0!==e){const t=i;i=()=>e.call(this)&&t.call(this)}}else r=t;let s=!0;for(;!0===i.call(this)&&!0===s;)s=this.doSingleRepetition(r);this.attemptInRepetitionRecovery(this.manyInternal,[e,t],i,768,e,hi,s)}manySepFirstInternal(e,t){const n=this.getKeyForAutomaticLookahead(rs,e);this.manySepFirstInternalLogic(e,t,n)}manySepFirstInternalLogic(e,t,n){const r=t.DEF,i=t.SEP;if(!0===this.getLaFuncFromCache(n).call(this)){r.call(this);const t=()=>this.tokenMatcher(this.LA(1),i);for(;!0===this.tokenMatcher(this.LA(1),i);)this.CONSUME(i),r.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,i,t,r,fi],t,rs,e,fi)}}repetitionSepSecondInternal(e,t,n,r,i){for(;n();)this.CONSUME(t),r.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,t,n,r,i],n,is,e,i)}doSingleRepetition(e){const t=this.getLexerPosition();return e.call(this),this.getLexerPosition()>t}orInternal(e,t){const n=this.getKeyForAutomaticLookahead(256,t),r=(0,nn.A)(e)?e:e.DEF,i=this.getLaFuncFromCache(n).call(this,r);if(void 0!==i)return r[i].ALT.call(this);this.raiseNoAltException(t,e.ERR_MSG)}ruleFinallyStateUpdate(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),0===this.RULE_STACK.length&&!1===this.isAtEndOfInput()){const e=this.LA(1),t=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new qi(t,e))}}subruleInternal(e,t,n){let r;try{const i=void 0!==n?n.ARGS:void 0;return this.subruleIdx=t,r=e.apply(this,i),this.cstPostNonTerminal(r,void 0!==n&&void 0!==n.LABEL?n.LABEL:e.ruleName),r}catch(t){throw this.subruleInternalError(t,n,e.ruleName)}}subruleInternalError(e,t,n){throw Wi(e)&&void 0!==e.partialCstResult&&(this.cstPostNonTerminal(e.partialCstResult,void 0!==t&&void 0!==t.LABEL?t.LABEL:n),delete e.partialCstResult),e}consumeInternal(e,t,n){let r;try{const t=this.LA(1);!0===this.tokenMatcher(t,e)?(this.consumeToken(),r=t):this.consumeInternalError(e,t,n)}catch(n){r=this.consumeInternalRecovery(e,t,n)}return this.cstPostTerminal(void 0!==n&&void 0!==n.LABEL?n.LABEL:e.name,r),r}consumeInternalError(e,t,n){let r;const i=this.LA(0);throw r=void 0!==n&&n.ERR_MSG?n.ERR_MSG:this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:t,previous:i,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new Yi(r,t,i))}consumeInternalRecovery(e,t,n){if(!this.recoveryEnabled||"MismatchedTokenException"!==n.name||this.isBackTracking())throw n;{const r=this.getFollowsForInRuleRecovery(e,t);try{return this.tryInRuleRecovery(e,r)}catch(e){throw e.name===Zi?n:e}}}saveRecogState(){const e=this.errors,t=(0,mt.A)(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:t,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK}ruleInvocationStateUpdate(e,t,n){this.RULE_OCCURRENCE_STACK.push(n),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(t)}isBackTracking(){return 0!==this.isBackTrackingStack.length}getCurrRuleFullName(){const e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),zr)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}},class{ACTION(e){return e.call(this)}consume(e,t,n){return this.consumeInternal(t,e,n)}subrule(e,t,n){return this.subruleInternal(t,e,n)}option(e,t){return this.optionInternal(t,e)}or(e,t){return this.orInternal(t,e)}many(e,t){return this.manyInternal(e,t)}atLeastOne(e,t){return this.atLeastOneInternal(e,t)}CONSUME(e,t){return this.consumeInternal(e,0,t)}CONSUME1(e,t){return this.consumeInternal(e,1,t)}CONSUME2(e,t){return this.consumeInternal(e,2,t)}CONSUME3(e,t){return this.consumeInternal(e,3,t)}CONSUME4(e,t){return this.consumeInternal(e,4,t)}CONSUME5(e,t){return this.consumeInternal(e,5,t)}CONSUME6(e,t){return this.consumeInternal(e,6,t)}CONSUME7(e,t){return this.consumeInternal(e,7,t)}CONSUME8(e,t){return this.consumeInternal(e,8,t)}CONSUME9(e,t){return this.consumeInternal(e,9,t)}SUBRULE(e,t){return this.subruleInternal(e,0,t)}SUBRULE1(e,t){return this.subruleInternal(e,1,t)}SUBRULE2(e,t){return this.subruleInternal(e,2,t)}SUBRULE3(e,t){return this.subruleInternal(e,3,t)}SUBRULE4(e,t){return this.subruleInternal(e,4,t)}SUBRULE5(e,t){return this.subruleInternal(e,5,t)}SUBRULE6(e,t){return this.subruleInternal(e,6,t)}SUBRULE7(e,t){return this.subruleInternal(e,7,t)}SUBRULE8(e,t){return this.subruleInternal(e,8,t)}SUBRULE9(e,t){return this.subruleInternal(e,9,t)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,t,n=Ss){if(cn(this.definedRulesNames,e)){const t={message:Jr.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:Ns.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(t)}this.definedRulesNames.push(e);const r=this.defineRule(e,t,n);return this[e]=r,r}OVERRIDE_RULE(e,t,n=Ss){const r=function(e,t,n){const r=[];let i;return cn(t,e)||(i=`Invalid rule override, rule: ->${e}<- cannot be overridden in the grammar: ->${n}<-as it is not defined in any of the super grammars `,r.push({message:i,type:Ns.INVALID_RULE_OVERRIDE,ruleName:e})),r}(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(r);const i=this.defineRule(e,t,n);return this[e]=i,i}BACKTRACK(e,t){return function(){this.isBackTrackingStack.push(1);const n=this.saveRecogState();try{return e.apply(this,t),!0}catch(e){if(Wi(e))return!1;throw e}finally{this.reloadRecogState(n),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return e=(0,dt.A)(this.gastProductionsCache),(0,ft.A)(e,Qt);var e}},class{initErrorHandler(e){this._errors=[],this.errorMessageProvider=(0,pt.A)(e,"errorMessageProvider")?e.errorMessageProvider:Is.errorMessageProvider}SAVE_ERROR(e){if(Wi(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:(0,mt.A)(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return(0,mt.A)(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,t,n){const r=this.getCurrRuleFullName(),i=Li(e,this.getGAstProductions()[r],t,this.maxLookahead)[0],s=[];for(let e=1;e<=this.maxLookahead;e++)s.push(this.LA(e));const a=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:i,actual:s,previous:this.LA(0),customUserDescription:n,ruleName:r});throw this.SAVE_ERROR(new Qi(a,this.LA(1),this.LA(0)))}raiseNoAltException(e,t){const n=this.getCurrRuleFullName(),r=wi(e,this.getGAstProductions()[n],this.maxLookahead),i=[];for(let e=1;e<=this.maxLookahead;e++)i.push(this.LA(e));const s=this.LA(0),a=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:r,actual:i,previous:s,customUserDescription:t,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new Xi(a,this.LA(1),s))}},class{initContentAssist(){}computeContentAssist(e,t){const n=this.gastProductionsCache[e];if((0,En.A)(n))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return yi([n],t,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){const t=Kn(e.ruleStack),n=this.getGAstProductions()[t];return new ui(n,e).startWalking()}},class{initGastRecorder(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",(()=>{for(let e=0;e<10;e++){const t=e>0?e:"";this[`CONSUME${t}`]=function(t,n){return this.consumeInternalRecord(t,e,n)},this[`SUBRULE${t}`]=function(t,n){return this.subruleInternalRecord(t,e,n)},this[`OPTION${t}`]=function(t){return this.optionInternalRecord(t,e)},this[`OR${t}`]=function(t){return this.orInternalRecord(t,e)},this[`MANY${t}`]=function(t){this.manyInternalRecord(e,t)},this[`MANY_SEP${t}`]=function(t){this.manySepFirstInternalRecord(e,t)},this[`AT_LEAST_ONE${t}`]=function(t){this.atLeastOneInternalRecord(e,t)},this[`AT_LEAST_ONE_SEP${t}`]=function(t){this.atLeastOneSepFirstInternalRecord(e,t)}}this.consume=function(e,t,n){return this.consumeInternalRecord(t,e,n)},this.subrule=function(e,t,n){return this.subruleInternalRecord(t,e,n)},this.option=function(e,t){return this.optionInternalRecord(t,e)},this.or=function(e,t){return this.orInternalRecord(t,e)},this.many=function(e,t){this.manyInternalRecord(e,t)},this.atLeastOne=function(e,t){this.atLeastOneInternalRecord(e,t)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD}))}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",(()=>{const e=this;for(let t=0;t<10;t++){const n=t>0?t:"";delete e[`CONSUME${n}`],delete e[`SUBRULE${n}`],delete e[`OPTION${n}`],delete e[`OR${n}`],delete e[`MANY${n}`],delete e[`MANY_SEP${n}`],delete e[`AT_LEAST_ONE${n}`],delete e[`AT_LEAST_ONE_SEP${n}`]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA}))}ACTION_RECORD(e){}BACKTRACK_RECORD(e,t){return()=>!0}LA_RECORD(e){return xs}topLevelRuleRecord(e,t){try{const n=new Bt({definition:[],name:e});return n.name=e,this.recordingProdStack.push(n),t.call(this),this.recordingProdStack.pop(),n}catch(e){if(!0!==e.KNOWN_RECORDER_ERROR)try{e.message=e.message+'\n\t This error was thrown during the "grammar recording phase" For more info see:\n\thttps://chevrotain.io/docs/guide/internals.html#grammar-recording'}catch(t){throw e}throw e}}optionInternalRecord(e,t){return vs.call(this,Vt,e,t)}atLeastOneInternalRecord(e,t){vs.call(this,Ht,t,e)}atLeastOneSepFirstInternalRecord(e,t){vs.call(this,Wt,t,e,ms)}manyInternalRecord(e,t){vs.call(this,zt,t,e)}manySepFirstInternalRecord(e,t){vs.call(this,Yt,t,e,ms)}orInternalRecord(e,t){return Rs.call(this,e,t)}subruleInternalRecord(e,t,n){if(ks(t),!e||!1===(0,pt.A)(e,"ruleName")){const n=new Error(` argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}>\n inside top level rule: <${this.recordingProdStack[0].name}>`);throw n.KNOWN_RECORDER_ERROR=!0,n}const r=(0,Er.A)(this.recordingProdStack),i=e.ruleName,s=new Kt({idx:t,nonTerminalName:i,label:null==n?void 0:n.LABEL,referencedRule:void 0});return r.definition.push(s),this.outputCst?Ts:ps}consumeInternalRecord(e,t,n){if(ks(t),!wr(e)){const n=new Error(` argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}>\n inside top level rule: <${this.recordingProdStack[0].name}>`);throw n.KNOWN_RECORDER_ERROR=!0,n}const r=(0,Er.A)(this.recordingProdStack),i=new qt({idx:t,terminalType:e,label:null==n?void 0:n.LABEL});return r.definition.push(i),As}},class{initPerformanceTracer(e){if((0,pt.A)(e,"traceInitPerf")){const t=e.traceInitPerf,n="number"==typeof t;this.traceInitMaxIdent=n?t:1/0,this.traceInitPerf=n?t>0:t}else this.traceInitMaxIdent=0,this.traceInitPerf=Is.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,t){if(!0===this.traceInitPerf){this.traceInitIndent++;const n=new Array(this.traceInitIndent+1).join("\t");this.traceInitIndent`);const{time:r,value:i}=kr(t),s=r>10?console.warn:console.log;return this.traceInitIndent time: ${r}ms`),this.traceInitIndent--,i}return t()}}],$s.forEach((e=>{const t=e.prototype;Object.getOwnPropertyNames(t).forEach((n=>{if("constructor"===n)return;const r=Object.getOwnPropertyDescriptor(t,n);r&&(r.get||r.set)?Object.defineProperty(Cs.prototype,n,r):Cs.prototype[n]=e.prototype[n]}))}));class Os extends Ls{constructor(e,t=Is){const n=(0,mt.A)(t);n.outputCst=!1,super(e,n)}}function bs(e,t,n){return`${e.name}_${t}_${n}`}class _s{constructor(e){this.target=e}isEpsilon(){return!1}}class Ps extends _s{constructor(e,t){super(e),this.tokenType=t}}class Ms extends _s{constructor(e){super(e)}isEpsilon(){return!0}}class Ds extends _s{constructor(e,t,n){super(e),this.rule=t,this.followState=n}isEpsilon(){return!0}}function Us(e,t,n){return n instanceof qt?Vs(e,t,n.terminalType,n):n instanceof Kt?function(e,t,n){const r=n.referencedRule,i=e.ruleToStartState.get(r),s=zs(e,t,n,{type:1}),a=zs(e,t,n,{type:1});return Ys(s,new Ds(i,r,a)),{left:s,right:a}}(e,t,n):n instanceof Xt?function(e,t,n){const r=zs(e,t,n,{type:1});Bs(e,r);const i=(0,ft.A)(n.definition,(n=>Us(e,t,n)));return js(e,t,r,n,...i)}(e,t,n):n instanceof Vt?function(e,t,n){const r=zs(e,t,n,{type:1});Bs(e,r);return function(e,t,n,r){const i=r.left;return Ws(i,r.right),e.decisionMap[bs(t,"Option",n.idx)]=i,r}(e,t,n,js(e,t,r,n,Fs(e,t,n)))}(e,t,n):n instanceof zt?function(e,t,n){const r=zs(e,t,n,{type:5});Bs(e,r);return Ks(e,t,n,js(e,t,r,n,Fs(e,t,n)))}(e,t,n):n instanceof Yt?function(e,t,n){const r=zs(e,t,n,{type:5});Bs(e,r);return Ks(e,t,n,js(e,t,r,n,Fs(e,t,n)),Vs(e,t,n.separator,n))}(e,t,n):n instanceof Ht?function(e,t,n){const r=zs(e,t,n,{type:4});Bs(e,r);return Gs(e,t,n,js(e,t,r,n,Fs(e,t,n)))}(e,t,n):n instanceof Wt?function(e,t,n){const r=zs(e,t,n,{type:4});Bs(e,r);return Gs(e,t,n,js(e,t,r,n,Fs(e,t,n)),Vs(e,t,n.separator,n))}(e,t,n):Fs(e,t,n)}function Fs(e,t,n){const r=(0,Ln.A)((0,ft.A)(n.definition,(n=>Us(e,t,n))),(e=>void 0!==e));return 1===r.length?r[0]:0===r.length?void 0:function(e,t){const n=t.length;for(let r=0;re.alt))}get key(){let e="";for(const t in this.map)e+=t+":";return e}}function Js(e,t=!0){return`${t?`a${e.alt}`:""}s${e.state.stateNumber}:${e.stack.map((e=>e.stateNumber.toString())).join("_")}`}var Zs=n(6452);function ea(e,t){const n={};return r=>{const i=r.toString();let s=n[i];return void 0!==s||(s={atnStartState:e,decision:t,states:{}},n[i]=s),s}}class ta{constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,t){this.predicates[e]=t}toString(){let e="";const t=this.predicates.length;for(let n=0;nconsole.log(e)}initialize(e){this.atn=function(e){const t={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};!function(e,t){const n=t.length;for(let r=0;r(0,ft.A)(e,(e=>e[0]))));if(ia(l,!1)&&!i){const e=(0,wn.A)(l,((e,t,n)=>((0,ut.A)(t,(t=>{t&&(e[t.tokenTypeIdx]=n,(0,ut.A)(t.categoryMatches,(t=>{e[t]=n})))})),e)),{});return r?function(t){var n;const r=this.LA(1),i=e[r.tokenTypeIdx];if(void 0!==t&&void 0!==i){const e=null===(n=t[i])||void 0===n?void 0:n.GATE;if(void 0!==e&&!1===e.call(this))return}return i}:function(){const t=this.LA(1);return e[t.tokenTypeIdx]}}return r?function(e){const t=new ta,n=void 0===e?0:e.length;for(let r=0;r(0,ft.A)(e,(e=>e[0]))));if(ia(l)&&l[0][0]&&!i){const e=l[0],t=(0,An.A)(e);if(1===t.length&&(0,ht.A)(t[0].categoryMatches)){const e=t[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===e}}{const e=(0,wn.A)(t,((e,t)=>(void 0!==t&&(e[t.tokenTypeIdx]=!0,(0,ut.A)(t.categoryMatches,(t=>{e[t]=!0}))),e)),{});return function(){const t=this.LA(1);return!0===e[t.tokenTypeIdx]}}}return function(){const e=sa.call(this,s,c,na,a);return"object"!=typeof e&&0===e}}}function ia(e,t=!0){const n=new Set;for(const r of e){const e=new Set;for(const i of r){if(void 0===i){if(t)break;return!1}const r=[i.tokenTypeIdx].concat(i.categoryMatches);for(const t of r)if(n.has(t)){if(!e.has(t))return!1}else n.add(t),e.add(t)}}return!0}function sa(e,t,n,r){const i=e[t](n);let s=i.start;return void 0===s&&(s=fa(i,da(function(e){const t=new Qs,n=e.transitions.length;for(let r=0;r0&&!function(e){for(const t of e.elements)if(7===t.state.type)return!0;return!1}(s))for(const e of i)s.add(e);return s}(t.configs,n,i);if(0===a.size)return ha(e,t,n,qs),qs;let o=da(a);const c=function(e,t){let n;for(const r of e.elements)if(!0===t.is(r.alt))if(void 0===n)n=r.alt;else if(n!==r.alt)return;return n}(a,i);if(void 0!==c)o.isAcceptState=!0,o.prediction=c,o.configs.uniqueAlt=c;else if(function(e){if(function(e){for(const t of e.elements)if(7!==t.state.type)return!1;return!0}(e))return!0;const t=function(e){const t=new Map;for(const n of e){const e=Js(n,!1);let r=t.get(e);void 0===r&&(r={},t.set(e,r)),r[n.alt]=!0}return t}(e.elements);return function(e){for(const t of Array.from(e.values()))if(Object.keys(t).length>1)return!0;return!1}(t)&&!function(e){for(const t of Array.from(e.values()))if(1===Object.keys(t).length)return!0;return!1}(t)}(a)){const t=(0,Zs.A)(a.alts);o.isAcceptState=!0,o.prediction=t,o.configs.uniqueAlt=t,ca.apply(this,[e,r,a.alts,s])}return o=ha(e,t,n,o),o}function ca(e,t,n,r){const i=[];for(let e=1;e<=t;e++)i.push(this.LA(e).tokenType);const s=e.atnStartState;r(function(e){const t=(0,ft.A)(e.prefixPath,(e=>Mr(e))).join(", "),n=0===e.production.idx?"":e.production.idx;let r=`Ambiguous Alternatives Detected: <${e.ambiguityIndices.join(", ")}> in <${function(e){if(e instanceof Kt)return"SUBRULE";if(e instanceof Vt)return"OPTION";if(e instanceof Xt)return"OR";if(e instanceof Ht)return"AT_LEAST_ONE";if(e instanceof Wt)return"AT_LEAST_ONE_SEP";if(e instanceof Yt)return"MANY_SEP";if(e instanceof zt)return"MANY";if(e instanceof qt)return"CONSUME";throw Error("non exhaustive match")}(e.production)}${n}> inside <${e.topLevelRule.name}> Rule,\n<${t}> may appears as a prefix path in all these alternatives.\n`;return r+="See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES\nFor Further details.",r}({topLevelRule:s.rule,ambiguityIndices:n,production:s.production,prefixPath:i}))}function la(e,t,n){const r=ei(t.configs.elements,(e=>e.state.transitions));return{actualToken:n,possibleTokenTypes:(i=r.filter((e=>e instanceof Ps)).map((e=>e.tokenType)),s=e=>e.tokenTypeIdx,i&&i.length?(0,gn.A)(i,(0,wt.A)(s,2)):[]),tokenPath:e};var i,s}function ua(e,t){if(e instanceof Ps&&Xr(t,e.tokenType))return e.target}function da(e){return{configs:e,edges:{},isAcceptState:!1,prediction:-1}}function ha(e,t,n,r){return r=fa(e,r),t.edges[n.tokenTypeIdx]=r,r}function fa(e,t){if(t===qs)return t;const n=t.configs.key,r=e.states[n];return void 0!==r?r:(t.configs.finalize(),e.states[n]=t,t)}function pa(e,t){const n=e.state;if(7===n.type){if(e.stack.length>0){const n=[...e.stack];pa({state:n.pop(),alt:e.alt,stack:n},t)}else t.add(e);return}n.epsilonOnlyTransitions||t.add(e);const r=n.transitions.length;for(let i=0;i0&&(r.arguments=n),r},e.is=function(e){let t=e;return Bo.defined(t)&&Bo.string(t.title)&&Bo.string(t.command)}}(_a||(_a={})),function(e){e.replace=function(e,t){return{range:e,newText:t}},e.insert=function(e,t){return{range:{start:e,end:e},newText:t}},e.del=function(e){return{range:e,newText:""}},e.is=function(e){const t=e;return Bo.objectLiteral(t)&&Bo.string(t.newText)&&Ra.is(t.range)}}(Pa||(Pa={})),function(e){e.create=function(e,t,n){const r={label:e};return void 0!==t&&(r.needsConfirmation=t),void 0!==n&&(r.description=n),r},e.is=function(e){const t=e;return Bo.objectLiteral(t)&&Bo.string(t.label)&&(Bo.boolean(t.needsConfirmation)||void 0===t.needsConfirmation)&&(Bo.string(t.description)||void 0===t.description)}}(Ma||(Ma={})),function(e){e.is=function(e){const t=e;return Bo.string(t)}}(Da||(Da={})),function(e){e.replace=function(e,t,n){return{range:e,newText:t,annotationId:n}},e.insert=function(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}},e.del=function(e,t){return{range:e,newText:"",annotationId:t}},e.is=function(e){const t=e;return Pa.is(t)&&(Ma.is(t.annotationId)||Da.is(t.annotationId))}}(Ua||(Ua={})),function(e){e.create=function(e,t){return{textDocument:e,edits:t}},e.is=function(e){let t=e;return Bo.defined(t)&&Wa.is(t.textDocument)&&Array.isArray(t.edits)}}(Fa||(Fa={})),function(e){e.create=function(e,t,n){let r={kind:"create",uri:e};return void 0===t||void 0===t.overwrite&&void 0===t.ignoreIfExists||(r.options=t),void 0!==n&&(r.annotationId=n),r},e.is=function(e){let t=e;return t&&"create"===t.kind&&Bo.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||Bo.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||Bo.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||Da.is(t.annotationId))}}(Ga||(Ga={})),function(e){e.create=function(e,t,n,r){let i={kind:"rename",oldUri:e,newUri:t};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(i.options=n),void 0!==r&&(i.annotationId=r),i},e.is=function(e){let t=e;return t&&"rename"===t.kind&&Bo.string(t.oldUri)&&Bo.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||Bo.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||Bo.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||Da.is(t.annotationId))}}(Ka||(Ka={})),function(e){e.create=function(e,t,n){let r={kind:"delete",uri:e};return void 0===t||void 0===t.recursive&&void 0===t.ignoreIfNotExists||(r.options=t),void 0!==n&&(r.annotationId=n),r},e.is=function(e){let t=e;return t&&"delete"===t.kind&&Bo.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||Bo.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||Bo.boolean(t.options.ignoreIfNotExists)))&&(void 0===t.annotationId||Da.is(t.annotationId))}}(Ba||(Ba={})),function(e){e.is=function(e){let t=e;return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every((e=>Bo.string(e.kind)?Ga.is(e)||Ka.is(e)||Ba.is(e):Fa.is(e))))}}(ja||(ja={})),function(e){e.create=function(e){return{uri:e}},e.is=function(e){let t=e;return Bo.defined(t)&&Bo.string(t.uri)}}(Va||(Va={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){let t=e;return Bo.defined(t)&&Bo.string(t.uri)&&Bo.integer(t.version)}}(Ha||(Ha={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){let t=e;return Bo.defined(t)&&Bo.string(t.uri)&&(null===t.version||Bo.integer(t.version))}}(Wa||(Wa={})),function(e){e.create=function(e,t,n,r){return{uri:e,languageId:t,version:n,text:r}},e.is=function(e){let t=e;return Bo.defined(t)&&Bo.string(t.uri)&&Bo.string(t.languageId)&&Bo.integer(t.version)&&Bo.string(t.text)}}(za||(za={})),function(e){e.PlainText="plaintext",e.Markdown="markdown",e.is=function(t){const n=t;return n===e.PlainText||n===e.Markdown}}(Ya||(Ya={})),function(e){e.is=function(e){const t=e;return Bo.objectLiteral(e)&&Ya.is(t.kind)&&Bo.string(t.value)}}(Xa||(Xa={})),function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25}(qa||(qa={})),function(e){e.PlainText=1,e.Snippet=2}(Qa||(Qa={})),function(e){e.Deprecated=1}(Ja||(Ja={})),function(e){e.create=function(e,t,n){return{newText:e,insert:t,replace:n}},e.is=function(e){const t=e;return t&&Bo.string(t.newText)&&Ra.is(t.insert)&&Ra.is(t.replace)}}(Za||(Za={})),function(e){e.asIs=1,e.adjustIndentation=2}(eo||(eo={})),function(e){e.is=function(e){const t=e;return t&&(Bo.string(t.detail)||void 0===t.detail)&&(Bo.string(t.description)||void 0===t.description)}}(to||(to={})),function(e){e.create=function(e){return{label:e}}}(no||(no={})),function(e){e.create=function(e,t){return{items:e||[],isIncomplete:!!t}}}(ro||(ro={})),function(e){e.fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},e.is=function(e){const t=e;return Bo.string(t)||Bo.objectLiteral(t)&&Bo.string(t.language)&&Bo.string(t.value)}}(io||(io={})),function(e){e.is=function(e){let t=e;return!!t&&Bo.objectLiteral(t)&&(Xa.is(t.contents)||io.is(t.contents)||Bo.typedArray(t.contents,io.is))&&(void 0===e.range||Ra.is(e.range))}}(so||(so={})),function(e){e.create=function(e,t){return t?{label:e,documentation:t}:{label:e}}}(ao||(ao={})),function(e){e.create=function(e,t,...n){let r={label:e};return Bo.defined(t)&&(r.documentation=t),Bo.defined(n)?r.parameters=n:r.parameters=[],r}}(oo||(oo={})),function(e){e.Text=1,e.Read=2,e.Write=3}(co||(co={})),function(e){e.create=function(e,t){let n={range:e};return Bo.number(t)&&(n.kind=t),n}}(lo||(lo={})),function(e){e.File=1,e.Module=2,e.Namespace=3,e.Package=4,e.Class=5,e.Method=6,e.Property=7,e.Field=8,e.Constructor=9,e.Enum=10,e.Interface=11,e.Function=12,e.Variable=13,e.Constant=14,e.String=15,e.Number=16,e.Boolean=17,e.Array=18,e.Object=19,e.Key=20,e.Null=21,e.EnumMember=22,e.Struct=23,e.Event=24,e.Operator=25,e.TypeParameter=26}(uo||(uo={})),function(e){e.Deprecated=1}(ho||(ho={})),function(e){e.create=function(e,t,n,r,i){let s={name:e,kind:t,location:{uri:r,range:n}};return i&&(s.containerName=i),s}}(fo||(fo={})),function(e){e.create=function(e,t,n,r){return void 0!==r?{name:e,kind:t,location:{uri:n,range:r}}:{name:e,kind:t,location:{uri:n}}}}(po||(po={})),function(e){e.create=function(e,t,n,r,i,s){let a={name:e,detail:t,kind:n,range:r,selectionRange:i};return void 0!==s&&(a.children=s),a},e.is=function(e){let t=e;return t&&Bo.string(t.name)&&Bo.number(t.kind)&&Ra.is(t.range)&&Ra.is(t.selectionRange)&&(void 0===t.detail||Bo.string(t.detail))&&(void 0===t.deprecated||Bo.boolean(t.deprecated))&&(void 0===t.children||Array.isArray(t.children))&&(void 0===t.tags||Array.isArray(t.tags))}}(mo||(mo={})),function(e){e.Empty="",e.QuickFix="quickfix",e.Refactor="refactor",e.RefactorExtract="refactor.extract",e.RefactorInline="refactor.inline",e.RefactorRewrite="refactor.rewrite",e.Source="source",e.SourceOrganizeImports="source.organizeImports",e.SourceFixAll="source.fixAll"}(go||(go={})),function(e){e.Invoked=1,e.Automatic=2}(yo||(yo={})),function(e){e.create=function(e,t,n){let r={diagnostics:e};return null!=t&&(r.only=t),null!=n&&(r.triggerKind=n),r},e.is=function(e){let t=e;return Bo.defined(t)&&Bo.typedArray(t.diagnostics,ba.is)&&(void 0===t.only||Bo.typedArray(t.only,Bo.string))&&(void 0===t.triggerKind||t.triggerKind===yo.Invoked||t.triggerKind===yo.Automatic)}}(Ao||(Ao={})),function(e){e.create=function(e,t,n){let r={title:e},i=!0;return"string"==typeof t?(i=!1,r.kind=t):_a.is(t)?r.command=t:r.edit=t,i&&void 0!==n&&(r.kind=n),r},e.is=function(e){let t=e;return t&&Bo.string(t.title)&&(void 0===t.diagnostics||Bo.typedArray(t.diagnostics,ba.is))&&(void 0===t.kind||Bo.string(t.kind))&&(void 0!==t.edit||void 0!==t.command)&&(void 0===t.command||_a.is(t.command))&&(void 0===t.isPreferred||Bo.boolean(t.isPreferred))&&(void 0===t.edit||ja.is(t.edit))}}(To||(To={})),function(e){e.create=function(e,t){let n={range:e};return Bo.defined(t)&&(n.data=t),n},e.is=function(e){let t=e;return Bo.defined(t)&&Ra.is(t.range)&&(Bo.undefined(t.command)||_a.is(t.command))}}(vo||(vo={})),function(e){e.create=function(e,t){return{tabSize:e,insertSpaces:t}},e.is=function(e){let t=e;return Bo.defined(t)&&Bo.uinteger(t.tabSize)&&Bo.boolean(t.insertSpaces)}}(Ro||(Ro={})),function(e){e.create=function(e,t,n){return{range:e,target:t,data:n}},e.is=function(e){let t=e;return Bo.defined(t)&&Ra.is(t.range)&&(Bo.undefined(t.target)||Bo.string(t.target))}}(Eo||(Eo={})),function(e){e.create=function(e,t){return{range:e,parent:t}},e.is=function(t){let n=t;return Bo.objectLiteral(n)&&Ra.is(n.range)&&(void 0===n.parent||e.is(n.parent))}}(ko||(ko={})),function(e){e.namespace="namespace",e.type="type",e.class="class",e.enum="enum",e.interface="interface",e.struct="struct",e.typeParameter="typeParameter",e.parameter="parameter",e.variable="variable",e.property="property",e.enumMember="enumMember",e.event="event",e.function="function",e.method="method",e.macro="macro",e.keyword="keyword",e.modifier="modifier",e.comment="comment",e.string="string",e.number="number",e.regexp="regexp",e.operator="operator",e.decorator="decorator"}(xo||(xo={})),function(e){e.declaration="declaration",e.definition="definition",e.readonly="readonly",e.static="static",e.deprecated="deprecated",e.abstract="abstract",e.async="async",e.modification="modification",e.documentation="documentation",e.defaultLibrary="defaultLibrary"}(Io||(Io={})),function(e){e.is=function(e){const t=e;return Bo.objectLiteral(t)&&(void 0===t.resultId||"string"==typeof t.resultId)&&Array.isArray(t.data)&&(0===t.data.length||"number"==typeof t.data[0])}}(So||(So={})),function(e){e.create=function(e,t){return{range:e,text:t}},e.is=function(e){const t=e;return null!=t&&Ra.is(t.range)&&Bo.string(t.text)}}(No||(No={})),function(e){e.create=function(e,t,n){return{range:e,variableName:t,caseSensitiveLookup:n}},e.is=function(e){const t=e;return null!=t&&Ra.is(t.range)&&Bo.boolean(t.caseSensitiveLookup)&&(Bo.string(t.variableName)||void 0===t.variableName)}}(Co||(Co={})),function(e){e.create=function(e,t){return{range:e,expression:t}},e.is=function(e){const t=e;return null!=t&&Ra.is(t.range)&&(Bo.string(t.expression)||void 0===t.expression)}}($o||($o={})),function(e){e.create=function(e,t){return{frameId:e,stoppedLocation:t}},e.is=function(e){const t=e;return Bo.defined(t)&&Ra.is(e.stoppedLocation)}}(wo||(wo={})),function(e){e.Type=1,e.Parameter=2,e.is=function(e){return 1===e||2===e}}(Lo||(Lo={})),function(e){e.create=function(e){return{value:e}},e.is=function(e){const t=e;return Bo.objectLiteral(t)&&(void 0===t.tooltip||Bo.string(t.tooltip)||Xa.is(t.tooltip))&&(void 0===t.location||Ea.is(t.location))&&(void 0===t.command||_a.is(t.command))}}(Oo||(Oo={})),function(e){e.create=function(e,t,n){const r={position:e,label:t};return void 0!==n&&(r.kind=n),r},e.is=function(e){const t=e;return Bo.objectLiteral(t)&&va.is(t.position)&&(Bo.string(t.label)||Bo.typedArray(t.label,Oo.is))&&(void 0===t.kind||Lo.is(t.kind))&&void 0===t.textEdits||Bo.typedArray(t.textEdits,Pa.is)&&(void 0===t.tooltip||Bo.string(t.tooltip)||Xa.is(t.tooltip))&&(void 0===t.paddingLeft||Bo.boolean(t.paddingLeft))&&(void 0===t.paddingRight||Bo.boolean(t.paddingRight))}}(bo||(bo={})),function(e){e.createSnippet=function(e){return{kind:"snippet",value:e}}}(_o||(_o={})),function(e){e.create=function(e,t,n,r){return{insertText:e,filterText:t,range:n,command:r}}}(Po||(Po={})),function(e){e.create=function(e){return{items:e}}}(Mo||(Mo={})),function(e){e.Invoked=0,e.Automatic=1}(Do||(Do={})),function(e){e.create=function(e,t){return{range:e,text:t}}}(Uo||(Uo={})),function(e){e.create=function(e,t){return{triggerKind:e,selectedCompletionInfo:t}}}(Fo||(Fo={})),function(e){e.is=function(e){const t=e;return Bo.objectLiteral(t)&&ya.is(t.uri)&&Bo.string(t.name)}}(Go||(Go={})),function(e){function t(e,n){if(e.length<=1)return e;const r=e.length/2|0,i=e.slice(0,r),s=e.slice(r);t(i,n),t(s,n);let a=0,o=0,c=0;for(;a{let n=e.range.start.line-t.range.start.line;return 0===n?e.range.start.character-t.range.start.character:n})),s=r.length;for(let t=i.length-1;t>=0;t--){let n=i[t],a=e.offsetAt(n.range.start),o=e.offsetAt(n.range.end);if(!(o<=s))throw new Error("Overlapping edit");r=r.substring(0,a)+n.newText+r.substring(o,r.length),s=a}return r}}(Ko||(Ko={}));class jo{constructor(e,t,n,r){this._uri=e,this._languageId=t,this._version=n,this._content=r,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content}update(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0}getLineOffsets(){if(void 0===this._lineOffsets){let e=[],t=this._content,n=!0;for(let r=0;r0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),n=0,r=t.length;if(0===r)return va.create(0,e);for(;ne?r=i:n=i+1}let i=n-1;return va.create(i,e-t[i])}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let n=t[e.line],r=e.line+1=0&&t.content.splice(n,1)}}construct(e){const t=this.current;"string"==typeof e.$type&&(this.current.astNode=e),e.$cstNode=t;const n=this.nodeStack.pop();0===(null==n?void 0:n.content.length)&&this.removeNode(n)}addHiddenTokens(e){for(const t of e){const e=new Wo(t.startOffset,t.image.length,T(t),t.tokenType,!0);e.root=this.rootNode,this.addHiddenToken(this.rootNode,e)}}addHiddenToken(e,t){const{offset:n,end:r}=t;for(let i=0;ia&&r=0;e--){const t=this.content[e];if(!t.hidden)return t}return this.content[this.content.length-1]}}class Yo extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,Yo.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,t,...n){return this.addParents(n),super.splice(e,t,...n)}addParents(e){for(const t of e)t.container=this.parent}}class Xo extends zo{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=null!=e?e:""}}const qo=Symbol("Datatype");function Qo(e){return e.$type===qo}const Jo=e=>e.endsWith("​")?e:e+"​";class Zo{constructor(e){this._unorderedGroups=new Map,this.lexer=e.parser.Lexer;const t=this.lexer.definition;this.wrapper=new sc(t,Object.assign(Object.assign({},e.parser.ParserConfig),{errorMessageProvider:e.parser.ParserErrorMessageProvider}))}alternatives(e,t){this.wrapper.wrapOr(e,t)}optional(e,t){this.wrapper.wrapOption(e,t)}many(e,t){this.wrapper.wrapMany(e,t)}atLeastOne(e,t){this.wrapper.wrapAtLeastOne(e,t)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}}class ec extends Zo{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new Vo,this.stack=[],this.assignmentMap=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,t){const n=e.fragment?void 0:tt(e)?qo:it(e),r=this.wrapper.DEFINE_RULE(Jo(e.name),this.startImplementation(n,t).bind(this));return e.entry&&(this.mainRule=r),r}parse(e){this.nodeBuilder.buildRootNode(e);const t=this.lexer.tokenize(e);this.wrapper.input=t.tokens;const n=this.mainRule.call(this.wrapper,{});return this.nodeBuilder.addHiddenTokens(t.hidden),this.unorderedGroups.clear(),{value:n,lexerErrors:t.errors,parserErrors:this.wrapper.errors}}startImplementation(e,t){return n=>{if(!this.isRecording()){const t={$type:e};this.stack.push(t),e===qo&&(t.value="")}let r;try{r=t(n)}catch(e){r=void 0}return this.isRecording()||void 0!==r||(r=this.construct()),r}}consume(e,t,n){const r=this.wrapper.wrapConsume(e,t);if(!this.isRecording()&&this.isValidToken(r)){const e=this.nodeBuilder.buildLeafNode(r,n),{assignment:t,isCrossRef:i}=this.getAssignment(n),s=this.current;if(t){const s=ae(n)?r.image:this.converter.convert(r.image,e);this.assign(t.operator,t.feature,s,e,i)}else if(Qo(s)){let t=r.image;ae(n)||(t=this.converter.convert(t,e).toString()),s.value+=t}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&"number"==typeof e.endOffset&&!isNaN(e.endOffset)}subrule(e,t,n,r){let i;this.isRecording()||(i=this.nodeBuilder.buildCompositeNode(n));const s=this.wrapper.wrapSubrule(e,t,r);!this.isRecording()&&i&&i.length>0&&this.performSubruleAssignment(s,n,i)}performSubruleAssignment(e,t,n){const{assignment:r,isCrossRef:i}=this.getAssignment(t);if(r)this.assign(r.operator,r.feature,e,n,i);else if(!r){const t=this.current;if(Qo(t))t.value+=e.toString();else if("object"==typeof e&&e){const n=e.$type,r=this.assignWithoutOverride(e,t);n&&(r.$type=n);const i=r;this.stack.pop(),this.stack.push(i)}}}action(e,t){if(!this.isRecording()){let n=this.current;if(!n.$cstNode&&t.feature&&t.operator){n=this.construct(!1);const e=n.$cstNode.feature;this.nodeBuilder.buildCompositeNode(e)}const r={$type:e};this.stack.pop(),this.stack.push(r),t.feature&&t.operator&&this.assign(t.operator,t.feature,n,n.$cstNode,!1)}}construct(e=!0){if(this.isRecording())return;const t=this.current;return function(e){for(const[t,n]of Object.entries(e))t.startsWith("$")||(Array.isArray(n)?n.forEach(((n,i)=>{r(n)&&(n.$container=e,n.$containerProperty=t,n.$containerIndex=i)})):r(n)&&(n.$container=e,n.$containerProperty=t))}(t),this.nodeBuilder.construct(t),e&&this.stack.pop(),Qo(t)?this.converter.convert(t.value,t.$cstNode):(function(e,t){const n=e.getTypeMetaData(t.$type),r=t;for(const e of n.properties)void 0!==e.defaultValue&&void 0===r[e.name]&&(r[e.name]=Ce(e.defaultValue))}(this.astReflection,t),t)}getAssignment(e){if(!this.assignmentMap.has(e)){const t=Re(e,J);this.assignmentMap.set(e,{assignment:t,isCrossRef:!!t&&te(t.terminal)})}return this.assignmentMap.get(e)}assign(e,t,n,r,i){const s=this.current;let a;switch(a=i&&"string"==typeof n?this.linker.buildReference(s,t,r,n):n,e){case"=":s[t]=a;break;case"?=":s[t]=!0;break;case"+=":Array.isArray(s[t])||(s[t]=[]),s[t].push(a)}}assignWithoutOverride(e,t){for(const[n,r]of Object.entries(t)){const t=e[n];void 0===t?e[n]=r:Array.isArray(t)&&Array.isArray(r)&&(r.push(...t),e[n]=r)}return e}get definitionErrors(){return this.wrapper.definitionErrors}}class tc{buildMismatchTokenMessage(e){return qr.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return qr.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return qr.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return qr.buildEarlyExitMessage(e)}}class nc extends tc{buildMismatchTokenMessage({expected:e,actual:t}){return`Expecting ${e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`} but found \`${t.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}}class rc extends Zo{constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();const t=this.lexer.tokenize(e);return this.tokens=t.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,t){const n=this.wrapper.DEFINE_RULE(Jo(e.name),this.startImplementation(t).bind(this));return e.entry&&(this.mainRule=n),n}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return t=>{const n=this.keepStackSize();try{e(t)}finally{this.resetStackSize(n)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){const e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,t,n){this.wrapper.wrapConsume(e,t),this.isRecording()||(this.lastElementStack=[...this.elementStack,n],this.nextTokenIndex=this.currIdx+1)}subrule(e,t,n,r){this.before(n),this.wrapper.wrapSubrule(e,t,r),this.after(n)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){const t=this.elementStack.lastIndexOf(e);t>=0&&this.elementStack.splice(t)}}get currIdx(){return this.wrapper.currIdx}}const ic={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new nc};class sc extends Os{constructor(e,t){const n=t&&"maxLookahead"in t;super(e,Object.assign(Object.assign(Object.assign({},ic),{lookaheadStrategy:n?new as({maxLookahead:t.maxLookahead}):new ra}),t))}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,t){return this.RULE(e,t)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,t){return this.consume(e,t)}wrapSubrule(e,t,n){return this.subrule(e,t,{ARGS:[n]})}wrapOr(e,t){this.or(e,t)}wrapOption(e,t){this.option(e,t)}wrapMany(e,t){this.many(e,t)}wrapAtLeastOne(e,t){this.atLeastOne(e,t)}}function ac(e,t,n){return function(e,t){const n=Xe(t,!1),r=p(t.rules).filter(G).filter((e=>n.has(e)));for(const t of r){const n=Object.assign(Object.assign({},e),{consume:1,optional:1,subrule:1,many:1,or:1});n.rules.set(t.name,e.parser.rule(t,oc(n,t.definition)))}}({parser:t,tokens:n,rules:new Map,ruleNames:new Map},e),t}function oc(e,t,n=!1){let r;if(ae(t))r=function(e,t){const n=e.consume++,r=e.tokens[t.value];if(!r)throw new Error("Could not find token for keyword: "+t.value);return()=>e.parser.consume(n,r,t)}(e,t);else if(Y(t))r=function(e,t){const n=it(t);return()=>e.parser.action(n,t)}(e,t);else if(J(t))r=oc(e,t.terminal);else if(te(t))r=uc(e,t);else if(ue(t))r=function(e,t){const n=t.rule.ref;if(G(n)){const r=e.subrule++,i=t.arguments.length>0?function(e,t){const n=t.map((e=>cc(e.value)));return t=>{const r={};for(let i=0;i({});return s=>e.parser.subrule(r,hc(e,n),t,i(s))}if(V(n)){const r=e.consume++,i=fc(e,n.name);return()=>e.parser.consume(r,i,t)}if(!n)throw new k(t.$cstNode,`Undefined rule type: ${t.$type}`);x()}(e,t);else if(q(t))r=function(e,t){if(1===t.elements.length)return oc(e,t.elements[0]);{const n=[];for(const r of t.elements){const t={ALT:oc(e,r,!0)},i=lc(r);i&&(t.GATE=cc(i)),n.push(t)}const r=e.or++;return t=>e.parser.alternatives(r,n.map((e=>{const n={ALT:()=>e.ALT(t)},r=e.GATE;return r&&(n.GATE=()=>r(t)),n})))}}(e,t);else if(ge(t))r=function(e,t){if(1===t.elements.length)return oc(e,t.elements[0]);const n=[];for(const r of t.elements){const t={ALT:oc(e,r,!0)},i=lc(r);i&&(t.GATE=cc(i)),n.push(t)}const r=e.or++,i=(e,t)=>`uGroup_${e}_${t.getRuleStack().join("-")}`,s=dc(e,lc(t),(t=>e.parser.alternatives(r,n.map(((n,s)=>{const a={ALT:()=>!0},o=e.parser;a.ALT=()=>{if(n.ALT(t),!o.isRecording()){const e=i(r,o);o.unorderedGroups.get(e)||o.unorderedGroups.set(e,[]);const t=o.unorderedGroups.get(e);void 0===(null==t?void 0:t[s])&&(t[s]=!0)}};const c=n.GATE;return a.GATE=c?()=>c(t):()=>{const e=o.unorderedGroups.get(i(r,o));return!(null==e?void 0:e[s])},a})))),"*");return t=>{s(t),e.parser.isRecording()||e.parser.unorderedGroups.delete(i(r,e.parser))}}(e,t);else if(ie(t))r=function(e,t){const n=t.elements.map((t=>oc(e,t)));return e=>n.forEach((t=>t(e)))}(e,t);else{if(i=t,!ve.isInstance(i,ne))throw new k(t.$cstNode,`Unexpected element type: ${t.$type}`);{const n=e.consume++;r=()=>e.parser.consume(n,zr,t)}}var i;return dc(e,n?void 0:lc(t),r,t.cardinality)}function cc(e){if(t=e,ve.isInstance(t,O)){const t=cc(e.left),n=cc(e.right);return e=>t(e)||n(e)}if(function(e){return ve.isInstance(e,L)}(e)){const t=cc(e.left),n=cc(e.right);return e=>t(e)&&n(e)}if(function(e){return ve.isInstance(e,D)}(e)){const t=cc(e.value);return e=>!t(e)}if(function(e){return ve.isInstance(e,U)}(e)){const t=e.parameter.ref.name;return e=>void 0!==e&&!0===e[t]}if(function(e){return ve.isInstance(e,w)}(e)){const t=Boolean(e.true);return()=>t}var t;x()}function lc(e){if(ie(e))return e.guardCondition}function uc(e,t,n=t.terminal){if(n){if(ue(n)&&G(n.rule.ref)){const r=e.subrule++;return i=>e.parser.subrule(r,hc(e,n.rule.ref),t,i)}if(ue(n)&&V(n.rule.ref)){const r=e.consume++,i=fc(e,n.rule.ref.name);return()=>e.parser.consume(r,i,t)}if(ae(n)){const r=e.consume++,i=fc(e,n.value);return()=>e.parser.consume(r,i,t)}throw new Error("Could not build cross reference parser")}{if(!t.type.ref)throw new Error("Could not resolve reference to type: "+t.type.$refText);const n=Ze(t.type.ref),r=null==n?void 0:n.terminal;if(!r)throw new Error("Could not find name assignment for type: "+it(t.type.ref));return uc(e,t,r)}}function dc(e,t,n,r){const i=t&&cc(t);if(!r){if(i){const t=e.or++;return r=>e.parser.alternatives(t,[{ALT:()=>n(r),GATE:()=>i(r)},{ALT:ws(),GATE:()=>!i(r)}])}return n}if("*"===r){const t=e.many++;return r=>e.parser.many(t,{DEF:()=>n(r),GATE:i?()=>i(r):void 0})}if("+"===r){const t=e.many++;if(i){const r=e.or++;return s=>e.parser.alternatives(r,[{ALT:()=>e.parser.atLeastOne(t,{DEF:()=>n(s)}),GATE:()=>i(s)},{ALT:ws(),GATE:()=>!i(s)}])}return r=>e.parser.atLeastOne(t,{DEF:()=>n(r)})}if("?"===r){const t=e.optional++;return r=>e.parser.optional(t,{DEF:()=>n(r),GATE:i?()=>i(r):void 0})}x()}function hc(e,t){const n=function(e,t){if(G(t))return t.name;if(e.ruleNames.has(t))return e.ruleNames.get(t);{let n=t,r=n.$container,i=t.$type;for(;!G(r);)(ie(r)||q(r)||ge(r))&&(i=r.elements.indexOf(n).toString()+":"+i),n=r,r=r.$container;return i=r.name+":"+i,e.ruleNames.set(t,i),i}}(e,t),r=e.rules.get(n);if(!r)throw new Error(`Rule "${n}" not found."`);return r}function fc(e,t){const n=e.tokens[t];if(!n)throw new Error(`Token "${t}" not found."`);return n}class pc{buildTokens(e,t){const n=p(Xe(e,!1)),r=this.buildTerminalTokens(n),i=this.buildKeywordTokens(n,r,t);return r.forEach((e=>{const t=e.PATTERN;"object"==typeof t&&t&&"test"in t&&ze(t)?i.unshift(e):i.push(e)})),i}buildTerminalTokens(e){return e.filter(V).filter((e=>!e.fragment)).map((e=>this.buildTerminalToken(e))).toArray()}buildTerminalToken(e){const t=st(e),n=this.requiresCustomPattern(t)?this.regexPatternFunction(t):t,r={name:e.name,PATTERN:n,LINE_BREAKS:!0};return e.hidden&&(r.GROUP=ze(t)?Pr.SKIPPED:"hidden"),r}requiresCustomPattern(e){return!!e.flags.includes("u")||!(!e.source.includes("?<=")&&!e.source.includes("?(t.lastIndex=n,t.exec(e))}buildKeywordTokens(e,t,n){return e.filter(G).flatMap((e=>xe(e).filter(ae))).distinct((e=>e.value)).toArray().sort(((e,t)=>t.value.length-e.value.length)).map((e=>this.buildKeywordToken(e,t,Boolean(null==n?void 0:n.caseInsensitive))))}buildKeywordToken(e,t,n){return{name:e.value,PATTERN:this.buildKeywordPattern(e,n),LONGER_ALT:this.findLongerAlt(e,t)}}buildKeywordPattern(e,t){return t?new RegExp(function(e){return Array.prototype.map.call(e,(e=>/\w/.test(e)?`[${e.toLowerCase()}${e.toUpperCase()}]`:Ye(e))).join("")}(e.value)):e.value}findLongerAlt(e,t){return t.reduce(((t,n)=>{const r=null==n?void 0:n.PATTERN;return(null==r?void 0:r.source)&&function(e,t){const n=function(e){"string"==typeof e&&(e=new RegExp(e));const t=e,n=e.source;let r=0;return new RegExp(function e(){let i,s="";function a(e){s+=n.substr(r,e),r+=e}function o(e){s+="(?:"+n.substr(r,e)+"|$)",r+=e}for(;r",r)-r+1);break;default:o(2)}break;case"[":i=/\[(?:\\.|.)*?\]/g,i.lastIndex=r,i=i.exec(n)||[],o(i[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":a(1);break;case"{":i=/\{\d+,?\d*\}/g,i.lastIndex=r,i=i.exec(n),i?a(i[0].length):o(1);break;case"(":if("?"===n[r+1])switch(n[r+2]){case":":s+="(?:",r+=3,s+=e()+"|$)";break;case"=":s+="(?=",r+=3,s+=e()+")";break;case"!":i=r,r+=3,e(),s+=n.substr(i,r-i);break;case"<":switch(n[r+3]){case"=":case"!":i=r,r+=4,e(),s+=n.substr(i,r-i);break;default:a(n.indexOf(">",r)-r+1),s+=e()+"|$)"}}else a(1),s+=e()+"|$)";break;case")":return++r,s;default:o(1)}return s}(),e.flags)}(e),r=t.match(n);return!!r&&r[0].length>0}("^"+r.source+"$",e.value)&&t.push(n),t}),[])}}class mc{convert(e,t){let n=t.grammarSource;if(te(n)&&(n=function(e){if(e.terminal)return e.terminal;if(e.type.ref){const t=Ze(e.type.ref);return null==t?void 0:t.terminal}}(n)),ue(n)){const r=n.rule.ref;if(!r)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(r,e,t)}return e}runConverter(e,t,n){var r;switch(e.name.toUpperCase()){case"INT":return gc.convertInt(t);case"STRING":return gc.convertString(t);case"ID":return gc.convertID(t)}switch(null===(r=function(e){var t,n,r;return V(e)?null!==(n=null===(t=e.type)||void 0===t?void 0:t.name)&&void 0!==n?n:"string":tt(e)?e.name:null!==(r=rt(e))&&void 0!==r?r:e.name}(e))||void 0===r?void 0:r.toLowerCase()){case"number":return gc.convertNumber(t);case"boolean":return gc.convertBoolean(t);case"bigint":return gc.convertBigint(t);case"date":return gc.convertDate(t);default:return t}}}var gc;!function(e){function t(e){switch(e){case"b":return"\b";case"f":return"\f";case"n":return"\n";case"r":return"\r";case"t":return"\t";case"v":return"\v";case"0":return"\0";default:return e}}e.convertString=function(e){let n="";for(let r=1;r=10&&(Ac=t,await new Promise((e=>{"undefined"==typeof setImmediate?setTimeout(e,0):setImmediate(e)}))),e.isCancellationRequested)throw Tc}class Ec{constructor(){this.promise=new Promise(((e,t)=>{this.resolve=t=>(e(t),this),this.reject=e=>(t(e),this)}))}}class kc{constructor(e,t,n,r){this._uri=e,this._languageId=t,this._version=n,this._content=r,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){const t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content}update(e,t){for(const t of e)if(kc.isIncremental(t)){const e=$c(t.range),n=this.offsetAt(e.start),r=this.offsetAt(e.end);this._content=this._content.substring(0,n)+t.text+this._content.substring(r,this._content.length);const i=Math.max(e.start.line,0),s=Math.max(e.end.line,0);let a=this._lineOffsets;const o=Nc(t.text,!1,n);if(s-i===o.length)for(let e=0,t=o.length;ee?r=i:n=i+1}const i=n-1;return{line:i,character:(e=this.ensureBeforeEOL(e,t[i]))-t[i]}}offsetAt(e){const t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;const n=t[e.line];if(e.character<=0)return n;const r=e.line+1t&&Cc(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){const t=e;return null!=t&&"string"==typeof t.text&&void 0!==t.range&&(void 0===t.rangeLength||"number"==typeof t.rangeLength)}static isFull(e){const t=e;return null!=t&&"string"==typeof t.text&&void 0===t.range&&void 0===t.rangeLength}}var xc,Ic;function Sc(e,t){if(e.length<=1)return e;const n=e.length/2|0,r=e.slice(0,n),i=e.slice(n);Sc(r,t),Sc(i,t);let s=0,a=0,o=0;for(;sn.line||t.line===n.line&&t.character>n.character?{start:n,end:t}:e}function wc(e){const t=$c(e.range);return t!==e.range?{newText:e.newText,range:t}:e}!function(e){e.create=function(e,t,n,r){return new kc(e,t,n,r)},e.update=function(e,t,n){if(e instanceof kc)return e.update(t,n),e;throw new Error("TextDocument.update: document must be created by TextDocument.create")},e.applyEdits=function(e,t){const n=e.getText(),r=Sc(t.map(wc),((e,t)=>{const n=e.range.start.line-t.range.start.line;return 0===n?e.range.start.character-t.range.start.character:n}));let i=0;const s=[];for(const t of r){const r=e.offsetAt(t.range.start);if(ri&&s.push(n.substring(i,r)),t.newText.length&&s.push(t.newText),i=e.offsetAt(t.range.end)}return s.push(n.substr(i)),s.join("")}}(xc||(xc={})),(()=>{var e={470:e=>{function t(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function n(e,t){for(var n,r="",i=0,s=-1,a=0,o=0;o<=e.length;++o){if(o2){var c=r.lastIndexOf("/");if(c!==r.length-1){-1===c?(r="",i=0):i=(r=r.slice(0,c)).length-1-r.lastIndexOf("/"),s=o,a=0;continue}}else if(2===r.length||1===r.length){r="",i=0,s=o,a=0;continue}t&&(r.length>0?r+="/..":r="..",i=2)}else r.length>0?r+="/"+e.slice(s+1,o):r=e.slice(s+1,o),i=o-s-1;s=o,a=0}else 46===n&&-1!==a?++a:a=-1}return r}var r={resolve:function(){for(var e,r="",i=!1,s=arguments.length-1;s>=-1&&!i;s--){var a;s>=0?a=arguments[s]:(void 0===e&&(e=process.cwd()),a=e),t(a),0!==a.length&&(r=a+"/"+r,i=47===a.charCodeAt(0))}return r=n(r,!i),i?r.length>0?"/"+r:"/":r.length>0?r:"."},normalize:function(e){if(t(e),0===e.length)return".";var r=47===e.charCodeAt(0),i=47===e.charCodeAt(e.length-1);return 0!==(e=n(e,!r)).length||r||(e="."),e.length>0&&i&&(e+="/"),r?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,n=0;n0&&(void 0===e?e=i:e+="/"+i)}return void 0===e?".":r.normalize(e)},relative:function(e,n){if(t(e),t(n),e===n)return"";if((e=r.resolve(e))===(n=r.resolve(n)))return"";for(var i=1;il){if(47===n.charCodeAt(o+d))return n.slice(o+d+1);if(0===d)return n.slice(o+d)}else a>l&&(47===e.charCodeAt(i+d)?u=d:0===d&&(u=0));break}var h=e.charCodeAt(i+d);if(h!==n.charCodeAt(o+d))break;47===h&&(u=d)}var f="";for(d=i+u+1;d<=s;++d)d!==s&&47!==e.charCodeAt(d)||(0===f.length?f+="..":f+="/..");return f.length>0?f+n.slice(o+u):(o+=u,47===n.charCodeAt(o)&&++o,n.slice(o))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var n=e.charCodeAt(0),r=47===n,i=-1,s=!0,a=e.length-1;a>=1;--a)if(47===(n=e.charCodeAt(a))){if(!s){i=a;break}}else s=!1;return-1===i?r?"/":".":r&&1===i?"//":e.slice(0,i)},basename:function(e,n){if(void 0!==n&&"string"!=typeof n)throw new TypeError('"ext" argument must be a string');t(e);var r,i=0,s=-1,a=!0;if(void 0!==n&&n.length>0&&n.length<=e.length){if(n.length===e.length&&n===e)return"";var o=n.length-1,c=-1;for(r=e.length-1;r>=0;--r){var l=e.charCodeAt(r);if(47===l){if(!a){i=r+1;break}}else-1===c&&(a=!1,c=r+1),o>=0&&(l===n.charCodeAt(o)?-1==--o&&(s=r):(o=-1,s=c))}return i===s?s=c:-1===s&&(s=e.length),e.slice(i,s)}for(r=e.length-1;r>=0;--r)if(47===e.charCodeAt(r)){if(!a){i=r+1;break}}else-1===s&&(a=!1,s=r+1);return-1===s?"":e.slice(i,s)},extname:function(e){t(e);for(var n=-1,r=0,i=-1,s=!0,a=0,o=e.length-1;o>=0;--o){var c=e.charCodeAt(o);if(47!==c)-1===i&&(s=!1,i=o+1),46===c?-1===n?n=o:1!==a&&(a=1):-1!==n&&(a=-1);else if(!s){r=o+1;break}}return-1===n||-1===i||0===a||1===a&&n===i-1&&n===r+1?"":e.slice(n,i)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,t){var n=t.dir||t.root,r=t.base||(t.name||"")+(t.ext||"");return n?n===t.root?n+r:n+"/"+r:r}(0,e)},parse:function(e){t(e);var n={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return n;var r,i=e.charCodeAt(0),s=47===i;s?(n.root="/",r=1):r=0;for(var a=-1,o=0,c=-1,l=!0,u=e.length-1,d=0;u>=r;--u)if(47!==(i=e.charCodeAt(u)))-1===c&&(l=!1,c=u+1),46===i?-1===a?a=u:1!==d&&(d=1):-1!==a&&(d=-1);else if(!l){o=u+1;break}return-1===a||-1===c||0===d||1===d&&a===c-1&&a===o+1?-1!==c&&(n.base=n.name=0===o&&s?e.slice(1,c):e.slice(o,c)):(0===o&&s?(n.name=e.slice(1,a),n.base=e.slice(1,c)):(n.name=e.slice(o,a),n.base=e.slice(o,c)),n.ext=e.slice(a,c)),o>0?n.dir=e.slice(0,o-1):s&&(n.dir="/"),n},sep:"/",delimiter:":",win32:null,posix:null};r.posix=r,e.exports=r}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var s=t[r]={exports:{}};return e[r](s,s.exports,n),s.exports}n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};(()=>{let e;if(n.r(r),n.d(r,{URI:()=>u,Utils:()=>x}),"object"==typeof process)e="win32"===process.platform;else if("object"==typeof navigator){let t=navigator.userAgent;e=t.indexOf("Windows")>=0}const t=/^\w[\w\d+.-]*$/,i=/^\//,s=/^\/\//;function a(e,n){if(!e.scheme&&n)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${e.authority}", path: "${e.path}", query: "${e.query}", fragment: "${e.fragment}"}`);if(e.scheme&&!t.test(e.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(e.path)if(e.authority){if(!i.test(e.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(s.test(e.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}const o="",c="/",l=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class u{static isUri(e){return e instanceof u||!!e&&"string"==typeof e.authority&&"string"==typeof e.fragment&&"string"==typeof e.path&&"string"==typeof e.query&&"string"==typeof e.scheme&&"string"==typeof e.fsPath&&"function"==typeof e.with&&"function"==typeof e.toString}scheme;authority;path;query;fragment;constructor(e,t,n,r,i,s=!1){"object"==typeof e?(this.scheme=e.scheme||o,this.authority=e.authority||o,this.path=e.path||o,this.query=e.query||o,this.fragment=e.fragment||o):(this.scheme=function(e,t){return e||t?e:"file"}(e,s),this.authority=t||o,this.path=function(e,t){switch(e){case"https":case"http":case"file":t?t[0]!==c&&(t=c+t):t=c}return t}(this.scheme,n||o),this.query=r||o,this.fragment=i||o,a(this,s))}get fsPath(){return g(this,!1)}with(e){if(!e)return this;let{scheme:t,authority:n,path:r,query:i,fragment:s}=e;return void 0===t?t=this.scheme:null===t&&(t=o),void 0===n?n=this.authority:null===n&&(n=o),void 0===r?r=this.path:null===r&&(r=o),void 0===i?i=this.query:null===i&&(i=o),void 0===s?s=this.fragment:null===s&&(s=o),t===this.scheme&&n===this.authority&&r===this.path&&i===this.query&&s===this.fragment?this:new h(t,n,r,i,s)}static parse(e,t=!1){const n=l.exec(e);return n?new h(n[2]||o,v(n[4]||o),v(n[5]||o),v(n[7]||o),v(n[9]||o),t):new h(o,o,o,o,o)}static file(t){let n=o;if(e&&(t=t.replace(/\\/g,c)),t[0]===c&&t[1]===c){const e=t.indexOf(c,2);-1===e?(n=t.substring(2),t=c):(n=t.substring(2,e),t=t.substring(e)||c)}return new h("file",n,t,o,o)}static from(e){const t=new h(e.scheme,e.authority,e.path,e.query,e.fragment);return a(t,!0),t}toString(e=!1){return y(this,e)}toJSON(){return this}static revive(e){if(e){if(e instanceof u)return e;{const t=new h(e);return t._formatted=e.external,t._fsPath=e._sep===d?e.fsPath:null,t}}return e}}const d=e?1:void 0;class h extends u{_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=g(this,!1)),this._fsPath}toString(e=!1){return e?y(this,!0):(this._formatted||(this._formatted=y(this,!1)),this._formatted)}toJSON(){const e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=d),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e}}const f={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function p(e,t,n){let r,i=-1;for(let s=0;s=97&&a<=122||a>=65&&a<=90||a>=48&&a<=57||45===a||46===a||95===a||126===a||t&&47===a||n&&91===a||n&&93===a||n&&58===a)-1!==i&&(r+=encodeURIComponent(e.substring(i,s)),i=-1),void 0!==r&&(r+=e.charAt(s));else{void 0===r&&(r=e.substr(0,s));const t=f[a];void 0!==t?(-1!==i&&(r+=encodeURIComponent(e.substring(i,s)),i=-1),r+=t):-1===i&&(i=s)}}return-1!==i&&(r+=encodeURIComponent(e.substring(i))),void 0!==r?r:e}function m(e){let t;for(let n=0;n1&&"file"===t.scheme?`//${t.authority}${t.path}`:47===t.path.charCodeAt(0)&&(t.path.charCodeAt(1)>=65&&t.path.charCodeAt(1)<=90||t.path.charCodeAt(1)>=97&&t.path.charCodeAt(1)<=122)&&58===t.path.charCodeAt(2)?n?t.path.substr(1):t.path[1].toLowerCase()+t.path.substr(2):t.path,e&&(r=r.replace(/\//g,"\\")),r}function y(e,t){const n=t?m:p;let r="",{scheme:i,authority:s,path:a,query:o,fragment:l}=e;if(i&&(r+=i,r+=":"),(s||"file"===i)&&(r+=c,r+=c),s){let e=s.indexOf("@");if(-1!==e){const t=s.substr(0,e);s=s.substr(e+1),e=t.lastIndexOf(":"),-1===e?r+=n(t,!1,!1):(r+=n(t.substr(0,e),!1,!1),r+=":",r+=n(t.substr(e+1),!1,!0)),r+="@"}s=s.toLowerCase(),e=s.lastIndexOf(":"),-1===e?r+=n(s,!1,!0):(r+=n(s.substr(0,e),!1,!0),r+=s.substr(e))}if(a){if(a.length>=3&&47===a.charCodeAt(0)&&58===a.charCodeAt(2)){const e=a.charCodeAt(1);e>=65&&e<=90&&(a=`/${String.fromCharCode(e+32)}:${a.substr(3)}`)}else if(a.length>=2&&58===a.charCodeAt(1)){const e=a.charCodeAt(0);e>=65&&e<=90&&(a=`${String.fromCharCode(e+32)}:${a.substr(2)}`)}r+=n(a,!0,!1)}return o&&(r+="?",r+=n(o,!1,!1)),l&&(r+="#",r+=t?l:p(l,!1,!1)),r}function A(e){try{return decodeURIComponent(e)}catch{return e.length>3?e.substr(0,3)+A(e.substr(3)):e}}const T=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function v(e){return e.match(T)?e.replace(T,(e=>A(e))):e}var R=n(470);const E=R.posix||R,k="/";var x;!function(e){e.joinPath=function(e,...t){return e.with({path:E.join(e.path,...t)})},e.resolvePath=function(e,...t){let n=e.path,r=!1;n[0]!==k&&(n=k+n,r=!0);let i=E.resolve(n,...t);return r&&i[0]===k&&!e.authority&&(i=i.substring(1)),e.with({path:i})},e.dirname=function(e){if(0===e.path.length||e.path===k)return e;let t=E.dirname(e.path);return 1===t.length&&46===t.charCodeAt(0)&&(t=""),e.with({path:t})},e.basename=function(e){return E.basename(e.path)},e.extname=function(e){return E.extname(e.path)}}(x||(x={}))})(),Ic=r})();const{URI:Lc,Utils:Oc}=Ic;var bc,_c,Pc,Mc,Dc;!function(e){e.basename=Oc.basename,e.dirname=Oc.dirname,e.extname=Oc.extname,e.joinPath=Oc.joinPath,e.resolvePath=Oc.resolvePath,e.equals=function(e,t){return(null==e?void 0:e.toString())===(null==t?void 0:t.toString())},e.relative=function(e,t){const n="string"==typeof e?e:e.path,r="string"==typeof t?t:t.path,i=n.split("/").filter((e=>e.length>0)),s=r.split("/").filter((e=>e.length>0));let a=0;for(;anull!=r?r:r=xc.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,null!=t?t:"")}}class Fc{constructor(e){this.documentMap=new Map,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory}get all(){return p(this.documentMap.values())}addDocument(e){const t=e.uri.toString();if(this.documentMap.has(t))throw new Error(`A document with the URI '${t}' is already present.`);this.documentMap.set(t,e)}getDocument(e){const t=e.toString();return this.documentMap.get(t)}async getOrCreateDocument(e,t){let n=this.getDocument(e);return n||(n=await this.langiumDocumentFactory.fromUri(e,t),this.addDocument(n),n)}createDocument(e,t,n){if(n)return this.langiumDocumentFactory.fromString(t,e,n).then((e=>(this.addDocument(e),e)));{const n=this.langiumDocumentFactory.fromString(t,e);return this.addDocument(n),n}}hasDocument(e){return this.documentMap.has(e.toString())}invalidateDocument(e){const t=e.toString(),n=this.documentMap.get(t);return n&&(n.state=_c.Changed,n.precomputedScopes=void 0,n.references=[],n.diagnostics=void 0),n}deleteDocument(e){const t=e.toString(),n=this.documentMap.get(t);return n&&(n.state=_c.Changed,this.documentMap.delete(t)),n}}class Gc{constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator}async link(e,t=yc.XO.None){for(const n of Ie(e.parseResult.value))await Rc(t),Ne(n).forEach((t=>this.doLink(t,e)))}doLink(e,t){const n=e.reference;if(void 0===n._ref)try{const t=this.getCandidate(e);if(s(t))n._ref=t;else if(n._nodeDescription=t,this.langiumDocuments().hasDocument(t.documentUri)){const r=this.loadAstNode(t);n._ref=null!=r?r:this.createLinkingError(e,t)}}catch(t){n._ref=Object.assign(Object.assign({},e),{message:`An error occurred while resolving reference to '${n.$refText}': ${t}`})}t.references.push(n)}unlink(e){for(const t of e.references)delete t._ref,delete t._nodeDescription;e.references=[]}getCandidate(e){const t=this.scopeProvider.getScope(e).getElement(e.reference.$refText);return null!=t?t:this.createLinkingError(e)}buildReference(e,t,n,i){const a=this,o={$refNode:n,$refText:i,get ref(){var n,i;if(r(this._ref))return this._ref;if("object"==typeof(i=this._nodeDescription)&&null!==i&&"string"==typeof i.name&&"string"==typeof i.type&&"string"==typeof i.path){const n=a.loadAstNode(this._nodeDescription);this._ref=null!=n?n:a.createLinkingError({reference:o,container:e,property:t},this._nodeDescription)}else if(void 0===this._ref){const r=a.getLinkedNode({reference:o,container:e,property:t});if(r.error&&Ee(e).state<_c.ComputedScopes)return;this._ref=null!==(n=r.node)&&void 0!==n?n:r.error,this._nodeDescription=r.descr}return r(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return s(this._ref)?this._ref:void 0}};return o}getLinkedNode(e){try{const t=this.getCandidate(e);if(s(t))return{error:t};const n=this.loadAstNode(t);return n?{node:n,descr:t}:{descr:t,error:this.createLinkingError(e,t)}}catch(t){return{error:Object.assign(Object.assign({},e),{message:`An error occurred while resolving reference to '${e.reference.$refText}': ${t}`})}}}loadAstNode(e){if(e.node)return e.node;const t=this.langiumDocuments().getDocument(e.documentUri);return t?this.astNodeLocator.getAstNode(t.parseResult.value,e.path):void 0}createLinkingError(e,t){const n=Ee(e.container);n.state<_c.ComputedScopes&&console.warn(`Attempted reference resolution before document reached ComputedScopes state (${n.uri}).`);const r=this.reflection.getReferenceType(e);return Object.assign(Object.assign({},e),{message:`Could not resolve reference to ${r} named '${e.reference.$refText}'.`,targetDescription:t})}}class Kc{getName(e){if(function(e){return"string"==typeof e.name}(e))return e.name}getNameNode(e){return Qe(e.$cstNode,"name")}}class Bc{constructor(e){this.nameProvider=e.references.NameProvider,this.index=e.shared.workspace.IndexManager,this.nodeLocator=e.workspace.AstNodeLocator}findDeclaration(e){if(e){const t=function(e){var t;const n=e.astNode;for(;n===(null===(t=e.container)||void 0===t?void 0:t.astNode);){const t=Re(e.grammarSource,J);if(t)return t;e=e.container}}(e),n=e.astNode;if(t&&n){const r=n[t.feature];if(i(r))return r.ref;if(Array.isArray(r))for(const t of r)if(i(t)&&t.$refNode&&t.$refNode.offset<=e.offset&&t.$refNode.end>=e.end)return t.ref}if(n){const t=this.nameProvider.getNameNode(n);if(t&&(t===e||function(e,t){for(;e.container;)if((e=e.container)===t)return!0;return!1}(e,t)))return n}}}findDeclarationNode(e){const t=this.findDeclaration(e);if(null==t?void 0:t.$cstNode){const e=this.nameProvider.getNameNode(t);return null!=e?e:t.$cstNode}}findReferences(e,t){const n=[];if(t.includeDeclaration){const t=this.getReferenceToSelf(e);t&&n.push(t)}let r=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return t.documentUri&&(r=r.filter((e=>bc.equals(e.sourceUri,t.documentUri)))),n.push(...r),p(n)}getReferenceToSelf(e){const t=this.nameProvider.getNameNode(e);if(t){const n=Ee(e),r=this.nodeLocator.getAstNodePath(e);return{sourceUri:n.uri,sourcePath:r,targetUri:n.uri,targetPath:r,segment:v(t),local:!0}}}}class jc{constructor(e){if(this.map=new Map,e)for(const[t,n]of e)this.add(t,n)}get size(){return g.sum(p(this.map.values()).map((e=>e.length)))}clear(){this.map.clear()}delete(e,t){if(void 0===t)return this.map.delete(e);{const n=this.map.get(e);if(n){const r=n.indexOf(t);if(r>=0)return 1===n.length?this.map.delete(e):n.splice(r,1),!0}return!1}}get(e){var t;return null!==(t=this.map.get(e))&&void 0!==t?t:[]}has(e,t){if(void 0===t)return this.map.has(e);{const n=this.map.get(e);return!!n&&n.indexOf(t)>=0}}add(e,t){return this.map.has(e)?this.map.get(e).push(t):this.map.set(e,[t]),this}addAll(e,t){return this.map.has(e)?this.map.get(e).push(...t):this.map.set(e,Array.from(t)),this}forEach(e){this.map.forEach(((t,n)=>t.forEach((t=>e(t,n,this)))))}[Symbol.iterator](){return this.entries().iterator()}entries(){return p(this.map.entries()).flatMap((([e,t])=>t.map((t=>[e,t]))))}keys(){return p(this.map.keys())}values(){return p(this.map.values()).flat()}entriesGroupedByKey(){return p(this.map.entries())}}class Vc{get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(const[t,n]of e)this.set(t,n)}clear(){this.map.clear(),this.inverse.clear()}set(e,t){return this.map.set(e,t),this.inverse.set(t,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){const t=this.map.get(e);return void 0!==t&&(this.map.delete(e),this.inverse.delete(t),!0)}}class Hc{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async computeExports(e,t=yc.XO.None){return this.computeExportsForNode(e.parseResult.value,e,void 0,t)}async computeExportsForNode(e,t,n=ke,r=yc.XO.None){const i=[];this.exportNode(e,i,t);for(const s of n(e))await Rc(r),this.exportNode(s,i,t);return i}exportNode(e,t,n){const r=this.nameProvider.getName(e);r&&t.push(this.descriptions.createDescription(e,r,n))}async computeLocalScopes(e,t=yc.XO.None){const n=e.parseResult.value,r=new jc;for(const i of xe(n))await Rc(t),this.processNode(i,e,r);return r}processNode(e,t,n){const r=e.$container;if(r){const i=this.nameProvider.getName(e);i&&n.add(r,this.descriptions.createDescription(e,i,t))}}}class Wc{constructor(e,t,n){var r;this.elements=e,this.outerScope=t,this.caseInsensitive=null!==(r=null==n?void 0:n.caseInsensitive)&&void 0!==r&&r}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){return(this.caseInsensitive?this.elements.find((t=>t.name.toLowerCase()===e.toLowerCase())):this.elements.find((t=>t.name===e)))||(this.outerScope?this.outerScope.getElement(e):void 0)}}class zc{constructor(e,t,n){var r;this.elements=new Map,this.caseInsensitive=null!==(r=null==n?void 0:n.caseInsensitive)&&void 0!==r&&r;for(const t of e){const e=this.caseInsensitive?t.name.toLowerCase():t.name;this.elements.set(e,t)}this.outerScope=t}getElement(e){const t=this.caseInsensitive?e.toLowerCase():e;return this.elements.get(t)||(this.outerScope?this.outerScope.getElement(e):void 0)}getAllElements(){let e=p(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}}class Yc{constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach((e=>e.dispose()))}throwIfDisposed(){if(this.isDisposed)throw new Error("This cache has already been disposed")}}class Xc extends Yc{constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,t){this.throwIfDisposed(),this.cache.set(e,t)}get(e,t){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(t){const n=t();return this.cache.set(e,n),n}}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}}class qc extends Yc{constructor(e){super(),this.cache=new Map,this.converter=null!=e?e:e=>e}has(e,t){return this.throwIfDisposed(),this.cacheForContext(e).has(t)}set(e,t,n){this.throwIfDisposed(),this.cacheForContext(e).set(t,n)}get(e,t,n){this.throwIfDisposed();const r=this.cacheForContext(e);if(r.has(t))return r.get(t);if(n){const e=n();return r.set(t,e),e}}delete(e,t){return this.throwIfDisposed(),this.cacheForContext(e).delete(t)}clear(e){if(this.throwIfDisposed(),e){const t=this.converter(e);this.cache.delete(t)}else this.cache.clear()}cacheForContext(e){const t=this.converter(e);let n=this.cache.get(t);return n||(n=new Map,this.cache.set(t,n)),n}}class Qc extends Xc{constructor(e){super(),this.onDispose(e.workspace.DocumentBuilder.onUpdate((()=>{this.clear()})))}}class Jc{constructor(e){this.reflection=e.shared.AstReflection,this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider,this.indexManager=e.shared.workspace.IndexManager,this.globalScopeCache=new Qc(e.shared)}getScope(e){const t=[],n=this.reflection.getReferenceType(e),r=Ee(e.container).precomputedScopes;if(r){let i=e.container;do{const e=r.get(i);e.length>0&&t.push(p(e).filter((e=>this.reflection.isSubtype(e.type,n)))),i=i.$container}while(i)}let i=this.getGlobalScope(n,e);for(let e=t.length-1;e>=0;e--)i=this.createScope(t[e],i);return i}createScope(e,t,n){return new Wc(p(e),t,n)}createScopeForNodes(e,t,n){const r=p(e).map((e=>{const t=this.nameProvider.getName(e);if(t)return this.descriptions.createDescription(e,t)})).nonNullable();return new Wc(r,t,n)}getGlobalScope(e,t){return this.globalScopeCache.get(e,(()=>new zc(this.indexManager.allElements(e))))}}function Zc(e){return"object"==typeof e&&!!e&&("$ref"in e||"$error"in e)}class el{constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,t={}){const n=null==t?void 0:t.replacer,r=(e,n)=>this.replacer(e,n,t),i=n?(e,t)=>n(e,t,r):r;try{return this.currentDocument=Ee(e),JSON.stringify(e,i,null==t?void 0:t.space)}finally{this.currentDocument=void 0}}deserialize(e,t={}){const n=JSON.parse(e);return this.linkNode(n,n,t),n}replacer(e,t,{refText:n,sourceText:s,textRegions:a,comments:o,uriConverter:c}){var l,u,d,h;if(!this.ignoreProperties.has(e)){if(i(t)){const e=t.ref,r=n?t.$refText:void 0;if(e){const n=Ee(e);let i="";return this.currentDocument&&this.currentDocument!==n&&(i=c?c(n.uri,t):n.uri.toString()),{$ref:`${i}#${this.astNodeLocator.getAstNodePath(e)}`,$refText:r}}return{$error:null!==(u=null===(l=t.error)||void 0===l?void 0:l.message)&&void 0!==u?u:"Could not resolve reference",$refText:r}}if(r(t)){let n;if(a&&(n=this.addAstNodeRegionWithAssignmentsTo(Object.assign({},t)),e&&!t.$document||!(null==n?void 0:n.$textRegion)||(n.$textRegion.documentURI=null===(d=this.currentDocument)||void 0===d?void 0:d.uri.toString())),s&&!e&&(null!=n||(n=Object.assign({},t)),n.$sourceText=null===(h=t.$cstNode)||void 0===h?void 0:h.text),o){null!=n||(n=Object.assign({},t));const e=this.commentProvider.getComment(t);e&&(n.$comment=e.replace(/\r/g,""))}return null!=n?n:t}return t}}addAstNodeRegionWithAssignmentsTo(e){const t=e=>({offset:e.offset,end:e.end,length:e.length,range:e.range});if(e.$cstNode){const n=(e.$textRegion=t(e.$cstNode)).assignments={};return Object.keys(e).filter((e=>!e.startsWith("$"))).forEach((r=>{const i=function(e,t){return e&&t?Je(e,t,e.astNode,!0):[]}(e.$cstNode,r).map(t);0!==i.length&&(n[r]=i)})),e}}linkNode(e,t,n,i,s,a){for(const[i,s]of Object.entries(e))if(Array.isArray(s))for(let a=0;a{try{await e.call(t,n,r,i)}catch(e){if(vc(e))throw e;console.error("An error occurred during validation:",e);const t=e instanceof Error?e.message:String(e);e instanceof Error&&e.stack&&console.error(e.stack),r("error","An error occurred during validation: "+t,{node:n})}}}addEntry(e,t){if("AstNode"!==e)for(const n of this.reflection.getAllSubTypes(e))this.entries.add(n,t);else this.entries.add("AstNode",t)}getChecks(e,t){let n=p(this.entries.get(e)).concat(this.entries.get("AstNode"));return t&&(n=n.filter((e=>t.includes(e.category)))),n.map((e=>e.check))}}class il{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData}async validateDocument(e,t={},n=yc.XO.None){const r=e.parseResult,i=[];if(await Rc(n),!t.categories||t.categories.includes("built-in")){if(this.processLexingErrors(r,i,t),t.stopAfterLexingErrors&&i.some((e=>{var t;return(null===(t=e.data)||void 0===t?void 0:t.code)===Mc.LexingError})))return i;if(this.processParsingErrors(r,i,t),t.stopAfterParsingErrors&&i.some((e=>{var t;return(null===(t=e.data)||void 0===t?void 0:t.code)===Mc.ParsingError})))return i;if(this.processLinkingErrors(e,i,t),t.stopAfterLinkingErrors&&i.some((e=>{var t;return(null===(t=e.data)||void 0===t?void 0:t.code)===Mc.LinkingError})))return i}try{i.push(...await this.validateAst(r.value,t,n))}catch(e){if(vc(e))throw e;console.error("An error occurred during validation:",e)}return await Rc(n),i}processLexingErrors(e,t,n){for(const n of e.lexerErrors){const e={severity:al("error"),range:{start:{line:n.line-1,character:n.column-1},end:{line:n.line-1,character:n.column+n.length-1}},message:n.message,data:nl(Mc.LexingError),source:this.getSource()};t.push(e)}}processParsingErrors(e,t,n){for(const n of e.parserErrors){let e;if(isNaN(n.token.startOffset)){if("previousToken"in n){const t=n.previousToken;if(isNaN(t.startOffset)){const t={line:0,character:0};e={start:t,end:t}}else{const n={line:t.endLine-1,character:t.endColumn};e={start:n,end:n}}}}else e=T(n.token);if(e){const r={severity:al("error"),range:e,message:n.message,data:nl(Mc.ParsingError),source:this.getSource()};t.push(r)}}}processLinkingErrors(e,t,n){for(const n of e.references){const e=n.error;if(e){const n={node:e.container,property:e.property,index:e.index,data:{code:Mc.LinkingError,containerType:e.container.$type,property:e.property,refText:e.reference.$refText}};t.push(this.toDiagnostic("error",e.message,n))}}}async validateAst(e,t,n=yc.XO.None){const r=[],i=(e,t,n)=>{r.push(this.toDiagnostic(e,t,n))};return await Promise.all(Ie(e).map((async e=>{await Rc(n);const r=this.validationRegistry.getChecks(e.$type,t.categories);for(const t of r)await t(e,i,n)}))),r}toDiagnostic(e,t,n){return{message:t,range:sl(n),severity:al(e),code:n.code,codeDescription:n.codeDescription,tags:n.tags,relatedInformation:n.relatedInformation,data:n.data,source:this.getSource()}}getSource(){return this.metadata.languageId}}function sl(e){if(e.range)return e.range;let t;return"string"==typeof e.property?t=Qe(e.node.$cstNode,e.property,e.index):"string"==typeof e.keyword&&(t=function(e,t,n){if(!e)return;const r=function(e,t,n){if(e.astNode!==n)return[];if(ae(e.grammarSource)&&e.grammarSource.value===t)return[e];const r=A(e).iterator();let i;const s=[];do{if(i=r.next(),!i.done){const e=i.value;e.astNode===n?ae(e.grammarSource)&&e.grammarSource.value===t&&s.push(e):r.prune()}}while(!i.done);return s}(e,t,null==e?void 0:e.astNode);return 0!==r.length?r[n=void 0!==n?Math.max(0,Math.min(n,r.length-1)):0]:void 0}(e.node.$cstNode,e.keyword,e.index)),null!=t||(t=e.node.$cstNode),t?t.range:{start:{line:0,character:0},end:{line:0,character:0}}}function al(e){switch(e){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+e)}}!function(e){e.LexingError="lexing-error",e.ParsingError="parsing-error",e.LinkingError="linking-error"}(Mc||(Mc={}));class ol{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,t,n=Ee(e)){null!=t||(t=this.nameProvider.getName(e));const r=this.astNodeLocator.getAstNodePath(e);if(!t)throw new Error(`Node at path ${r} has no name.`);let i;const s=()=>{var t;return null!=i?i:i=v(null!==(t=this.nameProvider.getNameNode(e))&&void 0!==t?t:e.$cstNode)};return{node:e,name:t,get nameSegment(){return s()},selectionSegment:v(e.$cstNode),type:e.$type,documentUri:n.uri,path:r}}}class cl{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,t=yc.XO.None){const n=[],r=e.parseResult.value;for(const e of Ie(r))await Rc(t),Ne(e).filter((e=>!s(e))).forEach((e=>{const t=this.createDescription(e);t&&n.push(t)}));return n}createDescription(e){const t=e.reference.$nodeDescription,n=e.reference.$refNode;if(!t||!n)return;const r=Ee(e.container).uri;return{sourceUri:r,sourcePath:this.nodeLocator.getAstNodePath(e.container),targetUri:t.documentUri,targetPath:t.path,segment:v(n),local:bc.equals(t.documentUri,r)}}}class ll{constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){const t=this.getAstNodePath(e.$container),n=this.getPathSegment(e);return t+this.segmentSeparator+n}return""}getPathSegment({$containerProperty:e,$containerIndex:t}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return void 0!==t?e+this.indexSeparator+t:e}getAstNode(e,t){return t.split(this.segmentSeparator).reduce(((e,t)=>{if(!e||0===t.length)return e;const n=t.indexOf(this.indexSeparator);if(n>0){const r=t.substring(0,n),i=parseInt(t.substring(n+1)),s=e[r];return null==s?void 0:s[i]}return e[t]}),e)}}class ul{constructor(e){this._ready=new Ec,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){var t,n;this.workspaceConfig=null!==(n=null===(t=e.capabilities.workspace)||void 0===t?void 0:t.configuration)&&void 0!==n&&n}async initialized(e){if(this.workspaceConfig){if(e.register){const t=this.serviceRegistry.all;e.register({section:t.map((e=>this.toSectionName(e.LanguageMetaData.languageId)))})}if(e.fetchConfiguration){const t=this.serviceRegistry.all.map((e=>({section:this.toSectionName(e.LanguageMetaData.languageId)}))),n=await e.fetchConfiguration(t);t.forEach(((e,t)=>{this.updateSectionConfiguration(e.section,n[t])}))}}this._ready.resolve()}updateConfiguration(e){e.settings&&Object.keys(e.settings).forEach((t=>{this.updateSectionConfiguration(t,e.settings[t])}))}updateSectionConfiguration(e,t){this.settings[e]=t}async getConfiguration(e,t){await this.ready;const n=this.toSectionName(e);if(this.settings[n])return this.settings[n][t]}toSectionName(e){return`${e}`}}!function(e){e.create=function(e){return{dispose:async()=>await e()}}}(Dc||(Dc={}));class dl{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new jc,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=_c.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.indexManager=e.workspace.IndexManager,this.serviceRegistry=e.ServiceRegistry}async build(e,t={},n=yc.XO.None){var r,i;for(const n of e){const e=n.uri.toString();if(n.state===_c.Validated){if("boolean"==typeof t.validation&&t.validation)n.state=_c.IndexedReferences,n.diagnostics=void 0,this.buildState.delete(e);else if("object"==typeof t.validation){const s=this.buildState.get(e),a=null===(r=null==s?void 0:s.result)||void 0===r?void 0:r.validationChecks;if(a){const r=(null!==(i=t.validation.categories)&&void 0!==i?i:Pc.all).filter((e=>!a.includes(e)));r.length>0&&(this.buildState.set(e,{completed:!1,options:{validation:Object.assign(Object.assign({},t.validation),{categories:r})},result:s.result}),n.state=_c.IndexedReferences)}}}else this.buildState.delete(e)}this.currentState=_c.Changed,await this.emitUpdate(e.map((e=>e.uri)),[]),await this.buildDocuments(e,t,n)}async update(e,t,n=yc.XO.None){this.currentState=_c.Changed;for(const e of t)this.langiumDocuments.deleteDocument(e),this.buildState.delete(e.toString()),this.indexManager.remove(e);for(const t of e){if(!this.langiumDocuments.invalidateDocument(t)){const e=this.langiumDocumentFactory.fromModel({$type:"INVALID"},t);e.state=_c.Changed,this.langiumDocuments.addDocument(e)}this.buildState.delete(t.toString())}const r=p(e).concat(t).map((e=>e.toString())).toSet();this.langiumDocuments.all.filter((e=>!r.has(e.uri.toString())&&this.shouldRelink(e,r))).forEach((e=>{this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e),e.state=Math.min(e.state,_c.ComputedScopes),e.diagnostics=void 0})),await this.emitUpdate(e,t),await Rc(n);const i=this.langiumDocuments.all.filter((e=>{var t;return e.state<_c.Linked||!(null===(t=this.buildState.get(e.uri.toString()))||void 0===t?void 0:t.completed)})).toArray();await this.buildDocuments(i,this.updateBuildOptions,n)}async emitUpdate(e,t){await Promise.all(this.updateListeners.map((n=>n(e,t))))}shouldRelink(e,t){return!!e.references.some((e=>void 0!==e.error))||this.indexManager.isAffected(e,t)}onUpdate(e){return this.updateListeners.push(e),Dc.create((()=>{const t=this.updateListeners.indexOf(e);t>=0&&this.updateListeners.splice(t,1)}))}async buildDocuments(e,t,n){this.prepareBuild(e,t),await this.runCancelable(e,_c.Parsed,n,(e=>this.langiumDocumentFactory.update(e,n))),await this.runCancelable(e,_c.IndexedContent,n,(e=>this.indexManager.updateContent(e,n))),await this.runCancelable(e,_c.ComputedScopes,n,(async e=>{const t=this.serviceRegistry.getServices(e.uri).references.ScopeComputation;e.precomputedScopes=await t.computeLocalScopes(e,n)})),await this.runCancelable(e,_c.Linked,n,(e=>this.serviceRegistry.getServices(e.uri).references.Linker.link(e,n))),await this.runCancelable(e,_c.IndexedReferences,n,(e=>this.indexManager.updateReferences(e,n)));const r=e.filter((e=>this.shouldValidate(e)));await this.runCancelable(r,_c.Validated,n,(e=>this.validate(e,n)));for(const t of e){const e=this.buildState.get(t.uri.toString());e&&(e.completed=!0)}}prepareBuild(e,t){for(const n of e){const e=n.uri.toString(),r=this.buildState.get(e);r&&!r.completed||this.buildState.set(e,{completed:!1,options:t,result:null==r?void 0:r.result})}}async runCancelable(e,t,n,r){const i=e.filter((e=>e.state{this.buildPhaseListeners.delete(e,t)}))}waitUntil(e,t,n){let r;if(t&&"path"in t?r=t:n=t,null!=n||(n=yc.XO.None),r){const t=this.langiumDocuments.getDocument(r);if(t&&t.state>e)return Promise.resolve(r)}return this.currentState>=e?Promise.resolve(void 0):n.isCancellationRequested?Promise.reject(Tc):new Promise(((t,i)=>{const s=this.onBuildPhase(e,(()=>{if(s.dispose(),a.dispose(),r){const e=this.langiumDocuments.getDocument(r);t(null==e?void 0:e.uri)}else t(void 0)})),a=n.onCancellationRequested((()=>{s.dispose(),a.dispose(),i(Tc)}))}))}async notifyBuildPhase(e,t,n){if(0===e.length)return;const r=this.buildPhaseListeners.get(t);for(const t of r)await Rc(n),await t(e,n)}shouldValidate(e){return Boolean(this.getBuildOptions(e).validation)}async validate(e,t){var n,r;const i=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,s=this.getBuildOptions(e).validation,a="object"==typeof s?s:void 0,o=await i.validateDocument(e,a,t);e.diagnostics?e.diagnostics.push(...o):e.diagnostics=o;const c=this.buildState.get(e.uri.toString());if(c){null!==(n=c.result)&&void 0!==n||(c.result={});const e=null!==(r=null==a?void 0:a.categories)&&void 0!==r?r:Pc.all;c.result.validationChecks?c.result.validationChecks.push(...e):c.result.validationChecks=[...e]}}getBuildOptions(e){var t,n;return null!==(n=null===(t=this.buildState.get(e.uri.toString()))||void 0===t?void 0:t.options)&&void 0!==n?n:{}}}class hl{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new qc,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,t){const n=Ee(e).uri,r=[];return this.referenceIndex.forEach((e=>{e.forEach((e=>{bc.equals(e.targetUri,n)&&e.targetPath===t&&r.push(e)}))})),p(r)}allElements(e,t){let n=p(this.symbolIndex.keys());return t&&(n=n.filter((e=>!t||t.has(e)))),n.map((t=>this.getFileDescriptions(t,e))).flat()}getFileDescriptions(e,t){var n;if(!t)return null!==(n=this.symbolIndex.get(e))&&void 0!==n?n:[];const r=this.symbolByTypeIndex.get(e,t,(()=>{var n;return(null!==(n=this.symbolIndex.get(e))&&void 0!==n?n:[]).filter((e=>this.astReflection.isSubtype(e.type,t)))}));return r}remove(e){const t=e.toString();this.symbolIndex.delete(t),this.symbolByTypeIndex.clear(t),this.referenceIndex.delete(t)}async updateContent(e,t=yc.XO.None){const n=this.serviceRegistry.getServices(e.uri),r=await n.references.ScopeComputation.computeExports(e,t),i=e.uri.toString();this.symbolIndex.set(i,r),this.symbolByTypeIndex.clear(i)}async updateReferences(e,t=yc.XO.None){const n=this.serviceRegistry.getServices(e.uri),r=await n.workspace.ReferenceDescriptionProvider.createDescriptions(e,t);this.referenceIndex.set(e.uri.toString(),r)}isAffected(e,t){const n=this.referenceIndex.get(e.uri.toString());return!!n&&n.some((e=>!e.local&&t.has(e.targetUri.toString())))}}class fl{constructor(e){this.initialBuildOptions={},this._ready=new Ec,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}initialize(e){var t;this.folders=null!==(t=e.workspaceFolders)&&void 0!==t?t:void 0}initialized(e){return this.mutex.write((e=>{var t;return this.initializeWorkspace(null!==(t=this.folders)&&void 0!==t?t:[],e)}))}async initializeWorkspace(e,t=yc.XO.None){const n=await this.performStartup(e);await Rc(t),await this.documentBuilder.build(n,this.initialBuildOptions,t)}async performStartup(e){const t=this.serviceRegistry.all.flatMap((e=>e.LanguageMetaData.fileExtensions)),n=[],r=e=>{n.push(e),this.langiumDocuments.hasDocument(e.uri)||this.langiumDocuments.addDocument(e)};return await this.loadAdditionalDocuments(e,r),await Promise.all(e.map((e=>[e,this.getRootFolder(e)])).map((async e=>this.traverseFolder(...e,t,r)))),this._ready.resolve(),n}loadAdditionalDocuments(e,t){return Promise.resolve()}getRootFolder(e){return Lc.parse(e.uri)}async traverseFolder(e,t,n,r){const i=await this.fileSystemProvider.readDirectory(t);await Promise.all(i.map((async t=>{if(this.includeEntry(e,t,n))if(t.isDirectory)await this.traverseFolder(e,t.uri,n,r);else if(t.isFile){const e=await this.langiumDocuments.getOrCreateDocument(t.uri);r(e)}})))}includeEntry(e,t,n){const r=bc.basename(t.uri);if(r.startsWith("."))return!1;if(t.isDirectory)return"node_modules"!==r&&"out"!==r;if(t.isFile){const e=bc.extname(t.uri);return n.includes(e)}return!1}}class pl{constructor(e){const t=e.parser.TokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(t);const n=gl(t)?Object.values(t):t;this.chevrotainLexer=new Pr(n,{positionTracking:"full"})}get definition(){return this.tokenTypes}tokenize(e){var t;const n=this.chevrotainLexer.tokenize(e);return{tokens:n.tokens,errors:n.errors,hidden:null!==(t=n.groups.hidden)&&void 0!==t?t:[]}}toTokenTypeDictionary(e){if(gl(e))return e;const t=ml(e)?Object.values(e.modes).flat():e,n={};return t.forEach((e=>n[e.name]=e)),n}}function ml(e){return e&&"modes"in e&&"defaultMode"in e}function gl(e){return!function(e){return Array.isArray(e)&&(0===e.length||"name"in e[0])}(e)&&!ml(e)}function yl(e){let t="";return t="string"==typeof e?e:e.text,t.split(je)}const Al=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,Tl=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function vl(e,t,n,r){const i=[];if(0===e.length){const e=va.create(n,r),s=va.create(n,r+t.length);i.push({type:"text",content:t,range:Ra.create(e,s)})}else{let s=0;for(const a of e){const e=a.index,o=t.substring(s,e);o.length>0&&i.push({type:"text",content:t.substring(s,e),range:Ra.create(va.create(n,s+r),va.create(n,e+r))});let c=o.length+1;const l=a[1];if(i.push({type:"inline-tag",content:l,range:Ra.create(va.create(n,s+c+r),va.create(n,s+c+l.length+r))}),c+=l.length,4===a.length){c+=a[2].length;const e=a[3];i.push({type:"text",content:e,range:Ra.create(va.create(n,s+c+r),va.create(n,s+c+e.length+r))})}else i.push({type:"text",content:"",range:Ra.create(va.create(n,s+c+r),va.create(n,s+c+r))});s=e+a[0].length}const a=t.substring(s);a.length>0&&i.push({type:"text",content:a,range:Ra.create(va.create(n,s+r),va.create(n,s+r+a.length))})}return i}const Rl=/\S/,El=/\s*$/;function kl(e,t){const n=e.substring(t).match(Rl);return n?t+n.index:e.length}function xl(e){const t=e.match(El);if(t&&"number"==typeof t.index)return t.index}function Il(e,t){const n=e.tokens[e.index];return"tag"===n.type?Cl(e,!1):"text"===n.type||"inline-tag"===n.type?Sl(e):(function(e,t){if(t){const n=new Pl("",e.range);"inlines"in t?t.inlines.push(n):t.content.inlines.push(n)}}(n,t),void e.index++)}function Sl(e){let t=e.tokens[e.index];const n=t;let r=t;const i=[];for(;t&&"break"!==t.type&&"tag"!==t.type;)i.push(Nl(e)),r=t,t=e.tokens[e.index];return new _l(i,Ra.create(n.range.start,r.range.end))}function Nl(e){return"inline-tag"===e.tokens[e.index].type?Cl(e,!0):$l(e)}function Cl(e,t){const n=e.tokens[e.index++],r=n.content.substring(1),i=e.tokens[e.index];if("text"===(null==i?void 0:i.type)){if(t){const i=$l(e);return new bl(r,new _l([i],i.range),t,Ra.create(n.range.start,i.range.end))}{const i=Sl(e);return new bl(r,i,t,Ra.create(n.range.start,i.range.end))}}{const e=n.range;return new bl(r,new _l([],e),t,e)}}function $l(e){const t=e.tokens[e.index++];return new Pl(t.content,t.range)}function wl(e){if(!e)return wl({start:"/**",end:"*/",line:"*"});const{start:t,end:n,line:r}=e;return{start:Ll(t,!0),end:Ll(n,!1),line:Ll(r,!0)}}function Ll(e,t){if("string"==typeof e||"object"==typeof e){const n="string"==typeof e?Ye(e):e.source;return t?new RegExp(`^\\s*${n}`):new RegExp(`\\s*${n}\\s*$`)}return e}class Ol{constructor(e,t){this.elements=e,this.range=t}getTag(e){return this.getAllTags().find((t=>t.name===e))}getTags(e){return this.getAllTags().filter((t=>t.name===e))}getAllTags(){return this.elements.filter((e=>"name"in e))}toString(){let e="";for(const t of this.elements)if(0===e.length)e=t.toString();else{const n=t.toString();e+=Ml(e)+n}return e.trim()}toMarkdown(e){let t="";for(const n of this.elements)if(0===t.length)t=n.toMarkdown(e);else{const r=n.toMarkdown(e);t+=Ml(t)+r}return t.trim()}}class bl{constructor(e,t,n,r){this.name=e,this.content=t,this.inline=n,this.range=r}toString(){let e=`@${this.name}`;const t=this.content.toString();return 1===this.content.inlines.length?e=`${e} ${t}`:this.content.inlines.length>1&&(e=`${e}\n${t}`),this.inline?`{${e}}`:e}toMarkdown(e){var t,n;return null!==(n=null===(t=null==e?void 0:e.renderTag)||void 0===t?void 0:t.call(e,this))&&void 0!==n?n:this.toMarkdownDefault(e)}toMarkdownDefault(e){const t=this.content.toMarkdown(e);if(this.inline){const n=function(e,t,n){var r,i;if("linkplain"===e||"linkcode"===e||"link"===e){const s=t.indexOf(" ");let a=t;if(s>0){const e=kl(t,s);a=t.substring(e),t=t.substring(0,s)}("linkcode"===e||"link"===e&&"code"===n.link)&&(a=`\`${a}\``);const o=null!==(i=null===(r=n.renderLink)||void 0===r?void 0:r.call(n,t,a))&&void 0!==i?i:function(e,t){try{return Lc.parse(e,!0),`[${t}](${e})`}catch(t){return e}}(t,a);return o}}(this.name,t,null!=e?e:{});if("string"==typeof n)return n}let n="";"italic"===(null==e?void 0:e.tag)||void 0===(null==e?void 0:e.tag)?n="*":"bold"===(null==e?void 0:e.tag)?n="**":"bold-italic"===(null==e?void 0:e.tag)&&(n="***");let r=`${n}@${this.name}${n}`;return 1===this.content.inlines.length?r=`${r} — ${t}`:this.content.inlines.length>1&&(r=`${r}\n${t}`),this.inline?`{${r}}`:r}}class _l{constructor(e,t){this.inlines=e,this.range=t}toString(){let e="";for(let t=0;tn.range.start.line&&(e+="\n")}return e}toMarkdown(e){let t="";for(let n=0;nr.range.start.line&&(t+="\n")}return t}}class Pl{constructor(e,t){this.text=e,this.range=t}toString(){return this.text}toMarkdown(){return this.text}}function Ml(e){return e.endsWith("\n")?"\n":"\n\n"}class Dl{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){const t=this.commentProvider.getComment(e);if(t&&function(e){const t=wl(void 0),n=yl(e);if(0===n.length)return!1;const r=n[0],i=n[n.length-1],s=t.start,a=t.end;return Boolean(null==s?void 0:s.exec(r))&&Boolean(null==a?void 0:a.exec(i))}(t))return function(e,t,n){let r,i;"string"==typeof e?(i=t,r=n):(i=e.range.start,r=t),i||(i=va.create(0,0));const s=function(e){var t,n,r;const i=[];let s=e.position.line,a=e.position.character;for(let o=0;o=u.length){if(i.length>0){const e=va.create(s,a);i.push({type:"break",content:"",range:Ra.create(e,e)})}}else{Al.lastIndex=d;const e=Al.exec(u);if(e){const t=e[0],n=e[1],r=va.create(s,a+d),o=va.create(s,a+d+t.length);i.push({type:"tag",content:n,range:Ra.create(r,o)}),d+=t.length,d=kl(u,d)}if(d0&&"break"===i[i.length-1].type?i.slice(0,-1):i}({lines:yl(e),position:i,options:wl(r)});return function(e){var t,n,r,i;const s=va.create(e.position.line,e.position.character);if(0===e.tokens.length)return new Ol([],Ra.create(s,s));const a=[];for(;e.indexthis.documentationLinkRenderer(e,t,n),renderTag:t=>this.documentationTagRenderer(e,t)})}documentationLinkRenderer(e,t,n){var r;const i=null!==(r=this.findNameInPrecomputedScopes(e,t))&&void 0!==r?r:this.findNameInGlobalScope(e,t);if(i&&i.nameSegment){const e=i.nameSegment.range.start.line+1,t=i.nameSegment.range.start.character+1;return`[${n}](${i.documentUri.with({fragment:`L${e},${t}`}).toString()})`}}documentationTagRenderer(e,t){}findNameInPrecomputedScopes(e,t){const n=Ee(e).precomputedScopes;if(!n)return;let r=e;do{const e=n.get(r).find((e=>e.name===t));if(e)return e;r=r.$container}while(r)}findNameInGlobalScope(e,t){return this.indexManager.allElements().find((e=>e.name===t))}}class Ul{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){var t;return function(e){return"string"==typeof e.$comment}(e)?e.$comment:null===(t=function(e,t){if(e){const n=function(e,t=!0){for(;e.container;){const n=e.container;let r=n.content.indexOf(e);for(;r>0;){r--;const e=n.content[r];if(t||!e.hidden)return e}e=n}}(e,!0);if(n&&E(n,t))return n;if(l(e))for(let n=e.content.findIndex((e=>!e.hidden))-1;n>=0;n--){const r=e.content[n];if(E(r,t))return r}}}(e.$cstNode,this.grammarConfig().multilineCommentRules))||void 0===t?void 0:t.text}}var Fl;n(2676);class Gl{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e){return Promise.resolve(this.syncParser.parse(e))}}class Kl{constructor(){this.previousTokenSource=new yc.Qi,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();const t=new yc.Qi;return this.previousTokenSource=t,this.enqueue(this.writeQueue,e,t.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,t,n){const r=new Ec,i={action:t,deferred:r,cancellationToken:null!=n?n:yc.XO.None};return e.push(i),this.performNextOperation(),r.promise}async performNextOperation(){if(!this.done)return;const e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else{if(!(this.readQueue.length>0))return;e.push(...this.readQueue.splice(0,this.readQueue.length))}this.done=!1,await Promise.all(e.map((async({action:e,deferred:t,cancellationToken:n})=>{try{const r=await Promise.resolve().then((()=>e(n)));t.resolve(r)}catch(e){vc(e)?t.resolve(void 0):t.reject(e)}}))),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}class Bl{constructor(e){this.grammarElementIdMap=new Vc,this.tokenTypeIdMap=new Vc,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors.map((e=>Object.assign({},e))),parserErrors:e.parserErrors.map((e=>Object.assign({},e))),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}createDehyrationContext(e){const t=new Map,n=new Map;for(const n of Ie(e))t.set(n,{});if(e.$cstNode)for(const t of A(e.$cstNode))n.set(t,{});return{astNodes:t,cstNodes:n}}dehydrateAstNode(e,t){const n=t.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,void 0!==e.$cstNode&&(n.$cstNode=this.dehydrateCstNode(e.$cstNode,t));for(const[s,a]of Object.entries(e))if(!s.startsWith("$"))if(Array.isArray(a)){const e=[];n[s]=e;for(const n of a)r(n)?e.push(this.dehydrateAstNode(n,t)):i(n)?e.push(this.dehydrateReference(n,t)):e.push(n)}else r(a)?n[s]=this.dehydrateAstNode(a,t):i(a)?n[s]=this.dehydrateReference(a,t):void 0!==a&&(n[s]=a);return n}dehydrateReference(e,t){const n={};return n.$refText=e.$refText,e.$refNode&&(n.$refNode=t.cstNodes.get(e.$refNode)),n}dehydrateCstNode(e,t){const n=t.cstNodes.get(e);return l(e)?n.fullText=e.fullText:n.grammarSource=this.getGrammarElementId(e.grammarSource),n.hidden=e.hidden,n.astNode=t.astNodes.get(e.astNode),o(e)?n.content=e.content.map((e=>this.dehydrateCstNode(e,t))):c(e)&&(n.tokenType=e.tokenType.name,n.offset=e.offset,n.length=e.length,n.startLine=e.range.start.line,n.startColumn=e.range.start.character,n.endLine=e.range.end.line,n.endColumn=e.range.end.character),n}hydrate(e){const t=e.value,n=this.createHydrationContext(t);return"$cstNode"in t&&this.hydrateCstNode(t.$cstNode,n),{lexerErrors:e.lexerErrors,parserErrors:e.parserErrors,value:this.hydrateAstNode(t,n)}}createHydrationContext(e){const t=new Map,n=new Map;for(const n of Ie(e))t.set(n,{});let r;if(e.$cstNode)for(const t of A(e.$cstNode)){let e;"fullText"in t?(e=new Xo(t.fullText),r=e):"content"in t?e=new zo:"tokenType"in t&&(e=this.hydrateCstLeafNode(t)),e&&(n.set(t,e),e.root=r)}return{astNodes:t,cstNodes:n}}hydrateAstNode(e,t){const n=t.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode&&(n.$cstNode=t.cstNodes.get(e.$cstNode));for(const[s,a]of Object.entries(e))if(!s.startsWith("$"))if(Array.isArray(a)){const e=[];n[s]=e;for(const o of a)r(o)?e.push(this.setParent(this.hydrateAstNode(o,t),n)):i(o)?e.push(this.hydrateReference(o,n,s,t)):e.push(o)}else r(a)?n[s]=this.setParent(this.hydrateAstNode(a,t),n):i(a)?n[s]=this.hydrateReference(a,n,s,t):void 0!==a&&(n[s]=a);return n}setParent(e,t){return e.$container=t,e}hydrateReference(e,t,n,r){return this.linker.buildReference(t,n,r.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,t,n=0){const r=t.cstNodes.get(e);if("number"==typeof e.grammarSource&&(r.grammarSource=this.getGrammarElement(e.grammarSource)),r.astNode=t.astNodes.get(e.astNode),o(r))for(const i of e.content){const e=this.hydrateCstNode(i,t,n++);r.content.push(e)}return r}hydrateCstLeafNode(e){const t=this.getTokenType(e.tokenType),n=e.offset,r=e.length,i=e.startLine,s=e.startColumn,a=e.endLine,o=e.endColumn,c=e.hidden;return new Wo(n,r,{start:{line:i,character:s},end:{line:a,character:o}},t,c)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){return 0===this.grammarElementIdMap.size&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){0===this.grammarElementIdMap.size&&this.createGrammarElementIdMap();const t=this.grammarElementIdMap.getKey(e);if(t)return t;throw new Error("Invalid grammar element id: "+e)}createGrammarElementIdMap(){let e=0;for(const n of Ie(this.grammar))t=n,ve.isInstance(t,$)&&this.grammarElementIdMap.set(n,e++);var t}}function jl(e){return{documentation:{CommentProvider:e=>new Ul(e),DocumentationProvider:e=>new Dl(e)},parser:{AsyncParser:e=>new Gl(e),GrammarConfig:e=>function(e){const t=[],n=e.Grammar;for(const e of n.rules)V(e)&&(r=e).hidden&&!st(r).test(" ")&&We(st(e))&&t.push(e.name);var r;return{multilineCommentRules:t,nameRegexp:R}}(e),LangiumParser:e=>function(e){const t=function(e){const t=e.Grammar,n=e.parser.Lexer;return ac(t,new ec(e),n.definition)}(e);return t.finalize(),t}(e),CompletionParser:e=>function(e){const t=e.Grammar,n=e.parser.Lexer,r=new rc(e);return ac(t,r,n.definition),r.finalize(),r}(e),ValueConverter:()=>new mc,TokenBuilder:()=>new pc,Lexer:e=>new pl(e),ParserErrorMessageProvider:()=>new nc},workspace:{AstNodeLocator:()=>new ll,AstNodeDescriptionProvider:e=>new ol(e),ReferenceDescriptionProvider:e=>new cl(e)},references:{Linker:e=>new Gc(e),NameProvider:()=>new Kc,ScopeProvider:e=>new Jc(e),ScopeComputation:e=>new Hc(e),References:e=>new Bc(e)},serializer:{Hydrator:e=>new Bl(e),JsonSerializer:e=>new el(e)},validation:{DocumentValidator:e=>new il(e),ValidationRegistry:e=>new rl(e)},shared:()=>e.shared}}function Vl(e){return{ServiceRegistry:()=>new tl,workspace:{LangiumDocuments:e=>new Fc(e),LangiumDocumentFactory:e=>new Uc(e),DocumentBuilder:e=>new dl(e),IndexManager:e=>new hl(e),WorkspaceManager:e=>new fl(e),FileSystemProvider:t=>e.fileSystemProvider(t),WorkspaceLock:()=>new Kl,ConfigurationProvider:e=>new ul(e)}}}function Hl(e,t,n,r,i,s,a,o,c){return zl([e,t,n,r,i,s,a,o,c].reduce(ql,{}))}!function(e){e.merge=(e,t)=>ql(ql({},e),t)}(Fl||(Fl={}));const Wl=Symbol("isProxy");function zl(e,t){const n=new Proxy({},{deleteProperty:()=>!1,get:(r,i)=>Xl(r,i,e,t||n),getOwnPropertyDescriptor:(r,i)=>(Xl(r,i,e,t||n),Object.getOwnPropertyDescriptor(r,i)),has:(t,n)=>n in e,ownKeys:()=>[...Reflect.ownKeys(e),Wl]});return n[Wl]=!0,n}const Yl=Symbol();function Xl(e,t,n,r){if(t in e){if(e[t]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable.",{cause:e[t]});if(e[t]===Yl)throw new Error('Cycle detected. Please make "'+String(t)+'" lazy. See https://langium.org/docs/configuration-services/#resolving-cyclic-dependencies');return e[t]}if(t in n){const i=n[t];e[t]=Yl;try{e[t]="function"==typeof i?i(r):zl(i,r)}catch(n){throw e[t]=n instanceof Error?n:void 0,n}return e[t]}}function ql(e,t){if(t)for(const[n,r]of Object.entries(t))if(void 0!==r){const t=e[n];e[n]=null!==t&&null!==r&&"object"==typeof t&&"object"==typeof r?ql(t,r):r}return e}class Ql{readFile(){throw new Error("No file system is available.")}async readDirectory(){return[]}}const Jl={fileSystemProvider:()=>new Ql},Zl={Grammar:()=>{},LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},eu={AstReflection:()=>new Te};function tu(e){var t;const n=function(){const e=Hl(Vl(Jl),eu),t=Hl(jl({shared:e}),Zl);return e.ServiceRegistry.register(t),t}(),r=n.serializer.JsonSerializer.deserialize(e);return n.shared.workspace.LangiumDocumentFactory.fromModel(r,Lc.parse(`memory://${null!==(t=r.name)&&void 0!==t?t:"grammar"}.langium`)),r}},2559:(e,t,n)=>{n.d(t,{A:()=>i});var r=n(9501);const i=function(e,t,n){for(var i=-1,s=e.length;++i{n.d(t,{A:()=>r});const r=function(e,t){return e{n.d(t,{A:()=>s});var r=n(4288),i=n(8446);const s=function(e,t){var n=-1,s=(0,i.A)(e)?Array(e.length):[];return(0,r.A)(e,(function(e,r,i){s[++n]=t(e,r,i)})),s}},5507:(e,t,n)=>{n.d(t,{A:()=>u});var r=n(6318),i=n(2851),s=n(1521),a=n(5353),o=n(3149),c=n(901);const l=function(e,t,n,r){if(!(0,o.A)(e))return e;for(var l=-1,u=(t=(0,s.A)(t,e)).length,d=u-1,h=e;null!=h&&++l{n.d(t,{A:()=>i});var r=n(4507);const i=function(e){return(0,r.A)(e,4)}},3068:(e,t,n)=>{n.d(t,{A:()=>l});var r=n(4326),i=n(6984),s=n(6832),a=n(9999),o=Object.prototype,c=o.hasOwnProperty;const l=(0,r.A)((function(e,t){e=Object(e);var n=-1,r=t.length,l=r>2?t[2]:void 0;for(l&&(0,s.A)(t[0],t[1],l)&&(r=1);++n{n.d(t,{A:()=>l});var r=n(6307),i=n(8446),s=n(5041);var a=n(5707),o=n(8593),c=Math.max;const l=(u=function(e,t,n){var i=null==e?0:e.length;if(!i)return-1;var s=null==n?0:(0,o.A)(n);return s<0&&(s=c(i+s,0)),(0,a.A)(e,(0,r.A)(t,3),s)},function(e,t,n){var a=Object(e);if(!(0,i.A)(e)){var o=(0,r.A)(t,3);e=(0,s.A)(e),t=function(e){return o(a[e],e,a)}}var c=u(e,t,n);return c>-1?a[o?e[c]:c]:void 0});var u},4098:(e,t,n)=>{n.d(t,{A:()=>i});var r=n(7671);const i=function(e){return null!=e&&e.length?(0,r.A)(e,1):[]}},9622:(e,t,n)=>{n.d(t,{A:()=>a});var r=Object.prototype.hasOwnProperty;const i=function(e,t){return null!=e&&r.call(e,t)};var s=n(5054);const a=function(e,t){return null!=e&&(0,s.A)(e,t,i)}},9703:(e,t,n)=>{n.d(t,{A:()=>a});var r=n(2383),i=n(2049),s=n(3098);const a=function(e){return"string"==typeof e||!(0,i.A)(e)&&(0,s.A)(e)&&"[object String]"==(0,r.A)(e)}},6666:(e,t,n)=>{n.d(t,{A:()=>r});const r=function(e){var t=null==e?0:e.length;return t?e[t-1]:void 0}},4722:(e,t,n)=>{n.d(t,{A:()=>o});var r=n(5572),i=n(6307),s=n(2568),a=n(2049);const o=function(e,t){return((0,a.A)(e)?r.A:s.A)(e,(0,i.A)(t,3))}},6452:(e,t,n)=>{n.d(t,{A:()=>a});var r=n(2559),i=n(6224),s=n(9008);const a=function(e){return e&&e.length?(0,r.A)(e,s.A,i.A):void 0}},3631:(e,t,n)=>{n.d(t,{A:()=>f});var r=/\s/;var i=/^\s+/;const s=function(e){return e?e.slice(0,function(e){for(var t=e.length;t--&&r.test(e.charAt(t)););return t}(e)+1).replace(i,""):e};var a=n(3149),o=n(9501),c=/^[-+]0x[0-9a-f]+$/i,l=/^0b[01]+$/i,u=/^0o[0-7]+$/i,d=parseInt;var h=1/0;const f=function(e){return e?(e=function(e){if("number"==typeof e)return e;if((0,o.A)(e))return NaN;if((0,a.A)(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=(0,a.A)(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=s(e);var n=l.test(e);return n||u.test(e)?d(e.slice(2),n?2:8):c.test(e)?NaN:+e}(e))===h||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}},8593:(e,t,n)=>{n.d(t,{A:()=>i});var r=n(3631);const i=function(e){var t=(0,r.A)(e),n=t%1;return t==t?n?t-n:t:0}}}]); \ No newline at end of file diff --git a/docs/hugo/public/js/732-8e5770e7.chunk.min.js b/docs/hugo/public/js/732-8e5770e7.chunk.min.js new file mode 100644 index 000000000..795bb5621 --- /dev/null +++ b/docs/hugo/public/js/732-8e5770e7.chunk.min.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgeekdoc=self.webpackChunkgeekdoc||[]).push([[732],{9732:(t,e,a)=>{a.d(e,{diagram:()=>L});var i,n=a(758),r=(a(6474),a(7308),a(7938),a(1282),a(1099),a(7588),a(3115),a(6058),a(8159)),d=a(9502),s=a(4852),o=a(567),g=a(697),c={},p=(0,d.K2)(((t,e)=>{c[t]=e}),"set"),h=(0,d.K2)((t=>c[t]),"get"),l=(0,d.K2)((()=>Object.keys(c)),"keys"),x=(0,d.K2)((()=>l().length),"size"),D={get:h,set:p,keys:l,size:x},u=(0,d.K2)((t=>t.append("circle").attr("class","start-state").attr("r",(0,d.D7)().state.sizeUnit).attr("cx",(0,d.D7)().state.padding+(0,d.D7)().state.sizeUnit).attr("cy",(0,d.D7)().state.padding+(0,d.D7)().state.sizeUnit)),"drawStartState"),f=(0,d.K2)((t=>t.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",(0,d.D7)().state.textHeight).attr("class","divider").attr("x2",2*(0,d.D7)().state.textHeight).attr("y1",0).attr("y2",0)),"drawDivider"),y=(0,d.K2)(((t,e)=>{const a=t.append("text").attr("x",2*(0,d.D7)().state.padding).attr("y",(0,d.D7)().state.textHeight+2*(0,d.D7)().state.padding).attr("font-size",(0,d.D7)().state.fontSize).attr("class","state-title").text(e.id),i=a.node().getBBox();return t.insert("rect",":first-child").attr("x",(0,d.D7)().state.padding).attr("y",(0,d.D7)().state.padding).attr("width",i.width+2*(0,d.D7)().state.padding).attr("height",i.height+2*(0,d.D7)().state.padding).attr("rx",(0,d.D7)().state.radius),a}),"drawSimpleState"),w=(0,d.K2)(((t,e)=>{const a=(0,d.K2)((function(t,e,a){const i=t.append("tspan").attr("x",2*(0,d.D7)().state.padding).text(e);a||i.attr("dy",(0,d.D7)().state.textHeight)}),"addTspan"),i=t.append("text").attr("x",2*(0,d.D7)().state.padding).attr("y",(0,d.D7)().state.textHeight+1.3*(0,d.D7)().state.padding).attr("font-size",(0,d.D7)().state.fontSize).attr("class","state-title").text(e.descriptions[0]).node().getBBox(),n=i.height,r=t.append("text").attr("x",(0,d.D7)().state.padding).attr("y",n+.4*(0,d.D7)().state.padding+(0,d.D7)().state.dividerMargin+(0,d.D7)().state.textHeight).attr("class","state-description");let s=!0,o=!0;e.descriptions.forEach((function(t){s||(a(r,t,o),o=!1),s=!1}));const g=t.append("line").attr("x1",(0,d.D7)().state.padding).attr("y1",(0,d.D7)().state.padding+n+(0,d.D7)().state.dividerMargin/2).attr("y2",(0,d.D7)().state.padding+n+(0,d.D7)().state.dividerMargin/2).attr("class","descr-divider"),c=r.node().getBBox(),p=Math.max(c.width,i.width);return g.attr("x2",p+3*(0,d.D7)().state.padding),t.insert("rect",":first-child").attr("x",(0,d.D7)().state.padding).attr("y",(0,d.D7)().state.padding).attr("width",p+2*(0,d.D7)().state.padding).attr("height",c.height+n+2*(0,d.D7)().state.padding).attr("rx",(0,d.D7)().state.radius),t}),"drawDescrState"),m=(0,d.K2)(((t,e,a)=>{const i=(0,d.D7)().state.padding,n=2*(0,d.D7)().state.padding,r=t.node().getBBox(),s=r.width,o=r.x,g=t.append("text").attr("x",0).attr("y",(0,d.D7)().state.titleShift).attr("font-size",(0,d.D7)().state.fontSize).attr("class","state-title").text(e.id),c=g.node().getBBox().width+n;let p,h=Math.max(c,s);h===s&&(h+=n);const l=t.node().getBBox();e.doc,p=o-i,c>s&&(p=(s-h)/2+i),Math.abs(o-l.x)s&&(p=o-(c-s)/2);const x=1-(0,d.D7)().state.textHeight;return t.insert("rect",":first-child").attr("x",p).attr("y",x).attr("class",a?"alt-composit":"composit").attr("width",h).attr("height",l.height+(0,d.D7)().state.textHeight+(0,d.D7)().state.titleShift+1).attr("rx","0"),g.attr("x",p+i),c<=s&&g.attr("x",o+(h-n)/2-c/2+i),t.insert("rect",":first-child").attr("x",p).attr("y",(0,d.D7)().state.titleShift-(0,d.D7)().state.textHeight-(0,d.D7)().state.padding).attr("width",h).attr("height",3*(0,d.D7)().state.textHeight).attr("rx",(0,d.D7)().state.radius),t.insert("rect",":first-child").attr("x",p).attr("y",(0,d.D7)().state.titleShift-(0,d.D7)().state.textHeight-(0,d.D7)().state.padding).attr("width",h).attr("height",l.height+3+2*(0,d.D7)().state.textHeight).attr("rx",(0,d.D7)().state.radius),t}),"addTitleAndBox"),b=(0,d.K2)((t=>(t.append("circle").attr("class","end-state-outer").attr("r",(0,d.D7)().state.sizeUnit+(0,d.D7)().state.miniPadding).attr("cx",(0,d.D7)().state.padding+(0,d.D7)().state.sizeUnit+(0,d.D7)().state.miniPadding).attr("cy",(0,d.D7)().state.padding+(0,d.D7)().state.sizeUnit+(0,d.D7)().state.miniPadding),t.append("circle").attr("class","end-state-inner").attr("r",(0,d.D7)().state.sizeUnit).attr("cx",(0,d.D7)().state.padding+(0,d.D7)().state.sizeUnit+2).attr("cy",(0,d.D7)().state.padding+(0,d.D7)().state.sizeUnit+2))),"drawEndState"),B=(0,d.K2)(((t,e)=>{let a=(0,d.D7)().state.forkWidth,i=(0,d.D7)().state.forkHeight;if(e.parentId){let t=a;a=i,i=t}return t.append("rect").style("stroke","black").style("fill","black").attr("width",a).attr("height",i).attr("x",(0,d.D7)().state.padding).attr("y",(0,d.D7)().state.padding)}),"drawForkJoinState"),k=(0,d.K2)(((t,e,a,i)=>{let n=0;const r=i.append("text");r.style("text-anchor","start"),r.attr("class","noteText");let s=t.replace(/\r\n/g,"
    ");s=s.replace(/\n/g,"
    ");const o=s.split(d.Y2.lineBreakRegex);let g=1.25*(0,d.D7)().state.noteMargin;for(const t of o){const i=t.trim();if(i.length>0){const t=r.append("tspan");t.text(i),0===g&&(g+=t.node().getBBox().height),n+=g,t.attr("x",e+(0,d.D7)().state.noteMargin),t.attr("y",a+n+1.25*(0,d.D7)().state.noteMargin)}}return{textWidth:r.node().getBBox().width,textHeight:n}}),"_drawLongText"),S=(0,d.K2)(((t,e)=>{e.attr("class","state-note");const a=e.append("rect").attr("x",0).attr("y",(0,d.D7)().state.padding),i=e.append("g"),{textWidth:n,textHeight:r}=k(t,0,0,i);return a.attr("height",r+2*(0,d.D7)().state.noteMargin),a.attr("width",n+2*(0,d.D7)().state.noteMargin),a}),"drawNote"),N=(0,d.K2)((function(t,e){const a=e.id,i={id:a,label:e.id,width:0,height:0},n=t.append("g").attr("id",a).attr("class","stateGroup");"start"===e.type&&u(n),"end"===e.type&&b(n),"fork"!==e.type&&"join"!==e.type||B(n,e),"note"===e.type&&S(e.note.text,n),"divider"===e.type&&f(n),"default"===e.type&&0===e.descriptions.length&&y(n,e),"default"===e.type&&e.descriptions.length>0&&w(n,e);const r=n.node().getBBox();return i.width=r.width+2*(0,d.D7)().state.padding,i.height=r.height+2*(0,d.D7)().state.padding,D.set(a,i),i}),"drawState"),E=0,K=(0,d.K2)((function(t,e,a){const i=(0,d.K2)((function(t){switch(t){case n.iP.relationType.AGGREGATION:return"aggregation";case n.iP.relationType.EXTENSION:return"extension";case n.iP.relationType.COMPOSITION:return"composition";case n.iP.relationType.DEPENDENCY:return"dependency"}}),"getRelationType");e.points=e.points.filter((t=>!Number.isNaN(t.y)));const o=e.points,g=(0,s.n8j)().x((function(t){return t.x})).y((function(t){return t.y})).curve(s.qrM),c=t.append("path").attr("d",g(o)).attr("id","edge"+E).attr("class","transition");let p="";if((0,d.D7)().state.arrowMarkerAbsolute&&(p=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,p=p.replace(/\(/g,"\\("),p=p.replace(/\)/g,"\\)")),c.attr("marker-end","url("+p+"#"+i(n.iP.relationType.DEPENDENCY)+"End)"),void 0!==a.title){const i=t.append("g").attr("class","stateLabel"),{x:n,y:s}=r._K.calcLabelPosition(e.points),o=d.Y2.getRows(a.title);let g=0;const c=[];let p=0,h=0;for(let t=0;t<=o.length;t++){const e=i.append("text").attr("text-anchor","middle").text(o[t]).attr("x",n).attr("y",s+g),a=e.node().getBBox();if(p=Math.max(p,a.width),h=Math.min(h,a.x),d.Rm.info(a.x,n,s+g),0===g){const t=e.node().getBBox();g=t.height,d.Rm.info("Title height",g,s)}c.push(e)}let l=g*o.length;if(o.length>1){const t=(o.length-1)*g*.5;c.forEach(((e,a)=>e.attr("y",s+a*g-t))),l=g*o.length}const x=i.node().getBBox();i.insert("rect",":first-child").attr("class","box").attr("x",n-p/2-(0,d.D7)().state.padding/2).attr("y",s-l/2-(0,d.D7)().state.padding/2-3.5).attr("width",p+(0,d.D7)().state.padding).attr("height",l+(0,d.D7)().state.padding),d.Rm.info(x)}E++}),"drawEdge"),M={},v=(0,d.K2)((function(){}),"setConf"),R=(0,d.K2)((function(t){t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")}),"insertMarkers"),z=(0,d.K2)((function(t,e,a,n){i=(0,d.D7)().state;const r=(0,d.D7)().securityLevel;let o;"sandbox"===r&&(o=(0,s.Ltv)("#i"+e));const g="sandbox"===r?(0,s.Ltv)(o.nodes()[0].contentDocument.body):(0,s.Ltv)("body"),c="sandbox"===r?o.nodes()[0].contentDocument:document;d.Rm.debug("Rendering diagram "+t);const p=g.select(`[id='${e}']`);R(p);const h=n.db.getRootDoc();T(h,p,void 0,!1,g,c,n);const l=i.padding,x=p.node().getBBox(),D=x.width+2*l,u=x.height+2*l,f=1.75*D;(0,d.a$)(p,u,f,i.useMaxWidth),p.attr("viewBox",`${x.x-i.padding} ${x.y-i.padding} `+D+" "+u)}),"draw"),H=(0,d.K2)((t=>t?t.length*i.fontSizeFactor:1),"getLabelWidth"),T=(0,d.K2)(((t,e,a,n,r,s,c)=>{const p=new g.T({compound:!0,multigraph:!0});let h,l=!0;for(h=0;h{const e=t.parentElement;let a=0,i=0;e&&(e.parentElement&&(a=e.parentElement.getBBox().width),i=parseInt(e.getAttribute("data-x-shift"),10),Number.isNaN(i)&&(i=0)),t.setAttribute("x1",0-i+8),t.setAttribute("x2",a-i-8)}))):d.Rm.debug("No Node "+t+": "+JSON.stringify(p.node(t)))}));let w=y.getBBox();p.edges().forEach((function(t){void 0!==t&&void 0!==p.edge(t)&&(d.Rm.debug("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(p.edge(t))),K(e,p.edge(t),p.edge(t).relation))})),w=y.getBBox();const b={id:a||"root",label:a||"root",width:0,height:0};return b.width=w.width+2*i.padding,b.height=w.height+2*i.padding,d.Rm.debug("Doc rendered",b,p),b}),"renderDoc"),P={setConf:v,draw:z},L={parser:n.Zk,db:n.iP,renderer:P,styles:n.tM,init:(0,d.K2)((t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute,n.iP.clear()}),"init")}}}]); \ No newline at end of file diff --git a/docs/hugo/public/js/758-18005d5c.chunk.min.js b/docs/hugo/public/js/758-18005d5c.chunk.min.js new file mode 100644 index 000000000..2e3d30e6b --- /dev/null +++ b/docs/hugo/public/js/758-18005d5c.chunk.min.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgeekdoc=self.webpackChunkgeekdoc||[]).push([[758],{6474:(t,e,s)=>{s.d(e,{A:()=>r,P:()=>o});var i=s(9502),n=s(4852),r=(0,i.K2)(((t,e)=>{let s;return"sandbox"===e&&(s=(0,n.Ltv)("#i"+t)),("sandbox"===e?(0,n.Ltv)(s.nodes()[0].contentDocument.body):(0,n.Ltv)("body")).select(`[id="${t}"]`)}),"getDiagramElement"),o=(0,i.K2)(((t,e,s,n)=>{t.attr("class",s);const{width:r,height:o,x:c,y:h}=a(t,e);(0,i.a$)(t,o,r,n);const d=l(c,h,r,o,e);t.attr("viewBox",d),i.Rm.debug(`viewBox configured: ${d} with padding: ${e}`)}),"setupViewPortForSVG"),a=(0,i.K2)(((t,e)=>{const s=t.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:s.width+2*e,height:s.height+2*e,x:s.x,y:s.y}}),"calculateDimensionsWithPadding"),l=(0,i.K2)(((t,e,s,i,n)=>`${t-n} ${e-n} ${s} ${i}`),"createViewBox")},758:(t,e,s)=>{s.d(e,{Zk:()=>l,iP:()=>Bt,q7:()=>w,tM:()=>Ft});var i=s(6474),n=s(7308),r=s(8159),o=s(9502),a=function(){var t=(0,o.K2)((function(t,e,s,i){for(s=s||{},i=t.length;i--;s[t[i]]=e);return s}),"o"),e=[1,2],s=[1,3],i=[1,4],n=[2,4],r=[1,9],a=[1,11],l=[1,16],c=[1,17],h=[1,18],d=[1,19],u=[1,32],p=[1,20],y=[1,21],g=[1,22],f=[1,23],m=[1,24],S=[1,26],_=[1,27],b=[1,28],T=[1,29],k=[1,30],E=[1,31],x=[1,34],D=[1,35],C=[1,36],$=[1,37],v=[1,33],L=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],I=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],A=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],K={trace:(0,o.K2)((function(){}),"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,styleStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"--\x3e":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,classDef:38,CLASSDEF_ID:39,CLASSDEF_STYLEOPTS:40,DEFAULT:41,style:42,STYLE_IDS:43,STYLEDEF_STYLEOPTS:44,class:45,CLASSENTITY_IDS:46,STYLECLASS:47,direction_tb:48,direction_bt:49,direction_rl:50,direction_lr:51,eol:52,";":53,EDGE_STATE:54,STYLE_SEPARATOR:55,left_of:56,right_of:57,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",14:"DESCR",15:"--\x3e",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"classDef",39:"CLASSDEF_ID",40:"CLASSDEF_STYLEOPTS",41:"DEFAULT",42:"style",43:"STYLE_IDS",44:"STYLEDEF_STYLEOPTS",45:"class",46:"CLASSENTITY_IDS",47:"STYLECLASS",48:"direction_tb",49:"direction_bt",50:"direction_rl",51:"direction_lr",53:";",54:"EDGE_STATE",55:"STYLE_SEPARATOR",56:"left_of",57:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[10,3],[10,3],[11,3],[12,3],[32,1],[32,1],[32,1],[32,1],[52,1],[52,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1]],performAction:(0,o.K2)((function(t,e,s,i,n,r,o){var a=r.length-1;switch(n){case 3:return i.setRootDoc(r[a]),r[a];case 4:this.$=[];break;case 5:"nl"!=r[a]&&(r[a-1].push(r[a]),this.$=r[a-1]);break;case 6:case 7:case 12:this.$=r[a];break;case 8:this.$="nl";break;case 13:const t=r[a-1];t.description=i.trimColon(r[a]),this.$=t;break;case 14:this.$={stmt:"relation",state1:r[a-2],state2:r[a]};break;case 15:const e=i.trimColon(r[a]);this.$={stmt:"relation",state1:r[a-3],state2:r[a-1],description:e};break;case 19:this.$={stmt:"state",id:r[a-3],type:"default",description:"",doc:r[a-1]};break;case 20:var l=r[a],c=r[a-2].trim();if(r[a].match(":")){var h=r[a].split(":");l=h[0],c=[c,h[1]]}this.$={stmt:"state",id:l,type:"default",description:c};break;case 21:this.$={stmt:"state",id:r[a-3],type:"default",description:r[a-5],doc:r[a-1]};break;case 22:this.$={stmt:"state",id:r[a],type:"fork"};break;case 23:this.$={stmt:"state",id:r[a],type:"join"};break;case 24:this.$={stmt:"state",id:r[a],type:"choice"};break;case 25:this.$={stmt:"state",id:i.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:r[a-1].trim(),note:{position:r[a-2].trim(),text:r[a].trim()}};break;case 29:this.$=r[a].trim(),i.setAccTitle(this.$);break;case 30:case 31:this.$=r[a].trim(),i.setAccDescription(this.$);break;case 32:case 33:this.$={stmt:"classDef",id:r[a-1].trim(),classes:r[a].trim()};break;case 34:this.$={stmt:"style",id:r[a-1].trim(),styleClass:r[a].trim()};break;case 35:this.$={stmt:"applyClass",id:r[a-1].trim(),styleClass:r[a].trim()};break;case 36:i.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 37:i.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 38:i.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 39:i.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 42:case 43:this.$={stmt:"state",id:r[a].trim(),type:"default",description:""};break;case 44:case 45:this.$={stmt:"state",id:r[a-2].trim(),classes:[r[a].trim()],type:"default",description:""}}}),"anonymous"),table:[{3:1,4:e,5:s,6:i},{1:[3]},{3:5,4:e,5:s,6:i},{3:6,4:e,5:s,6:i},t([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],n,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:r,5:a,8:8,9:10,10:12,11:13,12:14,13:15,16:l,17:c,19:h,22:d,24:u,25:p,26:y,27:g,28:f,29:m,32:25,33:S,35:_,37:b,38:T,42:k,45:E,48:x,49:D,50:C,51:$,54:v},t(L,[2,5]),{9:38,10:12,11:13,12:14,13:15,16:l,17:c,19:h,22:d,24:u,25:p,26:y,27:g,28:f,29:m,32:25,33:S,35:_,37:b,38:T,42:k,45:E,48:x,49:D,50:C,51:$,54:v},t(L,[2,7]),t(L,[2,8]),t(L,[2,9]),t(L,[2,10]),t(L,[2,11]),t(L,[2,12],{14:[1,39],15:[1,40]}),t(L,[2,16]),{18:[1,41]},t(L,[2,18],{20:[1,42]}),{23:[1,43]},t(L,[2,22]),t(L,[2,23]),t(L,[2,24]),t(L,[2,25]),{30:44,31:[1,45],56:[1,46],57:[1,47]},t(L,[2,28]),{34:[1,48]},{36:[1,49]},t(L,[2,31]),{39:[1,50],41:[1,51]},{43:[1,52]},{46:[1,53]},t(I,[2,42],{55:[1,54]}),t(I,[2,43],{55:[1,55]}),t(L,[2,36]),t(L,[2,37]),t(L,[2,38]),t(L,[2,39]),t(L,[2,6]),t(L,[2,13]),{13:56,24:u,54:v},t(L,[2,17]),t(A,n,{7:57}),{24:[1,58]},{24:[1,59]},{23:[1,60]},{24:[2,46]},{24:[2,47]},t(L,[2,29]),t(L,[2,30]),{40:[1,61]},{40:[1,62]},{44:[1,63]},{47:[1,64]},{24:[1,65]},{24:[1,66]},t(L,[2,14],{14:[1,67]}),{4:r,5:a,8:8,9:10,10:12,11:13,12:14,13:15,16:l,17:c,19:h,21:[1,68],22:d,24:u,25:p,26:y,27:g,28:f,29:m,32:25,33:S,35:_,37:b,38:T,42:k,45:E,48:x,49:D,50:C,51:$,54:v},t(L,[2,20],{20:[1,69]}),{31:[1,70]},{24:[1,71]},t(L,[2,32]),t(L,[2,33]),t(L,[2,34]),t(L,[2,35]),t(I,[2,44]),t(I,[2,45]),t(L,[2,15]),t(L,[2,19]),t(A,n,{7:72}),t(L,[2,26]),t(L,[2,27]),{4:r,5:a,8:8,9:10,10:12,11:13,12:14,13:15,16:l,17:c,19:h,21:[1,73],22:d,24:u,25:p,26:y,27:g,28:f,29:m,32:25,33:S,35:_,37:b,38:T,42:k,45:E,48:x,49:D,50:C,51:$,54:v},t(L,[2,21])],defaultActions:{5:[2,1],6:[2,2],46:[2,46],47:[2,47]},parseError:(0,o.K2)((function(t,e){if(!e.recoverable){var s=new Error(t);throw s.hash=e,s}this.trace(t)}),"parseError"),parse:(0,o.K2)((function(t){var e=this,s=[0],i=[],n=[null],r=[],a=this.table,l="",c=0,h=0,d=0,u=r.slice.call(arguments,1),p=Object.create(this.lexer),y={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(y.yy[g]=this.yy[g]);p.setInput(t,y.yy),y.yy.lexer=p,y.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var f=p.yylloc;r.push(f);var m=p.options&&p.options.ranges;function S(){var t;return"number"!=typeof(t=i.pop()||p.lex()||1)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,o.K2)((function(t){s.length=s.length-2*t,n.length=n.length-t,r.length=r.length-t}),"popStack"),(0,o.K2)(S,"lex");for(var _,b,T,k,E,x,D,C,$,v={};;){if(T=s[s.length-1],this.defaultActions[T]?k=this.defaultActions[T]:(null==_&&(_=S()),k=a[T]&&a[T][_]),void 0===k||!k.length||!k[0]){var L;for(x in $=[],a[T])this.terminals_[x]&&x>2&&$.push("'"+this.terminals_[x]+"'");L=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+$.join(", ")+", got '"+(this.terminals_[_]||_)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==_?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(L,{text:p.match,token:this.terminals_[_]||_,line:p.yylineno,loc:f,expected:$})}if(k[0]instanceof Array&&k.length>1)throw new Error("Parse Error: multiple actions possible at state: "+T+", token: "+_);switch(k[0]){case 1:s.push(_),n.push(p.yytext),r.push(p.yylloc),s.push(k[1]),_=null,b?(_=b,b=null):(h=p.yyleng,l=p.yytext,c=p.yylineno,f=p.yylloc,d>0&&d--);break;case 2:if(D=this.productions_[k[1]][1],v.$=n[n.length-D],v._$={first_line:r[r.length-(D||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(D||1)].first_column,last_column:r[r.length-1].last_column},m&&(v._$.range=[r[r.length-(D||1)].range[0],r[r.length-1].range[1]]),void 0!==(E=this.performAction.apply(v,[l,h,c,y.yy,k[1],n,r].concat(u))))return E;D&&(s=s.slice(0,-1*D*2),n=n.slice(0,-1*D),r=r.slice(0,-1*D)),s.push(this.productions_[k[1]][0]),n.push(v.$),r.push(v._$),C=a[s[s.length-2]][s[s.length-1]],s.push(C);break;case 3:return!0}}return!0}),"parse")},R=function(){return{EOF:1,parseError:(0,o.K2)((function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)}),"parseError"),setInput:(0,o.K2)((function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this}),"setInput"),input:(0,o.K2)((function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t}),"input"),unput:(0,o.K2)((function(t){var e=t.length,s=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),s.length-1&&(this.yylineno-=s.length-1);var n=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:s?(s.length===i.length?this.yylloc.first_column:0)+i[i.length-s.length].length-s[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this}),"unput"),more:(0,o.K2)((function(){return this._more=!0,this}),"more"),reject:(0,o.K2)((function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"reject"),less:(0,o.K2)((function(t){this.unput(this.match.slice(t))}),"less"),pastInput:(0,o.K2)((function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")}),"pastInput"),upcomingInput:(0,o.K2)((function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")}),"upcomingInput"),showPosition:(0,o.K2)((function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"}),"showPosition"),test_match:(0,o.K2)((function(t,e){var s,i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(n.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],s=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),s)return s;if(this._backtrack){for(var r in n)this[r]=n[r];return!1}return!1}),"test_match"),next:(0,o.K2)((function(){if(this.done)return this.EOF;var t,e,s,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var n=this._currentRules(),r=0;re[0].length)){if(e=s,i=r,this.options.backtrack_lexer){if(!1!==(t=this.test_match(s,n[r])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,n[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"next"),lex:(0,o.K2)((function(){return this.next()||this.lex()}),"lex"),begin:(0,o.K2)((function(t){this.conditionStack.push(t)}),"begin"),popState:(0,o.K2)((function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]}),"popState"),_currentRules:(0,o.K2)((function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules}),"_currentRules"),topState:(0,o.K2)((function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"}),"topState"),pushState:(0,o.K2)((function(t){this.begin(t)}),"pushState"),stateStackSize:(0,o.K2)((function(){return this.conditionStack.length}),"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,o.K2)((function(t,e,s,i){switch(s){case 0:return 41;case 1:case 42:return 48;case 2:case 43:return 49;case 3:case 44:return 50;case 4:case 45:return 51;case 5:case 6:case 8:case 9:case 10:case 11:case 54:case 56:case 62:break;case 7:case 77:return 5;case 12:case 32:return this.pushState("SCALE"),17;case 13:case 33:return 18;case 14:case 20:case 34:case 49:case 52:this.popState();break;case 15:return this.begin("acc_title"),33;case 16:return this.popState(),"acc_title_value";case 17:return this.begin("acc_descr"),35;case 18:return this.popState(),"acc_descr_value";case 19:this.begin("acc_descr_multiline");break;case 21:return"acc_descr_multiline_value";case 22:return this.pushState("CLASSDEF"),38;case 23:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 24:return this.popState(),this.pushState("CLASSDEFID"),39;case 25:return this.popState(),40;case 26:return this.pushState("CLASS"),45;case 27:return this.popState(),this.pushState("CLASS_STYLE"),46;case 28:return this.popState(),47;case 29:return this.pushState("STYLE"),42;case 30:return this.popState(),this.pushState("STYLEDEF_STYLES"),43;case 31:return this.popState(),44;case 35:this.pushState("STATE");break;case 36:case 39:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),25;case 37:case 40:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),26;case 38:case 41:return this.popState(),e.yytext=e.yytext.slice(0,-10).trim(),27;case 46:this.pushState("STATE_STRING");break;case 47:return this.pushState("STATE_ID"),"AS";case 48:case 64:return this.popState(),"ID";case 50:return"STATE_DESCR";case 51:return 19;case 53:return this.popState(),this.pushState("struct"),20;case 55:return this.popState(),21;case 57:return this.begin("NOTE"),29;case 58:return this.popState(),this.pushState("NOTE_ID"),56;case 59:return this.popState(),this.pushState("NOTE_ID"),57;case 60:this.popState(),this.pushState("FLOATING_NOTE");break;case 61:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 63:return"NOTE_TEXT";case 65:return this.popState(),this.pushState("NOTE_TEXT"),24;case 66:return this.popState(),e.yytext=e.yytext.substr(2).trim(),31;case 67:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),31;case 68:case 69:return 6;case 70:return 16;case 71:return 54;case 72:return 24;case 73:return e.yytext=e.yytext.trim(),14;case 74:return 15;case 75:return 28;case 76:return 55;case 78:return"INVALID"}}),"anonymous"),rules:[/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:style\s+)/i,/^(?:[\w,]+\s+)/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[9,10],inclusive:!1},struct:{rules:[9,10,22,26,29,35,42,43,44,45,54,55,56,57,71,72,73,74,75],inclusive:!1},FLOATING_NOTE_ID:{rules:[64],inclusive:!1},FLOATING_NOTE:{rules:[61,62,63],inclusive:!1},NOTE_TEXT:{rules:[66,67],inclusive:!1},NOTE_ID:{rules:[65],inclusive:!1},NOTE:{rules:[58,59,60],inclusive:!1},STYLEDEF_STYLEOPTS:{rules:[],inclusive:!1},STYLEDEF_STYLES:{rules:[31],inclusive:!1},STYLE_IDS:{rules:[],inclusive:!1},STYLE:{rules:[30],inclusive:!1},CLASS_STYLE:{rules:[28],inclusive:!1},CLASS:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[25],inclusive:!1},CLASSDEF:{rules:[23,24],inclusive:!1},acc_descr_multiline:{rules:[20,21],inclusive:!1},acc_descr:{rules:[18],inclusive:!1},acc_title:{rules:[16],inclusive:!1},SCALE:{rules:[13,14,33,34],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[48],inclusive:!1},STATE_STRING:{rules:[49,50],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[9,10,36,37,38,39,40,41,46,47,51,52,53],inclusive:!1},ID:{rules:[9,10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,10,11,12,15,17,19,22,26,29,32,35,53,57,68,69,70,71,72,73,74,76,77,78],inclusive:!0}}}}();function w(){this.yy={}}return K.lexer=R,(0,o.K2)(w,"Parser"),w.prototype=K,K.Parser=w,new w}();a.parser=a;var l=a,c="state",h="relation",d="default",u="divider",p="fill:none",y="fill: #333",g="text",f="normal",m="rect",S="rectWithTitle",_="divider",b="roundedWithTitle",T="statediagram",k=`${T}-state`,E="transition",x=`${E} note-edge`,D=`${T}-note`,C=`${T}-cluster`,$=`${T}-cluster-alt`,v="parent",L="note",I="----",A=`${I}${L}`,K=`${I}${v}`,R=(0,o.K2)(((t,e="TB")=>{if(!t.doc)return e;let s=e;for(const e of t.doc)"dir"===e.stmt&&(s=e.value);return s}),"getDir"),w={getClasses:(0,o.K2)((function(t,e){return e.db.extract(e.db.getRootDocV2()),e.db.getClasses()}),"getClasses"),draw:(0,o.K2)((async function(t,e,s,a){o.Rm.info("REF0:"),o.Rm.info("Drawing state diagram (v2)",e);const{securityLevel:l,state:c,layout:h}=(0,o.D7)();a.db.extract(a.db.getRootDocV2());const d=a.db.getData(),u=(0,i.A)(e,l);d.type=a.type,d.layoutAlgorithm=h,d.nodeSpacing=c?.nodeSpacing||50,d.rankSpacing=c?.rankSpacing||50,d.markers=["barb"],d.diagramId=e,await(0,n.XX)(d,u),r._K.insertTitle(u,"statediagramTitleText",c?.titleTopMargin??25,a.db.getDiagramTitle()),(0,i.P)(u,8,T,c?.useMaxWidth??!0)}),"draw"),getDir:R},O=new Map,N=0;function B(t="",e=0,s="",i=I){return`state-${t}${null!==s&&s.length>0?`${i}${s}`:""}-${e}`}(0,o.K2)(B,"stateDomId");var F=(0,o.K2)(((t,e,s,i,n,r,a,l)=>{o.Rm.trace("items",e),e.forEach((e=>{switch(e.stmt){case c:case d:z(t,e,s,i,n,r,a,l);break;case h:{z(t,e.state1,s,i,n,r,a,l),z(t,e.state2,s,i,n,r,a,l);const c={id:"edge"+N,start:e.state1.id,end:e.state2.id,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:p,labelStyle:"",label:o.Y2.sanitizeText(e.description,(0,o.D7)()),arrowheadStyle:y,labelpos:"c",labelType:g,thickness:f,classes:E,look:a};n.push(c),N++}}}))}),"setupDoc"),P=(0,o.K2)(((t,e="TB")=>{let s=e;if(t.doc)for(const e of t.doc)"dir"===e.stmt&&(s=e.value);return s}),"getDir");function Y(t,e,s){if(!e.id||""===e.id||""===e.id)return;e.cssClasses&&(Array.isArray(e.cssCompiledStyles)||(e.cssCompiledStyles=[]),e.cssClasses.split(" ").forEach((t=>{if(s.get(t)){const i=s.get(t);e.cssCompiledStyles=[...e.cssCompiledStyles,...i.styles]}})));const i=t.find((t=>t.id===e.id));i?Object.assign(i,e):t.push(e)}function G(t){return t?.classes?.join(" ")??""}function j(t){return t?.styles??[]}(0,o.K2)(Y,"insertOrUpdateNode"),(0,o.K2)(G,"getClassesFromDbInfo"),(0,o.K2)(j,"getStylesFromDbInfo");var z=(0,o.K2)(((t,e,s,i,n,r,a,l)=>{const c=e.id,h=s.get(c),T=G(h),E=j(h);if(o.Rm.info("dataFetcher parsedItem",e,h,E),"root"!==c){let s=m;!0===e.start?s="stateStart":!1===e.start&&(s="stateEnd"),e.type!==d&&(s=e.type),O.get(c)||O.set(c,{id:c,shape:s,description:o.Y2.sanitizeText(c,(0,o.D7)()),cssClasses:`${T} ${k}`,cssStyles:E});const h=O.get(c);e.description&&(Array.isArray(h.description)?(h.shape=S,h.description.push(e.description)):h.description?.length>0?(h.shape=S,h.description===c?h.description=[e.description]:h.description=[h.description,e.description]):(h.shape=m,h.description=e.description),h.description=o.Y2.sanitizeTextOrArray(h.description,(0,o.D7)())),1===h.description?.length&&h.shape===S&&("group"===h.type?h.shape=b:h.shape=m),!h.type&&e.doc&&(o.Rm.info("Setting cluster for XCX",c,P(e)),h.type="group",h.isGroup=!0,h.dir=P(e),h.shape=e.type===u?_:b,h.cssClasses=`${h.cssClasses} ${C} ${r?$:""}`);const I={labelStyle:"",shape:h.shape,label:h.description,cssClasses:h.cssClasses,cssCompiledStyles:[],cssStyles:h.cssStyles,id:c,dir:h.dir,domId:B(c,N),type:h.type,isGroup:"group"===h.type,padding:8,rx:10,ry:10,look:a};if(I.shape===_&&(I.label=""),t&&"root"!==t.id&&(o.Rm.trace("Setting node ",c," to be child of its parent ",t.id),I.parentId=t.id),I.centerLabel=!0,e.note){const t={labelStyle:"",shape:"note",label:e.note.text,cssClasses:D,cssStyles:[],cssCompilesStyles:[],id:c+A+"-"+N,domId:B(c,N,L),type:h.type,isGroup:"group"===h.type,padding:(0,o.D7)().flowchart.padding,look:a,position:e.note.position},s=c+K,r={labelStyle:"",shape:"noteGroup",label:e.note.text,cssClasses:h.cssClasses,cssStyles:[],id:c+K,domId:B(c,N,v),type:"group",isGroup:!0,padding:16,look:a,position:e.note.position};N++,r.id=s,t.parentId=s,Y(i,r,l),Y(i,t,l),Y(i,I,l);let d=c,u=t.id;"left of"===e.note.position&&(d=t.id,u=c),n.push({id:d+"-"+u,start:d,end:u,arrowhead:"none",arrowTypeEnd:"",style:p,labelStyle:"",classes:x,arrowheadStyle:y,labelpos:"c",labelType:g,thickness:f,look:a})}else Y(i,I,l)}e.doc&&(o.Rm.trace("Adding nodes children "),F(e,e.doc,s,i,n,!r,a,l))}),"dataFetcher"),U=(0,o.K2)((()=>{O.clear(),N=0}),"reset"),M="[*]",X="start",V=M,W="color",H="fill";function J(){return new Map}(0,o.K2)(J,"newClassesList");var q=[],Z=[],Q="LR",tt=[],et=J(),st=(0,o.K2)((()=>({relations:[],states:new Map,documents:{}})),"newDoc"),it={root:st()},nt=it.root,rt=0,ot=0,at=(0,o.K2)((t=>JSON.parse(JSON.stringify(t))),"clone"),lt=(0,o.K2)((t=>{o.Rm.info("Setting root doc",t),tt=t}),"setRootDoc"),ct=(0,o.K2)((()=>tt),"getRootDoc"),ht=(0,o.K2)(((t,e,s)=>{if(e.stmt===h)ht(t,e.state1,!0),ht(t,e.state2,!1);else if(e.stmt===c&&("[*]"===e.id?(e.id=s?t.id+"_start":t.id+"_end",e.start=s):e.id=e.id.trim()),e.doc){const t=[];let s,i=[];for(s=0;s0&&i.length>0){const s={stmt:c,id:(0,r.$C)(),type:"divider",doc:at(i)};t.push(at(s)),e.doc=t}e.doc.forEach((t=>ht(e,t,!0)))}}),"docTranslator"),dt=(0,o.K2)((()=>(ht({id:"root"},{id:"root",doc:tt},!0),{id:"root",doc:tt})),"getRootDocV2"),ut=(0,o.K2)((t=>{let e;e=t.doc?t.doc:t,o.Rm.info(e),yt(!0),o.Rm.info("Extract initial document:",e),e.forEach((t=>{switch(o.Rm.warn("Statement",t.stmt),t.stmt){case c:pt(t.id.trim(),t.type,t.doc,t.description,t.note,t.classes,t.styles,t.textStyles);break;case h:xt(t.state1,t.state2,t.description);break;case"classDef":vt(t.id.trim(),t.classes);break;case"style":{const e=t.id.trim().split(","),s=t.styleClass.split(",");e.forEach((t=>{let e=gt(t);if(void 0===e){const s=t.trim();pt(s),e=gt(s)}e.styles=s.map((t=>t.replace(/;/g,"")?.trim()))}))}break;case"applyClass":It(t.id.trim(),t.styleClass)}}));const s=ft(),i=(0,o.D7)().look;U(),z(void 0,dt(),s,q,Z,!0,i,et),q.forEach((t=>{if(Array.isArray(t.label)){if(t.description=t.label.slice(1),t.isGroup&&t.description.length>0)throw new Error("Group nodes can only have label. Remove the additional description for node ["+t.id+"]");t.label=t.label[0]}}))}),"extract"),pt=(0,o.K2)((function(t,e=d,s=null,i=null,n=null,r=null,a=null,l=null){const c=t?.trim();if(nt.states.has(c)?(nt.states.get(c).doc||(nt.states.get(c).doc=s),nt.states.get(c).type||(nt.states.get(c).type=e)):(o.Rm.info("Adding state ",c,i),nt.states.set(c,{id:c,descriptions:[],type:e,doc:s,note:n,classes:[],styles:[],textStyles:[]})),i&&(o.Rm.info("Setting state description",c,i),"string"==typeof i&&Dt(c,i.trim()),"object"==typeof i&&i.forEach((t=>Dt(c,t.trim())))),n){const t=nt.states.get(c);t.note=n,t.note.text=o.Y2.sanitizeText(t.note.text,(0,o.D7)())}r&&(o.Rm.info("Setting state classes",c,r),("string"==typeof r?[r]:r).forEach((t=>It(c,t.trim())))),a&&(o.Rm.info("Setting state styles",c,a),("string"==typeof a?[a]:a).forEach((t=>At(c,t.trim())))),l&&(o.Rm.info("Setting state styles",c,a),("string"==typeof l?[l]:l).forEach((t=>Kt(c,t.trim()))))}),"addState"),yt=(0,o.K2)((function(t){q=[],Z=[],it={root:st()},nt=it.root,rt=0,et=J(),t||(0,o.IU)()}),"clear"),gt=(0,o.K2)((function(t){return nt.states.get(t)}),"getState"),ft=(0,o.K2)((function(){return nt.states}),"getStates"),mt=(0,o.K2)((function(){o.Rm.info("Documents = ",it)}),"logDocuments"),St=(0,o.K2)((function(){return nt.relations}),"getRelations");function _t(t=""){let e=t;return t===M&&(rt++,e=`${X}${rt}`),e}function bt(t="",e=d){return t===M?X:e}function Tt(t=""){let e=t;return t===V&&(e="end"+ ++rt),e}function kt(t="",e=d){return t===V?"end":e}function Et(t,e,s){let i=_t(t.id.trim()),n=bt(t.id.trim(),t.type),r=_t(e.id.trim()),a=bt(e.id.trim(),e.type);pt(i,n,t.doc,t.description,t.note,t.classes,t.styles,t.textStyles),pt(r,a,e.doc,e.description,e.note,e.classes,e.styles,e.textStyles),nt.relations.push({id1:i,id2:r,relationTitle:o.Y2.sanitizeText(s,(0,o.D7)())})}(0,o.K2)(_t,"startIdIfNeeded"),(0,o.K2)(bt,"startTypeIfNeeded"),(0,o.K2)(Tt,"endIdIfNeeded"),(0,o.K2)(kt,"endTypeIfNeeded"),(0,o.K2)(Et,"addRelationObjs");var xt=(0,o.K2)((function(t,e,s){if("object"==typeof t)Et(t,e,s);else{const i=_t(t.trim()),n=bt(t),r=Tt(e.trim()),a=kt(e);pt(i,n),pt(r,a),nt.relations.push({id1:i,id2:r,title:o.Y2.sanitizeText(s,(0,o.D7)())})}}),"addRelation"),Dt=(0,o.K2)((function(t,e){const s=nt.states.get(t),i=e.startsWith(":")?e.replace(":","").trim():e;s.descriptions.push(o.Y2.sanitizeText(i,(0,o.D7)()))}),"addDescription"),Ct=(0,o.K2)((function(t){return":"===t.substring(0,1)?t.substr(2).trim():t.trim()}),"cleanupLabel"),$t=(0,o.K2)((()=>"divider-id-"+ ++ot),"getDividerId"),vt=(0,o.K2)((function(t,e=""){et.has(t)||et.set(t,{id:t,styles:[],textStyles:[]});const s=et.get(t);null!=e&&e.split(",").forEach((t=>{const e=t.replace(/([^;]*);/,"$1").trim();if(RegExp(W).exec(t)){const t=e.replace(H,"bgFill").replace(W,H);s.textStyles.push(t)}s.styles.push(e)}))}),"addStyleClass"),Lt=(0,o.K2)((function(){return et}),"getClasses"),It=(0,o.K2)((function(t,e){t.split(",").forEach((function(t){let s=gt(t);if(void 0===s){const e=t.trim();pt(e),s=gt(e)}s.classes.push(e)}))}),"setCssClass"),At=(0,o.K2)((function(t,e){const s=gt(t);void 0!==s&&s.styles.push(e)}),"setStyle"),Kt=(0,o.K2)((function(t,e){const s=gt(t);void 0!==s&&s.textStyles.push(e)}),"setTextStyle"),Rt=(0,o.K2)((()=>Q),"getDirection"),wt=(0,o.K2)((t=>{Q=t}),"setDirection"),Ot=(0,o.K2)((t=>t&&":"===t[0]?t.substr(1).trim():t.trim()),"trimColon"),Nt=(0,o.K2)((()=>{const t=(0,o.D7)();return{nodes:q,edges:Z,other:{},config:t,direction:R(dt())}}),"getData"),Bt={getConfig:(0,o.K2)((()=>(0,o.D7)().state),"getConfig"),getData:Nt,addState:pt,clear:yt,getState:gt,getStates:ft,getRelations:St,getClasses:Lt,getDirection:Rt,addRelation:xt,getDividerId:$t,setDirection:wt,cleanupLabel:Ct,lineType:{LINE:0,DOTTED_LINE:1},relationType:{AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},logDocuments:mt,getRootDoc:ct,setRootDoc:lt,getRootDocV2:dt,extract:ut,trimColon:Ot,getAccTitle:o.iN,setAccTitle:o.SV,getAccDescription:o.m7,setAccDescription:o.EI,addStyleClass:vt,setCssClass:It,addDescription:Dt,setDiagramTitle:o.ke,getDiagramTitle:o.ab},Ft=(0,o.K2)((t=>`\ndefs #statediagram-barbEnd {\n fill: ${t.transitionColor};\n stroke: ${t.transitionColor};\n }\ng.stateGroup text {\n fill: ${t.nodeBorder};\n stroke: none;\n font-size: 10px;\n}\ng.stateGroup text {\n fill: ${t.textColor};\n stroke: none;\n font-size: 10px;\n\n}\ng.stateGroup .state-title {\n font-weight: bolder;\n fill: ${t.stateLabelColor};\n}\n\ng.stateGroup rect {\n fill: ${t.mainBkg};\n stroke: ${t.nodeBorder};\n}\n\ng.stateGroup line {\n stroke: ${t.lineColor};\n stroke-width: 1;\n}\n\n.transition {\n stroke: ${t.transitionColor};\n stroke-width: 1;\n fill: none;\n}\n\n.stateGroup .composit {\n fill: ${t.background};\n border-bottom: 1px\n}\n\n.stateGroup .alt-composit {\n fill: #e0e0e0;\n border-bottom: 1px\n}\n\n.state-note {\n stroke: ${t.noteBorderColor};\n fill: ${t.noteBkgColor};\n\n text {\n fill: ${t.noteTextColor};\n stroke: none;\n font-size: 10px;\n }\n}\n\n.stateLabel .box {\n stroke: none;\n stroke-width: 0;\n fill: ${t.mainBkg};\n opacity: 0.5;\n}\n\n.edgeLabel .label rect {\n fill: ${t.labelBackgroundColor};\n opacity: 0.5;\n}\n.edgeLabel {\n background-color: ${t.edgeLabelBackground};\n p {\n background-color: ${t.edgeLabelBackground};\n }\n rect {\n opacity: 0.5;\n background-color: ${t.edgeLabelBackground};\n fill: ${t.edgeLabelBackground};\n }\n text-align: center;\n}\n.edgeLabel .label text {\n fill: ${t.transitionLabelColor||t.tertiaryTextColor};\n}\n.label div .edgeLabel {\n color: ${t.transitionLabelColor||t.tertiaryTextColor};\n}\n\n.stateLabel text {\n fill: ${t.stateLabelColor};\n font-size: 10px;\n font-weight: bold;\n}\n\n.node circle.state-start {\n fill: ${t.specialStateColor};\n stroke: ${t.specialStateColor};\n}\n\n.node .fork-join {\n fill: ${t.specialStateColor};\n stroke: ${t.specialStateColor};\n}\n\n.node circle.state-end {\n fill: ${t.innerEndBackground};\n stroke: ${t.background};\n stroke-width: 1.5\n}\n.end-state-inner {\n fill: ${t.compositeBackground||t.background};\n // stroke: ${t.background};\n stroke-width: 1.5\n}\n\n.node rect {\n fill: ${t.stateBkg||t.mainBkg};\n stroke: ${t.stateBorder||t.nodeBorder};\n stroke-width: 1px;\n}\n.node polygon {\n fill: ${t.mainBkg};\n stroke: ${t.stateBorder||t.nodeBorder};;\n stroke-width: 1px;\n}\n#statediagram-barbEnd {\n fill: ${t.lineColor};\n}\n\n.statediagram-cluster rect {\n fill: ${t.compositeTitleBackground};\n stroke: ${t.stateBorder||t.nodeBorder};\n stroke-width: 1px;\n}\n\n.cluster-label, .nodeLabel {\n color: ${t.stateLabelColor};\n // line-height: 1;\n}\n\n.statediagram-cluster rect.outer {\n rx: 5px;\n ry: 5px;\n}\n.statediagram-state .divider {\n stroke: ${t.stateBorder||t.nodeBorder};\n}\n\n.statediagram-state .title-state {\n rx: 5px;\n ry: 5px;\n}\n.statediagram-cluster.statediagram-cluster .inner {\n fill: ${t.compositeBackground||t.background};\n}\n.statediagram-cluster.statediagram-cluster-alt .inner {\n fill: ${t.altBackground?t.altBackground:"#efefef"};\n}\n\n.statediagram-cluster .inner {\n rx:0;\n ry:0;\n}\n\n.statediagram-state rect.basic {\n rx: 5px;\n ry: 5px;\n}\n.statediagram-state rect.divider {\n stroke-dasharray: 10,10;\n fill: ${t.altBackground?t.altBackground:"#efefef"};\n}\n\n.note-edge {\n stroke-dasharray: 5;\n}\n\n.statediagram-note rect {\n fill: ${t.noteBkgColor};\n stroke: ${t.noteBorderColor};\n stroke-width: 1px;\n rx: 0;\n ry: 0;\n}\n.statediagram-note rect {\n fill: ${t.noteBkgColor};\n stroke: ${t.noteBorderColor};\n stroke-width: 1px;\n rx: 0;\n ry: 0;\n}\n\n.statediagram-note text {\n fill: ${t.noteTextColor};\n}\n\n.statediagram-note .nodeLabel {\n color: ${t.noteTextColor};\n}\n.statediagram .edgeLabel {\n color: red; // ${t.noteTextColor};\n}\n\n#dependencyStart, #dependencyEnd {\n fill: ${t.lineColor};\n stroke: ${t.lineColor};\n stroke-width: 1;\n}\n\n.statediagramTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${t.textColor};\n}\n`),"getStyles")}}]); \ No newline at end of file diff --git a/docs/hugo/public/js/825-fe49e4aa.chunk.min.js b/docs/hugo/public/js/825-fe49e4aa.chunk.min.js new file mode 100644 index 000000000..903510ce5 --- /dev/null +++ b/docs/hugo/public/js/825-fe49e4aa.chunk.min.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgeekdoc=self.webpackChunkgeekdoc||[]).push([[825],{3933:(e,t,a)=>{function i(e,t){e.accDescr&&t.setAccDescription?.(e.accDescr),e.accTitle&&t.setAccTitle?.(e.accTitle),e.title&&t.setDiagramTitle?.(e.title)}a.d(t,{S:()=>i}),(0,a(9502).K2)(i,"populateCommonDb")},1825:(e,t,a)=>{a.d(t,{diagram:()=>k});var i=a(3933),n=a(8159),l=a(7286),r=a(9502),s=a(8731),o=a(4852),c=r.UI.pie,p={sections:new Map,showData:!1,config:c},d=p.sections,g=p.showData,u=structuredClone(c),h=(0,r.K2)((()=>structuredClone(u)),"getConfig"),m=(0,r.K2)((()=>{d=new Map,g=p.showData,(0,r.IU)()}),"clear"),f=(0,r.K2)((({label:e,value:t})=>{d.has(e)||(d.set(e,t),r.Rm.debug(`added new section: ${e}, with value: ${t}`))}),"addSection"),S=(0,r.K2)((()=>d),"getSections"),x=(0,r.K2)((e=>{g=e}),"setShowData"),w=(0,r.K2)((()=>g),"getShowData"),D={getConfig:h,clear:m,setDiagramTitle:r.ke,getDiagramTitle:r.ab,setAccTitle:r.SV,getAccTitle:r.iN,setAccDescription:r.EI,getAccDescription:r.m7,addSection:f,getSections:S,setShowData:x,getShowData:w},T=(0,r.K2)(((e,t)=>{(0,i.S)(e,t),t.setShowData(e.showData),e.sections.map(t.addSection)}),"populateDb"),$={parse:(0,r.K2)((async e=>{const t=await(0,s.qg)("pie",e);r.Rm.debug(t),T(t,D)}),"parse")},y=(0,r.K2)((e=>`\n .pieCircle{\n stroke: ${e.pieStrokeColor};\n stroke-width : ${e.pieStrokeWidth};\n opacity : ${e.pieOpacity};\n }\n .pieOuterCircle{\n stroke: ${e.pieOuterStrokeColor};\n stroke-width: ${e.pieOuterStrokeWidth};\n fill: none;\n }\n .pieTitleText {\n text-anchor: middle;\n font-size: ${e.pieTitleTextSize};\n fill: ${e.pieTitleTextColor};\n font-family: ${e.fontFamily};\n }\n .slice {\n font-family: ${e.fontFamily};\n fill: ${e.pieSectionTextColor};\n font-size:${e.pieSectionTextSize};\n // fill: white;\n }\n .legend text {\n fill: ${e.pieLegendTextColor};\n font-family: ${e.fontFamily};\n font-size: ${e.pieLegendTextSize};\n }\n`),"getStyles"),C=(0,r.K2)((e=>{const t=[...e.entries()].map((e=>({label:e[0],value:e[1]}))).sort(((e,t)=>t.value-e.value));return(0,o.rLf)().value((e=>e.value))(t)}),"createPieArcs"),k={parser:$,db:D,renderer:{draw:(0,r.K2)(((e,t,a,i)=>{r.Rm.debug("rendering pie chart\n"+e);const s=i.db,c=(0,r.D7)(),p=(0,n.$t)(s.getConfig(),c.pie),d=(0,l.D)(t),g=d.append("g");g.attr("transform","translate(225,225)");const{themeVariables:u}=c;let[h]=(0,n.I5)(u.pieOuterStrokeWidth);h??=2;const m=p.textPosition,f=Math.min(450,450)/2-40,S=(0,o.JLW)().innerRadius(0).outerRadius(f),x=(0,o.JLW)().innerRadius(f*m).outerRadius(f*m);g.append("circle").attr("cx",0).attr("cy",0).attr("r",f+h/2).attr("class","pieOuterCircle");const w=s.getSections(),D=C(w),T=[u.pie1,u.pie2,u.pie3,u.pie4,u.pie5,u.pie6,u.pie7,u.pie8,u.pie9,u.pie10,u.pie11,u.pie12],$=(0,o.UMr)(T);g.selectAll("mySlices").data(D).enter().append("path").attr("d",S).attr("fill",(e=>$(e.data.label))).attr("class","pieCircle");let y=0;w.forEach((e=>{y+=e})),g.selectAll("mySlices").data(D).enter().append("text").text((e=>(e.data.value/y*100).toFixed(0)+"%")).attr("transform",(e=>"translate("+x.centroid(e)+")")).style("text-anchor","middle").attr("class","slice"),g.append("text").text(s.getDiagramTitle()).attr("x",0).attr("y",-200).attr("class","pieTitleText");const k=g.selectAll(".legend").data($.domain()).enter().append("g").attr("class","legend").attr("transform",((e,t)=>"translate(216,"+(22*t-22*$.domain().length/2)+")"));k.append("rect").attr("width",18).attr("height",18).style("fill",$).style("stroke",$),k.data(D).append("text").attr("x",22).attr("y",14).text((e=>{const{label:t,value:a}=e.data;return s.getShowData()?`${t} [${a}]`:t}));const b=512+Math.max(...k.selectAll("text").nodes().map((e=>e?.getBoundingClientRect().width??0)));d.attr("viewBox",`0 0 ${b} 450`),(0,r.a$)(d,450,b,p.useMaxWidth)}),"draw")},styles:y}}}]); \ No newline at end of file diff --git a/docs/hugo/public/js/890-c9907c95.chunk.min.js b/docs/hugo/public/js/890-c9907c95.chunk.min.js new file mode 100644 index 000000000..3437988ee --- /dev/null +++ b/docs/hugo/public/js/890-c9907c95.chunk.min.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgeekdoc=self.webpackChunkgeekdoc||[]).push([[890],{890:(e,c,k)=>{k.d(c,{createInfoServices:()=>s.v});var s=k(7021);k(9369)}}]); \ No newline at end of file diff --git a/docs/hugo/public/js/978-b543144f.chunk.min.js b/docs/hugo/public/js/978-b543144f.chunk.min.js new file mode 100644 index 000000000..384a7b3de --- /dev/null +++ b/docs/hugo/public/js/978-b543144f.chunk.min.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgeekdoc=self.webpackChunkgeekdoc||[]).push([[978],{8160:(t,r,e)=>{e.d(r,{m:()=>o});var n=e(9502),o=class{constructor(t){this.init=t,this.records=this.init()}static{(0,n.K2)(this,"ImperativeState")}reset(){this.records=this.init()}}},3933:(t,r,e)=>{function n(t,r){t.accDescr&&r.setAccDescription?.(t.accDescr),t.accTitle&&r.setAccTitle?.(t.accTitle),t.title&&r.setDiagramTitle?.(t.title)}e.d(r,{S:()=>n}),(0,e(9502).K2)(n,"populateCommonDb")},5978:(t,r,e)=>{e.d(r,{diagram:()=>ft});var n=e(3933),o=e(8160),a=e(8159),c=e(9502),s=e(8731),i=e(4852),h={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},d=c.UI.gitGraph,m=(0,c.K2)((()=>(0,a.$t)({...d,...(0,c.zj)().gitGraph})),"getConfig"),$=new o.m((()=>{const t=m(),r=t.mainBranchName,e=t.mainBranchOrder;return{mainBranchName:r,commits:new Map,head:null,branchConfig:new Map([[r,{name:r,order:e}]]),branches:new Map([[r,null]]),currBranch:r,direction:"LR",seq:0,options:{}}}));function l(){return(0,a.yT)({length:7})}function g(t,r){const e=Object.create(null);return t.reduce(((t,n)=>{const o=r(n);return e[o]||(e[o]=!0,t.push(n)),t}),[])}(0,c.K2)(l,"getID"),(0,c.K2)(g,"uniqBy");var y=(0,c.K2)((function(t){$.records.direction=t}),"setDirection"),p=(0,c.K2)((function(t){c.Rm.debug("options str",t),t=t?.trim(),t=t||"{}";try{$.records.options=JSON.parse(t)}catch(t){c.Rm.error("error while parsing gitGraph options",t.message)}}),"setOptions"),x=(0,c.K2)((function(){return $.records.options}),"getOptions"),f=(0,c.K2)((function(t){let r=t.msg,e=t.id;const n=t.type;let o=t.tags;c.Rm.info("commit",r,e,n,o),c.Rm.debug("Entering commit:",r,e,n,o);const a=m();e=c.Y2.sanitizeText(e,a),r=c.Y2.sanitizeText(r,a),o=o?.map((t=>c.Y2.sanitizeText(t,a)));const s={id:e||$.records.seq+"-"+l(),message:r,seq:$.records.seq++,type:n??h.NORMAL,tags:o??[],parents:null==$.records.head?[]:[$.records.head.id],branch:$.records.currBranch};$.records.head=s,c.Rm.info("main branch",a.mainBranchName),$.records.commits.set(s.id,s),$.records.branches.set($.records.currBranch,s.id),c.Rm.debug("in pushCommit "+s.id)}),"commit"),u=(0,c.K2)((function(t){let r=t.name;const e=t.order;if(r=c.Y2.sanitizeText(r,m()),$.records.branches.has(r))throw new Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${r}")`);$.records.branches.set(r,null!=$.records.head?$.records.head.id:null),$.records.branchConfig.set(r,{name:r,order:e}),B(r),c.Rm.debug("in createBranch")}),"branch"),b=(0,c.K2)((t=>{let r=t.branch,e=t.id;const n=t.type,o=t.tags,a=m();r=c.Y2.sanitizeText(r,a),e&&(e=c.Y2.sanitizeText(e,a));const s=$.records.branches.get($.records.currBranch),i=$.records.branches.get(r),d=s?$.records.commits.get(s):void 0,g=i?$.records.commits.get(i):void 0;if(d&&g&&d.branch===r)throw new Error(`Cannot merge branch '${r}' into itself.`);if($.records.currBranch===r){const t=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw t.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["branch abc"]},t}if(void 0===d||!d){const t=new Error(`Incorrect usage of "merge". Current branch (${$.records.currBranch})has no commits`);throw t.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["commit"]},t}if(!$.records.branches.has(r)){const t=new Error('Incorrect usage of "merge". Branch to be merged ('+r+") does not exist");throw t.hash={text:`merge ${r}`,token:`merge ${r}`,expected:[`branch ${r}`]},t}if(void 0===g||!g){const t=new Error('Incorrect usage of "merge". Branch to be merged ('+r+") has no commits");throw t.hash={text:`merge ${r}`,token:`merge ${r}`,expected:['"commit"']},t}if(d===g){const t=new Error('Incorrect usage of "merge". Both branches have same head');throw t.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["branch abc"]},t}if(e&&$.records.commits.has(e)){const t=new Error('Incorrect usage of "merge". Commit with id:'+e+" already exists, use different custom Id");throw t.hash={text:`merge ${r} ${e} ${n} ${o?.join(" ")}`,token:`merge ${r} ${e} ${n} ${o?.join(" ")}`,expected:[`merge ${r} ${e}_UNIQUE ${n} ${o?.join(" ")}`]},t}const y=i||"",p={id:e||`${$.records.seq}-${l()}`,message:`merged branch ${r} into ${$.records.currBranch}`,seq:$.records.seq++,parents:null==$.records.head?[]:[$.records.head.id,y],branch:$.records.currBranch,type:h.MERGE,customType:n,customId:!!e,tags:o??[]};$.records.head=p,$.records.commits.set(p.id,p),$.records.branches.set($.records.currBranch,p.id),c.Rm.debug($.records.branches),c.Rm.debug("in mergeBranch")}),"merge"),w=(0,c.K2)((function(t){let r=t.id,e=t.targetId,n=t.tags,o=t.parent;c.Rm.debug("Entering cherryPick:",r,e,n);const a=m();if(r=c.Y2.sanitizeText(r,a),e=c.Y2.sanitizeText(e,a),n=n?.map((t=>c.Y2.sanitizeText(t,a))),o=c.Y2.sanitizeText(o,a),!r||!$.records.commits.has(r)){const t=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw t.hash={text:`cherryPick ${r} ${e}`,token:`cherryPick ${r} ${e}`,expected:["cherry-pick abc"]},t}const s=$.records.commits.get(r);if(void 0===s||!s)throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(o&&(!Array.isArray(s.parents)||!s.parents.includes(o)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");const i=s.branch;if(s.type===h.MERGE&&!o)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!e||!$.records.commits.has(e)){if(i===$.records.currBranch){const t=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw t.hash={text:`cherryPick ${r} ${e}`,token:`cherryPick ${r} ${e}`,expected:["cherry-pick abc"]},t}const t=$.records.branches.get($.records.currBranch);if(void 0===t||!t){const t=new Error(`Incorrect usage of "cherry-pick". Current branch (${$.records.currBranch})has no commits`);throw t.hash={text:`cherryPick ${r} ${e}`,token:`cherryPick ${r} ${e}`,expected:["cherry-pick abc"]},t}const a=$.records.commits.get(t);if(void 0===a||!a){const t=new Error(`Incorrect usage of "cherry-pick". Current branch (${$.records.currBranch})has no commits`);throw t.hash={text:`cherryPick ${r} ${e}`,token:`cherryPick ${r} ${e}`,expected:["cherry-pick abc"]},t}const d={id:$.records.seq+"-"+l(),message:`cherry-picked ${s?.message} into ${$.records.currBranch}`,seq:$.records.seq++,parents:null==$.records.head?[]:[$.records.head.id,s.id],branch:$.records.currBranch,type:h.CHERRY_PICK,tags:n?n.filter(Boolean):[`cherry-pick:${s.id}${s.type===h.MERGE?`|parent:${o}`:""}`]};$.records.head=d,$.records.commits.set(d.id,d),$.records.branches.set($.records.currBranch,d.id),c.Rm.debug($.records.branches),c.Rm.debug("in cherryPick")}}),"cherryPick"),B=(0,c.K2)((function(t){if(t=c.Y2.sanitizeText(t,m()),!$.records.branches.has(t)){const r=new Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${t}")`);throw r.hash={text:`checkout ${t}`,token:`checkout ${t}`,expected:[`branch ${t}`]},r}{$.records.currBranch=t;const r=$.records.branches.get($.records.currBranch);$.records.head=void 0!==r&&r?$.records.commits.get(r)??null:null}}),"checkout");function E(t,r,e){const n=t.indexOf(r);-1===n?t.push(e):t.splice(n,1,e)}function k(t){const r=t.reduce(((t,r)=>t.seq>r.seq?t:r),t[0]);let e="";t.forEach((function(t){e+=t===r?"\t*":"\t|"}));const n=[e,r.id,r.seq];for(const t in $.records.branches)$.records.branches.get(t)===r.id&&n.push(t);if(c.Rm.debug(n.join(" ")),r.parents&&2==r.parents.length&&r.parents[0]&&r.parents[1]){const e=$.records.commits.get(r.parents[0]);E(t,r,e),r.parents[1]&&t.push($.records.commits.get(r.parents[1]))}else{if(0==r.parents.length)return;if(r.parents[0]){const e=$.records.commits.get(r.parents[0]);E(t,r,e)}}k(t=g(t,(t=>t.id)))}(0,c.K2)(E,"upsert"),(0,c.K2)(k,"prettyPrintCommitHistory");var C=(0,c.K2)((function(){c.Rm.debug($.records.commits),k([R()[0]])}),"prettyPrint"),T=(0,c.K2)((function(){$.reset(),(0,c.IU)()}),"clear"),L=(0,c.K2)((function(){return[...$.records.branchConfig.values()].map(((t,r)=>null!==t.order&&void 0!==t.order?t:{...t,order:parseFloat(`0.${r}`)})).sort(((t,r)=>(t.order??0)-(r.order??0))).map((({name:t})=>({name:t})))}),"getBranchesAsObjArray"),K=(0,c.K2)((function(){return $.records.branches}),"getBranches"),M=(0,c.K2)((function(){return $.records.commits}),"getCommits"),R=(0,c.K2)((function(){const t=[...$.records.commits.values()];return t.forEach((function(t){c.Rm.debug(t.id)})),t.sort(((t,r)=>t.seq-r.seq)),t}),"getCommitsArray"),v={commitType:h,getConfig:m,setDirection:y,setOptions:p,getOptions:x,commit:f,branch:u,merge:b,cherryPick:w,checkout:B,prettyPrint:C,clear:T,getBranchesAsObjArray:L,getBranches:K,getCommits:M,getCommitsArray:R,getCurrentBranch:(0,c.K2)((function(){return $.records.currBranch}),"getCurrentBranch"),getDirection:(0,c.K2)((function(){return $.records.direction}),"getDirection"),getHead:(0,c.K2)((function(){return $.records.head}),"getHead"),setAccTitle:c.SV,getAccTitle:c.iN,getAccDescription:c.m7,setAccDescription:c.EI,setDiagramTitle:c.ke,getDiagramTitle:c.ab},P=(0,c.K2)(((t,r)=>{(0,n.S)(t,r),t.dir&&r.setDirection(t.dir);for(const e of t.statements)I(e,r)}),"populate"),I=(0,c.K2)(((t,r)=>{const e={Commit:(0,c.K2)((t=>r.commit(A(t))),"Commit"),Branch:(0,c.K2)((t=>r.branch(G(t))),"Branch"),Merge:(0,c.K2)((t=>r.merge(O(t))),"Merge"),Checkout:(0,c.K2)((t=>r.checkout(q(t))),"Checkout"),CherryPicking:(0,c.K2)((t=>r.cherryPick(z(t))),"CherryPicking")}[t.$type];e?e(t):c.Rm.error(`Unknown statement type: ${t.$type}`)}),"parseStatement"),A=(0,c.K2)((t=>({id:t.id,msg:t.message??"",type:void 0!==t.type?h[t.type]:h.NORMAL,tags:t.tags??void 0})),"parseCommit"),G=(0,c.K2)((t=>({name:t.name,order:t.order??0})),"parseBranch"),O=(0,c.K2)((t=>({branch:t.branch,id:t.id??"",type:void 0!==t.type?h[t.type]:void 0,tags:t.tags??void 0})),"parseMerge"),q=(0,c.K2)((t=>t.branch),"parseCheckout"),z=(0,c.K2)((t=>({id:t.id,targetId:"",tags:0===t.tags?.length?void 0:t.tags,parent:t.parent})),"parseCherryPicking"),H={parse:(0,c.K2)((async t=>{const r=await(0,s.qg)("gitGraph",t);c.Rm.debug(r),P(r,v)}),"parse")},S=(0,c.D7)(),D=S?.gitGraph,Y=10,N=40,j=new Map,W=new Map,_=new Map,F=[],U=0,V="LR",J=(0,c.K2)((()=>{j.clear(),W.clear(),_.clear(),U=0,F=[],V="LR"}),"clear"),Q=(0,c.K2)((t=>{const r=document.createElementNS("http://www.w3.org/2000/svg","text");return("string"==typeof t?t.split(/\\n|\n|/gi):t).forEach((t=>{const e=document.createElementNS("http://www.w3.org/2000/svg","tspan");e.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),e.setAttribute("dy","1em"),e.setAttribute("x","0"),e.setAttribute("class","row"),e.textContent=t.trim(),r.appendChild(e)})),r}),"drawText"),X=(0,c.K2)((t=>{let r,e,n;return"BT"===V?(e=(0,c.K2)(((t,r)=>t<=r),"comparisonFunc"),n=1/0):(e=(0,c.K2)(((t,r)=>t>=r),"comparisonFunc"),n=0),t.forEach((t=>{const o="TB"===V||"BT"==V?W.get(t)?.y:W.get(t)?.x;void 0!==o&&e(o,n)&&(r=t,n=o)})),r}),"findClosestParent"),Z=(0,c.K2)((t=>{let r="",e=1/0;return t.forEach((t=>{const n=W.get(t).y;n<=e&&(r=t,e=n)})),r||void 0}),"findClosestParentBT"),tt=(0,c.K2)(((t,r,e)=>{let n=e,o=e;const a=[];t.forEach((t=>{const e=r.get(t);if(!e)throw new Error(`Commit not found for key ${t}`);e.parents.length?(n=et(e),o=Math.max(n,o)):a.push(e),nt(e,n)})),n=o,a.forEach((t=>{ot(t,n,e)})),t.forEach((t=>{const e=r.get(t);if(e?.parents.length){const t=Z(e.parents);n=W.get(t).y-N,n<=o&&(o=n);const r=j.get(e.branch).pos,a=n-Y;W.set(e.id,{x:r,y:a})}}))}),"setParallelBTPos"),rt=(0,c.K2)((t=>{const r=X(t.parents.filter((t=>null!==t)));if(!r)throw new Error(`Closest parent not found for commit ${t.id}`);const e=W.get(r)?.y;if(void 0===e)throw new Error(`Closest parent position not found for commit ${t.id}`);return e}),"findClosestParentPos"),et=(0,c.K2)((t=>rt(t)+N),"calculateCommitPosition"),nt=(0,c.K2)(((t,r)=>{const e=j.get(t.branch);if(!e)throw new Error(`Branch not found for commit ${t.id}`);const n=e.pos,o=r+Y;return W.set(t.id,{x:n,y:o}),{x:n,y:o}}),"setCommitPosition"),ot=(0,c.K2)(((t,r,e)=>{const n=j.get(t.branch);if(!n)throw new Error(`Branch not found for commit ${t.id}`);const o=r+e,a=n.pos;W.set(t.id,{x:a,y:o})}),"setRootPosition"),at=(0,c.K2)(((t,r,e,n,o,a)=>{if(a===h.HIGHLIGHT)t.append("rect").attr("x",e.x-10).attr("y",e.y-10).attr("width",20).attr("height",20).attr("class",`commit ${r.id} commit-highlight${o%8} ${n}-outer`),t.append("rect").attr("x",e.x-6).attr("y",e.y-6).attr("width",12).attr("height",12).attr("class",`commit ${r.id} commit${o%8} ${n}-inner`);else if(a===h.CHERRY_PICK)t.append("circle").attr("cx",e.x).attr("cy",e.y).attr("r",10).attr("class",`commit ${r.id} ${n}`),t.append("circle").attr("cx",e.x-3).attr("cy",e.y+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${r.id} ${n}`),t.append("circle").attr("cx",e.x+3).attr("cy",e.y+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${r.id} ${n}`),t.append("line").attr("x1",e.x+3).attr("y1",e.y+1).attr("x2",e.x).attr("y2",e.y-5).attr("stroke","#fff").attr("class",`commit ${r.id} ${n}`),t.append("line").attr("x1",e.x-3).attr("y1",e.y+1).attr("x2",e.x).attr("y2",e.y-5).attr("stroke","#fff").attr("class",`commit ${r.id} ${n}`);else{const c=t.append("circle");if(c.attr("cx",e.x),c.attr("cy",e.y),c.attr("r",r.type===h.MERGE?9:10),c.attr("class",`commit ${r.id} commit${o%8}`),a===h.MERGE){const a=t.append("circle");a.attr("cx",e.x),a.attr("cy",e.y),a.attr("r",6),a.attr("class",`commit ${n} ${r.id} commit${o%8}`)}a===h.REVERSE&&t.append("path").attr("d",`M ${e.x-5},${e.y-5}L${e.x+5},${e.y+5}M${e.x-5},${e.y+5}L${e.x+5},${e.y-5}`).attr("class",`commit ${n} ${r.id} commit${o%8}`)}}),"drawCommitBullet"),ct=(0,c.K2)(((t,r,e,n)=>{if(r.type!==h.CHERRY_PICK&&(r.customId&&r.type===h.MERGE||r.type!==h.MERGE)&&D?.showCommitLabel){const o=t.append("g"),a=o.insert("rect").attr("class","commit-label-bkg"),c=o.append("text").attr("x",n).attr("y",e.y+25).attr("class","commit-label").text(r.id),s=c.node()?.getBBox();if(s&&(a.attr("x",e.posWithOffset-s.width/2-2).attr("y",e.y+13.5).attr("width",s.width+4).attr("height",s.height+4),"TB"===V||"BT"===V?(a.attr("x",e.x-(s.width+16+5)).attr("y",e.y-12),c.attr("x",e.x-(s.width+16)).attr("y",e.y+s.height-12)):c.attr("x",e.posWithOffset-s.width/2),D.rotateCommitLabel))if("TB"===V||"BT"===V)c.attr("transform","rotate(-45, "+e.x+", "+e.y+")"),a.attr("transform","rotate(-45, "+e.x+", "+e.y+")");else{const t=-7.5-(s.width+10)/25*9.5,r=10+s.width/25*8.5;o.attr("transform","translate("+t+", "+r+") rotate(-45, "+n+", "+e.y+")")}}}),"drawCommitLabel"),st=(0,c.K2)(((t,r,e,n)=>{if(r.tags.length>0){let o=0,a=0,c=0;const s=[];for(const n of r.tags.reverse()){const r=t.insert("polygon"),i=t.append("circle"),h=t.append("text").attr("y",e.y-16-o).attr("class","tag-label").text(n),d=h.node()?.getBBox();if(!d)throw new Error("Tag bbox not found");a=Math.max(a,d.width),c=Math.max(c,d.height),h.attr("x",e.posWithOffset-d.width/2),s.push({tag:h,hole:i,rect:r,yOffset:o}),o+=20}for(const{tag:t,hole:r,rect:o,yOffset:i}of s){const s=c/2,h=e.y-19.2-i;if(o.attr("class","tag-label-bkg").attr("points",`\n ${n-a/2-2},${h+2} \n ${n-a/2-2},${h-2}\n ${e.posWithOffset-a/2-4},${h-s-2}\n ${e.posWithOffset+a/2+4},${h-s-2}\n ${e.posWithOffset+a/2+4},${h+s+2}\n ${e.posWithOffset-a/2-4},${h+s+2}`),r.attr("cy",h).attr("cx",n-a/2+2).attr("r",1.5).attr("class","tag-hole"),"TB"===V||"BT"===V){const c=n+i;o.attr("class","tag-label-bkg").attr("points",`\n ${e.x},${c+2}\n ${e.x},${c-2}\n ${e.x+Y},${c-s-2}\n ${e.x+Y+a+4},${c-s-2}\n ${e.x+Y+a+4},${c+s+2}\n ${e.x+Y},${c+s+2}`).attr("transform","translate(12,12) rotate(45, "+e.x+","+n+")"),r.attr("cx",e.x+2).attr("cy",c).attr("transform","translate(12,12) rotate(45, "+e.x+","+n+")"),t.attr("x",e.x+5).attr("y",c+3).attr("transform","translate(14,14) rotate(45, "+e.x+","+n+")")}}}}),"drawCommitTags"),it=(0,c.K2)((t=>{switch(t.customType??t.type){case h.NORMAL:return"commit-normal";case h.REVERSE:return"commit-reverse";case h.HIGHLIGHT:return"commit-highlight";case h.MERGE:return"commit-merge";case h.CHERRY_PICK:return"commit-cherry-pick";default:return"commit-normal"}}),"getCommitClassType"),ht=(0,c.K2)(((t,r,e,n)=>{const o={x:0,y:0};if(!(t.parents.length>0))return"TB"===r?30:"BT"===r?(n.get(t.id)??o).y-N:0;{const e=X(t.parents);if(e){const a=n.get(e)??o;return"TB"===r?a.y+N:"BT"===r?(n.get(t.id)??o).y-N:a.x+N}}return 0}),"calculatePosition"),dt=(0,c.K2)(((t,r,e)=>{const n="BT"===V&&e?r:r+Y,o="TB"===V||"BT"===V?n:j.get(t.branch)?.pos,a="TB"===V||"BT"===V?j.get(t.branch)?.pos:n;if(void 0===a||void 0===o)throw new Error(`Position were undefined for commit ${t.id}`);return{x:a,y:o,posWithOffset:n}}),"getCommitPosition"),mt=(0,c.K2)(((t,r,e)=>{if(!D)throw new Error("GitGraph config not found");const n=t.append("g").attr("class","commit-bullets"),o=t.append("g").attr("class","commit-labels");let a="TB"===V||"BT"===V?30:0;const s=[...r.keys()],i=D?.parallelCommits??!1,h=(0,c.K2)(((t,e)=>{const n=r.get(t)?.seq,o=r.get(e)?.seq;return void 0!==n&&void 0!==o?n-o:0}),"sortKeys");let d=s.sort(h);"BT"===V&&(i&&tt(d,r,a),d=d.reverse()),d.forEach((t=>{const c=r.get(t);if(!c)throw new Error(`Commit not found for key ${t}`);i&&(a=ht(c,V,a,W));const s=dt(c,a,i);if(e){const t=it(c),r=c.customType??c.type,e=j.get(c.branch)?.index??0;at(n,c,s,t,e,r),ct(o,c,s,a),st(o,c,s,a)}"TB"===V||"BT"===V?W.set(c.id,{x:s.x,y:s.posWithOffset}):W.set(c.id,{x:s.posWithOffset,y:s.y}),a="BT"===V&&i?a+N:a+N+Y,a>U&&(U=a)}))}),"drawCommits"),$t=(0,c.K2)(((t,r,e,n,o)=>{const a=("TB"===V||"BT"===V?e.xt.branch===a),"isOnBranchToGetCurve"),i=(0,c.K2)((e=>e.seq>t.seq&&e.seqi(t)&&s(t)))}),"shouldRerouteArrow"),lt=(0,c.K2)(((t,r,e=0)=>{const n=t+Math.abs(t-r)/2;if(e>5)return n;if(F.every((t=>Math.abs(t-n)>=10)))return F.push(n),n;const o=Math.abs(t-r);return lt(t,r-o/5,e+1)}),"findLane"),gt=(0,c.K2)(((t,r,e,n)=>{const o=W.get(r.id),a=W.get(e.id);if(void 0===o||void 0===a)throw new Error(`Commit positions not found for commits ${r.id} and ${e.id}`);const c=$t(r,e,o,a,n);let s,i="",d="",m=0,$=0,l=j.get(e.branch)?.index;if(e.type===h.MERGE&&r.id!==e.parents[0]&&(l=j.get(r.branch)?.index),c){i="A 10 10, 0, 0, 0,",d="A 10 10, 0, 0, 1,",m=10,$=10;const t=o.ya.x&&(i="A 20 20, 0, 0, 0,",d="A 20 20, 0, 0, 1,",m=20,$=20,s=e.type===h.MERGE&&r.id!==e.parents[0]?`M ${o.x} ${o.y} L ${o.x} ${a.y-m} ${d} ${o.x-$} ${a.y} L ${a.x} ${a.y}`:`M ${o.x} ${o.y} L ${a.x+m} ${o.y} ${i} ${a.x} ${o.y+$} L ${a.x} ${a.y}`),o.x===a.x&&(s=`M ${o.x} ${o.y} L ${a.x} ${a.y}`)):"BT"===V?(o.xa.x&&(i="A 20 20, 0, 0, 0,",d="A 20 20, 0, 0, 1,",m=20,$=20,s=e.type===h.MERGE&&r.id!==e.parents[0]?`M ${o.x} ${o.y} L ${o.x} ${a.y+m} ${i} ${o.x-$} ${a.y} L ${a.x} ${a.y}`:`M ${o.x} ${o.y} L ${a.x-m} ${o.y} ${i} ${a.x} ${o.y-$} L ${a.x} ${a.y}`),o.x===a.x&&(s=`M ${o.x} ${o.y} L ${a.x} ${a.y}`)):(o.ya.y&&(s=e.type===h.MERGE&&r.id!==e.parents[0]?`M ${o.x} ${o.y} L ${a.x-m} ${o.y} ${i} ${a.x} ${o.y-$} L ${a.x} ${a.y}`:`M ${o.x} ${o.y} L ${o.x} ${a.y+m} ${d} ${o.x+$} ${a.y} L ${a.x} ${a.y}`),o.y===a.y&&(s=`M ${o.x} ${o.y} L ${a.x} ${a.y}`));if(void 0===s)throw new Error("Line definition not found");t.append("path").attr("d",s).attr("class","arrow arrow"+l%8)}),"drawArrow"),yt=(0,c.K2)(((t,r)=>{const e=t.append("g").attr("class","commit-arrows");[...r.keys()].forEach((t=>{const n=r.get(t);n.parents&&n.parents.length>0&&n.parents.forEach((t=>{gt(e,r.get(t),n,r)}))}))}),"drawArrows"),pt=(0,c.K2)(((t,r)=>{const e=t.append("g");r.forEach(((t,r)=>{const n=r%8,o=j.get(t.name)?.pos;if(void 0===o)throw new Error(`Position not found for branch ${t.name}`);const a=e.append("line");a.attr("x1",0),a.attr("y1",o),a.attr("x2",U),a.attr("y2",o),a.attr("class","branch branch"+n),"TB"===V?(a.attr("y1",30),a.attr("x1",o),a.attr("y2",U),a.attr("x2",o)):"BT"===V&&(a.attr("y1",U),a.attr("x1",o),a.attr("y2",30),a.attr("x2",o)),F.push(o);const c=t.name,s=Q(c),i=e.insert("rect"),h=e.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+n);h.node().appendChild(s);const d=s.getBBox();i.attr("class","branchLabelBkg label"+n).attr("rx",4).attr("ry",4).attr("x",-d.width-4-(!0===D?.rotateCommitLabel?30:0)).attr("y",-d.height/2+8).attr("width",d.width+18).attr("height",d.height+4),h.attr("transform","translate("+(-d.width-14-(!0===D?.rotateCommitLabel?30:0))+", "+(o-d.height/2-1)+")"),"TB"===V?(i.attr("x",o-d.width/2-10).attr("y",0),h.attr("transform","translate("+(o-d.width/2-5)+", 0)")):"BT"===V?(i.attr("x",o-d.width/2-10).attr("y",U),h.attr("transform","translate("+(o-d.width/2-5)+", "+U+")")):i.attr("transform","translate(-19, "+(o-d.height/2)+")")}))}),"drawBranches"),xt=(0,c.K2)((function(t,r,e,n,o){return j.set(t,{pos:r,index:e}),r+(50+(o?40:0)+("TB"===V||"BT"===V?n.width/2:0))}),"setBranchPosition"),ft={parser:H,db:v,renderer:{draw:(0,c.K2)((function(t,r,e,n){if(J(),c.Rm.debug("in gitgraph renderer",t+"\n","id:",r,e),!D)throw new Error("GitGraph config not found");const o=D.rotateCommitLabel??!1,s=n.db;_=s.getCommits();const h=s.getBranchesAsObjArray();V=s.getDirection();const d=(0,i.Ltv)(`[id="${r}"]`);let m=0;h.forEach(((t,r)=>{const e=Q(t.name),n=d.append("g"),a=n.insert("g").attr("class","branchLabel"),c=a.insert("g").attr("class","label branch-label");c.node()?.appendChild(e);const s=e.getBBox();m=xt(t.name,m,r,s,o),c.remove(),a.remove(),n.remove()})),mt(d,_,!1),D.showBranches&&pt(d,h),yt(d,_),mt(d,_,!0),a._K.insertTitle(d,"gitTitleText",D.titleTopMargin??0,s.getDiagramTitle()),(0,c.mj)(void 0,d,D.diagramPadding,D.useMaxWidth)}),"draw")},styles:(0,c.K2)((t=>`\n .commit-id,\n .commit-msg,\n .branch-label {\n fill: lightgrey;\n color: lightgrey;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n }\n ${[0,1,2,3,4,5,6,7].map((r=>`\n .branch-label${r} { fill: ${t["gitBranchLabel"+r]}; }\n .commit${r} { stroke: ${t["git"+r]}; fill: ${t["git"+r]}; }\n .commit-highlight${r} { stroke: ${t["gitInv"+r]}; fill: ${t["gitInv"+r]}; }\n .label${r} { fill: ${t["git"+r]}; }\n .arrow${r} { stroke: ${t["git"+r]}; }\n `)).join("\n")}\n\n .branch {\n stroke-width: 1;\n stroke: ${t.lineColor};\n stroke-dasharray: 2;\n }\n .commit-label { font-size: ${t.commitLabelFontSize}; fill: ${t.commitLabelColor};}\n .commit-label-bkg { font-size: ${t.commitLabelFontSize}; fill: ${t.commitLabelBackground}; opacity: 0.5; }\n .tag-label { font-size: ${t.tagLabelFontSize}; fill: ${t.tagLabelColor};}\n .tag-label-bkg { fill: ${t.tagLabelBackground}; stroke: ${t.tagLabelBorder}; }\n .tag-hole { fill: ${t.textColor}; }\n\n .commit-merge {\n stroke: ${t.primaryColor};\n fill: ${t.primaryColor};\n }\n .commit-reverse {\n stroke: ${t.primaryColor};\n fill: ${t.primaryColor};\n stroke-width: 3;\n }\n .commit-highlight-outer {\n }\n .commit-highlight-inner {\n stroke: ${t.primaryColor};\n fill: ${t.primaryColor};\n }\n\n .arrow { stroke-width: 8; stroke-linecap: round; fill: none}\n .gitTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${t.textColor};\n }\n`),"getStyles")}}}]); \ No newline at end of file diff --git a/docs/hugo/public/js/colortheme-01ea3db1.bundle.min.js b/docs/hugo/public/js/colortheme-01ea3db1.bundle.min.js new file mode 100644 index 000000000..ba2c14b00 --- /dev/null +++ b/docs/hugo/public/js/colortheme-01ea3db1.bundle.min.js @@ -0,0 +1 @@ +(()=>{var t={7148:function(t){var e,r,n,i;e=this,r=this&&this.define,n={version:"2.14.4",areas:{},apis:{},nsdelim:".",inherit:function(t,e){for(var r in t)e.hasOwnProperty(r)||Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r));return e},stringify:function(t,e){return void 0===t||"function"==typeof t?t+"":JSON.stringify(t,e||n.replace)},parse:function(t,e){try{return JSON.parse(t,e||n.revive)}catch(e){return t}},fn:function(t,e){for(var r in n.storeAPI[t]=e,n.apis)n.apis[r][t]=e},get:function(t,e){return t.getItem(e)},set:function(t,e,r){t.setItem(e,r)},remove:function(t,e){t.removeItem(e)},key:function(t,e){return t.key(e)},length:function(t){return t.length},clear:function(t){t.clear()},Store:function(t,e,r){var i=n.inherit(n.storeAPI,(function(t,e,r){return 0===arguments.length?i.getAll():"function"==typeof e?i.transact(t,e,r):void 0!==e?i.set(t,e,r):"string"==typeof t||"number"==typeof t?i.get(t):"function"==typeof t?i.each(t):t?i.setAll(t,e):i.clear()}));i._id=t;try{var s="__store2_test";e.setItem(s,"ok"),i._area=e,e.removeItem(s)}catch(t){i._area=n.storage("fake")}return i._ns=r||"",n.areas[t]||(n.areas[t]=i._area),n.apis[i._ns+i._id]||(n.apis[i._ns+i._id]=i),i},storeAPI:{area:function(t,e){var r=this[t];return r&&r.area||(r=n.Store(t,e,this._ns),this[t]||(this[t]=r)),r},namespace:function(t,e,r){if(r=r||this._delim||n.nsdelim,!t)return this._ns?this._ns.substring(0,this._ns.length-r.length):"";var i=t,s=this[i];if(!(s&&s.namespace||((s=n.Store(this._id,this._area,this._ns+i+r))._delim=r,this[i]||(this[i]=s),e)))for(var a in n.areas)s.area(a,n.areas[a]);return s},isFake:function(t){return t?(this._real=this._area,this._area=n.storage("fake")):!1===t&&(this._area=this._real||this._area),"fake"===this._area.name},toString:function(){return"store"+(this._ns?"."+this.namespace():"")+"["+this._id+"]"},has:function(t){return this._area.has?this._area.has(this._in(t)):!!(this._in(t)in this._area)},size:function(){return this.keys().length},each:function(t,e){for(var r=0,i=n.length(this._area);rn.length(this._area)&&(i--,r--)}return e||this},keys:function(t){return this.each((function(t,e,r){r.push(t)}),t||[])},get:function(t,e){var r,i=n.get(this._area,this._in(t));return"function"==typeof e&&(r=e,e=null),null!==i?n.parse(i,r):null!=e?e:i},getAll:function(t){return this.each((function(t,e,r){r[t]=e}),t||{})},transact:function(t,e,r){var n=this.get(t,r),i=e(n);return this.set(t,void 0===i?n:i),this},set:function(t,e,r){var i,s=this.get(t);return null!=s&&!1===r?e:("function"==typeof r&&(i=r,r=void 0),n.set(this._area,this._in(t),n.stringify(e,i),r)||s)},setAll:function(t,e){var r,n;for(var i in t)n=t[i],this.set(i,n,e)!==n&&(r=!0);return r},add:function(t,e,r){var i=this.get(t);if(i instanceof Array)e=i.concat(e);else if(null!==i){var s=typeof i;if(s===typeof e&&"object"===s){for(var a in e)i[a]=e[a];e=i}else e=i+e}return n.set(this._area,this._in(t),n.stringify(e,r)),e},remove:function(t,e){var r=this.get(t,e);return n.remove(this._area,this._in(t)),r},clear:function(){return this._ns?this.each((function(t){n.remove(this._area,this._in(t))}),1):n.clear(this._area),this},clearAll:function(){var t=this._area;for(var e in n.areas)n.areas.hasOwnProperty(e)&&(this._area=n.areas[e],this.clear());return this._area=t,this},_in:function(t){return"string"!=typeof t&&(t=n.stringify(t)),this._ns?this._ns+t:t},_out:function(t){return this._ns?t&&0===t.indexOf(this._ns)?t.substring(this._ns.length):void 0:t}},storage:function(t){return n.inherit(n.storageAPI,{items:{},name:t})},storageAPI:{length:0,has:function(t){return this.items.hasOwnProperty(t)},key:function(t){var e=0;for(var r in this.items)if(this.has(r)&&t===e++)return r},setItem:function(t,e){this.has(t)||this.length++,this.items[t]=e},removeItem:function(t){this.has(t)&&(delete this.items[t],this.length--)},getItem:function(t){return this.has(t)?this.items[t]:null},clear:function(){for(var t in this.items)this.removeItem(t)}}},(i=n.Store("local",function(){try{return localStorage}catch(t){}}())).local=i,i._=n,i.area("session",function(){try{return sessionStorage}catch(t){}}()),i.area("page",n.storage("page")),"function"==typeof r&&void 0!==r.amd?r("store2",[],(function(){return i})):t.exports?t.exports=i:(e.store&&(n.conflict=e.store),e.store=i)}},e={};function r(n){var i=e[n];if(void 0!==i)return i.exports;var s=e[n]={exports:{}};return t[n].call(s.exports,s,s.exports,r),s.exports}(()=>{"use strict";var t=r(7148);const e="auto",n="hugo-geekdoc",i=[e,"dark","light"];function s(r=!0){if(t.isFake())return;let s=t.namespace(n),a=document.documentElement,o=i.includes(s.get("color-theme"))?s.get("color-theme"):e;a.setAttribute("class","color-toggle-"+o),o===e?a.removeAttribute("color-theme"):a.setAttribute("color-theme",o),r||location.reload()}s(),document.addEventListener("DOMContentLoaded",(()=>{document.getElementById("gdoc-color-theme").onclick=function(){let r=t.namespace(n),a=r.get("color-theme")||e,o=function(t=[],e){let r=t.indexOf(e),n=0;return r{"use strict";var e={};e.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),(()=>{var t;e.g.importScripts&&(t=e.g.location+"");var r=e.g.document;if(!t&&r&&(r.currentScript&&"SCRIPT"===r.currentScript.tagName.toUpperCase()&&(t=r.currentScript.src),!t)){var a=r.getElementsByTagName("script");if(a.length)for(var n=a.length-1;n>-1&&(!t||!/^http(s?):/.test(t));)t=a[n--].src}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),e.p=t+"../"})(),(()=>{e.p;class t{constructor(e,t,r){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=e,this.start=t,this.end=r}static range(e,r){return r?e&&e.loc&&r.loc&&e.loc.lexer===r.loc.lexer?new t(e.loc.lexer,e.loc.start,r.loc.end):null:e&&e.loc}}class r{constructor(e,t){this.text=void 0,this.loc=void 0,this.noexpand=void 0,this.treatAsRelax=void 0,this.text=e,this.loc=t}range(e,a){return new r(a,t.range(this,e))}}class a{constructor(e,t){this.name=void 0,this.position=void 0,this.length=void 0,this.rawMessage=void 0;var r,n,i="KaTeX parse error: "+e,o=t&&t.loc;if(o&&o.start<=o.end){var s=o.lexer.input;r=o.start,n=o.end,r===s.length?i+=" at end of input: ":i+=" at position "+(r+1)+": ";var l=s.slice(r,n).replace(/[^]/g,"$&̲");i+=(r>15?"…"+s.slice(r-15,r):s.slice(0,r))+l+(n+15":">","<":"<",'"':""","'":"'"},o=/[&><"']/g,s=function e(t){return"ordgroup"===t.type||"color"===t.type?1===t.body.length?e(t.body[0]):t:"font"===t.type?e(t.body):t},l=function(e,t){return-1!==e.indexOf(t)},h=function(e,t){return void 0===e?t:e},m=function(e){return String(e).replace(o,(e=>i[e]))},c=function(e){return e.replace(n,"-$1").toLowerCase()},p=s,u=function(e){var t=s(e);return"mathord"===t.type||"textord"===t.type||"atom"===t.type},d=function(e){var t=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(e);return t?":"!==t[2]?null:/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(t[1])?t[1].toLowerCase():null:"_relative"},g={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format "},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color ",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:e=>"#"+e},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(e,t)=>(t.push(e),t)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:e=>Math.max(0,e),cli:"--min-rule-thickness ",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:e=>Math.max(0,e),cli:"-s, --max-size ",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:e=>Math.max(0,e),cli:"-e, --max-expand ",cliProcessor:e=>"Infinity"===e?1/0:parseInt(e)},globalGroup:{type:"boolean",cli:!1}};function f(e){if(e.default)return e.default;var t=e.type,r=Array.isArray(t)?t[0]:t;if("string"!=typeof r)return r.enum[0];switch(r){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}class v{constructor(e){for(var t in this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e=e||{},g)if(g.hasOwnProperty(t)){var r=g[t];this[t]=void 0!==e[t]?r.processor?r.processor(e[t]):e[t]:f(r)}}reportNonstrict(e,t,r){var n=this.strict;if("function"==typeof n&&(n=n(e,t,r)),n&&"ignore"!==n){if(!0===n||"error"===n)throw new a("LaTeX-incompatible input and strict mode is set to 'error': "+t+" ["+e+"]",r);"warn"===n?"undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+t+" ["+e+"]"):"undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to unrecognized '"+n+"': "+t+" ["+e+"]")}}useStrictBehavior(e,t,r){var a=this.strict;if("function"==typeof a)try{a=a(e,t,r)}catch(e){a="error"}return!(!a||"ignore"===a||!0!==a&&"error"!==a&&("warn"===a?("undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+t+" ["+e+"]"),1):("undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to unrecognized '"+a+"': "+t+" ["+e+"]"),1)))}isTrusted(e){if(e.url&&!e.protocol){var t=d(e.url);if(null==t)return!1;e.protocol=t}var r="function"==typeof this.trust?this.trust(e):this.trust;return Boolean(r)}}class b{constructor(e,t,r){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=t,this.cramped=r}sup(){return y[x[this.id]]}sub(){return y[w[this.id]]}fracNum(){return y[k[this.id]]}fracDen(){return y[S[this.id]]}cramp(){return y[M[this.id]]}text(){return y[z[this.id]]}isTight(){return this.size>=2}}var y=[new b(0,0,!1),new b(1,0,!0),new b(2,1,!1),new b(3,1,!0),new b(4,2,!1),new b(5,2,!0),new b(6,3,!1),new b(7,3,!0)],x=[4,5,4,5,6,7,6,7],w=[5,5,5,5,7,7,7,7],k=[2,3,4,5,6,7,6,7],S=[3,3,5,5,7,7,7,7],M=[1,1,3,3,5,5,7,7],z=[0,1,2,3,2,3,2,3],A={DISPLAY:y[0],TEXT:y[2],SCRIPT:y[4],SCRIPTSCRIPT:y[6]},T=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}],B=[];function N(e){for(var t=0;t=B[t]&&e<=B[t+1])return!0;return!1}T.forEach((e=>e.blocks.forEach((e=>B.push(...e)))));var C={doubleleftarrow:"M262 157\nl10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3\n 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28\n 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5\nc2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5\n 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87\n-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7\n-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z\nm8 0v40h399730v-40zm0 194v40h399730v-40z",doublerightarrow:"M399738 392l\n-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5\n 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88\n-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68\n-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18\n-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782\nc-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3\n-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z",leftarrow:"M400000 241H110l3-3c68.7-52.7 113.7-120\n 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8\n-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247\nc-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208\n 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3\n 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202\n l-3-3h399890zM100 241v40h399900v-40z",leftbrace:"M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117\n-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7\n 5-6 9-10 13-.7 1-7.3 1-20 1H6z",leftbraceunder:"M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13\n 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688\n 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7\n-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z",leftgroup:"M400000 80\nH435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0\n 435 0h399565z",leftgroupunder:"M400000 262\nH435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219\n 435 219h399565z",leftharpoon:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3\n-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5\n-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7\n-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z",leftharpoonplus:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5\n 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3\n-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7\n-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z\nm0 0v40h400000v-40z",leftharpoondown:"M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333\n 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5\n 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667\n-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z",leftharpoondownplus:"M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12\n 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7\n-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0\nv40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z",lefthook:"M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5\n-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3\n-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21\n 71.5 23h399859zM103 281v-40h399897v40z",leftlinesegment:"M40 281 V428 H0 V94 H40 V241 H400000 v40z\nM40 281 V428 H0 V94 H40 V241 H400000 v40z",leftmapsto:"M40 281 V448H0V74H40V241H400000v40z\nM40 281 V448H0V74H40V241H400000v40z",leftToFrom:"M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23\n-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8\nc28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3\n 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z",longequal:"M0 50 h400000 v40H0z m0 194h40000v40H0z\nM0 50 h400000 v40H0z m0 194h40000v40H0z",midbrace:"M200428 334\nc-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14\n-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7\n 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11\n 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z",midbraceunder:"M199572 214\nc100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14\n 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3\n 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0\n-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z",oiintSize1:"M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6\n-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z\nm368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8\n60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z",oiintSize2:"M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8\n-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z\nm502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2\nc0 110 84 276 504 276s502.4-166 502.4-276z",oiiintSize1:"M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6\n-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z\nm525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0\n85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z",oiiintSize2:"M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8\n-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z\nm770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1\nc0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z",rightarrow:"M0 241v40h399891c-47.3 35.3-84 78-110 128\n-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20\n 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7\n 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85\n-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n 151.7 139 205zm0 0v40h399900v-40z",rightbrace:"M400000 542l\n-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5\ns-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1\nc124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z",rightbraceunder:"M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3\n 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237\n-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z",rightgroup:"M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0\n 3-1 3-3v-38c-76-158-257-219-435-219H0z",rightgroupunder:"M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18\n 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z",rightharpoon:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3\n-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2\n-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58\n 69.2 92 94.5zm0 0v40h399900v-40z",rightharpoonplus:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11\n-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7\n 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z\nm0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z",rightharpoondown:"M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8\n 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5\n-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95\n-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z",rightharpoondownplus:"M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8\n 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3\n 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3\n-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z\nm0-194v40h400000v-40zm0 0v40h400000v-40z",righthook:"M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3\n 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0\n-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21\n 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z",rightlinesegment:"M399960 241 V94 h40 V428 h-40 V281 H0 v-40z\nM399960 241 V94 h40 V428 h-40 V281 H0 v-40z",rightToFrom:"M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23\n 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32\n-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142\n-167z M100 147v40h399900v-40zM0 341v40h399900v-40z",twoheadleftarrow:"M0 167c68 40\n 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69\n-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3\n-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19\n-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101\n 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z",twoheadrightarrow:"M400000 167\nc-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3\n 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42\n 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333\n-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70\n 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z",tilde1:"M200 55.538c-77 0-168 73.953-177 73.953-3 0-7\n-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0\n 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0\n 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128\n-68.267.847-113-73.952-191-73.952z",tilde2:"M344 55.266c-142 0-300.638 81.316-311.5 86.418\n-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9\n 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114\nc1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751\n 181.476 676 181.476c-149 0-189-126.21-332-126.21z",tilde3:"M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457\n-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0\n 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697\n 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696\n -338 0-409-156.573-744-156.573z",tilde4:"M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345\n-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409\n 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9\n 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409\n -175.236-744-175.236z",vec:"M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5\n3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11\n10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63\n-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1\n-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59\nH213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359\nc-16-25.333-24-45-24-59z",widehat1:"M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22\nc-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z",widehat2:"M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat3:"M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat4:"M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widecheck1:"M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,\n-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z",widecheck2:"M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck3:"M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck4:"M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",baraboveleftarrow:"M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202\nc4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5\nc-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130\ns-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47\n121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6\ns2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11\nc0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z\nM100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z",rightarrowabovebar:"M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32\n-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0\n13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39\n-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5\n-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z",baraboveshortleftharpoon:"M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17\nc2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21\nc-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40\nc-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z\nM0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z",rightharpoonaboveshortbar:"M0,241 l0,40c399126,0,399993,0,399993,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z",shortbaraboveleftharpoon:"M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,\n1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,\n-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z\nM93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z",shortrightharpoonabovebar:"M53,241l0,40c398570,0,399437,0,399437,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z"};class q{constructor(e){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return l(this.classes,e)}toNode(){for(var e=document.createDocumentFragment(),t=0;te.toText())).join("")}}var I={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},R={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},H={Å:"A",Ð:"D",Þ:"o",å:"a",ð:"d",þ:"o",А:"A",Б:"B",В:"B",Г:"F",Д:"A",Е:"E",Ж:"K",З:"3",И:"N",Й:"N",К:"K",Л:"N",М:"M",Н:"H",О:"O",П:"N",Р:"P",С:"C",Т:"T",У:"y",Ф:"O",Х:"X",Ц:"U",Ч:"h",Ш:"W",Щ:"W",Ъ:"B",Ы:"X",Ь:"B",Э:"3",Ю:"X",Я:"R",а:"a",б:"b",в:"a",г:"r",д:"y",е:"e",ж:"m",з:"e",и:"n",й:"n",к:"n",л:"n",м:"m",н:"n",о:"o",п:"n",р:"p",с:"c",т:"o",у:"y",ф:"b",х:"x",ц:"n",ч:"n",ш:"w",щ:"w",ъ:"a",ы:"m",ь:"a",э:"e",ю:"m",я:"r"};function O(e,t,r){if(!I[t])throw new Error("Font metrics not found for font: "+t+".");var a=e.charCodeAt(0),n=I[t][a];if(!n&&e[0]in H&&(a=H[e[0]].charCodeAt(0),n=I[t][a]),n||"text"!==r||N(a)&&(n=I[t][77]),n)return{depth:n[0],height:n[1],italic:n[2],skew:n[3],width:n[4]}}var E={},L=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],D=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],P=function(e,t){return t.size<2?e:L[e-1][t.size-1]};class V{constructor(e){this.style=void 0,this.color=void 0,this.size=void 0,this.textSize=void 0,this.phantom=void 0,this.font=void 0,this.fontFamily=void 0,this.fontWeight=void 0,this.fontShape=void 0,this.sizeMultiplier=void 0,this.maxSize=void 0,this.minRuleThickness=void 0,this._fontMetrics=void 0,this.style=e.style,this.color=e.color,this.size=e.size||V.BASESIZE,this.textSize=e.textSize||this.size,this.phantom=!!e.phantom,this.font=e.font||"",this.fontFamily=e.fontFamily||"",this.fontWeight=e.fontWeight||"",this.fontShape=e.fontShape||"",this.sizeMultiplier=D[this.size-1],this.maxSize=e.maxSize,this.minRuleThickness=e.minRuleThickness,this._fontMetrics=void 0}extend(e){var t={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);return new V(t)}havingStyle(e){return this.style===e?this:this.extend({style:e,size:P(this.textSize,e)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(e){return this.size===e&&this.textSize===e?this:this.extend({style:this.style.text(),size:e,textSize:e,sizeMultiplier:D[e-1]})}havingBaseStyle(e){e=e||this.style.text();var t=P(V.BASESIZE,e);return this.size===t&&this.textSize===V.BASESIZE&&this.style===e?this:this.extend({style:e,size:t})}havingBaseSizing(){var e;switch(this.style.id){case 4:case 5:e=3;break;case 6:case 7:e=1;break;default:e=6}return this.extend({style:this.style.text(),size:e})}withColor(e){return this.extend({color:e})}withPhantom(){return this.extend({phantom:!0})}withFont(e){return this.extend({font:e})}withTextFontFamily(e){return this.extend({fontFamily:e,font:""})}withTextFontWeight(e){return this.extend({fontWeight:e,font:""})}withTextFontShape(e){return this.extend({fontShape:e,font:""})}sizingClasses(e){return e.size!==this.size?["sizing","reset-size"+e.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==V.BASESIZE?["sizing","reset-size"+this.size,"size"+V.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=function(e){var t;if(!E[t=e>=5?0:e>=3?1:2]){var r=E[t]={cssEmPerMu:R.quad[t]/18};for(var a in R)R.hasOwnProperty(a)&&(r[a]=R[a][t])}return E[t]}(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}}V.BASESIZE=6;var F={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:1.00375,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:1.00375},G={ex:!0,em:!0,mu:!0},U=function(e){return"string"!=typeof e&&(e=e.unit),e in F||e in G||"ex"===e},Y=function(e,t){var r;if(e.unit in F)r=F[e.unit]/t.fontMetrics().ptPerEm/t.sizeMultiplier;else if("mu"===e.unit)r=t.fontMetrics().cssEmPerMu;else{var n;if(n=t.style.isTight()?t.havingStyle(t.style.text()):t,"ex"===e.unit)r=n.fontMetrics().xHeight;else{if("em"!==e.unit)throw new a("Invalid unit: '"+e.unit+"'");r=n.fontMetrics().quad}n!==t&&(r*=n.sizeMultiplier/t.sizeMultiplier)}return Math.min(e.number*r,t.maxSize)},X=function(e){return+e.toFixed(4)+"em"},W=function(e){return e.filter((e=>e)).join(" ")},_=function(e,t,r){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=r||{},t){t.style.isTight()&&this.classes.push("mtight");var a=t.getColor();a&&(this.style.color=a)}},$=function(e){var t=document.createElement(e);for(var r in t.className=W(this.classes),this.style)this.style.hasOwnProperty(r)&&(t.style[r]=this.style[r]);for(var a in this.attributes)this.attributes.hasOwnProperty(a)&&t.setAttribute(a,this.attributes[a]);for(var n=0;n/=\x00-\x1f]/,Z=function(e){var t="<"+e;this.classes.length&&(t+=' class="'+m(W(this.classes))+'"');var r="";for(var n in this.style)this.style.hasOwnProperty(n)&&(r+=c(n)+":"+this.style[n]+";");for(var i in r&&(t+=' style="'+m(r)+'"'),this.attributes)if(this.attributes.hasOwnProperty(i)){if(j.test(i))throw new a("Invalid attribute name '"+i+"'");t+=" "+i+'="'+m(this.attributes[i])+'"'}t+=">";for(var o=0;o"};class K{constructor(e,t,r,a){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,_.call(this,e,r,a),this.children=t||[]}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return l(this.classes,e)}toNode(){return $.call(this,"span")}toMarkup(){return Z.call(this,"span")}}class J{constructor(e,t,r,a){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,_.call(this,t,a),this.children=r||[],this.setAttribute("href",e)}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return l(this.classes,e)}toNode(){return $.call(this,"a")}toMarkup(){return Z.call(this,"a")}}class Q{constructor(e,t,r){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=t,this.src=e,this.classes=["mord"],this.style=r}hasClass(e){return l(this.classes,e)}toNode(){var e=document.createElement("img");for(var t in e.src=this.src,e.alt=this.alt,e.className="mord",this.style)this.style.hasOwnProperty(t)&&(e.style[t]=this.style[t]);return e}toMarkup(){var e=''+m(this.alt)+'"}}var ee={î:"ı̂",ï:"ı̈",í:"ı́",ì:"ı̀"};class te{constructor(e,t,r,a,n,i,o,s){this.text=void 0,this.height=void 0,this.depth=void 0,this.italic=void 0,this.skew=void 0,this.width=void 0,this.maxFontSize=void 0,this.classes=void 0,this.style=void 0,this.text=e,this.height=t||0,this.depth=r||0,this.italic=a||0,this.skew=n||0,this.width=i||0,this.classes=o||[],this.style=s||{},this.maxFontSize=0;var l=function(e){for(var t=0;t=n[0]&&e<=n[1])return r.name}return null}(this.text.charCodeAt(0));l&&this.classes.push(l+"_fallback"),/[îïíì]/.test(this.text)&&(this.text=ee[this.text])}hasClass(e){return l(this.classes,e)}toNode(){var e=document.createTextNode(this.text),t=null;for(var r in this.italic>0&&((t=document.createElement("span")).style.marginRight=X(this.italic)),this.classes.length>0&&((t=t||document.createElement("span")).className=W(this.classes)),this.style)this.style.hasOwnProperty(r)&&((t=t||document.createElement("span")).style[r]=this.style[r]);return t?(t.appendChild(e),t):e}toMarkup(){var e=!1,t="0&&(r+="margin-right:"+this.italic+"em;"),this.style)this.style.hasOwnProperty(a)&&(r+=c(a)+":"+this.style[a]+";");r&&(e=!0,t+=' style="'+m(r)+'"');var n=m(this.text);return e?(t+=">",t+=n,t+=""):n}}class re{constructor(e,t){this.children=void 0,this.attributes=void 0,this.children=e||[],this.attributes=t||{}}toNode(){var e=document.createElementNS("http://www.w3.org/2000/svg","svg");for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);for(var r=0;r"}}class ae{constructor(e,t){this.pathName=void 0,this.alternate=void 0,this.pathName=e,this.alternate=t}toNode(){var e=document.createElementNS("http://www.w3.org/2000/svg","path");return this.alternate?e.setAttribute("d",this.alternate):e.setAttribute("d",C[this.pathName]),e}toMarkup(){return this.alternate?'':''}}class ne{constructor(e){this.attributes=void 0,this.attributes=e||{}}toNode(){var e=document.createElementNS("http://www.w3.org/2000/svg","line");for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);return e}toMarkup(){var e=""}}function ie(e){if(e instanceof te)return e;throw new Error("Expected symbolNode but got "+String(e)+".")}var oe={bin:1,close:1,inner:1,open:1,punct:1,rel:1},se={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1},le={math:{},text:{}};function he(e,t,r,a,n,i){le[e][n]={font:t,group:r,replace:a},i&&a&&(le[e][a]=le[e][n])}var me="math",ce="text",pe="main",ue="ams",de="accent-token",ge="bin",fe="close",ve="inner",be="mathord",ye="op-token",xe="open",we="punct",ke="rel",Se="spacing",Me="textord";he(me,pe,ke,"≡","\\equiv",!0),he(me,pe,ke,"≺","\\prec",!0),he(me,pe,ke,"≻","\\succ",!0),he(me,pe,ke,"∼","\\sim",!0),he(me,pe,ke,"⊥","\\perp"),he(me,pe,ke,"⪯","\\preceq",!0),he(me,pe,ke,"⪰","\\succeq",!0),he(me,pe,ke,"≃","\\simeq",!0),he(me,pe,ke,"∣","\\mid",!0),he(me,pe,ke,"≪","\\ll",!0),he(me,pe,ke,"≫","\\gg",!0),he(me,pe,ke,"≍","\\asymp",!0),he(me,pe,ke,"∥","\\parallel"),he(me,pe,ke,"⋈","\\bowtie",!0),he(me,pe,ke,"⌣","\\smile",!0),he(me,pe,ke,"⊑","\\sqsubseteq",!0),he(me,pe,ke,"⊒","\\sqsupseteq",!0),he(me,pe,ke,"≐","\\doteq",!0),he(me,pe,ke,"⌢","\\frown",!0),he(me,pe,ke,"∋","\\ni",!0),he(me,pe,ke,"∝","\\propto",!0),he(me,pe,ke,"⊢","\\vdash",!0),he(me,pe,ke,"⊣","\\dashv",!0),he(me,pe,ke,"∋","\\owns"),he(me,pe,we,".","\\ldotp"),he(me,pe,we,"⋅","\\cdotp"),he(me,pe,Me,"#","\\#"),he(ce,pe,Me,"#","\\#"),he(me,pe,Me,"&","\\&"),he(ce,pe,Me,"&","\\&"),he(me,pe,Me,"ℵ","\\aleph",!0),he(me,pe,Me,"∀","\\forall",!0),he(me,pe,Me,"ℏ","\\hbar",!0),he(me,pe,Me,"∃","\\exists",!0),he(me,pe,Me,"∇","\\nabla",!0),he(me,pe,Me,"♭","\\flat",!0),he(me,pe,Me,"ℓ","\\ell",!0),he(me,pe,Me,"♮","\\natural",!0),he(me,pe,Me,"♣","\\clubsuit",!0),he(me,pe,Me,"℘","\\wp",!0),he(me,pe,Me,"♯","\\sharp",!0),he(me,pe,Me,"♢","\\diamondsuit",!0),he(me,pe,Me,"ℜ","\\Re",!0),he(me,pe,Me,"♡","\\heartsuit",!0),he(me,pe,Me,"ℑ","\\Im",!0),he(me,pe,Me,"♠","\\spadesuit",!0),he(me,pe,Me,"§","\\S",!0),he(ce,pe,Me,"§","\\S"),he(me,pe,Me,"¶","\\P",!0),he(ce,pe,Me,"¶","\\P"),he(me,pe,Me,"†","\\dag"),he(ce,pe,Me,"†","\\dag"),he(ce,pe,Me,"†","\\textdagger"),he(me,pe,Me,"‡","\\ddag"),he(ce,pe,Me,"‡","\\ddag"),he(ce,pe,Me,"‡","\\textdaggerdbl"),he(me,pe,fe,"⎱","\\rmoustache",!0),he(me,pe,xe,"⎰","\\lmoustache",!0),he(me,pe,fe,"⟯","\\rgroup",!0),he(me,pe,xe,"⟮","\\lgroup",!0),he(me,pe,ge,"∓","\\mp",!0),he(me,pe,ge,"⊖","\\ominus",!0),he(me,pe,ge,"⊎","\\uplus",!0),he(me,pe,ge,"⊓","\\sqcap",!0),he(me,pe,ge,"∗","\\ast"),he(me,pe,ge,"⊔","\\sqcup",!0),he(me,pe,ge,"◯","\\bigcirc",!0),he(me,pe,ge,"∙","\\bullet",!0),he(me,pe,ge,"‡","\\ddagger"),he(me,pe,ge,"≀","\\wr",!0),he(me,pe,ge,"⨿","\\amalg"),he(me,pe,ge,"&","\\And"),he(me,pe,ke,"⟵","\\longleftarrow",!0),he(me,pe,ke,"⇐","\\Leftarrow",!0),he(me,pe,ke,"⟸","\\Longleftarrow",!0),he(me,pe,ke,"⟶","\\longrightarrow",!0),he(me,pe,ke,"⇒","\\Rightarrow",!0),he(me,pe,ke,"⟹","\\Longrightarrow",!0),he(me,pe,ke,"↔","\\leftrightarrow",!0),he(me,pe,ke,"⟷","\\longleftrightarrow",!0),he(me,pe,ke,"⇔","\\Leftrightarrow",!0),he(me,pe,ke,"⟺","\\Longleftrightarrow",!0),he(me,pe,ke,"↦","\\mapsto",!0),he(me,pe,ke,"⟼","\\longmapsto",!0),he(me,pe,ke,"↗","\\nearrow",!0),he(me,pe,ke,"↩","\\hookleftarrow",!0),he(me,pe,ke,"↪","\\hookrightarrow",!0),he(me,pe,ke,"↘","\\searrow",!0),he(me,pe,ke,"↼","\\leftharpoonup",!0),he(me,pe,ke,"⇀","\\rightharpoonup",!0),he(me,pe,ke,"↙","\\swarrow",!0),he(me,pe,ke,"↽","\\leftharpoondown",!0),he(me,pe,ke,"⇁","\\rightharpoondown",!0),he(me,pe,ke,"↖","\\nwarrow",!0),he(me,pe,ke,"⇌","\\rightleftharpoons",!0),he(me,ue,ke,"≮","\\nless",!0),he(me,ue,ke,"","\\@nleqslant"),he(me,ue,ke,"","\\@nleqq"),he(me,ue,ke,"⪇","\\lneq",!0),he(me,ue,ke,"≨","\\lneqq",!0),he(me,ue,ke,"","\\@lvertneqq"),he(me,ue,ke,"⋦","\\lnsim",!0),he(me,ue,ke,"⪉","\\lnapprox",!0),he(me,ue,ke,"⊀","\\nprec",!0),he(me,ue,ke,"⋠","\\npreceq",!0),he(me,ue,ke,"⋨","\\precnsim",!0),he(me,ue,ke,"⪹","\\precnapprox",!0),he(me,ue,ke,"≁","\\nsim",!0),he(me,ue,ke,"","\\@nshortmid"),he(me,ue,ke,"∤","\\nmid",!0),he(me,ue,ke,"⊬","\\nvdash",!0),he(me,ue,ke,"⊭","\\nvDash",!0),he(me,ue,ke,"⋪","\\ntriangleleft"),he(me,ue,ke,"⋬","\\ntrianglelefteq",!0),he(me,ue,ke,"⊊","\\subsetneq",!0),he(me,ue,ke,"","\\@varsubsetneq"),he(me,ue,ke,"⫋","\\subsetneqq",!0),he(me,ue,ke,"","\\@varsubsetneqq"),he(me,ue,ke,"≯","\\ngtr",!0),he(me,ue,ke,"","\\@ngeqslant"),he(me,ue,ke,"","\\@ngeqq"),he(me,ue,ke,"⪈","\\gneq",!0),he(me,ue,ke,"≩","\\gneqq",!0),he(me,ue,ke,"","\\@gvertneqq"),he(me,ue,ke,"⋧","\\gnsim",!0),he(me,ue,ke,"⪊","\\gnapprox",!0),he(me,ue,ke,"⊁","\\nsucc",!0),he(me,ue,ke,"⋡","\\nsucceq",!0),he(me,ue,ke,"⋩","\\succnsim",!0),he(me,ue,ke,"⪺","\\succnapprox",!0),he(me,ue,ke,"≆","\\ncong",!0),he(me,ue,ke,"","\\@nshortparallel"),he(me,ue,ke,"∦","\\nparallel",!0),he(me,ue,ke,"⊯","\\nVDash",!0),he(me,ue,ke,"⋫","\\ntriangleright"),he(me,ue,ke,"⋭","\\ntrianglerighteq",!0),he(me,ue,ke,"","\\@nsupseteqq"),he(me,ue,ke,"⊋","\\supsetneq",!0),he(me,ue,ke,"","\\@varsupsetneq"),he(me,ue,ke,"⫌","\\supsetneqq",!0),he(me,ue,ke,"","\\@varsupsetneqq"),he(me,ue,ke,"⊮","\\nVdash",!0),he(me,ue,ke,"⪵","\\precneqq",!0),he(me,ue,ke,"⪶","\\succneqq",!0),he(me,ue,ke,"","\\@nsubseteqq"),he(me,ue,ge,"⊴","\\unlhd"),he(me,ue,ge,"⊵","\\unrhd"),he(me,ue,ke,"↚","\\nleftarrow",!0),he(me,ue,ke,"↛","\\nrightarrow",!0),he(me,ue,ke,"⇍","\\nLeftarrow",!0),he(me,ue,ke,"⇏","\\nRightarrow",!0),he(me,ue,ke,"↮","\\nleftrightarrow",!0),he(me,ue,ke,"⇎","\\nLeftrightarrow",!0),he(me,ue,ke,"△","\\vartriangle"),he(me,ue,Me,"ℏ","\\hslash"),he(me,ue,Me,"▽","\\triangledown"),he(me,ue,Me,"◊","\\lozenge"),he(me,ue,Me,"Ⓢ","\\circledS"),he(me,ue,Me,"®","\\circledR"),he(ce,ue,Me,"®","\\circledR"),he(me,ue,Me,"∡","\\measuredangle",!0),he(me,ue,Me,"∄","\\nexists"),he(me,ue,Me,"℧","\\mho"),he(me,ue,Me,"Ⅎ","\\Finv",!0),he(me,ue,Me,"⅁","\\Game",!0),he(me,ue,Me,"‵","\\backprime"),he(me,ue,Me,"▲","\\blacktriangle"),he(me,ue,Me,"▼","\\blacktriangledown"),he(me,ue,Me,"■","\\blacksquare"),he(me,ue,Me,"⧫","\\blacklozenge"),he(me,ue,Me,"★","\\bigstar"),he(me,ue,Me,"∢","\\sphericalangle",!0),he(me,ue,Me,"∁","\\complement",!0),he(me,ue,Me,"ð","\\eth",!0),he(ce,pe,Me,"ð","ð"),he(me,ue,Me,"╱","\\diagup"),he(me,ue,Me,"╲","\\diagdown"),he(me,ue,Me,"□","\\square"),he(me,ue,Me,"□","\\Box"),he(me,ue,Me,"◊","\\Diamond"),he(me,ue,Me,"¥","\\yen",!0),he(ce,ue,Me,"¥","\\yen",!0),he(me,ue,Me,"✓","\\checkmark",!0),he(ce,ue,Me,"✓","\\checkmark"),he(me,ue,Me,"ℶ","\\beth",!0),he(me,ue,Me,"ℸ","\\daleth",!0),he(me,ue,Me,"ℷ","\\gimel",!0),he(me,ue,Me,"ϝ","\\digamma",!0),he(me,ue,Me,"ϰ","\\varkappa"),he(me,ue,xe,"┌","\\@ulcorner",!0),he(me,ue,fe,"┐","\\@urcorner",!0),he(me,ue,xe,"└","\\@llcorner",!0),he(me,ue,fe,"┘","\\@lrcorner",!0),he(me,ue,ke,"≦","\\leqq",!0),he(me,ue,ke,"⩽","\\leqslant",!0),he(me,ue,ke,"⪕","\\eqslantless",!0),he(me,ue,ke,"≲","\\lesssim",!0),he(me,ue,ke,"⪅","\\lessapprox",!0),he(me,ue,ke,"≊","\\approxeq",!0),he(me,ue,ge,"⋖","\\lessdot"),he(me,ue,ke,"⋘","\\lll",!0),he(me,ue,ke,"≶","\\lessgtr",!0),he(me,ue,ke,"⋚","\\lesseqgtr",!0),he(me,ue,ke,"⪋","\\lesseqqgtr",!0),he(me,ue,ke,"≑","\\doteqdot"),he(me,ue,ke,"≓","\\risingdotseq",!0),he(me,ue,ke,"≒","\\fallingdotseq",!0),he(me,ue,ke,"∽","\\backsim",!0),he(me,ue,ke,"⋍","\\backsimeq",!0),he(me,ue,ke,"⫅","\\subseteqq",!0),he(me,ue,ke,"⋐","\\Subset",!0),he(me,ue,ke,"⊏","\\sqsubset",!0),he(me,ue,ke,"≼","\\preccurlyeq",!0),he(me,ue,ke,"⋞","\\curlyeqprec",!0),he(me,ue,ke,"≾","\\precsim",!0),he(me,ue,ke,"⪷","\\precapprox",!0),he(me,ue,ke,"⊲","\\vartriangleleft"),he(me,ue,ke,"⊴","\\trianglelefteq"),he(me,ue,ke,"⊨","\\vDash",!0),he(me,ue,ke,"⊪","\\Vvdash",!0),he(me,ue,ke,"⌣","\\smallsmile"),he(me,ue,ke,"⌢","\\smallfrown"),he(me,ue,ke,"≏","\\bumpeq",!0),he(me,ue,ke,"≎","\\Bumpeq",!0),he(me,ue,ke,"≧","\\geqq",!0),he(me,ue,ke,"⩾","\\geqslant",!0),he(me,ue,ke,"⪖","\\eqslantgtr",!0),he(me,ue,ke,"≳","\\gtrsim",!0),he(me,ue,ke,"⪆","\\gtrapprox",!0),he(me,ue,ge,"⋗","\\gtrdot"),he(me,ue,ke,"⋙","\\ggg",!0),he(me,ue,ke,"≷","\\gtrless",!0),he(me,ue,ke,"⋛","\\gtreqless",!0),he(me,ue,ke,"⪌","\\gtreqqless",!0),he(me,ue,ke,"≖","\\eqcirc",!0),he(me,ue,ke,"≗","\\circeq",!0),he(me,ue,ke,"≜","\\triangleq",!0),he(me,ue,ke,"∼","\\thicksim"),he(me,ue,ke,"≈","\\thickapprox"),he(me,ue,ke,"⫆","\\supseteqq",!0),he(me,ue,ke,"⋑","\\Supset",!0),he(me,ue,ke,"⊐","\\sqsupset",!0),he(me,ue,ke,"≽","\\succcurlyeq",!0),he(me,ue,ke,"⋟","\\curlyeqsucc",!0),he(me,ue,ke,"≿","\\succsim",!0),he(me,ue,ke,"⪸","\\succapprox",!0),he(me,ue,ke,"⊳","\\vartriangleright"),he(me,ue,ke,"⊵","\\trianglerighteq"),he(me,ue,ke,"⊩","\\Vdash",!0),he(me,ue,ke,"∣","\\shortmid"),he(me,ue,ke,"∥","\\shortparallel"),he(me,ue,ke,"≬","\\between",!0),he(me,ue,ke,"⋔","\\pitchfork",!0),he(me,ue,ke,"∝","\\varpropto"),he(me,ue,ke,"◀","\\blacktriangleleft"),he(me,ue,ke,"∴","\\therefore",!0),he(me,ue,ke,"∍","\\backepsilon"),he(me,ue,ke,"▶","\\blacktriangleright"),he(me,ue,ke,"∵","\\because",!0),he(me,ue,ke,"⋘","\\llless"),he(me,ue,ke,"⋙","\\gggtr"),he(me,ue,ge,"⊲","\\lhd"),he(me,ue,ge,"⊳","\\rhd"),he(me,ue,ke,"≂","\\eqsim",!0),he(me,pe,ke,"⋈","\\Join"),he(me,ue,ke,"≑","\\Doteq",!0),he(me,ue,ge,"∔","\\dotplus",!0),he(me,ue,ge,"∖","\\smallsetminus"),he(me,ue,ge,"⋒","\\Cap",!0),he(me,ue,ge,"⋓","\\Cup",!0),he(me,ue,ge,"⩞","\\doublebarwedge",!0),he(me,ue,ge,"⊟","\\boxminus",!0),he(me,ue,ge,"⊞","\\boxplus",!0),he(me,ue,ge,"⋇","\\divideontimes",!0),he(me,ue,ge,"⋉","\\ltimes",!0),he(me,ue,ge,"⋊","\\rtimes",!0),he(me,ue,ge,"⋋","\\leftthreetimes",!0),he(me,ue,ge,"⋌","\\rightthreetimes",!0),he(me,ue,ge,"⋏","\\curlywedge",!0),he(me,ue,ge,"⋎","\\curlyvee",!0),he(me,ue,ge,"⊝","\\circleddash",!0),he(me,ue,ge,"⊛","\\circledast",!0),he(me,ue,ge,"⋅","\\centerdot"),he(me,ue,ge,"⊺","\\intercal",!0),he(me,ue,ge,"⋒","\\doublecap"),he(me,ue,ge,"⋓","\\doublecup"),he(me,ue,ge,"⊠","\\boxtimes",!0),he(me,ue,ke,"⇢","\\dashrightarrow",!0),he(me,ue,ke,"⇠","\\dashleftarrow",!0),he(me,ue,ke,"⇇","\\leftleftarrows",!0),he(me,ue,ke,"⇆","\\leftrightarrows",!0),he(me,ue,ke,"⇚","\\Lleftarrow",!0),he(me,ue,ke,"↞","\\twoheadleftarrow",!0),he(me,ue,ke,"↢","\\leftarrowtail",!0),he(me,ue,ke,"↫","\\looparrowleft",!0),he(me,ue,ke,"⇋","\\leftrightharpoons",!0),he(me,ue,ke,"↶","\\curvearrowleft",!0),he(me,ue,ke,"↺","\\circlearrowleft",!0),he(me,ue,ke,"↰","\\Lsh",!0),he(me,ue,ke,"⇈","\\upuparrows",!0),he(me,ue,ke,"↿","\\upharpoonleft",!0),he(me,ue,ke,"⇃","\\downharpoonleft",!0),he(me,pe,ke,"⊶","\\origof",!0),he(me,pe,ke,"⊷","\\imageof",!0),he(me,ue,ke,"⊸","\\multimap",!0),he(me,ue,ke,"↭","\\leftrightsquigarrow",!0),he(me,ue,ke,"⇉","\\rightrightarrows",!0),he(me,ue,ke,"⇄","\\rightleftarrows",!0),he(me,ue,ke,"↠","\\twoheadrightarrow",!0),he(me,ue,ke,"↣","\\rightarrowtail",!0),he(me,ue,ke,"↬","\\looparrowright",!0),he(me,ue,ke,"↷","\\curvearrowright",!0),he(me,ue,ke,"↻","\\circlearrowright",!0),he(me,ue,ke,"↱","\\Rsh",!0),he(me,ue,ke,"⇊","\\downdownarrows",!0),he(me,ue,ke,"↾","\\upharpoonright",!0),he(me,ue,ke,"⇂","\\downharpoonright",!0),he(me,ue,ke,"⇝","\\rightsquigarrow",!0),he(me,ue,ke,"⇝","\\leadsto"),he(me,ue,ke,"⇛","\\Rrightarrow",!0),he(me,ue,ke,"↾","\\restriction"),he(me,pe,Me,"‘","`"),he(me,pe,Me,"$","\\$"),he(ce,pe,Me,"$","\\$"),he(ce,pe,Me,"$","\\textdollar"),he(me,pe,Me,"%","\\%"),he(ce,pe,Me,"%","\\%"),he(me,pe,Me,"_","\\_"),he(ce,pe,Me,"_","\\_"),he(ce,pe,Me,"_","\\textunderscore"),he(me,pe,Me,"∠","\\angle",!0),he(me,pe,Me,"∞","\\infty",!0),he(me,pe,Me,"′","\\prime"),he(me,pe,Me,"△","\\triangle"),he(me,pe,Me,"Γ","\\Gamma",!0),he(me,pe,Me,"Δ","\\Delta",!0),he(me,pe,Me,"Θ","\\Theta",!0),he(me,pe,Me,"Λ","\\Lambda",!0),he(me,pe,Me,"Ξ","\\Xi",!0),he(me,pe,Me,"Π","\\Pi",!0),he(me,pe,Me,"Σ","\\Sigma",!0),he(me,pe,Me,"Υ","\\Upsilon",!0),he(me,pe,Me,"Φ","\\Phi",!0),he(me,pe,Me,"Ψ","\\Psi",!0),he(me,pe,Me,"Ω","\\Omega",!0),he(me,pe,Me,"A","Α"),he(me,pe,Me,"B","Β"),he(me,pe,Me,"E","Ε"),he(me,pe,Me,"Z","Ζ"),he(me,pe,Me,"H","Η"),he(me,pe,Me,"I","Ι"),he(me,pe,Me,"K","Κ"),he(me,pe,Me,"M","Μ"),he(me,pe,Me,"N","Ν"),he(me,pe,Me,"O","Ο"),he(me,pe,Me,"P","Ρ"),he(me,pe,Me,"T","Τ"),he(me,pe,Me,"X","Χ"),he(me,pe,Me,"¬","\\neg",!0),he(me,pe,Me,"¬","\\lnot"),he(me,pe,Me,"⊤","\\top"),he(me,pe,Me,"⊥","\\bot"),he(me,pe,Me,"∅","\\emptyset"),he(me,ue,Me,"∅","\\varnothing"),he(me,pe,be,"α","\\alpha",!0),he(me,pe,be,"β","\\beta",!0),he(me,pe,be,"γ","\\gamma",!0),he(me,pe,be,"δ","\\delta",!0),he(me,pe,be,"ϵ","\\epsilon",!0),he(me,pe,be,"ζ","\\zeta",!0),he(me,pe,be,"η","\\eta",!0),he(me,pe,be,"θ","\\theta",!0),he(me,pe,be,"ι","\\iota",!0),he(me,pe,be,"κ","\\kappa",!0),he(me,pe,be,"λ","\\lambda",!0),he(me,pe,be,"μ","\\mu",!0),he(me,pe,be,"ν","\\nu",!0),he(me,pe,be,"ξ","\\xi",!0),he(me,pe,be,"ο","\\omicron",!0),he(me,pe,be,"π","\\pi",!0),he(me,pe,be,"ρ","\\rho",!0),he(me,pe,be,"σ","\\sigma",!0),he(me,pe,be,"τ","\\tau",!0),he(me,pe,be,"υ","\\upsilon",!0),he(me,pe,be,"ϕ","\\phi",!0),he(me,pe,be,"χ","\\chi",!0),he(me,pe,be,"ψ","\\psi",!0),he(me,pe,be,"ω","\\omega",!0),he(me,pe,be,"ε","\\varepsilon",!0),he(me,pe,be,"ϑ","\\vartheta",!0),he(me,pe,be,"ϖ","\\varpi",!0),he(me,pe,be,"ϱ","\\varrho",!0),he(me,pe,be,"ς","\\varsigma",!0),he(me,pe,be,"φ","\\varphi",!0),he(me,pe,ge,"∗","*",!0),he(me,pe,ge,"+","+"),he(me,pe,ge,"−","-",!0),he(me,pe,ge,"⋅","\\cdot",!0),he(me,pe,ge,"∘","\\circ",!0),he(me,pe,ge,"÷","\\div",!0),he(me,pe,ge,"±","\\pm",!0),he(me,pe,ge,"×","\\times",!0),he(me,pe,ge,"∩","\\cap",!0),he(me,pe,ge,"∪","\\cup",!0),he(me,pe,ge,"∖","\\setminus",!0),he(me,pe,ge,"∧","\\land"),he(me,pe,ge,"∨","\\lor"),he(me,pe,ge,"∧","\\wedge",!0),he(me,pe,ge,"∨","\\vee",!0),he(me,pe,Me,"√","\\surd"),he(me,pe,xe,"⟨","\\langle",!0),he(me,pe,xe,"∣","\\lvert"),he(me,pe,xe,"∥","\\lVert"),he(me,pe,fe,"?","?"),he(me,pe,fe,"!","!"),he(me,pe,fe,"⟩","\\rangle",!0),he(me,pe,fe,"∣","\\rvert"),he(me,pe,fe,"∥","\\rVert"),he(me,pe,ke,"=","="),he(me,pe,ke,":",":"),he(me,pe,ke,"≈","\\approx",!0),he(me,pe,ke,"≅","\\cong",!0),he(me,pe,ke,"≥","\\ge"),he(me,pe,ke,"≥","\\geq",!0),he(me,pe,ke,"←","\\gets"),he(me,pe,ke,">","\\gt",!0),he(me,pe,ke,"∈","\\in",!0),he(me,pe,ke,"","\\@not"),he(me,pe,ke,"⊂","\\subset",!0),he(me,pe,ke,"⊃","\\supset",!0),he(me,pe,ke,"⊆","\\subseteq",!0),he(me,pe,ke,"⊇","\\supseteq",!0),he(me,ue,ke,"⊈","\\nsubseteq",!0),he(me,ue,ke,"⊉","\\nsupseteq",!0),he(me,pe,ke,"⊨","\\models"),he(me,pe,ke,"←","\\leftarrow",!0),he(me,pe,ke,"≤","\\le"),he(me,pe,ke,"≤","\\leq",!0),he(me,pe,ke,"<","\\lt",!0),he(me,pe,ke,"→","\\rightarrow",!0),he(me,pe,ke,"→","\\to"),he(me,ue,ke,"≱","\\ngeq",!0),he(me,ue,ke,"≰","\\nleq",!0),he(me,pe,Se," ","\\ "),he(me,pe,Se," ","\\space"),he(me,pe,Se," ","\\nobreakspace"),he(ce,pe,Se," ","\\ "),he(ce,pe,Se," "," "),he(ce,pe,Se," ","\\space"),he(ce,pe,Se," ","\\nobreakspace"),he(me,pe,Se,null,"\\nobreak"),he(me,pe,Se,null,"\\allowbreak"),he(me,pe,we,",",","),he(me,pe,we,";",";"),he(me,ue,ge,"⊼","\\barwedge",!0),he(me,ue,ge,"⊻","\\veebar",!0),he(me,pe,ge,"⊙","\\odot",!0),he(me,pe,ge,"⊕","\\oplus",!0),he(me,pe,ge,"⊗","\\otimes",!0),he(me,pe,Me,"∂","\\partial",!0),he(me,pe,ge,"⊘","\\oslash",!0),he(me,ue,ge,"⊚","\\circledcirc",!0),he(me,ue,ge,"⊡","\\boxdot",!0),he(me,pe,ge,"△","\\bigtriangleup"),he(me,pe,ge,"▽","\\bigtriangledown"),he(me,pe,ge,"†","\\dagger"),he(me,pe,ge,"⋄","\\diamond"),he(me,pe,ge,"⋆","\\star"),he(me,pe,ge,"◃","\\triangleleft"),he(me,pe,ge,"▹","\\triangleright"),he(me,pe,xe,"{","\\{"),he(ce,pe,Me,"{","\\{"),he(ce,pe,Me,"{","\\textbraceleft"),he(me,pe,fe,"}","\\}"),he(ce,pe,Me,"}","\\}"),he(ce,pe,Me,"}","\\textbraceright"),he(me,pe,xe,"{","\\lbrace"),he(me,pe,fe,"}","\\rbrace"),he(me,pe,xe,"[","\\lbrack",!0),he(ce,pe,Me,"[","\\lbrack",!0),he(me,pe,fe,"]","\\rbrack",!0),he(ce,pe,Me,"]","\\rbrack",!0),he(me,pe,xe,"(","\\lparen",!0),he(me,pe,fe,")","\\rparen",!0),he(ce,pe,Me,"<","\\textless",!0),he(ce,pe,Me,">","\\textgreater",!0),he(me,pe,xe,"⌊","\\lfloor",!0),he(me,pe,fe,"⌋","\\rfloor",!0),he(me,pe,xe,"⌈","\\lceil",!0),he(me,pe,fe,"⌉","\\rceil",!0),he(me,pe,Me,"\\","\\backslash"),he(me,pe,Me,"∣","|"),he(me,pe,Me,"∣","\\vert"),he(ce,pe,Me,"|","\\textbar",!0),he(me,pe,Me,"∥","\\|"),he(me,pe,Me,"∥","\\Vert"),he(ce,pe,Me,"∥","\\textbardbl"),he(ce,pe,Me,"~","\\textasciitilde"),he(ce,pe,Me,"\\","\\textbackslash"),he(ce,pe,Me,"^","\\textasciicircum"),he(me,pe,ke,"↑","\\uparrow",!0),he(me,pe,ke,"⇑","\\Uparrow",!0),he(me,pe,ke,"↓","\\downarrow",!0),he(me,pe,ke,"⇓","\\Downarrow",!0),he(me,pe,ke,"↕","\\updownarrow",!0),he(me,pe,ke,"⇕","\\Updownarrow",!0),he(me,pe,ye,"∐","\\coprod"),he(me,pe,ye,"⋁","\\bigvee"),he(me,pe,ye,"⋀","\\bigwedge"),he(me,pe,ye,"⨄","\\biguplus"),he(me,pe,ye,"⋂","\\bigcap"),he(me,pe,ye,"⋃","\\bigcup"),he(me,pe,ye,"∫","\\int"),he(me,pe,ye,"∫","\\intop"),he(me,pe,ye,"∬","\\iint"),he(me,pe,ye,"∭","\\iiint"),he(me,pe,ye,"∏","\\prod"),he(me,pe,ye,"∑","\\sum"),he(me,pe,ye,"⨂","\\bigotimes"),he(me,pe,ye,"⨁","\\bigoplus"),he(me,pe,ye,"⨀","\\bigodot"),he(me,pe,ye,"∮","\\oint"),he(me,pe,ye,"∯","\\oiint"),he(me,pe,ye,"∰","\\oiiint"),he(me,pe,ye,"⨆","\\bigsqcup"),he(me,pe,ye,"∫","\\smallint"),he(ce,pe,ve,"…","\\textellipsis"),he(me,pe,ve,"…","\\mathellipsis"),he(ce,pe,ve,"…","\\ldots",!0),he(me,pe,ve,"…","\\ldots",!0),he(me,pe,ve,"⋯","\\@cdots",!0),he(me,pe,ve,"⋱","\\ddots",!0),he(me,pe,Me,"⋮","\\varvdots"),he(ce,pe,Me,"⋮","\\varvdots"),he(me,pe,de,"ˊ","\\acute"),he(me,pe,de,"ˋ","\\grave"),he(me,pe,de,"¨","\\ddot"),he(me,pe,de,"~","\\tilde"),he(me,pe,de,"ˉ","\\bar"),he(me,pe,de,"˘","\\breve"),he(me,pe,de,"ˇ","\\check"),he(me,pe,de,"^","\\hat"),he(me,pe,de,"⃗","\\vec"),he(me,pe,de,"˙","\\dot"),he(me,pe,de,"˚","\\mathring"),he(me,pe,be,"","\\@imath"),he(me,pe,be,"","\\@jmath"),he(me,pe,Me,"ı","ı"),he(me,pe,Me,"ȷ","ȷ"),he(ce,pe,Me,"ı","\\i",!0),he(ce,pe,Me,"ȷ","\\j",!0),he(ce,pe,Me,"ß","\\ss",!0),he(ce,pe,Me,"æ","\\ae",!0),he(ce,pe,Me,"œ","\\oe",!0),he(ce,pe,Me,"ø","\\o",!0),he(ce,pe,Me,"Æ","\\AE",!0),he(ce,pe,Me,"Œ","\\OE",!0),he(ce,pe,Me,"Ø","\\O",!0),he(ce,pe,de,"ˊ","\\'"),he(ce,pe,de,"ˋ","\\`"),he(ce,pe,de,"ˆ","\\^"),he(ce,pe,de,"˜","\\~"),he(ce,pe,de,"ˉ","\\="),he(ce,pe,de,"˘","\\u"),he(ce,pe,de,"˙","\\."),he(ce,pe,de,"¸","\\c"),he(ce,pe,de,"˚","\\r"),he(ce,pe,de,"ˇ","\\v"),he(ce,pe,de,"¨",'\\"'),he(ce,pe,de,"˝","\\H"),he(ce,pe,de,"◯","\\textcircled");var ze={"--":!0,"---":!0,"``":!0,"''":!0};he(ce,pe,Me,"–","--",!0),he(ce,pe,Me,"–","\\textendash"),he(ce,pe,Me,"—","---",!0),he(ce,pe,Me,"—","\\textemdash"),he(ce,pe,Me,"‘","`",!0),he(ce,pe,Me,"‘","\\textquoteleft"),he(ce,pe,Me,"’","'",!0),he(ce,pe,Me,"’","\\textquoteright"),he(ce,pe,Me,"“","``",!0),he(ce,pe,Me,"“","\\textquotedblleft"),he(ce,pe,Me,"”","''",!0),he(ce,pe,Me,"”","\\textquotedblright"),he(me,pe,Me,"°","\\degree",!0),he(ce,pe,Me,"°","\\degree"),he(ce,pe,Me,"°","\\textdegree",!0),he(me,pe,Me,"£","\\pounds"),he(me,pe,Me,"£","\\mathsterling",!0),he(ce,pe,Me,"£","\\pounds"),he(ce,pe,Me,"£","\\textsterling",!0),he(me,ue,Me,"✠","\\maltese"),he(ce,ue,Me,"✠","\\maltese");for(var Ae=0;Ae<14;Ae++){var Te='0123456789/@."'.charAt(Ae);he(me,pe,Me,Te,Te)}for(var Be=0;Be<25;Be++){var Ne='0123456789!@*()-=+";:?/.,'.charAt(Be);he(ce,pe,Me,Ne,Ne)}for(var Ce="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",qe=0;qe<52;qe++){var Ie=Ce.charAt(qe);he(me,pe,be,Ie,Ie),he(ce,pe,Me,Ie,Ie)}he(me,ue,Me,"C","ℂ"),he(ce,ue,Me,"C","ℂ"),he(me,ue,Me,"H","ℍ"),he(ce,ue,Me,"H","ℍ"),he(me,ue,Me,"N","ℕ"),he(ce,ue,Me,"N","ℕ"),he(me,ue,Me,"P","ℙ"),he(ce,ue,Me,"P","ℙ"),he(me,ue,Me,"Q","ℚ"),he(ce,ue,Me,"Q","ℚ"),he(me,ue,Me,"R","ℝ"),he(ce,ue,Me,"R","ℝ"),he(me,ue,Me,"Z","ℤ"),he(ce,ue,Me,"Z","ℤ"),he(me,pe,be,"h","ℎ"),he(ce,pe,be,"h","ℎ");for(var Re="",He=0;He<52;He++){var Oe=Ce.charAt(He);he(me,pe,be,Oe,Re=String.fromCharCode(55349,56320+He)),he(ce,pe,Me,Oe,Re),he(me,pe,be,Oe,Re=String.fromCharCode(55349,56372+He)),he(ce,pe,Me,Oe,Re),he(me,pe,be,Oe,Re=String.fromCharCode(55349,56424+He)),he(ce,pe,Me,Oe,Re),he(me,pe,be,Oe,Re=String.fromCharCode(55349,56580+He)),he(ce,pe,Me,Oe,Re),he(me,pe,be,Oe,Re=String.fromCharCode(55349,56684+He)),he(ce,pe,Me,Oe,Re),he(me,pe,be,Oe,Re=String.fromCharCode(55349,56736+He)),he(ce,pe,Me,Oe,Re),he(me,pe,be,Oe,Re=String.fromCharCode(55349,56788+He)),he(ce,pe,Me,Oe,Re),he(me,pe,be,Oe,Re=String.fromCharCode(55349,56840+He)),he(ce,pe,Me,Oe,Re),he(me,pe,be,Oe,Re=String.fromCharCode(55349,56944+He)),he(ce,pe,Me,Oe,Re),He<26&&(he(me,pe,be,Oe,Re=String.fromCharCode(55349,56632+He)),he(ce,pe,Me,Oe,Re),he(me,pe,be,Oe,Re=String.fromCharCode(55349,56476+He)),he(ce,pe,Me,Oe,Re))}he(me,pe,be,"k",Re=String.fromCharCode(55349,56668)),he(ce,pe,Me,"k",Re);for(var Ee=0;Ee<10;Ee++){var Le=Ee.toString();he(me,pe,be,Le,Re=String.fromCharCode(55349,57294+Ee)),he(ce,pe,Me,Le,Re),he(me,pe,be,Le,Re=String.fromCharCode(55349,57314+Ee)),he(ce,pe,Me,Le,Re),he(me,pe,be,Le,Re=String.fromCharCode(55349,57324+Ee)),he(ce,pe,Me,Le,Re),he(me,pe,be,Le,Re=String.fromCharCode(55349,57334+Ee)),he(ce,pe,Me,Le,Re)}for(var De=0;De<3;De++){var Pe="ÐÞþ".charAt(De);he(me,pe,be,Pe,Pe),he(ce,pe,Me,Pe,Pe)}var Ve=[["mathbf","textbf","Main-Bold"],["mathbf","textbf","Main-Bold"],["mathnormal","textit","Math-Italic"],["mathnormal","textit","Math-Italic"],["boldsymbol","boldsymbol","Main-BoldItalic"],["boldsymbol","boldsymbol","Main-BoldItalic"],["mathscr","textscr","Script-Regular"],["","",""],["","",""],["","",""],["mathfrak","textfrak","Fraktur-Regular"],["mathfrak","textfrak","Fraktur-Regular"],["mathbb","textbb","AMS-Regular"],["mathbb","textbb","AMS-Regular"],["mathboldfrak","textboldfrak","Fraktur-Regular"],["mathboldfrak","textboldfrak","Fraktur-Regular"],["mathsf","textsf","SansSerif-Regular"],["mathsf","textsf","SansSerif-Regular"],["mathboldsf","textboldsf","SansSerif-Bold"],["mathboldsf","textboldsf","SansSerif-Bold"],["mathitsf","textitsf","SansSerif-Italic"],["mathitsf","textitsf","SansSerif-Italic"],["","",""],["","",""],["mathtt","texttt","Typewriter-Regular"],["mathtt","texttt","Typewriter-Regular"]],Fe=[["mathbf","textbf","Main-Bold"],["","",""],["mathsf","textsf","SansSerif-Regular"],["mathboldsf","textboldsf","SansSerif-Bold"],["mathtt","texttt","Typewriter-Regular"]],Ge=function(e,t,r){return le[r][e]&&le[r][e].replace&&(e=le[r][e].replace),{value:e,metrics:O(e,t,r)}},Ue=function(e,t,r,a,n){var i,o=Ge(e,t,r),s=o.metrics;if(e=o.value,s){var l=s.italic;("text"===r||a&&"mathit"===a.font)&&(l=0),i=new te(e,s.height,s.depth,l,s.skew,s.width,n)}else"undefined"!=typeof console&&console.warn("No character metrics for '"+e+"' in style '"+t+"' and mode '"+r+"'"),i=new te(e,0,0,0,0,0,n);if(a){i.maxFontSize=a.sizeMultiplier,a.style.isTight()&&i.classes.push("mtight");var h=a.getColor();h&&(i.style.color=h)}return i},Ye=(e,t)=>{if(W(e.classes)!==W(t.classes)||e.skew!==t.skew||e.maxFontSize!==t.maxFontSize)return!1;if(1===e.classes.length){var r=e.classes[0];if("mbin"===r||"mord"===r)return!1}for(var a in e.style)if(e.style.hasOwnProperty(a)&&e.style[a]!==t.style[a])return!1;for(var n in t.style)if(t.style.hasOwnProperty(n)&&e.style[n]!==t.style[n])return!1;return!0},Xe=function(e){for(var t=0,r=0,a=0,n=0;nt&&(t=i.height),i.depth>r&&(r=i.depth),i.maxFontSize>a&&(a=i.maxFontSize)}e.height=t,e.depth=r,e.maxFontSize=a},We=function(e,t,r,a){var n=new K(e,t,r,a);return Xe(n),n},_e=(e,t,r,a)=>new K(e,t,r,a),$e=function(e){var t=new q(e);return Xe(t),t},je=function(e,t,r){var a="";switch(e){case"amsrm":a="AMS";break;case"textrm":a="Main";break;case"textsf":a="SansSerif";break;case"texttt":a="Typewriter";break;default:a=e}return a+"-"+("textbf"===t&&"textit"===r?"BoldItalic":"textbf"===t?"Bold":"textit"===t?"Italic":"Regular")},Ze={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathsfit:{variant:"sans-serif-italic",fontName:"SansSerif-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},Ke={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},Je={fontMap:Ze,makeSymbol:Ue,mathsym:function(e,t,r,a){return void 0===a&&(a=[]),"boldsymbol"===r.font&&Ge(e,"Main-Bold",t).metrics?Ue(e,"Main-Bold",t,r,a.concat(["mathbf"])):"\\"===e||"main"===le[t][e].font?Ue(e,"Main-Regular",t,r,a):Ue(e,"AMS-Regular",t,r,a.concat(["amsrm"]))},makeSpan:We,makeSvgSpan:_e,makeLineSpan:function(e,t,r){var a=We([e],[],t);return a.height=Math.max(r||t.fontMetrics().defaultRuleThickness,t.minRuleThickness),a.style.borderBottomWidth=X(a.height),a.maxFontSize=1,a},makeAnchor:function(e,t,r,a){var n=new J(e,t,r,a);return Xe(n),n},makeFragment:$e,wrapFragment:function(e,t){return e instanceof q?We([],[e],t):e},makeVList:function(e,t){for(var{children:r,depth:a}=function(e){if("individualShift"===e.positionType){for(var t=e.children,r=[t[0]],a=-t[0].shift-t[0].elem.depth,n=a,i=1;i0)return Ue(i,h,n,t,o.concat(m));if(l){var c,p;if("boldsymbol"===l){var u=function(e,t,r,a,n){return"textord"!==n&&Ge(e,"Math-BoldItalic",t).metrics?{fontName:"Math-BoldItalic",fontClass:"boldsymbol"}:{fontName:"Main-Bold",fontClass:"mathbf"}}(i,n,0,0,r);c=u.fontName,p=[u.fontClass]}else s?(c=Ze[l].fontName,p=[l]):(c=je(l,t.fontWeight,t.fontShape),p=[l,t.fontWeight,t.fontShape]);if(Ge(i,c,n).metrics)return Ue(i,c,n,t,o.concat(p));if(ze.hasOwnProperty(i)&&"Typewriter"===c.slice(0,10)){for(var d=[],g=0;g{var r=We(["mspace"],[],t),a=Y(e,t);return r.style.marginRight=X(a),r},staticSvg:function(e,t){var[r,a,n]=Ke[e],i=new ae(r),o=new re([i],{width:X(a),height:X(n),style:"width:"+X(a),viewBox:"0 0 "+1e3*a+" "+1e3*n,preserveAspectRatio:"xMinYMin"}),s=_e(["overlay"],[o],t);return s.height=n,s.style.height=X(n),s.style.width=X(a),s},svgData:Ke,tryCombineChars:e=>{for(var t=0;t{var r=t.classes[0],a=e.classes[0];"mbin"===r&&l(ut,a)?t.classes[0]="mord":"mbin"===a&&l(pt,r)&&(e.classes[0]="mord")}),{node:c},p,u),vt(n,((e,t)=>{var r=xt(t),a=xt(e),n=r&&a?e.hasClass("mtight")?at[r][a]:rt[r][a]:null;if(n)return Je.makeGlue(n,h)}),{node:c},p,u),n},vt=function e(t,r,a,n,i){n&&t.push(n);for(var o=0;or=>{t.splice(e+1,0,r),o++})(o)}}n&&t.pop()},bt=function(e){return e instanceof q||e instanceof J||e instanceof K&&e.hasClass("enclosing")?e:null},yt=function e(t,r){var a=bt(t);if(a){var n=a.children;if(n.length){if("right"===r)return e(n[n.length-1],"right");if("left"===r)return e(n[0],"left")}}return t},xt=function(e,t){return e?(t&&(e=yt(e,t)),gt[e.classes[0]]||null):null},wt=function(e,t){var r=["nulldelimiter"].concat(e.baseSizingClasses());return ct(t.concat(r))},kt=function(e,t,r){if(!e)return ct();if(it[e.type]){var n=it[e.type](e,t);if(r&&t.size!==r.size){n=ct(t.sizingClasses(r),[n],t);var i=t.sizeMultiplier/r.sizeMultiplier;n.height*=i,n.depth*=i}return n}throw new a("Got group of unknown type: '"+e.type+"'")};function St(e,t){var r=ct(["base"],e,t),a=ct(["strut"]);return a.style.height=X(r.height+r.depth),r.depth&&(a.style.verticalAlign=X(-r.depth)),r.children.unshift(a),r}function Mt(e,t){var r=null;1===e.length&&"tag"===e[0].type&&(r=e[0].tag,e=e[0].body);var a,n=ft(e,t,"root");2===n.length&&n[1].hasClass("tag")&&(a=n.pop());for(var i,o=[],s=[],l=0;l0&&(o.push(St(s,t)),s=[]),o.push(n[l]));s.length>0&&o.push(St(s,t)),r?((i=St(ft(r,t,!0))).classes=["tag"],o.push(i)):a&&o.push(a);var m=ct(["katex-html"],o);if(m.setAttribute("aria-hidden","true"),i){var c=i.children[0];c.style.height=X(m.height+m.depth),m.depth&&(c.style.verticalAlign=X(-m.depth))}return m}function zt(e){return new q(e)}class At{constructor(e,t,r){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=e,this.attributes={},this.children=t||[],this.classes=r||[]}setAttribute(e,t){this.attributes[e]=t}getAttribute(e){return this.attributes[e]}toNode(){var e=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);this.classes.length>0&&(e.className=W(this.classes));for(var r=0;r0&&(e+=' class ="'+m(W(this.classes))+'"'),e+=">";for(var r=0;r"}toText(){return this.children.map((e=>e.toText())).join("")}}class Tt{constructor(e){this.text=void 0,this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return m(this.toText())}toText(){return this.text}}var Bt={MathNode:At,TextNode:Tt,SpaceNode:class{constructor(e){this.width=void 0,this.character=void 0,this.width=e,this.character=e>=.05555&&e<=.05556?" ":e>=.1666&&e<=.1667?" ":e>=.2222&&e<=.2223?" ":e>=.2777&&e<=.2778?"  ":e>=-.05556&&e<=-.05555?" ⁣":e>=-.1667&&e<=-.1666?" ⁣":e>=-.2223&&e<=-.2222?" ⁣":e>=-.2778&&e<=-.2777?" ⁣":null}toNode(){if(this.character)return document.createTextNode(this.character);var e=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return e.setAttribute("width",X(this.width)),e}toMarkup(){return this.character?""+this.character+"":''}toText(){return this.character?this.character:" "}},newDocumentFragment:zt},Nt=function(e,t,r){return!le[t][e]||!le[t][e].replace||55349===e.charCodeAt(0)||ze.hasOwnProperty(e)&&r&&(r.fontFamily&&"tt"===r.fontFamily.slice(4,6)||r.font&&"tt"===r.font.slice(4,6))||(e=le[t][e].replace),new Bt.TextNode(e)},Ct=function(e){return 1===e.length?e[0]:new Bt.MathNode("mrow",e)},qt=function(e,t){if("texttt"===t.fontFamily)return"monospace";if("textsf"===t.fontFamily)return"textit"===t.fontShape&&"textbf"===t.fontWeight?"sans-serif-bold-italic":"textit"===t.fontShape?"sans-serif-italic":"textbf"===t.fontWeight?"bold-sans-serif":"sans-serif";if("textit"===t.fontShape&&"textbf"===t.fontWeight)return"bold-italic";if("textit"===t.fontShape)return"italic";if("textbf"===t.fontWeight)return"bold";var r=t.font;if(!r||"mathnormal"===r)return null;var a=e.mode;if("mathit"===r)return"italic";if("boldsymbol"===r)return"textord"===e.type?"bold":"bold-italic";if("mathbf"===r)return"bold";if("mathbb"===r)return"double-struck";if("mathsfit"===r)return"sans-serif-italic";if("mathfrak"===r)return"fraktur";if("mathscr"===r||"mathcal"===r)return"script";if("mathsf"===r)return"sans-serif";if("mathtt"===r)return"monospace";var n=e.text;return l(["\\imath","\\jmath"],n)?null:(le[a][n]&&le[a][n].replace&&(n=le[a][n].replace),O(n,Je.fontMap[r].fontName,a)?Je.fontMap[r].variant:null)};function It(e){if(!e)return!1;if("mi"===e.type&&1===e.children.length){var t=e.children[0];return t instanceof Tt&&"."===t.text}if("mo"===e.type&&1===e.children.length&&"true"===e.getAttribute("separator")&&"0em"===e.getAttribute("lspace")&&"0em"===e.getAttribute("rspace")){var r=e.children[0];return r instanceof Tt&&","===r.text}return!1}var Rt=function(e,t,r){if(1===e.length){var a=Ot(e[0],t);return r&&a instanceof At&&"mo"===a.type&&(a.setAttribute("lspace","0em"),a.setAttribute("rspace","0em")),[a]}for(var n,i=[],o=0;o=1&&("mn"===n.type||It(n))){var l=s.children[0];l instanceof At&&"mn"===l.type&&(l.children=[...n.children,...l.children],i.pop())}else if("mi"===n.type&&1===n.children.length){var h=n.children[0];if(h instanceof Tt&&"̸"===h.text&&("mo"===s.type||"mi"===s.type||"mn"===s.type)){var m=s.children[0];m instanceof Tt&&m.text.length>0&&(m.text=m.text.slice(0,1)+"̸"+m.text.slice(1),i.pop())}}}i.push(s),n=s}return i},Ht=function(e,t,r){return Ct(Rt(e,t,r))},Ot=function(e,t){if(!e)return new Bt.MathNode("mrow");if(ot[e.type])return ot[e.type](e,t);throw new a("Got group of unknown type: '"+e.type+"'")};function Et(e,t,r,a,n){var i,o=Rt(e,r);i=1===o.length&&o[0]instanceof At&&l(["mrow","mtable"],o[0].type)?o[0]:new Bt.MathNode("mrow",o);var s=new Bt.MathNode("annotation",[new Bt.TextNode(t)]);s.setAttribute("encoding","application/x-tex");var h=new Bt.MathNode("semantics",[i,s]),m=new Bt.MathNode("math",[h]);return m.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),a&&m.setAttribute("display","block"),Je.makeSpan([n?"katex":"katex-mathml"],[m])}var Lt=function(e){return new V({style:e.displayMode?A.DISPLAY:A.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},Dt=function(e,t){if(t.displayMode){var r=["katex-display"];t.leqno&&r.push("leqno"),t.fleqn&&r.push("fleqn"),e=Je.makeSpan(r,[e])}return e},Pt={widehat:"^",widecheck:"ˇ",widetilde:"~",utilde:"~",overleftarrow:"←",underleftarrow:"←",xleftarrow:"←",overrightarrow:"→",underrightarrow:"→",xrightarrow:"→",underbrace:"⏟",overbrace:"⏞",overgroup:"⏠",undergroup:"⏡",overleftrightarrow:"↔",underleftrightarrow:"↔",xleftrightarrow:"↔",Overrightarrow:"⇒",xRightarrow:"⇒",overleftharpoon:"↼",xleftharpoonup:"↼",overrightharpoon:"⇀",xrightharpoonup:"⇀",xLeftarrow:"⇐",xLeftrightarrow:"⇔",xhookleftarrow:"↩",xhookrightarrow:"↪",xmapsto:"↦",xrightharpoondown:"⇁",xleftharpoondown:"↽",xrightleftharpoons:"⇌",xleftrightharpoons:"⇋",xtwoheadleftarrow:"↞",xtwoheadrightarrow:"↠",xlongequal:"=",xtofrom:"⇄",xrightleftarrows:"⇄",xrightequilibrium:"⇌",xleftequilibrium:"⇋","\\cdrightarrow":"→","\\cdleftarrow":"←","\\cdlongequal":"="},Vt={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},Ft=function(e){var t=new Bt.MathNode("mo",[new Bt.TextNode(Pt[e.replace(/^\\/,"")])]);return t.setAttribute("stretchy","true"),t},Gt=function(e,t){var{span:r,minWidth:a,height:n}=function(){var r=4e5,a=e.label.slice(1);if(l(["widehat","widecheck","widetilde","utilde"],a)){var n,i,o,s="ordgroup"===(d=e.base).type?d.body.length:1;if(s>5)"widehat"===a||"widecheck"===a?(n=420,r=2364,o=.42,i=a+"4"):(n=312,r=2340,o=.34,i="tilde4");else{var h=[1,1,2,2,3,3][s];"widehat"===a||"widecheck"===a?(r=[0,1062,2364,2364,2364][h],n=[0,239,300,360,420][h],o=[0,.24,.3,.3,.36,.42][h],i=a+h):(r=[0,600,1033,2339,2340][h],n=[0,260,286,306,312][h],o=[0,.26,.286,.3,.306,.34][h],i="tilde"+h)}var m=new ae(i),c=new re([m],{width:"100%",height:X(o),viewBox:"0 0 "+r+" "+n,preserveAspectRatio:"none"});return{span:Je.makeSvgSpan([],[c],t),minWidth:0,height:o}}var p,u,d,g=[],f=Vt[a],[v,b,y]=f,x=y/1e3,w=v.length;if(1===w)p=["hide-tail"],u=[f[3]];else if(2===w)p=["halfarrow-left","halfarrow-right"],u=["xMinYMin","xMaxYMin"];else{if(3!==w)throw new Error("Correct katexImagesData or update code here to support\n "+w+" children.");p=["brace-left","brace-center","brace-right"],u=["xMinYMin","xMidYMin","xMaxYMin"]}for(var k=0;k0&&(r.style.minWidth=X(a)),r};function Ut(e,t){if(!e||e.type!==t)throw new Error("Expected node of type "+t+", but got "+(e?"node of type "+e.type:String(e)));return e}function Yt(e){var t=Xt(e);if(!t)throw new Error("Expected node of symbol group type, but got "+(e?"node of type "+e.type:String(e)));return t}function Xt(e){return e&&("atom"===e.type||se.hasOwnProperty(e.type))?e:null}var Wt=(e,t)=>{var r,a,n;e&&"supsub"===e.type?(r=(a=Ut(e.base,"accent")).base,e.base=r,n=function(e){if(e instanceof K)return e;throw new Error("Expected span but got "+String(e)+".")}(kt(e,t)),e.base=a):r=(a=Ut(e,"accent")).base;var i=kt(r,t.havingCrampedStyle()),o=0;if(a.isShifty&&u(r)){var s=p(r);o=ie(kt(s,t.havingCrampedStyle())).skew}var l,h="\\c"===a.label,m=h?i.height+i.depth:Math.min(i.height,t.fontMetrics().xHeight);if(a.isStretchy)l=Gt(a,t),l=Je.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:i},{type:"elem",elem:l,wrapperClasses:["svg-align"],wrapperStyle:o>0?{width:"calc(100% - "+X(2*o)+")",marginLeft:X(2*o)}:void 0}]},t);else{var c,d;"\\vec"===a.label?(c=Je.staticSvg("vec",t),d=Je.svgData.vec[1]):((c=ie(c=Je.makeOrd({mode:a.mode,text:a.label},t,"textord"))).italic=0,d=c.width,h&&(m+=c.depth)),l=Je.makeSpan(["accent-body"],[c]);var g="\\textcircled"===a.label;g&&(l.classes.push("accent-full"),m=i.height);var f=o;g||(f-=d/2),l.style.left=X(f),"\\textcircled"===a.label&&(l.style.top=".2em"),l=Je.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:i},{type:"kern",size:-m},{type:"elem",elem:l}]},t)}var v=Je.makeSpan(["mord","accent"],[l],t);return n?(n.children[0]=v,n.height=Math.max(v.height,n.height),n.classes[0]="mord",n):v},_t=(e,t)=>{var r=e.isStretchy?Ft(e.label):new Bt.MathNode("mo",[Nt(e.label,e.mode)]),a=new Bt.MathNode("mover",[Ot(e.base,t),r]);return a.setAttribute("accent","true"),a},$t=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map((e=>"\\"+e)).join("|"));st({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:(e,t)=>{var r=ht(t[0]),a=!$t.test(e.funcName),n=!a||"\\widehat"===e.funcName||"\\widetilde"===e.funcName||"\\widecheck"===e.funcName;return{type:"accent",mode:e.parser.mode,label:e.funcName,isStretchy:a,isShifty:n,base:r}},htmlBuilder:Wt,mathmlBuilder:_t}),st({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:(e,t)=>{var r=t[0],a=e.parser.mode;return"math"===a&&(e.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+e.funcName+" works only in text mode"),a="text"),{type:"accent",mode:a,label:e.funcName,isStretchy:!1,isShifty:!0,base:r}},htmlBuilder:Wt,mathmlBuilder:_t}),st({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:(e,t)=>{var{parser:r,funcName:a}=e,n=t[0];return{type:"accentUnder",mode:r.mode,label:a,base:n}},htmlBuilder:(e,t)=>{var r=kt(e.base,t),a=Gt(e,t),n="\\utilde"===e.label?.12:0,i=Je.makeVList({positionType:"top",positionData:r.height,children:[{type:"elem",elem:a,wrapperClasses:["svg-align"]},{type:"kern",size:n},{type:"elem",elem:r}]},t);return Je.makeSpan(["mord","accentunder"],[i],t)},mathmlBuilder:(e,t)=>{var r=Ft(e.label),a=new Bt.MathNode("munder",[Ot(e.base,t),r]);return a.setAttribute("accentunder","true"),a}});var jt=e=>{var t=new Bt.MathNode("mpadded",e?[e]:[]);return t.setAttribute("width","+0.6em"),t.setAttribute("lspace","0.3em"),t};st({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler(e,t,r){var{parser:a,funcName:n}=e;return{type:"xArrow",mode:a.mode,label:n,body:t[0],below:r[0]}},htmlBuilder(e,t){var r,a=t.style,n=t.havingStyle(a.sup()),i=Je.wrapFragment(kt(e.body,n,t),t),o="\\x"===e.label.slice(0,2)?"x":"cd";i.classes.push(o+"-arrow-pad"),e.below&&(n=t.havingStyle(a.sub()),(r=Je.wrapFragment(kt(e.below,n,t),t)).classes.push(o+"-arrow-pad"));var s,l=Gt(e,t),h=-t.fontMetrics().axisHeight+.5*l.height,m=-t.fontMetrics().axisHeight-.5*l.height-.111;if((i.depth>.25||"\\xleftequilibrium"===e.label)&&(m-=i.depth),r){var c=-t.fontMetrics().axisHeight+r.height+.5*l.height+.111;s=Je.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:m},{type:"elem",elem:l,shift:h},{type:"elem",elem:r,shift:c}]},t)}else s=Je.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:m},{type:"elem",elem:l,shift:h}]},t);return s.children[0].children[0].children[1].classes.push("svg-align"),Je.makeSpan(["mrel","x-arrow"],[s],t)},mathmlBuilder(e,t){var r,a=Ft(e.label);if(a.setAttribute("minsize","x"===e.label.charAt(0)?"1.75em":"3.0em"),e.body){var n=jt(Ot(e.body,t));if(e.below){var i=jt(Ot(e.below,t));r=new Bt.MathNode("munderover",[a,i,n])}else r=new Bt.MathNode("mover",[a,n])}else if(e.below){var o=jt(Ot(e.below,t));r=new Bt.MathNode("munder",[a,o])}else r=jt(),r=new Bt.MathNode("mover",[a,r]);return r}});var Zt=Je.makeSpan;function Kt(e,t){var r=ft(e.body,t,!0);return Zt([e.mclass],r,t)}function Jt(e,t){var r,a=Rt(e.body,t);return"minner"===e.mclass?r=new Bt.MathNode("mpadded",a):"mord"===e.mclass?e.isCharacterBox?(r=a[0]).type="mi":r=new Bt.MathNode("mi",a):(e.isCharacterBox?(r=a[0]).type="mo":r=new Bt.MathNode("mo",a),"mbin"===e.mclass?(r.attributes.lspace="0.22em",r.attributes.rspace="0.22em"):"mpunct"===e.mclass?(r.attributes.lspace="0em",r.attributes.rspace="0.17em"):"mopen"===e.mclass||"mclose"===e.mclass?(r.attributes.lspace="0em",r.attributes.rspace="0em"):"minner"===e.mclass&&(r.attributes.lspace="0.0556em",r.attributes.width="+0.1111em")),r}st({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(e,t){var{parser:r,funcName:a}=e,n=t[0];return{type:"mclass",mode:r.mode,mclass:"m"+a.slice(5),body:mt(n),isCharacterBox:u(n)}},htmlBuilder:Kt,mathmlBuilder:Jt});var Qt=e=>{var t="ordgroup"===e.type&&e.body.length?e.body[0]:e;return"atom"!==t.type||"bin"!==t.family&&"rel"!==t.family?"mord":"m"+t.family};st({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(e,t){var{parser:r}=e;return{type:"mclass",mode:r.mode,mclass:Qt(t[0]),body:mt(t[1]),isCharacterBox:u(t[1])}}}),st({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(e,t){var r,{parser:a,funcName:n}=e,i=t[1],o=t[0];r="\\stackrel"!==n?Qt(i):"mrel";var s={type:"op",mode:i.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:"\\stackrel"!==n,body:mt(i)},l={type:"supsub",mode:o.mode,base:s,sup:"\\underset"===n?null:o,sub:"\\underset"===n?o:null};return{type:"mclass",mode:a.mode,mclass:r,body:[l],isCharacterBox:u(l)}},htmlBuilder:Kt,mathmlBuilder:Jt}),st({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(e,t){var{parser:r}=e;return{type:"pmb",mode:r.mode,mclass:Qt(t[0]),body:mt(t[0])}},htmlBuilder(e,t){var r=ft(e.body,t,!0),a=Je.makeSpan([e.mclass],r,t);return a.style.textShadow="0.02em 0.01em 0.04px",a},mathmlBuilder(e,t){var r=Rt(e.body,t),a=new Bt.MathNode("mstyle",r);return a.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),a}});var er={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},tr=e=>"textord"===e.type&&"@"===e.text;function rr(e,t,r){var a=er[e];switch(a){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return r.callFunction(a,[t[0]],[t[1]]);case"\\uparrow":case"\\downarrow":var n={type:"atom",text:a,mode:"math",family:"rel"},i={type:"ordgroup",mode:"math",body:[r.callFunction("\\\\cdleft",[t[0]],[]),r.callFunction("\\Big",[n],[]),r.callFunction("\\\\cdright",[t[1]],[])]};return r.callFunction("\\\\cdparent",[i],[]);case"\\\\cdlongequal":return r.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":return r.callFunction("\\Big",[{type:"textord",text:"\\Vert",mode:"math"}],[]);default:return{type:"textord",text:" ",mode:"math"}}}st({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(e,t){var{parser:r,funcName:a}=e;return{type:"cdlabel",mode:r.mode,side:a.slice(4),label:t[0]}},htmlBuilder(e,t){var r=t.havingStyle(t.style.sup()),a=Je.wrapFragment(kt(e.label,r,t),t);return a.classes.push("cd-label-"+e.side),a.style.bottom=X(.8-a.depth),a.height=0,a.depth=0,a},mathmlBuilder(e,t){var r=new Bt.MathNode("mrow",[Ot(e.label,t)]);return(r=new Bt.MathNode("mpadded",[r])).setAttribute("width","0"),"left"===e.side&&r.setAttribute("lspace","-1width"),r.setAttribute("voffset","0.7em"),(r=new Bt.MathNode("mstyle",[r])).setAttribute("displaystyle","false"),r.setAttribute("scriptlevel","1"),r}}),st({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(e,t){var{parser:r}=e;return{type:"cdlabelparent",mode:r.mode,fragment:t[0]}},htmlBuilder(e,t){var r=Je.wrapFragment(kt(e.fragment,t),t);return r.classes.push("cd-vert-arrow"),r},mathmlBuilder:(e,t)=>new Bt.MathNode("mrow",[Ot(e.fragment,t)])}),st({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(e,t){for(var{parser:r}=e,n=Ut(t[0],"ordgroup").body,i="",o=0;o=1114111)throw new a("\\@char with invalid code point "+i);return l<=65535?s=String.fromCharCode(l):(l-=65536,s=String.fromCharCode(55296+(l>>10),56320+(1023&l))),{type:"textord",mode:r.mode,text:s}}});var ar=(e,t)=>{var r=ft(e.body,t.withColor(e.color),!1);return Je.makeFragment(r)},nr=(e,t)=>{var r=Rt(e.body,t.withColor(e.color)),a=new Bt.MathNode("mstyle",r);return a.setAttribute("mathcolor",e.color),a};st({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(e,t){var{parser:r}=e,a=Ut(t[0],"color-token").color,n=t[1];return{type:"color",mode:r.mode,color:a,body:mt(n)}},htmlBuilder:ar,mathmlBuilder:nr}),st({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(e,t){var{parser:r,breakOnTokenText:a}=e,n=Ut(t[0],"color-token").color;r.gullet.macros.set("\\current@color",n);var i=r.parseExpression(!0,a);return{type:"color",mode:r.mode,color:n,body:i}},htmlBuilder:ar,mathmlBuilder:nr}),st({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(e,t,r){var{parser:a}=e,n="["===a.gullet.future().text?a.parseSizeGroup(!0):null,i=!a.settings.displayMode||!a.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:a.mode,newLine:i,size:n&&Ut(n,"size").value}},htmlBuilder(e,t){var r=Je.makeSpan(["mspace"],[],t);return e.newLine&&(r.classes.push("newline"),e.size&&(r.style.marginTop=X(Y(e.size,t)))),r},mathmlBuilder(e,t){var r=new Bt.MathNode("mspace");return e.newLine&&(r.setAttribute("linebreak","newline"),e.size&&r.setAttribute("height",X(Y(e.size,t)))),r}});var ir={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},or=e=>{var t=e.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(t))throw new a("Expected a control sequence",e);return t},sr=(e,t,r,a)=>{var n=e.gullet.macros.get(r.text);null==n&&(r.noexpand=!0,n={tokens:[r],numArgs:0,unexpandable:!e.gullet.isExpandable(r.text)}),e.gullet.macros.set(t,n,a)};st({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(e){var{parser:t,funcName:r}=e;t.consumeSpaces();var n=t.fetch();if(ir[n.text])return"\\global"!==r&&"\\\\globallong"!==r||(n.text=ir[n.text]),Ut(t.parseFunction(),"internal");throw new a("Invalid token after macro prefix",n)}}),st({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e){var{parser:t,funcName:r}=e,n=t.gullet.popToken(),i=n.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(i))throw new a("Expected a control sequence",n);for(var o,s=0,l=[[]];"{"!==t.gullet.future().text;)if("#"===(n=t.gullet.popToken()).text){if("{"===t.gullet.future().text){o=t.gullet.future(),l[s].push("{");break}if(n=t.gullet.popToken(),!/^[1-9]$/.test(n.text))throw new a('Invalid argument number "'+n.text+'"');if(parseInt(n.text)!==s+1)throw new a('Argument number "'+n.text+'" out of order');s++,l.push([])}else{if("EOF"===n.text)throw new a("Expected a macro definition");l[s].push(n.text)}var{tokens:h}=t.gullet.consumeArg();return o&&h.unshift(o),"\\edef"!==r&&"\\xdef"!==r||(h=t.gullet.expandTokens(h)).reverse(),t.gullet.macros.set(i,{tokens:h,numArgs:s,delimiters:l},r===ir[r]),{type:"internal",mode:t.mode}}}),st({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e){var{parser:t,funcName:r}=e,a=or(t.gullet.popToken());t.gullet.consumeSpaces();var n=(e=>{var t=e.gullet.popToken();return"="===t.text&&" "===(t=e.gullet.popToken()).text&&(t=e.gullet.popToken()),t})(t);return sr(t,a,n,"\\\\globallet"===r),{type:"internal",mode:t.mode}}}),st({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e){var{parser:t,funcName:r}=e,a=or(t.gullet.popToken()),n=t.gullet.popToken(),i=t.gullet.popToken();return sr(t,a,i,"\\\\globalfuture"===r),t.gullet.pushToken(i),t.gullet.pushToken(n),{type:"internal",mode:t.mode}}});var lr=function(e,t,r){var a=O(le.math[e]&&le.math[e].replace||e,t,r);if(!a)throw new Error("Unsupported symbol "+e+" and font size "+t+".");return a},hr=function(e,t,r,a){var n=r.havingBaseStyle(t),i=Je.makeSpan(a.concat(n.sizingClasses(r)),[e],r),o=n.sizeMultiplier/r.sizeMultiplier;return i.height*=o,i.depth*=o,i.maxFontSize=n.sizeMultiplier,i},mr=function(e,t,r){var a=t.havingBaseStyle(r),n=(1-t.sizeMultiplier/a.sizeMultiplier)*t.fontMetrics().axisHeight;e.classes.push("delimcenter"),e.style.top=X(n),e.height-=n,e.depth+=n},cr=function(e,t,r,a,n,i){var o=function(e,t,r,a){return Je.makeSymbol(e,"Size"+t+"-Regular",r,a)}(e,t,n,a),s=hr(Je.makeSpan(["delimsizing","size"+t],[o],a),A.TEXT,a,i);return r&&mr(s,a,A.TEXT),s},pr=function(e,t,r){return{type:"elem",elem:Je.makeSpan(["delimsizinginner","Size1-Regular"===t?"delim-size1":"delim-size4"],[Je.makeSpan([],[Je.makeSymbol(e,t,r)])])}},ur=function(e,t,r){var a=I["Size4-Regular"][e.charCodeAt(0)]?I["Size4-Regular"][e.charCodeAt(0)][4]:I["Size1-Regular"][e.charCodeAt(0)][4],n=new ae("inner",function(e,t){switch(e){case"⎜":return"M291 0 H417 V"+t+" H291z M291 0 H417 V"+t+" H291z";case"∣":return"M145 0 H188 V"+t+" H145z M145 0 H188 V"+t+" H145z";case"∥":return"M145 0 H188 V"+t+" H145z M145 0 H188 V"+t+" H145zM367 0 H410 V"+t+" H367z M367 0 H410 V"+t+" H367z";case"⎟":return"M457 0 H583 V"+t+" H457z M457 0 H583 V"+t+" H457z";case"⎢":return"M319 0 H403 V"+t+" H319z M319 0 H403 V"+t+" H319z";case"⎥":return"M263 0 H347 V"+t+" H263z M263 0 H347 V"+t+" H263z";case"⎪":return"M384 0 H504 V"+t+" H384z M384 0 H504 V"+t+" H384z";case"⏐":return"M312 0 H355 V"+t+" H312z M312 0 H355 V"+t+" H312z";case"‖":return"M257 0 H300 V"+t+" H257z M257 0 H300 V"+t+" H257zM478 0 H521 V"+t+" H478z M478 0 H521 V"+t+" H478z";default:return""}}(e,Math.round(1e3*t))),i=new re([n],{width:X(a),height:X(t),style:"width:"+X(a),viewBox:"0 0 "+1e3*a+" "+Math.round(1e3*t),preserveAspectRatio:"xMinYMin"}),o=Je.makeSvgSpan([],[i],r);return o.height=t,o.style.height=X(t),o.style.width=X(a),{type:"elem",elem:o}},dr={type:"kern",size:-.008},gr=["|","\\lvert","\\rvert","\\vert"],fr=["\\|","\\lVert","\\rVert","\\Vert"],vr=function(e,t,r,a,n,i){var o,s,h,m,c="",p=0;o=h=m=e,s=null;var u="Size1-Regular";"\\uparrow"===e?h=m="⏐":"\\Uparrow"===e?h=m="‖":"\\downarrow"===e?o=h="⏐":"\\Downarrow"===e?o=h="‖":"\\updownarrow"===e?(o="\\uparrow",h="⏐",m="\\downarrow"):"\\Updownarrow"===e?(o="\\Uparrow",h="‖",m="\\Downarrow"):l(gr,e)?(h="∣",c="vert",p=333):l(fr,e)?(h="∥",c="doublevert",p=556):"["===e||"\\lbrack"===e?(o="⎡",h="⎢",m="⎣",u="Size4-Regular",c="lbrack",p=667):"]"===e||"\\rbrack"===e?(o="⎤",h="⎥",m="⎦",u="Size4-Regular",c="rbrack",p=667):"\\lfloor"===e||"⌊"===e?(h=o="⎢",m="⎣",u="Size4-Regular",c="lfloor",p=667):"\\lceil"===e||"⌈"===e?(o="⎡",h=m="⎢",u="Size4-Regular",c="lceil",p=667):"\\rfloor"===e||"⌋"===e?(h=o="⎥",m="⎦",u="Size4-Regular",c="rfloor",p=667):"\\rceil"===e||"⌉"===e?(o="⎤",h=m="⎥",u="Size4-Regular",c="rceil",p=667):"("===e||"\\lparen"===e?(o="⎛",h="⎜",m="⎝",u="Size4-Regular",c="lparen",p=875):")"===e||"\\rparen"===e?(o="⎞",h="⎟",m="⎠",u="Size4-Regular",c="rparen",p=875):"\\{"===e||"\\lbrace"===e?(o="⎧",s="⎨",m="⎩",h="⎪",u="Size4-Regular"):"\\}"===e||"\\rbrace"===e?(o="⎫",s="⎬",m="⎭",h="⎪",u="Size4-Regular"):"\\lgroup"===e||"⟮"===e?(o="⎧",m="⎩",h="⎪",u="Size4-Regular"):"\\rgroup"===e||"⟯"===e?(o="⎫",m="⎭",h="⎪",u="Size4-Regular"):"\\lmoustache"===e||"⎰"===e?(o="⎧",m="⎭",h="⎪",u="Size4-Regular"):"\\rmoustache"!==e&&"⎱"!==e||(o="⎫",m="⎩",h="⎪",u="Size4-Regular");var d=lr(o,u,n),g=d.height+d.depth,f=lr(h,u,n),v=f.height+f.depth,b=lr(m,u,n),y=b.height+b.depth,x=0,w=1;if(null!==s){var k=lr(s,u,n);x=k.height+k.depth,w=2}var S=g+y+x,M=S+Math.max(0,Math.ceil((t-S)/(w*v)))*w*v,z=a.fontMetrics().axisHeight;r&&(z*=a.sizeMultiplier);var T=M/2-z,B=[];if(c.length>0){var N=M-g-y,C=Math.round(1e3*M),q=function(e,t){switch(e){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+t+" v1759 h347 v-84\nH403z M403 1759 V0 H319 V1759 v"+t+" v1759 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+t+" v1759 H0 v84 H347z\nM347 1759 V0 H263 V1759 v"+t+" v1759 h84z";case"vert":return"M145 15 v585 v"+t+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-t+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v"+t+" v585 h43z";case"doublevert":return"M145 15 v585 v"+t+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-t+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v"+t+" v585 h43z\nM367 15 v585 v"+t+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-t+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M410 15 H367 v585 v"+t+" v585 h43z";case"lfloor":return"M319 602 V0 H403 V602 v"+t+" v1715 h263 v84 H319z\nMM319 602 V0 H403 V602 v"+t+" v1715 H319z";case"rfloor":return"M319 602 V0 H403 V602 v"+t+" v1799 H0 v-84 H319z\nMM319 602 V0 H403 V602 v"+t+" v1715 H319z";case"lceil":return"M403 1759 V84 H666 V0 H319 V1759 v"+t+" v602 h84z\nM403 1759 V0 H319 V1759 v"+t+" v602 h84z";case"rceil":return"M347 1759 V0 H0 V84 H263 V1759 v"+t+" v602 h84z\nM347 1759 V0 h-84 V1759 v"+t+" v602 h84z";case"lparen":return"M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1\nc-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349,\n-36,557 l0,"+(t+84)+"c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210,\n949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9\nc0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5,\n-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189\nl0,-"+(t+92)+"c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3,\n-210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z";case"rparen":return"M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3,\n63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5\nc11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,"+(t+9)+"\nc-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664\nc-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11\nc0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17\nc242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558\nl0,-"+(t+144)+"c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,\n-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z";default:throw new Error("Unknown stretchy delimiter.")}}(c,Math.round(1e3*N)),I=new ae(c,q),R=(p/1e3).toFixed(3)+"em",H=(C/1e3).toFixed(3)+"em",O=new re([I],{width:R,height:H,viewBox:"0 0 "+p+" "+C}),E=Je.makeSvgSpan([],[O],a);E.height=C/1e3,E.style.width=R,E.style.height=H,B.push({type:"elem",elem:E})}else{if(B.push(pr(m,u,n)),B.push(dr),null===s){var L=M-g-y+.016;B.push(ur(h,L,a))}else{var D=(M-g-y-x)/2+.016;B.push(ur(h,D,a)),B.push(dr),B.push(pr(s,u,n)),B.push(dr),B.push(ur(h,D,a))}B.push(dr),B.push(pr(o,u,n))}var P=a.havingBaseStyle(A.TEXT),V=Je.makeVList({positionType:"bottom",positionData:T,children:B},P);return hr(Je.makeSpan(["delimsizing","mult"],[V],P),A.TEXT,a,i)},br=.08,yr=function(e,t,r,a,n){var i=function(e,t,r){t*=1e3;var a="";switch(e){case"sqrtMain":a=function(e){return"M95,"+(622+e+80)+"\nc-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14\nc0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54\nc44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10\ns173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429\nc69,-144,104.5,-217.7,106.5,-221\nl"+e/2.075+" -"+e+"\nc5.3,-9.3,12,-14,20,-14\nH400000v"+(40+e)+"H845.2724\ns-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7\nc-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z\nM"+(834+e)+" 80h400000v"+(40+e)+"h-400000z"}(t);break;case"sqrtSize1":a=function(e){return"M263,"+(601+e+80)+"c0.7,0,18,39.7,52,119\nc34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120\nc340,-704.7,510.7,-1060.3,512,-1067\nl"+e/2.084+" -"+e+"\nc4.7,-7.3,11,-11,19,-11\nH40000v"+(40+e)+"H1012.3\ns-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232\nc-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1\ns-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26\nc-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z\nM"+(1001+e)+" 80h400000v"+(40+e)+"h-400000z"}(t);break;case"sqrtSize2":a=function(e){return"M983 "+(10+e+80)+"\nl"+e/3.13+" -"+e+"\nc4,-6.7,10,-10,18,-10 H400000v"+(40+e)+"\nH1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7\ns-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744\nc-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30\nc26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722\nc56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5\nc53.7,-170.3,84.5,-266.8,92.5,-289.5z\nM"+(1001+e)+" 80h400000v"+(40+e)+"h-400000z"}(t);break;case"sqrtSize3":a=function(e){return"M424,"+(2398+e+80)+"\nc-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514\nc0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20\ns-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121\ns209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081\nl"+e/4.223+" -"+e+"c4,-6.7,10,-10,18,-10 H400000\nv"+(40+e)+"H1014.6\ns-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185\nc-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2z M"+(1001+e)+" 80\nh400000v"+(40+e)+"h-400000z"}(t);break;case"sqrtSize4":a=function(e){return"M473,"+(2713+e+80)+"\nc339.3,-1799.3,509.3,-2700,510,-2702 l"+e/5.298+" -"+e+"\nc3.3,-7.3,9.3,-11,18,-11 H400000v"+(40+e)+"H1017.7\ns-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200\nc0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26\ns76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,\n606zM"+(1001+e)+" 80h400000v"+(40+e)+"H1017.7z"}(t);break;case"sqrtTall":a=function(e,t,r){return"M702 "+(e+80)+"H400000"+(40+e)+"\nH742v"+(r-54-80-e)+"l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1\nh-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170\nc-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667\n219 661 l218 661zM702 80H400000v"+(40+e)+"H742z"}(t,0,r)}return a}(e,a,r),o=new ae(e,i),s=new re([o],{width:"400em",height:X(t),viewBox:"0 0 400000 "+r,preserveAspectRatio:"xMinYMin slice"});return Je.makeSvgSpan(["hide-tail"],[s],n)},xr=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","\\surd"],wr=["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱"],kr=["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"],Sr=[0,1.2,1.8,2.4,3],Mr=[{type:"small",style:A.SCRIPTSCRIPT},{type:"small",style:A.SCRIPT},{type:"small",style:A.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],zr=[{type:"small",style:A.SCRIPTSCRIPT},{type:"small",style:A.SCRIPT},{type:"small",style:A.TEXT},{type:"stack"}],Ar=[{type:"small",style:A.SCRIPTSCRIPT},{type:"small",style:A.SCRIPT},{type:"small",style:A.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],Tr=function(e){if("small"===e.type)return"Main-Regular";if("large"===e.type)return"Size"+e.size+"-Regular";if("stack"===e.type)return"Size4-Regular";throw new Error("Add support for delim type '"+e.type+"' here.")},Br=function(e,t,r,a){for(var n=Math.min(2,3-a.style.size);nt)return r[n]}return r[r.length-1]},Nr=function(e,t,r,a,n,i){var o;"<"===e||"\\lt"===e||"⟨"===e?e="\\langle":">"!==e&&"\\gt"!==e&&"⟩"!==e||(e="\\rangle"),o=l(kr,e)?Mr:l(xr,e)?Ar:zr;var s=Br(e,t,o,a);return"small"===s.type?function(e,t,r,a,n,i){var o=Je.makeSymbol(e,"Main-Regular",n,a),s=hr(o,t,a,i);return r&&mr(s,a,t),s}(e,s.style,r,a,n,i):"large"===s.type?cr(e,s.size,r,a,n,i):vr(e,t,r,a,n,i)},Cr={sqrtImage:function(e,t){var r,a,n=t.havingBaseSizing(),i=Br("\\surd",e*n.sizeMultiplier,Ar,n),o=n.sizeMultiplier,s=Math.max(0,t.minRuleThickness-t.fontMetrics().sqrtRuleThickness),l=0,h=0,m=0;return"small"===i.type?(e<1?o=1:e<1.4&&(o=.7),h=(1+s)/o,(r=yr("sqrtMain",l=(1+s+br)/o,m=1e3+1e3*s+80,s,t)).style.minWidth="0.853em",a=.833/o):"large"===i.type?(m=1080*Sr[i.size],h=(Sr[i.size]+s)/o,l=(Sr[i.size]+s+br)/o,(r=yr("sqrtSize"+i.size,l,m,s,t)).style.minWidth="1.02em",a=1/o):(l=e+s+br,h=e+s,m=Math.floor(1e3*e+s)+80,(r=yr("sqrtTall",l,m,s,t)).style.minWidth="0.742em",a=1.056),r.height=h,r.style.height=X(l),{span:r,advanceWidth:a,ruleWidth:(t.fontMetrics().sqrtRuleThickness+s)*o}},sizedDelim:function(e,t,r,n,i){if("<"===e||"\\lt"===e||"⟨"===e?e="\\langle":">"!==e&&"\\gt"!==e&&"⟩"!==e||(e="\\rangle"),l(xr,e)||l(kr,e))return cr(e,t,!1,r,n,i);if(l(wr,e))return vr(e,Sr[t],!1,r,n,i);throw new a("Illegal delimiter: '"+e+"'")},sizeToMaxHeight:Sr,customSizedDelim:Nr,leftRightDelim:function(e,t,r,a,n,i){var o=a.fontMetrics().axisHeight*a.sizeMultiplier,s=5/a.fontMetrics().ptPerEm,l=Math.max(t-o,r+o),h=Math.max(l/500*901,2*l-s);return Nr(e,h,!0,a,n,i)}},qr={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},Ir=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","<",">","\\langle","⟨","\\rangle","⟩","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."];function Rr(e,t){var r=Xt(e);if(r&&l(Ir,r.text))return r;throw new a(r?"Invalid delimiter '"+r.text+"' after '"+t.funcName+"'":"Invalid delimiter type '"+e.type+"'",e)}function Hr(e){if(!e.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}st({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:(e,t)=>{var r=Rr(t[0],e);return{type:"delimsizing",mode:e.parser.mode,size:qr[e.funcName].size,mclass:qr[e.funcName].mclass,delim:r.text}},htmlBuilder:(e,t)=>"."===e.delim?Je.makeSpan([e.mclass]):Cr.sizedDelim(e.delim,e.size,t,e.mode,[e.mclass]),mathmlBuilder:e=>{var t=[];"."!==e.delim&&t.push(Nt(e.delim,e.mode));var r=new Bt.MathNode("mo",t);"mopen"===e.mclass||"mclose"===e.mclass?r.setAttribute("fence","true"):r.setAttribute("fence","false"),r.setAttribute("stretchy","true");var a=X(Cr.sizeToMaxHeight[e.size]);return r.setAttribute("minsize",a),r.setAttribute("maxsize",a),r}}),st({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:(e,t)=>{var r=e.parser.gullet.macros.get("\\current@color");if(r&&"string"!=typeof r)throw new a("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:e.parser.mode,delim:Rr(t[0],e).text,color:r}}}),st({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:(e,t)=>{var r=Rr(t[0],e),a=e.parser;++a.leftrightDepth;var n=a.parseExpression(!1);--a.leftrightDepth,a.expect("\\right",!1);var i=Ut(a.parseFunction(),"leftright-right");return{type:"leftright",mode:a.mode,body:n,left:r.text,right:i.delim,rightColor:i.color}},htmlBuilder:(e,t)=>{Hr(e);for(var r,a,n=ft(e.body,t,!0,["mopen","mclose"]),i=0,o=0,s=!1,l=0;l{Hr(e);var r=Rt(e.body,t);if("."!==e.left){var a=new Bt.MathNode("mo",[Nt(e.left,e.mode)]);a.setAttribute("fence","true"),r.unshift(a)}if("."!==e.right){var n=new Bt.MathNode("mo",[Nt(e.right,e.mode)]);n.setAttribute("fence","true"),e.rightColor&&n.setAttribute("mathcolor",e.rightColor),r.push(n)}return Ct(r)}}),st({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:(e,t)=>{var r=Rr(t[0],e);if(!e.parser.leftrightDepth)throw new a("\\middle without preceding \\left",r);return{type:"middle",mode:e.parser.mode,delim:r.text}},htmlBuilder:(e,t)=>{var r;if("."===e.delim)r=wt(t,[]);else{r=Cr.sizedDelim(e.delim,1,t,e.mode,[]);var a={delim:e.delim,options:t};r.isMiddle=a}return r},mathmlBuilder:(e,t)=>{var r="\\vert"===e.delim||"|"===e.delim?Nt("|","text"):Nt(e.delim,e.mode),a=new Bt.MathNode("mo",[r]);return a.setAttribute("fence","true"),a.setAttribute("lspace","0.05em"),a.setAttribute("rspace","0.05em"),a}});var Or=(e,t)=>{var r,a,n,i=Je.wrapFragment(kt(e.body,t),t),o=e.label.slice(1),s=t.sizeMultiplier,l=0,h=u(e.body);if("sout"===o)(r=Je.makeSpan(["stretchy","sout"])).height=t.fontMetrics().defaultRuleThickness/s,l=-.5*t.fontMetrics().xHeight;else if("phase"===o){var m=Y({number:.6,unit:"pt"},t),c=Y({number:.35,unit:"ex"},t);s/=t.havingBaseSizing().sizeMultiplier;var p=i.height+i.depth+m+c;i.style.paddingLeft=X(p/2+m);var d=Math.floor(1e3*p*s),g="M400000 "+(a=d)+" H0 L"+a/2+" 0 l65 45 L145 "+(a-80)+" H400000z",f=new re([new ae("phase",g)],{width:"400em",height:X(d/1e3),viewBox:"0 0 400000 "+d,preserveAspectRatio:"xMinYMin slice"});(r=Je.makeSvgSpan(["hide-tail"],[f],t)).style.height=X(p),l=i.depth+m+c}else{/cancel/.test(o)?h||i.classes.push("cancel-pad"):"angl"===o?i.classes.push("anglpad"):i.classes.push("boxpad");var v=0,b=0,y=0;/box/.test(o)?(y=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness),b=v=t.fontMetrics().fboxsep+("colorbox"===o?0:y)):"angl"===o?(v=4*(y=Math.max(t.fontMetrics().defaultRuleThickness,t.minRuleThickness)),b=Math.max(0,.25-i.depth)):b=v=h?.2:0,r=function(e,t,r,a,n){var i,o=e.height+e.depth+r+a;if(/fbox|color|angl/.test(t)){if(i=Je.makeSpan(["stretchy",t],[],n),"fbox"===t){var s=n.color&&n.getColor();s&&(i.style.borderColor=s)}}else{var l=[];/^[bx]cancel$/.test(t)&&l.push(new ne({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(t)&&l.push(new ne({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var h=new re(l,{width:"100%",height:X(o)});i=Je.makeSvgSpan([],[h],n)}return i.height=o,i.style.height=X(o),i}(i,o,v,b,t),/fbox|boxed|fcolorbox/.test(o)?(r.style.borderStyle="solid",r.style.borderWidth=X(y)):"angl"===o&&.049!==y&&(r.style.borderTopWidth=X(y),r.style.borderRightWidth=X(y)),l=i.depth+b,e.backgroundColor&&(r.style.backgroundColor=e.backgroundColor,e.borderColor&&(r.style.borderColor=e.borderColor))}if(e.backgroundColor)n=Je.makeVList({positionType:"individualShift",children:[{type:"elem",elem:r,shift:l},{type:"elem",elem:i,shift:0}]},t);else{var x=/cancel|phase/.test(o)?["svg-align"]:[];n=Je.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:0},{type:"elem",elem:r,shift:l,wrapperClasses:x}]},t)}return/cancel/.test(o)&&(n.height=i.height,n.depth=i.depth),/cancel/.test(o)&&!h?Je.makeSpan(["mord","cancel-lap"],[n],t):Je.makeSpan(["mord"],[n],t)},Er=(e,t)=>{var r=0,a=new Bt.MathNode(e.label.indexOf("colorbox")>-1?"mpadded":"menclose",[Ot(e.body,t)]);switch(e.label){case"\\cancel":a.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":a.setAttribute("notation","downdiagonalstrike");break;case"\\phase":a.setAttribute("notation","phasorangle");break;case"\\sout":a.setAttribute("notation","horizontalstrike");break;case"\\fbox":a.setAttribute("notation","box");break;case"\\angl":a.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(r=t.fontMetrics().fboxsep*t.fontMetrics().ptPerEm,a.setAttribute("width","+"+2*r+"pt"),a.setAttribute("height","+"+2*r+"pt"),a.setAttribute("lspace",r+"pt"),a.setAttribute("voffset",r+"pt"),"\\fcolorbox"===e.label){var n=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness);a.setAttribute("style","border: "+n+"em solid "+String(e.borderColor))}break;case"\\xcancel":a.setAttribute("notation","updiagonalstrike downdiagonalstrike")}return e.backgroundColor&&a.setAttribute("mathbackground",e.backgroundColor),a};st({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler(e,t,r){var{parser:a,funcName:n}=e,i=Ut(t[0],"color-token").color,o=t[1];return{type:"enclose",mode:a.mode,label:n,backgroundColor:i,body:o}},htmlBuilder:Or,mathmlBuilder:Er}),st({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler(e,t,r){var{parser:a,funcName:n}=e,i=Ut(t[0],"color-token").color,o=Ut(t[1],"color-token").color,s=t[2];return{type:"enclose",mode:a.mode,label:n,backgroundColor:o,borderColor:i,body:s}},htmlBuilder:Or,mathmlBuilder:Er}),st({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(e,t){var{parser:r}=e;return{type:"enclose",mode:r.mode,label:"\\fbox",body:t[0]}}}),st({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\sout","\\phase"],props:{numArgs:1},handler(e,t){var{parser:r,funcName:a}=e,n=t[0];return{type:"enclose",mode:r.mode,label:a,body:n}},htmlBuilder:Or,mathmlBuilder:Er}),st({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(e,t){var{parser:r}=e;return{type:"enclose",mode:r.mode,label:"\\angl",body:t[0]}}});var Lr={};function Dr(e){for(var{type:t,names:r,props:a,handler:n,htmlBuilder:i,mathmlBuilder:o}=e,s={type:t,numArgs:a.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:n},l=0;l{if(!e.parser.settings.displayMode)throw new a("{"+e.envName+"} can be used only in display mode.")};function Ur(e){if(-1===e.indexOf("ed"))return-1===e.indexOf("*")}function Yr(e,t,n){var{hskipBeforeAndAfter:i,addJot:o,cols:s,arraystretch:l,colSeparationType:h,autoTag:m,singleRow:c,emptySingleRow:p,maxNumCols:u,leqno:d}=t;if(e.gullet.beginGroup(),c||e.gullet.macros.set("\\cr","\\\\\\relax"),!l){var g=e.gullet.expandMacroAsText("\\arraystretch");if(null==g)l=1;else if(!(l=parseFloat(g))||l<0)throw new a("Invalid \\arraystretch: "+g)}e.gullet.beginGroup();var f=[],v=[f],b=[],y=[],x=null!=m?[]:void 0;function w(){m&&e.gullet.macros.set("\\@eqnsw","1",!0)}function k(){x&&(e.gullet.macros.get("\\df@tag")?(x.push(e.subparse([new r("\\df@tag")])),e.gullet.macros.set("\\df@tag",void 0,!0)):x.push(Boolean(m)&&"1"===e.gullet.macros.get("\\@eqnsw")))}for(w(),y.push(Fr(e));;){var S=e.parseExpression(!1,c?"\\end":"\\\\");e.gullet.endGroup(),e.gullet.beginGroup(),S={type:"ordgroup",mode:e.mode,body:S},n&&(S={type:"styling",mode:e.mode,style:n,body:[S]}),f.push(S);var M=e.fetch().text;if("&"===M){if(u&&f.length===u){if(c||h)throw new a("Too many tab characters: &",e.nextToken);e.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.")}e.consume()}else{if("\\end"===M){k(),1===f.length&&"styling"===S.type&&0===S.body[0].body.length&&(v.length>1||!p)&&v.pop(),y.length0&&(y+=.25),m.push({pos:y,isDashed:e[t]})}for(x(o[0]),r=0;r0&&(S<(B+=b)&&(S=B),B=0),e.addJot&&(S+=g),M.height=k,M.depth=S,y+=k,M.pos=y,y+=S+B,l[r]=M,x(o[r+1])}var N,C,q=y/2+t.fontMetrics().axisHeight,I=e.cols||[],R=[],H=[];if(e.tags&&e.tags.some((e=>e)))for(r=0;r=s)){var W=void 0;(n>0||e.hskipBeforeAndAfter)&&0!==(W=h(P.pregap,u))&&((N=Je.makeSpan(["arraycolsep"],[])).style.width=X(W),R.push(N));var _=[];for(r=0;r0){for(var K=Je.makeLineSpan("hline",t,c),J=Je.makeLineSpan("hdashline",t,c),Q=[{type:"elem",elem:l,shift:0}];m.length>0;){var ee=m.pop(),te=ee.pos-q;ee.isDashed?Q.push({type:"elem",elem:J,shift:te}):Q.push({type:"elem",elem:K,shift:te})}l=Je.makeVList({positionType:"individualShift",children:Q},t)}if(0===H.length)return Je.makeSpan(["mord"],[l],t);var re=Je.makeVList({positionType:"individualShift",children:H},t);return re=Je.makeSpan(["tag"],[re],t),Je.makeFragment([l,re])},_r={c:"center ",l:"left ",r:"right "},$r=function(e,t){for(var r=[],a=new Bt.MathNode("mtd",[],["mtr-glue"]),n=new Bt.MathNode("mtd",[],["mml-eqn-num"]),i=0;i0){var u=e.cols,d="",g=!1,f=0,v=u.length;"separator"===u[0].type&&(c+="top ",f=1),"separator"===u[u.length-1].type&&(c+="bottom ",v-=1);for(var b=f;b0?"left ":"",c+=S[S.length-1].length>0?"right ":"";for(var M=1;M-1?"alignat":"align",o="split"===e.envName,s=Yr(e.parser,{cols:n,addJot:!0,autoTag:o?void 0:Ur(e.envName),emptySingleRow:!0,colSeparationType:i,maxNumCols:o?2:void 0,leqno:e.parser.settings.leqno},"display"),l=0,h={type:"ordgroup",mode:e.mode,body:[]};if(t[0]&&"ordgroup"===t[0].type){for(var m="",c=0;c0&&p&&(g=1),n[u]={type:"align",align:d,pregap:g,postgap:0}}return s.colSeparationType=p?"align":"alignat",s};Dr({type:"array",names:["array","darray"],props:{numArgs:1},handler(e,t){var r=(Xt(t[0])?[t[0]]:Ut(t[0],"ordgroup").body).map((function(e){var t=Yt(e).text;if(-1!=="lcr".indexOf(t))return{type:"align",align:t};if("|"===t)return{type:"separator",separator:"|"};if(":"===t)return{type:"separator",separator:":"};throw new a("Unknown column alignment: "+t,e)})),n={cols:r,hskipBeforeAndAfter:!0,maxNumCols:r.length};return Yr(e.parser,n,Xr(e.envName))},htmlBuilder:Wr,mathmlBuilder:$r}),Dr({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(e){var t={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[e.envName.replace("*","")],r="c",n={hskipBeforeAndAfter:!1,cols:[{type:"align",align:r}]};if("*"===e.envName.charAt(e.envName.length-1)){var i=e.parser;if(i.consumeSpaces(),"["===i.fetch().text){if(i.consume(),i.consumeSpaces(),r=i.fetch().text,-1==="lcr".indexOf(r))throw new a("Expected l or c or r",i.nextToken);i.consume(),i.consumeSpaces(),i.expect("]"),i.consume(),n.cols=[{type:"align",align:r}]}}var o=Yr(e.parser,n,Xr(e.envName)),s=Math.max(0,...o.body.map((e=>e.length)));return o.cols=new Array(s).fill({type:"align",align:r}),t?{type:"leftright",mode:e.mode,body:[o],left:t[0],right:t[1],rightColor:void 0}:o},htmlBuilder:Wr,mathmlBuilder:$r}),Dr({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(e){var t=Yr(e.parser,{arraystretch:.5},"script");return t.colSeparationType="small",t},htmlBuilder:Wr,mathmlBuilder:$r}),Dr({type:"array",names:["subarray"],props:{numArgs:1},handler(e,t){var r=(Xt(t[0])?[t[0]]:Ut(t[0],"ordgroup").body).map((function(e){var t=Yt(e).text;if(-1!=="lc".indexOf(t))return{type:"align",align:t};throw new a("Unknown column alignment: "+t,e)}));if(r.length>1)throw new a("{subarray} can contain only one column");var n={cols:r,hskipBeforeAndAfter:!1,arraystretch:.5};if((n=Yr(e.parser,n,"script")).body.length>0&&n.body[0].length>1)throw new a("{subarray} can contain only one column");return n},htmlBuilder:Wr,mathmlBuilder:$r}),Dr({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(e){var t=Yr(e.parser,{arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},Xr(e.envName));return{type:"leftright",mode:e.mode,body:[t],left:e.envName.indexOf("r")>-1?".":"\\{",right:e.envName.indexOf("r")>-1?"\\}":".",rightColor:void 0}},htmlBuilder:Wr,mathmlBuilder:$r}),Dr({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:jr,htmlBuilder:Wr,mathmlBuilder:$r}),Dr({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(e){l(["gather","gather*"],e.envName)&&Gr(e);var t={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:Ur(e.envName),emptySingleRow:!0,leqno:e.parser.settings.leqno};return Yr(e.parser,t,"display")},htmlBuilder:Wr,mathmlBuilder:$r}),Dr({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:jr,htmlBuilder:Wr,mathmlBuilder:$r}),Dr({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(e){Gr(e);var t={autoTag:Ur(e.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:e.parser.settings.leqno};return Yr(e.parser,t,"display")},htmlBuilder:Wr,mathmlBuilder:$r}),Dr({type:"array",names:["CD"],props:{numArgs:0},handler:e=>(Gr(e),function(e){var t=[];for(e.gullet.beginGroup(),e.gullet.macros.set("\\cr","\\\\\\relax"),e.gullet.beginGroup();;){t.push(e.parseExpression(!1,"\\\\")),e.gullet.endGroup(),e.gullet.beginGroup();var r=e.fetch().text;if("&"!==r&&"\\\\"!==r){if("\\end"===r){0===t[t.length-1].length&&t.pop();break}throw new a("Expected \\\\ or \\cr or \\end",e.nextToken)}e.consume()}for(var n,i,o=[],s=[o],l=0;l-1);else{if(!("<>AV".indexOf(p)>-1))throw new a('Expected one of "<>AV=|." after @',h[c]);for(var d=0;d<2;d++){for(var g=!0,f=c+1;f{var r=e.font,a=t.withFont(r);return kt(e.body,a)},Jr=(e,t)=>{var r=e.font,a=t.withFont(r);return Ot(e.body,a)},Qr={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};st({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathsfit","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:(e,t)=>{var{parser:r,funcName:a}=e,n=ht(t[0]),i=a;return i in Qr&&(i=Qr[i]),{type:"font",mode:r.mode,font:i.slice(1),body:n}},htmlBuilder:Kr,mathmlBuilder:Jr}),st({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:(e,t)=>{var{parser:r}=e,a=t[0],n=u(a);return{type:"mclass",mode:r.mode,mclass:Qt(a),body:[{type:"font",mode:r.mode,font:"boldsymbol",body:a}],isCharacterBox:n}}}),st({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:(e,t)=>{var{parser:r,funcName:a,breakOnTokenText:n}=e,{mode:i}=r,o=r.parseExpression(!0,n);return{type:"font",mode:i,font:"math"+a.slice(1),body:{type:"ordgroup",mode:r.mode,body:o}}},htmlBuilder:Kr,mathmlBuilder:Jr});var ea=(e,t)=>{var r=t;return"display"===e?r=r.id>=A.SCRIPT.id?r.text():A.DISPLAY:"text"===e&&r.size===A.DISPLAY.size?r=A.TEXT:"script"===e?r=A.SCRIPT:"scriptscript"===e&&(r=A.SCRIPTSCRIPT),r},ta=(e,t)=>{var r,a=ea(e.size,t.style),n=a.fracNum(),i=a.fracDen();r=t.havingStyle(n);var o=kt(e.numer,r,t);if(e.continued){var s=8.5/t.fontMetrics().ptPerEm,l=3.5/t.fontMetrics().ptPerEm;o.height=o.height0?3*c:7*c,d=t.fontMetrics().denom1):(m>0?(p=t.fontMetrics().num2,u=c):(p=t.fontMetrics().num3,u=3*c),d=t.fontMetrics().denom2),h){var x=t.fontMetrics().axisHeight;p-o.depth-(x+.5*m){var r=new Bt.MathNode("mfrac",[Ot(e.numer,t),Ot(e.denom,t)]);if(e.hasBarLine){if(e.barSize){var a=Y(e.barSize,t);r.setAttribute("linethickness",X(a))}}else r.setAttribute("linethickness","0px");var n=ea(e.size,t.style);if(n.size!==t.style.size){r=new Bt.MathNode("mstyle",[r]);var i=n.size===A.DISPLAY.size?"true":"false";r.setAttribute("displaystyle",i),r.setAttribute("scriptlevel","0")}if(null!=e.leftDelim||null!=e.rightDelim){var o=[];if(null!=e.leftDelim){var s=new Bt.MathNode("mo",[new Bt.TextNode(e.leftDelim.replace("\\",""))]);s.setAttribute("fence","true"),o.push(s)}if(o.push(r),null!=e.rightDelim){var l=new Bt.MathNode("mo",[new Bt.TextNode(e.rightDelim.replace("\\",""))]);l.setAttribute("fence","true"),o.push(l)}return Ct(o)}return r};st({type:"genfrac",names:["\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:(e,t)=>{var r,{parser:a,funcName:n}=e,i=t[0],o=t[1],s=null,l=null,h="auto";switch(n){case"\\dfrac":case"\\frac":case"\\tfrac":r=!0;break;case"\\\\atopfrac":r=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":r=!1,s="(",l=")";break;case"\\\\bracefrac":r=!1,s="\\{",l="\\}";break;case"\\\\brackfrac":r=!1,s="[",l="]";break;default:throw new Error("Unrecognized genfrac command")}switch(n){case"\\dfrac":case"\\dbinom":h="display";break;case"\\tfrac":case"\\tbinom":h="text"}return{type:"genfrac",mode:a.mode,continued:!1,numer:i,denom:o,hasBarLine:r,leftDelim:s,rightDelim:l,size:h,barSize:null}},htmlBuilder:ta,mathmlBuilder:ra}),st({type:"genfrac",names:["\\cfrac"],props:{numArgs:2},handler:(e,t)=>{var{parser:r,funcName:a}=e,n=t[0],i=t[1];return{type:"genfrac",mode:r.mode,continued:!0,numer:n,denom:i,hasBarLine:!0,leftDelim:null,rightDelim:null,size:"display",barSize:null}}}),st({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(e){var t,{parser:r,funcName:a,token:n}=e;switch(a){case"\\over":t="\\frac";break;case"\\choose":t="\\binom";break;case"\\atop":t="\\\\atopfrac";break;case"\\brace":t="\\\\bracefrac";break;case"\\brack":t="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:r.mode,replaceWith:t,token:n}}});var aa=["display","text","script","scriptscript"],na=function(e){var t=null;return e.length>0&&(t="."===(t=e)?null:t),t};st({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(e,t){var r,{parser:a}=e,n=t[4],i=t[5],o=ht(t[0]),s="atom"===o.type&&"open"===o.family?na(o.text):null,l=ht(t[1]),h="atom"===l.type&&"close"===l.family?na(l.text):null,m=Ut(t[2],"size"),c=null;r=!!m.isBlank||(c=m.value).number>0;var p="auto",u=t[3];if("ordgroup"===u.type){if(u.body.length>0){var d=Ut(u.body[0],"textord");p=aa[Number(d.text)]}}else u=Ut(u,"textord"),p=aa[Number(u.text)];return{type:"genfrac",mode:a.mode,numer:n,denom:i,continued:!1,hasBarLine:r,barSize:c,leftDelim:s,rightDelim:h,size:p}},htmlBuilder:ta,mathmlBuilder:ra}),st({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(e,t){var{parser:r,funcName:a,token:n}=e;return{type:"infix",mode:r.mode,replaceWith:"\\\\abovefrac",size:Ut(t[0],"size").value,token:n}}}),st({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:(e,t)=>{var{parser:r,funcName:a}=e,n=t[0],i=function(e){if(!e)throw new Error("Expected non-null, but got "+String(e));return e}(Ut(t[1],"infix").size),o=t[2],s=i.number>0;return{type:"genfrac",mode:r.mode,numer:n,denom:o,continued:!1,hasBarLine:s,barSize:i,leftDelim:null,rightDelim:null,size:"auto"}},htmlBuilder:ta,mathmlBuilder:ra});var ia=(e,t)=>{var r,a,n=t.style;"supsub"===e.type?(r=e.sup?kt(e.sup,t.havingStyle(n.sup()),t):kt(e.sub,t.havingStyle(n.sub()),t),a=Ut(e.base,"horizBrace")):a=Ut(e,"horizBrace");var i,o=kt(a.base,t.havingBaseStyle(A.DISPLAY)),s=Gt(a,t);if(a.isOver?(i=Je.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:o},{type:"kern",size:.1},{type:"elem",elem:s}]},t)).children[0].children[0].children[1].classes.push("svg-align"):(i=Je.makeVList({positionType:"bottom",positionData:o.depth+.1+s.height,children:[{type:"elem",elem:s},{type:"kern",size:.1},{type:"elem",elem:o}]},t)).children[0].children[0].children[0].classes.push("svg-align"),r){var l=Je.makeSpan(["mord",a.isOver?"mover":"munder"],[i],t);i=a.isOver?Je.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:l},{type:"kern",size:.2},{type:"elem",elem:r}]},t):Je.makeVList({positionType:"bottom",positionData:l.depth+.2+r.height+r.depth,children:[{type:"elem",elem:r},{type:"kern",size:.2},{type:"elem",elem:l}]},t)}return Je.makeSpan(["mord",a.isOver?"mover":"munder"],[i],t)};st({type:"horizBrace",names:["\\overbrace","\\underbrace"],props:{numArgs:1},handler(e,t){var{parser:r,funcName:a}=e;return{type:"horizBrace",mode:r.mode,label:a,isOver:/^\\over/.test(a),base:t[0]}},htmlBuilder:ia,mathmlBuilder:(e,t)=>{var r=Ft(e.label);return new Bt.MathNode(e.isOver?"mover":"munder",[Ot(e.base,t),r])}}),st({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:(e,t)=>{var{parser:r}=e,a=t[1],n=Ut(t[0],"url").url;return r.settings.isTrusted({command:"\\href",url:n})?{type:"href",mode:r.mode,href:n,body:mt(a)}:r.formatUnsupportedCmd("\\href")},htmlBuilder:(e,t)=>{var r=ft(e.body,t,!1);return Je.makeAnchor(e.href,[],r,t)},mathmlBuilder:(e,t)=>{var r=Ht(e.body,t);return r instanceof At||(r=new At("mrow",[r])),r.setAttribute("href",e.href),r}}),st({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:(e,t)=>{var{parser:r}=e,a=Ut(t[0],"url").url;if(!r.settings.isTrusted({command:"\\url",url:a}))return r.formatUnsupportedCmd("\\url");for(var n=[],i=0;inew Bt.MathNode("mrow",Rt(e.body,t))}),st({type:"html",names:["\\htmlClass","\\htmlId","\\htmlStyle","\\htmlData"],props:{numArgs:2,argTypes:["raw","original"],allowedInText:!0},handler:(e,t)=>{var r,{parser:n,funcName:i,token:o}=e,s=Ut(t[0],"raw").string,l=t[1];n.settings.strict&&n.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var h={};switch(i){case"\\htmlClass":h.class=s,r={command:"\\htmlClass",class:s};break;case"\\htmlId":h.id=s,r={command:"\\htmlId",id:s};break;case"\\htmlStyle":h.style=s,r={command:"\\htmlStyle",style:s};break;case"\\htmlData":for(var m=s.split(","),c=0;c{var r=ft(e.body,t,!1),a=["enclosing"];e.attributes.class&&a.push(...e.attributes.class.trim().split(/\s+/));var n=Je.makeSpan(a,r,t);for(var i in e.attributes)"class"!==i&&e.attributes.hasOwnProperty(i)&&n.setAttribute(i,e.attributes[i]);return n},mathmlBuilder:(e,t)=>Ht(e.body,t)}),st({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInText:!0},handler:(e,t)=>{var{parser:r}=e;return{type:"htmlmathml",mode:r.mode,html:mt(t[0]),mathml:mt(t[1])}},htmlBuilder:(e,t)=>{var r=ft(e.html,t,!1);return Je.makeFragment(r)},mathmlBuilder:(e,t)=>Ht(e.mathml,t)});var oa=function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:"bp"};var t=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!t)throw new a("Invalid size: '"+e+"' in \\includegraphics");var r={number:+(t[1]+t[2]),unit:t[3]};if(!U(r))throw new a("Invalid unit: '"+r.unit+"' in \\includegraphics.");return r};st({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:(e,t,r)=>{var{parser:n}=e,i={number:0,unit:"em"},o={number:.9,unit:"em"},s={number:0,unit:"em"},l="";if(r[0])for(var h=Ut(r[0],"raw").string.split(","),m=0;m{var r=Y(e.height,t),a=0;e.totalheight.number>0&&(a=Y(e.totalheight,t)-r);var n=0;e.width.number>0&&(n=Y(e.width,t));var i={height:X(r+a)};n>0&&(i.width=X(n)),a>0&&(i.verticalAlign=X(-a));var o=new Q(e.src,e.alt,i);return o.height=r,o.depth=a,o},mathmlBuilder:(e,t)=>{var r=new Bt.MathNode("mglyph",[]);r.setAttribute("alt",e.alt);var a=Y(e.height,t),n=0;if(e.totalheight.number>0&&(n=Y(e.totalheight,t)-a,r.setAttribute("valign",X(-n))),r.setAttribute("height",X(a+n)),e.width.number>0){var i=Y(e.width,t);r.setAttribute("width",X(i))}return r.setAttribute("src",e.src),r}}),st({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(e,t){var{parser:r,funcName:a}=e,n=Ut(t[0],"size");if(r.settings.strict){var i="m"===a[1],o="mu"===n.value.unit;i?(o||r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" supports only mu units, not "+n.value.unit+" units"),"math"!==r.mode&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" works only in math mode")):o&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" doesn't support mu units")}return{type:"kern",mode:r.mode,dimension:n.value}},htmlBuilder:(e,t)=>Je.makeGlue(e.dimension,t),mathmlBuilder(e,t){var r=Y(e.dimension,t);return new Bt.SpaceNode(r)}}),st({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{var{parser:r,funcName:a}=e,n=t[0];return{type:"lap",mode:r.mode,alignment:a.slice(5),body:n}},htmlBuilder:(e,t)=>{var r;"clap"===e.alignment?(r=Je.makeSpan([],[kt(e.body,t)]),r=Je.makeSpan(["inner"],[r],t)):r=Je.makeSpan(["inner"],[kt(e.body,t)]);var a=Je.makeSpan(["fix"],[]),n=Je.makeSpan([e.alignment],[r,a],t),i=Je.makeSpan(["strut"]);return i.style.height=X(n.height+n.depth),n.depth&&(i.style.verticalAlign=X(-n.depth)),n.children.unshift(i),n=Je.makeSpan(["thinbox"],[n],t),Je.makeSpan(["mord","vbox"],[n],t)},mathmlBuilder:(e,t)=>{var r=new Bt.MathNode("mpadded",[Ot(e.body,t)]);if("rlap"!==e.alignment){var a="llap"===e.alignment?"-1":"-0.5";r.setAttribute("lspace",a+"width")}return r.setAttribute("width","0px"),r}}),st({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(e,t){var{funcName:r,parser:a}=e,n=a.mode;a.switchMode("math");var i="\\("===r?"\\)":"$",o=a.parseExpression(!1,i);return a.expect(i),a.switchMode(n),{type:"styling",mode:a.mode,style:"text",body:o}}}),st({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(e,t){throw new a("Mismatched "+e.funcName)}});var sa=(e,t)=>{switch(t.style.size){case A.DISPLAY.size:return e.display;case A.TEXT.size:return e.text;case A.SCRIPT.size:return e.script;case A.SCRIPTSCRIPT.size:return e.scriptscript;default:return e.text}};st({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:(e,t)=>{var{parser:r}=e;return{type:"mathchoice",mode:r.mode,display:mt(t[0]),text:mt(t[1]),script:mt(t[2]),scriptscript:mt(t[3])}},htmlBuilder:(e,t)=>{var r=sa(e,t),a=ft(r,t,!1);return Je.makeFragment(a)},mathmlBuilder:(e,t)=>{var r=sa(e,t);return Ht(r,t)}});var la=(e,t,r,a,n,i,o)=>{e=Je.makeSpan([],[e]);var s,l,h,m=r&&u(r);if(t){var c=kt(t,a.havingStyle(n.sup()),a);l={elem:c,kern:Math.max(a.fontMetrics().bigOpSpacing1,a.fontMetrics().bigOpSpacing3-c.depth)}}if(r){var p=kt(r,a.havingStyle(n.sub()),a);s={elem:p,kern:Math.max(a.fontMetrics().bigOpSpacing2,a.fontMetrics().bigOpSpacing4-p.height)}}if(l&&s){var d=a.fontMetrics().bigOpSpacing5+s.elem.height+s.elem.depth+s.kern+e.depth+o;h=Je.makeVList({positionType:"bottom",positionData:d,children:[{type:"kern",size:a.fontMetrics().bigOpSpacing5},{type:"elem",elem:s.elem,marginLeft:X(-i)},{type:"kern",size:s.kern},{type:"elem",elem:e},{type:"kern",size:l.kern},{type:"elem",elem:l.elem,marginLeft:X(i)},{type:"kern",size:a.fontMetrics().bigOpSpacing5}]},a)}else if(s){var g=e.height-o;h=Je.makeVList({positionType:"top",positionData:g,children:[{type:"kern",size:a.fontMetrics().bigOpSpacing5},{type:"elem",elem:s.elem,marginLeft:X(-i)},{type:"kern",size:s.kern},{type:"elem",elem:e}]},a)}else{if(!l)return e;var f=e.depth+o;h=Je.makeVList({positionType:"bottom",positionData:f,children:[{type:"elem",elem:e},{type:"kern",size:l.kern},{type:"elem",elem:l.elem,marginLeft:X(i)},{type:"kern",size:a.fontMetrics().bigOpSpacing5}]},a)}var v=[h];if(s&&0!==i&&!m){var b=Je.makeSpan(["mspace"],[],a);b.style.marginRight=X(i),v.unshift(b)}return Je.makeSpan(["mop","op-limits"],v,a)},ha=["\\smallint"],ma=(e,t)=>{var r,a,n,i=!1;"supsub"===e.type?(r=e.sup,a=e.sub,n=Ut(e.base,"op"),i=!0):n=Ut(e,"op");var o,s=t.style,h=!1;if(s.size===A.DISPLAY.size&&n.symbol&&!l(ha,n.name)&&(h=!0),n.symbol){var m=h?"Size2-Regular":"Size1-Regular",c="";if("\\oiint"!==n.name&&"\\oiiint"!==n.name||(c=n.name.slice(1),n.name="oiint"===c?"\\iint":"\\iiint"),o=Je.makeSymbol(n.name,m,"math",t,["mop","op-symbol",h?"large-op":"small-op"]),c.length>0){var p=o.italic,u=Je.staticSvg(c+"Size"+(h?"2":"1"),t);o=Je.makeVList({positionType:"individualShift",children:[{type:"elem",elem:o,shift:0},{type:"elem",elem:u,shift:h?.08:0}]},t),n.name="\\"+c,o.classes.unshift("mop"),o.italic=p}}else if(n.body){var d=ft(n.body,t,!0);1===d.length&&d[0]instanceof te?(o=d[0]).classes[0]="mop":o=Je.makeSpan(["mop"],d,t)}else{for(var g=[],f=1;f{var r;if(e.symbol)r=new At("mo",[Nt(e.name,e.mode)]),l(ha,e.name)&&r.setAttribute("largeop","false");else if(e.body)r=new At("mo",Rt(e.body,t));else{r=new At("mi",[new Tt(e.name.slice(1))]);var a=new At("mo",[Nt("⁡","text")]);r=e.parentIsSupSub?new At("mrow",[r,a]):zt([r,a])}return r},pa={"∏":"\\prod","∐":"\\coprod","∑":"\\sum","⋀":"\\bigwedge","⋁":"\\bigvee","⋂":"\\bigcap","⋃":"\\bigcup","⨀":"\\bigodot","⨁":"\\bigoplus","⨂":"\\bigotimes","⨄":"\\biguplus","⨆":"\\bigsqcup"};st({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","∏","∐","∑","⋀","⋁","⋂","⋃","⨀","⨁","⨂","⨄","⨆"],props:{numArgs:0},handler:(e,t)=>{var{parser:r,funcName:a}=e,n=a;return 1===n.length&&(n=pa[n]),{type:"op",mode:r.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:n}},htmlBuilder:ma,mathmlBuilder:ca}),st({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:(e,t)=>{var{parser:r}=e,a=t[0];return{type:"op",mode:r.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:mt(a)}},htmlBuilder:ma,mathmlBuilder:ca});var ua={"∫":"\\int","∬":"\\iint","∭":"\\iiint","∮":"\\oint","∯":"\\oiint","∰":"\\oiiint"};st({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler(e){var{parser:t,funcName:r}=e;return{type:"op",mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:ma,mathmlBuilder:ca}),st({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(e){var{parser:t,funcName:r}=e;return{type:"op",mode:t.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:ma,mathmlBuilder:ca}),st({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","∫","∬","∭","∮","∯","∰"],props:{numArgs:0},handler(e){var{parser:t,funcName:r}=e,a=r;return 1===a.length&&(a=ua[a]),{type:"op",mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:a}},htmlBuilder:ma,mathmlBuilder:ca});var da=(e,t)=>{var r,a,n,i,o=!1;if("supsub"===e.type?(r=e.sup,a=e.sub,n=Ut(e.base,"operatorname"),o=!0):n=Ut(e,"operatorname"),n.body.length>0){for(var s=n.body.map((e=>{var t=e.text;return"string"==typeof t?{type:"textord",mode:e.mode,text:t}:e})),l=ft(s,t.withFont("mathrm"),!0),h=0;h{var{parser:r,funcName:a}=e,n=t[0];return{type:"operatorname",mode:r.mode,body:mt(n),alwaysHandleSupSub:"\\operatornamewithlimits"===a,limits:!1,parentIsSupSub:!1}},htmlBuilder:da,mathmlBuilder:(e,t)=>{for(var r=Rt(e.body,t.withFont("mathrm")),a=!0,n=0;ne.toText())).join("");r=[new Bt.TextNode(s)]}var l=new Bt.MathNode("mi",r);l.setAttribute("mathvariant","normal");var h=new Bt.MathNode("mo",[Nt("⁡","text")]);return e.parentIsSupSub?new Bt.MathNode("mrow",[l,h]):Bt.newDocumentFragment([l,h])}}),Vr("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@"),lt({type:"ordgroup",htmlBuilder:(e,t)=>e.semisimple?Je.makeFragment(ft(e.body,t,!1)):Je.makeSpan(["mord"],ft(e.body,t,!0),t),mathmlBuilder:(e,t)=>Ht(e.body,t,!0)}),st({type:"overline",names:["\\overline"],props:{numArgs:1},handler(e,t){var{parser:r}=e,a=t[0];return{type:"overline",mode:r.mode,body:a}},htmlBuilder(e,t){var r=kt(e.body,t.havingCrampedStyle()),a=Je.makeLineSpan("overline-line",t),n=t.fontMetrics().defaultRuleThickness,i=Je.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"kern",size:3*n},{type:"elem",elem:a},{type:"kern",size:n}]},t);return Je.makeSpan(["mord","overline"],[i],t)},mathmlBuilder(e,t){var r=new Bt.MathNode("mo",[new Bt.TextNode("‾")]);r.setAttribute("stretchy","true");var a=new Bt.MathNode("mover",[Ot(e.body,t),r]);return a.setAttribute("accent","true"),a}}),st({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{var{parser:r}=e,a=t[0];return{type:"phantom",mode:r.mode,body:mt(a)}},htmlBuilder:(e,t)=>{var r=ft(e.body,t.withPhantom(),!1);return Je.makeFragment(r)},mathmlBuilder:(e,t)=>{var r=Rt(e.body,t);return new Bt.MathNode("mphantom",r)}}),st({type:"hphantom",names:["\\hphantom"],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{var{parser:r}=e,a=t[0];return{type:"hphantom",mode:r.mode,body:a}},htmlBuilder:(e,t)=>{var r=Je.makeSpan([],[kt(e.body,t.withPhantom())]);if(r.height=0,r.depth=0,r.children)for(var a=0;a{var r=Rt(mt(e.body),t),a=new Bt.MathNode("mphantom",r),n=new Bt.MathNode("mpadded",[a]);return n.setAttribute("height","0px"),n.setAttribute("depth","0px"),n}}),st({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{var{parser:r}=e,a=t[0];return{type:"vphantom",mode:r.mode,body:a}},htmlBuilder:(e,t)=>{var r=Je.makeSpan(["inner"],[kt(e.body,t.withPhantom())]),a=Je.makeSpan(["fix"],[]);return Je.makeSpan(["mord","rlap"],[r,a],t)},mathmlBuilder:(e,t)=>{var r=Rt(mt(e.body),t),a=new Bt.MathNode("mphantom",r),n=new Bt.MathNode("mpadded",[a]);return n.setAttribute("width","0px"),n}}),st({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(e,t){var{parser:r}=e,a=Ut(t[0],"size").value,n=t[1];return{type:"raisebox",mode:r.mode,dy:a,body:n}},htmlBuilder(e,t){var r=kt(e.body,t),a=Y(e.dy,t);return Je.makeVList({positionType:"shift",positionData:-a,children:[{type:"elem",elem:r}]},t)},mathmlBuilder(e,t){var r=new Bt.MathNode("mpadded",[Ot(e.body,t)]),a=e.dy.number+e.dy.unit;return r.setAttribute("voffset",a),r}}),st({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0},handler(e){var{parser:t}=e;return{type:"internal",mode:t.mode}}}),st({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["size","size","size"]},handler(e,t,r){var{parser:a}=e,n=r[0],i=Ut(t[0],"size"),o=Ut(t[1],"size");return{type:"rule",mode:a.mode,shift:n&&Ut(n,"size").value,width:i.value,height:o.value}},htmlBuilder(e,t){var r=Je.makeSpan(["mord","rule"],[],t),a=Y(e.width,t),n=Y(e.height,t),i=e.shift?Y(e.shift,t):0;return r.style.borderRightWidth=X(a),r.style.borderTopWidth=X(n),r.style.bottom=X(i),r.width=a,r.height=n+i,r.depth=-i,r.maxFontSize=1.125*n*t.sizeMultiplier,r},mathmlBuilder(e,t){var r=Y(e.width,t),a=Y(e.height,t),n=e.shift?Y(e.shift,t):0,i=t.color&&t.getColor()||"black",o=new Bt.MathNode("mspace");o.setAttribute("mathbackground",i),o.setAttribute("width",X(r)),o.setAttribute("height",X(a));var s=new Bt.MathNode("mpadded",[o]);return n>=0?s.setAttribute("height",X(n)):(s.setAttribute("height",X(n)),s.setAttribute("depth",X(-n))),s.setAttribute("voffset",X(n)),s}});var fa=["\\tiny","\\sixptsize","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"];st({type:"sizing",names:fa,props:{numArgs:0,allowedInText:!0},handler:(e,t)=>{var{breakOnTokenText:r,funcName:a,parser:n}=e,i=n.parseExpression(!1,r);return{type:"sizing",mode:n.mode,size:fa.indexOf(a)+1,body:i}},htmlBuilder:(e,t)=>{var r=t.havingSize(e.size);return ga(e.body,r,t)},mathmlBuilder:(e,t)=>{var r=t.havingSize(e.size),a=Rt(e.body,r),n=new Bt.MathNode("mstyle",a);return n.setAttribute("mathsize",X(r.sizeMultiplier)),n}}),st({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:(e,t,r)=>{var{parser:a}=e,n=!1,i=!1,o=r[0]&&Ut(r[0],"ordgroup");if(o)for(var s="",l=0;l{var r=Je.makeSpan([],[kt(e.body,t)]);if(!e.smashHeight&&!e.smashDepth)return r;if(e.smashHeight&&(r.height=0,r.children))for(var a=0;a{var r=new Bt.MathNode("mpadded",[Ot(e.body,t)]);return e.smashHeight&&r.setAttribute("height","0px"),e.smashDepth&&r.setAttribute("depth","0px"),r}}),st({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(e,t,r){var{parser:a}=e,n=r[0],i=t[0];return{type:"sqrt",mode:a.mode,body:i,index:n}},htmlBuilder(e,t){var r=kt(e.body,t.havingCrampedStyle());0===r.height&&(r.height=t.fontMetrics().xHeight),r=Je.wrapFragment(r,t);var a=t.fontMetrics().defaultRuleThickness,n=a;t.style.idr.height+r.depth+i&&(i=(i+m-r.height-r.depth)/2);var c=s.height-r.height-i-l;r.style.paddingLeft=X(h);var p=Je.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r,wrapperClasses:["svg-align"]},{type:"kern",size:-(r.height+c)},{type:"elem",elem:s},{type:"kern",size:l}]},t);if(e.index){var u=t.havingStyle(A.SCRIPTSCRIPT),d=kt(e.index,u,t),g=.6*(p.height-p.depth),f=Je.makeVList({positionType:"shift",positionData:-g,children:[{type:"elem",elem:d}]},t),v=Je.makeSpan(["root"],[f]);return Je.makeSpan(["mord","sqrt"],[v,p],t)}return Je.makeSpan(["mord","sqrt"],[p],t)},mathmlBuilder(e,t){var{body:r,index:a}=e;return a?new Bt.MathNode("mroot",[Ot(r,t),Ot(a,t)]):new Bt.MathNode("msqrt",[Ot(r,t)])}});var va={display:A.DISPLAY,text:A.TEXT,script:A.SCRIPT,scriptscript:A.SCRIPTSCRIPT};st({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e,t){var{breakOnTokenText:r,funcName:a,parser:n}=e,i=n.parseExpression(!0,r),o=a.slice(1,a.length-5);return{type:"styling",mode:n.mode,style:o,body:i}},htmlBuilder(e,t){var r=va[e.style],a=t.havingStyle(r).withFont("");return ga(e.body,a,t)},mathmlBuilder(e,t){var r=va[e.style],a=t.havingStyle(r),n=Rt(e.body,a),i=new Bt.MathNode("mstyle",n),o={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]}[e.style];return i.setAttribute("scriptlevel",o[0]),i.setAttribute("displaystyle",o[1]),i}}),lt({type:"supsub",htmlBuilder(e,t){var r=function(e,t){var r=e.base;return r?"op"===r.type?r.limits&&(t.style.size===A.DISPLAY.size||r.alwaysHandleSupSub)?ma:null:"operatorname"===r.type?r.alwaysHandleSupSub&&(t.style.size===A.DISPLAY.size||r.limits)?da:null:"accent"===r.type?u(r.base)?Wt:null:"horizBrace"===r.type&&!e.sub===r.isOver?ia:null:null}(e,t);if(r)return r(e,t);var a,n,i,{base:o,sup:s,sub:l}=e,h=kt(o,t),m=t.fontMetrics(),c=0,p=0,d=o&&u(o);if(s){var g=t.havingStyle(t.style.sup());a=kt(s,g,t),d||(c=h.height-g.fontMetrics().supDrop*g.sizeMultiplier/t.sizeMultiplier)}if(l){var f=t.havingStyle(t.style.sub());n=kt(l,f,t),d||(p=h.depth+f.fontMetrics().subDrop*f.sizeMultiplier/t.sizeMultiplier)}i=t.style===A.DISPLAY?m.sup1:t.style.cramped?m.sup3:m.sup2;var v,b=t.sizeMultiplier,y=X(.5/m.ptPerEm/b),x=null;if(n){var w=e.base&&"op"===e.base.type&&e.base.name&&("\\oiint"===e.base.name||"\\oiiint"===e.base.name);(h instanceof te||w)&&(x=X(-h.italic))}if(a&&n){c=Math.max(c,i,a.depth+.25*m.xHeight),p=Math.max(p,m.sub2);var k=4*m.defaultRuleThickness;if(c-a.depth-(n.height-p)0&&(c+=S,p-=S)}v=Je.makeVList({positionType:"individualShift",children:[{type:"elem",elem:n,shift:p,marginRight:y,marginLeft:x},{type:"elem",elem:a,shift:-c,marginRight:y}]},t)}else if(n){p=Math.max(p,m.sub1,n.height-.8*m.xHeight),v=Je.makeVList({positionType:"shift",positionData:p,children:[{type:"elem",elem:n,marginLeft:x,marginRight:y}]},t)}else{if(!a)throw new Error("supsub must have either sup or sub.");c=Math.max(c,i,a.depth+.25*m.xHeight),v=Je.makeVList({positionType:"shift",positionData:-c,children:[{type:"elem",elem:a,marginRight:y}]},t)}var M=xt(h,"right")||"mord";return Je.makeSpan([M],[h,Je.makeSpan(["msupsub"],[v])],t)},mathmlBuilder(e,t){var r,a=!1;e.base&&"horizBrace"===e.base.type&&!!e.sup===e.base.isOver&&(a=!0,r=e.base.isOver),!e.base||"op"!==e.base.type&&"operatorname"!==e.base.type||(e.base.parentIsSupSub=!0);var n,i=[Ot(e.base,t)];if(e.sub&&i.push(Ot(e.sub,t)),e.sup&&i.push(Ot(e.sup,t)),a)n=r?"mover":"munder";else if(e.sub)if(e.sup){var o=e.base;n=o&&"op"===o.type&&o.limits&&t.style===A.DISPLAY||o&&"operatorname"===o.type&&o.alwaysHandleSupSub&&(t.style===A.DISPLAY||o.limits)?"munderover":"msubsup"}else{var s=e.base;n=s&&"op"===s.type&&s.limits&&(t.style===A.DISPLAY||s.alwaysHandleSupSub)||s&&"operatorname"===s.type&&s.alwaysHandleSupSub&&(s.limits||t.style===A.DISPLAY)?"munder":"msub"}else{var l=e.base;n=l&&"op"===l.type&&l.limits&&(t.style===A.DISPLAY||l.alwaysHandleSupSub)||l&&"operatorname"===l.type&&l.alwaysHandleSupSub&&(l.limits||t.style===A.DISPLAY)?"mover":"msup"}return new Bt.MathNode(n,i)}}),lt({type:"atom",htmlBuilder:(e,t)=>Je.mathsym(e.text,e.mode,t,["m"+e.family]),mathmlBuilder(e,t){var r=new Bt.MathNode("mo",[Nt(e.text,e.mode)]);if("bin"===e.family){var a=qt(e,t);"bold-italic"===a&&r.setAttribute("mathvariant",a)}else"punct"===e.family?r.setAttribute("separator","true"):"open"!==e.family&&"close"!==e.family||r.setAttribute("stretchy","false");return r}});var ba={mi:"italic",mn:"normal",mtext:"normal"};lt({type:"mathord",htmlBuilder:(e,t)=>Je.makeOrd(e,t,"mathord"),mathmlBuilder(e,t){var r=new Bt.MathNode("mi",[Nt(e.text,e.mode,t)]),a=qt(e,t)||"italic";return a!==ba[r.type]&&r.setAttribute("mathvariant",a),r}}),lt({type:"textord",htmlBuilder:(e,t)=>Je.makeOrd(e,t,"textord"),mathmlBuilder(e,t){var r,a=Nt(e.text,e.mode,t),n=qt(e,t)||"normal";return r="text"===e.mode?new Bt.MathNode("mtext",[a]):/[0-9]/.test(e.text)?new Bt.MathNode("mn",[a]):"\\prime"===e.text?new Bt.MathNode("mo",[a]):new Bt.MathNode("mi",[a]),n!==ba[r.type]&&r.setAttribute("mathvariant",n),r}});var ya={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},xa={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};lt({type:"spacing",htmlBuilder(e,t){if(xa.hasOwnProperty(e.text)){var r=xa[e.text].className||"";if("text"===e.mode){var n=Je.makeOrd(e,t,"textord");return n.classes.push(r),n}return Je.makeSpan(["mspace",r],[Je.mathsym(e.text,e.mode,t)],t)}if(ya.hasOwnProperty(e.text))return Je.makeSpan(["mspace",ya[e.text]],[],t);throw new a('Unknown type of space "'+e.text+'"')},mathmlBuilder(e,t){if(!xa.hasOwnProperty(e.text)){if(ya.hasOwnProperty(e.text))return new Bt.MathNode("mspace");throw new a('Unknown type of space "'+e.text+'"')}return new Bt.MathNode("mtext",[new Bt.TextNode(" ")])}});var wa=()=>{var e=new Bt.MathNode("mtd",[]);return e.setAttribute("width","50%"),e};lt({type:"tag",mathmlBuilder(e,t){var r=new Bt.MathNode("mtable",[new Bt.MathNode("mtr",[wa(),new Bt.MathNode("mtd",[Ht(e.body,t)]),wa(),new Bt.MathNode("mtd",[Ht(e.tag,t)])])]);return r.setAttribute("width","100%"),r}});var ka={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},Sa={"\\textbf":"textbf","\\textmd":"textmd"},Ma={"\\textit":"textit","\\textup":"textup"},za=(e,t)=>{var r=e.font;return r?ka[r]?t.withTextFontFamily(ka[r]):Sa[r]?t.withTextFontWeight(Sa[r]):"\\emph"===r?"textit"===t.fontShape?t.withTextFontShape("textup"):t.withTextFontShape("textit"):t.withTextFontShape(Ma[r]):t};st({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(e,t){var{parser:r,funcName:a}=e,n=t[0];return{type:"text",mode:r.mode,body:mt(n),font:a}},htmlBuilder(e,t){var r=za(e,t),a=ft(e.body,r,!0);return Je.makeSpan(["mord","text"],a,r)},mathmlBuilder(e,t){var r=za(e,t);return Ht(e.body,r)}}),st({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(e,t){var{parser:r}=e;return{type:"underline",mode:r.mode,body:t[0]}},htmlBuilder(e,t){var r=kt(e.body,t),a=Je.makeLineSpan("underline-line",t),n=t.fontMetrics().defaultRuleThickness,i=Je.makeVList({positionType:"top",positionData:r.height,children:[{type:"kern",size:n},{type:"elem",elem:a},{type:"kern",size:3*n},{type:"elem",elem:r}]},t);return Je.makeSpan(["mord","underline"],[i],t)},mathmlBuilder(e,t){var r=new Bt.MathNode("mo",[new Bt.TextNode("‾")]);r.setAttribute("stretchy","true");var a=new Bt.MathNode("munder",[Ot(e.body,t),r]);return a.setAttribute("accentunder","true"),a}}),st({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(e,t){var{parser:r}=e;return{type:"vcenter",mode:r.mode,body:t[0]}},htmlBuilder(e,t){var r=kt(e.body,t),a=t.fontMetrics().axisHeight,n=.5*(r.height-a-(r.depth+a));return Je.makeVList({positionType:"shift",positionData:n,children:[{type:"elem",elem:r}]},t)},mathmlBuilder:(e,t)=>new Bt.MathNode("mpadded",[Ot(e.body,t)],["vcenter"])}),st({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(e,t,r){throw new a("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(e,t){for(var r=Aa(e),a=[],n=t.havingStyle(t.style.text()),i=0;ie.body.replace(/ /g,e.star?"␣":" "),Ta=nt,Ba="[ \r\n\t]",Na="(\\\\[a-zA-Z@]+)"+Ba+"*",Ca="[̀-ͯ]",qa=new RegExp(Ca+"+$"),Ia="("+Ba+"+)|\\\\(\n|[ \r\t]+\n?)[ \r\t]*|([!-\\[\\]-‧‪-퟿豈-￿]"+Ca+"*|[\ud800-\udbff][\udc00-\udfff]"+Ca+"*|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5|"+Na+"|\\\\[^\ud800-\udfff])";class Ra{constructor(e,t){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=e,this.settings=t,this.tokenRegex=new RegExp(Ia,"g"),this.catcodes={"%":14,"~":13}}setCatcode(e,t){this.catcodes[e]=t}lex(){var e=this.input,n=this.tokenRegex.lastIndex;if(n===e.length)return new r("EOF",new t(this,n,n));var i=this.tokenRegex.exec(e);if(null===i||i.index!==n)throw new a("Unexpected character: '"+e[n]+"'",new r(e[n],new t(this,n,n+1)));var o=i[6]||i[3]||(i[2]?"\\ ":" ");if(14===this.catcodes[o]){var s=e.indexOf("\n",this.tokenRegex.lastIndex);return-1===s?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=s+1,this.lex()}return new r(o,new t(this,n,this.tokenRegex.lastIndex))}}class Ha{constructor(e,t){void 0===e&&(e={}),void 0===t&&(t={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=t,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(0===this.undefStack.length)throw new a("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var e=this.undefStack.pop();for(var t in e)e.hasOwnProperty(t)&&(null==e[t]?delete this.current[t]:this.current[t]=e[t])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]}set(e,t,r){if(void 0===r&&(r=!1),r){for(var a=0;a0&&(this.undefStack[this.undefStack.length-1][e]=t)}else{var n=this.undefStack[this.undefStack.length-1];n&&!n.hasOwnProperty(e)&&(n[e]=this.current[e])}null==t?delete this.current[e]:this.current[e]=t}}var Oa=Pr;Vr("\\noexpand",(function(e){var t=e.popToken();return e.isExpandable(t.text)&&(t.noexpand=!0,t.treatAsRelax=!0),{tokens:[t],numArgs:0}})),Vr("\\expandafter",(function(e){var t=e.popToken();return e.expandOnce(!0),{tokens:[t],numArgs:0}})),Vr("\\@firstoftwo",(function(e){return{tokens:e.consumeArgs(2)[0],numArgs:0}})),Vr("\\@secondoftwo",(function(e){return{tokens:e.consumeArgs(2)[1],numArgs:0}})),Vr("\\@ifnextchar",(function(e){var t=e.consumeArgs(3);e.consumeSpaces();var r=e.future();return 1===t[0].length&&t[0][0].text===r.text?{tokens:t[1],numArgs:0}:{tokens:t[2],numArgs:0}})),Vr("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}"),Vr("\\TextOrMath",(function(e){var t=e.consumeArgs(2);return"text"===e.mode?{tokens:t[0],numArgs:0}:{tokens:t[1],numArgs:0}}));var Ea={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};Vr("\\char",(function(e){var t,r=e.popToken(),n="";if("'"===r.text)t=8,r=e.popToken();else if('"'===r.text)t=16,r=e.popToken();else if("`"===r.text)if("\\"===(r=e.popToken()).text[0])n=r.text.charCodeAt(1);else{if("EOF"===r.text)throw new a("\\char` missing argument");n=r.text.charCodeAt(0)}else t=10;if(t){if(null==(n=Ea[r.text])||n>=t)throw new a("Invalid base-"+t+" digit "+r.text);for(var i;null!=(i=Ea[e.future().text])&&i{var i=e.consumeArg().tokens;if(1!==i.length)throw new a("\\newcommand's first argument must be a macro name");var o=i[0].text,s=e.isDefined(o);if(s&&!t)throw new a("\\newcommand{"+o+"} attempting to redefine "+o+"; use \\renewcommand");if(!s&&!r)throw new a("\\renewcommand{"+o+"} when command "+o+" does not yet exist; use \\newcommand");var l=0;if(1===(i=e.consumeArg().tokens).length&&"["===i[0].text){for(var h="",m=e.expandNextToken();"]"!==m.text&&"EOF"!==m.text;)h+=m.text,m=e.expandNextToken();if(!h.match(/^\s*[0-9]+\s*$/))throw new a("Invalid number of arguments: "+h);l=parseInt(h),i=e.consumeArg().tokens}return s&&n||e.macros.set(o,{tokens:i,numArgs:l}),""};Vr("\\newcommand",(e=>La(e,!1,!0,!1))),Vr("\\renewcommand",(e=>La(e,!0,!1,!1))),Vr("\\providecommand",(e=>La(e,!0,!0,!0))),Vr("\\message",(e=>{var t=e.consumeArgs(1)[0];return console.log(t.reverse().map((e=>e.text)).join("")),""})),Vr("\\errmessage",(e=>{var t=e.consumeArgs(1)[0];return console.error(t.reverse().map((e=>e.text)).join("")),""})),Vr("\\show",(e=>{var t=e.popToken(),r=t.text;return console.log(t,e.macros.get(r),Ta[r],le.math[r],le.text[r]),""})),Vr("\\bgroup","{"),Vr("\\egroup","}"),Vr("~","\\nobreakspace"),Vr("\\lq","`"),Vr("\\rq","'"),Vr("\\aa","\\r a"),Vr("\\AA","\\r A"),Vr("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`©}"),Vr("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}"),Vr("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}"),Vr("ℬ","\\mathscr{B}"),Vr("ℰ","\\mathscr{E}"),Vr("ℱ","\\mathscr{F}"),Vr("ℋ","\\mathscr{H}"),Vr("ℐ","\\mathscr{I}"),Vr("ℒ","\\mathscr{L}"),Vr("ℳ","\\mathscr{M}"),Vr("ℛ","\\mathscr{R}"),Vr("ℭ","\\mathfrak{C}"),Vr("ℌ","\\mathfrak{H}"),Vr("ℨ","\\mathfrak{Z}"),Vr("\\Bbbk","\\Bbb{k}"),Vr("·","\\cdotp"),Vr("\\llap","\\mathllap{\\textrm{#1}}"),Vr("\\rlap","\\mathrlap{\\textrm{#1}}"),Vr("\\clap","\\mathclap{\\textrm{#1}}"),Vr("\\mathstrut","\\vphantom{(}"),Vr("\\underbar","\\underline{\\text{#1}}"),Vr("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}'),Vr("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}"),Vr("\\ne","\\neq"),Vr("≠","\\neq"),Vr("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}"),Vr("∉","\\notin"),Vr("≘","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}"),Vr("≙","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}"),Vr("≚","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}"),Vr("≛","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}"),Vr("≝","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}"),Vr("≞","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}"),Vr("≟","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}"),Vr("⟂","\\perp"),Vr("‼","\\mathclose{!\\mkern-0.8mu!}"),Vr("∌","\\notni"),Vr("⌜","\\ulcorner"),Vr("⌝","\\urcorner"),Vr("⌞","\\llcorner"),Vr("⌟","\\lrcorner"),Vr("©","\\copyright"),Vr("®","\\textregistered"),Vr("️","\\textregistered"),Vr("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}'),Vr("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}'),Vr("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}'),Vr("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}'),Vr("\\vdots","{\\varvdots\\rule{0pt}{15pt}}"),Vr("⋮","\\vdots"),Vr("\\varGamma","\\mathit{\\Gamma}"),Vr("\\varDelta","\\mathit{\\Delta}"),Vr("\\varTheta","\\mathit{\\Theta}"),Vr("\\varLambda","\\mathit{\\Lambda}"),Vr("\\varXi","\\mathit{\\Xi}"),Vr("\\varPi","\\mathit{\\Pi}"),Vr("\\varSigma","\\mathit{\\Sigma}"),Vr("\\varUpsilon","\\mathit{\\Upsilon}"),Vr("\\varPhi","\\mathit{\\Phi}"),Vr("\\varPsi","\\mathit{\\Psi}"),Vr("\\varOmega","\\mathit{\\Omega}"),Vr("\\substack","\\begin{subarray}{c}#1\\end{subarray}"),Vr("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax"),Vr("\\boxed","\\fbox{$\\displaystyle{#1}$}"),Vr("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;"),Vr("\\implies","\\DOTSB\\;\\Longrightarrow\\;"),Vr("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;"),Vr("\\dddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}"),Vr("\\ddddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}");var Da={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"};Vr("\\dots",(function(e){var t="\\dotso",r=e.expandAfterFuture().text;return r in Da?t=Da[r]:("\\not"===r.slice(0,4)||r in le.math&&l(["bin","rel"],le.math[r].group))&&(t="\\dotsb"),t}));var Pa={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};Vr("\\dotso",(function(e){return e.future().text in Pa?"\\ldots\\,":"\\ldots"})),Vr("\\dotsc",(function(e){var t=e.future().text;return t in Pa&&","!==t?"\\ldots\\,":"\\ldots"})),Vr("\\cdots",(function(e){return e.future().text in Pa?"\\@cdots\\,":"\\@cdots"})),Vr("\\dotsb","\\cdots"),Vr("\\dotsm","\\cdots"),Vr("\\dotsi","\\!\\cdots"),Vr("\\dotsx","\\ldots\\,"),Vr("\\DOTSI","\\relax"),Vr("\\DOTSB","\\relax"),Vr("\\DOTSX","\\relax"),Vr("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax"),Vr("\\,","\\tmspace+{3mu}{.1667em}"),Vr("\\thinspace","\\,"),Vr("\\>","\\mskip{4mu}"),Vr("\\:","\\tmspace+{4mu}{.2222em}"),Vr("\\medspace","\\:"),Vr("\\;","\\tmspace+{5mu}{.2777em}"),Vr("\\thickspace","\\;"),Vr("\\!","\\tmspace-{3mu}{.1667em}"),Vr("\\negthinspace","\\!"),Vr("\\negmedspace","\\tmspace-{4mu}{.2222em}"),Vr("\\negthickspace","\\tmspace-{5mu}{.277em}"),Vr("\\enspace","\\kern.5em "),Vr("\\enskip","\\hskip.5em\\relax"),Vr("\\quad","\\hskip1em\\relax"),Vr("\\qquad","\\hskip2em\\relax"),Vr("\\tag","\\@ifstar\\tag@literal\\tag@paren"),Vr("\\tag@paren","\\tag@literal{({#1})}"),Vr("\\tag@literal",(e=>{if(e.macros.get("\\df@tag"))throw new a("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"})),Vr("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}"),Vr("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)"),Vr("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}"),Vr("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1"),Vr("\\newline","\\\\\\relax"),Vr("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var Va=X(I["Main-Regular"]["T".charCodeAt(0)][1]-.7*I["Main-Regular"]["A".charCodeAt(0)][1]);Vr("\\LaTeX","\\textrm{\\html@mathml{L\\kern-.36em\\raisebox{"+Va+"}{\\scriptstyle A}\\kern-.15em\\TeX}{LaTeX}}"),Vr("\\KaTeX","\\textrm{\\html@mathml{K\\kern-.17em\\raisebox{"+Va+"}{\\scriptstyle A}\\kern-.15em\\TeX}{KaTeX}}"),Vr("\\hspace","\\@ifstar\\@hspacer\\@hspace"),Vr("\\@hspace","\\hskip #1\\relax"),Vr("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax"),Vr("\\ordinarycolon",":"),Vr("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}"),Vr("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}'),Vr("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}'),Vr("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}'),Vr("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}'),Vr("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}'),Vr("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}'),Vr("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}'),Vr("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}'),Vr("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}'),Vr("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}'),Vr("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}'),Vr("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}'),Vr("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}'),Vr("∷","\\dblcolon"),Vr("∹","\\eqcolon"),Vr("≔","\\coloneqq"),Vr("≕","\\eqqcolon"),Vr("⩴","\\Coloneqq"),Vr("\\ratio","\\vcentcolon"),Vr("\\coloncolon","\\dblcolon"),Vr("\\colonequals","\\coloneqq"),Vr("\\coloncolonequals","\\Coloneqq"),Vr("\\equalscolon","\\eqqcolon"),Vr("\\equalscoloncolon","\\Eqqcolon"),Vr("\\colonminus","\\coloneq"),Vr("\\coloncolonminus","\\Coloneq"),Vr("\\minuscolon","\\eqcolon"),Vr("\\minuscoloncolon","\\Eqcolon"),Vr("\\coloncolonapprox","\\Colonapprox"),Vr("\\coloncolonsim","\\Colonsim"),Vr("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),Vr("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}"),Vr("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),Vr("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}"),Vr("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}"),Vr("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}"),Vr("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}"),Vr("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}"),Vr("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}"),Vr("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}"),Vr("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}"),Vr("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}"),Vr("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}"),Vr("\\gvertneqq","\\html@mathml{\\@gvertneqq}{≩}"),Vr("\\lvertneqq","\\html@mathml{\\@lvertneqq}{≨}"),Vr("\\ngeqq","\\html@mathml{\\@ngeqq}{≱}"),Vr("\\ngeqslant","\\html@mathml{\\@ngeqslant}{≱}"),Vr("\\nleqq","\\html@mathml{\\@nleqq}{≰}"),Vr("\\nleqslant","\\html@mathml{\\@nleqslant}{≰}"),Vr("\\nshortmid","\\html@mathml{\\@nshortmid}{∤}"),Vr("\\nshortparallel","\\html@mathml{\\@nshortparallel}{∦}"),Vr("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{⊈}"),Vr("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{⊉}"),Vr("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{⊊}"),Vr("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{⫋}"),Vr("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{⊋}"),Vr("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{⫌}"),Vr("\\imath","\\html@mathml{\\@imath}{ı}"),Vr("\\jmath","\\html@mathml{\\@jmath}{ȷ}"),Vr("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}"),Vr("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}"),Vr("⟦","\\llbracket"),Vr("⟧","\\rrbracket"),Vr("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}"),Vr("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}"),Vr("⦃","\\lBrace"),Vr("⦄","\\rBrace"),Vr("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}"),Vr("⦵","\\minuso"),Vr("\\darr","\\downarrow"),Vr("\\dArr","\\Downarrow"),Vr("\\Darr","\\Downarrow"),Vr("\\lang","\\langle"),Vr("\\rang","\\rangle"),Vr("\\uarr","\\uparrow"),Vr("\\uArr","\\Uparrow"),Vr("\\Uarr","\\Uparrow"),Vr("\\N","\\mathbb{N}"),Vr("\\R","\\mathbb{R}"),Vr("\\Z","\\mathbb{Z}"),Vr("\\alef","\\aleph"),Vr("\\alefsym","\\aleph"),Vr("\\Alpha","\\mathrm{A}"),Vr("\\Beta","\\mathrm{B}"),Vr("\\bull","\\bullet"),Vr("\\Chi","\\mathrm{X}"),Vr("\\clubs","\\clubsuit"),Vr("\\cnums","\\mathbb{C}"),Vr("\\Complex","\\mathbb{C}"),Vr("\\Dagger","\\ddagger"),Vr("\\diamonds","\\diamondsuit"),Vr("\\empty","\\emptyset"),Vr("\\Epsilon","\\mathrm{E}"),Vr("\\Eta","\\mathrm{H}"),Vr("\\exist","\\exists"),Vr("\\harr","\\leftrightarrow"),Vr("\\hArr","\\Leftrightarrow"),Vr("\\Harr","\\Leftrightarrow"),Vr("\\hearts","\\heartsuit"),Vr("\\image","\\Im"),Vr("\\infin","\\infty"),Vr("\\Iota","\\mathrm{I}"),Vr("\\isin","\\in"),Vr("\\Kappa","\\mathrm{K}"),Vr("\\larr","\\leftarrow"),Vr("\\lArr","\\Leftarrow"),Vr("\\Larr","\\Leftarrow"),Vr("\\lrarr","\\leftrightarrow"),Vr("\\lrArr","\\Leftrightarrow"),Vr("\\Lrarr","\\Leftrightarrow"),Vr("\\Mu","\\mathrm{M}"),Vr("\\natnums","\\mathbb{N}"),Vr("\\Nu","\\mathrm{N}"),Vr("\\Omicron","\\mathrm{O}"),Vr("\\plusmn","\\pm"),Vr("\\rarr","\\rightarrow"),Vr("\\rArr","\\Rightarrow"),Vr("\\Rarr","\\Rightarrow"),Vr("\\real","\\Re"),Vr("\\reals","\\mathbb{R}"),Vr("\\Reals","\\mathbb{R}"),Vr("\\Rho","\\mathrm{P}"),Vr("\\sdot","\\cdot"),Vr("\\sect","\\S"),Vr("\\spades","\\spadesuit"),Vr("\\sub","\\subset"),Vr("\\sube","\\subseteq"),Vr("\\supe","\\supseteq"),Vr("\\Tau","\\mathrm{T}"),Vr("\\thetasym","\\vartheta"),Vr("\\weierp","\\wp"),Vr("\\Zeta","\\mathrm{Z}"),Vr("\\argmin","\\DOTSB\\operatorname*{arg\\,min}"),Vr("\\argmax","\\DOTSB\\operatorname*{arg\\,max}"),Vr("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits"),Vr("\\bra","\\mathinner{\\langle{#1}|}"),Vr("\\ket","\\mathinner{|{#1}\\rangle}"),Vr("\\braket","\\mathinner{\\langle{#1}\\rangle}"),Vr("\\Bra","\\left\\langle#1\\right|"),Vr("\\Ket","\\left|#1\\right\\rangle");var Fa=e=>t=>{var r=t.consumeArg().tokens,a=t.consumeArg().tokens,n=t.consumeArg().tokens,i=t.consumeArg().tokens,o=t.macros.get("|"),s=t.macros.get("\\|");t.macros.beginGroup();var l=t=>r=>{e&&(r.macros.set("|",o),n.length&&r.macros.set("\\|",s));var i=t;return!t&&n.length&&"|"===r.future().text&&(r.popToken(),i=!0),{tokens:i?n:a,numArgs:0}};t.macros.set("|",l(!1)),n.length&&t.macros.set("\\|",l(!0));var h=t.consumeArg().tokens,m=t.expandTokens([...i,...h,...r]);return t.macros.endGroup(),{tokens:m.reverse(),numArgs:0}};Vr("\\bra@ket",Fa(!1)),Vr("\\bra@set",Fa(!0)),Vr("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}"),Vr("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}"),Vr("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}"),Vr("\\angln","{\\angl n}"),Vr("\\blue","\\textcolor{##6495ed}{#1}"),Vr("\\orange","\\textcolor{##ffa500}{#1}"),Vr("\\pink","\\textcolor{##ff00af}{#1}"),Vr("\\red","\\textcolor{##df0030}{#1}"),Vr("\\green","\\textcolor{##28ae7b}{#1}"),Vr("\\gray","\\textcolor{gray}{#1}"),Vr("\\purple","\\textcolor{##9d38bd}{#1}"),Vr("\\blueA","\\textcolor{##ccfaff}{#1}"),Vr("\\blueB","\\textcolor{##80f6ff}{#1}"),Vr("\\blueC","\\textcolor{##63d9ea}{#1}"),Vr("\\blueD","\\textcolor{##11accd}{#1}"),Vr("\\blueE","\\textcolor{##0c7f99}{#1}"),Vr("\\tealA","\\textcolor{##94fff5}{#1}"),Vr("\\tealB","\\textcolor{##26edd5}{#1}"),Vr("\\tealC","\\textcolor{##01d1c1}{#1}"),Vr("\\tealD","\\textcolor{##01a995}{#1}"),Vr("\\tealE","\\textcolor{##208170}{#1}"),Vr("\\greenA","\\textcolor{##b6ffb0}{#1}"),Vr("\\greenB","\\textcolor{##8af281}{#1}"),Vr("\\greenC","\\textcolor{##74cf70}{#1}"),Vr("\\greenD","\\textcolor{##1fab54}{#1}"),Vr("\\greenE","\\textcolor{##0d923f}{#1}"),Vr("\\goldA","\\textcolor{##ffd0a9}{#1}"),Vr("\\goldB","\\textcolor{##ffbb71}{#1}"),Vr("\\goldC","\\textcolor{##ff9c39}{#1}"),Vr("\\goldD","\\textcolor{##e07d10}{#1}"),Vr("\\goldE","\\textcolor{##a75a05}{#1}"),Vr("\\redA","\\textcolor{##fca9a9}{#1}"),Vr("\\redB","\\textcolor{##ff8482}{#1}"),Vr("\\redC","\\textcolor{##f9685d}{#1}"),Vr("\\redD","\\textcolor{##e84d39}{#1}"),Vr("\\redE","\\textcolor{##bc2612}{#1}"),Vr("\\maroonA","\\textcolor{##ffbde0}{#1}"),Vr("\\maroonB","\\textcolor{##ff92c6}{#1}"),Vr("\\maroonC","\\textcolor{##ed5fa6}{#1}"),Vr("\\maroonD","\\textcolor{##ca337c}{#1}"),Vr("\\maroonE","\\textcolor{##9e034e}{#1}"),Vr("\\purpleA","\\textcolor{##ddd7ff}{#1}"),Vr("\\purpleB","\\textcolor{##c6b9fc}{#1}"),Vr("\\purpleC","\\textcolor{##aa87ff}{#1}"),Vr("\\purpleD","\\textcolor{##7854ab}{#1}"),Vr("\\purpleE","\\textcolor{##543b78}{#1}"),Vr("\\mintA","\\textcolor{##f5f9e8}{#1}"),Vr("\\mintB","\\textcolor{##edf2df}{#1}"),Vr("\\mintC","\\textcolor{##e0e5cc}{#1}"),Vr("\\grayA","\\textcolor{##f6f7f7}{#1}"),Vr("\\grayB","\\textcolor{##f0f1f2}{#1}"),Vr("\\grayC","\\textcolor{##e3e5e6}{#1}"),Vr("\\grayD","\\textcolor{##d6d8da}{#1}"),Vr("\\grayE","\\textcolor{##babec2}{#1}"),Vr("\\grayF","\\textcolor{##888d93}{#1}"),Vr("\\grayG","\\textcolor{##626569}{#1}"),Vr("\\grayH","\\textcolor{##3b3e40}{#1}"),Vr("\\grayI","\\textcolor{##21242c}{#1}"),Vr("\\kaBlue","\\textcolor{##314453}{#1}"),Vr("\\kaGreen","\\textcolor{##71B307}{#1}");var Ga={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0};class Ua{constructor(e,t,r){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=t,this.expansionCount=0,this.feed(e),this.macros=new Ha(Oa,t.macros),this.mode=r,this.stack=[]}feed(e){this.lexer=new Ra(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return 0===this.stack.length&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){var t,a,n;if(e){if(this.consumeSpaces(),"["!==this.future().text)return null;t=this.popToken(),({tokens:n,end:a}=this.consumeArg(["]"]))}else({tokens:n,start:t,end:a}=this.consumeArg());return this.pushToken(new r("EOF",a.loc)),this.pushTokens(n),t.range(a,"")}consumeSpaces(){for(;" "===this.future().text;)this.stack.pop()}consumeArg(e){var t=[],r=e&&e.length>0;r||this.consumeSpaces();var n,i=this.future(),o=0,s=0;do{if(n=this.popToken(),t.push(n),"{"===n.text)++o;else if("}"===n.text){if(-1==--o)throw new a("Extra }",n)}else if("EOF"===n.text)throw new a("Unexpected end of input in a macro argument, expected '"+(e&&r?e[s]:"}")+"'",n);if(e&&r)if((0===o||1===o&&"{"===e[s])&&n.text===e[s]){if(++s===e.length){t.splice(-s,s);break}}else s=0}while(0!==o||r);return"{"===i.text&&"}"===t[t.length-1].text&&(t.pop(),t.shift()),t.reverse(),{tokens:t,start:i,end:n}}consumeArgs(e,t){if(t){if(t.length!==e+1)throw new a("The length of delimiters doesn't match the number of args!");for(var r=t[0],n=0;nthis.settings.maxExpand)throw new a("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(e){var t=this.popToken(),r=t.text,n=t.noexpand?null:this._getExpansion(r);if(null==n||e&&n.unexpandable){if(e&&null==n&&"\\"===r[0]&&!this.isDefined(r))throw new a("Undefined control sequence: "+r);return this.pushToken(t),!1}this.countExpansion(1);var i=n.tokens,o=this.consumeArgs(n.numArgs,n.delimiters);if(n.numArgs)for(var s=(i=i.slice()).length-1;s>=0;--s){var l=i[s];if("#"===l.text){if(0===s)throw new a("Incomplete placeholder at end of macro body",l);if("#"===(l=i[--s]).text)i.splice(s+1,1);else{if(!/^[1-9]$/.test(l.text))throw new a("Not a valid argument number",l);i.splice(s,2,...o[+l.text-1])}}}return this.pushTokens(i),i.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(!1===this.expandOnce()){var e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}throw new Error}expandMacro(e){return this.macros.has(e)?this.expandTokens([new r(e)]):void 0}expandTokens(e){var t=[],r=this.stack.length;for(this.pushTokens(e);this.stack.length>r;)if(!1===this.expandOnce(!0)){var a=this.stack.pop();a.treatAsRelax&&(a.noexpand=!1,a.treatAsRelax=!1),t.push(a)}return this.countExpansion(t.length),t}expandMacroAsText(e){var t=this.expandMacro(e);return t?t.map((e=>e.text)).join(""):t}_getExpansion(e){var t=this.macros.get(e);if(null==t)return t;if(1===e.length){var r=this.lexer.catcodes[e];if(null!=r&&13!==r)return}var a="function"==typeof t?t(this):t;if("string"==typeof a){var n=0;if(-1!==a.indexOf("#"))for(var i=a.replace(/##/g,"");-1!==i.indexOf("#"+(n+1));)++n;for(var o=new Ra(a,this.settings),s=[],l=o.lex();"EOF"!==l.text;)s.push(l),l=o.lex();return s.reverse(),{tokens:s,numArgs:n}}return a}isDefined(e){return this.macros.has(e)||Ta.hasOwnProperty(e)||le.math.hasOwnProperty(e)||le.text.hasOwnProperty(e)||Ga.hasOwnProperty(e)}isExpandable(e){var t=this.macros.get(e);return null!=t?"string"==typeof t||"function"==typeof t||!t.unexpandable:Ta.hasOwnProperty(e)&&!Ta[e].primitive}}var Ya=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,Xa=Object.freeze({"₊":"+","₋":"-","₌":"=","₍":"(","₎":")","₀":"0","₁":"1","₂":"2","₃":"3","₄":"4","₅":"5","₆":"6","₇":"7","₈":"8","₉":"9",ₐ:"a",ₑ:"e",ₕ:"h",ᵢ:"i",ⱼ:"j",ₖ:"k",ₗ:"l",ₘ:"m",ₙ:"n",ₒ:"o",ₚ:"p",ᵣ:"r",ₛ:"s",ₜ:"t",ᵤ:"u",ᵥ:"v",ₓ:"x",ᵦ:"β",ᵧ:"γ",ᵨ:"ρ",ᵩ:"ϕ",ᵪ:"χ","⁺":"+","⁻":"-","⁼":"=","⁽":"(","⁾":")","⁰":"0","¹":"1","²":"2","³":"3","⁴":"4","⁵":"5","⁶":"6","⁷":"7","⁸":"8","⁹":"9",ᴬ:"A",ᴮ:"B",ᴰ:"D",ᴱ:"E",ᴳ:"G",ᴴ:"H",ᴵ:"I",ᴶ:"J",ᴷ:"K",ᴸ:"L",ᴹ:"M",ᴺ:"N",ᴼ:"O",ᴾ:"P",ᴿ:"R",ᵀ:"T",ᵁ:"U",ⱽ:"V",ᵂ:"W",ᵃ:"a",ᵇ:"b",ᶜ:"c",ᵈ:"d",ᵉ:"e",ᶠ:"f",ᵍ:"g",ʰ:"h",ⁱ:"i",ʲ:"j",ᵏ:"k",ˡ:"l",ᵐ:"m",ⁿ:"n",ᵒ:"o",ᵖ:"p",ʳ:"r",ˢ:"s",ᵗ:"t",ᵘ:"u",ᵛ:"v",ʷ:"w",ˣ:"x",ʸ:"y",ᶻ:"z",ᵝ:"β",ᵞ:"γ",ᵟ:"δ",ᵠ:"ϕ",ᵡ:"χ",ᶿ:"θ"}),Wa={"́":{text:"\\'",math:"\\acute"},"̀":{text:"\\`",math:"\\grave"},"̈":{text:'\\"',math:"\\ddot"},"̃":{text:"\\~",math:"\\tilde"},"̄":{text:"\\=",math:"\\bar"},"̆":{text:"\\u",math:"\\breve"},"̌":{text:"\\v",math:"\\check"},"̂":{text:"\\^",math:"\\hat"},"̇":{text:"\\.",math:"\\dot"},"̊":{text:"\\r",math:"\\mathring"},"̋":{text:"\\H"},"̧":{text:"\\c"}},_a={á:"á",à:"à",ä:"ä",ǟ:"ǟ",ã:"ã",ā:"ā",ă:"ă",ắ:"ắ",ằ:"ằ",ẵ:"ẵ",ǎ:"ǎ",â:"â",ấ:"ấ",ầ:"ầ",ẫ:"ẫ",ȧ:"ȧ",ǡ:"ǡ",å:"å",ǻ:"ǻ",ḃ:"ḃ",ć:"ć",ḉ:"ḉ",č:"č",ĉ:"ĉ",ċ:"ċ",ç:"ç",ď:"ď",ḋ:"ḋ",ḑ:"ḑ",é:"é",è:"è",ë:"ë",ẽ:"ẽ",ē:"ē",ḗ:"ḗ",ḕ:"ḕ",ĕ:"ĕ",ḝ:"ḝ",ě:"ě",ê:"ê",ế:"ế",ề:"ề",ễ:"ễ",ė:"ė",ȩ:"ȩ",ḟ:"ḟ",ǵ:"ǵ",ḡ:"ḡ",ğ:"ğ",ǧ:"ǧ",ĝ:"ĝ",ġ:"ġ",ģ:"ģ",ḧ:"ḧ",ȟ:"ȟ",ĥ:"ĥ",ḣ:"ḣ",ḩ:"ḩ",í:"í",ì:"ì",ï:"ï",ḯ:"ḯ",ĩ:"ĩ",ī:"ī",ĭ:"ĭ",ǐ:"ǐ",î:"î",ǰ:"ǰ",ĵ:"ĵ",ḱ:"ḱ",ǩ:"ǩ",ķ:"ķ",ĺ:"ĺ",ľ:"ľ",ļ:"ļ",ḿ:"ḿ",ṁ:"ṁ",ń:"ń",ǹ:"ǹ",ñ:"ñ",ň:"ň",ṅ:"ṅ",ņ:"ņ",ó:"ó",ò:"ò",ö:"ö",ȫ:"ȫ",õ:"õ",ṍ:"ṍ",ṏ:"ṏ",ȭ:"ȭ",ō:"ō",ṓ:"ṓ",ṑ:"ṑ",ŏ:"ŏ",ǒ:"ǒ",ô:"ô",ố:"ố",ồ:"ồ",ỗ:"ỗ",ȯ:"ȯ",ȱ:"ȱ",ő:"ő",ṕ:"ṕ",ṗ:"ṗ",ŕ:"ŕ",ř:"ř",ṙ:"ṙ",ŗ:"ŗ",ś:"ś",ṥ:"ṥ",š:"š",ṧ:"ṧ",ŝ:"ŝ",ṡ:"ṡ",ş:"ş",ẗ:"ẗ",ť:"ť",ṫ:"ṫ",ţ:"ţ",ú:"ú",ù:"ù",ü:"ü",ǘ:"ǘ",ǜ:"ǜ",ǖ:"ǖ",ǚ:"ǚ",ũ:"ũ",ṹ:"ṹ",ū:"ū",ṻ:"ṻ",ŭ:"ŭ",ǔ:"ǔ",û:"û",ů:"ů",ű:"ű",ṽ:"ṽ",ẃ:"ẃ",ẁ:"ẁ",ẅ:"ẅ",ŵ:"ŵ",ẇ:"ẇ",ẘ:"ẘ",ẍ:"ẍ",ẋ:"ẋ",ý:"ý",ỳ:"ỳ",ÿ:"ÿ",ỹ:"ỹ",ȳ:"ȳ",ŷ:"ŷ",ẏ:"ẏ",ẙ:"ẙ",ź:"ź",ž:"ž",ẑ:"ẑ",ż:"ż",Á:"Á",À:"À",Ä:"Ä",Ǟ:"Ǟ",Ã:"Ã",Ā:"Ā",Ă:"Ă",Ắ:"Ắ",Ằ:"Ằ",Ẵ:"Ẵ",Ǎ:"Ǎ",Â:"Â",Ấ:"Ấ",Ầ:"Ầ",Ẫ:"Ẫ",Ȧ:"Ȧ",Ǡ:"Ǡ",Å:"Å",Ǻ:"Ǻ",Ḃ:"Ḃ",Ć:"Ć",Ḉ:"Ḉ",Č:"Č",Ĉ:"Ĉ",Ċ:"Ċ",Ç:"Ç",Ď:"Ď",Ḋ:"Ḋ",Ḑ:"Ḑ",É:"É",È:"È",Ë:"Ë",Ẽ:"Ẽ",Ē:"Ē",Ḗ:"Ḗ",Ḕ:"Ḕ",Ĕ:"Ĕ",Ḝ:"Ḝ",Ě:"Ě",Ê:"Ê",Ế:"Ế",Ề:"Ề",Ễ:"Ễ",Ė:"Ė",Ȩ:"Ȩ",Ḟ:"Ḟ",Ǵ:"Ǵ",Ḡ:"Ḡ",Ğ:"Ğ",Ǧ:"Ǧ",Ĝ:"Ĝ",Ġ:"Ġ",Ģ:"Ģ",Ḧ:"Ḧ",Ȟ:"Ȟ",Ĥ:"Ĥ",Ḣ:"Ḣ",Ḩ:"Ḩ",Í:"Í",Ì:"Ì",Ï:"Ï",Ḯ:"Ḯ",Ĩ:"Ĩ",Ī:"Ī",Ĭ:"Ĭ",Ǐ:"Ǐ",Î:"Î",İ:"İ",Ĵ:"Ĵ",Ḱ:"Ḱ",Ǩ:"Ǩ",Ķ:"Ķ",Ĺ:"Ĺ",Ľ:"Ľ",Ļ:"Ļ",Ḿ:"Ḿ",Ṁ:"Ṁ",Ń:"Ń",Ǹ:"Ǹ",Ñ:"Ñ",Ň:"Ň",Ṅ:"Ṅ",Ņ:"Ņ",Ó:"Ó",Ò:"Ò",Ö:"Ö",Ȫ:"Ȫ",Õ:"Õ",Ṍ:"Ṍ",Ṏ:"Ṏ",Ȭ:"Ȭ",Ō:"Ō",Ṓ:"Ṓ",Ṑ:"Ṑ",Ŏ:"Ŏ",Ǒ:"Ǒ",Ô:"Ô",Ố:"Ố",Ồ:"Ồ",Ỗ:"Ỗ",Ȯ:"Ȯ",Ȱ:"Ȱ",Ő:"Ő",Ṕ:"Ṕ",Ṗ:"Ṗ",Ŕ:"Ŕ",Ř:"Ř",Ṙ:"Ṙ",Ŗ:"Ŗ",Ś:"Ś",Ṥ:"Ṥ",Š:"Š",Ṧ:"Ṧ",Ŝ:"Ŝ",Ṡ:"Ṡ",Ş:"Ş",Ť:"Ť",Ṫ:"Ṫ",Ţ:"Ţ",Ú:"Ú",Ù:"Ù",Ü:"Ü",Ǘ:"Ǘ",Ǜ:"Ǜ",Ǖ:"Ǖ",Ǚ:"Ǚ",Ũ:"Ũ",Ṹ:"Ṹ",Ū:"Ū",Ṻ:"Ṻ",Ŭ:"Ŭ",Ǔ:"Ǔ",Û:"Û",Ů:"Ů",Ű:"Ű",Ṽ:"Ṽ",Ẃ:"Ẃ",Ẁ:"Ẁ",Ẅ:"Ẅ",Ŵ:"Ŵ",Ẇ:"Ẇ",Ẍ:"Ẍ",Ẋ:"Ẋ",Ý:"Ý",Ỳ:"Ỳ",Ÿ:"Ÿ",Ỹ:"Ỹ",Ȳ:"Ȳ",Ŷ:"Ŷ",Ẏ:"Ẏ",Ź:"Ź",Ž:"Ž",Ẑ:"Ẑ",Ż:"Ż",ά:"ά",ὰ:"ὰ",ᾱ:"ᾱ",ᾰ:"ᾰ",έ:"έ",ὲ:"ὲ",ή:"ή",ὴ:"ὴ",ί:"ί",ὶ:"ὶ",ϊ:"ϊ",ΐ:"ΐ",ῒ:"ῒ",ῑ:"ῑ",ῐ:"ῐ",ό:"ό",ὸ:"ὸ",ύ:"ύ",ὺ:"ὺ",ϋ:"ϋ",ΰ:"ΰ",ῢ:"ῢ",ῡ:"ῡ",ῠ:"ῠ",ώ:"ώ",ὼ:"ὼ",Ύ:"Ύ",Ὺ:"Ὺ",Ϋ:"Ϋ",Ῡ:"Ῡ",Ῠ:"Ῠ",Ώ:"Ώ",Ὼ:"Ὼ"};class $a{constructor(e,t){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new Ua(e,t,this.mode),this.settings=t,this.leftrightDepth=0}expect(e,t){if(void 0===t&&(t=!0),this.fetch().text!==e)throw new a("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());t&&this.consume()}consume(){this.nextToken=null}fetch(){return null==this.nextToken&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}}subparse(e){var t=this.nextToken;this.consume(),this.gullet.pushToken(new r("}")),this.gullet.pushTokens(e);var a=this.parseExpression(!1);return this.expect("}"),this.nextToken=t,a}parseExpression(e,t){for(var r=[];;){"math"===this.mode&&this.consumeSpaces();var a=this.fetch();if(-1!==$a.endOfExpression.indexOf(a.text))break;if(t&&a.text===t)break;if(e&&Ta[a.text]&&Ta[a.text].infix)break;var n=this.parseAtom(t);if(!n)break;"internal"!==n.type&&r.push(n)}return"text"===this.mode&&this.formLigatures(r),this.handleInfixNodes(r)}handleInfixNodes(e){for(var t,r=-1,n=0;n=0&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+r[0]+'" used in math mode',e);var l,h=le[this.mode][r].group,m=t.range(e);if(oe.hasOwnProperty(h)){var c=h;l={type:"atom",mode:this.mode,family:c,loc:m,text:r}}else l={type:h,mode:this.mode,loc:m,text:r};o=l}else{if(!(r.charCodeAt(0)>=128))return null;this.settings.strict&&(N(r.charCodeAt(0))?"math"===this.mode&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+r[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+r[0]+'" ('+r.charCodeAt(0)+")",e)),o={type:"textord",mode:"text",loc:t.range(e),text:r}}if(this.consume(),s)for(var p=0;pe.left.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"))).join("|")+")");-1!==(r=e.search(n));){r>0&&(a.push({type:"text",data:e.slice(0,r)}),e=e.slice(r));var i=t.findIndex((t=>e.startsWith(t.left)));if(-1===(r=en(t[i].right,e,t[i].left.length)))break;var o=e.slice(0,r+t[i].right.length),s=tn.test(o)?o:e.slice(t[i].left.length,r);a.push({type:"math",data:s,rawData:o,display:t[i].display}),e=e.slice(r+t[i].right.length)}return""!==e&&a.push({type:"text",data:e}),a}(e,t.delimiters);if(1===r.length&&"text"===r[0].type)return null;for(var a=document.createDocumentFragment(),n=0;n-1===t.indexOf(" "+e+" ")))&&e(n,r)}()}};!function(e,t){if(!e)throw new Error("No element provided to render");var r={};for(var a in t)t.hasOwnProperty(a)&&(r[a]=t[a]);r.delimiters=r.delimiters||[{left:"$$",right:"$$",display:!0},{left:"\\(",right:"\\)",display:!1},{left:"\\begin{equation}",right:"\\end{equation}",display:!0},{left:"\\begin{align}",right:"\\end{align}",display:!0},{left:"\\begin{alignat}",right:"\\end{alignat}",display:!0},{left:"\\begin{gather}",right:"\\end{gather}",display:!0},{left:"\\begin{CD}",right:"\\end{CD}",display:!0},{left:"\\[",right:"\\]",display:!0}],r.ignoredTags=r.ignoredTags||["script","noscript","style","textarea","pre","code","option"],r.ignoredClasses=r.ignoredClasses||[],r.errorCallback=r.errorCallback||console.error,r.macros=r.macros||{},an(e,r)}(document.body)})()})(); \ No newline at end of file diff --git a/docs/hugo/public/js/main-2e274343.bundle.min.js b/docs/hugo/public/js/main-2e274343.bundle.min.js new file mode 100644 index 000000000..45d1d47b6 --- /dev/null +++ b/docs/hugo/public/js/main-2e274343.bundle.min.js @@ -0,0 +1,2 @@ +/*! For license information please see main-2e274343.bundle.min.js.LICENSE.txt */ +(()=>{var t={7576:function(t){var e;e=function(){return function(){var t={686:function(t,e,n){"use strict";n.d(e,{default:function(){return S}});var o=n(279),r=n.n(o),c=n(370),i=n.n(c),u=n(817),a=n.n(u);function s(t){try{return document.execCommand(t)}catch(t){return!1}}var l=function(t){var e=a()(t);return s("cut"),e},f=function(t,e){var n=function(t){var e="rtl"===document.documentElement.getAttribute("dir"),n=document.createElement("textarea");n.style.fontSize="12pt",n.style.border="0",n.style.padding="0",n.style.margin="0",n.style.position="absolute",n.style[e?"right":"left"]="-9999px";var o=window.pageYOffset||document.documentElement.scrollTop;return n.style.top="".concat(o,"px"),n.setAttribute("readonly",""),n.value=t,n}(t);e.container.appendChild(n);var o=a()(n);return s("copy"),n.remove(),o},d=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{container:document.body},n="";return"string"==typeof t?n=f(t,e):t instanceof HTMLInputElement&&!["text","search","url","tel","password"].includes(null==t?void 0:t.type)?n=f(t.value,e):(n=a()(t),s("copy")),n};function p(t){return p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},p(t)}function y(t){return y="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},y(t)}function h(t,e){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{};this.action="function"==typeof t.action?t.action:this.defaultAction,this.target="function"==typeof t.target?t.target:this.defaultTarget,this.text="function"==typeof t.text?t.text:this.defaultText,this.container="object"===y(t.container)?t.container:document.body}},{key:"listenClick",value:function(t){var e=this;this.listener=i()(t,"click",(function(t){return e.onClick(t)}))}},{key:"onClick",value:function(t){var e=t.delegateTarget||t.currentTarget,n=this.action(e)||"copy",o=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.action,n=void 0===e?"copy":e,o=t.container,r=t.target,c=t.text;if("copy"!==n&&"cut"!==n)throw new Error('Invalid "action" value, use either "copy" or "cut"');if(void 0!==r){if(!r||"object"!==p(r)||1!==r.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===n&&r.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===n&&(r.hasAttribute("readonly")||r.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes')}return c?d(c,{container:o}):r?"cut"===n?l(r):d(r,{container:o}):void 0}({action:n,container:this.container,target:this.target(e),text:this.text(e)});this.emit(o?"success":"error",{action:n,text:o,trigger:e,clearSelection:function(){e&&e.focus(),window.getSelection().removeAllRanges()}})}},{key:"defaultAction",value:function(t){return m("action",t)}},{key:"defaultTarget",value:function(t){var e=m("target",t);if(e)return document.querySelector(e)}},{key:"defaultText",value:function(t){return m("text",t)}},{key:"destroy",value:function(){this.listener.destroy()}}],o=[{key:"copy",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{container:document.body};return d(t,e)}},{key:"cut",value:function(t){return l(t)}},{key:"isSupported",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["copy","cut"],e="string"==typeof t?[t]:t,n=!!document.queryCommandSupported;return e.forEach((function(t){n=n&&!!document.queryCommandSupported(t)})),n}}],n&&h(e.prototype,n),o&&h(e,o),a}(r()),S=b},828:function(t){if("undefined"!=typeof Element&&!Element.prototype.matches){var e=Element.prototype;e.matches=e.matchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector}t.exports=function(t,e){for(;t&&9!==t.nodeType;){if("function"==typeof t.matches&&t.matches(e))return t;t=t.parentNode}}},438:function(t,e,n){var o=n(828);function r(t,e,n,o,r){var i=c.apply(this,arguments);return t.addEventListener(n,i,r),{destroy:function(){t.removeEventListener(n,i,r)}}}function c(t,e,n,r){return function(n){n.delegateTarget=o(n.target,e),n.delegateTarget&&r.call(t,n)}}t.exports=function(t,e,n,o,c){return"function"==typeof t.addEventListener?r.apply(null,arguments):"function"==typeof n?r.bind(null,document).apply(null,arguments):("string"==typeof t&&(t=document.querySelectorAll(t)),Array.prototype.map.call(t,(function(t){return r(t,e,n,o,c)})))}},879:function(t,e){e.node=function(t){return void 0!==t&&t instanceof HTMLElement&&1===t.nodeType},e.nodeList=function(t){var n=Object.prototype.toString.call(t);return void 0!==t&&("[object NodeList]"===n||"[object HTMLCollection]"===n)&&"length"in t&&(0===t.length||e.node(t[0]))},e.string=function(t){return"string"==typeof t||t instanceof String},e.fn=function(t){return"[object Function]"===Object.prototype.toString.call(t)}},370:function(t,e,n){var o=n(879),r=n(438);t.exports=function(t,e,n){if(!t&&!e&&!n)throw new Error("Missing required arguments");if(!o.string(e))throw new TypeError("Second argument must be a String");if(!o.fn(n))throw new TypeError("Third argument must be a Function");if(o.node(t))return function(t,e,n){return t.addEventListener(e,n),{destroy:function(){t.removeEventListener(e,n)}}}(t,e,n);if(o.nodeList(t))return function(t,e,n){return Array.prototype.forEach.call(t,(function(t){t.addEventListener(e,n)})),{destroy:function(){Array.prototype.forEach.call(t,(function(t){t.removeEventListener(e,n)}))}}}(t,e,n);if(o.string(t))return function(t,e,n){return r(document.body,t,e,n)}(t,e,n);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}},817:function(t){t.exports=function(t){var e;if("SELECT"===t.nodeName)t.focus(),e=t.value;else if("INPUT"===t.nodeName||"TEXTAREA"===t.nodeName){var n=t.hasAttribute("readonly");n||t.setAttribute("readonly",""),t.select(),t.setSelectionRange(0,t.value.length),n||t.removeAttribute("readonly"),e=t.value}else{t.hasAttribute("contenteditable")&&t.focus();var o=window.getSelection(),r=document.createRange();r.selectNodeContents(t),o.removeAllRanges(),o.addRange(r),e=o.toString()}return e}},279:function(t){function e(){}e.prototype={on:function(t,e,n){var o=this.e||(this.e={});return(o[t]||(o[t]=[])).push({fn:e,ctx:n}),this},once:function(t,e,n){var o=this;function r(){o.off(t,r),e.apply(n,arguments)}return r._=e,this.on(t,r,n)},emit:function(t){for(var e=[].slice.call(arguments,1),n=((this.e||(this.e={}))[t]||[]).slice(),o=0,r=n.length;o{"use strict";var t=n(7576);document.addEventListener("DOMContentLoaded",(function(){new t(".clip").on("success",(function(t){const e=t.trigger;e.hasAttribute("data-copy-feedback")&&(e.classList.add("gdoc-post__codecopy--success","gdoc-post__codecopy--out"),e.querySelector(".gdoc-icon.copy").classList.add("hidden"),e.querySelector(".gdoc-icon.check").classList.remove("hidden"),setTimeout((function(){e.classList.remove("gdoc-post__codecopy--success","gdoc-post__codecopy--out"),e.querySelector(".gdoc-icon.copy").classList.remove("hidden"),e.querySelector(".gdoc-icon.check").classList.add("hidden")}),3e3)),t.clearSelection()})),document.querySelectorAll(".highlight").forEach((t=>function(t){const e=document.createElement("span");let n="pre > code";t.querySelector(".lntable")&&(n=".lntable .lntd:last-child pre > code");const o=t.querySelector(n);if(null!==o){const n=o.innerText.trim();e.classList.add("flex","align-center","justify-center","clip","gdoc-post__codecopy"),e.type="button",e.innerHTML='',e.setAttribute("data-clipboard-text",n),e.setAttribute("data-copy-feedback","Copied!"),e.setAttribute("role","button"),e.setAttribute("aria-label","Copy"),t.classList.add("gdoc-post__codecontainer"),t.insertBefore(e,t.firstChild)}}(t)))}))})()})(); \ No newline at end of file diff --git a/docs/hugo/public/js/main-2e274343.bundle.min.js.LICENSE.txt b/docs/hugo/public/js/main-2e274343.bundle.min.js.LICENSE.txt new file mode 100644 index 000000000..5161813c4 --- /dev/null +++ b/docs/hugo/public/js/main-2e274343.bundle.min.js.LICENSE.txt @@ -0,0 +1,6 @@ +/*! + * clipboard.js v2.0.11 + * https://clipboardjs.com/ + * + * Licensed MIT © Zeno Rocha + */ diff --git a/docs/hugo/public/js/mermaid-fc9f74ae.bundle.min.js b/docs/hugo/public/js/mermaid-fc9f74ae.bundle.min.js new file mode 100644 index 000000000..b7a1c8d92 --- /dev/null +++ b/docs/hugo/public/js/mermaid-fc9f74ae.bundle.min.js @@ -0,0 +1,2 @@ +/*! For license information please see mermaid-fc9f74ae.bundle.min.js.LICENSE.txt */ +(()=>{var t,e,r={9119:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BLANK_URL=e.relativeFirstCharacters=e.whitespaceEscapeCharsRegex=e.urlSchemeRegex=e.ctrlCharactersRegex=e.htmlCtrlEntityRegex=e.htmlEntitiesRegex=e.invalidProtocolRegex=void 0,e.invalidProtocolRegex=/^([^\w]*)(javascript|data|vbscript)/im,e.htmlEntitiesRegex=/&#(\w+)(^\w|;)?/g,e.htmlCtrlEntityRegex=/&(newline|tab);/gi,e.ctrlCharactersRegex=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,e.urlSchemeRegex=/^.+(:|:)/gim,e.whitespaceEscapeCharsRegex=/(\\|%5[cC])((%(6[eE]|72|74))|[nrt])/g,e.relativeFirstCharacters=[".","/"],e.BLANK_URL="about:blank"},6750:(t,e,r)=>{"use strict";e.J=void 0;var n=r(9119);function i(t){try{return decodeURIComponent(t)}catch(e){return t}}e.J=function(t){if(!t)return n.BLANK_URL;var e,r,a=i(t.trim());do{e=(a=i(a=(r=a,r.replace(n.ctrlCharactersRegex,"").replace(n.htmlEntitiesRegex,(function(t,e){return String.fromCharCode(e)}))).replace(n.htmlCtrlEntityRegex,"").replace(n.ctrlCharactersRegex,"").replace(n.whitespaceEscapeCharsRegex,"").trim())).match(n.ctrlCharactersRegex)||a.match(n.htmlEntitiesRegex)||a.match(n.htmlCtrlEntityRegex)||a.match(n.whitespaceEscapeCharsRegex)}while(e&&e.length>0);var o=a;if(!o)return n.BLANK_URL;if(function(t){return n.relativeFirstCharacters.indexOf(t[0])>-1}(o))return o;var s=o.trimStart(),l=s.match(n.urlSchemeRegex);if(!l)return o;var h=l[0].toLowerCase().trim();if(n.invalidProtocolRegex.test(h))return n.BLANK_URL;var c=s.replace(/\\/g,"/");if("mailto:"===h||h.includes("://"))return c;if("http:"===h||"https:"===h){if(!function(t){return URL.canParse(t)}(c))return n.BLANK_URL;var u=new URL(c);return u.protocol=u.protocol.toLowerCase(),u.hostname=u.hostname.toLowerCase(),u.toString()}return c}},4353:function(t){t.exports=function(){"use strict";var t=6e4,e=36e5,r="millisecond",n="second",i="minute",a="hour",o="day",s="week",l="month",h="quarter",c="year",u="date",d="Invalid Date",p=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,f=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,g={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var e=["th","st","nd","rd"],r=t%100;return"["+t+(e[(r-20)%10]||e[r]||e[0])+"]"}},y=function(t,e,r){var n=String(t);return!n||n.length>=e?t:""+Array(e+1-n.length).join(r)+t},m={s:y,z:function(t){var e=-t.utcOffset(),r=Math.abs(e),n=Math.floor(r/60),i=r%60;return(e<=0?"+":"-")+y(n,2,"0")+":"+y(i,2,"0")},m:function t(e,r){if(e.date()1)return t(o[0])}else{var s=e.name;b[s]=e,i=s}return!n&&i&&(x=i),i||!n&&x},_=function(t,e){if(C(t))return t.clone();var r="object"==typeof e?e:{};return r.date=t,r.args=arguments,new S(r)},v=m;v.l=w,v.i=C,v.w=function(t,e){return _(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var S=function(){function g(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[k]=!0}var y=g.prototype;return y.parse=function(t){this.$d=function(t){var e=t.date,r=t.utc;if(null===e)return new Date(NaN);if(v.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var n=e.match(p);if(n){var i=n[2]-1||0,a=(n[7]||"0").substring(0,3);return r?new Date(Date.UTC(n[1],i,n[3]||1,n[4]||0,n[5]||0,n[6]||0,a)):new Date(n[1],i,n[3]||1,n[4]||0,n[5]||0,n[6]||0,a)}}return new Date(e)}(t),this.init()},y.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},y.$utils=function(){return v},y.isValid=function(){return!(this.$d.toString()===d)},y.isSame=function(t,e){var r=_(t);return this.startOf(e)<=r&&r<=this.endOf(e)},y.isAfter=function(t,e){return _(t){"use strict";function n(t,e,r){if(t&&t.length){const[n,i]=e,a=Math.PI/180*r,o=Math.cos(a),s=Math.sin(a);for(const e of t){const[t,r]=e;e[0]=(t-n)*o-(r-i)*s+n,e[1]=(t-n)*s+(r-i)*o+i}}}function i(t,e){return t[0]===e[0]&&t[1]===e[1]}function a(t,e,r,a=1){const o=r,s=Math.max(e,.1),l=t[0]&&t[0][0]&&"number"==typeof t[0][0]?[t]:t,h=[0,0];if(o)for(const t of l)n(t,h,o);const c=function(t,e,r){const n=[];for(const e of t){const t=[...e];i(t[0],t[t.length-1])||t.push([t[0][0],t[0][1]]),t.length>2&&n.push(t)}const a=[];e=Math.max(e,.1);const o=[];for(const t of n)for(let e=0;et.ymine.ymin?1:t.xe.x?1:t.ymax===e.ymax?0:(t.ymax-e.ymax)/Math.abs(t.ymax-e.ymax))),!o.length)return a;let s=[],l=o[0].ymin,h=0;for(;s.length||o.length;){if(o.length){let t=-1;for(let e=0;el);e++)t=e;o.splice(0,t+1).forEach((t=>{s.push({s:l,edge:t})}))}if(s=s.filter((t=>!(t.edge.ymax<=l))),s.sort(((t,e)=>t.edge.x===e.edge.x?0:(t.edge.x-e.edge.x)/Math.abs(t.edge.x-e.edge.x))),(1!==r||h%e==0)&&s.length>1)for(let t=0;t=s.length)break;const r=s[t].edge,n=s[e].edge;a.push([[Math.round(r.x),l],[Math.round(n.x),l]])}l+=r,s.forEach((t=>{t.edge.x=t.edge.x+r*t.edge.islope})),h++}return a}(l,s,a);if(o){for(const t of l)n(t,h,-o);!function(t,e,r){const i=[];t.forEach((t=>i.push(...t))),n(i,e,r)}(c,h,-o)}return c}function o(t,e){var r;const n=e.hachureAngle+90;let i=e.hachureGap;i<0&&(i=4*e.strokeWidth),i=Math.round(Math.max(i,.1));let o=1;return e.roughness>=1&&((null===(r=e.randomizer)||void 0===r?void 0:r.next())||Math.random())>.7&&(o=i),a(t,i,n,o||1)}r.d(e,{A:()=>it});class s{constructor(t){this.helper=t}fillPolygons(t,e){return this._fillPolygons(t,e)}_fillPolygons(t,e){const r=o(t,e);return{type:"fillSketch",ops:this.renderLines(r,e)}}renderLines(t,e){const r=[];for(const n of t)r.push(...this.helper.doubleLineOps(n[0][0],n[0][1],n[1][0],n[1][1],e));return r}}function l(t){const e=t[0],r=t[1];return Math.sqrt(Math.pow(e[0]-r[0],2)+Math.pow(e[1]-r[1],2))}class h extends s{fillPolygons(t,e){let r=e.hachureGap;r<0&&(r=4*e.strokeWidth),r=Math.max(r,.1);const n=o(t,Object.assign({},e,{hachureGap:r})),i=Math.PI/180*e.hachureAngle,a=[],s=.5*r*Math.cos(i),h=.5*r*Math.sin(i);for(const[t,e]of n)l([t,e])&&a.push([[t[0]-s,t[1]+h],[...e]],[[t[0]+s,t[1]-h],[...e]]);return{type:"fillSketch",ops:this.renderLines(a,e)}}}class c extends s{fillPolygons(t,e){const r=this._fillPolygons(t,e),n=Object.assign({},e,{hachureAngle:e.hachureAngle+90}),i=this._fillPolygons(t,n);return r.ops=r.ops.concat(i.ops),r}}class u{constructor(t){this.helper=t}fillPolygons(t,e){const r=o(t,e=Object.assign({},e,{hachureAngle:0}));return this.dotsOnLines(r,e)}dotsOnLines(t,e){const r=[];let n=e.hachureGap;n<0&&(n=4*e.strokeWidth),n=Math.max(n,.1);let i=e.fillWeight;i<0&&(i=e.strokeWidth/2);const a=n/4;for(const o of t){const t=l(o),s=t/n,h=Math.ceil(s)-1,c=t-h*n,u=(o[0][0]+o[1][0])/2-n/4,d=Math.min(o[0][1],o[1][1]);for(let t=0;t{const a=l(t),o=Math.floor(a/(r+n)),s=(a+n-o*(r+n))/2;let h=t[0],c=t[1];h[0]>c[0]&&(h=t[1],c=t[0]);const u=Math.atan((c[1]-h[1])/(c[0]-h[0]));for(let t=0;t{const i=l(t),a=Math.round(i/(2*e));let o=t[0],s=t[1];o[0]>s[0]&&(o=t[1],s=t[0]);const h=Math.atan((s[1]-o[1])/(s[0]-o[0]));for(let t=0;tn%2?t+r:t+e));a.push({key:"C",data:t}),e=t[4],r=t[5];break}case"Q":a.push({key:"Q",data:[...s]}),e=s[2],r=s[3];break;case"q":{const t=s.map(((t,n)=>n%2?t+r:t+e));a.push({key:"Q",data:t}),e=t[2],r=t[3];break}case"A":a.push({key:"A",data:[...s]}),e=s[5],r=s[6];break;case"a":e+=s[5],r+=s[6],a.push({key:"A",data:[s[0],s[1],s[2],s[3],s[4],e,r]});break;case"H":a.push({key:"H",data:[...s]}),e=s[0];break;case"h":e+=s[0],a.push({key:"H",data:[e]});break;case"V":a.push({key:"V",data:[...s]}),r=s[0];break;case"v":r+=s[0],a.push({key:"V",data:[r]});break;case"S":a.push({key:"S",data:[...s]}),e=s[2],r=s[3];break;case"s":{const t=s.map(((t,n)=>n%2?t+r:t+e));a.push({key:"S",data:t}),e=t[2],r=t[3];break}case"T":a.push({key:"T",data:[...s]}),e=s[0],r=s[1];break;case"t":e+=s[0],r+=s[1],a.push({key:"T",data:[e,r]});break;case"Z":case"z":a.push({key:"Z",data:[]}),e=n,r=i}return a}function k(t){const e=[];let r="",n=0,i=0,a=0,o=0,s=0,l=0;for(const{key:h,data:c}of t){switch(h){case"M":e.push({key:"M",data:[...c]}),[n,i]=c,[a,o]=c;break;case"C":e.push({key:"C",data:[...c]}),n=c[4],i=c[5],s=c[2],l=c[3];break;case"L":e.push({key:"L",data:[...c]}),[n,i]=c;break;case"H":n=c[0],e.push({key:"L",data:[n,i]});break;case"V":i=c[0],e.push({key:"L",data:[n,i]});break;case"S":{let t=0,a=0;"C"===r||"S"===r?(t=n+(n-s),a=i+(i-l)):(t=n,a=i),e.push({key:"C",data:[t,a,...c]}),s=c[0],l=c[1],n=c[2],i=c[3];break}case"T":{const[t,a]=c;let o=0,h=0;"Q"===r||"T"===r?(o=n+(n-s),h=i+(i-l)):(o=n,h=i);const u=n+2*(o-n)/3,d=i+2*(h-i)/3,p=t+2*(o-t)/3,f=a+2*(h-a)/3;e.push({key:"C",data:[u,d,p,f,t,a]}),s=o,l=h,n=t,i=a;break}case"Q":{const[t,r,a,o]=c,h=n+2*(t-n)/3,u=i+2*(r-i)/3,d=a+2*(t-a)/3,p=o+2*(r-o)/3;e.push({key:"C",data:[h,u,d,p,a,o]}),s=t,l=r,n=a,i=o;break}case"A":{const t=Math.abs(c[0]),r=Math.abs(c[1]),a=c[2],o=c[3],s=c[4],l=c[5],h=c[6];0===t||0===r?(e.push({key:"C",data:[n,i,l,h,l,h]}),n=l,i=h):n===l&&i===h||(w(n,i,l,h,t,r,a,o,s).forEach((function(t){e.push({key:"C",data:t})})),n=l,i=h);break}case"Z":e.push({key:"Z",data:[]}),n=a,i=o}r=h}return e}function C(t,e,r){return[t*Math.cos(r)-e*Math.sin(r),t*Math.sin(r)+e*Math.cos(r)]}function w(t,e,r,n,i,a,o,s,l,h){const c=(u=o,Math.PI*u/180);var u;let d=[],p=0,f=0,g=0,y=0;if(h)[p,f,g,y]=h;else{[t,e]=C(t,e,-c),[r,n]=C(r,n,-c);const o=(t-r)/2,h=(e-n)/2;let u=o*o/(i*i)+h*h/(a*a);u>1&&(u=Math.sqrt(u),i*=u,a*=u);const d=i*i,m=a*a,x=d*m-d*h*h-m*o*o,b=d*h*h+m*o*o,k=(s===l?-1:1)*Math.sqrt(Math.abs(x/b));g=k*i*h/a+(t+r)/2,y=k*-a*o/i+(e+n)/2,p=Math.asin(parseFloat(((e-y)/a).toFixed(9))),f=Math.asin(parseFloat(((n-y)/a).toFixed(9))),tf&&(p-=2*Math.PI),!l&&f>p&&(f-=2*Math.PI)}let m=f-p;if(Math.abs(m)>120*Math.PI/180){const t=f,e=r,s=n;f=l&&f>p?p+120*Math.PI/180*1:p+120*Math.PI/180*-1,d=w(r=g+i*Math.cos(f),n=y+a*Math.sin(f),e,s,i,a,o,0,l,[f,t,g,y])}m=f-p;const x=Math.cos(p),b=Math.sin(p),k=Math.cos(f),_=Math.sin(f),v=Math.tan(m/4),S=4/3*i*v,T=4/3*a*v,A=[t,e],M=[t+S*b,e-T*x],B=[r+S*_,n-T*k],L=[r,n];if(M[0]=2*A[0]-M[0],M[1]=2*A[1]-M[1],h)return[M,B,L].concat(d);{d=[M,B,L].concat(d);const t=[];for(let e=0;e2){const i=[];for(let e=0;e2*Math.PI&&(p=0,f=2*Math.PI);const g=2*Math.PI/l.curveStepCount,y=Math.min(g/2,(f-p)/2),m=q(y,h,c,u,d,p,f,1,l);if(!l.disableMultiStroke){const t=q(y,h,c,u,d,p,f,1.5,l);m.push(...t)}return o&&(s?m.push(...N(h,c,h+u*Math.cos(p),c+d*Math.sin(p),l),...N(h,c,h+u*Math.cos(f),c+d*Math.sin(f),l)):m.push({op:"lineTo",data:[h,c]},{op:"lineTo",data:[h+u*Math.cos(p),c+d*Math.sin(p)]})),{type:"path",ops:m}}function L(t,e){const r=k(b(x(t))),n=[];let i=[0,0],a=[0,0];for(const{key:t,data:o}of r)switch(t){case"M":a=[o[0],o[1]],i=[o[0],o[1]];break;case"L":n.push(...N(a[0],a[1],o[0],o[1],e)),a=[o[0],o[1]];break;case"C":{const[t,r,i,s,l,h]=o;n.push(...j(t,r,i,s,l,h,a,e)),a=[l,h];break}case"Z":n.push(...N(a[0],a[1],i[0],i[1],e)),a=[i[0],i[1]]}return{type:"path",ops:n}}function F(t,e){const r=[];for(const n of t)if(n.length){const t=e.maxRandomnessOffset||0,i=n.length;if(i>2){r.push({op:"move",data:[n[0][0]+I(t,e),n[0][1]+I(t,e)]});for(let a=1;a500?.4:-.0016668*l+1.233334;let c=i.maxRandomnessOffset||0;c*c*100>s&&(c=l/10);const u=c/2,d=.2+.2*D(i);let p=i.bowing*i.maxRandomnessOffset*(n-e)/200,f=i.bowing*i.maxRandomnessOffset*(t-r)/200;p=I(p,i,h),f=I(f,i,h);const g=[],y=()=>I(u,i,h),m=()=>I(c,i,h),x=i.preserveVertices;return a&&(o?g.push({op:"move",data:[t+(x?0:y()),e+(x?0:y())]}):g.push({op:"move",data:[t+(x?0:I(c,i,h)),e+(x?0:I(c,i,h))]})),o?g.push({op:"bcurveTo",data:[p+t+(r-t)*d+y(),f+e+(n-e)*d+y(),p+t+2*(r-t)*d+y(),f+e+2*(n-e)*d+y(),r+(x?0:y()),n+(x?0:y())]}):g.push({op:"bcurveTo",data:[p+t+(r-t)*d+m(),f+e+(n-e)*d+m(),p+t+2*(r-t)*d+m(),f+e+2*(n-e)*d+m(),r+(x?0:m()),n+(x?0:m())]}),g}function P(t,e,r){if(!t.length)return[];const n=[];n.push([t[0][0]+I(e,r),t[0][1]+I(e,r)]),n.push([t[0][0]+I(e,r),t[0][1]+I(e,r)]);for(let i=1;i3){const a=[],o=1-r.curveTightness;i.push({op:"move",data:[t[1][0],t[1][1]]});for(let e=1;e+21&&i.push(r)):i.push(r),i.push(t[e+3])}else{const n=.5,a=t[e+0],o=t[e+1],s=t[e+2],l=t[e+3],h=G(a,o,n),c=G(o,s,n),u=G(s,l,n),d=G(h,c,n),p=G(c,u,n),f=G(d,p,n);V([a,h,d,f],0,r,i),V([f,p,u,l],0,r,i)}var a,o;return i}function Z(t,e){return X(t,0,t.length,e)}function X(t,e,r,n,i){const a=i||[],o=t[e],s=t[r-1];let l=0,h=1;for(let n=e+1;nl&&(l=e,h=n)}return Math.sqrt(l)>n?(X(t,e,h+1,n,a),X(t,h,r,n,a)):(a.length||a.push(o),a.push(s)),a}function Q(t,e=.15,r){const n=[],i=(t.length-1)/3;for(let r=0;r0?X(n,0,n.length,r):n}const J="none";class tt{constructor(t){this.defaultOptions={maxRandomnessOffset:2,roughness:1,bowing:1,stroke:"#000",strokeWidth:1,curveTightness:0,curveFitting:.95,curveStepCount:9,fillStyle:"hachure",fillWeight:-1,hachureAngle:-41,hachureGap:-1,dashOffset:-1,dashGap:-1,zigzagOffset:-1,seed:0,disableMultiStroke:!1,disableMultiStrokeFill:!1,preserveVertices:!1,fillShapeRoughnessGain:.8},this.config=t||{},this.config.options&&(this.defaultOptions=this._o(this.config.options))}static newSeed(){return Math.floor(Math.random()*2**31)}_o(t){return t?Object.assign({},this.defaultOptions,t):this.defaultOptions}_d(t,e,r){return{shape:t,sets:e||[],options:r||this.defaultOptions}}line(t,e,r,n,i){const a=this._o(i);return this._d("line",[v(t,e,r,n,a)],a)}rectangle(t,e,r,n,i){const a=this._o(i),o=[],s=function(t,e,r,n,i){return function(t,e){return S(t,!0,e)}([[t,e],[t+r,e],[t+r,e+n],[t,e+n]],i)}(t,e,r,n,a);if(a.fill){const i=[[t,e],[t+r,e],[t+r,e+n],[t,e+n]];"solid"===a.fillStyle?o.push(F([i],a)):o.push($([i],a))}return a.stroke!==J&&o.push(s),this._d("rectangle",o,a)}ellipse(t,e,r,n,i){const a=this._o(i),o=[],s=A(r,n,a),l=M(t,e,a,s);if(a.fill)if("solid"===a.fillStyle){const r=M(t,e,a,s).opset;r.type="fillPath",o.push(r)}else o.push($([l.estimatedPoints],a));return a.stroke!==J&&o.push(l.opset),this._d("ellipse",o,a)}circle(t,e,r,n){const i=this.ellipse(t,e,r,r,n);return i.shape="circle",i}linearPath(t,e){const r=this._o(e);return this._d("linearPath",[S(t,!1,r)],r)}arc(t,e,r,n,i,a,o=!1,s){const l=this._o(s),h=[],c=B(t,e,r,n,i,a,o,!0,l);if(o&&l.fill)if("solid"===l.fillStyle){const o=Object.assign({},l);o.disableMultiStroke=!0;const s=B(t,e,r,n,i,a,!0,!1,o);s.type="fillPath",h.push(s)}else h.push(function(t,e,r,n,i,a,o){const s=t,l=e;let h=Math.abs(r/2),c=Math.abs(n/2);h+=I(.01*h,o),c+=I(.01*c,o);let u=i,d=a;for(;u<0;)u+=2*Math.PI,d+=2*Math.PI;d-u>2*Math.PI&&(u=0,d=2*Math.PI);const p=(d-u)/o.curveStepCount,f=[];for(let t=u;t<=d;t+=p)f.push([s+h*Math.cos(t),l+c*Math.sin(t)]);return f.push([s+h*Math.cos(d),l+c*Math.sin(d)]),f.push([s,l]),$([f],o)}(t,e,r,n,i,a,l));return l.stroke!==J&&h.push(c),this._d("arc",h,l)}curve(t,e){const r=this._o(e),n=[],i=T(t,r);if(r.fill&&r.fill!==J)if("solid"===r.fillStyle){const e=T(t,Object.assign(Object.assign({},r),{disableMultiStroke:!0,roughness:r.roughness?r.roughness+r.fillShapeRoughnessGain:0}));n.push({type:"fillPath",ops:this._mergedShape(e.ops)})}else{const e=[],i=t;if(i.length){const t="number"==typeof i[0][0]?[i]:i;for(const n of t)n.length<3?e.push(...n):3===n.length?e.push(...Q(H([n[0],n[0],n[1],n[2]]),10,(1+r.roughness)/2)):e.push(...Q(H(n),10,(1+r.roughness)/2))}e.length&&n.push($([e],r))}return r.stroke!==J&&n.push(i),this._d("curve",n,r)}polygon(t,e){const r=this._o(e),n=[],i=S(t,!0,r);return r.fill&&("solid"===r.fillStyle?n.push(F([t],r)):n.push($([t],r))),r.stroke!==J&&n.push(i),this._d("polygon",n,r)}path(t,e){const r=this._o(e),n=[];if(!t)return this._d("path",n,r);t=(t||"").replace(/\n/g," ").replace(/(-\s)/g,"-").replace("/(ss)/g"," ");const i=r.fill&&"transparent"!==r.fill&&r.fill!==J,a=r.stroke!==J,o=!!(r.simplification&&r.simplification<1),s=function(t,e,r){const n=k(b(x(t))),i=[];let a=[],o=[0,0],s=[];const l=()=>{s.length>=4&&a.push(...Q(s,1)),s=[]},h=()=>{l(),a.length&&(i.push(a),a=[])};for(const{key:t,data:e}of n)switch(t){case"M":h(),o=[e[0],e[1]],a.push(o);break;case"L":l(),a.push([e[0],e[1]]);break;case"C":if(!s.length){const t=a.length?a[a.length-1]:o;s.push([t[0],t[1]])}s.push([e[0],e[1]]),s.push([e[2],e[3]]),s.push([e[4],e[5]]);break;case"Z":l(),a.push([o[0],o[1]])}if(h(),!r)return i;const c=[];for(const t of i){const e=Z(t,r);e.length&&c.push(e)}return c}(t,0,o?4-4*(r.simplification||1):(1+r.roughness)/2),l=L(t,r);if(i)if("solid"===r.fillStyle)if(1===s.length){const e=L(t,Object.assign(Object.assign({},r),{disableMultiStroke:!0,roughness:r.roughness?r.roughness+r.fillShapeRoughnessGain:0}));n.push({type:"fillPath",ops:this._mergedShape(e.ops)})}else n.push(F(s,r));else n.push($(s,r));return a&&(o?s.forEach((t=>{n.push(S(t,!1,r))})):n.push(l)),this._d("path",n,r)}opsToPath(t,e){let r="";for(const n of t.ops){const t="number"==typeof e&&e>=0?n.data.map((t=>+t.toFixed(e))):n.data;switch(n.op){case"move":r+=`M${t[0]} ${t[1]} `;break;case"bcurveTo":r+=`C${t[0]} ${t[1]}, ${t[2]} ${t[3]}, ${t[4]} ${t[5]} `;break;case"lineTo":r+=`L${t[0]} ${t[1]} `}}return r.trim()}toPaths(t){const e=t.sets||[],r=t.options||this.defaultOptions,n=[];for(const t of e){let e=null;switch(t.type){case"path":e={d:this.opsToPath(t),stroke:r.stroke,strokeWidth:r.strokeWidth,fill:J};break;case"fillPath":e={d:this.opsToPath(t),stroke:J,strokeWidth:0,fill:r.fill||J};break;case"fillSketch":e=this.fillSketch(t,r)}e&&n.push(e)}return n}fillSketch(t,e){let r=e.fillWeight;return r<0&&(r=e.strokeWidth/2),{d:this.opsToPath(t),stroke:e.fill||J,strokeWidth:r,fill:J}}_mergedShape(t){return t.filter(((t,e)=>0===e||"move"!==t.op))}}class et{constructor(t,e){this.canvas=t,this.ctx=this.canvas.getContext("2d"),this.gen=new tt(e)}draw(t){const e=t.sets||[],r=t.options||this.getDefaultOptions(),n=this.ctx,i=t.options.fixedDecimalPlaceDigits;for(const a of e)switch(a.type){case"path":n.save(),n.strokeStyle="none"===r.stroke?"transparent":r.stroke,n.lineWidth=r.strokeWidth,r.strokeLineDash&&n.setLineDash(r.strokeLineDash),r.strokeLineDashOffset&&(n.lineDashOffset=r.strokeLineDashOffset),this._drawToContext(n,a,i),n.restore();break;case"fillPath":{n.save(),n.fillStyle=r.fill||"";const e="curve"===t.shape||"polygon"===t.shape||"path"===t.shape?"evenodd":"nonzero";this._drawToContext(n,a,i,e),n.restore();break}case"fillSketch":this.fillSketch(n,a,r)}}fillSketch(t,e,r){let n=r.fillWeight;n<0&&(n=r.strokeWidth/2),t.save(),r.fillLineDash&&t.setLineDash(r.fillLineDash),r.fillLineDashOffset&&(t.lineDashOffset=r.fillLineDashOffset),t.strokeStyle=r.fill||"",t.lineWidth=n,this._drawToContext(t,e,r.fixedDecimalPlaceDigits),t.restore()}_drawToContext(t,e,r,n="nonzero"){t.beginPath();for(const n of e.ops){const e="number"==typeof r&&r>=0?n.data.map((t=>+t.toFixed(r))):n.data;switch(n.op){case"move":t.moveTo(e[0],e[1]);break;case"bcurveTo":t.bezierCurveTo(e[0],e[1],e[2],e[3],e[4],e[5]);break;case"lineTo":t.lineTo(e[0],e[1])}}"fillPath"===e.type?t.fill(n):t.stroke()}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}line(t,e,r,n,i){const a=this.gen.line(t,e,r,n,i);return this.draw(a),a}rectangle(t,e,r,n,i){const a=this.gen.rectangle(t,e,r,n,i);return this.draw(a),a}ellipse(t,e,r,n,i){const a=this.gen.ellipse(t,e,r,n,i);return this.draw(a),a}circle(t,e,r,n){const i=this.gen.circle(t,e,r,n);return this.draw(i),i}linearPath(t,e){const r=this.gen.linearPath(t,e);return this.draw(r),r}polygon(t,e){const r=this.gen.polygon(t,e);return this.draw(r),r}arc(t,e,r,n,i,a,o=!1,s){const l=this.gen.arc(t,e,r,n,i,a,o,s);return this.draw(l),l}curve(t,e){const r=this.gen.curve(t,e);return this.draw(r),r}path(t,e){const r=this.gen.path(t,e);return this.draw(r),r}}const rt="http://www.w3.org/2000/svg";class nt{constructor(t,e){this.svg=t,this.gen=new tt(e)}draw(t){const e=t.sets||[],r=t.options||this.getDefaultOptions(),n=this.svg.ownerDocument||window.document,i=n.createElementNS(rt,"g"),a=t.options.fixedDecimalPlaceDigits;for(const o of e){let e=null;switch(o.type){case"path":e=n.createElementNS(rt,"path"),e.setAttribute("d",this.opsToPath(o,a)),e.setAttribute("stroke",r.stroke),e.setAttribute("stroke-width",r.strokeWidth+""),e.setAttribute("fill","none"),r.strokeLineDash&&e.setAttribute("stroke-dasharray",r.strokeLineDash.join(" ").trim()),r.strokeLineDashOffset&&e.setAttribute("stroke-dashoffset",`${r.strokeLineDashOffset}`);break;case"fillPath":e=n.createElementNS(rt,"path"),e.setAttribute("d",this.opsToPath(o,a)),e.setAttribute("stroke","none"),e.setAttribute("stroke-width","0"),e.setAttribute("fill",r.fill||""),"curve"!==t.shape&&"polygon"!==t.shape||e.setAttribute("fill-rule","evenodd");break;case"fillSketch":e=this.fillSketch(n,o,r)}e&&i.appendChild(e)}return i}fillSketch(t,e,r){let n=r.fillWeight;n<0&&(n=r.strokeWidth/2);const i=t.createElementNS(rt,"path");return i.setAttribute("d",this.opsToPath(e,r.fixedDecimalPlaceDigits)),i.setAttribute("stroke",r.fill||""),i.setAttribute("stroke-width",n+""),i.setAttribute("fill","none"),r.fillLineDash&&i.setAttribute("stroke-dasharray",r.fillLineDash.join(" ").trim()),r.fillLineDashOffset&&i.setAttribute("stroke-dashoffset",`${r.fillLineDashOffset}`),i}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}opsToPath(t,e){return this.gen.opsToPath(t,e)}line(t,e,r,n,i){const a=this.gen.line(t,e,r,n,i);return this.draw(a)}rectangle(t,e,r,n,i){const a=this.gen.rectangle(t,e,r,n,i);return this.draw(a)}ellipse(t,e,r,n,i){const a=this.gen.ellipse(t,e,r,n,i);return this.draw(a)}circle(t,e,r,n){const i=this.gen.circle(t,e,r,n);return this.draw(i)}linearPath(t,e){const r=this.gen.linearPath(t,e);return this.draw(r)}polygon(t,e){const r=this.gen.polygon(t,e);return this.draw(r)}arc(t,e,r,n,i,a,o=!1,s){const l=this.gen.arc(t,e,r,n,i,a,o,s);return this.draw(l)}curve(t,e){const r=this.gen.curve(t,e);return this.draw(r)}path(t,e){const r=this.gen.path(t,e);return this.draw(r)}}var it={canvas:(t,e)=>new et(t,e),svg:(t,e)=>new nt(t,e),generator:t=>new tt(t),newSeed:()=>tt.newSeed()}},7148:function(t){!function(e,r){var n={version:"2.14.4",areas:{},apis:{},nsdelim:".",inherit:function(t,e){for(var r in t)e.hasOwnProperty(r)||Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r));return e},stringify:function(t,e){return void 0===t||"function"==typeof t?t+"":JSON.stringify(t,e||n.replace)},parse:function(t,e){try{return JSON.parse(t,e||n.revive)}catch(e){return t}},fn:function(t,e){for(var r in n.storeAPI[t]=e,n.apis)n.apis[r][t]=e},get:function(t,e){return t.getItem(e)},set:function(t,e,r){t.setItem(e,r)},remove:function(t,e){t.removeItem(e)},key:function(t,e){return t.key(e)},length:function(t){return t.length},clear:function(t){t.clear()},Store:function(t,e,r){var i=n.inherit(n.storeAPI,(function(t,e,r){return 0===arguments.length?i.getAll():"function"==typeof e?i.transact(t,e,r):void 0!==e?i.set(t,e,r):"string"==typeof t||"number"==typeof t?i.get(t):"function"==typeof t?i.each(t):t?i.setAll(t,e):i.clear()}));i._id=t;try{var a="__store2_test";e.setItem(a,"ok"),i._area=e,e.removeItem(a)}catch(t){i._area=n.storage("fake")}return i._ns=r||"",n.areas[t]||(n.areas[t]=i._area),n.apis[i._ns+i._id]||(n.apis[i._ns+i._id]=i),i},storeAPI:{area:function(t,e){var r=this[t];return r&&r.area||(r=n.Store(t,e,this._ns),this[t]||(this[t]=r)),r},namespace:function(t,e,r){if(r=r||this._delim||n.nsdelim,!t)return this._ns?this._ns.substring(0,this._ns.length-r.length):"";var i=t,a=this[i];if(!(a&&a.namespace||((a=n.Store(this._id,this._area,this._ns+i+r))._delim=r,this[i]||(this[i]=a),e)))for(var o in n.areas)a.area(o,n.areas[o]);return a},isFake:function(t){return t?(this._real=this._area,this._area=n.storage("fake")):!1===t&&(this._area=this._real||this._area),"fake"===this._area.name},toString:function(){return"store"+(this._ns?"."+this.namespace():"")+"["+this._id+"]"},has:function(t){return this._area.has?this._area.has(this._in(t)):!!(this._in(t)in this._area)},size:function(){return this.keys().length},each:function(t,e){for(var r=0,i=n.length(this._area);rn.length(this._area)&&(i--,r--)}return e||this},keys:function(t){return this.each((function(t,e,r){r.push(t)}),t||[])},get:function(t,e){var r,i=n.get(this._area,this._in(t));return"function"==typeof e&&(r=e,e=null),null!==i?n.parse(i,r):null!=e?e:i},getAll:function(t){return this.each((function(t,e,r){r[t]=e}),t||{})},transact:function(t,e,r){var n=this.get(t,r),i=e(n);return this.set(t,void 0===i?n:i),this},set:function(t,e,r){var i,a=this.get(t);return null!=a&&!1===r?e:("function"==typeof r&&(i=r,r=void 0),n.set(this._area,this._in(t),n.stringify(e,i),r)||a)},setAll:function(t,e){var r,n;for(var i in t)n=t[i],this.set(i,n,e)!==n&&(r=!0);return r},add:function(t,e,r){var i=this.get(t);if(i instanceof Array)e=i.concat(e);else if(null!==i){var a=typeof i;if(a===typeof e&&"object"===a){for(var o in e)i[o]=e[o];e=i}else e=i+e}return n.set(this._area,this._in(t),n.stringify(e,r)),e},remove:function(t,e){var r=this.get(t,e);return n.remove(this._area,this._in(t)),r},clear:function(){return this._ns?this.each((function(t){n.remove(this._area,this._in(t))}),1):n.clear(this._area),this},clearAll:function(){var t=this._area;for(var e in n.areas)n.areas.hasOwnProperty(e)&&(this._area=n.areas[e],this.clear());return this._area=t,this},_in:function(t){return"string"!=typeof t&&(t=n.stringify(t)),this._ns?this._ns+t:t},_out:function(t){return this._ns?t&&0===t.indexOf(this._ns)?t.substring(this._ns.length):void 0:t}},storage:function(t){return n.inherit(n.storageAPI,{items:{},name:t})},storageAPI:{length:0,has:function(t){return this.items.hasOwnProperty(t)},key:function(t){var e=0;for(var r in this.items)if(this.has(r)&&t===e++)return r},setItem:function(t,e){this.has(t)||this.length++,this.items[t]=e},removeItem:function(t){this.has(t)&&(delete this.items[t],this.length--)},getItem:function(t){return this.has(t)?this.items[t]:null},clear:function(){for(var t in this.items)this.removeItem(t)}}},i=n.Store("local",function(){try{return localStorage}catch(t){}}());i.local=i,i._=n,i.area("session",function(){try{return sessionStorage}catch(t){}}()),i.area("page",n.storage("page")),"function"==typeof r&&void 0!==r.amd?r("store2",[],(function(){return i})):t.exports?t.exports=i:(e.store&&(n.conflict=e.store),e.store=i)}(this,this&&this.define)},513:(t,e,r)=>{"use strict";function n(t){for(var e=[],r=1;rn})},4852:(t,e,r)=>{"use strict";function n(t,e){let r;if(void 0===e)for(const e of t)null!=e&&(r=e)&&(r=e);else{let n=-1;for(let i of t)null!=(i=e(i,++n,t))&&(r=i)&&(r=i)}return r}function i(t,e){let r;if(void 0===e)for(const e of t)null!=e&&(r>e||void 0===r&&e>=e)&&(r=e);else{let n=-1;for(let i of t)null!=(i=e(i,++n,t))&&(r>i||void 0===r&&i>=i)&&(r=i)}return r}function a(t){return t}r.d(e,{JLW:()=>Po,l78:()=>x,tlR:()=>m,qrM:()=>Qo,Yu4:()=>ts,IA3:()=>rs,Wi0:()=>is,PGM:()=>as,OEq:()=>ss,y8u:()=>cs,olC:()=>ds,IrU:()=>fs,oDi:()=>ms,Q7f:()=>bs,cVp:()=>Cs,lUB:()=>qo,Lx9:()=>_s,nVG:()=>Fs,uxU:()=>$s,Xf2:()=>Os,GZz:()=>Ns,UPb:()=>Ps,dyv:()=>Rs,bEH:()=>Xr,n8j:()=>Ho,T9B:()=>n,jkA:()=>i,rLf:()=>Go,WH:()=>an,m4Y:()=>Gn,UMr:()=>nn,w7C:()=>ho,zt:()=>co,Ltv:()=>uo,UAC:()=>ci,DCK:()=>qi,TUC:()=>bi,Agd:()=>li,t6C:()=>ii,wXd:()=>oi,ABi:()=>gi,Ui6:()=>Bi,rGn:()=>ki,ucG:()=>ai,YPH:()=>fi,Mol:()=>xi,PGu:()=>yi,GuW:()=>mi});var o=1,s=2,l=3,h=4,c=1e-6;function u(t){return"translate("+t+",0)"}function d(t){return"translate(0,"+t+")"}function p(t){return e=>+t(e)}function f(t,e){return e=Math.max(0,t.bandwidth()-2*e)/2,t.round()&&(e=Math.round(e)),r=>+t(r)+e}function g(){return!this.__axis}function y(t,e){var r=[],n=null,i=null,y=6,m=6,x=3,b="undefined"!=typeof window&&window.devicePixelRatio>1?0:.5,k=t===o||t===h?-1:1,C=t===h||t===s?"x":"y",w=t===o||t===l?u:d;function _(u){var d=null==n?e.ticks?e.ticks.apply(e,r):e.domain():n,_=null==i?e.tickFormat?e.tickFormat.apply(e,r):a:i,v=Math.max(y,0)+x,S=e.range(),T=+S[0]+b,A=+S[S.length-1]+b,M=(e.bandwidth?f:p)(e.copy(),b),B=u.selection?u.selection():u,L=B.selectAll(".domain").data([null]),F=B.selectAll(".tick").data(d,e).order(),$=F.exit(),E=F.enter().append("g").attr("class","tick"),D=F.select("line"),O=F.select("text");L=L.merge(L.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),F=F.merge(E),D=D.merge(E.append("line").attr("stroke","currentColor").attr(C+"2",k*y)),O=O.merge(E.append("text").attr("fill","currentColor").attr(C,k*v).attr("dy",t===o?"0em":t===l?"0.71em":"0.32em")),u!==B&&(L=L.transition(u),F=F.transition(u),D=D.transition(u),O=O.transition(u),$=$.transition(u).attr("opacity",c).attr("transform",(function(t){return isFinite(t=M(t))?w(t+b):this.getAttribute("transform")})),E.attr("opacity",c).attr("transform",(function(t){var e=this.parentNode.__axis;return w((e&&isFinite(e=e(t))?e:M(t))+b)}))),$.remove(),L.attr("d",t===h||t===s?m?"M"+k*m+","+T+"H"+b+"V"+A+"H"+k*m:"M"+b+","+T+"V"+A:m?"M"+T+","+k*m+"V"+b+"H"+A+"V"+k*m:"M"+T+","+b+"H"+A),F.attr("opacity",1).attr("transform",(function(t){return w(M(t)+b)})),D.attr(C+"2",k*y),O.attr(C,k*v).text(_),B.filter(g).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===s?"start":t===h?"end":"middle"),B.each((function(){this.__axis=M}))}return _.scale=function(t){return arguments.length?(e=t,_):e},_.ticks=function(){return r=Array.from(arguments),_},_.tickArguments=function(t){return arguments.length?(r=null==t?[]:Array.from(t),_):r.slice()},_.tickValues=function(t){return arguments.length?(n=null==t?null:Array.from(t),_):n&&n.slice()},_.tickFormat=function(t){return arguments.length?(i=t,_):i},_.tickSize=function(t){return arguments.length?(y=m=+t,_):y},_.tickSizeInner=function(t){return arguments.length?(y=+t,_):y},_.tickSizeOuter=function(t){return arguments.length?(m=+t,_):m},_.tickPadding=function(t){return arguments.length?(x=+t,_):x},_.offset=function(t){return arguments.length?(b=+t,_):b},_}function m(t){return y(o,t)}function x(t){return y(l,t)}function b(){}function k(t){return null==t?b:function(){return this.querySelector(t)}}function C(){return[]}function w(t){return null==t?C:function(){return this.querySelectorAll(t)}}function _(t){return function(){return this.matches(t)}}function v(t){return function(e){return e.matches(t)}}var S=Array.prototype.find;function T(){return this.firstElementChild}var A=Array.prototype.filter;function M(){return Array.from(this.children)}function B(t){return new Array(t.length)}function L(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}function F(t,e,r,n,i,a){for(var o,s=0,l=e.length,h=a.length;se?1:t>=e?0:NaN}L.prototype={constructor:L,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};var I="http://www.w3.org/1999/xhtml";const N={svg:"http://www.w3.org/2000/svg",xhtml:I,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function R(t){var e=t+="",r=e.indexOf(":");return r>=0&&"xmlns"!==(e=t.slice(0,r))&&(t=t.slice(r+1)),N.hasOwnProperty(e)?{space:N[e],local:t}:t}function P(t){return function(){this.removeAttribute(t)}}function K(t){return function(){this.removeAttributeNS(t.space,t.local)}}function z(t,e){return function(){this.setAttribute(t,e)}}function q(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function j(t,e){return function(){var r=e.apply(this,arguments);null==r?this.removeAttribute(t):this.setAttribute(t,r)}}function W(t,e){return function(){var r=e.apply(this,arguments);null==r?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,r)}}function H(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function U(t){return function(){this.style.removeProperty(t)}}function Y(t,e,r){return function(){this.style.setProperty(t,e,r)}}function G(t,e,r){return function(){var n=e.apply(this,arguments);null==n?this.style.removeProperty(t):this.style.setProperty(t,n,r)}}function V(t,e){return t.style.getPropertyValue(e)||H(t).getComputedStyle(t,null).getPropertyValue(e)}function Z(t){return function(){delete this[t]}}function X(t,e){return function(){this[t]=e}}function Q(t,e){return function(){var r=e.apply(this,arguments);null==r?delete this[t]:this[t]=r}}function J(t){return t.trim().split(/^|\s+/)}function tt(t){return t.classList||new et(t)}function et(t){this._node=t,this._names=J(t.getAttribute("class")||"")}function rt(t,e){for(var r=tt(t),n=-1,i=e.length;++n=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};var At=[null];function Mt(t,e){this._groups=t,this._parents=e}function Bt(){return new Mt([[document.documentElement]],At)}Mt.prototype=Bt.prototype={constructor:Mt,select:function(t){"function"!=typeof t&&(t=k(t));for(var e=this._groups,r=e.length,n=new Array(r),i=0;i=C&&(C=k+1);!(b=m[C])&&++C=0;)(n=i[a])&&(o&&4^n.compareDocumentPosition(o)&&o.parentNode.insertBefore(n,o),o=n);return this},sort:function(t){function e(e,r){return e&&r?t(e.__data__,r.__data__):!e-!r}t||(t=O);for(var r=this._groups,n=r.length,i=new Array(n),a=0;a1?this.each((null==e?U:"function"==typeof e?G:Y)(t,e,null==r?"":r)):V(this.node(),t)},property:function(t,e){return arguments.length>1?this.each((null==e?Z:"function"==typeof e?Q:X)(t,e)):this.node()[t]},classed:function(t,e){var r=J(t+"");if(arguments.length<2){for(var n=tt(this.node()),i=-1,a=r.length;++i=0&&(e=t.slice(r+1),t=t.slice(0,r)),{type:t,name:e}}))}(t+""),o=a.length;if(!(arguments.length<2)){for(s=e?_t:wt,n=0;n{}};function $t(){for(var t,e=0,r=arguments.length,n={};e=0&&(e=t.slice(r+1),t=t.slice(0,r)),t&&!n.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:e}}))),o=-1,s=a.length;if(!(arguments.length<2)){if(null!=e&&"function"!=typeof e)throw new Error("invalid callback: "+e);for(;++o0)for(var r,n,i=new Array(r),a=0;a=0&&e._call.call(void 0,t),e=e._next;--Pt}()}finally{Pt=0,function(){for(var t,e,r=Nt,n=1/0;r;)r._call?(n>r._time&&(n=r._time),t=r,r=r._next):(e=r._next,r._next=null,r=t?t._next=e:Nt=e);Rt=t,Jt(n)}(),jt=0}}function Qt(){var t=Ht.now(),e=t-qt;e>1e3&&(Wt-=e,qt=t)}function Jt(t){Pt||(Kt&&(Kt=clearTimeout(Kt)),t-jt>24?(t<1/0&&(Kt=setTimeout(Xt,t-Ht.now()-Wt)),zt&&(zt=clearInterval(zt))):(zt||(qt=Ht.now(),zt=setInterval(Qt,1e3)),Pt=1,Ut(Xt)))}function te(t,e,r){var n=new Vt;return e=null==e?0:+e,n.restart((r=>{n.stop(),t(r+e)}),e,r),n}Vt.prototype=Zt.prototype={constructor:Vt,restart:function(t,e,r){if("function"!=typeof t)throw new TypeError("callback is not a function");r=(null==r?Yt():+r)+(null==e?0:+e),this._next||Rt===this||(Rt?Rt._next=this:Nt=this,Rt=this),this._call=t,this._time=r,Jt()},stop:function(){this._call&&(this._call=null,this._time=1/0,Jt())}};var ee=It("start","end","cancel","interrupt"),re=[];function ne(t,e,r,n,i,a){var o=t.__transition;if(o){if(r in o)return}else t.__transition={};!function(t,e,r){var n,i=t.__transition;function a(l){var h,c,u,d;if(1!==r.state)return s();for(h in i)if((d=i[h]).name===r.name){if(3===d.state)return te(a);4===d.state?(d.state=6,d.timer.stop(),d.on.call("interrupt",t,t.__data__,d.index,d.group),delete i[h]):+h0)throw new Error("too late; already scheduled");return r}function ae(t,e){var r=oe(t,e);if(r.state>3)throw new Error("too late; already running");return r}function oe(t,e){var r=t.__transition;if(!r||!(r=r[e]))throw new Error("transition not found");return r}function se(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}var le,he=180/Math.PI,ce={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function ue(t,e,r,n,i,a){var o,s,l;return(o=Math.sqrt(t*t+e*e))&&(t/=o,e/=o),(l=t*r+e*n)&&(r-=t*l,n-=e*l),(s=Math.sqrt(r*r+n*n))&&(r/=s,n/=s,l/=s),t*n180?e+=360:e-t>180&&(t+=360),a.push({i:r.push(i(r)+"rotate(",null,n)-2,x:se(t,e)})):e&&r.push(i(r)+"rotate("+e+n)}(a.rotate,o.rotate,s,l),function(t,e,r,a){t!==e?a.push({i:r.push(i(r)+"skewX(",null,n)-2,x:se(t,e)}):e&&r.push(i(r)+"skewX("+e+n)}(a.skewX,o.skewX,s,l),function(t,e,r,n,a,o){if(t!==r||e!==n){var s=a.push(i(a)+"scale(",null,",",null,")");o.push({i:s-4,x:se(t,r)},{i:s-2,x:se(e,n)})}else 1===r&&1===n||a.push(i(a)+"scale("+r+","+n+")")}(a.scaleX,a.scaleY,o.scaleX,o.scaleY,s,l),a=o=null,function(t){for(var e,r=-1,n=l.length;++r>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===r?Re(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===r?Re(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=Ae.exec(t))?new ze(e[1],e[2],e[3],1):(e=Me.exec(t))?new ze(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=Be.exec(t))?Re(e[1],e[2],e[3],e[4]):(e=Le.exec(t))?Re(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=Fe.exec(t))?Ye(e[1],e[2]/100,e[3]/100,1):(e=$e.exec(t))?Ye(e[1],e[2]/100,e[3]/100,e[4]):Ee.hasOwnProperty(t)?Ne(Ee[t]):"transparent"===t?new ze(NaN,NaN,NaN,0):null}function Ne(t){return new ze(t>>16&255,t>>8&255,255&t,1)}function Re(t,e,r,n){return n<=0&&(t=e=r=NaN),new ze(t,e,r,n)}function Pe(t){return t instanceof ke||(t=Ie(t)),t?new ze((t=t.rgb()).r,t.g,t.b,t.opacity):new ze}function Ke(t,e,r,n){return 1===arguments.length?Pe(t):new ze(t,e,r,null==n?1:n)}function ze(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function qe(){return`#${Ue(this.r)}${Ue(this.g)}${Ue(this.b)}`}function je(){const t=We(this.opacity);return`${1===t?"rgb(":"rgba("}${He(this.r)}, ${He(this.g)}, ${He(this.b)}${1===t?")":`, ${t})`}`}function We(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function He(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function Ue(t){return((t=He(t))<16?"0":"")+t.toString(16)}function Ye(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new Ve(t,e,r,n)}function Ge(t){if(t instanceof Ve)return new Ve(t.h,t.s,t.l,t.opacity);if(t instanceof ke||(t=Ie(t)),!t)return new Ve;if(t instanceof Ve)return t;var e=(t=t.rgb()).r/255,r=t.g/255,n=t.b/255,i=Math.min(e,r,n),a=Math.max(e,r,n),o=NaN,s=a-i,l=(a+i)/2;return s?(o=e===a?(r-n)/s+6*(r0&&l<1?0:o,new Ve(o,s,l,t.opacity)}function Ve(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function Ze(t){return(t=(t||0)%360)<0?t+360:t}function Xe(t){return Math.max(0,Math.min(1,t||0))}function Qe(t,e,r){return 255*(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)}function Je(t,e,r,n,i){var a=t*t,o=a*t;return((1-3*t+3*a-o)*e+(4-6*a+3*o)*r+(1+3*t+3*a-3*o)*n+o*i)/6}xe(ke,Ie,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:De,formatHex:De,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return Ge(this).formatHsl()},formatRgb:Oe,toString:Oe}),xe(ze,Ke,be(ke,{brighter(t){return t=null==t?we:Math.pow(we,t),new ze(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=null==t?Ce:Math.pow(Ce,t),new ze(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new ze(He(this.r),He(this.g),He(this.b),We(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:qe,formatHex:qe,formatHex8:function(){return`#${Ue(this.r)}${Ue(this.g)}${Ue(this.b)}${Ue(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:je,toString:je})),xe(Ve,(function(t,e,r,n){return 1===arguments.length?Ge(t):new Ve(t,e,r,null==n?1:n)}),be(ke,{brighter(t){return t=null==t?we:Math.pow(we,t),new Ve(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=null==t?Ce:Math.pow(Ce,t),new Ve(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new ze(Qe(t>=240?t-240:t+120,i,n),Qe(t,i,n),Qe(t<120?t+240:t-120,i,n),this.opacity)},clamp(){return new Ve(Ze(this.h),Xe(this.s),Xe(this.l),We(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=We(this.opacity);return`${1===t?"hsl(":"hsla("}${Ze(this.h)}, ${100*Xe(this.s)}%, ${100*Xe(this.l)}%${1===t?")":`, ${t})`}`}}));const tr=t=>()=>t;function er(t,e){return function(r){return t+r*e}}function rr(t,e){var r=e-t;return r?er(t,r):tr(isNaN(t)?e:t)}const nr=function t(e){var r=function(t){return 1==(t=+t)?rr:function(e,r){return r-e?function(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}(e,r,t):tr(isNaN(e)?r:e)}}(e);function n(t,e){var n=r((t=Ke(t)).r,(e=Ke(e)).r),i=r(t.g,e.g),a=r(t.b,e.b),o=rr(t.opacity,e.opacity);return function(e){return t.r=n(e),t.g=i(e),t.b=a(e),t.opacity=o(e),t+""}}return n.gamma=t,n}(1);function ir(t){return function(e){var r,n,i=e.length,a=new Array(i),o=new Array(i),s=new Array(i);for(r=0;r=1?(r=1,e-1):Math.floor(r*e),i=t[n],a=t[n+1],o=n>0?t[n-1]:2*i-a,s=na&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:se(r,n)})),a=or.lastIndex;return a=0&&(t=t.slice(0,e)),!t||"start"===t}))}(e)?ie:ae;return function(){var o=a(this,t),s=o.on;s!==n&&(i=(n=s).copy()).on(e,r),o.on=i}}(r,t,e))},attr:function(t,e){var r=R(t),n="transform"===r?fe:lr;return this.attrTween(t,"function"==typeof e?(r.local?fr:pr)(r,n,me(this,"attr."+t,e)):null==e?(r.local?cr:hr)(r):(r.local?dr:ur)(r,n,e))},attrTween:function(t,e){var r="attr."+t;if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==e)return this.tween(r,null);if("function"!=typeof e)throw new Error;var n=R(t);return this.tween(r,(n.local?gr:yr)(n,e))},style:function(t,e,r){var n="transform"==(t+="")?pe:lr;return null==e?this.styleTween(t,function(t,e){var r,n,i;return function(){var a=V(this,t),o=(this.style.removeProperty(t),V(this,t));return a===o?null:a===r&&o===n?i:i=e(r=a,n=o)}}(t,n)).on("end.style."+t,wr(t)):"function"==typeof e?this.styleTween(t,function(t,e,r){var n,i,a;return function(){var o=V(this,t),s=r(this),l=s+"";return null==s&&(this.style.removeProperty(t),l=s=V(this,t)),o===l?null:o===n&&l===i?a:(i=l,a=e(n=o,s))}}(t,n,me(this,"style."+t,e))).each(function(t,e){var r,n,i,a,o="style."+e,s="end."+o;return function(){var l=ae(this,t),h=l.on,c=null==l.value[o]?a||(a=wr(e)):void 0;h===r&&i===c||(n=(r=h).copy()).on(s,i=c),l.on=n}}(this._id,t)):this.styleTween(t,function(t,e,r){var n,i,a=r+"";return function(){var o=V(this,t);return o===a?null:o===n?i:i=e(n=o,r)}}(t,n,e),r).on("end.style."+t,null)},styleTween:function(t,e,r){var n="style."+(t+="");if(arguments.length<2)return(n=this.tween(n))&&n._value;if(null==e)return this.tween(n,null);if("function"!=typeof e)throw new Error;return this.tween(n,function(t,e,r){var n,i;function a(){var a=e.apply(this,arguments);return a!==i&&(n=(i=a)&&function(t,e,r){return function(n){this.style.setProperty(t,e.call(this,n),r)}}(t,a,r)),n}return a._value=e,a}(t,e,null==r?"":r))},text:function(t){return this.tween("text","function"==typeof t?function(t){return function(){var e=t(this);this.textContent=null==e?"":e}}(me(this,"text",t)):function(t){return function(){this.textContent=t}}(null==t?"":t+""))},textTween:function(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(null==t)return this.tween(e,null);if("function"!=typeof t)throw new Error;return this.tween(e,function(t){var e,r;function n(){var n=t.apply(this,arguments);return n!==r&&(e=(r=n)&&function(t){return function(e){this.textContent=t.call(this,e)}}(n)),e}return n._value=t,n}(t))},remove:function(){return this.on("end.remove",function(t){return function(){var e=this.parentNode;for(var r in this.__transition)if(+r!==t)return;e&&e.removeChild(this)}}(this._id))},tween:function(t,e){var r=this._id;if(t+="",arguments.length<2){for(var n,i=oe(this.node(),r).tween,a=0,o=i.length;a2&&r.state<5,r.state=6,r.timer.stop(),r.on.call(n?"interrupt":"cancel",t,t.__data__,r.index,r.group),delete a[i]):o=!1;o&&delete t.__transition}}(this,t)}))},Lt.prototype.transition=function(t){var e,r;t instanceof vr?(e=t._id,t=t._name):(e=Sr(),(r=Ar).time=Yt(),t=null==t?null:t+"");for(var n=this._groups,i=n.length,a=0;aKr?Math.pow(t,1/3):t/Pr+Nr}function Wr(t){return t>Rr?t*t*t:Pr*(t-Nr)}function Hr(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function Ur(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Yr(t,e,r,n){return 1===arguments.length?function(t){if(t instanceof Gr)return new Gr(t.h,t.c,t.l,t.opacity);if(t instanceof qr||(t=zr(t)),0===t.a&&0===t.b)return new Gr(NaN,0180||r<-180?r-360*Math.round(r/360):r):tr(isNaN(t)?e:t)}));function Qr(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t)}return this}Zr(rr);class Jr extends Map{constructor(t,e=en){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:e}}),null!=t)for(const[e,r]of t)this.set(e,r)}get(t){return super.get(tn(this,t))}has(t){return super.has(tn(this,t))}set(t,e){return super.set(function({_intern:t,_key:e},r){const n=e(r);return t.has(n)?t.get(n):(t.set(n,r),r)}(this,t),e)}delete(t){return super.delete(function({_intern:t,_key:e},r){const n=e(r);return t.has(n)&&(r=t.get(n),t.delete(n)),r}(this,t))}}function tn({_intern:t,_key:e},r){const n=e(r);return t.has(n)?t.get(n):r}function en(t){return null!==t&&"object"==typeof t?t.valueOf():t}Set;const rn=Symbol("implicit");function nn(){var t=new Jr,e=[],r=[],n=rn;function i(i){let a=t.get(i);if(void 0===a){if(n!==rn)return n;t.set(i,a=e.push(i)-1)}return r[a%r.length]}return i.domain=function(r){if(!arguments.length)return e.slice();e=[],t=new Jr;for(const n of r)t.has(n)||t.set(n,e.push(n)-1);return i},i.range=function(t){return arguments.length?(r=Array.from(t),i):r.slice()},i.unknown=function(t){return arguments.length?(n=t,i):n},i.copy=function(){return nn(e,r).unknown(n)},Qr.apply(i,arguments),i}function an(){var t,e,r=nn().unknown(void 0),n=r.domain,i=r.range,a=0,o=1,s=!1,l=0,h=0,c=.5;function u(){var r=n().length,u=o=on?10:a>=sn?5:a>=ln?2:1;let s,l,h;return i<0?(h=Math.pow(10,-i)/o,s=Math.round(t*h),l=Math.round(e*h),s/he&&--l,h=-h):(h=Math.pow(10,i)*o,s=Math.round(t/h),l=Math.round(e/h),s*he&&--l),le?1:t>=e?0:NaN}function pn(t,e){return null==t||null==e?NaN:et?1:e>=t?0:NaN}function fn(t){let e,r,n;function i(t,n,i=0,a=t.length){if(i>>1;r(t[e],n)<0?i=e+1:a=e}while(idn(t(e),r),n=(e,r)=>t(e)-r):(e=t===dn||t===pn?t:gn,r=t,n=t),{left:i,center:function(t,e,r=0,a=t.length){const o=i(t,e,r,a-1);return o>r&&n(t[o-1],e)>-n(t[o],e)?o-1:o},right:function(t,n,i=0,a=t.length){if(i>>1;r(t[e],n)<=0?i=e+1:a=e}while(ie&&(r=t,t=e,e=r),h=function(r){return Math.max(t,Math.min(e,r))}),n=l>2?Ln:Bn,i=a=null,u}function u(e){return null==e||isNaN(e=+e)?r:(i||(i=n(o.map(t),s,l)))(t(h(e)))}return u.invert=function(r){return h(e((a||(a=n(s,o.map(t),se)))(r)))},u.domain=function(t){return arguments.length?(o=Array.from(t,Sn),c()):o.slice()},u.range=function(t){return arguments.length?(s=Array.from(t),c()):s.slice()},u.rangeRound=function(t){return s=Array.from(t),l=vn,c()},u.clamp=function(t){return arguments.length?(h=!!t||An,c()):h!==An},u.interpolate=function(t){return arguments.length?(l=t,c()):l},u.unknown=function(t){return arguments.length?(r=t,u):r},function(r,n){return t=r,e=n,c()}}()(An,An)}var En,Dn=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function On(t){if(!(e=Dn.exec(t)))throw new Error("invalid format: "+t);var e;return new In({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function In(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}function Nn(t,e){if((r=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var r,n=t.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+t.slice(r+1)]}function Rn(t){return(t=Nn(Math.abs(t)))?t[1]:NaN}function Pn(t,e){var r=Nn(t,e);if(!r)return t+"";var n=r[0],i=r[1];return i<0?"0."+new Array(-i).join("0")+n:n.length>i+1?n.slice(0,i+1)+"."+n.slice(i+1):n+new Array(i-n.length+2).join("0")}On.prototype=In.prototype,In.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};const Kn={"%":(t,e)=>(100*t).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:function(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)},e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>Pn(100*t,e),r:Pn,s:function(t,e){var r=Nn(t,e);if(!r)return t+"";var n=r[0],i=r[1],a=i-(En=3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,o=n.length;return a===o?n:a>o?n+new Array(a-o+1).join("0"):a>0?n.slice(0,a)+"."+n.slice(a):"0."+new Array(1-a).join("0")+Nn(t,Math.max(0,e+a-1))[0]},X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function zn(t){return t}var qn,jn,Wn,Hn=Array.prototype.map,Un=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function Yn(t){var e=t.domain;return t.ticks=function(t){var r=e();return function(t,e,r){if(!((r=+r)>0))return[];if((t=+t)==(e=+e))return[t];const n=e=i))return[];const s=a-i+1,l=new Array(s);if(n)if(o<0)for(let t=0;t0;){if((i=cn(l,h,r))===n)return a[o]=l,a[s]=h,e(a);if(i>0)l=Math.floor(l/i)*i,h=Math.ceil(h/i)*i;else{if(!(i<0))break;l=Math.ceil(l*i)/i,h=Math.floor(h*i)/i}n=i}return t},t}function Gn(){var t=$n();return t.copy=function(){return Fn(t,Gn())},Qr.apply(t,arguments),Yn(t)}qn=function(t){var e,r,n=void 0===t.grouping||void 0===t.thousands?zn:(e=Hn.call(t.grouping,Number),r=t.thousands+"",function(t,n){for(var i=t.length,a=[],o=0,s=e[0],l=0;i>0&&s>0&&(l+s+1>n&&(s=Math.max(1,n-l)),a.push(t.substring(i-=s,i+s)),!((l+=s+1)>n));)s=e[o=(o+1)%e.length];return a.reverse().join(r)}),i=void 0===t.currency?"":t.currency[0]+"",a=void 0===t.currency?"":t.currency[1]+"",o=void 0===t.decimal?".":t.decimal+"",s=void 0===t.numerals?zn:function(t){return function(e){return e.replace(/[0-9]/g,(function(e){return t[+e]}))}}(Hn.call(t.numerals,String)),l=void 0===t.percent?"%":t.percent+"",h=void 0===t.minus?"−":t.minus+"",c=void 0===t.nan?"NaN":t.nan+"";function u(t){var e=(t=On(t)).fill,r=t.align,u=t.sign,d=t.symbol,p=t.zero,f=t.width,g=t.comma,y=t.precision,m=t.trim,x=t.type;"n"===x?(g=!0,x="g"):Kn[x]||(void 0===y&&(y=12),m=!0,x="g"),(p||"0"===e&&"="===r)&&(p=!0,e="0",r="=");var b="$"===d?i:"#"===d&&/[boxX]/.test(x)?"0"+x.toLowerCase():"",k="$"===d?a:/[%p]/.test(x)?l:"",C=Kn[x],w=/[defgprs%]/.test(x);function _(t){var i,a,l,d=b,_=k;if("c"===x)_=C(t)+_,t="";else{var v=(t=+t)<0||1/t<0;if(t=isNaN(t)?c:C(Math.abs(t),y),m&&(t=function(t){t:for(var e,r=t.length,n=1,i=-1;n0&&(i=0)}return i>0?t.slice(0,i)+t.slice(e+1):t}(t)),v&&0==+t&&"+"!==u&&(v=!1),d=(v?"("===u?u:h:"-"===u||"("===u?"":u)+d,_=("s"===x?Un[8+En/3]:"")+_+(v&&"("===u?")":""),w)for(i=-1,a=t.length;++i(l=t.charCodeAt(i))||l>57){_=(46===l?o+t.slice(i+1):t.slice(i))+_,t=t.slice(0,i);break}}g&&!p&&(t=n(t,1/0));var S=d.length+t.length+_.length,T=S>1)+d+t+_+T.slice(S);break;default:t=T+d+t+_}return s(t)}return y=void 0===y?6:/[gprs]/.test(x)?Math.max(1,Math.min(21,y)):Math.max(0,Math.min(20,y)),_.toString=function(){return t+""},_}return{format:u,formatPrefix:function(t,e){var r=u(((t=On(t)).type="f",t)),n=3*Math.max(-8,Math.min(8,Math.floor(Rn(e)/3))),i=Math.pow(10,-n),a=Un[8+n/3];return function(t){return r(i*t)+a}}}}({thousands:",",grouping:[3],currency:["$",""]}),jn=qn.format,Wn=qn.formatPrefix;const Vn=1e3,Zn=6e4,Xn=36e5,Qn=864e5,Jn=6048e5,ti=31536e6,ei=new Date,ri=new Date;function ni(t,e,r,n){function i(e){return t(e=0===arguments.length?new Date:new Date(+e)),e}return i.floor=e=>(t(e=new Date(+e)),e),i.ceil=r=>(t(r=new Date(r-1)),e(r,1),t(r),r),i.round=t=>{const e=i(t),r=i.ceil(t);return t-e(e(t=new Date(+t),null==r?1:Math.floor(r)),t),i.range=(r,n,a)=>{const o=[];if(r=i.ceil(r),a=null==a?1:Math.floor(a),!(r0))return o;let s;do{o.push(s=new Date(+r)),e(r,a),t(r)}while(sni((e=>{if(e>=e)for(;t(e),!r(e);)e.setTime(e-1)}),((t,n)=>{if(t>=t)if(n<0)for(;++n<=0;)for(;e(t,-1),!r(t););else for(;--n>=0;)for(;e(t,1),!r(t););})),r&&(i.count=(e,n)=>(ei.setTime(+e),ri.setTime(+n),t(ei),t(ri),Math.floor(r(ei,ri))),i.every=t=>(t=Math.floor(t),isFinite(t)&&t>0?t>1?i.filter(n?e=>n(e)%t==0:e=>i.count(0,e)%t==0):i:null)),i}const ii=ni((()=>{}),((t,e)=>{t.setTime(+t+e)}),((t,e)=>e-t));ii.every=t=>(t=Math.floor(t),isFinite(t)&&t>0?t>1?ni((e=>{e.setTime(Math.floor(e/t)*t)}),((e,r)=>{e.setTime(+e+r*t)}),((e,r)=>(r-e)/t)):ii:null),ii.range;const ai=ni((t=>{t.setTime(t-t.getMilliseconds())}),((t,e)=>{t.setTime(+t+e*Vn)}),((t,e)=>(e-t)/Vn),(t=>t.getUTCSeconds())),oi=(ai.range,ni((t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*Vn)}),((t,e)=>{t.setTime(+t+e*Zn)}),((t,e)=>(e-t)/Zn),(t=>t.getMinutes()))),si=(oi.range,ni((t=>{t.setUTCSeconds(0,0)}),((t,e)=>{t.setTime(+t+e*Zn)}),((t,e)=>(e-t)/Zn),(t=>t.getUTCMinutes()))),li=(si.range,ni((t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*Vn-t.getMinutes()*Zn)}),((t,e)=>{t.setTime(+t+e*Xn)}),((t,e)=>(e-t)/Xn),(t=>t.getHours()))),hi=(li.range,ni((t=>{t.setUTCMinutes(0,0,0)}),((t,e)=>{t.setTime(+t+e*Xn)}),((t,e)=>(e-t)/Xn),(t=>t.getUTCHours()))),ci=(hi.range,ni((t=>t.setHours(0,0,0,0)),((t,e)=>t.setDate(t.getDate()+e)),((t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*Zn)/Qn),(t=>t.getDate()-1))),ui=(ci.range,ni((t=>{t.setUTCHours(0,0,0,0)}),((t,e)=>{t.setUTCDate(t.getUTCDate()+e)}),((t,e)=>(e-t)/Qn),(t=>t.getUTCDate()-1))),di=(ui.range,ni((t=>{t.setUTCHours(0,0,0,0)}),((t,e)=>{t.setUTCDate(t.getUTCDate()+e)}),((t,e)=>(e-t)/Qn),(t=>Math.floor(t/Qn))));function pi(t){return ni((e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)}),((t,e)=>{t.setDate(t.getDate()+7*e)}),((t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*Zn)/Jn))}di.range;const fi=pi(0),gi=pi(1),yi=pi(2),mi=pi(3),xi=pi(4),bi=pi(5),ki=pi(6);function Ci(t){return ni((e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)}),((t,e)=>{t.setUTCDate(t.getUTCDate()+7*e)}),((t,e)=>(e-t)/Jn))}fi.range,gi.range,yi.range,mi.range,xi.range,bi.range,ki.range;const wi=Ci(0),_i=Ci(1),vi=Ci(2),Si=Ci(3),Ti=Ci(4),Ai=Ci(5),Mi=Ci(6),Bi=(wi.range,_i.range,vi.range,Si.range,Ti.range,Ai.range,Mi.range,ni((t=>{t.setDate(1),t.setHours(0,0,0,0)}),((t,e)=>{t.setMonth(t.getMonth()+e)}),((t,e)=>e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())),(t=>t.getMonth()))),Li=(Bi.range,ni((t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)}),((t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)}),((t,e)=>e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear())),(t=>t.getUTCMonth()))),Fi=(Li.range,ni((t=>{t.setMonth(0,1),t.setHours(0,0,0,0)}),((t,e)=>{t.setFullYear(t.getFullYear()+e)}),((t,e)=>e.getFullYear()-t.getFullYear()),(t=>t.getFullYear())));Fi.every=t=>isFinite(t=Math.floor(t))&&t>0?ni((e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)}),((e,r)=>{e.setFullYear(e.getFullYear()+r*t)})):null,Fi.range;const $i=ni((t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),((t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)}),((t,e)=>e.getUTCFullYear()-t.getUTCFullYear()),(t=>t.getUTCFullYear()));function Ei(t,e,r,n,i,a){const o=[[ai,1,Vn],[ai,5,5e3],[ai,15,15e3],[ai,30,3e4],[a,1,Zn],[a,5,3e5],[a,15,9e5],[a,30,18e5],[i,1,Xn],[i,3,108e5],[i,6,216e5],[i,12,432e5],[n,1,Qn],[n,2,1728e5],[r,1,Jn],[e,1,2592e6],[e,3,7776e6],[t,1,ti]];function s(e,r,n){const i=Math.abs(r-e)/n,a=fn((([,,t])=>t)).right(o,i);if(a===o.length)return t.every(un(e/ti,r/ti,n));if(0===a)return ii.every(Math.max(un(e,r,n),1));const[s,l]=o[i/o[a-1][2]isFinite(t=Math.floor(t))&&t>0?ni((e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),((e,r)=>{e.setUTCFullYear(e.getUTCFullYear()+r*t)})):null,$i.range;const[Di,Oi]=Ei($i,Li,wi,di,hi,si),[Ii,Ni]=Ei(Fi,Bi,fi,ci,li,oi);function Ri(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function Pi(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function Ki(t,e,r){return{y:t,m:e,d:r,H:0,M:0,S:0,L:0}}var zi,qi,ji={"-":"",_:" ",0:"0"},Wi=/^\s*\d+/,Hi=/^%/,Ui=/[\\^$*+?|[\]().{}]/g;function Yi(t,e,r){var n=t<0?"-":"",i=(n?-t:t)+"",a=i.length;return n+(a[t.toLowerCase(),e])))}function Xi(t,e,r){var n=Wi.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function Qi(t,e,r){var n=Wi.exec(e.slice(r,r+1));return n?(t.u=+n[0],r+n[0].length):-1}function Ji(t,e,r){var n=Wi.exec(e.slice(r,r+2));return n?(t.U=+n[0],r+n[0].length):-1}function ta(t,e,r){var n=Wi.exec(e.slice(r,r+2));return n?(t.V=+n[0],r+n[0].length):-1}function ea(t,e,r){var n=Wi.exec(e.slice(r,r+2));return n?(t.W=+n[0],r+n[0].length):-1}function ra(t,e,r){var n=Wi.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function na(t,e,r){var n=Wi.exec(e.slice(r,r+2));return n?(t.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function ia(t,e,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r,r+6));return n?(t.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function aa(t,e,r){var n=Wi.exec(e.slice(r,r+1));return n?(t.q=3*n[0]-3,r+n[0].length):-1}function oa(t,e,r){var n=Wi.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function sa(t,e,r){var n=Wi.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function la(t,e,r){var n=Wi.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function ha(t,e,r){var n=Wi.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function ca(t,e,r){var n=Wi.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function ua(t,e,r){var n=Wi.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function da(t,e,r){var n=Wi.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function pa(t,e,r){var n=Wi.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function fa(t,e,r){var n=Hi.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function ga(t,e,r){var n=Wi.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function ya(t,e,r){var n=Wi.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function ma(t,e){return Yi(t.getDate(),e,2)}function xa(t,e){return Yi(t.getHours(),e,2)}function ba(t,e){return Yi(t.getHours()%12||12,e,2)}function ka(t,e){return Yi(1+ci.count(Fi(t),t),e,3)}function Ca(t,e){return Yi(t.getMilliseconds(),e,3)}function wa(t,e){return Ca(t,e)+"000"}function _a(t,e){return Yi(t.getMonth()+1,e,2)}function va(t,e){return Yi(t.getMinutes(),e,2)}function Sa(t,e){return Yi(t.getSeconds(),e,2)}function Ta(t){var e=t.getDay();return 0===e?7:e}function Aa(t,e){return Yi(fi.count(Fi(t)-1,t),e,2)}function Ma(t){var e=t.getDay();return e>=4||0===e?xi(t):xi.ceil(t)}function Ba(t,e){return t=Ma(t),Yi(xi.count(Fi(t),t)+(4===Fi(t).getDay()),e,2)}function La(t){return t.getDay()}function Fa(t,e){return Yi(gi.count(Fi(t)-1,t),e,2)}function $a(t,e){return Yi(t.getFullYear()%100,e,2)}function Ea(t,e){return Yi((t=Ma(t)).getFullYear()%100,e,2)}function Da(t,e){return Yi(t.getFullYear()%1e4,e,4)}function Oa(t,e){var r=t.getDay();return Yi((t=r>=4||0===r?xi(t):xi.ceil(t)).getFullYear()%1e4,e,4)}function Ia(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+Yi(e/60|0,"0",2)+Yi(e%60,"0",2)}function Na(t,e){return Yi(t.getUTCDate(),e,2)}function Ra(t,e){return Yi(t.getUTCHours(),e,2)}function Pa(t,e){return Yi(t.getUTCHours()%12||12,e,2)}function Ka(t,e){return Yi(1+ui.count($i(t),t),e,3)}function za(t,e){return Yi(t.getUTCMilliseconds(),e,3)}function qa(t,e){return za(t,e)+"000"}function ja(t,e){return Yi(t.getUTCMonth()+1,e,2)}function Wa(t,e){return Yi(t.getUTCMinutes(),e,2)}function Ha(t,e){return Yi(t.getUTCSeconds(),e,2)}function Ua(t){var e=t.getUTCDay();return 0===e?7:e}function Ya(t,e){return Yi(wi.count($i(t)-1,t),e,2)}function Ga(t){var e=t.getUTCDay();return e>=4||0===e?Ti(t):Ti.ceil(t)}function Va(t,e){return t=Ga(t),Yi(Ti.count($i(t),t)+(4===$i(t).getUTCDay()),e,2)}function Za(t){return t.getUTCDay()}function Xa(t,e){return Yi(_i.count($i(t)-1,t),e,2)}function Qa(t,e){return Yi(t.getUTCFullYear()%100,e,2)}function Ja(t,e){return Yi((t=Ga(t)).getUTCFullYear()%100,e,2)}function to(t,e){return Yi(t.getUTCFullYear()%1e4,e,4)}function eo(t,e){var r=t.getUTCDay();return Yi((t=r>=4||0===r?Ti(t):Ti.ceil(t)).getUTCFullYear()%1e4,e,4)}function ro(){return"+0000"}function no(){return"%"}function io(t){return+t}function ao(t){return Math.floor(+t/1e3)}function oo(t){return new Date(t)}function so(t){return t instanceof Date?+t:+new Date(+t)}function lo(t,e,r,n,i,a,o,s,l,h){var c=$n(),u=c.invert,d=c.domain,p=h(".%L"),f=h(":%S"),g=h("%I:%M"),y=h("%I %p"),m=h("%a %d"),x=h("%b %d"),b=h("%B"),k=h("%Y");function C(t){return(l(t)=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:io,s:ao,S:Sa,u:Ta,U:Aa,V:Ba,w:La,W:Fa,x:null,X:null,y:$a,Y:Da,Z:Ia,"%":no},k={a:function(t){return o[t.getUTCDay()]},A:function(t){return a[t.getUTCDay()]},b:function(t){return l[t.getUTCMonth()]},B:function(t){return s[t.getUTCMonth()]},c:null,d:Na,e:Na,f:qa,g:Ja,G:eo,H:Ra,I:Pa,j:Ka,L:za,m:ja,M:Wa,p:function(t){return i[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:io,s:ao,S:Ha,u:Ua,U:Ya,V:Va,w:Za,W:Xa,x:null,X:null,y:Qa,Y:to,Z:ro,"%":no},C={a:function(t,e,r){var n=p.exec(e.slice(r));return n?(t.w=f.get(n[0].toLowerCase()),r+n[0].length):-1},A:function(t,e,r){var n=u.exec(e.slice(r));return n?(t.w=d.get(n[0].toLowerCase()),r+n[0].length):-1},b:function(t,e,r){var n=m.exec(e.slice(r));return n?(t.m=x.get(n[0].toLowerCase()),r+n[0].length):-1},B:function(t,e,r){var n=g.exec(e.slice(r));return n?(t.m=y.get(n[0].toLowerCase()),r+n[0].length):-1},c:function(t,r,n){return v(t,e,r,n)},d:sa,e:sa,f:pa,g:na,G:ra,H:ha,I:ha,j:la,L:da,m:oa,M:ca,p:function(t,e,r){var n=h.exec(e.slice(r));return n?(t.p=c.get(n[0].toLowerCase()),r+n[0].length):-1},q:aa,Q:ga,s:ya,S:ua,u:Qi,U:Ji,V:ta,w:Xi,W:ea,x:function(t,e,n){return v(t,r,e,n)},X:function(t,e,r){return v(t,n,e,r)},y:na,Y:ra,Z:ia,"%":fa};function w(t,e){return function(r){var n,i,a,o=[],s=-1,l=0,h=t.length;for(r instanceof Date||(r=new Date(+r));++s53)return null;"w"in a||(a.w=1),"Z"in a?(i=(n=Pi(Ki(a.y,0,1))).getUTCDay(),n=i>4||0===i?_i.ceil(n):_i(n),n=ui.offset(n,7*(a.V-1)),a.y=n.getUTCFullYear(),a.m=n.getUTCMonth(),a.d=n.getUTCDate()+(a.w+6)%7):(i=(n=Ri(Ki(a.y,0,1))).getDay(),n=i>4||0===i?gi.ceil(n):gi(n),n=ci.offset(n,7*(a.V-1)),a.y=n.getFullYear(),a.m=n.getMonth(),a.d=n.getDate()+(a.w+6)%7)}else("W"in a||"U"in a)&&("w"in a||(a.w="u"in a?a.u%7:"W"in a?1:0),i="Z"in a?Pi(Ki(a.y,0,1)).getUTCDay():Ri(Ki(a.y,0,1)).getDay(),a.m=0,a.d="W"in a?(a.w+6)%7+7*a.W-(i+5)%7:a.w+7*a.U-(i+6)%7);return"Z"in a?(a.H+=a.Z/100|0,a.M+=a.Z%100,Pi(a)):Ri(a)}}function v(t,e,r,n){for(var i,a,o=0,s=e.length,l=r.length;o=l)return-1;if(37===(i=e.charCodeAt(o++))){if(i=e.charAt(o++),!(a=C[i in ji?e.charAt(o++):i])||(n=a(t,r,n))<0)return-1}else if(i!=r.charCodeAt(n++))return-1}return n}return b.x=w(r,b),b.X=w(n,b),b.c=w(e,b),k.x=w(r,k),k.X=w(n,k),k.c=w(e,k),{format:function(t){var e=w(t+="",b);return e.toString=function(){return t},e},parse:function(t){var e=_(t+="",!1);return e.toString=function(){return t},e},utcFormat:function(t){var e=w(t+="",k);return e.toString=function(){return t},e},utcParse:function(t){var e=_(t+="",!0);return e.toString=function(){return t},e}}}({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}),qi=zi.format,zi.parse,zi.utcFormat,zi.utcParse;const co=function(t){for(var e=new Array(10),r=0;r<10;)e[r]="#"+t.slice(6*r,6*++r);return e}("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab");function uo(t){return"string"==typeof t?new Mt([[document.querySelector(t)]],[document.documentElement]):new Mt([[t]],At)}function po(t){return function(){return t}}const fo=Math.abs,go=Math.atan2,yo=Math.cos,mo=Math.max,xo=Math.min,bo=Math.sin,ko=Math.sqrt,Co=1e-12,wo=Math.PI,_o=wo/2,vo=2*wo;function So(t){return t>=1?_o:t<=-1?-_o:Math.asin(t)}const To=Math.PI,Ao=2*To,Mo=1e-6,Bo=Ao-Mo;function Lo(t){this._+=t[0];for(let e=1,r=t.length;e=0))throw new Error(`invalid digits: ${t}`);if(e>15)return Lo;const r=10**e;return function(t){this._+=t[0];for(let e=1,n=t.length;eMo)if(Math.abs(c*s-l*h)>Mo&&i){let d=r-a,p=n-o,f=s*s+l*l,g=d*d+p*p,y=Math.sqrt(f),m=Math.sqrt(u),x=i*Math.tan((To-Math.acos((f+u-g)/(2*y*m)))/2),b=x/m,k=x/y;Math.abs(b-1)>Mo&&this._append`L${t+b*h},${e+b*c}`,this._append`A${i},${i},0,0,${+(c*d>h*p)},${this._x1=t+k*s},${this._y1=e+k*l}`}else this._append`L${this._x1=t},${this._y1=e}`}arc(t,e,r,n,i,a){if(t=+t,e=+e,a=!!a,(r=+r)<0)throw new Error(`negative radius: ${r}`);let o=r*Math.cos(n),s=r*Math.sin(n),l=t+o,h=e+s,c=1^a,u=a?n-i:i-n;null===this._x1?this._append`M${l},${h}`:(Math.abs(this._x1-l)>Mo||Math.abs(this._y1-h)>Mo)&&this._append`L${l},${h}`,r&&(u<0&&(u=u%Ao+Ao),u>Bo?this._append`A${r},${r},0,1,${c},${t-o},${e-s}A${r},${r},0,1,${c},${this._x1=l},${this._y1=h}`:u>Mo&&this._append`A${r},${r},0,${+(u>=To)},${c},${this._x1=t+r*Math.cos(i)},${this._y1=e+r*Math.sin(i)}`)}rect(t,e,r,n){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+e}h${r=+r}v${+n}h${-r}Z`}toString(){return this._}}function $o(t){let e=3;return t.digits=function(r){if(!arguments.length)return e;if(null==r)e=null;else{const t=Math.floor(r);if(!(t>=0))throw new RangeError(`invalid digits: ${r}`);e=t}return t},()=>new Fo(e)}function Eo(t){return t.innerRadius}function Do(t){return t.outerRadius}function Oo(t){return t.startAngle}function Io(t){return t.endAngle}function No(t){return t&&t.padAngle}function Ro(t,e,r,n,i,a,o){var s=t-r,l=e-n,h=(o?a:-a)/ko(s*s+l*l),c=h*l,u=-h*s,d=t+c,p=e+u,f=r+c,g=n+u,y=(d+f)/2,m=(p+g)/2,x=f-d,b=g-p,k=x*x+b*b,C=i-a,w=d*g-f*p,_=(b<0?-1:1)*ko(mo(0,C*C*k-w*w)),v=(w*b-x*_)/k,S=(-w*x-b*_)/k,T=(w*b+x*_)/k,A=(-w*x+b*_)/k,M=v-y,B=S-m,L=T-y,F=A-m;return M*M+B*B>L*L+F*F&&(v=T,S=A),{cx:v,cy:S,x01:-c,y01:-u,x11:v*(i/C-1),y11:S*(i/C-1)}}function Po(){var t=Eo,e=Do,r=po(0),n=null,i=Oo,a=Io,o=No,s=null,l=$o(h);function h(){var h,c,u,d=+t.apply(this,arguments),p=+e.apply(this,arguments),f=i.apply(this,arguments)-_o,g=a.apply(this,arguments)-_o,y=fo(g-f),m=g>f;if(s||(s=h=l()),pCo)if(y>vo-Co)s.moveTo(p*yo(f),p*bo(f)),s.arc(0,0,p,f,g,!m),d>Co&&(s.moveTo(d*yo(g),d*bo(g)),s.arc(0,0,d,g,f,m));else{var x,b,k=f,C=g,w=f,_=g,v=y,S=y,T=o.apply(this,arguments)/2,A=T>Co&&(n?+n.apply(this,arguments):ko(d*d+p*p)),M=xo(fo(p-d)/2,+r.apply(this,arguments)),B=M,L=M;if(A>Co){var F=So(A/d*bo(T)),$=So(A/p*bo(T));(v-=2*F)>Co?(w+=F*=m?1:-1,_-=F):(v=0,w=_=(f+g)/2),(S-=2*$)>Co?(k+=$*=m?1:-1,C-=$):(S=0,k=C=(f+g)/2)}var E=p*yo(k),D=p*bo(k),O=d*yo(_),I=d*bo(_);if(M>Co){var N,R=p*yo(C),P=p*bo(C),K=d*yo(w),z=d*bo(w);if(y1?0:u<-1?wo:Math.acos(u))/2),Y=ko(N[0]*N[0]+N[1]*N[1]);B=xo(M,(d-Y)/(U-1)),L=xo(M,(p-Y)/(U+1))}else B=L=0}S>Co?L>Co?(x=Ro(K,z,E,D,p,L,m),b=Ro(R,P,O,I,p,L,m),s.moveTo(x.cx+x.x01,x.cy+x.y01),LCo&&v>Co?B>Co?(x=Ro(O,I,R,P,d,-B,m),b=Ro(E,D,K,z,d,-B,m),s.lineTo(x.cx+x.x01,x.cy+x.y01),Bt?1:e>=t?0:NaN}function Yo(t){return t}function Go(){var t=Yo,e=Uo,r=null,n=po(0),i=po(vo),a=po(0);function o(o){var s,l,h,c,u,d=(o=Ko(o)).length,p=0,f=new Array(d),g=new Array(d),y=+n.apply(this,arguments),m=Math.min(vo,Math.max(-vo,i.apply(this,arguments)-y)),x=Math.min(Math.abs(m)/d,a.apply(this,arguments)),b=x*(m<0?-1:1);for(s=0;s0&&(p+=u);for(null!=e?f.sort((function(t,r){return e(g[t],g[r])})):null!=r&&f.sort((function(t,e){return r(o[t],o[e])})),s=0,h=p?(m-d*b)/p:0;s0?u*h:0)+b,g[l]={data:o[l],index:s,value:u,startAngle:y,endAngle:c,padAngle:x};return g}return o.value=function(e){return arguments.length?(t="function"==typeof e?e:po(+e),o):t},o.sortValues=function(t){return arguments.length?(e=t,r=null,o):e},o.sort=function(t){return arguments.length?(r=t,e=null,o):r},o.startAngle=function(t){return arguments.length?(n="function"==typeof t?t:po(+t),o):n},o.endAngle=function(t){return arguments.length?(i="function"==typeof t?t:po(+t),o):i},o.padAngle=function(t){return arguments.length?(a="function"==typeof t?t:po(+t),o):a},o}function Vo(){}function Zo(t,e,r){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+r)/6)}function Xo(t){this._context=t}function Qo(t){return new Xo(t)}function Jo(t){this._context=t}function ts(t){return new Jo(t)}function es(t){this._context=t}function rs(t){return new es(t)}Fo.prototype,Array.prototype.slice,zo.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e)}}},Xo.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:Zo(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:Zo(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},Jo.prototype={areaStart:Vo,areaEnd:Vo,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:Zo(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},es.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+t)/6,n=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:Zo(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};class ns{constructor(t,e){this._context=t,this._x=e}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line}point(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,e,t,e):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+e)/2,t,this._y0,t,e)}this._x0=t,this._y0=e}}function is(t){return new ns(t,!0)}function as(t){return new ns(t,!1)}function os(t,e){this._basis=new Xo(t),this._beta=e}os.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,r=t.length-1;if(r>0)for(var n,i=t[0],a=e[0],o=t[r]-i,s=e[r]-a,l=-1;++l<=r;)n=l/r,this._basis.point(this._beta*t[l]+(1-this._beta)*(i+n*o),this._beta*e[l]+(1-this._beta)*(a+n*s));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};const ss=function t(e){function r(t){return 1===e?new Xo(t):new os(t,e)}return r.beta=function(e){return t(+e)},r}(.85);function ls(t,e,r){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-r),t._x2,t._y2)}function hs(t,e){this._context=t,this._k=(1-e)/6}hs.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:ls(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:ls(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const cs=function t(e){function r(t){return new hs(t,e)}return r.tension=function(e){return t(+e)},r}(0);function us(t,e){this._context=t,this._k=(1-e)/6}us.prototype={areaStart:Vo,areaEnd:Vo,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:ls(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const ds=function t(e){function r(t){return new us(t,e)}return r.tension=function(e){return t(+e)},r}(0);function ps(t,e){this._context=t,this._k=(1-e)/6}ps.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:ls(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const fs=function t(e){function r(t){return new ps(t,e)}return r.tension=function(e){return t(+e)},r}(0);function gs(t,e,r){var n=t._x1,i=t._y1,a=t._x2,o=t._y2;if(t._l01_a>Co){var s=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,l=3*t._l01_a*(t._l01_a+t._l12_a);n=(n*s-t._x0*t._l12_2a+t._x2*t._l01_2a)/l,i=(i*s-t._y0*t._l12_2a+t._y2*t._l01_2a)/l}if(t._l23_a>Co){var h=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,c=3*t._l23_a*(t._l23_a+t._l12_a);a=(a*h+t._x1*t._l23_2a-e*t._l12_2a)/c,o=(o*h+t._y1*t._l23_2a-r*t._l12_2a)/c}t._context.bezierCurveTo(n,i,a,o,t._x2,t._y2)}function ys(t,e){this._context=t,this._alpha=e}ys.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:gs(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const ms=function t(e){function r(t){return e?new ys(t,e):new hs(t,0)}return r.alpha=function(e){return t(+e)},r}(.5);function xs(t,e){this._context=t,this._alpha=e}xs.prototype={areaStart:Vo,areaEnd:Vo,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:gs(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const bs=function t(e){function r(t){return e?new xs(t,e):new us(t,0)}return r.alpha=function(e){return t(+e)},r}(.5);function ks(t,e){this._context=t,this._alpha=e}ks.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:gs(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const Cs=function t(e){function r(t){return e?new ks(t,e):new ps(t,0)}return r.alpha=function(e){return t(+e)},r}(.5);function ws(t){this._context=t}function _s(t){return new ws(t)}function vs(t){return t<0?-1:1}function Ss(t,e,r){var n=t._x1-t._x0,i=e-t._x1,a=(t._y1-t._y0)/(n||i<0&&-0),o=(r-t._y1)/(i||n<0&&-0),s=(a*i+o*n)/(n+i);return(vs(a)+vs(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function Ts(t,e){var r=t._x1-t._x0;return r?(3*(t._y1-t._y0)/r-e)/2:e}function As(t,e,r){var n=t._x0,i=t._y0,a=t._x1,o=t._y1,s=(a-n)/3;t._context.bezierCurveTo(n+s,i+s*e,a-s,o-s*r,a,o)}function Ms(t){this._context=t}function Bs(t){this._context=new Ls(t)}function Ls(t){this._context=t}function Fs(t){return new Ms(t)}function $s(t){return new Bs(t)}function Es(t){this._context=t}function Ds(t){var e,r,n=t.length-1,i=new Array(n),a=new Array(n),o=new Array(n);for(i[0]=0,a[0]=2,o[0]=t[0]+2*t[1],e=1;e=0;--e)i[e]=(o[e]-i[e+1])/a[e];for(a[n-1]=(t[n]+i[n-1])/2,e=0;e=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var r=this._x*(1-this._t)+t*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,e)}}this._x=t,this._y=e}},Ks.prototype={constructor:Ks,scale:function(t){return 1===t?this:new Ks(this.k*t,this.x,this.y)},translate:function(t,e){return 0===t&0===e?this:new Ks(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}},new Ks(1,0,0),Ks.prototype},9418:(t,e,r)=>{"use strict";r.d(e,{A:()=>tt});const{entries:n,setPrototypeOf:i,isFrozen:a,getPrototypeOf:o,getOwnPropertyDescriptor:s}=Object;let{freeze:l,seal:h,create:c}=Object,{apply:u,construct:d}="undefined"!=typeof Reflect&&Reflect;l||(l=function(t){return t}),h||(h=function(t){return t}),u||(u=function(t,e,r){return t.apply(e,r)}),d||(d=function(t,e){return new t(...e)});const p=T(Array.prototype.forEach),f=T(Array.prototype.pop),g=T(Array.prototype.push),y=T(String.prototype.toLowerCase),m=T(String.prototype.toString),x=T(String.prototype.match),b=T(String.prototype.replace),k=T(String.prototype.indexOf),C=T(String.prototype.trim),w=T(Object.prototype.hasOwnProperty),_=T(RegExp.prototype.test),v=(S=TypeError,function(){for(var t=arguments.length,e=new Array(t),r=0;r1?r-1:0),i=1;i2&&void 0!==arguments[2]?arguments[2]:y;i&&i(t,null);let n=e.length;for(;n--;){let i=e[n];if("string"==typeof i){const t=r(i);t!==i&&(a(e)||(e[n]=t),i=t)}t[i]=!0}return t}function M(t){for(let e=0;e/gm),W=h(/\$\{[\w\W]*}/gm),H=h(/^data-[\-\w.\u00B7-\uFFFF]+$/),U=h(/^aria-[\-\w]+$/),Y=h(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),G=h(/^(?:\w+script|data):/i),V=h(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Z=h(/^html$/i),X=h(/^[a-z][.\w]*(-[.\w]+)+$/i);var Q=Object.freeze({__proto__:null,ARIA_ATTR:U,ATTR_WHITESPACE:V,CUSTOM_ELEMENT:X,DATA_ATTR:H,DOCTYPE_NAME:Z,ERB_EXPR:j,IS_ALLOWED_URI:Y,IS_SCRIPT_OR_DATA:G,MUSTACHE_EXPR:q,TMPLIT_EXPR:W});const J=function(){return"undefined"==typeof window?null:window};var tt=function t(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:J();const r=e=>t(e);if(r.version="3.2.3",r.removed=[],!e||!e.document||9!==e.document.nodeType)return r.isSupported=!1,r;let{document:i}=e;const a=i,o=a.currentScript,{DocumentFragment:s,HTMLTemplateElement:h,Node:u,Element:d,NodeFilter:S,NamedNodeMap:T=e.NamedNodeMap||e.MozNamedAttrMap,HTMLFormElement:M,DOMParser:q,trustedTypes:j}=e,W=d.prototype,H=L(W,"cloneNode"),U=L(W,"remove"),G=L(W,"nextSibling"),V=L(W,"childNodes"),X=L(W,"parentNode");if("function"==typeof h){const t=i.createElement("template");t.content&&t.content.ownerDocument&&(i=t.content.ownerDocument)}let tt,et="";const{implementation:rt,createNodeIterator:nt,createDocumentFragment:it,getElementsByTagName:at}=i,{importNode:ot}=a;let st={afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]};r.isSupported="function"==typeof n&&"function"==typeof X&&rt&&void 0!==rt.createHTMLDocument;const{MUSTACHE_EXPR:lt,ERB_EXPR:ht,TMPLIT_EXPR:ct,DATA_ATTR:ut,ARIA_ATTR:dt,IS_SCRIPT_OR_DATA:pt,ATTR_WHITESPACE:ft,CUSTOM_ELEMENT:gt}=Q;let{IS_ALLOWED_URI:yt}=Q,mt=null;const xt=A({},[...F,...$,...E,...O,...N]);let bt=null;const kt=A({},[...R,...P,...K,...z]);let Ct=Object.seal(c(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),wt=null,_t=null,vt=!0,St=!0,Tt=!1,At=!0,Mt=!1,Bt=!0,Lt=!1,Ft=!1,$t=!1,Et=!1,Dt=!1,Ot=!1,It=!0,Nt=!1,Rt=!0,Pt=!1,Kt={},zt=null;const qt=A({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let jt=null;const Wt=A({},["audio","video","img","source","image","track"]);let Ht=null;const Ut=A({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Yt="http://www.w3.org/1998/Math/MathML",Gt="http://www.w3.org/2000/svg",Vt="http://www.w3.org/1999/xhtml";let Zt=Vt,Xt=!1,Qt=null;const Jt=A({},[Yt,Gt,Vt],m);let te=A({},["mi","mo","mn","ms","mtext"]),ee=A({},["annotation-xml"]);const re=A({},["title","style","font","a","script"]);let ne=null;const ie=["application/xhtml+xml","text/html"];let ae=null,oe=null;const se=i.createElement("form"),le=function(t){return t instanceof RegExp||t instanceof Function},he=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!oe||oe!==t){if(t&&"object"==typeof t||(t={}),t=B(t),ne=-1===ie.indexOf(t.PARSER_MEDIA_TYPE)?"text/html":t.PARSER_MEDIA_TYPE,ae="application/xhtml+xml"===ne?m:y,mt=w(t,"ALLOWED_TAGS")?A({},t.ALLOWED_TAGS,ae):xt,bt=w(t,"ALLOWED_ATTR")?A({},t.ALLOWED_ATTR,ae):kt,Qt=w(t,"ALLOWED_NAMESPACES")?A({},t.ALLOWED_NAMESPACES,m):Jt,Ht=w(t,"ADD_URI_SAFE_ATTR")?A(B(Ut),t.ADD_URI_SAFE_ATTR,ae):Ut,jt=w(t,"ADD_DATA_URI_TAGS")?A(B(Wt),t.ADD_DATA_URI_TAGS,ae):Wt,zt=w(t,"FORBID_CONTENTS")?A({},t.FORBID_CONTENTS,ae):qt,wt=w(t,"FORBID_TAGS")?A({},t.FORBID_TAGS,ae):{},_t=w(t,"FORBID_ATTR")?A({},t.FORBID_ATTR,ae):{},Kt=!!w(t,"USE_PROFILES")&&t.USE_PROFILES,vt=!1!==t.ALLOW_ARIA_ATTR,St=!1!==t.ALLOW_DATA_ATTR,Tt=t.ALLOW_UNKNOWN_PROTOCOLS||!1,At=!1!==t.ALLOW_SELF_CLOSE_IN_ATTR,Mt=t.SAFE_FOR_TEMPLATES||!1,Bt=!1!==t.SAFE_FOR_XML,Lt=t.WHOLE_DOCUMENT||!1,Et=t.RETURN_DOM||!1,Dt=t.RETURN_DOM_FRAGMENT||!1,Ot=t.RETURN_TRUSTED_TYPE||!1,$t=t.FORCE_BODY||!1,It=!1!==t.SANITIZE_DOM,Nt=t.SANITIZE_NAMED_PROPS||!1,Rt=!1!==t.KEEP_CONTENT,Pt=t.IN_PLACE||!1,yt=t.ALLOWED_URI_REGEXP||Y,Zt=t.NAMESPACE||Vt,te=t.MATHML_TEXT_INTEGRATION_POINTS||te,ee=t.HTML_INTEGRATION_POINTS||ee,Ct=t.CUSTOM_ELEMENT_HANDLING||{},t.CUSTOM_ELEMENT_HANDLING&&le(t.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(Ct.tagNameCheck=t.CUSTOM_ELEMENT_HANDLING.tagNameCheck),t.CUSTOM_ELEMENT_HANDLING&&le(t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(Ct.attributeNameCheck=t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),t.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(Ct.allowCustomizedBuiltInElements=t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Mt&&(St=!1),Dt&&(Et=!0),Kt&&(mt=A({},N),bt=[],!0===Kt.html&&(A(mt,F),A(bt,R)),!0===Kt.svg&&(A(mt,$),A(bt,P),A(bt,z)),!0===Kt.svgFilters&&(A(mt,E),A(bt,P),A(bt,z)),!0===Kt.mathMl&&(A(mt,O),A(bt,K),A(bt,z))),t.ADD_TAGS&&(mt===xt&&(mt=B(mt)),A(mt,t.ADD_TAGS,ae)),t.ADD_ATTR&&(bt===kt&&(bt=B(bt)),A(bt,t.ADD_ATTR,ae)),t.ADD_URI_SAFE_ATTR&&A(Ht,t.ADD_URI_SAFE_ATTR,ae),t.FORBID_CONTENTS&&(zt===qt&&(zt=B(zt)),A(zt,t.FORBID_CONTENTS,ae)),Rt&&(mt["#text"]=!0),Lt&&A(mt,["html","head","body"]),mt.table&&(A(mt,["tbody"]),delete wt.tbody),t.TRUSTED_TYPES_POLICY){if("function"!=typeof t.TRUSTED_TYPES_POLICY.createHTML)throw v('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof t.TRUSTED_TYPES_POLICY.createScriptURL)throw v('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');tt=t.TRUSTED_TYPES_POLICY,et=tt.createHTML("")}else void 0===tt&&(tt=function(t,e){if("object"!=typeof t||"function"!=typeof t.createPolicy)return null;let r=null;const n="data-tt-policy-suffix";e&&e.hasAttribute(n)&&(r=e.getAttribute(n));const i="dompurify"+(r?"#"+r:"");try{return t.createPolicy(i,{createHTML:t=>t,createScriptURL:t=>t})}catch(t){return console.warn("TrustedTypes policy "+i+" could not be created."),null}}(j,o)),null!==tt&&"string"==typeof et&&(et=tt.createHTML(""));l&&l(t),oe=t}},ce=A({},[...$,...E,...D]),ue=A({},[...O,...I]),de=function(t){g(r.removed,{element:t});try{X(t).removeChild(t)}catch(e){U(t)}},pe=function(t,e){try{g(r.removed,{attribute:e.getAttributeNode(t),from:e})}catch(t){g(r.removed,{attribute:null,from:e})}if(e.removeAttribute(t),"is"===t)if(Et||Dt)try{de(e)}catch(t){}else try{e.setAttribute(t,"")}catch(t){}},fe=function(t){let e=null,r=null;if($t)t=""+t;else{const e=x(t,/^[\r\n\t ]+/);r=e&&e[0]}"application/xhtml+xml"===ne&&Zt===Vt&&(t=''+t+"");const n=tt?tt.createHTML(t):t;if(Zt===Vt)try{e=(new q).parseFromString(n,ne)}catch(t){}if(!e||!e.documentElement){e=rt.createDocument(Zt,"template",null);try{e.documentElement.innerHTML=Xt?et:n}catch(t){}}const a=e.body||e.documentElement;return t&&r&&a.insertBefore(i.createTextNode(r),a.childNodes[0]||null),Zt===Vt?at.call(e,Lt?"html":"body")[0]:Lt?e.documentElement:a},ge=function(t){return nt.call(t.ownerDocument||t,t,S.SHOW_ELEMENT|S.SHOW_COMMENT|S.SHOW_TEXT|S.SHOW_PROCESSING_INSTRUCTION|S.SHOW_CDATA_SECTION,null)},ye=function(t){return t instanceof M&&("string"!=typeof t.nodeName||"string"!=typeof t.textContent||"function"!=typeof t.removeChild||!(t.attributes instanceof T)||"function"!=typeof t.removeAttribute||"function"!=typeof t.setAttribute||"string"!=typeof t.namespaceURI||"function"!=typeof t.insertBefore||"function"!=typeof t.hasChildNodes)},me=function(t){return"function"==typeof u&&t instanceof u};function xe(t,e,n){p(t,(t=>{t.call(r,e,n,oe)}))}const be=function(t){let e=null;if(xe(st.beforeSanitizeElements,t,null),ye(t))return de(t),!0;const n=ae(t.nodeName);if(xe(st.uponSanitizeElement,t,{tagName:n,allowedTags:mt}),t.hasChildNodes()&&!me(t.firstElementChild)&&_(/<[/\w]/g,t.innerHTML)&&_(/<[/\w]/g,t.textContent))return de(t),!0;if(7===t.nodeType)return de(t),!0;if(Bt&&8===t.nodeType&&_(/<[/\w]/g,t.data))return de(t),!0;if(!mt[n]||wt[n]){if(!wt[n]&&Ce(n)){if(Ct.tagNameCheck instanceof RegExp&&_(Ct.tagNameCheck,n))return!1;if(Ct.tagNameCheck instanceof Function&&Ct.tagNameCheck(n))return!1}if(Rt&&!zt[n]){const e=X(t)||t.parentNode,r=V(t)||t.childNodes;if(r&&e)for(let n=r.length-1;n>=0;--n){const i=H(r[n],!0);i.__removalCount=(t.__removalCount||0)+1,e.insertBefore(i,G(t))}}return de(t),!0}return t instanceof d&&!function(t){let e=X(t);e&&e.tagName||(e={namespaceURI:Zt,tagName:"template"});const r=y(t.tagName),n=y(e.tagName);return!!Qt[t.namespaceURI]&&(t.namespaceURI===Gt?e.namespaceURI===Vt?"svg"===r:e.namespaceURI===Yt?"svg"===r&&("annotation-xml"===n||te[n]):Boolean(ce[r]):t.namespaceURI===Yt?e.namespaceURI===Vt?"math"===r:e.namespaceURI===Gt?"math"===r&&ee[n]:Boolean(ue[r]):t.namespaceURI===Vt?!(e.namespaceURI===Gt&&!ee[n])&&!(e.namespaceURI===Yt&&!te[n])&&!ue[r]&&(re[r]||!ce[r]):!("application/xhtml+xml"!==ne||!Qt[t.namespaceURI]))}(t)?(de(t),!0):"noscript"!==n&&"noembed"!==n&&"noframes"!==n||!_(/<\/no(script|embed|frames)/i,t.innerHTML)?(Mt&&3===t.nodeType&&(e=t.textContent,p([lt,ht,ct],(t=>{e=b(e,t," ")})),t.textContent!==e&&(g(r.removed,{element:t.cloneNode()}),t.textContent=e)),xe(st.afterSanitizeElements,t,null),!1):(de(t),!0)},ke=function(t,e,r){if(It&&("id"===e||"name"===e)&&(r in i||r in se))return!1;if(St&&!_t[e]&&_(ut,e));else if(vt&&_(dt,e));else if(!bt[e]||_t[e]){if(!(Ce(t)&&(Ct.tagNameCheck instanceof RegExp&&_(Ct.tagNameCheck,t)||Ct.tagNameCheck instanceof Function&&Ct.tagNameCheck(t))&&(Ct.attributeNameCheck instanceof RegExp&&_(Ct.attributeNameCheck,e)||Ct.attributeNameCheck instanceof Function&&Ct.attributeNameCheck(e))||"is"===e&&Ct.allowCustomizedBuiltInElements&&(Ct.tagNameCheck instanceof RegExp&&_(Ct.tagNameCheck,r)||Ct.tagNameCheck instanceof Function&&Ct.tagNameCheck(r))))return!1}else if(Ht[e]);else if(_(yt,b(r,ft,"")));else if("src"!==e&&"xlink:href"!==e&&"href"!==e||"script"===t||0!==k(r,"data:")||!jt[t])if(Tt&&!_(pt,b(r,ft,"")));else if(r)return!1;return!0},Ce=function(t){return"annotation-xml"!==t&&x(t,gt)},we=function(t){xe(st.beforeSanitizeAttributes,t,null);const{attributes:e}=t;if(!e||ye(t))return;const n={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:bt,forceKeepAttr:void 0};let i=e.length;for(;i--;){const a=e[i],{name:o,namespaceURI:s,value:l}=a,h=ae(o);let c="value"===o?l:C(l);if(n.attrName=h,n.attrValue=c,n.keepAttr=!0,n.forceKeepAttr=void 0,xe(st.uponSanitizeAttribute,t,n),c=n.attrValue,!Nt||"id"!==h&&"name"!==h||(pe(o,t),c="user-content-"+c),Bt&&_(/((--!?|])>)|<\/(style|title)/i,c)){pe(o,t);continue}if(n.forceKeepAttr)continue;if(pe(o,t),!n.keepAttr)continue;if(!At&&_(/\/>/i,c)){pe(o,t);continue}Mt&&p([lt,ht,ct],(t=>{c=b(c,t," ")}));const u=ae(t.nodeName);if(ke(u,h,c)){if(tt&&"object"==typeof j&&"function"==typeof j.getAttributeType)if(s);else switch(j.getAttributeType(u,h)){case"TrustedHTML":c=tt.createHTML(c);break;case"TrustedScriptURL":c=tt.createScriptURL(c)}try{s?t.setAttributeNS(s,o,c):t.setAttribute(o,c),ye(t)?de(t):f(r.removed)}catch(t){}}}xe(st.afterSanitizeAttributes,t,null)},_e=function t(e){let r=null;const n=ge(e);for(xe(st.beforeSanitizeShadowDOM,e,null);r=n.nextNode();)xe(st.uponSanitizeShadowNode,r,null),be(r),we(r),r.content instanceof s&&t(r.content);xe(st.afterSanitizeShadowDOM,e,null)};return r.sanitize=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=null,i=null,o=null,l=null;if(Xt=!t,Xt&&(t="\x3c!--\x3e"),"string"!=typeof t&&!me(t)){if("function"!=typeof t.toString)throw v("toString is not a function");if("string"!=typeof(t=t.toString()))throw v("dirty is not a string, aborting")}if(!r.isSupported)return t;if(Ft||he(e),r.removed=[],"string"==typeof t&&(Pt=!1),Pt){if(t.nodeName){const e=ae(t.nodeName);if(!mt[e]||wt[e])throw v("root node is forbidden and cannot be sanitized in-place")}}else if(t instanceof u)n=fe("\x3c!----\x3e"),i=n.ownerDocument.importNode(t,!0),1===i.nodeType&&"BODY"===i.nodeName||"HTML"===i.nodeName?n=i:n.appendChild(i);else{if(!Et&&!Mt&&!Lt&&-1===t.indexOf("<"))return tt&&Ot?tt.createHTML(t):t;if(n=fe(t),!n)return Et?null:Ot?et:""}n&&$t&&de(n.firstChild);const h=ge(Pt?t:n);for(;o=h.nextNode();)be(o),we(o),o.content instanceof s&&_e(o.content);if(Pt)return t;if(Et){if(Dt)for(l=it.call(n.ownerDocument);n.firstChild;)l.appendChild(n.firstChild);else l=n;return(bt.shadowroot||bt.shadowrootmode)&&(l=ot.call(a,l,!0)),l}let c=Lt?n.outerHTML:n.innerHTML;return Lt&&mt["!doctype"]&&n.ownerDocument&&n.ownerDocument.doctype&&n.ownerDocument.doctype.name&&_(Z,n.ownerDocument.doctype.name)&&(c="\n"+c),Mt&&p([lt,ht,ct],(t=>{c=b(c,t," ")})),tt&&Ot?tt.createHTML(c):c},r.setConfig=function(){he(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),Ft=!0},r.clearConfig=function(){oe=null,Ft=!1},r.isValidAttribute=function(t,e,r){oe||he({});const n=ae(t),i=ae(e);return ke(n,i,r)},r.addHook=function(t,e){"function"==typeof e&&g(st[t],e)},r.removeHook=function(t){return f(st[t])},r.removeHooks=function(t){st[t]=[]},r.removeAllHooks=function(){st={afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},r}()},7266:(t,e,r)=>{"use strict";r.d(e,{A:()=>o});var n=r(6309),i=r(3122);const a=class{constructor(){this.type=i.Z.ALL}get(){return this.type}set(t){if(this.type&&this.type!==t)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=t}reset(){this.type=i.Z.ALL}is(t){return this.type===t}},o=new class{constructor(t,e){this.color=e,this.changed=!1,this.data=t,this.type=new a}set(t,e){return this.color=e,this.changed=!1,this.data=t,this.type.type=i.Z.ALL,this}_ensureHSL(){const t=this.data,{h:e,s:r,l:i}=t;void 0===e&&(t.h=n.A.channel.rgb2hsl(t,"h")),void 0===r&&(t.s=n.A.channel.rgb2hsl(t,"s")),void 0===i&&(t.l=n.A.channel.rgb2hsl(t,"l"))}_ensureRGB(){const t=this.data,{r:e,g:r,b:i}=t;void 0===e&&(t.r=n.A.channel.hsl2rgb(t,"r")),void 0===r&&(t.g=n.A.channel.hsl2rgb(t,"g")),void 0===i&&(t.b=n.A.channel.hsl2rgb(t,"b"))}get r(){const t=this.data,e=t.r;return this.type.is(i.Z.HSL)||void 0===e?(this._ensureHSL(),n.A.channel.hsl2rgb(t,"r")):e}get g(){const t=this.data,e=t.g;return this.type.is(i.Z.HSL)||void 0===e?(this._ensureHSL(),n.A.channel.hsl2rgb(t,"g")):e}get b(){const t=this.data,e=t.b;return this.type.is(i.Z.HSL)||void 0===e?(this._ensureHSL(),n.A.channel.hsl2rgb(t,"b")):e}get h(){const t=this.data,e=t.h;return this.type.is(i.Z.RGB)||void 0===e?(this._ensureRGB(),n.A.channel.rgb2hsl(t,"h")):e}get s(){const t=this.data,e=t.s;return this.type.is(i.Z.RGB)||void 0===e?(this._ensureRGB(),n.A.channel.rgb2hsl(t,"s")):e}get l(){const t=this.data,e=t.l;return this.type.is(i.Z.RGB)||void 0===e?(this._ensureRGB(),n.A.channel.rgb2hsl(t,"l")):e}get a(){return this.data.a}set r(t){this.type.set(i.Z.RGB),this.changed=!0,this.data.r=t}set g(t){this.type.set(i.Z.RGB),this.changed=!0,this.data.g=t}set b(t){this.type.set(i.Z.RGB),this.changed=!0,this.data.b=t}set h(t){this.type.set(i.Z.HSL),this.changed=!0,this.data.h=t}set s(t){this.type.set(i.Z.HSL),this.changed=!0,this.data.s=t}set l(t){this.type.set(i.Z.HSL),this.changed=!0,this.data.l=t}set a(t){this.changed=!0,this.data.a=t}}({r:0,g:0,b:0,a:0},"transparent")},1931:(t,e,r)=>{"use strict";r.d(e,{A:()=>g});var n=r(7266),i=r(3122);const a={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:t=>{if(35!==t.charCodeAt(0))return;const e=t.match(a.re);if(!e)return;const r=e[1],i=parseInt(r,16),o=r.length,s=o%4==0,l=o>4,h=l?1:17,c=l?8:4,u=s?0:-1,d=l?255:15;return n.A.set({r:(i>>c*(u+3)&d)*h,g:(i>>c*(u+2)&d)*h,b:(i>>c*(u+1)&d)*h,a:s?(i&d)*h/255:1},t)},stringify:t=>{const{r:e,g:r,b:n,a}=t;return a<1?`#${i.Y[Math.round(e)]}${i.Y[Math.round(r)]}${i.Y[Math.round(n)]}${i.Y[Math.round(255*a)]}`:`#${i.Y[Math.round(e)]}${i.Y[Math.round(r)]}${i.Y[Math.round(n)]}`}},o=a;var s=r(6309);const l={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:t=>{const e=t.match(l.hueRe);if(e){const[,t,r]=e;switch(r){case"grad":return s.A.channel.clamp.h(.9*parseFloat(t));case"rad":return s.A.channel.clamp.h(180*parseFloat(t)/Math.PI);case"turn":return s.A.channel.clamp.h(360*parseFloat(t))}}return s.A.channel.clamp.h(parseFloat(t))},parse:t=>{const e=t.charCodeAt(0);if(104!==e&&72!==e)return;const r=t.match(l.re);if(!r)return;const[,i,a,o,h,c]=r;return n.A.set({h:l._hue2deg(i),s:s.A.channel.clamp.s(parseFloat(a)),l:s.A.channel.clamp.l(parseFloat(o)),a:h?s.A.channel.clamp.a(c?parseFloat(h)/100:parseFloat(h)):1},t)},stringify:t=>{const{h:e,s:r,l:n,a:i}=t;return i<1?`hsla(${s.A.lang.round(e)}, ${s.A.lang.round(r)}%, ${s.A.lang.round(n)}%, ${i})`:`hsl(${s.A.lang.round(e)}, ${s.A.lang.round(r)}%, ${s.A.lang.round(n)}%)`}},h=l,c={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:t=>{t=t.toLowerCase();const e=c.colors[t];if(e)return o.parse(e)},stringify:t=>{const e=o.stringify(t);for(const t in c.colors)if(c.colors[t]===e)return t}},u=c,d={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:t=>{const e=t.charCodeAt(0);if(114!==e&&82!==e)return;const r=t.match(d.re);if(!r)return;const[,i,a,o,l,h,c,u,p]=r;return n.A.set({r:s.A.channel.clamp.r(a?2.55*parseFloat(i):parseFloat(i)),g:s.A.channel.clamp.g(l?2.55*parseFloat(o):parseFloat(o)),b:s.A.channel.clamp.b(c?2.55*parseFloat(h):parseFloat(h)),a:u?s.A.channel.clamp.a(p?parseFloat(u)/100:parseFloat(u)):1},t)},stringify:t=>{const{r:e,g:r,b:n,a:i}=t;return i<1?`rgba(${s.A.lang.round(e)}, ${s.A.lang.round(r)}, ${s.A.lang.round(n)}, ${s.A.lang.round(i)})`:`rgb(${s.A.lang.round(e)}, ${s.A.lang.round(r)}, ${s.A.lang.round(n)})`}},p=d,f={format:{keyword:c,hex:o,rgb:d,rgba:d,hsl:l,hsla:l},parse:t=>{if("string"!=typeof t)return t;const e=o.parse(t)||p.parse(t)||h.parse(t)||u.parse(t);if(e)return e;throw new Error(`Unsupported color format: "${t}"`)},stringify:t=>!t.changed&&t.color?t.color:t.type.is(i.Z.HSL)||void 0===t.data.r?h.stringify(t):t.a<1||!Number.isInteger(t.r)||!Number.isInteger(t.g)||!Number.isInteger(t.b)?p.stringify(t):o.stringify(t)},g=f},3122:(t,e,r)=>{"use strict";r.d(e,{Y:()=>i,Z:()=>a});var n=r(6309);const i={};for(let t=0;t<=255;t++)i[t]=n.A.unit.dec2hex(t);const a={ALL:0,RGB:1,HSL:2}},5635:(t,e,r)=>{"use strict";r.d(e,{A:()=>a});var n=r(6309),i=r(1931);const a=(t,e,r)=>{const a=i.A.parse(t),o=a[e],s=n.A.channel.clamp[e](o+r);return o!==s&&(a[e]=s),i.A.stringify(a)}},8232:(t,e,r)=>{"use strict";r.d(e,{A:()=>a});var n=r(6309),i=r(1931);const a=(t,e)=>{const r=i.A.parse(t);for(const t in e)r[t]=n.A.channel.clamp[t](e[t]);return i.A.stringify(r)}},5263:(t,e,r)=>{"use strict";r.d(e,{A:()=>i});var n=r(5635);const i=(t,e)=>(0,n.A)(t,"l",-e)},5097:(t,e,r)=>{"use strict";r.d(e,{A:()=>o});var n=r(6309),i=r(1931);const a=t=>(t=>{const{r:e,g:r,b:a}=i.A.parse(t),o=.2126*n.A.channel.toLinear(e)+.7152*n.A.channel.toLinear(r)+.0722*n.A.channel.toLinear(a);return n.A.lang.round(o)})(t)>=.5,o=t=>!a(t)},8041:(t,e,r)=>{"use strict";r.d(e,{A:()=>i});var n=r(5635);const i=(t,e)=>(0,n.A)(t,"l",e)},5582:(t,e,r)=>{"use strict";r.d(e,{A:()=>s});var n=r(6309),i=r(7266),a=r(1931),o=r(8232);const s=(t,e,r=0,s=1)=>{if("number"!=typeof t)return(0,o.A)(t,{a:e});const l=i.A.set({r:n.A.channel.clamp.r(t),g:n.A.channel.clamp.g(e),b:n.A.channel.clamp.b(r),a:n.A.channel.clamp.a(s)});return a.A.stringify(l)}},6309:(t,e,r)=>{"use strict";r.d(e,{A:()=>i});const n={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:t=>t>=255?255:t<0?0:t,g:t=>t>=255?255:t<0?0:t,b:t=>t>=255?255:t<0?0:t,h:t=>t%360,s:t=>t>=100?100:t<0?0:t,l:t=>t>=100?100:t<0?0:t,a:t=>t>=1?1:t<0?0:t},toLinear:t=>{const e=t/255;return t>.03928?Math.pow((e+.055)/1.055,2.4):e/12.92},hue2rgb:(t,e,r)=>(r<0&&(r+=1),r>1&&(r-=1),r<1/6?t+6*(e-t)*r:r<.5?e:r<2/3?t+(e-t)*(2/3-r)*6:t),hsl2rgb:({h:t,s:e,l:r},i)=>{if(!e)return 2.55*r;t/=360,e/=100;const a=(r/=100)<.5?r*(1+e):r+e-r*e,o=2*r-a;switch(i){case"r":return 255*n.hue2rgb(o,a,t+1/3);case"g":return 255*n.hue2rgb(o,a,t);case"b":return 255*n.hue2rgb(o,a,t-1/3)}},rgb2hsl:({r:t,g:e,b:r},n)=>{t/=255,e/=255,r/=255;const i=Math.max(t,e,r),a=Math.min(t,e,r),o=(i+a)/2;if("l"===n)return 100*o;if(i===a)return 0;const s=i-a;if("s"===n)return 100*(o>.5?s/(2-i-a):s/(i+a));switch(i){case t:return 60*((e-r)/s+(ee>r?Math.min(e,Math.max(r,t)):Math.min(r,Math.max(e,t)),round:t=>Math.round(1e10*t)/1e10},unit:{dec2hex:t=>{const e=Math.round(t).toString(16);return e.length>1?e:`0${e}`}}}},9469:(t,e,r)=>{"use strict";r.d(e,{A:()=>s});var n=r(6984);const i=function(t,e){for(var r=t.length;r--;)if((0,n.A)(t[r][0],e))return r;return-1};var a=Array.prototype.splice;function o(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e-1},o.prototype.set=function(t,e){var r=this.__data__,n=i(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};const s=o},8335:(t,e,r)=>{"use strict";r.d(e,{A:()=>a});var n=r(8562),i=r(1917);const a=(0,n.A)(i.A,"Map")},2050:(t,e,r)=>{"use strict";r.d(e,{A:()=>d});const n=(0,r(8562).A)(Object,"create");var i=Object.prototype.hasOwnProperty;var a=Object.prototype.hasOwnProperty;function o(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e{"use strict";r.d(e,{A:()=>a});var n=r(8562),i=r(1917);const a=(0,n.A)(i.A,"Set")},2080:(t,e,r)=>{"use strict";r.d(e,{A:()=>s});var n=r(9469);var i=r(8335),a=r(2050);function o(t){var e=this.__data__=new n.A(t);this.size=e.size}o.prototype.clear=function(){this.__data__=new n.A,this.size=0},o.prototype.delete=function(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r},o.prototype.get=function(t){return this.__data__.get(t)},o.prototype.has=function(t){return this.__data__.has(t)},o.prototype.set=function(t,e){var r=this.__data__;if(r instanceof n.A){var o=r.__data__;if(!i.A||o.length<199)return o.push([t,e]),this.size=++r.size,this;r=this.__data__=new a.A(o)}return r.set(t,e),this.size=r.size,this};const s=o},241:(t,e,r)=>{"use strict";r.d(e,{A:()=>n});const n=r(1917).A.Symbol},3988:(t,e,r)=>{"use strict";r.d(e,{A:()=>n});const n=r(1917).A.Uint8Array},2505:(t,e,r)=>{"use strict";r.d(e,{A:()=>h});var n=r(5175),i=r(2049),a=r(1200),o=r(5353),s=r(4749),l=Object.prototype.hasOwnProperty;const h=function(t,e){var r=(0,i.A)(t),h=!r&&(0,n.A)(t),c=!r&&!h&&(0,a.A)(t),u=!r&&!h&&!c&&(0,s.A)(t),d=r||h||c||u,p=d?function(t,e){for(var r=-1,n=Array(t);++r{"use strict";r.d(e,{A:()=>o});var n=r(2528),i=r(6984),a=Object.prototype.hasOwnProperty;const o=function(t,e,r){var o=t[e];a.call(t,e)&&(0,i.A)(o,r)&&(void 0!==r||e in t)||(0,n.A)(t,e,r)}},2528:(t,e,r)=>{"use strict";r.d(e,{A:()=>i});var n=r(4171);const i=function(t,e,r){"__proto__"==e&&n.A?(0,n.A)(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}},7132:(t,e,r)=>{"use strict";r.d(e,{A:()=>n});const n=function(t,e,r){for(var n=-1,i=Object(t),a=r(t),o=a.length;o--;){var s=a[++n];if(!1===e(i[s],s,i))break}return t}},2383:(t,e,r)=>{"use strict";r.d(e,{A:()=>c});var n=r(241),i=Object.prototype,a=i.hasOwnProperty,o=i.toString,s=n.A?n.A.toStringTag:void 0;var l=Object.prototype.toString;var h=n.A?n.A.toStringTag:void 0;const c=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":h&&h in Object(t)?function(t){var e=a.call(t,s),r=t[s];try{t[s]=void 0;var n=!0}catch(t){}var i=o.call(t);return n&&(e?t[s]=r:delete t[s]),i}(t):function(t){return l.call(t)}(t)}},4453:(t,e,r)=>{"use strict";r.d(e,{A:()=>o});var n=r(7271);const i=(0,r(367).A)(Object.keys,Object);var a=Object.prototype.hasOwnProperty;const o=function(t){if(!(0,n.A)(t))return i(t);var e=[];for(var r in Object(t))a.call(t,r)&&"constructor"!=r&&e.push(r);return e}},4326:(t,e,r)=>{"use strict";r.d(e,{A:()=>o});var n=r(9008),i=r(5255),a=r(7424);const o=function(t,e){return(0,a.A)((0,i.A)(t,e,n.A),t+"")}},2789:(t,e,r)=>{"use strict";r.d(e,{A:()=>n});const n=function(t){return function(e){return t(e)}}},565:(t,e,r)=>{"use strict";r.d(e,{A:()=>i});var n=r(3988);const i=function(t){var e=new t.constructor(t.byteLength);return new n.A(e).set(new n.A(t)),e}},154:(t,e,r)=>{"use strict";r.d(e,{A:()=>l});var n=r(1917),i="object"==typeof exports&&exports&&!exports.nodeType&&exports,a=i&&"object"==typeof module&&module&&!module.nodeType&&module,o=a&&a.exports===i?n.A.Buffer:void 0,s=o?o.allocUnsafe:void 0;const l=function(t,e){if(e)return t.slice();var r=t.length,n=s?s(r):new t.constructor(r);return t.copy(n),n}},1801:(t,e,r)=>{"use strict";r.d(e,{A:()=>i});var n=r(565);const i=function(t,e){var r=e?(0,n.A)(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}},9759:(t,e,r)=>{"use strict";r.d(e,{A:()=>n});const n=function(t,e){var r=-1,n=t.length;for(e||(e=Array(n));++r{"use strict";r.d(e,{A:()=>a});var n=r(2851),i=r(2528);const a=function(t,e,r,a){var o=!r;r||(r={});for(var s=-1,l=e.length;++s{"use strict";r.d(e,{A:()=>a});var n=r(4326),i=r(6832);const a=function(t){return(0,n.A)((function(e,r){var n=-1,a=r.length,o=a>1?r[a-1]:void 0,s=a>2?r[2]:void 0;for(o=t.length>3&&"function"==typeof o?(a--,o):void 0,s&&(0,i.A)(r[0],r[1],s)&&(o=a<3?void 0:o,a=1),e=Object(e);++n{"use strict";r.d(e,{A:()=>i});var n=r(8562);const i=function(){try{var t=(0,n.A)(Object,"defineProperty");return t({},"",{}),t}catch(t){}}()},2136:(t,e,r)=>{"use strict";r.d(e,{A:()=>n});const n="object"==typeof global&&global&&global.Object===Object&&global},8562:(t,e,r)=>{"use strict";r.d(e,{A:()=>y});var n=r(9610);const i=r(1917).A["__core-js_shared__"];var a,o=(a=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||""))?"Symbol(src)_1."+a:"";var s=r(3149),l=r(1121),h=/^\[object .+?Constructor\]$/,c=Function.prototype,u=Object.prototype,d=c.toString,p=u.hasOwnProperty,f=RegExp("^"+d.call(p).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");const g=function(t){return!(!(0,s.A)(t)||(e=t,o&&o in e))&&((0,n.A)(t)?f:h).test((0,l.A)(t));var e},y=function(t,e){var r=function(t,e){return null==t?void 0:t[e]}(t,e);return g(r)?r:void 0}},5647:(t,e,r)=>{"use strict";r.d(e,{A:()=>n});const n=(0,r(367).A)(Object.getPrototypeOf,Object)},9137:(t,e,r)=>{"use strict";r.d(e,{A:()=>_});var n=r(8562),i=r(1917);const a=(0,n.A)(i.A,"DataView");var o=r(8335);const s=(0,n.A)(i.A,"Promise");var l=r(9857);const h=(0,n.A)(i.A,"WeakMap");var c=r(2383),u=r(1121),d="[object Map]",p="[object Promise]",f="[object Set]",g="[object WeakMap]",y="[object DataView]",m=(0,u.A)(a),x=(0,u.A)(o.A),b=(0,u.A)(s),k=(0,u.A)(l.A),C=(0,u.A)(h),w=c.A;(a&&w(new a(new ArrayBuffer(1)))!=y||o.A&&w(new o.A)!=d||s&&w(s.resolve())!=p||l.A&&w(new l.A)!=f||h&&w(new h)!=g)&&(w=function(t){var e=(0,c.A)(t),r="[object Object]"==e?t.constructor:void 0,n=r?(0,u.A)(r):"";if(n)switch(n){case m:return y;case x:return d;case b:return p;case k:return f;case C:return g}return e});const _=w},407:(t,e,r)=>{"use strict";r.d(e,{A:()=>l});var n=r(3149),i=Object.create;const a=function(){function t(){}return function(e){if(!(0,n.A)(e))return{};if(i)return i(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}();var o=r(5647),s=r(7271);const l=function(t){return"function"!=typeof t.constructor||(0,s.A)(t)?{}:a((0,o.A)(t))}},5353:(t,e,r)=>{"use strict";r.d(e,{A:()=>i});var n=/^(?:0|[1-9]\d*)$/;const i=function(t,e){var r=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==r||"symbol"!=r&&n.test(t))&&t>-1&&t%1==0&&t{"use strict";r.d(e,{A:()=>s});var n=r(6984),i=r(8446),a=r(5353),o=r(3149);const s=function(t,e,r){if(!(0,o.A)(r))return!1;var s=typeof e;return!!("number"==s?(0,i.A)(r)&&(0,a.A)(e,r.length):"string"==s&&e in r)&&(0,n.A)(r[e],t)}},7271:(t,e,r)=>{"use strict";r.d(e,{A:()=>i});var n=Object.prototype;const i=function(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||n)}},4841:(t,e,r)=>{"use strict";r.d(e,{A:()=>s});var n=r(2136),i="object"==typeof exports&&exports&&!exports.nodeType&&exports,a=i&&"object"==typeof module&&module&&!module.nodeType&&module,o=a&&a.exports===i&&n.A.process;const s=function(){try{return a&&a.require&&a.require("util").types||o&&o.binding&&o.binding("util")}catch(t){}}()},367:(t,e,r)=>{"use strict";r.d(e,{A:()=>n});const n=function(t,e){return function(r){return t(e(r))}}},5255:(t,e,r)=>{"use strict";r.d(e,{A:()=>i});var n=Math.max;const i=function(t,e,r){return e=n(void 0===e?t.length-1:e,0),function(){for(var i=arguments,a=-1,o=n(i.length-e,0),s=Array(o);++a{"use strict";r.d(e,{A:()=>a});var n=r(2136),i="object"==typeof self&&self&&self.Object===Object&&self;const a=n.A||i||Function("return this")()},7424:(t,e,r)=>{"use strict";r.d(e,{A:()=>l});var n=r(9142),i=r(4171),a=r(9008);const o=i.A?function(t,e){return(0,i.A)(t,"toString",{configurable:!0,enumerable:!1,value:(0,n.A)(e),writable:!0})}:a.A;var s=Date.now;const l=(h=o,c=0,u=0,function(){var t=s(),e=16-(t-u);if(u=t,e>0){if(++c>=800)return arguments[0]}else c=0;return h.apply(void 0,arguments)});var h,c,u},1121:(t,e,r)=>{"use strict";r.d(e,{A:()=>i});var n=Function.prototype.toString;const i=function(t){if(null!=t){try{return n.call(t)}catch(t){}try{return t+""}catch(t){}}return""}},9142:(t,e,r)=>{"use strict";r.d(e,{A:()=>n});const n=function(t){return function(){return t}}},6984:(t,e,r)=>{"use strict";r.d(e,{A:()=>n});const n=function(t,e){return t===e||t!=t&&e!=e}},9008:(t,e,r)=>{"use strict";r.d(e,{A:()=>n});const n=function(t){return t}},5175:(t,e,r)=>{"use strict";r.d(e,{A:()=>h});var n=r(2383),i=r(3098);const a=function(t){return(0,i.A)(t)&&"[object Arguments]"==(0,n.A)(t)};var o=Object.prototype,s=o.hasOwnProperty,l=o.propertyIsEnumerable;const h=a(function(){return arguments}())?a:function(t){return(0,i.A)(t)&&s.call(t,"callee")&&!l.call(t,"callee")}},2049:(t,e,r)=>{"use strict";r.d(e,{A:()=>n});const n=Array.isArray},8446:(t,e,r)=>{"use strict";r.d(e,{A:()=>a});var n=r(9610),i=r(5254);const a=function(t){return null!=t&&(0,i.A)(t.length)&&!(0,n.A)(t)}},3533:(t,e,r)=>{"use strict";r.d(e,{A:()=>a});var n=r(8446),i=r(3098);const a=function(t){return(0,i.A)(t)&&(0,n.A)(t)}},1200:(t,e,r)=>{"use strict";r.d(e,{A:()=>s});var n=r(1917);var i="object"==typeof exports&&exports&&!exports.nodeType&&exports,a=i&&"object"==typeof module&&module&&!module.nodeType&&module,o=a&&a.exports===i?n.A.Buffer:void 0;const s=(o?o.isBuffer:void 0)||function(){return!1}},6401:(t,e,r)=>{"use strict";r.d(e,{A:()=>d});var n=r(4453),i=r(9137),a=r(5175),o=r(2049),s=r(8446),l=r(1200),h=r(7271),c=r(4749),u=Object.prototype.hasOwnProperty;const d=function(t){if(null==t)return!0;if((0,s.A)(t)&&((0,o.A)(t)||"string"==typeof t||"function"==typeof t.splice||(0,l.A)(t)||(0,c.A)(t)||(0,a.A)(t)))return!t.length;var e=(0,i.A)(t);if("[object Map]"==e||"[object Set]"==e)return!t.size;if((0,h.A)(t))return!(0,n.A)(t).length;for(var r in t)if(u.call(t,r))return!1;return!0}},9610:(t,e,r)=>{"use strict";r.d(e,{A:()=>a});var n=r(2383),i=r(3149);const a=function(t){if(!(0,i.A)(t))return!1;var e=(0,n.A)(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}},5254:(t,e,r)=>{"use strict";r.d(e,{A:()=>n});const n=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}},3149:(t,e,r)=>{"use strict";r.d(e,{A:()=>n});const n=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},3098:(t,e,r)=>{"use strict";r.d(e,{A:()=>n});const n=function(t){return null!=t&&"object"==typeof t}},4749:(t,e,r)=>{"use strict";r.d(e,{A:()=>c});var n=r(2383),i=r(5254),a=r(3098),o={};o["[object Float32Array]"]=o["[object Float64Array]"]=o["[object Int8Array]"]=o["[object Int16Array]"]=o["[object Int32Array]"]=o["[object Uint8Array]"]=o["[object Uint8ClampedArray]"]=o["[object Uint16Array]"]=o["[object Uint32Array]"]=!0,o["[object Arguments]"]=o["[object Array]"]=o["[object ArrayBuffer]"]=o["[object Boolean]"]=o["[object DataView]"]=o["[object Date]"]=o["[object Error]"]=o["[object Function]"]=o["[object Map]"]=o["[object Number]"]=o["[object Object]"]=o["[object RegExp]"]=o["[object Set]"]=o["[object String]"]=o["[object WeakMap]"]=!1;var s=r(2789),l=r(4841),h=l.A&&l.A.isTypedArray;const c=h?(0,s.A)(h):function(t){return(0,a.A)(t)&&(0,i.A)(t.length)&&!!o[(0,n.A)(t)]}},9999:(t,e,r)=>{"use strict";r.d(e,{A:()=>h});var n=r(2505),i=r(3149),a=r(7271);var o=Object.prototype.hasOwnProperty;const s=function(t){if(!(0,i.A)(t))return function(t){var e=[];if(null!=t)for(var r in Object(t))e.push(r);return e}(t);var e=(0,a.A)(t),r=[];for(var n in t)("constructor"!=n||!e&&o.call(t,n))&&r.push(n);return r};var l=r(8446);const h=function(t){return(0,l.A)(t)?(0,n.A)(t,!0):s(t)}},6632:(t,e,r)=>{"use strict";r.d(e,{A:()=>a});var n=r(2050);function i(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError("Expected a function");var r=function(){var n=arguments,i=e?e.apply(this,n):n[0],a=r.cache;if(a.has(i))return a.get(i);var o=t.apply(this,n);return r.cache=a.set(i,o)||a,o};return r.cache=new(i.Cache||n.A),r}i.Cache=n.A;const a=i},7222:(t,e,r)=>{"use strict";r.d(e,{A:()=>$});var n=r(2080),i=r(2528),a=r(6984);const o=function(t,e,r){(void 0!==r&&!(0,a.A)(t[e],r)||void 0===r&&!(e in t))&&(0,i.A)(t,e,r)};var s=r(7132),l=r(154),h=r(1801),c=r(9759),u=r(407),d=r(5175),p=r(2049),f=r(3533),g=r(1200),y=r(9610),m=r(3149),x=r(2383),b=r(5647),k=r(3098),C=Function.prototype,w=Object.prototype,_=C.toString,v=w.hasOwnProperty,S=_.call(Object);var T=r(4749);const A=function(t,e){if(("constructor"!==e||"function"!=typeof t[e])&&"__proto__"!=e)return t[e]};var M=r(2031),B=r(9999);const L=function(t,e,r,n,i,a,s){var C,w=A(t,r),L=A(e,r),F=s.get(L);if(F)o(t,r,F);else{var $=a?a(w,L,r+"",t,e,s):void 0,E=void 0===$;if(E){var D=(0,p.A)(L),O=!D&&(0,g.A)(L),I=!D&&!O&&(0,T.A)(L);$=L,D||O||I?(0,p.A)(w)?$=w:(0,f.A)(w)?$=(0,c.A)(w):O?(E=!1,$=(0,l.A)(L,!0)):I?(E=!1,$=(0,h.A)(L,!0)):$=[]:function(t){if(!(0,k.A)(t)||"[object Object]"!=(0,x.A)(t))return!1;var e=(0,b.A)(t);if(null===e)return!0;var r=v.call(e,"constructor")&&e.constructor;return"function"==typeof r&&r instanceof r&&_.call(r)==S}(L)||(0,d.A)(L)?($=w,(0,d.A)(w)?(C=w,$=(0,M.A)(C,(0,B.A)(C))):(0,m.A)(w)&&!(0,y.A)(w)||($=(0,u.A)(L))):E=!1}E&&(s.set(L,$),i($,L,n,a,s),s.delete(L)),o(t,r,$)}},F=function t(e,r,i,a,l){e!==r&&(0,s.A)(r,(function(s,h){if(l||(l=new n.A),(0,m.A)(s))L(e,r,h,i,t,a,l);else{var c=a?a(A(e,h),s,h+"",e,r,l):void 0;void 0===c&&(c=s),o(e,h,c)}}),B.A)},$=(0,r(3767).A)((function(t,e,r){F(t,e,r)}))},7588:(t,e,r)=>{"use strict";r.d(e,{R:()=>s});var n=r(9502),i={aggregation:18,extension:18,composition:18,dependency:6,lollipop:13.5,arrow_point:4};function a(t,e){if(void 0===t||void 0===e)return{angle:0,deltaX:0,deltaY:0};t=o(t),e=o(e);const[r,n]=[t.x,t.y],[i,a]=[e.x,e.y],s=i-r,l=a-n;return{angle:Math.atan(l/s),deltaX:s,deltaY:l}}(0,n.K2)(a,"calculateDeltaAndAngle");var o=(0,n.K2)((t=>Array.isArray(t)?{x:t[0],y:t[1]}:t),"pointTransformer"),s=(0,n.K2)((t=>({x:(0,n.K2)((function(e,r,n){let s=0;const l=o(n[0]).x=0?1:-1)}else if(r===n.length-1&&Object.hasOwn(i,t.arrowTypeEnd)){const{angle:e,deltaX:r}=a(n[n.length-1],n[n.length-2]);s=i[t.arrowTypeEnd]*Math.cos(e)*(r>=0?1:-1)}const h=Math.abs(o(e).x-o(n[n.length-1]).x),c=Math.abs(o(e).y-o(n[n.length-1]).y),u=Math.abs(o(e).x-o(n[0]).x),d=Math.abs(o(e).y-o(n[0]).y),p=i[t.arrowTypeStart],f=i[t.arrowTypeEnd];if(h0&&c0&&d=0?1:-1)}else if(r===n.length-1&&Object.hasOwn(i,t.arrowTypeEnd)){const{angle:e,deltaY:r}=a(n[n.length-1],n[n.length-2]);s=i[t.arrowTypeEnd]*Math.abs(Math.sin(e))*(r>=0?1:-1)}const h=Math.abs(o(e).y-o(n[n.length-1]).y),c=Math.abs(o(e).x-o(n[n.length-1]).x),u=Math.abs(o(e).y-o(n[0]).y),d=Math.abs(o(e).x-o(n[0]).x),p=i[t.arrowTypeStart],f=i[t.arrowTypeEnd];if(h0&&c0&&d{"use strict";r.d(e,{O:()=>n});var n=(0,r(9502).K2)((({flowchart:t})=>{const e=t?.subGraphTitleMargin?.top??0,r=t?.subGraphTitleMargin?.bottom??0;return{subGraphTitleTopMargin:e,subGraphTitleBottomMargin:r,subGraphTitleTotalMargin:e+r}}),"getSubGraphTitleMargins")},7938:(t,e,r)=>{"use strict";r.d(e,{IU:()=>y,Jo:()=>A,T_:()=>k,g0:()=>L,jP:()=>x});var n=r(1282),i=r(7588),a=r(3115),o=r(6058),s=r(8159),l=r(9502),h=r(4852),c=r(2274),u=(0,l.K2)(((t,e,r,n,i)=>{e.arrowTypeStart&&p(t,"start",e.arrowTypeStart,r,n,i),e.arrowTypeEnd&&p(t,"end",e.arrowTypeEnd,r,n,i)}),"addEdgeMarkers"),d={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},p=(0,l.K2)(((t,e,r,n,i,a)=>{const o=d[r];if(!o)return void l.Rm.warn(`Unknown arrow type: ${r}`);const s="start"===e?"Start":"End";t.attr(`marker-${e}`,`url(${n}#${i}_${a}-${o}${s})`)}),"addEdgeMarker"),f=new Map,g=new Map,y=(0,l.K2)((()=>{f.clear(),g.clear()}),"clear"),m=(0,l.K2)((t=>t?t.reduce(((t,e)=>t+";"+e),""):""),"getLabelStyles"),x=(0,l.K2)((async(t,e)=>{let r=(0,l._3)((0,l.D7)().flowchart.htmlLabels);const i=await(0,o.GZ)(t,e.label,{style:m(e.labelStyle),useHtmlLabels:r,addSvgBackground:!0,isNode:!1});l.Rm.info("abc82",e,e.labelType);const a=t.insert("g").attr("class","edgeLabel"),s=a.insert("g").attr("class","label");s.node().appendChild(i);let c,u=i.getBBox();if(r){const t=i.children[0],e=(0,h.Ltv)(i);u=t.getBoundingClientRect(),e.attr("width",u.width),e.attr("height",u.height)}if(s.attr("transform","translate("+-u.width/2+", "+-u.height/2+")"),f.set(e.id,a),e.width=u.width,e.height=u.height,e.startLabelLeft){const r=await(0,n.DA)(e.startLabelLeft,m(e.labelStyle)),i=t.insert("g").attr("class","edgeTerminals"),a=i.insert("g").attr("class","inner");c=a.node().appendChild(r);const o=r.getBBox();a.attr("transform","translate("+-o.width/2+", "+-o.height/2+")"),g.get(e.id)||g.set(e.id,{}),g.get(e.id).startLeft=i,b(c,e.startLabelLeft)}if(e.startLabelRight){const r=await(0,n.DA)(e.startLabelRight,m(e.labelStyle)),i=t.insert("g").attr("class","edgeTerminals"),a=i.insert("g").attr("class","inner");c=i.node().appendChild(r),a.node().appendChild(r);const o=r.getBBox();a.attr("transform","translate("+-o.width/2+", "+-o.height/2+")"),g.get(e.id)||g.set(e.id,{}),g.get(e.id).startRight=i,b(c,e.startLabelRight)}if(e.endLabelLeft){const r=await(0,n.DA)(e.endLabelLeft,m(e.labelStyle)),i=t.insert("g").attr("class","edgeTerminals"),a=i.insert("g").attr("class","inner");c=a.node().appendChild(r);const o=r.getBBox();a.attr("transform","translate("+-o.width/2+", "+-o.height/2+")"),i.node().appendChild(r),g.get(e.id)||g.set(e.id,{}),g.get(e.id).endLeft=i,b(c,e.endLabelLeft)}if(e.endLabelRight){const r=await(0,n.DA)(e.endLabelRight,m(e.labelStyle)),i=t.insert("g").attr("class","edgeTerminals"),a=i.insert("g").attr("class","inner");c=a.node().appendChild(r);const o=r.getBBox();a.attr("transform","translate("+-o.width/2+", "+-o.height/2+")"),i.node().appendChild(r),g.get(e.id)||g.set(e.id,{}),g.get(e.id).endRight=i,b(c,e.endLabelRight)}return i}),"insertEdgeLabel");function b(t,e){(0,l.D7)().flowchart.htmlLabels&&t&&(t.style.width=9*e.length+"px",t.style.height="12px")}(0,l.K2)(b,"setTerminalWidth");var k=(0,l.K2)(((t,e)=>{l.Rm.debug("Moving label abc88 ",t.id,t.label,f.get(t.id),e);let r=e.updatedPath?e.updatedPath:e.originalPath;const n=(0,l.D7)(),{subGraphTitleTotalMargin:i}=(0,a.O)(n);if(t.label){const n=f.get(t.id);let a=t.x,o=t.y;if(r){const n=s._K.calcLabelPosition(r);l.Rm.debug("Moving label "+t.label+" from (",a,",",o,") to (",n.x,",",n.y,") abc88"),e.updatedPath&&(a=n.x,o=n.y)}n.attr("transform",`translate(${a}, ${o+i/2})`)}if(t.startLabelLeft){const e=g.get(t.id).startLeft;let n=t.x,i=t.y;if(r){const e=s._K.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);n=e.x,i=e.y}e.attr("transform",`translate(${n}, ${i})`)}if(t.startLabelRight){const e=g.get(t.id).startRight;let n=t.x,i=t.y;if(r){const e=s._K.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);n=e.x,i=e.y}e.attr("transform",`translate(${n}, ${i})`)}if(t.endLabelLeft){const e=g.get(t.id).endLeft;let n=t.x,i=t.y;if(r){const e=s._K.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);n=e.x,i=e.y}e.attr("transform",`translate(${n}, ${i})`)}if(t.endLabelRight){const e=g.get(t.id).endRight;let n=t.x,i=t.y;if(r){const e=s._K.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);n=e.x,i=e.y}e.attr("transform",`translate(${n}, ${i})`)}}),"positionEdgeLabel"),C=(0,l.K2)(((t,e)=>{const r=t.x,n=t.y,i=Math.abs(e.x-r),a=Math.abs(e.y-n),o=t.width/2,s=t.height/2;return i>=o||a>=s}),"outsideNode"),w=(0,l.K2)(((t,e,r)=>{l.Rm.debug(`intersection calc abc89:\n outsidePoint: ${JSON.stringify(e)}\n insidePoint : ${JSON.stringify(r)}\n node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);const n=t.x,i=t.y,a=Math.abs(n-r.x),o=t.width/2;let s=r.xMath.abs(n-e.x)*h){let t=r.y{l.Rm.warn("abc88 cutPathAtIntersect",t,e);let r=[],n=t[0],i=!1;return t.forEach((t=>{if(l.Rm.info("abc88 checking point",t,e),C(e,t)||i)l.Rm.warn("abc88 outside",t,n),n=t,i||r.push(t);else{const a=w(e,n,t);l.Rm.debug("abc88 inside",t,n,a),l.Rm.debug("abc88 intersection",a,e);let o=!1;r.forEach((t=>{o=o||t.x===a.x&&t.y===a.y})),r.some((t=>t.x===a.x&&t.y===a.y))?l.Rm.warn("abc88 no intersect",a,r):r.push(a),i=!0}})),l.Rm.debug("returning points",r),r}),"cutPathAtIntersect");function v(t){const e=[],r=[];for(let n=1;n5&&Math.abs(a.y-i.y)>5||i.y===a.y&&a.x===o.x&&Math.abs(a.x-i.x)>5&&Math.abs(a.y-o.y)>5)&&(e.push(a),r.push(n))}return{cornerPoints:e,cornerPointPositions:r}}(0,l.K2)(v,"extractCornerPoints");var S=(0,l.K2)((function(t,e,r){const n=e.x-t.x,i=e.y-t.y,a=r/Math.sqrt(n*n+i*i);return{x:e.x-a*n,y:e.y-a*i}}),"findAdjacentPoint"),T=(0,l.K2)((function(t){const{cornerPointPositions:e}=v(t),r=[];for(let n=0;n10&&Math.abs(i.y-e.y)>=10){l.Rm.debug("Corner point fixing",Math.abs(i.x-e.x),Math.abs(i.y-e.y));const t=5;d=a.x===o.x?{x:h<0?o.x-t+u:o.x+t-u,y:c<0?o.y-u:o.y+u}:{x:h<0?o.x-u:o.x+u,y:c<0?o.y-t+u:o.y+t-u}}else l.Rm.debug("Corner point skipping fixing",Math.abs(i.x-e.x),Math.abs(i.y-e.y));r.push(d,s)}else r.push(t[n]);return r}),"fixCorners"),A=(0,l.K2)((function(t,e,r,n,a,o,s){const{handDrawnSeed:d}=(0,l.D7)();let p=e.points,f=!1;const g=a;var y=o;y.intersect&&g.intersect&&(p=p.slice(1,e.points.length-1),p.unshift(g.intersect(p[0])),l.Rm.debug("Last point APA12",e.start,"--\x3e",e.end,p[p.length-1],y,y.intersect(p[p.length-1])),p.push(y.intersect(p[p.length-1]))),e.toCluster&&(l.Rm.info("to cluster abc88",r.get(e.toCluster)),p=_(e.points,r.get(e.toCluster).node),f=!0),e.fromCluster&&(l.Rm.debug("from cluster abc88",r.get(e.fromCluster),JSON.stringify(p,null,2)),p=_(p.reverse(),r.get(e.fromCluster).node).reverse(),f=!0);let m=p.filter((t=>!Number.isNaN(t.y)));m=T(m);let x=h.qrM;e.curve&&(x=e.curve);const{x:b,y:k}=(0,i.R)(e),C=(0,h.n8j)().x(b).y(k).curve(x);let w,v;switch(e.thickness){case"normal":default:w="edge-thickness-normal";break;case"thick":w="edge-thickness-thick";break;case"invisible":w="edge-thickness-invisible"}switch(e.pattern){case"solid":default:w+=" edge-pattern-solid";break;case"dotted":w+=" edge-pattern-dotted";break;case"dashed":w+=" edge-pattern-dashed"}let S=C(m);const A=Array.isArray(e.style)?e.style:[e.style];if("handDrawn"===e.look){const r=c.A.svg(t);Object.assign([],m);const n=r.path(S,{roughness:.3,seed:d});w+=" transition",v=(0,h.Ltv)(n).select("path").attr("id",e.id).attr("class"," "+w+(e.classes?" "+e.classes:"")).attr("style",A?A.reduce(((t,e)=>t+";"+e),""):"");let i=v.attr("d");v.attr("d",i),t.node().appendChild(v.node())}else v=t.append("path").attr("d",S).attr("id",e.id).attr("class"," "+w+(e.classes?" "+e.classes:"")).attr("style",A?A.reduce(((t,e)=>t+";"+e),""):"");let M="";((0,l.D7)().flowchart.arrowMarkerAbsolute||(0,l.D7)().state.arrowMarkerAbsolute)&&(M=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,M=M.replace(/\(/g,"\\(").replace(/\)/g,"\\)")),l.Rm.info("arrowTypeStart",e.arrowTypeStart),l.Rm.info("arrowTypeEnd",e.arrowTypeEnd),u(v,e,M,s,n);let B={};return f&&(B.updatedPath=p),B.originalPath=e.points,B}),"insertEdge"),M=(0,l.K2)(((t,e,r,n)=>{e.forEach((e=>{B[e](t,r,n)}))}),"insertMarkers"),B={extension:(0,l.K2)(((t,e,r)=>{l.Rm.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")}),"extension"),composition:(0,l.K2)(((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")}),"composition"),aggregation:(0,l.K2)(((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")}),"aggregation"),dependency:(0,l.K2)(((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")}),"dependency"),lollipop:(0,l.K2)(((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)}),"lollipop"),point:(0,l.K2)(((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")}),"point"),circle:(0,l.K2)(((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")}),"circle"),cross:(0,l.K2)(((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")}),"cross"),barb:(0,l.K2)(((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")}),"barb")},L=M},9502:(t,e,r)=>{"use strict";r.d(e,{C0:()=>v,VA:()=>y,K2:()=>g,xA:()=>ct,hH:()=>F,Dl:()=>Pt,IU:()=>ee,Wt:()=>Zt,Y2:()=>zt,a$:()=>Wt,sb:()=>Q,ME:()=>de,UI:()=>V,Ch:()=>T,mW:()=>S,DB:()=>w,_3:()=>Bt,EJ:()=>C,m7:()=>ae,iN:()=>ne,zj:()=>lt,D7:()=>ce,Gs:()=>xe,J$:()=>B,ab:()=>se,Q2:()=>ot,P$:()=>K,Wi:()=>Rt,H1:()=>yt,Rm:()=>x,QO:()=>$t,Js:()=>me,Xd:()=>A,VJ:()=>Kt,cL:()=>ut,$i:()=>Z,jZ:()=>wt,oB:()=>pe,wZ:()=>it,EI:()=>ie,SV:()=>re,Nk:()=>st,XV:()=>ue,ke:()=>oe,He:()=>b,UU:()=>nt,ot:()=>Ht,mj:()=>fe,tM:()=>Vt,H$:()=>W,B6:()=>at});var n=r(4353),i=r(1931),a=r(8232);const o=(t,e)=>{const r=i.A.parse(t),n={};for(const t in e)e[t]&&(n[t]=r[t]+e[t]);return(0,a.A)(t,n)};var s=r(5582);const l=(t,e=100)=>{const r=i.A.parse(t);return r.r=255-r.r,r.g=255-r.g,r.b=255-r.b,((t,e,r=50)=>{const{r:n,g:a,b:o,a:l}=i.A.parse(t),{r:h,g:c,b:u,a:d}=i.A.parse(e),p=r/100,f=2*p-1,g=l-d,y=((f*g==-1?f:(f+g)/(1+f*g))+1)/2,m=1-y,x=n*y+h*m,b=a*y+c*m,k=o*y+u*m,C=l*p+d*(1-p);return(0,s.A)(x,b,k,C)})(r,t,e)};var h,c=r(5263),u=r(8041),d=r(5097),p=r(9418),f=Object.defineProperty,g=(t,e)=>f(t,"name",{value:e,configurable:!0}),y=(t,e)=>{for(var r in e)f(t,r,{get:e[r],enumerable:!0})},m={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},x={trace:g(((...t)=>{}),"trace"),debug:g(((...t)=>{}),"debug"),info:g(((...t)=>{}),"info"),warn:g(((...t)=>{}),"warn"),error:g(((...t)=>{}),"error"),fatal:g(((...t)=>{}),"fatal")},b=g((function(t="fatal"){let e=m.fatal;"string"==typeof t?t.toLowerCase()in m&&(e=m[t]):"number"==typeof t&&(e=t),x.trace=()=>{},x.debug=()=>{},x.info=()=>{},x.warn=()=>{},x.error=()=>{},x.fatal=()=>{},e<=m.fatal&&(x.fatal=console.error?console.error.bind(console,k("FATAL"),"color: orange"):console.log.bind(console,"",k("FATAL"))),e<=m.error&&(x.error=console.error?console.error.bind(console,k("ERROR"),"color: orange"):console.log.bind(console,"",k("ERROR"))),e<=m.warn&&(x.warn=console.warn?console.warn.bind(console,k("WARN"),"color: orange"):console.log.bind(console,"",k("WARN"))),e<=m.info&&(x.info=console.info?console.info.bind(console,k("INFO"),"color: lightblue"):console.log.bind(console,"",k("INFO"))),e<=m.debug&&(x.debug=console.debug?console.debug.bind(console,k("DEBUG"),"color: lightgreen"):console.log.bind(console,"",k("DEBUG"))),e<=m.trace&&(x.trace=console.debug?console.debug.bind(console,k("TRACE"),"color: lightgreen"):console.log.bind(console,"",k("TRACE")))}),"setLogLevel"),k=g((t=>`%c${n().format("ss.SSS")} : ${t} : `),"format"),C=/^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s,w=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,_=/\s*%%.*\n/gm,v=class extends Error{static{g(this,"UnknownDiagramError")}constructor(t){super(t),this.name="UnknownDiagramError"}},S={},T=g((function(t,e){t=t.replace(C,"").replace(w,"").replace(_,"\n");for(const[r,{detector:n}]of Object.entries(S))if(n(t,e))return r;throw new v(`No diagram type detected matching given configuration for text: ${t}`)}),"detectType"),A=g(((...t)=>{for(const{id:e,detector:r,loader:n}of t)M(e,r,n)}),"registerLazyLoadedDiagrams"),M=g(((t,e,r)=>{S[t]&&x.warn(`Detector with key ${t} already exists. Overwriting.`),S[t]={detector:e,loader:r},x.debug(`Detector with key ${t} added${r?" with loader":""}`)}),"addDetector"),B=g((t=>S[t].loader),"getDiagramLoader"),L=g(((t,e,{depth:r=2,clobber:n=!1}={})=>{const i={depth:r,clobber:n};return Array.isArray(e)&&!Array.isArray(t)?(e.forEach((e=>L(t,e,i))),t):Array.isArray(e)&&Array.isArray(t)?(e.forEach((e=>{t.includes(e)||t.push(e)})),t):void 0===t||r<=0?null!=t&&"object"==typeof t&&"object"==typeof e?Object.assign(t,e):e:(void 0!==e&&"object"==typeof t&&"object"==typeof e&&Object.keys(e).forEach((i=>{"object"!=typeof e[i]||void 0!==t[i]&&"object"!=typeof t[i]?(n||"object"!=typeof t[i]&&"object"!=typeof e[i])&&(t[i]=e[i]):(void 0===t[i]&&(t[i]=Array.isArray(e[i])?[]:{}),t[i]=L(t[i],e[i],{depth:r-1,clobber:n}))})),t)}),"assignWithDepth"),F=L,$="#ffffff",E="#f2f2f2",D=g(((t,e)=>o(t,e?{s:-40,l:10}:{s:-40,l:-10})),"mkBorder"),O=class{static{g(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||o(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||o(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||D(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||D(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||D(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||D(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||l(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||l(this.tertiaryColor),this.lineColor=this.lineColor||l(this.background),this.arrowheadColor=this.arrowheadColor||l(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?(0,c.A)(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||(0,c.A)(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||l(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||(0,u.A)(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||o(this.primaryColor,{h:30}),this.cScale4=this.cScale4||o(this.primaryColor,{h:60}),this.cScale5=this.cScale5||o(this.primaryColor,{h:90}),this.cScale6=this.cScale6||o(this.primaryColor,{h:120}),this.cScale7=this.cScale7||o(this.primaryColor,{h:150}),this.cScale8=this.cScale8||o(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||o(this.primaryColor,{h:270}),this.cScale10=this.cScale10||o(this.primaryColor,{h:300}),this.cScale11=this.cScale11||o(this.primaryColor,{h:330}),this.darkMode)for(let t=0;t{this[e]=t[e]})),this.updateColors(),e.forEach((e=>{this[e]=t[e]}))}},I=g((t=>{const e=new O;return e.calculate(t),e}),"getThemeVariables"),N=class{static{g(this,"Theme")}constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=(0,u.A)(this.primaryColor,16),this.tertiaryColor=o(this.primaryColor,{h:-160}),this.primaryBorderColor=l(this.background),this.secondaryBorderColor=D(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=D(this.tertiaryColor,this.darkMode),this.primaryTextColor=l(this.primaryColor),this.secondaryTextColor=l(this.secondaryColor),this.tertiaryTextColor=l(this.tertiaryColor),this.lineColor=l(this.background),this.textColor=l(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=(0,u.A)(l("#323D47"),10),this.lineColor="calculated",this.border1="#ccc",this.border2=(0,s.A)(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.sectionBkgColor=(0,c.A)("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=(0,c.A)(this.sectionBkgColor,10),this.taskBorderColor=(0,s.A)(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=(0,s.A)(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd"}updateColors(){this.secondBkg=(0,u.A)(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=(0,u.A)(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.actorBorder,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=(0,u.A)(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=this.darkTextColor,this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=o(this.primaryColor,{h:64}),this.fillType3=o(this.secondaryColor,{h:64}),this.fillType4=o(this.primaryColor,{h:-64}),this.fillType5=o(this.secondaryColor,{h:-64}),this.fillType6=o(this.primaryColor,{h:128}),this.fillType7=o(this.secondaryColor,{h:128}),this.cScale1=this.cScale1||"#0b0000",this.cScale2=this.cScale2||"#4d1037",this.cScale3=this.cScale3||"#3f5258",this.cScale4=this.cScale4||"#4f2f1b",this.cScale5=this.cScale5||"#6e0a0a",this.cScale6=this.cScale6||"#3b0048",this.cScale7=this.cScale7||"#995a01",this.cScale8=this.cScale8||"#154706",this.cScale9=this.cScale9||"#161722",this.cScale10=this.cScale10||"#00296f",this.cScale11=this.cScale11||"#01629c",this.cScale12=this.cScale12||"#010029",this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||o(this.primaryColor,{h:30}),this.cScale4=this.cScale4||o(this.primaryColor,{h:60}),this.cScale5=this.cScale5||o(this.primaryColor,{h:90}),this.cScale6=this.cScale6||o(this.primaryColor,{h:120}),this.cScale7=this.cScale7||o(this.primaryColor,{h:150}),this.cScale8=this.cScale8||o(this.primaryColor,{h:210}),this.cScale9=this.cScale9||o(this.primaryColor,{h:270}),this.cScale10=this.cScale10||o(this.primaryColor,{h:300}),this.cScale11=this.cScale11||o(this.primaryColor,{h:330});for(let t=0;t{this[e]=t[e]})),this.updateColors(),e.forEach((e=>{this[e]=t[e]}))}},R=g((t=>{const e=new N;return e.calculate(t),e}),"getThemeVariables"),P=class{static{g(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=o(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=o(this.primaryColor,{h:-160}),this.primaryBorderColor=D(this.primaryColor,this.darkMode),this.secondaryBorderColor=D(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=D(this.tertiaryColor,this.darkMode),this.primaryTextColor=l(this.primaryColor),this.secondaryTextColor=l(this.secondaryColor),this.tertiaryTextColor=l(this.tertiaryColor),this.lineColor=l(this.background),this.textColor=l(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="rgba(232,232,232, 0.8)",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.sectionBkgColor=(0,s.A)(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.updateColors()}updateColors(){this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||o(this.primaryColor,{h:30}),this.cScale4=this.cScale4||o(this.primaryColor,{h:60}),this.cScale5=this.cScale5||o(this.primaryColor,{h:90}),this.cScale6=this.cScale6||o(this.primaryColor,{h:120}),this.cScale7=this.cScale7||o(this.primaryColor,{h:150}),this.cScale8=this.cScale8||o(this.primaryColor,{h:210}),this.cScale9=this.cScale9||o(this.primaryColor,{h:270}),this.cScale10=this.cScale10||o(this.primaryColor,{h:300}),this.cScale11=this.cScale11||o(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||(0,c.A)(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||(0,c.A)(this.tertiaryColor,40);for(let t=0;t{this[e]=t[e]})),this.updateColors(),e.forEach((e=>{this[e]=t[e]}))}},K=g((t=>{const e=new P;return e.calculate(t),e}),"getThemeVariables"),z=class{static{g(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=(0,u.A)("#cde498",10),this.primaryBorderColor=D(this.primaryColor,this.darkMode),this.secondaryBorderColor=D(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=D(this.tertiaryColor,this.darkMode),this.primaryTextColor=l(this.primaryColor),this.secondaryTextColor=l(this.secondaryColor),this.tertiaryTextColor=l(this.primaryColor),this.lineColor=l(this.background),this.textColor=l(this.background),this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){this.actorBorder=(0,c.A)(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.actorLineColor=this.actorBorder,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||o(this.primaryColor,{h:30}),this.cScale4=this.cScale4||o(this.primaryColor,{h:60}),this.cScale5=this.cScale5||o(this.primaryColor,{h:90}),this.cScale6=this.cScale6||o(this.primaryColor,{h:120}),this.cScale7=this.cScale7||o(this.primaryColor,{h:150}),this.cScale8=this.cScale8||o(this.primaryColor,{h:210}),this.cScale9=this.cScale9||o(this.primaryColor,{h:270}),this.cScale10=this.cScale10||o(this.primaryColor,{h:300}),this.cScale11=this.cScale11||o(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||(0,c.A)(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||(0,c.A)(this.tertiaryColor,40);for(let t=0;t{this[e]=t[e]})),this.updateColors(),e.forEach((e=>{this[e]=t[e]}))}},q=g((t=>{const e=new z;return e.calculate(t),e}),"getThemeVariables"),j=class{static{g(this,"Theme")}constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=(0,u.A)(this.contrast,55),this.background="#ffffff",this.tertiaryColor=o(this.primaryColor,{h:-160}),this.primaryBorderColor=D(this.primaryColor,this.darkMode),this.secondaryBorderColor=D(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=D(this.tertiaryColor,this.darkMode),this.primaryTextColor=l(this.primaryColor),this.secondaryTextColor=l(this.secondaryColor),this.tertiaryTextColor=l(this.tertiaryColor),this.lineColor=l(this.background),this.textColor=l(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor=this.actorBorder,this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){this.secondBkg=(0,u.A)(this.contrast,55),this.border2=this.contrast,this.actorBorder=(0,u.A)(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.actorBorder,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let t=0;t{this[e]=t[e]})),this.updateColors(),e.forEach((e=>{this[e]=t[e]}))}},W={base:{getThemeVariables:I},dark:{getThemeVariables:R},default:{getThemeVariables:K},forest:{getThemeVariables:q},neutral:{getThemeVariables:g((t=>{const e=new j;return e.calculate(t),e}),"getThemeVariables")}},H={flowchart:{useMaxWidth:!0,titleTopMargin:25,subGraphTitleMargin:{top:0,bottom:0},diagramPadding:8,htmlLabels:!0,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200},sequence:{useMaxWidth:!0,hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"]},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1,hideEmptyMembersBox:!1},state:{useMaxWidth:!0,titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200},kanban:{useMaxWidth:!0,padding:8,sectionWidth:200,ticketBaseUrl:""},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,parallelCommits:!1,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:""},block:{useMaxWidth:!0,padding:8},packet:{useMaxWidth:!0,rowHeight:32,bitWidth:32,bitsPerRow:32,showBits:!0,paddingX:5,paddingY:5},architecture:{useMaxWidth:!0,padding:40,iconSize:80,fontSize:16},theme:"default",look:"classic",handDrawnSeed:0,layout:"dagre",maxTextSize:5e4,maxEdges:500,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize","suppressErrorRendering","maxEdges"],legacyMathML:!1,forceLegacyMathML:!1,deterministicIds:!1,fontSize:16,markdownAutoWrap:!0,suppressErrorRendering:!1},U={...H,deterministicIDSeed:void 0,elk:{mergeEdges:!1,nodePlacementStrategy:"BRANDES_KOEPF"},themeCSS:void 0,themeVariables:W.default.getThemeVariables(),sequence:{...H.sequence,messageFont:g((function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}}),"messageFont"),noteFont:g((function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}}),"noteFont"),actorFont:g((function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}}),"actorFont")},class:{hideEmptyMembersBox:!1},gantt:{...H.gantt,tickInterval:void 0,useWidth:void 0},c4:{...H.c4,useWidth:void 0,personFont:g((function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}}),"personFont"),external_personFont:g((function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}}),"external_personFont"),systemFont:g((function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}}),"systemFont"),external_systemFont:g((function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}}),"external_systemFont"),system_dbFont:g((function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}}),"system_dbFont"),external_system_dbFont:g((function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}}),"external_system_dbFont"),system_queueFont:g((function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}}),"system_queueFont"),external_system_queueFont:g((function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}}),"external_system_queueFont"),containerFont:g((function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}}),"containerFont"),external_containerFont:g((function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}}),"external_containerFont"),container_dbFont:g((function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}}),"container_dbFont"),external_container_dbFont:g((function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}}),"external_container_dbFont"),container_queueFont:g((function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}}),"container_queueFont"),external_container_queueFont:g((function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}}),"external_container_queueFont"),componentFont:g((function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}}),"componentFont"),external_componentFont:g((function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}}),"external_componentFont"),component_dbFont:g((function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}}),"component_dbFont"),external_component_dbFont:g((function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}}),"external_component_dbFont"),component_queueFont:g((function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}}),"component_queueFont"),external_component_queueFont:g((function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}}),"external_component_queueFont"),boundaryFont:g((function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}}),"boundaryFont"),messageFont:g((function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}}),"messageFont")},pie:{...H.pie,useWidth:984},xyChart:{...H.xyChart,useWidth:void 0},requirement:{...H.requirement,useWidth:void 0},packet:{...H.packet}},Y=g(((t,e="")=>Object.keys(t).reduce(((r,n)=>Array.isArray(t[n])?r:"object"==typeof t[n]&&null!==t[n]?[...r,e+n,...Y(t[n],"")]:[...r,e+n]),[])),"keyify"),G=new Set(Y(U,"")),V=U,Z=g((t=>{if(x.debug("sanitizeDirective called with",t),"object"==typeof t&&null!=t)if(Array.isArray(t))t.forEach((t=>Z(t)));else{for(const e of Object.keys(t)){if(x.debug("Checking key",e),e.startsWith("__")||e.includes("proto")||e.includes("constr")||!G.has(e)||null==t[e]){x.debug("sanitize deleting key: ",e),delete t[e];continue}if("object"==typeof t[e]){x.debug("sanitizing object",e),Z(t[e]);continue}const r=["themeCSS","fontFamily","altFontFamily"];for(const n of r)e.includes(n)&&(x.debug("sanitizing css option",e),t[e]=X(t[e]))}if(t.themeVariables)for(const e of Object.keys(t.themeVariables)){const r=t.themeVariables[e];r?.match&&!r.match(/^[\d "#%(),.;A-Za-z]+$/)&&(t.themeVariables[e]="")}x.debug("After sanitization",t)}}),"sanitizeDirective"),X=g((t=>{let e=0,r=0;for(const n of t){if(e{let r=F({},t),n={};for(const t of e)ht(t),n=F(n,t);if(r=F(r,n),n.theme&&n.theme in W){const t=F({},h),e=F(t.themeVariables||{},n.themeVariables);r.theme&&r.theme in W&&(r.themeVariables=W[r.theme].getThemeVariables(e))}return gt(et=r),et}),"updateCurrentConfig"),nt=g((t=>(J=F({},Q),J=F(J,t),t.theme&&W[t.theme]&&(J.themeVariables=W[t.theme].getThemeVariables(t.themeVariables)),rt(J,tt),J)),"setSiteConfig"),it=g((t=>{h=F({},t)}),"saveConfigFromInitialize"),at=g((t=>(J=F(J,t),rt(J,tt),J)),"updateSiteConfig"),ot=g((()=>F({},J)),"getSiteConfig"),st=g((t=>(gt(t),F(et,t),lt())),"setConfig"),lt=g((()=>F({},et)),"getConfig"),ht=g((t=>{t&&(["secure",...J.secure??[]].forEach((e=>{Object.hasOwn(t,e)&&(x.debug(`Denied attempt to modify a secure key ${e}`,t[e]),delete t[e])})),Object.keys(t).forEach((e=>{e.startsWith("__")&&delete t[e]})),Object.keys(t).forEach((e=>{"string"==typeof t[e]&&(t[e].includes("<")||t[e].includes(">")||t[e].includes("url(data:"))&&delete t[e],"object"==typeof t[e]&&ht(t[e])})))}),"sanitize"),ct=g((t=>{Z(t),t.fontFamily&&!t.themeVariables?.fontFamily&&(t.themeVariables={...t.themeVariables,fontFamily:t.fontFamily}),tt.push(t),rt(J,tt)}),"addDirective"),ut=g(((t=J)=>{rt(t,tt=[])}),"reset"),dt={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead."},pt={},ft=g((t=>{pt[t]||(x.warn(dt[t]),pt[t]=!0)}),"issueWarning"),gt=g((t=>{t&&(t.lazyLoadedDiagrams||t.loadExternalDiagramsAtStartup)&&ft("LAZY_LOAD_DEPRECATED")}),"checkConfig"),yt=//gi,mt=g((t=>t?At(t).replace(/\\n/g,"#br#").split("#br#"):[""]),"getRows"),xt=(()=>{let t=!1;return()=>{t||(bt(),t=!0)}})();function bt(){const t="data-temp-href-target";p.A.addHook("beforeSanitizeAttributes",(e=>{e instanceof Element&&"A"===e.tagName&&e.hasAttribute("target")&&e.setAttribute(t,e.getAttribute("target")??"")})),p.A.addHook("afterSanitizeAttributes",(e=>{e instanceof Element&&"A"===e.tagName&&e.hasAttribute(t)&&(e.setAttribute("target",e.getAttribute(t)??""),e.removeAttribute(t),"_blank"===e.getAttribute("target")&&e.setAttribute("rel","noopener"))}))}g(bt,"setupDompurifyHooks");var kt=g((t=>(xt(),p.A.sanitize(t))),"removeScript"),Ct=g(((t,e)=>{if(!1!==e.flowchart?.htmlLabels){const r=e.securityLevel;"antiscript"===r||"strict"===r?t=kt(t):"loose"!==r&&(t=(t=(t=At(t)).replace(//g,">")).replace(/=/g,"="),t=Tt(t))}return t}),"sanitizeMore"),wt=g(((t,e)=>t?t=e.dompurifyConfig?p.A.sanitize(Ct(t,e),e.dompurifyConfig).toString():p.A.sanitize(Ct(t,e),{FORBID_TAGS:["style"]}).toString():t),"sanitizeText"),_t=g(((t,e)=>"string"==typeof t?wt(t,e):t.flat().map((t=>wt(t,e)))),"sanitizeTextOrArray"),vt=g((t=>yt.test(t)),"hasBreaks"),St=g((t=>t.split(yt)),"splitBreaks"),Tt=g((t=>t.replace(/#br#/g,"
    ")),"placeholderToBreak"),At=g((t=>t.replace(yt,"#br#")),"breakToPlaceholder"),Mt=g((t=>{let e="";return t&&(e=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,e=e.replaceAll(/\(/g,"\\("),e=e.replaceAll(/\)/g,"\\)")),e}),"getUrl"),Bt=g((t=>!1!==t&&!["false","null","0"].includes(String(t).trim().toLowerCase())),"evaluate"),Lt=g((function(...t){const e=t.filter((t=>!isNaN(t)));return Math.max(...e)}),"getMax"),Ft=g((function(...t){const e=t.filter((t=>!isNaN(t)));return Math.min(...e)}),"getMin"),$t=g((function(t){const e=t.split(/(,)/),r=[];for(let t=0;t0&&t+1Math.max(0,t.split(e).length-1)),"countOccurrence"),Dt=g(((t,e)=>{const r=Et(t,"~"),n=Et(e,"~");return 1===r&&1===n}),"shouldCombineSets"),Ot=g((t=>{const e=Et(t,"~");let r=!1;if(e<=1)return t;e%2!=0&&t.startsWith("~")&&(t=t.substring(1),r=!0);const n=[...t];let i=n.indexOf("~"),a=n.lastIndexOf("~");for(;-1!==i&&-1!==a&&i!==a;)n[i]="<",n[a]=">",i=n.indexOf("~"),a=n.lastIndexOf("~");return r&&n.unshift("~"),n.join("")}),"processSet"),It=g((()=>void 0!==window.MathMLElement),"isMathMLSupported"),Nt=/\$\$(.*)\$\$/g,Rt=g((t=>(t.match(Nt)?.length??0)>0),"hasKatex"),Pt=g((async(t,e)=>{t=await Kt(t,e);const r=document.createElement("div");r.innerHTML=t,r.id="katex-temp",r.style.visibility="hidden",r.style.position="absolute",r.style.top="0";const n=document.querySelector("body");n?.insertAdjacentElement("beforeend",r);const i={width:r.clientWidth,height:r.clientHeight};return r.remove(),i}),"calculateMathMLDimensions"),Kt=g((async(t,e)=>{if(!Rt(t))return t;if(!(It()||e.legacyMathML||e.forceLegacyMathML))return t.replace(Nt,"MathML is unsupported in this environment.");const{default:n}=await r.e(130).then(r.bind(r,2130)),i=e.forceLegacyMathML||!It()&&e.legacyMathML?"htmlAndMathml":"mathml";return t.split(yt).map((t=>Rt(t)?`
    ${t}
    `:`
    ${t}
    `)).join("").replace(Nt,((t,e)=>n.renderToString(e,{throwOnError:!0,displayMode:!0,output:i}).replace(/\n/g," ").replace(//g,"")))}),"renderKatex"),zt={getRows:mt,sanitizeText:wt,sanitizeTextOrArray:_t,hasBreaks:vt,splitBreaks:St,lineBreakRegex:yt,removeScript:kt,getUrl:Mt,evaluate:Bt,getMax:Lt,getMin:Ft},qt=g((function(t,e){for(let r of e)t.attr(r[0],r[1])}),"d3Attrs"),jt=g((function(t,e,r){let n=new Map;return r?(n.set("width","100%"),n.set("style",`max-width: ${e}px;`)):(n.set("height",t),n.set("width",e)),n}),"calculateSvgSizeAttrs"),Wt=g((function(t,e,r,n){const i=jt(e,r,n);qt(t,i)}),"configureSvgSize"),Ht=g((function(t,e,r,n){const i=e.node().getBBox(),a=i.width,o=i.height;x.info(`SVG bounds: ${a}x${o}`,i);let s=0,l=0;x.info(`Graph bounds: ${s}x${l}`,t),s=a+2*r,l=o+2*r,x.info(`Calculated bounds: ${s}x${l}`),Wt(e,l,s,n);const h=`${i.x-r} ${i.y-r} ${i.width+2*r} ${i.height+2*r}`;e.attr("viewBox",h)}),"setupGraphViewbox"),Ut={},Yt=g(((t,e,r)=>{let n="";return t in Ut&&Ut[t]?n=Ut[t](r):x.warn(`No theme found for ${t}`),` & {\n font-family: ${r.fontFamily};\n font-size: ${r.fontSize};\n fill: ${r.textColor}\n }\n\n /* Classes common for multiple diagrams */\n\n & .error-icon {\n fill: ${r.errorBkgColor};\n }\n & .error-text {\n fill: ${r.errorTextColor};\n stroke: ${r.errorTextColor};\n }\n\n & .edge-thickness-normal {\n stroke-width: 1px;\n }\n & .edge-thickness-thick {\n stroke-width: 3.5px\n }\n & .edge-pattern-solid {\n stroke-dasharray: 0;\n }\n & .edge-thickness-invisible {\n stroke-width: 0;\n fill: none;\n }\n & .edge-pattern-dashed{\n stroke-dasharray: 3;\n }\n .edge-pattern-dotted {\n stroke-dasharray: 2;\n }\n\n & .marker {\n fill: ${r.lineColor};\n stroke: ${r.lineColor};\n }\n & .marker.cross {\n stroke: ${r.lineColor};\n }\n\n & svg {\n font-family: ${r.fontFamily};\n font-size: ${r.fontSize};\n }\n & p {\n margin: 0\n }\n\n ${n}\n\n ${e}\n`}),"getStyles"),Gt=g(((t,e)=>{void 0!==e&&(Ut[t]=e)}),"addStylesForDiagram"),Vt=Yt,Zt={};y(Zt,{clear:()=>ee,getAccDescription:()=>ae,getAccTitle:()=>ne,getDiagramTitle:()=>se,setAccDescription:()=>ie,setAccTitle:()=>re,setDiagramTitle:()=>oe});var Xt="",Qt="",Jt="",te=g((t=>wt(t,lt())),"sanitizeText"),ee=g((()=>{Xt="",Jt="",Qt=""}),"clear"),re=g((t=>{Xt=te(t).replace(/^\s+/g,"")}),"setAccTitle"),ne=g((()=>Xt),"getAccTitle"),ie=g((t=>{Jt=te(t).replace(/\n\s+/g,"\n")}),"setAccDescription"),ae=g((()=>Jt),"getAccDescription"),oe=g((t=>{Qt=te(t)}),"setDiagramTitle"),se=g((()=>Qt),"getDiagramTitle"),le=x,he=b,ce=lt,ue=st,de=Q,pe=g((t=>wt(t,ce())),"sanitizeText"),fe=Ht,ge=g((()=>Zt),"getCommonDb"),ye={},me=g(((t,e,r)=>{ye[t]&&le.warn(`Diagram with id ${t} already registered. Overwriting.`),ye[t]=e,r&&M(t,r),Gt(t,e.styles),e.injectUtils?.(le,he,ce,pe,fe,ge(),(()=>{}))}),"registerDiagram"),xe=g((t=>{if(t in ye)return ye[t];throw new be(t)}),"getDiagram"),be=class extends Error{static{g(this,"DiagramNotFoundError")}constructor(t){super(`Diagram ${t} not found.`)}}},6058:(t,e,r)=>{"use strict";r.d(e,{W6:()=>Tt,GZ:()=>Lt,hE:()=>Bt});var n=r(8159),i=r(9502),a=r(4852);let o={async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null};function s(t){o=t}const l=/[&<>"']/,h=new RegExp(l.source,"g"),c=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,u=new RegExp(c.source,"g"),d={"&":"&","<":"<",">":">",'"':""","'":"'"},p=t=>d[t];function f(t,e){if(e){if(l.test(t))return t.replace(h,p)}else if(c.test(t))return t.replace(u,p);return t}const g=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi,y=/(^|[^\[])\^/g;function m(t,e){let r="string"==typeof t?t:t.source;e=e||"";const n={replace:(t,e)=>{let i="string"==typeof e?e:e.source;return i=i.replace(y,"$1"),r=r.replace(t,i),n},getRegex:()=>new RegExp(r,e)};return n}function x(t){try{t=encodeURI(t).replace(/%25/g,"%")}catch{return null}return t}const b={exec:()=>null};function k(t,e){const r=t.replace(/\|/g,((t,e,r)=>{let n=!1,i=e;for(;--i>=0&&"\\"===r[i];)n=!n;return n?"|":" |"})).split(/ \|/);let n=0;if(r[0].trim()||r.shift(),r.length>0&&!r[r.length-1].trim()&&r.pop(),e)if(r.length>e)r.splice(e);else for(;r.length0)return{type:"space",raw:e[0]}}code(t){const e=this.rules.block.code.exec(t);if(e){const t=e[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:e[0],codeBlockStyle:"indented",text:this.options.pedantic?t:C(t,"\n")}}}fences(t){const e=this.rules.block.fences.exec(t);if(e){const t=e[0],r=function(t,e){const r=t.match(/^(\s+)(?:```)/);if(null===r)return e;const n=r[1];return e.split("\n").map((t=>{const e=t.match(/^\s+/);if(null===e)return t;const[r]=e;return r.length>=n.length?t.slice(n.length):t})).join("\n")}(t,e[3]||"");return{type:"code",raw:t,lang:e[2]?e[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):e[2],text:r}}}heading(t){const e=this.rules.block.heading.exec(t);if(e){let t=e[2].trim();if(/#$/.test(t)){const e=C(t,"#");this.options.pedantic?t=e.trim():e&&!/ $/.test(e)||(t=e.trim())}return{type:"heading",raw:e[0],depth:e[1].length,text:t,tokens:this.lexer.inline(t)}}}hr(t){const e=this.rules.block.hr.exec(t);if(e)return{type:"hr",raw:C(e[0],"\n")}}blockquote(t){const e=this.rules.block.blockquote.exec(t);if(e){let t=C(e[0],"\n").split("\n"),r="",n="";const i=[];for(;t.length>0;){let e=!1;const a=[];let o;for(o=0;o/.test(t[o]))a.push(t[o]),e=!0;else{if(e)break;a.push(t[o])}t=t.slice(o);const s=a.join("\n"),l=s.replace(/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,"\n $1").replace(/^ {0,3}>[ \t]?/gm,"");r=r?`${r}\n${s}`:s,n=n?`${n}\n${l}`:l;const h=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(l,i,!0),this.lexer.state.top=h,0===t.length)break;const c=i[i.length-1];if("code"===c?.type)break;if("blockquote"===c?.type){const e=c,a=e.raw+"\n"+t.join("\n"),o=this.blockquote(a);i[i.length-1]=o,r=r.substring(0,r.length-e.raw.length)+o.raw,n=n.substring(0,n.length-e.text.length)+o.text;break}if("list"!==c?.type);else{const e=c,a=e.raw+"\n"+t.join("\n"),o=this.list(a);i[i.length-1]=o,r=r.substring(0,r.length-c.raw.length)+o.raw,n=n.substring(0,n.length-e.raw.length)+o.raw,t=a.substring(i[i.length-1].raw.length).split("\n")}}return{type:"blockquote",raw:r,tokens:i,text:n}}}list(t){let e=this.rules.block.list.exec(t);if(e){let r=e[1].trim();const n=r.length>1,i={type:"list",raw:"",ordered:n,start:n?+r.slice(0,-1):"",loose:!1,items:[]};r=n?`\\d{1,9}\\${r.slice(-1)}`:`\\${r}`,this.options.pedantic&&(r=n?r:"[*+-]");const a=new RegExp(`^( {0,3}${r})((?:[\t ][^\\n]*)?(?:\\n|$))`);let o=!1;for(;t;){let r=!1,n="",s="";if(!(e=a.exec(t)))break;if(this.rules.block.hr.test(t))break;n=e[0],t=t.substring(n.length);let l=e[2].split("\n",1)[0].replace(/^\t+/,(t=>" ".repeat(3*t.length))),h=t.split("\n",1)[0],c=!l.trim(),u=0;if(this.options.pedantic?(u=2,s=l.trimStart()):c?u=e[1].length+1:(u=e[2].search(/[^ ]/),u=u>4?1:u,s=l.slice(u),u+=e[1].length),c&&/^ *$/.test(h)&&(n+=h+"\n",t=t.substring(h.length+1),r=!0),!r){const e=new RegExp(`^ {0,${Math.min(3,u-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ \t][^\\n]*)?(?:\\n|$))`),r=new RegExp(`^ {0,${Math.min(3,u-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),i=new RegExp(`^ {0,${Math.min(3,u-1)}}(?:\`\`\`|~~~)`),a=new RegExp(`^ {0,${Math.min(3,u-1)}}#`);for(;t;){const o=t.split("\n",1)[0];if(h=o,this.options.pedantic&&(h=h.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),i.test(h))break;if(a.test(h))break;if(e.test(h))break;if(r.test(t))break;if(h.search(/[^ ]/)>=u||!h.trim())s+="\n"+h.slice(u);else{if(c)break;if(l.search(/[^ ]/)>=4)break;if(i.test(l))break;if(a.test(l))break;if(r.test(l))break;s+="\n"+h}c||h.trim()||(c=!0),n+=o+"\n",t=t.substring(o.length+1),l=h.slice(u)}}i.loose||(o?i.loose=!0:/\n *\n *$/.test(n)&&(o=!0));let d,p=null;this.options.gfm&&(p=/^\[[ xX]\] /.exec(s),p&&(d="[ ] "!==p[0],s=s.replace(/^\[[ xX]\] +/,""))),i.items.push({type:"list_item",raw:n,task:!!p,checked:d,loose:!1,text:s,tokens:[]}),i.raw+=n}i.items[i.items.length-1].raw=i.items[i.items.length-1].raw.trimEnd(),i.items[i.items.length-1].text=i.items[i.items.length-1].text.trimEnd(),i.raw=i.raw.trimEnd();for(let t=0;t"space"===t.type)),r=e.length>0&&e.some((t=>/\n.*\n/.test(t.raw)));i.loose=r}if(i.loose)for(let t=0;t$/,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",n=e[3]?e[3].substring(1,e[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):e[3];return{type:"def",tag:t,raw:e[0],href:r,title:n}}}table(t){const e=this.rules.block.table.exec(t);if(!e)return;if(!/[:|]/.test(e[2]))return;const r=k(e[1]),n=e[2].replace(/^\||\| *$/g,"").split("|"),i=e[3]&&e[3].trim()?e[3].replace(/\n[ \t]*$/,"").split("\n"):[],a={type:"table",raw:e[0],header:[],align:[],rows:[]};if(r.length===n.length){for(const t of n)/^ *-+: *$/.test(t)?a.align.push("right"):/^ *:-+: *$/.test(t)?a.align.push("center"):/^ *:-+ *$/.test(t)?a.align.push("left"):a.align.push(null);for(let t=0;t({text:t,tokens:this.lexer.inline(t),header:!1,align:a.align[e]}))));return a}}lheading(t){const e=this.rules.block.lheading.exec(t);if(e)return{type:"heading",raw:e[0],depth:"="===e[2].charAt(0)?1:2,text:e[1],tokens:this.lexer.inline(e[1])}}paragraph(t){const e=this.rules.block.paragraph.exec(t);if(e){const t="\n"===e[1].charAt(e[1].length-1)?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:t,tokens:this.lexer.inline(t)}}}text(t){const e=this.rules.block.text.exec(t);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(t){const e=this.rules.inline.escape.exec(t);if(e)return{type:"escape",raw:e[0],text:f(e[1])}}tag(t){const e=this.rules.inline.tag.exec(t);if(e)return!this.lexer.state.inLink&&/^/i.test(e[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(e[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(e[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:e[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:e[0]}}link(t){const e=this.rules.inline.link.exec(t);if(e){const t=e[2].trim();if(!this.options.pedantic&&/^$/.test(t))return;const e=C(t.slice(0,-1),"\\");if((t.length-e.length)%2==0)return}else{const t=function(t,e){if(-1===t.indexOf(e[1]))return-1;let r=0;for(let n=0;n-1){const r=(0===e[0].indexOf("!")?5:4)+e[1].length+t;e[2]=e[2].substring(0,t),e[0]=e[0].substring(0,r).trim(),e[3]=""}}let r=e[2],n="";if(this.options.pedantic){const t=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(r);t&&(r=t[1],n=t[3])}else n=e[3]?e[3].slice(1,-1):"";return r=r.trim(),/^$/.test(t)?r.slice(1):r.slice(1,-1)),w(e,{href:r?r.replace(this.rules.inline.anyPunctuation,"$1"):r,title:n?n.replace(this.rules.inline.anyPunctuation,"$1"):n},e[0],this.lexer)}}reflink(t,e){let r;if((r=this.rules.inline.reflink.exec(t))||(r=this.rules.inline.nolink.exec(t))){const t=e[(r[2]||r[1]).replace(/\s+/g," ").toLowerCase()];if(!t){const t=r[0].charAt(0);return{type:"text",raw:t,text:t}}return w(r,t,r[0],this.lexer)}}emStrong(t,e,r=""){let n=this.rules.inline.emStrongLDelim.exec(t);if(n&&(!n[3]||!r.match(/[\p{L}\p{N}]/u))&&(!n[1]&&!n[2]||!r||this.rules.inline.punctuation.exec(r))){const r=[...n[0]].length-1;let i,a,o=r,s=0;const l="*"===n[0][0]?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(l.lastIndex=0,e=e.slice(-1*t.length+r);null!=(n=l.exec(e));){if(i=n[1]||n[2]||n[3]||n[4]||n[5]||n[6],!i)continue;if(a=[...i].length,n[3]||n[4]){o+=a;continue}if((n[5]||n[6])&&r%3&&!((r+a)%3)){s+=a;continue}if(o-=a,o>0)continue;a=Math.min(a,a+o+s);const e=[...n[0]][0].length,l=t.slice(0,r+n.index+e+a);if(Math.min(r,a)%2){const t=l.slice(1,-1);return{type:"em",raw:l,text:t,tokens:this.lexer.inlineTokens(t)}}const h=l.slice(2,-2);return{type:"strong",raw:l,text:h,tokens:this.lexer.inlineTokens(h)}}}}codespan(t){const e=this.rules.inline.code.exec(t);if(e){let t=e[2].replace(/\n/g," ");const r=/[^ ]/.test(t),n=/^ /.test(t)&&/ $/.test(t);return r&&n&&(t=t.substring(1,t.length-1)),t=f(t,!0),{type:"codespan",raw:e[0],text:t}}}br(t){const e=this.rules.inline.br.exec(t);if(e)return{type:"br",raw:e[0]}}del(t){const e=this.rules.inline.del.exec(t);if(e)return{type:"del",raw:e[0],text:e[2],tokens:this.lexer.inlineTokens(e[2])}}autolink(t){const e=this.rules.inline.autolink.exec(t);if(e){let t,r;return"@"===e[2]?(t=f(e[1]),r="mailto:"+t):(t=f(e[1]),r=t),{type:"link",raw:e[0],text:t,href:r,tokens:[{type:"text",raw:t,text:t}]}}}url(t){let e;if(e=this.rules.inline.url.exec(t)){let t,r;if("@"===e[2])t=f(e[0]),r="mailto:"+t;else{let n;do{n=e[0],e[0]=this.rules.inline._backpedal.exec(e[0])?.[0]??""}while(n!==e[0]);t=f(e[0]),r="www."===e[1]?"http://"+e[0]:e[0]}return{type:"link",raw:e[0],text:t,href:r,tokens:[{type:"text",raw:t,text:t}]}}}inlineText(t){const e=this.rules.inline.text.exec(t);if(e){let t;return t=this.lexer.state.inRawBlock?e[0]:f(e[0]),{type:"text",raw:e[0],text:t}}}}const v=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,S=/(?:[*+-]|\d{1,9}[.)])/,T=m(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,S).replace(/blockCode/g,/ {4}/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).getRegex(),A=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,M=/(?!\s*\])(?:\\.|[^\[\]\\])+/,B=m(/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/).replace("label",M).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),L=m(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,S).getRegex(),F="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",$=/|$))/,E=m("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))","i").replace("comment",$).replace("tag",F).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),D=m(A).replace("hr",v).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",F).getRegex(),O={blockquote:m(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",D).getRegex(),code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,def:B,fences:/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,hr:v,html:E,lheading:T,list:L,newline:/^(?: *(?:\n|$))+/,paragraph:D,table:b,text:/^[^\n]+/},I=m("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",v).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",F).getRegex(),N={...O,table:I,paragraph:m(A).replace("hr",v).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",I).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",F).getRegex()},R={...O,html:m("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",$).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:b,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:m(A).replace("hr",v).replace("heading"," *#{1,6} *[^\n]").replace("lheading",T).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},P=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,K=/^( {2,}|\\)\n(?!\s*$)/,z="\\p{P}\\p{S}",q=m(/^((?![*_])[\spunctuation])/,"u").replace(/punctuation/g,z).getRegex(),j=m(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,z).getRegex(),W=m("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,z).getRegex(),H=m("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,z).getRegex(),U=m(/\\([punct])/,"gu").replace(/punct/g,z).getRegex(),Y=m(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),G=m($).replace("(?:--\x3e|$)","--\x3e").getRegex(),V=m("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",G).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Z=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,X=m(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",Z).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),Q=m(/^!?\[(label)\]\[(ref)\]/).replace("label",Z).replace("ref",M).getRegex(),J=m(/^!?\[(ref)\](?:\[\])?/).replace("ref",M).getRegex(),tt={_backpedal:b,anyPunctuation:U,autolink:Y,blockSkip:/\[[^[\]]*?\]\([^\(\)]*?\)|`[^`]*?`|<[^<>]*?>/g,br:K,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,del:b,emStrongLDelim:j,emStrongRDelimAst:W,emStrongRDelimUnd:H,escape:P,link:X,nolink:J,punctuation:q,reflink:Q,reflinkSearch:m("reflink|nolink(?!\\()","g").replace("reflink",Q).replace("nolink",J).getRegex(),tag:V,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\e+" ".repeat(r.length)));t;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some((r=>!!(n=r.call({lexer:this},t,e))&&(t=t.substring(n.raw.length),e.push(n),!0)))))if(n=this.tokenizer.space(t))t=t.substring(n.raw.length),1===n.raw.length&&e.length>0?e[e.length-1].raw+="\n":e.push(n);else if(n=this.tokenizer.code(t))t=t.substring(n.raw.length),i=e[e.length-1],!i||"paragraph"!==i.type&&"text"!==i.type?e.push(n):(i.raw+="\n"+n.raw,i.text+="\n"+n.text,this.inlineQueue[this.inlineQueue.length-1].src=i.text);else if(n=this.tokenizer.fences(t))t=t.substring(n.raw.length),e.push(n);else if(n=this.tokenizer.heading(t))t=t.substring(n.raw.length),e.push(n);else if(n=this.tokenizer.hr(t))t=t.substring(n.raw.length),e.push(n);else if(n=this.tokenizer.blockquote(t))t=t.substring(n.raw.length),e.push(n);else if(n=this.tokenizer.list(t))t=t.substring(n.raw.length),e.push(n);else if(n=this.tokenizer.html(t))t=t.substring(n.raw.length),e.push(n);else if(n=this.tokenizer.def(t))t=t.substring(n.raw.length),i=e[e.length-1],!i||"paragraph"!==i.type&&"text"!==i.type?this.tokens.links[n.tag]||(this.tokens.links[n.tag]={href:n.href,title:n.title}):(i.raw+="\n"+n.raw,i.text+="\n"+n.raw,this.inlineQueue[this.inlineQueue.length-1].src=i.text);else if(n=this.tokenizer.table(t))t=t.substring(n.raw.length),e.push(n);else if(n=this.tokenizer.lheading(t))t=t.substring(n.raw.length),e.push(n);else{if(a=t,this.options.extensions&&this.options.extensions.startBlock){let e=1/0;const r=t.slice(1);let n;this.options.extensions.startBlock.forEach((t=>{n=t.call({lexer:this},r),"number"==typeof n&&n>=0&&(e=Math.min(e,n))})),e<1/0&&e>=0&&(a=t.substring(0,e+1))}if(this.state.top&&(n=this.tokenizer.paragraph(a)))i=e[e.length-1],r&&"paragraph"===i?.type?(i.raw+="\n"+n.raw,i.text+="\n"+n.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=i.text):e.push(n),r=a.length!==t.length,t=t.substring(n.raw.length);else if(n=this.tokenizer.text(t))t=t.substring(n.raw.length),i=e[e.length-1],i&&"text"===i.type?(i.raw+="\n"+n.raw,i.text+="\n"+n.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=i.text):e.push(n);else if(t){const e="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(e);break}throw new Error(e)}}return this.state.top=!0,e}inline(t,e=[]){return this.inlineQueue.push({src:t,tokens:e}),e}inlineTokens(t,e=[]){let r,n,i,a,o,s,l=t;if(this.tokens.links){const t=Object.keys(this.tokens.links);if(t.length>0)for(;null!=(a=this.tokenizer.rules.inline.reflinkSearch.exec(l));)t.includes(a[0].slice(a[0].lastIndexOf("[")+1,-1))&&(l=l.slice(0,a.index)+"["+"a".repeat(a[0].length-2)+"]"+l.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(a=this.tokenizer.rules.inline.blockSkip.exec(l));)l=l.slice(0,a.index)+"["+"a".repeat(a[0].length-2)+"]"+l.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(a=this.tokenizer.rules.inline.anyPunctuation.exec(l));)l=l.slice(0,a.index)+"++"+l.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;t;)if(o||(s=""),o=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some((n=>!!(r=n.call({lexer:this},t,e))&&(t=t.substring(r.raw.length),e.push(r),!0)))))if(r=this.tokenizer.escape(t))t=t.substring(r.raw.length),e.push(r);else if(r=this.tokenizer.tag(t))t=t.substring(r.raw.length),n=e[e.length-1],n&&"text"===r.type&&"text"===n.type?(n.raw+=r.raw,n.text+=r.text):e.push(r);else if(r=this.tokenizer.link(t))t=t.substring(r.raw.length),e.push(r);else if(r=this.tokenizer.reflink(t,this.tokens.links))t=t.substring(r.raw.length),n=e[e.length-1],n&&"text"===r.type&&"text"===n.type?(n.raw+=r.raw,n.text+=r.text):e.push(r);else if(r=this.tokenizer.emStrong(t,l,s))t=t.substring(r.raw.length),e.push(r);else if(r=this.tokenizer.codespan(t))t=t.substring(r.raw.length),e.push(r);else if(r=this.tokenizer.br(t))t=t.substring(r.raw.length),e.push(r);else if(r=this.tokenizer.del(t))t=t.substring(r.raw.length),e.push(r);else if(r=this.tokenizer.autolink(t))t=t.substring(r.raw.length),e.push(r);else if(this.state.inLink||!(r=this.tokenizer.url(t))){if(i=t,this.options.extensions&&this.options.extensions.startInline){let e=1/0;const r=t.slice(1);let n;this.options.extensions.startInline.forEach((t=>{n=t.call({lexer:this},r),"number"==typeof n&&n>=0&&(e=Math.min(e,n))})),e<1/0&&e>=0&&(i=t.substring(0,e+1))}if(r=this.tokenizer.inlineText(i))t=t.substring(r.raw.length),"_"!==r.raw.slice(-1)&&(s=r.raw.slice(-1)),o=!0,n=e[e.length-1],n&&"text"===n.type?(n.raw+=r.raw,n.text+=r.text):e.push(r);else if(t){const e="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(e);break}throw new Error(e)}}else t=t.substring(r.raw.length),e.push(r);return e}}class st{options;parser;constructor(t){this.options=t||o}space(t){return""}code({text:t,lang:e,escaped:r}){const n=(e||"").match(/^\S*/)?.[0],i=t.replace(/\n$/,"")+"\n";return n?'
    '+(r?i:f(i,!0))+"
    \n":"
    "+(r?i:f(i,!0))+"
    \n"}blockquote({tokens:t}){return`
    \n${this.parser.parse(t)}
    \n`}html({text:t}){return t}heading({tokens:t,depth:e}){return`${this.parser.parseInline(t)}\n`}hr(t){return"
    \n"}list(t){const e=t.ordered,r=t.start;let n="";for(let e=0;e\n"+n+"\n"}listitem(t){let e="";if(t.task){const r=this.checkbox({checked:!!t.checked});t.loose?t.tokens.length>0&&"paragraph"===t.tokens[0].type?(t.tokens[0].text=r+" "+t.tokens[0].text,t.tokens[0].tokens&&t.tokens[0].tokens.length>0&&"text"===t.tokens[0].tokens[0].type&&(t.tokens[0].tokens[0].text=r+" "+t.tokens[0].tokens[0].text)):t.tokens.unshift({type:"text",raw:r+" ",text:r+" "}):e+=r+" "}return e+=this.parser.parse(t.tokens,!!t.loose),`
    + + + +
    +
    + + + + +
    + + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
    +
    +
    + + + +
    + + + + + +
    + + + + + + + + + + + +
    + +
    + + +
    + + +
    + + +
    +

    CPO (CYBERTEC-PG-Operator)

    +
    + +
    +

    Current Release: 0.8.3 (04.04.2025) Release Notes

    + +

    CPO (CYBERTEC PG Operator) allows you to create and run PostgreSQL clusters on Kubernetes.

    +

    The operator reduces your efforts and simplifies the administration of your PostgreSQL clusters so that you can concentrate on other things.

    +

    The following features characterise our operator:

    +
      +
    • Declarative mode of operation
    • +
    • Takes over all the necessary steps for setting up and managing the PG cluster.
    • +
    • Integrated backup solution, automatic backups and very easy restore (snapshot & PITR)
    • +
    • Rolling update procedure for adjustments to the pods and minor updates
    • +
    • Major upgrade with minimum interruption time
    • +
    • Reduction of downtime thanks to redundancy, pod anti-affinity, auto-failover and self-healing
    • +
    +

    CPO is tested on the following platforms:

    +
      +
    • Kubernetes: 1.21 - 1.28
    • +
    • Openshift: 4.8 - 4.13
    • +
    • Rancher
    • +
    • AWS EKS
    • +
    • Azure AKS
    • +
    • Google GKE
    • +
    +

    Furthermore, CPO is basically executable on any CSCF-certified Kubernetes platform.

    + +
    + + + + + + + +
    +
    + + + +
  4. ",n?""+n+""+i:i;var n,i}(a,''))}));const o=n.width,l=n.height,h=i.width,c=i.height;let u,p;null===o?(p=null===l?"1em":"auto"===l?c:l,u=g(p,h/c)):(u="auto"===o?h:o,p=null===l?g(u,c/h):"auto"===l?c:l);const f={},y=(t,e)=>{(t=>"unset"===t||"undefined"===t||"none"===t)(e)||(f[t]=e.toString())};y("width",u),y("height",p);const m=[i.left,i.top,h,c];return f.viewBox=m.join(" "),{attributes:f,viewBox:m,body:a}}(r,e);return function(t,e){let r=-1===t.indexOf("xlink:")?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const t in e)r+=" "+t+'="'+e[t]+'"';return'"+t+""}(function(t,e=m){const r=[];let n;for(;n=y.exec(t);)r.push(n[1]);if(!r.length)return t;const i="suffix"+(16777216*Math.random()|Date.now()).toString(16);return r.forEach((r=>{const n="function"==typeof e?e(r):e+(x++).toString(),a=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");t=t.replace(new RegExp('([#;"])('+a+')([")]|\\.[a-z])',"g"),"$1"+n+i+"$3")})),t=t.replace(new RegExp(i,"g"),"")}(i.body),i.attributes)}),"getIconSVG")},9874:(t,e,r)=>{"use strict";r.d(e,{H:()=>er,r:()=>tr});var n=r(9502);function i(t){return null==t}function a(t){return"object"==typeof t&&null!==t}function o(t){return Array.isArray(t)?t:i(t)?[]:[t]}function s(t,e){var r,n,i,a;if(e)for(r=0,n=(a=Object.keys(e)).length;rs&&(e=n-s+(a=" ... ").length),r-n>s&&(r=n+s-(o=" ...").length),{str:a+t.slice(e,r).replace(/\t/g,"→")+o,pos:n-e+a.length}}function g(t,e){return c.repeat(" ",e-t.length)+t}function y(t,e){if(e=Object.create(e||null),!t.buffer)return null;e.maxLength||(e.maxLength=79),"number"!=typeof e.indent&&(e.indent=1),"number"!=typeof e.linesBefore&&(e.linesBefore=3),"number"!=typeof e.linesAfter&&(e.linesAfter=2);for(var r,n=/\r?\n|\r|\0/g,i=[0],a=[],o=-1;r=n.exec(t.buffer);)a.push(r.index),i.push(r.index+r[0].length),t.position<=r.index&&o<0&&(o=i.length-2);o<0&&(o=i.length-1);var s,l,h="",u=Math.min(t.line+e.linesAfter,a.length).toString().length,d=e.maxLength-(e.indent+u+3);for(s=1;s<=e.linesBefore&&!(o-s<0);s++)l=f(t.buffer,i[o-s],a[o-s],t.position-(i[o]-i[o-s]),d),h=c.repeat(" ",e.indent)+g((t.line-s+1).toString(),u)+" | "+l.str+"\n"+h;for(l=f(t.buffer,i[o],a[o],t.position,d),h+=c.repeat(" ",e.indent)+g((t.line+1).toString(),u)+" | "+l.str+"\n",h+=c.repeat("-",e.indent+u+3+l.pos)+"^\n",s=1;s<=e.linesAfter&&!(o+s>=a.length);s++)l=f(t.buffer,i[o+s],a[o+s],t.position-(i[o]-i[o+s]),d),h+=c.repeat(" ",e.indent)+g((t.line+s+1).toString(),u)+" | "+l.str+"\n";return h.replace(/\n$/,"")}(0,n.K2)(f,"getLine"),(0,n.K2)(g,"padStart"),(0,n.K2)(y,"makeSnippet");var m=y,x=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],b=["scalar","sequence","mapping"];function k(t){var e={};return null!==t&&Object.keys(t).forEach((function(r){t[r].forEach((function(t){e[String(t)]=r}))})),e}function C(t,e){if(e=e||{},Object.keys(e).forEach((function(e){if(-1===x.indexOf(e))throw new p('Unknown option "'+e+'" is met in definition of "'+t+'" YAML type.')})),this.options=e,this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(t){return t},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.representName=e.representName||null,this.defaultStyle=e.defaultStyle||null,this.multi=e.multi||!1,this.styleAliases=k(e.styleAliases||null),-1===b.indexOf(this.kind))throw new p('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}(0,n.K2)(k,"compileStyleAliases"),(0,n.K2)(C,"Type$1");var w=C;function _(t,e){var r=[];return t[e].forEach((function(t){var e=r.length;r.forEach((function(r,n){r.tag===t.tag&&r.kind===t.kind&&r.multi===t.multi&&(e=n)})),r[e]=t})),r}function v(){var t,e,r={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function i(t){t.multi?(r.multi[t.kind].push(t),r.multi.fallback.push(t)):r[t.kind][t.tag]=r.fallback[t.tag]=t}for((0,n.K2)(i,"collectType"),t=0,e=arguments.length;t=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)}),"binary"),octal:(0,n.K2)((function(t){return t>=0?"0o"+t.toString(8):"-0o"+t.toString(8).slice(1)}),"octal"),decimal:(0,n.K2)((function(t){return t.toString(10)}),"decimal"),hexadecimal:(0,n.K2)((function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)}),"hexadecimal")},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),q=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function j(t){return null!==t&&!(!q.test(t)||"_"===t[t.length-1])}function W(t){var e,r;return r="-"===(e=t.replace(/_/g,"").toLowerCase())[0]?-1:1,"+-".indexOf(e[0])>=0&&(e=e.slice(1)),".inf"===e?1===r?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===e?NaN:r*parseFloat(e,10)}(0,n.K2)(j,"resolveYamlFloat"),(0,n.K2)(W,"constructYamlFloat");var H=/^[-+]?[0-9]+e/;function U(t,e){var r;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(c.isNegativeZero(t))return"-0.0";return r=t.toString(10),H.test(r)?r.replace("e",".e"):r}function Y(t){return"[object Number]"===Object.prototype.toString.call(t)&&(t%1!=0||c.isNegativeZero(t))}(0,n.K2)(U,"representYamlFloat"),(0,n.K2)(Y,"isFloat");var G=new w("tag:yaml.org,2002:float",{kind:"scalar",resolve:j,construct:W,predicate:Y,represent:U,defaultStyle:"lowercase"}),V=T.extend({implicit:[L,D,z,G]}),Z=V,X=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),Q=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function J(t){return null!==t&&(null!==X.exec(t)||null!==Q.exec(t))}function tt(t){var e,r,n,i,a,o,s,l,h=0,c=null;if(null===(e=X.exec(t))&&(e=Q.exec(t)),null===e)throw new Error("Date resolve error");if(r=+e[1],n=+e[2]-1,i=+e[3],!e[4])return new Date(Date.UTC(r,n,i));if(a=+e[4],o=+e[5],s=+e[6],e[7]){for(h=e[7].slice(0,3);h.length<3;)h+="0";h=+h}return e[9]&&(c=6e4*(60*+e[10]+ +(e[11]||0)),"-"===e[9]&&(c=-c)),l=new Date(Date.UTC(r,n,i,a,o,s,h)),c&&l.setTime(l.getTime()-c),l}function et(t){return t.toISOString()}(0,n.K2)(J,"resolveYamlTimestamp"),(0,n.K2)(tt,"constructYamlTimestamp"),(0,n.K2)(et,"representYamlTimestamp");var rt=new w("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:J,construct:tt,instanceOf:Date,represent:et});function nt(t){return"<<"===t||null===t}(0,n.K2)(nt,"resolveYamlMerge");var it=new w("tag:yaml.org,2002:merge",{kind:"scalar",resolve:nt}),at="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";function ot(t){if(null===t)return!1;var e,r,n=0,i=t.length,a=at;for(r=0;r64)){if(e<0)return!1;n+=6}return n%8==0}function st(t){var e,r,n=t.replace(/[\r\n=]/g,""),i=n.length,a=at,o=0,s=[];for(e=0;e>16&255),s.push(o>>8&255),s.push(255&o)),o=o<<6|a.indexOf(n.charAt(e));return 0==(r=i%4*6)?(s.push(o>>16&255),s.push(o>>8&255),s.push(255&o)):18===r?(s.push(o>>10&255),s.push(o>>2&255)):12===r&&s.push(o>>4&255),new Uint8Array(s)}function lt(t){var e,r,n="",i=0,a=t.length,o=at;for(e=0;e>18&63],n+=o[i>>12&63],n+=o[i>>6&63],n+=o[63&i]),i=(i<<8)+t[e];return 0==(r=a%3)?(n+=o[i>>18&63],n+=o[i>>12&63],n+=o[i>>6&63],n+=o[63&i]):2===r?(n+=o[i>>10&63],n+=o[i>>4&63],n+=o[i<<2&63],n+=o[64]):1===r&&(n+=o[i>>2&63],n+=o[i<<4&63],n+=o[64],n+=o[64]),n}function ht(t){return"[object Uint8Array]"===Object.prototype.toString.call(t)}(0,n.K2)(ot,"resolveYamlBinary"),(0,n.K2)(st,"constructYamlBinary"),(0,n.K2)(lt,"representYamlBinary"),(0,n.K2)(ht,"isBinary");var ct=new w("tag:yaml.org,2002:binary",{kind:"scalar",resolve:ot,construct:st,predicate:ht,represent:lt}),ut=Object.prototype.hasOwnProperty,dt=Object.prototype.toString;function pt(t){if(null===t)return!0;var e,r,n,i,a,o=[],s=t;for(e=0,r=s.length;e>10),56320+(t-65536&1023))}(0,n.K2)(Ft,"_class"),(0,n.K2)($t,"is_EOL"),(0,n.K2)(Et,"is_WHITE_SPACE"),(0,n.K2)(Dt,"is_WS_OR_EOL"),(0,n.K2)(Ot,"is_FLOW_INDICATOR"),(0,n.K2)(It,"fromHexCode"),(0,n.K2)(Nt,"escapedHexLen"),(0,n.K2)(Rt,"fromDecimalCode"),(0,n.K2)(Pt,"simpleEscapeSequence"),(0,n.K2)(Kt,"charFromCodepoint");var zt,qt=new Array(256),jt=new Array(256);for(zt=0;zt<256;zt++)qt[zt]=Pt(zt)?1:0,jt[zt]=Pt(zt);function Wt(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||vt,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function Ht(t,e){var r={name:t.filename,buffer:t.input.slice(0,-1),position:t.position,line:t.line,column:t.position-t.lineStart};return r.snippet=m(r),new p(e,r)}function Ut(t,e){throw Ht(t,e)}function Yt(t,e){t.onWarning&&t.onWarning.call(null,Ht(t,e))}(0,n.K2)(Wt,"State$1"),(0,n.K2)(Ht,"generateError"),(0,n.K2)(Ut,"throwError"),(0,n.K2)(Yt,"throwWarning");var Gt={YAML:(0,n.K2)((function(t,e,r){var n,i,a;null!==t.version&&Ut(t,"duplication of %YAML directive"),1!==r.length&&Ut(t,"YAML directive accepts exactly one argument"),null===(n=/^([0-9]+)\.([0-9]+)$/.exec(r[0]))&&Ut(t,"ill-formed argument of the YAML directive"),i=parseInt(n[1],10),a=parseInt(n[2],10),1!==i&&Ut(t,"unacceptable YAML version of the document"),t.version=r[0],t.checkLineBreaks=a<2,1!==a&&2!==a&&Yt(t,"unsupported YAML version of the document")}),"handleYamlDirective"),TAG:(0,n.K2)((function(t,e,r){var n,i;2!==r.length&&Ut(t,"TAG directive accepts exactly two arguments"),n=r[0],i=r[1],Bt.test(n)||Ut(t,"ill-formed tag handle (first argument) of the TAG directive"),St.call(t.tagMap,n)&&Ut(t,'there is a previously declared suffix for "'+n+'" tag handle'),Lt.test(i)||Ut(t,"ill-formed tag prefix (second argument) of the TAG directive");try{i=decodeURIComponent(i)}catch(e){Ut(t,"tag prefix is malformed: "+i)}t.tagMap[n]=i}),"handleTagDirective")};function Vt(t,e,r,n){var i,a,o,s;if(e1&&(t.result+=c.repeat("\n",e-1))}function re(t,e,r){var n,i,a,o,s,l,h,c,u=t.kind,d=t.result;if(Dt(c=t.input.charCodeAt(t.position))||Ot(c)||35===c||38===c||42===c||33===c||124===c||62===c||39===c||34===c||37===c||64===c||96===c)return!1;if((63===c||45===c)&&(Dt(n=t.input.charCodeAt(t.position+1))||r&&Ot(n)))return!1;for(t.kind="scalar",t.result="",i=a=t.position,o=!1;0!==c;){if(58===c){if(Dt(n=t.input.charCodeAt(t.position+1))||r&&Ot(n))break}else if(35===c){if(Dt(t.input.charCodeAt(t.position-1)))break}else{if(t.position===t.lineStart&&te(t)||r&&Ot(c))break;if($t(c)){if(s=t.line,l=t.lineStart,h=t.lineIndent,Jt(t,!1,-1),t.lineIndent>=e){o=!0,c=t.input.charCodeAt(t.position);continue}t.position=a,t.line=s,t.lineStart=l,t.lineIndent=h;break}}o&&(Vt(t,i,a,!1),ee(t,t.line-s),i=a=t.position,o=!1),Et(c)||(a=t.position+1),c=t.input.charCodeAt(++t.position)}return Vt(t,i,a,!1),!!t.result||(t.kind=u,t.result=d,!1)}function ne(t,e){var r,n,i;if(39!==(r=t.input.charCodeAt(t.position)))return!1;for(t.kind="scalar",t.result="",t.position++,n=i=t.position;0!==(r=t.input.charCodeAt(t.position));)if(39===r){if(Vt(t,n,t.position,!0),39!==(r=t.input.charCodeAt(++t.position)))return!0;n=t.position,t.position++,i=t.position}else $t(r)?(Vt(t,n,i,!0),ee(t,Jt(t,!1,e)),n=i=t.position):t.position===t.lineStart&&te(t)?Ut(t,"unexpected end of the document within a single quoted scalar"):(t.position++,i=t.position);Ut(t,"unexpected end of the stream within a single quoted scalar")}function ie(t,e){var r,n,i,a,o,s;if(34!==(s=t.input.charCodeAt(t.position)))return!1;for(t.kind="scalar",t.result="",t.position++,r=n=t.position;0!==(s=t.input.charCodeAt(t.position));){if(34===s)return Vt(t,r,t.position,!0),t.position++,!0;if(92===s){if(Vt(t,r,t.position,!0),$t(s=t.input.charCodeAt(++t.position)))Jt(t,!1,e);else if(s<256&&qt[s])t.result+=jt[s],t.position++;else if((o=Nt(s))>0){for(i=o,a=0;i>0;i--)(o=It(s=t.input.charCodeAt(++t.position)))>=0?a=(a<<4)+o:Ut(t,"expected hexadecimal character");t.result+=Kt(a),t.position++}else Ut(t,"unknown escape sequence");r=n=t.position}else $t(s)?(Vt(t,r,n,!0),ee(t,Jt(t,!1,e)),r=n=t.position):t.position===t.lineStart&&te(t)?Ut(t,"unexpected end of the document within a double quoted scalar"):(t.position++,n=t.position)}Ut(t,"unexpected end of the stream within a double quoted scalar")}function ae(t,e){var r,n,i,a,o,s,l,h,c,u,d,p,f=!0,g=t.tag,y=t.anchor,m=Object.create(null);if(91===(p=t.input.charCodeAt(t.position)))o=93,h=!1,a=[];else{if(123!==p)return!1;o=125,h=!0,a={}}for(null!==t.anchor&&(t.anchorMap[t.anchor]=a),p=t.input.charCodeAt(++t.position);0!==p;){if(Jt(t,!0,e),(p=t.input.charCodeAt(t.position))===o)return t.position++,t.tag=g,t.anchor=y,t.kind=h?"mapping":"sequence",t.result=a,!0;f?44===p&&Ut(t,"expected the node content, but found ','"):Ut(t,"missed comma between flow collection entries"),d=null,s=l=!1,63===p&&Dt(t.input.charCodeAt(t.position+1))&&(s=l=!0,t.position++,Jt(t,!0,e)),r=t.line,n=t.lineStart,i=t.position,de(t,e,1,!1,!0),u=t.tag,c=t.result,Jt(t,!0,e),p=t.input.charCodeAt(t.position),!l&&t.line!==r||58!==p||(s=!0,p=t.input.charCodeAt(++t.position),Jt(t,!0,e),de(t,e,1,!1,!0),d=t.result),h?Xt(t,a,m,u,c,d,r,n,i):s?a.push(Xt(t,null,m,u,c,d,r,n,i)):a.push(c),Jt(t,!0,e),44===(p=t.input.charCodeAt(t.position))?(f=!0,p=t.input.charCodeAt(++t.position)):f=!1}Ut(t,"unexpected end of the stream within a flow collection")}function oe(t,e){var r,n,i,a,o=1,s=!1,l=!1,h=e,u=0,d=!1;if(124===(a=t.input.charCodeAt(t.position)))n=!1;else{if(62!==a)return!1;n=!0}for(t.kind="scalar",t.result="";0!==a;)if(43===(a=t.input.charCodeAt(++t.position))||45===a)1===o?o=43===a?3:2:Ut(t,"repeat of a chomping mode identifier");else{if(!((i=Rt(a))>=0))break;0===i?Ut(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):l?Ut(t,"repeat of an indentation width identifier"):(h=e+i-1,l=!0)}if(Et(a)){do{a=t.input.charCodeAt(++t.position)}while(Et(a));if(35===a)do{a=t.input.charCodeAt(++t.position)}while(!$t(a)&&0!==a)}for(;0!==a;){for(Qt(t),t.lineIndent=0,a=t.input.charCodeAt(t.position);(!l||t.lineIndenth&&(h=t.lineIndent),$t(a))u++;else{if(t.lineIndente)&&0!==n)Ut(t,"bad indentation of a sequence entry");else if(t.lineIndente)&&(m&&(o=t.line,s=t.lineStart,l=t.position),de(t,e,4,!0,i)&&(m?g=t.result:y=t.result),m||(Xt(t,d,p,f,g,y,o,s,l),f=g=y=null),Jt(t,!0,-1),h=t.input.charCodeAt(t.position)),(t.line===a||t.lineIndent>e)&&0!==h)Ut(t,"bad indentation of a mapping entry");else if(t.lineIndente?f=1:t.lineIndent===e?f=0:t.lineIndente?f=1:t.lineIndent===e?f=0:t.lineIndent tag; it should be "scalar", not "'+t.kind+'"'),l=0,h=t.implicitTypes.length;l"),null!==t.result&&u.kind!==t.kind&&Ut(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+u.kind+'", not "'+t.kind+'"'),u.resolve(t.result,t.tag)?(t.result=u.construct(t.result,t.tag),null!==t.anchor&&(t.anchorMap[t.anchor]=t.result)):Ut(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")}return null!==t.listener&&t.listener("close",t),null!==t.tag||null!==t.anchor||y}function pe(t){var e,r,n,i,a=t.position,o=!1;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap=Object.create(null),t.anchorMap=Object.create(null);0!==(i=t.input.charCodeAt(t.position))&&(Jt(t,!0,-1),i=t.input.charCodeAt(t.position),!(t.lineIndent>0||37!==i));){for(o=!0,i=t.input.charCodeAt(++t.position),e=t.position;0!==i&&!Dt(i);)i=t.input.charCodeAt(++t.position);for(n=[],(r=t.input.slice(e,t.position)).length<1&&Ut(t,"directive name must not be less than one character in length");0!==i;){for(;Et(i);)i=t.input.charCodeAt(++t.position);if(35===i){do{i=t.input.charCodeAt(++t.position)}while(0!==i&&!$t(i));break}if($t(i))break;for(e=t.position;0!==i&&!Dt(i);)i=t.input.charCodeAt(++t.position);n.push(t.input.slice(e,t.position))}0!==i&&Qt(t),St.call(Gt,r)?Gt[r](t,r,n):Yt(t,'unknown document directive "'+r+'"')}Jt(t,!0,-1),0===t.lineIndent&&45===t.input.charCodeAt(t.position)&&45===t.input.charCodeAt(t.position+1)&&45===t.input.charCodeAt(t.position+2)?(t.position+=3,Jt(t,!0,-1)):o&&Ut(t,"directives end mark is expected"),de(t,t.lineIndent-1,4,!1,!0),Jt(t,!0,-1),t.checkLineBreaks&&At.test(t.input.slice(a,t.position))&&Yt(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&te(t)?46===t.input.charCodeAt(t.position)&&(t.position+=3,Jt(t,!0,-1)):t.position=55296&&n<=56319&&e+1=56320&&r<=57343?1024*(n-55296)+r-56320+65536:n}function Ne(t){return/^\n* /.test(t)}function Re(t,e,r,n,i,a,o,s){var l,h=0,c=null,u=!1,d=!1,p=-1!==n,f=-1,g=De(Ie(t,0))&&Oe(Ie(t,t.length-1));if(e||o)for(l=0;l=65536?l+=2:l++){if(!Fe(h=Ie(t,l)))return 5;g=g&&Ee(h,c,s),c=h}else{for(l=0;l=65536?l+=2:l++){if(10===(h=Ie(t,l)))u=!0,p&&(d=d||l-f-1>n&&" "!==t[f+1],f=l);else if(!Fe(h))return 5;g=g&&Ee(h,c,s),c=h}d=d||p&&l-f-1>n&&" "!==t[f+1]}return u||d?r>9&&Ne(t)?5:o?2===a?5:2:d?4:3:!g||o||i(t)?2===a?5:2:1}function Pe(t,e,r,i,a){t.dump=function(){if(0===e.length)return 2===t.quotingType?'""':"''";if(!t.noCompatMode&&(-1!==we.indexOf(e)||_e.test(e)))return 2===t.quotingType?'"'+e+'"':"'"+e+"'";var o=t.indent*Math.max(1,r),s=-1===t.lineWidth?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-o),l=i||t.flowLevel>-1&&r>=t.flowLevel;function h(e){return Be(t,e)}switch((0,n.K2)(h,"testAmbiguity"),Re(e,l,t.indent,s,h,t.quotingType,t.forceQuotes&&!i,a)){case 1:return e;case 2:return"'"+e.replace(/'/g,"''")+"'";case 3:return"|"+Ke(e,t.indent)+ze(Ae(e,o));case 4:return">"+Ke(e,t.indent)+ze(Ae(qe(e,s),o));case 5:return'"'+We(e)+'"';default:throw new p("impossible error: invalid scalar style")}}()}function Ke(t,e){var r=Ne(t)?String(e):"",n="\n"===t[t.length-1];return r+(!n||"\n"!==t[t.length-2]&&"\n"!==t?n?"":"-":"+")+"\n"}function ze(t){return"\n"===t[t.length-1]?t.slice(0,-1):t}function qe(t,e){for(var r,n,i,a=/(\n+)([^\n]*)/g,o=(r=-1!==(r=t.indexOf("\n"))?r:t.length,a.lastIndex=r,je(t.slice(0,r),e)),s="\n"===t[0]||" "===t[0];i=a.exec(t);){var l=i[1],h=i[2];n=" "===h[0],o+=l+(s||n||""===h?"":"\n")+je(h,e),s=n}return o}function je(t,e){if(""===t||" "===t[0])return t;for(var r,n,i=/ [^ ]/g,a=0,o=0,s=0,l="";r=i.exec(t);)(s=r.index)-a>e&&(n=o>a?o:s,l+="\n"+t.slice(a,n),a=n+1),o=s;return l+="\n",t.length-a>e&&o>a?l+=t.slice(a,o)+"\n"+t.slice(o+1):l+=t.slice(a),l.slice(1)}function We(t){for(var e,r="",n=0,i=0;i=65536?i+=2:i++)n=Ie(t,i),!(e=Ce[n])&&Fe(n)?(r+=t[i],n>=65536&&(r+=t[i+1])):r+=e||Se(n);return r}function He(t,e,r){var n,i,a,o="",s=t.tag;for(n=0,i=r.length;n1024&&(s+="? "),s+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),Ze(t,e,o,!1,!1)&&(l+=s+=t.dump));t.tag=h,t.dump="{"+l+"}"}function Ge(t,e,r,n){var i,a,o,s,l,h,c="",u=t.tag,d=Object.keys(r);if(!0===t.sortKeys)d.sort();else if("function"==typeof t.sortKeys)d.sort(t.sortKeys);else if(t.sortKeys)throw new p("sortKeys must be a boolean or a function");for(i=0,a=d.length;i1024)&&(t.dump&&10===t.dump.charCodeAt(0)?h+="?":h+="? "),h+=t.dump,l&&(h+=Me(t,e)),Ze(t,e+1,s,!0,l)&&(t.dump&&10===t.dump.charCodeAt(0)?h+=":":h+=": ",c+=h+=t.dump));t.tag=u,t.dump=c||"{}"}function Ve(t,e,r){var n,i,a,o,s,l;for(a=0,o=(i=r?t.explicitTypes:t.implicitTypes).length;a tag resolver accepts not "'+l+'" style');n=s.represent[l](e,l)}t.dump=n}return!0}return!1}function Ze(t,e,r,n,i,a,o){t.tag=null,t.dump=r,Ve(t,r,!1)||Ve(t,r,!0);var s,l=xe.call(t.dump),h=n;n&&(n=t.flowLevel<0||t.flowLevel>e);var c,u,d="[object Object]"===l||"[object Array]"===l;if(d&&(u=-1!==(c=t.duplicates.indexOf(r))),(null!==t.tag&&"?"!==t.tag||u||2!==t.indent&&e>0)&&(i=!1),u&&t.usedDuplicates[c])t.dump="*ref_"+c;else{if(d&&u&&!t.usedDuplicates[c]&&(t.usedDuplicates[c]=!0),"[object Object]"===l)n&&0!==Object.keys(t.dump).length?(Ge(t,e,t.dump,i),u&&(t.dump="&ref_"+c+t.dump)):(Ye(t,e,t.dump),u&&(t.dump="&ref_"+c+" "+t.dump));else if("[object Array]"===l)n&&0!==t.dump.length?(t.noArrayIndent&&!o&&e>0?Ue(t,e-1,t.dump,i):Ue(t,e,t.dump,i),u&&(t.dump="&ref_"+c+t.dump)):(He(t,e,t.dump),u&&(t.dump="&ref_"+c+" "+t.dump));else{if("[object String]"!==l){if("[object Undefined]"===l)return!1;if(t.skipInvalid)return!1;throw new p("unacceptable kind of an object to dump "+l)}"?"!==t.tag&&Pe(t,t.dump,e,a,h)}null!==t.tag&&"?"!==t.tag&&(s=encodeURI("!"===t.tag[0]?t.tag.slice(1):t.tag).replace(/!/g,"%21"),s="!"===t.tag[0]?"!"+s:"tag:yaml.org,2002:"===s.slice(0,18)?"!!"+s.slice(18):"!<"+s+">",t.dump=s+" "+t.dump)}return!0}function Xe(t,e){var r,n,i=[],a=[];for(Qe(t,i,a),r=0,n=a.length;r{for(var r in e)i.o(e,r)&&!i.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},i.f={},i.e=t=>Promise.all(Object.keys(i.f).reduce(((e,r)=>(i.f[r](t,e),e)),[])),i.u=t=>"js/"+t+"-"+{12:"0b8427d1",56:"09931933",110:"f4b990d9",130:"3b252fb9",164:"c7b61128",165:"06872da1",175:"2944b44a",237:"c0a3f3fe",240:"8ca3ada2",244:"45e1a422",354:"5c1850f7",355:"ef4f96e9",357:"e9bfa102",383:"676aedef",387:"3546ecdc",391:"549a9d24",410:"3bccc12d",413:"c02a8543",417:"65958f5a",452:"e65d6d68",485:"6a3d102c",540:"ae28fd42",545:"bfa2b46e",567:"4fef9a1a",632:"7a25d3c6",648:"b5ba4bb4",664:"ed5252a5",691:"2a6930fd",720:"970f726e",723:"47eb515a",731:"70ea2831",732:"8e5770e7",758:"18005d5c",825:"fe49e4aa",890:"c9907c95",978:"b543144f"}[t]+".chunk.min.js",i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),t={},e="geekdoc:",i.l=(r,n,a,o)=>{if(t[r])t[r].push(n);else{var s,l;if(void 0!==a)for(var h=document.getElementsByTagName("script"),c=0;c{s.onerror=s.onload=null,clearTimeout(p);var i=t[r];if(delete t[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((t=>t(n))),e)return e(n)},p=setTimeout(d.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=d.bind(null,s.onerror),s.onload=d.bind(null,s.onload),l&&document.head.appendChild(s)}},i.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},(()=>{var t;i.g.importScripts&&(t=i.g.location+"");var e=i.g.document;if(!t&&e&&(e.currentScript&&"SCRIPT"===e.currentScript.tagName.toUpperCase()&&(t=e.currentScript.src),!t)){var r=e.getElementsByTagName("script");if(r.length)for(var n=r.length-1;n>-1&&(!t||!/^http(s?):/.test(t));)t=r[n--].src}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),i.p=t+"../"})(),(()=>{var t={304:0};i.f.j=(e,r)=>{var n=i.o(t,e)?t[e]:void 0;if(0!==n)if(n)r.push(n[2]);else{var a=new Promise(((r,i)=>n=t[e]=[r,i]));r.push(n[2]=a);var o=i.p+i.u(e),s=new Error;i.l(o,(r=>{if(i.o(t,e)&&(0!==(n=t[e])&&(t[e]=void 0),n)){var a=r&&("load"===r.type?"missing":r.type),o=r&&r.target&&r.target.src;s.message="Loading chunk "+e+" failed.\n("+a+": "+o+")",s.name="ChunkLoadError",s.type=a,s.request=o,n[1](s)}}),"chunk-"+e,e)}};var e=(e,r)=>{var n,a,[o,s,l]=r,h=0;if(o.some((e=>0!==t[e]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);l&&l(i)}for(e&&e(r);h{"use strict";var t=i(7148);const e={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};let r;const n=new Uint8Array(16),a=[];for(let t=0;t<256;++t)a.push((t+256).toString(16).slice(1));const o=function(t,i,o){if(e.randomUUID&&!i&&!t)return e.randomUUID();const s=(t=t||{}).random??t.rng?.()??function(){if(!r){if("undefined"==typeof crypto||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");r=crypto.getRandomValues.bind(crypto)}return r(n)}();if(s.length<16)throw new Error("Random bytes length must be >= 16");if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,i){if((o=o||0)<0||o+16>i.length)throw new RangeError(`UUID byte range ${o}:${o+15} is out of buffer bounds`);for(let t=0;t<16;++t)i[o+t]=s[t];return i}return function(t,e=0){return(a[t[e+0]]+a[t[e+1]]+a[t[e+2]]+a[t[e+3]]+"-"+a[t[e+4]]+a[t[e+5]]+"-"+a[t[e+6]]+a[t[e+7]]+"-"+a[t[e+8]]+a[t[e+9]]+"-"+a[t[e+10]]+a[t[e+11]]+a[t[e+12]]+a[t[e+13]]+a[t[e+14]]+a[t[e+15]]).toLowerCase()}(s)},s="auto";var l=i(9874),h=i(7308),c=(i(7938),i(1282),i(1099)),u=(i(7588),i(3115),i(6058),i(8159)),d=i(6144),p=i(7286),f=i(9502),g=i(513),y=i(4852),m="comm",x="rule",b="decl",k=Math.abs,C=String.fromCharCode;function w(t){return t.trim()}function _(t,e,r){return t.replace(e,r)}function v(t,e,r){return t.indexOf(e,r)}function S(t,e){return 0|t.charCodeAt(e)}function T(t,e,r){return t.slice(e,r)}function A(t){return t.length}function M(t,e){return e.push(t),t}function B(t,e){for(var r="",n=0;n0?S(I,--D):0,$--,10===O&&($=1,F--),O}function P(){return O=D2||j(O)>3?"":" "}function U(t,e){for(;--e&&P()&&!(O<48||O>102||O>57&&O<65||O>70&&O<97););return q(t,z()+(e<6&&32==K()&&32==P()))}function Y(t){for(;P();)switch(O){case t:return D;case 34:case 39:34!==t&&39!==t&&Y(O);break;case 40:41===t&&Y(t);break;case 92:P()}return D}function G(t,e){for(;P()&&t+O!==57&&(t+O!==84||47!==K()););return"/*"+q(e,D-1)+"*"+C(47===t?t:P())}function V(t){for(;!j(K());)P();return q(t,D)}function Z(t){return function(t){return I="",t}(X("",null,null,null,[""],t=function(t){return F=$=1,E=A(I=t),D=0,[]}(t),0,[0],t))}function X(t,e,r,n,i,a,o,s,l){for(var h=0,c=0,u=o,d=0,p=0,f=0,g=1,y=1,m=1,x=0,b="",w=i,B=a,L=n,F=b;y;)switch(f=x,x=P()){case 40:if(108!=f&&58==S(F,u-1)){-1!=v(F+=_(W(x),"&","&\f"),"&\f",k(h?s[h-1]:0))&&(m=-1);break}case 34:case 39:case 91:F+=W(x);break;case 9:case 10:case 13:case 32:F+=H(f);break;case 92:F+=U(z()-1,7);continue;case 47:switch(K()){case 42:case 47:M(J(G(P(),z()),e,r,l),l),5!=j(f||1)&&5!=j(K()||1)||!A(F)||" "===T(F,-1,void 0)||(F+=" ");break;default:F+="/"}break;case 123*g:s[h++]=A(F)*m;case 125*g:case 59:case 0:switch(x){case 0:case 125:y=0;case 59+c:-1==m&&(F=_(F,/\f/g,"")),p>0&&(A(F)-u||0===g&&47===f)&&M(p>32?tt(F+";",n,r,u-1,l):tt(_(F," ","")+";",n,r,u-2,l),l);break;case 59:F+=";";default:if(M(L=Q(F,e,r,h,c,i,s,b,w=[],B=[],u,a),a),123===x)if(0===c)X(F,e,L,L,w,a,u,s,B);else switch(99===d&&110===S(F,3)?100:d){case 100:case 108:case 109:case 115:X(t,L,L,n&&M(Q(t,L,L,0,0,i,s,b,i,w=[],u,B),B),i,B,u,s,n?w:B);break;default:X(F,L,L,L,[""],B,0,s,B)}}h=c=p=0,g=m=1,b=F="",u=o;break;case 58:u=1+A(F),p=f;default:if(g<1)if(123==x)--g;else if(125==x&&0==g++&&125==R())continue;switch(F+=C(x),x*g){case 38:m=c>0?1:(F+="\f",-1);break;case 44:s[h++]=(A(F)-1)*m,m=1;break;case 64:45===K()&&(F+=W(P())),d=K(),c=u=A(b=F+=V(z())),x++;break;case 45:45===f&&2==A(F)&&(g=0)}}return a}function Q(t,e,r,n,i,a,o,s,l,h,c,u){for(var d=i-1,p=0===i?a:[""],f=function(t){return t.length}(p),g=0,y=0,m=0;g0?p[b]+" "+C:_(C,/&\f/g,p[b])))&&(l[m++]=v);return N(t,e,r,0===i?x:s,l,h,c,u)}function J(t,e,r,n){return N(t,e,r,m,C(O),T(t,2,-2),0,n)}function tt(t,e,r,n,i){return N(t,e,r,b,T(t,0,n),T(t,n+1,-1),n,i)}var et=i(9418),rt=i(6401),nt={id:"c4",detector:(0,f.K2)((t=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(t)),"detector"),loader:(0,f.K2)((async()=>{const{diagram:t}=await i.e(664).then(i.bind(i,2664));return{id:"c4",diagram:t}}),"loader")},it="flowchart",at={id:it,detector:(0,f.K2)(((t,e)=>"dagre-wrapper"!==e?.flowchart?.defaultRenderer&&"elk"!==e?.flowchart?.defaultRenderer&&/^\s*graph/.test(t)),"detector"),loader:(0,f.K2)((async()=>{const{diagram:t}=await i.e(485).then(i.bind(i,4485));return{id:it,diagram:t}}),"loader")},ot="flowchart-v2",st={id:ot,detector:(0,f.K2)(((t,e)=>"dagre-d3"!==e?.flowchart?.defaultRenderer&&("elk"===e?.flowchart?.defaultRenderer&&(e.layout="elk"),!(!/^\s*graph/.test(t)||"dagre-wrapper"!==e?.flowchart?.defaultRenderer)||/^\s*flowchart/.test(t))),"detector"),loader:(0,f.K2)((async()=>{const{diagram:t}=await i.e(485).then(i.bind(i,4485));return{id:ot,diagram:t}}),"loader")},lt={id:"er",detector:(0,f.K2)((t=>/^\s*erDiagram/.test(t)),"detector"),loader:(0,f.K2)((async()=>{const{diagram:t}=await Promise.all([i.e(164),i.e(567),i.e(417)]).then(i.bind(i,5417));return{id:"er",diagram:t}}),"loader")},ht="gitGraph",ct={id:ht,detector:(0,f.K2)((t=>/^\s*gitGraph/.test(t)),"detector"),loader:(0,f.K2)((async()=>{const{diagram:t}=await Promise.all([i.e(164),i.e(731),i.e(978)]).then(i.bind(i,5978));return{id:ht,diagram:t}}),"loader")},ut="gantt",dt={id:ut,detector:(0,f.K2)((t=>/^\s*gantt/.test(t)),"detector"),loader:(0,f.K2)((async()=>{const{diagram:t}=await i.e(244).then(i.bind(i,6244));return{id:ut,diagram:t}}),"loader")},pt="info",ft={id:pt,detector:(0,f.K2)((t=>/^\s*info/.test(t)),"detector"),loader:(0,f.K2)((async()=>{const{diagram:t}=await Promise.all([i.e(164),i.e(731),i.e(354)]).then(i.bind(i,7354));return{id:pt,diagram:t}}),"loader")},gt={id:"pie",detector:(0,f.K2)((t=>/^\s*pie/.test(t)),"detector"),loader:(0,f.K2)((async()=>{const{diagram:t}=await Promise.all([i.e(164),i.e(731),i.e(825)]).then(i.bind(i,1825));return{id:"pie",diagram:t}}),"loader")},yt="quadrantChart",mt={id:yt,detector:(0,f.K2)((t=>/^\s*quadrantChart/.test(t)),"detector"),loader:(0,f.K2)((async()=>{const{diagram:t}=await i.e(632).then(i.bind(i,2251));return{id:yt,diagram:t}}),"loader")},xt="xychart",bt={id:xt,detector:(0,f.K2)((t=>/^\s*xychart-beta/.test(t)),"detector"),loader:(0,f.K2)((async()=>{const{diagram:t}=await i.e(545).then(i.bind(i,545));return{id:xt,diagram:t}}),"loader")},kt="requirement",Ct={id:kt,detector:(0,f.K2)((t=>/^\s*requirement(Diagram)?/.test(t)),"detector"),loader:(0,f.K2)((async()=>{const{diagram:t}=await Promise.all([i.e(164),i.e(567),i.e(413)]).then(i.bind(i,8413));return{id:kt,diagram:t}}),"loader")},wt="sequence",_t={id:wt,detector:(0,f.K2)((t=>/^\s*sequenceDiagram/.test(t)),"detector"),loader:(0,f.K2)((async()=>{const{diagram:t}=await i.e(540).then(i.bind(i,8540));return{id:wt,diagram:t}}),"loader")},vt="class",St={id:vt,detector:(0,f.K2)(((t,e)=>"dagre-wrapper"!==e?.class?.defaultRenderer&&/^\s*classDiagram/.test(t)),"detector"),loader:(0,f.K2)((async()=>{const{diagram:t}=await Promise.all([i.e(240),i.e(391)]).then(i.bind(i,391));return{id:vt,diagram:t}}),"loader")},Tt="classDiagram",At={id:Tt,detector:(0,f.K2)(((t,e)=>!(!/^\s*classDiagram/.test(t)||"dagre-wrapper"!==e?.class?.defaultRenderer)||/^\s*classDiagram-v2/.test(t)),"detector"),loader:(0,f.K2)((async()=>{const{diagram:t}=await Promise.all([i.e(240),i.e(56)]).then(i.bind(i,3056));return{id:Tt,diagram:t}}),"loader")},Mt="state",Bt={id:Mt,detector:(0,f.K2)(((t,e)=>"dagre-wrapper"!==e?.state?.defaultRenderer&&/^\s*stateDiagram/.test(t)),"detector"),loader:(0,f.K2)((async()=>{const{diagram:t}=await Promise.all([i.e(164),i.e(567),i.e(758),i.e(732)]).then(i.bind(i,9732));return{id:Mt,diagram:t}}),"loader")},Lt="stateDiagram",Ft={id:Lt,detector:(0,f.K2)(((t,e)=>!!/^\s*stateDiagram-v2/.test(t)||!(!/^\s*stateDiagram/.test(t)||"dagre-wrapper"!==e?.state?.defaultRenderer)),"detector"),loader:(0,f.K2)((async()=>{const{diagram:t}=await Promise.all([i.e(758),i.e(110)]).then(i.bind(i,5110));return{id:Lt,diagram:t}}),"loader")},$t="journey",Et={id:$t,detector:(0,f.K2)((t=>/^\s*journey/.test(t)),"detector"),loader:(0,f.K2)((async()=>{const{diagram:t}=await i.e(237).then(i.bind(i,6237));return{id:$t,diagram:t}}),"loader")},Dt={draw:(0,f.K2)(((t,e,r)=>{f.Rm.debug("rendering svg for syntax error\n");const n=(0,p.D)(e),i=n.append("g");n.attr("viewBox","0 0 2412 512"),(0,f.a$)(n,100,512,!0),i.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),i.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),i.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),i.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),i.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),i.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),i.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),i.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${r}`)}),"draw")},Ot=Dt,It={db:{},renderer:Dt,parser:{parse:(0,f.K2)((()=>{}),"parse")}},Nt="flowchart-elk",Rt={id:Nt,detector:(0,f.K2)(((t,e={})=>!!(/^\s*flowchart-elk/.test(t)||/^\s*flowchart|graph/.test(t)&&"elk"===e?.flowchart?.defaultRenderer)&&(e.layout="elk",!0)),"detector"),loader:(0,f.K2)((async()=>{const{diagram:t}=await i.e(485).then(i.bind(i,4485));return{id:Nt,diagram:t}}),"loader")},Pt="timeline",Kt={id:Pt,detector:(0,f.K2)((t=>/^\s*timeline/.test(t)),"detector"),loader:(0,f.K2)((async()=>{const{diagram:t}=await i.e(691).then(i.bind(i,7691));return{id:Pt,diagram:t}}),"loader")},zt="mindmap",qt={id:zt,detector:(0,f.K2)((t=>/^\s*mindmap/.test(t)),"detector"),loader:(0,f.K2)((async()=>{const{diagram:t}=await Promise.all([i.e(165),i.e(383)]).then(i.bind(i,6383));return{id:zt,diagram:t}}),"loader")},jt="kanban",Wt={id:jt,detector:(0,f.K2)((t=>/^\s*kanban/.test(t)),"detector"),loader:(0,f.K2)((async()=>{const{diagram:t}=await i.e(355).then(i.bind(i,6355));return{id:jt,diagram:t}}),"loader")},Ht="sankey",Ut={id:Ht,detector:(0,f.K2)((t=>/^\s*sankey-beta/.test(t)),"detector"),loader:(0,f.K2)((async()=>{const{diagram:t}=await i.e(648).then(i.bind(i,3648));return{id:Ht,diagram:t}}),"loader")},Yt="packet",Gt={id:Yt,detector:(0,f.K2)((t=>/^\s*packet-beta/.test(t)),"detector"),loader:(0,f.K2)((async()=>{const{diagram:t}=await Promise.all([i.e(164),i.e(731),i.e(357)]).then(i.bind(i,7357));return{id:Yt,diagram:t}}),"loader")},Vt="block",Zt={id:Vt,detector:(0,f.K2)((t=>/^\s*block-beta/.test(t)),"detector"),loader:(0,f.K2)((async()=>{const{diagram:t}=await Promise.all([i.e(164),i.e(410)]).then(i.bind(i,172));return{id:Vt,diagram:t}}),"loader")},Xt="architecture",Qt={id:Xt,detector:(0,f.K2)((t=>/^\s*architecture/.test(t)),"detector"),loader:(0,f.K2)((async()=>{const{diagram:t}=await Promise.all([i.e(164),i.e(731),i.e(165),i.e(175)]).then(i.bind(i,3175));return{id:Xt,diagram:t}}),"loader")},Jt=!1,te=(0,f.K2)((()=>{Jt||(Jt=!0,(0,f.Js)("error",It,(t=>"error"===t.toLowerCase().trim())),(0,f.Js)("---",{db:{clear:(0,f.K2)((()=>{}),"clear")},styles:{},renderer:{draw:(0,f.K2)((()=>{}),"draw")},parser:{parse:(0,f.K2)((()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")}),"parse")},init:(0,f.K2)((()=>null),"init")},(t=>t.toLowerCase().trimStart().startsWith("---"))),(0,f.Xd)(nt,Wt,At,St,lt,dt,ft,gt,Ct,_t,Rt,st,at,qt,Kt,ct,Ft,Bt,Et,mt,Ut,Gt,bt,Zt,Qt))}),"addDiagrams"),ee=(0,f.K2)((async()=>{f.Rm.debug("Loading registered diagrams");const t=(await Promise.allSettled(Object.entries(f.mW).map((async([t,{detector:e,loader:r}])=>{if(r)try{(0,f.Gs)(t)}catch{try{const{diagram:t,id:n}=await r();(0,f.Js)(n,t,e)}catch(e){throw f.Rm.error(`Failed to load external diagram with key ${t}. Removing from detectors.`),delete f.mW[t],e}}})))).filter((t=>"rejected"===t.status));if(t.length>0){f.Rm.error(`Failed to load ${t.length} external diagrams`);for(const e of t)f.Rm.error(e);throw new Error(`Failed to load ${t.length} external diagrams`)}}),"loadRegisteredDiagrams");function re(t,e){t.attr("role","graphics-document document"),""!==e&&t.attr("aria-roledescription",e)}function ne(t,e,r,n){if(void 0!==t.insert){if(r){const e=`chart-desc-${n}`;t.attr("aria-describedby",e),t.insert("desc",":first-child").attr("id",e).text(r)}if(e){const r=`chart-title-${n}`;t.attr("aria-labelledby",r),t.insert("title",":first-child").attr("id",r).text(e)}}}(0,f.K2)(re,"setA11yDiagramInfo"),(0,f.K2)(ne,"addSVGa11yTitleDescription");var ie=class t{constructor(t,e,r,n,i){this.type=t,this.text=e,this.db=r,this.parser=n,this.renderer=i}static{(0,f.K2)(this,"Diagram")}static async fromText(e,r={}){const n=(0,f.zj)(),i=(0,f.Ch)(e,n);e=(0,u.C4)(e)+"\n";try{(0,f.Gs)(i)}catch{const t=(0,f.J$)(i);if(!t)throw new f.C0(`Diagram ${i} not found.`);const{id:e,diagram:r}=await t();(0,f.Js)(e,r)}const{db:a,parser:o,renderer:s,init:l}=(0,f.Gs)(i);return o.parser&&(o.parser.yy=a),a.clear?.(),l?.(n),r.title&&a.setDiagramTitle?.(r.title),await o.parse(e),new t(i,e,a,o,s)}async render(t,e){await this.renderer.draw(this.text,t,e,this)}getParser(){return this.parser}getType(){return this.type}},ae=[],oe=(0,f.K2)((()=>{ae.forEach((t=>{t()})),ae=[]}),"attachFunctions"),se=(0,f.K2)((t=>t.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart()),"cleanupComments");function le(t){const e=t.match(f.EJ);if(!e)return{text:t,metadata:{}};let r=(0,l.H)(e[1],{schema:l.r})??{};r="object"!=typeof r||Array.isArray(r)?{}:r;const n={};return r.displayMode&&(n.displayMode=r.displayMode.toString()),r.title&&(n.title=r.title.toString()),r.config&&(n.config=r.config),{text:t.slice(e[0].length),metadata:n}}(0,f.K2)(le,"extractFrontMatter");var he=(0,f.K2)((t=>t.replace(/\r\n?/g,"\n").replace(/<(\w+)([^>]*)>/g,((t,e,r)=>"<"+e+r.replace(/="([^"]*)"/g,"='$1'")+">"))),"cleanupText"),ce=(0,f.K2)((t=>{const{text:e,metadata:r}=le(t),{displayMode:n,title:i,config:a={}}=r;return n&&(a.gantt||(a.gantt={}),a.gantt.displayMode=n),{title:i,config:a,text:e}}),"processFrontmatter"),ue=(0,f.K2)((t=>{const e=u._K.detectInit(t)??{},r=u._K.detectDirective(t,"wrap");return Array.isArray(r)?e.wrap=r.some((({type:t})=>"wrap"===t)):"wrap"===r?.type&&(e.wrap=!0),{text:(0,u.vU)(t),directive:e}}),"processDirectives");function de(t){const e=he(t),r=ce(e),n=ue(r.text),i=(0,u.$t)(r.config,n.directive);return{code:t=se(n.text),title:r.title,config:i}}function pe(t){const e=(new TextEncoder).encode(t),r=Array.from(e,(t=>String.fromCodePoint(t))).join("");return btoa(r)}(0,f.K2)(de,"preprocessDiagram"),(0,f.K2)(pe,"toBase64");var fe=["foreignobject"],ge=["dominant-baseline"];function ye(t){const e=de(t);return(0,f.cL)(),(0,f.xA)(e.config??{}),e}async function me(t,e){te();try{const{code:e,config:r}=ye(t);return{diagramType:(await Me(e)).type,config:r}}catch(t){if(e?.suppressErrors)return!1;throw t}}(0,f.K2)(ye,"processAndSetConfigs"),(0,f.K2)(me,"parse");var xe=(0,f.K2)(((t,e,r=[])=>`\n.${t} ${e} { ${r.join(" !important; ")} !important; }`),"cssImportantStyles"),be=(0,f.K2)(((t,e=new Map)=>{let r="";if(void 0!==t.themeCSS&&(r+=`\n${t.themeCSS}`),void 0!==t.fontFamily&&(r+=`\n:root { --mermaid-font-family: ${t.fontFamily}}`),void 0!==t.altFontFamily&&(r+=`\n:root { --mermaid-alt-font-family: ${t.altFontFamily}}`),e instanceof Map){const n=t.htmlLabels??t.flowchart?.htmlLabels?["> *","span"]:["rect","polygon","ellipse","circle","path"];e.forEach((t=>{(0,rt.A)(t.styles)||n.forEach((e=>{r+=xe(t.id,e,t.styles)})),(0,rt.A)(t.textStyles)||(r+=xe(t.id,"tspan",(t?.textStyles||[]).map((t=>t.replace("color","fill")))))}))}return r}),"createCssStyles"),ke=(0,f.K2)(((t,e,r,n)=>{const i=be(t,r);return B(Z(`${n}{${(0,f.tM)(e,i,t.themeVariables)}}`),L)}),"createUserStyles"),Ce=(0,f.K2)(((t="",e,r)=>{let n=t;return r||e||(n=n.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),n=(0,u.Sm)(n),n=n.replace(/
    /g,"
    "),n}),"cleanUpSvgCode"),we=(0,f.K2)(((t="",e)=>``),"putIntoIFrame"),_e=(0,f.K2)(((t,e,r,n,i)=>{const a=t.append("div");a.attr("id",r),n&&a.attr("style",n);const o=a.append("svg").attr("id",e).attr("width","100%").attr("xmlns","http://www.w3.org/2000/svg");return i&&o.attr("xmlns:xlink",i),o.append("g"),t}),"appendDivSvgG");function ve(t,e){return t.append("iframe").attr("id",e).attr("style","width: 100%; height: 100%;").attr("sandbox","")}(0,f.K2)(ve,"sandboxedIframe");var Se=(0,f.K2)(((t,e,r,n)=>{t.getElementById(e)?.remove(),t.getElementById(r)?.remove(),t.getElementById(n)?.remove()}),"removeExistingElements"),Te=(0,f.K2)((async function(t,e,r){te();const n=ye(e);e=n.code;const i=(0,f.zj)();f.Rm.debug(i),e.length>(i?.maxTextSize??5e4)&&(e="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa");const a="#"+t,o="i"+t,s="#"+o,l="d"+t,h="#"+l,c=(0,f.K2)((()=>{const t=p?s:h,e=(0,y.Ltv)(t).node();e&&"remove"in e&&e.remove()}),"removeTempElements");let u=(0,y.Ltv)("body");const p="sandbox"===i.securityLevel,g="loose"===i.securityLevel,m=i.fontFamily;if(void 0!==r){if(r&&(r.innerHTML=""),p){const t=ve((0,y.Ltv)(r),o);u=(0,y.Ltv)(t.nodes()[0].contentDocument.body),u.node().style.margin=0}else u=(0,y.Ltv)(r);_e(u,t,l,`font-family: ${m}`,"http://www.w3.org/1999/xlink")}else{if(Se(document,t,l,o),p){const t=ve((0,y.Ltv)("body"),o);u=(0,y.Ltv)(t.nodes()[0].contentDocument.body),u.node().style.margin=0}else u=(0,y.Ltv)("body");_e(u,t,l)}let x,b;try{x=await ie.fromText(e,{title:n.title})}catch(t){if(i.suppressErrorRendering)throw c(),t;x=await ie.fromText("error"),b=t}const k=u.select(h).node(),C=x.type,w=k.firstChild,_=w.firstChild,v=x.renderer.getClasses?.(e,x),S=ke(i,C,v,a),T=document.createElement("style");T.innerHTML=S,w.insertBefore(T,_);try{await x.renderer.draw(e,t,d.r,x)}catch(r){throw i.suppressErrorRendering?c():Ot.draw(e,t,d.r),r}const A=u.select(`${h} svg`),M=x.db.getAccTitle?.(),B=x.db.getAccDescription?.();Be(C,A,M,B),u.select(`[id="${t}"]`).selectAll("foreignobject > *").attr("xmlns","http://www.w3.org/1999/xhtml");let L=u.select(h).node().innerHTML;if(f.Rm.debug("config.arrowMarkerAbsolute",i.arrowMarkerAbsolute),L=Ce(L,p,(0,f._3)(i.arrowMarkerAbsolute)),p){const t=u.select(h+" svg").node();L=we(L,t)}else g||(L=et.A.sanitize(L,{ADD_TAGS:fe,ADD_ATTR:ge,HTML_INTEGRATION_POINTS:{foreignobject:!0}}));if(oe(),b)throw b;return c(),{diagramType:C,svg:L,bindFunctions:x.db.bindFunctions}}),"render");function Ae(t={}){const e=(0,f.hH)({},t);e?.fontFamily&&!e.themeVariables?.fontFamily&&(e.themeVariables||(e.themeVariables={}),e.themeVariables.fontFamily=e.fontFamily),(0,f.wZ)(e),e?.theme&&e.theme in f.H$?e.themeVariables=f.H$[e.theme].getThemeVariables(e.themeVariables):e&&(e.themeVariables=f.H$.default.getThemeVariables(e.themeVariables));const r="object"==typeof e?(0,f.UU)(e):(0,f.Q2)();(0,f.He)(r.logLevel),te()}(0,f.K2)(Ae,"initialize");var Me=(0,f.K2)(((t,e={})=>{const{code:r}=de(t);return ie.fromText(r,e)}),"getDiagramFromText");function Be(t,e,r,n){re(e,t),ne(e,r,n,e.attr("id"))}(0,f.K2)(Be,"addA11yInfo");var Le=Object.freeze({render:Te,parse:me,getDiagramFromText:Me,initialize:Ae,getConfig:f.zj,setConfig:f.Nk,getSiteConfig:f.Q2,updateSiteConfig:f.B6,reset:(0,f.K2)((()=>{(0,f.cL)()}),"reset"),globalReset:(0,f.K2)((()=>{(0,f.cL)(f.sb)}),"globalReset"),defaultConfig:f.sb});(0,f.He)((0,f.zj)().logLevel),(0,f.cL)((0,f.zj)());var Fe=(0,f.K2)(((t,e,r)=>{f.Rm.warn(t),(0,u.dq)(t)?(r&&r(t.str,t.hash),e.push({...t,message:t.str,error:t})):(r&&r(t),t instanceof Error&&e.push({str:t.message,message:t.message,hash:t.name,error:t}))}),"handleError"),$e=(0,f.K2)((async function(t={querySelector:".mermaid"}){try{await Ee(t)}catch(e){if((0,u.dq)(e)&&f.Rm.error(e.str),We.parseError&&We.parseError(e),!t.suppressErrors)throw f.Rm.error("Use the suppressErrors option to suppress these errors"),e}}),"run"),Ee=(0,f.K2)((async function({postRenderCallback:t,querySelector:e,nodes:r}={querySelector:".mermaid"}){const n=Le.getConfig();let i;if(f.Rm.debug((t?"":"No ")+"Callback function found"),r)i=r;else{if(!e)throw new Error("Nodes and querySelector are both undefined");i=document.querySelectorAll(e)}f.Rm.debug(`Found ${i.length} diagrams`),void 0!==n?.startOnLoad&&(f.Rm.debug("Start On Load: "+n?.startOnLoad),Le.updateSiteConfig({startOnLoad:n?.startOnLoad}));const a=new u._K.InitIDGenerator(n.deterministicIds,n.deterministicIDSeed);let o;const s=[];for(const e of Array.from(i)){if(f.Rm.info("Rendering diagram: "+e.id),e.getAttribute("data-processed"))continue;e.setAttribute("data-processed","true");const r=`mermaid-${a.next()}`;o=e.innerHTML,o=(0,g.T)(u._K.entityDecode(o)).trim().replace(//gi,"
    ");const n=u._K.detectInit(o);n&&f.Rm.debug("Detected early reinit: ",n);try{const{svg:n,bindFunctions:i}=await je(r,o,e);e.innerHTML=n,t&&await t(r),i&&i(e)}catch(t){Fe(t,s,We.parseError)}}if(s.length>0)throw s[0]}),"runThrowsErrors"),De=(0,f.K2)((function(t){Le.initialize(t)}),"initialize"),Oe=(0,f.K2)((async function(t,e,r){f.Rm.warn("mermaid.init is deprecated. Please use run instead."),t&&De(t);const n={postRenderCallback:r,querySelector:".mermaid"};"string"==typeof e?n.querySelector=e:e&&(e instanceof HTMLElement?n.nodes=[e]:n.nodes=e),await $e(n)}),"init"),Ie=(0,f.K2)((async(t,{lazyLoad:e=!0}={})=>{te(),(0,f.Xd)(...t),!1===e&&await ee()}),"registerExternalDiagrams"),Ne=(0,f.K2)((function(){if(We.startOnLoad){const{startOnLoad:t}=Le.getConfig();t&&We.run().catch((t=>f.Rm.error("Mermaid failed to initialize",t)))}}),"contentLoaded");"undefined"!=typeof document&&window.addEventListener("load",Ne,!1);var Re=(0,f.K2)((function(t){We.parseError=t}),"setParseErrorHandler"),Pe=[],Ke=!1,ze=(0,f.K2)((async()=>{if(!Ke){for(Ke=!0;Pe.length>0;){const t=Pe.shift();if(t)try{await t()}catch(t){f.Rm.error("Error executing queue",t)}}Ke=!1}}),"executeQueue"),qe=(0,f.K2)((async(t,e)=>new Promise(((r,n)=>{const i=(0,f.K2)((()=>new Promise(((i,a)=>{Le.parse(t,e).then((t=>{i(t),r(t)}),(t=>{f.Rm.error("Error parsing",t),We.parseError?.(t),a(t),n(t)}))}))),"performCall");Pe.push(i),ze().catch(n)}))),"parse"),je=(0,f.K2)(((t,e,r)=>new Promise(((n,i)=>{const a=(0,f.K2)((()=>new Promise(((a,o)=>{Le.render(t,e,r).then((t=>{a(t),n(t)}),(t=>{f.Rm.error("Error parsing",t),We.parseError?.(t),o(t),i(t)}))}))),"performCall");Pe.push(a),ze().catch(i)}))),"render"),We={startOnLoad:!0,mermaidAPI:Le,parse:qe,render:je,init:Oe,run:$e,registerExternalDiagrams:Ie,registerLayoutLoaders:h.sO,initialize:De,parseError:void 0,contentLoaded:Ne,setParseErrorHandler:Re,detectType:f.Ch,registerIconPacks:c.pC},He=We;document.addEventListener("DOMContentLoaded",(function(){let e=t.namespace("hugo-geekdoc").get("color-theme")||s,r=window.matchMedia("(prefers-color-scheme: dark)"),n=!1,i="default";("dark"===e||e===s&&r.matches)&&(n=!0,i="dark"),He.initialize({startOnLoad:!1,flowchart:{useMaxWidth:!0},theme:i,themeVariables:{darkMode:n}}),document.querySelectorAll(".mermaid").forEach((function(t){let e="graph-"+o();He.render(e,t.innerText).then((({svg:e,bindFunctions:r})=>{t.innerHTML=e,r?.(t)}))}))}))})()})(); \ No newline at end of file diff --git a/docs/hugo/public/js/mermaid-fc9f74ae.bundle.min.js.LICENSE.txt b/docs/hugo/public/js/mermaid-fc9f74ae.bundle.min.js.LICENSE.txt new file mode 100644 index 000000000..bcb04865b --- /dev/null +++ b/docs/hugo/public/js/mermaid-fc9f74ae.bundle.min.js.LICENSE.txt @@ -0,0 +1,7 @@ +/*! @license DOMPurify 3.2.3 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.3/LICENSE */ + +/*! Bundled license information: + +js-yaml/dist/js-yaml.mjs: + (*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT *) +*/ diff --git a/docs/hugo/public/js/search-7db5e115.bundle.min.js b/docs/hugo/public/js/search-7db5e115.bundle.min.js new file mode 100644 index 000000000..0bba73381 --- /dev/null +++ b/docs/hugo/public/js/search-7db5e115.bundle.min.js @@ -0,0 +1,2 @@ +/*! For license information please see search-7db5e115.bundle.min.js.LICENSE.txt */ +(()=>{var __webpack_modules__={3332:(e,t,r)=>{"use strict";r.d(t,{A:()=>o}),r(2934);var n=r(283);function o(e){i(e,"add"),i(e,"append"),i(e,"search"),i(e,"update"),i(e,"remove")}function i(e,t){e[t+"Async"]=function(){const e=this,r=arguments,o=r[r.length-1];let i;(0,n.Qk)(o)&&(i=o,delete r[r.length-1]);const s=new Promise((function(n){setTimeout((function(){e.async=!0;const o=e[t].apply(e,r);e.async=!1,n(o)}))}));return i?(s.then(i),this):s}}},2270:(e,t,r)=>{"use strict";r.d(t,{A:()=>i,p:()=>s}),r(2934);var n=r(283);function o(e){this.limit=!0!==e&&e,this.cache=(0,n.fp)(),this.queue=[]}const i=o;function s(e,t,r){(0,n.vZ)(e)&&(e=e.query);let o=this.cache.get(e);return o||(o=this.search(e,t,r),this.cache.set(e,o)),o}o.prototype.set=function(e,t){if(!this.cache[e]){let t=this.queue.length;t===this.limit?delete this.cache[this.queue[t-1]]:t++;for(let e=t-1;0{"use strict";function n(e,t){return void 0!==e?e:t}function o(e){const t=Array(e);for(let r=0;rc,PI:()=>u,PM:()=>f,Qk:()=>l,Vr:()=>o,WE:()=>i,fp:()=>s,uM:()=>n,vZ:()=>d,xW:()=>a})},4352:(e,t,r)=>{"use strict";r.d(t,{A:()=>y}),r(2934);var n=r(283);function o(e,t,r,n){if(e&&(t&&(e=a(e,t)),this.matcher&&(e=a(e,this.matcher)),this.stemmer&&1t?e.slice(r,r+t):e}function b(e,t,r,n){if(r){const o=n&&t>r;e=(e=e[o?t:r])&&e[o?r:t]}else e=e[t];return e}function w(e,t,r,o,i){let s=0;if((0,n.PI)(e))if(i){const r=e.indexOf(t);-1!==r?1=this.minlength&&(a||!s[f])){let l=g(c,i,u),h="";switch(this.tokenize){case"full":if(2t;n--)if(n-t>=this.minlength){const o=g(c,i,u,d,t);h=f.substring(t,n),this.push_index(s,h,o,e,r)}break}case"reverse":if(1=this.minlength){const n=g(c,i,u,d,t);this.push_index(s,h,n,e,r)}h=""}case"forward":if(1=this.minlength&&this.push_index(s,h,l,e,r);break}default:if(this.boost&&(l=Math.min(0|l/this.boost(t,f,u),c-1)),this.push_index(s,f,l,e,r),a&&1=this.minlength&&!s[f]){s[f]=1;const t=g(c+(i/2>c?0:1),i,u,l-1,n-1),a=this.bidirectional&&f>d;this.push_index(o,a?d:f,t,e,r,a?f:d)}}}}}this.fastupdate||(this.register[e]=1)}}return this},m.prototype.push_index=function(e,t,r,o,i,s){let a=s?this.ctx:this.map;if((!e[t]||s&&!e[t][s])&&(this.optimize&&(a=a[r]),s?((e=e[t]||(e[t]=(0,n.fp)()))[s]=1,a=a[s]||(a[s]=(0,n.fp)())):e[t]=1,a=a[t]||(a[t]=[]),this.optimize||(a=a[r]||(a[r]=[])),(!i||!a.includes(o))&&(a[a.length]=o,this.fastupdate))){const e=this.register[o]||(this.register[o]=[]);e[e.length]=a}},m.prototype.search=function(e,t,r){r||(!t&&(0,n.vZ)(e)?e=(r=e).query:(0,n.vZ)(t)&&(r=t));let o,i,s,a=[],c=0;if(r&&(e=r.query||e,t=r.limit,c=r.offset||0,i=r.context,s=r.suggest),e&&(o=(e=this.encode(""+e)).length,1=this.minlength&&!t[n]){if(!(this.optimize||s||this.map[n]))return a;r[c++]=n,t[n]=1}o=(e=r).length}if(!o)return a;t||(t=100);let u,f=this.depth&&1=r)))));d++);if(t)return o?x(a,r,0):void(e[e.length]=a)}return!t&&a},m.prototype.contain=function(e){return!!this.register[e]},m.prototype.update=function(e,t){return this.remove(e).add(e,t)},m.prototype.remove=function(e,t){const r=this.register[e];if(r){if(this.fastupdate)for(let t,n=0;n{"use strict";r.d(t,{c:()=>i,y:()=>o});var n=r(283);function o(e,t,r,o){const i=e.length;let s,a,c=[],u=0;o&&(o=[]);for(let f=i-1;0<=f;f--){const d=e[f],l=d.length,h=(0,n.fp)();let p=!s;for(let e=0;e{"use strict";r.d(t,{FQ:()=>i,UE:()=>a,b9:()=>c,yC:()=>s}),r(2934);var n=r(283);function o(e,t,r,n,o,i,s,a){setTimeout((function(){const c=e(r?r+"."+n:n,JSON.stringify(s));c&&c.then?c.then((function(){t.export(e,t,r,o,i+1,a)})):t.export(e,t,r,o,i+1,a)}))}function i(e,t,r,i,s,a){let c,u,f=!0;switch(void 0===a&&(f=new Promise((e=>{a=e}))),s||(s=0)){case 0:if(c="reg",this.fastupdate){u=(0,n.fp)();for(let e in this.register)u[e]=1}else u=this.register;break;case 1:c="cfg",u={doc:0,opt:this.optimize?1:0};break;case 2:c="map",u=this.map;break;case 3:c="ctx",u=this.ctx;break;default:return void(void 0===r&&a&&a())}return o(e,t||this,r,c,i,s,u,a),f}function s(e,t){if(t)switch((0,n.PM)(t)&&(t=JSON.parse(t)),e){case"cfg":this.optimize=!!t.opt;break;case"reg":this.fastupdate=!1,this.register=t;break;case"map":this.map=t;break;case"ctx":this.ctx=t}}function a(e,t,r,n,i,s){let a;if(void 0===s&&(a=new Promise((e=>{s=e}))),i||(i=0),n||(n=0),n{"use strict";function n(){this.cache=null,this.matcher=null,this.stemmer=null,this.filter=null}n.prototype.add,n.prototype.append,n.prototype.search,n.prototype.update,n.prototype.remove},7955:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(4352);function o(e){e=e.data;const t=self._index,r=e.args,o=e.task;if("init"===o){const t=e.options||{},r=e.factory,o=t.encode;t.cache=!1,o&&0===o.indexOf("function")&&(t.encode=Function("return "+o)()),r?(Function("return "+r)()(self),self._index=new self.FlexSearch.Index(t),delete self.FlexSearch):self._index=new n.A(t)}else{const n=e.id,i=t[o].apply(t,r);postMessage("search"===o?{id:n,msg:i}:{id:n})}}},2619:(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{A:()=>__WEBPACK_DEFAULT_EXPORT__});var _common_js__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(283),_handler_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(7955);let pid=0;function WorkerIndex(e){if(!(this instanceof WorkerIndex))return new WorkerIndex(e);let t;e?(0,_common_js__WEBPACK_IMPORTED_MODULE_1__.Qk)(t=e.encode)&&(e.encode=t.toString()):e={};let r=(self||window)._factory;r&&(r=r.toString());const n="undefined"==typeof window&&self.exports,o=this;this.worker=create(r,n,e.worker),this.resolver=(0,_common_js__WEBPACK_IMPORTED_MODULE_1__.fp)(),this.worker&&(n?this.worker.on("message",(function(e){o.resolver[e.id](e.msg),delete o.resolver[e.id]})):this.worker.onmessage=function(e){e=e.data,o.resolver[e.id](e.msg),delete o.resolver[e.id]},this.worker.postMessage({task:"init",factory:r,options:e}))}const __WEBPACK_DEFAULT_EXPORT__=WorkerIndex;function register(e){WorkerIndex.prototype[e]=WorkerIndex.prototype[e+"Async"]=function(){const t=this,r=[].slice.call(arguments),n=r[r.length-1];let o;(0,_common_js__WEBPACK_IMPORTED_MODULE_1__.Qk)(n)&&(o=n,r.splice(r.length-1,1));const i=new Promise((function(n){setTimeout((function(){t.resolver[++pid]=n,t.worker.postMessage({task:e,id:pid,args:r})}))}));return o?(i.then(o),this):i}}function create(factory,is_node_js,worker_path){let worker;try{worker=is_node_js?eval('new (require("worker_threads")["Worker"])(__dirname + "/node/node.js")'):factory?new Worker(URL.createObjectURL(new Blob(["onmessage="+_handler_js__WEBPACK_IMPORTED_MODULE_0__.A.toString()],{type:"text/javascript"}))):new Worker((0,_common_js__WEBPACK_IMPORTED_MODULE_1__.PM)(worker_path)?worker_path:"worker/worker.js",{type:"module"})}catch(e){}return worker}register("add"),register("append"),register("search"),register("update"),register("remove")},5580:(e,t,r)=>{var n=r(6110)(r(9325),"DataView");e.exports=n},1549:(e,t,r)=>{var n=r(2032),o=r(3862),i=r(6721),s=r(2749),a=r(5749);function c(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t{var n=r(3702),o=r(80),i=r(4739),s=r(8655),a=r(1175);function c(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t{var n=r(6110)(r(9325),"Map");e.exports=n},3661:(e,t,r)=>{var n=r(3040),o=r(7670),i=r(289),s=r(4509),a=r(2949);function c(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t{var n=r(6110)(r(9325),"Promise");e.exports=n},6545:(e,t,r)=>{var n=r(6110)(r(9325),"Set");e.exports=n},8859:(e,t,r)=>{var n=r(3661),o=r(1380),i=r(1459);function s(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new n;++t{var n=r(79),o=r(1420),i=r(938),s=r(3605),a=r(9817),c=r(945);function u(e){var t=this.__data__=new n(e);this.size=t.size}u.prototype.clear=o,u.prototype.delete=i,u.prototype.get=s,u.prototype.has=a,u.prototype.set=c,e.exports=u},1873:(e,t,r)=>{var n=r(9325).Symbol;e.exports=n},7828:(e,t,r)=>{var n=r(9325).Uint8Array;e.exports=n},8303:(e,t,r)=>{var n=r(6110)(r(9325),"WeakMap");e.exports=n},3945:e=>{e.exports=function(e,t,r,n){for(var o=-1,i=null==e?0:e.length;++o{e.exports=function(e,t){for(var r=-1,n=null==e?0:e.length,o=0,i=[];++r{var n=r(8096),o=r(2428),i=r(6449),s=r(3656),a=r(361),c=r(7167),u=Object.prototype.hasOwnProperty;e.exports=function(e,t){var r=i(e),f=!r&&o(e),d=!r&&!f&&s(e),l=!r&&!f&&!d&&c(e),h=r||f||d||l,p=h?n(e.length,String):[],_=p.length;for(var v in e)!t&&!u.call(e,v)||h&&("length"==v||d&&("offset"==v||"parent"==v)||l&&("buffer"==v||"byteLength"==v||"byteOffset"==v)||a(v,_))||p.push(v);return p}},4932:e=>{e.exports=function(e,t){for(var r=-1,n=null==e?0:e.length,o=Array(n);++r{e.exports=function(e,t){for(var r=-1,n=t.length,o=e.length;++r{e.exports=function(e,t){for(var r=-1,n=null==e?0:e.length;++r{var n=r(7237)("length");e.exports=n},1074:e=>{e.exports=function(e){return e.split("")}},6025:(e,t,r)=>{var n=r(5288);e.exports=function(e,t){for(var r=e.length;r--;)if(n(e[r][0],t))return r;return-1}},2429:(e,t,r)=>{var n=r(909);e.exports=function(e,t,r,o){return n(e,(function(e,n,i){t(o,e,r(e),i)})),o}},3360:(e,t,r)=>{var n=r(3243);e.exports=function(e,t,r){"__proto__"==t&&n?n(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}},909:(e,t,r)=>{var n=r(641),o=r(8329)(n);e.exports=o},6649:(e,t,r)=>{var n=r(3221)();e.exports=n},641:(e,t,r)=>{var n=r(6649),o=r(5950);e.exports=function(e,t){return e&&n(e,t,o)}},7422:(e,t,r)=>{var n=r(1769),o=r(7797);e.exports=function(e,t){for(var r=0,i=(t=n(t,e)).length;null!=e&&r{var n=r(4528),o=r(6449);e.exports=function(e,t,r){var i=t(e);return o(e)?i:n(i,r(e))}},2552:(e,t,r)=>{var n=r(1873),o=r(659),i=r(9350),s=n?n.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":s&&s in Object(e)?o(e):i(e)}},8077:e=>{e.exports=function(e,t){return null!=e&&t in Object(e)}},7534:(e,t,r)=>{var n=r(2552),o=r(346);e.exports=function(e){return o(e)&&"[object Arguments]"==n(e)}},270:(e,t,r)=>{var n=r(7068),o=r(346);e.exports=function e(t,r,i,s,a){return t===r||(null==t||null==r||!o(t)&&!o(r)?t!=t&&r!=r:n(t,r,i,s,e,a))}},7068:(e,t,r)=>{var n=r(7217),o=r(5911),i=r(1986),s=r(689),a=r(5861),c=r(6449),u=r(3656),f=r(7167),d="[object Arguments]",l="[object Array]",h="[object Object]",p=Object.prototype.hasOwnProperty;e.exports=function(e,t,r,_,v,m){var y=c(e),g=c(t),x=y?l:a(e),b=g?l:a(t),w=(x=x==d?h:x)==h,k=(b=b==d?h:b)==h,$=x==b;if($&&u(e)){if(!u(t))return!1;y=!0,w=!1}if($&&!w)return m||(m=new n),y||f(e)?o(e,t,r,_,v,m):i(e,t,x,r,_,v,m);if(!(1&r)){var j=w&&p.call(e,"__wrapped__"),L=k&&p.call(t,"__wrapped__");if(j||L){var O=j?e.value():e,P=L?t.value():t;return m||(m=new n),v(O,P,r,_,m)}}return!!$&&(m||(m=new n),s(e,t,r,_,v,m))}},1799:(e,t,r)=>{var n=r(7217),o=r(270);e.exports=function(e,t,r,i){var s=r.length,a=s,c=!i;if(null==e)return!a;for(e=Object(e);s--;){var u=r[s];if(c&&u[2]?u[1]!==e[u[0]]:!(u[0]in e))return!1}for(;++s{var n=r(1882),o=r(7296),i=r(3805),s=r(7473),a=/^\[object .+?Constructor\]$/,c=Function.prototype,u=Object.prototype,f=c.toString,d=u.hasOwnProperty,l=RegExp("^"+f.call(d).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!i(e)||o(e))&&(n(e)?l:a).test(s(e))}},1437:(e,t,r)=>{var n=r(2552),o=r(346);e.exports=function(e){return o(e)&&"[object RegExp]"==n(e)}},4901:(e,t,r)=>{var n=r(2552),o=r(294),i=r(346),s={};s["[object Float32Array]"]=s["[object Float64Array]"]=s["[object Int8Array]"]=s["[object Int16Array]"]=s["[object Int32Array]"]=s["[object Uint8Array]"]=s["[object Uint8ClampedArray]"]=s["[object Uint16Array]"]=s["[object Uint32Array]"]=!0,s["[object Arguments]"]=s["[object Array]"]=s["[object ArrayBuffer]"]=s["[object Boolean]"]=s["[object DataView]"]=s["[object Date]"]=s["[object Error]"]=s["[object Function]"]=s["[object Map]"]=s["[object Number]"]=s["[object Object]"]=s["[object RegExp]"]=s["[object Set]"]=s["[object String]"]=s["[object WeakMap]"]=!1,e.exports=function(e){return i(e)&&o(e.length)&&!!s[n(e)]}},5389:(e,t,r)=>{var n=r(3663),o=r(7978),i=r(3488),s=r(6449),a=r(583);e.exports=function(e){return"function"==typeof e?e:null==e?i:"object"==typeof e?s(e)?o(e[0],e[1]):n(e):a(e)}},8984:(e,t,r)=>{var n=r(5527),o=r(3650),i=Object.prototype.hasOwnProperty;e.exports=function(e){if(!n(e))return o(e);var t=[];for(var r in Object(e))i.call(e,r)&&"constructor"!=r&&t.push(r);return t}},3663:(e,t,r)=>{var n=r(1799),o=r(776),i=r(7197);e.exports=function(e){var t=o(e);return 1==t.length&&t[0][2]?i(t[0][0],t[0][1]):function(r){return r===e||n(r,e,t)}}},7978:(e,t,r)=>{var n=r(270),o=r(8156),i=r(631),s=r(8586),a=r(756),c=r(7197),u=r(7797);e.exports=function(e,t){return s(e)&&a(t)?c(u(e),t):function(r){var s=o(r,e);return void 0===s&&s===t?i(r,e):n(t,s,3)}}},7237:e=>{e.exports=function(e){return function(t){return null==t?void 0:t[e]}}},7255:(e,t,r)=>{var n=r(7422);e.exports=function(e){return function(t){return n(t,e)}}},5160:e=>{e.exports=function(e,t,r){var n=-1,o=e.length;t<0&&(t=-t>o?0:o+t),(r=r>o?o:r)<0&&(r+=o),o=t>r?0:r-t>>>0,t>>>=0;for(var i=Array(o);++n{e.exports=function(e,t){for(var r=-1,n=Array(e);++r{var n=r(1873),o=r(4932),i=r(6449),s=r(2013),a=n?n.prototype:void 0,c=a?a.toString:void 0;e.exports=function e(t){if("string"==typeof t)return t;if(i(t))return o(t,e)+"";if(s(t))return c?c.call(t):"";var r=t+"";return"0"==r&&1/t==-1/0?"-0":r}},4128:(e,t,r)=>{var n=r(1800),o=/^\s+/;e.exports=function(e){return e?e.slice(0,n(e)+1).replace(o,""):e}},7301:e=>{e.exports=function(e){return function(t){return e(t)}}},9219:e=>{e.exports=function(e,t){return e.has(t)}},1769:(e,t,r)=>{var n=r(6449),o=r(8586),i=r(1802),s=r(3222);e.exports=function(e,t){return n(e)?e:o(e,t)?[e]:i(s(e))}},8754:(e,t,r)=>{var n=r(5160);e.exports=function(e,t,r){var o=e.length;return r=void 0===r?o:r,!t&&r>=o?e:n(e,t,r)}},5481:(e,t,r)=>{var n=r(9325)["__core-js_shared__"];e.exports=n},2e3:(e,t,r)=>{var n=r(3945),o=r(2429),i=r(5389),s=r(6449);e.exports=function(e,t){return function(r,a){var c=s(r)?n:o,u=t?t():{};return c(r,e,i(a,2),u)}}},8329:(e,t,r)=>{var n=r(4894);e.exports=function(e,t){return function(r,o){if(null==r)return r;if(!n(r))return e(r,o);for(var i=r.length,s=t?i:-1,a=Object(r);(t?s--:++s{e.exports=function(e){return function(t,r,n){for(var o=-1,i=Object(t),s=n(t),a=s.length;a--;){var c=s[e?a:++o];if(!1===r(i[c],c,i))break}return t}}},3243:(e,t,r)=>{var n=r(6110),o=function(){try{var e=n(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();e.exports=o},5911:(e,t,r)=>{var n=r(8859),o=r(4248),i=r(9219);e.exports=function(e,t,r,s,a,c){var u=1&r,f=e.length,d=t.length;if(f!=d&&!(u&&d>f))return!1;var l=c.get(e),h=c.get(t);if(l&&h)return l==t&&h==e;var p=-1,_=!0,v=2&r?new n:void 0;for(c.set(e,t),c.set(t,e);++p{var n=r(1873),o=r(7828),i=r(5288),s=r(5911),a=r(317),c=r(4247),u=n?n.prototype:void 0,f=u?u.valueOf:void 0;e.exports=function(e,t,r,n,u,d,l){switch(r){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!d(new o(e),new o(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return i(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var h=a;case"[object Set]":var p=1&n;if(h||(h=c),e.size!=t.size&&!p)return!1;var _=l.get(e);if(_)return _==t;n|=2,l.set(e,t);var v=s(h(e),h(t),n,u,d,l);return l.delete(e),v;case"[object Symbol]":if(f)return f.call(e)==f.call(t)}return!1}},689:(e,t,r)=>{var n=r(2),o=Object.prototype.hasOwnProperty;e.exports=function(e,t,r,i,s,a){var c=1&r,u=n(e),f=u.length;if(f!=n(t).length&&!c)return!1;for(var d=f;d--;){var l=u[d];if(!(c?l in t:o.call(t,l)))return!1}var h=a.get(e),p=a.get(t);if(h&&p)return h==t&&p==e;var _=!0;a.set(e,t),a.set(t,e);for(var v=c;++d{var n="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g;e.exports=n},2:(e,t,r)=>{var n=r(2199),o=r(4664),i=r(5950);e.exports=function(e){return n(e,i,o)}},2651:(e,t,r)=>{var n=r(4218);e.exports=function(e,t){var r=e.__data__;return n(t)?r["string"==typeof t?"string":"hash"]:r.map}},776:(e,t,r)=>{var n=r(756),o=r(5950);e.exports=function(e){for(var t=o(e),r=t.length;r--;){var i=t[r],s=e[i];t[r]=[i,s,n(s)]}return t}},6110:(e,t,r)=>{var n=r(5083),o=r(392);e.exports=function(e,t){var r=o(e,t);return n(r)?r:void 0}},659:(e,t,r)=>{var n=r(1873),o=Object.prototype,i=o.hasOwnProperty,s=o.toString,a=n?n.toStringTag:void 0;e.exports=function(e){var t=i.call(e,a),r=e[a];try{e[a]=void 0;var n=!0}catch(e){}var o=s.call(e);return n&&(t?e[a]=r:delete e[a]),o}},4664:(e,t,r)=>{var n=r(9770),o=r(3345),i=Object.prototype.propertyIsEnumerable,s=Object.getOwnPropertySymbols,a=s?function(e){return null==e?[]:(e=Object(e),n(s(e),(function(t){return i.call(e,t)})))}:o;e.exports=a},5861:(e,t,r)=>{var n=r(5580),o=r(8223),i=r(2804),s=r(6545),a=r(8303),c=r(2552),u=r(7473),f="[object Map]",d="[object Promise]",l="[object Set]",h="[object WeakMap]",p="[object DataView]",_=u(n),v=u(o),m=u(i),y=u(s),g=u(a),x=c;(n&&x(new n(new ArrayBuffer(1)))!=p||o&&x(new o)!=f||i&&x(i.resolve())!=d||s&&x(new s)!=l||a&&x(new a)!=h)&&(x=function(e){var t=c(e),r="[object Object]"==t?e.constructor:void 0,n=r?u(r):"";if(n)switch(n){case _:return p;case v:return f;case m:return d;case y:return l;case g:return h}return t}),e.exports=x},392:e=>{e.exports=function(e,t){return null==e?void 0:e[t]}},9326:(e,t,r)=>{var n=r(1769),o=r(2428),i=r(6449),s=r(361),a=r(294),c=r(7797);e.exports=function(e,t,r){for(var u=-1,f=(t=n(t,e)).length,d=!1;++u{var t=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");e.exports=function(e){return t.test(e)}},2032:(e,t,r)=>{var n=r(1042);e.exports=function(){this.__data__=n?n(null):{},this.size=0}},3862:e=>{e.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}},6721:(e,t,r)=>{var n=r(1042),o=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;if(n){var r=t[e];return"__lodash_hash_undefined__"===r?void 0:r}return o.call(t,e)?t[e]:void 0}},2749:(e,t,r)=>{var n=r(1042),o=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;return n?void 0!==t[e]:o.call(t,e)}},5749:(e,t,r)=>{var n=r(1042);e.exports=function(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=n&&void 0===t?"__lodash_hash_undefined__":t,this}},361:e=>{var t=/^(?:0|[1-9]\d*)$/;e.exports=function(e,r){var n=typeof e;return!!(r=null==r?9007199254740991:r)&&("number"==n||"symbol"!=n&&t.test(e))&&e>-1&&e%1==0&&e{var n=r(6449),o=r(2013),i=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,s=/^\w*$/;e.exports=function(e,t){if(n(e))return!1;var r=typeof e;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=e&&!o(e))||s.test(e)||!i.test(e)||null!=t&&e in Object(t)}},4218:e=>{e.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},7296:(e,t,r)=>{var n,o=r(5481),i=(n=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"";e.exports=function(e){return!!i&&i in e}},5527:e=>{var t=Object.prototype;e.exports=function(e){var r=e&&e.constructor;return e===("function"==typeof r&&r.prototype||t)}},756:(e,t,r)=>{var n=r(3805);e.exports=function(e){return e==e&&!n(e)}},3702:e=>{e.exports=function(){this.__data__=[],this.size=0}},80:(e,t,r)=>{var n=r(6025),o=Array.prototype.splice;e.exports=function(e){var t=this.__data__,r=n(t,e);return!(r<0||(r==t.length-1?t.pop():o.call(t,r,1),--this.size,0))}},4739:(e,t,r)=>{var n=r(6025);e.exports=function(e){var t=this.__data__,r=n(t,e);return r<0?void 0:t[r][1]}},8655:(e,t,r)=>{var n=r(6025);e.exports=function(e){return n(this.__data__,e)>-1}},1175:(e,t,r)=>{var n=r(6025);e.exports=function(e,t){var r=this.__data__,o=n(r,e);return o<0?(++this.size,r.push([e,t])):r[o][1]=t,this}},3040:(e,t,r)=>{var n=r(1549),o=r(79),i=r(8223);e.exports=function(){this.size=0,this.__data__={hash:new n,map:new(i||o),string:new n}}},7670:(e,t,r)=>{var n=r(2651);e.exports=function(e){var t=n(this,e).delete(e);return this.size-=t?1:0,t}},289:(e,t,r)=>{var n=r(2651);e.exports=function(e){return n(this,e).get(e)}},4509:(e,t,r)=>{var n=r(2651);e.exports=function(e){return n(this,e).has(e)}},2949:(e,t,r)=>{var n=r(2651);e.exports=function(e,t){var r=n(this,e),o=r.size;return r.set(e,t),this.size+=r.size==o?0:1,this}},317:e=>{e.exports=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e,n){r[++t]=[n,e]})),r}},7197:e=>{e.exports=function(e,t){return function(r){return null!=r&&r[e]===t&&(void 0!==t||e in Object(r))}}},2224:(e,t,r)=>{var n=r(104);e.exports=function(e){var t=n(e,(function(e){return 500===r.size&&r.clear(),e})),r=t.cache;return t}},1042:(e,t,r)=>{var n=r(6110)(Object,"create");e.exports=n},3650:(e,t,r)=>{var n=r(4335)(Object.keys,Object);e.exports=n},6009:(e,t,r)=>{e=r.nmd(e);var n=r(4840),o=t&&!t.nodeType&&t,i=o&&e&&!e.nodeType&&e,s=i&&i.exports===o&&n.process,a=function(){try{return i&&i.require&&i.require("util").types||s&&s.binding&&s.binding("util")}catch(e){}}();e.exports=a},9350:e=>{var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},4335:e=>{e.exports=function(e,t){return function(r){return e(t(r))}}},9325:(e,t,r)=>{var n=r(4840),o="object"==typeof self&&self&&self.Object===Object&&self,i=n||o||Function("return this")();e.exports=i},1380:e=>{e.exports=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this}},1459:e=>{e.exports=function(e){return this.__data__.has(e)}},4247:e=>{e.exports=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e){r[++t]=e})),r}},1420:(e,t,r)=>{var n=r(79);e.exports=function(){this.__data__=new n,this.size=0}},938:e=>{e.exports=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}},3605:e=>{e.exports=function(e){return this.__data__.get(e)}},9817:e=>{e.exports=function(e){return this.__data__.has(e)}},945:(e,t,r)=>{var n=r(79),o=r(8223),i=r(3661);e.exports=function(e,t){var r=this.__data__;if(r instanceof n){var s=r.__data__;if(!o||s.length<199)return s.push([e,t]),this.size=++r.size,this;r=this.__data__=new i(s)}return r.set(e,t),this.size=r.size,this}},1993:(e,t,r)=>{var n=r(9811),o=r(9698),i=r(7927);e.exports=function(e){return o(e)?i(e):n(e)}},3912:(e,t,r)=>{var n=r(1074),o=r(9698),i=r(2054);e.exports=function(e){return o(e)?i(e):n(e)}},1802:(e,t,r)=>{var n=r(2224),o=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,i=/\\(\\)?/g,s=n((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(o,(function(e,r,n,o){t.push(n?o.replace(i,"$1"):r||e)})),t}));e.exports=s},7797:(e,t,r)=>{var n=r(2013);e.exports=function(e){if("string"==typeof e||n(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}},7473:e=>{var t=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return t.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},1800:e=>{var t=/\s/;e.exports=function(e){for(var r=e.length;r--&&t.test(e.charAt(r)););return r}},7927:e=>{var t="\\ud800-\\udfff",r="["+t+"]",n="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",o="\\ud83c[\\udffb-\\udfff]",i="[^"+t+"]",s="(?:\\ud83c[\\udde6-\\uddff]){2}",a="[\\ud800-\\udbff][\\udc00-\\udfff]",c="(?:"+n+"|"+o+")?",u="[\\ufe0e\\ufe0f]?",f=u+c+"(?:\\u200d(?:"+[i,s,a].join("|")+")"+u+c+")*",d="(?:"+[i+n+"?",n,s,a,r].join("|")+")",l=RegExp(o+"(?="+o+")|"+d+f,"g");e.exports=function(e){for(var t=l.lastIndex=0;l.test(e);)++t;return t}},2054:e=>{var t="\\ud800-\\udfff",r="["+t+"]",n="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",o="\\ud83c[\\udffb-\\udfff]",i="[^"+t+"]",s="(?:\\ud83c[\\udde6-\\uddff]){2}",a="[\\ud800-\\udbff][\\udc00-\\udfff]",c="(?:"+n+"|"+o+")?",u="[\\ufe0e\\ufe0f]?",f=u+c+"(?:\\u200d(?:"+[i,s,a].join("|")+")"+u+c+")*",d="(?:"+[i+n+"?",n,s,a,r].join("|")+")",l=RegExp(o+"(?="+o+")|"+d+f,"g");e.exports=function(e){return e.match(l)||[]}},5288:e=>{e.exports=function(e,t){return e===t||e!=e&&t!=t}},8156:(e,t,r)=>{var n=r(7422);e.exports=function(e,t,r){var o=null==e?void 0:n(e,t);return void 0===o?r:o}},4394:(e,t,r)=>{var n=r(3360),o=r(2e3),i=Object.prototype.hasOwnProperty,s=o((function(e,t,r){i.call(e,r)?e[r].push(t):n(e,r,[t])}));e.exports=s},631:(e,t,r)=>{var n=r(8077),o=r(9326);e.exports=function(e,t){return null!=e&&o(e,t,n)}},3488:e=>{e.exports=function(e){return e}},2428:(e,t,r)=>{var n=r(7534),o=r(346),i=Object.prototype,s=i.hasOwnProperty,a=i.propertyIsEnumerable,c=n(function(){return arguments}())?n:function(e){return o(e)&&s.call(e,"callee")&&!a.call(e,"callee")};e.exports=c},6449:e=>{var t=Array.isArray;e.exports=t},4894:(e,t,r)=>{var n=r(1882),o=r(294);e.exports=function(e){return null!=e&&o(e.length)&&!n(e)}},3656:(e,t,r)=>{e=r.nmd(e);var n=r(9325),o=r(9935),i=t&&!t.nodeType&&t,s=i&&e&&!e.nodeType&&e,a=s&&s.exports===i?n.Buffer:void 0,c=(a?a.isBuffer:void 0)||o;e.exports=c},1882:(e,t,r)=>{var n=r(2552),o=r(3805);e.exports=function(e){if(!o(e))return!1;var t=n(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}},294:e=>{e.exports=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}},3805:e=>{e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},346:e=>{e.exports=function(e){return null!=e&&"object"==typeof e}},9607:(e,t,r)=>{var n=r(1437),o=r(7301),i=r(6009),s=i&&i.isRegExp,a=s?o(s):n;e.exports=a},2013:(e,t,r)=>{var n=r(2552),o=r(346);e.exports=function(e){return"symbol"==typeof e||o(e)&&"[object Symbol]"==n(e)}},7167:(e,t,r)=>{var n=r(4901),o=r(7301),i=r(6009),s=i&&i.isTypedArray,a=s?o(s):n;e.exports=a},5950:(e,t,r)=>{var n=r(695),o=r(8984),i=r(4894);e.exports=function(e){return i(e)?n(e):o(e)}},104:(e,t,r)=>{var n=r(3661);function o(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var r=function(){var n=arguments,o=t?t.apply(this,n):n[0],i=r.cache;if(i.has(o))return i.get(o);var s=e.apply(this,n);return r.cache=i.set(o,s)||i,s};return r.cache=new(o.Cache||n),r}o.Cache=n,e.exports=o},583:(e,t,r)=>{var n=r(7237),o=r(7255),i=r(8586),s=r(7797);e.exports=function(e){return i(e)?n(s(e)):o(e)}},3345:e=>{e.exports=function(){return[]}},9935:e=>{e.exports=function(){return!1}},7400:(e,t,r)=>{var n=r(9374),o=1/0;e.exports=function(e){return e?(e=n(e))===o||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}},1489:(e,t,r)=>{var n=r(7400);e.exports=function(e){var t=n(e),r=t%1;return t==t?r?t-r:t:0}},9374:(e,t,r)=>{var n=r(4128),o=r(3805),i=r(2013),s=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,c=/^0o[0-7]+$/i,u=parseInt;e.exports=function(e){if("number"==typeof e)return e;if(i(e))return NaN;if(o(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=o(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=n(e);var r=a.test(e);return r||c.test(e)?u(e.slice(2),r?2:8):s.test(e)?NaN:+e}},3222:(e,t,r)=>{var n=r(7556);e.exports=function(e){return null==e?"":n(e)}},2516:(e,t,r)=>{var n=r(7556),o=r(8754),i=r(9698),s=r(3805),a=r(9607),c=r(1993),u=r(3912),f=r(1489),d=r(3222),l=/\w*$/;e.exports=function(e,t){var r=30,h="...";if(s(t)){var p="separator"in t?t.separator:p;r="length"in t?f(t.length):r,h="omission"in t?n(t.omission):h}var _=(e=d(e)).length;if(i(e)){var v=u(e);_=v.length}if(r>=_)return e;var m=r-c(h);if(m<1)return h;var y=v?o(v,0,m).join(""):e.slice(0,m);if(void 0===p)return y+h;if(v&&(m+=y.length-m),a(p)){if(e.slice(m).search(p)){var g,x=y;for(p.global||(p=RegExp(p.source,d(l.exec(p))+"g")),p.lastIndex=0;g=p.exec(x);)var b=g.index;y=y.slice(0,void 0===b?m:b)}}else if(e.indexOf(n(p),m)!=m){var w=y.lastIndexOf(p);w>-1&&(y=y.slice(0,w))}return y+h}}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var r=__webpack_module_cache__[e]={id:e,loaded:!1,exports:{}};return __webpack_modules__[e](r,r.exports,__webpack_require__),r.loaded=!0,r.exports}__webpack_require__.d=(e,t)=>{for(var r in t)__webpack_require__.o(t,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__webpack_require__.nmd=e=>(e.paths=[],e.children||(e.children=[]),e);var __webpack_exports__={};(()=>{"use strict";var e=__webpack_require__(4394),t=__webpack_require__(2516),r=__webpack_require__(4352),n=(__webpack_require__(2934),__webpack_require__(2270)),o=__webpack_require__(283),i=__webpack_require__(3332),s=__webpack_require__(5401),a=__webpack_require__(3029),c=__webpack_require__(2619);function u(e){if(!(this instanceof u))return new u(e);const t=e.document||e.doc||e;let r;this.tree=[],this.field=[],this.marker=[],this.register=(0,o.fp)(),this.key=(r=t.key||t.id)&&l(r,this.marker)||"id",this.fastupdate=(0,o.uM)(e.fastupdate,!0),this.storetree=(r=t.store)&&!0!==r&&[],this.store=r&&(0,o.fp)(),this.tag=(r=t.tag)&&l(r,this.marker),this.tagindex=r&&(0,o.fp)(),this.cache=(r=e.cache)&&new n.A(r),e.cache=!1,this.worker=e.worker,this.async=!1,this.index=d.call(this,e,t)}const f=u;function d(e,t){const n=(0,o.fp)();let i=t.index||t.field||t;(0,o.PM)(i)&&(i=[i]);for(let t,s,a=0;a1?t[i.href]=e:(i.hash="",""===n?r=i:k(e,t,r))}}else if(!0!==e&&!1!==e)return t;const o=r.href+(n?"#"+n:"");if(void 0!==t[o])throw new Error(`Duplicate schema URI "${o}".`);if(t[o]=e,!0===e||!1===e)return t;if(void 0===e.__absolute_uri__&&Object.defineProperty(e,"__absolute_uri__",{enumerable:!1,value:o}),e.$ref&&void 0===e.__absolute_ref__){const t=new URL(e.$ref,r.href);t.hash=t.hash,Object.defineProperty(e,"__absolute_ref__",{enumerable:!1,value:t.href})}if(e.$recursiveRef&&void 0===e.__absolute_recursive_ref__){const t=new URL(e.$recursiveRef,r.href);t.hash=t.hash,Object.defineProperty(e,"__absolute_recursive_ref__",{enumerable:!1,value:t.href})}e.$anchor&&(t[new URL("#"+e.$anchor,r.href).href]=e);for(let o in e){if(b[o])continue;const i=`${n}/${y(o)}`,s=e[o];if(Array.isArray(s)){if(g[o]){const e=s.length;for(let n=0;ne.length>1&&e.length<80&&(/^P\d+([.,]\d+)?W$/.test(e)||/^P[\dYMDTHS]*(\d[.,]\d+)?[YMDHS]$/.test(e)&&/^P([.,\d]+Y)?([.,\d]+M)?([.,\d]+D)?(T([.,\d]+H)?([.,\d]+M)?([.,\d]+S)?)?$/.test(e)),uri:function(e){return I.test(e)&&M.test(e)},"uri-reference":O(/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i),"uri-template":O(/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i),url:O(/^(?:(?:https?|ftp):\/\/)(?:\S+(?::\S*)?@)?(?:(?!10(?:\.\d{1,3}){3})(?!127(?:\.\d{1,3}){3})(?!169\.254(?:\.\d{1,3}){2})(?!192\.168(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u{00a1}-\u{ffff}0-9]+-?)*[a-z\u{00a1}-\u{ffff}0-9]+)(?:\.(?:[a-z\u{00a1}-\u{ffff}0-9]+-?)*[a-z\u{00a1}-\u{ffff}0-9]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu),email:e=>{if('"'===e[0])return!1;const[t,r,...n]=e.split("@");return!(!t||!r||0!==n.length||t.length>64||r.length>253)&&"."!==t[0]&&!t.endsWith(".")&&!t.includes("..")&&!(!/^[a-z0-9.-]+$/i.test(r)||!/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+$/i.test(t))&&r.split(".").every((e=>/^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$/i.test(e)))},hostname:O(/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i),ipv4:O(/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/),ipv6:O(/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i),regex:function(e){if(q.test(e))return!1;try{return new RegExp(e,"u"),!0}catch(e){return!1}},uuid:O(/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i),"json-pointer":O(/^(?:\/(?:[^~/]|~0|~1)*)*$/),"json-pointer-uri-fragment":O(/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i),"relative-json-pointer":O(/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/)};function A(e){const t=e.match($);if(!t)return!1;const r=+t[1],n=+t[2],o=+t[3];return n>=1&&n<=12&&o>=1&&o<=(2==n&&function(e){return e%4==0&&(e%100!=0||e%400==0)}(r)?29:j[n])}function z(e,t){const r=t.match(L);if(!r)return!1;const n=+r[1],o=+r[2],i=+r[3],s=!!r[5];return(n<=23&&o<=59&&i<=59||23==n&&59==o&&60==i)&&(!e||s)}const E=/t|\s/i,I=/\/|:/,M=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,q=/[^\\]\\Z/;var C;function S(e,t){const r=typeof e;if(r!==typeof t)return!1;if(Array.isArray(e)){if(!Array.isArray(t))return!1;const r=e.length;if(r!==t.length)return!1;for(let n=0;nS(e,t)))||ae.push({instanceLocation:s,keyword:"enum",keywordLocation:`${a}/enum`,error:`Instance does not match any of ${JSON.stringify(v)}.`}):v.some((t=>e===t))||ae.push({instanceLocation:s,keyword:"enum",keywordLocation:`${a}/enum`,error:`Instance does not match any of ${JSON.stringify(v)}.`})),void 0!==g){const t=`${a}/not`;R(e,g,r,n,o,i,s,t).valid&&ae.push({instanceLocation:s,keyword:"not",keywordLocation:t,error:'Instance matched "not" schema.'})}let ce=[];if(void 0!==x){const t=`${a}/anyOf`,u=ae.length;let f=!1;for(let a=0;a{const f=Object.create(c),d=R(e,a,r,n,o,!0===h?i:null,s,`${t}/${u}`,f);return ae.push(...d.errors),d.valid&&ce.push(f),d.valid})).length;1===f?ae.length=u:ae.splice(u,0,{instanceLocation:s,keyword:"oneOf",keywordLocation:t,error:`Instance does not match exactly one subschema (${f} matches).`})}if("object"!==f&&"array"!==f||Object.assign(c,...ce),void 0!==$){const t=`${a}/if`;if(R(e,$,r,n,o,i,s,t,c).valid){if(void 0!==j){const u=R(e,j,r,n,o,i,s,`${a}/then`,c);u.valid||ae.push({instanceLocation:s,keyword:"if",keywordLocation:t,error:'Instance does not match "then" schema.'},...u.errors)}}else if(void 0!==L){const u=R(e,L,r,n,o,i,s,`${a}/else`,c);u.valid||ae.push({instanceLocation:s,keyword:"if",keywordLocation:t,error:'Instance does not match "else" schema.'},...u.errors)}}if("object"===f){if(void 0!==m)for(const t of m)t in e||ae.push({instanceLocation:s,keyword:"required",keywordLocation:`${a}/required`,error:`Instance does not have required property "${t}".`});const t=Object.keys(e);if(void 0!==M&&t.lengthq&&ae.push({instanceLocation:s,keyword:"maxProperties",keywordLocation:`${a}/maxProperties`,error:`Instance does not have at least ${q} properties.`}),void 0!==C){const t=`${a}/propertyNames`;for(const a in e){const e=`${s}/${y(a)}`,c=R(a,C,r,n,o,i,e,t);c.valid||ae.push({instanceLocation:s,keyword:"propertyNames",keywordLocation:t,error:`Property name "${a}" does not match schema.`},...c.errors)}}if(void 0!==D){const t=`${a}/dependantRequired`;for(const r in D)if(r in e){const n=D[r];for(const o of n)o in e||ae.push({instanceLocation:s,keyword:"dependentRequired",keywordLocation:t,error:`Instance has "${r}" but does not have "${o}".`})}}if(void 0!==T)for(const t in T){const u=`${a}/dependentSchemas`;if(t in e){const a=R(e,T[t],r,n,o,i,s,`${u}/${y(t)}`,c);a.valid||ae.push({instanceLocation:s,keyword:"dependentSchemas",keywordLocation:u,error:`Instance has "${t}" but does not match dependant schema.`},...a.errors)}}if(void 0!==U){const t=`${a}/dependencies`;for(const a in U)if(a in e){const c=U[a];if(Array.isArray(c))for(const r of c)r in e||ae.push({instanceLocation:s,keyword:"dependencies",keywordLocation:t,error:`Instance has "${a}" but does not have "${r}".`});else{const u=R(e,c,r,n,o,i,s,`${t}/${y(a)}`);u.valid||ae.push({instanceLocation:s,keyword:"dependencies",keywordLocation:t,error:`Instance has "${a}" but does not match dependant schema.`},...u.errors)}}}const u=Object.create(null);let f=!1;if(void 0!==A){const t=`${a}/properties`;for(const a in A){if(!(a in e))continue;const d=`${s}/${y(a)}`,l=R(e[a],A[a],r,n,o,i,d,`${t}/${y(a)}`);if(l.valid)c[a]=u[a]=!0;else if(f=o,ae.push({instanceLocation:s,keyword:"properties",keywordLocation:t,error:`Property "${a}" does not match schema.`},...l.errors),f)break}}if(!f&&void 0!==z){const t=`${a}/patternProperties`;for(const a in z){const d=new RegExp(a,"u"),l=z[a];for(const h in e){if(!d.test(h))continue;const p=`${s}/${y(h)}`,_=R(e[h],l,r,n,o,i,p,`${t}/${y(a)}`);_.valid?c[h]=u[h]=!0:(f=o,ae.push({instanceLocation:s,keyword:"patternProperties",keywordLocation:t,error:`Property "${h}" matches pattern "${a}" but does not match associated schema.`},..._.errors))}}}if(f||void 0===E){if(!f&&void 0!==I){const t=`${a}/unevaluatedProperties`;for(const a in e)if(!c[a]){const u=`${s}/${y(a)}`,f=R(e[a],I,r,n,o,i,u,t);f.valid?c[a]=!0:ae.push({instanceLocation:s,keyword:"unevaluatedProperties",keywordLocation:t,error:`Property "${a}" does not match unevaluated properties schema.`},...f.errors)}}}else{const t=`${a}/additionalProperties`;for(const a in e){if(u[a])continue;const d=`${s}/${y(a)}`,l=R(e[a],E,r,n,o,i,d,t);l.valid?c[a]=!0:(f=o,ae.push({instanceLocation:s,keyword:"additionalProperties",keywordLocation:t,error:`Property "${a}" does not match additional properties schema.`},...l.errors))}}}else if("array"===f){void 0!==Q&&e.length>Q&&ae.push({instanceLocation:s,keyword:"maxItems",keywordLocation:`${a}/maxItems`,error:`Array has too many items (${e.length} > ${Q}).`}),void 0!==J&&e.length=(K||0)&&(ae.length=f),void 0===K&&void 0===V&&0===d?ae.splice(f,0,{instanceLocation:s,keyword:"contains",keywordLocation:u,error:"Array does not contain item matching schema."}):void 0!==K&&dV&&ae.push({instanceLocation:s,keyword:"maxContains",keywordLocation:`${a}/maxContains`,error:`Array may contain at most ${V} items matching schema. ${d} items were found.`})}if(!f&&void 0!==B){const f=`${a}/unevaluatedItems`;for(;u=H||e>H)&&ae.push({instanceLocation:s,keyword:"maximum",keywordLocation:`${a}/maximum`,error:`${e} is greater than ${ee?"or equal to ":""} ${H}.`})):(void 0!==G&&eH&&ae.push({instanceLocation:s,keyword:"maximum",keywordLocation:`${a}/maximum`,error:`${e} is greater than ${H}.`}),void 0!==Y&&e<=Y&&ae.push({instanceLocation:s,keyword:"exclusiveMinimum",keywordLocation:`${a}/exclusiveMinimum`,error:`${e} is less than ${Y}.`}),void 0!==ee&&e>=ee&&ae.push({instanceLocation:s,keyword:"exclusiveMaximum",keywordLocation:`${a}/exclusiveMaximum`,error:`${e} is greater than or equal to ${ee}.`})),void 0!==te){const t=e%te;Math.abs(0-t)>=1.1920929e-7&&Math.abs(te-t)>=1.1920929e-7&&ae.push({instanceLocation:s,keyword:"multipleOf",keywordLocation:`${a}/multipleOf`,error:`${e} is not a multiple of ${te}.`})}}else if("string"===f){const t=void 0===re&&void 0===ne?0:function(e){let t,r=0,n=e.length,o=0;for(;o=55296&&t<=56319&&one&&ae.push({instanceLocation:s,keyword:"maxLength",keywordLocation:`${a}/maxLength`,error:`String is too long (${t} > ${ne}).`}),void 0===oe||new RegExp(oe,"u").test(e)||ae.push({instanceLocation:s,keyword:"pattern",keywordLocation:`${a}/pattern`,error:"String does not match pattern."}),void 0!==O&&P[O]&&!P[O](e)&&ae.push({instanceLocation:s,keyword:"format",keywordLocation:`${a}/format`,error:`String does not match format "${O}".`})}return{valid:0===ae.length,errors:ae}}!function(e){e[e.Flag=1]="Flag",e[e.Basic=2]="Basic",e[e.Detailed=4]="Detailed"}(C||(C={}));class D{schema;draft;shortCircuit;lookup;constructor(e,t="2019-09",r=!0){this.schema=e,this.draft=t,this.shortCircuit=r,this.lookup=k(e)}validate(e){return R(e,this.schema,this.draft,this.lookup,this.shortCircuit)}addSchema(e,t){t&&(e={...e,$id:t}),k(e,this.lookup)}}function T(e,t){e.removeEventListener("focus",T);const r=t.indexConfig?t.indexConfig:{tokenize:"forward"},n=t.dataFile;r.document={key:"id",index:["title","content","description"],store:["title","href","parent","description"]};const o=new f(r);window.geekdocSearchIndex=o,W(n,(function(e){e.forEach((e=>{window.geekdocSearchIndex.add(e)}))}))}function U(e,r,n){const o=[];for(const i of e){const e=document.createElement("li"),s=e.appendChild(document.createElement("a")),a=s.appendChild(document.createElement("span"));if(s.href=i.href,a.classList.add("gdoc-search__entry--title"),a.textContent=i.title,s.classList.add("gdoc-search__entry"),!0===n){const e=s.appendChild(document.createElement("span"));e.classList.add("gdoc-search__entry--description"),e.textContent=t(i.description,{length:55,separator:" "})}r?r.appendChild(e):o.push(e)}return o}function F(e){if(!e.ok)throw Error("Failed to fetch '"+e.url+"': "+e.statusText);return e}function W(e,t){fetch(e).then(F).then((e=>e.json())).then((e=>t(e))).catch((function(e){e instanceof AggregateError?(console.error(e.message),e.errors.forEach((e=>{console.error(e)}))):console.error(e)}))}document.addEventListener("DOMContentLoaded",(function(){const t=document.querySelector("#gdoc-search-input"),r=document.querySelector("#gdoc-search-results"),n=(o=t?t.dataset.siteBaseUrl:"",(i=document.createElement("a")).href=o,i.pathname);var o,i;const s=t?t.dataset.siteLang:"",a=new D({type:"object",properties:{dataFile:{type:"string"},indexConfig:{type:["object","null"]},showParent:{type:"boolean"},showDescription:{type:"boolean"}},additionalProperties:!1});var c,u;t&&W((c=n,(u="/search/"+s+".config.min.json")?c.replace(/\/+$/,"")+"/"+u.replace(/^\/+/,""):c),(function(n){const o=a.validate(n);if(!o.valid)throw AggregateError(o.errors.map((e=>new Error("Validation error: "+e.error))),"Schema validation failed");t&&(t.addEventListener("focus",(()=>{T(t,n)})),t.addEventListener("keyup",(()=>{!function(t,r,n){for(;r.firstChild;)r.removeChild(r.firstChild);if(!t.value)return r.classList.remove("has-hits");let o=function(e){const t=[],r=new Map;for(const n of e)for(const e of n.result)r.has(e.doc.href)||(r.set(e.doc.href,!0),t.push(e.doc));return t}(window.geekdocSearchIndex.search(t.value,{enrich:!0,limit:5}));if(o.length<1)return r.classList.remove("has-hits");r.classList.add("has-hits"),!0===n.showParent&&(o=e(o,(e=>e.parent)));const i=[];if(!0===n.showParent)for(const e in o){const t=document.createElement("li"),r=t.appendChild(document.createElement("span")),s=t.appendChild(document.createElement("ul"));e||r.remove(),r.classList.add("gdoc-search__section"),r.textContent=e,U(o[e],s,n.showDescription),i.push(t)}else{const e=document.createElement("li"),t=e.appendChild(document.createElement("span")),r=e.appendChild(document.createElement("ul"));t.textContent="Results",U(o,r,n.showDescription),i.push(e)}i.forEach((e=>{r.appendChild(e)}))}(t,r,n)})))}))}))})()})(); \ No newline at end of file diff --git a/docs/hugo/public/js/search-7db5e115.bundle.min.js.LICENSE.txt b/docs/hugo/public/js/search-7db5e115.bundle.min.js.LICENSE.txt new file mode 100644 index 000000000..b700d3a41 --- /dev/null +++ b/docs/hugo/public/js/search-7db5e115.bundle.min.js.LICENSE.txt @@ -0,0 +1,7 @@ +/**! + * FlexSearch.js + * Author and Copyright: Thomas Wilkerling + * Licence: Apache-2.0 + * Hosted by Nextapps GmbH + * https://github.com/nextapps-de/flexsearch + */ diff --git a/docs/hugo/public/katex-a0da2a32.min.css b/docs/hugo/public/katex-a0da2a32.min.css new file mode 100644 index 000000000..09266b4dd --- /dev/null +++ b/docs/hugo/public/katex-a0da2a32.min.css @@ -0,0 +1 @@ +@font-face{font-family:"KaTeX_AMS";src:url(fonts/KaTeX_AMS-Regular.woff2) format("woff2"),url(fonts/KaTeX_AMS-Regular.woff) format("woff"),url(fonts/KaTeX_AMS-Regular.ttf) format("truetype");font-weight:normal;font-style:normal}@font-face{font-family:"KaTeX_Caligraphic";src:url(fonts/KaTeX_Caligraphic-Bold.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Bold.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Bold.ttf) format("truetype");font-weight:bold;font-style:normal}@font-face{font-family:"KaTeX_Caligraphic";src:url(fonts/KaTeX_Caligraphic-Regular.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Regular.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Regular.ttf) format("truetype");font-weight:normal;font-style:normal}@font-face{font-family:"KaTeX_Fraktur";src:url(fonts/KaTeX_Fraktur-Bold.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Bold.woff) format("woff"),url(fonts/KaTeX_Fraktur-Bold.ttf) format("truetype");font-weight:bold;font-style:normal}@font-face{font-family:"KaTeX_Fraktur";src:url(fonts/KaTeX_Fraktur-Regular.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Regular.woff) format("woff"),url(fonts/KaTeX_Fraktur-Regular.ttf) format("truetype");font-weight:normal;font-style:normal}@font-face{font-family:"KaTeX_Main";src:url(fonts/KaTeX_Main-Bold.woff2) format("woff2"),url(fonts/KaTeX_Main-Bold.woff) format("woff"),url(fonts/KaTeX_Main-Bold.ttf) format("truetype");font-weight:bold;font-style:normal}@font-face{font-family:"KaTeX_Main";src:url(fonts/KaTeX_Main-BoldItalic.woff2) format("woff2"),url(fonts/KaTeX_Main-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Main-BoldItalic.ttf) format("truetype");font-weight:bold;font-style:italic}@font-face{font-family:"KaTeX_Main";src:url(fonts/KaTeX_Main-Italic.woff2) format("woff2"),url(fonts/KaTeX_Main-Italic.woff) format("woff"),url(fonts/KaTeX_Main-Italic.ttf) format("truetype");font-weight:normal;font-style:italic}@font-face{font-family:"KaTeX_Main";src:url(fonts/KaTeX_Main-Regular.woff2) format("woff2"),url(fonts/KaTeX_Main-Regular.woff) format("woff"),url(fonts/KaTeX_Main-Regular.ttf) format("truetype");font-weight:normal;font-style:normal}@font-face{font-family:"KaTeX_Math";src:url(fonts/KaTeX_Math-BoldItalic.woff2) format("woff2"),url(fonts/KaTeX_Math-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Math-BoldItalic.ttf) format("truetype");font-weight:bold;font-style:italic}@font-face{font-family:"KaTeX_Math";src:url(fonts/KaTeX_Math-Italic.woff2) format("woff2"),url(fonts/KaTeX_Math-Italic.woff) format("woff"),url(fonts/KaTeX_Math-Italic.ttf) format("truetype");font-weight:normal;font-style:italic}@font-face{font-family:"KaTeX_SansSerif";src:url(fonts/KaTeX_SansSerif-Bold.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Bold.woff) format("woff"),url(fonts/KaTeX_SansSerif-Bold.ttf) format("truetype");font-weight:bold;font-style:normal}@font-face{font-family:"KaTeX_SansSerif";src:url(fonts/KaTeX_SansSerif-Italic.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Italic.woff) format("woff"),url(fonts/KaTeX_SansSerif-Italic.ttf) format("truetype");font-weight:normal;font-style:italic}@font-face{font-family:"KaTeX_SansSerif";src:url(fonts/KaTeX_SansSerif-Regular.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Regular.woff) format("woff"),url(fonts/KaTeX_SansSerif-Regular.ttf) format("truetype");font-weight:normal;font-style:normal}@font-face{font-family:"KaTeX_Script";src:url(fonts/KaTeX_Script-Regular.woff2) format("woff2"),url(fonts/KaTeX_Script-Regular.woff) format("woff"),url(fonts/KaTeX_Script-Regular.ttf) format("truetype");font-weight:normal;font-style:normal}@font-face{font-family:"KaTeX_Size1";src:url(fonts/KaTeX_Size1-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size1-Regular.woff) format("woff"),url(fonts/KaTeX_Size1-Regular.ttf) format("truetype");font-weight:normal;font-style:normal}@font-face{font-family:"KaTeX_Size2";src:url(fonts/KaTeX_Size2-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size2-Regular.woff) format("woff"),url(fonts/KaTeX_Size2-Regular.ttf) format("truetype");font-weight:normal;font-style:normal}@font-face{font-family:"KaTeX_Size3";src:url(fonts/KaTeX_Size3-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size3-Regular.woff) format("woff"),url(fonts/KaTeX_Size3-Regular.ttf) format("truetype");font-weight:normal;font-style:normal}@font-face{font-family:"KaTeX_Size4";src:url(fonts/KaTeX_Size4-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size4-Regular.woff) format("woff"),url(fonts/KaTeX_Size4-Regular.ttf) format("truetype");font-weight:normal;font-style:normal}@font-face{font-family:"KaTeX_Typewriter";src:url(fonts/KaTeX_Typewriter-Regular.woff2) format("woff2"),url(fonts/KaTeX_Typewriter-Regular.woff) format("woff"),url(fonts/KaTeX_Typewriter-Regular.ttf) format("truetype");font-weight:normal;font-style:normal}.katex{font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none !important}.katex *{border-color:currentColor}.katex .katex-version::after{content:"0.16.21"}.katex .katex-mathml{position:absolute;clip:rect(1px, 1px, 1px, 1px);padding:0;border:0;height:1px;width:1px;overflow:hidden}.katex .katex-html>.newline{display:block}.katex .base{position:relative;display:inline-block;white-space:nowrap;width:-moz-min-content;width:min-content}.katex .strut{display:inline-block}.katex .textbf{font-weight:bold}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:bold}.katex .boldsymbol{font-family:KaTeX_Math;font-weight:bold;font-style:italic}.katex .amsrm{font-family:KaTeX_AMS}.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:bold}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:bold}.katex .mathsfit,.katex .mathitsf,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{display:inline-table;table-layout:fixed;border-collapse:collapse}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;vertical-align:bottom;position:relative}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;vertical-align:bottom;font-size:1px;width:2px;min-width:2px}.katex .vbox{display:inline-flex;flex-direction:column;align-items:baseline}.katex .hbox{display:inline-flex;flex-direction:row;width:100%}.katex .thinbox{display:inline-flex;flex-direction:row;width:0;max-width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{display:inline-block;width:100%;border-bottom-style:solid}.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .underline .underline-line,.katex .hline,.katex .hdashline,.katex .rule{min-height:1px}.katex .mspace{display:inline-block}.katex .llap,.katex .rlap,.katex .clap{width:0;position:relative}.katex .llap>.inner,.katex .rlap>.inner,.katex .clap>.inner{position:absolute}.katex .llap>.fix,.katex .rlap>.fix,.katex .clap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .rlap>.inner,.katex .clap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{display:inline-block;border:solid 0;position:relative}.katex .overline .overline-line,.katex .underline .underline-line,.katex .hline{display:inline-block;width:100%;border-bottom-style:solid}.katex .hdashline{display:inline-block;width:100%;border-bottom-style:dashed}.katex .sqrt>.root{margin-left:0.2777777778em;margin-right:-0.5555555556em}.katex .sizing.reset-size1.size1,.katex .fontsize-ensurer.reset-size1.size1{font-size:1em}.katex .sizing.reset-size1.size2,.katex .fontsize-ensurer.reset-size1.size2{font-size:1.2em}.katex .sizing.reset-size1.size3,.katex .fontsize-ensurer.reset-size1.size3{font-size:1.4em}.katex .sizing.reset-size1.size4,.katex .fontsize-ensurer.reset-size1.size4{font-size:1.6em}.katex .sizing.reset-size1.size5,.katex .fontsize-ensurer.reset-size1.size5{font-size:1.8em}.katex .sizing.reset-size1.size6,.katex .fontsize-ensurer.reset-size1.size6{font-size:2em}.katex .sizing.reset-size1.size7,.katex .fontsize-ensurer.reset-size1.size7{font-size:2.4em}.katex .sizing.reset-size1.size8,.katex .fontsize-ensurer.reset-size1.size8{font-size:2.88em}.katex .sizing.reset-size1.size9,.katex .fontsize-ensurer.reset-size1.size9{font-size:3.456em}.katex .sizing.reset-size1.size10,.katex .fontsize-ensurer.reset-size1.size10{font-size:4.148em}.katex .sizing.reset-size1.size11,.katex .fontsize-ensurer.reset-size1.size11{font-size:4.976em}.katex .sizing.reset-size2.size1,.katex .fontsize-ensurer.reset-size2.size1{font-size:0.8333333333em}.katex .sizing.reset-size2.size2,.katex .fontsize-ensurer.reset-size2.size2{font-size:1em}.katex .sizing.reset-size2.size3,.katex .fontsize-ensurer.reset-size2.size3{font-size:1.1666666667em}.katex .sizing.reset-size2.size4,.katex .fontsize-ensurer.reset-size2.size4{font-size:1.3333333333em}.katex .sizing.reset-size2.size5,.katex .fontsize-ensurer.reset-size2.size5{font-size:1.5em}.katex .sizing.reset-size2.size6,.katex .fontsize-ensurer.reset-size2.size6{font-size:1.6666666667em}.katex .sizing.reset-size2.size7,.katex .fontsize-ensurer.reset-size2.size7{font-size:2em}.katex .sizing.reset-size2.size8,.katex .fontsize-ensurer.reset-size2.size8{font-size:2.4em}.katex .sizing.reset-size2.size9,.katex .fontsize-ensurer.reset-size2.size9{font-size:2.88em}.katex .sizing.reset-size2.size10,.katex .fontsize-ensurer.reset-size2.size10{font-size:3.4566666667em}.katex .sizing.reset-size2.size11,.katex .fontsize-ensurer.reset-size2.size11{font-size:4.1466666667em}.katex .sizing.reset-size3.size1,.katex .fontsize-ensurer.reset-size3.size1{font-size:0.7142857143em}.katex .sizing.reset-size3.size2,.katex .fontsize-ensurer.reset-size3.size2{font-size:0.8571428571em}.katex .sizing.reset-size3.size3,.katex .fontsize-ensurer.reset-size3.size3{font-size:1em}.katex .sizing.reset-size3.size4,.katex .fontsize-ensurer.reset-size3.size4{font-size:1.1428571429em}.katex .sizing.reset-size3.size5,.katex .fontsize-ensurer.reset-size3.size5{font-size:1.2857142857em}.katex .sizing.reset-size3.size6,.katex .fontsize-ensurer.reset-size3.size6{font-size:1.4285714286em}.katex .sizing.reset-size3.size7,.katex .fontsize-ensurer.reset-size3.size7{font-size:1.7142857143em}.katex .sizing.reset-size3.size8,.katex .fontsize-ensurer.reset-size3.size8{font-size:2.0571428571em}.katex .sizing.reset-size3.size9,.katex .fontsize-ensurer.reset-size3.size9{font-size:2.4685714286em}.katex .sizing.reset-size3.size10,.katex .fontsize-ensurer.reset-size3.size10{font-size:2.9628571429em}.katex .sizing.reset-size3.size11,.katex .fontsize-ensurer.reset-size3.size11{font-size:3.5542857143em}.katex .sizing.reset-size4.size1,.katex .fontsize-ensurer.reset-size4.size1{font-size:.625em}.katex .sizing.reset-size4.size2,.katex .fontsize-ensurer.reset-size4.size2{font-size:.75em}.katex .sizing.reset-size4.size3,.katex .fontsize-ensurer.reset-size4.size3{font-size:.875em}.katex .sizing.reset-size4.size4,.katex .fontsize-ensurer.reset-size4.size4{font-size:1em}.katex .sizing.reset-size4.size5,.katex .fontsize-ensurer.reset-size4.size5{font-size:1.125em}.katex .sizing.reset-size4.size6,.katex .fontsize-ensurer.reset-size4.size6{font-size:1.25em}.katex .sizing.reset-size4.size7,.katex .fontsize-ensurer.reset-size4.size7{font-size:1.5em}.katex .sizing.reset-size4.size8,.katex .fontsize-ensurer.reset-size4.size8{font-size:1.8em}.katex .sizing.reset-size4.size9,.katex .fontsize-ensurer.reset-size4.size9{font-size:2.16em}.katex .sizing.reset-size4.size10,.katex .fontsize-ensurer.reset-size4.size10{font-size:2.5925em}.katex .sizing.reset-size4.size11,.katex .fontsize-ensurer.reset-size4.size11{font-size:3.11em}.katex .sizing.reset-size5.size1,.katex .fontsize-ensurer.reset-size5.size1{font-size:0.5555555556em}.katex .sizing.reset-size5.size2,.katex .fontsize-ensurer.reset-size5.size2{font-size:0.6666666667em}.katex .sizing.reset-size5.size3,.katex .fontsize-ensurer.reset-size5.size3{font-size:0.7777777778em}.katex .sizing.reset-size5.size4,.katex .fontsize-ensurer.reset-size5.size4{font-size:0.8888888889em}.katex .sizing.reset-size5.size5,.katex .fontsize-ensurer.reset-size5.size5{font-size:1em}.katex .sizing.reset-size5.size6,.katex .fontsize-ensurer.reset-size5.size6{font-size:1.1111111111em}.katex .sizing.reset-size5.size7,.katex .fontsize-ensurer.reset-size5.size7{font-size:1.3333333333em}.katex .sizing.reset-size5.size8,.katex .fontsize-ensurer.reset-size5.size8{font-size:1.6em}.katex .sizing.reset-size5.size9,.katex .fontsize-ensurer.reset-size5.size9{font-size:1.92em}.katex .sizing.reset-size5.size10,.katex .fontsize-ensurer.reset-size5.size10{font-size:2.3044444444em}.katex .sizing.reset-size5.size11,.katex .fontsize-ensurer.reset-size5.size11{font-size:2.7644444444em}.katex .sizing.reset-size6.size1,.katex .fontsize-ensurer.reset-size6.size1{font-size:.5em}.katex .sizing.reset-size6.size2,.katex .fontsize-ensurer.reset-size6.size2{font-size:.6em}.katex .sizing.reset-size6.size3,.katex .fontsize-ensurer.reset-size6.size3{font-size:.7em}.katex .sizing.reset-size6.size4,.katex .fontsize-ensurer.reset-size6.size4{font-size:.8em}.katex .sizing.reset-size6.size5,.katex .fontsize-ensurer.reset-size6.size5{font-size:.9em}.katex .sizing.reset-size6.size6,.katex .fontsize-ensurer.reset-size6.size6{font-size:1em}.katex .sizing.reset-size6.size7,.katex .fontsize-ensurer.reset-size6.size7{font-size:1.2em}.katex .sizing.reset-size6.size8,.katex .fontsize-ensurer.reset-size6.size8{font-size:1.44em}.katex .sizing.reset-size6.size9,.katex .fontsize-ensurer.reset-size6.size9{font-size:1.728em}.katex .sizing.reset-size6.size10,.katex .fontsize-ensurer.reset-size6.size10{font-size:2.074em}.katex .sizing.reset-size6.size11,.katex .fontsize-ensurer.reset-size6.size11{font-size:2.488em}.katex .sizing.reset-size7.size1,.katex .fontsize-ensurer.reset-size7.size1{font-size:0.4166666667em}.katex .sizing.reset-size7.size2,.katex .fontsize-ensurer.reset-size7.size2{font-size:.5em}.katex .sizing.reset-size7.size3,.katex .fontsize-ensurer.reset-size7.size3{font-size:0.5833333333em}.katex .sizing.reset-size7.size4,.katex .fontsize-ensurer.reset-size7.size4{font-size:0.6666666667em}.katex .sizing.reset-size7.size5,.katex .fontsize-ensurer.reset-size7.size5{font-size:.75em}.katex .sizing.reset-size7.size6,.katex .fontsize-ensurer.reset-size7.size6{font-size:0.8333333333em}.katex .sizing.reset-size7.size7,.katex .fontsize-ensurer.reset-size7.size7{font-size:1em}.katex .sizing.reset-size7.size8,.katex .fontsize-ensurer.reset-size7.size8{font-size:1.2em}.katex .sizing.reset-size7.size9,.katex .fontsize-ensurer.reset-size7.size9{font-size:1.44em}.katex .sizing.reset-size7.size10,.katex .fontsize-ensurer.reset-size7.size10{font-size:1.7283333333em}.katex .sizing.reset-size7.size11,.katex .fontsize-ensurer.reset-size7.size11{font-size:2.0733333333em}.katex .sizing.reset-size8.size1,.katex .fontsize-ensurer.reset-size8.size1{font-size:0.3472222222em}.katex .sizing.reset-size8.size2,.katex .fontsize-ensurer.reset-size8.size2{font-size:0.4166666667em}.katex .sizing.reset-size8.size3,.katex .fontsize-ensurer.reset-size8.size3{font-size:0.4861111111em}.katex .sizing.reset-size8.size4,.katex .fontsize-ensurer.reset-size8.size4{font-size:0.5555555556em}.katex .sizing.reset-size8.size5,.katex .fontsize-ensurer.reset-size8.size5{font-size:.625em}.katex .sizing.reset-size8.size6,.katex .fontsize-ensurer.reset-size8.size6{font-size:0.6944444444em}.katex .sizing.reset-size8.size7,.katex .fontsize-ensurer.reset-size8.size7{font-size:0.8333333333em}.katex .sizing.reset-size8.size8,.katex .fontsize-ensurer.reset-size8.size8{font-size:1em}.katex .sizing.reset-size8.size9,.katex .fontsize-ensurer.reset-size8.size9{font-size:1.2em}.katex .sizing.reset-size8.size10,.katex .fontsize-ensurer.reset-size8.size10{font-size:1.4402777778em}.katex .sizing.reset-size8.size11,.katex .fontsize-ensurer.reset-size8.size11{font-size:1.7277777778em}.katex .sizing.reset-size9.size1,.katex .fontsize-ensurer.reset-size9.size1{font-size:0.2893518519em}.katex .sizing.reset-size9.size2,.katex .fontsize-ensurer.reset-size9.size2{font-size:0.3472222222em}.katex .sizing.reset-size9.size3,.katex .fontsize-ensurer.reset-size9.size3{font-size:0.4050925926em}.katex .sizing.reset-size9.size4,.katex .fontsize-ensurer.reset-size9.size4{font-size:.462962963em}.katex .sizing.reset-size9.size5,.katex .fontsize-ensurer.reset-size9.size5{font-size:0.5208333333em}.katex .sizing.reset-size9.size6,.katex .fontsize-ensurer.reset-size9.size6{font-size:0.5787037037em}.katex .sizing.reset-size9.size7,.katex .fontsize-ensurer.reset-size9.size7{font-size:0.6944444444em}.katex .sizing.reset-size9.size8,.katex .fontsize-ensurer.reset-size9.size8{font-size:0.8333333333em}.katex .sizing.reset-size9.size9,.katex .fontsize-ensurer.reset-size9.size9{font-size:1em}.katex .sizing.reset-size9.size10,.katex .fontsize-ensurer.reset-size9.size10{font-size:1.2002314815em}.katex .sizing.reset-size9.size11,.katex .fontsize-ensurer.reset-size9.size11{font-size:1.4398148148em}.katex .sizing.reset-size10.size1,.katex .fontsize-ensurer.reset-size10.size1{font-size:0.2410800386em}.katex .sizing.reset-size10.size2,.katex .fontsize-ensurer.reset-size10.size2{font-size:0.2892960463em}.katex .sizing.reset-size10.size3,.katex .fontsize-ensurer.reset-size10.size3{font-size:.337512054em}.katex .sizing.reset-size10.size4,.katex .fontsize-ensurer.reset-size10.size4{font-size:0.3857280617em}.katex .sizing.reset-size10.size5,.katex .fontsize-ensurer.reset-size10.size5{font-size:0.4339440694em}.katex .sizing.reset-size10.size6,.katex .fontsize-ensurer.reset-size10.size6{font-size:0.4821600771em}.katex .sizing.reset-size10.size7,.katex .fontsize-ensurer.reset-size10.size7{font-size:0.5785920926em}.katex .sizing.reset-size10.size8,.katex .fontsize-ensurer.reset-size10.size8{font-size:0.6943105111em}.katex .sizing.reset-size10.size9,.katex .fontsize-ensurer.reset-size10.size9{font-size:0.8331726133em}.katex .sizing.reset-size10.size10,.katex .fontsize-ensurer.reset-size10.size10{font-size:1em}.katex .sizing.reset-size10.size11,.katex .fontsize-ensurer.reset-size10.size11{font-size:1.1996142719em}.katex .sizing.reset-size11.size1,.katex .fontsize-ensurer.reset-size11.size1{font-size:0.2009646302em}.katex .sizing.reset-size11.size2,.katex .fontsize-ensurer.reset-size11.size2{font-size:0.2411575563em}.katex .sizing.reset-size11.size3,.katex .fontsize-ensurer.reset-size11.size3{font-size:0.2813504823em}.katex .sizing.reset-size11.size4,.katex .fontsize-ensurer.reset-size11.size4{font-size:0.3215434084em}.katex .sizing.reset-size11.size5,.katex .fontsize-ensurer.reset-size11.size5{font-size:0.3617363344em}.katex .sizing.reset-size11.size6,.katex .fontsize-ensurer.reset-size11.size6{font-size:0.4019292605em}.katex .sizing.reset-size11.size7,.katex .fontsize-ensurer.reset-size11.size7{font-size:0.4823151125em}.katex .sizing.reset-size11.size8,.katex .fontsize-ensurer.reset-size11.size8{font-size:.578778135em}.katex .sizing.reset-size11.size9,.katex .fontsize-ensurer.reset-size11.size9{font-size:0.6945337621em}.katex .sizing.reset-size11.size10,.katex .fontsize-ensurer.reset-size11.size10{font-size:0.8336012862em}.katex .sizing.reset-size11.size11,.katex .fontsize-ensurer.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter{position:relative}.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .op-limits>.vlist-t{text-align:center}.katex .accent>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{display:block;position:absolute;width:100%;height:inherit;fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex svg path{stroke:none}.katex img{border-style:none;min-width:0;min-height:0;max-width:none;max-height:none}.katex .stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .stretchy::before,.katex .stretchy::after{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{position:absolute;left:0;width:50.2%;overflow:hidden}.katex .halfarrow-right{position:absolute;right:0;width:50.2%;overflow:hidden}.katex .brace-left{position:absolute;left:0;width:25.1%;overflow:hidden}.katex .brace-center{position:absolute;left:25%;width:50%;overflow:hidden}.katex .brace-right{position:absolute;right:0;width:25.1%;overflow:hidden}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .x-arrow,.katex .mover,.katex .munder{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{box-sizing:border-box;border:.04em solid}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-0.2em;margin-right:-0.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{box-sizing:border-box;border-top:.049em solid;border-right:.049em solid;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num::before{counter-increment:katexEqnNo;content:"(" counter(katexEqnNo) ")"}.katex .mml-eqn-num::before{counter-increment:mmlEqnNo;content:"(" counter(mmlEqnNo) ")"}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;position:absolute;left:calc(50% + .3em);text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{text-align:left;padding-left:2em}body{counter-reset:katexEqnNo mmlEqnNo} \ No newline at end of file diff --git a/docs/hugo/public/main-4434ec39.min.css b/docs/hugo/public/main-4434ec39.min.css new file mode 100644 index 000000000..47f6f38a6 --- /dev/null +++ b/docs/hugo/public/main-4434ec39.min.css @@ -0,0 +1 @@ +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0;line-height:1.2em}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.flex{display:flex}.flex-auto{flex:1 1 auto}.flex-25{flex:1 1 25%}.flex-inline{display:inline-flex}.flex-even{flex:1 1}.flex-wrap{flex-wrap:wrap}.flex-grid{flex-direction:column;border:1px solid var(--accent-color);border-radius:.15rem;background:var(--accent-color-lite)}.flex-gap{flex-wrap:wrap;gap:1rem}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.align-center{align-items:center}.mx-auto{margin:0 auto}.text-center{text-align:center}.text-right{text-align:right}.no-wrap{white-space:nowrap}.hidden{display:none !important}.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}.table-wrap{overflow:auto;margin:1rem 0}.table-wrap>table{margin:0 !important}.badge-placeholder{display:inline-block;min-width:4rem}@font-face{font-family:"Liberation Sans";src:url("fonts/LiberationSans-Bold.woff2") format("woff2"),url("fonts/LiberationSans-Bold.woff") format("woff");font-weight:bold;font-style:normal;font-display:swap}@font-face{font-family:"Liberation Sans";src:url("fonts/LiberationSans-BoldItalic.woff2") format("woff2"),url("fonts/LiberationSans-BoldItalic.woff") format("woff");font-weight:bold;font-style:italic;font-display:swap}@font-face{font-family:"Liberation Sans";src:url("fonts/LiberationSans-Italic.woff2") format("woff2"),url("fonts/LiberationSans-Italic.woff") format("woff");font-weight:normal;font-style:italic;font-display:swap}@font-face{font-family:"Liberation Sans";src:url("fonts/LiberationSans.woff2") format("woff2"),url("fonts/LiberationSans.woff") format("woff");font-weight:normal;font-style:normal;font-display:swap}@font-face{font-family:"Liberation Mono";src:url("fonts/LiberationMono.woff2") format("woff2"),url("fonts/LiberationMono.woff") format("woff");font-weight:normal;font-style:normal;font-display:swap}@font-face{font-family:"Metropolis";src:url("fonts/Metropolis.woff2") format("woff2"),url("fonts/Metropolis.woff") format("woff");font-weight:normal;font-style:normal;font-display:swap}@font-face{font-family:"GeekdocIcons";src:url("fonts/GeekdocIcons.woff2") format("woff2"),url("fonts/GeekdocIcons.woff") format("woff");font-weight:normal;font-style:normal;font-display:swap}body{font-family:var(--body-font-family)}code,.gdoc-error__title{font-family:var(--code-font-family)}.gdoc-header{font-family:var(--header-font-family)}:root{--code-max-height: none;--header-font-family: "Metropolis", sans-serif;--body-font-family: "Liberation Sans", sans-serif;--code-font-family: "Liberation Mono", monospace}:root,:root[color-theme=light]{--header-background: rgb(32, 83, 117);--header-font-color: rgb(255, 255, 255);--body-background: white;--body-font-color: rgb(52, 58, 64);--mark-color: rgb(255, 171, 0);--button-background: rgb(43.6295302013, 113.1640939597, 159.5204697987);--button-border-color: rgb(32, 83, 117);--link-color: rgb(10, 83, 154);--link-color-visited: rgb(119, 73, 191);--hint-link-color: rgb(10, 83, 154);--hint-link-color-visited: rgb(119, 73, 191);--accent-color-dark: rgb(206, 212, 218);--accent-color: rgb(233, 236, 239);--accent-color-lite: rgb(248, 249, 250);--control-icons: rgb(124.5724137931, 136.8, 149.0275862069);--footer-background: rgb(17, 43, 60);--footer-font-color: rgb(255, 255, 255);--footer-link-color: rgb(246, 107, 14);--footer-link-color-visited: rgb(246, 107, 14)}:root .dark-mode-dim .gdoc-markdown img,:root[color-theme=light] .dark-mode-dim .gdoc-markdown img{filter:none}:root .gdoc-markdown .gdoc-hint,:root .gdoc-markdown .gdoc-props__tag,:root .gdoc-markdown .admonitionblock,:root[color-theme=light] .gdoc-markdown .gdoc-hint,:root[color-theme=light] .gdoc-markdown .gdoc-props__tag,:root[color-theme=light] .gdoc-markdown .admonitionblock{filter:none}:root .gdoc-markdown .gdoc-hint__title,:root .gdoc-markdown .admonitionblock table td:first-child,:root[color-theme=light] .gdoc-markdown .gdoc-hint__title,:root[color-theme=light] .gdoc-markdown .admonitionblock table td:first-child{background-color:rgba(134,142,150,.05)}:root .chroma,:root[color-theme=light] .chroma{color:var(--code-font-color)}:root .chroma .lntable td:nth-child(2) code .hl,:root[color-theme=light] .chroma .lntable td:nth-child(2) code .hl{width:auto;margin-left:-0.5em;padding:0 .5em}:root .highlight pre.chroma,:root[color-theme=light] .highlight pre.chroma{width:100%;overflow:auto;max-height:var(--code-max-height)}:root .chroma .lntable,:root[color-theme=light] .chroma .lntable{border:1px solid var(--code-accent-color);border-radius:.15rem;border-spacing:0;padding:0;margin:0;width:100%;display:block;max-height:var(--code-max-height);overflow:auto}:root .chroma .lntable pre.chroma,:root[color-theme=light] .chroma .lntable pre.chroma{max-height:none;border-radius:0;margin:0}:root .chroma .lntable td:first-child code,:root[color-theme=light] .chroma .lntable td:first-child code{background-color:var(--code-accent-color-lite);border-right:1px solid var(--code-accent-color);padding-left:0;padding-right:0;border-radius:0}:root .chroma .lntable td:nth-child(2),:root[color-theme=light] .chroma .lntable td:nth-child(2){width:100%;margin-left:2rem}:root .chroma .x,:root[color-theme=light] .chroma .x{color:inherit}:root .chroma .err,:root[color-theme=light] .chroma .err{color:#a61717;background-color:#e3d2d2}:root .chroma .lntd,:root[color-theme=light] .chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}:root .chroma .hl,:root[color-theme=light] .chroma .hl{display:block;width:100%;background-color:#ffc}:root .chroma .lnt,:root[color-theme=light] .chroma .lnt{padding:0 .8em}:root .chroma .ln,:root[color-theme=light] .chroma .ln{margin-right:.4em;padding:0 .4em 0 .4em}:root .chroma .k,:root[color-theme=light] .chroma .k{color:#000;font-weight:bold}:root .chroma .kc,:root[color-theme=light] .chroma .kc{color:#000;font-weight:bold}:root .chroma .kd,:root[color-theme=light] .chroma .kd{color:#000;font-weight:bold}:root .chroma .kn,:root[color-theme=light] .chroma .kn{color:#000;font-weight:bold}:root .chroma .kp,:root[color-theme=light] .chroma .kp{color:#000;font-weight:bold}:root .chroma .kr,:root[color-theme=light] .chroma .kr{color:#000;font-weight:bold}:root .chroma .kt,:root[color-theme=light] .chroma .kt{color:#458;font-weight:bold}:root .chroma .n,:root[color-theme=light] .chroma .n{color:inherit}:root .chroma .na,:root[color-theme=light] .chroma .na{color:#006767}:root .chroma .nb,:root[color-theme=light] .chroma .nb{color:#556165}:root .chroma .bp,:root[color-theme=light] .chroma .bp{color:#676767}:root .chroma .nc,:root[color-theme=light] .chroma .nc{color:#458;font-weight:bold}:root .chroma .no,:root[color-theme=light] .chroma .no{color:#006767}:root .chroma .nd,:root[color-theme=light] .chroma .nd{color:#3c5d5d;font-weight:bold}:root .chroma .ni,:root[color-theme=light] .chroma .ni{color:purple}:root .chroma .ne,:root[color-theme=light] .chroma .ne{color:#900;font-weight:bold}:root .chroma .nf,:root[color-theme=light] .chroma .nf{color:#900;font-weight:bold}:root .chroma .fm,:root[color-theme=light] .chroma .fm{color:inherit}:root .chroma .nl,:root[color-theme=light] .chroma .nl{color:#900;font-weight:bold}:root .chroma .nn,:root[color-theme=light] .chroma .nn{color:#555}:root .chroma .nx,:root[color-theme=light] .chroma .nx{color:inherit}:root .chroma .py,:root[color-theme=light] .chroma .py{color:inherit}:root .chroma .nt,:root[color-theme=light] .chroma .nt{color:navy}:root .chroma .nv,:root[color-theme=light] .chroma .nv{color:#006767}:root .chroma .vc,:root[color-theme=light] .chroma .vc{color:#006767}:root .chroma .vg,:root[color-theme=light] .chroma .vg{color:#006767}:root .chroma .vi,:root[color-theme=light] .chroma .vi{color:#006767}:root .chroma .vm,:root[color-theme=light] .chroma .vm{color:inherit}:root .chroma .l,:root[color-theme=light] .chroma .l{color:inherit}:root .chroma .ld,:root[color-theme=light] .chroma .ld{color:inherit}:root .chroma .s,:root[color-theme=light] .chroma .s{color:#d14}:root .chroma .sa,:root[color-theme=light] .chroma .sa{color:#d14}:root .chroma .sb,:root[color-theme=light] .chroma .sb{color:#d14}:root .chroma .sc,:root[color-theme=light] .chroma .sc{color:#d14}:root .chroma .dl,:root[color-theme=light] .chroma .dl{color:#d14}:root .chroma .sd,:root[color-theme=light] .chroma .sd{color:#d14}:root .chroma .s2,:root[color-theme=light] .chroma .s2{color:#d14}:root .chroma .se,:root[color-theme=light] .chroma .se{color:#d14}:root .chroma .sh,:root[color-theme=light] .chroma .sh{color:#d14}:root .chroma .si,:root[color-theme=light] .chroma .si{color:#d14}:root .chroma .sx,:root[color-theme=light] .chroma .sx{color:#d14}:root .chroma .sr,:root[color-theme=light] .chroma .sr{color:#009926}:root .chroma .s1,:root[color-theme=light] .chroma .s1{color:#d14}:root .chroma .ss,:root[color-theme=light] .chroma .ss{color:#990073}:root .chroma .m,:root[color-theme=light] .chroma .m{color:#027e83}:root .chroma .mb,:root[color-theme=light] .chroma .mb{color:#027e83}:root .chroma .mf,:root[color-theme=light] .chroma .mf{color:#027e83}:root .chroma .mh,:root[color-theme=light] .chroma .mh{color:#027e83}:root .chroma .mi,:root[color-theme=light] .chroma .mi{color:#027e83}:root .chroma .il,:root[color-theme=light] .chroma .il{color:#027e83}:root .chroma .mo,:root[color-theme=light] .chroma .mo{color:#027e83}:root .chroma .o,:root[color-theme=light] .chroma .o{color:#000;font-weight:bold}:root .chroma .ow,:root[color-theme=light] .chroma .ow{color:#000;font-weight:bold}:root .chroma .p,:root[color-theme=light] .chroma .p{color:inherit}:root .chroma .c,:root[color-theme=light] .chroma .c{color:#676765;font-style:italic}:root .chroma .ch,:root[color-theme=light] .chroma .ch{color:#676765;font-style:italic}:root .chroma .cm,:root[color-theme=light] .chroma .cm{color:#676765;font-style:italic}:root .chroma .c1,:root[color-theme=light] .chroma .c1{color:#676765;font-style:italic}:root .chroma .cs,:root[color-theme=light] .chroma .cs{color:#676767;font-weight:bold;font-style:italic}:root .chroma .cp,:root[color-theme=light] .chroma .cp{color:#676767;font-weight:bold;font-style:italic}:root .chroma .cpf,:root[color-theme=light] .chroma .cpf{color:#676767;font-weight:bold;font-style:italic}:root .chroma .g,:root[color-theme=light] .chroma .g{color:inherit}:root .chroma .gd,:root[color-theme=light] .chroma .gd{color:#000;background-color:#fdd}:root .chroma .ge,:root[color-theme=light] .chroma .ge{color:#000;font-style:italic}:root .chroma .gr,:root[color-theme=light] .chroma .gr{color:#a00}:root .chroma .gh,:root[color-theme=light] .chroma .gh{color:#676767}:root .chroma .gi,:root[color-theme=light] .chroma .gi{color:#000;background-color:#dfd}:root .chroma .go,:root[color-theme=light] .chroma .go{color:#6f6f6f}:root .chroma .gp,:root[color-theme=light] .chroma .gp{color:#555}:root .chroma .gs,:root[color-theme=light] .chroma .gs{font-weight:bold}:root .chroma .gu,:root[color-theme=light] .chroma .gu{color:#5f5f5f}:root .chroma .gt,:root[color-theme=light] .chroma .gt{color:#a00}:root .chroma .gl,:root[color-theme=light] .chroma .gl{text-decoration:underline}:root .chroma .w,:root[color-theme=light] .chroma .w{color:#bbb}:root,:root[color-theme=light]{--code-background: rgb(248, 249, 250);--code-accent-color: rgb(117.275, 136.95, 156.625);--code-accent-color-lite: rgb(204.425, 211.65, 218.875);--code-font-color: rgb(70, 70, 70);--code-copy-background: rgb(248, 249, 250);--code-copy-font-color: #6b6b6b;--code-copy-border-color: #909090;--code-copy-success-color: rgb(0, 200, 83)}@media(prefers-color-scheme: light){:root{--header-background: rgb(32, 83, 117);--header-font-color: rgb(255, 255, 255);--body-background: white;--body-font-color: rgb(52, 58, 64);--mark-color: rgb(255, 171, 0);--button-background: rgb(43.6295302013, 113.1640939597, 159.5204697987);--button-border-color: rgb(32, 83, 117);--link-color: rgb(10, 83, 154);--link-color-visited: rgb(119, 73, 191);--hint-link-color: rgb(10, 83, 154);--hint-link-color-visited: rgb(119, 73, 191);--accent-color-dark: rgb(206, 212, 218);--accent-color: rgb(233, 236, 239);--accent-color-lite: rgb(248, 249, 250);--control-icons: rgb(124.5724137931, 136.8, 149.0275862069);--footer-background: rgb(17, 43, 60);--footer-font-color: rgb(255, 255, 255);--footer-link-color: rgb(246, 107, 14);--footer-link-color-visited: rgb(246, 107, 14)}:root .dark-mode-dim .gdoc-markdown img{filter:none}:root .gdoc-markdown .gdoc-hint,:root .gdoc-markdown .gdoc-props__tag,:root .gdoc-markdown .admonitionblock{filter:none}:root .gdoc-markdown .gdoc-hint__title,:root .gdoc-markdown .admonitionblock table td:first-child{background-color:rgba(134,142,150,.05)}:root .chroma{color:var(--code-font-color)}:root .chroma .lntable td:nth-child(2) code .hl{width:auto;margin-left:-0.5em;padding:0 .5em}:root .highlight pre.chroma{width:100%;overflow:auto;max-height:var(--code-max-height)}:root .chroma .lntable{border:1px solid var(--code-accent-color);border-radius:.15rem;border-spacing:0;padding:0;margin:0;width:100%;display:block;max-height:var(--code-max-height);overflow:auto}:root .chroma .lntable pre.chroma{max-height:none;border-radius:0;margin:0}:root .chroma .lntable td:first-child code{background-color:var(--code-accent-color-lite);border-right:1px solid var(--code-accent-color);padding-left:0;padding-right:0;border-radius:0}:root .chroma .lntable td:nth-child(2){width:100%;margin-left:2rem}:root .chroma .x{color:inherit}:root .chroma .err{color:#a61717;background-color:#e3d2d2}:root .chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}:root .chroma .hl{display:block;width:100%;background-color:#ffc}:root .chroma .lnt{padding:0 .8em}:root .chroma .ln{margin-right:.4em;padding:0 .4em 0 .4em}:root .chroma .k{color:#000;font-weight:bold}:root .chroma .kc{color:#000;font-weight:bold}:root .chroma .kd{color:#000;font-weight:bold}:root .chroma .kn{color:#000;font-weight:bold}:root .chroma .kp{color:#000;font-weight:bold}:root .chroma .kr{color:#000;font-weight:bold}:root .chroma .kt{color:#458;font-weight:bold}:root .chroma .n{color:inherit}:root .chroma .na{color:#006767}:root .chroma .nb{color:#556165}:root .chroma .bp{color:#676767}:root .chroma .nc{color:#458;font-weight:bold}:root .chroma .no{color:#006767}:root .chroma .nd{color:#3c5d5d;font-weight:bold}:root .chroma .ni{color:purple}:root .chroma .ne{color:#900;font-weight:bold}:root .chroma .nf{color:#900;font-weight:bold}:root .chroma .fm{color:inherit}:root .chroma .nl{color:#900;font-weight:bold}:root .chroma .nn{color:#555}:root .chroma .nx{color:inherit}:root .chroma .py{color:inherit}:root .chroma .nt{color:navy}:root .chroma .nv{color:#006767}:root .chroma .vc{color:#006767}:root .chroma .vg{color:#006767}:root .chroma .vi{color:#006767}:root .chroma .vm{color:inherit}:root .chroma .l{color:inherit}:root .chroma .ld{color:inherit}:root .chroma .s{color:#d14}:root .chroma .sa{color:#d14}:root .chroma .sb{color:#d14}:root .chroma .sc{color:#d14}:root .chroma .dl{color:#d14}:root .chroma .sd{color:#d14}:root .chroma .s2{color:#d14}:root .chroma .se{color:#d14}:root .chroma .sh{color:#d14}:root .chroma .si{color:#d14}:root .chroma .sx{color:#d14}:root .chroma .sr{color:#009926}:root .chroma .s1{color:#d14}:root .chroma .ss{color:#990073}:root .chroma .m{color:#027e83}:root .chroma .mb{color:#027e83}:root .chroma .mf{color:#027e83}:root .chroma .mh{color:#027e83}:root .chroma .mi{color:#027e83}:root .chroma .il{color:#027e83}:root .chroma .mo{color:#027e83}:root .chroma .o{color:#000;font-weight:bold}:root .chroma .ow{color:#000;font-weight:bold}:root .chroma .p{color:inherit}:root .chroma .c{color:#676765;font-style:italic}:root .chroma .ch{color:#676765;font-style:italic}:root .chroma .cm{color:#676765;font-style:italic}:root .chroma .c1{color:#676765;font-style:italic}:root .chroma .cs{color:#676767;font-weight:bold;font-style:italic}:root .chroma .cp{color:#676767;font-weight:bold;font-style:italic}:root .chroma .cpf{color:#676767;font-weight:bold;font-style:italic}:root .chroma .g{color:inherit}:root .chroma .gd{color:#000;background-color:#fdd}:root .chroma .ge{color:#000;font-style:italic}:root .chroma .gr{color:#a00}:root .chroma .gh{color:#676767}:root .chroma .gi{color:#000;background-color:#dfd}:root .chroma .go{color:#6f6f6f}:root .chroma .gp{color:#555}:root .chroma .gs{font-weight:bold}:root .chroma .gu{color:#5f5f5f}:root .chroma .gt{color:#a00}:root .chroma .gl{text-decoration:underline}:root .chroma .w{color:#bbb}:root{--code-background: rgb(248, 249, 250);--code-accent-color: rgb(117.275, 136.95, 156.625);--code-accent-color-lite: rgb(204.425, 211.65, 218.875);--code-font-color: rgb(70, 70, 70);--code-copy-background: rgb(248, 249, 250);--code-copy-font-color: #6b6b6b;--code-copy-border-color: #909090;--code-copy-success-color: rgb(0, 200, 83)}}:root[color-theme=dark]{--header-background: rgb(32, 83, 117);--header-font-color: rgb(255, 255, 255);--body-background: rgb(40.375, 53.375, 61.875);--body-font-color: rgb(180.9769254279, 196.5292481663, 206.6980745721);--mark-color: rgb(255, 171, 0);--button-background: rgb(43.6295302013, 113.1640939597, 159.5204697987);--button-border-color: rgb(32, 83, 117);--link-color: rgb(110, 168, 212);--link-color-visited: rgb(186, 142, 240);--hint-link-color: rgb(10, 83, 154);--hint-link-color-visited: rgb(119, 73, 191);--accent-color-dark: rgb(16.15, 21.35, 24.75);--accent-color: rgb(28.2625, 37.3625, 43.3125);--accent-color-lite: rgb(34.31875, 45.36875, 52.59375);--control-icons: rgb(124.5724137931, 136.8, 149.0275862069);--footer-background: rgb(17, 43, 60);--footer-font-color: rgb(255, 255, 255);--footer-link-color: rgb(246, 107, 14);--footer-link-color-visited: rgb(246, 107, 14)}:root[color-theme=dark] .dark-mode-dim .gdoc-markdown img{filter:brightness(0.75) grayscale(0.2)}:root[color-theme=dark] .gdoc-markdown .gdoc-hint,:root[color-theme=dark] .gdoc-markdown .gdoc-props__tag,:root[color-theme=dark] .gdoc-markdown .admonitionblock{filter:saturate(2.5) brightness(0.85)}:root[color-theme=dark] .gdoc-markdown .gdoc-hint a,:root[color-theme=dark] .gdoc-markdown .admonitionblock a{color:var(--hint-link-color)}:root[color-theme=dark] .gdoc-markdown .gdoc-hint a:visited,:root[color-theme=dark] .gdoc-markdown .admonitionblock a:visited{color:var(--hint-link-color-visited)}:root[color-theme=dark] .gdoc-markdown .gdoc-hint__title,:root[color-theme=dark] .gdoc-markdown .admonitionblock table td:first-child{background-color:rgba(134,142,150,.15)}:root[color-theme=dark] .chroma{color:var(--code-font-color)}:root[color-theme=dark] .chroma .lntable td:nth-child(2) code .hl{width:auto;margin-left:-0.5em;padding:0 .5em}:root[color-theme=dark] .highlight pre.chroma{width:100%;overflow:auto;max-height:var(--code-max-height)}:root[color-theme=dark] .chroma .lntable{border:1px solid var(--code-accent-color);border-radius:.15rem;border-spacing:0;padding:0;margin:0;width:100%;display:block;max-height:var(--code-max-height);overflow:auto}:root[color-theme=dark] .chroma .lntable pre.chroma{max-height:none;border-radius:0;margin:0}:root[color-theme=dark] .chroma .lntable td:first-child code{background-color:var(--code-accent-color-lite);border-right:1px solid var(--code-accent-color);padding-left:0;padding-right:0;border-radius:0}:root[color-theme=dark] .chroma .lntable td:nth-child(2){width:100%;margin-left:2rem}:root[color-theme=dark] .chroma .x{color:inherit}:root[color-theme=dark] .chroma .err{color:inherit}:root[color-theme=dark] .chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}:root[color-theme=dark] .chroma .hl{display:block;width:100%;background-color:#4f1605}:root[color-theme=dark] .chroma .lnt{padding:0 .8em}:root[color-theme=dark] .chroma .ln{margin-right:.4em;padding:0 .4em 0 .4em;color:#b3b3b3}:root[color-theme=dark] .chroma .k{color:#ff79c6}:root[color-theme=dark] .chroma .kc{color:#ff79c6}:root[color-theme=dark] .chroma .kd{color:#8be9fd;font-style:italic}:root[color-theme=dark] .chroma .kn{color:#ff79c6}:root[color-theme=dark] .chroma .kp{color:#ff79c6}:root[color-theme=dark] .chroma .kr{color:#ff79c6}:root[color-theme=dark] .chroma .kt{color:#8be9fd}:root[color-theme=dark] .chroma .n{color:inherit}:root[color-theme=dark] .chroma .na{color:#50fa7b}:root[color-theme=dark] .chroma .nb{color:#8be9fd;font-style:italic}:root[color-theme=dark] .chroma .bp{color:inherit}:root[color-theme=dark] .chroma .nc{color:#50fa7b}:root[color-theme=dark] .chroma .no{color:inherit}:root[color-theme=dark] .chroma .nd{color:inherit}:root[color-theme=dark] .chroma .ni{color:inherit}:root[color-theme=dark] .chroma .ne{color:inherit}:root[color-theme=dark] .chroma .nf{color:#50fa7b}:root[color-theme=dark] .chroma .fm{color:inherit}:root[color-theme=dark] .chroma .nl{color:#8be9fd;font-style:italic}:root[color-theme=dark] .chroma .nn{color:inherit}:root[color-theme=dark] .chroma .nx{color:inherit}:root[color-theme=dark] .chroma .py{color:inherit}:root[color-theme=dark] .chroma .nt{color:#ff79c6}:root[color-theme=dark] .chroma .nv{color:#8be9fd;font-style:italic}:root[color-theme=dark] .chroma .vc{color:#8be9fd;font-style:italic}:root[color-theme=dark] .chroma .vg{color:#8be9fd;font-style:italic}:root[color-theme=dark] .chroma .vi{color:#8be9fd;font-style:italic}:root[color-theme=dark] .chroma .vm{color:inherit}:root[color-theme=dark] .chroma .l{color:inherit}:root[color-theme=dark] .chroma .ld{color:inherit}:root[color-theme=dark] .chroma .s{color:#f1fa8c}:root[color-theme=dark] .chroma .sa{color:#f1fa8c}:root[color-theme=dark] .chroma .sb{color:#f1fa8c}:root[color-theme=dark] .chroma .sc{color:#f1fa8c}:root[color-theme=dark] .chroma .dl{color:#f1fa8c}:root[color-theme=dark] .chroma .sd{color:#f1fa8c}:root[color-theme=dark] .chroma .s2{color:#f1fa8c}:root[color-theme=dark] .chroma .se{color:#f1fa8c}:root[color-theme=dark] .chroma .sh{color:#f1fa8c}:root[color-theme=dark] .chroma .si{color:#f1fa8c}:root[color-theme=dark] .chroma .sx{color:#f1fa8c}:root[color-theme=dark] .chroma .sr{color:#f1fa8c}:root[color-theme=dark] .chroma .s1{color:#f1fa8c}:root[color-theme=dark] .chroma .ss{color:#f1fa8c}:root[color-theme=dark] .chroma .m{color:#bd93f9}:root[color-theme=dark] .chroma .mb{color:#bd93f9}:root[color-theme=dark] .chroma .mf{color:#bd93f9}:root[color-theme=dark] .chroma .mh{color:#bd93f9}:root[color-theme=dark] .chroma .mi{color:#bd93f9}:root[color-theme=dark] .chroma .il{color:#bd93f9}:root[color-theme=dark] .chroma .mo{color:#bd93f9}:root[color-theme=dark] .chroma .o{color:#ff79c6}:root[color-theme=dark] .chroma .ow{color:#ff79c6}:root[color-theme=dark] .chroma .p{color:inherit}:root[color-theme=dark] .chroma .c{color:#96a6d8}:root[color-theme=dark] .chroma .ch{color:#96a6d8}:root[color-theme=dark] .chroma .cm{color:#96a6d8}:root[color-theme=dark] .chroma .c1{color:#96a6d8}:root[color-theme=dark] .chroma .cs{color:#96a6d8}:root[color-theme=dark] .chroma .cp{color:#ff79c6}:root[color-theme=dark] .chroma .cpf{color:#ff79c6}:root[color-theme=dark] .chroma .g{color:inherit}:root[color-theme=dark] .chroma .gd{color:#d98f90}:root[color-theme=dark] .chroma .ge{text-decoration:underline}:root[color-theme=dark] .chroma .gr{color:inherit}:root[color-theme=dark] .chroma .gh{font-weight:bold;color:inherit}:root[color-theme=dark] .chroma .gi{font-weight:bold}:root[color-theme=dark] .chroma .go{color:#8f9ea8}:root[color-theme=dark] .chroma .gp{color:inherit}:root[color-theme=dark] .chroma .gs{color:inherit}:root[color-theme=dark] .chroma .gu{font-weight:bold}:root[color-theme=dark] .chroma .gt{color:inherit}:root[color-theme=dark] .chroma .gl{text-decoration:underline}:root[color-theme=dark] .chroma .w{color:inherit}:root[color-theme=dark]{--code-background: rgb(34.31875, 45.36875, 52.59375);--code-accent-color: rgb(24.023125, 31.758125, 36.815625);--code-accent-color-lite: rgb(29.1709375, 38.5634375, 44.7046875);--code-font-color: rgb(185, 185, 185);--code-copy-background: rgb(34.31875, 45.36875, 52.59375);--code-copy-font-color: rgb(157.25, 157.25, 157.25);--code-copy-border-color: #949494;--code-copy-success-color: rgba(0, 200, 83, 0.45)}:root[code-theme=dark] .chroma{color:var(--code-font-color)}:root[code-theme=dark] .chroma .lntable td:nth-child(2) code .hl{width:auto;margin-left:-0.5em;padding:0 .5em}:root[code-theme=dark] .highlight pre.chroma{width:100%;overflow:auto;max-height:var(--code-max-height)}:root[code-theme=dark] .chroma .lntable{border:1px solid var(--code-accent-color);border-radius:.15rem;border-spacing:0;padding:0;margin:0;width:100%;display:block;max-height:var(--code-max-height);overflow:auto}:root[code-theme=dark] .chroma .lntable pre.chroma{max-height:none;border-radius:0;margin:0}:root[code-theme=dark] .chroma .lntable td:first-child code{background-color:var(--code-accent-color-lite);border-right:1px solid var(--code-accent-color);padding-left:0;padding-right:0;border-radius:0}:root[code-theme=dark] .chroma .lntable td:nth-child(2){width:100%;margin-left:2rem}:root[code-theme=dark] .chroma .x{color:inherit}:root[code-theme=dark] .chroma .err{color:inherit}:root[code-theme=dark] .chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}:root[code-theme=dark] .chroma .hl{display:block;width:100%;background-color:#4f1605}:root[code-theme=dark] .chroma .lnt{padding:0 .8em}:root[code-theme=dark] .chroma .ln{margin-right:.4em;padding:0 .4em 0 .4em;color:#b3b3b3}:root[code-theme=dark] .chroma .k{color:#ff79c6}:root[code-theme=dark] .chroma .kc{color:#ff79c6}:root[code-theme=dark] .chroma .kd{color:#8be9fd;font-style:italic}:root[code-theme=dark] .chroma .kn{color:#ff79c6}:root[code-theme=dark] .chroma .kp{color:#ff79c6}:root[code-theme=dark] .chroma .kr{color:#ff79c6}:root[code-theme=dark] .chroma .kt{color:#8be9fd}:root[code-theme=dark] .chroma .n{color:inherit}:root[code-theme=dark] .chroma .na{color:#50fa7b}:root[code-theme=dark] .chroma .nb{color:#8be9fd;font-style:italic}:root[code-theme=dark] .chroma .bp{color:inherit}:root[code-theme=dark] .chroma .nc{color:#50fa7b}:root[code-theme=dark] .chroma .no{color:inherit}:root[code-theme=dark] .chroma .nd{color:inherit}:root[code-theme=dark] .chroma .ni{color:inherit}:root[code-theme=dark] .chroma .ne{color:inherit}:root[code-theme=dark] .chroma .nf{color:#50fa7b}:root[code-theme=dark] .chroma .fm{color:inherit}:root[code-theme=dark] .chroma .nl{color:#8be9fd;font-style:italic}:root[code-theme=dark] .chroma .nn{color:inherit}:root[code-theme=dark] .chroma .nx{color:inherit}:root[code-theme=dark] .chroma .py{color:inherit}:root[code-theme=dark] .chroma .nt{color:#ff79c6}:root[code-theme=dark] .chroma .nv{color:#8be9fd;font-style:italic}:root[code-theme=dark] .chroma .vc{color:#8be9fd;font-style:italic}:root[code-theme=dark] .chroma .vg{color:#8be9fd;font-style:italic}:root[code-theme=dark] .chroma .vi{color:#8be9fd;font-style:italic}:root[code-theme=dark] .chroma .vm{color:inherit}:root[code-theme=dark] .chroma .l{color:inherit}:root[code-theme=dark] .chroma .ld{color:inherit}:root[code-theme=dark] .chroma .s{color:#f1fa8c}:root[code-theme=dark] .chroma .sa{color:#f1fa8c}:root[code-theme=dark] .chroma .sb{color:#f1fa8c}:root[code-theme=dark] .chroma .sc{color:#f1fa8c}:root[code-theme=dark] .chroma .dl{color:#f1fa8c}:root[code-theme=dark] .chroma .sd{color:#f1fa8c}:root[code-theme=dark] .chroma .s2{color:#f1fa8c}:root[code-theme=dark] .chroma .se{color:#f1fa8c}:root[code-theme=dark] .chroma .sh{color:#f1fa8c}:root[code-theme=dark] .chroma .si{color:#f1fa8c}:root[code-theme=dark] .chroma .sx{color:#f1fa8c}:root[code-theme=dark] .chroma .sr{color:#f1fa8c}:root[code-theme=dark] .chroma .s1{color:#f1fa8c}:root[code-theme=dark] .chroma .ss{color:#f1fa8c}:root[code-theme=dark] .chroma .m{color:#bd93f9}:root[code-theme=dark] .chroma .mb{color:#bd93f9}:root[code-theme=dark] .chroma .mf{color:#bd93f9}:root[code-theme=dark] .chroma .mh{color:#bd93f9}:root[code-theme=dark] .chroma .mi{color:#bd93f9}:root[code-theme=dark] .chroma .il{color:#bd93f9}:root[code-theme=dark] .chroma .mo{color:#bd93f9}:root[code-theme=dark] .chroma .o{color:#ff79c6}:root[code-theme=dark] .chroma .ow{color:#ff79c6}:root[code-theme=dark] .chroma .p{color:inherit}:root[code-theme=dark] .chroma .c{color:#96a6d8}:root[code-theme=dark] .chroma .ch{color:#96a6d8}:root[code-theme=dark] .chroma .cm{color:#96a6d8}:root[code-theme=dark] .chroma .c1{color:#96a6d8}:root[code-theme=dark] .chroma .cs{color:#96a6d8}:root[code-theme=dark] .chroma .cp{color:#ff79c6}:root[code-theme=dark] .chroma .cpf{color:#ff79c6}:root[code-theme=dark] .chroma .g{color:inherit}:root[code-theme=dark] .chroma .gd{color:#d98f90}:root[code-theme=dark] .chroma .ge{text-decoration:underline}:root[code-theme=dark] .chroma .gr{color:inherit}:root[code-theme=dark] .chroma .gh{font-weight:bold;color:inherit}:root[code-theme=dark] .chroma .gi{font-weight:bold}:root[code-theme=dark] .chroma .go{color:#8f9ea8}:root[code-theme=dark] .chroma .gp{color:inherit}:root[code-theme=dark] .chroma .gs{color:inherit}:root[code-theme=dark] .chroma .gu{font-weight:bold}:root[code-theme=dark] .chroma .gt{color:inherit}:root[code-theme=dark] .chroma .gl{text-decoration:underline}:root[code-theme=dark] .chroma .w{color:inherit}:root[code-theme=dark]{--code-background: rgb(34.31875, 45.36875, 52.59375);--code-accent-color: rgb(24.023125, 31.758125, 36.815625);--code-accent-color-lite: rgb(29.1709375, 38.5634375, 44.7046875);--code-font-color: rgb(185, 185, 185);--code-copy-background: rgb(34.31875, 45.36875, 52.59375);--code-copy-font-color: rgb(157.25, 157.25, 157.25);--code-copy-border-color: #949494;--code-copy-success-color: rgba(0, 200, 83, 0.45)}@media(prefers-color-scheme: dark){:root{--header-background: rgb(32, 83, 117);--header-font-color: rgb(255, 255, 255);--body-background: rgb(40.375, 53.375, 61.875);--body-font-color: rgb(180.9769254279, 196.5292481663, 206.6980745721);--mark-color: rgb(255, 171, 0);--button-background: rgb(43.6295302013, 113.1640939597, 159.5204697987);--button-border-color: rgb(32, 83, 117);--link-color: rgb(110, 168, 212);--link-color-visited: rgb(186, 142, 240);--hint-link-color: rgb(10, 83, 154);--hint-link-color-visited: rgb(119, 73, 191);--accent-color-dark: rgb(16.15, 21.35, 24.75);--accent-color: rgb(28.2625, 37.3625, 43.3125);--accent-color-lite: rgb(34.31875, 45.36875, 52.59375);--control-icons: rgb(124.5724137931, 136.8, 149.0275862069);--footer-background: rgb(17, 43, 60);--footer-font-color: rgb(255, 255, 255);--footer-link-color: rgb(246, 107, 14);--footer-link-color-visited: rgb(246, 107, 14)}:root .dark-mode-dim .gdoc-markdown img{filter:brightness(0.75) grayscale(0.2)}:root .gdoc-markdown .gdoc-hint,:root .gdoc-markdown .gdoc-props__tag,:root .gdoc-markdown .admonitionblock{filter:saturate(2.5) brightness(0.85)}:root .gdoc-markdown .gdoc-hint a,:root .gdoc-markdown .admonitionblock a{color:var(--hint-link-color)}:root .gdoc-markdown .gdoc-hint a:visited,:root .gdoc-markdown .admonitionblock a:visited{color:var(--hint-link-color-visited)}:root .gdoc-markdown .gdoc-hint__title,:root .gdoc-markdown .admonitionblock table td:first-child{background-color:rgba(134,142,150,.15)}:root .chroma{color:var(--code-font-color)}:root .chroma .lntable td:nth-child(2) code .hl{width:auto;margin-left:-0.5em;padding:0 .5em}:root .highlight pre.chroma{width:100%;overflow:auto;max-height:var(--code-max-height)}:root .chroma .lntable{border:1px solid var(--code-accent-color);border-radius:.15rem;border-spacing:0;padding:0;margin:0;width:100%;display:block;max-height:var(--code-max-height);overflow:auto}:root .chroma .lntable pre.chroma{max-height:none;border-radius:0;margin:0}:root .chroma .lntable td:first-child code{background-color:var(--code-accent-color-lite);border-right:1px solid var(--code-accent-color);padding-left:0;padding-right:0;border-radius:0}:root .chroma .lntable td:nth-child(2){width:100%;margin-left:2rem}:root .chroma .x{color:inherit}:root .chroma .err{color:inherit}:root .chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}:root .chroma .hl{display:block;width:100%;background-color:#4f1605}:root .chroma .lnt{padding:0 .8em}:root .chroma .ln{margin-right:.4em;padding:0 .4em 0 .4em;color:#b3b3b3}:root .chroma .k{color:#ff79c6}:root .chroma .kc{color:#ff79c6}:root .chroma .kd{color:#8be9fd;font-style:italic}:root .chroma .kn{color:#ff79c6}:root .chroma .kp{color:#ff79c6}:root .chroma .kr{color:#ff79c6}:root .chroma .kt{color:#8be9fd}:root .chroma .n{color:inherit}:root .chroma .na{color:#50fa7b}:root .chroma .nb{color:#8be9fd;font-style:italic}:root .chroma .bp{color:inherit}:root .chroma .nc{color:#50fa7b}:root .chroma .no{color:inherit}:root .chroma .nd{color:inherit}:root .chroma .ni{color:inherit}:root .chroma .ne{color:inherit}:root .chroma .nf{color:#50fa7b}:root .chroma .fm{color:inherit}:root .chroma .nl{color:#8be9fd;font-style:italic}:root .chroma .nn{color:inherit}:root .chroma .nx{color:inherit}:root .chroma .py{color:inherit}:root .chroma .nt{color:#ff79c6}:root .chroma .nv{color:#8be9fd;font-style:italic}:root .chroma .vc{color:#8be9fd;font-style:italic}:root .chroma .vg{color:#8be9fd;font-style:italic}:root .chroma .vi{color:#8be9fd;font-style:italic}:root .chroma .vm{color:inherit}:root .chroma .l{color:inherit}:root .chroma .ld{color:inherit}:root .chroma .s{color:#f1fa8c}:root .chroma .sa{color:#f1fa8c}:root .chroma .sb{color:#f1fa8c}:root .chroma .sc{color:#f1fa8c}:root .chroma .dl{color:#f1fa8c}:root .chroma .sd{color:#f1fa8c}:root .chroma .s2{color:#f1fa8c}:root .chroma .se{color:#f1fa8c}:root .chroma .sh{color:#f1fa8c}:root .chroma .si{color:#f1fa8c}:root .chroma .sx{color:#f1fa8c}:root .chroma .sr{color:#f1fa8c}:root .chroma .s1{color:#f1fa8c}:root .chroma .ss{color:#f1fa8c}:root .chroma .m{color:#bd93f9}:root .chroma .mb{color:#bd93f9}:root .chroma .mf{color:#bd93f9}:root .chroma .mh{color:#bd93f9}:root .chroma .mi{color:#bd93f9}:root .chroma .il{color:#bd93f9}:root .chroma .mo{color:#bd93f9}:root .chroma .o{color:#ff79c6}:root .chroma .ow{color:#ff79c6}:root .chroma .p{color:inherit}:root .chroma .c{color:#96a6d8}:root .chroma .ch{color:#96a6d8}:root .chroma .cm{color:#96a6d8}:root .chroma .c1{color:#96a6d8}:root .chroma .cs{color:#96a6d8}:root .chroma .cp{color:#ff79c6}:root .chroma .cpf{color:#ff79c6}:root .chroma .g{color:inherit}:root .chroma .gd{color:#d98f90}:root .chroma .ge{text-decoration:underline}:root .chroma .gr{color:inherit}:root .chroma .gh{font-weight:bold;color:inherit}:root .chroma .gi{font-weight:bold}:root .chroma .go{color:#8f9ea8}:root .chroma .gp{color:inherit}:root .chroma .gs{color:inherit}:root .chroma .gu{font-weight:bold}:root .chroma .gt{color:inherit}:root .chroma .gl{text-decoration:underline}:root .chroma .w{color:inherit}:root{--code-background: rgb(34.31875, 45.36875, 52.59375);--code-accent-color: rgb(24.023125, 31.758125, 36.815625);--code-accent-color-lite: rgb(29.1709375, 38.5634375, 44.7046875);--code-font-color: rgb(185, 185, 185);--code-copy-background: rgb(34.31875, 45.36875, 52.59375);--code-copy-font-color: rgb(157.25, 157.25, 157.25);--code-copy-border-color: #949494;--code-copy-success-color: rgba(0, 200, 83, 0.45)}}html{font-size:16px;letter-spacing:.33px;scroll-behavior:smooth}html.color-toggle-hidden #gdoc-color-theme{display:none}html.color-toggle-light #gdoc-color-theme .gdoc_brightness_light{display:inline-block}html.color-toggle-light #gdoc-color-theme .gdoc_brightness_auto,html.color-toggle-light #gdoc-color-theme .gdoc_brightness_dark{display:none}html.color-toggle-dark #gdoc-color-theme .gdoc_brightness_dark{display:inline-block}html.color-toggle-dark #gdoc-color-theme .gdoc_brightness_auto,html.color-toggle-dark #gdoc-color-theme .gdoc_brightness_light{display:none}html.color-toggle-auto #gdoc-color-theme .gdoc_brightness_light{display:none}html.color-toggle-auto #gdoc-color-theme .gdoc_brightness_dark{display:none}html.color-toggle-auto #gdoc-color-theme .gdoc_brightness_auto{display:inline-block}html,body{min-width:20rem;overflow-x:hidden}body{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box}body *{box-sizing:inherit}h1,h2,h3,h4,h5,h6{font-weight:normal;display:flex;align-items:center}h4,h5,h6{font-size:1rem !important}a{text-decoration:none;color:var(--link-color)}a:hover{text-decoration:underline}a:visited{color:var(--link-color-visited)}i.gdoc-icon{font-family:"GeekdocIcons";font-style:normal}img{vertical-align:middle}#gdoc-color-theme{cursor:pointer}.fake-link:hover{background-image:linear-gradient(var(--link-color), var(--link-color));background-position:0 100%;background-size:100% 1px;background-repeat:no-repeat;text-decoration:none}.wrapper{display:flex;flex-direction:column;min-height:100vh;color:var(--body-font-color);background:var(--body-background);font-weight:normal}.container{width:100%;max-width:82rem;margin:0 auto;padding:1.25rem}svg.gdoc-icon{display:inline-block;width:1.25rem;height:1.25rem;vertical-align:middle;stroke-width:0;stroke:currentColor;fill:currentColor;position:relative}.gdoc-header{background:var(--header-background);color:var(--header-font-color);border-bottom:.3em solid var(--footer-background)}.gdoc-header__link,.gdoc-header__link:visited{color:var(--header-font-color)}.gdoc-header__link:hover{text-decoration:none}.gdoc-header svg.gdoc-icon{width:2rem;height:2rem}.gdoc-brand{font-size:2rem;line-height:2rem}.gdoc-brand__img{margin-right:1rem;width:2rem;height:2rem}.gdoc-menu-header__items{display:flex}.gdoc-menu-header__items>span{margin-left:.5rem}.gdoc-menu-header__control,.gdoc-menu-header__home{display:none}.gdoc-menu-header__control svg.gdoc-icon,.gdoc-menu-header__home svg.gdoc-icon{cursor:pointer}.gdoc-nav{flex:0 0 18rem}.gdoc-nav nav{width:18rem;padding:1rem 2rem 1rem 0}.gdoc-nav nav>ul>li>*{font-weight:normal}.gdoc-nav nav section{margin-top:2rem}.gdoc-nav__control{display:none;margin:0;padding:0}.gdoc-nav__control svg.gdoc-icon{cursor:pointer}.gdoc-nav__control svg.gdoc-icon.gdoc_menu{display:inline-block}.gdoc-nav__control svg.gdoc-icon.gdoc_arrow_back{display:none}.gdoc-nav__list{padding-left:1rem;margin:0;padding:0;list-style:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.gdoc-nav__list ul{padding-left:1rem}.gdoc-nav__list li{margin:.75rem 0}.gdoc-nav__list svg.gdoc-icon{margin-right:.25rem}.gdoc-nav__toggle{display:none}.gdoc-nav__toggle~label{cursor:pointer}.gdoc-nav__toggle~label svg.gdoc-icon.toggle{width:1rem;height:1rem}.gdoc-nav__toggle:not(:checked)~ul,.gdoc-nav__toggle:not(:checked)~label svg.gdoc-icon.gdoc_keyboard_arrow_down{display:none}.gdoc-nav__toggle:not(:checked)~label svg.gdoc-icon.gdoc_keyboard_arrow_left{display:block}.gdoc-nav__toggle:checked~ul,.gdoc-nav__toggle:checked~label svg.gdoc-icon.gdoc_keyboard_arrow_down{display:block}.gdoc-nav__toggle:checked~label svg.gdoc-icon.gdoc_keyboard_arrow_left{display:none}.gdoc-nav--main>ul>li>span,.gdoc-nav--main>ul>li>span>a,.gdoc-nav--main>ul>li>label,.gdoc-nav--main>ul>li>label>a{font-weight:bold}.gdoc-nav__entry,.gdoc-language__entry{flex:1;color:var(--body-font-color)}.gdoc-nav__entry:hover,.gdoc-nav__entry.is-active,.gdoc-language__entry:hover,.gdoc-language__entry.is-active{text-decoration:underline;text-decoration-style:dashed !important}.gdoc-nav__entry:visited,.gdoc-language__entry:visited{color:var(--body-font-color)}.gdoc-search__list,.gdoc-language__list{background:var(--body-background);border-radius:.15rem;box-shadow:0 1px 3px 0 var(--accent-color-dark),0 1px 2px 0 var(--accent-color);position:absolute;margin:0;padding:.5rem .25rem !important;list-style:none;top:calc(100% + 0.5rem);z-index:2}.gdoc-page{min-width:18rem;flex-grow:1;padding:1rem 0}.gdoc-page h1,.gdoc-page h2,.gdoc-page h3,.gdoc-page h4,.gdoc-page h5,.gdoc-page h6{font-weight:600}.gdoc-page__header,.gdoc-page__footer{margin-bottom:1.5rem}.gdoc-page__header svg.gdoc-icon,.gdoc-page__footer svg.gdoc-icon{color:var(--control-icons)}.gdoc-page__header a,.gdoc-page__header a:visited,.gdoc-page__footer a,.gdoc-page__footer a:visited{color:var(--link-color)}.gdoc-page__header{background:var(--accent-color-lite);padding:.5rem 1rem;border-radius:.15rem}.gdoc-page__nav:hover{background-image:linear-gradient(var(--link-color), var(--link-color));background-position:0 100%;background-size:100% 1px;background-repeat:no-repeat}.gdoc-page__anchorwrap{gap:.5em}.gdoc-page__anchorwrap:hover .gdoc-page__anchor svg.gdoc-icon{color:var(--control-icons)}.gdoc-page__anchor svg.gdoc-icon{width:1.85em;height:1.85em;color:rgba(0,0,0,0)}.gdoc-page__anchor:focus svg.gdoc-icon{color:var(--control-icons)}.gdoc-page__footer{margin-top:2rem}.gdoc-page__footer a:hover{text-decoration:none}.gdoc-post{word-wrap:break-word;border-top:1px dashed #868e96;padding:2rem 0}.gdoc-post:first-of-type{padding-top:0}.gdoc-post__header h1{margin-top:0}.gdoc-post__header a,.gdoc-post__header a:visited{color:var(--body-font-color);text-decoration:none}.gdoc-post__header a:hover{background:none;text-decoration:underline;color:var(--body-font-color)}.gdoc-post:first-child{border-top:0}.gdoc-post:first-child h1{margin-top:0}.gdoc-post__readmore{margin:2rem 0}.gdoc-post__readmore a,.gdoc-post__readmore a:hover,.gdoc-post__readmore a:visited{color:var(--link-color);text-decoration:none !important}.gdoc-post__meta span svg.gdoc-icon{margin-left:-5px}.gdoc-post__meta>span{margin:.25rem 0}.gdoc-post__meta>span:not(:last-child){margin-right:.5rem}.gdoc-post__meta svg.gdoc-icon{font-size:1.25rem}.gdoc-post__meta .gdoc-button{margin:0 .125rem 0 0}.gdoc-post__meta--head{margin-bottom:2rem}.gdoc-post__codecontainer{position:relative}.gdoc-post__codecontainer:hover>.gdoc-post__codecopy{visibility:visible}.gdoc-post__codecopy{visibility:hidden;position:absolute;top:.5rem;right:.5rem;border:1.5px solid var(--code-copy-border-color);border-radius:.15rem;background:var(--code-copy-background);width:2rem;height:2rem}.gdoc-post__codecopy svg.gdoc-icon{top:0;width:1.25rem;height:1.25rem;color:var(--code-copy-font-color)}.gdoc-post__codecopy:hover{cursor:pointer}.gdoc-post__codecopy--success{border-color:var(--code-copy-success-color)}.gdoc-post__codecopy--success svg.gdoc-icon{color:var(--code-copy-success-color)}.gdoc-post__codecopy--out{transition:visibility 2s ease-out}.gdoc-footer{background:var(--footer-background);color:var(--footer-font-color)}.gdoc-footer .fake-link{text-decoration:none}.gdoc-footer .fake-link:hover{background-image:linear-gradient(var(--footer-link-color), var(--footer-link-color))}.gdoc-footer__item{line-height:2rem}.gdoc-footer__item--row{margin-right:1rem}.gdoc-footer__link{text-decoration:underline;color:var(--footer-link-color)}.gdoc-footer__link:visited{color:var(--footer-link-color-visited)}.gdoc-search{position:relative}.gdoc-search svg.gdoc-icon{position:absolute;left:.5rem;color:var(--control-icons);width:1.25rem;height:1.25rem}.gdoc-search::after{display:block;content:"";clear:both}.gdoc-search__input{width:100%;padding:.5rem;padding-left:2rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;border:1px solid rgba(0,0,0,0);border-radius:.15rem;background:var(--accent-color-lite);color:var(--body-font-color)}.gdoc-search__input:focus{outline:none !important;border:1px solid var(--accent-color)}.gdoc-search__list{visibility:hidden;left:0;width:100%}.gdoc-search__list ul{list-style:none;padding-left:0}.gdoc-search__list>li>span{font-weight:bold}.gdoc-search__list>li+li{margin-top:.25rem}.gdoc-search__list svg.gdoc-icon{margin-right:.25rem}.gdoc-search__section{display:flex;flex-direction:column;padding:.25rem !important}.gdoc-search__entry{display:flex;flex-direction:column;color:var(--body-font-color);padding:.25rem !important;border-radius:.15rem}.gdoc-search__entry:hover,.gdoc-search__entry.is-active{background:var(--accent-color-lite);text-decoration:none}.gdoc-search__entry:hover .gdoc-search__entry--title,.gdoc-search__entry.is-active .gdoc-search__entry--title{text-decoration-style:dashed !important;text-decoration:underline}.gdoc-search__entry:visited{color:var(--body-font-color)}.gdoc-search__entry--description{font-size:.875rem;font-style:italic}.gdoc-search:focus-within .gdoc-search__list.has-hits,.gdoc-search__list.has-hits:hover{visibility:visible}.gdoc-language__selector{position:relative;list-style:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:pointer;margin:0;padding:0;width:100%}.gdoc-language__selector:focus .gdoc-language__list,.gdoc-language__selector:focus-within .gdoc-language__list,.gdoc-language__selector:active .gdoc-language__list{display:block}.gdoc-language__list{display:none;right:0;width:auto;white-space:nowrap}.gdoc-paging{padding:1rem 0}.gdoc-paging__item{flex:1 1 0}.gdoc-paging__item a:visited{color:var(--link-color)}.gdoc-paging__item a:hover,.gdoc-paging__item a:visited:hover{background:var(--link-color);color:#f8f9fa}.gdoc-paging__item--next{text-align:right}.gdoc-paging__item--prev{text-align:left}.gdoc-error{padding:6rem 1rem;margin:0 auto;max-width:45em}.gdoc-error svg.gdoc-icon{width:8rem;height:8rem;color:var(--body-font-color)}.gdoc-error__link,.gdoc-error__link:visited{text-decoration:underline;color:var(--link-color)}.gdoc-error__message{padding-left:4rem}.gdoc-error__line{padding:.5rem 0}.gdoc-error__title{font-size:4rem}.gdoc-error__code{font-weight:bolder}.gdoc-toc{margin:1rem 0}.gdoc-toc li{margin:.25rem 0}.gdoc-toc__level--1 ul ul,.gdoc-toc__level--2 ul ul ul,.gdoc-toc__level--3 ul ul ul ul,.gdoc-toc__level--4 ul ul ul ul ul,.gdoc-toc__level--5 ul ul ul ul ul ul,.gdoc-toc__level--6 ul ul ul ul ul ul ul{display:none}.gdoc-toc a,.gdoc-toc a:visited{text-decoration:none !important;color:var(--link-color)}.gdoc-nav nav,.gdoc-page,.markdown{transition:.2s ease-in-out;transition-property:transform,margin-left,opacity;will-change:transform,margin-left}.breadcrumb{display:inline;padding:0;margin:0}.breadcrumb li{display:inline}.gdoc-markdown{line-height:1.6rem}.gdoc-markdown h1,.gdoc-markdown h2,.gdoc-markdown h3,.gdoc-markdown h4,.gdoc-markdown h5,.gdoc-markdown h6{font-weight:600}.gdoc-markdown h1>code,.gdoc-markdown h2>code,.gdoc-markdown h3>code,.gdoc-markdown h4>code,.gdoc-markdown h5>code,.gdoc-markdown h6>code{border-top:3px solid var(--accent-color);font-size:.75rem !important}.gdoc-markdown h4>code,.gdoc-markdown h5>code,.gdoc-markdown h6>code{font-size:.875rem !important}.gdoc-markdown b,.gdoc-markdown optgroup,.gdoc-markdown strong{font-weight:bolder}.gdoc-markdown a,.gdoc-markdown__link{text-decoration:underline;border-bottom:1px solid rgba(0,0,0,0);line-height:normal}.gdoc-markdown a:hover,.gdoc-markdown__link:hover{text-decoration:underline}.gdoc-markdown__link--raw{text-decoration:none !important;color:#343a40 !important}.gdoc-markdown__link--raw:hover{text-decoration:none !important}.gdoc-markdown__link--raw:visited{color:#343a40 !important}.gdoc-markdown__link--code{text-decoration:none}.gdoc-markdown__link--code code{color:inherit !important}.gdoc-markdown__link--code:hover{background:none;color:var(--link-color) !important;text-decoration:underline}.gdoc-markdown__link--code:visited,.gdoc-markdown__link--code:visited:hover{color:var(--link-color-visited) !important}.gdoc-markdown__figure{padding:.25rem;margin:1rem 0;background-color:var(--accent-color);display:table;border-top-left-radius:.15rem;border-top-right-radius:.15rem}.gdoc-markdown__figure--round,.gdoc-markdown__figure--round img{border-radius:50% !important}.gdoc-markdown__figure figcaption{display:table-caption;caption-side:bottom;background-color:var(--accent-color);padding:0 .25rem .25rem;text-align:center;border-bottom-left-radius:.15rem;border-bottom-right-radius:.15rem}.gdoc-markdown__figure img{max-width:100%;height:auto}.gdoc-markdown img{max-width:100%;border-radius:.15rem}.gdoc-markdown blockquote{margin:1rem 0;padding:.5rem 1rem .5rem .75rem;border-left:3px solid var(--accent-color);border-radius:.15rem}.gdoc-markdown table:not(.lntable):not(.highlight){display:table;border-spacing:0;border-collapse:collapse;margin-top:1rem;margin-bottom:1rem;width:100%;text-align:left}.gdoc-markdown table:not(.lntable):not(.highlight) thead{border-bottom:3px solid var(--accent-color)}.gdoc-markdown table:not(.lntable):not(.highlight) tr th,.gdoc-markdown table:not(.lntable):not(.highlight) tr td{padding:.5rem 1rem}.gdoc-markdown table:not(.lntable):not(.highlight) tr{border-bottom:1.5px solid var(--accent-color)}.gdoc-markdown table:not(.lntable):not(.highlight) tr:nth-child(2n){background:var(--accent-color-lite)}.gdoc-markdown hr{height:1.5px;border:none;background:var(--accent-color)}.gdoc-markdown ul,.gdoc-markdown ol{padding-left:2rem}.gdoc-markdown dl dt{font-weight:bolder;margin-top:1rem}.gdoc-markdown dl dd{margin-left:2rem}.gdoc-markdown code{padding:.25rem .5rem}.gdoc-markdown pre,.gdoc-markdown code{background-color:var(--code-background);border-radius:.15rem;color:var(--code-font-color);font-size:.875rem;line-height:1rem}.gdoc-markdown pre code{display:block;padding:1rem;width:100%}.gdoc-markdown mark{background-color:var(--mark-color)}.gdoc-markdown__align{text-align:left}.gdoc-markdown__align--left h1,.gdoc-markdown__align--left h2,.gdoc-markdown__align--left h3,.gdoc-markdown__align--left h4,.gdoc-markdown__align--left h5,.gdoc-markdown__align--left h6{justify-content:flex-start}.gdoc-markdown__align--center{text-align:center}.gdoc-markdown__align--center h1,.gdoc-markdown__align--center h2,.gdoc-markdown__align--center h3,.gdoc-markdown__align--center h4,.gdoc-markdown__align--center h5,.gdoc-markdown__align--center h6{justify-content:center}.gdoc-markdown__align--right{text-align:right}.gdoc-markdown__align--right h1,.gdoc-markdown__align--right h2,.gdoc-markdown__align--right h3,.gdoc-markdown__align--right h4,.gdoc-markdown__align--right h5,.gdoc-markdown__align--right h6{justify-content:flex-end}.admonitionblock.info{border-left-color:#0091ea;background-color:rgb(243.27,249.2558974359,252.93);color:#343a40}.admonitionblock.note{border-left-color:#0091ea;background-color:rgb(243.27,249.2558974359,252.93);color:#343a40}.admonitionblock.ok{border-left-color:#00c853;background-color:hsl(144.9,70%,96.9607843137%);color:#343a40}.admonitionblock.tip{border-left-color:#00c853;background-color:hsl(144.9,70%,96.9607843137%);color:#343a40}.admonitionblock.important{border-left-color:#ffab00;background-color:hsl(40.2352941176,70%,97.5%);color:#343a40}.admonitionblock.caution{border-left-color:#7300d3;background-color:rgb(247.9961729858,242.2925,252.7575);color:#343a40}.admonitionblock.danger{border-left-color:#d50000;background-color:hsl(0,70%,97.0882352941%);color:#343a40}.admonitionblock.warning{border-left-color:#d50000;background-color:hsl(0,70%,97.0882352941%);color:#343a40}.admonitionblock{margin:1rem 0;padding:0;border-left:3px solid var(--accent-color);border-radius:.15rem}.admonitionblock table{margin:0 !important;padding:0 !important}.admonitionblock table tr{border:0 !important}.admonitionblock table td{display:block;padding:.25rem 1rem !important}.admonitionblock table td:first-child{background-color:rgba(134,142,150,.05);font-weight:bold}.admonitionblock table td:first-child.icon .title{display:flex;align-items:center}.admonitionblock table td:first-child.icon i.fa::after{content:attr(title);font-style:normal;padding-left:1.5rem}.admonitionblock table td:first-child.icon i.fa{color:#000;background-size:auto 90%;background-repeat:no-repeat;filter:invert(30%);margin-left:-5px}.admonitionblock table td:first-child.icon i.fa.icon-info{background-image:url(img/geekdoc-stack.svg#gdoc_info_outline)}.admonitionblock table td:first-child.icon i.fa.icon-note{background-image:url(img/geekdoc-stack.svg#gdoc_info_outline)}.admonitionblock table td:first-child.icon i.fa.icon-ok{background-image:url(img/geekdoc-stack.svg#gdoc_check_circle_outline)}.admonitionblock table td:first-child.icon i.fa.icon-tip{background-image:url(img/geekdoc-stack.svg#gdoc_check_circle_outline)}.admonitionblock table td:first-child.icon i.fa.icon-important{background-image:url(img/geekdoc-stack.svg#gdoc_error_outline)}.admonitionblock table td:first-child.icon i.fa.icon-caution{background-image:url(img/geekdoc-stack.svg#gdoc_dangerous)}.admonitionblock table td:first-child.icon i.fa.icon-danger{background-image:url(img/geekdoc-stack.svg#gdoc_fire)}.admonitionblock table td:first-child.icon i.fa.icon-warning{background-image:url(img/geekdoc-stack.svg#gdoc_fire)}.gdoc-expand{margin:1rem 0;border:1px solid var(--accent-color);border-radius:.15rem;overflow:hidden}.gdoc-expand__head{background:var(--accent-color-lite);padding:.5rem 1rem;cursor:pointer}.gdoc-expand__content{display:none;padding:0 1rem}.gdoc-expand__control:checked+.gdoc-expand__content{display:block}.gdoc-expand .gdoc-page__anchor{display:none}.gdoc-tabs{margin:1rem 0;border:1px solid var(--accent-color);border-radius:.15rem;overflow:hidden;display:flex;flex-wrap:wrap}.gdoc-tabs__label{display:inline-block;padding:.5rem 1rem;border-bottom:1px rgba(0,0,0,0);cursor:pointer}.gdoc-tabs__content{order:999;width:100%;border-top:1px solid var(--accent-color-lite);padding:0 1rem;display:none}.gdoc-tabs__control:checked+.gdoc-tabs__label{border-bottom:1.5px solid var(--link-color)}.gdoc-tabs__control:checked+.gdoc-tabs__label+.gdoc-tabs__content{display:block}.gdoc-tabs .gdoc-page__anchor{display:none}.gdoc-columns{margin:1rem 0}.gdoc-columns--regular>:first-child{flex:1}.gdoc-columns--small>:first-child{flex:.35;min-width:7rem}.gdoc-columns--large>:first-child{flex:1.65;min-width:33rem}.gdoc-columns__content{flex:1 1;min-width:13.2rem;padding:0}.gdoc-columns .gdoc-page__anchor{display:none}.gdoc-button{margin:1rem 0;display:inline-block;background:var(--accent-color-lite);border:1px solid var(--accent-color);border-radius:.15rem;cursor:pointer}.gdoc-button__link{display:inline-block;color:inherit !important;text-decoration:none !important}.gdoc-button:hover{background:var(--button-background);border-color:var(--button-border-color);color:#f8f9fa}.gdoc-button--regular{font-size:16px}.gdoc-button--regular .gdoc-button__link{padding:.25rem .5rem}.gdoc-button--large{font-size:1.25rem}.gdoc-button--large .gdoc-button__link{padding:.5rem 1rem}.gdoc-hint.info{border-left-color:#0091ea;background-color:rgb(243.27,249.2558974359,252.93);color:#343a40;padding:0}.gdoc-hint.info code,.gdoc-hint.info pre{background-color:rgb(220.5,229.0512820513,234.3);color:#464646}.gdoc-hint.note{border-left-color:#0091ea;background-color:rgb(243.27,249.2558974359,252.93);color:#343a40;padding:0}.gdoc-hint.note code,.gdoc-hint.note pre{background-color:rgb(220.5,229.0512820513,234.3);color:#464646}.gdoc-hint.ok{border-left-color:#00c853;background-color:hsl(144.9,70%,96.9607843137%);color:#343a40;padding:0}.gdoc-hint.ok code,.gdoc-hint.ok pre{background-color:rgb(216.25,231.75,222.6825);color:#464646}.gdoc-hint.tip{border-left-color:#00c853;background-color:hsl(144.9,70%,96.9607843137%);color:#343a40;padding:0}.gdoc-hint.tip code,.gdoc-hint.tip pre{background-color:rgb(216.25,231.75,222.6825);color:#464646}.gdoc-hint.important{border-left-color:#ffab00;background-color:hsl(40.2352941176,70%,97.5%);color:#343a40;padding:0}.gdoc-hint.important code,.gdoc-hint.important pre{background-color:hsl(40.2352941176,25%,90%);color:#464646}.gdoc-hint.caution{border-left-color:#7300d3;background-color:rgb(247.9961729858,242.2925,252.7575);color:#343a40;padding:0}.gdoc-hint.caution code,.gdoc-hint.caution pre{background-color:rgb(225.7731042654,217.625,232.575);color:#464646}.gdoc-hint.danger{border-left-color:#d50000;background-color:hsl(0,70%,97.0882352941%);color:#343a40;padding:0}.gdoc-hint.danger code,.gdoc-hint.danger pre{background-color:hsl(0,25%,88.3529411765%);color:#464646}.gdoc-hint.warning{border-left-color:#d50000;background-color:hsl(0,70%,97.0882352941%);color:#343a40;padding:0}.gdoc-hint.warning code,.gdoc-hint.warning pre{background-color:hsl(0,25%,88.3529411765%);color:#464646}.gdoc-hint__title{padding:.25rem 1rem;background-color:rgba(134,142,150,.05);font-weight:bold;color:rgba(52,58,64,.85)}.gdoc-hint__title i.fa::after{content:attr(title);font-style:normal;padding-left:1.5rem}.gdoc-hint__title i.fa{color:#000;background-size:auto 90%;background-repeat:no-repeat;filter:invert(30%);margin-left:-5px}.gdoc-hint__title i.fa.info{background-image:url(img/geekdoc-stack.svg#gdoc_info_outline)}.gdoc-hint__title i.fa.note{background-image:url(img/geekdoc-stack.svg#gdoc_info_outline)}.gdoc-hint__title i.fa.ok{background-image:url(img/geekdoc-stack.svg#gdoc_check_circle_outline)}.gdoc-hint__title i.fa.tip{background-image:url(img/geekdoc-stack.svg#gdoc_check_circle_outline)}.gdoc-hint__title i.fa.important{background-image:url(img/geekdoc-stack.svg#gdoc_error_outline)}.gdoc-hint__title i.fa.caution{background-image:url(img/geekdoc-stack.svg#gdoc_dangerous)}.gdoc-hint__title i.fa.danger{background-image:url(img/geekdoc-stack.svg#gdoc_fire)}.gdoc-hint__title i.fa.warning{background-image:url(img/geekdoc-stack.svg#gdoc_fire)}.gdoc-hint__title .gdoc-icon{width:1.5rem;height:1.5rem;margin-left:-5px}.gdoc-hint__text{padding:.25rem 1rem}.gdoc-hint .gdoc-page__anchor{display:none}.gdoc-mermaid{font-family:var(--body-font-family)}.gdoc-mermaid>svg{height:100%;padding:.5rem}.gdoc-props__title,.gdoc-props__default{padding:0;margin:0;font-family:var(--code-font-family)}.gdoc-props__meta{gap:.5em;line-height:normal;margin-bottom:.25rem}.gdoc-props__meta:hover .gdoc-page__anchor svg.gdoc-icon{color:var(--control-icons)}.gdoc-props__tag.info{border-color:rgb(231.54,243.5117948718,250.86);background-color:rgb(243.27,249.2558974359,252.93)}.gdoc-props__tag.note{border-color:rgb(231.54,243.5117948718,250.86);background-color:rgb(243.27,249.2558974359,252.93)}.gdoc-props__tag.ok{border-color:rgb(228.65,250.35,237.6555);background-color:hsl(144.9,70%,96.9607843137%)}.gdoc-props__tag.tip{border-color:rgb(228.65,250.35,237.6555);background-color:hsl(144.9,70%,96.9607843137%)}.gdoc-props__tag.important{border-color:hsl(40.2352941176,70%,95%);background-color:hsl(40.2352941176,70%,97.5%)}.gdoc-props__tag.caution{border-color:rgb(240.9923459716,229.585,250.515);background-color:rgb(247.9961729858,242.2925,252.7575)}.gdoc-props__tag.danger{border-color:hsl(0,70%,94.1764705882%);background-color:hsl(0,70%,97.0882352941%)}.gdoc-props__tag.warning{border-color:hsl(0,70%,94.1764705882%);background-color:hsl(0,70%,97.0882352941%)}.gdoc-props__tag{font-size:.875rem;font-weight:normal;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:.15rem;padding:.125rem .25rem;color:#343a40}.gdoc-props__default{font-size:.875rem}.gdoc-progress{margin-bottom:1rem}.gdoc-progress__label{padding:.25rem 0}.gdoc-progress__label--name{font-weight:bold}.gdoc-progress__wrap{background-color:var(--accent-color-lite);border-radius:1em;box-shadow:inset 0 0 0 1px var(--accent-color)}.gdoc-progress__bar{height:1em;border-radius:1em;background-image:linear-gradient(-45deg, rgba(255, 255, 255, 0.125) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.125) 50%, rgba(255, 255, 255, 0.125) 75%, transparent 75%, transparent);background-size:2.5em 2.5em;background-color:#205375 !important} \ No newline at end of file diff --git a/docs/hugo/public/major_upgrade-copy/index.html b/docs/hugo/public/major_upgrade-copy/index.html new file mode 100644 index 000000000..5ed162fbd --- /dev/null +++ b/docs/hugo/public/major_upgrade-copy/index.html @@ -0,0 +1,5162 @@ + + + + + + + + + + + + + Major-Upgrade | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    +
    + + + + +
    + + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
    +
    +
    + + + +
    + + + + + +
    + + + + + + + + + + + +
    + +
    + + +
    + + +
    + + +
    +

    Major-Upgrade

    +
    + +
    +

    CPO enables the use of the in-place upgrade, which makes it possible to upgrade a cluster to a new PG major. For this purpose, pg_upgrade is used in the background.

    +
    +

    PAY ATTENTION: Note that an in-place upgrade generates both a pod restore in the form of a rolling update and an operational interruption of the cluster during the actual execution of the restore.

    +
    +

    + How does the upgrade work? +

    + + + +
    +
    +

    + Preconditions: +

    + + + +
    +
      +
    1. Pod restart - Use the rolling update strategy to replace all pods based on the new ENV PGVERSION with the version you want to update to.
    2. +
    3. Check - Check that the new PGVERSION is larger than the previously used one.
    4. +
    5. Check whether the new PGVERSION is larger than the previously used one and the maintenance mode of the cluster must be deactivated. In addition, the replicas should not have a high lag.
    6. +
    +
    +

    + Preliminary checks +

    + + + +
    +
      +
    1. use initdb to prepare a new data_dir (data_new) based on the new PGVERSION.
    2. +
    3. check the upgrade possibility with pg_upgrade --check
    4. +
    +
    +

    HINT: If one of the steps is aborted, a cleanup is performed

    +
    +

    + Prepare the Upgrade +

    + + + +
    +
      +
    1. remove dependencies that can cause problems. For example, the extensions pg_stat_statements and pgaudit.
    2. +
    3. activate the maintenance mode of the cluster
    4. +
    5. terminate PostgreSQL in an orderly manner
    6. +
    7. check pg_controldata for the checkpoint position and wait until all replicas apply the latest checkpoint location
    8. +
    9. use port 5432 for rsyncd and start it
    10. +
    +
    +

    + Start the Upgrade +

    + + + +
    +
      +
    1. Call pg_upgrade -k to start the Upgrade
    2. +
    +
    +

    ATTENTION if the process failed, we need to rollback, if it was sucessful we’re reaching the point of no return

    +
      +
    1. Rename the directories. data -> data_old and data_new -> data
    2. +
    3. Update the Patroni.config (postgres.yml)
    4. +
    5. Call Checkpoint on every replica and trigger rsync on the Replicas
    6. +
    7. Wait for Replicas to complete rsxnc. Timeout: 300
    8. +
    9. Stop rsyncd on Primary and remove ininitialize key from DCS, because its based on the old sysid
    10. +
    11. Start Patroni on the Primary and start the postgres locally
    12. +
    13. Reset custom staticstics, warmup the Memory and start Analyze in stages in separate threads
    14. +
    15. Wait for every Replica to become ready
    16. +
    17. Disable the maintenance mode for the Cluster
    18. +
    19. Restore custom statistics, analyze these tables and restore dropped objetcs from Prepare the upgrade
    20. +
    +
    +

    + Completion of the upgrade +

    + + + +
    +
      +
    1. Drop directory data_old
    2. +
    3. Trigger new Backup
    4. +
    +
    +

    + How a rollback is working? +

    + + + +
    +
      +
    1. Stop rsynd if its running
    2. +
    3. Disable the maintenance mode for the Cluster
    4. +
    5. Drop directory data_new
    6. +
    +
    +

    + How to trigger a In-Place-Upgrade with cpo? +

    + + + +
    +
    spec:
    +  postgresql:
    +    version: "17"
    +

    To trigger an In-Place-Upgrade you have just to increase the parameter spec.postgresql.version. If you choose a valid number the Operator will start with the prozedure, described above. +If you choosse a not allowed value, you will give an error and if you decrease the value, the operator will just ignore it with the following log-Entry.

    +
    Operator-Log
    +
    +
    + + + + + + + +
    +
    + + + +
    + + + + + + diff --git a/docs/hugo/public/major_upgrade-copy/index.xml b/docs/hugo/public/major_upgrade-copy/index.xml new file mode 100644 index 000000000..c992c9539 --- /dev/null +++ b/docs/hugo/public/major_upgrade-copy/index.xml @@ -0,0 +1,12 @@ + + + + Major-Upgrade on CYBERTEC-PG-Operator + http://localhost:1313/CYBERTEC-pg-operator/major_upgrade-copy/ + Recent content in Major-Upgrade on CYBERTEC-PG-Operator + Hugo + en + + + + diff --git a/docs/hugo/public/major_upgrade/index.html b/docs/hugo/public/major_upgrade/index.html new file mode 100644 index 000000000..ac7c1d7b3 --- /dev/null +++ b/docs/hugo/public/major_upgrade/index.html @@ -0,0 +1,5179 @@ + + + + + + + + + + + + + Major version Upgrade | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    +
    + + + + +
    + + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
    +
    +
    + + + +
    + + + + + +
    + + + + + + + + + + + +
    + +
    + + +
    + + +
    + + +
    +

    Major version Upgrade

    +
    + +
    +

    CPO enables the use of the in-place upgrade, which makes it possible to upgrade a cluster to a new PG major. For this purpose, pg_upgrade is used in the background.

    +
    +

    PAY ATTENTION: Note that an in-place upgrade generates both a pod restore in the form of a rolling update and an operational interruption of the cluster during the actual execution of the restore.

    +
    +

    + How does the upgrade work? +

    + + + +
    +
    +

    + Preconditions: +

    + + + +
    +
      +
    1. Pod restart - Use the rolling update strategy to replace all pods based on the new ENV PGVERSION with the version you want to update to.
    2. +
    3. Check - Check that the new PGVERSION is larger than the previously used one.
    4. +
    5. Check whether the new PGVERSION is larger than the previously used one and the maintenance mode of the cluster must be deactivated. In addition, the replicas should not have a high lag.
    6. +
    +
    +

    + Preliminary checks +

    + + + +
    +
      +
    1. use initdb to prepare a new data_dir (data_new) based on the new PGVERSION.
    2. +
    3. check the upgrade possibility with pg_upgrade --check
    4. +
    +
    +

    HINT: If one of the steps is aborted, a cleanup is performed

    +
    +

    + Prepare the Upgrade +

    + + + +
    +
      +
    1. remove dependencies that can cause problems. For example, the extensions pg_stat_statements and pgaudit.
    2. +
    3. activate the maintenance mode of the cluster
    4. +
    5. terminate PostgreSQL in an orderly manner
    6. +
    7. check pg_controldata for the checkpoint position and wait until all replicas apply the latest checkpoint location
    8. +
    9. use port 5432 for rsyncd and start it
    10. +
    +
    +

    + Start the Upgrade +

    + + + +
    +
      +
    1. Call pg_upgrade -k to start the Upgrade
    2. +
    +
    +

    ATTENTION if the process failed, we need to rollback, if it was sucessful we’re reaching the point of no return

    +
      +
    1. Rename the directories. data -> data_old and data_new -> data
    2. +
    3. Update the Patroni.config (postgres.yml)
    4. +
    5. Call Checkpoint on every replica and trigger rsync on the Replicas
    6. +
    7. Wait for Replicas to complete rsxnc. Timeout: 300
    8. +
    9. Stop rsyncd on Primary and remove ininitialize key from DCS, because its based on the old sysid
    10. +
    11. Start Patroni on the Primary and start the postgres locally
    12. +
    13. Reset custom staticstics, warmup the Memory and start Analyze in stages in separate threads
    14. +
    15. Wait for every Replica to become ready
    16. +
    17. Disable the maintenance mode for the Cluster
    18. +
    19. Restore custom statistics, analyze these tables and restore dropped objetcs from Prepare the upgrade
    20. +
    +
    +

    + Completion of the upgrade +

    + + + +
    +
      +
    1. Drop directory data_old
    2. +
    3. Trigger new Backup
    4. +
    +
    +

    + How a rollback is working? +

    + + + +
    +
      +
    1. Stop rsynd if its running
    2. +
    3. Disable the maintenance mode for the Cluster
    4. +
    5. Drop directory data_new
    6. +
    +
    +

    + How to trigger a In-Place-Upgrade with cpo? +

    + + + +
    +
    spec:
    +  postgresql:
    +    version: "17"
    +

    To trigger an In-Place-Upgrade you have just to increase the parameter spec.postgresql.version. If you choose a valid number the Operator will start with the prozedure, described above. +If you choosse a not allowed value, you will give an error and if you decrease the value, the operator will just ignore it with the following log-Entry.

    +
    Operator-Log
    +
    +
    + + + + + + + +
    +
    + + + +
    + + + + + + diff --git a/docs/hugo/public/major_upgrade/index.xml b/docs/hugo/public/major_upgrade/index.xml new file mode 100644 index 000000000..bea2a3917 --- /dev/null +++ b/docs/hugo/public/major_upgrade/index.xml @@ -0,0 +1,12 @@ + + + + Major version Upgrade on CYBERTEC-PG-Operator + http://localhost:1313/CYBERTEC-pg-operator/major_upgrade/ + Recent content in Major version Upgrade on CYBERTEC-PG-Operator + Hugo + en + + + + diff --git a/docs/hugo/public/minor_update/index.html b/docs/hugo/public/minor_update/index.html new file mode 100644 index 000000000..b37e3ab86 --- /dev/null +++ b/docs/hugo/public/minor_update/index.html @@ -0,0 +1,5179 @@ + + + + + + + + + + + + + Minor Update | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    +
    + + + + +
    + + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
    +
    +
    + + + +
    + + + + + +
    + + + + + + + + + + + +
    + +
    + + +
    + + +
    + + +
    +

    Minor Update

    +
    + +
    +

    CPO enables the use of the in-place upgrade, which makes it possible to upgrade a cluster to a new PG major. For this purpose, pg_upgrade is used in the background.

    +
    +

    PAY ATTENTION: Note that an in-place upgrade generates both a pod restore in the form of a rolling update and an operational interruption of the cluster during the actual execution of the restore.

    +
    +

    + How does the upgrade work? +

    + + + +
    +
    +

    + Preconditions: +

    + + + +
    +
      +
    1. Pod restart - Use the rolling update strategy to replace all pods based on the new ENV PGVERSION with the version you want to update to.
    2. +
    3. Check - Check that the new PGVERSION is larger than the previously used one.
    4. +
    5. Check whether the new PGVERSION is larger than the previously used one and the maintenance mode of the cluster must be deactivated. In addition, the replicas should not have a high lag.
    6. +
    +
    +

    + Preliminary checks +

    + + + +
    +
      +
    1. use initdb to prepare a new data_dir (data_new) based on the new PGVERSION.
    2. +
    3. check the upgrade possibility with pg_upgrade --check
    4. +
    +
    +

    HINT: If one of the steps is aborted, a cleanup is performed

    +
    +

    + Prepare the Upgrade +

    + + + +
    +
      +
    1. remove dependencies that can cause problems. For example, the extensions pg_stat_statements and pgaudit.
    2. +
    3. activate the maintenance mode of the cluster
    4. +
    5. terminate PostgreSQL in an orderly manner
    6. +
    7. check pg_controldata for the checkpoint position and wait until all replicas apply the latest checkpoint location
    8. +
    9. use port 5432 for rsyncd and start it
    10. +
    +
    +

    + Start the Upgrade +

    + + + +
    +
      +
    1. Call pg_upgrade -k to start the Upgrade
    2. +
    +
    +

    ATTENTION if the process failed, we need to rollback, if it was sucessful we’re reaching the point of no return

    +
      +
    1. Rename the directories. data -> data_old and data_new -> data
    2. +
    3. Update the Patroni.config (postgres.yml)
    4. +
    5. Call Checkpoint on every replica and trigger rsync on the Replicas
    6. +
    7. Wait for Replicas to complete rsxnc. Timeout: 300
    8. +
    9. Stop rsyncd on Primary and remove ininitialize key from DCS, because its based on the old sysid
    10. +
    11. Start Patroni on the Primary and start the postgres locally
    12. +
    13. Reset custom staticstics, warmup the Memory and start Analyze in stages in separate threads
    14. +
    15. Wait for every Replica to become ready
    16. +
    17. Disable the maintenance mode for the Cluster
    18. +
    19. Restore custom statistics, analyze these tables and restore dropped objetcs from Prepare the upgrade
    20. +
    +
    +

    + Completion of the upgrade +

    + + + +
    +
      +
    1. Drop directory data_old
    2. +
    3. Trigger new Backup
    4. +
    +
    +

    + How a rollback is working? +

    + + + +
    +
      +
    1. Stop rsynd if its running
    2. +
    3. Disable the maintenance mode for the Cluster
    4. +
    5. Drop directory data_new
    6. +
    +
    +

    + How to trigger a In-Place-Upgrade with cpo? +

    + + + +
    +
    spec:
    +  postgresql:
    +    version: "17"
    +

    To trigger an In-Place-Upgrade you have just to increase the parameter spec.postgresql.version. If you choose a valid number the Operator will start with the prozedure, described above. +If you choosse a not allowed value, you will give an error and if you decrease the value, the operator will just ignore it with the following log-Entry.

    +
    Operator-Log
    +
    +
    + + + + + + + +
    +
    + + + +
    + + + + + + diff --git a/docs/hugo/public/minor_update/index.xml b/docs/hugo/public/minor_update/index.xml new file mode 100644 index 000000000..1746f2f53 --- /dev/null +++ b/docs/hugo/public/minor_update/index.xml @@ -0,0 +1,12 @@ + + + + Minor Update on CYBERTEC-PG-Operator + http://localhost:1313/CYBERTEC-pg-operator/minor_update/ + Recent content in Minor Update on CYBERTEC-PG-Operator + Hugo + en + + + + diff --git a/docs/hugo/public/mobile-79ddc617.min.css b/docs/hugo/public/mobile-79ddc617.min.css new file mode 100644 index 000000000..abf3504d9 --- /dev/null +++ b/docs/hugo/public/mobile-79ddc617.min.css @@ -0,0 +1 @@ +@media screen and (max-width: 41rem){.gdoc-nav{margin-left:-18rem;font-size:16px}.gdoc-nav__control{display:inline-block}.gdoc-header svg.gdoc-icon{width:1.5rem;height:1.5rem}.gdoc-brand{font-size:1.5rem;line-height:1.5rem}.gdoc-brand__img{display:none}.gdoc-menu-header__items{display:none}.gdoc-menu-header__control,.gdoc-menu-header__home{display:flex}.gdoc-error{padding:6rem 1rem}.gdoc-error svg.gdoc-icon{width:6rem;height:6rem}.gdoc-error__message{padding-left:2rem}.gdoc-error__line{padding:.25rem 0}.gdoc-error__title{font-size:2rem}.gdoc-page__header .breadcrumb,.hidden-mobile{display:none}.flex-mobile-column{flex-direction:column}.flex-mobile-column.gdoc-columns{margin:2rem 0}.flex-mobile-column .gdoc-columns__content{min-width:auto;margin:0}#menu-control:checked~main .gdoc-nav nav,#menu-control:checked~main .gdoc-page{transform:translateX(18rem)}#menu-control:checked~main .gdoc-page{opacity:.25}#menu-control:checked~.gdoc-header .gdoc-nav__control svg.gdoc-icon.gdoc_menu{display:none}#menu-control:checked~.gdoc-header .gdoc-nav__control svg.gdoc-icon.gdoc_arrow_back{display:inline-block}#menu-header-control:checked~.gdoc-header .gdoc-brand{display:none}#menu-header-control:checked~.gdoc-header .gdoc-menu-header__items{display:flex}#menu-header-control:checked~.gdoc-header .gdoc-menu-header__control svg.gdoc-icon.gdoc_keyboard_arrow_left{display:none}} \ No newline at end of file diff --git a/docs/hugo/public/monitoring/index.html b/docs/hugo/public/monitoring/index.html new file mode 100644 index 000000000..f89b03d75 --- /dev/null +++ b/docs/hugo/public/monitoring/index.html @@ -0,0 +1,5266 @@ + + + + + + + + + + + + + Monitoring | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    +
    + + + + +
    + + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
    +
    +
    + + + +
    + + + + + +
    + + + + + + + + + + + +
    + +
    + + +
    + + +
    + + +
    +

    Monitoring

    +
    + +
    +

    The CPO-Project has prepared severall Tools which allows to setup a Monitoring-Stack including Alerting and Metric-Viewer. +These Stack is based on:

    +
      +
    • Prometheus
    • +
    • Alertmanager
    • +
    • Grafana
    • +
    • exporter-container
    • +
    +

    CPO has prepared an own Exporter for the PostgreSQl-Pod which can used as a sidecar.

    +
    +

    + Setting up the Monitoring Stack +

    + + + +
    +

    To setup the Monitoring-Stack we suggest that you create an own namespace and use the prepared kustomization file inside the Operator-Tutorials.

    +
    $ kubectl create namespace cpo-monitoring
    +namespace/cpo-monitoring created
    +$ kubectl get pods -n cpo-monitoring
    +No resources found in cpo-monitoring namespace.
    +
    +git clone https://github.com/cybertec-postgresql/CYBERTEC-operator-tutorial
    +cd CYBERTEC-operator-tutorial/setup/monitoring
    +
    +# Hint: Please check if youn want to use a specific storage-class the file pvcs.yaml and add your storageclass on the commented part. Please ensure that you removed the comment-char.
    +
    +$ kubectl apply -n cpo-monitoring -k .
    +serviceaccount/cpo-monitoring created
    +serviceaccount/cpo-monitoring-tools created
    +clusterrole.rbac.authorization.k8s.io/cpo-monitoring unchanged
    +clusterrolebinding.rbac.authorization.k8s.io/cpo-monitoring unchanged
    +configmap/alertmanager-config created
    +configmap/alertmanager-rules-config created
    +configmap/cpo-prometheus-cm created
    +configmap/grafana-dashboards created
    +configmap/grafana-datasources created
    +secret/grafana-secret created
    +service/cpo-monitoring-alertmanager created
    +service/cpo-monitoring-grafana created
    +service/cpo-monitoring-prometheus created
    +persistentvolumeclaim/alertmanager-pvc created
    +persistentvolumeclaim/grafana-pvc created
    +persistentvolumeclaim/prometheus-pvc created
    +deployment.apps/cpo-monitoring-alertmanager created
    +deployment.apps/cpo-monitoring-grafana created
    +deployment.apps/cpo-monitoring-prometheus created
    +
    +Hint: If you're not running Openshift you will get a error like this: 
    +error: resource mapping not found for name: "grafana" namespace: "" from ".":
    +no matches for kind "Route" in version "route.openshift.io/v1" ensure CRDs are installed first
    +
    +You can ignore this, because it depends on an object with the type route which is part of Openshift. 
    +It is not needed replaced by ingress-rules or an loadbalancer-service.
    +

    After installing the Monitoring-Stack we’re able to check the created pods inside the namespace

    +
    $ kubectl get pods -n cpo-monitoring
    +----------------------------------------------------------------------------------------
    +NAME                                          | READY  | STATUS      | RESTARTS  | AGE
    +cpo-monitoring-alertmanager-5bb8bc79f7-8pdv4  | 1/1    | Running     | 0         | 3m35s
    +cpo-monitoring-grafana-7c7c4f787b-jbj2f       | 1/1    | Running     | 0         | 3m35s
    +cpo-monitoring-prometheus-67969b757f-k26jd    | 1/1    | Running     | 0         | 3m35s
    +

    The configuration of this monitoring-stack is based on severall configmaps which can be modified.

    +
    +

    + Prometheus-Configuration +

    + + + +
    +
    +

    + Alertmanager-Configuration +

    + + + +
    +
    +

    + Grafana-Configuration +

    + + + +
    +
    +

    + Configure a PostgreSQL-Cluster to allow Prometheus to gather metrics +

    + + + +
    +

    To allow Prometheus to gather metrics from your cluster you need to do some small modfications on the Cluster-Manifest. +We need to create the monitor-object for this:

    +
    kubectl edit postgresqls.cpo.opensource.cybertec.at cluster-1
    +
    +...
    +spec:
    +  ...
    +  monitor:
    +    image: docker.io/cybertecpostgresql/cybertec-pg-container:exporter-16.2-1
    +

    The Operator will add automatically the monitoring sidecar to your pods, create a new postgres-user and add some structure inside the postgres-database to enable everthing needed for the Monitoring. Also every Ressource of your Cluster will get a new label: cpo_monitoring_stack=true. This is needed for Prometheus to identify all clusters which should be added to the monitoring. +Removing this label will stop Prometheus to gather data from this cluster.

    +

    After changing your Cluster-Manifest the Pods needs to be recreated which is done by a rolling update. +After this you can see that the pod has now more than just one container.

    +
    kubectl get pods
    +-----------------------------------------------------------------------------
    +NAME                             | READY  | STATUS           | RESTARTS | AGE
    +cluster-1-0                      | 2/2    | Running          | 0        | 54s
    +cluster-1-1                      | 2/2    | Running          | 0        | 31s
    +

    You can check the logs to see that the exporter is working and with curl you can see the output of the exporter.

    +
    kubectl logs cluster-1-0 -c postgres-exporter
    +kubectl exec --stdin --tty cluster-1-0 -c postgres-exporter -- /bin/bash
    +[exporter@cluster-1-0 /]# curl http://127.0.0.1:9187/metrics
    +

    You can now setup a LoadBalancer-Service or create an Ingress-Rule to allow access von outside to the grafana. Alternativ you can use a port-forward.

    +
    +
    + LoadBalancer or Nodeport +
    + + + +
    +
    +
    + Ingress-Rule +
    + + + +
    +
    +
    + Port-Forwarding +
    + + + +
    +
    $ kubectl get pods -n cpo-monitoring
    +----------------------------------------------------------------------------------------
    +NAME                                          | READY  | STATUS      | RESTARTS  | AGE
    +cpo-monitoring-alertmanager-5bb8bc79f7-8pdv4  | 1/1    | Running     | 0         | 6m42s
    +cpo-monitoring-grafana-7c7c4f787b-jbj2f       | 1/1    | Running     | 0         | 6m42s
    +cpo-monitoring-prometheus-67969b757f-k26jd    | 1/1    | Running     | 0         | 6m42s
    +
    +$ kubectl port-forward cpo-monitoring-grafana-7c7c4f787b-jbj2f -n cpo-monitoring 9000:9000
    +Forwarding from 127.0.0.1:9000 -> 9000
    +Forwarding from [::1]:9000 -> 9000
    +

    Call http://localhost:9000 in the Browser

    +
    +
    + Use a Route (Openshift only) +
    + + + +
    +
    kubectl get route -n cpo-monitoring
    +

    Use the Route-Adress to access Grafana

    + +
    + + + + + + + +
    +
    + + + +
    + + + + + + diff --git a/docs/hugo/public/monitoring/index.xml b/docs/hugo/public/monitoring/index.xml new file mode 100644 index 000000000..57baaa524 --- /dev/null +++ b/docs/hugo/public/monitoring/index.xml @@ -0,0 +1,12 @@ + + + + Monitoring on CYBERTEC-PG-Operator + http://localhost:1313/CYBERTEC-pg-operator/monitoring/ + Recent content in Monitoring on CYBERTEC-PG-Operator + Hugo + en + + + + diff --git a/docs/hugo/public/multisite-copy/index.html b/docs/hugo/public/multisite-copy/index.html new file mode 100644 index 000000000..7b5ddfbd0 --- /dev/null +++ b/docs/hugo/public/multisite-copy/index.html @@ -0,0 +1,5422 @@ + + + + + + + + + + + + + Multisite | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    +
    + + + + +
    + + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
    +
    +
    + + + +
    + + + + + +
    + + + + + + + + + + + +
    + +
    + + +
    + + +
    + + +
    +

    Multisite

    +
    + +
    +

    Multisite is a function specially developed for Patroni that makes it possible to combine two separate Patroni clusters into a common cluster unit. ‘Separate’ in this context means that the clusters run independently of each other and can even be located on different Kubernetes clusters. +With Multisite, both clusters benefit from the well-known Patroni features such as automatic failover and demotion of members, resulting in a significant extension compared to a conventional standby cluster. +This feature significantly improves high availability and redundancy by managing multiple geographically or infrastructurally separated clusters as one logical unit. This allows one cluster to seamlessly transition to another in the event of a failure without having to rely on manual switchovers or third-party replication solutions.

    +
    +

    + Prerequisites +

    + + + +
    +

    In order to set up the multisite PostgreSQL operator you will need the following:

    +
      +
    • Two or more Kubernetes or OpenShift clusters (also possible with bare metal or VMs) +
        +
      • Kubernetes version 1.25+, OpenShift version 4.12+.
      • +
      • Support for defining LoadBalancer services with external IP addresses that are accessible from the other cluster(s).
      • +
      • Persistent volumes with must be available (only ReadWriteOnce capability is needed).
      • +
      +
    • +
    • A separate VM or Kubernetes/OpenShift cluster to provide quorum (if using less then three Kubernetes or OpenShift clusters). +
        +
      • For high availability there should not be a shared point of failure between the quorum and the two Kubernetes clusters.
      • +
      • VM or a LoadBalancer IP must be accessible on ports 2379/2380 to the two other clusters.
      • +
      • 2 vCPU and 2 GB of memory and 20GB of persistent storage is needed for the quorum site.
      • +
      +
    • +
    • Set up etcd cluster with 3 sites accessible from each of the sites. etcd needs to support API version 3.
    • +
    • For backups an object storage system with S3 compatible API is needed. Minio, Ceph and major cloud provider object storages are known to work.
    • +
    + + + + + +
    +
    +
    An additional etcd is set up for Multisite, which spans the Kubernetes or Openshift clusters and must contain the quorum.
    +
    + +
    +

    + Architecture +

    + + + +
    +

    Helm based deployment of the multisite operator contains two helm charts, postgres-operator and postgres-cluster. The first is used to deploy the operator and associated objects to a single Kubernetes cluster. The operator is responsible for managing PostgreSQL clusters based on Custom Resource Definitions (CRDs) of type postgresqls/pg.

    +

    Kubernetes entities

    +

    The diagram contains in green the Helm charts that are used to deploy operator and clusters, in blue the objects +deployed by the operator helm chart and in gold the objects deployed by the cluster chart.

    +

    Operator helm chart deployed objects have the following purposes:

    +
      +
    • deployments/postgres-operator - Deployment for the operator itself.
    • +
    • opconfig/postgres-operator - Operator configuration parameters that are read on operator startup. These apply to +all clusters managed by this operator.
    • +
    • crd/operatorconfigurations.cpo.opensource.cybertec.at - Schema for the operator configuration.
    • +
    • clusterrole/postgres-operator - Defines the Kubernetes API resource access used by the operator. Assigned to +postgres-operator service account.
    • +
    • clusterrole/postgres-pod - The Kubernetes API access needed by database pods. Access is needed to access leader +status, config and other things. This is assigned to postgres-pod service account used by database pods.
    • +
    • crd/postgresqls.cpo.opensource.cybertec.at - Schema for PostgreSQL cluster definitions.
    • +
    • clusterrole/postgres-operator:users:{admin,edit,view} - If rbac.createAggregateClusterRoles is set then user +facing roles are added for accessing the postgresqls CRDs.
    • +
    +

    The cluster chart creates an instance of postgresqls CRD, which will be called cluster manifest from here on. When this +cluster manifest is created operator will create the needed resources for the cluster. These include:

    +
      +
    • +

      statefulset/$clustername - StatefulSet is responsible for creating and managing database pods and their associated +PersistentVolumeClaims for storing the databases. Each database pod will run internally an instance of Patroni +process, which will coordinate over the Kubernetes API initialization of the database, startup, leader election +and other control plane actions.

      +
    • +
    • +

      service/$clustername,endpoints/$clustername - The main access point for users accessing the database. When load +balancer is enabled in the CRD or multisite mode is enabled, this service will be set to be a LoadBalancer service and +accessible from outside the Kubernetes cluster. The service is created without a selector. Instead, for leader +elections database pods will update the IP address of this endpoint to point to the current leader.

      +

      The endpoint also holds annotations that determine the duration of the leader lease.

      +

      In multicluster operation mode the standby site leader will be in read-only mode.

      +
    • +
    • +

      service/$clustername-repl - Service that points to non-leader (read-only) instances of the database cluster.

      +
    • +
    • +

      service/$clustername-config - A headless service with an endpoint that holds Patroni configuration in annotations.

      +
    • +
    • +

      poddisruptionbudget/postgres-$clustername-pdb - A pod disruption budget that does not allow Kubernetes to shut +down pods in leader role. On some Kubernetes clusters kubernetes.enable_pod_disruption_budgets may need to be +turned off to allow nodes to be drained for upgrades.

      +
    • +
    +
    +

    + Multisite mode +

    + + + +
    +

    In multisite operation mode there are multiple independent Kubernetes clusters with operators capable of independent +operation. To coordinate which site has the current leader process the database pods use a shared etcd cluster to +store a leader lease.

    +

    Multisite interactions

    +

    During bootstrap the first site to acquire the leader lease gets to initialize the database contents. Secondary +sites are configured to replicate from primary site using Patroni’s standby_cluster mechanism.

    +

    To be able to communicate between Kubernetes clusters a LoadBalancer service is needed. For this the operator +automatically turns the primary service of the cluster to be of kind LoadBalancer. Operator will wait for an +external IP address to be assigned to this service and passes this information to the database pod. The leader of +each site, whether primary or standby site, will periodically advertise the externally visible IP address for their +site in etcd. Based on this the standby site can configure the standby cluster mechanism to replicate from primary +site.

    +
    +

    + Deployment +

    + + + +
    +

    In multisite mode postgres-operator can manage a replicated PostgreSQL cluster that is deployed across multiple +Kubernetes clusters. Multisite operation can be turned on on a cluster by cluster basis, or can be configured to +default to on for all cluster managed by a single operator.

    +

    Setting up a GR deployment consists of the following steps:

    +
      +
    1. Creating a shared etcd cluster.
    2. +
    3. Configuring multisite operation parameters for the postgres-operator.
    4. +
    5. Creating a multisite enabled cluster.
    6. +
    +
    +

    + Etcd deployment +

    + + + +
    +

    Multisite operation mode requires an etcd cluster to achieve consensus on which site gets to accept write +transactions. This functionality is critical to avoid situations where multiple site accept incompatible writes that +cannot be reconciliated, also known as a split brain scenario.

    +

    A highly available etcd cluster consists of an odd number of nodes, at least 3. It is very important that a quorum +of etcd instances (for 3 node clusters, any two instances) do not share a single point of failure. Otherwise the +write availability of database clusters is limited to this single point of failure. Effectively this means that to +protect 3 node etcd clusters from whole site failure, any site can only contain 1 etcd node and there needs to be +at least 3 sites.

    +

    Postgres-operator is agnostic to the exact method of etcd setup, but for ease of use there is a +Helm chart packaged that demonstrates the +setup.

    +
    +

    + Example etcd setup +

    + + + +
    +

    This example uses one etcd instance deployed outside Kubernetes cluster as quorum. This etcd needs to be started +with the following configuration. Note that IP address that is advertised must be routed to the host that runs this +etcd.

    +
    ETCD_NAME=quorum
    +ETCD_INITIAL_CLUSTER=quorum=http://10.100.1.100:2380
    +ETCD_INITIAL_ADVERTISE_PEER_URLS=http://10.100.1.100:2380
    +ETCD_INITIAL_CLUSTER_TOKEN=hpe_etcd
    +ETCD_ADVERTISE_CLIENT_URLS=http://10.100.1.100:2379
    +ETCD_LISTEN_CLIENT_URLS=http://0.0.0.0:2379
    +ETCD_LISTEN_PEER_URLS=http://0.0.0.0:2380
    +

    Kubernetes clusters can then be joined to this node. This needs to be a two step process as typically the externally +visible IP address or port is not known before creating the LoadBalancer service. For this first create a free standing +loadbalancer service that will be overwritten by the Helm chart.

    +
    helm template global-etcd ./etcd-helm/ -f etcd-helm/site_a.yaml \
    +| awk '/service.yaml/{flag=1;next}/---/{flag=0}flag' \
    +| kubectl apply -f -
    +

    Then check what external IP address the load balancer service got assigned to it.

    +
    $ kubectl get svc -l app.kubernetes.io/instance=global-etcd
    +NAME                    TYPE           CLUSTER-IP       EXTERNAL-IP      PORT(S)                         AGE
    +global-etcd-etcd-helm   LoadBalancer   10.109.171.146   10.200.1.101     2379:32488/TCP,2380:30336/TCP   17h
    +

    And set in the values for the helm chart:

    +
      +
    1. Unique name of the site.
    2. +
    3. Externally visible IP address of this service
    4. +
    5. IP address of existing etcd service.
    6. +
    7. Peer list that includes both existing and to be added etcd instance.
    8. +
    +

    Example:

    +
    site:
    +  name: site_a
    +  host: 10.100.2.101
    +
    +etcd:
    +  existing_etcd_cluster_hostname: 10.100.1.100
    +  token: hpe_etcd
    +  state: existing
    +  peers:
    +  #Peers should only include working peers and the current one
    +  - quorum=http://10.100.1.100:2380
    +  - site_a_etcd0=http://10.100.2.101:2380
    +  client_port: 2379
    +  peer_port: 2380
    +

    Then install the helm chart:

    +
    helm install global-etcd ./etcd-helm/ -f etcd-helm/site_a.yaml
    +

    This then needs to be repeated for the other site.

    +
    +

    + Configuring operator for multisite operations +

    + + + +
    +

    Multisite operation needs at a minimum the configuration options multisite.etcd_host, multisite.site +and multisite.enabled. All of them can be configured either in operator configuration or per cluster.

    +

    multisite.etcd_host needs to point at the global etcd. The port is currently assumed to be 2379. Normally +all clusters under one operator would be using the same etcd clusters, so it makes sense to configure it +in the operator configuration. At runtime database pods will discover the whole etcd cluster member list +and will also take notice of any membership changes. It is enough to use local etcd instance service name +here.

    +

    multisite.site is a unique identifier for this site. It will be prefixed to globally advertised database pod names +to distinguish them from pods in other sites. This also makes sense in the operator configuration.

    +

    multisite.enabled turns of the multisite behavior. Typically it would make sense to control this at the +cluster level, but the default could be turned on globally.

    +

    These parameters are exposed in Helm chart values file as configMultisite.*.

    +

    Example config:

    +
    $ kubectl get opconfig/postgres-operator -o yaml | grep multisite -B1 -A3
    +  min_instances: -1
    +  multisite:
    +    etcd_host: global-etcd-etcd-helm.default.svc.cluster.local
    +    site: s1
    +  postgres_pod_resources:
    +

    This needs to be repeated with a different site name in the second Kubernetes cluster.

    +
    +

    + Creating a multisite enabled postgres cluster +

    + + + +
    +

    If the operator is configured for multisite operation then creating a multisite cluster only needs +enabling of the multisite mode.

    +

    Here is an example values file to use for creating multisite enabled clusters:

    +
    apiVersion: cpo.opensource.cybertec.at/v1
    +kind: postgresql
    +metadata:
    +  name: multisite-cluster
    +  namespace: cpo
    +  labels:
    +    app.kubernetes.io/name: postgres-cluster
    +    app.kubernetes.io/instance: multisite-cluster 
    +spec:
    +  dockerImage: docker.io/cybertecpostgresql/cybertec-pg-container:postgres-multisite-17.4-1
    +  numberOfInstances: 1
    +  postgresql:
    +    version: '17'
    +  resources:
    +    limits:
    +      cpu: 500m
    +      memory: 500Mi
    +    requests:
    +      cpu: 500m
    +      memory: 500Mi
    +  teamId: acid
    +  volume:
    +    size: 5Gi
    +  patroni:
    +    ttl: 30
    +    loop_wait: 10
    +    retry_timeout: 10
    +    multisite:
    +      enable: true
    +

    There is no coordination needed between creating the two or more sites and they can use identical +configuration. The clusters need to be in the same namespace and have the same name to be considered +the same cluster. The first cluster to boot up will acquire multisite leader status and will bootstrap +the database. The other clusters will automatically fetch a copy from the leader cluster and start +replicating.

    +

    Multisite operation needs that the database cluster are capable of communicating with each other. +To do this a load balancer service is created in each cluster for the cluster leader. The operator +then waits for an external IP to be assigned and injects it into the database pods to be used for +advertising their identity.

    +
    +

    + Observing operations +

    + + + +
    +

    If database pods have not been created, the first place to check for information is operator logs. Operator logs can +be checked with the following command (add –follow if you want to observe in real-time):

    +
    kubectl logs $(kubectl get po -l 'app.kubernetes.io/name=postgres-operator' -o name)
    +

    The logs for a successful cluster creation look like this

    +
    time="2023-02-22T15:24:12Z" level=info msg="ADD event has been queued" cluster-name=cpo/multisite-cluster pkg=controller worker=1
    +time="2023-02-22T15:24:12Z" level=info msg="creating a new Postgres cluster" cluster-name=cpo/multisite-cluster pkg=controller worker=1
    +time="2023-02-22T15:24:12Z" level=warning msg="master is not running, generated master endpoint does not contain any addresses" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:12Z" level=info msg="endpoint \"cpo/multisite-cluster\" has been successfully created" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:12Z" level=debug msg="final load balancer source ranges as seen in a service spec (not necessarily applied): [\"0.0.0.0/0\"]" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:12Z" level=info msg="master service \"cpo/multisite-cluster\" has been successfully created" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:12Z" level=info msg="replica service \"cpo/multisite-cluster-repl\" has been successfully created" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:12Z" level=debug msg="team API is disabled" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:12Z" level=debug msg="team API is disabled" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:12Z" level=info msg="users have been initialized" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:12Z" level=info msg="syncing secrets" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:12Z" level=debug msg="created new secret cpo/postgres.multisite-cluster.credentials.postgresql.cpo.opensource.cybertec.at, namespace: default, uid: 75ded2eb-a2c9-4968-a1d7-50d2996baeb3" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:13Z" level=debug msg="created new secret cpo/standby.multisite-cluster.credentials.postgresql.cpo.opensource.cybertec.at, namespace: default, uid: 45a2560a-65a8-4bd5-954f-34d80d8a1894" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:13Z" level=info msg="secrets have been successfully created" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:13Z" level=info msg="pod disruption budget \"cpo/postgres-multisite-cluster-pdb\" has been successfully created" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:13Z" level=info msg="waiting for load balancer IP to be assigned" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:13Z" level=debug msg="created new statefulset \"cpo/multisite-cluster\", uid: \"b83647ea-17f6-40aa-aa0c-b1111e76cdc0\"" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:13Z" level=info msg="statefulset \"cpo/multisite-cluster\" has been successfully created" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:13Z" level=info msg="waiting for the cluster being ready" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:16Z" level=debug msg="Waiting for 1 pods to become ready" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:28Z" level=info msg="pods are ready" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:28Z" level=info msg="Create roles" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:28Z" level=debug msg="closing database connection" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:28Z" level=info msg="users have been successfully created" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:28Z" level=debug msg="closing database connection" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:28Z" level=info msg="databases have been successfully created" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:28Z" level=info msg="found pod disruption budget: \"cpo/postgres-multisite-cluster-pdb\" (uid: \"986a0118-83e7-4736-9843-ec80c0ea9270\")" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:28Z" level=info msg="found statefulset: \"cpo/multisite-cluster\" (uid: \"b83647ea-17f6-40aa-aa0c-b1111e76cdc0\")" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:28Z" level=info msg="found secret: \"cpo/postgres.multisite-cluster.credentials.postgresql.cpo.opensource.cybertec.at\" (uid: \"75ded2eb-a2c9-4968-a1d7-50d2996baeb3\") namesapce: default" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:28Z" level=info msg="found secret: \"cpo/standby.multisite-cluster.credentials.postgresql.cpo.opensource.cybertec.at\" (uid: \"45a2560a-65a8-4bd5-954f-34d80d8a1894\") namesapce: default" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:28Z" level=info msg="found master endpoint: \"cpo/multisite-cluster\" (uid: \"d9f7870e-dd51-4a88-a36a-1c2eb258a31c\")" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:28Z" level=info msg="found master service: \"cpo/multisite-cluster\" (uid: \"4b30df50-ca53-4def-8171-b792c4eefc17\")" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:28Z" level=info msg="found replica service: \"cpo/multisite-cluster-repl\" (uid: \"a77c3a49-3eea-4b6b-92b1-032e13d78f02\")" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:28Z" level=info msg="found pod: \"cpo/multisite-cluster-0\" (uid: \"9b31d378-c9eb-4c1a-8637-e78933187ed7\")" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:28Z" level=info msg="found PVC: \"cpo/pgdata-multisite-cluster-0\" (uid: \"03e66572-27ed-42b4-87bd-825d32131d36\")" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:28Z" level=debug msg="syncing connection pooler (master, replica) from (false, nil) to (false, false)" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:28Z" level=info msg="cluster has been created" cluster-name=cpo/multisite-cluster pkg=controller worker=1
    +

    When database pods have been created, then Patroni logs can be checked from the pod logs:

    +
    kubectl logs multisite-cluster-0
    +

    Successful start of first database pod will have amongst other output the following lines:

    +
    . . .
    +# Kubernetes API access
    +2023-02-22 15:24:21,061 INFO: Selected new K8s API server endpoint https://192.168.49.2:8443
    +. . .
    +# Set ourselves as multisite leader
    +2023-02-22 15:24:21,218 INFO: Selected new etcd server http://192.168.50.101:2379
    +2023-02-22 15:24:21,348 INFO: Running multisite consensus.
    +2023-02-22 15:24:21,349 INFO: Touching member s1-multisite-cluster with {'host': '192.168.49.103', 'port': 5432}
    +2023-02-22 15:24:21,447 INFO: Became multisite leader
    +. . .
    +# Initializing a new empty database
    +2023-02-22 15:24:21,563 INFO: trying to bootstrap a new cluster
    +. . .
    +Success. You can now start the database server using:
    +. . .
    +# Database started
    +2023-02-22 15:24:23,934 INFO: postmaster pid=73
    +. . .
    +# Running global database intitialization script
    +2023-02-22 15:24:25,061 INFO: running post_bootstrap
    +. . .
    +# Bootstrap done 
    +2023-02-22 15:24:26,310 INFO: initialized a new cluster
    +. . .
    +# Repeated information about health every 10s
    +2023-02-22 15:24:26,313 INFO: Lock owner: multisite-cluster-0; I am multisite-cluster-0
    +2023-02-22 15:24:26,361 INFO: Triggering multisite hearbeat
    +2023-02-22 15:24:26,364 INFO: Running multisite consensus.
    +2023-02-22 15:24:26,364 INFO: Multisite has leader and it is us
    +2023-02-22 15:24:26,409 INFO: Updated multisite leader lease
    +2023-02-22 15:24:26,409 INFO: Touching member s1-multisite-cluster with {'host': '192.168.49.103', 'port': 5432}
    +2023-02-22 15:24:26,422 INFO: no action. I am (multisite-cluster-0), the leader with the lock
    +. . .
    +

    Bootstrap of standby on primary site will have these lines:

    +
    . . .
    +# Determine leader
    +2023-02-22 15:47:04,552 INFO: Lock owner: multisite-cluster-0; I am multisite-cluster-1
    +2023-02-22 15:47:04,677 INFO: trying to bootstrap from leader 'multisite-cluster-0'
    +. . .
    +# Data copied to replica successfully
    +2023-02-22 15:47:06,805 INFO: replica has been created using basebackup_fast_xlog
    +2023-02-22 15:47:06,807 INFO: bootstrapped from leader 'multisite-cluster-0'
    +# Postgres up
    +2023-02-22 15:47:07,205 INFO: postmaster pid=73
    +. . .
    +# Normal operation
    +2023-02-22 15:47:08,380 INFO: no action. I am (multisite-cluster-1), a secondary, and following a leader (multisite-cluster-0)
    +

    Standby cluster will have the following information:

    +
    . . .
    +# Discovering multisite status
    +2023-02-22 15:49:58,406 INFO: Running multisite consensus.
    +2023-02-22 15:49:58,407 INFO: Touching member s2-multisite-cluster with {'host': '192.168.50.103', 'port': 5432}
    +2023-02-22 15:49:58,454 INFO: Multisite has leader and it is s1-multisite-cluster
    +2023-02-22 15:49:58,454 INFO: Multisite replicate from Member(index='118', name='s1-multisite-cluster', session='4113060022582527194', data={'host': '192.168.49.103', 'port': 5432})
    +2023-02-22 15:49:58,454 INFO: Setting standby configuration to: {'host': '192.168.49.103', 'port': 5432}
    +2023-02-22 15:49:58,455 INFO: Touching member s2-multisite-cluster with {'host': '192.168.50.103', 'port': 5432}
    +. . .
    +# Acquiring standby site leader status and starting copy from primary site
    +2023-02-22 15:49:58,290 INFO: Lock owner: None; I am multisite-cluster-0
    +2023-02-22 15:49:58,566 INFO: trying to bootstrap a new standby leader
    +. . .
    +# Replica creation successful
    +2023-02-22 15:50:00,326 INFO: replica has been created using basebackup
    +2023-02-22 15:50:00,327 INFO: bootstrapped clone from remote master postgresql://192.168.49.103:5432
    +# Postgres started
    +2023-02-22 15:50:00,577 INFO: postmaster pid=58
    +. . .
    +# Normal operation output of standby leader
    +2023-02-22 15:50:01,835 INFO: Lock owner: multisite-cluster-0; I am multisite-cluster-0
    +2023-02-22 15:50:01,886 INFO: Triggering multisite hearbeat
    +2023-02-22 15:50:01,888 INFO: Running multisite consensus.
    +2023-02-22 15:50:01,888 INFO: Multisite has leader and it is s1-multisite-cluster
    +2023-02-22 15:50:01,888 INFO: Multisite replicate from Member(index='118', name='s1-multisite-cluster', session='4113060022582527194', data={'host': '192.168.49.103', 'port': 5432})
    +2023-02-22 15:50:01,888 INFO: Touching member s2-multisite-cluster with {'host': '192.168.50.103', 'port': 5432}
    +2023-02-22 15:50:01,899 INFO: no action. I am (multisite-cluster-0), the standby leader with the lock
    +

    In case access to PostgreSQL logs is needed, the easiest way is to exec into a running database pod +with kubectl exec -it multisite-cluster-0 -- bash and view the files there. Logs are stored +as /home/postgres/pgdata/pgroot/pg_log/postgresql-*.csv, with one file per weekday.

    +

    Replication state can be queried from PostgreSQL:

    +
    kubectl exec -it $(kubectl get -o name po -l 'spilo-role=master,cluster-name=multisite-cluster') -- su postgres -c \
    +   'psql -xc "SELECT application_name, client_addr, backend_start, write_lag FROM pg_stat_replication"'
    +

    To check how multisite mode is doing one option is to check the etcd state. For example by executing +in any one of your database pods:

    +
    kubectl exec multisite-cluster-0 -- bash -c \
    +'ETCDCTL_API=3 etcdctl --endpoints=http://${MULTISITE_ETCD_HOST}:2379 \
    + get /multisite/${POD_NAMESPACE}/${SCOPE}/{leader,members0}'
    +

    This will output state stored in etcd. Example:

    +
    /multisite/cpo/multisite-cluster/leader
    +s1-multisite-cluster
    +/multisite/cpo/multisite-cluster/members/s1-multisite-cluster
    +{"host":"192.168.49.102","port":5432}
    +/multisite/cpo/multisite-cluster/members/s2-multisite-cluster
    +{"host":"192.168.50.102","port":5432}
    +

    Each cluster state is stored with the prefix /multisite/$NAMESPACE/$CLUSTER_NAME. In this state +there is /leader key storing current leader of the cluster and /members/$SITE_$CLUSTER_NAME for +each sites externally visible service.

    +
    +

    + Triggering switchover manually +

    + + + +
    +

    Sometimes it is necessary to move leader role from one site to another. For this the operator REST API has an endpoint +named /clusters/$namespace/$cluster/multisite/. This accepts a POST request with a request JSON. The document has the +following attributes:

    +
      +
    • switchover_to: name of the site that should become the new multisite leader.
    • +
    +

    Example:

    +
    curl --data-raw '{"switchover_to": "s1"}' -H "Content-type: application/json" \
    +    http://postgres-operator.default.svc.cluster.local:8080/clusters/cpo/multisite-cluster/multisite/
    +

    The POST request to this endpoint will return immediately when the switchover request has been registered. The +actual switchover process will take some time to coordinate.

    +
    +

    + Observing multisite status +

    + + + +
    +

    Current multisite status is published to cluster CRD status subresource in Multisite field. The possible values +are Leader and Standby. When the role changes there will also be an event published.

    +

    Example output from a kubectl describe on the cluster CRD resource:

    +
    Status:
    +  Multisite:                Leader
    +  Postgres Cluster Status:  Running
    +Events:
    +  Type    Reason   Age   From     Message
    +  ----    ------   ----  ----     -------
    +  Normal  Promote  13s   patroni  Acquired multisite leader status
    +

    Ouptut from the standby side:

    +
    Status:
    +Multisite:                Standby
    +Postgres Cluster Status:  Running
    +Events:
    +Type    Reason     Age   From               Message
    +  ----    ------     ----  ----               -------
    +Normal  Demote     62s   patroni            Lost leader lock to s1-multisite-cluster
    +Normal  Multisite  97s   postgres-operator  Multisite switching over to "multisite-cluster" at site "s1"
    +Normal  Multisite  97s   postgres-operator  Successfully started switchover to "multisite-cluster" at "s1"
    +
    +

    + Development environment tips +

    + + + +
    +
    +

    + MetalLB based cross cluster communication with minikube +

    + + + +
    +

    Minikube is a useful distribution for deploying development Kubernetes clusters. With a bit of configuration it is +possible to set up 2 Minikube clusters with MetalLB deployed so that MetalLB assigned IP addresses are accessible +from the other cluster.

    +

    Pre-requisite is to have 2 virtual machines that either are in the same L2 network, or that have a subnet routed to +them.

    +

    This example is based on docker based deployment, same approach might work with other deployment options (e.g. +Virtualbox), but may require some extra configuration tuning.

    +

    Start minikube’s on the two hosts using different internal subnets, and configure and enable the metallb addon to +assign IP addresses from this subnet. The subnets chosen should not be in use for services needed by these two VMs, +but other hosts are not affected by the choice of the subnets.

    +
    # Host A
    +minikube start --subnet=192.168.49.2
    +minikube addons configure metallb
    +-- Enter Load Balancer Start IP: 192.168.49.100
    +-- Enter Load Balancer End IP: 192.168.49.200
    +    ▪ Using image docker.io/metallb/speaker:v0.9.6
    +    ▪ Using image docker.io/metallb/controller:v0.9.6
    +✅  metallb was successfully configured
    +minikube addons enable metallb
    +
    +# Host B
    +minikube start --subnet=192.168.50.2
    +minikube addons configure metallb
    +-- Enter Load Balancer Start IP: 192.168.50.100
    +-- Enter Load Balancer End IP: 192.168.50.200
    +    ▪ Using image docker.io/metallb/speaker:v0.9.6
    +    ▪ Using image docker.io/metallb/controller:v0.9.6
    +✅  metallb was successfully configured
    +minikube addons enable metallb
    +

    On both hosts turn on ip forwarding in sysctl.conf and reload it with sysctl -p

    +
    net.ipv4.ip_forward=1
    +

    In IP tables allow forwarding:

    +
    sudo iptables -A FORWARD -j ACCEPT
    +

    Configure on each host routing to access the other clusters metallb IP range via the other VMs IP address (need to +replace IP addresses and network interfaces with actual ones from the VMs):

    +
    # Host A
    +sudo ip route add 192.168.50.0/24 via 192.168.2.12 dev eth1
    +# Host B
    +sudo ip route add 192.168.49.0/24 via 192.168.2.11 dev eth1
    +

    To check if load balancer works, here’s an example HTTP service:

    +
    apiVersion: apps/v1
    +kind: Deployment
    +metadata:
    +  name: hello-blue-whale
    +spec:
    +  replicas: 1
    +  selector:
    +    matchLabels:
    +      app: hello-blue-whale-app
    +  template:
    +    metadata:
    +      name: hello-blue-whale-pod
    +      labels:
    +        app: hello-blue-whale-app
    +    spec:
    +      containers:
    +      - name: hello-blue-whale-container
    +        image: vamsijakkula/hello-blue-whale:v1
    +        ports:
    +        - containerPort: 80
    +---
    +apiVersion: v1
    +kind: Service
    +metadata:
    +  name: hello-blue-whale-svc
    +  labels:
    +    app: hello-blue-whale-app
    +spec:
    +  selector:
    +    app: hello-blue-whale-app
    +  type: LoadBalancer
    +  ports:
    +  - port: 80
    +    targetPort: 80
    +

    Then check what external ip got assigned to the service (should be the first IP from the range given above).

    +
    kubectl get svc/hello-blue-whale-svc
    +

    And then from the other host use curl to see if the service can be accessed.

    +
    curl -v http://192.168.49.100/
    +

    Other hosts on the same network can have the same routes added to access services in the clusters. If access from +other networks is needed, then the chosen subnets need to be routed to these VMs across your network.

    + +
    + + + + + + + +
    +
    + + + +
    + + + + + + diff --git a/docs/hugo/public/multisite-copy/index.xml b/docs/hugo/public/multisite-copy/index.xml new file mode 100644 index 000000000..2da25b617 --- /dev/null +++ b/docs/hugo/public/multisite-copy/index.xml @@ -0,0 +1,12 @@ + + + + Multisite on CYBERTEC-PG-Operator + http://localhost:1313/CYBERTEC-pg-operator/multisite-copy/ + Recent content in Multisite on CYBERTEC-PG-Operator + Hugo + en + + + + diff --git a/docs/hugo/public/multisite/index.html b/docs/hugo/public/multisite/index.html new file mode 100644 index 000000000..eae2d5a62 --- /dev/null +++ b/docs/hugo/public/multisite/index.html @@ -0,0 +1,5681 @@ + + + + + + + + + + + + + Multisite | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    +
    + + + + +
    + + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
    +
    +
    + + + +
    + + + + + +
    + + + + + + + + + + + +
    + +
    + + +
    + + +
    + + +
    +

    Multisite

    +
    + +
    +

    Multisite is a function specially developed for Patroni that makes it possible to combine two separate Patroni clusters into a common cluster unit. ‘Separate’ in this context means that the clusters run independently of each other and can even be located on different Kubernetes clusters. +With Multisite, both clusters benefit from the well-known Patroni features such as automatic failover and demotion of members, resulting in a significant extension compared to a conventional standby cluster. +This feature significantly improves high availability and redundancy by managing multiple geographically or infrastructurally separated clusters as one logical unit. This allows one cluster to seamlessly transition to another in the event of a failure without having to rely on manual switchovers or third-party replication solutions.

    +
    +

    + Prerequisites +

    + + + +
    +

    In order to set up the multisite PostgreSQL operator you will need the following:

    +
      +
    • Two or more Kubernetes or OpenShift clusters (also possible with bare metal or VMs) +
        +
      • Kubernetes version 1.25+, OpenShift version 4.12+.
      • +
      • Support for defining LoadBalancer services with external IP addresses that are accessible from the other cluster(s).
      • +
      • Persistent volumes with must be available (only ReadWriteOnce capability is needed).
      • +
      +
    • +
    • A separate VM or Kubernetes/OpenShift cluster to provide quorum (if using less then three Kubernetes or OpenShift clusters). +
        +
      • For high availability there should not be a shared point of failure between the quorum and the two Kubernetes clusters.
      • +
      • VM or a LoadBalancer IP must be accessible on ports 2379/2380 to the two other clusters.
      • +
      • 2 vCPU and 2 GB of memory and 20GB of persistent storage is needed for the quorum site.
      • +
      +
    • +
    • Set up etcd cluster with 3 sites accessible from each of the sites. etcd needs to support API version 3.
    • +
    • For backups an object storage system with S3 compatible API is needed. Minio, Ceph and major cloud provider object storages are known to work.
    • +
    + + + + + +
    +
    +
    An additional etcd is set up for Multisite, which spans the Kubernetes or Openshift clusters and must contain the quorum.
    +
    + +
    +

    + Architecture +

    + + + +
    +

    Helm based deployment of the multisite operator contains two helm charts, postgres-operator and postgres-cluster. The first is used to deploy the operator and associated objects to a single Kubernetes cluster. The operator is responsible for managing PostgreSQL clusters based on Custom Resource Definitions (CRDs) of type postgresqls/pg.

    +

    Kubernetes entities

    +

    The diagram contains in green the Helm charts that are used to deploy operator and clusters, in blue the objects +deployed by the operator helm chart and in gold the objects deployed by the cluster chart.

    +

    Operator helm chart deployed objects have the following purposes:

    +
      +
    • deployments/postgres-operator - Deployment for the operator itself.
    • +
    • opconfig/postgres-operator - Operator configuration parameters that are read on operator startup. These apply to +all clusters managed by this operator.
    • +
    • crd/operatorconfigurations.cpo.opensource.cybertec.at - Schema for the operator configuration.
    • +
    • clusterrole/postgres-operator - Defines the Kubernetes API resource access used by the operator. Assigned to +postgres-operator service account.
    • +
    • clusterrole/postgres-pod - The Kubernetes API access needed by database pods. Access is needed to access leader +status, config and other things. This is assigned to postgres-pod service account used by database pods.
    • +
    • crd/postgresqls.cpo.opensource.cybertec.at - Schema for PostgreSQL cluster definitions.
    • +
    • clusterrole/postgres-operator:users:{admin,edit,view} - If rbac.createAggregateClusterRoles is set then user +facing roles are added for accessing the postgresqls CRDs.
    • +
    +

    The cluster chart creates an instance of postgresqls CRD, which will be called cluster manifest from here on. When this +cluster manifest is created operator will create the needed resources for the cluster. These include:

    +
      +
    • +

      statefulset/$clustername - StatefulSet is responsible for creating and managing database pods and their associated +PersistentVolumeClaims for storing the databases. Each database pod will run internally an instance of Patroni +process, which will coordinate over the Kubernetes API initialization of the database, startup, leader election +and other control plane actions.

      +
    • +
    • +

      service/$clustername,endpoints/$clustername - The main access point for users accessing the database. When load +balancer is enabled in the CRD or multisite mode is enabled, this service will be set to be a LoadBalancer service and +accessible from outside the Kubernetes cluster. The service is created without a selector. Instead, for leader +elections database pods will update the IP address of this endpoint to point to the current leader.

      +

      The endpoint also holds annotations that determine the duration of the leader lease.

      +

      In multicluster operation mode the standby site leader will be in read-only mode.

      +
    • +
    • +

      service/$clustername-repl - Service that points to non-leader (read-only) instances of the database cluster.

      +
    • +
    • +

      service/$clustername-config - A headless service with an endpoint that holds Patroni configuration in annotations.

      +
    • +
    • +

      poddisruptionbudget/postgres-$clustername-pdb - A pod disruption budget that does not allow Kubernetes to shut +down pods in leader role. On some Kubernetes clusters kubernetes.enable_pod_disruption_budgets may need to be +turned off to allow nodes to be drained for upgrades.

      +
    • +
    +
    +

    + Multisite mode +

    + + + +
    +

    In multisite operation mode there are multiple independent Kubernetes clusters with operators capable of independent +operation. To coordinate which site has the current leader process the database pods use a shared etcd cluster to +store a leader lease.

    +

    Multisite interactions

    +

    During bootstrap the first site to acquire the leader lease gets to initialize the database contents. Secondary +sites are configured to replicate from primary site using Patroni’s standby_cluster mechanism.

    +

    To be able to communicate between Kubernetes clusters a LoadBalancer service is needed. For this the operator +automatically turns the primary service of the cluster to be of kind LoadBalancer. Operator will wait for an +external IP address to be assigned to this service and passes this information to the database pod. The leader of +each site, whether primary or standby site, will periodically advertise the externally visible IP address for their +site in etcd. Based on this the standby site can configure the standby cluster mechanism to replicate from primary +site.

    +
    +

    + Deployment +

    + + + +
    +

    In multisite mode postgres-operator can manage a replicated PostgreSQL cluster that is deployed across multiple +Kubernetes clusters. Multisite operation can be turned on on a cluster by cluster basis, or can be configured to +default to on for all cluster managed by a single operator.

    +

    Setting up a GR deployment consists of the following steps:

    +
      +
    1. Creating a shared etcd cluster.
    2. +
    3. Configuring multisite operation parameters for the postgres-operator.
    4. +
    5. Creating a multisite enabled cluster.
    6. +
    +
    +

    + Etcd deployment +

    + + + +
    +

    Multisite operation mode requires an etcd cluster to achieve consensus on which site gets to accept write +transactions. This functionality is critical to avoid situations where multiple site accept incompatible writes that +cannot be reconciliated, also known as a split brain scenario.

    +

    A highly available etcd cluster consists of an odd number of nodes, at least 3. It is very important that a quorum +of etcd instances (for 3 node clusters, any two instances) do not share a single point of failure. Otherwise the +write availability of database clusters is limited to this single point of failure. Effectively this means that to +protect 3 node etcd clusters from whole site failure, any site can only contain 1 etcd node and there needs to be +at least 3 sites.

    +

    Postgres-operator is agnostic to the exact method of etcd setup, but for ease of use there is a +Helm chart packaged that demonstrates the +setup.

    +
    +

    + Example etcd setup +

    + + + +
    +

    This example uses one etcd instance deployed outside Kubernetes cluster as quorum. This etcd needs to be started +with the following configuration. Note that IP address that is advertised must be routed to the host that runs this +etcd.

    +
    ETCD_NAME=quorum
    +ETCD_INITIAL_CLUSTER=quorum=http://10.100.1.100:2380
    +ETCD_INITIAL_ADVERTISE_PEER_URLS=http://10.100.1.100:2380
    +ETCD_INITIAL_CLUSTER_TOKEN=hpe_etcd
    +ETCD_ADVERTISE_CLIENT_URLS=http://10.100.1.100:2379
    +ETCD_LISTEN_CLIENT_URLS=http://0.0.0.0:2379
    +ETCD_LISTEN_PEER_URLS=http://0.0.0.0:2380
    +

    Kubernetes clusters can then be joined to this node. This needs to be a two step process as typically the externally +visible IP address or port is not known before creating the LoadBalancer service. For this first create a free standing +loadbalancer service that will be overwritten by the Helm chart.

    +
    helm template global-etcd ./etcd-helm/ -f etcd-helm/site_a.yaml \
    +| awk '/service.yaml/{flag=1;next}/---/{flag=0}flag' \
    +| kubectl apply -f -
    +

    Then check what external IP address the load balancer service got assigned to it.

    +
    $ kubectl get svc -l app.kubernetes.io/instance=global-etcd
    +NAME                    TYPE           CLUSTER-IP       EXTERNAL-IP      PORT(S)                         AGE
    +global-etcd-etcd-helm   LoadBalancer   10.109.171.146   10.200.1.101     2379:32488/TCP,2380:30336/TCP   17h
    +

    And set in the values for the helm chart:

    +
      +
    1. Unique name of the site.
    2. +
    3. Externally visible IP address of this service
    4. +
    5. IP address of existing etcd service.
    6. +
    7. Peer list that includes both existing and to be added etcd instance.
    8. +
    +

    Example:

    +
    site:
    +  name: site_a
    +  host: 10.100.2.101
    +
    +etcd:
    +  existing_etcd_cluster_hostname: 10.100.1.100
    +  token: hpe_etcd
    +  state: existing
    +  peers:
    +  #Peers should only include working peers and the current one
    +  - quorum=http://10.100.1.100:2380
    +  - site_a_etcd0=http://10.100.2.101:2380
    +  client_port: 2379
    +  peer_port: 2380
    +

    Then install the helm chart:

    +
    helm install global-etcd ./etcd-helm/ -f etcd-helm/site_a.yaml
    +

    This then needs to be repeated for the other site.

    +
    +

    + Configuring operator for multisite operations +

    + + + +
    +

    Multisite operation needs at a minimum the configuration options multisite.etcd_host, multisite.site +and multisite.enabled. All of them can be configured either in operator configuration or per cluster.

    +

    multisite.etcd_host needs to point at the global etcd. The port is currently assumed to be 2379. Normally +all clusters under one operator would be using the same etcd clusters, so it makes sense to configure it +in the operator configuration. At runtime database pods will discover the whole etcd cluster member list +and will also take notice of any membership changes. It is enough to use local etcd instance service name +here.

    +

    multisite.site is a unique identifier for this site. It will be prefixed to globally advertised database pod names +to distinguish them from pods in other sites. This also makes sense in the operator configuration.

    +

    multisite.enabled turns of the multisite behavior. Typically it would make sense to control this at the +cluster level, but the default could be turned on globally.

    +

    These parameters are exposed in Helm chart values file as configMultisite.*.

    +

    Example config:

    +
    $ kubectl get opconfig/postgres-operator -o yaml | grep multisite -B1 -A3
    +  min_instances: -1
    +  multisite:
    +    etcd_host: global-etcd-etcd-helm.default.svc.cluster.local
    +    site: s1
    +  postgres_pod_resources:
    +

    This needs to be repeated with a different site name in the second Kubernetes cluster.

    +
    +

    + Creating a multisite enabled postgres cluster +

    + + + +
    +

    If the operator is configured for multisite operation then creating a multisite cluster only needs +enabling of the multisite mode.

    +

    Here is an example values file to use for creating multisite enabled clusters:

    +
    apiVersion: cpo.opensource.cybertec.at/v1
    +kind: postgresql
    +metadata:
    +  name: multisite-cluster
    +  namespace: cpo
    +  labels:
    +    app.kubernetes.io/name: postgres-cluster
    +    app.kubernetes.io/instance: multisite-cluster 
    +spec:
    +  dockerImage: docker.io/cybertecpostgresql/cybertec-pg-container:postgres-multisite-17.4-1
    +  numberOfInstances: 1
    +  postgresql:
    +    version: '17'
    +  resources:
    +    limits:
    +      cpu: 500m
    +      memory: 500Mi
    +    requests:
    +      cpu: 500m
    +      memory: 500Mi
    +  teamId: acid
    +  volume:
    +    size: 5Gi
    +  patroni:
    +    ttl: 30
    +    loop_wait: 10
    +    retry_timeout: 10
    +    multisite:
    +      enable: true
    +

    There is no coordination needed between creating the two or more sites and they can use identical +configuration. The clusters need to be in the same namespace and have the same name to be considered +the same cluster. The first cluster to boot up will acquire multisite leader status and will bootstrap +the database. The other clusters will automatically fetch a copy from the leader cluster and start +replicating.

    +

    Multisite operation needs that the database cluster are capable of communicating with each other. +To do this a load balancer service is created in each cluster for the cluster leader. The operator +then waits for an external IP to be assigned and injects it into the database pods to be used for +advertising their identity.

    +
    +

    + Observing operations +

    + + + +
    +

    If database pods have not been created, the first place to check for information is operator logs. Operator logs can +be checked with the following command (add –follow if you want to observe in real-time):

    +
    kubectl logs $(kubectl get po -l 'app.kubernetes.io/name=postgres-operator' -o name)
    +

    The logs for a successful cluster creation look like this

    +
    time="2023-02-22T15:24:12Z" level=info msg="ADD event has been queued" cluster-name=cpo/multisite-cluster pkg=controller worker=1
    +time="2023-02-22T15:24:12Z" level=info msg="creating a new Postgres cluster" cluster-name=cpo/multisite-cluster pkg=controller worker=1
    +time="2023-02-22T15:24:12Z" level=warning msg="master is not running, generated master endpoint does not contain any addresses" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:12Z" level=info msg="endpoint \"cpo/multisite-cluster\" has been successfully created" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:12Z" level=debug msg="final load balancer source ranges as seen in a service spec (not necessarily applied): [\"0.0.0.0/0\"]" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:12Z" level=info msg="master service \"cpo/multisite-cluster\" has been successfully created" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:12Z" level=info msg="replica service \"cpo/multisite-cluster-repl\" has been successfully created" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:12Z" level=debug msg="team API is disabled" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:12Z" level=debug msg="team API is disabled" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:12Z" level=info msg="users have been initialized" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:12Z" level=info msg="syncing secrets" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:12Z" level=debug msg="created new secret cpo/postgres.multisite-cluster.credentials.postgresql.cpo.opensource.cybertec.at, namespace: default, uid: 75ded2eb-a2c9-4968-a1d7-50d2996baeb3" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:13Z" level=debug msg="created new secret cpo/standby.multisite-cluster.credentials.postgresql.cpo.opensource.cybertec.at, namespace: default, uid: 45a2560a-65a8-4bd5-954f-34d80d8a1894" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:13Z" level=info msg="secrets have been successfully created" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:13Z" level=info msg="pod disruption budget \"cpo/postgres-multisite-cluster-pdb\" has been successfully created" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:13Z" level=info msg="waiting for load balancer IP to be assigned" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:13Z" level=debug msg="created new statefulset \"cpo/multisite-cluster\", uid: \"b83647ea-17f6-40aa-aa0c-b1111e76cdc0\"" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:13Z" level=info msg="statefulset \"cpo/multisite-cluster\" has been successfully created" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:13Z" level=info msg="waiting for the cluster being ready" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:16Z" level=debug msg="Waiting for 1 pods to become ready" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:28Z" level=info msg="pods are ready" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:28Z" level=info msg="Create roles" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:28Z" level=debug msg="closing database connection" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:28Z" level=info msg="users have been successfully created" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:28Z" level=debug msg="closing database connection" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:28Z" level=info msg="databases have been successfully created" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:28Z" level=info msg="found pod disruption budget: \"cpo/postgres-multisite-cluster-pdb\" (uid: \"986a0118-83e7-4736-9843-ec80c0ea9270\")" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:28Z" level=info msg="found statefulset: \"cpo/multisite-cluster\" (uid: \"b83647ea-17f6-40aa-aa0c-b1111e76cdc0\")" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:28Z" level=info msg="found secret: \"cpo/postgres.multisite-cluster.credentials.postgresql.cpo.opensource.cybertec.at\" (uid: \"75ded2eb-a2c9-4968-a1d7-50d2996baeb3\") namesapce: default" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:28Z" level=info msg="found secret: \"cpo/standby.multisite-cluster.credentials.postgresql.cpo.opensource.cybertec.at\" (uid: \"45a2560a-65a8-4bd5-954f-34d80d8a1894\") namesapce: default" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:28Z" level=info msg="found master endpoint: \"cpo/multisite-cluster\" (uid: \"d9f7870e-dd51-4a88-a36a-1c2eb258a31c\")" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:28Z" level=info msg="found master service: \"cpo/multisite-cluster\" (uid: \"4b30df50-ca53-4def-8171-b792c4eefc17\")" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:28Z" level=info msg="found replica service: \"cpo/multisite-cluster-repl\" (uid: \"a77c3a49-3eea-4b6b-92b1-032e13d78f02\")" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:28Z" level=info msg="found pod: \"cpo/multisite-cluster-0\" (uid: \"9b31d378-c9eb-4c1a-8637-e78933187ed7\")" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:28Z" level=info msg="found PVC: \"cpo/pgdata-multisite-cluster-0\" (uid: \"03e66572-27ed-42b4-87bd-825d32131d36\")" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:28Z" level=debug msg="syncing connection pooler (master, replica) from (false, nil) to (false, false)" cluster-name=cpo/multisite-cluster pkg=cluster worker=1
    +time="2023-02-22T15:24:28Z" level=info msg="cluster has been created" cluster-name=cpo/multisite-cluster pkg=controller worker=1
    +

    When database pods have been created, then Patroni logs can be checked from the pod logs:

    +
    kubectl logs multisite-cluster-0
    +

    Successful start of first database pod will have amongst other output the following lines:

    +
    . . .
    +# Kubernetes API access
    +2023-02-22 15:24:21,061 INFO: Selected new K8s API server endpoint https://192.168.49.2:8443
    +. . .
    +# Set ourselves as multisite leader
    +2023-02-22 15:24:21,218 INFO: Selected new etcd server http://192.168.50.101:2379
    +2023-02-22 15:24:21,348 INFO: Running multisite consensus.
    +2023-02-22 15:24:21,349 INFO: Touching member s1-multisite-cluster with {'host': '192.168.49.103', 'port': 5432}
    +2023-02-22 15:24:21,447 INFO: Became multisite leader
    +. . .
    +# Initializing a new empty database
    +2023-02-22 15:24:21,563 INFO: trying to bootstrap a new cluster
    +. . .
    +Success. You can now start the database server using:
    +. . .
    +# Database started
    +2023-02-22 15:24:23,934 INFO: postmaster pid=73
    +. . .
    +# Running global database intitialization script
    +2023-02-22 15:24:25,061 INFO: running post_bootstrap
    +. . .
    +# Bootstrap done 
    +2023-02-22 15:24:26,310 INFO: initialized a new cluster
    +. . .
    +# Repeated information about health every 10s
    +2023-02-22 15:24:26,313 INFO: Lock owner: multisite-cluster-0; I am multisite-cluster-0
    +2023-02-22 15:24:26,361 INFO: Triggering multisite hearbeat
    +2023-02-22 15:24:26,364 INFO: Running multisite consensus.
    +2023-02-22 15:24:26,364 INFO: Multisite has leader and it is us
    +2023-02-22 15:24:26,409 INFO: Updated multisite leader lease
    +2023-02-22 15:24:26,409 INFO: Touching member s1-multisite-cluster with {'host': '192.168.49.103', 'port': 5432}
    +2023-02-22 15:24:26,422 INFO: no action. I am (multisite-cluster-0), the leader with the lock
    +. . .
    +

    Bootstrap of standby on primary site will have these lines:

    +
    . . .
    +# Determine leader
    +2023-02-22 15:47:04,552 INFO: Lock owner: multisite-cluster-0; I am multisite-cluster-1
    +2023-02-22 15:47:04,677 INFO: trying to bootstrap from leader 'multisite-cluster-0'
    +. . .
    +# Data copied to replica successfully
    +2023-02-22 15:47:06,805 INFO: replica has been created using basebackup_fast_xlog
    +2023-02-22 15:47:06,807 INFO: bootstrapped from leader 'multisite-cluster-0'
    +# Postgres up
    +2023-02-22 15:47:07,205 INFO: postmaster pid=73
    +. . .
    +# Normal operation
    +2023-02-22 15:47:08,380 INFO: no action. I am (multisite-cluster-1), a secondary, and following a leader (multisite-cluster-0)
    +

    Standby cluster will have the following information:

    +
    . . .
    +# Discovering multisite status
    +2023-02-22 15:49:58,406 INFO: Running multisite consensus.
    +2023-02-22 15:49:58,407 INFO: Touching member s2-multisite-cluster with {'host': '192.168.50.103', 'port': 5432}
    +2023-02-22 15:49:58,454 INFO: Multisite has leader and it is s1-multisite-cluster
    +2023-02-22 15:49:58,454 INFO: Multisite replicate from Member(index='118', name='s1-multisite-cluster', session='4113060022582527194', data={'host': '192.168.49.103', 'port': 5432})
    +2023-02-22 15:49:58,454 INFO: Setting standby configuration to: {'host': '192.168.49.103', 'port': 5432}
    +2023-02-22 15:49:58,455 INFO: Touching member s2-multisite-cluster with {'host': '192.168.50.103', 'port': 5432}
    +. . .
    +# Acquiring standby site leader status and starting copy from primary site
    +2023-02-22 15:49:58,290 INFO: Lock owner: None; I am multisite-cluster-0
    +2023-02-22 15:49:58,566 INFO: trying to bootstrap a new standby leader
    +. . .
    +# Replica creation successful
    +2023-02-22 15:50:00,326 INFO: replica has been created using basebackup
    +2023-02-22 15:50:00,327 INFO: bootstrapped clone from remote master postgresql://192.168.49.103:5432
    +# Postgres started
    +2023-02-22 15:50:00,577 INFO: postmaster pid=58
    +. . .
    +# Normal operation output of standby leader
    +2023-02-22 15:50:01,835 INFO: Lock owner: multisite-cluster-0; I am multisite-cluster-0
    +2023-02-22 15:50:01,886 INFO: Triggering multisite hearbeat
    +2023-02-22 15:50:01,888 INFO: Running multisite consensus.
    +2023-02-22 15:50:01,888 INFO: Multisite has leader and it is s1-multisite-cluster
    +2023-02-22 15:50:01,888 INFO: Multisite replicate from Member(index='118', name='s1-multisite-cluster', session='4113060022582527194', data={'host': '192.168.49.103', 'port': 5432})
    +2023-02-22 15:50:01,888 INFO: Touching member s2-multisite-cluster with {'host': '192.168.50.103', 'port': 5432}
    +2023-02-22 15:50:01,899 INFO: no action. I am (multisite-cluster-0), the standby leader with the lock
    +

    In case access to PostgreSQL logs is needed, the easiest way is to exec into a running database pod +with kubectl exec -it multisite-cluster-0 -- bash and view the files there. Logs are stored +as /home/postgres/pgdata/pgroot/pg_log/postgresql-*.csv, with one file per weekday.

    +

    Replication state can be queried from PostgreSQL:

    +
    kubectl exec -it $(kubectl get -o name po -l 'spilo-role=master,cluster-name=multisite-cluster') -- su postgres -c \
    +   'psql -xc "SELECT application_name, client_addr, backend_start, write_lag FROM pg_stat_replication"'
    +

    To check how multisite mode is doing one option is to check the etcd state. For example by executing +in any one of your database pods:

    +
    kubectl exec multisite-cluster-0 -- bash -c \
    +'ETCDCTL_API=3 etcdctl --endpoints=http://${MULTISITE_ETCD_HOST}:2379 \
    + get /multisite/${POD_NAMESPACE}/${SCOPE}/{leader,members0}'
    +

    This will output state stored in etcd. Example:

    +
    /multisite/cpo/multisite-cluster/leader
    +s1-multisite-cluster
    +/multisite/cpo/multisite-cluster/members/s1-multisite-cluster
    +{"host":"192.168.49.102","port":5432}
    +/multisite/cpo/multisite-cluster/members/s2-multisite-cluster
    +{"host":"192.168.50.102","port":5432}
    +

    Each cluster state is stored with the prefix /multisite/$NAMESPACE/$CLUSTER_NAME. In this state +there is /leader key storing current leader of the cluster and /members/$SITE_$CLUSTER_NAME for +each sites externally visible service.

    +
    +

    + Triggering switchover manually +

    + + + +
    +

    Sometimes it is necessary to move leader role from one site to another. For this the operator REST API has an endpoint +named /clusters/$namespace/$cluster/multisite/. This accepts a POST request with a request JSON. The document has the +following attributes:

    +
      +
    • switchover_to: name of the site that should become the new multisite leader.
    • +
    +

    Example:

    +
    curl --data-raw '{"switchover_to": "s1"}' -H "Content-type: application/json" \
    +    http://postgres-operator.default.svc.cluster.local:8080/clusters/cpo/multisite-cluster/multisite/
    +

    The POST request to this endpoint will return immediately when the switchover request has been registered. The +actual switchover process will take some time to coordinate.

    +
    +

    + Observing multisite status +

    + + + +
    +

    Current multisite status is published to cluster CRD status subresource in Multisite field. The possible values +are Leader and Standby. When the role changes there will also be an event published.

    +

    Example output from a kubectl describe on the cluster CRD resource:

    +
    Status:
    +  Multisite:                Leader
    +  Postgres Cluster Status:  Running
    +Events:
    +  Type    Reason   Age   From     Message
    +  ----    ------   ----  ----     -------
    +  Normal  Promote  13s   patroni  Acquired multisite leader status
    +

    Ouptut from the standby side:

    +
    Status:
    +Multisite:                Standby
    +Postgres Cluster Status:  Running
    +Events:
    +Type    Reason     Age   From               Message
    +  ----    ------     ----  ----               -------
    +Normal  Demote     62s   patroni            Lost leader lock to s1-multisite-cluster
    +Normal  Multisite  97s   postgres-operator  Multisite switching over to "multisite-cluster" at site "s1"
    +Normal  Multisite  97s   postgres-operator  Successfully started switchover to "multisite-cluster" at "s1"
    +
    +

    + Development environment tips +

    + + + +
    +
    +

    + MetalLB based cross cluster communication with minikube +

    + + + +
    +

    Minikube is a useful distribution for deploying development Kubernetes clusters. With a bit of configuration it is +possible to set up 2 Minikube clusters with MetalLB deployed so that MetalLB assigned IP addresses are accessible +from the other cluster.

    +

    Pre-requisite is to have 2 virtual machines that either are in the same L2 network, or that have a subnet routed to +them.

    +

    This example is based on docker based deployment, same approach might work with other deployment options (e.g. +Virtualbox), but may require some extra configuration tuning.

    +

    Start minikube’s on the two hosts using different internal subnets, and configure and enable the metallb addon to +assign IP addresses from this subnet. The subnets chosen should not be in use for services needed by these two VMs, +but other hosts are not affected by the choice of the subnets.

    +
    # Host A
    +minikube start --subnet=192.168.49.2
    +minikube addons configure metallb
    +-- Enter Load Balancer Start IP: 192.168.49.100
    +-- Enter Load Balancer End IP: 192.168.49.200
    +    ▪ Using image docker.io/metallb/speaker:v0.9.6
    +    ▪ Using image docker.io/metallb/controller:v0.9.6
    +✅  metallb was successfully configured
    +minikube addons enable metallb
    +
    +# Host B
    +minikube start --subnet=192.168.50.2
    +minikube addons configure metallb
    +-- Enter Load Balancer Start IP: 192.168.50.100
    +-- Enter Load Balancer End IP: 192.168.50.200
    +    ▪ Using image docker.io/metallb/speaker:v0.9.6
    +    ▪ Using image docker.io/metallb/controller:v0.9.6
    +✅  metallb was successfully configured
    +minikube addons enable metallb
    +

    On both hosts turn on ip forwarding in sysctl.conf and reload it with sysctl -p

    +
    net.ipv4.ip_forward=1
    +

    In IP tables allow forwarding:

    +
    sudo iptables -A FORWARD -j ACCEPT
    +

    Configure on each host routing to access the other clusters metallb IP range via the other VMs IP address (need to +replace IP addresses and network interfaces with actual ones from the VMs):

    +
    # Host A
    +sudo ip route add 192.168.50.0/24 via 192.168.2.12 dev eth1
    +# Host B
    +sudo ip route add 192.168.49.0/24 via 192.168.2.11 dev eth1
    +

    To check if load balancer works, here’s an example HTTP service:

    +
    apiVersion: apps/v1
    +kind: Deployment
    +metadata:
    +  name: hello-blue-whale
    +spec:
    +  replicas: 1
    +  selector:
    +    matchLabels:
    +      app: hello-blue-whale-app
    +  template:
    +    metadata:
    +      name: hello-blue-whale-pod
    +      labels:
    +        app: hello-blue-whale-app
    +    spec:
    +      containers:
    +      - name: hello-blue-whale-container
    +        image: vamsijakkula/hello-blue-whale:v1
    +        ports:
    +        - containerPort: 80
    +---
    +apiVersion: v1
    +kind: Service
    +metadata:
    +  name: hello-blue-whale-svc
    +  labels:
    +    app: hello-blue-whale-app
    +spec:
    +  selector:
    +    app: hello-blue-whale-app
    +  type: LoadBalancer
    +  ports:
    +  - port: 80
    +    targetPort: 80
    +

    Then check what external ip got assigned to the service (should be the first IP from the range given above).

    +
    kubectl get svc/hello-blue-whale-svc
    +

    And then from the other host use curl to see if the service can be accessed.

    +
    curl -v http://192.168.49.100/
    +

    Other hosts on the same network can have the same routes added to access services in the clusters. If access from +other networks is needed, then the chosen subnets need to be routed to these VMs across your network.

    + +
    + + + + + + + +
    +
    + + + +
    + + + + + + diff --git a/docs/hugo/public/multisite/index.xml b/docs/hugo/public/multisite/index.xml new file mode 100644 index 000000000..55d84c9fa --- /dev/null +++ b/docs/hugo/public/multisite/index.xml @@ -0,0 +1,12 @@ + + + + Multisite on CYBERTEC-PG-Operator + http://localhost:1313/CYBERTEC-pg-operator/multisite/ + Recent content in Multisite on CYBERTEC-PG-Operator + Hugo + en + + + + diff --git a/docs/hugo/public/pg-versioning/index.html b/docs/hugo/public/pg-versioning/index.html new file mode 100644 index 000000000..781be669b --- /dev/null +++ b/docs/hugo/public/pg-versioning/index.html @@ -0,0 +1,5179 @@ + + + + + + + + + + + + + Major version Upgrade | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    +
    + + + + +
    + + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
    +
    +
    + + + +
    + + + + + +
    + + + + + + + + + + + +
    + +
    + + +
    + + +
    + + +
    +

    Major version Upgrade

    +
    + +
    +

    CPO enables the use of the in-place upgrade, which makes it possible to upgrade a cluster to a new PG major. For this purpose, pg_upgrade is used in the background.

    +
    +

    PAY ATTENTION: Note that an in-place upgrade generates both a pod restore in the form of a rolling update and an operational interruption of the cluster during the actual execution of the restore.

    +
    +

    + How does the upgrade work? +

    + + + +
    +
    +

    + Preconditions: +

    + + + +
    +
      +
    1. Pod restart - Use the rolling update strategy to replace all pods based on the new ENV PGVERSION with the version you want to update to.
    2. +
    3. Check - Check that the new PGVERSION is larger than the previously used one.
    4. +
    5. Check whether the new PGVERSION is larger than the previously used one and the maintenance mode of the cluster must be deactivated. In addition, the replicas should not have a high lag.
    6. +
    +
    +

    + Preliminary checks +

    + + + +
    +
      +
    1. use initdb to prepare a new data_dir (data_new) based on the new PGVERSION.
    2. +
    3. check the upgrade possibility with pg_upgrade --check
    4. +
    +
    +

    HINT: If one of the steps is aborted, a cleanup is performed

    +
    +

    + Prepare the Upgrade +

    + + + +
    +
      +
    1. remove dependencies that can cause problems. For example, the extensions pg_stat_statements and pgaudit.
    2. +
    3. activate the maintenance mode of the cluster
    4. +
    5. terminate PostgreSQL in an orderly manner
    6. +
    7. check pg_controldata for the checkpoint position and wait until all replicas apply the latest checkpoint location
    8. +
    9. use port 5432 for rsyncd and start it
    10. +
    +
    +

    + Start the Upgrade +

    + + + +
    +
      +
    1. Call pg_upgrade -k to start the Upgrade
    2. +
    +
    +

    ATTENTION if the process failed, we need to rollback, if it was sucessful we’re reaching the point of no return

    +
      +
    1. Rename the directories. data -> data_old and data_new -> data
    2. +
    3. Update the Patroni.config (postgres.yml)
    4. +
    5. Call Checkpoint on every replica and trigger rsync on the Replicas
    6. +
    7. Wait for Replicas to complete rsxnc. Timeout: 300
    8. +
    9. Stop rsyncd on Primary and remove ininitialize key from DCS, because its based on the old sysid
    10. +
    11. Start Patroni on the Primary and start the postgres locally
    12. +
    13. Reset custom staticstics, warmup the Memory and start Analyze in stages in separate threads
    14. +
    15. Wait for every Replica to become ready
    16. +
    17. Disable the maintenance mode for the Cluster
    18. +
    19. Restore custom statistics, analyze these tables and restore dropped objetcs from Prepare the upgrade
    20. +
    +
    +

    + Completion of the upgrade +

    + + + +
    +
      +
    1. Drop directory data_old
    2. +
    3. Trigger new Backup
    4. +
    +
    +

    + How a rollback is working? +

    + + + +
    +
      +
    1. Stop rsynd if its running
    2. +
    3. Disable the maintenance mode for the Cluster
    4. +
    5. Drop directory data_new
    6. +
    +
    +

    + How to trigger a In-Place-Upgrade with cpo? +

    + + + +
    +
    spec:
    +  postgresql:
    +    version: "17"
    +

    To trigger an In-Place-Upgrade you have just to increase the parameter spec.postgresql.version. If you choose a valid number the Operator will start with the prozedure, described above. +If you choosse a not allowed value, you will give an error and if you decrease the value, the operator will just ignore it with the following log-Entry.

    +
    Operator-Log
    +
    +
    + + + + + + + +
    +
    + + + +
    + + + + + + diff --git a/docs/hugo/public/pg-versioning/index.xml b/docs/hugo/public/pg-versioning/index.xml new file mode 100644 index 000000000..f6e7eb01d --- /dev/null +++ b/docs/hugo/public/pg-versioning/index.xml @@ -0,0 +1,12 @@ + + + + Major version Upgrade on CYBERTEC-PG-Operator + http://localhost:1313/CYBERTEC-pg-operator/pg-versioning/ + Recent content in Major version Upgrade on CYBERTEC-PG-Operator + Hugo + en + + + + diff --git a/docs/hugo/public/pg_versioning/_index-copy/index.html b/docs/hugo/public/pg_versioning/_index-copy/index.html new file mode 100644 index 000000000..a0d484da6 --- /dev/null +++ b/docs/hugo/public/pg_versioning/_index-copy/index.html @@ -0,0 +1,5292 @@ + + + + + + + + + + + + + Major version Upgrade | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    +
    + + + + +
    + + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
    +
    +
    + + + +
    + + + + + +
    + + + + + + + + + + + +
    + +
    + + +
    + + +
    + + +
    +

    Major version Upgrade

    +
    +
    + +

    CPO enables the use of the in-place upgrade, which makes it possible to upgrade a cluster to a new PG major. For this purpose, pg_upgrade is used in the background.

    +
    +

    PAY ATTENTION: Note that an in-place upgrade generates both a pod restore in the form of a rolling update and an operational interruption of the cluster during the actual execution of the restore.

    +
    +

    + How does the upgrade work? +

    + + + +
    +
    +

    + Preconditions: +

    + + + +
    +
      +
    1. Pod restart - Use the rolling update strategy to replace all pods based on the new ENV PGVERSION with the version you want to update to.
    2. +
    3. Check - Check that the new PGVERSION is larger than the previously used one.
    4. +
    5. Check whether the new PGVERSION is larger than the previously used one and the maintenance mode of the cluster must be deactivated. In addition, the replicas should not have a high lag.
    6. +
    +
    +

    + Preliminary checks +

    + + + +
    +
      +
    1. use initdb to prepare a new data_dir (data_new) based on the new PGVERSION.
    2. +
    3. check the upgrade possibility with pg_upgrade --check
    4. +
    +
    +

    HINT: If one of the steps is aborted, a cleanup is performed

    +
    +

    + Prepare the Upgrade +

    + + + +
    +
      +
    1. remove dependencies that can cause problems. For example, the extensions pg_stat_statements and pgaudit.
    2. +
    3. activate the maintenance mode of the cluster
    4. +
    5. terminate PostgreSQL in an orderly manner
    6. +
    7. check pg_controldata for the checkpoint position and wait until all replicas apply the latest checkpoint location
    8. +
    9. use port 5432 for rsyncd and start it
    10. +
    +
    +

    + Start the Upgrade +

    + + + +
    +
      +
    1. Call pg_upgrade -k to start the Upgrade
    2. +
    +
    +

    ATTENTION if the process failed, we need to rollback, if it was sucessful we’re reaching the point of no return

    +
      +
    1. Rename the directories. data -> data_old and data_new -> data
    2. +
    3. Update the Patroni.config (postgres.yml)
    4. +
    5. Call Checkpoint on every replica and trigger rsync on the Replicas
    6. +
    7. Wait for Replicas to complete rsxnc. Timeout: 300
    8. +
    9. Stop rsyncd on Primary and remove ininitialize key from DCS, because its based on the old sysid
    10. +
    11. Start Patroni on the Primary and start the postgres locally
    12. +
    13. Reset custom staticstics, warmup the Memory and start Analyze in stages in separate threads
    14. +
    15. Wait for every Replica to become ready
    16. +
    17. Disable the maintenance mode for the Cluster
    18. +
    19. Restore custom statistics, analyze these tables and restore dropped objetcs from Prepare the upgrade
    20. +
    +
    +

    + Completion of the upgrade +

    + + + +
    +
      +
    1. Drop directory data_old
    2. +
    3. Trigger new Backup
    4. +
    +
    +

    + How a rollback is working? +

    + + + +
    +
      +
    1. Stop rsynd if its running
    2. +
    3. Disable the maintenance mode for the Cluster
    4. +
    5. Drop directory data_new
    6. +
    +
    +

    + How to trigger a In-Place-Upgrade with cpo? +

    + + + +
    +
    spec:
    +  postgresql:
    +    version: "17"
    +

    To trigger an In-Place-Upgrade you have just to increase the parameter spec.postgresql.version. If you choose a valid number the Operator will start with the prozedure, described above. +If you choosse a not allowed value, you will give an error and if you decrease the value, the operator will just ignore it with the following log-Entry.

    +
    Operator-Log
    +
    +
    + + + + + + + +
    +
    + + + +
    + + + + + + diff --git a/docs/hugo/public/pg_versioning/index.html b/docs/hugo/public/pg_versioning/index.html new file mode 100644 index 000000000..d26869d33 --- /dev/null +++ b/docs/hugo/public/pg_versioning/index.html @@ -0,0 +1,5081 @@ + + + + + + + + + + + + PG versioning | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    +
    + + + + +
    + + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
    +
    +
    + + + +
    + + + + + +
    + + + + + + + + + + + +
    + +
    + + +
    + + +
    + + +
    +

    PG versioning

    +
    + +
    + +
    + + + + + + + +
    +
    + + + +
    + + + + + + diff --git a/docs/hugo/public/pg_versioning/index.xml b/docs/hugo/public/pg_versioning/index.xml new file mode 100644 index 000000000..4e5acfbef --- /dev/null +++ b/docs/hugo/public/pg_versioning/index.xml @@ -0,0 +1,26 @@ + + + + PG versioning on CYBERTEC-PG-Operator + http://localhost:1313/CYBERTEC-pg-operator/pg_versioning/ + Recent content in PG versioning on CYBERTEC-PG-Operator + Hugo + en + Thu, 28 Dec 2023 14:26:51 +0100 + + + Minor version update + http://localhost:1313/CYBERTEC-pg-operator/pg_versioning/minor_updates/ + Thu, 28 Dec 2023 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/pg_versioning/minor_updates/ + <p>Minor version updates for PostgreSQL are performed by updating the PostgreSQL container image in use. With the update object <code>spec.dockerImage</code> of the cluster manifest, the operator takes over the update based on the rolling update strategy. This means that the pods are replaced one after the other, with the replicas being updated first and then the old primary after a switchover. The operational interruption should generally last less than 5 seconds (switchover time), but the clients must still reconnect.</p> + + + Major version upgrade + http://localhost:1313/CYBERTEC-pg-operator/pg_versioning/major_upgrades/ + Thu, 28 Dec 2023 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/pg_versioning/major_upgrades/ + <p>CPO enables the use of the in-place upgrade, which makes it possible to upgrade a cluster to a new PG major. For this purpose, pg_upgrade is used in the background.</p> <blockquote class="gdoc-hint info"> <div class="gdoc-hint__title flex align-center"><i class="fa info" title="Info"></i></div> <div class="gdoc-hint__text">Note that an in-place upgrade generates both a pod restore in the form of a rolling update and an operational interruption of the cluster during the actual execution of the restore.</div> </blockquote> <div class="flex align-center gdoc-page__anchorwrap"> <h2 id="how-does-the-upgrade-work" > How does the upgrade work? </h2> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/pg_versioning/major_upgrades/#how-does-the-upgrade-work" class="gdoc-page__anchor clip flex align-center" title="Anchor to: How does the upgrade work?" aria-label="Anchor to: How does the upgrade work?" href="#how-does-the-upgrade-work"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <div class="flex align-center gdoc-page__anchorwrap"> <h3 id="preconditions" > Preconditions: </h3> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/pg_versioning/major_upgrades/#preconditions" class="gdoc-page__anchor clip flex align-center" title="Anchor to: Preconditions:" aria-label="Anchor to: Preconditions:" href="#preconditions"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <ol> <li>Pod restart - Use the rolling update strategy to replace all pods based on the new ENV <code>PGVERSION</code> with the version you want to update to.</li> <li>Check - Check that the new <code>PGVERSION</code> is larger than the previously used one.</li> <li>Check whether the new <code>PGVERSION</code> is larger than the previously used one and the maintenance mode of the cluster must be deactivated. In addition, the replicas should not have a high lag.</li> </ol> <div class="flex align-center gdoc-page__anchorwrap"> <h3 id="preliminary-checks" > Preliminary checks </h3> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/pg_versioning/major_upgrades/#preliminary-checks" class="gdoc-page__anchor clip flex align-center" title="Anchor to: Preliminary checks" aria-label="Anchor to: Preliminary checks" href="#preliminary-checks"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <ol> <li>use initdb to prepare a new data_dir (<code>data_new</code>) based on the new <code>PGVERSION</code>.</li> <li>check the upgrade possibility with <code>pg_upgrade --check</code></li> </ol> <blockquote class="gdoc-hint info"> <div class="gdoc-hint__title flex align-center"><i class="fa info" title="Info"></i></div> <div class="gdoc-hint__text">If one of the steps is aborted, a cleanup is performed</div> </blockquote> <div class="flex align-center gdoc-page__anchorwrap"> <h3 id="prepare-the-upgrade" > Prepare the Upgrade </h3> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/pg_versioning/major_upgrades/#prepare-the-upgrade" class="gdoc-page__anchor clip flex align-center" title="Anchor to: Prepare the Upgrade" aria-label="Anchor to: Prepare the Upgrade" href="#prepare-the-upgrade"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <ol> <li>remove dependencies that can cause problems. For example, the extensions <code>pg_stat_statements</code> and <code>pgaudit</code>.</li> <li>activate the maintenance mode of the cluster</li> <li>terminate PostgreSQL in an orderly manner</li> <li>check pg_controldata for the checkpoint position and wait until all replicas apply the latest checkpoint location</li> <li>use port <code>5432</code> for rsyncd and start it</li> </ol> <div class="flex align-center gdoc-page__anchorwrap"> <h3 id="start-the-upgrade" > Start the Upgrade </h3> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/pg_versioning/major_upgrades/#start-the-upgrade" class="gdoc-page__anchor clip flex align-center" title="Anchor to: Start the Upgrade" aria-label="Anchor to: Start the Upgrade" href="#start-the-upgrade"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <ol> <li>Call pg_upgrade -k to start the Upgrade <blockquote class="gdoc-hint info"> <div class="gdoc-hint__title flex align-center"><i class="fa info" title="Info"></i></div> <div class="gdoc-hint__text">if the process failed, we need to rollback, if it was sucessful we&rsquo;re reaching the point of no return</div> </blockquote> </li> <li>Rename the directories. <code>data -&gt; data_old</code> and <code>data_new -&gt; data</code></li> <li>Update the Patroni.config (<code>postgres.yml</code>)</li> <li>Call Checkpoint on every replica and trigger rsync on the Replicas</li> <li>Wait for Replicas to complete rsxnc. <code>Timeout: 300</code></li> <li>Stop rsyncd on Primary and remove ininitialize key from DCS, because its based on the old sysid</li> <li>Start Patroni on the Primary and start the postgres locally</li> <li>Reset custom staticstics, warmup the Memory and start Analyze in stages in separate threads</li> <li>Wait for every Replica to become ready</li> <li>Disable the maintenance mode for the Cluster</li> <li>Restore custom statistics, analyze these tables and restore dropped objetcs from <code>Prepare the upgrade</code></li> </ol> <div class="flex align-center gdoc-page__anchorwrap"> <h3 id="completion-of-the-upgrade" > Completion of the upgrade </h3> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/pg_versioning/major_upgrades/#completion-of-the-upgrade" class="gdoc-page__anchor clip flex align-center" title="Anchor to: Completion of the upgrade" aria-label="Anchor to: Completion of the upgrade" href="#completion-of-the-upgrade"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <ol> <li>Drop directory <code>data_old</code></li> <li>Trigger new Backup</li> </ol> <div class="flex align-center gdoc-page__anchorwrap"> <h3 id="how-a-rollback-is-working" > How a rollback is working? </h3> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/pg_versioning/major_upgrades/#how-a-rollback-is-working" class="gdoc-page__anchor clip flex align-center" title="Anchor to: How a rollback is working?" aria-label="Anchor to: How a rollback is working?" href="#how-a-rollback-is-working"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <ol> <li>Stop rsynd if its running</li> <li>Disable the maintenance mode for the Cluster</li> <li>Drop directory <code>data_new</code></li> </ol> <div class="flex align-center gdoc-page__anchorwrap"> <h2 id="how-to-trigger-a-in-place-upgrade-with-cpo" > How to trigger a In-Place-Upgrade with cpo? </h2> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/pg_versioning/major_upgrades/#how-to-trigger-a-in-place-upgrade-with-cpo" class="gdoc-page__anchor clip flex align-center" title="Anchor to: How to trigger a In-Place-Upgrade with cpo?" aria-label="Anchor to: How to trigger a In-Place-Upgrade with cpo?" href="#how-to-trigger-a-in-place-upgrade-with-cpo"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <pre tabindex="0"><code>spec: postgresql: version: &#34;17&#34; </code></pre><p>To trigger an In-Place-Upgrade you have just to increase the parameter <code>spec.postgresql.version</code>. If you choose a valid number the Operator will start with the prozedure, described above.</p> + + + diff --git a/docs/hugo/public/pg_versioning/major_upgrades-copy/index.html b/docs/hugo/public/pg_versioning/major_upgrades-copy/index.html new file mode 100644 index 000000000..7fac46bec --- /dev/null +++ b/docs/hugo/public/pg_versioning/major_upgrades-copy/index.html @@ -0,0 +1,5343 @@ + + + + + + + + + + + + + Major version Upgrade | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    +
    + + + + +
    + + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
    +
    +
    + + + +
    + + + + + +
    + + + + + + + + + + + +
    + +
    + + +
    + + +
    + + +
    +

    Major version Upgrade

    +
    +
    + +

    CPO enables the use of the in-place upgrade, which makes it possible to upgrade a cluster to a new PG major. For this purpose, pg_upgrade is used in the background.

    +
    +

    PAY ATTENTION: Note that an in-place upgrade generates both a pod restore in the form of a rolling update and an operational interruption of the cluster during the actual execution of the restore.

    +
    +

    + How does the upgrade work? +

    + + + +
    +
    +

    + Preconditions: +

    + + + +
    +
      +
    1. Pod restart - Use the rolling update strategy to replace all pods based on the new ENV PGVERSION with the version you want to update to.
    2. +
    3. Check - Check that the new PGVERSION is larger than the previously used one.
    4. +
    5. Check whether the new PGVERSION is larger than the previously used one and the maintenance mode of the cluster must be deactivated. In addition, the replicas should not have a high lag.
    6. +
    +
    +

    + Preliminary checks +

    + + + +
    +
      +
    1. use initdb to prepare a new data_dir (data_new) based on the new PGVERSION.
    2. +
    3. check the upgrade possibility with pg_upgrade --check
    4. +
    +
    +

    HINT: If one of the steps is aborted, a cleanup is performed

    +
    +

    + Prepare the Upgrade +

    + + + +
    +
      +
    1. remove dependencies that can cause problems. For example, the extensions pg_stat_statements and pgaudit.
    2. +
    3. activate the maintenance mode of the cluster
    4. +
    5. terminate PostgreSQL in an orderly manner
    6. +
    7. check pg_controldata for the checkpoint position and wait until all replicas apply the latest checkpoint location
    8. +
    9. use port 5432 for rsyncd and start it
    10. +
    +
    +

    + Start the Upgrade +

    + + + +
    +
      +
    1. Call pg_upgrade -k to start the Upgrade
    2. +
    +
    +

    ATTENTION if the process failed, we need to rollback, if it was sucessful we’re reaching the point of no return

    +
      +
    1. Rename the directories. data -> data_old and data_new -> data
    2. +
    3. Update the Patroni.config (postgres.yml)
    4. +
    5. Call Checkpoint on every replica and trigger rsync on the Replicas
    6. +
    7. Wait for Replicas to complete rsxnc. Timeout: 300
    8. +
    9. Stop rsyncd on Primary and remove ininitialize key from DCS, because its based on the old sysid
    10. +
    11. Start Patroni on the Primary and start the postgres locally
    12. +
    13. Reset custom staticstics, warmup the Memory and start Analyze in stages in separate threads
    14. +
    15. Wait for every Replica to become ready
    16. +
    17. Disable the maintenance mode for the Cluster
    18. +
    19. Restore custom statistics, analyze these tables and restore dropped objetcs from Prepare the upgrade
    20. +
    +
    +

    + Completion of the upgrade +

    + + + +
    +
      +
    1. Drop directory data_old
    2. +
    3. Trigger new Backup
    4. +
    +
    +

    + How a rollback is working? +

    + + + +
    +
      +
    1. Stop rsynd if its running
    2. +
    3. Disable the maintenance mode for the Cluster
    4. +
    5. Drop directory data_new
    6. +
    +
    +

    + How to trigger a In-Place-Upgrade with cpo? +

    + + + +
    +
    spec:
    +  postgresql:
    +    version: "17"
    +

    To trigger an In-Place-Upgrade you have just to increase the parameter spec.postgresql.version. If you choose a valid number the Operator will start with the prozedure, described above. +If you choosse a not allowed value, you will give an error and if you decrease the value, the operator will just ignore it with the following log-Entry.

    +
    Operator-Log
    +
    +
    + + + + + + + +
    +
    + + + +
    + + + + + + diff --git a/docs/hugo/public/pg_versioning/major_upgrades/index.html b/docs/hugo/public/pg_versioning/major_upgrades/index.html new file mode 100644 index 000000000..4a0f24e55 --- /dev/null +++ b/docs/hugo/public/pg_versioning/major_upgrades/index.html @@ -0,0 +1,5275 @@ + + + + + + + + + + + + + Major version upgrade | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    +
    + + + + +
    + + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
    +
    +
    + + + +
    + + + + + +
    + + + + + + + + + + + +
    + +
    + + +
    + + +
    + + +
    +

    Major version upgrade

    +
    +
    + +

    CPO enables the use of the in-place upgrade, which makes it possible to upgrade a cluster to a new PG major. For this purpose, pg_upgrade is used in the background.

    + + + + + +
    +
    +
    Note that an in-place upgrade generates both a pod restore in the form of a rolling update and an operational interruption of the cluster during the actual execution of the restore.
    +
    + +
    +

    + How does the upgrade work? +

    + + + +
    +
    +

    + Preconditions: +

    + + + +
    +
      +
    1. Pod restart - Use the rolling update strategy to replace all pods based on the new ENV PGVERSION with the version you want to update to.
    2. +
    3. Check - Check that the new PGVERSION is larger than the previously used one.
    4. +
    5. Check whether the new PGVERSION is larger than the previously used one and the maintenance mode of the cluster must be deactivated. In addition, the replicas should not have a high lag.
    6. +
    +
    +

    + Preliminary checks +

    + + + +
    +
      +
    1. use initdb to prepare a new data_dir (data_new) based on the new PGVERSION.
    2. +
    3. check the upgrade possibility with pg_upgrade --check
    4. +
    + + + + + +
    +
    +
    If one of the steps is aborted, a cleanup is performed
    +
    + +
    +

    + Prepare the Upgrade +

    + + + +
    +
      +
    1. remove dependencies that can cause problems. For example, the extensions pg_stat_statements and pgaudit.
    2. +
    3. activate the maintenance mode of the cluster
    4. +
    5. terminate PostgreSQL in an orderly manner
    6. +
    7. check pg_controldata for the checkpoint position and wait until all replicas apply the latest checkpoint location
    8. +
    9. use port 5432 for rsyncd and start it
    10. +
    +
    +

    + Start the Upgrade +

    + + + +
    +
      +
    1. Call pg_upgrade -k to start the Upgrade + + + + + +
      +
      +
      if the process failed, we need to rollback, if it was sucessful we’re reaching the point of no return
      +
      +
    2. +
    3. Rename the directories. data -> data_old and data_new -> data
    4. +
    5. Update the Patroni.config (postgres.yml)
    6. +
    7. Call Checkpoint on every replica and trigger rsync on the Replicas
    8. +
    9. Wait for Replicas to complete rsxnc. Timeout: 300
    10. +
    11. Stop rsyncd on Primary and remove ininitialize key from DCS, because its based on the old sysid
    12. +
    13. Start Patroni on the Primary and start the postgres locally
    14. +
    15. Reset custom staticstics, warmup the Memory and start Analyze in stages in separate threads
    16. +
    17. Wait for every Replica to become ready
    18. +
    19. Disable the maintenance mode for the Cluster
    20. +
    21. Restore custom statistics, analyze these tables and restore dropped objetcs from Prepare the upgrade
    22. +
    +
    +

    + Completion of the upgrade +

    + + + +
    +
      +
    1. Drop directory data_old
    2. +
    3. Trigger new Backup
    4. +
    +
    +

    + How a rollback is working? +

    + + + +
    +
      +
    1. Stop rsynd if its running
    2. +
    3. Disable the maintenance mode for the Cluster
    4. +
    5. Drop directory data_new
    6. +
    +
    +

    + How to trigger a In-Place-Upgrade with cpo? +

    + + + +
    +
    spec:
    +  postgresql:
    +    version: "17"
    +

    To trigger an In-Place-Upgrade you have just to increase the parameter spec.postgresql.version. If you choose a valid number the Operator will start with the prozedure, described above.

    +
    kubectl patch postgresqls.cpo.opensource.cybertec.at cluster-1 --type='merge' -p \
    +'{"spec":{"postgresql":{"version":"17"}}}'
    +
    +

    + Upgrade on cloning +

    + + + +
    +

    When cloning, the new cluster manifest must have a higher version number than the source cluster and is created from a base backup. Depending on the cluster size, the downtime can be considerable in this case, as write operations in the database should be stopped and all WAL files should be archived first before cloning is started. Therefore, only use cloning to test major version upgrades and to check the compatibility of your app with the Postgres server of a higher version.

    +
    +

    + manual upgrade via the PostgreSQL container +

    + + + +
    +

    In this scenario the major version could then be run by a user from within the primary pod. Exec into the container and run:

    +
    python3 /scripts/inplace_upgrade.py N
    +

    where N is the number of members of your cluster (see numberOfInstances). The upgrade is usually fast, well under one minute for most DBs.

    + + + + + +
    +
    +
    Note, that changes become irrevertible once pg_upgrade is called.
    +
    + + +
    + + + + + + + +
    +
    + + + +
    + + + + + + diff --git a/docs/hugo/public/pg_versioning/minor_updates/index.html b/docs/hugo/public/pg_versioning/minor_updates/index.html new file mode 100644 index 000000000..26e0326a1 --- /dev/null +++ b/docs/hugo/public/pg_versioning/minor_updates/index.html @@ -0,0 +1,5210 @@ + + + + + + + + + + + + + Minor version update | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    +
    + + + + +
    + + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
    +
    +
    + + + +
    + + + + + +
    + + + + + + + + + + + +
    + +
    + + +
    + + +
    + + +
    +

    Minor version update

    +
    +
    + +

    Minor version updates for PostgreSQL are performed by updating the PostgreSQL container image in use. +With the update object spec.dockerImage of the cluster manifest, the operator takes over the update based on the rolling update strategy. This means that the pods are replaced one after the other, with the replicas being updated first and then the old primary after a switchover. The operational interruption should generally last less than 5 seconds (switchover time), but the clients must still reconnect.

    +

    If necessary, the operator also supports the downgrade of minor releases in the same way.

    +

    To install minor version updates, PostgreSQL only requires the binaries to be replaced and the database to be restarted. For more information see PostgreSQL - Versioning Policy

    + + + + + +
    +
    +
    This procedure can also be used for all other containers in a cluster. Whether sidecars, exporter, pooler or backup image
    +
    + +
    +

    + Preconditions: +

    + + + +
    +
      +
    1. Check if there is a newer image for the PostgreSQL container - Check on Docker hub
    2. +
    3. Check - Check that the new PGVERSION is larger than the previously used one.
    4. +
    5. Check whether the new PGVERSION is larger than the previously used one and the maintenance mode of the cluster must be deactivated. In addition, the replicas should not have a high lag.
    6. +
    +
    +

    + Updating PostgreSQL-Container-Image +

    + + + +
    +

    Old-Manifest:

    +
    apiVersion: cpo.opensource.cybertec.at/v1
    +kind: postgresql
    +metadata:
    +  name: cluster-1
    +  namespace: cpo
    +spec:
    +  dockerImage: 'docker.io/cybertecpostgresql/cybertec-pg-container:postgres-17.3-1'
    +

    New-Manifest:

    +
    apiVersion: cpo.opensource.cybertec.at/v1
    +kind: postgresql
    +metadata:
    +  name: cluster-1
    +  namespace: cpo
    +spec:
    +  dockerImage: 'docker.io/cybertecpostgresql/cybertec-pg-container:postgres-17.4-1'
    +
    +

    + Updating via kubectl/oc-client +

    + + + +
    +
    kubectl patch postgresqls.cpo.opensource.cybertec.at cluster-1 --type='merge' -p \
    +'{"spec":{"dockerImage":"docker.io/cybertecpostgresql/cybertec-pg-container:postgres-17.4-1"}}'
    +
    +

    + Updating Exporter-Container-Image +

    + + + +
    +
    +

    + Updating Cluster-Manifest: +

    + + + +
    +

    Old-Manifest:

    +
    apiVersion: cpo.opensource.cybertec.at/v1
    +kind: postgresql
    +metadata:
    +  name: cluster-1
    +  namespace: cpo
    +spec:
    +  monitor:
    +    image: 'docker.io/cybertecpostgresql/cybertec-pg-container:exporter-17.3-1'
    +

    New-Manifest:

    +
    apiVersion: cpo.opensource.cybertec.at/v1
    +kind: postgresql
    +metadata:
    +  name: cluster-1
    +  namespace: cpo
    +spec:
    +  monitor:
    +    image: 'docker.io/cybertecpostgresql/cybertec-pg-container:exporter-17.4-1'
    +
    +

    + Updating via kubectl/oc-client +

    + + + +
    +
    kubectl patch postgresqls.cpo.opensource.cybertec.at cluster-1 --type='merge' -p \
    +'{"spec":{"monitor":{"image":"docker.io/cybertecpostgresql/cybertec-pg-container:exporter-17.4-1"}}}'
    +
    +
    + + + + + + + +
    +
    + + + +
    + + + + + + diff --git a/docs/hugo/public/postgis/index.html b/docs/hugo/public/postgis/index.html new file mode 100644 index 000000000..5568404f9 --- /dev/null +++ b/docs/hugo/public/postgis/index.html @@ -0,0 +1,5168 @@ + + + + + + + + + + + + Postgis | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    +
    + + + + +
    + + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
    +
    +
    + + + +
    + + + + + +
    + + + + + + + + + + + +
    + +
    + + +
    + + +
    + + +
    +

    Postgis

    +
    + +
    + +
    + + + + + + + +
    +
    + + + +
    + + + + + + diff --git a/docs/hugo/public/postgis/index.xml b/docs/hugo/public/postgis/index.xml new file mode 100644 index 000000000..b8c59f485 --- /dev/null +++ b/docs/hugo/public/postgis/index.xml @@ -0,0 +1,19 @@ + + + + Postgis on CYBERTEC-PG-Operator + http://localhost:1313/CYBERTEC-pg-operator/postgis/ + Recent content in Postgis on CYBERTEC-PG-Operator + Hugo + en + Mon, 11 Mar 2024 14:26:51 +0100 + + + Introduction + http://localhost:1313/CYBERTEC-pg-operator/postgis/introduction/ + Mon, 11 Mar 2024 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/postgis/introduction/ + <p>asdasdasd</p> + + + diff --git a/docs/hugo/public/postgis/introduction/index.html b/docs/hugo/public/postgis/introduction/index.html new file mode 100644 index 000000000..f088ef2d6 --- /dev/null +++ b/docs/hugo/public/postgis/introduction/index.html @@ -0,0 +1,5183 @@ + + + + + + + + + + + + + Introduction | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    +
    + + + + +
    + + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
    +
    +
    + + + +
    + + + + + +
    + + + + + + + + + + + +
    + +
    + + +
    + + +
    + + +
    +

    Introduction

    +
    +
    + +

    asdasdasd

    + +
    + + + + + + + +
    +
    + + + +
    + + + + + + diff --git a/docs/hugo/public/print-735ccc12.min.css b/docs/hugo/public/print-735ccc12.min.css new file mode 100644 index 000000000..01994899b --- /dev/null +++ b/docs/hugo/public/print-735ccc12.min.css @@ -0,0 +1 @@ +@media print{.gdoc-nav,.gdoc-footer .container span:not(:first-child),.gdoc-paging,.editpage{display:none}.gdoc-footer{border-top:1px solid #dee2e6}.gdoc-markdown pre{white-space:pre-wrap;overflow-wrap:break-word}.chroma code{border:1px solid #dee2e6;padding:.5rem !important;font-weight:normal !important}.gdoc-markdown code{font-weight:bold}a,a:visited{color:inherit !important;text-decoration:none !important}.gdoc-toc{flex:none}.gdoc-toc nav{position:relative;width:auto}.wrapper{display:block}.wrapper main{display:block}} \ No newline at end of file diff --git a/docs/hugo/public/project/container_images/index.html b/docs/hugo/public/project/container_images/index.html new file mode 100644 index 000000000..02e7d56d1 --- /dev/null +++ b/docs/hugo/public/project/container_images/index.html @@ -0,0 +1,5153 @@ + + + + + + + + + + + + + Container Images | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    +
    + + + + +
    + + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
    +
    +
    + + + +
    + + + + + +
    + + + + + + + + + + + +
    + +
    + + +
    + + +
    + + +
    +

    Container Images

    +
    +
    + +

    For each version of the operator and the required PostgreSQL and other required containers, the corresponding image is provided on Dockerhub.

    +
    +

    + Operator container images +

    + + + +
    +

    The operator images are the central components that control the operation and administration of the PostgreSQL databases. These images are available in the following repository on DockerHub:

    +

    Operator Images

    +

    The repository contains all the necessary images for running the Cybertec PG Operator in a Kubernetes environment. These images are updated regularly to ensure the latest features and security updates.

    +
    +

    + Additional container images +

    + + + +
    +

    In addition to the operator images, various container images are required to support a complete PostgreSQL environment. These images are available in the following repository: +CYBERTEC-PG-Container Images

    +

    This repository contains images for the following components:

    +
      +
    • PostgreSQL: The main database image, which contains all supported major versions of PostgreSQL. The name of the tag always reflects the latest release, e.g. currently 17.4 for PostgreSQL 17.4. For the other major versions, the corresponding minor versions released by the PostgreSQL community at the same time are included.
    • +
    • Postgres-GIS: A specialised image that combines PostgreSQL with the PostGIS extension to support spatial data processing functions. You can find more information about Postgis here.
      +The tag for Postgis also includes the included version of Postgis. Example: postgres-gis-17.4-34-1 Postgis: 3.4.x
    • +
    • PGBackRest: A backup and restore tool developed specifically for PostgreSQL and available as a separate container image.
    • +
    • Exporter: Images for monitoring PostgreSQL databases that collect metrics and make them available for monitoring tools such as Prometheus.
    • +
    • PgBouncer: A lightweight connection pooler for PostgreSQL that manages and optimises the number of concurrent connections.
    • +
    +
    +

    + Extensions +

    + + + +
    +

    You can view the versions included in the Extensions section.

    + +
    + + + + + + + +
    +
    + + + +
    + + + + + + diff --git a/docs/hugo/public/project/index.html b/docs/hugo/public/project/index.html new file mode 100644 index 000000000..04ba09dfb --- /dev/null +++ b/docs/hugo/public/project/index.html @@ -0,0 +1,5072 @@ + + + + + + + + + + + + CPO | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    +
    + + + + +
    + + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
    +
    +
    + + + +
    + + + + + +
    + + + + + + + + + + + +
    + +
    + + +
    + + +
    + + +
    +

    CPO

    +
    + +
    + +
    + + + + + + + +
    +
    + + + +
    + + + + + + diff --git a/docs/hugo/public/project/index.xml b/docs/hugo/public/project/index.xml new file mode 100644 index 000000000..829df1ce2 --- /dev/null +++ b/docs/hugo/public/project/index.xml @@ -0,0 +1,26 @@ + + + + CPO on CYBERTEC-PG-Operator + http://localhost:1313/CYBERTEC-pg-operator/project/ + Recent content in CPO on CYBERTEC-PG-Operator + Hugo + en + Mon, 11 Mar 2024 14:26:51 +0100 + + + The Project + http://localhost:1313/CYBERTEC-pg-operator/project/project/ + Mon, 11 Mar 2024 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/project/project/ + <p>The CYBERTEC PostgreSQL Operator (CPO) enables the simple provision and management of PostgreSQL clusters on Kubernetes. It reduces the administration effort and facilitates the management of single-node and HA clusters.</p> <div class="flex align-center gdoc-page__anchorwrap"> <h2 id="main-components" > Main components </h2> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/project/project/#main-components" class="gdoc-page__anchor clip flex align-center" title="Anchor to: Main components" aria-label="Anchor to: Main components" href="#main-components"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <ul> <li><a class="gdoc-markdown__link" href="https://github.com/cybertec-postgresql/CYBERTEC-pg-operator" >CYBERTEC-pg-operator</a>: Kubernetes operator for the automation of PostgreSQL clusters.</li> <li><a class="gdoc-markdown__link" href="https://github.com/cybertec-postgresql/CYBERTEC-pg-container" >CYBERTEC-pg-container</a>: Docker container suite for PostgreSQL, Patroni and etcd for the provision of HA clusters.</li> <li><a class="gdoc-markdown__link" href="https://github.com/cybertec-postgresql/CYBERTEC-operator-tutorials" >CYBERTEC-operator-tutorials</a>: Tutorials and instructions for installing and using the operator.</li> </ul> <div class="flex align-center gdoc-page__anchorwrap"> <h2 id="features" > Features </h2> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/project/project/#features" class="gdoc-page__anchor clip flex align-center" title="Anchor to: Features" aria-label="Anchor to: Features" href="#features"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <ul> <li>Cluster management: <ul> <li>Single-node and HA (High Availability) clusters via <a class="gdoc-markdown__link" href="https://patroni.readthedocs.io/en/latest/" >Patroni</a></li> <li>Reduction of downtime thanks to redundancy, pod anti-affinity, auto-failover and self-healing</li> <li>Automated failover</li> <li>Live volume resize without pod restarts</li> <li>Basic credential and user management on K8s, eases application deployments</li> <li>Compatible with OpenShift and Rancher</li> </ul> </li> <li>PostgreSQL compatibility: <ul> <li>Supports PostgreSQL versions 13 to 17</li> <li>Inplace upgrades for smooth version changes and minimal downtime</li> <li>Extensive extension support, including pgAudit, TimescaleDB and PostGIS</li> <li>Standby-Cluster</li> </ul> </li> <li>Backup &amp; Restore: <ul> <li>Integrated pgBackRest support</li> <li>Automatic backups</li> <li>Point-in-Time- and Snapshot-based Restores / Disaster Recovery</li> </ul> </li> <li>Connection management: <ul> <li>pgBouncer for connection pooling</li> </ul> </li> <li>Monitoring &amp; alerting stack <ul> <li>Integrated metrics exporter</li> <li>Prometheus, alert manager for metrics collection and alerting</li> <li>Grafana for visual monitoring of the clusters</li> </ul> </li> <li>Operator UI: <ul> <li>Web interface for managing clusters</li> </ul> </li> </ul> <div class="flex align-center gdoc-page__anchorwrap"> <h2 id="installation" > Installation </h2> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/project/project/#installation" class="gdoc-page__anchor clip flex align-center" title="Anchor to: Installation" aria-label="Anchor to: Installation" href="#installation"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <p>Detailed instructions on installation and configuration can be found in the CYBERTEC operator tutorials and in the following chapters Example of installation via Helm:</p> + + + Container Images + http://localhost:1313/CYBERTEC-pg-operator/project/container_images/ + Mon, 11 Mar 2024 14:26:51 +0100 + http://localhost:1313/CYBERTEC-pg-operator/project/container_images/ + <p>For each version of the operator and the required PostgreSQL and other required containers, the corresponding image is provided on Dockerhub.</p> <div class="flex align-center gdoc-page__anchorwrap"> <h4 id="operator-container-images" > Operator container images </h4> <a data-clipboard-text="http://localhost:1313/CYBERTEC-pg-operator/project/container_images/#operator-container-images" class="gdoc-page__anchor clip flex align-center" title="Anchor to: Operator container images" aria-label="Anchor to: Operator container images" href="#operator-container-images"> <svg class="gdoc-icon gdoc_link"><use xlink:href="#gdoc_link"></use></svg> </a> </div> <p>The operator images are the central components that control the operation and administration of the PostgreSQL databases. These images are available in the following repository on DockerHub:</p> + + + diff --git a/docs/hugo/public/project/project/index.html b/docs/hugo/public/project/project/index.html new file mode 100644 index 000000000..9bf62aa21 --- /dev/null +++ b/docs/hugo/public/project/project/index.html @@ -0,0 +1,5211 @@ + + + + + + + + + + + + + The Project | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    +
    + + + + +
    + + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
    +
    +
    + + + +
    + + + + + +
    + + + + + + + + + + + +
    + +
    + + +
    + + +
    + + +
    +

    The Project

    +
    +
    + +

    The CYBERTEC PostgreSQL Operator (CPO) enables the simple provision and management of PostgreSQL clusters on Kubernetes. It reduces the administration effort and facilitates the management of single-node and HA clusters.

    +
    +

    + Main components +

    + + + +
    + +
    +

    + Features +

    + + + +
    +
      +
    • Cluster management: +
        +
      • Single-node and HA (High Availability) clusters via Patroni
      • +
      • Reduction of downtime thanks to redundancy, pod anti-affinity, auto-failover and self-healing
      • +
      • Automated failover
      • +
      • Live volume resize without pod restarts
      • +
      • Basic credential and user management on K8s, eases application deployments
      • +
      • Compatible with OpenShift and Rancher
      • +
      +
    • +
    • PostgreSQL compatibility: +
        +
      • Supports PostgreSQL versions 13 to 17
      • +
      • Inplace upgrades for smooth version changes and minimal downtime
      • +
      • Extensive extension support, including pgAudit, TimescaleDB and PostGIS
      • +
      • Standby-Cluster
      • +
      +
    • +
    • Backup & Restore: +
        +
      • Integrated pgBackRest support
      • +
      • Automatic backups
      • +
      • Point-in-Time- and Snapshot-based Restores / Disaster Recovery
      • +
      +
    • +
    • Connection management: +
        +
      • pgBouncer for connection pooling
      • +
      +
    • +
    • Monitoring & alerting stack +
        +
      • Integrated metrics exporter
      • +
      • Prometheus, alert manager for metrics collection and alerting
      • +
      • Grafana for visual monitoring of the clusters
      • +
      +
    • +
    • Operator UI: +
        +
      • Web interface for managing clusters
      • +
      +
    • +
    +
    +

    + Installation +

    + + + +
    +

    Detailed instructions on installation and configuration can be found in the CYBERTEC operator tutorials and in the following chapters +Example of installation via Helm:

    +
    helm repo add cybertec https://cybertec-postgresql.github.io/helm-charts/
    +helm install pg-operator cybertec/cybertec-pg-operator
    +

    More information: Installation

    +
    +

    + Contribution +

    + + + +
    +

    This project is open source, and contributions to its further development are expressly encouraged. +Possible forms of contribution:

    +
      +
    • Bug reports and feature requests
    • +
    • Code contributions (pull requests welcome)
    • +
    • Improvement of the documentation +Further details on contributions can be found in the respective GitHub repositories.
    • +
    +
    +

    + Licence +

    + + + +
    +

    The CYBERTEC PostgreSQL Operator is licensed under the Apache 2.0 licence.

    + +
    + + + + + + + +
    +
    + + + +
    + + + + + + diff --git a/docs/hugo/public/quickstart/index.html b/docs/hugo/public/quickstart/index.html new file mode 100644 index 000000000..9c4e4d1b9 --- /dev/null +++ b/docs/hugo/public/quickstart/index.html @@ -0,0 +1,5240 @@ + + + + + + + + + + + + + Quickstart | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    +
    + + + + +
    + + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
    +
    +
    + + + +
    + + + + + +
    + + + + + + + + + + + +
    + +
    + + +
    + + +
    + + +
    +

    Quickstart

    +
    + +
    +

    We can tell and document so much about our project but it seems you just want to get started. Let us show you the fastest way to use CPO.

    +
    +

    + Preconditions +

    + + + +
    +
      +
    • git
    • +
    • helm (optional)
    • +
    • kubectl or oc
    • +
    +
    +

    + Let’s start +

    + + + +
    +
    +

    + Step 1 - Preparations +

    + + + +
    +

    To get started, you can fork our tutorial repository on Github and then download it. +CYBERTEC-operator-tutorials

    +
    git clone https://github.com/cybertec-postgresql/CYBERTEC-operator-tutorials.git
    +cd CYBERTEC-operator-tutorials
    +
    +

    + Step 2 - Install the Operator +

    + + + +
    +

    Two options are available for the installation:

    +
      +
    • Installation via Helm-Chart (local or via helmn-repo)
    • +
    • Installation via apply
    • +
    +
    +

    + Installation via Helm-Chart +

    + + + +
    +

    If you want to use the helm-chart, YOU can decide for yourself whether you want to use the helm-cahrt from the operator-tutorials on github or directly connect the helm-repo for the cpo-project and install the helm-chart over it.

    +
    #add helm-repo (optional)
    +  helm repo add cpo https://cybertec-postgresql.github.io/CYBERTEC-operator-tutorials
    +  kubectl apply -n cpo -k setup/namespace/.
    +  helm install -n cpo cpo cpo/postgres-operator
    +
    +or
    +
    +# use local helm-chart from git
    +  kubectl apply -n cpo -k setup/namespace/.
    +  helm install cpo -n cpo setup/helm/operator/
    +
    +

    + Installation via apply +

    + + + +
    +
    kubectl apply -n cpo -k setup/namespace/.
    +kubectl apply -n cpo -k setup/helm/operator/.
    +

    You can check if the operator pod is in operation.

    +
    kubectl get pods -n cpo --selector=cpo.cybertec.at/pod/type=postgres-operator
    +

    The result should look like this:

    +
    NAME                                 READY   STATUS    RESTARTS   AGE
    +postgres-operator-599688d948-fw8pw   1/1     Running   0          41s
    +

    The operator is ready and the setup is complete. The next step is the creation of a Postgres cluster

    +
    +

    + Step 3 - Create a Cluster +

    + + + +
    +

    To create a simple cluster, the following command is sufficient

    +
    kubectl apply -n cpo -f cluster-tutorials/single-cluster
    +
    watch kubectl get pods -n cpo --selector cluster-name=cluster-1
    +

    The result should look like this:

    +
    Alle 2.0s: kubectl get pods -n cpo --selector cluster-name=cluster-1                                                                                                            
    +
    +NAME          READY   STATUS            RESTARTS   AGE
    +cluster-1-0   2/2     Running           0          28s
    +cluster-1-1   0/2     PodInitializing   0          9s
    +
    +

    + Step 4 - Connect to the Database +

    + + + +
    +

    Get your login information from the secret.

    +
    kubectl get secret -n cpo postgres.cluster-1.credentials.postgresql.cpo.opensource.cybertec.at -o jsonpath='{.data}' | jq '.|map_values(@base64d)'
    +

    The result should look like this:

    +
    {
    +  "password": "2rZG1Kx9asdHscswQGzff4Ru0xW6uasacy3GQ0sjdCH3wWr0kguUXUZek6dkemsf",
    +  "username": "postgres"
    +}
    +
    +

    + Connection via port-forward +

    + + + +
    +
    kubectl port-forward -n cpo cluster-1-0 5432:5432
    +
    # using psql
    +PGPASSWORD=2rZG1Kx9asdHscswQGzffjdCH3wWr0kguUXUZek6dkemsf psql -h 127.0.0.1 -p 5432 -U postgres
    +
    +# using usql
    +PGPASSWORD=2rZG1Kx9asdHscswQGzffjdCH3wWr0kguUXUZek6dkemsf usql postgresql://postgres@127.0.0.1/postgres
    +
    +

    + Next Steps +

    + + + +
    +

    Congratulations, your first cluster is ready and you were able to connect to it. On the following pages we have put together an introduction with lots of information and details to show you the different possibilities and components of CPO.

    + +
    + + + + + + + +
    +
    + + + +
    + + + + + + diff --git a/docs/hugo/public/quickstart/index.xml b/docs/hugo/public/quickstart/index.xml new file mode 100644 index 000000000..3580107d0 --- /dev/null +++ b/docs/hugo/public/quickstart/index.xml @@ -0,0 +1,12 @@ + + + + Quickstart on CYBERTEC-PG-Operator + http://localhost:1313/CYBERTEC-pg-operator/quickstart/ + Recent content in Quickstart on CYBERTEC-PG-Operator + Hugo + en + + + + diff --git a/docs/hugo/public/release_notes/index.html b/docs/hugo/public/release_notes/index.html new file mode 100644 index 000000000..fdb0067e1 --- /dev/null +++ b/docs/hugo/public/release_notes/index.html @@ -0,0 +1,5585 @@ + + + + + + + + + + + + + Release-Notes | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    +
    + + + + +
    + + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
    +
    +
    + + + +
    + + + + + +
    + + + + + + + + + + + +
    + +
    + + +
    + + +
    + + +
    +

    Release-Notes

    +
    + +
    +
    +

    + 0.8.3 +

    + + + +
    +
    +

    + Fixes +

    + + + +
    +
      +
    • Majorupgrade updated for Patroni 4.x.x
    • +
    • Fixes for PGEE
    • +
    • Fix for Monitoring-User
    • +
    • Dependency updates and several small changes
    • +
    +
    +

    + Supported Versions +

    + + + +
    +
      +
    • PG: 13 - 17
    • +
    • Patroni: 4.0.5
    • +
    • pgBackRest: 2.54.2
    • +
    • Kubernetes: 1.21 - 1.32
    • +
    • Openshift: 4.8 - 4.18
    • +
    +
    +

    + 0.8.2 +

    + + + +
    +
    +

    + Features +

    + + + +
    +
      +
    • Added Clone-Functionality with pgBackRest
    • +
    +
    +

    + Supported Versions +

    + + + +
    +
      +
    • PG: 13 - 17
    • +
    • Patroni: 3.3.2
    • +
    • pgBackRest: 2.54.0
    • +
    • Kubernetes: 1.21 - 1.32
    • +
    • Openshift: 4.8 - 4.18
    • +
    +
    +

    + 0.8.1 +

    + + + +
    +
    +

    + Features +

    + + + +
    +
      +
    • Added pgbackrest to Monitoring
    • +
    +
    +

    + Fixes +

    + + + +
    +
      +
    • Fixed role creation for monitoring
    • +
    +
    +

    + Supported Versions +

    + + + +
    +
      +
    • PG: 13 - 17
    • +
    • Patroni: 3.3.2
    • +
    • pgBackRest: 2.53
    • +
    • Kubernetes: 1.21 - 1.32
    • +
    • Openshift: 4.8 - 4.18
    • +
    +
    +

    + 0.8.0 +

    + + + +
    +
    +

    + Features +

    + + + +
    +
      +
    • Multisite - Support
    • +
    • use icu as default for pg > 14
    • +
    +
    +

    + Fixes +

    + + + +
    +
      +
    • Fixed role creation for monitoring.
    • +
    • Fix for the use of gcs with pgBackRest
    • +
    +
    +

    + Supported Versions +

    + + + +
    +
      +
    • PG: 13 - 16 & 17Beta2
    • +
    • Patroni: 3.3.2
    • +
    • pgBackRest: 2.53
    • +
    • Kubernetes: 1.21 - 1.32
    • +
    • Openshift: 4.8 - 4.18
    • +
    +
    +

    + 0.7.1 +

    + + + +
    +
    +

    + Fixes +

    + + + +
    +
      +
    • Fixed role creation for monitoring.
    • +
    • Fix for the use of gcs with pgBackRest
    • +
    +
    +

    + Supported Versions +

    + + + +
    +
      +
    • PG: 13 - 16 & 17Beta2
    • +
    • Patroni: 3.3.2
    • +
    • pgBackRest: 2.53
    • +
    • Kubernetes: 1.21 - 1.28
    • +
    • Openshift: 4.8 - 4.13
    • +
    +
    +

    + 0.7.0 +

    + + + +
    +
    +

    + Features +

    + + + +
    +
      +
    • Monitoring-Sidecar integrated via CRD Start with Monitoring
    • +
    • Password-Hash per default set to scram-sha-256
    • +
    • pgBackRest with blockstorage using RepoHost
    • +
    • Internal Certification-Management for RepoHost-Certificates
    • +
    • Compatible with PG17Beta2
    • +
    +
    +

    + Changes +

    + + + +
    +
      +
    • API Change acid.zalan.do is replaced by cpo.opensource.cybertec.at - If you’re updating your Operator from previous Versions, please check this HowTo Migrate to new API
    • +
    • Patroni-Compatibility has increased to Version 3.3.2
    • +
    • pgBackRest-Compatbility has increased to Version 2.52.1
    • +
    • Revision of the restore process
    • +
    • Revision of the backup jobs
    • +
    • Operator now using Rocky9 as Baseimage
    • +
    • Updates Go-Package to 1.22.5
    • +
    +
    +

    + Fixes +

    + + + +
    +
      +
    • PDB Bug fixed - Single-Node Clusters are not creating PDBs anymore which can break Kubernetes-Update
    • +
    • Wrong Templates inside Cronjobs fixed
    • +
    +
    +

    + Supported Versions +

    + + + +
    +
      +
    • PG: 13 - 16 & 17Beta2
    • +
    • Patroni: 3.3.2
    • +
    • pgBackRest: 2.52.1
    • +
    • Kubernetes: 1.21 - 1.28
    • +
    • Openshift: 4.8 - 4.13
    • +
    +
    +

    + 0.6.1 +

    + + + +
    +

    Release with fixes

    +
    +

    + Fixes +

    + + + +
    +
      +
    • Backup-Pod now runs with “best-effort” resource definition
    • +
    • Der Init-Container für die Wiederherstellung verwendet nun die gleiche Ressource-Definition wie der Datenbank-Container, wenn es keine spezifische Definition im Cluster-Manifest gibt (spec.backup.pgbackrest.resources)
    • +
    +
    +

    + Software-Versions +

    + + + +
    +
      +
    • PostgreSQL: 15.3 14.8, 13.11, 12.15
    • +
    • Patroni: 3.0.4
    • +
    • pgBackRest: 2.47
    • +
    • OS: Rocky-Linux 9.1 (4.18) +
    • +
    +
    +

    +
    +

    + 0.6.0 +

    + + + +
    +

    Release with some improvements and stabilisation measuresm

    +
    +

    + Features +

    + + + +
    + +
    +

    + Software-Versions +

    + + + +
    +
      +
    • PostgreSQL: 15.3 14.8, 13.11, 12.15
    • +
    • Patroni: 3.0.4
    • +
    • pgBackRest: 2.47
    • +
    • OS: Rocky-Linux 9.1 (4.18) +
    • +
    +
    +

    +
    +

    + 0.5.0 +

    + + + +
    +

    Release with new Software-Updates and some internal Improvements

    +
    +

    + Features +

    + + + +
    +
      +
    • Updated to Zalando Operator 1.9
    • +
    +
    +

    + Fixes +

    + + + +
    +
      +
    • internal Problems with Cronjobs
    • +
    • updates for some API-Definitions
    • +
    +
    +

    + Software-Versions +

    + + + +
    +
      +
    • PostgreSQL: 15.2 14.7, 13.10, 12.14
    • +
    • Patroni: 3.0.2
    • +
    • pgBackRest: 2.45
    • +
    • OS: Rocky-Linux 9.1 (4.18) +
    • +
    +
    +

    +
    +

    + 0.3.0 +

    + + + +
    +

    Release with some improvements and stabilisation measuresm

    +
    +

    + Fixes +

    + + + +
    +
      +
    • missing pgbackrest_restore configmap fixed
    • +
    +
    +

    + Software-Versions +

    + + + +
    +
      +
    • PostgreSQL: 15.1 14.7, 13.9, 12.13, 11.18 and 10.23
    • +
    • Patroni: 3.0.1
    • +
    • pgBackRest: 2.44
    • +
    • OS: Rocky-Linux 9.1 (4.18) +
    • +
    +
    +

    +
    +

    + 0.1.0 +

    + + + +
    +

    Initial Release as a Fork of the Zalando-Operator

    +
    +

    + Features +

    + + + +
    +
      +
    • Added Support for pgBackRest (PoC-State) +
        +
      • Stanza-create and Initial-Backup are executed automatically
      • +
      • Schedule automatic updates (Full/Incremental/Differential-Backup)
      • +
      • Securely store backups on AWS S3 and S3-compatible storage
      • +
      +
    • +
    +
    +

    + Software-Versions +

    + + + +
    +
      +
    • PostgreSQL: 14.6, 13.9, 12.13, 11.18 and 10.23
    • +
    • Patroni: 2.4.1
    • +
    • pgBackRest: 2.42
    • +
    • OS: Rocky-Linux 9.0 (4.18)
    • +
    + +
    + + + + + + + +
    +
    + + + +
    + + + + + + diff --git a/docs/hugo/public/release_notes/index.xml b/docs/hugo/public/release_notes/index.xml new file mode 100644 index 000000000..4a0b7af08 --- /dev/null +++ b/docs/hugo/public/release_notes/index.xml @@ -0,0 +1,12 @@ + + + + Release-Notes on CYBERTEC-PG-Operator + http://localhost:1313/CYBERTEC-pg-operator/release_notes/ + Recent content in Release-Notes on CYBERTEC-PG-Operator + Hugo + en + + + + diff --git a/docs/hugo/public/resources/index.html b/docs/hugo/public/resources/index.html new file mode 100644 index 000000000..9eac2038e --- /dev/null +++ b/docs/hugo/public/resources/index.html @@ -0,0 +1,5147 @@ + + + + + + + + + + + + + Apply Ressources | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    +
    + + + + +
    + + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
    +
    +
    + + + +
    + + + + + +
    + + + + + + + + + + + +
    + +
    + + +
    + + +
    + + +
    +

    Apply Ressources

    +
    + +
    +

    Kubernetes workloads are often deployed without a direct resource definition. This means that, apart from the limits specified by the administrators, the workloads can use the required resources of the worker node very dynamically.

    +

    The cluster manifest is used to define the Postgres pod resources via the typical resources objects.

    +

    There are basically two different definitions:

    +
      +
    • requests: Basic requirement and guaranteed by the worker node
    • +
    • limits: maximum availability, allocation is increased dynamically if the worker node can provide the resources.
    • +
    +

    For the planning of the cluster, a proper definition should be carried out in terms of the required hardware, which is then defined as requests. These resources are thus guaranteed to the cluster and are taken into account when deploying the pod. Accordingly, a pod can only be deployed on a worker if it can provide these resources. Any limits beyond this are not taken into account when deploying.

    +

    The unit of measurement should be taken into account when planning the necessary CPUs: +cpu specifications are based on millicores

    +
      +
    • 1 cpu corresponds to 1 core
    • +
    • 1 core corresponds to 1000 millicores (m)
    • +
    • 1/2 core corresponds to 500 m
    • +
    +
      resources:
    +    limits:
    +      cpu: 500m
    +      memory: 1Gi
    +    requests:
    +      cpu: 1000m
    +      memory: 1Gi
    +

    This example corresponds to a guaranteed availability of half a core and 1 Gibibyte. However, if necessary and available, the container can use up to one core. The allocation takes place dynamically and for the required time.

    +

    Pods can be categorised into three Quality of Services (QoS) based on the defined information on the resources.

    +
      +
    • Best-Effort: The containers of a pod have no resource information
    • +
    • Burstable: A container of the pod has a memory or CPU requests or limits.
    • +
    • Guaranteed: Each container of a pod has both cpu and memory requests and limits. In addition, the details of the respective limits correspond to the requests details
    • +
    +

    If you would like more information and explanations, you can take a look at the Kubernetes documentation on QoS.

    +

    We generally recommend using the Guaranteed Status for PostgreSQL workloads. However, many users very successfully use the deviation of the CPU limit by factors such as 2. +For example:

    +
      resources:
    +    limits:
    +      cpu: 1000m
    +      memory: 1Gi
    +    requests:
    +      cpu: 2000m
    +      memory: 1Gi
    +

    This is intended to create the possibility of additional CPU resources for sudden load peaks.

    + + + + + +
    +
    +
    The use of burstable definitions does not release you from a correct resource calculation, as limits resources are not guaranteed and therefore an undersupply can occur if the requests are not properly defined.
    +
    + + +
    + + + + + + + +
    +
    + + + +
    + + + + + + diff --git a/docs/hugo/public/resources/index.xml b/docs/hugo/public/resources/index.xml new file mode 100644 index 000000000..e410477ae --- /dev/null +++ b/docs/hugo/public/resources/index.xml @@ -0,0 +1,12 @@ + + + + Apply Ressources on CYBERTEC-PG-Operator + http://localhost:1313/CYBERTEC-pg-operator/resources/ + Recent content in Apply Ressources on CYBERTEC-PG-Operator + Hugo + en + + + + diff --git a/docs/hugo/public/restore/index.html b/docs/hugo/public/restore/index.html new file mode 100644 index 000000000..7c9c21759 --- /dev/null +++ b/docs/hugo/public/restore/index.html @@ -0,0 +1,5230 @@ + + + + + + + + + + + + + Restore | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    +
    + + + + +
    + + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
    +
    +
    + + + +
    + + + + + +
    + + + + + + + + + + + +
    + +
    + + +
    + + +
    + + +
    +

    Restore

    +
    + +
    +

    Restore or recovery is the process of starting a PostgreSQL instance or a cluster based on a defined and existing backup. This can be just a Backup or a combination of a Backup and additional WAL files. The difference is that a Backup represents a fixed point in time, whereas the combination with WAL enables a point-in-time recovery(PITR).

    +

    You can find more information about backups here

    +
    +

    + Rescue my cluster +

    + + + +
    +

    CPO enables the restore based on an existing backup using pgBackRest. To do this, it needs the relevant information about the point in time or snapBackupshot to which it should restore and where the data for this comes from. +As we have already provided the operator with all the information relating to the storage of backups in the previous chapter, it only needs the following information:

    +
      +
    • id: Control variable, must be increased for each restore process
    • +
    • type: What type of restore is required
    • +
    • repo: Which repo the data should come from
    • +
    • set: Specific Backup to restore - Check backup to see how to get the identifier
    • +
    + + + + + +
    +
    +
    To ensure that the operator does not repeat an already done restore, the defined object id in the restore section is saved by the operator, so the value of this id must be changed for a new restore.
    +
    + +
    +

    + Details for a Backup restore +

    + + + +
    +

    With this information, we define a fixed Backup from repo1 and that pgBackRest should stop at the end of the Backup

    +
    restore:
    +  id: '1'
    +  options:
    +    type: 'immediate'
    +    set: '20240515-164100F'
    +  repo: 'repo1'
    +
    + + + + +
    +
    +
    Without the specification --type=immediate, pgBackRest would then consume the entire WAL that is available and thus restore the last available consistent data point.
    +
    + +
    +

    + Details for a point-in-time recoery (PITR) +

    + + + +
    +

    We use this information to define a point-in-time recovery (PITR) and define the end point using a timestamp and the start point using a Backup specification. The latter is optional. Without this information, pgBackRest would automatically start at the last previous full Backup.

    +
    restore:
    +  id: '1'
    +  options:
    +    type: 'time'
    +    set: '20240515-164100F'
    +    target: '2024-05-16 07:46:05.506817+00'
    +
    +  repo: '1'
    +
    + + + + +
    +
    +
    --type=time indicates that it is a point-in-time recovery (PITR).
    +
    + +
    +

    + Example in a cluster manifest +

    + + + +
    +
    apiVersion: cpo.opensource.cybertec.at/v1
    +kind: postgresql
    +metadata:
    +  name: cluster-5
    +  namespace: cpo
    +spec:
    +  backup:
    +    pgbackrest:
    +      configuration:
    +        secret: cluster-1-pvc-credentials
    +      global:
    +        repo1-retention-full: '7'
    +        repo1-retention-full-type: count
    +      image: 'docker.io/cybertecpostgresql/cybertec-pg-container:pgbackrest-16.4-1'
    +      repos:
    +        - name: repo1
    +          schedule:
    +            full: 30 2 * * *
    +          storage: pvc
    +          volume:
    +            size: 1Gi
    +      restore:
    +        id: '1'
    +        options:
    +          type: 'time'
    +          set: '20240515-164100F'
    +          target: '2024-05-16 07:46:05.506817+00'
    +

    An example of this can also be found in our tutorials. For a point-in-time recovery (PITR) you can find it here.

    + + + + + +
    +
    +
    Incorrect information for the Backup or the timestamp can result in pgBackRest not being able to complete the restore successfully. In the event of an error, the information must be corrected and another restore must be started.
    +
    + + +
    + + + + + + + +
    +
    + + + +
    + + + + + + diff --git a/docs/hugo/public/restore/index.xml b/docs/hugo/public/restore/index.xml new file mode 100644 index 000000000..6ce8aed78 --- /dev/null +++ b/docs/hugo/public/restore/index.xml @@ -0,0 +1,12 @@ + + + + Restore on CYBERTEC-PG-Operator + http://localhost:1313/CYBERTEC-pg-operator/restore/ + Recent content in Restore on CYBERTEC-PG-Operator + Hugo + en + + + + diff --git a/docs/hugo/public/search/en.config.min.json b/docs/hugo/public/search/en.config.min.json new file mode 100644 index 000000000..6ac7e50fc --- /dev/null +++ b/docs/hugo/public/search/en.config.min.json @@ -0,0 +1 @@ +{"dataFile":"/CYBERTEC-pg-operator/search/en.data.min.json","indexConfig":null,"showParent":false,"showDescription":false} \ No newline at end of file diff --git a/docs/hugo/public/search/en.data.min.json b/docs/hugo/public/search/en.data.min.json new file mode 100644 index 000000000..f3d3ae804 --- /dev/null +++ b/docs/hugo/public/search/en.data.min.json @@ -0,0 +1 @@ +[{"id":0,"href":"/CYBERTEC-pg-operator/","title":"CPO (CYBERTEC-PG-Operator)","parent":"","content":"Current Release: 0.8.3 (04.04.2025) Release Notes\nCPO (CYBERTEC PG Operator) allows you to create and run PostgreSQL clusters on Kubernetes.\nThe operator reduces your efforts and simplifies the administration of your PostgreSQL clusters so that you can concentrate on other things.\nThe following features characterise our operator:\nDeclarative mode of operation Takes over all the necessary steps for setting up and managing the PG cluster. Integrated backup solution, automatic backups and very easy restore (snapshot \u0026amp; PITR) Rolling update procedure for adjustments to the pods and minor updates Major upgrade with minimum interruption time Reduction of downtime thanks to redundancy, pod anti-affinity, auto-failover and self-healing CPO is tested on the following platforms:\nKubernetes: 1.21 - 1.28 Openshift: 4.8 - 4.13 Rancher AWS EKS Azure AKS Google GKE Furthermore, CPO is basically executable on any CSCF-certified Kubernetes platform.\n","description":"Current Release: 0.8.3 (04.04.2025) Release Notes\nCPO (CYBERTEC PG Operator) allows you to create and run PostgreSQL clusters on Kubernetes.\nThe operator reduces your efforts and simplifies the administration of your PostgreSQL clusters so that you can concentrate on other things.\nThe following features characterise our operator:\nDeclarative mode of operation Takes over all the necessary steps for setting up and managing the PG cluster. Integrated backup solution, automatic backups and very easy restore (snapshot \u0026amp; PITR) Rolling update procedure for adjustments to the pods and minor updates Major upgrade with minimum interruption time Reduction of downtime thanks to redundancy, pod anti-affinity, auto-failover and self-healing CPO is tested on the following platforms:\n"},{"id":1,"href":"/CYBERTEC-pg-operator/backup/introduction/","title":"Introduction","parent":"Backup","content":"Backups are essential for databases. From broken storage to deployments gone wrong, backups often save the day. Starting with pg_dump, which was released in the late 1990s, to the archiving of WAL files (PostgreSQL 8.0 / 2005) and pg_basebackup (PostgreSQL 9.0 / 2010), PostgreSQL already offers built-in options for backups and restores based on logical and physical backups.\nBackups with pgBackRest CPO relies on pgBackRest as its backup solution, a tried-and-tested tool with extensive backup and restore options. The backup is based on two elements:\nSnapshots in the form of physical backups WAL archive: Continuous archiving of the WAL files Backups Backups represent a snapshot of the database in the form of pyhsical files. This contains all relevant information that PostgreSQL holds in its data folder. With pgBackRest it is possible to create different types of Backups:\nfull Snapshot: This captures and saves all files at the time of the backup Differential backup: Only captures all files that have been changed since the last full Backup Incremental backup: Only records the files that have been changed since the last backup (of any kind). When restoring using differential or incremental Backup, it is necessary to also use the previous Backup that provide the basis for the selected Backup.\nThe choice of Backup types depends on factors such as the size of the database, the time available for backups and the restore. WAL-Archive The WAL (Write-Ahead-Log) refers to log files which record all changes to the database data before they are written to the actual files. The basic idea here is to guarantee the consistency and recoverability of the comitted data even in the event of failures.\nPostgreSQL normally cleans up or recycles the WAL files that are no longer required. By using WAL archiving, the WAL files are saved to a different location before this process so that they can be used for various activities in the future. These activities include\nProviding the WAL files for replicas to keep them up to date Restoring instances that have lost parts of the WAL files in the event of a failure and cannot return to a consistent state without them without losing data Point-In-Time-Recovery (PITR): In contrast to Backups, which map a fixed point in time, WAL files make it possible to jump dynamically to a desired point in time and restore the database to the closest available consistent data point WAL archiving is an indispensable tool for data availability, recoverability and the continuous availability of PostgreSQL. Backup your Cluster With pgBackRest, backups can be stored on different types of storage:\nBlock storage (PVC) S3 / S3-compatible storage Azure blob storage GCS How a Backup works The operator creates a cronjob object on Kubernetes based on the defined times for automatic backups. This means that the Kubernetes core (CronJob Controller) will take care of processing the automatic backups and create a job and thus a pod at the appropriate time. The pod will send the backup command to the primary or, if block storage is used, to the repo host and monitor it. As soon as the backup is successfully completed, the pod stops with Completed and thus completes the job.\nkubectl get cronjobs --------------------------------------------------------------------------------------- NAME | SCHEDULE | SUSPEND | ACTIVE | LAST SCHEDULE | AGE pgbackrest-cluster-repo1-full | 30 2 * * * | False | 0 | 4h46m | 14h pgbackrest-cluster-repo1-incr | */30 * * * * | False | 1 | 81s | 106m kubectl get jobs ----------------------------------------------------------------------- NAME | COMPLETIONS | DURATION | AGE pgbackrest-cluster-repo1-full-28597110 | 1/1 | 52s | 140m pgbackrest-cluster-repo1-incr-28597365 | 1/1 | 2m37s | 32m pgbackrest-cluster-repo1-incr-28597380 | 1/1 | 2m38s | 17m pgbackrest-cluster-repo1-incr-28597395 | 0/1 | 2m3s | 2m3s If there are problems such as a timeout, the pod will stop with exit code 1 and thus indicate an error. In this case, a new pod will be created which will attempt to complete the backup. The maximum number of attempts is 6, so if the backup fails six times, the job is deemed to have failed and will not be attempted again until the next cronjob execution. The job pod log provides information about the problems.\nkubectl get pods ----------------------------------------------------------------------------------- NAME | READY | STATUS | RESTARTS | AGE cluster-0 | 2/2 | Running | 2 | 14h cluster-pgbackrest-repo-host-0 | 1/1 | Running | 0 | 107m pgbackrest-cluster-repo1-full-28597110-x8zpw | 0/1 | Completed | 0 | 143m pgbackrest-cluster-repo1-incr-28597365-7bb5l | 0/1 | Completed | 0 | 34m pgbackrest-cluster-repo1-incr-28597380-j76rr | 0/1 | Completed | 0 | 19m pgbackrest-cluster-repo1-incr-28597395-rh86t | 0/1 | Completed | 0 | 4m27s postgres-operator-66bbff5c54-5sjmk | 1/1 | Running | 0 | 47m ","description":"Backups are essential for databases. From broken storage to deployments gone wrong, backups often save the day. Starting with pg_dump, which was released in the late 1990s, to the archiving of WAL files (PostgreSQL 8.0 / 2005) and pg_basebackup (PostgreSQL 9.0 / 2010), PostgreSQL already offers built-in options for backups and restores based on logical and physical backups.\nBackups with pgBackRest CPO relies on pgBackRest as its backup solution, a tried-and-tested tool with extensive backup and restore options. The backup is based on two elements:\n"},{"id":2,"href":"/CYBERTEC-pg-operator/customize_cluster/sidecars/","title":"Sidecars","parent":"Customize Cluster","content":"Starting with the Single-Node-Cluster from the previous section, we want to modify the Instance a bit to see.\nCPU and Memory spec: resources: limits: cpu: 1000m memory: 500Mi requests: cpu: 500m memory: 500mi Based on the ressources-Definiton we\u0026rsquo;re able to modify the reserved Hardware (requests) and the limits, which allows use to consume more than the reserved definitons if the k8s-worker has this hardware available. There are some Restrictions when modifiying the limits-section. Because of the behaviour of Databases we should never define a diff between requests.memory and limits.memory. A Database is after some time using all available Memory, for Cache and other things. Limits are optional and the worker node can force them back. forcing back memory will create big problems inside a database like creating corruption, forcing OutOfMemory-Killer and so on. CPU on the other side is a ressource we can use inside the limits definiton to allow our database using more cpu if needed and available.\nSidecars Sidecars are further Containers running on the same Pod as the Database. We can use them for serveral different Jobs. The Operator allows us to define them directly inside the Cluster-Manifest.\nspec: sidecars: - name: \u0026#34;telegraf-sidecar\u0026#34; image: \u0026#34;telegraf:latest\u0026#34; ports: - name: metrics containerPort: 8094 protocol: TCP resources: limits: cpu: 500m memory: 500Mi requests: cpu: 100m memory: 100Mi env: - name: \u0026#34;USEFUL_VAR\u0026#34; value: \u0026#34;perhaps-true\u0026#34; This Example will add a second Container to our Pods. This will trigger a restart, which creates Downtime if you\u0026rsquo;re not running a HA-Cluster.\nInit-Containers We can exactly the same as for sidecars also for Init-Containers. The difference is, that a sidecar is running normally on a pod. An Init-Container will just run as first container when the pod is created and it will ends after his job is done. The \u0026ldquo;normal\u0026rdquo; Containers has to wait till all init-Containers finished their jobs and ended with a exit-status.\nspec: initContainers: - name: date image: busybox command: [ \u0026#34;/bin/date\u0026#34; ] TLS-Certificates One Startup the Containers will create a custom TLS-Certificate which allows creating tls-secured-connections to the Database. But this Certificates cannot verified, because the application has no information about the CA. Because of this the certificates are no protection against MITM-Attacks. You\u0026rsquo;re able to configure your own Certificates and CA to ensure, that you can use secured and verified connections between your application and your database.\nspec: tls: secretName: \u0026#34;\u0026#34; # should correspond to a Kubernetes Secret resource to load certificateFile: \u0026#34;tls.crt\u0026#34; privateKeyFile: \u0026#34;tls.key\u0026#34; caFile: \u0026#34;\u0026#34; # optionally configure Postgres with a CA certificate caSecretName: \u0026#34;\u0026#34; # optionally the ca.crt can come from this secret instead. You need to store the needed values from tls.crt, tls.key and ca.crt in a secret and define the secrtetname inside the tls-object. if you want you can create a separate sercet just for the ca and use this secret for every cluster inside the Namespace. To get Information about creating Certificates and the secrets check the Tutorial in the additonal-Section or click here\nNode-Affinity Node-Affinity will ensure that the Cluster-pods only deployed on Kubernetes-Nodes which has the defined Labelkey and -Value\nspec: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: cpo operator: In values: - enabled This allowes you to use specific database-nodes in a mixed cluster for example. In the Example above the Cluster-Pods are just deployed on Nodes with the Key: cpo and the value: enabled So you\u0026rsquo;re able to seperate your Workload.\nPostgreSQL-Configuration Every Cluster will start with the default PostgreSQL-Configuration. Every Parameter can be overriden based in definitions inside the Cluster-Manifest. Therefore we just need a add the section parameters to the postgresql-Object\nspec: postgresql: version: 16 parameters: max_connections: \u0026#34;53\u0026#34; log_statement: \u0026#34;all\u0026#34; track_io_timing: \u0026#34;true\u0026#34; These Definitions will change the PostgreSQL-Configuration. Based on the needs of Parameter changes the Pods may needs a restart, which creates a Downtime if its not a HA-Cluster. You can check Parameters and allowed Values on this Sources to ensure a correct Value.\nPostgreSQL Documentation PostgreSQL.org PostgreSQLco.nf ","description":"Starting with the Single-Node-Cluster from the previous section, we want to modify the Instance a bit to see.\nCPU and Memory spec: resources: limits: cpu: 1000m memory: 500Mi requests: cpu: 500m memory: 500mi Based on the ressources-Definiton we\u0026rsquo;re able to modify the reserved Hardware (requests) and the limits, which allows use to consume more than the reserved definitons if the k8s-worker has this hardware available. There are some Restrictions when modifiying the limits-section. Because of the behaviour of Databases we should never define a diff between requests.memory and limits.memory. A Database is after some time using all available Memory, for Cache and other things. Limits are optional and the worker node can force them back. forcing back memory will create big problems inside a database like creating corruption, forcing OutOfMemory-Killer and so on. CPU on the other side is a ressource we can use inside the limits definiton to allow our database using more cpu if needed and available.\n"},{"id":3,"href":"/CYBERTEC-pg-operator/backup/pvc/","title":"via Blockstorage (pvc)","parent":"Backup","content":" Backups on PVC (PersistentVolumeClaim) When using block storage, the operator creates an additional pod that acts as a repo host. Based on a TLS connection, the repo host obtains the data for the Backup from the current primary of the cluster, which is compressed before being sent. WAL archives are pushed from the primary pod to the repo host.\napiVersion: cpo.opensource.cybertec.at/v1 kind: postgresql metadata: name: cluster namespace: cpo spec: backup: pgbackrest: image: \u0026#39;docker.io/cybertecpostgresql/cybertec-pg-container:pgbackrest-16.4-1\u0026#39; repos: - name: repo1 schedule: full: 30 2 * * * storage: pvc volume: size: 15Gi storageClass: default global: repo1-retention-full: \u0026#39;7\u0026#39; repo1-retention-full-type: count This example creates backups based on a repo host with a daily full Backup at 2:30 am. In addition, pgBackRest is instructed to keep a maximum of 7 full Backups. The oldest one is always removed when a new Backup is created. You can increase the pvc-size all time if needed. Therefore you just need to update the size value to a higher amount of Gi. Please be aware that shrinking the volume is not possible.\nIn addition, further configurations for pgBackRest can be defined in the global object. Information on possible configurations can be found in the pgBackRest documentation ","description":" Backups on PVC (PersistentVolumeClaim) When using block storage, the operator creates an additional pod that acts as a repo host. Based on a TLS connection, the repo host obtains the data for the Backup from the current primary of the cluster, which is compressed before being sent. WAL archives are pushed from the primary pod to the repo host.\n"},{"id":4,"href":"/CYBERTEC-pg-operator/backup/aws/","title":"via S3","parent":"Backup","content":"This chapter describes the use of pgBackRest in combination with with AWS S3 or S3-compatible storage such as MinIO, Cloudian HyperStore or SwiftStack. It is not absolutely necessary to operate a Kubernetes on the AWS Cloud Platform. However, as with any cloud storage, the efficiency and therefore the duration of a backup depends on the connection.\nThis Chapter will use AWS S3 for the example, the usage of different s3-compatible Storage is similiar.\nPrecondition: a S3-bucket and a priviledged role with credentials is needed for this chapter. Create a s3-bucket on the AWS console Create a priviledged service-role Modifying the Cluster As soon as all requirements are met:\nA S3 bucket Access-Token and Secret-Access-Key for the service role with the required authorisations for the bucket the cluster can be modified. Firstly, a secret containing the Credentials is created and the cluster manifest is adapted accordingly.\nThe first step is to create the required secret. This is most easily done storing the needed data in a file called s3.conf and using a kubectl command.\n# Create a file with name s3.conf and add the following infos. Please replace the placeholder by the credentials [global] repo1-s3-key=YOUR_S3_ACCESS_KEY repo1-s3-key-secret=YOUR_S3_KEY_SECRET repo1-cipher-pass=YOUR_ENCRYPTION_PASSPHRASE # Create the secret with the credentials kubectl create secret generic cluster-1-s3-credentials --from-file=s3.conf=s3.conf In the next step, the secret name ais stored in the secret in the cluster manifest. In addition, global settings, such as the retention time of the backups in the global object, are defined, the image for pgBackRest is specified and the necessary information for the repository is added. This includes both the desired storage path in the bucket and the times for automatic backups based on the cron syntax.\napiVersion: cpo.opensource.cybertec.at/v1 kind: postgresql metadata: name: cluster namespace: cpo spec: backup: pgbackrest: image: \u0026#39;docker.io/cybertecpostgresql/cybertec-pg-container:pgbackrest-16.4-1\u0026#39; repos: - endpoint: \u0026#39;https://s3-zurich.cyberlink.cloud:443\u0026#39; name: repo1 region: zurich resource: cpo-cluster-bucket schedule: full: 30 2 * * * incr: \u0026#39;*/30 * * * *\u0026#39; storage: s3 configuration: secret: cluster-1-s3-credential global: repo1-path: /cluster/repo1/ repo1-retention-full: \u0026#39;7\u0026#39; repo1-retention-full-type: count This example creates a backup in the defined S3 bucket. In addition to the above configurations, a secret is also required which contains the access data for the S3 storage. The name of the secret must be stored in the spec.backup.pgbackrest.configuration.secret object and the secret must be located in the same namespace as the cluster. Information required to address the S3 bucket:\nEndpoint: S3 api endpoint Region: Region of the bucket resource: Name of the bucket An example with a sercret generator is also available in the tutorials. Enter your access data in the s3.conf file and transfer the tutorial to your Kubernetes with kubectl apply -k cluster-tutorials/pgbackrest_with_s3/.\n","description":"This chapter describes the use of pgBackRest in combination with with AWS S3 or S3-compatible storage such as MinIO, Cloudian HyperStore or SwiftStack. It is not absolutely necessary to operate a Kubernetes on the AWS Cloud Platform. However, as with any cloud storage, the efficiency and therefore the duration of a backup depends on the connection.\nThis Chapter will use AWS S3 for the example, the usage of different s3-compatible Storage is similiar.\n"},{"id":5,"href":"/CYBERTEC-pg-operator/architecture/compontens/","title":"Software-Components","parent":"Architecture","content":"Various software components are used to operate CPO. This chapter lists the most important components and their respective purposes.\nBasically, the CPO project focusses on the main tasks of each individual component. This means that each component does what it does best and only that. In addition to reliable operation, this should also ensure efficient development and project management that utilises existing approaches rather than fighting against them.\n1. CYBERTEC-pg-operator The CYBERTEC-pg-operator is a Kubernetes operator that automates the operation and management of PostgreSQL databases on Kubernetes clusters. It facilitates the provisioning, scaling, backup and recovery of PostgreSQL clusters and integrates tools such as Patroni and pgBackRest for high availability and backup management.\nThe main focus of the operator is the creation of the necessary templates and objects for Kubernetes, the regular check whether the declarative description of the cluster is still up to date and for the implementation of various tasks in the cluster, which were commissioned by the user.\n2. Kubernetes Kubernetes is an open source platform for automating the deployment, scaling and management of containerised applications. It enables the management of container clusters in different environments and offers functions such as automatic load balancing, self-healing and rollouts. Kubernetes ensures that applications are always available and scalable and provides a framework for managing infrastructure in a cloud-native environment.\nThe focus of Kubernetes in the context of CPO is the use of the operator\u0026rsquo;s templates to create the required objects. For example, the statefulset controller creates the desired pods based on the template. Kubernetes or the respective controllers monitor the generated objects independently and react if they are missing or do not correspond to the template. This means, for example, that pods that have been removed are automatically regenerated even if the operator is not currently running. This avoids the operator as a single point of failure.\n3. Patroni Patroni is an open source tool for managing PostgreSQL high availability clusters. It uses a distributed consensus mechanism, often based on Etcd, Consul or Zookeeper, to manage the role of the PostgreSQL primary node and perform automatic failovers. Patroni ensures that only one primary database server is active at a time, enabling consistency and availability of PostgreSQL databases in a cluster.\nThe focus of Patroni is to build, configure and monitor the PostgreSQL cluster based on the configuration created by the operator. Patroni therefore takes over all tasks such as leader selection, cluster monitoring, auto-failover and much more independently. Patroni is included in every PostgreSQL container and therefore pod and focussed on the individual cluster. This means that cluster management is guaranteed even without a currently running operator and therefore runs independently of the operator. This avoids the operator as a single point of failure.\n4. PostgreSQL PostgreSQL is a powerful, open source object-relational database management system (ORDBMS). It is known for its reliability, robustness and compliance with SQL standards. PostgreSQL supports advanced data types, functions and offers extensive customisation options. It is suitable for applications of any size and offers strong support for ACID transactions and Multi-Version Concurrency Control (MVCC).\nThe main role of PostgreSQL in the context of CPO is quite clear. Controlled by Patroni, PostgreSQL takes care of its task as a DBMS.\n5. pgBackRest pgBackRest is a reliable backup and restore tool for PostgreSQL databases. It offers features such as incremental backups, parallel backup and restore, compression and encryption. pgBackRest is designed for use in large databases and offers both local and remote backup options. It integrates well into Kubernetes environments and enables automated and efficient backup strategies.\npgBackRest is configured based on the cluster manifest and therefore via the operator. Automatic backups, on the other hand, are based on Kubernetes cron jobs and are therefore independent of the operator, apart from the template generation by the operator.\n6. pgBouncer PgBouncer is a lightweight connection pooler for PostgreSQL. It reduces the load on the database server by consolidating and efficiently managing incoming client connections. PgBouncer improves the performance and scalability of PostgreSQL-based applications by reducing the number of active connections while enabling fast switching times between different connections.\n","description":"Various software components are used to operate CPO. This chapter lists the most important components and their respective purposes.\nBasically, the CPO project focusses on the main tasks of each individual component. This means that each component does what it does best and only that. In addition to reliable operation, this should also ensure efficient development and project management that utilises existing approaches rather than fighting against them.\n1. CYBERTEC-pg-operator The CYBERTEC-pg-operator is a Kubernetes operator that automates the operation and management of PostgreSQL databases on Kubernetes clusters. It facilitates the provisioning, scaling, backup and recovery of PostgreSQL clusters and integrates tools such as Patroni and pgBackRest for high availability and backup management.\n"},{"id":6,"href":"/CYBERTEC-pg-operator/customize_cluster/additional-volumes/","title":"Additional Volumes","parent":"Customize Cluster","content":" additionalVolumes: - name: empty mountPath: /opt/empty targetContainers: - all volumeSource: emptyDir: {} # - name: data # mountPath: /home/postgres/pgdata/partitions # targetContainers: # - postgres # volumeSource: # PersistentVolumeClaim: # claimName: pvc-postgresql-data-partitions # readyOnly: false # - name: conf # mountPath: /etc/telegraf # subPath: telegraf.conf # targetContainers: # - telegraf-sidecar # volumeSource: # configMap: # name: my-config-map ","description":" additionalVolumes: - name: empty mountPath: /opt/empty targetContainers: - all volumeSource: emptyDir: {} # - name: data # mountPath: /home/postgres/pgdata/partitions # targetContainers: # - postgres # volumeSource: # PersistentVolumeClaim: # claimName: pvc-postgresql-data-partitions # readyOnly: false # - name: conf # mountPath: /etc/telegraf # subPath: telegraf.conf # targetContainers: # - telegraf-sidecar # volumeSource: # configMap: # name: my-config-map "},{"id":7,"href":"/CYBERTEC-pg-operator/backup/gcs/","title":"via GCS","parent":"Backup","content":"This chapter describes the use of pgBackRest in combination with Google Cloud Storage (gcs). It is not absolutely necessary to operate a Kubernetes on the Google Cloud Platform. However, as with any cloud storage, the efficiency and therefore the duration of a backup depends on the connection.\nPrecondition: a gcs-bucket and a priviledged role is needed for this chapter. Create a gcs-bucket on the google cloud console Create a priviledged service-role Modifying the Cluster As soon as all requirements are met:\nA GCS bucket A JSON token for the service role with the required authorisations for the bucket the cluster can be modified. Firstly, a secret containing the JSON token is created and the cluster manifest is adapted accordingly.\nThe first step is to create the required secret. This is most easily done using a kubectl command.\nkubectl create secret generic cluster-1-gcs-credentials --from-file=gcs.json=fluent.json In the next step, both the secret name and the file name of the JSON token are stored in the secret in the cluster manifest. In addition, global settings, such as the retention time of the backups in the global object, are defined, the image for pgBackRest is specified and the necessary information for the repository is added. This includes both the desired storage path in the bucket and the times for automatic backups based on the cron syntax.\napiVersion: cpo.opensource.cybertec.at/v1 kind: postgresql metadata: name: cluster-1 spec: backup: pgbackrest: configuration: secret: cluster-1-gcs-credentials global: repo1-path: /cluster-1/repo1/ repo1-retention-full: \u0026#39;7\u0026#39; repo1-retention-full-type: count image: docker.io/cybertecpostgresql/cybertec-pg-container:pgbackrest-16.4-1\u0026#39; repos: - name: repo1 resource: postgresql-backup-bucket key: gcs.json keyType: service schedule: full: 30 2 * * * storage: gcs ","description":"This chapter describes the use of pgBackRest in combination with Google Cloud Storage (gcs). It is not absolutely necessary to operate a Kubernetes on the Google Cloud Platform. However, as with any cloud storage, the efficiency and therefore the duration of a backup depends on the connection.\nPrecondition: a gcs-bucket and a priviledged role is needed for this chapter. Create a gcs-bucket on the google cloud console Create a priviledged service-role Modifying the Cluster As soon as all requirements are met:\n"},{"id":8,"href":"/CYBERTEC-pg-operator/architecture/rolling_update/","title":"Rolling-Updates","parent":"Architecture","content":"Whether updating the minor version, changing the hardware definitions of the cluster or other adjustments that require a pod restart, CPO ensures that the update is as uninterrupted as possible.\nThis means that adjustments are carried out on the various pods of a particular cluster one after the other and in a sensible sequence. This happens as soon as a cluster consists of more than 1 PostgreSQL node.\nIn the event of a necessary restart, the operator independently stops the pods and does not leave this to Kubernetes. The idea behind this is that all replica pods are restarted one after the other first. The operator recognises these by the label cpo.opensource.cybertec.at/role=replica set by Patroni\nAs soon as all replicas are ready again, the operator checks whether one of the replicas is able to take over cluster operation and performs a switchover. Only then is the former leader pod stopped and restarted.\nThis ensures that the only effect on the application is the switchover. A completely uninterrupted handover of operation is not possible due to the architecture and connection handling of PostgreSQL. ","description":"Whether updating the minor version, changing the hardware definitions of the cluster or other adjustments that require a pod restart, CPO ensures that the update is as uninterrupted as possible.\nThis means that adjustments are carried out on the various pods of a particular cluster one after the other and in a sensible sequence. This happens as soon as a cluster consists of more than 1 PostgreSQL node.\nIn the event of a necessary restart, the operator independently stops the pods and does not leave this to Kubernetes. The idea behind this is that all replica pods are restarted one after the other first. The operator recognises these by the label cpo.opensource.cybertec.at/role=replica set by Patroni\n"},{"id":9,"href":"/CYBERTEC-pg-operator/backup/azure_blob/","title":"via Azure-Blob","parent":"Backup","content":"This chapter describes the use of pgBackRest in combination with Azure Blob Storage. It is not absolutely necessary to operate a Kubernetes on the Azure Cloud Platform. However, as with any cloud storage, the efficiency and therefore the duration of a backup depends on the connection.\nPrecondition: a blob-storage-volume and a priviledged role is needed for this chapter. Create a blob-storage-volume on the Azure console Create a priviledged service-role Modifying the Cluster As soon as all requirements are met:\nAn Azure-Blob-Storage-Volume A JSON token for the service role with the required authorisations for the Volume the cluster can be modified. Firstly, a secret containing the JSON token is created and the cluster manifest is adapted accordingly.\nThe first step is to create the required secret. This is most easily done using a kubectl command.\nkubectl create secret generic cluster-1-gcs-credentials --from-file=gcs.json=fluent.json In the next step, both the secret name and the file name of the JSON token are stored in the secret in the cluster manifest. In addition, global settings, such as the retention time of the backups in the global object, are defined, the image for pgBackRest is specified and the necessary information for the repository is added. This includes both the desired storage path in the bucket and the times for automatic backups based on the cron syntax.\napiVersion: cpo.opensource.cybertec.at/v1 kind: postgresql metadata: name: cluster-1 spec: backup: pgbackrest: configuration: secret: cluster-1-gcs-credentials global: repo1-path: /cluster-1/repo1/ repo1-retention-full: \u0026#39;7\u0026#39; repo1-retention-full-type: count image: docker.io/cybertecpostgresql/cybertec-pg-container:pgbackrest-16.4-1\u0026#39; repos: - name: repo1 resource: postgresql-backup-bucket key: gcs.json keyType: service schedule: full: 30 2 * * * storage: gcs ","description":"This chapter describes the use of pgBackRest in combination with Azure Blob Storage. It is not absolutely necessary to operate a Kubernetes on the Azure Cloud Platform. However, as with any cloud storage, the efficiency and therefore the duration of a backup depends on the connection.\nPrecondition: a blob-storage-volume and a priviledged role is needed for this chapter. Create a blob-storage-volume on the Azure console Create a priviledged service-role Modifying the Cluster As soon as all requirements are met:\n"},{"id":10,"href":"/CYBERTEC-pg-operator/backup/encryption/","title":"Encrypted Backups","parent":"Backup","content":"pgBackRest also allows you to encrypt your backups on the client side before uploading them. This is possible with any type of storage and is very easy to activate.\nFirstly, we need to define an encryption key. This must be specified separately for each repo and stored in the same secret that is defined in the spec.backup.pgbackrest.configuration.secret object.\nkind: Secret apiVersion: v1 metadata: name: cluster-1-s3-credential namespace: cpo stringData: s3.conf | [global] repo1-s3-key=YOUR_S3_KEY repo1-s3-key-secret=YOUR_S3_KEY_SECRET repo1-cipher-pass=YOUR_ENCRYPTION_KEY We also need to configure the type of encryption for pgBackRest. This is done via the cipher-type parameter, which must also be specified for each repo. You can find the available values for the parameter here\napiVersion: cpo.opensource.cybertec.at/v1 kind: postgresql metadata: name: cluster namespace: cpo spec: backup: pgbackrest: configuration: secret: cluster-1-s3-credential global: repo1-path: /cluster/repo1/ repo1-retention-full: \u0026#39;7\u0026#39; repo1-retention-full-type: count repo1-cipher-type: aes-256-cbc image: \u0026#39;docker.io/cybertecpostgresql/cybertec-pg-container:pgbackrest-16.4-1\u0026#39; repos: - endpoint: \u0026#39;https://s3-zurich.cyberlink.cloud:443\u0026#39; name: repo1 region: zurich resource: cpo-cluster-bucket schedule: full: 30 2 * * * incr: \u0026#39;*/30 * * * *\u0026#39; storage: s3 ","description":"pgBackRest also allows you to encrypt your backups on the client side before uploading them. This is possible with any type of storage and is very easy to activate.\nFirstly, we need to define an encryption key. This must be specified separately for each repo and stored in the same secret that is defined in the spec.backup.pgbackrest.configuration.secret object.\nkind: Secret apiVersion: v1 metadata: name: cluster-1-s3-credential namespace: cpo stringData: s3.conf | [global] repo1-s3-key=YOUR_S3_KEY repo1-s3-key-secret=YOUR_S3_KEY_SECRET repo1-cipher-pass=YOUR_ENCRYPTION_KEY We also need to configure the type of encryption for pgBackRest. This is done via the cipher-type parameter, which must also be specified for each repo. You can find the available values for the parameter here\n"},{"id":11,"href":"/CYBERTEC-pg-operator/backup/check_backups/","title":"Check/Monitor Backups","parent":"Backup","content":"There are several ways to gain an insight into the current status of pgBackRest. One of these is to use pgBackRest within the container. This can be done both via the repo host and the Postgres pod.\npgbackrest via terminal (Repo-Host-Pod) kubectl exec cluster-5-pgbackrest-repo-host-0 --stdin --tty -- pgbackrest info stanza: db status: ok cipher: none db (current) wal archive min/max (16): 00000006000000000000005C/000000070000000000000092 full backup: 20240517-125730F timestamp start/stop: 2024-05-17 12:57:30+00 / 2024-05-17 12:57:41+00 wal start/stop: 00000007000000000000005E / 00000007000000000000005E database size: 22.9MB, database backup size: 22.9MB repo1: backup set size: 3MB, backup size: 3MB incr backup: 20240517-125730F_20240517-130003I timestamp start/stop: 2024-05-17 13:00:03+00 / 2024-05-17 13:00:05+00 wal start/stop: 000000070000000000000060 / 000000070000000000000060 database size: 22.9MB, database backup size: 904.3KB repo1: backup set size: 3MB, backup size: 149.4KB backup reference list: 20240517-125730F incr backup: 20240517-125730F_20240517-131503I timestamp start/stop: 2024-05-17 13:15:03+00 / 2024-05-17 13:15:04+00 wal start/stop: 000000070000000000000062 / 000000070000000000000062 database size: 22.9MB, database backup size: 24.3KB repo1: backup set size: 3MB, backup size: 2.9KB backup reference list: 20240517-125730F, 20240517-125730F_20240517-130003I pgbackrest via terminal (Postgres-Pod) kubectl exec cluster-5-0 --stdin --tty -- pgbackrest info Defaulted container \u0026#34;postgres\u0026#34; out of: postgres, postgres-exporter, pgbackrest-restore (init) stanza: db status: ok cipher: none db (current) wal archive min/max (16): 00000006000000000000005C/000000070000000000000092 full backup: 20240517-125730F timestamp start/stop: 2024-05-17 12:57:30+00 / 2024-05-17 12:57:41+00 wal start/stop: 00000007000000000000005E / 00000007000000000000005E database size: 22.9MB, database backup size: 22.9MB repo1: backup set size: 3MB, backup size: 3MB incr backup: 20240517-125730F_20240517-130003I timestamp start/stop: 2024-05-17 13:00:03+00 / 2024-05-17 13:00:05+00 wal start/stop: 000000070000000000000060 / 000000070000000000000060 database size: 22.9MB, database backup size: 904.3KB repo1: backup set size: 3MB, backup size: 149.4KB backup reference list: 20240517-125730F incr backup: 20240517-125730F_20240517-131503I timestamp start/stop: 2024-05-17 13:15:03+00 / 2024-05-17 13:15:04+00 wal start/stop: 000000070000000000000062 / 000000070000000000000062 database size: 22.9MB, database backup size: 24.3KB repo1: backup set size: 3MB, backup size: 2.9KB backup reference list: 20240517-125730F, 20240517-125730F_20240517-130003I There is the \u0026ldquo;normal\u0026rdquo; output, as well as the output format Json, which can be processed directly in the terminal.\nkubectl exec cluster-5-0 --stdin --tty -- pgbackrest info --output=json Check pgBackrest via Monitoring In addition to reading the status via the containers, pgBackRest can also be analysed and monitored via the monitoring stack. You can find information on setting up the monitoring stack and further information here.\n","description":"There are several ways to gain an insight into the current status of pgBackRest. One of these is to use pgBackRest within the container. This can be done both via the repo host and the Postgres pod.\npgbackrest via terminal (Repo-Host-Pod) kubectl exec cluster-5-pgbackrest-repo-host-0 --stdin --tty -- pgbackrest info stanza: db status: ok cipher: none db (current) wal archive min/max (16): 00000006000000000000005C/000000070000000000000092 full backup: 20240517-125730F timestamp start/stop: 2024-05-17 12:57:30+00 / 2024-05-17 12:57:41+00 wal start/stop: 00000007000000000000005E / 00000007000000000000005E database size: 22.9MB, database backup size: 22.9MB repo1: backup set size: 3MB, backup size: 3MB incr backup: 20240517-125730F_20240517-130003I timestamp start/stop: 2024-05-17 13:00:03+00 / 2024-05-17 13:00:05+00 wal start/stop: 000000070000000000000060 / 000000070000000000000060 database size: 22.9MB, database backup size: 904.3KB repo1: backup set size: 3MB, backup size: 149.4KB backup reference list: 20240517-125730F incr backup: 20240517-125730F_20240517-131503I timestamp start/stop: 2024-05-17 13:15:03+00 / 2024-05-17 13:15:04+00 wal start/stop: 000000070000000000000062 / 000000070000000000000062 database size: 22.9MB, database backup size: 24.3KB repo1: backup set size: 3MB, backup size: 2.9KB backup reference list: 20240517-125730F, 20240517-125730F_20240517-130003I pgbackrest via terminal (Postgres-Pod) kubectl exec cluster-5-0 --stdin --tty -- pgbackrest info Defaulted container \u0026#34;postgres\u0026#34; out of: postgres, postgres-exporter, pgbackrest-restore (init) stanza: db status: ok cipher: none db (current) wal archive min/max (16): 00000006000000000000005C/000000070000000000000092 full backup: 20240517-125730F timestamp start/stop: 2024-05-17 12:57:30+00 / 2024-05-17 12:57:41+00 wal start/stop: 00000007000000000000005E / 00000007000000000000005E database size: 22.9MB, database backup size: 22.9MB repo1: backup set size: 3MB, backup size: 3MB incr backup: 20240517-125730F_20240517-130003I timestamp start/stop: 2024-05-17 13:00:03+00 / 2024-05-17 13:00:05+00 wal start/stop: 000000070000000000000060 / 000000070000000000000060 database size: 22.9MB, database backup size: 904.3KB repo1: backup set size: 3MB, backup size: 149.4KB backup reference list: 20240517-125730F incr backup: 20240517-125730F_20240517-131503I timestamp start/stop: 2024-05-17 13:15:03+00 / 2024-05-17 13:15:04+00 wal start/stop: 000000070000000000000062 / 000000070000000000000062 database size: 22.9MB, database backup size: 24.3KB repo1: backup set size: 3MB, backup size: 2.9KB backup reference list: 20240517-125730F, 20240517-125730F_20240517-130003I There is the \u0026ldquo;normal\u0026rdquo; output, as well as the output format Json, which can be processed directly in the terminal.\n"},{"id":12,"href":"/CYBERTEC-pg-operator/project/","title":"CPO","parent":"CPO (CYBERTEC-PG-Operator)","content":"","description":""},{"id":13,"href":"/CYBERTEC-pg-operator/project/project/","title":"The Project","parent":"CPO","content":"The CYBERTEC PostgreSQL Operator (CPO) enables the simple provision and management of PostgreSQL clusters on Kubernetes. It reduces the administration effort and facilitates the management of single-node and HA clusters.\nMain components CYBERTEC-pg-operator: Kubernetes operator for the automation of PostgreSQL clusters. CYBERTEC-pg-container: Docker container suite for PostgreSQL, Patroni and etcd for the provision of HA clusters. CYBERTEC-operator-tutorials: Tutorials and instructions for installing and using the operator. Features Cluster management: Single-node and HA (High Availability) clusters via Patroni Reduction of downtime thanks to redundancy, pod anti-affinity, auto-failover and self-healing Automated failover Live volume resize without pod restarts Basic credential and user management on K8s, eases application deployments Compatible with OpenShift and Rancher PostgreSQL compatibility: Supports PostgreSQL versions 13 to 17 Inplace upgrades for smooth version changes and minimal downtime Extensive extension support, including pgAudit, TimescaleDB and PostGIS Standby-Cluster Backup \u0026amp; Restore: Integrated pgBackRest support Automatic backups Point-in-Time- and Snapshot-based Restores / Disaster Recovery Connection management: pgBouncer for connection pooling Monitoring \u0026amp; alerting stack Integrated metrics exporter Prometheus, alert manager for metrics collection and alerting Grafana for visual monitoring of the clusters Operator UI: Web interface for managing clusters Installation Detailed instructions on installation and configuration can be found in the CYBERTEC operator tutorials and in the following chapters Example of installation via Helm:\nhelm repo add cybertec https://cybertec-postgresql.github.io/helm-charts/ helm install pg-operator cybertec/cybertec-pg-operator More information: Installation\nContribution This project is open source, and contributions to its further development are expressly encouraged. Possible forms of contribution:\nBug reports and feature requests Code contributions (pull requests welcome) Improvement of the documentation Further details on contributions can be found in the respective GitHub repositories. Licence The CYBERTEC PostgreSQL Operator is licensed under the Apache 2.0 licence.\n","description":"The CYBERTEC PostgreSQL Operator (CPO) enables the simple provision and management of PostgreSQL clusters on Kubernetes. It reduces the administration effort and facilitates the management of single-node and HA clusters.\nMain components CYBERTEC-pg-operator: Kubernetes operator for the automation of PostgreSQL clusters. CYBERTEC-pg-container: Docker container suite for PostgreSQL, Patroni and etcd for the provision of HA clusters. CYBERTEC-operator-tutorials: Tutorials and instructions for installing and using the operator. Features Cluster management: Single-node and HA (High Availability) clusters via Patroni Reduction of downtime thanks to redundancy, pod anti-affinity, auto-failover and self-healing Automated failover Live volume resize without pod restarts Basic credential and user management on K8s, eases application deployments Compatible with OpenShift and Rancher PostgreSQL compatibility: Supports PostgreSQL versions 13 to 17 Inplace upgrades for smooth version changes and minimal downtime Extensive extension support, including pgAudit, TimescaleDB and PostGIS Standby-Cluster Backup \u0026amp; Restore: Integrated pgBackRest support Automatic backups Point-in-Time- and Snapshot-based Restores / Disaster Recovery Connection management: pgBouncer for connection pooling Monitoring \u0026amp; alerting stack Integrated metrics exporter Prometheus, alert manager for metrics collection and alerting Grafana for visual monitoring of the clusters Operator UI: Web interface for managing clusters Installation Detailed instructions on installation and configuration can be found in the CYBERTEC operator tutorials and in the following chapters Example of installation via Helm:\n"},{"id":14,"href":"/CYBERTEC-pg-operator/project/container_images/","title":"Container Images","parent":"CPO","content":"For each version of the operator and the required PostgreSQL and other required containers, the corresponding image is provided on Dockerhub.\nOperator container images The operator images are the central components that control the operation and administration of the PostgreSQL databases. These images are available in the following repository on DockerHub:\nOperator Images\nThe repository contains all the necessary images for running the Cybertec PG Operator in a Kubernetes environment. These images are updated regularly to ensure the latest features and security updates.\nAdditional container images In addition to the operator images, various container images are required to support a complete PostgreSQL environment. These images are available in the following repository: CYBERTEC-PG-Container Images\nThis repository contains images for the following components:\nPostgreSQL: The main database image, which contains all supported major versions of PostgreSQL. The name of the tag always reflects the latest release, e.g. currently 17.4 for PostgreSQL 17.4. For the other major versions, the corresponding minor versions released by the PostgreSQL community at the same time are included. Postgres-GIS: A specialised image that combines PostgreSQL with the PostGIS extension to support spatial data processing functions. You can find more information about Postgis here.\nThe tag for Postgis also includes the included version of Postgis. Example: postgres-gis-17.4-34-1 Postgis: 3.4.x PGBackRest: A backup and restore tool developed specifically for PostgreSQL and available as a separate container image. Exporter: Images for monitoring PostgreSQL databases that collect metrics and make them available for monitoring tools such as Prometheus. PgBouncer: A lightweight connection pooler for PostgreSQL that manages and optimises the number of concurrent connections. Extensions You can view the versions included in the Extensions section.\n","description":"For each version of the operator and the required PostgreSQL and other required containers, the corresponding image is provided on Dockerhub.\nOperator container images The operator images are the central components that control the operation and administration of the PostgreSQL databases. These images are available in the following repository on DockerHub:\n"},{"id":15,"href":"/CYBERTEC-pg-operator/architecture/","title":"Architecture","parent":"CPO (CYBERTEC-PG-Operator)","content":"","description":""},{"id":16,"href":"/CYBERTEC-pg-operator/crd/crd-postgresql/","title":"PostgreSQL","parent":"References","content":" CRD for kind postgresql Name Type required Description apiVersion string true acid.zalando.do/v1 kind string true metadata object true spec object true status object false spec Name Type required Description additionalVolumes array false List of additional volumes to mount in each container of the statefulset pod allowedSourceRanges array false The corresponding load balancer is accessible only to the networks defined by this parameter backup object false Enables the definition of a customised backup solution for the cluster clone object false Defines the clone-target for the Cluster connectionPooler object false Defines the configuration and settings for every type of a connectionPoolers (Primary and Replica). databases map false Defines the name of the database, they are created by the operator. See tutorial dockerImage string true Defines the used PostgreSQL-Container-Image for this cluster enableLogicalBackup boolean false Enable logical Backups for this Cluster (Stored on S3) - s3-configuration for Operator is needed (Not for pgBackRest) enableConnectionPooler boolean false creates a ConnectionPooler for the primary Pod enableReplicaConnectionPooler boolean false creates a ConnectionPooler for the replica Pods enableMasterLoadBalancer boolean false Define whether to enable the load balancer pointing to the Postgres primary enableReplicaLoadBalancer boolean false Define whether to enable the load balancer pointing to the Postgres replicas enableMasterPoolerLoadBalancer boolean false Define whether to enable the load balancer pointing to the primary ConnectionPooler enableReplicaPoolerLoadBalancer boolean false Define whether to enable the load balancer pointing to the Replica-ConnectionPooler enableShmVolume boolean false Start a database pod without limitations on shm memory. By default Docker limit /dev/shm to 64M (see e.g. the docker issue, which could be not enough if PostgreSQL uses parallel workers heavily. If this option is present and value is true, to the target database pod will be mounted a new tmpfs volume to remove this limitation. env array false Allows to add own Envs to the PostgreSQL containers initContainers array false Enables the definition of init-containers logicalBackupSchedule string false Enables the scheduling of logical backups based on cron-syntax. Example: 30 00 * * * maintenanceWindows array false Enables the definition of maintenance windows for the cluster. Example: Sat:00:00-04:00 masterServiceAnnotations map false Enables the definition of annotations for the Primary Service monitor map false Enables monitoring on the basis of the defined image nodeAffinity map false Enables overwriting of the nodeAffinity numberOfInstances int true Number of nodes of the cluster patroni map false Enables the customisation of patroni settings podPriorityClassName string false a name of the priority class that should be assigned to the cluster pods. If not set then the default priority class is taken. The priority class itself must be defined in advance podAnnotations map false A map of key value pairs that gets attached as annotations to each pod created for the database. postgresql map false Enables the customisation of PostgreSQL settings and parameters preparedDatabases map false Allows you to define databases including owner, schemas and extension and have the operator generate them. item See tutorial replicaServiceAnnotations map false Enables the definition of annotations for the Replica Service resources map true CPU \u0026amp; Memory (Limit \u0026amp; Request) definition for the Postgres container ServiceAnnotations map false A map of key value pairs that gets attached as annotations to each Service created for the database. sidecars array false Enables the definition of custom sidecars spiloFSGroup int false the Persistent Volumes for the Spilo pods in the StatefulSet will be owned and writable by the group ID specified. This will override the spilo_fsgroup operator parameter spiloRunAsGroup int false sets the group ID which should be used in the container to run the process. spiloRunAsUser int false Sets the user ID which should be used in the container to run the process. This must be set to run the container without root. standby map false Enables the creation of a standby cluster at the time of the creation of a new cluster streams array false Enables change data capture streams for defined database tables tde map false Enables the activation of TDE if a new cluster is created teamId string true name of the team the cluster belongs to. Will be removed soon tls map false Custom TLS certificate tolerations array false a list of tolerations that apply to the cluster pods. Each element of that list is a dictionary with the following fields: key, operator, value, effect and tolerationSeconds topologySpreadConstraints map false Enables the definition of a topologySpreadConstraint. See K8s-Documentation users map false a map of usernames to user flags for the users that should be created in the cluster by the operator. See tutorial usersWithSecretRotation list false list of users to enable credential rotation in K8s secrets. The rotation interval can only be configured globally. usersWithInPlaceSecretRotation list false list of users to enable in-place password rotation in K8s secrets. The rotation interval can only be configured globally. volume map true define the properties of the persistent storage that stores Postgres data ⬅ Back to Parent additionalVolumes Name Type required Description name string true Enables the definition of a pgbackrest-setup for the cluster mountPath string true Enables the definition of a pgbackrest-setup for the cluster targetContainers array true Enables the definition of a pgbackrest-setup for the cluster subPath string false Enables the definition of a pgbackrest-setup for the cluster isSubPathExpr boolean false Enables the definition of a pgbackrest-setup for the cluster volumeSource map true Enables the definition of a pgbackrest-setup for the cluster ⬅ Back to Parent backup Name Type required Description pgbackrest object false Enables the definition of a pgbackrest-setup for the cluster ⬅ Back to Parent clone Name Type required Description cluster string true Name of the cluster to be cloned. Random value if the cluster does not exist locally. pgbackrest object false Enables the definition of a pgbackrest-setup for the cluster ⬅ Back to Parent connectionPooler Name Type required Description numberOfInstances int true Number of Pods per Pooler mode string true pooling mode for pgBouncer (session, transaction, statement) schema string true Schema for Pooler (Default: pooler) user string true Username for Pooler (Default: pooler) maxDBConnections string true maxConnections to the DB-Pod(s) resources map true CPU \u0026amp; Memory (Limit \u0026amp; Request) definition for the Pooler ⬅ Back to Parent ","description":" CRD for kind postgresql Name Type required Description apiVersion string true acid.zalando.do/v1 kind string true metadata object true spec object true status object false spec Name Type required Description additionalVolumes array false List of additional volumes to mount in each container of the statefulset pod allowedSourceRanges array false The corresponding load balancer is accessible only to the networks defined by this parameter backup object false Enables the definition of a customised backup solution for the cluster clone object false Defines the clone-target for the Cluster connectionPooler object false Defines the configuration and settings for every type of a connectionPoolers (Primary and Replica). databases map false Defines the name of the database, they are created by the operator. See tutorial dockerImage string true Defines the used PostgreSQL-Container-Image for this cluster enableLogicalBackup boolean false Enable logical Backups for this Cluster (Stored on S3) - s3-configuration for Operator is needed (Not for pgBackRest) enableConnectionPooler boolean false creates a ConnectionPooler for the primary Pod enableReplicaConnectionPooler boolean false creates a ConnectionPooler for the replica Pods enableMasterLoadBalancer boolean false Define whether to enable the load balancer pointing to the Postgres primary enableReplicaLoadBalancer boolean false Define whether to enable the load balancer pointing to the Postgres replicas enableMasterPoolerLoadBalancer boolean false Define whether to enable the load balancer pointing to the primary ConnectionPooler enableReplicaPoolerLoadBalancer boolean false Define whether to enable the load balancer pointing to the Replica-ConnectionPooler enableShmVolume boolean false Start a database pod without limitations on shm memory. By default Docker limit /dev/shm to 64M (see e.g. the docker issue, which could be not enough if PostgreSQL uses parallel workers heavily. If this option is present and value is true, to the target database pod will be mounted a new tmpfs volume to remove this limitation. env array false Allows to add own Envs to the PostgreSQL containers initContainers array false Enables the definition of init-containers logicalBackupSchedule string false Enables the scheduling of logical backups based on cron-syntax. Example: 30 00 * * * maintenanceWindows array false Enables the definition of maintenance windows for the cluster. Example: Sat:00:00-04:00 masterServiceAnnotations map false Enables the definition of annotations for the Primary Service monitor map false Enables monitoring on the basis of the defined image nodeAffinity map false Enables overwriting of the nodeAffinity numberOfInstances int true Number of nodes of the cluster patroni map false Enables the customisation of patroni settings podPriorityClassName string false a name of the priority class that should be assigned to the cluster pods. If not set then the default priority class is taken. The priority class itself must be defined in advance podAnnotations map false A map of key value pairs that gets attached as annotations to each pod created for the database. postgresql map false Enables the customisation of PostgreSQL settings and parameters preparedDatabases map false Allows you to define databases including owner, schemas and extension and have the operator generate them. item See tutorial replicaServiceAnnotations map false Enables the definition of annotations for the Replica Service resources map true CPU \u0026amp; Memory (Limit \u0026amp; Request) definition for the Postgres container ServiceAnnotations map false A map of key value pairs that gets attached as annotations to each Service created for the database. sidecars array false Enables the definition of custom sidecars spiloFSGroup int false the Persistent Volumes for the Spilo pods in the StatefulSet will be owned and writable by the group ID specified. This will override the spilo_fsgroup operator parameter spiloRunAsGroup int false sets the group ID which should be used in the container to run the process. spiloRunAsUser int false Sets the user ID which should be used in the container to run the process. This must be set to run the container without root. standby map false Enables the creation of a standby cluster at the time of the creation of a new cluster streams array false Enables change data capture streams for defined database tables tde map false Enables the activation of TDE if a new cluster is created teamId string true name of the team the cluster belongs to. Will be removed soon tls map false Custom TLS certificate tolerations array false a list of tolerations that apply to the cluster pods. Each element of that list is a dictionary with the following fields: key, operator, value, effect and tolerationSeconds topologySpreadConstraints map false Enables the definition of a topologySpreadConstraint. See K8s-Documentation users map false a map of usernames to user flags for the users that should be created in the cluster by the operator. See tutorial usersWithSecretRotation list false list of users to enable credential rotation in K8s secrets. The rotation interval can only be configured globally. usersWithInPlaceSecretRotation list false list of users to enable in-place password rotation in K8s secrets. The rotation interval can only be configured globally. volume map true define the properties of the persistent storage that stores Postgres data ⬅ Back to Parent additionalVolumes Name Type required Description name string true Enables the definition of a pgbackrest-setup for the cluster mountPath string true Enables the definition of a pgbackrest-setup for the cluster targetContainers array true Enables the definition of a pgbackrest-setup for the cluster subPath string false Enables the definition of a pgbackrest-setup for the cluster isSubPathExpr boolean false Enables the definition of a pgbackrest-setup for the cluster volumeSource map true Enables the definition of a pgbackrest-setup for the cluster ⬅ Back to Parent backup Name Type required Description pgbackrest object false Enables the definition of a pgbackrest-setup for the cluster ⬅ Back to Parent clone Name Type required Description cluster string true Name of the cluster to be cloned. Random value if the cluster does not exist locally. pgbackrest object false Enables the definition of a pgbackrest-setup for the cluster ⬅ Back to Parent connectionPooler Name Type required Description numberOfInstances int true Number of Pods per Pooler mode string true pooling mode for pgBouncer (session, transaction, statement) schema string true Schema for Pooler (Default: pooler) user string true Username for Pooler (Default: pooler) maxDBConnections string true maxConnections to the DB-Pod(s) resources map true CPU \u0026amp; Memory (Limit \u0026amp; Request) definition for the Pooler ⬅ Back to Parent "},{"id":17,"href":"/CYBERTEC-pg-operator/crd/crd-operator-configurator/","title":"Operator-Configuration","parent":"References","content":" Name Type default Description enable_crd_registration boolean true crd_categories string all enable_lazy_spilo_upgrade boolean false enable_pgversion_env_var boolean true enable_spilo_wal_path_combat boolean false etcd_host string kubernetes_use_configmaps boolean false docker_image string sidecars list enable_shm_volume boolean true workers int 8 max_instances int -1 min_instances int -1 resync_period string 30m repair_period string 5m set_memory_request_to_limit boolean false debug_logging boolean true enable_db_access boolean true spilo_privileged boolean false spilo_allow_privilege_escalation boolean true watched_namespace string * major-upgrade-specific Name Type default Description major_version_upgrade_mode string off major_version_upgrade_team_allow_list string minimal_major_version string 9.6 target_major_version string 14 aws-specific Name Type default Description wal_s3_bucket string log_s3_bucket string kube_iam_role string aws_region string additional_secret_mount string additional_secret_mount_path string enable_ebs_gp3_migration boolean enable_ebs_gp3_migration_max_size int logical-backup-specific Name Type default Description logical_backup_docker_image string logical_backup_google_application_credentials string logical_backup_job_prefix string logical_backup_provider string logical_backup_s3_access_key_id string logical_backup_s3_bucket string logical_backup_s3_endpoint string logical_backup_s3_region string logical_backup_s3_secret_access_key string logical_backup_s3_sse string logical_backup_s3_retention_time string logical_backup_schedule string (Cron-Syntax) team-api-specific Name Type default Description enable_teams_api string teams_api_url string teams_api_role_configuration string enable_team_superuser boolean team_admin_role boolean enable_admin_role_for_users boolean pam_role_name string pam_configuration string protected_role_names list postgres_superuser_teams string role_deletion_suffix string enable_team_member_deprecation boolean enable_postgres_team_crd boolean enable_postgres_team_crd_superusers boolean enable_team_id_clustername_prefix boolean ","description":" Name Type default Description enable_crd_registration boolean true crd_categories string all enable_lazy_spilo_upgrade boolean false enable_pgversion_env_var boolean true enable_spilo_wal_path_combat boolean false etcd_host string kubernetes_use_configmaps boolean false docker_image string sidecars list enable_shm_volume boolean true workers int 8 max_instances int -1 min_instances int -1 resync_period string 30m repair_period string 5m set_memory_request_to_limit boolean false debug_logging boolean true enable_db_access boolean true spilo_privileged boolean false spilo_allow_privilege_escalation boolean true watched_namespace string * major-upgrade-specific Name Type default Description major_version_upgrade_mode string off major_version_upgrade_team_allow_list string minimal_major_version string 9.6 target_major_version string 14 aws-specific Name Type default Description wal_s3_bucket string log_s3_bucket string kube_iam_role string aws_region string additional_secret_mount string additional_secret_mount_path string enable_ebs_gp3_migration boolean enable_ebs_gp3_migration_max_size int logical-backup-specific Name Type default Description logical_backup_docker_image string logical_backup_google_application_credentials string logical_backup_job_prefix string logical_backup_provider string logical_backup_s3_access_key_id string logical_backup_s3_bucket string logical_backup_s3_endpoint string logical_backup_s3_region string logical_backup_s3_secret_access_key string logical_backup_s3_sse string logical_backup_s3_retention_time string logical_backup_schedule string (Cron-Syntax) team-api-specific Name Type default Description enable_teams_api string teams_api_url string teams_api_role_configuration string enable_team_superuser boolean team_admin_role boolean enable_admin_role_for_users boolean pam_role_name string pam_configuration string protected_role_names list postgres_superuser_teams string role_deletion_suffix string enable_team_member_deprecation boolean enable_postgres_team_crd boolean enable_postgres_team_crd_superusers boolean enable_team_id_clustername_prefix boolean "},{"id":18,"href":"/CYBERTEC-pg-operator/quickstart/","title":"Quickstart","parent":"CPO (CYBERTEC-PG-Operator)","content":"We can tell and document so much about our project but it seems you just want to get started. Let us show you the fastest way to use CPO.\nPreconditions git helm (optional) kubectl or oc Let\u0026rsquo;s start Step 1 - Preparations To get started, you can fork our tutorial repository on Github and then download it. CYBERTEC-operator-tutorials\ngit clone https://github.com/cybertec-postgresql/CYBERTEC-operator-tutorials.git cd CYBERTEC-operator-tutorials Step 2 - Install the Operator Two options are available for the installation:\nInstallation via Helm-Chart (local or via helmn-repo) Installation via apply Installation via Helm-Chart If you want to use the helm-chart, YOU can decide for yourself whether you want to use the helm-cahrt from the operator-tutorials on github or directly connect the helm-repo for the cpo-project and install the helm-chart over it.\n#add helm-repo (optional) helm repo add cpo https://cybertec-postgresql.github.io/CYBERTEC-operator-tutorials kubectl apply -n cpo -k setup/namespace/. helm install -n cpo cpo cpo/postgres-operator or # use local helm-chart from git kubectl apply -n cpo -k setup/namespace/. helm install cpo -n cpo setup/helm/operator/ Installation via apply kubectl apply -n cpo -k setup/namespace/. kubectl apply -n cpo -k setup/helm/operator/. You can check if the operator pod is in operation.\nkubectl get pods -n cpo --selector=cpo.cybertec.at/pod/type=postgres-operator The result should look like this:\nNAME READY STATUS RESTARTS AGE postgres-operator-599688d948-fw8pw 1/1 Running 0 41s The operator is ready and the setup is complete. The next step is the creation of a Postgres cluster\nStep 3 - Create a Cluster To create a simple cluster, the following command is sufficient\nkubectl apply -n cpo -f cluster-tutorials/single-cluster watch kubectl get pods -n cpo --selector cluster-name=cluster-1 The result should look like this:\nAlle 2.0s: kubectl get pods -n cpo --selector cluster-name=cluster-1 NAME READY STATUS RESTARTS AGE cluster-1-0 2/2 Running 0 28s cluster-1-1 0/2 PodInitializing 0 9s Step 4 - Connect to the Database Get your login information from the secret.\nkubectl get secret -n cpo postgres.cluster-1.credentials.postgresql.cpo.opensource.cybertec.at -o jsonpath=\u0026#39;{.data}\u0026#39; | jq \u0026#39;.|map_values(@base64d)\u0026#39; The result should look like this:\n{ \u0026#34;password\u0026#34;: \u0026#34;2rZG1Kx9asdHscswQGzff4Ru0xW6uasacy3GQ0sjdCH3wWr0kguUXUZek6dkemsf\u0026#34;, \u0026#34;username\u0026#34;: \u0026#34;postgres\u0026#34; } Connection via port-forward kubectl port-forward -n cpo cluster-1-0 5432:5432 # using psql PGPASSWORD=2rZG1Kx9asdHscswQGzffjdCH3wWr0kguUXUZek6dkemsf psql -h 127.0.0.1 -p 5432 -U postgres # using usql PGPASSWORD=2rZG1Kx9asdHscswQGzffjdCH3wWr0kguUXUZek6dkemsf usql postgresql://postgres@127.0.0.1/postgres Next Steps Congratulations, your first cluster is ready and you were able to connect to it. On the following pages we have put together an introduction with lots of information and details to show you the different possibilities and components of CPO.\n","description":"We can tell and document so much about our project but it seems you just want to get started. Let us show you the fastest way to use CPO.\nPreconditions git helm (optional) kubectl or oc Let\u0026rsquo;s start Step 1 - Preparations To get started, you can fork our tutorial repository on Github and then download it. CYBERTEC-operator-tutorials\n"},{"id":19,"href":"/CYBERTEC-pg-operator/installation/","title":"Installation","parent":"CPO (CYBERTEC-PG-Operator)","content":"","description":""},{"id":20,"href":"/CYBERTEC-pg-operator/installation/dev-k8s/","title":"Setup local Kubernetes","parent":"Installation","content":"There are various options for setting up a local Kubernetes environment. This chapter deals with the following two variants:\nminikube crc (CodeReadyContainers from RedHat) Minikube Minikube is a tool that makes it possible to run Kubernetes locally on a single computer. It sets up a minimal but functional Kubernetes environment suitable for development and testing purposes. Minikube supports most Kubernetes features and provides an easy way to launch and manage Kubernetes clusters on local machines without the need for a complex cloud infrastructure.\nInstall Kubectl \u0026amp; Minikube To use Minikube, it is essential to install the Kubectl client.\nHere you will find all the information you need to install kubectl on your Linux, Mac or Windows device.\nYou can Install Minikube on your Linux-, Mac- or Windows-Devide using this Documentation.\nUse Minikube Before starting minikube, it is advisable to define a path for the kubeconfig.\nexport KUBECONFIG=/home/USERNAME/kubeconfig_minikube.conf You can then start minikube and all the necessary data is written directly to the conf. The definition of a user-defined path ensures that other configs are not inadvertently overwritten. The path must be defined again via ENV in each new user session. Alternatively, this can also be permanently defined via .bashrc. If the default path is not used for any other purpose, the ENV does not need to be set.\n# Start minikube minikube start # get pods from default namespace kubectl get pods # change default namespace to cpo kubectl config set-context --namespace=cpo CRC CRC (CodeReady Containers) is a tool from Red Hat that provides a local OpenShift environment. It is specifically designed to run a compact version of OpenShift on a local machine to provide developers and testers with an easy way to develop and test applications optimised for use in OpenShift. CRC includes all the necessary OpenShift components and makes it possible to use Red Hat\u0026rsquo;s container platform locally without building a full cloud infrastructure.\nInstall oc-client \u0026amp; CRC To use CRC, it is essential to install the oc-client or the kubectl-client.\nHere you will find all the information you need to install kubectl on your Linux, Mac or Windows device.\nYou can Download and install CRC on your Linux-, Mac- or Windows-Devide using this informations.\nUse CRC Before installing crc, it is advisable to define a path for the kubeconfig.\nexport KUBECONFIG=/home/USERNAME/kubeconfig_crc.conf You can then install and start crc and all the necessary data is written directly to the conf. The definition of a user-defined path ensures that other configs are not inadvertently overwritten. The path must be defined again via ENV in each new user session. Alternatively, this can also be permanently defined via .bashrc. If the default path is not used for any other purpose, the ENV does not need to be set.\n# Install crc crc setup # Start crc crc start # get pods from default namespace oc get pods # change default namespace to cpo oc project cpo ","description":"There are various options for setting up a local Kubernetes environment. This chapter deals with the following two variants:\nminikube crc (CodeReadyContainers from RedHat) Minikube Minikube is a tool that makes it possible to run Kubernetes locally on a single computer. It sets up a minimal but functional Kubernetes environment suitable for development and testing purposes. Minikube supports most Kubernetes features and provides an easy way to launch and manage Kubernetes clusters on local machines without the need for a complex cloud infrastructure.\n"},{"id":21,"href":"/CYBERTEC-pg-operator/installation/install_operator/","title":"Install CPO","parent":"Installation","content":" Prerequisites For the installation you either need our CPO tutorial repository or you install CPO directly from our registry. Exception: Installation via Operatorhub (Openshift only)\nCPO-Tutorial-Repository To get started, you can fork our tutorial repository on Github and then download it. CYBERTEC-operator-tutorials\nGITHUB_USER=\u0026#39;[YOUR_USERNAME]\u0026#39; git clone https://github.com/$GITHUB_USER/CYBERTEC-operator-tutorials.git cd CYBERTEC-operator-tutorials Helm-Registry helm repo add cpo https://cybertec-postgresql.github.io/CYBERTEC-operator-tutorials\nCreate Namespace # kubectl kubectl create namespace cpo # oc oc create namespace cpo Install CPO There are several ways to install CPO:\nUse Helm Use apply Use Operatorhub (On Openshift only) Helm You can check and change the value.yaml of the helm diagram under the path helm/operator/values.yaml By default, the operator is defined so that it is configured via crd-configuration. If you wish, you can change this to configmap. There are also some other default settings.\nhelm install -n cpo cpo helm/operator/. The installation uses a standard configuration. On the following page you will find more information on how to configure cpo and thus adapt it to your requirements.\nApply The installation uses a standard configuration. On the following page you will find more information on how to configure cpo and thus adapt it to your requirements.\nOperatorhub The installation uses a standard configuration. On the following page you will find more information on how to configure cpo and thus adapt it to your requirements.\n","description":" Prerequisites For the installation you either need our CPO tutorial repository or you install CPO directly from our registry. Exception: Installation via Operatorhub (Openshift only)\nCPO-Tutorial-Repository To get started, you can fork our tutorial repository on Github and then download it. CYBERTEC-operator-tutorials\n"},{"id":22,"href":"/CYBERTEC-pg-operator/installation/configuration_operator/","title":"Operator-Configuration","parent":"Installation","content":"Users who are already used to working with PostgreSQL from Baremetal or VMs are already familiar with the need for various files to configure PostgreSQL. These include\npostgresql.conf pg_hba.conf \u0026hellip; Although these files are available in the container, direct modification is not planned. As part of the declarative mode of operation of the operator, these files are defined via the operator. The modifying intervention within the container also represents a contradiction to the immutability of the container.\nFor these reasons, the operator provides a way to make adjustments to the various files, from PostgreSQL to Patroni.\nWe differentiate between two main objects in the cluster manifest:\npostgresql with the child objects version and parameters patroni with objects for the pg_hab, slots and much more postgresql The postgresql object consists of the following elements:\nversion - allows you to select the major version of PostgreSQL used. parameters- enables the postgresql.conf to be changed spec: postgresql: parameters: shared_preload_libraries: \u0026#39;pg_stat_statements,pgnodemx, timescaledb\u0026#39; shared_buffers: \u0026#39;512MB\u0026#39; version: \u0026#39;16\u0026#39; Any known PostgreSQL parameter from postgresql.conf can be entered here and will be delivered by the operator to all nodes of the cluster accordingly.\nYou can find more information about the parameters in the PostgreSQL documentation\npatroni The patroni object contains numerous options for customising the patroni-setu, and the pg_hba.conf is also configured here. A complete list of all available elements can be found here.\nThe most important elements include\npg_hba - pg_hba.conf slots synchronous_mode - enables synchronous mode in the cluster. The default is set to false maximum_lag_on_failover - Specifies the maximum lag so that the pod is still considered healthy in the event of a failover. failsafe_mode Allows you to cancel the downgrading of the leader if all cluster members can be reached via the Patroni Rest Api. You can find more information on this in the Patroni documentation pg_hba The pg_hba.conf contains all defined authentication rules for PostgreSQL.\nWhen customising this configuration, it is important that the entire version of pg_hba is written to the manifest. The current configuration can be read out in the database using table pg_hba_file_rules ;.\nFurther information can be found in the PostgreSQL documentation\nslots When using user-defined slots, for example for the use of CDC using Debezium, there are problems when interacting with Patroni, as the slot and its current status are not automatically synchronised to the replicas.\nIn the event of a failover, the client cannot start replication as both the entire slot and the information about the data that has already been synchronised are missing.\nTo resolve this problem, slots must be defined in the cluster manifest rather than in PostgreSQL.\nspec: patroni: slots: cdc-example: database: app_db plugin: pgoutput type: logical This example creates a logical replication slot with the name cdc-example within the app_db database and uses the pgoutput plugin for the slot.\nSlots are only synchronised from the leader/standby leader to the replicas. This means that using the slots read-only on the replicas will cause a problem in the event of a failover. ","description":"Users who are already used to working with PostgreSQL from Baremetal or VMs are already familiar with the need for various files to configure PostgreSQL. These include\npostgresql.conf pg_hba.conf \u0026hellip; Although these files are available in the container, direct modification is not planned. As part of the declarative mode of operation of the operator, these files are defined via the operator. The modifying intervention within the container also represents a contradiction to the immutability of the container.\n"},{"id":23,"href":"/CYBERTEC-pg-operator/first_cluster/","title":"Create a Cluster","parent":"CPO (CYBERTEC-PG-Operator)","content":"To set up a cluster, the implementation is based on a description, as with the other Kubernetes deplyoments. To do this, the operator uses a document of type postgresql.\nYou can also find the basic minimum specifications for a single-node cluster in our tutorial project on Github\nminimal Single-Node Cluster apiVersion: cpo.opensource.cybertec.at/v1 kind: postgresql metadata: name: cluster-1 spec: dockerImage: \u0026#34;docker.io/cybertecpostgresql/cybertec-pg-container:postgres-17.4-1\u0026#34; numberOfInstances: 1 postgresql: version: \u0026#34;17\u0026#34; resources: limits: cpu: 500m memory: 500Mi requests: cpu: 500m memory: 500Mi volume: size: 5Gi Based on this Manifest the Operator will deploy a single-Node-Cluster based on the defined dockerImage and start the included Postgres-17-Server. Also created is a volume based on your default-storage Class. The Ressource-Definiton means, that we reserve a half cpu and a half GB Memory for this Cluster with the same Definition as limit.\nAfter some seconds we should see, that the operator creates our cluster based on the declared definitions.\nkubectl get pods ----------------------------------------------------------------------------- NAME | READY | STATUS | RESTARTS | AGE cluster-1-0 | 1/1 | Running | 0 | 50s Here you will find a complete overview of the available options within the cluster manifest. Use a specific Storageclass spec: ... volume: size: 5Gi storageClass: default-provisioner ... Using the storageClass-Definiton allows us to define a specific storageClass for this Cluster. Please ensure, that the storageClass exists and is usable. If a Volume cannot provide the Volume will stand in the pending-State as like the Database-Pod.\nExpanding Volume The Operator allows to you expand your volume if the storage-System is able to do this.\nspec: ... volume: size: 10Gi storageClass: default-provisioner ... This will trigger the expand of your Cluster-Volumes. It will need some time and you can check the current state inside the pvc.\nkubectl get pvc pgdata-cluster-1-0 -o yaml ------------------------------------------------------- spec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi storageClassName: crc-csi-hostpath-provisioner volumeMode: Filesystem volumeName: pvc-800d7ecc-2d5f-4ef4-af83-1cd94c766d37 status: accessModes: - ReadWriteOnce capacity: storage: 5Gi phase: Bound Creating additonal Volumes The Operator allows you to modify your cluster with additonal Volumes.\nspec: ... additionalVolumes: - name: empty mountPath: /opt/empty targetContainers: - all volumeSource: emptyDir: {} This example will create an emptyDir and mount it to all Containers inside the Database-Pod.\nSpecific Settings for aws gp3 Storage For the gp3 Storage aws you can define more informations\nvolume: size: 1Gi storageClass: gp3 iops: 1000 # for EBS gp3 throughput: 250 # in MB/s for EBS gp3 The defined IOPS and Throughput will include in the PersistentVolumeClaim and send to the storage-Provisioner. Please keep in Mind, that on aws there is a CoolDown-Time as a limitation defined. For new Changes you need to wait 6 hours. Please also ensure to check the default and allowed values for IOPS and Throughput AWS docs.\nTo ensure that the settings are updates properly please define the Operator-Configuration \u0026lsquo;storage_resize_mode\u0026rsquo; from default to \u0026lsquo;mixed\u0026rsquo;\n","description":"To set up a cluster, the implementation is based on a description, as with the other Kubernetes deplyoments. To do this, the operator uses a document of type postgresql.\nYou can also find the basic minimum specifications for a single-node cluster in our tutorial project on Github\nminimal Single-Node Cluster apiVersion: cpo.opensource.cybertec.at/v1 kind: postgresql metadata: name: cluster-1 spec: dockerImage: \u0026#34;docker.io/cybertecpostgresql/cybertec-pg-container:postgres-17.4-1\u0026#34; numberOfInstances: 1 postgresql: version: \u0026#34;17\u0026#34; resources: limits: cpu: 500m memory: 500Mi requests: cpu: 500m memory: 500Mi volume: size: 5Gi Based on this Manifest the Operator will deploy a single-Node-Cluster based on the defined dockerImage and start the included Postgres-17-Server. Also created is a volume based on your default-storage Class. The Ressource-Definiton means, that we reserve a half cpu and a half GB Memory for this Cluster with the same Definition as limit.\n"},{"id":24,"href":"/CYBERTEC-pg-operator/resources/","title":"Apply Ressources","parent":"CPO (CYBERTEC-PG-Operator)","content":"Kubernetes workloads are often deployed without a direct resource definition. This means that, apart from the limits specified by the administrators, the workloads can use the required resources of the worker node very dynamically.\nThe cluster manifest is used to define the Postgres pod resources via the typical resources objects.\nThere are basically two different definitions:\nrequests: Basic requirement and guaranteed by the worker node limits: maximum availability, allocation is increased dynamically if the worker node can provide the resources. For the planning of the cluster, a proper definition should be carried out in terms of the required hardware, which is then defined as requests. These resources are thus guaranteed to the cluster and are taken into account when deploying the pod. Accordingly, a pod can only be deployed on a worker if it can provide these resources. Any limits beyond this are not taken into account when deploying.\nThe unit of measurement should be taken into account when planning the necessary CPUs: cpu specifications are based on millicores\n1 cpu corresponds to 1 core 1 core corresponds to 1000 millicores (m) 1/2 core corresponds to 500 m resources: limits: cpu: 500m memory: 1Gi requests: cpu: 1000m memory: 1Gi This example corresponds to a guaranteed availability of half a core and 1 Gibibyte. However, if necessary and available, the container can use up to one core. The allocation takes place dynamically and for the required time.\nPods can be categorised into three Quality of Services (QoS) based on the defined information on the resources.\nBest-Effort: The containers of a pod have no resource information Burstable: A container of the pod has a memory or CPU requests or limits. Guaranteed: Each container of a pod has both cpu and memory requests and limits. In addition, the details of the respective limits correspond to the requests details If you would like more information and explanations, you can take a look at the Kubernetes documentation on QoS.\nWe generally recommend using the Guaranteed Status for PostgreSQL workloads. However, many users very successfully use the deviation of the CPU limit by factors such as 2. For example:\nresources: limits: cpu: 1000m memory: 1Gi requests: cpu: 2000m memory: 1Gi This is intended to create the possibility of additional CPU resources for sudden load peaks.\nThe use of burstable definitions does not release you from a correct resource calculation, as limits resources are not guaranteed and therefore an undersupply can occur if the requests are not properly defined. ","description":"Kubernetes workloads are often deployed without a direct resource definition. This means that, apart from the limits specified by the administrators, the workloads can use the required resources of the worker node very dynamically.\nThe cluster manifest is used to define the Postgres pod resources via the typical resources objects.\nThere are basically two different definitions:\nrequests: Basic requirement and guaranteed by the worker node limits: maximum availability, allocation is increased dynamically if the worker node can provide the resources. For the planning of the cluster, a proper definition should be carried out in terms of the required hardware, which is then defined as requests. These resources are thus guaranteed to the cluster and are taken into account when deploying the pod. Accordingly, a pod can only be deployed on a worker if it can provide these resources. Any limits beyond this are not taken into account when deploying.\n"},{"id":25,"href":"/CYBERTEC-pg-operator/storage/","title":"Storage","parent":"CPO (CYBERTEC-PG-Operator)","content":"Storage is crucial for the performance of a database and is therefore a central element. As with systems based on bare metal or virtual machines, the same requirements apply to Kubernetes workloads, such as constant availability, good performance, consistency and durability.\nA basic distinction is made between local storage, which is directly connected to the worker node, and network storage, which is mounted on the worker node and thus made available to the pod.\nIn probably the vast majority of Kubernetes systems, network storage is used, for example from systems from hyperscalers or other cloud providers or own systems such as CEPH.\nWith network storage in particular, attention must be paid to performance in terms of throughput (speed and guaranteed IOPS) and, above all, latency. It is also important to ensure that the different volumes do not compete with each other in terms of load.\nPAY ATTENTION: Before using a CPO cluster, make sure that the storage is suitable for the intended use and provides the necessary performance. In addition, check the storage with benchmarks before use. We recommend the use of pgbench for this purpose.\nDefine Storage-Volume The storage is defined via the volume object and enables the size and storage class for the storage to be defined, among other things.\nspec: volume: size: 5Gi storageClass: default-provisioner ... The volume is currently used for both PG and WAL data. In future, there will be an optional option to create a separate WAL volume. Please check our roadmap\nPlease ensure, that the storageClass exists and is usable. If a Volume cannot provide the Volume will stand in the pending-State as like the Database-Pod. The volume is currently used for both PG and WAL data. In future, there will be an optional option to create a separate WAL volume.\nExpanding Volume Kubernetes is able to forward requests to expand the storage to the storage system and enable the expand without the need to restart the container. However, this also requires the associated storage system and the driver used to support this. This information can be found in the storage class under the object: allowVolumeExpansion. A distinction must also be made between online and offline expand. The latter requires a restart of the pod. To do this, the pod must be deleted manually. To Expand the Volume, the value of the object volume.size must be increased\nspec: volume: size: 10Gi storageClass: default-provisioner ... This will trigger the expand of your Cluster-Volumes. It will need some time and you can check the current state inside the pvc.\nkubectl get pvc pgdata-cluster-1-0 -o yaml ------------------------------------------------------- spec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi storageClassName: crc-csi-hostpath-provisioner volumeMode: Filesystem volumeName: pvc-800d7ecc-2d5f-4ef4-af83-1cd94c766d37 status: accessModes: - ReadWriteOnce capacity: storage: 5Gi phase: Bound Creating additonal Volumes The Operator allows you to modify your cluster with additonal Volumes.\nspec: ... additionalVolumes: - name: empty mountPath: /opt/empty targetContainers: - all volumeSource: emptyDir: {} This example will create an emptyDir and mount it to all Containers inside the Database-Pod.\nSpecific Settings for aws gp3 Storage For the gp3 Storage aws you can define more informations\nvolume: size: 1Gi storageClass: gp3 iops: 1000 # for EBS gp3 throughput: 250 # in MB/s for EBS gp3 The defined IOPS and Throughput will include in the PersistentVolumeClaim and send to the storage-Provisioner. Please keep in Mind, that on aws there is a CoolDown-Time as a limitation defined. For new Changes you need to wait 6 hours. Please also ensure to check the default and allowed values for IOPS and Throughput AWS docs.\nTo ensure that the settings are updates properly please define the Operator-Configuration \u0026lsquo;storage_resize_mode\u0026rsquo; from default to \u0026lsquo;mixed\u0026rsquo;\n","description":"Storage is crucial for the performance of a database and is therefore a central element. As with systems based on bare metal or virtual machines, the same requirements apply to Kubernetes workloads, such as constant availability, good performance, consistency and durability.\nA basic distinction is made between local storage, which is directly connected to the worker node, and network storage, which is mounted on the worker node and thus made available to the pod.\n"},{"id":26,"href":"/CYBERTEC-pg-operator/db_users/","title":"Databases \u0026 Users","parent":"CPO (CYBERTEC-PG-Operator)","content":"CPO not only supports you in deploying your cluster, it also supports you in setting it up in terms of the database and users. CPO offers you three different options for this:\nCreate roles Create databases preapared databases Create Roles The creation of users is based on the definition of the user name and the definition of the required rights for this user. Available rights are\nsuperuser inherit login nologin createrole createdb replication bypassrls Unless explicitly defined via NOLOGIN, a created user automatically receives the LOGIN permission.\nspec: users: db_owner: - login - createdb appl_user: - login For each user created, CPO automatically creates a secret with username and password in the namespace of the cluster, which follows the following naming convention: [USERNAME].[CLUSTERNAME].credentials.postgresql.cpo.opensource.cybertec.at\nIf the secrets for an application are to be stored in a different namespace, for example, it is necessary to define the setting enable_cross_namespace_secret as true in the operator configuration. You can find more information about the operator configuration here.\nThe namespace must then be written before the user name.\nspec: users: db_owner: - login - createdb app_namespace.appl_user: - login Create Databases Databases are basically created in a very similar way to users. The definition is based on the database name and the database owner.\nspec: users: db_owner: - login - createdb app_namespace.appl_user: - login databases; app_db: app_namespace.appl_user Be aware that the user name must be defined for the database owner in the same way as it is done in the users object. Prepared Databases The preparedDatabases object is available for a much more extensive setup of databases and users. In addition to the creation of databases and users, this also enables the creation of schemas and extensions. A more detailed rights management is also available.\nDatabases and Schema Creating the preparedDatabases object already creates a database whose name is based on the cluster name. preparedDatabases: {}\nFor the database name, - is replaced with _ in the cluster name To create your own database names and elements such as schemas and extensions within the database, an object must be created within preparedDatabases for each database.\nspec: preparedDatabases: appl_db: extensions: dblink: public schemas: data: {} This example creates a database with the name appl_db and creates a schema with the name data in it, as well as creating the dblink extension in the schema public.\nManagement of users and Permissions For rights management, we distinguish between NOLOGIN roles and LOGIN roles. Users have login rights and inherit the other rights from the NOLOGIN role.\nNoLogin roles (defaultRoles) The roles are created if defaultroles is not explicitly set to false.\nspec: preparedDatabases: appl_db: extensions: dblink: public schemas: data: {} This creates roles for the schema owner, writer and reader\nLogin roles (defaultUsers) The roles described in the previous paragraph can be assigned to LOGIN roles via the users section in the manifest. Optionally, the Postgres operator can also create standard LOGIN roles for the database and each individual schema. These roles are given the suffix _user and inherit all rights from their NOLOGIN counterparts. Therefore, you cannot set defaultRoles to false and activate defaultUsers at the same time.\nspec: preparedDatabases: appl_db: defaultUsers: true extensions: dblink: public schemas: data: {} history: defaultRoles: true defaultUsers: false This example creates the following users and inheritances\nRole name Attributes inherits from appl_db_owner Cannot login appl_db_reader,appl_db_owner,appl_data_owner,\u0026hellip; appl_db_owner_user appl_db_owner appl_db_reader Cannot login appl_db_reader_user appl_db_reader appl_db_writer Cannot login appl_db_reader appl_db_writer_user appl_db_writer appl_db_data_owner Cannot login appl_db_data_reader,appl_db_data_writer appl_db_data_reader Cannot login appl_db_data_writer Cannot login appl_db_data_reader appl_db_history_owner Cannot login appl_db_history_reader,appl_db_history_writer appl_db_history_reader Cannot login appl_db_history_writer Cannot login appl_db_history_reader Default access permissions are also defined for LOGIN roles when databases and schemas are created. This means that they are not currently set if defaultUsers (or defaultRoles for schemas) are activated at a later time.\nUser Secrets For each user created by cpo with LOGIN permissions, the operator also creates a secret with username and password, as with the creation of roles via the users object.\n","description":"CPO not only supports you in deploying your cluster, it also supports you in setting it up in terms of the database and users. CPO offers you three different options for this:\nCreate roles Create databases preapared databases Create Roles The creation of users is based on the definition of the user name and the definition of the required rights for this user. Available rights are\n"},{"id":27,"href":"/CYBERTEC-pg-operator/customize_cluster/","title":"Customize Cluster","parent":"CPO (CYBERTEC-PG-Operator)","content":"","description":""},{"id":28,"href":"/CYBERTEC-pg-operator/ha_cluster/","title":"High Availability","parent":"CPO (CYBERTEC-PG-Operator)","content":"High availability (HA) is a critical aspect of running database systems, especially in mission-critical applications where downtime is unacceptable. This section explains why high availability is important for PostgreSQL and how Patroni acts as a solution to ensure HA. Why High Availability (HA) for PostgreSQL?\nTo minimise downtime: In modern, data-driven applications, downtime can cause significant financial and reputational losses. High availability ensures that the database remains available even in the event of hardware failures or network problems. Data integrity and security: A database failure can lead to data loss or data inconsistencies. High-availability solutions protect against such scenarios through continuous data replication and automatic failover. Scalability and load balancing: HA setups make it possible to distribute the load across multiple nodes, resulting in better performance and faster response times. This is particularly important in environments with high data traffic. Ease of maintenance: By setting up high availability, database maintenance can be performed without interrupting services. Nodes can be maintained incrementally while the database remains available. Patroni - the cluster manager In our PostgreSQL environment, we use Patroni in the PG containers by default. This has the advantage that even single-node instances basically function as Patroni clusters. This configuration offers several important advantages:\nEasy scalability: by using Patroni in all PG containers, scaling pods up and down is possible at any time. You can easily add additional pods as needed to improve performance or increase capacity, or remove pods to free up resources. This flexibility is particularly useful in dynamic environments where requirements can change quickly. Automated cluster management: Patroni automatically takes over the management of the cluster. When a new pod is added to an existing cluster, Patroni takes care of setting up the new node itself, including initialising and starting replication. This means you don\u0026rsquo;t have to perform any manual steps to configure or manage new nodes - Patroni does it all for you automatically. Seamless integration: As Patroni is active in every PG container by default, you don\u0026rsquo;t have to worry about compatibility or manual configuration. This makes deployment and maintenance much easier, as all the necessary components are already preconfigured. Optimisation of resources: Even with a minimal setup (single-node instance), you benefit from the advantages of a Patroni cluster, including the possibility of easy expansion and automatic failover in the event of a failure. This ensures optimal resource utilisation and minimises downtime. Upgrade the cluster to high availability The necessary changes to a high-availability cluster are very limited. Only the number of desired instances needs to be increased.\napiVersion: cpo.opensource.cybertec.at/v1 kind: postgresql metadata: name: cluster-1 spec: dockerImage: \u0026#34;docker.io/cybertecpostgresql/cybertec-pg-container:postgres-17.4-1\u0026#34; numberOfInstances: 2 postgresql: version: \u0026#34;17\u0026#34; resources: limits: cpu: 500m memory: 500Mi requests: cpu: 500m memory: 500Mi volume: size: 5Gi You can either create a new cluster with the document or update an existing cluster with it. This makes it possible to scale the cluster up and down during operation.\nThe example above will create a HA-Cluster based on two Nodes.\nkubectl get pods ----------------------------------------------------------------------------- NAME | READY | STATUS | RESTARTS | AGE cluster-1-0 | 1/1 | Running | 0 | 3d cluster-1-1 | 1/1 | Running | 0 | 31s ","description":"High availability (HA) is a critical aspect of running database systems, especially in mission-critical applications where downtime is unacceptable. This section explains why high availability is important for PostgreSQL and how Patroni acts as a solution to ensure HA. Why High Availability (HA) for PostgreSQL?\nTo minimise downtime: In modern, data-driven applications, downtime can cause significant financial and reputational losses. High availability ensures that the database remains available even in the event of hardware failures or network problems. Data integrity and security: A database failure can lead to data loss or data inconsistencies. High-availability solutions protect against such scenarios through continuous data replication and automatic failover. Scalability and load balancing: HA setups make it possible to distribute the load across multiple nodes, resulting in better performance and faster response times. This is particularly important in environments with high data traffic. Ease of maintenance: By setting up high availability, database maintenance can be performed without interrupting services. Nodes can be maintained incrementally while the database remains available. Patroni - the cluster manager In our PostgreSQL environment, we use Patroni in the PG containers by default. This has the advantage that even single-node instances basically function as Patroni clusters. This configuration offers several important advantages:\n"},{"id":29,"href":"/CYBERTEC-pg-operator/config_cluster/","title":"PostgreSQL Configuration","parent":"CPO (CYBERTEC-PG-Operator)","content":"Users who are already used to working with PostgreSQL from Baremetal or VMs are already familiar with the need for various files to configure PostgreSQL. These include\npostgresql.conf pg_hba.conf \u0026hellip; Although these files are available in the container, direct modification is not planned. As part of the declarative mode of operation of the operator, these files are defined via the operator. The modifying intervention within the container also represents a contradiction to the immutability of the container.\nFor these reasons, the operator provides a way to make adjustments to the various files, from PostgreSQL to Patroni.\nWe differentiate between two main objects in the cluster manifest:\npostgresql with the child objects version and parameters patroni with objects for the pg_hab, slots and much more postgresql The postgresql object consists of the following elements:\nversion - allows you to select the major version of PostgreSQL used. parameters- enables the postgresql.conf to be changed spec: postgresql: parameters: shared_preload_libraries: \u0026#39;pg_stat_statements,pgnodemx, timescaledb\u0026#39; shared_buffers: \u0026#39;512MB\u0026#39; version: \u0026#39;16\u0026#39; Any known PostgreSQL parameter from postgresql.conf can be entered here and will be delivered by the operator to all nodes of the cluster accordingly.\nYou can find more information about the parameters in the PostgreSQL documentation\npatroni The patroni object contains numerous options for customising the patroni-setu, and the pg_hba.conf is also configured here. A complete list of all available elements can be found here.\nThe most important elements include\npg_hba - pg_hba.conf slots synchronous_mode - enables synchronous mode in the cluster. The default is set to false maximum_lag_on_failover - Specifies the maximum lag so that the pod is still considered healthy in the event of a failover. failsafe_mode Allows you to cancel the downgrading of the leader if all cluster members can be reached via the Patroni Rest Api. You can find more information on this in the Patroni documentation pg_hba The pg_hba.conf contains all defined authentication rules for PostgreSQL.\nWhen customising this configuration, it is important that the entire version of pg_hba is written to the manifest. The current configuration can be read out in the database using table pg_hba_file_rules ;.\nFurther information can be found in the PostgreSQL documentation\nslots When using user-defined slots, for example for the use of CDC using Debezium, there are problems when interacting with Patroni, as the slot and its current status are not automatically synchronised to the replicas.\nIn the event of a failover, the client cannot start replication as both the entire slot and the information about the data that has already been synchronised are missing.\nTo resolve this problem, slots must be defined in the cluster manifest rather than in PostgreSQL.\nspec: patroni: slots: cdc-example: database: app_db plugin: pgoutput type: logical This example creates a logical replication slot with the name cdc-example within the app_db database and uses the pgoutput plugin for the slot.\nSlots are only synchronised from the leader/standby leader to the replicas. This means that using the slots read-only on the replicas will cause a problem in the event of a failover. ","description":"Users who are already used to working with PostgreSQL from Baremetal or VMs are already familiar with the need for various files to configure PostgreSQL. These include\npostgresql.conf pg_hba.conf \u0026hellip; Although these files are available in the container, direct modification is not planned. As part of the declarative mode of operation of the operator, these files are defined via the operator. The modifying intervention within the container also represents a contradiction to the immutability of the container.\n"},{"id":30,"href":"/CYBERTEC-pg-operator/backup/","title":"Backup","parent":"CPO (CYBERTEC-PG-Operator)","content":"","description":""},{"id":31,"href":"/CYBERTEC-pg-operator/restore/","title":"Restore","parent":"CPO (CYBERTEC-PG-Operator)","content":"Restore or recovery is the process of starting a PostgreSQL instance or a cluster based on a defined and existing backup. This can be just a Backup or a combination of a Backup and additional WAL files. The difference is that a Backup represents a fixed point in time, whereas the combination with WAL enables a point-in-time recovery(PITR).\nYou can find more information about backups here\nRescue my cluster CPO enables the restore based on an existing backup using pgBackRest. To do this, it needs the relevant information about the point in time or snapBackupshot to which it should restore and where the data for this comes from. As we have already provided the operator with all the information relating to the storage of backups in the previous chapter, it only needs the following information:\nid: Control variable, must be increased for each restore process type: What type of restore is required repo: Which repo the data should come from set: Specific Backup to restore - Check backup to see how to get the identifier To ensure that the operator does not repeat an already done restore, the defined object id in the restore section is saved by the operator, so the value of this id must be changed for a new restore. Details for a Backup restore With this information, we define a fixed Backup from repo1 and that pgBackRest should stop at the end of the Backup\nrestore: id: \u0026#39;1\u0026#39; options: type: \u0026#39;immediate\u0026#39; set: \u0026#39;20240515-164100F\u0026#39; repo: \u0026#39;repo1\u0026#39; Without the specification --type=immediate, pgBackRest would then consume the entire WAL that is available and thus restore the last available consistent data point. Details for a point-in-time recoery (PITR) We use this information to define a point-in-time recovery (PITR) and define the end point using a timestamp and the start point using a Backup specification. The latter is optional. Without this information, pgBackRest would automatically start at the last previous full Backup.\nrestore: id: \u0026#39;1\u0026#39; options: type: \u0026#39;time\u0026#39; set: \u0026#39;20240515-164100F\u0026#39; target: \u0026#39;2024-05-16 07:46:05.506817+00\u0026#39; repo: \u0026#39;1\u0026#39; --type=time indicates that it is a point-in-time recovery (PITR). Example in a cluster manifest apiVersion: cpo.opensource.cybertec.at/v1 kind: postgresql metadata: name: cluster-5 namespace: cpo spec: backup: pgbackrest: configuration: secret: cluster-1-pvc-credentials global: repo1-retention-full: \u0026#39;7\u0026#39; repo1-retention-full-type: count image: \u0026#39;docker.io/cybertecpostgresql/cybertec-pg-container:pgbackrest-16.4-1\u0026#39; repos: - name: repo1 schedule: full: 30 2 * * * storage: pvc volume: size: 1Gi restore: id: \u0026#39;1\u0026#39; options: type: \u0026#39;time\u0026#39; set: \u0026#39;20240515-164100F\u0026#39; target: \u0026#39;2024-05-16 07:46:05.506817+00\u0026#39; An example of this can also be found in our tutorials. For a point-in-time recovery (PITR) you can find it here.\nIncorrect information for the Backup or the timestamp can result in pgBackRest not being able to complete the restore successfully. In the event of an error, the information must be corrected and another restore must be started. ","description":"Restore or recovery is the process of starting a PostgreSQL instance or a cluster based on a defined and existing backup. This can be just a Backup or a combination of a Backup and additional WAL files. The difference is that a Backup represents a fixed point in time, whereas the combination with WAL enables a point-in-time recovery(PITR).\nYou can find more information about backups here\nRescue my cluster CPO enables the restore based on an existing backup using pgBackRest. To do this, it needs the relevant information about the point in time or snapBackupshot to which it should restore and where the data for this comes from. As we have already provided the operator with all the information relating to the storage of backups in the previous chapter, it only needs the following information:\n"},{"id":32,"href":"/CYBERTEC-pg-operator/tls/","title":"TLS/SSL connections","parent":"CPO (CYBERTEC-PG-Operator)","content":"Each cluster created is automatically equipped with a self-generated TLS certificate and is preconfigured for the use of TLS/SSL. However, this certificate is not based on a Certificate Authority (CA) that is known to the clients. This means that although communication between the client and server is encrypted, the certificate cannot be verified by the client.\nThe following chapter deals with the creation of custom certificates and the steps required to integrate these certificates into the PostgreSQL cluster. In the example, a custom CA is created, on the basis of which the certificates are then generated and signed by this CA. This step can be skipped if certificates have already been obtained from another trusted organisation.\nCreate a custom CA and Certificates Precondition: This chapter requires openssl Create the CA The first step is to create a custom CA. An organisation name is required for this. You can also add further details about the country, district and location. The CA serves as the central authority that signs the certificates and thus guarantees the correctness of the certificate. In order to successfully complete the verification of a certificate, the CA\u0026rsquo;s certificate must be stored on the client system.\nORGANIZATION=MyCustomOrganization CA=$ORGANIZATION-RootCA mkdir $CA cd $CA # Creating the CA-Key openssl genpkey -algorithm EC -out $CA.key -pkeyopt ec_paramgen_curve:secp384r1 -pkeyopt ec_param_enc:named_curve -aes256 # Creating the CA-Certificate openssl req -x509 -new -nodes -key $CA.key -sha512 -days 1826 -out $CA.crt -subj \u0026#34;/CN=${ORGANIZATION} Root-CA/C=AT/ST=Lower Austria/L=Woellersdorf/O=${ORGANIZATION}\u0026#34; Create a custom Certificate The server needs a certificate signed by a CA and a private key so that it can claim to be trustworthy.\nIt is important that the CA certificate is stored as trustworthy with the client. Otherwise, no certificate check is possible. CN=cluster-1 DNS2=\u0026#34;${CN}-repl\u0026#34; DNS3=\u0026#34;${CN}-pooler\u0026#34; DNS4=\u0026#34;${CN}-pooler-repl\u0026#34; # Creating the private Key openssl genpkey -algorithm EC -out $CN.key -pkeyopt ec_paramgen_curve:secp384r1 -pkeyopt ec_param_enc:named_curve # Creating Certificate Signing Request (CSR)) openssl req -new -key $CN.key -out $CN.csr \\ -subj \u0026#34;/C=AT/ST=Lower Austria/L=Woellersdorf/O=${ORGANIZATION}/OU=OrgUnit/CN=${CN}\u0026#34; \\ -addext \u0026#34;subjectAltName=DNS:${CN},DNS:${DNS2},DNS:${DNS3},DNS:${DNS4}\u0026#34; # Sign CSR with the CA openssl x509 -req -in $CN.csr -CA $CA.crt -CAkey $CA.key -CAcreateserial -out $CN.crt -days 365 \\ -extfile \u0026lt;(echo -e \u0026#34;[ v3_req ]\\nsubjectAltName=DNS:${CN},DNS:${DNS2},DNS:${DNS3},DNS:${DNS4}\u0026#34;) -extensions v3_req Add Certicate to the Cluster For adding the Certificate to your cluster a secret on kubernetes is needed. There are two different options here. For the first option, a secret is created that contains all the necessary information. I.e.\nServer certificate Private server key CA certificate In the second variant, the CA certificate is separated and written in a separate secret. The advantage of this is that the CA only needs to be saved once and changed in the event of an update. First Option: Using one secret for all three objects kubectl create secret generic cluster-1-tls \\ --from-file=tls.crt=$CN.crt \\ --from-file=tls.key=$CN.key \\ --from-file=ca.crt=$CA.crt Finally, the definition is made in the cluster manifest so that the operator adapts the cluster.\napiVersion: \u0026#34;cpo.opensource.cybertec.at/v1\u0026#34; kind: postgresql ... metadata: name: cluster-1 spec: tls: secretName: \u0026#34;cluster-1-tls\u0026#34; caFile: \u0026#34;ca.crt\u0026#34; Second Option: Using a separat Secret for the CA kubectl create secret generic cpo-root-ca --from-file=ca.crt=ca.crt kubectl create secret generic cluster-1-tls \\ --from-file=tls.crt=$CN.crt \\ --from-file=tls.key=$CN.key \\ Finally, the definition is made in the cluster manifest so that the operator adapts the cluster.\napiVersion: \u0026#34;cpo.opensource.cybertec.at/v1\u0026#34; kind: postgresql metadata: name: cluster-1 spec: tls: secretName: \u0026#34;cluster-1-tls\u0026#34; caSecretName: \u0026#34;cpo-root-ca\u0026#34; caFile: \u0026#34;ca.crt\u0026#34; A regular check of the mounted certificates takes place automatically within the container. This check takes place every 5 minutes. If the certificates have been updated, the certificates are loaded automatically.\nIn addition to generating the certificates independently, cert-manager can also be used for this purpose. ","description":"Each cluster created is automatically equipped with a self-generated TLS certificate and is preconfigured for the use of TLS/SSL. However, this certificate is not based on a Certificate Authority (CA) that is known to the clients. This means that although communication between the client and server is encrypted, the certificate cannot be verified by the client.\nThe following chapter deals with the creation of custom certificates and the steps required to integrate these certificates into the PostgreSQL cluster. In the example, a custom CA is created, on the basis of which the certificates are then generated and signed by this CA. This step can be skipped if certificates have already been obtained from another trusted organisation.\n"},{"id":33,"href":"/CYBERTEC-pg-operator/connection_pooler/","title":"connection pooler","parent":"CPO (CYBERTEC-PG-Operator)","content":"A connection pooler is a tool that acts as a proxy between the application and the database and enables the performance of the application to be improved and the load on the database to be reduced. The reason for this lies in the connection handling of PostgreSQL.\nHow PostgreSQL handles connection PostgreSQL use a new Process for every database-connection created by the postmaster. This process is handling the connection. On the positive side, this enables a stable connection and isolation, but it is not particularly efficient for short-lived connections due to the effort required to create them.\nHow Connection Pooling solves this problem With connection pooling, the application connects to the pooler, which in turn maintains a number of connections to the PostgreSQL database. This makes it possible to use the connections from the pooler to the database for a long time instead of short-lived connections and to recycle them accordingly.\nIn addition to utilising long-term connections, a ConnectionPooler also makes it possible to reduce the number of connections required to the database. For example, if you have 3 application nodes, each of which maintains 100 connections to the database at the same time, that would be 300 connections in total. The application usually does not even begin to utilise this number of connections. With the pgBouncer, this can be optimised so that the applications open the 300 connections to the pgBouncer, but the pgBouncer only generates 100 connections to PostgreSQL, for example, thus reducing the load by 2/3.\nIt is important to correctly configure the bouncer and thus the connections to be created between pgBouncer and PostgreSQL so that enough connections are available for the workload. How does this work with CPO CPO relies on pgBouncer, a popular and above all lightweight open source tool. pgBouncer manages individual user-database connections for each user used, which can be used immediately for incoming client connections.\nHow do I create a pooler for a cluster? connection_pooler.number_of_instances - How many instances of connection pooler to create. Default is 2 which is also the required minimum.\nconnection_pooler.schema - Database schema to create for credentials lookup function to be used by the connection pooler. Is is created in every database of the Postgres cluster. You can also choose an existing schema. Default schema is pooler.\nconnection_pooler.user - User to create for connection pooler to be able to connect to a database. You can also choose an existing role, but make sure it has the LOGIN privilege. Default role is pooler.\nconnection_pooler.image - Docker image to use for connection pooler deployment. Default: “registry.opensource.zalan.do/acid/pgbouncer”\nconnection_poole.max_db_connections - How many connections the pooler can max hold. This value is divided among the pooler pods. Default is 60 which will make up 30 connections per pod for the default setup with two instances.\nconnection_pooler.mode - Defines pooler mode. Available Value: session, transaction or statement. Default is transaction.\nconnection_pooler.resources - Hardware definition for the pooler pods\nenableConnectionPooler - Defines whether poolers for read/write access should be created based on the spec.connectionPooler definition.\nenableReplicaConnectionPooler- Defines whether poolers for read-only access should be created based on the spec.connectionPooler definition.\nspec: connectionPooler: mode: transaction numberOfInstances: 2 resources: limits: cpu: \u0026#39;1\u0026#39; memory: 100Mi requests: cpu: 500m memory: 100Mi schema: pooler user: pooler enableConnectionPooler: true enableReplicaConnectionPooler: true ","description":"A connection pooler is a tool that acts as a proxy between the application and the database and enables the performance of the application to be improved and the load on the database to be reduced. The reason for this lies in the connection handling of PostgreSQL.\nHow PostgreSQL handles connection PostgreSQL use a new Process for every database-connection created by the postmaster. This process is handling the connection. On the positive side, this enables a stable connection and isolation, but it is not particularly efficient for short-lived connections due to the effort required to create them.\n"},{"id":34,"href":"/CYBERTEC-pg-operator/extensions/pg13/","title":"PostgreSQL 13","parent":"Extensions","content":" The extensions listed are included in the standard images. This list refers to PostgreSQL 13. Name Default Version Comment adminpack 2.1 Administrative functions for PostgreSQL amcheck 1.2 Functions for verifying relation integrity autoinc 1.0 Functions for autoincrementing fields bloom 1.0 Bloom access method - signature file based index btree_gin 1.3 Support for indexing common datatypes in GIN btree_gist 1.5 Support for indexing common datatypes in GiST citext 1.6 Data type for case-insensitive character strings credcheck 3.0.0 credcheck - PostgreSQL plain text credential checker cube 1.4 Data type for multidimensional cubes dblink 1.2 Connect to other PostgreSQL databases from within a database dict_int 1.0 Text search dictionary template for integers dict_xsyn 1.0 Text search dictionary template for extended synonym processing earthdistance 1.1 Calculate great-circle distances on the surface of the Earth file_fdw 1.0 Foreign-data wrapper for flat file access fuzzystrmatch 1.1 Determine similarities and distance between strings hstore 1.7 Data type for storing sets of (key, value) pairs hstore_plperl 1.0 Transform between hstore and plperl hstore_plperlu 1.0 Transform between hstore and plperlu hstore_plpython3u 1.0 Transform between hstore and plpython3u insert_username 1.0 Functions for tracking who changed a table intagg 1.1 Integer aggregator and enumerator (obsolete) intarray 1.3 Functions, operators, and index support for 1-D arrays of integers isn 1.2 Data types for international product numbering standards jsonb_plperl 1.0 Transform between jsonb and plperl jsonb_plperlu 1.0 Transform between jsonb and plperlu jsonb_plpython3u 1.0 Transform between jsonb and plpython3u lo 1.1 Large Object maintenance ltree 1.2 Data type for hierarchical tree-like structures ltree_plpython3u 1.0 Transform between ltree and plpython3u moddatetime 1.0 Functions for tracking last modification time pageinspect 1.8 Inspect the contents of database pages at a low level pg_buffercache 1.3 Examine the shared buffer cache pg_cron 1.6 Job scheduler for PostgreSQL pg_freespacemap 1.2 Examine the free space map (FSM) pg_permissions 1.3 View object permissions and compare them with the desired state pg_prewarm 1.2 Prewarm relation data pg_proctab Placeholder - see pg_proctab\u0026ndash;0.0.10-compat.control pg_stat_statements 1.8 Track planning and execution statistics of all SQL statements executed pg_trgm 1.5 Text similarity measurement and index searching based on trigrams pg_visibility 1.2 Examine the visibility map (VM) and page-level visibility info pgaudit 1.5.3 Provides auditing functionality pgauditlogtofile 1.6 pgAudit addon to redirect audit entries to an independent file pgcrypto 1.3 Cryptographic functions pgnodemx 1.7 SQL functions that allow capture of node OS metrics from PostgreSQL pgrowlocks 1.2 Show row-level locking information pgstattuple 1.5 Show tuple-level statistics plpgsql 1.0 PL/pgSQL procedural language plpython3u 1.0 PL/Python3U untrusted procedural language pltcl 1.0 PL/Tcl procedural language pltclu 1.0 PL/TclU untrusted procedural language postgres_fdw 1.0 Foreign-data wrapper for remote PostgreSQL servers refint 1.0 Functions for implementing referential integrity (obsolete) seg 1.3 Data type for representing line segments or floating-point intervals set_user 4.1.0 Similar to SET ROLE but with added logging sslinfo 1.2 Information about SSL certificates tablefunc 1.0 Functions that manipulate whole tables, including crosstab tcn 1.0 Triggered change notifications timescaledb 2.15.3 Enables scalable inserts and complex queries for time-series data (Apache 2 Edition) tsm_system_rows 1.0 TABLESAMPLE method which accepts number of rows as a limit tsm_system_time 1.0 TABLESAMPLE method which accepts time in milliseconds as a limit unaccent 1.1 Text search dictionary that removes accents uuid-ossp 1.1 Generate universally unique identifiers (UUIDs) xml2 1.1 XPath querying and XSLT The following extensions are additionally included in the Postgis images. Name Default Version Comment address_standardizer 3.4.4 Used to parse an address into constituent elements. Generally used to support geocoding address normalization step. address_standardizer_data_us 3.4.4 Address Standardizer US dataset example postgis 3.4.4 PostGIS geometry and geography spatial types and functions postgis_raster 3.4.4 PostGIS raster types and functions postgis_sfcgal 3.4.4 PostGIS SFCGAL functions postgis_tiger_geocoder 3.4.4 PostGIS tiger geocoder and reverse geocoder postgis_topology 3.4.4 PostGIS topology spatial types and functions ","description":" The extensions listed are included in the standard images. This list refers to PostgreSQL 13. Name Default Version Comment adminpack 2.1 Administrative functions for PostgreSQL amcheck 1.2 Functions for verifying relation integrity autoinc 1.0 Functions for autoincrementing fields bloom 1.0 Bloom access method - signature file based index btree_gin 1.3 Support for indexing common datatypes in GIN btree_gist 1.5 Support for indexing common datatypes in GiST citext 1.6 Data type for case-insensitive character strings credcheck 3.0.0 credcheck - PostgreSQL plain text credential checker cube 1.4 Data type for multidimensional cubes dblink 1.2 Connect to other PostgreSQL databases from within a database dict_int 1.0 Text search dictionary template for integers dict_xsyn 1.0 Text search dictionary template for extended synonym processing earthdistance 1.1 Calculate great-circle distances on the surface of the Earth file_fdw 1.0 Foreign-data wrapper for flat file access fuzzystrmatch 1.1 Determine similarities and distance between strings hstore 1.7 Data type for storing sets of (key, value) pairs hstore_plperl 1.0 Transform between hstore and plperl hstore_plperlu 1.0 Transform between hstore and plperlu hstore_plpython3u 1.0 Transform between hstore and plpython3u insert_username 1.0 Functions for tracking who changed a table intagg 1.1 Integer aggregator and enumerator (obsolete) intarray 1.3 Functions, operators, and index support for 1-D arrays of integers isn 1.2 Data types for international product numbering standards jsonb_plperl 1.0 Transform between jsonb and plperl jsonb_plperlu 1.0 Transform between jsonb and plperlu jsonb_plpython3u 1.0 Transform between jsonb and plpython3u lo 1.1 Large Object maintenance ltree 1.2 Data type for hierarchical tree-like structures ltree_plpython3u 1.0 Transform between ltree and plpython3u moddatetime 1.0 Functions for tracking last modification time pageinspect 1.8 Inspect the contents of database pages at a low level pg_buffercache 1.3 Examine the shared buffer cache pg_cron 1.6 Job scheduler for PostgreSQL pg_freespacemap 1.2 Examine the free space map (FSM) pg_permissions 1.3 View object permissions and compare them with the desired state pg_prewarm 1.2 Prewarm relation data pg_proctab Placeholder - see pg_proctab\u0026ndash;0.0.10-compat.control pg_stat_statements 1.8 Track planning and execution statistics of all SQL statements executed pg_trgm 1.5 Text similarity measurement and index searching based on trigrams pg_visibility 1.2 Examine the visibility map (VM) and page-level visibility info pgaudit 1.5.3 Provides auditing functionality pgauditlogtofile 1.6 pgAudit addon to redirect audit entries to an independent file pgcrypto 1.3 Cryptographic functions pgnodemx 1.7 SQL functions that allow capture of node OS metrics from PostgreSQL pgrowlocks 1.2 Show row-level locking information pgstattuple 1.5 Show tuple-level statistics plpgsql 1.0 PL/pgSQL procedural language plpython3u 1.0 PL/Python3U untrusted procedural language pltcl 1.0 PL/Tcl procedural language pltclu 1.0 PL/TclU untrusted procedural language postgres_fdw 1.0 Foreign-data wrapper for remote PostgreSQL servers refint 1.0 Functions for implementing referential integrity (obsolete) seg 1.3 Data type for representing line segments or floating-point intervals set_user 4.1.0 Similar to SET ROLE but with added logging sslinfo 1.2 Information about SSL certificates tablefunc 1.0 Functions that manipulate whole tables, including crosstab tcn 1.0 Triggered change notifications timescaledb 2.15.3 Enables scalable inserts and complex queries for time-series data (Apache 2 Edition) tsm_system_rows 1.0 TABLESAMPLE method which accepts number of rows as a limit tsm_system_time 1.0 TABLESAMPLE method which accepts time in milliseconds as a limit unaccent 1.1 Text search dictionary that removes accents uuid-ossp 1.1 Generate universally unique identifiers (UUIDs) xml2 1.1 XPath querying and XSLT The following extensions are additionally included in the Postgis images. Name Default Version Comment address_standardizer 3.4.4 Used to parse an address into constituent elements. Generally used to support geocoding address normalization step. address_standardizer_data_us 3.4.4 Address Standardizer US dataset example postgis 3.4.4 PostGIS geometry and geography spatial types and functions postgis_raster 3.4.4 PostGIS raster types and functions postgis_sfcgal 3.4.4 PostGIS SFCGAL functions postgis_tiger_geocoder 3.4.4 PostGIS tiger geocoder and reverse geocoder postgis_topology 3.4.4 PostGIS topology spatial types and functions "},{"id":35,"href":"/CYBERTEC-pg-operator/extensions/pg14/","title":"PostgreSQL 14","parent":"Extensions","content":" The extensions listed are included in the standard images. This list refers to PostgreSQL 14. Name Default Version Comment adminpack 2.1 Administrative functions for PostgreSQL amcheck 1.3 Functions for verifying relation integrity autoinc 1.0 Functions for autoincrementing fields bloom 1.0 Bloom access method - signature file based index btree_gin 1.3 Support for indexing common datatypes in GIN btree_gist 1.6 Support for indexing common datatypes in GiST citext 1.6 Data type for case-insensitive character strings credcheck 3.0.0 credcheck - PostgreSQL plain text credential checker cube 1.5 Data type for multidimensional cubes dblink 1.2 Connect to other PostgreSQL databases from within a database dict_int 1.0 Text search dictionary template for integers dict_xsyn 1.0 Text search dictionary template for extended synonym processing earthdistance 1.1 Calculate great-circle distances on the surface of the Earth file_fdw 1.0 Foreign-data wrapper for flat file access fuzzystrmatch 1.1 Determine similarities and distance between strings hstore 1.8 Data type for storing sets of (key, value) pairs hstore_plperl 1.0 Transform between hstore and plperl hstore_plperlu 1.0 Transform between hstore and plperlu hstore_plpython3u 1.0 Transform between hstore and plpython3u insert_username 1.0 Functions for tracking who changed a table intagg 1.1 Integer aggregator and enumerator (obsolete) intarray 1.5 Functions, operators, and index support for 1-D arrays of integers isn 1.2 Data types for international product numbering standards jsonb_plperl 1.0 Transform between jsonb and plperl jsonb_plperlu 1.0 Transform between jsonb and plperlu jsonb_plpython3u 1.0 Transform between jsonb and plpython3u lo 1.1 Large Object maintenance ltree 1.2 Data type for hierarchical tree-like structures ltree_plpython3u 1.0 Transform between ltree and plpython3u moddatetime 1.0 Functions for tracking last modification time old_snapshot 1.0 Utilities in support of old_snapshot_threshold pageinspect 1.9 Inspect the contents of database pages at a low level pg_buffercache 1.3 Examine the shared buffer cache pg_cron 1.6 Job scheduler for PostgreSQL pg_freespacemap 1.2 Examine the free space map (FSM) pg_permissions 1.3 View object permissions and compare them with the desired state pg_prewarm 1.2 Prewarm relation data pg_proctab Placeholder - see pg_proctab\u0026ndash;0.0.10-compat.control pg_stat_statements 1.9 Track planning and execution statistics of all SQL statements executed pg_surgery 1.0 Extension to perform surgery on a damaged relation pg_trgm 1.6 Text similarity measurement and index searching based on trigrams pg_visibility 1.2 Examine the visibility map (VM) and page-level visibility info pgaudit 1.6.3 Provides auditing functionality pgauditlogtofile 1.6 pgAudit addon to redirect audit entries to an independent file pgcrypto 1.3 Cryptographic functions pgnodemx 1.7 SQL functions that allow capture of node OS metrics from PostgreSQL pgrowlocks 1.2 Show row-level locking information pgstattuple 1.5 Show tuple-level statistics plpgsql 1.0 PL/pgSQL procedural language plpython3u 1.0 PL/Python3U untrusted procedural language pltcl 1.0 PL/Tcl procedural language pltclu 1.0 PL/TclU untrusted procedural language postgres_fdw 1.1 Foreign-data wrapper for remote PostgreSQL servers refint 1.0 Functions for implementing referential integrity (obsolete) seg 1.4 Data type for representing line segments or floating-point intervals set_user 4.1.0 Similar to SET ROLE but with added logging sslinfo 1.2 Information about SSL certificates tablefunc 1.0 Functions that manipulate whole tables, including crosstab tcn 1.0 Triggered change notifications timescaledb 2.18.2 Enables scalable inserts and complex queries for time-series data (Apache 2 Edition) tsm_system_rows 1.0 TABLESAMPLE method which accepts number of rows as a limit tsm_system_time 1.0 TABLESAMPLE method which accepts time in milliseconds as a limit unaccent 1.1 Text search dictionary that removes accents uuid-ossp 1.1 Generate universally unique identifiers (UUIDs) xml2 1.1 XPath querying and XSLT The following extensions are additionally included in the Postgis images. Name Default Version Comment address_standardizer 3.4.4 Used to parse an address into constituent elements. Generally used to support geocoding address normalization step. address_standardizer_data_us 3.4.4 Address Standardizer US dataset example postgis 3.4.4 PostGIS geometry and geography spatial types and functions postgis_raster 3.4.4 PostGIS raster types and functions postgis_sfcgal 3.4.4 PostGIS SFCGAL functions postgis_tiger_geocoder 3.4.4 PostGIS tiger geocoder and reverse geocoder postgis_topology 3.4.4 PostGIS topology spatial types and functions ","description":" The extensions listed are included in the standard images. This list refers to PostgreSQL 14. Name Default Version Comment adminpack 2.1 Administrative functions for PostgreSQL amcheck 1.3 Functions for verifying relation integrity autoinc 1.0 Functions for autoincrementing fields bloom 1.0 Bloom access method - signature file based index btree_gin 1.3 Support for indexing common datatypes in GIN btree_gist 1.6 Support for indexing common datatypes in GiST citext 1.6 Data type for case-insensitive character strings credcheck 3.0.0 credcheck - PostgreSQL plain text credential checker cube 1.5 Data type for multidimensional cubes dblink 1.2 Connect to other PostgreSQL databases from within a database dict_int 1.0 Text search dictionary template for integers dict_xsyn 1.0 Text search dictionary template for extended synonym processing earthdistance 1.1 Calculate great-circle distances on the surface of the Earth file_fdw 1.0 Foreign-data wrapper for flat file access fuzzystrmatch 1.1 Determine similarities and distance between strings hstore 1.8 Data type for storing sets of (key, value) pairs hstore_plperl 1.0 Transform between hstore and plperl hstore_plperlu 1.0 Transform between hstore and plperlu hstore_plpython3u 1.0 Transform between hstore and plpython3u insert_username 1.0 Functions for tracking who changed a table intagg 1.1 Integer aggregator and enumerator (obsolete) intarray 1.5 Functions, operators, and index support for 1-D arrays of integers isn 1.2 Data types for international product numbering standards jsonb_plperl 1.0 Transform between jsonb and plperl jsonb_plperlu 1.0 Transform between jsonb and plperlu jsonb_plpython3u 1.0 Transform between jsonb and plpython3u lo 1.1 Large Object maintenance ltree 1.2 Data type for hierarchical tree-like structures ltree_plpython3u 1.0 Transform between ltree and plpython3u moddatetime 1.0 Functions for tracking last modification time old_snapshot 1.0 Utilities in support of old_snapshot_threshold pageinspect 1.9 Inspect the contents of database pages at a low level pg_buffercache 1.3 Examine the shared buffer cache pg_cron 1.6 Job scheduler for PostgreSQL pg_freespacemap 1.2 Examine the free space map (FSM) pg_permissions 1.3 View object permissions and compare them with the desired state pg_prewarm 1.2 Prewarm relation data pg_proctab Placeholder - see pg_proctab\u0026ndash;0.0.10-compat.control pg_stat_statements 1.9 Track planning and execution statistics of all SQL statements executed pg_surgery 1.0 Extension to perform surgery on a damaged relation pg_trgm 1.6 Text similarity measurement and index searching based on trigrams pg_visibility 1.2 Examine the visibility map (VM) and page-level visibility info pgaudit 1.6.3 Provides auditing functionality pgauditlogtofile 1.6 pgAudit addon to redirect audit entries to an independent file pgcrypto 1.3 Cryptographic functions pgnodemx 1.7 SQL functions that allow capture of node OS metrics from PostgreSQL pgrowlocks 1.2 Show row-level locking information pgstattuple 1.5 Show tuple-level statistics plpgsql 1.0 PL/pgSQL procedural language plpython3u 1.0 PL/Python3U untrusted procedural language pltcl 1.0 PL/Tcl procedural language pltclu 1.0 PL/TclU untrusted procedural language postgres_fdw 1.1 Foreign-data wrapper for remote PostgreSQL servers refint 1.0 Functions for implementing referential integrity (obsolete) seg 1.4 Data type for representing line segments or floating-point intervals set_user 4.1.0 Similar to SET ROLE but with added logging sslinfo 1.2 Information about SSL certificates tablefunc 1.0 Functions that manipulate whole tables, including crosstab tcn 1.0 Triggered change notifications timescaledb 2.18.2 Enables scalable inserts and complex queries for time-series data (Apache 2 Edition) tsm_system_rows 1.0 TABLESAMPLE method which accepts number of rows as a limit tsm_system_time 1.0 TABLESAMPLE method which accepts time in milliseconds as a limit unaccent 1.1 Text search dictionary that removes accents uuid-ossp 1.1 Generate universally unique identifiers (UUIDs) xml2 1.1 XPath querying and XSLT The following extensions are additionally included in the Postgis images. Name Default Version Comment address_standardizer 3.4.4 Used to parse an address into constituent elements. Generally used to support geocoding address normalization step. address_standardizer_data_us 3.4.4 Address Standardizer US dataset example postgis 3.4.4 PostGIS geometry and geography spatial types and functions postgis_raster 3.4.4 PostGIS raster types and functions postgis_sfcgal 3.4.4 PostGIS SFCGAL functions postgis_tiger_geocoder 3.4.4 PostGIS tiger geocoder and reverse geocoder postgis_topology 3.4.4 PostGIS topology spatial types and functions "},{"id":36,"href":"/CYBERTEC-pg-operator/extensions/pg15/","title":"PostgreSQL 15","parent":"Extensions","content":" The extensions listed are included in the standard images. This list refers to PostgreSQL 15. Name Default Version Comment adminpack 2.1 Administrative functions for PostgreSQL amcheck 1.3 Functions for verifying relation integrity autoinc 1.0 Functions for autoincrementing fields bloom 1.0 Bloom access method - signature file based index btree_gin 1.3 Support for indexing common datatypes in GIN btree_gist 1.7 Support for indexing common datatypes in GiST citext 1.6 Data type for case-insensitive character strings credcheck 3.0.0 credcheck - PostgreSQL plain text credential checker cube 1.5 Data type for multidimensional cubes dblink 1.2 Connect to other PostgreSQL databases from within a database dict_int 1.0 Text search dictionary template for integers dict_xsyn 1.0 Text search dictionary template for extended synonym processing earthdistance 1.1 Calculate great-circle distances on the surface of the Earth file_fdw 1.0 Foreign-data wrapper for flat file access fuzzystrmatch 1.1 Determine similarities and distance between strings hstore 1.8 Data type for storing sets of (key, value) pairs hstore_plperl 1.0 Transform between hstore and plperl hstore_plperlu 1.0 Transform between hstore and plperlu hstore_plpython3u 1.0 Transform between hstore and plpython3u insert_username 1.0 Functions for tracking who changed a table intagg 1.1 Integer aggregator and enumerator (obsolete) intarray 1.5 Functions, operators, and index support for 1-D arrays of integers isn 1.2 Data types for international product numbering standards jsonb_plperl 1.0 Transform between jsonb and plperl jsonb_plperlu 1.0 Transform between jsonb and plperlu jsonb_plpython3u 1.0 Transform between jsonb and plpython3u lo 1.1 Large Object maintenance ltree 1.2 Data type for hierarchical tree-like structures ltree_plpython3u 1.0 Transform between ltree and plpython3u moddatetime 1.0 Functions for tracking last modification time old_snapshot 1.0 Utilities in support of old_snapshot_threshold pageinspect 1.11 Inspect the contents of database pages at a low level pg_buffercache 1.3 Examine the shared buffer cache pg_cron 1.6 Job scheduler for PostgreSQL pg_freespacemap 1.2 Examine the free space map (FSM) pg_permissions 1.3 View object permissions and compare them with the desired state pg_prewarm 1.2 Prewarm relation data pg_proctab Placeholder - see pg_proctab\u0026ndash;0.0.10-compat.control pg_stat_statements 1.10 Track planning and execution statistics of all SQL statements executed pg_surgery 1.0 Extension to perform surgery on a damaged relation pg_trgm 1.6 Text similarity measurement and index searching based on trigrams pg_visibility 1.2 Examine the visibility map (VM) and page-level visibility info pg_walinspect 1.0 Functions to inspect contents of PostgreSQL Write-Ahead Log pgaudit 1.7 Provides auditing functionality pgauditlogtofile 1.6 pgAudit addon to redirect audit entries to an independent file pgcrypto 1.3 Cryptographic functions pgnodemx 1.7 SQL functions that allow capture of node OS metrics from PostgreSQL pgrowlocks 1.2 Show row-level locking information pgstattuple 1.5 Show tuple-level statistics plpgsql 1.0 PL/pgSQL procedural language plpython3u 1.0 PL/Python3U untrusted procedural language pltcl 1.0 PL/Tcl procedural language pltclu 1.0 PL/TclU untrusted procedural language postgres_fdw 1.1 Foreign-data wrapper for remote PostgreSQL servers refint 1.0 Functions for implementing referential integrity (obsolete) seg 1.4 Data type for representing line segments or floating-point intervals set_user 4.1.0 Similar to SET ROLE but with added logging sslinfo 1.2 Information about SSL certificates tablefunc 1.0 Functions that manipulate whole tables, including crosstab tcn 1.0 Triggered change notifications timescaledb 2.18.2 Enables scalable inserts and complex queries for time-series data (Apache 2 Edition) tsm_system_rows 1.0 TABLESAMPLE method which accepts number of rows as a limit tsm_system_time 1.0 TABLESAMPLE method which accepts time in milliseconds as a limit unaccent 1.1 Text search dictionary that removes accents uuid-ossp 1.1 Generate universally unique identifiers (UUIDs) xml2 1.1 XPath querying and XSLT The following extensions are additionally included in the Postgis images. Name Default Version Comment address_standardizer 3.4.4 Used to parse an address into constituent elements. Generally used to support geocoding address normalization step. address_standardizer_data_us 3.4.4 Address Standardizer US dataset example postgis 3.4.4 PostGIS geometry and geography spatial types and functions postgis_raster 3.4.4 PostGIS raster types and functions postgis_sfcgal 3.4.4 PostGIS SFCGAL functions postgis_tiger_geocoder 3.4.4 PostGIS tiger geocoder and reverse geocoder postgis_topology 3.4.4 PostGIS topology spatial types and functions ","description":" The extensions listed are included in the standard images. This list refers to PostgreSQL 15. Name Default Version Comment adminpack 2.1 Administrative functions for PostgreSQL amcheck 1.3 Functions for verifying relation integrity autoinc 1.0 Functions for autoincrementing fields bloom 1.0 Bloom access method - signature file based index btree_gin 1.3 Support for indexing common datatypes in GIN btree_gist 1.7 Support for indexing common datatypes in GiST citext 1.6 Data type for case-insensitive character strings credcheck 3.0.0 credcheck - PostgreSQL plain text credential checker cube 1.5 Data type for multidimensional cubes dblink 1.2 Connect to other PostgreSQL databases from within a database dict_int 1.0 Text search dictionary template for integers dict_xsyn 1.0 Text search dictionary template for extended synonym processing earthdistance 1.1 Calculate great-circle distances on the surface of the Earth file_fdw 1.0 Foreign-data wrapper for flat file access fuzzystrmatch 1.1 Determine similarities and distance between strings hstore 1.8 Data type for storing sets of (key, value) pairs hstore_plperl 1.0 Transform between hstore and plperl hstore_plperlu 1.0 Transform between hstore and plperlu hstore_plpython3u 1.0 Transform between hstore and plpython3u insert_username 1.0 Functions for tracking who changed a table intagg 1.1 Integer aggregator and enumerator (obsolete) intarray 1.5 Functions, operators, and index support for 1-D arrays of integers isn 1.2 Data types for international product numbering standards jsonb_plperl 1.0 Transform between jsonb and plperl jsonb_plperlu 1.0 Transform between jsonb and plperlu jsonb_plpython3u 1.0 Transform between jsonb and plpython3u lo 1.1 Large Object maintenance ltree 1.2 Data type for hierarchical tree-like structures ltree_plpython3u 1.0 Transform between ltree and plpython3u moddatetime 1.0 Functions for tracking last modification time old_snapshot 1.0 Utilities in support of old_snapshot_threshold pageinspect 1.11 Inspect the contents of database pages at a low level pg_buffercache 1.3 Examine the shared buffer cache pg_cron 1.6 Job scheduler for PostgreSQL pg_freespacemap 1.2 Examine the free space map (FSM) pg_permissions 1.3 View object permissions and compare them with the desired state pg_prewarm 1.2 Prewarm relation data pg_proctab Placeholder - see pg_proctab\u0026ndash;0.0.10-compat.control pg_stat_statements 1.10 Track planning and execution statistics of all SQL statements executed pg_surgery 1.0 Extension to perform surgery on a damaged relation pg_trgm 1.6 Text similarity measurement and index searching based on trigrams pg_visibility 1.2 Examine the visibility map (VM) and page-level visibility info pg_walinspect 1.0 Functions to inspect contents of PostgreSQL Write-Ahead Log pgaudit 1.7 Provides auditing functionality pgauditlogtofile 1.6 pgAudit addon to redirect audit entries to an independent file pgcrypto 1.3 Cryptographic functions pgnodemx 1.7 SQL functions that allow capture of node OS metrics from PostgreSQL pgrowlocks 1.2 Show row-level locking information pgstattuple 1.5 Show tuple-level statistics plpgsql 1.0 PL/pgSQL procedural language plpython3u 1.0 PL/Python3U untrusted procedural language pltcl 1.0 PL/Tcl procedural language pltclu 1.0 PL/TclU untrusted procedural language postgres_fdw 1.1 Foreign-data wrapper for remote PostgreSQL servers refint 1.0 Functions for implementing referential integrity (obsolete) seg 1.4 Data type for representing line segments or floating-point intervals set_user 4.1.0 Similar to SET ROLE but with added logging sslinfo 1.2 Information about SSL certificates tablefunc 1.0 Functions that manipulate whole tables, including crosstab tcn 1.0 Triggered change notifications timescaledb 2.18.2 Enables scalable inserts and complex queries for time-series data (Apache 2 Edition) tsm_system_rows 1.0 TABLESAMPLE method which accepts number of rows as a limit tsm_system_time 1.0 TABLESAMPLE method which accepts time in milliseconds as a limit unaccent 1.1 Text search dictionary that removes accents uuid-ossp 1.1 Generate universally unique identifiers (UUIDs) xml2 1.1 XPath querying and XSLT The following extensions are additionally included in the Postgis images. Name Default Version Comment address_standardizer 3.4.4 Used to parse an address into constituent elements. Generally used to support geocoding address normalization step. address_standardizer_data_us 3.4.4 Address Standardizer US dataset example postgis 3.4.4 PostGIS geometry and geography spatial types and functions postgis_raster 3.4.4 PostGIS raster types and functions postgis_sfcgal 3.4.4 PostGIS SFCGAL functions postgis_tiger_geocoder 3.4.4 PostGIS tiger geocoder and reverse geocoder postgis_topology 3.4.4 PostGIS topology spatial types and functions "},{"id":37,"href":"/CYBERTEC-pg-operator/extensions/pg16/","title":"PostgreSQL 16","parent":"Extensions","content":" The extensions listed are included in the standard images. This list refers to PostgreSQL 16. Name Default Version Comment adminpack 2.1 Administrative functions for PostgreSQL amcheck 1.3 Functions for verifying relation integrity autoinc 1.0 Functions for autoincrementing fields bloom 1.0 Bloom access method - signature file based index btree_gin 1.3 Support for indexing common datatypes in GIN btree_gist 1.7 Support for indexing common datatypes in GiST citext 1.6 Data type for case-insensitive character strings credcheck 3.0.0 credcheck - PostgreSQL plain text credential checker cube 1.5 Data type for multidimensional cubes dblink 1.2 Connect to other PostgreSQL databases from within a database dict_int 1.0 Text search dictionary template for integers dict_xsyn 1.0 Text search dictionary template for extended synonym processing earthdistance 1.2 Calculate great-circle distances on the surface of the Earth file_fdw 1.0 Foreign-data wrapper for flat file access fuzzystrmatch 1.2 Determine similarities and distance between strings hstore 1.8 Data type for storing sets of (key, value) pairs hstore_plperl 1.0 Transform between hstore and plperl hstore_plperlu 1.0 Transform between hstore and plperlu hstore_plpython3u 1.0 Transform between hstore and plpython3u insert_username 1.0 Functions for tracking who changed a table intagg 1.1 Integer aggregator and enumerator (obsolete) intarray 1.5 Functions, operators, and index support for 1-D arrays of integers isn 1.2 Data types for international product numbering standards jsonb_plperl 1.0 Transform between jsonb and plperl jsonb_plperlu 1.0 Transform between jsonb and plperlu jsonb_plpython3u 1.0 Transform between jsonb and plpython3u lo 1.1 Large Object maintenance ltree 1.2 Data type for hierarchical tree-like structures ltree_plpython3u 1.0 Transform between ltree and plpython3u moddatetime 1.0 Functions for tracking last modification time old_snapshot 1.0 Utilities in support of old_snapshot_threshold pageinspect 1.12 Inspect the contents of database pages at a low level pg_buffercache 1.4 Examine the shared buffer cache pg_cron 1.6 Job scheduler for PostgreSQL pg_freespacemap 1.2 Examine the free space map (FSM) pg_permissions 1.3 View object permissions and compare them with the desired state pg_prewarm 1.2 Prewarm relation data pg_proctab Placeholder - see pg_proctab\u0026ndash;0.0.10-compat.control pg_stat_statements 1.10 Track planning and execution statistics of all SQL statements executed pg_surgery 1.0 Extension to perform surgery on a damaged relation pg_trgm 1.6 Text similarity measurement and index searching based on trigrams pg_visibility 1.2 Examine the visibility map (VM) and page-level visibility info pg_walinspect 1.1 Functions to inspect contents of PostgreSQL Write-Ahead Log pgaudit 16.1 Provides auditing functionality pgauditlogtofile 1.6 pgAudit addon to redirect audit entries to an independent file pgcrypto 1.3 Cryptographic functions pgnodemx 1.7 SQL functions that allow capture of node OS metrics from PostgreSQL pgrowlocks 1.2 Show row-level locking information pgstattuple 1.5 Show tuple-level statistics plpgsql 1.0 PL/pgSQL procedural language plpython3u 1.0 PL/Python3U untrusted procedural language pltcl 1.0 PL/Tcl procedural language pltclu 1.0 PL/TclU untrusted procedural language postgres_fdw 1.1 Foreign-data wrapper for remote PostgreSQL servers refint 1.0 Functions for implementing referential integrity (obsolete) seg 1.4 Data type for representing line segments or floating-point intervals set_user 4.1.0 Similar to SET ROLE but with added logging sslinfo 1.2 Information about SSL certificates tablefunc 1.0 Functions that manipulate whole tables, including crosstab tcn 1.0 Triggered change notifications timescaledb 2.18.2 Enables scalable inserts and complex queries for time-series data (Apache 2 Edition) tsm_system_rows 1.0 TABLESAMPLE method which accepts number of rows as a limit tsm_system_time 1.0 TABLESAMPLE method which accepts time in milliseconds as a limit unaccent 1.1 Text search dictionary that removes accents uuid-ossp 1.1 Generate universally unique identifiers (UUIDs) xml2 1.1 XPath querying and XSLT The following extensions are additionally included in the Postgis images. Name Default Version Comment address_standardizer 3.4.4 Used to parse an address into constituent elements. Generally used to support geocoding address normalization step. address_standardizer_data_us 3.4.4 Address Standardizer US dataset example postgis 3.4.4 PostGIS geometry and geography spatial types and functions postgis_raster 3.4.4 PostGIS raster types and functions postgis_sfcgal 3.4.4 PostGIS SFCGAL functions postgis_tiger_geocoder 3.4.4 PostGIS tiger geocoder and reverse geocoder postgis_topology 3.4.4 PostGIS topology spatial types and functions ","description":" The extensions listed are included in the standard images. This list refers to PostgreSQL 16. Name Default Version Comment adminpack 2.1 Administrative functions for PostgreSQL amcheck 1.3 Functions for verifying relation integrity autoinc 1.0 Functions for autoincrementing fields bloom 1.0 Bloom access method - signature file based index btree_gin 1.3 Support for indexing common datatypes in GIN btree_gist 1.7 Support for indexing common datatypes in GiST citext 1.6 Data type for case-insensitive character strings credcheck 3.0.0 credcheck - PostgreSQL plain text credential checker cube 1.5 Data type for multidimensional cubes dblink 1.2 Connect to other PostgreSQL databases from within a database dict_int 1.0 Text search dictionary template for integers dict_xsyn 1.0 Text search dictionary template for extended synonym processing earthdistance 1.2 Calculate great-circle distances on the surface of the Earth file_fdw 1.0 Foreign-data wrapper for flat file access fuzzystrmatch 1.2 Determine similarities and distance between strings hstore 1.8 Data type for storing sets of (key, value) pairs hstore_plperl 1.0 Transform between hstore and plperl hstore_plperlu 1.0 Transform between hstore and plperlu hstore_plpython3u 1.0 Transform between hstore and plpython3u insert_username 1.0 Functions for tracking who changed a table intagg 1.1 Integer aggregator and enumerator (obsolete) intarray 1.5 Functions, operators, and index support for 1-D arrays of integers isn 1.2 Data types for international product numbering standards jsonb_plperl 1.0 Transform between jsonb and plperl jsonb_plperlu 1.0 Transform between jsonb and plperlu jsonb_plpython3u 1.0 Transform between jsonb and plpython3u lo 1.1 Large Object maintenance ltree 1.2 Data type for hierarchical tree-like structures ltree_plpython3u 1.0 Transform between ltree and plpython3u moddatetime 1.0 Functions for tracking last modification time old_snapshot 1.0 Utilities in support of old_snapshot_threshold pageinspect 1.12 Inspect the contents of database pages at a low level pg_buffercache 1.4 Examine the shared buffer cache pg_cron 1.6 Job scheduler for PostgreSQL pg_freespacemap 1.2 Examine the free space map (FSM) pg_permissions 1.3 View object permissions and compare them with the desired state pg_prewarm 1.2 Prewarm relation data pg_proctab Placeholder - see pg_proctab\u0026ndash;0.0.10-compat.control pg_stat_statements 1.10 Track planning and execution statistics of all SQL statements executed pg_surgery 1.0 Extension to perform surgery on a damaged relation pg_trgm 1.6 Text similarity measurement and index searching based on trigrams pg_visibility 1.2 Examine the visibility map (VM) and page-level visibility info pg_walinspect 1.1 Functions to inspect contents of PostgreSQL Write-Ahead Log pgaudit 16.1 Provides auditing functionality pgauditlogtofile 1.6 pgAudit addon to redirect audit entries to an independent file pgcrypto 1.3 Cryptographic functions pgnodemx 1.7 SQL functions that allow capture of node OS metrics from PostgreSQL pgrowlocks 1.2 Show row-level locking information pgstattuple 1.5 Show tuple-level statistics plpgsql 1.0 PL/pgSQL procedural language plpython3u 1.0 PL/Python3U untrusted procedural language pltcl 1.0 PL/Tcl procedural language pltclu 1.0 PL/TclU untrusted procedural language postgres_fdw 1.1 Foreign-data wrapper for remote PostgreSQL servers refint 1.0 Functions for implementing referential integrity (obsolete) seg 1.4 Data type for representing line segments or floating-point intervals set_user 4.1.0 Similar to SET ROLE but with added logging sslinfo 1.2 Information about SSL certificates tablefunc 1.0 Functions that manipulate whole tables, including crosstab tcn 1.0 Triggered change notifications timescaledb 2.18.2 Enables scalable inserts and complex queries for time-series data (Apache 2 Edition) tsm_system_rows 1.0 TABLESAMPLE method which accepts number of rows as a limit tsm_system_time 1.0 TABLESAMPLE method which accepts time in milliseconds as a limit unaccent 1.1 Text search dictionary that removes accents uuid-ossp 1.1 Generate universally unique identifiers (UUIDs) xml2 1.1 XPath querying and XSLT The following extensions are additionally included in the Postgis images. Name Default Version Comment address_standardizer 3.4.4 Used to parse an address into constituent elements. Generally used to support geocoding address normalization step. address_standardizer_data_us 3.4.4 Address Standardizer US dataset example postgis 3.4.4 PostGIS geometry and geography spatial types and functions postgis_raster 3.4.4 PostGIS raster types and functions postgis_sfcgal 3.4.4 PostGIS SFCGAL functions postgis_tiger_geocoder 3.4.4 PostGIS tiger geocoder and reverse geocoder postgis_topology 3.4.4 PostGIS topology spatial types and functions "},{"id":38,"href":"/CYBERTEC-pg-operator/extensions/pg17/","title":"PostgreSQL 17","parent":"Extensions","content":" The extensions listed are included in the standard images. This list refers to PostgreSQL 17. Name Default Version Comment amcheck 1.4 Functions for verifying relation integrity autoinc 1.0 Functions for autoincrementing fields bloom 1.0 Bloom access method - signature file based index btree_gin 1.3 Support for indexing common datatypes in GIN btree_gist 1.7 Support for indexing common datatypes in GiST citext 1.6 Data type for case-insensitive character strings credcheck 3.0.0 credcheck - PostgreSQL plain text credential checker cube 1.5 Data type for multidimensional cubes dblink 1.2 Connect to other PostgreSQL databases from within a database dict_int 1.0 Text search dictionary template for integers dict_xsyn 1.0 Text search dictionary template for extended synonym processing earthdistance 1.2 Calculate great-circle distances on the surface of the Earth file_fdw 1.0 Foreign-data wrapper for flat file access fuzzystrmatch 1.2 Determine similarities and distance between strings hstore 1.8 Data type for storing sets of (key, value) pairs hstore_plperl 1.0 Transform between hstore and plperl hstore_plperlu 1.0 Transform between hstore and plperlu hstore_plpython3u 1.0 Transform between hstore and plpython3u insert_username 1.0 Functions for tracking who changed a table intagg 1.1 Integer aggregator and enumerator (obsolete) intarray 1.5 Functions, operators, and index support for 1-D arrays of integers isn 1.2 Data types for international product numbering standards jsonb_plperl 1.0 Transform between jsonb and plperl jsonb_plperlu 1.0 Transform between jsonb and plperlu jsonb_plpython3u 1.0 Transform between jsonb and plpython3u lo 1.1 Large Object maintenance ltree 1.3 Data type for hierarchical tree-like structures ltree_plpython3u 1.0 Transform between ltree and plpython3u moddatetime 1.0 Functions for tracking last modification time pageinspect 1.12 Inspect the contents of database pages at a low level pg_buffercache 1.5 Examine the shared buffer cache pg_cron 1.6 Job scheduler for PostgreSQL pg_freespacemap 1.2 Examine the free space map (FSM) pg_permissions 1.3 View object permissions and compare them with the desired state pg_prewarm 1.2 Prewarm relation data pg_proctab Placeholder - see pg_proctab\u0026ndash;0.0.10-compat.control pg_stat_statements 1.11 Track planning and execution statistics of all SQL statements executed pg_surgery 1.0 Extension to perform surgery on a damaged relation pg_trgm 1.6 Text similarity measurement and index searching based on trigrams pg_visibility 1.2 Examine the visibility map (VM) and page-level visibility info pg_walinspect 1.1 Functions to inspect contents of PostgreSQL Write-Ahead Log pgaudit 17.1 Provides auditing functionality pgauditlogtofile 1.6 pgAudit addon to redirect audit entries to an independent file pgcrypto 1.3 Cryptographic functions pgnodemx 1.7 SQL functions that allow capture of node OS metrics from PostgreSQL pgrowlocks 1.2 Show row-level locking information pgstattuple 1.5 Show tuple-level statistics plpgsql 1.0 PL/pgSQL procedural language plpython3u 1.0 PL/Python3U untrusted procedural language pltcl 1.0 PL/Tcl procedural language pltclu 1.0 PL/TclU untrusted procedural language postgres_fdw 1.1 Foreign-data wrapper for remote PostgreSQL servers refint 1.0 Functions for implementing referential integrity (obsolete) seg 1.4 Data type for representing line segments or floating-point intervals set_user 4.1.0 Similar to SET ROLE but with added logging sslinfo 1.2 Information about SSL certificates tablefunc 1.0 Functions that manipulate whole tables, including crosstab tcn 1.0 Triggered change notifications timescaledb 2.18.2 Enables scalable inserts and complex queries for time-series data (Apache 2 Edition) tsm_system_rows 1.0 TABLESAMPLE method which accepts number of rows as a limit tsm_system_time 1.0 TABLESAMPLE method which accepts time in milliseconds as a limit unaccent 1.1 Text search dictionary that removes accents uuid-ossp 1.1 Generate universally unique identifiers (UUIDs) xml2 1.1 XPath querying and XSLT The following extensions are additionally included in the Postgis images. Name Default Version Comment address_standardizer 3.4.4 Used to parse an address into constituent elements. Generally used to support geocoding address normalization step. address_standardizer_data_us 3.4.4 Address Standardizer US dataset example postgis 3.4.4 PostGIS geometry and geography spatial types and functions postgis_raster 3.4.4 PostGIS raster types and functions postgis_sfcgal 3.4.4 PostGIS SFCGAL functions postgis_tiger_geocoder 3.4.4 PostGIS tiger geocoder and reverse geocoder postgis_topology 3.4.4 PostGIS topology spatial types and functions ","description":" The extensions listed are included in the standard images. This list refers to PostgreSQL 17. Name Default Version Comment amcheck 1.4 Functions for verifying relation integrity autoinc 1.0 Functions for autoincrementing fields bloom 1.0 Bloom access method - signature file based index btree_gin 1.3 Support for indexing common datatypes in GIN btree_gist 1.7 Support for indexing common datatypes in GiST citext 1.6 Data type for case-insensitive character strings credcheck 3.0.0 credcheck - PostgreSQL plain text credential checker cube 1.5 Data type for multidimensional cubes dblink 1.2 Connect to other PostgreSQL databases from within a database dict_int 1.0 Text search dictionary template for integers dict_xsyn 1.0 Text search dictionary template for extended synonym processing earthdistance 1.2 Calculate great-circle distances on the surface of the Earth file_fdw 1.0 Foreign-data wrapper for flat file access fuzzystrmatch 1.2 Determine similarities and distance between strings hstore 1.8 Data type for storing sets of (key, value) pairs hstore_plperl 1.0 Transform between hstore and plperl hstore_plperlu 1.0 Transform between hstore and plperlu hstore_plpython3u 1.0 Transform between hstore and plpython3u insert_username 1.0 Functions for tracking who changed a table intagg 1.1 Integer aggregator and enumerator (obsolete) intarray 1.5 Functions, operators, and index support for 1-D arrays of integers isn 1.2 Data types for international product numbering standards jsonb_plperl 1.0 Transform between jsonb and plperl jsonb_plperlu 1.0 Transform between jsonb and plperlu jsonb_plpython3u 1.0 Transform between jsonb and plpython3u lo 1.1 Large Object maintenance ltree 1.3 Data type for hierarchical tree-like structures ltree_plpython3u 1.0 Transform between ltree and plpython3u moddatetime 1.0 Functions for tracking last modification time pageinspect 1.12 Inspect the contents of database pages at a low level pg_buffercache 1.5 Examine the shared buffer cache pg_cron 1.6 Job scheduler for PostgreSQL pg_freespacemap 1.2 Examine the free space map (FSM) pg_permissions 1.3 View object permissions and compare them with the desired state pg_prewarm 1.2 Prewarm relation data pg_proctab Placeholder - see pg_proctab\u0026ndash;0.0.10-compat.control pg_stat_statements 1.11 Track planning and execution statistics of all SQL statements executed pg_surgery 1.0 Extension to perform surgery on a damaged relation pg_trgm 1.6 Text similarity measurement and index searching based on trigrams pg_visibility 1.2 Examine the visibility map (VM) and page-level visibility info pg_walinspect 1.1 Functions to inspect contents of PostgreSQL Write-Ahead Log pgaudit 17.1 Provides auditing functionality pgauditlogtofile 1.6 pgAudit addon to redirect audit entries to an independent file pgcrypto 1.3 Cryptographic functions pgnodemx 1.7 SQL functions that allow capture of node OS metrics from PostgreSQL pgrowlocks 1.2 Show row-level locking information pgstattuple 1.5 Show tuple-level statistics plpgsql 1.0 PL/pgSQL procedural language plpython3u 1.0 PL/Python3U untrusted procedural language pltcl 1.0 PL/Tcl procedural language pltclu 1.0 PL/TclU untrusted procedural language postgres_fdw 1.1 Foreign-data wrapper for remote PostgreSQL servers refint 1.0 Functions for implementing referential integrity (obsolete) seg 1.4 Data type for representing line segments or floating-point intervals set_user 4.1.0 Similar to SET ROLE but with added logging sslinfo 1.2 Information about SSL certificates tablefunc 1.0 Functions that manipulate whole tables, including crosstab tcn 1.0 Triggered change notifications timescaledb 2.18.2 Enables scalable inserts and complex queries for time-series data (Apache 2 Edition) tsm_system_rows 1.0 TABLESAMPLE method which accepts number of rows as a limit tsm_system_time 1.0 TABLESAMPLE method which accepts time in milliseconds as a limit unaccent 1.1 Text search dictionary that removes accents uuid-ossp 1.1 Generate universally unique identifiers (UUIDs) xml2 1.1 XPath querying and XSLT The following extensions are additionally included in the Postgis images. Name Default Version Comment address_standardizer 3.4.4 Used to parse an address into constituent elements. Generally used to support geocoding address normalization step. address_standardizer_data_us 3.4.4 Address Standardizer US dataset example postgis 3.4.4 PostGIS geometry and geography spatial types and functions postgis_raster 3.4.4 PostGIS raster types and functions postgis_sfcgal 3.4.4 PostGIS SFCGAL functions postgis_tiger_geocoder 3.4.4 PostGIS tiger geocoder and reverse geocoder postgis_topology 3.4.4 PostGIS topology spatial types and functions "},{"id":39,"href":"/CYBERTEC-pg-operator/extensions/","title":"Extensions","parent":"CPO (CYBERTEC-PG-Operator)","content":"","description":""},{"id":40,"href":"/CYBERTEC-pg-operator/monitoring/","title":"Monitoring","parent":"CPO (CYBERTEC-PG-Operator)","content":"The CPO-Project has prepared severall Tools which allows to setup a Monitoring-Stack including Alerting and Metric-Viewer. These Stack is based on:\nPrometheus Alertmanager Grafana exporter-container CPO has prepared an own Exporter for the PostgreSQl-Pod which can used as a sidecar.\nSetting up the Monitoring Stack To setup the Monitoring-Stack we suggest that you create an own namespace and use the prepared kustomization file inside the Operator-Tutorials.\n$ kubectl create namespace cpo-monitoring namespace/cpo-monitoring created $ kubectl get pods -n cpo-monitoring No resources found in cpo-monitoring namespace. git clone https://github.com/cybertec-postgresql/CYBERTEC-operator-tutorial cd CYBERTEC-operator-tutorial/setup/monitoring # Hint: Please check if youn want to use a specific storage-class the file pvcs.yaml and add your storageclass on the commented part. Please ensure that you removed the comment-char. $ kubectl apply -n cpo-monitoring -k . serviceaccount/cpo-monitoring created serviceaccount/cpo-monitoring-tools created clusterrole.rbac.authorization.k8s.io/cpo-monitoring unchanged clusterrolebinding.rbac.authorization.k8s.io/cpo-monitoring unchanged configmap/alertmanager-config created configmap/alertmanager-rules-config created configmap/cpo-prometheus-cm created configmap/grafana-dashboards created configmap/grafana-datasources created secret/grafana-secret created service/cpo-monitoring-alertmanager created service/cpo-monitoring-grafana created service/cpo-monitoring-prometheus created persistentvolumeclaim/alertmanager-pvc created persistentvolumeclaim/grafana-pvc created persistentvolumeclaim/prometheus-pvc created deployment.apps/cpo-monitoring-alertmanager created deployment.apps/cpo-monitoring-grafana created deployment.apps/cpo-monitoring-prometheus created Hint: If you\u0026#39;re not running Openshift you will get a error like this: error: resource mapping not found for name: \u0026#34;grafana\u0026#34; namespace: \u0026#34;\u0026#34; from \u0026#34;.\u0026#34;: no matches for kind \u0026#34;Route\u0026#34; in version \u0026#34;route.openshift.io/v1\u0026#34; ensure CRDs are installed first You can ignore this, because it depends on an object with the type route which is part of Openshift. It is not needed replaced by ingress-rules or an loadbalancer-service. After installing the Monitoring-Stack we\u0026rsquo;re able to check the created pods inside the namespace\n$ kubectl get pods -n cpo-monitoring ---------------------------------------------------------------------------------------- NAME | READY | STATUS | RESTARTS | AGE cpo-monitoring-alertmanager-5bb8bc79f7-8pdv4 | 1/1 | Running | 0 | 3m35s cpo-monitoring-grafana-7c7c4f787b-jbj2f | 1/1 | Running | 0 | 3m35s cpo-monitoring-prometheus-67969b757f-k26jd | 1/1 | Running | 0 | 3m35s The configuration of this monitoring-stack is based on severall configmaps which can be modified.\nPrometheus-Configuration Alertmanager-Configuration Grafana-Configuration Configure a PostgreSQL-Cluster to allow Prometheus to gather metrics To allow Prometheus to gather metrics from your cluster you need to do some small modfications on the Cluster-Manifest. We need to create the monitor-object for this:\nkubectl edit postgresqls.cpo.opensource.cybertec.at cluster-1 ... spec: ... monitor: image: docker.io/cybertecpostgresql/cybertec-pg-container:exporter-16.2-1 The Operator will add automatically the monitoring sidecar to your pods, create a new postgres-user and add some structure inside the postgres-database to enable everthing needed for the Monitoring. Also every Ressource of your Cluster will get a new label: cpo_monitoring_stack=true. This is needed for Prometheus to identify all clusters which should be added to the monitoring. Removing this label will stop Prometheus to gather data from this cluster.\nAfter changing your Cluster-Manifest the Pods needs to be recreated which is done by a rolling update. After this you can see that the pod has now more than just one container.\nkubectl get pods ----------------------------------------------------------------------------- NAME | READY | STATUS | RESTARTS | AGE cluster-1-0 | 2/2 | Running | 0 | 54s cluster-1-1 | 2/2 | Running | 0 | 31s You can check the logs to see that the exporter is working and with curl you can see the output of the exporter.\nkubectl logs cluster-1-0 -c postgres-exporter kubectl exec --stdin --tty cluster-1-0 -c postgres-exporter -- /bin/bash [exporter@cluster-1-0 /]# curl http://127.0.0.1:9187/metrics You can now setup a LoadBalancer-Service or create an Ingress-Rule to allow access von outside to the grafana. Alternativ you can use a port-forward.\nLoadBalancer or Nodeport Ingress-Rule Port-Forwarding $ kubectl get pods -n cpo-monitoring ---------------------------------------------------------------------------------------- NAME | READY | STATUS | RESTARTS | AGE cpo-monitoring-alertmanager-5bb8bc79f7-8pdv4 | 1/1 | Running | 0 | 6m42s cpo-monitoring-grafana-7c7c4f787b-jbj2f | 1/1 | Running | 0 | 6m42s cpo-monitoring-prometheus-67969b757f-k26jd | 1/1 | Running | 0 | 6m42s $ kubectl port-forward cpo-monitoring-grafana-7c7c4f787b-jbj2f -n cpo-monitoring 9000:9000 Forwarding from 127.0.0.1:9000 -\u0026gt; 9000 Forwarding from [::1]:9000 -\u0026gt; 9000 Call http://localhost:9000 in the Browser\nUse a Route (Openshift only) kubectl get route -n cpo-monitoring Use the Route-Adress to access Grafana\n","description":"The CPO-Project has prepared severall Tools which allows to setup a Monitoring-Stack including Alerting and Metric-Viewer. These Stack is based on:\nPrometheus Alertmanager Grafana exporter-container CPO has prepared an own Exporter for the PostgreSQl-Pod which can used as a sidecar.\nSetting up the Monitoring Stack To setup the Monitoring-Stack we suggest that you create an own namespace and use the prepared kustomization file inside the Operator-Tutorials.\n"},{"id":41,"href":"/CYBERTEC-pg-operator/clone-cluster/","title":"Clone Cluster","parent":"CPO (CYBERTEC-PG-Operator)","content":"The function of a cluster clone was implemented to create the possibility of duplicating the current status of a cluster in order to carry out tests such as a major upgrade. It creates an autonomous and independent cluster based on an existing local cluster or from a cloud storage via pgBackRest (S3, gcs or Azure Blob)\nPreconditions: The primary cluster must either:\nbe accessible from the standby cluster via streaming replication the backup storage used by the standby cluster (S3, GCS or Azure Blob) must be accessible for the standby cluster The passwords for the Postgres user, the replication user and the exporter user (if monitoring is active) must be created as a secret for the standby cluster. Otherwise connection problems will occur\nClone a cluster via pvc apiVersion: cpo.opensource.cybertec.at/v1 kind: postgresql metadata: name: cluster-1-clone spec: dockerImage: \u0026#39;docker.io/cybertecpostgresql/cybertec-pg-container:postgres-17.4-1\u0026#39; numberOfInstances: 1 postgresql: version: \u0026#39;17\u0026#39; resources: limits: cpu: 500m memory: 500Mi requests: cpu: 500m memory: 500Mi teamId: acid volume: size: 5Gi clone: cluster: cluster-1 pgbackrest: configuration: secret: cluster-1-pvc-configuration repo: storage: pvc Clone a cluster via s3 apiVersion: cpo.opensource.cybertec.at/v1 kind: postgresql metadata: name: cluster-1-clone spec: dockerImage: \u0026#39;docker.io/cybertecpostgresql/cybertec-pg-container:postgres-17.4-1\u0026#39; numberOfInstances: 1 postgresql: version: \u0026#39;17\u0026#39; resources: limits: cpu: 500m memory: 500Mi requests: cpu: 500m memory: 500Mi teamId: acid volume: size: 5Gi clone: cluster: cluster-1 # A random cluster name can be used if the source cluster is not present on the k8s. pgbackrest: configuration: secret: cluster-1-s3-credentials options: repo1-path: /YOUR_PATH_INSIDE_THE_BUCKET_TO_THE_SOURCE_STANZA/repo1/ repo: endpoint: YOUR_SOURCE_S3_ENDPOINT name: repo1 region: YOUR_SOURCE_S3_REGION resource: YOUR_SOURCE_BUCKET_NAME storage: s3 Limitations A primary cluster cannot be demoted to a standby cluster. If necessary, the recommendation is to create a new cluster as a standby cluster.\n","description":"The function of a cluster clone was implemented to create the possibility of duplicating the current status of a cluster in order to carry out tests such as a major upgrade. It creates an autonomous and independent cluster based on an existing local cluster or from a cloud storage via pgBackRest (S3, gcs or Azure Blob)\nPreconditions: The primary cluster must either:\n"},{"id":42,"href":"/CYBERTEC-pg-operator/standby-cluster/","title":"Standby Cluster","parent":"CPO (CYBERTEC-PG-Operator)","content":"A standby cluster is an independent PostgreSQL cluster that consists of a standby leader and optionally further replicas (if numberOfInstances \u0026gt; 1). The standby leader runs in read-only mode and does not accept any write operations. A standby cluster can be promoted to a primary cluster if required, whereby the standby leader becomes a fully-fledged leader and allows write operations.\nPreconditions: The primary cluster must either:\nbe accessible from the standby cluster via streaming replication the backup storage used by the standby cluster (S3, GCS or Azure Blob) must be accessible for the standby cluster The passwords for the Postgres user, the replication user and the exporter user (if monitoring is active) must be created as a secret for the standby cluster. Otherwise connection problems will occur\nCreate standby cluster The standby object in the cluster manifest is required to create a standby cluster.\napiVersion: cpo.opensource.cybertec.at/v1 kind: postgresql metadata: name: standby-cluster-1 spec: standby: standby_host: \u0026#34;cluster-1.cpo\u0026#34; standby_port: \u0026#34;5432\u0026#34; dockerImage: \u0026#39;docker.io/cybertecpostgresql/cybertec-pg-container:postgres-17.4-1\u0026#39; numberOfInstances: 1 postgresql: version: \u0026#39;17\u0026#39; resources: limits: cpu: 500m memory: 500Mi requests: cpu: 500m memory: 500Mi teamId: acid volume: size: 5Gi The primary cluster must be accessible from the standby cluster. It can be located in the same Kubernetes cluster or in a different one.\nstandby_host: Corresponds to the endpoint via which the primary pod can be reached. It can be a kubernetes-internal DNS name or an IP or DNS name that can be reached in the network. standby_port: Corresponds to the PostgreSQL port used (default 5432) Promoting cluster To promote a cluster, it is only necessary to remove the standby object. The cluster is then promoted to a primary cluster.\nkubectl patch postgresqls.cpo.opensource.cybertec.at cluster-1 --type=\u0026#39;merge\u0026#39; -p \\ \u0026#39;{\u0026#34;spec\u0026#34;:{\u0026#34;standby\u0026#34;:null}}\u0026#39; Limitations A primary cluster cannot be demoted to a standby cluster. If necessary, the recommendation is to create a new cluster as a standby cluster.\n","description":"A standby cluster is an independent PostgreSQL cluster that consists of a standby leader and optionally further replicas (if numberOfInstances \u0026gt; 1). The standby leader runs in read-only mode and does not accept any write operations. A standby cluster can be promoted to a primary cluster if required, whereby the standby leader becomes a fully-fledged leader and allows write operations.\nPreconditions: The primary cluster must either:\n"},{"id":43,"href":"/CYBERTEC-pg-operator/pg_versioning/","title":"PG versioning","parent":"CPO (CYBERTEC-PG-Operator)","content":"","description":""},{"id":44,"href":"/CYBERTEC-pg-operator/pg_versioning/minor_updates/","title":"Minor version update","parent":"PG versioning","content":"Minor version updates for PostgreSQL are performed by updating the PostgreSQL container image in use. With the update object spec.dockerImage of the cluster manifest, the operator takes over the update based on the rolling update strategy. This means that the pods are replaced one after the other, with the replicas being updated first and then the old primary after a switchover. The operational interruption should generally last less than 5 seconds (switchover time), but the clients must still reconnect.\nIf necessary, the operator also supports the downgrade of minor releases in the same way.\nTo install minor version updates, PostgreSQL only requires the binaries to be replaced and the database to be restarted. For more information see PostgreSQL - Versioning Policy\nThis procedure can also be used for all other containers in a cluster. Whether sidecars, exporter, pooler or backup image Preconditions: Check if there is a newer image for the PostgreSQL container - Check on Docker hub Check - Check that the new PGVERSION is larger than the previously used one. Check whether the new PGVERSION is larger than the previously used one and the maintenance mode of the cluster must be deactivated. In addition, the replicas should not have a high lag. Updating PostgreSQL-Container-Image Old-Manifest:\napiVersion: cpo.opensource.cybertec.at/v1 kind: postgresql metadata: name: cluster-1 namespace: cpo spec: dockerImage: \u0026#39;docker.io/cybertecpostgresql/cybertec-pg-container:postgres-17.3-1\u0026#39; New-Manifest:\napiVersion: cpo.opensource.cybertec.at/v1 kind: postgresql metadata: name: cluster-1 namespace: cpo spec: dockerImage: \u0026#39;docker.io/cybertecpostgresql/cybertec-pg-container:postgres-17.4-1\u0026#39; Updating via kubectl/oc-client kubectl patch postgresqls.cpo.opensource.cybertec.at cluster-1 --type=\u0026#39;merge\u0026#39; -p \\ \u0026#39;{\u0026#34;spec\u0026#34;:{\u0026#34;dockerImage\u0026#34;:\u0026#34;docker.io/cybertecpostgresql/cybertec-pg-container:postgres-17.4-1\u0026#34;}}\u0026#39; Updating Exporter-Container-Image Updating Cluster-Manifest: Old-Manifest:\napiVersion: cpo.opensource.cybertec.at/v1 kind: postgresql metadata: name: cluster-1 namespace: cpo spec: monitor: image: \u0026#39;docker.io/cybertecpostgresql/cybertec-pg-container:exporter-17.3-1\u0026#39; New-Manifest:\napiVersion: cpo.opensource.cybertec.at/v1 kind: postgresql metadata: name: cluster-1 namespace: cpo spec: monitor: image: \u0026#39;docker.io/cybertecpostgresql/cybertec-pg-container:exporter-17.4-1\u0026#39; Updating via kubectl/oc-client kubectl patch postgresqls.cpo.opensource.cybertec.at cluster-1 --type=\u0026#39;merge\u0026#39; -p \\ \u0026#39;{\u0026#34;spec\u0026#34;:{\u0026#34;monitor\u0026#34;:{\u0026#34;image\u0026#34;:\u0026#34;docker.io/cybertecpostgresql/cybertec-pg-container:exporter-17.4-1\u0026#34;}}}\u0026#39; ","description":"Minor version updates for PostgreSQL are performed by updating the PostgreSQL container image in use. With the update object spec.dockerImage of the cluster manifest, the operator takes over the update based on the rolling update strategy. This means that the pods are replaced one after the other, with the replicas being updated first and then the old primary after a switchover. The operational interruption should generally last less than 5 seconds (switchover time), but the clients must still reconnect.\n"},{"id":45,"href":"/CYBERTEC-pg-operator/pg_versioning/major_upgrades/","title":"Major version upgrade","parent":"PG versioning","content":"CPO enables the use of the in-place upgrade, which makes it possible to upgrade a cluster to a new PG major. For this purpose, pg_upgrade is used in the background.\nNote that an in-place upgrade generates both a pod restore in the form of a rolling update and an operational interruption of the cluster during the actual execution of the restore. How does the upgrade work? Preconditions: Pod restart - Use the rolling update strategy to replace all pods based on the new ENV PGVERSION with the version you want to update to. Check - Check that the new PGVERSION is larger than the previously used one. Check whether the new PGVERSION is larger than the previously used one and the maintenance mode of the cluster must be deactivated. In addition, the replicas should not have a high lag. Preliminary checks use initdb to prepare a new data_dir (data_new) based on the new PGVERSION. check the upgrade possibility with pg_upgrade --check If one of the steps is aborted, a cleanup is performed Prepare the Upgrade remove dependencies that can cause problems. For example, the extensions pg_stat_statements and pgaudit. activate the maintenance mode of the cluster terminate PostgreSQL in an orderly manner check pg_controldata for the checkpoint position and wait until all replicas apply the latest checkpoint location use port 5432 for rsyncd and start it Start the Upgrade Call pg_upgrade -k to start the Upgrade if the process failed, we need to rollback, if it was sucessful we\u0026rsquo;re reaching the point of no return Rename the directories. data -\u0026gt; data_old and data_new -\u0026gt; data Update the Patroni.config (postgres.yml) Call Checkpoint on every replica and trigger rsync on the Replicas Wait for Replicas to complete rsxnc. Timeout: 300 Stop rsyncd on Primary and remove ininitialize key from DCS, because its based on the old sysid Start Patroni on the Primary and start the postgres locally Reset custom staticstics, warmup the Memory and start Analyze in stages in separate threads Wait for every Replica to become ready Disable the maintenance mode for the Cluster Restore custom statistics, analyze these tables and restore dropped objetcs from Prepare the upgrade Completion of the upgrade Drop directory data_old Trigger new Backup How a rollback is working? Stop rsynd if its running Disable the maintenance mode for the Cluster Drop directory data_new How to trigger a In-Place-Upgrade with cpo? spec: postgresql: version: \u0026#34;17\u0026#34; To trigger an In-Place-Upgrade you have just to increase the parameter spec.postgresql.version. If you choose a valid number the Operator will start with the prozedure, described above.\nkubectl patch postgresqls.cpo.opensource.cybertec.at cluster-1 --type=\u0026#39;merge\u0026#39; -p \\ \u0026#39;{\u0026#34;spec\u0026#34;:{\u0026#34;postgresql\u0026#34;:{\u0026#34;version\u0026#34;:\u0026#34;17\u0026#34;}}}\u0026#39; Upgrade on cloning When cloning, the new cluster manifest must have a higher version number than the source cluster and is created from a base backup. Depending on the cluster size, the downtime can be considerable in this case, as write operations in the database should be stopped and all WAL files should be archived first before cloning is started. Therefore, only use cloning to test major version upgrades and to check the compatibility of your app with the Postgres server of a higher version.\nmanual upgrade via the PostgreSQL container In this scenario the major version could then be run by a user from within the primary pod. Exec into the container and run:\npython3 /scripts/inplace_upgrade.py N where N is the number of members of your cluster (see numberOfInstances). The upgrade is usually fast, well under one minute for most DBs.\nNote, that changes become irrevertible once pg_upgrade is called. ","description":"CPO enables the use of the in-place upgrade, which makes it possible to upgrade a cluster to a new PG major. For this purpose, pg_upgrade is used in the background.\nNote that an in-place upgrade generates both a pod restore in the form of a rolling update and an operational interruption of the cluster during the actual execution of the restore. How does the upgrade work? Preconditions: Pod restart - Use the rolling update strategy to replace all pods based on the new ENV PGVERSION with the version you want to update to. Check - Check that the new PGVERSION is larger than the previously used one. Check whether the new PGVERSION is larger than the previously used one and the maintenance mode of the cluster must be deactivated. In addition, the replicas should not have a high lag. Preliminary checks use initdb to prepare a new data_dir (data_new) based on the new PGVERSION. check the upgrade possibility with pg_upgrade --check If one of the steps is aborted, a cleanup is performed Prepare the Upgrade remove dependencies that can cause problems. For example, the extensions pg_stat_statements and pgaudit. activate the maintenance mode of the cluster terminate PostgreSQL in an orderly manner check pg_controldata for the checkpoint position and wait until all replicas apply the latest checkpoint location use port 5432 for rsyncd and start it Start the Upgrade Call pg_upgrade -k to start the Upgrade if the process failed, we need to rollback, if it was sucessful we\u0026rsquo;re reaching the point of no return Rename the directories. data -\u0026gt; data_old and data_new -\u0026gt; data Update the Patroni.config (postgres.yml) Call Checkpoint on every replica and trigger rsync on the Replicas Wait for Replicas to complete rsxnc. Timeout: 300 Stop rsyncd on Primary and remove ininitialize key from DCS, because its based on the old sysid Start Patroni on the Primary and start the postgres locally Reset custom staticstics, warmup the Memory and start Analyze in stages in separate threads Wait for every Replica to become ready Disable the maintenance mode for the Cluster Restore custom statistics, analyze these tables and restore dropped objetcs from Prepare the upgrade Completion of the upgrade Drop directory data_old Trigger new Backup How a rollback is working? Stop rsynd if its running Disable the maintenance mode for the Cluster Drop directory data_new How to trigger a In-Place-Upgrade with cpo? spec: postgresql: version: \u0026#34;17\u0026#34; To trigger an In-Place-Upgrade you have just to increase the parameter spec.postgresql.version. If you choose a valid number the Operator will start with the prozedure, described above.\n"},{"id":46,"href":"/CYBERTEC-pg-operator/multisite/","title":"Multisite","parent":"CPO (CYBERTEC-PG-Operator)","content":"Multisite is a function specially developed for Patroni that makes it possible to combine two separate Patroni clusters into a common cluster unit. ‘Separate’ in this context means that the clusters run independently of each other and can even be located on different Kubernetes clusters. With Multisite, both clusters benefit from the well-known Patroni features such as automatic failover and demotion of members, resulting in a significant extension compared to a conventional standby cluster. This feature significantly improves high availability and redundancy by managing multiple geographically or infrastructurally separated clusters as one logical unit. This allows one cluster to seamlessly transition to another in the event of a failure without having to rely on manual switchovers or third-party replication solutions.\nPrerequisites In order to set up the multisite PostgreSQL operator you will need the following:\nTwo or more Kubernetes or OpenShift clusters (also possible with bare metal or VMs) Kubernetes version 1.25+, OpenShift version 4.12+. Support for defining LoadBalancer services with external IP addresses that are accessible from the other cluster(s). Persistent volumes with must be available (only ReadWriteOnce capability is needed). A separate VM or Kubernetes/OpenShift cluster to provide quorum (if using less then three Kubernetes or OpenShift clusters). For high availability there should not be a shared point of failure between the quorum and the two Kubernetes clusters. VM or a LoadBalancer IP must be accessible on ports 2379/2380 to the two other clusters. 2 vCPU and 2 GB of memory and 20GB of persistent storage is needed for the quorum site. Set up etcd cluster with 3 sites accessible from each of the sites. etcd needs to support API version 3. For backups an object storage system with S3 compatible API is needed. Minio, Ceph and major cloud provider object storages are known to work. An additional etcd is set up for Multisite, which spans the Kubernetes or Openshift clusters and must contain the quorum. Architecture Helm based deployment of the multisite operator contains two helm charts, postgres-operator and postgres-cluster. The first is used to deploy the operator and associated objects to a single Kubernetes cluster. The operator is responsible for managing PostgreSQL clusters based on Custom Resource Definitions (CRDs) of type postgresqls/pg.\nThe diagram contains in green the Helm charts that are used to deploy operator and clusters, in blue the objects deployed by the operator helm chart and in gold the objects deployed by the cluster chart.\nOperator helm chart deployed objects have the following purposes:\ndeployments/postgres-operator - Deployment for the operator itself. opconfig/postgres-operator - Operator configuration parameters that are read on operator startup. These apply to all clusters managed by this operator. crd/operatorconfigurations.cpo.opensource.cybertec.at - Schema for the operator configuration. clusterrole/postgres-operator - Defines the Kubernetes API resource access used by the operator. Assigned to postgres-operator service account. clusterrole/postgres-pod - The Kubernetes API access needed by database pods. Access is needed to access leader status, config and other things. This is assigned to postgres-pod service account used by database pods. crd/postgresqls.cpo.opensource.cybertec.at - Schema for PostgreSQL cluster definitions. clusterrole/postgres-operator:users:{admin,edit,view} - If rbac.createAggregateClusterRoles is set then user facing roles are added for accessing the postgresqls CRDs. The cluster chart creates an instance of postgresqls CRD, which will be called cluster manifest from here on. When this cluster manifest is created operator will create the needed resources for the cluster. These include:\nstatefulset/$clustername - StatefulSet is responsible for creating and managing database pods and their associated PersistentVolumeClaims for storing the databases. Each database pod will run internally an instance of Patroni process, which will coordinate over the Kubernetes API initialization of the database, startup, leader election and other control plane actions.\nservice/$clustername,endpoints/$clustername - The main access point for users accessing the database. When load balancer is enabled in the CRD or multisite mode is enabled, this service will be set to be a LoadBalancer service and accessible from outside the Kubernetes cluster. The service is created without a selector. Instead, for leader elections database pods will update the IP address of this endpoint to point to the current leader.\nThe endpoint also holds annotations that determine the duration of the leader lease.\nIn multicluster operation mode the standby site leader will be in read-only mode.\nservice/$clustername-repl - Service that points to non-leader (read-only) instances of the database cluster.\nservice/$clustername-config - A headless service with an endpoint that holds Patroni configuration in annotations.\npoddisruptionbudget/postgres-$clustername-pdb - A pod disruption budget that does not allow Kubernetes to shut down pods in leader role. On some Kubernetes clusters kubernetes.enable_pod_disruption_budgets may need to be turned off to allow nodes to be drained for upgrades.\nMultisite mode In multisite operation mode there are multiple independent Kubernetes clusters with operators capable of independent operation. To coordinate which site has the current leader process the database pods use a shared etcd cluster to store a leader lease.\nDuring bootstrap the first site to acquire the leader lease gets to initialize the database contents. Secondary sites are configured to replicate from primary site using Patroni\u0026rsquo;s standby_cluster mechanism.\nTo be able to communicate between Kubernetes clusters a LoadBalancer service is needed. For this the operator automatically turns the primary service of the cluster to be of kind LoadBalancer. Operator will wait for an external IP address to be assigned to this service and passes this information to the database pod. The leader of each site, whether primary or standby site, will periodically advertise the externally visible IP address for their site in etcd. Based on this the standby site can configure the standby cluster mechanism to replicate from primary site.\nDeployment In multisite mode postgres-operator can manage a replicated PostgreSQL cluster that is deployed across multiple Kubernetes clusters. Multisite operation can be turned on on a cluster by cluster basis, or can be configured to default to on for all cluster managed by a single operator.\nSetting up a GR deployment consists of the following steps:\nCreating a shared etcd cluster. Configuring multisite operation parameters for the postgres-operator. Creating a multisite enabled cluster. Etcd deployment Multisite operation mode requires an etcd cluster to achieve consensus on which site gets to accept write transactions. This functionality is critical to avoid situations where multiple site accept incompatible writes that cannot be reconciliated, also known as a split brain scenario.\nA highly available etcd cluster consists of an odd number of nodes, at least 3. It is very important that a quorum of etcd instances (for 3 node clusters, any two instances) do not share a single point of failure. Otherwise the write availability of database clusters is limited to this single point of failure. Effectively this means that to protect 3 node etcd clusters from whole site failure, any site can only contain 1 etcd node and there needs to be at least 3 sites.\nPostgres-operator is agnostic to the exact method of etcd setup, but for ease of use there is a Helm chart packaged that demonstrates the setup.\nExample etcd setup This example uses one etcd instance deployed outside Kubernetes cluster as quorum. This etcd needs to be started with the following configuration. Note that IP address that is advertised must be routed to the host that runs this etcd.\nETCD_NAME=quorum ETCD_INITIAL_CLUSTER=quorum=http://10.100.1.100:2380 ETCD_INITIAL_ADVERTISE_PEER_URLS=http://10.100.1.100:2380 ETCD_INITIAL_CLUSTER_TOKEN=hpe_etcd ETCD_ADVERTISE_CLIENT_URLS=http://10.100.1.100:2379 ETCD_LISTEN_CLIENT_URLS=http://0.0.0.0:2379 ETCD_LISTEN_PEER_URLS=http://0.0.0.0:2380 Kubernetes clusters can then be joined to this node. This needs to be a two step process as typically the externally visible IP address or port is not known before creating the LoadBalancer service. For this first create a free standing loadbalancer service that will be overwritten by the Helm chart.\nhelm template global-etcd ./etcd-helm/ -f etcd-helm/site_a.yaml \\ | awk \u0026#39;/service.yaml/{flag=1;next}/---/{flag=0}flag\u0026#39; \\ | kubectl apply -f - Then check what external IP address the load balancer service got assigned to it.\n$ kubectl get svc -l app.kubernetes.io/instance=global-etcd NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE global-etcd-etcd-helm LoadBalancer 10.109.171.146 10.200.1.101 2379:32488/TCP,2380:30336/TCP 17h And set in the values for the helm chart:\nUnique name of the site. Externally visible IP address of this service IP address of existing etcd service. Peer list that includes both existing and to be added etcd instance. Example:\nsite: name: site_a host: 10.100.2.101 etcd: existing_etcd_cluster_hostname: 10.100.1.100 token: hpe_etcd state: existing peers: #Peers should only include working peers and the current one - quorum=http://10.100.1.100:2380 - site_a_etcd0=http://10.100.2.101:2380 client_port: 2379 peer_port: 2380 Then install the helm chart:\nhelm install global-etcd ./etcd-helm/ -f etcd-helm/site_a.yaml This then needs to be repeated for the other site.\nConfiguring operator for multisite operations Multisite operation needs at a minimum the configuration options multisite.etcd_host, multisite.site and multisite.enabled. All of them can be configured either in operator configuration or per cluster.\nmultisite.etcd_host needs to point at the global etcd. The port is currently assumed to be 2379. Normally all clusters under one operator would be using the same etcd clusters, so it makes sense to configure it in the operator configuration. At runtime database pods will discover the whole etcd cluster member list and will also take notice of any membership changes. It is enough to use local etcd instance service name here.\nmultisite.site is a unique identifier for this site. It will be prefixed to globally advertised database pod names to distinguish them from pods in other sites. This also makes sense in the operator configuration.\nmultisite.enabled turns of the multisite behavior. Typically it would make sense to control this at the cluster level, but the default could be turned on globally.\nThese parameters are exposed in Helm chart values file as configMultisite.*.\nExample config:\n$ kubectl get opconfig/postgres-operator -o yaml | grep multisite -B1 -A3 min_instances: -1 multisite: etcd_host: global-etcd-etcd-helm.default.svc.cluster.local site: s1 postgres_pod_resources: This needs to be repeated with a different site name in the second Kubernetes cluster.\nCreating a multisite enabled postgres cluster If the operator is configured for multisite operation then creating a multisite cluster only needs enabling of the multisite mode.\nHere is an example values file to use for creating multisite enabled clusters:\napiVersion: cpo.opensource.cybertec.at/v1 kind: postgresql metadata: name: multisite-cluster namespace: cpo labels: app.kubernetes.io/name: postgres-cluster app.kubernetes.io/instance: multisite-cluster spec: dockerImage: docker.io/cybertecpostgresql/cybertec-pg-container:postgres-multisite-17.4-1 numberOfInstances: 1 postgresql: version: \u0026#39;17\u0026#39; resources: limits: cpu: 500m memory: 500Mi requests: cpu: 500m memory: 500Mi teamId: acid volume: size: 5Gi patroni: ttl: 30 loop_wait: 10 retry_timeout: 10 multisite: enable: true There is no coordination needed between creating the two or more sites and they can use identical configuration. The clusters need to be in the same namespace and have the same name to be considered the same cluster. The first cluster to boot up will acquire multisite leader status and will bootstrap the database. The other clusters will automatically fetch a copy from the leader cluster and start replicating.\nMultisite operation needs that the database cluster are capable of communicating with each other. To do this a load balancer service is created in each cluster for the cluster leader. The operator then waits for an external IP to be assigned and injects it into the database pods to be used for advertising their identity.\nObserving operations If database pods have not been created, the first place to check for information is operator logs. Operator logs can be checked with the following command (add \u0026ndash;follow if you want to observe in real-time):\nkubectl logs $(kubectl get po -l \u0026#39;app.kubernetes.io/name=postgres-operator\u0026#39; -o name) The logs for a successful cluster creation look like this\ntime=\u0026#34;2023-02-22T15:24:12Z\u0026#34; level=info msg=\u0026#34;ADD event has been queued\u0026#34; cluster-name=cpo/multisite-cluster pkg=controller worker=1 time=\u0026#34;2023-02-22T15:24:12Z\u0026#34; level=info msg=\u0026#34;creating a new Postgres cluster\u0026#34; cluster-name=cpo/multisite-cluster pkg=controller worker=1 time=\u0026#34;2023-02-22T15:24:12Z\u0026#34; level=warning msg=\u0026#34;master is not running, generated master endpoint does not contain any addresses\u0026#34; cluster-name=cpo/multisite-cluster pkg=cluster worker=1 time=\u0026#34;2023-02-22T15:24:12Z\u0026#34; level=info msg=\u0026#34;endpoint \\\u0026#34;cpo/multisite-cluster\\\u0026#34; has been successfully created\u0026#34; cluster-name=cpo/multisite-cluster pkg=cluster worker=1 time=\u0026#34;2023-02-22T15:24:12Z\u0026#34; level=debug msg=\u0026#34;final load balancer source ranges as seen in a service spec (not necessarily applied): [\\\u0026#34;0.0.0.0/0\\\u0026#34;]\u0026#34; cluster-name=cpo/multisite-cluster pkg=cluster worker=1 time=\u0026#34;2023-02-22T15:24:12Z\u0026#34; level=info msg=\u0026#34;master service \\\u0026#34;cpo/multisite-cluster\\\u0026#34; has been successfully created\u0026#34; cluster-name=cpo/multisite-cluster pkg=cluster worker=1 time=\u0026#34;2023-02-22T15:24:12Z\u0026#34; level=info msg=\u0026#34;replica service \\\u0026#34;cpo/multisite-cluster-repl\\\u0026#34; has been successfully created\u0026#34; cluster-name=cpo/multisite-cluster pkg=cluster worker=1 time=\u0026#34;2023-02-22T15:24:12Z\u0026#34; level=debug msg=\u0026#34;team API is disabled\u0026#34; cluster-name=cpo/multisite-cluster pkg=cluster worker=1 time=\u0026#34;2023-02-22T15:24:12Z\u0026#34; level=debug msg=\u0026#34;team API is disabled\u0026#34; cluster-name=cpo/multisite-cluster pkg=cluster worker=1 time=\u0026#34;2023-02-22T15:24:12Z\u0026#34; level=info msg=\u0026#34;users have been initialized\u0026#34; cluster-name=cpo/multisite-cluster pkg=cluster worker=1 time=\u0026#34;2023-02-22T15:24:12Z\u0026#34; level=info msg=\u0026#34;syncing secrets\u0026#34; cluster-name=cpo/multisite-cluster pkg=cluster worker=1 time=\u0026#34;2023-02-22T15:24:12Z\u0026#34; level=debug msg=\u0026#34;created new secret cpo/postgres.multisite-cluster.credentials.postgresql.cpo.opensource.cybertec.at, namespace: default, uid: 75ded2eb-a2c9-4968-a1d7-50d2996baeb3\u0026#34; cluster-name=cpo/multisite-cluster pkg=cluster worker=1 time=\u0026#34;2023-02-22T15:24:13Z\u0026#34; level=debug msg=\u0026#34;created new secret cpo/standby.multisite-cluster.credentials.postgresql.cpo.opensource.cybertec.at, namespace: default, uid: 45a2560a-65a8-4bd5-954f-34d80d8a1894\u0026#34; cluster-name=cpo/multisite-cluster pkg=cluster worker=1 time=\u0026#34;2023-02-22T15:24:13Z\u0026#34; level=info msg=\u0026#34;secrets have been successfully created\u0026#34; cluster-name=cpo/multisite-cluster pkg=cluster worker=1 time=\u0026#34;2023-02-22T15:24:13Z\u0026#34; level=info msg=\u0026#34;pod disruption budget \\\u0026#34;cpo/postgres-multisite-cluster-pdb\\\u0026#34; has been successfully created\u0026#34; cluster-name=cpo/multisite-cluster pkg=cluster worker=1 time=\u0026#34;2023-02-22T15:24:13Z\u0026#34; level=info msg=\u0026#34;waiting for load balancer IP to be assigned\u0026#34; cluster-name=cpo/multisite-cluster pkg=cluster worker=1 time=\u0026#34;2023-02-22T15:24:13Z\u0026#34; level=debug msg=\u0026#34;created new statefulset \\\u0026#34;cpo/multisite-cluster\\\u0026#34;, uid: \\\u0026#34;b83647ea-17f6-40aa-aa0c-b1111e76cdc0\\\u0026#34;\u0026#34; cluster-name=cpo/multisite-cluster pkg=cluster worker=1 time=\u0026#34;2023-02-22T15:24:13Z\u0026#34; level=info msg=\u0026#34;statefulset \\\u0026#34;cpo/multisite-cluster\\\u0026#34; has been successfully created\u0026#34; cluster-name=cpo/multisite-cluster pkg=cluster worker=1 time=\u0026#34;2023-02-22T15:24:13Z\u0026#34; level=info msg=\u0026#34;waiting for the cluster being ready\u0026#34; cluster-name=cpo/multisite-cluster pkg=cluster worker=1 time=\u0026#34;2023-02-22T15:24:16Z\u0026#34; level=debug msg=\u0026#34;Waiting for 1 pods to become ready\u0026#34; cluster-name=cpo/multisite-cluster pkg=cluster worker=1 time=\u0026#34;2023-02-22T15:24:28Z\u0026#34; level=info msg=\u0026#34;pods are ready\u0026#34; cluster-name=cpo/multisite-cluster pkg=cluster worker=1 time=\u0026#34;2023-02-22T15:24:28Z\u0026#34; level=info msg=\u0026#34;Create roles\u0026#34; cluster-name=cpo/multisite-cluster pkg=cluster worker=1 time=\u0026#34;2023-02-22T15:24:28Z\u0026#34; level=debug msg=\u0026#34;closing database connection\u0026#34; cluster-name=cpo/multisite-cluster pkg=cluster worker=1 time=\u0026#34;2023-02-22T15:24:28Z\u0026#34; level=info msg=\u0026#34;users have been successfully created\u0026#34; cluster-name=cpo/multisite-cluster pkg=cluster worker=1 time=\u0026#34;2023-02-22T15:24:28Z\u0026#34; level=debug msg=\u0026#34;closing database connection\u0026#34; cluster-name=cpo/multisite-cluster pkg=cluster worker=1 time=\u0026#34;2023-02-22T15:24:28Z\u0026#34; level=info msg=\u0026#34;databases have been successfully created\u0026#34; cluster-name=cpo/multisite-cluster pkg=cluster worker=1 time=\u0026#34;2023-02-22T15:24:28Z\u0026#34; level=info msg=\u0026#34;found pod disruption budget: \\\u0026#34;cpo/postgres-multisite-cluster-pdb\\\u0026#34; (uid: \\\u0026#34;986a0118-83e7-4736-9843-ec80c0ea9270\\\u0026#34;)\u0026#34; cluster-name=cpo/multisite-cluster pkg=cluster worker=1 time=\u0026#34;2023-02-22T15:24:28Z\u0026#34; level=info msg=\u0026#34;found statefulset: \\\u0026#34;cpo/multisite-cluster\\\u0026#34; (uid: \\\u0026#34;b83647ea-17f6-40aa-aa0c-b1111e76cdc0\\\u0026#34;)\u0026#34; cluster-name=cpo/multisite-cluster pkg=cluster worker=1 time=\u0026#34;2023-02-22T15:24:28Z\u0026#34; level=info msg=\u0026#34;found secret: \\\u0026#34;cpo/postgres.multisite-cluster.credentials.postgresql.cpo.opensource.cybertec.at\\\u0026#34; (uid: \\\u0026#34;75ded2eb-a2c9-4968-a1d7-50d2996baeb3\\\u0026#34;) namesapce: default\u0026#34; cluster-name=cpo/multisite-cluster pkg=cluster worker=1 time=\u0026#34;2023-02-22T15:24:28Z\u0026#34; level=info msg=\u0026#34;found secret: \\\u0026#34;cpo/standby.multisite-cluster.credentials.postgresql.cpo.opensource.cybertec.at\\\u0026#34; (uid: \\\u0026#34;45a2560a-65a8-4bd5-954f-34d80d8a1894\\\u0026#34;) namesapce: default\u0026#34; cluster-name=cpo/multisite-cluster pkg=cluster worker=1 time=\u0026#34;2023-02-22T15:24:28Z\u0026#34; level=info msg=\u0026#34;found master endpoint: \\\u0026#34;cpo/multisite-cluster\\\u0026#34; (uid: \\\u0026#34;d9f7870e-dd51-4a88-a36a-1c2eb258a31c\\\u0026#34;)\u0026#34; cluster-name=cpo/multisite-cluster pkg=cluster worker=1 time=\u0026#34;2023-02-22T15:24:28Z\u0026#34; level=info msg=\u0026#34;found master service: \\\u0026#34;cpo/multisite-cluster\\\u0026#34; (uid: \\\u0026#34;4b30df50-ca53-4def-8171-b792c4eefc17\\\u0026#34;)\u0026#34; cluster-name=cpo/multisite-cluster pkg=cluster worker=1 time=\u0026#34;2023-02-22T15:24:28Z\u0026#34; level=info msg=\u0026#34;found replica service: \\\u0026#34;cpo/multisite-cluster-repl\\\u0026#34; (uid: \\\u0026#34;a77c3a49-3eea-4b6b-92b1-032e13d78f02\\\u0026#34;)\u0026#34; cluster-name=cpo/multisite-cluster pkg=cluster worker=1 time=\u0026#34;2023-02-22T15:24:28Z\u0026#34; level=info msg=\u0026#34;found pod: \\\u0026#34;cpo/multisite-cluster-0\\\u0026#34; (uid: \\\u0026#34;9b31d378-c9eb-4c1a-8637-e78933187ed7\\\u0026#34;)\u0026#34; cluster-name=cpo/multisite-cluster pkg=cluster worker=1 time=\u0026#34;2023-02-22T15:24:28Z\u0026#34; level=info msg=\u0026#34;found PVC: \\\u0026#34;cpo/pgdata-multisite-cluster-0\\\u0026#34; (uid: \\\u0026#34;03e66572-27ed-42b4-87bd-825d32131d36\\\u0026#34;)\u0026#34; cluster-name=cpo/multisite-cluster pkg=cluster worker=1 time=\u0026#34;2023-02-22T15:24:28Z\u0026#34; level=debug msg=\u0026#34;syncing connection pooler (master, replica) from (false, nil) to (false, false)\u0026#34; cluster-name=cpo/multisite-cluster pkg=cluster worker=1 time=\u0026#34;2023-02-22T15:24:28Z\u0026#34; level=info msg=\u0026#34;cluster has been created\u0026#34; cluster-name=cpo/multisite-cluster pkg=controller worker=1 When database pods have been created, then Patroni logs can be checked from the pod logs:\nkubectl logs multisite-cluster-0 Successful start of first database pod will have amongst other output the following lines:\n. . . # Kubernetes API access 2023-02-22 15:24:21,061 INFO: Selected new K8s API server endpoint https://192.168.49.2:8443 . . . # Set ourselves as multisite leader 2023-02-22 15:24:21,218 INFO: Selected new etcd server http://192.168.50.101:2379 2023-02-22 15:24:21,348 INFO: Running multisite consensus. 2023-02-22 15:24:21,349 INFO: Touching member s1-multisite-cluster with {\u0026#39;host\u0026#39;: \u0026#39;192.168.49.103\u0026#39;, \u0026#39;port\u0026#39;: 5432} 2023-02-22 15:24:21,447 INFO: Became multisite leader . . . # Initializing a new empty database 2023-02-22 15:24:21,563 INFO: trying to bootstrap a new cluster . . . Success. You can now start the database server using: . . . # Database started 2023-02-22 15:24:23,934 INFO: postmaster pid=73 . . . # Running global database intitialization script 2023-02-22 15:24:25,061 INFO: running post_bootstrap . . . # Bootstrap done 2023-02-22 15:24:26,310 INFO: initialized a new cluster . . . # Repeated information about health every 10s 2023-02-22 15:24:26,313 INFO: Lock owner: multisite-cluster-0; I am multisite-cluster-0 2023-02-22 15:24:26,361 INFO: Triggering multisite hearbeat 2023-02-22 15:24:26,364 INFO: Running multisite consensus. 2023-02-22 15:24:26,364 INFO: Multisite has leader and it is us 2023-02-22 15:24:26,409 INFO: Updated multisite leader lease 2023-02-22 15:24:26,409 INFO: Touching member s1-multisite-cluster with {\u0026#39;host\u0026#39;: \u0026#39;192.168.49.103\u0026#39;, \u0026#39;port\u0026#39;: 5432} 2023-02-22 15:24:26,422 INFO: no action. I am (multisite-cluster-0), the leader with the lock . . . Bootstrap of standby on primary site will have these lines:\n. . . # Determine leader 2023-02-22 15:47:04,552 INFO: Lock owner: multisite-cluster-0; I am multisite-cluster-1 2023-02-22 15:47:04,677 INFO: trying to bootstrap from leader \u0026#39;multisite-cluster-0\u0026#39; . . . # Data copied to replica successfully 2023-02-22 15:47:06,805 INFO: replica has been created using basebackup_fast_xlog 2023-02-22 15:47:06,807 INFO: bootstrapped from leader \u0026#39;multisite-cluster-0\u0026#39; # Postgres up 2023-02-22 15:47:07,205 INFO: postmaster pid=73 . . . # Normal operation 2023-02-22 15:47:08,380 INFO: no action. I am (multisite-cluster-1), a secondary, and following a leader (multisite-cluster-0) Standby cluster will have the following information:\n. . . # Discovering multisite status 2023-02-22 15:49:58,406 INFO: Running multisite consensus. 2023-02-22 15:49:58,407 INFO: Touching member s2-multisite-cluster with {\u0026#39;host\u0026#39;: \u0026#39;192.168.50.103\u0026#39;, \u0026#39;port\u0026#39;: 5432} 2023-02-22 15:49:58,454 INFO: Multisite has leader and it is s1-multisite-cluster 2023-02-22 15:49:58,454 INFO: Multisite replicate from Member(index=\u0026#39;118\u0026#39;, name=\u0026#39;s1-multisite-cluster\u0026#39;, session=\u0026#39;4113060022582527194\u0026#39;, data={\u0026#39;host\u0026#39;: \u0026#39;192.168.49.103\u0026#39;, \u0026#39;port\u0026#39;: 5432}) 2023-02-22 15:49:58,454 INFO: Setting standby configuration to: {\u0026#39;host\u0026#39;: \u0026#39;192.168.49.103\u0026#39;, \u0026#39;port\u0026#39;: 5432} 2023-02-22 15:49:58,455 INFO: Touching member s2-multisite-cluster with {\u0026#39;host\u0026#39;: \u0026#39;192.168.50.103\u0026#39;, \u0026#39;port\u0026#39;: 5432} . . . # Acquiring standby site leader status and starting copy from primary site 2023-02-22 15:49:58,290 INFO: Lock owner: None; I am multisite-cluster-0 2023-02-22 15:49:58,566 INFO: trying to bootstrap a new standby leader . . . # Replica creation successful 2023-02-22 15:50:00,326 INFO: replica has been created using basebackup 2023-02-22 15:50:00,327 INFO: bootstrapped clone from remote master postgresql://192.168.49.103:5432 # Postgres started 2023-02-22 15:50:00,577 INFO: postmaster pid=58 . . . # Normal operation output of standby leader 2023-02-22 15:50:01,835 INFO: Lock owner: multisite-cluster-0; I am multisite-cluster-0 2023-02-22 15:50:01,886 INFO: Triggering multisite hearbeat 2023-02-22 15:50:01,888 INFO: Running multisite consensus. 2023-02-22 15:50:01,888 INFO: Multisite has leader and it is s1-multisite-cluster 2023-02-22 15:50:01,888 INFO: Multisite replicate from Member(index=\u0026#39;118\u0026#39;, name=\u0026#39;s1-multisite-cluster\u0026#39;, session=\u0026#39;4113060022582527194\u0026#39;, data={\u0026#39;host\u0026#39;: \u0026#39;192.168.49.103\u0026#39;, \u0026#39;port\u0026#39;: 5432}) 2023-02-22 15:50:01,888 INFO: Touching member s2-multisite-cluster with {\u0026#39;host\u0026#39;: \u0026#39;192.168.50.103\u0026#39;, \u0026#39;port\u0026#39;: 5432} 2023-02-22 15:50:01,899 INFO: no action. I am (multisite-cluster-0), the standby leader with the lock In case access to PostgreSQL logs is needed, the easiest way is to exec into a running database pod with kubectl exec -it multisite-cluster-0 -- bash and view the files there. Logs are stored as /home/postgres/pgdata/pgroot/pg_log/postgresql-*.csv, with one file per weekday.\nReplication state can be queried from PostgreSQL:\nkubectl exec -it $(kubectl get -o name po -l \u0026#39;spilo-role=master,cluster-name=multisite-cluster\u0026#39;) -- su postgres -c \\ \u0026#39;psql -xc \u0026#34;SELECT application_name, client_addr, backend_start, write_lag FROM pg_stat_replication\u0026#34;\u0026#39; To check how multisite mode is doing one option is to check the etcd state. For example by executing in any one of your database pods:\nkubectl exec multisite-cluster-0 -- bash -c \\ \u0026#39;ETCDCTL_API=3 etcdctl --endpoints=http://${MULTISITE_ETCD_HOST}:2379 \\ get /multisite/${POD_NAMESPACE}/${SCOPE}/{leader,members0}\u0026#39; This will output state stored in etcd. Example:\n/multisite/cpo/multisite-cluster/leader s1-multisite-cluster /multisite/cpo/multisite-cluster/members/s1-multisite-cluster {\u0026#34;host\u0026#34;:\u0026#34;192.168.49.102\u0026#34;,\u0026#34;port\u0026#34;:5432} /multisite/cpo/multisite-cluster/members/s2-multisite-cluster {\u0026#34;host\u0026#34;:\u0026#34;192.168.50.102\u0026#34;,\u0026#34;port\u0026#34;:5432} Each cluster state is stored with the prefix /multisite/$NAMESPACE/$CLUSTER_NAME. In this state there is /leader key storing current leader of the cluster and /members/$SITE_$CLUSTER_NAME for each sites externally visible service.\nTriggering switchover manually Sometimes it is necessary to move leader role from one site to another. For this the operator REST API has an endpoint named /clusters/$namespace/$cluster/multisite/. This accepts a POST request with a request JSON. The document has the following attributes:\nswitchover_to: name of the site that should become the new multisite leader. Example:\ncurl --data-raw \u0026#39;{\u0026#34;switchover_to\u0026#34;: \u0026#34;s1\u0026#34;}\u0026#39; -H \u0026#34;Content-type: application/json\u0026#34; \\ http://postgres-operator.default.svc.cluster.local:8080/clusters/cpo/multisite-cluster/multisite/ The POST request to this endpoint will return immediately when the switchover request has been registered. The actual switchover process will take some time to coordinate.\nObserving multisite status Current multisite status is published to cluster CRD status subresource in Multisite field. The possible values are Leader and Standby. When the role changes there will also be an event published.\nExample output from a kubectl describe on the cluster CRD resource:\nStatus: Multisite: Leader Postgres Cluster Status: Running Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Promote 13s patroni Acquired multisite leader status Ouptut from the standby side:\nStatus: Multisite: Standby Postgres Cluster Status: Running Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Demote 62s patroni Lost leader lock to s1-multisite-cluster Normal Multisite 97s postgres-operator Multisite switching over to \u0026#34;multisite-cluster\u0026#34; at site \u0026#34;s1\u0026#34; Normal Multisite 97s postgres-operator Successfully started switchover to \u0026#34;multisite-cluster\u0026#34; at \u0026#34;s1\u0026#34; Development environment tips MetalLB based cross cluster communication with minikube Minikube is a useful distribution for deploying development Kubernetes clusters. With a bit of configuration it is possible to set up 2 Minikube clusters with MetalLB deployed so that MetalLB assigned IP addresses are accessible from the other cluster.\nPre-requisite is to have 2 virtual machines that either are in the same L2 network, or that have a subnet routed to them.\nThis example is based on docker based deployment, same approach might work with other deployment options (e.g. Virtualbox), but may require some extra configuration tuning.\nStart minikube\u0026rsquo;s on the two hosts using different internal subnets, and configure and enable the metallb addon to assign IP addresses from this subnet. The subnets chosen should not be in use for services needed by these two VMs, but other hosts are not affected by the choice of the subnets.\n# Host A minikube start --subnet=192.168.49.2 minikube addons configure metallb -- Enter Load Balancer Start IP: 192.168.49.100 -- Enter Load Balancer End IP: 192.168.49.200 ▪ Using image docker.io/metallb/speaker:v0.9.6 ▪ Using image docker.io/metallb/controller:v0.9.6 ✅ metallb was successfully configured minikube addons enable metallb # Host B minikube start --subnet=192.168.50.2 minikube addons configure metallb -- Enter Load Balancer Start IP: 192.168.50.100 -- Enter Load Balancer End IP: 192.168.50.200 ▪ Using image docker.io/metallb/speaker:v0.9.6 ▪ Using image docker.io/metallb/controller:v0.9.6 ✅ metallb was successfully configured minikube addons enable metallb On both hosts turn on ip forwarding in sysctl.conf and reload it with sysctl -p\nnet.ipv4.ip_forward=1 In IP tables allow forwarding:\nsudo iptables -A FORWARD -j ACCEPT Configure on each host routing to access the other clusters metallb IP range via the other VMs IP address (need to replace IP addresses and network interfaces with actual ones from the VMs):\n# Host A sudo ip route add 192.168.50.0/24 via 192.168.2.12 dev eth1 # Host B sudo ip route add 192.168.49.0/24 via 192.168.2.11 dev eth1 To check if load balancer works, here\u0026rsquo;s an example HTTP service:\napiVersion: apps/v1 kind: Deployment metadata: name: hello-blue-whale spec: replicas: 1 selector: matchLabels: app: hello-blue-whale-app template: metadata: name: hello-blue-whale-pod labels: app: hello-blue-whale-app spec: containers: - name: hello-blue-whale-container image: vamsijakkula/hello-blue-whale:v1 ports: - containerPort: 80 --- apiVersion: v1 kind: Service metadata: name: hello-blue-whale-svc labels: app: hello-blue-whale-app spec: selector: app: hello-blue-whale-app type: LoadBalancer ports: - port: 80 targetPort: 80 Then check what external ip got assigned to the service (should be the first IP from the range given above).\nkubectl get svc/hello-blue-whale-svc And then from the other host use curl to see if the service can be accessed.\ncurl -v http://192.168.49.100/ Other hosts on the same network can have the same routes added to access services in the clusters. If access from other networks is needed, then the chosen subnets need to be routed to these VMs across your network.\n","description":"Multisite is a function specially developed for Patroni that makes it possible to combine two separate Patroni clusters into a common cluster unit. ‘Separate’ in this context means that the clusters run independently of each other and can even be located on different Kubernetes clusters. With Multisite, both clusters benefit from the well-known Patroni features such as automatic failover and demotion of members, resulting in a significant extension compared to a conventional standby cluster. This feature significantly improves high availability and redundancy by managing multiple geographically or infrastructurally separated clusters as one logical unit. This allows one cluster to seamlessly transition to another in the event of a failure without having to rely on manual switchovers or third-party replication solutions.\n"},{"id":47,"href":"/CYBERTEC-pg-operator/tde/","title":"TDE","parent":"CPO (CYBERTEC-PG-Operator)","content":" What is Transparent Data Encryption (TDE)? Transparent Data Encryption (TDE) is a technology for encrypting databases at file level. The data is automatically encrypted before it is stored on the storage medium and decrypted transparently for authorised applications and users if required. This ensures that the data is protected at rest without the need for changes to existing applications. TDE is used by various database vendors such as Microsoft, Oracle and IBM to increase the security of database files.\nDifference between hard disk encryption and TDE Hard disk encryption, also known as Full Disk Encryption (FDE), encrypts the entire hard disk or individual partitions to prevent unauthorised access to sensitive data. This method protects all data on a system, including the operating system, but only when the system is switched off. As soon as an authorised user logs on, the encryption is removed and the data is accessible to anyone who can access the computer while the user is logged on.\nIn contrast, TDE specifically encrypts the database files at file level. Encryption is transparent to the applications accessing the database and protects the data at rest, regardless of the status of the operating system or hardware. This provides an additional protection mechanism, especially in scenarios where hard disk encryption is not sufficient or not implemented.\nAdvantages of TDE Protection of data at rest: Data on the storage medium is encrypted, reducing the risk of data leaks. Transparency for applications: Encryption is done directly at database level, so no changes to existing applications are required. Integration with PGEE: Full support in Kubernetes environments and other modern IT infrastructures. Fulfilment of regulatory requirements: Support for compliance requirements such as GDPR, HIPAA and other data protection standards. Additional security features: In combination with other PGEE features such as data masking and obfuscation, comprehensive protection of sensitive data is ensured. Further information on TDE and PGEE can be found here: CYBERTEC TDE.\nSecuring clusters with TDE The CYBERTEC pg operator, together with Patroni, takes over the setup and administration of the TDE functionality in conjunction with the cost-effective PGEE containers\nPreconditions CYBERTEC-pgee-container Valid licence agreement for PGEE Deploy a TDE-Cluster Setting up a TDE cluster is basically the same as setting up a conventional cluster. The only difference is the defined Postgres. container and the object TDE.enabled: true, which instructs the operator to initialise the database with the TDE functionality.\napiVersion: cpo.opensource.cybertec.at/v1 kind: postgresql metadata: name: tde-cluster-1 namespace: cpo spec: dockerImage: \u0026#39;containers.cybertec.at/cybertec-pgee-container/postgres:rocky9-17.4-1\u0026#39; numberOfInstances: 1 postgresql: version: \u0026#39;17\u0026#39; resources: limits: cpu: 250m memory: 500Mi requests: cpu: 250m memory: 500Mi tde: enable: true teamId: acid volume: size: 5Gi dockerImage - Must contain a PostgreSQL image of the pgee container suite tde.enabled- initialises the DB with TDE Please note that the activation of TDE is only possible when creating new clusters. Subsequent activation is not possible. Check TDE-Status [postgres@tde-cluster-1-0 ~]$ psql psql (17.4 EE 1.4.1) ____ ____ _____ _____ | _ \\ / ___| ____| ____| | |_) | | _| _| | _| | __/| |_| | |___| |___ |_| \\____|_____|_____| PostgreSQL EE by CYBERTEC Type \u0026#34;help\u0026#34; for help. postgres=# show data_encryption; data_encryption ----------------- on (1 row) ","description":" What is Transparent Data Encryption (TDE)? Transparent Data Encryption (TDE) is a technology for encrypting databases at file level. The data is automatically encrypted before it is stored on the storage medium and decrypted transparently for authorised applications and users if required. This ensures that the data is protected at rest without the need for changes to existing applications. TDE is used by various database vendors such as Microsoft, Oracle and IBM to increase the security of database files.\n"},{"id":48,"href":"/CYBERTEC-pg-operator/tutorials/","title":"Tutorials","parent":"CPO (CYBERTEC-PG-Operator)","content":" Overview: CYBERTEC Operator Tutorials In this repository we provide various tutorials that demonstrate the use of the CYBERTEC operator. The tutorials contain cluster snippets that can be used directly with kubectl.\nUsing the tutorials The snippets provided can be deployed in two ways:\nWith kubectl apply -f: Use this method to apply a YAML file directly. With kubectl apply -k**: Use this method to execute kustomise-supported deployments. Repository The repository with all tutorials can be found here:\nCYBERTEC Operator Tutorials\nCluster tutorials The specific cluster tutorials are available under the following path\n🔗 Operator Helm-Chart\n🔗 Cluster Tutorials\nOverview 🔗 Single Cluster\n🔗 Cluster-configured users and databases 🔗 Cluster with prepared databases\n🔗 HA-Cluster\n🔗 Cluster with Backup via PVC 🔗 Cluster with Backup via S3 🔗 Cluster with Backup via GCS\n🔗 Restore Cluster\n🔗 Cluster with Pooler\n🔗 Cluster with Monitoring\n🔗 Cluster-Clone via PVC 🔗 Cluster-Clone via S3\n🔗 Standby Cluster\n🔗 Multisite-Cluster\n🔗 TDE-Cluster\nGood luck trying it out! 🚀\n","description":" Overview: CYBERTEC Operator Tutorials In this repository we provide various tutorials that demonstrate the use of the CYBERTEC operator. The tutorials contain cluster snippets that can be used directly with kubectl.\nUsing the tutorials The snippets provided can be deployed in two ways:\n"},{"id":49,"href":"/CYBERTEC-pg-operator/crd/","title":"References","parent":"CPO (CYBERTEC-PG-Operator)","content":"","description":""},{"id":50,"href":"/CYBERTEC-pg-operator/release_notes/","title":"Release-Notes","parent":"CPO (CYBERTEC-PG-Operator)","content":" 0.8.3 Fixes Majorupgrade updated for Patroni 4.x.x Fixes for PGEE Fix for Monitoring-User Dependency updates and several small changes Supported Versions PG: 13 - 17 Patroni: 4.0.5 pgBackRest: 2.54.2 Kubernetes: 1.21 - 1.32 Openshift: 4.8 - 4.18 0.8.2 Features Added Clone-Functionality with pgBackRest Supported Versions PG: 13 - 17 Patroni: 3.3.2 pgBackRest: 2.54.0 Kubernetes: 1.21 - 1.32 Openshift: 4.8 - 4.18 0.8.1 Features Added pgbackrest to Monitoring Fixes Fixed role creation for monitoring Supported Versions PG: 13 - 17 Patroni: 3.3.2 pgBackRest: 2.53 Kubernetes: 1.21 - 1.32 Openshift: 4.8 - 4.18 0.8.0 Features Multisite - Support use icu as default for pg \u0026gt; 14 Fixes Fixed role creation for monitoring. Fix for the use of gcs with pgBackRest Supported Versions PG: 13 - 16 \u0026amp; 17Beta2 Patroni: 3.3.2 pgBackRest: 2.53 Kubernetes: 1.21 - 1.32 Openshift: 4.8 - 4.18 0.7.1 Fixes Fixed role creation for monitoring. Fix for the use of gcs with pgBackRest Supported Versions PG: 13 - 16 \u0026amp; 17Beta2 Patroni: 3.3.2 pgBackRest: 2.53 Kubernetes: 1.21 - 1.28 Openshift: 4.8 - 4.13 0.7.0 Features Monitoring-Sidecar integrated via CRD Start with Monitoring Password-Hash per default set to scram-sha-256 pgBackRest with blockstorage using RepoHost Internal Certification-Management for RepoHost-Certificates Compatible with PG17Beta2 Changes API Change acid.zalan.do is replaced by cpo.opensource.cybertec.at - If you\u0026rsquo;re updating your Operator from previous Versions, please check this HowTo Migrate to new API Patroni-Compatibility has increased to Version 3.3.2 pgBackRest-Compatbility has increased to Version 2.52.1 Revision of the restore process Revision of the backup jobs Operator now using Rocky9 as Baseimage Updates Go-Package to 1.22.5 Fixes PDB Bug fixed - Single-Node Clusters are not creating PDBs anymore which can break Kubernetes-Update Wrong Templates inside Cronjobs fixed Supported Versions PG: 13 - 16 \u0026amp; 17Beta2 Patroni: 3.3.2 pgBackRest: 2.52.1 Kubernetes: 1.21 - 1.28 Openshift: 4.8 - 4.13 0.6.1 Release with fixes\nFixes Backup-Pod now runs with \u0026ldquo;best-effort\u0026rdquo; resource definition Der Init-Container für die Wiederherstellung verwendet nun die gleiche Ressource-Definition wie der Datenbank-Container, wenn es keine spezifische Definition im Cluster-Manifest gibt (spec.backup.pgbackrest.resources) Software-Versions PostgreSQL: 15.3 14.8, 13.11, 12.15 Patroni: 3.0.4 pgBackRest: 2.47 OS: Rocky-Linux 9.1 (4.18) 0.6.0 Release with some improvements and stabilisation measuresm\nFeatures Added Pod Topology Spread Constraints Added support for TDE based on the CYBERTEC PostgreSQL Enterprise Images (Licensed Container Suite) Software-Versions PostgreSQL: 15.3 14.8, 13.11, 12.15 Patroni: 3.0.4 pgBackRest: 2.47 OS: Rocky-Linux 9.1 (4.18) 0.5.0 Release with new Software-Updates and some internal Improvements\nFeatures Updated to Zalando Operator 1.9 Fixes internal Problems with Cronjobs updates for some API-Definitions Software-Versions PostgreSQL: 15.2 14.7, 13.10, 12.14 Patroni: 3.0.2 pgBackRest: 2.45 OS: Rocky-Linux 9.1 (4.18) 0.3.0 Release with some improvements and stabilisation measuresm\nFixes missing pgbackrest_restore configmap fixed Software-Versions PostgreSQL: 15.1 14.7, 13.9, 12.13, 11.18 and 10.23 Patroni: 3.0.1 pgBackRest: 2.44 OS: Rocky-Linux 9.1 (4.18) 0.1.0 Initial Release as a Fork of the Zalando-Operator\nFeatures Added Support for pgBackRest (PoC-State) Stanza-create and Initial-Backup are executed automatically Schedule automatic updates (Full/Incremental/Differential-Backup) Securely store backups on AWS S3 and S3-compatible storage Software-Versions PostgreSQL: 14.6, 13.9, 12.13, 11.18 and 10.23 Patroni: 2.4.1 pgBackRest: 2.42 OS: Rocky-Linux 9.0 (4.18) ","description":" 0.8.3 Fixes Majorupgrade updated for Patroni 4.x.x Fixes for PGEE Fix for Monitoring-User Dependency updates and several small changes Supported Versions PG: 13 - 17 Patroni: 4.0.5 pgBackRest: 2.54.2 Kubernetes: 1.21 - 1.32 Openshift: 4.8 - 4.18 0.8.2 Features Added Clone-Functionality with pgBackRest Supported Versions PG: 13 - 17 Patroni: 3.3.2 pgBackRest: 2.54.0 Kubernetes: 1.21 - 1.32 Openshift: 4.8 - 4.18 0.8.1 Features Added pgbackrest to Monitoring Fixes Fixed role creation for monitoring Supported Versions PG: 13 - 17 Patroni: 3.3.2 pgBackRest: 2.53 Kubernetes: 1.21 - 1.32 Openshift: 4.8 - 4.18 0.8.0 Features Multisite - Support use icu as default for pg \u0026gt; 14 Fixes Fixed role creation for monitoring. Fix for the use of gcs with pgBackRest Supported Versions PG: 13 - 16 \u0026amp; 17Beta2 Patroni: 3.3.2 pgBackRest: 2.53 Kubernetes: 1.21 - 1.32 Openshift: 4.8 - 4.18 0.7.1 Fixes Fixed role creation for monitoring. Fix for the use of gcs with pgBackRest Supported Versions PG: 13 - 16 \u0026amp; 17Beta2 Patroni: 3.3.2 pgBackRest: 2.53 Kubernetes: 1.21 - 1.28 Openshift: 4.8 - 4.13 0.7.0 Features Monitoring-Sidecar integrated via CRD Start with Monitoring Password-Hash per default set to scram-sha-256 pgBackRest with blockstorage using RepoHost Internal Certification-Management for RepoHost-Certificates Compatible with PG17Beta2 Changes API Change acid.zalan.do is replaced by cpo.opensource.cybertec.at - If you\u0026rsquo;re updating your Operator from previous Versions, please check this HowTo Migrate to new API Patroni-Compatibility has increased to Version 3.3.2 pgBackRest-Compatbility has increased to Version 2.52.1 Revision of the restore process Revision of the backup jobs Operator now using Rocky9 as Baseimage Updates Go-Package to 1.22.5 Fixes PDB Bug fixed - Single-Node Clusters are not creating PDBs anymore which can break Kubernetes-Update Wrong Templates inside Cronjobs fixed Supported Versions PG: 13 - 16 \u0026amp; 17Beta2 Patroni: 3.3.2 pgBackRest: 2.52.1 Kubernetes: 1.21 - 1.28 Openshift: 4.8 - 4.13 0.6.1 Release with fixes\n"},{"id":51,"href":"/CYBERTEC-pg-operator/categories/","title":"Categories","parent":"CPO (CYBERTEC-PG-Operator)","content":"","description":""},{"id":52,"href":"/CYBERTEC-pg-operator/tags/","title":"Tags","parent":"CPO (CYBERTEC-PG-Operator)","content":"","description":""}] \ No newline at end of file diff --git a/docs/hugo/public/sitemap.xml b/docs/hugo/public/sitemap.xml new file mode 100644 index 000000000..4d97d3e48 --- /dev/null +++ b/docs/hugo/public/sitemap.xml @@ -0,0 +1,162 @@ + + + + http://localhost:1313/CYBERTEC-pg-operator/ + 2024-03-11T14:26:51+01:00 + + http://localhost:1313/CYBERTEC-pg-operator/backup/introduction/ + 2023-12-28T14:26:51+01:00 + + http://localhost:1313/CYBERTEC-pg-operator/customize_cluster/sidecars/ + 2023-12-28T14:26:51+01:00 + + http://localhost:1313/CYBERTEC-pg-operator/backup/pvc/ + 2023-12-28T14:26:51+01:00 + + http://localhost:1313/CYBERTEC-pg-operator/backup/aws/ + 2023-12-28T14:26:51+01:00 + + http://localhost:1313/CYBERTEC-pg-operator/architecture/compontens/ + 2023-03-07T14:26:51+01:00 + + http://localhost:1313/CYBERTEC-pg-operator/customize_cluster/additional-volumes/ + 2023-12-28T14:26:51+01:00 + + http://localhost:1313/CYBERTEC-pg-operator/backup/gcs/ + 2023-12-28T14:26:51+01:00 + + http://localhost:1313/CYBERTEC-pg-operator/architecture/rolling_update/ + 2023-03-07T14:26:51+01:00 + + http://localhost:1313/CYBERTEC-pg-operator/backup/azure_blob/ + 2023-12-28T14:26:51+01:00 + + http://localhost:1313/CYBERTEC-pg-operator/backup/encryption/ + 2023-12-28T14:26:51+01:00 + + http://localhost:1313/CYBERTEC-pg-operator/backup/check_backups/ + 2023-12-28T14:26:51+01:00 + + http://localhost:1313/CYBERTEC-pg-operator/project/ + 2024-03-11T14:26:51+01:00 + + http://localhost:1313/CYBERTEC-pg-operator/project/project/ + 2024-03-11T14:26:51+01:00 + + http://localhost:1313/CYBERTEC-pg-operator/project/container_images/ + 2024-03-11T14:26:51+01:00 + + http://localhost:1313/CYBERTEC-pg-operator/architecture/ + 2023-03-07T14:26:51+01:00 + + http://localhost:1313/CYBERTEC-pg-operator/crd/crd-postgresql/ + 2023-03-07T14:26:51+01:00 + + http://localhost:1313/CYBERTEC-pg-operator/crd/crd-operator-configurator/ + 2023-03-07T14:26:51+01:00 + + http://localhost:1313/CYBERTEC-pg-operator/quickstart/ + 2023-03-07T14:26:51+01:00 + + http://localhost:1313/CYBERTEC-pg-operator/installation/ + 2023-03-07T14:26:51+01:00 + + http://localhost:1313/CYBERTEC-pg-operator/installation/dev-k8s/ + 2023-03-07T14:26:51+01:00 + + http://localhost:1313/CYBERTEC-pg-operator/installation/install_operator/ + 2023-03-07T14:26:51+01:00 + + http://localhost:1313/CYBERTEC-pg-operator/installation/configuration_operator/ + 2023-03-07T14:26:51+01:00 + + http://localhost:1313/CYBERTEC-pg-operator/first_cluster/ + 2023-12-28T14:26:51+01:00 + + http://localhost:1313/CYBERTEC-pg-operator/resources/ + 2024-04-28T14:26:51+01:00 + + http://localhost:1313/CYBERTEC-pg-operator/storage/ + 2023-12-28T14:26:51+01:00 + + http://localhost:1313/CYBERTEC-pg-operator/db_users/ + 2023-12-28T14:26:51+01:00 + + http://localhost:1313/CYBERTEC-pg-operator/customize_cluster/ + 2023-12-28T14:26:51+01:00 + + http://localhost:1313/CYBERTEC-pg-operator/ha_cluster/ + 2023-12-28T14:26:51+01:00 + + http://localhost:1313/CYBERTEC-pg-operator/config_cluster/ + 2023-03-07T14:26:51+01:00 + + http://localhost:1313/CYBERTEC-pg-operator/backup/ + 2023-12-28T14:26:51+01:00 + + http://localhost:1313/CYBERTEC-pg-operator/restore/ + 2023-12-28T14:26:51+01:00 + + http://localhost:1313/CYBERTEC-pg-operator/tls/ + 2023-12-28T14:26:51+01:00 + + http://localhost:1313/CYBERTEC-pg-operator/connection_pooler/ + 2024-05-31T14:26:51+01:00 + + http://localhost:1313/CYBERTEC-pg-operator/extensions/pg13/ + 2023-12-28T14:26:51+01:00 + + http://localhost:1313/CYBERTEC-pg-operator/extensions/pg14/ + 2023-12-28T14:26:51+01:00 + + http://localhost:1313/CYBERTEC-pg-operator/extensions/pg15/ + 2023-12-28T14:26:51+01:00 + + http://localhost:1313/CYBERTEC-pg-operator/extensions/pg16/ + 2023-12-28T14:26:51+01:00 + + http://localhost:1313/CYBERTEC-pg-operator/extensions/pg17/ + 2023-12-28T14:26:51+01:00 + + http://localhost:1313/CYBERTEC-pg-operator/extensions/ + 2023-12-28T14:26:51+01:00 + + http://localhost:1313/CYBERTEC-pg-operator/monitoring/ + 2023-12-28T14:26:51+01:00 + + http://localhost:1313/CYBERTEC-pg-operator/clone-cluster/ + 2023-12-28T14:26:51+01:00 + + http://localhost:1313/CYBERTEC-pg-operator/standby-cluster/ + 2023-12-28T14:26:51+01:00 + + http://localhost:1313/CYBERTEC-pg-operator/pg_versioning/ + 2023-12-28T14:26:51+01:00 + + http://localhost:1313/CYBERTEC-pg-operator/pg_versioning/minor_updates/ + 2023-12-28T14:26:51+01:00 + + http://localhost:1313/CYBERTEC-pg-operator/pg_versioning/major_upgrades/ + 2023-12-28T14:26:51+01:00 + + http://localhost:1313/CYBERTEC-pg-operator/multisite/ + 2023-12-28T14:26:51+01:00 + + http://localhost:1313/CYBERTEC-pg-operator/tde/ + 2023-12-28T14:26:51+01:00 + + http://localhost:1313/CYBERTEC-pg-operator/tutorials/ + 2023-12-28T14:26:51+01:00 + + http://localhost:1313/CYBERTEC-pg-operator/crd/ + 2023-03-07T14:26:51+01:00 + + http://localhost:1313/CYBERTEC-pg-operator/release_notes/ + 2024-03-11T14:26:51+01:00 + + http://localhost:1313/CYBERTEC-pg-operator/categories/ + + http://localhost:1313/CYBERTEC-pg-operator/tags/ + + diff --git a/docs/hugo/public/standby-cluster/index.html b/docs/hugo/public/standby-cluster/index.html new file mode 100644 index 000000000..7b2b741f1 --- /dev/null +++ b/docs/hugo/public/standby-cluster/index.html @@ -0,0 +1,5167 @@ + + + + + + + + + + + + + Standby Cluster | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    +
    + + + + +
    + + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
    +
    +
    + + + +
    + + + + + +
    + + + + + + + + + + + +
    + +
    + + +
    + + +
    + + +
    +

    Standby Cluster

    +
    + +
    +

    A standby cluster is an independent PostgreSQL cluster that consists of a standby leader and optionally further replicas (if numberOfInstances > 1). The standby leader runs in read-only mode and does not accept any write operations. A standby cluster can be promoted to a primary cluster if required, whereby the standby leader becomes a fully-fledged leader and allows write operations.

    +
    +

    + Preconditions: +

    + + + +
    +

    The primary cluster must either:

    +
      +
    • be accessible from the standby cluster via streaming replication
    • +
    • the backup storage used by the standby cluster (S3, GCS or Azure Blob) must be accessible for the standby cluster
    • +
    +

    The passwords for the Postgres user, the replication user and the exporter user (if monitoring is active) must be created as a secret for the standby cluster. Otherwise connection problems will occur

    +
    +

    + Create standby cluster +

    + + + +
    +

    The standby object in the cluster manifest is required to create a standby cluster.

    +
    apiVersion: cpo.opensource.cybertec.at/v1
    +kind: postgresql
    +metadata:
    +  name: standby-cluster-1
    +spec:
    +  standby:
    +    standby_host: "cluster-1.cpo"
    +    standby_port: "5432"
    +  dockerImage: 'docker.io/cybertecpostgresql/cybertec-pg-container:postgres-17.4-1'
    +  numberOfInstances: 1
    +  postgresql:
    +    version: '17'
    +  resources:
    +    limits:
    +      cpu: 500m
    +      memory: 500Mi
    +    requests:
    +      cpu: 500m
    +      memory: 500Mi
    +  teamId: acid
    +  volume:
    +    size: 5Gi
    +

    The primary cluster must be accessible from the standby cluster. It can be located in the same Kubernetes cluster or in a different one.

    +
      +
    • standby_host: Corresponds to the endpoint via which the primary pod can be reached. It can be a kubernetes-internal DNS name or an IP or DNS name that can be reached in the network.
    • +
    • standby_port: Corresponds to the PostgreSQL port used (default 5432)
    • +
    +
    +

    + Promoting cluster +

    + + + +
    +

    To promote a cluster, it is only necessary to remove the standby object. +The cluster is then promoted to a primary cluster.

    +
    kubectl patch postgresqls.cpo.opensource.cybertec.at cluster-1 --type='merge' -p \
    +'{"spec":{"standby":null}}'
    +
    +

    + Limitations +

    + + + +
    +

    A primary cluster cannot be demoted to a standby cluster. +If necessary, the recommendation is to create a new cluster as a standby cluster.

    + +
    + + + + + + + +
    +
    + + + +
    + + + + + + diff --git a/docs/hugo/public/standby-cluster/index.xml b/docs/hugo/public/standby-cluster/index.xml new file mode 100644 index 000000000..b381e1d06 --- /dev/null +++ b/docs/hugo/public/standby-cluster/index.xml @@ -0,0 +1,12 @@ + + + + Standby Cluster on CYBERTEC-PG-Operator + http://localhost:1313/CYBERTEC-pg-operator/standby-cluster/ + Recent content in Standby Cluster on CYBERTEC-PG-Operator + Hugo + en + + + + diff --git a/docs/hugo/public/storage/index.html b/docs/hugo/public/storage/index.html new file mode 100644 index 000000000..c076e1190 --- /dev/null +++ b/docs/hugo/public/storage/index.html @@ -0,0 +1,5213 @@ + + + + + + + + + + + + + Storage | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    +
    + + + + +
    + + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
    +
    +
    + + + +
    + + + + + +
    + + + + + + + + + + + +
    + +
    + + +
    + + +
    + + +
    +

    Storage

    +
    + +
    +

    Storage is crucial for the performance of a database and is therefore a central element. As with systems based on bare metal or virtual machines, the same requirements apply to Kubernetes workloads, such as constant availability, good performance, consistency and durability.

    +

    A basic distinction is made between local storage, which is directly connected to the worker node, and network storage, which is mounted on the worker node and thus made available to the pod.

    +

    In probably the vast majority of Kubernetes systems, network storage is used, for example from systems from hyperscalers or other cloud providers or own systems such as CEPH.

    +

    With network storage in particular, attention must be paid to performance in terms of throughput (speed and guaranteed IOPS) and, above all, latency. It is also important to ensure that the different volumes do not compete with each other in terms of load.

    +
    +

    PAY ATTENTION: Before using a CPO cluster, make sure that the storage is suitable for the intended use and provides the necessary performance. In addition, check the storage with benchmarks before use. We recommend the use of pgbench for this purpose.

    +
    +

    + Define Storage-Volume +

    + + + +
    +

    The storage is defined via the volume object and enables the size and storage class for the storage to be defined, among other things.

    +
    spec:
    +  volume:
    +    size: 5Gi
    +    storageClass: default-provisioner
    +  ...
    +

    The volume is currently used for both PG and WAL data. In future, there will be an optional option to create a separate WAL volume. +Please check our roadmap

    + + + + + +
    +
    +
    Please ensure, that the storageClass exists and is usable. If a Volume cannot provide the Volume will stand in the pending-State as like the Database-Pod.
    +
    + +

    The volume is currently used for both PG and WAL data. In future, there will be an optional option to create a separate WAL volume.

    +
    +

    + Expanding Volume +

    + + + +
    + + + + + +
    +
    +
    Kubernetes is able to forward requests to expand the storage to the storage system and enable the expand without the need to restart the container. However, this also requires the associated storage system and the driver used to support this. This information can be found in the storage class under the object: allowVolumeExpansion. A distinction must also be made between online and offline expand. The latter requires a restart of the pod. To do this, the pod must be deleted manually.
    +
    + +

    To Expand the Volume, the value of the object volume.size must be increased

    +
    spec:
    +  volume:
    +    size: 10Gi
    +    storageClass: default-provisioner
    +  ...
    +

    This will trigger the expand of your Cluster-Volumes. It will need some time and you can check the current state inside the pvc.

    +
    kubectl get pvc pgdata-cluster-1-0 -o yaml
    +-------------------------------------------------------
    +spec:
    +  accessModes:
    +  - ReadWriteOnce
    +  resources:
    +    requests:
    +      storage: 10Gi
    +  storageClassName: crc-csi-hostpath-provisioner
    +  volumeMode: Filesystem
    +  volumeName: pvc-800d7ecc-2d5f-4ef4-af83-1cd94c766d37
    +status:
    +  accessModes:
    +  - ReadWriteOnce
    +  capacity:
    +    storage: 5Gi
    +  phase: Bound
    +
    +

    + Creating additonal Volumes +

    + + + +
    +

    The Operator allows you to modify your cluster with additonal Volumes.

    +
    spec:
    +  ...
    +  additionalVolumes:
    +    - name: empty
    +      mountPath: /opt/empty
    +      targetContainers:
    +        - all
    +      volumeSource:
    +        emptyDir: {}
    +

    This example will create an emptyDir and mount it to all Containers inside the Database-Pod.

    +
    +

    + Specific Settings for aws gp3 Storage +

    + + + +
    +

    For the gp3 Storage aws you can define more informations

    +
      volume:
    +    size: 1Gi
    +    storageClass: gp3
    +    iops: 1000  # for EBS gp3
    +    throughput: 250  # in MB/s for EBS gp3
    +

    The defined IOPS and Throughput will include in the PersistentVolumeClaim and send to the storage-Provisioner. +Please keep in Mind, that on aws there is a CoolDown-Time as a limitation defined. For new Changes you need to wait 6 hours. +Please also ensure to check the default and allowed values for IOPS and Throughput AWS docs.

    +

    To ensure that the settings are updates properly please define the Operator-Configuration ‘storage_resize_mode’ from default to ‘mixed’

    + +
    + + + + + + + +
    +
    + + + +
    + + + + + + diff --git a/docs/hugo/public/storage/index.xml b/docs/hugo/public/storage/index.xml new file mode 100644 index 000000000..bc4a5ace3 --- /dev/null +++ b/docs/hugo/public/storage/index.xml @@ -0,0 +1,12 @@ + + + + Storage on CYBERTEC-PG-Operator + http://localhost:1313/CYBERTEC-pg-operator/storage/ + Recent content in Storage on CYBERTEC-PG-Operator + Hugo + en + + + + diff --git a/docs/hugo/public/tags/index.html b/docs/hugo/public/tags/index.html new file mode 100644 index 000000000..ecc2e0e6c --- /dev/null +++ b/docs/hugo/public/tags/index.html @@ -0,0 +1,4972 @@ + + + + + + + + + + + + Tags | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    +
    + + + + +
    + + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
    +
    +
    + + + +
    + + + + + +
    + + + + + + + + + + + + + + +
    +
    + + + +
    + + + + + + diff --git a/docs/hugo/public/tags/index.xml b/docs/hugo/public/tags/index.xml new file mode 100644 index 000000000..dca889d3a --- /dev/null +++ b/docs/hugo/public/tags/index.xml @@ -0,0 +1,11 @@ + + + + Tags on CYBERTEC-PG-Operator + http://localhost:1313/CYBERTEC-pg-operator/tags/ + Recent content in Tags on CYBERTEC-PG-Operator + Hugo + en + + + diff --git a/docs/hugo/public/tags/page/1/index.html b/docs/hugo/public/tags/page/1/index.html new file mode 100644 index 000000000..18e442e9a --- /dev/null +++ b/docs/hugo/public/tags/page/1/index.html @@ -0,0 +1,10 @@ + + + + http://localhost:1313/CYBERTEC-pg-operator/tags/ + + + + + + diff --git a/docs/hugo/public/tde/index.html b/docs/hugo/public/tde/index.html new file mode 100644 index 000000000..56a7553d5 --- /dev/null +++ b/docs/hugo/public/tde/index.html @@ -0,0 +1,5220 @@ + + + + + + + + + + + + + TDE | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    +
    + + + + +
    + + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
    +
    +
    + + + +
    + + + + + +
    + + + + + + + + + + + +
    + +
    + + +
    + + +
    + + +
    +

    TDE

    +
    + +
    +
    +

    + What is Transparent Data Encryption (TDE)? +

    + + + +
    +

    Transparent Data Encryption (TDE) is a technology for encrypting databases at file level. The data is automatically encrypted before it is stored on the storage medium and decrypted transparently for authorised applications and users if required. This ensures that the data is protected at rest without the need for changes to existing applications. TDE is used by various database vendors such as Microsoft, Oracle and IBM to increase the security of database files.

    +
    +

    + Difference between hard disk encryption and TDE +

    + + + +
    +

    Hard disk encryption, also known as Full Disk Encryption (FDE), encrypts the entire hard disk or individual partitions to prevent unauthorised access to sensitive data. This method protects all data on a system, including the operating system, but only when the system is switched off. As soon as an authorised user logs on, the encryption is removed and the data is accessible to anyone who can access the computer while the user is logged on.

    +

    In contrast, TDE specifically encrypts the database files at file level. Encryption is transparent to the applications accessing the database and protects the data at rest, regardless of the status of the operating system or hardware. This provides an additional protection mechanism, especially in scenarios where hard disk encryption is not sufficient or not implemented.

    +
    +

    + Advantages of TDE +

    + + + +
    +
      +
    • Protection of data at rest: Data on the storage medium is encrypted, reducing the risk of data leaks.
    • +
    • Transparency for applications: Encryption is done directly at database level, so no changes to existing applications are required.
    • +
    • Integration with PGEE: Full support in Kubernetes environments and other modern IT infrastructures.
    • +
    • Fulfilment of regulatory requirements: Support for compliance requirements such as GDPR, HIPAA and other data protection standards.
    • +
    • Additional security features: In combination with other PGEE features such as data masking and obfuscation, comprehensive protection of sensitive data is ensured.
    • +
    +

    Further information on TDE and PGEE can be found here: CYBERTEC TDE.

    +
    +

    + Securing clusters with TDE +

    + + + +
    +

    The CYBERTEC pg operator, together with Patroni, takes over the setup and administration of the TDE functionality in conjunction with the cost-effective PGEE containers

    +
    +

    + Preconditions +

    + + + +
    +
      +
    • CYBERTEC-pgee-container
    • +
    • Valid licence agreement for PGEE
    • +
    +
    +

    + Deploy a TDE-Cluster +

    + + + +
    +

    Setting up a TDE cluster is basically the same as setting up a conventional cluster. +The only difference is the defined Postgres. container and the object TDE.enabled: true, which instructs the operator to initialise the database with the TDE functionality.

    +
    apiVersion: cpo.opensource.cybertec.at/v1
    +kind: postgresql
    +metadata:
    +  name: tde-cluster-1
    +  namespace: cpo
    +spec:
    +  dockerImage: 'containers.cybertec.at/cybertec-pgee-container/postgres:rocky9-17.4-1'
    +  numberOfInstances: 1
    +  postgresql:
    +    version: '17'
    +  resources:
    +    limits:
    +      cpu: 250m
    +      memory: 500Mi
    +    requests:
    +      cpu: 250m
    +      memory: 500Mi
    +  tde:
    +    enable: true
    +  teamId: acid
    +  volume:
    +    size: 5Gi
    +
      +
    • dockerImage - Must contain a PostgreSQL image of the pgee container suite
    • +
    • tde.enabled- initialises the DB with TDE
    • +
    + + + + + +
    +
    +
    Please note that the activation of TDE is only possible when creating new clusters. Subsequent activation is not possible.
    +
    + +
    +

    + Check TDE-Status +

    + + + +
    +
    [postgres@tde-cluster-1-0 ~]$ psql
    +psql (17.4 EE 1.4.1)
    + ____   ____ _____ _____
    +|  _ \ / ___| ____| ____|
    +| |_) | |  _|  _| |  _|
    +|  __/| |_| | |___| |___
    +|_|    \____|_____|_____|
    +PostgreSQL EE by CYBERTEC
    +Type "help" for help.
    +
    +postgres=# show data_encryption;
    + data_encryption 
    +-----------------
    + on
    +(1 row)
    +
    +
    + + + + + + + +
    +
    + + + +
    + + + + + + diff --git a/docs/hugo/public/tde/index.xml b/docs/hugo/public/tde/index.xml new file mode 100644 index 000000000..ec0ceedf7 --- /dev/null +++ b/docs/hugo/public/tde/index.xml @@ -0,0 +1,12 @@ + + + + TDE on CYBERTEC-PG-Operator + http://localhost:1313/CYBERTEC-pg-operator/tde/ + Recent content in TDE on CYBERTEC-PG-Operator + Hugo + en + + + + diff --git a/docs/hugo/public/tls-copy/index.html b/docs/hugo/public/tls-copy/index.html new file mode 100644 index 000000000..3bce1589a --- /dev/null +++ b/docs/hugo/public/tls-copy/index.html @@ -0,0 +1,4834 @@ + + + + + + + + + + + + + TLS/SSL connections | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    +
    + + + + +
    + + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
    +
    +
    + + + +
    + + + + + +
    + + + + + + + + + + + +
    + +
    + + +
    + + +
    + + +
    +

    TLS/SSL connections

    +
    + +
    +

    Each cluster created is automatically equipped with a self-generated TLS certificate and is preconfigured for the use of TLS/SSL. However, this certificate is not based on a Certificate Authority (CA) that is known to the clients. This means that although communication between the client and server is encrypted, the certificate cannot be verified by the client.

    +

    The following chapter deals with the creation of custom certificates and the steps required to integrate these certificates into the PostgreSQL cluster. In the example, a custom CA is created, on the basis of which the certificates are then generated and signed by this CA. This step can be skipped if certificates have already been obtained from another trusted organisation.

    +
    +

    + Create a custom CA and Certificates +

    + + + +
    + + + + + +
    +
    +
    Precondition: This chapter requires openssl
    +
    + +
    +

    + Create the CA +

    + + + +
    +

    The first step is to create a custom CA. An organisation name is required for this. You can also add further details about the country, district and location. +The CA serves as the central authority that signs the certificates and thus guarantees the correctness of the certificate. In order to successfully complete the verification of a certificate, the CA’s certificate must be stored on the client system.

    +
    ORGANIZATION=MyCustomOrganization
    +CA=$ORGANIZATION-RootCA
    +
    +mkdir $CA
    +cd $CA
    +
    +# Creating the CA-Key
    +openssl genpkey -algorithm EC -out $CA.key -pkeyopt ec_paramgen_curve:secp384r1 -pkeyopt ec_param_enc:named_curve -aes256
    +
    +# Creating the CA-Certificate
    +openssl req -x509 -new -nodes -key $CA.key -sha512 -days 1826 -out $CA.crt -subj "/CN=${ORGANIZATION} Root-CA/C=AT/ST=Lower Austria/L=Woellersdorf/O=${ORGANIZATION}"
    +
    +

    + Create a custom Certificate +

    + + + +
    +

    The server needs a certificate signed by a CA and a private key so that it can claim to be trustworthy.

    + + + + + +
    +
    +
    It is important that the CA certificate is stored as trustworthy with the client. Otherwise, no certificate check is possible.
    +
    + +
    CN=cluster-1
    +DNS2="${CN}-repl"
    +DNS3="${CN}-pooler"
    +DNS4="${CN}-pooler-repl"
    +
    +# Creating the private Key
    +openssl genpkey -algorithm EC -out $CN.key -pkeyopt ec_paramgen_curve:secp384r1 -pkeyopt ec_param_enc:named_curve
    +
    +# Creating Certificate Signing Request (CSR))
    +openssl req -new -key $CN.key -out $CN.csr \
    +  -subj "/C=AT/ST=Lower Austria/L=Woellersdorf/O=${ORGANIZATION}/OU=OrgUnit/CN=${CN}" \
    +  -addext "subjectAltName=DNS:${CN},DNS:${DNS2},DNS:${DNS3},DNS:${DNS4}"
    +
    +
    +# Sign CSR with the CA
    +openssl x509 -req -in $CN.csr -CA $CA.crt -CAkey $CA.key -CAcreateserial -out $CN.crt -days 365 \
    +  -extfile <(echo -e "[ v3_req ]\nsubjectAltName=DNS:${CN},DNS:${DNS2},DNS:${DNS3},DNS:${DNS4}") -extensions v3_req
    +
    +

    + Add Certicate to the Cluster +

    + + + +
    +

    For adding the Certificate to your cluster a secret on kubernetes is needed. +There are two different options here. +For the first option, a secret is created that contains all the necessary information. I.e.

    +
      +
    • Server certificate
    • +
    • Private server key
    • +
    • CA certificate +In the second variant, the CA certificate is separated and written in a separate secret. The advantage of this is that the CA only needs to be saved once and changed in the event of an update.
    • +
    +
    +
    + First Option: Using one secret for all three objects +
    + + + +
    +
    kubectl create secret generic cluster-1-tls \
    +  --from-file=tls.crt=$CN.crt \
    +  --from-file=tls.key=$CN.key \
    +  --from-file=ca.crt=$CA.crt
    +

    Finally, the definition is made in the cluster manifest so that the operator adapts the cluster.

    +
    apiVersion: "cpo.opensource.cybertec.at/v1"
    +kind: postgresql
    +...
    +metadata:
    +  name: cluster-1
    +spec:
    +  tls:
    +    secretName: "cluster-1-tls"
    +    caFile: "ca.crt"
    +
    +
    + Second Option: Using a separat Secret for the CA +
    + + + +
    +
    kubectl create secret generic cpo-root-ca --from-file=ca.crt=ca.crt
    +
    kubectl create secret generic cluster-1-tls \
    +  --from-file=tls.crt=$CN.crt \
    +  --from-file=tls.key=$CN.key \
    +

    Finally, the definition is made in the cluster manifest so that the operator adapts the cluster.

    +
    apiVersion: "cpo.opensource.cybertec.at/v1"
    +kind: postgresql
    +
    +metadata:
    +  name: cluster-1
    +spec:
    +  tls:
    +    secretName: "cluster-1-tls"
    +    caSecretName: "cpo-root-ca"
    +    caFile: "ca.crt"
    +

    A regular check of the mounted certificates takes place automatically within the container. This check takes place every 5 minutes. If the certificates have been updated, the certificates are loaded automatically.

    + + + + + +
    +
    +
    In addition to generating the certificates independently, cert-manager can also be used for this purpose.
    +
    + + +
    + + + + + + + +
    +
    + + + +
    + + + + + + diff --git a/docs/hugo/public/tls-copy/index.xml b/docs/hugo/public/tls-copy/index.xml new file mode 100644 index 000000000..f6bacb7a4 --- /dev/null +++ b/docs/hugo/public/tls-copy/index.xml @@ -0,0 +1,12 @@ + + + + TLS/SSL connections on CYBERTEC-PG-Operator + http://localhost:1313/CYBERTEC-pg-operator/tls-copy/ + Recent content in TLS/SSL connections on CYBERTEC-PG-Operator + Hugo + en + + + + diff --git a/docs/hugo/public/tls/index.html b/docs/hugo/public/tls/index.html new file mode 100644 index 000000000..4b0d90aef --- /dev/null +++ b/docs/hugo/public/tls/index.html @@ -0,0 +1,5247 @@ + + + + + + + + + + + + + TLS/SSL connections | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    +
    + + + + +
    + + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
    +
    +
    + + + +
    + + + + + +
    + + + + + + + + + + + +
    + +
    + + +
    + + +
    + + +
    +

    TLS/SSL connections

    +
    + +
    +

    Each cluster created is automatically equipped with a self-generated TLS certificate and is preconfigured for the use of TLS/SSL. However, this certificate is not based on a Certificate Authority (CA) that is known to the clients. This means that although communication between the client and server is encrypted, the certificate cannot be verified by the client.

    +

    The following chapter deals with the creation of custom certificates and the steps required to integrate these certificates into the PostgreSQL cluster. In the example, a custom CA is created, on the basis of which the certificates are then generated and signed by this CA. This step can be skipped if certificates have already been obtained from another trusted organisation.

    +
    +

    + Create a custom CA and Certificates +

    + + + +
    + + + + + +
    +
    +
    Precondition: This chapter requires openssl
    +
    + +
    +

    + Create the CA +

    + + + +
    +

    The first step is to create a custom CA. An organisation name is required for this. You can also add further details about the country, district and location. +The CA serves as the central authority that signs the certificates and thus guarantees the correctness of the certificate. In order to successfully complete the verification of a certificate, the CA’s certificate must be stored on the client system.

    +
    ORGANIZATION=MyCustomOrganization
    +CA=$ORGANIZATION-RootCA
    +
    +mkdir $CA
    +cd $CA
    +
    +# Creating the CA-Key
    +openssl genpkey -algorithm EC -out $CA.key -pkeyopt ec_paramgen_curve:secp384r1 -pkeyopt ec_param_enc:named_curve -aes256
    +
    +# Creating the CA-Certificate
    +openssl req -x509 -new -nodes -key $CA.key -sha512 -days 1826 -out $CA.crt -subj "/CN=${ORGANIZATION} Root-CA/C=AT/ST=Lower Austria/L=Woellersdorf/O=${ORGANIZATION}"
    +
    +

    + Create a custom Certificate +

    + + + +
    +

    The server needs a certificate signed by a CA and a private key so that it can claim to be trustworthy.

    + + + + + +
    +
    +
    It is important that the CA certificate is stored as trustworthy with the client. Otherwise, no certificate check is possible.
    +
    + +
    CN=cluster-1
    +DNS2="${CN}-repl"
    +DNS3="${CN}-pooler"
    +DNS4="${CN}-pooler-repl"
    +
    +# Creating the private Key
    +openssl genpkey -algorithm EC -out $CN.key -pkeyopt ec_paramgen_curve:secp384r1 -pkeyopt ec_param_enc:named_curve
    +
    +# Creating Certificate Signing Request (CSR))
    +openssl req -new -key $CN.key -out $CN.csr \
    +  -subj "/C=AT/ST=Lower Austria/L=Woellersdorf/O=${ORGANIZATION}/OU=OrgUnit/CN=${CN}" \
    +  -addext "subjectAltName=DNS:${CN},DNS:${DNS2},DNS:${DNS3},DNS:${DNS4}"
    +
    +
    +# Sign CSR with the CA
    +openssl x509 -req -in $CN.csr -CA $CA.crt -CAkey $CA.key -CAcreateserial -out $CN.crt -days 365 \
    +  -extfile <(echo -e "[ v3_req ]\nsubjectAltName=DNS:${CN},DNS:${DNS2},DNS:${DNS3},DNS:${DNS4}") -extensions v3_req
    +
    +

    + Add Certicate to the Cluster +

    + + + +
    +

    For adding the Certificate to your cluster a secret on kubernetes is needed. +There are two different options here. +For the first option, a secret is created that contains all the necessary information. I.e.

    +
      +
    • Server certificate
    • +
    • Private server key
    • +
    • CA certificate +In the second variant, the CA certificate is separated and written in a separate secret. The advantage of this is that the CA only needs to be saved once and changed in the event of an update.
    • +
    +
    +
    + First Option: Using one secret for all three objects +
    + + + +
    +
    kubectl create secret generic cluster-1-tls \
    +  --from-file=tls.crt=$CN.crt \
    +  --from-file=tls.key=$CN.key \
    +  --from-file=ca.crt=$CA.crt
    +

    Finally, the definition is made in the cluster manifest so that the operator adapts the cluster.

    +
    apiVersion: "cpo.opensource.cybertec.at/v1"
    +kind: postgresql
    +...
    +metadata:
    +  name: cluster-1
    +spec:
    +  tls:
    +    secretName: "cluster-1-tls"
    +    caFile: "ca.crt"
    +
    +
    + Second Option: Using a separat Secret for the CA +
    + + + +
    +
    kubectl create secret generic cpo-root-ca --from-file=ca.crt=ca.crt
    +
    kubectl create secret generic cluster-1-tls \
    +  --from-file=tls.crt=$CN.crt \
    +  --from-file=tls.key=$CN.key \
    +

    Finally, the definition is made in the cluster manifest so that the operator adapts the cluster.

    +
    apiVersion: "cpo.opensource.cybertec.at/v1"
    +kind: postgresql
    +
    +metadata:
    +  name: cluster-1
    +spec:
    +  tls:
    +    secretName: "cluster-1-tls"
    +    caSecretName: "cpo-root-ca"
    +    caFile: "ca.crt"
    +

    A regular check of the mounted certificates takes place automatically within the container. This check takes place every 5 minutes. If the certificates have been updated, the certificates are loaded automatically.

    + + + + + +
    +
    +
    In addition to generating the certificates independently, cert-manager can also be used for this purpose.
    +
    + + +
    + + + + + + + +
    +
    + + + +
    + + + + + + diff --git a/docs/hugo/public/tls/index.xml b/docs/hugo/public/tls/index.xml new file mode 100644 index 000000000..0078d8f19 --- /dev/null +++ b/docs/hugo/public/tls/index.xml @@ -0,0 +1,12 @@ + + + + TLS/SSL connections on CYBERTEC-PG-Operator + http://localhost:1313/CYBERTEC-pg-operator/tls/ + Recent content in TLS/SSL connections on CYBERTEC-PG-Operator + Hugo + en + + + + diff --git a/docs/hugo/public/tutorials/index.html b/docs/hugo/public/tutorials/index.html new file mode 100644 index 000000000..009542778 --- /dev/null +++ b/docs/hugo/public/tutorials/index.html @@ -0,0 +1,5216 @@ + + + + + + + + + + + + + Tutorials | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    +
    + + + + +
    + + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
    +
    +
    + + + +
    + + + + + +
    + + + + + + + + + + + +
    + +
    + + +
    + + +
    + + +
    +

    Tutorials

    +
    + +
    +
    +

    + Overview: CYBERTEC Operator Tutorials +

    + + + +
    +

    In this repository we provide various tutorials that demonstrate the use of the CYBERTEC operator. The tutorials contain cluster snippets that can be used directly with kubectl.

    +
    +

    + Using the tutorials +

    + + + +
    +

    The snippets provided can be deployed in two ways:

    +
      +
    • With kubectl apply -f: Use this method to apply a YAML file directly.
    • +
    • With kubectl apply -k**: Use this method to execute kustomise-supported deployments.
    • +
    +
    +

    + Repository +

    + + + +
    +

    The repository with all tutorials can be found here:

    +

    CYBERTEC Operator Tutorials

    +
    +

    + Cluster tutorials +

    + + + +
    +

    The specific cluster tutorials are available under the following path

    +

    🔗 Operator Helm-Chart

    +

    🔗 Cluster Tutorials

    +
    +

    + Overview +

    + + + +
    +

    🔗 Single Cluster

    +

    🔗 Cluster-configured users and databases +🔗 Cluster with prepared databases

    +

    🔗 HA-Cluster

    +

    🔗 Cluster with Backup via PVC +🔗 Cluster with Backup via S3 +🔗 Cluster with Backup via GCS

    +

    🔗 Restore Cluster

    +

    🔗 Cluster with Pooler

    +

    🔗 Cluster with Monitoring

    +

    🔗 Cluster-Clone via PVC +🔗 Cluster-Clone via S3

    +

    🔗 Standby Cluster

    +

    🔗 Multisite-Cluster

    +

    🔗 TDE-Cluster

    +

    Good luck trying it out! 🚀

    + +
    + + + + + + + +
    +
    + + + +
    + + + + + + diff --git a/docs/hugo/public/tutorials/index.xml b/docs/hugo/public/tutorials/index.xml new file mode 100644 index 000000000..aa2dd65a4 --- /dev/null +++ b/docs/hugo/public/tutorials/index.xml @@ -0,0 +1,12 @@ + + + + Tutorials on CYBERTEC-PG-Operator + http://localhost:1313/CYBERTEC-pg-operator/tutorials/ + Recent content in Tutorials on CYBERTEC-PG-Operator + Hugo + en + + + + diff --git a/docs/hugo/public/versionm-/index.html b/docs/hugo/public/versionm-/index.html new file mode 100644 index 000000000..2d0dd524a --- /dev/null +++ b/docs/hugo/public/versionm-/index.html @@ -0,0 +1,5179 @@ + + + + + + + + + + + + + Major version Upgrade | CYBERTEC-PG-Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    +
    + + + + +
    + + + + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + Toggle Dark/Light/Auto mode + + + + + + + + Back to homepage + + + + + + + + + + Support + + + + + + + +
    +
    +
    + + + +
    + + + + + +
    + + + + + + + + + + + +
    + +
    + + +
    + + +
    + + +
    +

    Major version Upgrade

    +
    + +
    +

    CPO enables the use of the in-place upgrade, which makes it possible to upgrade a cluster to a new PG major. For this purpose, pg_upgrade is used in the background.

    +
    +

    PAY ATTENTION: Note that an in-place upgrade generates both a pod restore in the form of a rolling update and an operational interruption of the cluster during the actual execution of the restore.

    +
    +

    + How does the upgrade work? +

    + + + +
    +
    +

    + Preconditions: +

    + + + +
    +
      +
    1. Pod restart - Use the rolling update strategy to replace all pods based on the new ENV PGVERSION with the version you want to update to.
    2. +
    3. Check - Check that the new PGVERSION is larger than the previously used one.
    4. +
    5. Check whether the new PGVERSION is larger than the previously used one and the maintenance mode of the cluster must be deactivated. In addition, the replicas should not have a high lag.
    6. +
    +
    +

    + Preliminary checks +

    + + + +
    +
      +
    1. use initdb to prepare a new data_dir (data_new) based on the new PGVERSION.
    2. +
    3. check the upgrade possibility with pg_upgrade --check
    4. +
    +
    +

    HINT: If one of the steps is aborted, a cleanup is performed

    +
    +

    + Prepare the Upgrade +

    + + + +
    +
      +
    1. remove dependencies that can cause problems. For example, the extensions pg_stat_statements and pgaudit.
    2. +
    3. activate the maintenance mode of the cluster
    4. +
    5. terminate PostgreSQL in an orderly manner
    6. +
    7. check pg_controldata for the checkpoint position and wait until all replicas apply the latest checkpoint location
    8. +
    9. use port 5432 for rsyncd and start it
    10. +
    +
    +

    + Start the Upgrade +

    + + + +
    +
      +
    1. Call pg_upgrade -k to start the Upgrade
    2. +
    +
    +

    ATTENTION if the process failed, we need to rollback, if it was sucessful we’re reaching the point of no return

    +
      +
    1. Rename the directories. data -> data_old and data_new -> data
    2. +
    3. Update the Patroni.config (postgres.yml)
    4. +
    5. Call Checkpoint on every replica and trigger rsync on the Replicas
    6. +
    7. Wait for Replicas to complete rsxnc. Timeout: 300
    8. +
    9. Stop rsyncd on Primary and remove ininitialize key from DCS, because its based on the old sysid
    10. +
    11. Start Patroni on the Primary and start the postgres locally
    12. +
    13. Reset custom staticstics, warmup the Memory and start Analyze in stages in separate threads
    14. +
    15. Wait for every Replica to become ready
    16. +
    17. Disable the maintenance mode for the Cluster
    18. +
    19. Restore custom statistics, analyze these tables and restore dropped objetcs from Prepare the upgrade
    20. +
    +
    +

    + Completion of the upgrade +

    + + + +
    +
      +
    1. Drop directory data_old
    2. +
    3. Trigger new Backup
    4. +
    +
    +

    + How a rollback is working? +

    + + + +
    +
      +
    1. Stop rsynd if its running
    2. +
    3. Disable the maintenance mode for the Cluster
    4. +
    5. Drop directory data_new
    6. +
    +
    +

    + How to trigger a In-Place-Upgrade with cpo? +

    + + + +
    +
    spec:
    +  postgresql:
    +    version: "17"
    +

    To trigger an In-Place-Upgrade you have just to increase the parameter spec.postgresql.version. If you choose a valid number the Operator will start with the prozedure, described above. +If you choosse a not allowed value, you will give an error and if you decrease the value, the operator will just ignore it with the following log-Entry.

    +
    Operator-Log
    +
    +
    + + + + + + + +
    +
    + + + +
    + + + + + + diff --git a/docs/hugo/public/versionm-/index.xml b/docs/hugo/public/versionm-/index.xml new file mode 100644 index 000000000..b62952188 --- /dev/null +++ b/docs/hugo/public/versionm-/index.xml @@ -0,0 +1,12 @@ + + + + Major version Upgrade on CYBERTEC-PG-Operator + http://localhost:1313/CYBERTEC-pg-operator/versionm-/ + Recent content in Major version Upgrade on CYBERTEC-PG-Operator + Hugo + en + + + + diff --git a/docs/hugo/static/images/k8s-entities.png b/docs/hugo/static/images/k8s-entities.png new file mode 100644 index 0000000000000000000000000000000000000000..7f33924b4e6ee0e13a20e9b5469b0794dfce0b66 GIT binary patch literal 97008 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

  5. 3ryELNsSvtMDSVpeFU1H;wfn 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 literal 0 HcmV?d00001 diff --git a/docs/hugo/static/images/multisite-interaction.png b/docs/hugo/static/images/multisite-interaction.png new file mode 100644 index 0000000000000000000000000000000000000000..10b4c6f1ef18f01c393cc2ca23fbd9eac4f4c2fc GIT binary patch literal 38838 zcmc$`1yGgU`!)(9pp*$Bh$sk1Y(g3&1w}wQ#7zm(n~;=75l~PB1nH8L&P@pjNOve~ zQW~VY;oMu_U;O8MGv9aSoSE~^yu-|PKWnXLtvjy!y05k0Dk(f5C88q2!NDPYC?lnU zgLA4G{zsiT1)q5Newl?o%=Xfc?G3GMoKZ%`_BaoWtc+}*+8aH)Vc>kj)ZX4kh=aoh z_0-DV!4k!8Xl;3cQ}7y$AZVuc*#2Li zdRh6RzmyiaM2N0!em~yh!Q$ZlfXnLbCb^X-11eFUGb(E=m-ww0cj~z1Nq;cPO;DI! zpqGDl-Z=ll7tS-mvLW*RZ>SP)p}t^}70^9A5~dunQ-;*0L<*0_kpW&un2hX@+oTC^ z1xN_&>aDF~+uT)4Bi?Q`u#p}YWkCdEv)8{%9TAn58Y3am~u(H(q1ovxqbn5NoISq&< z(Pw7qrgZI{bqOF*UUzd08g~winQd|oJoFP>FG-q+7h5ZnHoIPTbx|p8`KFVwNOk|p zu4dv&O!mlpjCqd25 z-@0A!D77~FDkHCmfcao{%Y4hyX(hsE#9db{2aB3N)_?zgi=N)wLjK`HX1%Jr{mbLy zYfHQZjq>~6gy&L!MDbd*VD3{$I~wI(b|aZ?+FolrvQk&jv|{pVxPkQQ_*IB6=(2gc zztpgitV-DjLnkOG$jtoqRlu_(9^*ok)BkvkeQ4+{3fGqebIP6|96@yXw)hF!a_Eyq z7P5qWtjQ#xz^Jw7_gr^UnL0l||C8e4;%N;ACU;iW%&f=jo=7z6Df*`0Ia;f(1c~Ml z2I4F1+QsJTSFVI>=ISz+W^QiUi;0O17APf377>;&#|k@@j>smx@6XaQG&I~e+8Mio zcoJ&0G2I&eMFfGc?EWmBnwpAFOu?r7S*rCDqBBmURWBgWd~$*%&ov6d_KHKS*qt&`|_JUko$_3$`Bt|2}m_n22 z=;&UD>VxHqc+cZ9xp4M#w4!aHM=$PFgq<`sRr`=wOuV~dysb5+2e5S0ej%$K)(0jyrRugLqo&mGjo#1 zhkIa3%{l=U2lf8sNp;t0%E}NH{W*_3L$}4lzr+fkCmMMi{2;{Y?8x(d&v8dyqn69f zx}v9>$}K_(YRe0Xkt49rI79Sh6dY8d(`gX9(SRZv15gQU|?z;0q-)VkcoTYR)t3PlOiGe zIVBJ3>(yK|omC!3vWS(jYR|*nHL&&dXX9~VZ$5lT;~u%I^?-5Ne|UsL_p5-Ve98O3 zz#>_~yX7^Z-%1y(M!#ykeNXOuYyRC~do+L1;AiQ8yILm_A(g}4^b0xNJ|)&;J=H~o zEy$ZUZw`}|+KfvYJAN>kDXC~*3l8=qzB=3hCOCU+2d7=TbeDyNMHMsj@B+)7J0Wy3 zu|f{JVu-ZQIGcC{_;Vzp$XkqzJ@fj(bkcKfp@FA)o@eqRyDkI>bG3hT_+>VPUTSzx zUB>@$rZn^0H}PfvcLbzVt3xu@Z8Z5WDjb(426MH`YKxV464ixvrZvhc6ivPjvp8vt z$iFi!w{-wjD+#L(y7*sF+2u)Lx$_k8S0s`J1ylFB~~L7ah-EN zv#Bi$UAD}v3P&oOOpJG47`HT06kNZ$R}xfXx%m5cOLmWFS*$9$X?kg@Wc;Kk>t8l@ ztFXS#?;O~pW~t57NlE1=>o5E`)aVNXME3=wf-0p z(In#9`P{~)X=CiIM_`4&zyCzwHE{T8YI-`lj(D-o-1XfnWaakrAu%!Xi099rWBq6? z(o^EOL|4PB>kkDnl0S8l4DEi3v~C>k*_o3N5lv{68KO7AMfe&Y+&@MZt^BHj zi~d32l%s+tLwE_C#D7^xGfG0#ZTDNXUwkvgu(l!VPlhn z{|;~l5Gj~dl4ZkKhOLAh7iDzHs$)YupD0M<&i%f`=Xj= zYrPlhAa%Gt9Z*prymJAM?g%%C-+I)3W%MXq&x1LnzOT<7>=jcrMmMCBl9IBwx2N^^ z@nsgZH-SidRYJ0BFE(Z#Ewhj;dq@5J`O|)`eVaQSA5x6&*V3dU!xt|EJQ4re_q{*+ z{`%>&XKH!+HRTQq%fn?KUFS*-9nl|{3Xyvs-W?*Fe(}d~n~;s@?N_IsIQi#kTeDlI zO~rpwRmR!J#hk+VMJrE*gOhR-iGy>9hdCv#9)!TbIev-4O<-xFfGnOM`~Tmc&p|;! zoK7_c@yvGj6(Y=Tw5FdeY*37J-*3~}&d0%_@k8O>Alh&XKOOhxuFcJcE{ZXA#Am+bEB>p;f3g_0J;g^kxt&};{pH*!6uxmDKi??e zrl?)3W(LbhPT;?Xd1YScBTaK~S8IK`RSzv0mN+^4(3;-UY^kR%(OG!j(SZ#Hbs@m+ zj9N6ppMtf!*>E*VrACqg?YhCWDfUg10K zGu!;pY)D1|(9{j82k8`kVJR3m=beJjvA z*ZsRs`j{0>gHXwOkrwCub4hTif_-<^mb`4CM-p*aAbp|VJ={2VV9gFgWFO{*7yiX! zXx!q52N&tx>sMb)7}vAhAM&hVcjvY(`}dURqY&FMUq_O|0wNtM-@A6AO~;B;on!TO z^d`!MoJrV^>;%j6PKN7vh3nEY<@aQ3(pIkaqs{00-jCfIOT5IYmeZkw&gm~Tv(T){ zEDmsOR!Q0Wfu<2@%UbBY9#gTE7TXm+Q=wMyp9w<|+i_)j^-bT)DwuTAt+XpFnLc!_ z-mdEJ`T5fIipi+kEzhHdY-Z0a(z_4evzE|I@>6q~?{`kK^!T(Nu&eaJ58g~6 z^$5G;pORgv+Fy0hDVEWj5cy18x%m}@0TZmHNGPEbZar0Qta@+J*;Uxhw-sGvIu;hV z?`EBUQB1&Tq1yaljZ|XXZ6-p%nr510Fm5cXSnfkP8Dg$B)F(Qfb*c@os@zdxeC#O>6n?5Z%Ddb=y7|9p=7dIRo(|_ImSP?(AN&VF?P#W{_WV3h4nA9+`hTX+aFl>yOLe2<5h^L*pBD7m93n- zv-;xM+mMu)^6ioHmlft;+CGH6EHx26MW)TJl%P-DA9s9n)`X4p*Jx9jasNsmx!Z56 ze$ml`4(SyUyZDKKsov`>+SpJ)g7xg%!H5E#+qj_!J+1QCPd*Fx%p;y$W>YH#J6MiO zx}|seD!1XDqEX8gghp*!c@^>`*oVlo`egXtyhyqkxcWcAA_J8eK>Tm-hxh2B#s-o9 zgfEy-+!`$8f9d-ZZ4{4?73jq-opPPx{|w_`5>QUo9$T>$ZWUe)&w5?_pYb967IIPS zBz-Ked74Fo`Ej1ow0T1v6UW3LvS=aXK`nTC@25EWRP}VVrHWJd9*190;8LXsZ^bc- z>BVjL;Li-QpMDQERy<_I?)-V8KY=0yF}(jFS)a>tEth&HE>^%=r`v#mu}!DdfvXc~ zzasoqrrV&7aX)9w&bZt6d@k3?vBT_gT#9UXK!T(yOCv8R`fC7ca!CB%G{;w znmf1+#ccdbA|*#93t(tYOOraurupL^DXh*A=}ma*=XGAQ;-0lS^5o)5vn>4(Gu0YS z`>(~|hdm>Ha+^Ud$M{g^B^X42_Bntx*6V!R7j!T2p$NQ|Ja$h95xVYHa*=d9w-PWhh4iVze z0hCFQO-xM0BP4tG{=Jd#jsDx2Sn{N;4Ye`T{^As#cpKIZ!|%FmHeoPjs%Z*m&z{9j z0972$T*T()Ce)V`Ux;zK!M2rj&COYcPUGmW!ZV@4p`k_kHLqZqg){(V&cVjyahr7X z|6+2yv={*jTG z?WG|Mz%l{Y6lrNGsjlwU{{EeX{#+F88*w!?wS(=Yk>O$8uP9?m0(n>g+pziPaJp9!QDi(A6Md5^VEkiqnCR*fuuBrc9PF6{Z3jGWxY&Q7jQ#dc4M+?t^w4vs85w_DxR)Wl~wXg}XG z-JSFR6+h?(SYGQ>CQvsOj_;Q`T+W#Vg#y7*IAr90l~1&euCYGgie9BlJ-l-UEcI{_ zOr$qWv81SogpADiz!r+@@#T>U;DGdn?{H5}PO@s|Xy<4P($mvduyu5Fz*r_Ft!=>NfqYmjRQ&v0Twj!v?iU)j-xU$TEZyPezH`Ua5Unmfw|EHb zPk)Y1689FYws0gevJc8EbyrtcBHB(d@QoWs@SyqvtG5wrdS7@ zhd&(b?Mc`huxLoww5@0|2>tDkI%#HR}V4p{AyGn(r~H^CkU2EB0y8N84p*SqFt;8;T;A_`WA{t+~0` zZlgrOOF(XkbS(|L6zIqiHPI%RYfqcWu z5(9{$Tg=R6u)k1rVmxfF;9Lg!mS7ytA9cx;oTi>br@RPgLfuN2$cPBwQluU{D5N%P zhETk;v;=1z*mX7m3Y;#_%WP;ArYB2_`;o^-{xh~vuPeKoPqv10KzuID&lhxFzXhR4 z5FFF}{)4QC9~mQ~qFkJvb-um`ULtsYusVM4Xn)Jy&24*SEH|wG5xY)#U($nf^Wi-> z;-WAoL)cmvHF$H0F$hTxT$MR-K_5y-e5PyaYTOkHPzQ@A~#1MG=TTnDd7jPqv4wf%Zh_ z<(c**H^0Is?%Uk%{QmuWzG36fOijhQ6*7uh%F|jTZcx^FowPPJJuZ0G%u#))0z@7p z)06#$Ty0mNfj4AIomQ?}&d<(1F!2W#IZG+Ac6V*E4Dm4}gn;bY4oK|#m0t8K>AV82_^z=NLo0|h-DqFWQ$|9|>0jkk>f#(y)M+cXO%p$(H=_d86 zMs+=U^k}vt_Tc!)6^$gH8YYgSHw{yexGw5ONk#PpcEPCile??s`P{xfHFAQ$*RNk+ zpuf*!+Vu;VSyX(1y#a|Ndg|^vfdGK$Z`E^~nKHq2Je<3qvg zk=2y@stK&D6~dL%$|yv@jQx&BRCoNyXbg~HpD!7nFJL$c=KqF0`(ua62GV9G9YK4d z`YqWGi~d}_v>XWj$0sdXR%2CWa)p&E2BPjV$5wWo&&@LDd4GZz)Fb$*> zvcEk>e*L-vb>{Ee_*AR&y-Y&SA%`aiL3sWEL~B@eYAR3g2Z^A2$NxG5Ryw*@EwKuV z1A%NI8&oAJSd(A^JU@4IEipI! z6WR5<0xwqe*A9uknl|2;lKJFwzOV5jm~>MdkGF>rlA3E=b7 zd`TM_LJq&X_=bl@HfB3>hyNJ3!S^#377G-JC#bQi*zE?ZLhb36?v`$@aQNOb6!sd z(8jYcy|=Pq9dLz%@6H_-r37(c823I{slM2Og9%oJUX6q|fy2VjM{{5A_pbSqvzq_N zm|j@O+{wA6y(`B3`Ve=JK1(rG!+!91ezqV6r*xTeF9%?}R`fp#^uwpKLr zUg~HDr$Vr?L9$Q(4oFuBSg-GNA|jB=9@dRHoJn{CAah}Jz895wO1Ihr%ft&=LQuvZ zB21`;7_B|T;=ZiyYCC6dq*cHG5fjmqnfzi zAd?^lO046&d&p52wMJMifP$b#-TLVyx@reGW>RKN;xhj0^CJ|U2fn{(YL`Yk}7w{3EfC1i^F zUZSwrM*@zEkAcS>BGRWMqY;{#m@qIjEOgsj2bP$#654kQgT<^2)~Ph&PB)QWE|o9V zK3k7fLDH&nT%sBx)R$QvtrUJ*i#=NxS6A*a`ncfWwYhHkW(u5GUli`|kf^Bgr**y% znOjvj&>kFmnR>9T+xl>tP~ zOw}|pqkx2j8|ZU5&kRTXp93K+W!I(LL=of-(K5i_d1rZ~Es~r0F=W_JBLO+ehq}F= z7Q=8~%PA@XvT}m6v6~_3hXTyN*m!1Tg_f4K^HVHI`u(NauQm73Ue~%fZ>Ld4T?KQR zoR}EUnY&THvIR#pz={W*H3kL&fr0MseBgKNUuw{bc|f~EHWP(u_A>8dZ==5ZjJOGx z{|WTKwklA4azn5XzsiCRl|$WyqieWPSFT@Qo|!R*s&9979D*H0uOupmQ!}L33-G7B zs1ZE3EI_FBLK^S$1%12%;Y5Cj9Whh!~^&^t%Iahe!T*^?^{N?En6tf^_ zTem^P4%PRwKhjxO#pB_$vvq>-+aczDK9ggrZnwNf_< zfP#0!yS=f|Z|V3`4H>sp5gQV{=!Dr^iJmESMJya_rQh+?+|{KJ zz_x!i!Nu8+;ENc*6^`_035459yFZ^1+=%K>9_AnPV6s%d?_18}4 zuL9}$o|Lj50QBuPW@$YS*Oq)wG|5s}gC;fzXqsl)B9p#HTT5le2oy^1txtbx87j88 za`h_nk&PT#;b^66I5hS(umS?H)?oSv=_9SJ0aU~wM-U!Ir@h7o1!K*x;78qjkXOn* zPdp$5%oiN)SaY9?883C&%J}kS9_mAm>01&XJTM=YiCuRJBBG;dh3wz>Cqm+Zs3$9tqBNq{u&4iEfkk%+zHQHE+V;?9lIV=zFHPU(}zs-T%#>mK6^fKn5;vKB% z*mWNFyoNQ)Irg3;*!zU=TFba@FGhl>prXPx@Y0){^JeJB#pdKrUbB+-pa_M7ZWId+ znmj;!PD(1vT)`CjX_zIb^rZcOR^R#%r+Htx1U1RkJFnS$o040h+Iq$xq90Mm#>nV< zP;(1ir&Ly23Y}gb;f-{SY%21IP34zQBf{`7DtpNfH0|x}+tl=XKDt%o`{h(QZx}lY zpS`V9{Q0C{zBi5EyiZ2sS|5V0o#J)sBJAUn$B%6|)Ptbbd9EW!#@*~>Bx~N4fLr}O z87l4P)Ha>sR)a;%iW;vyfr73uqwtTsfB!xzvnuIQl*`udX6H{oaJs)&0-$F{20;c# zn|4n?j9qlR$SHxRIQ{YZv^NMu)-^lnU9l_j`SOK%hwQ^e2H7ST>WZfdE>R^G{p>7W za)OmbEFKf>6km5%#_Z}6fL+n{?|dH7?Rkzr2S5O$?Bg<9hU)jX6crV%4nnkGriN^G zy{ecI9*cLd&kHptl{Yr4y8tGDNf*-iT6V+;TKvo!esmCl|!ezx1T5JnD^aV?8O-&7y&ELPjX6Mi)isV#7M4B+4bOAKNpSc`t(Abajg7**yaX=QtjAnbFM-R$ zy11w3_z6@=vi%uPiZh-Wy1Csw(lMtMbra|}fF0)LErx2tJ~`Qr8GY^!H-}yoHmRl{ z%WS71<_!%Fs^tADpO~27vmSK=bZebkLk90)9w+L!G>wkN$(F$CiXiwLL)_yM zeCMhV%`_uKNUEyJb()Y6Ogr9^yor-ZBtNmtX{sq02ppjujM}q+n5&DF(E`s6Amfx; zufIgO1CWOXdScH=-c!8(9@uFpMLa5g@Jk_Q6P(Ri2!zOhnds7j1jp$eyD9ZXLBY5q zW`1t&_JUo&#A{SAo;QtQRaF&`JYgr#WpAh#f+oc_6UZBMQBkN}$juHR!fYiyE&y%! zepbA-dj?52BKvWE?da$+glClBjjb^Bt{@;|<}e02-Z~nPJ2fK(r)0 zcU=Z8bMa}cH#$9+(s6lM5K1AmIxb}6w|e5@;!yShnrU-i6RUn`PvuU}mr5x#WkQX+>b)nalQtEp}3$4FpV3TP(ib5J)~Al?uN zG(fdwYG|0m+WnYhcz8JQx=0JUMMJ^T?^2iGVsetDui*Urr(eJHEi5bqJKyA zqtEgz^nFqN^yw4WgORW}pSAT$P|$g_I$xjQYTpwQ;7>rJ@eC=kvouy6KOt>z&ogwB zv58_e7kEiX4RRiul(!84Oal3g%0#8x{rXZ&3Ha6GM@CpkNUfvSa?-|C;HdhcD3NoAp3CFZ{@4>ev~fM^ctw z;n3{^)Gr_qv4m3(p5=;#;R~K<>#^nEzghNv#Qc3ePSoA}>C=}Si~WX|X`^|}=xSGp z#nGImfVCZLYzDqMa}VJX3A=2j$E;|knpHwvgks%|`1iFJRJVNr-RoAlMOxyE6zJES zih3sMzW?3Pl)S)aTvkTL#@_z&rY>%fBXD~_U*%TOd=5TQd=!C3Q%D1^YR)Yjqb(b zDRS4_KnX!eNC=0eEHD2qC1rYVV-`d9{vMi>4O0K_uEe_8&Ug%&l7_9VZ5WICfCffs z_FL~`uD(pob7RxiH`sN*%B)E)jD7JzJr&o;dOSWi*W{^>tCj+R@ynMls7w+#RI@C~ zxnu*tQz+KCFWJZvK8v4=SpL!vdIXgIUS2qagnm$C<+=ZC$BKDk zLm9kkF@Tb8wT=BP3-rCCAjBpH z68L5)i@{a$XcGFtntztrnY4RGUnuYyg-~4uCj^BP97r*cAj4&LewJY`b2or77;n@j ziScEsgzyU(=q*^mr?@!qF{k$GwNn^LF%kFuzJ>;400*#qiG`op9q?D#WQ{VZ@_AExy6Hsn%7MInq04z5P zP66BG`)eH=^{ZP8nwKtpg#1=WqmOf2iw{61w_+$Aa_((WQ4#DU>D4>8L_}hj@OU90 zf1IG*lm@F}t>-lDO2D!r+4_{wmceQ((HXb}KBCZfqU17o?dRube2SSf)T0`oQXubT*@3J?$E3?1fFNf#?oOwe;p49PeA8DTc6}mwhLp<7HZy!S3e##{|88JdsQ1 z&vzADXrk4B1R?B4fx^bB=%DH8=#?rUEX;b0KWh8itta{6gTQM~krJNG%ml^1`*X+O zoG}`lBxYu2&^Hi%K5=>|QKgBZ9NT$)PsIz(2$~^WDk;napg}Nq+uw&!TY%HNh>sl) zQYA4br=l7xvDQPAliYvt;staue(X~T75I=1Rl1e{bBSfw9lea1k4Ch5pzz^-)^r{m zGW5_uDgOI+DcDPBdKA#;bGmFV&abR=qBF<}d~)`eO2)FXvuQj6N+ty9*S@|5+4`K<@4nD~`ZTfXN^da2UInOXTzkdA!MyxPfU*`Th%EYQM&U@%C5olLIVeMb-e7-Lm zYFK}&N1L7J3F+`q-Yw+yKX}FWT?!JX($TVpz?9xv>rwAXjOZN4B^r#mDw8A zi!lenGd}}rMn-5ly{Sr9S6BZeDeU-ob1|h5V*q5K2;Yc5dGZ9fP0Zg=?!wh|b^$m8 zu%BDdwBFv{# zT5tw*wH^QwQ5MTLkZ+!to0|iB`L(igt#$tM7VH=?F)`qnLEa)^xTjl`c593%rI zXog2d&d~^cN58r`PM2!#Sw)7C{CZnaDI)v8eF=fqM|Un zfLU`Eb_RSO^bWj3xaIO?21hEOBE&Zj^D z{SNx!mSG5fhwD^SvYvsK__1Np2Ef6TNUySec^UBLjcH%{g`o_#XT;A1-FEYeiyg4J z2-lz(id?|-`Pl`D9WR;U4CX+!?_o;=5h6Fkh;02eZ6Nk^>=-s{IRk4FATU_ z5AB>$2z?OT^eLV_g?>jJhVJIgr^~PEMOA0s#c-;g`}EW>?O3I*)a2x5kIvy8^V+O6 zRpWS3yHDTFBV8`1cRLJ^7EzJxQA#`356tu-4e&Ks4v6`67VzY5}!P#uP zEh7Ohai*!SZGHRrPW~!urkvvlN+sz&buRb^3yeQ;}WdfEUzD5-?E{g;1G(#M=kO=08G0LI4N7{#kYnur@X^Y1S^V|M@=8w~mfw zh(@SP@g|BVNP@r^7SrIb?7opQHhLuA&@Bu_9n+96z%^I5q`Br;{yv0lTa=w#L_8zT zMzl2rSHm=_pr!zLjnOEBY23hyi_z#R`}vDted4BE`aO7mWdG307|?hbgec0h3I6Ig zduATRZc)Q|DGi7(Xh-{4hRK=6&dx!^Mx)VdYir>9aa{)Ak_oATqN2b__x~W1GtY<- zY$1lga;EwC`T}uXm~9I?C*2moRre=ac3*lz60s@H4NXVNix+FrL@!Z^K0b2GOTy*! zwF~7?(?ehl_%j(RT+Z2pFb9H1BmS%^YHf2~6@VLB{m+uLZ5!o2xO}Utqi17#_h)qP>wi~bxVW^mGE&iqW+A~y z5(i90)NuBiL7oG7ya96h;*;5g#@7^hj3Ql>w6yU6Hw&_fAScw;GB|zROke2f?S)$i z+kgVl_t+C1{+KIl==-xIB-fxSAIjjwo&ynC9*Vz#^OAS<$?;G_gRf=#+b$u^TBtX% zjT!W--7^RRd6xt(0FGsQ>(O8iLd8%cSZfB*n})ZdvDPL7WtHFcn0{qx8}P_n}Z#z^vieIM{X z%Ubq<hJi-T7X_-A;qLBRL_UQutk>(27o zBL|1TE+Ik@#y`vUg`L3?!j|ed1wJjG{!8&(C%+(h?;e!$ZDa=&1HRRsX^Rr67Mlvk(Du*_$O8V+fZ}{n^{Yx1-oNYxNgM<4Z zS%S767!?uRPheiFp-`gz8$#L|8%>}=1pi3#zZO^bmQMJ6|KEzMdA9!_h^zG@%=#hy zt8HzYJ#tx}dRtbu2hKJ?rVQjsRdsdsrjdi3jEpJBmAzsEUuKZPu%G9f2Sx$Y!rP4{wsvM)2ph0SOVIc{OeJR@8DpBB&RRxP+tJeo_$QHW%2V&w?A0#w;qo2of!P~v9Hv2h|8l8Hz`%sKaDtgM<+QaCHmaD zPSHK87l$mQnsP|jv>f-Hcu%!73GU|nj1Vxk3M{JvDh+TpaQJEH@B9FUkJo)3-zWfx zaR??on3E6&IcVkpq37;MU!OizM#NB1pRSzr%>9(i^qAy74u*JA)YRGe!BX8T@fk6d z8im8+Q0X>_2(_hZ^;zi`R5*W><4Qkui;s4F6Kp(oAH|de`d+i_wEj7m@<7Lr!v1MX z?V~<&+Zo(3X~EbIyxkwib!k0b+C?{?{Yt+o7M`7_Z+U(!<2I zW>?tZcai0 z(AD%n?IDjTc{w{htqvL!VDr1wOPRy0Mqi)3gym%q&XJJ;^l|tAEZrxB+{p*5i0R~5 z#7TM(1znjUEg*~L*MZUmHHoa}8^`ITrC8|ew#V;%_?t}ct5+JgQvsdm8-g%Bd-r*7 z)AzO!yS})OC1z^&^SrMu(ux$E-5LrIZQF&1=xGQib5k^bE>Zxqz7|;=!mg+@rKpLa zaST|9sy05CZL3qnW6}H8cN1OLe=W8=N~?d!cJ-WbXPF*^f!5mEiIwUT$OB-^KgMA+ zP%xz_#2N_OKDvWk94roK!0N9`)rolQ1w7$Wo2~6S_WB!vO=oOZFtnC_+kc$1g@!uK zU|GDwr!a)Jw)T@EQ;B>pvH>_N&&|0Dyaf38Ai@fI0uG^>bf5HivZif=qQJ^K8PNDc zQELhQ54H`^*(_6+J%>fB0Ra%lX-2T>(2Zz_-`%lC&|QL-#5~JoakIko^mI^a(%yX$ zG?sYlujilu@qo0@07E%M%ru&LH zrd_CHc%&Bit?Kbl;KBzq(qx!U|4ZWETl9aI_}?#>y6Q!Ag@ha7|MqPnJq2X-M28%# zit!H>VE3M^1X`zwz59R*LB(PNSWEi=V3XOqRk0Z0V1dcvTE53>uLgO6y_(PkRc2un zjR0m+_8^h6#+swOv$GR}iL79YL`)46JnX^L_V0|1-xu`V7B6{;taLx%%eKw;=0g^l zUg-B&pAySuQ_B0LF)}ie_9(hR$M|nPe0sSCdb2HPmT!3l(r98*--2mYxsu)j8+RE} z)qqz%MB&VOZwsoYHeMPUvz>gA-}_uI8==+jv>;Xh*J^g+U2j(s@**gWpGc)O-SZ=Z z_y%a%f!K%`?luk#3_zxXo@aAa7wt{3mU;f7A~1SFK-#KP;&|Bdxf1>U=N52Jw(mGKnBVrdY80+o%*tc5IQ z73}tC3M`mG?i0z`v(0TTRWAbr_Vjhft`7+$z>cMw6d&a7+0VZ#P( zH1urw;^N{i>gFt;Oh^ZXo9VB(k{8E^f+a4q9W>3e2>aW}xd|vZSm!o>9qw&FeEy4o zdOt&b2uhV`OZA8@p?*XN<`rP$G>E0cvw{Gg=79RDytM`tcS1r!UteEaR+24{;&9c{ zv=HQ!kVRsI4^5&GcM9VMOfdxvOHB0ilK`shzkUEBA)JGDN8K2#o|~I{vJn4By7?E~ z0xa+&eE)c-!eN1emKH$WfumM3|2?!)BX)rhe=>$2RQ|KPPo<>-z@`kl?Y+b(DEN4j#lj4G4X}m)M-6rwKEGERgr~o-8@E2M<47X=7#0@{CHtK1ReQDk34tB3H|9K3#`3w?P2Kn_Wo5o~#7 zCI>~q$>D|~)BxbGTwpAC1SCPnXMD^5`F;-oR^WMR&@52z*UR<(%s~j-hg)ebfo+k4 zD54}UuW7nl(=^sX9;n~K!VTy%4v;BP|BX9lpbTg^ijYZFv!q8JdVX2x8ZJY6&O7b_ z{=Pm0Nd~xBjK)haO~y*+jfS5;w}CkazSQq8;Ozr#5tQu(+5QsfAXqML5|qsaRbRE9 zLr$)PUP60&JGL-!^rHF)=fk}RK)fyPGPhJS(4_4DpWW3V;jY|-3WmxIOP2eI!}J>< znBI&3b*lI;$T9>b4VbZSXqL9FLLa!Y#M6+90Nvtf;icJZ)+brtUzb^wu`|{>{cmsc zJZxFv8Rcx-?16?n1BzyEpV8`>F4L3V?=pP{^Gy&@fQi zqgROq*!Hg7@Vh9|&nnpV3IE#X9JrttA(A!t{MBIpl3;sDpIH}4ojk{nTs=L870L7e zRr&!1hvka0iMZ!b`HTIY1f3a6jVTpmoONs#a$0q5VpDg=RH~n|l5ii{fmmBuSQvPT z{~-CO=YXP)8()VRc41z*_T=^_Jnw6&}^b|Obgh>FNRxU3E%VA~zT;zgd z{FD5x5~y?t1EXpj%F54i<`|Wkt&}ZQ>x?BT*d)aTY#b3>)j--w zn8pUQfU=RWlbN9Pu9pqtTdBD5&(Pu!^MDO}_UzVBurTJQAZ6;c zfSZDXku01yZhUKOOal=ENYpSctN#C*YXB(zv^1unjLTfc0YJ?6?tPAqMgl$DdgR9r zjm9`VU^P9c(*m)C8AM3}kOqLS6lRw-kO=C8fBMwG_p&xQK;n)(i0pbEVpZf(JZ4Zf zAz=?^vIie_5)fc1J1-FbPOq~TzL2*JphK?CeP4sj44DA(r7&qWi+YAl4JbZd(jC58 z<4#`a6o*osG$B%_cx7TrroU_%OG885wzjO0vQ{r{Hv+M!va)hdE0A3+M?12jjf$Qj-tTYquoP=6o$Wk~j#g-QMBttV4LIROiTU#5nTvySIO0-19&;#L_ zETk!8tnP4tJ5V8zFQBIe-L-f2TuRL&m9G6`W1etH0LcAJ-AbV=Y^FWXKoe#ZQ3AnP zHM44JUUo~*OVrxhLl=cF>X*982{WT9{xxH43{e-yiznY%CL2nWjnsINdTBw zbYvurpzUiUTtqViN@b7v-NlAJOjTWD`!ylQ@^Lo$hE9R&j=r96#A%@HnqA1uVbV`o z&^|W|`vz4C^h;5MO$?b>K>#fU#r-RwqEXK`z={IwmcZ#A`I6C4oj?B#J@ZPYupVp; zup;w)ES+wh+?)w)?IDYo5Hw+bW~eU!%Zl>zZxV``D~G)r|3aK-%SI4|H~;!KfKt%T z{{9NRQ2=sSmh%Do8!qHskHb>1_R9m+9!D)ZsmaNd)YPCf47J8p@`HU$-)es=cwOO} z4QD;43cB#`5Def>q}oC2v!1_?Ll0+u_$`bNE$ay=s4*HiVYbhoEB|nM zE_+cL4M7F_+a)8H9TXREY&U`702Ko&Gvg{KV`ODv;7Fk=H~IJ`4g$A$q4Xg*e&`Wr z2Fmt&pkM57n!&Xh5bZE~M&PFZz+Np{T;#D~;|UT2Hca#)!HP4iDdj>xpW|--107G;AP2t2-10As{gs8yPtOx=5v|BjMo? z5*lo4lXo9mMUXmJML-f`IYMh(#xuole*u1{Vlmurk3K_8Tv$}pw$1vDvrT*h#6!Ry zV>BEjW2sX?hi!!^@G+C(^3s61#RL>is7zTi9%PJ=LrZNf9sIt}Qq!xa1XNgg`%HVZ z#qNQw@~kg20|S01(u)%7ANp)+WI-{oHL-U9PCLT+K@ zeQ*V|6@5%tk3+Q$qCDs~w>DQ~e13~s`~8CzcpTtX@@d9uIq}{nMj(N;c>Ve`Xd{$n zBeldtOf4;GsHj>T=ja7F$`dKY>mZL~f1n4Q@p7=R9=LBX(lYqv9rQgSIE(vm`rh96 zur~t|FQnTAjy48Brxg8=$RC$y9_EFX2hac2-CIUg*>>&1grJg2EJOk6ZZH5PMH&$a z=?2M#bV(=(2qFSfN(m^S($Xy`(kZ>98>BnFxp=(meV#qO{q8-+{_);_9QR_aE9W`m zn8z_s%zSFAWRwk1Haa1OgHO(<9spx#jRpN#aq+dGEVc|seJ7_vnr|V%_rC$2$Mz5b zzyCfk;0}Sw=7UGZHJy+5^WK8qw(D0|8v@Q-111Cu4^{2c?(zU{UYCS|2aK|xXykq4 zFBDw03DITI;VgBI)`NTrC^J6r>!7P|bHaw|1ne&aJV!f(JRc27NpTYhsC)po-kW)E2CWDSG*4;UywvLLWZqEJ z(^g_5AyB8+2y{-WE`-3aIgFc(I+KOPmrHr-dfOr7&fzQ$cJ6&7L=~Pnud8g--iV? z^j+3hRytZV$!5Mnp7UzIOo|LU<7@yBPhVTFDj?OPxxh1OLI;+rdP0K;p5P}a*3eo; zO5ULq^$f=b!1p`nz5s2wpXj`J!a^i^u+y}q1za)}&MKU285oC49h|+UA%vH%PEIEvsNlS>;GN%z z;}5VUKiyL*S_&L?v~(tm7k)JiOms91RAluAFJBrMkqHby*?zTjE<@Z83(Zfojs^ls z^ZfW^iJw<#g)k4q2%!CzdL7|9SVD3QSjF2zFH9nq8ff@Ijt1C_p^mzInXu!a(K2r|HX0O#fK0Wvj_R;1vjJ=Bmta>(vmn2v_}7L8GkHiW=%ZGf zqu8WoFySg&4~mB8{F9-s07x#4@M{=#^OdzrvIa3<*8v#;bKRSGAto#&wEDy#V)Dq$ z_Kr_qPfy|fJY&d6FJ7~wx{MFxOS#wRk%fRd0nX=D6#n^gJoW6VCGhf>xPba;?LQ0@ zL|1$JGkAE$BDZh{=(oW(dh^W`EFrrR<#9+wnw^2~ zk_q&RVYBaX{^rtl%r6s5K*;m}E2T87C@r?`k*z>04Ja;bdb4^#(|v~&SyWvqGt>g5 zp?NIiqK*dUCC&>P@j>!YtP(SR2ZYgAh@0aSdT$a-*{M`^`joj<5il1IjKlMC@?q3r z)qx)MD=ZOpl26NnpFaS14SHP~H*`$p&Gf5G0nHZ2o`y9Xr}c9fnn2{{PZTp3Tp(GK zk7G`qoHV^S1~%Pgz{u(DtTogv5uzMoY1(Cwb2s%XV0a} ztoUgI5()vO!IoJlaCixVfPr9dch?FIbdEASmT8Feeti(S0;`jvrL$P;0FW ztv|TLz>o^-93n?LfLMYEwmQ1glN!+-f`Y}Ud$ItbhL?u`-Ap#Gx zzo;&IJOpMaBqCyAe)H^|p>E%?!8z}T1Cnjt4<`5b_Ku2KRGtI7aeKa3fyJD|6kk2X z=n4$*02bsLwn}7L_2lb!)XQS7wU2R7D3ntQaEV}KhM?Bnry!liD!9o8!xXPYntF>o z1hQik^SOBa9WJ4Wg43-65s}0%ipG5AmLMlNIHdr*qZ1q+Z2|ELOyxa-#7`Vp8&uPA zPMyl7)_yf)BZ2*7_Y5M2YxZ$!>I8@>efH+w1FI;DT_+rvSKW!0NWzPP*BvHZJ`$gx^YhY7!dd6|&O>8EA*%D(%-4qpt{+Fs|*9gmx2)fdan`i1dLXagAW-I z0&-PeyF112#f$@n?g0sDfU^%|^7}tLm*@95JU)ZFFrXm-#qKAX# zTg6Mc2QWv0Q+JRd`%cK1qp+G}ClzLJ=c|FMY!9yx*en0r-j(?PK zn<1_lk-rt0`O?*dlI)o)B=N!@A4=X(KI1w(f?zOE(DQL0EpO;rep=wY%Tdi;}f7 z0io`0w7|dU85L4`?Xs*nJ}5|+XHr$~-J5eL8mI$52aL(#DaGK3M?lMhjB(rLRYyk$ zXq+D%9cVdV&n-X+_)@#%{lu)8FUgCI$hZj2c9(tN@d_1>*wD=8hHjY?Fp^kvkg?b96mKk7JV{n@(!KX zTc3}#^wMeU?6kD>$zG3XdvUwg#3F+ur|eut$^{DI){YX_C*vwz&0YBS69s;?wY5|N zfF|-?=eqVC=8AwUs+%5y%*?lEu07?g(TR-(l&ov!5(NcIB_sCTTtf*ftrGi`o;o#> zHA)92BRoxzs-WjI;!HwwLT!6;fvaZ?5jLM2sh#CajavcQ&>|2;Kzw5wO2H;`$IqIB ze8TLa8PX`^Q!y>^{?5dUZn_lciNZT->(zny`X1QaQPEL)aaSV_r(Yu${Lxl(C!tIGKv*1^(5&{t~64%K=pm+i94`WWnikSLACRXFNlBqehapn{RABPZI zrj#sJO_F!^AX78}PzJiaZ?PnMRm=2MrIBM9L?W5#+I>bfIA?u{gdyQG64~&hM@pdX zm6^(st2p{Cs8B;oApg;=*LQu}K2JmT(n9<>D>6FzoxD=u1>YecajNaATpCPi)Zx_1 zH-&*4HXq7qTYW>IV+2Ud4h9|*uG!xVhaht#=0QB zCz*Q)*l+tAp-5Y2iZn`loIMR-&HRK{HfSJ?Jd^B5yn^!l1v8N+cU8iV@#-;#M*-MU z|DbUbl(|DGEbx0M^u{Z2R(MHSlx@HavNh)}Va*N;P>Fe006|+Vxo}4>Y0`Cn%eLs% zwrUH|kIcIi!L4 z!SjDG#s#1{HqrzxaI`AaLjt>f;t7WCfE{&q^8+$@c*tYPXWBvYXiI(qEd{T$1zX~n8VRj72 ztZ+jg4E-8?xtj>+fo8{0qX8~K z9SBAoY8fl@A99*db$563xt>B)jk?IRcv`NQ$GX(+>7h*+iaMhKtOeqzO;XJ}A6Rm4 zA!b{RoR#|fRrLp+<|`IMN*u3)no2GjI*ev8gQzX=mg@$${c_@1LAz*bTGxz}?FcrC zzCC3;Jn)6%=S>9U)4FCXY;2iO(r=_ML#ijp1sa`~@(>b={U#UMxt)V}sIvN-p$Xn#Yk`;h$6rur(NggEmMPC|gbS8zmmNK2lS|XFO&5*S^E@>~%PZf*<%oAA=5V^_Qpz^ho zc1{`2JU=rz;^*MKzf=r^gVDX)rH-5Ol{lIAJ~a#3<`jote)Y@L9;JKwW_yb~%aBCN zQe^|A!ILqj#n8N2{91lpPBIw}42{7gr76L?3=5*B%6A%GLvbsstV1^{Zb^gfk#Y># zErgm&MpLQ23uwFK0&U%IZY)O>+pAW^8b46Tev&3&#?^;@25ZaWbTBA*t|R5i;g0T8 z@yuf2Ls$XWt)6#W>VYrwWL@~;#*OY}D<$(-!}$b3%ZLM2VdU7?a^4R(^9~?#;zz9Y z@|wd{h;?W(WMKeUWFewE3L56t&8V7cdQW^yTIaszFej9xcL{zR68ty2L7YoN2aS2S z(@_5O1A*9qHx(i(jnH@pae!sV<=7|>{I`&JXO;BmR!YBnQtO^T;L(;wD$v8TdHdEa zugzXf^kPfHBO;2s|H(#;}8;$0IQ+eLiE9t1$!Moq;1& zQ+;sHPS4T6@Bk4hX2R>Ikbwg1a>8>F(Zw~!*b46zsGaaqTS3$VBGuTN|LF~FD<_c_ z9zOy!H9|v1+{umtt6d5_oiQ9my=JtyHMsy)fF;oYJ!Oga;=Ef3dH@MTD7>U^p@Iec zP~oSC!ldqVLq@{Mj#B7pHpIG8r};2+0KQTDnF9j8MwbicoGWnn&|}ylSqeVgfHO9O zURCFl_LY!fQsRV#Bmk9)(2z)TGhh^ts?;6$x=;k zdLeey=u$$^)e>(rTmsYIls#@Gll!(2LWm~T_ue&|qj8>L;RT9x0;mj5zz%Kgtmq3)xcQGUh^FXh)syjZ zf#KF`+}Yuv5{J||$Q;~}4S^Rp+rW{)h`C9L(H8$E)Z=86r=BmmB;&RGA;EJFMsb4Z02{O_(W33mcb8b4%}N|lnRLd+#)6T=E!pFBwQK+e{|Rb2^nj){ z2EPdO)%|69c23lO}wIO7+oRob5HM1ls@@1TJyDSu;rMEvy z#K)l+djP8mO7wDg_xoGLD350I+ZN&kh)H-EkYHVz zZJf(aeN|inP84WAC0>+WE%j)|F-!vNGm89(>tx4_W^OBq_ZnbwM zL~(#1%|sLfHBj^d%?X{`YJK;JEX_55-~-{S0L{Js5+Ob_JrTlF1>%6a;EHW?=;_65 z1r(Oyv5dnJ;ZZVIeXT>okebl9ue;#P4o3}xdK#do zwPtud8;b+$(A^PooW!j+r1pmA1FuDAM#jjt5@)sc^kv9A${qArx>`(cfT$L-rWZH2 zVtW(Arl?Nd2x1HZ66m-Al(GqQ?;O@KH7AsM6A`hNr2}=c6 zJ4(}`OplJtbD+iL5I4w%D=$V<2EX*U)#;oA3X73<3m1ASvZHMbm=) z+CE`FO0gO#+k`e+f0&Q&1;uuN0So|tfqq2+wfQ$G6nY*Nly5M>;C*Dd>Pz$KQAjMI zWuzehgF+K@0-?WCx%%}I;A5cOhLQ4ALxg;>31BM#W|Vo~$&XtJFK%opE6D`B8z4T% zjbX;LxU)N8LMFz>vphqXN0`FJ7h!IFA7D>3k2X5t;tT*)DZ)4AM6Ws@}W4&zH6j4#~T*#V(%E_Ds8qWF*6pXXs02f(+ADi5%X zc{w2Wq&3NdF$6_l_}zMR&OvIq3?faq=S3eXiFnEw@NAtHgTVNM;kD=DiH!*bJ?LX_%$nPZaX z$3*iOw7FoM7N0>_pbcs6rW`@ZogpeP5n3)TE+(cabaOCiv+)voY0Wgkdz{^02C^po z=j7>&VSNTZl~AF8^_hzJnj|~YN*LrZ@`X~16v0ApW35U_x#QRvPRFHFbkG-=r|o}Z z9YF%w&nG}v(Db&Yt2nc9@M8!SPpS5xJ2N0UN;XR+i_Y*7Uji?C--o6kBwz!g*QqW9 zh#l>u!h!}-JlGv#$U=RsU*{aq@jSfB= zL$m3t_PKYR_m;~&x9wh2`em28tr}Zd%>!qM`lfy@jH4^2g+OwFf+8^9`i$uQVga!7 zAXwy4*TCpHT87{;$O8ZaiqQsu6+Jc%hIehJ?E2~pJsiIUFCo$A$i3*x+H4&xnn&a? zL>0aTp6vS;=7>1kEpB_5NMv)`p3)5;4rK({bt4-?KA150yW{=pV-pcyy_9AFc)*|8 zz@R{)bp&(UYPS3;reR(Df<*xhz|~Xu0W~@pl(z}C3vz8S%g`eXp%xjb_7NMx%ibIGv2pBI5eimAidiS(D0{Ms+ zoG=iofHE1sgngVW0@rcHUKds)XgtGy%4}eiR>Fn4qTBQz2-9-)2 zz$q<+hyb+?9MoC#onS{8%(VIdFcrjN=m4<~own&nMX$t$hv0A^CIB>76o=zRw&nuS z6n1aHTr7QtzAYK!639ffwJ#3EH^8uxG8m|L=~6j-G-N@HMQo2I$34FUdTas<`(yG1 z5By;0KKEp)TSLvULwmCw;(lagBxo&zMT&YG^k-`FuajWM;m%B0z0B0 zZxyqo#Z+2s)9`yXvXqM%ZL^KCXeMA=k3YN6Xo@E5bP1B@xpxPq6C$shsp$E$m>5?J zlQ&7bAn&zSDXd?3!)vSdK`+UBCzpF83{@FW56UPgGrGFEqICWEoNIeZXQsKUiY|=F zry0mvXeW;BEWW;kGIiw`tq*SV>$R6AP}_!}L$B1HB)ZtFZl+x6*ZAam{!`mk(~5YF z{nl&8>$!qX&-p5F9s(f&u;$*6T8^-njZKpEM$*X7qchJ&pUs%x{I;x76YQ9Ptx(JK z6d>5px29G|ITW8KI zC$}Ge*5)TYO7aEf_Z^!~T-cW)s-x$#m{-vt75-`n?s5SU0n|l}OjR>T*ufUe%BiuD zDK|#Bq9)$9`H_#3e~GGnF>u-89OA4S{?h@Y}Fa zlFq{&LcAOm#=gb89=tBK?ln3Y*vNP}pgU}T?$Zx>{+ycMH0VaOVRns<> z$-2AntuRmF)9?H>304qa3Fkr^M&HX1CWYIRtsv%WUYi#kz*I)y2||hli)9bppRUxgPa%-l>bmbW)s;F)W8~Ns0S~eJbS5d`=y>4BE?=|Lg>QoOl_|}e`z#i!oqRc<%}?T=UlvAlX>YhY z#K|<79z+=V>=Y`Wd^4fVZ*27MhyALMLs_}_A^|}_p(mX!@I{AJ#ySBTyB2+SsevKc z^nGz-T*Lm?THR_l5vsB*T)M<3FF5sco1fpwkvgS>Eyq0ix$%)>%oUbj@hbw>e2Z1W zeh8n&eT;r18boMoQ4-JxLpog%;86HOi1!@&9p^gK=#-pA#;;=i%gX*bcSa)z6*moik|Q6)!alaJ;WC}{9`fp-8aq^ z4P}1#eMo6Nh&Yq~ zzOjr2E-Xpx#5ad&kILEa3RgL;%e5{ICDhk7<1bxO|Jyw$zb)?1yUx$q&mwenw0Cvv zS3AdQQ;Gc=C9=J73-OtKm)JW$`A}8|*U5bfcUHK*9AX{p+0M>*1$2ig zrP|IG7Ty~eG_$PD=5f(`GxRR&(h8!fQ+uXHeC1iKEi%u?oy~ka?j2o#l-DBhvu{6c z?e4jqJyzlCdT~*vkmr70l!3T6Pd>wv>f^BN@A}UO@LD7JG9Dx}9o71w(x2^CZRtLA zSHEl#_3_dYY_rwJz_eZ|bcMdAePPPtOS)}xI)Z>(zOv_jW?_<772}N-3&}pJ?vE%QfA>8 zKCCDqEZ9Q?=fox<-iV2B$Zd&ejr_KlhMUMv7rP-`sf!)A0t2Wc_E{93-_&0kn_9Z^ z>)?j@^mhX#BKC_t51dlZo@TyLzOR*!&!=QEiDI6JCpdnv6NP+7a8zB3qd;cEmmbig z{IyQ3zq+;q*OUUcQh=3{KUD3t%Z=7uy#4H73I#9oE>t5A9xLE?@uamM*qH~u*i~3-{&64jEoIGKja_+LQ%V0Z?&{Jv! z2b$|Q3vDHYXH}c6Ng>Id6e%;=>f57`Ax{;$H-YWS_54O@wqoF3?W@#VJd&%ck0T^7 zQIE9!yNujg{Z~i=9$B{C)Ix60@7TwOu`S3f3>W2^I@n-r%5%S$Tf%Bxm^z@52t3Gs z{@Awox$$bpTakh6trk@G-9!IAWMtV{o;wu+*f5+1dJAeF; zA2I0}R*i5rb?&K}N~hsk+Ma4oC(dElyGsAlkGyp8egNigCzMkhdtAMHB{A!+Xvz)h zQES&sy>}XMg~*19o6_^SJu7%)TOn#$2EhdW2N9unl$r?;P!iq&oL|OWD)i%ti*Z1hzZzR1a7Ju%vbI>?FTob|&5^&06C`Sp8|D0_^ zevb2nAK8ZYbK5nKsitQLSxIQ78I;6e0<*etm_l;;>~$_Bu^}POq@0*VJ<(Xrh_G%Q zfqKH&j?XG{_6C^=R~ZU@w`*U044fUJFVqdz&HkL`%7{%@tt*n}miy$mZp*+vKS5dJ zdj6yPm_Ep%b$YUddrz!2x5Ubrvt%N}t)|wy+lrUe|8N5K?jfNel;>YDsN%lsxb;1Y ziPV#cyQENj`BSWF=MO?zzRkv-kC8#d=SgVjH9?tgnC zkJxZ%a&qOC0*`Rml(R|i z6gqj*`@7gU*wox(V>htH`)zSC#k4HwFd^CQ9}q*KVWpDk5;N#j810Gu1#76q>I-Mr z%yUsc9PA~{&({~`1F-_|I|i9)-o$$IJ*wrwKX`KJnZ3-$HMKOM#I@FvKB4fQNWr;E z^4Z&|5SRP?ewH=@1xhKZ0k>_aJ6)8AavO7vE>Aj02SxlX)as%hzqvKSew3j4FB+IkUpc z_PzxOJ|@Beubwx4i=|_ed{V)3qt%1R<68$-X;QlV8qf6saF=PU_ip^$&=)!`AtNnA zuxr)3eklx+8^M3Yy11V-oPFjl$?x!E?~ebhRIKg!N5p`sZshLq>pS1}pE6vOUy7`b zSHyK`^puL--A69|0#`b-NVTu-to0+H#eY$`EN5QX+HJYRQE+5iY}|}=-MgvE$z*n4 zYL2OO)GMG+uIGxwknGS`ZEEY6m*aOwT7>l$qVBM^ALzc7|69Jmjg)xkras4RcJQ=_ zW2g1QU8kPKpX~dyZKtSp=Ps3cXE?Ejgo{c<$kWC(EegbD)=xL4t z+tL(MM~a&Mojl&8(!+)i7d1l>JTl=v9PTC#4?X0XyEd+UNS(FkHdq$74$FzHcC>1f zCeM2@=~MPl7Srd~E0bs6pF4QPJ4cv|FmB~mTG^Bo$E-9oFA}r9e{=LNM`&rG+UL{l zaP$yw&~tKfi;Jh1n<)dF&GZb3I@a&BNgpY}H&IU6Rhe8+mDKAbc`tJ{?n-<3(NiR) z=<@nQRmFZWzd?(nIK5C&=WYX z%E{=X;{Dw!jrz`d>#x@x0!B^O?maj^C)sxP^pRNrLs1wllJ9utO*0#WplcUar#|acO#6p>Rx4plFP*}pxxrYxL)J78v^pLVCaLC7`0 zlz{yr&9v0%9SE><7lxOD!#l9X57V9OAC)~k!^PTqbt$gSjKLv0lkvS|p#APPj`rEO zr{Uti245Wp7IIw}onfMm?e+*(sN{WnVRLWa{Yv&`N5b3p`N{%2Zuq7iHkYQ78Lr*) zPA@lQLnWTSTl~z8!zQ_UJ2m|AHKS} zmo~1iFIh@59?7@ldH($<*YHy)TA=j}G40P3vmS-Dn)64F@ZT>~B3MvwAvJJL%H~kg zRLqPO*7X{F_waAwKek<`P@c2nXm!!Tr8i{jS0DfOdrvy$TAdO?sB?@tk)4|j+0xAv zo2%<=`k8J&k2gLi(cOV|*B`}5jZPzfPs7H#WnI-MmI8f-6Z5pBzHux)+$<)c(`-@$|>8 zl4l3}{8#hM1LL;}+(rLZ{G6?5=)7`wY2h@*$~F=H7G;NUp;;YZ!H~!6UBo?&;}(eP zzHNJ+U5q~RZ2bD_ybv+Y3+{=&y`)+d#Xssfx34;B1d3w_{)_~)&F3gc&{_;bo zqq%1+GqUPUkF_liETgLeL;X2MoxRfDe%^Q5JXGycq(Q@LBldpg?=PW7XTyd>wJ^E; z!^D?j^C+8F_k9(gekx9mIn;jYozJ@#aK7O&b|s6G**B4!uQmyO`5x#OeaY#jhYDh_ z-7^1=2Lw&vLrIUSgWWRDg^0s7V-J;=v^vPU`Brl7(}+kN|J(k9Ii|}m9C0LOkMggR zWs#Xm9AF(R&TM%7Euf@&hA@0cU7J~tza~z_v8nb$C{&V8vO?{Vm6MKq*d2?^WO83)QX_EA69ms%m!k2Y%=HWP^_;a(qhGuVX!*ASVaJsnTh}-l5grYn}b5HxjMB+h-*P*L&f?!GgT~Y z!?2^{>g%A=Kk79ql<~KSH+-6xew=ZdrsH)eKL^Qs`p()^*N#&CIY4G8=P0@! zt?zH?B|U0pE%m223+eX=X|#H|)-sNyZ*bgIx)o2_=MYc+yTlJ&<^tck);#msL2-*K zb&^CraDUJvgx!p0PbuxbU3IXmSM zLu`LZ98zs3#}oc_P*xAYvveHxhSF^Oh>0@)T{nE??5Q-$#XkF{Et($plGEz%;bN)a zVi%k~NmbEt@^hxhNa`+JpQh>Y7+DD3PDT*e@TS$)8Bh%7NIZk`l}j}{Xk+oCDALWi zSr6R*A6SGT7V;s~C->MSCNIg8Z7ucFmRM55Ifyn3mL<4GN6Ou2gZl;=rqEAa&26io zAbMgzYY!WRReSz#j_MQ&Ys}^UDLeuv|Jxd>(YY`5+xY(JLIEgi`agG||4XDN#=BsD z;4gQd~{M&wZlhl!S;Mlkr$4B3?b3r z=G%YaQD26?S61mZ&^Vma2vU!H`_p?tN#mUGS4q@3^axYCWwv8SQWsjX_d*d*bo#H& zGkUZxZlbcc`yb)${5I<`P^J{HIK}hR+Nmb7BSNceIR>w3(=ii&+@1@}$+POXhFC)g z&wzjlq~dASHm7+h5Pd?qIL7wWYO*E}q$vRL)`ZNhMjc-H)NB0Wlo;J3}QIloBLcZLF`HeESZ;S5DrWT%N^+8V}$TN{~VKzi?esDA- zt{=tA2)}&_MgIc5XVKvV?7{<^kMk&@iE3(@sxagMJrBbI=Uq*_@M&ntA8=%ZA zfwHd<$8W}J%YQt8t-6L*8Yhs)Vp-2qP2$zBb?Fh6E7j6N67wE{V0{1>;&9EjMwqu zb`ek9&6*7?M?;AOY#DKaHi-a1pwb9~O#F#0);nzB)BNYKDd5VmP*@l*u!8%(e#O8b z+m^c}p_YJ68H5>2?uL(X1J8-blor=eW0VVHg|$N{-0y;~7PMY!QlSq8#0YbolOO-b zA2^*_&dtX<`Avy|1? z@V!F`&2(KuSIRSP_|$$k4RKc3;FA3C7rC+F6*J_X{)i!JMvKj7?>AybJIdvBYRi|r z<~;#iDR*u;!KsRXuo`L&4UGSCi~sQ||NFP)Kks@UEohmFF(^v<5f808=pLi#h`=nd zNt*I&^CPIQ!C_DH^DXW;-$mm#9?as;iG_s)bdVzNLk}0xn7r2L2BpTJA{a>xx^ zt(~-pKPhWfxIL7YZvs3Y_9RQdz67@eW{DzIn(WEbnrxw)lH-EeD(_ofKHr7zhO!(vIk`G) zNP%W)h`1_Sy@1xi6)QEEcY$UB|M*yH(N2>&(n%@SB&Q7$3o{rR2&)Q?aOXK}pq&Zh z+dtpBeH*q4za4SiRt}`sA+Xqi5&S;UgS~t8YU9Sz&^2IaGBWxjfEj9J{$u(%wMev= z@FyQ2M*tsX9z?Dn);O$2H$7pqfkN8WtI)-ZZ~gf*>D`=2J;<47pFdCsN+Wvf9x0^B zeP~yr-!`6QGTvD*fJK3s=hsl@PK^O|v8$OS$t$9M4_Jr?huc4)J(vS*f^-e@=xLaz zvFv{c~h#jn8U$N`Y9RrSaj|1#QCqv_I3T?Tr zmQW7YLc${Gj`#m~)jfR|0lPOzc*vD@f*b{CR|c@3z|jEoaK9J8QVlyAKsN}X^<5|n zCx1``WC?O^UD&U?bq#dfCrb$ZCe`T1xSago2mxQ+R2w*dhX)71Kw{g34c`*;XWu7z zN9d!I%28JAuP8)qF9T)ex`rCMs<298U1A%*efOmX0_6STn6Er(hj<`Wk6 zL!(p3G0n0`RU6y($;KLVNjFsG+2d`260W)r&qi`7>S|XrbTdJ~AQyjC_|Fxo65tOO z>M#wj3%y$z^cgMtb5ooWpQADO>+cVD08GW22*W{p5YO&ienIdsl^ z1VU!my*%7vVWhnHK&fH&#G#C0k#~uclYnE8b-h23xQgzTK6o&zgRFcNH}y{LbC=~! z+^%65#XJ=Ql8-%2P40xL$dulQWH$G-Zdc$PzuisG1{?k!H(`3oCa;}Jh>1~Cd0F3M z7Z^-~We(V8VMG5sk!!y>5g&+|_^Z1{hysrHe;#LSg98T*w8M0V$l$y5RNLGJ zx#@GjK>-nQH4q4(^ZnY~NbL2Iz&G0yyDq_GH+^@Wov|Wd*^qw*ww~kAEy-o{h^G-S zSA;qI=+*c3E%c7L&B!cawz4H~p`rwUBm%sZ=xFCCp|nBR844c9vmY=Ro*}^=JxK@V zPk}fk{u)vgdig@Yz!;FaS`8GdD4V#j;#$N^oFiB{*aR%x(ELiU+%9SL7Ms0xs^Sy> zHHw=N9(Ow}9ol(%ms^v5Fq$~ne4V^7a(ifcYVp!0DgL`3 zT7t#DK)XGVfbZ6!HdAwdR)!!Wya}7U3!&f^0&I)@N=*~~J7>-WJe&yM9(Qlg-KSVd zMz>u%f-k7h_2Q|?QoSF=#6lp`L};wPMmmv8c{{SXUVmRc0#@B!o2e=T(W8DaG#^M1{*yO5Q=&wgm ze#;4V5Bj%1T;QHo%obp9B>T4;BA3da%>E|TOz#+#^4HDg=J>Tuq?p~MEATBAU%}y* zq5JDj8{mBZuRrZj2wmb5{1_uJ!s?eG!Q$6)_pf_Y<5Qtyf(k5n&-v6@gUe$tyXq9W z2PlVwz6RID>JM})Fyk#u7YNKUh6~~S^(fhK+0!7K61mHJKUPrX`l{c`rbt~z;^UYY z`yE>s8q^sc&We|9SLb>E!><~u>!;cWg1dF3#g3-lEym2a2Jsjq#S}CiyWovzpAC=< z=rA1n{Q$#eadmXTI2m%o#5{_n)b{Oj|~b-&S=q?M+mzHL8JS{ zi(d)x1Hx&?P<#*fhFww~k=73BTu)^3cqTC9ZyXRXgKO%!h3g!kL6~1I>MgAp9E(@i z*5`j&6d^1~jz>Xuv?sr~XPnV(2HPk3OH%(v1~hFF)*}Nf}J7d;X-ZRjMx4tikEkU@zW(xZszb2M_Ph zc1g-+vzbe_vjliNeA^dY_H_$ETJudt@xtR4ex}$8!--pWyVsiUXoR42;}gYh>&})GZl;!NvaAPb6?6s zKBONvc%LuE{`;D;tPUDFd2%lmhL3J*aGO?&XU6e#KPz+9qI$SO@eICEAG6G>HOaw_H!-iH@s4%_#0uJW)HxX{t}~Ta zN=CUoe#w0F3ul$x+Ec-M*Kw8N)?h{CXV_`)#7iKdZHI&Mzn)1eJo#;tWCz(1&l0?5_lSHL6^E{h3wn zsVEn-da0_hInf+D<5#glxp>_F;Avst!8|7_#O$YC$v{E?(4yZM(4vo+>kG;139%g|c7hz4eUsc*`~7 z;A-l<9n)`vrNp1k#hHlyl?(jKsi&CB#yQ$~Dl06g1;!Pa*t$#~9Hn0u&n3G?Bw8qG z8n*jaV(~kG#jo~hN_vZpRZb1?T&ALEit%Q3%+hR&bKjCpxy9!~s7UMB68L96@Ha zEO|PEzc;o2mQugS$GswoU%7br=f7@{EK{3M#262KFmCIo&tYu;PfMJ32a>11vYp>g z?SI0j_v>_8;)J^NG0$w%n>eVu9AnY^^Bo(VMdppQ9#<4+MOB_TS8`7Vmzm3WLx6!Wuiyw5pEDj0{tpLvR5T0*v2@E(q8fSadM z8p>?+AkZRm4AMLx_ku1U_ft()@+{^(V}seXE}a%YHUI%a?;t9I!7FMydChM40x7BE zc>UQT;``)eHx2oz$jd4=5QR!Gr;`C46HQDb_Y-N}893j_W$ tgti>|-(=<$1o~eUQb0K2zl`t4*okV_ba3?P