From 1a3925c6a68d55232fa325ec4546912decbf88d8 Mon Sep 17 00:00:00 2001 From: doxa-maps-88655c70 <88627970+doxa-maps-88655c70@users.noreply.github.com> Date: Thu, 17 Sep 2026 18:18:18 +0000 Subject: [PATCH] Rename app-profiles -> plugin-designs; build green under new naming (load-bearing paths updated, guards pass) --- .gitattributes | 2 +- .gitignore | 2 +- internal/generate-tree.mjs | 10 +- library/scripts/posters/emit-countries.mjs | 4 +- library/scripts/posters/make-previews.py | 2 +- .../snapshots/v2-3x3-full-vision/generate.mjs | 2 +- package.json | 2 +- {app-profiles => plugin-designs}/.gitkeep | 0 {app-profiles => plugin-designs}/README.md | 0 .../all-people-groups/all-people-groups.vue | 0 .../all-people-groups/index.html | 0 .../all-people-groups/index.js | 0 .../cities-internet/connectivity-list.vue | 0 .../cities-internet/connectivity-map.vue | 0 .../cities-internet/data-tables.vue | 0 .../cities-internet/data/connectivity.json | 0 .../data/tables/country-connectivity.json | 0 .../data/tables/gospel-access-vs-growth.json | 0 .../cities-internet/data/tables/index.json | 0 .../data/tables/key-cities.json | 0 .../data/tables/messaging-channels.json | 0 .../data/tables/network-operators.json | 0 .../data/tables/people-group-resources.json | 0 .../data/tables/social-platforms.json | 0 .../cities-internet/index.html | 0 .../cities-internet/index.js | 0 .../assets/previews/country-abw.webp | Bin .../assets/previews/country-afg.webp | Bin .../assets/previews/country-ago.webp | Bin .../assets/previews/country-alb.webp | Bin .../assets/previews/country-and.webp | Bin .../assets/previews/country-are.webp | Bin .../assets/previews/country-arm.webp | Bin .../assets/previews/country-asm.webp | Bin .../assets/previews/country-atg.webp | Bin .../assets/previews/country-aze.webp | Bin .../assets/previews/country-ben.webp | Bin .../assets/previews/country-bfa.webp | Bin .../assets/previews/country-bgd.webp | Bin .../assets/previews/country-bgr.webp | Bin .../assets/previews/country-bhr.webp | Bin .../assets/previews/country-bhs.webp | Bin .../assets/previews/country-bih.webp | Bin .../assets/previews/country-blm.webp | Bin .../assets/previews/country-blr.webp | Bin .../assets/previews/country-bmu.webp | Bin .../assets/previews/country-bol.webp | Bin .../assets/previews/country-bra.webp | Bin .../assets/previews/country-brb.webp | Bin .../assets/previews/country-brn.webp | Bin .../assets/previews/country-btn.webp | Bin .../assets/previews/country-caf.webp | Bin .../assets/previews/country-cck.webp | Bin .../assets/previews/country-chn.webp | Bin .../assets/previews/country-civ.webp | Bin .../assets/previews/country-cmr.webp | Bin .../assets/previews/country-cod.webp | Bin .../assets/previews/country-cog.webp | Bin .../assets/previews/country-cok.webp | Bin .../assets/previews/country-col.webp | Bin .../assets/previews/country-com.webp | Bin .../assets/previews/country-cub.webp | Bin .../assets/previews/country-cuw.webp | Bin .../assets/previews/country-cxr.webp | Bin .../assets/previews/country-cym.webp | Bin .../assets/previews/country-cyp.webp | Bin .../assets/previews/country-cze.webp | Bin .../assets/previews/country-dji.webp | Bin .../assets/previews/country-dma.webp | Bin .../assets/previews/country-dza.webp | Bin .../assets/previews/country-ecu.webp | Bin .../assets/previews/country-egy.webp | Bin .../assets/previews/country-eri.webp | Bin .../assets/previews/country-esh.webp | Bin .../assets/previews/country-esp.webp | Bin .../assets/previews/country-eth.webp | Bin .../assets/previews/country-fin.webp | Bin .../assets/previews/country-fji.webp | Bin .../assets/previews/country-fro.webp | Bin .../assets/previews/country-fsm.webp | Bin .../assets/previews/country-gab.webp | Bin .../assets/previews/country-geo.webp | Bin .../assets/previews/country-ggy.webp | Bin .../assets/previews/country-gha.webp | Bin .../assets/previews/country-gib.webp | Bin .../assets/previews/country-gin.webp | Bin .../assets/previews/country-glp.webp | Bin .../assets/previews/country-gmb.webp | Bin .../assets/previews/country-gnb.webp | Bin .../assets/previews/country-gnq.webp | Bin .../assets/previews/country-grc.webp | Bin .../assets/previews/country-grd.webp | Bin .../assets/previews/country-guf.webp | Bin .../assets/previews/country-gum.webp | Bin .../assets/previews/country-guy.webp | Bin .../assets/previews/country-hkg.webp | Bin .../assets/previews/country-idn.webp | Bin .../assets/previews/country-irn.webp | Bin .../assets/previews/country-irq.webp | Bin .../assets/previews/country-isl.webp | Bin .../assets/previews/country-isr.webp | Bin .../assets/previews/country-jam.webp | Bin .../assets/previews/country-jey.webp | Bin .../assets/previews/country-jor.webp | Bin .../assets/previews/country-jpn.webp | Bin .../assets/previews/country-kaz.webp | Bin .../assets/previews/country-ken.webp | Bin .../assets/previews/country-kgz.webp | Bin .../assets/previews/country-khm.webp | Bin .../assets/previews/country-kir.webp | Bin .../assets/previews/country-kos.webp | Bin .../assets/previews/country-kwt.webp | Bin .../assets/previews/country-lao.webp | Bin .../assets/previews/country-lbn.webp | Bin .../assets/previews/country-lbr.webp | Bin .../assets/previews/country-lby.webp | Bin .../assets/previews/country-lca.webp | Bin .../assets/previews/country-lie.webp | Bin .../assets/previews/country-lka.webp | Bin .../assets/previews/country-lux.webp | Bin .../assets/previews/country-mac.webp | Bin .../assets/previews/country-mar.webp | Bin .../assets/previews/country-mco.webp | Bin .../assets/previews/country-mdv.webp | Bin .../assets/previews/country-mhl.webp | Bin .../assets/previews/country-mli.webp | Bin .../assets/previews/country-mlt.webp | Bin .../assets/previews/country-mmr.webp | Bin .../assets/previews/country-mne.webp | Bin .../assets/previews/country-mng.webp | Bin .../assets/previews/country-mnp.webp | Bin .../assets/previews/country-moz.webp | Bin .../assets/previews/country-mrt.webp | Bin .../assets/previews/country-msr.webp | Bin .../assets/previews/country-mus.webp | Bin .../assets/previews/country-mwi.webp | Bin .../assets/previews/country-mys.webp | Bin .../assets/previews/country-myt.webp | Bin .../assets/previews/country-nam.webp | Bin .../assets/previews/country-ncl.webp | Bin .../assets/previews/country-ner.webp | Bin .../assets/previews/country-nfk.webp | Bin .../assets/previews/country-nga.webp | Bin .../assets/previews/country-niu.webp | Bin .../assets/previews/country-npl.webp | Bin .../assets/previews/country-nzl.webp | Bin .../assets/previews/country-omn.webp | Bin .../assets/previews/country-pak.webp | Bin .../assets/previews/country-pan.webp | Bin .../assets/previews/country-per.webp | Bin .../assets/previews/country-phl.webp | Bin .../assets/previews/country-plw.webp | Bin .../assets/previews/country-png.webp | Bin .../assets/previews/country-prk.webp | Bin .../assets/previews/country-pry.webp | Bin .../assets/previews/country-pse.webp | Bin .../assets/previews/country-pyf.webp | Bin .../assets/previews/country-qat.webp | Bin .../assets/previews/country-rus.webp | Bin .../assets/previews/country-sau.webp | Bin .../assets/previews/country-sdn.webp | Bin .../assets/previews/country-sen.webp | Bin .../assets/previews/country-shn.webp | Bin .../assets/previews/country-sjm.webp | Bin .../assets/previews/country-slb.webp | Bin .../assets/previews/country-sle.webp | Bin .../assets/previews/country-smr.webp | Bin .../assets/previews/country-som.webp | Bin .../assets/previews/country-ssd.webp | Bin .../assets/previews/country-stp.webp | Bin .../assets/previews/country-sur.webp | Bin .../assets/previews/country-swe.webp | Bin .../assets/previews/country-swz.webp | Bin .../assets/previews/country-sxm.webp | Bin .../assets/previews/country-syr.webp | Bin .../assets/previews/country-tca.webp | Bin .../assets/previews/country-tcd.webp | Bin .../assets/previews/country-tgo.webp | Bin .../assets/previews/country-tha.webp | Bin .../assets/previews/country-tjk.webp | Bin .../assets/previews/country-tkl.webp | Bin .../assets/previews/country-ton.webp | Bin .../assets/previews/country-tun.webp | Bin .../assets/previews/country-tur.webp | Bin .../assets/previews/country-tza.webp | Bin .../assets/previews/country-uga.webp | Bin .../assets/previews/country-usa.webp | Bin .../assets/previews/country-uzb.webp | Bin .../assets/previews/country-vct.webp | Bin .../assets/previews/country-ven.webp | Bin .../assets/previews/country-vgb.webp | Bin .../assets/previews/country-vir.webp | Bin .../assets/previews/country-vnm.webp | Bin .../assets/previews/country-vut.webp | Bin .../assets/previews/country-wlf.webp | Bin .../assets/previews/country-wsm.webp | Bin .../assets/previews/country-yem.webp | Bin .../assets/previews/country-zaf.webp | Bin .../assets/previews/country-zmb.webp | Bin .../assets/previews/country-zwe.webp | Bin .../country-posters/countries-map.vue | 0 .../country-posters/country-poster-wall.vue | 0 .../country-posters/data/countries.json | 0 .../country-posters/index.html | 0 .../country-posters/index.js | 0 .../src/colors/affinity-block.js | 0 .../country-posters/src/colors/doxa-region.js | 0 .../country-posters/src/colors/resource.js | 0 .../demo-map/demo-map.instances.json | 0 .../demo-map/demo-map.vue | 0 .../demo-map/index.html | 0 .../demo-map/index.js | 0 .../demo-map/src/README.md | 0 .../demo-map/src/api/README.md | 0 .../demo-map/src/colors/README.md | 0 .../demo-map/src/colors/colors.json | 0 .../demo-map/src/colors/single-color.js | 0 .../demo-map/src/components/README.md | 0 .../demo-map/src/composables/README.md | 0 .../demo-map/src/utils/README.md | 0 .../doxa-research-map/index.html | 0 .../doxa-research-map/index.js | 0 .../doxa-research-map/research-map.meta.json | 0 .../doxa-research-map/research-map.vue | 0 .../doxa-research-map/src/README.md | 0 .../doxa-research-map/src/api/README.md | 0 .../doxa-research-map/src/colors/README.md | 0 .../src/colors/affinity-block.js | 0 .../src/colors/doxa-region.js | 0 .../doxa-research-map/src/colors/resource.js | 0 .../src/components/README.md | 0 .../src/composables/README.md | 0 .../doxa-research-map/src/utils/README.md | 0 .../doxa-simple-map/doxa-simple-map.vue | 0 .../doxa-simple-map/index.html | 0 .../doxa-simple-map/index.js | 0 .../doxa-simple-map/simple-map.instances.json | 0 .../doxa-simple-map/src/README.md | 0 .../doxa-simple-map/src/api/README.md | 0 .../doxa-simple-map/src/colors/README.md | 0 .../doxa-simple-map/src/components/README.md | 0 .../doxa-simple-map/src/composables/README.md | 0 .../doxa-simple-map/src/utils/README.md | 0 .../gospel-resources/charts.vue | 0 .../gospel-resources/data-tables.vue | 0 .../gospel-resources/data/by-country.json | 0 .../gospel-resources/data/resources.json | 0 .../tables/city-bridge-opportunities.json | 0 .../data/tables/deaf-gap.json | 0 .../data/tables/gaps-and-opportunities.json | 0 .../data/tables/gospel-access-vs-growth.json | 0 .../data/tables/gospel-link-verification.json | 0 .../data/tables/languages-by-country.json | 0 .../data/tables/people-group-resources.json | 0 .../gospel-resources/index.html | 0 .../gospel-resources/index.js | 0 .../gospel-resources/resources-list.vue | 0 .../gospel-resources/resources-map.vue | 0 .../scripts/verify-gospel-click-sheet.mjs | 0 .../scripts/verify-gospel-links.mjs | 0 .../previews/city-ago--8.8484-13.2535.webp | Bin .../previews/city-bfa-9.7792--4.2879.webp | Bin .../previews/city-brn-4.9234-114.9209.webp | Bin .../previews/city-btn-27.75-91.2637.webp | Bin .../previews/city-cod-3.5049-24.4533.webp | Bin .../previews/city-idn--3.7191-127.9542.webp | Bin .../previews/city-ind-10.1396-77.7883.webp | Bin .../previews/city-ind-10.3796-78.8202.webp | Bin .../previews/city-ind-10.5285-76.2146.webp | Bin .../previews/city-ind-10.7853-78.7051.webp | Bin .../previews/city-ind-10.7855-76.6516.webp | Bin .../previews/city-ind-10.787-79.1378.webp | Bin .../previews/city-ind-10.8469-76.2633.webp | Bin .../previews/city-ind-11.0049-76.9626.webp | Bin .../previews/city-ind-11.0546-78.6369.webp | Bin .../previews/city-ind-11.06-76.0816.webp | Bin .../previews/city-ind-11.0991-77.2807.webp | Bin .../previews/city-ind-11.1271-78.6565.webp | Bin .../previews/city-ind-11.253-76.2299.webp | Bin .../previews/city-ind-11.3548-77.711.webp | Bin .../previews/city-ind-11.4517-76.7145.webp | Bin .../previews/city-ind-11.6234-92.7265.webp | Bin .../previews/city-ind-11.6765-76.1741.webp | Bin .../previews/city-ind-11.8745-75.3695.webp | Bin .../previews/city-ind-11.9182-79.8085.webp | Bin .../previews/city-ind-11.967-75.3663.webp | Bin .../previews/city-ind-12.2973-75.7684.webp | Bin .../previews/city-ind-12.3022-76.6423.webp | Bin .../previews/city-ind-12.427-75.742.webp | Bin .../previews/city-ind-12.4538-75.1701.webp | Bin .../previews/city-ind-12.5102-74.9852.webp | Bin .../previews/city-ind-12.5446-80.0193.webp | Bin .../previews/city-ind-12.6867-79.9614.webp | Bin .../previews/city-ind-12.8403-75.2483.webp | Bin .../previews/city-ind-12.9125-79.3429.webp | Bin .../previews/city-ind-12.964-74.837.webp | Bin .../previews/city-ind-12.9789-77.5857.webp | Bin .../previews/city-ind-13.0505-75.1773.webp | Bin .../previews/city-ind-13.2174-79.101.webp | Bin .../previews/city-ind-13.2466-80.2533.webp | Bin .../previews/city-ind-13.3138-75.7731.webp | Bin .../previews/city-ind-13.3389-74.7451.webp | Bin .../previews/city-ind-13.4672-79.0137.webp | Bin .../previews/city-ind-13.6192-79.4197.webp | Bin .../previews/city-ind-14.4428-79.9882.webp | Bin .../previews/city-ind-14.494-78.7992.webp | Bin .../previews/city-ind-14.7445-74.7282.webp | Bin .../previews/city-ind-14.7811-74.6161.webp | Bin .../previews/city-ind-14.8066-74.1305.webp | Bin .../previews/city-ind-15.1518-75.4446.webp | Bin .../previews/city-ind-15.2213-74.0714.webp | Bin .../previews/city-ind-15.4573-75.0086.webp | Bin .../previews/city-ind-15.4895-79.6006.webp | Bin .../previews/city-ind-15.5127-77.9554.webp | Bin .../previews/city-ind-15.8971-79.7392.webp | Bin .../previews/city-ind-16.1786-81.1347.webp | Bin .../previews/city-ind-16.3172-80.0518.webp | Bin .../previews/city-ind-16.4355-80.0228.webp | Bin .../previews/city-ind-16.5066-80.6501.webp | Bin .../previews/city-ind-16.6981-74.2441.webp | Bin .../previews/city-ind-16.7107-81.0956.webp | Bin .../previews/city-ind-16.8296-75.7135.webp | Bin .../previews/city-ind-17.0598-74.68.webp | Bin .../previews/city-ind-17.2551-78.4478.webp | Bin .../previews/city-ind-17.3189-82.4772.webp | Bin .../previews/city-ind-17.4284-78.4492.webp | Bin .../previews/city-ind-17.6602-75.908.webp | Bin .../previews/city-ind-17.6921-83.2225.webp | Bin .../previews/city-ind-17.9875-82.6791.webp | Bin .../previews/city-ind-18.1063-83.3951.webp | Bin .../previews/city-ind-18.1085-78.9859.webp | Bin .../previews/city-ind-18.2978-83.9127.webp | Bin .../previews/city-ind-18.4856-79.1748.webp | Bin .../previews/city-ind-18.488-83.8616.webp | Bin .../previews/city-ind-18.5347-84.0184.webp | Bin .../previews/city-ind-18.5355-83.5092.webp | Bin .../previews/city-ind-18.8207-82.6805.webp | Bin .../previews/city-ind-19.1051-81.9755.webp | Bin .../previews/city-ind-19.1089-74.7462.webp | Bin .../previews/city-ind-19.1142-77.6242.webp | Bin .../previews/city-ind-19.2034-72.9736.webp | Bin .../previews/city-ind-19.2672-76.7106.webp | Bin .../previews/city-ind-19.4263-74.4219.webp | Bin .../previews/city-ind-19.5796-84.6883.webp | Bin .../previews/city-ind-19.8119-85.829.webp | Bin .../previews/city-ind-19.9602-79.3007.webp | Bin .../previews/city-ind-20.2483-85.7829.webp | Bin .../previews/city-ind-20.4856-85.9122.webp | Bin .../previews/city-ind-20.5024-85.7438.webp | Bin .../previews/city-ind-20.6503-85.5972.webp | Bin .../previews/city-ind-20.7069-83.4843.webp | Bin .../previews/city-ind-20.7134-77.01.webp | Bin .../previews/city-ind-20.9479-85.1027.webp | Bin .../previews/city-ind-21.1417-79.0853.webp | Bin .../previews/city-ind-21.1785-72.8289.webp | Bin .../previews/city-ind-21.2304-70.5013.webp | Bin .../previews/city-ind-21.2848-81.7613.webp | Bin .../previews/city-ind-21.4688-83.9798.webp | Bin .../previews/city-ind-21.4924-86.9374.webp | Bin .../previews/city-ind-21.523-70.4574.webp | Bin .../previews/city-ind-21.764-72.1523.webp | Bin .../previews/city-ind-22.0114-86.4225.webp | Bin .../previews/city-ind-22.0796-82.1391.webp | Bin .../previews/city-ind-22.257-86.1812.webp | Bin .../previews/city-ind-22.2915-70.7754.webp | Bin .../previews/city-ind-22.3072-73.1812.webp | Bin .../previews/city-ind-22.4094-83.5605.webp | Bin .../previews/city-ind-22.429-87.3385.webp | Bin .../previews/city-ind-22.4604-70.0644.webp | Bin .../previews/city-ind-22.725-71.6435.webp | Bin .../previews/city-ind-22.7365-75.8485.webp | Bin .../previews/city-ind-22.8022-88.8331.webp | Bin .../previews/city-ind-22.8305-69.3558.webp | Bin .../previews/city-ind-22.9349-88.0215.webp | Bin .../previews/city-ind-23.0312-72.5437.webp | Bin .../previews/city-ind-23.1005-72.0671.webp | Bin .../previews/city-ind-23.1793-75.7849.webp | Bin .../previews/city-ind-23.2-77.0816.webp | Bin .../previews/city-ind-23.2461-69.6708.webp | Bin .../previews/city-ind-23.3321-86.3652.webp | Bin .../previews/city-ind-23.5878-72.3697.webp | Bin .../previews/city-ind-23.6759-69.5401.webp | Bin .../previews/city-ind-23.6808-69.7584.webp | Bin .../previews/city-ind-23.7864-79.4834.webp | Bin .../previews/city-ind-23.8255-72.9775.webp | Bin .../previews/city-ind-23.8315-91.2868.webp | Bin .../previews/city-ind-23.8978-91.4453.webp | Bin .../previews/city-ind-24.5562-81.227.webp | Bin .../previews/city-ind-24.5742-73.6877.webp | Bin .../previews/city-ind-24.6898-92.679.webp | Bin .../previews/city-ind-24.7229-93.9431.webp | Bin .../previews/city-ind-25.1681-75.8523.webp | Bin .../previews/city-ind-25.2405-86.985.webp | Bin .../previews/city-ind-26.233-73.0218.webp | Bin .../previews/city-ind-26.3013-91.5498.webp | Bin .../previews/city-ind-26.4354-86.1991.webp | Bin .../previews/city-ind-26.4497-74.6414.webp | Bin .../previews/city-ind-26.8465-80.9467.webp | Bin .../previews/city-ind-26.9351-75.7674.webp | Bin .../previews/city-ind-27.0126-74.2222.webp | Bin .../previews/city-ind-27.0561-88.4651.webp | Bin .../previews/city-ind-27.2173-77.4887.webp | Bin .../previews/city-ind-27.4436-94.9873.webp | Bin .../previews/city-ind-27.5342-77.6823.webp | Bin .../previews/city-ind-27.6099-75.1386.webp | Bin .../previews/city-ind-28.0249-73.3088.webp | Bin .../previews/city-ind-28.1879-73.1818.webp | Bin .../previews/city-ind-29.4602-77.7328.webp | Bin .../previews/city-ind-29.7457-80.5232.webp | Bin .../previews/city-ind-29.9603-77.5455.webp | Bin .../previews/city-ind-31.6058-76.5744.webp | Bin .../previews/city-ind-32.0885-76.2843.webp | Bin .../previews/city-ind-32.5087-76.224.webp | Bin .../previews/city-ind-32.7387-74.9127.webp | Bin .../previews/city-ind-33.2376-74.3118.webp | Bin .../previews/city-ind-33.702-74.1081.webp | Bin .../previews/city-ind-33.7142-75.2096.webp | Bin .../previews/city-ind-34.0494-74.7834.webp | Bin .../previews/city-ind-34.1442-74.8863.webp | Bin .../previews/city-ind-34.5502-76.1323.webp | Bin .../previews/city-ind-8.0883-77.5386.webp | Bin .../previews/city-ind-8.2659-77.3252.webp | Bin .../previews/city-ind-8.4993-76.9453.webp | Bin .../previews/city-ind-8.7139-77.7557.webp | Bin .../previews/city-ind-8.9113-76.5901.webp | Bin .../previews/city-ind-9.5008-76.3403.webp | Bin .../previews/city-ind-9.5413-76.5366.webp | Bin .../previews/city-ind-9.9721-76.2969.webp | Bin .../previews/city-mys-4.0421-113.9325.webp | Bin .../previews/city-nga-10.5617-8.9977.webp | Bin .../previews/city-nga-10.9183-9.7943.webp | Bin .../previews/city-nga-7.5102-6.0404.webp | Bin .../previews/city-sdn-11.7906-29.3451.webp | Bin .../previews/city-sdn-12.0557-29.5026.webp | Bin .../previews/city-tcd-11.1518-15.0588.webp | Bin .../previews/city-tgo-8.9949-1.4662.webp | Bin .../key-cities/cities-list.vue | 0 .../key-cities/cities-map.vue | 0 .../key-cities/city-poster-wall.vue | 0 .../key-cities/data-tables.vue | 0 .../data/tables/field-access-visas.json | 0 .../key-cities/data/tables/key-cities.json | 0 .../data/tables/languages-per-city.json | 0 .../key-cities/index.html | 0 .../key-cities/index.js | 0 .../assets/previews/andean-caribbean.webp | Bin .../asia-china-tibet-autonomous-region.webp | Bin .../previews/asia-china-yunnan-province.webp | Bin .../previews/asia-india-andhra-pradesh.webp | Bin .../assets/previews/asia-india-gujarat.webp | Bin .../assets/previews/asia-india-karnataka.webp | Bin .../assets/previews/asia-india-kerala.webp | Bin .../previews/asia-india-madhya-pradesh.webp | Bin .../assets/previews/asia-india-odisha.webp | Bin .../assets/previews/asia-india-rajasthan.webp | Bin .../previews/asia-india-tamil-nadu.webp | Bin .../previews/asia-india-uttarakhand.webp | Bin .../previews/asia-india-west-bengal.webp | Bin .../assets/previews/brazil.webp | Bin .../assets/previews/central-africa.webp | Bin .../my-upg-100-list/assets/previews/deaf.webp | Bin .../assets/previews/east-africa.webp | Bin .../assets/previews/europe.webp | Bin .../my-upg-100-list/assets/previews/laos.webp | Bin .../assets/previews/maghreb-egypt.webp | Bin .../mainland-se-asia-philippines.webp | Bin .../assets/previews/middle-east-core.webp | Bin .../assets/previews/oceania-indonesia.webp | Bin .../previews/southern-africa-islands.webp | Bin .../assets/previews/sudan.webp | Bin .../assets/previews/uncovered-nas-a.webp | Bin .../assets/previews/uncovered-scatter.webp | Bin .../assets/previews/west-africa.webp | Bin .../my-upg-100-list/data/adjacency-proof.mjs | 0 .../my-upg-100-list/data/adjacency.json | 0 .../my-upg-100-list/data/adjacency.mjs | 0 .../my-upg-100-list/data/adm0/PROVENANCE.json | 0 .../data/adm0/world-adm0.geojson | 0 .../my-upg-100-list/data/admin-counts.json | 0 .../data/admin-membership.json | 0 .../my-upg-100-list/data/admin-to-list.json | 0 .../data/apply-grouping-proof.mjs | 0 .../my-upg-100-list/data/apply-grouping.mjs | 0 .../my-upg-100-list/data/china-clusters.json | 0 .../data/china-isolation-proof.mjs | 0 .../data/china-original-pre-09b-4.json | 0 .../data/china-partition-proof.mjs | 0 .../my-upg-100-list/data/clusters.json | 0 .../my-upg-100-list/data/clusters.source.md | 0 .../data/color-isolation-proof.mjs | 0 .../data/emit-china-clusters.mjs | 0 .../data/emit-india-clusters.mjs | 0 .../my-upg-100-list/data/emit-list-bounds.mjs | 0 .../data/emit-uncovered-clusters.mjs | 0 .../my-upg-100-list/data/evaluator.test.mjs | 0 .../my-upg-100-list/data/gb-CHN-ADM1.geojson | 0 .../my-upg-100-list/data/gb-IND-ADM1.geojson | 0 .../data/generate-region-shades.mjs | 0 .../my-upg-100-list/data/groupings.json | 0 .../my-upg-100-list/data/india-clusters.json | 0 .../data/india-isolation-proof.mjs | 0 .../data/india-partition-proof.mjs | 0 .../my-upg-100-list/data/legend-tree.js | 0 .../my-upg-100-list/data/normalize.js | 0 .../data/oceania-color-proof.mjs | 0 .../my-upg-100-list/data/palette-preview.mjs | 0 .../my-upg-100-list/data/partition-china.mjs | 0 .../my-upg-100-list/data/partition-india.mjs | 0 .../data/partition-uncovered.mjs | 0 .../my-upg-100-list/data/pin-proof.mjs | 0 .../my-upg-100-list/data/pip-proof.mjs | 0 .../my-upg-100-list/data/pip-stamp.mjs | 0 .../my-upg-100-list/data/pop-proof.mjs | 0 .../my-upg-100-list/data/proof.sh | 0 .../my-upg-100-list/data/recache-full.mjs | 0 .../my-upg-100-list/data/recache-rop1.mjs | 0 .../my-upg-100-list/data/region-hue-proof.mjs | 0 .../my-upg-100-list/data/retag-adm1.mjs | 0 .../my-upg-100-list/data/search-index.js | 0 .../data/selector-evaluator.js | 0 .../my-upg-100-list/data/set-zone-color.mjs | 0 .../data/source-boundaries.mjs | 0 .../my-upg-100-list/data/tapestry-proof.mjs | 0 .../my-upg-100-list/data/territory-counts.js | 0 .../data/uncovered-clusters.json | 0 .../my-upg-100-list/data/uncovered-proof.mjs | 0 .../my-upg-100-list/data/visual-gate.mjs | 0 .../my-upg-100-list/data/zone-colors.js | 0 .../my-upg-100-list/data/zone-colors.json | 0 .../my-upg-100-list/data/zone-geometry.js | 0 .../my-upg-100-list/data/zone-regions.json | 0 .../data/zone-resolves-proof.mjs | 0 .../my-upg-100-list/index.html | 0 .../my-upg-100-list/index.js | 0 .../my-upg-100-list/poster-wall.vue | 0 .../my-upg-100-list/upg-100-list.vue | 0 .../my-upg-100-list/upg-100-mfe.meta.json | 0 .../my-upg-100-list/upg-100-mfe.vue | 0 .../research-dashboard/dashboard.config.js | 0 .../research-dashboard/index.html | 0 .../research-dashboard/index.js | 0 .../research-dashboard/research-dashboard.vue | 0 .../dashboards/DashboardBreadcrumb.vue | 0 .../dashboards/DashboardChartsRail.vue | 0 .../dashboards/DashboardDataTable.vue | 0 .../dashboards/DashboardDetailDrawer.vue | 0 .../dashboards/DashboardFacetRail.vue | 0 .../dashboards/DashboardFilterChips.vue | 0 .../dashboards/DashboardMapPanel.vue | 0 .../dashboards/DashboardSearchHeader.vue | 0 .../components/dashboards/DashboardTopBar.vue | 0 .../src/components/dashboards/index.js | 0 .../src/composables/useCsvExport.js | 0 .../composables/useDashboardAggregations.js | 0 .../src/composables/useDashboardData.js | 0 .../src/composables/useDashboardLayout.js | 0 .../src/composables/useDashboardShell.js | 0 .../src/composables/useSelectionBus.js | 0 .../template-bundle/README.md | 0 .../template-bundle/index.html | 0 .../template-bundle/index.js | 0 .../template-bundle/src/README.md | 0 .../template-bundle/src/api/README.md | 0 .../template-bundle/src/colors/README.md | 0 .../template-bundle/src/colors/colors.json | 0 .../src/colors/example-mode.js | 0 .../template-bundle/src/components/README.md | 0 .../template-bundle/src/composables/README.md | 0 .../template-bundle/src/utils/README.md | 0 .../template-bundle/template-map-a.vue | 0 .../template-bundle/template-map-b.vue | 0 .../all-people-groups/all-people-groups.js | 36 ++-- .../all-people-groups/index.html | 2 +- public/doxa-maps/all-people-groups/index.html | 2 +- public/doxa-maps/cities-internet/index.html | 2 +- .../country-posters/countries-map/index.html | 2 +- .../country-poster-wall/index.html | 2 +- .../country-posters/country-posters.js | 142 +++++++++++---- public/doxa-maps/country-posters/index.html | 2 +- public/doxa-maps/demo-map/demo-map.js | 47 ++--- public/doxa-maps/demo-map/demo-map/index.html | 2 +- .../demo-map/demo-map/maplibre/index.html | 2 +- public/doxa-maps/demo-map/index.html | 2 +- .../doxa-research-map/doxa-research-map.js | 172 +++++++++++++----- public/doxa-maps/doxa-research-map/index.html | 2 +- .../doxa-research-map/research-map/index.html | 2 +- .../doxa-simple-map/doxa-simple-map.js | 133 ++++++++++---- .../doxa-simple-map/adoption/index.html | 2 +- .../doxa-simple-map/engagement/index.html | 2 +- .../doxa-simple-map/index.html | 2 +- .../doxa-simple-map/prayer/index.html | 2 +- public/doxa-maps/doxa-simple-map/index.html | 2 +- public/doxa-maps/gospel-resources/index.html | 2 +- public/doxa-maps/index.html | 2 +- public/doxa-maps/manifest.json | 42 ++--- public/doxa-maps/my-upg-100-list/index.html | 2 +- .../my-upg-100-list/my-upg-100-list.js | 58 +++--- .../my-upg-100-list/poster-wall/index.html | 2 +- .../my-upg-100-list/upg-100-list/index.html | 2 +- .../my-upg-100-list/upg-100-mfe/index.html | 2 +- .../doxa-maps/research-dashboard/index.html | 2 +- .../research-dashboard/research-dashboard.js | 78 +++++--- .../research-dashboard/index.html | 2 +- public/doxa-maps/template-bundle/index.html | 2 +- .../template-bundle/template-bundle.js | 4 +- .../template-bundle/template-map-a/index.html | 2 +- .../template-bundle/template-map-b/index.html | 2 +- public/index.html | 2 +- vite.config.js | 2 +- 609 files changed, 521 insertions(+), 273 deletions(-) rename {app-profiles => plugin-designs}/.gitkeep (100%) rename {app-profiles => plugin-designs}/README.md (100%) rename {app-profiles => plugin-designs}/all-people-groups/all-people-groups.vue (100%) rename {app-profiles => plugin-designs}/all-people-groups/index.html (100%) rename {app-profiles => plugin-designs}/all-people-groups/index.js (100%) rename {app-profiles => plugin-designs}/cities-internet/connectivity-list.vue (100%) rename {app-profiles => plugin-designs}/cities-internet/connectivity-map.vue (100%) rename {app-profiles => plugin-designs}/cities-internet/data-tables.vue (100%) rename {app-profiles => plugin-designs}/cities-internet/data/connectivity.json (100%) rename {app-profiles => plugin-designs}/cities-internet/data/tables/country-connectivity.json (100%) rename {app-profiles => plugin-designs}/cities-internet/data/tables/gospel-access-vs-growth.json (100%) rename {app-profiles => plugin-designs}/cities-internet/data/tables/index.json (100%) rename {app-profiles => plugin-designs}/cities-internet/data/tables/key-cities.json (100%) rename {app-profiles => plugin-designs}/cities-internet/data/tables/messaging-channels.json (100%) rename {app-profiles => plugin-designs}/cities-internet/data/tables/network-operators.json (100%) rename {app-profiles => plugin-designs}/cities-internet/data/tables/people-group-resources.json (100%) rename {app-profiles => plugin-designs}/cities-internet/data/tables/social-platforms.json (100%) rename {app-profiles => plugin-designs}/cities-internet/index.html (100%) rename {app-profiles => plugin-designs}/cities-internet/index.js (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-abw.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-afg.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-ago.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-alb.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-and.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-are.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-arm.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-asm.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-atg.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-aze.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-ben.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-bfa.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-bgd.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-bgr.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-bhr.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-bhs.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-bih.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-blm.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-blr.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-bmu.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-bol.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-bra.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-brb.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-brn.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-btn.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-caf.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-cck.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-chn.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-civ.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-cmr.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-cod.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-cog.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-cok.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-col.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-com.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-cub.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-cuw.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-cxr.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-cym.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-cyp.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-cze.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-dji.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-dma.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-dza.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-ecu.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-egy.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-eri.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-esh.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-esp.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-eth.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-fin.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-fji.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-fro.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-fsm.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-gab.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-geo.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-ggy.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-gha.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-gib.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-gin.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-glp.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-gmb.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-gnb.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-gnq.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-grc.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-grd.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-guf.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-gum.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-guy.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-hkg.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-idn.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-irn.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-irq.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-isl.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-isr.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-jam.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-jey.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-jor.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-jpn.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-kaz.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-ken.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-kgz.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-khm.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-kir.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-kos.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-kwt.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-lao.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-lbn.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-lbr.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-lby.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-lca.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-lie.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-lka.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-lux.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-mac.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-mar.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-mco.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-mdv.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-mhl.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-mli.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-mlt.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-mmr.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-mne.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-mng.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-mnp.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-moz.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-mrt.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-msr.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-mus.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-mwi.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-mys.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-myt.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-nam.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-ncl.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-ner.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-nfk.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-nga.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-niu.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-npl.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-nzl.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-omn.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-pak.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-pan.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-per.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-phl.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-plw.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-png.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-prk.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-pry.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-pse.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-pyf.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-qat.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-rus.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-sau.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-sdn.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-sen.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-shn.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-sjm.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-slb.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-sle.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-smr.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-som.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-ssd.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-stp.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-sur.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-swe.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-swz.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-sxm.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-syr.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-tca.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-tcd.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-tgo.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-tha.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-tjk.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-tkl.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-ton.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-tun.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-tur.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-tza.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-uga.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-usa.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-uzb.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-vct.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-ven.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-vgb.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-vir.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-vnm.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-vut.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-wlf.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-wsm.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-yem.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-zaf.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-zmb.webp (100%) rename {app-profiles => plugin-designs}/country-posters/assets/previews/country-zwe.webp (100%) rename {app-profiles => plugin-designs}/country-posters/countries-map.vue (100%) rename {app-profiles => plugin-designs}/country-posters/country-poster-wall.vue (100%) rename {app-profiles => plugin-designs}/country-posters/data/countries.json (100%) rename {app-profiles => plugin-designs}/country-posters/index.html (100%) rename {app-profiles => plugin-designs}/country-posters/index.js (100%) rename {app-profiles => plugin-designs}/country-posters/src/colors/affinity-block.js (100%) rename {app-profiles => plugin-designs}/country-posters/src/colors/doxa-region.js (100%) rename {app-profiles => plugin-designs}/country-posters/src/colors/resource.js (100%) rename {app-profiles => plugin-designs}/demo-map/demo-map.instances.json (100%) rename {app-profiles => plugin-designs}/demo-map/demo-map.vue (100%) rename {app-profiles => plugin-designs}/demo-map/index.html (100%) rename {app-profiles => plugin-designs}/demo-map/index.js (100%) rename {app-profiles => plugin-designs}/demo-map/src/README.md (100%) rename {app-profiles => plugin-designs}/demo-map/src/api/README.md (100%) rename {app-profiles => plugin-designs}/demo-map/src/colors/README.md (100%) rename {app-profiles => plugin-designs}/demo-map/src/colors/colors.json (100%) rename {app-profiles => plugin-designs}/demo-map/src/colors/single-color.js (100%) rename {app-profiles => plugin-designs}/demo-map/src/components/README.md (100%) rename {app-profiles => plugin-designs}/demo-map/src/composables/README.md (100%) rename {app-profiles => plugin-designs}/demo-map/src/utils/README.md (100%) rename {app-profiles => plugin-designs}/doxa-research-map/index.html (100%) rename {app-profiles => plugin-designs}/doxa-research-map/index.js (100%) rename {app-profiles => plugin-designs}/doxa-research-map/research-map.meta.json (100%) rename {app-profiles => plugin-designs}/doxa-research-map/research-map.vue (100%) rename {app-profiles => plugin-designs}/doxa-research-map/src/README.md (100%) rename {app-profiles => plugin-designs}/doxa-research-map/src/api/README.md (100%) rename {app-profiles => plugin-designs}/doxa-research-map/src/colors/README.md (100%) rename {app-profiles => plugin-designs}/doxa-research-map/src/colors/affinity-block.js (100%) rename {app-profiles => plugin-designs}/doxa-research-map/src/colors/doxa-region.js (100%) rename {app-profiles => plugin-designs}/doxa-research-map/src/colors/resource.js (100%) rename {app-profiles => plugin-designs}/doxa-research-map/src/components/README.md (100%) rename {app-profiles => plugin-designs}/doxa-research-map/src/composables/README.md (100%) rename {app-profiles => plugin-designs}/doxa-research-map/src/utils/README.md (100%) rename {app-profiles => plugin-designs}/doxa-simple-map/doxa-simple-map.vue (100%) rename {app-profiles => plugin-designs}/doxa-simple-map/index.html (100%) rename {app-profiles => plugin-designs}/doxa-simple-map/index.js (100%) rename {app-profiles => plugin-designs}/doxa-simple-map/simple-map.instances.json (100%) rename {app-profiles => plugin-designs}/doxa-simple-map/src/README.md (100%) rename {app-profiles => plugin-designs}/doxa-simple-map/src/api/README.md (100%) rename {app-profiles => plugin-designs}/doxa-simple-map/src/colors/README.md (100%) rename {app-profiles => plugin-designs}/doxa-simple-map/src/components/README.md (100%) rename {app-profiles => plugin-designs}/doxa-simple-map/src/composables/README.md (100%) rename {app-profiles => plugin-designs}/doxa-simple-map/src/utils/README.md (100%) rename {app-profiles => plugin-designs}/gospel-resources/charts.vue (100%) rename {app-profiles => plugin-designs}/gospel-resources/data-tables.vue (100%) rename {app-profiles => plugin-designs}/gospel-resources/data/by-country.json (100%) rename {app-profiles => plugin-designs}/gospel-resources/data/resources.json (100%) rename {app-profiles => plugin-designs}/gospel-resources/data/tables/city-bridge-opportunities.json (100%) rename {app-profiles => plugin-designs}/gospel-resources/data/tables/deaf-gap.json (100%) rename {app-profiles => plugin-designs}/gospel-resources/data/tables/gaps-and-opportunities.json (100%) rename {app-profiles => plugin-designs}/gospel-resources/data/tables/gospel-access-vs-growth.json (100%) rename {app-profiles => plugin-designs}/gospel-resources/data/tables/gospel-link-verification.json (100%) rename {app-profiles => plugin-designs}/gospel-resources/data/tables/languages-by-country.json (100%) rename {app-profiles => plugin-designs}/gospel-resources/data/tables/people-group-resources.json (100%) rename {app-profiles => plugin-designs}/gospel-resources/index.html (100%) rename {app-profiles => plugin-designs}/gospel-resources/index.js (100%) rename {app-profiles => plugin-designs}/gospel-resources/resources-list.vue (100%) rename {app-profiles => plugin-designs}/gospel-resources/resources-map.vue (100%) rename {app-profiles => plugin-designs}/gospel-resources/scripts/verify-gospel-click-sheet.mjs (100%) rename {app-profiles => plugin-designs}/gospel-resources/scripts/verify-gospel-links.mjs (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ago--8.8484-13.2535.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-bfa-9.7792--4.2879.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-brn-4.9234-114.9209.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-btn-27.75-91.2637.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-cod-3.5049-24.4533.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-idn--3.7191-127.9542.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-10.1396-77.7883.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-10.3796-78.8202.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-10.5285-76.2146.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-10.7853-78.7051.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-10.7855-76.6516.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-10.787-79.1378.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-10.8469-76.2633.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-11.0049-76.9626.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-11.0546-78.6369.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-11.06-76.0816.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-11.0991-77.2807.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-11.1271-78.6565.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-11.253-76.2299.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-11.3548-77.711.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-11.4517-76.7145.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-11.6234-92.7265.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-11.6765-76.1741.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-11.8745-75.3695.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-11.9182-79.8085.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-11.967-75.3663.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-12.2973-75.7684.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-12.3022-76.6423.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-12.427-75.742.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-12.4538-75.1701.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-12.5102-74.9852.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-12.5446-80.0193.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-12.6867-79.9614.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-12.8403-75.2483.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-12.9125-79.3429.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-12.964-74.837.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-12.9789-77.5857.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-13.0505-75.1773.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-13.2174-79.101.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-13.2466-80.2533.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-13.3138-75.7731.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-13.3389-74.7451.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-13.4672-79.0137.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-13.6192-79.4197.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-14.4428-79.9882.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-14.494-78.7992.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-14.7445-74.7282.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-14.7811-74.6161.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-14.8066-74.1305.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-15.1518-75.4446.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-15.2213-74.0714.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-15.4573-75.0086.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-15.4895-79.6006.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-15.5127-77.9554.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-15.8971-79.7392.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-16.1786-81.1347.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-16.3172-80.0518.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-16.4355-80.0228.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-16.5066-80.6501.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-16.6981-74.2441.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-16.7107-81.0956.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-16.8296-75.7135.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-17.0598-74.68.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-17.2551-78.4478.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-17.3189-82.4772.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-17.4284-78.4492.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-17.6602-75.908.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-17.6921-83.2225.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-17.9875-82.6791.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-18.1063-83.3951.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-18.1085-78.9859.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-18.2978-83.9127.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-18.4856-79.1748.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-18.488-83.8616.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-18.5347-84.0184.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-18.5355-83.5092.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-18.8207-82.6805.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-19.1051-81.9755.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-19.1089-74.7462.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-19.1142-77.6242.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-19.2034-72.9736.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-19.2672-76.7106.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-19.4263-74.4219.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-19.5796-84.6883.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-19.8119-85.829.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-19.9602-79.3007.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-20.2483-85.7829.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-20.4856-85.9122.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-20.5024-85.7438.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-20.6503-85.5972.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-20.7069-83.4843.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-20.7134-77.01.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-20.9479-85.1027.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-21.1417-79.0853.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-21.1785-72.8289.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-21.2304-70.5013.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-21.2848-81.7613.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-21.4688-83.9798.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-21.4924-86.9374.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-21.523-70.4574.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-21.764-72.1523.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-22.0114-86.4225.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-22.0796-82.1391.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-22.257-86.1812.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-22.2915-70.7754.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-22.3072-73.1812.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-22.4094-83.5605.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-22.429-87.3385.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-22.4604-70.0644.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-22.725-71.6435.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-22.7365-75.8485.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-22.8022-88.8331.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-22.8305-69.3558.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-22.9349-88.0215.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-23.0312-72.5437.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-23.1005-72.0671.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-23.1793-75.7849.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-23.2-77.0816.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-23.2461-69.6708.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-23.3321-86.3652.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-23.5878-72.3697.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-23.6759-69.5401.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-23.6808-69.7584.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-23.7864-79.4834.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-23.8255-72.9775.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-23.8315-91.2868.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-23.8978-91.4453.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-24.5562-81.227.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-24.5742-73.6877.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-24.6898-92.679.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-24.7229-93.9431.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-25.1681-75.8523.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-25.2405-86.985.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-26.233-73.0218.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-26.3013-91.5498.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-26.4354-86.1991.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-26.4497-74.6414.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-26.8465-80.9467.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-26.9351-75.7674.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-27.0126-74.2222.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-27.0561-88.4651.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-27.2173-77.4887.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-27.4436-94.9873.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-27.5342-77.6823.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-27.6099-75.1386.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-28.0249-73.3088.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-28.1879-73.1818.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-29.4602-77.7328.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-29.7457-80.5232.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-29.9603-77.5455.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-31.6058-76.5744.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-32.0885-76.2843.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-32.5087-76.224.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-32.7387-74.9127.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-33.2376-74.3118.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-33.702-74.1081.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-33.7142-75.2096.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-34.0494-74.7834.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-34.1442-74.8863.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-34.5502-76.1323.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-8.0883-77.5386.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-8.2659-77.3252.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-8.4993-76.9453.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-8.7139-77.7557.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-8.9113-76.5901.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-9.5008-76.3403.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-9.5413-76.5366.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-ind-9.9721-76.2969.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-mys-4.0421-113.9325.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-nga-10.5617-8.9977.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-nga-10.9183-9.7943.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-nga-7.5102-6.0404.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-sdn-11.7906-29.3451.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-sdn-12.0557-29.5026.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-tcd-11.1518-15.0588.webp (100%) rename {app-profiles => plugin-designs}/key-cities/assets/previews/city-tgo-8.9949-1.4662.webp (100%) rename {app-profiles => plugin-designs}/key-cities/cities-list.vue (100%) rename {app-profiles => plugin-designs}/key-cities/cities-map.vue (100%) rename {app-profiles => plugin-designs}/key-cities/city-poster-wall.vue (100%) rename {app-profiles => plugin-designs}/key-cities/data-tables.vue (100%) rename {app-profiles => plugin-designs}/key-cities/data/tables/field-access-visas.json (100%) rename {app-profiles => plugin-designs}/key-cities/data/tables/key-cities.json (100%) rename {app-profiles => plugin-designs}/key-cities/data/tables/languages-per-city.json (100%) rename {app-profiles => plugin-designs}/key-cities/index.html (100%) rename {app-profiles => plugin-designs}/key-cities/index.js (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/assets/previews/andean-caribbean.webp (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/assets/previews/asia-china-tibet-autonomous-region.webp (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/assets/previews/asia-china-yunnan-province.webp (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/assets/previews/asia-india-andhra-pradesh.webp (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/assets/previews/asia-india-gujarat.webp (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/assets/previews/asia-india-karnataka.webp (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/assets/previews/asia-india-kerala.webp (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/assets/previews/asia-india-madhya-pradesh.webp (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/assets/previews/asia-india-odisha.webp (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/assets/previews/asia-india-rajasthan.webp (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/assets/previews/asia-india-tamil-nadu.webp (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/assets/previews/asia-india-uttarakhand.webp (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/assets/previews/asia-india-west-bengal.webp (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/assets/previews/brazil.webp (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/assets/previews/central-africa.webp (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/assets/previews/deaf.webp (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/assets/previews/east-africa.webp (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/assets/previews/europe.webp (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/assets/previews/laos.webp (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/assets/previews/maghreb-egypt.webp (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/assets/previews/mainland-se-asia-philippines.webp (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/assets/previews/middle-east-core.webp (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/assets/previews/oceania-indonesia.webp (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/assets/previews/southern-africa-islands.webp (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/assets/previews/sudan.webp (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/assets/previews/uncovered-nas-a.webp (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/assets/previews/uncovered-scatter.webp (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/assets/previews/west-africa.webp (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/adjacency-proof.mjs (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/adjacency.json (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/adjacency.mjs (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/adm0/PROVENANCE.json (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/adm0/world-adm0.geojson (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/admin-counts.json (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/admin-membership.json (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/admin-to-list.json (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/apply-grouping-proof.mjs (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/apply-grouping.mjs (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/china-clusters.json (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/china-isolation-proof.mjs (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/china-original-pre-09b-4.json (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/china-partition-proof.mjs (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/clusters.json (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/clusters.source.md (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/color-isolation-proof.mjs (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/emit-china-clusters.mjs (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/emit-india-clusters.mjs (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/emit-list-bounds.mjs (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/emit-uncovered-clusters.mjs (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/evaluator.test.mjs (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/gb-CHN-ADM1.geojson (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/gb-IND-ADM1.geojson (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/generate-region-shades.mjs (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/groupings.json (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/india-clusters.json (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/india-isolation-proof.mjs (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/india-partition-proof.mjs (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/legend-tree.js (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/normalize.js (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/oceania-color-proof.mjs (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/palette-preview.mjs (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/partition-china.mjs (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/partition-india.mjs (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/partition-uncovered.mjs (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/pin-proof.mjs (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/pip-proof.mjs (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/pip-stamp.mjs (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/pop-proof.mjs (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/proof.sh (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/recache-full.mjs (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/recache-rop1.mjs (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/region-hue-proof.mjs (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/retag-adm1.mjs (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/search-index.js (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/selector-evaluator.js (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/set-zone-color.mjs (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/source-boundaries.mjs (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/tapestry-proof.mjs (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/territory-counts.js (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/uncovered-clusters.json (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/uncovered-proof.mjs (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/visual-gate.mjs (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/zone-colors.js (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/zone-colors.json (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/zone-geometry.js (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/zone-regions.json (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/data/zone-resolves-proof.mjs (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/index.html (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/index.js (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/poster-wall.vue (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/upg-100-list.vue (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/upg-100-mfe.meta.json (100%) rename {app-profiles => plugin-designs}/my-upg-100-list/upg-100-mfe.vue (100%) rename {app-profiles => plugin-designs}/research-dashboard/dashboard.config.js (100%) rename {app-profiles => plugin-designs}/research-dashboard/index.html (100%) rename {app-profiles => plugin-designs}/research-dashboard/index.js (100%) rename {app-profiles => plugin-designs}/research-dashboard/research-dashboard.vue (100%) rename {app-profiles => plugin-designs}/research-dashboard/src/components/dashboards/DashboardBreadcrumb.vue (100%) rename {app-profiles => plugin-designs}/research-dashboard/src/components/dashboards/DashboardChartsRail.vue (100%) rename {app-profiles => plugin-designs}/research-dashboard/src/components/dashboards/DashboardDataTable.vue (100%) rename {app-profiles => plugin-designs}/research-dashboard/src/components/dashboards/DashboardDetailDrawer.vue (100%) rename {app-profiles => plugin-designs}/research-dashboard/src/components/dashboards/DashboardFacetRail.vue (100%) rename {app-profiles => plugin-designs}/research-dashboard/src/components/dashboards/DashboardFilterChips.vue (100%) rename {app-profiles => plugin-designs}/research-dashboard/src/components/dashboards/DashboardMapPanel.vue (100%) rename {app-profiles => plugin-designs}/research-dashboard/src/components/dashboards/DashboardSearchHeader.vue (100%) rename {app-profiles => plugin-designs}/research-dashboard/src/components/dashboards/DashboardTopBar.vue (100%) rename {app-profiles => plugin-designs}/research-dashboard/src/components/dashboards/index.js (100%) rename {app-profiles => plugin-designs}/research-dashboard/src/composables/useCsvExport.js (100%) rename {app-profiles => plugin-designs}/research-dashboard/src/composables/useDashboardAggregations.js (100%) rename {app-profiles => plugin-designs}/research-dashboard/src/composables/useDashboardData.js (100%) rename {app-profiles => plugin-designs}/research-dashboard/src/composables/useDashboardLayout.js (100%) rename {app-profiles => plugin-designs}/research-dashboard/src/composables/useDashboardShell.js (100%) rename {app-profiles => plugin-designs}/research-dashboard/src/composables/useSelectionBus.js (100%) rename {app-profiles => plugin-designs}/template-bundle/README.md (100%) rename {app-profiles => plugin-designs}/template-bundle/index.html (100%) rename {app-profiles => plugin-designs}/template-bundle/index.js (100%) rename {app-profiles => plugin-designs}/template-bundle/src/README.md (100%) rename {app-profiles => plugin-designs}/template-bundle/src/api/README.md (100%) rename {app-profiles => plugin-designs}/template-bundle/src/colors/README.md (100%) rename {app-profiles => plugin-designs}/template-bundle/src/colors/colors.json (100%) rename {app-profiles => plugin-designs}/template-bundle/src/colors/example-mode.js (100%) rename {app-profiles => plugin-designs}/template-bundle/src/components/README.md (100%) rename {app-profiles => plugin-designs}/template-bundle/src/composables/README.md (100%) rename {app-profiles => plugin-designs}/template-bundle/src/utils/README.md (100%) rename {app-profiles => plugin-designs}/template-bundle/template-map-a.vue (100%) rename {app-profiles => plugin-designs}/template-bundle/template-map-b.vue (100%) diff --git a/.gitattributes b/.gitattributes index a97f025fb..33a8cc292 100644 --- a/.gitattributes +++ b/.gitattributes @@ -34,4 +34,4 @@ bun.lock linguist-generated=true -diff # Committed research data and imagery: real content, but not code anyone reads. public/assets/** linguist-vendored=true -app-profiles/*/data/** linguist-vendored=true +plugin-designs/*/data/** linguist-vendored=true diff --git a/.gitignore b/.gitignore index 064778822..c6555c32f 100644 --- a/.gitignore +++ b/.gitignore @@ -85,7 +85,7 @@ layouts/*/js/ # rule is that it never reads a PNG back, it asserts against the live DOM. So these # are 11 MB of regenerable pictures of somebody's screen, and they bake build-slice # vocabulary into pixels where no text scrub can reach it. -app-profiles/*/data/visual-gate-shots/ +plugin-designs/*/data/visual-gate-shots/ library/scripts/*/out/** internal/*/out/** diff --git a/internal/generate-tree.mjs b/internal/generate-tree.mjs index eaa3cdd87..9c7590514 100644 --- a/internal/generate-tree.mjs +++ b/internal/generate-tree.mjs @@ -39,7 +39,7 @@ import { fileURLToPath } from 'node:url' import { createHash } from 'node:crypto' const __dirname = dirname(fileURLToPath(import.meta.url)) -const APP_PROFILES = resolve(__dirname, '..', 'app-profiles') +const APP_PROFILES = resolve(__dirname, '..', 'plugin-designs') // The single build-config for this bundler (name, paths, embedBaseUrl, tokenUrl). const BUILD_CONFIG_FILE = resolve(__dirname, '..', 'vite.doxa-maps-build-config.json') const SOURCES = resolve(__dirname, '..', 'library/api/sources.json') @@ -631,7 +631,7 @@ function readInstances(dir, profileName, bundle, tag) { // ── Scan app-profiles → bundle records ─────────────────────────────────────── function scanBundles() { if (!existsSync(APP_PROFILES)) { - console.error(`[generate-tree] no app-profiles/ at ${APP_PROFILES}`) + console.error(`[generate-tree] no plugin-designs/ at ${APP_PROFILES}`) process.exit(1) } const PROTOTYPE_RE = /template|example|starter|sample|demo|clone/i @@ -738,7 +738,7 @@ function readDestinations() { function writeManifestAndHtml(root, bundles, tokenUrlExpr, bakedToken) { const manifest = { schema: 'doxa-maps-manifest@1', - generatedFrom: 'app-profiles/*/*.vue', + generatedFrom: 'plugin-designs/*/*.vue', // The base URL all embed/script/iframe URLs below are built against. Set // embedBaseUrl in vite.doxa-maps-build-config.json to make these absolute; empty here // means they are root-relative (served from the site root). @@ -799,7 +799,7 @@ function main() { // Filenames are already app-prefixed (country-*.webp vs the zone keys), so one // flat folder cannot collide. { - const profilesRoot = resolve(__dirname, '..', 'app-profiles') + const profilesRoot = resolve(__dirname, '..', 'plugin-designs') const d = join(pubAssets, 'previews') let copied = 0 for (const name of readdirSync(profilesRoot)) { @@ -814,7 +814,7 @@ function main() { } const bDir = join(pubAssets, 'boundaries') mkdirSync(bDir, { recursive: true }) - const dataDir = resolve(__dirname, '..', 'app-profiles', 'my-upg-100-list', 'data') + const dataDir = resolve(__dirname, '..', 'plugin-designs', 'my-upg-100-list', 'data') for (const [from, to] of [ [join(dataDir, 'adm0', 'world-adm0.geojson'), 'world-adm0.geojson'], [join(dataDir, 'gb-IND-ADM1.geojson'), 'gb-IND-ADM1.geojson'], diff --git a/library/scripts/posters/emit-countries.mjs b/library/scripts/posters/emit-countries.mjs index 9a9f0f73d..b2665f276 100644 --- a/library/scripts/posters/emit-countries.mjs +++ b/library/scripts/posters/emit-countries.mjs @@ -23,9 +23,9 @@ import { fileURLToPath } from 'node:url'; import { dirname, join, resolve } from 'node:path'; const __dirname = dirname(fileURLToPath(import.meta.url)); -const OUT_DIR = resolve(__dirname, '..', '..', '..', 'app-profiles', 'country-posters', 'data'); +const OUT_DIR = resolve(__dirname, '..', '..', '..', 'plugin-designs', 'country-posters', 'data'); const RECORDS = join(__dirname, 'out', '_records.json'); -const ADM0 = resolve(__dirname, '..', '..', '..', 'app-profiles', 'my-upg-100-list', 'data', 'adm0', 'world-adm0.geojson'); +const ADM0 = resolve(__dirname, '..', '..', '..', 'plugin-designs', 'my-upg-100-list', 'data', 'adm0', 'world-adm0.geojson'); const OVERSIZE_AT = 120; // above this, the 3x4 sheet const UNSUPPORTED_AT = 200; // above this, no single sheet fits legibly diff --git a/library/scripts/posters/make-previews.py b/library/scripts/posters/make-previews.py index 85cce96b9..19624932f 100644 --- a/library/scripts/posters/make-previews.py +++ b/library/scripts/posters/make-previews.py @@ -36,7 +36,7 @@ REPO = os.path.abspath(os.path.join(HERE, '..', '..')) # posters sitting in the same folder (and vice versa). PROFILE = os.environ.get('PROFILE', 'my-upg-100-list') ONLY = os.environ.get('ONLY_PREFIX', '') -THUMB = os.path.join(REPO, 'app-profiles', PROFILE, 'assets', 'previews') +THUMB = os.path.join(REPO, 'plugin-designs', PROFILE, 'assets', 'previews') FULL = os.path.join(REPO, 'public', 'assets', 'posters') os.makedirs(THUMB, exist_ok=True) diff --git a/library/scripts/posters/snapshots/v2-3x3-full-vision/generate.mjs b/library/scripts/posters/snapshots/v2-3x3-full-vision/generate.mjs index 4b7b8bd5b..21770ae93 100644 --- a/library/scripts/posters/snapshots/v2-3x3-full-vision/generate.mjs +++ b/library/scripts/posters/snapshots/v2-3x3-full-vision/generate.mjs @@ -24,7 +24,7 @@ import { fileURLToPath } from 'node:url'; import { dirname, join, resolve } from 'node:path'; const __dirname = dirname(fileURLToPath(import.meta.url)); -const DATA = process.env.UPG100_DATA_PATH ? resolve(process.env.UPG100_DATA_PATH) : join(__dirname, '..', 'app-profiles', 'my-upg-100-list', 'data'); +const DATA = process.env.UPG100_DATA_PATH ? resolve(process.env.UPG100_DATA_PATH) : join(__dirname, '..', 'plugin-designs', 'my-upg-100-list', 'data'); const OUT = join(__dirname, 'out'); const POSTERS = join(OUT, 'posters'); mkdirSync(POSTERS, { recursive: true }); diff --git a/package.json b/package.json index 1574a34a5..70af5ece2 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "type": "module", "scripts": { "dev": "bun x vite", - "build": "bun run clean && bun run token && for d in app-profiles/*/; do BUNDLE=$(basename \"$d\") bun x vite build || exit 1; done && bun run tree && bun run check:drop && bun run check:drop && bun run check:parse && bun run verify && bun run gallery", + "build": "bun run clean && bun run token && for d in plugin-designs/*/; do BUNDLE=$(basename \"$d\") bun x vite build || exit 1; done && bun run tree && bun run check:drop && bun run check:drop && bun run check:parse && bun run verify && bun run gallery", "build:watch": "bun x vite build --watch", "preview": "bun x vite preview", "clean": "node internal/clean.mjs", diff --git a/app-profiles/.gitkeep b/plugin-designs/.gitkeep similarity index 100% rename from app-profiles/.gitkeep rename to plugin-designs/.gitkeep diff --git a/app-profiles/README.md b/plugin-designs/README.md similarity index 100% rename from app-profiles/README.md rename to plugin-designs/README.md diff --git a/app-profiles/all-people-groups/all-people-groups.vue b/plugin-designs/all-people-groups/all-people-groups.vue similarity index 100% rename from app-profiles/all-people-groups/all-people-groups.vue rename to plugin-designs/all-people-groups/all-people-groups.vue diff --git a/app-profiles/all-people-groups/index.html b/plugin-designs/all-people-groups/index.html similarity index 100% rename from app-profiles/all-people-groups/index.html rename to plugin-designs/all-people-groups/index.html diff --git a/app-profiles/all-people-groups/index.js b/plugin-designs/all-people-groups/index.js similarity index 100% rename from app-profiles/all-people-groups/index.js rename to plugin-designs/all-people-groups/index.js diff --git a/app-profiles/cities-internet/connectivity-list.vue b/plugin-designs/cities-internet/connectivity-list.vue similarity index 100% rename from app-profiles/cities-internet/connectivity-list.vue rename to plugin-designs/cities-internet/connectivity-list.vue diff --git a/app-profiles/cities-internet/connectivity-map.vue b/plugin-designs/cities-internet/connectivity-map.vue similarity index 100% rename from app-profiles/cities-internet/connectivity-map.vue rename to plugin-designs/cities-internet/connectivity-map.vue diff --git a/app-profiles/cities-internet/data-tables.vue b/plugin-designs/cities-internet/data-tables.vue similarity index 100% rename from app-profiles/cities-internet/data-tables.vue rename to plugin-designs/cities-internet/data-tables.vue diff --git a/app-profiles/cities-internet/data/connectivity.json b/plugin-designs/cities-internet/data/connectivity.json similarity index 100% rename from app-profiles/cities-internet/data/connectivity.json rename to plugin-designs/cities-internet/data/connectivity.json diff --git a/app-profiles/cities-internet/data/tables/country-connectivity.json b/plugin-designs/cities-internet/data/tables/country-connectivity.json similarity index 100% rename from app-profiles/cities-internet/data/tables/country-connectivity.json rename to plugin-designs/cities-internet/data/tables/country-connectivity.json diff --git a/app-profiles/cities-internet/data/tables/gospel-access-vs-growth.json b/plugin-designs/cities-internet/data/tables/gospel-access-vs-growth.json similarity index 100% rename from app-profiles/cities-internet/data/tables/gospel-access-vs-growth.json rename to plugin-designs/cities-internet/data/tables/gospel-access-vs-growth.json diff --git a/app-profiles/cities-internet/data/tables/index.json b/plugin-designs/cities-internet/data/tables/index.json similarity index 100% rename from app-profiles/cities-internet/data/tables/index.json rename to plugin-designs/cities-internet/data/tables/index.json diff --git a/app-profiles/cities-internet/data/tables/key-cities.json b/plugin-designs/cities-internet/data/tables/key-cities.json similarity index 100% rename from app-profiles/cities-internet/data/tables/key-cities.json rename to plugin-designs/cities-internet/data/tables/key-cities.json diff --git a/app-profiles/cities-internet/data/tables/messaging-channels.json b/plugin-designs/cities-internet/data/tables/messaging-channels.json similarity index 100% rename from app-profiles/cities-internet/data/tables/messaging-channels.json rename to plugin-designs/cities-internet/data/tables/messaging-channels.json diff --git a/app-profiles/cities-internet/data/tables/network-operators.json b/plugin-designs/cities-internet/data/tables/network-operators.json similarity index 100% rename from app-profiles/cities-internet/data/tables/network-operators.json rename to plugin-designs/cities-internet/data/tables/network-operators.json diff --git a/app-profiles/cities-internet/data/tables/people-group-resources.json b/plugin-designs/cities-internet/data/tables/people-group-resources.json similarity index 100% rename from app-profiles/cities-internet/data/tables/people-group-resources.json rename to plugin-designs/cities-internet/data/tables/people-group-resources.json diff --git a/app-profiles/cities-internet/data/tables/social-platforms.json b/plugin-designs/cities-internet/data/tables/social-platforms.json similarity index 100% rename from app-profiles/cities-internet/data/tables/social-platforms.json rename to plugin-designs/cities-internet/data/tables/social-platforms.json diff --git a/app-profiles/cities-internet/index.html b/plugin-designs/cities-internet/index.html similarity index 100% rename from app-profiles/cities-internet/index.html rename to plugin-designs/cities-internet/index.html diff --git a/app-profiles/cities-internet/index.js b/plugin-designs/cities-internet/index.js similarity index 100% rename from app-profiles/cities-internet/index.js rename to plugin-designs/cities-internet/index.js diff --git a/app-profiles/country-posters/assets/previews/country-abw.webp b/plugin-designs/country-posters/assets/previews/country-abw.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-abw.webp rename to plugin-designs/country-posters/assets/previews/country-abw.webp diff --git a/app-profiles/country-posters/assets/previews/country-afg.webp b/plugin-designs/country-posters/assets/previews/country-afg.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-afg.webp rename to plugin-designs/country-posters/assets/previews/country-afg.webp diff --git a/app-profiles/country-posters/assets/previews/country-ago.webp b/plugin-designs/country-posters/assets/previews/country-ago.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-ago.webp rename to plugin-designs/country-posters/assets/previews/country-ago.webp diff --git a/app-profiles/country-posters/assets/previews/country-alb.webp b/plugin-designs/country-posters/assets/previews/country-alb.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-alb.webp rename to plugin-designs/country-posters/assets/previews/country-alb.webp diff --git a/app-profiles/country-posters/assets/previews/country-and.webp b/plugin-designs/country-posters/assets/previews/country-and.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-and.webp rename to plugin-designs/country-posters/assets/previews/country-and.webp diff --git a/app-profiles/country-posters/assets/previews/country-are.webp b/plugin-designs/country-posters/assets/previews/country-are.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-are.webp rename to plugin-designs/country-posters/assets/previews/country-are.webp diff --git a/app-profiles/country-posters/assets/previews/country-arm.webp b/plugin-designs/country-posters/assets/previews/country-arm.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-arm.webp rename to plugin-designs/country-posters/assets/previews/country-arm.webp diff --git a/app-profiles/country-posters/assets/previews/country-asm.webp b/plugin-designs/country-posters/assets/previews/country-asm.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-asm.webp rename to plugin-designs/country-posters/assets/previews/country-asm.webp diff --git a/app-profiles/country-posters/assets/previews/country-atg.webp b/plugin-designs/country-posters/assets/previews/country-atg.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-atg.webp rename to plugin-designs/country-posters/assets/previews/country-atg.webp diff --git a/app-profiles/country-posters/assets/previews/country-aze.webp b/plugin-designs/country-posters/assets/previews/country-aze.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-aze.webp rename to plugin-designs/country-posters/assets/previews/country-aze.webp diff --git a/app-profiles/country-posters/assets/previews/country-ben.webp b/plugin-designs/country-posters/assets/previews/country-ben.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-ben.webp rename to plugin-designs/country-posters/assets/previews/country-ben.webp diff --git a/app-profiles/country-posters/assets/previews/country-bfa.webp b/plugin-designs/country-posters/assets/previews/country-bfa.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-bfa.webp rename to plugin-designs/country-posters/assets/previews/country-bfa.webp diff --git a/app-profiles/country-posters/assets/previews/country-bgd.webp b/plugin-designs/country-posters/assets/previews/country-bgd.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-bgd.webp rename to plugin-designs/country-posters/assets/previews/country-bgd.webp diff --git a/app-profiles/country-posters/assets/previews/country-bgr.webp b/plugin-designs/country-posters/assets/previews/country-bgr.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-bgr.webp rename to plugin-designs/country-posters/assets/previews/country-bgr.webp diff --git a/app-profiles/country-posters/assets/previews/country-bhr.webp b/plugin-designs/country-posters/assets/previews/country-bhr.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-bhr.webp rename to plugin-designs/country-posters/assets/previews/country-bhr.webp diff --git a/app-profiles/country-posters/assets/previews/country-bhs.webp b/plugin-designs/country-posters/assets/previews/country-bhs.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-bhs.webp rename to plugin-designs/country-posters/assets/previews/country-bhs.webp diff --git a/app-profiles/country-posters/assets/previews/country-bih.webp b/plugin-designs/country-posters/assets/previews/country-bih.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-bih.webp rename to plugin-designs/country-posters/assets/previews/country-bih.webp diff --git a/app-profiles/country-posters/assets/previews/country-blm.webp b/plugin-designs/country-posters/assets/previews/country-blm.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-blm.webp rename to plugin-designs/country-posters/assets/previews/country-blm.webp diff --git a/app-profiles/country-posters/assets/previews/country-blr.webp b/plugin-designs/country-posters/assets/previews/country-blr.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-blr.webp rename to plugin-designs/country-posters/assets/previews/country-blr.webp diff --git a/app-profiles/country-posters/assets/previews/country-bmu.webp b/plugin-designs/country-posters/assets/previews/country-bmu.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-bmu.webp rename to plugin-designs/country-posters/assets/previews/country-bmu.webp diff --git a/app-profiles/country-posters/assets/previews/country-bol.webp b/plugin-designs/country-posters/assets/previews/country-bol.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-bol.webp rename to plugin-designs/country-posters/assets/previews/country-bol.webp diff --git a/app-profiles/country-posters/assets/previews/country-bra.webp b/plugin-designs/country-posters/assets/previews/country-bra.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-bra.webp rename to plugin-designs/country-posters/assets/previews/country-bra.webp diff --git a/app-profiles/country-posters/assets/previews/country-brb.webp b/plugin-designs/country-posters/assets/previews/country-brb.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-brb.webp rename to plugin-designs/country-posters/assets/previews/country-brb.webp diff --git a/app-profiles/country-posters/assets/previews/country-brn.webp b/plugin-designs/country-posters/assets/previews/country-brn.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-brn.webp rename to plugin-designs/country-posters/assets/previews/country-brn.webp diff --git a/app-profiles/country-posters/assets/previews/country-btn.webp b/plugin-designs/country-posters/assets/previews/country-btn.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-btn.webp rename to plugin-designs/country-posters/assets/previews/country-btn.webp diff --git a/app-profiles/country-posters/assets/previews/country-caf.webp b/plugin-designs/country-posters/assets/previews/country-caf.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-caf.webp rename to plugin-designs/country-posters/assets/previews/country-caf.webp diff --git a/app-profiles/country-posters/assets/previews/country-cck.webp b/plugin-designs/country-posters/assets/previews/country-cck.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-cck.webp rename to plugin-designs/country-posters/assets/previews/country-cck.webp diff --git a/app-profiles/country-posters/assets/previews/country-chn.webp b/plugin-designs/country-posters/assets/previews/country-chn.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-chn.webp rename to plugin-designs/country-posters/assets/previews/country-chn.webp diff --git a/app-profiles/country-posters/assets/previews/country-civ.webp b/plugin-designs/country-posters/assets/previews/country-civ.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-civ.webp rename to plugin-designs/country-posters/assets/previews/country-civ.webp diff --git a/app-profiles/country-posters/assets/previews/country-cmr.webp b/plugin-designs/country-posters/assets/previews/country-cmr.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-cmr.webp rename to plugin-designs/country-posters/assets/previews/country-cmr.webp diff --git a/app-profiles/country-posters/assets/previews/country-cod.webp b/plugin-designs/country-posters/assets/previews/country-cod.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-cod.webp rename to plugin-designs/country-posters/assets/previews/country-cod.webp diff --git a/app-profiles/country-posters/assets/previews/country-cog.webp b/plugin-designs/country-posters/assets/previews/country-cog.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-cog.webp rename to plugin-designs/country-posters/assets/previews/country-cog.webp diff --git a/app-profiles/country-posters/assets/previews/country-cok.webp b/plugin-designs/country-posters/assets/previews/country-cok.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-cok.webp rename to plugin-designs/country-posters/assets/previews/country-cok.webp diff --git a/app-profiles/country-posters/assets/previews/country-col.webp b/plugin-designs/country-posters/assets/previews/country-col.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-col.webp rename to plugin-designs/country-posters/assets/previews/country-col.webp diff --git a/app-profiles/country-posters/assets/previews/country-com.webp b/plugin-designs/country-posters/assets/previews/country-com.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-com.webp rename to plugin-designs/country-posters/assets/previews/country-com.webp diff --git a/app-profiles/country-posters/assets/previews/country-cub.webp b/plugin-designs/country-posters/assets/previews/country-cub.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-cub.webp rename to plugin-designs/country-posters/assets/previews/country-cub.webp diff --git a/app-profiles/country-posters/assets/previews/country-cuw.webp b/plugin-designs/country-posters/assets/previews/country-cuw.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-cuw.webp rename to plugin-designs/country-posters/assets/previews/country-cuw.webp diff --git a/app-profiles/country-posters/assets/previews/country-cxr.webp b/plugin-designs/country-posters/assets/previews/country-cxr.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-cxr.webp rename to plugin-designs/country-posters/assets/previews/country-cxr.webp diff --git a/app-profiles/country-posters/assets/previews/country-cym.webp b/plugin-designs/country-posters/assets/previews/country-cym.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-cym.webp rename to plugin-designs/country-posters/assets/previews/country-cym.webp diff --git a/app-profiles/country-posters/assets/previews/country-cyp.webp b/plugin-designs/country-posters/assets/previews/country-cyp.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-cyp.webp rename to plugin-designs/country-posters/assets/previews/country-cyp.webp diff --git a/app-profiles/country-posters/assets/previews/country-cze.webp b/plugin-designs/country-posters/assets/previews/country-cze.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-cze.webp rename to plugin-designs/country-posters/assets/previews/country-cze.webp diff --git a/app-profiles/country-posters/assets/previews/country-dji.webp b/plugin-designs/country-posters/assets/previews/country-dji.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-dji.webp rename to plugin-designs/country-posters/assets/previews/country-dji.webp diff --git a/app-profiles/country-posters/assets/previews/country-dma.webp b/plugin-designs/country-posters/assets/previews/country-dma.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-dma.webp rename to plugin-designs/country-posters/assets/previews/country-dma.webp diff --git a/app-profiles/country-posters/assets/previews/country-dza.webp b/plugin-designs/country-posters/assets/previews/country-dza.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-dza.webp rename to plugin-designs/country-posters/assets/previews/country-dza.webp diff --git a/app-profiles/country-posters/assets/previews/country-ecu.webp b/plugin-designs/country-posters/assets/previews/country-ecu.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-ecu.webp rename to plugin-designs/country-posters/assets/previews/country-ecu.webp diff --git a/app-profiles/country-posters/assets/previews/country-egy.webp b/plugin-designs/country-posters/assets/previews/country-egy.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-egy.webp rename to plugin-designs/country-posters/assets/previews/country-egy.webp diff --git a/app-profiles/country-posters/assets/previews/country-eri.webp b/plugin-designs/country-posters/assets/previews/country-eri.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-eri.webp rename to plugin-designs/country-posters/assets/previews/country-eri.webp diff --git a/app-profiles/country-posters/assets/previews/country-esh.webp b/plugin-designs/country-posters/assets/previews/country-esh.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-esh.webp rename to plugin-designs/country-posters/assets/previews/country-esh.webp diff --git a/app-profiles/country-posters/assets/previews/country-esp.webp b/plugin-designs/country-posters/assets/previews/country-esp.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-esp.webp rename to plugin-designs/country-posters/assets/previews/country-esp.webp diff --git a/app-profiles/country-posters/assets/previews/country-eth.webp b/plugin-designs/country-posters/assets/previews/country-eth.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-eth.webp rename to plugin-designs/country-posters/assets/previews/country-eth.webp diff --git a/app-profiles/country-posters/assets/previews/country-fin.webp b/plugin-designs/country-posters/assets/previews/country-fin.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-fin.webp rename to plugin-designs/country-posters/assets/previews/country-fin.webp diff --git a/app-profiles/country-posters/assets/previews/country-fji.webp b/plugin-designs/country-posters/assets/previews/country-fji.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-fji.webp rename to plugin-designs/country-posters/assets/previews/country-fji.webp diff --git a/app-profiles/country-posters/assets/previews/country-fro.webp b/plugin-designs/country-posters/assets/previews/country-fro.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-fro.webp rename to plugin-designs/country-posters/assets/previews/country-fro.webp diff --git a/app-profiles/country-posters/assets/previews/country-fsm.webp b/plugin-designs/country-posters/assets/previews/country-fsm.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-fsm.webp rename to plugin-designs/country-posters/assets/previews/country-fsm.webp diff --git a/app-profiles/country-posters/assets/previews/country-gab.webp b/plugin-designs/country-posters/assets/previews/country-gab.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-gab.webp rename to plugin-designs/country-posters/assets/previews/country-gab.webp diff --git a/app-profiles/country-posters/assets/previews/country-geo.webp b/plugin-designs/country-posters/assets/previews/country-geo.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-geo.webp rename to plugin-designs/country-posters/assets/previews/country-geo.webp diff --git a/app-profiles/country-posters/assets/previews/country-ggy.webp b/plugin-designs/country-posters/assets/previews/country-ggy.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-ggy.webp rename to plugin-designs/country-posters/assets/previews/country-ggy.webp diff --git a/app-profiles/country-posters/assets/previews/country-gha.webp b/plugin-designs/country-posters/assets/previews/country-gha.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-gha.webp rename to plugin-designs/country-posters/assets/previews/country-gha.webp diff --git a/app-profiles/country-posters/assets/previews/country-gib.webp b/plugin-designs/country-posters/assets/previews/country-gib.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-gib.webp rename to plugin-designs/country-posters/assets/previews/country-gib.webp diff --git a/app-profiles/country-posters/assets/previews/country-gin.webp b/plugin-designs/country-posters/assets/previews/country-gin.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-gin.webp rename to plugin-designs/country-posters/assets/previews/country-gin.webp diff --git a/app-profiles/country-posters/assets/previews/country-glp.webp b/plugin-designs/country-posters/assets/previews/country-glp.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-glp.webp rename to plugin-designs/country-posters/assets/previews/country-glp.webp diff --git a/app-profiles/country-posters/assets/previews/country-gmb.webp b/plugin-designs/country-posters/assets/previews/country-gmb.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-gmb.webp rename to plugin-designs/country-posters/assets/previews/country-gmb.webp diff --git a/app-profiles/country-posters/assets/previews/country-gnb.webp b/plugin-designs/country-posters/assets/previews/country-gnb.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-gnb.webp rename to plugin-designs/country-posters/assets/previews/country-gnb.webp diff --git a/app-profiles/country-posters/assets/previews/country-gnq.webp b/plugin-designs/country-posters/assets/previews/country-gnq.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-gnq.webp rename to plugin-designs/country-posters/assets/previews/country-gnq.webp diff --git a/app-profiles/country-posters/assets/previews/country-grc.webp b/plugin-designs/country-posters/assets/previews/country-grc.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-grc.webp rename to plugin-designs/country-posters/assets/previews/country-grc.webp diff --git a/app-profiles/country-posters/assets/previews/country-grd.webp b/plugin-designs/country-posters/assets/previews/country-grd.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-grd.webp rename to plugin-designs/country-posters/assets/previews/country-grd.webp diff --git a/app-profiles/country-posters/assets/previews/country-guf.webp b/plugin-designs/country-posters/assets/previews/country-guf.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-guf.webp rename to plugin-designs/country-posters/assets/previews/country-guf.webp diff --git a/app-profiles/country-posters/assets/previews/country-gum.webp b/plugin-designs/country-posters/assets/previews/country-gum.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-gum.webp rename to plugin-designs/country-posters/assets/previews/country-gum.webp diff --git a/app-profiles/country-posters/assets/previews/country-guy.webp b/plugin-designs/country-posters/assets/previews/country-guy.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-guy.webp rename to plugin-designs/country-posters/assets/previews/country-guy.webp diff --git a/app-profiles/country-posters/assets/previews/country-hkg.webp b/plugin-designs/country-posters/assets/previews/country-hkg.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-hkg.webp rename to plugin-designs/country-posters/assets/previews/country-hkg.webp diff --git a/app-profiles/country-posters/assets/previews/country-idn.webp b/plugin-designs/country-posters/assets/previews/country-idn.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-idn.webp rename to plugin-designs/country-posters/assets/previews/country-idn.webp diff --git a/app-profiles/country-posters/assets/previews/country-irn.webp b/plugin-designs/country-posters/assets/previews/country-irn.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-irn.webp rename to plugin-designs/country-posters/assets/previews/country-irn.webp diff --git a/app-profiles/country-posters/assets/previews/country-irq.webp b/plugin-designs/country-posters/assets/previews/country-irq.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-irq.webp rename to plugin-designs/country-posters/assets/previews/country-irq.webp diff --git a/app-profiles/country-posters/assets/previews/country-isl.webp b/plugin-designs/country-posters/assets/previews/country-isl.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-isl.webp rename to plugin-designs/country-posters/assets/previews/country-isl.webp diff --git a/app-profiles/country-posters/assets/previews/country-isr.webp b/plugin-designs/country-posters/assets/previews/country-isr.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-isr.webp rename to plugin-designs/country-posters/assets/previews/country-isr.webp diff --git a/app-profiles/country-posters/assets/previews/country-jam.webp b/plugin-designs/country-posters/assets/previews/country-jam.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-jam.webp rename to plugin-designs/country-posters/assets/previews/country-jam.webp diff --git a/app-profiles/country-posters/assets/previews/country-jey.webp b/plugin-designs/country-posters/assets/previews/country-jey.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-jey.webp rename to plugin-designs/country-posters/assets/previews/country-jey.webp diff --git a/app-profiles/country-posters/assets/previews/country-jor.webp b/plugin-designs/country-posters/assets/previews/country-jor.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-jor.webp rename to plugin-designs/country-posters/assets/previews/country-jor.webp diff --git a/app-profiles/country-posters/assets/previews/country-jpn.webp b/plugin-designs/country-posters/assets/previews/country-jpn.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-jpn.webp rename to plugin-designs/country-posters/assets/previews/country-jpn.webp diff --git a/app-profiles/country-posters/assets/previews/country-kaz.webp b/plugin-designs/country-posters/assets/previews/country-kaz.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-kaz.webp rename to plugin-designs/country-posters/assets/previews/country-kaz.webp diff --git a/app-profiles/country-posters/assets/previews/country-ken.webp b/plugin-designs/country-posters/assets/previews/country-ken.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-ken.webp rename to plugin-designs/country-posters/assets/previews/country-ken.webp diff --git a/app-profiles/country-posters/assets/previews/country-kgz.webp b/plugin-designs/country-posters/assets/previews/country-kgz.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-kgz.webp rename to plugin-designs/country-posters/assets/previews/country-kgz.webp diff --git a/app-profiles/country-posters/assets/previews/country-khm.webp b/plugin-designs/country-posters/assets/previews/country-khm.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-khm.webp rename to plugin-designs/country-posters/assets/previews/country-khm.webp diff --git a/app-profiles/country-posters/assets/previews/country-kir.webp b/plugin-designs/country-posters/assets/previews/country-kir.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-kir.webp rename to plugin-designs/country-posters/assets/previews/country-kir.webp diff --git a/app-profiles/country-posters/assets/previews/country-kos.webp b/plugin-designs/country-posters/assets/previews/country-kos.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-kos.webp rename to plugin-designs/country-posters/assets/previews/country-kos.webp diff --git a/app-profiles/country-posters/assets/previews/country-kwt.webp b/plugin-designs/country-posters/assets/previews/country-kwt.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-kwt.webp rename to plugin-designs/country-posters/assets/previews/country-kwt.webp diff --git a/app-profiles/country-posters/assets/previews/country-lao.webp b/plugin-designs/country-posters/assets/previews/country-lao.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-lao.webp rename to plugin-designs/country-posters/assets/previews/country-lao.webp diff --git a/app-profiles/country-posters/assets/previews/country-lbn.webp b/plugin-designs/country-posters/assets/previews/country-lbn.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-lbn.webp rename to plugin-designs/country-posters/assets/previews/country-lbn.webp diff --git a/app-profiles/country-posters/assets/previews/country-lbr.webp b/plugin-designs/country-posters/assets/previews/country-lbr.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-lbr.webp rename to plugin-designs/country-posters/assets/previews/country-lbr.webp diff --git a/app-profiles/country-posters/assets/previews/country-lby.webp b/plugin-designs/country-posters/assets/previews/country-lby.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-lby.webp rename to plugin-designs/country-posters/assets/previews/country-lby.webp diff --git a/app-profiles/country-posters/assets/previews/country-lca.webp b/plugin-designs/country-posters/assets/previews/country-lca.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-lca.webp rename to plugin-designs/country-posters/assets/previews/country-lca.webp diff --git a/app-profiles/country-posters/assets/previews/country-lie.webp b/plugin-designs/country-posters/assets/previews/country-lie.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-lie.webp rename to plugin-designs/country-posters/assets/previews/country-lie.webp diff --git a/app-profiles/country-posters/assets/previews/country-lka.webp b/plugin-designs/country-posters/assets/previews/country-lka.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-lka.webp rename to plugin-designs/country-posters/assets/previews/country-lka.webp diff --git a/app-profiles/country-posters/assets/previews/country-lux.webp b/plugin-designs/country-posters/assets/previews/country-lux.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-lux.webp rename to plugin-designs/country-posters/assets/previews/country-lux.webp diff --git a/app-profiles/country-posters/assets/previews/country-mac.webp b/plugin-designs/country-posters/assets/previews/country-mac.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-mac.webp rename to plugin-designs/country-posters/assets/previews/country-mac.webp diff --git a/app-profiles/country-posters/assets/previews/country-mar.webp b/plugin-designs/country-posters/assets/previews/country-mar.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-mar.webp rename to plugin-designs/country-posters/assets/previews/country-mar.webp diff --git a/app-profiles/country-posters/assets/previews/country-mco.webp b/plugin-designs/country-posters/assets/previews/country-mco.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-mco.webp rename to plugin-designs/country-posters/assets/previews/country-mco.webp diff --git a/app-profiles/country-posters/assets/previews/country-mdv.webp b/plugin-designs/country-posters/assets/previews/country-mdv.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-mdv.webp rename to plugin-designs/country-posters/assets/previews/country-mdv.webp diff --git a/app-profiles/country-posters/assets/previews/country-mhl.webp b/plugin-designs/country-posters/assets/previews/country-mhl.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-mhl.webp rename to plugin-designs/country-posters/assets/previews/country-mhl.webp diff --git a/app-profiles/country-posters/assets/previews/country-mli.webp b/plugin-designs/country-posters/assets/previews/country-mli.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-mli.webp rename to plugin-designs/country-posters/assets/previews/country-mli.webp diff --git a/app-profiles/country-posters/assets/previews/country-mlt.webp b/plugin-designs/country-posters/assets/previews/country-mlt.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-mlt.webp rename to plugin-designs/country-posters/assets/previews/country-mlt.webp diff --git a/app-profiles/country-posters/assets/previews/country-mmr.webp b/plugin-designs/country-posters/assets/previews/country-mmr.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-mmr.webp rename to plugin-designs/country-posters/assets/previews/country-mmr.webp diff --git a/app-profiles/country-posters/assets/previews/country-mne.webp b/plugin-designs/country-posters/assets/previews/country-mne.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-mne.webp rename to plugin-designs/country-posters/assets/previews/country-mne.webp diff --git a/app-profiles/country-posters/assets/previews/country-mng.webp b/plugin-designs/country-posters/assets/previews/country-mng.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-mng.webp rename to plugin-designs/country-posters/assets/previews/country-mng.webp diff --git a/app-profiles/country-posters/assets/previews/country-mnp.webp b/plugin-designs/country-posters/assets/previews/country-mnp.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-mnp.webp rename to plugin-designs/country-posters/assets/previews/country-mnp.webp diff --git a/app-profiles/country-posters/assets/previews/country-moz.webp b/plugin-designs/country-posters/assets/previews/country-moz.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-moz.webp rename to plugin-designs/country-posters/assets/previews/country-moz.webp diff --git a/app-profiles/country-posters/assets/previews/country-mrt.webp b/plugin-designs/country-posters/assets/previews/country-mrt.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-mrt.webp rename to plugin-designs/country-posters/assets/previews/country-mrt.webp diff --git a/app-profiles/country-posters/assets/previews/country-msr.webp b/plugin-designs/country-posters/assets/previews/country-msr.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-msr.webp rename to plugin-designs/country-posters/assets/previews/country-msr.webp diff --git a/app-profiles/country-posters/assets/previews/country-mus.webp b/plugin-designs/country-posters/assets/previews/country-mus.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-mus.webp rename to plugin-designs/country-posters/assets/previews/country-mus.webp diff --git a/app-profiles/country-posters/assets/previews/country-mwi.webp b/plugin-designs/country-posters/assets/previews/country-mwi.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-mwi.webp rename to plugin-designs/country-posters/assets/previews/country-mwi.webp diff --git a/app-profiles/country-posters/assets/previews/country-mys.webp b/plugin-designs/country-posters/assets/previews/country-mys.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-mys.webp rename to plugin-designs/country-posters/assets/previews/country-mys.webp diff --git a/app-profiles/country-posters/assets/previews/country-myt.webp b/plugin-designs/country-posters/assets/previews/country-myt.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-myt.webp rename to plugin-designs/country-posters/assets/previews/country-myt.webp diff --git a/app-profiles/country-posters/assets/previews/country-nam.webp b/plugin-designs/country-posters/assets/previews/country-nam.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-nam.webp rename to plugin-designs/country-posters/assets/previews/country-nam.webp diff --git a/app-profiles/country-posters/assets/previews/country-ncl.webp b/plugin-designs/country-posters/assets/previews/country-ncl.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-ncl.webp rename to plugin-designs/country-posters/assets/previews/country-ncl.webp diff --git a/app-profiles/country-posters/assets/previews/country-ner.webp b/plugin-designs/country-posters/assets/previews/country-ner.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-ner.webp rename to plugin-designs/country-posters/assets/previews/country-ner.webp diff --git a/app-profiles/country-posters/assets/previews/country-nfk.webp b/plugin-designs/country-posters/assets/previews/country-nfk.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-nfk.webp rename to plugin-designs/country-posters/assets/previews/country-nfk.webp diff --git a/app-profiles/country-posters/assets/previews/country-nga.webp b/plugin-designs/country-posters/assets/previews/country-nga.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-nga.webp rename to plugin-designs/country-posters/assets/previews/country-nga.webp diff --git a/app-profiles/country-posters/assets/previews/country-niu.webp b/plugin-designs/country-posters/assets/previews/country-niu.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-niu.webp rename to plugin-designs/country-posters/assets/previews/country-niu.webp diff --git a/app-profiles/country-posters/assets/previews/country-npl.webp b/plugin-designs/country-posters/assets/previews/country-npl.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-npl.webp rename to plugin-designs/country-posters/assets/previews/country-npl.webp diff --git a/app-profiles/country-posters/assets/previews/country-nzl.webp b/plugin-designs/country-posters/assets/previews/country-nzl.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-nzl.webp rename to plugin-designs/country-posters/assets/previews/country-nzl.webp diff --git a/app-profiles/country-posters/assets/previews/country-omn.webp b/plugin-designs/country-posters/assets/previews/country-omn.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-omn.webp rename to plugin-designs/country-posters/assets/previews/country-omn.webp diff --git a/app-profiles/country-posters/assets/previews/country-pak.webp b/plugin-designs/country-posters/assets/previews/country-pak.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-pak.webp rename to plugin-designs/country-posters/assets/previews/country-pak.webp diff --git a/app-profiles/country-posters/assets/previews/country-pan.webp b/plugin-designs/country-posters/assets/previews/country-pan.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-pan.webp rename to plugin-designs/country-posters/assets/previews/country-pan.webp diff --git a/app-profiles/country-posters/assets/previews/country-per.webp b/plugin-designs/country-posters/assets/previews/country-per.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-per.webp rename to plugin-designs/country-posters/assets/previews/country-per.webp diff --git a/app-profiles/country-posters/assets/previews/country-phl.webp b/plugin-designs/country-posters/assets/previews/country-phl.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-phl.webp rename to plugin-designs/country-posters/assets/previews/country-phl.webp diff --git a/app-profiles/country-posters/assets/previews/country-plw.webp b/plugin-designs/country-posters/assets/previews/country-plw.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-plw.webp rename to plugin-designs/country-posters/assets/previews/country-plw.webp diff --git a/app-profiles/country-posters/assets/previews/country-png.webp b/plugin-designs/country-posters/assets/previews/country-png.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-png.webp rename to plugin-designs/country-posters/assets/previews/country-png.webp diff --git a/app-profiles/country-posters/assets/previews/country-prk.webp b/plugin-designs/country-posters/assets/previews/country-prk.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-prk.webp rename to plugin-designs/country-posters/assets/previews/country-prk.webp diff --git a/app-profiles/country-posters/assets/previews/country-pry.webp b/plugin-designs/country-posters/assets/previews/country-pry.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-pry.webp rename to plugin-designs/country-posters/assets/previews/country-pry.webp diff --git a/app-profiles/country-posters/assets/previews/country-pse.webp b/plugin-designs/country-posters/assets/previews/country-pse.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-pse.webp rename to plugin-designs/country-posters/assets/previews/country-pse.webp diff --git a/app-profiles/country-posters/assets/previews/country-pyf.webp b/plugin-designs/country-posters/assets/previews/country-pyf.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-pyf.webp rename to plugin-designs/country-posters/assets/previews/country-pyf.webp diff --git a/app-profiles/country-posters/assets/previews/country-qat.webp b/plugin-designs/country-posters/assets/previews/country-qat.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-qat.webp rename to plugin-designs/country-posters/assets/previews/country-qat.webp diff --git a/app-profiles/country-posters/assets/previews/country-rus.webp b/plugin-designs/country-posters/assets/previews/country-rus.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-rus.webp rename to plugin-designs/country-posters/assets/previews/country-rus.webp diff --git a/app-profiles/country-posters/assets/previews/country-sau.webp b/plugin-designs/country-posters/assets/previews/country-sau.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-sau.webp rename to plugin-designs/country-posters/assets/previews/country-sau.webp diff --git a/app-profiles/country-posters/assets/previews/country-sdn.webp b/plugin-designs/country-posters/assets/previews/country-sdn.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-sdn.webp rename to plugin-designs/country-posters/assets/previews/country-sdn.webp diff --git a/app-profiles/country-posters/assets/previews/country-sen.webp b/plugin-designs/country-posters/assets/previews/country-sen.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-sen.webp rename to plugin-designs/country-posters/assets/previews/country-sen.webp diff --git a/app-profiles/country-posters/assets/previews/country-shn.webp b/plugin-designs/country-posters/assets/previews/country-shn.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-shn.webp rename to plugin-designs/country-posters/assets/previews/country-shn.webp diff --git a/app-profiles/country-posters/assets/previews/country-sjm.webp b/plugin-designs/country-posters/assets/previews/country-sjm.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-sjm.webp rename to plugin-designs/country-posters/assets/previews/country-sjm.webp diff --git a/app-profiles/country-posters/assets/previews/country-slb.webp b/plugin-designs/country-posters/assets/previews/country-slb.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-slb.webp rename to plugin-designs/country-posters/assets/previews/country-slb.webp diff --git a/app-profiles/country-posters/assets/previews/country-sle.webp b/plugin-designs/country-posters/assets/previews/country-sle.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-sle.webp rename to plugin-designs/country-posters/assets/previews/country-sle.webp diff --git a/app-profiles/country-posters/assets/previews/country-smr.webp b/plugin-designs/country-posters/assets/previews/country-smr.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-smr.webp rename to plugin-designs/country-posters/assets/previews/country-smr.webp diff --git a/app-profiles/country-posters/assets/previews/country-som.webp b/plugin-designs/country-posters/assets/previews/country-som.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-som.webp rename to plugin-designs/country-posters/assets/previews/country-som.webp diff --git a/app-profiles/country-posters/assets/previews/country-ssd.webp b/plugin-designs/country-posters/assets/previews/country-ssd.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-ssd.webp rename to plugin-designs/country-posters/assets/previews/country-ssd.webp diff --git a/app-profiles/country-posters/assets/previews/country-stp.webp b/plugin-designs/country-posters/assets/previews/country-stp.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-stp.webp rename to plugin-designs/country-posters/assets/previews/country-stp.webp diff --git a/app-profiles/country-posters/assets/previews/country-sur.webp b/plugin-designs/country-posters/assets/previews/country-sur.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-sur.webp rename to plugin-designs/country-posters/assets/previews/country-sur.webp diff --git a/app-profiles/country-posters/assets/previews/country-swe.webp b/plugin-designs/country-posters/assets/previews/country-swe.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-swe.webp rename to plugin-designs/country-posters/assets/previews/country-swe.webp diff --git a/app-profiles/country-posters/assets/previews/country-swz.webp b/plugin-designs/country-posters/assets/previews/country-swz.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-swz.webp rename to plugin-designs/country-posters/assets/previews/country-swz.webp diff --git a/app-profiles/country-posters/assets/previews/country-sxm.webp b/plugin-designs/country-posters/assets/previews/country-sxm.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-sxm.webp rename to plugin-designs/country-posters/assets/previews/country-sxm.webp diff --git a/app-profiles/country-posters/assets/previews/country-syr.webp b/plugin-designs/country-posters/assets/previews/country-syr.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-syr.webp rename to plugin-designs/country-posters/assets/previews/country-syr.webp diff --git a/app-profiles/country-posters/assets/previews/country-tca.webp b/plugin-designs/country-posters/assets/previews/country-tca.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-tca.webp rename to plugin-designs/country-posters/assets/previews/country-tca.webp diff --git a/app-profiles/country-posters/assets/previews/country-tcd.webp b/plugin-designs/country-posters/assets/previews/country-tcd.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-tcd.webp rename to plugin-designs/country-posters/assets/previews/country-tcd.webp diff --git a/app-profiles/country-posters/assets/previews/country-tgo.webp b/plugin-designs/country-posters/assets/previews/country-tgo.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-tgo.webp rename to plugin-designs/country-posters/assets/previews/country-tgo.webp diff --git a/app-profiles/country-posters/assets/previews/country-tha.webp b/plugin-designs/country-posters/assets/previews/country-tha.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-tha.webp rename to plugin-designs/country-posters/assets/previews/country-tha.webp diff --git a/app-profiles/country-posters/assets/previews/country-tjk.webp b/plugin-designs/country-posters/assets/previews/country-tjk.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-tjk.webp rename to plugin-designs/country-posters/assets/previews/country-tjk.webp diff --git a/app-profiles/country-posters/assets/previews/country-tkl.webp b/plugin-designs/country-posters/assets/previews/country-tkl.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-tkl.webp rename to plugin-designs/country-posters/assets/previews/country-tkl.webp diff --git a/app-profiles/country-posters/assets/previews/country-ton.webp b/plugin-designs/country-posters/assets/previews/country-ton.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-ton.webp rename to plugin-designs/country-posters/assets/previews/country-ton.webp diff --git a/app-profiles/country-posters/assets/previews/country-tun.webp b/plugin-designs/country-posters/assets/previews/country-tun.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-tun.webp rename to plugin-designs/country-posters/assets/previews/country-tun.webp diff --git a/app-profiles/country-posters/assets/previews/country-tur.webp b/plugin-designs/country-posters/assets/previews/country-tur.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-tur.webp rename to plugin-designs/country-posters/assets/previews/country-tur.webp diff --git a/app-profiles/country-posters/assets/previews/country-tza.webp b/plugin-designs/country-posters/assets/previews/country-tza.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-tza.webp rename to plugin-designs/country-posters/assets/previews/country-tza.webp diff --git a/app-profiles/country-posters/assets/previews/country-uga.webp b/plugin-designs/country-posters/assets/previews/country-uga.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-uga.webp rename to plugin-designs/country-posters/assets/previews/country-uga.webp diff --git a/app-profiles/country-posters/assets/previews/country-usa.webp b/plugin-designs/country-posters/assets/previews/country-usa.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-usa.webp rename to plugin-designs/country-posters/assets/previews/country-usa.webp diff --git a/app-profiles/country-posters/assets/previews/country-uzb.webp b/plugin-designs/country-posters/assets/previews/country-uzb.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-uzb.webp rename to plugin-designs/country-posters/assets/previews/country-uzb.webp diff --git a/app-profiles/country-posters/assets/previews/country-vct.webp b/plugin-designs/country-posters/assets/previews/country-vct.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-vct.webp rename to plugin-designs/country-posters/assets/previews/country-vct.webp diff --git a/app-profiles/country-posters/assets/previews/country-ven.webp b/plugin-designs/country-posters/assets/previews/country-ven.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-ven.webp rename to plugin-designs/country-posters/assets/previews/country-ven.webp diff --git a/app-profiles/country-posters/assets/previews/country-vgb.webp b/plugin-designs/country-posters/assets/previews/country-vgb.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-vgb.webp rename to plugin-designs/country-posters/assets/previews/country-vgb.webp diff --git a/app-profiles/country-posters/assets/previews/country-vir.webp b/plugin-designs/country-posters/assets/previews/country-vir.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-vir.webp rename to plugin-designs/country-posters/assets/previews/country-vir.webp diff --git a/app-profiles/country-posters/assets/previews/country-vnm.webp b/plugin-designs/country-posters/assets/previews/country-vnm.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-vnm.webp rename to plugin-designs/country-posters/assets/previews/country-vnm.webp diff --git a/app-profiles/country-posters/assets/previews/country-vut.webp b/plugin-designs/country-posters/assets/previews/country-vut.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-vut.webp rename to plugin-designs/country-posters/assets/previews/country-vut.webp diff --git a/app-profiles/country-posters/assets/previews/country-wlf.webp b/plugin-designs/country-posters/assets/previews/country-wlf.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-wlf.webp rename to plugin-designs/country-posters/assets/previews/country-wlf.webp diff --git a/app-profiles/country-posters/assets/previews/country-wsm.webp b/plugin-designs/country-posters/assets/previews/country-wsm.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-wsm.webp rename to plugin-designs/country-posters/assets/previews/country-wsm.webp diff --git a/app-profiles/country-posters/assets/previews/country-yem.webp b/plugin-designs/country-posters/assets/previews/country-yem.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-yem.webp rename to plugin-designs/country-posters/assets/previews/country-yem.webp diff --git a/app-profiles/country-posters/assets/previews/country-zaf.webp b/plugin-designs/country-posters/assets/previews/country-zaf.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-zaf.webp rename to plugin-designs/country-posters/assets/previews/country-zaf.webp diff --git a/app-profiles/country-posters/assets/previews/country-zmb.webp b/plugin-designs/country-posters/assets/previews/country-zmb.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-zmb.webp rename to plugin-designs/country-posters/assets/previews/country-zmb.webp diff --git a/app-profiles/country-posters/assets/previews/country-zwe.webp b/plugin-designs/country-posters/assets/previews/country-zwe.webp similarity index 100% rename from app-profiles/country-posters/assets/previews/country-zwe.webp rename to plugin-designs/country-posters/assets/previews/country-zwe.webp diff --git a/app-profiles/country-posters/countries-map.vue b/plugin-designs/country-posters/countries-map.vue similarity index 100% rename from app-profiles/country-posters/countries-map.vue rename to plugin-designs/country-posters/countries-map.vue diff --git a/app-profiles/country-posters/country-poster-wall.vue b/plugin-designs/country-posters/country-poster-wall.vue similarity index 100% rename from app-profiles/country-posters/country-poster-wall.vue rename to plugin-designs/country-posters/country-poster-wall.vue diff --git a/app-profiles/country-posters/data/countries.json b/plugin-designs/country-posters/data/countries.json similarity index 100% rename from app-profiles/country-posters/data/countries.json rename to plugin-designs/country-posters/data/countries.json diff --git a/app-profiles/country-posters/index.html b/plugin-designs/country-posters/index.html similarity index 100% rename from app-profiles/country-posters/index.html rename to plugin-designs/country-posters/index.html diff --git a/app-profiles/country-posters/index.js b/plugin-designs/country-posters/index.js similarity index 100% rename from app-profiles/country-posters/index.js rename to plugin-designs/country-posters/index.js diff --git a/app-profiles/country-posters/src/colors/affinity-block.js b/plugin-designs/country-posters/src/colors/affinity-block.js similarity index 100% rename from app-profiles/country-posters/src/colors/affinity-block.js rename to plugin-designs/country-posters/src/colors/affinity-block.js diff --git a/app-profiles/country-posters/src/colors/doxa-region.js b/plugin-designs/country-posters/src/colors/doxa-region.js similarity index 100% rename from app-profiles/country-posters/src/colors/doxa-region.js rename to plugin-designs/country-posters/src/colors/doxa-region.js diff --git a/app-profiles/country-posters/src/colors/resource.js b/plugin-designs/country-posters/src/colors/resource.js similarity index 100% rename from app-profiles/country-posters/src/colors/resource.js rename to plugin-designs/country-posters/src/colors/resource.js diff --git a/app-profiles/demo-map/demo-map.instances.json b/plugin-designs/demo-map/demo-map.instances.json similarity index 100% rename from app-profiles/demo-map/demo-map.instances.json rename to plugin-designs/demo-map/demo-map.instances.json diff --git a/app-profiles/demo-map/demo-map.vue b/plugin-designs/demo-map/demo-map.vue similarity index 100% rename from app-profiles/demo-map/demo-map.vue rename to plugin-designs/demo-map/demo-map.vue diff --git a/app-profiles/demo-map/index.html b/plugin-designs/demo-map/index.html similarity index 100% rename from app-profiles/demo-map/index.html rename to plugin-designs/demo-map/index.html diff --git a/app-profiles/demo-map/index.js b/plugin-designs/demo-map/index.js similarity index 100% rename from app-profiles/demo-map/index.js rename to plugin-designs/demo-map/index.js diff --git a/app-profiles/demo-map/src/README.md b/plugin-designs/demo-map/src/README.md similarity index 100% rename from app-profiles/demo-map/src/README.md rename to plugin-designs/demo-map/src/README.md diff --git a/app-profiles/demo-map/src/api/README.md b/plugin-designs/demo-map/src/api/README.md similarity index 100% rename from app-profiles/demo-map/src/api/README.md rename to plugin-designs/demo-map/src/api/README.md diff --git a/app-profiles/demo-map/src/colors/README.md b/plugin-designs/demo-map/src/colors/README.md similarity index 100% rename from app-profiles/demo-map/src/colors/README.md rename to plugin-designs/demo-map/src/colors/README.md diff --git a/app-profiles/demo-map/src/colors/colors.json b/plugin-designs/demo-map/src/colors/colors.json similarity index 100% rename from app-profiles/demo-map/src/colors/colors.json rename to plugin-designs/demo-map/src/colors/colors.json diff --git a/app-profiles/demo-map/src/colors/single-color.js b/plugin-designs/demo-map/src/colors/single-color.js similarity index 100% rename from app-profiles/demo-map/src/colors/single-color.js rename to plugin-designs/demo-map/src/colors/single-color.js diff --git a/app-profiles/demo-map/src/components/README.md b/plugin-designs/demo-map/src/components/README.md similarity index 100% rename from app-profiles/demo-map/src/components/README.md rename to plugin-designs/demo-map/src/components/README.md diff --git a/app-profiles/demo-map/src/composables/README.md b/plugin-designs/demo-map/src/composables/README.md similarity index 100% rename from app-profiles/demo-map/src/composables/README.md rename to plugin-designs/demo-map/src/composables/README.md diff --git a/app-profiles/demo-map/src/utils/README.md b/plugin-designs/demo-map/src/utils/README.md similarity index 100% rename from app-profiles/demo-map/src/utils/README.md rename to plugin-designs/demo-map/src/utils/README.md diff --git a/app-profiles/doxa-research-map/index.html b/plugin-designs/doxa-research-map/index.html similarity index 100% rename from app-profiles/doxa-research-map/index.html rename to plugin-designs/doxa-research-map/index.html diff --git a/app-profiles/doxa-research-map/index.js b/plugin-designs/doxa-research-map/index.js similarity index 100% rename from app-profiles/doxa-research-map/index.js rename to plugin-designs/doxa-research-map/index.js diff --git a/app-profiles/doxa-research-map/research-map.meta.json b/plugin-designs/doxa-research-map/research-map.meta.json similarity index 100% rename from app-profiles/doxa-research-map/research-map.meta.json rename to plugin-designs/doxa-research-map/research-map.meta.json diff --git a/app-profiles/doxa-research-map/research-map.vue b/plugin-designs/doxa-research-map/research-map.vue similarity index 100% rename from app-profiles/doxa-research-map/research-map.vue rename to plugin-designs/doxa-research-map/research-map.vue diff --git a/app-profiles/doxa-research-map/src/README.md b/plugin-designs/doxa-research-map/src/README.md similarity index 100% rename from app-profiles/doxa-research-map/src/README.md rename to plugin-designs/doxa-research-map/src/README.md diff --git a/app-profiles/doxa-research-map/src/api/README.md b/plugin-designs/doxa-research-map/src/api/README.md similarity index 100% rename from app-profiles/doxa-research-map/src/api/README.md rename to plugin-designs/doxa-research-map/src/api/README.md diff --git a/app-profiles/doxa-research-map/src/colors/README.md b/plugin-designs/doxa-research-map/src/colors/README.md similarity index 100% rename from app-profiles/doxa-research-map/src/colors/README.md rename to plugin-designs/doxa-research-map/src/colors/README.md diff --git a/app-profiles/doxa-research-map/src/colors/affinity-block.js b/plugin-designs/doxa-research-map/src/colors/affinity-block.js similarity index 100% rename from app-profiles/doxa-research-map/src/colors/affinity-block.js rename to plugin-designs/doxa-research-map/src/colors/affinity-block.js diff --git a/app-profiles/doxa-research-map/src/colors/doxa-region.js b/plugin-designs/doxa-research-map/src/colors/doxa-region.js similarity index 100% rename from app-profiles/doxa-research-map/src/colors/doxa-region.js rename to plugin-designs/doxa-research-map/src/colors/doxa-region.js diff --git a/app-profiles/doxa-research-map/src/colors/resource.js b/plugin-designs/doxa-research-map/src/colors/resource.js similarity index 100% rename from app-profiles/doxa-research-map/src/colors/resource.js rename to plugin-designs/doxa-research-map/src/colors/resource.js diff --git a/app-profiles/doxa-research-map/src/components/README.md b/plugin-designs/doxa-research-map/src/components/README.md similarity index 100% rename from app-profiles/doxa-research-map/src/components/README.md rename to plugin-designs/doxa-research-map/src/components/README.md diff --git a/app-profiles/doxa-research-map/src/composables/README.md b/plugin-designs/doxa-research-map/src/composables/README.md similarity index 100% rename from app-profiles/doxa-research-map/src/composables/README.md rename to plugin-designs/doxa-research-map/src/composables/README.md diff --git a/app-profiles/doxa-research-map/src/utils/README.md b/plugin-designs/doxa-research-map/src/utils/README.md similarity index 100% rename from app-profiles/doxa-research-map/src/utils/README.md rename to plugin-designs/doxa-research-map/src/utils/README.md diff --git a/app-profiles/doxa-simple-map/doxa-simple-map.vue b/plugin-designs/doxa-simple-map/doxa-simple-map.vue similarity index 100% rename from app-profiles/doxa-simple-map/doxa-simple-map.vue rename to plugin-designs/doxa-simple-map/doxa-simple-map.vue diff --git a/app-profiles/doxa-simple-map/index.html b/plugin-designs/doxa-simple-map/index.html similarity index 100% rename from app-profiles/doxa-simple-map/index.html rename to plugin-designs/doxa-simple-map/index.html diff --git a/app-profiles/doxa-simple-map/index.js b/plugin-designs/doxa-simple-map/index.js similarity index 100% rename from app-profiles/doxa-simple-map/index.js rename to plugin-designs/doxa-simple-map/index.js diff --git a/app-profiles/doxa-simple-map/simple-map.instances.json b/plugin-designs/doxa-simple-map/simple-map.instances.json similarity index 100% rename from app-profiles/doxa-simple-map/simple-map.instances.json rename to plugin-designs/doxa-simple-map/simple-map.instances.json diff --git a/app-profiles/doxa-simple-map/src/README.md b/plugin-designs/doxa-simple-map/src/README.md similarity index 100% rename from app-profiles/doxa-simple-map/src/README.md rename to plugin-designs/doxa-simple-map/src/README.md diff --git a/app-profiles/doxa-simple-map/src/api/README.md b/plugin-designs/doxa-simple-map/src/api/README.md similarity index 100% rename from app-profiles/doxa-simple-map/src/api/README.md rename to plugin-designs/doxa-simple-map/src/api/README.md diff --git a/app-profiles/doxa-simple-map/src/colors/README.md b/plugin-designs/doxa-simple-map/src/colors/README.md similarity index 100% rename from app-profiles/doxa-simple-map/src/colors/README.md rename to plugin-designs/doxa-simple-map/src/colors/README.md diff --git a/app-profiles/doxa-simple-map/src/components/README.md b/plugin-designs/doxa-simple-map/src/components/README.md similarity index 100% rename from app-profiles/doxa-simple-map/src/components/README.md rename to plugin-designs/doxa-simple-map/src/components/README.md diff --git a/app-profiles/doxa-simple-map/src/composables/README.md b/plugin-designs/doxa-simple-map/src/composables/README.md similarity index 100% rename from app-profiles/doxa-simple-map/src/composables/README.md rename to plugin-designs/doxa-simple-map/src/composables/README.md diff --git a/app-profiles/doxa-simple-map/src/utils/README.md b/plugin-designs/doxa-simple-map/src/utils/README.md similarity index 100% rename from app-profiles/doxa-simple-map/src/utils/README.md rename to plugin-designs/doxa-simple-map/src/utils/README.md diff --git a/app-profiles/gospel-resources/charts.vue b/plugin-designs/gospel-resources/charts.vue similarity index 100% rename from app-profiles/gospel-resources/charts.vue rename to plugin-designs/gospel-resources/charts.vue diff --git a/app-profiles/gospel-resources/data-tables.vue b/plugin-designs/gospel-resources/data-tables.vue similarity index 100% rename from app-profiles/gospel-resources/data-tables.vue rename to plugin-designs/gospel-resources/data-tables.vue diff --git a/app-profiles/gospel-resources/data/by-country.json b/plugin-designs/gospel-resources/data/by-country.json similarity index 100% rename from app-profiles/gospel-resources/data/by-country.json rename to plugin-designs/gospel-resources/data/by-country.json diff --git a/app-profiles/gospel-resources/data/resources.json b/plugin-designs/gospel-resources/data/resources.json similarity index 100% rename from app-profiles/gospel-resources/data/resources.json rename to plugin-designs/gospel-resources/data/resources.json diff --git a/app-profiles/gospel-resources/data/tables/city-bridge-opportunities.json b/plugin-designs/gospel-resources/data/tables/city-bridge-opportunities.json similarity index 100% rename from app-profiles/gospel-resources/data/tables/city-bridge-opportunities.json rename to plugin-designs/gospel-resources/data/tables/city-bridge-opportunities.json diff --git a/app-profiles/gospel-resources/data/tables/deaf-gap.json b/plugin-designs/gospel-resources/data/tables/deaf-gap.json similarity index 100% rename from app-profiles/gospel-resources/data/tables/deaf-gap.json rename to plugin-designs/gospel-resources/data/tables/deaf-gap.json diff --git a/app-profiles/gospel-resources/data/tables/gaps-and-opportunities.json b/plugin-designs/gospel-resources/data/tables/gaps-and-opportunities.json similarity index 100% rename from app-profiles/gospel-resources/data/tables/gaps-and-opportunities.json rename to plugin-designs/gospel-resources/data/tables/gaps-and-opportunities.json diff --git a/app-profiles/gospel-resources/data/tables/gospel-access-vs-growth.json b/plugin-designs/gospel-resources/data/tables/gospel-access-vs-growth.json similarity index 100% rename from app-profiles/gospel-resources/data/tables/gospel-access-vs-growth.json rename to plugin-designs/gospel-resources/data/tables/gospel-access-vs-growth.json diff --git a/app-profiles/gospel-resources/data/tables/gospel-link-verification.json b/plugin-designs/gospel-resources/data/tables/gospel-link-verification.json similarity index 100% rename from app-profiles/gospel-resources/data/tables/gospel-link-verification.json rename to plugin-designs/gospel-resources/data/tables/gospel-link-verification.json diff --git a/app-profiles/gospel-resources/data/tables/languages-by-country.json b/plugin-designs/gospel-resources/data/tables/languages-by-country.json similarity index 100% rename from app-profiles/gospel-resources/data/tables/languages-by-country.json rename to plugin-designs/gospel-resources/data/tables/languages-by-country.json diff --git a/app-profiles/gospel-resources/data/tables/people-group-resources.json b/plugin-designs/gospel-resources/data/tables/people-group-resources.json similarity index 100% rename from app-profiles/gospel-resources/data/tables/people-group-resources.json rename to plugin-designs/gospel-resources/data/tables/people-group-resources.json diff --git a/app-profiles/gospel-resources/index.html b/plugin-designs/gospel-resources/index.html similarity index 100% rename from app-profiles/gospel-resources/index.html rename to plugin-designs/gospel-resources/index.html diff --git a/app-profiles/gospel-resources/index.js b/plugin-designs/gospel-resources/index.js similarity index 100% rename from app-profiles/gospel-resources/index.js rename to plugin-designs/gospel-resources/index.js diff --git a/app-profiles/gospel-resources/resources-list.vue b/plugin-designs/gospel-resources/resources-list.vue similarity index 100% rename from app-profiles/gospel-resources/resources-list.vue rename to plugin-designs/gospel-resources/resources-list.vue diff --git a/app-profiles/gospel-resources/resources-map.vue b/plugin-designs/gospel-resources/resources-map.vue similarity index 100% rename from app-profiles/gospel-resources/resources-map.vue rename to plugin-designs/gospel-resources/resources-map.vue diff --git a/app-profiles/gospel-resources/scripts/verify-gospel-click-sheet.mjs b/plugin-designs/gospel-resources/scripts/verify-gospel-click-sheet.mjs similarity index 100% rename from app-profiles/gospel-resources/scripts/verify-gospel-click-sheet.mjs rename to plugin-designs/gospel-resources/scripts/verify-gospel-click-sheet.mjs diff --git a/app-profiles/gospel-resources/scripts/verify-gospel-links.mjs b/plugin-designs/gospel-resources/scripts/verify-gospel-links.mjs similarity index 100% rename from app-profiles/gospel-resources/scripts/verify-gospel-links.mjs rename to plugin-designs/gospel-resources/scripts/verify-gospel-links.mjs diff --git a/app-profiles/key-cities/assets/previews/city-ago--8.8484-13.2535.webp b/plugin-designs/key-cities/assets/previews/city-ago--8.8484-13.2535.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ago--8.8484-13.2535.webp rename to plugin-designs/key-cities/assets/previews/city-ago--8.8484-13.2535.webp diff --git a/app-profiles/key-cities/assets/previews/city-bfa-9.7792--4.2879.webp b/plugin-designs/key-cities/assets/previews/city-bfa-9.7792--4.2879.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-bfa-9.7792--4.2879.webp rename to plugin-designs/key-cities/assets/previews/city-bfa-9.7792--4.2879.webp diff --git a/app-profiles/key-cities/assets/previews/city-brn-4.9234-114.9209.webp b/plugin-designs/key-cities/assets/previews/city-brn-4.9234-114.9209.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-brn-4.9234-114.9209.webp rename to plugin-designs/key-cities/assets/previews/city-brn-4.9234-114.9209.webp diff --git a/app-profiles/key-cities/assets/previews/city-btn-27.75-91.2637.webp b/plugin-designs/key-cities/assets/previews/city-btn-27.75-91.2637.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-btn-27.75-91.2637.webp rename to plugin-designs/key-cities/assets/previews/city-btn-27.75-91.2637.webp diff --git a/app-profiles/key-cities/assets/previews/city-cod-3.5049-24.4533.webp b/plugin-designs/key-cities/assets/previews/city-cod-3.5049-24.4533.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-cod-3.5049-24.4533.webp rename to plugin-designs/key-cities/assets/previews/city-cod-3.5049-24.4533.webp diff --git a/app-profiles/key-cities/assets/previews/city-idn--3.7191-127.9542.webp b/plugin-designs/key-cities/assets/previews/city-idn--3.7191-127.9542.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-idn--3.7191-127.9542.webp rename to plugin-designs/key-cities/assets/previews/city-idn--3.7191-127.9542.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-10.1396-77.7883.webp b/plugin-designs/key-cities/assets/previews/city-ind-10.1396-77.7883.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-10.1396-77.7883.webp rename to plugin-designs/key-cities/assets/previews/city-ind-10.1396-77.7883.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-10.3796-78.8202.webp b/plugin-designs/key-cities/assets/previews/city-ind-10.3796-78.8202.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-10.3796-78.8202.webp rename to plugin-designs/key-cities/assets/previews/city-ind-10.3796-78.8202.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-10.5285-76.2146.webp b/plugin-designs/key-cities/assets/previews/city-ind-10.5285-76.2146.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-10.5285-76.2146.webp rename to plugin-designs/key-cities/assets/previews/city-ind-10.5285-76.2146.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-10.7853-78.7051.webp b/plugin-designs/key-cities/assets/previews/city-ind-10.7853-78.7051.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-10.7853-78.7051.webp rename to plugin-designs/key-cities/assets/previews/city-ind-10.7853-78.7051.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-10.7855-76.6516.webp b/plugin-designs/key-cities/assets/previews/city-ind-10.7855-76.6516.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-10.7855-76.6516.webp rename to plugin-designs/key-cities/assets/previews/city-ind-10.7855-76.6516.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-10.787-79.1378.webp b/plugin-designs/key-cities/assets/previews/city-ind-10.787-79.1378.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-10.787-79.1378.webp rename to plugin-designs/key-cities/assets/previews/city-ind-10.787-79.1378.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-10.8469-76.2633.webp b/plugin-designs/key-cities/assets/previews/city-ind-10.8469-76.2633.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-10.8469-76.2633.webp rename to plugin-designs/key-cities/assets/previews/city-ind-10.8469-76.2633.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-11.0049-76.9626.webp b/plugin-designs/key-cities/assets/previews/city-ind-11.0049-76.9626.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-11.0049-76.9626.webp rename to plugin-designs/key-cities/assets/previews/city-ind-11.0049-76.9626.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-11.0546-78.6369.webp b/plugin-designs/key-cities/assets/previews/city-ind-11.0546-78.6369.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-11.0546-78.6369.webp rename to plugin-designs/key-cities/assets/previews/city-ind-11.0546-78.6369.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-11.06-76.0816.webp b/plugin-designs/key-cities/assets/previews/city-ind-11.06-76.0816.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-11.06-76.0816.webp rename to plugin-designs/key-cities/assets/previews/city-ind-11.06-76.0816.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-11.0991-77.2807.webp b/plugin-designs/key-cities/assets/previews/city-ind-11.0991-77.2807.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-11.0991-77.2807.webp rename to plugin-designs/key-cities/assets/previews/city-ind-11.0991-77.2807.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-11.1271-78.6565.webp b/plugin-designs/key-cities/assets/previews/city-ind-11.1271-78.6565.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-11.1271-78.6565.webp rename to plugin-designs/key-cities/assets/previews/city-ind-11.1271-78.6565.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-11.253-76.2299.webp b/plugin-designs/key-cities/assets/previews/city-ind-11.253-76.2299.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-11.253-76.2299.webp rename to plugin-designs/key-cities/assets/previews/city-ind-11.253-76.2299.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-11.3548-77.711.webp b/plugin-designs/key-cities/assets/previews/city-ind-11.3548-77.711.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-11.3548-77.711.webp rename to plugin-designs/key-cities/assets/previews/city-ind-11.3548-77.711.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-11.4517-76.7145.webp b/plugin-designs/key-cities/assets/previews/city-ind-11.4517-76.7145.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-11.4517-76.7145.webp rename to plugin-designs/key-cities/assets/previews/city-ind-11.4517-76.7145.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-11.6234-92.7265.webp b/plugin-designs/key-cities/assets/previews/city-ind-11.6234-92.7265.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-11.6234-92.7265.webp rename to plugin-designs/key-cities/assets/previews/city-ind-11.6234-92.7265.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-11.6765-76.1741.webp b/plugin-designs/key-cities/assets/previews/city-ind-11.6765-76.1741.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-11.6765-76.1741.webp rename to plugin-designs/key-cities/assets/previews/city-ind-11.6765-76.1741.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-11.8745-75.3695.webp b/plugin-designs/key-cities/assets/previews/city-ind-11.8745-75.3695.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-11.8745-75.3695.webp rename to plugin-designs/key-cities/assets/previews/city-ind-11.8745-75.3695.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-11.9182-79.8085.webp b/plugin-designs/key-cities/assets/previews/city-ind-11.9182-79.8085.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-11.9182-79.8085.webp rename to plugin-designs/key-cities/assets/previews/city-ind-11.9182-79.8085.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-11.967-75.3663.webp b/plugin-designs/key-cities/assets/previews/city-ind-11.967-75.3663.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-11.967-75.3663.webp rename to plugin-designs/key-cities/assets/previews/city-ind-11.967-75.3663.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-12.2973-75.7684.webp b/plugin-designs/key-cities/assets/previews/city-ind-12.2973-75.7684.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-12.2973-75.7684.webp rename to plugin-designs/key-cities/assets/previews/city-ind-12.2973-75.7684.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-12.3022-76.6423.webp b/plugin-designs/key-cities/assets/previews/city-ind-12.3022-76.6423.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-12.3022-76.6423.webp rename to plugin-designs/key-cities/assets/previews/city-ind-12.3022-76.6423.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-12.427-75.742.webp b/plugin-designs/key-cities/assets/previews/city-ind-12.427-75.742.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-12.427-75.742.webp rename to plugin-designs/key-cities/assets/previews/city-ind-12.427-75.742.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-12.4538-75.1701.webp b/plugin-designs/key-cities/assets/previews/city-ind-12.4538-75.1701.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-12.4538-75.1701.webp rename to plugin-designs/key-cities/assets/previews/city-ind-12.4538-75.1701.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-12.5102-74.9852.webp b/plugin-designs/key-cities/assets/previews/city-ind-12.5102-74.9852.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-12.5102-74.9852.webp rename to plugin-designs/key-cities/assets/previews/city-ind-12.5102-74.9852.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-12.5446-80.0193.webp b/plugin-designs/key-cities/assets/previews/city-ind-12.5446-80.0193.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-12.5446-80.0193.webp rename to plugin-designs/key-cities/assets/previews/city-ind-12.5446-80.0193.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-12.6867-79.9614.webp b/plugin-designs/key-cities/assets/previews/city-ind-12.6867-79.9614.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-12.6867-79.9614.webp rename to plugin-designs/key-cities/assets/previews/city-ind-12.6867-79.9614.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-12.8403-75.2483.webp b/plugin-designs/key-cities/assets/previews/city-ind-12.8403-75.2483.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-12.8403-75.2483.webp rename to plugin-designs/key-cities/assets/previews/city-ind-12.8403-75.2483.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-12.9125-79.3429.webp b/plugin-designs/key-cities/assets/previews/city-ind-12.9125-79.3429.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-12.9125-79.3429.webp rename to plugin-designs/key-cities/assets/previews/city-ind-12.9125-79.3429.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-12.964-74.837.webp b/plugin-designs/key-cities/assets/previews/city-ind-12.964-74.837.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-12.964-74.837.webp rename to plugin-designs/key-cities/assets/previews/city-ind-12.964-74.837.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-12.9789-77.5857.webp b/plugin-designs/key-cities/assets/previews/city-ind-12.9789-77.5857.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-12.9789-77.5857.webp rename to plugin-designs/key-cities/assets/previews/city-ind-12.9789-77.5857.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-13.0505-75.1773.webp b/plugin-designs/key-cities/assets/previews/city-ind-13.0505-75.1773.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-13.0505-75.1773.webp rename to plugin-designs/key-cities/assets/previews/city-ind-13.0505-75.1773.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-13.2174-79.101.webp b/plugin-designs/key-cities/assets/previews/city-ind-13.2174-79.101.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-13.2174-79.101.webp rename to plugin-designs/key-cities/assets/previews/city-ind-13.2174-79.101.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-13.2466-80.2533.webp b/plugin-designs/key-cities/assets/previews/city-ind-13.2466-80.2533.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-13.2466-80.2533.webp rename to plugin-designs/key-cities/assets/previews/city-ind-13.2466-80.2533.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-13.3138-75.7731.webp b/plugin-designs/key-cities/assets/previews/city-ind-13.3138-75.7731.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-13.3138-75.7731.webp rename to plugin-designs/key-cities/assets/previews/city-ind-13.3138-75.7731.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-13.3389-74.7451.webp b/plugin-designs/key-cities/assets/previews/city-ind-13.3389-74.7451.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-13.3389-74.7451.webp rename to plugin-designs/key-cities/assets/previews/city-ind-13.3389-74.7451.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-13.4672-79.0137.webp b/plugin-designs/key-cities/assets/previews/city-ind-13.4672-79.0137.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-13.4672-79.0137.webp rename to plugin-designs/key-cities/assets/previews/city-ind-13.4672-79.0137.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-13.6192-79.4197.webp b/plugin-designs/key-cities/assets/previews/city-ind-13.6192-79.4197.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-13.6192-79.4197.webp rename to plugin-designs/key-cities/assets/previews/city-ind-13.6192-79.4197.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-14.4428-79.9882.webp b/plugin-designs/key-cities/assets/previews/city-ind-14.4428-79.9882.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-14.4428-79.9882.webp rename to plugin-designs/key-cities/assets/previews/city-ind-14.4428-79.9882.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-14.494-78.7992.webp b/plugin-designs/key-cities/assets/previews/city-ind-14.494-78.7992.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-14.494-78.7992.webp rename to plugin-designs/key-cities/assets/previews/city-ind-14.494-78.7992.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-14.7445-74.7282.webp b/plugin-designs/key-cities/assets/previews/city-ind-14.7445-74.7282.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-14.7445-74.7282.webp rename to plugin-designs/key-cities/assets/previews/city-ind-14.7445-74.7282.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-14.7811-74.6161.webp b/plugin-designs/key-cities/assets/previews/city-ind-14.7811-74.6161.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-14.7811-74.6161.webp rename to plugin-designs/key-cities/assets/previews/city-ind-14.7811-74.6161.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-14.8066-74.1305.webp b/plugin-designs/key-cities/assets/previews/city-ind-14.8066-74.1305.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-14.8066-74.1305.webp rename to plugin-designs/key-cities/assets/previews/city-ind-14.8066-74.1305.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-15.1518-75.4446.webp b/plugin-designs/key-cities/assets/previews/city-ind-15.1518-75.4446.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-15.1518-75.4446.webp rename to plugin-designs/key-cities/assets/previews/city-ind-15.1518-75.4446.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-15.2213-74.0714.webp b/plugin-designs/key-cities/assets/previews/city-ind-15.2213-74.0714.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-15.2213-74.0714.webp rename to plugin-designs/key-cities/assets/previews/city-ind-15.2213-74.0714.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-15.4573-75.0086.webp b/plugin-designs/key-cities/assets/previews/city-ind-15.4573-75.0086.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-15.4573-75.0086.webp rename to plugin-designs/key-cities/assets/previews/city-ind-15.4573-75.0086.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-15.4895-79.6006.webp b/plugin-designs/key-cities/assets/previews/city-ind-15.4895-79.6006.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-15.4895-79.6006.webp rename to plugin-designs/key-cities/assets/previews/city-ind-15.4895-79.6006.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-15.5127-77.9554.webp b/plugin-designs/key-cities/assets/previews/city-ind-15.5127-77.9554.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-15.5127-77.9554.webp rename to plugin-designs/key-cities/assets/previews/city-ind-15.5127-77.9554.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-15.8971-79.7392.webp b/plugin-designs/key-cities/assets/previews/city-ind-15.8971-79.7392.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-15.8971-79.7392.webp rename to plugin-designs/key-cities/assets/previews/city-ind-15.8971-79.7392.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-16.1786-81.1347.webp b/plugin-designs/key-cities/assets/previews/city-ind-16.1786-81.1347.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-16.1786-81.1347.webp rename to plugin-designs/key-cities/assets/previews/city-ind-16.1786-81.1347.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-16.3172-80.0518.webp b/plugin-designs/key-cities/assets/previews/city-ind-16.3172-80.0518.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-16.3172-80.0518.webp rename to plugin-designs/key-cities/assets/previews/city-ind-16.3172-80.0518.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-16.4355-80.0228.webp b/plugin-designs/key-cities/assets/previews/city-ind-16.4355-80.0228.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-16.4355-80.0228.webp rename to plugin-designs/key-cities/assets/previews/city-ind-16.4355-80.0228.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-16.5066-80.6501.webp b/plugin-designs/key-cities/assets/previews/city-ind-16.5066-80.6501.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-16.5066-80.6501.webp rename to plugin-designs/key-cities/assets/previews/city-ind-16.5066-80.6501.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-16.6981-74.2441.webp b/plugin-designs/key-cities/assets/previews/city-ind-16.6981-74.2441.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-16.6981-74.2441.webp rename to plugin-designs/key-cities/assets/previews/city-ind-16.6981-74.2441.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-16.7107-81.0956.webp b/plugin-designs/key-cities/assets/previews/city-ind-16.7107-81.0956.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-16.7107-81.0956.webp rename to plugin-designs/key-cities/assets/previews/city-ind-16.7107-81.0956.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-16.8296-75.7135.webp b/plugin-designs/key-cities/assets/previews/city-ind-16.8296-75.7135.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-16.8296-75.7135.webp rename to plugin-designs/key-cities/assets/previews/city-ind-16.8296-75.7135.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-17.0598-74.68.webp b/plugin-designs/key-cities/assets/previews/city-ind-17.0598-74.68.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-17.0598-74.68.webp rename to plugin-designs/key-cities/assets/previews/city-ind-17.0598-74.68.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-17.2551-78.4478.webp b/plugin-designs/key-cities/assets/previews/city-ind-17.2551-78.4478.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-17.2551-78.4478.webp rename to plugin-designs/key-cities/assets/previews/city-ind-17.2551-78.4478.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-17.3189-82.4772.webp b/plugin-designs/key-cities/assets/previews/city-ind-17.3189-82.4772.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-17.3189-82.4772.webp rename to plugin-designs/key-cities/assets/previews/city-ind-17.3189-82.4772.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-17.4284-78.4492.webp b/plugin-designs/key-cities/assets/previews/city-ind-17.4284-78.4492.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-17.4284-78.4492.webp rename to plugin-designs/key-cities/assets/previews/city-ind-17.4284-78.4492.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-17.6602-75.908.webp b/plugin-designs/key-cities/assets/previews/city-ind-17.6602-75.908.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-17.6602-75.908.webp rename to plugin-designs/key-cities/assets/previews/city-ind-17.6602-75.908.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-17.6921-83.2225.webp b/plugin-designs/key-cities/assets/previews/city-ind-17.6921-83.2225.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-17.6921-83.2225.webp rename to plugin-designs/key-cities/assets/previews/city-ind-17.6921-83.2225.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-17.9875-82.6791.webp b/plugin-designs/key-cities/assets/previews/city-ind-17.9875-82.6791.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-17.9875-82.6791.webp rename to plugin-designs/key-cities/assets/previews/city-ind-17.9875-82.6791.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-18.1063-83.3951.webp b/plugin-designs/key-cities/assets/previews/city-ind-18.1063-83.3951.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-18.1063-83.3951.webp rename to plugin-designs/key-cities/assets/previews/city-ind-18.1063-83.3951.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-18.1085-78.9859.webp b/plugin-designs/key-cities/assets/previews/city-ind-18.1085-78.9859.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-18.1085-78.9859.webp rename to plugin-designs/key-cities/assets/previews/city-ind-18.1085-78.9859.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-18.2978-83.9127.webp b/plugin-designs/key-cities/assets/previews/city-ind-18.2978-83.9127.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-18.2978-83.9127.webp rename to plugin-designs/key-cities/assets/previews/city-ind-18.2978-83.9127.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-18.4856-79.1748.webp b/plugin-designs/key-cities/assets/previews/city-ind-18.4856-79.1748.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-18.4856-79.1748.webp rename to plugin-designs/key-cities/assets/previews/city-ind-18.4856-79.1748.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-18.488-83.8616.webp b/plugin-designs/key-cities/assets/previews/city-ind-18.488-83.8616.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-18.488-83.8616.webp rename to plugin-designs/key-cities/assets/previews/city-ind-18.488-83.8616.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-18.5347-84.0184.webp b/plugin-designs/key-cities/assets/previews/city-ind-18.5347-84.0184.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-18.5347-84.0184.webp rename to plugin-designs/key-cities/assets/previews/city-ind-18.5347-84.0184.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-18.5355-83.5092.webp b/plugin-designs/key-cities/assets/previews/city-ind-18.5355-83.5092.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-18.5355-83.5092.webp rename to plugin-designs/key-cities/assets/previews/city-ind-18.5355-83.5092.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-18.8207-82.6805.webp b/plugin-designs/key-cities/assets/previews/city-ind-18.8207-82.6805.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-18.8207-82.6805.webp rename to plugin-designs/key-cities/assets/previews/city-ind-18.8207-82.6805.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-19.1051-81.9755.webp b/plugin-designs/key-cities/assets/previews/city-ind-19.1051-81.9755.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-19.1051-81.9755.webp rename to plugin-designs/key-cities/assets/previews/city-ind-19.1051-81.9755.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-19.1089-74.7462.webp b/plugin-designs/key-cities/assets/previews/city-ind-19.1089-74.7462.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-19.1089-74.7462.webp rename to plugin-designs/key-cities/assets/previews/city-ind-19.1089-74.7462.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-19.1142-77.6242.webp b/plugin-designs/key-cities/assets/previews/city-ind-19.1142-77.6242.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-19.1142-77.6242.webp rename to plugin-designs/key-cities/assets/previews/city-ind-19.1142-77.6242.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-19.2034-72.9736.webp b/plugin-designs/key-cities/assets/previews/city-ind-19.2034-72.9736.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-19.2034-72.9736.webp rename to plugin-designs/key-cities/assets/previews/city-ind-19.2034-72.9736.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-19.2672-76.7106.webp b/plugin-designs/key-cities/assets/previews/city-ind-19.2672-76.7106.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-19.2672-76.7106.webp rename to plugin-designs/key-cities/assets/previews/city-ind-19.2672-76.7106.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-19.4263-74.4219.webp b/plugin-designs/key-cities/assets/previews/city-ind-19.4263-74.4219.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-19.4263-74.4219.webp rename to plugin-designs/key-cities/assets/previews/city-ind-19.4263-74.4219.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-19.5796-84.6883.webp b/plugin-designs/key-cities/assets/previews/city-ind-19.5796-84.6883.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-19.5796-84.6883.webp rename to plugin-designs/key-cities/assets/previews/city-ind-19.5796-84.6883.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-19.8119-85.829.webp b/plugin-designs/key-cities/assets/previews/city-ind-19.8119-85.829.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-19.8119-85.829.webp rename to plugin-designs/key-cities/assets/previews/city-ind-19.8119-85.829.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-19.9602-79.3007.webp b/plugin-designs/key-cities/assets/previews/city-ind-19.9602-79.3007.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-19.9602-79.3007.webp rename to plugin-designs/key-cities/assets/previews/city-ind-19.9602-79.3007.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-20.2483-85.7829.webp b/plugin-designs/key-cities/assets/previews/city-ind-20.2483-85.7829.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-20.2483-85.7829.webp rename to plugin-designs/key-cities/assets/previews/city-ind-20.2483-85.7829.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-20.4856-85.9122.webp b/plugin-designs/key-cities/assets/previews/city-ind-20.4856-85.9122.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-20.4856-85.9122.webp rename to plugin-designs/key-cities/assets/previews/city-ind-20.4856-85.9122.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-20.5024-85.7438.webp b/plugin-designs/key-cities/assets/previews/city-ind-20.5024-85.7438.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-20.5024-85.7438.webp rename to plugin-designs/key-cities/assets/previews/city-ind-20.5024-85.7438.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-20.6503-85.5972.webp b/plugin-designs/key-cities/assets/previews/city-ind-20.6503-85.5972.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-20.6503-85.5972.webp rename to plugin-designs/key-cities/assets/previews/city-ind-20.6503-85.5972.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-20.7069-83.4843.webp b/plugin-designs/key-cities/assets/previews/city-ind-20.7069-83.4843.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-20.7069-83.4843.webp rename to plugin-designs/key-cities/assets/previews/city-ind-20.7069-83.4843.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-20.7134-77.01.webp b/plugin-designs/key-cities/assets/previews/city-ind-20.7134-77.01.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-20.7134-77.01.webp rename to plugin-designs/key-cities/assets/previews/city-ind-20.7134-77.01.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-20.9479-85.1027.webp b/plugin-designs/key-cities/assets/previews/city-ind-20.9479-85.1027.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-20.9479-85.1027.webp rename to plugin-designs/key-cities/assets/previews/city-ind-20.9479-85.1027.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-21.1417-79.0853.webp b/plugin-designs/key-cities/assets/previews/city-ind-21.1417-79.0853.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-21.1417-79.0853.webp rename to plugin-designs/key-cities/assets/previews/city-ind-21.1417-79.0853.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-21.1785-72.8289.webp b/plugin-designs/key-cities/assets/previews/city-ind-21.1785-72.8289.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-21.1785-72.8289.webp rename to plugin-designs/key-cities/assets/previews/city-ind-21.1785-72.8289.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-21.2304-70.5013.webp b/plugin-designs/key-cities/assets/previews/city-ind-21.2304-70.5013.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-21.2304-70.5013.webp rename to plugin-designs/key-cities/assets/previews/city-ind-21.2304-70.5013.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-21.2848-81.7613.webp b/plugin-designs/key-cities/assets/previews/city-ind-21.2848-81.7613.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-21.2848-81.7613.webp rename to plugin-designs/key-cities/assets/previews/city-ind-21.2848-81.7613.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-21.4688-83.9798.webp b/plugin-designs/key-cities/assets/previews/city-ind-21.4688-83.9798.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-21.4688-83.9798.webp rename to plugin-designs/key-cities/assets/previews/city-ind-21.4688-83.9798.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-21.4924-86.9374.webp b/plugin-designs/key-cities/assets/previews/city-ind-21.4924-86.9374.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-21.4924-86.9374.webp rename to plugin-designs/key-cities/assets/previews/city-ind-21.4924-86.9374.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-21.523-70.4574.webp b/plugin-designs/key-cities/assets/previews/city-ind-21.523-70.4574.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-21.523-70.4574.webp rename to plugin-designs/key-cities/assets/previews/city-ind-21.523-70.4574.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-21.764-72.1523.webp b/plugin-designs/key-cities/assets/previews/city-ind-21.764-72.1523.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-21.764-72.1523.webp rename to plugin-designs/key-cities/assets/previews/city-ind-21.764-72.1523.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-22.0114-86.4225.webp b/plugin-designs/key-cities/assets/previews/city-ind-22.0114-86.4225.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-22.0114-86.4225.webp rename to plugin-designs/key-cities/assets/previews/city-ind-22.0114-86.4225.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-22.0796-82.1391.webp b/plugin-designs/key-cities/assets/previews/city-ind-22.0796-82.1391.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-22.0796-82.1391.webp rename to plugin-designs/key-cities/assets/previews/city-ind-22.0796-82.1391.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-22.257-86.1812.webp b/plugin-designs/key-cities/assets/previews/city-ind-22.257-86.1812.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-22.257-86.1812.webp rename to plugin-designs/key-cities/assets/previews/city-ind-22.257-86.1812.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-22.2915-70.7754.webp b/plugin-designs/key-cities/assets/previews/city-ind-22.2915-70.7754.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-22.2915-70.7754.webp rename to plugin-designs/key-cities/assets/previews/city-ind-22.2915-70.7754.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-22.3072-73.1812.webp b/plugin-designs/key-cities/assets/previews/city-ind-22.3072-73.1812.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-22.3072-73.1812.webp rename to plugin-designs/key-cities/assets/previews/city-ind-22.3072-73.1812.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-22.4094-83.5605.webp b/plugin-designs/key-cities/assets/previews/city-ind-22.4094-83.5605.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-22.4094-83.5605.webp rename to plugin-designs/key-cities/assets/previews/city-ind-22.4094-83.5605.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-22.429-87.3385.webp b/plugin-designs/key-cities/assets/previews/city-ind-22.429-87.3385.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-22.429-87.3385.webp rename to plugin-designs/key-cities/assets/previews/city-ind-22.429-87.3385.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-22.4604-70.0644.webp b/plugin-designs/key-cities/assets/previews/city-ind-22.4604-70.0644.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-22.4604-70.0644.webp rename to plugin-designs/key-cities/assets/previews/city-ind-22.4604-70.0644.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-22.725-71.6435.webp b/plugin-designs/key-cities/assets/previews/city-ind-22.725-71.6435.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-22.725-71.6435.webp rename to plugin-designs/key-cities/assets/previews/city-ind-22.725-71.6435.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-22.7365-75.8485.webp b/plugin-designs/key-cities/assets/previews/city-ind-22.7365-75.8485.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-22.7365-75.8485.webp rename to plugin-designs/key-cities/assets/previews/city-ind-22.7365-75.8485.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-22.8022-88.8331.webp b/plugin-designs/key-cities/assets/previews/city-ind-22.8022-88.8331.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-22.8022-88.8331.webp rename to plugin-designs/key-cities/assets/previews/city-ind-22.8022-88.8331.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-22.8305-69.3558.webp b/plugin-designs/key-cities/assets/previews/city-ind-22.8305-69.3558.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-22.8305-69.3558.webp rename to plugin-designs/key-cities/assets/previews/city-ind-22.8305-69.3558.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-22.9349-88.0215.webp b/plugin-designs/key-cities/assets/previews/city-ind-22.9349-88.0215.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-22.9349-88.0215.webp rename to plugin-designs/key-cities/assets/previews/city-ind-22.9349-88.0215.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-23.0312-72.5437.webp b/plugin-designs/key-cities/assets/previews/city-ind-23.0312-72.5437.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-23.0312-72.5437.webp rename to plugin-designs/key-cities/assets/previews/city-ind-23.0312-72.5437.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-23.1005-72.0671.webp b/plugin-designs/key-cities/assets/previews/city-ind-23.1005-72.0671.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-23.1005-72.0671.webp rename to plugin-designs/key-cities/assets/previews/city-ind-23.1005-72.0671.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-23.1793-75.7849.webp b/plugin-designs/key-cities/assets/previews/city-ind-23.1793-75.7849.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-23.1793-75.7849.webp rename to plugin-designs/key-cities/assets/previews/city-ind-23.1793-75.7849.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-23.2-77.0816.webp b/plugin-designs/key-cities/assets/previews/city-ind-23.2-77.0816.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-23.2-77.0816.webp rename to plugin-designs/key-cities/assets/previews/city-ind-23.2-77.0816.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-23.2461-69.6708.webp b/plugin-designs/key-cities/assets/previews/city-ind-23.2461-69.6708.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-23.2461-69.6708.webp rename to plugin-designs/key-cities/assets/previews/city-ind-23.2461-69.6708.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-23.3321-86.3652.webp b/plugin-designs/key-cities/assets/previews/city-ind-23.3321-86.3652.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-23.3321-86.3652.webp rename to plugin-designs/key-cities/assets/previews/city-ind-23.3321-86.3652.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-23.5878-72.3697.webp b/plugin-designs/key-cities/assets/previews/city-ind-23.5878-72.3697.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-23.5878-72.3697.webp rename to plugin-designs/key-cities/assets/previews/city-ind-23.5878-72.3697.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-23.6759-69.5401.webp b/plugin-designs/key-cities/assets/previews/city-ind-23.6759-69.5401.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-23.6759-69.5401.webp rename to plugin-designs/key-cities/assets/previews/city-ind-23.6759-69.5401.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-23.6808-69.7584.webp b/plugin-designs/key-cities/assets/previews/city-ind-23.6808-69.7584.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-23.6808-69.7584.webp rename to plugin-designs/key-cities/assets/previews/city-ind-23.6808-69.7584.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-23.7864-79.4834.webp b/plugin-designs/key-cities/assets/previews/city-ind-23.7864-79.4834.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-23.7864-79.4834.webp rename to plugin-designs/key-cities/assets/previews/city-ind-23.7864-79.4834.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-23.8255-72.9775.webp b/plugin-designs/key-cities/assets/previews/city-ind-23.8255-72.9775.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-23.8255-72.9775.webp rename to plugin-designs/key-cities/assets/previews/city-ind-23.8255-72.9775.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-23.8315-91.2868.webp b/plugin-designs/key-cities/assets/previews/city-ind-23.8315-91.2868.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-23.8315-91.2868.webp rename to plugin-designs/key-cities/assets/previews/city-ind-23.8315-91.2868.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-23.8978-91.4453.webp b/plugin-designs/key-cities/assets/previews/city-ind-23.8978-91.4453.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-23.8978-91.4453.webp rename to plugin-designs/key-cities/assets/previews/city-ind-23.8978-91.4453.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-24.5562-81.227.webp b/plugin-designs/key-cities/assets/previews/city-ind-24.5562-81.227.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-24.5562-81.227.webp rename to plugin-designs/key-cities/assets/previews/city-ind-24.5562-81.227.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-24.5742-73.6877.webp b/plugin-designs/key-cities/assets/previews/city-ind-24.5742-73.6877.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-24.5742-73.6877.webp rename to plugin-designs/key-cities/assets/previews/city-ind-24.5742-73.6877.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-24.6898-92.679.webp b/plugin-designs/key-cities/assets/previews/city-ind-24.6898-92.679.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-24.6898-92.679.webp rename to plugin-designs/key-cities/assets/previews/city-ind-24.6898-92.679.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-24.7229-93.9431.webp b/plugin-designs/key-cities/assets/previews/city-ind-24.7229-93.9431.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-24.7229-93.9431.webp rename to plugin-designs/key-cities/assets/previews/city-ind-24.7229-93.9431.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-25.1681-75.8523.webp b/plugin-designs/key-cities/assets/previews/city-ind-25.1681-75.8523.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-25.1681-75.8523.webp rename to plugin-designs/key-cities/assets/previews/city-ind-25.1681-75.8523.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-25.2405-86.985.webp b/plugin-designs/key-cities/assets/previews/city-ind-25.2405-86.985.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-25.2405-86.985.webp rename to plugin-designs/key-cities/assets/previews/city-ind-25.2405-86.985.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-26.233-73.0218.webp b/plugin-designs/key-cities/assets/previews/city-ind-26.233-73.0218.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-26.233-73.0218.webp rename to plugin-designs/key-cities/assets/previews/city-ind-26.233-73.0218.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-26.3013-91.5498.webp b/plugin-designs/key-cities/assets/previews/city-ind-26.3013-91.5498.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-26.3013-91.5498.webp rename to plugin-designs/key-cities/assets/previews/city-ind-26.3013-91.5498.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-26.4354-86.1991.webp b/plugin-designs/key-cities/assets/previews/city-ind-26.4354-86.1991.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-26.4354-86.1991.webp rename to plugin-designs/key-cities/assets/previews/city-ind-26.4354-86.1991.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-26.4497-74.6414.webp b/plugin-designs/key-cities/assets/previews/city-ind-26.4497-74.6414.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-26.4497-74.6414.webp rename to plugin-designs/key-cities/assets/previews/city-ind-26.4497-74.6414.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-26.8465-80.9467.webp b/plugin-designs/key-cities/assets/previews/city-ind-26.8465-80.9467.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-26.8465-80.9467.webp rename to plugin-designs/key-cities/assets/previews/city-ind-26.8465-80.9467.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-26.9351-75.7674.webp b/plugin-designs/key-cities/assets/previews/city-ind-26.9351-75.7674.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-26.9351-75.7674.webp rename to plugin-designs/key-cities/assets/previews/city-ind-26.9351-75.7674.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-27.0126-74.2222.webp b/plugin-designs/key-cities/assets/previews/city-ind-27.0126-74.2222.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-27.0126-74.2222.webp rename to plugin-designs/key-cities/assets/previews/city-ind-27.0126-74.2222.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-27.0561-88.4651.webp b/plugin-designs/key-cities/assets/previews/city-ind-27.0561-88.4651.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-27.0561-88.4651.webp rename to plugin-designs/key-cities/assets/previews/city-ind-27.0561-88.4651.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-27.2173-77.4887.webp b/plugin-designs/key-cities/assets/previews/city-ind-27.2173-77.4887.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-27.2173-77.4887.webp rename to plugin-designs/key-cities/assets/previews/city-ind-27.2173-77.4887.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-27.4436-94.9873.webp b/plugin-designs/key-cities/assets/previews/city-ind-27.4436-94.9873.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-27.4436-94.9873.webp rename to plugin-designs/key-cities/assets/previews/city-ind-27.4436-94.9873.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-27.5342-77.6823.webp b/plugin-designs/key-cities/assets/previews/city-ind-27.5342-77.6823.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-27.5342-77.6823.webp rename to plugin-designs/key-cities/assets/previews/city-ind-27.5342-77.6823.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-27.6099-75.1386.webp b/plugin-designs/key-cities/assets/previews/city-ind-27.6099-75.1386.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-27.6099-75.1386.webp rename to plugin-designs/key-cities/assets/previews/city-ind-27.6099-75.1386.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-28.0249-73.3088.webp b/plugin-designs/key-cities/assets/previews/city-ind-28.0249-73.3088.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-28.0249-73.3088.webp rename to plugin-designs/key-cities/assets/previews/city-ind-28.0249-73.3088.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-28.1879-73.1818.webp b/plugin-designs/key-cities/assets/previews/city-ind-28.1879-73.1818.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-28.1879-73.1818.webp rename to plugin-designs/key-cities/assets/previews/city-ind-28.1879-73.1818.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-29.4602-77.7328.webp b/plugin-designs/key-cities/assets/previews/city-ind-29.4602-77.7328.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-29.4602-77.7328.webp rename to plugin-designs/key-cities/assets/previews/city-ind-29.4602-77.7328.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-29.7457-80.5232.webp b/plugin-designs/key-cities/assets/previews/city-ind-29.7457-80.5232.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-29.7457-80.5232.webp rename to plugin-designs/key-cities/assets/previews/city-ind-29.7457-80.5232.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-29.9603-77.5455.webp b/plugin-designs/key-cities/assets/previews/city-ind-29.9603-77.5455.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-29.9603-77.5455.webp rename to plugin-designs/key-cities/assets/previews/city-ind-29.9603-77.5455.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-31.6058-76.5744.webp b/plugin-designs/key-cities/assets/previews/city-ind-31.6058-76.5744.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-31.6058-76.5744.webp rename to plugin-designs/key-cities/assets/previews/city-ind-31.6058-76.5744.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-32.0885-76.2843.webp b/plugin-designs/key-cities/assets/previews/city-ind-32.0885-76.2843.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-32.0885-76.2843.webp rename to plugin-designs/key-cities/assets/previews/city-ind-32.0885-76.2843.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-32.5087-76.224.webp b/plugin-designs/key-cities/assets/previews/city-ind-32.5087-76.224.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-32.5087-76.224.webp rename to plugin-designs/key-cities/assets/previews/city-ind-32.5087-76.224.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-32.7387-74.9127.webp b/plugin-designs/key-cities/assets/previews/city-ind-32.7387-74.9127.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-32.7387-74.9127.webp rename to plugin-designs/key-cities/assets/previews/city-ind-32.7387-74.9127.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-33.2376-74.3118.webp b/plugin-designs/key-cities/assets/previews/city-ind-33.2376-74.3118.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-33.2376-74.3118.webp rename to plugin-designs/key-cities/assets/previews/city-ind-33.2376-74.3118.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-33.702-74.1081.webp b/plugin-designs/key-cities/assets/previews/city-ind-33.702-74.1081.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-33.702-74.1081.webp rename to plugin-designs/key-cities/assets/previews/city-ind-33.702-74.1081.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-33.7142-75.2096.webp b/plugin-designs/key-cities/assets/previews/city-ind-33.7142-75.2096.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-33.7142-75.2096.webp rename to plugin-designs/key-cities/assets/previews/city-ind-33.7142-75.2096.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-34.0494-74.7834.webp b/plugin-designs/key-cities/assets/previews/city-ind-34.0494-74.7834.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-34.0494-74.7834.webp rename to plugin-designs/key-cities/assets/previews/city-ind-34.0494-74.7834.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-34.1442-74.8863.webp b/plugin-designs/key-cities/assets/previews/city-ind-34.1442-74.8863.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-34.1442-74.8863.webp rename to plugin-designs/key-cities/assets/previews/city-ind-34.1442-74.8863.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-34.5502-76.1323.webp b/plugin-designs/key-cities/assets/previews/city-ind-34.5502-76.1323.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-34.5502-76.1323.webp rename to plugin-designs/key-cities/assets/previews/city-ind-34.5502-76.1323.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-8.0883-77.5386.webp b/plugin-designs/key-cities/assets/previews/city-ind-8.0883-77.5386.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-8.0883-77.5386.webp rename to plugin-designs/key-cities/assets/previews/city-ind-8.0883-77.5386.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-8.2659-77.3252.webp b/plugin-designs/key-cities/assets/previews/city-ind-8.2659-77.3252.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-8.2659-77.3252.webp rename to plugin-designs/key-cities/assets/previews/city-ind-8.2659-77.3252.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-8.4993-76.9453.webp b/plugin-designs/key-cities/assets/previews/city-ind-8.4993-76.9453.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-8.4993-76.9453.webp rename to plugin-designs/key-cities/assets/previews/city-ind-8.4993-76.9453.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-8.7139-77.7557.webp b/plugin-designs/key-cities/assets/previews/city-ind-8.7139-77.7557.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-8.7139-77.7557.webp rename to plugin-designs/key-cities/assets/previews/city-ind-8.7139-77.7557.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-8.9113-76.5901.webp b/plugin-designs/key-cities/assets/previews/city-ind-8.9113-76.5901.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-8.9113-76.5901.webp rename to plugin-designs/key-cities/assets/previews/city-ind-8.9113-76.5901.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-9.5008-76.3403.webp b/plugin-designs/key-cities/assets/previews/city-ind-9.5008-76.3403.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-9.5008-76.3403.webp rename to plugin-designs/key-cities/assets/previews/city-ind-9.5008-76.3403.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-9.5413-76.5366.webp b/plugin-designs/key-cities/assets/previews/city-ind-9.5413-76.5366.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-9.5413-76.5366.webp rename to plugin-designs/key-cities/assets/previews/city-ind-9.5413-76.5366.webp diff --git a/app-profiles/key-cities/assets/previews/city-ind-9.9721-76.2969.webp b/plugin-designs/key-cities/assets/previews/city-ind-9.9721-76.2969.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-ind-9.9721-76.2969.webp rename to plugin-designs/key-cities/assets/previews/city-ind-9.9721-76.2969.webp diff --git a/app-profiles/key-cities/assets/previews/city-mys-4.0421-113.9325.webp b/plugin-designs/key-cities/assets/previews/city-mys-4.0421-113.9325.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-mys-4.0421-113.9325.webp rename to plugin-designs/key-cities/assets/previews/city-mys-4.0421-113.9325.webp diff --git a/app-profiles/key-cities/assets/previews/city-nga-10.5617-8.9977.webp b/plugin-designs/key-cities/assets/previews/city-nga-10.5617-8.9977.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-nga-10.5617-8.9977.webp rename to plugin-designs/key-cities/assets/previews/city-nga-10.5617-8.9977.webp diff --git a/app-profiles/key-cities/assets/previews/city-nga-10.9183-9.7943.webp b/plugin-designs/key-cities/assets/previews/city-nga-10.9183-9.7943.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-nga-10.9183-9.7943.webp rename to plugin-designs/key-cities/assets/previews/city-nga-10.9183-9.7943.webp diff --git a/app-profiles/key-cities/assets/previews/city-nga-7.5102-6.0404.webp b/plugin-designs/key-cities/assets/previews/city-nga-7.5102-6.0404.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-nga-7.5102-6.0404.webp rename to plugin-designs/key-cities/assets/previews/city-nga-7.5102-6.0404.webp diff --git a/app-profiles/key-cities/assets/previews/city-sdn-11.7906-29.3451.webp b/plugin-designs/key-cities/assets/previews/city-sdn-11.7906-29.3451.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-sdn-11.7906-29.3451.webp rename to plugin-designs/key-cities/assets/previews/city-sdn-11.7906-29.3451.webp diff --git a/app-profiles/key-cities/assets/previews/city-sdn-12.0557-29.5026.webp b/plugin-designs/key-cities/assets/previews/city-sdn-12.0557-29.5026.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-sdn-12.0557-29.5026.webp rename to plugin-designs/key-cities/assets/previews/city-sdn-12.0557-29.5026.webp diff --git a/app-profiles/key-cities/assets/previews/city-tcd-11.1518-15.0588.webp b/plugin-designs/key-cities/assets/previews/city-tcd-11.1518-15.0588.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-tcd-11.1518-15.0588.webp rename to plugin-designs/key-cities/assets/previews/city-tcd-11.1518-15.0588.webp diff --git a/app-profiles/key-cities/assets/previews/city-tgo-8.9949-1.4662.webp b/plugin-designs/key-cities/assets/previews/city-tgo-8.9949-1.4662.webp similarity index 100% rename from app-profiles/key-cities/assets/previews/city-tgo-8.9949-1.4662.webp rename to plugin-designs/key-cities/assets/previews/city-tgo-8.9949-1.4662.webp diff --git a/app-profiles/key-cities/cities-list.vue b/plugin-designs/key-cities/cities-list.vue similarity index 100% rename from app-profiles/key-cities/cities-list.vue rename to plugin-designs/key-cities/cities-list.vue diff --git a/app-profiles/key-cities/cities-map.vue b/plugin-designs/key-cities/cities-map.vue similarity index 100% rename from app-profiles/key-cities/cities-map.vue rename to plugin-designs/key-cities/cities-map.vue diff --git a/app-profiles/key-cities/city-poster-wall.vue b/plugin-designs/key-cities/city-poster-wall.vue similarity index 100% rename from app-profiles/key-cities/city-poster-wall.vue rename to plugin-designs/key-cities/city-poster-wall.vue diff --git a/app-profiles/key-cities/data-tables.vue b/plugin-designs/key-cities/data-tables.vue similarity index 100% rename from app-profiles/key-cities/data-tables.vue rename to plugin-designs/key-cities/data-tables.vue diff --git a/app-profiles/key-cities/data/tables/field-access-visas.json b/plugin-designs/key-cities/data/tables/field-access-visas.json similarity index 100% rename from app-profiles/key-cities/data/tables/field-access-visas.json rename to plugin-designs/key-cities/data/tables/field-access-visas.json diff --git a/app-profiles/key-cities/data/tables/key-cities.json b/plugin-designs/key-cities/data/tables/key-cities.json similarity index 100% rename from app-profiles/key-cities/data/tables/key-cities.json rename to plugin-designs/key-cities/data/tables/key-cities.json diff --git a/app-profiles/key-cities/data/tables/languages-per-city.json b/plugin-designs/key-cities/data/tables/languages-per-city.json similarity index 100% rename from app-profiles/key-cities/data/tables/languages-per-city.json rename to plugin-designs/key-cities/data/tables/languages-per-city.json diff --git a/app-profiles/key-cities/index.html b/plugin-designs/key-cities/index.html similarity index 100% rename from app-profiles/key-cities/index.html rename to plugin-designs/key-cities/index.html diff --git a/app-profiles/key-cities/index.js b/plugin-designs/key-cities/index.js similarity index 100% rename from app-profiles/key-cities/index.js rename to plugin-designs/key-cities/index.js diff --git a/app-profiles/my-upg-100-list/assets/previews/andean-caribbean.webp b/plugin-designs/my-upg-100-list/assets/previews/andean-caribbean.webp similarity index 100% rename from app-profiles/my-upg-100-list/assets/previews/andean-caribbean.webp rename to plugin-designs/my-upg-100-list/assets/previews/andean-caribbean.webp diff --git a/app-profiles/my-upg-100-list/assets/previews/asia-china-tibet-autonomous-region.webp b/plugin-designs/my-upg-100-list/assets/previews/asia-china-tibet-autonomous-region.webp similarity index 100% rename from app-profiles/my-upg-100-list/assets/previews/asia-china-tibet-autonomous-region.webp rename to plugin-designs/my-upg-100-list/assets/previews/asia-china-tibet-autonomous-region.webp diff --git a/app-profiles/my-upg-100-list/assets/previews/asia-china-yunnan-province.webp b/plugin-designs/my-upg-100-list/assets/previews/asia-china-yunnan-province.webp similarity index 100% rename from app-profiles/my-upg-100-list/assets/previews/asia-china-yunnan-province.webp rename to plugin-designs/my-upg-100-list/assets/previews/asia-china-yunnan-province.webp diff --git a/app-profiles/my-upg-100-list/assets/previews/asia-india-andhra-pradesh.webp b/plugin-designs/my-upg-100-list/assets/previews/asia-india-andhra-pradesh.webp similarity index 100% rename from app-profiles/my-upg-100-list/assets/previews/asia-india-andhra-pradesh.webp rename to plugin-designs/my-upg-100-list/assets/previews/asia-india-andhra-pradesh.webp diff --git a/app-profiles/my-upg-100-list/assets/previews/asia-india-gujarat.webp b/plugin-designs/my-upg-100-list/assets/previews/asia-india-gujarat.webp similarity index 100% rename from app-profiles/my-upg-100-list/assets/previews/asia-india-gujarat.webp rename to plugin-designs/my-upg-100-list/assets/previews/asia-india-gujarat.webp diff --git a/app-profiles/my-upg-100-list/assets/previews/asia-india-karnataka.webp b/plugin-designs/my-upg-100-list/assets/previews/asia-india-karnataka.webp similarity index 100% rename from app-profiles/my-upg-100-list/assets/previews/asia-india-karnataka.webp rename to plugin-designs/my-upg-100-list/assets/previews/asia-india-karnataka.webp diff --git a/app-profiles/my-upg-100-list/assets/previews/asia-india-kerala.webp b/plugin-designs/my-upg-100-list/assets/previews/asia-india-kerala.webp similarity index 100% rename from app-profiles/my-upg-100-list/assets/previews/asia-india-kerala.webp rename to plugin-designs/my-upg-100-list/assets/previews/asia-india-kerala.webp diff --git a/app-profiles/my-upg-100-list/assets/previews/asia-india-madhya-pradesh.webp b/plugin-designs/my-upg-100-list/assets/previews/asia-india-madhya-pradesh.webp similarity index 100% rename from app-profiles/my-upg-100-list/assets/previews/asia-india-madhya-pradesh.webp rename to plugin-designs/my-upg-100-list/assets/previews/asia-india-madhya-pradesh.webp diff --git a/app-profiles/my-upg-100-list/assets/previews/asia-india-odisha.webp b/plugin-designs/my-upg-100-list/assets/previews/asia-india-odisha.webp similarity index 100% rename from app-profiles/my-upg-100-list/assets/previews/asia-india-odisha.webp rename to plugin-designs/my-upg-100-list/assets/previews/asia-india-odisha.webp diff --git a/app-profiles/my-upg-100-list/assets/previews/asia-india-rajasthan.webp b/plugin-designs/my-upg-100-list/assets/previews/asia-india-rajasthan.webp similarity index 100% rename from app-profiles/my-upg-100-list/assets/previews/asia-india-rajasthan.webp rename to plugin-designs/my-upg-100-list/assets/previews/asia-india-rajasthan.webp diff --git a/app-profiles/my-upg-100-list/assets/previews/asia-india-tamil-nadu.webp b/plugin-designs/my-upg-100-list/assets/previews/asia-india-tamil-nadu.webp similarity index 100% rename from app-profiles/my-upg-100-list/assets/previews/asia-india-tamil-nadu.webp rename to plugin-designs/my-upg-100-list/assets/previews/asia-india-tamil-nadu.webp diff --git a/app-profiles/my-upg-100-list/assets/previews/asia-india-uttarakhand.webp b/plugin-designs/my-upg-100-list/assets/previews/asia-india-uttarakhand.webp similarity index 100% rename from app-profiles/my-upg-100-list/assets/previews/asia-india-uttarakhand.webp rename to plugin-designs/my-upg-100-list/assets/previews/asia-india-uttarakhand.webp diff --git a/app-profiles/my-upg-100-list/assets/previews/asia-india-west-bengal.webp b/plugin-designs/my-upg-100-list/assets/previews/asia-india-west-bengal.webp similarity index 100% rename from app-profiles/my-upg-100-list/assets/previews/asia-india-west-bengal.webp rename to plugin-designs/my-upg-100-list/assets/previews/asia-india-west-bengal.webp diff --git a/app-profiles/my-upg-100-list/assets/previews/brazil.webp b/plugin-designs/my-upg-100-list/assets/previews/brazil.webp similarity index 100% rename from app-profiles/my-upg-100-list/assets/previews/brazil.webp rename to plugin-designs/my-upg-100-list/assets/previews/brazil.webp diff --git a/app-profiles/my-upg-100-list/assets/previews/central-africa.webp b/plugin-designs/my-upg-100-list/assets/previews/central-africa.webp similarity index 100% rename from app-profiles/my-upg-100-list/assets/previews/central-africa.webp rename to plugin-designs/my-upg-100-list/assets/previews/central-africa.webp diff --git a/app-profiles/my-upg-100-list/assets/previews/deaf.webp b/plugin-designs/my-upg-100-list/assets/previews/deaf.webp similarity index 100% rename from app-profiles/my-upg-100-list/assets/previews/deaf.webp rename to plugin-designs/my-upg-100-list/assets/previews/deaf.webp diff --git a/app-profiles/my-upg-100-list/assets/previews/east-africa.webp b/plugin-designs/my-upg-100-list/assets/previews/east-africa.webp similarity index 100% rename from app-profiles/my-upg-100-list/assets/previews/east-africa.webp rename to plugin-designs/my-upg-100-list/assets/previews/east-africa.webp diff --git a/app-profiles/my-upg-100-list/assets/previews/europe.webp b/plugin-designs/my-upg-100-list/assets/previews/europe.webp similarity index 100% rename from app-profiles/my-upg-100-list/assets/previews/europe.webp rename to plugin-designs/my-upg-100-list/assets/previews/europe.webp diff --git a/app-profiles/my-upg-100-list/assets/previews/laos.webp b/plugin-designs/my-upg-100-list/assets/previews/laos.webp similarity index 100% rename from app-profiles/my-upg-100-list/assets/previews/laos.webp rename to plugin-designs/my-upg-100-list/assets/previews/laos.webp diff --git a/app-profiles/my-upg-100-list/assets/previews/maghreb-egypt.webp b/plugin-designs/my-upg-100-list/assets/previews/maghreb-egypt.webp similarity index 100% rename from app-profiles/my-upg-100-list/assets/previews/maghreb-egypt.webp rename to plugin-designs/my-upg-100-list/assets/previews/maghreb-egypt.webp diff --git a/app-profiles/my-upg-100-list/assets/previews/mainland-se-asia-philippines.webp b/plugin-designs/my-upg-100-list/assets/previews/mainland-se-asia-philippines.webp similarity index 100% rename from app-profiles/my-upg-100-list/assets/previews/mainland-se-asia-philippines.webp rename to plugin-designs/my-upg-100-list/assets/previews/mainland-se-asia-philippines.webp diff --git a/app-profiles/my-upg-100-list/assets/previews/middle-east-core.webp b/plugin-designs/my-upg-100-list/assets/previews/middle-east-core.webp similarity index 100% rename from app-profiles/my-upg-100-list/assets/previews/middle-east-core.webp rename to plugin-designs/my-upg-100-list/assets/previews/middle-east-core.webp diff --git a/app-profiles/my-upg-100-list/assets/previews/oceania-indonesia.webp b/plugin-designs/my-upg-100-list/assets/previews/oceania-indonesia.webp similarity index 100% rename from app-profiles/my-upg-100-list/assets/previews/oceania-indonesia.webp rename to plugin-designs/my-upg-100-list/assets/previews/oceania-indonesia.webp diff --git a/app-profiles/my-upg-100-list/assets/previews/southern-africa-islands.webp b/plugin-designs/my-upg-100-list/assets/previews/southern-africa-islands.webp similarity index 100% rename from app-profiles/my-upg-100-list/assets/previews/southern-africa-islands.webp rename to plugin-designs/my-upg-100-list/assets/previews/southern-africa-islands.webp diff --git a/app-profiles/my-upg-100-list/assets/previews/sudan.webp b/plugin-designs/my-upg-100-list/assets/previews/sudan.webp similarity index 100% rename from app-profiles/my-upg-100-list/assets/previews/sudan.webp rename to plugin-designs/my-upg-100-list/assets/previews/sudan.webp diff --git a/app-profiles/my-upg-100-list/assets/previews/uncovered-nas-a.webp b/plugin-designs/my-upg-100-list/assets/previews/uncovered-nas-a.webp similarity index 100% rename from app-profiles/my-upg-100-list/assets/previews/uncovered-nas-a.webp rename to plugin-designs/my-upg-100-list/assets/previews/uncovered-nas-a.webp diff --git a/app-profiles/my-upg-100-list/assets/previews/uncovered-scatter.webp b/plugin-designs/my-upg-100-list/assets/previews/uncovered-scatter.webp similarity index 100% rename from app-profiles/my-upg-100-list/assets/previews/uncovered-scatter.webp rename to plugin-designs/my-upg-100-list/assets/previews/uncovered-scatter.webp diff --git a/app-profiles/my-upg-100-list/assets/previews/west-africa.webp b/plugin-designs/my-upg-100-list/assets/previews/west-africa.webp similarity index 100% rename from app-profiles/my-upg-100-list/assets/previews/west-africa.webp rename to plugin-designs/my-upg-100-list/assets/previews/west-africa.webp diff --git a/app-profiles/my-upg-100-list/data/adjacency-proof.mjs b/plugin-designs/my-upg-100-list/data/adjacency-proof.mjs similarity index 100% rename from app-profiles/my-upg-100-list/data/adjacency-proof.mjs rename to plugin-designs/my-upg-100-list/data/adjacency-proof.mjs diff --git a/app-profiles/my-upg-100-list/data/adjacency.json b/plugin-designs/my-upg-100-list/data/adjacency.json similarity index 100% rename from app-profiles/my-upg-100-list/data/adjacency.json rename to plugin-designs/my-upg-100-list/data/adjacency.json diff --git a/app-profiles/my-upg-100-list/data/adjacency.mjs b/plugin-designs/my-upg-100-list/data/adjacency.mjs similarity index 100% rename from app-profiles/my-upg-100-list/data/adjacency.mjs rename to plugin-designs/my-upg-100-list/data/adjacency.mjs diff --git a/app-profiles/my-upg-100-list/data/adm0/PROVENANCE.json b/plugin-designs/my-upg-100-list/data/adm0/PROVENANCE.json similarity index 100% rename from app-profiles/my-upg-100-list/data/adm0/PROVENANCE.json rename to plugin-designs/my-upg-100-list/data/adm0/PROVENANCE.json diff --git a/app-profiles/my-upg-100-list/data/adm0/world-adm0.geojson b/plugin-designs/my-upg-100-list/data/adm0/world-adm0.geojson similarity index 100% rename from app-profiles/my-upg-100-list/data/adm0/world-adm0.geojson rename to plugin-designs/my-upg-100-list/data/adm0/world-adm0.geojson diff --git a/app-profiles/my-upg-100-list/data/admin-counts.json b/plugin-designs/my-upg-100-list/data/admin-counts.json similarity index 100% rename from app-profiles/my-upg-100-list/data/admin-counts.json rename to plugin-designs/my-upg-100-list/data/admin-counts.json diff --git a/app-profiles/my-upg-100-list/data/admin-membership.json b/plugin-designs/my-upg-100-list/data/admin-membership.json similarity index 100% rename from app-profiles/my-upg-100-list/data/admin-membership.json rename to plugin-designs/my-upg-100-list/data/admin-membership.json diff --git a/app-profiles/my-upg-100-list/data/admin-to-list.json b/plugin-designs/my-upg-100-list/data/admin-to-list.json similarity index 100% rename from app-profiles/my-upg-100-list/data/admin-to-list.json rename to plugin-designs/my-upg-100-list/data/admin-to-list.json diff --git a/app-profiles/my-upg-100-list/data/apply-grouping-proof.mjs b/plugin-designs/my-upg-100-list/data/apply-grouping-proof.mjs similarity index 100% rename from app-profiles/my-upg-100-list/data/apply-grouping-proof.mjs rename to plugin-designs/my-upg-100-list/data/apply-grouping-proof.mjs diff --git a/app-profiles/my-upg-100-list/data/apply-grouping.mjs b/plugin-designs/my-upg-100-list/data/apply-grouping.mjs similarity index 100% rename from app-profiles/my-upg-100-list/data/apply-grouping.mjs rename to plugin-designs/my-upg-100-list/data/apply-grouping.mjs diff --git a/app-profiles/my-upg-100-list/data/china-clusters.json b/plugin-designs/my-upg-100-list/data/china-clusters.json similarity index 100% rename from app-profiles/my-upg-100-list/data/china-clusters.json rename to plugin-designs/my-upg-100-list/data/china-clusters.json diff --git a/app-profiles/my-upg-100-list/data/china-isolation-proof.mjs b/plugin-designs/my-upg-100-list/data/china-isolation-proof.mjs similarity index 100% rename from app-profiles/my-upg-100-list/data/china-isolation-proof.mjs rename to plugin-designs/my-upg-100-list/data/china-isolation-proof.mjs diff --git a/app-profiles/my-upg-100-list/data/china-original-pre-09b-4.json b/plugin-designs/my-upg-100-list/data/china-original-pre-09b-4.json similarity index 100% rename from app-profiles/my-upg-100-list/data/china-original-pre-09b-4.json rename to plugin-designs/my-upg-100-list/data/china-original-pre-09b-4.json diff --git a/app-profiles/my-upg-100-list/data/china-partition-proof.mjs b/plugin-designs/my-upg-100-list/data/china-partition-proof.mjs similarity index 100% rename from app-profiles/my-upg-100-list/data/china-partition-proof.mjs rename to plugin-designs/my-upg-100-list/data/china-partition-proof.mjs diff --git a/app-profiles/my-upg-100-list/data/clusters.json b/plugin-designs/my-upg-100-list/data/clusters.json similarity index 100% rename from app-profiles/my-upg-100-list/data/clusters.json rename to plugin-designs/my-upg-100-list/data/clusters.json diff --git a/app-profiles/my-upg-100-list/data/clusters.source.md b/plugin-designs/my-upg-100-list/data/clusters.source.md similarity index 100% rename from app-profiles/my-upg-100-list/data/clusters.source.md rename to plugin-designs/my-upg-100-list/data/clusters.source.md diff --git a/app-profiles/my-upg-100-list/data/color-isolation-proof.mjs b/plugin-designs/my-upg-100-list/data/color-isolation-proof.mjs similarity index 100% rename from app-profiles/my-upg-100-list/data/color-isolation-proof.mjs rename to plugin-designs/my-upg-100-list/data/color-isolation-proof.mjs diff --git a/app-profiles/my-upg-100-list/data/emit-china-clusters.mjs b/plugin-designs/my-upg-100-list/data/emit-china-clusters.mjs similarity index 100% rename from app-profiles/my-upg-100-list/data/emit-china-clusters.mjs rename to plugin-designs/my-upg-100-list/data/emit-china-clusters.mjs diff --git a/app-profiles/my-upg-100-list/data/emit-india-clusters.mjs b/plugin-designs/my-upg-100-list/data/emit-india-clusters.mjs similarity index 100% rename from app-profiles/my-upg-100-list/data/emit-india-clusters.mjs rename to plugin-designs/my-upg-100-list/data/emit-india-clusters.mjs diff --git a/app-profiles/my-upg-100-list/data/emit-list-bounds.mjs b/plugin-designs/my-upg-100-list/data/emit-list-bounds.mjs similarity index 100% rename from app-profiles/my-upg-100-list/data/emit-list-bounds.mjs rename to plugin-designs/my-upg-100-list/data/emit-list-bounds.mjs diff --git a/app-profiles/my-upg-100-list/data/emit-uncovered-clusters.mjs b/plugin-designs/my-upg-100-list/data/emit-uncovered-clusters.mjs similarity index 100% rename from app-profiles/my-upg-100-list/data/emit-uncovered-clusters.mjs rename to plugin-designs/my-upg-100-list/data/emit-uncovered-clusters.mjs diff --git a/app-profiles/my-upg-100-list/data/evaluator.test.mjs b/plugin-designs/my-upg-100-list/data/evaluator.test.mjs similarity index 100% rename from app-profiles/my-upg-100-list/data/evaluator.test.mjs rename to plugin-designs/my-upg-100-list/data/evaluator.test.mjs diff --git a/app-profiles/my-upg-100-list/data/gb-CHN-ADM1.geojson b/plugin-designs/my-upg-100-list/data/gb-CHN-ADM1.geojson similarity index 100% rename from app-profiles/my-upg-100-list/data/gb-CHN-ADM1.geojson rename to plugin-designs/my-upg-100-list/data/gb-CHN-ADM1.geojson diff --git a/app-profiles/my-upg-100-list/data/gb-IND-ADM1.geojson b/plugin-designs/my-upg-100-list/data/gb-IND-ADM1.geojson similarity index 100% rename from app-profiles/my-upg-100-list/data/gb-IND-ADM1.geojson rename to plugin-designs/my-upg-100-list/data/gb-IND-ADM1.geojson diff --git a/app-profiles/my-upg-100-list/data/generate-region-shades.mjs b/plugin-designs/my-upg-100-list/data/generate-region-shades.mjs similarity index 100% rename from app-profiles/my-upg-100-list/data/generate-region-shades.mjs rename to plugin-designs/my-upg-100-list/data/generate-region-shades.mjs diff --git a/app-profiles/my-upg-100-list/data/groupings.json b/plugin-designs/my-upg-100-list/data/groupings.json similarity index 100% rename from app-profiles/my-upg-100-list/data/groupings.json rename to plugin-designs/my-upg-100-list/data/groupings.json diff --git a/app-profiles/my-upg-100-list/data/india-clusters.json b/plugin-designs/my-upg-100-list/data/india-clusters.json similarity index 100% rename from app-profiles/my-upg-100-list/data/india-clusters.json rename to plugin-designs/my-upg-100-list/data/india-clusters.json diff --git a/app-profiles/my-upg-100-list/data/india-isolation-proof.mjs b/plugin-designs/my-upg-100-list/data/india-isolation-proof.mjs similarity index 100% rename from app-profiles/my-upg-100-list/data/india-isolation-proof.mjs rename to plugin-designs/my-upg-100-list/data/india-isolation-proof.mjs diff --git a/app-profiles/my-upg-100-list/data/india-partition-proof.mjs b/plugin-designs/my-upg-100-list/data/india-partition-proof.mjs similarity index 100% rename from app-profiles/my-upg-100-list/data/india-partition-proof.mjs rename to plugin-designs/my-upg-100-list/data/india-partition-proof.mjs diff --git a/app-profiles/my-upg-100-list/data/legend-tree.js b/plugin-designs/my-upg-100-list/data/legend-tree.js similarity index 100% rename from app-profiles/my-upg-100-list/data/legend-tree.js rename to plugin-designs/my-upg-100-list/data/legend-tree.js diff --git a/app-profiles/my-upg-100-list/data/normalize.js b/plugin-designs/my-upg-100-list/data/normalize.js similarity index 100% rename from app-profiles/my-upg-100-list/data/normalize.js rename to plugin-designs/my-upg-100-list/data/normalize.js diff --git a/app-profiles/my-upg-100-list/data/oceania-color-proof.mjs b/plugin-designs/my-upg-100-list/data/oceania-color-proof.mjs similarity index 100% rename from app-profiles/my-upg-100-list/data/oceania-color-proof.mjs rename to plugin-designs/my-upg-100-list/data/oceania-color-proof.mjs diff --git a/app-profiles/my-upg-100-list/data/palette-preview.mjs b/plugin-designs/my-upg-100-list/data/palette-preview.mjs similarity index 100% rename from app-profiles/my-upg-100-list/data/palette-preview.mjs rename to plugin-designs/my-upg-100-list/data/palette-preview.mjs diff --git a/app-profiles/my-upg-100-list/data/partition-china.mjs b/plugin-designs/my-upg-100-list/data/partition-china.mjs similarity index 100% rename from app-profiles/my-upg-100-list/data/partition-china.mjs rename to plugin-designs/my-upg-100-list/data/partition-china.mjs diff --git a/app-profiles/my-upg-100-list/data/partition-india.mjs b/plugin-designs/my-upg-100-list/data/partition-india.mjs similarity index 100% rename from app-profiles/my-upg-100-list/data/partition-india.mjs rename to plugin-designs/my-upg-100-list/data/partition-india.mjs diff --git a/app-profiles/my-upg-100-list/data/partition-uncovered.mjs b/plugin-designs/my-upg-100-list/data/partition-uncovered.mjs similarity index 100% rename from app-profiles/my-upg-100-list/data/partition-uncovered.mjs rename to plugin-designs/my-upg-100-list/data/partition-uncovered.mjs diff --git a/app-profiles/my-upg-100-list/data/pin-proof.mjs b/plugin-designs/my-upg-100-list/data/pin-proof.mjs similarity index 100% rename from app-profiles/my-upg-100-list/data/pin-proof.mjs rename to plugin-designs/my-upg-100-list/data/pin-proof.mjs diff --git a/app-profiles/my-upg-100-list/data/pip-proof.mjs b/plugin-designs/my-upg-100-list/data/pip-proof.mjs similarity index 100% rename from app-profiles/my-upg-100-list/data/pip-proof.mjs rename to plugin-designs/my-upg-100-list/data/pip-proof.mjs diff --git a/app-profiles/my-upg-100-list/data/pip-stamp.mjs b/plugin-designs/my-upg-100-list/data/pip-stamp.mjs similarity index 100% rename from app-profiles/my-upg-100-list/data/pip-stamp.mjs rename to plugin-designs/my-upg-100-list/data/pip-stamp.mjs diff --git a/app-profiles/my-upg-100-list/data/pop-proof.mjs b/plugin-designs/my-upg-100-list/data/pop-proof.mjs similarity index 100% rename from app-profiles/my-upg-100-list/data/pop-proof.mjs rename to plugin-designs/my-upg-100-list/data/pop-proof.mjs diff --git a/app-profiles/my-upg-100-list/data/proof.sh b/plugin-designs/my-upg-100-list/data/proof.sh similarity index 100% rename from app-profiles/my-upg-100-list/data/proof.sh rename to plugin-designs/my-upg-100-list/data/proof.sh diff --git a/app-profiles/my-upg-100-list/data/recache-full.mjs b/plugin-designs/my-upg-100-list/data/recache-full.mjs similarity index 100% rename from app-profiles/my-upg-100-list/data/recache-full.mjs rename to plugin-designs/my-upg-100-list/data/recache-full.mjs diff --git a/app-profiles/my-upg-100-list/data/recache-rop1.mjs b/plugin-designs/my-upg-100-list/data/recache-rop1.mjs similarity index 100% rename from app-profiles/my-upg-100-list/data/recache-rop1.mjs rename to plugin-designs/my-upg-100-list/data/recache-rop1.mjs diff --git a/app-profiles/my-upg-100-list/data/region-hue-proof.mjs b/plugin-designs/my-upg-100-list/data/region-hue-proof.mjs similarity index 100% rename from app-profiles/my-upg-100-list/data/region-hue-proof.mjs rename to plugin-designs/my-upg-100-list/data/region-hue-proof.mjs diff --git a/app-profiles/my-upg-100-list/data/retag-adm1.mjs b/plugin-designs/my-upg-100-list/data/retag-adm1.mjs similarity index 100% rename from app-profiles/my-upg-100-list/data/retag-adm1.mjs rename to plugin-designs/my-upg-100-list/data/retag-adm1.mjs diff --git a/app-profiles/my-upg-100-list/data/search-index.js b/plugin-designs/my-upg-100-list/data/search-index.js similarity index 100% rename from app-profiles/my-upg-100-list/data/search-index.js rename to plugin-designs/my-upg-100-list/data/search-index.js diff --git a/app-profiles/my-upg-100-list/data/selector-evaluator.js b/plugin-designs/my-upg-100-list/data/selector-evaluator.js similarity index 100% rename from app-profiles/my-upg-100-list/data/selector-evaluator.js rename to plugin-designs/my-upg-100-list/data/selector-evaluator.js diff --git a/app-profiles/my-upg-100-list/data/set-zone-color.mjs b/plugin-designs/my-upg-100-list/data/set-zone-color.mjs similarity index 100% rename from app-profiles/my-upg-100-list/data/set-zone-color.mjs rename to plugin-designs/my-upg-100-list/data/set-zone-color.mjs diff --git a/app-profiles/my-upg-100-list/data/source-boundaries.mjs b/plugin-designs/my-upg-100-list/data/source-boundaries.mjs similarity index 100% rename from app-profiles/my-upg-100-list/data/source-boundaries.mjs rename to plugin-designs/my-upg-100-list/data/source-boundaries.mjs diff --git a/app-profiles/my-upg-100-list/data/tapestry-proof.mjs b/plugin-designs/my-upg-100-list/data/tapestry-proof.mjs similarity index 100% rename from app-profiles/my-upg-100-list/data/tapestry-proof.mjs rename to plugin-designs/my-upg-100-list/data/tapestry-proof.mjs diff --git a/app-profiles/my-upg-100-list/data/territory-counts.js b/plugin-designs/my-upg-100-list/data/territory-counts.js similarity index 100% rename from app-profiles/my-upg-100-list/data/territory-counts.js rename to plugin-designs/my-upg-100-list/data/territory-counts.js diff --git a/app-profiles/my-upg-100-list/data/uncovered-clusters.json b/plugin-designs/my-upg-100-list/data/uncovered-clusters.json similarity index 100% rename from app-profiles/my-upg-100-list/data/uncovered-clusters.json rename to plugin-designs/my-upg-100-list/data/uncovered-clusters.json diff --git a/app-profiles/my-upg-100-list/data/uncovered-proof.mjs b/plugin-designs/my-upg-100-list/data/uncovered-proof.mjs similarity index 100% rename from app-profiles/my-upg-100-list/data/uncovered-proof.mjs rename to plugin-designs/my-upg-100-list/data/uncovered-proof.mjs diff --git a/app-profiles/my-upg-100-list/data/visual-gate.mjs b/plugin-designs/my-upg-100-list/data/visual-gate.mjs similarity index 100% rename from app-profiles/my-upg-100-list/data/visual-gate.mjs rename to plugin-designs/my-upg-100-list/data/visual-gate.mjs diff --git a/app-profiles/my-upg-100-list/data/zone-colors.js b/plugin-designs/my-upg-100-list/data/zone-colors.js similarity index 100% rename from app-profiles/my-upg-100-list/data/zone-colors.js rename to plugin-designs/my-upg-100-list/data/zone-colors.js diff --git a/app-profiles/my-upg-100-list/data/zone-colors.json b/plugin-designs/my-upg-100-list/data/zone-colors.json similarity index 100% rename from app-profiles/my-upg-100-list/data/zone-colors.json rename to plugin-designs/my-upg-100-list/data/zone-colors.json diff --git a/app-profiles/my-upg-100-list/data/zone-geometry.js b/plugin-designs/my-upg-100-list/data/zone-geometry.js similarity index 100% rename from app-profiles/my-upg-100-list/data/zone-geometry.js rename to plugin-designs/my-upg-100-list/data/zone-geometry.js diff --git a/app-profiles/my-upg-100-list/data/zone-regions.json b/plugin-designs/my-upg-100-list/data/zone-regions.json similarity index 100% rename from app-profiles/my-upg-100-list/data/zone-regions.json rename to plugin-designs/my-upg-100-list/data/zone-regions.json diff --git a/app-profiles/my-upg-100-list/data/zone-resolves-proof.mjs b/plugin-designs/my-upg-100-list/data/zone-resolves-proof.mjs similarity index 100% rename from app-profiles/my-upg-100-list/data/zone-resolves-proof.mjs rename to plugin-designs/my-upg-100-list/data/zone-resolves-proof.mjs diff --git a/app-profiles/my-upg-100-list/index.html b/plugin-designs/my-upg-100-list/index.html similarity index 100% rename from app-profiles/my-upg-100-list/index.html rename to plugin-designs/my-upg-100-list/index.html diff --git a/app-profiles/my-upg-100-list/index.js b/plugin-designs/my-upg-100-list/index.js similarity index 100% rename from app-profiles/my-upg-100-list/index.js rename to plugin-designs/my-upg-100-list/index.js diff --git a/app-profiles/my-upg-100-list/poster-wall.vue b/plugin-designs/my-upg-100-list/poster-wall.vue similarity index 100% rename from app-profiles/my-upg-100-list/poster-wall.vue rename to plugin-designs/my-upg-100-list/poster-wall.vue diff --git a/app-profiles/my-upg-100-list/upg-100-list.vue b/plugin-designs/my-upg-100-list/upg-100-list.vue similarity index 100% rename from app-profiles/my-upg-100-list/upg-100-list.vue rename to plugin-designs/my-upg-100-list/upg-100-list.vue diff --git a/app-profiles/my-upg-100-list/upg-100-mfe.meta.json b/plugin-designs/my-upg-100-list/upg-100-mfe.meta.json similarity index 100% rename from app-profiles/my-upg-100-list/upg-100-mfe.meta.json rename to plugin-designs/my-upg-100-list/upg-100-mfe.meta.json diff --git a/app-profiles/my-upg-100-list/upg-100-mfe.vue b/plugin-designs/my-upg-100-list/upg-100-mfe.vue similarity index 100% rename from app-profiles/my-upg-100-list/upg-100-mfe.vue rename to plugin-designs/my-upg-100-list/upg-100-mfe.vue diff --git a/app-profiles/research-dashboard/dashboard.config.js b/plugin-designs/research-dashboard/dashboard.config.js similarity index 100% rename from app-profiles/research-dashboard/dashboard.config.js rename to plugin-designs/research-dashboard/dashboard.config.js diff --git a/app-profiles/research-dashboard/index.html b/plugin-designs/research-dashboard/index.html similarity index 100% rename from app-profiles/research-dashboard/index.html rename to plugin-designs/research-dashboard/index.html diff --git a/app-profiles/research-dashboard/index.js b/plugin-designs/research-dashboard/index.js similarity index 100% rename from app-profiles/research-dashboard/index.js rename to plugin-designs/research-dashboard/index.js diff --git a/app-profiles/research-dashboard/research-dashboard.vue b/plugin-designs/research-dashboard/research-dashboard.vue similarity index 100% rename from app-profiles/research-dashboard/research-dashboard.vue rename to plugin-designs/research-dashboard/research-dashboard.vue diff --git a/app-profiles/research-dashboard/src/components/dashboards/DashboardBreadcrumb.vue b/plugin-designs/research-dashboard/src/components/dashboards/DashboardBreadcrumb.vue similarity index 100% rename from app-profiles/research-dashboard/src/components/dashboards/DashboardBreadcrumb.vue rename to plugin-designs/research-dashboard/src/components/dashboards/DashboardBreadcrumb.vue diff --git a/app-profiles/research-dashboard/src/components/dashboards/DashboardChartsRail.vue b/plugin-designs/research-dashboard/src/components/dashboards/DashboardChartsRail.vue similarity index 100% rename from app-profiles/research-dashboard/src/components/dashboards/DashboardChartsRail.vue rename to plugin-designs/research-dashboard/src/components/dashboards/DashboardChartsRail.vue diff --git a/app-profiles/research-dashboard/src/components/dashboards/DashboardDataTable.vue b/plugin-designs/research-dashboard/src/components/dashboards/DashboardDataTable.vue similarity index 100% rename from app-profiles/research-dashboard/src/components/dashboards/DashboardDataTable.vue rename to plugin-designs/research-dashboard/src/components/dashboards/DashboardDataTable.vue diff --git a/app-profiles/research-dashboard/src/components/dashboards/DashboardDetailDrawer.vue b/plugin-designs/research-dashboard/src/components/dashboards/DashboardDetailDrawer.vue similarity index 100% rename from app-profiles/research-dashboard/src/components/dashboards/DashboardDetailDrawer.vue rename to plugin-designs/research-dashboard/src/components/dashboards/DashboardDetailDrawer.vue diff --git a/app-profiles/research-dashboard/src/components/dashboards/DashboardFacetRail.vue b/plugin-designs/research-dashboard/src/components/dashboards/DashboardFacetRail.vue similarity index 100% rename from app-profiles/research-dashboard/src/components/dashboards/DashboardFacetRail.vue rename to plugin-designs/research-dashboard/src/components/dashboards/DashboardFacetRail.vue diff --git a/app-profiles/research-dashboard/src/components/dashboards/DashboardFilterChips.vue b/plugin-designs/research-dashboard/src/components/dashboards/DashboardFilterChips.vue similarity index 100% rename from app-profiles/research-dashboard/src/components/dashboards/DashboardFilterChips.vue rename to plugin-designs/research-dashboard/src/components/dashboards/DashboardFilterChips.vue diff --git a/app-profiles/research-dashboard/src/components/dashboards/DashboardMapPanel.vue b/plugin-designs/research-dashboard/src/components/dashboards/DashboardMapPanel.vue similarity index 100% rename from app-profiles/research-dashboard/src/components/dashboards/DashboardMapPanel.vue rename to plugin-designs/research-dashboard/src/components/dashboards/DashboardMapPanel.vue diff --git a/app-profiles/research-dashboard/src/components/dashboards/DashboardSearchHeader.vue b/plugin-designs/research-dashboard/src/components/dashboards/DashboardSearchHeader.vue similarity index 100% rename from app-profiles/research-dashboard/src/components/dashboards/DashboardSearchHeader.vue rename to plugin-designs/research-dashboard/src/components/dashboards/DashboardSearchHeader.vue diff --git a/app-profiles/research-dashboard/src/components/dashboards/DashboardTopBar.vue b/plugin-designs/research-dashboard/src/components/dashboards/DashboardTopBar.vue similarity index 100% rename from app-profiles/research-dashboard/src/components/dashboards/DashboardTopBar.vue rename to plugin-designs/research-dashboard/src/components/dashboards/DashboardTopBar.vue diff --git a/app-profiles/research-dashboard/src/components/dashboards/index.js b/plugin-designs/research-dashboard/src/components/dashboards/index.js similarity index 100% rename from app-profiles/research-dashboard/src/components/dashboards/index.js rename to plugin-designs/research-dashboard/src/components/dashboards/index.js diff --git a/app-profiles/research-dashboard/src/composables/useCsvExport.js b/plugin-designs/research-dashboard/src/composables/useCsvExport.js similarity index 100% rename from app-profiles/research-dashboard/src/composables/useCsvExport.js rename to plugin-designs/research-dashboard/src/composables/useCsvExport.js diff --git a/app-profiles/research-dashboard/src/composables/useDashboardAggregations.js b/plugin-designs/research-dashboard/src/composables/useDashboardAggregations.js similarity index 100% rename from app-profiles/research-dashboard/src/composables/useDashboardAggregations.js rename to plugin-designs/research-dashboard/src/composables/useDashboardAggregations.js diff --git a/app-profiles/research-dashboard/src/composables/useDashboardData.js b/plugin-designs/research-dashboard/src/composables/useDashboardData.js similarity index 100% rename from app-profiles/research-dashboard/src/composables/useDashboardData.js rename to plugin-designs/research-dashboard/src/composables/useDashboardData.js diff --git a/app-profiles/research-dashboard/src/composables/useDashboardLayout.js b/plugin-designs/research-dashboard/src/composables/useDashboardLayout.js similarity index 100% rename from app-profiles/research-dashboard/src/composables/useDashboardLayout.js rename to plugin-designs/research-dashboard/src/composables/useDashboardLayout.js diff --git a/app-profiles/research-dashboard/src/composables/useDashboardShell.js b/plugin-designs/research-dashboard/src/composables/useDashboardShell.js similarity index 100% rename from app-profiles/research-dashboard/src/composables/useDashboardShell.js rename to plugin-designs/research-dashboard/src/composables/useDashboardShell.js diff --git a/app-profiles/research-dashboard/src/composables/useSelectionBus.js b/plugin-designs/research-dashboard/src/composables/useSelectionBus.js similarity index 100% rename from app-profiles/research-dashboard/src/composables/useSelectionBus.js rename to plugin-designs/research-dashboard/src/composables/useSelectionBus.js diff --git a/app-profiles/template-bundle/README.md b/plugin-designs/template-bundle/README.md similarity index 100% rename from app-profiles/template-bundle/README.md rename to plugin-designs/template-bundle/README.md diff --git a/app-profiles/template-bundle/index.html b/plugin-designs/template-bundle/index.html similarity index 100% rename from app-profiles/template-bundle/index.html rename to plugin-designs/template-bundle/index.html diff --git a/app-profiles/template-bundle/index.js b/plugin-designs/template-bundle/index.js similarity index 100% rename from app-profiles/template-bundle/index.js rename to plugin-designs/template-bundle/index.js diff --git a/app-profiles/template-bundle/src/README.md b/plugin-designs/template-bundle/src/README.md similarity index 100% rename from app-profiles/template-bundle/src/README.md rename to plugin-designs/template-bundle/src/README.md diff --git a/app-profiles/template-bundle/src/api/README.md b/plugin-designs/template-bundle/src/api/README.md similarity index 100% rename from app-profiles/template-bundle/src/api/README.md rename to plugin-designs/template-bundle/src/api/README.md diff --git a/app-profiles/template-bundle/src/colors/README.md b/plugin-designs/template-bundle/src/colors/README.md similarity index 100% rename from app-profiles/template-bundle/src/colors/README.md rename to plugin-designs/template-bundle/src/colors/README.md diff --git a/app-profiles/template-bundle/src/colors/colors.json b/plugin-designs/template-bundle/src/colors/colors.json similarity index 100% rename from app-profiles/template-bundle/src/colors/colors.json rename to plugin-designs/template-bundle/src/colors/colors.json diff --git a/app-profiles/template-bundle/src/colors/example-mode.js b/plugin-designs/template-bundle/src/colors/example-mode.js similarity index 100% rename from app-profiles/template-bundle/src/colors/example-mode.js rename to plugin-designs/template-bundle/src/colors/example-mode.js diff --git a/app-profiles/template-bundle/src/components/README.md b/plugin-designs/template-bundle/src/components/README.md similarity index 100% rename from app-profiles/template-bundle/src/components/README.md rename to plugin-designs/template-bundle/src/components/README.md diff --git a/app-profiles/template-bundle/src/composables/README.md b/plugin-designs/template-bundle/src/composables/README.md similarity index 100% rename from app-profiles/template-bundle/src/composables/README.md rename to plugin-designs/template-bundle/src/composables/README.md diff --git a/app-profiles/template-bundle/src/utils/README.md b/plugin-designs/template-bundle/src/utils/README.md similarity index 100% rename from app-profiles/template-bundle/src/utils/README.md rename to plugin-designs/template-bundle/src/utils/README.md diff --git a/app-profiles/template-bundle/template-map-a.vue b/plugin-designs/template-bundle/template-map-a.vue similarity index 100% rename from app-profiles/template-bundle/template-map-a.vue rename to plugin-designs/template-bundle/template-map-a.vue diff --git a/app-profiles/template-bundle/template-map-b.vue b/plugin-designs/template-bundle/template-map-b.vue similarity index 100% rename from app-profiles/template-bundle/template-map-b.vue rename to plugin-designs/template-bundle/template-map-b.vue diff --git a/public/doxa-maps/all-people-groups/all-people-groups.js b/public/doxa-maps/all-people-groups/all-people-groups.js index 9550ca6be..800b9d567 100644 --- a/public/doxa-maps/all-people-groups/all-people-groups.js +++ b/public/doxa-maps/all-people-groups/all-people-groups.js @@ -1,46 +1,46 @@ (function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode(".profile-loader[data-v-95e162ff]{border-radius:var(--map-radius-corners, var(--map-radius, 0px));width:100%;height:100%;position:relative}.profile-error[data-v-95e162ff]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}")),document.head.appendChild(e)}}catch(r){console.error("vite-plugin-css-injected-by-js",r)}})(); -(function(){"use strict";var ea=typeof document<"u"?document.currentScript:null;const ub="modulepreload",gb=function(e){return"/"+e},db={},bc=function(t,n,o){let a=Promise.resolve();function s(i){const r=new Event("vite:preloadError",{cancelable:!0});if(r.payload=i,window.dispatchEvent(r),!r.defaultPrevented)throw i}return a.then(i=>{for(const r of i||[])r.status==="rejected"&&s(r.reason);return t().catch(s)})};/** +(function(){"use strict";var ea=typeof document<"u"?document.currentScript:null;const gb="modulepreload",db=function(e){return"/"+e},fb={},_c=function(t,n,o){let a=Promise.resolve();function s(i){const r=new Event("vite:preloadError",{cancelable:!0});if(r.payload=i,window.dispatchEvent(r),!r.defaultPrevented)throw i}return a.then(i=>{for(const r of i||[])r.status==="rejected"&&s(r.reason);return t().catch(s)})};/** * @vue/shared v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/function ta(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const me={},un=[],rt=()=>{},Cs=()=>!1,oo=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),ao=e=>e.startsWith("onUpdate:"),ke=Object.assign,na=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},_c=Object.prototype.hasOwnProperty,le=(e,t)=>_c.call(e,t),Z=Array.isArray,Ot=e=>Ln(e)==="[object Map]",so=e=>Ln(e)==="[object Set]",Ns=e=>Ln(e)==="[object Date]",te=e=>typeof e=="function",Ae=e=>typeof e=="string",Ve=e=>typeof e=="symbol",ce=e=>e!==null&&typeof e=="object",ws=e=>(ce(e)||te(e))&&te(e.then)&&te(e.catch),Ps=Object.prototype.toString,Ln=e=>Ps.call(e),yc=e=>Ln(e).slice(8,-1),io=e=>Ln(e)==="[object Object]",ro=e=>Ae(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Cn=ta(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),lo=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Ac=/-\w/g,Ce=lo(e=>e.replace(Ac,t=>t.slice(1).toUpperCase())),Sc=/\B([A-Z])/g,We=lo(e=>e.replace(Sc,"-$1").toLowerCase()),co=lo(e=>e.charAt(0).toUpperCase()+e.slice(1)),oa=lo(e=>e?`on${co(e)}`:""),lt=(e,t)=>!Object.is(e,t),aa=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:o,value:n})},vc=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Ms=e=>{const t=Ae(e)?Number(e):NaN;return isNaN(t)?e:t};let Ds;const uo=()=>Ds||(Ds=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function go(e){if(Z(e)){const t={};for(let n=0;n{if(n){const o=n.split(Tc);o.length>1&&(t[o[0].trim()]=o[1].trim())}}),t}function Nn(e){let t="";if(Ae(e))t=e;else if(Z(e))for(let n=0;n!!(e&&e.__v_isRef===!0),Xt=e=>Ae(e)?e:e==null?"":Z(e)||ce(e)&&(e.toString===Ps||!te(e.toString))?Os(e)?Xt(e.value):JSON.stringify(e,xs,2):String(e),xs=(e,t)=>Os(t)?xs(e,t.value):Ot(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[o,a],s)=>(n[sa(o,s)+" =>"]=a,n),{})}:so(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>sa(n))}:Ve(t)?sa(t):ce(t)&&!Z(t)&&!io(t)?String(t):t,sa=(e,t="")=>{var n;return Ve(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +**/function ta(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const me={},un=[],rt=()=>{},Ns=()=>!1,oo=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),ao=e=>e.startsWith("onUpdate:"),ke=Object.assign,na=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},yc=Object.prototype.hasOwnProperty,le=(e,t)=>yc.call(e,t),Z=Array.isArray,Ot=e=>Ln(e)==="[object Map]",so=e=>Ln(e)==="[object Set]",ws=e=>Ln(e)==="[object Date]",te=e=>typeof e=="function",Ae=e=>typeof e=="string",Ve=e=>typeof e=="symbol",ce=e=>e!==null&&typeof e=="object",Ps=e=>(ce(e)||te(e))&&te(e.then)&&te(e.catch),Is=Object.prototype.toString,Ln=e=>Is.call(e),Ac=e=>Ln(e).slice(8,-1),io=e=>Ln(e)==="[object Object]",ro=e=>Ae(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Cn=ta(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),lo=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Sc=/-\w/g,Ce=lo(e=>e.replace(Sc,t=>t.slice(1).toUpperCase())),vc=/\B([A-Z])/g,We=lo(e=>e.replace(vc,"-$1").toLowerCase()),co=lo(e=>e.charAt(0).toUpperCase()+e.slice(1)),oa=lo(e=>e?`on${co(e)}`:""),lt=(e,t)=>!Object.is(e,t),aa=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:o,value:n})},kc=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Ds=e=>{const t=Ae(e)?Number(e):NaN;return isNaN(t)?e:t};let Rs;const uo=()=>Rs||(Rs=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function go(e){if(Z(e)){const t={};for(let n=0;n{if(n){const o=n.split($c);o.length>1&&(t[o[0].trim()]=o[1].trim())}}),t}function Nn(e){let t="";if(Ae(e))t=e;else if(Z(e))for(let n=0;n!!(e&&e.__v_isRef===!0),Xt=e=>Ae(e)?e:e==null?"":Z(e)||ce(e)&&(e.toString===Is||!te(e.toString))?xs(e)?Xt(e.value):JSON.stringify(e,js,2):String(e),js=(e,t)=>xs(t)?js(e,t.value):Ot(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[o,a],s)=>(n[sa(o,s)+" =>"]=a,n),{})}:so(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>sa(n))}:Ve(t)?sa(t):ce(t)&&!Z(t)&&!io(t)?String(t):t,sa=(e,t="")=>{var n;return Ve(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** * @vue/reactivity v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let $e;class js{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&$e&&($e.active?(this.parent=$e,this.index=($e.scopes||($e.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes){const o=this.scopes.slice();for(t=0,n=o.length;t0&&--this._on===0){if($e===this)$e=this.prevScope;else{let t=$e;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,o;for(n=0,o=this.effects.length;n0)return;if(Pn){let t=Pn;for(Pn=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;wn;){let t=wn;for(wn=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(o){e||(e=o)}t=n}}if(e)throw e}function zs(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function qs(e){let t,n=e.depsTail,o=n;for(;o;){const a=o.prevDep;o.version===-1?(o===n&&(n=a),ga(o),wc(o)):t=o,o.dep.activeLink=o.prevActiveLink,o.prevActiveLink=void 0,o=a}e.deps=t,e.depsTail=n}function ua(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Hs(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Hs(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===In)||(e.globalVersion=In,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!ua(e))))return;e.flags|=2;const t=e.dep,n=be,o=Qe;be=e,Qe=!0;try{zs(e);const a=e.fn(e._value);(t.version===0||lt(a,e._value))&&(e.flags|=128,e._value=a,t.version++)}catch(a){throw t.version++,a}finally{be=n,Qe=o,qs(e),e.flags&=-3}}function ga(e,t=!1){const{dep:n,prevSub:o,nextSub:a}=e;if(o&&(o.nextSub=a,e.prevSub=void 0),a&&(a.prevSub=o,e.nextSub=void 0),n.subs===e&&(n.subs=o,!o&&n.computed)){n.computed.flags&=-5;for(let s=n.computed.deps;s;s=s.nextDep)ga(s,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function wc(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Qe=!0;const Vs=[];function ct(){Vs.push(Qe),Qe=!1}function ut(){const e=Vs.pop();Qe=e===void 0?!0:e}function Ws(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=be;be=void 0;try{t()}finally{be=n}}}let In=0;class Pc{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class da{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!be||!Qe||be===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==be)n=this.activeLink=new Pc(be,this),be.deps?(n.prevDep=be.depsTail,be.depsTail.nextDep=n,be.depsTail=n):be.deps=be.depsTail=n,Ys(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const o=n.nextDep;o.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=o),n.prevDep=be.depsTail,n.nextDep=void 0,be.depsTail.nextDep=n,be.depsTail=n,be.deps===n&&(be.deps=o)}return n}trigger(t){this.version++,In++,this.notify(t)}notify(t){la();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{ca()}}}function Ys(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let o=t.deps;o;o=o.nextDep)Ys(o)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const po=new WeakMap,Zt=Symbol(""),fa=Symbol(""),Mn=Symbol("");function De(e,t,n){if(Qe&&be){let o=po.get(e);o||po.set(e,o=new Map);let a=o.get(n);a||(o.set(n,a=new da),a.map=o,a.key=n),a.track()}}function yt(e,t,n,o,a,s){const i=po.get(e);if(!i){In++;return}const r=l=>{l&&l.trigger()};if(la(),t==="clear")i.forEach(r);else{const l=Z(e),c=l&&ro(n);if(l&&n==="length"){const u=Number(o);i.forEach((f,b)=>{(b==="length"||b===Mn||!Ve(b)&&b>=u)&&r(f)})}else switch((n!==void 0||i.has(void 0))&&r(i.get(n)),c&&r(i.get(Mn)),t){case"add":l?c&&r(i.get("length")):(r(i.get(Zt)),Ot(e)&&r(i.get(fa)));break;case"delete":l||(r(i.get(Zt)),Ot(e)&&r(i.get(fa)));break;case"set":Ot(e)&&r(i.get(Zt));break}}ca()}function Ic(e,t){const n=po.get(e);return n&&n.get(t)}function gn(e){const t=ie(e);return t===e?t:(De(t,"iterate",Mn),Ge(e)?t:t.map(et))}function ho(e){return De(e=ie(e),"iterate",Mn),e}function gt(e,t){return vt(e)?dn(St(e)?et(t):t):et(t)}const Mc={__proto__:null,[Symbol.iterator](){return pa(this,Symbol.iterator,e=>gt(this,e))},concat(...e){return gn(this).concat(...e.map(t=>Z(t)?gn(t):t))},entries(){return pa(this,"entries",e=>(e[1]=gt(this,e[1]),e))},every(e,t){return At(this,"every",e,t,void 0,arguments)},filter(e,t){return At(this,"filter",e,t,n=>n.map(o=>gt(this,o)),arguments)},find(e,t){return At(this,"find",e,t,n=>gt(this,n),arguments)},findIndex(e,t){return At(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return At(this,"findLast",e,t,n=>gt(this,n),arguments)},findLastIndex(e,t){return At(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return At(this,"forEach",e,t,void 0,arguments)},includes(...e){return ha(this,"includes",e)},indexOf(...e){return ha(this,"indexOf",e)},join(e){return gn(this).join(e)},lastIndexOf(...e){return ha(this,"lastIndexOf",e)},map(e,t){return At(this,"map",e,t,void 0,arguments)},pop(){return Dn(this,"pop")},push(...e){return Dn(this,"push",e)},reduce(e,...t){return Js(this,"reduce",e,t)},reduceRight(e,...t){return Js(this,"reduceRight",e,t)},shift(){return Dn(this,"shift")},some(e,t){return At(this,"some",e,t,void 0,arguments)},splice(...e){return Dn(this,"splice",e)},toReversed(){return gn(this).toReversed()},toSorted(e){return gn(this).toSorted(e)},toSpliced(...e){return gn(this).toSpliced(...e)},unshift(...e){return Dn(this,"unshift",e)},values(){return pa(this,"values",e=>gt(this,e))}};function pa(e,t,n){const o=ho(e),a=o[t]();return o!==e&&!Ge(e)&&(a._next=a.next,a.next=()=>{const s=a._next();return s.done||(s.value=n(s.value)),s}),a}const Dc=Array.prototype;function At(e,t,n,o,a,s){const i=ho(e),r=i!==e&&!Ge(e),l=i[t];if(l!==Dc[t]){const f=l.apply(e,s);return r?et(f):f}let c=n;i!==e&&(r?c=function(f,b){return n.call(this,gt(e,f),b,e)}:n.length>2&&(c=function(f,b){return n.call(this,f,b,e)}));const u=l.call(i,c,o);return r&&a?a(u):u}function Js(e,t,n,o){const a=ho(e),s=a!==e&&!Ge(e);let i=n,r=!1;a!==e&&(s?(r=o.length===0,i=function(c,u,f){return r&&(r=!1,c=gt(e,c)),n.call(this,c,gt(e,u),f,e)}):n.length>3&&(i=function(c,u,f){return n.call(this,c,u,f,e)}));const l=a[t](i,...o);return r?gt(e,l):l}function ha(e,t,n){const o=ie(e);De(o,"iterate",Mn);const a=o[t](...n);return(a===-1||a===!1)&&So(n[0])?(n[0]=ie(n[0]),o[t](...n)):a}function Dn(e,t,n=[]){ct(),la();const o=ie(e)[t].apply(e,n);return ca(),ut(),o}const Rc=ta("__proto__,__v_isRef,__isVue"),Xs=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ve));function Fc(e){Ve(e)||(e=String(e));const t=ie(this);return De(t,"has",e),t.hasOwnProperty(e)}class Zs{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,o){if(n==="__v_skip")return t.__v_skip;const a=this._isReadonly,s=this._isShallow;if(n==="__v_isReactive")return!a;if(n==="__v_isReadonly")return a;if(n==="__v_isShallow")return s;if(n==="__v_raw")return o===(a?s?ai:oi:s?ni:ti).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(o)?t:void 0;const i=Z(t);if(!a){let l;if(i&&(l=Mc[n]))return l;if(n==="hasOwnProperty")return Fc}const r=Reflect.get(t,n,ve(t)?t:o);if((Ve(n)?Xs.has(n):Rc(n))||(a||De(t,"get",n),s))return r;if(ve(r)){const l=i&&ro(n)?r:r.value;return a&&ce(l)?ba(l):l}return ce(r)?a?ba(r):yo(r):r}}class Qs extends Zs{constructor(t=!1){super(!1,t)}set(t,n,o,a){let s=t[n];const i=Z(t)&&ro(n);if(!this._isShallow){const c=vt(s);if(!Ge(o)&&!vt(o)&&(s=ie(s),o=ie(o)),!i&&ve(s)&&!ve(o))return c||(s.value=o),!0}const r=i?Number(n)e,mo=e=>Reflect.getPrototypeOf(e);function Kc(e,t,n){return function(...o){const a=this.__v_raw,s=ie(a),i=Ot(s),r=e==="entries"||e===Symbol.iterator&&i,l=e==="keys"&&i,c=a[e](...o),u=n?ma:t?dn:et;return!t&&De(s,"iterate",l?fa:Zt),ke(Object.create(c),{next(){const{value:f,done:b}=c.next();return b?{value:f,done:b}:{value:r?[u(f[0]),u(f[1])]:u(f),done:b}}})}}function bo(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Uc(e,t){const n={get(a){const s=this.__v_raw,i=ie(s),r=ie(a);e||(lt(a,r)&&De(i,"get",a),De(i,"get",r));const{has:l}=mo(i),c=t?ma:e?dn:et;if(l.call(i,a))return c(s.get(a));if(l.call(i,r))return c(s.get(r));s!==i&&s.get(a)},get size(){const a=this.__v_raw;return!e&&De(ie(a),"iterate",Zt),a.size},has(a){const s=this.__v_raw,i=ie(s),r=ie(a);return e||(lt(a,r)&&De(i,"has",a),De(i,"has",r)),a===r?s.has(a):s.has(a)||s.has(r)},forEach(a,s){const i=this,r=i.__v_raw,l=ie(r),c=t?ma:e?dn:et;return!e&&De(l,"iterate",Zt),r.forEach((u,f)=>a.call(s,c(u),c(f),i))}};return ke(n,e?{add:bo("add"),set:bo("set"),delete:bo("delete"),clear:bo("clear")}:{add(a){const s=ie(this),i=mo(s),r=ie(a),l=!t&&!Ge(a)&&!vt(a)?r:a;return i.has.call(s,l)||lt(a,l)&&i.has.call(s,a)||lt(r,l)&&i.has.call(s,r)||(s.add(l),yt(s,"add",l,l)),this},set(a,s){!t&&!Ge(s)&&!vt(s)&&(s=ie(s));const i=ie(this),{has:r,get:l}=mo(i);let c=r.call(i,a);c||(a=ie(a),c=r.call(i,a));const u=l.call(i,a);return i.set(a,s),c?lt(s,u)&&yt(i,"set",a,s):yt(i,"add",a,s),this},delete(a){const s=ie(this),{has:i,get:r}=mo(s);let l=i.call(s,a);l||(a=ie(a),l=i.call(s,a)),r&&r.call(s,a);const c=s.delete(a);return l&&yt(s,"delete",a,void 0),c},clear(){const a=ie(this),s=a.size!==0,i=a.clear();return s&&yt(a,"clear",void 0,void 0),i}}),["keys","values","entries",Symbol.iterator].forEach(a=>{n[a]=Kc(a,e,t)}),n}function _o(e,t){const n=Uc(e,t);return(o,a,s)=>a==="__v_isReactive"?!e:a==="__v_isReadonly"?e:a==="__v_raw"?o:Reflect.get(le(n,a)&&a in o?n:o,a,s)}const Gc={get:_o(!1,!1)},zc={get:_o(!1,!0)},qc={get:_o(!0,!1)},Hc={get:_o(!0,!0)},ti=new WeakMap,ni=new WeakMap,oi=new WeakMap,ai=new WeakMap;function Vc(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function yo(e){return vt(e)?e:Ao(e,!1,Oc,Gc,ti)}function Wc(e){return Ao(e,!1,jc,zc,ni)}function ba(e){return Ao(e,!0,xc,qc,oi)}function pb(e){return Ao(e,!0,Bc,Hc,ai)}function Ao(e,t,n,o,a){if(!ce(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const s=a.get(e);if(s)return s;const i=Vc(yc(e));if(i===0)return e;const r=new Proxy(e,i===2?o:n);return a.set(e,r),r}function St(e){return vt(e)?St(e.__v_raw):!!(e&&e.__v_isReactive)}function vt(e){return!!(e&&e.__v_isReadonly)}function Ge(e){return!!(e&&e.__v_isShallow)}function So(e){return e?!!e.__v_raw:!1}function ie(e){const t=e&&e.__v_raw;return t?ie(t):e}function Rn(e){return!le(e,"__v_skip")&&Object.isExtensible(e)&&Is(e,"__v_skip",!0),e}const et=e=>ce(e)?yo(e):e,dn=e=>ce(e)?ba(e):e;function ve(e){return e?e.__v_isRef===!0:!1}function pe(e){return si(e,!1)}function _a(e){return si(e,!0)}function si(e,t){return ve(e)?e:new Yc(e,t)}class Yc{constructor(t,n){this.dep=new da,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:ie(t),this._value=n?t:et(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,o=this.__v_isShallow||Ge(t)||vt(t);t=o?t:ie(t),lt(t,n)&&(this._rawValue=t,this._value=o?t:et(t),this.dep.trigger())}}function vo(e){return ve(e)?e.value:e}const Jc={get:(e,t,n)=>t==="__v_raw"?e:vo(Reflect.get(e,t,n)),set:(e,t,n,o)=>{const a=e[t];return ve(a)&&!ve(n)?(a.value=n,!0):Reflect.set(e,t,n,o)}};function ii(e){return St(e)?e:new Proxy(e,Jc)}function Xc(e){const t=Z(e)?new Array(e.length):{};for(const n in e)t[n]=Qc(e,n);return t}class Zc{constructor(t,n,o){this._object=t,this._defaultValue=o,this.__v_isRef=!0,this._value=void 0,this._key=Ve(n)?n:String(n),this._raw=ie(t);let a=!0,s=t;if(!Z(t)||Ve(this._key)||!ro(this._key))do a=!So(s)||Ge(s);while(a&&(s=s.__v_raw));this._shallow=a}get value(){let t=this._object[this._key];return this._shallow&&(t=vo(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&ve(this._raw[this._key])){const n=this._object[this._key];if(ve(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return Ic(this._raw,this._key)}}function Qc(e,t,n){return new Zc(e,t,n)}class eu{constructor(t,n,o){this.fn=t,this.setter=n,this._value=void 0,this.dep=new da(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=In-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=o}notify(){if(this.flags|=16,!(this.flags&8)&&be!==this)return Gs(this,!0),!0}get value(){const t=this.dep.track();return Hs(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function tu(e,t,n=!1){let o,a;return te(e)?o=e:(o=e.get,a=e.set),new eu(o,a,n)}const ko={},To=new WeakMap;let Qt;function nu(e,t=!1,n=Qt){if(n){let o=To.get(n);o||To.set(n,o=[]),o.push(e)}}function ou(e,t,n=me){const{immediate:o,deep:a,once:s,scheduler:i,augmentJob:r,call:l}=n,c=h=>a?h:Ge(h)||a===!1||a===0?xt(h,1):xt(h);let u,f,b,v,E=!1,A=!1;if(ve(e)?(f=()=>e.value,E=Ge(e)):St(e)?(f=()=>c(e),E=!0):Z(e)?(A=!0,E=e.some(h=>St(h)||Ge(h)),f=()=>e.map(h=>{if(ve(h))return h.value;if(St(h))return c(h);if(te(h))return l?l(h,2):h()})):te(e)?t?f=l?()=>l(e,2):e:f=()=>{if(b){ct();try{b()}finally{ut()}}const h=Qt;Qt=u;try{return l?l(e,3,[v]):e(v)}finally{Qt=h}}:f=rt,t&&a){const h=f,T=a===!0?1/0:a;f=()=>xt(h(),T)}const R=Bs(),M=()=>{u.stop(),R&&R.active&&na(R.effects,u)};if(s&&t){const h=t;t=(...T)=>{const C=h(...T);return M(),C}}let L=A?new Array(e.length).fill(ko):ko;const y=h=>{if(!(!(u.flags&1)||!u.dirty&&!h))if(t){const T=u.run();if(h||a||E||(A?T.some((C,I)=>lt(C,L[I])):lt(T,L))){b&&b();const C=Qt;Qt=u;try{const I=[T,L===ko?void 0:A&&L[0]===ko?[]:L,v];L=T,l?l(t,3,I):t(...I)}finally{Qt=C}}}else u.run()};return r&&r(y),u=new Ks(f),u.scheduler=i?()=>i(y,!1):y,v=h=>nu(h,!1,u),b=u.onStop=()=>{const h=To.get(u);if(h){if(l)l(h,4);else for(const T of h)T();To.delete(u)}},t?o?y(!0):L=u.run():i?i(y.bind(null,!0),!0):u.run(),M.pause=u.pause.bind(u),M.resume=u.resume.bind(u),M.stop=M,M}function xt(e,t=1/0,n){if(t<=0||!ce(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,ve(e))xt(e.value,t,n);else if(Z(e))for(let o=0;o{xt(o,t,n)});else if(io(e)){for(const o in e)xt(e[o],t,n);for(const o of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,o)&&xt(e[o],t,n)}return e}/** +**/let $e;class Bs{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&$e&&($e.active?(this.parent=$e,this.index=($e.scopes||($e.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes){const o=this.scopes.slice();for(t=0,n=o.length;t0&&--this._on===0){if($e===this)$e=this.prevScope;else{let t=$e;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,o;for(n=0,o=this.effects.length;n0)return;if(Pn){let t=Pn;for(Pn=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;wn;){let t=wn;for(wn=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(o){e||(e=o)}t=n}}if(e)throw e}function qs(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Hs(e){let t,n=e.depsTail,o=n;for(;o;){const a=o.prevDep;o.version===-1?(o===n&&(n=a),ga(o),Pc(o)):t=o,o.dep.activeLink=o.prevActiveLink,o.prevActiveLink=void 0,o=a}e.deps=t,e.depsTail=n}function ua(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Vs(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Vs(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===In)||(e.globalVersion=In,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!ua(e))))return;e.flags|=2;const t=e.dep,n=be,o=Qe;be=e,Qe=!0;try{qs(e);const a=e.fn(e._value);(t.version===0||lt(a,e._value))&&(e.flags|=128,e._value=a,t.version++)}catch(a){throw t.version++,a}finally{be=n,Qe=o,Hs(e),e.flags&=-3}}function ga(e,t=!1){const{dep:n,prevSub:o,nextSub:a}=e;if(o&&(o.nextSub=a,e.prevSub=void 0),a&&(a.prevSub=o,e.nextSub=void 0),n.subs===e&&(n.subs=o,!o&&n.computed)){n.computed.flags&=-5;for(let s=n.computed.deps;s;s=s.nextDep)ga(s,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Pc(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Qe=!0;const Ws=[];function ct(){Ws.push(Qe),Qe=!1}function ut(){const e=Ws.pop();Qe=e===void 0?!0:e}function Ys(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=be;be=void 0;try{t()}finally{be=n}}}let In=0;class Ic{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class da{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!be||!Qe||be===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==be)n=this.activeLink=new Ic(be,this),be.deps?(n.prevDep=be.depsTail,be.depsTail.nextDep=n,be.depsTail=n):be.deps=be.depsTail=n,Js(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const o=n.nextDep;o.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=o),n.prevDep=be.depsTail,n.nextDep=void 0,be.depsTail.nextDep=n,be.depsTail=n,be.deps===n&&(be.deps=o)}return n}trigger(t){this.version++,In++,this.notify(t)}notify(t){la();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{ca()}}}function Js(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let o=t.deps;o;o=o.nextDep)Js(o)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const po=new WeakMap,Zt=Symbol(""),fa=Symbol(""),Mn=Symbol("");function De(e,t,n){if(Qe&&be){let o=po.get(e);o||po.set(e,o=new Map);let a=o.get(n);a||(o.set(n,a=new da),a.map=o,a.key=n),a.track()}}function yt(e,t,n,o,a,s){const i=po.get(e);if(!i){In++;return}const r=l=>{l&&l.trigger()};if(la(),t==="clear")i.forEach(r);else{const l=Z(e),c=l&&ro(n);if(l&&n==="length"){const u=Number(o);i.forEach((f,b)=>{(b==="length"||b===Mn||!Ve(b)&&b>=u)&&r(f)})}else switch((n!==void 0||i.has(void 0))&&r(i.get(n)),c&&r(i.get(Mn)),t){case"add":l?c&&r(i.get("length")):(r(i.get(Zt)),Ot(e)&&r(i.get(fa)));break;case"delete":l||(r(i.get(Zt)),Ot(e)&&r(i.get(fa)));break;case"set":Ot(e)&&r(i.get(Zt));break}}ca()}function Mc(e,t){const n=po.get(e);return n&&n.get(t)}function gn(e){const t=ie(e);return t===e?t:(De(t,"iterate",Mn),Ge(e)?t:t.map(et))}function ho(e){return De(e=ie(e),"iterate",Mn),e}function gt(e,t){return vt(e)?dn(St(e)?et(t):t):et(t)}const Dc={__proto__:null,[Symbol.iterator](){return pa(this,Symbol.iterator,e=>gt(this,e))},concat(...e){return gn(this).concat(...e.map(t=>Z(t)?gn(t):t))},entries(){return pa(this,"entries",e=>(e[1]=gt(this,e[1]),e))},every(e,t){return At(this,"every",e,t,void 0,arguments)},filter(e,t){return At(this,"filter",e,t,n=>n.map(o=>gt(this,o)),arguments)},find(e,t){return At(this,"find",e,t,n=>gt(this,n),arguments)},findIndex(e,t){return At(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return At(this,"findLast",e,t,n=>gt(this,n),arguments)},findLastIndex(e,t){return At(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return At(this,"forEach",e,t,void 0,arguments)},includes(...e){return ha(this,"includes",e)},indexOf(...e){return ha(this,"indexOf",e)},join(e){return gn(this).join(e)},lastIndexOf(...e){return ha(this,"lastIndexOf",e)},map(e,t){return At(this,"map",e,t,void 0,arguments)},pop(){return Dn(this,"pop")},push(...e){return Dn(this,"push",e)},reduce(e,...t){return Xs(this,"reduce",e,t)},reduceRight(e,...t){return Xs(this,"reduceRight",e,t)},shift(){return Dn(this,"shift")},some(e,t){return At(this,"some",e,t,void 0,arguments)},splice(...e){return Dn(this,"splice",e)},toReversed(){return gn(this).toReversed()},toSorted(e){return gn(this).toSorted(e)},toSpliced(...e){return gn(this).toSpliced(...e)},unshift(...e){return Dn(this,"unshift",e)},values(){return pa(this,"values",e=>gt(this,e))}};function pa(e,t,n){const o=ho(e),a=o[t]();return o!==e&&!Ge(e)&&(a._next=a.next,a.next=()=>{const s=a._next();return s.done||(s.value=n(s.value)),s}),a}const Rc=Array.prototype;function At(e,t,n,o,a,s){const i=ho(e),r=i!==e&&!Ge(e),l=i[t];if(l!==Rc[t]){const f=l.apply(e,s);return r?et(f):f}let c=n;i!==e&&(r?c=function(f,b){return n.call(this,gt(e,f),b,e)}:n.length>2&&(c=function(f,b){return n.call(this,f,b,e)}));const u=l.call(i,c,o);return r&&a?a(u):u}function Xs(e,t,n,o){const a=ho(e),s=a!==e&&!Ge(e);let i=n,r=!1;a!==e&&(s?(r=o.length===0,i=function(c,u,f){return r&&(r=!1,c=gt(e,c)),n.call(this,c,gt(e,u),f,e)}):n.length>3&&(i=function(c,u,f){return n.call(this,c,u,f,e)}));const l=a[t](i,...o);return r?gt(e,l):l}function ha(e,t,n){const o=ie(e);De(o,"iterate",Mn);const a=o[t](...n);return(a===-1||a===!1)&&So(n[0])?(n[0]=ie(n[0]),o[t](...n)):a}function Dn(e,t,n=[]){ct(),la();const o=ie(e)[t].apply(e,n);return ca(),ut(),o}const Fc=ta("__proto__,__v_isRef,__isVue"),Zs=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ve));function Oc(e){Ve(e)||(e=String(e));const t=ie(this);return De(t,"has",e),t.hasOwnProperty(e)}class Qs{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,o){if(n==="__v_skip")return t.__v_skip;const a=this._isReadonly,s=this._isShallow;if(n==="__v_isReactive")return!a;if(n==="__v_isReadonly")return a;if(n==="__v_isShallow")return s;if(n==="__v_raw")return o===(a?s?si:ai:s?oi:ni).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(o)?t:void 0;const i=Z(t);if(!a){let l;if(i&&(l=Dc[n]))return l;if(n==="hasOwnProperty")return Oc}const r=Reflect.get(t,n,ve(t)?t:o);if((Ve(n)?Zs.has(n):Fc(n))||(a||De(t,"get",n),s))return r;if(ve(r)){const l=i&&ro(n)?r:r.value;return a&&ce(l)?ba(l):l}return ce(r)?a?ba(r):yo(r):r}}class ei extends Qs{constructor(t=!1){super(!1,t)}set(t,n,o,a){let s=t[n];const i=Z(t)&&ro(n);if(!this._isShallow){const c=vt(s);if(!Ge(o)&&!vt(o)&&(s=ie(s),o=ie(o)),!i&&ve(s)&&!ve(o))return c||(s.value=o),!0}const r=i?Number(n)e,mo=e=>Reflect.getPrototypeOf(e);function Uc(e,t,n){return function(...o){const a=this.__v_raw,s=ie(a),i=Ot(s),r=e==="entries"||e===Symbol.iterator&&i,l=e==="keys"&&i,c=a[e](...o),u=n?ma:t?dn:et;return!t&&De(s,"iterate",l?fa:Zt),ke(Object.create(c),{next(){const{value:f,done:b}=c.next();return b?{value:f,done:b}:{value:r?[u(f[0]),u(f[1])]:u(f),done:b}}})}}function bo(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Gc(e,t){const n={get(a){const s=this.__v_raw,i=ie(s),r=ie(a);e||(lt(a,r)&&De(i,"get",a),De(i,"get",r));const{has:l}=mo(i),c=t?ma:e?dn:et;if(l.call(i,a))return c(s.get(a));if(l.call(i,r))return c(s.get(r));s!==i&&s.get(a)},get size(){const a=this.__v_raw;return!e&&De(ie(a),"iterate",Zt),a.size},has(a){const s=this.__v_raw,i=ie(s),r=ie(a);return e||(lt(a,r)&&De(i,"has",a),De(i,"has",r)),a===r?s.has(a):s.has(a)||s.has(r)},forEach(a,s){const i=this,r=i.__v_raw,l=ie(r),c=t?ma:e?dn:et;return!e&&De(l,"iterate",Zt),r.forEach((u,f)=>a.call(s,c(u),c(f),i))}};return ke(n,e?{add:bo("add"),set:bo("set"),delete:bo("delete"),clear:bo("clear")}:{add(a){const s=ie(this),i=mo(s),r=ie(a),l=!t&&!Ge(a)&&!vt(a)?r:a;return i.has.call(s,l)||lt(a,l)&&i.has.call(s,a)||lt(r,l)&&i.has.call(s,r)||(s.add(l),yt(s,"add",l,l)),this},set(a,s){!t&&!Ge(s)&&!vt(s)&&(s=ie(s));const i=ie(this),{has:r,get:l}=mo(i);let c=r.call(i,a);c||(a=ie(a),c=r.call(i,a));const u=l.call(i,a);return i.set(a,s),c?lt(s,u)&&yt(i,"set",a,s):yt(i,"add",a,s),this},delete(a){const s=ie(this),{has:i,get:r}=mo(s);let l=i.call(s,a);l||(a=ie(a),l=i.call(s,a)),r&&r.call(s,a);const c=s.delete(a);return l&&yt(s,"delete",a,void 0),c},clear(){const a=ie(this),s=a.size!==0,i=a.clear();return s&&yt(a,"clear",void 0,void 0),i}}),["keys","values","entries",Symbol.iterator].forEach(a=>{n[a]=Uc(a,e,t)}),n}function _o(e,t){const n=Gc(e,t);return(o,a,s)=>a==="__v_isReactive"?!e:a==="__v_isReadonly"?e:a==="__v_raw"?o:Reflect.get(le(n,a)&&a in o?n:o,a,s)}const zc={get:_o(!1,!1)},qc={get:_o(!1,!0)},Hc={get:_o(!0,!1)},Vc={get:_o(!0,!0)},ni=new WeakMap,oi=new WeakMap,ai=new WeakMap,si=new WeakMap;function Wc(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function yo(e){return vt(e)?e:Ao(e,!1,xc,zc,ni)}function Yc(e){return Ao(e,!1,Bc,qc,oi)}function ba(e){return Ao(e,!0,jc,Hc,ai)}function hb(e){return Ao(e,!0,Kc,Vc,si)}function Ao(e,t,n,o,a){if(!ce(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const s=a.get(e);if(s)return s;const i=Wc(Ac(e));if(i===0)return e;const r=new Proxy(e,i===2?o:n);return a.set(e,r),r}function St(e){return vt(e)?St(e.__v_raw):!!(e&&e.__v_isReactive)}function vt(e){return!!(e&&e.__v_isReadonly)}function Ge(e){return!!(e&&e.__v_isShallow)}function So(e){return e?!!e.__v_raw:!1}function ie(e){const t=e&&e.__v_raw;return t?ie(t):e}function Rn(e){return!le(e,"__v_skip")&&Object.isExtensible(e)&&Ms(e,"__v_skip",!0),e}const et=e=>ce(e)?yo(e):e,dn=e=>ce(e)?ba(e):e;function ve(e){return e?e.__v_isRef===!0:!1}function pe(e){return ii(e,!1)}function _a(e){return ii(e,!0)}function ii(e,t){return ve(e)?e:new Jc(e,t)}class Jc{constructor(t,n){this.dep=new da,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:ie(t),this._value=n?t:et(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,o=this.__v_isShallow||Ge(t)||vt(t);t=o?t:ie(t),lt(t,n)&&(this._rawValue=t,this._value=o?t:et(t),this.dep.trigger())}}function vo(e){return ve(e)?e.value:e}const Xc={get:(e,t,n)=>t==="__v_raw"?e:vo(Reflect.get(e,t,n)),set:(e,t,n,o)=>{const a=e[t];return ve(a)&&!ve(n)?(a.value=n,!0):Reflect.set(e,t,n,o)}};function ri(e){return St(e)?e:new Proxy(e,Xc)}function Zc(e){const t=Z(e)?new Array(e.length):{};for(const n in e)t[n]=eu(e,n);return t}class Qc{constructor(t,n,o){this._object=t,this._defaultValue=o,this.__v_isRef=!0,this._value=void 0,this._key=Ve(n)?n:String(n),this._raw=ie(t);let a=!0,s=t;if(!Z(t)||Ve(this._key)||!ro(this._key))do a=!So(s)||Ge(s);while(a&&(s=s.__v_raw));this._shallow=a}get value(){let t=this._object[this._key];return this._shallow&&(t=vo(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&ve(this._raw[this._key])){const n=this._object[this._key];if(ve(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return Mc(this._raw,this._key)}}function eu(e,t,n){return new Qc(e,t,n)}class tu{constructor(t,n,o){this.fn=t,this.setter=n,this._value=void 0,this.dep=new da(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=In-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=o}notify(){if(this.flags|=16,!(this.flags&8)&&be!==this)return zs(this,!0),!0}get value(){const t=this.dep.track();return Vs(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function nu(e,t,n=!1){let o,a;return te(e)?o=e:(o=e.get,a=e.set),new tu(o,a,n)}const ko={},To=new WeakMap;let Qt;function ou(e,t=!1,n=Qt){if(n){let o=To.get(n);o||To.set(n,o=[]),o.push(e)}}function au(e,t,n=me){const{immediate:o,deep:a,once:s,scheduler:i,augmentJob:r,call:l}=n,c=h=>a?h:Ge(h)||a===!1||a===0?xt(h,1):xt(h);let u,f,b,v,E=!1,A=!1;if(ve(e)?(f=()=>e.value,E=Ge(e)):St(e)?(f=()=>c(e),E=!0):Z(e)?(A=!0,E=e.some(h=>St(h)||Ge(h)),f=()=>e.map(h=>{if(ve(h))return h.value;if(St(h))return c(h);if(te(h))return l?l(h,2):h()})):te(e)?t?f=l?()=>l(e,2):e:f=()=>{if(b){ct();try{b()}finally{ut()}}const h=Qt;Qt=u;try{return l?l(e,3,[v]):e(v)}finally{Qt=h}}:f=rt,t&&a){const h=f,T=a===!0?1/0:a;f=()=>xt(h(),T)}const R=Ks(),M=()=>{u.stop(),R&&R.active&&na(R.effects,u)};if(s&&t){const h=t;t=(...T)=>{const C=h(...T);return M(),C}}let L=A?new Array(e.length).fill(ko):ko;const y=h=>{if(!(!(u.flags&1)||!u.dirty&&!h))if(t){const T=u.run();if(h||a||E||(A?T.some((C,I)=>lt(C,L[I])):lt(T,L))){b&&b();const C=Qt;Qt=u;try{const I=[T,L===ko?void 0:A&&L[0]===ko?[]:L,v];L=T,l?l(t,3,I):t(...I)}finally{Qt=C}}}else u.run()};return r&&r(y),u=new Us(f),u.scheduler=i?()=>i(y,!1):y,v=h=>ou(h,!1,u),b=u.onStop=()=>{const h=To.get(u);if(h){if(l)l(h,4);else for(const T of h)T();To.delete(u)}},t?o?y(!0):L=u.run():i?i(y.bind(null,!0),!0):u.run(),M.pause=u.pause.bind(u),M.resume=u.resume.bind(u),M.stop=M,M}function xt(e,t=1/0,n){if(t<=0||!ce(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,ve(e))xt(e.value,t,n);else if(Z(e))for(let o=0;o{xt(o,t,n)});else if(io(e)){for(const o in e)xt(e[o],t,n);for(const o of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,o)&&xt(e[o],t,n)}return e}/** * @vue/runtime-core v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/const Fn=[];let ya=!1;function hb(e,...t){if(ya)return;ya=!0,ct();const n=Fn.length?Fn[Fn.length-1].component:null,o=n&&n.appContext.config.warnHandler,a=au();if(o)fn(o,n,11,[e+t.map(s=>{var i,r;return(r=(i=s.toString)==null?void 0:i.call(s))!=null?r:JSON.stringify(s)}).join(""),n&&n.proxy,a.map(({vnode:s})=>`at <${or(n,s.type)}>`).join(` +**/const Fn=[];let ya=!1;function mb(e,...t){if(ya)return;ya=!0,ct();const n=Fn.length?Fn[Fn.length-1].component:null,o=n&&n.appContext.config.warnHandler,a=su();if(o)fn(o,n,11,[e+t.map(s=>{var i,r;return(r=(i=s.toString)==null?void 0:i.call(s))!=null?r:JSON.stringify(s)}).join(""),n&&n.proxy,a.map(({vnode:s})=>`at <${ar(n,s.type)}>`).join(` `),a]);else{const s=[`[Vue warn]: ${e}`,...t];a.length&&s.push(` -`,...su(a)),console.warn(...s)}ut(),ya=!1}function au(){let e=Fn[Fn.length-1];if(!e)return[];const t=[];for(;e;){const n=t[0];n&&n.vnode===e?n.recurseCount++:t.push({vnode:e,recurseCount:0});const o=e.component&&e.component.parent;e=o&&o.vnode}return t}function su(e){const t=[];return e.forEach((n,o)=>{t.push(...o===0?[]:[` -`],...iu(n))}),t}function iu({vnode:e,recurseCount:t}){const n=t>0?`... (${t} recursive calls)`:"",o=e.component?e.component.parent==null:!1,a=` at <${or(e.component,e.type,o)}`,s=">"+n;return e.props?[a,...ru(e.props),s]:[a+s]}function ru(e){const t=[],n=Object.keys(e);return n.slice(0,3).forEach(o=>{t.push(...ri(o,e[o]))}),n.length>3&&t.push(" ..."),t}function ri(e,t,n){return Ae(t)?(t=JSON.stringify(t),n?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?n?t:[`${e}=${t}`]:ve(t)?(t=ri(e,ie(t.value),!0),n?t:[`${e}=Ref<`,t,">"]):te(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=ie(t),n?t:[`${e}=`,t])}function fn(e,t,n,o){try{return o?e(...o):e()}catch(a){On(a,t,n)}}function tt(e,t,n,o){if(te(e)){const a=fn(e,t,n,o);return a&&ws(a)&&a.catch(s=>{On(s,t,n)}),a}if(Z(e)){const a=[];for(let s=0;s>>1,a=Re[o],s=xn(a);s=xn(n)?Re.push(e):Re.splice(cu(t),0,e),e.flags|=1,ci()}}function ci(){$o||($o=li.then(di))}function uu(e){if(!Z(e))jt&&e.id===-1?jt.splice(hn+1,0,e):e.flags&1||(pn.push(e),e.flags|=1);else for(let t=0;txn(n)-xn(o));if(pn.length=0,jt){for(let n=0;ne.id==null?e.flags&2?-1:1/0:e.id;function di(e){try{for(dt=0;dt{o._d&&Ro(-1);const s=Eo(t),i=an.length;let r;try{r=e(...a)}finally{for(let l=an.length;l>i;l--)Yi();Eo(s),o._d&&Ro(1)}return r};return o._n=!0,o._c=!0,o._d=!0,o}function en(e,t,n,o){const a=e.dirs,s=t&&t.dirs;for(let i=0;i1)return n&&te(t)?t.call(o&&o.proxy):t}}function du(){return!!(Ct()||nn)}const fu=Symbol.for("v-scx"),pu=()=>Fe(fu);function hu(e,t){return va(e,null,t)}function tn(e,t,n){return va(e,t,n)}function va(e,t,n=me){const{immediate:o,deep:a,flush:s,once:i}=n,r=ke({},n),l=t&&o||!t&&s!=="post";let c;if(_n){if(s==="sync"){const v=pu();c=v.__watcherHandles||(v.__watcherHandles=[])}else if(!l){const v=()=>{};return v.stop=rt,v.resume=rt,v.pause=rt,v}}const u=Pe;r.call=(v,E,A)=>tt(v,u,E,A);let f=!1;s==="post"?r.scheduler=v=>{Ke(v,u&&u.suspense)}:s!=="sync"&&(f=!0,r.scheduler=(v,E)=>{E?v():Sa(v)}),r.augmentJob=v=>{t&&(v.flags|=4),f&&(v.flags|=2,u&&(v.id=u.uid,v.i=u))};const b=ou(e,t,r);return _n&&(c?c.push(b):l&&b()),b}function mu(e,t,n){const o=this.proxy,a=Ae(e)?e.includes(".")?pi(o,e):()=>o[e]:e.bind(o,o);let s;te(t)?s=t:(s=t.handler,n=t);const i=Yn(this),r=va(a,s.bind(o),n);return i(),r}function pi(e,t){const n=t.split(".");return()=>{let o=e;for(let a=0;ae.__isTeleport,ka=Symbol("_leaveCb");function _u(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==Tt){t=n;break}}return t}function hi(e){if(!wo(e))return Lo(e.type)&&e.children?_u(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&te(n.default))return n.default()}}function Ta(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;Ta(Lo(n.type)&&hi(n)||n,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function jn(e,t){return te(e)?ke({name:e.name},t,{setup:e}):e}function $a(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function mi(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const Co=new WeakMap;function Bn(e,t,n,o,a=!1){if(Z(e)){e.forEach((A,R)=>Bn(A,t&&(Z(t)?t[R]:t),n,o,a));return}if(Kn(o)&&!a){o.shapeFlag&512&&o.type.__asyncResolved&&o.component.subTree.component&&Bn(e,t,n,o.component.subTree);return}const s=o.shapeFlag&4?Fa(o.component):o.el,i=a?null:s,{i:r,r:l}=e,c=t&&t.r,u=r.refs===me?r.refs={}:r.refs,f=r.setupState,b=ie(f),v=f===me?Cs:A=>mi(u,A)?!1:le(b,A),E=(A,R)=>!(R&&mi(u,R));if(c!=null&&c!==l){if(bi(t),Ae(c))u[c]=null,v(c)&&(f[c]=null);else if(ve(c)){const A=t;E(c,A.k)&&(c.value=null),A.k&&(u[A.k]=null)}}if(te(l))fn(l,r,12,[i,u]);else{const A=Ae(l),R=ve(l);if(A||R){const M=()=>{if(e.f){const L=A?v(l)?f[l]:u[l]:E()||!e.k?l.value:u[e.k];if(a)Z(L)&&na(L,s);else if(Z(L))L.includes(s)||L.push(s);else if(A)u[l]=[s],v(l)&&(f[l]=u[l]);else{const y=[s];E(l,e.k)&&(l.value=y),e.k&&(u[e.k]=y)}}else A?(u[l]=i,v(l)&&(f[l]=i)):R&&(E(l,e.k)&&(l.value=i),e.k&&(u[e.k]=i))};if(i){const L=()=>{M(),Co.delete(e)};L.id=-1,Co.set(e,L),Ke(L,n)}else bi(e),M()}}}function bi(e){const t=Co.get(e);t&&(t.flags|=8,Co.delete(e))}const _i=e=>e.nodeType===8;uo().requestIdleCallback,uo().cancelIdleCallback;function yu(e,t){if(_i(e)&&e.data==="["){let n=1,o=e.nextSibling;for(;o;){if(o.nodeType===1){if(t(o)===!1)break}else if(_i(o))if(o.data==="]"){if(--n===0)break}else o.data==="["&&n++;o=o.nextSibling}}else t(e)}const Kn=e=>!!e.type.__asyncLoader;function Au(e){te(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:o,delay:a=200,hydrate:s,timeout:i,suspensible:r=!0,onError:l}=e;let c=null,u,f=0;const b=()=>(f++,c=null,v()),v=()=>{let E;return c||(E=c=t().catch(A=>{if(A=A instanceof Error?A:new Error(String(A)),l)return new Promise((R,M)=>{l(A,()=>R(b()),()=>M(A),f+1)});throw A}).then(A=>E!==c&&c?c:(A&&(A.__esModule||A[Symbol.toStringTag]==="Module")&&(A=A.default),u=A,A)))};return jn({name:"AsyncComponentWrapper",__asyncLoader:v,__asyncHydrate(E,A,R){const M=E.isConnected;let L=!1;(A.bu||(A.bu=[])).push(()=>L=!0);const y=()=>{L||!E.parentNode||M&&!E.isConnected||R()},h=s?()=>{const T=s(y,C=>yu(E,C));T&&(A.bum||(A.bum=[])).push(T)}:y;u?h():v().then(()=>!A.isUnmounted&&h())},get __asyncResolved(){return u},setup(){const E=Pe;if($a(E),u)return()=>No(u,E);const A=T=>{c=null,On(T,E,13,!o)};if(r&&E.suspense||_n)return v().then(T=>()=>No(T,E)).catch(T=>(A(T),()=>o?Ne(o,{error:T}):null));const R=pe(!1),M=pe(),L=pe(!!a);let y,h;return Io(()=>{y!=null&&clearTimeout(y),h!=null&&clearTimeout(h)}),a&&(h=setTimeout(()=>{E.isUnmounted||(L.value=!1)},a)),i!=null&&(y=setTimeout(()=>{if(!E.isUnmounted&&!R.value&&!M.value){const T=new Error(`Async component timed out after ${i}ms.`);A(T),M.value=T}},i)),v().then(()=>{E.isUnmounted||(R.value=!0,E.parent&&wo(E.parent.vnode)&&E.parent.update())}).catch(T=>{if(E.isUnmounted){c=null;return}A(T),M.value=T}),()=>{if(R.value&&u)return No(u,E);if(M.value&&o)return Ne(o,{error:M.value});if(n&&!L.value)return No(n,E)}}})}function No(e,t){const{ref:n,props:o,children:a,ce:s}=t.vnode,i=Ne(e,o,a);return i.ref=n,i.ce=s,delete t.vnode.ce,i}const wo=e=>e.type.__isKeepAlive;function Su(e,t){yi(e,"a",t)}function vu(e,t){yi(e,"da",t)}function yi(e,t,n=Pe){const o=e.__wdc||(e.__wdc=()=>{let a=n;for(;a;){if(a.isDeactivated)return;a=a.parent}return e()});if(Po(t,o,n),n){let a=n.parent;for(;a&&a.parent;)wo(a.parent.vnode)&&ku(o,t,n,a),a=a.parent}}function ku(e,t,n,o){const a=Po(t,e,o,!0);Io(()=>{na(o[t],a)},n)}function Po(e,t,n=Pe,o=!1){if(n){const a=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...i)=>{ct();const r=Yn(n),l=tt(t,n,e,i);return r(),ut(),l});return o?a.unshift(s):a.push(s),s}}const kt=e=>(t,n=Pe)=>{(!_n||e==="sp")&&Po(e,(...o)=>t(...o),n)},Ai=kt("bm"),Un=kt("m"),Tu=kt("bu"),$u=kt("u"),Ea=kt("bum"),Io=kt("um"),Eu=kt("sp"),Lu=kt("rtg"),Cu=kt("rtc");function Nu(e,t=Pe){Po("ec",e,t)}const wu="components",Si=Symbol.for("v-ndc");function vi(e){return Ae(e)?Pu(wu,e,!1)||e:e||Si}function Pu(e,t,n=!0,o=!1){const a=nt||Pe;if(a){const s=a.type;{const r=nr(s,!1);if(r&&(r===t||r===Ce(t)||r===co(Ce(t))))return s}const i=ki(a[e]||s[e],t)||ki(a.appContext[e],t);return!i&&o?s:i}}function ki(e,t){return e&&(e[t]||e[Ce(t)]||e[co(Ce(t))])}function Iu(e,t,n,o){let a;const s=n,i=Z(e);if(i||Ae(e)){const r=i&&St(e);let l=!1,c=!1;r&&(l=!Ge(e),c=vt(e),e=ho(e)),a=new Array(e.length);for(let u=0,f=e.length;ut(r,l,void 0,s));else{const r=Object.keys(e);a=new Array(r.length);for(let l=0,c=r.length;le?Qi(e)?Fa(e):La(e.parent):null,Gn=ke(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>La(e.parent),$root:e=>La(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Li(e),$forceUpdate:e=>e.f||(e.f=()=>{Sa(e.update)}),$nextTick:e=>e.n||(e.n=Aa.bind(e.proxy)),$watch:e=>mu.bind(e)}),Ca=(e,t)=>e!==me&&!e.__isScriptSetup&&le(e,t),Mu={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:o,data:a,props:s,accessCache:i,type:r,appContext:l}=e;if(t[0]!=="$"){const b=i[t];if(b!==void 0)switch(b){case 1:return o[t];case 2:return a[t];case 4:return n[t];case 3:return s[t]}else{if(Ca(o,t))return i[t]=1,o[t];if(a!==me&&le(a,t))return i[t]=2,a[t];if(le(s,t))return i[t]=3,s[t];if(n!==me&&le(n,t))return i[t]=4,n[t];Na&&(i[t]=0)}}const c=Gn[t];let u,f;if(c)return t==="$attrs"&&De(e.attrs,"get",""),c(e);if((u=r.__cssModules)&&(u=u[t]))return u;if(n!==me&&le(n,t))return i[t]=4,n[t];if(f=l.config.globalProperties,le(f,t))return f[t]},set({_:e},t,n){const{data:o,setupState:a,ctx:s}=e;return Ca(a,t)?(a[t]=n,!0):o!==me&&le(o,t)?(o[t]=n,!0):le(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:o,appContext:a,props:s,type:i}},r){let l;return!!(n[r]||e!==me&&r[0]!=="$"&&le(e,r)||Ca(t,r)||le(s,r)||le(o,r)||le(Gn,r)||le(a.config.globalProperties,r)||(l=i.__cssModules)&&l[r])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:le(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Ti(e){return Z(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Na=!0;function Du(e){const t=Li(e),n=e.proxy,o=e.ctx;Na=!1,t.beforeCreate&&$i(t.beforeCreate,e,"bc");const{data:a,computed:s,methods:i,watch:r,provide:l,inject:c,created:u,beforeMount:f,mounted:b,beforeUpdate:v,updated:E,activated:A,deactivated:R,beforeDestroy:M,beforeUnmount:L,destroyed:y,unmounted:h,render:T,renderTracked:C,renderTriggered:I,errorCaptured:F,serverPrefetch:S,expose:W,inheritAttrs:ae,components:H,directives:ee,filters:Y}=t;if(c&&Ru(c,o,null),i)for(const B in i){const V=i[B];te(V)&&(o[B]=V.bind(n))}if(a){const B=a.call(n,n);ce(B)&&(e.data=yo(B))}if(Na=!0,s)for(const B in s){const V=s[B],X=te(V)?V.bind(n,n):te(V.get)?V.get.bind(n,n):rt,ue=!te(V)&&te(V.set)?V.set.bind(n):rt,de=he({get:X,set:ue});Object.defineProperty(o,B,{enumerable:!0,configurable:!0,get:()=>de.value,set:fe=>de.value=fe})}if(r)for(const B in r)Ei(r[B],o,n,B);if(l){const B=te(l)?l.call(n):l;Reflect.ownKeys(B).forEach(V=>{ft(V,B[V])})}u&&$i(u,e,"c");function j(B,V){Z(V)?V.forEach(X=>B(X.bind(n))):V&&B(V.bind(n))}if(j(Ai,f),j(Un,b),j(Tu,v),j($u,E),j(Su,A),j(vu,R),j(Nu,F),j(Cu,C),j(Lu,I),j(Ea,L),j(Io,h),j(Eu,S),Z(W))if(W.length){const B=e.exposed||(e.exposed={});W.forEach(V=>{Object.defineProperty(B,V,{get:()=>n[V],set:X=>n[V]=X,enumerable:!0})})}else e.exposed||(e.exposed={});T&&e.render===rt&&(e.render=T),ae!=null&&(e.inheritAttrs=ae),H&&(e.components=H),ee&&(e.directives=ee),S&&$a(e)}function Ru(e,t,n=rt){Z(e)&&(e=wa(e));for(const o in e){const a=e[o];let s;ce(a)?"default"in a?s=Fe(a.from||o,a.default,!0):s=Fe(a.from||o):s=Fe(a),ve(s)?Object.defineProperty(t,o,{enumerable:!0,configurable:!0,get:()=>s.value,set:i=>s.value=i}):t[o]=s}}function $i(e,t,n){tt(Z(e)?e.map(o=>o.bind(t.proxy)):e.bind(t.proxy),t,n)}function Ei(e,t,n,o){let a=o.includes(".")?pi(n,o):()=>n[o];if(Ae(e)){const s=t[e];te(s)&&tn(a,s)}else if(te(e))tn(a,e.bind(n));else if(ce(e))if(Z(e))e.forEach(s=>Ei(s,t,n,o));else{const s=te(e.handler)?e.handler.bind(n):t[e.handler];te(s)&&tn(a,s,e)}}function Li(e){const t=e.type,{mixins:n,extends:o}=t,{mixins:a,optionsCache:s,config:{optionMergeStrategies:i}}=e.appContext,r=s.get(t);let l;return r?l=r:!a.length&&!n&&!o?l=t:(l={},a.length&&a.forEach(c=>Mo(l,c,i,!0)),Mo(l,t,i)),ce(t)&&s.set(t,l),l}function Mo(e,t,n,o=!1){const{mixins:a,extends:s}=t;s&&Mo(e,s,n,!0),a&&a.forEach(i=>Mo(e,i,n,!0));for(const i in t)if(!(o&&i==="expose")){const r=Fu[i]||n&&n[i];e[i]=r?r(e[i],t[i]):t[i]}return e}const Fu={data:Ci,props:Ni,emits:Ni,methods:zn,computed:zn,beforeCreate:Oe,created:Oe,beforeMount:Oe,mounted:Oe,beforeUpdate:Oe,updated:Oe,beforeDestroy:Oe,beforeUnmount:Oe,destroyed:Oe,unmounted:Oe,activated:Oe,deactivated:Oe,errorCaptured:Oe,serverPrefetch:Oe,components:zn,directives:zn,watch:xu,provide:Ci,inject:Ou};function Ci(e,t){return t?e?function(){return ke(te(e)?e.call(this,this):e,te(t)?t.call(this,this):t)}:t:e}function Ou(e,t){return zn(wa(e),wa(t))}function wa(e){if(Z(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Ce(t)}Modifiers`]||e[`${We(t)}Modifiers`];function Uu(e,t,...n){if(e.isUnmounted)return;const o=e.vnode.props||me;let a=n;const s=t.startsWith("update:"),i=s&&Ku(o,t.slice(7));i&&(i.trim&&(a=n.map(u=>Ae(u)?u.trim():u)),i.number&&(a=a.map(vc)));let r,l=o[r=oa(t)]||o[r=oa(Ce(t))];!l&&s&&(l=o[r=oa(We(t))]),l&&tt(l,e,6,a);const c=o[r+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[r])return;e.emitted[r]=!0,tt(c,e,6,a)}}const Gu=new WeakMap;function Pi(e,t,n=!1){const o=n?Gu:t.emitsCache,a=o.get(e);if(a!==void 0)return a;const s=e.emits;let i={},r=!1;if(!te(e)){const l=c=>{const u=Pi(c,t,!0);u&&(r=!0,ke(i,u))};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!s&&!r?(ce(e)&&o.set(e,null),null):(Z(s)?s.forEach(l=>i[l]=null):ke(i,s),ce(e)&&o.set(e,i),i)}function Do(e,t){return!e||!oo(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),le(e,t[0].toLowerCase()+t.slice(1))||le(e,We(t))||le(e,t))}function mb(){}function Ii(e){const{type:t,vnode:n,proxy:o,withProxy:a,propsOptions:[s],slots:i,attrs:r,emit:l,render:c,renderCache:u,props:f,data:b,setupState:v,ctx:E,inheritAttrs:A}=e,R=Eo(e);let M,L;try{if(n.shapeFlag&4){const h=a||o,T=h;M=pt(c.call(T,h,u,f,v,b,E)),L=r}else{const h=t;M=pt(h.length>1?h(f,{attrs:r,slots:i,emit:l}):h(f,null)),L=t.props?r:zu(r)}}catch(h){an.length=0,On(h,e,1),M=Ne(Tt)}let y=M;if(L&&A!==!1){const h=Object.keys(L),{shapeFlag:T}=y;h.length&&T&7&&(s&&h.some(ao)&&(L=qu(L,s)),y=mn(y,L,!1,!0))}if(n.dirs&&(y=mn(y,null,!1,!0),y.dirs=y.dirs?y.dirs.concat(n.dirs):n.dirs),n.transition){const h=Lo(y.type)&&hi(y)||y;Ta(h,n.transition)}return M=y,Eo(R),M}const zu=e=>{let t;for(const n in e)(n==="class"||n==="style"||oo(n))&&((t||(t={}))[n]=e[n]);return t},qu=(e,t)=>{const n={};for(const o in e)(!ao(o)||!(o.slice(9)in t))&&(n[o]=e[o]);return n};function Hu(e,t,n){const{props:o,children:a,component:s}=e,{props:i,children:r,patchFlag:l}=t,c=s.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&l>=0){if(l&1024)return!0;if(l&16)return o?Mi(o,i,c):!!i;if(l&8){const u=t.dynamicProps;for(let f=0;fObject.create(Ri),Oi=e=>Object.getPrototypeOf(e)===Ri;function Wu(e,t,n,o=!1){const a={},s=Fi();e.propsDefaults=Object.create(null),xi(e,t,a,s);for(const i in e.propsOptions[0])i in a||(a[i]=void 0);n?e.props=o?a:Wc(a):e.type.props?e.props=a:e.props=s,e.attrs=s}function Yu(e,t,n,o){const{props:a,attrs:s,vnode:{patchFlag:i}}=e,r=ie(a),[l]=e.propsOptions;let c=!1;if((o||i>0)&&!(i&16)){if(i&8){const u=e.vnode.dynamicProps;for(let f=0;f{l=!0;const[b,v]=ji(f,t,!0);ke(i,b),v&&r.push(...v)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!s&&!l)return ce(e)&&o.set(e,un),un;if(Z(s))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",Ma=e=>Z(e)?e.map(pt):[pt(e)],Xu=(e,t,n)=>{if(t._n)return t;const o=gu((...a)=>Ma(t(...a)),n);return o._c=!1,o},Ki=(e,t,n)=>{const o=e._ctx;for(const a in e){if(Ia(a))continue;const s=e[a];if(te(s))t[a]=Xu(a,s,o);else if(s!=null){const i=Ma(s);t[a]=()=>i}}},Ui=(e,t)=>{const n=Ma(t);e.slots.default=()=>n},Gi=(e,t,n)=>{for(const o in t)(n||!Ia(o))&&(e[o]=t[o])},Zu=(e,t,n)=>{const o=e.slots=Fi();if(e.vnode.shapeFlag&32){const a=t._;a?(Gi(o,t,n),n&&Is(o,"_",a,!0)):Ki(t,o)}else t&&Ui(e,t)},Qu=(e,t,n)=>{const{vnode:o,slots:a}=e;let s=!0,i=me;if(o.shapeFlag&32){const r=t._;r?n&&r===1?s=!1:Gi(a,t,n):(s=!t.$stable,Ki(t,a)),i=t}else t&&(Ui(e,t),i={default:1});if(s)for(const r in a)!Ia(r)&&i[r]==null&&delete a[r]},Ke=ag;function eg(e){return tg(e)}function tg(e,t){const n=uo();n.__VUE__=!0;const{insert:o,remove:a,patchProp:s,createElement:i,createText:r,createComment:l,setText:c,setElementText:u,parentNode:f,nextSibling:b,setScopeId:v=rt,insertStaticContent:E}=e,A=(p,_,m,N=null,x=null,O=null,G=void 0,U=null,g=!!_.dynamicChildren)=>{if(p===_)return;p&&!Vn(p,_)&&(N=Rt(p),fe(p,x,O,!0),p=null),_.patchFlag===-2&&(g=!1,_.dynamicChildren=null);const{type:d,ref:$,shapeFlag:w}=_;switch(d){case qn:R(p,_,m,N);break;case Tt:M(p,_,m,N);break;case Ra:p==null&&L(_,m,N,G);break;case Ye:H(p,_,m,N,x,O,G,U,g);break;default:w&1?T(p,_,m,N,x,O,G,U,g):w&6?ee(p,_,m,N,x,O,G,U,g):(w&64||w&128)&&d.process(p,_,m,N,x,O,G,U,g,Ze)}$!=null&&x?Bn($,p&&p.ref,O,_||p,!_):$==null&&p&&p.ref!=null&&Bn(p.ref,null,O,p,!0)},R=(p,_,m,N)=>{if(p==null)o(_.el=r(_.children),m,N);else{const x=_.el=p.el;_.children!==p.children&&c(x,_.children)}},M=(p,_,m,N)=>{p==null?o(_.el=l(_.children||""),m,N):_.el=p.el},L=(p,_,m,N)=>{[p.el,p.anchor]=E(p.children,_,m,N,p.el,p.anchor)},y=({el:p,anchor:_},m,N)=>{let x;for(;p&&p!==_;)x=b(p),o(p,m,N),p=x;o(_,m,N)},h=({el:p,anchor:_})=>{let m;for(;p&&p!==_;)m=b(p),a(p),p=m;a(_)},T=(p,_,m,N,x,O,G,U,g)=>{if(_.type==="svg"?G="svg":_.type==="math"&&(G="mathml"),p==null)C(_,m,N,x,O,G,U,g);else{const d=p.el&&p.el._isVueCE?p.el:null;try{d&&d._beginPatch(),S(p,_,x,O,G,U,g)}finally{d&&d._endPatch()}}},C=(p,_,m,N,x,O,G,U)=>{let g,d;const{props:$,shapeFlag:w,transition:z,dirs:K}=p;if(g=p.el=i(p.type,O,$&&$.is,$),w&8?u(g,p.children):w&16&&F(p.children,g,null,N,x,Da(p,O),G,U),K&&en(p,null,N,"created"),I(g,p,p.scopeId,G,N),$){for(const P in $)P!=="value"&&!Cn(P)&&s(g,P,null,$[P],O,N);"value"in $&&s(g,"value",null,$.value,O),(d=$.onVnodeBeforeMount)&&ht(d,N,p)}K&&en(p,null,N,"beforeMount");const k=ng(x,z);k&&z.beforeEnter(g),o(g,_,m),((d=$&&$.onVnodeMounted)||k||K)&&Ke(()=>{try{d&&ht(d,N,p),k&&z.enter(g),K&&en(p,null,N,"mounted")}finally{}},x)},I=(p,_,m,N,x)=>{if(m&&v(p,m),N)for(let O=0;O{for(let d=g;d{const U=_.el=p.el;let{patchFlag:g,dynamicChildren:d,dirs:$}=_;g|=p.patchFlag&16;const w=p.props||me,z=_.props||me;let K;if(m&&on(m,!1),(K=z.onVnodeBeforeUpdate)&&ht(K,m,_,p),$&&en(_,p,m,"beforeUpdate"),m&&on(m,!0),d&&(!p.dynamicChildren||p.dynamicChildren.length!==d.length)&&(g=0,G=!1,d=null),(w.innerHTML&&z.innerHTML==null||w.textContent&&z.textContent==null)&&u(U,""),d?W(p.dynamicChildren,d,U,m,N,Da(_,x),O):G||V(p,_,U,null,m,N,Da(_,x),O,!1),g>0){if(g&16)ae(U,w,z,m,x);else if(g&2&&w.class!==z.class&&s(U,"class",null,z.class,x),g&4&&s(U,"style",w.style,z.style,x),g&8){const k=_.dynamicProps;for(let P=0;P{K&&ht(K,m,_,p),$&&en(_,p,m,"updated")},N)},W=(p,_,m,N,x,O,G)=>{for(let U=0;U<_.length;U++){const g=p[U],d=_[U],$=g.el&&(g.type===Ye||!Vn(g,d)||g.shapeFlag&198)?f(g.el):m;A(g,d,$,null,N,x,O,G,!0)}},ae=(p,_,m,N,x)=>{if(_!==m){if(_!==me)for(const O in _)!Cn(O)&&!(O in m)&&s(p,O,_[O],null,x,N);for(const O in m){if(Cn(O))continue;const G=m[O],U=_[O];G!==U&&O!=="value"&&s(p,O,U,G,x,N)}"value"in m&&s(p,"value",_.value,m.value,x)}},H=(p,_,m,N,x,O,G,U,g)=>{const d=_.el=p?p.el:r(""),$=_.anchor=p?p.anchor:r("");let{patchFlag:w,dynamicChildren:z,slotScopeIds:K}=_;K&&(U=U?U.concat(K):K),p==null?(o(d,m,N),o($,m,N),F(_.children||[],m,$,x,O,G,U,g)):w>0&&w&64&&z&&p.dynamicChildren&&p.dynamicChildren.length===z.length?(W(p.dynamicChildren,z,m,x,O,G,U),(_.key!=null||x&&_===x.subTree)&&zi(p,_,!0)):V(p,_,m,$,x,O,G,U,g)},ee=(p,_,m,N,x,O,G,U,g)=>{_.slotScopeIds=U,p==null?_.shapeFlag&512?x.ctx.activate(_,m,N,G,g):Y(_,m,N,x,O,G,g):D(p,_,g)},Y=(p,_,m,N,x,O,G)=>{const U=p.component=ug(p,N,x);if(wo(p)&&(U.ctx.renderer=Ze),gg(U,!1,G),U.asyncDep){if(x&&x.registerDep(U,j,G),!p.el){const g=U.subTree=Ne(Tt);M(null,g,_,m),p.placeholder=g.el}}else j(U,p,_,m,x,O,G)},D=(p,_,m)=>{const N=_.component=p.component;if(Hu(p,_,m))if(N.asyncDep&&!N.asyncResolved){B(N,_,m);return}else N.next=_,N.update();else _.el=p.el,N.vnode=_},j=(p,_,m,N,x,O,G)=>{const U=()=>{if(p.isMounted){let{next:w,bu:z,u:K,parent:k,vnode:P}=p;{const Me=qi(p);if(Me){w&&(w.el=P.el,B(p,w,G)),Me.asyncDep.then(()=>{Ke(()=>{p.isUnmounted||d()},x)});return}}let J=w,oe;on(p,!1),w?(w.el=P.el,B(p,w,G)):w=P,z&&aa(z),(oe=w.props&&w.props.onVnodeBeforeUpdate)&&ht(oe,k,w,P),on(p,!0);const ye=Ii(p),Be=p.subTree;p.subTree=ye,A(Be,ye,f(Be.el),Rt(Be),p,x,O),w.el=ye.el,J===null&&Vu(p,ye.el),K&&Ke(K,x),(oe=w.props&&w.props.onVnodeUpdated)&&Ke(()=>ht(oe,k,w,P),x)}else{let w;const{el:z,props:K}=_,{bm:k,m:P,parent:J,root:oe,type:ye}=p,Be=Kn(_);on(p,!1),k&&aa(k),!Be&&(w=K&&K.onVnodeBeforeMount)&&ht(w,J,_),on(p,!0);{oe.ce&&oe.ce._hasShadowRoot()&&oe.ce._injectChildStyle(ye,p.parent?p.parent.type:void 0);const Me=p.subTree=Ii(p);A(null,Me,m,N,p,x,O),_.el=Me.el}if(P&&Ke(P,x),!Be&&(w=K&&K.onVnodeMounted)){const Me=_;Ke(()=>ht(w,J,Me),x)}(_.shapeFlag&256||J&&Kn(J.vnode)&&J.vnode.shapeFlag&256)&&p.a&&Ke(p.a,x),p.isMounted=!0,_=m=N=null}};p.scope.on();const g=p.effect=new Ks(U);p.scope.off();const d=p.update=g.run.bind(g),$=p.job=g.runIfDirty.bind(g);$.i=p,$.id=p.uid,g.scheduler=()=>Sa($),on(p,!0),d()},B=(p,_,m)=>{_.component=p;const N=p.vnode.props;p.vnode=_,p.next=null,Yu(p,_.props,N,m),Qu(p,_.children,m),ct(),ui(p),ut()},V=(p,_,m,N,x,O,G,U,g=!1)=>{const d=p&&p.children,$=p?p.shapeFlag:0,w=_.children,{patchFlag:z,shapeFlag:K}=_;if(z>0){if(z&128){ue(d,w,m,N,x,O,G,U,g);return}else if(z&256){X(d,w,m,N,x,O,G,U,g);return}}K&8?($&16&&it(d,x,O),w!==d&&u(m,w)):$&16?K&16?ue(d,w,m,N,x,O,G,U,g):it(d,x,O,!0):($&8&&u(m,""),K&16&&F(w,m,N,x,O,G,U,g))},X=(p,_,m,N,x,O,G,U,g)=>{p=p||un,_=_||un;const d=p.length,$=_.length,w=Math.min(d,$);let z;for(z=0;z$?it(p,x,O,!0,!1,w):F(_,m,N,x,O,G,U,g,w)},ue=(p,_,m,N,x,O,G,U,g)=>{let d=0;const $=_.length;let w=p.length-1,z=$-1;for(;d<=w&&d<=z;){const K=p[d],k=_[d]=g?Lt(_[d]):pt(_[d]);if(Vn(K,k))A(K,k,m,null,x,O,G,U,g);else break;d++}for(;d<=w&&d<=z;){const K=p[w],k=_[z]=g?Lt(_[z]):pt(_[z]);if(Vn(K,k))A(K,k,m,null,x,O,G,U,g);else break;w--,z--}if(d>w){if(d<=z){const K=z+1,k=K<$?_[K].el:N;for(;d<=z;)A(null,_[d]=g?Lt(_[d]):pt(_[d]),m,k,x,O,G,U,g),d++}}else if(d>z)for(;d<=w;)fe(p[d],x,O,!0),d++;else{const K=d,k=d,P=new Map;for(d=k;d<=z;d++){const He=_[d]=g?Lt(_[d]):pt(_[d]);He.key!=null&&P.set(He.key,d)}let J,oe=0;const ye=z-k+1;let Be=!1,Me=0;const cn=new Array(ye);for(d=0;d=ye){fe(He,x,O,!0);continue}let _t;if(He.key!=null)_t=P.get(He.key);else for(J=k;J<=z;J++)if(cn[J-k]===0&&Vn(He,_[J])){_t=J;break}_t===void 0?fe(He,x,O,!0):(cn[_t-k]=d+1,_t>=Me?Me=_t:Be=!0,A(He,_[_t],m,null,x,O,G,U,g),oe++)}const Ls=Be?og(cn):un;for(J=Ls.length-1,d=ye-1;d>=0;d--){const He=k+d,_t=_[He],hc=_[He+1],mc=He+1<$?hc.el||Vi(hc):N;cn[d]===0?A(null,_t,m,mc,x,O,G,U,g):Be&&(J<0||d!==Ls[J]?de(_t,m,mc,2):J--)}}},de=(p,_,m,N,x=null)=>{const{el:O,type:G,transition:U,children:g,shapeFlag:d}=p;if(d&6){de(p.component.subTree,_,m,N);return}if(d&128){p.suspense.move(_,m,N);return}if(d&64){G.move(p,_,m,Ze);return}if(G===Ye){o(O,_,m);for(let w=0;wU.enter(O),x));else{const{leave:w,delayLeave:z,afterLeave:K}=U,k=()=>{p.ctx.isUnmounted?a(O):o(O,_,m)},P=()=>{const J=O._isLeaving||!!O[ka];O._isLeaving&&O[ka](!0),U.persisted&&!J?k():w(O,()=>{k(),K&&K()})};z?z(O,k,P):P()}else o(O,_,m)},fe=(p,_,m,N=!1,x=!1)=>{const{type:O,props:G,ref:U,children:g,dynamicChildren:d,shapeFlag:$,patchFlag:w,dirs:z,cacheIndex:K,memo:k}=p;if(w===-2&&(x=!1),U!=null&&(ct(),Bn(U,null,m,p,!0),ut()),K!=null&&(_.renderCache[K]=void 0),$&256){_.ctx.deactivate(p);return}const P=$&1&&z,J=!Kn(p);let oe;if(J&&(oe=G&&G.onVnodeBeforeUnmount)&&ht(oe,_,p),$&6)ln(p.component,m,N);else{if($&128){p.suspense.unmount(m,N);return}P&&en(p,null,_,"beforeUnmount"),$&64?p.type.remove(p,_,m,Ze,N):d&&!d.hasOnce&&(O!==Ye||w>0&&w&64)?it(d,_,m,!1,!0):(O===Ye&&w&384||!x&&$&16)&&it(g,_,m),N&&je(p)}const ye=k!=null&&K==null;(J&&(oe=G&&G.onVnodeUnmounted)||P||ye)&&Ke(()=>{oe&&ht(oe,_,p),P&&en(p,null,_,"unmounted"),ye&&(p.el=null)},m)},je=p=>{const{type:_,el:m,anchor:N,transition:x}=p;if(_===Ye){Yt(m,N);return}if(_===Ra){h(p);return}const O=()=>{a(m),x&&!x.persisted&&x.afterLeave&&x.afterLeave()};if(p.shapeFlag&1&&x&&!x.persisted){const{leave:G,delayLeave:U}=x,g=()=>G(m,O);U?U(p.el,O,g):g()}else O()},Yt=(p,_)=>{let m;for(;p!==_;)m=b(p),a(p),p=m;a(_)},ln=(p,_,m)=>{const{bum:N,scope:x,job:O,subTree:G,um:U,m:g,a:d}=p;Hi(g),Hi(d),N&&aa(N),x.stop(),O&&(O.flags|=8,fe(G,p,_,m)),U&&Ke(U,_),Ke(()=>{p.isUnmounted=!0},_)},it=(p,_,m,N=!1,x=!1,O=0)=>{for(let G=O;G{if(p.shapeFlag&6)return Rt(p.component.subTree);if(p.shapeFlag&128)return p.suspense.next();const _=b(p.anchor||p.el),m=_&&_[bu];return m?b(m):_};let Ft=!1;const Jt=(p,_,m)=>{let N;p==null?_._vnode&&(fe(_._vnode,null,null,!0),N=_._vnode.component):A(_._vnode||null,p,_,null,null,null,m),_._vnode=p,Ft||(Ft=!0,ui(N),gi(),Ft=!1)},Ze={p:A,um:fe,m:de,r:je,mt:Y,mc:F,pc:V,pbc:W,n:Rt,o:e};return{render:Jt,hydrate:void 0,createApp:Bu(Jt)}}function Da({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function on({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function ng(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function zi(e,t,n=!1){const o=e.children,a=t.children;if(Z(o)&&Z(a))for(let s=0;s>1,e[n[r]]0&&(t[o]=n[s-1]),n[s]=o)}}for(s=n.length,i=n[s-1];s-- >0;)n[s]=i,i=t[i];return n}function qi(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:qi(t)}function Hi(e){if(e)for(let t=0;te.__isSuspense;function ag(e,t){t&&t.pendingBranch?Z(e)?t.effects.push(...e):t.effects.push(e):uu(e)}const Ye=Symbol.for("v-fgt"),qn=Symbol.for("v-txt"),Tt=Symbol.for("v-cmt"),Ra=Symbol.for("v-stc"),an=[];let ze=null;function qe(e=!1){an.push(ze=e?null:[])}function Yi(){an.pop(),ze=an[an.length-1]||null}let Hn=1;function Ro(e,t=!1){Hn+=e,e<0&&ze&&t&&(ze.hasOnce=!0)}function Ji(e){return e.dynamicChildren=Hn>0?ze||un:null,Yi(),Hn>0&&ze&&ze.push(e),e}function $t(e,t,n,o,a,s){return Ji(Ee(e,t,n,o,a,s,!0))}function Fo(e,t,n,o,a){return Ji(Ne(e,t,n,o,a,!0))}function Oo(e){return e?e.__v_isVNode===!0:!1}function Vn(e,t){return e.type===t.type&&e.key===t.key}const Xi=({key:e})=>e??null,xo=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?Ae(e)||ve(e)||te(e)?{i:nt,r:e,k:t,f:!!n}:e:null);function Ee(e,t=null,n=null,o=0,a=null,s=e===Ye?0:1,i=!1,r=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Xi(t),ref:t&&xo(t),scopeId:fi,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:o,dynamicProps:a,dynamicChildren:null,appContext:null,ctx:nt};return r?(jo(l,n),s&128&&e.normalize(l)):n&&(l.shapeFlag|=Ae(n)?8:16),Hn>0&&!i&&ze&&(l.patchFlag>0||s&6)&&l.patchFlag!==32&&ze.push(l),l}const Ne=sg;function sg(e,t=null,n=null,o=0,a=null,s=!1){if((!e||e===Si)&&(e=Tt),Oo(e)){const r=mn(e,t,!0);return n&&jo(r,n),Hn>0&&!s&&ze&&(r.shapeFlag&6?ze[ze.indexOf(e)]=r:ze.push(r)),r.patchFlag=-2,r}if(bg(e)&&(e=e.__vccOpts),t){t=ig(t);let{class:r,style:l}=t;r&&!Ae(r)&&(t.class=Nn(r)),ce(l)&&(So(l)&&!Z(l)&&(l=ke({},l)),t.style=go(l))}const i=Ae(e)?1:Wi(e)?128:Lo(e)?64:ce(e)?4:te(e)?2:0;return Ee(e,t,n,o,a,i,s,!0)}function ig(e){return e?So(e)||Oi(e)?ke({},e):e:null}function mn(e,t,n=!1,o=!1){const{props:a,ref:s,patchFlag:i,children:r,transition:l}=e,c=t?rg(a||{},t):a,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Xi(c),ref:t&&t.ref?n&&s?Z(s)?s.concat(xo(t)):[s,xo(t)]:xo(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:r,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ye?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&mn(e.ssContent),ssFallback:e.ssFallback&&mn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&o&&Ta(u,l.clone(u)),u}function Et(e=" ",t=0){return Ne(qn,null,e,t)}function bn(e="",t=!1){return t?(qe(),Fo(Tt,null,e)):Ne(Tt,null,e)}function pt(e){return e==null||typeof e=="boolean"?Ne(Tt):Z(e)?Ne(Ye,null,e.slice()):Oo(e)?Lt(e):Ne(qn,null,String(e))}function Lt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:mn(e)}function jo(e,t){let n=0;const{shapeFlag:o}=e;if(t==null)t=null;else if(Z(t))n=16;else if(typeof t=="object")if(o&65){const a=t.default;a&&(a._c&&(a._d=!1),jo(e,a()),a._c&&(a._d=!0));return}else{n=32;const a=t._;!a&&!Oi(t)?t._ctx=nt:a===3&&nt&&(nt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(te(t)){if(o&65){jo(e,{default:t});return}t={default:t,_ctx:nt},n=32}else t=String(t),o&64?(n=16,t=[Et(t)]):n=8;e.children=t,e.shapeFlag|=n}function rg(...e){const t={};for(let n=0;nPe||nt;let Bo,Wn;{const e=uo(),t=(n,o)=>{let a;return(a=e[n])||(a=e[n]=[]),a.push(o),s=>{a.length>1?a.forEach(i=>i(s)):a[0](s)}};Bo=t("__VUE_INSTANCE_SETTERS__",n=>Pe=n),Wn=t("__VUE_SSR_SETTERS__",n=>_n=n)}const Yn=e=>{const t=Pe;return Bo(e),e.scope.on(),()=>{e.scope.off(),Bo(t)}},Zi=()=>{Pe&&Pe.scope.off(),Bo(null)};function Qi(e){return e.vnode.shapeFlag&4}let _n=!1;function gg(e,t=!1,n=!1){t&&Wn(t);const{props:o,children:a}=e.vnode,s=Qi(e);Wu(e,o,s,t),Zu(e,a,n||t);const i=s?dg(e,t):void 0;return t&&Wn(!1),i}function dg(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Mu);const{setup:o}=n;if(o){ct();const a=e.setupContext=o.length>1?pg(e):null,s=Yn(e),i=fn(o,e,0,[e.props,a]),r=ws(i);if(ut(),s(),(r||e.sp)&&!Kn(e)&&$a(e),r){if(i.then(Zi,Zi),t)return i.then(l=>{Wn(!0);try{er(e,l,t)}finally{Wn(!1)}}).catch(l=>{On(l,e,0)});e.asyncDep=i}else er(e,i)}else tr(e)}function er(e,t,n){te(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ce(t)&&(e.setupState=ii(t)),tr(e)}function tr(e,t,n){const o=e.type;e.render||(e.render=o.render||rt);{const a=Yn(e);ct();try{Du(e)}finally{ut(),a()}}}const fg={get(e,t){return De(e,"get",""),e[t]}};function pg(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,fg),slots:e.slots,emit:e.emit,expose:t}}function Fa(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(ii(Rn(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Gn)return Gn[n](e)},has(t,n){return n in t||n in Gn}})):e.proxy}const hg=/(?:^|[-_])\w/g,mg=e=>e.replace(hg,t=>t.toUpperCase()).replace(/[-_]/g,"");function nr(e,t=!0){return te(e)?e.displayName||e.name:e.name||t&&e.__name}function or(e,t,n=!1){let o=nr(t);if(!o&&t.__file){const a=t.__file.match(/([^/\\]+)\.\w+$/);a&&(o=a[1])}if(!o&&e){const a=s=>{for(const i in s)if(s[i]===t)return i};o=a(e.components)||e.parent&&a(e.parent.type.components)||a(e.appContext.components)}return o?mg(o):n?"App":"Anonymous"}function bg(e){return te(e)&&"__vccOpts"in e}const he=(e,t)=>tu(e,t,_n);function ar(e,t,n){try{Ro(-1);const o=arguments.length;return o===2?ce(t)&&!Z(t)?Oo(t)?Ne(e,null,[t]):Ne(e,t):Ne(e,null,t):(o>3?n=Array.prototype.slice.call(arguments,2):o===3&&Oo(n)&&(n=[n]),Ne(e,t,n))}finally{Ro(1)}}const _g="3.5.42";/** +`,...iu(a)),console.warn(...s)}ut(),ya=!1}function su(){let e=Fn[Fn.length-1];if(!e)return[];const t=[];for(;e;){const n=t[0];n&&n.vnode===e?n.recurseCount++:t.push({vnode:e,recurseCount:0});const o=e.component&&e.component.parent;e=o&&o.vnode}return t}function iu(e){const t=[];return e.forEach((n,o)=>{t.push(...o===0?[]:[` +`],...ru(n))}),t}function ru({vnode:e,recurseCount:t}){const n=t>0?`... (${t} recursive calls)`:"",o=e.component?e.component.parent==null:!1,a=` at <${ar(e.component,e.type,o)}`,s=">"+n;return e.props?[a,...lu(e.props),s]:[a+s]}function lu(e){const t=[],n=Object.keys(e);return n.slice(0,3).forEach(o=>{t.push(...li(o,e[o]))}),n.length>3&&t.push(" ..."),t}function li(e,t,n){return Ae(t)?(t=JSON.stringify(t),n?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?n?t:[`${e}=${t}`]:ve(t)?(t=li(e,ie(t.value),!0),n?t:[`${e}=Ref<`,t,">"]):te(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=ie(t),n?t:[`${e}=`,t])}function fn(e,t,n,o){try{return o?e(...o):e()}catch(a){On(a,t,n)}}function tt(e,t,n,o){if(te(e)){const a=fn(e,t,n,o);return a&&Ps(a)&&a.catch(s=>{On(s,t,n)}),a}if(Z(e)){const a=[];for(let s=0;s>>1,a=Re[o],s=xn(a);s=xn(n)?Re.push(e):Re.splice(uu(t),0,e),e.flags|=1,ui()}}function ui(){$o||($o=ci.then(fi))}function gu(e){if(!Z(e))jt&&e.id===-1?jt.splice(hn+1,0,e):e.flags&1||(pn.push(e),e.flags|=1);else for(let t=0;txn(n)-xn(o));if(pn.length=0,jt){for(let n=0;ne.id==null?e.flags&2?-1:1/0:e.id;function fi(e){try{for(dt=0;dt{o._d&&Ro(-1);const s=Eo(t),i=an.length;let r;try{r=e(...a)}finally{for(let l=an.length;l>i;l--)Ji();Eo(s),o._d&&Ro(1)}return r};return o._n=!0,o._c=!0,o._d=!0,o}function en(e,t,n,o){const a=e.dirs,s=t&&t.dirs;for(let i=0;i1)return n&&te(t)?t.call(o&&o.proxy):t}}function fu(){return!!(Ct()||nn)}const pu=Symbol.for("v-scx"),hu=()=>Fe(pu);function mu(e,t){return va(e,null,t)}function tn(e,t,n){return va(e,t,n)}function va(e,t,n=me){const{immediate:o,deep:a,flush:s,once:i}=n,r=ke({},n),l=t&&o||!t&&s!=="post";let c;if(_n){if(s==="sync"){const v=hu();c=v.__watcherHandles||(v.__watcherHandles=[])}else if(!l){const v=()=>{};return v.stop=rt,v.resume=rt,v.pause=rt,v}}const u=Pe;r.call=(v,E,A)=>tt(v,u,E,A);let f=!1;s==="post"?r.scheduler=v=>{Ke(v,u&&u.suspense)}:s!=="sync"&&(f=!0,r.scheduler=(v,E)=>{E?v():Sa(v)}),r.augmentJob=v=>{t&&(v.flags|=4),f&&(v.flags|=2,u&&(v.id=u.uid,v.i=u))};const b=au(e,t,r);return _n&&(c?c.push(b):l&&b()),b}function bu(e,t,n){const o=this.proxy,a=Ae(e)?e.includes(".")?hi(o,e):()=>o[e]:e.bind(o,o);let s;te(t)?s=t:(s=t.handler,n=t);const i=Yn(this),r=va(a,s.bind(o),n);return i(),r}function hi(e,t){const n=t.split(".");return()=>{let o=e;for(let a=0;ae.__isTeleport,ka=Symbol("_leaveCb");function yu(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==Tt){t=n;break}}return t}function mi(e){if(!wo(e))return Lo(e.type)&&e.children?yu(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&te(n.default))return n.default()}}function Ta(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;Ta(Lo(n.type)&&mi(n)||n,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function jn(e,t){return te(e)?ke({name:e.name},t,{setup:e}):e}function $a(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function bi(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const Co=new WeakMap;function Bn(e,t,n,o,a=!1){if(Z(e)){e.forEach((A,R)=>Bn(A,t&&(Z(t)?t[R]:t),n,o,a));return}if(Kn(o)&&!a){o.shapeFlag&512&&o.type.__asyncResolved&&o.component.subTree.component&&Bn(e,t,n,o.component.subTree);return}const s=o.shapeFlag&4?Fa(o.component):o.el,i=a?null:s,{i:r,r:l}=e,c=t&&t.r,u=r.refs===me?r.refs={}:r.refs,f=r.setupState,b=ie(f),v=f===me?Ns:A=>bi(u,A)?!1:le(b,A),E=(A,R)=>!(R&&bi(u,R));if(c!=null&&c!==l){if(_i(t),Ae(c))u[c]=null,v(c)&&(f[c]=null);else if(ve(c)){const A=t;E(c,A.k)&&(c.value=null),A.k&&(u[A.k]=null)}}if(te(l))fn(l,r,12,[i,u]);else{const A=Ae(l),R=ve(l);if(A||R){const M=()=>{if(e.f){const L=A?v(l)?f[l]:u[l]:E()||!e.k?l.value:u[e.k];if(a)Z(L)&&na(L,s);else if(Z(L))L.includes(s)||L.push(s);else if(A)u[l]=[s],v(l)&&(f[l]=u[l]);else{const y=[s];E(l,e.k)&&(l.value=y),e.k&&(u[e.k]=y)}}else A?(u[l]=i,v(l)&&(f[l]=i)):R&&(E(l,e.k)&&(l.value=i),e.k&&(u[e.k]=i))};if(i){const L=()=>{M(),Co.delete(e)};L.id=-1,Co.set(e,L),Ke(L,n)}else _i(e),M()}}}function _i(e){const t=Co.get(e);t&&(t.flags|=8,Co.delete(e))}const yi=e=>e.nodeType===8;uo().requestIdleCallback,uo().cancelIdleCallback;function Au(e,t){if(yi(e)&&e.data==="["){let n=1,o=e.nextSibling;for(;o;){if(o.nodeType===1){if(t(o)===!1)break}else if(yi(o))if(o.data==="]"){if(--n===0)break}else o.data==="["&&n++;o=o.nextSibling}}else t(e)}const Kn=e=>!!e.type.__asyncLoader;function Su(e){te(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:o,delay:a=200,hydrate:s,timeout:i,suspensible:r=!0,onError:l}=e;let c=null,u,f=0;const b=()=>(f++,c=null,v()),v=()=>{let E;return c||(E=c=t().catch(A=>{if(A=A instanceof Error?A:new Error(String(A)),l)return new Promise((R,M)=>{l(A,()=>R(b()),()=>M(A),f+1)});throw A}).then(A=>E!==c&&c?c:(A&&(A.__esModule||A[Symbol.toStringTag]==="Module")&&(A=A.default),u=A,A)))};return jn({name:"AsyncComponentWrapper",__asyncLoader:v,__asyncHydrate(E,A,R){const M=E.isConnected;let L=!1;(A.bu||(A.bu=[])).push(()=>L=!0);const y=()=>{L||!E.parentNode||M&&!E.isConnected||R()},h=s?()=>{const T=s(y,C=>Au(E,C));T&&(A.bum||(A.bum=[])).push(T)}:y;u?h():v().then(()=>!A.isUnmounted&&h())},get __asyncResolved(){return u},setup(){const E=Pe;if($a(E),u)return()=>No(u,E);const A=T=>{c=null,On(T,E,13,!o)};if(r&&E.suspense||_n)return v().then(T=>()=>No(T,E)).catch(T=>(A(T),()=>o?Ne(o,{error:T}):null));const R=pe(!1),M=pe(),L=pe(!!a);let y,h;return Io(()=>{y!=null&&clearTimeout(y),h!=null&&clearTimeout(h)}),a&&(h=setTimeout(()=>{E.isUnmounted||(L.value=!1)},a)),i!=null&&(y=setTimeout(()=>{if(!E.isUnmounted&&!R.value&&!M.value){const T=new Error(`Async component timed out after ${i}ms.`);A(T),M.value=T}},i)),v().then(()=>{E.isUnmounted||(R.value=!0,E.parent&&wo(E.parent.vnode)&&E.parent.update())}).catch(T=>{if(E.isUnmounted){c=null;return}A(T),M.value=T}),()=>{if(R.value&&u)return No(u,E);if(M.value&&o)return Ne(o,{error:M.value});if(n&&!L.value)return No(n,E)}}})}function No(e,t){const{ref:n,props:o,children:a,ce:s}=t.vnode,i=Ne(e,o,a);return i.ref=n,i.ce=s,delete t.vnode.ce,i}const wo=e=>e.type.__isKeepAlive;function vu(e,t){Ai(e,"a",t)}function ku(e,t){Ai(e,"da",t)}function Ai(e,t,n=Pe){const o=e.__wdc||(e.__wdc=()=>{let a=n;for(;a;){if(a.isDeactivated)return;a=a.parent}return e()});if(Po(t,o,n),n){let a=n.parent;for(;a&&a.parent;)wo(a.parent.vnode)&&Tu(o,t,n,a),a=a.parent}}function Tu(e,t,n,o){const a=Po(t,e,o,!0);Io(()=>{na(o[t],a)},n)}function Po(e,t,n=Pe,o=!1){if(n){const a=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...i)=>{ct();const r=Yn(n),l=tt(t,n,e,i);return r(),ut(),l});return o?a.unshift(s):a.push(s),s}}const kt=e=>(t,n=Pe)=>{(!_n||e==="sp")&&Po(e,(...o)=>t(...o),n)},Si=kt("bm"),Un=kt("m"),$u=kt("bu"),Eu=kt("u"),Ea=kt("bum"),Io=kt("um"),Lu=kt("sp"),Cu=kt("rtg"),Nu=kt("rtc");function wu(e,t=Pe){Po("ec",e,t)}const Pu="components",vi=Symbol.for("v-ndc");function ki(e){return Ae(e)?Iu(Pu,e,!1)||e:e||vi}function Iu(e,t,n=!0,o=!1){const a=nt||Pe;if(a){const s=a.type;{const r=or(s,!1);if(r&&(r===t||r===Ce(t)||r===co(Ce(t))))return s}const i=Ti(a[e]||s[e],t)||Ti(a.appContext[e],t);return!i&&o?s:i}}function Ti(e,t){return e&&(e[t]||e[Ce(t)]||e[co(Ce(t))])}function Mu(e,t,n,o){let a;const s=n,i=Z(e);if(i||Ae(e)){const r=i&&St(e);let l=!1,c=!1;r&&(l=!Ge(e),c=vt(e),e=ho(e)),a=new Array(e.length);for(let u=0,f=e.length;ut(r,l,void 0,s));else{const r=Object.keys(e);a=new Array(r.length);for(let l=0,c=r.length;le?er(e)?Fa(e):La(e.parent):null,Gn=ke(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>La(e.parent),$root:e=>La(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Ci(e),$forceUpdate:e=>e.f||(e.f=()=>{Sa(e.update)}),$nextTick:e=>e.n||(e.n=Aa.bind(e.proxy)),$watch:e=>bu.bind(e)}),Ca=(e,t)=>e!==me&&!e.__isScriptSetup&&le(e,t),Du={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:o,data:a,props:s,accessCache:i,type:r,appContext:l}=e;if(t[0]!=="$"){const b=i[t];if(b!==void 0)switch(b){case 1:return o[t];case 2:return a[t];case 4:return n[t];case 3:return s[t]}else{if(Ca(o,t))return i[t]=1,o[t];if(a!==me&&le(a,t))return i[t]=2,a[t];if(le(s,t))return i[t]=3,s[t];if(n!==me&&le(n,t))return i[t]=4,n[t];Na&&(i[t]=0)}}const c=Gn[t];let u,f;if(c)return t==="$attrs"&&De(e.attrs,"get",""),c(e);if((u=r.__cssModules)&&(u=u[t]))return u;if(n!==me&&le(n,t))return i[t]=4,n[t];if(f=l.config.globalProperties,le(f,t))return f[t]},set({_:e},t,n){const{data:o,setupState:a,ctx:s}=e;return Ca(a,t)?(a[t]=n,!0):o!==me&&le(o,t)?(o[t]=n,!0):le(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:o,appContext:a,props:s,type:i}},r){let l;return!!(n[r]||e!==me&&r[0]!=="$"&&le(e,r)||Ca(t,r)||le(s,r)||le(o,r)||le(Gn,r)||le(a.config.globalProperties,r)||(l=i.__cssModules)&&l[r])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:le(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function $i(e){return Z(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Na=!0;function Ru(e){const t=Ci(e),n=e.proxy,o=e.ctx;Na=!1,t.beforeCreate&&Ei(t.beforeCreate,e,"bc");const{data:a,computed:s,methods:i,watch:r,provide:l,inject:c,created:u,beforeMount:f,mounted:b,beforeUpdate:v,updated:E,activated:A,deactivated:R,beforeDestroy:M,beforeUnmount:L,destroyed:y,unmounted:h,render:T,renderTracked:C,renderTriggered:I,errorCaptured:F,serverPrefetch:S,expose:W,inheritAttrs:ae,components:H,directives:ee,filters:Y}=t;if(c&&Fu(c,o,null),i)for(const B in i){const V=i[B];te(V)&&(o[B]=V.bind(n))}if(a){const B=a.call(n,n);ce(B)&&(e.data=yo(B))}if(Na=!0,s)for(const B in s){const V=s[B],X=te(V)?V.bind(n,n):te(V.get)?V.get.bind(n,n):rt,ue=!te(V)&&te(V.set)?V.set.bind(n):rt,de=he({get:X,set:ue});Object.defineProperty(o,B,{enumerable:!0,configurable:!0,get:()=>de.value,set:fe=>de.value=fe})}if(r)for(const B in r)Li(r[B],o,n,B);if(l){const B=te(l)?l.call(n):l;Reflect.ownKeys(B).forEach(V=>{ft(V,B[V])})}u&&Ei(u,e,"c");function j(B,V){Z(V)?V.forEach(X=>B(X.bind(n))):V&&B(V.bind(n))}if(j(Si,f),j(Un,b),j($u,v),j(Eu,E),j(vu,A),j(ku,R),j(wu,F),j(Nu,C),j(Cu,I),j(Ea,L),j(Io,h),j(Lu,S),Z(W))if(W.length){const B=e.exposed||(e.exposed={});W.forEach(V=>{Object.defineProperty(B,V,{get:()=>n[V],set:X=>n[V]=X,enumerable:!0})})}else e.exposed||(e.exposed={});T&&e.render===rt&&(e.render=T),ae!=null&&(e.inheritAttrs=ae),H&&(e.components=H),ee&&(e.directives=ee),S&&$a(e)}function Fu(e,t,n=rt){Z(e)&&(e=wa(e));for(const o in e){const a=e[o];let s;ce(a)?"default"in a?s=Fe(a.from||o,a.default,!0):s=Fe(a.from||o):s=Fe(a),ve(s)?Object.defineProperty(t,o,{enumerable:!0,configurable:!0,get:()=>s.value,set:i=>s.value=i}):t[o]=s}}function Ei(e,t,n){tt(Z(e)?e.map(o=>o.bind(t.proxy)):e.bind(t.proxy),t,n)}function Li(e,t,n,o){let a=o.includes(".")?hi(n,o):()=>n[o];if(Ae(e)){const s=t[e];te(s)&&tn(a,s)}else if(te(e))tn(a,e.bind(n));else if(ce(e))if(Z(e))e.forEach(s=>Li(s,t,n,o));else{const s=te(e.handler)?e.handler.bind(n):t[e.handler];te(s)&&tn(a,s,e)}}function Ci(e){const t=e.type,{mixins:n,extends:o}=t,{mixins:a,optionsCache:s,config:{optionMergeStrategies:i}}=e.appContext,r=s.get(t);let l;return r?l=r:!a.length&&!n&&!o?l=t:(l={},a.length&&a.forEach(c=>Mo(l,c,i,!0)),Mo(l,t,i)),ce(t)&&s.set(t,l),l}function Mo(e,t,n,o=!1){const{mixins:a,extends:s}=t;s&&Mo(e,s,n,!0),a&&a.forEach(i=>Mo(e,i,n,!0));for(const i in t)if(!(o&&i==="expose")){const r=Ou[i]||n&&n[i];e[i]=r?r(e[i],t[i]):t[i]}return e}const Ou={data:Ni,props:wi,emits:wi,methods:zn,computed:zn,beforeCreate:Oe,created:Oe,beforeMount:Oe,mounted:Oe,beforeUpdate:Oe,updated:Oe,beforeDestroy:Oe,beforeUnmount:Oe,destroyed:Oe,unmounted:Oe,activated:Oe,deactivated:Oe,errorCaptured:Oe,serverPrefetch:Oe,components:zn,directives:zn,watch:ju,provide:Ni,inject:xu};function Ni(e,t){return t?e?function(){return ke(te(e)?e.call(this,this):e,te(t)?t.call(this,this):t)}:t:e}function xu(e,t){return zn(wa(e),wa(t))}function wa(e){if(Z(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Ce(t)}Modifiers`]||e[`${We(t)}Modifiers`];function Gu(e,t,...n){if(e.isUnmounted)return;const o=e.vnode.props||me;let a=n;const s=t.startsWith("update:"),i=s&&Uu(o,t.slice(7));i&&(i.trim&&(a=n.map(u=>Ae(u)?u.trim():u)),i.number&&(a=a.map(kc)));let r,l=o[r=oa(t)]||o[r=oa(Ce(t))];!l&&s&&(l=o[r=oa(We(t))]),l&&tt(l,e,6,a);const c=o[r+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[r])return;e.emitted[r]=!0,tt(c,e,6,a)}}const zu=new WeakMap;function Ii(e,t,n=!1){const o=n?zu:t.emitsCache,a=o.get(e);if(a!==void 0)return a;const s=e.emits;let i={},r=!1;if(!te(e)){const l=c=>{const u=Ii(c,t,!0);u&&(r=!0,ke(i,u))};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!s&&!r?(ce(e)&&o.set(e,null),null):(Z(s)?s.forEach(l=>i[l]=null):ke(i,s),ce(e)&&o.set(e,i),i)}function Do(e,t){return!e||!oo(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),le(e,t[0].toLowerCase()+t.slice(1))||le(e,We(t))||le(e,t))}function bb(){}function Mi(e){const{type:t,vnode:n,proxy:o,withProxy:a,propsOptions:[s],slots:i,attrs:r,emit:l,render:c,renderCache:u,props:f,data:b,setupState:v,ctx:E,inheritAttrs:A}=e,R=Eo(e);let M,L;try{if(n.shapeFlag&4){const h=a||o,T=h;M=pt(c.call(T,h,u,f,v,b,E)),L=r}else{const h=t;M=pt(h.length>1?h(f,{attrs:r,slots:i,emit:l}):h(f,null)),L=t.props?r:qu(r)}}catch(h){an.length=0,On(h,e,1),M=Ne(Tt)}let y=M;if(L&&A!==!1){const h=Object.keys(L),{shapeFlag:T}=y;h.length&&T&7&&(s&&h.some(ao)&&(L=Hu(L,s)),y=mn(y,L,!1,!0))}if(n.dirs&&(y=mn(y,null,!1,!0),y.dirs=y.dirs?y.dirs.concat(n.dirs):n.dirs),n.transition){const h=Lo(y.type)&&mi(y)||y;Ta(h,n.transition)}return M=y,Eo(R),M}const qu=e=>{let t;for(const n in e)(n==="class"||n==="style"||oo(n))&&((t||(t={}))[n]=e[n]);return t},Hu=(e,t)=>{const n={};for(const o in e)(!ao(o)||!(o.slice(9)in t))&&(n[o]=e[o]);return n};function Vu(e,t,n){const{props:o,children:a,component:s}=e,{props:i,children:r,patchFlag:l}=t,c=s.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&l>=0){if(l&1024)return!0;if(l&16)return o?Di(o,i,c):!!i;if(l&8){const u=t.dynamicProps;for(let f=0;fObject.create(Fi),xi=e=>Object.getPrototypeOf(e)===Fi;function Yu(e,t,n,o=!1){const a={},s=Oi();e.propsDefaults=Object.create(null),ji(e,t,a,s);for(const i in e.propsOptions[0])i in a||(a[i]=void 0);n?e.props=o?a:Yc(a):e.type.props?e.props=a:e.props=s,e.attrs=s}function Ju(e,t,n,o){const{props:a,attrs:s,vnode:{patchFlag:i}}=e,r=ie(a),[l]=e.propsOptions;let c=!1;if((o||i>0)&&!(i&16)){if(i&8){const u=e.vnode.dynamicProps;for(let f=0;f{l=!0;const[b,v]=Bi(f,t,!0);ke(i,b),v&&r.push(...v)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!s&&!l)return ce(e)&&o.set(e,un),un;if(Z(s))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",Ma=e=>Z(e)?e.map(pt):[pt(e)],Zu=(e,t,n)=>{if(t._n)return t;const o=du((...a)=>Ma(t(...a)),n);return o._c=!1,o},Ui=(e,t,n)=>{const o=e._ctx;for(const a in e){if(Ia(a))continue;const s=e[a];if(te(s))t[a]=Zu(a,s,o);else if(s!=null){const i=Ma(s);t[a]=()=>i}}},Gi=(e,t)=>{const n=Ma(t);e.slots.default=()=>n},zi=(e,t,n)=>{for(const o in t)(n||!Ia(o))&&(e[o]=t[o])},Qu=(e,t,n)=>{const o=e.slots=Oi();if(e.vnode.shapeFlag&32){const a=t._;a?(zi(o,t,n),n&&Ms(o,"_",a,!0)):Ui(t,o)}else t&&Gi(e,t)},eg=(e,t,n)=>{const{vnode:o,slots:a}=e;let s=!0,i=me;if(o.shapeFlag&32){const r=t._;r?n&&r===1?s=!1:zi(a,t,n):(s=!t.$stable,Ui(t,a)),i=t}else t&&(Gi(e,t),i={default:1});if(s)for(const r in a)!Ia(r)&&i[r]==null&&delete a[r]},Ke=sg;function tg(e){return ng(e)}function ng(e,t){const n=uo();n.__VUE__=!0;const{insert:o,remove:a,patchProp:s,createElement:i,createText:r,createComment:l,setText:c,setElementText:u,parentNode:f,nextSibling:b,setScopeId:v=rt,insertStaticContent:E}=e,A=(p,_,m,N=null,x=null,O=null,G=void 0,U=null,g=!!_.dynamicChildren)=>{if(p===_)return;p&&!Vn(p,_)&&(N=Rt(p),fe(p,x,O,!0),p=null),_.patchFlag===-2&&(g=!1,_.dynamicChildren=null);const{type:d,ref:$,shapeFlag:w}=_;switch(d){case qn:R(p,_,m,N);break;case Tt:M(p,_,m,N);break;case Ra:p==null&&L(_,m,N,G);break;case Ye:H(p,_,m,N,x,O,G,U,g);break;default:w&1?T(p,_,m,N,x,O,G,U,g):w&6?ee(p,_,m,N,x,O,G,U,g):(w&64||w&128)&&d.process(p,_,m,N,x,O,G,U,g,Ze)}$!=null&&x?Bn($,p&&p.ref,O,_||p,!_):$==null&&p&&p.ref!=null&&Bn(p.ref,null,O,p,!0)},R=(p,_,m,N)=>{if(p==null)o(_.el=r(_.children),m,N);else{const x=_.el=p.el;_.children!==p.children&&c(x,_.children)}},M=(p,_,m,N)=>{p==null?o(_.el=l(_.children||""),m,N):_.el=p.el},L=(p,_,m,N)=>{[p.el,p.anchor]=E(p.children,_,m,N,p.el,p.anchor)},y=({el:p,anchor:_},m,N)=>{let x;for(;p&&p!==_;)x=b(p),o(p,m,N),p=x;o(_,m,N)},h=({el:p,anchor:_})=>{let m;for(;p&&p!==_;)m=b(p),a(p),p=m;a(_)},T=(p,_,m,N,x,O,G,U,g)=>{if(_.type==="svg"?G="svg":_.type==="math"&&(G="mathml"),p==null)C(_,m,N,x,O,G,U,g);else{const d=p.el&&p.el._isVueCE?p.el:null;try{d&&d._beginPatch(),S(p,_,x,O,G,U,g)}finally{d&&d._endPatch()}}},C=(p,_,m,N,x,O,G,U)=>{let g,d;const{props:$,shapeFlag:w,transition:z,dirs:K}=p;if(g=p.el=i(p.type,O,$&&$.is,$),w&8?u(g,p.children):w&16&&F(p.children,g,null,N,x,Da(p,O),G,U),K&&en(p,null,N,"created"),I(g,p,p.scopeId,G,N),$){for(const P in $)P!=="value"&&!Cn(P)&&s(g,P,null,$[P],O,N);"value"in $&&s(g,"value",null,$.value,O),(d=$.onVnodeBeforeMount)&&ht(d,N,p)}K&&en(p,null,N,"beforeMount");const k=og(x,z);k&&z.beforeEnter(g),o(g,_,m),((d=$&&$.onVnodeMounted)||k||K)&&Ke(()=>{try{d&&ht(d,N,p),k&&z.enter(g),K&&en(p,null,N,"mounted")}finally{}},x)},I=(p,_,m,N,x)=>{if(m&&v(p,m),N)for(let O=0;O{for(let d=g;d{const U=_.el=p.el;let{patchFlag:g,dynamicChildren:d,dirs:$}=_;g|=p.patchFlag&16;const w=p.props||me,z=_.props||me;let K;if(m&&on(m,!1),(K=z.onVnodeBeforeUpdate)&&ht(K,m,_,p),$&&en(_,p,m,"beforeUpdate"),m&&on(m,!0),d&&(!p.dynamicChildren||p.dynamicChildren.length!==d.length)&&(g=0,G=!1,d=null),(w.innerHTML&&z.innerHTML==null||w.textContent&&z.textContent==null)&&u(U,""),d?W(p.dynamicChildren,d,U,m,N,Da(_,x),O):G||V(p,_,U,null,m,N,Da(_,x),O,!1),g>0){if(g&16)ae(U,w,z,m,x);else if(g&2&&w.class!==z.class&&s(U,"class",null,z.class,x),g&4&&s(U,"style",w.style,z.style,x),g&8){const k=_.dynamicProps;for(let P=0;P{K&&ht(K,m,_,p),$&&en(_,p,m,"updated")},N)},W=(p,_,m,N,x,O,G)=>{for(let U=0;U<_.length;U++){const g=p[U],d=_[U],$=g.el&&(g.type===Ye||!Vn(g,d)||g.shapeFlag&198)?f(g.el):m;A(g,d,$,null,N,x,O,G,!0)}},ae=(p,_,m,N,x)=>{if(_!==m){if(_!==me)for(const O in _)!Cn(O)&&!(O in m)&&s(p,O,_[O],null,x,N);for(const O in m){if(Cn(O))continue;const G=m[O],U=_[O];G!==U&&O!=="value"&&s(p,O,U,G,x,N)}"value"in m&&s(p,"value",_.value,m.value,x)}},H=(p,_,m,N,x,O,G,U,g)=>{const d=_.el=p?p.el:r(""),$=_.anchor=p?p.anchor:r("");let{patchFlag:w,dynamicChildren:z,slotScopeIds:K}=_;K&&(U=U?U.concat(K):K),p==null?(o(d,m,N),o($,m,N),F(_.children||[],m,$,x,O,G,U,g)):w>0&&w&64&&z&&p.dynamicChildren&&p.dynamicChildren.length===z.length?(W(p.dynamicChildren,z,m,x,O,G,U),(_.key!=null||x&&_===x.subTree)&&qi(p,_,!0)):V(p,_,m,$,x,O,G,U,g)},ee=(p,_,m,N,x,O,G,U,g)=>{_.slotScopeIds=U,p==null?_.shapeFlag&512?x.ctx.activate(_,m,N,G,g):Y(_,m,N,x,O,G,g):D(p,_,g)},Y=(p,_,m,N,x,O,G)=>{const U=p.component=gg(p,N,x);if(wo(p)&&(U.ctx.renderer=Ze),dg(U,!1,G),U.asyncDep){if(x&&x.registerDep(U,j,G),!p.el){const g=U.subTree=Ne(Tt);M(null,g,_,m),p.placeholder=g.el}}else j(U,p,_,m,x,O,G)},D=(p,_,m)=>{const N=_.component=p.component;if(Vu(p,_,m))if(N.asyncDep&&!N.asyncResolved){B(N,_,m);return}else N.next=_,N.update();else _.el=p.el,N.vnode=_},j=(p,_,m,N,x,O,G)=>{const U=()=>{if(p.isMounted){let{next:w,bu:z,u:K,parent:k,vnode:P}=p;{const Me=Hi(p);if(Me){w&&(w.el=P.el,B(p,w,G)),Me.asyncDep.then(()=>{Ke(()=>{p.isUnmounted||d()},x)});return}}let J=w,oe;on(p,!1),w?(w.el=P.el,B(p,w,G)):w=P,z&&aa(z),(oe=w.props&&w.props.onVnodeBeforeUpdate)&&ht(oe,k,w,P),on(p,!0);const ye=Mi(p),Be=p.subTree;p.subTree=ye,A(Be,ye,f(Be.el),Rt(Be),p,x,O),w.el=ye.el,J===null&&Wu(p,ye.el),K&&Ke(K,x),(oe=w.props&&w.props.onVnodeUpdated)&&Ke(()=>ht(oe,k,w,P),x)}else{let w;const{el:z,props:K}=_,{bm:k,m:P,parent:J,root:oe,type:ye}=p,Be=Kn(_);on(p,!1),k&&aa(k),!Be&&(w=K&&K.onVnodeBeforeMount)&&ht(w,J,_),on(p,!0);{oe.ce&&oe.ce._hasShadowRoot()&&oe.ce._injectChildStyle(ye,p.parent?p.parent.type:void 0);const Me=p.subTree=Mi(p);A(null,Me,m,N,p,x,O),_.el=Me.el}if(P&&Ke(P,x),!Be&&(w=K&&K.onVnodeMounted)){const Me=_;Ke(()=>ht(w,J,Me),x)}(_.shapeFlag&256||J&&Kn(J.vnode)&&J.vnode.shapeFlag&256)&&p.a&&Ke(p.a,x),p.isMounted=!0,_=m=N=null}};p.scope.on();const g=p.effect=new Us(U);p.scope.off();const d=p.update=g.run.bind(g),$=p.job=g.runIfDirty.bind(g);$.i=p,$.id=p.uid,g.scheduler=()=>Sa($),on(p,!0),d()},B=(p,_,m)=>{_.component=p;const N=p.vnode.props;p.vnode=_,p.next=null,Ju(p,_.props,N,m),eg(p,_.children,m),ct(),gi(p),ut()},V=(p,_,m,N,x,O,G,U,g=!1)=>{const d=p&&p.children,$=p?p.shapeFlag:0,w=_.children,{patchFlag:z,shapeFlag:K}=_;if(z>0){if(z&128){ue(d,w,m,N,x,O,G,U,g);return}else if(z&256){X(d,w,m,N,x,O,G,U,g);return}}K&8?($&16&&it(d,x,O),w!==d&&u(m,w)):$&16?K&16?ue(d,w,m,N,x,O,G,U,g):it(d,x,O,!0):($&8&&u(m,""),K&16&&F(w,m,N,x,O,G,U,g))},X=(p,_,m,N,x,O,G,U,g)=>{p=p||un,_=_||un;const d=p.length,$=_.length,w=Math.min(d,$);let z;for(z=0;z$?it(p,x,O,!0,!1,w):F(_,m,N,x,O,G,U,g,w)},ue=(p,_,m,N,x,O,G,U,g)=>{let d=0;const $=_.length;let w=p.length-1,z=$-1;for(;d<=w&&d<=z;){const K=p[d],k=_[d]=g?Lt(_[d]):pt(_[d]);if(Vn(K,k))A(K,k,m,null,x,O,G,U,g);else break;d++}for(;d<=w&&d<=z;){const K=p[w],k=_[z]=g?Lt(_[z]):pt(_[z]);if(Vn(K,k))A(K,k,m,null,x,O,G,U,g);else break;w--,z--}if(d>w){if(d<=z){const K=z+1,k=K<$?_[K].el:N;for(;d<=z;)A(null,_[d]=g?Lt(_[d]):pt(_[d]),m,k,x,O,G,U,g),d++}}else if(d>z)for(;d<=w;)fe(p[d],x,O,!0),d++;else{const K=d,k=d,P=new Map;for(d=k;d<=z;d++){const He=_[d]=g?Lt(_[d]):pt(_[d]);He.key!=null&&P.set(He.key,d)}let J,oe=0;const ye=z-k+1;let Be=!1,Me=0;const cn=new Array(ye);for(d=0;d=ye){fe(He,x,O,!0);continue}let _t;if(He.key!=null)_t=P.get(He.key);else for(J=k;J<=z;J++)if(cn[J-k]===0&&Vn(He,_[J])){_t=J;break}_t===void 0?fe(He,x,O,!0):(cn[_t-k]=d+1,_t>=Me?Me=_t:Be=!0,A(He,_[_t],m,null,x,O,G,U,g),oe++)}const Cs=Be?ag(cn):un;for(J=Cs.length-1,d=ye-1;d>=0;d--){const He=k+d,_t=_[He],mc=_[He+1],bc=He+1<$?mc.el||Wi(mc):N;cn[d]===0?A(null,_t,m,bc,x,O,G,U,g):Be&&(J<0||d!==Cs[J]?de(_t,m,bc,2):J--)}}},de=(p,_,m,N,x=null)=>{const{el:O,type:G,transition:U,children:g,shapeFlag:d}=p;if(d&6){de(p.component.subTree,_,m,N);return}if(d&128){p.suspense.move(_,m,N);return}if(d&64){G.move(p,_,m,Ze);return}if(G===Ye){o(O,_,m);for(let w=0;wU.enter(O),x));else{const{leave:w,delayLeave:z,afterLeave:K}=U,k=()=>{p.ctx.isUnmounted?a(O):o(O,_,m)},P=()=>{const J=O._isLeaving||!!O[ka];O._isLeaving&&O[ka](!0),U.persisted&&!J?k():w(O,()=>{k(),K&&K()})};z?z(O,k,P):P()}else o(O,_,m)},fe=(p,_,m,N=!1,x=!1)=>{const{type:O,props:G,ref:U,children:g,dynamicChildren:d,shapeFlag:$,patchFlag:w,dirs:z,cacheIndex:K,memo:k}=p;if(w===-2&&(x=!1),U!=null&&(ct(),Bn(U,null,m,p,!0),ut()),K!=null&&(_.renderCache[K]=void 0),$&256){_.ctx.deactivate(p);return}const P=$&1&&z,J=!Kn(p);let oe;if(J&&(oe=G&&G.onVnodeBeforeUnmount)&&ht(oe,_,p),$&6)ln(p.component,m,N);else{if($&128){p.suspense.unmount(m,N);return}P&&en(p,null,_,"beforeUnmount"),$&64?p.type.remove(p,_,m,Ze,N):d&&!d.hasOnce&&(O!==Ye||w>0&&w&64)?it(d,_,m,!1,!0):(O===Ye&&w&384||!x&&$&16)&&it(g,_,m),N&&je(p)}const ye=k!=null&&K==null;(J&&(oe=G&&G.onVnodeUnmounted)||P||ye)&&Ke(()=>{oe&&ht(oe,_,p),P&&en(p,null,_,"unmounted"),ye&&(p.el=null)},m)},je=p=>{const{type:_,el:m,anchor:N,transition:x}=p;if(_===Ye){Yt(m,N);return}if(_===Ra){h(p);return}const O=()=>{a(m),x&&!x.persisted&&x.afterLeave&&x.afterLeave()};if(p.shapeFlag&1&&x&&!x.persisted){const{leave:G,delayLeave:U}=x,g=()=>G(m,O);U?U(p.el,O,g):g()}else O()},Yt=(p,_)=>{let m;for(;p!==_;)m=b(p),a(p),p=m;a(_)},ln=(p,_,m)=>{const{bum:N,scope:x,job:O,subTree:G,um:U,m:g,a:d}=p;Vi(g),Vi(d),N&&aa(N),x.stop(),O&&(O.flags|=8,fe(G,p,_,m)),U&&Ke(U,_),Ke(()=>{p.isUnmounted=!0},_)},it=(p,_,m,N=!1,x=!1,O=0)=>{for(let G=O;G{if(p.shapeFlag&6)return Rt(p.component.subTree);if(p.shapeFlag&128)return p.suspense.next();const _=b(p.anchor||p.el),m=_&&_[_u];return m?b(m):_};let Ft=!1;const Jt=(p,_,m)=>{let N;p==null?_._vnode&&(fe(_._vnode,null,null,!0),N=_._vnode.component):A(_._vnode||null,p,_,null,null,null,m),_._vnode=p,Ft||(Ft=!0,gi(N),di(),Ft=!1)},Ze={p:A,um:fe,m:de,r:je,mt:Y,mc:F,pc:V,pbc:W,n:Rt,o:e};return{render:Jt,hydrate:void 0,createApp:Ku(Jt)}}function Da({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function on({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function og(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function qi(e,t,n=!1){const o=e.children,a=t.children;if(Z(o)&&Z(a))for(let s=0;s>1,e[n[r]]0&&(t[o]=n[s-1]),n[s]=o)}}for(s=n.length,i=n[s-1];s-- >0;)n[s]=i,i=t[i];return n}function Hi(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Hi(t)}function Vi(e){if(e)for(let t=0;te.__isSuspense;function sg(e,t){t&&t.pendingBranch?Z(e)?t.effects.push(...e):t.effects.push(e):gu(e)}const Ye=Symbol.for("v-fgt"),qn=Symbol.for("v-txt"),Tt=Symbol.for("v-cmt"),Ra=Symbol.for("v-stc"),an=[];let ze=null;function qe(e=!1){an.push(ze=e?null:[])}function Ji(){an.pop(),ze=an[an.length-1]||null}let Hn=1;function Ro(e,t=!1){Hn+=e,e<0&&ze&&t&&(ze.hasOnce=!0)}function Xi(e){return e.dynamicChildren=Hn>0?ze||un:null,Ji(),Hn>0&&ze&&ze.push(e),e}function $t(e,t,n,o,a,s){return Xi(Ee(e,t,n,o,a,s,!0))}function Fo(e,t,n,o,a){return Xi(Ne(e,t,n,o,a,!0))}function Oo(e){return e?e.__v_isVNode===!0:!1}function Vn(e,t){return e.type===t.type&&e.key===t.key}const Zi=({key:e})=>e??null,xo=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?Ae(e)||ve(e)||te(e)?{i:nt,r:e,k:t,f:!!n}:e:null);function Ee(e,t=null,n=null,o=0,a=null,s=e===Ye?0:1,i=!1,r=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Zi(t),ref:t&&xo(t),scopeId:pi,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:o,dynamicProps:a,dynamicChildren:null,appContext:null,ctx:nt};return r?(jo(l,n),s&128&&e.normalize(l)):n&&(l.shapeFlag|=Ae(n)?8:16),Hn>0&&!i&&ze&&(l.patchFlag>0||s&6)&&l.patchFlag!==32&&ze.push(l),l}const Ne=ig;function ig(e,t=null,n=null,o=0,a=null,s=!1){if((!e||e===vi)&&(e=Tt),Oo(e)){const r=mn(e,t,!0);return n&&jo(r,n),Hn>0&&!s&&ze&&(r.shapeFlag&6?ze[ze.indexOf(e)]=r:ze.push(r)),r.patchFlag=-2,r}if(_g(e)&&(e=e.__vccOpts),t){t=rg(t);let{class:r,style:l}=t;r&&!Ae(r)&&(t.class=Nn(r)),ce(l)&&(So(l)&&!Z(l)&&(l=ke({},l)),t.style=go(l))}const i=Ae(e)?1:Yi(e)?128:Lo(e)?64:ce(e)?4:te(e)?2:0;return Ee(e,t,n,o,a,i,s,!0)}function rg(e){return e?So(e)||xi(e)?ke({},e):e:null}function mn(e,t,n=!1,o=!1){const{props:a,ref:s,patchFlag:i,children:r,transition:l}=e,c=t?lg(a||{},t):a,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Zi(c),ref:t&&t.ref?n&&s?Z(s)?s.concat(xo(t)):[s,xo(t)]:xo(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:r,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ye?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&mn(e.ssContent),ssFallback:e.ssFallback&&mn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&o&&Ta(u,l.clone(u)),u}function Et(e=" ",t=0){return Ne(qn,null,e,t)}function bn(e="",t=!1){return t?(qe(),Fo(Tt,null,e)):Ne(Tt,null,e)}function pt(e){return e==null||typeof e=="boolean"?Ne(Tt):Z(e)?Ne(Ye,null,e.slice()):Oo(e)?Lt(e):Ne(qn,null,String(e))}function Lt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:mn(e)}function jo(e,t){let n=0;const{shapeFlag:o}=e;if(t==null)t=null;else if(Z(t))n=16;else if(typeof t=="object")if(o&65){const a=t.default;a&&(a._c&&(a._d=!1),jo(e,a()),a._c&&(a._d=!0));return}else{n=32;const a=t._;!a&&!xi(t)?t._ctx=nt:a===3&&nt&&(nt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(te(t)){if(o&65){jo(e,{default:t});return}t={default:t,_ctx:nt},n=32}else t=String(t),o&64?(n=16,t=[Et(t)]):n=8;e.children=t,e.shapeFlag|=n}function lg(...e){const t={};for(let n=0;nPe||nt;let Bo,Wn;{const e=uo(),t=(n,o)=>{let a;return(a=e[n])||(a=e[n]=[]),a.push(o),s=>{a.length>1?a.forEach(i=>i(s)):a[0](s)}};Bo=t("__VUE_INSTANCE_SETTERS__",n=>Pe=n),Wn=t("__VUE_SSR_SETTERS__",n=>_n=n)}const Yn=e=>{const t=Pe;return Bo(e),e.scope.on(),()=>{e.scope.off(),Bo(t)}},Qi=()=>{Pe&&Pe.scope.off(),Bo(null)};function er(e){return e.vnode.shapeFlag&4}let _n=!1;function dg(e,t=!1,n=!1){t&&Wn(t);const{props:o,children:a}=e.vnode,s=er(e);Yu(e,o,s,t),Qu(e,a,n||t);const i=s?fg(e,t):void 0;return t&&Wn(!1),i}function fg(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Du);const{setup:o}=n;if(o){ct();const a=e.setupContext=o.length>1?hg(e):null,s=Yn(e),i=fn(o,e,0,[e.props,a]),r=Ps(i);if(ut(),s(),(r||e.sp)&&!Kn(e)&&$a(e),r){if(i.then(Qi,Qi),t)return i.then(l=>{Wn(!0);try{tr(e,l,t)}finally{Wn(!1)}}).catch(l=>{On(l,e,0)});e.asyncDep=i}else tr(e,i)}else nr(e)}function tr(e,t,n){te(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ce(t)&&(e.setupState=ri(t)),nr(e)}function nr(e,t,n){const o=e.type;e.render||(e.render=o.render||rt);{const a=Yn(e);ct();try{Ru(e)}finally{ut(),a()}}}const pg={get(e,t){return De(e,"get",""),e[t]}};function hg(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,pg),slots:e.slots,emit:e.emit,expose:t}}function Fa(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(ri(Rn(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Gn)return Gn[n](e)},has(t,n){return n in t||n in Gn}})):e.proxy}const mg=/(?:^|[-_])\w/g,bg=e=>e.replace(mg,t=>t.toUpperCase()).replace(/[-_]/g,"");function or(e,t=!0){return te(e)?e.displayName||e.name:e.name||t&&e.__name}function ar(e,t,n=!1){let o=or(t);if(!o&&t.__file){const a=t.__file.match(/([^/\\]+)\.\w+$/);a&&(o=a[1])}if(!o&&e){const a=s=>{for(const i in s)if(s[i]===t)return i};o=a(e.components)||e.parent&&a(e.parent.type.components)||a(e.appContext.components)}return o?bg(o):n?"App":"Anonymous"}function _g(e){return te(e)&&"__vccOpts"in e}const he=(e,t)=>nu(e,t,_n);function sr(e,t,n){try{Ro(-1);const o=arguments.length;return o===2?ce(t)&&!Z(t)?Oo(t)?Ne(e,null,[t]):Ne(e,t):Ne(e,null,t):(o>3?n=Array.prototype.slice.call(arguments,2):o===3&&Oo(n)&&(n=[n]),Ne(e,t,n))}finally{Ro(1)}}const yg="3.5.42";/** * @vue/runtime-dom v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let Oa;const sr=typeof window<"u"&&window.trustedTypes;if(sr)try{Oa=sr.createPolicy("vue",{createHTML:e=>e})}catch{}const ir=Oa?e=>Oa.createHTML(e):e=>e,yg="http://www.w3.org/2000/svg",Ag="http://www.w3.org/1998/Math/MathML",Nt=typeof document<"u"?document:null,rr=Nt&&Nt.createElement("template"),Sg={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,o)=>{const a=t==="svg"?Nt.createElementNS(yg,e):t==="mathml"?Nt.createElementNS(Ag,e):n?Nt.createElement(e,{is:n}):Nt.createElement(e);return e==="select"&&o&&o.multiple!=null&&a.setAttribute("multiple",o.multiple),a},createText:e=>Nt.createTextNode(e),createComment:e=>Nt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Nt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,o,a,s){const i=n?n.previousSibling:t.lastChild;if(a&&(a===s||a.nextSibling))for(;t.insertBefore(a.cloneNode(!0),n),!(a===s||!(a=a.nextSibling)););else{rr.innerHTML=ir(o==="svg"?`${e}`:o==="mathml"?`${e}`:e);const r=rr.content;if(o==="svg"||o==="mathml"){const l=r.firstChild;for(;l.firstChild;)r.appendChild(l.firstChild);r.removeChild(l)}t.insertBefore(r,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},vg=Symbol("_vtc");function kg(e,t,n){const o=e[vg];o&&(t=(t?[t,...o]:[...o]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const lr=Symbol("_vod"),Tg=Symbol("_vsh"),$g=Symbol(""),Eg=/(?:^|;)\s*display\s*:/;function Lg(e,t,n){const o=e.style,a=Ae(n);let s=!1;if(n&&!a){if(t)if(Ae(t))for(const i of t.split(";")){const r=i.slice(0,i.indexOf(":")).trim();n[r]==null&&Jn(o,r,"")}else for(const i in t)n[i]==null&&Jn(o,i,"");for(const i in n){i==="display"&&(s=!0);const r=n[i];r!=null?Ng(e,i,!Ae(t)&&t?t[i]:void 0,r)||Jn(o,i,r):Jn(o,i,"")}}else if(a){if(t!==n){const i=o[$g];i&&(n+=";"+i),o.cssText=n,s=Eg.test(n)}}else t&&e.removeAttribute("style");lr in e&&(e[lr]=s?o.display:"",e[Tg]&&(o.display="none"))}const Ko=/\s*!important$/;function Jn(e,t,n){if(Z(n))n.forEach(o=>Jn(e,t,o));else if(n==null&&(n=""),t.startsWith("--"))Ko.test(n)?e.setProperty(t,n.replace(Ko,""),"important"):e.setProperty(t,n);else{const o=Cg(e,t);Ko.test(n)?e.setProperty(We(o),n.replace(Ko,""),"important"):e[o]=n}}const cr=["Webkit","Moz","ms"],xa={};function Cg(e,t){const n=xa[t];if(n)return n;let o=Ce(t);if(o!=="filter"&&o in e)return xa[t]=o;o=co(o);for(let a=0;aja||(Fg.then(()=>ja=0),ja=Date.now());function xg(e,t){const n=o=>{if(!o._vts)o._vts=Date.now();else if(o._vts<=n.attached)return;const a=n.value;if(Z(a)){const s=o.stopImmediatePropagation;o.stopImmediatePropagation=()=>{s.call(o),o._stopped=!0};const i=a.slice(),r=[o];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,jg=(e,t,n,o,a,s)=>{const i=a==="svg";t==="class"?kg(e,o,i):t==="style"?Lg(e,n,o):oo(t)?ao(t)||Ig(e,t,n,o,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Bg(e,t,o,i))?(dr(e,t,o),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&gr(e,t,o,i,s,t!=="value")):e._isVueCE&&(Kg(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!Ae(o)))?dr(e,Ce(t),o,s,t):(t==="true-value"?e._trueValue=o:t==="false-value"&&(e._falseValue=o),gr(e,t,o,i))};function Bg(e,t,n,o){if(o)return!!(t==="innerHTML"||t==="textContent"||t in e&&pr(t)&&te(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const a=e.tagName;if(a==="IMG"||a==="VIDEO"||a==="CANVAS"||a==="SOURCE")return!1}return pr(t)&&Ae(n)?!1:t in e}function Kg(e,t){const n=e._def.props;if(!n)return!1;const o=Ce(t);return Array.isArray(n)?n.some(a=>Ce(a)===o):Object.keys(n).some(a=>Ce(a)===o)}const hr={};function Ug(e,t,n){let o=jn(e,t);io(o)&&(o=ke({},o,t));class a extends Ba{constructor(i){super(o,i,n)}}return a.def=o,a}const Gg=typeof HTMLElement<"u"?HTMLElement:class{};class Ba extends Gg{constructor(t,n={},o=_r){super(),this._def=t,this._props=n,this._createApp=o,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._patching=!1,this._dirty=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._styleAnchors=new WeakMap,this._ob=null,this.shadowRoot&&o!==_r?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(ke({},t.shadowRootOptions,{mode:"open"})),this._root=this.shadowRoot):this._root=this}connectedCallback(){if(!this.isConnected)return;!this.shadowRoot&&!this._resolved&&this._parseSlots(),this._connected=!0;let t=this;for(;t=t&&(t.assignedSlot||t.parentNode||t.host);)if(t instanceof Ba){this._parent=t;break}this._instance||(this._resolved?this._mount(this._def):t&&t._pendingResolve?this._pendingResolve=t._pendingResolve.then(()=>{if(this._pendingResolve=void 0,this.isConnected)return this._resolveDef()}):this._resolveDef())}_setParent(t=this._parent){t&&(this._instance.parent=t._instance,this._inheritParentContext(t))}_inheritParentContext(t=this._parent){t&&this._app&&Object.setPrototypeOf(this._app._context.provides,t._instance.provides)}disconnectedCallback(){this._connected=!1,Aa(()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null,this._teleportTargets&&(this._teleportTargets.clear(),this._teleportTargets=void 0))})}_processMutations(t){for(const n of t)this._setAttr(n.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let o=0;o{this._resolved=!0,this._pendingResolve=void 0;const{props:s,styles:i}=o;let r;if(s&&!Z(s))for(const l in s){const c=s[l];(c===Number||c&&c.type===Number)&&(l in this._props&&(this._props[l]=Ms(this._props[l])),(r||(r=Object.create(null)))[Ce(l)]=!0)}this._numberProps=r,this._resolveProps(o),this.shadowRoot&&this._applyStyles(i),this._mount(o)},n=this._def.__asyncLoader;if(n)return this._pendingResolve=n().then(o=>{o.configureApp=this._def.configureApp,t(this._def=o,!0)}),this._pendingResolve;t(this._def)}_mount(t){this._app=this._createApp(t),this._inheritParentContext(),t.configureApp&&t.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const n=this._instance&&this._instance.exposed;if(n)for(const o in n)le(this,o)||Object.defineProperty(this,o,{get:()=>vo(n[o])})}_resolveProps(t){const{props:n}=t,o=Z(n)?n:Object.keys(n||{});for(const a of Object.keys(this))a[0]!=="_"&&o.includes(a)&&this._setProp(a,this[a]);for(const a of o.map(Ce))Object.defineProperty(this,a,{get(){return this._getProp(a)},set(s){this._setProp(a,s,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const n=this.hasAttribute(t);let o=n?this.getAttribute(t):hr;const a=Ce(t);n&&this._numberProps&&this._numberProps[a]&&(o=Ms(o)),this._setProp(a,o,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,n,o=!0,a=!1){if(n!==this._props[t]&&(this._dirty=!0,n===hr?delete this._props[t]:(this._props[t]=n,t==="key"&&this._app&&(this._app._ceVNode.key=n)),a&&this._instance&&this._update(),o)){const s=this._ob;s&&(this._processMutations(s.takeRecords()),s.disconnect()),n===!0?this.setAttribute(We(t),""):typeof n=="string"||typeof n=="number"?this.setAttribute(We(t),n+""):n||this.removeAttribute(We(t)),s&&s.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),qg(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const n=Ne(this._def,ke(t,this._props));return this._instance||(n.ce=o=>{this._instance=o,o.ce=this,o.isCE=!0;const a=(s,i)=>{this.dispatchEvent(new CustomEvent(s,io(i[0])?ke({detail:i},i[0]):{detail:i}))};o.emit=(s,...i)=>{a(s,i),We(s)!==s&&a(We(s),i)},this._setParent()}),n}_applyStyles(t,n,o){if(!t)return;if(n){if(n===this._def||this._styleChildren.has(n))return;this._styleChildren.add(n)}const a=this._nonce,s=this.shadowRoot,i=o?this._getStyleAnchor(o)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(s);let r=null;for(let l=t.length-1;l>=0;l--){const c=document.createElement("style");a&&c.setAttribute("nonce",a),c.textContent=t[l],s.insertBefore(c,r||i),r=c,l===0&&(o||this._styleAnchors.set(this._def,c),n&&this._styleAnchors.set(n,c))}}_getStyleAnchor(t){if(!t)return null;const n=this._styleAnchors.get(t);return n&&n.parentNode===this.shadowRoot?n:(n&&this._styleAnchors.delete(t),null)}_getRootStyleInsertionAnchor(t){for(let n=0;n{br().render(...e)},_r=(...e)=>{const t=br().createApp(...e),{mount:n}=t;return t.mount=o=>{const a=Vg(o);if(!a)return;const s=t._component;!te(s)&&!s.render&&!s.template&&(s.template=a.innerHTML),a.nodeType===1&&(a.textContent="");const i=n(a,!1,Hg(a));return a instanceof Element&&(a.removeAttribute("v-cloak"),a.setAttribute("data-v-app","")),i},t};function Hg(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Vg(e){return Ae(e)?document.querySelector(e):e}/*! +**/let Oa;const ir=typeof window<"u"&&window.trustedTypes;if(ir)try{Oa=ir.createPolicy("vue",{createHTML:e=>e})}catch{}const rr=Oa?e=>Oa.createHTML(e):e=>e,Ag="http://www.w3.org/2000/svg",Sg="http://www.w3.org/1998/Math/MathML",Nt=typeof document<"u"?document:null,lr=Nt&&Nt.createElement("template"),vg={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,o)=>{const a=t==="svg"?Nt.createElementNS(Ag,e):t==="mathml"?Nt.createElementNS(Sg,e):n?Nt.createElement(e,{is:n}):Nt.createElement(e);return e==="select"&&o&&o.multiple!=null&&a.setAttribute("multiple",o.multiple),a},createText:e=>Nt.createTextNode(e),createComment:e=>Nt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Nt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,o,a,s){const i=n?n.previousSibling:t.lastChild;if(a&&(a===s||a.nextSibling))for(;t.insertBefore(a.cloneNode(!0),n),!(a===s||!(a=a.nextSibling)););else{lr.innerHTML=rr(o==="svg"?`${e}`:o==="mathml"?`${e}`:e);const r=lr.content;if(o==="svg"||o==="mathml"){const l=r.firstChild;for(;l.firstChild;)r.appendChild(l.firstChild);r.removeChild(l)}t.insertBefore(r,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},kg=Symbol("_vtc");function Tg(e,t,n){const o=e[kg];o&&(t=(t?[t,...o]:[...o]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const cr=Symbol("_vod"),$g=Symbol("_vsh"),Eg=Symbol(""),Lg=/(?:^|;)\s*display\s*:/;function Cg(e,t,n){const o=e.style,a=Ae(n);let s=!1;if(n&&!a){if(t)if(Ae(t))for(const i of t.split(";")){const r=i.slice(0,i.indexOf(":")).trim();n[r]==null&&Jn(o,r,"")}else for(const i in t)n[i]==null&&Jn(o,i,"");for(const i in n){i==="display"&&(s=!0);const r=n[i];r!=null?wg(e,i,!Ae(t)&&t?t[i]:void 0,r)||Jn(o,i,r):Jn(o,i,"")}}else if(a){if(t!==n){const i=o[Eg];i&&(n+=";"+i),o.cssText=n,s=Lg.test(n)}}else t&&e.removeAttribute("style");cr in e&&(e[cr]=s?o.display:"",e[$g]&&(o.display="none"))}const Ko=/\s*!important$/;function Jn(e,t,n){if(Z(n))n.forEach(o=>Jn(e,t,o));else if(n==null&&(n=""),t.startsWith("--"))Ko.test(n)?e.setProperty(t,n.replace(Ko,""),"important"):e.setProperty(t,n);else{const o=Ng(e,t);Ko.test(n)?e.setProperty(We(o),n.replace(Ko,""),"important"):e[o]=n}}const ur=["Webkit","Moz","ms"],xa={};function Ng(e,t){const n=xa[t];if(n)return n;let o=Ce(t);if(o!=="filter"&&o in e)return xa[t]=o;o=co(o);for(let a=0;aja||(Og.then(()=>ja=0),ja=Date.now());function jg(e,t){const n=o=>{if(!o._vts)o._vts=Date.now();else if(o._vts<=n.attached)return;const a=n.value;if(Z(a)){const s=o.stopImmediatePropagation;o.stopImmediatePropagation=()=>{s.call(o),o._stopped=!0};const i=a.slice(),r=[o];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Bg=(e,t,n,o,a,s)=>{const i=a==="svg";t==="class"?Tg(e,o,i):t==="style"?Cg(e,n,o):oo(t)?ao(t)||Mg(e,t,n,o,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Kg(e,t,o,i))?(fr(e,t,o),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&dr(e,t,o,i,s,t!=="value")):e._isVueCE&&(Ug(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!Ae(o)))?fr(e,Ce(t),o,s,t):(t==="true-value"?e._trueValue=o:t==="false-value"&&(e._falseValue=o),dr(e,t,o,i))};function Kg(e,t,n,o){if(o)return!!(t==="innerHTML"||t==="textContent"||t in e&&hr(t)&&te(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const a=e.tagName;if(a==="IMG"||a==="VIDEO"||a==="CANVAS"||a==="SOURCE")return!1}return hr(t)&&Ae(n)?!1:t in e}function Ug(e,t){const n=e._def.props;if(!n)return!1;const o=Ce(t);return Array.isArray(n)?n.some(a=>Ce(a)===o):Object.keys(n).some(a=>Ce(a)===o)}const mr={};function Gg(e,t,n){let o=jn(e,t);io(o)&&(o=ke({},o,t));class a extends Ba{constructor(i){super(o,i,n)}}return a.def=o,a}const zg=typeof HTMLElement<"u"?HTMLElement:class{};class Ba extends zg{constructor(t,n={},o=yr){super(),this._def=t,this._props=n,this._createApp=o,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._patching=!1,this._dirty=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._styleAnchors=new WeakMap,this._ob=null,this.shadowRoot&&o!==yr?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(ke({},t.shadowRootOptions,{mode:"open"})),this._root=this.shadowRoot):this._root=this}connectedCallback(){if(!this.isConnected)return;!this.shadowRoot&&!this._resolved&&this._parseSlots(),this._connected=!0;let t=this;for(;t=t&&(t.assignedSlot||t.parentNode||t.host);)if(t instanceof Ba){this._parent=t;break}this._instance||(this._resolved?this._mount(this._def):t&&t._pendingResolve?this._pendingResolve=t._pendingResolve.then(()=>{if(this._pendingResolve=void 0,this.isConnected)return this._resolveDef()}):this._resolveDef())}_setParent(t=this._parent){t&&(this._instance.parent=t._instance,this._inheritParentContext(t))}_inheritParentContext(t=this._parent){t&&this._app&&Object.setPrototypeOf(this._app._context.provides,t._instance.provides)}disconnectedCallback(){this._connected=!1,Aa(()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null,this._teleportTargets&&(this._teleportTargets.clear(),this._teleportTargets=void 0))})}_processMutations(t){for(const n of t)this._setAttr(n.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let o=0;o{this._resolved=!0,this._pendingResolve=void 0;const{props:s,styles:i}=o;let r;if(s&&!Z(s))for(const l in s){const c=s[l];(c===Number||c&&c.type===Number)&&(l in this._props&&(this._props[l]=Ds(this._props[l])),(r||(r=Object.create(null)))[Ce(l)]=!0)}this._numberProps=r,this._resolveProps(o),this.shadowRoot&&this._applyStyles(i),this._mount(o)},n=this._def.__asyncLoader;if(n)return this._pendingResolve=n().then(o=>{o.configureApp=this._def.configureApp,t(this._def=o,!0)}),this._pendingResolve;t(this._def)}_mount(t){this._app=this._createApp(t),this._inheritParentContext(),t.configureApp&&t.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const n=this._instance&&this._instance.exposed;if(n)for(const o in n)le(this,o)||Object.defineProperty(this,o,{get:()=>vo(n[o])})}_resolveProps(t){const{props:n}=t,o=Z(n)?n:Object.keys(n||{});for(const a of Object.keys(this))a[0]!=="_"&&o.includes(a)&&this._setProp(a,this[a]);for(const a of o.map(Ce))Object.defineProperty(this,a,{get(){return this._getProp(a)},set(s){this._setProp(a,s,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const n=this.hasAttribute(t);let o=n?this.getAttribute(t):mr;const a=Ce(t);n&&this._numberProps&&this._numberProps[a]&&(o=Ds(o)),this._setProp(a,o,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,n,o=!0,a=!1){if(n!==this._props[t]&&(this._dirty=!0,n===mr?delete this._props[t]:(this._props[t]=n,t==="key"&&this._app&&(this._app._ceVNode.key=n)),a&&this._instance&&this._update(),o)){const s=this._ob;s&&(this._processMutations(s.takeRecords()),s.disconnect()),n===!0?this.setAttribute(We(t),""):typeof n=="string"||typeof n=="number"?this.setAttribute(We(t),n+""):n||this.removeAttribute(We(t)),s&&s.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),Hg(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const n=Ne(this._def,ke(t,this._props));return this._instance||(n.ce=o=>{this._instance=o,o.ce=this,o.isCE=!0;const a=(s,i)=>{this.dispatchEvent(new CustomEvent(s,io(i[0])?ke({detail:i},i[0]):{detail:i}))};o.emit=(s,...i)=>{a(s,i),We(s)!==s&&a(We(s),i)},this._setParent()}),n}_applyStyles(t,n,o){if(!t)return;if(n){if(n===this._def||this._styleChildren.has(n))return;this._styleChildren.add(n)}const a=this._nonce,s=this.shadowRoot,i=o?this._getStyleAnchor(o)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(s);let r=null;for(let l=t.length-1;l>=0;l--){const c=document.createElement("style");a&&c.setAttribute("nonce",a),c.textContent=t[l],s.insertBefore(c,r||i),r=c,l===0&&(o||this._styleAnchors.set(this._def,c),n&&this._styleAnchors.set(n,c))}}_getStyleAnchor(t){if(!t)return null;const n=this._styleAnchors.get(t);return n&&n.parentNode===this.shadowRoot?n:(n&&this._styleAnchors.delete(t),null)}_getRootStyleInsertionAnchor(t){for(let n=0;n{_r().render(...e)},yr=(...e)=>{const t=_r().createApp(...e),{mount:n}=t;return t.mount=o=>{const a=Wg(o);if(!a)return;const s=t._component;!te(s)&&!s.render&&!s.template&&(s.template=a.innerHTML),a.nodeType===1&&(a.textContent="");const i=n(a,!1,Vg(a));return a instanceof Element&&(a.removeAttribute("v-cloak"),a.setAttribute("data-v-app","")),i},t};function Vg(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Wg(e){return Ae(e)?document.querySelector(e):e}/*! * pinia v2.3.1 * (c) 2025 Eduardo San Martin Morote * @license MIT - */let yr;const Uo=e=>yr=e,Ar=Symbol();function Ka(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Xn;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Xn||(Xn={}));function Wg(){const e=ia(!0),t=e.run(()=>pe({}));let n=[],o=[];const a=Rn({install(s){Uo(a),a._a=s,s.provide(Ar,a),s.config.globalProperties.$pinia=a,o.forEach(i=>n.push(i)),o=[]},use(s){return this._a?n.push(s):o.push(s),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return a}const Sr=()=>{};function vr(e,t,n,o=Sr){e.push(t);const a=()=>{const s=e.indexOf(t);s>-1&&(e.splice(s,1),o())};return!n&&Bs()&&Nc(a),a}function yn(e,...t){e.slice().forEach(n=>{n(...t)})}const Yg=e=>e(),kr=Symbol(),Ua=Symbol();function Ga(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,o)=>e.set(o,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const o=t[n],a=e[n];Ka(a)&&Ka(o)&&e.hasOwnProperty(n)&&!ve(o)&&!St(o)?e[n]=Ga(a,o):e[n]=o}return e}const Jg=Symbol();function Xg(e){return!Ka(e)||!e.hasOwnProperty(Jg)}const{assign:Bt}=Object;function Zg(e){return!!(ve(e)&&e.effect)}function Qg(e,t,n,o){const{state:a,actions:s,getters:i}=t,r=n.state.value[e];let l;function c(){r||(n.state.value[e]=a?a():{});const u=Xc(n.state.value[e]);return Bt(u,s,Object.keys(i||{}).reduce((f,b)=>(f[b]=Rn(he(()=>{Uo(n);const v=n._s.get(e);return i[b].call(v,v)})),f),{}))}return l=Tr(e,c,t,n,o,!0),l}function Tr(e,t,n={},o,a,s){let i;const r=Bt({actions:{}},n),l={deep:!0};let c,u,f=[],b=[],v;const E=o.state.value[e];!s&&!E&&(o.state.value[e]={});let A;function R(F){let S;c=u=!1,typeof F=="function"?(F(o.state.value[e]),S={type:Xn.patchFunction,storeId:e,events:v}):(Ga(o.state.value[e],F),S={type:Xn.patchObject,payload:F,storeId:e,events:v});const W=A=Symbol();Aa().then(()=>{A===W&&(c=!0)}),u=!0,yn(f,S,o.state.value[e])}const M=s?function(){const{state:S}=n,W=S?S():{};this.$patch(ae=>{Bt(ae,W)})}:Sr;function L(){i.stop(),f=[],b=[],o._s.delete(e)}const y=(F,S="")=>{if(kr in F)return F[Ua]=S,F;const W=function(){Uo(o);const ae=Array.from(arguments),H=[],ee=[];function Y(B){H.push(B)}function D(B){ee.push(B)}yn(b,{args:ae,name:W[Ua],store:T,after:Y,onError:D});let j;try{j=F.apply(this&&this.$id===e?this:T,ae)}catch(B){throw yn(ee,B),B}return j instanceof Promise?j.then(B=>(yn(H,B),B)).catch(B=>(yn(ee,B),Promise.reject(B))):(yn(H,j),j)};return W[kr]=!0,W[Ua]=S,W},h={_p:o,$id:e,$onAction:vr.bind(null,b),$patch:R,$reset:M,$subscribe(F,S={}){const W=vr(f,F,S.detached,()=>ae()),ae=i.run(()=>tn(()=>o.state.value[e],H=>{(S.flush==="sync"?u:c)&&F({storeId:e,type:Xn.direct,events:v},H)},Bt({},l,S)));return W},$dispose:L},T=yo(h);o._s.set(e,T);const I=(o._a&&o._a.runWithContext||Yg)(()=>o._e.run(()=>(i=ia()).run(()=>t({action:y}))));for(const F in I){const S=I[F];if(ve(S)&&!Zg(S)||St(S))s||(E&&Xg(S)&&(ve(S)?S.value=E[F]:Ga(S,E[F])),o.state.value[e][F]=S);else if(typeof S=="function"){const W=y(S,F);I[F]=W,r.actions[F]=S}}return Bt(T,I),Bt(ie(T),I),Object.defineProperty(T,"$state",{get:()=>o.state.value[e],set:F=>{R(S=>{Bt(S,F)})}}),o._p.forEach(F=>{Bt(T,i.run(()=>F({store:T,app:o._a,pinia:o,options:r})))}),E&&s&&n.hydrate&&n.hydrate(T.$state,E),c=!0,u=!0,T}/*! #__NO_SIDE_EFFECTS__ */function za(e,t,n){let o,a;const s=typeof t=="function";typeof e=="string"?(o=e,a=s?n:t):(a=e,o=e.id);function i(r,l){const c=du();return r=r||(c?Fe(Ar,null):null),r&&Uo(r),r=yr,r._s.has(o)||(s?Tr(o,t,a,r):Qg(o,a,r)),r._s.get(o)}return i.$id=o,i}const ed={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},td={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},nd={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},od={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب"},prayer:{needsPrayer:"يحتاج إلى صلاة",hasPrayer:"لديه صلاة",fullPrayerCoverage:"تغطية صلاة كاملة"},progress:{title:"التقدم",covered:"{covered} من {total} مجموعة شعبية مغطاة بالصلاة · {pct}%",short:"{covered} من {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"يحتاج إلى انخراط",hasEngagement:"لديه انخراط"},adoption:{needsAdoption:"يحتاج إلى تبني",hasAdoption:"لديه تبني"},columns:{upgs:"UUPGs",population:"السكان",name:"الاسم"},footer:{total:"الإجمالي"},sortByUpgs:"ترتيب حسب UUPG",sortByPop:"ترتيب حسب السكان",colLabel:{religion:"ديانات UUPG",prayer:"حالة الصلاة",engagement:"حالة المشاركة",adoption:"حالة التبني",status:"الحالة"},titleBar:{legend:"مفتاح الخريطة",peopleGroups:"الشعوب",wagfRegions:"مناطق WAGF",languages:"اللغات"}},ad={menuComingSoon:"القائمة قادمة قريباً"},sd={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},id={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},rd={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"}},ld={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة"},cd={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},ud={prayForThem:"Für sie beten",adoptThem:"Sie adoptieren",moreInfo:"Mehr Infos",zoomIn:"Vergrößern",zoomOut:"Verkleinern",switchToLightMode:"Zum hellen Modus wechseln",switchToDarkMode:"Zum dunklen Modus wechseln",resetView:"Ansicht zurücksetzen",toggleFullscreen:"Vollbild umschalten",aboutThisMap:"Über diese Karte",closeMenu:"Menü schließen",reloadMap:"Karte neu laden",showClusters:"Cluster anzeigen",clusterSettings:"Cluster-Einstellungen",startAutoFly:"Auto-Flug starten",stopFlight:"Flug stoppen",speedLabel:"Geschwindigkeit:",speedOption:{slow:"Langsam",normal:"Normal",fast:"Schnell"},shareEmbed:"Teilen und einbetten"},gd={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},dd={title:{prayer:"Gebetsfortschritt",engagement:"Engagement-Fortschritt",adoption:"Adoptionsfortschritt",languageFamilies:"Sprachfamilien",doxaRegions:"Doxa-Regionen",affinityBlocs:"Affinitätsblöcke",gospelResources:"Evangeliumsressourcen"},header:{collapsed:"Legende",peopleGroupFallback:"Volksgruppe"},prayer:{needsPrayer:"Braucht Gebet",hasPrayer:"Hat Gebet",fullPrayerCoverage:"Vollständige Gebetsabdeckung"},progress:{title:"Fortschritt",covered:"{covered} von {total} Volksgruppen im Gebet abgedeckt · {pct}%",short:"{covered} von {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Braucht Engagement",hasEngagement:"Hat Engagement"},adoption:{needsAdoption:"Braucht Adoption",hasAdoption:"Hat Adoption"},columns:{upgs:"UUPGs",population:"Bevölkerung"},footer:{total:"Gesamt"}},fd={menuComingSoon:"Menü folgt in Kürze"},pd={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},hd={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},md={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"}},bd={prayer:"Gebet",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"Volksgruppen",regions:"Regionen",countries:"Länder","language-families":"Sprachen",religion:"Religionen",family:"Sprachfamilie",language:"Sprache",dialect:"Dialekt/Varietät",bloc:"Affinitätsblock",cluster:"Cluster",group:"Volksgruppe",pgic:"Volksgruppe im Land",region:"WAGF-Region",block:"WAGF-Block",country:"Land"},_d={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},yd={prayForThem:"Pray for them",adoptThem:"Adopt",moreInfo:"More info",zoomIn:"Zoom in",zoomOut:"Zoom out",switchToLightMode:"Switch to light mode",switchToDarkMode:"Switch to dark mode",resetView:"Reset view",toggleFullscreen:"Toggle fullscreen",aboutThisMap:"About this map",closeMenu:"Close menu",reloadMap:"Reload Map",showClusters:"Show Clusters",clusterSettings:"Cluster Settings",startAutoFly:"Start Auto Fly",stopFlight:"Stop Flight",speedLabel:"Speed:",speedOption:{slow:"Slow",normal:"Normal",fast:"Fast"},shareEmbed:"Share & embed",shareSteps:["Embed this map on your site","Create a list of the websites in your city","Train them to embed it too","Train them to train others to embed it too","Multiply maps everywhere for Jesus!"],share:"Share"},Ad={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},Sd={title:{prayer:"Prayer Progress",engagement:"Engagement Progress",adoption:"Adoption Progress",languageFamilies:"Language Families",doxaRegions:"Doxa Regions",affinityBlocs:"Affinity Blocks",gospelResources:"Gospel Resources"},header:{default:"Legend",collapsed:"Legend",peopleGroupFallback:"People Group"},prayer:{needsPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayerCoverage:"Full Prayer Coverage"},progress:{title:"Progress",covered:"{covered} of {total} people groups covered in prayer · {pct}%",short:"{covered} of {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Unengaged",hasEngagement:"Engaged"},adoption:{needsAdoption:"Needs Adoption",hasAdoption:"Has Adoption"},columns:{upgs:"UUPGs",population:"Population",name:"Name"},footer:{total:"Total"},sortByUpgs:"Sort by UUPGs",sortByPop:"Sort by Population",colLabel:{religion:"UUPG Religions",prayer:"Prayer Status",engagement:"Engagement Status",adoption:"Adoption Status",status:"Status"},titleBar:{legend:"Legend",peopleGroups:"People Groups",wagfRegions:"WAGF Regions",languages:"Languages"}},vd={menuComingSoon:"Menu coming soon"},kd={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},Td={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},$d={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},Ed={placeholder:"People, place, language, religion",labels:{people:"People:",place:"Place:",language:"Language:",religion:"Religion:"},kinds:{people:"People Group + Country",peopleGroup:"People Group",bloc:"Affinity Block",cluster:"People Cluster",country:"Country",region:"Region",family:"Language Family",languageKind:"Language",dialect:"Dialect",religionKind:"Religion"},sections:{within:"Within {selection}",allData:"All DOXA Data"}},Ld={prayer:"Prayer",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"People Groups (Affinity)",regions:"Regions",countries:"Countries","language-families":"Languages",religion:"Religions",family:"Lang Family",language:"Language",dialect:"Dialect/Variety",bloc:"Affinity Block",cluster:"Cluster",group:"People Group",pgic:"PG in Country",region:"WAGF Region",block:"WAGF Bloc",country:"Country"},Cd={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},Nd={prayForThem:"Ora por ellos",adoptThem:"Adóptalos",moreInfo:"Más información",zoomIn:"Acercar",zoomOut:"Alejar",switchToLightMode:"Cambiar a modo claro",switchToDarkMode:"Cambiar a modo oscuro",resetView:"Restablecer vista",toggleFullscreen:"Alternar pantalla completa",aboutThisMap:"Acerca de este mapa",closeMenu:"Cerrar menú",reloadMap:"Recargar mapa",showClusters:"Mostrar clústeres",clusterSettings:"Ajustes de clústeres",startAutoFly:"Iniciar vuelo automático",stopFlight:"Detener vuelo",speedLabel:"Velocidad:",speedOption:{slow:"Lenta",normal:"Normal",fast:"Rápida"},shareEmbed:"Compartir e incrustar"},wd={labels:{country:"País:",population:"Población:",language:"Idioma:",religion:"Religión:",languageFamily:"Familia lingüística:",peopleCommitted:"Comprometidos a orar:"},messages:{noDescription:"No hay descripción disponible."}},Pd={title:{prayer:"Progreso de oración",engagement:"Progreso de implicación",adoption:"Progreso de adopción",languageFamilies:"Familias lingüísticas",doxaRegions:"Regiones Doxa",affinityBlocs:"Bloques de afinidad",gospelResources:"Recursos del Evangelio"},header:{collapsed:"Leyenda",peopleGroupFallback:"Grupo de personas"},prayer:{needsPrayer:"Necesita oración",hasPrayer:"Tiene oración",fullPrayerCoverage:"Cobertura de oración completa"},progress:{title:"Progreso",covered:"{covered} de {total} grupos de personas cubiertos en oración · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necesita implicación",hasEngagement:"Tiene implicación"},adoption:{needsAdoption:"Necesita adopción",hasAdoption:"Tiene adopción"},columns:{upgs:"UUPGs",population:"Población",name:"Nombre"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por población",colLabel:{religion:"Religiones UUPG",prayer:"Estado de oración",engagement:"Estado de compromiso",adoption:"Estado de adopción",status:"Estado"},titleBar:{legend:"Leyenda",peopleGroups:"Pueblos",wagfRegions:"Regiones WAGF",languages:"Idiomas"}},Id={menuComingSoon:"Menú próximamente"},Md={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},Dd={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},Rd={placeholder:"Pueblo, lugar, idioma, religión",labels:{people:"Pueblo:",place:"Lugar:",language:"Idioma:",religion:"Religión:"},kinds:{people:"Pueblo + país",peopleGroup:"Pueblo",bloc:"Bloque de afinidad",cluster:"Clúster de pueblos",country:"País",region:"Región",family:"Familia lingüística",languageKind:"Idioma",dialect:"Dialecto",religionKind:"Religión"}},Fd={prayer:"Oración",adoption:"Adopción",engagement:"Compromiso","affinity-blocks":"Pueblos",regions:"Regiones",countries:"Países","language-families":"Idiomas",religion:"Religiones",family:"Familia lingüística",language:"Idioma",dialect:"Dialecto/Variedad",bloc:"Bloque de afinidad",cluster:"Clúster",group:"Pueblo",pgic:"Pueblo en país",region:"Región WAGF",block:"Bloque WAGF",country:"País"},Od={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},xd={prayForThem:"Priez pour eux",adoptThem:"Adoptez-les",moreInfo:"Plus d'infos",zoomIn:"Zoom avant",zoomOut:"Zoom arrière",switchToLightMode:"Passer au mode clair",switchToDarkMode:"Passer au mode sombre",resetView:"Réinitialiser la vue",toggleFullscreen:"Basculer en plein écran",aboutThisMap:"À propos de cette carte",closeMenu:"Fermer le menu",reloadMap:"Recharger la carte",showClusters:"Afficher les clusters",clusterSettings:"Paramètres des clusters",startAutoFly:"Démarrer le vol auto",stopFlight:"Arrêter le vol",speedLabel:"Vitesse :",speedOption:{slow:"Lente",normal:"Normale",fast:"Rapide"},shareEmbed:"Partager et intégrer"},jd={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},Bd={title:{prayer:"Progression de la prière",engagement:"Progression de l'engagement",adoption:"Progression de l'adoption",languageFamilies:"Familles de langues",doxaRegions:"Régions Doxa",affinityBlocs:"Blocs d'affinité",gospelResources:"Ressources de l'Évangile"},header:{collapsed:"Légende",peopleGroupFallback:"Groupe de personnes"},prayer:{needsPrayer:"Besoin de prière",hasPrayer:"Prière en cours",fullPrayerCoverage:"Couverture de prière complète"},progress:{title:"Progression",covered:"{covered} sur {total} groupes de personnes couverts par la prière · {pct}%",short:"{covered} sur {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Besoin d'engagement",hasEngagement:"Engagement en cours"},adoption:{needsAdoption:"Besoin d'adoption",hasAdoption:"Adoption en cours"},columns:{upgs:"UUPGs",population:"Population",name:"Nom"},footer:{total:"Total"},sortByUpgs:"Trier par UUPG",sortByPop:"Trier par population",colLabel:{religion:"Religions UUPG",prayer:"Statut de prière",engagement:"Statut d'engagement",adoption:"Statut d'adoption",status:"Statut"},titleBar:{legend:"Légende",peopleGroups:"Peuples",wagfRegions:"Régions WAGF",languages:"Langues"}},Kd={menuComingSoon:"Menu bientôt disponible"},Ud={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},Gd={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},zd={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},qd={placeholder:"Peuple, lieu, langue, religion",labels:{people:"Peuple :",place:"Lieu :",language:"Langue :",religion:"Religion :"},kinds:{people:"Peuple + pays",peopleGroup:"Peuple",bloc:"Bloc d'affinité",cluster:"Grappe de peuples",country:"Pays",region:"Région",family:"Famille linguistique",languageKind:"Langue",dialect:"Dialecte",religionKind:"Religion"}},Hd={prayer:"Prière",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"Peuples",regions:"Régions",countries:"Pays","language-families":"Langues",religion:"Religions",family:"Famille linguistique",language:"Langue",dialect:"Dialecte/Variété",bloc:"Bloc d'affinité",cluster:"Grappe",group:"Peuple",pgic:"Peuple dans le pays",region:"Région WAGF",block:"Bloc WAGF",country:"Pays"},Vd={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},Wd={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},Yd={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},Jd={title:{prayer:"प्रार्थना प्रगति",engagement:"सहभागिता प्रगति",adoption:"गोद लेने की प्रगति",languageFamilies:"भाषा परिवार",doxaRegions:"Doxa क्षेत्र",affinityBlocs:"समानता समूह",gospelResources:"सुसमाचार संसाधन"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह"},prayer:{needsPrayer:"प्रार्थना चाहिए",hasPrayer:"प्रार्थना है",fullPrayerCoverage:"पूर्ण प्रार्थना कवरेज"},progress:{title:"प्रगति",covered:"{total} में से {covered} जनजाति समूह प्रार्थना में कवर · {pct}%",short:"{total} में से {covered} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"सहभागिता चाहिए",hasEngagement:"सहभागिता है"},adoption:{needsAdoption:"गोद लेना चाहिए",hasAdoption:"गोद लिया गया"},columns:{upgs:"UUPGs",population:"जनसंख्या"},footer:{total:"कुल"}},Xd={menuComingSoon:"मेनू शीघ्र आ रहा है"},Zd={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},Qd={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},ef={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},tf={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},nf={prayForThem:"Prega per loro",adoptThem:"Adottali",moreInfo:"Più informazioni",zoomIn:"Ingrandisci",zoomOut:"Riduci",switchToLightMode:"Passa alla modalità chiara",switchToDarkMode:"Passa alla modalità scura",resetView:"Reimposta vista",toggleFullscreen:"Attiva/disattiva schermo intero",aboutThisMap:"Informazioni su questa mappa",closeMenu:"Chiudi menu",reloadMap:"Ricarica mappa",showClusters:"Mostra cluster",clusterSettings:"Impostazioni cluster",startAutoFly:"Avvia volo automatico",stopFlight:"Ferma volo",speedLabel:"Velocità:",speedOption:{slow:"Lenta",normal:"Normale",fast:"Veloce"},shareEmbed:"Condividi e incorpora"},of={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},af={title:{prayer:"Avanzamento della preghiera",engagement:"Avanzamento dell'impegno",adoption:"Avanzamento dell'adozione",languageFamilies:"Famiglie linguistiche",doxaRegions:"Regioni Doxa",affinityBlocs:"Blocchi di affinità",gospelResources:"Risorse del Vangelo"},header:{collapsed:"Legenda",peopleGroupFallback:"Gruppo di persone"},prayer:{needsPrayer:"Necessita preghiera",hasPrayer:"Ha preghiera",fullPrayerCoverage:"Copertura di preghiera completa"},progress:{title:"Avanzamento",covered:"{covered} di {total} gruppi di persone coperti dalla preghiera · {pct}%",short:"{covered} di {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necessita impegno",hasEngagement:"Ha impegno"},adoption:{needsAdoption:"Necessita adozione",hasAdoption:"Ha adozione"},columns:{upgs:"UUPGs",population:"Popolazione"},footer:{total:"Totale"}},sf={menuComingSoon:"Menu in arrivo"},rf={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},lf={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},cf={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},uf={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},gf={prayForThem:"Ore por eles",adoptThem:"Adote-os",moreInfo:"Mais informações",zoomIn:"Ampliar",zoomOut:"Reduzir",switchToLightMode:"Mudar para modo claro",switchToDarkMode:"Mudar para modo escuro",resetView:"Repor vista",toggleFullscreen:"Alternar ecrã inteiro",aboutThisMap:"Sobre este mapa",closeMenu:"Fechar menu",reloadMap:"Recarregar mapa",showClusters:"Mostrar clusters",clusterSettings:"Definições de clusters",startAutoFly:"Iniciar voo automático",stopFlight:"Parar voo",speedLabel:"Velocidade:",speedOption:{slow:"Lenta",normal:"Normal",fast:"Rápida"},shareEmbed:"Partilhar e incorporar"},df={labels:{country:"País:",population:"População:",language:"Língua:",religion:"Religião:",languageFamily:"Família linguística:",peopleCommitted:"Comprometidos a orar:"},messages:{noDescription:"Sem descrição disponível."}},ff={title:{prayer:"Progresso da oração",engagement:"Progresso do envolvimento",adoption:"Progresso da adoção",languageFamilies:"Famílias linguísticas",doxaRegions:"Regiões Doxa",affinityBlocs:"Blocos de afinidade",gospelResources:"Recursos do Evangelho"},header:{collapsed:"Legenda",peopleGroupFallback:"Grupo de pessoas"},prayer:{needsPrayer:"Precisa de oração",hasPrayer:"Tem oração",fullPrayerCoverage:"Cobertura de oração completa"},progress:{title:"Progresso",covered:"{covered} de {total} grupos de pessoas cobertos em oração · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Precisa de envolvimento",hasEngagement:"Tem envolvimento"},adoption:{needsAdoption:"Precisa de adoção",hasAdoption:"Tem adoção"},columns:{upgs:"UUPGs",population:"População",name:"Nome"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por população",colLabel:{religion:"Religiões UUPG",prayer:"Status de oração",engagement:"Status de engajamento",adoption:"Status de adoção",status:"Status"},titleBar:{legend:"Legenda",peopleGroups:"Povos",wagfRegions:"Regiões WAGF",languages:"Idiomas"}},pf={menuComingSoon:"Menu em breve"},hf={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},mf={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},bf={placeholder:"Povo, local, língua, religião",labels:{people:"Povo:",place:"Local:",language:"Língua:",religion:"Religião:"},kinds:{people:"Povo + país",peopleGroup:"Povo",bloc:"Bloco de afinidade",cluster:"Agrupamento de povos",country:"País",region:"Região",family:"Família linguística",languageKind:"Idioma",dialect:"Dialeto",religionKind:"Religião"}},_f={prayer:"Oração",adoption:"Adoção",engagement:"Engajamento","affinity-blocks":"Povos",regions:"Regiões",countries:"Países","language-families":"Idiomas",religion:"Religiões",family:"Família linguística",language:"Idioma",dialect:"Dialeto/Variedade",bloc:"Bloco de afinidade",cluster:"Agrupamento",group:"Povo",pgic:"Povo no país",region:"Região WAGF",block:"Bloco WAGF",country:"País"},yf={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},Af={prayForThem:"Roagă-te pentru ei",adoptThem:"Adoptă-i",moreInfo:"Mai multe informații",zoomIn:"Mărește",zoomOut:"Micșorează",switchToLightMode:"Comută la modul luminos",switchToDarkMode:"Comută la modul întunecat",resetView:"Resetează vizualizarea",toggleFullscreen:"Comută ecran complet",aboutThisMap:"Despre această hartă",closeMenu:"Închide meniul",reloadMap:"Reîncarcă harta",showClusters:"Arată clusterele",clusterSettings:"Setări clustere",startAutoFly:"Pornește zborul automat",stopFlight:"Oprește zborul",speedLabel:"Viteză:",speedOption:{slow:"Lent",normal:"Normal",fast:"Rapid"},shareEmbed:"Partajează și încorporează"},Sf={labels:{country:"Țară:",population:"Populație:",language:"Limbă:",religion:"Religie:",languageFamily:"Familie de limbi:",peopleCommitted:"Angajați să se roage:"},messages:{noDescription:"Nicio descriere disponibilă."}},vf={title:{prayer:"Progresul rugăciunii",engagement:"Progresul implicării",adoption:"Progresul adopției",languageFamilies:"Familii de limbi",doxaRegions:"Regiuni Doxa",affinityBlocs:"Blocuri de afinitate",gospelResources:"Resurse ale Evangheliei"},header:{collapsed:"Legendă",peopleGroupFallback:"Grup de popoare"},prayer:{needsPrayer:"Necesită rugăciune",hasPrayer:"Are rugăciune",fullPrayerCoverage:"Acoperire completă de rugăciune"},progress:{title:"Progres",covered:"{covered} din {total} grupuri de popoare acoperite în rugăciune · {pct}%",short:"{covered} din {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necesită implicare",hasEngagement:"Are implicare"},adoption:{needsAdoption:"Necesită adopție",hasAdoption:"Are adopție"},columns:{upgs:"UUPGs",population:"Populație"},footer:{total:"Total"}},kf={menuComingSoon:"Meniu în curând"},Tf={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},$f={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},Ef={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},Lf={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},Cf={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},Nf={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},wf={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа"},prayer:{needsPrayer:"Нуждается в молитве",hasPrayer:"Есть молитва",fullPrayerCoverage:"Полное молитвенное покрытие"},progress:{title:"Прогресс",covered:"{covered} из {total} народных групп охвачены молитвой · {pct}%",short:"{covered} из {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Нуждается в вовлечённости",hasEngagement:"Есть вовлечённость"},adoption:{needsAdoption:"Нуждается в усыновлении",hasAdoption:"Есть усыновление"},columns:{upgs:"UUPGs",population:"Население",name:"Название"},footer:{total:"Всего"},sortByUpgs:"Сортировать по UUPG",sortByPop:"Сортировать по населению",colLabel:{religion:"Религии UUPG",prayer:"Статус молитвы",engagement:"Статус вовлечённости",adoption:"Статус усыновления",status:"Статус"},titleBar:{legend:"Легенда",peopleGroups:"Народы",wagfRegions:"Регионы WAGF",languages:"Языки"}},Pf={menuComingSoon:"Меню скоро появится"},If={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},Mf={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},Df={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"}},Rf={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна"},Ff={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},Of={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},xf={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},jf={title:{prayer:"祷告进度",engagement:"参与进度",adoption:"认领进度",languageFamilies:"语系",doxaRegions:"Doxa 区域",affinityBlocs:"亲缘板块",gospelResources:"福音资源"},header:{collapsed:"图例",peopleGroupFallback:"民族群体"},prayer:{needsPrayer:"需要祷告",hasPrayer:"已有祷告",fullPrayerCoverage:"全面祷告覆盖"},progress:{title:"进度",covered:"{total} 个民族群体中已有 {covered} 个被祷告覆盖 · {pct}%",short:"{covered} / {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"需要参与",hasEngagement:"已有参与"},adoption:{needsAdoption:"需要认领",hasAdoption:"已有认领"},columns:{upgs:"UUPGs",population:"人口"},footer:{total:"总计"}},Bf={menuComingSoon:"菜单即将推出"},Kf={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},Uf={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},Gf={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! + */let Ar;const Uo=e=>Ar=e,Sr=Symbol();function Ka(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Xn;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Xn||(Xn={}));function Yg(){const e=ia(!0),t=e.run(()=>pe({}));let n=[],o=[];const a=Rn({install(s){Uo(a),a._a=s,s.provide(Sr,a),s.config.globalProperties.$pinia=a,o.forEach(i=>n.push(i)),o=[]},use(s){return this._a?n.push(s):o.push(s),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return a}const vr=()=>{};function kr(e,t,n,o=vr){e.push(t);const a=()=>{const s=e.indexOf(t);s>-1&&(e.splice(s,1),o())};return!n&&Ks()&&wc(a),a}function yn(e,...t){e.slice().forEach(n=>{n(...t)})}const Jg=e=>e(),Tr=Symbol(),Ua=Symbol();function Ga(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,o)=>e.set(o,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const o=t[n],a=e[n];Ka(a)&&Ka(o)&&e.hasOwnProperty(n)&&!ve(o)&&!St(o)?e[n]=Ga(a,o):e[n]=o}return e}const Xg=Symbol();function Zg(e){return!Ka(e)||!e.hasOwnProperty(Xg)}const{assign:Bt}=Object;function Qg(e){return!!(ve(e)&&e.effect)}function ed(e,t,n,o){const{state:a,actions:s,getters:i}=t,r=n.state.value[e];let l;function c(){r||(n.state.value[e]=a?a():{});const u=Zc(n.state.value[e]);return Bt(u,s,Object.keys(i||{}).reduce((f,b)=>(f[b]=Rn(he(()=>{Uo(n);const v=n._s.get(e);return i[b].call(v,v)})),f),{}))}return l=$r(e,c,t,n,o,!0),l}function $r(e,t,n={},o,a,s){let i;const r=Bt({actions:{}},n),l={deep:!0};let c,u,f=[],b=[],v;const E=o.state.value[e];!s&&!E&&(o.state.value[e]={});let A;function R(F){let S;c=u=!1,typeof F=="function"?(F(o.state.value[e]),S={type:Xn.patchFunction,storeId:e,events:v}):(Ga(o.state.value[e],F),S={type:Xn.patchObject,payload:F,storeId:e,events:v});const W=A=Symbol();Aa().then(()=>{A===W&&(c=!0)}),u=!0,yn(f,S,o.state.value[e])}const M=s?function(){const{state:S}=n,W=S?S():{};this.$patch(ae=>{Bt(ae,W)})}:vr;function L(){i.stop(),f=[],b=[],o._s.delete(e)}const y=(F,S="")=>{if(Tr in F)return F[Ua]=S,F;const W=function(){Uo(o);const ae=Array.from(arguments),H=[],ee=[];function Y(B){H.push(B)}function D(B){ee.push(B)}yn(b,{args:ae,name:W[Ua],store:T,after:Y,onError:D});let j;try{j=F.apply(this&&this.$id===e?this:T,ae)}catch(B){throw yn(ee,B),B}return j instanceof Promise?j.then(B=>(yn(H,B),B)).catch(B=>(yn(ee,B),Promise.reject(B))):(yn(H,j),j)};return W[Tr]=!0,W[Ua]=S,W},h={_p:o,$id:e,$onAction:kr.bind(null,b),$patch:R,$reset:M,$subscribe(F,S={}){const W=kr(f,F,S.detached,()=>ae()),ae=i.run(()=>tn(()=>o.state.value[e],H=>{(S.flush==="sync"?u:c)&&F({storeId:e,type:Xn.direct,events:v},H)},Bt({},l,S)));return W},$dispose:L},T=yo(h);o._s.set(e,T);const I=(o._a&&o._a.runWithContext||Jg)(()=>o._e.run(()=>(i=ia()).run(()=>t({action:y}))));for(const F in I){const S=I[F];if(ve(S)&&!Qg(S)||St(S))s||(E&&Zg(S)&&(ve(S)?S.value=E[F]:Ga(S,E[F])),o.state.value[e][F]=S);else if(typeof S=="function"){const W=y(S,F);I[F]=W,r.actions[F]=S}}return Bt(T,I),Bt(ie(T),I),Object.defineProperty(T,"$state",{get:()=>o.state.value[e],set:F=>{R(S=>{Bt(S,F)})}}),o._p.forEach(F=>{Bt(T,i.run(()=>F({store:T,app:o._a,pinia:o,options:r})))}),E&&s&&n.hydrate&&n.hydrate(T.$state,E),c=!0,u=!0,T}/*! #__NO_SIDE_EFFECTS__ */function za(e,t,n){let o,a;const s=typeof t=="function";typeof e=="string"?(o=e,a=s?n:t):(a=e,o=e.id);function i(r,l){const c=fu();return r=r||(c?Fe(Sr,null):null),r&&Uo(r),r=Ar,r._s.has(o)||(s?$r(o,t,a,r):ed(o,a,r)),r._s.get(o)}return i.$id=o,i}const td={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},nd={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},od={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},ad={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب"},prayer:{needsPrayer:"يحتاج إلى صلاة",hasPrayer:"لديه صلاة",fullPrayerCoverage:"تغطية صلاة كاملة"},progress:{title:"التقدم",covered:"{covered} من {total} مجموعة شعبية مغطاة بالصلاة · {pct}%",short:"{covered} من {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"يحتاج إلى انخراط",hasEngagement:"لديه انخراط"},adoption:{needsAdoption:"يحتاج إلى تبني",hasAdoption:"لديه تبني"},columns:{upgs:"UUPGs",population:"السكان",name:"الاسم"},footer:{total:"الإجمالي"},sortByUpgs:"ترتيب حسب UUPG",sortByPop:"ترتيب حسب السكان",colLabel:{religion:"ديانات UUPG",prayer:"حالة الصلاة",engagement:"حالة المشاركة",adoption:"حالة التبني",status:"الحالة"},titleBar:{legend:"مفتاح الخريطة",peopleGroups:"الشعوب",wagfRegions:"مناطق WAGF",languages:"اللغات"}},sd={menuComingSoon:"القائمة قادمة قريباً"},id={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},rd={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},ld={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"}},cd={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة"},ud={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},gd={prayForThem:"Für sie beten",adoptThem:"Sie adoptieren",moreInfo:"Mehr Infos",zoomIn:"Vergrößern",zoomOut:"Verkleinern",switchToLightMode:"Zum hellen Modus wechseln",switchToDarkMode:"Zum dunklen Modus wechseln",resetView:"Ansicht zurücksetzen",toggleFullscreen:"Vollbild umschalten",aboutThisMap:"Über diese Karte",closeMenu:"Menü schließen",reloadMap:"Karte neu laden",showClusters:"Cluster anzeigen",clusterSettings:"Cluster-Einstellungen",startAutoFly:"Auto-Flug starten",stopFlight:"Flug stoppen",speedLabel:"Geschwindigkeit:",speedOption:{slow:"Langsam",normal:"Normal",fast:"Schnell"},shareEmbed:"Teilen und einbetten"},dd={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},fd={title:{prayer:"Gebetsfortschritt",engagement:"Engagement-Fortschritt",adoption:"Adoptionsfortschritt",languageFamilies:"Sprachfamilien",doxaRegions:"Doxa-Regionen",affinityBlocs:"Affinitätsblöcke",gospelResources:"Evangeliumsressourcen"},header:{collapsed:"Legende",peopleGroupFallback:"Volksgruppe"},prayer:{needsPrayer:"Braucht Gebet",hasPrayer:"Hat Gebet",fullPrayerCoverage:"Vollständige Gebetsabdeckung"},progress:{title:"Fortschritt",covered:"{covered} von {total} Volksgruppen im Gebet abgedeckt · {pct}%",short:"{covered} von {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Braucht Engagement",hasEngagement:"Hat Engagement"},adoption:{needsAdoption:"Braucht Adoption",hasAdoption:"Hat Adoption"},columns:{upgs:"UUPGs",population:"Bevölkerung"},footer:{total:"Gesamt"}},pd={menuComingSoon:"Menü folgt in Kürze"},hd={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},md={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},bd={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"}},_d={prayer:"Gebet",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"Volksgruppen",regions:"Regionen",countries:"Länder","language-families":"Sprachen",religion:"Religionen",family:"Sprachfamilie",language:"Sprache",dialect:"Dialekt/Varietät",bloc:"Affinitätsblock",cluster:"Cluster",group:"Volksgruppe",pgic:"Volksgruppe im Land",region:"WAGF-Region",block:"WAGF-Block",country:"Land"},yd={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},Ad={prayForThem:"Pray for them",adoptThem:"Adopt",moreInfo:"More info",zoomIn:"Zoom in",zoomOut:"Zoom out",switchToLightMode:"Switch to light mode",switchToDarkMode:"Switch to dark mode",resetView:"Reset view",toggleFullscreen:"Toggle fullscreen",aboutThisMap:"About this map",closeMenu:"Close menu",reloadMap:"Reload Map",showClusters:"Show Clusters",clusterSettings:"Cluster Settings",startAutoFly:"Start Auto Fly",stopFlight:"Stop Flight",speedLabel:"Speed:",speedOption:{slow:"Slow",normal:"Normal",fast:"Fast"},shareEmbed:"Share & embed",shareSteps:["Embed this map on your site","Create a list of the websites in your city","Train them to embed it too","Train them to train others to embed it too","Multiply maps everywhere for Jesus!"],share:"Share"},Sd={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},vd={title:{prayer:"Prayer Progress",engagement:"Engagement Progress",adoption:"Adoption Progress",languageFamilies:"Language Families",doxaRegions:"Doxa Regions",affinityBlocs:"Affinity Blocks",gospelResources:"Gospel Resources"},header:{default:"Legend",collapsed:"Legend",peopleGroupFallback:"People Group"},prayer:{needsPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayerCoverage:"Full Prayer Coverage"},progress:{title:"Progress",covered:"{covered} of {total} people groups covered in prayer · {pct}%",short:"{covered} of {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Unengaged",hasEngagement:"Engaged"},adoption:{needsAdoption:"Needs Adoption",hasAdoption:"Has Adoption"},columns:{upgs:"UUPGs",population:"Population",name:"Name"},footer:{total:"Total"},sortByUpgs:"Sort by UUPGs",sortByPop:"Sort by Population",colLabel:{religion:"UUPG Religions",prayer:"Prayer Status",engagement:"Engagement Status",adoption:"Adoption Status",status:"Status"},titleBar:{legend:"Legend",peopleGroups:"People Groups",wagfRegions:"WAGF Regions",languages:"Languages"}},kd={menuComingSoon:"Menu coming soon"},Td={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},$d={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},Ed={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},Ld={placeholder:"People, place, language, religion",labels:{people:"People:",place:"Place:",language:"Language:",religion:"Religion:"},kinds:{people:"People Group + Country",peopleGroup:"People Group",bloc:"Affinity Block",cluster:"People Cluster",country:"Country",region:"Region",family:"Language Family",languageKind:"Language",dialect:"Dialect",religionKind:"Religion"},sections:{within:"Within {selection}",allData:"All DOXA Data"}},Cd={prayer:"Prayer",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"People Groups (Affinity)",regions:"Regions",countries:"Countries","language-families":"Languages",religion:"Religions",family:"Lang Family",language:"Language",dialect:"Dialect/Variety",bloc:"Affinity Block",cluster:"Cluster",group:"People Group",pgic:"PG in Country",region:"WAGF Region",block:"WAGF Bloc",country:"Country"},Nd={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},wd={prayForThem:"Ora por ellos",adoptThem:"Adóptalos",moreInfo:"Más información",zoomIn:"Acercar",zoomOut:"Alejar",switchToLightMode:"Cambiar a modo claro",switchToDarkMode:"Cambiar a modo oscuro",resetView:"Restablecer vista",toggleFullscreen:"Alternar pantalla completa",aboutThisMap:"Acerca de este mapa",closeMenu:"Cerrar menú",reloadMap:"Recargar mapa",showClusters:"Mostrar clústeres",clusterSettings:"Ajustes de clústeres",startAutoFly:"Iniciar vuelo automático",stopFlight:"Detener vuelo",speedLabel:"Velocidad:",speedOption:{slow:"Lenta",normal:"Normal",fast:"Rápida"},shareEmbed:"Compartir e incrustar"},Pd={labels:{country:"País:",population:"Población:",language:"Idioma:",religion:"Religión:",languageFamily:"Familia lingüística:",peopleCommitted:"Comprometidos a orar:"},messages:{noDescription:"No hay descripción disponible."}},Id={title:{prayer:"Progreso de oración",engagement:"Progreso de implicación",adoption:"Progreso de adopción",languageFamilies:"Familias lingüísticas",doxaRegions:"Regiones Doxa",affinityBlocs:"Bloques de afinidad",gospelResources:"Recursos del Evangelio"},header:{collapsed:"Leyenda",peopleGroupFallback:"Grupo de personas"},prayer:{needsPrayer:"Necesita oración",hasPrayer:"Tiene oración",fullPrayerCoverage:"Cobertura de oración completa"},progress:{title:"Progreso",covered:"{covered} de {total} grupos de personas cubiertos en oración · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necesita implicación",hasEngagement:"Tiene implicación"},adoption:{needsAdoption:"Necesita adopción",hasAdoption:"Tiene adopción"},columns:{upgs:"UUPGs",population:"Población",name:"Nombre"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por población",colLabel:{religion:"Religiones UUPG",prayer:"Estado de oración",engagement:"Estado de compromiso",adoption:"Estado de adopción",status:"Estado"},titleBar:{legend:"Leyenda",peopleGroups:"Pueblos",wagfRegions:"Regiones WAGF",languages:"Idiomas"}},Md={menuComingSoon:"Menú próximamente"},Dd={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},Rd={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},Fd={placeholder:"Pueblo, lugar, idioma, religión",labels:{people:"Pueblo:",place:"Lugar:",language:"Idioma:",religion:"Religión:"},kinds:{people:"Pueblo + país",peopleGroup:"Pueblo",bloc:"Bloque de afinidad",cluster:"Clúster de pueblos",country:"País",region:"Región",family:"Familia lingüística",languageKind:"Idioma",dialect:"Dialecto",religionKind:"Religión"}},Od={prayer:"Oración",adoption:"Adopción",engagement:"Compromiso","affinity-blocks":"Pueblos",regions:"Regiones",countries:"Países","language-families":"Idiomas",religion:"Religiones",family:"Familia lingüística",language:"Idioma",dialect:"Dialecto/Variedad",bloc:"Bloque de afinidad",cluster:"Clúster",group:"Pueblo",pgic:"Pueblo en país",region:"Región WAGF",block:"Bloque WAGF",country:"País"},xd={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},jd={prayForThem:"Priez pour eux",adoptThem:"Adoptez-les",moreInfo:"Plus d'infos",zoomIn:"Zoom avant",zoomOut:"Zoom arrière",switchToLightMode:"Passer au mode clair",switchToDarkMode:"Passer au mode sombre",resetView:"Réinitialiser la vue",toggleFullscreen:"Basculer en plein écran",aboutThisMap:"À propos de cette carte",closeMenu:"Fermer le menu",reloadMap:"Recharger la carte",showClusters:"Afficher les clusters",clusterSettings:"Paramètres des clusters",startAutoFly:"Démarrer le vol auto",stopFlight:"Arrêter le vol",speedLabel:"Vitesse :",speedOption:{slow:"Lente",normal:"Normale",fast:"Rapide"},shareEmbed:"Partager et intégrer"},Bd={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},Kd={title:{prayer:"Progression de la prière",engagement:"Progression de l'engagement",adoption:"Progression de l'adoption",languageFamilies:"Familles de langues",doxaRegions:"Régions Doxa",affinityBlocs:"Blocs d'affinité",gospelResources:"Ressources de l'Évangile"},header:{collapsed:"Légende",peopleGroupFallback:"Groupe de personnes"},prayer:{needsPrayer:"Besoin de prière",hasPrayer:"Prière en cours",fullPrayerCoverage:"Couverture de prière complète"},progress:{title:"Progression",covered:"{covered} sur {total} groupes de personnes couverts par la prière · {pct}%",short:"{covered} sur {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Besoin d'engagement",hasEngagement:"Engagement en cours"},adoption:{needsAdoption:"Besoin d'adoption",hasAdoption:"Adoption en cours"},columns:{upgs:"UUPGs",population:"Population",name:"Nom"},footer:{total:"Total"},sortByUpgs:"Trier par UUPG",sortByPop:"Trier par population",colLabel:{religion:"Religions UUPG",prayer:"Statut de prière",engagement:"Statut d'engagement",adoption:"Statut d'adoption",status:"Statut"},titleBar:{legend:"Légende",peopleGroups:"Peuples",wagfRegions:"Régions WAGF",languages:"Langues"}},Ud={menuComingSoon:"Menu bientôt disponible"},Gd={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},zd={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},qd={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},Hd={placeholder:"Peuple, lieu, langue, religion",labels:{people:"Peuple :",place:"Lieu :",language:"Langue :",religion:"Religion :"},kinds:{people:"Peuple + pays",peopleGroup:"Peuple",bloc:"Bloc d'affinité",cluster:"Grappe de peuples",country:"Pays",region:"Région",family:"Famille linguistique",languageKind:"Langue",dialect:"Dialecte",religionKind:"Religion"}},Vd={prayer:"Prière",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"Peuples",regions:"Régions",countries:"Pays","language-families":"Langues",religion:"Religions",family:"Famille linguistique",language:"Langue",dialect:"Dialecte/Variété",bloc:"Bloc d'affinité",cluster:"Grappe",group:"Peuple",pgic:"Peuple dans le pays",region:"Région WAGF",block:"Bloc WAGF",country:"Pays"},Wd={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},Yd={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},Jd={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},Xd={title:{prayer:"प्रार्थना प्रगति",engagement:"सहभागिता प्रगति",adoption:"गोद लेने की प्रगति",languageFamilies:"भाषा परिवार",doxaRegions:"Doxa क्षेत्र",affinityBlocs:"समानता समूह",gospelResources:"सुसमाचार संसाधन"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह"},prayer:{needsPrayer:"प्रार्थना चाहिए",hasPrayer:"प्रार्थना है",fullPrayerCoverage:"पूर्ण प्रार्थना कवरेज"},progress:{title:"प्रगति",covered:"{total} में से {covered} जनजाति समूह प्रार्थना में कवर · {pct}%",short:"{total} में से {covered} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"सहभागिता चाहिए",hasEngagement:"सहभागिता है"},adoption:{needsAdoption:"गोद लेना चाहिए",hasAdoption:"गोद लिया गया"},columns:{upgs:"UUPGs",population:"जनसंख्या"},footer:{total:"कुल"}},Zd={menuComingSoon:"मेनू शीघ्र आ रहा है"},Qd={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},ef={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},tf={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},nf={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},of={prayForThem:"Prega per loro",adoptThem:"Adottali",moreInfo:"Più informazioni",zoomIn:"Ingrandisci",zoomOut:"Riduci",switchToLightMode:"Passa alla modalità chiara",switchToDarkMode:"Passa alla modalità scura",resetView:"Reimposta vista",toggleFullscreen:"Attiva/disattiva schermo intero",aboutThisMap:"Informazioni su questa mappa",closeMenu:"Chiudi menu",reloadMap:"Ricarica mappa",showClusters:"Mostra cluster",clusterSettings:"Impostazioni cluster",startAutoFly:"Avvia volo automatico",stopFlight:"Ferma volo",speedLabel:"Velocità:",speedOption:{slow:"Lenta",normal:"Normale",fast:"Veloce"},shareEmbed:"Condividi e incorpora"},af={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},sf={title:{prayer:"Avanzamento della preghiera",engagement:"Avanzamento dell'impegno",adoption:"Avanzamento dell'adozione",languageFamilies:"Famiglie linguistiche",doxaRegions:"Regioni Doxa",affinityBlocs:"Blocchi di affinità",gospelResources:"Risorse del Vangelo"},header:{collapsed:"Legenda",peopleGroupFallback:"Gruppo di persone"},prayer:{needsPrayer:"Necessita preghiera",hasPrayer:"Ha preghiera",fullPrayerCoverage:"Copertura di preghiera completa"},progress:{title:"Avanzamento",covered:"{covered} di {total} gruppi di persone coperti dalla preghiera · {pct}%",short:"{covered} di {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necessita impegno",hasEngagement:"Ha impegno"},adoption:{needsAdoption:"Necessita adozione",hasAdoption:"Ha adozione"},columns:{upgs:"UUPGs",population:"Popolazione"},footer:{total:"Totale"}},rf={menuComingSoon:"Menu in arrivo"},lf={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},cf={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},uf={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},gf={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},df={prayForThem:"Ore por eles",adoptThem:"Adote-os",moreInfo:"Mais informações",zoomIn:"Ampliar",zoomOut:"Reduzir",switchToLightMode:"Mudar para modo claro",switchToDarkMode:"Mudar para modo escuro",resetView:"Repor vista",toggleFullscreen:"Alternar ecrã inteiro",aboutThisMap:"Sobre este mapa",closeMenu:"Fechar menu",reloadMap:"Recarregar mapa",showClusters:"Mostrar clusters",clusterSettings:"Definições de clusters",startAutoFly:"Iniciar voo automático",stopFlight:"Parar voo",speedLabel:"Velocidade:",speedOption:{slow:"Lenta",normal:"Normal",fast:"Rápida"},shareEmbed:"Partilhar e incorporar"},ff={labels:{country:"País:",population:"População:",language:"Língua:",religion:"Religião:",languageFamily:"Família linguística:",peopleCommitted:"Comprometidos a orar:"},messages:{noDescription:"Sem descrição disponível."}},pf={title:{prayer:"Progresso da oração",engagement:"Progresso do envolvimento",adoption:"Progresso da adoção",languageFamilies:"Famílias linguísticas",doxaRegions:"Regiões Doxa",affinityBlocs:"Blocos de afinidade",gospelResources:"Recursos do Evangelho"},header:{collapsed:"Legenda",peopleGroupFallback:"Grupo de pessoas"},prayer:{needsPrayer:"Precisa de oração",hasPrayer:"Tem oração",fullPrayerCoverage:"Cobertura de oração completa"},progress:{title:"Progresso",covered:"{covered} de {total} grupos de pessoas cobertos em oração · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Precisa de envolvimento",hasEngagement:"Tem envolvimento"},adoption:{needsAdoption:"Precisa de adoção",hasAdoption:"Tem adoção"},columns:{upgs:"UUPGs",population:"População",name:"Nome"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por população",colLabel:{religion:"Religiões UUPG",prayer:"Status de oração",engagement:"Status de engajamento",adoption:"Status de adoção",status:"Status"},titleBar:{legend:"Legenda",peopleGroups:"Povos",wagfRegions:"Regiões WAGF",languages:"Idiomas"}},hf={menuComingSoon:"Menu em breve"},mf={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},bf={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},_f={placeholder:"Povo, local, língua, religião",labels:{people:"Povo:",place:"Local:",language:"Língua:",religion:"Religião:"},kinds:{people:"Povo + país",peopleGroup:"Povo",bloc:"Bloco de afinidade",cluster:"Agrupamento de povos",country:"País",region:"Região",family:"Família linguística",languageKind:"Idioma",dialect:"Dialeto",religionKind:"Religião"}},yf={prayer:"Oração",adoption:"Adoção",engagement:"Engajamento","affinity-blocks":"Povos",regions:"Regiões",countries:"Países","language-families":"Idiomas",religion:"Religiões",family:"Família linguística",language:"Idioma",dialect:"Dialeto/Variedade",bloc:"Bloco de afinidade",cluster:"Agrupamento",group:"Povo",pgic:"Povo no país",region:"Região WAGF",block:"Bloco WAGF",country:"País"},Af={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},Sf={prayForThem:"Roagă-te pentru ei",adoptThem:"Adoptă-i",moreInfo:"Mai multe informații",zoomIn:"Mărește",zoomOut:"Micșorează",switchToLightMode:"Comută la modul luminos",switchToDarkMode:"Comută la modul întunecat",resetView:"Resetează vizualizarea",toggleFullscreen:"Comută ecran complet",aboutThisMap:"Despre această hartă",closeMenu:"Închide meniul",reloadMap:"Reîncarcă harta",showClusters:"Arată clusterele",clusterSettings:"Setări clustere",startAutoFly:"Pornește zborul automat",stopFlight:"Oprește zborul",speedLabel:"Viteză:",speedOption:{slow:"Lent",normal:"Normal",fast:"Rapid"},shareEmbed:"Partajează și încorporează"},vf={labels:{country:"Țară:",population:"Populație:",language:"Limbă:",religion:"Religie:",languageFamily:"Familie de limbi:",peopleCommitted:"Angajați să se roage:"},messages:{noDescription:"Nicio descriere disponibilă."}},kf={title:{prayer:"Progresul rugăciunii",engagement:"Progresul implicării",adoption:"Progresul adopției",languageFamilies:"Familii de limbi",doxaRegions:"Regiuni Doxa",affinityBlocs:"Blocuri de afinitate",gospelResources:"Resurse ale Evangheliei"},header:{collapsed:"Legendă",peopleGroupFallback:"Grup de popoare"},prayer:{needsPrayer:"Necesită rugăciune",hasPrayer:"Are rugăciune",fullPrayerCoverage:"Acoperire completă de rugăciune"},progress:{title:"Progres",covered:"{covered} din {total} grupuri de popoare acoperite în rugăciune · {pct}%",short:"{covered} din {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necesită implicare",hasEngagement:"Are implicare"},adoption:{needsAdoption:"Necesită adopție",hasAdoption:"Are adopție"},columns:{upgs:"UUPGs",population:"Populație"},footer:{total:"Total"}},Tf={menuComingSoon:"Meniu în curând"},$f={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},Ef={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},Lf={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},Cf={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},Nf={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},wf={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},Pf={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа"},prayer:{needsPrayer:"Нуждается в молитве",hasPrayer:"Есть молитва",fullPrayerCoverage:"Полное молитвенное покрытие"},progress:{title:"Прогресс",covered:"{covered} из {total} народных групп охвачены молитвой · {pct}%",short:"{covered} из {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Нуждается в вовлечённости",hasEngagement:"Есть вовлечённость"},adoption:{needsAdoption:"Нуждается в усыновлении",hasAdoption:"Есть усыновление"},columns:{upgs:"UUPGs",population:"Население",name:"Название"},footer:{total:"Всего"},sortByUpgs:"Сортировать по UUPG",sortByPop:"Сортировать по населению",colLabel:{religion:"Религии UUPG",prayer:"Статус молитвы",engagement:"Статус вовлечённости",adoption:"Статус усыновления",status:"Статус"},titleBar:{legend:"Легенда",peopleGroups:"Народы",wagfRegions:"Регионы WAGF",languages:"Языки"}},If={menuComingSoon:"Меню скоро появится"},Mf={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},Df={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},Rf={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"}},Ff={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна"},Of={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},xf={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},jf={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},Bf={title:{prayer:"祷告进度",engagement:"参与进度",adoption:"认领进度",languageFamilies:"语系",doxaRegions:"Doxa 区域",affinityBlocs:"亲缘板块",gospelResources:"福音资源"},header:{collapsed:"图例",peopleGroupFallback:"民族群体"},prayer:{needsPrayer:"需要祷告",hasPrayer:"已有祷告",fullPrayerCoverage:"全面祷告覆盖"},progress:{title:"进度",covered:"{total} 个民族群体中已有 {covered} 个被祷告覆盖 · {pct}%",short:"{covered} / {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"需要参与",hasEngagement:"已有参与"},adoption:{needsAdoption:"需要认领",hasAdoption:"已有认领"},columns:{upgs:"UUPGs",population:"人口"},footer:{total:"总计"}},Kf={menuComingSoon:"菜单即将推出"},Uf={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},Gf={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},zf={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! * shared v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function zf(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const Go=typeof window<"u",Kt=(e,t=!1)=>t?Symbol.for(e):Symbol(e),qf=(e,t,n)=>Hf({l:e,k:t,s:n}),Hf=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),Te=e=>typeof e=="number"&&isFinite(e),Vf=e=>Nr(e)==="[object Date]",Ut=e=>Nr(e)==="[object RegExp]",zo=e=>ne(e)&&Object.keys(e).length===0,Ie=Object.assign,Wf=Object.create,ge=(e=null)=>Wf(e);let $r;const wt=()=>$r||($r=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:ge());function Er(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function Lr(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function Yf(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(o,a,s)=>`${a}="${Lr(s)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(o,a,s)=>`${a}='${Lr(s)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(e)&&(e=e.replace(/(\s+)(on)(\w+\s*=)/gi,"$1on$3")),[/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi].forEach(o=>{e=e.replace(o,"$1javascript:")}),e}const Jf=Object.prototype.hasOwnProperty;function ot(e,t){return Jf.call(e,t)}const Se=Array.isArray,_e=e=>typeof e=="function",q=e=>typeof e=="string",se=e=>typeof e=="boolean",re=e=>e!==null&&typeof e=="object",Xf=e=>re(e)&&_e(e.then)&&_e(e.catch),Cr=Object.prototype.toString,Nr=e=>Cr.call(e),ne=e=>{if(!re(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},Zf=e=>e==null?"":Se(e)||ne(e)&&e.toString===Cr?JSON.stringify(e,null,2):String(e);function Qf(e,t=""){return e.reduce((n,o,a)=>a===0?n+o:n+t+o,"")}function qo(e){let t=e;return()=>++t}const Ho=e=>!re(e)||Se(e);function Vo(e,t){if(Ho(e)||Ho(t))throw new Error("Invalid value");const n=[{src:e,des:t}];for(;n.length;){const{src:o,des:a}=n.pop();Object.keys(o).forEach(s=>{s!=="__proto__"&&(re(o[s])&&!re(a[s])&&(a[s]=Array.isArray(o[s])?[]:ge()),Ho(a[s])||Ho(o[s])?a[s]=o[s]:n.push({src:o[s],des:a[s]}))})}}/*! + */function qf(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const Go=typeof window<"u",Kt=(e,t=!1)=>t?Symbol.for(e):Symbol(e),Hf=(e,t,n)=>Vf({l:e,k:t,s:n}),Vf=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),Te=e=>typeof e=="number"&&isFinite(e),Wf=e=>wr(e)==="[object Date]",Ut=e=>wr(e)==="[object RegExp]",zo=e=>ne(e)&&Object.keys(e).length===0,Ie=Object.assign,Yf=Object.create,ge=(e=null)=>Yf(e);let Er;const wt=()=>Er||(Er=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:ge());function Lr(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function Cr(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function Jf(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(o,a,s)=>`${a}="${Cr(s)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(o,a,s)=>`${a}='${Cr(s)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(e)&&(e=e.replace(/(\s+)(on)(\w+\s*=)/gi,"$1on$3")),[/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi].forEach(o=>{e=e.replace(o,"$1javascript:")}),e}const Xf=Object.prototype.hasOwnProperty;function ot(e,t){return Xf.call(e,t)}const Se=Array.isArray,_e=e=>typeof e=="function",q=e=>typeof e=="string",se=e=>typeof e=="boolean",re=e=>e!==null&&typeof e=="object",Zf=e=>re(e)&&_e(e.then)&&_e(e.catch),Nr=Object.prototype.toString,wr=e=>Nr.call(e),ne=e=>{if(!re(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},Qf=e=>e==null?"":Se(e)||ne(e)&&e.toString===Nr?JSON.stringify(e,null,2):String(e);function ep(e,t=""){return e.reduce((n,o,a)=>a===0?n+o:n+t+o,"")}function qo(e){let t=e;return()=>++t}const Ho=e=>!re(e)||Se(e);function Vo(e,t){if(Ho(e)||Ho(t))throw new Error("Invalid value");const n=[{src:e,des:t}];for(;n.length;){const{src:o,des:a}=n.pop();Object.keys(o).forEach(s=>{s!=="__proto__"&&(re(o[s])&&!re(a[s])&&(a[s]=Array.isArray(o[s])?[]:ge()),Ho(a[s])||Ho(o[s])?a[s]=o[s]:n.push({src:o[s],des:a[s]}))})}}/*! * message-compiler v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function ep(e,t,n){return{line:e,column:t,offset:n}}function Wo(e,t,n){return{start:e,end:t}}const tp=/\{([0-9a-zA-Z]+)\}/g;function wr(e,...t){return t.length===1&&np(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(tp,(n,o)=>t.hasOwnProperty(o)?t[o]:"")}const Pr=Object.assign,Ir=e=>typeof e=="string",np=e=>e!==null&&typeof e=="object";function Mr(e,t=""){return e.reduce((n,o,a)=>a===0?n+o:n+t+o,"")}const qa={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},op={[qa.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function ap(e,t,...n){const o=wr(op[e],...n||[]),a={message:String(o),code:e};return t&&(a.location=t),a}const Q={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14,UNHANDLED_CODEGEN_NODE_TYPE:15,UNHANDLED_MINIFIER_NODE_TYPE:16,__EXTEND_POINT__:17},sp={[Q.EXPECTED_TOKEN]:"Expected token: '{0}'",[Q.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[Q.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[Q.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[Q.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[Q.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[Q.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[Q.EMPTY_PLACEHOLDER]:"Empty placeholder",[Q.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[Q.INVALID_LINKED_FORMAT]:"Invalid linked format",[Q.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[Q.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[Q.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[Q.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[Q.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[Q.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function An(e,t,n={}){const{domain:o,messages:a,args:s}=n,i=wr((a||sp)[e]||"",...s||[]),r=new SyntaxError(String(i));return r.code=e,t&&(r.location=t),r.domain=o,r}function ip(e){throw e}const Pt=" ",rp="\r",xe=` -`,lp="\u2028",cp="\u2029";function up(e){const t=e;let n=0,o=1,a=1,s=0;const i=I=>t[I]===rp&&t[I+1]===xe,r=I=>t[I]===xe,l=I=>t[I]===cp,c=I=>t[I]===lp,u=I=>i(I)||r(I)||l(I)||c(I),f=()=>n,b=()=>o,v=()=>a,E=()=>s,A=I=>i(I)||l(I)||c(I)?xe:t[I],R=()=>A(n),M=()=>A(n+s);function L(){return s=0,u(n)&&(o++,a=0),i(n)&&n++,n++,a++,t[n]}function y(){return i(n+s)&&s++,s++,t[n+s]}function h(){n=0,o=1,a=1,s=0}function T(I=0){s=I}function C(){const I=n+s;for(;I!==n;)L();s=0}return{index:f,line:b,column:v,peekOffset:E,charAt:A,currentChar:R,currentPeek:M,next:L,peek:y,reset:h,resetPeek:T,skipToPeek:C}}const Gt=void 0,gp=".",Dr="'",dp="tokenizer";function fp(e,t={}){const n=t.location!==!1,o=up(e),a=()=>o.index(),s=()=>ep(o.line(),o.column(),o.index()),i=s(),r=a(),l={currentType:14,offset:r,startLoc:i,endLoc:i,lastType:14,lastOffset:r,lastStartLoc:i,lastEndLoc:i,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:u}=t;function f(g,d,$,...w){const z=c();if(d.column+=$,d.offset+=$,u){const K=n?Wo(z.startLoc,d):null,k=An(g,K,{domain:dp,args:w});u(k)}}function b(g,d,$){g.endLoc=s(),g.currentType=d;const w={type:d};return n&&(w.loc=Wo(g.startLoc,g.endLoc)),$!=null&&(w.value=$),w}const v=g=>b(g,14);function E(g,d){return g.currentChar()===d?(g.next(),d):(f(Q.EXPECTED_TOKEN,s(),0,d),"")}function A(g){let d="";for(;g.currentPeek()===Pt||g.currentPeek()===xe;)d+=g.currentPeek(),g.peek();return d}function R(g){const d=A(g);return g.skipToPeek(),d}function M(g){if(g===Gt)return!1;const d=g.charCodeAt(0);return d>=97&&d<=122||d>=65&&d<=90||d===95}function L(g){if(g===Gt)return!1;const d=g.charCodeAt(0);return d>=48&&d<=57}function y(g,d){const{currentType:$}=d;if($!==2)return!1;A(g);const w=M(g.currentPeek());return g.resetPeek(),w}function h(g,d){const{currentType:$}=d;if($!==2)return!1;A(g);const w=g.currentPeek()==="-"?g.peek():g.currentPeek(),z=L(w);return g.resetPeek(),z}function T(g,d){const{currentType:$}=d;if($!==2)return!1;A(g);const w=g.currentPeek()===Dr;return g.resetPeek(),w}function C(g,d){const{currentType:$}=d;if($!==8)return!1;A(g);const w=g.currentPeek()===".";return g.resetPeek(),w}function I(g,d){const{currentType:$}=d;if($!==9)return!1;A(g);const w=M(g.currentPeek());return g.resetPeek(),w}function F(g,d){const{currentType:$}=d;if(!($===8||$===12))return!1;A(g);const w=g.currentPeek()===":";return g.resetPeek(),w}function S(g,d){const{currentType:$}=d;if($!==10)return!1;const w=()=>{const K=g.currentPeek();return K==="{"?M(g.peek()):K==="@"||K==="%"||K==="|"||K===":"||K==="."||K===Pt||!K?!1:K===xe?(g.peek(),w()):H(g,!1)},z=w();return g.resetPeek(),z}function W(g){A(g);const d=g.currentPeek()==="|";return g.resetPeek(),d}function ae(g){const d=A(g),$=g.currentPeek()==="%"&&g.peek()==="{";return g.resetPeek(),{isModulo:$,hasSpace:d.length>0}}function H(g,d=!0){const $=(z=!1,K="",k=!1)=>{const P=g.currentPeek();return P==="{"?K==="%"?!1:z:P==="@"||!P?K==="%"?!0:z:P==="%"?(g.peek(),$(z,"%",!0)):P==="|"?K==="%"||k?!0:!(K===Pt||K===xe):P===Pt?(g.peek(),$(!0,Pt,k)):P===xe?(g.peek(),$(!0,xe,k)):!0},w=$();return d&&g.resetPeek(),w}function ee(g,d){const $=g.currentChar();return $===Gt?Gt:d($)?(g.next(),$):null}function Y(g){const d=g.charCodeAt(0);return d>=97&&d<=122||d>=65&&d<=90||d>=48&&d<=57||d===95||d===36}function D(g){return ee(g,Y)}function j(g){const d=g.charCodeAt(0);return d>=97&&d<=122||d>=65&&d<=90||d>=48&&d<=57||d===95||d===36||d===45}function B(g){return ee(g,j)}function V(g){const d=g.charCodeAt(0);return d>=48&&d<=57}function X(g){return ee(g,V)}function ue(g){const d=g.charCodeAt(0);return d>=48&&d<=57||d>=65&&d<=70||d>=97&&d<=102}function de(g){return ee(g,ue)}function fe(g){let d="",$="";for(;d=X(g);)$+=d;return $}function je(g){R(g);const d=g.currentChar();return d!=="%"&&f(Q.EXPECTED_TOKEN,s(),0,d),g.next(),"%"}function Yt(g){let d="";for(;;){const $=g.currentChar();if($==="{"||$==="}"||$==="@"||$==="|"||!$)break;if($==="%")if(H(g))d+=$,g.next();else break;else if($===Pt||$===xe)if(H(g))d+=$,g.next();else{if(W(g))break;d+=$,g.next()}else d+=$,g.next()}return d}function ln(g){R(g);let d="",$="";for(;d=B(g);)$+=d;return g.currentChar()===Gt&&f(Q.UNTERMINATED_CLOSING_BRACE,s(),0),$}function it(g){R(g);let d="";return g.currentChar()==="-"?(g.next(),d+=`-${fe(g)}`):d+=fe(g),g.currentChar()===Gt&&f(Q.UNTERMINATED_CLOSING_BRACE,s(),0),d}function Rt(g){return g!==Dr&&g!==xe}function Ft(g){R(g),E(g,"'");let d="",$="";for(;d=ee(g,Rt);)d==="\\"?$+=Jt(g):$+=d;const w=g.currentChar();return w===xe||w===Gt?(f(Q.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,s(),0),w===xe&&(g.next(),E(g,"'")),$):(E(g,"'"),$)}function Jt(g){const d=g.currentChar();switch(d){case"\\":case"'":return g.next(),`\\${d}`;case"u":return Ze(g,d,4);case"U":return Ze(g,d,6);default:return f(Q.UNKNOWN_ESCAPE_SEQUENCE,s(),0,d),""}}function Ze(g,d,$){E(g,d);let w="";for(let z=0;z<$;z++){const K=de(g);if(!K){f(Q.INVALID_UNICODE_ESCAPE_SEQUENCE,s(),0,`\\${d}${w}${g.currentChar()}`);break}w+=K}return`\\${d}${w}`}function En(g){return g!=="{"&&g!=="}"&&g!==Pt&&g!==xe}function p(g){R(g);let d="",$="";for(;d=ee(g,En);)$+=d;return $}function _(g){let d="",$="";for(;d=D(g);)$+=d;return $}function m(g){const d=$=>{const w=g.currentChar();return w==="{"||w==="%"||w==="@"||w==="|"||w==="("||w===")"||!w||w===Pt?$:($+=w,g.next(),d($))};return d("")}function N(g){R(g);const d=E(g,"|");return R(g),d}function x(g,d){let $=null;switch(g.currentChar()){case"{":return d.braceNest>=1&&f(Q.NOT_ALLOW_NEST_PLACEHOLDER,s(),0),g.next(),$=b(d,2,"{"),R(g),d.braceNest++,$;case"}":return d.braceNest>0&&d.currentType===2&&f(Q.EMPTY_PLACEHOLDER,s(),0),g.next(),$=b(d,3,"}"),d.braceNest--,d.braceNest>0&&R(g),d.inLinked&&d.braceNest===0&&(d.inLinked=!1),$;case"@":return d.braceNest>0&&f(Q.UNTERMINATED_CLOSING_BRACE,s(),0),$=O(g,d)||v(d),d.braceNest=0,$;default:{let z=!0,K=!0,k=!0;if(W(g))return d.braceNest>0&&f(Q.UNTERMINATED_CLOSING_BRACE,s(),0),$=b(d,1,N(g)),d.braceNest=0,d.inLinked=!1,$;if(d.braceNest>0&&(d.currentType===5||d.currentType===6||d.currentType===7))return f(Q.UNTERMINATED_CLOSING_BRACE,s(),0),d.braceNest=0,G(g,d);if(z=y(g,d))return $=b(d,5,ln(g)),R(g),$;if(K=h(g,d))return $=b(d,6,it(g)),R(g),$;if(k=T(g,d))return $=b(d,7,Ft(g)),R(g),$;if(!z&&!K&&!k)return $=b(d,13,p(g)),f(Q.INVALID_TOKEN_IN_PLACEHOLDER,s(),0,$.value),R(g),$;break}}return $}function O(g,d){const{currentType:$}=d;let w=null;const z=g.currentChar();switch(($===8||$===9||$===12||$===10)&&(z===xe||z===Pt)&&f(Q.INVALID_LINKED_FORMAT,s(),0),z){case"@":return g.next(),w=b(d,8,"@"),d.inLinked=!0,w;case".":return R(g),g.next(),b(d,9,".");case":":return R(g),g.next(),b(d,10,":");default:return W(g)?(w=b(d,1,N(g)),d.braceNest=0,d.inLinked=!1,w):C(g,d)||F(g,d)?(R(g),O(g,d)):I(g,d)?(R(g),b(d,12,_(g))):S(g,d)?(R(g),z==="{"?x(g,d)||w:b(d,11,m(g))):($===8&&f(Q.INVALID_LINKED_FORMAT,s(),0),d.braceNest=0,d.inLinked=!1,G(g,d))}}function G(g,d){let $={type:14};if(d.braceNest>0)return x(g,d)||v(d);if(d.inLinked)return O(g,d)||v(d);switch(g.currentChar()){case"{":return x(g,d)||v(d);case"}":return f(Q.UNBALANCED_CLOSING_BRACE,s(),0),g.next(),b(d,3,"}");case"@":return O(g,d)||v(d);default:{if(W(g))return $=b(d,1,N(g)),d.braceNest=0,d.inLinked=!1,$;const{isModulo:z,hasSpace:K}=ae(g);if(z)return K?b(d,0,Yt(g)):b(d,4,je(g));if(H(g))return b(d,0,Yt(g));break}}return $}function U(){const{currentType:g,offset:d,startLoc:$,endLoc:w}=l;return l.lastType=g,l.lastOffset=d,l.lastStartLoc=$,l.lastEndLoc=w,l.offset=a(),l.startLoc=s(),o.currentChar()===Gt?b(l,14):G(o,l)}return{nextToken:U,currentOffset:a,currentPosition:s,context:c}}const pp="parser",hp=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function mp(e,t,n){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const o=parseInt(t||n,16);return o<=55295||o>=57344?String.fromCodePoint(o):"�"}}}function bp(e={}){const t=e.location!==!1,{onError:n,onWarn:o}=e;function a(y,h,T,C,...I){const F=y.currentPosition();if(F.offset+=C,F.column+=C,n){const S=t?Wo(T,F):null,W=An(h,S,{domain:pp,args:I});n(W)}}function s(y,h,T,C,...I){const F=y.currentPosition();if(F.offset+=C,F.column+=C,o){const S=t?Wo(T,F):null;o(ap(h,S,I))}}function i(y,h,T){const C={type:y};return t&&(C.start=h,C.end=h,C.loc={start:T,end:T}),C}function r(y,h,T,C){t&&(y.end=h,y.loc&&(y.loc.end=T))}function l(y,h){const T=y.context(),C=i(3,T.offset,T.startLoc);return C.value=h,r(C,y.currentOffset(),y.currentPosition()),C}function c(y,h){const T=y.context(),{lastOffset:C,lastStartLoc:I}=T,F=i(5,C,I);return F.index=parseInt(h,10),y.nextToken(),r(F,y.currentOffset(),y.currentPosition()),F}function u(y,h,T){const C=y.context(),{lastOffset:I,lastStartLoc:F}=C,S=i(4,I,F);return S.key=h,T===!0&&(S.modulo=!0),y.nextToken(),r(S,y.currentOffset(),y.currentPosition()),S}function f(y,h){const T=y.context(),{lastOffset:C,lastStartLoc:I}=T,F=i(9,C,I);return F.value=h.replace(hp,mp),y.nextToken(),r(F,y.currentOffset(),y.currentPosition()),F}function b(y){const h=y.nextToken(),T=y.context(),{lastOffset:C,lastStartLoc:I}=T,F=i(8,C,I);return h.type!==12?(a(y,Q.UNEXPECTED_EMPTY_LINKED_MODIFIER,T.lastStartLoc,0),F.value="",r(F,C,I),{nextConsumeToken:h,node:F}):(h.value==null&&a(y,Q.UNEXPECTED_LEXICAL_ANALYSIS,T.lastStartLoc,0,at(h)),F.value=h.value||"",r(F,y.currentOffset(),y.currentPosition()),{node:F})}function v(y,h){const T=y.context(),C=i(7,T.offset,T.startLoc);return C.value=h,r(C,y.currentOffset(),y.currentPosition()),C}function E(y){const h=y.context(),T=i(6,h.offset,h.startLoc);let C=y.nextToken();if(C.type===9){const I=b(y);T.modifier=I.node,C=I.nextConsumeToken||y.nextToken()}switch(C.type!==10&&a(y,Q.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,at(C)),C=y.nextToken(),C.type===2&&(C=y.nextToken()),C.type){case 11:C.value==null&&a(y,Q.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,at(C)),T.key=v(y,C.value||"");break;case 5:C.value==null&&a(y,Q.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,at(C)),T.key=u(y,C.value||"");break;case 6:C.value==null&&a(y,Q.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,at(C)),T.key=c(y,C.value||"");break;case 7:C.value==null&&a(y,Q.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,at(C)),T.key=f(y,C.value||"");break;default:{a(y,Q.UNEXPECTED_EMPTY_LINKED_KEY,h.lastStartLoc,0);const I=y.context(),F=i(7,I.offset,I.startLoc);return F.value="",r(F,I.offset,I.startLoc),T.key=F,r(T,I.offset,I.startLoc),{nextConsumeToken:C,node:T}}}return r(T,y.currentOffset(),y.currentPosition()),{node:T}}function A(y){const h=y.context(),T=h.currentType===1?y.currentOffset():h.offset,C=h.currentType===1?h.endLoc:h.startLoc,I=i(2,T,C);I.items=[];let F=null,S=null;do{const H=F||y.nextToken();switch(F=null,H.type){case 0:H.value==null&&a(y,Q.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,at(H)),I.items.push(l(y,H.value||""));break;case 6:H.value==null&&a(y,Q.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,at(H)),I.items.push(c(y,H.value||""));break;case 4:S=!0;break;case 5:H.value==null&&a(y,Q.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,at(H)),I.items.push(u(y,H.value||"",!!S)),S&&(s(y,qa.USE_MODULO_SYNTAX,h.lastStartLoc,0,at(H)),S=null);break;case 7:H.value==null&&a(y,Q.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,at(H)),I.items.push(f(y,H.value||""));break;case 8:{const ee=E(y);I.items.push(ee.node),F=ee.nextConsumeToken||null;break}}}while(h.currentType!==14&&h.currentType!==1);const W=h.currentType===1?h.lastOffset:y.currentOffset(),ae=h.currentType===1?h.lastEndLoc:y.currentPosition();return r(I,W,ae),I}function R(y,h,T,C){const I=y.context();let F=C.items.length===0;const S=i(1,h,T);S.cases=[],S.cases.push(C);do{const W=A(y);F||(F=W.items.length===0),S.cases.push(W)}while(I.currentType!==14);return F&&a(y,Q.MUST_HAVE_MESSAGES_IN_PLURAL,T,0),r(S,y.currentOffset(),y.currentPosition()),S}function M(y){const h=y.context(),{offset:T,startLoc:C}=h,I=A(y);return h.currentType===14?I:R(y,T,C,I)}function L(y){const h=fp(y,Pr({},e)),T=h.context(),C=i(0,T.offset,T.startLoc);return t&&C.loc&&(C.loc.source=y),C.body=M(h),e.onCacheKey&&(C.cacheKey=e.onCacheKey(y)),T.currentType!==14&&a(h,Q.UNEXPECTED_LEXICAL_ANALYSIS,T.lastStartLoc,0,y[T.offset]||""),r(C,h.currentOffset(),h.currentPosition()),C}return{parse:L}}function at(e){if(e.type===14)return"EOF";const t=(e.value||"").replace(/\r?\n/gu,"\\n");return t.length>10?t.slice(0,9)+"…":t}function _p(e,t={}){const n={ast:e,helpers:new Set};return{context:()=>n,helper:s=>(n.helpers.add(s),s)}}function Rr(e,t){for(let n=0;nFr(n)),e}function Fr(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let n=0;ni;function l(A,R){i.code+=A}function c(A,R=!0){const M=R?o:"";l(a?M+" ".repeat(A):M)}function u(A=!0){const R=++i.indentLevel;A&&c(R)}function f(A=!0){const R=--i.indentLevel;A&&c(R)}function b(){c(i.indentLevel)}return{context:r,push:l,indent:u,deindent:f,newline:b,helper:A=>`_${A}`,needIndent:()=>i.needIndent}}function Tp(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),vn(e,t.key),t.modifier?(e.push(", "),vn(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function $p(e,t){const{helper:n,needIndent:o}=e;e.push(`${n("normalize")}([`),e.indent(o());const a=t.items.length;for(let s=0;s1){e.push(`${n("plural")}([`),e.indent(o());const a=t.cases.length;for(let s=0;s{const n=Ir(t.mode)?t.mode:"normal",o=Ir(t.filename)?t.filename:"message.intl";t.sourceMap;const a=t.breakLineCode!=null?t.breakLineCode:n==="arrow"?";":` -`,s=t.needIndent?t.needIndent:n!=="arrow",i=e.helpers||[],r=kp(e,{filename:o,breakLineCode:a,needIndent:s});r.push(n==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),r.indent(s),i.length>0&&(r.push(`const { ${Mr(i.map(u=>`${u}: _${u}`),", ")} } = ctx`),r.newline()),r.push("return "),vn(r,e),r.deindent(s),r.push("}"),delete e.helpers;const{code:l,map:c}=r.context();return{ast:e,code:l,map:c?c.toJSON():void 0}};function Np(e,t={}){const n=Pr({},t),o=!!n.jit,a=!!n.minify,s=n.optimize==null?!0:n.optimize,r=bp(n).parse(e);return o?(s&&Ap(r),a&&Sn(r),{ast:r,code:""}):(yp(r,n),Cp(r,n))}/*! + */function tp(e,t,n){return{line:e,column:t,offset:n}}function Wo(e,t,n){return{start:e,end:t}}const np=/\{([0-9a-zA-Z]+)\}/g;function Pr(e,...t){return t.length===1&&op(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(np,(n,o)=>t.hasOwnProperty(o)?t[o]:"")}const Ir=Object.assign,Mr=e=>typeof e=="string",op=e=>e!==null&&typeof e=="object";function Dr(e,t=""){return e.reduce((n,o,a)=>a===0?n+o:n+t+o,"")}const qa={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},ap={[qa.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function sp(e,t,...n){const o=Pr(ap[e],...n||[]),a={message:String(o),code:e};return t&&(a.location=t),a}const Q={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14,UNHANDLED_CODEGEN_NODE_TYPE:15,UNHANDLED_MINIFIER_NODE_TYPE:16,__EXTEND_POINT__:17},ip={[Q.EXPECTED_TOKEN]:"Expected token: '{0}'",[Q.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[Q.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[Q.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[Q.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[Q.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[Q.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[Q.EMPTY_PLACEHOLDER]:"Empty placeholder",[Q.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[Q.INVALID_LINKED_FORMAT]:"Invalid linked format",[Q.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[Q.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[Q.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[Q.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[Q.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[Q.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function An(e,t,n={}){const{domain:o,messages:a,args:s}=n,i=Pr((a||ip)[e]||"",...s||[]),r=new SyntaxError(String(i));return r.code=e,t&&(r.location=t),r.domain=o,r}function rp(e){throw e}const Pt=" ",lp="\r",xe=` +`,cp="\u2028",up="\u2029";function gp(e){const t=e;let n=0,o=1,a=1,s=0;const i=I=>t[I]===lp&&t[I+1]===xe,r=I=>t[I]===xe,l=I=>t[I]===up,c=I=>t[I]===cp,u=I=>i(I)||r(I)||l(I)||c(I),f=()=>n,b=()=>o,v=()=>a,E=()=>s,A=I=>i(I)||l(I)||c(I)?xe:t[I],R=()=>A(n),M=()=>A(n+s);function L(){return s=0,u(n)&&(o++,a=0),i(n)&&n++,n++,a++,t[n]}function y(){return i(n+s)&&s++,s++,t[n+s]}function h(){n=0,o=1,a=1,s=0}function T(I=0){s=I}function C(){const I=n+s;for(;I!==n;)L();s=0}return{index:f,line:b,column:v,peekOffset:E,charAt:A,currentChar:R,currentPeek:M,next:L,peek:y,reset:h,resetPeek:T,skipToPeek:C}}const Gt=void 0,dp=".",Rr="'",fp="tokenizer";function pp(e,t={}){const n=t.location!==!1,o=gp(e),a=()=>o.index(),s=()=>tp(o.line(),o.column(),o.index()),i=s(),r=a(),l={currentType:14,offset:r,startLoc:i,endLoc:i,lastType:14,lastOffset:r,lastStartLoc:i,lastEndLoc:i,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:u}=t;function f(g,d,$,...w){const z=c();if(d.column+=$,d.offset+=$,u){const K=n?Wo(z.startLoc,d):null,k=An(g,K,{domain:fp,args:w});u(k)}}function b(g,d,$){g.endLoc=s(),g.currentType=d;const w={type:d};return n&&(w.loc=Wo(g.startLoc,g.endLoc)),$!=null&&(w.value=$),w}const v=g=>b(g,14);function E(g,d){return g.currentChar()===d?(g.next(),d):(f(Q.EXPECTED_TOKEN,s(),0,d),"")}function A(g){let d="";for(;g.currentPeek()===Pt||g.currentPeek()===xe;)d+=g.currentPeek(),g.peek();return d}function R(g){const d=A(g);return g.skipToPeek(),d}function M(g){if(g===Gt)return!1;const d=g.charCodeAt(0);return d>=97&&d<=122||d>=65&&d<=90||d===95}function L(g){if(g===Gt)return!1;const d=g.charCodeAt(0);return d>=48&&d<=57}function y(g,d){const{currentType:$}=d;if($!==2)return!1;A(g);const w=M(g.currentPeek());return g.resetPeek(),w}function h(g,d){const{currentType:$}=d;if($!==2)return!1;A(g);const w=g.currentPeek()==="-"?g.peek():g.currentPeek(),z=L(w);return g.resetPeek(),z}function T(g,d){const{currentType:$}=d;if($!==2)return!1;A(g);const w=g.currentPeek()===Rr;return g.resetPeek(),w}function C(g,d){const{currentType:$}=d;if($!==8)return!1;A(g);const w=g.currentPeek()===".";return g.resetPeek(),w}function I(g,d){const{currentType:$}=d;if($!==9)return!1;A(g);const w=M(g.currentPeek());return g.resetPeek(),w}function F(g,d){const{currentType:$}=d;if(!($===8||$===12))return!1;A(g);const w=g.currentPeek()===":";return g.resetPeek(),w}function S(g,d){const{currentType:$}=d;if($!==10)return!1;const w=()=>{const K=g.currentPeek();return K==="{"?M(g.peek()):K==="@"||K==="%"||K==="|"||K===":"||K==="."||K===Pt||!K?!1:K===xe?(g.peek(),w()):H(g,!1)},z=w();return g.resetPeek(),z}function W(g){A(g);const d=g.currentPeek()==="|";return g.resetPeek(),d}function ae(g){const d=A(g),$=g.currentPeek()==="%"&&g.peek()==="{";return g.resetPeek(),{isModulo:$,hasSpace:d.length>0}}function H(g,d=!0){const $=(z=!1,K="",k=!1)=>{const P=g.currentPeek();return P==="{"?K==="%"?!1:z:P==="@"||!P?K==="%"?!0:z:P==="%"?(g.peek(),$(z,"%",!0)):P==="|"?K==="%"||k?!0:!(K===Pt||K===xe):P===Pt?(g.peek(),$(!0,Pt,k)):P===xe?(g.peek(),$(!0,xe,k)):!0},w=$();return d&&g.resetPeek(),w}function ee(g,d){const $=g.currentChar();return $===Gt?Gt:d($)?(g.next(),$):null}function Y(g){const d=g.charCodeAt(0);return d>=97&&d<=122||d>=65&&d<=90||d>=48&&d<=57||d===95||d===36}function D(g){return ee(g,Y)}function j(g){const d=g.charCodeAt(0);return d>=97&&d<=122||d>=65&&d<=90||d>=48&&d<=57||d===95||d===36||d===45}function B(g){return ee(g,j)}function V(g){const d=g.charCodeAt(0);return d>=48&&d<=57}function X(g){return ee(g,V)}function ue(g){const d=g.charCodeAt(0);return d>=48&&d<=57||d>=65&&d<=70||d>=97&&d<=102}function de(g){return ee(g,ue)}function fe(g){let d="",$="";for(;d=X(g);)$+=d;return $}function je(g){R(g);const d=g.currentChar();return d!=="%"&&f(Q.EXPECTED_TOKEN,s(),0,d),g.next(),"%"}function Yt(g){let d="";for(;;){const $=g.currentChar();if($==="{"||$==="}"||$==="@"||$==="|"||!$)break;if($==="%")if(H(g))d+=$,g.next();else break;else if($===Pt||$===xe)if(H(g))d+=$,g.next();else{if(W(g))break;d+=$,g.next()}else d+=$,g.next()}return d}function ln(g){R(g);let d="",$="";for(;d=B(g);)$+=d;return g.currentChar()===Gt&&f(Q.UNTERMINATED_CLOSING_BRACE,s(),0),$}function it(g){R(g);let d="";return g.currentChar()==="-"?(g.next(),d+=`-${fe(g)}`):d+=fe(g),g.currentChar()===Gt&&f(Q.UNTERMINATED_CLOSING_BRACE,s(),0),d}function Rt(g){return g!==Rr&&g!==xe}function Ft(g){R(g),E(g,"'");let d="",$="";for(;d=ee(g,Rt);)d==="\\"?$+=Jt(g):$+=d;const w=g.currentChar();return w===xe||w===Gt?(f(Q.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,s(),0),w===xe&&(g.next(),E(g,"'")),$):(E(g,"'"),$)}function Jt(g){const d=g.currentChar();switch(d){case"\\":case"'":return g.next(),`\\${d}`;case"u":return Ze(g,d,4);case"U":return Ze(g,d,6);default:return f(Q.UNKNOWN_ESCAPE_SEQUENCE,s(),0,d),""}}function Ze(g,d,$){E(g,d);let w="";for(let z=0;z<$;z++){const K=de(g);if(!K){f(Q.INVALID_UNICODE_ESCAPE_SEQUENCE,s(),0,`\\${d}${w}${g.currentChar()}`);break}w+=K}return`\\${d}${w}`}function En(g){return g!=="{"&&g!=="}"&&g!==Pt&&g!==xe}function p(g){R(g);let d="",$="";for(;d=ee(g,En);)$+=d;return $}function _(g){let d="",$="";for(;d=D(g);)$+=d;return $}function m(g){const d=$=>{const w=g.currentChar();return w==="{"||w==="%"||w==="@"||w==="|"||w==="("||w===")"||!w||w===Pt?$:($+=w,g.next(),d($))};return d("")}function N(g){R(g);const d=E(g,"|");return R(g),d}function x(g,d){let $=null;switch(g.currentChar()){case"{":return d.braceNest>=1&&f(Q.NOT_ALLOW_NEST_PLACEHOLDER,s(),0),g.next(),$=b(d,2,"{"),R(g),d.braceNest++,$;case"}":return d.braceNest>0&&d.currentType===2&&f(Q.EMPTY_PLACEHOLDER,s(),0),g.next(),$=b(d,3,"}"),d.braceNest--,d.braceNest>0&&R(g),d.inLinked&&d.braceNest===0&&(d.inLinked=!1),$;case"@":return d.braceNest>0&&f(Q.UNTERMINATED_CLOSING_BRACE,s(),0),$=O(g,d)||v(d),d.braceNest=0,$;default:{let z=!0,K=!0,k=!0;if(W(g))return d.braceNest>0&&f(Q.UNTERMINATED_CLOSING_BRACE,s(),0),$=b(d,1,N(g)),d.braceNest=0,d.inLinked=!1,$;if(d.braceNest>0&&(d.currentType===5||d.currentType===6||d.currentType===7))return f(Q.UNTERMINATED_CLOSING_BRACE,s(),0),d.braceNest=0,G(g,d);if(z=y(g,d))return $=b(d,5,ln(g)),R(g),$;if(K=h(g,d))return $=b(d,6,it(g)),R(g),$;if(k=T(g,d))return $=b(d,7,Ft(g)),R(g),$;if(!z&&!K&&!k)return $=b(d,13,p(g)),f(Q.INVALID_TOKEN_IN_PLACEHOLDER,s(),0,$.value),R(g),$;break}}return $}function O(g,d){const{currentType:$}=d;let w=null;const z=g.currentChar();switch(($===8||$===9||$===12||$===10)&&(z===xe||z===Pt)&&f(Q.INVALID_LINKED_FORMAT,s(),0),z){case"@":return g.next(),w=b(d,8,"@"),d.inLinked=!0,w;case".":return R(g),g.next(),b(d,9,".");case":":return R(g),g.next(),b(d,10,":");default:return W(g)?(w=b(d,1,N(g)),d.braceNest=0,d.inLinked=!1,w):C(g,d)||F(g,d)?(R(g),O(g,d)):I(g,d)?(R(g),b(d,12,_(g))):S(g,d)?(R(g),z==="{"?x(g,d)||w:b(d,11,m(g))):($===8&&f(Q.INVALID_LINKED_FORMAT,s(),0),d.braceNest=0,d.inLinked=!1,G(g,d))}}function G(g,d){let $={type:14};if(d.braceNest>0)return x(g,d)||v(d);if(d.inLinked)return O(g,d)||v(d);switch(g.currentChar()){case"{":return x(g,d)||v(d);case"}":return f(Q.UNBALANCED_CLOSING_BRACE,s(),0),g.next(),b(d,3,"}");case"@":return O(g,d)||v(d);default:{if(W(g))return $=b(d,1,N(g)),d.braceNest=0,d.inLinked=!1,$;const{isModulo:z,hasSpace:K}=ae(g);if(z)return K?b(d,0,Yt(g)):b(d,4,je(g));if(H(g))return b(d,0,Yt(g));break}}return $}function U(){const{currentType:g,offset:d,startLoc:$,endLoc:w}=l;return l.lastType=g,l.lastOffset=d,l.lastStartLoc=$,l.lastEndLoc=w,l.offset=a(),l.startLoc=s(),o.currentChar()===Gt?b(l,14):G(o,l)}return{nextToken:U,currentOffset:a,currentPosition:s,context:c}}const hp="parser",mp=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function bp(e,t,n){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const o=parseInt(t||n,16);return o<=55295||o>=57344?String.fromCodePoint(o):"�"}}}function _p(e={}){const t=e.location!==!1,{onError:n,onWarn:o}=e;function a(y,h,T,C,...I){const F=y.currentPosition();if(F.offset+=C,F.column+=C,n){const S=t?Wo(T,F):null,W=An(h,S,{domain:hp,args:I});n(W)}}function s(y,h,T,C,...I){const F=y.currentPosition();if(F.offset+=C,F.column+=C,o){const S=t?Wo(T,F):null;o(sp(h,S,I))}}function i(y,h,T){const C={type:y};return t&&(C.start=h,C.end=h,C.loc={start:T,end:T}),C}function r(y,h,T,C){t&&(y.end=h,y.loc&&(y.loc.end=T))}function l(y,h){const T=y.context(),C=i(3,T.offset,T.startLoc);return C.value=h,r(C,y.currentOffset(),y.currentPosition()),C}function c(y,h){const T=y.context(),{lastOffset:C,lastStartLoc:I}=T,F=i(5,C,I);return F.index=parseInt(h,10),y.nextToken(),r(F,y.currentOffset(),y.currentPosition()),F}function u(y,h,T){const C=y.context(),{lastOffset:I,lastStartLoc:F}=C,S=i(4,I,F);return S.key=h,T===!0&&(S.modulo=!0),y.nextToken(),r(S,y.currentOffset(),y.currentPosition()),S}function f(y,h){const T=y.context(),{lastOffset:C,lastStartLoc:I}=T,F=i(9,C,I);return F.value=h.replace(mp,bp),y.nextToken(),r(F,y.currentOffset(),y.currentPosition()),F}function b(y){const h=y.nextToken(),T=y.context(),{lastOffset:C,lastStartLoc:I}=T,F=i(8,C,I);return h.type!==12?(a(y,Q.UNEXPECTED_EMPTY_LINKED_MODIFIER,T.lastStartLoc,0),F.value="",r(F,C,I),{nextConsumeToken:h,node:F}):(h.value==null&&a(y,Q.UNEXPECTED_LEXICAL_ANALYSIS,T.lastStartLoc,0,at(h)),F.value=h.value||"",r(F,y.currentOffset(),y.currentPosition()),{node:F})}function v(y,h){const T=y.context(),C=i(7,T.offset,T.startLoc);return C.value=h,r(C,y.currentOffset(),y.currentPosition()),C}function E(y){const h=y.context(),T=i(6,h.offset,h.startLoc);let C=y.nextToken();if(C.type===9){const I=b(y);T.modifier=I.node,C=I.nextConsumeToken||y.nextToken()}switch(C.type!==10&&a(y,Q.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,at(C)),C=y.nextToken(),C.type===2&&(C=y.nextToken()),C.type){case 11:C.value==null&&a(y,Q.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,at(C)),T.key=v(y,C.value||"");break;case 5:C.value==null&&a(y,Q.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,at(C)),T.key=u(y,C.value||"");break;case 6:C.value==null&&a(y,Q.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,at(C)),T.key=c(y,C.value||"");break;case 7:C.value==null&&a(y,Q.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,at(C)),T.key=f(y,C.value||"");break;default:{a(y,Q.UNEXPECTED_EMPTY_LINKED_KEY,h.lastStartLoc,0);const I=y.context(),F=i(7,I.offset,I.startLoc);return F.value="",r(F,I.offset,I.startLoc),T.key=F,r(T,I.offset,I.startLoc),{nextConsumeToken:C,node:T}}}return r(T,y.currentOffset(),y.currentPosition()),{node:T}}function A(y){const h=y.context(),T=h.currentType===1?y.currentOffset():h.offset,C=h.currentType===1?h.endLoc:h.startLoc,I=i(2,T,C);I.items=[];let F=null,S=null;do{const H=F||y.nextToken();switch(F=null,H.type){case 0:H.value==null&&a(y,Q.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,at(H)),I.items.push(l(y,H.value||""));break;case 6:H.value==null&&a(y,Q.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,at(H)),I.items.push(c(y,H.value||""));break;case 4:S=!0;break;case 5:H.value==null&&a(y,Q.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,at(H)),I.items.push(u(y,H.value||"",!!S)),S&&(s(y,qa.USE_MODULO_SYNTAX,h.lastStartLoc,0,at(H)),S=null);break;case 7:H.value==null&&a(y,Q.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,at(H)),I.items.push(f(y,H.value||""));break;case 8:{const ee=E(y);I.items.push(ee.node),F=ee.nextConsumeToken||null;break}}}while(h.currentType!==14&&h.currentType!==1);const W=h.currentType===1?h.lastOffset:y.currentOffset(),ae=h.currentType===1?h.lastEndLoc:y.currentPosition();return r(I,W,ae),I}function R(y,h,T,C){const I=y.context();let F=C.items.length===0;const S=i(1,h,T);S.cases=[],S.cases.push(C);do{const W=A(y);F||(F=W.items.length===0),S.cases.push(W)}while(I.currentType!==14);return F&&a(y,Q.MUST_HAVE_MESSAGES_IN_PLURAL,T,0),r(S,y.currentOffset(),y.currentPosition()),S}function M(y){const h=y.context(),{offset:T,startLoc:C}=h,I=A(y);return h.currentType===14?I:R(y,T,C,I)}function L(y){const h=pp(y,Ir({},e)),T=h.context(),C=i(0,T.offset,T.startLoc);return t&&C.loc&&(C.loc.source=y),C.body=M(h),e.onCacheKey&&(C.cacheKey=e.onCacheKey(y)),T.currentType!==14&&a(h,Q.UNEXPECTED_LEXICAL_ANALYSIS,T.lastStartLoc,0,y[T.offset]||""),r(C,h.currentOffset(),h.currentPosition()),C}return{parse:L}}function at(e){if(e.type===14)return"EOF";const t=(e.value||"").replace(/\r?\n/gu,"\\n");return t.length>10?t.slice(0,9)+"…":t}function yp(e,t={}){const n={ast:e,helpers:new Set};return{context:()=>n,helper:s=>(n.helpers.add(s),s)}}function Fr(e,t){for(let n=0;nOr(n)),e}function Or(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let n=0;ni;function l(A,R){i.code+=A}function c(A,R=!0){const M=R?o:"";l(a?M+" ".repeat(A):M)}function u(A=!0){const R=++i.indentLevel;A&&c(R)}function f(A=!0){const R=--i.indentLevel;A&&c(R)}function b(){c(i.indentLevel)}return{context:r,push:l,indent:u,deindent:f,newline:b,helper:A=>`_${A}`,needIndent:()=>i.needIndent}}function $p(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),vn(e,t.key),t.modifier?(e.push(", "),vn(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function Ep(e,t){const{helper:n,needIndent:o}=e;e.push(`${n("normalize")}([`),e.indent(o());const a=t.items.length;for(let s=0;s1){e.push(`${n("plural")}([`),e.indent(o());const a=t.cases.length;for(let s=0;s{const n=Mr(t.mode)?t.mode:"normal",o=Mr(t.filename)?t.filename:"message.intl";t.sourceMap;const a=t.breakLineCode!=null?t.breakLineCode:n==="arrow"?";":` +`,s=t.needIndent?t.needIndent:n!=="arrow",i=e.helpers||[],r=Tp(e,{filename:o,breakLineCode:a,needIndent:s});r.push(n==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),r.indent(s),i.length>0&&(r.push(`const { ${Dr(i.map(u=>`${u}: _${u}`),", ")} } = ctx`),r.newline()),r.push("return "),vn(r,e),r.deindent(s),r.push("}"),delete e.helpers;const{code:l,map:c}=r.context();return{ast:e,code:l,map:c?c.toJSON():void 0}};function wp(e,t={}){const n=Ir({},t),o=!!n.jit,a=!!n.minify,s=n.optimize==null?!0:n.optimize,r=_p(n).parse(e);return o?(s&&Sp(r),a&&Sn(r),{ast:r,code:""}):(Ap(r,n),Np(r,n))}/*! * core-base v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function wp(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(wt().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(wt().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(wt().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function mt(e){return re(e)&&Va(e)===0&&(ot(e,"b")||ot(e,"body"))}const Or=["b","body"];function Pp(e){return zt(e,Or)}const xr=["c","cases"];function Ip(e){return zt(e,xr,[])}const jr=["s","static"];function Mp(e){return zt(e,jr)}const Br=["i","items"];function Dp(e){return zt(e,Br,[])}const Kr=["t","type"];function Va(e){return zt(e,Kr)}const Ur=["v","value"];function Yo(e,t){const n=zt(e,Ur);if(n!=null)return n;throw Zn(t)}const Gr=["m","modifier"];function Rp(e){return zt(e,Gr)}const zr=["k","key"];function Fp(e){const t=zt(e,zr);if(t)return t;throw Zn(6)}function zt(e,t,n){for(let o=0;o{i===void 0?i=r:i+=r},b[1]=()=>{i!==void 0&&(t.push(i),i=void 0)},b[2]=()=>{b[0](),a++},b[3]=()=>{if(a>0)a--,o=4,b[0]();else{if(a=0,i===void 0||(i=Kp(i),i===!1))return!1;b[1]()}};function v(){const E=e[n+1];if(o===5&&E==="'"||o===6&&E==='"')return n++,r="\\"+E,b[0](),!0}for(;o!==null;)if(n++,s=e[n],!(s==="\\"&&v())){if(l=Bp(s),f=qt[o],c=f[l]||f.l||8,c===8||(o=c[0],c[1]!==void 0&&(u=b[c[1]],u&&(r=s,u()===!1))))return;if(o===7)return t}}const Hr=new Map;function Gp(e,t){return re(e)?e[t]:null}function zp(e,t){if(!re(e))return null;let n=Hr.get(t);if(n||(n=Up(t),n&&Hr.set(t,n)),!n)return null;const o=n.length;let a=e,s=0;for(;se,Hp=e=>"",Vp="text",Wp=e=>e.length===0?"":Qf(e),Yp=Zf;function Vr(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function Jp(e){const t=Te(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(Te(e.named.count)||Te(e.named.n))?Te(e.named.count)?e.named.count:Te(e.named.n)?e.named.n:t:t}function Xp(e,t){t.count||(t.count=e),t.n||(t.n=e)}function Zp(e={}){const t=e.locale,n=Jp(e),o=re(e.pluralRules)&&q(t)&&_e(e.pluralRules[t])?e.pluralRules[t]:Vr,a=re(e.pluralRules)&&q(t)&&_e(e.pluralRules[t])?Vr:void 0,s=M=>M[o(n,M.length,a)],i=e.list||[],r=M=>i[M],l=e.named||ge();Te(e.pluralIndex)&&Xp(n,l);const c=M=>l[M];function u(M){const L=_e(e.messages)?e.messages(M):re(e.messages)?e.messages[M]:!1;return L||(e.parent?e.parent.message(M):Hp)}const f=M=>e.modifiers?e.modifiers[M]:qp,b=ne(e.processor)&&_e(e.processor.normalize)?e.processor.normalize:Wp,v=ne(e.processor)&&_e(e.processor.interpolate)?e.processor.interpolate:Yp,E=ne(e.processor)&&q(e.processor.type)?e.processor.type:Vp,R={list:r,named:c,plural:s,linked:(M,...L)=>{const[y,h]=L;let T="text",C="";L.length===1?re(y)?(C=y.modifier||C,T=y.type||T):q(y)&&(C=y||C):L.length===2&&(q(y)&&(C=y||C),q(h)&&(T=h||T));const I=u(M)(R),F=T==="vnode"&&Se(I)&&C?I[0]:I;return C?f(C)(F,T):F},message:u,type:E,interpolate:v,normalize:b,values:Ie(ge(),i,l)};return R}let Qn=null;function Qp(e){Qn=e}function eh(e,t,n){Qn&&Qn.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:n})}const th=nh("function:translate");function nh(e){return t=>Qn&&Qn.emit(e,t)}const oh=qa.__EXTEND_POINT__,sn=qo(oh),ah={FALLBACK_TO_TRANSLATE:sn(),CANNOT_FORMAT_NUMBER:sn(),FALLBACK_TO_NUMBER_FORMAT:sn(),CANNOT_FORMAT_DATE:sn(),FALLBACK_TO_DATE_FORMAT:sn(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:sn(),__EXTEND_POINT__:sn()},Wr=Q.__EXTEND_POINT__,rn=qo(Wr),st={INVALID_ARGUMENT:Wr,INVALID_DATE_ARGUMENT:rn(),INVALID_ISO_DATE_ARGUMENT:rn(),NOT_SUPPORT_NON_STRING_MESSAGE:rn(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:rn(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:rn(),NOT_SUPPORT_LOCALE_TYPE:rn(),__EXTEND_POINT__:rn()};function bt(e){return An(e,null,void 0)}function Wa(e,t){return t.locale!=null?Yr(t.locale):Yr(e.locale)}let Ya;function Yr(e){if(q(e))return e;if(_e(e)){if(e.resolvedOnce&&Ya!=null)return Ya;if(e.constructor.name==="Function"){const t=e();if(Xf(t))throw bt(st.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Ya=t}else throw bt(st.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw bt(st.NOT_SUPPORT_LOCALE_TYPE)}function sh(e,t,n){return[...new Set([n,...Se(t)?t:re(t)?Object.keys(t):q(t)?[t]:[n]])]}function Jr(e,t,n){const o=q(n)?n:kn,a=e;a.__localeChainCache||(a.__localeChainCache=new Map);let s=a.__localeChainCache.get(o);if(!s){s=[];let i=[n];for(;Se(i);)i=Xr(s,i,t);const r=Se(t)||!ne(t)?t:t.default?t.default:null;i=q(r)?[r]:r,Se(i)&&Xr(s,i,!1),a.__localeChainCache.set(o,s)}return s}function Xr(e,t,n){let o=!0;for(let a=0;a`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function ch(){return{upper:(e,t)=>t==="text"&&q(e)?e.toUpperCase():t==="vnode"&&re(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&q(e)?e.toLowerCase():t==="vnode"&&re(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&q(e)?Qr(e):t==="vnode"&&re(e)&&"__v_isVNode"in e?Qr(e.children):e}}let el;function tl(e){el=e}let nl;function uh(e){nl=e}let ol;function gh(e){ol=e}let al=null;const dh=e=>{al=e},fh=()=>al;let sl=null;const il=e=>{sl=e},ph=()=>sl;let rl=0;function hh(e={}){const t=_e(e.onWarn)?e.onWarn:zf,n=q(e.version)?e.version:lh,o=q(e.locale)||_e(e.locale)?e.locale:kn,a=_e(o)?kn:o,s=Se(e.fallbackLocale)||ne(e.fallbackLocale)||q(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:a,i=ne(e.messages)?e.messages:Ja(a),r=ne(e.datetimeFormats)?e.datetimeFormats:Ja(a),l=ne(e.numberFormats)?e.numberFormats:Ja(a),c=Ie(ge(),e.modifiers,ch()),u=e.pluralRules||ge(),f=_e(e.missing)?e.missing:null,b=se(e.missingWarn)||Ut(e.missingWarn)?e.missingWarn:!0,v=se(e.fallbackWarn)||Ut(e.fallbackWarn)?e.fallbackWarn:!0,E=!!e.fallbackFormat,A=!!e.unresolving,R=_e(e.postTranslation)?e.postTranslation:null,M=ne(e.processor)?e.processor:null,L=se(e.warnHtmlMessage)?e.warnHtmlMessage:!0,y=!!e.escapeParameter,h=_e(e.messageCompiler)?e.messageCompiler:el,T=_e(e.messageResolver)?e.messageResolver:nl||Gp,C=_e(e.localeFallbacker)?e.localeFallbacker:ol||sh,I=re(e.fallbackContext)?e.fallbackContext:void 0,F=e,S=re(F.__datetimeFormatters)?F.__datetimeFormatters:new Map,W=re(F.__numberFormatters)?F.__numberFormatters:new Map,ae=re(F.__meta)?F.__meta:{};rl++;const H={version:n,cid:rl,locale:o,fallbackLocale:s,messages:i,modifiers:c,pluralRules:u,missing:f,missingWarn:b,fallbackWarn:v,fallbackFormat:E,unresolving:A,postTranslation:R,processor:M,warnHtmlMessage:L,escapeParameter:y,messageCompiler:h,messageResolver:T,localeFallbacker:C,fallbackContext:I,onWarn:t,__meta:ae};return H.datetimeFormats=r,H.numberFormats=l,H.__datetimeFormatters=S,H.__numberFormatters=W,__INTLIFY_PROD_DEVTOOLS__&&eh(H,n,ae),H}const Ja=e=>({[e]:ge()});function Xa(e,t,n,o,a){const{missing:s,onWarn:i}=e;if(s!==null){const r=s(e,n,t,a);return q(r)?r:t}else return t}function eo(e,t,n){const o=e;o.__localeChainCache=new Map,e.localeFallbacker(e,n,t)}function mh(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function bh(e,t){const n=t.indexOf(e);if(n===-1)return!1;for(let o=n+1;o_h(n,e)}function _h(e,t){const n=Pp(t);if(n==null)throw Zn(0);if(Va(n)===1){const s=Ip(n);return e.plural(s.reduce((i,r)=>[...i,ll(e,r)],[]))}else return ll(e,n)}function ll(e,t){const n=Mp(t);if(n!=null)return e.type==="text"?n:e.normalize([n]);{const o=Dp(t).reduce((a,s)=>[...a,Qa(e,s)],[]);return e.normalize(o)}}function Qa(e,t){const n=Va(t);switch(n){case 3:return Yo(t,n);case 9:return Yo(t,n);case 4:{const o=t;if(ot(o,"k")&&o.k)return e.interpolate(e.named(o.k));if(ot(o,"key")&&o.key)return e.interpolate(e.named(o.key));throw Zn(n)}case 5:{const o=t;if(ot(o,"i")&&Te(o.i))return e.interpolate(e.list(o.i));if(ot(o,"index")&&Te(o.index))return e.interpolate(e.list(o.index));throw Zn(n)}case 6:{const o=t,a=Rp(o),s=Fp(o);return e.linked(Qa(e,s),a?Qa(e,a):void 0,e.type)}case 7:return Yo(t,n);case 8:return Yo(t,n);default:throw new Error(`unhandled node on format message part: ${n}`)}}const cl=e=>e;let Tn=ge();function ul(e,t={}){let n=!1;const o=t.onError||ip;return t.onError=a=>{n=!0,o(a)},{...Np(e,t),detectError:n}}const yh=(e,t)=>{if(!q(e))throw bt(st.NOT_SUPPORT_NON_STRING_MESSAGE);{se(t.warnHtmlMessage)&&t.warnHtmlMessage;const o=(t.onCacheKey||cl)(e),a=Tn[o];if(a)return a;const{code:s,detectError:i}=ul(e,t),r=new Function(`return ${s}`)();return i?r:Tn[o]=r}};function Ah(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&q(e)){se(t.warnHtmlMessage)&&t.warnHtmlMessage;const o=(t.onCacheKey||cl)(e),a=Tn[o];if(a)return a;const{ast:s,detectError:i}=ul(e,{...t,location:!1,jit:!0}),r=Za(s);return i?r:Tn[o]=r}else{const n=e.cacheKey;if(n){const o=Tn[n];return o||(Tn[n]=Za(e))}else return Za(e)}}const gl=()=>"",Je=e=>_e(e);function dl(e,...t){const{fallbackFormat:n,postTranslation:o,unresolving:a,messageCompiler:s,fallbackLocale:i,messages:r}=e,[l,c]=es(...t),u=se(c.missingWarn)?c.missingWarn:e.missingWarn,f=se(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,b=se(c.escapeParameter)?c.escapeParameter:e.escapeParameter,v=!!c.resolvedMessage,E=q(c.default)||se(c.default)?se(c.default)?s?l:()=>l:c.default:n?s?l:()=>l:"",A=n||E!=="",R=Wa(e,c);b&&Sh(c);let[M,L,y]=v?[l,R,r[R]||ge()]:fl(e,l,R,i,f,u),h=M,T=l;if(!v&&!(q(h)||mt(h)||Je(h))&&A&&(h=E,T=h),!v&&(!(q(h)||mt(h)||Je(h))||!q(L)))return a?Jo:l;let C=!1;const I=()=>{C=!0},F=Je(h)?h:pl(e,l,L,h,T,I);if(C)return h;const S=Th(e,L,y,c),W=Zp(S),ae=vh(e,F,W);let H=o?o(ae,l):ae;if(b&&q(H)&&(H=Yf(H)),__INTLIFY_PROD_DEVTOOLS__){const ee={timestamp:Date.now(),key:q(l)?l:Je(h)?h.key:"",locale:L||(Je(h)?h.locale:""),format:q(h)?h:Je(h)?h.source:"",message:H};ee.meta=Ie({},e.__meta,fh()||{}),th(ee)}return H}function Sh(e){Se(e.list)?e.list=e.list.map(t=>q(t)?Er(t):t):re(e.named)&&Object.keys(e.named).forEach(t=>{q(e.named[t])&&(e.named[t]=Er(e.named[t]))})}function fl(e,t,n,o,a,s){const{messages:i,onWarn:r,messageResolver:l,localeFallbacker:c}=e,u=c(e,o,n);let f=ge(),b,v=null;const E="translate";for(let A=0;Ao;return c.locale=n,c.key=t,c}const l=i(o,kh(e,n,a,o,r,s));return l.locale=n,l.key=t,l.source=o,l}function vh(e,t,n){return t(n)}function es(...e){const[t,n,o]=e,a=ge();if(!q(t)&&!Te(t)&&!Je(t)&&!mt(t))throw bt(st.INVALID_ARGUMENT);const s=Te(t)?String(t):(Je(t),t);return Te(n)?a.plural=n:q(n)?a.default=n:ne(n)&&!zo(n)?a.named=n:Se(n)&&(a.list=n),Te(o)?a.plural=o:q(o)?a.default=o:ne(o)&&Ie(a,o),[s,a]}function kh(e,t,n,o,a,s){return{locale:t,key:n,warnHtmlMessage:a,onError:i=>{throw s&&s(i),i},onCacheKey:i=>qf(t,n,i)}}function Th(e,t,n,o){const{modifiers:a,pluralRules:s,messageResolver:i,fallbackLocale:r,fallbackWarn:l,missingWarn:c,fallbackContext:u}=e,b={locale:t,modifiers:a,pluralRules:s,messages:v=>{let E=i(n,v);if(E==null&&u){const[,,A]=fl(u,v,t,r,l,c);E=i(A,v)}if(q(E)||mt(E)){let A=!1;const M=pl(e,v,t,E,v,()=>{A=!0});return A?gl:M}else return Je(E)?E:gl}};return e.processor&&(b.processor=e.processor),o.list&&(b.list=o.list),o.named&&(b.named=o.named),Te(o.plural)&&(b.pluralIndex=o.plural),b}function hl(e,...t){const{datetimeFormats:n,unresolving:o,fallbackLocale:a,onWarn:s,localeFallbacker:i}=e,{__datetimeFormatters:r}=e,[l,c,u,f]=ts(...t),b=se(u.missingWarn)?u.missingWarn:e.missingWarn;se(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const v=!!u.part,E=Wa(e,u),A=i(e,a,E);if(!q(l)||l==="")return new Intl.DateTimeFormat(E,f).format(c);let R={},M,L=null;const y="datetime format";for(let C=0;C{ml.includes(l)?i[l]=n[l]:s[l]=n[l]}),q(o)?s.locale=o:ne(o)&&(i=o),ne(a)&&(i=a),[s.key||"",r,s,i]}function bl(e,t,n){const o=e;for(const a in n){const s=`${t}__${a}`;o.__datetimeFormatters.has(s)&&o.__datetimeFormatters.delete(s)}}function _l(e,...t){const{numberFormats:n,unresolving:o,fallbackLocale:a,onWarn:s,localeFallbacker:i}=e,{__numberFormatters:r}=e,[l,c,u,f]=ns(...t),b=se(u.missingWarn)?u.missingWarn:e.missingWarn;se(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const v=!!u.part,E=Wa(e,u),A=i(e,a,E);if(!q(l)||l==="")return new Intl.NumberFormat(E,f).format(c);let R={},M,L=null;const y="number format";for(let C=0;C{yl.includes(l)?i[l]=n[l]:s[l]=n[l]}),q(o)?s.locale=o:ne(o)&&(i=o),ne(a)&&(i=a),[s.key||"",r,s,i]}function Al(e,t,n){const o=e;for(const a in n){const s=`${t}__${a}`;o.__numberFormatters.has(s)&&o.__numberFormatters.delete(s)}}wp();/*! + */function Pp(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(wt().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(wt().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(wt().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function mt(e){return re(e)&&Va(e)===0&&(ot(e,"b")||ot(e,"body"))}const xr=["b","body"];function Ip(e){return zt(e,xr)}const jr=["c","cases"];function Mp(e){return zt(e,jr,[])}const Br=["s","static"];function Dp(e){return zt(e,Br)}const Kr=["i","items"];function Rp(e){return zt(e,Kr,[])}const Ur=["t","type"];function Va(e){return zt(e,Ur)}const Gr=["v","value"];function Yo(e,t){const n=zt(e,Gr);if(n!=null)return n;throw Zn(t)}const zr=["m","modifier"];function Fp(e){return zt(e,zr)}const qr=["k","key"];function Op(e){const t=zt(e,qr);if(t)return t;throw Zn(6)}function zt(e,t,n){for(let o=0;o{i===void 0?i=r:i+=r},b[1]=()=>{i!==void 0&&(t.push(i),i=void 0)},b[2]=()=>{b[0](),a++},b[3]=()=>{if(a>0)a--,o=4,b[0]();else{if(a=0,i===void 0||(i=Up(i),i===!1))return!1;b[1]()}};function v(){const E=e[n+1];if(o===5&&E==="'"||o===6&&E==='"')return n++,r="\\"+E,b[0](),!0}for(;o!==null;)if(n++,s=e[n],!(s==="\\"&&v())){if(l=Kp(s),f=qt[o],c=f[l]||f.l||8,c===8||(o=c[0],c[1]!==void 0&&(u=b[c[1]],u&&(r=s,u()===!1))))return;if(o===7)return t}}const Vr=new Map;function zp(e,t){return re(e)?e[t]:null}function qp(e,t){if(!re(e))return null;let n=Vr.get(t);if(n||(n=Gp(t),n&&Vr.set(t,n)),!n)return null;const o=n.length;let a=e,s=0;for(;se,Vp=e=>"",Wp="text",Yp=e=>e.length===0?"":ep(e),Jp=Qf;function Wr(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function Xp(e){const t=Te(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(Te(e.named.count)||Te(e.named.n))?Te(e.named.count)?e.named.count:Te(e.named.n)?e.named.n:t:t}function Zp(e,t){t.count||(t.count=e),t.n||(t.n=e)}function Qp(e={}){const t=e.locale,n=Xp(e),o=re(e.pluralRules)&&q(t)&&_e(e.pluralRules[t])?e.pluralRules[t]:Wr,a=re(e.pluralRules)&&q(t)&&_e(e.pluralRules[t])?Wr:void 0,s=M=>M[o(n,M.length,a)],i=e.list||[],r=M=>i[M],l=e.named||ge();Te(e.pluralIndex)&&Zp(n,l);const c=M=>l[M];function u(M){const L=_e(e.messages)?e.messages(M):re(e.messages)?e.messages[M]:!1;return L||(e.parent?e.parent.message(M):Vp)}const f=M=>e.modifiers?e.modifiers[M]:Hp,b=ne(e.processor)&&_e(e.processor.normalize)?e.processor.normalize:Yp,v=ne(e.processor)&&_e(e.processor.interpolate)?e.processor.interpolate:Jp,E=ne(e.processor)&&q(e.processor.type)?e.processor.type:Wp,R={list:r,named:c,plural:s,linked:(M,...L)=>{const[y,h]=L;let T="text",C="";L.length===1?re(y)?(C=y.modifier||C,T=y.type||T):q(y)&&(C=y||C):L.length===2&&(q(y)&&(C=y||C),q(h)&&(T=h||T));const I=u(M)(R),F=T==="vnode"&&Se(I)&&C?I[0]:I;return C?f(C)(F,T):F},message:u,type:E,interpolate:v,normalize:b,values:Ie(ge(),i,l)};return R}let Qn=null;function eh(e){Qn=e}function th(e,t,n){Qn&&Qn.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:n})}const nh=oh("function:translate");function oh(e){return t=>Qn&&Qn.emit(e,t)}const ah=qa.__EXTEND_POINT__,sn=qo(ah),sh={FALLBACK_TO_TRANSLATE:sn(),CANNOT_FORMAT_NUMBER:sn(),FALLBACK_TO_NUMBER_FORMAT:sn(),CANNOT_FORMAT_DATE:sn(),FALLBACK_TO_DATE_FORMAT:sn(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:sn(),__EXTEND_POINT__:sn()},Yr=Q.__EXTEND_POINT__,rn=qo(Yr),st={INVALID_ARGUMENT:Yr,INVALID_DATE_ARGUMENT:rn(),INVALID_ISO_DATE_ARGUMENT:rn(),NOT_SUPPORT_NON_STRING_MESSAGE:rn(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:rn(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:rn(),NOT_SUPPORT_LOCALE_TYPE:rn(),__EXTEND_POINT__:rn()};function bt(e){return An(e,null,void 0)}function Wa(e,t){return t.locale!=null?Jr(t.locale):Jr(e.locale)}let Ya;function Jr(e){if(q(e))return e;if(_e(e)){if(e.resolvedOnce&&Ya!=null)return Ya;if(e.constructor.name==="Function"){const t=e();if(Zf(t))throw bt(st.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Ya=t}else throw bt(st.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw bt(st.NOT_SUPPORT_LOCALE_TYPE)}function ih(e,t,n){return[...new Set([n,...Se(t)?t:re(t)?Object.keys(t):q(t)?[t]:[n]])]}function Xr(e,t,n){const o=q(n)?n:kn,a=e;a.__localeChainCache||(a.__localeChainCache=new Map);let s=a.__localeChainCache.get(o);if(!s){s=[];let i=[n];for(;Se(i);)i=Zr(s,i,t);const r=Se(t)||!ne(t)?t:t.default?t.default:null;i=q(r)?[r]:r,Se(i)&&Zr(s,i,!1),a.__localeChainCache.set(o,s)}return s}function Zr(e,t,n){let o=!0;for(let a=0;a`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function uh(){return{upper:(e,t)=>t==="text"&&q(e)?e.toUpperCase():t==="vnode"&&re(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&q(e)?e.toLowerCase():t==="vnode"&&re(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&q(e)?el(e):t==="vnode"&&re(e)&&"__v_isVNode"in e?el(e.children):e}}let tl;function nl(e){tl=e}let ol;function gh(e){ol=e}let al;function dh(e){al=e}let sl=null;const fh=e=>{sl=e},ph=()=>sl;let il=null;const rl=e=>{il=e},hh=()=>il;let ll=0;function mh(e={}){const t=_e(e.onWarn)?e.onWarn:qf,n=q(e.version)?e.version:ch,o=q(e.locale)||_e(e.locale)?e.locale:kn,a=_e(o)?kn:o,s=Se(e.fallbackLocale)||ne(e.fallbackLocale)||q(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:a,i=ne(e.messages)?e.messages:Ja(a),r=ne(e.datetimeFormats)?e.datetimeFormats:Ja(a),l=ne(e.numberFormats)?e.numberFormats:Ja(a),c=Ie(ge(),e.modifiers,uh()),u=e.pluralRules||ge(),f=_e(e.missing)?e.missing:null,b=se(e.missingWarn)||Ut(e.missingWarn)?e.missingWarn:!0,v=se(e.fallbackWarn)||Ut(e.fallbackWarn)?e.fallbackWarn:!0,E=!!e.fallbackFormat,A=!!e.unresolving,R=_e(e.postTranslation)?e.postTranslation:null,M=ne(e.processor)?e.processor:null,L=se(e.warnHtmlMessage)?e.warnHtmlMessage:!0,y=!!e.escapeParameter,h=_e(e.messageCompiler)?e.messageCompiler:tl,T=_e(e.messageResolver)?e.messageResolver:ol||zp,C=_e(e.localeFallbacker)?e.localeFallbacker:al||ih,I=re(e.fallbackContext)?e.fallbackContext:void 0,F=e,S=re(F.__datetimeFormatters)?F.__datetimeFormatters:new Map,W=re(F.__numberFormatters)?F.__numberFormatters:new Map,ae=re(F.__meta)?F.__meta:{};ll++;const H={version:n,cid:ll,locale:o,fallbackLocale:s,messages:i,modifiers:c,pluralRules:u,missing:f,missingWarn:b,fallbackWarn:v,fallbackFormat:E,unresolving:A,postTranslation:R,processor:M,warnHtmlMessage:L,escapeParameter:y,messageCompiler:h,messageResolver:T,localeFallbacker:C,fallbackContext:I,onWarn:t,__meta:ae};return H.datetimeFormats=r,H.numberFormats=l,H.__datetimeFormatters=S,H.__numberFormatters=W,__INTLIFY_PROD_DEVTOOLS__&&th(H,n,ae),H}const Ja=e=>({[e]:ge()});function Xa(e,t,n,o,a){const{missing:s,onWarn:i}=e;if(s!==null){const r=s(e,n,t,a);return q(r)?r:t}else return t}function eo(e,t,n){const o=e;o.__localeChainCache=new Map,e.localeFallbacker(e,n,t)}function bh(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function _h(e,t){const n=t.indexOf(e);if(n===-1)return!1;for(let o=n+1;oyh(n,e)}function yh(e,t){const n=Ip(t);if(n==null)throw Zn(0);if(Va(n)===1){const s=Mp(n);return e.plural(s.reduce((i,r)=>[...i,cl(e,r)],[]))}else return cl(e,n)}function cl(e,t){const n=Dp(t);if(n!=null)return e.type==="text"?n:e.normalize([n]);{const o=Rp(t).reduce((a,s)=>[...a,Qa(e,s)],[]);return e.normalize(o)}}function Qa(e,t){const n=Va(t);switch(n){case 3:return Yo(t,n);case 9:return Yo(t,n);case 4:{const o=t;if(ot(o,"k")&&o.k)return e.interpolate(e.named(o.k));if(ot(o,"key")&&o.key)return e.interpolate(e.named(o.key));throw Zn(n)}case 5:{const o=t;if(ot(o,"i")&&Te(o.i))return e.interpolate(e.list(o.i));if(ot(o,"index")&&Te(o.index))return e.interpolate(e.list(o.index));throw Zn(n)}case 6:{const o=t,a=Fp(o),s=Op(o);return e.linked(Qa(e,s),a?Qa(e,a):void 0,e.type)}case 7:return Yo(t,n);case 8:return Yo(t,n);default:throw new Error(`unhandled node on format message part: ${n}`)}}const ul=e=>e;let Tn=ge();function gl(e,t={}){let n=!1;const o=t.onError||rp;return t.onError=a=>{n=!0,o(a)},{...wp(e,t),detectError:n}}const Ah=(e,t)=>{if(!q(e))throw bt(st.NOT_SUPPORT_NON_STRING_MESSAGE);{se(t.warnHtmlMessage)&&t.warnHtmlMessage;const o=(t.onCacheKey||ul)(e),a=Tn[o];if(a)return a;const{code:s,detectError:i}=gl(e,t),r=new Function(`return ${s}`)();return i?r:Tn[o]=r}};function Sh(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&q(e)){se(t.warnHtmlMessage)&&t.warnHtmlMessage;const o=(t.onCacheKey||ul)(e),a=Tn[o];if(a)return a;const{ast:s,detectError:i}=gl(e,{...t,location:!1,jit:!0}),r=Za(s);return i?r:Tn[o]=r}else{const n=e.cacheKey;if(n){const o=Tn[n];return o||(Tn[n]=Za(e))}else return Za(e)}}const dl=()=>"",Je=e=>_e(e);function fl(e,...t){const{fallbackFormat:n,postTranslation:o,unresolving:a,messageCompiler:s,fallbackLocale:i,messages:r}=e,[l,c]=es(...t),u=se(c.missingWarn)?c.missingWarn:e.missingWarn,f=se(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,b=se(c.escapeParameter)?c.escapeParameter:e.escapeParameter,v=!!c.resolvedMessage,E=q(c.default)||se(c.default)?se(c.default)?s?l:()=>l:c.default:n?s?l:()=>l:"",A=n||E!=="",R=Wa(e,c);b&&vh(c);let[M,L,y]=v?[l,R,r[R]||ge()]:pl(e,l,R,i,f,u),h=M,T=l;if(!v&&!(q(h)||mt(h)||Je(h))&&A&&(h=E,T=h),!v&&(!(q(h)||mt(h)||Je(h))||!q(L)))return a?Jo:l;let C=!1;const I=()=>{C=!0},F=Je(h)?h:hl(e,l,L,h,T,I);if(C)return h;const S=$h(e,L,y,c),W=Qp(S),ae=kh(e,F,W);let H=o?o(ae,l):ae;if(b&&q(H)&&(H=Jf(H)),__INTLIFY_PROD_DEVTOOLS__){const ee={timestamp:Date.now(),key:q(l)?l:Je(h)?h.key:"",locale:L||(Je(h)?h.locale:""),format:q(h)?h:Je(h)?h.source:"",message:H};ee.meta=Ie({},e.__meta,ph()||{}),nh(ee)}return H}function vh(e){Se(e.list)?e.list=e.list.map(t=>q(t)?Lr(t):t):re(e.named)&&Object.keys(e.named).forEach(t=>{q(e.named[t])&&(e.named[t]=Lr(e.named[t]))})}function pl(e,t,n,o,a,s){const{messages:i,onWarn:r,messageResolver:l,localeFallbacker:c}=e,u=c(e,o,n);let f=ge(),b,v=null;const E="translate";for(let A=0;Ao;return c.locale=n,c.key=t,c}const l=i(o,Th(e,n,a,o,r,s));return l.locale=n,l.key=t,l.source=o,l}function kh(e,t,n){return t(n)}function es(...e){const[t,n,o]=e,a=ge();if(!q(t)&&!Te(t)&&!Je(t)&&!mt(t))throw bt(st.INVALID_ARGUMENT);const s=Te(t)?String(t):(Je(t),t);return Te(n)?a.plural=n:q(n)?a.default=n:ne(n)&&!zo(n)?a.named=n:Se(n)&&(a.list=n),Te(o)?a.plural=o:q(o)?a.default=o:ne(o)&&Ie(a,o),[s,a]}function Th(e,t,n,o,a,s){return{locale:t,key:n,warnHtmlMessage:a,onError:i=>{throw s&&s(i),i},onCacheKey:i=>Hf(t,n,i)}}function $h(e,t,n,o){const{modifiers:a,pluralRules:s,messageResolver:i,fallbackLocale:r,fallbackWarn:l,missingWarn:c,fallbackContext:u}=e,b={locale:t,modifiers:a,pluralRules:s,messages:v=>{let E=i(n,v);if(E==null&&u){const[,,A]=pl(u,v,t,r,l,c);E=i(A,v)}if(q(E)||mt(E)){let A=!1;const M=hl(e,v,t,E,v,()=>{A=!0});return A?dl:M}else return Je(E)?E:dl}};return e.processor&&(b.processor=e.processor),o.list&&(b.list=o.list),o.named&&(b.named=o.named),Te(o.plural)&&(b.pluralIndex=o.plural),b}function ml(e,...t){const{datetimeFormats:n,unresolving:o,fallbackLocale:a,onWarn:s,localeFallbacker:i}=e,{__datetimeFormatters:r}=e,[l,c,u,f]=ts(...t),b=se(u.missingWarn)?u.missingWarn:e.missingWarn;se(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const v=!!u.part,E=Wa(e,u),A=i(e,a,E);if(!q(l)||l==="")return new Intl.DateTimeFormat(E,f).format(c);let R={},M,L=null;const y="datetime format";for(let C=0;C{bl.includes(l)?i[l]=n[l]:s[l]=n[l]}),q(o)?s.locale=o:ne(o)&&(i=o),ne(a)&&(i=a),[s.key||"",r,s,i]}function _l(e,t,n){const o=e;for(const a in n){const s=`${t}__${a}`;o.__datetimeFormatters.has(s)&&o.__datetimeFormatters.delete(s)}}function yl(e,...t){const{numberFormats:n,unresolving:o,fallbackLocale:a,onWarn:s,localeFallbacker:i}=e,{__numberFormatters:r}=e,[l,c,u,f]=ns(...t),b=se(u.missingWarn)?u.missingWarn:e.missingWarn;se(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const v=!!u.part,E=Wa(e,u),A=i(e,a,E);if(!q(l)||l==="")return new Intl.NumberFormat(E,f).format(c);let R={},M,L=null;const y="number format";for(let C=0;C{Al.includes(l)?i[l]=n[l]:s[l]=n[l]}),q(o)?s.locale=o:ne(o)&&(i=o),ne(a)&&(i=a),[s.key||"",r,s,i]}function Sl(e,t,n){const o=e;for(const a in n){const s=`${t}__${a}`;o.__numberFormatters.has(s)&&o.__numberFormatters.delete(s)}}Pp();/*! * vue-i18n v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */const $h="9.14.5";function Eh(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(wt().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(wt().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(wt().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(wt().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(wt().__INTLIFY_PROD_DEVTOOLS__=!1)}const Lh=ah.__EXTEND_POINT__,It=qo(Lh);It(),It(),It(),It(),It(),It(),It(),It(),It();const Sl=st.__EXTEND_POINT__,Ue=qo(Sl),Le={UNEXPECTED_RETURN_TYPE:Sl,INVALID_ARGUMENT:Ue(),MUST_BE_CALL_SETUP_TOP:Ue(),NOT_INSTALLED:Ue(),NOT_AVAILABLE_IN_LEGACY_MODE:Ue(),REQUIRED_VALUE:Ue(),INVALID_VALUE:Ue(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:Ue(),NOT_INSTALLED_WITH_PROVIDE:Ue(),UNEXPECTED_ERROR:Ue(),NOT_COMPATIBLE_LEGACY_VUE_I18N:Ue(),BRIDGE_SUPPORT_VUE_2_ONLY:Ue(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:Ue(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:Ue(),__EXTEND_POINT__:Ue()};function we(e,...t){return An(e,null,void 0)}const os=Kt("__translateVNode"),as=Kt("__datetimeParts"),ss=Kt("__numberParts"),vl=Kt("__setPluralRules"),kl=Kt("__injectWithOption"),is=Kt("__dispose");function to(e){if(!re(e)||mt(e))return e;for(const t in e)if(ot(e,t))if(!t.includes("."))re(e[t])&&to(e[t]);else{const n=t.split("."),o=n.length-1;let a=e,s=!1;for(let i=0;i{if("locale"in r&&"resource"in r){const{locale:l,resource:c}=r;l?(i[l]=i[l]||ge(),Vo(c,i[l])):Vo(c,i)}else q(r)&&Vo(JSON.parse(r),i)}),a==null&&s)for(const r in i)ot(i,r)&&to(i[r]);return i}function Tl(e){return e.type}function $l(e,t,n){let o=re(t.messages)?t.messages:ge();"__i18nGlobal"in n&&(o=Xo(e.locale.value,{messages:o,__i18n:n.__i18nGlobal}));const a=Object.keys(o);a.length&&a.forEach(s=>{e.mergeLocaleMessage(s,o[s])});{if(re(t.datetimeFormats)){const s=Object.keys(t.datetimeFormats);s.length&&s.forEach(i=>{e.mergeDateTimeFormat(i,t.datetimeFormats[i])})}if(re(t.numberFormats)){const s=Object.keys(t.numberFormats);s.length&&s.forEach(i=>{e.mergeNumberFormat(i,t.numberFormats[i])})}}}function El(e){return Ne(qn,null,e,0)}const Ll="__INTLIFY_META__",Cl=()=>[],Ch=()=>!1;let Nl=0;function wl(e){return(t,n,o,a)=>e(n,o,Ct()||void 0,a)}const Nh=()=>{const e=Ct();let t=null;return e&&(t=Tl(e)[Ll])?{[Ll]:t}:null};function rs(e={},t){const{__root:n,__injectWithOption:o}=e,a=n===void 0,s=e.flatJson,i=Go?pe:_a,r=!!e.translateExistCompatible;let l=se(e.inheritLocale)?e.inheritLocale:!0;const c=i(n&&l?n.locale.value:q(e.locale)?e.locale:kn),u=i(n&&l?n.fallbackLocale.value:q(e.fallbackLocale)||Se(e.fallbackLocale)||ne(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),f=i(Xo(c.value,e)),b=i(ne(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),v=i(ne(e.numberFormats)?e.numberFormats:{[c.value]:{}});let E=n?n.missingWarn:se(e.missingWarn)||Ut(e.missingWarn)?e.missingWarn:!0,A=n?n.fallbackWarn:se(e.fallbackWarn)||Ut(e.fallbackWarn)?e.fallbackWarn:!0,R=n?n.fallbackRoot:se(e.fallbackRoot)?e.fallbackRoot:!0,M=!!e.fallbackFormat,L=_e(e.missing)?e.missing:null,y=_e(e.missing)?wl(e.missing):null,h=_e(e.postTranslation)?e.postTranslation:null,T=n?n.warnHtmlMessage:se(e.warnHtmlMessage)?e.warnHtmlMessage:!0,C=!!e.escapeParameter;const I=n?n.modifiers:ne(e.modifiers)?e.modifiers:{};let F=e.pluralRules||n&&n.pluralRules,S;S=(()=>{a&&il(null);const k={version:$h,locale:c.value,fallbackLocale:u.value,messages:f.value,modifiers:I,pluralRules:F,missing:y===null?void 0:y,missingWarn:E,fallbackWarn:A,fallbackFormat:M,unresolving:!0,postTranslation:h===null?void 0:h,warnHtmlMessage:T,escapeParameter:C,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};k.datetimeFormats=b.value,k.numberFormats=v.value,k.__datetimeFormatters=ne(S)?S.__datetimeFormatters:void 0,k.__numberFormatters=ne(S)?S.__numberFormatters:void 0;const P=hh(k);return a&&il(P),P})(),eo(S,c.value,u.value);function ae(){return[c.value,u.value,f.value,b.value,v.value]}const H=he({get:()=>c.value,set:k=>{c.value=k,S.locale=c.value}}),ee=he({get:()=>u.value,set:k=>{u.value=k,S.fallbackLocale=u.value,eo(S,c.value,k)}}),Y=he(()=>f.value),D=he(()=>b.value),j=he(()=>v.value);function B(){return _e(h)?h:null}function V(k){h=k,S.postTranslation=k}function X(){return L}function ue(k){k!==null&&(y=wl(k)),L=k,S.missing=y}const de=(k,P,J,oe,ye,Be)=>{ae();let Me;try{__INTLIFY_PROD_DEVTOOLS__,a||(S.fallbackContext=n?ph():void 0),Me=k(S)}finally{__INTLIFY_PROD_DEVTOOLS__,a||(S.fallbackContext=void 0)}if(J!=="translate exists"&&Te(Me)&&Me===Jo||J==="translate exists"&&!Me){const[cn,Ls]=P();return n&&R?oe(n):ye(cn)}else{if(Be(Me))return Me;throw we(Le.UNEXPECTED_RETURN_TYPE)}};function fe(...k){return de(P=>Reflect.apply(dl,null,[P,...k]),()=>es(...k),"translate",P=>Reflect.apply(P.t,P,[...k]),P=>P,P=>q(P))}function je(...k){const[P,J,oe]=k;if(oe&&!re(oe))throw we(Le.INVALID_ARGUMENT);return fe(P,J,Ie({resolvedMessage:!0},oe||{}))}function Yt(...k){return de(P=>Reflect.apply(hl,null,[P,...k]),()=>ts(...k),"datetime format",P=>Reflect.apply(P.d,P,[...k]),()=>Zr,P=>q(P))}function ln(...k){return de(P=>Reflect.apply(_l,null,[P,...k]),()=>ns(...k),"number format",P=>Reflect.apply(P.n,P,[...k]),()=>Zr,P=>q(P))}function it(k){return k.map(P=>q(P)||Te(P)||se(P)?El(String(P)):P)}const Ft={normalize:it,interpolate:k=>k,type:"vnode"};function Jt(...k){return de(P=>{let J;const oe=P;try{oe.processor=Ft,J=Reflect.apply(dl,null,[oe,...k])}finally{oe.processor=null}return J},()=>es(...k),"translate",P=>P[os](...k),P=>[El(P)],P=>Se(P))}function Ze(...k){return de(P=>Reflect.apply(_l,null,[P,...k]),()=>ns(...k),"number format",P=>P[ss](...k),Cl,P=>q(P)||Se(P))}function En(...k){return de(P=>Reflect.apply(hl,null,[P,...k]),()=>ts(...k),"datetime format",P=>P[as](...k),Cl,P=>q(P)||Se(P))}function p(k){F=k,S.pluralRules=F}function _(k,P){return de(()=>{if(!k)return!1;const J=q(P)?P:c.value,oe=x(J),ye=S.messageResolver(oe,k);return r?ye!=null:mt(ye)||Je(ye)||q(ye)},()=>[k],"translate exists",J=>Reflect.apply(J.te,J,[k,P]),Ch,J=>se(J))}function m(k){let P=null;const J=Jr(S,u.value,c.value);for(let oe=0;oe{l&&(c.value=k,S.locale=k,eo(S,c.value,u.value))}),tn(n.fallbackLocale,k=>{l&&(u.value=k,S.fallbackLocale=k,eo(S,c.value,u.value))}));const K={id:Nl,locale:H,fallbackLocale:ee,get inheritLocale(){return l},set inheritLocale(k){l=k,k&&n&&(c.value=n.locale.value,u.value=n.fallbackLocale.value,eo(S,c.value,u.value))},get availableLocales(){return Object.keys(f.value).sort()},messages:Y,get modifiers(){return I},get pluralRules(){return F||{}},get isGlobal(){return a},get missingWarn(){return E},set missingWarn(k){E=k,S.missingWarn=E},get fallbackWarn(){return A},set fallbackWarn(k){A=k,S.fallbackWarn=A},get fallbackRoot(){return R},set fallbackRoot(k){R=k},get fallbackFormat(){return M},set fallbackFormat(k){M=k,S.fallbackFormat=M},get warnHtmlMessage(){return T},set warnHtmlMessage(k){T=k,S.warnHtmlMessage=k},get escapeParameter(){return C},set escapeParameter(k){C=k,S.escapeParameter=k},t:fe,getLocaleMessage:x,setLocaleMessage:O,mergeLocaleMessage:G,getPostTranslationHandler:B,setPostTranslationHandler:V,getMissingHandler:X,setMissingHandler:ue,[vl]:p};return K.datetimeFormats=D,K.numberFormats=j,K.rt=je,K.te=_,K.tm=N,K.d=Yt,K.n=ln,K.getDateTimeFormat=U,K.setDateTimeFormat=g,K.mergeDateTimeFormat=d,K.getNumberFormat=$,K.setNumberFormat=w,K.mergeNumberFormat=z,K[kl]=o,K[os]=Jt,K[as]=En,K[ss]=Ze,K}function wh(e){const t=q(e.locale)?e.locale:kn,n=q(e.fallbackLocale)||Se(e.fallbackLocale)||ne(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,o=_e(e.missing)?e.missing:void 0,a=se(e.silentTranslationWarn)||Ut(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,s=se(e.silentFallbackWarn)||Ut(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,i=se(e.fallbackRoot)?e.fallbackRoot:!0,r=!!e.formatFallbackMessages,l=ne(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=_e(e.postTranslation)?e.postTranslation:void 0,f=q(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,b=!!e.escapeParameterHtml,v=se(e.sync)?e.sync:!0;let E=e.messages;if(ne(e.sharedMessages)){const C=e.sharedMessages;E=Object.keys(C).reduce((F,S)=>{const W=F[S]||(F[S]={});return Ie(W,C[S]),F},E||{})}const{__i18n:A,__root:R,__injectWithOption:M}=e,L=e.datetimeFormats,y=e.numberFormats,h=e.flatJson,T=e.translateExistCompatible;return{locale:t,fallbackLocale:n,messages:E,flatJson:h,datetimeFormats:L,numberFormats:y,missing:o,missingWarn:a,fallbackWarn:s,fallbackRoot:i,fallbackFormat:r,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:f,escapeParameter:b,messageResolver:e.messageResolver,inheritLocale:v,translateExistCompatible:T,__i18n:A,__root:R,__injectWithOption:M}}function ls(e={},t){{const n=rs(wh(e)),{__extender:o}=e,a={id:n.id,get locale(){return n.locale.value},set locale(s){n.locale.value=s},get fallbackLocale(){return n.fallbackLocale.value},set fallbackLocale(s){n.fallbackLocale.value=s},get messages(){return n.messages.value},get datetimeFormats(){return n.datetimeFormats.value},get numberFormats(){return n.numberFormats.value},get availableLocales(){return n.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(s){},get missing(){return n.getMissingHandler()},set missing(s){n.setMissingHandler(s)},get silentTranslationWarn(){return se(n.missingWarn)?!n.missingWarn:n.missingWarn},set silentTranslationWarn(s){n.missingWarn=se(s)?!s:s},get silentFallbackWarn(){return se(n.fallbackWarn)?!n.fallbackWarn:n.fallbackWarn},set silentFallbackWarn(s){n.fallbackWarn=se(s)?!s:s},get modifiers(){return n.modifiers},get formatFallbackMessages(){return n.fallbackFormat},set formatFallbackMessages(s){n.fallbackFormat=s},get postTranslation(){return n.getPostTranslationHandler()},set postTranslation(s){n.setPostTranslationHandler(s)},get sync(){return n.inheritLocale},set sync(s){n.inheritLocale=s},get warnHtmlInMessage(){return n.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(s){n.warnHtmlMessage=s!=="off"},get escapeParameterHtml(){return n.escapeParameter},set escapeParameterHtml(s){n.escapeParameter=s},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(s){},get pluralizationRules(){return n.pluralRules||{}},__composer:n,t(...s){const[i,r,l]=s,c={};let u=null,f=null;if(!q(i))throw we(Le.INVALID_ARGUMENT);const b=i;return q(r)?c.locale=r:Se(r)?u=r:ne(r)&&(f=r),Se(l)?u=l:ne(l)&&(f=l),Reflect.apply(n.t,n,[b,u||f||{},c])},rt(...s){return Reflect.apply(n.rt,n,[...s])},tc(...s){const[i,r,l]=s,c={plural:1};let u=null,f=null;if(!q(i))throw we(Le.INVALID_ARGUMENT);const b=i;return q(r)?c.locale=r:Te(r)?c.plural=r:Se(r)?u=r:ne(r)&&(f=r),q(l)?c.locale=l:Se(l)?u=l:ne(l)&&(f=l),Reflect.apply(n.t,n,[b,u||f||{},c])},te(s,i){return n.te(s,i)},tm(s){return n.tm(s)},getLocaleMessage(s){return n.getLocaleMessage(s)},setLocaleMessage(s,i){n.setLocaleMessage(s,i)},mergeLocaleMessage(s,i){n.mergeLocaleMessage(s,i)},d(...s){return Reflect.apply(n.d,n,[...s])},getDateTimeFormat(s){return n.getDateTimeFormat(s)},setDateTimeFormat(s,i){n.setDateTimeFormat(s,i)},mergeDateTimeFormat(s,i){n.mergeDateTimeFormat(s,i)},n(...s){return Reflect.apply(n.n,n,[...s])},getNumberFormat(s){return n.getNumberFormat(s)},setNumberFormat(s,i){n.setNumberFormat(s,i)},mergeNumberFormat(s,i){n.mergeNumberFormat(s,i)},getChoiceIndex(s,i){return-1}};return a.__extender=o,a}}const cs={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function Ph({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((o,a)=>[...o,...a.type===Ye?a.children:[a]],[]):t.reduce((n,o)=>{const a=e[o];return a&&(n[o]=a()),n},ge())}function Pl(e){return Ye}const Il=jn({name:"i18n-t",props:Ie({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>Te(e)||!isNaN(e)}},cs),setup(e,t){const{slots:n,attrs:o}=t,a=e.i18n||us({useScope:e.scope,__useComponent:!0});return()=>{const s=Object.keys(n).filter(f=>f!=="_"),i=ge();e.locale&&(i.locale=e.locale),e.plural!==void 0&&(i.plural=q(e.plural)?+e.plural:e.plural);const r=Ph(t,s),l=a[os](e.keypath,r,i),c=Ie(ge(),o),u=q(e.tag)||re(e.tag)?e.tag:Pl();return ar(u,c,l)}}});function Ih(e){return Se(e)&&!q(e[0])}function Ml(e,t,n,o){const{slots:a,attrs:s}=t;return()=>{const i={part:!0};let r=ge();e.locale&&(i.locale=e.locale),q(e.format)?i.key=e.format:re(e.format)&&(q(e.format.key)&&(i.key=e.format.key),r=Object.keys(e.format).reduce((b,v)=>n.includes(v)?Ie(ge(),b,{[v]:e.format[v]}):b,ge()));const l=o(e.value,i,r);let c=[i.key];Se(l)?c=l.map((b,v)=>{const E=a[b.type],A=E?E({[b.type]:b.value,index:v,parts:l}):[b.value];return Ih(A)&&(A[0].key=`${b.type}-${v}`),A}):q(l)&&(c=[l]);const u=Ie(ge(),s),f=q(e.tag)||re(e.tag)?e.tag:Pl();return ar(f,u,c)}}const Dl=jn({name:"i18n-n",props:Ie({value:{type:Number,required:!0},format:{type:[String,Object]}},cs),setup(e,t){const n=e.i18n||us({useScope:e.scope,__useComponent:!0});return Ml(e,t,yl,(...o)=>n[ss](...o))}}),Rl=jn({name:"i18n-d",props:Ie({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},cs),setup(e,t){const n=e.i18n||us({useScope:e.scope,__useComponent:!0});return Ml(e,t,ml,(...o)=>n[as](...o))}});function Mh(e,t){const n=e;if(e.mode==="composition")return n.__getInstance(t)||e.global;{const o=n.__getInstance(t);return o!=null?o.__composer:e.global.__composer}}function Dh(e){const t=i=>{const{instance:r,modifiers:l,value:c}=i;if(!r||!r.$)throw we(Le.UNEXPECTED_ERROR);const u=Mh(e,r.$),f=Fl(c);return[Reflect.apply(u.t,u,[...Ol(f)]),u]};return{created:(i,r)=>{const[l,c]=t(r);Go&&e.global===c&&(i.__i18nWatcher=tn(c.locale,()=>{r.instance&&r.instance.$forceUpdate()})),i.__composer=c,i.textContent=l},unmounted:i=>{Go&&i.__i18nWatcher&&(i.__i18nWatcher(),i.__i18nWatcher=void 0,delete i.__i18nWatcher),i.__composer&&(i.__composer=void 0,delete i.__composer)},beforeUpdate:(i,{value:r})=>{if(i.__composer){const l=i.__composer,c=Fl(r);i.textContent=Reflect.apply(l.t,l,[...Ol(c)])}},getSSRProps:i=>{const[r]=t(i);return{textContent:r}}}}function Fl(e){if(q(e))return{path:e};if(ne(e)){if(!("path"in e))throw we(Le.REQUIRED_VALUE,"path");return e}else throw we(Le.INVALID_VALUE)}function Ol(e){const{path:t,locale:n,args:o,choice:a,plural:s}=e,i={},r=o||{};return q(n)&&(i.locale=n),Te(a)&&(i.plural=a),Te(s)&&(i.plural=s),[t,r,i]}function Rh(e,t,...n){const o=ne(n[0])?n[0]:{},a=!!o.useI18nComponentName;(se(o.globalInstall)?o.globalInstall:!0)&&([a?"i18n":Il.name,"I18nT"].forEach(i=>e.component(i,Il)),[Dl.name,"I18nN"].forEach(i=>e.component(i,Dl)),[Rl.name,"I18nD"].forEach(i=>e.component(i,Rl))),e.directive("t",Dh(t))}function Fh(e,t,n){return{beforeCreate(){const o=Ct();if(!o)throw we(Le.UNEXPECTED_ERROR);const a=this.$options;if(a.i18n){const s=a.i18n;if(a.__i18n&&(s.__i18n=a.__i18n),s.__root=t,this===this.$root)this.$i18n=xl(e,s);else{s.__injectWithOption=!0,s.__extender=n.__vueI18nExtend,this.$i18n=ls(s);const i=this.$i18n;i.__extender&&(i.__disposer=i.__extender(this.$i18n))}}else if(a.__i18n)if(this===this.$root)this.$i18n=xl(e,a);else{this.$i18n=ls({__i18n:a.__i18n,__injectWithOption:!0,__extender:n.__vueI18nExtend,__root:t});const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}else this.$i18n=e;a.__i18nGlobal&&$l(t,a,a),this.$t=(...s)=>this.$i18n.t(...s),this.$rt=(...s)=>this.$i18n.rt(...s),this.$tc=(...s)=>this.$i18n.tc(...s),this.$te=(s,i)=>this.$i18n.te(s,i),this.$d=(...s)=>this.$i18n.d(...s),this.$n=(...s)=>this.$i18n.n(...s),this.$tm=s=>this.$i18n.tm(s),n.__setInstance(o,this.$i18n)},mounted(){},unmounted(){const o=Ct();if(!o)throw we(Le.UNEXPECTED_ERROR);const a=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,a.__disposer&&(a.__disposer(),delete a.__disposer,delete a.__extender),n.__deleteInstance(o),delete this.$i18n}}}function xl(e,t){e.locale=t.locale||e.locale,e.fallbackLocale=t.fallbackLocale||e.fallbackLocale,e.missing=t.missing||e.missing,e.silentTranslationWarn=t.silentTranslationWarn||e.silentFallbackWarn,e.silentFallbackWarn=t.silentFallbackWarn||e.silentFallbackWarn,e.formatFallbackMessages=t.formatFallbackMessages||e.formatFallbackMessages,e.postTranslation=t.postTranslation||e.postTranslation,e.warnHtmlInMessage=t.warnHtmlInMessage||e.warnHtmlInMessage,e.escapeParameterHtml=t.escapeParameterHtml||e.escapeParameterHtml,e.sync=t.sync||e.sync,e.__composer[vl](t.pluralizationRules||e.pluralizationRules);const n=Xo(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(n).forEach(o=>e.mergeLocaleMessage(o,n[o])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(o=>e.mergeDateTimeFormat(o,t.datetimeFormats[o])),t.numberFormats&&Object.keys(t.numberFormats).forEach(o=>e.mergeNumberFormat(o,t.numberFormats[o])),e}const Oh=Kt("global-vue-i18n");function xh(e={},t){const n=__VUE_I18N_LEGACY_API__&&se(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,o=se(e.globalInjection)?e.globalInjection:!0,a=__VUE_I18N_LEGACY_API__&&n?!!e.allowComposition:!0,s=new Map,[i,r]=jh(e,n),l=Kt("");function c(b){return s.get(b)||null}function u(b,v){s.set(b,v)}function f(b){s.delete(b)}{const b={get mode(){return __VUE_I18N_LEGACY_API__&&n?"legacy":"composition"},get allowComposition(){return a},async install(v,...E){if(v.__VUE_I18N_SYMBOL__=l,v.provide(v.__VUE_I18N_SYMBOL__,b),ne(E[0])){const M=E[0];b.__composerExtend=M.__composerExtend,b.__vueI18nExtend=M.__vueI18nExtend}let A=null;!n&&o&&(A=Wh(v,b.global)),__VUE_I18N_FULL_INSTALL__&&Rh(v,b,...E),__VUE_I18N_LEGACY_API__&&n&&v.mixin(Fh(r,r.__composer,b));const R=v.unmount;v.unmount=()=>{A&&A(),b.dispose(),R()}},get global(){return r},dispose(){i.stop()},__instances:s,__getInstance:c,__setInstance:u,__deleteInstance:f};return b}}function us(e={}){const t=Ct();if(t==null)throw we(Le.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw we(Le.NOT_INSTALLED);const n=Bh(t),o=Uh(n),a=Tl(t),s=Kh(e,a);if(__VUE_I18N_LEGACY_API__&&n.mode==="legacy"&&!e.__useComponent){if(!n.allowComposition)throw we(Le.NOT_AVAILABLE_IN_LEGACY_MODE);return Hh(t,s,o,e)}if(s==="global")return $l(o,e,a),o;if(s==="parent"){let l=Gh(n,t,e.__useComponent);return l==null&&(l=o),l}const i=n;let r=i.__getInstance(t);if(r==null){const l=Ie({},e);"__i18n"in a&&(l.__i18n=a.__i18n),o&&(l.__root=o),r=rs(l),i.__composerExtend&&(r[is]=i.__composerExtend(r)),qh(i,t,r),i.__setInstance(t,r)}return r}function jh(e,t,n){const o=ia();{const a=__VUE_I18N_LEGACY_API__&&t?o.run(()=>ls(e)):o.run(()=>rs(e));if(a==null)throw we(Le.UNEXPECTED_ERROR);return[o,a]}}function Bh(e){{const t=Fe(e.isCE?Oh:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw we(e.isCE?Le.NOT_INSTALLED_WITH_PROVIDE:Le.UNEXPECTED_ERROR);return t}}function Kh(e,t){return zo(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function Uh(e){return e.mode==="composition"?e.global:e.global.__composer}function Gh(e,t,n=!1){let o=null;const a=t.root;let s=zh(t,n);for(;s!=null;){const i=e;if(e.mode==="composition")o=i.__getInstance(s);else if(__VUE_I18N_LEGACY_API__){const r=i.__getInstance(s);r!=null&&(o=r.__composer,n&&o&&!o[kl]&&(o=null))}if(o!=null||a===s)break;s=s.parent}return o}function zh(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function qh(e,t,n){Un(()=>{},t),Io(()=>{const o=n;e.__deleteInstance(t);const a=o[is];a&&(a(),delete o[is])},t)}function Hh(e,t,n,o={}){const a=t==="local",s=_a(null);if(a&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw we(Le.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const i=se(o.inheritLocale)?o.inheritLocale:!q(o.locale),r=pe(!a||i?n.locale.value:q(o.locale)?o.locale:kn),l=pe(!a||i?n.fallbackLocale.value:q(o.fallbackLocale)||Se(o.fallbackLocale)||ne(o.fallbackLocale)||o.fallbackLocale===!1?o.fallbackLocale:r.value),c=pe(Xo(r.value,o)),u=pe(ne(o.datetimeFormats)?o.datetimeFormats:{[r.value]:{}}),f=pe(ne(o.numberFormats)?o.numberFormats:{[r.value]:{}}),b=a?n.missingWarn:se(o.missingWarn)||Ut(o.missingWarn)?o.missingWarn:!0,v=a?n.fallbackWarn:se(o.fallbackWarn)||Ut(o.fallbackWarn)?o.fallbackWarn:!0,E=a?n.fallbackRoot:se(o.fallbackRoot)?o.fallbackRoot:!0,A=!!o.fallbackFormat,R=_e(o.missing)?o.missing:null,M=_e(o.postTranslation)?o.postTranslation:null,L=a?n.warnHtmlMessage:se(o.warnHtmlMessage)?o.warnHtmlMessage:!0,y=!!o.escapeParameter,h=a?n.modifiers:ne(o.modifiers)?o.modifiers:{},T=o.pluralRules||a&&n.pluralRules;function C(){return[r.value,l.value,c.value,u.value,f.value]}const I=he({get:()=>s.value?s.value.locale.value:r.value,set:m=>{s.value&&(s.value.locale.value=m),r.value=m}}),F=he({get:()=>s.value?s.value.fallbackLocale.value:l.value,set:m=>{s.value&&(s.value.fallbackLocale.value=m),l.value=m}}),S=he(()=>s.value?s.value.messages.value:c.value),W=he(()=>u.value),ae=he(()=>f.value);function H(){return s.value?s.value.getPostTranslationHandler():M}function ee(m){s.value&&s.value.setPostTranslationHandler(m)}function Y(){return s.value?s.value.getMissingHandler():R}function D(m){s.value&&s.value.setMissingHandler(m)}function j(m){return C(),m()}function B(...m){return s.value?j(()=>Reflect.apply(s.value.t,null,[...m])):j(()=>"")}function V(...m){return s.value?Reflect.apply(s.value.rt,null,[...m]):""}function X(...m){return s.value?j(()=>Reflect.apply(s.value.d,null,[...m])):j(()=>"")}function ue(...m){return s.value?j(()=>Reflect.apply(s.value.n,null,[...m])):j(()=>"")}function de(m){return s.value?s.value.tm(m):{}}function fe(m,N){return s.value?s.value.te(m,N):!1}function je(m){return s.value?s.value.getLocaleMessage(m):{}}function Yt(m,N){s.value&&(s.value.setLocaleMessage(m,N),c.value[m]=N)}function ln(m,N){s.value&&s.value.mergeLocaleMessage(m,N)}function it(m){return s.value?s.value.getDateTimeFormat(m):{}}function Rt(m,N){s.value&&(s.value.setDateTimeFormat(m,N),u.value[m]=N)}function Ft(m,N){s.value&&s.value.mergeDateTimeFormat(m,N)}function Jt(m){return s.value?s.value.getNumberFormat(m):{}}function Ze(m,N){s.value&&(s.value.setNumberFormat(m,N),f.value[m]=N)}function En(m,N){s.value&&s.value.mergeNumberFormat(m,N)}const p={get id(){return s.value?s.value.id:-1},locale:I,fallbackLocale:F,messages:S,datetimeFormats:W,numberFormats:ae,get inheritLocale(){return s.value?s.value.inheritLocale:i},set inheritLocale(m){s.value&&(s.value.inheritLocale=m)},get availableLocales(){return s.value?s.value.availableLocales:Object.keys(c.value)},get modifiers(){return s.value?s.value.modifiers:h},get pluralRules(){return s.value?s.value.pluralRules:T},get isGlobal(){return s.value?s.value.isGlobal:!1},get missingWarn(){return s.value?s.value.missingWarn:b},set missingWarn(m){s.value&&(s.value.missingWarn=m)},get fallbackWarn(){return s.value?s.value.fallbackWarn:v},set fallbackWarn(m){s.value&&(s.value.missingWarn=m)},get fallbackRoot(){return s.value?s.value.fallbackRoot:E},set fallbackRoot(m){s.value&&(s.value.fallbackRoot=m)},get fallbackFormat(){return s.value?s.value.fallbackFormat:A},set fallbackFormat(m){s.value&&(s.value.fallbackFormat=m)},get warnHtmlMessage(){return s.value?s.value.warnHtmlMessage:L},set warnHtmlMessage(m){s.value&&(s.value.warnHtmlMessage=m)},get escapeParameter(){return s.value?s.value.escapeParameter:y},set escapeParameter(m){s.value&&(s.value.escapeParameter=m)},t:B,getPostTranslationHandler:H,setPostTranslationHandler:ee,getMissingHandler:Y,setMissingHandler:D,rt:V,d:X,n:ue,tm:de,te:fe,getLocaleMessage:je,setLocaleMessage:Yt,mergeLocaleMessage:ln,getDateTimeFormat:it,setDateTimeFormat:Rt,mergeDateTimeFormat:Ft,getNumberFormat:Jt,setNumberFormat:Ze,mergeNumberFormat:En};function _(m){m.locale.value=r.value,m.fallbackLocale.value=l.value,Object.keys(c.value).forEach(N=>{m.mergeLocaleMessage(N,c.value[N])}),Object.keys(u.value).forEach(N=>{m.mergeDateTimeFormat(N,u.value[N])}),Object.keys(f.value).forEach(N=>{m.mergeNumberFormat(N,f.value[N])}),m.escapeParameter=y,m.fallbackFormat=A,m.fallbackRoot=E,m.fallbackWarn=v,m.missingWarn=b,m.warnHtmlMessage=L}return Ai(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw we(Le.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const m=s.value=e.proxy.$i18n.__composer;t==="global"?(r.value=m.locale.value,l.value=m.fallbackLocale.value,c.value=m.messages.value,u.value=m.datetimeFormats.value,f.value=m.numberFormats.value):a&&_(m)}),p}const Vh=["locale","fallbackLocale","availableLocales"],jl=["t","rt","d","n","tm","te"];function Wh(e,t){const n=Object.create(null);return Vh.forEach(a=>{const s=Object.getOwnPropertyDescriptor(t,a);if(!s)throw we(Le.UNEXPECTED_ERROR);const i=ve(s.value)?{get(){return s.value.value},set(r){s.value.value=r}}:{get(){return s.get&&s.get()}};Object.defineProperty(n,a,i)}),e.config.globalProperties.$i18n=n,jl.forEach(a=>{const s=Object.getOwnPropertyDescriptor(t,a);if(!s||!s.value)throw we(Le.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${a}`,s)}),()=>{delete e.config.globalProperties.$i18n,jl.forEach(a=>{delete e.config.globalProperties[`$${a}`]})}}if(Eh(),__INTLIFY_JIT_COMPILATION__?tl(Ah):tl(yh),uh(zp),gh(Jr),__INTLIFY_PROD_DEVTOOLS__){const e=wt();e.__INTLIFY__=!0,Qp(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const Yh=Object.assign({"./locales/ar/aria.json":ed,"./locales/ar/buttons.json":td,"./locales/ar/detail.json":nd,"./locales/ar/legend.json":od,"./locales/ar/messages.json":ad,"./locales/ar/options.json":sd,"./locales/ar/prayerLaps.json":id,"./locales/ar/search.json":rd,"./locales/ar/tabs.json":ld,"./locales/de/aria.json":cd,"./locales/de/buttons.json":ud,"./locales/de/detail.json":gd,"./locales/de/legend.json":dd,"./locales/de/messages.json":fd,"./locales/de/options.json":pd,"./locales/de/prayerLaps.json":hd,"./locales/de/search.json":md,"./locales/de/tabs.json":bd,"./locales/en/aria.json":_d,"./locales/en/buttons.json":yd,"./locales/en/detail.json":Ad,"./locales/en/legend.json":Sd,"./locales/en/messages.json":vd,"./locales/en/options.json":kd,"./locales/en/popup.json":Td,"./locales/en/prayerLaps.json":$d,"./locales/en/search.json":Ed,"./locales/en/tabs.json":Ld,"./locales/es/aria.json":Cd,"./locales/es/buttons.json":Nd,"./locales/es/detail.json":wd,"./locales/es/legend.json":Pd,"./locales/es/messages.json":Id,"./locales/es/options.json":Md,"./locales/es/prayerLaps.json":Dd,"./locales/es/search.json":Rd,"./locales/es/tabs.json":Fd,"./locales/fr/aria.json":Od,"./locales/fr/buttons.json":xd,"./locales/fr/detail.json":jd,"./locales/fr/legend.json":Bd,"./locales/fr/messages.json":Kd,"./locales/fr/options.json":Ud,"./locales/fr/popup.json":Gd,"./locales/fr/prayerLaps.json":zd,"./locales/fr/search.json":qd,"./locales/fr/tabs.json":Hd,"./locales/hi/aria.json":Vd,"./locales/hi/buttons.json":Wd,"./locales/hi/detail.json":Yd,"./locales/hi/legend.json":Jd,"./locales/hi/messages.json":Xd,"./locales/hi/options.json":Zd,"./locales/hi/prayerLaps.json":Qd,"./locales/hi/search.json":ef,"./locales/it/aria.json":tf,"./locales/it/buttons.json":nf,"./locales/it/detail.json":of,"./locales/it/legend.json":af,"./locales/it/messages.json":sf,"./locales/it/options.json":rf,"./locales/it/prayerLaps.json":lf,"./locales/it/search.json":cf,"./locales/pt/aria.json":uf,"./locales/pt/buttons.json":gf,"./locales/pt/detail.json":df,"./locales/pt/legend.json":ff,"./locales/pt/messages.json":pf,"./locales/pt/options.json":hf,"./locales/pt/prayerLaps.json":mf,"./locales/pt/search.json":bf,"./locales/pt/tabs.json":_f,"./locales/ro/aria.json":yf,"./locales/ro/buttons.json":Af,"./locales/ro/detail.json":Sf,"./locales/ro/legend.json":vf,"./locales/ro/messages.json":kf,"./locales/ro/options.json":Tf,"./locales/ro/prayerLaps.json":$f,"./locales/ro/search.json":Ef,"./locales/ru/aria.json":Lf,"./locales/ru/buttons.json":Cf,"./locales/ru/detail.json":Nf,"./locales/ru/legend.json":wf,"./locales/ru/messages.json":Pf,"./locales/ru/options.json":If,"./locales/ru/prayerLaps.json":Mf,"./locales/ru/search.json":Df,"./locales/ru/tabs.json":Rf,"./locales/zh/aria.json":Ff,"./locales/zh/buttons.json":Of,"./locales/zh/detail.json":xf,"./locales/zh/legend.json":jf,"./locales/zh/messages.json":Bf,"./locales/zh/options.json":Kf,"./locales/zh/prayerLaps.json":Uf,"./locales/zh/search.json":Gf}),no={};for(const[e,t]of Object.entries(Yh)){const n=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!n)continue;const[,o,a]=n;no[o]??(no[o]={}),no[o][a]=t}const Bl=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function Jh(){var n;const t=(((n=document==null?void 0:document.documentElement)==null?void 0:n.lang)||"").split("-")[0].toLowerCase();return Bl.includes(t)?t:"en"}function Xh(){return xh({legacy:!1,globalInjection:!0,locale:Jh(),fallbackLocale:"en",messages:no,missingWarn:!1,fallbackWarn:!1})}function Kl(e,t){const n=t||Zh(e);Un(()=>{var r;const o=Ct();if(!o)return;const a=(r=o.proxy)==null?void 0:r.$el;if(!a)return;const s=a.getRootNode();if(!(s instanceof ShadowRoot)||s.querySelector(`style[data-shadow-styles="${n}"]`))return;const i=document.createElement("style");i.setAttribute("data-shadow-styles",n),i.textContent=e,s.appendChild(i)})}function Zh(e){let t=0;for(let n=0;n(t==null?void 0:t.theme)==="dark"),a=he(()=>{var l;return((l=n==null?void 0:n.value)==null?void 0:l.pinHintLabel)||"Tap a red dot — someone still needs prayer"}),s=pe(!1);let i=null;function r(){s.value=!1}return Un(()=>{var f,b,v;const l=Ct(),c=(v=(b=(f=l==null?void 0:l.proxy)==null?void 0:f.$el)==null?void 0:b.getRootNode)==null?void 0:v.call(b);if(!c||typeof c.querySelector!="function")return;let u=0;i=setInterval(()=>{u++,c.querySelector("canvas")?(clearInterval(i),i=null,s.value=!0):u>40&&(clearInterval(i),i=null)},300)}),Ea(()=>{i&&clearInterval(i)}),Kl(` + */const Eh="9.14.5";function Lh(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(wt().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(wt().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(wt().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(wt().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(wt().__INTLIFY_PROD_DEVTOOLS__=!1)}const Ch=sh.__EXTEND_POINT__,It=qo(Ch);It(),It(),It(),It(),It(),It(),It(),It(),It();const vl=st.__EXTEND_POINT__,Ue=qo(vl),Le={UNEXPECTED_RETURN_TYPE:vl,INVALID_ARGUMENT:Ue(),MUST_BE_CALL_SETUP_TOP:Ue(),NOT_INSTALLED:Ue(),NOT_AVAILABLE_IN_LEGACY_MODE:Ue(),REQUIRED_VALUE:Ue(),INVALID_VALUE:Ue(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:Ue(),NOT_INSTALLED_WITH_PROVIDE:Ue(),UNEXPECTED_ERROR:Ue(),NOT_COMPATIBLE_LEGACY_VUE_I18N:Ue(),BRIDGE_SUPPORT_VUE_2_ONLY:Ue(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:Ue(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:Ue(),__EXTEND_POINT__:Ue()};function we(e,...t){return An(e,null,void 0)}const os=Kt("__translateVNode"),as=Kt("__datetimeParts"),ss=Kt("__numberParts"),kl=Kt("__setPluralRules"),Tl=Kt("__injectWithOption"),is=Kt("__dispose");function to(e){if(!re(e)||mt(e))return e;for(const t in e)if(ot(e,t))if(!t.includes("."))re(e[t])&&to(e[t]);else{const n=t.split("."),o=n.length-1;let a=e,s=!1;for(let i=0;i{if("locale"in r&&"resource"in r){const{locale:l,resource:c}=r;l?(i[l]=i[l]||ge(),Vo(c,i[l])):Vo(c,i)}else q(r)&&Vo(JSON.parse(r),i)}),a==null&&s)for(const r in i)ot(i,r)&&to(i[r]);return i}function $l(e){return e.type}function El(e,t,n){let o=re(t.messages)?t.messages:ge();"__i18nGlobal"in n&&(o=Xo(e.locale.value,{messages:o,__i18n:n.__i18nGlobal}));const a=Object.keys(o);a.length&&a.forEach(s=>{e.mergeLocaleMessage(s,o[s])});{if(re(t.datetimeFormats)){const s=Object.keys(t.datetimeFormats);s.length&&s.forEach(i=>{e.mergeDateTimeFormat(i,t.datetimeFormats[i])})}if(re(t.numberFormats)){const s=Object.keys(t.numberFormats);s.length&&s.forEach(i=>{e.mergeNumberFormat(i,t.numberFormats[i])})}}}function Ll(e){return Ne(qn,null,e,0)}const Cl="__INTLIFY_META__",Nl=()=>[],Nh=()=>!1;let wl=0;function Pl(e){return(t,n,o,a)=>e(n,o,Ct()||void 0,a)}const wh=()=>{const e=Ct();let t=null;return e&&(t=$l(e)[Cl])?{[Cl]:t}:null};function rs(e={},t){const{__root:n,__injectWithOption:o}=e,a=n===void 0,s=e.flatJson,i=Go?pe:_a,r=!!e.translateExistCompatible;let l=se(e.inheritLocale)?e.inheritLocale:!0;const c=i(n&&l?n.locale.value:q(e.locale)?e.locale:kn),u=i(n&&l?n.fallbackLocale.value:q(e.fallbackLocale)||Se(e.fallbackLocale)||ne(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),f=i(Xo(c.value,e)),b=i(ne(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),v=i(ne(e.numberFormats)?e.numberFormats:{[c.value]:{}});let E=n?n.missingWarn:se(e.missingWarn)||Ut(e.missingWarn)?e.missingWarn:!0,A=n?n.fallbackWarn:se(e.fallbackWarn)||Ut(e.fallbackWarn)?e.fallbackWarn:!0,R=n?n.fallbackRoot:se(e.fallbackRoot)?e.fallbackRoot:!0,M=!!e.fallbackFormat,L=_e(e.missing)?e.missing:null,y=_e(e.missing)?Pl(e.missing):null,h=_e(e.postTranslation)?e.postTranslation:null,T=n?n.warnHtmlMessage:se(e.warnHtmlMessage)?e.warnHtmlMessage:!0,C=!!e.escapeParameter;const I=n?n.modifiers:ne(e.modifiers)?e.modifiers:{};let F=e.pluralRules||n&&n.pluralRules,S;S=(()=>{a&&rl(null);const k={version:Eh,locale:c.value,fallbackLocale:u.value,messages:f.value,modifiers:I,pluralRules:F,missing:y===null?void 0:y,missingWarn:E,fallbackWarn:A,fallbackFormat:M,unresolving:!0,postTranslation:h===null?void 0:h,warnHtmlMessage:T,escapeParameter:C,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};k.datetimeFormats=b.value,k.numberFormats=v.value,k.__datetimeFormatters=ne(S)?S.__datetimeFormatters:void 0,k.__numberFormatters=ne(S)?S.__numberFormatters:void 0;const P=mh(k);return a&&rl(P),P})(),eo(S,c.value,u.value);function ae(){return[c.value,u.value,f.value,b.value,v.value]}const H=he({get:()=>c.value,set:k=>{c.value=k,S.locale=c.value}}),ee=he({get:()=>u.value,set:k=>{u.value=k,S.fallbackLocale=u.value,eo(S,c.value,k)}}),Y=he(()=>f.value),D=he(()=>b.value),j=he(()=>v.value);function B(){return _e(h)?h:null}function V(k){h=k,S.postTranslation=k}function X(){return L}function ue(k){k!==null&&(y=Pl(k)),L=k,S.missing=y}const de=(k,P,J,oe,ye,Be)=>{ae();let Me;try{__INTLIFY_PROD_DEVTOOLS__,a||(S.fallbackContext=n?hh():void 0),Me=k(S)}finally{__INTLIFY_PROD_DEVTOOLS__,a||(S.fallbackContext=void 0)}if(J!=="translate exists"&&Te(Me)&&Me===Jo||J==="translate exists"&&!Me){const[cn,Cs]=P();return n&&R?oe(n):ye(cn)}else{if(Be(Me))return Me;throw we(Le.UNEXPECTED_RETURN_TYPE)}};function fe(...k){return de(P=>Reflect.apply(fl,null,[P,...k]),()=>es(...k),"translate",P=>Reflect.apply(P.t,P,[...k]),P=>P,P=>q(P))}function je(...k){const[P,J,oe]=k;if(oe&&!re(oe))throw we(Le.INVALID_ARGUMENT);return fe(P,J,Ie({resolvedMessage:!0},oe||{}))}function Yt(...k){return de(P=>Reflect.apply(ml,null,[P,...k]),()=>ts(...k),"datetime format",P=>Reflect.apply(P.d,P,[...k]),()=>Qr,P=>q(P))}function ln(...k){return de(P=>Reflect.apply(yl,null,[P,...k]),()=>ns(...k),"number format",P=>Reflect.apply(P.n,P,[...k]),()=>Qr,P=>q(P))}function it(k){return k.map(P=>q(P)||Te(P)||se(P)?Ll(String(P)):P)}const Ft={normalize:it,interpolate:k=>k,type:"vnode"};function Jt(...k){return de(P=>{let J;const oe=P;try{oe.processor=Ft,J=Reflect.apply(fl,null,[oe,...k])}finally{oe.processor=null}return J},()=>es(...k),"translate",P=>P[os](...k),P=>[Ll(P)],P=>Se(P))}function Ze(...k){return de(P=>Reflect.apply(yl,null,[P,...k]),()=>ns(...k),"number format",P=>P[ss](...k),Nl,P=>q(P)||Se(P))}function En(...k){return de(P=>Reflect.apply(ml,null,[P,...k]),()=>ts(...k),"datetime format",P=>P[as](...k),Nl,P=>q(P)||Se(P))}function p(k){F=k,S.pluralRules=F}function _(k,P){return de(()=>{if(!k)return!1;const J=q(P)?P:c.value,oe=x(J),ye=S.messageResolver(oe,k);return r?ye!=null:mt(ye)||Je(ye)||q(ye)},()=>[k],"translate exists",J=>Reflect.apply(J.te,J,[k,P]),Nh,J=>se(J))}function m(k){let P=null;const J=Xr(S,u.value,c.value);for(let oe=0;oe{l&&(c.value=k,S.locale=k,eo(S,c.value,u.value))}),tn(n.fallbackLocale,k=>{l&&(u.value=k,S.fallbackLocale=k,eo(S,c.value,u.value))}));const K={id:wl,locale:H,fallbackLocale:ee,get inheritLocale(){return l},set inheritLocale(k){l=k,k&&n&&(c.value=n.locale.value,u.value=n.fallbackLocale.value,eo(S,c.value,u.value))},get availableLocales(){return Object.keys(f.value).sort()},messages:Y,get modifiers(){return I},get pluralRules(){return F||{}},get isGlobal(){return a},get missingWarn(){return E},set missingWarn(k){E=k,S.missingWarn=E},get fallbackWarn(){return A},set fallbackWarn(k){A=k,S.fallbackWarn=A},get fallbackRoot(){return R},set fallbackRoot(k){R=k},get fallbackFormat(){return M},set fallbackFormat(k){M=k,S.fallbackFormat=M},get warnHtmlMessage(){return T},set warnHtmlMessage(k){T=k,S.warnHtmlMessage=k},get escapeParameter(){return C},set escapeParameter(k){C=k,S.escapeParameter=k},t:fe,getLocaleMessage:x,setLocaleMessage:O,mergeLocaleMessage:G,getPostTranslationHandler:B,setPostTranslationHandler:V,getMissingHandler:X,setMissingHandler:ue,[kl]:p};return K.datetimeFormats=D,K.numberFormats=j,K.rt=je,K.te=_,K.tm=N,K.d=Yt,K.n=ln,K.getDateTimeFormat=U,K.setDateTimeFormat=g,K.mergeDateTimeFormat=d,K.getNumberFormat=$,K.setNumberFormat=w,K.mergeNumberFormat=z,K[Tl]=o,K[os]=Jt,K[as]=En,K[ss]=Ze,K}function Ph(e){const t=q(e.locale)?e.locale:kn,n=q(e.fallbackLocale)||Se(e.fallbackLocale)||ne(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,o=_e(e.missing)?e.missing:void 0,a=se(e.silentTranslationWarn)||Ut(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,s=se(e.silentFallbackWarn)||Ut(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,i=se(e.fallbackRoot)?e.fallbackRoot:!0,r=!!e.formatFallbackMessages,l=ne(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=_e(e.postTranslation)?e.postTranslation:void 0,f=q(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,b=!!e.escapeParameterHtml,v=se(e.sync)?e.sync:!0;let E=e.messages;if(ne(e.sharedMessages)){const C=e.sharedMessages;E=Object.keys(C).reduce((F,S)=>{const W=F[S]||(F[S]={});return Ie(W,C[S]),F},E||{})}const{__i18n:A,__root:R,__injectWithOption:M}=e,L=e.datetimeFormats,y=e.numberFormats,h=e.flatJson,T=e.translateExistCompatible;return{locale:t,fallbackLocale:n,messages:E,flatJson:h,datetimeFormats:L,numberFormats:y,missing:o,missingWarn:a,fallbackWarn:s,fallbackRoot:i,fallbackFormat:r,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:f,escapeParameter:b,messageResolver:e.messageResolver,inheritLocale:v,translateExistCompatible:T,__i18n:A,__root:R,__injectWithOption:M}}function ls(e={},t){{const n=rs(Ph(e)),{__extender:o}=e,a={id:n.id,get locale(){return n.locale.value},set locale(s){n.locale.value=s},get fallbackLocale(){return n.fallbackLocale.value},set fallbackLocale(s){n.fallbackLocale.value=s},get messages(){return n.messages.value},get datetimeFormats(){return n.datetimeFormats.value},get numberFormats(){return n.numberFormats.value},get availableLocales(){return n.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(s){},get missing(){return n.getMissingHandler()},set missing(s){n.setMissingHandler(s)},get silentTranslationWarn(){return se(n.missingWarn)?!n.missingWarn:n.missingWarn},set silentTranslationWarn(s){n.missingWarn=se(s)?!s:s},get silentFallbackWarn(){return se(n.fallbackWarn)?!n.fallbackWarn:n.fallbackWarn},set silentFallbackWarn(s){n.fallbackWarn=se(s)?!s:s},get modifiers(){return n.modifiers},get formatFallbackMessages(){return n.fallbackFormat},set formatFallbackMessages(s){n.fallbackFormat=s},get postTranslation(){return n.getPostTranslationHandler()},set postTranslation(s){n.setPostTranslationHandler(s)},get sync(){return n.inheritLocale},set sync(s){n.inheritLocale=s},get warnHtmlInMessage(){return n.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(s){n.warnHtmlMessage=s!=="off"},get escapeParameterHtml(){return n.escapeParameter},set escapeParameterHtml(s){n.escapeParameter=s},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(s){},get pluralizationRules(){return n.pluralRules||{}},__composer:n,t(...s){const[i,r,l]=s,c={};let u=null,f=null;if(!q(i))throw we(Le.INVALID_ARGUMENT);const b=i;return q(r)?c.locale=r:Se(r)?u=r:ne(r)&&(f=r),Se(l)?u=l:ne(l)&&(f=l),Reflect.apply(n.t,n,[b,u||f||{},c])},rt(...s){return Reflect.apply(n.rt,n,[...s])},tc(...s){const[i,r,l]=s,c={plural:1};let u=null,f=null;if(!q(i))throw we(Le.INVALID_ARGUMENT);const b=i;return q(r)?c.locale=r:Te(r)?c.plural=r:Se(r)?u=r:ne(r)&&(f=r),q(l)?c.locale=l:Se(l)?u=l:ne(l)&&(f=l),Reflect.apply(n.t,n,[b,u||f||{},c])},te(s,i){return n.te(s,i)},tm(s){return n.tm(s)},getLocaleMessage(s){return n.getLocaleMessage(s)},setLocaleMessage(s,i){n.setLocaleMessage(s,i)},mergeLocaleMessage(s,i){n.mergeLocaleMessage(s,i)},d(...s){return Reflect.apply(n.d,n,[...s])},getDateTimeFormat(s){return n.getDateTimeFormat(s)},setDateTimeFormat(s,i){n.setDateTimeFormat(s,i)},mergeDateTimeFormat(s,i){n.mergeDateTimeFormat(s,i)},n(...s){return Reflect.apply(n.n,n,[...s])},getNumberFormat(s){return n.getNumberFormat(s)},setNumberFormat(s,i){n.setNumberFormat(s,i)},mergeNumberFormat(s,i){n.mergeNumberFormat(s,i)},getChoiceIndex(s,i){return-1}};return a.__extender=o,a}}const cs={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function Ih({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((o,a)=>[...o,...a.type===Ye?a.children:[a]],[]):t.reduce((n,o)=>{const a=e[o];return a&&(n[o]=a()),n},ge())}function Il(e){return Ye}const Ml=jn({name:"i18n-t",props:Ie({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>Te(e)||!isNaN(e)}},cs),setup(e,t){const{slots:n,attrs:o}=t,a=e.i18n||us({useScope:e.scope,__useComponent:!0});return()=>{const s=Object.keys(n).filter(f=>f!=="_"),i=ge();e.locale&&(i.locale=e.locale),e.plural!==void 0&&(i.plural=q(e.plural)?+e.plural:e.plural);const r=Ih(t,s),l=a[os](e.keypath,r,i),c=Ie(ge(),o),u=q(e.tag)||re(e.tag)?e.tag:Il();return sr(u,c,l)}}});function Mh(e){return Se(e)&&!q(e[0])}function Dl(e,t,n,o){const{slots:a,attrs:s}=t;return()=>{const i={part:!0};let r=ge();e.locale&&(i.locale=e.locale),q(e.format)?i.key=e.format:re(e.format)&&(q(e.format.key)&&(i.key=e.format.key),r=Object.keys(e.format).reduce((b,v)=>n.includes(v)?Ie(ge(),b,{[v]:e.format[v]}):b,ge()));const l=o(e.value,i,r);let c=[i.key];Se(l)?c=l.map((b,v)=>{const E=a[b.type],A=E?E({[b.type]:b.value,index:v,parts:l}):[b.value];return Mh(A)&&(A[0].key=`${b.type}-${v}`),A}):q(l)&&(c=[l]);const u=Ie(ge(),s),f=q(e.tag)||re(e.tag)?e.tag:Il();return sr(f,u,c)}}const Rl=jn({name:"i18n-n",props:Ie({value:{type:Number,required:!0},format:{type:[String,Object]}},cs),setup(e,t){const n=e.i18n||us({useScope:e.scope,__useComponent:!0});return Dl(e,t,Al,(...o)=>n[ss](...o))}}),Fl=jn({name:"i18n-d",props:Ie({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},cs),setup(e,t){const n=e.i18n||us({useScope:e.scope,__useComponent:!0});return Dl(e,t,bl,(...o)=>n[as](...o))}});function Dh(e,t){const n=e;if(e.mode==="composition")return n.__getInstance(t)||e.global;{const o=n.__getInstance(t);return o!=null?o.__composer:e.global.__composer}}function Rh(e){const t=i=>{const{instance:r,modifiers:l,value:c}=i;if(!r||!r.$)throw we(Le.UNEXPECTED_ERROR);const u=Dh(e,r.$),f=Ol(c);return[Reflect.apply(u.t,u,[...xl(f)]),u]};return{created:(i,r)=>{const[l,c]=t(r);Go&&e.global===c&&(i.__i18nWatcher=tn(c.locale,()=>{r.instance&&r.instance.$forceUpdate()})),i.__composer=c,i.textContent=l},unmounted:i=>{Go&&i.__i18nWatcher&&(i.__i18nWatcher(),i.__i18nWatcher=void 0,delete i.__i18nWatcher),i.__composer&&(i.__composer=void 0,delete i.__composer)},beforeUpdate:(i,{value:r})=>{if(i.__composer){const l=i.__composer,c=Ol(r);i.textContent=Reflect.apply(l.t,l,[...xl(c)])}},getSSRProps:i=>{const[r]=t(i);return{textContent:r}}}}function Ol(e){if(q(e))return{path:e};if(ne(e)){if(!("path"in e))throw we(Le.REQUIRED_VALUE,"path");return e}else throw we(Le.INVALID_VALUE)}function xl(e){const{path:t,locale:n,args:o,choice:a,plural:s}=e,i={},r=o||{};return q(n)&&(i.locale=n),Te(a)&&(i.plural=a),Te(s)&&(i.plural=s),[t,r,i]}function Fh(e,t,...n){const o=ne(n[0])?n[0]:{},a=!!o.useI18nComponentName;(se(o.globalInstall)?o.globalInstall:!0)&&([a?"i18n":Ml.name,"I18nT"].forEach(i=>e.component(i,Ml)),[Rl.name,"I18nN"].forEach(i=>e.component(i,Rl)),[Fl.name,"I18nD"].forEach(i=>e.component(i,Fl))),e.directive("t",Rh(t))}function Oh(e,t,n){return{beforeCreate(){const o=Ct();if(!o)throw we(Le.UNEXPECTED_ERROR);const a=this.$options;if(a.i18n){const s=a.i18n;if(a.__i18n&&(s.__i18n=a.__i18n),s.__root=t,this===this.$root)this.$i18n=jl(e,s);else{s.__injectWithOption=!0,s.__extender=n.__vueI18nExtend,this.$i18n=ls(s);const i=this.$i18n;i.__extender&&(i.__disposer=i.__extender(this.$i18n))}}else if(a.__i18n)if(this===this.$root)this.$i18n=jl(e,a);else{this.$i18n=ls({__i18n:a.__i18n,__injectWithOption:!0,__extender:n.__vueI18nExtend,__root:t});const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}else this.$i18n=e;a.__i18nGlobal&&El(t,a,a),this.$t=(...s)=>this.$i18n.t(...s),this.$rt=(...s)=>this.$i18n.rt(...s),this.$tc=(...s)=>this.$i18n.tc(...s),this.$te=(s,i)=>this.$i18n.te(s,i),this.$d=(...s)=>this.$i18n.d(...s),this.$n=(...s)=>this.$i18n.n(...s),this.$tm=s=>this.$i18n.tm(s),n.__setInstance(o,this.$i18n)},mounted(){},unmounted(){const o=Ct();if(!o)throw we(Le.UNEXPECTED_ERROR);const a=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,a.__disposer&&(a.__disposer(),delete a.__disposer,delete a.__extender),n.__deleteInstance(o),delete this.$i18n}}}function jl(e,t){e.locale=t.locale||e.locale,e.fallbackLocale=t.fallbackLocale||e.fallbackLocale,e.missing=t.missing||e.missing,e.silentTranslationWarn=t.silentTranslationWarn||e.silentFallbackWarn,e.silentFallbackWarn=t.silentFallbackWarn||e.silentFallbackWarn,e.formatFallbackMessages=t.formatFallbackMessages||e.formatFallbackMessages,e.postTranslation=t.postTranslation||e.postTranslation,e.warnHtmlInMessage=t.warnHtmlInMessage||e.warnHtmlInMessage,e.escapeParameterHtml=t.escapeParameterHtml||e.escapeParameterHtml,e.sync=t.sync||e.sync,e.__composer[kl](t.pluralizationRules||e.pluralizationRules);const n=Xo(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(n).forEach(o=>e.mergeLocaleMessage(o,n[o])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(o=>e.mergeDateTimeFormat(o,t.datetimeFormats[o])),t.numberFormats&&Object.keys(t.numberFormats).forEach(o=>e.mergeNumberFormat(o,t.numberFormats[o])),e}const xh=Kt("global-vue-i18n");function jh(e={},t){const n=__VUE_I18N_LEGACY_API__&&se(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,o=se(e.globalInjection)?e.globalInjection:!0,a=__VUE_I18N_LEGACY_API__&&n?!!e.allowComposition:!0,s=new Map,[i,r]=Bh(e,n),l=Kt("");function c(b){return s.get(b)||null}function u(b,v){s.set(b,v)}function f(b){s.delete(b)}{const b={get mode(){return __VUE_I18N_LEGACY_API__&&n?"legacy":"composition"},get allowComposition(){return a},async install(v,...E){if(v.__VUE_I18N_SYMBOL__=l,v.provide(v.__VUE_I18N_SYMBOL__,b),ne(E[0])){const M=E[0];b.__composerExtend=M.__composerExtend,b.__vueI18nExtend=M.__vueI18nExtend}let A=null;!n&&o&&(A=Yh(v,b.global)),__VUE_I18N_FULL_INSTALL__&&Fh(v,b,...E),__VUE_I18N_LEGACY_API__&&n&&v.mixin(Oh(r,r.__composer,b));const R=v.unmount;v.unmount=()=>{A&&A(),b.dispose(),R()}},get global(){return r},dispose(){i.stop()},__instances:s,__getInstance:c,__setInstance:u,__deleteInstance:f};return b}}function us(e={}){const t=Ct();if(t==null)throw we(Le.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw we(Le.NOT_INSTALLED);const n=Kh(t),o=Gh(n),a=$l(t),s=Uh(e,a);if(__VUE_I18N_LEGACY_API__&&n.mode==="legacy"&&!e.__useComponent){if(!n.allowComposition)throw we(Le.NOT_AVAILABLE_IN_LEGACY_MODE);return Vh(t,s,o,e)}if(s==="global")return El(o,e,a),o;if(s==="parent"){let l=zh(n,t,e.__useComponent);return l==null&&(l=o),l}const i=n;let r=i.__getInstance(t);if(r==null){const l=Ie({},e);"__i18n"in a&&(l.__i18n=a.__i18n),o&&(l.__root=o),r=rs(l),i.__composerExtend&&(r[is]=i.__composerExtend(r)),Hh(i,t,r),i.__setInstance(t,r)}return r}function Bh(e,t,n){const o=ia();{const a=__VUE_I18N_LEGACY_API__&&t?o.run(()=>ls(e)):o.run(()=>rs(e));if(a==null)throw we(Le.UNEXPECTED_ERROR);return[o,a]}}function Kh(e){{const t=Fe(e.isCE?xh:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw we(e.isCE?Le.NOT_INSTALLED_WITH_PROVIDE:Le.UNEXPECTED_ERROR);return t}}function Uh(e,t){return zo(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function Gh(e){return e.mode==="composition"?e.global:e.global.__composer}function zh(e,t,n=!1){let o=null;const a=t.root;let s=qh(t,n);for(;s!=null;){const i=e;if(e.mode==="composition")o=i.__getInstance(s);else if(__VUE_I18N_LEGACY_API__){const r=i.__getInstance(s);r!=null&&(o=r.__composer,n&&o&&!o[Tl]&&(o=null))}if(o!=null||a===s)break;s=s.parent}return o}function qh(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function Hh(e,t,n){Un(()=>{},t),Io(()=>{const o=n;e.__deleteInstance(t);const a=o[is];a&&(a(),delete o[is])},t)}function Vh(e,t,n,o={}){const a=t==="local",s=_a(null);if(a&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw we(Le.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const i=se(o.inheritLocale)?o.inheritLocale:!q(o.locale),r=pe(!a||i?n.locale.value:q(o.locale)?o.locale:kn),l=pe(!a||i?n.fallbackLocale.value:q(o.fallbackLocale)||Se(o.fallbackLocale)||ne(o.fallbackLocale)||o.fallbackLocale===!1?o.fallbackLocale:r.value),c=pe(Xo(r.value,o)),u=pe(ne(o.datetimeFormats)?o.datetimeFormats:{[r.value]:{}}),f=pe(ne(o.numberFormats)?o.numberFormats:{[r.value]:{}}),b=a?n.missingWarn:se(o.missingWarn)||Ut(o.missingWarn)?o.missingWarn:!0,v=a?n.fallbackWarn:se(o.fallbackWarn)||Ut(o.fallbackWarn)?o.fallbackWarn:!0,E=a?n.fallbackRoot:se(o.fallbackRoot)?o.fallbackRoot:!0,A=!!o.fallbackFormat,R=_e(o.missing)?o.missing:null,M=_e(o.postTranslation)?o.postTranslation:null,L=a?n.warnHtmlMessage:se(o.warnHtmlMessage)?o.warnHtmlMessage:!0,y=!!o.escapeParameter,h=a?n.modifiers:ne(o.modifiers)?o.modifiers:{},T=o.pluralRules||a&&n.pluralRules;function C(){return[r.value,l.value,c.value,u.value,f.value]}const I=he({get:()=>s.value?s.value.locale.value:r.value,set:m=>{s.value&&(s.value.locale.value=m),r.value=m}}),F=he({get:()=>s.value?s.value.fallbackLocale.value:l.value,set:m=>{s.value&&(s.value.fallbackLocale.value=m),l.value=m}}),S=he(()=>s.value?s.value.messages.value:c.value),W=he(()=>u.value),ae=he(()=>f.value);function H(){return s.value?s.value.getPostTranslationHandler():M}function ee(m){s.value&&s.value.setPostTranslationHandler(m)}function Y(){return s.value?s.value.getMissingHandler():R}function D(m){s.value&&s.value.setMissingHandler(m)}function j(m){return C(),m()}function B(...m){return s.value?j(()=>Reflect.apply(s.value.t,null,[...m])):j(()=>"")}function V(...m){return s.value?Reflect.apply(s.value.rt,null,[...m]):""}function X(...m){return s.value?j(()=>Reflect.apply(s.value.d,null,[...m])):j(()=>"")}function ue(...m){return s.value?j(()=>Reflect.apply(s.value.n,null,[...m])):j(()=>"")}function de(m){return s.value?s.value.tm(m):{}}function fe(m,N){return s.value?s.value.te(m,N):!1}function je(m){return s.value?s.value.getLocaleMessage(m):{}}function Yt(m,N){s.value&&(s.value.setLocaleMessage(m,N),c.value[m]=N)}function ln(m,N){s.value&&s.value.mergeLocaleMessage(m,N)}function it(m){return s.value?s.value.getDateTimeFormat(m):{}}function Rt(m,N){s.value&&(s.value.setDateTimeFormat(m,N),u.value[m]=N)}function Ft(m,N){s.value&&s.value.mergeDateTimeFormat(m,N)}function Jt(m){return s.value?s.value.getNumberFormat(m):{}}function Ze(m,N){s.value&&(s.value.setNumberFormat(m,N),f.value[m]=N)}function En(m,N){s.value&&s.value.mergeNumberFormat(m,N)}const p={get id(){return s.value?s.value.id:-1},locale:I,fallbackLocale:F,messages:S,datetimeFormats:W,numberFormats:ae,get inheritLocale(){return s.value?s.value.inheritLocale:i},set inheritLocale(m){s.value&&(s.value.inheritLocale=m)},get availableLocales(){return s.value?s.value.availableLocales:Object.keys(c.value)},get modifiers(){return s.value?s.value.modifiers:h},get pluralRules(){return s.value?s.value.pluralRules:T},get isGlobal(){return s.value?s.value.isGlobal:!1},get missingWarn(){return s.value?s.value.missingWarn:b},set missingWarn(m){s.value&&(s.value.missingWarn=m)},get fallbackWarn(){return s.value?s.value.fallbackWarn:v},set fallbackWarn(m){s.value&&(s.value.missingWarn=m)},get fallbackRoot(){return s.value?s.value.fallbackRoot:E},set fallbackRoot(m){s.value&&(s.value.fallbackRoot=m)},get fallbackFormat(){return s.value?s.value.fallbackFormat:A},set fallbackFormat(m){s.value&&(s.value.fallbackFormat=m)},get warnHtmlMessage(){return s.value?s.value.warnHtmlMessage:L},set warnHtmlMessage(m){s.value&&(s.value.warnHtmlMessage=m)},get escapeParameter(){return s.value?s.value.escapeParameter:y},set escapeParameter(m){s.value&&(s.value.escapeParameter=m)},t:B,getPostTranslationHandler:H,setPostTranslationHandler:ee,getMissingHandler:Y,setMissingHandler:D,rt:V,d:X,n:ue,tm:de,te:fe,getLocaleMessage:je,setLocaleMessage:Yt,mergeLocaleMessage:ln,getDateTimeFormat:it,setDateTimeFormat:Rt,mergeDateTimeFormat:Ft,getNumberFormat:Jt,setNumberFormat:Ze,mergeNumberFormat:En};function _(m){m.locale.value=r.value,m.fallbackLocale.value=l.value,Object.keys(c.value).forEach(N=>{m.mergeLocaleMessage(N,c.value[N])}),Object.keys(u.value).forEach(N=>{m.mergeDateTimeFormat(N,u.value[N])}),Object.keys(f.value).forEach(N=>{m.mergeNumberFormat(N,f.value[N])}),m.escapeParameter=y,m.fallbackFormat=A,m.fallbackRoot=E,m.fallbackWarn=v,m.missingWarn=b,m.warnHtmlMessage=L}return Si(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw we(Le.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const m=s.value=e.proxy.$i18n.__composer;t==="global"?(r.value=m.locale.value,l.value=m.fallbackLocale.value,c.value=m.messages.value,u.value=m.datetimeFormats.value,f.value=m.numberFormats.value):a&&_(m)}),p}const Wh=["locale","fallbackLocale","availableLocales"],Bl=["t","rt","d","n","tm","te"];function Yh(e,t){const n=Object.create(null);return Wh.forEach(a=>{const s=Object.getOwnPropertyDescriptor(t,a);if(!s)throw we(Le.UNEXPECTED_ERROR);const i=ve(s.value)?{get(){return s.value.value},set(r){s.value.value=r}}:{get(){return s.get&&s.get()}};Object.defineProperty(n,a,i)}),e.config.globalProperties.$i18n=n,Bl.forEach(a=>{const s=Object.getOwnPropertyDescriptor(t,a);if(!s||!s.value)throw we(Le.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${a}`,s)}),()=>{delete e.config.globalProperties.$i18n,Bl.forEach(a=>{delete e.config.globalProperties[`$${a}`]})}}if(Lh(),__INTLIFY_JIT_COMPILATION__?nl(Sh):nl(Ah),gh(qp),dh(Xr),__INTLIFY_PROD_DEVTOOLS__){const e=wt();e.__INTLIFY__=!0,eh(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const Jh=Object.assign({"./locales/ar/aria.json":td,"./locales/ar/buttons.json":nd,"./locales/ar/detail.json":od,"./locales/ar/legend.json":ad,"./locales/ar/messages.json":sd,"./locales/ar/options.json":id,"./locales/ar/prayerLaps.json":rd,"./locales/ar/search.json":ld,"./locales/ar/tabs.json":cd,"./locales/de/aria.json":ud,"./locales/de/buttons.json":gd,"./locales/de/detail.json":dd,"./locales/de/legend.json":fd,"./locales/de/messages.json":pd,"./locales/de/options.json":hd,"./locales/de/prayerLaps.json":md,"./locales/de/search.json":bd,"./locales/de/tabs.json":_d,"./locales/en/aria.json":yd,"./locales/en/buttons.json":Ad,"./locales/en/detail.json":Sd,"./locales/en/legend.json":vd,"./locales/en/messages.json":kd,"./locales/en/options.json":Td,"./locales/en/popup.json":$d,"./locales/en/prayerLaps.json":Ed,"./locales/en/search.json":Ld,"./locales/en/tabs.json":Cd,"./locales/es/aria.json":Nd,"./locales/es/buttons.json":wd,"./locales/es/detail.json":Pd,"./locales/es/legend.json":Id,"./locales/es/messages.json":Md,"./locales/es/options.json":Dd,"./locales/es/prayerLaps.json":Rd,"./locales/es/search.json":Fd,"./locales/es/tabs.json":Od,"./locales/fr/aria.json":xd,"./locales/fr/buttons.json":jd,"./locales/fr/detail.json":Bd,"./locales/fr/legend.json":Kd,"./locales/fr/messages.json":Ud,"./locales/fr/options.json":Gd,"./locales/fr/popup.json":zd,"./locales/fr/prayerLaps.json":qd,"./locales/fr/search.json":Hd,"./locales/fr/tabs.json":Vd,"./locales/hi/aria.json":Wd,"./locales/hi/buttons.json":Yd,"./locales/hi/detail.json":Jd,"./locales/hi/legend.json":Xd,"./locales/hi/messages.json":Zd,"./locales/hi/options.json":Qd,"./locales/hi/prayerLaps.json":ef,"./locales/hi/search.json":tf,"./locales/it/aria.json":nf,"./locales/it/buttons.json":of,"./locales/it/detail.json":af,"./locales/it/legend.json":sf,"./locales/it/messages.json":rf,"./locales/it/options.json":lf,"./locales/it/prayerLaps.json":cf,"./locales/it/search.json":uf,"./locales/pt/aria.json":gf,"./locales/pt/buttons.json":df,"./locales/pt/detail.json":ff,"./locales/pt/legend.json":pf,"./locales/pt/messages.json":hf,"./locales/pt/options.json":mf,"./locales/pt/prayerLaps.json":bf,"./locales/pt/search.json":_f,"./locales/pt/tabs.json":yf,"./locales/ro/aria.json":Af,"./locales/ro/buttons.json":Sf,"./locales/ro/detail.json":vf,"./locales/ro/legend.json":kf,"./locales/ro/messages.json":Tf,"./locales/ro/options.json":$f,"./locales/ro/prayerLaps.json":Ef,"./locales/ro/search.json":Lf,"./locales/ru/aria.json":Cf,"./locales/ru/buttons.json":Nf,"./locales/ru/detail.json":wf,"./locales/ru/legend.json":Pf,"./locales/ru/messages.json":If,"./locales/ru/options.json":Mf,"./locales/ru/prayerLaps.json":Df,"./locales/ru/search.json":Rf,"./locales/ru/tabs.json":Ff,"./locales/zh/aria.json":Of,"./locales/zh/buttons.json":xf,"./locales/zh/detail.json":jf,"./locales/zh/legend.json":Bf,"./locales/zh/messages.json":Kf,"./locales/zh/options.json":Uf,"./locales/zh/prayerLaps.json":Gf,"./locales/zh/search.json":zf}),no={};for(const[e,t]of Object.entries(Jh)){const n=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!n)continue;const[,o,a]=n;no[o]??(no[o]={}),no[o][a]=t}const Kl=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function Xh(){var n;const t=(((n=document==null?void 0:document.documentElement)==null?void 0:n.lang)||"").split("-")[0].toLowerCase();return Kl.includes(t)?t:"en"}function Zh(){return jh({legacy:!1,globalInjection:!0,locale:Xh(),fallbackLocale:"en",messages:no,missingWarn:!1,fallbackWarn:!1})}function Ul(e,t){const n=t||Qh(e);Un(()=>{var r;const o=Ct();if(!o)return;const a=(r=o.proxy)==null?void 0:r.$el;if(!a)return;const s=a.getRootNode();if(!(s instanceof ShadowRoot)||s.querySelector(`style[data-shadow-styles="${n}"]`))return;const i=document.createElement("style");i.setAttribute("data-shadow-styles",n),i.textContent=e,s.appendChild(i)})}function Qh(e){let t=0;for(let n=0;n(t==null?void 0:t.theme)==="dark"),a=he(()=>{var l;return((l=n==null?void 0:n.value)==null?void 0:l.pinHintLabel)||"Tap a red dot — someone still needs prayer"}),s=pe(!1);let i=null;function r(){s.value=!1}return Un(()=>{var f,b,v;const l=Ct(),c=(v=(b=(f=l==null?void 0:l.proxy)==null?void 0:f.$el)==null?void 0:b.getRootNode)==null?void 0:v.call(b);if(!c||typeof c.querySelector!="function")return;let u=0;i=setInterval(()=>{u++,c.querySelector("canvas")?(clearInterval(i),i=null,s.value=!0):u>40&&(clearInterval(i),i=null)},300)}),Ea(()=>{i&&clearInterval(i)}),Ul(` .pin-hint { position: absolute; left: 50%; bottom: 26px; transform: translateX(-50%); z-index: 2147482000; pointer-events: none; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; @@ -67,9 +67,9 @@ @media (prefers-reduced-motion: reduce) { .pin-hint, .pin-hint-pill, .pin-hint-dot::after { animation: none !important; } } -`,"pin-hint"),(l,c)=>s.value?(qe(),$t("div",{key:0,class:Nn(["pin-hint",{dark:o.value}]),role:"status"},[Ee("span",Qh,[c[0]||(c[0]=Ee("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),Et(" "+Xt(a.value)+" ",1),Ee("button",{class:"pin-hint-x",type:"button","aria-label":"Dismiss hint",onClick:r},"×")])],2)):bn("",!0)}};let tm=0;const nm=za("ui",{state:()=>({_storeInstanceId:++tm,theme:"light",colorScheme:"default",reducedMotion:!1,highContrast:!1,activeTab:"doxa-regions",sidebarCollapsed:!1,mobileMenuOpen:!1,legendState:"collapsed",_customLegendHeight:null,searchMode:!1,hamburgerMenuOpen:!1,legendMode:"prayer",prayerFilter:null,engagementFilter:null,adoptionFilter:null,religionFilter:null,selectedPeopleGroup:null,breakpoint:"desktop",windowSize:{width:window.innerWidth,height:window.innerHeight},toasts:[],nextToastId:1,toastDuration:5e3,openModals:[],modalData:new Map,isGlobalLoading:!1,globalLoadingMessage:"Loading...",loadingStates:new Map,interactionHistory:[],maxHistoryLength:20,keyboardShortcutsEnabled:!0,screenReaderAnnouncement:"",focusTrapActive:!1,debugMode:!1,showPerformanceOverlay:!1}),getters:{isDarkTheme:e=>!1,isMobile:e=>e.breakpoint==="mobile",isTablet:e=>e.breakpoint==="tablet",isDesktop:e=>e.breakpoint==="desktop"||e.breakpoint==="wide",legendHeight:e=>e._customLegendHeight?e._customLegendHeight:e.legendState==="collapsed"?"48px":e.legendState==="open"?"30%":e.legendState==="fullyOpen"?"calc(100% - 80px)":"48px",caretRotation:e=>e.legendState==="collapsed"?0:90,showPullTab:e=>e.legendState==="open"||e.legendState==="fullyOpen",getToastsByType:e=>t=>e.toasts.filter(n=>n.type===t),hasOpenModal:e=>e.openModals.length>0,topModal:e=>e.openModals.length===0?null:e.openModals[e.openModals.length-1],isModalOpen:e=>t=>e.openModals.includes(t),isAnyLoading:e=>e.isGlobalLoading||e.loadingStates.size>0,isLoading:e=>t=>e.loadingStates.get(t)||!1},actions:{setTheme(e){if(!["light","dark","auto"].includes(e))return;e="light",this.theme=e;const n=this.isDarkTheme;document.documentElement.setAttribute("data-theme",n?"dark":"light");try{localStorage.setItem("theme",e)}catch{}},toggleTheme(){const e=this.theme==="light"?"dark":"light";this.setTheme(e)},setColorScheme(e){this.colorScheme=e,document.documentElement.setAttribute("data-color-scheme",e)},toggleReducedMotion(){this.reducedMotion=!this.reducedMotion,document.documentElement.setAttribute("data-reduced-motion",this.reducedMotion)},toggleHighContrast(){this.highContrast=!this.highContrast,document.documentElement.setAttribute("data-high-contrast",this.highContrast)},setActiveTab(e){this.activeTab=e,this.addToHistory({type:"tab-change",tabId:e,timestamp:Date.now()})},toggleSidebar(){this.sidebarCollapsed=!this.sidebarCollapsed},openMobileMenu(){this.mobileMenuOpen=!0},closeMobileMenu(){this.mobileMenuOpen=!1},setLegendMode(e){["prayer","detail"].includes(e)&&(this.legendMode=e)},setPrayerFilter(e){[null,"noPrayer","hasPrayer","fullPrayer"].includes(e)&&(this.prayerFilter=e)},setEngagementFilter(e){[null,"notEngaged","hasEngagement"].includes(e)&&(this.engagementFilter=e)},setAdoptionFilter(e){[null,"notAdopted","hasAdoption"].includes(e)&&(this.adoptionFilter=e)},setReligionFilter(e){[null,"C","M","H","B","E","J","S","N","O","U"].includes(e)&&(this.religionFilter=e)},selectPeopleGroup(e){this.selectedPeopleGroup=e,e?(this._legendStateBeforeDetail=this.legendState,this.legendState="open",this._customLegendHeight=null,this.setLegendMode("detail")):(this.legendState=this._legendStateBeforeDetail||"open",this._customLegendHeight=null,this.setLegendMode("prayer"))},setLegendState(e){["collapsed","open","fullyOpen"].includes(e)&&(this.legendState=e)},toggleSearchMode(){this.searchMode=!this.searchMode},setSearchMode(e){this.searchMode=e},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},updateBreakpoint(e){let t;e<768?t="mobile":e<1024?t="tablet":e<1920?t="desktop":t="wide",t!==this.breakpoint&&(this.breakpoint=t)},updateWindowSize(e,t){this.windowSize.width=e,this.windowSize.height=t,this.updateBreakpoint(e)},showToast(e){const{message:t,type:n="info",duration:o=this.toastDuration,action:a=null,persistent:s=!1}=e,i={id:this.nextToastId++,message:t,type:n,duration:o,action:a,persistent:s,createdAt:Date.now()};return this.toasts.push(i),!s&&o>0&&setTimeout(()=>{this.removeToast(i.id)},o),i.id},showSuccess(e,t={}){return this.showToast({message:e,type:"success",...t})},showError(e,t={}){return this.showToast({message:e,type:"error",duration:7e3,...t})},showWarning(e,t={}){return this.showToast({message:e,type:"warning",...t})},showInfo(e,t={}){return this.showToast({message:e,type:"info",...t})},removeToast(e){const t=this.toasts.findIndex(n=>n.id===e);t!==-1&&this.toasts.splice(t,1)},clearAllToasts(){this.toasts=[]},openModal(e,t={}){this.openModals.includes(e)||(this.openModals.push(e),this.modalData.set(e,t),this.focusTrapActive=!0)},closeModal(e=null){if(e){const t=this.openModals.indexOf(e);t!==-1&&(this.openModals.splice(t,1),this.modalData.delete(e))}else{const t=this.openModals.pop();t&&this.modalData.delete(t)}this.openModals.length===0&&(this.focusTrapActive=!1)},closeAllModals(){this.openModals=[],this.modalData.clear(),this.focusTrapActive=!1},getModalData(e){return this.modalData.get(e)},showGlobalLoading(e="Loading..."){this.isGlobalLoading=!0,this.globalLoadingMessage=e},hideGlobalLoading(){this.isGlobalLoading=!1},setLoading(e,t=!0){t?this.loadingStates.set(e,!0):this.loadingStates.delete(e)},addToHistory(e){this.interactionHistory.push(e),this.interactionHistory.length>this.maxHistoryLength&&this.interactionHistory.shift()},clearHistory(){this.interactionHistory=[]},announce(e,t="polite"){this.screenReaderAnnouncement=e,setTimeout(()=>{this.screenReaderAnnouncement===e&&(this.screenReaderAnnouncement="")},1e3)},toggleKeyboardShortcuts(){this.keyboardShortcutsEnabled=!this.keyboardShortcutsEnabled},toggleDebugMode(){this.debugMode=!this.debugMode},togglePerformanceOverlay(){this.showPerformanceOverlay=!this.showPerformanceOverlay},toggleLegend(){this.legendState==="fullyOpen"?this.legendState="open":this.legendState==="open"?this.legendState="collapsed":this.legendState="open",this._customLegendHeight=null},openLegend(){this.legendState="open",this._customLegendHeight=null},fullyOpenLegend(){this.legendState="fullyOpen",this._customLegendHeight=null},collapseLegend(){this.legendState="collapsed",this._customLegendHeight=null},setLegendHeight(e){this._customLegendHeight=e},handleLegendItemClick(){this.legendState==="fullyOpen"&&(this.legendState="open")},enableSearchMode(){this.searchMode=!0},disableSearchMode(){this.searchMode=!1},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},openHamburgerMenu(){this.hamburgerMenuOpen=!0},closeHamburgerMenu(){this.hamburgerMenuOpen=!1},init(){let e=null;try{e=localStorage.getItem("theme")}catch{}e&&this.setTheme(e),new ResizeObserver(n=>{for(const o of n)this.updateWindowSize(o.contentRect.width,o.contentRect.height)}).observe(document.documentElement),window.matchMedia&&(window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",n=>{this.theme==="auto"&&document.documentElement.setAttribute("data-theme",n.matches?"dark":"light")}),window.matchMedia("(prefers-reduced-motion: reduce)").addEventListener("change",n=>{this.reducedMotion=n.matches,document.documentElement.setAttribute("data-reduced-motion",n.matches)}))}}}),om=za("map",{state:()=>({maps:{},activeMapId:null,selectedRegion:null,selectedFamily:null,selectedAffinityBlock:null,selectedLanguage:null,selectedDialect:null,activeLegendTab:"family",selectedResource:null,selectedPeopleGroup:null,selectedPinIds:[],globalFilters:{},searchQuery:"",autoFly:{isActive:!1,speed:1,interval:5e3,currentIndex:0,items:[],timerId:null},guidedTour:{isActive:!1,currentStep:0,steps:[]},showClusters:!1,clusterMode:"region",clusterFilterProperty:null,clusterFilterValue:null,flySpeed:"normal",fullscreenMapId:null,preferences:{theme:"light",defaultMapStyle:"streets",enableAnimations:!0,autoSavePreferences:!0}}),getters:{getMapById:e=>t=>e.maps[t],activeMap:e=>e.activeMapId?e.maps[e.activeMapId]:null,hasMap:e=>t=>t in e.maps,allMapIds:e=>Object.keys(e.maps),hasSelection:e=>!!(e.selectedRegion||e.selectedFamily||e.selectedAffinityBlock||e.selectedPeopleGroup),isAutoFlying:e=>e.autoFly.isActive,isGuidedTourActive:e=>e.guidedTour.isActive,isMapFullscreen:e=>t=>e.fullscreenMapId===t},actions:{registerMap(e,t,n={}){let o=1.5;n.zoom!==void 0?o=n.zoom:t&&typeof t.getZoom=="function"&&(o=t.getZoom());let a=[0,0];if(n.center)a=n.center;else if(t&&typeof t.getCenter=="function"){const s=t.getCenter();s&&(a=[s.lng,s.lat])}this.maps[e]={instance:t,config:n,isReady:!1,zoom:o,center:a,registeredAt:Date.now()},this.activeMapId||(this.activeMapId=e)},setMapReady(e){const t=this.maps[e];t&&(t.isReady=!0)},updateMapState(e,t){const n=this.maps[e];n&&Object.assign(n,t)},unregisterMap(e){if(delete this.maps[e],this.activeMapId===e){const t=this.allMapIds;this.activeMapId=t.length>0?t[0]:null}},setActiveMap(e){e in this.maps&&(this.activeMapId=e)},selectRegion(e){this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedRegion=e},selectFamily(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedFamily=e},setActiveLegendTab(e){this.activeLegendTab=e},selectLanguage(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedFamily=null,this.selectedDialect=null,this.selectedLanguage=e},selectDialect(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedDialect=e},selectAffinityBlock(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedPeopleGroup=null,this.selectedAffinityBlock=e},selectPeopleGroup(e){this.selectedPeopleGroup=e},selectResource(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedResource===e?this.selectedResource=null:this.selectedResource=e},clearSelections(){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedAffinityBlock=null,this.selectedResource=null,this.selectedPeopleGroup=null,this.selectedPinIds=[],this.showClusters=!1,this.clusterMode="region"},setSelectedPinIds(e){this.selectedPinIds=e||[]},setFilter(e,t){this.globalFilters[e]=t},removeFilter(e){delete this.globalFilters[e]},clearFilters(){this.globalFilters={},this.searchQuery=""},setSearchQuery(e){this.searchQuery=e},startAutoFly(e,t=1){this.stopAutoFly(),this.autoFly.isActive=!0,this.autoFly.speed=t,this.autoFly.items=e,this.autoFly.currentIndex=0},stopAutoFly(){this.autoFly.timerId&&(clearInterval(this.autoFly.timerId),this.autoFly.timerId=null),this.autoFly.isActive=!1,this.autoFly.currentIndex=0},setAutoFlySpeed(e){this.autoFly.speed=Math.max(.5,Math.min(2,e))},nextAutoFlyItem(){if(!this.autoFly.isActive||this.autoFly.items.length===0)return;this.autoFly.currentIndex=(this.autoFly.currentIndex+1)%this.autoFly.items.length;const e=this.autoFly.items[this.autoFly.currentIndex];e.type==="region"?this.selectRegion(e):e.type==="family"&&this.selectFamily(e)},toggleClusters(e){typeof e=="boolean"?this.showClusters=e:this.showClusters=!this.showClusters},setClusterMode(e){["region","language-family","affinity-block","mst","resource"].includes(e)&&(this.clusterMode=e)},setClusterFilter(e,t){this.clusterFilterProperty=e||null,this.clusterFilterValue=t||null},clearClusterFilter(){this.clusterFilterProperty=null,this.clusterFilterValue=null},setFlySpeed(e){["slow","normal","fast"].includes(e)&&(this.flySpeed=e)},setSelectedFamily(e){this.selectFamily(e)},clearSelectedFamily(){this.selectFamily(null)},setSelectedRegion(e){this.selectRegion(e)},clearSelectedRegion(){this.selectRegion(null)},clearSelectedResource(){this.selectResource(null)},clearSelectedLanguage(){this.selectLanguage(null)},clearSelectedDialect(){this.selectDialect(null)},toggleFullscreen(e){this.fullscreenMapId===e?this.fullscreenMapId=null:this.fullscreenMapId=e},loadPreferences(){try{const e=localStorage.getItem("mapUserPreferences");if(e){const t=JSON.parse(e);this.preferences={...this.preferences,...t}}}catch(e){console.error("[mapStore] Failed to load preferences:",e)}},savePreferences(){try{localStorage.setItem("mapUserPreferences",JSON.stringify(this.preferences))}catch(e){console.error("[mapStore] Failed to save preferences:",e)}},setPreference(e,t){this.preferences[e]=t,this.preferences.autoSavePreferences&&this.savePreferences()}}}),am=za("data",{state:()=>({sources:{},loadingStates:{}}),actions:{async load(e,t){if(!this.sources[e]){this.loadingStates[e]={isLoading:!0,error:null};try{const n=await t();this.sources[e]=Rn({features:n,timestamp:Date.now()}),this.loadingStates[e]={isLoading:!1,error:null}}catch(n){console.error(`[dataStore] Failed to load source "${e}":`,n),this.loadingStates[e]={isLoading:!1,error:n}}}},clearSource(e){delete this.sources[e],delete this.loadingStates[e]},cacheSourceData(e,t){this.sources[e]=Rn({features:t.normalizedData||[],timestamp:t.timestamp||Date.now()})},hasSourceData(e){return!!this.sources[e]},getSourceData(e){return this.sources[e]?{normalizedData:this.sources[e].features}:null}},getters:{getData:e=>t=>{var n;return((n=e.sources[t])==null?void 0:n.features)??null},isLoading:e=>t=>{var n;return((n=e.loadingStates[t])==null?void 0:n.isLoading)??!1},getError:e=>t=>{var n;return((n=e.loadingStates[t])==null?void 0:n.error)??null}}}),Ul={_meta:{_comment:"Single source of truth for data-source connections across all doxa-maps bundles.",_comment_token:"Mapbox access token is fetched at runtime from window.MAP_TOKEN_URL (same modular pattern as window.MAP_APP_API_URL). Not hardcoded to any host — set mapboxTokenUrl below or override window.MAP_TOKEN_URL on the host page.",mapboxTokenUrl:"window.MAP_TOKEN_URL"},activeSource:"pray-tools",sources:{"pray-tools":{id:"pray-tools",name:"Prayer.Tools API",type:"rest-api",description:"pray.doxa.life live API — people-group prayer, engagement, and adoption data. Base URL read from window.MAP_APP_API_URL or VITE_API_BASE_URL at runtime.",endpoints:{bulk:"/api/people-groups/list",detail:"/api/people-groups/detail/{slug}",statistics:"/api/people-groups/statistics"},queryParams:{lang:"en"},defaultFields:["slug","name","latitude","longitude","wagf_region","wagf_block","wagf_member","rop1","imb_reg_of_people_2","imb_reg_of_people_25","imb_reg_of_people_3","country_code","religion","population","has_photo","image_url","people_praying","people_committed","adopted_by_churches","engagement_status","primary_language","imb_language_family","imb_language_class","imb_language_speakers"],pollFields:["slug","people_praying"],pollInterval:3e5,fallbackSourceId:null,fieldMappings:{uniqueId:"slug",slug:"slug",name:"name",latitude:"latitude",longitude:"longitude",wagfRegion:"wagf_region",doxaRegion:"wagf_region",wagfBlock:"wagf_block",wagfMember:"wagf_member",affinityBlock:"rop1",countryIso:"country_code",religion:"religion",religionCode:"religion",population:"population",hasPhoto:"has_photo",imageUrl:"image_url",photoUrl:"image_url",peoplePraying:"people_praying",peopleCommitted:"people_committed",engagementStatus:"engagement_status",adoptionStatus:"adopted_by_churches",language:"primary_language",cluster:"imb_reg_of_people_2",peopleGroup:"imb_reg_of_people_25",peopleGroupCountry:"imb_reg_of_people_3",languageFamily:"imb_language_family",languageClass:"imb_language_class",languageSpeakers:"imb_language_speakers"},imageConfig:{useField:"imageUrl",fallbackField:null,fallbackUrlTemplate:null,placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg",useSvgPlaceholder:!0}},"doxa-csv":{id:"doxa-csv",name:"DOXA People Groups CSV",type:"csv",path:"assets/data/Joshua-project-ids-Doxa-1439.csv",description:"People groups dataset from DOXA / Joshua Project",fieldMappings:{uniqueId:"ROP3",peopleGroupId:"ROP3",countryCode:"ROG",peopleId3:"PeopleID3",name:"Name",displayName:"NmDisp",alternateName:"NmAlt",description:"PeopleDesc",locationDescription:"LocationDe",country:"Ctry",countryIso:"ISOalpha3",region:"Regn",subRegion:"RegnSub",wagfRegion:"WAGF Region",doxaRegion:"WAGF Region",wagfBlock:"WAGF BLOCK",affinityBloc:"Affbloc",affinityBlock:"ROP1",affinityCode:"AffCd",affinityName:"Aff",peopleCluster:"PplClstr",ethneName:"Ethne",latitude:"Latitude",longitude:"Longitude",population:"Pop",populationClass:"PopCls",status:"Status",engagementStatus:"EngStat",evangelicalLevel:"EvngLvl",gsec:"GSEC",gsecBrief:"GSECbrf",gsecLong:"GSEClng",spiScore:"SPI",spiDescription:"SPIdesc",language:"Lang",languageCode:"ROL",languageFamily:"LangFamily",religion:"Rlgn",religionCode:"ROR",religionDescription:"RORdesc",religionBase:"RlgnBs",religionDiv:"RlgnDiv",bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",resourcesTotal:"ResTot",bibleLevel:"LvlBible",yearPublished:"YrPub",photoCredit:"PicCrdt",photoUrl:"PicURL",hasPhoto:"Photo",isIndigenous:"Indigenous"},imageConfig:{useField:"photoUrl",fallbackField:"peopleId3",fallbackUrlTemplate:"https://joshuaproject.net/assets/media/profiles/photos/p{peopleId3}.jpg",placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg"}}},systemFields:{uniqueId:{description:"Unique identifier per row (slug for API, ROP3+ROG for CSV)",required:!0},peopleGroupId:{description:"People group ID — same group can appear in multiple countries",required:!0},name:{description:"People group display name",required:!0},latitude:{description:"Latitude coordinate for map pin",required:!0},longitude:{description:"Longitude coordinate for map pin",required:!0},engagementStatus:{description:"Boolean — true if engaged_status = 'engaged'",required:!1},adoptionStatus:{description:"Boolean — true if adopted_by_churches > 0",required:!1},peoplePraying:{description:"Number of people currently praying for this group — from pray-tools API",required:!1},peopleCommitted:{description:"Raw count of committed workers for this group — source of engagementStatus",required:!1},languageFamily:{description:"Language family name",required:!1},religion:{description:"Primary religion",required:!1},population:{description:"Population count",required:!1},doxaRegion:{description:"WAGF/DOXA region name",required:!1},photoUrl:{description:"URL to people group photo",required:!1},description:{description:"People group description text",required:!1}}},sm=(e,t)=>{const n=e.__vccOpts||e;for(const[o,a]of t)n[o]=a;return n},im={class:"profile-loader"},rm={key:0,class:"profile-error"},lm={key:1,class:"profile-error"},cm=sm({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var y;const n=e,o=he(()=>{if(!n.profileConfig)return null;try{return JSON.parse(n.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",n.profileConfig),null}}),a=he(()=>{var h;return((h=o.value)==null?void 0:h.profile)||null}),s=he(()=>{var h;return((h=o.value)==null?void 0:h.tk)||""}),i=he(()=>{var h;return((h=o.value)==null?void 0:h.dataSource)||Ul.activeSource||"doxa-csv"}),r=he(()=>{var h;return((h=o.value)==null?void 0:h.colorSet)||"default"}),l=he(()=>!1),c=he(()=>{var h;return((h=o.value)==null?void 0:h.pinHint)!==!1}),u=he(()=>{var T,C;const h=(((T=o.value)==null?void 0:T.locale)||((C=o.value)==null?void 0:C.lang)||"").split("-")[0].toLowerCase();return Bl.includes(h)?h:""}),f=Fe("appI18n",null);hu(()=>{u.value&&f&&(f.global.locale.value=u.value)});const b=he(()=>{var h,T;return u.value||((T=(h=f==null?void 0:f.global)==null?void 0:h.locale)==null?void 0:T.value)||"en"}),v=he(()=>{var h;return((h=o.value)==null?void 0:h.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),E=Fe("profileModules",null);if(!E)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const A=he(()=>{if(!a.value)return null;const h=`./${a.value}.vue`;return E[h]?Au(E[h]):(console.error(`[ProfileLoader] Profile not found: "${a.value}". Available:`,Object.keys(E)),null)});ft("mapboxToken",s),ft("dataSource",i),ft("colorSet",r),ft("profileConfig",o),ft("instanceId",v),ft("lang",b);const R=nm(),M=om(),L=am();try{const h=typeof localStorage<"u"?localStorage.getItem("theme"):null;h&&((y=R.setTheme)==null||y.call(R,h))}catch{}return ft("uiStore",R),ft("mapStore",M),ft("dataStore",L),(h,T)=>(qe(),$t("div",im,[o.value?A.value?(qe(),Fo(vi(A.value),{key:2})):(qe(),$t("div",lm,[Ee("p",null,[T[1]||(T[1]=Et("⚠️ Profile ",-1)),Ee("strong",null,'"'+Xt(a.value)+'"',1),T[2]||(T[2]=Et(" not found.",-1))])])):(qe(),$t("div",rm,[...T[0]||(T[0]=[Ee("p",null,[Et("⚠️ "),Ee("strong",null,"doxa-map"),Et(": missing or invalid "),Ee("code",null,"profile-config"),Et(" prop.")],-1),Ee("p",null,[Et("Example: "),Ee("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),A.value&&l.value?(qe(),Fo(vi(vo(null)),{key:3})):bn("",!0),A.value&&c.value?(qe(),Fo(em,{key:4})):bn("",!0)]))}},[["__scopeId","data-v-95e162ff"]]),um=Object.assign({"./all-people-groups.vue":()=>bc(()=>Promise.resolve().then(()=>cb),void 0)}),gm=Ug(cm,{configureApp(e){e.use(Wg());const t=Xh();e.use(t),e.provide("appI18n",t),e.provide("profileModules",um)}});typeof customElements<"u"&&!customElements.get("all-people-groups")&&customElements.define("all-people-groups",gm);const dm="rgba(120, 128, 134, 0.28)",Gl="36px",zl=()=>{};function fm(e,t={}){const{enabled:n=!0}=t;if(!n||!e)return zl;const o=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!o.length)return zl;const a=L=>L.classList.contains("map-scroll-edge--left");for(const L of o)L.style.background=`linear-gradient(${a(L)?"to right":"to left"}, ${dm} ${Gl}, transparent ${Gl})`,L.style.opacity="0",L.style.transition="opacity 0.16s ease",L.style.userSelect="none",L.style.webkitUserSelect="none";const s=L=>{L.style.opacity="1"},i=L=>{L.style.opacity="0"},r=()=>o.find(L=>!a(L))||null,l=new Set;let c=!1,u=null;const f=()=>{for(const L of o)l.has(L)||i(L)},b=()=>{const L=r();L&&(s(L),u&&clearTimeout(u),u=setTimeout(f,250))},v=()=>b(),E=L=>{if(!(L.touches&&L.touches.length===1))return;const y=L.target;y&&y.classList&&y.classList.contains("map-scroll-edge")||b()},A=()=>{u&&clearTimeout(u),f()};e.addEventListener("wheel",v,{passive:!0}),e.addEventListener("touchmove",E,{passive:!0}),e.addEventListener("touchend",A,{passive:!0}),e.addEventListener("touchcancel",A,{passive:!0});const R=()=>{c||b()};typeof window<"u"&&window.addEventListener("scroll",R,{passive:!0});const M=[];for(const L of o){const y=()=>{l.add(L),s(L)},h=()=>{l.delete(L),i(L)},T=()=>{c=!0,s(L)},C=()=>{c=!1,i(L)};L.addEventListener("mouseenter",y),L.addEventListener("mouseleave",h),L.addEventListener("touchstart",T,{passive:!0}),L.addEventListener("touchend",C,{passive:!0}),M.push(()=>{L.removeEventListener("mouseenter",y),L.removeEventListener("mouseleave",h),L.removeEventListener("touchstart",T),L.removeEventListener("touchend",C)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",v),e.removeEventListener("touchmove",E),e.removeEventListener("touchend",A),e.removeEventListener("touchcancel",A),typeof window<"u"&&window.removeEventListener("scroll",R);for(const y of M)y();for(const y of o)i(y)}}const pm=Object.fromEntries([{id:"midnight-glow",label:"Midnight Glow",mood:"the prayer-map dark — pins glow like embers",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"night",maplibre:"https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json",bestFor:["doxa-simple-map","my-upg-100-list"]},{id:"daylight",label:"Daylight",mood:"the same Standard world, lights on",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"day",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","gospel-resources"]},{id:"dawn",label:"Dawn",mood:"soft warm horizon — hopeful, quiet",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dawn",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["doxa-simple-map"]},{id:"dusk",label:"Dusk",mood:"blue hour — calm contrast for bright pins",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dusk",maplibre:"https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json",bestFor:["my-upg-100-list"]},{id:"paper",label:"Paper",mood:"near-white minimal — data reads like print",mapbox:"mapbox://styles/mapbox/light-v11",maplibre:"https://basemaps.cartocdn.com/gl/positron-gl-style/style.json",bestFor:["research-dashboard","cities-internet"]},{id:"ink",label:"Ink",mood:"near-black minimal — maximum pin contrast",mapbox:"mapbox://styles/mapbox/dark-v11",maplibre:"https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json",bestFor:["my-upg-100-list","cities-internet"]},{id:"streetlife",label:"Street Life",mood:"full street detail — city-scale work",mapbox:"mapbox://styles/mapbox/streets-v12",maplibre:"https://tiles.openfreemap.org/styles/bright",bestFor:["cities-internet","key-cities"]},{id:"terrain",label:"Terrain",mood:"relief + parks — where people actually live",mapbox:"mapbox://styles/mapbox/outdoors-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","country-posters"]},{id:"satellite",label:"Satellite",mood:"imagery — the real ground",mapbox:"mapbox://styles/mapbox/satellite-v9",maplibre:"https://basemaps.cartocdn.com/gl/voyager-gl-style/style.json",bestFor:["country-posters"]},{id:"hybrid",label:"Hybrid",mood:"imagery + labels — orientation without losing ground truth",mapbox:"mapbox://styles/mapbox/satellite-streets-v12",maplibre:"https://basemaps.cartocdn.com/gl/voyager-gl-style/style.json",bestFor:["key-cities"]},{id:"wayfinder-day",label:"Wayfinder Day",mood:"high-legibility navigation palette",mapbox:"mapbox://styles/mapbox/navigation-day-v1",maplibre:"https://basemaps.cartocdn.com/gl/voyager-gl-style/style.json",bestFor:["gospel-resources"]},{id:"wayfinder-night",label:"Wayfinder Night",mood:"dark navigation — dashboards at night",mapbox:"mapbox://styles/mapbox/navigation-night-v1",maplibre:"https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json",bestFor:["research-dashboard"]}].map(e=>[e.id,e]));function hm(e,t="mapbox"){if(typeof e!="string"||!e)return{style:void 0,lightPreset:void 0};const n=pm[e];return n?t==="maplibre"?{style:n.maplibre,lightPreset:void 0}:{style:n.mapbox,lightPreset:n.lightPreset}:/^(mapbox:\/\/|https?:\/\/)/.test(e)?{style:e,lightPreset:void 0}:{style:void 0,lightPreset:void 0}}const $n={mapbox:{global:"mapboxgl",js:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js",css:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.css"},maplibre:{global:"maplibregl",js:"https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.js",css:"https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.css"}};function ql(e){if(typeof window>"u")return;const t=window,n=()=>{try{const o=e.getContainer().querySelector(".mapboxgl-ctrl-logo, .maplibregl-ctrl-logo");o&&(o.style.display="none")}catch{}};if(t.__doxaLogoOwner&&t.__doxaLogoOwner!==e){e.once("load",n),n();return}t.__doxaLogoOwner=e,e.once("remove",()=>{t.__doxaLogoOwner===e&&(t.__doxaLogoOwner=null)})}const mm=$n.mapbox.css,bm="https://tiles.openfreemap.org/styles/liberty";function gs(e){var n;const t=((n=$n[e])==null?void 0:n.global)||$n.mapbox.global;return typeof window<"u"?window[t]:void 0}async function _m(e){const t=$n[e]||$n.mapbox;if(gs(e)||typeof document>"u")return;if(!document.querySelector(`link[href="${t.css}"]`)){const o=document.createElement("link");o.rel="stylesheet",o.href=t.css,document.head.appendChild(o)}const n=document.querySelector(`script[src="${t.js}"]`);if(n){if(gs(e))return;await new Promise(o=>{n.addEventListener("load",o,{once:!0}),n.addEventListener("error",o,{once:!0})});return}await new Promise((o,a)=>{const s=document.createElement("script");s.src=t.js,s.async=!1,s.addEventListener("load",o,{once:!0}),s.addEventListener("error",()=>a(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(s)})}async function ym(e,t){const n=e.getRootNode();if(!(n instanceof ShadowRoot))return;const o=i=>new Promise(r=>setTimeout(r,i)),a=n.querySelector(`link[href="${t}"]`);if(a){if(a.sheet)return;await Promise.race([new Promise(i=>{a.addEventListener("load",i,{once:!0}),a.addEventListener("error",i,{once:!0})}),o(2e3)]);return}const s=document.createElement("link");s.rel="stylesheet",s.href=t,await Promise.race([new Promise(i=>{s.addEventListener("load",i,{once:!0}),s.addEventListener("error",i,{once:!0}),n.prepend(s)}),o(2e3)])}function Am(e){return typeof e=="string"&&/^https?:\/\//.test(e)?e:bm}const Sm=85.0511,Hl=-2,vm=0,km=-60;function Vl(e){return(1-Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2))/Math.PI)/2}function Tm(e,t,n,o){if(!e||e<=0||!t||t<=0)return vm;const a=Math.log2(e/512),s=Vl(o)-Vl(Sm),i=Math.log2(t/(512*s)),r=Math.max(a,i);return Math.max(Hl,Math.min(r,(n??18)-1))}function $m({containerRef:e,accessToken:t,style:n,config:o=void 0,provider:a="mapbox",center:s=[20,10],zoom:i=2,minZoom:r=void 0,maxZoom:l=18,pitch:c=0,bearing:u=0,renderWorldCopies:f=!0,showEdgeBorders:b=!0,southCutoff:v=km,maxBounds:E=void 0}){const A=_a(null),R=pe(!1);let M=null,L=null;const y=a==="maplibre";async function h(){var j;const I=hm(n,a).style||n;if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}await _m(a);const F=gs(a);if(!F){console.error(`[useMapInstance] ${y?"maplibregl":"mapboxgl"} is not available. Add the ${y?"MapLibre":"Mapbox"} GL JS script to your page.`);return}if(!y){if(!t){console.error('No Mapbox access token provided. Pass "tk" in profile-config JSON.');return}if(!t.startsWith("pk.")){console.error('Mapbox token looks invalid (expected "pk." prefix). Got:',t.slice(0,10)+"...");return}}await ym(e.value,y?$n.maplibre.css:mm),await new Promise(B=>requestAnimationFrame(B));const S=e.value,W=S.clientWidth,ae=S.clientHeight;if(W===0||ae===0){console.error(`[useMapInstance] Container has ZERO dimensions (${W}×${ae}). Map will be invisible. Check that parent elements have CSS sizing.`);let B=S.parentElement,V=0;for(;B&&V<5;)B=B.parentElement,V++}const H=t;y||(F.accessToken=H);const ee=()=>typeof window<"u"&&window.innerWidth>=1024,Y=(B,V)=>{if(!ee())return Hl;const X=Tm(B,V,l,v);return typeof r=="number"?Math.max(r,X):X},D=Y(S.clientWidth,S.clientHeight);if(y){A.value=new F.Map({container:e.value,style:Am(I),center:s,zoom:i,minZoom:D,maxZoom:l,pitch:c,bearing:u,dragRotate:!1,renderWorldCopies:f,...E?{maxBounds:E}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),ql(A.value);try{e.value.__doxaMap=A.value}catch{}}else{const B=typeof o=="function"?o():o;A.value=new F.Map({accessToken:H,container:e.value,style:I,...B?{config:B}:{},center:s,zoom:i,minZoom:D,maxZoom:l,pitch:c,bearing:u,dragRotate:!1,touchPitch:!1,renderWorldCopies:f,...E?{maxBounds:E}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),ql(A.value);try{e.value.__doxaMap=A.value}catch{}}try{A.value.touchZoomRotate.disableRotation()}catch{}L=fm(((j=e.value)==null?void 0:j.parentElement)||null,{enabled:b}),M=()=>{const B=A.value;if(!B)return;const V=Y(S.clientWidth,S.clientHeight);B.setMinZoom(V),B.getZoom(){requestAnimationFrame(()=>{var B;(B=A.value)==null||B.resize(),A.value&&A.value.setMinZoom(Y(S.clientWidth,S.clientHeight)),R.value=!0})})}function T(){A.value&&(M&&(A.value.off("resize",M),typeof window<"u"&&(window.removeEventListener("resize",M),window.removeEventListener("orientationchange",M)),M=null),L&&(L(),L=null),A.value.remove(),A.value=null,R.value=!1)}return{map:A,isMapReady:R,initializeMap:h,destroy:T}}const Em=["mapbox","maplibre"],Wl="mapbox";function Lm(e){return e&&typeof e=="object"&&"value"in e&&!("provider"in e)&&!("profile"in e)?e.value:e}function Cm(e){const t=Lm(e),n=t==null?void 0:t.provider,o=typeof location<"u"?new URLSearchParams(location.search).get("provider"):void 0,a=typeof window<"u"?window.MAP_PROVIDER:void 0,s=String(n||o||a||Wl).toLowerCase().trim();return Em.includes(s)?s:Wl}const Yl="doxa-prayed-local",Nm=7*24*60*60*1e3;function wm(){try{const e=localStorage.getItem(Yl);if(!e)return{};const t=JSON.parse(e);return t&&typeof t=="object"?t:{}}catch{return{}}}function Pm(e){try{localStorage.setItem(Yl,JSON.stringify(e))}catch{}}function Im(){const e=Date.now(),t=wm();let n=!1;for(const[o,a]of Object.entries(t))(typeof a!="number"||e-a>Nm)&&(delete t[o],n=!0);return n&&Pm(t),new Set(Object.keys(t))}function Mm(e){const t=Im();return!t.size||!Array.isArray(e)?e:e.map(n=>(Number(n&&n.peoplePraying)||0)>0||!n||!t.has(n.slug)?n:{...n,peoplePraying:1})}const Ht={Chamacoco:"Zamucoan",Ninam:"Yanomaman",Yagua:"Yaguan",Muinane:"Witotoan",Finnish:"Uralic","Hill Mari":"Uralic",Mansi:"Uralic","Meadow Mari":"Uralic","North Saami":"Uralic",Carabayo:"Unclassified",Kujarge:"Unclassified",Shabo:"Unclassified",Ainu:"Turkic",Kazakh:"Turkic","Khorasani Turkish":"Turkic",Kyrgyz:"Turkic","Northern Uzbek":"Turkic","South Azerbaijani":"Turkic",Turkish:"Turkic",Tuvan:"Turkic",Uyghur:"Turkic",Amundava:"Tupian",Araweté:"Tupian","Asurini of Xingú":"Tupian","Avá-Canoeiro":"Tupian",Awetí:"Tupian",Kamayurá:"Tupian",Karo:"Tupian",Morerebi:"Tupian",Tenharim:"Tupian","Uru-Eu-Wau-Wau":"Tupian","Uru-Pa-In":"Tupian",Wayampi:"Tupian","Zo’é":"Tupian",Evenki:"Tungusic",Xibe:"Tungusic",Carapana:"Tucanoan",Cubeo:"Tucanoan",Desano:"Tucanoan",Macuna:"Tucanoan",Piratapuyo:"Tucanoan",Siona:"Tucanoan",Siriano:"Tucanoan",Tucano:"Tucanoan",Tuyuca:"Tucanoan",Waimaha:"Tucanoan",Tay:"Trans-New Guinea",Adi:"Sino-Tibetan",Akha:"Sino-Tibetan","Amdo Tibetan":"Sino-Tibetan",Axi:"Sino-Tibetan",Biyo:"Sino-Tibetan","Boro (India)":"Sino-Tibetan",Brokkat:"Sino-Tibetan",Bugun:"Sino-Tibetan",Byangsi:"Sino-Tibetan","Central Lalo":"Sino-Tibetan","Central Tibetan":"Sino-Tibetan",Chak:"Sino-Tibetan",Chalikha:"Sino-Tibetan",Chaudangsi:"Sino-Tibetan",Chocangacakha:"Sino-Tibetan",Darlong:"Sino-Tibetan",Dhimal:"Sino-Tibetan","Digaro-Mishmi":"Sino-Tibetan",Dzalakha:"Sino-Tibetan","Eastern Nisu":"Sino-Tibetan",Ersu:"Sino-Tibetan",Gahri:"Sino-Tibetan",Gongduk:"Sino-Tibetan",Gyalsumdo:"Sino-Tibetan",Hani:"Sino-Tibetan","Idu-Mishmi":"Sino-Tibetan",Kaike:"Sino-Tibetan",Kanashi:"Sino-Tibetan",Katso:"Sino-Tibetan",Khamba:"Sino-Tibetan",Koireng:"Sino-Tibetan",Kucong:"Sino-Tibetan",Kurtokha:"Sino-Tibetan",Ladakhi:"Sino-Tibetan",Lakha:"Sino-Tibetan","Lang’e":"Sino-Tibetan",Lhokpu:"Sino-Tibetan",Lolopo:"Sino-Tibetan",Lunanakha:"Sino-Tibetan","Mandarin Chinese":"Sino-Tibetan",Meitei:"Sino-Tibetan","Miju-Mishmi":"Sino-Tibetan",Mpi:"Sino-Tibetan",Na:"Sino-Tibetan",Namuyi:"Sino-Tibetan",Narua:"Sino-Tibetan",Naxi:"Sino-Tibetan","Northern Muji":"Sino-Tibetan",Nuosu:"Sino-Tibetan",Nupbikha:"Sino-Tibetan",Nyenkha:"Sino-Tibetan",Olekha:"Sino-Tibetan",Pahari:"Sino-Tibetan",Pattani:"Sino-Tibetan","Phana’":"Sino-Tibetan",Phula:"Sino-Tibetan",Phunoi:"Sino-Tibetan",Puma:"Sino-Tibetan",Puroik:"Sino-Tibetan",Raji:"Sino-Tibetan",Rawat:"Sino-Tibetan",Sani:"Sino-Tibetan",Sherdukpen:"Sino-Tibetan",Sherpa:"Sino-Tibetan",Shuhi:"Sino-Tibetan",Sila:"Sino-Tibetan",Singpho:"Sino-Tibetan",Sunwar:"Sino-Tibetan","Tawang Monpa":"Sino-Tibetan",Tseku:"Sino-Tibetan",Tshangla:"Sino-Tibetan",Usoi:"Sino-Tibetan","Western Minyag":"Sino-Tibetan","Wusa Nasu":"Sino-Tibetan","Xiang Chinese":"Sino-Tibetan",Yakkha:"Sino-Tibetan","Youle Jinuo":"Sino-Tibetan","Yue Chinese":"Sino-Tibetan",Zakhring:"Sino-Tibetan","Afghan Sign Language":"Sign Language","Albanian Sign Language":"Sign Language","Algerian Sign Language":"Sign Language","American Sign Language":"Sign Language","Armenian Sign Language":"Sign Language","British Sign Language":"Sign Language","Bulgarian Sign Language":"Sign Language","Cambodian Sign Language":"Sign language","Cuban Sign Language":"Sign Language","Egyptian Sign Language":"Sign Language","Greek Sign Language":"Sign Language","Guinean Sign Language":"Sign Language","Hong Kong Sign Language":"Sign Language","Icelandic Sign Language":"Sign Language","Iranian Sign Language":"Sign Language","Israeli Sign Language":"Sign Language","Jamaican Sign Language":"Sign Language","Jordanian Sign Language":"Sign Language","Laos Sign Language":"Sign Language","Libyan Sign Language":"Sign Language","Maltese Sign Language":"Sign Language","Mauritian Sign Language":"Sign Language","Moroccan Sign Language":"Sign Language","Mozambican Sign Language":"Sign Language","Myanmar Sign Language":"Sign language","Natural Sign Language":"Sign Language","Pakistan Sign Language":"Sign Language","Papua New Guinean Sign Language":"Sign language","Russian Sign Language":"Sign Language","Saudi Arabian Sign Language":"Sign Language","Sign Language of the Netherlands":"Sign Language","Solomon Islands Sign Language":"Sign Language","Sri Lankan Sign Language":"Sign Language","Swedish Sign Language":"Sign Language","Turkish Sign Language":"Sign Language","Northern Conchucos Ancash Quechua":"Quechuan","Northern Pastaza Quichua":"Quechuan",Hupdë:"Puinavean",Amahuaca:"Panoan",Korubo:"Panoan",Sharanahua:"Panoan","Shipibo-Conibo":"Panoan",Yaminahua:"Panoan",Yawanawa:"Panoan",Afitti:"Nilo-Saharan",Assangori:"Nilo-Saharan","Beli (South Sudan)":"Nilo-Saharan",Berta:"Nilo-Saharan",Burun:"Nilo-Saharan","Dar Daju Daju":"Nilo-Saharan","Dar Fur Daju":"Nilo-Saharan","Dar Sila Daju":"Nilo-Saharan",Dazaga:"Nilo-Saharan","Dendi (Benin)":"Nilo-Saharan",Dilling:"Nilo-Saharan",Fur:"Nilo-Saharan",Gbaya:"Nilo-Saharan",Ghulfan:"Nilo-Saharan",Gwama:"Nilo-Saharan","Humburi Senni Songhay":"Nilo-Saharan",Jopadhola:"Nilo-Saharan",Kadaru:"Nilo-Saharan",Kanga:"Nilo-Saharan",Karanga:"Nilo-Saharan",Karko:"Nilo-Saharan",Kebu:"Nilo-Saharan",Keiga:"Nilo-Saharan",Keliko:"Nilo-Saharan",Kendeje:"Nilo-Saharan",Kibet:"Nilo-Saharan","Komo (Sudan)":"Nilo-Saharan",Korandje:"Nilo-Saharan",Kulfa:"Nilo-Saharan",Kwegu:"Nilo-Saharan",Laarim:"Nilo-Saharan",Logorik:"Nilo-Saharan",Majang:"Nilo-Saharan","Manga Kanuri":"Nilo-Saharan",Mango:"Nilo-Saharan",Mararit:"Nilo-Saharan",Marfa:"Nilo-Saharan",Midob:"Nilo-Saharan","Mo’da":"Nilo-Saharan",Morom:"Nilo-Saharan",Moru:"Nilo-Saharan",Naba:"Nilo-Saharan",Nara:"Nilo-Saharan",Njalgulgule:"Nilo-Saharan",Nuer:"Nilo-Saharan","Nyamusa-Molo":"Nilo-Saharan",Nyangatom:"Nilo-Saharan","Olu’bo":"Nilo-Saharan",Opo:"Nilo-Saharan",Päri:"Nilo-Saharan","Sara Kaba Naa":"Nilo-Saharan",Surbakhal:"Nilo-Saharan",Tadaksahak:"Nilo-Saharan","Tama (Chad)":"Nilo-Saharan",Temein:"Nilo-Saharan",Thuri:"Nilo-Saharan","Tirmaga-Chai Suri":"Nilo-Saharan",Toposa:"Nilo-Saharan",Tumtum:"Nilo-Saharan","Wali (Sudan)":"Nilo-Saharan","Yerwa Kanuri":"Nilo-Saharan",Yulu:"Nilo-Saharan",Zaghawa:"Nilo-Saharan","Adamawa Fulfulde":"Niger-Congo",Akaselem:"Niger-Congo","Amba (Uganda)":"Niger-Congo",Anii:"Niger-Congo",Baangi:"Niger-Congo",Badyara:"Niger-Congo","Bago-Kusuntu":"Niger-Congo",Bai:"Niger-Congo","Bainouk-Gunyaamolo":"Niger-Congo",Bamanankan:"Niger-Congo","Banda-Mbrès":"Niger-Congo",Bandial:"Niger-Congo",Bankagooma:"Niger-Congo","Belanda Viri":"Niger-Congo",Bemba:"Niger-Congo",Bolgo:"Niger-Congo","Bon Gula":"Niger-Congo",Bua:"Niger-Congo",Chichewa:"Niger-Congo","Chung (Cameroon)":"Niger-Congo","Ci Gbe":"Niger-Congo",Degema:"Niger-Congo",Dek:"Niger-Congo",Dhimba:"Niger-Congo",Dogoso:"Niger-Congo","East Limba":"Niger-Congo",Engenni:"Niger-Congo",Epie:"Niger-Congo",Éwé:"Niger-Congo",Fania:"Niger-Congo",Foodo:"Niger-Congo",Fwe:"Niger-Congo",Gciriku:"Niger-Congo",Gwa:"Niger-Congo",Herero:"Niger-Congo",Ibuoro:"Niger-Congo","Jenaama Bozo":"Niger-Congo",Jita:"Niger-Congo",Jula:"Niger-Congo",Kabiyè:"Niger-Congo",Kadung:"Niger-Congo",Kakabe:"Niger-Congo",Kalamsé:"Niger-Congo","Kami (Tanzania)":"Niger-Congo","Kango (Bas-Uélé District)":"Niger-Congo",Kasem:"Niger-Congo","Kelengaxo Bozo":"Niger-Congo",Khe:"Niger-Congo",Khisa:"Niger-Congo",Kim:"Niger-Congo",Kinyarwanda:"Niger-Congo",Kipfokomu:"Niger-Congo",Kitharaka:"Niger-Congo",Kiyombe:"Niger-Congo",Ko:"Niger-Congo",Koalib:"Niger-Congo",Koke:"Niger-Congo",Konongo:"Niger-Congo","Koro Nulu":"Niger-Congo","Koro Zuba":"Niger-Congo",Kuhane:"Niger-Congo",Kunda:"Niger-Congo",Kuranko:"Niger-Congo",Kuria:"Niger-Congo",Kwangali:"Niger-Congo",Lame:"Niger-Congo",Laru:"Niger-Congo",Lopa:"Niger-Congo","Makhuwa-Meetto":"Niger-Congo","Makhuwa-Shirima":"Niger-Congo","Malawi Nyiha":"Niger-Congo",Mandinka:"Niger-Congo",Mankanya:"Niger-Congo",Mansoanka:"Niger-Congo",Mbukushu:"Niger-Congo","Mende (Sierra Leone)":"Niger-Congo",Miyobe:"Niger-Congo",Mushungulu:"Niger-Congo","Mwali Comorian":"Niger-Congo","Mwera (Chimwera)":"Niger-Congo",Ndemli:"Niger-Congo",Ndengereko:"Niger-Congo",Ndumu:"Niger-Congo",Ndunga:"Niger-Congo","Ndzwani Comorian":"Niger-Congo",Ngile:"Niger-Congo","Northwest Gbaya":"Niger-Congo",Notre:"Niger-Congo",Nyamwanga:"Niger-Congo",Nyankore:"Niger-Congo",Nyengo:"Niger-Congo",Okpamheri:"Niger-Congo",Osatu:"Niger-Congo","Pana (Burkina Faso)":"Niger-Congo",Pulaar:"Niger-Congo",Pular:"Niger-Congo",Rufiji:"Niger-Congo","Sankaran Maninka":"Niger-Congo",Sapo:"Niger-Congo","Senara Sénoufo":"Niger-Congo",Shanga:"Niger-Congo",Sininkere:"Niger-Congo","Southern Ngbandi":"Niger-Congo",Swahili:"Niger-Congo","Syenara Sénoufo":"Niger-Congo",Tagbu:"Niger-Congo",Tagoi:"Niger-Congo",Tegali:"Niger-Congo",Tem:"Niger-Congo","Tiéyaxo Bozo":"Niger-Congo",Tiyaa:"Niger-Congo",Tocho:"Niger-Congo","Tonga (Zambia)":"Niger-Congo",Totela:"Niger-Congo","Toura (Côte d’Ivoire)":"Niger-Congo",Tswa:"Niger-Congo",Tumbuka:"Niger-Congo",Ukaan:"Niger-Congo",Uneme:"Niger-Congo",Vai:"Niger-Congo",Vute:"Niger-Congo",Waama:"Niger-Congo",Warnang:"Niger-Congo",Wolof:"Niger-Congo",Yao:"Niger-Congo",Yauma:"Niger-Congo",Yom:"Niger-Congo","Zan Gula":"Niger-Congo",Zande:"Niger-Congo",Zigula:"Niger-Congo",Mamaindê:"Nambikwara",Aghul:"Nakh-Daghestanian",Akhvakh:"Nakh-Daghestanian",Andi:"Nakh-Daghestanian",Avar:"Nakh-Daghestanian",Bagvalal:"Nakh-Daghestanian",Botlikh:"Nakh-Daghestanian",Chamalal:"Nakh-Daghestanian",Chechen:"Nakh-Daghestanian",Dargwa:"Nakh-Daghestanian",Kaitag:"Nakh-Daghestanian",Karata:"Nakh-Daghestanian",Khvarshi:"Nakh-Daghestanian",Tindi:"Nakh-Daghestanian",Pirahã:"Muran",Bonan:"Mongolic","China Buriat":"Mongolic",Daur:"Mongolic","Kalmyk-Oirat":"Mongolic","Peripheral Mongolian":"Mongolic","Russia Buriat":"Mongolic",Tagdal:"Mixed language",Wutunhua:"Mixed language","Ashéninka Perené":"Maipurean",Baniwa:"Maipurean",Cabiyarí:"Maipurean",Curripaco:"Maipurean","Enawené-Nawé":"Maipurean",Kanamarí:"Maipurean",Mehináku:"Maipurean","Pichis Ashéninka":"Maipurean",Waurá:"Maipurean",Bangime:"Language isolate",Burushaski:"Language isolate","Ai-Cham":"Kra-Dai",Aiton:"Kra-Dai","Dai Zhuang":"Kra-Dai",Duoluo:"Kra-Dai","Green Gelao":"Kra-Dai","Guibian Zhuang":"Kra-Dai",Hlai:"Kra-Dai",Jiamao:"Kra-Dai",Kang:"Kra-Dai",Khün:"Kra-Dai",Kuan:"Kra-Dai",Lachi:"Kra-Dai","Laha (Viet Nam)":"Kra-Dai",Lao:"Kra-Dai",Lü:"Kra-Dai","Mak (China)":"Kra-Dai","Northeastern Thai":"Kra-Dai","Northern Dong":"Kra-Dai","Northern Thai":"Kra-Dai",Nyaw:"Kra-Dai",Phake:"Kra-Dai","Phu Thai":"Kra-Dai",Qabiao:"Kra-Dai",Qau:"Kra-Dai","Qiubei Zhuang":"Kra-Dai",Shan:"Kra-Dai","Southern Dong":"Kra-Dai",Sui:"Kra-Dai","T’en":"Kra-Dai","Tai Daeng":"Kra-Dai","Tai Dam":"Kra-Dai","Tai Hongjin":"Kra-Dai","Tai Nüa":"Kra-Dai","Tai Ya":"Kra-Dai","Tai Yo":"Kra-Dai","Ts’ün-Lao":"Kra-Dai","Yang Zhuang":"Kra-Dai",Yerong:"Kra-Dai",Yong:"Kra-Dai",Yoy:"Kra-Dai",Khoekhoe:"Khoe-Kwadi",Karajá:"Karajá","Pará Gavião":"Jean",Suyá:"Jean",Japanese:"Japonic","Oki-No-Erabu":"Japonic","Toku-No-Shima":"Japonic",Yaeyama:"Japonic",Yoron:"Japonic","Adivasi Oriya":"Indo-European",Afrikaans:"Indo-European","Alviri-Vidari":"Indo-European",Angika:"Indo-European",Assamese:"Indo-European",Bagheli:"Indo-European",Bagri:"Indo-European",Bashkardi:"Indo-European",Bateri:"Indo-European",Bengali:"Indo-European",Bhojpuri:"Indo-European",Bhunjia:"Indo-European",Bilaspuri:"Indo-European",Bosnian:"Indo-European","Braj Bhasha":"Indo-European",Brokskat:"Indo-European",Bundeli:"Indo-European",Catalan:"Indo-European",Chambeali:"Indo-European",Chhattisgarhi:"Indo-European",Dameli:"Indo-European",Dari:"Indo-European",Dhundari:"Indo-European",Dogri:"Indo-European",Domari:"Indo-European",Dutch:"Indo-European","Eastern Balochi":"Indo-European","Eastern Panjabi":"Indo-European","Eastern Yiddish":"Indo-European",English:"Indo-European",French:"Indo-European",Gaddi:"Indo-European",Garhwali:"Indo-European",Gawri:"Indo-European",Gowro:"Indo-European",Gujarati:"Indo-European",Gujari:"Indo-European",Halbi:"Indo-European",Haroti:"Indo-European",Haryanvi:"Indo-European",Hindi:"Indo-European","Indus Kohistani":"Indo-European","Iranian Persian":"Indo-European",Ishkashimi:"Indo-European",Kacchi:"Indo-European",Kalkoti:"Indo-European",Kanauji:"Indo-European",Kangri:"Indo-European",Karingani:"Indo-European",Kashmiri:"Indo-European",Kati:"Indo-European",Khunsari:"Indo-European",Konkani:"Indo-European",Kudmali:"Indo-European",Kumaoni:"Indo-European",Kumzari:"Indo-European",Laki:"Indo-European",Lasi:"Indo-European",Luwati:"Indo-European",Magahi:"Indo-European",Maithili:"Indo-European",Maldivian:"Indo-European",Malvi:"Indo-European",Marathi:"Indo-European","Marwari (India)":"Indo-European",Mewari:"Indo-European",Munji:"Indo-European",Nepali:"Indo-European",Nimadi:"Indo-European","Northern Kurdish":"Indo-European",Odia:"Indo-European","Pahari-Potwari":"Indo-European",Palula:"Indo-European",Panchpargania:"Indo-European",Pangwali:"Indo-European",Parachi:"Indo-European",Portuguese:"Indo-European",Russian:"Indo-European",Sadri:"Indo-European",Sanglechi:"Indo-European",Sarikoli:"Indo-European",Savi:"Indo-European",Semnani:"Indo-European",Serbian:"Indo-European",Shabak:"Indo-European",Shahrudi:"Indo-European",Shekhawati:"Indo-European",Shina:"Indo-European",Shughni:"Indo-European",Shumashti:"Indo-European",Sindhi:"Indo-European",Sivandi:"Indo-European",Soi:"Indo-European","Southern Balochi":"Indo-European",Spanish:"Indo-European",Tajik:"Indo-European",Talysh:"Indo-European",Urdu:"Indo-European",Ushojo:"Indo-European",Vaghri:"Indo-European","Vlax Romani":"Indo-European",Wagdi:"Indo-European",Wakhi:"Indo-European",Waneci:"Indo-European","Western Balochi":"Indo-European",Yadgha:"Indo-European","Bu-Nao Bunu":"Hmong-Mien","Central Mashan Miao":"Hmong-Mien","Chuanqiandian Cluster Miao":"Hmong-Mien","Eastern Xiangxi Miao":"Hmong-Mien","Iu Mien":"Hmong-Mien","Luopohe Miao":"Hmong-Mien","Northern Qiandong Miao":"Hmong-Mien","Pa-Hng":"Hmong-Mien","Southwestern Huishui Miao":"Hmong-Mien","Wunai Bunu":"Hmong-Mien","Younuo Bunu":"Hmong-Mien",Amarakaeri:"Harákmbut",Huachipaeri:"Harákmbut",Cuiba:"Guajiboan",Macaguán:"Guajiboan",Tlicho:"Eyak-Athabaskan",Kannada:"Dravidian",Kodava:"Dravidian","Korra Koraga":"Dravidian","Kota (India)":"Dravidian",Kudiya:"Dravidian",Malapandaram:"Dravidian",Malayalam:"Dravidian",Muthuvan:"Dravidian",Ravula:"Dravidian",Sholaga:"Dravidian",Tamil:"Dravidian",Telugu:"Dravidian",Tulu:"Dravidian",Vishavan:"Dravidian","Andaman Hindi Creole":"Creole","Cocos Islands Malay":"Creole","Juba Arabic":"Creole",Nubi:"Creole",Barí:"Chibchan","Barro Negro Tunebo":"Chibchan","Western Tunebo":"Chibchan",Ikpeng:"Cariban","Kuikúro-Kalapálo":"Cariban",Pemon:"Cariban",Trió:"Cariban","Waimiri-Atroarí":"Cariban",Waiwai:"Cariban",Yukpa:"Cariban",Borôro:"Bororoan",Chachi:"Barbacoan","Abai Sungai":"Austronesian",Ambelau:"Austronesian",Asilulu:"Austronesian",Balaesang:"Austronesian","Batak Alas-Kluet":"Austronesian","Batak Dairi":"Austronesian","Batak Karo":"Austronesian",Bonerate:"Austronesian",Bonggi:"Austronesian",Brunei:"Austronesian","Brunei Bisaya":"Austronesian",Buol:"Austronesian","Central Malay":"Austronesian","Central Sama":"Austronesian","Coastal Konjo":"Austronesian",Dampelas:"Austronesian","Dibabawon Manobo":"Austronesian",Dondo:"Austronesian",Gane:"Austronesian","Geser-Gorom":"Austronesian","Highland Konjo":"Austronesian",Hitu:"Austronesian",Iban:"Austronesian",Indonesian:"Austronesian","Kadazan Dusun":"Austronesian",Kiput:"Austronesian",Komodo:"Austronesian",Kompane:"Austronesian",Lahanan:"Austronesian","Lampung Nyo":"Austronesian","Larike-Wakasihu":"Austronesian",Lola:"Austronesian",Luhu:"Austronesian",Malay:"Austronesian",Mariri:"Austronesian",Moronene:"Austronesian",Rukai:"Austronesian","Sabah Bisaya":"Austronesian","Seit-Kaitetu":"Austronesian",Sula:"Austronesian","Tae’":"Austronesian",Tajio:"Austronesian",Tomini:"Austronesian",Tutong:"Austronesian",Ujir:"Austronesian",Aheu:"Austro-Asiatic",Alak:"Austro-Asiatic",Bit:"Austro-Asiatic","Bo (Laos)":"Austro-Asiatic",Bondo:"Austro-Asiatic",Brao:"Austro-Asiatic",Bugan:"Austro-Asiatic",Chong:"Austro-Asiatic",Chut:"Austro-Asiatic",Danau:"Austro-Asiatic",Halang:"Austro-Asiatic","Halang Doan":"Austro-Asiatic",Hu:"Austro-Asiatic",Hung:"Austro-Asiatic",Ir:"Austro-Asiatic",Kensiu:"Austro-Asiatic",Khmu:"Austro-Asiatic",Khua:"Austro-Asiatic",Khuen:"Austro-Asiatic",Koda:"Austro-Asiatic","Kon Keu":"Austro-Asiatic",Kriang:"Austro-Asiatic",Kuay:"Austro-Asiatic",Laven:"Austro-Asiatic",Maleng:"Austro-Asiatic","Man Met":"Austro-Asiatic",Mang:"Austro-Asiatic",Minriq:"Austro-Asiatic",Mlabri:"Austro-Asiatic",Nguôn:"Austro-Asiatic",Nyaheun:"Austro-Asiatic",Nyahkur:"Austro-Asiatic","O’du":"Austro-Asiatic",Ong:"Austro-Asiatic",Oy:"Austro-Asiatic",Pacoh:"Austro-Asiatic","Phong-Kniang":"Austro-Asiatic",Prai:"Austro-Asiatic",Puoc:"Austro-Asiatic",Rengao:"Austro-Asiatic",Rmeet:"Austro-Asiatic","Rumai Palaung":"Austro-Asiatic",Sapuan:"Austro-Asiatic","Shwe Palaung":"Austro-Asiatic","So (Laos)":"Austro-Asiatic",Sou:"Austro-Asiatic","Tai Loi":"Austro-Asiatic",Talieng:"Austro-Asiatic",Tareng:"Austro-Asiatic",Tho:"Austro-Asiatic",U:"Austro-Asiatic","Upper Ta’oih":"Austro-Asiatic",Vietnamese:"Austro-Asiatic","Western Katu":"Austro-Asiatic",Suruahá:"Arauan",Jarawa:"Andamanese",Öñge:"Andamanese",Sentinel:"Andamanese",Afar:"Afro-Asiatic","Alaba-K’abeena":"Afro-Asiatic",Alagwa:"Afro-Asiatic",Ale:"Afro-Asiatic","Algerian Arabic":"Afro-Asiatic",Amharic:"Afro-Asiatic",Arbore:"Afro-Asiatic","Baharna Arabic":"Afro-Asiatic",Barein:"Afro-Asiatic",Bedawiyet:"Afro-Asiatic",Bidiyo:"Afro-Asiatic",Bilen:"Afro-Asiatic",Birgit:"Afro-Asiatic",Boor:"Afro-Asiatic","Borana-Arsi-Guji Oromo":"Afro-Asiatic",Buduma:"Afro-Asiatic","Central Atlas Tamazight":"Afro-Asiatic","Chadian Arabic":"Afro-Asiatic",Chenoua:"Afro-Asiatic",Ciwogai:"Afro-Asiatic",Daasanach:"Afro-Asiatic",Dabarre:"Afro-Asiatic",Dangaléat:"Afro-Asiatic",Deno:"Afro-Asiatic",Diri:"Afro-Asiatic",Duwai:"Afro-Asiatic","Eastern Egyptian Bedawi Arabic":"Afro-Asiatic","Eastern Oromo":"Afro-Asiatic",Garre:"Afro-Asiatic",Geruma:"Afro-Asiatic",Giiwo:"Afro-Asiatic",Gorowa:"Afro-Asiatic","Gulf Arabic":"Afro-Asiatic","Hadrami Arabic":"Afro-Asiatic",Harsusi:"Afro-Asiatic",Hassaniyya:"Afro-Asiatic",Hausa:"Afro-Asiatic",Hebrew:"Afro-Asiatic","Hijazi Arabic":"Afro-Asiatic",Hobyót:"Afro-Asiatic",Hozo:"Afro-Asiatic",Jiiddu:"Afro-Asiatic",Jimi:"Afro-Asiatic",Jina:"Afro-Asiatic","Jonkor Bourmataguil":"Afro-Asiatic","Judeo-Iraqi Arabic":"Afro-Asiatic","Judeo-Moroccan Arabic":"Afro-Asiatic",Kabalai:"Afro-Asiatic",Kajakse:"Afro-Asiatic",Kariya:"Afro-Asiatic","Karo (Ethiopia)":"Afro-Asiatic",Kutto:"Afro-Asiatic","Levantine Arabic":"Afro-Asiatic",Libido:"Afro-Asiatic","Libyan Arabic":"Afro-Asiatic","Lishana Deni":"Afro-Asiatic",Maaka:"Afro-Asiatic",Maay:"Afro-Asiatic",Majera:"Afro-Asiatic",Male:"Afro-Asiatic",Maslam:"Afro-Asiatic",Masmaje:"Afro-Asiatic",Mburku:"Afro-Asiatic",Mehri:"Afro-Asiatic","Mesopotamian Arabic":"Afro-Asiatic",Migaama:"Afro-Asiatic",Mogum:"Afro-Asiatic","Moroccan Arabic":"Afro-Asiatic",Mositacha:"Afro-Asiatic",Mubi:"Afro-Asiatic",Mukulu:"Afro-Asiatic",Nafusi:"Afro-Asiatic","Najdi Arabic":"Afro-Asiatic",Nyam:"Afro-Asiatic","Omani Arabic":"Afro-Asiatic","Pa’a":"Afro-Asiatic",Saba:"Afro-Asiatic",Saho:"Afro-Asiatic","Sanaani Arabic":"Afro-Asiatic",Seze:"Afro-Asiatic",Shehri:"Afro-Asiatic",Shekkacho:"Afro-Asiatic",Sheko:"Afro-Asiatic","Shihhi Arabic":"Afro-Asiatic",Siwi:"Afro-Asiatic",Sokoro:"Afro-Asiatic",Soqotri:"Afro-Asiatic","South Levantine Arabic":"Afro-Asiatic","Standard Arabic":"Afro-Asiatic","Sudanese Arabic":"Afro-Asiatic","Ta’izzi-Adeni Arabic":"Afro-Asiatic","Tahaggart Tamahaq":"Afro-Asiatic",Taznatit:"Afro-Asiatic",Tigré:"Afro-Asiatic",Toram:"Afro-Asiatic",Tsamai:"Afro-Asiatic",Tumzabt:"Afro-Asiatic",Tunni:"Afro-Asiatic",Waata:"Afro-Asiatic","West Central Oromo":"Afro-Asiatic",Xamtanga:"Afro-Asiatic",Zumbun:"Afro-Asiatic"},Jl={aar:"Afro-Asiatic",abf:"Austronesian",abl:"Austronesian",abv:"Afro-Asiatic",acm:"Afro-Asiatic",acq:"Afro-Asiatic",acw:"Afro-Asiatic",acx:"Afro-Asiatic",adh:"Nilo-Saharan",adi:"Sino-Tibetan",adw:"Tupian",adx:"Sino-Tibetan",aen:"Sign Language",afb:"Afro-Asiatic",afg:"Sign Language",afr:"Indo-European",aft:"Nilo-Saharan",agx:"Nakh-Daghestanian",ahk:"Sino-Tibetan",aib:"Turkic",aih:"Kra-Dai",aio:"Kra-Dai",ajp:"Afro-Asiatic",aju:"Afro-Asiatic",aks:"Niger-Congo",akv:"Nakh-Daghestanian",alk:"Austro-Asiatic",alo:"Austronesian",alw:"Afro-Asiatic",amc:"Panoan",amh:"Afro-Asiatic",amr:"Harákmbut",amv:"Austronesian",ani:"Nakh-Daghestanian",anp:"Indo-European",anq:"Andamanese",aoc:"Cariban",apc:"Afro-Asiatic",apd:"Afro-Asiatic",arb:"Afro-Asiatic",arq:"Afro-Asiatic",arr:"Tupian",ars:"Afro-Asiatic",arv:"Afro-Asiatic",ary:"Afro-Asiatic",ase:"Sign Language",asl:"Austronesian",asm:"Indo-European",asn:"Tupian",asp:"Sign Language",atr:"Cariban",avd:"Indo-European",avl:"Afro-Asiatic",avv:"Tupian",awe:"Tupian",awt:"Tupian",ayh:"Afro-Asiatic",ayl:"Afro-Asiatic",ayn:"Afro-Asiatic",azb:"Turkic",bao:"Tucanoan",bbh:"Austro-Asiatic",bcc:"Indo-European",bcz:"Niger-Congo",bdg:"Austronesian",bdi:"Nilo-Saharan",bdj:"Niger-Congo",bdm:"Afro-Asiatic",bdo:"Nilo-Saharan",bee:"Sino-Tibetan",bej:"Afro-Asiatic",bem:"Niger-Congo",ben:"Indo-European",bfi:"Sign Language",bfu:"Sino-Tibetan",bfw:"Austro-Asiatic",bfy:"Indo-European",bgc:"Indo-European",bgg:"Sino-Tibetan",bgk:"Austro-Asiatic",bgl:"Austro-Asiatic",bgn:"Indo-European",bgp:"Indo-European",bgq:"Indo-European",bho:"Indo-European",bhu:"Indo-European",bid:"Afro-Asiatic",bjj:"Indo-European",bkk:"Indo-European",blf:"Austronesian",blm:"Nilo-Saharan",blo:"Niger-Congo",bls:"Austronesian",blt:"Kra-Dai",bly:"Niger-Congo",bma:"Niger-Congo",bmr:"Witotoan",bna:"Austronesian",bns:"Indo-European",bor:"Bororoan",bos:"Indo-European",bph:"Nakh-Daghestanian",bqg:"Niger-Congo",bqj:"Niger-Congo",bqk:"Niger-Congo",bqn:"Sign Language",bqx:"Niger-Congo",bra:"Indo-European",brb:"Austro-Asiatic",bro:"Sino-Tibetan",brx:"Sino-Tibetan",bsb:"Austronesian",bsg:"Indo-European",bsk:"Language isolate",bsy:"Austronesian",btd:"Austronesian",btf:"Afro-Asiatic",btv:"Indo-European",btx:"Austronesian",btz:"Austronesian",bub:"Niger-Congo",buh:"Hmong-Mien",bva:"Afro-Asiatic",bvf:"Afro-Asiatic",bvi:"Niger-Congo",bvo:"Niger-Congo",bwi:"Maipurean",bwn:"Hmong-Mien",bwx:"Hmong-Mien",bxr:"Mongolic",bxu:"Mongolic",bxw:"Niger-Congo",byn:"Afro-Asiatic",byo:"Sino-Tibetan",bze:"Niger-Congo",bzx:"Niger-Congo",cat:"Indo-European",cbb:"Maipurean",cbc:"Tucanoan",cbi:"Barbacoan",cbn:"Austro-Asiatic",cby:"Unclassified",cdh:"Indo-European",cdn:"Sino-Tibetan",cdz:"Austro-Asiatic",ceg:"Zamucoan",cgk:"Sino-Tibetan",che:"Nakh-Daghestanian",cib:"Niger-Congo",cji:"Nakh-Daghestanian",ckh:"Sino-Tibetan",ckq:"Afro-Asiatic",clk:"Sino-Tibetan",cmn:"Sino-Tibetan",cnq:"Niger-Congo",cnu:"Afro-Asiatic",coa:"Creole",cog:"Austro-Asiatic",cpu:"Maipurean",cqd:"Hmong-Mien",csf:"Sign Language",csx:"Sign language",cub:"Tucanoan",cui:"Guajiboan",cuu:"Kra-Dai",daa:"Afro-Asiatic",daj:"Nilo-Saharan",dar:"Nakh-Daghestanian",dau:"Nilo-Saharan",dba:"Language isolate",dbb:"Afro-Asiatic",dbp:"Afro-Asiatic",dbr:"Afro-Asiatic",ddn:"Nilo-Saharan",deg:"Niger-Congo",dek:"Niger-Congo",des:"Tucanoan",dgo:"Indo-European",dgs:"Niger-Congo",dhd:"Indo-European",dhi:"Sino-Tibetan",dhm:"Niger-Congo",dil:"Nilo-Saharan",diu:"Niger-Congo",div:"Indo-European",djc:"Nilo-Saharan",dkg:"Niger-Congo",dln:"Sino-Tibetan",dml:"Indo-European",dms:"Austronesian",dnu:"Austro-Asiatic",doc:"Kra-Dai",dok:"Austronesian",dox:"Afro-Asiatic",dru:"Austronesian",dse:"Sign Language",dsh:"Afro-Asiatic",dsl:"Sign Language",dsq:"Nilo-Saharan",dta:"Mongolic",dtp:"Austronesian",dyu:"Niger-Congo",dzg:"Nilo-Saharan",dzl:"Sino-Tibetan",eng:"Indo-European",enn:"Niger-Congo",epi:"Niger-Congo",ers:"Sino-Tibetan",esl:"Sign Language",evn:"Tungusic",fin:"Uralic",fni:"Niger-Congo",fod:"Niger-Congo",fra:"Indo-European",fsl:"Sign Language",fub:"Niger-Congo",fuc:"Niger-Congo",fuf:"Niger-Congo",fuj:"Niger-Congo",fvr:"Nilo-Saharan",fwe:"Niger-Congo",gax:"Afro-Asiatic",gaz:"Afro-Asiatic",gbk:"Indo-European",gbm:"Indo-European",gbn:"Nilo-Saharan",gdq:"Afro-Asiatic",gea:"Afro-Asiatic",ges:"Austronesian",gex:"Afro-Asiatic",ghl:"Nilo-Saharan",giq:"Kra-Dai",giw:"Kra-Dai",gju:"Indo-European",glc:"Niger-Congo",goe:"Sino-Tibetan",gow:"Afro-Asiatic",gqu:"Kra-Dai",grr:"Afro-Asiatic",gsg:"Sign Language",gss:"Sign Language",guj:"Indo-European",gus:"Sign Language",gvp:"Jean",gwb:"Niger-Congo",gwc:"Indo-European",gwd:"Afro-Asiatic",gwf:"Indo-European",gya:"Niger-Congo",gyo:"Sino-Tibetan",gzn:"Austronesian",hae:"Afro-Asiatic",hal:"Austro-Asiatic",hau:"Afro-Asiatic",hca:"Creole",hea:"Hmong-Mien",heb:"Afro-Asiatic",her:"Niger-Congo",hik:"Austronesian",hin:"Indo-European",hks:"Sign Language",hlb:"Indo-European",hld:"Austro-Asiatic",hmb:"Nilo-Saharan",hmh:"Hmong-Mien",hml:"Hmong-Mien",hmm:"Hmong-Mien",hne:"Indo-European",hni:"Sino-Tibetan",hnu:"Austro-Asiatic",hoh:"Afro-Asiatic",hoj:"Indo-European",hoz:"Afro-Asiatic",hsn:"Sino-Tibetan",hss:"Afro-Asiatic",htu:"Austronesian",hug:"Harákmbut",huo:"Austro-Asiatic",iba:"Austronesian",ibr:"Niger-Congo",icl:"Sign Language",iii:"Sino-Tibetan",ind:"Austronesian",irr:"Austro-Asiatic",ise:"Sign Language",isk:"Indo-European",isr:"Sign Language",ium:"Hmong-Mien",jbn:"Afro-Asiatic",jeu:"Afro-Asiatic",jia:"Afro-Asiatic",jii:"Afro-Asiatic",jio:"Kra-Dai",jit:"Niger-Congo",jiu:"Sino-Tibetan",jle:"Niger-Congo",jls:"Sign Language",jmi:"Afro-Asiatic",jnl:"Sino-Tibetan",jos:"Sign Language",jpn:"Japonic",jup:"Puinavean",kaf:"Sino-Tibetan",kan:"Dravidian",kas:"Indo-European",kay:"Tupian",kaz:"Turkic",kbg:"Sino-Tibetan",kbo:"Nilo-Saharan",kbp:"Niger-Congo",kby:"Nilo-Saharan",kcf:"Niger-Congo",kcn:"Creole",kcp:"Nilo-Saharan",kcu:"Niger-Congo",kcy:"Nilo-Saharan",kcz:"Niger-Congo",kdh:"Niger-Congo",kdn:"Niger-Congo",kdt:"Austro-Asiatic",kdu:"Nilo-Saharan",kec:"Nilo-Saharan",kfa:"Dravidian",kfd:"Dravidian",kfe:"Dravidian",kfg:"Dravidian",kfm:"Indo-European",kfr:"Indo-European",kfs:"Indo-European",kfy:"Indo-European",kgn:"Indo-European",khb:"Kra-Dai",khf:"Austro-Asiatic",khv:"Nakh-Daghestanian",kia:"Niger-Congo",kib:"Niger-Congo",kie:"Nilo-Saharan",kil:"Afro-Asiatic",kir:"Turkic",kjc:"Austronesian",kjg:"Austro-Asiatic",kjk:"Austronesian",kke:"Niger-Congo",kkh:"Kra-Dai",kkn:"Austro-Asiatic",kko:"Nilo-Saharan",kks:"Afro-Asiatic",klf:"Nilo-Saharan",kmc:"Kra-Dai",kmq:"Nilo-Saharan",kmr:"Indo-European",kmz:"Turkic",knc:"Nilo-Saharan",knf:"Niger-Congo",knk:"Niger-Congo",knm:"Maipurean",knn:"Indo-European",kns:"Austro-Asiatic",knz:"Niger-Congo",kou:"Niger-Congo",kpa:"Afro-Asiatic",kpc:"Maipurean",kpj:"Karajá",kpt:"Nakh-Daghestanian",kqg:"Niger-Congo",kqm:"Niger-Congo",krn:"Niger-Congo",krs:"Nilo-Saharan",kth:"Nilo-Saharan",kuf:"Austro-Asiatic",kui:"Cariban",kuj:"Niger-Congo",kva:"Nakh-Daghestanian",kvf:"Afro-Asiatic",kvh:"Austronesian",kvp:"Austronesian",kwn:"Niger-Congo",kwv:"Nilo-Saharan",kxd:"Austronesian",kxh:"Afro-Asiatic",kxj:"Nilo-Saharan",kyi:"Austronesian",kyp:"Kra-Dai",kyw:"Indo-European",kzq:"Sino-Tibetan",lae:"Sino-Tibetan",lan:"Niger-Congo",lao:"Kra-Dai",laq:"Kra-Dai",lbj:"Sino-Tibetan",lbn:"Austro-Asiatic",lbo:"Austro-Asiatic",lbs:"Sign Language",lbt:"Kra-Dai",lcd:"Austronesian",lcq:"Austronesian",lgn:"Nilo-Saharan",lgs:"Sign Language",lha:"Kra-Dai",lhn:"Austronesian",lhp:"Sino-Tibetan",lic:"Kra-Dai",liq:"Afro-Asiatic",liu:"Nilo-Saharan",lkc:"Sino-Tibetan",lkh:"Sino-Tibetan",lki:"Indo-European",lkr:"Nilo-Saharan",lma:"Niger-Congo",loh:"Nilo-Saharan",lop:"Niger-Congo",lsd:"Afro-Asiatic",lso:"Sign Language",lss:"Indo-European",lsy:"Sign Language",luk:"Sino-Tibetan",lul:"Nilo-Saharan",mag:"Indo-European",mai:"Indo-European",mal:"Dravidian",mar:"Indo-European",mbd:"Austronesian",mbn:"Guajiboan",mcd:"Panoan",mdl:"Sign Language",mdy:"Afro-Asiatic",mei:"Nilo-Saharan",men:"Niger-Congo",mes:"Afro-Asiatic",mew:"Afro-Asiatic",mey:"Afro-Asiatic",mgb:"Nilo-Saharan",mgd:"Nilo-Saharan",mge:"Nilo-Saharan",mgh:"Niger-Congo",mhr:"Uralic",mhu:"Sino-Tibetan",mhw:"Niger-Congo",mjp:"Dravidian",mkg:"Kra-Dai",mmh:"Maipurean",mml:"Austro-Asiatic",mmy:"Afro-Asiatic",mne:"Nilo-Saharan",mni:"Sino-Tibetan",mnj:"Indo-European",mnk:"Niger-Congo",mnq:"Austro-Asiatic",mns:"Uralic",mot:"Chibchan",mou:"Afro-Asiatic",moy:"Afro-Asiatic",moz:"Afro-Asiatic",mpe:"Nilo-Saharan",mpz:"Sino-Tibetan",mqi:"Austronesian",mqn:"Austronesian",mra:"Austro-Asiatic",mrj:"Uralic",msc:"Niger-Congo",msv:"Afro-Asiatic",msw:"Niger-Congo",mtr:"Indo-European",mub:"Afro-Asiatic",mup:"Indo-European",muq:"Hmong-Mien",muv:"Dravidian",mvf:"Mongolic",mvu:"Nilo-Saharan",mvy:"Indo-European",mwn:"Niger-Congo",mxj:"Sino-Tibetan",myp:"Muran",myy:"Tucanoan",mzb:"Afro-Asiatic",mzy:"Sign Language",naq:"Khoe-Kwadi",nbt:"Sino-Tibetan",nbw:"Niger-Congo",ndg:"Niger-Congo",ndp:"Nilo-Saharan",ndt:"Niger-Congo",neb:"Niger-Congo",neh:"Sino-Tibetan",nev:"Austro-Asiatic",ngt:"Austro-Asiatic",njl:"Nilo-Saharan",nkd:"Sino-Tibetan",nld:"Indo-European",nmd:"Niger-Congo",nmi:"Afro-Asiatic",nml:"Niger-Congo",nmy:"Sino-Tibetan",nnj:"Nilo-Saharan",nod:"Kra-Dai",noe:"Indo-European",nos:"Sino-Tibetan",npb:"Sino-Tibetan",npi:"Indo-European",nrb:"Nilo-Saharan",nru:"Sino-Tibetan",nsl:"Sign Language",nuo:"Austro-Asiatic",nus:"Nilo-Saharan",nwm:"Nilo-Saharan",nxq:"Sino-Tibetan",nye:"Niger-Congo",nyn:"Niger-Congo",nyr:"Niger-Congo",nyw:"Kra-Dai",nzs:"Sign Language",okn:"Japonic",ole:"Sino-Tibetan",oog:"Austro-Asiatic",oon:"Andamanese",opa:"Niger-Congo",ort:"Indo-European",ory:"Indo-European",ost:"Niger-Congo",oyb:"Austro-Asiatic",oym:"Tupian",pac:"Austro-Asiatic",pah:"Tupian",pbp:"Niger-Congo",peh:"Mongolic",pes:"Indo-European",pga:"Creole",pgg:"Indo-European",pgz:"Sign language",pha:"Hmong-Mien",phh:"Sino-Tibetan",phj:"Sino-Tibetan",phk:"Kra-Dai",phl:"Indo-European",pho:"Sino-Tibetan",phq:"Sino-Tibetan",phr:"Indo-European",pht:"Kra-Dai",pil:"Niger-Congo",pir:"Tucanoan",pkb:"Niger-Congo",pks:"Sign Language",pkt:"Austro-Asiatic",pll:"Austro-Asiatic",pnq:"Niger-Congo",pnx:"Austro-Asiatic",por:"Indo-European",prc:"Indo-European",prs:"Indo-European",prt:"Austro-Asiatic",psc:"Sign Language",pse:"Austronesian",pto:"Tupian",pum:"Sino-Tibetan",puo:"Austro-Asiatic",qae:"Sign Language",qao:"Sign Language",qbh:"Sign Language",qbj:"Sign Language",qbn:"Sign Language",qbt:"Sign Language",qcd:"Sign Language",qcm:"Sign Language",qcy:"Sign Language",qer:"Sign Language",qfa:"Sign Language",qfj:"Sign Language",qga:"Sign Language",qge:"Sign Language",qgm:"Sign Language",qiq:"Sign Language",qki:"Sign Language",qkm:"Sign Language",qkp:"Sign Language",qkw:"Sign Language",qmv:"Sign Language",qnh:"Sign Language",qns:"Sign Language",qom:"Sign Language",qqa:"Sign Language",qry:"Sign Language",qsm:"Sign Language",qso:"Sign Language",qsr:"Sign Language",qsz:"Sign Language",qtp:"Sign Language",qvz:"Quechuan",ras:"Niger-Congo",rbb:"Austro-Asiatic",ren:"Austro-Asiatic",rji:"Sino-Tibetan",rmt:"Indo-European",rmy:"Indo-European",rob:"Austronesian",rsl:"Sign Language",rui:"Niger-Congo",rus:"Indo-European",rwm:"Niger-Congo",rwr:"Indo-European",rys:"Japonic",saa:"Afro-Asiatic",sbf:"Unclassified",sbj:"Nilo-Saharan",sbs:"Niger-Congo",scb:"Austro-Asiatic",sck:"Indo-European",scl:"Indo-European",sdb:"Indo-European",sdg:"Indo-European",sdl:"Sign Language",sdp:"Sino-Tibetan",seq:"Niger-Congo",sgh:"Indo-European",sgy:"Indo-European",she:"Afro-Asiatic",shm:"Indo-European",shn:"Kra-Dai",sho:"Niger-Congo",shp:"Panoan",shu:"Afro-Asiatic",shv:"Afro-Asiatic",shz:"Niger-Congo",siy:"Indo-European",siz:"Afro-Asiatic",sjg:"Nilo-Saharan",sjo:"Tungusic",skq:"Niger-Congo",sle:"Dravidian",slt:"Sino-Tibetan",sml:"Austronesian",smy:"Indo-European",snd:"Indo-European",snn:"Tucanoan",soj:"Indo-European",sok:"Afro-Asiatic",soy:"Niger-Congo",spa:"Indo-European",spu:"Austro-Asiatic",sqk:"Sign Language",sqq:"Austro-Asiatic",sqs:"Sign Language",sqt:"Afro-Asiatic",srh:"Indo-European",sri:"Tucanoan",srp:"Indo-European",ssh:"Afro-Asiatic",ssn:"Afro-Asiatic",sss:"Austro-Asiatic",ssy:"Afro-Asiatic",std:"Andamanese",sts:"Indo-European",suq:"Nilo-Saharan",suv:"Sino-Tibetan",suy:"Jean",suz:"Sino-Tibetan",swh:"Niger-Congo",swi:"Kra-Dai",swl:"Sign Language",swv:"Indo-European",swx:"Arauan",sxg:"Sino-Tibetan",sze:"Afro-Asiatic",szn:"Austronesian",szs:"Sign Language",tag:"Niger-Congo",tam:"Dravidian",taz:"Niger-Congo",tbm:"Niger-Congo",tbn:"Chibchan",tbr:"Nilo-Saharan",tct:"Kra-Dai",tcy:"Dravidian",tda:"Mixed language",tdb:"Indo-European",tdd:"Kra-Dai",tdf:"Austro-Asiatic",tdj:"Austronesian",tel:"Dravidian",teq:"Nilo-Saharan",tgf:"Sino-Tibetan",tgk:"Indo-European",tgr:"Austro-Asiatic",thk:"Niger-Congo",thm:"Austro-Asiatic",thu:"Nilo-Saharan",thv:"Afro-Asiatic",tig:"Afro-Asiatic",tin:"Nakh-Daghestanian",tiz:"Kra-Dai",tkn:"Japonic",tlq:"Austro-Asiatic",tly:"Indo-European",tma:"Nilo-Saharan",tnb:"Chibchan",toi:"Niger-Congo",toq:"Nilo-Saharan",tou:"Austro-Asiatic",tqq:"Afro-Asiatic",tri:"Cariban",trj:"Afro-Asiatic",tsb:"Afro-Asiatic",tsc:"Niger-Congo",tsj:"Sino-Tibetan",tsk:"Sino-Tibetan",tsl:"Kra-Dai",tsm:"Sign Language",ttg:"Austronesian",tth:"Austro-Asiatic",ttl:"Niger-Congo",tts:"Kra-Dai",tue:"Tucanoan",tum:"Niger-Congo",tuo:"Tucanoan",tur:"Turkic",twm:"Sino-Tibetan",txi:"Cariban",txm:"Austronesian",tyh:"Austro-Asiatic",tyj:"Kra-Dai",tyr:"Kra-Dai",tyv:"Turkic",tyy:"Niger-Congo",tzm:"Afro-Asiatic",uan:"Kra-Dai",udj:"Austronesian",une:"Niger-Congo",unk:"Maipurean",urd:"Indo-European",urp:"Tupian",urz:"Tupian",ush:"Indo-European",usi:"Sino-Tibetan",uuu:"Austro-Asiatic",uzn:"Turkic",vai:"Niger-Congo",vgr:"Indo-European",vie:"Austro-Asiatic",vkj:"Unclassified",vkn:"Niger-Congo",vkz:"Niger-Congo",vmk:"Niger-Congo",vut:"Niger-Congo",wau:"Maipurean",waw:"Cariban",wbj:"Afro-Asiatic",wbl:"Indo-European",wbr:"Indo-European",wlc:"Niger-Congo",wll:"Nilo-Saharan",wmd:"Nambikwara",wmg:"Sino-Tibetan",wne:"Indo-European",wni:"Niger-Congo",wol:"Niger-Congo",wrn:"Niger-Congo",wti:"Nilo-Saharan",wuh:"Mixed language",wwa:"Niger-Congo",xal:"Mongolic",xan:"Afro-Asiatic",xdq:"Nakh-Daghestanian",xhv:"Austro-Asiatic",xka:"Indo-European",xkz:"Sino-Tibetan",xma:"Niger-Congo",xmj:"Afro-Asiatic",xmo:"Tupian",xms:"Sign Language",xnr:"Indo-European",xns:"Sino-Tibetan",xom:"Nilo-Saharan",xor:"Panoan",xsm:"Niger-Congo",xsr:"Sino-Tibetan",xwg:"Nilo-Saharan",yaa:"Panoan",yad:"Yaguan",yao:"Niger-Congo",yax:"Niger-Congo",ybh:"Sino-Tibetan",ycl:"Sino-Tibetan",ydd:"Indo-European",ydg:"Indo-European",yea:"Dravidian",yhd:"Afro-Asiatic",yig:"Sino-Tibetan",yix:"Sino-Tibetan",ymm:"Afro-Asiatic",ymx:"Sino-Tibetan",yne:"Sino-Tibetan",yno:"Kra-Dai",yom:"Niger-Congo",yox:"Japonic",yoy:"Kra-Dai",yrn:"Kra-Dai",ysl:"Sign Language",ysm:"Sign language",ysn:"Sino-Tibetan",yue:"Sino-Tibetan",yul:"Nilo-Saharan",yup:"Cariban",ywn:"Panoan",ywt:"Sino-Tibetan",zag:"Nilo-Saharan",zgn:"Kra-Dai",zhd:"Kra-Dai",ziw:"Niger-Congo",zkr:"Sino-Tibetan",zlm:"Austronesian",zna:"Niger-Congo",zne:"Niger-Congo",zng:"Austro-Asiatic",zqe:"Kra-Dai",zum:"Indo-European",zyg:"Kra-Dai"},ds="languageFamily",Dm="#000000",Vt={"Indo-European":"#e74c3c",Dravidian:"#ff9800","Afro-Asiatic":"#27ae60","Sino-Tibetan":"#3498db","Niger-Congo":"#9b59b6",Unclassified:"#95a5a6","Nilo-Saharan":"#e91e63","Khoe-Kwadi":"#00bcd4","Austro-Asiatic":"#00bcd4","Kra-Dai":"#8e44ad",Austronesian:"#ff69b4","Hmong-Mien":"#f44336",Turkic:"#ffc107","Nakh-Daghestanian":"#009688",Mongolic:"#795548",Uralic:"#607d8b",Tungusic:"#4caf50",Japonic:"#ff5722",Cariban:"#673ab7",Tupian:"#03a9f4",Tucanoan:"#8bc34a",Maipurean:"#ffc107",Panoan:"#cddc39",Guajiboan:"#9e9e9e",Chibchan:"#ff7043",Quechuan:"#ab47bc",Jean:"#26a69a",Harákmbut:"#7e57c2",Nambikwara:"#42a5f5",Muran:"#66bb6a",Karajá:"#ffa726",Bororoan:"#ef5350",Arauan:"#5c6bc0",Yanomaman:"#26c6da",Yaguan:"#d4e157",Witotoan:"#78909c",Zamucoan:"#8d6e63",Puinavean:"#aed581",Barbacoan:"#4db6ac","Eyak-Athabaskan":"#7986cb","Trans-New Guinea":"#ba68c8",Andamanese:"#4dd0e1","Sign Language":"#212121",Creole:"#9575cd","Mixed language":"#a1887f","Language isolate":"#90a4ae",Unknown:"#000000"},Rm=Vt;function fs(e){return Vt[e]||Dm}const Fm=(()=>{const e=n=>String(n||"").toLowerCase().trim(),t={};for(const n of Object.keys(Vt))t[e(n)]=n;return t})();function ps(e){if(!e)return"Unknown";const t=String(e).trim();return Fm[t.toLowerCase()]||t}function Xl(e){var t;return fs(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function hs(){const e=["match",["get",ds]];return Object.entries(Vt).forEach(([t,n])=>{e.push(t,n)}),e.push("#95a5a6"),e}const Zl=hs,Om=Object.freeze(Object.defineProperty({__proto__:null,LANGUAGE_FAMILY_COLORS:Rm,PALETTE:Vt,PROPERTY_KEY:ds,applyColor:hs,buildColorExpression:Zl,canonicalFamilyName:ps,default:{name:"Language Family",propertyKey:ds,palette:Vt,colors:Vt,getColor:Xl,applyColor:hs,buildColorExpression:Zl,getLanguageFamilyColor:fs,canonicalFamilyName:ps},defaultFamilyColor:"#95a5a6",getColor:Xl,getLanguageFamilyColor:fs,languageFamilyColors:Vt},Symbol.toStringTag,{value:"Module"})),Ql="adoptionStatus",Mt={notAdopted:"#f03b2d",hasAdoption:"#22c55e"},xm=Mt,ms={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"},jm=ms;function ec(e){var o;const t=e.adoptionStatus??((o=e._raw)==null?void 0:o.adopted_by_churches);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?Mt.hasAdoption:Mt.notAdopted}function bs({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",t,!0],Mt.hasAdoption,["==",t,1],Mt.hasAdoption,Mt.notAdopted]}const tc=bs,Bm=Object.freeze(Object.defineProperty({__proto__:null,ADOPTION_COLORS:xm,ADOPTION_LABELS:jm,LABELS:ms,PALETTE:Mt,PROPERTY_KEY:Ql,applyColor:bs,buildColorExpression:tc,default:{name:"Adoption Progress",propertyKey:Ql,palette:Mt,colors:Mt,labels:ms,getColor:ec,applyColor:bs,buildColorExpression:tc},getColor:ec},Symbol.toStringTag,{value:"Module"})),nc="engagementStatus",Dt={notEngaged:"#f03b2d",hasEngagement:"#22c55e"},Km=Dt,_s={notEngaged:"Unengaged",hasEngagement:"Engaged"},Um=_s;function oc(e){var o;const t=e.engagementStatus??((o=e._raw)==null?void 0:o.people_committed);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?Dt.hasEngagement:Dt.notEngaged}function ys({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",t,!0],Dt.hasEngagement,["==",t,1],Dt.hasEngagement,Dt.notEngaged]}const ac=ys,Gm=Object.freeze(Object.defineProperty({__proto__:null,ENGAGEMENT_COLORS:Km,ENGAGEMENT_LABELS:Um,LABELS:_s,PALETTE:Dt,PROPERTY_KEY:nc,applyColor:ys,buildColorExpression:ac,default:{name:"Engagement Progress",propertyKey:nc,palette:Dt,colors:Dt,labels:_s,getColor:oc,applyColor:ys,buildColorExpression:ac},getColor:oc},Symbol.toStringTag,{value:"Module"})),sc="peoplePraying",Zo=144,Wt={noPrayer:"#f03b2d",hasPrayer:"#f0c64a",fullPrayer:"#22c55e"},zm=Wt,As={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"},qm=As;function Qo(e){var o;const t=(e==null?void 0:e.peoplePraying)??((o=e==null?void 0:e._raw)==null?void 0:o.people_praying)??null,n=Number(t)||0;return n>=Zo?"fullPrayer":n>0?"hasPrayer":"noPrayer"}function Ss(e){return Wt[Qo(e)]}function ic(e){var n;const t=(e==null?void 0:e.peoplePraying)??((n=e==null?void 0:e._raw)==null?void 0:n.people_praying)??null;return t!==null&&t>0}function rc(e){return Qo(e)==="fullPrayer"}function lc(e){return Ss(e)}function vs({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,Zo],Wt.fullPrayer,[">",t,0],Wt.hasPrayer,Wt.noPrayer]}const cc=vs,Hm=Object.freeze(Object.defineProperty({__proto__:null,FULL_PRAYER_THRESHOLD:Zo,LABELS:As,PALETTE:Wt,PRAYER_COLORS:zm,PRAYER_LABELS:qm,PROPERTY_KEY:sc,applyColor:vs,buildColorExpression:cc,checkHasFullPrayer:rc,checkHasPrayer:ic,default:{name:"Prayer Progress",propertyKey:sc,palette:Wt,colors:Wt,labels:As,threshold:Zo,getColor:lc,applyColor:vs,buildColorExpression:cc,getPrayerLevel:Qo,getPrayerColor:Ss,checkHasPrayer:ic,checkHasFullPrayer:rc},getColor:lc,getPrayerColor:Ss,getPrayerLevel:Qo},Symbol.toStringTag,{value:"Module"})),uc="religion",ks="#94a3b8",Ts={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},Xe={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function gc(e){if(!e||typeof e!="string")return"U";const t=e.charAt(0).toUpperCase();return Ts[t]?t:"U"}function dc(e){var n,o,a;const t=(e==null?void 0:e.religion)||((o=(n=e==null?void 0:e._raw)==null?void 0:n.religion)==null?void 0:o.value)||((a=e==null?void 0:e._raw)==null?void 0:a.religion);return Xe[gc(t)]||ks}function $s(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",Xe.C,"M",Xe.M,"H",Xe.H,"B",Xe.B,"E",Xe.E,"J",Xe.J,"S",Xe.S,"N",Xe.N,"O",Xe.O,ks]}const fc=$s,Vm=Object.assign({"./adoption.js":Bm,"./engagement.js":Gm,"./language-family.js":Om,"./prayer-progress.js":Hm,"./religion.js":Object.freeze(Object.defineProperty({__proto__:null,PALETTE:Xe,PROPERTY_KEY:uc,RELIGION_FAMILIES:Ts,applyColor:$s,buildColorExpression:fc,default:{name:"Religion",propertyKey:uc,palette:Xe,families:Ts,getColor:dc,applyColor:$s,buildColorExpression:fc,fallback:ks},getColor:dc,getReligionFamily:gc},Symbol.toStringTag,{value:"Module"}))}),Wm=e=>e.replace(/-([a-z0-9])/g,(t,n)=>n.toUpperCase()),Ym=e=>e.replace(/-/g,"_").toUpperCase(),Jm={...{STATUS:"status",CUSTOM:"custom"}};function Xm(e){for(const t of Object.keys(e).sort()){const n=t.split("/").pop().replace(/\.js$/,"");if(n.startsWith("_")||n.startsWith(".")||!e[t].default)continue;const a=Wm(n);Jm[Ym(n)]=a}}Xm(Vm);function Es(e){return e==null?"":typeof e=="object"?e.label||e.value||"":String(e)}const Zm=[[/ sign language$/i,"Sign Language"]];function Qm(e){var r,l;const t=Es(e.languageFamily);if(t)return t;const n=String(((l=(r=e._raw)==null?void 0:r.primary_language)==null?void 0:l.value)||(e.language&&typeof e.language=="object"?e.language.value:"")||"").trim().toLowerCase();if(n&&Jl[n])return Jl[n];const o=Es(e.language||e.primary_language);if(!o||typeof o!="string")return"";const a=o.trim(),s=a.split(",").map(c=>c.trim()).filter(Boolean);if(s.length>=2){const c=[...s].reverse().join(" ");if(Ht[c])return Ht[c];if(s.length>=3){const u=[s[1],s[0]].join(" ");if(Ht[u])return Ht[u]}}if(Ht[a])return Ht[a];const i=a.replace(/\s*\(.*?\)\s*$/,"").trim();if(i!==a&&Ht[i])return Ht[i];for(const[c,u]of Zm)if(c.test(a))return u;return""}function eb(e){const{mapId:t="unknown",dataSourceId:n="doxa-csv",dataSourceManager:o=null,dataStore:a=null,markRaw:s=I=>I}=e;o||console.error("useMapData: dataSourceManager is required!");const i=pe(!1),r=pe(null),l=pe(!1),c=pe([]),u=pe([]),f=pe(null),b=pe([]),v=pe([]),E=pe([]),A=pe(null);async function R(){if(!o)throw new Error("dataSourceManager is required for useMapData");i.value=!0,r.value=null;try{if(await o.init(),a&&a.hasSourceData&&a.hasSourceData(n)){const D=a.getSourceData(n);u.value=s(D.normalizedData||[])}else{const D=await o.setActiveSource(n);for(const j of D){const B=Es(j.language||j.primary_language);B&&(j.language=B);const V=Qm(j);j.languageFamily=ps(V)}u.value=s(D),a&&a.cacheSourceData&&a.cacheSourceData(n,{normalizedData:D,timestamp:Date.now()})}c.value=s(Mm(u.value.map(D=>({id:D.uniqueId,slug:D.slug||"",rop3:D.peopleGroupId,peopleId3:D.peopleId3,name:D.name,language:D.language,languageFamily:D.languageFamily,country:D.country,population:D.population,status:D.engagementStatus||D.status,latitude:D.latitude,longitude:D.longitude,lng:D.longitude,lat:D.latitude,description:D.description,imageUrl:D.imageUrl,doxaRegion:D.doxaRegion||D.wagfRegion||"",peoplePraying:D.peoplePraying??null,_normalized:D}))));const I=o.getDataByLanguageFamily();b.value=Object.entries(I).map(([D,j])=>{const B=j.reduce((V,X)=>{const ue=parseInt(X.population)||0;return V+ue},0);return{name:D,count:j.length,peopleGroupCount:j.length,population:B,groups:j}}).sort((D,j)=>j.count-D.count);const F=o.getDataByRegion();v.value=Object.entries(F).map(([D,j])=>{const B=j.reduce((V,X)=>{const ue=parseInt(X.population)||0;return V+ue},0);return{name:D,count:j.length,peopleGroupCount:j.length,population:B,groups:j}}).sort((D,j)=>D.name.localeCompare(j.name));const S={bible:{count:0,population:0,groups:[]},jesusFilm:{count:0,population:0,groups:[]},radio:{count:0,population:0,groups:[]},gospel:{count:0,population:0,groups:[]},audio:{count:0,population:0,groups:[]},stories:{count:0,population:0,groups:[]},hasResources:{count:0,population:0,groups:[]},noResources:{count:0,population:0,groups:[]}};u.value.forEach(D=>{const j=parseInt(D.population)||0;let B=!1;D.bible==="Available"&&(S.bible.count++,S.bible.population+=j,S.bible.groups.push(D),B=!0),D.jesusFilm==="Available"&&(S.jesusFilm.count++,S.jesusFilm.population+=j,S.jesusFilm.groups.push(D),B=!0),D.radio==="Available"&&(S.radio.count++,S.radio.population+=j,S.radio.groups.push(D),B=!0),D.gospel==="Available"&&(S.gospel.count++,S.gospel.population+=j,S.gospel.groups.push(D),B=!0),D.audio==="Available"&&(S.audio.count++,S.audio.population+=j,S.audio.groups.push(D),B=!0),D.stories==="Available"&&(S.stories.count++,S.stories.population+=j,S.stories.groups.push(D),B=!0),B?(S.hasResources.count++,S.hasResources.population+=j,S.hasResources.groups.push(D)):(S.noResources.count++,S.noResources.population+=j,S.noResources.groups.push(D))});const W=u.value.length,ae=u.value.reduce((D,j)=>D+(parseInt(j.population)||0),0),H={bible:"Bible",jesusFilm:"Jesus Film",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",hasResources:"Has Resources",noResources:"No Resources"},ee={bible:{count:W-S.bible.count,population:ae-S.bible.population},jesusFilm:{count:W-S.jesusFilm.count,population:ae-S.jesusFilm.population},radio:{count:W-S.radio.count,population:ae-S.radio.population},gospel:{count:W-S.gospel.count,population:ae-S.gospel.population},audio:{count:W-S.audio.count,population:ae-S.audio.population},stories:{count:W-S.stories.count,population:ae-S.stories.population}},Y="#2c3e50";return E.value=[{name:H.bible,key:"bible",count:S.bible.count,population:S.bible.population,isParent:!0,children:[{name:"No Bible",key:"noBible",count:ee.bible.count,population:ee.bible.population,color:Y}]},{name:H.jesusFilm,key:"jesusFilm",count:S.jesusFilm.count,population:S.jesusFilm.population,isParent:!0,children:[{name:"No Jesus Film",key:"noJesusFilm",count:ee.jesusFilm.count,population:ee.jesusFilm.population,color:Y}]},{name:H.radio,key:"radio",count:S.radio.count,population:S.radio.population,isParent:!0,children:[{name:"No Radio",key:"noRadio",count:ee.radio.count,population:ee.radio.population,color:Y}]},{name:H.gospel,key:"gospel",count:S.gospel.count,population:S.gospel.population,isParent:!0,children:[{name:"No Gospel",key:"noGospel",count:ee.gospel.count,population:ee.gospel.population,color:Y}]},{name:H.audio,key:"audio",count:S.audio.count,population:S.audio.population,isParent:!0,children:[{name:"No Audio",key:"noAudio",count:ee.audio.count,population:ee.audio.population,color:Y}]},{name:H.stories,key:"stories",count:S.stories.count,population:S.stories.population,isParent:!0,children:[{name:"No Stories",key:"noStories",count:ee.stories.count,population:ee.stories.population,color:Y}]},{name:H.hasResources,key:"hasResources",count:S.hasResources.count,population:S.hasResources.population,isParent:!0,children:[{name:H.noResources,key:"noResources",count:S.noResources.count,population:S.noResources.population,color:Y}]}],A.value=o.getStats(),l.value=!0,{peopleGroups:c.value,normalizedPeopleGroups:u.value,languageFamiliesData:b.value,doxaRegionsData:v.value,resourcesData:E.value,stats:A.value}}catch(I){throw console.error(`Failed to load data for map "${t}":`,I),r.value=I.message||"Failed to load data",I}finally{i.value=!1}}async function M(){var I,F,S;try{const W={},ae=u.value||[];for(const H of ae){const ee=H.countryIso||((F=(I=H._raw)==null?void 0:I.country_code)==null?void 0:F.value)||"",Y=(S=H._raw)==null?void 0:S.wagf_region,D=H.doxaRegion||H.wagfRegion||(Y&&typeof Y=="object"?Y.value:"")||"";ee&&D&&!W[ee]&&(W[ee]=D)}return f.value={isoToRegion:W},f.value}catch(W){throw console.error(`Error building regions data for map "${t}":`,W),r.value=W.message||"Failed to build regions",W}}function L(){return o?o.getDataByLanguageFamily():{}}function y(){return o?o.getDataByRegion():{}}function h(I){return L()[I]||[]}function T(I){return y()[I]||[]}function C(){c.value=[],u.value=[],f.value=null,b.value=[],v.value=[],E.value=[],A.value=null,l.value=!1,r.value=null}return{isLoading:i,isInitialized:l,error:r,peopleGroups:c,normalizedPeopleGroups:u,regionsData:f,languageFamiliesData:b,doxaRegionsData:v,resourcesData:E,stats:A,loadData:R,loadRegionsData:M,getDataByLanguageFamily:L,getDataByRegion:y,getPeopleGroupsByFamily:h,getPeopleGroupsByRegion:T,clearData:C}}function tb(){return typeof window<"u"&&window.MAP_APP_API_URL||typeof{url:ea&&ea.tagName.toUpperCase()==="SCRIPT"&&ea.src||new URL("all-people-groups.js",document.baseURI).href}<"u"&&"https://pray.doxa.life"||""}class pc{constructor(t={}){this.sourcesConfig=null,this.activeSource=null,this.rawData=[],this.normalizedData=[],this.dataByUniqueId=new Map,this.baseUrl=typeof window<"u"&&window.MAP_APP_BASE_URL||"./",this.locale=t.locale||null,this.cache=new Map,this.cacheEnabled=!0,this.cacheTTL=5*60*1e3}async init(){return this.sourcesConfig=Ul,this.sourcesConfig}getActiveSourceId(){var t;return((t=this.sourcesConfig)==null?void 0:t.activeSource)||"doxa-csv"}getSourceConfig(t){var n,o;return(o=(n=this.sourcesConfig)==null?void 0:n.sources)==null?void 0:o[t]}async setActiveSource(t){const n=this.getSourceConfig(t);if(!n)throw new Error(`Source not found: ${t}`);if(this.activeSource=n,this.cacheEnabled&&this.cache.has(t)){const o=this.cache.get(t);return this.normalizedData=o.normalizedData,this.dataByUniqueId=o.dataByUniqueId,this.normalizedData}return n.type==="csv"?await this.loadCSVData(n):n.type==="api"?await this.loadAPIData(n):n.type==="rest-api"&&await this.loadRestApiData(n),this.cacheEnabled&&this.cache.set(t,{normalizedData:this.normalizedData,dataByUniqueId:this.dataByUniqueId,timestamp:Date.now()}),this.normalizedData}clearCache(t=null){t?this.cache.delete(t):this.cache.clear()}isCached(t){return this.cache.has(t)}async loadActiveSource(){return this.sourcesConfig||await this.init(),this.setActiveSource(this.getActiveSourceId())}parseCSV(t){const n=[],o=[];let a="",s=!1,i=[],r=!0;for(let l=0;ls.value?(qe(),$t("div",{key:0,class:Nn(["pin-hint",{dark:o.value}]),role:"status"},[Ee("span",em,[c[0]||(c[0]=Ee("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),Et(" "+Xt(a.value)+" ",1),Ee("button",{class:"pin-hint-x",type:"button","aria-label":"Dismiss hint",onClick:r},"×")])],2)):bn("",!0)}};let nm=0;const om=za("ui",{state:()=>({_storeInstanceId:++nm,theme:"light",colorScheme:"default",reducedMotion:!1,highContrast:!1,activeTab:"doxa-regions",sidebarCollapsed:!1,mobileMenuOpen:!1,legendState:"collapsed",_customLegendHeight:null,searchMode:!1,hamburgerMenuOpen:!1,legendMode:"prayer",prayerFilter:null,engagementFilter:null,adoptionFilter:null,religionFilter:null,selectedPeopleGroup:null,breakpoint:"desktop",windowSize:{width:window.innerWidth,height:window.innerHeight},toasts:[],nextToastId:1,toastDuration:5e3,openModals:[],modalData:new Map,isGlobalLoading:!1,globalLoadingMessage:"Loading...",loadingStates:new Map,interactionHistory:[],maxHistoryLength:20,keyboardShortcutsEnabled:!0,screenReaderAnnouncement:"",focusTrapActive:!1,debugMode:!1,showPerformanceOverlay:!1}),getters:{isDarkTheme:e=>!1,isMobile:e=>e.breakpoint==="mobile",isTablet:e=>e.breakpoint==="tablet",isDesktop:e=>e.breakpoint==="desktop"||e.breakpoint==="wide",legendHeight:e=>e._customLegendHeight?e._customLegendHeight:e.legendState==="collapsed"?"48px":e.legendState==="open"?"30%":e.legendState==="fullyOpen"?"calc(100% - 80px)":"48px",caretRotation:e=>e.legendState==="collapsed"?0:90,showPullTab:e=>e.legendState==="open"||e.legendState==="fullyOpen",getToastsByType:e=>t=>e.toasts.filter(n=>n.type===t),hasOpenModal:e=>e.openModals.length>0,topModal:e=>e.openModals.length===0?null:e.openModals[e.openModals.length-1],isModalOpen:e=>t=>e.openModals.includes(t),isAnyLoading:e=>e.isGlobalLoading||e.loadingStates.size>0,isLoading:e=>t=>e.loadingStates.get(t)||!1},actions:{setTheme(e){if(!["light","dark","auto"].includes(e))return;e="light",this.theme=e;const n=this.isDarkTheme;document.documentElement.setAttribute("data-theme",n?"dark":"light");try{localStorage.setItem("theme",e)}catch{}},toggleTheme(){const e=this.theme==="light"?"dark":"light";this.setTheme(e)},setColorScheme(e){this.colorScheme=e,document.documentElement.setAttribute("data-color-scheme",e)},toggleReducedMotion(){this.reducedMotion=!this.reducedMotion,document.documentElement.setAttribute("data-reduced-motion",this.reducedMotion)},toggleHighContrast(){this.highContrast=!this.highContrast,document.documentElement.setAttribute("data-high-contrast",this.highContrast)},setActiveTab(e){this.activeTab=e,this.addToHistory({type:"tab-change",tabId:e,timestamp:Date.now()})},toggleSidebar(){this.sidebarCollapsed=!this.sidebarCollapsed},openMobileMenu(){this.mobileMenuOpen=!0},closeMobileMenu(){this.mobileMenuOpen=!1},setLegendMode(e){["prayer","detail"].includes(e)&&(this.legendMode=e)},setPrayerFilter(e){[null,"noPrayer","hasPrayer","fullPrayer"].includes(e)&&(this.prayerFilter=e)},setEngagementFilter(e){[null,"notEngaged","hasEngagement"].includes(e)&&(this.engagementFilter=e)},setAdoptionFilter(e){[null,"notAdopted","hasAdoption"].includes(e)&&(this.adoptionFilter=e)},setReligionFilter(e){[null,"C","M","H","B","E","J","S","N","O","U"].includes(e)&&(this.religionFilter=e)},selectPeopleGroup(e){this.selectedPeopleGroup=e,e?(this._legendStateBeforeDetail=this.legendState,this.legendState="open",this._customLegendHeight=null,this.setLegendMode("detail")):(this.legendState=this._legendStateBeforeDetail||"open",this._customLegendHeight=null,this.setLegendMode("prayer"))},setLegendState(e){["collapsed","open","fullyOpen"].includes(e)&&(this.legendState=e)},toggleSearchMode(){this.searchMode=!this.searchMode},setSearchMode(e){this.searchMode=e},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},updateBreakpoint(e){let t;e<768?t="mobile":e<1024?t="tablet":e<1920?t="desktop":t="wide",t!==this.breakpoint&&(this.breakpoint=t)},updateWindowSize(e,t){this.windowSize.width=e,this.windowSize.height=t,this.updateBreakpoint(e)},showToast(e){const{message:t,type:n="info",duration:o=this.toastDuration,action:a=null,persistent:s=!1}=e,i={id:this.nextToastId++,message:t,type:n,duration:o,action:a,persistent:s,createdAt:Date.now()};return this.toasts.push(i),!s&&o>0&&setTimeout(()=>{this.removeToast(i.id)},o),i.id},showSuccess(e,t={}){return this.showToast({message:e,type:"success",...t})},showError(e,t={}){return this.showToast({message:e,type:"error",duration:7e3,...t})},showWarning(e,t={}){return this.showToast({message:e,type:"warning",...t})},showInfo(e,t={}){return this.showToast({message:e,type:"info",...t})},removeToast(e){const t=this.toasts.findIndex(n=>n.id===e);t!==-1&&this.toasts.splice(t,1)},clearAllToasts(){this.toasts=[]},openModal(e,t={}){this.openModals.includes(e)||(this.openModals.push(e),this.modalData.set(e,t),this.focusTrapActive=!0)},closeModal(e=null){if(e){const t=this.openModals.indexOf(e);t!==-1&&(this.openModals.splice(t,1),this.modalData.delete(e))}else{const t=this.openModals.pop();t&&this.modalData.delete(t)}this.openModals.length===0&&(this.focusTrapActive=!1)},closeAllModals(){this.openModals=[],this.modalData.clear(),this.focusTrapActive=!1},getModalData(e){return this.modalData.get(e)},showGlobalLoading(e="Loading..."){this.isGlobalLoading=!0,this.globalLoadingMessage=e},hideGlobalLoading(){this.isGlobalLoading=!1},setLoading(e,t=!0){t?this.loadingStates.set(e,!0):this.loadingStates.delete(e)},addToHistory(e){this.interactionHistory.push(e),this.interactionHistory.length>this.maxHistoryLength&&this.interactionHistory.shift()},clearHistory(){this.interactionHistory=[]},announce(e,t="polite"){this.screenReaderAnnouncement=e,setTimeout(()=>{this.screenReaderAnnouncement===e&&(this.screenReaderAnnouncement="")},1e3)},toggleKeyboardShortcuts(){this.keyboardShortcutsEnabled=!this.keyboardShortcutsEnabled},toggleDebugMode(){this.debugMode=!this.debugMode},togglePerformanceOverlay(){this.showPerformanceOverlay=!this.showPerformanceOverlay},toggleLegend(){this.legendState==="fullyOpen"?this.legendState="open":this.legendState==="open"?this.legendState="collapsed":this.legendState="open",this._customLegendHeight=null},openLegend(){this.legendState="open",this._customLegendHeight=null},fullyOpenLegend(){this.legendState="fullyOpen",this._customLegendHeight=null},collapseLegend(){this.legendState="collapsed",this._customLegendHeight=null},setLegendHeight(e){this._customLegendHeight=e},handleLegendItemClick(){this.legendState==="fullyOpen"&&(this.legendState="open")},enableSearchMode(){this.searchMode=!0},disableSearchMode(){this.searchMode=!1},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},openHamburgerMenu(){this.hamburgerMenuOpen=!0},closeHamburgerMenu(){this.hamburgerMenuOpen=!1},init(){let e=null;try{e=localStorage.getItem("theme")}catch{}e&&this.setTheme(e),new ResizeObserver(n=>{for(const o of n)this.updateWindowSize(o.contentRect.width,o.contentRect.height)}).observe(document.documentElement),window.matchMedia&&(window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",n=>{this.theme==="auto"&&document.documentElement.setAttribute("data-theme",n.matches?"dark":"light")}),window.matchMedia("(prefers-reduced-motion: reduce)").addEventListener("change",n=>{this.reducedMotion=n.matches,document.documentElement.setAttribute("data-reduced-motion",n.matches)}))}}}),am=za("map",{state:()=>({maps:{},activeMapId:null,selectedRegion:null,selectedFamily:null,selectedAffinityBlock:null,selectedLanguage:null,selectedDialect:null,activeLegendTab:"family",selectedResource:null,selectedPeopleGroup:null,selectedPinIds:[],globalFilters:{},searchQuery:"",autoFly:{isActive:!1,speed:1,interval:5e3,currentIndex:0,items:[],timerId:null},guidedTour:{isActive:!1,currentStep:0,steps:[]},showClusters:!1,clusterMode:"region",clusterFilterProperty:null,clusterFilterValue:null,flySpeed:"normal",fullscreenMapId:null,preferences:{theme:"light",defaultMapStyle:"streets",enableAnimations:!0,autoSavePreferences:!0}}),getters:{getMapById:e=>t=>e.maps[t],activeMap:e=>e.activeMapId?e.maps[e.activeMapId]:null,hasMap:e=>t=>t in e.maps,allMapIds:e=>Object.keys(e.maps),hasSelection:e=>!!(e.selectedRegion||e.selectedFamily||e.selectedAffinityBlock||e.selectedPeopleGroup),isAutoFlying:e=>e.autoFly.isActive,isGuidedTourActive:e=>e.guidedTour.isActive,isMapFullscreen:e=>t=>e.fullscreenMapId===t},actions:{registerMap(e,t,n={}){let o=1.5;n.zoom!==void 0?o=n.zoom:t&&typeof t.getZoom=="function"&&(o=t.getZoom());let a=[0,0];if(n.center)a=n.center;else if(t&&typeof t.getCenter=="function"){const s=t.getCenter();s&&(a=[s.lng,s.lat])}this.maps[e]={instance:t,config:n,isReady:!1,zoom:o,center:a,registeredAt:Date.now()},this.activeMapId||(this.activeMapId=e)},setMapReady(e){const t=this.maps[e];t&&(t.isReady=!0)},updateMapState(e,t){const n=this.maps[e];n&&Object.assign(n,t)},unregisterMap(e){if(delete this.maps[e],this.activeMapId===e){const t=this.allMapIds;this.activeMapId=t.length>0?t[0]:null}},setActiveMap(e){e in this.maps&&(this.activeMapId=e)},selectRegion(e){this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedRegion=e},selectFamily(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedFamily=e},setActiveLegendTab(e){this.activeLegendTab=e},selectLanguage(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedFamily=null,this.selectedDialect=null,this.selectedLanguage=e},selectDialect(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedDialect=e},selectAffinityBlock(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedPeopleGroup=null,this.selectedAffinityBlock=e},selectPeopleGroup(e){this.selectedPeopleGroup=e},selectResource(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedResource===e?this.selectedResource=null:this.selectedResource=e},clearSelections(){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedAffinityBlock=null,this.selectedResource=null,this.selectedPeopleGroup=null,this.selectedPinIds=[],this.showClusters=!1,this.clusterMode="region"},setSelectedPinIds(e){this.selectedPinIds=e||[]},setFilter(e,t){this.globalFilters[e]=t},removeFilter(e){delete this.globalFilters[e]},clearFilters(){this.globalFilters={},this.searchQuery=""},setSearchQuery(e){this.searchQuery=e},startAutoFly(e,t=1){this.stopAutoFly(),this.autoFly.isActive=!0,this.autoFly.speed=t,this.autoFly.items=e,this.autoFly.currentIndex=0},stopAutoFly(){this.autoFly.timerId&&(clearInterval(this.autoFly.timerId),this.autoFly.timerId=null),this.autoFly.isActive=!1,this.autoFly.currentIndex=0},setAutoFlySpeed(e){this.autoFly.speed=Math.max(.5,Math.min(2,e))},nextAutoFlyItem(){if(!this.autoFly.isActive||this.autoFly.items.length===0)return;this.autoFly.currentIndex=(this.autoFly.currentIndex+1)%this.autoFly.items.length;const e=this.autoFly.items[this.autoFly.currentIndex];e.type==="region"?this.selectRegion(e):e.type==="family"&&this.selectFamily(e)},toggleClusters(e){typeof e=="boolean"?this.showClusters=e:this.showClusters=!this.showClusters},setClusterMode(e){["region","language-family","affinity-block","mst","resource"].includes(e)&&(this.clusterMode=e)},setClusterFilter(e,t){this.clusterFilterProperty=e||null,this.clusterFilterValue=t||null},clearClusterFilter(){this.clusterFilterProperty=null,this.clusterFilterValue=null},setFlySpeed(e){["slow","normal","fast"].includes(e)&&(this.flySpeed=e)},setSelectedFamily(e){this.selectFamily(e)},clearSelectedFamily(){this.selectFamily(null)},setSelectedRegion(e){this.selectRegion(e)},clearSelectedRegion(){this.selectRegion(null)},clearSelectedResource(){this.selectResource(null)},clearSelectedLanguage(){this.selectLanguage(null)},clearSelectedDialect(){this.selectDialect(null)},toggleFullscreen(e){this.fullscreenMapId===e?this.fullscreenMapId=null:this.fullscreenMapId=e},loadPreferences(){try{const e=localStorage.getItem("mapUserPreferences");if(e){const t=JSON.parse(e);this.preferences={...this.preferences,...t}}}catch(e){console.error("[mapStore] Failed to load preferences:",e)}},savePreferences(){try{localStorage.setItem("mapUserPreferences",JSON.stringify(this.preferences))}catch(e){console.error("[mapStore] Failed to save preferences:",e)}},setPreference(e,t){this.preferences[e]=t,this.preferences.autoSavePreferences&&this.savePreferences()}}}),sm=za("data",{state:()=>({sources:{},loadingStates:{}}),actions:{async load(e,t){if(!this.sources[e]){this.loadingStates[e]={isLoading:!0,error:null};try{const n=await t();this.sources[e]=Rn({features:n,timestamp:Date.now()}),this.loadingStates[e]={isLoading:!1,error:null}}catch(n){console.error(`[dataStore] Failed to load source "${e}":`,n),this.loadingStates[e]={isLoading:!1,error:n}}}},clearSource(e){delete this.sources[e],delete this.loadingStates[e]},cacheSourceData(e,t){this.sources[e]=Rn({features:t.normalizedData||[],timestamp:t.timestamp||Date.now()})},hasSourceData(e){return!!this.sources[e]},getSourceData(e){return this.sources[e]?{normalizedData:this.sources[e].features}:null}},getters:{getData:e=>t=>{var n;return((n=e.sources[t])==null?void 0:n.features)??null},isLoading:e=>t=>{var n;return((n=e.loadingStates[t])==null?void 0:n.isLoading)??!1},getError:e=>t=>{var n;return((n=e.loadingStates[t])==null?void 0:n.error)??null}}}),Gl={_meta:{_comment:"Single source of truth for data-source connections across all doxa-maps bundles.",_comment_token:"Mapbox access token is fetched at runtime from window.MAP_TOKEN_URL (same modular pattern as window.MAP_APP_API_URL). Not hardcoded to any host — set mapboxTokenUrl below or override window.MAP_TOKEN_URL on the host page.",mapboxTokenUrl:"window.MAP_TOKEN_URL"},activeSource:"pray-tools",sources:{"pray-tools":{id:"pray-tools",name:"Prayer.Tools API",type:"rest-api",description:"pray.doxa.life live API — people-group prayer, engagement, and adoption data. Base URL read from window.MAP_APP_API_URL or VITE_API_BASE_URL at runtime.",endpoints:{bulk:"/api/people-groups/list",detail:"/api/people-groups/detail/{slug}",statistics:"/api/people-groups/statistics"},queryParams:{lang:"en"},defaultFields:["slug","name","latitude","longitude","wagf_region","wagf_block","wagf_member","rop1","imb_reg_of_people_2","imb_reg_of_people_25","imb_reg_of_people_3","country_code","religion","population","has_photo","image_url","people_praying","people_committed","adopted_by_churches","engagement_status","primary_language","imb_language_family","imb_language_class","imb_language_speakers"],pollFields:["slug","people_praying"],pollInterval:3e5,fallbackSourceId:null,fieldMappings:{uniqueId:"slug",slug:"slug",name:"name",latitude:"latitude",longitude:"longitude",wagfRegion:"wagf_region",doxaRegion:"wagf_region",wagfBlock:"wagf_block",wagfMember:"wagf_member",affinityBlock:"rop1",countryIso:"country_code",religion:"religion",religionCode:"religion",population:"population",hasPhoto:"has_photo",imageUrl:"image_url",photoUrl:"image_url",peoplePraying:"people_praying",peopleCommitted:"people_committed",engagementStatus:"engagement_status",adoptionStatus:"adopted_by_churches",language:"primary_language",cluster:"imb_reg_of_people_2",peopleGroup:"imb_reg_of_people_25",peopleGroupCountry:"imb_reg_of_people_3",languageFamily:"imb_language_family",languageClass:"imb_language_class",languageSpeakers:"imb_language_speakers"},imageConfig:{useField:"imageUrl",fallbackField:null,fallbackUrlTemplate:null,placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg",useSvgPlaceholder:!0}},"doxa-csv":{id:"doxa-csv",name:"DOXA People Groups CSV",type:"csv",path:"assets/data/Joshua-project-ids-Doxa-1439.csv",description:"People groups dataset from DOXA / Joshua Project",fieldMappings:{uniqueId:"ROP3",peopleGroupId:"ROP3",countryCode:"ROG",peopleId3:"PeopleID3",name:"Name",displayName:"NmDisp",alternateName:"NmAlt",description:"PeopleDesc",locationDescription:"LocationDe",country:"Ctry",countryIso:"ISOalpha3",region:"Regn",subRegion:"RegnSub",wagfRegion:"WAGF Region",doxaRegion:"WAGF Region",wagfBlock:"WAGF BLOCK",affinityBloc:"Affbloc",affinityBlock:"ROP1",affinityCode:"AffCd",affinityName:"Aff",peopleCluster:"PplClstr",ethneName:"Ethne",latitude:"Latitude",longitude:"Longitude",population:"Pop",populationClass:"PopCls",status:"Status",engagementStatus:"EngStat",evangelicalLevel:"EvngLvl",gsec:"GSEC",gsecBrief:"GSECbrf",gsecLong:"GSEClng",spiScore:"SPI",spiDescription:"SPIdesc",language:"Lang",languageCode:"ROL",languageFamily:"LangFamily",religion:"Rlgn",religionCode:"ROR",religionDescription:"RORdesc",religionBase:"RlgnBs",religionDiv:"RlgnDiv",bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",resourcesTotal:"ResTot",bibleLevel:"LvlBible",yearPublished:"YrPub",photoCredit:"PicCrdt",photoUrl:"PicURL",hasPhoto:"Photo",isIndigenous:"Indigenous"},imageConfig:{useField:"photoUrl",fallbackField:"peopleId3",fallbackUrlTemplate:"https://joshuaproject.net/assets/media/profiles/photos/p{peopleId3}.jpg",placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg"}}},systemFields:{uniqueId:{description:"Unique identifier per row (slug for API, ROP3+ROG for CSV)",required:!0},peopleGroupId:{description:"People group ID — same group can appear in multiple countries",required:!0},name:{description:"People group display name",required:!0},latitude:{description:"Latitude coordinate for map pin",required:!0},longitude:{description:"Longitude coordinate for map pin",required:!0},engagementStatus:{description:"Boolean — true if engaged_status = 'engaged'",required:!1},adoptionStatus:{description:"Boolean — true if adopted_by_churches > 0",required:!1},peoplePraying:{description:"Number of people currently praying for this group — from pray-tools API",required:!1},peopleCommitted:{description:"Raw count of committed workers for this group — source of engagementStatus",required:!1},languageFamily:{description:"Language family name",required:!1},religion:{description:"Primary religion",required:!1},population:{description:"Population count",required:!1},doxaRegion:{description:"WAGF/DOXA region name",required:!1},photoUrl:{description:"URL to people group photo",required:!1},description:{description:"People group description text",required:!1}}},im=(e,t)=>{const n=e.__vccOpts||e;for(const[o,a]of t)n[o]=a;return n},rm={class:"profile-loader"},lm={key:0,class:"profile-error"},cm={key:1,class:"profile-error"},um=im({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var y;const n=e,o=he(()=>{if(!n.profileConfig)return null;try{return JSON.parse(n.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",n.profileConfig),null}}),a=he(()=>{var h;return((h=o.value)==null?void 0:h.profile)||null}),s=he(()=>{var h;return((h=o.value)==null?void 0:h.tk)||""}),i=he(()=>{var h;return((h=o.value)==null?void 0:h.dataSource)||Gl.activeSource||"doxa-csv"}),r=he(()=>{var h;return((h=o.value)==null?void 0:h.colorSet)||"default"}),l=he(()=>!1),c=he(()=>{var h;return((h=o.value)==null?void 0:h.pinHint)!==!1}),u=he(()=>{var T,C;const h=(((T=o.value)==null?void 0:T.locale)||((C=o.value)==null?void 0:C.lang)||"").split("-")[0].toLowerCase();return Kl.includes(h)?h:""}),f=Fe("appI18n",null);mu(()=>{u.value&&f&&(f.global.locale.value=u.value)});const b=he(()=>{var h,T;return u.value||((T=(h=f==null?void 0:f.global)==null?void 0:h.locale)==null?void 0:T.value)||"en"}),v=he(()=>{var h;return((h=o.value)==null?void 0:h.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),E=Fe("profileModules",null);if(!E)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const A=he(()=>{if(!a.value)return null;const h=`./${a.value}.vue`;return E[h]?Su(E[h]):(console.error(`[ProfileLoader] Profile not found: "${a.value}". Available:`,Object.keys(E)),null)});ft("mapboxToken",s),ft("dataSource",i),ft("colorSet",r),ft("profileConfig",o),ft("instanceId",v),ft("lang",b);const R=om(),M=am(),L=sm();try{const h=typeof localStorage<"u"?localStorage.getItem("theme"):null;h&&((y=R.setTheme)==null||y.call(R,h))}catch{}return ft("uiStore",R),ft("mapStore",M),ft("dataStore",L),(h,T)=>(qe(),$t("div",rm,[o.value?A.value?(qe(),Fo(ki(A.value),{key:2})):(qe(),$t("div",cm,[Ee("p",null,[T[1]||(T[1]=Et("⚠️ Profile ",-1)),Ee("strong",null,'"'+Xt(a.value)+'"',1),T[2]||(T[2]=Et(" not found.",-1))])])):(qe(),$t("div",lm,[...T[0]||(T[0]=[Ee("p",null,[Et("⚠️ "),Ee("strong",null,"doxa-map"),Et(": missing or invalid "),Ee("code",null,"profile-config"),Et(" prop.")],-1),Ee("p",null,[Et("Example: "),Ee("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),A.value&&l.value?(qe(),Fo(ki(vo(null)),{key:3})):bn("",!0),A.value&&c.value?(qe(),Fo(tm,{key:4})):bn("",!0)]))}},[["__scopeId","data-v-95e162ff"]]),gm=Object.assign({"./all-people-groups.vue":()=>_c(()=>Promise.resolve().then(()=>ub),void 0)}),dm=Gg(um,{configureApp(e){e.use(Yg());const t=Zh();e.use(t),e.provide("appI18n",t),e.provide("profileModules",gm)}});typeof customElements<"u"&&!customElements.get("all-people-groups")&&customElements.define("all-people-groups",dm);const fm="rgba(120, 128, 134, 0.28)",zl="36px",ql=()=>{};function pm(e,t={}){const{enabled:n=!0}=t;if(!n||!e)return ql;const o=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!o.length)return ql;const a=L=>L.classList.contains("map-scroll-edge--left");for(const L of o)L.style.background=`linear-gradient(${a(L)?"to right":"to left"}, ${fm} ${zl}, transparent ${zl})`,L.style.opacity="0",L.style.transition="opacity 0.16s ease",L.style.userSelect="none",L.style.webkitUserSelect="none";const s=L=>{L.style.opacity="1"},i=L=>{L.style.opacity="0"},r=()=>o.find(L=>!a(L))||null,l=new Set;let c=!1,u=null;const f=()=>{for(const L of o)l.has(L)||i(L)},b=()=>{const L=r();L&&(s(L),u&&clearTimeout(u),u=setTimeout(f,250))},v=()=>b(),E=L=>{if(!(L.touches&&L.touches.length===1))return;const y=L.target;y&&y.classList&&y.classList.contains("map-scroll-edge")||b()},A=()=>{u&&clearTimeout(u),f()};e.addEventListener("wheel",v,{passive:!0}),e.addEventListener("touchmove",E,{passive:!0}),e.addEventListener("touchend",A,{passive:!0}),e.addEventListener("touchcancel",A,{passive:!0});const R=()=>{c||b()};typeof window<"u"&&window.addEventListener("scroll",R,{passive:!0});const M=[];for(const L of o){const y=()=>{l.add(L),s(L)},h=()=>{l.delete(L),i(L)},T=()=>{c=!0,s(L)},C=()=>{c=!1,i(L)};L.addEventListener("mouseenter",y),L.addEventListener("mouseleave",h),L.addEventListener("touchstart",T,{passive:!0}),L.addEventListener("touchend",C,{passive:!0}),M.push(()=>{L.removeEventListener("mouseenter",y),L.removeEventListener("mouseleave",h),L.removeEventListener("touchstart",T),L.removeEventListener("touchend",C)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",v),e.removeEventListener("touchmove",E),e.removeEventListener("touchend",A),e.removeEventListener("touchcancel",A),typeof window<"u"&&window.removeEventListener("scroll",R);for(const y of M)y();for(const y of o)i(y)}}const hm=Object.fromEntries([{id:"midnight-glow",label:"Midnight Glow",mood:"the prayer-map dark — pins glow like embers",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"night",maplibre:"https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json",bestFor:["doxa-simple-map","my-upg-100-list"]},{id:"daylight",label:"Daylight",mood:"the same Standard world, lights on",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"day",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","gospel-resources"]},{id:"dawn",label:"Dawn",mood:"soft warm horizon — hopeful, quiet",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dawn",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["doxa-simple-map"]},{id:"dusk",label:"Dusk",mood:"blue hour — calm contrast for bright pins",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dusk",maplibre:"https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json",bestFor:["my-upg-100-list"]},{id:"paper",label:"Paper",mood:"near-white minimal — data reads like print",mapbox:"mapbox://styles/mapbox/light-v11",maplibre:"https://basemaps.cartocdn.com/gl/positron-gl-style/style.json",bestFor:["research-dashboard","cities-internet"]},{id:"ink",label:"Ink",mood:"near-black minimal — maximum pin contrast",mapbox:"mapbox://styles/mapbox/dark-v11",maplibre:"https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json",bestFor:["my-upg-100-list","cities-internet"]},{id:"streetlife",label:"Street Life",mood:"full street detail — city-scale work",mapbox:"mapbox://styles/mapbox/streets-v12",maplibre:"https://tiles.openfreemap.org/styles/bright",bestFor:["cities-internet","key-cities"]},{id:"terrain",label:"Terrain",mood:"relief + parks — where people actually live",mapbox:"mapbox://styles/mapbox/outdoors-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","country-posters"]},{id:"satellite",label:"Satellite",mood:"imagery — the real ground",mapbox:"mapbox://styles/mapbox/satellite-v9",maplibre:"https://basemaps.cartocdn.com/gl/voyager-gl-style/style.json",bestFor:["country-posters"]},{id:"hybrid",label:"Hybrid",mood:"imagery + labels — orientation without losing ground truth",mapbox:"mapbox://styles/mapbox/satellite-streets-v12",maplibre:"https://basemaps.cartocdn.com/gl/voyager-gl-style/style.json",bestFor:["key-cities"]},{id:"wayfinder-day",label:"Wayfinder Day",mood:"high-legibility navigation palette",mapbox:"mapbox://styles/mapbox/navigation-day-v1",maplibre:"https://basemaps.cartocdn.com/gl/voyager-gl-style/style.json",bestFor:["gospel-resources"]},{id:"wayfinder-night",label:"Wayfinder Night",mood:"dark navigation — dashboards at night",mapbox:"mapbox://styles/mapbox/navigation-night-v1",maplibre:"https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json",bestFor:["research-dashboard"]}].map(e=>[e.id,e]));function mm(e,t="mapbox"){if(typeof e!="string"||!e)return{style:void 0,lightPreset:void 0};const n=hm[e];return n?t==="maplibre"?{style:n.maplibre,lightPreset:void 0}:{style:n.mapbox,lightPreset:n.lightPreset}:/^(mapbox:\/\/|https?:\/\/)/.test(e)?{style:e,lightPreset:void 0}:{style:void 0,lightPreset:void 0}}const $n={mapbox:{global:"mapboxgl",js:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js",css:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.css"},maplibre:{global:"maplibregl",js:"https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.js",css:"https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.css"}};function Hl(e){if(typeof window>"u")return;const t=window,n=()=>{try{const o=e.getContainer().querySelector(".mapboxgl-ctrl-logo, .maplibregl-ctrl-logo");o&&(o.style.display="none")}catch{}};if(t.__doxaLogoOwner&&t.__doxaLogoOwner!==e){e.once("load",n),n();return}t.__doxaLogoOwner=e,e.once("remove",()=>{t.__doxaLogoOwner===e&&(t.__doxaLogoOwner=null)})}const bm=$n.mapbox.css,_m="https://tiles.openfreemap.org/styles/liberty";function gs(e){var n;const t=((n=$n[e])==null?void 0:n.global)||$n.mapbox.global;return typeof window<"u"?window[t]:void 0}async function ym(e){const t=$n[e]||$n.mapbox;if(gs(e)||typeof document>"u")return;if(!document.querySelector(`link[href="${t.css}"]`)){const o=document.createElement("link");o.rel="stylesheet",o.href=t.css,document.head.appendChild(o)}const n=document.querySelector(`script[src="${t.js}"]`);if(n){if(gs(e))return;await new Promise(o=>{n.addEventListener("load",o,{once:!0}),n.addEventListener("error",o,{once:!0})});return}await new Promise((o,a)=>{const s=document.createElement("script");s.src=t.js,s.async=!1,s.addEventListener("load",o,{once:!0}),s.addEventListener("error",()=>a(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(s)})}async function Am(e,t){const n=e.getRootNode();if(!(n instanceof ShadowRoot))return;const o=i=>new Promise(r=>setTimeout(r,i)),a=n.querySelector(`link[href="${t}"]`);if(a){if(a.sheet)return;await Promise.race([new Promise(i=>{a.addEventListener("load",i,{once:!0}),a.addEventListener("error",i,{once:!0})}),o(2e3)]);return}const s=document.createElement("link");s.rel="stylesheet",s.href=t,await Promise.race([new Promise(i=>{s.addEventListener("load",i,{once:!0}),s.addEventListener("error",i,{once:!0}),n.prepend(s)}),o(2e3)])}function Sm(e){return typeof e=="string"&&/^https?:\/\//.test(e)?e:_m}const vm=85.0511,Vl=-2,km=0,Tm=-60;function Wl(e){return(1-Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2))/Math.PI)/2}function $m(e,t,n,o){if(!e||e<=0||!t||t<=0)return km;const a=Math.log2(e/512),s=Wl(o)-Wl(vm),i=Math.log2(t/(512*s)),r=Math.max(a,i);return Math.max(Vl,Math.min(r,(n??18)-1))}function Em({containerRef:e,accessToken:t,style:n,config:o=void 0,provider:a="mapbox",center:s=[20,10],zoom:i=2,minZoom:r=void 0,maxZoom:l=18,pitch:c=0,bearing:u=0,renderWorldCopies:f=!0,showEdgeBorders:b=!0,southCutoff:v=Tm,maxBounds:E=void 0}){const A=_a(null),R=pe(!1);let M=null,L=null;const y=a==="maplibre";async function h(){var j;const I=mm(n,a).style||n;if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}await ym(a);const F=gs(a);if(!F){console.error(`[useMapInstance] ${y?"maplibregl":"mapboxgl"} is not available. Add the ${y?"MapLibre":"Mapbox"} GL JS script to your page.`);return}if(!y){if(!t){console.error('No Mapbox access token provided. Pass "tk" in profile-config JSON.');return}if(!t.startsWith("pk.")){console.error('Mapbox token looks invalid (expected "pk." prefix). Got:',t.slice(0,10)+"...");return}}await Am(e.value,y?$n.maplibre.css:bm),await new Promise(B=>requestAnimationFrame(B));const S=e.value,W=S.clientWidth,ae=S.clientHeight;if(W===0||ae===0){console.error(`[useMapInstance] Container has ZERO dimensions (${W}×${ae}). Map will be invisible. Check that parent elements have CSS sizing.`);let B=S.parentElement,V=0;for(;B&&V<5;)B=B.parentElement,V++}const H=t;y||(F.accessToken=H);const ee=()=>typeof window<"u"&&window.innerWidth>=1024,Y=(B,V)=>{if(!ee())return Vl;const X=$m(B,V,l,v);return typeof r=="number"?Math.max(r,X):X},D=Y(S.clientWidth,S.clientHeight);if(y){A.value=new F.Map({container:e.value,style:Sm(I),center:s,zoom:i,minZoom:D,maxZoom:l,pitch:c,bearing:u,dragRotate:!1,renderWorldCopies:f,...E?{maxBounds:E}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Hl(A.value);try{e.value.__doxaMap=A.value}catch{}}else{const B=typeof o=="function"?o():o;A.value=new F.Map({accessToken:H,container:e.value,style:I,...B?{config:B}:{},center:s,zoom:i,minZoom:D,maxZoom:l,pitch:c,bearing:u,dragRotate:!1,touchPitch:!1,renderWorldCopies:f,...E?{maxBounds:E}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Hl(A.value);try{e.value.__doxaMap=A.value}catch{}}try{A.value.touchZoomRotate.disableRotation()}catch{}L=pm(((j=e.value)==null?void 0:j.parentElement)||null,{enabled:b}),M=()=>{const B=A.value;if(!B)return;const V=Y(S.clientWidth,S.clientHeight);B.setMinZoom(V),B.getZoom(){requestAnimationFrame(()=>{var B;(B=A.value)==null||B.resize(),A.value&&A.value.setMinZoom(Y(S.clientWidth,S.clientHeight)),R.value=!0})})}function T(){A.value&&(M&&(A.value.off("resize",M),typeof window<"u"&&(window.removeEventListener("resize",M),window.removeEventListener("orientationchange",M)),M=null),L&&(L(),L=null),A.value.remove(),A.value=null,R.value=!1)}return{map:A,isMapReady:R,initializeMap:h,destroy:T}}const Lm=["mapbox","maplibre"],Yl="mapbox";function Cm(e){return e&&typeof e=="object"&&"value"in e&&!("provider"in e)&&!("profile"in e)?e.value:e}function Nm(e){const t=Cm(e),n=t==null?void 0:t.provider,o=typeof location<"u"?new URLSearchParams(location.search).get("provider"):void 0,a=typeof window<"u"?window.MAP_PROVIDER:void 0,s=String(n||o||a||Yl).toLowerCase().trim();return Lm.includes(s)?s:Yl}const Jl="doxa-prayed-local",wm=7*24*60*60*1e3;function Pm(){try{const e=localStorage.getItem(Jl);if(!e)return{};const t=JSON.parse(e);return t&&typeof t=="object"?t:{}}catch{return{}}}function Im(e){try{localStorage.setItem(Jl,JSON.stringify(e))}catch{}}function Mm(){const e=Date.now(),t=Pm();let n=!1;for(const[o,a]of Object.entries(t))(typeof a!="number"||e-a>wm)&&(delete t[o],n=!0);return n&&Im(t),new Set(Object.keys(t))}function Dm(e){const t=Mm();return!t.size||!Array.isArray(e)?e:e.map(n=>(Number(n&&n.peoplePraying)||0)>0||!n||!t.has(n.slug)?n:{...n,peoplePraying:1})}const Ht={Chamacoco:"Zamucoan",Ninam:"Yanomaman",Yagua:"Yaguan",Muinane:"Witotoan",Finnish:"Uralic","Hill Mari":"Uralic",Mansi:"Uralic","Meadow Mari":"Uralic","North Saami":"Uralic",Carabayo:"Unclassified",Kujarge:"Unclassified",Shabo:"Unclassified",Ainu:"Turkic",Kazakh:"Turkic","Khorasani Turkish":"Turkic",Kyrgyz:"Turkic","Northern Uzbek":"Turkic","South Azerbaijani":"Turkic",Turkish:"Turkic",Tuvan:"Turkic",Uyghur:"Turkic",Amundava:"Tupian",Araweté:"Tupian","Asurini of Xingú":"Tupian","Avá-Canoeiro":"Tupian",Awetí:"Tupian",Kamayurá:"Tupian",Karo:"Tupian",Morerebi:"Tupian",Tenharim:"Tupian","Uru-Eu-Wau-Wau":"Tupian","Uru-Pa-In":"Tupian",Wayampi:"Tupian","Zo’é":"Tupian",Evenki:"Tungusic",Xibe:"Tungusic",Carapana:"Tucanoan",Cubeo:"Tucanoan",Desano:"Tucanoan",Macuna:"Tucanoan",Piratapuyo:"Tucanoan",Siona:"Tucanoan",Siriano:"Tucanoan",Tucano:"Tucanoan",Tuyuca:"Tucanoan",Waimaha:"Tucanoan",Tay:"Trans-New Guinea",Adi:"Sino-Tibetan",Akha:"Sino-Tibetan","Amdo Tibetan":"Sino-Tibetan",Axi:"Sino-Tibetan",Biyo:"Sino-Tibetan","Boro (India)":"Sino-Tibetan",Brokkat:"Sino-Tibetan",Bugun:"Sino-Tibetan",Byangsi:"Sino-Tibetan","Central Lalo":"Sino-Tibetan","Central Tibetan":"Sino-Tibetan",Chak:"Sino-Tibetan",Chalikha:"Sino-Tibetan",Chaudangsi:"Sino-Tibetan",Chocangacakha:"Sino-Tibetan",Darlong:"Sino-Tibetan",Dhimal:"Sino-Tibetan","Digaro-Mishmi":"Sino-Tibetan",Dzalakha:"Sino-Tibetan","Eastern Nisu":"Sino-Tibetan",Ersu:"Sino-Tibetan",Gahri:"Sino-Tibetan",Gongduk:"Sino-Tibetan",Gyalsumdo:"Sino-Tibetan",Hani:"Sino-Tibetan","Idu-Mishmi":"Sino-Tibetan",Kaike:"Sino-Tibetan",Kanashi:"Sino-Tibetan",Katso:"Sino-Tibetan",Khamba:"Sino-Tibetan",Koireng:"Sino-Tibetan",Kucong:"Sino-Tibetan",Kurtokha:"Sino-Tibetan",Ladakhi:"Sino-Tibetan",Lakha:"Sino-Tibetan","Lang’e":"Sino-Tibetan",Lhokpu:"Sino-Tibetan",Lolopo:"Sino-Tibetan",Lunanakha:"Sino-Tibetan","Mandarin Chinese":"Sino-Tibetan",Meitei:"Sino-Tibetan","Miju-Mishmi":"Sino-Tibetan",Mpi:"Sino-Tibetan",Na:"Sino-Tibetan",Namuyi:"Sino-Tibetan",Narua:"Sino-Tibetan",Naxi:"Sino-Tibetan","Northern Muji":"Sino-Tibetan",Nuosu:"Sino-Tibetan",Nupbikha:"Sino-Tibetan",Nyenkha:"Sino-Tibetan",Olekha:"Sino-Tibetan",Pahari:"Sino-Tibetan",Pattani:"Sino-Tibetan","Phana’":"Sino-Tibetan",Phula:"Sino-Tibetan",Phunoi:"Sino-Tibetan",Puma:"Sino-Tibetan",Puroik:"Sino-Tibetan",Raji:"Sino-Tibetan",Rawat:"Sino-Tibetan",Sani:"Sino-Tibetan",Sherdukpen:"Sino-Tibetan",Sherpa:"Sino-Tibetan",Shuhi:"Sino-Tibetan",Sila:"Sino-Tibetan",Singpho:"Sino-Tibetan",Sunwar:"Sino-Tibetan","Tawang Monpa":"Sino-Tibetan",Tseku:"Sino-Tibetan",Tshangla:"Sino-Tibetan",Usoi:"Sino-Tibetan","Western Minyag":"Sino-Tibetan","Wusa Nasu":"Sino-Tibetan","Xiang Chinese":"Sino-Tibetan",Yakkha:"Sino-Tibetan","Youle Jinuo":"Sino-Tibetan","Yue Chinese":"Sino-Tibetan",Zakhring:"Sino-Tibetan","Afghan Sign Language":"Sign Language","Albanian Sign Language":"Sign Language","Algerian Sign Language":"Sign Language","American Sign Language":"Sign Language","Armenian Sign Language":"Sign Language","British Sign Language":"Sign Language","Bulgarian Sign Language":"Sign Language","Cambodian Sign Language":"Sign language","Cuban Sign Language":"Sign Language","Egyptian Sign Language":"Sign Language","Greek Sign Language":"Sign Language","Guinean Sign Language":"Sign Language","Hong Kong Sign Language":"Sign Language","Icelandic Sign Language":"Sign Language","Iranian Sign Language":"Sign Language","Israeli Sign Language":"Sign Language","Jamaican Sign Language":"Sign Language","Jordanian Sign Language":"Sign Language","Laos Sign Language":"Sign Language","Libyan Sign Language":"Sign Language","Maltese Sign Language":"Sign Language","Mauritian Sign Language":"Sign Language","Moroccan Sign Language":"Sign Language","Mozambican Sign Language":"Sign Language","Myanmar Sign Language":"Sign language","Natural Sign Language":"Sign Language","Pakistan Sign Language":"Sign Language","Papua New Guinean Sign Language":"Sign language","Russian Sign Language":"Sign Language","Saudi Arabian Sign Language":"Sign Language","Sign Language of the Netherlands":"Sign Language","Solomon Islands Sign Language":"Sign Language","Sri Lankan Sign Language":"Sign Language","Swedish Sign Language":"Sign Language","Turkish Sign Language":"Sign Language","Northern Conchucos Ancash Quechua":"Quechuan","Northern Pastaza Quichua":"Quechuan",Hupdë:"Puinavean",Amahuaca:"Panoan",Korubo:"Panoan",Sharanahua:"Panoan","Shipibo-Conibo":"Panoan",Yaminahua:"Panoan",Yawanawa:"Panoan",Afitti:"Nilo-Saharan",Assangori:"Nilo-Saharan","Beli (South Sudan)":"Nilo-Saharan",Berta:"Nilo-Saharan",Burun:"Nilo-Saharan","Dar Daju Daju":"Nilo-Saharan","Dar Fur Daju":"Nilo-Saharan","Dar Sila Daju":"Nilo-Saharan",Dazaga:"Nilo-Saharan","Dendi (Benin)":"Nilo-Saharan",Dilling:"Nilo-Saharan",Fur:"Nilo-Saharan",Gbaya:"Nilo-Saharan",Ghulfan:"Nilo-Saharan",Gwama:"Nilo-Saharan","Humburi Senni Songhay":"Nilo-Saharan",Jopadhola:"Nilo-Saharan",Kadaru:"Nilo-Saharan",Kanga:"Nilo-Saharan",Karanga:"Nilo-Saharan",Karko:"Nilo-Saharan",Kebu:"Nilo-Saharan",Keiga:"Nilo-Saharan",Keliko:"Nilo-Saharan",Kendeje:"Nilo-Saharan",Kibet:"Nilo-Saharan","Komo (Sudan)":"Nilo-Saharan",Korandje:"Nilo-Saharan",Kulfa:"Nilo-Saharan",Kwegu:"Nilo-Saharan",Laarim:"Nilo-Saharan",Logorik:"Nilo-Saharan",Majang:"Nilo-Saharan","Manga Kanuri":"Nilo-Saharan",Mango:"Nilo-Saharan",Mararit:"Nilo-Saharan",Marfa:"Nilo-Saharan",Midob:"Nilo-Saharan","Mo’da":"Nilo-Saharan",Morom:"Nilo-Saharan",Moru:"Nilo-Saharan",Naba:"Nilo-Saharan",Nara:"Nilo-Saharan",Njalgulgule:"Nilo-Saharan",Nuer:"Nilo-Saharan","Nyamusa-Molo":"Nilo-Saharan",Nyangatom:"Nilo-Saharan","Olu’bo":"Nilo-Saharan",Opo:"Nilo-Saharan",Päri:"Nilo-Saharan","Sara Kaba Naa":"Nilo-Saharan",Surbakhal:"Nilo-Saharan",Tadaksahak:"Nilo-Saharan","Tama (Chad)":"Nilo-Saharan",Temein:"Nilo-Saharan",Thuri:"Nilo-Saharan","Tirmaga-Chai Suri":"Nilo-Saharan",Toposa:"Nilo-Saharan",Tumtum:"Nilo-Saharan","Wali (Sudan)":"Nilo-Saharan","Yerwa Kanuri":"Nilo-Saharan",Yulu:"Nilo-Saharan",Zaghawa:"Nilo-Saharan","Adamawa Fulfulde":"Niger-Congo",Akaselem:"Niger-Congo","Amba (Uganda)":"Niger-Congo",Anii:"Niger-Congo",Baangi:"Niger-Congo",Badyara:"Niger-Congo","Bago-Kusuntu":"Niger-Congo",Bai:"Niger-Congo","Bainouk-Gunyaamolo":"Niger-Congo",Bamanankan:"Niger-Congo","Banda-Mbrès":"Niger-Congo",Bandial:"Niger-Congo",Bankagooma:"Niger-Congo","Belanda Viri":"Niger-Congo",Bemba:"Niger-Congo",Bolgo:"Niger-Congo","Bon Gula":"Niger-Congo",Bua:"Niger-Congo",Chichewa:"Niger-Congo","Chung (Cameroon)":"Niger-Congo","Ci Gbe":"Niger-Congo",Degema:"Niger-Congo",Dek:"Niger-Congo",Dhimba:"Niger-Congo",Dogoso:"Niger-Congo","East Limba":"Niger-Congo",Engenni:"Niger-Congo",Epie:"Niger-Congo",Éwé:"Niger-Congo",Fania:"Niger-Congo",Foodo:"Niger-Congo",Fwe:"Niger-Congo",Gciriku:"Niger-Congo",Gwa:"Niger-Congo",Herero:"Niger-Congo",Ibuoro:"Niger-Congo","Jenaama Bozo":"Niger-Congo",Jita:"Niger-Congo",Jula:"Niger-Congo",Kabiyè:"Niger-Congo",Kadung:"Niger-Congo",Kakabe:"Niger-Congo",Kalamsé:"Niger-Congo","Kami (Tanzania)":"Niger-Congo","Kango (Bas-Uélé District)":"Niger-Congo",Kasem:"Niger-Congo","Kelengaxo Bozo":"Niger-Congo",Khe:"Niger-Congo",Khisa:"Niger-Congo",Kim:"Niger-Congo",Kinyarwanda:"Niger-Congo",Kipfokomu:"Niger-Congo",Kitharaka:"Niger-Congo",Kiyombe:"Niger-Congo",Ko:"Niger-Congo",Koalib:"Niger-Congo",Koke:"Niger-Congo",Konongo:"Niger-Congo","Koro Nulu":"Niger-Congo","Koro Zuba":"Niger-Congo",Kuhane:"Niger-Congo",Kunda:"Niger-Congo",Kuranko:"Niger-Congo",Kuria:"Niger-Congo",Kwangali:"Niger-Congo",Lame:"Niger-Congo",Laru:"Niger-Congo",Lopa:"Niger-Congo","Makhuwa-Meetto":"Niger-Congo","Makhuwa-Shirima":"Niger-Congo","Malawi Nyiha":"Niger-Congo",Mandinka:"Niger-Congo",Mankanya:"Niger-Congo",Mansoanka:"Niger-Congo",Mbukushu:"Niger-Congo","Mende (Sierra Leone)":"Niger-Congo",Miyobe:"Niger-Congo",Mushungulu:"Niger-Congo","Mwali Comorian":"Niger-Congo","Mwera (Chimwera)":"Niger-Congo",Ndemli:"Niger-Congo",Ndengereko:"Niger-Congo",Ndumu:"Niger-Congo",Ndunga:"Niger-Congo","Ndzwani Comorian":"Niger-Congo",Ngile:"Niger-Congo","Northwest Gbaya":"Niger-Congo",Notre:"Niger-Congo",Nyamwanga:"Niger-Congo",Nyankore:"Niger-Congo",Nyengo:"Niger-Congo",Okpamheri:"Niger-Congo",Osatu:"Niger-Congo","Pana (Burkina Faso)":"Niger-Congo",Pulaar:"Niger-Congo",Pular:"Niger-Congo",Rufiji:"Niger-Congo","Sankaran Maninka":"Niger-Congo",Sapo:"Niger-Congo","Senara Sénoufo":"Niger-Congo",Shanga:"Niger-Congo",Sininkere:"Niger-Congo","Southern Ngbandi":"Niger-Congo",Swahili:"Niger-Congo","Syenara Sénoufo":"Niger-Congo",Tagbu:"Niger-Congo",Tagoi:"Niger-Congo",Tegali:"Niger-Congo",Tem:"Niger-Congo","Tiéyaxo Bozo":"Niger-Congo",Tiyaa:"Niger-Congo",Tocho:"Niger-Congo","Tonga (Zambia)":"Niger-Congo",Totela:"Niger-Congo","Toura (Côte d’Ivoire)":"Niger-Congo",Tswa:"Niger-Congo",Tumbuka:"Niger-Congo",Ukaan:"Niger-Congo",Uneme:"Niger-Congo",Vai:"Niger-Congo",Vute:"Niger-Congo",Waama:"Niger-Congo",Warnang:"Niger-Congo",Wolof:"Niger-Congo",Yao:"Niger-Congo",Yauma:"Niger-Congo",Yom:"Niger-Congo","Zan Gula":"Niger-Congo",Zande:"Niger-Congo",Zigula:"Niger-Congo",Mamaindê:"Nambikwara",Aghul:"Nakh-Daghestanian",Akhvakh:"Nakh-Daghestanian",Andi:"Nakh-Daghestanian",Avar:"Nakh-Daghestanian",Bagvalal:"Nakh-Daghestanian",Botlikh:"Nakh-Daghestanian",Chamalal:"Nakh-Daghestanian",Chechen:"Nakh-Daghestanian",Dargwa:"Nakh-Daghestanian",Kaitag:"Nakh-Daghestanian",Karata:"Nakh-Daghestanian",Khvarshi:"Nakh-Daghestanian",Tindi:"Nakh-Daghestanian",Pirahã:"Muran",Bonan:"Mongolic","China Buriat":"Mongolic",Daur:"Mongolic","Kalmyk-Oirat":"Mongolic","Peripheral Mongolian":"Mongolic","Russia Buriat":"Mongolic",Tagdal:"Mixed language",Wutunhua:"Mixed language","Ashéninka Perené":"Maipurean",Baniwa:"Maipurean",Cabiyarí:"Maipurean",Curripaco:"Maipurean","Enawené-Nawé":"Maipurean",Kanamarí:"Maipurean",Mehináku:"Maipurean","Pichis Ashéninka":"Maipurean",Waurá:"Maipurean",Bangime:"Language isolate",Burushaski:"Language isolate","Ai-Cham":"Kra-Dai",Aiton:"Kra-Dai","Dai Zhuang":"Kra-Dai",Duoluo:"Kra-Dai","Green Gelao":"Kra-Dai","Guibian Zhuang":"Kra-Dai",Hlai:"Kra-Dai",Jiamao:"Kra-Dai",Kang:"Kra-Dai",Khün:"Kra-Dai",Kuan:"Kra-Dai",Lachi:"Kra-Dai","Laha (Viet Nam)":"Kra-Dai",Lao:"Kra-Dai",Lü:"Kra-Dai","Mak (China)":"Kra-Dai","Northeastern Thai":"Kra-Dai","Northern Dong":"Kra-Dai","Northern Thai":"Kra-Dai",Nyaw:"Kra-Dai",Phake:"Kra-Dai","Phu Thai":"Kra-Dai",Qabiao:"Kra-Dai",Qau:"Kra-Dai","Qiubei Zhuang":"Kra-Dai",Shan:"Kra-Dai","Southern Dong":"Kra-Dai",Sui:"Kra-Dai","T’en":"Kra-Dai","Tai Daeng":"Kra-Dai","Tai Dam":"Kra-Dai","Tai Hongjin":"Kra-Dai","Tai Nüa":"Kra-Dai","Tai Ya":"Kra-Dai","Tai Yo":"Kra-Dai","Ts’ün-Lao":"Kra-Dai","Yang Zhuang":"Kra-Dai",Yerong:"Kra-Dai",Yong:"Kra-Dai",Yoy:"Kra-Dai",Khoekhoe:"Khoe-Kwadi",Karajá:"Karajá","Pará Gavião":"Jean",Suyá:"Jean",Japanese:"Japonic","Oki-No-Erabu":"Japonic","Toku-No-Shima":"Japonic",Yaeyama:"Japonic",Yoron:"Japonic","Adivasi Oriya":"Indo-European",Afrikaans:"Indo-European","Alviri-Vidari":"Indo-European",Angika:"Indo-European",Assamese:"Indo-European",Bagheli:"Indo-European",Bagri:"Indo-European",Bashkardi:"Indo-European",Bateri:"Indo-European",Bengali:"Indo-European",Bhojpuri:"Indo-European",Bhunjia:"Indo-European",Bilaspuri:"Indo-European",Bosnian:"Indo-European","Braj Bhasha":"Indo-European",Brokskat:"Indo-European",Bundeli:"Indo-European",Catalan:"Indo-European",Chambeali:"Indo-European",Chhattisgarhi:"Indo-European",Dameli:"Indo-European",Dari:"Indo-European",Dhundari:"Indo-European",Dogri:"Indo-European",Domari:"Indo-European",Dutch:"Indo-European","Eastern Balochi":"Indo-European","Eastern Panjabi":"Indo-European","Eastern Yiddish":"Indo-European",English:"Indo-European",French:"Indo-European",Gaddi:"Indo-European",Garhwali:"Indo-European",Gawri:"Indo-European",Gowro:"Indo-European",Gujarati:"Indo-European",Gujari:"Indo-European",Halbi:"Indo-European",Haroti:"Indo-European",Haryanvi:"Indo-European",Hindi:"Indo-European","Indus Kohistani":"Indo-European","Iranian Persian":"Indo-European",Ishkashimi:"Indo-European",Kacchi:"Indo-European",Kalkoti:"Indo-European",Kanauji:"Indo-European",Kangri:"Indo-European",Karingani:"Indo-European",Kashmiri:"Indo-European",Kati:"Indo-European",Khunsari:"Indo-European",Konkani:"Indo-European",Kudmali:"Indo-European",Kumaoni:"Indo-European",Kumzari:"Indo-European",Laki:"Indo-European",Lasi:"Indo-European",Luwati:"Indo-European",Magahi:"Indo-European",Maithili:"Indo-European",Maldivian:"Indo-European",Malvi:"Indo-European",Marathi:"Indo-European","Marwari (India)":"Indo-European",Mewari:"Indo-European",Munji:"Indo-European",Nepali:"Indo-European",Nimadi:"Indo-European","Northern Kurdish":"Indo-European",Odia:"Indo-European","Pahari-Potwari":"Indo-European",Palula:"Indo-European",Panchpargania:"Indo-European",Pangwali:"Indo-European",Parachi:"Indo-European",Portuguese:"Indo-European",Russian:"Indo-European",Sadri:"Indo-European",Sanglechi:"Indo-European",Sarikoli:"Indo-European",Savi:"Indo-European",Semnani:"Indo-European",Serbian:"Indo-European",Shabak:"Indo-European",Shahrudi:"Indo-European",Shekhawati:"Indo-European",Shina:"Indo-European",Shughni:"Indo-European",Shumashti:"Indo-European",Sindhi:"Indo-European",Sivandi:"Indo-European",Soi:"Indo-European","Southern Balochi":"Indo-European",Spanish:"Indo-European",Tajik:"Indo-European",Talysh:"Indo-European",Urdu:"Indo-European",Ushojo:"Indo-European",Vaghri:"Indo-European","Vlax Romani":"Indo-European",Wagdi:"Indo-European",Wakhi:"Indo-European",Waneci:"Indo-European","Western Balochi":"Indo-European",Yadgha:"Indo-European","Bu-Nao Bunu":"Hmong-Mien","Central Mashan Miao":"Hmong-Mien","Chuanqiandian Cluster Miao":"Hmong-Mien","Eastern Xiangxi Miao":"Hmong-Mien","Iu Mien":"Hmong-Mien","Luopohe Miao":"Hmong-Mien","Northern Qiandong Miao":"Hmong-Mien","Pa-Hng":"Hmong-Mien","Southwestern Huishui Miao":"Hmong-Mien","Wunai Bunu":"Hmong-Mien","Younuo Bunu":"Hmong-Mien",Amarakaeri:"Harákmbut",Huachipaeri:"Harákmbut",Cuiba:"Guajiboan",Macaguán:"Guajiboan",Tlicho:"Eyak-Athabaskan",Kannada:"Dravidian",Kodava:"Dravidian","Korra Koraga":"Dravidian","Kota (India)":"Dravidian",Kudiya:"Dravidian",Malapandaram:"Dravidian",Malayalam:"Dravidian",Muthuvan:"Dravidian",Ravula:"Dravidian",Sholaga:"Dravidian",Tamil:"Dravidian",Telugu:"Dravidian",Tulu:"Dravidian",Vishavan:"Dravidian","Andaman Hindi Creole":"Creole","Cocos Islands Malay":"Creole","Juba Arabic":"Creole",Nubi:"Creole",Barí:"Chibchan","Barro Negro Tunebo":"Chibchan","Western Tunebo":"Chibchan",Ikpeng:"Cariban","Kuikúro-Kalapálo":"Cariban",Pemon:"Cariban",Trió:"Cariban","Waimiri-Atroarí":"Cariban",Waiwai:"Cariban",Yukpa:"Cariban",Borôro:"Bororoan",Chachi:"Barbacoan","Abai Sungai":"Austronesian",Ambelau:"Austronesian",Asilulu:"Austronesian",Balaesang:"Austronesian","Batak Alas-Kluet":"Austronesian","Batak Dairi":"Austronesian","Batak Karo":"Austronesian",Bonerate:"Austronesian",Bonggi:"Austronesian",Brunei:"Austronesian","Brunei Bisaya":"Austronesian",Buol:"Austronesian","Central Malay":"Austronesian","Central Sama":"Austronesian","Coastal Konjo":"Austronesian",Dampelas:"Austronesian","Dibabawon Manobo":"Austronesian",Dondo:"Austronesian",Gane:"Austronesian","Geser-Gorom":"Austronesian","Highland Konjo":"Austronesian",Hitu:"Austronesian",Iban:"Austronesian",Indonesian:"Austronesian","Kadazan Dusun":"Austronesian",Kiput:"Austronesian",Komodo:"Austronesian",Kompane:"Austronesian",Lahanan:"Austronesian","Lampung Nyo":"Austronesian","Larike-Wakasihu":"Austronesian",Lola:"Austronesian",Luhu:"Austronesian",Malay:"Austronesian",Mariri:"Austronesian",Moronene:"Austronesian",Rukai:"Austronesian","Sabah Bisaya":"Austronesian","Seit-Kaitetu":"Austronesian",Sula:"Austronesian","Tae’":"Austronesian",Tajio:"Austronesian",Tomini:"Austronesian",Tutong:"Austronesian",Ujir:"Austronesian",Aheu:"Austro-Asiatic",Alak:"Austro-Asiatic",Bit:"Austro-Asiatic","Bo (Laos)":"Austro-Asiatic",Bondo:"Austro-Asiatic",Brao:"Austro-Asiatic",Bugan:"Austro-Asiatic",Chong:"Austro-Asiatic",Chut:"Austro-Asiatic",Danau:"Austro-Asiatic",Halang:"Austro-Asiatic","Halang Doan":"Austro-Asiatic",Hu:"Austro-Asiatic",Hung:"Austro-Asiatic",Ir:"Austro-Asiatic",Kensiu:"Austro-Asiatic",Khmu:"Austro-Asiatic",Khua:"Austro-Asiatic",Khuen:"Austro-Asiatic",Koda:"Austro-Asiatic","Kon Keu":"Austro-Asiatic",Kriang:"Austro-Asiatic",Kuay:"Austro-Asiatic",Laven:"Austro-Asiatic",Maleng:"Austro-Asiatic","Man Met":"Austro-Asiatic",Mang:"Austro-Asiatic",Minriq:"Austro-Asiatic",Mlabri:"Austro-Asiatic",Nguôn:"Austro-Asiatic",Nyaheun:"Austro-Asiatic",Nyahkur:"Austro-Asiatic","O’du":"Austro-Asiatic",Ong:"Austro-Asiatic",Oy:"Austro-Asiatic",Pacoh:"Austro-Asiatic","Phong-Kniang":"Austro-Asiatic",Prai:"Austro-Asiatic",Puoc:"Austro-Asiatic",Rengao:"Austro-Asiatic",Rmeet:"Austro-Asiatic","Rumai Palaung":"Austro-Asiatic",Sapuan:"Austro-Asiatic","Shwe Palaung":"Austro-Asiatic","So (Laos)":"Austro-Asiatic",Sou:"Austro-Asiatic","Tai Loi":"Austro-Asiatic",Talieng:"Austro-Asiatic",Tareng:"Austro-Asiatic",Tho:"Austro-Asiatic",U:"Austro-Asiatic","Upper Ta’oih":"Austro-Asiatic",Vietnamese:"Austro-Asiatic","Western Katu":"Austro-Asiatic",Suruahá:"Arauan",Jarawa:"Andamanese",Öñge:"Andamanese",Sentinel:"Andamanese",Afar:"Afro-Asiatic","Alaba-K’abeena":"Afro-Asiatic",Alagwa:"Afro-Asiatic",Ale:"Afro-Asiatic","Algerian Arabic":"Afro-Asiatic",Amharic:"Afro-Asiatic",Arbore:"Afro-Asiatic","Baharna Arabic":"Afro-Asiatic",Barein:"Afro-Asiatic",Bedawiyet:"Afro-Asiatic",Bidiyo:"Afro-Asiatic",Bilen:"Afro-Asiatic",Birgit:"Afro-Asiatic",Boor:"Afro-Asiatic","Borana-Arsi-Guji Oromo":"Afro-Asiatic",Buduma:"Afro-Asiatic","Central Atlas Tamazight":"Afro-Asiatic","Chadian Arabic":"Afro-Asiatic",Chenoua:"Afro-Asiatic",Ciwogai:"Afro-Asiatic",Daasanach:"Afro-Asiatic",Dabarre:"Afro-Asiatic",Dangaléat:"Afro-Asiatic",Deno:"Afro-Asiatic",Diri:"Afro-Asiatic",Duwai:"Afro-Asiatic","Eastern Egyptian Bedawi Arabic":"Afro-Asiatic","Eastern Oromo":"Afro-Asiatic",Garre:"Afro-Asiatic",Geruma:"Afro-Asiatic",Giiwo:"Afro-Asiatic",Gorowa:"Afro-Asiatic","Gulf Arabic":"Afro-Asiatic","Hadrami Arabic":"Afro-Asiatic",Harsusi:"Afro-Asiatic",Hassaniyya:"Afro-Asiatic",Hausa:"Afro-Asiatic",Hebrew:"Afro-Asiatic","Hijazi Arabic":"Afro-Asiatic",Hobyót:"Afro-Asiatic",Hozo:"Afro-Asiatic",Jiiddu:"Afro-Asiatic",Jimi:"Afro-Asiatic",Jina:"Afro-Asiatic","Jonkor Bourmataguil":"Afro-Asiatic","Judeo-Iraqi Arabic":"Afro-Asiatic","Judeo-Moroccan Arabic":"Afro-Asiatic",Kabalai:"Afro-Asiatic",Kajakse:"Afro-Asiatic",Kariya:"Afro-Asiatic","Karo (Ethiopia)":"Afro-Asiatic",Kutto:"Afro-Asiatic","Levantine Arabic":"Afro-Asiatic",Libido:"Afro-Asiatic","Libyan Arabic":"Afro-Asiatic","Lishana Deni":"Afro-Asiatic",Maaka:"Afro-Asiatic",Maay:"Afro-Asiatic",Majera:"Afro-Asiatic",Male:"Afro-Asiatic",Maslam:"Afro-Asiatic",Masmaje:"Afro-Asiatic",Mburku:"Afro-Asiatic",Mehri:"Afro-Asiatic","Mesopotamian Arabic":"Afro-Asiatic",Migaama:"Afro-Asiatic",Mogum:"Afro-Asiatic","Moroccan Arabic":"Afro-Asiatic",Mositacha:"Afro-Asiatic",Mubi:"Afro-Asiatic",Mukulu:"Afro-Asiatic",Nafusi:"Afro-Asiatic","Najdi Arabic":"Afro-Asiatic",Nyam:"Afro-Asiatic","Omani Arabic":"Afro-Asiatic","Pa’a":"Afro-Asiatic",Saba:"Afro-Asiatic",Saho:"Afro-Asiatic","Sanaani Arabic":"Afro-Asiatic",Seze:"Afro-Asiatic",Shehri:"Afro-Asiatic",Shekkacho:"Afro-Asiatic",Sheko:"Afro-Asiatic","Shihhi Arabic":"Afro-Asiatic",Siwi:"Afro-Asiatic",Sokoro:"Afro-Asiatic",Soqotri:"Afro-Asiatic","South Levantine Arabic":"Afro-Asiatic","Standard Arabic":"Afro-Asiatic","Sudanese Arabic":"Afro-Asiatic","Ta’izzi-Adeni Arabic":"Afro-Asiatic","Tahaggart Tamahaq":"Afro-Asiatic",Taznatit:"Afro-Asiatic",Tigré:"Afro-Asiatic",Toram:"Afro-Asiatic",Tsamai:"Afro-Asiatic",Tumzabt:"Afro-Asiatic",Tunni:"Afro-Asiatic",Waata:"Afro-Asiatic","West Central Oromo":"Afro-Asiatic",Xamtanga:"Afro-Asiatic",Zumbun:"Afro-Asiatic"},Xl={aar:"Afro-Asiatic",abf:"Austronesian",abl:"Austronesian",abv:"Afro-Asiatic",acm:"Afro-Asiatic",acq:"Afro-Asiatic",acw:"Afro-Asiatic",acx:"Afro-Asiatic",adh:"Nilo-Saharan",adi:"Sino-Tibetan",adw:"Tupian",adx:"Sino-Tibetan",aen:"Sign Language",afb:"Afro-Asiatic",afg:"Sign Language",afr:"Indo-European",aft:"Nilo-Saharan",agx:"Nakh-Daghestanian",ahk:"Sino-Tibetan",aib:"Turkic",aih:"Kra-Dai",aio:"Kra-Dai",ajp:"Afro-Asiatic",aju:"Afro-Asiatic",aks:"Niger-Congo",akv:"Nakh-Daghestanian",alk:"Austro-Asiatic",alo:"Austronesian",alw:"Afro-Asiatic",amc:"Panoan",amh:"Afro-Asiatic",amr:"Harákmbut",amv:"Austronesian",ani:"Nakh-Daghestanian",anp:"Indo-European",anq:"Andamanese",aoc:"Cariban",apc:"Afro-Asiatic",apd:"Afro-Asiatic",arb:"Afro-Asiatic",arq:"Afro-Asiatic",arr:"Tupian",ars:"Afro-Asiatic",arv:"Afro-Asiatic",ary:"Afro-Asiatic",ase:"Sign Language",asl:"Austronesian",asm:"Indo-European",asn:"Tupian",asp:"Sign Language",atr:"Cariban",avd:"Indo-European",avl:"Afro-Asiatic",avv:"Tupian",awe:"Tupian",awt:"Tupian",ayh:"Afro-Asiatic",ayl:"Afro-Asiatic",ayn:"Afro-Asiatic",azb:"Turkic",bao:"Tucanoan",bbh:"Austro-Asiatic",bcc:"Indo-European",bcz:"Niger-Congo",bdg:"Austronesian",bdi:"Nilo-Saharan",bdj:"Niger-Congo",bdm:"Afro-Asiatic",bdo:"Nilo-Saharan",bee:"Sino-Tibetan",bej:"Afro-Asiatic",bem:"Niger-Congo",ben:"Indo-European",bfi:"Sign Language",bfu:"Sino-Tibetan",bfw:"Austro-Asiatic",bfy:"Indo-European",bgc:"Indo-European",bgg:"Sino-Tibetan",bgk:"Austro-Asiatic",bgl:"Austro-Asiatic",bgn:"Indo-European",bgp:"Indo-European",bgq:"Indo-European",bho:"Indo-European",bhu:"Indo-European",bid:"Afro-Asiatic",bjj:"Indo-European",bkk:"Indo-European",blf:"Austronesian",blm:"Nilo-Saharan",blo:"Niger-Congo",bls:"Austronesian",blt:"Kra-Dai",bly:"Niger-Congo",bma:"Niger-Congo",bmr:"Witotoan",bna:"Austronesian",bns:"Indo-European",bor:"Bororoan",bos:"Indo-European",bph:"Nakh-Daghestanian",bqg:"Niger-Congo",bqj:"Niger-Congo",bqk:"Niger-Congo",bqn:"Sign Language",bqx:"Niger-Congo",bra:"Indo-European",brb:"Austro-Asiatic",bro:"Sino-Tibetan",brx:"Sino-Tibetan",bsb:"Austronesian",bsg:"Indo-European",bsk:"Language isolate",bsy:"Austronesian",btd:"Austronesian",btf:"Afro-Asiatic",btv:"Indo-European",btx:"Austronesian",btz:"Austronesian",bub:"Niger-Congo",buh:"Hmong-Mien",bva:"Afro-Asiatic",bvf:"Afro-Asiatic",bvi:"Niger-Congo",bvo:"Niger-Congo",bwi:"Maipurean",bwn:"Hmong-Mien",bwx:"Hmong-Mien",bxr:"Mongolic",bxu:"Mongolic",bxw:"Niger-Congo",byn:"Afro-Asiatic",byo:"Sino-Tibetan",bze:"Niger-Congo",bzx:"Niger-Congo",cat:"Indo-European",cbb:"Maipurean",cbc:"Tucanoan",cbi:"Barbacoan",cbn:"Austro-Asiatic",cby:"Unclassified",cdh:"Indo-European",cdn:"Sino-Tibetan",cdz:"Austro-Asiatic",ceg:"Zamucoan",cgk:"Sino-Tibetan",che:"Nakh-Daghestanian",cib:"Niger-Congo",cji:"Nakh-Daghestanian",ckh:"Sino-Tibetan",ckq:"Afro-Asiatic",clk:"Sino-Tibetan",cmn:"Sino-Tibetan",cnq:"Niger-Congo",cnu:"Afro-Asiatic",coa:"Creole",cog:"Austro-Asiatic",cpu:"Maipurean",cqd:"Hmong-Mien",csf:"Sign Language",csx:"Sign language",cub:"Tucanoan",cui:"Guajiboan",cuu:"Kra-Dai",daa:"Afro-Asiatic",daj:"Nilo-Saharan",dar:"Nakh-Daghestanian",dau:"Nilo-Saharan",dba:"Language isolate",dbb:"Afro-Asiatic",dbp:"Afro-Asiatic",dbr:"Afro-Asiatic",ddn:"Nilo-Saharan",deg:"Niger-Congo",dek:"Niger-Congo",des:"Tucanoan",dgo:"Indo-European",dgs:"Niger-Congo",dhd:"Indo-European",dhi:"Sino-Tibetan",dhm:"Niger-Congo",dil:"Nilo-Saharan",diu:"Niger-Congo",div:"Indo-European",djc:"Nilo-Saharan",dkg:"Niger-Congo",dln:"Sino-Tibetan",dml:"Indo-European",dms:"Austronesian",dnu:"Austro-Asiatic",doc:"Kra-Dai",dok:"Austronesian",dox:"Afro-Asiatic",dru:"Austronesian",dse:"Sign Language",dsh:"Afro-Asiatic",dsl:"Sign Language",dsq:"Nilo-Saharan",dta:"Mongolic",dtp:"Austronesian",dyu:"Niger-Congo",dzg:"Nilo-Saharan",dzl:"Sino-Tibetan",eng:"Indo-European",enn:"Niger-Congo",epi:"Niger-Congo",ers:"Sino-Tibetan",esl:"Sign Language",evn:"Tungusic",fin:"Uralic",fni:"Niger-Congo",fod:"Niger-Congo",fra:"Indo-European",fsl:"Sign Language",fub:"Niger-Congo",fuc:"Niger-Congo",fuf:"Niger-Congo",fuj:"Niger-Congo",fvr:"Nilo-Saharan",fwe:"Niger-Congo",gax:"Afro-Asiatic",gaz:"Afro-Asiatic",gbk:"Indo-European",gbm:"Indo-European",gbn:"Nilo-Saharan",gdq:"Afro-Asiatic",gea:"Afro-Asiatic",ges:"Austronesian",gex:"Afro-Asiatic",ghl:"Nilo-Saharan",giq:"Kra-Dai",giw:"Kra-Dai",gju:"Indo-European",glc:"Niger-Congo",goe:"Sino-Tibetan",gow:"Afro-Asiatic",gqu:"Kra-Dai",grr:"Afro-Asiatic",gsg:"Sign Language",gss:"Sign Language",guj:"Indo-European",gus:"Sign Language",gvp:"Jean",gwb:"Niger-Congo",gwc:"Indo-European",gwd:"Afro-Asiatic",gwf:"Indo-European",gya:"Niger-Congo",gyo:"Sino-Tibetan",gzn:"Austronesian",hae:"Afro-Asiatic",hal:"Austro-Asiatic",hau:"Afro-Asiatic",hca:"Creole",hea:"Hmong-Mien",heb:"Afro-Asiatic",her:"Niger-Congo",hik:"Austronesian",hin:"Indo-European",hks:"Sign Language",hlb:"Indo-European",hld:"Austro-Asiatic",hmb:"Nilo-Saharan",hmh:"Hmong-Mien",hml:"Hmong-Mien",hmm:"Hmong-Mien",hne:"Indo-European",hni:"Sino-Tibetan",hnu:"Austro-Asiatic",hoh:"Afro-Asiatic",hoj:"Indo-European",hoz:"Afro-Asiatic",hsn:"Sino-Tibetan",hss:"Afro-Asiatic",htu:"Austronesian",hug:"Harákmbut",huo:"Austro-Asiatic",iba:"Austronesian",ibr:"Niger-Congo",icl:"Sign Language",iii:"Sino-Tibetan",ind:"Austronesian",irr:"Austro-Asiatic",ise:"Sign Language",isk:"Indo-European",isr:"Sign Language",ium:"Hmong-Mien",jbn:"Afro-Asiatic",jeu:"Afro-Asiatic",jia:"Afro-Asiatic",jii:"Afro-Asiatic",jio:"Kra-Dai",jit:"Niger-Congo",jiu:"Sino-Tibetan",jle:"Niger-Congo",jls:"Sign Language",jmi:"Afro-Asiatic",jnl:"Sino-Tibetan",jos:"Sign Language",jpn:"Japonic",jup:"Puinavean",kaf:"Sino-Tibetan",kan:"Dravidian",kas:"Indo-European",kay:"Tupian",kaz:"Turkic",kbg:"Sino-Tibetan",kbo:"Nilo-Saharan",kbp:"Niger-Congo",kby:"Nilo-Saharan",kcf:"Niger-Congo",kcn:"Creole",kcp:"Nilo-Saharan",kcu:"Niger-Congo",kcy:"Nilo-Saharan",kcz:"Niger-Congo",kdh:"Niger-Congo",kdn:"Niger-Congo",kdt:"Austro-Asiatic",kdu:"Nilo-Saharan",kec:"Nilo-Saharan",kfa:"Dravidian",kfd:"Dravidian",kfe:"Dravidian",kfg:"Dravidian",kfm:"Indo-European",kfr:"Indo-European",kfs:"Indo-European",kfy:"Indo-European",kgn:"Indo-European",khb:"Kra-Dai",khf:"Austro-Asiatic",khv:"Nakh-Daghestanian",kia:"Niger-Congo",kib:"Niger-Congo",kie:"Nilo-Saharan",kil:"Afro-Asiatic",kir:"Turkic",kjc:"Austronesian",kjg:"Austro-Asiatic",kjk:"Austronesian",kke:"Niger-Congo",kkh:"Kra-Dai",kkn:"Austro-Asiatic",kko:"Nilo-Saharan",kks:"Afro-Asiatic",klf:"Nilo-Saharan",kmc:"Kra-Dai",kmq:"Nilo-Saharan",kmr:"Indo-European",kmz:"Turkic",knc:"Nilo-Saharan",knf:"Niger-Congo",knk:"Niger-Congo",knm:"Maipurean",knn:"Indo-European",kns:"Austro-Asiatic",knz:"Niger-Congo",kou:"Niger-Congo",kpa:"Afro-Asiatic",kpc:"Maipurean",kpj:"Karajá",kpt:"Nakh-Daghestanian",kqg:"Niger-Congo",kqm:"Niger-Congo",krn:"Niger-Congo",krs:"Nilo-Saharan",kth:"Nilo-Saharan",kuf:"Austro-Asiatic",kui:"Cariban",kuj:"Niger-Congo",kva:"Nakh-Daghestanian",kvf:"Afro-Asiatic",kvh:"Austronesian",kvp:"Austronesian",kwn:"Niger-Congo",kwv:"Nilo-Saharan",kxd:"Austronesian",kxh:"Afro-Asiatic",kxj:"Nilo-Saharan",kyi:"Austronesian",kyp:"Kra-Dai",kyw:"Indo-European",kzq:"Sino-Tibetan",lae:"Sino-Tibetan",lan:"Niger-Congo",lao:"Kra-Dai",laq:"Kra-Dai",lbj:"Sino-Tibetan",lbn:"Austro-Asiatic",lbo:"Austro-Asiatic",lbs:"Sign Language",lbt:"Kra-Dai",lcd:"Austronesian",lcq:"Austronesian",lgn:"Nilo-Saharan",lgs:"Sign Language",lha:"Kra-Dai",lhn:"Austronesian",lhp:"Sino-Tibetan",lic:"Kra-Dai",liq:"Afro-Asiatic",liu:"Nilo-Saharan",lkc:"Sino-Tibetan",lkh:"Sino-Tibetan",lki:"Indo-European",lkr:"Nilo-Saharan",lma:"Niger-Congo",loh:"Nilo-Saharan",lop:"Niger-Congo",lsd:"Afro-Asiatic",lso:"Sign Language",lss:"Indo-European",lsy:"Sign Language",luk:"Sino-Tibetan",lul:"Nilo-Saharan",mag:"Indo-European",mai:"Indo-European",mal:"Dravidian",mar:"Indo-European",mbd:"Austronesian",mbn:"Guajiboan",mcd:"Panoan",mdl:"Sign Language",mdy:"Afro-Asiatic",mei:"Nilo-Saharan",men:"Niger-Congo",mes:"Afro-Asiatic",mew:"Afro-Asiatic",mey:"Afro-Asiatic",mgb:"Nilo-Saharan",mgd:"Nilo-Saharan",mge:"Nilo-Saharan",mgh:"Niger-Congo",mhr:"Uralic",mhu:"Sino-Tibetan",mhw:"Niger-Congo",mjp:"Dravidian",mkg:"Kra-Dai",mmh:"Maipurean",mml:"Austro-Asiatic",mmy:"Afro-Asiatic",mne:"Nilo-Saharan",mni:"Sino-Tibetan",mnj:"Indo-European",mnk:"Niger-Congo",mnq:"Austro-Asiatic",mns:"Uralic",mot:"Chibchan",mou:"Afro-Asiatic",moy:"Afro-Asiatic",moz:"Afro-Asiatic",mpe:"Nilo-Saharan",mpz:"Sino-Tibetan",mqi:"Austronesian",mqn:"Austronesian",mra:"Austro-Asiatic",mrj:"Uralic",msc:"Niger-Congo",msv:"Afro-Asiatic",msw:"Niger-Congo",mtr:"Indo-European",mub:"Afro-Asiatic",mup:"Indo-European",muq:"Hmong-Mien",muv:"Dravidian",mvf:"Mongolic",mvu:"Nilo-Saharan",mvy:"Indo-European",mwn:"Niger-Congo",mxj:"Sino-Tibetan",myp:"Muran",myy:"Tucanoan",mzb:"Afro-Asiatic",mzy:"Sign Language",naq:"Khoe-Kwadi",nbt:"Sino-Tibetan",nbw:"Niger-Congo",ndg:"Niger-Congo",ndp:"Nilo-Saharan",ndt:"Niger-Congo",neb:"Niger-Congo",neh:"Sino-Tibetan",nev:"Austro-Asiatic",ngt:"Austro-Asiatic",njl:"Nilo-Saharan",nkd:"Sino-Tibetan",nld:"Indo-European",nmd:"Niger-Congo",nmi:"Afro-Asiatic",nml:"Niger-Congo",nmy:"Sino-Tibetan",nnj:"Nilo-Saharan",nod:"Kra-Dai",noe:"Indo-European",nos:"Sino-Tibetan",npb:"Sino-Tibetan",npi:"Indo-European",nrb:"Nilo-Saharan",nru:"Sino-Tibetan",nsl:"Sign Language",nuo:"Austro-Asiatic",nus:"Nilo-Saharan",nwm:"Nilo-Saharan",nxq:"Sino-Tibetan",nye:"Niger-Congo",nyn:"Niger-Congo",nyr:"Niger-Congo",nyw:"Kra-Dai",nzs:"Sign Language",okn:"Japonic",ole:"Sino-Tibetan",oog:"Austro-Asiatic",oon:"Andamanese",opa:"Niger-Congo",ort:"Indo-European",ory:"Indo-European",ost:"Niger-Congo",oyb:"Austro-Asiatic",oym:"Tupian",pac:"Austro-Asiatic",pah:"Tupian",pbp:"Niger-Congo",peh:"Mongolic",pes:"Indo-European",pga:"Creole",pgg:"Indo-European",pgz:"Sign language",pha:"Hmong-Mien",phh:"Sino-Tibetan",phj:"Sino-Tibetan",phk:"Kra-Dai",phl:"Indo-European",pho:"Sino-Tibetan",phq:"Sino-Tibetan",phr:"Indo-European",pht:"Kra-Dai",pil:"Niger-Congo",pir:"Tucanoan",pkb:"Niger-Congo",pks:"Sign Language",pkt:"Austro-Asiatic",pll:"Austro-Asiatic",pnq:"Niger-Congo",pnx:"Austro-Asiatic",por:"Indo-European",prc:"Indo-European",prs:"Indo-European",prt:"Austro-Asiatic",psc:"Sign Language",pse:"Austronesian",pto:"Tupian",pum:"Sino-Tibetan",puo:"Austro-Asiatic",qae:"Sign Language",qao:"Sign Language",qbh:"Sign Language",qbj:"Sign Language",qbn:"Sign Language",qbt:"Sign Language",qcd:"Sign Language",qcm:"Sign Language",qcy:"Sign Language",qer:"Sign Language",qfa:"Sign Language",qfj:"Sign Language",qga:"Sign Language",qge:"Sign Language",qgm:"Sign Language",qiq:"Sign Language",qki:"Sign Language",qkm:"Sign Language",qkp:"Sign Language",qkw:"Sign Language",qmv:"Sign Language",qnh:"Sign Language",qns:"Sign Language",qom:"Sign Language",qqa:"Sign Language",qry:"Sign Language",qsm:"Sign Language",qso:"Sign Language",qsr:"Sign Language",qsz:"Sign Language",qtp:"Sign Language",qvz:"Quechuan",ras:"Niger-Congo",rbb:"Austro-Asiatic",ren:"Austro-Asiatic",rji:"Sino-Tibetan",rmt:"Indo-European",rmy:"Indo-European",rob:"Austronesian",rsl:"Sign Language",rui:"Niger-Congo",rus:"Indo-European",rwm:"Niger-Congo",rwr:"Indo-European",rys:"Japonic",saa:"Afro-Asiatic",sbf:"Unclassified",sbj:"Nilo-Saharan",sbs:"Niger-Congo",scb:"Austro-Asiatic",sck:"Indo-European",scl:"Indo-European",sdb:"Indo-European",sdg:"Indo-European",sdl:"Sign Language",sdp:"Sino-Tibetan",seq:"Niger-Congo",sgh:"Indo-European",sgy:"Indo-European",she:"Afro-Asiatic",shm:"Indo-European",shn:"Kra-Dai",sho:"Niger-Congo",shp:"Panoan",shu:"Afro-Asiatic",shv:"Afro-Asiatic",shz:"Niger-Congo",siy:"Indo-European",siz:"Afro-Asiatic",sjg:"Nilo-Saharan",sjo:"Tungusic",skq:"Niger-Congo",sle:"Dravidian",slt:"Sino-Tibetan",sml:"Austronesian",smy:"Indo-European",snd:"Indo-European",snn:"Tucanoan",soj:"Indo-European",sok:"Afro-Asiatic",soy:"Niger-Congo",spa:"Indo-European",spu:"Austro-Asiatic",sqk:"Sign Language",sqq:"Austro-Asiatic",sqs:"Sign Language",sqt:"Afro-Asiatic",srh:"Indo-European",sri:"Tucanoan",srp:"Indo-European",ssh:"Afro-Asiatic",ssn:"Afro-Asiatic",sss:"Austro-Asiatic",ssy:"Afro-Asiatic",std:"Andamanese",sts:"Indo-European",suq:"Nilo-Saharan",suv:"Sino-Tibetan",suy:"Jean",suz:"Sino-Tibetan",swh:"Niger-Congo",swi:"Kra-Dai",swl:"Sign Language",swv:"Indo-European",swx:"Arauan",sxg:"Sino-Tibetan",sze:"Afro-Asiatic",szn:"Austronesian",szs:"Sign Language",tag:"Niger-Congo",tam:"Dravidian",taz:"Niger-Congo",tbm:"Niger-Congo",tbn:"Chibchan",tbr:"Nilo-Saharan",tct:"Kra-Dai",tcy:"Dravidian",tda:"Mixed language",tdb:"Indo-European",tdd:"Kra-Dai",tdf:"Austro-Asiatic",tdj:"Austronesian",tel:"Dravidian",teq:"Nilo-Saharan",tgf:"Sino-Tibetan",tgk:"Indo-European",tgr:"Austro-Asiatic",thk:"Niger-Congo",thm:"Austro-Asiatic",thu:"Nilo-Saharan",thv:"Afro-Asiatic",tig:"Afro-Asiatic",tin:"Nakh-Daghestanian",tiz:"Kra-Dai",tkn:"Japonic",tlq:"Austro-Asiatic",tly:"Indo-European",tma:"Nilo-Saharan",tnb:"Chibchan",toi:"Niger-Congo",toq:"Nilo-Saharan",tou:"Austro-Asiatic",tqq:"Afro-Asiatic",tri:"Cariban",trj:"Afro-Asiatic",tsb:"Afro-Asiatic",tsc:"Niger-Congo",tsj:"Sino-Tibetan",tsk:"Sino-Tibetan",tsl:"Kra-Dai",tsm:"Sign Language",ttg:"Austronesian",tth:"Austro-Asiatic",ttl:"Niger-Congo",tts:"Kra-Dai",tue:"Tucanoan",tum:"Niger-Congo",tuo:"Tucanoan",tur:"Turkic",twm:"Sino-Tibetan",txi:"Cariban",txm:"Austronesian",tyh:"Austro-Asiatic",tyj:"Kra-Dai",tyr:"Kra-Dai",tyv:"Turkic",tyy:"Niger-Congo",tzm:"Afro-Asiatic",uan:"Kra-Dai",udj:"Austronesian",une:"Niger-Congo",unk:"Maipurean",urd:"Indo-European",urp:"Tupian",urz:"Tupian",ush:"Indo-European",usi:"Sino-Tibetan",uuu:"Austro-Asiatic",uzn:"Turkic",vai:"Niger-Congo",vgr:"Indo-European",vie:"Austro-Asiatic",vkj:"Unclassified",vkn:"Niger-Congo",vkz:"Niger-Congo",vmk:"Niger-Congo",vut:"Niger-Congo",wau:"Maipurean",waw:"Cariban",wbj:"Afro-Asiatic",wbl:"Indo-European",wbr:"Indo-European",wlc:"Niger-Congo",wll:"Nilo-Saharan",wmd:"Nambikwara",wmg:"Sino-Tibetan",wne:"Indo-European",wni:"Niger-Congo",wol:"Niger-Congo",wrn:"Niger-Congo",wti:"Nilo-Saharan",wuh:"Mixed language",wwa:"Niger-Congo",xal:"Mongolic",xan:"Afro-Asiatic",xdq:"Nakh-Daghestanian",xhv:"Austro-Asiatic",xka:"Indo-European",xkz:"Sino-Tibetan",xma:"Niger-Congo",xmj:"Afro-Asiatic",xmo:"Tupian",xms:"Sign Language",xnr:"Indo-European",xns:"Sino-Tibetan",xom:"Nilo-Saharan",xor:"Panoan",xsm:"Niger-Congo",xsr:"Sino-Tibetan",xwg:"Nilo-Saharan",yaa:"Panoan",yad:"Yaguan",yao:"Niger-Congo",yax:"Niger-Congo",ybh:"Sino-Tibetan",ycl:"Sino-Tibetan",ydd:"Indo-European",ydg:"Indo-European",yea:"Dravidian",yhd:"Afro-Asiatic",yig:"Sino-Tibetan",yix:"Sino-Tibetan",ymm:"Afro-Asiatic",ymx:"Sino-Tibetan",yne:"Sino-Tibetan",yno:"Kra-Dai",yom:"Niger-Congo",yox:"Japonic",yoy:"Kra-Dai",yrn:"Kra-Dai",ysl:"Sign Language",ysm:"Sign language",ysn:"Sino-Tibetan",yue:"Sino-Tibetan",yul:"Nilo-Saharan",yup:"Cariban",ywn:"Panoan",ywt:"Sino-Tibetan",zag:"Nilo-Saharan",zgn:"Kra-Dai",zhd:"Kra-Dai",ziw:"Niger-Congo",zkr:"Sino-Tibetan",zlm:"Austronesian",zna:"Niger-Congo",zne:"Niger-Congo",zng:"Austro-Asiatic",zqe:"Kra-Dai",zum:"Indo-European",zyg:"Kra-Dai"},ds="languageFamily",Rm="#000000",Vt={"Indo-European":"#e74c3c",Dravidian:"#ff9800","Afro-Asiatic":"#27ae60","Sino-Tibetan":"#3498db","Niger-Congo":"#9b59b6",Unclassified:"#95a5a6","Nilo-Saharan":"#e91e63","Khoe-Kwadi":"#00bcd4","Austro-Asiatic":"#00bcd4","Kra-Dai":"#8e44ad",Austronesian:"#ff69b4","Hmong-Mien":"#f44336",Turkic:"#ffc107","Nakh-Daghestanian":"#009688",Mongolic:"#795548",Uralic:"#607d8b",Tungusic:"#4caf50",Japonic:"#ff5722",Cariban:"#673ab7",Tupian:"#03a9f4",Tucanoan:"#8bc34a",Maipurean:"#ffc107",Panoan:"#cddc39",Guajiboan:"#9e9e9e",Chibchan:"#ff7043",Quechuan:"#ab47bc",Jean:"#26a69a",Harákmbut:"#7e57c2",Nambikwara:"#42a5f5",Muran:"#66bb6a",Karajá:"#ffa726",Bororoan:"#ef5350",Arauan:"#5c6bc0",Yanomaman:"#26c6da",Yaguan:"#d4e157",Witotoan:"#78909c",Zamucoan:"#8d6e63",Puinavean:"#aed581",Barbacoan:"#4db6ac","Eyak-Athabaskan":"#7986cb","Trans-New Guinea":"#ba68c8",Andamanese:"#4dd0e1","Sign Language":"#212121",Creole:"#9575cd","Mixed language":"#a1887f","Language isolate":"#90a4ae",Unknown:"#000000"},Fm=Vt;function fs(e){return Vt[e]||Rm}const Om=(()=>{const e=n=>String(n||"").toLowerCase().trim(),t={};for(const n of Object.keys(Vt))t[e(n)]=n;return t})();function ps(e){if(!e)return"Unknown";const t=String(e).trim();return Om[t.toLowerCase()]||t}function Zl(e){var t;return fs(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function hs(){const e=["match",["get",ds]];return Object.entries(Vt).forEach(([t,n])=>{e.push(t,n)}),e.push("#95a5a6"),e}const Ql=hs,xm=Object.freeze(Object.defineProperty({__proto__:null,LANGUAGE_FAMILY_COLORS:Fm,PALETTE:Vt,PROPERTY_KEY:ds,applyColor:hs,buildColorExpression:Ql,canonicalFamilyName:ps,default:{name:"Language Family",propertyKey:ds,palette:Vt,colors:Vt,getColor:Zl,applyColor:hs,buildColorExpression:Ql,getLanguageFamilyColor:fs,canonicalFamilyName:ps},defaultFamilyColor:"#95a5a6",getColor:Zl,getLanguageFamilyColor:fs,languageFamilyColors:Vt},Symbol.toStringTag,{value:"Module"})),ec="adoptionStatus",Mt={notAdopted:"#f03b2d",hasAdoption:"#22c55e"},jm=Mt,ms={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"},Bm=ms;function tc(e){var o;const t=e.adoptionStatus??((o=e._raw)==null?void 0:o.adopted_by_churches);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?Mt.hasAdoption:Mt.notAdopted}function bs({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",t,!0],Mt.hasAdoption,["==",t,1],Mt.hasAdoption,Mt.notAdopted]}const nc=bs,Km=Object.freeze(Object.defineProperty({__proto__:null,ADOPTION_COLORS:jm,ADOPTION_LABELS:Bm,LABELS:ms,PALETTE:Mt,PROPERTY_KEY:ec,applyColor:bs,buildColorExpression:nc,default:{name:"Adoption Progress",propertyKey:ec,palette:Mt,colors:Mt,labels:ms,getColor:tc,applyColor:bs,buildColorExpression:nc},getColor:tc},Symbol.toStringTag,{value:"Module"})),oc="engagementStatus",Dt={notEngaged:"#f03b2d",hasEngagement:"#22c55e"},Um=Dt,_s={notEngaged:"Unengaged",hasEngagement:"Engaged"},Gm=_s;function ac(e){var o;const t=e.engagementStatus??((o=e._raw)==null?void 0:o.people_committed);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?Dt.hasEngagement:Dt.notEngaged}function ys({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",t,!0],Dt.hasEngagement,["==",t,1],Dt.hasEngagement,Dt.notEngaged]}const sc=ys,zm=Object.freeze(Object.defineProperty({__proto__:null,ENGAGEMENT_COLORS:Um,ENGAGEMENT_LABELS:Gm,LABELS:_s,PALETTE:Dt,PROPERTY_KEY:oc,applyColor:ys,buildColorExpression:sc,default:{name:"Engagement Progress",propertyKey:oc,palette:Dt,colors:Dt,labels:_s,getColor:ac,applyColor:ys,buildColorExpression:sc},getColor:ac},Symbol.toStringTag,{value:"Module"})),ic="peoplePraying",Zo=144,Wt={noPrayer:"#f03b2d",hasPrayer:"#f0c64a",fullPrayer:"#22c55e"},qm=Wt,As={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"},Hm=As;function Qo(e){var o;const t=(e==null?void 0:e.peoplePraying)??((o=e==null?void 0:e._raw)==null?void 0:o.people_praying)??null,n=Number(t)||0;return n>=Zo?"fullPrayer":n>0?"hasPrayer":"noPrayer"}function Ss(e){return Wt[Qo(e)]}function rc(e){var n;const t=(e==null?void 0:e.peoplePraying)??((n=e==null?void 0:e._raw)==null?void 0:n.people_praying)??null;return t!==null&&t>0}function lc(e){return Qo(e)==="fullPrayer"}function cc(e){return Ss(e)}function vs({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,Zo],Wt.fullPrayer,[">",t,0],Wt.hasPrayer,Wt.noPrayer]}const uc=vs,Vm=Object.freeze(Object.defineProperty({__proto__:null,FULL_PRAYER_THRESHOLD:Zo,LABELS:As,PALETTE:Wt,PRAYER_COLORS:qm,PRAYER_LABELS:Hm,PROPERTY_KEY:ic,applyColor:vs,buildColorExpression:uc,checkHasFullPrayer:lc,checkHasPrayer:rc,default:{name:"Prayer Progress",propertyKey:ic,palette:Wt,colors:Wt,labels:As,threshold:Zo,getColor:cc,applyColor:vs,buildColorExpression:uc,getPrayerLevel:Qo,getPrayerColor:Ss,checkHasPrayer:rc,checkHasFullPrayer:lc},getColor:cc,getPrayerColor:Ss,getPrayerLevel:Qo},Symbol.toStringTag,{value:"Module"})),gc="religion",ks="#94a3b8",Ts={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},Xe={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function dc(e){if(!e||typeof e!="string")return"U";const t=e.charAt(0).toUpperCase();return Ts[t]?t:"U"}function fc(e){var n,o,a;const t=(e==null?void 0:e.religion)||((o=(n=e==null?void 0:e._raw)==null?void 0:n.religion)==null?void 0:o.value)||((a=e==null?void 0:e._raw)==null?void 0:a.religion);return Xe[dc(t)]||ks}function $s(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",Xe.C,"M",Xe.M,"H",Xe.H,"B",Xe.B,"E",Xe.E,"J",Xe.J,"S",Xe.S,"N",Xe.N,"O",Xe.O,ks]}const pc=$s,Wm=Object.assign({"./adoption.js":Km,"./engagement.js":zm,"./language-family.js":xm,"./prayer-progress.js":Vm,"./religion.js":Object.freeze(Object.defineProperty({__proto__:null,PALETTE:Xe,PROPERTY_KEY:gc,RELIGION_FAMILIES:Ts,applyColor:$s,buildColorExpression:pc,default:{name:"Religion",propertyKey:gc,palette:Xe,families:Ts,getColor:fc,applyColor:$s,buildColorExpression:pc,fallback:ks},getColor:fc,getReligionFamily:dc},Symbol.toStringTag,{value:"Module"}))}),Ym=e=>e.replace(/-([a-z0-9])/g,(t,n)=>n.toUpperCase()),Jm=e=>e.replace(/-/g,"_").toUpperCase(),Xm={...{STATUS:"status",CUSTOM:"custom"}};function Zm(e){for(const t of Object.keys(e).sort()){const n=t.split("/").pop().replace(/\.js$/,"");if(n.startsWith("_")||n.startsWith(".")||!e[t].default)continue;const a=Ym(n);Xm[Jm(n)]=a}}Zm(Wm);function Es(e){return e==null?"":typeof e=="object"?e.label||e.value||"":String(e)}const Qm=[[/ sign language$/i,"Sign Language"]];function eb(e){var r,l;const t=Es(e.languageFamily);if(t)return t;const n=String(((l=(r=e._raw)==null?void 0:r.primary_language)==null?void 0:l.value)||(e.language&&typeof e.language=="object"?e.language.value:"")||"").trim().toLowerCase();if(n&&Xl[n])return Xl[n];const o=Es(e.language||e.primary_language);if(!o||typeof o!="string")return"";const a=o.trim(),s=a.split(",").map(c=>c.trim()).filter(Boolean);if(s.length>=2){const c=[...s].reverse().join(" ");if(Ht[c])return Ht[c];if(s.length>=3){const u=[s[1],s[0]].join(" ");if(Ht[u])return Ht[u]}}if(Ht[a])return Ht[a];const i=a.replace(/\s*\(.*?\)\s*$/,"").trim();if(i!==a&&Ht[i])return Ht[i];for(const[c,u]of Qm)if(c.test(a))return u;return""}function tb(e){const{mapId:t="unknown",dataSourceId:n="doxa-csv",dataSourceManager:o=null,dataStore:a=null,markRaw:s=I=>I}=e;o||console.error("useMapData: dataSourceManager is required!");const i=pe(!1),r=pe(null),l=pe(!1),c=pe([]),u=pe([]),f=pe(null),b=pe([]),v=pe([]),E=pe([]),A=pe(null);async function R(){if(!o)throw new Error("dataSourceManager is required for useMapData");i.value=!0,r.value=null;try{if(await o.init(),a&&a.hasSourceData&&a.hasSourceData(n)){const D=a.getSourceData(n);u.value=s(D.normalizedData||[])}else{const D=await o.setActiveSource(n);for(const j of D){const B=Es(j.language||j.primary_language);B&&(j.language=B);const V=eb(j);j.languageFamily=ps(V)}u.value=s(D),a&&a.cacheSourceData&&a.cacheSourceData(n,{normalizedData:D,timestamp:Date.now()})}c.value=s(Dm(u.value.map(D=>({id:D.uniqueId,slug:D.slug||"",rop3:D.peopleGroupId,peopleId3:D.peopleId3,name:D.name,language:D.language,languageFamily:D.languageFamily,country:D.country,population:D.population,status:D.engagementStatus||D.status,latitude:D.latitude,longitude:D.longitude,lng:D.longitude,lat:D.latitude,description:D.description,imageUrl:D.imageUrl,doxaRegion:D.doxaRegion||D.wagfRegion||"",peoplePraying:D.peoplePraying??null,_normalized:D}))));const I=o.getDataByLanguageFamily();b.value=Object.entries(I).map(([D,j])=>{const B=j.reduce((V,X)=>{const ue=parseInt(X.population)||0;return V+ue},0);return{name:D,count:j.length,peopleGroupCount:j.length,population:B,groups:j}}).sort((D,j)=>j.count-D.count);const F=o.getDataByRegion();v.value=Object.entries(F).map(([D,j])=>{const B=j.reduce((V,X)=>{const ue=parseInt(X.population)||0;return V+ue},0);return{name:D,count:j.length,peopleGroupCount:j.length,population:B,groups:j}}).sort((D,j)=>D.name.localeCompare(j.name));const S={bible:{count:0,population:0,groups:[]},jesusFilm:{count:0,population:0,groups:[]},radio:{count:0,population:0,groups:[]},gospel:{count:0,population:0,groups:[]},audio:{count:0,population:0,groups:[]},stories:{count:0,population:0,groups:[]},hasResources:{count:0,population:0,groups:[]},noResources:{count:0,population:0,groups:[]}};u.value.forEach(D=>{const j=parseInt(D.population)||0;let B=!1;D.bible==="Available"&&(S.bible.count++,S.bible.population+=j,S.bible.groups.push(D),B=!0),D.jesusFilm==="Available"&&(S.jesusFilm.count++,S.jesusFilm.population+=j,S.jesusFilm.groups.push(D),B=!0),D.radio==="Available"&&(S.radio.count++,S.radio.population+=j,S.radio.groups.push(D),B=!0),D.gospel==="Available"&&(S.gospel.count++,S.gospel.population+=j,S.gospel.groups.push(D),B=!0),D.audio==="Available"&&(S.audio.count++,S.audio.population+=j,S.audio.groups.push(D),B=!0),D.stories==="Available"&&(S.stories.count++,S.stories.population+=j,S.stories.groups.push(D),B=!0),B?(S.hasResources.count++,S.hasResources.population+=j,S.hasResources.groups.push(D)):(S.noResources.count++,S.noResources.population+=j,S.noResources.groups.push(D))});const W=u.value.length,ae=u.value.reduce((D,j)=>D+(parseInt(j.population)||0),0),H={bible:"Bible",jesusFilm:"Jesus Film",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",hasResources:"Has Resources",noResources:"No Resources"},ee={bible:{count:W-S.bible.count,population:ae-S.bible.population},jesusFilm:{count:W-S.jesusFilm.count,population:ae-S.jesusFilm.population},radio:{count:W-S.radio.count,population:ae-S.radio.population},gospel:{count:W-S.gospel.count,population:ae-S.gospel.population},audio:{count:W-S.audio.count,population:ae-S.audio.population},stories:{count:W-S.stories.count,population:ae-S.stories.population}},Y="#2c3e50";return E.value=[{name:H.bible,key:"bible",count:S.bible.count,population:S.bible.population,isParent:!0,children:[{name:"No Bible",key:"noBible",count:ee.bible.count,population:ee.bible.population,color:Y}]},{name:H.jesusFilm,key:"jesusFilm",count:S.jesusFilm.count,population:S.jesusFilm.population,isParent:!0,children:[{name:"No Jesus Film",key:"noJesusFilm",count:ee.jesusFilm.count,population:ee.jesusFilm.population,color:Y}]},{name:H.radio,key:"radio",count:S.radio.count,population:S.radio.population,isParent:!0,children:[{name:"No Radio",key:"noRadio",count:ee.radio.count,population:ee.radio.population,color:Y}]},{name:H.gospel,key:"gospel",count:S.gospel.count,population:S.gospel.population,isParent:!0,children:[{name:"No Gospel",key:"noGospel",count:ee.gospel.count,population:ee.gospel.population,color:Y}]},{name:H.audio,key:"audio",count:S.audio.count,population:S.audio.population,isParent:!0,children:[{name:"No Audio",key:"noAudio",count:ee.audio.count,population:ee.audio.population,color:Y}]},{name:H.stories,key:"stories",count:S.stories.count,population:S.stories.population,isParent:!0,children:[{name:"No Stories",key:"noStories",count:ee.stories.count,population:ee.stories.population,color:Y}]},{name:H.hasResources,key:"hasResources",count:S.hasResources.count,population:S.hasResources.population,isParent:!0,children:[{name:H.noResources,key:"noResources",count:S.noResources.count,population:S.noResources.population,color:Y}]}],A.value=o.getStats(),l.value=!0,{peopleGroups:c.value,normalizedPeopleGroups:u.value,languageFamiliesData:b.value,doxaRegionsData:v.value,resourcesData:E.value,stats:A.value}}catch(I){throw console.error(`Failed to load data for map "${t}":`,I),r.value=I.message||"Failed to load data",I}finally{i.value=!1}}async function M(){var I,F,S;try{const W={},ae=u.value||[];for(const H of ae){const ee=H.countryIso||((F=(I=H._raw)==null?void 0:I.country_code)==null?void 0:F.value)||"",Y=(S=H._raw)==null?void 0:S.wagf_region,D=H.doxaRegion||H.wagfRegion||(Y&&typeof Y=="object"?Y.value:"")||"";ee&&D&&!W[ee]&&(W[ee]=D)}return f.value={isoToRegion:W},f.value}catch(W){throw console.error(`Error building regions data for map "${t}":`,W),r.value=W.message||"Failed to build regions",W}}function L(){return o?o.getDataByLanguageFamily():{}}function y(){return o?o.getDataByRegion():{}}function h(I){return L()[I]||[]}function T(I){return y()[I]||[]}function C(){c.value=[],u.value=[],f.value=null,b.value=[],v.value=[],E.value=[],A.value=null,l.value=!1,r.value=null}return{isLoading:i,isInitialized:l,error:r,peopleGroups:c,normalizedPeopleGroups:u,regionsData:f,languageFamiliesData:b,doxaRegionsData:v,resourcesData:E,stats:A,loadData:R,loadRegionsData:M,getDataByLanguageFamily:L,getDataByRegion:y,getPeopleGroupsByFamily:h,getPeopleGroupsByRegion:T,clearData:C}}const Ls={};function nb(){return typeof window<"u"&&window.MAP_APP_API_URL||typeof{url:ea&&ea.tagName.toUpperCase()==="SCRIPT"&&ea.src||new URL("all-people-groups.js",document.baseURI).href}<"u"&&(Ls==null?void 0:Ls.VITE_API_BASE_URL)||""}class hc{constructor(t={}){this.sourcesConfig=null,this.activeSource=null,this.rawData=[],this.normalizedData=[],this.dataByUniqueId=new Map,this.baseUrl=typeof window<"u"&&window.MAP_APP_BASE_URL||"./",this.locale=t.locale||null,this.cache=new Map,this.cacheEnabled=!0,this.cacheTTL=5*60*1e3}async init(){return this.sourcesConfig=Gl,this.sourcesConfig}getActiveSourceId(){var t;return((t=this.sourcesConfig)==null?void 0:t.activeSource)||"doxa-csv"}getSourceConfig(t){var n,o;return(o=(n=this.sourcesConfig)==null?void 0:n.sources)==null?void 0:o[t]}async setActiveSource(t){const n=this.getSourceConfig(t);if(!n)throw new Error(`Source not found: ${t}`);if(this.activeSource=n,this.cacheEnabled&&this.cache.has(t)){const o=this.cache.get(t);return this.normalizedData=o.normalizedData,this.dataByUniqueId=o.dataByUniqueId,this.normalizedData}return n.type==="csv"?await this.loadCSVData(n):n.type==="api"?await this.loadAPIData(n):n.type==="rest-api"&&await this.loadRestApiData(n),this.cacheEnabled&&this.cache.set(t,{normalizedData:this.normalizedData,dataByUniqueId:this.dataByUniqueId,timestamp:Date.now()}),this.normalizedData}clearCache(t=null){t?this.cache.delete(t):this.cache.clear()}isCached(t){return this.cache.has(t)}async loadActiveSource(){return this.sourcesConfig||await this.init(),this.setActiveSource(this.getActiveSourceId())}parseCSV(t){const n=[],o=[];let a="",s=!1,i=[],r=!0;for(let l=0;l0){if(i.push(a.trim()),a="",r)o.push(...i),r=!1;else if(i.length>1){const f={};o.forEach((b,v)=>{f[b]=i[v]||""}),n.push(f)}i=[]}}else a+=c}if((a||i.length>0)&&(i.push(a.trim()),!r&&i.length>1)){const l={};o.forEach((c,u)=>{l[c]=i[u]||""}),n.push(l)}return{headers:o,data:n}}async loadCSVData(t){try{const o=await(await fetch(this.baseUrl+t.path)).text(),{headers:a,data:s}=this.parseCSV(o);return this.rawData=s,this.validateFieldMappings(t.fieldMappings,a,t.name),this.normalizeData(t),this.normalizedData}catch(n){throw console.error("Failed to load CSV data:",n),n}}validateFieldMappings(t,n,o){const a=new Set(n.map(i=>i.trim())),s=[];for(const[i,r]of Object.entries(t||{}))if(Array.isArray(r))for(const l of r)a.has(l)||s.push({systemField:i,sourceField:l,isComposite:!0});else r&&!a.has(r)&&s.push({systemField:i,sourceField:r,isComposite:!1});s.length>0&&console.warn(`[DataSourceManager] ${o}: missing CSV columns:`,s)}async loadAPIData(t){try{const o=await(await fetch(t.url||t.endpoint)).json();return this.rawData=Array.isArray(o)?o:o.posts||o.data||o.peopleGroups||o.results||[],this.normalizeData(t),this.normalizedData}catch(n){throw console.error("Failed to load API data:",n),n}}async loadRestApiData(t){var l,c;const n=tb(),o=((l=t.endpoints)==null?void 0:l.bulk)||"/api/people-groups/list",a=((c=t.defaultFields)==null?void 0:c.join(","))||"",s=[];a&&s.push(`fields=${a}`);const i={...t.queryParams||{}};this.locale&&(i.lang=this.locale);for(const[u,f]of Object.entries(i))s.push(`${u}=${encodeURIComponent(f)}`);const r=`${n}${o}?${s.join("&")}`;try{const u=await fetch(r);if(!u.ok)throw new Error(`HTTP ${u.status}: ${u.statusText}`);const f=u.headers.get("content-type")||"";if(!f.includes("application/json"))throw new Error(`API returned "${f}" instead of JSON. Server at ${n} may be down or misconfigured.`);const b=await u.json();return this.rawData=Array.isArray(b)?b:b.posts||b.data||b.results||[],this.normalizeData(t),this.normalizedData}catch(u){throw console.error(`[rest-api] Failed to load from ${t.id}:`,u),u}}normalizeData(t){const n=t.fieldMappings||{};this.normalizedData=[],this.dataByUniqueId=new Map;for(const o of this.rawData){const a={};for(const[l,c]of Object.entries(n))if(Array.isArray(c)){const u=c.map(f=>this.getFieldValue(o,f));a[l]=u.join("_")}else a[l]=this.getFieldValue(o,c);if(a.latitude=parseFloat(a.latitude)||0,a.longitude=parseFloat(a.longitude)||0,a.latitude===0&&a.longitude===0)continue;a.populationNum=this.parsePopulation(a.population),a.imageUrl=this.getImageUrl(a,t.imageConfig);const s=a.engagementStatus;s!=null&&(typeof s=="object"&&"value"in s?(a.engagementStatusLabel=s.label||s.value,a.engagementStatus=s.value==="engaged"):a.engagementStatus=s===!0||s===1||s==="1"||s==="true"||typeof s=="number"&&s>0||typeof s=="string"&&parseInt(s,10)>0);const i=a.adoptionStatus;i!=null&&(a.adoptionStatus=i===!0||i===1||i==="1"||i==="true"||typeof i=="object"&&!!(i!=null&&i.value)||typeof i=="number"&&i>0||typeof i=="string"&&parseInt(i,10)>0);const r=["doxaRegion","wagfRegion","wagfBlock","wagfMember","affinityBlock","cluster","peopleGroup","countryIso","religion","religionCode"];for(const l of r){const c=a[l];c!=null&&typeof c=="object"&&"value"in c?(a[l+"Label"]=c.label||c.value,a[l]=c.value):c!=null&&typeof c=="string"&&c!==""&&(a[l+"Label"]||(a[l+"Label"]=c))}a.countryName=a.countryIsoLabel||a.country||a.countryIso||"",a.religionName=a.religionLabel||a.religion||"",a._raw=o,this.normalizedData.push(a),this.dataByUniqueId.set(a.uniqueId,a)}this.rawData=null}getFieldValue(t,n){if(!n)return"";if(t[n]!==void 0)return t[n];const o=n.trim();if(t[o]!==void 0)return t[o];for(const a of Object.keys(t))if(a.trim()===o||a.includes(o)||o.includes(a.trim()))return t[a];return""}parsePopulation(t){if(!t)return 0;const n=String(t).replace(/,/g,"").trim(),o=parseInt(n,10);return isNaN(o)?0:o}getImageUrl(t,n){if(!n)return"";const o=n.placeholderUrl||"",a=t[n.useField];return a&&String(a).trim()&&!String(a).includes("NoImageAvailable")?a:o}getData(){return this.normalizedData}getByUniqueId(t){return this.dataByUniqueId.get(t)}getByCoordinates(t,n,o=1e-4){return this.normalizedData.find(a=>Math.abs(a.latitude-t)n.peopleGroupId===t)}getLanguageFamilies(){const t=new Set;return this.normalizedData.forEach(n=>{n.languageFamily&&t.add(n.languageFamily)}),Array.from(t).sort()}getDataByLanguageFamily(){const t={};return this.normalizedData.forEach(n=>{const o=n.languageFamily||"Unknown";t[o]||(t[o]=[]),t[o].push(n)}),t}getDataByRegion(){const t={};return this.normalizedData.forEach(n=>{const o=n.doxaRegion||"Unknown";t[o]||(t[o]=[]),t[o].push(n)}),t}getStats(){return{totalRecords:this.normalizedData.length,withPeopleId3:this.normalizedData.filter(t=>t.peopleId3).length,withPhotos:this.normalizedData.filter(t=>t.imageUrl&&!String(t.imageUrl).includes("NoImageAvailable")).length,languageFamilies:this.getLanguageFamilies().length,countries:new Set(this.normalizedData.map(t=>t.country)).size,regions:Object.keys(this.getDataByRegion()).length}}}new pc;const nb={class:"apg-root"},ob={key:0,class:"apg-loading"},ab={key:1,class:"apg-error"},sb={key:2,class:"apg-legend"},ib={class:"apg-legend-sub"},rb=["onClick"],lb={class:"apg-count"},cb=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"all-people-groups",setup(e){var ee;Kl(` +`&&l++,a||i.length>0){if(i.push(a.trim()),a="",r)o.push(...i),r=!1;else if(i.length>1){const f={};o.forEach((b,v)=>{f[b]=i[v]||""}),n.push(f)}i=[]}}else a+=c}if((a||i.length>0)&&(i.push(a.trim()),!r&&i.length>1)){const l={};o.forEach((c,u)=>{l[c]=i[u]||""}),n.push(l)}return{headers:o,data:n}}async loadCSVData(t){try{const o=await(await fetch(this.baseUrl+t.path)).text(),{headers:a,data:s}=this.parseCSV(o);return this.rawData=s,this.validateFieldMappings(t.fieldMappings,a,t.name),this.normalizeData(t),this.normalizedData}catch(n){throw console.error("Failed to load CSV data:",n),n}}validateFieldMappings(t,n,o){const a=new Set(n.map(i=>i.trim())),s=[];for(const[i,r]of Object.entries(t||{}))if(Array.isArray(r))for(const l of r)a.has(l)||s.push({systemField:i,sourceField:l,isComposite:!0});else r&&!a.has(r)&&s.push({systemField:i,sourceField:r,isComposite:!1});s.length>0&&console.warn(`[DataSourceManager] ${o}: missing CSV columns:`,s)}async loadAPIData(t){try{const o=await(await fetch(t.url||t.endpoint)).json();return this.rawData=Array.isArray(o)?o:o.posts||o.data||o.peopleGroups||o.results||[],this.normalizeData(t),this.normalizedData}catch(n){throw console.error("Failed to load API data:",n),n}}async loadRestApiData(t){var l,c;const n=nb(),o=((l=t.endpoints)==null?void 0:l.bulk)||"/api/people-groups/list",a=((c=t.defaultFields)==null?void 0:c.join(","))||"",s=[];a&&s.push(`fields=${a}`);const i={...t.queryParams||{}};this.locale&&(i.lang=this.locale);for(const[u,f]of Object.entries(i))s.push(`${u}=${encodeURIComponent(f)}`);const r=`${n}${o}?${s.join("&")}`;try{const u=await fetch(r);if(!u.ok)throw new Error(`HTTP ${u.status}: ${u.statusText}`);const f=u.headers.get("content-type")||"";if(!f.includes("application/json"))throw new Error(`API returned "${f}" instead of JSON. Server at ${n} may be down or misconfigured.`);const b=await u.json();return this.rawData=Array.isArray(b)?b:b.posts||b.data||b.results||[],this.normalizeData(t),this.normalizedData}catch(u){throw console.error(`[rest-api] Failed to load from ${t.id}:`,u),u}}normalizeData(t){const n=t.fieldMappings||{};this.normalizedData=[],this.dataByUniqueId=new Map;for(const o of this.rawData){const a={};for(const[l,c]of Object.entries(n))if(Array.isArray(c)){const u=c.map(f=>this.getFieldValue(o,f));a[l]=u.join("_")}else a[l]=this.getFieldValue(o,c);if(a.latitude=parseFloat(a.latitude)||0,a.longitude=parseFloat(a.longitude)||0,a.latitude===0&&a.longitude===0)continue;a.populationNum=this.parsePopulation(a.population),a.imageUrl=this.getImageUrl(a,t.imageConfig);const s=a.engagementStatus;s!=null&&(typeof s=="object"&&"value"in s?(a.engagementStatusLabel=s.label||s.value,a.engagementStatus=s.value==="engaged"):a.engagementStatus=s===!0||s===1||s==="1"||s==="true"||typeof s=="number"&&s>0||typeof s=="string"&&parseInt(s,10)>0);const i=a.adoptionStatus;i!=null&&(a.adoptionStatus=i===!0||i===1||i==="1"||i==="true"||typeof i=="object"&&!!(i!=null&&i.value)||typeof i=="number"&&i>0||typeof i=="string"&&parseInt(i,10)>0);const r=["doxaRegion","wagfRegion","wagfBlock","wagfMember","affinityBlock","cluster","peopleGroup","countryIso","religion","religionCode"];for(const l of r){const c=a[l];c!=null&&typeof c=="object"&&"value"in c?(a[l+"Label"]=c.label||c.value,a[l]=c.value):c!=null&&typeof c=="string"&&c!==""&&(a[l+"Label"]||(a[l+"Label"]=c))}a.countryName=a.countryIsoLabel||a.country||a.countryIso||"",a.religionName=a.religionLabel||a.religion||"",a._raw=o,this.normalizedData.push(a),this.dataByUniqueId.set(a.uniqueId,a)}this.rawData=null}getFieldValue(t,n){if(!n)return"";if(t[n]!==void 0)return t[n];const o=n.trim();if(t[o]!==void 0)return t[o];for(const a of Object.keys(t))if(a.trim()===o||a.includes(o)||o.includes(a.trim()))return t[a];return""}parsePopulation(t){if(!t)return 0;const n=String(t).replace(/,/g,"").trim(),o=parseInt(n,10);return isNaN(o)?0:o}getImageUrl(t,n){if(!n)return"";const o=n.placeholderUrl||"",a=t[n.useField];return a&&String(a).trim()&&!String(a).includes("NoImageAvailable")?a:o}getData(){return this.normalizedData}getByUniqueId(t){return this.dataByUniqueId.get(t)}getByCoordinates(t,n,o=1e-4){return this.normalizedData.find(a=>Math.abs(a.latitude-t)n.peopleGroupId===t)}getLanguageFamilies(){const t=new Set;return this.normalizedData.forEach(n=>{n.languageFamily&&t.add(n.languageFamily)}),Array.from(t).sort()}getDataByLanguageFamily(){const t={};return this.normalizedData.forEach(n=>{const o=n.languageFamily||"Unknown";t[o]||(t[o]=[]),t[o].push(n)}),t}getDataByRegion(){const t={};return this.normalizedData.forEach(n=>{const o=n.doxaRegion||"Unknown";t[o]||(t[o]=[]),t[o].push(n)}),t}getStats(){return{totalRecords:this.normalizedData.length,withPeopleId3:this.normalizedData.filter(t=>t.peopleId3).length,withPhotos:this.normalizedData.filter(t=>t.imageUrl&&!String(t.imageUrl).includes("NoImageAvailable")).length,languageFamilies:this.getLanguageFamilies().length,countries:new Set(this.normalizedData.map(t=>t.country)).size,regions:Object.keys(this.getDataByRegion()).length}}}new hc;const ob={class:"apg-root"},ab={key:0,class:"apg-loading"},sb={key:1,class:"apg-error"},ib={key:2,class:"apg-legend"},rb={class:"apg-legend-sub"},lb=["onClick"],cb={class:"apg-count"},ub=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"all-people-groups",setup(e){var ee;Ul(` .apg-root { position:absolute;inset:0;overflow:hidden; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif; } .apg-canvas { position:absolute;inset:0; } @@ -100,10 +100,10 @@ .apg-pop .meta { color:#4b5563;margin-top:4px; } .apg-pop a { display:inline-block;margin-top:7px;font-weight:700;color:#b45309;text-decoration:none; } .apg-pop a:hover { text-decoration:underline; } -`,"all-people-groups");const t=Fe("profileConfig"),n=Fe("mapboxToken"),o=Fe("dataSource"),a=Fe("dataStore"),s=Fe("mapStore"),i=Cm(t),r=he(()=>{var Y;return String(((Y=t==null?void 0:t.value)==null?void 0:Y.assetsBase)||"/assets").replace(/\/+$/,"")}),l=[{id:"doxa",label:"DOXA people groups",color:"#111827"},{id:"frontier",label:"Frontier — nothing started",color:"#e74c3c"},{id:"unreached",label:"Unreached — work beginning",color:"#f1c40f"},{id:"reached",label:"Reached — church is there",color:"#2ecc71"}],c=Object.fromEntries(l.map(Y=>[Y.id,Y.color])),u=pe({doxa:0,frontier:0,unreached:0,reached:0});function f(Y,D){if(D.has(String(Y.ROP3Code||"")))return"doxa";const j=Number(Y.GSEC);return!Number.isFinite(j)||j<=1?"frontier":j<=3?"unreached":"reached"}function b(){var j;let Y="";try{Y=new URLSearchParams(window.location.search).get("utm_source")||""}catch{}const D=(j=t==null?void 0:t.value)==null?void 0:j.utmSource;return encodeURIComponent(String(Y||D||"agwm"))}const v=pe(null),E=pe(!1),A=pe(null),{map:R,initializeMap:M,destroy:L}=$m({containerRef:v,accessToken:n.value,provider:i,style:((ee=t==null?void 0:t.value)==null?void 0:ee.style)??"ink",center:[20,12],zoom:1.6}),y=new pc,h=eb({mapId:"all-people-groups",dataSourceId:o.value,dataSourceManager:y,dataStore:a,markRaw:Y=>Y});let T=[],C=new Map;function I(Y){return String(Y??"").replace(/[&<>"']/g,D=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[D])}async function F(){const[Y,D]=await Promise.all([fetch(`${r.value}/people-groups/people-groups-slim.json`).then(X=>{if(!X.ok)throw new Error(`people-groups-slim.json ${X.status}`);return X.json()}),h.loadData().then(()=>h.normalizedPeopleGroups.value||[]).catch(X=>(console.warn("[all-people-groups] DOXA overlay unavailable (map still renders by GSEC):",X),[]))]),j=new Set;for(const X of D){const ue=String(X.peopleGroupId||X.rop3||"");ue&&(j.add(ue),C.has(ue)||C.set(ue,{slug:X.slug||"",name:X.name||""}))}const B=[],V={doxa:0,frontier:0,unreached:0,reached:0};for(const X of Y.rows||[]){const ue=Number(X.Lat),de=Number(X.Long);if(!Number.isFinite(ue)||!Number.isFinite(de)||ue===0&&de===0)continue;const fe=f(X,j);V[fe]++,B.push({type:"Feature",geometry:{type:"Point",coordinates:[de,ue]},properties:{name:X.Name||"",country:X.CountryName||"",population:Number(X.Population)||0,gsec:X.GSEC,evangelical:X.EvangelicalLevel||"",language:X.LanguageName||"",religion:X.ReligionName||"",rop3:String(X.ROP3Code||""),category:fe}})}return u.value=V,T=B,{type:"FeatureCollection",features:B}}function S(Y){const D=R.value;D.addSource("apg",{type:"geojson",data:Y}),D.addLayer({id:"apg-pins",type:"circle",source:"apg",paint:{"circle-color":["match",["get","category"],"doxa",c.doxa,"frontier",c.frontier,"unreached",c.unreached,c.reached],"circle-stroke-color":"#ffffff","circle-stroke-width":["interpolate",["linear"],["zoom"],0,.4,6,.8,12,1.1],"circle-stroke-opacity":.85,"circle-radius":["interpolate",["linear"],["zoom"],0,2.2,4,3.4,8,6,12,9],"circle-opacity":.92,"circle-sort-key":["match",["get","category"],"doxa",4,"frontier",3,"unreached",2,1]}}),D.on("mouseenter","apg-pins",()=>{D.getCanvas().style.cursor="pointer"}),D.on("mouseleave","apg-pins",()=>{D.getCanvas().style.cursor=""}),D.on("click","apg-pins",j=>{const B=j.features&&j.features[0];if(!B)return;const V=B.properties,X=V.category==="doxa"?C.get(V.rop3):null,ue=l.find(je=>je.id===V.category),de=X&&X.slug?`Pray for them →`:"",fe=i==="maplibre"?window.maplibregl:window.mapboxgl;new fe.Popup({closeButton:!0,maxWidth:"290px"}).setLngLat(j.lngLat).setHTML(`
+`,"all-people-groups");const t=Fe("profileConfig"),n=Fe("mapboxToken"),o=Fe("dataSource"),a=Fe("dataStore"),s=Fe("mapStore"),i=Nm(t),r=he(()=>{var Y;return String(((Y=t==null?void 0:t.value)==null?void 0:Y.assetsBase)||"/assets").replace(/\/+$/,"")}),l=[{id:"doxa",label:"DOXA people groups",color:"#111827"},{id:"frontier",label:"Frontier — nothing started",color:"#e74c3c"},{id:"unreached",label:"Unreached — work beginning",color:"#f1c40f"},{id:"reached",label:"Reached — church is there",color:"#2ecc71"}],c=Object.fromEntries(l.map(Y=>[Y.id,Y.color])),u=pe({doxa:0,frontier:0,unreached:0,reached:0});function f(Y,D){if(D.has(String(Y.ROP3Code||"")))return"doxa";const j=Number(Y.GSEC);return!Number.isFinite(j)||j<=1?"frontier":j<=3?"unreached":"reached"}function b(){var j;let Y="";try{Y=new URLSearchParams(window.location.search).get("utm_source")||""}catch{}const D=(j=t==null?void 0:t.value)==null?void 0:j.utmSource;return encodeURIComponent(String(Y||D||"agwm"))}const v=pe(null),E=pe(!1),A=pe(null),{map:R,initializeMap:M,destroy:L}=Em({containerRef:v,accessToken:n.value,provider:i,style:((ee=t==null?void 0:t.value)==null?void 0:ee.style)??"ink",center:[20,12],zoom:1.6}),y=new hc,h=tb({mapId:"all-people-groups",dataSourceId:o.value,dataSourceManager:y,dataStore:a,markRaw:Y=>Y});let T=[],C=new Map;function I(Y){return String(Y??"").replace(/[&<>"']/g,D=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[D])}async function F(){const[Y,D]=await Promise.all([fetch(`${r.value}/people-groups/people-groups-slim.json`).then(X=>{if(!X.ok)throw new Error(`people-groups-slim.json ${X.status}`);return X.json()}),h.loadData().then(()=>h.normalizedPeopleGroups.value||[]).catch(X=>(console.warn("[all-people-groups] DOXA overlay unavailable (map still renders by GSEC):",X),[]))]),j=new Set;for(const X of D){const ue=String(X.peopleGroupId||X.rop3||"");ue&&(j.add(ue),C.has(ue)||C.set(ue,{slug:X.slug||"",name:X.name||""}))}const B=[],V={doxa:0,frontier:0,unreached:0,reached:0};for(const X of Y.rows||[]){const ue=Number(X.Lat),de=Number(X.Long);if(!Number.isFinite(ue)||!Number.isFinite(de)||ue===0&&de===0)continue;const fe=f(X,j);V[fe]++,B.push({type:"Feature",geometry:{type:"Point",coordinates:[de,ue]},properties:{name:X.Name||"",country:X.CountryName||"",population:Number(X.Population)||0,gsec:X.GSEC,evangelical:X.EvangelicalLevel||"",language:X.LanguageName||"",religion:X.ReligionName||"",rop3:String(X.ROP3Code||""),category:fe}})}return u.value=V,T=B,{type:"FeatureCollection",features:B}}function S(Y){const D=R.value;D.addSource("apg",{type:"geojson",data:Y}),D.addLayer({id:"apg-pins",type:"circle",source:"apg",paint:{"circle-color":["match",["get","category"],"doxa",c.doxa,"frontier",c.frontier,"unreached",c.unreached,c.reached],"circle-stroke-color":"#ffffff","circle-stroke-width":["interpolate",["linear"],["zoom"],0,.4,6,.8,12,1.1],"circle-stroke-opacity":.85,"circle-radius":["interpolate",["linear"],["zoom"],0,2.2,4,3.4,8,6,12,9],"circle-opacity":.92,"circle-sort-key":["match",["get","category"],"doxa",4,"frontier",3,"unreached",2,1]}}),D.on("mouseenter","apg-pins",()=>{D.getCanvas().style.cursor="pointer"}),D.on("mouseleave","apg-pins",()=>{D.getCanvas().style.cursor=""}),D.on("click","apg-pins",j=>{const B=j.features&&j.features[0];if(!B)return;const V=B.properties,X=V.category==="doxa"?C.get(V.rop3):null,ue=l.find(je=>je.id===V.category),de=X&&X.slug?`Pray for them →`:"",fe=i==="maplibre"?window.maplibregl:window.mapboxgl;new fe.Popup({closeButton:!0,maxWidth:"290px"}).setLngLat(j.lngLat).setHTML(`
${I(V.name)} ${I(ue.label.split(" — ")[0])}
${I(V.country)} · pop ${Number(V.population).toLocaleString()}
${I(V.evangelical||"GSEC "+V.gsec)}
${I(V.language)}${V.religion?" · "+I(V.religion):""}
${de} -
`).addTo(D)})}const W=pe(null);function ae(Y){const D=R.value;if(!D||!D.getLayer("apg-pins"))return;if(W.value===Y){W.value=null,D.setFilter("apg-pins",null),D.fitBounds([[-170,-55],[179,72]],{padding:20,duration:900});return}W.value=Y,D.setFilter("apg-pins",["==",["get","category"],Y]);let j=180,B=85,V=-180,X=-85,ue=0;for(const de of T){if(de.properties.category!==Y)continue;const[fe,je]=de.geometry.coordinates;feV&&(V=fe),jeX&&(X=je),ue++}ue&&D.fitBounds([[j,B],[V,X]],{padding:60,duration:900,maxZoom:6})}Un(async()=>{const Y=F().catch(D=>(A.value=String((D==null?void 0:D.message)||D),null));try{await M()}catch(D){A.value=String((D==null?void 0:D.message)||D);return}if(!R.value){A.value="Map failed to initialize — check token and container";return}R.value.once("style.load",async()=>{var D;try{const j=await Y;if(!j)return;try{R.value.setProjection("mercator")}catch{}S(j),(D=s==null?void 0:s.registerMap)==null||D.call(s,"all-people-groups",R.value),E.value=!0}catch(j){A.value=String((j==null?void 0:j.message)||j)}})}),Ea(()=>{var Y;(Y=s==null?void 0:s.unregisterMap)==null||Y.call(s,"all-people-groups"),L()});const H=he(()=>u.value.doxa+u.value.frontier+u.value.unreached+u.value.reached);return(Y,D)=>(qe(),$t("div",nb,[!E.value&&!A.value?(qe(),$t("div",ob,"Loading every people group…")):bn("",!0),A.value?(qe(),$t("div",ab,"The map could not be loaded. "+Xt(A.value),1)):bn("",!0),Ee("div",{ref_key:"mapContainer",ref:v,class:"apg-canvas"},null,512),E.value?(qe(),$t("div",sb,[D[0]||(D[0]=Ee("div",{class:"apg-legend-title"},"All People Groups",-1)),Ee("div",ib,Xt(H.value.toLocaleString())+" group–country locations",1),(qe(),$t(Ye,null,Iu(l,j=>Ee("div",{key:j.id,class:Nn(["apg-row",{active:W.value===j.id}]),onClick:B=>ae(j.id)},[Ee("span",{class:"apg-dot",style:go({background:j.color})},null,4),Et(" "+Xt(j.label)+" ",1),Ee("span",lb,Xt((u.value[j.id]||0).toLocaleString()),1)],10,rb)),64)),D[1]||(D[1]=Ee("div",{class:"apg-hint"},"Click a row to see all of them · click again for everything",-1))])):bn("",!0)]))}}},Symbol.toStringTag,{value:"Module"}))})(); +
`).addTo(D)})}const W=pe(null);function ae(Y){const D=R.value;if(!D||!D.getLayer("apg-pins"))return;if(W.value===Y){W.value=null,D.setFilter("apg-pins",null),D.fitBounds([[-170,-55],[179,72]],{padding:20,duration:900});return}W.value=Y,D.setFilter("apg-pins",["==",["get","category"],Y]);let j=180,B=85,V=-180,X=-85,ue=0;for(const de of T){if(de.properties.category!==Y)continue;const[fe,je]=de.geometry.coordinates;feV&&(V=fe),jeX&&(X=je),ue++}ue&&D.fitBounds([[j,B],[V,X]],{padding:60,duration:900,maxZoom:6})}Un(async()=>{const Y=F().catch(D=>(A.value=String((D==null?void 0:D.message)||D),null));try{await M()}catch(D){A.value=String((D==null?void 0:D.message)||D);return}if(!R.value){A.value="Map failed to initialize — check token and container";return}R.value.once("style.load",async()=>{var D;try{const j=await Y;if(!j)return;try{R.value.setProjection("mercator")}catch{}S(j),(D=s==null?void 0:s.registerMap)==null||D.call(s,"all-people-groups",R.value),E.value=!0}catch(j){A.value=String((j==null?void 0:j.message)||j)}})}),Ea(()=>{var Y;(Y=s==null?void 0:s.unregisterMap)==null||Y.call(s,"all-people-groups"),L()});const H=he(()=>u.value.doxa+u.value.frontier+u.value.unreached+u.value.reached);return(Y,D)=>(qe(),$t("div",ob,[!E.value&&!A.value?(qe(),$t("div",ab,"Loading every people group…")):bn("",!0),A.value?(qe(),$t("div",sb,"The map could not be loaded. "+Xt(A.value),1)):bn("",!0),Ee("div",{ref_key:"mapContainer",ref:v,class:"apg-canvas"},null,512),E.value?(qe(),$t("div",ib,[D[0]||(D[0]=Ee("div",{class:"apg-legend-title"},"All People Groups",-1)),Ee("div",rb,Xt(H.value.toLocaleString())+" group–country locations",1),(qe(),$t(Ye,null,Mu(l,j=>Ee("div",{key:j.id,class:Nn(["apg-row",{active:W.value===j.id}]),onClick:B=>ae(j.id)},[Ee("span",{class:"apg-dot",style:go({background:j.color})},null,4),Et(" "+Xt(j.label)+" ",1),Ee("span",cb,Xt((u.value[j.id]||0).toLocaleString()),1)],10,lb)),64)),D[1]||(D[1]=Ee("div",{class:"apg-hint"},"Click a row to see all of them · click again for everything",-1))])):bn("",!0)]))}}},Symbol.toStringTag,{value:"Module"}))})(); diff --git a/public/doxa-maps/all-people-groups/all-people-groups/index.html b/public/doxa-maps/all-people-groups/all-people-groups/index.html index 797f3b388..8669eda8a 100644 --- a/public/doxa-maps/all-people-groups/all-people-groups/index.html +++ b/public/doxa-maps/all-people-groups/all-people-groups/index.html @@ -29,7 +29,7 @@ - + + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"plugin-designs/*/*.vue","embedBase":".","bundleCount":10,"profileCount":19,"bundles":[{"bundle":"all-people-groups","scriptUrl":"./all-people-groups/all-people-groups.js","output":"doxa-maps/all-people-groups/all-people-groups.js","integrity":"sha384-reLYgfQVOBo4SK15sXYteULZYBjIgAz4ZbSLWISMupJJbuYOeUNix30fEd9NL8sV","elements":["all-people-groups"],"profiles":[{"profile":"all-people-groups","file":"all-people-groups.vue","description":"All 12,379 people groups (peoplegroups.org) in four colors — reached,","element":"all-people-groups","iframeUrl":"./all-people-groups/all-people-groups/index.html","scriptUrl":"./all-people-groups/all-people-groups.js","embed":{"iframe":"\u003ciframe src=\"./all-people-groups/all-people-groups/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./all-people-groups/all-people-groups.js\" integrity=\"sha384-reLYgfQVOBo4SK15sXYteULZYBjIgAz4ZbSLWISMupJJbuYOeUNix30fEd9NL8sV\" crossorigin=\"anonymous\">\u003c/script>\n\u003call-people-groups profile-config='{\"profile\":\"all-people-groups\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/all-people-groups>"},"bundle":"all-people-groups"}]}]}; + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"plugin-designs/*/*.vue","embedBase":".","bundleCount":10,"profileCount":19,"bundles":[{"bundle":"cities-internet","scriptUrl":"./cities-internet/cities-internet.js","output":"doxa-maps/cities-internet/cities-internet.js","integrity":"sha384-PAqYfQxuqlTa0wMwATfLtaJIeDnBhlHqijIMW4ILMtpy4VOXubmV19L8iiu3LI/u","elements":["cities-internet-map"],"profiles":[{"profile":"connectivity-list","file":"connectivity-list.vue","description":"","element":"cities-internet-map","iframeUrl":"./cities-internet/connectivity-list/index.html","scriptUrl":"./cities-internet/cities-internet.js","embed":{"iframe":"\u003ciframe src=\"./cities-internet/connectivity-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-PAqYfQxuqlTa0wMwATfLtaJIeDnBhlHqijIMW4ILMtpy4VOXubmV19L8iiu3LI/u\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"connectivity-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/cities-internet-map>"}},{"profile":"connectivity-map","file":"connectivity-map.vue","description":"","element":"cities-internet-map","iframeUrl":"./cities-internet/connectivity-map/index.html","scriptUrl":"./cities-internet/cities-internet.js","embed":{"iframe":"\u003ciframe src=\"./cities-internet/connectivity-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-PAqYfQxuqlTa0wMwATfLtaJIeDnBhlHqijIMW4ILMtpy4VOXubmV19L8iiu3LI/u\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"connectivity-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/cities-internet-map>"}},{"profile":"data-tables","file":"data-tables.vue","description":"","element":"cities-internet-map","iframeUrl":"./cities-internet/data-tables/index.html","scriptUrl":"./cities-internet/cities-internet.js","embed":{"iframe":"\u003ciframe src=\"./cities-internet/data-tables/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-PAqYfQxuqlTa0wMwATfLtaJIeDnBhlHqijIMW4ILMtpy4VOXubmV19L8iiu3LI/u\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/cities-internet-map>"}}]}]}; - + - + + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"plugin-designs/*/*.vue","embedBase":".","bundleCount":10,"profileCount":19,"bundles":[{"bundle":"country-posters","scriptUrl":"./country-posters/country-posters.js","output":"doxa-maps/country-posters/country-posters.js","integrity":"sha384-55+Ke4uM9UOSblliojP0Q/PjsXxJ4eeO2Pq8zSIC6m4wPq18T2QCSTyM1NMBz0bo","elements":["country-posters-map"],"profiles":[{"profile":"countries-map","file":"countries-map.vue","description":"","element":"country-posters-map","iframeUrl":"./country-posters/countries-map/index.html","scriptUrl":"./country-posters/country-posters.js","embed":{"iframe":"\u003ciframe src=\"./country-posters/countries-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./country-posters/country-posters.js\" integrity=\"sha384-55+Ke4uM9UOSblliojP0Q/PjsXxJ4eeO2Pq8zSIC6m4wPq18T2QCSTyM1NMBz0bo\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"countries-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/country-posters-map>"}},{"profile":"country-poster-wall","file":"country-poster-wall.vue","description":"","element":"country-posters-map","iframeUrl":"./country-posters/country-poster-wall/index.html","scriptUrl":"./country-posters/country-posters.js","embed":{"iframe":"\u003ciframe src=\"./country-posters/country-poster-wall/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./country-posters/country-posters.js\" integrity=\"sha384-55+Ke4uM9UOSblliojP0Q/PjsXxJ4eeO2Pq8zSIC6m4wPq18T2QCSTyM1NMBz0bo\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"country-poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/country-posters-map>"}}]}]}; - + - + + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"plugin-designs/*/*.vue","embedBase":".","bundleCount":10,"profileCount":19,"bundles":[{"bundle":"demo-map","scriptUrl":"./demo-map/demo-map.js","output":"doxa-maps/demo-map/demo-map.js","integrity":"sha384-GA5KpxntQ8Dm16XW3EFTfwVVAP3hR3/GuDN3H8rrUKrS7zWJMikEYOoA5Pqk8COy","elements":["demo-map"],"profiles":[{"profile":"demo-map","file":"demo-map.vue","description":"Simple two-tab demo map. Tab 1 colors pins by religion (shared","element":"demo-map","iframeUrl":"./demo-map/demo-map/index.html","scriptUrl":"./demo-map/demo-map.js","embed":{"iframe":"\u003ciframe src=\"./demo-map/demo-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./demo-map/demo-map.js\" integrity=\"sha384-GA5KpxntQ8Dm16XW3EFTfwVVAP3hR3/GuDN3H8rrUKrS7zWJMikEYOoA5Pqk8COy\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdemo-map profile-config='{\"profile\":\"demo-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/demo-map>"},"instances":[{"id":"maplibre","title":"Demo map — MapLibre (token-free)","apiBaseUrl":"","props":{"profile":"demo-map","provider":"maplibre","instanceId":"demo-maplibre"},"element":"demo-map","iframeUrl":"./demo-map/demo-map/maplibre/index.html","embed":{"iframe":"\u003ciframe src=\"./demo-map/demo-map/maplibre/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}],"bundle":"demo-map"}]}]}; + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"plugin-designs/*/*.vue","embedBase":".","bundleCount":10,"profileCount":19,"bundles":[{"bundle":"doxa-research-map","scriptUrl":"./doxa-research-map/doxa-research-map.js","output":"doxa-maps/doxa-research-map/doxa-research-map.js","integrity":"sha384-/v+43kKeEvsMUX//oDpIDN8+3l/NGhUJRGBg0jX9mNpIX/kTHZ/2Mss0oYGWlzeI","elements":["doxa-research-map"],"profiles":[{"profile":"research-map","file":"research-map.vue","description":"","element":"doxa-research-map","iframeUrl":"./doxa-research-map/research-map/index.html","scriptUrl":"./doxa-research-map/doxa-research-map.js","embed":{"iframe":"\u003ciframe src=\"./doxa-research-map/research-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./doxa-research-map/doxa-research-map.js\" integrity=\"sha384-/v+43kKeEvsMUX//oDpIDN8+3l/NGhUJRGBg0jX9mNpIX/kTHZ/2Mss0oYGWlzeI\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-research-map profile-config='{\"profile\":\"research-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/doxa-research-map>"}}]}]}; - + - + - + - + - + + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"plugin-designs/*/*.vue","embedBase":".","bundleCount":10,"profileCount":19,"bundles":[{"bundle":"doxa-simple-map","scriptUrl":"./doxa-simple-map/doxa-simple-map.js","output":"doxa-maps/doxa-simple-map/doxa-simple-map.js","integrity":"sha384-PlKKpCWRvGpXosDd+yWeHGcGSUZg12corGjiRY9YiYby5k7YjT6FH0HGvWQiB+hi","elements":["doxa-map","doxa-simple-map"],"profiles":[{"profile":"doxa-simple-map","file":"doxa-simple-map.vue","description":"","element":"doxa-map","iframeUrl":"./doxa-simple-map/doxa-simple-map/index.html","scriptUrl":"./doxa-simple-map/doxa-simple-map.js","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./doxa-simple-map/doxa-simple-map.js\" integrity=\"sha384-PlKKpCWRvGpXosDd+yWeHGcGSUZg12corGjiRY9YiYby5k7YjT6FH0HGvWQiB+hi\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-map profile-config='{\"profile\":\"doxa-simple-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/doxa-map>"},"instances":[{"id":"prayer","title":"Prayer Map","apiBaseUrl":"https://pray.doxa.life","props":{"profile":"doxa-simple-map","instanceId":"embed-prayer","dataSource":"pray-tools","tabs":[{"id":"prayer","colorStrategy":"prayer","legend":"prayer","popup":"prayer"}]},"element":"doxa-map","iframeUrl":"./doxa-simple-map/doxa-simple-map/prayer/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/prayer/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"engagement","title":"Engagement Map","apiBaseUrl":"https://pray.doxa.life","props":{"profile":"doxa-simple-map","instanceId":"embed-engagement","dataSource":"pray-tools","tabs":[{"id":"engagement","colorStrategy":"engagement","legend":"engagement","popup":"engagement"}]},"element":"doxa-map","iframeUrl":"./doxa-simple-map/doxa-simple-map/engagement/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/engagement/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"adoption","title":"Adoption Map","apiBaseUrl":"https://pray.doxa.life","props":{"profile":"doxa-simple-map","instanceId":"embed-adoption","dataSource":"pray-tools","tabs":[{"id":"adoption","colorStrategy":"adoption","legend":"adoption","popup":"adoption"}]},"element":"doxa-map","iframeUrl":"./doxa-simple-map/doxa-simple-map/adoption/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/adoption/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]}]}; + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"plugin-designs/*/*.vue","embedBase":".","bundleCount":10,"profileCount":19,"bundles":[{"bundle":"gospel-resources","scriptUrl":"./gospel-resources/gospel-resources.js","output":"doxa-maps/gospel-resources/gospel-resources.js","integrity":"sha384-mV+vHb0OoS7EeSBZosPxpN5q4wxOZWglWqScjjxqrGYeWdKr7aJjhGeqatnb2NTX","elements":["gospel-resources-map"],"profiles":[{"profile":"charts","file":"charts.vue","description":"","element":"gospel-resources-map","iframeUrl":"./gospel-resources/charts/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/charts/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-mV+vHb0OoS7EeSBZosPxpN5q4wxOZWglWqScjjxqrGYeWdKr7aJjhGeqatnb2NTX\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"charts\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/gospel-resources-map>"}},{"profile":"data-tables","file":"data-tables.vue","description":"","element":"gospel-resources-map","iframeUrl":"./gospel-resources/data-tables/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/data-tables/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-mV+vHb0OoS7EeSBZosPxpN5q4wxOZWglWqScjjxqrGYeWdKr7aJjhGeqatnb2NTX\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/gospel-resources-map>"}},{"profile":"resources-list","file":"resources-list.vue","description":"","element":"gospel-resources-map","iframeUrl":"./gospel-resources/resources-list/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/resources-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-mV+vHb0OoS7EeSBZosPxpN5q4wxOZWglWqScjjxqrGYeWdKr7aJjhGeqatnb2NTX\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"resources-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/gospel-resources-map>"}},{"profile":"resources-map","file":"resources-map.vue","description":"","element":"gospel-resources-map","iframeUrl":"./gospel-resources/resources-map/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/resources-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-mV+vHb0OoS7EeSBZosPxpN5q4wxOZWglWqScjjxqrGYeWdKr7aJjhGeqatnb2NTX\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"resources-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/gospel-resources-map>"}}]}]}; + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"plugin-designs/*/*.vue","embedBase":".","bundleCount":10,"profileCount":19,"bundles":[{"bundle":"all-people-groups","scriptUrl":"./all-people-groups/all-people-groups.js","output":"doxa-maps/all-people-groups/all-people-groups.js","integrity":"sha384-reLYgfQVOBo4SK15sXYteULZYBjIgAz4ZbSLWISMupJJbuYOeUNix30fEd9NL8sV","elements":["all-people-groups"],"profiles":[{"profile":"all-people-groups","file":"all-people-groups.vue","description":"All 12,379 people groups (peoplegroups.org) in four colors — reached,","element":"all-people-groups","iframeUrl":"./all-people-groups/all-people-groups/index.html","scriptUrl":"./all-people-groups/all-people-groups.js","embed":{"iframe":"\u003ciframe src=\"./all-people-groups/all-people-groups/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./all-people-groups/all-people-groups.js\" integrity=\"sha384-reLYgfQVOBo4SK15sXYteULZYBjIgAz4ZbSLWISMupJJbuYOeUNix30fEd9NL8sV\" crossorigin=\"anonymous\">\u003c/script>\n\u003call-people-groups profile-config='{\"profile\":\"all-people-groups\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/all-people-groups>"},"bundle":"all-people-groups"}]},{"bundle":"cities-internet","scriptUrl":"./cities-internet/cities-internet.js","output":"doxa-maps/cities-internet/cities-internet.js","integrity":"sha384-PAqYfQxuqlTa0wMwATfLtaJIeDnBhlHqijIMW4ILMtpy4VOXubmV19L8iiu3LI/u","elements":["cities-internet-map"],"profiles":[{"profile":"connectivity-list","file":"connectivity-list.vue","description":"","element":"cities-internet-map","iframeUrl":"./cities-internet/connectivity-list/index.html","scriptUrl":"./cities-internet/cities-internet.js","embed":{"iframe":"\u003ciframe src=\"./cities-internet/connectivity-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-PAqYfQxuqlTa0wMwATfLtaJIeDnBhlHqijIMW4ILMtpy4VOXubmV19L8iiu3LI/u\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"connectivity-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/cities-internet-map>"}},{"profile":"connectivity-map","file":"connectivity-map.vue","description":"","element":"cities-internet-map","iframeUrl":"./cities-internet/connectivity-map/index.html","scriptUrl":"./cities-internet/cities-internet.js","embed":{"iframe":"\u003ciframe src=\"./cities-internet/connectivity-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-PAqYfQxuqlTa0wMwATfLtaJIeDnBhlHqijIMW4ILMtpy4VOXubmV19L8iiu3LI/u\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"connectivity-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/cities-internet-map>"}},{"profile":"data-tables","file":"data-tables.vue","description":"","element":"cities-internet-map","iframeUrl":"./cities-internet/data-tables/index.html","scriptUrl":"./cities-internet/cities-internet.js","embed":{"iframe":"\u003ciframe src=\"./cities-internet/data-tables/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-PAqYfQxuqlTa0wMwATfLtaJIeDnBhlHqijIMW4ILMtpy4VOXubmV19L8iiu3LI/u\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/cities-internet-map>"}}]},{"bundle":"country-posters","scriptUrl":"./country-posters/country-posters.js","output":"doxa-maps/country-posters/country-posters.js","integrity":"sha384-55+Ke4uM9UOSblliojP0Q/PjsXxJ4eeO2Pq8zSIC6m4wPq18T2QCSTyM1NMBz0bo","elements":["country-posters-map"],"profiles":[{"profile":"countries-map","file":"countries-map.vue","description":"","element":"country-posters-map","iframeUrl":"./country-posters/countries-map/index.html","scriptUrl":"./country-posters/country-posters.js","embed":{"iframe":"\u003ciframe src=\"./country-posters/countries-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./country-posters/country-posters.js\" integrity=\"sha384-55+Ke4uM9UOSblliojP0Q/PjsXxJ4eeO2Pq8zSIC6m4wPq18T2QCSTyM1NMBz0bo\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"countries-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/country-posters-map>"}},{"profile":"country-poster-wall","file":"country-poster-wall.vue","description":"","element":"country-posters-map","iframeUrl":"./country-posters/country-poster-wall/index.html","scriptUrl":"./country-posters/country-posters.js","embed":{"iframe":"\u003ciframe src=\"./country-posters/country-poster-wall/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./country-posters/country-posters.js\" integrity=\"sha384-55+Ke4uM9UOSblliojP0Q/PjsXxJ4eeO2Pq8zSIC6m4wPq18T2QCSTyM1NMBz0bo\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"country-poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/country-posters-map>"}}]},{"bundle":"demo-map","scriptUrl":"./demo-map/demo-map.js","output":"doxa-maps/demo-map/demo-map.js","integrity":"sha384-GA5KpxntQ8Dm16XW3EFTfwVVAP3hR3/GuDN3H8rrUKrS7zWJMikEYOoA5Pqk8COy","elements":["demo-map"],"profiles":[{"profile":"demo-map","file":"demo-map.vue","description":"Simple two-tab demo map. Tab 1 colors pins by religion (shared","element":"demo-map","iframeUrl":"./demo-map/demo-map/index.html","scriptUrl":"./demo-map/demo-map.js","embed":{"iframe":"\u003ciframe src=\"./demo-map/demo-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./demo-map/demo-map.js\" integrity=\"sha384-GA5KpxntQ8Dm16XW3EFTfwVVAP3hR3/GuDN3H8rrUKrS7zWJMikEYOoA5Pqk8COy\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdemo-map profile-config='{\"profile\":\"demo-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/demo-map>"},"instances":[{"id":"maplibre","title":"Demo map — MapLibre (token-free)","apiBaseUrl":"","props":{"profile":"demo-map","provider":"maplibre","instanceId":"demo-maplibre"},"element":"demo-map","iframeUrl":"./demo-map/demo-map/maplibre/index.html","embed":{"iframe":"\u003ciframe src=\"./demo-map/demo-map/maplibre/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}],"bundle":"demo-map"}]},{"bundle":"doxa-research-map","scriptUrl":"./doxa-research-map/doxa-research-map.js","output":"doxa-maps/doxa-research-map/doxa-research-map.js","integrity":"sha384-/v+43kKeEvsMUX//oDpIDN8+3l/NGhUJRGBg0jX9mNpIX/kTHZ/2Mss0oYGWlzeI","elements":["doxa-research-map"],"profiles":[{"profile":"research-map","file":"research-map.vue","description":"","element":"doxa-research-map","iframeUrl":"./doxa-research-map/research-map/index.html","scriptUrl":"./doxa-research-map/doxa-research-map.js","embed":{"iframe":"\u003ciframe src=\"./doxa-research-map/research-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./doxa-research-map/doxa-research-map.js\" integrity=\"sha384-/v+43kKeEvsMUX//oDpIDN8+3l/NGhUJRGBg0jX9mNpIX/kTHZ/2Mss0oYGWlzeI\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-research-map profile-config='{\"profile\":\"research-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/doxa-research-map>"}}]},{"bundle":"doxa-simple-map","scriptUrl":"./doxa-simple-map/doxa-simple-map.js","output":"doxa-maps/doxa-simple-map/doxa-simple-map.js","integrity":"sha384-PlKKpCWRvGpXosDd+yWeHGcGSUZg12corGjiRY9YiYby5k7YjT6FH0HGvWQiB+hi","elements":["doxa-map","doxa-simple-map"],"profiles":[{"profile":"doxa-simple-map","file":"doxa-simple-map.vue","description":"","element":"doxa-map","iframeUrl":"./doxa-simple-map/doxa-simple-map/index.html","scriptUrl":"./doxa-simple-map/doxa-simple-map.js","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./doxa-simple-map/doxa-simple-map.js\" integrity=\"sha384-PlKKpCWRvGpXosDd+yWeHGcGSUZg12corGjiRY9YiYby5k7YjT6FH0HGvWQiB+hi\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-map profile-config='{\"profile\":\"doxa-simple-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/doxa-map>"},"instances":[{"id":"prayer","title":"Prayer Map","apiBaseUrl":"https://pray.doxa.life","props":{"profile":"doxa-simple-map","instanceId":"embed-prayer","dataSource":"pray-tools","tabs":[{"id":"prayer","colorStrategy":"prayer","legend":"prayer","popup":"prayer"}]},"element":"doxa-map","iframeUrl":"./doxa-simple-map/doxa-simple-map/prayer/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/prayer/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"engagement","title":"Engagement Map","apiBaseUrl":"https://pray.doxa.life","props":{"profile":"doxa-simple-map","instanceId":"embed-engagement","dataSource":"pray-tools","tabs":[{"id":"engagement","colorStrategy":"engagement","legend":"engagement","popup":"engagement"}]},"element":"doxa-map","iframeUrl":"./doxa-simple-map/doxa-simple-map/engagement/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/engagement/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"adoption","title":"Adoption Map","apiBaseUrl":"https://pray.doxa.life","props":{"profile":"doxa-simple-map","instanceId":"embed-adoption","dataSource":"pray-tools","tabs":[{"id":"adoption","colorStrategy":"adoption","legend":"adoption","popup":"adoption"}]},"element":"doxa-map","iframeUrl":"./doxa-simple-map/doxa-simple-map/adoption/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/adoption/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"gospel-resources","scriptUrl":"./gospel-resources/gospel-resources.js","output":"doxa-maps/gospel-resources/gospel-resources.js","integrity":"sha384-mV+vHb0OoS7EeSBZosPxpN5q4wxOZWglWqScjjxqrGYeWdKr7aJjhGeqatnb2NTX","elements":["gospel-resources-map"],"profiles":[{"profile":"charts","file":"charts.vue","description":"","element":"gospel-resources-map","iframeUrl":"./gospel-resources/charts/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/charts/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-mV+vHb0OoS7EeSBZosPxpN5q4wxOZWglWqScjjxqrGYeWdKr7aJjhGeqatnb2NTX\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"charts\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/gospel-resources-map>"}},{"profile":"data-tables","file":"data-tables.vue","description":"","element":"gospel-resources-map","iframeUrl":"./gospel-resources/data-tables/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/data-tables/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-mV+vHb0OoS7EeSBZosPxpN5q4wxOZWglWqScjjxqrGYeWdKr7aJjhGeqatnb2NTX\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/gospel-resources-map>"}},{"profile":"resources-list","file":"resources-list.vue","description":"","element":"gospel-resources-map","iframeUrl":"./gospel-resources/resources-list/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/resources-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-mV+vHb0OoS7EeSBZosPxpN5q4wxOZWglWqScjjxqrGYeWdKr7aJjhGeqatnb2NTX\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"resources-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/gospel-resources-map>"}},{"profile":"resources-map","file":"resources-map.vue","description":"","element":"gospel-resources-map","iframeUrl":"./gospel-resources/resources-map/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/resources-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-mV+vHb0OoS7EeSBZosPxpN5q4wxOZWglWqScjjxqrGYeWdKr7aJjhGeqatnb2NTX\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"resources-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/gospel-resources-map>"}}]},{"bundle":"my-upg-100-list","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","output":"doxa-maps/my-upg-100-list/my-upg-100-list.js","integrity":"sha384-dQSNqodw7Tc4Jj7fKEWMFG2Qd0jQOAAaGTkStPU1YThiRuTlSAKWvRKjWZHJGfdY","elements":["my-upg-100-list-map"],"profiles":[{"profile":"poster-wall","file":"poster-wall.vue","description":"","element":"my-upg-100-list-map","iframeUrl":"./my-upg-100-list/poster-wall/index.html","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","embed":{"iframe":"\u003ciframe src=\"./my-upg-100-list/poster-wall/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-dQSNqodw7Tc4Jj7fKEWMFG2Qd0jQOAAaGTkStPU1YThiRuTlSAKWvRKjWZHJGfdY\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/my-upg-100-list-map>"}},{"profile":"upg-100-list","file":"upg-100-list.vue","description":"","element":"my-upg-100-list-map","iframeUrl":"./my-upg-100-list/upg-100-list/index.html","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","embed":{"iframe":"\u003ciframe src=\"./my-upg-100-list/upg-100-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-dQSNqodw7Tc4Jj7fKEWMFG2Qd0jQOAAaGTkStPU1YThiRuTlSAKWvRKjWZHJGfdY\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"upg-100-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/my-upg-100-list-map>"}},{"profile":"upg-100-mfe","file":"upg-100-mfe.vue","description":"","element":"my-upg-100-list-map","iframeUrl":"./my-upg-100-list/upg-100-mfe/index.html","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","embed":{"iframe":"\u003ciframe src=\"./my-upg-100-list/upg-100-mfe/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-dQSNqodw7Tc4Jj7fKEWMFG2Qd0jQOAAaGTkStPU1YThiRuTlSAKWvRKjWZHJGfdY\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"upg-100-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/my-upg-100-list-map>"}}]},{"bundle":"research-dashboard","scriptUrl":"./research-dashboard/research-dashboard.js","output":"doxa-maps/research-dashboard/research-dashboard.js","integrity":"sha384-vc0eyZY70KkXAfbGXR7WTuG+vnrf6F+Q5n2EN90STiFqDBL2f0U5k2PfX9NyNlXv","elements":["research-dashboard-map"],"profiles":[{"profile":"research-dashboard","file":"research-dashboard.vue","description":"Coordinated-Multiple-Views research dashboard for 10/40-window UPGs (live pray.doxa.life): docked facet rail + map-as-hero + linked table/charts, brushing-and-linking over one in-memory store.","element":"research-dashboard-map","iframeUrl":"./research-dashboard/research-dashboard/index.html","scriptUrl":"./research-dashboard/research-dashboard.js","embed":{"iframe":"\u003ciframe src=\"./research-dashboard/research-dashboard/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./research-dashboard/research-dashboard.js\" integrity=\"sha384-vc0eyZY70KkXAfbGXR7WTuG+vnrf6F+Q5n2EN90STiFqDBL2f0U5k2PfX9NyNlXv\" crossorigin=\"anonymous\">\u003c/script>\n\u003cresearch-dashboard-map profile-config='{\"profile\":\"research-dashboard\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/research-dashboard-map>"},"bundle":"research-dashboard"}]},{"bundle":"template-bundle","scriptUrl":"./template-bundle/template-bundle.js","output":"doxa-maps/template-bundle/template-bundle.js","integrity":"sha384-QWFKdroBy8m2AbNlObiZP8cWs+mSHxRUGsFsdPCdmwk4NndJ/AY9pBLgwaVRNcA1","elements":["template-bundle"],"profiles":[{"profile":"template-map-a","file":"template-map-a.vue","description":"Minimal example profile A — a colored placeholder, no Mapbox or data.","element":"template-bundle","iframeUrl":"./template-bundle/template-map-a/index.html","scriptUrl":"./template-bundle/template-bundle.js","embed":{"iframe":"\u003ciframe src=\"./template-bundle/template-map-a/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./template-bundle/template-bundle.js\" integrity=\"sha384-QWFKdroBy8m2AbNlObiZP8cWs+mSHxRUGsFsdPCdmwk4NndJ/AY9pBLgwaVRNcA1\" crossorigin=\"anonymous\">\u003c/script>\n\u003ctemplate-bundle profile-config='{\"profile\":\"template-map-a\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/template-bundle>"},"bundle":"template-bundle"},{"profile":"template-map-b","file":"template-map-b.vue","description":"Minimal example profile B — a second profile in the same bundle.","element":"template-bundle","iframeUrl":"./template-bundle/template-map-b/index.html","scriptUrl":"./template-bundle/template-bundle.js","embed":{"iframe":"\u003ciframe src=\"./template-bundle/template-map-b/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./template-bundle/template-bundle.js\" integrity=\"sha384-QWFKdroBy8m2AbNlObiZP8cWs+mSHxRUGsFsdPCdmwk4NndJ/AY9pBLgwaVRNcA1\" crossorigin=\"anonymous\">\u003c/script>\n\u003ctemplate-bundle profile-config='{\"profile\":\"template-map-b\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/template-bundle>"},"bundle":"template-bundle"}]}]}; \n" + "script": "\n" }, "bundle": "all-people-groups" } @@ -80,7 +80,7 @@ "bundle": "country-posters", "scriptUrl": "./country-posters/country-posters.js", "output": "doxa-maps/country-posters/country-posters.js", - "integrity": "sha384-bk2y4nIN846GRfCxINvzkvkjg+OdKqVX8eINxCEszBozOMDUE8IYxB8lH5vxOzcl", + "integrity": "sha384-55+Ke4uM9UOSblliojP0Q/PjsXxJ4eeO2Pq8zSIC6m4wPq18T2QCSTyM1NMBz0bo", "elements": [ "country-posters-map" ], @@ -94,7 +94,7 @@ "scriptUrl": "./country-posters/country-posters.js", "embed": { "iframe": "", - "script": "\n" + "script": "\n" } }, { @@ -106,7 +106,7 @@ "scriptUrl": "./country-posters/country-posters.js", "embed": { "iframe": "", - "script": "\n" + "script": "\n" } } ] @@ -115,7 +115,7 @@ "bundle": "demo-map", "scriptUrl": "./demo-map/demo-map.js", "output": "doxa-maps/demo-map/demo-map.js", - "integrity": "sha384-F5c7VLcK3MaBSArgYJ1LCWGK0f7DtuMwGe5gwu3p8oTd1mK+9DWjMT7/NOCnsBk2", + "integrity": "sha384-GA5KpxntQ8Dm16XW3EFTfwVVAP3hR3/GuDN3H8rrUKrS7zWJMikEYOoA5Pqk8COy", "elements": [ "demo-map" ], @@ -129,7 +129,7 @@ "scriptUrl": "./demo-map/demo-map.js", "embed": { "iframe": "", - "script": "\n" + "script": "\n" }, "instances": [ { @@ -156,7 +156,7 @@ "bundle": "doxa-research-map", "scriptUrl": "./doxa-research-map/doxa-research-map.js", "output": "doxa-maps/doxa-research-map/doxa-research-map.js", - "integrity": "sha384-g7GG9zmr04YFhYGllNda1EVy3Ruklq8hyFZjjCjoAVe9kU8tgckuvlllf2egL+qT", + "integrity": "sha384-/v+43kKeEvsMUX//oDpIDN8+3l/NGhUJRGBg0jX9mNpIX/kTHZ/2Mss0oYGWlzeI", "elements": [ "doxa-research-map" ], @@ -170,7 +170,7 @@ "scriptUrl": "./doxa-research-map/doxa-research-map.js", "embed": { "iframe": "", - "script": "\n" + "script": "\n" } } ] @@ -179,7 +179,7 @@ "bundle": "doxa-simple-map", "scriptUrl": "./doxa-simple-map/doxa-simple-map.js", "output": "doxa-maps/doxa-simple-map/doxa-simple-map.js", - "integrity": "sha384-Swlj/HUeUd98P1xI7y0B2ZwhJqVjoJzMXfvIzJUUaLFOO4JmvYnIZz8Zy/V2/VG7", + "integrity": "sha384-PlKKpCWRvGpXosDd+yWeHGcGSUZg12corGjiRY9YiYby5k7YjT6FH0HGvWQiB+hi", "elements": [ "doxa-map", "doxa-simple-map" @@ -194,7 +194,7 @@ "scriptUrl": "./doxa-simple-map/doxa-simple-map.js", "embed": { "iframe": "", - "script": "\n" + "script": "\n" }, "instances": [ { @@ -333,7 +333,7 @@ "bundle": "my-upg-100-list", "scriptUrl": "./my-upg-100-list/my-upg-100-list.js", "output": "doxa-maps/my-upg-100-list/my-upg-100-list.js", - "integrity": "sha384-/p0vt7Ph0FgqC8X5JOjGgtT1QnLNssm4ECrJmVri3eSI/H/FsDqebfcvWFQUpuM1", + "integrity": "sha384-dQSNqodw7Tc4Jj7fKEWMFG2Qd0jQOAAaGTkStPU1YThiRuTlSAKWvRKjWZHJGfdY", "elements": [ "my-upg-100-list-map" ], @@ -347,7 +347,7 @@ "scriptUrl": "./my-upg-100-list/my-upg-100-list.js", "embed": { "iframe": "", - "script": "\n" + "script": "\n" } }, { @@ -359,7 +359,7 @@ "scriptUrl": "./my-upg-100-list/my-upg-100-list.js", "embed": { "iframe": "", - "script": "\n" + "script": "\n" } }, { @@ -371,7 +371,7 @@ "scriptUrl": "./my-upg-100-list/my-upg-100-list.js", "embed": { "iframe": "", - "script": "\n" + "script": "\n" } } ] @@ -380,7 +380,7 @@ "bundle": "research-dashboard", "scriptUrl": "./research-dashboard/research-dashboard.js", "output": "doxa-maps/research-dashboard/research-dashboard.js", - "integrity": "sha384-5KhuFaCshFng+ZQrxPi4K8lCE7nVf5AsRKRIBKO/aPuz+CIFm0CU4uSyJJRAUxZR", + "integrity": "sha384-vc0eyZY70KkXAfbGXR7WTuG+vnrf6F+Q5n2EN90STiFqDBL2f0U5k2PfX9NyNlXv", "elements": [ "research-dashboard-map" ], @@ -394,7 +394,7 @@ "scriptUrl": "./research-dashboard/research-dashboard.js", "embed": { "iframe": "", - "script": "\n" + "script": "\n" }, "bundle": "research-dashboard" } @@ -404,7 +404,7 @@ "bundle": "template-bundle", "scriptUrl": "./template-bundle/template-bundle.js", "output": "doxa-maps/template-bundle/template-bundle.js", - "integrity": "sha384-A6PDdMGrIY378lC1n26M3IgJT7nYf29hcZG8x469mG3Czl1d6eOoEz5BTYtKm8dh", + "integrity": "sha384-QWFKdroBy8m2AbNlObiZP8cWs+mSHxRUGsFsdPCdmwk4NndJ/AY9pBLgwaVRNcA1", "elements": [ "template-bundle" ], @@ -418,7 +418,7 @@ "scriptUrl": "./template-bundle/template-bundle.js", "embed": { "iframe": "", - "script": "\n" + "script": "\n" }, "bundle": "template-bundle" }, @@ -431,7 +431,7 @@ "scriptUrl": "./template-bundle/template-bundle.js", "embed": { "iframe": "", - "script": "\n" + "script": "\n" }, "bundle": "template-bundle" } diff --git a/public/doxa-maps/my-upg-100-list/index.html b/public/doxa-maps/my-upg-100-list/index.html index 1157f4d1a..0824b302f 100644 --- a/public/doxa-maps/my-upg-100-list/index.html +++ b/public/doxa-maps/my-upg-100-list/index.html @@ -130,7 +130,7 @@ header.top .sub { margin-top: 3px; font: 12px/1.4 var(--sans); color: var(--mut) + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"plugin-designs/*/*.vue","embedBase":".","bundleCount":10,"profileCount":19,"bundles":[{"bundle":"my-upg-100-list","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","output":"doxa-maps/my-upg-100-list/my-upg-100-list.js","integrity":"sha384-dQSNqodw7Tc4Jj7fKEWMFG2Qd0jQOAAaGTkStPU1YThiRuTlSAKWvRKjWZHJGfdY","elements":["my-upg-100-list-map"],"profiles":[{"profile":"poster-wall","file":"poster-wall.vue","description":"","element":"my-upg-100-list-map","iframeUrl":"./my-upg-100-list/poster-wall/index.html","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","embed":{"iframe":"\u003ciframe src=\"./my-upg-100-list/poster-wall/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-dQSNqodw7Tc4Jj7fKEWMFG2Qd0jQOAAaGTkStPU1YThiRuTlSAKWvRKjWZHJGfdY\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/my-upg-100-list-map>"}},{"profile":"upg-100-list","file":"upg-100-list.vue","description":"","element":"my-upg-100-list-map","iframeUrl":"./my-upg-100-list/upg-100-list/index.html","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","embed":{"iframe":"\u003ciframe src=\"./my-upg-100-list/upg-100-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-dQSNqodw7Tc4Jj7fKEWMFG2Qd0jQOAAaGTkStPU1YThiRuTlSAKWvRKjWZHJGfdY\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"upg-100-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/my-upg-100-list-map>"}},{"profile":"upg-100-mfe","file":"upg-100-mfe.vue","description":"","element":"my-upg-100-list-map","iframeUrl":"./my-upg-100-list/upg-100-mfe/index.html","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","embed":{"iframe":"\u003ciframe src=\"./my-upg-100-list/upg-100-mfe/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-dQSNqodw7Tc4Jj7fKEWMFG2Qd0jQOAAaGTkStPU1YThiRuTlSAKWvRKjWZHJGfdY\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"upg-100-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/my-upg-100-list-map>"}}]}]}; - + - + - + + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"plugin-designs/*/*.vue","embedBase":".","bundleCount":10,"profileCount":19,"bundles":[{"bundle":"research-dashboard","scriptUrl":"./research-dashboard/research-dashboard.js","output":"doxa-maps/research-dashboard/research-dashboard.js","integrity":"sha384-vc0eyZY70KkXAfbGXR7WTuG+vnrf6F+Q5n2EN90STiFqDBL2f0U5k2PfX9NyNlXv","elements":["research-dashboard-map"],"profiles":[{"profile":"research-dashboard","file":"research-dashboard.vue","description":"Coordinated-Multiple-Views research dashboard for 10/40-window UPGs (live pray.doxa.life): docked facet rail + map-as-hero + linked table/charts, brushing-and-linking over one in-memory store.","element":"research-dashboard-map","iframeUrl":"./research-dashboard/research-dashboard/index.html","scriptUrl":"./research-dashboard/research-dashboard.js","embed":{"iframe":"\u003ciframe src=\"./research-dashboard/research-dashboard/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./research-dashboard/research-dashboard.js\" integrity=\"sha384-vc0eyZY70KkXAfbGXR7WTuG+vnrf6F+Q5n2EN90STiFqDBL2f0U5k2PfX9NyNlXv\" crossorigin=\"anonymous\">\u003c/script>\n\u003cresearch-dashboard-map profile-config='{\"profile\":\"research-dashboard\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/research-dashboard-map>"},"bundle":"research-dashboard"}]}]}; - + + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"plugin-designs/*/*.vue","embedBase":".","bundleCount":10,"profileCount":19,"bundles":[{"bundle":"template-bundle","scriptUrl":"./template-bundle/template-bundle.js","output":"doxa-maps/template-bundle/template-bundle.js","integrity":"sha384-QWFKdroBy8m2AbNlObiZP8cWs+mSHxRUGsFsdPCdmwk4NndJ/AY9pBLgwaVRNcA1","elements":["template-bundle"],"profiles":[{"profile":"template-map-a","file":"template-map-a.vue","description":"Minimal example profile A — a colored placeholder, no Mapbox or data.","element":"template-bundle","iframeUrl":"./template-bundle/template-map-a/index.html","scriptUrl":"./template-bundle/template-bundle.js","embed":{"iframe":"\u003ciframe src=\"./template-bundle/template-map-a/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./template-bundle/template-bundle.js\" integrity=\"sha384-QWFKdroBy8m2AbNlObiZP8cWs+mSHxRUGsFsdPCdmwk4NndJ/AY9pBLgwaVRNcA1\" crossorigin=\"anonymous\">\u003c/script>\n\u003ctemplate-bundle profile-config='{\"profile\":\"template-map-a\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/template-bundle>"},"bundle":"template-bundle"},{"profile":"template-map-b","file":"template-map-b.vue","description":"Minimal example profile B — a second profile in the same bundle.","element":"template-bundle","iframeUrl":"./template-bundle/template-map-b/index.html","scriptUrl":"./template-bundle/template-bundle.js","embed":{"iframe":"\u003ciframe src=\"./template-bundle/template-map-b/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./template-bundle/template-bundle.js\" integrity=\"sha384-QWFKdroBy8m2AbNlObiZP8cWs+mSHxRUGsFsdPCdmwk4NndJ/AY9pBLgwaVRNcA1\" crossorigin=\"anonymous\">\u003c/script>\n\u003ctemplate-bundle profile-config='{\"profile\":\"template-map-b\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\"}'>\u003c/template-bundle>"},"bundle":"template-bundle"}]}]}; - + - +