From 8c0d246cb3cdaab2950664315d76d3c4e43ac9b1 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 23 Feb 2024 00:09:21 +0000 Subject: [PATCH] Update pkgdown documentation bcef4f9b0b243764b433bad92f3b66a5892344c0 --- v0.15.1/404.html | 131 + v0.15.1/CODE_OF_CONDUCT.html | 176 + v0.15.1/CONTRIBUTING.html | 227 + v0.15.1/LICENSE-text.html | 122 + v0.15.1/SECURITY.html | 131 + v0.15.1/analytics.js | 1 + .../adding-support-for-reporting.html | 522 + v0.15.1/articles/blueprint/actors.html | 262 + v0.15.1/articles/blueprint/dataflow.html | 194 + v0.15.1/articles/blueprint/filter_panel.html | 203 + v0.15.1/articles/blueprint/in_app_data.html | 173 + v0.15.1/articles/blueprint/index.html | 153 + v0.15.1/articles/blueprint/input_data.html | 209 + .../figure-html/teal_data_dot_diagram-1.png | Bin 0 -> 17563 bytes v0.15.1/articles/blueprint/intro.html | 215 + .../blueprint/module_encapsulation.html | 180 + v0.15.1/articles/blueprint/product_map.html | 222 + .../articles/bootstrap-themes-in-teal.html | 384 + v0.15.1/articles/creating-custom-modules.html | 340 + v0.15.1/articles/data-as-shiny-module.html | 304 + v0.15.1/articles/filter-panel.html | 282 + .../articles/getting-started-with-teal.html | 348 + v0.15.1/articles/images/bs-corners.png | Bin 0 -> 133220 bytes v0.15.1/articles/images/bs-final.png | Bin 0 -> 109110 bytes v0.15.1/articles/images/bs-font-size.png | Bin 0 -> 138446 bytes v0.15.1/articles/images/bs-launch.png | Bin 0 -> 113504 bytes v0.15.1/articles/images/bs-theme-set.png | Bin 0 -> 102940 bytes v0.15.1/articles/images/custom_app.png | Bin 0 -> 116254 bytes v0.15.1/articles/images/filters-mapping.svg | 1 + .../images/show_code_prepro_missing.png | Bin 0 -> 49689 bytes .../images/show_code_prepro_present.png | Bin 0 -> 48877 bytes .../images/teal-app-components-hover.svg | 1 + .../articles/images/teal-app-components.svg | 1 + .../including-data-in-teal-applications.html | 460 + v0.15.1/articles/index.html | 171 + v0.15.1/articles/teal-options.html | 315 + v0.15.1/authors.html | 202 + v0.15.1/consent.css | 28 + v0.15.1/consent.js | 95 + v0.15.1/cookie_policy.txt | 11 + .../bootstrap-5.3.1/bootstrap.bundle.min.js | 7 + .../bootstrap.bundle.min.js.map | 1 + .../deps/bootstrap-5.3.1/bootstrap.min.css | 5 + v0.15.1/deps/bootstrap-5.3.1/font.css | 124 + ...txg8zYS_SKggPN4iEgvnHyvveLxVs9pbCIPrc.woff | Bin 0 -> 27828 bytes ...txg8zYS_SKggPN4iEgvnHyvveLxVvaorCIPrc.woff | Bin 0 -> 27492 bytes .../1adeadb2fe618c5ed46221f15e12b9c8.woff | Bin 0 -> 46088 bytes .../fonts/4iCs6KVjbNBYlgo6ew.woff | Bin 0 -> 134032 bytes .../fonts/4iCs6KVjbNBYlgoKfw7w.woff | Bin 0 -> 39832 bytes .../fonts/4iCv6KVjbNBYlgoCxCvTtA.woff | Bin 0 -> 117140 bytes .../fonts/4iCv6KVjbNBYlgoCxCvjsGyL.woff | Bin 0 -> 34452 bytes .../6xK1dSBYKcSV-LCoeQqfX1RYOo3qPZ7nsDQ.woff | Bin 0 -> 17760 bytes .../6xK1dSBYKcSV-LCoeQqfX1RYOo3qPa7j.woff | Bin 0 -> 49156 bytes .../fonts/6xK3dSBYKcSV-LCoeQqfX1RYOo3aPA.woff | Bin 0 -> 74684 bytes .../6xK3dSBYKcSV-LCoeQqfX1RYOo3qOK7j.woff | Bin 0 -> 18420 bytes .../6xKydSBYKcSV-LCoeQqfX1RYOo3i54rAkw.woff | Bin 0 -> 74348 bytes .../6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vAkw.woff | Bin 0 -> 74332 bytes .../6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwlxdo.woff | Bin 0 -> 18388 bytes .../6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zAkw.woff | Bin 0 -> 74148 bytes .../6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwlxdo.woff | Bin 0 -> 18340 bytes .../fonts/CSR54z1Qlv-GDxkbKVQ_dFsvWNRevw.woff | Bin 0 -> 16724 bytes .../fonts/CSR54z1Qlv-GDxkbKVQ_dFsvaNA.woff | Bin 0 -> 29672 bytes .../fonts/CSR64z1Qlv-GDxkbKVQ_TOQ.woff | Bin 0 -> 75128 bytes .../fonts/CSR64z1Qlv-GDxkbKVQ_fOAKSw.woff | Bin 0 -> 16516 bytes ...xRpg3hIP6sJ7fM7PqPMcMnZFqUwX28DBKXhM0.woff | Bin 0 -> 55992 bytes ...xRpg3hIP6sJ7fM7PqPMcMnZFqUwX28DMyQhM0.woff | Bin 0 -> 56004 bytes ...g3hIP6sJ7fM7PqlOPHYvDP_W9O7GQTTbI1rSg.woff | Bin 0 -> 47720 bytes ...g3hIP6sJ7fM7PqlOPHYvDP_W9O7GQTTsoprSg.woff | Bin 0 -> 47924 bytes ...HjIg1_i6t8kCHKm4532VJOt5-QNFgpCtZ6Ew9.woff | Bin 0 -> 50580 bytes ...HjIg1_i6t8kCHKm4532VJOt5-QNFgpCtr6Ew9.woff | Bin 0 -> 50580 bytes ...HjIg1_i6t8kCHKm4532VJOt5-QNFgpCuM70w9.woff | Bin 0 -> 51108 bytes .../fonts/KFOlCnqEu92Fr1MmEU9fBBc-.woff | Bin 0 -> 20544 bytes .../fonts/KFOlCnqEu92Fr1MmEU9vAA.woff | Bin 0 -> 65756 bytes .../fonts/KFOlCnqEu92Fr1MmSU5fBBc-.woff | Bin 0 -> 20416 bytes .../fonts/KFOlCnqEu92Fr1MmSU5vAA.woff | Bin 0 -> 65164 bytes .../fonts/KFOlCnqEu92Fr1MmWUlfBBc-.woff | Bin 0 -> 20408 bytes .../fonts/KFOlCnqEu92Fr1MmWUlvAA.woff | Bin 0 -> 65556 bytes .../fonts/KFOmCnqEu92Fr1Me5g.woff | Bin 0 -> 65456 bytes .../fonts/KFOmCnqEu92Fr1Mu4mxM.woff | Bin 0 -> 20344 bytes .../fonts/QGYpz_kZZAGCONcK2A4bGOj8mNhL.woff | Bin 0 -> 89776 bytes .../fonts/S6u8w4BMUTPHjxsAXC-s.woff | Bin 0 -> 29864 bytes .../fonts/S6u8w4BMUTPHjxswWA.woff | Bin 0 -> 35436 bytes .../fonts/S6u9w4BMUTPHh6UVSwiPHw.woff | Bin 0 -> 28044 bytes .../fonts/S6u9w4BMUTPHh6UVeww.woff | Bin 0 -> 33296 bytes .../fonts/S6u9w4BMUTPHh7USSwiPHw.woff | Bin 0 -> 30016 bytes .../fonts/S6u9w4BMUTPHh7USeww.woff | Bin 0 -> 35168 bytes .../fonts/S6uyw4BMUTPHjx4wWA.woff | Bin 0 -> 28648 bytes .../fonts/S6uyw4BMUTPHvxo.woff | Bin 0 -> 34020 bytes ...HuS_fvQtMwCp50KnMw2boKoduKmMEVuFuYMZs.woff | Bin 0 -> 138900 bytes ...HuS_fvQtMwCp50KnMw2boKoduKmMEVuI6fMZs.woff | Bin 0 -> 137508 bytes ...HuS_fvQtMwCp50KnMw2boKoduKmMEVuLyfMZs.woff | Bin 0 -> 128192 bytes .../XRXI3I6Li01BKofiOc5wtlZ2di8HDFwmRTA.woff | Bin 0 -> 53216 bytes .../XRXI3I6Li01BKofiOc5wtlZ2di8HDGUmRTA.woff | Bin 0 -> 54196 bytes .../XRXI3I6Li01BKofiOc5wtlZ2di8HDLshRTA.woff | Bin 0 -> 53856 bytes .../a98f7a7574819ba83bec6279a2cecd95.woff | Bin 0 -> 45884 bytes ...cVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk0ZjaVQ.woff | Bin 0 -> 72136 bytes ...SCEkx2cmqvXlWq8tWZ0Pw86hd0Rk5hkWVAexg.woff | Bin 0 -> 23636 bytes ...cVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk5hkaVQ.woff | Bin 0 -> 74700 bytes ...SCEkx2cmqvXlWq8tWZ0Pw86hd0Rk8ZkWVAexg.woff | Bin 0 -> 23576 bytes ...cVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk8ZkaVQ.woff | Bin 0 -> 74564 bytes ...cVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk_RkaVQ.woff | Bin 0 -> 74940 bytes ...cVXSCEkx2cmqvXlWq8tWZ0Pw86hd0RkxhjaVQ.woff | Bin 0 -> 74644 bytes ...SCEkx2cmqvXlWq8tWZ0Pw86hd0RkyFjWVAexg.woff | Bin 0 -> 22964 bytes ...cVXSCEkx2cmqvXlWq8tWZ0Pw86hd0RkyFjaVQ.woff | Bin 0 -> 71660 bytes ...X2vVnXBbObj2OVZyOOSr4dVJWUgsg-1x4gaVQ.woff | Bin 0 -> 22332 bytes ...vWbX2vVnXBbObj2OVZyOOSr4dVJWUgsg-1y4k.woff | Bin 0 -> 68664 bytes ...vWbX2vVnXBbObj2OVZyOOSr4dVJWUgsgH1y4k.woff | Bin 0 -> 70652 bytes ...vWbX2vVnXBbObj2OVZyOOSr4dVJWUgshZ1y4k.woff | Bin 0 -> 69392 bytes ...X2vVnXBbObj2OVZyOOSr4dVJWUgsiH0B4gaVQ.woff | Bin 0 -> 22940 bytes ...vWbX2vVnXBbObj2OVZyOOSr4dVJWUgsiH0C4k.woff | Bin 0 -> 70524 bytes ...X2vVnXBbObj2OVZyOOSr4dVJWUgsjZ0B4gaVQ.woff | Bin 0 -> 22908 bytes ...vWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjZ0C4k.woff | Bin 0 -> 70792 bytes ...vWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjr0C4k.woff | Bin 0 -> 71144 bytes .../fonts/q5uGsou0JOdh94bfvQlr.woff | Bin 0 -> 31584 bytes v0.15.1/deps/data-deps.txt | 4 + v0.15.1/deps/jquery-3.6.0/jquery-3.6.0.js | 10881 ++++++++++++++++ v0.15.1/deps/jquery-3.6.0/jquery-3.6.0.min.js | 2 + .../deps/jquery-3.6.0/jquery-3.6.0.min.map | 1 + v0.15.1/index.html | 329 + v0.15.1/link.svg | 12 + v0.15.1/news/index.html | 627 + v0.15.1/pkgdown.js | 156 + v0.15.1/pkgdown.yml | 26 + v0.15.1/pull_request_template.html | 113 + v0.15.1/reference/Rplot001.png | Bin 0 -> 1011 bytes v0.15.1/reference/TealReportCard.html | 280 + v0.15.1/reference/TealSlicesBlock.html | 242 + v0.15.1/reference/append_module.html | 135 + v0.15.1/reference/build_app_title.html | 140 + v0.15.1/reference/calculate_hashes.html | 135 + v0.15.1/reference/check_filter_datanames.html | 138 + .../reference/check_modules_datanames.html | 138 + v0.15.1/reference/create_app_id.html | 141 + v0.15.1/reference/deep_copy_filter.html | 142 + v0.15.1/reference/dot-datasets_to_data.html | 141 + v0.15.1/reference/example_module.html | 151 + .../figures/filter_state_reactivity.jpg | Bin 0 -> 62773 bytes v0.15.1/reference/figures/filterpanel.png | Bin 0 -> 116824 bytes .../reference/figures/lifecycle-archived.svg | 1 + .../reference/figures/lifecycle-defunct.svg | 1 + .../figures/lifecycle-deprecated.svg | 1 + .../figures/lifecycle-experimental.svg | 1 + .../reference/figures/lifecycle-maturing.svg | 1 + .../figures/lifecycle-questioning.svg | 1 + .../figures/lifecycle-soft-deprecated.svg | 1 + .../reference/figures/lifecycle-stable.svg | 1 + .../figures/lifecycle-superseded.svg | 1 + .../reference/figures/module_nested_tabs.jpg | Bin 0 -> 33648 bytes v0.15.1/reference/figures/notification.jpg | Bin 0 -> 288712 bytes v0.15.1/reference/figures/readme_app.webp | Bin 0 -> 786974 bytes v0.15.1/reference/figures/reporter.jpg | Bin 0 -> 207761 bytes v0.15.1/reference/figures/showrcode.jpg | Bin 0 -> 278194 bytes v0.15.1/reference/figures/teal.png | Bin 0 -> 79859 bytes .../reference/filter_manager_module_srv.html | 153 + v0.15.1/reference/get_client_timezone.html | 136 + v0.15.1/reference/get_code_tdata.html | 131 + v0.15.1/reference/get_datasets_code.html | 141 + v0.15.1/reference/get_metadata.html | 141 + v0.15.1/reference/get_rcode_libraries.html | 125 + v0.15.1/reference/include_css_files.html | 137 + v0.15.1/reference/include_js_files.html | 141 + v0.15.1/reference/include_teal_css_js.html | 141 + v0.15.1/reference/index.html | 320 + v0.15.1/reference/init.html | 241 + v0.15.1/reference/is_arg_used.html | 135 + v0.15.1/reference/join_keys.tdata.html | 130 + v0.15.1/reference/landing_popup_module.html | 202 + v0.15.1/reference/matrix_to_mapping.html | 141 + v0.15.1/reference/module_filter_manager.html | 154 + .../module_filter_manager_modal.html | 141 + v0.15.1/reference/module_labels.html | 132 + v0.15.1/reference/module_management.html | 141 + v0.15.1/reference/module_nested_tabs.html | 225 + .../reference/module_tabs_with_filters.html | 176 + v0.15.1/reference/module_teal.html | 199 + .../reference/module_teal_with_splash.html | 212 + v0.15.1/reference/modules_depth.html | 142 + v0.15.1/reference/reexports.html | 145 + v0.15.1/reference/report_card_template.html | 157 + .../reference/reporter_previewer_module.html | 155 + .../reference/resolve_modules_datanames.html | 142 + v0.15.1/reference/run_js_files.html | 146 + v0.15.1/reference/show_rcode_modal.html | 143 + v0.15.1/reference/slices_store.html | 158 + .../reference/snapshot_manager_module.html | 219 + v0.15.1/reference/tdata.html | 353 + v0.15.1/reference/tdata2env.html | 144 + v0.15.1/reference/tdata_deprecation.html | 191 + v0.15.1/reference/teal-package.html | 151 + v0.15.1/reference/teal_data_datanames.html | 136 + v0.15.1/reference/teal_data_module.html | 325 + .../reference/teal_data_to_filtered_data.html | 135 + v0.15.1/reference/teal_modules.html | 297 + v0.15.1/reference/teal_slices.html | 244 + v0.15.1/reference/unfold_mapping.html | 135 + v0.15.1/reference/validate_app_title_tag.html | 125 + v0.15.1/reference/validate_has_data.html | 180 + v0.15.1/reference/validate_has_elements.html | 168 + v0.15.1/reference/validate_has_variable.html | 164 + v0.15.1/reference/validate_in.html | 162 + v0.15.1/reference/validate_inputs.html | 233 + v0.15.1/reference/validate_n_levels.html | 180 + .../reference/validate_no_intersection.html | 177 + .../reference/validate_one_row_per_id.html | 160 + v0.15.1/search.json | 1 + v0.15.1/sitemap.xml | 270 + 206 files changed, 29277 insertions(+) create mode 100644 v0.15.1/404.html create mode 100644 v0.15.1/CODE_OF_CONDUCT.html create mode 100644 v0.15.1/CONTRIBUTING.html create mode 100644 v0.15.1/LICENSE-text.html create mode 100644 v0.15.1/SECURITY.html create mode 100644 v0.15.1/analytics.js create mode 100644 v0.15.1/articles/adding-support-for-reporting.html create mode 100644 v0.15.1/articles/blueprint/actors.html create mode 100644 v0.15.1/articles/blueprint/dataflow.html create mode 100644 v0.15.1/articles/blueprint/filter_panel.html create mode 100644 v0.15.1/articles/blueprint/in_app_data.html create mode 100644 v0.15.1/articles/blueprint/index.html create mode 100644 v0.15.1/articles/blueprint/input_data.html create mode 100644 v0.15.1/articles/blueprint/input_data_files/figure-html/teal_data_dot_diagram-1.png create mode 100644 v0.15.1/articles/blueprint/intro.html create mode 100644 v0.15.1/articles/blueprint/module_encapsulation.html create mode 100644 v0.15.1/articles/blueprint/product_map.html create mode 100644 v0.15.1/articles/bootstrap-themes-in-teal.html create mode 100644 v0.15.1/articles/creating-custom-modules.html create mode 100644 v0.15.1/articles/data-as-shiny-module.html create mode 100644 v0.15.1/articles/filter-panel.html create mode 100644 v0.15.1/articles/getting-started-with-teal.html create mode 100644 v0.15.1/articles/images/bs-corners.png create mode 100644 v0.15.1/articles/images/bs-final.png create mode 100644 v0.15.1/articles/images/bs-font-size.png create mode 100644 v0.15.1/articles/images/bs-launch.png create mode 100644 v0.15.1/articles/images/bs-theme-set.png create mode 100644 v0.15.1/articles/images/custom_app.png create mode 100644 v0.15.1/articles/images/filters-mapping.svg create mode 100644 v0.15.1/articles/images/show_code_prepro_missing.png create mode 100644 v0.15.1/articles/images/show_code_prepro_present.png create mode 100644 v0.15.1/articles/images/teal-app-components-hover.svg create mode 100644 v0.15.1/articles/images/teal-app-components.svg create mode 100644 v0.15.1/articles/including-data-in-teal-applications.html create mode 100644 v0.15.1/articles/index.html create mode 100644 v0.15.1/articles/teal-options.html create mode 100644 v0.15.1/authors.html create mode 100644 v0.15.1/consent.css create mode 100644 v0.15.1/consent.js create mode 100644 v0.15.1/cookie_policy.txt create mode 100644 v0.15.1/deps/bootstrap-5.3.1/bootstrap.bundle.min.js create mode 100644 v0.15.1/deps/bootstrap-5.3.1/bootstrap.bundle.min.js.map create mode 100644 v0.15.1/deps/bootstrap-5.3.1/bootstrap.min.css create mode 100644 v0.15.1/deps/bootstrap-5.3.1/font.css create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVs9pbCIPrc.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCIPrc.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/1adeadb2fe618c5ed46221f15e12b9c8.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/4iCs6KVjbNBYlgo6ew.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/4iCs6KVjbNBYlgoKfw7w.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/4iCv6KVjbNBYlgoCxCvTtA.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/4iCv6KVjbNBYlgoCxCvjsGyL.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/6xK1dSBYKcSV-LCoeQqfX1RYOo3qPZ7nsDQ.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/6xK1dSBYKcSV-LCoeQqfX1RYOo3qPa7j.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/6xK3dSBYKcSV-LCoeQqfX1RYOo3aPA.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/6xK3dSBYKcSV-LCoeQqfX1RYOo3qOK7j.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rAkw.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vAkw.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwlxdo.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zAkw.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwlxdo.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/CSR54z1Qlv-GDxkbKVQ_dFsvWNRevw.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/CSR54z1Qlv-GDxkbKVQ_dFsvaNA.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/CSR64z1Qlv-GDxkbKVQ_TOQ.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/CSR64z1Qlv-GDxkbKVQ_fOAKSw.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/HI_diYsKILxRpg3hIP6sJ7fM7PqPMcMnZFqUwX28DBKXhM0.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/HI_diYsKILxRpg3hIP6sJ7fM7PqPMcMnZFqUwX28DMyQhM0.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/HI_jiYsKILxRpg3hIP6sJ7fM7PqlOPHYvDP_W9O7GQTTbI1rSg.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/HI_jiYsKILxRpg3hIP6sJ7fM7PqlOPHYvDP_W9O7GQTTsoprSg.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCtZ6Ew9.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCtr6Ew9.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCuM70w9.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmEU9fBBc-.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmEU9vAA.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmSU5fBBc-.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmSU5vAA.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmWUlfBBc-.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmWUlvAA.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/KFOmCnqEu92Fr1Me5g.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/KFOmCnqEu92Fr1Mu4mxM.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/QGYpz_kZZAGCONcK2A4bGOj8mNhL.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/S6u8w4BMUTPHjxsAXC-s.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/S6u8w4BMUTPHjxswWA.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/S6u9w4BMUTPHh6UVSwiPHw.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/S6u9w4BMUTPHh6UVeww.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/S6u9w4BMUTPHh7USSwiPHw.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/S6u9w4BMUTPHh7USeww.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/S6uyw4BMUTPHjx4wWA.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/S6uyw4BMUTPHvxo.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuFuYMZs.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuI6fMZs.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuLyfMZs.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/XRXI3I6Li01BKofiOc5wtlZ2di8HDFwmRTA.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/XRXI3I6Li01BKofiOc5wtlZ2di8HDGUmRTA.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/XRXI3I6Li01BKofiOc5wtlZ2di8HDLshRTA.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/a98f7a7574819ba83bec6279a2cecd95.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk0ZjaVQ.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk5hkWVAexg.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk5hkaVQ.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk8ZkWVAexg.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk8ZkaVQ.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk_RkaVQ.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0RkxhjaVQ.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0RkyFjWVAexg.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0RkyFjaVQ.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsg-1x4gaVQ.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsg-1y4k.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsgH1y4k.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgshZ1y4k.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsiH0B4gaVQ.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsiH0C4k.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjZ0B4gaVQ.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjZ0C4k.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjr0C4k.woff create mode 100644 v0.15.1/deps/bootstrap-5.3.1/fonts/q5uGsou0JOdh94bfvQlr.woff create mode 100644 v0.15.1/deps/data-deps.txt create mode 100644 v0.15.1/deps/jquery-3.6.0/jquery-3.6.0.js create mode 100644 v0.15.1/deps/jquery-3.6.0/jquery-3.6.0.min.js create mode 100644 v0.15.1/deps/jquery-3.6.0/jquery-3.6.0.min.map create mode 100644 v0.15.1/index.html create mode 100644 v0.15.1/link.svg create mode 100644 v0.15.1/news/index.html create mode 100644 v0.15.1/pkgdown.js create mode 100644 v0.15.1/pkgdown.yml create mode 100644 v0.15.1/pull_request_template.html create mode 100644 v0.15.1/reference/Rplot001.png create mode 100644 v0.15.1/reference/TealReportCard.html create mode 100644 v0.15.1/reference/TealSlicesBlock.html create mode 100644 v0.15.1/reference/append_module.html create mode 100644 v0.15.1/reference/build_app_title.html create mode 100644 v0.15.1/reference/calculate_hashes.html create mode 100644 v0.15.1/reference/check_filter_datanames.html create mode 100644 v0.15.1/reference/check_modules_datanames.html create mode 100644 v0.15.1/reference/create_app_id.html create mode 100644 v0.15.1/reference/deep_copy_filter.html create mode 100644 v0.15.1/reference/dot-datasets_to_data.html create mode 100644 v0.15.1/reference/example_module.html create mode 100644 v0.15.1/reference/figures/filter_state_reactivity.jpg create mode 100644 v0.15.1/reference/figures/filterpanel.png create mode 100644 v0.15.1/reference/figures/lifecycle-archived.svg create mode 100644 v0.15.1/reference/figures/lifecycle-defunct.svg create mode 100644 v0.15.1/reference/figures/lifecycle-deprecated.svg create mode 100644 v0.15.1/reference/figures/lifecycle-experimental.svg create mode 100644 v0.15.1/reference/figures/lifecycle-maturing.svg create mode 100644 v0.15.1/reference/figures/lifecycle-questioning.svg create mode 100644 v0.15.1/reference/figures/lifecycle-soft-deprecated.svg create mode 100644 v0.15.1/reference/figures/lifecycle-stable.svg create mode 100644 v0.15.1/reference/figures/lifecycle-superseded.svg create mode 100644 v0.15.1/reference/figures/module_nested_tabs.jpg create mode 100644 v0.15.1/reference/figures/notification.jpg create mode 100644 v0.15.1/reference/figures/readme_app.webp create mode 100644 v0.15.1/reference/figures/reporter.jpg create mode 100644 v0.15.1/reference/figures/showrcode.jpg create mode 100644 v0.15.1/reference/figures/teal.png create mode 100644 v0.15.1/reference/filter_manager_module_srv.html create mode 100644 v0.15.1/reference/get_client_timezone.html create mode 100644 v0.15.1/reference/get_code_tdata.html create mode 100644 v0.15.1/reference/get_datasets_code.html create mode 100644 v0.15.1/reference/get_metadata.html create mode 100644 v0.15.1/reference/get_rcode_libraries.html create mode 100644 v0.15.1/reference/include_css_files.html create mode 100644 v0.15.1/reference/include_js_files.html create mode 100644 v0.15.1/reference/include_teal_css_js.html create mode 100644 v0.15.1/reference/index.html create mode 100644 v0.15.1/reference/init.html create mode 100644 v0.15.1/reference/is_arg_used.html create mode 100644 v0.15.1/reference/join_keys.tdata.html create mode 100644 v0.15.1/reference/landing_popup_module.html create mode 100644 v0.15.1/reference/matrix_to_mapping.html create mode 100644 v0.15.1/reference/module_filter_manager.html create mode 100644 v0.15.1/reference/module_filter_manager_modal.html create mode 100644 v0.15.1/reference/module_labels.html create mode 100644 v0.15.1/reference/module_management.html create mode 100644 v0.15.1/reference/module_nested_tabs.html create mode 100644 v0.15.1/reference/module_tabs_with_filters.html create mode 100644 v0.15.1/reference/module_teal.html create mode 100644 v0.15.1/reference/module_teal_with_splash.html create mode 100644 v0.15.1/reference/modules_depth.html create mode 100644 v0.15.1/reference/reexports.html create mode 100644 v0.15.1/reference/report_card_template.html create mode 100644 v0.15.1/reference/reporter_previewer_module.html create mode 100644 v0.15.1/reference/resolve_modules_datanames.html create mode 100644 v0.15.1/reference/run_js_files.html create mode 100644 v0.15.1/reference/show_rcode_modal.html create mode 100644 v0.15.1/reference/slices_store.html create mode 100644 v0.15.1/reference/snapshot_manager_module.html create mode 100644 v0.15.1/reference/tdata.html create mode 100644 v0.15.1/reference/tdata2env.html create mode 100644 v0.15.1/reference/tdata_deprecation.html create mode 100644 v0.15.1/reference/teal-package.html create mode 100644 v0.15.1/reference/teal_data_datanames.html create mode 100644 v0.15.1/reference/teal_data_module.html create mode 100644 v0.15.1/reference/teal_data_to_filtered_data.html create mode 100644 v0.15.1/reference/teal_modules.html create mode 100644 v0.15.1/reference/teal_slices.html create mode 100644 v0.15.1/reference/unfold_mapping.html create mode 100644 v0.15.1/reference/validate_app_title_tag.html create mode 100644 v0.15.1/reference/validate_has_data.html create mode 100644 v0.15.1/reference/validate_has_elements.html create mode 100644 v0.15.1/reference/validate_has_variable.html create mode 100644 v0.15.1/reference/validate_in.html create mode 100644 v0.15.1/reference/validate_inputs.html create mode 100644 v0.15.1/reference/validate_n_levels.html create mode 100644 v0.15.1/reference/validate_no_intersection.html create mode 100644 v0.15.1/reference/validate_one_row_per_id.html create mode 100644 v0.15.1/search.json create mode 100644 v0.15.1/sitemap.xml diff --git a/v0.15.1/404.html b/v0.15.1/404.html new file mode 100644 index 0000000000..fddd97ccd4 --- /dev/null +++ b/v0.15.1/404.html @@ -0,0 +1,131 @@ + + + + + + + +Page not found (404) • teal + + + + + + + + + + Skip to contents + + +
+
+
+ +Content not found. Please use links in the navbar. + +
+
+ + + +
+ + + + + + + diff --git a/v0.15.1/CODE_OF_CONDUCT.html b/v0.15.1/CODE_OF_CONDUCT.html new file mode 100644 index 0000000000..188b0b5e24 --- /dev/null +++ b/v0.15.1/CODE_OF_CONDUCT.html @@ -0,0 +1,176 @@ + +Contributor Covenant Code of Conduct • teal + Skip to contents + + +
+
+
+ +
+ +
+

Our Pledge

+

We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, caste, color, religion, or sexual identity and orientation.

+

We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.

+
+
+

Our Standards

+

Examples of behavior that contributes to a positive environment for our community include:

+
  • Demonstrating empathy and kindness toward other people
  • +
  • Being respectful of differing opinions, viewpoints, and experiences
  • +
  • Giving and gracefully accepting constructive feedback
  • +
  • Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience
  • +
  • Focusing on what is best not just for us as individuals, but for the overall community
  • +

Examples of unacceptable behavior include:

+
  • The use of sexualized language or imagery, and sexual attention or advances of any kind
  • +
  • Trolling, insulting or derogatory comments, and personal or political attacks
  • +
  • Public or private harassment
  • +
  • Publishing others’ private information, such as a physical or email address, without their explicit permission
  • +
  • Other conduct which could reasonably be considered inappropriate in a professional setting
  • +
+
+

Enforcement Responsibilities

+

Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful.

+

Community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and will communicate reasons for moderation decisions when appropriate.

+
+
+

Scope

+

This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event.

+
+
+

Enforcement

+

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at [INSERT CONTACT METHOD]. All complaints will be reviewed and investigated promptly and fairly.

+

All community leaders are obligated to respect the privacy and security of the reporter of any incident.

+
+
+

Enforcement Guidelines

+

Community leaders will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct:

+
+

1. Correction

+

Community Impact: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community.

+

Consequence: A private, written warning from community leaders, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public apology may be requested.

+
+
+

2. Warning

+

Community Impact: A violation through a single incident or series of actions.

+

Consequence: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban.

+
+
+

3. Temporary Ban

+

Community Impact: A serious violation of community standards, including sustained inappropriate behavior.

+

Consequence: A temporary ban from any sort of interaction or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban.

+
+
+

4. Permanent Ban

+

Community Impact: Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals.

+

Consequence: A permanent ban from any sort of public interaction within the community.

+
+
+
+

Attribution

+

This Code of Conduct is adapted from the Contributor Covenant, version 2.1, available at https://www.contributor-covenant.org/version/2/1/code_of_conduct.html.

+

Community Impact Guidelines were inspired by Mozilla’s code of conduct enforcement ladder.

+

For answers to common questions about this code of conduct, see the FAQ at https://www.contributor-covenant.org/faq. Translations are available at https://www.contributor-covenant.org/translations.

+
+
+ +
+ + +
+ + + + + + + diff --git a/v0.15.1/CONTRIBUTING.html b/v0.15.1/CONTRIBUTING.html new file mode 100644 index 0000000000..002945cb53 --- /dev/null +++ b/v0.15.1/CONTRIBUTING.html @@ -0,0 +1,227 @@ + +Contribution Guidelines • teal + Skip to contents + + +
+
+
+ +
+ +

🙏 Thank you for taking the time to contribute!

+

Your input is deeply valued, whether an issue, a pull request, or even feedback, regardless of size, content or scope.

+ +
+

Getting started

+

Please refer the project documentation for a brief introduction. Please also see other articles within the project documentation for additional information.

+
+
+

Code of Conduct

+

A Code of Conduct governs this project. Participants and contributors are expected to follow the rules outlined therein.

+
+
+

License

+

All your contributions will be covered by this project’s license.

+
+
+

Issues

+

We use GitHub to track issues, feature requests, and bugs. Before submitting a new issue, please check if the issue has already been reported. If the issue already exists, please upvote the existing issue 👍.

+

For new feature requests, please elaborate on the context and the benefit the feature will have for users, developers, or other relevant personas.

+
+
+

Pull requests

+
+

GitHub Flow

+

This repository uses the GitHub Flow model for collaboration. To submit a pull request:

+
  1. +

    Create a branch

    +

    Please see the branch naming convention below. If you don’t have write access to this repository, please fork it.

    +
  2. +
  3. +

    Make changes

    +

    Make sure your code

    +
    • passes all checks imposed by GitHub Actions
    • +
    • is well documented
    • +
    • is well tested with unit tests sufficiently covering the changes introduced
    • +
  4. +
  5. +

    Create a pull request (PR)

    +

    In the pull request description, please link the relevant issue (if any), provide a detailed description of the change, and include any assumptions.

    +
  6. +
  7. Address review comments, if any

  8. +
  9. +

    Post approval

    +

    Merge your PR if you have write access. Otherwise, the reviewer will merge the PR on your behalf.

    +
  10. +
  11. +

    Pat yourself on the back

    +

    Congratulations! 🎉 You are now an official contributor to this project! We are grateful for your contribution.

    +
  12. +
+
+

Branch naming convention

+

Suppose your changes are related to a current issue in the current project; please name your branch as follows: <issue_id>_<short_description>. Please use underscore (_) as a delimiter for word separation. For example, 420_fix_ui_bug would be a suitable branch name if your change is resolving and UI-related bug reported in issue number 420 in the current project.

+

If your change affects multiple repositories, please name your branches as follows: <issue_id>_<issue_repo>_<short description>. For example, 69_awesomeproject_fix_spelling_error would reference issue 69 reported in project awesomeproject and aims to resolve one or more spelling errors in multiple (likely related) repositories.

+
+
+

+monorepo and staged.dependencies +

+

Sometimes you might need to change upstream dependent package(s) to be able to submit a meaningful change. We are using staged.dependencies functionality to simulate a monorepo behavior. The dependency configuration is already specified in this project’s staged_dependencies.yaml file. You need to name the feature branches appropriately. This is the only exception from the branch naming convention described above.

+

Please refer to the staged.dependencies package documentation for more details.

+
+
+
+

Coding guidelines

+

This repository follows some unified processes and standards adopted by its maintainers to ensure software development is carried out consistently within teams and cohesively across other repositories.

+
+

Style guide

+

This repository follows the standard tidyverse style guide and uses lintr for lint checks. Customized lint configurations are available in this repository’s .lintr file.

+
+
+

Dependency management

+

Lightweight is the right weight. This repository follows tinyverse recommedations of limiting dependencies to minimum.

+
+
+

Dependency version management

+

If the code is not compatible with all (!) historical versions of a given dependenct package, it is required to specify minimal version in the DESCRIPTION file. In particular: if the development version requires (imports) the development version of another package - it is required to put abc (>= 1.2.3.9000).

+
+
+ +
+

R & package versions

+

We continuously test our packages against the newest R version along with the most recent dependencies from CRAN and BioConductor. We recommend that your working environment is also set up in the same way. You can find the details about the R version and packages used in the R CMD check GitHub Action execution log - there is a step that prints out the R sessionInfo().

+

If you discover bugs on older R versions or with an older set of dependencies, please create the relevant bug reports.

+
+
+

pre-commit

+

We highly recommend that you use the pre-commit tool combined with R hooks for pre-commit to execute some of the checks before committing and pushing your changes.

+

Pre-commit hooks are already available in this repository’s .pre-commit-config.yaml file.

+
+
+
+
+

Recognition model

+

As mentioned previously, all contributions are deeply valued and appreciated. While all contribution data is available as part of the repository insights, to recognize a significant contribution and hence add the contributor to the package authors list, the following rules are enforced:

+
  • Minimum 5% of lines of code authored* (determined by git blame query) OR
  • +
  • Being at the top 5 contributors in terms of number of commits OR lines added OR lines removed*
  • +

*Excluding auto-generated code, including but not limited to roxygen comments or renv.lock files.

+

The package maintainer also reserves the right to adjust the criteria to recognize contributions.

+
+
+

Questions

+

If you have further questions regarding the contribution guidelines, please contact the package/repository maintainer.

+ +
+
+ +
+ + +
+ + + + + + + diff --git a/v0.15.1/LICENSE-text.html b/v0.15.1/LICENSE-text.html new file mode 100644 index 0000000000..c52341b759 --- /dev/null +++ b/v0.15.1/LICENSE-text.html @@ -0,0 +1,122 @@ + +License • teal + Skip to contents + + +
+
+
+ +
Copyright 2022 F. Hoffmann-La Roche AG
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+ +
+ + +
+ + + + + + + diff --git a/v0.15.1/SECURITY.html b/v0.15.1/SECURITY.html new file mode 100644 index 0000000000..5a8b1696be --- /dev/null +++ b/v0.15.1/SECURITY.html @@ -0,0 +1,131 @@ + +Security Policy • teal + Skip to contents + + +
+
+
+ +
+ +
+

Reporting Security Issues

+

If you believe you have found a security vulnerability in any of the repositories in this organization, please report it to us through coordinated disclosure.

+

Please do not report security vulnerabilities through public GitHub issues, discussions, or pull requests.

+

Instead, please send an email to vulnerability.management[@]roche.com.

+

Please include as much of the information listed below as you can to help us better understand and resolve the issue:

+
  • The type of issue (e.g., buffer overflow, SQL injection, or cross-site scripting)
  • +
  • Full paths of source file(s) related to the manifestation of the issue
  • +
  • The location of the affected source code (tag/branch/commit or direct URL)
  • +
  • Any special configuration required to reproduce the issue
  • +
  • Step-by-step instructions to reproduce the issue
  • +
  • Proof-of-concept or exploit code (if possible)
  • +
  • Impact of the issue, including how an attacker might exploit the issue
  • +

This information will help us triage your report more quickly.

+
+
+

Data Security Standards (DSS)

+

Please make sure that while reporting issues in the form a bug, feature, or pull request, all sensitive information such as PII, PHI, and PCI is completely removed from any text and attachments, including pictures and videos.

+
+
+ +
+ + +
+ + + + + + + diff --git a/v0.15.1/analytics.js b/v0.15.1/analytics.js new file mode 100644 index 0000000000..9d4ec4d0a8 --- /dev/null +++ b/v0.15.1/analytics.js @@ -0,0 +1 @@ +$(document).cookieWall({id:'UA-125641273-1'}); diff --git a/v0.15.1/articles/adding-support-for-reporting.html b/v0.15.1/articles/adding-support-for-reporting.html new file mode 100644 index 0000000000..06d666786c --- /dev/null +++ b/v0.15.1/articles/adding-support-for-reporting.html @@ -0,0 +1,522 @@ + + + + + + + + +Adding Support for Reporting to Custom Modules • teal + + + + + + + + + + + Skip to contents + + +
+ + + + +
+
+ + + +
+

Introduction +

+

The teal package offers an integrated reporting feature +utilizing the teal.reporter package. For a comprehensive +explanation of the reporting functionality itself, please refer to the +documentation therein.

+

This article is intended for module developers and aims to provide +guidance on enhancing a custom teal module with an +automatic reporting feature. This enhancement enables users to +incorporate snapshots of the module outputs into a report which can then +be reviewed in another module automatically provided by +teal. Thus the app user can interact with the report.

+

The responsibilities of a module developer include:

+
    +
  • Adding support for reporting to their module.
  • +
  • Specifying the outputs that constitute a snapshot of their +module.
  • +
+

The entire life cycle of objects involved in creating the report and +configuring the module to preview the report is handled by +teal.

+
+
+

Custom module +

+

Let us consider an example module, based on the example module from +teal:

+
+library(teal)
+example_module <- function(label = "example teal module") {
+  module(
+    label = label,
+    server = function(id, data) {
+      checkmate::assert_class(data, "reactive")
+      checkmate::assert_class(isolate(data()), "teal_data")
+
+      moduleServer(id, function(input, output, session) {
+        updateSelectInput(session, "dataname", choices = isolate(datanames(data())))
+        output$dataset <- renderPrint({
+          req(input$dataname)
+          data()[[input$dataname]]
+        })
+      })
+    },
+    ui = function(id) {
+      ns <- NS(id)
+      sidebarLayout(
+        sidebarPanel(selectInput(ns("dataname"), "Choose a dataset", choices = NULL)),
+        mainPanel(verbatimTextOutput(ns("dataset")))
+      )
+    }
+  )
+}
+

Using teal, you can launch this example module with the +following:

+
+app <- init(
+  data = teal_data(IRIS = iris, MTCARS = mtcars),
+  modules = example_module()
+)
+
+if (interactive()) shinyApp(app$ui, app$server)
+
+
+

Add support for reporting +

+
+

Modify the declaration of the server function +

+

The first step is to add an additional argument to the server +function declaration - reporter. This informs +teal that the module requires reporter, and it +will be included when the module is called. See below:

+
+example_module_with_reporting <- function(label = "example teal module") {
+  module(
+    label = label,
+    server = function(id, data, reporter) {
+      moduleServer(id, function(input, output, session) {
+        updateSelectInput(session, "dataname", choices = isolate(datanames(data())))
+        output$dataset <- renderPrint({
+          req(input$dataname)
+          data()[[input$dataname]]
+        })
+      })
+    },
+    ui = function(id) {
+      ns <- NS(id)
+      sidebarLayout(
+        sidebarPanel(selectInput(ns("dataname"), "Choose a dataset", choices = NULL)),
+        mainPanel(verbatimTextOutput(ns("dataset")))
+      )
+    }
+  )
+}
+

With these modifications, the module is now ready to be launched with +teal:

+
+app <- init(
+  data = teal_data(IRIS = iris, MTCARS = mtcars),
+  modules = example_module_with_reporting()
+)
+
+if (interactive()) shinyApp(app$ui, app$server)
+

teal adds another tab to the application, titled +Report previewer. However, there is no visible change in +how the module operates and appears and the user cannot add content to +the report from this module. That requires inserting UI and server +elements of the teal.reporter module into the module +body.

+
+
+

Insert teal.reporter module +

+

The UI and the server logic necessary for adding cards from +example_module_with_reporting to the report are provided by +teal.reporter::simple_reporter_ui and +teal.reporter::simple_reporter_srv.

+
+example_module_with_reporting <- function(label = "example teal module") {
+  module(
+    label = label,
+    server = function(id, data, reporter) {
+      moduleServer(id, function(input, output, session) {
+        teal.reporter::simple_reporter_srv(
+          id = "reporter",
+          reporter = reporter,
+          card_fun = function(card) card
+        )
+        updateSelectInput(session, "dataname", choices = isolate(datanames(data())))
+        output$dataset <- renderPrint({
+          req(input$dataname)
+          data()[[input$dataname]]
+        })
+      })
+    },
+    ui = function(id) {
+      ns <- NS(id)
+      sidebarLayout(
+        sidebarPanel(
+          teal.reporter::simple_reporter_ui(ns("reporter")),
+          selectInput(ns("dataname"), "Choose a dataset", choices = NULL)
+        ),
+        mainPanel(verbatimTextOutput(ns("dataset")))
+      )
+    }
+  )
+}
+

This updated module is now ready to be launched:

+
+app <- init(
+  data = teal_data(IRIS = iris, MTCARS = mtcars),
+  modules = example_module_with_reporting()
+)
+
+if (interactive()) shinyApp(app$ui, app$server)
+

A new piece of UI has been added, and the buttons are +clickable. The user can now add a card to the report and view it in the +Report previewer module but the preview is still empty +since we have not instructed our module what to put on the card.

+
+
+

Add content to the card +

+

To add content to a card, we will utilize the public API exposed by +the TealReportCard class. The +teal.reporter::simple_reporter_srv module accepts the +card_fun argument that determines the appearance of the +output from our custom module. ReportCard and its +derivatives allow the sequential addition of content according to the +order of method calls. To explore the content, we can use the +$get_content method. For further details, refer to the +documentation of TealReportCard and +teal.reporter::ReportCard.

+

We will add simple text to the card by modifying the +card_fun argument passed to +teal.reporter::simple_reporter_srv. The function must +return the card object, otherwise errors may occur in +teal.

+
+custom_function <- function(card = teal.reporter::ReportCard$new()) {
+  card$append_text("This is content from a custom teal module!")
+  card
+}
+
+example_module_with_reporting <- function(label = "example teal module") {
+  module(
+    label = label,
+    server = function(id, data, reporter) {
+      moduleServer(id, function(input, output, session) {
+        teal.reporter::simple_reporter_srv(
+          id = "reporter",
+          reporter = reporter,
+          card_fun = custom_function
+        )
+        updateSelectInput(session, "dataname", choices = isolate(datanames(data())))
+        output$dataset <- renderPrint({
+          req(input$dataname)
+          data()[[input$dataname]]
+        })
+      })
+    },
+    ui = function(id) {
+      ns <- NS(id)
+      sidebarLayout(
+        sidebarPanel(
+          teal.reporter::simple_reporter_ui(ns("reporter")),
+          selectInput(ns("dataname"), "Choose a dataset", choices = NULL)
+        ),
+        mainPanel(verbatimTextOutput(ns("dataset")))
+      )
+    }
+  )
+}
+
+app <- init(
+  data = teal_data(IRIS = iris, MTCARS = mtcars),
+  modules = example_module_with_reporting()
+)
+
+if (interactive()) shinyApp(app$ui, app$server)
+

Now, an application user can see the text added by +custom_function in the Report previewer +module.

+
+
+

Add non-text content to the card +

+

teal.reporter supports the addition of tables, charts, +and more. For more information, explore the API of +teal.reporter::ReportCard to learn about the supported +content types.

+
+
+

+TealReportCard +

+

teal exports the TealReportCard class, +which extends the teal.reporter::ReportCard class and +provides several convenient methods to facilitate working with +teal features like the filter panel or source code. For +more details, refer to the documentation of +TealReportCard.

+

To support TealReportCard, the function that is passed +to teal.reporter::simple_reporter_srv must define a default +value for the card, as shown below:

+
+custom_function <- function(card = TealReportCard$new()) {
+  # ... some code ... #
+  card
+}
+

Without this definition, the API of TealReportCard will +not be available within the function.

+
+
+
+

Example +

+

In conclusion, we have demonstrated how to build a standard +teal app with code reproducibility and reporter +functionalities. Note that the server function requires the +filter_panel_api argument so that the filter panel state +can be added to the report.

+

In the final example, we have incorporated teal.code +snippets. teal.code is an R library that +offers utilities for storing code and associating it with an execution +environment. This allows ReporterCard to store the code +necessary to generate the table along with the table itself. To learn +more about teal.code see the vignette +qenv in teal.code.

+ +
## 
+
+example_reporter_module <- function(label = "Example") {
+  module(
+    label = label,
+    server = function(id, data, reporter, filter_panel_api) {
+      with_filter <- !missing(filter_panel_api) && inherits(filter_panel_api, "FilterPanelApi")
+      moduleServer(id, function(input, output, session) {
+        updateSelectInput(session, "dataname", choices = isolate(datanames(data())))
+        dat <- reactive(data()[[input$dataname]])
+        observe({
+          req(dat())
+          updateSliderInput(session, "nrow", max = nrow(dat()), value = floor(nrow(dat()) / 5))
+        })
+
+        table_q <- reactive({
+          req(input$dataname)
+          req(input$nrow)
+          within(
+            data(),
+            result <- head(dataset, nrows),
+            dataset = as.name(input$dataname),
+            nrows = input$nrow
+          )
+        })
+
+        output$table <- renderTable(table_q()[["result"]])
+
+        ### REPORTER
+        card_fun <- function(card = teal.reporter::ReportCard$new(), comment) {
+          card$set_name("Table Module")
+          card$append_text(paste("Selected dataset", input$dataname), "header2")
+          card$append_text("Selected Filters", "header3")
+          if (with_filter) {
+            card$append_text(filter_panel_api$get_filter_state(), "verbatim")
+          }
+          card$append_text("Encoding", "header3")
+          card$append_text(
+            yaml::as.yaml(
+              stats::setNames(
+                lapply(c("dataname", "nrow"), function(x) input[[x]]), c("dataname", "nrow")
+              )
+            ),
+            "verbatim"
+          )
+          card$append_text("Module Table", "header3")
+          card$append_table(table_q()[["result"]])
+          card$append_text("Show R Code", "header3")
+          card$append_text(teal.code::get_code(table_q()), "verbatim")
+          if (!comment == "") {
+            card$append_text("Comment", "header3")
+            card$append_text(comment)
+          }
+          card
+        }
+        teal.reporter::add_card_button_srv(
+          "addReportCard",
+          reporter = reporter,
+          card_fun = card_fun
+        )
+        teal.reporter::download_report_button_srv("downloadButton", reporter = reporter)
+        teal.reporter::reset_report_button_srv("resetButton", reporter)
+        ###
+      })
+    },
+    ui = function(id) {
+      ns <- NS(id)
+
+      sidebarLayout(
+        sidebarPanel(selectInput(ns("dataname"), "Choose a dataset", choices = NULL)),
+        mainPanel(
+          teal.reporter::simple_reporter_ui(ns("reporter")),
+          verbatimTextOutput(ns("dataset"))
+        )
+      )
+
+      sidebarLayout(
+        sidebarPanel(
+          div(
+            teal.reporter::add_card_button_ui(ns("addReportCard")),
+            teal.reporter::download_report_button_ui(ns("downloadButton")),
+            teal.reporter::reset_report_button_ui(ns("resetButton"))
+          ),
+          selectInput(ns("dataname"), "Choose a dataset", choices = NULL),
+          sliderInput(ns("nrow"), "Number of rows", min = 1, max = 1, value = 1, step = 1)
+        ),
+        mainPanel(tableOutput(ns("table")))
+      )
+    }
+  )
+}
+
+app <- init(
+  data = teal_data(AIR = airquality, IRIS = iris),
+  modules = list(
+    example_reporter_module(label = "with Reporter"),
+    example_module(label = "without Reporter")
+  ),
+  filter = teal_slices(teal_slice(dataname = "AIR", varname = "Temp", selected = c(72, 85))),
+  header = "Example teal app with reporter"
+)
+
+if (interactive()) shinyApp(app$ui, app$server)
+
+
+
+ + + + +
+ + + + + + + diff --git a/v0.15.1/articles/blueprint/actors.html b/v0.15.1/articles/blueprint/actors.html new file mode 100644 index 0000000000..431eb6de95 --- /dev/null +++ b/v0.15.1/articles/blueprint/actors.html @@ -0,0 +1,262 @@ + + + + + + + + +Actors • teal + + + + + + + + + + + Skip to contents + + +
+ + + + +
+
+ + + +

There are two main actors in the teal development:

+
    +
  • +teal App Developer
  • +
  • +teal Module Developer
  • +
+
+

+teal app developer +

+ +
+%% This is a mermaid diagram, if you see this the plot failed to render. Sorry.
+graph LR
+    A[teal App Developer]--utilizes--> B[teal modules]
+    B--to create--> C[teal app]
+    D[app user]--uses--> C
+style A fill:lightblue
+style C fill:gold
+style D fill:pink
+
+

The primary responsibility of a teal app developer is to +leverage the available building blocks of the teal +framework to create a functional teal app that analyses the +data.

+

To expedite the app creation process, developers can take advantage +of pre-existing teal modules found in R +packages like teal.modules.general and +teal.modules.clinical.

+

These modules are designed with a focus on standardization and +versatility, making them suitable for a wide range of use cases.

+

When developing a teal app, the developer will select +the most appropriate teal modules and integrate them into +the app’s interface to ensure seamless usability for end-users.

+

To learn more about the existing modules, visit teal.gallery, +which contains several demo applications and their source code.

+
+
+

+teal module developer +

+
+%% This is a mermaid diagram, if you see this the plot failed to render. Sorry.
+graph LR
+    A[Teal App Developer]--utilizes--> B[teal modules]
+    E[Teal Module Developer]--develops--> B
+    B--to create--> C[teal app]
+    D[app user]--uses--> C
+style A fill:lightblue
+style E fill:lightgreen
+style D fill:pink
+style C fill:gold
+
+

The main duty of a teal module developer is to construct +a compatible teal module that can be utilized within the +teal framework.

+

Several factors influence the scope and requirements for building a +teal module.

+

When creating a reusable teal module, it’s advisable to +focus on making it as general and adaptable as feasible to maximize the +possibilities of being re-used in the future. However, developers have +the freedom to create a teal module that is customized to +suit the specific demands of a project.

+

Ultimately, one or more teal modules are employed to +construct a teal app.

+

To learn more about creating custom modules follow the Tutorial on Creating a Custom +Module.

+
+
+

Workflow in a clinical trial study +

+
+%% This is a mermaid diagram, if you see this the plot failed to render. Sorry.
+%%| fig-width: 7.5
+graph LR
+    subgraph Study B
+        A2[Study Teal App Developer]--utilizes--> B2[teal modules]
+        E2[Study Teal Module Developer]-.develops.-> B2
+        B2--to create--> C2[study teal app]
+        D2[study app user]--uses--> C2
+    end
+    E3[Teal Module Developer]--develops--> B
+    E3--develops-->B2
+    subgraph Study A
+        A[Study Teal App Developer]--utilizes--> B[teal modules]
+        E[Study Teal Module Developer]-.develops.-> B
+        B--to create--> C[study teal app]
+        D[study app user]--uses--> C
+    end
+style A fill:lightblue
+style A2 fill:lightblue
+style E fill:limegreen
+style E2 fill:limegreen
+style E3 fill:lightgreen
+style D fill:pink
+style D2 fill:pink
+style C fill:gold
+style C2 fill:gold
+
+

In a clinical trial study setting, a unique study +teal app developer is assigned to each study team +and is accountable for developing a tailored teal app for +their respective study.

+

The study teal app developer will +initially leverage existing teal modules from +R packages created by teal module +developers.

+

In cases where there is a need to create new modules tailored to the +study, a study teal module developer will +need to be involved.

+

Upon completion, each study team will have their own designated +teal app tailored to their specific study.

+
+
+
+ + + + +
+ + + + + + + diff --git a/v0.15.1/articles/blueprint/dataflow.html b/v0.15.1/articles/blueprint/dataflow.html new file mode 100644 index 0000000000..da0a85fddc --- /dev/null +++ b/v0.15.1/articles/blueprint/dataflow.html @@ -0,0 +1,194 @@ + + + + + + + + +Data Flow • teal + + + + + + + + + + + Skip to contents + + +
+ + + + +
+
+ + + + +
+%% This is a mermaid diagram, if you see this the plot failed to render. Sorry.
+sequenceDiagram;
+    autonumber
+    participant data
+    participant filters
+    participant filtered data
+    participant teal module
+    data->filters: gets
+    filters->>filtered data: becomes
+    filtered data->>teal module: sent to
+
+

The sequence diagram above illustrates the different stages that data +goes through within the teal framework, supported by the +teal.slice package:

+
    +
  1. Data is created and loaded into teal app; +
      +
    • Data sets are wrapped in a teal_data before being +passed to the app;
    • +
    • The teal_data class +facilitates reproducibility;
    • +
    +
  2. +
  3. Data is passed to the filter panel; +
      +
    • Users (or app developers) can specify filters to +apply;
    • +
    • Filters can be specified globally, for the whole app, or for +specific modules;
    • +
    • Filtering code is appended to the data;
    • +
    • See the Filter panel vignette for +details;
    • +
    +
  4. +
  5. Filtered data is sent to teal modules for analysis; +
      +
    • Each module receives a teal_data object so analysis +code applied to the data is tracked (and can be used to reproduce +the whole analysis);
    • +
    +
  6. +
+

Whenever filters are added or removed, the data coming into modules +is re-computed, providing the teal module with new filtered +data to conduct the required analysis.

+
+
+ + + + +
+ + + + + + + diff --git a/v0.15.1/articles/blueprint/filter_panel.html b/v0.15.1/articles/blueprint/filter_panel.html new file mode 100644 index 0000000000..1df98c1420 --- /dev/null +++ b/v0.15.1/articles/blueprint/filter_panel.html @@ -0,0 +1,203 @@ + + + + + + + + +Filter Panel • teal + + + + + + + + + + + Skip to contents + + +
+ + + + +
+
+ + + +
+

Introduction +

+

+

+

The teal.slice package provides teal +applications with the filter panel, a powerful tool for +exploring and analyzing data, and a key component of the +teal framework.

+

One of the great things about the filter panel is that it comes +built-in with teal, requiring no programming knowledge to +use.

+

The filter panel provides a convenient way for users to subset their +data, simplifying the process of exploration and comprehension. +Moreover, users can activate or deactivate filter states interactively, +either individually or globally, using the filter panel.

+
+ +
+
+
+

Filter flow +

+ +
+%% This is a mermaid diagram, if you see this the plot failed to render. Sorry.
+sequenceDiagram
+    autonumber
+    data->teal.slice: processed by
+    teal.slice->>shiny inputs: creates
+    Note over teal.slice,shiny inputs: based on data type
+    shiny inputs->>reactive dataset: updates
+    reactive dataset->>teal modules: processed by
+
+

The filter panel creates subsets of data. Subsetting is achieved by +creating filter states, each of which holds a logical predicate (filter +condition) that is applied to single variables. These filter conditions +are composed into a single expression, a call to a particular function +(e.g. dplyr::filter), and that expression is evaluated to +create a filtered data subset.

+

The process is entirely interactive. Filter states can be created, +removed, and changed at will, however, the app developer may choose to +constrain or even restrict them.

+

When a filter state is created, the filter panel generates a +filter card with shiny inputs appropriate to the +type of the variable, e.g. range selectors for numeric columns and sets +of checkboxes or drop-down menus for categorical ones.

+

As users interact with the filter cards, the subsetting complete +expression is updated and filtered data is recomputed.

+

The filtered data is passed to teal modules for +downstream analysis. The subsetting expression is returned along with +the data, ensuring an unbroken track record of the entire analysis. +Signature of the data are also stored to ensure reproducible +results.

+
+
+
+ + + + +
+ + + + + + + diff --git a/v0.15.1/articles/blueprint/in_app_data.html b/v0.15.1/articles/blueprint/in_app_data.html new file mode 100644 index 0000000000..fc8849e963 --- /dev/null +++ b/v0.15.1/articles/blueprint/in_app_data.html @@ -0,0 +1,173 @@ + + + + + + + + +In-App Data • teal + + + + + + + + + + + Skip to contents + + +
+ + + + +
+
+ + + +
+

Building data in the App +

+

Typically the data that is passed into a teal +application is available before the app is run. However, this is not +always true and in some cases the data will be built only after the app +has started. A good example is pulling the data from an external +repository, like a database, or uploading a file. Additional +authentication may be required.

+
+

+teal_data_module +

+

Preprocessing actions can be performed in-app using the +teal_data_module. Rather than passing a +teal_data object to the app, one may pass a +shiny module that returns a +teal_data object (wrapped in a reactive expression). This +allows the app developer to include user actions data creation, +fetching, and even pre-filtering modification.

+
+
+
+

Further reading +

+

A complete explanation of using the teal_data_module can +be found in this +teal vignette

+
+
+
+ + + + +
+ + + + + + + diff --git a/v0.15.1/articles/blueprint/index.html b/v0.15.1/articles/blueprint/index.html new file mode 100644 index 0000000000..42aafb78bf --- /dev/null +++ b/v0.15.1/articles/blueprint/index.html @@ -0,0 +1,153 @@ + + + + + + + + +About Technical Blueprint • teal + + + + + + + + + + + Skip to contents + + +
+ + + + +
+
+ + + +

Welcome to teal Technical Blueprint documentation!

+

The purpose of this material is to aid new developer’s comprehension +of the fundamental principles of the teal framework. We +will explore crucial teal concepts such as data flow, +actors, and filter panel, among others.

+

While this material will be presented at a high-level, we will direct +you to our vignettes for a more in-depth understanding.

+

Our hope is that this resource will provide new developers with a +strong grasp of teal products, enabling them to contribute +to code with confidence.

+
+
+ + + + +
+ + + + + + + diff --git a/v0.15.1/articles/blueprint/input_data.html b/v0.15.1/articles/blueprint/input_data.html new file mode 100644 index 0000000000..da54c2d529 --- /dev/null +++ b/v0.15.1/articles/blueprint/input_data.html @@ -0,0 +1,209 @@ + + + + + + + + +Input Data • teal + + + + + + + + + + + Skip to contents + + +
+ + + + +
+
+ + + +
+

Introduction +

+

Reproducibility is paramount in the pharmaceutical industry. Accurate +and consistent results are essential to ensure high-quality research and +the safety of patients. By prioritizing reproducibility, researchers can +validate their methods, confirm their findings, and contribute to the +advancement of the field.

+

The teal.code package provides the qenv +class that facilitates code reproducibility. Code is passed to a +qenv object, where is evaluated in a specific environment. +qenv also stores the code so that it can be retrieved on +request.

+

The teal_data class, which serves as the primary data +interface for teal applications, inherits this code +tracking behavior from qenv.

+
+
+

Preparing data for a teal application +

+

All teal applications run on data provided in a +teal_data object. Data objects are stored and modified +within the environment of the teal_data object and all +R code used is tracked, which allows for the code to be +evaluated and executed in the teal application, and +reproduced outside the teal application. This includes data +loading, preprocessing, filtering, transformations, and plotting, +etc.

+

The teal_data object makes it easy for users to +reproduce and validate the results of their analyses.

+

+

Learn more about the use of teal_data in the teal.data +package vignettes.

+
+
+

+Show R Code and Reporter +

+

In both the teal.modules.clinical and +teal.modules.general packages, you’ll find that most +modules include a convenient Show R Code button. When this +button is clicked, a modal window appears, revealing the R +code responsible for generating the module’s output. This functionality +is achieved by inspecting the teal_data object and +retrieving code from it. With the Show R Code button, users +can easily copy and independently run the code to reproduce the analysis +presented in the teal module.

+
+Show R Code
Show R Code
+
+

The Reporter feature also leverages the teal_data object +in its operation. Much like the Show R Code mechanism, the +code displayed in a Reporter Card is extracted from the +teal_data object.

+
+Reporter
Reporter
+
+

To learn more about the Reporter feature, please visit +the teal.reporter +documentation.

+

Overall, qenv from teal.code and its child +class, teal_data, are powerful tools for ensuring code +reproducibility and promoting high-quality research in the +R programming language.

+
+
+
+ + + + +
+ + + + + + + diff --git a/v0.15.1/articles/blueprint/input_data_files/figure-html/teal_data_dot_diagram-1.png b/v0.15.1/articles/blueprint/input_data_files/figure-html/teal_data_dot_diagram-1.png new file mode 100644 index 0000000000000000000000000000000000000000..191257684931f1607d69646179b7255041f2bc8b GIT binary patch literal 17563 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 z zIGQL$UuHqws;;hWZ^VDmJail0QDEE4lBHXC>h$T`eQGjCPAV!=LuIjFUUZ9-^wf=F-mj5H8+S{Wa^0>sDM|}W29)lGA>u=7S{2Zu>XCm(1^8;fsSy^71|1*-1 zXV)(YZL_MeaXl7CS6Qj^*bUx?uBXQAGo!E^_i%H6{*Y&KzY82=JdXxPQK!wb3GU69^xw3Qwma(o{j-^QIst*fF1_3Q`h zHp1jG0oo-<6rjV+Ejt!OoC^&SD;fLrcvyHi6<`RtkoUr;{(+H^G-rRALMC#luh1Sq z*jHD~4{lu*Z(Z&__v6P8?Gi_BV`F0iIS84{sazKO zJ2RH#>?%`8l^`LL9EqJuS}A(vXjcvgcpp)alarGNS`Jjo01CwBs&nx_{9SqHzp?;P z)G!UJ2#tpp?E%rI>Gf+_^!(4j3g~e67M@c$-96AXGPG4x=rL-y(XmZxZf(5WmCXiV zLONs_xV^ozv$~i}hEGxw*XcW~0gw*|=6`&do}H~HEg7Hr0^0Iq`g5?1x+u9CR{E#6 z=pv*ULp*=(`hye5`Sr_qW&wa?tIns@Fp7noN6!-+4s*K}lMzW9@}$8CKw>Q-0CynR z5%aR5qC&*;?_tTM88xC?jlFG>VL4_SjNUc?S?>haiqOTXf66I%`+2d$i7Ws-;jyxE za<%Yb1~y%Vr|6{a7Qj_}72s02+)Ak{y9 zwjB6^{$6+HK=~~oxyL9yKt>wLpl2dizimgD08xkQpnFb<``b(id|p>lQnFp#^`O_{ z4>=UrLCkdyJ%jZ&LESY`iff}3&GOB+d9EzY-4|nHWmQr&zXIFfmiNj+|A&0DO_*{z z5Gg2~0Gj#QWy+hv1I*w_7*={chbnXR+lT8_RVPxUg+;x+y#Zh!I9Hqo^rh$E2!);= z(V-L1D&fw!dL2#GJ7uX5w&Pc;;Li|(vU%#=DN{wx8(Ic#YrC>9)M6-JJ4G13dh7SL$I|N;e}A$gQ`7(j&RIl;nJ|cr=s`vp-gzjWKfn_AvC(QALM5qz`5cP9 zKweQxjFmG8E4)dDG;UF+;eqnGK4}<5k+gmp=^!+V6NW1_2rxLH@1)f3&fiOT&{s%A zCqS(Z!g_s{lj(fQ8cqK9RDVuvlckAClE!{iW3{w%vM9So@Watl{)5b@Wa?v$qUE-w zDRZFB)V8(JqaDbCb)u0eu`Hm@9yD#DgL^7+{CE;33*fm+uk-D58jH}3#XC%~64#EB z#q;Oah}M{UfWSk#Hj|duubH6Y!9%l%%I^BVZ782^yoRFS;No&`-DZ}i>=KoBWSHbxwdte`*-1K9#;iAy^0w`ab6R7<;~l5{#CD=Q1`m8D>gb-S?jhl7xY zk6ORgeHa%f0FdAg^Kvj_FHF1rPA}YNGbmxu^)$(Vd~kor&MABy1iHGnx7T!TzmP9X zYGTO%bidb~L^Fq*%6j~&lGDqdfLiq1wxy~0B_wbFU;0Qb&)4n|`VP)Uq1(DOv9OFp zEqM1o5YEo{d*`-g&vPMQ7JHyC{tE}fxu2y!-$1YN6->n5(NR^5CgeYSxK)(*mRDkj zS`(x~pZ35DRk7f#~t#olfOp0geaM~W z?=(1Gy?WZ#);22VUXv=+gYb<6l%e;?A_EbXt(BrWcEJ{A6!5`^4OQ^K|}MJItFqd zKYtC(com?ffA0tR)N~c7CDIdJCH##&Xu9XMwV(WX0eGuj;UP-dg)|Aa7!0Dy){+0C zY2>vy)n94X?z%8HwPm0(4bg(Mv@h_DbX)itv~<3!MD@3wNA3sM?@73e5|8jUkRqOe ziHRUm%8^dcDD6Y}An1jZL%gs96vx*R#)PAxDh@uuP(F5*!0Q!f3{&Tvqv9aggE0TkQgSpU?BN~p|^@)=Kwk!Lw4(?0{d^`XP7MKU^ zqGsx`&zmjD*1P?8^2O9Nl#Rhy^M@*?OESy~u^X#oj=TW{s>h~NRaMQfj{l!Lijlh$ z$6Y3yf_EHB28}Vcvf2kxs=e6G@MHP4V$G6*g2TiFAYH-Q#-<+857=(JSi4M=RVScV z9N4sN|NF%Ye~DEQ68HxLCXC|X;N-*rXgBsDFNruYSUD-_PK)zDPS=~sU)!#CPm~*` zKfGxVSm_%1l8G$F5*#t|rkrzA{c_M4$U7JVIY3;vuGFrfs(J%`iYSEO_Zbe#MLfb> zk_W?^)S(9a_!25*j8;1jN&H_u^j?}UB*+&PEH;;JN5DOChS)G{9?Zcl@GCZ=)xf$V zic>i3DVnLu70Kma2`i6KEEN5uO&wfOY3ovzVsBtLJ{NWw)b^A>)Js#0l$=N_(=s(p zZa3n$gq}{cVKTYUbf?G%!^sC}KnYi4(U<)l&qR)=+C0H?9r9i&wZc2kh3wMVHV-I`1m~cSxe`M&a-1-PpFsBHHgnT*bpu~tMgSkko`Fr><|QMp;con zVktnFhafSt6Lkl-+A6g;z51d1I3HPZ$gwHhcaIInvTWn1|7as_QzK@M%$8J&49cQ8i zs<#<>TnB+5GAXRA;j4Rux8TG7a&E=_UO~9|Ztx}uS;V*|Mhq5QN-dWJffne{M1THJ zV8Jl{KK-Wm;uj8*GQ;l)%saA!AkRmS9#II0g_V$J{)XMv)pdZN5h4r&KmH1*Py^;x zV8yh>?`{Ec87Au#&+Yv28OeV402hz_KC!{Z*8kDnu&DDWze;yk0g@I)> zJy1Ml2JWdxp5|Y?QF>2?4P;0SbFA_jfJ7n^6Uae~ zYg*dV_Vx!+AvOY>u=@&yV`QKv4Pr&hLQh1Yz#0!lec?QOm=S3Cc1}(X(0a!uB2~x& z+k?;(l=-dq#WoPj>FMbzBI`qGNdyQ0_ZbM^zIq7aD%4Eqi$tS@zUT)4^B6P}#=t2! z;6(QUBG|{qPru|#XvJ3gII$~=PBObBCD~E3NF9T;2X6Dot3WTn980 zFvRLZZ^Tz41BS+M`3@&Ci+kCM6jG9tcY%%IBfb$43}DI*!>@J_rHgYF_8nw=A`%iM zSM2IHf2>A6wxjerz=>4OlCpw#H$t$5P%Q@#8N|0Zz-6Hit)rmrJ%SK;xjlI!!ij;< zBM5iHKDbp}d<=0af|%-a?(l(1VYd-Q6tz1!C50?s5+hs`9z8ld^{KO)9u zHDa*Fk>|UCzCs2II!Ccx|7lbWXb_|~0&twY3t^RNAm_nQ6nj0D50VR!v_e<{kRR^P zkt`4-5Q@Eviys6UqKH6-DAe6d2BWkzk%%IQyriY24fkUhn7sTzLcgFNo&-17JpSR+ zrzGrqm>Hwph5OcRVGqvDJ&5M^q(&@2UWIIyHYBuiZ9W|(ilx-j3Y}8lgcIi%_KmT=X zvXuLxPCSH|WxW&ntF5E68++{nvS^7-8TYWf;7SmMbBJd@Dk*WK;00yO*O_p(@4NkO zG(g}z5(90ZiH^Jxx=`*AH%>3yxM{j8xwp`&OH&)N7&SnzIc%K}qQ{-bRp4j0y=r+o z=S4a(x{sEFX@~NO6BM)qt>Lp@AoCz^6s(!0tKncOV@iWJWX?biCsQ-)hHh5pf(dX! z2n4ZT`F$(DpzD$qFZSKY%IY6dg4iqKyoKuIr%pc zRhfZ-VKr(bNdi}{EFUNK;(?0!Rj|i%^Yd?HWeI{K+ybfG$7WfmR_WzQ9KiegvSrqQ zE}tZB*1}Y!2@(_}=}eEn(aemqZxVN+92p%t>=)8)KuwAF3W!dF_PUxP{-ch8WPoIl zZexLXRan!eX$Yl_SkV*;+}e{6U8okX9C$!1oKMADkhH%1E_E~JCDrta%*+OZpGu}w z#7hLN*o}fmOgjVD&uhzvNCO3IhTHilkgGs|5a1)0jGfsRHlf|c&mB5+=m&|N1Avl5 z7zu)5kk)c?C;ClG!uikvm+SLh@hn?eULc)F^QktKo!yjhOOSl5R#Vsykm7?D?R!v6 zFX9qNn8O@T><*rTDwwUv`)R*+E`?A7kYg1nxIP<$0w7+~00;jo-z84w0@}HcYL3$} zg#Ym@ z5F#e7iWMG0m1r!STwHC?uEhU*jgVJV9PE(lh=HgA4LsMRk(QWfgwi7AP3}gGyD_TA zzARFgAbJqyh9D}m+u_#uAcXJ!sTK`Tn0CimTm3=l_k+$XaG{hj!SnYH_nFb_SiAqe zryj~=phLdR>qOP`>AA`kHfV+?Va5;-#N&@6WCvp7(`oEJSCmyk6lI9pY{;Zn0mRX> zv)=&@|971lT!-2|-{$*8Y#Op+x(hdvwG5B-CUl2?-%|~+`AXzt(eJU2%x&i$iU(kk zlug%c`j=RsriNYAG>9cD%!PZELzc}$cIl~h-l~4D1wmpn!fwEI!et4AS{G-1CIum- zoA_c?ZS88nVu1uhnVIeLk>;EX$8oxWls!~tB5lRJI7L~$-!%g%j#QJAZyrjJSUL;~ zL(H$h#sn;7eq3+}<{$BDkTD7cDk5$^^5ZbeID_zhO>0CxM$>e_jU$@~GhL6U()=PP zCl_YWT?wCWaJ+H_c+BHEk&#ft2?0jJ?Gdq&*@52_2Tk?d^|8sI_A}}hSqDG}kvV-j z@%eLYJV%Bg5OT(vb4A>0Tj>RK^4B2Mbn@cGUBp=a4~m5bbS>Vc z5-Al{@w+|yWs*Zsd9ULUU%iIP3t6}ZQzT^DBZ6Zx|7iv$S`rD23g43vh|WnoBI2Y1 z=J^qGcCr_ayG#cT#Uwh~=L_ui4cHZ0tP+iKl>46K9U_)zt7XF4g8Vp+o$>^ zTTy7#aa*;)aOR8)xUFSI`^Yvn;9=lbQas`9B;nC{uo-0EB9($UkMNqA@gV`lm zYW=prySj}n9=k?)i%Li%9!+lvBAY9sj?ldP0MUqkg(Sg@h^xE5<$iLN{d@MTL2)6< zESV?-^2A-IPhd&$XPsuX5Otm21>H2;dAs^+8CluSi2ss?0R6bOWZz1fRaf?<2aibV z8^@?Zpx*#q1breCYa9RI5cRG)4k6FVY z%_+=;=E=P%PzSWN!7%iKPAia`5UuV_c`Q zly#REe<>rIMGoK~Sqcn@UqD`6kvavJ!!NlZz{M0C-3<1T`0;dT1;Rx{jYery?@wxF zn#EjL)hk#tWPB9Slz6BcUqIYuV3%qVi9%bUM>}o8u_X{cBeU85)L0-LnKfwW)Thr3 z;oQZ^Q>Ru@c7f1vuA)a;lr+dSfO%!VyR8sjxKk5uxl_n^jm#Q2V5(w~mN#uqrAGeu zb6VBo#~D|>!1&?5)+C^=bX?0j>5Uh~01F$+=eWpTo^s30T~VC_?ck-)PYb%(bn%`&1}}njEF{Kp-`Z9G2OY9acWG|xHV!|;&`x$ z#z#xD_I!(XJYYoDePuf+1EZr)TvXq~>S)eNbG`x1?VpPKCk}bXfAS1*rqMfnQ5fLM z5y%2FJ3dCy5V)%zktm2|7hdPj%*+Uz@a^6EuO9=uRlj_>5s6N6QYzQ1g&D^3PFB1B zjqn@U`B_8F%SHN&H!JjQX|PFXjF7&p-kL*byorp&Be3z@;$k^0h_)9lcBIij%IVTW z@|_mQYqY;o3X8;fT-<4x29<^2b!3TWM%z}yk1=bwczHob*rdBIa_QaM(&nF|YnBir zc!V;6qg`aSuo20bv9oR_za6BDUWj(tDJ2|rmJ*uPz9?TJSLx*CRna#D(sfcsW(|5B zd1KKUC83u|l>PXfQmSg*)ldI$1q06M;3hrGbr)|-m9N_Ba_7Vv0pV%BP#*Gy^ zI54nlJuU0oooeULht<{BE8vI+Vhi#hEjSF7^=eAksAi2yW=B5C!poMH2rx#hc^t`s z>vr=CCX|UH45hCGksy$xmk86<;WWvm);NozDO;sQGaQYgqikhi$+n%L& zEbrN~2y~1c>RO75fiP2*kc8*PVI2^vJx7jckcbb}uAprPI{8P2hPcs{@5aXRVQoZ# z`KY9;|3vKDa$Fpk95x;~NMnjQz8fDe$a^j>48Tnh20?vaUq$nEm+mivd%K5N!}SeG0=A#{{_AQ3l9!0SjwnddMz3&->K-e&SfF^3KwP z7!v`2=e<@>4_si!t604F@29I&GM`pdxZ_OOSnrEsS9kaEnU0_KPx%dQ4Xz?;0Ou`Yi-=E^{2a`r?86Qp1de^c;gz@LB*aCT>B@hi*%4ZS7j0PH)DR@l3E` zW?tSjMQ%aX%o&q*)!P~Jy2$r~_>HkqRjG~oXh~8<3sA{g9~^O1p=B4} z3$l;+#DTti$ay$#Wcn)gFL_gD&y{N>4qtAgj&GpAoGGfllHOtY@3>La{$n^aNwo|3 zjFFyROG}Gt7db0w2Kt`)KfYM9K-5@5L#IY`I~Utug7hd&M2TqO?`{m~ogCJ#eC*jB zvsCxq(;H4{2k7GM`K09pj~y}NP&9Pe>f5Uc_PTX z^%W=?)#4m~s-GzMPhob-nR~_ve-UR6>M@Zz2sVd3aX8~4O8LJ7m^cp#CFF2k>-{5} zC}H>RnV*+v@N!YBUwHzKcM(kUa$DkBB2=Qwv#`DZN<-P-ccB%qg%WoEejs@SbMxBj zYO4MF_lucLbY!L#Pd3l6oiVb0KuMiQNX?%3{6J-Vffkd}>89K-Y4Gv8?fC4@?zE7P z%1RQPMi0H?Mb zK1T08!^FyJeRuomQ1%cauHYY{Q_8FXmL;)7n!s%o!clR^XA21h;n>D`Rn=AW)#yW1 zCr0*%{F_!g0i4Ww_2AeR&Kvj!P3=D12ILc`DG+JNb}m7sqN1P@7{P?W#C{za;o{|$ zOZ%2IXY!=EB8k!D)0%@9R-P(d7$V0)`hKRoyiu`6DWTccMJ>BOMiNJJjPK-C#hKi$ zm^yD@*l~|hb6sObppb^z`%qe&h~GdtqU%tJi~}kF%b&02R>Rd?D3bdh6}Fu5|Ymss>LNlffKf z+>?~&wcp>WAx-TQkb;Fxd3(*y&&P+NlpuK_vnNT2nUV1#Ha9GD8F~2)lt)KP5aizk1t}Q~k(~MXh^mAGRZZj=$j5v$a-hj+x$f72>kki>C zDQTeA8spg$^WFB&?9O*-n|n!h*{+)XG|#|LFY?Y<=zj0dzS|B@cs$P$6BSiJgEj+> zX-9m=!O^k(Q*`K{wnpC1yUbDYN3KPhaufPRK^h~;eveGY1I3h6&d!H#Z{e^FpVg8> zs0I1#MnnrNhyHFPf*~=MAj0vpDTd^NxS&mpK1gG#6(v7ef(ao)S!DALhkEl}8ER%i z#*ZFZtFlw!9s8l0;2f|0RG);>{lgn!dde9Xu#;FXIrd&s^6w`bh?VI=!=zW?j+9*B zg-nm82?jCmy)w1Zaeub!D5}=|mdpf%(O|z^gj?b|o}OlpV?T%O`t-->tkymV45FiN zO9BK6fQ{7IJ==8}X#Z4>L3t!?lI9m=5C3oe$cg{y0LzhKzBkCbRDqvFfr51&cb&#T z0lM(D`|N1ag%rqvF(gzTJ8zdM?E4?itvp$$8sNW|Z4G`jfy!Fr|20YbK=D@*+kl5p eq-OoQ;vcv^+HoYJ2S06uq9A)tCi~RI8~+c2xjDc9 literal 0 HcmV?d00001 diff --git a/v0.15.1/articles/blueprint/intro.html b/v0.15.1/articles/blueprint/intro.html new file mode 100644 index 0000000000..4e2fa3b877 --- /dev/null +++ b/v0.15.1/articles/blueprint/intro.html @@ -0,0 +1,215 @@ + + + + + + + + +Introduction • teal + + + + + + + + + + + Skip to contents + + +
+ + + + +
+
+ + + +

teal is an interactive data exploration framework based +on Shiny, designed primarily to analyze CDISC clinical trial data.

+

A Shiny Application created with teal offers users the +ability to:

+
    +
  • Import data from external sources;
  • +
  • Dynamically filter data for analysis;
  • +
  • Generate reproducible code for future analysis;
  • +
  • Create and download reports of analysis results (for analysis +modules that support reporting).
  • +
+

Moreover, the teal framework provides application +developers with a wide range of customizable standard analysis modules +to integrate into their applications, along with a logging framework +that facilitates debugging. Additionally, advanced users of the +framework can develop new analysis modules and easily integrate them +into any teal application.

+

The teal framework’s functionality draws heavily from +the following packages:

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
R packageDescription
teal +shiny-based interactive exploration +framework for analyzing data
teal.widgets +shiny UI components used within +teal +
teal.dataprovides the data structure used in all +teal applications
teal.sliceprovides the filter panel to allow dynamic filtering of +data
teal.codeprovides a mechanism for tracking code to reproduce an +analysis
teal.loggerstandardizes logging within teal +framework
teal.reporterallows teal applications to generate +reports
+

Although these packages are mentioned in the material, we strongly +recommend visiting their vignettes to learn more about them.

+

Learn on how to make your first teal application here!

+
+
+ + + + +
+ + + + + + + diff --git a/v0.15.1/articles/blueprint/module_encapsulation.html b/v0.15.1/articles/blueprint/module_encapsulation.html new file mode 100644 index 0000000000..34fb6d5efb --- /dev/null +++ b/v0.15.1/articles/blueprint/module_encapsulation.html @@ -0,0 +1,180 @@ + + + + + + + + +Module Encapsulation • teal + + + + + + + + + + + Skip to contents + + +
+ + + + +
+
+ + + +
+

Introduction +

+

The teal framework leverages the shiny +module concept to enable encapsulation of analytical actions in +teal modules, while maintaining seamless communication +between the modules and the application.

+
+
+

Benefits +

+

By implementing the modular app technique from the shiny module into +the creation of the teal module, several benefits are +realized:

+
    +
  1. Streamlined maintenance
    +The development of the teal module becomes more manageable, +as it can function independently from the teal framework. +This separation allows developers to maintain the module with ease. This +approach has been successfully applied in R packages +dedicated to teal module development, such as +teal.modules.general and +teal.modules.clinical.

  2. +
  3. Enhanced focus on output
    teal module developers can concentrate solely on refining +parameters or encoding, and output aspects (such as data summarization +and visualization) without the need to concern themselves with the +intricacies of the teal framework. When developed +correctly, the module seamlessly integrates with +teal.

  4. +
  5. Facilitated collaboration
    teal module development becomes an accessible entry point +for developers interested in collaborating. This approach encourages +user collaboration for the improvement of teal modules, as +developers gain a deeper understanding of the mechanics of the +teal framework.

  6. +
+
+
+
+ + + + +
+ + + + + + + diff --git a/v0.15.1/articles/blueprint/product_map.html b/v0.15.1/articles/blueprint/product_map.html new file mode 100644 index 0000000000..13e59c2f97 --- /dev/null +++ b/v0.15.1/articles/blueprint/product_map.html @@ -0,0 +1,222 @@ + + + + + + + + +Product Map • teal + + + + + + + + + + + Skip to contents + + +
+ + + + +
+
+ + + + +
+%% This is a mermaid diagram, if you see this the plot failed to render. Sorry.
+flowchart RL
+teal
+subgraph features
+  direction LR
+  teal.data
+  teal.slice
+  teal.code
+  teal.logger
+  teal.widgets
+end
+subgraph modules
+  direction RL
+  teal.modules.general
+  teal.modules.clinical
+  teal.osprey
+  teal.goshawk
+  teal.modules.hermes
+end
+teal--has-->features
+features--builds-->modules
+modules--creates-->teal
+subgraph modules
+  teal.modules.general
+  teal.modules.clinical
+  teal.osprey
+  teal.goshawk
+  teal.modules.hermes
+end
+subgraph calculations
+  direction RL
+  tern
+  osprey
+  goshawk
+  hermes
+end
+tern--supports-->teal.modules.clinical
+osprey--supports-->teal.osprey
+goshawk--supports-->teal.goshawk
+hermes--supports-->teal.modules.hermes
+style teal fill:lightblue
+style features fill:lightgreen
+style modules fill:pink
+
+

teal is a modular framework that relies on a suite of +related packages, as illustrated in the above diagram, to provide a wide +range of functionalities.

+

teal’s primary function is to create web app for +analyzing clinical trial data but it has a multitude of +features distributed across various packages.

+

Developers can selectively leverage these packages, such as +teal.widgets, teal.code, and +teal.logger, to build teal +modules for a teal app. This approach gives the developers +the tools that speed up their work and avoid re-implementing existing +logic and UI elements.

+

The teal modules utilize various packages such as +tern, osprey, and goshawk to +perform calculations and analyses. These packages provide +support to the teal modules by performing +all computations while the modules only have to focus on how to wrap the +input options and the output.

+

Once developed, new and existing modules can be integrated into +teal to create a functional +teal app.

+
+

Why so many packages? +

+

By breaking down teal features, modules, and +calculations into dedicated packages, maintenance is made significantly +more manageable.

+
+
+
+ + + + +
+ + + + + + + diff --git a/v0.15.1/articles/bootstrap-themes-in-teal.html b/v0.15.1/articles/bootstrap-themes-in-teal.html new file mode 100644 index 0000000000..3c09b9450b --- /dev/null +++ b/v0.15.1/articles/bootstrap-themes-in-teal.html @@ -0,0 +1,384 @@ + + + + + + + + +Bootstrap Themes in teal • teal + + + + + + + + + + + Skip to contents + + +
+ + + + +
+
+ + + +
+

Introduction +

+

We offer an easy application of a custom Bootstrap theme in a +teal app. teal uses the bslib +R package which provides tools for customizing Bootstrap +themes, including those of shiny apps.

+
+
+

Usage +

+

teal app developers can specify custom Bootstrap themes +by setting the teal.bs_theme R option, which +has to be set to bslib::bs_theme object. The +bslib::bs_theme(...) function creates a Bootstrap theme +object, where one specifies the (major) Bootstrap version (default or +one of 3, 4, or 5). Optionally one can choose a +bootswatch theme and customize the +app CSS with functions like bslib::bs_add_rules. +Please read more about custom themes in the +bslib getting started vignette. The +teal.bs_theme R option has to be specified at +the top of the code script.

+

Please install bslib package before you run the code +below.

+
+

+teal.bs_theme R option +

+
options("teal.bs_theme" = bslib::bs_theme("Custom Options"))
+
+#######################
+# teal::init() app code
+#######################
+
+
+

Bootstrap version and themes +

+

The best and recommended ways to explore the +Bootstrap themes are to use +bslib::run_with_themer(shinyApp(app$ui, app$server)) or +bslib::bs_theme_preview(), both of which offer an +interactive explore mode (not supported for Bootstrap 3). The +bslib::bs_theme_preview() is recommended when the end user +does not have any shiny app yet. When you already have a +shiny app and you want to test different Bootstrap themes +(and CSS styling) then +bslib::run_with_themer(shinyApp(app$ui, app$server)) is +recommended.

+

Available Bootstrap versions could be checked with +bslib::versions() and Bootstrap themes +(bootswatch) with +bslib::bootswatch_themes(version = "5").

+
# bslib::versions()
+# bslib::bootswatch_themes(version = "5")
+options("teal.bs_theme" = bslib::bs_theme(version = "5", bootswatch = "lux")
+# or
+options("teal.bs_theme" = bslib::bs_theme_update(bslib::bs_theme(version = "5"), bootswatch = "lux"))
+
+
+

Default Bootstrap theme +

+

When using the default bslib theme for any version (3, 4 +or 5), its styling might not be as expected. Please run the interactive +themer (recommended) or apply a custom theme to explore all the theme +options. In many scenarios updating only the theme might not be +enough and e.g. font color and other specifications should be updated +too.

+
# instead of
+options("teal.bs_theme" =  bslib::bs_theme(version = "5"))
+# try non-default themes
+options("teal.bs_theme" = bslib::bs_theme(version = "5", bootswatch = "THEME NAME". ...))
+# or run the app inside bslib::run_with_themer
+
+
+

Reset the Bootstrap theme +

+

Please use the options("teal.bs_theme" = NULL) call to +return to the default shiny Bootstrap for teal +apps.

+
+
+

Theme not updated +

+

One reason the theme is not updated could be that the web browser +caches the previous one, especially when different themes are run one +after another. Please, use the Cmd+Shift+R (Mac) or +Ctrl+F5 (Windows) to hard refresh the webpage.

+
+
+

Custom teal CSS +

+

The most important HTML tags in teal have a specific id +or class, so they can be directly styled. The +bslib::bs_add_rules function could be used around the +bslib::bs_theme object to apply custom CSS +rules.

+
library(magrittr)
+options("teal.bs_theme" = bslib::bs_theme(version = "5") %>% bslib::bs_add_rules("Anything understood by sass::as_sass()"))
+

Other bslib::bs_add_* family functions could be used to +specify low-level Bootstrap elements.

+
+
+

Bootstrap NULL vs Bootstrap 3 +

+

It is important to note that the statements +options("teal.bs_theme" = NULL) and +options("teal.bs_theme" = bslib::bs_theme(version = "3") +are not equivalent as the bslib approximation of the +default shiny theme for Bootstrap version 3 can introduce +some discrepancies. One important difference is that when using +bslib::bs_theme(version = "3", bootswatch = "THEME NAME") +one can apply the custom Bootstrap theme. Another one is that the usage +of bslib::bs_theme(version = "3") requires the installation +of the latest shinyWidgets package from the main branch, +see below.

+
# Downloading the newest shinyWidgets
+# needed only when bslib::bs_theme(version = "3", ...) is used
+remotes::install_github("https://github.com/dreamRs/shinyWidgets@main")
+
+
+

Regular shiny::fluidPage +

+

If you want to update the theme in a regular +shiny::fluidPage-like app, you do not need the +teal.bs_theme option. Simply provide the +bslib::bs_theme directly: +shiny::fluidPage(theme = bslib::bs_theme(...), ...).

+
+
+

Interactive theming guide +

+

In this section we provide a step-by-step guide to customizing a +teal application theme interactively with +bslib::run_with_themer(). We recommend starting with a +simple case and once you are satisfied, verifying with your full +application. To that end we will use the teal application +below. For this example we assume that we want to use Bootstrap 5. To +start, we launch the app with +bslib::run_with_themer(app$ui, app$server) instead of +shiny::shinyApp.

+
+options("teal.bs_theme" = bslib::bs_theme(version = "5"))
+
+library(teal)
+
+app <- init(
+  data = teal_data(IRIS = iris), # nolint
+  filter = teal_slices(teal_slice("IRIS", "Sepal.Length", selected = c(5, 7))),
+  modules = modules(example_module(), example_module()),
+  header = "My first teal application"
+)
+
+bslib::run_with_themer(shinyApp(app$ui, app$server))
+

This gives us the following.

+

+

Note the Theme Customizer section on the right hand +side. This was added by bslib and is how we customize our +theme.

+
+

Set overall app theme +

+

Instead of starting from scratch, we want to start with a Bootswatch theme. Let us +select the Minty theme in the “Overall theme” drop-down.

+

+

bslib has updated our CSS styles to use our +new theme, including the customizer theme. Additionally, if +we look at our R console, we will see

+
+####  Update your bs_theme() R code with:  #####
+bs_theme_update(theme, bootswatch = "minty")
+

This is a helpful guide that provides code to update our theme. For +teal applications we don’t actually use +bs_theme_update and opt for bs_theme instead. +However, the printed code will still be helpful.

+
+
+

Customize a bootswatch theme +

+

Our base theme (Minty) is close to what we want but let’s make a few +modifications. To start, we will increase the base font size. To do +this, we choose the “Fonts” section of the customizer theme +and then set a value in the “Base font size” input. We use 1.25 here, +which means all our fonts will be increased by a factor of 1.25. If we +check the R console, we will see bslib has +printed +bs_theme_update(theme, font_scale = 1.25, bootswatch = "minty"), +which now includes our font size adjustment.

+

+

Finally, suppose we do not want borders to be rounded. In our +customizer theme, we can go to “Options” and then uncheck +the “Rounded corners” box.

+

+

As expected, our corners are no longer rounded. If we look at our +R console, we will now see +bs_theme_update(theme, font_scale = 1.25,enable-rounded= FALSE, bootswatch = "minty").

+
+
+

Apply the customized theme +

+

Once our customization is complete, we will apply the changes to our +application. To do this, we use the option teal.bs_theme +like before but this time we will expand on our +bslib::bs_theme call to include our changes. Luckily, the +arguments that were printed to the R console when running +our app in the themer can be plugged right in.

+
+options(
+  "teal.bs_theme" = bslib::bs_theme(
+    version = "5",
+    font_scale = 1.25,
+    `enable-rounded` = FALSE,
+    bootswatch = "minty"
+  )
+)
+
+library(teal)
+
+app <- init(
+  data = teal_data(IRIS = iris),
+  filter = teal_slices(teal_slice("IRIS", "Sepal.Length", selected = c(5, 7))),
+  modules = modules(example_module(), example_module())
+)
+
+shinyApp(app$ui, app$server)
+

Now the application has our custom theme applied.

+

+

Please note the interactive themer only contains the most commonly +applied options. For more customization options, review the +bslib documentation.

+
+
+
+ +
+
+ + + + +
+ + + + + + + diff --git a/v0.15.1/articles/creating-custom-modules.html b/v0.15.1/articles/creating-custom-modules.html new file mode 100644 index 0000000000..5baa3a6f69 --- /dev/null +++ b/v0.15.1/articles/creating-custom-modules.html @@ -0,0 +1,340 @@ + + + + + + + + +Creating Custom Modules • teal + + + + + + + + + + + Skip to contents + + +
+ + + + +
+
+ + + +
+

Introduction +

+

The teal framework provides a large catalog of +plug-in-ready analysis modules to be incorporated into teal +applications. However, it is also possible to create your own modules +using the module function.

+
+
+

Components of a module +

+
+

UI function +

+

This function contains the UI required for the module. It should be a +function with at least the argument id. See the server +section below for more details.

+
+
+

Server function +

+

This function contains the shiny server logic for the +module and should be of the form:

+
+function(
+    id,
+    data, # optional; use if module needs access to application data
+    filter_panel_api, # optional; use if module needs access to filter panel; see teal.slice
+    reporter, # optional; use if module supports reporting; see reporting vignette
+    ...) {
+  moduleServer(id, function(input, output, session) {
+    # module code here
+  })
+}
+

The data that arrives in the module is a teal_data +object, the data container used throughout the teal +application. teal_data is passed to the init +function when building the application and, after filtering by the +filter panel, it is passed to modules, wrapped in a reactive expression. +The teal_data class allows modules to track the +R code that they execute so that module outputs can be +reproduced. See the teal.data package for a detailed +explanation.

+
+
+
+

Example modules +

+
+

Viewing data +

+

Here is a minimal module that allows the user to select and view one +dataset at a time. By default, filtering is enabled for all datasets. +Note that dataset choices are specified by the datanames +property of the teal_data container.

+
+library(teal)
+
+example_module <- function(label = "example teal module") {
+  checkmate::assert_string(label)
+
+  module(
+    label = label,
+    server = function(id, data) {
+      checkmate::assert_class(data, "reactive")
+      checkmate::assert_class(isolate(data()), "teal_data")
+
+      moduleServer(id, function(input, output, session) {
+        updateSelectInput(session, "dataname", choices = isolate(datanames(data())))
+        output$dataset <- renderPrint({
+          req(input$dataname)
+          data()[[input$dataname]]
+        })
+      })
+    },
+    ui = function(id) {
+      ns <- NS(id)
+      sidebarLayout(
+        sidebarPanel(selectInput(ns("dataname"), "Choose a dataset", choices = NULL)),
+        mainPanel(verbatimTextOutput(ns("dataset")))
+      )
+    }
+  )
+}
+
+
+

Interacting with data and viewing code +

+

The example below allows the user to interact with the data to create +a simple visualization. In addition, it prints the code that can be used +to reproduce that visualization.

+
+library(teal)
+
+# ui function for the module
+# allows for selecting dataset and one of its numeric variables
+ui_histogram_example <- function(id) {
+  ns <- NS(id)
+  sidebarLayout(
+    sidebarPanel(
+      selectInput(ns("datasets"), "select dataset", choices = NULL),
+      selectInput(ns("numerics"), "select numeric variable", choices = NULL)
+    ),
+    mainPanel(
+      plotOutput(ns("plot")),
+      verbatimTextOutput(ns("code"))
+    ),
+  )
+}
+
+# server function for the module
+# presents datasets and numeric variables for selection
+# displays a histogram of the selected variable
+# displays code to reproduce the histogram
+srv_histogram_example <- function(id, data) {
+  checkmate::assert_class(data, "reactive")
+  checkmate::assert_class(isolate(data()), "teal_data")
+
+  moduleServer(id, function(input, output, session) {
+    # update dataset and variable choices
+    # each selection stored in separate reactive expression
+    updateSelectInput(inputId = "datasets", choices = isolate(datanames(data())))
+    observe({
+      req(dataset())
+      nums <- vapply(data()[[dataset()]], is.numeric, logical(1L))
+      updateSelectInput(inputId = "numerics", choices = names(nums[nums]))
+    })
+    dataset <- reactive(input$datasets)
+    selected <- reactive(input$numerics)
+
+    # add plot code
+    plot_code_q <- reactive({
+      validate(need(length(dataset()) == 1L, "Please select a dataset"))
+      validate(need(length(selected()) == 1L, "Please select a variable"))
+      req(selected() %in% names(data()[[dataset()]]))
+
+      # evaluate plotting expression within data
+      # inject input values into plotting expression
+      within(
+        data(),
+        p <- hist(dataset[, selected], las = 1),
+        dataset = as.name(dataset()), selected = selected()
+      )
+    })
+
+    # view plot
+    output$plot <- renderPlot({
+      plot_code_q()[["p"]]
+    })
+
+    # view code
+    output$code <- renderPrint({
+      plot_code_q() %>%
+        get_code() %>%
+        cat()
+    })
+  })
+}
+
+# function that creates module instance to use in `teal` app
+tm_histogram_example <- function(label) {
+  module(
+    label = label,
+    server = srv_histogram_example,
+    ui = ui_histogram_example,
+    datanames = "all"
+  )
+}
+

This module is ready to be used in a teal app.

+
+app <- init(
+  data = teal_data(IRIS = iris, NPK = npk),
+  modules = tm_histogram_example(label = "Histogram Module"),
+  header = "Simple app with custom histogram module"
+)
+
+if (interactive()) {
+  shinyApp(app$ui, app$server)
+}
+

Teal Duck

+
+
+
+

Adding reporting to a module +

+

Refer to this +vignette to read about adding support for reporting in your +teal module.

+
+
+

Using standard widgets in your custom module +

+

The teal.widgets +package provides various widgets which can be leveraged to quickly +create standard elements in your custom module.

+
+
+
+ + + + +
+ + + + + + + diff --git a/v0.15.1/articles/data-as-shiny-module.html b/v0.15.1/articles/data-as-shiny-module.html new file mode 100644 index 0000000000..56e743d325 --- /dev/null +++ b/v0.15.1/articles/data-as-shiny-module.html @@ -0,0 +1,304 @@ + + + + + + + + +Data as shiny Module • teal + + + + + + + + + + + Skip to contents + + +
+ + + + +
+
+ + + +
+

Introduction +

+

Proper functioning of any teal application requires the +presence of a teal_data object. Typically, a +teal_data object created in the global environment will be +passed to the data argument in init. This +teal_data object should contain all elements necessary for +successful execution of the application’s modules.

+

In some scenarios, however, application developers may opt to +postpone some data operations until the application runtime. This can be +done by passing a special shiny module to the +data argument. The teal_data_module function +is used to build such a module from the following components:

+
    +
  • a UI function; accepts only one argument, id; defines +user interface elements for the data module
  • +
  • a server function: accepts only one argument, id; +defines server logic for the data module, including data creation; must +return a reactive expression containing a teal_data +object
  • +
+

teal will run this module when the application starts +and the resulting teal_data object that will be used +throughout all teal (analytic) modules.

+
+
+

Creating data in-app +

+

One case for postponing data operations is datasets that are dynamic, +frequently updated. Such data cannot be created once and kept in the +global environment. Using teal_data_module enables creating +a dataset from scratch every time the user starts the application.

+ +
+data_module <- teal_data_module(
+  ui = function(id) div(),
+  server = function(id) {
+    moduleServer(id, function(input, output, session) {
+      reactive({
+        data <- within(
+          teal_data(),
+          {
+            dataset1 <- iris
+            dataset2 <- mtcars
+          }
+        )
+        datanames(data) <- c("dataset1", "dataset2") # optional
+        data
+      })
+    })
+  }
+)
+
+
+app <- init(
+  data = data_module,
+  modules = example_module()
+)
+
+if (interactive()) {
+  shinyApp(app$ui, app$server)
+}
+

See ?qenv for a detailed explanation of how to use +the within method.

+
+
+

Modification of data in-app +

+

Another reason to postpone data operations is to involve the +application user in the preprocessing stage. An initial, constant form +of the data can be created in the global environment and then modified +once the app starts.

+

The following example illustrates how teal_data_module +can be utilized to subset data based on the user inputs:

+
+data <- within(teal_data(), {
+  dataset1 <- iris
+  dataset2 <- mtcars
+})
+datanames(data) <- c("dataset1", "dataset2")
+
+data_module <- teal_data_module(
+  ui = function(id) {
+    ns <- NS(id)
+    div(
+      selectInput(ns("species"), "Select species to keep",
+        choices = unique(iris$Species), multiple = TRUE
+      ),
+      actionButton(ns("submit"), "Submit")
+    )
+  },
+  server = function(id) {
+    moduleServer(id, function(input, output, session) {
+      eventReactive(input$submit, {
+        data_modified <- within(
+          data,
+          dataset1 <- subset(dataset1, Species %in% selected),
+          selected = input$species
+        )
+        data_modified
+      })
+    })
+  }
+)
+
+app <- init(
+  data = data_module,
+  modules = example_module()
+)
+
+if (interactive()) {
+  shinyApp(app$ui, app$server)
+}
+

Note that running preprocessing code in a module as opposed to the +global environment will increase app loading times. It is recommended to +keep the constant code in the global environment and to move only the +dynamic parts to a data module.

+
+
WARNING +
+

When using teal_data_module to modify a pre-existing +teal_data object, it is crucial that the server function +and the data object are defined in the same environment, otherwise the +server function will not be able to access the data object. This means +server functions defined in packages cannot be used.

+
+
+

Extending existing teal_data_modules +

+

The server logic of a teal_data_module can be modified +before it is used in an app, using the within function. +This allows the teal_data object that is created in the +teal_data_module to be processed further.

+

In the previous example, data_module takes a predefined +teal_data object and allows the app user to select a +subset. The following example modifies data_module so that +new columns are added once the data is retrieved.

+
+data_module_2 <- within(
+  data_module,
+  {
+    # Create new column with Ratio of Sepal.Width and Petal.Width
+    dataset1$Ratio.Sepal.Petal.Width <- round(dataset1$Sepal.Width / dataset1$Petal.Width, digits = 2L)
+    # Create new column that converts Miles per Galon to Liter per 100 Km
+    dataset2$lp100km <- round(dataset2$mpg * 0.42514371, digits = 2L)
+  }
+)
+
+app <- init(
+  data = data_module_2,
+  modules = example_module()
+)
+
+if (interactive()) {
+  shinyApp(app$ui, app$server)
+}
+
+
+
+
+ + + + +
+ + + + + + + diff --git a/v0.15.1/articles/filter-panel.html b/v0.15.1/articles/filter-panel.html new file mode 100644 index 0000000000..d61c85281f --- /dev/null +++ b/v0.15.1/articles/filter-panel.html @@ -0,0 +1,282 @@ + + + + + + + + +Filter Panel • teal + + + + + + + + + + + Skip to contents + + +
+ + + + +
+
+ + + +
+

+teal apps with the filter panel +

+

The filter panel is an integral part of all teal +applications and is included on the right side. Based on the selections +made in the filter panel, filter expressions are executed before passing +data to teal modules. The technical details of the filter +panel are extensively described in teal.slice +documentation.

+

By default, init initializes the filter panel without +any active filters but allows the user to add filters on any column. To +start a teal application with predefined filters, one must +specify the filter argument. In the following example four +filters are specified using the teal_slice function and +wrapped together with teal_slices.

+
+library(teal)
+
+app <- init(
+  data = teal_data(IRIS = iris, CARS = mtcars),
+  modules = example_module(),
+  filter = teal_slices(
+    teal_slice(dataname = "IRIS", varname = "Sepal.Length"),
+    teal_slice(dataname = "IRIS", varname = "Species", selected = "setosa"),
+    teal_slice(dataname = "CARS", varname = "mpg", selected = c(20, Inf)),
+    teal_slice(dataname = "CARS", expr = "qsec < 20", title = "1/4 mile under 20 sec", id = "qsec_20")
+  )
+)
+
+if (interactive()) {
+  shinyApp(app$ui, app$server)
+}
+
+
+

Extending teal.slice +

+
+

Filter panel respective to teal_module +

+

Each teal_module (see ?module) object +contains the datanames attribute that determines which data +sets are to be sent to that module. The filter panel will display only +those data sets and hide the rest when this module is active.

+
+library(teal)
+
+app <- init(
+  data = teal_data(IRIS = iris, CARS = mtcars),
+  modules = modules(
+    example_module(label = "all datasets"),
+    example_module(label = "IRIS only", datanames = "IRIS"),
+    example_module(label = "CARS only", datanames = "CARS"),
+    example_module(label = "no filter panel", datanames = NULL)
+  )
+)
+if (interactive()) {
+  shinyApp(app$ui, app$server)
+}
+
+
+

Global and module specific filter panel +

+

teal contains the teal_slices function that +extends the original teal_slices found in +teal.slice by adding two arguments: +module_specific and mapping. By default +init initializes the app with a “global” filter panel, +where all modules use the same filters. Setting +module_specific = TRUE switches to a “module-specific” +filter panel, where each module can have a different set of filters +active at any time. It is still possible to set global filters that will +be shared among modules.

+

One possible scenario is depicted in the figure below:

+
    +
  • +filter 1 is shared by all modules
  • +
  • +filter 2 is shared by module 1 and +module 3
    +
  • +
  • +filter 3 is used only by module 2 +
  • +
  • +filter 4 is used only by module 1 +
  • +
  • +filter 5 and filter 6 are not active in +any of the modules
  • +
+

+

To achieve the described setup, one must set the +module_specific argument to TRUE and use the +mapping argument to match filters to modules. +mapping takes a named list where element names correspond +to module labels, and elements are vectors of teal_slice +ids applied to that module at startup. +teal_slices listed the element called +"global_filters" will be applied to all modules.

+

For a detailed explanation about the filter states, see this +teal.slice vignette.

+
+library(teal)
+
+app <- init(
+  data = teal_data(mtcars = mtcars),
+  modules = modules(
+    example_module(label = "module 1"),
+    example_module(label = "module 2"),
+    example_module(label = "module 3"),
+    example_module(label = "module 4")
+  ),
+  filter = teal_slices(
+    # filters created with id
+    teal_slice(dataname = "mtcars", varname = "mpg", id = "filter 1"),
+    teal_slice(dataname = "mtcars", varname = "cyl", id = "filter 2"),
+    teal_slice(dataname = "mtcars", varname = "disp", id = "filter 3"),
+    teal_slice(dataname = "mtcars", varname = "hp", id = "filter 4"),
+    teal_slice(dataname = "mtcars", varname = "drat", id = "filter 5"),
+    teal_slice(dataname = "mtcars", varname = "wt", id = "filter 6"),
+    # module-specific filtering enabled
+    module_specific = TRUE,
+    # filters mapped to modules
+    mapping = list(
+      "module 1" = c("filter 2", "filter 4"),
+      "module 2" = "filter 3",
+      "module 3" = "filter 2",
+      global_filters = "filter 1"
+    )
+  )
+)
+
+if (interactive()) {
+  shinyApp(app$ui, app$server)
+}
+
+
+
+
+ + + + +
+ + + + + + + diff --git a/v0.15.1/articles/getting-started-with-teal.html b/v0.15.1/articles/getting-started-with-teal.html new file mode 100644 index 0000000000..1da4178f2f --- /dev/null +++ b/v0.15.1/articles/getting-started-with-teal.html @@ -0,0 +1,348 @@ + + + + + + + + +Getting Started with teal • teal + + + + + + + + + + + Skip to contents + + +
+ + + + +
+
+ + + +
+

Introduction +

+

teal is a shiny-based interactive exploration framework +for analyzing data, with particular emphasis on CDISC clinical trial +data. teal applications allow their users to:

+
    +
  • “Pull” in data from external data sources
  • +
  • Dynamically filter of data to be used in the analyses
  • +
  • Generate reproducible code to regenerate the on-screen analyses
  • +
  • Create and download reports containing results of analyses (for +analysis modules which support reporting)
  • +
+

In addition, the teal framework provides application +developers with:

+
    +
  • A large suite of custom-made standard analysis modules to be +included in applications
  • +
  • A logging framework to facilitate debugging of applications
  • +
+

More advanced users of the framework can also create new analysis +modules which can be added into any teal applications.

+
+
+

Your first teal application: +

+

This simple teal application takes the iris +and mtcars datasets and displays their contents:

+
+library(teal)
+
+app <- init(
+  data = teal_data(IRIS = iris, MTCARS = mtcars),
+  modules = modules(
+    example_module("Module 1"),
+    example_module("Module 2")
+  ),
+  filter = teal_slices(
+    teal_slice(dataname = "IRIS", varname = "Species", selected = "setosa")
+  ),
+  title = build_app_title(title = "My first teal app"),
+  header = h3("My first teal application"),
+  footer = div(a("Powered by teal", href = "https://insightsengineering.github.io/teal/latest-tag/"))
+)
+
+if (interactive()) {
+  shinyApp(app$ui, app$server)
+}
+ +

Hovering the image shows the teal application +generated by this code.

+ +

+Example applicationExample application (hover)

+

Every teal application is composed of the following +elements, all of which can be controlled by the app developer by passing +arguments to the init function:

+
    +
  • +Application Title +(browser’s tab title): is the title of the application.
  • +
  • +Application Header and Footer +(the top and the bottom of the app): any content to be placed +at the top and bottom of the application.
  • +
  • +Teal Modules (tabs under +the header): tab for each module included in the application. +
      +
    • In the example code: there are two modules named “Module 1” and +“Module 2”.
    • +
    +
  • +
  • +Module Content (panel on +the middle): the outputs of the currently active module.
  • +
  • +Filter Panel (panel on the +right hand side): for filtering the data to be passed into all +teal modules. +
      +
    • In the example code: the filter panel is being initialized with a +filter for the Species variable in the iris +dataset.
    • +
    +
  • +
+
+
+

Creating your own applications +

+

The key function to use to create your teal application +is init, which requires two mandatory arguments: +data and modules. There are other optional +arguments for init, which can be used to customize the +application. Please refer to the documentation for init for +further details.

+
+

Application data +

+

The data argument in the init function +specifies the data used in your application. All datasets which are +about to be used in teal application must be passed through +teal_data object. It is also possible to specify +relationships between the datasets using the join_keys +argument but in this case the datasets are not related. See this vignette for +details. If data is not available and has to be pulled from a remote +source, init must receive a teal_data_module +that specifies how to obtain the desired datasets and put them into a +teal_data object. See this vignette for details.

+

In order to use CDISC clinical trial data in a teal +application the cdisc_data function is used instead. Custom +SDTM standards can be handled with teal_data +and join_keys.

+

For further details, we recommend exploring the teal.data +package documentation.

+
+
+

Modules +

+

The modules argument to init consists of a +list of teal modules (which can be wrapped together using +the function modules). Core teal developers +have created several universal teal modules that can be +useful in any teal application. To learn how to create your +own modules, please explore Creating Custom Modules +vignette. To use our predefined modules, see the references below +for links to these modules.

+
+
+

Defining filters +

+

The optional filter argument in init allows +you to initialize the application with predefined filters. For further +details see Filter Panel vignette .

+
+
+

Reporting +

+

If any of the modules in your teal +application support reporting (see teal.reporter +for more details), users of your application can add the outputs of the +modules to a report. This report can then be downloaded and a special +Report Previewer module will be added to your application as an +additional tab, where users can view and configure their reports before +downloading them. See more details in this vignette.

+
+
+

Reproducible code +

+

teal hands over data with reproducible code to every +module included in the application. Note that teal does not +display the code, that is the modules’ responsibility. For example, the +example_module function used above shows the code in the +main panel together with other outputs. For more details see this vignette.

+
+
+
+

Where to go next +

+

To learn more about the teal framework we recommend +first exploring some of the available analysis modules.

+

For example see:

+ +

For a demo of teal apps see:

+ +

The teal framework relies on a set of supporting +packages whose documentation provides more in-depth information. The +packages which are of most interest when defining +tealapplications are:

+
    +
  • +teal.data: +defining data for teal application.
  • +
  • +teal.slice: +defining data filtering before passing into teal +modules.
  • +
+
+
+
+ + + + +
+ + + + + + + diff --git a/v0.15.1/articles/images/bs-corners.png b/v0.15.1/articles/images/bs-corners.png new file mode 100644 index 0000000000000000000000000000000000000000..8d3527d063c1a90e66f176564fe74ee2667df017 GIT binary patch literal 133220 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 z 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 literal 0 HcmV?d00001 diff --git a/v0.15.1/articles/images/bs-final.png b/v0.15.1/articles/images/bs-final.png new file mode 100644 index 0000000000000000000000000000000000000000..95dff43e2fd4e3264d601f9908ff901aa2b66216 GIT binary patch literal 109110 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/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 JWxv@+{ttSs6*m9? literal 0 HcmV?d00001 diff --git a/v0.15.1/articles/images/bs-font-size.png b/v0.15.1/articles/images/bs-font-size.png new file mode 100644 index 0000000000000000000000000000000000000000..eaecb73cb65237f146c5b29850837f5f65420fcd GIT binary patch literal 138446 zcmb5V2RK`8_&=Ujiw?9!wG=HaMOBMX)M#tep0P>QPK??$BD!cPI@E0J86!1f1W8rV z+B303)r?Jo5Ps?VzJ2?Czt``&e*gb-UE(@9C(pUh{XF;h+@JfrGSJgtInI3?006LP z-d8mO0GPr60EU;$jP!40v5VF8e}{aGH0}aQIxo!A4~{tB(Y*rzl*XRevpY&ZKKAIo zg%1F5_R6onLz+gHR{?;798J|bCXa0w$BuoK4@fXThvuz+!ahos%u9#%C7KnudsbAkJHG zLa}Y8v)*z_XL5T(`anN+PGT$6Fsq|(N~JT+w?!P+2XW^6E#mXEct&xLnr248D%YIl zByVzGueYr`YnV2;1CMFd#89mI;(UMVD&i`81G9aaVinC2Z2T>jZYTnqE#(c^72B@Y zUemn?YhsYE^ojE4yKekJitYE@L8qCP5pfarA{oZdIhHiMjBBq>$L(oJ zgmR`e52476@bb?}aT82de<;nsMr+&QE;{LDCr_T7l#>=Run2f`)N*E^-+q7iEP!iY zLjrcLxcqu*fy))r-n^g*_PP}+UOslW@LQiY+jxc*HZ*IDxD*Y>>Ec3W1VOjhb_;J; z--$g~kHG8*fz#?`VY95_Hn2~;hi4F${)J?252iYWgn3gEdHHe4x8$LG{=*1DU^apSu7j35e+@?qOC{Bl7xccp1mE)dpUe? z++ZNbKUxS|?dg5fgxHc;u^I0Nq|Y+@vM@_OK5EIA|FN)i+SdJeSO9h}cimnHI#b~i zthBQ?&uvJ~unk-bQv~Zz`-|7o;N%1R1q0&ww9?%P+HjtJ-`hNR2Dskz2gmwV+niml z>v)`UQFnn^NYnL$CJS1{TGt8kpiG`lux4@rsh9xm_FNtCk8OC8M6>#2z=jerZJqX6 zT=%(tE}H?$hyRjxyWnn~`M0CH7^bwoA2?nD`e5r*ytq{^zs-b|b=`t3?LiL?t@z`b z4RmD%EuZz{9xb?sZL`*|fBu)x_%)u##vc*eKlEB*#by~-RFi?hBtLm_sXbgJjhq{< zLSQvZ-%;VVT8{j5T-qkn& z7EQ<2tP6w=wjR>vo~k+*I1(17nf2rH@adFyej zsmedgyK9R2ed)l|cEEwQRmT7QyF|)#FfC3!)gIC^o-u2*Z`C%c+TT0pV>(vIvu{2z zWLs4fw_o0b=_#*oLhaw(;NLel_OwDC$hBFVds*KZ-Kk?-*CLWg@S~KvJXZ=J3cwnI zy|v8d#}9V0lx~xq#CO)NAQcrpjF7*vg(4RRB^G42LQJ0_n*LS{0N`u(3kqTbSmgfj^q^0kyyd4mRiSS`BY2 z(W<9Lq2?!bZA1X$*%4UUiTe0GFm(fACNh5g=Oc>a0Wg3>@PP2VWCz67Jt`@=HDEC_ z+dbSu{>gN+IK;-8zp#&7P8`oS4#{!L=_2NMDp}@7!S~X!Ug724lM1qePv!CdKAzeW zfzvBxDt*(_({vAzKwWG%Hkni^$SjQ!KXmbaeQ=>@V7}gKJrJ=ci-VorUc%!Vvxh75 zXsb}V7@E?-A{v{7+)$iE-Q13hlGfAM?Bq%Lct!omaW<`Ed3r9V_PGrWLsQ;@(`k5@ z{%xtfFJM8-9u_YDvU~DwmZkf1hOoY6Wr9@5l3kLZVTE&*O_>~nux)PJ^%J*s^vQ@# z`Qpc8Ki_gs>tG^T`6~Ctd!V>gs|etp^oYC{ey453mFu^!zUX%3cu2<}&wlFmgYqB5 zZ-yr09$&zK3`ZN|c65`qeLK3@+UMko-#1>K@p&?dKzggeSK6{~$puKjA{YJejB&V} zUE1MB9_&uOQdwkNQJ^N2hKX6?>}yGaB-!eX2OCRFYj)0nCZ4NyG1ycbPm zjigD?L#du@1gO(HJkx`egwoe(o zVw=+fbM-IAu0^8NYn8_rQc!s&IgXtU36mqZ-qu6%vML=m!S{I<;#hLJ>pX~$eJWxL z2&;gust6xorR{F-?{$A3(fl;NtV}Y=DeX{tRw6W}hH@_2CdC>A0#PKTD1=BrwZTCk zSy03-xnws}_VVUQFjh5B4dgmvRfzZ;P?r0V?+R?Q&eRPB7O!5PkO~U<;My{1zsjMj zC5e8S)?3)rDXG!48@u3Y+*IAT*q0jOTxR&*uk&YO*e(HkcLVdROHo_UBonA#FN$kq z`A003su}*|bJ0h|oEBMIV)?hoJ0}3VU#)%G(JjH^lH5GOfeA;sPEqdk}jZNgPKLWxo~?@;;{ zUgMo{(z;&LDVwWoq1jAkb#4jZwTZj5E`}@IK)eXPQ$0KPs@993odZRu`u*~t3I0Na z#-19qSr<(Bd8-`0QL); zwOJTAiYr9VmBu!|BpeT!2Os2`ZD`C>6+HXeL-jKJ&%zq2eA{;Jfohg4puq<@x;b8* zf`=~KrjLZ~Fu*(>K4q<=JqL|fbx70&=m?hV#C7^czOcS;D{GlI`Y1MZpS%IAgA|tW zm*ee^OzGFx2AvZsyU_P<2rS*JNiuQ6#$j|9dHD93T0O5tex&7&fhr^ zz^+C4u-7a@G%W(QOL1L=+g9*1g~fPJEQm?_&Kanws!E?b8BpiaBM|I18oImG8Mm@# zx_RigWdTm{?L7kroCo-xT|s|SsNnclt$?|kbq!h<8=hYSblVPlM+*Rchqqt1ynKu! zIngni1<-AA*yjCchFtE+|NPRB`-I`sV-|q)dg%ah$TGJY;NSawiG<(!(HWeO;(E|9 zjbIFmnSm>=^Y86Q2>zM>lQicifQp7I3H=gq?zb{FAA5A)-9C{n=F$dy^`EcL?b}5r zZLwKevRBh}bOa-G)W_yOvMNUM* z0mT{f*%bv;NFA!su_{sfbKONZAXnxQq#YOXRJG8GAjosrNcKX}r+7Z&=zyVIeU4n7*dklt;19e(ip#$o;j8$FDmdb0nL zflpDZrDX|sR~fQOreN6YLIyq{OyEbboRrF(svhDYn+@lm6$!gy0)!uWF2TO1uDijq z#Cy1klFVVJ__px;@0po-#^)Lll$bGkwu0&L^71NWJeXD6mCJZYJrcw1XFXt{-`0P$ zWW_`cHXWiCADZ48AjT2cc|LNHUr^0NJBJBGqd<|vh6{0im-UVMYuGvDE{>Z`qsmNx zwUzk`XtvuOC)0}OUTa1Ul5<73azr8PkJP@ZYJyro8x1MQpehxu+6s?AzZVdH9159G zM_PS#zt+IeIa^dmB3G&R8J}!zwK+W+T|2hQ!^KCls~SqVM0a` zmMpss(`q!|uHpCWQQHHNB_k2}xi12>$u%wryIXMxuv@wmJNmK8Z4 z_W-&f$0a7_fBSa-mo3Zh51>M)Z{M@5ew3jo)5Ze%gW_(DKC159*errOF+tc z8j_dojY8fDICmI1)EPJ5SF-AvcNUZE8J^+QgMWz-;Pi?_?-{@6d7cJ@315YjfgaCl zAjgwY$qVLcI#`vrv)0J`@`(F8xws#(CO++!E&1gf(_DJ$?bW6|Qq7{7GhuxJYkC8! ztOh?{i*YD6)!IE#dtGHK3`-VZQbh{EQ#^V3mkf1%tsB!TE!HCU`Z*)HQ!a9PY!yRy zL!maX9P^FsP-59((qO?|U|Ql5I=r|RVK5T3pF_Axb%VkMw2PJ=@e#o#FQ3>KFV&eE ze)qo<%dDnTXJAN+Euc2C6>k_ltT!zakdQYsOaN!+X9&aEI!dD#P~YZf#UODT{VF=$ zZnk|2Zly61HBu9gQ<1g-jYO|V%(8%*&=yj`9sO-Xc!<0{T9! zE}t?xlhR+lyoc=EPY?zBP}xJN=RwmSG{5JGdOtVrKYjCt7Epp_^}*9}db|RUbE-m1 zo4$Q-l&y=BCz%(w&MFz`f}RV!(-=5fuIVfW`EhZ6!U=R8K0aT&%>q&)$0OS^Id6Jc z_FeMWb5KL1AYUS%A@{qyLD-**BPpo-^_7ET20R$KDNZ?QOZkcpd8JN_ZLsZ!gU~wz zM`zY~4>xGDJC}7dZ%!x341r0;{A2|&C`Rk>5#dM9sm%TtUKMRB)Zv?th ze^lwiI8Gx_tu5g753orh)}B|v=xt-032nW+Q^_KBcDai6v9j80?&aIEVFJ(*-JRhE z`Q>BJI8O&!50Ho@#X~%DK1hKny?puEdCZhkz5jIXJtJICMKR;EU?uLthB7ve_0?V^D3Nom;YJS29w4&q^os~U~y`m+rd-_@N&X-uwv^#Pz zu0tW6n{2EaS^mv0KRvX(dE_|A*e+U(LV(xzx+CQtMo&@kjOnMR)UOI4?*d2gc+az# zO~C;U#2YHvQ}R*djSh7UvjU+lPTZ1v@l@_ZRNO6-w~dPESnViK-_ud4bq?eDtwba- zxay7+0cb@u?YIM-e>2HKp+hoS&~)JzA4PX@#MToBsZ92HAUV;1Jt}_c=9G~d%Zj_= zmLJI7FW_OOKtz+4#=413ZF}Af18L7<<<-lEJbCR4juD{pwj}lY(p>u(dC?;t-_cS3 z32%>Wgia}iR@}K-5UCZ+@pj@ljAjp;TwFcB@WIQNHo5nfVvlyTX<^+duKGe4ee}U| z%ulQMnO$^dCh73R;5ia;Jn|M{1zmJW6dg-8|7c>RP?PcU2+7N07p-7|Hc~bjn7J$B z{YC(lTx<)j(=vP?vO9L>^v(L>F$vepSH(fP^T!Ge>ZI`&4r0a~mvBn~ol&B?bhB94 zd~ji`P1ZwieJC>d#(nuunjpFHRieCy(B_J=ZBJ-RJ%P*)+vOn=_pF4wcbVKDQn!E| zu2l}qj^NKFcExq! z#N>OL-X)DwEBwCT4x7e5w*+9`m%aD@#${;pgAiNfyge6&a%1iv1lj~^HXX8U;giY7 zd^3|dMciQL>`@h;w1j;e?y$|fa-?L;s?KTvrC8XCQ_MlSYh+`yIDvhr86N;}n$yS= zipctSl>Ajp02^!KX97&S6*a6|Cm^A0_LioXPc0^x3{0F$m9{yj{dO9w6wSa=6Nt?W z(@@oYQ&rzkc;+`Ew{TYttYmtcNw#oZ6Bin0B@mdKi8_yZDM><` zTA~K-Yj?jjgQ*!d7W=H?wLl);Cz`CepWORA+Q-v!p<^A~br4_`2Y5|wFzYAnSDZw7W^|+;&t=5z+~nKPV14rw zyO*y%G_Qc{@ADH$AN@-+CC)94;6O`8@gM$me6nj`>fJ z!m;D?@kc&OANq|Q0o@(_ZZI_v%G0o;^uAhljPcL&^qkJFNPrz_QVw%oMf;|hAQuwK zKv~hpSDNL#&Tcg)8VzJVy^Y(Y0#`W%FxPZux!a4+}90z zSL~f9R^}PKVd(@<1q}r6;6omc?O#^Q7h0hSK}908er~?P%UH43Gj7|C!0#{7le_H_ zq^%`t;T~t?IS2y0F{nxkVOzMeM6I@c#8#dE2LyeIl%+n(>lj2V7jb_EbYJ*SRs{e+ zPXEcV04j<9iB5p98+ZO78vwxW=^w`p0DMtZjc!U}9cE&pxQt|_cUC4Cnh`TtixYJ#VRn1EnxWd*!;r6!f>EeVqid$f{l?;<}bs)&IaI} z{yboI_0pv~Z{NP9oH~8l&~upgtc302zv*DKDFLuQiw{7%wT)0$4K7VebRVDbu~$-_ z@o`Yn|Lt4=DpqJwfQ;QhI4!XALRh6_n(*BR|DLP>bszfVN=aJfVpiO!kxY~L_e?ta zDQlQ+8V)eb^q+4l)VdF?mb`n`$q{BSwehb}g;g@k1Fjd|p4U0V3{(RDJBdqFI>Up1 zj{qtJ4nupdT&tfHkp3-Wz;L4?SIGFkey}3^pLHpr4}|Qqq=1B)zAIO*h|)%s7uNyZ zhCgsY^=HnU;W&TZmF@KD)8yPSyR{!pol@B^PH+v|myhyUaY-G1kbdIQ@022}a!s9o zx#E0npEyfcbWfJXh&{l?Qz2lvqUFeEmBjzcbq#bl*WJS$_Ta7-hTMs#KrOK1>;}delKh8c0QkcG;7pWe^~$tD>cpQlVf-KRyn4wUB{e2cg$nwT1j$OAq;6Jg zCMTcDtNz9eGBcZdq?uZ#90abJ&Q*!T-lAR5jgmuF`G9-hH&M#3F~liNAGR5-vL;nI zkibkGWueL5tsFL~(kirIH8Cw9@^+w!)dsPTxXw1%C7G*Rrw+d0d$$np0s1-b3<<)S zlVkEtht?E>?AjE93R{PBho|xKqO7E)B~MZkgJUQ6HT&xWih@*^J`EJaes4&NU($df zNKK?H*QhBc7)^a2u&KUO8D#4-AQseV;iP>bPtIPy=j-DQOCt~{iNZTt;#?V;&8zn| zyw|twXr61elv!b>%0bYscyWMJ%j?7v{k)TX-RFF+Awh<=nH@)0pf$7R6`P3zODjIq z5hZ5}m8{JHpU&R%oFkiUW2dRDgFW0Hwz!#W3a5K-S#eta!_}nJX^^NK=3ZCGT%4}!Iq;6yPe-7=T58E%FFMB9wr-n~#K(%wP6U&Bjg7OPkv5|`Y8T%{ zr=IAlBw{aBy>e79>TM3{3jPq2z~37lHiDPmvR(~z{zYE?8r|H#AiRuy03E?&{Kro^ zjoZxVCB(%II%>r7xyK$#uU{Ii>Ejc=eEF)RWG|n9fWU%oZR3xosHL*zFE36km0EcC z>ak2D_D~n%&L@8u)NYChaP@2OFIF%r!M@5{ph|V&Rcj5N?0+yzKXb)pA;0f~i^Tgg z5&HeFLk;Ck;z-YN@i+T`!j5kqwr)Y|(Io>fc6~2P-f@1NT7r_E6PC5K7uM@@;O(vr zt|HaHd%wUdYm~;Vteb{-9G|--idTp3EYKoAd`5gC`(T zeG7?Hlv%kT@5H-$xkH}z5C$A7XNw%zd^Jmo5_vXIweV(KcDJ-jg()+F)Mp=V9vhw< zSRds_TWwe{F4ZTsla|DcTu}}9N}GHMR`19^L@grQ`0#{lo=*Sy`Zo0RR04UVgGAn> zLFHV0w%Aa;p=I0+q=|?jvit z%j2u@sh{xV&B}qGTb?*Q)vu8Diw6omRLJM=;#695z#_p0>xDMuFEsKc_9Tx7<5Iud zELpYS37e`tULue%J@->DDLn zo;9%YZ8zxg`;`z0xM%&iL=~$U?vi|4AkuS}2}$^VSaDviQr|69EnwE89M4`TWh5*o z%WNL5hv$6u5EQs*Pa`8RG}s)1uxVNFih8d-u)g;h&t@&zuVrapcLZG}Wb4eTJSM{Y zw|UV&ePi^P!}JH@zAE*u)d%H#3VmOrK(8j1-h%3+5S#cv~7IVU+?Y^2I6!v{} z=Rn9Ur9iV3#Fv%M&6$rxzRlaUu_I>jOOK^g_@zIZ-lx`p&#!?V3g*)`8V;?}tlQXw;7T2`l~aS@>p(X17RZ=0uFeDLp=uWxlRJ#bneT zJLP%h;`qGW@=@x~M6~YPQtqEe#<5GN-sLaREHTBAK4|JobY@~h^1Gi_(y;D}6NElBQyk_RZ4H*1}P)-<}rUws~tVX4>*0{AL^vx>|4BRGBj&3)5eI@61n%+@l{|HlJ}~w5bq9XfU@l{U>9uNRzdTO4pJkpbr3`e4fdgq?vC=duF*kF z14oPZe>_~weYJb?R{1_QWwOF<0jd~(io`h4aK5*;itH(YkimP_<5zd?Z$hSdX}e?M_x9BVgp0drx+IZNN_Nekv{SucYWl zmQo7V^VfOm_^)-=oXGiVTVDic_wD33mL<^{)-#flMG{B~Q$j9A#B*w9ynVt<>zf{-84IW@aS)R+ z6O6fy2pI9BnUf2C<}tB&67dWhGi{Zpla{FTnxQDbuR#yyf?->Zv&ZW}kkbb-E@q%6 z>cxptV57$lX6E18JwRSV_{eABCGL!RLD7na<#OQXH#mX_^ws%dRE(Y>aed6v$~w!g zQHazxPWcd#iWH#*4bjT3hl*L@f;~U%S9VyojN9YI&~SNC5f~fyCY(@jSOgWUfwIl;HpccQ90fFgh)+;gU>HWrC2?}>DjUQuqEQ zuvsKyP)V|Qg-@XrWs57aS7$YBObxzwVtUinhLu%!#Yguw`nB!DgJSeABD~v^6L2eGlmS&&hjj;CRDhfKD_40G zoF9~SD_>Vn3A;RJ2ok%)t`Sp0ob_%u=+NU6I0&zW9rEF4(Y>%}HE~YLJ3n0QmXxl! zS;$xU+C#SgHjDt~1TrPXJAI?-K2|j)L5j6t-kDWGC;5=2&(ujpUsYKa6SCJB-UI!% z&ts@@h6`yps54>vD=FevsxTCZbd%mQck+o-a?pe_8s#gIL*Lgu+ z<@;JAQ0BUA^@(0>zws<|3MN8_~7+*{kg2H zD^?Yhm*wqq3U|3qE(m{E8W61-F0hf&(tw@;Dh4LLqh5wAex8)~T;xEcbXy6>x)a!~ zw!YcuHWF?l_mHXxxvQFaEWCxUV7sm^Urs>}BB0IRq&5rsFY`(a3hMLDg+B~m_;}|S zH%ChLK8y;rY<)x)9WJb=SIF$#H=cjZNS1d?H2QHy8lqCx%*K}$)%>xbjcVpXJ_J>M zddmq*i#F|Pa1X+L_b)E?i@D$PMzqU^H;*MH-LPI?`qnbmJ`3Y##sLBM-$2M+)MS6J zG0)*VBE+I_FO6T(`WZB4u7k~|0yDa`w=OuKRY~!2z}Y3sSK}C4Sb7Wa*xXn-n?}*t z1&0+Sa;MGr@8;3^+(mJrBFUpD6r)uOY~f`A=AjCj71VSUJ6q~C zLhZiH63zPn5lq@87t=uL=lcezzkp4ES42?QL{bwK&!E$iVi~d-E{|e`91q`BfnvC(_^uDdH!cz zz<#gQ+184k-G16C))u4>g+8`IY1IbQ7t3ndONSC@bjk1EO!1f?tW(f(Z1&|2dX!(Ew$CfXIz6`*;aar45a60j2+Kac3} zTmT*>7HIUs=mzUJMZq;q&aH_6-e?jAPRLW7&@Uu%fz1W|oTB z-E+|^FjWc9@!ZT@s&9#(N|$@6)zEH~Unb$A?#W~>Zs^W%PHmj&bV?*C8t)PLxIAWM3QCGz#_3MS)1g2ECj zy%ts3#(je8dPNJuis4^=laAHA|2J~`Hw`>>mfmc~C~j5Rp2QF&^oNZI)7$L6$9CHK zF!TAt6AzXitI=Va9(-iB{a<>x!pPAv2VZ27HQ5*erSF^0-enPCVU4O$?& zU9P40)MEa|m&#Tf6|JKB@;-pOBJ}b|sQiYdGwVNQ@&5oeBlqm=GO!1<6;d#9H`S>< zF{6baZY^e3(*KN2DSvzWah?h6S9gfb%tXU8N{E|V5q6)9g3^^jse7A{;LKzdOj+#t z{$6;X&`d%%MMjrMTMj^+!6vtenHGJ5E~=}kx&Hk2Hd)p))yT-`(RVudv=D zz-k%0>yh_-aoWPd!m`Q((c0R&==hA0rFT|oOU}mo`xQ!E+h$Hk2aqsmk7D7GnJaDK z>%+o!O+cWW@%mus-u4=mQiUu2`c*YAt^zV3sxY@Z)D`N)@4Qj>gn?;+E*F|sEvF%Y z-Oh~RRdDJ`nLbVn zI5^GNFh0M&?j4MUAM8`A6>pRKjs4AcJ3K@CSOavrx9MK1P(Mvcp0?SCF!Ecj-?H8H zVwVY>JOS?RFEHk$H$^ceJAd>Fw`o3-7>EaijDow@cTsin`5t>rPyTxQgwq|hMn zNlAfU$P$_`jBw9zfo-1WK9exf{@Z;F-!nTFrYmm4K8gXl>aIeb3bEsp zRr*Qv=cs7ZVqZvB@m(A&r9AkeA-e~>RD2AsJBM-jenuf3=qRN3(VS;LnLB*OPxo_B zn|Re=Y%Gtg9+&Oo44ZOtcg8*W*^fSpWgdW!bbjK1zORbKp-=7ErBm!3T9bz>W^S^l zCa)`RH?S@4Fnt%F7Rro0ju0Q^!^b+e@DC!lzFUkI|h1X1!Gm+GY(S5BT4Q z-hE)aJH%2Xd|NjFf=t#y0rZT>DWx(yCbj{yezS+Q%)JWGxx zOni?&v*zpSLdscvtUD?(XkZUbn(J_Y!#4D}D1enZcFT43kuLAMh4w?tod2zDs%%Sj zoKN}G(qB!Md;$p##oCnjlh6d)@?B<%=kQ?L^Q2svRW|tcJq2@?ug~k67l+E1O53EL zg)9{04QC*g56Xld$s8J>JAK5J1}PXXzjCNGal2V|0obqzvb01-^T;j~m3NlibB2Sd zy$Oq@ax&3gTLk5HV7t8TeUHu;%APC_&2XW##pG`u8zbRzozc8dUpApZmVV(!8WFgR ze&on$tn|Ly-3J$+x6ghLDfylHDn2Wyf!sCeD=JN}+SrPg9skr)l9?%>knSEizd`6% z2LkBq-16SN2U5O-Rf3Bj%$MDC z?8f8;gwhR*(w_Q{^b&V#h)4TuOGpee{GUyjK6?XbrCV&=_q+_w41H?R*#8FDaXC2Y zbG2Nq^7zcxmX;CPri_elcKo8T^UKIc@7#sNPy1c){c@$Pny#USb;YgGEPlE-W$9$c z2zxTSg)ejObDsu!WKn+W0$}%<2UgwZw5VrhW=7~tX=tx)8=Zgm?o4fwRhx8NDttds zkvf+}U36A1r29#EZBn9BI2c9-jrsQJqJd9!Z$PR2zzlo)(5+hH{I3A!8M?vq%WYa% zrdc%~NfKiAXf1PW+Z^@j8nTC1jRzGf(gO+HJvKVGbyo_;eLw;qlo$F|rD!dES=kdVxI^CdAgYy0= zdiz`0PkwnpsUCp+p)1nKI@Qp_eC*b?{zHx|;S%tjHh&fq_I`{GxFL7Qf!#o6rdL}6 z-QtmW{^h*=pn2)T7m6Ni`yC=o^eB`txVt@Q9}Bd6hCkAumlle#v643+eiaGGCz~1?PU`H0EEuPiwM4M;mbEam32iUEUX_je zg=VCGFPF-o5A<;DX!7TA*S_23JvcZ#_=2camB&DzzOp+LCVC)bX{@%Y(tX5f>$?IJ ze~r8}V)kBGzmmbuIA!3rQ)O2_hYZ?4cLGA~<&|`JsrT`g-IjzK^^^=SDPU#XT~^o~ zGHUDFqvoGhCA8iC{d;Lj4G_rK5hUX__<%49MA2P(N=gb8hyP{GffB}1L)8n&!o^ZU zYiqZy6i8*ua|}K28K5UIA2mp%zPwl)?V-gkZHan^h{E8lWpvflWCXuyP!Pt(qcu(> zX!?WM=6ah%;ipgCB}w&;ZD$o%KQmDL;Up^}k`TMfu75kDPftPDIW;g>(bHD2`{wt~ zPCRj+BC9Z0`z!Vge+WM|)S;Akar|J^*}-9O#HF&KuCk!X{R@%Dv#v*pqGCl)#lG^T zpy+cq@Al>D`tZ4bi{n@DFH)k; z3D(A=0%Kec6P`Es<>^#*b5g>)Wi0o>V;FUC(2xE%N!JYnc>Z6x_ZcG7r}K4f?Y`dLWj68jX?;1W z*e1Sw`4R-%*Gs%{DPJk<8SB5Y05FoCo0EDer3y>@fRulTyN3x^0F2#+qkvnNE;X=* zjCB(f#@+!Eh0=dVW&q%SzlihylV1E6xy(`iA+de^{QQ>c&bQaqwj-{Kh?KU)@F@=S zZE>9LQk>QCD@ulzc;$wrLT5V>6uMOZi%N7$0G_>W?GoGJ9qeY){-<9;WpMQ$+D!2Z zV7cfA=dY{11(2x>! z7!Yz0ScF9O(sQ*%<+yhK`@Ce0GX&>f69G;gN9^n}o;v=IK*KD-V+|~@`aZ;I06WE> z@2;KiQ4hdvcuODlhHNhv#q!{)q^QxF;Z1IK<@TF~J!kUwu-i>nC&@qH}d?i~+*I!SUuIT%duBZIR|8UBk%wYZeb74^!b-p&o|8a zCkT9x(O zEwQ~ioGlTXXxGIKU{GQDZ75^Bhi+il|FJz@B;Z#69f3m+XD6*Q#a!G0ZpmT$KerF@ z7T?Ygc_paElkt~oetn2LJiQy>a)SL7m2K{Jh7wmsP#QoSDC6;olE7b{ckGX0C!dPE zA<=(Ga5&*$2ht{YqG^}OX45Rs7DY6_ut`eRH zEQh5Qimx!R^VKqRn+iT;`cKbuD!om|jALt|u+zE?eP!|9HneT`*~N421IqI8e_9we zuiccW&sLJaEw-a|tnMmqS{K8Jr;cQa|Hm)Hc9ULkEoS8S>wLUF7xl(f_ngkD*AI9L zuKkDpo)ll$ndL+vmfC?U6ZD*&-j!g>{Ith*y^U2Yv-wAR)i->x6%f*Yl@27k&(!)a z^=_|CA!;b67f9thLHR``rhXu_Xd#mBU4D)9!l;-?BL|c0OhG};)2An|x!1;Q!x)%3 zWvMUsy5Ngm+Huy8p3v$b8!3svI6D2=#*}k;#6G?LDElfSJ73oBEpr2xSay2XfGaFE zr6D9C_f*W`y!TEUat};DK6<1<(aehB0Xx-0$x?;A8xTg-*$!TJ$O%%@ zuz+8t2<-jE#iys-gtw*O<~xX#8PAZ7Dy8oCs<*eSqrMQ?6KrzJw2yUllaKV>mhQOQ zNXp4%1B%$)q6?QEQ`6YfzZYG(uTqf`70GNPW%##prV?@UOQ!WjxU~)<^^VMuW4_u# z+rWE1dbWW%trED=BnC`LJY&Nq+sUc-Q%usAb5V-A^uC6CM>bsZ^$Z^v{34@qOSz|ZvXUBI3@EeY24r=N`q45r^TrLZ}$cO6Fu{V_;(;&)nLAm z8Uq5&a2f(>|35vHR$?A%d z)9SRfb`pBEUkoVc_1swU)AiE;Gmc`ydmK(%xo+C3_1m|6UaVhRanKxZ-l^Yn&y^;h zfImqssX3K+v3hpyC!qQ+zw!h0~1$Sqx4{yJf_Db*8!62~mcizyg#0-BD?^>eivUw754qygpS=Slc-Skk? z-Oi*V^cC{Ph-Z)NOg1UAYc$`=qeiXjU~elqAl3MS&E5Hu;#LKtTv7VWA0Pz$ZC()) zx7F{$BeUWc@WorwOwpYu!Zu9jVkH)hS2Shk4?-V(P~Y^A|9u(2oPK}&r6bEj0+4HT zro(Lv1Ikj5_MWjUG$QS<+R!HJ-(o`7mM{Vh7Ngm>#lepfZ0~n=r(w^cIN_nHD44e@ zC#WZq*FP64y<&xVWL{y6H++jSw$Tc2s8t$?H2}J zCdt*CJ-UzmQOcbtsYVFh$Yms5-14G6A#)EEctF7VLFLCGLJ7mmG`FjU{WzU_%W8}Nfic4jLwJ9?IoAwf$ zTItZe$Id0N=Rc^{mi~8PQx6e;(_^Qu$M8xRhq&=Om-zh(v!4saCsF_Rt}6ebJ0jmH z=jLLPj|aP6$B^WH`^o>=UG)#p9K0q=hjSE@6TG({8_;&Q0%k0sg|_CET7iNk{Z-eM z)#!BqT`_!af-Qma^8N76XyI@G6@;02S}q;>*$%eZaJIg-#C+;{O6KJ%J)iFo8ihif zYqI&k{TTm&I+`=xqltb7HSLA5Ein@)?^6D5tH51RNhUfjByAh`m&!^EC9AK8`Y&YQEKKi(JYS&U!)8Rgf>Ogc$kDEyk;!|lJ$4l{|% zwvY|gOVCLz`tBSNYTFSzO&@3A*}CE3lrD``rj&5gBtfP;$*N>3R(t#_H5$V1lrL0ga^ z(D^%(vc2s%FdV)hqUabtAS_Le)aTi>6yDPU1Ls7Fm2RS!SLhvc@|sPW8?rd~hr|iruPZ!Zh4s*V%$-kd zEKloyy+un2vBqJ4ZAuS*1@*0vvc{ysu4}TfS){89LG64kU%&RB2>xGSI9d;KnEHv8 z{{xkUC*zj0X4KN)^^P6ou{H4gukvx+KDY`xeiYB&+XN-6ml&(Jpyf%P!{##PX5*o0 zq5d1ri)CCnT|Mqw`&#GU2SJG^w8`yCRof6pntN6&Be-B>WjD!V|1}6-6x`{K*)lty z+#j4~YfgPV`h#RzY@F2WN_l!W zfA3R2^JGQ;&YIoypr=?$R2m^Qs;hnX#aUY=b4O@e?*_ghibt{0GBiFUh5pXDRZ)h& z4?WA$L}aOHCqN2-4%u>TUp^dDn(Z8TcflE(cRb1`HR}q##`@FkuA~)@yJ%WLa{0G_ z>j~jBrs~=>AMk`sK!Z2ho$bri$CR*u<g{1k}1c|%qh7b+B5GaouuL+`@I#2c6VU8ME3(umnG!k;O}c6 z3FJG0uXEc|i^H3``W8-@{0xyz^<8ZjX{` z)6H`T1;_M?;FL=FC~lulE{}ESf}G`hp~PGpwt`0}PfdIOpLK-{T0PTXIn+L>u&NUi z6kjBsFF}UT2%Mq14~2F5U1yxInf3U$kSAwLvTE#SQ)@$|lyXkcDDd_g<05xrv3m#a zZGd7bZR)_f>r}XAwkQ9NA(0b5JKDckPAMq0IeyN+BYEXS$=Qy1Q#6(PqeifKy2nQ~ z#-Asqzj)#-1sA(&eD3MkKM9%$tGphPs@!JrTqu#dk4(I0GtU@qu>qScE7|3xtFl7X z9t}T6kDSnJM{<=XR{J#%J&McB%x0(!2)g_EEVsP1AmY2_TB#)Gof82H@Hzfl*@AeN zpRVi+Oz%qi-_rdy|J6bFF1}k133ylb!||1oBRO;(x~A3KkzzvhGr?&YGaWc>Hf5ZJ z8Yi~pB#{~e8TfJ1(V?F|biel!sq}75%5Z+`)G&HdL~(tWNJ>4Z2hj_nQP>aUCmRp? zC}%BEJu4j1{0rAsBO^~f?iGuaA)%+)=C`)Sa`@?mQ|#_inwSb#tuExde6oW7a*YB8 z;`PivVQnM9fxn(!pbATE+Y)?a>X9s|vpvl!h4&{7ySZqw-I^6Nj{B)2BO0i>Elo_0 zE79qyX}>RKB~c4K5^uIO`3A^!%$icQcZxqB8H zT|V)0?Fe!}{jW&A(g|_K9*}W;OJ+wP4ngR62M5=-pPma{M8y{D#(oJGl|&_um3(eW zxGD&Z5`u4Zl|?FunpEt|iNmRW(=#9PCFRx3BFjoy2Yznv-u3O0GD^@rTvJ{Q1ThlIZo@61KL2s zK>D=*fqjnF(&N4Bv~}g9cqf*=xxV+n5Qk)SvU2XIb82_^H!;7wJjxqS;=AIhn_$0` zQ={_9^8U*dviugK&FSq45&wSQj!$g1>?_C8qlVDXgyvZOm3DNjfpwa8n_j-Bb&(W- zCF%cg_U6%0|Nr0rphzW^q%5hoQV11e&6Y}KD?*l`5`(diCCeBhN}{&-L-R-)|4p2lJYH?GAU* z5^$c@hd%G+iq7XiWj<8Bh%QKq&p9lenu^_@G~oG0!3w`ytC#kEz`;c{pyB0oo3r+u zUVw)GdQ=M<8;QpX=i5zNm7Zx~=zM~={iAE{CnuktS7 z$n&)8(;?z9=F9A&7uO!K8ZIXHQ-WEOU87bTSgB6dh+TrT^WrdfxErfC%X@v{&2DAY zmKr0LXXSK7G{nBG%@si$BHjHIFp5M>e}>Q3eLtz-iTF%f*mNXTf{{^${O-u1r5y?a z>CKu6K$`DX*{Ep4)JTpq{^Ypwm9i5Z^z7EPBr~~*Ee$t)ggT0qLK93`79TDHf#iSo z|GxIEWz}QSB2O#`h@|j?0{*Y6|ECEevE8%iR4p3fSMV7tm+gqkWBBSxPUyh{=w zQLpC(|BM5Kh3x~}F4WLz%Kuas400`=h4_yt-HOBK@k{yavpH0)9LiOQ2U8ndbVt4E zbMeZ761IjFP%hqbT^KFC(egtTO-4Ge`cu`1T!d-WV9iZ@9b;JqT&TIbF@7+~|KRW6 z;@6dPt(yb4yA^~{2awW!yMFhCVt6_ys&)<5hBgpGOHs-`$Qo!~<*bH7iO1FM%+$^G z>axb7^5P)T#yA-B*P;E9s73Jh%$f#eu4*t#XfDY2q6M_z|mner{i@?Pxi?sl>K6Jw1yDG zdTgFO@Uf>;tmQOLsy2nzxtw;aX*<~I<>gAYvO8%-k8OYG|G|VvEB?IPT;@cvYfI$n z;O)eT4iDMOBv^3uTz?ic>tjPXyrU7AOesgcs}d#Mw|G!_#$n>>AqITD_pEb}sI+Sj zse*p-3ZLHkjr3Z?q7NLU0)1aLs3J?Q=N23Ew0AhF_lPc2)^ruNt`19m7`4b!rG;I< zX%dITVX6c_c;VLmitWjU2A^=c2Yq{FKkAX2ds?6yHGDyirDmDINbw9ADHDHtE!_+X zA#zv6L@~!^=jruY>9nAVNCr3p0Jj8Y8x@nDzNf|B|7g*_@R|Dzno&|Ck?kWo6PKQ| zLG*-M2T~jj2RJh`2Yg4OH0Nt0OGO=?yUdnGI$1h786CpR5pX2o$>nEXM*K(Ma%6Im z_v~(Jf8t35Q7Dir*;B&eE*J=r9u4<@IyX`h8a`vpM|8U4b%O84F1?va6!vF#VpCjj zH!o20f~JzW+y`@P$Z^^^2-(5BfV8bg!=}Ns%dYXn(*ik5Yo-q0j_lsAx>;ma+#Qnt zUL~MbHtlV)cl7sLaf}9jsou})PUuJ8nh(TC@y1sC{LHG#wO3vQL72Xsvz zUe^OOVwH!{_oB*o-yf_O;ovHXo{UcQUX;J^4FzEp4?9dZNl7}GYkUKJ z87Us{nX-FPoxAz2!xCpyGs)#)_(zfoG>tj>i8{(jL$mu`_yBFFd)*t5==I$Tx zN-K6rg*J3WmYS{akDFYl#4U>;-7dv{svy^X=!R0zMT7-&qF+(sSrQygh1@^!jBno0 zVm`ojAB0vb!F0+aqPj*=6q5}MiJa7a4Y8{rFskV5;x@)AUM-vUwe2b1XiEPWA4K%E zM7o*NG+c7&sokRpfc0<`_oZQ)eh$G0hILHyghxMh`Xjx#&~viW_&%-5WB-MS6`Bc& z8k#hZQIQ5IXp{#&8T0k_XuCTXxOrx1X^!SiS`h6r#^N!QbpM<9-EBlIBcf_5q|e}Y z#@Fd?w~_3-4Qtac18~@M^{rTIMFznd!$PiTCt=-f^jZMvq0#}z<%uk~B(;WKU`c()E*WbRP>!Jiai$J2EEw>uCY1hNi<* z9(b)Svv6?9Y4dz#gP4U}~n6H8Ost>QkNH~5pco17Tm7X*YyPm@pRIaH!5u(C$ zxwKh7Q0wUsd!*hg=A?`@#+hERu=`uY{}V}x$E$6?NE~(}%WJBStNgiNWtoOAgM}O{ z2=m{MFuE;nNvkx(s%;t;Ials%t<$v7p9XB9A`^zB1|w~$swu3-*86#1GSnKjp}jV> zsw%p+btft7ed~j69A#xngP^`+ZVv~oJTsV+s1uLH^0wB%w^{EydQi+;S1Z`hA?})0$S5+1(m^D*jA|&p>T*Atslk9HDW>4n8xm%id$-bd-r?bmXXReRc zUQB_HFzP%zUb|@Dp9tSLr@V#XY`N^^8J{Tb@iA7NRM3=EMy3Yf&wl;Py65^tzj3lW zdt}0g-0ydf+2Ck`z4090q9Hrtx-FhTUKJ%MyJc=tI7j?kw5w57w{h*}moysB;m&wn zvT=dh=tGS^4y=hB{ruD!PFX#PBi-=harsRj90(6aoBkOHyYYP=j<jJ zU3eo9v$8xcK8@d5@U3MO2{?9S7)>y*gvQQLFH49uUWq24kBH1|DBX$=kqJ zLu^t84Ry$BMLHe+X7#yhzk8V9XvoYBx*wwu^>dl|hKA2?-Hvt`Dgy@0RwQNhQqZP= zH%oT1-7@g&uiudx)dnP#w|c3bA?`Z8c#H$!fn9x?1G!Tq{ z*=aD9U+z{qD(-25lipy?2-z2VUH>W`gsXA8FTKLJAHVTc zUV2sylZ$+mm*gQv!U$RjtWu6JH@_c_9!i0|BJ)e)l4WMt(bP<^TY0bYHGV5b-=z-o zCpL#}2%WDqGE}0kMu|__pD<4!Dfb6sLkpW?g13^dRKfOf4P5us9f7Vw%PM{RY31v1 zS0@&gH93SMy5#~izq7r9u$|LJw@h+&a8Kgq{m0Tbf5Y2npL9v>l4nvaQ;&PkBbayX z&k{+f`H_BoAz&wUpq)8* z5*2ymVu%yl+AsTzp+(=POLq`s9Z9R5soJANo?w>-@XrrI-YgQbh-)_`r}#2-y=Q^R zuo)^KMZqImdlyUMNgAZ2wJXS@mL$hcMe{EOwNAq%CXH)%){>qs+KccVE-o@ai|*7O zH)y!Ge4X~2&b82!s%Udz_h&)EaBlkUs@C?vFj<4qG_qs0j8UnuUT(o{*P8nd)8pH_ z(}Q+l+gp{&sH+{ca`;(plsq(Z9$v{J@eY5YVbo0;NXc#_E|q;eH+g$rDvp@fMQd#D z&}-+)KE@s$eRPYru9Lbj!Z0K+6&Gtbwx%l1q=eW8w$NxcC}}O|P+$!FZE>k$nxm}C zw2Fn#tX@xN!qlYdLQ#NW;#xDwttaJlvs36(%P;1&8)u*hq{SalIH+-~NW_V9Sh6i1 zn`4uwkmDHCzf;oh=HNaA3+HAh#54yn%A~S=#PdcT?FLMKcQz1%ea6_IO#@f;@;ggAzK5&X;3r|(^U1LO*MId-w&lr<-E$v)?RVCKV3eN=h zK%qLPrUQC5nL{&2yvH2cmGmV8LUS+M?B+nS_77aqpyS|jP`P; zA7WHIpe23zm10T52fAR~RE?lc7DfzI$dUfA&po_$+L?i(FYnwZ>?l-i<8r&>d?4>a zoPe|Tt19&r?&oP1?U*^*mHvamDL!j(*GQUb=N(PTUHTw34V=4)9U8<BvS?e!JoKJsPmcbo%h=z&isDl3D$2iE&Y>;y_RJ%hY$O~ zH&scUquEZ;j>}-hBA#=lQvIMl?sxSBLgmLaZz2VTz|hQ|0Y^JsqxrTt$%pT@uaHn< zu-m<6YSa&(E+h?*f0r6qa1d*FOT{5|o+vpY!Rf9|BEbc}&>&f-P$34ro1DzCI&}VV z`ML8bu;ujK+#1T!-o-Mb*eY& z%Xfx?$59dDmQbb6i~Rs(Bz5LSn`oT@9+?VOg znj_x0ozai{25Nh|>B_@lYSsJ|WxMk2M~=5@Dn&2#R%f4xI-~T}deVEMx^=aGU#0bH z#7{4S8AoDD40j+8AG>19^^xb;#}R5i%xEW!x3QO^TEpq7$uBl$zK27^{yT#Mq}cbg z#!;dg!$~mF%xd+7_|*F&)$>D1l~_kZ==UcmE!R%{V9)YruJK!Ps%{_iL&$cN7tA6B zXiy?y#j6-bzG{nRTJ^-_80(VpZ_P61;5Mp@m5QY<3O%vE0{dJuX;vk23|lAmT7BKk zXzk1q#(JgVKpCd7rTxI*Tj%Dbiis4Ld#eFy4Tfp9WFxh)6beSF6&~nBav9oi-a?G| zrp+|S29nZizWYZpd)S4MeD0J5Rcc)n8_80PUaibV>3bF2LJ0_T0yk`vi^xcuMDLD| zXBJ(NjimQtoiK9z8tb}>Akyu*MzT7g;i9GgmJotqDqMy^5;OnxRfAzz!x&9rci|uA5~ta`kVW zPG4VN#j^dC<@syAwb|KUWmGSH8*~t~$i+f>bQWqpeV?wC%T?87z}pk4^#bXh;brCO z#k=H$i7kj2NDllPRM^q8iftaJ!{#Gm_hmgf~>G@tf@Tl`D%vbN7BjbO#Y=vpbF@|X8Q4jU0qD?)6=v`!tB zsjlPzjcSA5V%~zPVfz~~_06~ZecJu!Bv$*L*RQ@U6Y9NudyQhuF$0amfuGoBjb_V!$t>j3QV2G2Ls-o{vkXVO@3m2#{ zPnENgpPygFeEz{GN-7AJ544aNk(csQuOfOcjn>e<#qn6~Iq>hywXc*} zPw4)}T<)nl8-J@j-qV>vB-{^kixx-(cZB{O=df!a9})E+J>G`x5BCgWCFHhsBctDX zp3zd8Dqvf@7_sU&+n7nTa;Gj0PFAzIr>i4oLjXBO?G^UX`PZUvAyK^`9~f`=1G(4~ zc-W`!P9WBcv2el!`&c+k6$DZrk_O4h$dCa|doN&Q_)CU0?6+_1(rR2d+rxnzmqQu< z2Aynki~=(KI%lB8-$g0Uq;`Lt8ww=a@ocgYEm);K!h_faYxk(|75(yr3USaX`K*Fu zp`_5t8tWIA8x6sO-2KUrzl2FIJ294#$Jq#p69S2<2R;HcNJhIm+jI97`$0>vE z(;J9+iVZNXZzN>3)*G9EHfwupQU|tu_omn;FCe#2d9`swp3qsR-^KN2kMqIy4+2ER z*tdYq8HE@wgT`z(`&wD0WMw%xRbI^CbRP!?M}6RHVJ`5JXFi6qyh;m=-XD7}*sZ9Q zj(Q$%aQY#V_5#gTzuXz5Rv8o*ZIS{s)uB$IWO{i`!;)Oo?++0ZuT2oY5Yr14CuD5U zuiWGr#e74v35$rJ0RV14qD-aL5o)<85mz0>nR%TIz<3JQxYU zKl{G({s-)kp?jqQIX*rr)7ZEjCJtDI;Yc_+6(_^!u}&_ z6iG-(pxON?={cLyxdo?qea`6IO9b}oYbMJaTUuV8Td&&s8~EoucV_9=*+Hq}?!O6|QO_{?lY({_6D{z^zdJp{ zM6hU1_rT#W1KTm#3S_fxUN$C|WYaSX$KyOA=lMmtgA~{@&>i4btK<%Fn^jQ243;lFYPZVh$f|50s*26oaxPA_IX}FGicDi z%9c`Pb?91|N%meizdPk2RQZb`@i>9d=51f!9b4jsvsZ>UwE_y5q&ArkAG+l#UMb$^ zDo~xbc08>M#`9mi2B;G3HnAOd?wL(yDgP|?kyh57Y}>h%XXoGuGpNQ>7edJRh|Ys) zR+4{pq}gS_Nc*xt@(mk8pUR=8&WrmIYIoKibhfvm&14sik4 z@NvO+{V|IInhExp2a^_d81qFadv*A^|4?>#jI?iCx5BHy*8wqlg|fz3N{)<< zD^z|nlis4ofTtvb&2&9e{?L*eGv4-=xu7{?(V;I4r#sEPJ$I|W zjqIQo@nz?Y8F_Y8HqssF>CUIhx+#rM-cK%a&Kx(QTR|gUyxh2{{-m|{B;kWdcSL!( zEAgP6zy%4lP$6X%gS2>TM+MBC(sv!K=$-gj!%QmF`Gb--@eh15*xs?SrliQBfgDDg zXbe0uNvv=STjYt_H%TNMuLz|RPmK_C?fv4t%hAoTspi;XbAa`WYc?qBCD+{l4W5$qxo-q9y3Y717s|8lr% ziuuq@_Yl+3X|w#qyk$gvy9t$Z+qh?QwkC)N?91VS>cA9%U3iitET#p1P(xfyGxI9m z9L|}r@8hiUc|0#uHL1V0zk*Q~Ub`!_VR5gu!(g>MdbGG5>r;U>U)@AsvNBr?p0R7R zXHkgxhQKjxwW#P@MpUKf%|Qj3p`c{!zy zE4buB^E#rAF$=%a9d1>cv<>#&w{(u5gl3y3RL3zn1}3X3#^o9mt(6#(ZRAL*Eb010 zGA6a#zPC=xmb`T<&E>OvKlve{hIq5H#-d%|DhPA{9@eNyJG!%KwWnvx@XIA*@_dXS zbD#D%ZC{F(X{P;hFvTG6cX@h)e-1WHYsU)h`(ifiIeI>O z&EmVXy&JI2YLYY$941J`x1U{J*r17R)eO4uM_Ozbyd_|_qq&!-&qArx@ zEW4*u%>y}Uy$Qz+jseMg?FU?tUk(smd(zQEC2+v~bp_FZT2YjMB#rra&e?bBml1~J zFVBo*e}I~OW4cX$5xj<8tHa)L|6nA@Gx6rSV`6l2RD{Pqi-kqsookpC8sDoV|<-;PRv+XUX9}ZyC#>G4VoQZVfMS#X@3p4|k6c z$H>nJ7Ffq5UB=5rpB{pKShW5%M8{^~j-;3~%K^x7%BoNQA3t z=VIM9&btW>$JfT6&|?VZ#!YqjpZknWe~fo&msflO46l{Tz*p5S&%cvJ|Eoc^iV2Pu z2YD8YstfMgJ6-A$a9)GHI9K=Gygk{AXjx{>vq`(T)-|O}0^+E-#7vuXl7ar$!OJ6o zcO*ZEeeO*{*&E@@88d6gV5t&4Gw$8xNjzUHt0o;XEOHd!xH))Y?%NzR>>!SIbx5%P zoO`Czf-!et0sZ~Gt6DB%FQJ6bWJtL+kKhl7;-qPdJrxCa2#hkPTE#;G)LWXQn+Fcd zqiaz3-kmw+J<+Y^;vn^DlspH6vDP-+U zp2`)}po^z0^=hsZy-tiDOV0Cj4=5!zc{_@`tnHigv%sCzt+_jmqKs}n)S7U3z1=X)_Ee%j_TlAOhp~T|eE-pb*N_KF5mmWq z9w<335QG-4Pm>>uH3jEC0t`10L5-k#Ig0uX4}^@gY9`L3glIM1!CN3c%Kc+SD4$m3s+xVwoL1r(y1dVC3Q4jiGGM8|g!N?~pk$3M0l#m_E*^=CTzl_DU9 z8F1^oCa7}%{Z5JW!Co+1=7hB^L_ct?HoYr*rGs;Ozv9-Gf7rm9Uns!U+hyMoz4+Li zuO8ZFS-x}Cb>2fKc;RdK2sSAFNtxPmHrM(f8|a1Ce=cB-uFqra7Zp>}X^Y2p&VCcUA;N03sq$)g;P;Nf?Z-2ObjasG5 zQ(#%?+y_K4_MXn6V<0i%itI`(_lu!ZU*8Tn0*4b{>1js7VijvTiEWW+SIdm1XT#>n zShrJiGQFji3!U&FMMoXxd{O2&wiAh99a53&GIxNtF$9OU8A87>w+efkcnoLWw~Tb= zs&Se4bek7j-`oB|@+Q%5D=mZk1^@NgRrpZ9qLr5Ii(YMuhrG8xpMpA4j=8fA4tGNW zq8TYYGJPi7h&Q##@nMZQ0yfSu`oceN{{bM>axNllGl~++UFzies(B4mza`!9JwDRz zix3C-a11To-JBJ$cgU#tb#u(L0l&fFGGt!-(W6Ixfignz`;F@k;TXN=VpFNk2Se$MgZu1G7D_@F$NP;k?zjt_<>4=w9^Pn3O z6|J|j!w)O#jGO^CCh-Q0)$GFnEno0bU_De{HBC^`D z3Q6Zg%#;qG0%$H|{~*KlLta{d1HF?+aj^5(;#WRHr5s=l+ZzP7CUa!f3vq(Ne0gHu z{HPO`UD09z6o%nKL(y8QALVnGz;tvOcB-C=@8a+ZYI_bDS4>GB4XB==RoS>X`|BgA zem{~H4)nF{{^Hs8p%}OTxP{oT_qEsU%5#}Q#a9vj=DdnFG3eRu$>iEO)+VsReHS7M zcOnu;6BY%U4y1#Wg1_p@bWW42uee3HY1vi=W?zSSQ9BMj#8xw1}s{VawFWxhKShCpXjALqPshH$-^8!Fc-2Q5|=ykJUmluAl7e^eI zHZ80lZ}HA@iI7mrv1E2Mjn54EzQ8Fm*@u*5^np(8t;i#FMmZ)-(`+qFVYIMDY3>*L z2U6B2lYyps@8{b(zVk(@nB%dDX<@hEg~JY$?N5F@P9jVDAgWtscmcKc9Z7ie1zx4NHn)bkBRrNylMX)2ZgruZ^0%W1_3a zcmBFkWstk(EPSsUjdQ*=iajo`e9oF*$Cm-IpchTTEwAUFt>`f1Q&a~lLs@clcF}X4uL$}XoXp7d3;(5M^tq&%v z-VL6;<{3`>b62s+=v_HRprYj(9n({H;aqXJr5lT#_W9dv&qO3U7QHb2M=CHnaKg@i}V&jM!6s?SI_AkTQscYWN#t`@+A@xjpawTEATv5m*)%64 zG?&40giad)ou}IZ$*B3nb?<6utUbYS*4Fgor!L}n57)(Y(^2UC?xQ??cU{yI7cP6u zwo@kC4n&>4V(N3*@7YIF;p>>NkRE2k>)ZuPSZaZ>*K*izK|T*X*ukx|k;KTM%`!`= z0TEQ8w@_nalYKhpkJ$$c>dioB8iTKYx44hfHk?<>o>}h!FX*kU>-91np)mi2doIIx z6Q-0vdgs`1-t_lgwwbxhj#kCF(aAZa3*V=nO&e@`FTdHGi?Gxd*q0#EGjb7j|{S<2nnD%#EO z^sCOv;?nOEIJt8hX?@Km;X(qe=hGqP$BUtmf0&sW#&hjGTyYNsla;Jocchqov0*qP zzYtT3ZZPk3s#wcI5xILdr&arnaXdd;oSdw}B%|m0a;Y=feN?Ys8Ipf+!DjA{ke1U= z@Xx$D4z>*&VSJA!e|=Q&^Xpjr%W7Z=$L;k|cy2y^+1)a3PPTJ(#u}yc%y~P={}U&p z1Bb}w`{pUwi~-kU*ZLL3B(0&*bq^1b5{nQ0449tkn%iVdCNL>O-(0X!G^x8ioUG`z zu0yir;qck%_$%k!ubdOpO;d{&VTwAcaebiA4A}&bqm+AP+fF{uxku<;%Tgq0mt4AcwOeAeCQ@HUlao43?42xcK@t!uP;RP0rL^;oUf zmz>S9FnN6jBq#M{5wjC>oZe*`ISoyPV^1}xuO|lex5(3nJohy@pvm>V2ZFjzJ~;(q zoky-(){2|AS=Kzno>V;)%8!U7rViRj%9i13|J-YVA44}bE?NYX-zyx(A~#>g`8MG7 zb018MU#L?9!x33xmc5ye-`wI6!Faqk+01?(19?;7ykI?-|C-X9sU5iA>cKXQCG4v7 zw);}vBl?@3>?a|WU5C99`|JJ?OL=WNHRPL(QEQf$g?vJAsdt}*`sFwH4Ew3b!*k^* z*IW~IPQA@7Uq#$ld~^Q*4fIG5E!)wcx!tZfT@qo|K6t4wzYp29U^-{^QqHo-vu>FB z{N{|tqad4>zZ)McQ|P>_KGC<*otUkul>=T`DEcwOVNplvbprcKh#N^NTmPcOxCq^f z>Rk!5E>x=3Sug{1Sx;ee9?jsg^yTUt!)LJ%O+E$r?AC>ZKM|aYozp9MATF#?Fr~it z9tJi|nJ2)HpkFPe(3sc)TPu3lk#)1JLP;{4aZ+vEkra6Js$u$kM@5R_uR{t`+Rq&s z0U@ITnJ2!peLjKsZsyfot|Vf!yIbxB$tjZ$F5LEK#4Ixj$;kY=d7DChS&bq)WVOyA z`cTenmXba$sPen&t-sC_AP~g-HCb3DK8uU7)fMvM9_)^O*Q-~869NmSN!uwWQsX); zRZ1*LC)VTTr8PkVuSz&R_5ykZg$Xyx_wi$ba*v%G?2}q99C_%*4|CZGsa*3Gx^aPD zCsiVShl5M%?!^kf-HR%dmk%X12r;oQKJiF7nuv7fc6&0cRttEVSZmiL;7LpOX43O) z_wT1Z81E==Vui*q$ghmlRD24{&MUcagSxiMnSphgvQ4r#q=AEogf)HWy5)FQGy|Qp zYnUw99t^dgx@d#z*!(HoMO?Ec^XZBjud1q=#CewBf=C>jUHe}fX#M?7Y9{zB^0{0} z__=wc=MnS)$5mVK1@#+!Eo%-@sqouQv;7h(dA@O#3w{v%@Q0!lH5!wc7PGPyQB>|l zKgV+X{!ZP)bb8z(Jsqa8vmOm0ibb80H#N3(DrY^$MeZ#@otql%Iu{JPO%R{Fe|4(X z%KD~Sm)KAQeQ42PSk`$Kqz-x2z&eg`> zPcgn>1K2b9K`}TjJg{oxaZk$28c(5xf*SPNgAk!$e$AgIwadpCzqxRkaO^lDutz!RLu^>)0LO^Y^DR=>%q|l z3Ez3{_{8r!ULePH*wigfvg!x746y1J$`SkeUjOa};KT)wi_&Oy+6!hY-TgT7HJyiT z&k*WYO-=0Tm{v^}spfrFGl?0k+`kL+3m;kmtKPAR%NYKmf^qxl&1|;FqD$S9%eDJO zr@v`OJUl69MCWmj^iB+^{R1Gf-3I7|2utSHn9(h2-Km0Owj_#TI8WbWeufC6gkJ1| z$jrYVAO?(ot?fBzRa>V#!o?x-LqKXT&UQcf>iVMvVKo4w@}$;(FlW;#GLPuhafzVJ z^omkMaER{oQ^Q>>ke(Up$jyB`ZrbV11nygp1tJ%Zib%!M-*yU!NC4(sy}!-54{5b2 zBmd`}{XNl&@t2{y%FTA^pB%4}o7l~$c1xUQ(!ecZ$^{^b^k(u>U(&6_R`aYH^BUq? zGt{+sBIPnv=G0z{xUMaGMNb;lteU?Kgri>Q`Dx&8TYNVnxDj4^O#n8_4(C2hJnTlo zLspG$duO*os(S>zzG_1)EPi>nzGBRxW6cki2vX908R*6as!g(OX+I%KYe|Bo&M&bz zAOB;={ufeRMs|&POwHe`aRyp>pQ~nHSZW0PHRkc3NCa{5+W<%$z_mRDFhJYeuw245 z-$(V&OCaP&f0f*sEAc)Cn45#ekAf7R?LMjxLeaUNj__vIY&i(yW`R0y(@Af7S4V1x zK;3+gl-T6XxzpV_GRU0IarduE++5%-KSY;{kAHv8&YZ${x37`uCVmz)f0hT6z=kQ1 z{tCRx9&Wz&BKzYN`F}tO57|DO<#XH=(0V%Mf$22a%awAS1G%2I2|mxB;m+R%s($ai zF|6H+#(WE}bkI&b*0#n;jeuB|Yf=W%r7w;ix&@j|W4(2>NRLB5V;?;-8rIOdLzndm zdDb74UR6#m=le`q3N#%|wi6sj@)?INMFq}V^!^dP>r;_QRs@Q4{sFpe_z&_N0GqE; ztj~QC2(cYk`MEBX!VzYa4&ij$$NKuTy;lYp4EMY(&kV))GsT>k}`S=&Q%b#JCr0{8H0MOoc*ZSYP#h^S& zzb8K$hQCMZ?at9fXxm4c$`tIrv}Ly(;gL2-$~k?nozQKSX9eUD0l%ytUoRO$5}dhV z$=6Hrc6C~^q`a7565q>ifuFbz`D3J>YcgvE6li##+jHZ(3HE=7_aCL-1g5^1o%kuQ zh}EYzh`HhJCmoOt+5x}QD67}2G%fcMayOp(hHx)@0KYhT=`Fv6DjYLO^o}5JEvDpc z-GIej&%!u9SZ-b&ye!eY7V7^*{r4@McJmK8R*Wed0k6n9%gImav45z}<_EZS#Mxk8 zT(SKtX#ERsJ16rQ^Y!k%-(mCOn(_oCX!b?(glTq$@qogU4aB@~mE*8#3=pmks>mlq z-C5P=srY8^7!=MV#MYGtou#Fu@VCiaBm4|-t9K`x#G?5tC^~f2t1h=2gyiiBYek5m z$Ck!my2^4?tG+StmP4UxYq@*7m8CV+L*kr zdFVC!waznqbOl0gteDGfxq98}d-V+VtH5sX>8cN~&1cjxBFCO)WK@Vn5XpT+u1<^8 zQi!{VMe;LK0|+Q-c-Dj3F}B|b6S2TDK=>YmOlJX6nr!{idar_QEsBmx(mHrUaJ{8 zT^Ucd^|Lmu!CB{Ya?jAC$L^Xe7d94!ko8aHBf* z{MqvMW!|&g=V&?^-%}q`|Ad=iGh9f~8aREJV93#z{tWNz3e2O0IKw7fx zb?r+dOLvDA>ZQFAhmy%)y`qCj%o~qwG@62F@s6%vfG~xo;jv5k@*F6Esp=%Q1HP#b zIh0HjF|bENe!in+>?=$z?%J*$q=k1EqdsK-2vA zX@vlB{Q&F~kO&5Hr0B6kNl8hEBZ8UfZ>TqU=#5J)BjFnn6BoIEK;|qr-qpZNrUCJhKjILa(O+%+F^lrR~ ziazDNsh4h4I-JkI&*|)D-%Y*tMS`(%wc7s84q$AuGvt7=?Z=}IH+b$KVS&$W;!#$c zU=6M)E+B1hga-K=(|`CnSaw%6&`{sn8tpg`By;-H|06~}&nalrZ-sry3I7-eAK%Mg zcBW`%Iv8t150+a9uZ^;r z_MJ>x!j!f$&xHXRFbuat17Ik!IDWK-PW$Ga@rK)r$dF&3-7j=dW#Z$;Vc(Rq>hO7A zA0vPJ(47|n-Ty@D5hMF$Xo~^Ge}(Di=xBrH1#LX(^FW$kH%H(+2&AR*U(y25KP5#J z__YTAF0mpbD_iv!Cg~Hg2#YJ!Ipg;gqX!4*k~5nOtnV4N&Xa$}b+2B%8u{wg9w77o zLuC;DA1Q?Bn)JS4gKk-M;`}m2o+aFd!jGN&i_jK4571xKqW&p8GYjeuyS@hwm80|V z^XC9Eo*Cp09T|(Fdb_n)0i4iz{BBT`h^nc8O<+mGY-zhpSqq3N?hGv5Q`~RSK%c3slc&!128!VK-~>_R&$nL{K5v<|4-l$%+gv zjdiWiqy6i2ja^4Y-|fA3kP#IX#UgiEBmTf=rXDX%u-T*Vtw1$c<^emvaIK=V?fVz& zq?0=>U|zZIcG2mbHRP^YL%6#^@n8$0L&bbe%BG)kj%&Q zbZmY7b%_6T4oWSc5<-mK?MdHxrs0|>STzaOzXITXcdILR#{gs@C5Qm@t&Krz`1fcL zSVGL}*CkwXE}VQ+6ccsUcj;H_st?K=1<2Fq+-NLgYikUCYeJTYnwh0l8Lkca+RWAN zv2btQx-}hVX6VP++y4NGGWhgR@~ubUgew3Jur9vX z5j9}RLB0aE2GDh>%IR`MrRFnr;6Sd!ryfV-2`Rdk!^Ud$@@G9MF!raiW%I^{Y8484 zN8;;S$8H8MI8Q2b8cB2YX)eYGnd&q1@}_y|dmhd=OoA zq)T*Xkt;Q5bJ~BUOJ~kL36kqJ0#F*w)<%%{p%zSmIb-z=;~Lmw57$WBUPh^V>yOms znmb|v1Q=}`=sJqBY{D zd{_q*2=|i3;~Vtu&yrP+$b+VK{yo+50SMvkmS~YORyP>&3x)cU`+ac_&vl#$FxUpP z=Cyg%o<+1WC|F9NNzrV}Q(N1)$vAz{T33SYZYEd{J+#NvH2kT#Iy+#yCUpJj*8@=Q z;MJS|0qk_{Ps~lT@tfeUlO5sa6Yp;yyx*s>h!~GjOpy>>wvwyX8>w}beo}RJ0!~zJ zIfH#v^5slK+e-m!hZs@6U&jJw?Kb&$Mnie!y=NXm?=ot(MK~M;|2-vtw72)P%i^7R zb9ZfedYAWDy)aD8Z9pzp*`DGznY0Q}cy~Np1{Q$Q(JCH4!x{$dHYwZR6>*t%?eTr_ za)jH-S2lpTThiVEERFzX&eX@J5+L6_vLx>N0<6J0F8X7S_ms=SlK{JwN?V;RBT*R$ zfPCsrf%pQmxpls(y5e@Uuwx9cYA|IWwY~py)wlw-)lYN`Pe~EJaQ^%hFp)zr_#J-$ z`)pA!ZY3=#S=tUv3S<#v((VR1Huglr`p-8$HNcBJ+#^8)q)y!n;^Hbf*)-QW{dCqK z-3#F0Q7J)V0BvhBY3Oqe*cAYR4|%pr7ZwzB*~X~ZV||Bez3&+sQnGHnnH6kBgZ)<= z5WnBpl*6tiGf|&~G{^ra=6xCklyb`LS^Q3o;{xrg1mxK)nd;RO|ESg#}IB6c^Pa{{_|G7o`ob+LH|667ze0RFdN?vE{uwX8GD%|q#7y$uB_c*tBW21$zhE(RXEE1#V|@+%Bc`->IGc;A z(AO=~YqG8E2#_q(z%Uqa1p{o)drt;y51|&;c$r{e_#yIOInA71Ue>VPY?2D*l%vMp z$wdDnD$}}M>DSKG^m*@nP@n*F+-lESibh|ul%jsPea=hIrR%bUt)q~WpQ0G_WkD25 zd}(CW)OV=3$j`}j=1Nl###F{_!bN}_@U@DnFnqQ%E{W7MShE^+6qotFaj?cb%V%-$ zwC%{^Q`xnb6SoGEm~AqPsyqJ@m?`fv`?so!qCzzG+I_ZuFMttj@V;t`%}yXkB6RX; z9d>BHq|pbX+bYW#b2$rvOP>(^6+SfTb$7m$#Vf$cnAN};xI}h9JZMId{o2ho*;|<~ ziwDct{XbrIjy&Di6xg8RHS9a1%)^_pX9j~8=q_*?LGva`QPQ?%~2Ot4`bz}XMz^9_45YA~a0eeJ=7Rcz`5*7JNP#GeqVF9Lfw zwYjCh3ed)HjX~gcFL$#dCS^^};+|u~ zNHMrd39aT&M2ve}UaYAS&CMFf$ChGk9HIb`8A~PwJVGmck<(PEA}#&MY`)@r<6fr* zgZ9>Mw5`*pYOTk)*vb14f4YoDr{kGutBaH?;Y!!g8v1ZOu2RGZcTLn^8H#+`N`pDlG^DU{LRd0p-!#6hIuBNR-=bx%lP_*~Z(xKN; z_O4#s=b`8tc5ztPF7l0FdGx!&W3A*L#_iSLX6JwlA|R)F1~4{(6Y=Mko&Q1a`hR#o z9zkW4aN>vcU;Q$J?H_9gZhP_trys7nZC));?k^6&_AjJ=@v@Uai4Ci#HYz7f-j2@E zqOi;Br`qq$`ijJ$n{jbDUmlMLO@YMaJB(b5h~C=X1d35IUb~t?`YXWo>uqgNs{Zmf zoOpy~kc^;p0Ae9#acfp(0Rbh}8uh7~;>PJU?>6o(3o|C8jmJkELo|>(SQk|MsttCb zY_j8d?}!XwukiUVbr0z9-+)O7@Tj_R?iJ{00q8`36?z!IUsy>-PThHZ>VGtNjQO9(OqdTgudD+l9Kj#%kx>8^^m6b7PF*Z0_SNRrBG3ZU<%$A-9Quj~%2b zb@X40Vd`m6@?zEF5jK;DDZTHSIH-#O!okt@IKwqjrDCA+fP~%D=(~tUK+a=7>`otY z4EM>Ck9JWZNwg7*U4r^4`$`(_CxxVi676nqvaU-% z&=tBwuq;ax$JLdcOoMOk%=SW86j;>m80;Sl0Z&pFcc_w{|404|$UtUoCWK|NV} z0CP%5ZMYZgceYSkTzFcgrO{9T|D{?kJxv>)tMj!REiJQ`QY*MK!28_Ip{?sUE1*Z{ zmqq)QoBy6LHufr2QB>YM_{@&7j|&Li_yXZK;D*lTWiu(~tlkdc2NA>c%xPkV9pop^@o2Q0VIMLtjYu85+Zj{Jh@)A?_) zjz-Y$Un(-B4*q!^zpMx+Mg{A4XN^}=9+~k`EY{?xr6hZ}{s~{39ZKQ%X!DGPx<)&p zRiyRqDaEzwPpiwOd1GruBhY?l()DRJR4^xK-)n%9+Vf9Xp6JZJ*+3A5wS6@Ph;>6I z0fF(_ef#8rHQ6gTt!po)y!Z7L0$|kt{K?^9MQ3Vm0W@W@gKY{!9WT=pZT$29{rMx< z|6ga_|KEINw9i7r8dW>Mvcf5D@2C}UrDqBSoNUYk(&D8p0WXja;2ZkqL#ILpGcc-Q zUgH0Yv9FG6s{i{Qf*>kjqqHC;(j~2+bV)ZV(#?R;LlICxI;255Mt2QC>8=3-Cfys- zqxPJ6`Ma*`zMtoQUibOKm%w0WC%)(Nd4JxqeFpSKc@3Cm2!yj(52Q-C-*bHgH12;kf4WtCXh(6~a-zfaL70ApERaAz_t zl6Xl~RW(e)o$wg%f1fDs=@LA8O)e#!@aM#YUTj=kL4Ey{{soX#Xq`@?ZBCv0@3k4Y z26SIZ_XAk~HkMzNP6D}GBaRzdkK(G zZ1c@w00hWwbAp$QUeX9?GXZWF{Xcw9_TN;_QJvq1jA5GQ?|SkdJ776Bzzyd=>#V&2 z8obi?5}(Fg+t@hGMZL}v{P#(}Xpz{%$;MWiWOcA}P-0_aTz@w2RTqBG!E?m1SU*1h z*M<<*j@WUs+9~N!P*9?8qfU8s1x|rC>~Eq4n0o2%hu?ajP3HrLrn&jq$NgfMiGg2S z!UVO}Unh7@UfSe)dD1&7YM#6?IRTo`id^GmpIQtDM&uZ1!}T4hd%;boh})}2#5Y!b z=iv@GvsK^5vcsVw{ff;c^hqa_HmHG)-+ka|tyPz$h~Bau_5TYu3P=#1_JmAbswXZb zluZ{cmL5$-Tj zs$#mRBSk2HLr}2FL_X}`wkyc)0Sn7iK>nBxV6aa@0|L>5RRj>S;Loll@qb-%pg|1> zo(&X$1>T(T@7pd>SqpM$fMBXSiq}SR5rtiwI1jcjP6JSHA_vH)Vnu4oNINK)PsjwWVMr_6L z!*;y_3^SPt+)PYTX<57n;D-Qnzsz&Gp%1+<3qou|=`WfAsXqr3Q23DKJBJHXJpv@Y zd#f*i8}7yhLVqS9p>gzXjVauZ)?hdOx1+nL^#9d24G{@=QT-_$wuE*!$?=)2VPX}e zR&DPc9RNuuk);EF@ zOqS6-6iM5RDL2ObL^xz-;+K=BDWXVBeYfqrV}fVtEIhtp#sm#coMP2YXZbRNutGQ1 zFHPI;Q#5{lvH|I-3s2atE!$my!-FQdHQOe{bIT52q%XY<%kOE_(d@`?SnF1KQo{}` zYp%2@l%NwoqQ0t}sH6J=K1+{=rXPXh&a&Cf)_nS0mfuBIyeV!hTs#|j0nGKD=9Hfq zOe^&06<}c^ktUu!RSf)w7GwAI>7|Pg!0~Yz*)Z{^o;{RoBRH}*53)JHLo~nG(V*0U zM752QA7uTkD`gk)OZLo70-nE*)(q{1mpG?BDUjea!yt7*g84Z?DRgyQ4>WB6BsY_3 zj&H39sehTgi#vk^^tE4jj@d}$Ddz-=B`PHA;Sn|3_9zX}-X94SX`|lrB0O65sA=0q z#kJRFIP)Oyu70WSb++F0ag%%Xdu(YUqT~a(_P)bQpT>r>XEOxf29PqSTr$6K#Zuy) z^~3J|(RWLps`o0>wEFZHC4!Y=6H>FLi|PzC;M(~N`YZbcjtqfZKc>I);(NYM^~8!i zd+{_=2!p`p-DM*Si=KK0u?|ViHHEtF#D-_z{N8VELx6r^JXLPv>_rT$_hJuB4WEkv zXu+iUZtegNfc8{jf=uf>6Xw!#yS1cK1~>Dt2rGNF9Gq@E>8(DYq`^U=KnD++M>Ps_ z#pz|fd;~Dk7leTsuvgML6c2VQc7o-<7)UG43Pw{!zEdbyxql)k-Pgl(TzWy^b=A z3#o`uS7wor!RKG5zUr3~8rqmcAb?-c$^8E4Z`BfJ&IopOhb3`TB;@qniGHHJafo)M ziES$D)*DO2eWSmuN#0XF1(WikSZ(Y+-g$; z;MIKxgXIj~iLBrYAt*vn^-nS+yjB1S)l?ySL6z8e` z(kN))X#8-*VpJ;WKh0`h9rcHiH}1wTYuircAw~F;adNwg%Mvi-H*B23g+jGegkVUW zpkqB(o^hJsXy8tB92Z|jw1nVNiW_#U_&~771TK5#c99~_gxIbcx)nOrfz;Tb2Cj&i zaO$H(3#dxzs-Vx2Q^TD+VbC6iq?*^^5@NWeHoLLPv(LTGcc8vx#T1DU=&?Iau;;94 zhvmc8T}%-)CFAcue+G(9wQE_lsg_Ch2Np$KW=! zshSUI8^$S$*NCQT@5D)^Z+;apk2pVIc;4M_XSw|xp>`8uz%A)Kga7UhGbu8 zO!|4@QKF05h#PFPXV}kAqkega(t_f3E9=0%KTCjEJNm+gVsh54fzNmT8gEYsLar<} zKpXbmDZeB+M+q_}OZN9WCoMPac23`Yfx+=KQ%7!6>)V9%4WC}!NMeVWpFOD-d23Mb zg!nz)Hcjn^yq*g661M71gm+eu#StSD3q%kJj>-;+K-sg(uIz7fgs>3oJ4)XJqeM zPFBHu1haa>7aPMxqe{jT_{|P6G`*gCPB!DrmXG_coD5`!{POL08SzQ`Ht00Yt{D=U z*uK>*Kxl_h7feGOBYKY!BRb^>jO}YtS4=opOC49jwb~(D<0i9>NBkE|MiS4P3kt_J zpj=dvB?ksHo4hLqS3p*Q|IlTO8{DmdY`NbK!GIC(+#eNYVPT=|ze_P>qCu9*WT|!1 zZ~YF!Q&~m*CNc3%Dni&R8-}E7Q`F+Y0S8Bq8mg)Qjq)wP5~Z_KeraU|`4`c11`rMg^R`GD4u-@>5Vn!yHRYM|HRA>>Z(rno5rh}l4P_^cRL+i~9kQU^?L)W3 zujX1XRb3bBM=z=Nkj`2JBRk2UFw9}E)5#NLUwV=bOCzWLsN)aDf#OdasNq1tiEqvv z53=*h?)(b5yuNOoWLvgIXqw|`wIWEkPhi)~FH>%eUvY!;vDP-ZH$a(9XS->*BE+r7 zQ}ndY|?RkRN6Stoa#E41**vE;C`>uvyt2n!`l79E#Fo5a3FlqLI$?W#8 zJN*%~jbC||D5JTZC&>3ahmtB{omfot78Mo~3nj!MR;)*MIE5k*&vrfUjV+9!57C~2ZD(cyQVO~kg3;`_Pa8|9I-X8K2cKIw@Z zmt;h2w{}y7m|9Bab665Q9f?*cUH|J$eq4-0<*iPz>YI1>PrxSd>g0X@@gm{-%xITx;v3>OE<(Ytl(^08fa3I!pb+>R0A>wv$!G-;l*D>!0@TxRG`jUq!1i*HS^w zATJOf3yZj3Y-AS~5j?*oQ&yaR?MZi4N>D`9EdDR;NTp$tF+d)mWmH1fgM@^})bNhA zWbiWZot54Mg%w{(R0)hm)ed;CMu zQpFumMD`g8$r~@M7UZEYu&~BvE5+AqGBMG^9YNjHz7x((RX~^weYo02`iOgKlZ4Mv zslE{EEY87elU?6^b`pKd|Fz(al^vjG@7;=F*L(v+LTc#fut-QqET8ChxTVs%8cbS? zIXI+H@B;lf8-W@1pW(c;EGQI+75wWh%zb#XJ^A=sM*HW3_}_T?&j=6%?Ds#DTM$T*2w0f@-eN8R z`-I>4#@S(HWW&>RZn;3I$74WeXCKqvKGA|Q14Ycfzex_E0jYl%a-4kxw#TP08}r~nfSyutUbqp_muX>Wmy+YN{O_<{+$&@XwF!ok^@ zs1#Ri;c5lVY7)LFuD&_)U$BQ6^)IH%P1t2MPJO7`%RW{MD^1{tHImyhS(m1J&MF=+ zdAQKFc%IwcckOGn$d<;lZs&_ZHfRNt4av=4TuLi_3 zTx~b`+96jtfe{ElizqMWTU%S>MZrajcQ?~Vx>b?R;0>P-crGaE-7`?F+IlNzD<*Z} zyF4w}u~d1L$HER2qj`zuJ6Z0-ohr$zY2L-!!a|>(F%C-rB-M9U{MtWxKa%;iJ!CQ( z>3hj8%v|^LN`>$pJNI2ralF{{i8H_?c{+J0hds80b5TQV*QxF1L$55Q)cB|u?`5?R zwcO=|d!Jilu@&K8ehG6mKjD%x`*@FAhm(_2LsOFph~ITxNms|uf}*a0%$|Mj8IMBDa5Dy1GcK6BNYhK`o zB_5c3$r4}r)TGCf@{El>y4)vmm&+spvs2Qs?MMj&qA*>afI{CnZy)YB3j4{>(S1;f zQ!R!5eQmV)=CzM2$2mqGp2rTGI#;NRYn7|VK7di_Z;TF zwz&;YLW!%(LQL^)#Td!ZF53H?AF=(F#8tocMP%kX`*kY}h!ciOPPw zVsT?bf2=_#s=i`m3so!b2Q@U*TbG`>VQm$=s0-YC>Q}?MbHp&A!SI`E4F;0G^1W`J z7j$J%<>N+K7x#t0)E;_M2#F=tn6Ql!_$*PQyE;`rcIC4mnTa6H7=sp}saS7f)Kdb5 z)amM9(50>!WOS+&{Wr`@I@F}Ci5bhBqoZR9scsrTm&jVkZ5z`y?g zb0sD`8HDBdXui%DaM$V44_UHONUwIk$Y*Q)NVwAV-M^3HG|r?GWYXu_l+tV865^5sI2-RlDw{X*8YW+29n{z2Gda&9g8tVhnYE zW8O6N#o8L!p&*{smvUSPTTr4|U8T6LYfUu6NsV0qbYHiUGO3r&rRvv8lp}RvCY+YX z$Jkf}%Wk(4HG!H2NSkkY7p+>g8r@k}{1Uy?-r?}X1lwmQ?mo7I8&@Lk`@ISIm{9_L z9yWcTMjuOYe&)RdFcs1oaY2GRWdlCOLTDGtrv?UY-p)V1#xU&VEFo&mn3Oo259#P4 zjQx?DU5_ME3| zfYuVS=)x*dbOjtrF>)*Gvv3TgE%nQ-QML18>|(dMRpnhogsv1>UFBBB`4E~HJQ4N|7xZ0JLZ8xmhD>Mq7cM>xCBh)&7Q^j7)<5FLTZw`>pMz`S`dUCasn zsqv`@y?D%Vlg+~>oLL@lo?bf1nT+FhNrLSYrWzn6y-C95Pn9JBR|5iXGy!%fhth0; z6|SLUa#HZ~3Ni;16^vVX_3?Q`uzCBia2NCLz9Ve^HND^0O|825wpVr7GsnpK?BJ}8 z!-4L%H~UWs2fF$P1zpzONp+`~p27AKxS(orN|Hz1JK-2;MdL3w%5H1I6Z6*jE9Sqh zRy=GwxMXC(tPDx2|IbO@{(YH)l>i-xR5-xe1hYx_>Nx}GZJQ|sq;T#a( z4NZogW6>JCQ&)e%aVPK|Apfz?>)o_-2dxXr_b_39!p+#n*~J`&NX{Qw#8o>+t|~Pw z?(p}!uMm$|Btp;aYEB;l{x+)%jp0K%S`-x?V&p!H~K1fR~!%EVe!F_(qd|rcR>WSiR5>yF^|!EtqbChLJtlH^Z6KyE~J{ zzMaUR8m1T8B`{knj-gl92Qd#jj!6&f4QsiMf;E7~M1$8lO4(H|g*4&D2IJ$duJ|UU zS>HMK{-)?RQyjA_Q1H;L!&I{!t(tRRZ{_LJacA|^&1p8nL)u7%k%Glx$Z1MZFINTi zO<-ma2e2nQPV|k--+Tlj#m1V1=W5_*u>5CZEWrU*5jo-e2a^SFht}QlS0GBT>hzV;xqgZzk@*kj}nUzc5tri;5fvw2IWm{*wWHQdqGZ24TK+ykGV- z+!}QnoMql<2Ojh)^aX8r)Grsir4;}%zkSmd()5`bxi#<=NYjQfP$a~8iG*r%WXWp6*R`8NtVEw1(vpv5>ENc8XPe%> zz9BI?H-SY?2&o>MBOJ(-FHN)lvb|Gov+ns;%SJuPVs2__3gH-Uw~g6x?Njd1{%>t_ zy1YvAmrL%ZQ}@ptHu~7VB9r0cMU#BO3}#92$8`_E=*{RE-pDqRs0)<^(WhqhuZWK6_72*-lyygD}_n6kX0B7yrwbTZUoHt8jAbK$s`WFh+!ui7k| z#;l>Zw)$yxSHnG#MoK^_<2<`h(SAbZR*F$*P&rT6F%2=vN-ybCs`=I+RouwuKFv2t zd^HSceRzDTUGnOAOK$VAy_BKZ)x!mo<0yWz`;vAL?}{}Fi4}}68~Wc}2#GH~A2wP2k>W&4-8w-c#G&7})pHa&GxA1l^5o$}Y=a2K@OAMUXExgl8MBirrr)b83A z**kmsABr6TiPk`35^pIg<SwK7x zmfqeZ@M!$-y-pxU6PZ`|s!Ko_@^za|kEBCK*!O0Yj%Hc0iNiF9=w`V9BJI)>Q%fPF z|2KSBQl2A~M8}LCtkW$ zU)$|1Dh-BjA9WN!^Uog{&6?5iY9CQCOf6t2+Ji)wtG^0JK08((seFo|4+YhDRf)Y0 zf2t>%rP}(Ia$r<(e&KPt=tOdZVv@`OjV7&Po*=RPYfo(ZB7$;lBqS_K1~Zi-M2h(6 z`aU|IY>Ki<#ULM(8B2M|}N1{opM9tj4;T zU?H!tp<_kT-*5z*4!9(WW1vj1C3s0q>Lf606iVl->UZ4ptVQ2*Y3#-*p)Ce~c-_=f zXQT2gB<#O2LhN!LdA3nuS4#X;&d;vU#|x*V{ zmFY*Y{?S3*$(DXy7gc4B`*_IZnh;TH}R!dKc5d{un zUnlv^Hv4X0w%{09I#qcabi;7_dEe=@*&UBhrFz_QB_E)UPosA}9dBe={OaPvu0EaIS-69R(hekLt0tEz zO5(y1oyj*@pP5Ag*i+KCu#Nxp?Vpv?t*y709jPV`NH-jb^{gve4OH@bHq5F>UpZApquw8@@KpQwZM}DIC082OVP+a&UVdt5G1sEmwl$g00vVLKrW>B@snt; zdZ7pdXf-il@`Ka!!x)HHp8dUEbxhK?*_!i?9PgBKdwRQ+Y^$C)&SiHXxt{M;D-k;f zM|5f`-R@c8g6IIbC~UKmR#)pUAPhMA{zJUGeAsQ)bAvkrgNi@R%5eiy5d*?A44*%L zc4K z*t9cC;q!p*y!-oFc@etGMbWNc)#|A5+gDc`s7?yFo-$#i| zuFyGKIgYYt`7O_MNWY2Z{;dnjdWGmE`Pibz{4c1%sKSacPc9Km6}ca3Dv7jZ0Y z;U*aA^(6aJ41EOHMj6xz1<43V%-SR!)APQSN&4{^-1A1Zp8*thZ>Ny@2 z#8xNlZ6uKz$CI1X8ylQ$*jpH!;Ks1$=2cOU2iDugu?2_I;PA;@KYaJx@w#$Ko8x6u zk4;`-IAVXo%x%UEk#KEHr`f=us*s?7?9@K6Nauq0+Hug=fn4M~MabDe0_O}1S!vZL zgc70q^WGG=X8`5J1`ir5AZeOQhDNy zB~pSN9izC^%Uk9^+rVHu=#+y5Talrn@2_wh}c-pBQ_g;1EkB3oefRaNpF1!u}j0m-FNgn@0#JX!) z`N>s)tMiF-d7o&Sd*a$v>V;dkTR`fJ_-Yrwt*QSDL;YbyP&5Vy%0*Rc4dFD&{g&`) z-Yna%UPWtxAUHtJk1lAjzd5p&7$Q5D2^^^>H~yfO|8;N7Kz1kEWb10T7ouw%jY4wL zLa6Z#IO!k2Q$84U7f?PNmo9kOc7y;HzUs%Tgm-`M%q+XKbYL7o^H{&i1YB{;Rtg#mE?#Qy{CS6-z^zrN<4`>Y_l45nZ+!yXgSuVek; zL71y_afkTBt-e=ls}NT0Jk?gteT^m6*RIcyNz8WS-+B5`Rt*BdVh@}jV;`|;rNGEu zt1hj}THAJ?UHXAABLn+(YS0bTeYf-v8JNHN{rntwcqu7KcwYvoiyzR_M64}o&g4%6 zrMY$-m+`vl=TM*1W&*Z9=a*i}Ph1ifpo;W7H~=&`7L(6I?j#t3?phmG+wsyd=|rLKAUh~ev4h=Bzg>C~WzaOM+uWUd z=Z-VzKthGLkz(OLU%4^|%8L-oqkj-&cwBqk<}3a4-8^0Hdb@1o2i$2-7%B9}uE&Wa zBM}{~r}#=Q#1p_r!SMt0z4%4s(}>4qf9idVNedGjaoKKT&AF%P={#lMmOOFG;jDLw ztD9R_!|Xm+eo>L@%AFvUB%v;e!|4T8=F!p7&hA)_nf!TkQxqN%0~TTM$^|nH04v0& z$d^;v$5*|FcWMI=OI*Y#?4a4x#@x+VJ`1i}T?gjb5k1MilhLZ3SWnjNW;>(l6VJGFu3BLt5FTMxB=~g;iRLgMggriI_Aru zZW}5+f||`8c$hr-c(?EJOU<(}Ik&;u*AM%5v3P z#v#Sw)4?~J^+@~uMYg;P(4*HX(wh4c^RjcvAuy$#(RrD-PKQamUvGS?>o*iOH4qo$ z+po$MGYu*Lkr#B67Z;O@LPQOdvMsADak+LJoSXncEOT@4t|MS3T~m$-qm;fmDDKJrUvC zyXJ;0w>jAEpABC>pxdP>47W+jDl^Cui}D!w?gye!n4xNI9U5YX<&aJawq5Z6AWF=q z2rVwBTw1S3RSNo=+RD!lAJ6%5zkm2+SEoh(ZXnpfuteyx>HS@$wYG^FM?ns8?t%hI z_S3O}A8xe$8VYG4Rl{$ZOUIRTp!2T9(P4lNjdPRCa>i{R(pi5LpX-g*;#RxtY@6gW z=iObcqu^V#X(FUS3_o@KHd(5)c*udd7`rO9ACDZK+uGD*d-1)xi1A zkJI*?nKPIfXV~Cq%TdsO*Yb;Ls#!<*mv!G|uAg_cnVkCFszuW}`eED=kG!rtWPZc- znrcz3XDgL~{eceJ%)3H)tvX0fq(!^8v>0JWs=i3}Ifh*2mML6DycbimdP@8-PRgI3Q=A$#AmhmTsD@g0~Tll-zMRVrMbbOZK*d(gzDUk0F@G#$0 z)6(x2raL239;R2(_k^|eO+lyJ^U;I3lnx7-nkpr5z}g!j6>uJ#_OG1a=;N#(AE-Zq z`|VRv0!%4;7fmlzzN=O_Q8=i66FL3q`Do1iF%U%_a(*$G9J-mmNN4W7Ci_nFZ$-B^6Zo%LPb{rbG>Ip7qBWywuB+T~8j7 zv@pwt59^f!PLhhzxnno%B}L{*-xeyf7YiXbxfZB*uy-gtk=yQCV>Pt{nUv4gAg^3P z9{zH;(TKb=9#RS%2lZZnS-lp?Pd`r^rI3W%*GcS5mi%TZa3C35ml-5(Pq9+g0dV0wO=m0gWXZmRGv14@VMYvf~HRKuUX3LNo5uAPTv*bRsXi@OrJ5AmqBn%aA|qJB6iN;UPb znAssL0P_Ms?clpzUR9XQwdgYd+czN^V}~u{)efS&r<96yl#n&HEXM8vZ9TnEeN5cO?%PF9ypmm?$uBjDJu>7F)01RBnMIO zLQBj21YX#53YGM!oS7|+Hu-0nUw)DjH&h;z+47wjAIV>7)q#cF_EU*_|%; zU(5#ZeNTD{H#o-;1A?bd$!)*M0r+Ma|uJ;{kzbIWzf{1$UiCK9#t z>x38|(?N?c6!QbvSVxuQqV_A3NI*fHWKPLx@Wx@c>%eToUP#1hR=qOZh|DyAE_1F7 zPP%Mo1sq~o&jc*J9{H)xdLXim1p%u#Pd|o3csaxz-L_t zGF_!?_=oGz91N!a`&sk;pKA3M*?%Px=(WjjkxWo09=G)=XL*N`Id(h*>8xF_!g-Bc zte7Nfc{;E_(J>+sK5WhntX45Ou(v~TC7^%BR)A!O8a;P=pWikSY8mAjRwC4--K-_f zbQhg56L`75Bh{}Oo&~rwOuet7YBZpln0o0|sxD%9EMD)RBxAjWJM88tab5X-P}jf9 zmFsG-lIA{TjZW4(vJ0?Jzl#Ta{%oO)hSoNO`aL?;HX!R@006Wa?AG!PCH^woaaH@d zIMvueeV@Tn;at%S7i@g&<%B6r%n1J`C*oAa8>&kMP=q`B@=BZpTV=Nv61(1Ho<>0N0d2q zs<@3{FZ%?E#yhYl1!JB8`xS+|c)be5=5%;l_b^&VfiOD=pr@xl8~npokq>4`=bZ)g zH)6##?v2+H{rf5H*C)A+M+UNG+t71D1Z20Od;|$pfXVFN6pkz)aOZF4N%k!eAsa28 zn)3H1{~z1s-``<=_kX>iFP&X%JD&TnOU*p&s&8imKsW6lY7ZYIJoc>bEqE+vgInL) ziKk3ujGo3azOZ&|)<#ceEbK0>8yaLacTc~fnb|Kr9XRx3Oi?@NnkAH5{E{H1(5;rr zo`GmobHHwZdy{{yldf+fP59BHGGPDvx>wu+-RIT{yZJ1K#-vY0|kfkb1WP zY~-ndJ{~38$w(USE-?|;zS9e~B=Owg!j6*BMDPQkOYnX1gq0}#8{l}c+PJ3C_w_VV- zC}v^!$_;*r=FJGo!`?XE#x*7vWV}NhLc6viVAJEpL9bsR@V%O@cn80fEK}Ep(}8fI z?nq`RCq1r^U!o68@#-hU1=SY3wAW+GYFStD%v}*TtM8&Zb24KMVw3!HQ@ttDG@z!+ zs*|X&peF!5S$iz%1mq9fDksE^8f_0&chb{O$9kOBx+nN7hH-ax;MS!@%=5Ai%ELQp zO^<3%wKdXu2)-Wn1kHZj=|-Fe_PSb{&;Rg-GO2Yy2Ozlw z=|}i-wEWh|P{sY3!D+5j8iRMDh5_LanZn($PE||WL9flhN2jTh^jdmH#+8z|p&2kI)=yIV_wZi)YHC2X?uVJcG^K|l|RCL1e? zaBV6`p9lo#6jErFelbR|DwT7$??LSo)bcvp#8eVP?)u0fjOtZgtto`NeDipaIGB5W zqE`GsU&3c>cvULga2#*i4Z^8R>!WNB`5{TE-{p6M(+p6uD8~Kgd5yvw}L)SP}oo3Z)a5! zA{k`cQ7q99?^wh&J2#yAAQ<(r2k=45ue)U@U%iH*DV&9 zCkWpo13mv;KT-}I><@F^&%fU!!}WEmygBL0C0WCjdh#`jF$FW@&J_NuDH~atQV-ld zyY;gYT>hjJBKw`FT4mCt?Cph{vF>N3MGi4>UMJT2%=?^Fn~X*-U zn&Dr#qh~~95=;T3?;0?W;>4Z8E1RPzB$~vMq2A^lMUb8q z9O}>AtEtOPk29)hbeQFx^cyhV*$5~zHzV)HpuP3NlKtu${XU9a0V!U>Ls}G~<|#VY zbxNX+Fhfu7C|_eAEB_=sxVmN+D-V%hA0O?x0MS8M}BQ7na_)bkT%!OT6%WiDoGSyt8I+v}F=2+L=FIGX5Kdpf- z>>Qn83yuM-FX0QTF6u^P2@bxoL^JYi+usg5xwV7EO*)|aMi;Tr`30pT<}Pb<=mDZ;9@Y*)XYjwm6~VX;UGlW)IgzLlxh2 z+3I|%IWz^a-3As9|5p`baJRybl!}G`mq{-DxDzIRWemoWP9>PyB1DnUU@a=7#cF$L zyW=`pns^$?9!^XYfCkdO-_PGOvdSQMU0cYa(}hCexl0M3s!L+S&TXt8E$ui#;LKGT zUnylDG%Zj3u~aO=CZy* zI5D*_33dux7p+{sYLXZdTch0FXg*$SJt9aW`G|z#N6y#?+~)*?ULpZJ^?g}vSXIk)?R9(`)V*Y6}ZZU>!m31p>| z;Ye9U?&RF&=cIMtk*oDU=WE}^hmtJo?C!uqQ$KXT+?UZkvmHA+Mwp?%v66F|qyYZm_ z-<_9ln#AuV-AeF?OD=(`nt8+-GjmwbMoZxaL_Pa~yH=7_>TGO;v4Sfiq(8Jz^r)p| zagHgsXNhC&l=8_Mo|$}=a16d+0B}D-ESsd>Sca^lhT>2y?nVN%A-%O@A3k==hF&u4 zqFReebTSjuIOAfY2oPR{kn6d!|1;- zJm#{lJswvpbwsv$UB3eY-L;R7Yf>pTeBI-A*c|{lfAgVOJ*@Mf105*_cMTDk8Ds;- zNjr!1&H9YgkRDzzv@RKZ=Dk>8ZE>N^rP}B)Zr6P0zyy?|k>HL{B(oWLWYjRN4}r#K2}DE|C#=;z%y)E_`FT`t))5!71zoEV1^itr&A+n)Z8!eQvYAY3^+-QjkRL zvFM9p_3JPvs7NvB9`#zvxs7Ls)C{Ae#E8TNH53O$Bac3p&&+LUGXda@4!t4iQgvoS@{oZCvAZ>0=6 z;_~C#t9=BXht7Qfh|{&1jN5wO(IfJ@S@paD4<8>ky@>28ze^|sb+`2G-G4{1@}6QW zFnElHmv0e``Cj%>(Hs1GFwS{yV{+)RVa2xU2cOvSWp;nGFVW=Sr!?#>vMR>*!kYTD zX-V*?{AtI7)oJju;9;i?#@Sg)CgpZRM~iWMb@j`dF<*+j(Eb-7kkJVRdFS3vKA>c% zc9?mn6wl?BD=P~S*g!GD#~(h^$4Z@_$SsBCa>r8RmT1e5j-2^Xw=Ep~Bzs@G3KjaN z>+$E^Zlga}2T;+)xnTM@z_FvV3Sq*5H(Fcz8p0I?K!KfrP1q)v{t=zWPXf|F>79>i zKGL&C?ZVxKCi@Q$QzJ(vC)w$b2ZN{CL3jQP?0{WsVH;VFf&xZ&J)SEmtSI31i*bey zys_{?-IBO);0HTDxcy!f*Un#tthLs7A3ESCJ-M>MLT0dmD-8Gk{fCBsY9uK&Z?|4q z0ub9urd$tNNuLQ?LY{G!WT)B%kUwL!=dOi5;4du}n?y(${HDFq1#9GczfN;Qw$D6j)Q<#2HswMb`D@LeCIT;M)HczB5+hr)|-fxYSQ; zAV3w1cSPJd-5p3;&Tyk1c)V~`zrsRAaeph4N$$aokDcwGsrzb!dJT*lAsCaJl29}_ zP07n%E}SkFcNC732ikz0r5#|5ug0R1xX2Z|4mcqStLU9r2UZO4+u(kWz&25ERBsZm zSx}KtoyP1=T+J72CHhR{0pNLNIE6$m#lugtC*y!%ENfu=)Wg-#`zV*-xK9{m2k?2+ z;Q-b!!=8S$>TRf!!1tU*`3nPJ`#3x@V%7|GGg_H^nj4!^y|6rvy@q$&LR>%(6YQ zI-96k2sDl*A*YGpC~4Fnrxks3;myqQfX_1jGFTqt4P5=odS|Pd;fYRqDPHUO%bxzP zWB&olI`wiZg#_fm-lHk_fp&QfFyJUU?ip*@HAEf9y_deP-{20*UmWw-KDjz>^O`KA zlKz!ap`{?r__{G!lAFG7s16NDSr5|hgPSLrHflHZ@JoRiOh;9YP}kTb#ig6wVp?^> zOYropg+!7;c*a%pv>9(fSKM@9pea&x-ys6;koo8Yu+n=Wc~BOf;7Rqe5O8NmIw>e9 z=&dy7p5wmuo71mSX`GlMbzz_4so1uR73qeZis<;q3~kYw=PqND>&1n2#vUY}g8+Sw zclawiE870IdvK|sD!$OHBdk!U*)4lVRmoYJ-J$p$TJh6?*VH!a$48QYu?}gQ^li?RTPiDBSrWAN1U(4zNS)t<3HdJz2@eFFrYn6FS!n z-6vU7JzA$Nln~UFw2G!Z-#^~$v)vsjo!V&J?dQKQtkOuBfOjl?qt=${6s#psoseVP zJE+HbM*GT7fXn)R{uS@Ax_gOP<4wY>{od@uTVZA~fO1f2$N4HE5SRfPUb1U#kxyG` zx*k{GeCe%UhO^A^=N@YFT7S0d*ZU#QUh3_E0$R)?u)aOuY(j!-VY%8s_d6QjvC-6 zVqmz=uVraOl7pB)=lG|&*;x~a>N}|qIsiy1prS%}7w?In%OA6u1C3R3xPm(h zOQ+vHN}F}m9IntU((Cj#yPG(XA)Be~laIVMyjhwiv0#$Q&-4hZuZ0InQ1Gn$K&>zA z{_Dd#EAEXHl7E_Q_?}M@KXuJxPz9?b|Gqgozo3XuRm_$F9v>&}Q3Qvqm9}-mQej8K zmPs)|O}&zsq}v#A&#g4^*t9O&TlV;YeJc0?tU#xZ#+AGug{-uNlC~zvXYQJjp6vz& z_8~en@-zuk3=b-2zI|{FUVWvSaq%*9u9;Z#bb)m6b_;k&H~gydjR5_@V!%0r-1U&n zewT!iuWj}>JbR0EGH0?tZ&=94gA^{&~RiC(~~Tcgfb))^4BjnBkH>nx&e8uUIqGPPmqn{Uqkk0;r%) z0%pcB;cberV@fNE4xj6D;bBk=3|%)3cwG5pKXh z)A0#yW+#Bi%R(|}zxoR7e{osCKihCyD`Vlq6fqt#dH@tIk>FI zA?>Jvk3VF}N^1A^;PpLV&tUG=>oa}djJN|`)N8`U6dF|{!u%KRGkhe^9n4jSVj4Cf z1EZs?wj+hSUCU*po7Q3`1L3Q|Qcj`+U-c@?5mInI%&}o#w>-?`AS(4J>wGX_8h90H zU(~%r0!JH|k`w5b0~wCe>a-7t2ad-hXQ#~Y6Qc`NNQcm3y=tA7P21uIUGCcDdmbxm zz``}{!yM!Hr-6y9CC#nPlX~d`VVTyk?4dC$BVn7b?cwFtuga^VB5fwPY+Jcl@+oZ! zU{FX&eK9N>SlBd%qDbzBxcf-ZqZx9pgO_g}r`0>dkrM2x&CsH(&_~UhgV~Vu0owJi z<2i)!gz#j^o=aA}#)Z7}hMNz2($J_c)y$y_7~6jg%t${VJ?D`$3W{ z1cb+*M|c6HK1f3Y*u^kc&-m4y_pfxpsQcrhu>Kf5?;Yv26z7o-@fgdG)x`8$u<2E0$ zGPK#UyMv+y-6j8@N~RO7S_FeMed>s8?z)6e0c4LI_x0RE!;?8-rP;=B0haZgans*+ zWFZ%TTXSrcQgLijmUb2AXJz})hrvYhXIW3d@e^(@zVY-{d5tZ(E9INJFbvM54+nfy zX4w_@^$&g*NFP|5%@`=E7O&^=MA)_ehX-%hY@B&?O;3@^KD(LXINQXk(^pG*4TyR8?{bxQsxcED{B#T@$vvnLslF+hsYEjDFf0qRqpz?sxV|=Bdb>s^L#> zV-!lCf1f=*C6UcDJNDc!cy!e{Ip>1so?Df&h^llNOSho;RGD+TfJVV6&C8e{v~3wN zQ@nb~1Nl06?}(Xc|5EN(j1{3wYIBmNw)*;KDj8Si60$6R%?BcVeN4ulLX~fnR5|@} zoR!K>oj!5(Kdmh35Aj zZ%r^ytgNA?uPoTVpCY}nKb`<%NR4|>iq9{{>4V>Gyz4?5Gb*bTdi`2RO(-C@bsrEa zj(-vL%Rty9*K8A9-A?50yUoxq_!**6;Efx`@=LU=uAE+VmI(^=+9|K=dz;E(NyQvcF9xU?vF zHizo@$;ku%yt$Vd(?mn$F3M**Iu{a_QtrL6`kx^H6KmzV#M2KTHlRx@jmGJ-6i0pP_pknZGWr(_Z5N0;a&UN_z;7yRzE zb^gCJ=*P}Nm4N+!3-GvAQ~pakn(@Q6N?9%onY@(`w2xTw+;YpV0d|%WR}sey4HJFC zRWD3f_zyo!zJpy<4(+8^6%7W>#27ZIYZo-FYy;!8;DBY{Mf8_n%4UG^j9mNMV{wtu z-nq11cf{1i*C5(RsYc-WAaD6Eqd?CH%*bM8AbVq|eGCrHy?F6rJAmk0$cj>PL7g7o z{jGI2ef2!otl$2TF{CG1xqU$}T!8Y8V>p#Xw=YdE&5&!Rgbl242WVdZ zQtLDq*A_I{Y(`0Whh`+CFdsY;(ys%|n>yNfjj6wECr?qFcYzCR3d*A0l^+4`TKC#0V1xk1On(L1@2Q5NAlFd$! z79yohIW+Kid~l)Ih(^WOC+KM2%v+qv*O`y}mfcP$OOk==bGDlGC)dOfRmW_-bsNf^ zS_{b@#+MJ0VOKZuBb|&whj^S&FP`cQ7xSe*H={y1Dh=55e~9}mReYoNuK}EKJFj=f zKw~3P+liH3eLv$8<-zVYoiRrNIw^CUG;I-Omg@}+A_Fr%wo|+oS4XY#gSi1(DiEvo`gOv;IcvY;lUOWrl`GjM);ZF%HH+StBP;?2vYwTjnO?sLCrgB_`Fq^oP z#%l@#Hg@kChDx~%)?_i1Xnda{S8=Bc|4lO~H8`|u55^myo z>3NE^n#ct~Dg0L9Sch&>AL_1nKRsYTXJ5kG;7KAgY){RCAK#Nk>(<-D>ED*~@}aRw zi8ktOrWY%MC`6xVxdyuKhXQ+WsRUp+St?UzdnTq%c9Nz1n$95Na#8etqs++Jsz@ny zTk21mQ*%QmL?+2WQT_45h@ZKT4%`;X2!7|ABWbmyeXvUtDSP>HdkvuvyF2iNtf4cvSZPjkr zrpm@325c5f^VoCxjsSzvPPY#WFg{y8c6GH!yGebN(_Fzy%AI*^uanNp5K~8*D9=jB zO|43pJ$(3clAv4Oyz4hiasP|*oVZ1@*Sam!c2!YK&QBZEeFuokUGeKibPNZkp0h;- zO>!fxO%j;{nR>%IJn9oOm8x7R_D)%LwlPD+1Ao*S3GK*V1U+~`1G3%9CeYK1IDOlb z?*8^Uf|2GE*(GF^y~^#M3A)Ei zb&=kge%H29|L&un*J#`7-TE$z+E2JKV|waWBE?!>)pF#=cm&?CZD1ugH3fWFa8e%T z$1E;kx)xTWN#$_b{q}*F0rf1Hlnr7-!TI_{$EeIm2Y-!7_+$Abx=E?WaG5k$d1PzF zqxukKVkscELtyI~`RojJ+Oaeqj)U#9msZqmOlu!=evSSN|6u)jvk>uVV4dn?41Uax zMr7q=E;r}MDQ^SCCm@TzV7+yc|C-4?fJ`hb0?8=Z`T5F##J}^~XXtDa7;&B!A%$Pd zdeQNPc|+WJ?X^}f`-7~`_dyvn?6&W-W=Q!OT7tJ9x6~Fx)@_vt>#JqLGrnNu4|y^1 zX27j;uFE>Ao93ktbkG^1I_($gHdQ<66d+5<>n7e%+(MQ(jT(TY?G~n4xYoIuU^DQO zMMmThZj&ZyfssYsLj4!9rESu8YNyje$tpTtL8fF?gVEc4<}2&AhFCcbO5JszXXKKW z-u3G{vTKd7!oo0VwcyzU0OgF{V?eoXiUX^y$=xI6bK)P=MGmoi8txcQv$cqMy&b9D z&3gG3^~uN(52&f`D831eOljNh6EePU;w@!$N9L?c!Q|Jc9M7Ivo86%}zdMoou&i8F z4wxJ6ZnYQ=KK7j3O?!3^f${!mGHGs_2@DVkNM`K4n7;;yG$Cy_JJi1N*+1A^=a!QW zZNZU82YuTBlkJ~c+hi3%k!TAt{r#Uibx$L=xIQ$@h@bUB8_n1>bNSy*EV9u&BSDE4 zc(5B}Q%iJxQAYL+;GM5+mJbW{qo>j*(53<7Ku!PD-tiLjexv#t@6dD65A;+J!Zd2wY2;Yy8BVHX z?c6!Dvkh zepY+9i{_e)UAOvhkx_hXRi5W{n7%F5@PHytT*!{uHcQ2(*%Av=Q^IXd*{n z!_b==Go&0vsB3LdY()k;#IUsvk6iw8+*m3nHM2u(in+?g_8Lutz}P5=u$>LxzqW>~ zDlvTr#9zJHe$>KGSu3DOk*}*go&QAqZ2vbPaNv@zU|!GK>W(bNx-W+@MOb8T|IqsD zI1*|5({0@KMLFeN`@u${Wnjbi-T}2az ze7vpb)16tCu5zq}Lhp{l9CEm8xDH6 zK4*W>>+#P5W@RfzT*t$?fZgkJ_V{=K7o34cCW3W9Uf!o+}^z5PN5Pt zjNwix9g*E}idB}ermU^SNXb5UwhZr{wXh@Bb`5yn-%8>cp!Xr77{-u$S*M;o7C%Ml zKqfSDoDMM7oUW%JbkBS2seE;C>lCG>0P6&)inWba29;zeW=k*8sCltphQxdr{#0rm z5~%P6d{I}&c4FiFMCQOWZRCbVa-ovw%H*GASRjSVq+86`Ig|c_rD%$4nz$8MK6I?8 zCktzf^wlcblDw^PBxRGZ{aWl*q{Z^=AXf$ihcIUtzO;@&VE)lJnpr_;*rBT@go!sC|OWr=}eLFlMx%E?m_@G1Y~Xi8$d_i12c1LV>k(fB!8r0UF@alfgRZgCnWk@n&h8u#A+HFAS``3S&pmLJ2y-D&d zCr(;9{q`+C6=_WQus1A<7h3Tt*G&MBZl8GOFK%FL=lHcpvwK{8*f&S@l>gKK|7@5g zD>vjS03MGe-L}&93!~8D_O@ zSWN44w7QkZjmh{DooVkda&(tx$$TW$$^mRc4q}##E*93pdM0B%XKrNtr3AO1t~a>J zZM>|uxb&AE9JqS|NA}DATs~aa82it9>}?4CAl{<7;`oKRaR6oEE_noNtE1&Z2V(ht-&QngOiDtNr!Sc2X|ltZrJIc(h; z4^9=Tig8d*Rv1_UdVLh#nw#gin`i3GKx1Hxlvy8`ZHlEXS+;A;s}oP_-4v8S9L-n* zQqXQy6tC@irfNAh;7!Ke&H?qqRAV0@jj_PLQ7QuCwSIt2Mb<^Q-ljBIM^~+x@9SbC zDyRI`i%0Q|eW(LOdGYrm)^;beTu8l#X&;_@%9irW3OtE&ibW8-^b{yL_*>qczxL(l z`k%lt`Ex)&_s>J-)PP2(`0E-WeZ^Qx%3lJ9G$BE*wMk?a?&5aKQ0{2ju%IxSkrlBu zoZa*M`Ic;*beca_56($KFHK*tF?j-`#5up}-Ep)Jm;t?ItN>BgTM4_q*V9qgC&+(Z)JwRP(2GDO^jmGovcnY;oVo_{S2 zXkHTt^HM&pZdsYX_2BIP0Pq8T^}OaEPSA&Q|L6+9`p#%fUcefY;Cv6RkeVr^V}R`^ zOIif2=siG2|AiE~M@B|A374@XU85MpuJ9>XU^S4XD7inR)l-IbIPJY#{!BFU-j7Wu znJa^v!zet?Vr7oqL(OlDB`sGi*(S(1@eK=zq+b7Pipo|6^4y$mCvp#|(yqM(qT@_y5JuN~KTVXIhi zR%ts>Juo1T2ZkTrDU#y!2bS0V22M& z%%Xcq!(hGM7m`qg5I=GtbD;MkJPlAcD4zvfy`q3@MsJc(=>6!|C!^rVKu@HSUXue zkc36&b<${pH2ki3#|xD0Cl7{`6TO}aq$9>L)aC&&|1b}r)QxE(r=oX7y&{#m!0{%` z4Ipm@3REiqie%7dbwh$U1h?m@a}5NVkI~(=@%RHb6~}erGvH-Wl~F)ui%v2Ut^%cg z=#UW5Qv8)4wztW=prSpI*fJ-{rQ>Fv zxZrC;Ru9ZxrNZJ4u~4*?^AT8@Qfgj7q0_mYSU&a#&JNJE)?}L=-l7j91ElMKk(a_u zA82}Ma;nOp<}s8qUVnNCk^qhT^?Q!j`l{klCoq9T)oXn~>kjBe3WMCwFy%%4OyK_L zs`&ghH3f~t+Z4k0gg0r2ai7y1AGa9n`mNmeyhU;F=#%jy zts?UjsNK-YRv&nL4UA~=P)vHUkwm*jq2DFmzR+o?5YP>EEv7b9eS8%|xSDSu`|BZD z{;J+bu%)t@dKIgswvg+-I4dqci{gxn8N-uzLFHE>e^y0OSc#8X3))n2vL4aBcxD{| zfqMtE0ZJ}w*8^bq$#4L*g%uW2eB8ry3VEn?^zEjl%hJrr6}Z-VF!%p<**4TL3rWwd z*;@&_{nKYlk@gRtEpTZBlJ?A%6FF6k9HxK>?Q}B;6Kso0DWW_pr&u!E&(59~qGc8V zcK3Pglhq5)i|gIy{KI>@r-Va}`~}aiuSSwCy>H`|$#_SN55F9|#^dzwj#n~bjUR^v zHI?RE$odT#Y~cAU_!efp-fWTsdzN2!fBRQeej_vQO#BG@+9589al1NF*FspaCbQYt zGqR#+=^)Gex-FM{LG?A#=u-&$Nc7LqXLaTKZ0;ehE03O&u4@@mmg1W$rLbx?L zL8L{{!p6?7LC0ON=&&-uUUg<<^rzL&~t0~d$I z+>7O+j?J08nX2%%GX$qkuGVfIRj1zZ%|1I3+0_>Pw5c|Gn!rLwRrAI?%x-WO;S0Yc zT_{NH%p^rc!#tPN)Y4Rwn-(|vwMWRus7#R<7LuT8?5{$NNK5y$i(F%>4EWNGyb$7d zGq}>*NbWgCG!O?mz+6k(C0TTV7T~#)lhW77Q+?*Hm{stkSqY-<5T%dq(>_hzkdMuH zuhL?TNZk4=^H*`lSFs+gOUd|%glVM)U#~QjD5NHLRbhh4+-?m7KIc@}t52>lDf=#l=KJ>oVDDq1M9GXDOF!I-}=oZ2$Q9a8i7s{Mnh~8JUlb?<)n* z5q8;!q!DcjNwjPNSd?&+fhT{wQ)p$JmavnNcdSsTuvBATVogN>ynunxDB@wJ6Qz5% zB(S6xwPBwV#-IhoI-k_~b%W&uIllDD2g7J7^V#XD_a5E2b{eBpFSt~g;B9($Nvv9c zVw8Kd(XWn)S&m`HG40>tPoe!dK>m>y2k<;hSOo6aJvb}vov%V-QY_qwI2uWgO5x7z zB5q)Fr$pPK;u|&hwR`pRzR&vmp5kL48lsD5!bXPzDyXP*VYQxBzT)4N2~@{NRWgEDuX0Q^cDZlQ_B zX=B>U*Po)^S(ygBjt`?=d2waRPd zq7&0=<7T{UguS1~4jm^&l;e(-nenu;&o8hLsM)JTv_|&e`)$^eTa6gGB(iqgyqjBQ#bUXM>Z>%s6(sO$8yH(;e?%E$fG(M7k)3IhOH?4vm_NZ|eA-+h`#{prfa4W)4$TkL5Fi8@=FI4diCQCtnoqwJ18Rv5%CD3es~3hIwA1? zm;4k8Nl?}I=oGNw`FtP>>GrM97FV0CYpNV)q&(QGiU674_v8zfXMSPKoU&Kug&$1P z+1y^gc8Kbgnp10CF0(=;pwwD%RJt70DTzZfB|)9U{Q0LNxdPD#Wyow*9W;2^d}9jd zsW~_tZ|Bn|b;~AkO{y%w6bgkAhnFJCUofCziURa!z@{tBmd7qQ`dwX?T%S$r-C-aW za6=on?_)s&!q0T!l4l`dQ!Gg7nM`TikaSpotMhAnbyN<7k^5zWqFwIK}QWUCY z#6*c2{W&`C-?%BcjXyl_go@g_D=s}vwv6p}(nDE4Tr+`gP?9?*?-^U~kC^*KEJQaq5=;pNW;;qe9H zoO$0CLZmrO>&G}z5b4(+aGS@(O{K0CZ@bst0BW=IWV8hoSrR+#_m>)MQ{}4VXL4zB zyhn?X^N7AS9N!*#e z>0K*Ts}hhNZ$ISzjnk67!&ypEbKi@|rf~$@+=jrNhys0qzpRm)Jv}pTo=ThBbeUGcr098?<<(!sh~ZAXWa8AW zIsnOYF!cK*&XUuqi>LSVwJMHBxI${fb{wLLy38sIWGjJk-`%TPVLX2dg=sr21}RFj zEMBi&6G9VW5!F2wRw{uyu=dJ82*c}#`J1QwD~svDuy6=TnJxPACtsRmW8;r7~I^v8#JFH#1_t@d@1#fR4I6G73Y51R+gvNz?fYDm)EC zoK~ZHtA8tXFN6sVuH~K@8&qd~q<_a7duICXH0W82h$DZkT>r0uJMHXrqgb&+dv9Kw zSgKl}0*hf0sd@psV7L*TH)t`Me#TN_aDN=%psGZE{sIgY)B6y;J>X^|UrIL=N^Xu< ztyaReSadm*9}~55Tf+-5`&N$v)nWO=-|^F)Bsrd|hF0%{T?wV6Ti-Tt>+5Y0{!W%% z%bhK|1`IHIYDP6+GGq4JWW}9Q4qvx)W@ZiqC%!jwPvxXJ{ITZ;QColXt?O7!U3^^t zTnE9sgN^?A-VTCSQIvbyECfs2?5{zMok2EoIxb}WOR0htdzTDv)4po^=I6mFU1pFf zR9*PJfYQD}r)#{gZGsr!mMrGEBDAubm5H%Uv#V~oL?i|f1U!3Kl16iO`6I2jtY?hi z0@z|?2GW5?phQl?zi#{%yT}uEU`O`*cyli;CdP1m88&n=KcqrHWYEUU{>$i$t3#C? zbAfKvblv`T#SOS}f%PsMa^HHlhi1$M+(lDkW7ZH~^0tT!pv|L!PVOqfolaJ+c7LK% z$3N=l%2}ONveFwR_mzMzMC$Yf)6L7;*-0Ob8H7{*)-Sn!etlCf@$E?GblQ?T|E&EJ zu{$(hrQkkwdBow6U#=DL=KlP>u|jl`KzEO6bbp-aNx1Q&3Tw#&F_~C%6(cIoeXmlY zbn_RZaktU&$k8b`%tOO2U_6D>&~KH!C=cqbHP(pgWPhD9`W(q;yi%o< zs*(yWp1y8@x9 zw_%0}gNBujlZ(u}OT}6Fh4q@VYxH)KCOroF5N%Dj^*A05>K%xTnzytAVrP7S>S zZLh})djgP{u575O4L#aKP3~o~@GYbCBII0l@2rU)_nzDGuC3XKDb5&&1H&&r;)o6Q zR&BLuJ|7I&W*@x7DNJe*AQu-;dY)X6rW+?0Nt(#Iw8-7TuH0HJct1mjLTxiUkgjpo z>mbi(5h2ObwFZZFDp04+A$p3btB#&bxYI_KBWg5@q#+^V9s+A$%p{IJ9}z!@uYgBx zk9LZ44BDlVed}e2RzWl>Pd^kFvK?yJt2x47GkS%p053$LxFRc>o~|E7`L2wcMv4~4 zs&k4CC&#D!2}t`%1=Ms33{h6BT%VgHH*dHk@NXV&&s+B4*8#|4X^C%thWwIy*6a4% zStJRhC3=+#J|KuJ#Gpm7MIH?t^b^^cvx&l=%L&Iem%sMxwjF7?AaRtf+mI9eutj=+;K(5$9JNY?E)?OU-i(2hyed9kP(Ro4BBfpZz5k zDr*e_KnE%Q;fsLim>4B>^@wrIe-ZaUg7}b*l`u5ua7@VhcrdeUKFej?*{-VIXT0E* zNN)-1J-79YpRsQJ>afdOaYsA&sjY2M7i?Z`=Tna&L8}piGA0wf?6;@3LU)jD^iXN_ zCK;k%fBU<|j)N}3R8!0hZ3>s;*T$#ZN>Ry<5FB(TwNBpVW|Qf3v@A6DcWy;BV=>)N zJ`kc+;}maz*O}+AX?b_M2gZNMTIY4@fu8I*B2V z$p%*8GiQ9VHWxEpx|6wYS@17R@*}>4LgXg4gkfi{N_uKsqI49tcoAgG=M&rhv0=y4 zzjmn{zo5=TcO_nv4Qg?j7%K*QMf-_@4=58|0d36REnP*cBV7ZI1e1?(ONs?(7kn|$P_Tsc|e`u3?Sw0(r4cbau(OjK3Z#5eEN%>06)6UQ5ixAn)( zHlkC>iILwf{6Z}>5x1`P zJ2`!K{!|rt^6G(X_cu4D>a-F-2v+;mn(N~^seuV^=qcib&Ph&Gh^~0;E-?$n*d@jx zvc{bk!bx}urGNDq=Y>E*gf53DIEAhV})xTqF%I0B&yeD@s)I}=!1W4hbp7loj?RJebWnMFTOj+*%W8HgcMb-VAqT9e#;DlNTqyU`v)_0& zza0B)IAaNogtAeCgG^K_E{iJ~Gcu`E`g@~Qquq3Q zGm2QIwQ!`dmb(Q9%K>5^1)=@ytfcT$<9jIl0-C4(fe$Mp=0=RlqM?<(^UmXO|HBW8 zUfITrPtBwVOjhG7E^mE~E7Q}2KB~ubEj^_co#64Gm_>wy3R)QptzWd75`!3frx0Mi zFpRwDL(v1;(G>55ZeOfC78}(Rg*W4)qPamKhf82*S_o55Y_+V<#lsVORztW{EZMZ{gVHk|+cs0(WzP3e| zXx`hEiH{J)qXoQT?o2p(+XNnMHbMcpe5>UhGijfMdS9o+$^C`Qokw<&@1VeKsL4s2 z+o)EPxH3H2jwEM`^jnDk<#A|HP3vvUMy}L zJvtLYe!|!MnRQy^BwT03gJ`5d?GTA$_h?iHgnN%`lOsuB$ox+|kDUQh02%l);RH76 zBAyR$UM{I9G%0@N=HyzLmT52lE&oeW?|p-5D;WvC5*5)q51_5z5ghN{$d7VTX>ekR z2sp$P$IM$f_gRUz@t&apDP%=#a)V?dZ>Qe)R?0r9kn5G`JI#afIM($8zl`)<4gj~_ zncA4d8DTL%HqRQIx{I8;R|Walb%G_0aHEQx$Z6(tBswm+dm1}5fGxF%wno&L-AsDM zx>?A1ZG6z4J#;a8aVNc8qE~#Y&=_2Dk5s4Ors=qs&8w9+On)q<4X9C z`=z_8cJ$hVdrdgEi{3}9f39Pgdf@*+TuaK3pv+sqi=JYRva;--JSepvAm%!F&1Ef^ zgS!nzQK>UrRuhCp&jq-urfDgs>3RVpPD`Dj+*oauVO+n!4tEdFJ$=~j3in-!*`a3j zNqlpu2(;n1q0YBBWFrc8c_Dm?GR^fFK;^k5M{`$DvBfY_$IV;yH4U!CMJ~|Jc>2Nc z2IqBtN*po^)+4@flW6m1=(5k5_<|7Lg#4^VW~@k1@@|dzz+G7K#yx|FZF~dJz3E#B z+`~sZM6bfP<~#VWpZc6!mrE~td;kx?e`7fWDwIcZjqSB|ca+?B1D__`hb96~ zQYS+T&d)u8Z>fD2{q^=`|_t=V#pnk;VsSQ`?yT1b3eE$k@^5S?zn?WHdrmr!;410Hb!_|M$4yyYU}a z?hKq=+GxGH{TFU(c<$6O3pJ;vHaCS?rHBQ(DyUc%&v;WajV~WcaMSfu zzAS?4r}zqFuA|N0z8WQC_Xw;}wPgJlX~fPZlgj`3QGxjO4O#LZ>ldCDde@f zXwGME^WNBf)nEq-wydQ%d>Z%J;KoimY$tGIroGz7d%?h}VNpvByb1cvVB#C%p?i@Z zq5Oe!&U4T^(RCU&nu^Gz9E$c|u&)G*VttRIm9wUG30e(93X@e(K!CDU zoTOZ5_~z$NJU?)rH$;_kqCc*QkMStU7q$pGzcrTFWfI*P*xhL_ZQ03fKuiEj&LN?C zRh=vGfy>&vB#B<~hC@LGwIaS$VR^uW~U-yv$X08)`9ny$S3tS!VRp zkdEUM_EQIq~nQQ=)RiRU<=t4cQoqO&J}nCW;ICLX z*>+$VS?J*~65!xv%5He~8ZsTBh;=5U~XducKBgizabLrX>1&rxes@yJ_M( z31>y7g*6_>bFRl%DA&6dhvKI_&1Hl(ZkxI`&9`4c&E)YpT2@(ffiyfxOC)n?vQvEp zT13h8tyMA6C4$^@mS$yOb;It=9~RA-C9aCe@7zp24LdZ&y?Z+!Y&5PYIJZ2WgGyc* z^E!M1gMYZc?bY|-3hIcfG}NctcE~cZfy;o&|B1XRTTxRsg;k%1M3tiZqZn&Bte<*9 zVQT9O*!0NdF$f|}>J5Q#7F7=*Si`8rQ)5(v<#T#OOm5bdYd$sLEKZP;4QKE*6^ctL ze|nS0FUFV;8z-@Qir9npL|NoAA9G5V&iQ(^gejF-jWR5#O!-ISyLZJ}Vx>DgYW>+f z_G>A^6Abtq%i6aIy&Y7U2zLoQtCvjqaFiKi!ID~3CV9$df5M>L4n>1{HU9(`njT*{ zxow;vKHx3^cu0F^Vf&T|gj3z%C>5V6+q~q5)nb&R3rJT&`e7*-%Q%$jJg%rRT znVOw8KleVNd^9aoPX`2;+N;VMeZ0i_{#&VE00e0%Wd&RlVn!aDp9wBslK2&x<_FoL zD3-dTI$UIG@l(HC<|MpYyr7+eOvueBIq0A%U&WlBd@V899DE@EtTnDk1SjWlLjsWT|5bp{m{nsogKEW ztQQ+w6R9byw4=kh-L4}@9;yRL<|glLc?|t;65U)D zmYllL&`;l=AetA)K;h4YnFFn$XAh|}zlVF#^i!IA8E9kQDL&!S=rypzBlJ;<)+cD1 z4phcpa!>E{kpGrO^J;k|AwIm|3+|@y+3;dj{g4Ko8Zg*1- zVY3QNsl85{yaS;QiT1|!$JhYF@(m+|xOg6XEzU*M#~J2(lwmu$j;HX_8_we!mq1nS zs9~JO2s`n5DJyC|$@lckw#eYv8=;fdf;tG7@b3wFu;?WVjztDjxA)=ZR!S6@t-Sv$%qNPWlN%#r)j z9~Uw;4#^~!WalZTyo;@ zz}QIiRU*yye2l|w%CP3SW5r*zJWK|D^i<~{wj*T_)oU&~WVb^EMfUG&8oCL-BQ zztVaS(iW9vJMlt2|8X+rLB9V3F?UDz z!kKUFBum@>4(lUu<~gak2GTJ8?{|U%B~C zUim)&dHx;6`%jG-@OKxw{)dcRi@Sdo^w7^k?~MQmYcfNw^yeplflqVzll=fmV&+Mb znEmi!g4tNx*?yU&9YBnb@fKV4t(-}2ziFzoQlb2p@%Wr#pdpawe*~;?$^Tti1af;BfYLyN8T|Ac z@l%_%;Kv&^^OvxMO@E$QC(mw74?w`N#UeZ!?<<7UMhZ8qsJamLN9!=4R_p)6aQh?| z$0hBQW}raf4Fer&7ZkSDk2VI#kg^S>d|@?C^47W6hNiW@?n@O(DShENTTIsV7S8uX z1K_JOF|-{eB_dGG6S4uaVO$L#GSg*+xE-TyJap9nQex}w^hc^$G1Rq3S>B?vn;!iof)4xevwDvrjnIDj9uyhqABWZm}sSA5%|m|x#pgA1VE+)fu1v2x9^5~)Zb^* z-}m|Tmb{zK+ei_h%PfR{f}Ie6dK~?eiiM@9&WaE>s-ts41z6NMJN)4~-8d*U-10EDXZc#Bg$&qqitd zKa;6295RmJchMP7MhhGj-`tsrj6Ixus-3bbPj^DM8pr}VM!mhtV(w_bLBg>F%QLN8g;uXWYQB^20I@Xgd2KOY<*u6HtS zksvTT*?DJE?0M~JqG9?uoF6n?P;W9YHnrdle~@aAAv^K;*eN`YkQrPmEw{8 zbz3&($!9OP>lF>5#kFE1oOMF8$@;zd)0JPMPoWPSjp>{GMNWVxGHm0e=D|q-dWX+? zfXM^VKG?Yqqyg0ZKKHPc*AYPQM7r|Tj5(lao0ZUEkVjhBD>P{fhd+PtKFqDkM$o9T zuyecl((a)~a^YA2!=|f%pG~ znS7MV4tzGZdP#z0UXUNDVe;%Ho_wDG3Z45q9kQnD?2~jc167>3WxZJWJ_SI7?n|_$O9v6nAU*wD5$r)TXRdWb8 z(R`*1__4MH66*?$U9*z5tx|$wgZ&T5`FnY$c2~rX&f0n{rW<^wm|xmScj5G>^hm6;`L5%wU};yV^4_>FX38Vc8u+Vf>IaWcmMu+{ zF(_Lu5oWiiQ<71m@XiT3{?rJ|&<4SYHO>77neOvRtj zjsIjTQ|bflCC(h>XzS`GG*O|^XjO1Kz=n$2+h3Wf;-zu$1B_-NJeY&(CX-7HQk*2p z#+U1{HV^V6AafsCUoCdVSdLFj7-9ix6r;N2estYXpQ-l>Gj=amnrj!;3vI&JHSt4s zY#tEedwqYJ+_S9dt$x{hVK*+G-zq`2&Fzo(FQG~#Ov#cUy{OBNwL1-tBm&vtd_)(k zG`1u9vOWYLc0f}JYgRi|)eSwI(h!_0c00nKla$5-HyefR0;Viqe*4tj1luCsL78-t z@jt8v*j*nMKo+lDjrn{cRGelg3tn2`h^_zX^p{vM-@p;)OpgL^ppdFBf}|LXs;o`z zLD${8>GNq75##zR#R65)tF59yN(+y7e@+}T{I6=qlRJF-BK9b5*W-QUvXQ>gXrFFI zixQ(#Ve0dls`mgN3HY`|pN2iC9L^%n+M3}L0R9MBH7>5UR_t1pO*;-)t$ytc8?zee z!|zm+%y>WtkgiN~iONSvsCZ{Yj+ZW5PZ%IDvI7l7t*y(c?jFN%5P&HM^n$280fkLYKp zUXS@A7B`s=Jj!GvzK;z&Z>MDi%!SX!`?B|~Xfl|>vti0;z|B_9&Hi&t#iu(8h^!_f zS)z0Nh6{YD`&~n-#Ax#kBCk$QboQs^Ysy7bi#ir$m)a-obrns~#9gjYpM&vQ4G-;} z&KpV->S?a*N_N9|C@G)0{a+P4Am#VE(LayX*Y6b7?~s>E^{ z-0KC>hQ$>Y%DT9tD7b6BC5My_R%sqC_h;^GwNQ1*Q=2f6KyvX`$<9A-?~q_d$utvy zjASu{qsS@urHzeE_c|$s7bZ0Wh_z@AeZ`V{cF&dK6%zdp2KUj#gP{HqGvcCI0%&T0 zkXL;C?d_Qj+O!&y6YR;wS;zC`!!NB9h@bZTm$!~VDFaX^yN69Jw&j^(CS}7`=L*Yp zn&}8{W0HV^kfm=p&BI)i=BupyYH5Xz^`DNoP<5R7#;h+HaGSlEwCfPF`*xge+t@gL zit}+65_{1kYR3c}6dX=0qRgWn4U5_mo|sN@;Z+85I&}80A}izf>>cqNCJgm<|5A0H zQ!Tyu@JpbvRmyQj?lM`wt?gBv=F$?;y!T`c?I9=JeB~hB=m{ImW2X%`s#b-0ZMp$D z*?3IY6xJ!9o-J*o=ZDOB0|8m!rDIg}w0A*Xz_64@gSWSL_xeD#N)Iem_&QyP5CMpu zEBXH@JL|Bf`tbixQLq3N5hYDjkdW?_PLZymbd2sA3WA_?iL{h-cML@7?%Y6{(KW`{ z_B->@@AEw0y1u{jhnHN4*LFBN=ks~r_x*a6VJVRNmggNsQrO;aF+gtCeUZRhsAQ!V ziNJhj#}dp_0E-MDy?IoEf1P&g&-mOF^EGa+>$?XD=Fkr3)-y}RMcxnqPAhv zGxVX<$-$S5#R0)FhT_a4BH9u*tHcU5-rD}T=dqP~ok-f-!)5Po-y71RI`Xj_lOLvz ztlTwCYQg#{dDA27D)6uSpXq|1y!va_aJ+*5=P@GUjDMCAHGV-9mqBoj0Uc{LdHM)c z6RH-)IGi0LGi)Kszz$dZpJ1;`TQ`7v5Wt+J{8!8A=PD~U@c*!_(wk=3By^iXL@dFT zz-)H8zSm}DwkK}~5xJ1j$r&7g4ZLcni_QmQ^MnotB=P!T~`>nQ=QAdR0c$>SUetQc$JiG4KXr2oK*a+Gh(>>cB``uvN z5Z#9afKLVxJSIzC`EShDk0;aYcia#E#Lkmik+2GoB*Q264c3klPYGV~8Ba@m#}s}C z0HDtB*Y5M)CA~rYcRP~by%KM<a2@lcZy+(%KYIes8IvGh&^BmBYZ!p3HxU32+6~4Zf)ke$ zE1wwC0iRL&mj+%f=czuKR(M#DYFFN#WWcV<>;dS`>3|~Ywc`0_tAkKry1%@>Z){ZRP9Ak9bsCp$giAOAVzzYS){ECK9;ILZf<6;pF}CJI;?;?C<%$p??d_rx$h3qFx76I3v!VFVmm!u5sgo@t&`ho z!r1CGxR;)eg0Zpn5B&81(amP0ZqZQ>#rvWs`+Wi23Sq|m{1!7yB>~*EG%kZ(=GO} zEl+LSikE0)-y@94_M7{TJw3?}mLB!T3|PY-Ri7U6n~_P!|CVF6bAZNns@*VT{EmyJ z{4Q`>-*BRk_r9r3HOAG7Dc(`)DLic3ckP?b8vVImfB@gC{r}6x^5y|>bDH1&nJ51Z zoYt|*pTAO+((1`d^>@!?GhgOt!?ob&_x28pasK-CMj?XuPd2b^sA;rd>{tuQ!#yy0 zw=eG@i|C5oA}1JISKrj%`3Qcft0Uy~dPBKcGSO$O3k>?9K$u#*{O8iUjf@!!B(}8e zFJQU=0^JCb8#cU~UtF(hbM9#nd6%Ey=dop552i7Rl7-m4F_i}Ko5~-!X@xCy-z8zD z+&X)=YriWJ8BVRR#lplKhMlzgmn5VJ{4xUovjiAR($jU+phTlMhl8fY^vdBznjcx^ z+)LVRftsDz2uAq*)Au5u_uOsUM2Uv3B<-BfDR((;X9S+?o&_!zwr+5PTa-^$;PxUP z3bnuHA{RJs1LsvshJ>u^g`0l1V)Vw(T9&5HQ7MZ69t9;eBs?)x+s_0p)~EZd4tN=wqY59) zg?I1L3KoraJ9)SnJ+Gm1_^U&q01#hD;~ngB2`|dwe{q1Y)6=b?-+8Zjh1dBUE5{5M z)k()C?24>5Q#-uHsab$J#aSR>NQ_K6AwQBo){j$d_xAozCYxg`>1leM4 z@7nr?cQxf~#oPHFwU#Znv30A^&#v^5fQ+2~z(|(S^S3+HAQZ80vwBFQBwX^H^2pjR zu*Xi-Y9KS3|H?94e12yc5t5uU0ElGzE_O6D%j=C_AWZImCk6dG*OKb@N{(3p2_>n4`NfsD7eH%G%2Yo6#{XFlgoYm>J>hP&Ieiw#!upd z>M@08?^c}T*gnd7_9mAVwd&;AhCUE!0&F#L$!UAIa83gz=p@o083Z) zt0bKwvO*|HpQrwBVL;97z0vu0!5!mx#Gzx@+K!u8)#-*S`V?=&i!!s?JB3A{e2>6O z`1(zXJzj1n(__qSp})cVC>h3<6T6?Fe?NcOT1?EnWH$hq04xoe@To{ntg!snq2=^uKd;xM>2O z*rTBDT|PE;H#){1UbD3r`5Gfp%u`Amn^%Yf0BS%%4a+rH{?8yRRCiiD1#shWdBl8yXr1`6+nF! z-swG(QN95Tt^MW8oDw^$|55tqOy-GOgX2F<82cr4ChVhlAmn+uzEbcXse^Zm#2?gW ziEq);9rXmBm~B*M=ZOwLr-qQenO(WEPBei~vF{_yI}ZKtQV-ARKw^;5FQKQj3ZYyn z>S&uOUvNXcmx@Jy4;K-7FE*TTGIx6mr4`kAUO%6ZACrwA37C#L*_a)h7PVOY^ab!i zU}0tr2c3q@N=IL)P;bxMG1O^f-_X*N+|j39xV<+i;rhQREjo&sbbPRm&sf9-iGLY8 z&|d{(r4QQome{JhvEitWru(HjGUP{{{*i}!CN^p&KXn|NaA?4ovI8WwlE0Gam(2se zYT>rO8JT|&FXvf&UlekUgp{`=qOwk^15Dg|8h;5W82%Pe{JYTiZwG}HbgmS{vHI+x z??UD-QYm4$!V5x3;5x8z;2@GMw!NTCm&3L^iz>AR@WW$l{f#U;RA} zxfM&YecE{ypCf#4nxS51>vV`^$XW82dkFzOHVd|yVQKHdE;;rcZb#;4CtSQ^O)j+K zcM(T`gV#C@4ckXVT=gS7s%{Ab;5GmgL>fjyeO0PXDvyRJ|I6!^w|^mB#QS=+OLB-U z;qmK;sHnkbs1O)*?5b)gV8;M!Y|?&y|3KF!91utRgQ3~p{fnW=6J4<4IH5?M!*E4_pVU;!K+BE!VwqC@2a%xnKYCS%z68<4gAZygy&hyuHRU#LVfN=bn z0brgtc^*{`q*3V%5+r%|O|lET+mR38*AD>UNWH%cvCuYc?ePo~|I(sk!eXCVbeBrp zaDTln+zT0>h0c39TPwD8g25==68coX-84-{!%r|(-z|sVBqD9)yx1QJB>-!0v%CIJ zynn9gi5H$Hl6klZhR5oU=5Ioj%U9;Qo3#?Woo7<5yh}is=5X38m3qS1c6P!+#SCK>zxL(&U zy~`{sQ?mt-pQscQ_!0r^OfeL8j?@<*C7PjURz%`aJ{;G%KsdneaEHMCn&JPU5WWVu z9Ry#u^B`=F6Ssu*m^g&v%U`jTeEPr0I{w?LUc;xeMx?lkZ@dOOc^XC3r|TT|Z(qL- z3a2|e_w701l6CmKrMN@)503_0Hb|RDi`3BnY_nqAt_mi8mpBWKrZRMYCDc3|p_BOK zXs@UpPs?!JOtSb_=<{Z-m0WZ~ISXDKKJG!oW5eD(xuVRAXtHIiSEf&u??p!g4OVB^~8UI_->U0En88 zm^BO7yWN>({FjkJ^&)f!XqRN_l(nXkeXbjo-6k|QhzB8KR@U{(bj}DgDrav?h0a-T zLu7x*#~PeUc2s$c3Xg~9i05u8VED2y0u*au38cw_f`Yw;Sr`ojIpEje8TJ=8%sCX! z^=||Nse1UZ>D!~=CLSM_x{pPAsd_m8=>whF?n$(xxGGS=?@~{ONl`}CefWoTL+niX z-Go5RIMO99p(|hR<_1FGeoB(6G+!s>CA$M($;S`-DKYDi7>~cu)3dgX4YcG@9Zpjt zQnO>vMXlAjU>dkSm51+N`n+B2Tv_Y@VE%xKlU3JaB8Ay@YJ0CW>!U3d)9OjDE3w2~ z@bMfZ`IM-kXDaK0PtumL54`2AG55%`;qe97L^E+lU5{$GicEeI_HGU70T%PTx`p_t z&d?{RiD&!W89N`OUhk%A@wmeHyfFBHf8*#}l>=4UW_jkM+gJh#U24-V}|IW>zoGf90%%L3?rQP54o+}%}FRjrF%E+Eh5$p ziVdpcHBYB7TwDjRxHN38bCYJN=Xtt}mZL^tz(i5Gu|MfEH|tAhb3t_ES^4w=spg?i z&Y4{5_1!gh=J$;plaD;F`LXiq*OBQx*`hl5_lbTp+^pg+N~3DIbL+;}+{mJU!=ZI0 z(lMKXRnmb94o!biyQ{g9s##e_t<(=Jnu;WeWT$B>VQ-!JD%8e{hGDjJ<11AQ0ux5g z6%)q!#fW;9O;;UP%*I^d=dm^Cc3{WTsM6|1>HMt4D4hH?@Sy{58gE3fuF_wuBR_b1 zu73N#MO(bM{?p$Zb@{e{g-4kiOU75OOp?mD@X<3c^6g&= zW=kw(uXwxcc<#JML`xWi^|W1a^73V87@4MJ(OY_k?|KG$7Y?}B`4=}~llXuCZmtdZ z$@_CbqZ`C+-eqVC>QYNsRb~@|CpG(t&xhBEY@fsuH&u0wYGzE~%vne$97!P%d=1=B z100=7T!>q8*01gqWP5pZ=q0J>vw1=*-k`+F3~|*CPlj3Pg-5!1Rov4UU)x?7R|roP z>4T9sjuxz~Iss6Gr=%|9g?i>~jnhe;3;u7RUb}Dcr3p4pjLzT*l%4=?<_j}0;?SG!|A1l zZj0t+atY3?@bU5OO`>rICMKG==_Rh3ksX1r{0oX}xRI;FBE>`F0Cq0@O^$&w$*dXl zae;F(eEhZKP)pT|_~C`GE!93rWWXKGKK|B>DsXB=a$M@Mfu0R?)u{Y5R0bJtj$ezq zhXj%zkD6FZn=gi;*IEqSo+bPP?ru8&?H!<o;c} z;iH(Rg4;H3mons-#klQ9cI+}O-1B3z#9tN16Aw|JT0Q=}jnWpmadL#VjI9masx{O$ zGTpC}`Kdp)qD6oP{|2)k92|Vw2GfmuxDHsF=4{sdRD1mArUHr)(mNB9PNH5Lc4AA4{A^9cL{Cc{Whu`ZWZpcw-t#f8`%x8hf85D35Yz z>Rj2;v!w8lsn@C@#fc(*1l#cMs7^LWI1nzMU2{KKP5tlQ7J$eps z?}yaDOMOJ3w4KlukhWyQn>T0pomV3SNfzD^;vu+)_?Z$n{U9J{O*Gx71L4f+xwPzdBT=CTwne=+m@( z?_5t|*vg+mm_PZ@#3BL2BO%u@v-x$UN}nD1B7&W!GYGJ0o!ip-ztGeCC&=blFA;a!h{J_3wQ;)T*c$2-wPBlYARzTV01?ym)`+#xty;Pg5~Cj$$e=GFtc_Ux}J&r z)C;YWtJjju-u!l)Ylmfpq0EA&Vb6sCaL3!K9^Kf z66Bw7BY|-jS?E_~YNW&#?MLgsQO)Li#NXcM=Yb!N_CdfZTs+2n1W<{MX;e_q*bWB`fJ|5vzqKdG>fYH`?5?@Bg+utnzC-yWHlb>8}TC5`jsB__WQgR&aIwHp5Fpzz95&GH1ZK+O7s88tTAQ3(pcF^@vfvJkznB~u}U z5*APvA1m5|l1An~ct{7Sv13GOt|u zlxc%xC!|6PQ|@`7F%f9xS$6^z?exd-;vbiI0Z6kwd1bQFJauEHQHz+2F4&IB?_1Vr z<g&)sl6^Sd)?CFrY@!1=X(0ZP1=1m*4&?gG>S^!wsLzy5Fdd*V-qtCHbD;Kx z(4%Px-z`)E0J23$B^uDTl zD$F<6HuGKq7tn9P~ZJo%;rA6w0XOcvmd$c=!s{l=BqiWU*q zD51su?F3cRy%%|Tb`GgB%q7V_zz65j8{^&rOchH(YWc4x#W_H&23iCIU~x;Gkets_ zLH0ojPp)w)xfl%sK21QBL4K?;!*g+FhINF5ihnaF!O7LTbLSJFN&UMz?=$K8S9Sg_ zF5?xjWyq5!B0ZWkWU3fF`%f%VEcHmXPK|4A`4)~SBmz+fU@|7lQXpMa>_^b z)2^v^-ku#;;^F*kDP@;aVKtly1X8_nhA|uh%Y+^oLbL#3Es?L7pa(nz@0|r#Wl)p6<#LwmfTIonYH%faGdAq;8yF8maLwk$w0cUnB z01jOv&n>lrgVF^qR*&SU-^ra=V9Jc#sa`!tx4+&d{`va|L(XB)RvOBm_=+X8W{i$vaLYzp^1>*RKg z9goYPj&C@BB92DyJOEb%5bnEx!u)J*WMnvk_vGZn1enU-y3zIrhsYr6DWygfG1GyofTV%8O1+-Vm?tkyz6D%V)6`@X78YK{Xtlef&^hZ)S_<0QCX;glPp8Lc zGHwG8R^agaDFONjm;nE(iveqsOD}-Z&#&?~;oHFRH?;ECmw&A&e*G2rL;l=97Alv% zIeEEthK`8 zbLzM1x|3A=Ep2UG+uPy-OA+pi)m!S{sEXXn1>*$kw|H5b#8^d*<)%C&2kk5KnYkYq z<>p4lGHcbnG?pQn^R`i_8wX^TinTy9&die=_5X)zpc!z&{#6aUu$O^KW==g-vhfyQ z2w&vwEq<>Q1Nu#{Oe{h5gQLb_OM*kjTLrQB>Rb)@;*99fnG$f**>B#%>(inKkVpbn zDT&`YMNn(8DiqJm%K~dl?lMrFuukQS_N%R~*4hF*dd(o`;cTVl{lybxvD?bWWN(t@ z3=aoCkrjYbq|_`FLQs$rQntSiH2Y4bH`}SQj>np#j%QzO*~FDmM>sHO(G`x>_niF^ zGNd9h*F$|L1BrI1ASa1TpYkC$MK;IYv2>K5eYx>32$fE%7`8?ik=%=ax zDaI5uZ`n~|YE(WIAI94#-o|qWwnT&Xkq|lUCGV^)mAV9YfW@rO?}XZdOZE}>@lFWQ z8za`c<%8`DEG~Q5Jg8=UG{485wH-&sJNUT@;w1V0T7rG@qxBp=U`~kX(wx4rH>w4O zFoFGN9NOu2$1^zAcr_C}H51fNarlkdi$=8OK6rfbBIbSgL?T}Zi(oLtiW-@C(ygU? z5f>!vLGervVPcV&9@b#}yYCh;JgumpjJdShPa3a&hcxu@GJ8bYEk|bMq~~&~tSc3! zQjzx&@!oQ{ezzkJ&GPc{p)D)7%6d=O)GKo{bD45ZLBT%XWsFcNbS~cP>9^^Ca>%+) zViYjh|8+xTWJU8P*j>T{KtbSKzCKqHM~cv_V;R2`@5_&Hl|!LxC^c27QkbauETga? z{E(Oq?A23X5++loBt~*bxd9EGg#y{j2c088fEHC&R#vlFzOmmy|Mv~x4udm-4Z>)A zgI`YMps-jPnEPFFuib$#FU1L6hDPFDw`SJhH`3>m$v#lAg=P6Y7awReU1nh*!@m1+itRIZFAKc^(HWZ+Se1fJ*NT)3u7SpiYuQ@8ebilCfjtlO(TsQY_NsKbmIn+m8BC+LC`loE&Ct_AeFG0) z6F9%Z(mD)NYjc1ry|1@4xLn)`Zdy>w6@uL>o6(6?Lx;g)w}on2pT4T^;mioORl zds8hmUqw!LS{*cMsLiY{TbvT zdK|Vh#PEW#7twkg`G^fc8Ha@LLp*pmWEQhhyK?Y{t{xk)bY=O)q8!Eev<=UtGic>a!6gbe z%-PY83fqmHN8pYiyVL9$RESUSwMkT$001gNYkABhyV82-HhEyV)us<>Y$~^VXG!o{ zIIx}xhYxbeni(hOiqMKD09r_h!bs38Uay9K1k(=&Eg3!N*|(=~&wv_D;eoSmXM z=jCru2x>Z5Tn!SHkDnc@?pKsDsTX}kst(D@3v7%FtUodA=U<`aG>;&CmFls48}*`f zE-ibD`{~$1I_0E1gMV1RJ!P4zp3Q{Sg|WS5b4K>xnw zew3~CZkW$-JUPdi`(|a?Wv`zhFK$1sNk-%lR^0YIxE@+1zmBiy){)0t#-*M18>@6O zt5kN08aO0jPT`oQhlpU76z9Y4v$gXI( zcUMpy(fvYzMt6V}<-6(l%sLK%OOtY~Uzm*C@``TCaBO=7W$CX0;-Nl4ZcqFjYx>}i zwzel_r*jYYMZ)W4n|A75QP^2@?S~%BJ|B|Pal6fYvAS}<_e%Q`IG!pM89_DfBj3kS zPJGxcH}0!9CR`>?-_)qt$Axj_vgG{kOFd=jXThu)y~eA@{G9thgNN&YIJ0x;j&`Dj zZ-sd@&FOlYjZ2B!Kz0UJIYp%VW9Uc7i3hNN*jliUGU!7*-&3vd6j(jJ(r){Kr_!d? zUGU?GJ>~2zz28kdvbu>}V`K6@3ONY?^5^|0`>jVyZqSny@1J`d!OP8II0Lqh;-(t? zqT>x=Mt2_rTWgOIQdudpZVc>*zt%l)Kjg{fMIxw6f}+ccU35Kur$TU<+Y3##l&_Vv zS^$09qkY1UKDk6AcGw+=q5t?X<&<#4(9f=~l412uh7NXtJrgEFm zj=Yh5#Z-mG`}k^kWoI6@y`Q@1Zr;R64{2u2%01_r5Df)MrNX1p>@aLEbxteK;pump zV+@1fy~n}oeTi1h0FQMS=l-5rt$eKIIIS_U@&oW`|wMEl1|&N5IF}@7gQJC@A@(Zt*Bg@P`Y29=h`8aM{m3pO1m8ys1Pz zNFX!#Dj)1qA|KDw!stt!)(>Xx@XxTu!nXqgsaJ;I6?D(>=giyHG^%|&y2T@y8V=XI zNO2a}41AmjxNY8j2u3q_9EZg^Dszp_Fro^*;2uKvWFWV#L)uh!+F;^G9d>va&7u>` zmuE<3tEQ6!c^thsqtNe)%NL;ZS^%rd{NbAZk3dqn{RBKTq@BG zH%{vIIagc&s8K4Ygq<2};?%s&*4n<$!#?z~jP9jQn<|;rT!#ZANn06NNSZL5@a#>f_69yNcL*{B znnom56lsOK2~f^Ct@MRjI_gg{{&;E0K~qbRQp)P+8Ea25w{C@F2XR2(RApi0m?3Gj z@Vvt)6K}u<#6Z%5?^2g_Tz$HcidJ5vN=`+=roG+4t%g!bA~Vw4f+j3)e0>M31{odf zYP4fd=xBDQsIzh<`{#-0eN*(iH~6&-hvzPD<(s^NPmE5pB0p>%C{HE}T zwZ>>}Cs?1$OBEMJ(tKJ2tqV6op; zz7(ienF{xt4;oK2C2rg)s9swX-g_Q2%~OVq;q0g6FH^>$RJ`tUnt>nnZf*|Yc2Z3? zQF!_5yw{WD)?n51$&5MDdaFJLhBK?18fcHnTdL~%1zZIq>}vk}dbI*KAhz0)N_OD# z&Vw@r*y9t-k+AO`S2dfFg1-^4;KZCiV&!$~axQ;6fVKK$ZE2s6 zX{j#=tfRi-m1r>LlaD;uVxx10qKVWEl*8Y+@h9`rV!ck>xSt+1xqi)Vh<4fU<*iR8 z-S(`sn=`3meh+b+Inq&F)#H;7~ceH%QjzfwOJFF zyQ|5mmx^=K6;!fiU$h})?Hhcg>db*#XBU`Yp^uqYZ<0X^jrUptJe>~y#Y zBLhA>=i&9vzF52y2D?`&A8Afg6p8#?H&eTy>;Wsl;c}J=KZHeJlsW3k4=;?gJK%Y+o^1Gg{E>j>w!PQM=Qx zTq3m!@+yX`2<#7-{2{IR8!%K+8C#IMo`ipeo}Eo~sP1QrMe&RXG)}uN@utKsqu$S; zCO<5-!g$W09OAo0u_x1eZ#-lcBkjgI@aR$>Xe7#U+x&j&=+<^&L^pNi-qbUcr==}c zrq(&6qq*6S)@w^|?+A9BTchVyAdg!Mmi9oE8gDsS<6$3`_KNxOV$O@WeJ&wAme0Yy zK9M@qF;>lq%EL3w*-D8s?F5IgoLq2BT%5d?R=gK>)FIjYpEAeM!5c42uWOIKJv+!; zI3KCW;3BUTzRzxlGZIS|wHdeac%5lEHIlFTObrrB-K5pAr#_s*GTWDP?}2GbHi)Zd zfYB5=!}QH|^7V3twoRmM@9pmIkgiz_HYM2h-LsFhNltnPpl+dr)Su(xhMbr}$AlH7 z*zxZHu)dTS?!rE`QD)&5w^+awS)@p3{V)sKbgt6*)%fT%ll7OCkXlB~r=b@e@-@-l zP&E*i_|Hq8KQ&7bZ<`(rQj$_aye z)4ul^iVFU0WGL?ye(U)`dRsObGKT(6A)JM8eoP=Pn#g&JW>lq)KUcbQFI=NAL^y6x z#W@3EWi5FkkQmc3z^ zeS3crDgC+3zOS~|OEA1itZa_uaddd@qtW)d<(dm*Dtqat~fy z94k7K${Y!Q)4jCNi*SldFwTC|p}(??N3w}9+d1Y$mmDXnIkh}>OJq!H(6?g!(4(yT zd7I^lQ&Idj-Vl*$&d?*Ik(cbVbEq);@F&aZ*VAJRl*LY@rJUvb77nxRmblbw_Aa-Y ze`Sz%FE(%oC*tLj0#kWqR51W#LN|g>ta4?|zI=A1Cua-Q63_ZnkD!LCq&Vuexa-A`# zIh$x1*pJ*x9fv95dSec)q6d}6$)y>1hzDf^w|LG#vVZwv!>sW|OkfceYQA-kuk*!6 zharPmO2U}I15W8*Lr>=|#S_Nz4=xm*-h8u1upl(%#z=YOC4bKBE7bjf`wn5cyh5o_ zpK<<6gS4jAekmQzgDh$;J&o}Z*4X)ptKT5fJnGU9?Mt7n2usUV_3@J)-OqxlX~oPJ z=S68$QC^0G=u}XCXeqkVHTxmDDv(`!a*K}Rc3EHp#9gq?3L%+G*NH3k zO`X~)%hNBQ+FnyDg>=A;VEr(GhfN>xllD+sL*Xz86`@}I-p63&#C0w9(nVc5>BwoB zavn;$ffXk-NAAeEFRyEh&-?KV-c*&0?GE9RWpb3HbJDrv$)Iu?%1~uzbPr!3zmQbk z+xTe1A5jIG%YV;e1sLgQ&U)F(D&*#_JYNwH@JdEP;tz2KDPI%T9&d`Y1~d=4$b>;o z2{O7{`CAeF*d@^}yOf!`ktqS>U15))Pk9^hUVCo^SsZ5sak@B;sWBeVMRau3TO@YWYptb2Df-O$ot^J366_3Sbm^STAAyZR?A zL!RNaYW)3{hV=;2-HRn7PmArD>qzR0N3#7AGw-XjFv~GtQd@7=7nPW*uzmM*<&(Ki z-b&I%a=OM%31fA~?}V;}4*Ipum- z-%sxbYzkqpUCrPF=oOGLl@Cz7jO;LFXqG&RrrH!7K#ZqkSYRlh`ii%EcleS7Z7K{M zP_64c#NJw#Z?5H6KaN%uGYPN$QJZ4^HVmCs;}mY3f>)csS8Y$IpTxRQPCg6uD!vE@ z&k@=LLt$Y*wif17c)zSnryV2Hw`s>Vb)J+>c_ddeSO6;xNrvWkA4L2brTD{V2k5rhJ#vX%dc+8!s;&W zasB&;hlh@bqgsjPe&XKBAp}vu@1yx~&02Qi45*Jxz-QdRtybJ#Acc^n>;l8I&J0ek zGSe$#a}V83jgx=e(MqK_!ms|3j|2Zf2N58gvb`!~-1hOUoz?B;e|_(MyuM>FFt^(d z$)f_PX*l-0Y6B{(HVbW`W%lzDoUtib9}?4(ktb%Ce!Y|%AACqoOr~Nw&6tD}dF|pJ zD#U%t-RStolJ8yVuUZ9gVu^@|1}*8Fr-1$h>gGHf@01E1eL{lkJ(h>KGv#dyyedU} z0pWysvFc6*bV;2SaF(NH?^_Cf2f{lV0>;Axz{iy(k}z}$h; z3A3oEsOwKySYnHcSWzeW3j+OQ0)-nDbZ!jEY`^MCXMwATaNM~DG;?zQf*5Deu?2u8 z7@F2A%I7uj1C}?76{G`%SC+?9W6wi?%;b7=~HOZVTGb%!x^n$;a2AjC}Mk7UsS~v+Ng^`{%DUTtqbs~pbzo<`vo`DI zD##^97h;>pdqG2ddIKz-9~e6uRM&uNqnTB%7q0sV)J;lsPa5d;pc)PwYO~`&BY%60 zS@-_szprb4*SY31la>ze=PE{2|t++8tYnNI5q_!K5HDt358)Ot;_uh zob9BuQR$;!bR%>9i32*DST$T}AhD~m53D@I@PUElb>N}&Vme#!I$}(9SOrYL<#SRh zhR3F2y>vr2vs&_mSzS{hvvs3BBd{zDxOjS==2_%E&d6tLrgqCXPuwOCGextLPoW|- z=u{7qi?ZVr*x$iA2zZiEkX1 zjvR))3ja{eq+|K6B(RhE3ea!cWlWmxqSr8OHXffhI5XZs20Sz@&mgoby@xN7H=UF)Cwi$jn~QC>x@zGsfsc4k>_vUunzIF$?bFCr z(91>2<}%G?Gp6cTV-}4)rL3zp!B=hZ;+w`^ef8m|)l0_!BcY6*ia}qX3h{%GLF3%m z8F}Wo!y1q3Zo$klytEVez91n&TtnJKo=oZH78b^*`x0&1%CWaQb z-85OkoEQcO(C=V|a!(JtzYFZOsK&y4bD!#Ua8-;pkLYFPze?2vnTJ#t>vbavN^NBr z^9(Bcbx8$+taUslKS0x;nKa6U z!6eVqjSI!i@vHVvOmV01rj8*U$Nt;rzKUekTJkluI-h$7RA1Vr$h^8J=inj+g+L(X?X#=rLIDrmMex;a2D=+3X#hzE-^TdTtzhy4d`1b9(Nh9lo5WEp_)&vpm$|HNSq0 z98Bc?oS7rwXqfYZe!NcJ(#|T@!=<+@geZZbLYHfXrF+(i*|9*7X+4vFmMErknNzj6NP(e;pzU0!dD|rKw~qCD>#SWweM@F*kGUVx$2S{!`tG4#lNM zdM#8L`#k7o3^+Dic<*8DOixG;M#W(v+RaCj9`CpT1KC_v?-0Q^v-N6!A96xG+74|h zq(_euk#`bvX5p5~Pzj~!zl4S1uHHsQcLe_GQ0XWM z5Q7EDZgKl`PZ?nQjqN#69}sY1u#8wo^mlFua?c>D&g2op;bOe2F7Soib~QA& z<^nVSwd4Qj^2DrqCje2n*tHH*&_*mfC=B;W@q+pdj$6m)5VwpZo|qTB?eBSf%M!HV zfh{{s!gxS3&)9zfUFVOSo1!MAmRy^0UJ}mc__qC4$n+@D=^BkUSir8=+j3{4;}|;p zKmZ(w0ZJbg<1|B`UC?1K9-M}fI!#j}v#j5(c+ylCiX(w}ME7&e=!cI%O?YdDxa~&g z&)yq3DIh+p52uU%;G5_id=$9{?xLFanH}2NtzNt99`medgST-(<&+?X&Fy%9nUh&G zRwj8~8+O1TG{>5_o%#s$J?kj&0HJ5q?2Mcx6mX4EYyd+g)ep9TpLR&Rs4>K=faAt z_%&9svJaC1bfo-u0-I6k)zkbExob8$bQiCG;2+@q6_N<%H83)sx*TN|Sh~dJ8Lrh1 z=E`f1@@r*>RYs|ipNCi{`Q*(qy0_|-7r`}kD1^0oxJzGKD!$jN>~bsDn5l|W=yhy- z?b<=y2Z%;OWL6-1IWKY2dA%kj!;3d?<<{TB$Y`S*Ny59rd}OlB$L~%yVAC2ZHvJlg zyu|8UX=BD+>7%x0gEGxgul6s2{^F_>tU5ynH)6*s?=eI05x3WKu4bfJ#qtN@jCE3{ z!heeBLNt&(N(z-0MV1yO{`J{pP}Rt{eK&Qc@2Zt1Wy9M8`dA%cv-iPUgWCZ;2lqoq zETk+m6^J*XlhGG*ngdgqhXnDLf4t?mSj+p2)S=gE`VJi~LOWsHH7BB=8ZvP7bh* z)?Nl}aq`?I>MOwyyznqayqc^4-t?50n5Qd4)Fug8C%jc=$sP)$rAbRy2mN?QX#A48 zn`^j6`mQU>%(Rj-J|y;=dAMnDMX?IonJNwISD%Y%DK+wi-uTw2O;y$jE*%uT)YYt( zx09kfgS$nc_b~T-2(#2>Rl#G&{!o^xrGVvY+@nHfd8o>_RXTbJJ5?svyf}3a+A2TA zu_oQ!*yQCqpI#P_?p^#yX>9v-Omke!zpj1%5&U_wA{$f z;S$(3x}5?2xg$Prk(vBcf|Par=~gMYu2%wzd-KR-y3;NSY4#~cEzO}Quu1m^#>y_W zp$Z8g#h}m07&gNJ5ReqX0vkcOWGi<$L>KKnn6ZJq>*el0s;s28qFE?qO!88PkFCh$ zl8%<)edhaX2J)k5<1cI4-#LJEAh^&3Vin(IZ_|BIPjPxiPU~znw{#xf*mi`;Orxv| ze(*)GHM(l3Mo_L)gVP_p#>)4S>9_2*1Sv z#$NokGI|SB*@Xfc$JzucD_)>Aa9f;cV*rLARfX~v^TRFP6_ZtW_NrUoDV!b7sJQF-7KiP*Q345j52pTa4+0WU-oVP_D7atsT z0-x(eSM=#}) z9m*rERQP7b9?y>%n!9k32s8EI$k$1@uJAgaeV#xO*q+XyYKX`oVB@Bc%5=WT#AgytWxi#J_*aEALW7)mUw|^LHpAMKHVEXaIIw zoXeGBA_v2=qOi+$Cv50Rr9Rk2R!r2zpyc`PQv4grhOo1|3qt4v(?}c?zf^Wv%CJGf zx4KMNSCXTHkS%{__AOnMiK?5t%UEvU*|;CutC}29W#k)_4?VG^(Y2e~ zOhNh#9AA~Fm0}TTmvR+GsLBJewgc?nISkFv9<=>J*PVMvek6N!(mHvC>0Ru1F_F52 zK^O)_*W;u`n1!X>3y%O_;~+pK}I`1rT@XM$3#dSLYdoAo4nIpI5O_J;eJWghEIhB=}PS5+5 z{?=O)UdhK0Bo+8hx3Yjn_Q%x63-Su44T2v(+&-u+H;eBsqv(r?@;mzqB=+?8Mhf@| zcB?$9q=!&pyf?Z#A*ZwcQS#GmTDLEP`n;uza8B$E^oM~-$Ih7_whv2isTlmZ7Er|1 zzqhWpD2tm;@`TWf(PifS^aS-EpjGO8l9Tk4OhClC?f)@$)?rb#UAP}bLDT^iQ6xlA zPys>7@>P z_RN0vv)20E_ifedw%~4tKCGmi7&G^J`0i+_L$Nh=7YEJV-@#X{7o%w{mOx6PxKEQv|D?mm|I7 zJ~@1Kg1fl1DUhp-e_!JO(xzzLV}LSGz~!~Zi?xfZ2k!^b z%StmI7Ht)k`+4w}-#(RlYn2{>gtH`ufXF=W3DsCG$sEw3DR-}c*cEOu4$$c2WEVQ(vkT_)0old_i*;6cD^}3${^$K z1Y?WRZn1^L6WWK<*Vle7=OCGZE02YCb83uTqyS*^Hu~a@`eR;u;{-0xK(r=vP9e2+ z49={s1><(?Y##x_Aj=jKK22*;Z>b-Y^aD8c0WObS8v(x}v|fX^RvLE<0~^kvY|XVq zE@#XRZ0(}+&WcqI(r%Rh-f?LH2%-Odd>#%wIyK@t`N3?|wfn}te$&zIUZIDVIt&hW zF>emAGAUi?sRce;P4C^c5BkVC|6ycES0SMxXy7X;D>rhq0k(~}qR*~-9#g)|ytuYz z7gu6C0Tz-m1B>!SdhT20v!NQVwBi_G7=kQZdcjy#n2|p`;==*G4*1ghz|0<&D!v3<=kj6mc4Zie9Lgmj266oT z@fyd;VfXZDUoy%826Xecytfh|mPy0hY{%i7>M??Il@n?oU8bYk#tjO#9eXp>p~l`9 zlwoD2*=1tPmFsm2g|TB1Z##S>~oIwBOv-DsS$g8>QVpMNlslP=$&Z6oEJ-#vV zHaGUhXkME!am$}kehr_lS3J&7MkUl@XT!wn-atIx{&j!4Q}+5utwt#^>K45-&Af=k zVs989jr78xMkIX}KPl4PZ9bvT^BfP<><(&J!WbRR6*|joJ9+0z{YS%co#rB5>o(evSphnP|v0UWn1Mef9A86euAOxOC4FdX~qV}%Y_2fuJ=?&&8iJ*JV zzud-{Z1#>)RyYBb*;s}S#PeiJT-|vsJtr$ir&~J+mIxedz_``N~Drs zYr;sYddca}bo&14%rrZW^l*HkU}s3`ED*FeO0zn;vf)+sQLnz2Z{En@bdyUz$Q~;3 z+4MBqfvaYSQ1u3jfo1gs7V7!F;3DXxK_`6U~z1?HCIAfF2Ohk*`C#j4Mk??-@+K8OBxHsI_ zaKs|%)F&EL`gWC}+U3H_6H+HT5!QPNdu1Ssk7F1UP;`Gn^!r36Dan{h%lWG3h!Rbo zwPl`>3}d%X*JJth@Da&T(N(J}DT8m?^N;Aie$POVj2Vz*wR4LALu9K5R(FO0;UWLf zuq$>I9}adJ=PpWpf_2aN?qblECvSNt^k$G=Q}p9wIqGo^o(-3;J(3#Gmqo-nP&HUH za9C3|Fi1YQF<=6|RH@(go-n;Tcm;usvUnf+RVuDx`0w?l%Cai7SRuT}o+J$mvq&(s z(RM8mcgZ{&;kUC;dXto3{;*$o&B!fOrZ=eZ$Uk~$Gl@CIWwMt^Edr&Ji%aiu}qwZ-t^yZnBX!Js=l+boRS zBEHyMlXr^yVllq>ZJIoOu6Td0hg?&6|F*VWnA!|B2K=VY!EqIC^g#(J%LS?OyU#VG zyD`#LjwuL4Th-B0X=j0lEF-^p)3`Wz&fX*1qlWkk*w);$1}Ta58?BSXU4~fFYI(e} z%U6Z(Fp>*68r*vSq*$K;G8gXe;~r%-wpo&@zQlk^zK>UXC{azkq5OiImF^r2Pn%yF z61{+F&|H=d;AipOWVHYpCKvr7JjgL%r)Z5bFNsK>8H4YRTMsCyM5Iq8msd){Dth-Q z;Gs-M5>nW}2K#_iQR|kmcv>6+_pM3JhU;r!_Z6*B%)15t>uj-t7$9J2ERZNzW<6 zT1N(}qS1hXG^%3Sy{ zGj)n2nP=il6J^5$w3dSJLgxK($d$!(^;yF8x{%(R*)osZ&neO&mN=#t0-#B6_0E8D zrMOU{YIFQPtm8g6DmEbf9t=_TDJ!Xe)miJ{+2AFfQsVK>?3?p$Rb5duV@vHaB56#z z_t48g<5$6xiDfoDXLe*LPhB$+WhYh$J}!u(Fr(>p7A>Xep0$y3D8g0C=7B&&1FN|t(rq!RNkV2e6CPp*usJ zx{iE4ET@)KiqTeZMO3c>HK8d`6aJwOst8-R?5Rm`T0&gy9cDLwhBEVt-}?^M2OJAB z${eSF*T2t)o$ok*&gRcI*vFP8*48W>!AN=>7-h%$EwgRyU4XRQ=S^9C0P-Cs8ht5n z4h3Kqd~iV2x|OcbuK4Pg(U8Oe(Pu7d<9&PI2=6CXZQH#sT5dNPqr#Gohf(vVjY+~d z2x2sg(FQp*b#c0<6D0bQ4C@+L+l2r}AU{^t&f4X6gz2HlF4%GK%&51*o^7I*@~5q^ zYpNPLgJD@m^So^%nrPSmCoX{a3l|s{ut+)$Nzy^T6^!6A$d8chn(K%%X!$~C$iV+E z{r*%6%gW~#6{}qAAwnCl3PJ3mTpJRLLV{)PM5^v@_wsyl- z(HTKm@Zgt}luY^`RWhib;?K>nfsG6902?YE&Vw{xxyYo_0NafL*@S*Ubu9{K3dDy zTisN&ZlW?|s_@fv&boo8^Zz|9_!B7n@e)KY^9L@%mU{K4>IHWj(j~(Sx~z@o!9z^= zBKQS&1e`ndu#x=t#ksBrdAUGiS$@v@xilNl_5JP7I#QVaYyulg?>Hb`ZaV?s?R36= zw4ULdYK>jhem!ZRIa_^&8yVqkYtXln-m=UIzz`f7k5_k%nbSAkgF1P5)-b|{UBi8?sbF4ODI5+d{4Qf{Km}}2a7H`sdhJBkBZRUW8 z@Jl7FId&W+-z|1Rw+<~5bMzR|% z%b_oly~F>I{O>+M^E(x{pLl^$9vQ9!w0kIRQ-vn{jv#RU17oG}KR9(eL({FAd+A*y%+>QK{y07ppXv2Es(M+hChrOKU9O zR!J~+qzTezK8~E@`J_p|t48lf6JSc$R48r(5w1m*S|u{QEbRuj%%73xY0wm@fdLH5LhmkJGxoh!`v;!*?gtD6P=E^qXt z$OKYo;hGe5baXG&)fqH3HP^QP)-kUM@@b!FZ_kL)LDsuHEpySVt6z0v;AAb6S(IwLPV8MtDRcDdTm`w3Wz?txHbGSkW)Z>k}2 z{#ai~xNzPZtCav2-0cYv%Ue+LTLY4-CV{g9G$6PlUs^$~=zUaF@(5Mk$%uPY%$Qy3 zYk-l2sedw6FVqc{+*^=c?xST49g>ntRl`?PWaflU=nXUJ&I_y=WrQ?djtTGNMUGNP z(Bv%0P!<*C>l()>hO6CfVx=Yp{;gTlE;La#JXli%#Zj?}Q+8kHd}4`G-S&gd9`JyM z1TaB~`v@;_@)Y8U4N3TkmN!v1)8m$#)=~2MUacFUb6(_XI&%$+FIiTrXi3|ul%9fT z?8`*&n~T$7vw4V0G4e<~1RSBPC?(;P41YxZxkp~BU<`WJSDRf zrSPaIx&)8;PBLiw?ajZ7vh8ZDP-*3jD`N(UA$t?Ehs#!bC7+@e!F$_y!dHuycqcX^ zR^IgC7TF%oO*0@rL#g8#x8nkFFkgjJ^l{AH%^+u9_jf0=fGZhV_c;kM=WElfEX$j1 z`wl2KpX*v?tCKr(@M{c;oo?CLR$Rkpl`$k%mf;sEl^)zbt;U^ezVxHe?)hC(Dw&?i zL1_D`%WJ+F%{capN2q(f=Os&FvCiK`+sj=B1_BL7iU={a+e{cODip1k#j#g%&%E(- z@G}ftjfx#clxn%b+@|ICzx#j9zmBx%2K3GnApI5!{Xi5vgbvu3XU^bf~`-HRe_RE0?+>-Eu#4Z0%*8kKRtY| z+7^F6(V9!!VD6bvZVF7f*z?U}M)P&c^(90#5;x(K0{f?1-j&3+uNvw!SI?oiB)o<0 zD9;s*-@mhrD@^d;FDOaDJ66Nm4jnr^Qd@b9Pim4|VPBvdW)c$X8kH{|HNLMQgPv^c zt)gCRag?d5=rTwsU;{}U(|*?@(1(Tlwr5V==}nL+6UW28NiIx4bF$?}eP(}IqPP^MQJc^_<_PgyS3-H3K; zGLo@vePTc;vZn%G!%ME#Nc$Vah%50@z!L61t-6Oq2f z7Tp;-&^xL@1H1E955LJJctmnA#V&oTC~b;sT;S;f&z)7h!NPCyL-Ls+<9`N|{3_JI zbM>DE$;NH!jpC_QvK5WrktwV+Z<274DaIEV=fFY^(f9X4*55$XVnAfXZR(?S?^$3O zAB?g@j<-Lc1hSTmA&_0tJ3MSO_gR|Z@xy=%C)fOgV(+)zMe@D31E@oq^PylGS$vgz z9Z{j~W2jqw?{xO1FHu90SDG)z39X_A4Vele7 zUAw^=EyHe}kVWLp5Z2&XQf$qUmeHTwgnHyf`eH~xO#M~21$69Esd&OMjF*0=6by$!?1)08b>!yrQ83UBoMk6 zx7YqUsem2n#_fFgqiI%LXg{z$P6&;~_{yiPTgVAGtjFJI%hVUVu84R0#70K#d39!Q zmNYOafkOC`MM1w~qe<@S8I1>_@i&Ggex()?x^2o8zH$?N`LnOAdK|jTv4y%svSKVh zl`gial)RWXVC-i(H5ES3K2OG!(_J`DQW!OO^~pd!8#4{Z)Yrrkc-6d<+2_D@m5QWw zboiwqIZH?1r*`ISa1=-=9KvVOD0-41Qq@~NdSH304-J;SyE0c6M6Bs<-I4Z*{8RQhh#CaLZP2 zgyb{>k5?}H=3-w8?(!*zl$|!5#*lEzJI*u zh3k>&TPuHhTOWb@3i-9Oz14W;n}I#lp;e9Yp3g56^392Ol}uFM!FGHc{nv7+vrQ3? zw%|~p4*PqI*haZ|IDdQ-x}VKS+d;5Q>!Hb}x>F`Bl38%6;lEWwr;oC(y1}=9j}dJq zPC;H2{*QgXNR-{c8v?y3oCVsxQ4;|^egY_VwzdvHz>n0OpxPY#2;2l@R{eF1I@Yx6 zaH9=)54))`m(5(+J3t;gvvVU|jyB`Mz_4l$#50-C>7zkV$1U{1#O}hf#jTyL)kM41nMv^U@OTIfKH{Vvi4 zWLDTx6S@b9pZlzjlj^?0S*L-+{VB*;9Q<9#jZr}4$_^~-wE|SS1o;``QlFm6b#)cm zPM2#rKp(q0b~#Vz&G}FYx~N7*MvfiX7ws!Y>1ctx2A64)xPSnxlwz8V60Re8Ud%kusatwh_QkMN&;ILXCC;m-1zQ=1jzd{LaU_u>rW`sC*D9 zxro7peI&VCj-~+7CN}MMPI%*CT29X_kXSo=XV{*7)w1Tsb+;ea4O=8`t)*g#h)IR- z7Es$(*&U<42R0{%X)RR~7z|bE*5mJ%E^x7EmMaQw1o}4vXWVgvD>UaC-+*11{{?;! zk0$&WRSmCbkK}BVPM-g;=?{MFzmL)Q!pS<<#w!c}`}(UaZUn(WVwFT!g`lo?j~C@O zwpFw_ZKjQXBJzJYf-sP zW&*or--Zj=!7p+9Sx-GSw16f~*p%a)y;>4s0!`)M0lD56#&sk`K ziMd>YUM_YeTLZmJs`7G57SY)$>$sBFG-jhk&AC1R19q!>H`onJQK`1a)b?XmYclut z1t&H_OC&&B8n?K?1tr)Hroxbi2DZm?;SXz}Aux)S_{})yHC}sHIK0YPfa7q$s!DAZ z1bbQed*Y*r1%JjL2u>XBltdK~T;O-ZAXuu6Ql=Me$}cuDV=d&J*xy3!c2`EeYq_l! z+RGnVasFIAh5Is|93!qRbfAJROi=bvq^jOZW+{8T1fpg_N+o+YHmq@hk>8n9Y2KKd zXHf{6G~{}vNFvT~s#Yy!AoLr2NY|{(4|kEr@Lk8`0ndGIPL89x>(!IYi8PDc)jy!S zmPeT5qZ~E132<$fm~&3$5ba`|;T$axbsJ+mV@Vpg%5W6%EdF~B7gG+jkFh^?` z{qb^`;l~dY7Ns;Pga)vaA=dc#_*$a!SyP9MknB;8yyUO>21AJ2w6JWAsNiB<>x>mA zTt->Bzm|Fn0>gffvTCh-`Bk08xL=T*pxO=?Ma(5JM_?aPnkVc}IAcPHT_*8*B=wU+ zs$WN2iM0zP>sIz=eAmB7dYX7hnj_#(s{x$tLqqA(WoGtkrdW{%iX2v}!$6D1_MTVphs<=F)XO@;ZhaKoc z-@|3(5dxK27`C&A5Zv$aFDK2Mm;zsGEA1#E%^WUNrpyC^9(fgnaS`8;R8;UzA4Da} zOIC&LK=&Sb-7yHPgCQc&Km6>&%Px;z#av*iyi|fYiJI&}?u?qQ>9KK~k-d6`oqWwUlqh8!^cb>y3B^Clw0GmR3zmr`)8+*!@h zq$=Tghnp2>tnAJzYJP_w0iQ8R&Q-q10t#fN%ce{H=@w*rz*V~&8iYcj#_4?rfFsw~ zTu2eIriSARb?;ZD3Uw+3_B(!0tLiGZ!_gt=bL>EisIQc*7K6+#7opvoHd?RuPq^@8=n*|yg z4x8TB2mCiB*$!wvSjo11$?zkb^jBg<@A_%X$V1?XiKuj5EXhc;AYI-y8 zej|}99moMQY-v?Bvqd`w%j44h@i*&}j~&-*3C4AtbaaG^%|>W(=}_onEE*W9&uqpW zS5{ypOOy^c1~b%-j|R+9VD6QvnpfBUk&u6{Tk4V4s{cXC~dk7Iw-v~sedik|(4Dyq9x6$*!SPuhS1_{O4~o4Q5m6n??` z(gB2eNQQ0-bL!iSnE7NHQ}A5Q1hHG1YqzEaHzszgRdBK# zEXsZy7KRci@cOz~4$R?ZaZA=%?he>$L{v;PQML8eyxQT_7(wsyCbl<#Z25u zSYBOPV(a=QWhdldEbIa#E!^jd55DndY9l8!WwmpbdtBYAaUq~(afdT^Erc;bH*1U- ztYp76KX?E<4*-+asEg^O=sc?SV1qARWykd{KqJ24g#MCDT6&=QuTm@ZkW}5vja-&n zU%x*ltsy|~aP9I^6~0m;z?3SF-xri?PL4N>Tf7UtVZSg3JR{B=<&I@2u@ex6Ypj~a zDcFtrF*1N+_SYdQ5@kQYAP8NDkX}8y>2!eVAPdlbSEsdqS}f!5g+^4bHTZt-(9m7L zCm0fewf>Ke=U-rhTWF(#2=E;a^&lX=0^Btk?|?WZcUo2kIK;kK0$!@*M0aOk3P1fm z_vWKfa?|AWdTAbprAPy%kO<)^Bhz4Y%-hcy0p)W_Y+ppkv7g^((2dF8K1F?7Uoo|? z-#fWzNSgcxFLxrEFnW29!KqrQ|CvoBL0UnwR^1VCz%*qiRae7 z9A`B9b)W7i5g!mj@pHT!KECY3CtJLay0vv>==Jtp$#@K_WjCgh# z{U|zz$_$B|u-b<-8YQqy=6wX_!jMD>yd?E>%?J6FeEM^HqM^n>=kUg+fMfYmc4#a; zgW>rweC(X6nD=FTB6D9>?sK=Ug940ZhsP^sv$URZLwIuT4l!94Nv%vB51&%jI+0%>>!+zl;$ zR@h^-Myi}kP)oa8x+&Hw!5;gs?xyEf}x=OIN$ zztYn@M+a184}VtOa6S}sAd2#tc7(xbWkl6SBFzR04>adK);*e+tXs0L*XE@vae24d ziB^}?Ia};j!S-Ss3L!IXR6m*a87KjI^@}4rb8KqA2p$aV8~%6QDwc@Mk6Hr!$%rP$ zG*xn&2bt=#6(bB58g0pjWn6O;G!$a}w&0pT#6Bq>nf!D%alA3bBCoR*Jz%4P3oF~i zg_Yf6Yz;4dm#fPg6K$ zOJELJu3l)3b_-gNkrsJbFv`VqZ1ThNTWcj(2*uDS*8&puM`BPyycWw`arwjm;Y4O& zSGQ&X!i*s2L%0qyLy(a3VYmRdc^uIwY-dy?S*reIKQSfi5@P(8RMEcZD@2(52cQ~A zwsA=YbWUnG1kmxPn?lZbC8nE%+^xBwB3YqqpGq!l#GZuENG?h6n~QDYP#BTme6?m~ z4CHh4f#rYH0^8_2PKoa*PNUp{zD?wIFNRLlob5uT#$FDv~nbDW;x$ zFg{A~X1bfTGrZzPs-*IWn}0aPwMYS)H)R?=h%6e1<8d|~{S8y*nTiV*xfxo&Qi%Vw z)D~szPFiYLZ?0;S2~V}n+eF}+)FPnm1;5C_$*Wunr2j*nr^E}gSYLdd!CddJ6muKf zQD!T9;87vdj9-bLh)`gJZu9I#?fOP{1zs{(R~^kL^h;^BZ53@GgA@8YzKU5!#eBaB zLW|fCzft`$dlH#HbN+uP^*zu%k3-T#AOA-6Ckg@ps(&F#+GF(01(gS|!SVme>qG7= z*Jz+k8u6*@kFkaqo8{>2$8^D;Dt6S_@c|M{H4%AN7!wX>?@8>{8Lkk2|} z;2hyoAtA+`*Ksxz5A3TS@<$4AtJq3P!4p!VWgHe3%(ba)Y-FU_*LxmEJsSiMIety1 zq20ZUU+S8=v9@+ow`eBva`{pc5YpDW38 zg{!HsJD&SjI1%X9pQCFsG6lPjx_=q&(+?bfI10!R+9Bw@)CFB1P3lp+B5Ks<34M=u zmSG{>v?lD~Sl@|}@WQ;Vk;P`{qm~Ds0ypBKGM+3&s+?7sGabg@Lq(Xr8-&Jj_s`?; zUOQpr+v+JdC2R`8?0?s}a|EMm`T?VUk|QM8?dziK^hLcm_Z!@T1mp<0eLusDsC8DY z{M7glkAOcz|458FMA&DCY9Yv2fj%mI%M7s0AW!+#FF+UU#of&>I^o1nkRh~^8RmI?muFEo*LdeD$%+uJhILyUg4>d=~9nXHhO`?*8Z2e0x^ z*B-Db1j5qvGrR+x6_4i{8+}>C>(PJ-<{OG4?738mScVlS9(6CrB`Yat>S1d4J?JwJW+VtgeRm!&meyU>0l~KexS* zt+MuZcIEyiz%_U+(M@gU+LYy*qGI%Yz=y*uewrGeb6G92gvGUSJ3*rXQO}>0I1|2e z3rtuYD7YtM#fztyT1tti!pvV z#x_QQw`u6xHuJ57ccUl$Ui007Pe)vzt+SEkR%q#y)PZ`iRIISE-*wy{HO;BwQkTgb zsKGUEzYv86s(pN?E&7w++OjgQ{TA zFMsVd!7C6vVXHr#ppREyK`wrNngAL0Gld8&`n%aSkvM|9`0=JE#O~(9%jV?j9%z0S znk4R9VmlW}j~Gr*1~PgzFKDdl4Jh<#Py0PFM#rKA6_N2S*PQ~xweD*m{YTJZB)ov7-vK2^Y_HKdvwAf64O_$`=M=RJhu`g)fI@&HWQFX9%CZB1%l%dU zL9Y~;bL>%`#)%DjQK)4v-6X@;?v?!A>yHvM-xTBAI^lX8}*2F&3&GO)B7y2gJNH z`asLJnhTrhWxAslw#lqFWRtb&>b1;5_L0un1~O%7SM{Tjh@Fe=ZuFbV8y7;?$^@>W z2zCMd2H38CD!_QXYFv%)Yn4S=;W`hu4A%UQS3|B?ScDqdrv>={56PjD4<*;cJiOi@ zBw)i#*Rw5udun4%P_Aj#n z+-;J!8upSlCl+2DA;|=2x0ii$ah%_vbYupn0V)=1nfR(jbqazWVu0^^Gn*0PgJ+FA+qzE?*czXgX??P#8Ty>_~`Xe zsHhf+JrxVr93Q*cfNdcsUcF8BolIBmC)I$q2K6GddW7ZAq3;`(*Rudn*eiVYZ~BW^ z?7wf13AYXwO!U5E$^L2(#XFpNYEYL{nz=i)ch#$`#BDY|c}*|Q#-+rm2^ zma^Oq83?4Hb6Gxb^nlL#d;6qQsC|x~`DKw3Fz#L0yp7lg1fVeAi}ca`yS*?+;g@l{g=3UH|0_3+P8GZ!PL*oR{1l95v)TUikypq~&hP?1Uj6M+2 zoS9~LsfibkRW57a^i1Uz`MJ^!P~^AH1b*<_M4B>30;75(qmvWVewy>({BB%jRp?BW>)b7`nnD7V(B zQw6zZ(TF`CV33;)EZM(Dg543TlQ8e>Rq6L)`lxt8x!Jl`J4rY9d@oT7wL`{b8)?f- zAC9R^EQ<|{s_q~1@JSbz{U@&sw4z$!rsfn|kz5W6FBJz~lvtOhwplzaYmb{3aLD)^ zGAzQIrIp7%ZM&FK4bEV#UF(e&_Y)A%JgmQ(D zkAEgFMgkeKpXh9sd^JC%KvcP8M^cpPfFj}*14X)6dkn}Lr!Fh?^QDg#Z#Bo)j56QB z3A*c_q-yvq<2Z;{`%u}((v0`=DzoB^*v9|_F?ebCuw&mnSe>zoJs$^UH>cUY6NFx2 z3^y*wiw~&)^MG2hU%iBVXY!LG6gbPeu^-g)d3Bd*jTY&*D;TGUs1m=Y@LDL$ zxuN}N$YU_=syW<-D4;Y9-}|wm(6c&_T8TsypxR{iFY-DX96U;BzAdgF~h~U zIe3IXkMwNZpNajyZ?=FOMTCt0u!xqFG1j1cIf+j?D8#eV6(46ua;wUh(wVByht3Vg zGG$r4XqF!KX1TIvlXoK;|64tEPN~gJ$7YU-*vT=abV{4B#q+nm**jZ=V;?z~wcBSX zN(~Q@i*GqBr`Zi$+C7YKwi=SM{ZZ5$k1_8!^a}5??%q|>*Xo8bPIR~7Qw7D_bVaD3 z=@=`U=+@AZJCTbc$|$Ut$MQYkBe*ZJ{Y#$mUw47pU{l}z@)j@dS?N3vy?C*-Z=$xd zz#lx|-c_ssfMKl3R-d+;PQU%4-&wZBkWPyTt1*rUe&>{kpc_$K=GN4>kpWS1a!zzV(>*UUq1~ zuKTt7P@*Rx!(Nv^TKpv2IMDeJaJg)T@D$#+n6~@WHl3*GO*em{%WI?GNo}#veG7kb z`iIOMR&gjmcfW}{!_4o%9z_o6xF@TXYTV`Wd}#ra4MKVDsARv!6x4iH`jr}Kwz5A=T_t2vxa;3Jg-7be+KQjxSx^vr^fhrRT7ffA&8svvBCFkam{IpqtlD)zkz8Z zf*P%na~|09RX!o`_jz^rHQ$^3!$6O{T=N#t9XD_gm=k~=6&c>|O{Flc=M{)0x_TU& zr-6tm+T~b4o@ei=c4$h%WqjWVz?p7`;U^i#X`cu0M=fkiVL~L z9aruLLwJBp7gvQ3TLE7+CY)I)cd;B*Mj#y`;e_{qOxKp_y}z(4;H_Xgc*|6vyBP6mZS^DV~t*px{M;VSDgx+=?_RadHz|tezq<}zQYUztD*Ec*++#CFMA=*! z@&of7C_cHHV(Mc>VzD=G^a{Btl*Qsmnr1&7rh=n>xX%neBrCJ8hjKS}aHGvq-0Myh zj1fnwlomO`xKT)jNQ~lEvE=Y^VjdwBY;9w?3*?(YIZ)g*MubRe6^P1^hYgox8>)q@ zwFbnVw6sm>dlTQj3hIa6Y$`hqPqkRl#x5A(2IKU#x(^|r6q@NL*vQres%{J@jDxi3+Y5s_01|?m*3Q* zVolN!W??CVjxV_138ULIEyYC}2fZ)14({e*wbBs5J1NQ$Dorw!BSZHeYy&`fUdT1# zK+Crx_WFfgf%S>pfJy#V>`VJ_LT}(twG#EML}0-e5HG(rz#B2f^pr>2rH7~xqk~fr zvbz6a`2ZFE4{65EkCVj>G&ZcM3u?Kn5Tt3NOh2+pCK!fZ+W1nOBNji%99SRD$jl5z zG>3TVAdF-K9Di$+x;Ch9M z9S(PPu88mv;?jED^u+Pl&kfGdCd3sa$15zU$in5Uw zh0CkPJ@LPG_^XyJuO1c-#8)fVt@(0R!}c-|1eW19UUqG)4P5D~%KZg6i{r*z5ck9H zRe4WD?m>k)FH!k;A}mxK-!^*Vr9?QO`73PXuhfWz4&T^T!)3#UAWWAvQ|;mV z+^_>!br`>F@ksf3^2AwU3rw+HASd}tFefdh0G%mNFwtSPhzi++E!kfs+pd5Gx3cXgFY3PLqfU{u&pKrvia5ERi30`NHKmV6r-pl1T}Zq^*hAhuVSrJ5v@uYP-B>L&I2A-N*`=9eWCi^eZ^wx z&PCw4?|c0>j9tZ!4kMM)v*=D!pG8#rp$4tf)v_WXlaDpBe?kN=Nj$aV|@x zb@{DryBIt8K42@56EUeP#k1vZ`r||tWEyrzy7K}s^zx5BxaHzOudtH;vy3hF1k_jE zU;a>rldA|zjNQbN3nv3s-|0p zb&=4C*6**u z8ot9xZfDYv6K0{2UrAFO33f;aMjlH&NtoM4{I=CXTgA3$V4?{ZvR`|-%Q_Hmm1g)O zs7g&(NNUGn#6-od+fvA0%ZZ7@Y%e#(=wGgb-8HDl;N-Iqi+^x`_+VyV9V6| zl@c>2BVwGo0X5_=Q1~E6?Y_ki@{TY=ZEyuFRzrNs+qrvgu43{N{ElKiDT8_+m@Lkd zZH5T>02wXZJV+v@WMt|x!`yNi>S8$;YQ?;TwwUyjY{}Ijbgw7-w=Ih3cQopc7q*jH zln}JskIQIs_o5ziix?-{ivejSP|wzT>5!|AJZzcXZ2l zmJz3_j>c`F_P5`vBGH#yL48obRN zw>(*LuQdkC7363}KP@B&WrP%yayY^Z?c3{)AhR zIxT(2(eyyKXdrO(jwRcv{Gm58vUk5o2UUzrTNZPVU_&zF;c0z*XfEfKu+C~~ANuX#C>@0*`HzjMy* zlPqxLno>NRZ&IdJ?iWqr^(|=O#cyNeFyB41I>+D7OQ6z7_nuzB_6%2^kXZKos6f?m zUJ}w?9iv226i%M{7lx^-a+PA4tS7{vO zwzZQrl5~wvF&*b7T~FVGHrudd2D!Pc2<|CtVK4zg0<(v{^IDvJdd(BQ8y-z-!IlC@ zwf*+YnJNY$8?6KCoVAC2iQrayj7?W3*Efz2`H;0!RH++-U$^gMK0QM5)P%itpRS4W#EHmj2_mHSx3oDha4 z3GfQ1i;fq)&!0_v>md$AbenI3et-e;=zZ@lGa8Y}VRfM-Cyn@PwY zvptrF&KtbMtut(Dm&Qj460xj@Hm5J`YLQeTxqPDOJ=sx}=a z+`y3NG2Ud+fnV6{bxqn@*1$Z3NcHCQHNwu2)n($AxHzP?Yk_4#rNIx<4X#~`DdaF$ zfb9p}A|_k2 zt92=itLtzaF*E%}41h7BBD>eHm7My`Q?urB-h4 z)M+xCXJ2KKcB`{@`v4s`Zg^b%!}8O{8XnvdXM#&n=`?g>ix1ZDZ)V)~)m-PcwoV@6-pujIa0o zyA*j>XM*nVWXoQHSh{INYAuI|&W1(A^RyKU(jWKkc}YiO4fpz|N!q33L|9tfV3oHt z6*>dt;tF_lb)t-M1^>JhZFxc2vGjF~K#&lbR(t8aM zibx4H0YWGVN$#NgoW0Mv-?`uXhak*MrabTSto2(w-H-}~M{U`G5ZisnVb`=a)xMbX z;mNl=Dh<=7?d;kncp^4D_F${q9xiXCPF^dl#2YRZFxvjDM-CgCO<3Bd$nj|3cq5`| z*Lf(K+cn>4x>%;#)3hCqj-?isyG|w@r0$HVU?O1wM{KoKSZZmfw7qrkR?;+ax^br@ zVrE{5jN@U8oNH!BgSnF@%rQ0@YF!11AzYmM61_>pU5L zVimgSen^Tb+KIqVTNmwMSR;C@{jK;vXTb_fOi5e4>`Uu)8=fUe_6ve3@`kxRmmog= z35g43HM(i?w?w?#PfFXT^k0jdah2n*Awg1)DrW2>=J;#i)ySHG8yJ*qiIZnFBsc&e z&*t01KHVR^>4~=}I>3=UfBI43Fi`zK+^+o2$2|l4N$(wu7MO3})l=f?-S%f&g&HbU zxb+Vk|7zO+On@AOzkfDD7b;_~sd}%&r;ARWFui(>h+L!{kQ4AlOW%r#FujF{7mV`l zP2}*esp{FRKgpzz_SYw&4)Yd+h!h?>+wW(VN>Zd1Edq-)NTc@gU5U~j@38wNsp5T% z>DTjKr?{sol&Rk^KS8SsWS{ix*Ud!|>3SCVpy=0hw(U`pi~GWIxAxKA3_DU>5e-M5 zSBixYN&3e*196tuVV>ic zrE_f3zhd?bG3bP#RfcXHkGki$M2f0y)di;naK~;*gA&_JqovKScRS0{cJb=5x+oy` zN`ITX_EF9JV#N}Lnr57cG@mf~gKLuiz&x)9E>X>9_Jt^C=1*MO;@AD0mpJs)7=K6l zj=>>vWFT5HE|t&KCavKhW6BD7+ zA4He>bo=f{=W4#!WAP6yv~v`9wQCqga@O1A3Z#N1B?eQ=Rr`Hr(euHw@*2v8UFFY~ zFNi8MNN3V5-rvTRG&Jg_Nef&~s@2vMsjwNp4B3B`*yMbs>(#sdg(%|A1DpN~UQfza zLS}Z|Z2tMhFyp2dHaiX;UAyiggEhJq8h4thUIrY`IR0$6L@0K8i#I*Kd4;D)3h&u( z8Dll04?T?1=7y}7zciLFyzLz2?NF;U8nZTg$5^(9PDt%j(?z~Y zpK+RL^!Xq55~ZKM!os2D^2HCGK(_?`Rt^2~SfQURt+BNENqq=W|G9br7N}F%vOwWq z-6`5s9n_IPgB*AJa5jhO+SRx26*h?_-7nmXZk_M5x^z=SXmW8({Gre%X|+dG)m?O^ zRRPs1Y195jkMiQX+J^2epIG(7DI6|)YIT~+?so?bKlGT|&|NCRYDS4(-e@0=wz=`) z$GW_H5iUI8;b||U6W0O4$6qHo2JFDUY3%kK+DH+PaB>=(c={EAJ5CubhXGi-h1J(DiuYt_L!cY;9F>!=aQZkNG|5( zN#)9mWr;ELb&V$#neS{2T}}jhwmivkCfn8e5(0TseR2bSX&645NmN^!dB5vA5SM5d zRheBjD<8V|19x7)!$^W%?$%=&Wlhzxv#y{{$-htHjdGQ7%(S3LV6oX6WzY#FNMf(B zG`D$u&8OxX^{ZNfm!wOT(UXkHvwQ3lxAr&2xnt#XQ*XWJeont#xbsQ)j>0tI1AysL z{}85B-ddw!-z#Uq-R&|tSS5J z(-*mF7r!=Ft(=D4oQ(x`H;6d1(|KafeU_9WI$%7oOJ`dKK#|}4jr`P>tA^juV!50s zL*$Yk>kSiK)vJAC^6mo53ytx5Vq<*w8y>;P1vQ%PEa5p$Fl6a8WVb3IXEQEz37qC{ z&aIKU(d0C^?a_AD(`Khx^N{Gd-<6~xT;DTC{0`mO6bxPZkwIhU`E*Sz@n*;3k|bM< zguTCs<E@fYb zPdC<|VEbzq;*nd!xSGh*`FZ<>zmJ0WH<+cLcGFm`VeZH5t|hT?S?}+cAS<wxXI>l3)Pu6*p1t?5!oyl&r{X1{!jHx6qz z5cjU!QpV5szFnV;p+aDLq6eBQ3gOeh)umUhjBB4orO1#X z<>u;j&@YHLAv=R!wa>R7OY`KAJVl?4OPBw8ohY)@$-L8nW?0--x|w@+nb%{UQQt%9 zS+%_>Z_>2>=EFgHa9cju(%Rn-j_DaB&>O?6`t z0Oeh+vWLMpt?q=24#X?pJia2EW`TzzC%ZhPdSezBeKe0_SV}X8ig-V-ZGd$tdssA= z_2&YnbaN&qrs)$Pk(|X(tsf{r=O+F`v}xva0gzNpoe}$q53GOPQ(Q$FOpcB@O*td#$DdpqCInE>;u&sTKgLig-#}>G z^{pON`vy2Zq<=F=qC7+yGr^G(4?`0lAJa>YB}i_^5~P@YRTIDy-|%QyI@|eU)h~0~ zFERqu;$`XAZIq5pBW?cpf~b^alJ)9W^(5&b?BiXdk6YIO(224A`_WKS+buCoa=ldT zy0n!t2|Cj1eI7810Ms7qkAL~1v6*L|74;VV)kg2_k}EoD#EqLS{Yj1&5oNgB)U8K1 z2prb$h^cz;)fz*;!0Qr4 zENd=QF7v4{o}-GED?v{J@1Ts7%~Mrluu%C|3$1t9ZQbV*PR!*$e1!H32htBfFTdaa zM|M>fBdEl*Mso^@?9+QKc_t9x+%6W^qdhtVVJ{1zI|V($@M-E7f*3!S+NG<2)GT9P~!;rrG^SDUD=x@^k_b#N(|1MGI{uqArQ%BXUGzEvKOg#Sb^vC^#{fLFNrr! zL|>r0n8Y4`_Ut(=Zi=6$*24lqmUGP8LZUjIK3&SE(SYB$#JEgZ2@F)^*(ML!mOr7w z&ibPcBP^Hu=NF4nr*8qsNxD)MNI$)Qh58Lr@~2<%T5hw4{A(1hAv>;!GX+g2fN-(D z(ND5y>L5=>kSXA9VyaxLU8W9jzU|*9j_5q*X!ck1K$J|FS^N{!s!vXks9oTXCZLX|>M$9)CpM)e!owhd2YO-`1NZ@OdxG=f2XXAm9f zk+)G&ax&*JBt@d#!cDC7<8+2iyhCwJSU7jScuyQc>_We9uK1Ua#RH6#N~Y9nj(r*$ zP2OWQKUlI_l6fc*6%GDXKfHv$BH>RRb`O`Af6uk@tA}d+PJ%$!W1QSXOvFIAQ1~MX zoyI%A=0n*fJSia*#?(;pi{s3^kE;OD?YCs%hPVc$p`Vj3HQr?6em(LRwdW>Y%*nvy zaJ@1A{+#H%@I~QN%x~V!aesfyC9Rjez~oDX8W3oqJ^89r?3{W@Wr$-=^*GJy(bhDt zIiBN_B&^gy2MD?_NIoBNlrcM^91!Jr97;34L0n?w-52eU(&J89wLaY;XJ73lJNJWQ z+v0)v-BG)g^#Y}Sgco35!H&d@;u;14&CzNjR@L>xmcGvVN7c-=xU_B*pRqp5EKz2> zowB^u!IZP8kt3hR-?icP`kHf`_|W@2X5~GEGI~A168b8W{N#dTM;}KqwS7zuGE2Y1WOaSU#T)^|Q(NUy zt`bH{C&Skr8!=~_x1tZx$E%|cWb*JIPh~PWwp9|1D})nQ-()_I%iHNRh3frI zxp1k9Ly8F!@1c@H9!T`Mu5D4#1A#}zf+oGJ1!fP(nE<;npz>M801(0{AkarGo_KaH zrY?;k7NL*v3 zHh}2Ic-Y|W!^yi#^?YJJ_$_f@v{aH}_)tDg(1k5p!T1}rIqwEwcC9NZ_= zfBn*?)WAtJs$@ZJ%3A6KfvF z-IzqWr~E9pY6DsEhpDDjSBcY~xWE6MaanibN60QA#>w%+si3xNY#i4*Fc#02fQLMJ2D@yG^B<=|(Ase}z_nf02rBQxdL@1IdC`|(4j34C&3wU?>x>U*PBdvimXK0^v? z#ezBg<0tm+N<`al*%Y--3*+I?V{Fjvv8QeA&O*A`Ru0WWh({tt+6AtcV63`hkBRg0 zTx0xJmIwfsLX_4)Ci%ruY%2I9`L(v?z}sR%E(P`tR&B6D75JJPybh=`|tb-C%&^l3?_}=f5l)bI$T$L zG6XPTDuB74#eDVW+Y?sxJ{5ypto_?YjJ`$Uzqv5bX=-Wfn@3~0-9*9Z4%~>T1!t6b zvijU!wfOt0mL5uTREqV`iiKpOVzKA|EK3jN=ivLk);Z3N%PHI;Q*l5s=_T+I=zP}| z!;@S#J;WVVb$NX6ePOV{)N|3URRi)G-f6B$30L7rPTO~-9QtX%ALlGOG}{7XecL(G zml5lIwj?}@PL%CSQ^OkjlqjtAxtsj|mE!FX!{-BcZPUxRgkO9f2jLEqo`Gm8aTqBEYBgJ&a0UH2=X1( zLC@bJ<&3`|_+0mnRl%^`r+K&`uuCDdae)NU1xWIiSpdOK|2D|x6##BmfYGu@UDRD# zF9GfKk0>5?2>#wT;PyM-{-iRJR$4Xv*@?m6qcN4G^z>)idpeMg6CVWcJpC&Cm72+^ zv@oJucIGz>zOe_Xc*stF91HbldwEA#=hNqiR_fW(cG&^hzUF4_qhNAF%|cfo!vux} zV=eP{KLo@wd%d0c`vviX;M5EU%ui@|P*7%RXl6fVJ~ucd1C!$QJC6A5?@JK)_3wZ$ z+i$>*{v03`Omx7<1k^`u1fPHGp!8OCNV>4sEG!;V|7M%35y2r1h5%`N4 z{~|Q}hTUAfdCs~qLW!ExEIH)ZfEC0@y)5fu?#8#8kbkCQsDo;pCNED=l|n!64}Jcd z7OCxZ6!aEmvf5x1nz7`pnib)*rR7hBab&!9EzJ6i48nU0Y@gRyGRCn|Z~LWX06buh zzE+b7x~uaa9}pkxlvQ411WEC<_`VZWkL)Jwg2<>R=$xtcZO2JeL&WUTW+iN})abN6 zh@YIbB(xAPzx9yGsRzPj0iCRQ^#<|)Y@2A|!R(kZo%UY#`V0lQFB zXKihUidr5ZPW#W}HaM+(-6w5-2#jWZwTy(!s=)7KPh0`RZaJQQQ!~r)ERC}H7zN@r zCA0wD9fs_l_*a_;6!utK$_kQ>jX-jIfosAn(-eDd1KUBUO_S^q_UrwHz&&ZeC!e9J z{n!7woO$w^wXyaEE7WOuZc(<~XNP$wKA4kAC71>&<+z#l4M4|#UsyKc+>_sj^`Ci- zk(iKk4_~p-QNJtL-yJfovd;^qtiM1(p|pKL5mm=})HAW2(Q!YR=yJ|)cc(uKxBDtZdDaTwEU`j4Is#=@q6(1RoFMYwF^B?P=zpWTk9AoVL$y{#E0SX@1D^PaR zzCrZ+sV@Tt$Bp>W`DQvieGX|(K^+07)|HrKOtTfH`GQqAQZc{Y&X=IxGSr6S^g?qo zL*!3`Zn5YA)YkK1_ZqMpFA9L$!{u}z#qH_~%)|Ka)Au7%Q&Z76geE`c8$GrGd-F%l z#Xn{^bVS=`TpIgZjSNX(3ACqTcdzN>B4xAuu`MKuJl;o(I<(_L*)3LKhiTFyIhVP^ z!|G(BxKRX|n4ltR&a*+Dtt>s-yRxIRqfvfmQqVXSvkm~G`wn#N?Uu@oSqE8#(S{6^ z09g!VL~53})r$l3u_D$n0BOZx`G-Qu(a7(RY+n8nhsfnm>>-6V%HFEkHRj{ALrhkX zK977iHvhV3B9}UOQj(Q5DSn%91!e+tEjW8P*{{#j#XA2%IDTWhz}AzKo7pcNDr@5$ zrg1sXUtU<%k8O1Pk+avcSP87&1?q{$9&s9>oFIrzU^e~x*}q8oR0)#7_U0BQi5PRC zQU?dJ&&?@-qz}sOWv`r2A-@>>=~}IyxA`-5pt_au zz1@!4LFYDq9ZRSEm4U*Ttq*W2MBOci%5wx<)XfnZd+Olg5`JM`#CZL@%}n#S^X7Mf z5wm}y8chmIv(`OBTC^<+%N;e=&-}FnQLWf8X_Wt#wlq_Clbd3EbFNejAK>ZvJNDrI z?~sG|jIAH+#lWq&J^zYXc4DwY_LN`;@W^9PszWvSN@ILK!ptBYMH!IehSP5g1GyO@ z0(%>O5y@0#m3uFK#LOyaEpFUxxgg>wPWSA&tVjw@u%!6gtpJID6I5Ylrdh}mw>FQY z3;lJ1GyRh8s@+#VIfMeHg%6&ornN{x)7~Smo1XH*QvX&D-N@x?(ijKK3;HFyUf$XO zM4d0C`@Cj|Pktu>!!$qq#GYolFEj;d8AB z(O@O9E9u-WFo5tyG>oa>@`<<5fKUF;`tx`Pb>q(8LyT_!uEdqq9w$ahrzygIPMWV}l1tPP6HxEA{_ zNWFsY>A0X}wWtvF^yFL-=hANKw!Ybm_g2!qtD~#(&G}mU?&u?2M*5Uqhbuk8`B_BD z6={7+)@y*S#Md)$I8(RGPF$2dM$$u&TRs=6voneur4qi6|6S_Kqkt-=tPH$|LTYb> z_@yfnT4V>nT$d{aj?XjAyHkRWRQ%7<5ZVKW$8)0LEb!I(F&?1xq+Zc)9sLLT=(g*O zEq%Cu8p-YQKCx|l|n_y4DICF~&|cqJkvV6MsR zp&fX__8PDqwQ5HjbN^n2jOGxm-A%IqH{VUY##fOggRAy;|1+dMVg%5yY7A$l=UF-W zRBB&vcX{yLEY8N;-pic-EdM#Z?hdo5Y@L#`0Eo4PH^mmXkQ%;Ai)n}e_4y%<_a3?X zTTK7!(C}v908|fXvr_9M#us@Kj_czHDa=m2%)sD>MWG1uD+b z&pwsv5<>ky;>!8TRCQn5eb*w;cqK0eZO z9$$H38h4C%3*mg->}lbD`qNJqzuQK|{DVo~FAutV?teMdZGuU%^M$_e%&>8bB!5(9 zyNrV$-YnnI6p-Bdr}R13V?_Hhov_WbG{-i< z?^$yA=t#r(Vdn#o*|Yf)akFf<-FKKC9`YPzl(J!Wy>L2*|I&@a_quFRWCBjsR_ny+ z=D_>BpmM<>Z;sS;;lIn|FvL*DQW`Z?_ScR3lY5=eozICMH(neCb>z5C*X{%j%yEqw znhC?)l@nDD{g>F`WQxOZY8aiLVjx-AGP;ELd?HZVLo=8W0|Ifz^I6Oeg1$r_%2+-)Soc-NO1orUVhe?H(H6#-fh5;QN zqd+o0JV5s-qz$fy6Ap0=pj@W7CCnjf6u6YDHQFE}LT# z6nJ@Nw#^UI^JXJkD@vkDPBk!qZk_tOo_;w5!T7DFc@>)l1ZKT~vDrkDz=Onrrn#iw93jFV;5gulJ1v}>ipr|y4?;o6h^5M9n@n^e|$*|OwdfqMP% zN_M>KFXcve=XQ4I>6VfPh!sal8ddcH-hJRsFl=d4#J3V(N*(tOyZ0C|ax>LV%v_g2 z(0i{X*@nbrZ#5hMi9y5pUp|q8PbI% z$n=SvJ+lpWvk8H<>&l`%xPnUgYK`oT&7Gi{`^TT;9tvkpkTYUK9SN~0@pdVEe?5HB9x*Y(?9A6}OekRpD48R_2ef!+Q=#g`g! zfvT!1^hFo?d>TpGy^`ctJ4uudF2ynD?B(kE@$r`oPuY)FvzGTjCJ4>&hX8qhV@nHm z1vU6^;40=SyD*RNb<*kEKL2=_^aK%>BDB~pOIIqA(!sZn2*{it zG2F>zi|U`m{HQO47PJDHWdeQPE?)daj*r)gk_K^KhrOkhq)aZE2_G6<3>dyCnbZ`t z5K4b1l{(>(1I@h`pw45G&!6q(XOE1{OOQ;mlr*94XX#dOLPF0sC9Q6D4ETw~9pzlj z%adiRH_JR5_Vy3)pfrg-$QwY9b7xbPnaYN&D4KL$zwk%jOWAQdu2OIQSFK~0ncTmm zDB8g=$!^iB%u<0yNlx~ypxc!H5Lk5@)UJ~f?uXakErzxfdZU?;tYgY9+%00d zO5grNLe1B24>Vb7G)M=+=`k=zhd6-ysAXbGGH=>yBiQaRcGL?q>j_~3=MF`d20eFT zgaaN1?j{qamtfc|;U4?IZz@+)tgiON0i|V{CcPUl`;%-BZFhDw$uYe5xbZW9bB;TF zEMb^UUY+ZtHA#iyv8GF!`^1!6h%uQC)Rzi47;Aj!>luKqFVQy%JP_VFEIGOX#|u!t z)Oql?aD+)%;pp{7{KDd^_jK*>@a^*5o%1%)UOjk!4KE`S!%kI6plW<-fVu@~WMC-| zOiVngR$3I~2lMb>{XvdZ!2Kd?ksxFBODV?ni$hi5xb#_{`f0LB?bn0pxt_L>-g~@j zfbVo_%EbPRnq!G*R#ulf;?Z4AX3pYsMy)`am79(2uuZPxW;d{We7YL4GFPhfJA{Eb zJ6EpU2rWgxSYzTw@|+V?0!g~Hn`wyb(T$$%yiwJI9XBlF_sU@BFfzgU_EOoEucl4aT1;ST1u*;BL^_ zhu#y%EC+U}(QyF1P~4}>QS%qwuTW`tNG!n9N@+bd{y*4$sTfC5M;kG>4@4GmI;Q0i zwjQ@aDa%f~xzHS$Y>h+lM+JFq-3U+M{MqPnQ04=SKkaMBZN%fo#TIeU@+NEiTa4 zJ9jlz!r>2;;2tqR&w`U$tkIGMAl>?xsQxuZmAI^0U6SV^`PM(w&c!ZkD}{st-J?zX@E6n!9JJhCQ0k9Ca)rkaNH0n>=%sb-nrjn|Em7N5Lv)!j)e zZ56t8z_1m_m5_XZX(O35$Bn1X5fU@<9vha|lc$u(w0`%+n!hFzQwByYN1wVPf z7d=cH7pYSD9HE;kX7pz&*~vW1tun(${FHIybgJO5YSsFb0(6Z9 zst5fnp|fE!4x0HfM$XG(0!3K4lJipgQCebRPSN495xCpERT-}q(#+9;=%}^2M-Hyt zTjCN!xQ1t+2AUEt57{M90p@tJ1J1K_V!+47T>dNo%dO~_S0vmyIKq;holU0Tv#Pp7 zcHe_NX+V)-|0|5gVu6M=KBzAhJvfI;N<0s`yZkX3Rvs%P;2TPMNY^(VrG~<*0nc)P zD0%V;Gt*(=W$;Gh66Kag>?)q{?^8xjU%(tDwk`vTL9OAGnYT zGCg|OSk(6Dy9Xl-@371W0*PQ&-V68WG_F2FxG-8mnl8kq+N3cidKJTuRWYgq+Tg3c zKyI6$%@8-WGdZ&VV!lfm@xid(vlh?fp3(Sw6oHU&_FPgXxd9E1*bozoH?>a0~xkrfkILp<}DF>WmxsY63!4Nu3-S#qkyXtgd8e z_0A5bXW8(;O9L(a(bEQO%6PEXDIzHRXk>h4Hsex(#U)>h2e0JEIGC-5?^5&q8o(~Q zRUw6QB-9E<^m6IbesstMt)T30p3oncM$PP;Yi#}Q>G{Us;~(4Ne+B1RIu|wn$*J#$ zoBxmCyaElTne|-BPVePI*H{tBp*P)5CH+xI_A`fU3%3Hq6jZ=w4EK4bG>$ZwE=b*~jxICr_^TP6V9NZFV_@ z7+w|fZEtEJ?h(Aa_{REqDRd+E3z#CJ{--TfvSamM!$HK4gZ2MJ=Cwbj8@wspz|}Fk z;$2v}8~TEm_s#&2oJ7$P-qnnj_c$o?;g#m#>gYFeN>inU0>1uh5&+8g_gL)ZtK0D> ze_F4jaS7K?;j02^>3Xi@b#6m z|L!D!%v7@X2Vk+5M;jeGS?ou512bA90tLX%hgH+a*_-}^J}U>mg_iU#+Q7YxhNrog z)_-DQk?BV(Dm#UH@^+dsX>oJ19h>_DNnKp@ZDrCsNphrmWX_=qev%j^HWwJ`?Q zgA2fpx*`@;9N7|5?c#rlp1s2J_Z}=#LjwAocM7RXy2|MKqu&d|LK`qpOk|I+f?78Z zYpmfECNf?&J+9Sm^nnu-8iH=GnVh(u2HDXh9nc#9%ruh;+*fIKB# zwZm77uH#>N1>s1PLCQfF-?AtyZ%lLcD@asaMsg0!`Q}X@8Yu=m2c7yGUGM=yMQ*T2 zn^4f{uS1hN33GvEdMU<2o~ZbqM0$pvI83dgf*#hVcCAm%=Cg5=Hp}#0lG9|l{)5N5 z$^0<`^%e@d^R!)-W;VJ#zao>Zx01Y^<@rW53#0k@8Ptp?t@0aoZb&<)K>T(RJvKGG zcjlRAZ}5CFe#aW?T;d!hXnKBLm*O9K;3vKQwmk-nQY0^FSeiz!)kj&hp0s$2XJ^V; z;6A#Oy&TCR&G-1R$o&mbmz1rulDx6B9m=8cRB@_vQHpa2xTh6gP4f^18q7 zU>C#q`(q-7dqznHuo+_^%wcm*6QBB~|A9g+28i-mZ`NUqe4HrdnU>-`M8C7F8*%>3 zX3A2!|9!SYtlDq|p|qj_>&w$03$ZunGHf{1lh(A{+Q2MP(Kam$u{zeJ5YuQob57W1 z5QVF|wa^eHO(;UcW2wt7SIZ`G#-pD=ek_zWBkW(F7Olb-Xkmf$yi3FC?fX(aRbL2Y z?*1kPHFv^=+&~*wiFxxHH25ZH^GHFwx+Jk^Z3_4r!UBpK$n^UetK&ADpBCnlCReYm)#UgTyPNe zgV~45!TobnjCF)YdgWH`<-NpghIk#fkBGy!Qy zoxT5FPlaz~CwqFJ66JCV2R%d6L%spNn1%Mu7(^QMQCh%KWNd2f-CTCC17S$fKhK=ki+Du#|>Hx!Rwf z`K0YhHoP;~x`y2&(H#%V#1wt>3^)qT!J{6PfNr#uQAEtuqD!O%zd`KR^e?epSaUt*fo0>A` zhy?ed_p@2m<2&P9l`DIK`_F+|3jgz?gLxxLhxl_ySSEcwpnqJV>KoO#RF>IZsh#O( zyw?7M4gV!F##9Dvkl?9cF0~h~aI~THNN$hb)fD-;Zb=jY>8Ks|9Ir0agy$H}$`qMa z&z6KXRVpEG%%eC;Qvk`Yt%vO#bl;qy`OWVYy#39bUFF_++Nm7;=mbwi85i3lLo;@-VAEbvjP6)>*~Xk)uA$r55yyx3^VE1 z8W=)nkhMOjmQyc7#g*WvLCvvaW0Q#poz8XBV-fyHJcFM9jI}7 zLzAVyr9w_UMPfAU#S&_YP(M=v0~V+Ru%4LiThM*LXLnok$F${&g=Z_>6-Eg#LphDYEE`Kp~|O)q{a zZxY*(b?&H`{(%BZ)3K?aJ42RhJY zwg8|3gxoBPSrnwSp`K5{uh zL*=4p-U}7{cv4EO5*wxx%ZeV+o+^G^an}?td{VXW{n=d{ZgtQH73e%yU?_ISXnH*V z+l|SmxG~tt%&WPAx(gmIoz>Kj!&J(d(9Dnf1P4bfr{l-)K+of)V@sXH<`I^CZCiM* z2w6-p>aYMZ&ja^-@yMw3HPnD@EMeud`4HB9&s)R1PHATD)>#r0!gaVm)zq8#4uP9u z-|){2UmI&>Ul;X-<#0vXeI5BoEB6^(OZ*y0uCMW)gkru}bOnB?N|nbOJiI$>g;{m$3{QWtxsP9o2ahvoY#}B}bL0*jzrKI&sPeuz1+UFMQS)ki zcKc=1l|BDViDzoYTL`1Pm2sLXGwB>!C56RqjXP~>!SIj~3CqLondkDpdXr}{UqT2* zlZZU8)o>Rm=c17%+#%1$rO|@N0;Zv#{H-7&?r`Rg`M0G&XqDK3;{sfB9R~_<1mx~@g0j`@TE(jQj4Xsn2w$J_cGC8{IDr-D*wq-Qe%(HuqvuE!Q zx&f9NnRst1LwZWxL`7Ea()6*3S5!j>#KX#Pq;FD4Ee#$&9dvQF@LuyYO?)T(Bn5LX zND4!Iih3p+>L90I>9Tq~_d9-1|7qmwu3p+=2AOLGUhuWE2Na-}kUEQ~0q|!GSvfs$ z*OL6c35%oh-gicI3vwe96kiPd) z0t_*h&viP?>A9!JC}*lxubTV0K0;T1MdKaE#vxjeQn#|N^(wT}V+9d`83xznNW?=Lfo=|0c6F7}littCUccYYxD-bHg1g(DmSJH1b*2!o=V- z{2WZTdXBth_cTInCcqSD)t=MO;{TAmHA)_ziw$Ux&@g^lubI#6nlE9wY*J)wP2;!( z-A$F-^=(UM3?TO0F^?XR@D$%>DZn_sR~I1mcJxC^pO5@`yADgbL`%JdckFn8IIS!NBY*6HvrPq)mY^8nR$e|MO3hS-BY3*6TV(a!EQNQu zc7ml}r%grMsHrc+hwkl}6z157#_H_QX~-Mv##o|-M@L?&to!}V2kfMLtUP zmd+AxCRD-Eu-K*%P4YXyT(z(qk@sweBl_e|<1?yf+?6}#0$LBn7G4Kpr~L7~ z=Cmtmch|PxF{F(N)22UOj~8Aw1>c%QsbGxnvaV&&39n3AvW@4D3*v`s0=0J;->G1D zh2hT79UUWd878dQBF<#owX!E}W|nw=+djUrsZcuk1a}lX6jkdqa1fY1`DkO&a7o;AD_y(ZiKr zZW(!aNtrTz`2;UNd_t7I-=*&8(&AC6N%cg8qc$YL)I_O&o83{Xc0}Zq)%U8i@eedV zI#z#a@QRt3E`BTfHvdt2oB|h0U5Mr~^PX>>rs8V1fxJkBw~Zu+iyB2vc)>}F?)Gv6H>C8>(* zNjEiEdDAVu-K$ne1PRAY|Iiuf55jO_-K@0ldo=X6(f9pqk~KcXq&iR|0(@C_*Rze# zFpvK^R4~^?{xn`2Uxc4ph`4o?Xf|X&4SeIX#991{wP#DU5G|JRGEqm|q-;SP7djI0 z1LJ7DCE8;lSztnEh=M+-f;Ohe7UW|QtDeq?d zxe?)*qt6>0CzYs$3x1%#5wzuWQ9lL($4$b9EBQa?fiG5Sc=KDA*E86t+WFrE^0{ZTZvKymRdbBs)`+kyjq_X1{yAH?7Q7$=mX&f?87(B zYs#rF`13{_F@wwX4ZbdGq*v8nQ}z7F>v*ok1RD&=xpYkPmgD>5OrOP<3!>4~WjL-2Hnu_vezV~122W!H zO83euCFUha%*^NHV)ZpkmHqW6dv9~KG}cx3GWNjo1%?U^ypwsaWb4o)Q>}#E5&N_e zMNjn^sK4fb9PWIhH^~4xKSchz!g6QK+Z3MZDqm`WX_70*3q(8dY#k2BV|C>Tzg%}Q zDyZl4YtBER?GGBsNPGT`_0*}unbiIv3r)ebX|Lq*v;ckb!99c8)s%8!IUaIlJ}%{S z>CqXW+qq`_3huJ^P`wLc@3!o9-I`6?x3Kd24W>v_p%Fb2jRO=e=hSIdDv#_7-hcb6 zJ`5)8dwn5I>uGZ9x$cC}RG3d5BAz2hZ|K_EGf#n-6&mm4FP2|xUW6Ov<*1L%tL}%F zw-^O3-}2m|`gFlZ@(jzhNCVw`RG-MgBp>xl4?^wahiD%??%&Za*pV-}yGZ|dKa#{-9yxRkCNR4eX72_>-yc;eKH&b9NTRUO%$IE7UN{Ihoasbsu?BLPY*zrRi1fPQsYK zJEmb z=1$}_r-@l5rKulj6qH16P{!4~fwYm3@i(?MnwpwG++mN9;K#NXP426%u+JaK3-HOC zAdo@-D)|uZH4{Oa5*o`(BP9SYII(w27eEZJ{5f`LKT*)8LQhdK8Qi|USco5-gh`o~ z^%1G2e1=+-HkK}XI2$nc-syN5u|qf!EN75jDj|HUe($-9XYrgZ!x>Or!EQ+);P!29 zMSKmG{6D>&cT`i$+QvgykRk{OQbYx%L@+ezprTYkY7mej20{rX^j-uN6p`~Hc%od9$ui{CkT_D#Z>!K08XL-=9d`n zWovxAZi{~AXO3<-aP1ug!RzvG_|>=7DrvhGVQdA+pM6tc|< z0!7Cx2B;XB?Z1zb{ll05{>k~S6C9G3Y2Kxziy3nPip+I?>hb=?enyluob%682~py5 zkJ|2~Il3)9%}L+{rsYHLa_uf}NqwM(c%A*TfDB*1nIn3fCaB9%x-rL(HFWQLsfbyC zYQqJ+UM(V3{_UxwcvoF4C)iyUXFg9Y*V_t~d-9q45Q1v^1pabNcBHT_>$V3-mIxgi zt8Q+dW|+~9LM{~9du18|NCrgb%+@G!tY^$LW=T*?>|;*O^@>6vhS|NlJ>_crU)#*O zyigADKpz$5#EQm-ch48aqH4Zx)d1D`XDvnHUk$%Zt7|Eclx}#2$55134K8rDm`f*nD{Mcgz?tLP zhc5~>?kgJLzS~~ph;W=~*%u-4FpZ6G!ltcfzYq6@J=q~NiUPE)`^V)WoWdGv0c3M0 zqE_{HIBrhUeTC7Ee>>K9K9{`YOCSO>>h{Sh$eRMxV|)#;V`U$kQW=9vgTUsX5z1Y& zaw6*e)qvUjXFsAQ?={#H)d~iukrr*3Pk4hMG{(6EF#lTK2I`q1I^u2bl2^vPmgbl| zD1@6*VrPzo)VE63!R*c2>2$@>BgmJ8hXH{GKZdUp)`EPS?*Prmx4Dr8`1#3M)iajw zuO*JB7;ZinLihT~3O8=i)EPZhIMD%ENC@erj+Dd}dRBHHrLO8jrF-vSOuL3r+-)ck z&IqtLALl&=?%Ei(OS=`O4$Q3WfR$M&4qQW6ipYfBgkxGpH8Qq;k4>Q zt80}tHwd<;-ERjLspMikrrM(uSk>sW^&irf=T>`>6w{lLY7q}pfWe04Mp4`BC+&g^ zxTCdwEw9?V?oKFgFgEo)i>JHXm(41F60@Q<@JX_#q7Q-oVyjY z4rGz`h^V~Prfk#&RvckCis(K?r;+=5DeSWSYB_^{%}0Cggua%R=Q~P8R#{grE|XeM zSTZ`lee>RQ^t0#m5G!b*W}Oesw{o~0ugh`GHb4Ks+UaSy4dqLQqBk+Bw)rI#nIwx0YzjvEY{NYG&^ zS=3Y90k>@4>l=D-{`@rT32N)kx}UgSdV6>0kV~ky?ZjEBlXR1lfJ!K07E*GcP=N*M ze)jH3BX4~LRq>uGAH6Q20_s(14|C+TSCIe<83i6}Ztj^SiaXO1OuVl!X)m>VEnUN>o*<9`-3bAjEA6;{tWlz3=>C4eN%LXPKr$;No5eFs zs^nI2e{MKp=;3i?9xBl03AZNHq4%k?M{h+_>sS#A9*INT+AjY@zWKMbfUiVvby$lW z{(7HCuL~BYlzZvLj!VeLAe!?mbgp1nRIoyBP)UlqVx88o0Mm98)5xS`9p^zbBp~q0=KqM zP=?JK31vH(_b!qMi8RvaWnB_^Py@ByWXZd)jLK+uv&JePkatD~Styw~K-Gdm@sz1O z>lmE0?kFTh(74{+v*!_xa?f#Ob;WukL{jnzneezOA9cP^Zu+pesu*mGpXUYw@mvOG ze56kp)EQllQ@8E7;!a9*3Qmc7X~JeIA}w=JQRtXH*Xi^1lm}?CKzXwzt9ggmzhRLh zwfU_ekD}ODdXv{aSE@5tc0KA09w%_V#f|e^Kl`%zK~-mplB?)W@}779?S`(g8{hlB zD)X)EE(nQFv;0snsAvzZp=1-UR}$Y@3Fd`JUZbA(4tToZJ++~mmM>y&JlM=G$&AXy|gvx6IFNjE?d%$XV4 zC`6s6+7J^@O~PgTM#C;byX2XCs1IW`!c9iU^X0;RnYQy`!+t}!)yPUW z0{$B3VYBrXvH}{Sm5oLF11QIt_H4e?-p}{4u{nHsazRQ)7Y8{+|zo(m&MKcbe~D zGAwfdHq!>x7PW2#eozzgdYt{MkOH=F%J1Ld#zN*X1fW{ev0Re?VAJ-r_89(g7Z9ja z1XbO$_2PqV*5E%7zPESE3x~g1Y|w2SZQhsX`yMNVIyHaAkR_|O_`75pkTk_B34O-( zG9I~w8EUa<&%bAaI;N}9vx@6c) zE8Nu|BgJFiSML7Bd&OtsFHnrKML(w;X%1I}kCYklUo_UAoOf3Dn_nZ!J!P%W z;9q#07#c|8hYKKLA@*Ik1&mQWvCNzx>v(aeHZN3o3>XXs`j6Fz!GMn+_m2C(+P`L@ z`<+XHk8SlHY)6~dT@^4sl3&QZIw$pIy*J18PF&|#*+I+a@Ks^>v%FPeAIy_Q4qH%N zOCl|L)dTwA7x8?2*p9+y>N$&($$kXiZK;*(%|fV@Ti?i^YLOTpnwzFePWRz&pFxM-}|e2GAIU;(d$#RC;~ zsO`q^MWXYdxJHK<-|O_zBv4D~W#cFZ!7c`VqMO~(H=ION7zTqgMA6x|=F@D3MIgSq z9Qt`llV_%bcL*VuV&ns@+Lw(c-1nW#OvaZ>JLBmryPVG~TXlGNNC=(388+vWrd9rE zUVN${KYz7YX{@Ea@_N_geQHVzOWkQ^-tpn4R$zNF0}p0yq7m~pIiGK>SH+R@XXF5S z6Ry*$5kMYKy3W25j`5f4iJh`<kV7d%PQTVVImtdnLj7zCOhdXDdg)Y{ql%vV zxv3`2wxEH2%$qlFYI###uVj9%CK%MWKgSCIjpNN_1N2AnfW6+Qq_~BE0;vlUkSNfq9$SO)MEhBj^TgxB?PhGEJpOg{o+93%fb5koy zn%Ar4NFvqao}%pV@!FPsg(UUj?RiTJ&3ka`QgaVQx5IStv3UN`&%tv^ybe3~734v_ zb|)$5V?lLnegr*{^f9)k3HLPljeOJys|$Oud4}5IOYICm;_Xp$;*D6!lmeN=zU-0K zCmplqWh%g#LS&vGA-GOb!sBfxiwaQ}>-TS8RK+yeBPYt}B>1ms4pU+!j&{~y>+utQ zJo7BVa>hR@!PWQXKEUFA0%S_~OX}rVFRjuCd@Jy?$S-3|n^{W_J~R*NBw%4FEJ*xU zq#=}fw1f%Qo@cpoP@*U=VMZI{Po3YJn0$KGnTY0@<(aV$!e;(7bz)%EV%N4aR4taJ z3BC|!-_wL-q%=1%$DNvx&jrQ#k@xs`WFnkyrmSh%FHX(&!>Fd)K4UCk>b5 z>t1EtJ31Ca3pLPpTnxHJb93p#Oq}JZriJ1k4?B`cQ;9f%$NNAGW*69x2~7+3uYH6% z4);Q?7vQTC^z;N6)D|n>ZLd0*{SX0{7<~A6$lABhC5SbX7d4^J|v?v=Ylk|2*ddi%08 zFe>)&=1kqT@%9<&?mIT*u*BdC#0d|onUSig38I-3#Fo5S*n)}CZR@*FNFY2>s4kq~ zO2GK`SaeOwNePSaV_f<~Wk3x~JKqN#{_coXIS3~2=0|dGgvc&S8lV@R4x%N}ZR~o! zxE3?zR=|VNyks}ws%2@(^MQjHOLR;t+%d6R%x5e^$G_I}1yAn0{NbJ#18l@yQ zKArSf1es_dd-nm;?qPfMHxZnxL^}mHe^uO&0rM0c3vtv?*tjhzQQ2>fv5zP_;xpkNG0;k?JCmPGjNe)alobXAkl4pv z1ngY9ks7Uw4~`CNAryFqDUM6&R6YRF@mWX9nlx;z=T-9@WlcT8SzTQ>K*8%pzz5^0 z^*1P%*XxJDH9Pd|vw++axbao zm}4y_C{`k|BkSBUWe%fuvgo|$+un29bQr@$4*qEYNO~jefK5kBsF!!AEo-m7W6{?o ziIIe0d5SIiDSjSB_~npuVJPaou!)HWntjmP?KhjUac_=|Aefs!-To3SCWxo-voooXdrO_LefDZRa zMJ8dWfB}v%d&!^Omyc@yF={s;vzW02hH&hlP=HaLGYZ)l2_OA1*7(nw31#fTxS=YV$bOk5PV{`8?S2GCz9K%$BjZU!v-s{0-xRAJ2*xe54`a8j|6I z0stidAxnZE>_TRC3sEuxG$XIL3MJS!^B=DS^xx8hw#kTo(0i5EB5iqhkt3p$LDRPL zY*jjK#cXg#DDT`m>SOHtyeo6>(0%r(aj*A=2w&dVH&BkUvmuMSg~+R+=~C)ab;LBP z+JW!UWfH4}J@t{_7dmU%O4eBYenc{zf8ZFQWQD6XEV#XuGfqtWKL!)Ahw|rC~{WtP~_u$X;3V92zGQdEhJ zuB?p$dW*~FgfRR>DXvqMl^v3WUd&c5IVE*Z8B&wI1CJ{|+aPosSsS%dyOr2AiiH%c zN2cE9aO5XQn^Bo6&{X}&6n=cOZpeQniuw0~Y9WAutVAe{;BJy_Z8GbCh0$_Y5Q^Y5 z3)+Mx?z|ZeN;sC4l^M)dsT%$ufq^N_I;;`E^jl-!GDe))gyDsfW`Yx;Bs{cKG8Dbs z^>#!|-PzSIV{3u3n>F3EO@xeB@7z>MB{z=}-aXdrt<_Hzd9xiXw>K&)G>Q%B1d)rL zvX&9FrkeikAA!YGO z(kD13dlN70?eF3|jVO(n*gTKwo zI6jpEeOij>9+}dXj-8clE*pB4)s}IvUzffD?X8R}>%HM(CkquI&omko0m?lYi%XeN zqFPKcF<*^!f1wV}%bi`{$|maCeBD@7v9kM%G(2USg=r6kH8mm`u3ST>iN=MwSS$#Z zRLQv5ZdUPQ%wuNW=)GD$eM}koH?{yYlFuaQ5FVjeIUPjB$-_m1=+u68#0KiA<>KNR z7#)SjEFtHyZZ-x}mN7gyrL$v!8g&}Edt~i$!|Fi~=x$JVtNIFDi_X%Z6}%Z^1{dq? z!PT298Bm4K6}|_Y0KvNQM4sWfc!EoGo=P9TY^8g98>0e?+~oB1JFi~*YBXD&YsIRZ z7BsuQGg`;ZbVjv_)E!ProiVVIjoVs|D}U;GIsMTa7FaW{J_a9f17K^+eNbX3W-JkMWIs;fS`GCqZB$^<;6XrD6MqdFG=65JJG;*qX(#|n}K`bFnh0b95)IZG= zJ}_O3(57Ofej#lS$Tv#(#*L(|uKN{Q?*tdRtY-Ihew`?;X|Z6TFsZ2N`k=Xkg9h-z hyECxCTGsu(A7t9SJN{K8JSR${qWt|kIk$}c{|5}~bMXKG literal 0 HcmV?d00001 diff --git a/v0.15.1/articles/images/bs-launch.png b/v0.15.1/articles/images/bs-launch.png new file mode 100644 index 0000000000000000000000000000000000000000..0e2784ee32fa04f3763a7f89fed9201838423882 GIT binary patch literal 113504 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,>>F!+ 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 literal 0 HcmV?d00001 diff --git a/v0.15.1/articles/images/bs-theme-set.png b/v0.15.1/articles/images/bs-theme-set.png new file mode 100644 index 0000000000000000000000000000000000000000..d91b1cf490af3eb78bb2d43bf99a635bf7ae2922 GIT binary patch literal 102940 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 literal 0 HcmV?d00001 diff --git a/v0.15.1/articles/images/custom_app.png b/v0.15.1/articles/images/custom_app.png new file mode 100644 index 0000000000000000000000000000000000000000..24a8bad884c8060da99b5c09d353e5e413f557be GIT binary patch literal 116254 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 >v-jClhw|mjB=y1 zffr!tHrgT-lVsdbBPV|{FgClJ(t{fC5c>V%0Udp@E(G|*JnWcA2@hT|Ych<;nFMbZ zEM!lRITClD9Ed)YFw6%Zzt>EV#qXgXRN{=}H|Yy+u2(Lqx|4AGwKhJG(}`r0QCWXw zJ_quCTttNOxi0n;N}wK?bX}?kU`Zgcq$b=pDq*6Tk%6VkPl@n7wDgO4LRk#51sj>lc%L1~1=b=S}G8zqbLekD8y!|Xyp*7ey&1^o~(gHx4I50^oW zz=R_oKb*_G+;6u&`n|bHw4xDQKkN9-Rz39$wqfYqWy@;{#d+*!y38qx-u70osct^4 zViTz_4I#W<<woe@p($f;%g@Y*@asx#x?$sn@dD>j)9l`j|iEYP|wozPBO~< z4woEA6yei#)}c4&o`>WOqKk~rB652LO?I!Ctxl!_)3Le9eNHG@xp|TvfajAl-_oIU zl_XAXgIun6b@Q9!k-a@4zv@qTAqCnJSZfesT*^a%BXCsmt~G02P^ikuZY*yFX!d7f zK)Jkrt&xK6N9z6%59Y_);**vj){`(U_Wnm{kX55KNw5n(6bw3iGiQ>-;%H^1l2>X>(2&BdZwpoRlplN5Gjje3 zvmX*78!TnUbX|a6j!+6et;Y=c9c}VA%nD6eojn7;tw8GL)b~Hv?`nN+^TI8fa8*q2 z%HBbkJfJ}>Viz)=Ia7l}WF+Um#wWX2k)lmvrnK$(({5y`OP0;8pMf25fwN>nRRyIn z2m06(pOjg?+Lg?=7461_1O1A6LA+0{<6`r-vv6_>r?l~yPuoy{IrBo;-zf2tPab@s zpvP4P*ai57^-g5@95BNh_7xWhAi#~%w!ebZ%z^i)OA%L~>EHl% zz+Uv6U15v`y#CVAo`Q^O{j!+1gzrB;9VtE2&xBUc(vm#zkLIYR|RyTiGANXN~VamZ$^BpWu)g zo((n3sYS(i@W~pkGMfcAJv&cv?@L#RT!TH`J7S zTazl)KAhcOJa>L`$#LWm)4BA6Jyr4p!EE0M;BwSn;Lg1c|pj1g}U0AA*K=f4p-qlW!PFamla=p84iHYa4b1s z{beweZoN6l#~v{*UTd7~8o!@qI&}=FuM8fe(pss#(Ul3ooOqHk=myT;*${P~Hi$Nv zV$Qiqd#gzwW^Hvc`Vv;$WI4Z-Fob|lF?sb{5tmu_Yqwl!0FaY{5>^&UhyW+4fn(wr zI}?^QheLh4ZB4EvM=&bgS&*K^br6k|v&GD$j{ zN)FGwRy0BiI=J zG>=f+6&OKbi_U{e(nqj*=Nd~ZclYWBE*3}oS6sv7GXiUr0UZVL_qAUEgKu8MKOWqQ zT_b?hV_%>A5!%JjlJr)>sXO3JZL+++EqY-bOIvYLW^c1*@Cpul3F(PgspQzcN+gc8 zSg@}UsgWzXn2{-+wg-&rd(GQsss=j9l9orF zE@4g-`}8P9n5D55jm<=1mxh(*fVRd?L!#fIm3pFx_;<#`ME|61P*=l+0DyK6J=ygO znd6k6xRPuW_@1tLf@!8mqhqRF6s~1e^;|2rQ3Ze$D}8CEWb;h>5pPeX-B=;pRCoHy z&t+#(6;@&)YQVSa{Y;N{exY8P=|a!+CQkRa1Ns5@thAtco+vqx%Tr$w{QSlJnh z$0bFXOe&{f-4{DIVI8_BBQ6H5n7T&2qgm&b%X0t#;qemt%HdkWcNaWTgfAt*Ba+zQ znv&@PFHAXRd@MG?e1QWKxd3xN?5?muuFS1^Mm9^REd$S)&OY21u$ks(!v%{Ebf!u< z3{)s|nsDKB*~I+b=FbZcLPg>($E3c6(a0&EZlHgTIBBiBuj3_OURmhgi=>k& zEcNbC&9=)XLe>w{UIjlG`wPTWh(S@O=^L?#CT(|X;{behPdcRK8UNPBZx6S?5tQ8K zk2e*FS+G%u_3mEiX)owSgB>bi=c)5hXYA%-y9eH$mBkhZ4j$%f!m&`yHR8ZcQC-RU zOPSx@=e8)N!Tm4fTj1Nr9JWtc(hraSx`y}C{zyWd0}qc%m;wAYAPa}gB6kMax5#*L zJ6tJ{3;((4ZHZ*_n^fx{{{2A8M;tu%9si4Yj)}z%2ze4?t!lR`_OdcxaL>h7k>?J_X@!UBw}umcyV+3Jb~AzZLWduFK`uDrp0gurEXG4V4X%# zk@b6ySPeZK>Nb|tIwcv)3M4SlXM3Cwxs=3ibZTPdvufK;o>3VUkiT~i=^rW+4#kh_ z?j0`BB=5GP9!~xhG2^}L{tLGo%RDZo?{IM^Lf^Sm?*)6;XPoO&X|beMue|sF8$(Rg`m1#N_cc3ds^29xT=xmr zU4~y9_rIj?k_SJW(^PrNg6R#jo$l< zKc3nX{X-m%eN-d=2po4(>3=-yk5WrbM9_J2_C+7t*(UYT)Ed{vIp)YG1~L7yEHjlI zh=2m;EOF1$jNf9#!+ZC7`EPSj^IyCgS;JiAT(LZ5ytBMH^vL&&9-IF1KhSO3M)i^N zSr?7_a&Nv#UNp-OT&<333H>_|UYkqKxwyx~eN^ckO&%YJ7d0`%a0^e|SZnw7U^n|HjLZcV?N2 z5^!2RWJM$Up3=bfb-nC(`cJS8^bJd~#WeROCPqNz&+ARvBpOsM&8gD11E_O`+kE6ieQt%5XFRfL3$MF+Jg-}s zLbqo-)yHQ05r;NjBP)G@-?SN%XT*09K_q&B70GHIoCtZ8zJkz>aG_&R6`kf`t-=yz z(F;kRsO=marQT~~=_x!6$o^M<@J#Q?Nan~?Ga{){ie`g@*-cX+<*v$s^h8~2L`6+L zc08QLcJKv<2HUm|Vd)-otQ&{cS^n3^de4&_E2BM+E3{C1=P<7>www$@c71@D&k#0p z*vZImLWn9P8`eq+yDF?8Me`a4>UYjV(i+yw{Fv>gCn*B_4{jyVBlT&-DUZCa4_Ii^ zL}an}K--xi2R-jl`HR4vk?Hn(# zd4h&UTE2_M^2Z!zeJEIZx5dEi3tXug>dnftqM%?W4BO?8nVjPAtZ2fO@seLV+N+gq<{D z3|n`#_pF8D9M(e=Eq@%4G1aqX*o=cd5A zQGaPg(wyPxYfPR7Z!qqq@~gcx7N)E+P~QFvA^1J#@!HU4mPsPYd=mOqg@ewV1!&>_ zU}pBu3gFh`QD|}Z;HS7S&Ik3IO%KK{X^^Xzih4DgTKlpM_I+9R=dK~L)BIQsE-^1X zSQ3dnbh3WcrPh6>>;wZ}lNu!`s2mwaW|fiP_krgEjp_B4@hdTk9w$`;T_7~q z^jnm$QToh>R*JGS>ZYB><4;&DklOv=(w6IT#-wg}*MW)P(H@D#+}IJjFKlL~3&OjL$zMC%0>mP-#OGQHShrf4C zYq>)N`2+HI;SyhdsQhb8gPPVQgo5Qdugt^18OAv^eH@Vlaq;{jz~Dn@cS94`m)_nH zFbO^=U3WCZQ0bu*r_R~Xdn=jov>(&^hcY7Sx5P}Tnc4dW>zWXiKl!{o&If?6G$qG2 zONosXevJAr5M{Z<_2*nEIpiFBnz-r2a|)>sURFm zUE{6BwPfhlN#lMa8j`c#SD?^rW`R3Lkq~&@bUi#n!Zl1ud321BLQB-Dd(Fi^jjBdx z=o%mS0pZd9>;gFsgHS2C#ULrX5rm-jNPo8e8GU}m+GVeulh|chF^rk9+4&!p#w(n| zYlFuzb0x*GTx%7uka<*2)~YobAup}tqol5s!~&(1uMcm;_y2A;~?lvu0)bOjX;7 z?_s`gS{MVa&Y`+I_H~?G^d6!+XPOyeGRReKGu-7)f|8q6?t41A+I>Zn3MiRGu@Cyta%;FUVQ%4DzaU ze2hNL4`oMiAI;BS>+R&ZHaeVp2OK6V8y}t|cuZ7bb+7kA2QDN{6;cSeHsQu!#5%U))`i&)ejZulEeuu4I2ajbk z8;o@Cv>k+QW=_<^QHUbJmrR<^_w%rY&SB1c$^~%1RL6?xU%}paUI)=bABT!bO|6eK zhEnzj4RD3F9_*g5Pfq$IbiU_JLhvd!(SeA~Ep#oZ)VkB2UI<6HS8BUpv0nq5=St|W ztL0Ib)3>LZ93MG-&0SA*;Kxj#x+SAK*6)}NcEy;GM+rjCs3V-I=CCu`>4N*y*|)@+ z03+?DgS%wVJ8?Q8#dCu_$0vU zjXD?~wZMpUENUf_y4)xW(H-{st$Cai zW(73E2d)3Qi6_b$F)U~45mC}UUIwLayiT6z#9M;8-DWz8o)x|RL&4a&dl;hWuMV*` zFQ|SL|3g%Nq>`p${fsCaEZ+xI8h5pD|LBoOeyMdq-C@6vdt2JaaZXGD{MRrQ1Bykf z=WgIJ4`c5&59*A#JQ{0k5(R3qr$x$Xyn`pA_-ag`#xinvG?SAHt}W_Py?*ZCch;mj z^ygTHqSR2ii$7rL<8@BpwOtAdc&gNdirL8Unk{uPPkCxoIb=qJ02@(C4rc_}$4N?* zob+3+XJoUbTlEc2?my7;zxaBJQj{7a=(FHQw>wzISw51|CUQ~Eem;)fmmM=^vEOK@ zN(e~g_gs{#@Hs-CPvB1!v3&mbYs7c%hacGyNG?5olNBn|VKZcPpVVjuhod*lCve$u z9eE!Xthc{zy0W}XypDv$=(D=ts|_o*>g#-OE4dFm-=Ar)?UShW*lW?Q@t-fBeh@US zIe)3t7e7zrUl@b*i!cZJWMyBbSWF+e1jVm332h`{My$dF(91cS7&4@2!5w8$FNKWx z$0a0(Nai5t2#q^v05ALW!oVa?M}i!-BUs!A$Vwc>mPR}R zN6Hcr;|W3HkZB)_qy3>655$ZM66a>Y+GnktS8iPfRzmgbANlAVMv(ZJV|?XvJuxgQ zxA=LZHuAEAX3W1*yQ!JJ)H7b4BB5|Krru&#(bvAkk@m>Hl1$Qmkn~z)4im(j){W_9 zyE;wMHg=nE_gOP4TqOcmoFxP{pFAFc{_7tKqX5|*4GtZ%ccx03mZ=^l?^5C_QIE9v zU(-yq;qp1R8Xf~bJuI~wEPR|&4&U++Zu9FZw4i zD&vZc$jd|xD6!KBg80M0tiY)Hzg9~n@+`^N*DLLE8xYFepfW#Qd~+ri%5D|npFW;Q z%_pr{(KUuXQ6C)Tc|H;ulP0yryh)-KqHZcv%(&sviAthx0PcS&>+&K}cRv&VrxxPCu#WULX zFKKv)qsnqS<9{c@Bc}PEe$4tmj?&~CUL0%=Ehl{CKl+^?!%fe)nM~(XvyF=oO>g`^ zLM8vL86lm8kQ+_D?jdv+$5FC#|0ECa@Q4`<%$mLT-%PNeqyo%wF3qD^Ol(}V>Iq1~WCCpP*Ue2AOw+lzSq|Bk_We)yOFhY9~*-|YV1m&pT0KL|SO z0fyxNXDN6JU#t9AII`$~9=O0ZLUxqmKO-BwD7O38a`FCud?~EmmCa8qyEc$x;O18Q z9G4=Pbh?R`t7%~7k;F+6(H>39Q9C96dx1~5s37=w#9jeWW9A;!JuIoOsm@QAVg!7T z)}Qj3f>?p0crbcBb28{#(ytL6KuO@j{xgkz<}0x0`U% z>}YVrrI7l0d3pJLk8H<#|K^`*++VATB!@?hF<+7MrK#DukmKQ%eY5$Sy+2jjuTO5` zDTHTB*2ag#^@@?=QL&x&{%zi-U8mRPc;A$UMrl|6I)fFKLx`*Ew*%n4UB2 zwJ=r-)@_P=os&afJhST50=n^l3@2B=Om$5Mwh216t@2lkIFX{bJv$K@^#Lb+#c5$t zk&oTNi=m0iq$_%Ps++?LCyMr<^lc8Ffs5^N^~!;Tt8-H`wwyJLFH&CaS1UASjU>PS zUo8%l_d@6Q#a}<&!L3UFb;JGpY?Ooy|2+TqE&m4xX$YW7yWD?ud3E)unzQx|A*&Me zkzLTGSk#mJ4=R8BMK(+qelqX(wW*2k)i=Dwr6rEWOk`4i{xd=6S*2_2m8+{VX4wB9 zEP!jvs~0a^7v=i1#0-Xt%*KRJ{<4RweLPgeRK$0({STDm6B0NY%T4Tmgg^B5@fpgK zCD5-jHyc`+bw^KBm00y8i|>8A#R)`Qa%UBkmVPc$O-V**5Z}2KaDKF~HB~DFGsaN_ z1KqoR`#|!6XZ8B2(~H1)SM!`N_j1y@wphzQ`^w2J>)=-9Q=3-6{EAooNjJzQMmugP z?DOZ(opb2g0m%Zpk>an7jR$jHs3ghktgOCV>5ng{h?_CvCWR#>x3sjhz6BFeva+(~ zmX@xEbQm>xa?y%;7UG^NH-#M(13OSHaSV!vb+-3`L01A*h;#O}{wxMY#!p}X#N6Y0 z7kQlxb(&dRTx|V-Pt+~0|L6JS)RcCK1}$B{k#^we0s&_->N?^6qeo#mIrRPg{k<7N zRlTs2?U|0#{Uy8M!g~q@_bDkUjiHWR7rRJJYwP_cQ6eIuu7QCPlLlwU8E6zY;`FAb z=75w(AB~`6u0fT#S{iR~Uxv^K#DJSwJzcLc04JE{tK%7dhjHS9q0hCod|bwLucqtl zGDST$HKPD@ghWKJw+lDV&dw&T0w?S29%PAmwGR!&xh}QOwGv)WA_6YFaqhs?&COzS zw9E=Rw~o27HP@8#{uaTXj~}ba$lTNv-@iQ|en_0e4#)>01DBVV_cls$lCw4CHnTvIKZvHP9mN9a>6mW4>*n8gT{?@d-$$HRJ-g0;hn+^v=$Y=W&=Zll9o=ak zh*tgPqH_~+;OuNSMG(V#HDZ=p?AT&6%Y0evX!B~)rChXle#?RTL+`bdMio_ z6^xwzVEzww+vdLN5 zZa}U6pagQ(?iO|2!s%gXR{~2ydV06mZnNy}JiOYFb8EUjVx&YfAtS@2I9er%UAs)D z2dm_illpf6-Qt#S!5`*UmVoz#DQW^xMhAotGsHqrf@|W0q~_}m ze23cJ2e!?^=WTLw3f?NvPVBq%Uh~ zYM*&OGNu19B2XO2rNrVpfA`#r@AalY>OIwjulWlv_>#XU%ii5wjX|=-V%u!~NP7c2 zrlNG9_OCAf#-jM;mD&03n%JLxAA|@fbE*=;aw%2p5uNcWqsf#-HO zZL%FHCOJU`1*Neu;UN3>6T}&(Cw3H74R5389ON3(nU;q0rGX z-B9e+MXmE(Bd^)V!?l5uz^iljjp5+12Q0%CCPK5bvsC=He>hB3t}Mk!wNFf>_+mDB zK+8(;@$uL_*i3^9y$j-uIf`1K_5Wh+Er9aMwr)`fNl1c);1D1Q7Tn#E;O_43?!nz5 zxI=JvcXxLW?(PnEak~4Q^WS=}-m6=8S9RyB57FT&~^wVL+D_ z44Un1fEGB|kL9xiJz;pjGY=#(pHYG;9}iqCEUdXI6QO+BLMAXLxw*OP8!FAt>JPUU z1xnQ+x`XkfWjaD6az()P3Fsu*H~ydIXesO*&nw; zzkT;E4Gci%lGEv$idJ{vH%}lc6EpM5(UF+EJi2aqt#t};_@f01w4l{~kYWr5I4(2Mg zM$>q-_4Hy6%YR-NDpu&bhlV12{`?shn*|v>1}7({>+^9jA+>H`Yilx+V(PEPLm zSwCB_xcGZhQ`3gK!}{lOLPEWMkBZs_Ed1@;w_raTN#{d=|HvfHqN}QkQ(9WuaDUoA zQK*Cl9@Y;ou70OsKR^D?K2~#&9NOinzTiV%et*vIt2#%ny&O)Fy|{-Ru4BN3?XP?5 z>}0G%>V=%PWi)!FK*DFM$Cm{1boYx!#9z0II(3<7F4vtkryT3Qb0&(krg@=|E&sj> zMyiL<=|>gqakH;~f33@6mCY{Ijz3|8U2k{&VxmReAzkT~{P{3>1CAVow?YF-nLk<; z>XUGvDD!|4O!XS429nFs{^|yK%)7DlRHF;LncH{*ngv3df5dtM+E?jJ(tJQlLp(i=u0 zQm9|m6aK7p>}o~{bE(8sr-uubZPH4qO+?9;LO!HmHRj;ZM(Bi^Rc6r5@w%z}RWmWG zgY%g}*?8#bRAS+^$eiF3!A?e`FqL?0{~YdzZB`Q)4y3AOPDje}tLXb=%VeH2#uZu( zN)1OT`^_YB*n8^W-Xr5Sy)o73sK=kuEqR?v#~9U7y)n(|+!?D1GF^S)t?uls{7e#; zPZkbDNHe95oEWvT(nW5}QvI$y1N>QH?+943nW5CM+heomHD<7fy!3^_~whx{#}ah0M^3^P4|b# zA=octkYjIM_1>-2!&Nx`gw^6@7dcBT^b&nnTeB!U&@k#n7Tn!5&QBPE!=FCDzZnuI z8g$cDB=8(xW~3=|h#0xJaF{h-phggiXwH;qd}RL_d3Yse+srt<>g5^H636@ z6(;l1zz{-#WonelzX2A|+378lFMG0IK72YZ#!2n^==9;kha81+Lg%~74Yj9RG~M#J z;^xPA5bH&N{qkhR7njCnSK8%f1I>1S#)79>K_EC^u6Pp|o|li$2Q)OkW|s$aCi71g z78deks6#27!(*93y#oW<%PsC+zP@S}AvSwc61A2(sFbS0V0XRQ%`e`b%tzB3O4PVH z-LO8Givq^~0Tor2kg9H>&SuYk#T!k&$%*->;S9d{@s>0gi*eJRDET?yi4`W~csQ2= z-qCwhUwbH#8MMe7isLNR>@qbqC9kBUW|xwf_|ekR(l01T`*MG_qq8&0r>%PI=4^}E z?(n10RKW^}f3>a-7pDu-@xR`k_ES2X4KfOdie`bqzJ!K8n^H21DymnYIoQ5Dm=_Qf z)C3We)A=Z0B8PK)saE&tAmb9mNUjtS2$=mkH9s>l#$4=8uWfJho10V7>J8mXNg*%g zTwmMs24i;m;=1&Z7B{q+H9zn!H92E&I5B~J!O$Q_(Gt$_a{n^}Lo~Q$nR@FB(G-rs zg<30xQq5NotagXm1F_V`GbQd4>AWW?PxsKIq@+#YF^=U*vfAu+xIUiYCfl#RRaRDx zrP6o-0*{^^eoO{qc||2n%`dFB`^zBh+yXlZAuDSFnAs-ufi$o;&)enD%1W z`$s!l>+N;kJx7Rql9w0f>%?MMOg51*?UD*nQc>Br^t#4Yq^k^sCv#n^5R+3~@4l+v zb+vaevmj1fg))0>uXCkUduNjXZr9kx>c zh6fd0Kue}r6=T8r+scS<7kRymc=uC(8H5q3F(ge$`KLcVEwYzPN|p-sEdFRs{T;K_ z42AiqzdppYd0ej+r9=id)0k?Z>h0A~=T>9=anO5nN9cb{<|a5Z2jRW-RxQH4b=-UC zBJqu}uG_sa!$I>5b7V|!7nirXH6Rl07T=kFsc!BQr88O#|0y$&aX9>f*vBG+jjO2?Ml(Nl27 z6KBv!YuGv*o}Ztx$mv>ZOcGhrMSnWAlH&)qbA!4XsEcvGxA1tDI%Msb>xfM>D2H#= zuQN1agGSQ7%jg!15M7nL8ooR@R({XBf5TGoj&8-S6DhfO%BED_Jfk}w>5Zw8n{RN& zMauU9f~0tyBwy;R2-2n`XNyck;;>OKY{5@EL18#@7( zPC-FI#U`Mup@A)$Orb3Vn>Cin;)}_ARVRpnid5>$thPj(9&e2r8XDvqf6||voHX2Q zCS2d#tgNp708z#)a3%CcMx$x32qSjllbmE_Wh)FP--(HdrKP1YnJ+_t_GUoE!r|K5 z8dm~?NsbI)21P|db~jpOqVya&E!NpsSX+1W^#xQ^(1E~SVsl2Q_@w@*NvqulF6bk3 zxSJb<;Z%VDNEm0!bYMtj3x10vFxcDMN7~Z;DcB){dG~In)`|#Nda6pjt@Zv4B38oQ zQ*|luzn~`pv9ai=6v{nq-Y~g}l_a1st%)27;IJhLPeR|+UjaX z7Z(@fg_^LD5pfWw)NUm^QpE{3T+SI)m@VNL8SRZN-+-RsF)_u0^T|Gb{3uwjTWz*9 zhSO|bDF_qj?U$FhX}`E9nsjtHRVMw7$b04D|>tWXlhQa zAXWw6w2h9QWU)buvk{zvySza_&}(sneEI5?1b9Mmh(mBa1H-hwXMd9YopVV2&Fa8wG@fNUfX+ zmae9ME`oqFltQI$d1a*)IIZU>8@OwY;beBU$LqCkCs*^~1VVzLwR8(;h+&q|F}-~m zFU-xe%IoPxEI*bmS%s&p4pHT)TI9u+kp_#@j(qz4_9#B@M=GAFt?#T$Ynw#gNNOD7 zT@G1IcXG>AXOjOsC3gFy{}6ph*;n?6U|mL!pju-=76e(Doqd^C@E=#_rPP-ek|a!$ zsFq=&Y3)f*@JY*+F`RF3Czf86|ayW44N@ozSjA#;ukVk*2YbD!}wjAga zni0hLv#Rnxg`bkyzPxCRd4#VuS0^eD-PD{P2$aA+U^29cPv%U-qdxdpQQ*^B2(RV& z`+K^gJ*(SUDjh>-yg#cX{}ZM%tm2u4=|O)tHs#Qg{*l*wk#!Z3cKG7hD=tC8d8^i3 z8xh4N9hesX1?qjn@dg{AnI_+fMb@vz%Pnz{?P#7o(GxdFPZW#78&6`qp03MB7@{*n zuV4>R0<@si<|+|>cc-hOm;CyfV_!EmGy6SOSIshU<$bQhvc*pAyD?_#m(MsAGg4}d zsgMZXgZ*phVX#i^l@nPOW;kN~4}?O**6QAkFzv?<;z%DXQ> zc-t?IIzXpIT%t}4QSkW)^GY=_ZwnFkk~#G$F@$;P$H@TQYYKUYJzndbb;0#A{U5J+ zXzPp6R1qrD`BFISG2OU`KMp`yenB54PaAMRz!7e?r21Drsnh~66ku<+mj^J&zCmCu zI~iopR7w}CVnahi1JK3c;bQvvzuKdwyXOQ>jPt=d?l3Q(+2x)|ZwOgTPbQrgE~slY z?)&a^acE#5%ya6wP#aOMH~eCGeO(&!nqGgz4cJmxoWn&X+`{5wu0pwPTsQDFtsscH z0nv$nXy_IQ3^G&qKnT;@-%pD4b*exi0+T-AC|M>~@|BX(JWXiSOJ4#b9M!>GsqCJ< zJ`(39V126dIUrk`C{jtNG@34ReR5%AV=MZ3uV%41fbkrgfNYVNj4T7R_w31lKYd&& zC5-TIYx|KUn$#Cft^~mZ0w$24ZM3*U3CGj<^8s&>HTjeL@$peOktqy-A0-;?uYcDV zS%D}nBO`-KqwOV*<39CsC<8hI@eHY@fQ)%(I^*|mx7&+7tLx(xnk~?h?arBrnVH({ z1)J3-ERk4phd$jYh*nOIT%YRCFXYCYmBwToX_J_(eAc=Hw|>JQAZ#U=H4$6Efk1L& zxz$rAARE@FQ@w5LahMMgo9keBDTwPhd@O@#RU3RKM`p)hnUKHn-aROw_|aKziu5P>=A`7=vRU0!8F* zWP=<(TzVN}rGryeyg!g(>uOt7^FvY;Rcx|Ot5ft|R=KQ~&^HoBJp78j;K=;q(+3FF zI?hW7?E7;01pD|JuGxJi`+#H5>^Do%t@V@)sdx0Djo~IDcyI*}o{)M_>bXC-^dO89 zv5noF$j~U5my=28Dxj&Bjnx{|kfv8Zjn>9PDh-7h5kDr4*9v~N*bAX?oivN3L=LyJ zNPFL(Szf4!p}%+>?!CS{nN=^u5(uwd!an?JD}z>B{kLmBrarN7*nF&tNqjXiJU#+Z zN@t&Z>395v0IIRMh~-)hI<-cR?WB7D&_Du93)nEDh`761aS|mc^kZiY!r?pRu_-+h zF=wS3!v);~fu~%&w>gh@Tvb;St-0z3H>xl#sb+E1>>l=75be6`-f9NS6AQHVLtB0bFt4fv5Lkhc3B<%qp;RHrAc>iBhR#YWw~>aS3nyo|u9 zVczSod#S!UgEP^zF2Ye2g42RqOpo^*WLTD~{0X)z6z%F)P*S1=n;qC`Zq_5jt~X-T zW}00&0hW-+?if9->Ua=P`A{U+K4^VIpUCN&{1%DuJtn3g2<0_2G@el#L_FSOkO8Td zXN6luI=L7SDM(0+swJ15>Dqo%EdrM7<>hreKs!tY8rd97=mw^mtJ=t-QfFOzSPD`S z>!UwOV8w?=M|X7vV<`ZW7#$tm|I?TN5ZbYNyCcioyHgfnLZl=Xo7I_8E#tWge=&|5 zuV<6BJ5tru)U*ewN52!C>dzg5Kdw*C`}_Nk%lmS!jVLH6VKFg$_V!F>4JWVN-Q5e+ znv+2jv>>4a!>UYhNs4hi?IpU|P7lqI%6j0 z{;EDc9H$Mn&)=fgO^{$&F7H_KYwD_XP=2FY;0&|IL`3hdi7Z5s=B5^e`nAiiwUzIw zwU;s=pKkePbB1R(=C&$K)_dc#i>ETLx2E+OlnYWTbD7%@>(BLMbTDPJteyEh2XV#t z4At^qf3Gw|_N~0xQn;MNAtXv(J)1eRHnXtEZfjdgnKpW0(HAl3(KC{{cU!p?NolUH zaqZQriiuXSkAAh%TuRm-a@d%FxNpj}P?r+daCOS~P9?FZQd-8NA-_!D2GuBHX!$bX zRig6Fp-WOc_xh!}T*9V_qQr$b!=(+@s-*k#I;O|7q7hh32{Fo6?-EwwpD7~*-MU=vLSx5`;R81(jDnjYNc&wBZc^{R&Pg4l%pdJge^!`JfAtZ z95a}YoZP#eJOH=fq|v+4N4nLeSj&ku-iA?~N z%Kp_zcQ+D342*W752-7++Q&8F54}5Xo|Npkmu>Bf-&DH@?oeX|mRx`B->P6R*b>4# zm4_e4G*HQh&tfLP6HHsr32*qQ+S8wXU zoptylY3qRV8>P9&vqVmgkC#E7ztMz~R$gvpu(b$aRH5l;wx8!;yF+oe9`BB}p3~A? zt>~A$@bK`kIBcVCy+)03rQdyA=+nOCpzV zKz2WM!XQY=F~1%{RFsyk0ImgW11pDzqM+N%zy=KL4smaQxudh$Q_&kuY4=4EGg=E* z8cv#95I0FV-k$GpF4o#JJ38Kt6)jtB4Mo`^=xJ;J3Jw0T#x6 zI{Z~o3fgyLO`Jm!HV7qHTQ`DazY+7a4+CqIqblhWbCtJ61cK6!h$kb!>m=Ni-M-66t6uYm6VhU3JPjKNGAw|2q=UgUOceaiAYKFt^0&n zSy@3O<6B%z39>zPkoalq>XzvaVgjK4nF9i`k@ew1T$V^e89=UW59T@nzB5x}v4$cg zrz$oWPY*T+dzNTCz7X^KYYSi`E{irqX0Jh$KsM0oiNMh_S7|g02t1JcK7-c)M|uGT z)nAZcU%u%2^l*KB{mf`h6{++;hnkBIAUW*h!*%WeL|zRb00Bex%xpkG!;dsMI|3HC z*wINs0uk_n$~ESx=X>{Z1uFH?fDQ%m;NuvJq@*N20KP!Z3ObDe;n~{4g}}}YurY;Z z7xt%zBUhp9g+-9LfuYuXaT5{|(E%ynM^@V)kc5|l@f|ilxv<#o`{m~w?d)BG?eZgw zwI8`s)iGdCmc$ncrc+Wrb|Z!bSn zYZhCH*?MbzD7~&^Z@1geiYo7*45a-YPr^dO@i|ndPOudow5IS4>}zB9jtuM7vLY*EIJ6g7ieX`qJYQtC_f-z2Cdj_H zl5XJeV$Q*9P37Rw_4#S96ukej>C6+J?yoW4t!@dia7SySNCjy#E`Qbvi~1P*J^eTJ z0M&W@2!HnwH^`+GtGMf$M?+Grf3yI&m;Os- z%bsS;+sNOJ&lO%WLKd*^-0DLVUB&vVU7(CYmlZQL8#Pl0!JT*5e~CYSDj*uBi*$#B zAXDyvj)&D=Uu&w_?0Wy$>dL&%8t$NVx2!XOPk67SX+?>(CXST+vyxI39)sJJEv08% z1^w=k|7RT*|I#sY*v?~+0}*K#Xual-psfuA`N zYtK;2r$<7TbES5UT(qX~{}l(;mz0;ccX#{3VKIypsjvcA*x{rT4PdeMJIIBq zs;aPcgiB_)Ye!g?7LY?f`^6BqT&SSJE5E z8%~!!5oq*=J_-{`?KA=F)mdrt&QzO^r#Bh{9N^>K($nh73gE3dI5=u*YfnJlNo#+s zZfs%_$6$g9+(`$}ftW9U%My-j17e8dt1G>W-AOPv4;x0r8Vm_>%vOZ2JyXxywP{LC z<{6%~4$Y4jlwCm>?WY_4xd2!L^XzoHlRc3ycZ4vl)~F2dwpe;2RAAMbZC-DmXM12k z7zfBHXvXWNK->)!3uC2Pd>l{rXJdQAgAZrpK=RR3sH>r+%-|qDUYjX3n=2YT^pc^( zBT-oPQTC0fX#?ks=i$&R<6B~Ho?e~`eMibvXJvB$5v98Jlgywc>rF;Sbf{>pzB$^Y zH-|cXm&zkWv>?bZBds+1VYhN24naikdPqJsnj7r zg!r5_0BZDXLQ0Gp`~*Dlr)A-4QEu*+THPU?fGes7@gu_Y@O}Mki3Swlg;)SRbh6e> zt3UGF61N;^dH^x)(~axea9#>Rzf%x#MT<6*0sY2kqhc*Ke$k)KmTk5MDCe7k2i)RH z@-KG9MvM841hnRXK*0lgDhQ2$vktI`iDETez~NpVEe!{tkTL;^nadYG6Rdm`l~t9k zlWtr}Bq~U-i@5_RR47X+&7qcS*?)Ao`>;U5G^@5B!qQ+r)11c6W`3!*ovn1@8o%q?O{rlSZp^@>gKm6x^kuct2|NiOo z2T2NK-oNhs_pk8RivRC7Y1@>A4NpiA0s%I7vTbc`O4Q)43%bA=QDFvyF=^=O$&GIO z(+21!x%i=mHVBn~paAgZF~D_dnwY5k;R0PZ$pJ_YFl0$7DUdpdfBH{{Ez!PSQPJSx zc>+)#XsIOsZ~=2R8JL@^JJj)5~SOTobu1P(7&#A3JGvH_J4jGd|F8Q|DKTlJF}XV22)dK z+=O*O1(URSvQ{%CUJ~l-Af35pkO4apMThn^2quGJX|C|=`!{1aN zjE^k3ayO5{(xnEwoUbnp*<-%RV!{g+Lg$}N0P z3PW{KJ^qToalPCb3TX#E|8D)KzixfX`)hS$ce<7k9P;Ul(ko zGGr6zx8Ohlhl|4fxAFD_)9{IW(q{=$VSW`M+xvmIKU{PmeE8-lz7QXKu)|oZW3mzD zu`zjdM>QFpw2mXp(h}N+*Tckyad#r0E9s|={(>Vc-aO8-r(M&h%wxN{xUZL1++o5>=?C?c{ z_s8|a{`>3tZF-Fzzjj8oWvzq1Y^;a8!|S(9o6iZW`1ABus;zi5e}Da@WAmr=VDI}9 zBJZFeW16wcQf4+UgsJboqJOprng6pwAW$XchSd2vk+Mv`!zSVMw)SIvr_p+wK-T42`HxDNbsfV;q0O$JKIgCb z$I^Lyig+vagy>~@#~w{h#7m`R@A^XI@!AeXlb@gIWHS(p(M$dGD*NePKWz(vASc1U zYFxg8pQK4<+PAUV``*ke6Lhb z3Kz8t%mKgIF#N5B)BX>&pY6=i-%jjz#mXuEI$c3-x;`M8KTx8*O;z#cKrp>eKJN+F_ij&K&S)~#<3gXhaVW6<^I$WxL#m=c!=ne)o%9P>A~ve56N)el zhVja)kNJDm3bAPEocd+1tasT%Z5oR$K7Jd#WJ4QE-s&rq{kN|TV^up9!{R502<7Xd zIWZ9XjqL;Vpz!PX?%wkMjW9o$U#a~RG;?O7kD}i;3=s`ehwLCuO%3*W6R?-Ax8w*9SrV5Aa>z! zw{|)yc@3q`a7$}Eq0TnUT4vV{t10R>yiN^ks@X+v0rfcn;e#v0?OgZ!S_W+8+fyfV zvnyt3zdr?^Yq?cI2V<(-V4mrZy}|2^4b9NV8tvpGr`zR> zLUiZt$rb5JNAkOMfKn2>%v>y$rhyb2wzYPifzeWjC=}iiALlCn-e6)M>)H~MuIj-)-F*L--JNhxPH&{naQIApKT?yAUi?y7ek8A#wI3X;ri zAjinp6(Q1*s&=TI9(!MG3YQ_{szD&HqlT)`h(7Sz%R|X1ThP4Nyrt8ZS1wNvM5MB6 zeeqFfMIGlCQmdaSqK+YxJr(xxJE*l7Y z8qEB>_W!_exci+OVH*m+Znspat zNb53fY%XoxYJ6k-F9{8NHJyrZ^e)tvESjjo;xZ}!I`&wmD(Ff|?CH_9xx2u7%7Q)d zr9p_D-2GriPsiEAo{0y6SV*l!7ADmzHngXL`Iy>3EW}!xfY=$8eG$JePIkyfF3D|Z zNKoRg#S5nY8CJez<~slc0fj!r^RUtZi&-b z)a2+lJHc0ISw{JWiz^1ZDNQ2^C08IBBe$@l!%uYcjZofkc^VI5`1P-Qsjif~9d*kO zsK3KpIqwgxI?8Axf?o9bWVrGkyq>7`o*369VLWf^e-nLfzbZDjs$E<}LrfV`0gm(1 z(1WE`8z7w1`vO_isYFJMNOnz#VV=3y-qg}5y6zzz?n282g%^tuZuzprHnWLTo<>T5 zMN_Cgn{Q;zU|ATJRux@jJp_Ff=EZTn>U&B_$bZKB9R9pXetfidLgC%D8-H7R6tL$$ z$&Ew&cAE@c*=S80Zs#Olp@9ZripRX94spPs;~rh8o^PLe1~S_I%a8U}WH&8xsC_ZL zc1A?HV_`zg@>hIDJ@+8jk*@iuP4;b~1@$^_{(oBX?{5Sc0yE)t|H8n?t$ zGe$#kl2rU3IpV#KyuwGPLKc_E2ydnFe4HD8JsJ{6SgxWo1*Kwz$JUbvy!F&NF`jyp z?P0x&BuR~ie*6Zr_l)E9r%)KQ(Af)xH!w6xK==4P5(Czxeq;zyk`rfmgp%fX|ANlB zG3k>Q%n63N{-y$(N@<(C<1r^uJ5f!W-#PrWb2@c zqH}UG3SffI>cFU3iobSfOK(CkS_^v!oG7W;W1g4w!B7}D@(WE-c98lszrsTAR^zd_ zuA!ecejV{|1|N9FP)EcboB0o3WbCCw*8I^TbeWXn#{HVs4}(WdPxb3@?Z=Pl*|DpG zTG%VQ&R=C7oqJ=CCHT{-To_Y-P`FmB$*wgi4=IPVH`UcXo~_;33c$J+4S#6yTgs=6 zn;Ayqa$>UDBG)ZW#cq|#9$R`4OA%i00_JRY3q9bJ3*BV;EBQT_u;%Makr&&Xmrxw& z8&`Mdd8jRQh)}*2tMcobZFbtryW=Tu(;b)J*mKZE`9Cz27{lvyO}yXqB2d@I9hf+A zwkWJ2MXt>f1R7(W7!LFG9z?^5obQ=}QKo$m&#FWKUDOe8eLxIr_67dV;t61$kyg*F zTvQYf(DIn|-5eqVULg}?f&ldh1wLY=&c^5&W(H(Pj&$yar~55V|G+>kpkf5!*Eo0* z&yt)&K$9d~(y9VNXZRY3G?^^d-+cf6{n;k901O0dG8|NO$XJ8a>J)8p-?0)rpp6}n zF-~HDuPmW4sWo5X;NZwBC_IxPKy)|@#N*!H-Vi_+9s&MR!^|ucXtJL(`6bsUb|4kK z_N4tQ7k@U21vY>tDk>-#C^7*CL`GcPEh_2{j1_GXXg4S4E0A87l$EUlmJ^UfKxZX+ zd#IqMrUo#ftd!n=2XmG}vyoR2yy;;e6$Bc^KF6;hae)Fzxh9<<{dIx{(51rSawGy_ zS6h3#PEGa1&fU_;14f6DCx0%MU zFgI^$Z(qw>jF_)70oVvOkX@;Q^m5^(ti0SmB!rNbHUh{hWUQI(f`vzMHU7LPs%2+qf2h;Q0?qvt_ZBY|QAAYXa==FM+_ zfS&J+KQreeU^f{X>IR?0>upVd{^Yrg;06>))`AkW$=R>}UNF^>sLmgr*NDybh&zBM zRjleOE9oPM#B>2ESzSW%PlJeIWfRZK{J*aMBNU`0cl*WPC;|8<;~o@*6{HD)oo-$n zR3G$T-2Zn)-{Ff5=W+#LkA`$2`Oh};@9X~vaQVN2FZ}Jlu9jT3GKKFD%mBC9L6Zh3YcZsngLJ-=Mi-VeP>nIdu zGY8v~q*}wrBFm5JqJHY5dSL}(`~>61t;@>+zSW#iYHzyMO>^7=k!s=O$NV4d-_b^A zAyOG(XyIHtOASnX<1J>0SzM~*gn6Qcr8N3P>oYP7!cUy6njvqo1EwFYu(l(35b5F z%iRK1L+2VZ+v@kqribI7?Lw74@amevXblkw&DwlIDi6lP;ZU)6nW1{Ii)zMr1g{5P zKih$ytwsHF8H*{Xlh z(xP)Ds=~82$(!rO;RU0o0!(x3aTKHaxb{|5QD6#Tt5Kz_goMYfsp*xGX-nCp1z*{F zNb_p*Lc6#wL%tNt2gmX!heC(O@7*;P?O6rGX-(hVx-|FuQjP~DZ}_6<4h4)Z^Slbc zq~+1T%HHz~Rwz?yN2Ya3)SSN+C=wn#WR&l%MZ~}3MTt36;b|Bs-B2>MNb_JjKzD+Dwa@iDcD9B zr-lXGtWjMw_2Xj;jrt`=L`~7juCW+T7F>Z>#VL9m+Gl6$?!(IL*Pl&Nu1ik4tc>(3 z6Eq{I&o0d&(~>H1DJIU=X_si~>h?|9g@mgarWH_b>fb`EeWjhJn1qw5SLLGH-!Z?5 za!ygjrZ`&_P&C2L;)xiD|6}4Ixpz4g#AES}k%iJB=?f zXJP|IvssG$lzM5cM z4&TV(X$`#!7M%@De0RvoC8dcOmx zd@NAUhit=aa;kmsLSIUtZ#w=uRgmp{7GZTl#gj)l%FF=`eV|O6m%hTV34O2SX4k`? zt8RTw#S$M85y|>Ghg%klw637y^qX=`WGCk(6ltVG1iUjTx}8ey%o{!uTYazl{W!(C zPYPPylM<4eoUgVBjXF|vNyjNAOYt-}t{x-@Rhf9ToVJXHkWik=hn_Ucd_;w!a&0)_ z94W+^Nk2rL-=a^J3{L;jmDFu}6RZ+R&|F20Id&S^q}m|upKg`W5f@;el~N@tBI&~} zJ<63LuDusv5i_eDt}WMfXQl1Btie7?F9XBTFFqE@y?8gu@2%E*o~~Oi9DX`AI8KC! zuy=C#O0k5HOCZ9>P|1_ZW_MCT4Zl!g?tVw{k3q=K`F+6z<{wBLq~bGc?R1CDr%^1N z612Q5$TjMTUkqaj(lgXzNG-f&R#aF?3X-iG76g)FYA$ItHkcV~_R+Iumvl+Uor`@c z-b6(f2L(Igr;A{-`U84V-|MWG;Pes-;s!+TYrNZBzn_@ndfy1 z)b)M6wa2cH;P?S^>a3^TLW`5pEog-G?5{;f+B(KUQeCBg0-Am|Tk*xyzz_&kOT<%? ztPXq%M_&Zz1&?V*oyFqw%BR*5TlZXc2oqS(6bpa@ukN)X=kHMNxNLI1f~Cvond+^v#xFvhN2b zn>j?H7SZ!&TE+HKS@G%nBovLqC1ths`Te+hNz3q4_#4mX-t#DAZ2y{zztkxTaIqk% z;9~V25|!-g{kAwyE{GWO^EQjewX+%ha|Ed}Ulp9V3Yd5n{DXLC8jWs>{#b4niy5N>MB( zjgkzrD5C4O+*#(Y)8-aq1a16`$VKtnok@v>Td~+btY)a%sut02dcR{~X+WzI=XIHk^Y*|J=g4es%@^I4PCjm}*3H z>PwyHBayz0`BteBC~cO2Km90(31gl1jbtV|2gs2N2b_B6Dk73y97@s-sd{hLaC8(B zz}v3Q9Ao4E6!KnDR$To;{v+PEP{mb+`XB^-fbNNMVP9gs0+B}h(Kg%qt4xFsg?N|P zE1LOu(%qfbfCKdi_=D+WErv=XNnI+rMMA^Pl>A1={V|oOA%i!{;dkvlzeIP@;|ns# z%O{H+)9!z?O%`!wq}_S-;%Aq+3`ODV2=C?Q80cKmJ`|Ao_95KZZ0v5S$*}x5to=$5 zZPE|UmThG_;3VD&VMSKXw=U1*D(C{|;yguhJ}i8#5ZFP2UwyC7EMKuAhQ8~ zSbJWn)-xp$CZb1bH7#qxz92R=FqR$Vf$J!r$}8Z4I$Q1Z8{tEi(W*f24vW>v(5cyv zbksqT6j7P*op+%cb+iTN&f&;Td?mtj`S%OTvy(Z>&G!WhV`@ozggNtdW#o62oJx62 zxG(=Y7{twJjLXEY)DUpkLe!OCuc((3J(o2khwc@ZircTFjEI@h?Jw6YE!{uF5 zeeGeepR{%LSMRd*58}!F#5eK;zB~v|7I{9`>%<2SJMnY_pZh(+3@ypT^5(glbo5Nm zEBn6GhkT6Cp3g6wA2h_VD}_j9%N8z6jQ;U6WMbSdzS8x=Sj5%Di_WS^bI^h0SMhzH zi)b+F&?7ZC=7=lJQIR#W>QhJ+$U&MB+!Z zrKF^}7xux*(B0;RffuOuP;0IF5|<4OXy~SVQ&15q(puCBalTv~d2+IArmuj1FF3}+t z@u%DoG;q2KaXFZOO}lyMy>MnU)<<=z^^sD{OZyof&9@0@yadEw2t{%Ylt3M3HVutr zrL|ICG==D7O)U~iCtYESLznnPLR5jv7K0aw{e-&CWl~OLg@)l5nE|3cmI|)<(}b^^ zhor13*CY7kq-QMlEleBE^K!TaJ<`U-fk$?wbPzQkJ?DqTV~Y!LEp_%j=7*hFMOGMx z@!D4K*D6(B5JkN3G!9QBF;_sDA`{ja#O$5ki5zI6Q9+l)FsVyV#g|JKy`dvMz}+WJ zij*GzBIWs>o<@k}y1Z;ZvwmiJSbRaqlipTAHV%rJ;-R$>zg(CepIDCBcQ{e&$n>Cj zm#QSF+y=KYpLdPQn;u3AiL-ZyrhnDZo0M7Yq%uX%@sp$mZ#E4h5vfgr%Ddeh(bUZ8 zs;g|LUVSNU>x>^<9+^O2+>k@c>2uc2-p6wGsB_RCE)|~n-Q2sm=bFBvS1i2z+dE^~ zTaH(lNtS*1R)zUwAb5MeT2QEM&~s7tfVBA*B_4f)2y}~YFi%^j-jeJyVt|XLA8*&N z#A%s!@cuRtw&)~ZK1s9M+uuQo?sa(I`dFihgjDjaS8Lw&ZN7iyP}WcKR2S~t&2WHV zlDQcbEZy|Q#c*Qe%U!7x^Pb{H{)-J<((!!~Y@NUf6QCSMAeUs zNvAJaD~ljEGkE>rMJ>e2Mv198YZEqbFiOI2joK2;r<0{niCH zxk_|~e{mPFX@_-Tv6JAIV2DMnQ89OWNPscP>@?+ce7mIimT0C_MITA?yhu2y+#VX` zWIRCxy>q&h3or50-GyTLo?t+ohgOaBt)3GV&-jw?*qC<&{bz?_?TVe$ArTUsG8r=- zU;ZHzT>Z9!Ou-xdGS%QfsfC38C@XRes=pqW8>za)x|LYupWz4ls^~{W1>AbcY&h{@ zQ+9e=p13&2B}FaEP+W?%zV|8Tzvr~oc5_vn(mbH!Hi56 zyQ}Xd&O6z&C(Quad%Xo5-uOBA(TSB&!|<3iW+@{5wt>)!Zc0He!eD7>6#=`BuaATB zJPZS)yI#HVZ6T?o&=6flGz-YF2$lF>$xDwvFC&X5r5o|3v+xU zid0O?xhPjAwHx34vVP+3(S@;TTLIMkL@*|LdI1B@EmBTKDdO=D7dDN)7y3pK)_jpa ztLKVCA1M{$YH#|MqS6eGT*;L}^}R`jlxPPH|Kts9^=*)`U#_stCWW7ACtD(bTPzXx zei5ip4oFmFl`1k1Wfth|Z+t97#q6#T~1; zj0lXZ#XwdZUWVoJa3Qy7J8uGLwo_?v!kuzyc=!i!9*~*gOi60CP;DmA+zQv$*8V)K z-O^?#|Itzi3chu2LEQ=<@>2nPsNw>xTn-2;gXtob-MPwqOh(iF9m_oL{e5F+pvp7+ z(@^`YUbewvRE`TJVUiNgK_cs|!J~(~ zcU@V9?vypTd`vD`{W{v1=%}X;an(WGa2Bat?ve0x0}4hTi-ClB#~LO>LrUAt_9_j9 zZE-X>yxUv~FQ@?1D{K;4Lwgc@{OJ{z{2g840vz+cyxHBT2+=aQu6bp+$nktc{@<6| zu0Qxow}cU(2+als3qa-lb9bsRp~`Hj2&kQ`4gmTu4Uk10nmBEmIPfMit|TUlHcynl z51`HoX<%0Yx2j>Gh!F}zB_9L$`o_^wF_6~rVzXF_%gRO<$nMp0fRkJ#0XnTshsmx? z{a4d&y8&Tg5D*L6LA>dYr!mdjU{%D7>Q4X`As?JyU<9<&8@zm&!Msx_e;+rvEb)BS z;KF*MX!djWmY0_;SG0tMgFt`tLG|rdcJ@YP@qf;@mvMhSrm)68Dl$@kdn6T;!>I;T zGP+U(IqelzpM#?ka%*bj0Z1VO7FMOro-DoL#CBRb0WA&9IXGWw8{ohwb4^c=jvy(F z{f6{cms?~$gF^wA3BdshOc=1Qfygiy0Ou%kaIZbV2@mPtJzo>k)5`$mVnIa;{;Suo zcY!=VpU&L6R{8YgL}O0w?>U$A{@0XG05U5oDXGxQ>t)>FrqCs*2ehnJj@cjo{T&Jv zSN9ww49XiZKXF-S-xSkD5VopvqpwD~<4^Q~3;Wfb8Cya_434PmB!BJaQ^D*Q~ zS)fd;Z+>3M?vF$E7d*TRz{KT(1Y5DmsrLBL;sBWuu3fyS}_wzIP%BaQg?yh#r&A0o{h*n*;f z+B-V1XuW_+f8Vw~yZ`TBfRKi)4h5r5=fONyv2VnB5=3Kp{w*o4NsDLB^B?^+%CWGXhM9D>xD4_sFK|w&t z6q0ilR7uXkfCz|$B1lFgXUUm2H$tD^d3W4D-W%_ZSED?qfeL%CHP?*a{AQwrTMn9{ zaqZg~W-g@-X7+-fiI)!lA$`}JJxb1SBL7kA3Cz11Lp1Z2KG3PBJMBi{iZ!Idmg?!3 zW`pDKO+IA&lRvxSQIQ{s&;N60k)tychuKED)0gN-ExW|-1#cJGPVf(uwU1D!j`W!O zs5P+GF$%6)jO4Ro@=VKuC@~{mif75s-B1bUyCLHmu=If7grZMPdqmk+r=lMY$nZ)|y%NzcBWKuOu6 z_-MvuqTTC{$%<8srDyOB9oWp=9Qb^yO0%dC(3hUS8F!FMsmg2$=&WR zmLc-Xx5nQT?sTtyw9)Uef92XeKXG(@^|5j=->-1vkb-TJW$W;4Cw72&$m){qmGAdnSRTSuWc=sZ)Z&{vu8y`^0 zD}WlcGT4FJK4xCnCw|WCA{_cXRWhAo%p5Q#N1u0g zcWC(qyOiK_K^?(&1=RZQP%%EPts)`AgzACt;|p0k3!Rd5b)m*iZ0?I5Ok3#eLVCeG zl4KD@OZPyhvfKi$+RVO~U8(G`2wU#<`iM5Qkm0#Gugdo<(M)wrR2PJk4x?TiZX8=t zA-dBv({7zWm7fB(n6Bnu(_z_vfHgxN-eZEDib_pPMmjh1infIH zPufx0^j=>$sk&X(o><#A+5D50oU=Du@JM|7(rW9nw3p21zeFOJa*hgQ8p9YYV~vs< z&+**5m1c30uMBZzhB3IN(xdf^6Fn9pOLu0SGIgva(P_^_J7l{#dC=IY*2Zvd4A;Oh z68xR6`8UwTja-7|gY7>g0<{^^ttLe{WFBQV_3AsBSUOj|m*t$!J});!S^3MVid&w# z>kh-xI1g8*p{|&WwyYaI{`6`WW$5dy%L+|P4T{89Vy{|S<2n4#iK_k*@o|cF{o$?q zOh1}lf%vv&DmyY)bu!xrDres%cE z27+98w5#AFszS4}8pz+ypHTm&R$9XOmD)cKLl>O!%0uIt;Y%MSHs~9gr!_yDPc&V9 zUd0=J>2$m7j@cRBD-+(Bim-%X2^s&n37nS#T{3AI=eW6|>VpTEX{yhcOe}hw{XXdU z%6^k)3W`cu7OkM%o#p0;;gfHKiF;r3`Em`5J3}UP7I2&R6UC3v*FPfb!~bLpyX`3T zh()I_3Cny#Z#C*~A7OMh0jzG1-rB~!XG5l>7r zZ*du6c>mN#u)dCUGn6?!t5j^mQ?QfKygx!%=H7_4t0qI7hXzlf-tCm{L!Jf7rJ@Gq zx}}g!r805bVQCt-t7cI0)IO}zDw=_75(?$VlUJ;7Wi~w{C%eGCyp?}6Qf2P%n!t^U3%ids z^lv%0(~B-^4(xUgZE^Wa(k*RLOXb@sQB=$aqdV6m_dN-5*N%)@stGgA$xV8epZ>@G z(W1O?fklSxo#FM7SP@kqcxJIkmoYk$#0Cg zcv4IStD4WT{Lqo7+cP~y7K%SL$cm)NUbMY_l;eNxjMnJLn9Q(~)w6&pNVmXC-)`;d(jw0xM`ZU!SRo{Jhxy?OB4WCqeaM@2Q_17JW?E{RQz3SeVFo zqUf1TFyrVfXR6>GQz^RBWH*{-F)=9;B5z6AE!`R|-m0FktSZGK(8;NNg|d$$>&}nfx%x zZ3Ij$;dCOdWqQ&y7?N(vj9$wP)y*@HYjA@-39ou}opj*98Y^p3;y z?`Ts#3JQF)@jygIv1Ua5>iT(q6#D995qwB*h2`o3k<3Ji(S}4|_RE*a`Zmc&XO3D9 z<=>dxxg9r5n-QU3%ev!rS6Ki2{t=)2K$*7F^v`6#ni`YmcUd}i+K$tIrG1GYSGyZx zsZG_IADdL_+n~X@HLtq#J(}kHoAlwtBfRbn7Ze_+zdUVVOnyu4?utB9AWibf@&;Zm%lM zg=LR_WT;mt!c;vfXgy`ZwzzJC(d^c~SEfosR5(vji}KV;Tk$JYafs*M%!<$Y+qP$U zT=%$t2~K`|yuJ;?r(Ms1NvJgIbYL%RnE2AHD$d!eV2D8GR+E7OI^?wpg;|S>4E?dEUZ(q_;@((T%zhoh`R-&AC5* zEU?p_F3rk)EQd7&M8u6UMB*ZJK3 z0fhgv2ZHe`gtbZL4eG+KD3v--q=sDpOR-GgW}{H9HrV zBJw8xfPnod{r>eY@J%;wY8|8jfCJzj@bh;-(^?zg4=aFQ4svDdC9HM<0Reo_FS$Kq z>qWFK>PrI}B~~b%NG7*@3_r-~+=CRZZ0ZwZpdeR&OGe_Y8`m(>3T?u?F0*>;o10U> zX{79TiY_cX+{vbGB1=1O30fB|A!EbF!UBM~nSAFNoj%vGSS0N?Pqlvw8JxX)nWy5) z|9!@1%=A(ew~0TrKXL##6G#CjplP|qEFO(;T)Gy!?SEAJab%kX1k;I`U~$;tzM)H3 z=+V$K&&?SD(m(!qOG|qG;zc|#k>`0rXpcO++0>c#rUtIEu(Gy5pCq5hnq51=&=B5f zfAa$OxsziZ!C{Q>t#l%8YD`Q_XGJu0bTB|Pz(yxh0*p3&=+(Zg?UTPhZ4iqLe6%|Q zaQe3=kNQBSObz(5WJ0>EG=NOBWU$$$2nQTik$PO*yu50CWiA9>J9!0#a3I5*QrOos z#cX@&tdy(w-ey2LlZlb>ixq!-j{yJ|{ZQ(XbO&nvlE~FtMiqITqyOq+u1+VVjx) z;||K1SaBE$S*v#Q_#5tsaGsOBDkaF;i;4J;5i5+BP%E8J#rdeB|E!!-9@$p zNc2d-KV}Bn{mh&iD>AlX@Tw{#nW(6#4RV7akq5*ke4bltY*@12YevHMz!-MTX1?Ej zj+Kk6iDnuhjNxwEM$DH$0VUx-ZmUmzaN0GYSyJu)E^Gcy$Q zXUodS0G;15B`qxulE`m$I}g%CHcrT*6u*R(0|MqmSO{~-@j>Tp>}=WG>i`!R9(ajF z=AYYYq97^b*+u=W&_*nxe`Wt_im4FUva#P-ve=$7+*N^OT6>9uS>U-FcU)avyYtL~ z@5Kpcj*pwiilV!TCI?2N2N8(Dqkyjsud1p7+Q%dy@75RFUJ8x#+Hu{>fv>K10#VX3 z@Y`mlqxB_!PVpU zJ8pyOL3R+5=(O_zAw#`?N;;Beq;T(E2f{gt**|&W1@FH=wySrrjyb*!Ft(6Cbh6PU z7*w>SDbSi28((MJA7d$AfCz&(Ez-nKbyx~eF@~P&&yg%`g6z!;r?Pd6?!l>FaAa-w zeSaTxQR5QA#XFDKc)O!}t2Pha*b_*K5!igL`6N1OECKi1l-JIf*S89oQEHbC1dGVQ zm~2k;L6Y>)G);h1;RIY+Sa5J~dIPfGHh=DI;B60&a)jow0!Rrg`$`Kc*GFkV`Axxa z5@uvJi~5I#205UXECoVIVSU*GqwD7!*XE5BBazSORYHcF+W7$A0g{tFcIpBgc|Xd( z{<;*?I69Ggu%@!V*A$L>cdkhQa?s#}grnRMngzQ3RC0n2GJvz1966_OFxmO}HH!M2 zbxZiUxVR|PN%ucWJphurBmz-_4rvJC@H+6HltS z^llWN0rgA^Sn^IH)BXp0*WUOa34W5IjK3t^TwNjE{ryYUy_486p_y<|c02l@=^e%NJz ziizV)e+qb66incN7ljnLOq^~6?lR0R7fwW$kcYSB$ITDqFly$|p+iERTg5>aMPy+n zP4Q(oiFH=|?3XTyUk$AT%$D8!;B9~z>V|w%V3@Km5!T+9XcDy&GNTkV8tIMAO-&~b zkPGgO)j0yR(25^9dh#_$v5d^i2u^)$dc3F3(Yw!I9+VFTBh)OAS-JQ|THEr(*}gK= z(5IJ(g#p~ZI*ibO?Fd0O9C?TrAlYGW+O{lhRiFy(06}vctUjcjtpNtiwG<}f>^(A6 z_QV>YN8~D%G>#WVf6Hb#_`V|U(U*vbAhsXq17bJ3avu62Sv#;{u*AcdU@^BPbC9Yp z#@rJGuWcM~73$;Bz(0W1FDsP48VXO~QO*Dw0lh`neeoEyyv~gXCFCuXo?F8WD|vWq zISKAe5vuTrb^=;?d!bmWZhg*3$hxNj*Fv2+uR)~4zGA9w-&5G?j9_1(wxjas(J!Z4 zY47cR5$uy&zBs26N&dT+^e)Xy()b7+HIrYQh;ym^5 zD(%0e__RC`kz3%v7Q7JTKnRpf1_liyIELzV`I*2D9?|bM#X)uUENZGF8!7ui^9dG8 zE&9AC``#J(AlenNWagVN>7xy(cMdBcADnRqY&lTvn68t9MN2F$E^c)X{;f)smEWYx zy;c(nL;-yVuX*#O)U-4#3{AiSO?4_-x6lfT996PMYC)2*u-YNS4|{8X=gRB4=J)Y3 zJ#>mi9ww|*uDqR5I7N9m*VYBLMP^_2i&ykAjj!)F!JdzXr<^z zQ!s5HDeC59L5MMX_ptVq0)|(nNpv#{v57Dm#sDlW5wvtxb8|Dw6N8MRavO~{a~%3~ zT&5LAsKf$&hAs?T2rViqLiCn|q~s*9^r}J+NrA_@{qtwf<|*Mk!HF^k(F4LJ5q(hb zyEl-kN$(|QW+_-yWoY|pvZfVs%=jEkPXH_10OCdbwYfBrEQ;RH%in%-?4pvJ+Xi3k zzT-)PZ(oi*3qzo#Ly$d&K@Z_Q)HF0$Ak(;!y+0e;+Y%WGP9gy4`DUQittSnR_u44| z(=M7OyRVFutoNpX+sv<4?dk)eVN3kZ67%+|*KSee_KL2nyE_Uhnw`QD2W8OSYkS7x z2(BFqCU^>1LxJ?^HT3Kl10R9@!FaCUPENIg^IU&6(9ccSdTqwoRBbz_rlx{Md;Fhs z&i#8!VG7R@@GC;E$Q@YkN?BQ1HE`{aZ2)B($GH!*A;Ip2EH>A{9fg4%K!&2cu)-Nj zC35YWJTzf3A(jq#C|Un@Fo1LfsmC(OfUJiwMmCJph5UX2NkaW^W467y+6lZK37~92 z?vVQDL~E)W6w6Jn&oA#I5fj|zR~$i0^!oQd{z>jM*RKzXqYY+yP=ebGw07pe8-m=$ z-UCa%x2XxR9Xb_m1*hnQQlOmn#j*gr{V&9Wp~vFkSN6>0Y~`j68hXmGhENZ2Ebz@e2URGy%L){P z=xV9^>gA$1y29J(73ONDu8EAlu&ZH#0uYtVV zm_G)w1<~?pzmKt=8JrH)KpH+q87PMjcq}%SbcVE*yE=fma>WWGH(RanVZw28{>Mi| z^OWoopqwnJs;8F)NCmKF33o2Zz@=0>wZS|payp@<-YM`&BHTG-fU<;}CQw~}4-PkY z)d8*qp!Ihpla--x4R&ns2UI-C!EOErgbOw>ETwgh)5~ku9*u~0aS#x%O-;bDfk)Aw zpnX8E!PDpcAhJCf)!<1%B^jR3G6>NS)y6zIoaViU00>fu0|S&-ir;`d!M7&2E(fkt z?=O-!EoB2t-Lj!RyZH?ffV~I&5(R~(|NbTXWsv$`p@N@!pB`9H_`w?({r2q+{ABlE zWAyf_uhk0X0Of!}`kOlAR+#pn3I2Dfo;x%UAR^pl#oy=9B%)L1oDBhsAND{K=p$#s z?u;8y9jj|;WkmCsL8ZFv&gTD!SrM6za~(YoM_&=P|6<1effsj@K=wl6>-~%^oCmNl z(ula_!%P_}O3D;X16PT7^hz`$h&5FE*PZcgZ>?)!j?$f~?Ufi%Aj2agOfqB?6rE6V zkH#MOjx9i!6D4P;tiZ9k8M( zVCcgEzC#Ea2q6&x0t}Sx{7|h&gJ_-YBf$AC{TXzN%^C+s*WSUQPo4YscY5nmenhU9 zl$>5v59W5L0C5eX1psS+g@Xj5?3*sPFAqwAzawLv^2a&wB?gawkivD=)z(VQRjkH= z*TNwK4yY=0l0vRI3%TN0m;M&`=UVrl!{+u7qX9R02ZpUFgP+9NZNp0gvE<`Gda+6} z-2QTVFPuAn;6A~@`rj4h2Wco-U1yIL(3Gh!p6VwVbGgvQ{!k#JJ*+~OYvmu2PSehM z4of~apSay_SJDc?V8uY5u5z*f%MiUE!7Q4@u11UJ_qhQ~K==deUB`g9uIaFo1-!$l z?tJqrxE?Wd7j=clC23Z!KkBeFmfdX9M`&Z(atmqe`*P&|-o1H6%EbEidmYi6^SNVO z-z!xqIKmA!9eB3;J?Jd$FSNv`Pq&VJ6QU6$0Zn zxc6s%@-Wrg`(i{QHbA7cVEO-Z_k6z!V(`^(2H@0Ga zZdhu**(kud;w?7u59>qQ@?E!ar>-#7bu&ue#po5u9#T8Q>38>72cgq?wU+?~QIX9s z=jJ&rmCdycJ~?I#rz(V@m;zDfdk-~+p!ic3jW<{`tY3FeZ%H(8Q&?!Ky}(3hx8VjO ztrXSKaQ$UtQa#z#dByi9NWEjyNa%5dPIA}ctB>PE+tLDil+Uii{*sF zuhPaRPuym_Y$I)-M_gfQ67kx3vRq#n+g!felh$>NX+mJz^}|v0!Z_M3JywQv)3YTe ze$4VNUiBNMpl!7O{`QEGmo|Cp%E)d9k73!;=EXph{-tEmRdVHe@tCZ!Ae2%}glDd& zgVw<8hJx$Nw|px4PG1p;ki^2$f()iEFJigZY^Ru~aALXYQBqQEzIU1#Zv8f|9aR=h zt=p%4ocPKK5{8}_cBvi>x0$7TBEQt%bid71t&!MR2%zV4@3}F<9_C@YsNUpvhp*gq z{rdYymvp^$Zt9{a;v#CO6U070n_SgUpH%7OtUb=Lxg~{uN5rEgY8J9}byth5v&2M{ zib7T|RtJ7)Fb~6JNFNihX`7)F3Om7g!ol9r{HNr3R7Y53i`Ga%j_JSqMq4905JwP> zZcCN8EAlu}d4ofdJ-5MeokP>h(HT%A1L&3^B9VjHp^v@!X> z$+9bCj&HN<3ZD%+z5m5RXf6e6%TK#o{hEvcx4RshXy$OcEBEuG=@0w#}l*BKayQO?L$+=tJ_5tl-6Ldxx!V| zxwdo$OBB{3EdQzeYB@~Qa6Puaced15>=?HLZY5E|BN;UZ4i^k#f`dqF1k_V9ah zS~xnYPbfrL?m{EB0WHHphCiXyZWvW_F;cD5kfPs6jd(|F9Rv+kL{FR_2v76hEF3kz z`-bv#mzwQA?GgUllxmA-w>QI7yRfO7G1|jrqXKocntk1C4cIH&Wz&LI8X}K%3r9yr zr`X+JyXowRxw~AvXyWwFYb&nK*fckWDmVH$NBt?u6(xng4*i`^CXrHjNoz`HiRuKY zL9=CcN2={a(_yE()V`>n=VOAY(r`w|U`$N0~pj4V=fQ7MdGv1~V|s3Lmh7LUcgorpqb{4)94qU>g$ zAJ&``Sb9vx$S=seF@nunY`X2culq1@{Ej_*7V%xr}Q zP{G7Er^}3a*)ty&`vS&%f(F}m+VAiku3alOl7Zm5PR%z0{TWZ2#58|k_(~_cQBEFB zalThthsS~f(Og#|rSJ!-)8c8iRVtK1ASLEP+N`9^%pJaFos{6!3#uKBw`KVSof4X_ z)@6L+Pmj>z+pt&~XAG?T9&qkRIL5gBLqWJs-aul@FD4!RORPfj0=}|LU4@}Mmt0^n z<2RyWR>zYoGGigw54?pRt8%0arcuI()@{w~&gBh+0?GTQVuDgzXXw~VpMv&Z?S zm!r;k?WD?-xlpKo`0RmRSC6*p+b%G*Eifi)oyVKX+#|)xvUAHV4SCJv-eQVT4N=aG z6|HMF*RUTdS+zZ}_{egz-eY^@=QdX8hw%D^km+y4_>W1mE$O2+I$PoAu4Pu^xBTZe zy8}xrbzj_BrD8|7MCweU)KxrQtGL&if9=w3K4k7&zP&|5R+p<^X1uVxZ2mW^@`3Lt z&i z=)??VHJ2}K>*$!aztg>iT4=v&ZCG;G!P($bNaolJ&&1A)%_1@rM$b3QQPCP+s)=-6 z&$}zrwG8{aRd+kbdQ(}wM}PL*$>nC2dO|1kIR8c1_kTST9Y4&2?C*17*EGnd|Hiir zcrt03ywN|e+h7u^eEbKs%so1m3?bLJJe>gQnPx8P=}wGfMf_qf-+jkoo0Ac2Rje&Z z)3RN!p3roR7{8&Su~g1rbdRMxLz^+1^Thv#ka1*DR;0XtesKr+f8O-kBa{b%W*?%P8)$SU}MF;C1sm=pYplnU{s|}ET8GR73HnW9Ii>C4M zvnHV4#+C4Fm7Vuhf6nH4LkhJ*ry9Ybb;P|$eZg1H1Rb3`5m6|6O$htEt6*V{CKHtv zVwDy;MtyGa|YCn^v3OHqBB{=Frk+*por1zd8=4ssGFq4cc;H6cSdeo8&)YgT(b^W(@1fpWjCIE zlfvZUizb*Uj{lvQ^3`YKag2VhuZ326s5`q3enBHjxn9gs{zTEu)EOzq>P|T}TnEP5 zgy#Fe*atL8=AGuheb^c1j6A!c= zvv#*1O6d&y_p7n11)CNV?qy34o@jscJe_^}y(E>FgI>)&R%~GKwSlQ`B-Jus{|(=$ zoAB*D>?Wa+D(=tt4JO;f;h+gB$JqBiyCOA%mzWwBec6X6SN|B{lO`@QAHdkx(~@;Wy9Bf7 znrZdujoXj0nYKPUqS-4?ntm~@7HYpjTlQvu2IiD^TH6zNt<in~OiV7# zPjx?jE0Zz~{qTWLSSLi4Y@9Of$pGG%h8D-XNy^r(jF+INSGIZJ&QYA4U8+l`lQ;V! zm($cqTQzF7A~mpdvjZjZ`8G%P@y=<(tCo&Y%Ijr|1^LyN+vT`7rp5#eQW;`SS+sO6 z`v(QL%}Gh|>rcnQ%9(%o9#mRXaoZ5zMVQ$A)>2M*J1LqFx)VmdhMqeK*{YMAPzC;B z1ceel-BQO)NaXXv@M-O99;b4dkY6CvzLsZtG?97i=|A(yV5q1XB>a6((P2M*`bV+W zf(o)0%SbvMIFxB_+9kk?Xpn#j;LWq8Q=E!Y7JM-7JRcJFA`4#_;(}T&fq4f7NNo&{ zSr7!JB6P>ZPuM}K5h^4N_pj?chOEfNQTq}#4UM#@s3^%`o_}=(5^F0R=u2?Z?M~Dm zV4>kBo7?{tRIwa*BJihTQj-G*5q>I4I1m^3VURlP;OxOqy-$&}^Zw)i!I#O$?dSNK zPa`ojl1m2ydWfM%CT?cmL8B|`8ycw2or4O9Ei4&dmIe-pUhn|@e=G!sviR`9UFjWO zUS5V26Y&Uz@FiUPB=YXtx1Ug7(@KB=%q*Oo--wTNNFi_@X^2DthdXlZgGv9s`$~U* zKcL+skb+clJ{cb$ACy92OI4($Um%<3T&7=HSs51u`7`{b>HlT9%%1><%~dfmF-XJ0 zv*y#MjMCC>V$S}0& z%zNUEgEv38s)*#oW^Xu8YlVl0vkD4o!(iaIZmY8#$#0r2BZ+@;T!AIN)id%kc~n|z zQ_$<(%()q}lRSQ(GUWz(9Ot%+aB@m##$>SF6eo>D4U4^+yw=Yn&8YidjR$ zoeR2-aGfG))r-=Kl&;*EwAk|88=UuWXX2+zCA;xy_DhB zB6XPLULr_f0x1tope$58p*)`stWB`oUm(L%mm|`6m`uS2dNCng!+5^mH_E;UgZfW!@d%jBc%0Q3qU8*kUt1 zbv(Q(r8T=@=|{)SzBUe(9fLPCzr++{)%6aOh=a6=pHMY4Bp~Veho4`)0U?FDO==b3 zIl7A!bbh)PYXp(m4O`Euo9y@=b8R&4qfho$EY;w zs>n=jf@msl1Y~pH-r2huq#9#lV&W>amv9^;yMOVzf?Pb^WiNGBhuJ<%v~mJNEr+EW zL-5=h^HTeZXO+y6rUhrsyLva5d$ID{KZ!oFWw&Oz8IO_Z9smB}goU)O_sKt=0q8TS#ZFG>$mfc z%G+tGfK+_=_X}YS{{K?r+3&F>vT`!Yvh`XO<#juKKZEo!E}H%-l2ut8LB!hFm2iH& zhjZ~b30gVDSVyIRt7$AFzB!mkbT^-@!1zcRF)V~zNAa3S1`&Ul#60z1^OK;?+U&PT zbZUO|#ON|zn}Er?qvzE$CsfoWAA{o^!KGM&2oS`2v zUmp|1H1E8^h3$H(Gt>VXZhG{O<-k@WFRCq|#ziK~Q*1TJh?`Dc@v~77R$JvS? zY}L?E5~EDGdUzm(`b=xmc}4RUo4iu_jpVq>m@B7A=IQ>mx8@2Ss*ZE|`o^MLiPSq| zgA%b1xV|UU#Lt8pYk2sr&7Hc*Rxr8FoPQq`K0F}7;OipD7Yb$}^gqiI{*rbZ)pz<~ zC*I{OTXO!yjg^8Xi^sD5fLjXVUpb!YWgS_vC{pS&J|S18k(nT@;fvls{O*Hy5n{2Kq;o53vZ_Rl4`t?dtAz^@jPXiLjLWLs%?AEf z`A1PNB)@t{5H})Nw%^ELiY5q{TUE(B1KavqkmSDf@?Z0>llr>Noo}{cS!e!ssRmz8 zA-3e_p9(R2Lt71aH|=5iNiNrQ)by(X^Um!i)>uZ5 z8rK?&>6FW4IcGBlFUS>ma=l^To$-=nQ6a5=yhEYmv36RRnPkvk>Ob2OR?=jwFze7? z5pfsTT6~H-(ze;qjH4Nkky~ja@n)xN$luQ;i=$q1%bmxW#{RnhLQ;75jijDk zZ}brFj{VE}8+93y{|!)9 z{EtWQd3XX=W3Y9z!Egs!8&*+s{T0}(EHxNny#z1D0hc47*y4irYi0@IdwPtc83B+q zM%}mz7z+QOpbkLl;Su};psnT|dH2^h`%lERW%~uV90#&=(9|=n1$7ap-Mx~-o=JschB`lO(Gvh>>o98 z@ywQ(&A;aZZ#oA#oaRPbTU(Cp>Y7NGDU4Qvjp;6R!r`lS0E*)pyC|I8!V*wpe?HV8 zs>OU*Vc+c?B>Nn<=NkgJp`Ctb{#bik+c-eR+;-N-_@Fupm1}pQy$T>=d7tfhh~vOs zuMTBLSnqUjy-+(_>z18(x&}?e6@*7|)=5r&ql1!(=@^tA!M7dt0Z1Q0=L4vS^q(X)MtNOo`uZH;2WwxWR;)eLI|_h6 zXmEvZUvZ?Ywg$&nU0FF1*lazWZwHJ(sG_QxJg~D;R0{p!AQUw`&<`uL2O)I?AQk7A z2}k~QhwF%(niqoWALlm7x;!^vXqwkWd_+Lc(Cd6AJX^f~d4uR+U z`}4^1LG^BJ^+NVj_ziJl$?;@$Hmo}`ERu(g1M~j=Yxq3?Ab(5yv-dUlT8K@f;gkTL zL%`NCLBc^O7E2&R!pmB|d|)y!fx)epWfp+O)b4aO8gN^aQ&T26TEcXscI;(+oFJ~D zFI_=Q2S5C4d*Et|N$C+--~QwOn;`JNKmYf3Pfkw4zzzWg7-S8{I4T%O5Pl1xyA*N7T2^SOD*?0G(mCl9w4HkD%XZil<09P)*j}JM({5`nig%VpkkU9 zEV}W9*y1hsdBi>wLX)bk5iTkyNdh|20%%_0qaeH^`5kWEj70EZfHnnyF9`2oh{Meb zduW-TfdXtdZ+=Il4e*++K<{XB{aik%vG$IRNsxB{t=-(6O|Ch|ZTtd6F(veQBg}|d zYL(-f0F33T9rs{sCLZ6B94v|jP?o_7>TAt#`Az`#!2t?vPhb5!MB;7w3K6da?QQ@P z!^S&83wwQSZ7uS(FzRGa>mMp^XO8!{lH8I3C=R$LEdY`rc7*jx%L8>awQ(3!1Ae=b zmR1yqZ{$~a(H=bZlOXAS6cvc$rYu*Q);}hx9-j$2QX3>3j=dmE?ufdzHS|6 zs}TU(xIEjZ3m9`e8ylN2-SOfS=*d5I;bsERk&eTFZ|G$MD!lW_K!ckn&#sdNG`WCT zkppn-GO~IAU`9Zj`HmARfNVq%OaW)PI$mGCD@;dDLc;41hTLqI>tdsT(*SxEX8pd> zerTQpBb<_e=Q}eiOCI@V7!}Hg23A&pbi@T6)#HYc9|T$xvMLC|574kv5xO=lfDnq3 z@u98*&;@|jVLW<|RuUCQ5JXJ~;H+X}5(f}<6}a51@=*zJU;p#=H2|`cZ`H+3e(t(B zbwCYr`=FC1+cHCuluUR;#3bnExS&7uxB-g;AJYnxeZnvpHb9F3yo?Qi-w-FSI0_Gj zu(PqLfX(wgdHzGw4f98^XpXSODBw>Hzf1 z|JAFoE~^f}uP(!MtEovGp#x+@gpR@vQ7n-SHLc<1${-b#)YNIOU%&Q^o;~XGM0?IW z2R;|EsC{lz*>ORK^;7_p0$3#k!7Lecffe9muV4R#94TnB-}4$Ug1_D5w|HQF2AGV^ z+72*jx5H3O1oyA+)UJL}{-~Z1BreXMKW{luSuynUC(zzrPEAioZLR$R+WdLsW|8z2 zg5C;e*96{aun23nTt+T#vL)FMw8;|8Qk!~zj9yJv)*q4ZyΜ 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 X7V*p&xatkdckz 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 MMrIds3>-uL1D<|P1^@s6 literal 0 HcmV?d00001 diff --git a/v0.15.1/articles/images/filters-mapping.svg b/v0.15.1/articles/images/filters-mapping.svg new file mode 100644 index 0000000000..e86542b02e --- /dev/null +++ b/v0.15.1/articles/images/filters-mapping.svg @@ -0,0 +1 @@ +
Predefined filters
Predefined filte...
module 2
module 2
module 1
module 1
module 3
module 3
module 4
module 4
filter 1
filter 1
filter 2
filter 2
filter 3
filter 3
filter 4
filter 4
filter 5
filter 5
filter 6
filter 6
filter 1
filter 1
filter 1
filter 1
filter 1
filter 1
filter 1
filter 1
filter 2
filter 2
filter 2
filter 2
filter 3
filter 3
filter 4
filter 4
Text is not SVG - cannot display
\ No newline at end of file diff --git a/v0.15.1/articles/images/show_code_prepro_missing.png b/v0.15.1/articles/images/show_code_prepro_missing.png new file mode 100644 index 0000000000000000000000000000000000000000..7fbd2ae81f1c9edb7fb888a8bad65262edaf171d GIT binary patch literal 49689 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 LV?xxpdB6P+;Ru2E literal 0 HcmV?d00001 diff --git a/v0.15.1/articles/images/show_code_prepro_present.png b/v0.15.1/articles/images/show_code_prepro_present.png new file mode 100644 index 0000000000000000000000000000000000000000..03f00463139d933c90c33fea4ee845f5458e89ca GIT binary patch literal 48877 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 W(kU~WZ&TubQ*~xdj2yq<*Z%|Nj?uCJ literal 0 HcmV?d00001 diff --git a/v0.15.1/articles/images/teal-app-components-hover.svg b/v0.15.1/articles/images/teal-app-components-hover.svg new file mode 100644 index 0000000000..84d9efa291 --- /dev/null +++ b/v0.15.1/articles/images/teal-app-components-hover.svg @@ -0,0 +1 @@ +
My first teal app
My first teal...
127.0.0.1:3838
127.0.0.1:3838
Module 1
Module 1
Module 2
Module 2
My first teal application
My first teal application
Choose a dataset 
Choose a dataset 
IRIS
IRIS
Show R code
Show R code
   Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5.0 3.6 1.4 0.2 setosa
6 5.4 3.9 1.7 0.4 setosa
7 4.6 3.4 1.4 0.3 setosa
8 5.0 3.4 1.5 0.2 setosa
9 4.4 2.9 1.4 0.2 setosa
10 4.9 3.1 1.5 0.1 setosa
11 5.4 3.7 1.5 0.2 setosa
12 4.8 3.4 1.6 0.2 setosa
13 4.8 3.0 1.4 0.1 setosa
14 4.3 3.0 1.1 0.1 setosa
15 5.8 4.0 1.2 0.2 setosa
16 5.7 4.4 1.5 0.4 setosa
17 5.4 3.9 1.3 0.4 setosa
Sepal.Length Sepal.Width Petal.Length Petal.Width Species...
Active Filter Summary
Active Filter Summary
dataname
dataname
MTCARS
MTCARS
IRIS
IRIS
Obs
Obs
32/32
32/32
50/150
50/150
Active Filter Variables
Active Filter Variables
IRIS
IRIS
Species
Species
setosa
setosa
Add Filter Variables
Add Filter Variables
IRIS
IRIS
Add
Add
filter
filter
Select variable to filter
Select variable to fi...
MTCARS
MTCARS
MTCARS
MTCA...
Add
Add
filter
filter
Select variable to filter
Select variable to fil...
Powered by teal
Powered by te...
Session Info
Session In...
Pid:33902 Token:ed1901df
Pid:33902 Token:ed19...
Text is not SVG - cannot display
\ No newline at end of file diff --git a/v0.15.1/articles/images/teal-app-components.svg b/v0.15.1/articles/images/teal-app-components.svg new file mode 100644 index 0000000000..675339679a --- /dev/null +++ b/v0.15.1/articles/images/teal-app-components.svg @@ -0,0 +1 @@ +
Title
Title
127.0.0.1:3838
127.0.0.1:3838
Header
Header
Footer
Footer
Active Module Content
Active Module Content
Module 1
Module 1
Module 2
Module 2
Module 3
Module 3
Filter Panel
Filter Panel
Text is not SVG - cannot display
\ No newline at end of file diff --git a/v0.15.1/articles/including-data-in-teal-applications.html b/v0.15.1/articles/including-data-in-teal-applications.html new file mode 100644 index 0000000000..59a46916a7 --- /dev/null +++ b/v0.15.1/articles/including-data-in-teal-applications.html @@ -0,0 +1,460 @@ + + + + + + + + +Including Data in teal Applications • teal + + + + + + + + + + +
Skip to contents + + +

+ + + + +
+
+ + + +
+

Data in teal Applications +

+

The teal framework readily accepts general, +non-relational data. Modules defined in the +teal.modules.general package are designed to work well with +that kind of data. Relational data is handled just as well and the +mechanism of passing data to applications is virtually the same. This +includes clinical data that conforms to the ADaM standard. +We are working on making the framework extendable so that support for +other data structures can be added with relative ease. Currently some +support is offered for the MultiAssayExperiment class.

+

All applications use the teal_data class as a data +container. teal_data objects are passed to +init to build the application, where they are modified by +the filter panel (if applicable) and passed on to modules. Thus, the +first step of building a teal app is creating a +teal_data object.

+
+

General data +

+

A teal_data object is created by calling the +teal_data function and passing data objects as +name:value pairs.

+
+library(teal)
+
+# create teal_data
+data <- teal_data(iris = iris, cars = mtcars)
+

Note that iris and cars have been added to +the datanames property of data (see datanames property).

+

This is sufficient to run a teal app.

+
+# build app
+app <- init(
+  data = data,
+  modules = example_module()
+)
+
+# run app
+shinyApp(app$ui, app$server)
+
+
+

Reproducible data +

+

A teal_data object stores data in a separate +environment. Therefore, modifying the stored datasets requires that +processing code be evaluated in that environment. Following that logic, +one can create an empty teal_data object and populate it by +evaluating code. This can be done using the eval_code +function or, more conveniently, using the within +function.

+
+# create empty object
+data_empty <- teal_data()
+
+# run code in the object
+data_populated_1 <- eval_code(data_empty, code = "iris <- iris
+                                                  cars <- mtcars")
+# alternative
+data_populated_2 <- within(data_empty, {
+  iris <- iris
+  cars <- mtcars
+})
+

The key difference between eval_code and +within is that the former accepts code as character vector +or language objects (calls and expressions), while within +accepts only inline code. See ?qenv for more +details.

+

Note that in the first example data was created by +passing data objects, so the code that was used to create the data +objects is unknown and therefore the process cannot be reproduced. +Inspecting code the in the app created above reveals a note that the +preprocessing code is absent.

+

+

The necessary code can be supplied to the code argument +of the teal_data function.

+
+data_with_code <- teal_data(
+  iris = iris, cars = mtcars,
+  code = "iris <- iris
+          cars <- mtcars"
+)
+

+

Keep in mind this code is not executed in the +teal_data’s environment, so it may not reproduce the +environment. Such an object is considered unverified (see verified property).

+

If reproducibility is required, we recommend creating an empty +teal_data object and then evaluating code.

+
+

code from file +

+

The ability to pass code as a character vector to +eval_code opens the door to using code stored in a +file.

+
+# not run
+data_from_file <- teal_data()
+data_from_file <- eval_code(data, readLines("<path_to_file>"))
+
+
+
+

Creating data in-app +

+

The one departure from passing a teal_data object to +init is when the data does not exist in the environment +where the app is run, e.g. when it has to be pulled from a +remote source. In those cases a teal_data_module must be +used. See this vignette for a +detailed description.

+


+
+
+
+

Clinical data +

+

Currently teal supports two specialized data +formats.

+
+

+ADaM data +

+

The ADaM data model, defined in CDISC standards, +specifies relationships between the subject-level parent dataset and +observation-level child datasets. The cdisc_data function +takes advantage of that fact to automatically set default joining keys +(see join_keys property). In the +example below, two standard ADaM datasets +(ADSL and ADTTE) are passed to +cdisc_data.

+
+# create cdisc_data
+data_cdisc <- cdisc_data(ADSL = teal.data::rADSL, ADTTE = teal.data::rADSL)
+
+datanames(data_cdisc)
+#> [1] "ADSL"  "ADTTE"
+join_keys(data_cdisc)
+#> A join_keys object containing foreign keys between 2 datasets:
+#> ADSL: [STUDYID, USUBJID]
+#>   <-- ADTTE: [STUDYID, USUBJID]
+#> ADTTE: [STUDYID, USUBJID, PARAMCD]
+#>   --> ADSL: [STUDYID, USUBJID]
+
+app <- init(
+  data = data_cdisc,
+  modules = example_module()
+)
+shinyApp(app$ui, app$server)
+
+
+

+MultiAssayExperiment data +

+

The MultiAssayExperiment package offers a data structure +for representing and analyzing multi-omics experiments that involve +multi-modal, high-dimensionality data, such as DNA mutations, protein or +RNA abundance, chromatin occupancy, etc., in the same biological +specimens.

+

The MultiAssayExperiment class is described in detail here.

+

MultiAssayExperiment objects (MAEs) are placed in +teal_data just like normal objects.

+
+library(MultiAssayExperiment)
+utils::data(miniACC)
+
+data_mae <- teal_data(MAE = miniACC)
+
+app <- init(
+  data = data_mae,
+  modules = example_module()
+)
+shinyApp(app$ui, app$server)
+

Due to the unique structure of a MAE, teal requires +special considerations when building teal modules. +Therefore, we cannot guarantee that all modules will work properly with +MAEs. The package teal.modules.hermes +has been developed specifically with MAE in mind and will be more +reliable.

+

The filter panel supports MAEs out of the box.

+


+
+
+
+

+teal_data properties +

+
+
+datanames +
+

The datanames property lists the objects stored in the +teal_data environment that constitute datasets of interest. +Objects passed to teal_data become automatically listed in +the datanames property of the resulting object. Objects +created in teal_data by evaluating code need not be data +objects of interest and as such they are not automatically added to +datanames. For convenience, an empty datanames +property is considered to mean “all objects in the container”. +datanames can be read or modified with the +datanames function.

+
+data_with_objects <- teal_data(iris = iris, cars = mtcars)
+data_with_code <- teal_data() %>%
+  within({
+    iris <- iris
+    cars <- mtcars
+    not_a_dataset <- "data source credits"
+  })
+datanames(data_with_objects)
+#> [1] "iris" "cars"
+datanames(data_with_code)
+#> character(0)
+datanames(data_with_code) <- c("iris", "cars")
+datanames(data_with_code)
+#> [1] "iris" "cars"
+

The datanames property serves as a communication bridge +between the data container and modules in a teal +application. In teal all modules are called with a +datanames argument that determines which of the variables +in the teal_data object they are to access. Only variables +enumerated in the datanames property are eligible for use +in modules.

+

Note that specifying datanames in teal_data +is optional; if the property is empty, all objects are considered +eligible. Likewise, the datanames argument in the module +call defaults to "all", which means that module will +attempt to access all eligible variables in the teal_data +object.

+

For a detailed explanation of datanames, see this +teal.data vignette.

+

(back to General Data)

+
+
+
+join_keys +
+

Using relational data requires specifying joining keys for each pair +of datasets. Primary keys are unique row identifiers in individual +datasets and thus should be specified for each dataset. Foreign keys +describe mapping of variables between datasets. Joining keys are stored +in the join_keys property, which can be set when creating a +teal_data object, using the join_keys +argument, or using the join_keys function.

+
+ds1 <- data.frame(
+  id = seq(1, 10),
+  group = rep(c("A", "B"), each = 5)
+)
+ds2 <- data.frame(
+  group = c("A", "B"),
+  condition = c("condition1", "condition2")
+)
+keys <- join_keys(
+  join_key("DS1", keys = "id"),
+  join_key("DS2", keys = "group"),
+  join_key("DS1", "DS2", keys = c("group" = "group"))
+)
+data_relational1 <- teal_data(DS1 = ds1, DS2 = ds2, join_keys = keys)
+data_relational2 <- teal_data(DS1 = ds1, DS2 = ds2)
+join_keys(data_relational2) <- keys
+

For a detailed explanation of join keys, see this +teal.data vignette.

+

(back to ADaM Data)

+
+
+
+verified +
+

teal_data allows for tracking code from data creation +through data filtering through data analysis so that the whole process +can be reproduced. The verified property designates whether +or not reproducibility has been confirmed. teal_data +objects that are created empty and only modified by evaluating code +within them are considered verified by default. Those created with data +objects alone or with data objects and code are not verified by default, +but can become verified by running the verify function.

+
+data_with_code
+#> ✅︎ verified teal_data object
+#> <environment: 0x557df7753d38> [L]
+#> Parent: <environment: package:teal>
+#> Bindings:
+#>  not_a_dataset: <chr> [L]
+#>  cars: <df[,11]> [L]
+#>  iris: <df[,5]> [L]
+
+data_with_objects_and_code <- teal_data(iris = iris, cars = mtcars, code = expression(iris <- iris, cars <- mtcars))
+data_with_objects_and_code
+#> ✖ unverified teal_data object
+#> <environment: 0x557df7bfa450> [L]
+#> Parent: <environment: package:teal>
+#> Bindings:
+#>  cars: <df[,11]> [L]
+#>  iris: <df[,5]> [L]
+
+data_with_objects_and_code_ver <- verify(data_with_objects_and_code)
+data_with_objects_and_code_ver
+#> ✅︎ verified teal_data object
+#> <environment: 0x557df7bfa450> [L]
+#> Parent: <environment: package:teal>
+#> Bindings:
+#>  cars: <df[,11]> [L]
+#>  iris: <df[,5]> [L]
+

For a detailed explanation of verification, see this +teal.data vignette.

+

(back to Reproducible Data)

+


+
+
+
+

Further reading +

+

For a complete guide to the teal_data class, please +refer to the teal.data +package.

+
+
+
+ + + + +
+ + + + + + + diff --git a/v0.15.1/articles/index.html b/v0.15.1/articles/index.html new file mode 100644 index 0000000000..723e248a17 --- /dev/null +++ b/v0.15.1/articles/index.html @@ -0,0 +1,171 @@ + +Articles • teal + Skip to contents + + +
+
+
+ +
+

Get started

+

+ +
Getting Started with teal
+
+
+ +
+

Data in teal apps

+

+ +
Including Data in teal Applications
+
+
Data as shiny Module
+
+
+ +
+

📃 Technical blueprint

+

The purpose of the blueprint is to aid new developer’s comprehension of the fundamental principles of the teal framework. We will explore crucial teal concepts such as data flow, actors, and filter panel, among others.

+ +
About Technical Blueprint
+
+
Introduction
+
+
Actors
+
+
Data Flow
+
+
Product Map
+
+
+
+

+

Features.

+ +
Input Data
+
+
In-App Data
+
+
Filter Panel
+
+
Module Encapsulation
+
+
+
+ + +
+ + + + + + + diff --git a/v0.15.1/articles/teal-options.html b/v0.15.1/articles/teal-options.html new file mode 100644 index 0000000000..e0292815c4 --- /dev/null +++ b/v0.15.1/articles/teal-options.html @@ -0,0 +1,315 @@ + + + + + + + + +Modifying a teal Application With R Options • teal + + + + + + + + + + + Skip to contents + + +
+ + + + +
+
+ + + +
+

Motivation +

+

Some R packages use options to modify their +runtime behavior. They usually specify sensible default values for +internal function arguments or determine responses to users actions. For +example, testthat uses an option +testthat.progress.max_fails to define a default number of +failed expectations before the testing functions terminate execution. +While some of these adjustable values can be exposed as function +parameters, some are confined to an option. This vignette details the +options available in the package teal and it’s supporting +packages teal.logger, teal.widgets, and +teal.slice.

+
+
+

Setting an option +

+

At any time during an interactive session, you can change an option +using:

+
+options(option_to_set = "value")
+

A way to change options for only the execution of a specific block of +code is with the withr package like so:

+
+withr::with_options(list(digits = 3), print(pi))
+
## [1] 3.14
+

After the line above is run the option, digits, will go +back to its value before the line was run.

+

The function getOption allows to inspect the value of an +option:

+
+getOption("option_to_set")
+
## [1] "value"
+

Once set, the value of an option persists during a session, but it +returns to the default value in a new session. Make sure to change the +options after all the teal-related packages are loaded +because some of them initialize the options themselves and will +overwrite your custom values.

+
+
+

Options used in a teal application +

+
+

+teal.bs_theme (bslib::bs_theme +object) +

+

This option controls the bootstrap theme and version used in +teal apps. Achieve better UX with the customized UI of an +app. Please see the vignette on +Bootstrap themes to read more about the functionality.

+

Default: NULL

+
+
+

+teal.load_nest_code (character) +

+

The value of this option is appended to the top of the code rendered +when using the Show R Code modal button.

+

Default: +"# Add any code to install/load your NEST environment here".

+
+
+

+teal.threshold_slider_vs_checkboxgroup +(numeric) +

+

This is the threshold that determines if a variable is treated as a +factor in the filter panel. If the number of unique values of a variable +is less than this threshold the variable will be treated as a factor +instead of its original class. As an example, imagine +teal.threshold_slider_vs_checkboxgroup equals to 2. Then a +numeric variable c(1, 1, 1), which has only one unique +value, is treated as a factor in the filter panel (and in the filter +panel only!). The filter panel creates a checkbox widget to filter +values from this variable, as it would for a factor variable, instead of +the usual numeric range selector.

+

Default: 5.

+
+
+

+teal.basic_table_args (basic_table_args +object) +

+

This specifies the list of arguments passed to every call to +rtables::basic_table made in a teal +application. This can be used to format rtables without +making any changes to the application code. See the documentation of +teal.widgets::basic_table_args for more information.

+

Default: teal.widgets::basic_table_args().

+
+
+

+teal.ggplot2_args (ggplot2_args +object) +

+

This option allows modifying labels and themes of all +ggplot2 plots in a teal application. See the +documentation of teal.widgets::ggplot2_args for more +information.

+

Default: teal.widgets::ggplot2_args().

+
+
+

+teal.plot_dpi (integer value 24 or larger) +

+

This option controls the dots per inch of the graphs rendered and +downloaded when using the module plot_with_settings from +the teal.widgets package.

+

Default: 72

+
+
+

+teal.log_layout (character) +

+

This defines the layout of a log message used in a teal +application. teal uses this layout to format the emitted +log messages. Read the documentation of +teal.logger::register_logger for more information.

+

Default: +"[{level}] {format(time, \"%Y-%m-%d %H:%M:%OS4\")} pid:{pid} token:[{token}] {ans} {msg}".

+

Note that this layout is formatted by the glue +package.

+
+
+

+teal.log_level (character) +

+

This is the logging level threshold used in a teal +application. A teal application will not emit logs below +this level. Read the documentation of +teal.logger::register_logger for more information. Possible +values: "TRACE", "INFO", +"WARNING", "ERROR". See the documentation of +logger::TRACE for all possible values of logging threshold +and more information on what it does.

+

Default: "INFO".

+

Note that there are two levels considered less severe than +"INFO": "DEBUG" and "TRACE". In +order to see the log messages for these two levels as well, change the +log level from the default to "TRACE", the least severe log +level.

+
+
+

+teal.show_js_log (logical) +

+

This indicates whether to print the JavaScript console +logs to the R console. If set to TRUE, the +logs will be printed; otherwise, they won’t.

+

Default: FALSE.

+
+
+
+

Deprecated options +

+
+

+teal_logging +

+

Deprecated in favor of using the teal.logger package for +logging.

+
+
+

+teal_show_js_log +

+

Deprecated in favor of teal.show_js_log (see above).

+
+
+
+
+ + + + +
+ + + + + + + diff --git a/v0.15.1/authors.html b/v0.15.1/authors.html new file mode 100644 index 0000000000..ffcbdbb0a2 --- /dev/null +++ b/v0.15.1/authors.html @@ -0,0 +1,202 @@ + +Authors and Citation • teal + Skip to contents + + +
+
+
+ +
+

Authors

+ +
  • +

    Dawid Kaledkowski. Author, maintainer. +

    +
  • +
  • +

    Pawel Rucki. Author. +

    +
  • +
  • +

    Aleksander Chlebowski. Author. +

    +
  • +
  • +

    Andre Verissimo. Author. +

    +
  • +
  • +

    Kartikeya Kirar. Author. +

    +
  • +
  • +

    Vedha Viyash. Author. +

    +
  • +
  • +

    Marcin Kosinski. Author. +

    +
  • +
  • +

    Adrian Waddell. Author. +

    +
  • +
  • +

    Chendi Liao. Reviewer. +

    +
  • +
  • +

    Dony Unardi. Reviewer. +

    +
  • +
  • +

    Nikolas Burkoff. Author. +

    +
  • +
  • +

    Mahmoud Hallal. Author. +

    +
  • +
  • +

    Maciej Nasinski. Author. +

    +
  • +
  • +

    Konrad Pagacz. Author. +

    +
  • +
  • +

    Junlue Zhao. Author. +

    +
  • +
  • +

    Tadeusz Lewandowski. Author. +

    +
  • +
  • +

    F. Hoffmann-La Roche AG. Copyright holder, funder. +

    +
  • +
  • +

    Maximilian Mordig. Contributor. +

    +
  • +
+ +
+

Citation

+

Source: DESCRIPTION

+ +

Kaledkowski D, Rucki P, Chlebowski A, Verissimo A, Kirar K, Viyash V, Kosinski M, Waddell A, Burkoff N, Hallal M, Nasinski M, Pagacz K, Zhao J, Lewandowski T (2024). +teal: Exploratory Web Apps for Analyzing Clinical Trials Data. +R package version 0.15.1, +https://github.com/insightsengineering/teal/, https://insightsengineering.github.io/teal/. +

+
@Manual{,
+  title = {teal: Exploratory Web Apps for Analyzing Clinical Trials Data},
+  author = {Dawid Kaledkowski and Pawel Rucki and Aleksander Chlebowski and Andre Verissimo and Kartikeya Kirar and Vedha Viyash and Marcin Kosinski and Adrian Waddell and Nikolas Burkoff and Mahmoud Hallal and Maciej Nasinski and Konrad Pagacz and Junlue Zhao and Tadeusz Lewandowski},
+  year = {2024},
+  note = {R package version 0.15.1, 
+https://github.com/insightsengineering/teal/},
+  url = {https://insightsengineering.github.io/teal/},
+}
+
+
+ + +
+ + + + + + + diff --git a/v0.15.1/consent.css b/v0.15.1/consent.css new file mode 100644 index 0000000000..e1396f6c15 --- /dev/null +++ b/v0.15.1/consent.css @@ -0,0 +1,28 @@ +.cookie-consent { + position: fixed; + bottom: 8px; + left: 20px; + width: 260px; + color: #fff; + line-height: 20px; + padding-block: 7px; + padding-left: 10px; + padding-right: 10px; + font-size: 14px; + background: #292929; + z-index: 120; + cursor: pointer; + border-radius: 3px; +} + +.cookie-button { + height: 20px; + width: 104px; + color: #fff; + font-size: 12px; + line-height: 10px; + border-radius: 3px; + border: 1px solid grey; + background-color: grey; + margin-inline: auto; +} diff --git a/v0.15.1/consent.js b/v0.15.1/consent.js new file mode 100644 index 0000000000..4b8b9e1960 --- /dev/null +++ b/v0.15.1/consent.js @@ -0,0 +1,95 @@ +(function ($) { + "use strict"; + $.fn.cookieWall = function (options) { + const params = $.extend({ + id: '', + cookie: { + name: 'nest-documentation', + days: 15, + path: '/' + }, + tag: { + cookiePrefix: '', + cookieDomain: '', + cookieExpires: '', + cookieUpdate: '' + } + }, options); + const tag_params = {} + for (const property in params.tag) { + if (params.tag[property] != '') { + tag_params[property.replace(/([A-Z])/g, "-$1").toLowerCase()] = params.tag[property]; + } + } + const tag = '' + + ''; + + const cookieNotification = ` + `; + + function init() { + if (params.id != '') { + let c = getCookie(); + if (c == null || (c != 0 && c != 1)) { + displayCookieNotification(); + } else if (c == 1) { + addTag(); + } + } else { + console.log('No ID defined in the cookieWall params.'); + } + } + + function displayCookieNotification() { + $('body').prepend(cookieNotification); + $('body').on('mousedown', '.cookie-consent .cookie-button', setChoice); + } + + function removeCookieNotification() { + $('body .cookie-consent').remove(); + } + + function setChoice(e) { + e.preventDefault(); + if (this.id == 'cookie_accept') { + setCookie(1); + addTag(); + } else { + setCookie(0); + } + removeCookieNotification(); + } + + function addTag() { + $('body').append(tag); + } + + function getCookie() { + let t = document.cookie.split('; '); + let f = t.find(row => row.startsWith(params.cookie.name + '=')); + if (typeof f != 'undefined') { + return f.split('=')[1]; + } + return null; + } + + function setCookie(value) { + let a = params.cookie.days * 86400; + document.cookie = params.cookie.name + '=' + value + ';max-age=' + a + ';path=' + params.cookie.path + ';SameSite=None;Secure'; + } + init(); + return this; + }; +})(jQuery); diff --git a/v0.15.1/cookie_policy.txt b/v0.15.1/cookie_policy.txt new file mode 100644 index 0000000000..96f6f26292 --- /dev/null +++ b/v0.15.1/cookie_policy.txt @@ -0,0 +1,11 @@ +Cookie files are used to analyze website traffic by Google Analytics service. + +Information about your browsing and use of the website is transmitted and will be analyzed anonymously to improve services. The data will be transmitted to the United States and are subject to the Google privacy policy (https://policies.google.com/privacy?hl=en-US). + +List of cookies: + +- "_ga": Used to distinguish users (expires after 2 years) +- "_gid": Used to distinguish users (expires after 24 hours) +- "_gat": Used to limit request rate (expires after 1 minute) + +Your consent is kept for 15 days. You can reset your consent by deleting the nest-documentation cookie from your browser data. diff --git a/v0.15.1/deps/bootstrap-5.3.1/bootstrap.bundle.min.js b/v0.15.1/deps/bootstrap-5.3.1/bootstrap.bundle.min.js new file mode 100644 index 0000000000..e8f21f703f --- /dev/null +++ b/v0.15.1/deps/bootstrap-5.3.1/bootstrap.bundle.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v5.3.1 (https://getbootstrap.com/) + * Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e()}(this,(function(){"use strict";const t=new Map,e={set(e,i,n){t.has(e)||t.set(e,new Map);const s=t.get(e);s.has(i)||0===s.size?s.set(i,n):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(s.keys())[0]}.`)},get:(e,i)=>t.has(e)&&t.get(e).get(i)||null,remove(e,i){if(!t.has(e))return;const n=t.get(e);n.delete(i),0===n.size&&t.delete(e)}},i="transitionend",n=t=>(t&&window.CSS&&window.CSS.escape&&(t=t.replace(/#([^\s"#']+)/g,((t,e)=>`#${CSS.escape(e)}`))),t),s=t=>{t.dispatchEvent(new Event(i))},o=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),r=t=>o(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(n(t)):null,a=t=>{if(!o(t)||0===t.getClientRects().length)return!1;const e="visible"===getComputedStyle(t).getPropertyValue("visibility"),i=t.closest("details:not([open])");if(!i)return e;if(i!==t){const e=t.closest("summary");if(e&&e.parentNode!==i)return!1;if(null===e)return!1}return e},l=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),c=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?c(t.parentNode):null},h=()=>{},d=t=>{t.offsetHeight},u=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,f=[],p=()=>"rtl"===document.documentElement.dir,m=t=>{var e;e=()=>{const e=u();if(e){const i=t.NAME,n=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=n,t.jQueryInterface)}},"loading"===document.readyState?(f.length||document.addEventListener("DOMContentLoaded",(()=>{for(const t of f)t()})),f.push(e)):e()},g=(t,e=[],i=t)=>"function"==typeof t?t(...e):i,_=(t,e,n=!0)=>{if(!n)return void g(t);const o=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const n=Number.parseFloat(e),s=Number.parseFloat(i);return n||s?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(e)+5;let r=!1;const a=({target:n})=>{n===e&&(r=!0,e.removeEventListener(i,a),g(t))};e.addEventListener(i,a),setTimeout((()=>{r||s(e)}),o)},b=(t,e,i,n)=>{const s=t.length;let o=t.indexOf(e);return-1===o?!i&&n?t[s-1]:t[0]:(o+=i?1:-1,n&&(o=(o+s)%s),t[Math.max(0,Math.min(o,s-1))])},v=/[^.]*(?=\..*)\.|.*/,y=/\..*/,w=/::\d+$/,A={};let E=1;const T={mouseenter:"mouseover",mouseleave:"mouseout"},C=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function O(t,e){return e&&`${e}::${E++}`||t.uidEvent||E++}function x(t){const e=O(t);return t.uidEvent=e,A[e]=A[e]||{},A[e]}function k(t,e,i=null){return Object.values(t).find((t=>t.callable===e&&t.delegationSelector===i))}function L(t,e,i){const n="string"==typeof e,s=n?i:e||i;let o=I(t);return C.has(o)||(o=t),[n,s,o]}function S(t,e,i,n,s){if("string"!=typeof e||!t)return;let[o,r,a]=L(e,i,n);if(e in T){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};r=t(r)}const l=x(t),c=l[a]||(l[a]={}),h=k(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&s);const d=O(r,e.replace(v,"")),u=o?function(t,e,i){return function n(s){const o=t.querySelectorAll(e);for(let{target:r}=s;r&&r!==this;r=r.parentNode)for(const a of o)if(a===r)return P(s,{delegateTarget:r}),n.oneOff&&N.off(t,s.type,e,i),i.apply(r,[s])}}(t,i,r):function(t,e){return function i(n){return P(n,{delegateTarget:t}),i.oneOff&&N.off(t,n.type,e),e.apply(t,[n])}}(t,r);u.delegationSelector=o?i:null,u.callable=r,u.oneOff=s,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function D(t,e,i,n,s){const o=k(e[i],n,s);o&&(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function $(t,e,i,n){const s=e[i]||{};for(const[o,r]of Object.entries(s))o.includes(n)&&D(t,e,i,r.callable,r.delegationSelector)}function I(t){return t=t.replace(y,""),T[t]||t}const N={on(t,e,i,n){S(t,e,i,n,!1)},one(t,e,i,n){S(t,e,i,n,!0)},off(t,e,i,n){if("string"!=typeof e||!t)return;const[s,o,r]=L(e,i,n),a=r!==e,l=x(t),c=l[r]||{},h=e.startsWith(".");if(void 0===o){if(h)for(const i of Object.keys(l))$(t,l,i,e.slice(1));for(const[i,n]of Object.entries(c)){const s=i.replace(w,"");a&&!e.includes(s)||D(t,l,r,n.callable,n.delegationSelector)}}else{if(!Object.keys(c).length)return;D(t,l,r,o,s?i:null)}},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=u();let s=null,o=!0,r=!0,a=!1;e!==I(e)&&n&&(s=n.Event(e,i),n(t).trigger(s),o=!s.isPropagationStopped(),r=!s.isImmediatePropagationStopped(),a=s.isDefaultPrevented());const l=P(new Event(e,{bubbles:o,cancelable:!0}),i);return a&&l.preventDefault(),r&&t.dispatchEvent(l),l.defaultPrevented&&s&&s.preventDefault(),l}};function P(t,e={}){for(const[i,n]of Object.entries(e))try{t[i]=n}catch(e){Object.defineProperty(t,i,{configurable:!0,get:()=>n})}return t}function M(t){if("true"===t)return!0;if("false"===t)return!1;if(t===Number(t).toString())return Number(t);if(""===t||"null"===t)return null;if("string"!=typeof t)return t;try{return JSON.parse(decodeURIComponent(t))}catch(e){return t}}function j(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}const F={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${j(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${j(e)}`)},getDataAttributes(t){if(!t)return{};const e={},i=Object.keys(t.dataset).filter((t=>t.startsWith("bs")&&!t.startsWith("bsConfig")));for(const n of i){let i=n.replace(/^bs/,"");i=i.charAt(0).toLowerCase()+i.slice(1,i.length),e[i]=M(t.dataset[n])}return e},getDataAttribute:(t,e)=>M(t.getAttribute(`data-bs-${j(e)}`))};class H{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const i=o(e)?F.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof i?i:{},...o(e)?F.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const[n,s]of Object.entries(e)){const e=t[n],r=o(e)?"element":null==(i=e)?`${i}`:Object.prototype.toString.call(i).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(s).test(r))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${r}" but expected type "${s}".`)}var i}}class W extends H{constructor(t,i){super(),(t=r(t))&&(this._element=t,this._config=this._getConfig(i),e.set(this._element,this.constructor.DATA_KEY,this))}dispose(){e.remove(this._element,this.constructor.DATA_KEY),N.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,i=!0){_(t,e,i)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return e.get(r(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.3.1"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const B=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i=`#${i.split("#")[1]}`),e=i&&"#"!==i?i.trim():null}return n(e)},z={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter((t=>t.matches(e))),parents(t,e){const i=[];let n=t.parentNode.closest(e);for(;n;)i.push(n),n=n.parentNode.closest(e);return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((t=>`${t}:not([tabindex^="-"])`)).join(",");return this.find(e,t).filter((t=>!l(t)&&a(t)))},getSelectorFromElement(t){const e=B(t);return e&&z.findOne(e)?e:null},getElementFromSelector(t){const e=B(t);return e?z.findOne(e):null},getMultipleElementsFromSelector(t){const e=B(t);return e?z.find(e):[]}},R=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,n=t.NAME;N.on(document,i,`[data-bs-dismiss="${n}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),l(this))return;const s=z.getElementFromSelector(this)||this.closest(`.${n}`);t.getOrCreateInstance(s)[e]()}))},q=".bs.alert",V=`close${q}`,K=`closed${q}`;class Q extends W{static get NAME(){return"alert"}close(){if(N.trigger(this._element,V).defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),N.trigger(this._element,K),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=Q.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}R(Q,"close"),m(Q);const X='[data-bs-toggle="button"]';class Y extends W{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=Y.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}N.on(document,"click.bs.button.data-api",X,(t=>{t.preventDefault();const e=t.target.closest(X);Y.getOrCreateInstance(e).toggle()})),m(Y);const U=".bs.swipe",G=`touchstart${U}`,J=`touchmove${U}`,Z=`touchend${U}`,tt=`pointerdown${U}`,et=`pointerup${U}`,it={endCallback:null,leftCallback:null,rightCallback:null},nt={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class st extends H{constructor(t,e){super(),this._element=t,t&&st.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return it}static get DefaultType(){return nt}static get NAME(){return"swipe"}dispose(){N.off(this._element,U)}_start(t){this._supportPointerEvents?this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX):this._deltaX=t.touches[0].clientX}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),g(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=40)return;const e=t/this._deltaX;this._deltaX=0,e&&g(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(N.on(this._element,tt,(t=>this._start(t))),N.on(this._element,et,(t=>this._end(t))),this._element.classList.add("pointer-event")):(N.on(this._element,G,(t=>this._start(t))),N.on(this._element,J,(t=>this._move(t))),N.on(this._element,Z,(t=>this._end(t))))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&("pen"===t.pointerType||"touch"===t.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const ot=".bs.carousel",rt=".data-api",at="next",lt="prev",ct="left",ht="right",dt=`slide${ot}`,ut=`slid${ot}`,ft=`keydown${ot}`,pt=`mouseenter${ot}`,mt=`mouseleave${ot}`,gt=`dragstart${ot}`,_t=`load${ot}${rt}`,bt=`click${ot}${rt}`,vt="carousel",yt="active",wt=".active",At=".carousel-item",Et=wt+At,Tt={ArrowLeft:ht,ArrowRight:ct},Ct={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},Ot={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class xt extends W{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=z.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===vt&&this.cycle()}static get Default(){return Ct}static get DefaultType(){return Ot}static get NAME(){return"carousel"}next(){this._slide(at)}nextWhenVisible(){!document.hidden&&a(this._element)&&this.next()}prev(){this._slide(lt)}pause(){this._isSliding&&s(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval((()=>this.nextWhenVisible()),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?N.one(this._element,ut,(()=>this.cycle())):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void N.one(this._element,ut,(()=>this.to(t)));const i=this._getItemIndex(this._getActive());if(i===t)return;const n=t>i?at:lt;this._slide(n,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&N.on(this._element,ft,(t=>this._keydown(t))),"hover"===this._config.pause&&(N.on(this._element,pt,(()=>this.pause())),N.on(this._element,mt,(()=>this._maybeEnableCycle()))),this._config.touch&&st.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of z.find(".carousel-item img",this._element))N.on(t,gt,(t=>t.preventDefault()));const t={leftCallback:()=>this._slide(this._directionToOrder(ct)),rightCallback:()=>this._slide(this._directionToOrder(ht)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),500+this._config.interval))}};this._swipeHelper=new st(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=Tt[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=z.findOne(wt,this._indicatorsElement);e.classList.remove(yt),e.removeAttribute("aria-current");const i=z.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);i&&(i.classList.add(yt),i.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const i=this._getActive(),n=t===at,s=e||b(this._getItems(),i,n,this._config.wrap);if(s===i)return;const o=this._getItemIndex(s),r=e=>N.trigger(this._element,e,{relatedTarget:s,direction:this._orderToDirection(t),from:this._getItemIndex(i),to:o});if(r(dt).defaultPrevented)return;if(!i||!s)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=s;const l=n?"carousel-item-start":"carousel-item-end",c=n?"carousel-item-next":"carousel-item-prev";s.classList.add(c),d(s),i.classList.add(l),s.classList.add(l),this._queueCallback((()=>{s.classList.remove(l,c),s.classList.add(yt),i.classList.remove(yt,c,l),this._isSliding=!1,r(ut)}),i,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return z.findOne(Et,this._element)}_getItems(){return z.find(At,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return p()?t===ct?lt:at:t===ct?at:lt}_orderToDirection(t){return p()?t===lt?ct:ht:t===lt?ht:ct}static jQueryInterface(t){return this.each((function(){const e=xt.getOrCreateInstance(this,t);if("number"!=typeof t){if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}else e.to(t)}))}}N.on(document,bt,"[data-bs-slide], [data-bs-slide-to]",(function(t){const e=z.getElementFromSelector(this);if(!e||!e.classList.contains(vt))return;t.preventDefault();const i=xt.getOrCreateInstance(e),n=this.getAttribute("data-bs-slide-to");return n?(i.to(n),void i._maybeEnableCycle()):"next"===F.getDataAttribute(this,"slide")?(i.next(),void i._maybeEnableCycle()):(i.prev(),void i._maybeEnableCycle())})),N.on(window,_t,(()=>{const t=z.find('[data-bs-ride="carousel"]');for(const e of t)xt.getOrCreateInstance(e)})),m(xt);const kt=".bs.collapse",Lt=`show${kt}`,St=`shown${kt}`,Dt=`hide${kt}`,$t=`hidden${kt}`,It=`click${kt}.data-api`,Nt="show",Pt="collapse",Mt="collapsing",jt=`:scope .${Pt} .${Pt}`,Ft='[data-bs-toggle="collapse"]',Ht={parent:null,toggle:!0},Wt={parent:"(null|element)",toggle:"boolean"};class Bt extends W{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const i=z.find(Ft);for(const t of i){const e=z.getSelectorFromElement(t),i=z.find(e).filter((t=>t===this._element));null!==e&&i.length&&this._triggerArray.push(t)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return Ht}static get DefaultType(){return Wt}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter((t=>t!==this._element)).map((t=>Bt.getOrCreateInstance(t,{toggle:!1})))),t.length&&t[0]._isTransitioning)return;if(N.trigger(this._element,Lt).defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(Pt),this._element.classList.add(Mt),this._element.style[e]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const i=`scroll${e[0].toUpperCase()+e.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(Mt),this._element.classList.add(Pt,Nt),this._element.style[e]="",N.trigger(this._element,St)}),this._element,!0),this._element.style[e]=`${this._element[i]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(N.trigger(this._element,Dt).defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,d(this._element),this._element.classList.add(Mt),this._element.classList.remove(Pt,Nt);for(const t of this._triggerArray){const e=z.getElementFromSelector(t);e&&!this._isShown(e)&&this._addAriaAndCollapsedClass([t],!1)}this._isTransitioning=!0,this._element.style[t]="",this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(Mt),this._element.classList.add(Pt),N.trigger(this._element,$t)}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(Nt)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=r(t.parent),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(Ft);for(const e of t){const t=z.getElementFromSelector(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=z.find(jt,this._config.parent);return z.find(t,this._config.parent).filter((t=>!e.includes(t)))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const i of t)i.classList.toggle("collapsed",!e),i.setAttribute("aria-expanded",e)}static jQueryInterface(t){const e={};return"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1),this.each((function(){const i=Bt.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}N.on(document,It,Ft,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();for(const t of z.getMultipleElementsFromSelector(this))Bt.getOrCreateInstance(t,{toggle:!1}).toggle()})),m(Bt);var zt="top",Rt="bottom",qt="right",Vt="left",Kt="auto",Qt=[zt,Rt,qt,Vt],Xt="start",Yt="end",Ut="clippingParents",Gt="viewport",Jt="popper",Zt="reference",te=Qt.reduce((function(t,e){return t.concat([e+"-"+Xt,e+"-"+Yt])}),[]),ee=[].concat(Qt,[Kt]).reduce((function(t,e){return t.concat([e,e+"-"+Xt,e+"-"+Yt])}),[]),ie="beforeRead",ne="read",se="afterRead",oe="beforeMain",re="main",ae="afterMain",le="beforeWrite",ce="write",he="afterWrite",de=[ie,ne,se,oe,re,ae,le,ce,he];function ue(t){return t?(t.nodeName||"").toLowerCase():null}function fe(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function pe(t){return t instanceof fe(t).Element||t instanceof Element}function me(t){return t instanceof fe(t).HTMLElement||t instanceof HTMLElement}function ge(t){return"undefined"!=typeof ShadowRoot&&(t instanceof fe(t).ShadowRoot||t instanceof ShadowRoot)}const _e={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var i=e.styles[t]||{},n=e.attributes[t]||{},s=e.elements[t];me(s)&&ue(s)&&(Object.assign(s.style,i),Object.keys(n).forEach((function(t){var e=n[t];!1===e?s.removeAttribute(t):s.setAttribute(t,!0===e?"":e)})))}))},effect:function(t){var e=t.state,i={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles=i,e.elements.arrow&&Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var n=e.elements[t],s=e.attributes[t]||{},o=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]="",t}),{});me(n)&&ue(n)&&(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:["computeStyles"]};function be(t){return t.split("-")[0]}var ve=Math.max,ye=Math.min,we=Math.round;function Ae(){var t=navigator.userAgentData;return null!=t&&t.brands&&Array.isArray(t.brands)?t.brands.map((function(t){return t.brand+"/"+t.version})).join(" "):navigator.userAgent}function Ee(){return!/^((?!chrome|android).)*safari/i.test(Ae())}function Te(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=!1);var n=t.getBoundingClientRect(),s=1,o=1;e&&me(t)&&(s=t.offsetWidth>0&&we(n.width)/t.offsetWidth||1,o=t.offsetHeight>0&&we(n.height)/t.offsetHeight||1);var r=(pe(t)?fe(t):window).visualViewport,a=!Ee()&&i,l=(n.left+(a&&r?r.offsetLeft:0))/s,c=(n.top+(a&&r?r.offsetTop:0))/o,h=n.width/s,d=n.height/o;return{width:h,height:d,top:c,right:l+h,bottom:c+d,left:l,x:l,y:c}}function Ce(t){var e=Te(t),i=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function Oe(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&ge(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function xe(t){return fe(t).getComputedStyle(t)}function ke(t){return["table","td","th"].indexOf(ue(t))>=0}function Le(t){return((pe(t)?t.ownerDocument:t.document)||window.document).documentElement}function Se(t){return"html"===ue(t)?t:t.assignedSlot||t.parentNode||(ge(t)?t.host:null)||Le(t)}function De(t){return me(t)&&"fixed"!==xe(t).position?t.offsetParent:null}function $e(t){for(var e=fe(t),i=De(t);i&&ke(i)&&"static"===xe(i).position;)i=De(i);return i&&("html"===ue(i)||"body"===ue(i)&&"static"===xe(i).position)?e:i||function(t){var e=/firefox/i.test(Ae());if(/Trident/i.test(Ae())&&me(t)&&"fixed"===xe(t).position)return null;var i=Se(t);for(ge(i)&&(i=i.host);me(i)&&["html","body"].indexOf(ue(i))<0;){var n=xe(i);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||e&&"filter"===n.willChange||e&&n.filter&&"none"!==n.filter)return i;i=i.parentNode}return null}(t)||e}function Ie(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function Ne(t,e,i){return ve(t,ye(e,i))}function Pe(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function Me(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}const je={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,i=t.state,n=t.name,s=t.options,o=i.elements.arrow,r=i.modifiersData.popperOffsets,a=be(i.placement),l=Ie(a),c=[Vt,qt].indexOf(a)>=0?"height":"width";if(o&&r){var h=function(t,e){return Pe("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:Me(t,Qt))}(s.padding,i),d=Ce(o),u="y"===l?zt:Vt,f="y"===l?Rt:qt,p=i.rects.reference[c]+i.rects.reference[l]-r[l]-i.rects.popper[c],m=r[l]-i.rects.reference[l],g=$e(o),_=g?"y"===l?g.clientHeight||0:g.clientWidth||0:0,b=p/2-m/2,v=h[u],y=_-d[c]-h[f],w=_/2-d[c]/2+b,A=Ne(v,w,y),E=l;i.modifiersData[n]=((e={})[E]=A,e.centerOffset=A-w,e)}},effect:function(t){var e=t.state,i=t.options.element,n=void 0===i?"[data-popper-arrow]":i;null!=n&&("string"!=typeof n||(n=e.elements.popper.querySelector(n)))&&Oe(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Fe(t){return t.split("-")[1]}var He={top:"auto",right:"auto",bottom:"auto",left:"auto"};function We(t){var e,i=t.popper,n=t.popperRect,s=t.placement,o=t.variation,r=t.offsets,a=t.position,l=t.gpuAcceleration,c=t.adaptive,h=t.roundOffsets,d=t.isFixed,u=r.x,f=void 0===u?0:u,p=r.y,m=void 0===p?0:p,g="function"==typeof h?h({x:f,y:m}):{x:f,y:m};f=g.x,m=g.y;var _=r.hasOwnProperty("x"),b=r.hasOwnProperty("y"),v=Vt,y=zt,w=window;if(c){var A=$e(i),E="clientHeight",T="clientWidth";A===fe(i)&&"static"!==xe(A=Le(i)).position&&"absolute"===a&&(E="scrollHeight",T="scrollWidth"),(s===zt||(s===Vt||s===qt)&&o===Yt)&&(y=Rt,m-=(d&&A===w&&w.visualViewport?w.visualViewport.height:A[E])-n.height,m*=l?1:-1),s!==Vt&&(s!==zt&&s!==Rt||o!==Yt)||(v=qt,f-=(d&&A===w&&w.visualViewport?w.visualViewport.width:A[T])-n.width,f*=l?1:-1)}var C,O=Object.assign({position:a},c&&He),x=!0===h?function(t,e){var i=t.x,n=t.y,s=e.devicePixelRatio||1;return{x:we(i*s)/s||0,y:we(n*s)/s||0}}({x:f,y:m},fe(i)):{x:f,y:m};return f=x.x,m=x.y,l?Object.assign({},O,((C={})[y]=b?"0":"",C[v]=_?"0":"",C.transform=(w.devicePixelRatio||1)<=1?"translate("+f+"px, "+m+"px)":"translate3d("+f+"px, "+m+"px, 0)",C)):Object.assign({},O,((e={})[y]=b?m+"px":"",e[v]=_?f+"px":"",e.transform="",e))}const Be={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,i=t.options,n=i.gpuAcceleration,s=void 0===n||n,o=i.adaptive,r=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:be(e.placement),variation:Fe(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s,isFixed:"fixed"===e.options.strategy};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,We(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,We(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}};var ze={passive:!0};const Re={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,i=t.instance,n=t.options,s=n.scroll,o=void 0===s||s,r=n.resize,a=void 0===r||r,l=fe(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,ze)})),a&&l.addEventListener("resize",i.update,ze),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,ze)})),a&&l.removeEventListener("resize",i.update,ze)}},data:{}};var qe={left:"right",right:"left",bottom:"top",top:"bottom"};function Ve(t){return t.replace(/left|right|bottom|top/g,(function(t){return qe[t]}))}var Ke={start:"end",end:"start"};function Qe(t){return t.replace(/start|end/g,(function(t){return Ke[t]}))}function Xe(t){var e=fe(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Ye(t){return Te(Le(t)).left+Xe(t).scrollLeft}function Ue(t){var e=xe(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function Ge(t){return["html","body","#document"].indexOf(ue(t))>=0?t.ownerDocument.body:me(t)&&Ue(t)?t:Ge(Se(t))}function Je(t,e){var i;void 0===e&&(e=[]);var n=Ge(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=fe(n),r=s?[o].concat(o.visualViewport||[],Ue(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(Je(Se(r)))}function Ze(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function ti(t,e,i){return e===Gt?Ze(function(t,e){var i=fe(t),n=Le(t),s=i.visualViewport,o=n.clientWidth,r=n.clientHeight,a=0,l=0;if(s){o=s.width,r=s.height;var c=Ee();(c||!c&&"fixed"===e)&&(a=s.offsetLeft,l=s.offsetTop)}return{width:o,height:r,x:a+Ye(t),y:l}}(t,i)):pe(e)?function(t,e){var i=Te(t,!1,"fixed"===e);return i.top=i.top+t.clientTop,i.left=i.left+t.clientLeft,i.bottom=i.top+t.clientHeight,i.right=i.left+t.clientWidth,i.width=t.clientWidth,i.height=t.clientHeight,i.x=i.left,i.y=i.top,i}(e,i):Ze(function(t){var e,i=Le(t),n=Xe(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=ve(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=ve(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+Ye(t),l=-n.scrollTop;return"rtl"===xe(s||i).direction&&(a+=ve(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(Le(t)))}function ei(t){var e,i=t.reference,n=t.element,s=t.placement,o=s?be(s):null,r=s?Fe(s):null,a=i.x+i.width/2-n.width/2,l=i.y+i.height/2-n.height/2;switch(o){case zt:e={x:a,y:i.y-n.height};break;case Rt:e={x:a,y:i.y+i.height};break;case qt:e={x:i.x+i.width,y:l};break;case Vt:e={x:i.x-n.width,y:l};break;default:e={x:i.x,y:i.y}}var c=o?Ie(o):null;if(null!=c){var h="y"===c?"height":"width";switch(r){case Xt:e[c]=e[c]-(i[h]/2-n[h]/2);break;case Yt:e[c]=e[c]+(i[h]/2-n[h]/2)}}return e}function ii(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=void 0===n?t.placement:n,o=i.strategy,r=void 0===o?t.strategy:o,a=i.boundary,l=void 0===a?Ut:a,c=i.rootBoundary,h=void 0===c?Gt:c,d=i.elementContext,u=void 0===d?Jt:d,f=i.altBoundary,p=void 0!==f&&f,m=i.padding,g=void 0===m?0:m,_=Pe("number"!=typeof g?g:Me(g,Qt)),b=u===Jt?Zt:Jt,v=t.rects.popper,y=t.elements[p?b:u],w=function(t,e,i,n){var s="clippingParents"===e?function(t){var e=Je(Se(t)),i=["absolute","fixed"].indexOf(xe(t).position)>=0&&me(t)?$e(t):t;return pe(i)?e.filter((function(t){return pe(t)&&Oe(t,i)&&"body"!==ue(t)})):[]}(t):[].concat(e),o=[].concat(s,[i]),r=o[0],a=o.reduce((function(e,i){var s=ti(t,i,n);return e.top=ve(s.top,e.top),e.right=ye(s.right,e.right),e.bottom=ye(s.bottom,e.bottom),e.left=ve(s.left,e.left),e}),ti(t,r,n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(pe(y)?y:y.contextElement||Le(t.elements.popper),l,h,r),A=Te(t.elements.reference),E=ei({reference:A,element:v,strategy:"absolute",placement:s}),T=Ze(Object.assign({},v,E)),C=u===Jt?T:A,O={top:w.top-C.top+_.top,bottom:C.bottom-w.bottom+_.bottom,left:w.left-C.left+_.left,right:C.right-w.right+_.right},x=t.modifiersData.offset;if(u===Jt&&x){var k=x[s];Object.keys(O).forEach((function(t){var e=[qt,Rt].indexOf(t)>=0?1:-1,i=[zt,Rt].indexOf(t)>=0?"y":"x";O[t]+=k[i]*e}))}return O}function ni(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=i.boundary,o=i.rootBoundary,r=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,c=void 0===l?ee:l,h=Fe(n),d=h?a?te:te.filter((function(t){return Fe(t)===h})):Qt,u=d.filter((function(t){return c.indexOf(t)>=0}));0===u.length&&(u=d);var f=u.reduce((function(e,i){return e[i]=ii(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[be(i)],e}),{});return Object.keys(f).sort((function(t,e){return f[t]-f[e]}))}const si={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name;if(!e.modifiersData[n]._skip){for(var s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0===r||r,l=i.fallbackPlacements,c=i.padding,h=i.boundary,d=i.rootBoundary,u=i.altBoundary,f=i.flipVariations,p=void 0===f||f,m=i.allowedAutoPlacements,g=e.options.placement,_=be(g),b=l||(_!==g&&p?function(t){if(be(t)===Kt)return[];var e=Ve(t);return[Qe(t),e,Qe(e)]}(g):[Ve(g)]),v=[g].concat(b).reduce((function(t,i){return t.concat(be(i)===Kt?ni(e,{placement:i,boundary:h,rootBoundary:d,padding:c,flipVariations:p,allowedAutoPlacements:m}):i)}),[]),y=e.rects.reference,w=e.rects.popper,A=new Map,E=!0,T=v[0],C=0;C=0,S=L?"width":"height",D=ii(e,{placement:O,boundary:h,rootBoundary:d,altBoundary:u,padding:c}),$=L?k?qt:Vt:k?Rt:zt;y[S]>w[S]&&($=Ve($));var I=Ve($),N=[];if(o&&N.push(D[x]<=0),a&&N.push(D[$]<=0,D[I]<=0),N.every((function(t){return t}))){T=O,E=!1;break}A.set(O,N)}if(E)for(var P=function(t){var e=v.find((function(e){var i=A.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return T=e,"break"},M=p?3:1;M>0&&"break"!==P(M);M--);e.placement!==T&&(e.modifiersData[n]._skip=!0,e.placement=T,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function oi(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function ri(t){return[zt,qt,Rt,Vt].some((function(e){return t[e]>=0}))}const ai={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,i=t.name,n=e.rects.reference,s=e.rects.popper,o=e.modifiersData.preventOverflow,r=ii(e,{elementContext:"reference"}),a=ii(e,{altBoundary:!0}),l=oi(r,n),c=oi(a,s,o),h=ri(l),d=ri(c);e.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:d},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":d})}},li={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.offset,o=void 0===s?[0,0]:s,r=ee.reduce((function(t,i){return t[i]=function(t,e,i){var n=be(t),s=[Vt,zt].indexOf(n)>=0?-1:1,o="function"==typeof i?i(Object.assign({},e,{placement:t})):i,r=o[0],a=o[1];return r=r||0,a=(a||0)*s,[Vt,qt].indexOf(n)>=0?{x:a,y:r}:{x:r,y:a}}(i,e.rects,o),t}),{}),a=r[e.placement],l=a.x,c=a.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=c),e.modifiersData[n]=r}},ci={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=ei({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},hi={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0!==r&&r,l=i.boundary,c=i.rootBoundary,h=i.altBoundary,d=i.padding,u=i.tether,f=void 0===u||u,p=i.tetherOffset,m=void 0===p?0:p,g=ii(e,{boundary:l,rootBoundary:c,padding:d,altBoundary:h}),_=be(e.placement),b=Fe(e.placement),v=!b,y=Ie(_),w="x"===y?"y":"x",A=e.modifiersData.popperOffsets,E=e.rects.reference,T=e.rects.popper,C="function"==typeof m?m(Object.assign({},e.rects,{placement:e.placement})):m,O="number"==typeof C?{mainAxis:C,altAxis:C}:Object.assign({mainAxis:0,altAxis:0},C),x=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,k={x:0,y:0};if(A){if(o){var L,S="y"===y?zt:Vt,D="y"===y?Rt:qt,$="y"===y?"height":"width",I=A[y],N=I+g[S],P=I-g[D],M=f?-T[$]/2:0,j=b===Xt?E[$]:T[$],F=b===Xt?-T[$]:-E[$],H=e.elements.arrow,W=f&&H?Ce(H):{width:0,height:0},B=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},z=B[S],R=B[D],q=Ne(0,E[$],W[$]),V=v?E[$]/2-M-q-z-O.mainAxis:j-q-z-O.mainAxis,K=v?-E[$]/2+M+q+R+O.mainAxis:F+q+R+O.mainAxis,Q=e.elements.arrow&&$e(e.elements.arrow),X=Q?"y"===y?Q.clientTop||0:Q.clientLeft||0:0,Y=null!=(L=null==x?void 0:x[y])?L:0,U=I+K-Y,G=Ne(f?ye(N,I+V-Y-X):N,I,f?ve(P,U):P);A[y]=G,k[y]=G-I}if(a){var J,Z="x"===y?zt:Vt,tt="x"===y?Rt:qt,et=A[w],it="y"===w?"height":"width",nt=et+g[Z],st=et-g[tt],ot=-1!==[zt,Vt].indexOf(_),rt=null!=(J=null==x?void 0:x[w])?J:0,at=ot?nt:et-E[it]-T[it]-rt+O.altAxis,lt=ot?et+E[it]+T[it]-rt-O.altAxis:st,ct=f&&ot?function(t,e,i){var n=Ne(t,e,i);return n>i?i:n}(at,et,lt):Ne(f?at:nt,et,f?lt:st);A[w]=ct,k[w]=ct-et}e.modifiersData[n]=k}},requiresIfExists:["offset"]};function di(t,e,i){void 0===i&&(i=!1);var n,s,o=me(e),r=me(e)&&function(t){var e=t.getBoundingClientRect(),i=we(e.width)/t.offsetWidth||1,n=we(e.height)/t.offsetHeight||1;return 1!==i||1!==n}(e),a=Le(e),l=Te(t,r,i),c={scrollLeft:0,scrollTop:0},h={x:0,y:0};return(o||!o&&!i)&&(("body"!==ue(e)||Ue(a))&&(c=(n=e)!==fe(n)&&me(n)?{scrollLeft:(s=n).scrollLeft,scrollTop:s.scrollTop}:Xe(n)),me(e)?((h=Te(e,!0)).x+=e.clientLeft,h.y+=e.clientTop):a&&(h.x=Ye(a))),{x:l.left+c.scrollLeft-h.x,y:l.top+c.scrollTop-h.y,width:l.width,height:l.height}}function ui(t){var e=new Map,i=new Set,n=[];function s(t){i.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!i.has(t)){var n=e.get(t);n&&s(n)}})),n.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){i.has(t.name)||s(t)})),n}var fi={placement:"bottom",modifiers:[],strategy:"absolute"};function pi(){for(var t=arguments.length,e=new Array(t),i=0;iNumber.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||"static"===this._config.display)&&(F.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,...g(this._config.popperConfig,[t])}}_selectMenuItem({key:t,target:e}){const i=z.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter((t=>a(t)));i.length&&b(i,e,t===Ti,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=qi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}static clearMenus(t){if(2===t.button||"keyup"===t.type&&"Tab"!==t.key)return;const e=z.find(Ni);for(const i of e){const e=qi.getInstance(i);if(!e||!1===e._config.autoClose)continue;const n=t.composedPath(),s=n.includes(e._menu);if(n.includes(e._element)||"inside"===e._config.autoClose&&!s||"outside"===e._config.autoClose&&s)continue;if(e._menu.contains(t.target)&&("keyup"===t.type&&"Tab"===t.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const o={relatedTarget:e._element};"click"===t.type&&(o.clickEvent=t),e._completeHide(o)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),i="Escape"===t.key,n=[Ei,Ti].includes(t.key);if(!n&&!i)return;if(e&&!i)return;t.preventDefault();const s=this.matches(Ii)?this:z.prev(this,Ii)[0]||z.next(this,Ii)[0]||z.findOne(Ii,t.delegateTarget.parentNode),o=qi.getOrCreateInstance(s);if(n)return t.stopPropagation(),o.show(),void o._selectMenuItem(t);o._isShown()&&(t.stopPropagation(),o.hide(),s.focus())}}N.on(document,Si,Ii,qi.dataApiKeydownHandler),N.on(document,Si,Pi,qi.dataApiKeydownHandler),N.on(document,Li,qi.clearMenus),N.on(document,Di,qi.clearMenus),N.on(document,Li,Ii,(function(t){t.preventDefault(),qi.getOrCreateInstance(this).toggle()})),m(qi);const Vi="backdrop",Ki="show",Qi=`mousedown.bs.${Vi}`,Xi={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},Yi={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Ui extends H{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return Xi}static get DefaultType(){return Yi}static get NAME(){return Vi}show(t){if(!this._config.isVisible)return void g(t);this._append();const e=this._getElement();this._config.isAnimated&&d(e),e.classList.add(Ki),this._emulateAnimation((()=>{g(t)}))}hide(t){this._config.isVisible?(this._getElement().classList.remove(Ki),this._emulateAnimation((()=>{this.dispose(),g(t)}))):g(t)}dispose(){this._isAppended&&(N.off(this._element,Qi),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=r(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),N.on(t,Qi,(()=>{g(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(t){_(t,this._getElement(),this._config.isAnimated)}}const Gi=".bs.focustrap",Ji=`focusin${Gi}`,Zi=`keydown.tab${Gi}`,tn="backward",en={autofocus:!0,trapElement:null},nn={autofocus:"boolean",trapElement:"element"};class sn extends H{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return en}static get DefaultType(){return nn}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),N.off(document,Gi),N.on(document,Ji,(t=>this._handleFocusin(t))),N.on(document,Zi,(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,N.off(document,Gi))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const i=z.focusableChildren(e);0===i.length?e.focus():this._lastTabNavDirection===tn?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?tn:"forward")}}const on=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",rn=".sticky-top",an="padding-right",ln="margin-right";class cn{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,an,(e=>e+t)),this._setElementAttributes(on,an,(e=>e+t)),this._setElementAttributes(rn,ln,(e=>e-t))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,an),this._resetElementAttributes(on,an),this._resetElementAttributes(rn,ln)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const n=this.getWidth();this._applyManipulationCallback(t,(t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+n)return;this._saveInitialAttribute(t,e);const s=window.getComputedStyle(t).getPropertyValue(e);t.style.setProperty(e,`${i(Number.parseFloat(s))}px`)}))}_saveInitialAttribute(t,e){const i=t.style.getPropertyValue(e);i&&F.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const i=F.getDataAttribute(t,e);null!==i?(F.removeDataAttribute(t,e),t.style.setProperty(e,i)):t.style.removeProperty(e)}))}_applyManipulationCallback(t,e){if(o(t))e(t);else for(const i of z.find(t,this._element))e(i)}}const hn=".bs.modal",dn=`hide${hn}`,un=`hidePrevented${hn}`,fn=`hidden${hn}`,pn=`show${hn}`,mn=`shown${hn}`,gn=`resize${hn}`,_n=`click.dismiss${hn}`,bn=`mousedown.dismiss${hn}`,vn=`keydown.dismiss${hn}`,yn=`click${hn}.data-api`,wn="modal-open",An="show",En="modal-static",Tn={backdrop:!0,focus:!0,keyboard:!0},Cn={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class On extends W{constructor(t,e){super(t,e),this._dialog=z.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new cn,this._addEventListeners()}static get Default(){return Tn}static get DefaultType(){return Cn}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||N.trigger(this._element,pn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(wn),this._adjustDialog(),this._backdrop.show((()=>this._showElement(t))))}hide(){this._isShown&&!this._isTransitioning&&(N.trigger(this._element,dn).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(An),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated())))}dispose(){N.off(window,hn),N.off(this._dialog,hn),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Ui({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new sn({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const e=z.findOne(".modal-body",this._dialog);e&&(e.scrollTop=0),d(this._element),this._element.classList.add(An),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,N.trigger(this._element,mn,{relatedTarget:t})}),this._dialog,this._isAnimated())}_addEventListeners(){N.on(this._element,vn,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():this._triggerBackdropTransition())})),N.on(window,gn,(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),N.on(this._element,bn,(t=>{N.one(this._element,_n,(e=>{this._element===t.target&&this._element===e.target&&("static"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())}))}))}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(wn),this._resetAdjustments(),this._scrollBar.reset(),N.trigger(this._element,fn)}))}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(N.trigger(this._element,un).defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;"hidden"===e||this._element.classList.contains(En)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(En),this._queueCallback((()=>{this._element.classList.remove(En),this._queueCallback((()=>{this._element.style.overflowY=e}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;if(i&&!t){const t=p()?"paddingLeft":"paddingRight";this._element.style[t]=`${e}px`}if(!i&&t){const t=p()?"paddingRight":"paddingLeft";this._element.style[t]=`${e}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=On.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}N.on(document,yn,'[data-bs-toggle="modal"]',(function(t){const e=z.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),N.one(e,pn,(t=>{t.defaultPrevented||N.one(e,fn,(()=>{a(this)&&this.focus()}))}));const i=z.findOne(".modal.show");i&&On.getInstance(i).hide(),On.getOrCreateInstance(e).toggle(this)})),R(On),m(On);const xn=".bs.offcanvas",kn=".data-api",Ln=`load${xn}${kn}`,Sn="show",Dn="showing",$n="hiding",In=".offcanvas.show",Nn=`show${xn}`,Pn=`shown${xn}`,Mn=`hide${xn}`,jn=`hidePrevented${xn}`,Fn=`hidden${xn}`,Hn=`resize${xn}`,Wn=`click${xn}${kn}`,Bn=`keydown.dismiss${xn}`,zn={backdrop:!0,keyboard:!0,scroll:!1},Rn={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class qn extends W{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return zn}static get DefaultType(){return Rn}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||N.trigger(this._element,Nn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new cn).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(Dn),this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(Sn),this._element.classList.remove(Dn),N.trigger(this._element,Pn,{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&(N.trigger(this._element,Mn).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add($n),this._backdrop.hide(),this._queueCallback((()=>{this._element.classList.remove(Sn,$n),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new cn).reset(),N.trigger(this._element,Fn)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new Ui({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():N.trigger(this._element,jn)}:null})}_initializeFocusTrap(){return new sn({trapElement:this._element})}_addEventListeners(){N.on(this._element,Bn,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():N.trigger(this._element,jn))}))}static jQueryInterface(t){return this.each((function(){const e=qn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}N.on(document,Wn,'[data-bs-toggle="offcanvas"]',(function(t){const e=z.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this))return;N.one(e,Fn,(()=>{a(this)&&this.focus()}));const i=z.findOne(In);i&&i!==e&&qn.getInstance(i).hide(),qn.getOrCreateInstance(e).toggle(this)})),N.on(window,Ln,(()=>{for(const t of z.find(In))qn.getOrCreateInstance(t).show()})),N.on(window,Hn,(()=>{for(const t of z.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&qn.getOrCreateInstance(t).hide()})),R(qn),m(qn);const Vn={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Kn=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Qn=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,Xn=(t,e)=>{const i=t.nodeName.toLowerCase();return e.includes(i)?!Kn.has(i)||Boolean(Qn.test(t.nodeValue)):e.filter((t=>t instanceof RegExp)).some((t=>t.test(i)))},Yn={allowList:Vn,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},Un={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},Gn={entry:"(string|element|function|null)",selector:"(string|element)"};class Jn extends H{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return Yn}static get DefaultType(){return Un}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map((t=>this._resolvePossibleFunction(t))).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[e,i]of Object.entries(this._config.content))this._setContent(t,i,e);const e=t.children[0],i=this._resolvePossibleFunction(this._config.extraClass);return i&&e.classList.add(...i.split(" ")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,i]of Object.entries(t))super._typeCheckConfig({selector:e,entry:i},Gn)}_setContent(t,e,i){const n=z.findOne(i,t);n&&((e=this._resolvePossibleFunction(e))?o(e)?this._putElementInTemplate(r(e),n):this._config.html?n.innerHTML=this._maybeSanitize(e):n.textContent=e:n.remove())}_maybeSanitize(t){return this._config.sanitize?function(t,e,i){if(!t.length)return t;if(i&&"function"==typeof i)return i(t);const n=(new window.DOMParser).parseFromString(t,"text/html"),s=[].concat(...n.body.querySelectorAll("*"));for(const t of s){const i=t.nodeName.toLowerCase();if(!Object.keys(e).includes(i)){t.remove();continue}const n=[].concat(...t.attributes),s=[].concat(e["*"]||[],e[i]||[]);for(const e of n)Xn(e,s)||t.removeAttribute(e.nodeName)}return n.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return g(t,[this])}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const Zn=new Set(["sanitize","allowList","sanitizeFn"]),ts="fade",es="show",is=".modal",ns="hide.bs.modal",ss="hover",os="focus",rs={AUTO:"auto",TOP:"top",RIGHT:p()?"left":"right",BOTTOM:"bottom",LEFT:p()?"right":"left"},as={allowList:Vn,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},ls={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class cs extends W{constructor(t,e){if(void 0===vi)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t,e),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return as}static get DefaultType(){return ls}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),N.off(this._element.closest(is),ns,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const t=N.trigger(this._element,this.constructor.eventName("show")),e=(c(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!e)return;this._disposePopper();const i=this._getTipElement();this._element.setAttribute("aria-describedby",i.getAttribute("id"));const{container:n}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(n.append(i),N.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(i),i.classList.add(es),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))N.on(t,"mouseover",h);this._queueCallback((()=>{N.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1}),this.tip,this._isAnimated())}hide(){if(this._isShown()&&!N.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove(es),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))N.off(t,"mouseover",h);this._activeTrigger.click=!1,this._activeTrigger[os]=!1,this._activeTrigger[ss]=!1,this._isHovered=null,this._queueCallback((()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),N.trigger(this._element,this.constructor.eventName("hidden")))}),this.tip,this._isAnimated())}}update(){this._popper&&this._popper.update()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(ts,es),e.classList.add(`bs-${this.constructor.NAME}-auto`);const i=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME).toString();return e.setAttribute("id",i),this._isAnimated()&&e.classList.add(ts),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new Jn({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{".tooltip-inner":this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(ts)}_isShown(){return this.tip&&this.tip.classList.contains(es)}_createPopper(t){const e=g(this._config.placement,[this,t,this._element]),i=rs[e.toUpperCase()];return bi(this._element,t,this._getPopperConfig(i))}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return g(t,[this._element])}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:t=>{this._getTipElement().setAttribute("data-popper-placement",t.state.placement)}}]};return{...e,...g(this._config.popperConfig,[e])}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if("click"===e)N.on(this._element,this.constructor.eventName("click"),this._config.selector,(t=>{this._initializeOnDelegatedTarget(t).toggle()}));else if("manual"!==e){const t=e===ss?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),i=e===ss?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");N.on(this._element,t,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusin"===t.type?os:ss]=!0,e._enter()})),N.on(this._element,i,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?os:ss]=e._element.contains(t.relatedTarget),e._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},N.on(this._element.closest(is),ns,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout((()=>{this._isHovered&&this.show()}),this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout((()=>{this._isHovered||this.hide()}),this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=F.getDataAttributes(this._element);for(const t of Object.keys(e))Zn.has(t)&&delete e[t];return t={...e,..."object"==typeof t&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=!1===t.container?document.body:r(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const[e,i]of Object.entries(this._config))this.constructor.Default[e]!==i&&(t[e]=i);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each((function(){const e=cs.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}m(cs);const hs={...cs.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},ds={...cs.DefaultType,content:"(null|string|element|function)"};class us extends cs{static get Default(){return hs}static get DefaultType(){return ds}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{".popover-header":this._getTitle(),".popover-body":this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each((function(){const e=us.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}m(us);const fs=".bs.scrollspy",ps=`activate${fs}`,ms=`click${fs}`,gs=`load${fs}.data-api`,_s="active",bs="[href]",vs=".nav-link",ys=`${vs}, .nav-item > ${vs}, .list-group-item`,ws={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},As={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Es extends W{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return ws}static get DefaultType(){return As}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=r(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,"string"==typeof t.threshold&&(t.threshold=t.threshold.split(",").map((t=>Number.parseFloat(t)))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(N.off(this._config.target,ms),N.on(this._config.target,ms,bs,(t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const i=this._rootElement||window,n=e.offsetTop-this._element.offsetTop;if(i.scrollTo)return void i.scrollTo({top:n,behavior:"smooth"});i.scrollTop=n}})))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver((t=>this._observerCallback(t)),t)}_observerCallback(t){const e=t=>this._targetLinks.get(`#${t.target.id}`),i=t=>{this._previousScrollData.visibleEntryTop=t.target.offsetTop,this._process(e(t))},n=(this._rootElement||document.documentElement).scrollTop,s=n>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=n;for(const o of t){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(o));continue}const t=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(s&&t){if(i(o),!n)return}else s||t||i(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=z.find(bs,this._config.target);for(const e of t){if(!e.hash||l(e))continue;const t=z.findOne(decodeURI(e.hash),this._element);a(t)&&(this._targetLinks.set(decodeURI(e.hash),e),this._observableSections.set(e.hash,t))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(_s),this._activateParents(t),N.trigger(this._element,ps,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))z.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add(_s);else for(const e of z.parents(t,".nav, .list-group"))for(const t of z.prev(e,ys))t.classList.add(_s)}_clearActiveClass(t){t.classList.remove(_s);const e=z.find(`${bs}.${_s}`,t);for(const t of e)t.classList.remove(_s)}static jQueryInterface(t){return this.each((function(){const e=Es.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}N.on(window,gs,(()=>{for(const t of z.find('[data-bs-spy="scroll"]'))Es.getOrCreateInstance(t)})),m(Es);const Ts=".bs.tab",Cs=`hide${Ts}`,Os=`hidden${Ts}`,xs=`show${Ts}`,ks=`shown${Ts}`,Ls=`click${Ts}`,Ss=`keydown${Ts}`,Ds=`load${Ts}`,$s="ArrowLeft",Is="ArrowRight",Ns="ArrowUp",Ps="ArrowDown",Ms="Home",js="End",Fs="active",Hs="fade",Ws="show",Bs=":not(.dropdown-toggle)",zs='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',Rs=`.nav-link${Bs}, .list-group-item${Bs}, [role="tab"]${Bs}, ${zs}`,qs=`.${Fs}[data-bs-toggle="tab"], .${Fs}[data-bs-toggle="pill"], .${Fs}[data-bs-toggle="list"]`;class Vs extends W{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),N.on(this._element,Ss,(t=>this._keydown(t))))}static get NAME(){return"tab"}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),i=e?N.trigger(e,Cs,{relatedTarget:t}):null;N.trigger(t,xs,{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){t&&(t.classList.add(Fs),this._activate(z.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),N.trigger(t,ks,{relatedTarget:e})):t.classList.add(Ws)}),t,t.classList.contains(Hs)))}_deactivate(t,e){t&&(t.classList.remove(Fs),t.blur(),this._deactivate(z.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),N.trigger(t,Os,{relatedTarget:e})):t.classList.remove(Ws)}),t,t.classList.contains(Hs)))}_keydown(t){if(![$s,Is,Ns,Ps,Ms,js].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=this._getChildren().filter((t=>!l(t)));let i;if([Ms,js].includes(t.key))i=e[t.key===Ms?0:e.length-1];else{const n=[Is,Ps].includes(t.key);i=b(e,t.target,n,!0)}i&&(i.focus({preventScroll:!0}),Vs.getOrCreateInstance(i).show())}_getChildren(){return z.find(Rs,this._parent)}_getActiveElem(){return this._getChildren().find((t=>this._elemIsActive(t)))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,"role","tablist");for(const t of e)this._setInitialAttributesOnChild(t)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),i=this._getOuterElement(t);t.setAttribute("aria-selected",e),i!==t&&this._setAttributeIfNotExists(i,"role","presentation"),e||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=z.getElementFromSelector(t);e&&(this._setAttributeIfNotExists(e,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(e,"aria-labelledby",`${t.id}`))}_toggleDropDown(t,e){const i=this._getOuterElement(t);if(!i.classList.contains("dropdown"))return;const n=(t,n)=>{const s=z.findOne(t,i);s&&s.classList.toggle(n,e)};n(".dropdown-toggle",Fs),n(".dropdown-menu",Ws),i.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(Fs)}_getInnerElement(t){return t.matches(Rs)?t:z.findOne(Rs,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}static jQueryInterface(t){return this.each((function(){const e=Vs.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}N.on(document,Ls,zs,(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this)||Vs.getOrCreateInstance(this).show()})),N.on(window,Ds,(()=>{for(const t of z.find(qs))Vs.getOrCreateInstance(t)})),m(Vs);const Ks=".bs.toast",Qs=`mouseover${Ks}`,Xs=`mouseout${Ks}`,Ys=`focusin${Ks}`,Us=`focusout${Ks}`,Gs=`hide${Ks}`,Js=`hidden${Ks}`,Zs=`show${Ks}`,to=`shown${Ks}`,eo="hide",io="show",no="showing",so={animation:"boolean",autohide:"boolean",delay:"number"},oo={animation:!0,autohide:!0,delay:5e3};class ro extends W{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return oo}static get DefaultType(){return so}static get NAME(){return"toast"}show(){N.trigger(this._element,Zs).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(eo),d(this._element),this._element.classList.add(io,no),this._queueCallback((()=>{this._element.classList.remove(no),N.trigger(this._element,to),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this.isShown()&&(N.trigger(this._element,Gs).defaultPrevented||(this._element.classList.add(no),this._queueCallback((()=>{this._element.classList.add(eo),this._element.classList.remove(no,io),N.trigger(this._element,Js)}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(io),super.dispose()}isShown(){return this._element.classList.contains(io)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){N.on(this._element,Qs,(t=>this._onInteraction(t,!0))),N.on(this._element,Xs,(t=>this._onInteraction(t,!1))),N.on(this._element,Ys,(t=>this._onInteraction(t,!0))),N.on(this._element,Us,(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=ro.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}return R(ro),m(ro),{Alert:Q,Button:Y,Carousel:xt,Collapse:Bt,Dropdown:qi,Modal:On,Offcanvas:qn,Popover:us,ScrollSpy:Es,Tab:Vs,Toast:ro,Tooltip:cs}})); +//# sourceMappingURL=bootstrap.bundle.min.js.map \ No newline at end of file diff --git a/v0.15.1/deps/bootstrap-5.3.1/bootstrap.bundle.min.js.map b/v0.15.1/deps/bootstrap-5.3.1/bootstrap.bundle.min.js.map new file mode 100644 index 0000000000..3863da8b7f --- /dev/null +++ b/v0.15.1/deps/bootstrap-5.3.1/bootstrap.bundle.min.js.map @@ -0,0 +1 @@ +{"version":3,"names":["elementMap","Map","Data","set","element","key","instance","has","instanceMap","get","size","console","error","Array","from","keys","remove","delete","TRANSITION_END","parseSelector","selector","window","CSS","escape","replace","match","id","triggerTransitionEnd","dispatchEvent","Event","isElement","object","jquery","nodeType","getElement","length","document","querySelector","isVisible","getClientRects","elementIsVisible","getComputedStyle","getPropertyValue","closedDetails","closest","summary","parentNode","isDisabled","Node","ELEMENT_NODE","classList","contains","disabled","hasAttribute","getAttribute","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","getjQuery","jQuery","body","DOMContentLoadedCallbacks","isRTL","dir","defineJQueryPlugin","plugin","callback","$","name","NAME","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","readyState","addEventListener","push","execute","possibleCallback","args","defaultValue","executeAfterTransition","transitionElement","waitForTransition","emulatedDuration","transitionDuration","transitionDelay","floatTransitionDuration","Number","parseFloat","floatTransitionDelay","split","getTransitionDurationFromElement","called","handler","target","removeEventListener","setTimeout","getNextActiveElement","list","activeElement","shouldGetNext","isCycleAllowed","listLength","index","indexOf","Math","max","min","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","Set","makeEventUid","uid","getElementEvents","findHandler","events","callable","delegationSelector","Object","values","find","event","normalizeParameters","originalTypeEvent","delegationFunction","isDelegated","typeEvent","getTypeEvent","addHandler","oneOff","wrapFunction","relatedTarget","delegateTarget","call","this","handlers","previousFunction","domElements","querySelectorAll","domElement","hydrateObj","EventHandler","off","type","apply","bootstrapDelegationHandler","bootstrapHandler","removeHandler","Boolean","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","entries","includes","on","one","inNamespace","isNamespace","startsWith","elementEvent","slice","keyHandlers","trigger","jQueryEvent","bubbles","nativeDispatch","defaultPrevented","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","evt","cancelable","preventDefault","obj","meta","value","_unused","defineProperty","configurable","normalizeData","toString","JSON","parse","decodeURIComponent","normalizeDataKey","chr","toLowerCase","Manipulator","setDataAttribute","setAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","bsKeys","dataset","filter","pureKey","charAt","getDataAttribute","Config","Default","DefaultType","Error","_getConfig","config","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","jsonConfig","constructor","configTypes","property","expectedTypes","valueType","prototype","RegExp","test","TypeError","toUpperCase","BaseComponent","super","_element","_config","DATA_KEY","dispose","EVENT_KEY","propertyName","getOwnPropertyNames","_queueCallback","isAnimated","getInstance","getOrCreateInstance","VERSION","eventName","getSelector","hrefAttribute","trim","SelectorEngine","concat","Element","findOne","children","child","matches","parents","ancestor","prev","previous","previousElementSibling","next","nextElementSibling","focusableChildren","focusables","map","join","el","getSelectorFromElement","getElementFromSelector","getMultipleElementsFromSelector","enableDismissTrigger","component","method","clickEvent","tagName","EVENT_CLOSE","EVENT_CLOSED","Alert","close","_destroyElement","each","data","undefined","SELECTOR_DATA_TOGGLE","Button","toggle","button","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","endCallback","leftCallback","rightCallback","Swipe","isSupported","_deltaX","_supportPointerEvents","PointerEvent","_initEvents","_start","_eventIsPointerPenTouch","clientX","touches","_end","_handleSwipe","_move","absDeltaX","abs","direction","add","pointerType","navigator","maxTouchPoints","DATA_API_KEY","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_DRAG_START","EVENT_LOAD_DATA_API","EVENT_CLICK_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_ACTIVE","SELECTOR_ACTIVE","SELECTOR_ITEM","SELECTOR_ACTIVE_ITEM","KEY_TO_DIRECTION","ArrowLeft","ArrowRight","interval","keyboard","pause","ride","touch","wrap","Carousel","_interval","_activeElement","_isSliding","touchTimeout","_swipeHelper","_indicatorsElement","_addEventListeners","cycle","_slide","nextWhenVisible","hidden","_clearInterval","_updateInterval","setInterval","_maybeEnableCycle","to","items","_getItems","activeIndex","_getItemIndex","_getActive","order","defaultInterval","_keydown","_addTouchEventListeners","img","swipeConfig","_directionToOrder","endCallBack","clearTimeout","_setActiveIndicatorElement","activeIndicator","newActiveIndicator","elementInterval","parseInt","isNext","nextElement","nextElementIndex","triggerEvent","_orderToDirection","isCycling","directionalClassName","orderClassName","completeCallBack","_isAnimated","clearInterval","carousel","slideIndex","carousels","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_SHOW","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_DEEPER_CHILDREN","parent","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElement","_initializeChildren","_addAriaAndCollapsedClass","_isShown","hide","show","activeChildren","_getFirstLevelChildren","activeInstance","dimension","_getDimension","style","scrollSize","complete","getBoundingClientRect","selected","triggerArray","isOpen","top","bottom","right","left","auto","basePlacements","start","end","clippingParents","viewport","popper","reference","variationPlacements","reduce","acc","placement","placements","beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite","modifierPhases","getNodeName","nodeName","getWindow","node","ownerDocument","defaultView","isHTMLElement","HTMLElement","isShadowRoot","applyStyles$1","enabled","phase","_ref","state","elements","forEach","styles","assign","effect","_ref2","initialStyles","position","options","strategy","margin","arrow","hasOwnProperty","attribute","requires","getBasePlacement","round","getUAString","uaData","userAgentData","brands","isArray","item","brand","version","userAgent","isLayoutViewport","includeScale","isFixedStrategy","clientRect","scaleX","scaleY","offsetWidth","width","height","visualViewport","addVisualOffsets","x","offsetLeft","y","offsetTop","getLayoutRect","rootNode","isSameNode","host","isTableElement","getDocumentElement","getParentNode","assignedSlot","getTrueOffsetParent","offsetParent","getOffsetParent","isFirefox","currentNode","css","transform","perspective","contain","willChange","getContainingBlock","getMainAxisFromPlacement","within","mathMax","mathMin","mergePaddingObject","paddingObject","expandToHashMap","hashMap","arrow$1","_state$modifiersData$","arrowElement","popperOffsets","modifiersData","basePlacement","axis","len","padding","rects","toPaddingObject","arrowRect","minProp","maxProp","endDiff","startDiff","arrowOffsetParent","clientSize","clientHeight","clientWidth","centerToReference","center","offset","axisProp","centerOffset","_options$element","requiresIfExists","getVariation","unsetSides","mapToStyles","_Object$assign2","popperRect","variation","offsets","gpuAcceleration","adaptive","roundOffsets","isFixed","_offsets$x","_offsets$y","_ref3","hasX","hasY","sideX","sideY","win","heightProp","widthProp","_Object$assign","commonStyles","_ref4","dpr","devicePixelRatio","roundOffsetsByDPR","computeStyles$1","_ref5","_options$gpuAccelerat","_options$adaptive","_options$roundOffsets","passive","eventListeners","_options$scroll","scroll","_options$resize","resize","scrollParents","scrollParent","update","hash","getOppositePlacement","matched","getOppositeVariationPlacement","getWindowScroll","scrollLeft","pageXOffset","scrollTop","pageYOffset","getWindowScrollBarX","isScrollParent","_getComputedStyle","overflow","overflowX","overflowY","getScrollParent","listScrollParents","_element$ownerDocumen","isBody","updatedList","rectToClientRect","rect","getClientRectFromMixedType","clippingParent","html","layoutViewport","getViewportRect","clientTop","clientLeft","getInnerBoundingClientRect","winScroll","scrollWidth","scrollHeight","getDocumentRect","computeOffsets","commonX","commonY","mainAxis","detectOverflow","_options","_options$placement","_options$strategy","_options$boundary","boundary","_options$rootBoundary","rootBoundary","_options$elementConte","elementContext","_options$altBoundary","altBoundary","_options$padding","altContext","clippingClientRect","mainClippingParents","clipperElement","getClippingParents","firstClippingParent","clippingRect","accRect","getClippingRect","contextElement","referenceClientRect","popperClientRect","elementClientRect","overflowOffsets","offsetData","multiply","computeAutoPlacement","flipVariations","_options$allowedAutoP","allowedAutoPlacements","allPlacements","allowedPlacements","overflows","sort","a","b","flip$1","_skip","_options$mainAxis","checkMainAxis","_options$altAxis","altAxis","checkAltAxis","specifiedFallbackPlacements","fallbackPlacements","_options$flipVariatio","preferredPlacement","oppositePlacement","getExpandedFallbackPlacements","referenceRect","checksMap","makeFallbackChecks","firstFittingPlacement","i","_basePlacement","isStartVariation","isVertical","mainVariationSide","altVariationSide","checks","every","check","_loop","_i","fittingPlacement","reset","getSideOffsets","preventedOffsets","isAnySideFullyClipped","some","side","hide$1","preventOverflow","referenceOverflow","popperAltOverflow","referenceClippingOffsets","popperEscapeOffsets","isReferenceHidden","hasPopperEscaped","offset$1","_options$offset","invertDistance","skidding","distance","distanceAndSkiddingToXY","_data$state$placement","popperOffsets$1","preventOverflow$1","_options$tether","tether","_options$tetherOffset","tetherOffset","isBasePlacement","tetherOffsetValue","normalizedTetherOffsetValue","offsetModifierState","_offsetModifierState$","mainSide","altSide","additive","minLen","maxLen","arrowPaddingObject","arrowPaddingMin","arrowPaddingMax","arrowLen","minOffset","maxOffset","clientOffset","offsetModifierValue","tetherMax","preventedOffset","_offsetModifierState$2","_mainSide","_altSide","_offset","_len","_min","_max","isOriginSide","_offsetModifierValue","_tetherMin","_tetherMax","_preventedOffset","v","withinMaxClamp","getCompositeRect","elementOrVirtualElement","isOffsetParentAnElement","offsetParentIsScaled","isElementScaled","modifiers","visited","result","modifier","dep","depModifier","DEFAULT_OPTIONS","areValidElements","arguments","_key","popperGenerator","generatorOptions","_generatorOptions","_generatorOptions$def","defaultModifiers","_generatorOptions$def2","defaultOptions","pending","orderedModifiers","effectCleanupFns","isDestroyed","setOptions","setOptionsAction","cleanupModifierEffects","merged","orderModifiers","current","existing","m","_ref$options","cleanupFn","forceUpdate","_state$elements","_state$orderedModifie","_state$orderedModifie2","Promise","resolve","then","destroy","onFirstUpdate","createPopper","computeStyles","applyStyles","flip","ARROW_UP_KEY","ARROW_DOWN_KEY","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","SELECTOR_DATA_TOGGLE_SHOWN","SELECTOR_MENU","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","autoClose","display","popperConfig","Dropdown","_popper","_parent","_menu","_inNavbar","_detectNavbar","_createPopper","focus","_completeHide","Popper","referenceElement","_getPopperConfig","_getPlacement","parentDropdown","isEnd","_getOffset","popperData","defaultBsPopperConfig","_selectMenuItem","clearMenus","openToggles","context","composedPath","isMenuTarget","dataApiKeydownHandler","isInput","isEscapeEvent","isUpOrDownEvent","getToggleButton","stopPropagation","EVENT_MOUSEDOWN","className","clickCallback","rootElement","Backdrop","_isAppended","_append","_getElement","_emulateAnimation","backdrop","createElement","append","EVENT_FOCUSIN","EVENT_KEYDOWN_TAB","TAB_NAV_BACKWARD","autofocus","trapElement","FocusTrap","_isActive","_lastTabNavDirection","activate","_handleFocusin","_handleKeydown","deactivate","shiftKey","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","PROPERTY_PADDING","PROPERTY_MARGIN","ScrollBarHelper","getWidth","documentWidth","innerWidth","_disableOverFlow","_setElementAttributes","calculatedValue","_resetElementAttributes","isOverflowing","_saveInitialAttribute","styleProperty","scrollbarWidth","_applyManipulationCallback","setProperty","actualValue","removeProperty","callBack","sel","EVENT_HIDE_PREVENTED","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_MOUSEDOWN_DISMISS","EVENT_KEYDOWN_DISMISS","CLASS_NAME_OPEN","CLASS_NAME_STATIC","Modal","_dialog","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","_scrollBar","_adjustDialog","_showElement","_hideModal","handleUpdate","modalBody","transitionComplete","_triggerBackdropTransition","event2","_resetAdjustments","isModalOverflowing","initialOverflowY","isBodyOverflowing","paddingLeft","paddingRight","showEvent","alreadyOpen","CLASS_NAME_SHOWING","CLASS_NAME_HIDING","OPEN_SELECTOR","Offcanvas","blur","completeCallback","DefaultAllowlist","area","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","uriAttributes","SAFE_URL_PATTERN","allowedAttribute","allowedAttributeList","attributeName","nodeValue","attributeRegex","regex","allowList","content","extraClass","sanitize","sanitizeFn","template","DefaultContentType","entry","TemplateFactory","getContent","_resolvePossibleFunction","hasContent","changeContent","_checkContent","toHtml","templateWrapper","innerHTML","_maybeSanitize","text","_setContent","arg","templateElement","_putElementInTemplate","textContent","unsafeHtml","sanitizeFunction","createdDocument","DOMParser","parseFromString","elementName","attributeList","allowedAttributes","sanitizeHtml","DISALLOWED_ATTRIBUTES","CLASS_NAME_FADE","SELECTOR_MODAL","EVENT_MODAL_HIDE","TRIGGER_HOVER","TRIGGER_FOCUS","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","animation","container","customClass","delay","title","Tooltip","_isEnabled","_timeout","_isHovered","_activeTrigger","_templateFactory","_newContent","tip","_setListeners","_fixTitle","enable","disable","toggleEnabled","click","_leave","_enter","_hideModalHandler","_disposePopper","_isWithContent","isInTheDom","_getTipElement","_isWithActiveTrigger","_getTitle","_createTipElement","_getContentForTemplate","_getTemplateFactory","tipId","prefix","floor","random","getElementById","getUID","setContent","_initializeOnDelegatedTarget","_getDelegateConfig","attachment","triggers","eventIn","eventOut","_setTimeout","timeout","dataAttributes","dataAttribute","Popover","_getContent","EVENT_ACTIVATE","EVENT_CLICK","SELECTOR_TARGET_LINKS","SELECTOR_NAV_LINKS","SELECTOR_LINK_ITEMS","rootMargin","smoothScroll","threshold","ScrollSpy","_targetLinks","_observableSections","_rootElement","_activeTarget","_observer","_previousScrollData","visibleEntryTop","parentScrollTop","refresh","_initializeTargetsAndObservables","_maybeEnableSmoothScroll","disconnect","_getNewObserver","section","observe","observableSection","scrollTo","behavior","IntersectionObserver","_observerCallback","targetElement","_process","userScrollsDown","isIntersecting","_clearActiveClass","entryIsLowerThanPrevious","targetLinks","anchor","decodeURI","_activateParents","listGroup","activeNodes","spy","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","HOME_KEY","END_KEY","NOT_SELECTOR_DROPDOWN_TOGGLE","SELECTOR_INNER_ELEM","SELECTOR_DATA_TOGGLE_ACTIVE","Tab","_setInitialAttributes","_getChildren","innerElem","_elemIsActive","active","_getActiveElem","hideEvent","_deactivate","_activate","relatedElem","_toggleDropDown","nextActiveElement","preventScroll","_setAttributeIfNotExists","_setInitialAttributesOnChild","_getInnerElement","isActive","outerElem","_getOuterElement","_setInitialAttributesOnTargetPanel","open","EVENT_MOUSEOVER","EVENT_MOUSEOUT","EVENT_FOCUSOUT","CLASS_NAME_HIDE","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","isShown","_onInteraction","isInteracting"],"sources":["../../js/src/dom/data.js","../../js/src/util/index.js","../../js/src/dom/event-handler.js","../../js/src/dom/manipulator.js","../../js/src/util/config.js","../../js/src/base-component.js","../../js/src/dom/selector-engine.js","../../js/src/util/component-functions.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/util/swipe.js","../../js/src/carousel.js","../../js/src/collapse.js","../../node_modules/@popperjs/core/lib/enums.js","../../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../../node_modules/@popperjs/core/lib/modifiers/applyStyles.js","../../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../../node_modules/@popperjs/core/lib/utils/math.js","../../node_modules/@popperjs/core/lib/utils/userAgent.js","../../node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","../../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","../../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","../../node_modules/@popperjs/core/lib/dom-utils/contains.js","../../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","../../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","../../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","../../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","../../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","../../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../../node_modules/@popperjs/core/lib/utils/within.js","../../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","../../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","../../node_modules/@popperjs/core/lib/utils/expandToHashMap.js","../../node_modules/@popperjs/core/lib/modifiers/arrow.js","../../node_modules/@popperjs/core/lib/utils/getVariation.js","../../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","../../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","../../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","../../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","../../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","../../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","../../node_modules/@popperjs/core/lib/utils/rectToClientRect.js","../../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","../../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","../../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","../../node_modules/@popperjs/core/lib/utils/computeOffsets.js","../../node_modules/@popperjs/core/lib/utils/detectOverflow.js","../../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../../node_modules/@popperjs/core/lib/modifiers/flip.js","../../node_modules/@popperjs/core/lib/modifiers/hide.js","../../node_modules/@popperjs/core/lib/modifiers/offset.js","../../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","../../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","../../node_modules/@popperjs/core/lib/utils/getAltAxis.js","../../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","../../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","../../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","../../node_modules/@popperjs/core/lib/utils/orderModifiers.js","../../node_modules/@popperjs/core/lib/createPopper.js","../../node_modules/@popperjs/core/lib/utils/debounce.js","../../node_modules/@popperjs/core/lib/utils/mergeByName.js","../../node_modules/@popperjs/core/lib/popper-lite.js","../../node_modules/@popperjs/core/lib/popper.js","../../js/src/dropdown.js","../../js/src/util/backdrop.js","../../js/src/util/focustrap.js","../../js/src/util/scrollbar.js","../../js/src/modal.js","../../js/src/offcanvas.js","../../js/src/util/sanitizer.js","../../js/src/util/template-factory.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/index.umd.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map()\n\nexport default {\n set(element, key, instance) {\n if (!elementMap.has(element)) {\n elementMap.set(element, new Map())\n }\n\n const instanceMap = elementMap.get(element)\n\n // make it clear we only want one instance per element\n // can be removed later when multiple key/instances are fine to be used\n if (!instanceMap.has(key) && instanceMap.size !== 0) {\n // eslint-disable-next-line no-console\n console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n return\n }\n\n instanceMap.set(key, instance)\n },\n\n get(element, key) {\n if (elementMap.has(element)) {\n return elementMap.get(element).get(key) || null\n }\n\n return null\n },\n\n remove(element, key) {\n if (!elementMap.has(element)) {\n return\n }\n\n const instanceMap = elementMap.get(element)\n\n instanceMap.delete(key)\n\n // free up element references if there are no instances left for an element\n if (instanceMap.size === 0) {\n elementMap.delete(element)\n }\n }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1_000_000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n/**\n * Properly escape IDs selectors to handle weird IDs\n * @param {string} selector\n * @returns {string}\n */\nconst parseSelector = selector => {\n if (selector && window.CSS && window.CSS.escape) {\n // document.querySelector needs escaping to handle IDs (html5+) containing for instance /\n selector = selector.replace(/#([^\\s\"#']+)/g, (match, id) => `#${CSS.escape(id)}`)\n }\n\n return selector\n}\n\n// Shout-out Angus Croll (https://goo.gl/pxwQGp)\nconst toType = object => {\n if (object === null || object === undefined) {\n return `${object}`\n }\n\n return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * Public Util API\n */\n\nconst getUID = prefix => {\n do {\n prefix += Math.floor(Math.random() * MAX_UID)\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = object => {\n if (!object || typeof object !== 'object') {\n return false\n }\n\n if (typeof object.jquery !== 'undefined') {\n object = object[0]\n }\n\n return typeof object.nodeType !== 'undefined'\n}\n\nconst getElement = object => {\n // it's a jQuery object or a node element\n if (isElement(object)) {\n return object.jquery ? object[0] : object\n }\n\n if (typeof object === 'string' && object.length > 0) {\n return document.querySelector(parseSelector(object))\n }\n\n return null\n}\n\nconst isVisible = element => {\n if (!isElement(element) || element.getClientRects().length === 0) {\n return false\n }\n\n const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n // Handle `details` element as its content may falsie appear visible when it is closed\n const closedDetails = element.closest('details:not([open])')\n\n if (!closedDetails) {\n return elementIsVisible\n }\n\n if (closedDetails !== element) {\n const summary = element.closest('summary')\n if (summary && summary.parentNode !== closedDetails) {\n return false\n }\n\n if (summary === null) {\n return false\n }\n }\n\n return elementIsVisible\n}\n\nconst isDisabled = element => {\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n return true\n }\n\n if (element.classList.contains('disabled')) {\n return true\n }\n\n if (typeof element.disabled !== 'undefined') {\n return element.disabled\n }\n\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n element.offsetHeight // eslint-disable-line no-unused-expressions\n}\n\nconst getjQuery = () => {\n if (window.jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n return window.jQuery\n }\n\n return null\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n if (document.readyState === 'loading') {\n // add listener on the first call when the document is in loading state\n if (!DOMContentLoadedCallbacks.length) {\n document.addEventListener('DOMContentLoaded', () => {\n for (const callback of DOMContentLoadedCallbacks) {\n callback()\n }\n })\n }\n\n DOMContentLoadedCallbacks.push(callback)\n } else {\n callback()\n }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst defineJQueryPlugin = plugin => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const name = plugin.NAME\n const JQUERY_NO_CONFLICT = $.fn[name]\n $.fn[name] = plugin.jQueryInterface\n $.fn[name].Constructor = plugin\n $.fn[name].noConflict = () => {\n $.fn[name] = JQUERY_NO_CONFLICT\n return plugin.jQueryInterface\n }\n }\n })\n}\n\nconst execute = (possibleCallback, args = [], defaultValue = possibleCallback) => {\n return typeof possibleCallback === 'function' ? possibleCallback(...args) : defaultValue\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n if (!waitForTransition) {\n execute(callback)\n return\n }\n\n const durationPadding = 5\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n let called = false\n\n const handler = ({ target }) => {\n if (target !== transitionElement) {\n return\n }\n\n called = true\n transitionElement.removeEventListener(TRANSITION_END, handler)\n execute(callback)\n }\n\n transitionElement.addEventListener(TRANSITION_END, handler)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(transitionElement)\n }\n }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list The list of elements\n * @param activeElement The active element\n * @param shouldGetNext Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n const listLength = list.length\n let index = list.indexOf(activeElement)\n\n // if the element does not exist in the list return an element\n // depending on the direction and if cycle is allowed\n if (index === -1) {\n return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]\n }\n\n index += shouldGetNext ? 1 : -1\n\n if (isCycleAllowed) {\n index = (index + listLength) % listLength\n }\n\n return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n defineJQueryPlugin,\n execute,\n executeAfterTransition,\n findShadowRoot,\n getElement,\n getjQuery,\n getNextActiveElement,\n getTransitionDurationFromElement,\n getUID,\n isDisabled,\n isElement,\n isRTL,\n isVisible,\n noop,\n onDOMContentLoaded,\n parseSelector,\n reflow,\n triggerTransitionEnd,\n toType\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index.js'\n\n/**\n * Constants\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\n\nconst nativeEvents = new Set([\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n])\n\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getElementEvents(element) {\n const uid = makeEventUid(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n hydrateObj(event, { delegateTarget: element })\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = target.parentNode) {\n for (const domElement of domElements) {\n if (domElement !== target) {\n continue\n }\n\n hydrateObj(event, { delegateTarget: target })\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, selector, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n}\n\nfunction findHandler(events, callable, delegationSelector = null) {\n return Object.values(events)\n .find(event => event.callable === callable && event.delegationSelector === delegationSelector)\n}\n\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n const isDelegated = typeof handler === 'string'\n // TODO: tooltip passes `false` instead of selector, so we need to check\n const callable = isDelegated ? delegationFunction : (handler || delegationFunction)\n let typeEvent = getTypeEvent(originalTypeEvent)\n\n if (!nativeEvents.has(typeEvent)) {\n typeEvent = originalTypeEvent\n }\n\n return [isDelegated, callable, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n\n // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n if (originalTypeEvent in customEvents) {\n const wrapFunction = fn => {\n return function (event) {\n if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\n return fn.call(this, event)\n }\n }\n }\n\n callable = wrapFunction(callable)\n }\n\n const events = getElementEvents(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null)\n\n if (previousFunction) {\n previousFunction.oneOff = previousFunction.oneOff && oneOff\n\n return\n }\n\n const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = isDelegated ?\n bootstrapDelegationHandler(element, handler, callable) :\n bootstrapHandler(element, callable)\n\n fn.delegationSelector = isDelegated ? handler : null\n fn.callable = callable\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, isDelegated)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {}\n\n for (const [handlerKey, event] of Object.entries(storeElementEvent)) {\n if (handlerKey.includes(namespace)) {\n removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n }\n }\n}\n\nfunction getTypeEvent(event) {\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n event = event.replace(stripNameRegex, '')\n return customEvents[event] || event\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, false)\n },\n\n one(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFunction) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getElementEvents(element)\n const storeElementEvent = events[typeEvent] || {}\n const isNamespace = originalTypeEvent.startsWith('.')\n\n if (typeof callable !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!Object.keys(storeElementEvent).length) {\n return\n }\n\n removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null)\n return\n }\n\n if (isNamespace) {\n for (const elementEvent of Object.keys(events)) {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n }\n }\n\n for (const [keyHandlers, event] of Object.entries(storeElementEvent)) {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n }\n }\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const $ = getjQuery()\n const typeEvent = getTypeEvent(event)\n const inNamespace = event !== typeEvent\n\n let jQueryEvent = null\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n const evt = hydrateObj(new Event(event, { bubbles, cancelable: true }), args)\n\n if (defaultPrevented) {\n evt.preventDefault()\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && jQueryEvent) {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nfunction hydrateObj(obj, meta = {}) {\n for (const [key, value] of Object.entries(meta)) {\n try {\n obj[key] = value\n } catch {\n Object.defineProperty(obj, key, {\n configurable: true,\n get() {\n return value\n }\n })\n }\n }\n\n return obj\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n if (value === 'true') {\n return true\n }\n\n if (value === 'false') {\n return false\n }\n\n if (value === Number(value).toString()) {\n return Number(value)\n }\n\n if (value === '' || value === 'null') {\n return null\n }\n\n if (typeof value !== 'string') {\n return value\n }\n\n try {\n return JSON.parse(decodeURIComponent(value))\n } catch {\n return value\n }\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {}\n const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'))\n\n for (const key of bsKeys) {\n let pureKey = key.replace(/^bs/, '')\n pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length)\n attributes[pureKey] = normalizeData(element.dataset[key])\n }\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport { isElement, toType } from './index.js'\n\n/**\n * Class definition\n */\n\nclass Config {\n // Getters\n static get Default() {\n return {}\n }\n\n static get DefaultType() {\n return {}\n }\n\n static get NAME() {\n throw new Error('You have to implement the static method \"NAME\", for each component!')\n }\n\n _getConfig(config) {\n config = this._mergeConfigObj(config)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n _configAfterMerge(config) {\n return config\n }\n\n _mergeConfigObj(config, element) {\n const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {} // try to parse\n\n return {\n ...this.constructor.Default,\n ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),\n ...(typeof config === 'object' ? config : {})\n }\n }\n\n _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n for (const [property, expectedTypes] of Object.entries(configTypes)) {\n const value = config[property]\n const valueType = isElement(value) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n )\n }\n }\n }\n}\n\nexport default Config\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport Config from './util/config.js'\nimport { executeAfterTransition, getElement } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst VERSION = '5.3.1'\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n constructor(element, config) {\n super()\n\n element = getElement(element)\n if (!element) {\n return\n }\n\n this._element = element\n this._config = this._getConfig(config)\n\n Data.set(this._element, this.constructor.DATA_KEY, this)\n }\n\n // Public\n dispose() {\n Data.remove(this._element, this.constructor.DATA_KEY)\n EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n for (const propertyName of Object.getOwnPropertyNames(this)) {\n this[propertyName] = null\n }\n }\n\n _queueCallback(callback, element, isAnimated = true) {\n executeAfterTransition(callback, element, isAnimated)\n }\n\n _getConfig(config) {\n config = this._mergeConfigObj(config, this._element)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n // Static\n static getInstance(element) {\n return Data.get(getElement(element), this.DATA_KEY)\n }\n\n static getOrCreateInstance(element, config = {}) {\n return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n }\n\n static get VERSION() {\n return VERSION\n }\n\n static get DATA_KEY() {\n return `bs.${this.NAME}`\n }\n\n static get EVENT_KEY() {\n return `.${this.DATA_KEY}`\n }\n\n static eventName(name) {\n return `${name}${this.EVENT_KEY}`\n }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible, parseSelector } from '../util/index.js'\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-bs-target')\n\n if (!selector || selector === '#') {\n let hrefAttribute = element.getAttribute('href')\n\n // The only valid content that could double as a selector are IDs or classes,\n // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n // `document.querySelector` will rightfully complain it is invalid.\n // See https://github.com/twbs/bootstrap/issues/32273\n if (!hrefAttribute || (!hrefAttribute.includes('#') && !hrefAttribute.startsWith('.'))) {\n return null\n }\n\n // Just in case some CMS puts out a full URL with the anchor appended\n if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n hrefAttribute = `#${hrefAttribute.split('#')[1]}`\n }\n\n selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null\n }\n\n return parseSelector(selector)\n}\n\nconst SelectorEngine = {\n find(selector, element = document.documentElement) {\n return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n },\n\n findOne(selector, element = document.documentElement) {\n return Element.prototype.querySelector.call(element, selector)\n },\n\n children(element, selector) {\n return [].concat(...element.children).filter(child => child.matches(selector))\n },\n\n parents(element, selector) {\n const parents = []\n let ancestor = element.parentNode.closest(selector)\n\n while (ancestor) {\n parents.push(ancestor)\n ancestor = ancestor.parentNode.closest(selector)\n }\n\n return parents\n },\n\n prev(element, selector) {\n let previous = element.previousElementSibling\n\n while (previous) {\n if (previous.matches(selector)) {\n return [previous]\n }\n\n previous = previous.previousElementSibling\n }\n\n return []\n },\n // TODO: this is now unused; remove later along with prev()\n next(element, selector) {\n let next = element.nextElementSibling\n\n while (next) {\n if (next.matches(selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n },\n\n focusableChildren(element) {\n const focusables = [\n 'a',\n 'button',\n 'input',\n 'textarea',\n 'select',\n 'details',\n '[tabindex]',\n '[contenteditable=\"true\"]'\n ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',')\n\n return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\n },\n\n getSelectorFromElement(element) {\n const selector = getSelector(element)\n\n if (selector) {\n return SelectorEngine.findOne(selector) ? selector : null\n }\n\n return null\n },\n\n getElementFromSelector(element) {\n const selector = getSelector(element)\n\n return selector ? SelectorEngine.findOne(selector) : null\n },\n\n getMultipleElementsFromSelector(element) {\n const selector = getSelector(element)\n\n return selector ? SelectorEngine.find(selector) : []\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isDisabled } from './index.js'\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n const clickEvent = `click.dismiss${component.EVENT_KEY}`\n const name = component.NAME\n\n EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`)\n const instance = component.getOrCreateInstance(target)\n\n // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n instance[method]()\n })\n}\n\nexport {\n enableDismissTrigger\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { defineJQueryPlugin } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'alert'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * Class definition\n */\n\nclass Alert extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME\n }\n\n // Public\n close() {\n const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE)\n\n if (closeEvent.defaultPrevented) {\n return\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n const isAnimated = this._element.classList.contains(CLASS_NAME_FADE)\n this._queueCallback(() => this._destroyElement(), this._element, isAnimated)\n }\n\n // Private\n _destroyElement() {\n this._element.remove()\n EventHandler.trigger(this._element, EVENT_CLOSED)\n this.dispose()\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Alert.getOrCreateInstance(this)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Alert, 'close')\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Alert)\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { defineJQueryPlugin } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'button'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]'\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * Class definition\n */\n\nclass Button extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE))\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Button.getOrCreateInstance(this)\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n event.preventDefault()\n\n const button = event.target.closest(SELECTOR_DATA_TOGGLE)\n const data = Button.getOrCreateInstance(button)\n\n data.toggle()\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Button)\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport { execute } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'swipe'\nconst EVENT_KEY = '.bs.swipe'\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n endCallback: null,\n leftCallback: null,\n rightCallback: null\n}\n\nconst DefaultType = {\n endCallback: '(function|null)',\n leftCallback: '(function|null)',\n rightCallback: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n constructor(element, config) {\n super()\n this._element = element\n\n if (!element || !Swipe.isSupported()) {\n return\n }\n\n this._config = this._getConfig(config)\n this._deltaX = 0\n this._supportPointerEvents = Boolean(window.PointerEvent)\n this._initEvents()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n }\n\n // Private\n _start(event) {\n if (!this._supportPointerEvents) {\n this._deltaX = event.touches[0].clientX\n\n return\n }\n\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX\n }\n }\n\n _end(event) {\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX - this._deltaX\n }\n\n this._handleSwipe()\n execute(this._config.endCallback)\n }\n\n _move(event) {\n this._deltaX = event.touches && event.touches.length > 1 ?\n 0 :\n event.touches[0].clientX - this._deltaX\n }\n\n _handleSwipe() {\n const absDeltaX = Math.abs(this._deltaX)\n\n if (absDeltaX <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltaX / this._deltaX\n\n this._deltaX = 0\n\n if (!direction) {\n return\n }\n\n execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback)\n }\n\n _initEvents() {\n if (this._supportPointerEvents) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event))\n EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event))\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event))\n EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event))\n }\n }\n\n _eventIsPointerPenTouch(event) {\n return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\n }\n\n // Static\n static isSupported() {\n return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n }\n}\n\nexport default Swipe\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n defineJQueryPlugin,\n getNextActiveElement,\n isRTL,\n isVisible,\n reflow,\n triggerTransitionEnd\n} from './util/index.js'\nimport Swipe from './util/swipe.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\nconst ORDER_NEXT = 'next'\nconst ORDER_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_END = 'carousel-item-end'\nconst CLASS_NAME_START = 'carousel-item-start'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]'\n\nconst KEY_TO_DIRECTION = {\n [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n}\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n pause: 'hover',\n ride: false,\n touch: true,\n wrap: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)', // TODO:v6 remove boolean support\n keyboard: 'boolean',\n pause: '(string|boolean)',\n ride: '(boolean|string)',\n touch: 'boolean',\n wrap: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Carousel extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._interval = null\n this._activeElement = null\n this._isSliding = false\n this.touchTimeout = null\n this._swipeHelper = null\n\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n this._addEventListeners()\n\n if (this._config.ride === CLASS_NAME_CAROUSEL) {\n this.cycle()\n }\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n next() {\n this._slide(ORDER_NEXT)\n }\n\n nextWhenVisible() {\n // FIXME TODO use `document.visibilityState`\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n this._slide(ORDER_PREV)\n }\n\n pause() {\n if (this._isSliding) {\n triggerTransitionEnd(this._element)\n }\n\n this._clearInterval()\n }\n\n cycle() {\n this._clearInterval()\n this._updateInterval()\n\n this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval)\n }\n\n _maybeEnableCycle() {\n if (!this._config.ride) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.cycle())\n return\n }\n\n this.cycle()\n }\n\n to(index) {\n const items = this._getItems()\n if (index > items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n return\n }\n\n const activeIndex = this._getItemIndex(this._getActive())\n if (activeIndex === index) {\n return\n }\n\n const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV\n\n this._slide(order, items[index])\n }\n\n dispose() {\n if (this._swipeHelper) {\n this._swipeHelper.dispose()\n }\n\n super.dispose()\n }\n\n // Private\n _configAfterMerge(config) {\n config.defaultInterval = config.interval\n return config\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler.on(this._element, EVENT_MOUSEENTER, () => this.pause())\n EventHandler.on(this._element, EVENT_MOUSELEAVE, () => this._maybeEnableCycle())\n }\n\n if (this._config.touch && Swipe.isSupported()) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault())\n }\n\n const endCallBack = () => {\n if (this._config.pause !== 'hover') {\n return\n }\n\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n\n this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n\n const swipeConfig = {\n leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n endCallback: endCallBack\n }\n\n this._swipeHelper = new Swipe(this._element, swipeConfig)\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n const direction = KEY_TO_DIRECTION[event.key]\n if (direction) {\n event.preventDefault()\n this._slide(this._directionToOrder(direction))\n }\n }\n\n _getItemIndex(element) {\n return this._getItems().indexOf(element)\n }\n\n _setActiveIndicatorElement(index) {\n if (!this._indicatorsElement) {\n return\n }\n\n const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\n\n activeIndicator.classList.remove(CLASS_NAME_ACTIVE)\n activeIndicator.removeAttribute('aria-current')\n\n const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\"${index}\"]`, this._indicatorsElement)\n\n if (newActiveIndicator) {\n newActiveIndicator.classList.add(CLASS_NAME_ACTIVE)\n newActiveIndicator.setAttribute('aria-current', 'true')\n }\n }\n\n _updateInterval() {\n const element = this._activeElement || this._getActive()\n\n if (!element) {\n return\n }\n\n const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\n\n this._config.interval = elementInterval || this._config.defaultInterval\n }\n\n _slide(order, element = null) {\n if (this._isSliding) {\n return\n }\n\n const activeElement = this._getActive()\n const isNext = order === ORDER_NEXT\n const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap)\n\n if (nextElement === activeElement) {\n return\n }\n\n const nextElementIndex = this._getItemIndex(nextElement)\n\n const triggerEvent = eventName => {\n return EventHandler.trigger(this._element, eventName, {\n relatedTarget: nextElement,\n direction: this._orderToDirection(order),\n from: this._getItemIndex(activeElement),\n to: nextElementIndex\n })\n }\n\n const slideEvent = triggerEvent(EVENT_SLIDE)\n\n if (slideEvent.defaultPrevented) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n // TODO: change tests that use empty divs to avoid this check\n return\n }\n\n const isCycling = Boolean(this._interval)\n this.pause()\n\n this._isSliding = true\n\n this._setActiveIndicatorElement(nextElementIndex)\n this._activeElement = nextElement\n\n const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const completeCallBack = () => {\n nextElement.classList.remove(directionalClassName, orderClassName)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n this._isSliding = false\n\n triggerEvent(EVENT_SLID)\n }\n\n this._queueCallback(completeCallBack, activeElement, this._isAnimated())\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_SLIDE)\n }\n\n _getActive() {\n return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n }\n\n _getItems() {\n return SelectorEngine.find(SELECTOR_ITEM, this._element)\n }\n\n _clearInterval() {\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n }\n\n _directionToOrder(direction) {\n if (isRTL()) {\n return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\n }\n\n return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\n }\n\n _orderToDirection(order) {\n if (isRTL()) {\n return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\n }\n\n return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Carousel.getOrCreateInstance(this, config)\n\n if (typeof config === 'number') {\n data.to(config)\n return\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, function (event) {\n const target = SelectorEngine.getElementFromSelector(this)\n\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n event.preventDefault()\n\n const carousel = Carousel.getOrCreateInstance(target)\n const slideIndex = this.getAttribute('data-bs-slide-to')\n\n if (slideIndex) {\n carousel.to(slideIndex)\n carousel._maybeEnableCycle()\n return\n }\n\n if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n carousel.next()\n carousel._maybeEnableCycle()\n return\n }\n\n carousel.prev()\n carousel._maybeEnableCycle()\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n for (const carousel of carousels) {\n Carousel.getOrCreateInstance(carousel)\n }\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Carousel)\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n defineJQueryPlugin,\n getElement,\n reflow\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"]'\n\nconst Default = {\n parent: null,\n toggle: true\n}\n\nconst DefaultType = {\n parent: '(null|element)',\n toggle: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Collapse extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._isTransitioning = false\n this._triggerArray = []\n\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (const elem of toggleList) {\n const selector = SelectorEngine.getSelectorFromElement(elem)\n const filterElement = SelectorEngine.find(selector)\n .filter(foundElement => foundElement === this._element)\n\n if (selector !== null && filterElement.length) {\n this._triggerArray.push(elem)\n }\n }\n\n this._initializeChildren()\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._triggerArray, this._isShown())\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n if (this._isShown()) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning || this._isShown()) {\n return\n }\n\n let activeChildren = []\n\n // find active children\n if (this._config.parent) {\n activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES)\n .filter(element => element !== this._element)\n .map(element => Collapse.getOrCreateInstance(element, { toggle: false }))\n }\n\n if (activeChildren.length && activeChildren[0]._isTransitioning) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n for (const activeInstance of activeChildren) {\n activeInstance.hide()\n }\n\n const dimension = this._getDimension()\n\n this._element.classList.remove(CLASS_NAME_COLLAPSE)\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n this._element.style[dimension] = 0\n\n this._addAriaAndCollapsedClass(this._triggerArray, true)\n this._isTransitioning = true\n\n const complete = () => {\n this._isTransitioning = false\n\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n this._element.style[dimension] = ''\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n\n this._queueCallback(complete, this._element, true)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning || !this._isShown()) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n if (startEvent.defaultPrevented) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n reflow(this._element)\n\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n for (const trigger of this._triggerArray) {\n const element = SelectorEngine.getElementFromSelector(trigger)\n\n if (element && !this._isShown(element)) {\n this._addAriaAndCollapsedClass([trigger], false)\n }\n }\n\n this._isTransitioning = true\n\n const complete = () => {\n this._isTransitioning = false\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.style[dimension] = ''\n\n this._queueCallback(complete, this._element, true)\n }\n\n _isShown(element = this._element) {\n return element.classList.contains(CLASS_NAME_SHOW)\n }\n\n // Private\n _configAfterMerge(config) {\n config.toggle = Boolean(config.toggle) // Coerce string values\n config.parent = getElement(config.parent)\n return config\n }\n\n _getDimension() {\n return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT\n }\n\n _initializeChildren() {\n if (!this._config.parent) {\n return\n }\n\n const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE)\n\n for (const element of children) {\n const selected = SelectorEngine.getElementFromSelector(element)\n\n if (selected) {\n this._addAriaAndCollapsedClass([element], this._isShown(selected))\n }\n }\n }\n\n _getFirstLevelChildren(selector) {\n const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\n // remove children if greater depth\n return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element))\n }\n\n _addAriaAndCollapsedClass(triggerArray, isOpen) {\n if (!triggerArray.length) {\n return\n }\n\n for (const element of triggerArray) {\n element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen)\n element.setAttribute('aria-expanded', isOpen)\n }\n }\n\n // Static\n static jQueryInterface(config) {\n const _config = {}\n if (typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n return this.each(function () {\n const data = Collapse.getOrCreateInstance(this, _config)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n // preventDefault only for elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {\n event.preventDefault()\n }\n\n for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {\n Collapse.getOrCreateInstance(element, { toggle: false }).toggle()\n }\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Collapse)\n\nexport default Collapse\n","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","export default function getUAString() {\n var uaData = navigator.userAgentData;\n\n if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {\n return uaData.brands.map(function (item) {\n return item.brand + \"/\" + item.version;\n }).join(' ');\n }\n\n return navigator.userAgent;\n}","import getUAString from \"../utils/userAgent.js\";\nexport default function isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}","import { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nimport getWindow from \"./getWindow.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getBoundingClientRect(element, includeScale, isFixedStrategy) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n\n var clientRect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n var _ref = isElement(element) ? getWindow(element) : window,\n visualViewport = _ref.visualViewport;\n\n var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n var width = clientRect.width / scaleX;\n var height = clientRect.height / scaleY;\n return {\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x: x,\n y: y\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getUAString from \"../utils/userAgent.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = /firefox/i.test(getUAString());\n var isIE = /Trident/i.test(getUAString());\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref, win) {\n var x = _ref.x,\n y = _ref.y;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x,\n x = _offsets$x === void 0 ? 0 : _offsets$x,\n _offsets$y = offsets.y,\n y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x: x,\n y: y\n }, getWindow(popper)) : {\n x: x,\n y: y\n };\n\n x = _ref4.x;\n y = _ref4.y;\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n var state = _ref5.state,\n options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element, strategy) {\n var rect = getBoundingClientRect(element, false, strategy === 'fixed');\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent, strategy) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary, strategy) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent, strategy));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getViewportRect(element, strategy) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n var layoutViewport = isLayoutViewport();\n\n if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$strategy = _options.strategy,\n strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = offset + overflow[mainSide];\n var max = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n });\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref) {\n var name = _ref.name,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? {} : _ref$options,\n effect = _ref.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow };","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","/**\n * --------------------------------------------------------------------------\n * Bootstrap dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n defineJQueryPlugin,\n execute,\n getElement,\n getNextActiveElement,\n isDisabled,\n isElement,\n isRTL,\n isVisible,\n noop\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dropdown'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst RIGHT_MOUSE_BUTTON = 2 // MouseEvent.button value for the secondary button, usually the right button\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPEND = 'dropend'\nconst CLASS_NAME_DROPSTART = 'dropstart'\nconst CLASS_NAME_DROPUP_CENTER = 'dropup-center'\nconst CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dropdown\"]:not(.disabled):not(:disabled)'\nconst SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE}.${CLASS_NAME_SHOW}`\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR = '.navbar'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start'\nconst PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end'\nconst PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start'\nconst PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end'\nconst PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start'\nconst PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start'\nconst PLACEMENT_TOPCENTER = 'top'\nconst PLACEMENT_BOTTOMCENTER = 'bottom'\n\nconst Default = {\n autoClose: true,\n boundary: 'clippingParents',\n display: 'dynamic',\n offset: [0, 2],\n popperConfig: null,\n reference: 'toggle'\n}\n\nconst DefaultType = {\n autoClose: '(boolean|string)',\n boundary: '(string|element)',\n display: 'string',\n offset: '(array|string|function)',\n popperConfig: '(null|object|function)',\n reference: '(string|element|object)'\n}\n\n/**\n * Class definition\n */\n\nclass Dropdown extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._popper = null\n this._parent = this._element.parentNode // dropdown wrapper\n // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] ||\n SelectorEngine.prev(this._element, SELECTOR_MENU)[0] ||\n SelectorEngine.findOne(SELECTOR_MENU, this._parent)\n this._inNavbar = this._detectNavbar()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n return this._isShown() ? this.hide() : this.show()\n }\n\n show() {\n if (isDisabled(this._element) || this._isShown()) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._createPopper()\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.on(element, 'mouseover', noop)\n }\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n this._menu.classList.add(CLASS_NAME_SHOW)\n this._element.classList.add(CLASS_NAME_SHOW)\n EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n }\n\n hide() {\n if (isDisabled(this._element) || !this._isShown()) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n this._completeHide(relatedTarget)\n }\n\n dispose() {\n if (this._popper) {\n this._popper.destroy()\n }\n\n super.dispose()\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.update()\n }\n }\n\n // Private\n _completeHide(relatedTarget) {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.off(element, 'mouseover', noop)\n }\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._menu.classList.remove(CLASS_NAME_SHOW)\n this._element.classList.remove(CLASS_NAME_SHOW)\n this._element.setAttribute('aria-expanded', 'false')\n Manipulator.removeDataAttribute(this._menu, 'popper')\n EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n }\n\n _getConfig(config) {\n config = super._getConfig(config)\n\n if (typeof config.reference === 'object' && !isElement(config.reference) &&\n typeof config.reference.getBoundingClientRect !== 'function'\n ) {\n // Popper virtual elements require a getBoundingClientRect method\n throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n }\n\n return config\n }\n\n _createPopper() {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = this._parent\n } else if (isElement(this._config.reference)) {\n referenceElement = getElement(this._config.reference)\n } else if (typeof this._config.reference === 'object') {\n referenceElement = this._config.reference\n }\n\n const popperConfig = this._getPopperConfig()\n this._popper = Popper.createPopper(referenceElement, this._menu, popperConfig)\n }\n\n _isShown() {\n return this._menu.classList.contains(CLASS_NAME_SHOW)\n }\n\n _getPlacement() {\n const parentDropdown = this._parent\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {\n return PLACEMENT_RIGHT\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {\n return PLACEMENT_LEFT\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) {\n return PLACEMENT_TOPCENTER\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPDOWN_CENTER)) {\n return PLACEMENT_BOTTOMCENTER\n }\n\n // We need to trim the value because custom properties can also include spaces\n const isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end'\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP\n }\n\n return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM\n }\n\n _detectNavbar() {\n return this._element.closest(SELECTOR_NAVBAR) !== null\n }\n\n _getOffset() {\n const { offset } = this._config\n\n if (typeof offset === 'string') {\n return offset.split(',').map(value => Number.parseInt(value, 10))\n }\n\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element)\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const defaultBsPopperConfig = {\n placement: this._getPlacement(),\n modifiers: [{\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n },\n {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n }]\n }\n\n // Disable Popper if we have a static display or Dropdown is in Navbar\n if (this._inNavbar || this._config.display === 'static') {\n Manipulator.setDataAttribute(this._menu, 'popper', 'static') // TODO: v6 remove\n defaultBsPopperConfig.modifiers = [{\n name: 'applyStyles',\n enabled: false\n }]\n }\n\n return {\n ...defaultBsPopperConfig,\n ...execute(this._config.popperConfig, [defaultBsPopperConfig])\n }\n }\n\n _selectMenuItem({ key, target }) {\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(element => isVisible(element))\n\n if (!items.length) {\n return\n }\n\n // if target isn't included in items (e.g. when expanding the dropdown)\n // allow cycling to get the last item in case key equals ARROW_UP_KEY\n getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Dropdown.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n })\n }\n\n static clearMenus(event) {\n if (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY)) {\n return\n }\n\n const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN)\n\n for (const toggle of openToggles) {\n const context = Dropdown.getInstance(toggle)\n if (!context || context._config.autoClose === false) {\n continue\n }\n\n const composedPath = event.composedPath()\n const isMenuTarget = composedPath.includes(context._menu)\n if (\n composedPath.includes(context._element) ||\n (context._config.autoClose === 'inside' && !isMenuTarget) ||\n (context._config.autoClose === 'outside' && isMenuTarget)\n ) {\n continue\n }\n\n // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n if (context._menu.contains(event.target) && ((event.type === 'keyup' && event.key === TAB_KEY) || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n continue\n }\n\n const relatedTarget = { relatedTarget: context._element }\n\n if (event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n context._completeHide(relatedTarget)\n }\n }\n\n static dataApiKeydownHandler(event) {\n // If not an UP | DOWN | ESCAPE key => not a dropdown command\n // If input/textarea && if key is other than ESCAPE => not a dropdown command\n\n const isInput = /input|textarea/i.test(event.target.tagName)\n const isEscapeEvent = event.key === ESCAPE_KEY\n const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)\n\n if (!isUpOrDownEvent && !isEscapeEvent) {\n return\n }\n\n if (isInput && !isEscapeEvent) {\n return\n }\n\n event.preventDefault()\n\n // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ?\n this :\n (SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0] ||\n SelectorEngine.next(this, SELECTOR_DATA_TOGGLE)[0] ||\n SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode))\n\n const instance = Dropdown.getOrCreateInstance(getToggleButton)\n\n if (isUpOrDownEvent) {\n event.stopPropagation()\n instance.show()\n instance._selectMenuItem(event)\n return\n }\n\n if (instance._isShown()) { // else is escape and we check if it is shown\n event.stopPropagation()\n instance.hide()\n getToggleButton.focus()\n }\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n Dropdown.getOrCreateInstance(this).toggle()\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Dropdown)\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport { execute, executeAfterTransition, getElement, reflow } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'backdrop'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME}`\n\nconst Default = {\n className: 'modal-backdrop',\n clickCallback: null,\n isAnimated: false,\n isVisible: true, // if false, we use the backdrop helper without adding any element to the dom\n rootElement: 'body' // give the choice to place backdrop under different elements\n}\n\nconst DefaultType = {\n className: 'string',\n clickCallback: '(function|null)',\n isAnimated: 'boolean',\n isVisible: 'boolean',\n rootElement: '(element|string)'\n}\n\n/**\n * Class definition\n */\n\nclass Backdrop extends Config {\n constructor(config) {\n super()\n this._config = this._getConfig(config)\n this._isAppended = false\n this._element = null\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n show(callback) {\n if (!this._config.isVisible) {\n execute(callback)\n return\n }\n\n this._append()\n\n const element = this._getElement()\n if (this._config.isAnimated) {\n reflow(element)\n }\n\n element.classList.add(CLASS_NAME_SHOW)\n\n this._emulateAnimation(() => {\n execute(callback)\n })\n }\n\n hide(callback) {\n if (!this._config.isVisible) {\n execute(callback)\n return\n }\n\n this._getElement().classList.remove(CLASS_NAME_SHOW)\n\n this._emulateAnimation(() => {\n this.dispose()\n execute(callback)\n })\n }\n\n dispose() {\n if (!this._isAppended) {\n return\n }\n\n EventHandler.off(this._element, EVENT_MOUSEDOWN)\n\n this._element.remove()\n this._isAppended = false\n }\n\n // Private\n _getElement() {\n if (!this._element) {\n const backdrop = document.createElement('div')\n backdrop.className = this._config.className\n if (this._config.isAnimated) {\n backdrop.classList.add(CLASS_NAME_FADE)\n }\n\n this._element = backdrop\n }\n\n return this._element\n }\n\n _configAfterMerge(config) {\n // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n config.rootElement = getElement(config.rootElement)\n return config\n }\n\n _append() {\n if (this._isAppended) {\n return\n }\n\n const element = this._getElement()\n this._config.rootElement.append(element)\n\n EventHandler.on(element, EVENT_MOUSEDOWN, () => {\n execute(this._config.clickCallback)\n })\n\n this._isAppended = true\n }\n\n _emulateAnimation(callback) {\n executeAfterTransition(callback, this._getElement(), this._config.isAnimated)\n }\n}\n\nexport default Backdrop\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/focustrap.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'focustrap'\nconst DATA_KEY = 'bs.focustrap'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY}`\n\nconst TAB_KEY = 'Tab'\nconst TAB_NAV_FORWARD = 'forward'\nconst TAB_NAV_BACKWARD = 'backward'\n\nconst Default = {\n autofocus: true,\n trapElement: null // The element to trap focus inside of\n}\n\nconst DefaultType = {\n autofocus: 'boolean',\n trapElement: 'element'\n}\n\n/**\n * Class definition\n */\n\nclass FocusTrap extends Config {\n constructor(config) {\n super()\n this._config = this._getConfig(config)\n this._isActive = false\n this._lastTabNavDirection = null\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n activate() {\n if (this._isActive) {\n return\n }\n\n if (this._config.autofocus) {\n this._config.trapElement.focus()\n }\n\n EventHandler.off(document, EVENT_KEY) // guard against infinite focus loop\n EventHandler.on(document, EVENT_FOCUSIN, event => this._handleFocusin(event))\n EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event))\n\n this._isActive = true\n }\n\n deactivate() {\n if (!this._isActive) {\n return\n }\n\n this._isActive = false\n EventHandler.off(document, EVENT_KEY)\n }\n\n // Private\n _handleFocusin(event) {\n const { trapElement } = this._config\n\n if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) {\n return\n }\n\n const elements = SelectorEngine.focusableChildren(trapElement)\n\n if (elements.length === 0) {\n trapElement.focus()\n } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\n elements[elements.length - 1].focus()\n } else {\n elements[0].focus()\n }\n }\n\n _handleKeydown(event) {\n if (event.key !== TAB_KEY) {\n return\n }\n\n this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD\n }\n}\n\nexport default FocusTrap\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\nconst PROPERTY_PADDING = 'padding-right'\nconst PROPERTY_MARGIN = 'margin-right'\n\n/**\n * Class definition\n */\n\nclass ScrollBarHelper {\n constructor() {\n this._element = document.body\n }\n\n // Public\n getWidth() {\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n const documentWidth = document.documentElement.clientWidth\n return Math.abs(window.innerWidth - documentWidth)\n }\n\n hide() {\n const width = this.getWidth()\n this._disableOverFlow()\n // give padding to element to balance the hidden scrollbar width\n this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width)\n }\n\n reset() {\n this._resetElementAttributes(this._element, 'overflow')\n this._resetElementAttributes(this._element, PROPERTY_PADDING)\n this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING)\n this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN)\n }\n\n isOverflowing() {\n return this.getWidth() > 0\n }\n\n // Private\n _disableOverFlow() {\n this._saveInitialAttribute(this._element, 'overflow')\n this._element.style.overflow = 'hidden'\n }\n\n _setElementAttributes(selector, styleProperty, callback) {\n const scrollbarWidth = this.getWidth()\n const manipulationCallBack = element => {\n if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n return\n }\n\n this._saveInitialAttribute(element, styleProperty)\n const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty)\n element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`)\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n _saveInitialAttribute(element, styleProperty) {\n const actualValue = element.style.getPropertyValue(styleProperty)\n if (actualValue) {\n Manipulator.setDataAttribute(element, styleProperty, actualValue)\n }\n }\n\n _resetElementAttributes(selector, styleProperty) {\n const manipulationCallBack = element => {\n const value = Manipulator.getDataAttribute(element, styleProperty)\n // We only want to remove the property if the value is `null`; the value can also be zero\n if (value === null) {\n element.style.removeProperty(styleProperty)\n return\n }\n\n Manipulator.removeDataAttribute(element, styleProperty)\n element.style.setProperty(styleProperty, value)\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n _applyManipulationCallback(selector, callBack) {\n if (isElement(selector)) {\n callBack(selector)\n return\n }\n\n for (const sel of SelectorEngine.find(selector, this._element)) {\n callBack(sel)\n }\n }\n}\n\nexport default ScrollBarHelper\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Backdrop from './util/backdrop.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport FocusTrap from './util/focustrap.js'\nimport { defineJQueryPlugin, isRTL, isVisible, reflow } from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'modal'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEY = 'Escape'\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst OPEN_SELECTOR = '.modal.show'\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"modal\"]'\n\nconst Default = {\n backdrop: true,\n focus: true,\n keyboard: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n focus: 'boolean',\n keyboard: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Modal extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element)\n this._backdrop = this._initializeBackDrop()\n this._focustrap = this._initializeFocusTrap()\n this._isShown = false\n this._isTransitioning = false\n this._scrollBar = new ScrollBarHelper()\n\n this._addEventListeners()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget\n })\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n this._isTransitioning = true\n\n this._scrollBar.hide()\n\n document.body.classList.add(CLASS_NAME_OPEN)\n\n this._adjustDialog()\n\n this._backdrop.show(() => this._showElement(relatedTarget))\n }\n\n hide() {\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n this._isTransitioning = true\n this._focustrap.deactivate()\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n this._queueCallback(() => this._hideModal(), this._element, this._isAnimated())\n }\n\n dispose() {\n EventHandler.off(window, EVENT_KEY)\n EventHandler.off(this._dialog, EVENT_KEY)\n\n this._backdrop.dispose()\n this._focustrap.deactivate()\n\n super.dispose()\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n _initializeBackDrop() {\n return new Backdrop({\n isVisible: Boolean(this._config.backdrop), // 'static' option will be translated to true, and booleans will keep their value,\n isAnimated: this._isAnimated()\n })\n }\n\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n })\n }\n\n _showElement(relatedTarget) {\n // try to append dynamic modal\n if (!document.body.contains(this._element)) {\n document.body.append(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.scrollTop = 0\n\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n if (modalBody) {\n modalBody.scrollTop = 0\n }\n\n reflow(this._element)\n\n this._element.classList.add(CLASS_NAME_SHOW)\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._focustrap.activate()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget\n })\n }\n\n this._queueCallback(transitionComplete, this._dialog, this._isAnimated())\n }\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (event.key !== ESCAPE_KEY) {\n return\n }\n\n if (this._config.keyboard) {\n this.hide()\n return\n }\n\n this._triggerBackdropTransition()\n })\n\n EventHandler.on(window, EVENT_RESIZE, () => {\n if (this._isShown && !this._isTransitioning) {\n this._adjustDialog()\n }\n })\n\n EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => {\n // a bad trick to segregate clicks that may start inside dialog but end outside, and avoid listen to scrollbar clicks\n EventHandler.one(this._element, EVENT_CLICK_DISMISS, event2 => {\n if (this._element !== event.target || this._element !== event2.target) {\n return\n }\n\n if (this._config.backdrop === 'static') {\n this._triggerBackdropTransition()\n return\n }\n\n if (this._config.backdrop) {\n this.hide()\n }\n })\n })\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n this._isTransitioning = false\n\n this._backdrop.hide(() => {\n document.body.classList.remove(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._scrollBar.reset()\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n })\n }\n\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_FADE)\n }\n\n _triggerBackdropTransition() {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n const initialOverflowY = this._element.style.overflowY\n // return if the following background transition hasn't yet completed\n if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC)) {\n return\n }\n\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden'\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n this._queueCallback(() => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n this._queueCallback(() => {\n this._element.style.overflowY = initialOverflowY\n }, this._dialog)\n }, this._dialog)\n\n this._element.focus()\n }\n\n /**\n * The following methods are used to handle overflowing modals\n */\n\n _adjustDialog() {\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n const scrollbarWidth = this._scrollBar.getWidth()\n const isBodyOverflowing = scrollbarWidth > 0\n\n if (isBodyOverflowing && !isModalOverflowing) {\n const property = isRTL() ? 'paddingLeft' : 'paddingRight'\n this._element.style[property] = `${scrollbarWidth}px`\n }\n\n if (!isBodyOverflowing && isModalOverflowing) {\n const property = isRTL() ? 'paddingRight' : 'paddingLeft'\n this._element.style[property] = `${scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n // Static\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n const data = Modal.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = SelectorEngine.getElementFromSelector(this)\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n EventHandler.one(target, EVENT_SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n // avoid conflict when clicking modal toggler while another one is open\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n if (alreadyOpen) {\n Modal.getInstance(alreadyOpen).hide()\n }\n\n const data = Modal.getOrCreateInstance(target)\n\n data.toggle(this)\n})\n\nenableDismissTrigger(Modal)\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Modal)\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Backdrop from './util/backdrop.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport FocusTrap from './util/focustrap.js'\nimport {\n defineJQueryPlugin,\n isDisabled,\n isVisible\n} from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'offcanvas'\nconst DATA_KEY = 'bs.offcanvas'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst ESCAPE_KEY = 'Escape'\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\nconst CLASS_NAME_HIDING = 'hiding'\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop'\nconst OPEN_SELECTOR = '.offcanvas.show'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"offcanvas\"]'\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n scroll: false\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n scroll: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Offcanvas extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._isShown = false\n this._backdrop = this._initializeBackDrop()\n this._focustrap = this._initializeFocusTrap()\n this._addEventListeners()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget })\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n this._backdrop.show()\n\n if (!this._config.scroll) {\n new ScrollBarHelper().hide()\n }\n\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.classList.add(CLASS_NAME_SHOWING)\n\n const completeCallBack = () => {\n if (!this._config.scroll || this._config.backdrop) {\n this._focustrap.activate()\n }\n\n this._element.classList.add(CLASS_NAME_SHOW)\n this._element.classList.remove(CLASS_NAME_SHOWING)\n EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget })\n }\n\n this._queueCallback(completeCallBack, this._element, true)\n }\n\n hide() {\n if (!this._isShown) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._focustrap.deactivate()\n this._element.blur()\n this._isShown = false\n this._element.classList.add(CLASS_NAME_HIDING)\n this._backdrop.hide()\n\n const completeCallback = () => {\n this._element.classList.remove(CLASS_NAME_SHOW, CLASS_NAME_HIDING)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n\n if (!this._config.scroll) {\n new ScrollBarHelper().reset()\n }\n\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._queueCallback(completeCallback, this._element, true)\n }\n\n dispose() {\n this._backdrop.dispose()\n this._focustrap.deactivate()\n super.dispose()\n }\n\n // Private\n _initializeBackDrop() {\n const clickCallback = () => {\n if (this._config.backdrop === 'static') {\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n return\n }\n\n this.hide()\n }\n\n // 'static' option will be translated to true, and booleans will keep their value\n const isVisible = Boolean(this._config.backdrop)\n\n return new Backdrop({\n className: CLASS_NAME_BACKDROP,\n isVisible,\n isAnimated: true,\n rootElement: this._element.parentNode,\n clickCallback: isVisible ? clickCallback : null\n })\n }\n\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n })\n }\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (event.key !== ESCAPE_KEY) {\n return\n }\n\n if (this._config.keyboard) {\n this.hide()\n return\n }\n\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n })\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Offcanvas.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = SelectorEngine.getElementFromSelector(this)\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n // focus on trigger when it is closed\n if (isVisible(this)) {\n this.focus()\n }\n })\n\n // avoid conflict when clicking a toggler of an offcanvas, while another is open\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n if (alreadyOpen && alreadyOpen !== target) {\n Offcanvas.getInstance(alreadyOpen).hide()\n }\n\n const data = Offcanvas.getOrCreateInstance(target)\n data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {\n Offcanvas.getOrCreateInstance(selector).show()\n }\n})\n\nEventHandler.on(window, EVENT_RESIZE, () => {\n for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {\n if (getComputedStyle(element).position !== 'fixed') {\n Offcanvas.getOrCreateInstance(element).hide()\n }\n }\n})\n\nenableDismissTrigger(Offcanvas)\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Offcanvas)\n\nexport default Offcanvas\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n// js-docs-start allow-list\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultAllowlist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n// js-docs-end allow-list\n\nconst uriAttributes = new Set([\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n])\n\n/**\n * A pattern that recognizes URLs that are safe wrt. XSS in URL navigation\n * contexts.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/15.2.8/packages/core/src/sanitization/url_sanitizer.ts#L38\n */\n// eslint-disable-next-line unicorn/better-regex\nconst SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i\n\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n const attributeName = attribute.nodeName.toLowerCase()\n\n if (allowedAttributeList.includes(attributeName)) {\n if (uriAttributes.has(attributeName)) {\n return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue))\n }\n\n return true\n }\n\n // Check if a regular expression validates the attribute.\n return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp)\n .some(regex => regex.test(attributeName))\n}\n\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n return sanitizeFunction(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n for (const element of elements) {\n const elementName = element.nodeName.toLowerCase()\n\n if (!Object.keys(allowList).includes(elementName)) {\n element.remove()\n continue\n }\n\n const attributeList = [].concat(...element.attributes)\n const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || [])\n\n for (const attribute of attributeList) {\n if (!allowedAttribute(attribute, allowedAttributes)) {\n element.removeAttribute(attribute.nodeName)\n }\n }\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\nimport { DefaultAllowlist, sanitizeHtml } from './sanitizer.js'\nimport { execute, getElement, isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'TemplateFactory'\n\nconst Default = {\n allowList: DefaultAllowlist,\n content: {}, // { selector : text , selector2 : text2 , }\n extraClass: '',\n html: false,\n sanitize: true,\n sanitizeFn: null,\n template: '
'\n}\n\nconst DefaultType = {\n allowList: 'object',\n content: 'object',\n extraClass: '(string|function)',\n html: 'boolean',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n template: 'string'\n}\n\nconst DefaultContentType = {\n entry: '(string|element|function|null)',\n selector: '(string|element)'\n}\n\n/**\n * Class definition\n */\n\nclass TemplateFactory extends Config {\n constructor(config) {\n super()\n this._config = this._getConfig(config)\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n getContent() {\n return Object.values(this._config.content)\n .map(config => this._resolvePossibleFunction(config))\n .filter(Boolean)\n }\n\n hasContent() {\n return this.getContent().length > 0\n }\n\n changeContent(content) {\n this._checkContent(content)\n this._config.content = { ...this._config.content, ...content }\n return this\n }\n\n toHtml() {\n const templateWrapper = document.createElement('div')\n templateWrapper.innerHTML = this._maybeSanitize(this._config.template)\n\n for (const [selector, text] of Object.entries(this._config.content)) {\n this._setContent(templateWrapper, text, selector)\n }\n\n const template = templateWrapper.children[0]\n const extraClass = this._resolvePossibleFunction(this._config.extraClass)\n\n if (extraClass) {\n template.classList.add(...extraClass.split(' '))\n }\n\n return template\n }\n\n // Private\n _typeCheckConfig(config) {\n super._typeCheckConfig(config)\n this._checkContent(config.content)\n }\n\n _checkContent(arg) {\n for (const [selector, content] of Object.entries(arg)) {\n super._typeCheckConfig({ selector, entry: content }, DefaultContentType)\n }\n }\n\n _setContent(template, content, selector) {\n const templateElement = SelectorEngine.findOne(selector, template)\n\n if (!templateElement) {\n return\n }\n\n content = this._resolvePossibleFunction(content)\n\n if (!content) {\n templateElement.remove()\n return\n }\n\n if (isElement(content)) {\n this._putElementInTemplate(getElement(content), templateElement)\n return\n }\n\n if (this._config.html) {\n templateElement.innerHTML = this._maybeSanitize(content)\n return\n }\n\n templateElement.textContent = content\n }\n\n _maybeSanitize(arg) {\n return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg\n }\n\n _resolvePossibleFunction(arg) {\n return execute(arg, [this])\n }\n\n _putElementInTemplate(element, templateElement) {\n if (this._config.html) {\n templateElement.innerHTML = ''\n templateElement.append(element)\n return\n }\n\n templateElement.textContent = element.textContent\n }\n}\n\nexport default TemplateFactory\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport { defineJQueryPlugin, execute, findShadowRoot, getElement, getUID, isRTL, noop } from './util/index.js'\nimport { DefaultAllowlist } from './util/sanitizer.js'\nimport TemplateFactory from './util/template-factory.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tooltip'\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`\n\nconst EVENT_MODAL_HIDE = 'hide.bs.modal'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\nconst EVENT_HIDE = 'hide'\nconst EVENT_HIDDEN = 'hidden'\nconst EVENT_SHOW = 'show'\nconst EVENT_SHOWN = 'shown'\nconst EVENT_INSERTED = 'inserted'\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_FOCUSOUT = 'focusout'\nconst EVENT_MOUSEENTER = 'mouseenter'\nconst EVENT_MOUSELEAVE = 'mouseleave'\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: isRTL() ? 'left' : 'right',\n BOTTOM: 'bottom',\n LEFT: isRTL() ? 'right' : 'left'\n}\n\nconst Default = {\n allowList: DefaultAllowlist,\n animation: true,\n boundary: 'clippingParents',\n container: false,\n customClass: '',\n delay: 0,\n fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n html: false,\n offset: [0, 6],\n placement: 'top',\n popperConfig: null,\n sanitize: true,\n sanitizeFn: null,\n selector: false,\n template: '
' +\n '
' +\n '
' +\n '
',\n title: '',\n trigger: 'hover focus'\n}\n\nconst DefaultType = {\n allowList: 'object',\n animation: 'boolean',\n boundary: '(string|element)',\n container: '(string|element|boolean)',\n customClass: '(string|function)',\n delay: '(number|object)',\n fallbackPlacements: 'array',\n html: 'boolean',\n offset: '(array|string|function)',\n placement: '(string|function)',\n popperConfig: '(null|object|function)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n selector: '(string|boolean)',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string'\n}\n\n/**\n * Class definition\n */\n\nclass Tooltip extends BaseComponent {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper (https://popper.js.org)')\n }\n\n super(element, config)\n\n // Private\n this._isEnabled = true\n this._timeout = 0\n this._isHovered = null\n this._activeTrigger = {}\n this._popper = null\n this._templateFactory = null\n this._newContent = null\n\n // Protected\n this.tip = null\n\n this._setListeners()\n\n if (!this._config.selector) {\n this._fixTitle()\n }\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle() {\n if (!this._isEnabled) {\n return\n }\n\n this._activeTrigger.click = !this._activeTrigger.click\n if (this._isShown()) {\n this._leave()\n return\n }\n\n this._enter()\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n\n if (this._element.getAttribute('data-bs-original-title')) {\n this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'))\n }\n\n this._disposePopper()\n super.dispose()\n }\n\n show() {\n if (this._element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (!(this._isWithContent() && this._isEnabled)) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW))\n const shadowRoot = findShadowRoot(this._element)\n const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n // TODO: v6 remove this or make it optional\n this._disposePopper()\n\n const tip = this._getTipElement()\n\n this._element.setAttribute('aria-describedby', tip.getAttribute('id'))\n\n const { container } = this._config\n\n if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n container.append(tip)\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED))\n }\n\n this._popper = this._createPopper(tip)\n\n tip.classList.add(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.on(element, 'mouseover', noop)\n }\n }\n\n const complete = () => {\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN))\n\n if (this._isHovered === false) {\n this._leave()\n }\n\n this._isHovered = false\n }\n\n this._queueCallback(complete, this.tip, this._isAnimated())\n }\n\n hide() {\n if (!this._isShown()) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE))\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const tip = this._getTipElement()\n tip.classList.remove(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.off(element, 'mouseover', noop)\n }\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n this._isHovered = null // it is a trick to support manual triggering\n\n const complete = () => {\n if (this._isWithActiveTrigger()) {\n return\n }\n\n if (!this._isHovered) {\n this._disposePopper()\n }\n\n this._element.removeAttribute('aria-describedby')\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN))\n }\n\n this._queueCallback(complete, this.tip, this._isAnimated())\n }\n\n update() {\n if (this._popper) {\n this._popper.update()\n }\n }\n\n // Protected\n _isWithContent() {\n return Boolean(this._getTitle())\n }\n\n _getTipElement() {\n if (!this.tip) {\n this.tip = this._createTipElement(this._newContent || this._getContentForTemplate())\n }\n\n return this.tip\n }\n\n _createTipElement(content) {\n const tip = this._getTemplateFactory(content).toHtml()\n\n // TODO: remove this check in v6\n if (!tip) {\n return null\n }\n\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n // TODO: v6 the following can be achieved with CSS only\n tip.classList.add(`bs-${this.constructor.NAME}-auto`)\n\n const tipId = getUID(this.constructor.NAME).toString()\n\n tip.setAttribute('id', tipId)\n\n if (this._isAnimated()) {\n tip.classList.add(CLASS_NAME_FADE)\n }\n\n return tip\n }\n\n setContent(content) {\n this._newContent = content\n if (this._isShown()) {\n this._disposePopper()\n this.show()\n }\n }\n\n _getTemplateFactory(content) {\n if (this._templateFactory) {\n this._templateFactory.changeContent(content)\n } else {\n this._templateFactory = new TemplateFactory({\n ...this._config,\n // the `content` var has to be after `this._config`\n // to override config.content in case of popover\n content,\n extraClass: this._resolvePossibleFunction(this._config.customClass)\n })\n }\n\n return this._templateFactory\n }\n\n _getContentForTemplate() {\n return {\n [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n }\n }\n\n _getTitle() {\n return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title')\n }\n\n // Private\n _initializeOnDelegatedTarget(event) {\n return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig())\n }\n\n _isAnimated() {\n return this._config.animation || (this.tip && this.tip.classList.contains(CLASS_NAME_FADE))\n }\n\n _isShown() {\n return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW)\n }\n\n _createPopper(tip) {\n const placement = execute(this._config.placement, [this, tip, this._element])\n const attachment = AttachmentMap[placement.toUpperCase()]\n return Popper.createPopper(this._element, tip, this._getPopperConfig(attachment))\n }\n\n _getOffset() {\n const { offset } = this._config\n\n if (typeof offset === 'string') {\n return offset.split(',').map(value => Number.parseInt(value, 10))\n }\n\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element)\n }\n\n return offset\n }\n\n _resolvePossibleFunction(arg) {\n return execute(arg, [this._element])\n }\n\n _getPopperConfig(attachment) {\n const defaultBsPopperConfig = {\n placement: attachment,\n modifiers: [\n {\n name: 'flip',\n options: {\n fallbackPlacements: this._config.fallbackPlacements\n }\n },\n {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n },\n {\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n },\n {\n name: 'arrow',\n options: {\n element: `.${this.constructor.NAME}-arrow`\n }\n },\n {\n name: 'preSetPlacement',\n enabled: true,\n phase: 'beforeMain',\n fn: data => {\n // Pre-set Popper's placement attribute in order to read the arrow sizes properly.\n // Otherwise, Popper mixes up the width and height dimensions since the initial arrow style is for top placement\n this._getTipElement().setAttribute('data-popper-placement', data.state.placement)\n }\n }\n ]\n }\n\n return {\n ...defaultBsPopperConfig,\n ...execute(this._config.popperConfig, [defaultBsPopperConfig])\n }\n }\n\n _setListeners() {\n const triggers = this._config.trigger.split(' ')\n\n for (const trigger of triggers) {\n if (trigger === 'click') {\n EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK), this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event)\n context.toggle()\n })\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ?\n this.constructor.eventName(EVENT_MOUSEENTER) :\n this.constructor.eventName(EVENT_FOCUSIN)\n const eventOut = trigger === TRIGGER_HOVER ?\n this.constructor.eventName(EVENT_MOUSELEAVE) :\n this.constructor.eventName(EVENT_FOCUSOUT)\n\n EventHandler.on(this._element, eventIn, this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event)\n context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true\n context._enter()\n })\n EventHandler.on(this._element, eventOut, this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event)\n context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] =\n context._element.contains(event.relatedTarget)\n\n context._leave()\n })\n }\n }\n\n this._hideModalHandler = () => {\n if (this._element) {\n this.hide()\n }\n }\n\n EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n }\n\n _fixTitle() {\n const title = this._element.getAttribute('title')\n\n if (!title) {\n return\n }\n\n if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {\n this._element.setAttribute('aria-label', title)\n }\n\n this._element.setAttribute('data-bs-original-title', title) // DO NOT USE IT. Is only for backwards compatibility\n this._element.removeAttribute('title')\n }\n\n _enter() {\n if (this._isShown() || this._isHovered) {\n this._isHovered = true\n return\n }\n\n this._isHovered = true\n\n this._setTimeout(() => {\n if (this._isHovered) {\n this.show()\n }\n }, this._config.delay.show)\n }\n\n _leave() {\n if (this._isWithActiveTrigger()) {\n return\n }\n\n this._isHovered = false\n\n this._setTimeout(() => {\n if (!this._isHovered) {\n this.hide()\n }\n }, this._config.delay.hide)\n }\n\n _setTimeout(handler, timeout) {\n clearTimeout(this._timeout)\n this._timeout = setTimeout(handler, timeout)\n }\n\n _isWithActiveTrigger() {\n return Object.values(this._activeTrigger).includes(true)\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n for (const dataAttribute of Object.keys(dataAttributes)) {\n if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n delete dataAttributes[dataAttribute]\n }\n }\n\n config = {\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n }\n config = this._mergeConfigObj(config)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n _configAfterMerge(config) {\n config.container = config.container === false ? document.body : getElement(config.container)\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n for (const [key, value] of Object.entries(this._config)) {\n if (this.constructor.Default[key] !== value) {\n config[key] = value\n }\n }\n\n config.selector = false\n config.trigger = 'manual'\n\n // In the future can be replaced with:\n // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n // `Object.fromEntries(keysWithDifferentValues)`\n return config\n }\n\n _disposePopper() {\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n\n if (this.tip) {\n this.tip.remove()\n this.tip = null\n }\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Tooltip.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n })\n }\n}\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Tooltip)\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Tooltip from './tooltip.js'\nimport { defineJQueryPlugin } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\nconst Default = {\n ...Tooltip.Default,\n content: '',\n offset: [0, 8],\n placement: 'right',\n template: '
' +\n '
' +\n '

' +\n '
' +\n '
',\n trigger: 'click'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(null|string|element|function)'\n}\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Overrides\n _isWithContent() {\n return this._getTitle() || this._getContent()\n }\n\n // Private\n _getContentForTemplate() {\n return {\n [SELECTOR_TITLE]: this._getTitle(),\n [SELECTOR_CONTENT]: this._getContent()\n }\n }\n\n _getContent() {\n return this._resolvePossibleFunction(this._config.content)\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Popover.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n })\n }\n}\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Popover)\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { defineJQueryPlugin, getElement, isDisabled, isVisible } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'scrollspy'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"]'\nconst SELECTOR_TARGET_LINKS = '[href]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst Default = {\n offset: null, // TODO: v6 @deprecated, keep it for backwards compatibility reasons\n rootMargin: '0px 0px -25%',\n smoothScroll: false,\n target: null,\n threshold: [0.1, 0.5, 1]\n}\n\nconst DefaultType = {\n offset: '(number|null)', // TODO v6 @deprecated, keep it for backwards compatibility reasons\n rootMargin: 'string',\n smoothScroll: 'boolean',\n target: 'element',\n threshold: 'array'\n}\n\n/**\n * Class definition\n */\n\nclass ScrollSpy extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n // this._element is the observablesContainer and config.target the menu links wrapper\n this._targetLinks = new Map()\n this._observableSections = new Map()\n this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element\n this._activeTarget = null\n this._observer = null\n this._previousScrollData = {\n visibleEntryTop: 0,\n parentScrollTop: 0\n }\n this.refresh() // initialize\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n refresh() {\n this._initializeTargetsAndObservables()\n this._maybeEnableSmoothScroll()\n\n if (this._observer) {\n this._observer.disconnect()\n } else {\n this._observer = this._getNewObserver()\n }\n\n for (const section of this._observableSections.values()) {\n this._observer.observe(section)\n }\n }\n\n dispose() {\n this._observer.disconnect()\n super.dispose()\n }\n\n // Private\n _configAfterMerge(config) {\n // TODO: on v6 target should be given explicitly & remove the {target: 'ss-target'} case\n config.target = getElement(config.target) || document.body\n\n // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only\n config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin\n\n if (typeof config.threshold === 'string') {\n config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value))\n }\n\n return config\n }\n\n _maybeEnableSmoothScroll() {\n if (!this._config.smoothScroll) {\n return\n }\n\n // unregister any previous listeners\n EventHandler.off(this._config.target, EVENT_CLICK)\n\n EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {\n const observableSection = this._observableSections.get(event.target.hash)\n if (observableSection) {\n event.preventDefault()\n const root = this._rootElement || window\n const height = observableSection.offsetTop - this._element.offsetTop\n if (root.scrollTo) {\n root.scrollTo({ top: height, behavior: 'smooth' })\n return\n }\n\n // Chrome 60 doesn't support `scrollTo`\n root.scrollTop = height\n }\n })\n }\n\n _getNewObserver() {\n const options = {\n root: this._rootElement,\n threshold: this._config.threshold,\n rootMargin: this._config.rootMargin\n }\n\n return new IntersectionObserver(entries => this._observerCallback(entries), options)\n }\n\n // The logic of selection\n _observerCallback(entries) {\n const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`)\n const activate = entry => {\n this._previousScrollData.visibleEntryTop = entry.target.offsetTop\n this._process(targetElement(entry))\n }\n\n const parentScrollTop = (this._rootElement || document.documentElement).scrollTop\n const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop\n this._previousScrollData.parentScrollTop = parentScrollTop\n\n for (const entry of entries) {\n if (!entry.isIntersecting) {\n this._activeTarget = null\n this._clearActiveClass(targetElement(entry))\n\n continue\n }\n\n const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop\n // if we are scrolling down, pick the bigger offsetTop\n if (userScrollsDown && entryIsLowerThanPrevious) {\n activate(entry)\n // if parent isn't scrolled, let's keep the first visible item, breaking the iteration\n if (!parentScrollTop) {\n return\n }\n\n continue\n }\n\n // if we are scrolling up, pick the smallest offsetTop\n if (!userScrollsDown && !entryIsLowerThanPrevious) {\n activate(entry)\n }\n }\n }\n\n _initializeTargetsAndObservables() {\n this._targetLinks = new Map()\n this._observableSections = new Map()\n\n const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target)\n\n for (const anchor of targetLinks) {\n // ensure that the anchor has an id and is not disabled\n if (!anchor.hash || isDisabled(anchor)) {\n continue\n }\n\n const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element)\n\n // ensure that the observableSection exists & is visible\n if (isVisible(observableSection)) {\n this._targetLinks.set(decodeURI(anchor.hash), anchor)\n this._observableSections.set(anchor.hash, observableSection)\n }\n }\n }\n\n _process(target) {\n if (this._activeTarget === target) {\n return\n }\n\n this._clearActiveClass(this._config.target)\n this._activeTarget = target\n target.classList.add(CLASS_NAME_ACTIVE)\n this._activateParents(target)\n\n EventHandler.trigger(this._element, EVENT_ACTIVATE, { relatedTarget: target })\n }\n\n _activateParents(target) {\n // Activate dropdown parents\n if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, target.closest(SELECTOR_DROPDOWN))\n .classList.add(CLASS_NAME_ACTIVE)\n return\n }\n\n for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {\n // Set triggered links parents as active\n // With both

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