@seqyuan/annovibe 0.8.136 → 0.8.138
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/app-path-routes-manifest.json +11 -15
- package/.next/build-manifest.json +6 -6
- package/.next/diagnostics/framework.json +1 -1
- package/.next/prerender-manifest.json +33 -3
- package/.next/react-loadable-manifest.json +60 -60
- package/.next/required-server-files.js +45 -10
- package/.next/required-server-files.json +45 -10
- package/.next/routes-manifest.json +0 -30
- package/.next/server/app/_global-error/page.js +6 -3
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.meta +24 -5
- package/.next/server/app/_global-error.rsc +19 -12
- package/.next/server/app/_global-error.segments/_full.segment.rsc +19 -12
- package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +25 -4
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +3 -1
- package/.next/server/app/_not-found/page.js +5 -2
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.meta +24 -5
- package/.next/server/app/_not-found.rsc +24 -16
- package/.next/server/app/_not-found.segments/_full.segment.rsc +24 -16
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +30 -4
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +4 -2
- package/.next/server/app/api/agent/[id]/events/route.js +2 -2
- package/.next/server/app/api/agent/[id]/prepare/route.js +1 -1
- package/.next/server/app/api/agent/[id]/route.js +1 -1
- package/.next/server/app/api/agent/new/route.js +2 -2
- package/.next/server/app/api/agent/running/events/route.js +2 -2
- package/.next/server/app/api/agent/running/route.js +1 -1
- package/.next/server/app/api/agent/runtime/route.js +1 -1
- package/.next/server/app/api/apps/[id]/[[...path]]/route.js +2 -2
- package/.next/server/app/api/apps/route.js +2 -2
- package/.next/server/app/api/auth/all-providers/route.js +1 -1
- package/.next/server/app/api/auth/api-key/[provider]/route.js +1 -1
- package/.next/server/app/api/auth/login/[provider]/route.js +2 -2
- package/.next/server/app/api/auth/login/route.js +1 -1
- package/.next/server/app/api/auth/logout/[provider]/route.js +1 -1
- package/.next/server/app/api/auth/providers/route.js +1 -1
- package/.next/server/app/api/auth/status/route.js +1 -1
- package/.next/server/app/api/auth/totp/route.js +1 -1
- package/.next/server/app/api/debug-models/route.js +1 -1
- package/.next/server/app/api/default-cwd/route.js +1 -1
- package/.next/server/app/api/file-index/route.js +1 -1
- package/.next/server/app/api/file-tree/delete/route.js +1 -1
- package/.next/server/app/api/file-tree/mkdir/route.js +1 -1
- package/.next/server/app/api/file-tree/rename/route.js +1 -1
- package/.next/server/app/api/file-tree/reveal/route.js +1 -1
- package/.next/server/app/api/file-tree/write/route.js +1 -1
- package/.next/server/app/api/file-watch/route.js +3 -3
- package/.next/server/app/api/files/[...path]/route.js +1 -1
- package/.next/server/app/api/harness/route.js +1 -1
- package/.next/server/app/api/home/route.js +1 -1
- package/.next/server/app/api/im/cancel/route.js +1 -1
- package/.next/server/app/api/im/gateway-status/route.js +1 -1
- package/.next/server/app/api/im/project/route.js +1 -1
- package/.next/server/app/api/im/projects/route.js +1 -1
- package/.next/server/app/api/im/session-ids/route.js +1 -1
- package/.next/server/app/api/im/turn/route.js +3 -3
- package/.next/server/app/api/images/upload/route.js +1 -1
- package/.next/server/app/api/internal/runtime/route.js +1 -1
- package/.next/server/app/api/memory/dismiss/route.js +3 -3
- package/.next/server/app/api/memory/promote/route.js +3 -3
- package/.next/server/app/api/models/route.js +1 -1
- package/.next/server/app/api/models-config/discover/route.js +1 -1
- package/.next/server/app/api/models-config/route.js +1 -1
- package/.next/server/app/api/models-config/test/route.js +1 -1
- package/.next/server/app/api/plot-kernels/route.js +1 -1
- package/.next/server/app/api/plot-kernels/save/route.js +1 -1
- package/.next/server/app/api/plot-kernels/status/route.js +1 -1
- package/.next/server/app/api/plot-kernels/stop/route.js +1 -1
- package/.next/server/app/api/plugins/route.js +1 -1
- package/.next/server/app/api/project-trust/route.js +1 -1
- package/.next/server/app/api/projects/browse/route.js +1 -1
- package/.next/server/app/api/projects/route.js +1 -1
- package/.next/server/app/api/search/route.js +1 -1
- package/.next/server/app/api/session-index/events/route.js +2 -2
- package/.next/server/app/api/sessions/[id]/auto-name/route.js +7 -8
- package/.next/server/app/api/sessions/[id]/context/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/export/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/media/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/shadowed/route.js +1 -1
- package/.next/server/app/api/sessions/new/route.js +1 -1
- package/.next/server/app/api/sessions/route.js +1 -1
- package/.next/server/app/api/settings/route.js +1 -1
- package/.next/server/app/api/skills/check/route.js +1 -1
- package/.next/server/app/api/skills/install/route.js +5 -5
- package/.next/server/app/api/skills/route.js +5 -5
- package/.next/server/app/api/skills/search/route.js +1 -1
- package/.next/server/app/api/skills/update/route.js +2 -2
- package/.next/server/app/api/smoke/prompt-admission/route.js +1 -1
- package/.next/server/app/api/soul/route.js +1 -1
- package/.next/server/app/api/subagents/status/route.js +1 -1
- package/.next/server/app/api/version/route.js +1 -1
- package/.next/server/app/favicon.ico/route.js +1 -1
- package/.next/server/app/favicon.ico.meta +1 -1
- package/.next/server/app/icon.svg/route.js +1 -1
- package/.next/server/app/icon.svg.meta +1 -1
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.meta +19 -4
- package/.next/server/app/index.rsc +33 -15
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +38 -5
- package/.next/server/app/index.segments/_full.segment.rsc +33 -15
- package/.next/server/app/index.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/login/page.js +5 -2
- package/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/login.html +1 -1
- package/.next/server/app/login.meta +24 -5
- package/.next/server/app/login.rsc +29 -20
- package/.next/server/app/login.segments/_full.segment.rsc +29 -20
- package/.next/server/app/login.segments/_tree.segment.rsc +4 -2
- package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +35 -8
- package/.next/server/app/page.js +14 -37
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/smoke/page.js +5 -6
- package/.next/server/app/smoke/page_client-reference-manifest.js +1 -1
- package/.next/server/app/smoke/session-stream/page.js +1 -2
- package/.next/server/app/smoke/session-stream/page_client-reference-manifest.js +1 -1
- package/.next/server/app/smoke/session-stream.html +1 -1
- package/.next/server/app/smoke/session-stream.meta +29 -6
- package/.next/server/app/smoke/session-stream.rsc +36 -20
- package/.next/server/app/smoke/session-stream.segments/_full.segment.rsc +36 -20
- package/.next/server/app/smoke/session-stream.segments/_tree.segment.rsc +5 -2
- package/.next/server/app/smoke/session-stream.segments/smoke/session-stream/__PAGE__.segment.rsc +43 -8
- package/.next/server/app/smoke.html +2 -2
- package/.next/server/app/smoke.meta +24 -5
- package/.next/server/app/smoke.rsc +37 -20
- package/.next/server/app/smoke.segments/_full.segment.rsc +37 -20
- package/.next/server/app/smoke.segments/_tree.segment.rsc +4 -2
- package/.next/server/app/smoke.segments/smoke/__PAGE__.segment.rsc +43 -8
- package/.next/server/app-paths-manifest.json +11 -15
- package/.next/server/chunks/1367.js +1 -1
- package/.next/server/chunks/1681.js +1 -1
- package/.next/server/chunks/1688.js +3 -3
- package/.next/server/chunks/1761.js +1 -1
- package/.next/server/chunks/1813.js +23 -1
- package/.next/server/chunks/2242.js +1 -1
- package/.next/server/chunks/2325.js +28 -28
- package/.next/server/chunks/2671.js +2 -2
- package/.next/server/chunks/2970.js +46 -0
- package/.next/server/chunks/402.js +1 -1
- package/.next/server/chunks/42.js +44 -44
- package/.next/server/chunks/4367.js +1 -1
- package/.next/server/chunks/4406.js +1 -1
- package/.next/server/chunks/4779.js +1 -0
- package/.next/server/chunks/4980.js +1 -1
- package/.next/server/chunks/5193.js +3 -3
- package/.next/server/chunks/5715.js +1 -1
- package/.next/server/chunks/5851.js +1 -1
- package/.next/server/chunks/6346.js +1 -1
- package/.next/server/chunks/6429.js +15 -15
- package/.next/server/chunks/6644.js +108 -0
- package/.next/server/chunks/707.js +1 -1
- package/.next/server/chunks/716.js +1 -1
- package/.next/server/chunks/7307.js +1 -1
- package/.next/server/chunks/7365.js +1 -1
- package/.next/server/chunks/7603.js +1 -0
- package/.next/server/chunks/7765.js +1 -1
- package/.next/server/chunks/7890.js +1 -1
- package/.next/server/chunks/8305.js +264 -0
- package/.next/server/chunks/8363.js +1 -1
- package/.next/server/chunks/8797.js +1 -1
- package/.next/server/chunks/8973.js +1 -1
- package/.next/server/chunks/9868.js +1 -1
- package/.next/server/chunks/static/media/pdf.worker.min.94f8ceaf.mjs +6 -0
- package/.next/server/functions-config-manifest.json +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/server/middleware.js +54 -6
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/prefetch-hints.json +86 -1
- package/.next/server/preview-props.json +5 -0
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/{0b9a0da7-9075af772487e743.js → 0b9a0da7-373b544740862358.js} +1 -1
- package/.next/static/chunks/{1209.6d037cb2674eafa2.js → 1209.4f7491c863d512f0.js} +1 -1
- package/.next/static/chunks/2170a4aa.4301f7c49f3f0a6e.js +1 -0
- package/.next/static/chunks/2254-db22997b60e1dc27.js +1 -0
- package/.next/static/chunks/2619.8f686be8e2479c20.js +1 -0
- package/.next/static/chunks/{2623.d20fabd8e18197c6.js → 2623.a6bf38491c50cb6e.js} +2 -2
- package/.next/static/chunks/2693-421c2e9d9c92a666.js +173 -0
- package/.next/static/chunks/{2774.0811cda036dfeb94.js → 2774.ba50ba9e8b3ebf4a.js} +1 -1
- package/.next/static/chunks/2821.d15f14bd03d9d290.js +1 -0
- package/.next/static/chunks/{291-bfdfc8bcf5d0a962.js → 291-e0c3c616f67fe126.js} +1 -1
- package/.next/static/chunks/{3307.e638f7fa43f28bac.js → 3307.c87aab94f4464604.js} +1 -1
- package/.next/static/chunks/363642f4-a09fcaca7af039e5.js +1 -0
- package/.next/static/chunks/{3689.0336d97dde6c9084.js → 3689.93592a22c737d185.js} +1 -1
- package/.next/static/chunks/3794-fba3f76785a3c234.js +52 -0
- package/.next/static/chunks/{425.9a3434a28926566a.js → 425.8fe80c34648b01ec.js} +1 -1
- package/.next/static/chunks/{4453.91a357dc43c21745.js → 4453.ba05c4805425ceeb.js} +1 -1
- package/.next/static/chunks/4936-799f05324bb5c236.js +1 -0
- package/.next/static/chunks/4bd1b696-8cd12253b448cc13.js +1 -0
- package/.next/static/chunks/51fb665c.b01d5a04c27e9091.js +45 -0
- package/.next/static/chunks/{547.902a733488cfe3f7.js → 547.0f08d4931c0f04a2.js} +1 -1
- package/.next/static/chunks/{5567.540d7fc108ad6ee5.js → 5567.6674301d1337d738.js} +1 -1
- package/.next/static/chunks/5618-8aecfc54df369be5.js +22 -0
- package/.next/static/chunks/{58bb9007.1ccb6bba34b4c635.js → 58bb9007.3d4e7356b1e96b6a.js} +28 -28
- package/.next/static/chunks/6121.333d793734b9abf7.js +1 -0
- package/.next/static/chunks/6586.775a449050e0e9cc.js +138 -0
- package/.next/static/chunks/{6696.a41aec266e657d54.js → 6696.345b3cd62db13cb6.js} +1 -1
- package/.next/static/chunks/{7874.8db6929b94cdf697.js → 7874.7faccf8fab087120.js} +1 -1
- package/.next/static/chunks/8489.514938fd5e801cf7.js +36 -0
- package/.next/static/chunks/{8863.8b769013468d83d4.js → 8863.2ae457485a63aa22.js} +1 -1
- package/.next/static/chunks/90542734.6b9fbcabf095d1a0.js +1 -0
- package/.next/static/chunks/9867-1b73c62e8b604095.js +260 -0
- package/.next/static/chunks/app/_global-error/page-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/agent/[id]/events/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/agent/[id]/prepare/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/agent/[id]/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/agent/new/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/agent/running/events/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/agent/running/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/agent/runtime/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/apps/[id]/[[...path]]/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/apps/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/auth/all-providers/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/auth/api-key/[provider]/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/auth/login/[provider]/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/auth/login/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/auth/logout/[provider]/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/auth/providers/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/auth/status/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/auth/totp/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/debug-models/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/default-cwd/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/file-index/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/file-tree/delete/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/file-tree/mkdir/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/file-tree/rename/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/file-tree/reveal/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/file-tree/write/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/file-watch/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/files/[...path]/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/harness/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/home/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/im/cancel/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/im/gateway-status/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/im/project/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/im/projects/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/im/session-ids/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/im/turn/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/images/upload/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/internal/runtime/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/memory/dismiss/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/memory/promote/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/models/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/models-config/discover/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/models-config/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/models-config/test/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/plot-kernels/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/plot-kernels/save/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/plot-kernels/status/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/plot-kernels/stop/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/plugins/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/project-trust/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/projects/browse/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/projects/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/search/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/session-index/events/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/context/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/export/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/media/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/shadowed/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/sessions/new/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/sessions/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/settings/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/skills/check/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/skills/install/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/skills/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/skills/search/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/skills/update/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/smoke/prompt-admission/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/soul/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/subagents/status/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/api/version/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/error-6309e3e4cdf79d40.js +3 -0
- package/.next/static/chunks/app/favicon.ico/route-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/app/global-error-7595c826cec2c048.js +3 -0
- package/.next/static/chunks/app/layout-31265427e43f6876.js +1 -0
- package/.next/static/chunks/app/page-2e2760a4cdaff534.js +22 -0
- package/.next/static/chunks/app/smoke/{page-32674afc320aa48b.js → page-82db33b4fdd2e0b4.js} +3 -3
- package/.next/static/chunks/framework-461b899b66554474.js +1 -0
- package/.next/static/chunks/main-4c5c62a3f03fc745.js +5 -0
- package/.next/static/chunks/main-app-a8a207cb34d209aa.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-ebf7ae60150d40d4.js +1 -0
- package/.next/static/chunks/{webpack-0d1f7348ddb20bdc.js → webpack-36fa69ae1e15e7ce.js} +1 -1
- package/.next/static/css/{738b0b1c24aae500.css → d68ecb6695873888.css} +1 -1
- package/.next/static/media/pdf.worker.min.7a62f52c.mjs +6 -0
- package/.next/static/r3Awszl0kNf_sRFX-3vDi/_buildManifest.js +1 -0
- package/bin/annovibe-im-gateway.js +98 -21
- package/bin/pi-web.js +16 -9
- package/package.json +3 -3
- package/.next/server/app/_global-error.segments/_global-error.segment.rsc +0 -5
- package/.next/server/app/_global-error.segments/_head.segment.rsc +0 -5
- package/.next/server/app/_global-error.segments/_index.segment.rsc +0 -5
- package/.next/server/app/_not-found.segments/_head.segment.rsc +0 -6
- package/.next/server/app/_not-found.segments/_index.segment.rsc +0 -7
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +0 -5
- package/.next/server/app/api/im/gateway-token/route.js +0 -1
- package/.next/server/app/api/im/gateway-token/route_client-reference-manifest.js +0 -1
- package/.next/server/app/api/sessions/[id]/kernel-state/route.js +0 -1
- package/.next/server/app/api/sessions/[id]/kernel-state/route_client-reference-manifest.js +0 -1
- package/.next/server/app/api/sessions/[id]/workbench-artifact/route.js +0 -1
- package/.next/server/app/api/sessions/[id]/workbench-artifact/route_client-reference-manifest.js +0 -1
- package/.next/server/app/api/sessions/[id]/workbench-review/route.js +0 -1
- package/.next/server/app/api/sessions/[id]/workbench-review/route_client-reference-manifest.js +0 -1
- package/.next/server/app/index.segments/_head.segment.rsc +0 -6
- package/.next/server/app/index.segments/_index.segment.rsc +0 -7
- package/.next/server/app/login.segments/_head.segment.rsc +0 -6
- package/.next/server/app/login.segments/_index.segment.rsc +0 -7
- package/.next/server/app/login.segments/login.segment.rsc +0 -5
- package/.next/server/app/smoke/session-stream.segments/_head.segment.rsc +0 -6
- package/.next/server/app/smoke/session-stream.segments/_index.segment.rsc +0 -7
- package/.next/server/app/smoke/session-stream.segments/smoke/session-stream.segment.rsc +0 -5
- package/.next/server/app/smoke/session-stream.segments/smoke.segment.rsc +0 -5
- package/.next/server/app/smoke.segments/_head.segment.rsc +0 -6
- package/.next/server/app/smoke.segments/_index.segment.rsc +0 -7
- package/.next/server/app/smoke.segments/smoke.segment.rsc +0 -5
- package/.next/server/chunks/2562.js +0 -12
- package/.next/server/chunks/4741.js +0 -18
- package/.next/server/chunks/63.js +0 -45
- package/.next/server/chunks/7303.js +0 -260
- package/.next/server/chunks/8304.js +0 -1
- package/.next/server/chunks/static/media/pdf.worker.min.c476e1a0.mjs +0 -6
- package/.next/static/chunks/2170a4aa.4213bb2183c9cdf9.js +0 -1
- package/.next/static/chunks/2254-fa3fcc88564ee18d.js +0 -1
- package/.next/static/chunks/2619.9aac8983f30c7c8a.js +0 -1
- package/.next/static/chunks/2693-52c358cf5d84b069.js +0 -173
- package/.next/static/chunks/2821.934bcf60fbdc28c6.js +0 -1
- package/.next/static/chunks/363642f4-dc35a7a659350f8e.js +0 -1
- package/.next/static/chunks/3794-123fdf632563f469.js +0 -32
- package/.next/static/chunks/4936-9558484c46c3ecc8.js +0 -1
- package/.next/static/chunks/4bd1b696-e356ca5ba0218e27.js +0 -1
- package/.next/static/chunks/51fb665c.e2bfdae35ef4d790.js +0 -45
- package/.next/static/chunks/5618-5e2e47e6ed401a75.js +0 -22
- package/.next/static/chunks/6121.f3f43f1896ea0cd9.js +0 -1
- package/.next/static/chunks/6586.8c2a88c2a55300d2.js +0 -138
- package/.next/static/chunks/8489.45f22859734f514f.js +0 -36
- package/.next/static/chunks/90542734.ecc36ada79772529.js +0 -1
- package/.next/static/chunks/9867-b1d15d9354f100e7.js +0 -260
- package/.next/static/chunks/app/_global-error/page-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/agent/[id]/events/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/agent/[id]/prepare/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/agent/[id]/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/agent/new/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/agent/running/events/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/agent/running/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/agent/runtime/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/apps/[id]/[[...path]]/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/apps/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/auth/all-providers/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/auth/api-key/[provider]/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/auth/login/[provider]/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/auth/login/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/auth/logout/[provider]/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/auth/providers/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/auth/status/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/auth/totp/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/debug-models/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/default-cwd/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/file-index/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/file-tree/delete/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/file-tree/mkdir/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/file-tree/rename/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/file-tree/reveal/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/file-tree/write/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/file-watch/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/files/[...path]/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/harness/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/home/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/im/cancel/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/im/gateway-status/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/im/gateway-token/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/im/project/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/im/projects/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/im/session-ids/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/im/turn/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/images/upload/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/internal/runtime/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/memory/dismiss/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/memory/promote/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/models/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/models-config/discover/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/models-config/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/models-config/test/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/plot-kernels/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/plot-kernels/save/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/plot-kernels/status/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/plot-kernels/stop/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/plugins/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/project-trust/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/projects/browse/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/projects/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/search/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/session-index/events/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/context/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/export/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/kernel-state/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/media/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/shadowed/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/workbench-artifact/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/workbench-review/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/sessions/new/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/sessions/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/settings/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/skills/check/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/skills/install/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/skills/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/skills/search/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/skills/update/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/smoke/prompt-admission/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/soul/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/subagents/status/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/api/version/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/favicon.ico/route-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/app/layout-101c4ccdf12880f0.js +0 -1
- package/.next/static/chunks/app/page-703d91d8bff67f70.js +0 -44
- package/.next/static/chunks/framework-594babcea68f40f6.js +0 -1
- package/.next/static/chunks/main-0371fd3122de9512.js +0 -5
- package/.next/static/chunks/main-app-8d81a93b58bb990f.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/global-error-a7f3f044c72f9137.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-dcc4d4b28dc1e9eb.js +0 -1
- package/.next/static/media/pdf.worker.min.29aaf158.mjs +0 -6
- package/.next/static/zeWki1Z47rqBkR2ph5H6N/_buildManifest.js +0 -1
- /package/.next/static/{zeWki1Z47rqBkR2ph5H6N → r3Awszl0kNf_sRFX-3vDi}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=8363,exports.ids=[8363],exports.modules={1970:(a,b,c)=>{c.d(b,{Eo:()=>R});var d=c(36554),e=c(44072),f=c(60230);let g="function"==typeof String.prototype.normalize?a=>a.normalize("NFKD"):a=>a;class h{constructor(a,b,c=0,d=a.length,e,f){this.test=f,this.value={from:0,to:0,precise:!1},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=a.iterRange(c,d),this.bufferStart=c,this.normalize=e?a=>e(g(a)):g,this.query=this.normalize(b)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return -1;this.bufferPos=0,this.buffer=this.iter.value}return(0,e.vS)(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let a=this.peek();if(a<0)return this.done=!0,this;let b=(0,e.MK)(a),c=this.bufferStart+this.bufferPos;this.bufferPos+=(0,e.Fh)(a);let d=this.normalize(b);if(d.length)for(let a=0,e=c,f=!0;;a++){let c=d.charCodeAt(a),g=this.match(c,e,f,this.bufferPos+this.bufferStart,a==d.length-1);if(g)return this.value=g,this;if(a==d.length-1)break;f&&a<b.length&&b.charCodeAt(a)==c?e++:f=!1}}}match(a,b,c,d,e){let f=null;for(let b=0;b<this.matches.length;){let c=this.matches[b],g=!1;this.query.charCodeAt(c.index)==a&&(c.index==this.query.length-1?f={from:c.from,to:d,precise:e&&c.precise}:(c.index++,g=!0)),g?b++:this.matches.splice(b,1)}return this.query.charCodeAt(0)==a&&(1==this.query.length?f={from:b,to:d,precise:c&&e}:this.matches.push({from:b,index:1,precise:c})),f&&this.test&&!this.test(f.from,f.to,this.buffer,this.bufferStart)&&(f=null),f}}"u">typeof Symbol&&(h.prototype[Symbol.iterator]=function(){return this});let i={from:-1,to:-1,match:/.*/.exec(""),precise:!0},j="gm"+(null==/x/.unicode?"":"u");class k{constructor(a,b,c,d=0,e=a.length){if(this.text=a,this.to=e,this.curLine="",this.done=!1,this.value=i,/\\[sWDnr]|\n|\r|\[\^/.test(b))return new n(a,b,c,d,e);this.re=new RegExp(b,j+((null==c?void 0:c.ignoreCase)?"i":"")),this.test=null==c?void 0:c.test,this.iter=a.iter();let f=a.lineAt(d);this.curLineStart=f.from,this.matchPos=o(a,d),this.getLine(this.curLineStart)}getLine(a){this.iter.next(a),this.iter.lineBreak?this.curLine="":(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let a=this.matchPos-this.curLineStart;;){this.re.lastIndex=a;let b=this.matchPos<=this.to&&this.re.exec(this.curLine);if(b){let c=this.curLineStart+b.index,d=c+b[0].length;if(this.matchPos=o(this.text,d+ +(c==d)),c==this.curLineStart+this.curLine.length&&this.nextLine(),(c<d||c>this.value.to)&&(!this.test||this.test(c,d,b)))return this.value={from:c,to:d,precise:!0,match:b},this;a=this.matchPos-this.curLineStart}else{if(!(this.curLineStart+this.curLine.length<this.to))return this.done=!0,this;this.nextLine(),a=0}}}}let l=new WeakMap;class m{constructor(a,b){this.from=a,this.text=b}get to(){return this.from+this.text.length}static get(a,b,c){let d=l.get(a);if(!d||d.from>=c||d.to<=b){let d=new m(b,a.sliceString(b,c));return l.set(a,d),d}if(d.from==b&&d.to==c)return d;let{text:e,from:f}=d;return f>b&&(e=a.sliceString(b,f)+e,f=b),d.to<c&&(e+=a.sliceString(d.to,c)),l.set(a,new m(f,e)),new m(b,e.slice(b-f,c-f))}}class n{constructor(a,b,c,d,e){this.text=a,this.to=e,this.done=!1,this.value=i,this.matchPos=o(a,d),this.re=new RegExp(b,j+((null==c?void 0:c.ignoreCase)?"i":"")),this.test=null==c?void 0:c.test,this.flat=m.get(a,d,this.chunkEnd(d+5e3))}chunkEnd(a){return a>=this.to?this.to:this.text.lineAt(a).to}next(){for(;;){let a=this.re.lastIndex=this.matchPos-this.flat.from,b=this.re.exec(this.flat.text);if(b&&!b[0]&&b.index==a&&(this.re.lastIndex=a+1,b=this.re.exec(this.flat.text)),b){let a=this.flat.from+b.index,c=a+b[0].length;if((this.flat.to>=this.to||b.index+b[0].length<=this.flat.text.length-10)&&(!this.test||this.test(a,c,b)))return this.value={from:a,to:c,precise:!0,match:b},this.matchPos=o(this.text,c+ +(a==c)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=m.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+2*this.flat.text.length))}}}function o(a,b){if(b>=a.length)return b;let c=a.lineAt(b),d;for(;b<c.to&&(d=c.text.charCodeAt(b-c.from))>=56320&&d<57344;)b++;return b}"u">typeof Symbol&&(k.prototype[Symbol.iterator]=n.prototype[Symbol.iterator]=function(){return this});let p=e.sj.define({combine:a=>(0,e.QR)(a,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:a=>new S(a),scrollToMatch:a=>d.Lz.scrollIntoView(a)})});class q{constructor(a){this.search=a.search,this.caseSensitive=!!a.caseSensitive,this.literal=!!a.literal,this.regexp=!!a.regexp,this.replace=a.replace||"",this.valid=!!this.search&&(!this.regexp||function(a){try{return new RegExp(a,j),!0}catch(a){return!1}}(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!a.wholeWord,this.test=a.test}unquote(a){return this.literal?a:a.replace(/\\([nrt\\])/g,(a,b)=>"n"==b?"\n":"r"==b?"\r":"t"==b?" ":"\\")}eq(a){return this.search==a.search&&this.replace==a.replace&&this.caseSensitive==a.caseSensitive&&this.regexp==a.regexp&&this.wholeWord==a.wholeWord&&this.test==a.test}create(){return this.regexp?new x(this):new t(this)}getCursor(a,b=0,c){let d=a.doc?a:e.$t.create({doc:a});return null==c&&(c=d.doc.length),this.regexp?u(this,d,b,c):s(this,d,b,c)}}class r{constructor(a){this.spec=a}}function s(a,b,c,d){var f,g,i,j;let k;return a.wholeWord&&(i=b.doc,j=b.charCategorizer(b.selection.main.head),k=(a,b,c,d)=>((d>a||d+c.length<b)&&(d=Math.max(0,a-2),c=i.sliceString(d,Math.min(i.length,b+2))),(j(v(c,a-d))!=e.Je.Word||j(w(c,a-d))!=e.Je.Word)&&(j(w(c,b-d))!=e.Je.Word||j(v(c,b-d))!=e.Je.Word))),a.test&&(f=a.test,g=k,k=(a,c,d,e)=>(!g||!!g(a,c,d,e))&&f(a>=e&&c<=e+d.length?d.slice(a-e,c-e):b.doc.sliceString(a,c),b,a,c)),new h(b.doc,a.unquoted,c,d,a.caseSensitive?void 0:a=>a.toLowerCase(),k)}class t extends r{constructor(a){super(a)}nextMatch(a,b,c){let d=s(this.spec,a,c,a.doc.length).nextOverlapping();if(d.done){let c=Math.min(a.doc.length,b+this.spec.unquoted.length);d=s(this.spec,a,0,c).nextOverlapping()}return d.done||d.value.from==b&&d.value.to==c?null:d.value}prevMatchInRange(a,b,c){for(let d=c;;){let c=Math.max(b,d-1e4-this.spec.unquoted.length),e=s(this.spec,a,c,d),f=null;for(;!e.nextOverlapping().done;)f=e.value;if(f)return f;if(c==b)return null;d-=1e4}}prevMatch(a,b,c){let d=this.prevMatchInRange(a,0,b);return d||(d=this.prevMatchInRange(a,Math.max(0,c-this.spec.unquoted.length),a.doc.length)),d&&(d.from!=b||d.to!=c)?d:null}getReplacement(a){return this.spec.unquote(this.spec.replace)}matchAll(a,b){let c=s(this.spec,a,0,a.doc.length),d=[];for(;!c.next().done;){if(d.length>=b)return null;d.push(c.value)}return d}highlight(a,b,c,d){let e=s(this.spec,a,Math.max(0,b-this.spec.unquoted.length),Math.min(c+this.spec.unquoted.length,a.doc.length));for(;!e.next().done;)d(e.value.from,e.value.to)}}function u(a,b,c,d){var f,g,h;let i;return a.wholeWord&&(h=b.charCategorizer(b.selection.main.head),i=(a,b,c)=>!c[0].length||(h(v(c.input,c.index))!=e.Je.Word||h(w(c.input,c.index))!=e.Je.Word)&&(h(w(c.input,c.index+c[0].length))!=e.Je.Word||h(v(c.input,c.index+c[0].length))!=e.Je.Word)),a.test&&(f=a.test,g=i,i=(a,c,d)=>(!g||g(a,c,d))&&f(d[0],b,a,c)),new k(b.doc,a.search,{ignoreCase:!a.caseSensitive,test:i},c,d)}function v(a,b){return a.slice((0,e.zK)(a,b,!1),b)}function w(a,b){return a.slice(b,(0,e.zK)(a,b))}class x extends r{nextMatch(a,b,c){let d=u(this.spec,a,c,a.doc.length).next();return d.done&&(d=u(this.spec,a,0,b).next()),d.done?null:d.value}prevMatchInRange(a,b,c){for(let d=1;;d++){let e=Math.max(b,c-1e4*d),f=u(this.spec,a,e,c),g=null;for(;!f.next().done;)g=f.value;if(g&&(e==b||g.from>e+10))return g;if(e==b)return null}}prevMatch(a,b,c){return this.prevMatchInRange(a,0,b)||this.prevMatchInRange(a,c,a.doc.length)}getReplacement(a){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(b,c)=>{if("&"==c)return a.match[0];if("$"==c)return"$";for(let b=c.length;b>0;b--){let d=+c.slice(0,b);if(d>0&&d<a.match.length)return a.match[d]+c.slice(b)}return b})}matchAll(a,b){let c=u(this.spec,a,0,a.doc.length),d=[];for(;!c.next().done;){if(d.length>=b)return null;d.push(c.value)}return d}highlight(a,b,c,d){let e=u(this.spec,a,Math.max(0,b-250),Math.min(c+250,a.doc.length));for(;!e.next().done;)d(e.value.from,e.value.to)}}let y=e.Pe.define(),z=e.Pe.define(),A=e.sU.define({create:a=>new B(M(a).create(),null),update(a,b){for(let c of b.effects)c.is(y)?a=new B(c.value.create(),a.panel):c.is(z)&&(a=new B(a.query,c.value?L:null));return a},provide:a=>d.S7.from(a,a=>a.panel)});class B{constructor(a,b){this.query=a,this.panel=b}}let C=d.NZ.mark({class:"cm-searchMatch"}),D=d.NZ.mark({class:"cm-searchMatch cm-searchMatch-selected"}),E=d.Z9.fromClass(class{constructor(a){this.view=a,this.decorations=this.highlight(a.state.field(A))}update(a){let b=a.state.field(A);(b!=a.startState.field(A)||a.docChanged||a.selectionSet||a.viewportChanged)&&(this.decorations=this.highlight(b))}highlight({query:a,panel:b}){if(!b||!a.spec.valid)return d.NZ.none;let{view:c}=this,f=new e.vB;for(let b=0,d=c.visibleRanges,e=d.length;b<e;b++){let{from:g,to:h}=d[b];for(;b<e-1&&h>d[b+1].from-500;)h=d[++b].to;a.highlight(c.state,g,h,(a,b)=>{let d=c.state.selection.ranges.some(c=>c.from==a&&c.to==b);f.add(a,b,d?D:C)})}return f.finish()}},{decorations:a=>a.decorations});function F(a){return b=>{let c=b.state.field(A,!1);return c&&c.query.spec.valid?a(b,c):P(b)}}let G=F((a,{query:b})=>{let{to:c}=a.state.selection.main,d=b.nextMatch(a.state,c,c);if(!d)return!1;let f=e.OF.single(d.from,d.to),g=a.state.facet(p);return a.dispatch({selection:f,effects:[V(a,d),g.scrollToMatch(f.main,a)],userEvent:"select.search"}),O(a),!0}),H=F((a,{query:b})=>{let{state:c}=a,{from:d}=c.selection.main,f=b.prevMatch(c,d,d);if(!f)return!1;let g=e.OF.single(f.from,f.to),h=a.state.facet(p);return a.dispatch({selection:g,effects:[V(a,f),h.scrollToMatch(g.main,a)],userEvent:"select.search"}),O(a),!0}),I=F((a,{query:b})=>{let c=b.matchAll(a.state,1e3);return!!c&&!!c.length&&(a.dispatch({selection:e.OF.create(c.map(a=>e.OF.range(a.from,a.to))),userEvent:"select.search.matches"}),!0)}),J=F((a,{query:b})=>{let{state:c}=a,{from:f,to:g}=c.selection.main;if(c.readOnly)return!1;let h=b.nextMatch(c,f,f);if(!h)return!1;let i=h,j=[],k,l,m=[];i.precise?i.from==f&&i.to==g&&(l=c.toText(b.getReplacement(i)),j.push({from:i.from,to:i.to,insert:l}),i=b.nextMatch(c,i.from,i.to),m.push(d.Lz.announce.of(c.phrase("replaced match on line $",c.doc.lineAt(f).number)+"."))):i=b.nextMatch(c,i.from,i.to);let n=a.state.changes(j);return i&&(k=e.OF.single(i.from,i.to).map(n),m.push(V(a,i)),m.push(c.facet(p).scrollToMatch(k.main,a))),a.dispatch({changes:n,selection:k,effects:m,userEvent:"input.replace"}),!0}),K=F((a,{query:b})=>{if(a.state.readOnly)return!1;let c=[];for(let d of b.matchAll(a.state,1e9)){let{from:a,to:e,precise:f}=d;f&&c.push({from:a,to:e,insert:b.getReplacement(d)})}if(!c.length)return!1;let e=a.state.phrase("replaced $ matches",c.length)+".";return a.dispatch({changes:c,effects:d.Lz.announce.of(e),userEvent:"input.replace.all"}),!0});function L(a){return a.state.facet(p).createPanel(a)}function M(a,b){var c,d,e,f,g;let h=a.selection.main,i=h.empty||h.to>h.from+100?"":a.sliceDoc(h.from,h.to);if(b&&!i)return b;let j=a.facet(p);return new q({search:(null!=(c=null==b?void 0:b.literal)?c:j.literal)?i:i.replace(/\n/g,"\\n"),caseSensitive:null!=(d=null==b?void 0:b.caseSensitive)?d:j.caseSensitive,literal:null!=(e=null==b?void 0:b.literal)?e:j.literal,regexp:null!=(f=null==b?void 0:b.regexp)?f:j.regexp,wholeWord:null!=(g=null==b?void 0:b.wholeWord)?g:j.wholeWord})}function N(a){let b=(0,d.ld)(a,L);return b&&b.dom.querySelector("[main-field]")}function O(a){let b=N(a);b&&b==a.root.activeElement&&b.select()}let P=a=>{let b=a.state.field(A,!1);if(b&&b.panel){let c=N(a);if(c&&c!=a.root.activeElement){let d=M(a.state,b.query.spec);d.valid&&a.dispatch({effects:y.of(d)}),c.focus(),c.select()}}else a.dispatch({effects:[z.of(!0),b?y.of(M(a.state,b.query.spec)):e.Pe.appendConfig.of(X)]});return!0},Q=a=>{let b=a.state.field(A,!1);if(!b||!b.panel)return!1;let c=(0,d.ld)(a,L);return c&&c.dom.contains(a.root.activeElement)&&a.focus(),a.dispatch({effects:z.of(!1)}),!0},R=[{key:"Mod-f",run:P,scope:"editor search-panel"},{key:"F3",run:G,shift:H,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:G,shift:H,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:Q,scope:"editor search-panel"},{key:"Mod-Shift-l",run:({state:a,dispatch:b})=>{let c=a.selection;if(c.ranges.length>1||c.main.empty)return!1;let{from:d,to:f}=c.main,g=[],i=0;for(let b=new h(a.doc,a.sliceDoc(d,f));!b.next().done;){if(g.length>1e3)return!1;b.value.from==d&&(i=g.length),g.push(e.OF.range(b.value.from,b.value.to))}return b(a.update({selection:e.OF.create(g,i),userEvent:"select.search.matches"})),!0}},{key:"Mod-Alt-g",run:a=>{let{state:b}=a,c=String(b.doc.lineAt(a.state.selection.main.head).number),{close:f,result:g}=(0,d.ui)(a,{label:b.phrase("Go to line"),input:{type:"text",name:"line",value:c},focus:!0,submitLabel:b.phrase("go")});return g.then(c=>{let g=c&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(c.elements.line.value);if(!g)return void a.dispatch({effects:f});let h=b.doc.lineAt(b.selection.main.head),[,i,j,k,l]=g,m=k?+k.slice(1):0,n=j?+j:h.number;if(j&&l){let a=n/100;i&&(a=a*("-"==i?-1:1)+h.number/b.doc.lines),n=Math.round(b.doc.lines*a)}else j&&i&&(n=n*("-"==i?-1:1)+h.number);let o=b.doc.line(Math.max(1,Math.min(b.doc.lines,n))),p=e.OF.cursor(o.from+Math.max(0,Math.min(m,o.length)));a.dispatch({effects:[f,d.Lz.scrollIntoView(p.from,{y:"center"})],selection:p})}),!0}},{key:"Mod-d",run:({state:a,dispatch:b})=>{let{ranges:c}=a.selection;if(c.some(a=>a.from===a.to))return(({state:a,dispatch:b})=>{let{selection:c}=a,d=e.OF.create(c.ranges.map(b=>a.wordAt(b.head)||e.OF.cursor(b.head)),c.mainIndex);return!d.eq(c)&&(b(a.update({selection:d})),!0)})({state:a,dispatch:b});let f=a.sliceDoc(c[0].from,c[0].to);if(a.selection.ranges.some(b=>a.sliceDoc(b.from,b.to)!=f))return!1;let g=function(a,b){let{main:c,ranges:d}=a.selection,e=a.wordAt(c.head),f=e&&e.from==c.from&&e.to==c.to;for(let c=!1,e=new h(a.doc,b,d[d.length-1].to);;)if(e.next(),e.done){if(c)return null;e=new h(a.doc,b,0,Math.max(0,d[d.length-1].from-1)),c=!0}else{if(c&&d.some(a=>a.from==e.value.from))continue;if(f){let b=a.wordAt(e.value.from);if(!b||b.from!=e.value.from||b.to!=e.value.to)continue}return e.value}}(a,f);return!!g&&(b(a.update({selection:a.selection.addRange(e.OF.range(g.from,g.to),!1),effects:d.Lz.scrollIntoView(g.to)})),!0)},preventDefault:!0}];class S{constructor(a){this.view=a;let b=this.query=a.state.field(A).query.spec;function c(a,b,c){return(0,f.A)("button",{class:"cm-button",name:a,onclick:b,type:"button"},c)}this.commit=this.commit.bind(this),this.searchField=(0,f.A)("input",{value:b.search,placeholder:T(a,"Find"),"aria-label":T(a,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=(0,f.A)("input",{value:b.replace,placeholder:T(a,"Replace"),"aria-label":T(a,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=(0,f.A)("input",{type:"checkbox",name:"case",form:"",checked:b.caseSensitive,onchange:this.commit}),this.reField=(0,f.A)("input",{type:"checkbox",name:"re",form:"",checked:b.regexp,onchange:this.commit}),this.wordField=(0,f.A)("input",{type:"checkbox",name:"word",form:"",checked:b.wholeWord,onchange:this.commit}),this.dom=(0,f.A)("div",{onkeydown:a=>this.keydown(a),class:"cm-search"},[this.searchField,c("next",()=>G(a),[T(a,"next")]),c("prev",()=>H(a),[T(a,"previous")]),c("select",()=>I(a),[T(a,"all")]),(0,f.A)("label",null,[this.caseField,T(a,"match case")]),(0,f.A)("label",null,[this.reField,T(a,"regexp")]),(0,f.A)("label",null,[this.wordField,T(a,"by word")]),...a.state.readOnly?[]:[(0,f.A)("br"),this.replaceField,c("replace",()=>J(a),[T(a,"replace")]),c("replaceAll",()=>K(a),[T(a,"replace all")])],(0,f.A)("button",{name:"close",onclick:()=>Q(a),"aria-label":T(a,"close"),type:"button"},["\xd7"])])}commit(){let a=new q({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});a.eq(this.query)||(this.query=a,this.view.dispatch({effects:y.of(a)}))}keydown(a){(0,d.TS)(this.view,a,"search-panel")?a.preventDefault():13==a.keyCode&&a.target==this.searchField?(a.preventDefault(),(a.shiftKey?H:G)(this.view)):13==a.keyCode&&a.target==this.replaceField&&(a.preventDefault(),J(this.view))}update(a){for(let b of a.transactions)for(let a of b.effects)a.is(y)&&!a.value.eq(this.query)&&this.setQuery(a.value)}setQuery(a){this.query=a,this.searchField.value=a.search,this.replaceField.value=a.replace,this.caseField.checked=a.caseSensitive,this.reField.checked=a.regexp,this.wordField.checked=a.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(p).top}}function T(a,b){return a.state.phrase(b)}let U=/[\s\.,:;?!]/;function V(a,{from:b,to:c}){let e=a.state.doc.lineAt(b),f=a.state.doc.lineAt(c).to,g=Math.max(e.from,b-30),h=Math.min(f,c+30),i=a.state.sliceDoc(g,h);if(g!=e.from){for(let a=0;a<30;a++)if(!U.test(i[a+1])&&U.test(i[a])){i=i.slice(a);break}}if(h!=f){for(let a=i.length-1;a>i.length-30;a--)if(!U.test(i[a-1])&&U.test(i[a])){i=i.slice(0,a);break}}return d.Lz.announce.of(`${a.state.phrase("current match")}. ${i} ${a.state.phrase("on line")} ${e.number}.`)}let W=d.Lz.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),X=[A,e.Nb.low(E),W]},6518:(a,b,c)=>{c.d(b,{Ar:()=>j,Gw:()=>ah,OO:()=>al,_5:()=>g,et:()=>i,yU:()=>ak});var d=c(44072),e=c(36554),f=c(17680);class g{constructor(a,b,c,d){this.state=a,this.pos=b,this.explicit=c,this.view=d,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(a){let b=(0,f.mv)(this.state).resolveInner(this.pos,-1);for(;b&&0>a.indexOf(b.name);)b=b.parent;return b?{from:b.from,to:this.pos,text:this.state.sliceDoc(b.from,this.pos),type:b.type}:null}matchBefore(a){let b=this.state.doc.lineAt(this.pos),c=Math.max(b.from,this.pos-250),d=b.text.slice(c-b.from,this.pos-b.from),e=d.search(m(a,!1));return e<0?null:{from:c+e,to:this.pos,text:d.slice(e)}}get aborted(){return null==this.abortListeners}addEventListener(a,b,c){"abort"==a&&this.abortListeners&&(this.abortListeners.push(b),c&&c.onDocChange&&(this.abortOnDocChange=!0))}}function h(a){let b=Object.keys(a).join(""),c=/\w/.test(b);return c&&(b=b.replace(/\w/g,"")),`[${c?"\\w":""}${b.replace(/[^\w\s]/g,"\\$&")}]`}function i(a){let b=a.map(a=>"string"==typeof a?{label:a}:a),[c,d]=b.every(a=>/^\w+$/.test(a.label))?[/\w*$/,/\w+$/]:function(a){let b=Object.create(null),c=Object.create(null);for(let{label:d}of a){b[d[0]]=!0;for(let a=1;a<d.length;a++)c[d[a]]=!0}let d=h(b)+h(c)+"*$";return[RegExp("^"+d),new RegExp(d)]}(b);return a=>{let e=a.matchBefore(d);return e||a.explicit?{from:e?e.from:a.pos,options:b,validFor:c}:null}}function j(a,b){return c=>{for(let b=(0,f.mv)(c.state).resolveInner(c.pos,-1);b;b=b.parent){if(a.indexOf(b.name)>-1)return null;if(b.type.isTop)break}return b(c)}}class k{constructor(a,b,c,d){this.completion=a,this.source=b,this.match=c,this.score=d}}function l(a){return a.selection.main.from}function m(a,b){var c;let{source:d}=a,e=b&&"^"!=d[0],f="$"!=d[d.length-1];return e||f?RegExp(`${e?"^":""}(?:${d})${f?"$":""}`,null!=(c=a.flags)?c:a.ignoreCase?"i":""):a}let n=d.YH.define(),o=new WeakMap;function p(a){if(!Array.isArray(a))return a;let b=o.get(a);return b||o.set(a,b=i(a)),b}let q=d.Pe.define(),r=d.Pe.define();class s{constructor(a){this.pattern=a,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let b=0;b<a.length;){let c=(0,d.vS)(a,b),e=(0,d.Fh)(c);this.chars.push(c);let f=a.slice(b,b+e),g=f.toUpperCase();this.folded.push((0,d.vS)(g==f?f.toLowerCase():g,0)),b+=e}this.astral=a.length!=this.chars.length}ret(a,b){return this.score=a,this.matched=b,this}match(a){if(0==this.pattern.length)return this.ret(-100,[]);if(a.length<this.pattern.length)return null;let{chars:b,folded:c,any:e,precise:f,byWord:g}=this;if(1==b.length){let e=(0,d.vS)(a,0),f=(0,d.Fh)(e),g=f==a.length?0:-100;if(e==b[0]);else{if(e!=c[0])return null;g+=-200}return this.ret(g,[0,f])}let h=a.indexOf(this.pattern);if(0==h)return this.ret(a.length==this.pattern.length?0:-100,[0,this.pattern.length]);let i=b.length,j=0;if(h<0){for(let f=0,g=Math.min(a.length,200);f<g&&j<i;){let g=(0,d.vS)(a,f);(g==b[j]||g==c[j])&&(e[j++]=f),f+=(0,d.Fh)(g)}if(j<i)return null}let k=0,l=0,m=!1,n=0,o=-1,p=-1,q=/[a-z]/.test(a),r=!0;for(let e=0,j=Math.min(a.length,200),s=0;e<j&&l<i;){let j=(0,d.vS)(a,e);h<0&&(k<i&&j==b[k]&&(f[k++]=e),n<i&&(j==b[n]||j==c[n]?(0==n&&(o=e),p=e+1,n++):n=0));let t,u=j<255?j>=48&&j<=57||j>=97&&j<=122?2:+(j>=65&&j<=90):(t=(0,d.MK)(j))!=t.toLowerCase()?1:2*(t!=t.toUpperCase());(!e||1==u&&q||0==s&&0!=u)&&(b[l]==j||c[l]==j&&(m=!0)?g[l++]=e:g.length&&(r=!1)),s=u,e+=(0,d.Fh)(j)}return l==i&&0==g[0]&&r?this.result(-100+(m?-200:0),g,a):n==i&&0==o?this.ret(-200-a.length+(p==a.length?0:-100),[0,p]):h>-1?this.ret(-700-a.length,[h,h+this.pattern.length]):n==i?this.ret(-900-a.length,[o,p]):l==i?this.result(-100+(m?-200:0)+-700+(r?0:-1100),g,a):2==b.length?null:this.result((e[0]?-700:0)+-200+-1100,e,a)}result(a,b,c){let e=[],f=0;for(let a of b){let b=a+(this.astral?(0,d.Fh)((0,d.vS)(c,a)):1);f&&e[f-1]==a?e[f-1]=b:(e[f++]=a,e[f++]=b)}return this.ret(a-c.length,e)}}class t{constructor(a){this.pattern=a,this.matched=[],this.score=0,this.folded=a.toLowerCase()}match(a){if(a.length<this.pattern.length)return null;let b=a.slice(0,this.pattern.length),c=b==this.pattern?0:b.toLowerCase()==this.folded?-200:null;return null==c?null:(this.matched=[0,b.length],this.score=c+(a.length==this.pattern.length?0:-100),this)}}let u=d.sj.define({combine:a=>(0,d.QR)(a,{activateOnTyping:!0,activateOnCompletion:()=>!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:w,filterStrict:!1,compareCompletions:(a,b)=>(a.sortText||a.label).localeCompare(b.sortText||b.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(a,b)=>a&&b,closeOnBlur:(a,b)=>a&&b,icons:(a,b)=>a&&b,tooltipClass:(a,b)=>c=>v(a(c),b(c)),optionClass:(a,b)=>c=>v(a(c),b(c)),addToOptions:(a,b)=>a.concat(b),filterStrict:(a,b)=>a||b})});function v(a,b){return a?b?a+" "+b:a:b}function w(a,b,c,d,f,g){let h=a.textDirection==e.OP.RTL,i=h,j=!1,k="top",l,m,n=b.left-f.left,o=f.right-b.right,p=d.right-d.left,q=d.bottom-d.top;if(i&&n<Math.min(p,o)?i=!1:!i&&o<Math.min(p,n)&&(i=!0),p<=(i?n:o))l=Math.max(f.top,Math.min(c.top,f.bottom-q))-b.top,m=Math.min(400,i?n:o);else{j=!0,m=Math.min(400,(h?b.right:f.right-b.left)-30);let a=f.bottom-b.bottom;a>=q||a>b.top?l=c.bottom-b.top:(k="bottom",l=b.bottom-c.top)}let r=(b.bottom-b.top)/g.offsetHeight,s=(b.right-b.left)/g.offsetWidth;return{style:`${k}: ${l/r}px; max-width: ${m/s}px`,class:"cm-completionInfo-"+(j?h?"left-narrow":"right-narrow":i?"left":"right")}}let x=d.Pe.define();function y(a,b,c){if(a<=c)return{from:0,to:a};if(b<0&&(b=0),b<=a>>1){let a=Math.floor(b/c);return{from:a*c,to:(a+1)*c}}let d=Math.ceil((a-b)/c);return{from:a-d*c,to:a-(d-1)*c}}class z{constructor(a,b,c){this.view=a,this.stateField=b,this.applyCompletion=c,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:a=>this.placeInfo(a),key:this},this.space=null,this.currentClass="";let d=a.state.field(b),{options:e,selected:f}=d.open,g=a.state.facet(u);this.optionContent=function(a){let b=a.addToOptions.slice();return a.icons&&b.push({render(a){let b=document.createElement("div");return b.classList.add("cm-completionIcon"),a.type&&b.classList.add(...a.type.split(/\s+/g).map(a=>"cm-completionIcon-"+a)),b.setAttribute("aria-hidden","true"),b},position:20}),b.push({render(a,b,c,d){let e=document.createElement("span");e.className="cm-completionLabel";let f=a.displayLabel||a.label,g=0;for(let a=0;a<d.length;){let b=d[a++],c=d[a++];b>g&&e.appendChild(document.createTextNode(f.slice(g,b)));let h=e.appendChild(document.createElement("span"));h.appendChild(document.createTextNode(f.slice(b,c))),h.className="cm-completionMatchedText",g=c}return g<f.length&&e.appendChild(document.createTextNode(f.slice(g))),e},position:50},{render(a){if(!a.detail)return null;let b=document.createElement("span");return b.className="cm-completionDetail",b.textContent=a.detail,b},position:80}),b.sort((a,b)=>a.position-b.position).map(a=>a.render)}(g),this.optionClass=g.optionClass,this.tooltipClass=g.tooltipClass,this.range=y(e.length,f,g.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(a.state),this.dom.addEventListener("mousedown",c=>{let{options:d}=a.state.field(b).open;for(let b=c.target,e;b&&b!=this.dom;b=b.parentNode)if("LI"==b.nodeName&&(e=/-(\d+)$/.exec(b.id))&&+e[1]<d.length){this.applyCompletion(a,d[+e[1]]),c.preventDefault();return}if(c.target==this.list){let b=this.list.classList.contains("cm-completionListIncompleteTop")&&c.clientY<this.list.firstChild.getBoundingClientRect().top?this.range.from-1:this.list.classList.contains("cm-completionListIncompleteBottom")&&c.clientY>this.list.lastChild.getBoundingClientRect().bottom?this.range.to:null;null!=b&&(a.dispatch({effects:x.of(b)}),c.preventDefault())}}),this.dom.addEventListener("focusout",b=>{let c=a.state.field(this.stateField,!1);c&&c.tooltip&&a.state.facet(u).closeOnBlur&&b.relatedTarget!=a.contentDOM&&a.dispatch({effects:r.of(null)})}),this.showOptions(e,d.id)}mount(){this.updateSel()}showOptions(a,b){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(a,b,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(a){var b;let c=a.state.field(this.stateField),d=a.startState.field(this.stateField);if(this.updateTooltipClass(a.state),c!=d){let{options:e,selected:f,disabled:g}=c.open;d.open&&d.open.options==e||(this.range=y(e.length,f,a.state.facet(u).maxRenderedOptions),this.showOptions(e,c.id)),this.updateSel(),g!=(null==(b=d.open)?void 0:b.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!g)}}updateTooltipClass(a){let b=this.tooltipClass(a);if(b!=this.currentClass){for(let a of this.currentClass.split(" "))a&&this.dom.classList.remove(a);for(let a of b.split(" "))a&&this.dom.classList.add(a);this.currentClass=b}}positioned(a){this.space=a,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let a=this.view.state.field(this.stateField),b=a.open;(b.selected>-1&&b.selected<this.range.from||b.selected>=this.range.to)&&(this.range=y(b.options.length,b.selected,this.view.state.facet(u).maxRenderedOptions),this.showOptions(b.options,a.id));let c=this.updateSelectedOption(b.selected);if(c){this.destroyInfo();let{completion:d}=b.options[b.selected],{info:f}=d;if(!f)return;let g="string"==typeof f?document.createTextNode(f):f(d);if(!g)return;"then"in g?g.then(b=>{b&&this.view.state.field(this.stateField,!1)==a&&this.addInfoPane(b,d)}).catch(a=>(0,e.c_)(this.view.state,a,"completion info")):(this.addInfoPane(g,d),c.setAttribute("aria-describedby",this.info.id))}}addInfoPane(a,b){this.destroyInfo();let c=this.info=document.createElement("div");if(c.className="cm-tooltip cm-completionInfo",c.id="cm-completionInfo-"+Math.floor(65535*Math.random()).toString(16),null!=a.nodeType)c.appendChild(a),this.infoDestroy=null;else{let{dom:b,destroy:d}=a;c.appendChild(b),this.infoDestroy=d||null}this.dom.appendChild(c),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(a){var b,c;let d,e,f,g=null;for(let b=this.list.firstChild,c=this.range.from;b;b=b.nextSibling,c++)"LI"==b.nodeName&&b.id?c==a?b.hasAttribute("aria-selected")||(b.setAttribute("aria-selected","true"),g=b):b.hasAttribute("aria-selected")&&(b.removeAttribute("aria-selected"),b.removeAttribute("aria-describedby")):c--;return g&&(b=this.list,c=g,d=b.getBoundingClientRect(),e=c.getBoundingClientRect(),f=d.height/b.offsetHeight,e.top<d.top?b.scrollTop-=(d.top-e.top)/f:e.bottom>d.bottom&&(b.scrollTop+=(e.bottom-d.bottom)/f)),g}measureInfo(){let a=this.dom.querySelector("[aria-selected]");if(!a||!this.info)return null;let b=this.dom.getBoundingClientRect(),c=this.info.getBoundingClientRect(),d=a.getBoundingClientRect(),e=this.space;if(!e){let a=this.dom.ownerDocument.documentElement;e={left:0,top:0,right:a.clientWidth,bottom:a.clientHeight}}return d.top>Math.min(e.bottom,b.bottom)-10||d.bottom<Math.max(e.top,b.top)+10?null:this.view.state.facet(u).positionInfo(this.view,b,d,c,e,this.dom)}placeInfo(a){this.info&&(a?(a.style&&(this.info.style.cssText=a.style),this.info.className="cm-tooltip cm-completionInfo "+(a.class||"")):this.info.style.cssText="top: -1e6px")}createListBox(a,b,c){let d=document.createElement("ul");d.id=b,d.setAttribute("role","listbox"),d.setAttribute("aria-expanded","true"),d.setAttribute("aria-label",this.view.state.phrase("Completions")),d.addEventListener("mousedown",a=>{a.target==d&&a.preventDefault()});let e=null;for(let f=c.from;f<c.to;f++){let{completion:g,match:h}=a[f],{section:i}=g;if(i){let a="string"==typeof i?i:i.name;a!=e&&(f>c.from||0==c.from)&&(e=a,"string"!=typeof i&&i.header?d.appendChild(i.header(i)):d.appendChild(document.createElement("completion-section")).textContent=a)}let j=d.appendChild(document.createElement("li"));j.id=b+"-"+f,j.setAttribute("role","option");let k=this.optionClass(g);for(let a of(k&&(j.className=k),this.optionContent)){let b=a(g,this.view.state,this.view,h);b&&j.appendChild(b)}}return c.from&&d.classList.add("cm-completionListIncompleteTop"),c.to<a.length&&d.classList.add("cm-completionListIncompleteBottom"),d}destroyInfo(){this.info&&(this.infoDestroy&&this.infoDestroy(),this.info.remove(),this.info=null)}destroy(){this.destroyInfo()}}function A(a){return 100*(a.boost||0)+10*!!a.apply+5*!!a.info+ +!!a.type}class B{constructor(a,b,c,d,e,f){this.options=a,this.attrs=b,this.tooltip=c,this.timestamp=d,this.selected=e,this.disabled=f}setSelected(a,b){return a==this.selected||a>=this.options.length?this:new B(this.options,F(b,a),this.tooltip,this.timestamp,a,this.disabled)}static build(a,b,c,d,e,f){if(d&&!f&&a.some(a=>a.isPending))return d.setDisabled();let g=function(a,b){let c=[],d=null,e=null,f=a=>{c.push(a);let{section:b}=a.completion;if(b){d||(d=[]);let a="string"==typeof b?b:b.name;d.some(b=>b.name==a)||d.push("string"==typeof b?{name:a}:b)}},g=b.facet(u);for(let d of a)if(d.hasResult()){let a=d.result.getMatch;if(!1===d.result.filter)for(let b of d.result.options)f(new k(b,d.source,a?a(b):[],1e9-c.length));else{let c=b.sliceDoc(d.from,d.to),h,i=g.filterStrict?new t(c):new s(c);for(let b of d.result.options)if(h=i.match(b.label)){let c=b.displayLabel?a?a(b,h.matched):[]:h.matched,g=h.score+(b.boost||0);if(f(new k(b,d.source,c,g)),"object"==typeof b.section&&"dynamic"===b.section.rank){let{name:a}=b.section;e||(e=Object.create(null)),e[a]=Math.max(g,e[a]||-1e9)}}}}if(d){let a=Object.create(null),b=0;for(let c of d.sort((a,b)=>("dynamic"===a.rank&&"dynamic"===b.rank?e[b.name]-e[a.name]:0)||("number"==typeof a.rank?a.rank:1e9)-("number"==typeof b.rank?b.rank:1e9)||(a.name<b.name?-1:1)))b-=1e5,a[c.name]=b;for(let b of c){let{section:c}=b.completion;c&&(b.score+=a["string"==typeof c?c:c.name])}}let h=[],i=null,j=g.compareCompletions;for(let a of c.sort((a,b)=>b.score-a.score||j(a.completion,b.completion))){let b=a.completion;i&&i.label==b.label&&i.detail==b.detail&&(null==i.type||null==b.type||i.type==b.type)&&i.apply==b.apply&&i.boost==b.boost?A(a.completion)>A(i)&&(h[h.length-1]=a):h.push(a),i=a.completion}return h}(a,b);if(!g.length)return d&&a.some(a=>a.isPending)?d.setDisabled():null;let h=b.facet(u).selectOnOpen?0:-1;if(d&&d.selected!=h&&-1!=d.selected){let a=d.options[d.selected].completion;for(let b=0;b<g.length;b++)if(g[b].completion==a){h=b;break}}return new B(g,F(c,h),{pos:a.reduce((a,b)=>b.hasResult()?Math.min(a,b.from):a,1e8),create:N,above:e.aboveCursor},d?d.timestamp:Date.now(),h,!1)}map(a){return new B(this.options,this.attrs,{...this.tooltip,pos:a.mapPos(this.tooltip.pos)},this.timestamp,this.selected,this.disabled)}setDisabled(){return new B(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}}class C{constructor(a,b,c){this.active=a,this.id=b,this.open=c}static start(){return new C(G,"cm-ac-"+Math.floor(2e6*Math.random()).toString(36),null)}update(a){let{state:b}=a,c=b.facet(u),d=(c.override||b.languageDataAt("autocomplete",l(b)).map(p)).map(b=>(this.active.find(a=>a.source==b)||new I(b,+!!this.active.some(a=>0!=a.state))).update(a,c));d.length==this.active.length&&d.every((a,b)=>a==this.active[b])&&(d=this.active);let e=this.open,f=a.effects.some(a=>a.is(K));for(let g of(e&&a.docChanged&&(e=e.map(a.changes)),a.selection||d.some(b=>b.hasResult()&&a.changes.touchesRange(b.from,b.to))||!function(a,b){if(a==b)return!0;for(let c=0,d=0;;){for(;c<a.length&&!a[c].hasResult();)c++;for(;d<b.length&&!b[d].hasResult();)d++;let e=c==a.length,f=d==b.length;if(e||f)return e==f;if(a[c++].result!=b[d++].result)return!1}}(d,this.active)||f?e=B.build(d,b,this.id,e,c,f):e&&e.disabled&&!d.some(a=>a.isPending)&&(e=null),!e&&d.every(a=>!a.isPending)&&d.some(a=>a.hasResult())&&(d=d.map(a=>a.hasResult()?new I(a.source,0):a)),a.effects))g.is(x)&&(e=e&&e.setSelected(g.value,this.id));return d==this.active&&e==this.open?this:new C(d,this.id,e)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?D:E}}let D={"aria-autocomplete":"list"},E={};function F(a,b){let c={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":a};return b>-1&&(c["aria-activedescendant"]=a+"-"+b),c}let G=[];function H(a,b){if(a.isUserEvent("input.complete")){let c=a.annotation(n);if(c&&b.activateOnCompletion(c))return 12}let c=a.isUserEvent("input.type");return c&&b.activateOnTyping?5:c?1:a.isUserEvent("delete.backward")?2:a.selection?8:16*!!a.docChanged}class I{constructor(a,b,c=!1){this.source=a,this.state=b,this.explicit=c}hasResult(){return!1}get isPending(){return 1==this.state}update(a,b){let c=H(a,b),d=this;for(let b of((8&c||16&c&&this.touches(a))&&(d=new I(d.source,0)),4&c&&0==d.state&&(d=new I(this.source,1)),d=d.updateFor(a,c),a.effects))if(b.is(q))d=new I(d.source,1,b.value);else if(b.is(r))d=new I(d.source,0);else if(b.is(K))for(let a of b.value)a.source==d.source&&(d=a);return d}updateFor(a,b){return this.map(a.changes)}map(a){return this}touches(a){return a.changes.touchesRange(l(a.state))}}class J extends I{constructor(a,b,c,d,e,f){super(a,3,b),this.limit=c,this.result=d,this.from=e,this.to=f}hasResult(){return!0}updateFor(a,b){var c;if(!(3&b))return this.map(a.changes);let d=this.result;d.map&&!a.changes.empty&&(d=d.map(d,a.changes));let e=a.changes.mapPos(this.from),f=a.changes.mapPos(this.to,1),h=l(a.state);if(h>f||!d||2&b&&(l(a.startState)==this.from||h<this.limit))return new I(this.source,4&b?1:0);let i=a.changes.mapPos(this.limit);return!function(a,b,c,d){if(!a)return!1;let e=b.sliceDoc(c,d);return"function"==typeof a?a(e,c,d,b):m(a,!0).test(e)}(d.validFor,a.state,e,f)?d.update&&(d=d.update(d,e,f,new g(a.state,h,!1)))?new J(this.source,this.explicit,i,d,d.from,null!=(c=d.to)?c:l(a.state)):new I(this.source,1,this.explicit):new J(this.source,this.explicit,i,d,e,f)}map(a){if(a.empty)return this;let b=this.result.map?this.result.map(this.result,a):this.result;return b?new J(this.source,this.explicit,a.mapPos(this.limit),b,a.mapPos(this.from),a.mapPos(this.to,1)):new I(this.source,0)}touches(a){return a.changes.touchesRange(this.from,this.to)}}let K=d.Pe.define({map:(a,b)=>a.map(a=>a.map(b))}),L=d.sU.define({create:()=>C.start(),update:(a,b)=>a.update(b),provide:a=>[e.DK.from(a,a=>a.tooltip),e.Lz.contentAttributes.from(a,a=>a.attrs)]});function M(a,b){let c=b.completion.apply||b.completion.label,e=a.state.field(L).active.find(a=>a.source==b.source);return e instanceof J&&("string"==typeof c?a.dispatch({...function(a,b,c,e){let{main:f}=a.selection,g=c-f.from,h=e-f.from;return{...a.changeByRange(i=>{if(i!=f&&c!=e&&a.sliceDoc(i.from+g,i.from+h)!=a.sliceDoc(c,e))return{range:i};let j=a.toText(b);return{changes:{from:i.from+g,to:e==f.from?i.to:i.from+h,insert:j},range:d.OF.cursor(i.from+g+j.length)}}),scrollIntoView:!0,userEvent:"input.complete"}}(a.state,c,e.from,e.to),annotations:n.of(b.completion)}):c(a,b.completion,e.from,e.to),!0)}let N=a=>new z(a,L,M);function O(a,b="option"){return c=>{let d=c.state.field(L,!1);if(!d||!d.open||d.open.disabled||Date.now()-d.open.timestamp<c.state.facet(u).interactionDelay)return!1;let f=1,g;"page"==b&&(g=(0,e.Eg)(c,d.open.tooltip))&&(f=Math.max(2,Math.floor(g.dom.offsetHeight/g.dom.querySelector("li").offsetHeight)-1));let{length:h}=d.open.options,i=d.open.selected>-1?d.open.selected+f*(a?1:-1):a?0:h-1;return i<0?i="page"==b?0:h-1:i>=h&&(i="page"==b?h-1:0),c.dispatch({effects:x.of(i)}),!0}}let P=a=>!!a.state.field(L,!1)&&(a.dispatch({effects:q.of(!0)}),!0);class Q{constructor(a,b){this.active=a,this.context=b,this.time=Date.now(),this.updates=[],this.done=void 0}}let R=e.Z9.fromClass(class{constructor(a){for(let b of(this.view=a,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0,a.state.field(L).active))b.isPending&&this.startQuery(b)}update(a){let b=a.state.field(L),c=a.state.facet(u);if(!a.selectionSet&&!a.docChanged&&a.startState.field(L)==b)return;let d=a.transactions.some(a=>{let b=H(a,c);return 8&b||(a.selection||a.docChanged)&&!(3&b)});for(let b=0;b<this.running.length;b++){let c=this.running[b];if(d||c.context.abortOnDocChange&&a.docChanged||c.updates.length+a.transactions.length>50&&Date.now()-c.time>1e3){for(let a of c.context.abortListeners)try{a()}catch(a){(0,e.c_)(this.view.state,a)}c.context.abortListeners=null,this.running.splice(b--,1)}else c.updates.push(...a.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),a.transactions.some(a=>a.effects.some(a=>a.is(q)))&&(this.pendingStart=!0);let f=this.pendingStart?50:c.activateOnTypingDelay;if(this.debounceUpdate=b.active.some(a=>a.isPending&&!this.running.some(b=>b.active.source==a.source))?setTimeout(()=>this.startUpdate(),f):-1,0!=this.composing)for(let b of a.transactions)b.isUserEvent("input.type")?this.composing=2:2==this.composing&&b.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:a}=this.view,b=a.field(L);for(let a of b.active)a.isPending&&!this.running.some(b=>b.active.source==a.source)&&this.startQuery(a);this.running.length&&b.open&&b.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(u).updateSyncTime))}startQuery(a){let{state:b}=this.view,c=l(b),d=new g(b,c,a.explicit,this.view),f=new Q(a,d);this.running.push(f),Promise.resolve(a.source(d)).then(a=>{f.context.aborted||(f.done=a||null,this.scheduleAccept())},a=>{this.view.dispatch({effects:r.of(null)}),(0,e.c_)(this.view.state,a)})}scheduleAccept(){this.running.every(a=>void 0!==a.done)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(u).updateSyncTime))}accept(){var a;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let b=[],c=this.view.state.facet(u),d=this.view.state.field(L);for(let e=0;e<this.running.length;e++){let f=this.running[e];if(void 0===f.done)continue;if(this.running.splice(e--,1),f.done){let d=l(f.updates.length?f.updates[0].startState:this.view.state),e=Math.min(d,f.done.from+ +!f.active.explicit),g=new J(f.active.source,f.active.explicit,e,f.done,f.done.from,null!=(a=f.done.to)?a:d);for(let a of f.updates)g=g.update(a,c);if(g.hasResult()){b.push(g);continue}}let g=d.active.find(a=>a.source==f.active.source);if(g&&g.isPending)if(null==f.done){let a=new I(f.active.source,0);for(let b of f.updates)a=a.update(b,c);a.isPending||b.push(a)}else this.startQuery(g)}(b.length||d.open&&d.open.disabled)&&this.view.dispatch({effects:K.of(b)})}},{eventHandlers:{blur(a){let b=this.view.state.field(L,!1);if(b&&b.tooltip&&this.view.state.facet(u).closeOnBlur){let c=b.open&&(0,e.Eg)(this.view,b.open.tooltip);c&&c.dom.contains(a.relatedTarget)||setTimeout(()=>this.view.dispatch({effects:r.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){3==this.composing&&setTimeout(()=>this.view.dispatch({effects:q.of(!1)}),20),this.composing=0}}}),S="object"==typeof navigator&&/Win/.test(navigator.platform),T=d.Nb.highest(e.Lz.domEventHandlers({keydown(a,b){let c=b.state.field(L,!1);if(!c||!c.open||c.open.disabled||c.open.selected<0||a.key.length>1||a.ctrlKey&&!(S&&a.altKey)||a.metaKey)return!1;let d=c.open.options[c.open.selected],e=c.active.find(a=>a.source==d.source),f=d.completion.commitCharacters||e.result.commitCharacters;return f&&f.indexOf(a.key)>-1&&M(b,d),!1}})),U=e.Lz.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"\xb7\xb7\xb7"',opacity:.5,display:"block",textAlign:"center",cursor:"pointer"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'\uD835\uDC65'"}},".cm-completionIcon-constant":{"&:after":{content:"'\uD835\uDC36'"}},".cm-completionIcon-type":{"&:after":{content:"'\uD835\uDC61'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'\uD83D\uDD11︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});class V{constructor(a,b,c,d){this.field=a,this.line=b,this.from=c,this.to=d}}class W{constructor(a,b,c){this.field=a,this.from=b,this.to=c}map(a){let b=a.mapPos(this.from,-1,d.iR.TrackDel),c=a.mapPos(this.to,1,d.iR.TrackDel);return null==b||null==c?null:new W(this.field,b,c)}}class X{constructor(a,b){this.lines=a,this.fieldPositions=b}instantiate(a,b){let c=[],d=[b],e=a.doc.lineAt(b),g=/^\s*/.exec(e.text)[0];for(let e of this.lines){if(c.length){let c=g,h=/^\t*/.exec(e)[0].length;for(let b=0;b<h;b++)c+=a.facet(f.Xt);d.push(b+c.length-h),e=c+e.slice(h)}c.push(e),b+=e.length+1}return{text:c,ranges:this.fieldPositions.map(a=>new W(a.field,d[a.line]+a.from,d[a.line]+a.to))}}static parse(a){let b=[],c=[],d=[],e;for(let f of a.split(/\r\n?|\n/)){for(;e=/[#$]\{(?:(\d+)(?::([^{}]*))?|((?:\\[{}]|[^{}])*))\}/.exec(f);){let a=e[1]?+e[1]:null,g=e[2]||e[3]||"",h=-1;0===a&&(a=1e9);let i=g.replace(/\\[{}]/g,a=>a[1]);for(let c=0;c<b.length;c++)(null!=a?b[c].seq==a:i&&b[c].name==i)&&(h=c);if(h<0){let c=0;for(;c<b.length&&(null==a||null!=b[c].seq&&b[c].seq<a);)c++;for(let e of(b.splice(c,0,{seq:a,name:i}),h=c,d))e.field>=h&&e.field++}for(let a of d)if(a.line==c.length&&a.from>e.index){let b=e[2]?3+(e[1]||"").length:2;a.from-=b,a.to-=b}d.push(new V(h,c.length,e.index,e.index+i.length)),f=f.slice(0,e.index)+g+f.slice(e.index+e[0].length)}f=f.replace(/\\([{}])/g,(a,b,e)=>{for(let a of d)a.line==c.length&&a.from>e&&(a.from--,a.to--);return b}),c.push(f)}return new X(c,d)}}let Y=e.NZ.widget({widget:new class extends e.xO{toDOM(){let a=document.createElement("span");return a.className="cm-snippetFieldPosition",a}ignoreEvent(){return!1}}}),Z=e.NZ.mark({class:"cm-snippetField"});class ${constructor(a,b){this.ranges=a,this.active=b,this.deco=e.NZ.set(a.map(a=>(a.from==a.to?Y:Z).range(a.from,a.to)),!0)}map(a){let b=[];for(let c of this.ranges){let d=c.map(a);if(!d)return null;b.push(d)}return new $(b,this.active)}selectionInsideField(a){return a.ranges.every(a=>this.ranges.some(b=>b.field==this.active&&b.from<=a.from&&b.to>=a.to))}}let _=d.Pe.define({map:(a,b)=>a&&a.map(b)}),aa=d.Pe.define(),ab=d.sU.define({create:()=>null,update(a,b){for(let c of b.effects){if(c.is(_))return c.value;if(c.is(aa)&&a)return new $(a.ranges,c.value)}return a&&b.docChanged&&(a=a.map(b.changes)),a&&b.selection&&!a.selectionInsideField(b.selection)&&(a=null),a},provide:a=>e.Lz.decorations.from(a,a=>a?a.deco:e.NZ.none)});function ac(a,b){return d.OF.create(a.filter(a=>a.field==b).map(a=>d.OF.range(a.from,a.to)))}function ad(a){return({state:b,dispatch:c})=>{let d=b.field(ab,!1);if(!d||a<0&&0==d.active)return!1;let e=d.active+a,f=a>0&&!d.ranges.some(b=>b.field==e+a);return c(b.update({selection:ac(d.ranges,e),effects:_.of(f?null:new $(d.ranges,e)),scrollIntoView:!0})),!0}}let ae=[{key:"Tab",run:ad(1),shift:ad(-1)},{key:"Escape",run:({state:a,dispatch:b})=>!!a.field(ab,!1)&&(b(a.update({effects:_.of(null)})),!0)}],af=d.sj.define({combine:a=>a.length?a[0]:ae}),ag=d.Nb.highest(e.w4.compute([af],a=>a.facet(af)));function ah(a,b){let c;return{...b,apply:(c=X.parse(a),(a,b,e,f)=>{let{text:g,ranges:h}=c.instantiate(a.state,e),{main:i}=a.state.selection,j={changes:{from:e,to:f==i.from?i.to:f,insert:d.EY.of(g)},scrollIntoView:!0,annotations:b?[n.of(b),d.ZX.userEvent.of("input.complete")]:void 0};if(h.length&&(j.selection=ac(h,0)),h.some(a=>a.field>0)){let b=new $(h,0),c=j.effects=[_.of(b)];void 0===a.state.field(ab,!1)&&c.push(d.Pe.appendConfig.of([ab,ag,ai,U]))}a.dispatch(a.state.update(j))})}}let ai=e.Lz.domEventHandlers({mousedown(a,b){let c=b.state.field(ab,!1),d;if(!c||null==(d=b.posAtCoords({x:a.clientX,y:a.clientY})))return!1;let e=c.ranges.find(a=>a.from<=d&&a.to>=d);return!!e&&e.field!=c.active&&(b.dispatch({selection:ac(c.ranges,e.field),effects:_.of(c.ranges.some(a=>a.field>e.field)?new $(c.ranges,e.field):null),scrollIntoView:!0}),!0)}}),aj=new class extends d.FB{};aj.startSide=1,aj.endSide=-1;function ak(a={}){return[T,L,u.of(a),R,am,U]}"object"==typeof navigator&&navigator.userAgent;let al=[{key:"Ctrl-Space",run:P},{mac:"Alt-`",run:P},{mac:"Alt-i",run:P},{key:"Escape",run:a=>{let b=a.state.field(L,!1);return!!b&&!!b.active.some(a=>0!=a.state)&&(a.dispatch({effects:r.of(null)}),!0)}},{key:"ArrowDown",run:O(!0)},{key:"ArrowUp",run:O(!1)},{key:"PageDown",run:O(!0,"page")},{key:"PageUp",run:O(!1,"page")},{key:"Enter",run:a=>{let b=a.state.field(L,!1);return!(a.state.readOnly||!b||!b.open||b.open.selected<0||b.open.disabled||Date.now()-b.open.timestamp<a.state.facet(u).interactionDelay)&&M(a,b.open.options[b.open.selected])}}],am=d.Nb.highest(e.w4.computeN([u],a=>a.facet(u).defaultKeymap?[al]:[]))},17680:(a,b,c)=>{c.d(b,{Ay:()=>L,EI:()=>E,KB:()=>G,Oh:()=>H,Q0:()=>l,Q_:()=>am,TM:()=>m,Xt:()=>C,Yy:()=>z,Zt:()=>ah,_Y:()=>N,_v:()=>F,b_:()=>Q,bj:()=>o,cr:()=>aa,iB:()=>j,jU:()=>ap,mv:()=>p,mz:()=>O,nq:()=>s,p9:()=>k,t:()=>P,t$:()=>A,tp:()=>D,y9:()=>ae,yd:()=>R});var d,e=c(22751),f=c(44072),g=c(36554),h=c(43398),i=c(64735);let j=new e.uY;function k(a){return f.sj.define({combine:a?b=>b.concat(a):void 0})}let l=new e.uY;class m{constructor(a,b,c=[],d=""){this.data=a,this.name=d,f.$t.prototype.hasOwnProperty("tree")||Object.defineProperty(f.$t.prototype,"tree",{get(){return p(this)}}),this.parser=b,this.extension=[y.of(this),f.$t.languageData.of((a,b,c)=>{let d=n(a,b,c),e=d.type.prop(j);if(!e)return[];let f=a.facet(e),g=d.type.prop(l);if(g){let e=d.resolve(b-d.from,c);for(let b of g)if(b.test(e,a)){let c=a.facet(b.facet);return"replace"==b.type?c:c.concat(f)}}return f})].concat(c)}isActiveAt(a,b,c=-1){return n(a,b,c).type.prop(j)==this.data}findRegions(a){let b=a.facet(y);if((null==b?void 0:b.data)==this.data)return[{from:0,to:a.doc.length}];if(!b||!b.allowsNesting)return[];let c=[],d=(a,b)=>{if(a.prop(j)==this.data)return void c.push({from:b,to:b+a.length});let f=a.prop(e.uY.mounted);if(f){if(f.tree.prop(j)==this.data){if(f.overlay)for(let a of f.overlay)c.push({from:a.from+b,to:a.to+b});else c.push({from:b,to:b+a.length});return}else if(f.overlay){let a=c.length;if(d(f.tree,f.overlay[0].from+b),c.length>a)return}}for(let c=0;c<a.children.length;c++){let f=a.children[c];f instanceof e.PH&&d(f,a.positions[c]+b)}};return d(p(a),0),c}get allowsNesting(){return!0}}function n(a,b,c){let d=a.facet(y),f=p(a).topNode;if(!d||d.allowsNesting)for(let a=f;a;a=a.enter(b,c,e.Qj.ExcludeBuffers|e.Qj.EnterBracketed))a.type.isTop&&(f=a);return f}m.setState=f.Pe.define();class o extends m{constructor(a,b,c){super(a,b,[],c),this.parser=b}static define(a){let b=k(a.languageData);return new o(b,a.parser.configure({props:[j.add(a=>a.isTop?b:void 0)]}),a.name)}configure(a,b){return new o(this.data,this.parser.configure(a),b||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function p(a){let b=a.field(m.state,!1);return b?b.tree:e.PH.empty}class q{constructor(a){this.doc=a,this.cursorPos=0,this.string="",this.cursor=a.iter()}get length(){return this.doc.length}syncTo(a){return this.string=this.cursor.next(a-this.cursorPos).value,this.cursorPos=a+this.string.length,this.cursorPos-this.string.length}chunk(a){return this.syncTo(a),this.string}get lineChunks(){return!0}read(a,b){let c=this.cursorPos-this.string.length;return a<c||b>=this.cursorPos?this.doc.sliceString(a,b):this.string.slice(a-c,b-c)}}let r=null;class s{constructor(a,b,c=[],d,e,f,g,h){this.parser=a,this.state=b,this.fragments=c,this.tree=d,this.treeLen=e,this.viewport=f,this.skipped=g,this.scheduleOn=h,this.parse=null,this.tempSkipped=[]}static create(a,b,c){return new s(a,b,[],e.PH.empty,0,c,[],null)}startParse(){return this.parser.startParse(new q(this.state.doc),this.fragments)}work(a,b){return(null!=b&&b>=this.state.doc.length&&(b=void 0),this.tree!=e.PH.empty&&this.isDone(null!=b?b:this.state.doc.length))?(this.takeTree(),!0):this.withContext(()=>{var c;if("number"==typeof a){let b=Date.now()+a;a=()=>Date.now()>b}for(this.parse||(this.parse=this.startParse()),null!=b&&(null==this.parse.stoppedAt||this.parse.stoppedAt>b)&&b<this.state.doc.length&&this.parse.stopAt(b);;){let d=this.parse.advance();if(d){if(this.fragments=this.withoutTempSkipped(e.rr.addTree(d,this.fragments,null!=this.parse.stoppedAt)),this.treeLen=null!=(c=this.parse.stoppedAt)?c:this.state.doc.length,this.tree=d,this.parse=null,!(this.treeLen<(null!=b?b:this.state.doc.length)))return!0;this.parse=this.startParse()}if(a())return!1}})}takeTree(){let a,b;this.parse&&(a=this.parse.parsedPos)>=this.treeLen&&((null==this.parse.stoppedAt||this.parse.stoppedAt>a)&&this.parse.stopAt(a),this.withContext(()=>{for(;!(b=this.parse.advance()););}),this.treeLen=a,this.tree=b,this.fragments=this.withoutTempSkipped(e.rr.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(a){let b=r;r=this;try{return a()}finally{r=b}}withoutTempSkipped(a){for(let b;b=this.tempSkipped.pop();)a=t(a,b.from,b.to);return a}changes(a,b){let{fragments:c,tree:d,treeLen:f,viewport:g,skipped:h}=this;if(this.takeTree(),!a.empty){let b=[];if(a.iterChangedRanges((a,c,d,e)=>b.push({fromA:a,toA:c,fromB:d,toB:e})),c=e.rr.applyChanges(c,b),d=e.PH.empty,f=0,g={from:a.mapPos(g.from,-1),to:a.mapPos(g.to,1)},this.skipped.length)for(let b of(h=[],this.skipped)){let c=a.mapPos(b.from,1),d=a.mapPos(b.to,-1);c<d&&h.push({from:c,to:d})}}return new s(this.parser,b,c,d,f,g,h,this.scheduleOn)}updateViewport(a){if(this.viewport.from==a.from&&this.viewport.to==a.to)return!1;this.viewport=a;let b=this.skipped.length;for(let b=0;b<this.skipped.length;b++){let{from:c,to:d}=this.skipped[b];c<a.to&&d>a.from&&(this.fragments=t(this.fragments,c,d),this.skipped.splice(b--,1))}return!(this.skipped.length>=b)&&(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(a,b){this.skipped.push({from:a,to:b})}static getSkippingParser(a){return new class extends e.iX{createParse(b,c,d){let f=d[0].from,g=d[d.length-1].to;return{parsedPos:f,advance(){let b=r;if(b){for(let a of d)b.tempSkipped.push(a);a&&(b.scheduleOn=b.scheduleOn?Promise.all([b.scheduleOn,a]):a)}return this.parsedPos=g,new e.PH(e.Z6.none,[],[],g-f)},stoppedAt:null,stopAt(){}}}}}isDone(a){a=Math.min(a,this.state.doc.length);let b=this.fragments;return this.treeLen>=a&&b.length&&0==b[0].from&&b[0].to>=a}static get(){return r}}function t(a,b,c){return e.rr.applyChanges(a,[{fromA:b,toA:c,fromB:b,toB:c}])}class u{constructor(a){this.context=a,this.tree=a.tree}apply(a){if(!a.docChanged&&this.tree==this.context.tree)return this;let b=this.context.changes(a.changes,a.state),c=this.context.treeLen==a.startState.doc.length?void 0:Math.max(a.changes.mapPos(this.context.treeLen),b.viewport.to);return b.work(20,c)||b.takeTree(),new u(b)}static init(a){let b=Math.min(3e3,a.doc.length),c=s.create(a.facet(y).parser,a,{from:0,to:b});return c.work(20,b)||c.takeTree(),new u(c)}}m.state=f.sU.define({create:u.init,update(a,b){for(let a of b.effects)if(a.is(m.setState))return a.value;return b.startState.facet(y)!=b.state.facet(y)?u.init(b.state):a.apply(b)}});let v=a=>{let b=setTimeout(()=>a(),500);return()=>clearTimeout(b)};"u">typeof requestIdleCallback&&(v=a=>{let b=-1,c=setTimeout(()=>{b=requestIdleCallback(a,{timeout:400})},100);return()=>b<0?clearTimeout(c):cancelIdleCallback(b)});let w="u">typeof navigator&&(null==(d=navigator.scheduling)?void 0:d.isInputPending)?()=>navigator.scheduling.isInputPending():null,x=g.Z9.fromClass(class{constructor(a){this.view=a,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(a){let b=this.view.state.field(m.state).context;(b.updateViewport(a.view.viewport)||this.view.viewport.to>b.treeLen)&&this.scheduleWork(),(a.docChanged||a.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(b)}scheduleWork(){if(this.working)return;let{state:a}=this.view,b=a.field(m.state);b.tree==b.context.tree&&b.context.isDone(a.doc.length)||(this.working=v(this.work))}work(a){this.working=null;let b=Date.now();if(this.chunkEnd<b&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=b+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:c,viewport:{to:d}}=this.view,e=c.field(m.state);if(e.tree==e.context.tree&&e.context.isDone(d+1e5))return;let f=Date.now()+Math.min(this.chunkBudget,100,a&&!w?Math.max(25,a.timeRemaining()-5):1e9),g=e.context.treeLen<d&&c.doc.length>d+1e3,h=e.context.work(()=>w&&w()||Date.now()>f,d+1e5*!g);this.chunkBudget-=Date.now()-b,(h||this.chunkBudget<=0)&&(e.context.takeTree(),this.view.dispatch({effects:m.setState.of(new u(e.context))})),this.chunkBudget>0&&!(h&&!g)&&this.scheduleWork(),this.checkAsyncSchedule(e.context)}checkAsyncSchedule(a){a.scheduleOn&&(this.workScheduled++,a.scheduleOn.then(()=>this.scheduleWork()).catch(a=>(0,g.c_)(this.view.state,a)).then(()=>this.workScheduled--),a.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),y=f.sj.define({combine:a=>a.length?a[0]:null,enables:a=>[m.state,x,g.Lz.contentAttributes.compute([a],b=>{let c=b.facet(a);return c&&c.name?{"data-language":c.name}:{}})]});class z{constructor(a,b=[]){this.language=a,this.support=b,this.extension=[a,b]}}class A{constructor(a,b,c,d,e,f){this.name=a,this.alias=b,this.extensions=c,this.filename=d,this.loadFunc=e,this.support=f,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then(a=>this.support=a,a=>{throw this.loading=null,a}))}static of(a){let{load:b,support:c}=a;if(!b){if(!c)throw RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");b=()=>Promise.resolve(c)}return new A(a.name,(a.alias||[]).concat(a.name).map(a=>a.toLowerCase()),a.extensions||[],a.filename,b,c)}static matchFilename(a,b){for(let c of a)if(c.filename&&c.filename.test(b))return c;let c=/\.([^.]+)$/.exec(b);if(c){for(let b of a)if(b.extensions.indexOf(c[1])>-1)return b}return null}static matchLanguageName(a,b,c=!0){for(let c of(b=b.toLowerCase(),a))if(c.alias.some(a=>a==b))return c;if(c)for(let c of a)for(let a of c.alias){let d=b.indexOf(a);if(d>-1&&(a.length>2||!/\w/.test(b[d-1])&&!/\w/.test(b[d+a.length])))return c}return null}}let B=f.sj.define(),C=f.sj.define({combine:a=>{if(!a.length)return" ";let b=a[0];if(!b||/\S/.test(b)||Array.from(b).some(a=>a!=b[0]))throw Error("Invalid indent unit: "+JSON.stringify(a[0]));return b}});function D(a){let b=a.facet(C);return 9==b.charCodeAt(0)?a.tabSize*b.length:b.length}function E(a,b){let c="",d=a.tabSize,e=a.facet(C)[0];if(" "==e){for(;b>=d;)c+=" ",b-=d;e=" "}for(let a=0;a<b;a++)c+=e;return c}function F(a,b){for(let c of(a instanceof f.$t&&(a=new G(a)),a.state.facet(B))){let d=c(a,b);if(void 0!==d)return d}let c=p(a.state);return c.length>=b?function(a,b,c){let d=b.resolveStack(c),e=b.resolveInner(c,-1).resolve(c,0).enterUnfinishedNodesBefore(c);if(e!=d.node){let a=[];for(let b=e;b&&!(b.from<d.node.from||b.to>d.node.to||b.from==d.node.from&&b.type==d.node.type);b=b.parent)a.push(b);for(let b=a.length-1;b>=0;b--)d={node:a[b],next:d}}return I(d,a,c)}(a,c,b):null}class G{constructor(a,b={}){this.state=a,this.options=b,this.unit=D(a)}lineAt(a,b=1){let c=this.state.doc.lineAt(a),{simulateBreak:d,simulateDoubleBreak:e}=this.options;if(null!=d&&d>=c.from&&d<=c.to)if(e&&d==a)return{text:"",from:a};else if(b<0?d<a:d<=a)return{text:c.text.slice(d-c.from),from:d};else return{text:c.text.slice(0,d-c.from),from:c.from};return c}textAfterPos(a,b=1){if(this.options.simulateDoubleBreak&&a==this.options.simulateBreak)return"";let{text:c,from:d}=this.lineAt(a,b);return c.slice(a-d,Math.min(c.length,a+100-d))}column(a,b=1){let{text:c,from:d}=this.lineAt(a,b),e=this.countColumn(c,a-d),f=this.options.overrideIndentation?this.options.overrideIndentation(d):-1;return f>-1&&(e+=f-this.countColumn(c,c.search(/\S|$/))),e}countColumn(a,b=a.length){return(0,f.y$)(a,this.state.tabSize,b)}lineIndent(a,b=1){let{text:c,from:d}=this.lineAt(a,b),e=this.options.overrideIndentation;if(e){let a=e(d);if(a>-1)return a}return this.countColumn(c,c.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}let H=new e.uY;function I(a,b,c){for(let d=a;d;d=d.next){let a=function(a){let b=a.type.prop(H);if(b)return b;let c=a.firstChild,d;if(c&&(d=c.type.prop(e.uY.closedBy))){let b=a.lastChild,c=b&&d.indexOf(b.name)>-1;return a=>M(a,!0,1,void 0,c&&!(a.pos==a.options.simulateBreak&&a.options.simulateDoubleBreak)?b.from:void 0)}return null==a.parent?J:null}(d.node);if(a)return a(K.create(b,c,d))}return 0}function J(){return 0}class K extends G{constructor(a,b,c){super(a.state,a.options),this.base=a,this.pos=b,this.context=c}get node(){return this.context.node}static create(a,b,c){return new K(a,b,c)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(a){let b=this.state.doc.lineAt(a.from);for(;;){let c=a.resolve(b.from);for(;c.parent&&c.parent.from==c.from;)c=c.parent;if(function(a,b){for(let c=b;c;c=c.parent)if(a==c)return!0;return!1}(c,a))break;b=this.state.doc.lineAt(c.from)}return this.lineIndent(b.from)}continue(){return I(this.context.next,this.base,this.pos)}}function L({closing:a,align:b=!0,units:c=1}){return d=>M(d,b,c,a)}function M(a,b,c,d,e){let f=a.textAfter,g=f.match(/^\s*/)[0].length,h=d&&f.slice(g,g+d.length)==d||e==a.pos+g,i=b?function(a){let b=a.node,c=b.childAfter(b.from),d=b.lastChild;if(!c)return null;let e=a.options.simulateBreak,f=a.state.doc.lineAt(c.from),g=null==e||e<=f.from?f.to:Math.min(f.to,e);for(let a=c.to;;){let e=b.childAfter(a);if(!e||e==d)return null;if(!e.type.isSkipped){if(e.from>=g)return null;let a=/^ */.exec(f.text.slice(c.to-f.from))[0].length;return{from:c.from,to:c.to+a}}a=e.to}}(a):null;return i?h?a.column(i.from):a.column(i.to):a.baseIndent+(h?0:a.unit*c)}let N=a=>a.baseIndent;function O({except:a,units:b=1}={}){return c=>{let d=a&&a.test(c.textAfter);return c.baseIndent+(d?0:b*c.unit)}}let P=f.sj.define(),Q=new e.uY;function R(a){let b=a.firstChild,c=a.lastChild;return b&&b.to<c.from?{from:b.to,to:c.type.isError?a.to:c.from}:null}function S(a,b){let c=b.mapPos(a.from,1),d=b.mapPos(a.to,-1);return c>=d?void 0:{from:c,to:d}}let T=f.Pe.define({map:S}),U=f.Pe.define({map:S}),V=f.sU.define({create:()=>g.NZ.none,update(a,b){for(let c of(b.isUserEvent("delete")&&b.changes.iterChangedRanges((b,c)=>a=W(a,b,c)),a=a.map(b.changes),b.effects))if(c.is(T)&&!function(a,b,c){let d=!1;return a.between(b,b,(a,e)=>{a==b&&e==c&&(d=!0)}),d}(a,c.value.from,c.value.to)){let{preparePlaceholder:d}=b.state.facet(Y),e=d?g.NZ.replace({widget:new _(d(b.state,c.value))}):$;a=a.update({add:[e.range(c.value.from,c.value.to)]})}else c.is(U)&&(a=a.update({filter:(a,b)=>c.value.from!=a||c.value.to!=b,filterFrom:c.value.from,filterTo:c.value.to}));return b.selection&&(a=W(a,b.selection.main.head)),a},provide:a=>g.Lz.decorations.from(a),toJSON(a,b){let c=[];return a.between(0,b.doc.length,(a,b)=>{c.push(a,b)}),c},fromJSON(a){if(!Array.isArray(a)||a.length%2)throw RangeError("Invalid JSON for fold state");let b=[];for(let c=0;c<a.length;){let d=a[c++],e=a[c++];if("number"!=typeof d||"number"!=typeof e)throw RangeError("Invalid JSON for fold state");b.push($.range(d,e))}return g.NZ.set(b,!0)}});function W(a,b,c=b){let d=!1;return a.between(b,c,(a,e)=>{a<c&&e>b&&(d=!0)}),d?a.update({filterFrom:b,filterTo:c,filter:(a,d)=>a>=c||d<=b}):a}let X={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},Y=f.sj.define({combine:a=>(0,f.QR)(a,X)});function Z(a,b){let{state:c}=a,d=c.facet(Y),e=b=>{var c,d,e,f;let g,h=a.lineBlockAt(a.posAtDOM(b.target)),i=(c=a.state,d=h.from,e=h.to,g=null,null==(f=c.field(V,!1))||f.between(d,e,(a,b)=>{(!g||g.from>a)&&(g={from:a,to:b})}),g);i&&a.dispatch({effects:U.of(i)}),b.preventDefault()};if(d.placeholderDOM)return d.placeholderDOM(a,e,b);let f=document.createElement("span");return f.textContent=d.placeholderText,f.setAttribute("aria-label",c.phrase("folded code")),f.title=c.phrase("unfold"),f.className="cm-foldPlaceholder",f.onclick=e,f}let $=g.NZ.replace({widget:new class extends g.xO{toDOM(a){return Z(a,null)}}});class _ extends g.xO{constructor(a){super(),this.value=a}eq(a){return this.value==a.value}toDOM(a){return Z(a,this.value)}}g.wJ;class aa{constructor(a,b){let c;function d(a){let b=i.G.newName();return(c||(c=Object.create(null)))["."+b]=a,b}this.specs=a;const e="string"==typeof b.all?b.all:b.all?d(b.all):void 0,f=b.scope;this.scope=f instanceof m?a=>a.prop(j)==f.data:f?a=>a==f:void 0,this.style=(0,h.az)(a.map(a=>({tag:a.tag,class:a.class||d(Object.assign({},a,{tag:null}))})),{all:e}).style,this.module=c?new i.G(c):null,this.themeType=b.themeType}static define(a,b){return new aa(a,b||{})}}let ab=f.sj.define(),ac=f.sj.define({combine:a=>a.length?[a[0]]:null});function ad(a){let b=a.facet(ab);return b.length?b:a.facet(ac)}function ae(a,b){let c=[ag],d;return a instanceof aa&&(a.module&&c.push(g.Lz.styleModule.of(a.module)),d=a.themeType),(null==b?void 0:b.fallback)?c.push(ac.of(a)):d?c.push(ab.computeN([g.Lz.darkTheme],b=>b.facet(g.Lz.darkTheme)==("dark"==d)?[a]:[])):c.push(ab.of(a)),c}class af{constructor(a){this.markCache=Object.create(null),this.tree=p(a.state),this.decorations=this.buildDeco(a,ad(a.state)),this.decoratedTo=a.viewport.to}update(a){let b=p(a.state),c=ad(a.state),d=c!=ad(a.startState),{viewport:e}=a.view,f=a.changes.mapPos(this.decoratedTo,1);b.length<e.to&&!d&&b.type==this.tree.type&&f>=e.to?(this.decorations=this.decorations.map(a.changes),this.decoratedTo=f):(b!=this.tree||a.viewportChanged||d)&&(this.tree=b,this.decorations=this.buildDeco(a.view,c),this.decoratedTo=e.to)}buildDeco(a,b){if(!b||!this.tree.length)return g.NZ.none;let c=new f.vB;for(let{from:d,to:e}of a.visibleRanges)(0,h.DM)(this.tree,b,(a,b,d)=>{c.add(a,b,this.markCache[d]||(this.markCache[d]=g.NZ.mark({class:d})))},d,e);return c.finish()}}let ag=f.Nb.high(g.Z9.fromClass(af,{decorations:a=>a.decorations})),ah=aa.define([{tag:h._A.meta,color:"#404740"},{tag:h._A.link,textDecoration:"underline"},{tag:h._A.heading,textDecoration:"underline",fontWeight:"bold"},{tag:h._A.emphasis,fontStyle:"italic"},{tag:h._A.strong,fontWeight:"bold"},{tag:h._A.strikethrough,textDecoration:"line-through"},{tag:h._A.keyword,color:"#708"},{tag:[h._A.atom,h._A.bool,h._A.url,h._A.contentSeparator,h._A.labelName],color:"#219"},{tag:[h._A.literal,h._A.inserted],color:"#164"},{tag:[h._A.string,h._A.deleted],color:"#a11"},{tag:[h._A.regexp,h._A.escape,h._A.special(h._A.string)],color:"#e40"},{tag:h._A.definition(h._A.variableName),color:"#00f"},{tag:h._A.local(h._A.variableName),color:"#30a"},{tag:[h._A.typeName,h._A.namespace],color:"#085"},{tag:h._A.className,color:"#167"},{tag:[h._A.special(h._A.variableName),h._A.macroName],color:"#256"},{tag:h._A.definition(h._A.propertyName),color:"#00c"},{tag:h._A.comment,color:"#940"},{tag:h._A.invalid,color:"#f00"}]),ai="()[]{}",aj=g.NZ.mark({class:"cm-matchingBracket"}),ak=g.NZ.mark({class:"cm-nonmatchingBracket"});function al(a){let b=[],c=a.matched?aj:ak;return b.push(c.range(a.start.from,a.start.to)),a.end&&b.push(c.range(a.end.from,a.end.to)),b}let am=new e.uY;function an(a,b,c){let d=a.prop(b<0?e.uY.openedBy:e.uY.closedBy);if(d)return d;if(1==a.name.length){let d=c.indexOf(a.name);if(d>-1&&d%2==+(b<0))return[c[d+b]]}return null}function ao(a){let b=a.type.prop(am);return b?b(a.node):a}function ap(a,b,c,d={}){let e=d.maxScanDistance||1e4,f=d.brackets||ai,g=p(a),h=g.resolveInner(b,c);for(let a=h;a;a=a.parent){let d=an(a.type,c,f);if(d&&a.from<a.to){let e=ao(a);if(e&&(c>0?b>=e.from&&b<e.to:b>e.from&&b<=e.to))return function(a,b,c,d,e){let f=b.parent,g={from:c.from,to:c.to},h=0,i=null==f?void 0:f.cursor();if(i&&(a<0?i.childBefore(b.from):i.childAfter(b.to)))do if(a<0?i.to<=b.from:i.from>=b.to){if(0==h&&d.indexOf(i.type.name)>-1&&i.from<i.to){let a=ao(i);return{start:g,end:a?{from:a.from,to:a.to}:void 0,matched:!0}}else if(an(i.type,a,e))h++;else if(an(i.type,-a,e)){if(0==h){let a=ao(i);return{start:g,end:a&&a.from<a.to?{from:a.from,to:a.to}:void 0,matched:!1}}h--}}while(a<0?i.prevSibling():i.nextSibling());return{start:g,matched:!1}}(c,a,e,d,f)}}return function(a,b,c,d,e,f,g){if(c<0?!b:b==a.doc.length)return null;let h=c<0?a.sliceDoc(b-1,b):a.sliceDoc(b,b+1),i=g.indexOf(h);if(i<0||i%2==0!=c>0)return null;let j={from:c<0?b-1:b,to:c>0?b+1:b},k=a.doc.iterRange(b,c>0?a.doc.length:0),l=0;for(let a=0;!k.next().done&&a<=f;){let f=k.value;c<0&&(a+=f.length);let h=b+a*c;for(let a=c>0?0:f.length-1,b=c>0?f.length:-1;a!=b;a+=c){let b=g.indexOf(f[a]);if(!(b<0)&&d.resolveInner(h+a,1).type==e)if(b%2==0==c>0)l++;else{if(1==l)return{start:j,end:{from:h+a,to:h+a+1},matched:b>>1==i>>1};l--}}c>0&&(a+=f.length)}return k.done?{start:j,matched:!1}:null}(a,b,c,g,h.type,e,f)}let aq=Object.create(null),ar=[e.Z6.none],as=[],at=Object.create(null),au=Object.create(null);for(let[a,b]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])au[a]=function(a,b){let c=[];for(let d of b.split(" ")){let b=[];for(let c of d.split(".")){let d=a[c]||h._A[c];d?"function"==typeof d?b.length?b=b.map(d):av(c,`Modifier ${c} used at start of tag`):b.length?av(c,`Tag ${c} used as modifier`):b=Array.isArray(d)?d:[d]:av(c,`Unknown highlighting tag ${c}`)}for(let a of b)c.push(a)}if(!c.length)return 0;let d=b.replace(/ /g,"_"),f=d+" "+c.map(a=>a.id),g=at[f];if(g)return g.id;let i=at[f]=e.Z6.define({id:ar.length,name:d,props:[(0,h.pn)({[d]:c})]});return ar.push(i),i.id}(aq,b);function av(a,b){as.indexOf(a)>-1||(as.push(a),console.warn(b))}g.OP.RTL,g.OP.LTR},19224:(a,b,c)=>{a.exports=c.p+"static/media/pdf.worker.min.c476e1a0.mjs"},22751:(a,b,c)=>{var d,e;c.d(b,{$g:()=>L,PH:()=>p,Qj:()=>d,RY:()=>H,Z6:()=>l,cF:()=>f,fI:()=>m,iX:()=>J,rr:()=>I,uY:()=>i});let f=1024,g=0;class h{constructor(a,b){this.from=a,this.to=b}}class i{constructor(a={}){this.id=g++,this.perNode=!!a.perNode,this.deserialize=a.deserialize||(()=>{throw Error("This node type doesn't define a deserialize function")}),this.combine=a.combine||null}add(a){if(this.perNode)throw RangeError("Can't add per-node props to node types");return"function"!=typeof a&&(a=l.match(a)),b=>{let c=a(b);return void 0===c?null:[this,c]}}}i.closedBy=new i({deserialize:a=>a.split(" ")}),i.openedBy=new i({deserialize:a=>a.split(" ")}),i.group=new i({deserialize:a=>a.split(" ")}),i.isolate=new i({deserialize:a=>{if(a&&"rtl"!=a&&"ltr"!=a&&"auto"!=a)throw RangeError("Invalid value for isolate: "+a);return a||"auto"}}),i.contextHash=new i({perNode:!0}),i.lookAhead=new i({perNode:!0}),i.mounted=new i({perNode:!0});class j{constructor(a,b,c,d=!1){this.tree=a,this.overlay=b,this.parser=c,this.bracketed=d}static get(a){return a&&a.props&&a.props[i.mounted.id]}}let k=Object.create(null);class l{constructor(a,b,c,d=0){this.name=a,this.props=b,this.id=c,this.flags=d}static define(a){let b=a.props&&a.props.length?Object.create(null):k,c=!!a.top|2*!!a.skipped|4*!!a.error|8*(null==a.name),d=new l(a.name||"",b,a.id,c);if(a.props){for(let c of a.props)if(Array.isArray(c)||(c=c(d)),c){if(c[0].perNode)throw RangeError("Can't store a per-node prop on a node type");b[c[0].id]=c[1]}}return d}prop(a){return this.props[a.id]}get isTop(){return(1&this.flags)>0}get isSkipped(){return(2&this.flags)>0}get isError(){return(4&this.flags)>0}get isAnonymous(){return(8&this.flags)>0}is(a){if("string"==typeof a){if(this.name==a)return!0;let b=this.prop(i.group);return!!b&&b.indexOf(a)>-1}return this.id==a}static match(a){let b=Object.create(null);for(let c in a)for(let d of c.split(" "))b[d]=a[c];return a=>{for(let c=a.prop(i.group),d=-1;d<(c?c.length:0);d++){let e=b[d<0?a.name:c[d]];if(e)return e}}}}l.none=new l("",Object.create(null),0,8);class m{constructor(a){this.types=a;for(let b=0;b<a.length;b++)if(a[b].id!=b)throw RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...a){let b=[];for(let c of this.types){let d=null;for(let b of a){let a=b(c);if(a){d||(d=Object.assign({},c.props));let b=a[1],e=a[0];e.combine&&e.id in d&&(b=e.combine(d[e.id],b)),d[e.id]=b}}b.push(d?new l(c.name,d,c.id,c.flags):c)}return new m(b)}}let n=new WeakMap,o=new WeakMap;(e=d||(d={}))[e.ExcludeBuffers=1]="ExcludeBuffers",e[e.IncludeAnonymous=2]="IncludeAnonymous",e[e.IgnoreMounts=4]="IgnoreMounts",e[e.IgnoreOverlays=8]="IgnoreOverlays",e[e.EnterBracketed=16]="EnterBracketed";class p{constructor(a,b,c,d,e){if(this.type=a,this.children=b,this.positions=c,this.length=d,this.props=null,e&&e.length)for(let[a,b]of(this.props=Object.create(null),e))this.props["number"==typeof a?a:a.id]=b}toString(){let a=j.get(this);if(a&&!a.overlay)return a.tree.toString();let b="";for(let a of this.children){let c=a.toString();c&&(b&&(b+=","),b+=c)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(b.length?"("+b+")":""):b}cursor(a=0){return new C(this.topNode,a)}cursorAt(a,b=0,c=0){let d=new C(n.get(this)||this.topNode);return d.moveTo(a,b),n.set(this,d._tree),d}get topNode(){return new v(this,0,0,null)}resolve(a,b=0){let c=t(n.get(this)||this.topNode,a,b,!1);return n.set(this,c),c}resolveInner(a,b=0){let c=t(o.get(this)||this.topNode,a,b,!0);return o.set(this,c),c}resolveStack(a,b=0){return function(a,b,c){let d=a.resolveInner(b,c),e=null;for(let a=d instanceof v?d:d.context.parent;a;a=a.parent)if(a.index<0){let f=a.parent;(e||(e=[d])).push(f.resolve(b,c)),a=f}else{let f=j.get(a.tree);if(f&&f.overlay&&f.overlay[0].from<=b&&f.overlay[f.overlay.length-1].to>=b){let g=new v(f.tree,f.overlay[0].from+a.from,-1,a);(e||(e=[d])).push(t(g,b,c,!1))}}return e?A(e):d}(this,a,b)}iterate(a){let{enter:b,leave:c,from:e=0,to:f=this.length}=a,g=a.mode||0,h=(g&d.IncludeAnonymous)>0;for(let a=this.cursor(g|d.IncludeAnonymous);;){let d=!1;if(a.from<=f&&a.to>=e&&(!h&&a.type.isAnonymous||!1!==b(a))){if(a.firstChild())continue;d=!0}for(;d&&c&&(h||!a.type.isAnonymous)&&c(a),!a.nextSibling();){if(!a.parent())return;d=!0}}}prop(a){return a.perNode?this.props?this.props[a.id]:void 0:this.type.prop(a)}get propValues(){let a=[];if(this.props)for(let b in this.props)a.push([+b,this.props[b]]);return a}balance(a={}){return this.children.length<=8?this:G(l.none,this.children,this.positions,0,this.children.length,0,this.length,(a,b,c)=>new p(this.type,a,b,c,this.propValues),a.makeTree||((a,b,c)=>new p(l.none,a,b,c)))}static build(a){return function(a){var b;let{buffer:c,nodeSet:d,maxBufferLength:e=f,reused:g=[],minRepeatType:h=d.types.length}=a,j=Array.isArray(c)?new q(c,c.length):c,k=d.types,l=0,m=0;function n(a,b,c,e,f,g,h,i,j){let k=[],l=[];for(;a.length>e;)k.push(a.pop()),l.push(b.pop()+c-f);a.push(o(d.types[h],k,l,g-f,i-g,j)),b.push(f-c)}function o(a,b,c,d,e,f,g){if(f){let a=[i.contextHash,f];g=g?[a].concat(g):[a]}if(e>25){let a=[i.lookAhead,e];g=g?[a].concat(g):[a]}return new p(a,b,c,d,g)}let s=[],t=[];for(;j.pos>0;)!function a(b,c,f,q,s,t){let{id:u,start:v,end:w,size:x}=j,y=m,z=l;if(x<0){if(j.next(),-1==x){let a=g[u];f.push(a),q.push(v-b);return}if(-3==x){l=u;return}if(-4==x){m=u;return}else throw RangeError(`Unrecognized record size: ${x}`)}let A=k[u],B,C,D=v-b;if(w-v<=e&&(C=function(a,b){let c=j.fork(),d=0,f=0,g=0,i=c.end-e,k={size:0,start:0,skip:0};a:for(let e=c.pos-a;c.pos>e;){let a=c.size;if(c.id==b&&a>=0){k.size=d,k.start=f,k.skip=g,g+=4,d+=4,c.next();continue}let j=c.pos-a;if(a<0||j<e||c.start<i)break;let l=4*(c.id>=h),m=c.start;for(c.next();c.pos>j;){if(c.size<0)if(-3==c.size||-4==c.size)l+=4;else break a;else c.id>=h&&(l+=4);c.next()}f=m,d+=a,g+=l}return(b<0||d==a)&&(k.size=d,k.start=f,k.skip=g),k.size>4?k:void 0}(j.pos-c,s))){let a=new Uint16Array(C.size-C.skip),c=j.pos-C.size,e=a.length;for(;j.pos>c;)e=function a(b,c,d){let{id:e,start:f,end:g,size:i}=j;if(j.next(),i>=0&&e<h){let h=d;if(i>4){let e=j.pos-(i-4);for(;j.pos>e;)d=a(b,c,d)}c[--d]=h,c[--d]=g-b,c[--d]=f-b,c[--d]=e}else -3==i?l=e:-4==i&&(m=e);return d}(C.start,a,e);B=new r(a,w-C.start,d),D=C.start-b}else{let b=j.pos-x;j.next();let c=[],f=[],g=u>=h?u:-1,k=0,l=w;for(;j.pos>b;)g>=0&&j.id==g&&j.size>=0?(j.end<=l-e&&(n(c,f,v,k,j.end,l,g,y,z),k=c.length,l=j.end),j.next()):t>2500?function(a,b,c,f){let g=[],h=0,i=-1;for(;j.pos>b;){let{id:a,start:b,end:c,size:d}=j;if(d>4)j.next();else if(i>-1&&b<i)break;else i<0&&(i=c-e),g.push(a,b,c),h++,j.next()}if(h){let b=new Uint16Array(4*h),e=g[g.length-2];for(let a=g.length-3,c=0;a>=0;a-=3)b[c++]=g[a],b[c++]=g[a+1]-e,b[c++]=g[a+2]-e,b[c++]=c;c.push(new r(b,g[2]-e,d)),f.push(e-a)}}(v,b,c,f):a(v,b,c,f,g,t+1);if(g>=0&&k>0&&k<c.length&&n(c,f,v,k,v,l,g,y,z),c.reverse(),f.reverse(),g>-1&&k>0){let a=function(a,b){return(c,d,e)=>{let f=0,g=c.length-1,h,j;if(g>=0&&(h=c[g])instanceof p){if(!g&&h.type==a&&h.length==e)return h;(j=h.prop(i.lookAhead))&&(f=d[g]+h.length+j)}return o(a,c,d,e,f,b)}}(A,z);B=G(A,c,f,0,c.length,0,w-v,a,a)}else B=o(A,c,f,w-v,y-w,z)}f.push(B),q.push(D)}(a.start||0,a.bufferStart||0,s,t,-1,0);let u=null!=(b=a.length)?b:s.length?t[0]+s[0].length:0;return new p(k[a.topID],s.reverse(),t.reverse(),u)}(a)}}p.empty=new p(l.none,[],[],0);class q{constructor(a,b){this.buffer=a,this.index=b}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new q(this.buffer,this.index)}}class r{constructor(a,b,c){this.buffer=a,this.length=b,this.set=c}get type(){return l.none}toString(){let a=[];for(let b=0;b<this.buffer.length;)a.push(this.childString(b)),b=this.buffer[b+3];return a.join(",")}childString(a){let b=this.buffer[a],c=this.buffer[a+3],d=this.set.types[b],e=d.name;if(/\W/.test(e)&&!d.isError&&(e=JSON.stringify(e)),c==(a+=4))return e;let f=[];for(;a<c;)f.push(this.childString(a)),a=this.buffer[a+3];return e+"("+f.join(",")+")"}findChild(a,b,c,d,e){let{buffer:f}=this,g=-1;for(let h=a;h!=b&&(!s(e,d,f[h+1],f[h+2])||(g=h,!(c>0)));h=f[h+3]);return g}slice(a,b,c){let d=this.buffer,e=new Uint16Array(b-a),f=0;for(let g=a,h=0;g<b;){e[h++]=d[g++],e[h++]=d[g++]-c;let b=e[h++]=d[g++]-c;e[h++]=d[g++]-a,f=Math.max(f,b)}return new r(e,f,this.set)}}function s(a,b,c,d){switch(a){case -2:return c<b;case -1:return d>=b&&c<b;case 0:return c<b&&d>b;case 1:return c<=b&&d>b;case 2:return d>b;case 4:return!0}}function t(a,b,c,e){for(var f;a.from==a.to||(c<1?a.from>=b:a.from>b)||(c>-1?a.to<=b:a.to<b);){let b=!e&&a instanceof v&&a.index<0?null:a.parent;if(!b)return a;a=b}let g=e?0:d.IgnoreOverlays;if(e)for(let d=a,e=d.parent;e;e=(d=e).parent)d instanceof v&&d.index<0&&(null==(f=e.enter(b,c,g))?void 0:f.from)!=d.from&&(a=e);for(;;){let d=a.enter(b,c,g);if(!d)return a;a=d}}class u{cursor(a=0){return new C(this,a)}getChild(a,b=null,c=null){let d=w(this,a,b,c);return d.length?d[0]:null}getChildren(a,b=null,c=null){return w(this,a,b,c)}resolve(a,b=0){return t(this,a,b,!1)}resolveInner(a,b=0){return t(this,a,b,!0)}matchContext(a){return x(this.parent,a)}enterUnfinishedNodesBefore(a){let b=this.childBefore(a),c=this;for(;b;){let a=b.lastChild;if(!a||a.to!=b.to)break;a.type.isError&&a.from==a.to?(c=b,b=a.prevSibling):b=a}return c}get node(){return this}get next(){return this.parent}}class v extends u{constructor(a,b,c,d){super(),this._tree=a,this.from=b,this.index=c,this._parent=d}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(a,b,c,e,f=0){for(let g=this;;){for(let{children:h,positions:i}=g._tree,k=b>0?h.length:-1;a!=k;a+=b){let k=h[a],l=i[a]+g.from,m;if(f&d.EnterBracketed&&k instanceof p&&(m=j.get(k))&&!m.overlay&&m.bracketed&&c>=l&&c<=l+k.length||s(e,c,l,l+k.length)){if(k instanceof r){if(f&d.ExcludeBuffers)continue;let h=k.findChild(0,k.buffer.length,b,c-l,e);if(h>-1)return new z(new y(g,k,a,l),null,h)}else if(f&d.IncludeAnonymous||!k.type.isAnonymous||D(k)){let h;if(!(f&d.IgnoreMounts)&&(h=j.get(k))&&!h.overlay)return new v(h.tree,l,a,g);let i=new v(k,l,a,g);return f&d.IncludeAnonymous||!i.type.isAnonymous?i:i.nextChild(b<0?k.children.length-1:0,b,c,e,f)}}}if(f&d.IncludeAnonymous||!g.type.isAnonymous||(a=g.index>=0?g.index+b:b<0?-1:g._parent._tree.children.length,!(g=g._parent)))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(a){return this.nextChild(0,1,a,2)}childBefore(a){return this.nextChild(this._tree.children.length-1,-1,a,-2)}prop(a){return this._tree.prop(a)}enter(a,b,c=0){let e;if(!(c&d.IgnoreOverlays)&&(e=j.get(this._tree))&&e.overlay){let f=a-this.from,g=c&d.EnterBracketed&&e.bracketed;for(let{from:a,to:c}of e.overlay)if((b>0||g?a<=f:a<f)&&(b<0||g?c>=f:c>f))return new v(e.tree,e.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,a,b,c)}nextSignificantParent(){let a=this;for(;a.type.isAnonymous&&a._parent;)a=a._parent;return a}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}}function w(a,b,c,d){let e=a.cursor(),f=[];if(!e.firstChild())return f;if(null!=c){for(let a=!1;!a;)if(a=e.type.is(c),!e.nextSibling())return f}for(;;){if(null!=d&&e.type.is(d))return f;if(e.type.is(b)&&f.push(e.node),!e.nextSibling())return null==d?f:[]}}function x(a,b,c=b.length-1){for(let d=a;c>=0;d=d.parent){if(!d)return!1;if(!d.type.isAnonymous){if(b[c]&&b[c]!=d.name)return!1;c--}}return!0}class y{constructor(a,b,c,d){this.parent=a,this.buffer=b,this.index=c,this.start=d}}class z extends u{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(a,b,c){super(),this.context=a,this._parent=b,this.index=c,this.type=a.buffer.set.types[a.buffer.buffer[c]]}child(a,b,c){let{buffer:d}=this.context,e=d.findChild(this.index+4,d.buffer[this.index+3],a,b-this.context.start,c);return e<0?null:new z(this.context,this,e)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(a){return this.child(1,a,2)}childBefore(a){return this.child(-1,a,-2)}prop(a){return this.type.prop(a)}enter(a,b,c=0){if(c&d.ExcludeBuffers)return null;let{buffer:e}=this.context,f=e.findChild(this.index+4,e.buffer[this.index+3],b>0?1:-1,a-this.context.start,b);return f<0?null:new z(this.context,this,f)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(a){return this._parent?null:this.context.parent.nextChild(this.context.index+a,a,0,4)}get nextSibling(){let{buffer:a}=this.context,b=a.buffer[this.index+3];return b<(this._parent?a.buffer[this._parent.index+3]:a.buffer.length)?new z(this.context,this._parent,b):this.externalSibling(1)}get prevSibling(){let{buffer:a}=this.context,b=this._parent?this._parent.index+4:0;return this.index==b?this.externalSibling(-1):new z(this.context,this._parent,a.findChild(b,this.index,-1,0,4))}get tree(){return null}toTree(){let a=[],b=[],{buffer:c}=this.context,d=this.index+4,e=c.buffer[this.index+3];if(e>d){let f=c.buffer[this.index+1];a.push(c.slice(d,e,f)),b.push(0)}return new p(this.type,a,b,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function A(a){if(!a.length)return null;let b=0,c=a[0];for(let d=1;d<a.length;d++){let e=a[d];(e.from>c.from||e.to<c.to)&&(c=e,b=d)}let d=c instanceof v&&c.index<0?null:c.parent,e=a.slice();return d?e[b]=d:e.splice(b,1),new B(e,c)}class B{constructor(a,b){this.heads=a,this.node=b}get next(){return A(this.heads)}}class C{get name(){return this.type.name}constructor(a,b=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=b&~d.EnterBracketed,a instanceof v)this.yieldNode(a);else{this._tree=a.context.parent,this.buffer=a.context;for(let b=a._parent;b;b=b._parent)this.stack.unshift(b.index);this.bufferNode=a,this.yieldBuf(a.index)}}yieldNode(a){return!!a&&(this._tree=a,this.type=a.type,this.from=a.from,this.to=a.to,!0)}yieldBuf(a,b){this.index=a;let{start:c,buffer:d}=this.buffer;return this.type=b||d.set.types[d.buffer[a]],this.from=c+d.buffer[a+1],this.to=c+d.buffer[a+2],!0}yield(a){return!!a&&(a instanceof v?(this.buffer=null,this.yieldNode(a)):(this.buffer=a.context,this.yieldBuf(a.index,a.type)))}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(a,b,c){if(!this.buffer)return this.yield(this._tree.nextChild(a<0?this._tree._tree.children.length-1:0,a,b,c,this.mode));let{buffer:d}=this.buffer,e=d.findChild(this.index+4,d.buffer[this.index+3],a,b-this.buffer.start,c);return!(e<0)&&(this.stack.push(this.index),this.yieldBuf(e))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(a){return this.enterChild(1,a,2)}childBefore(a){return this.enterChild(-1,a,-2)}enter(a,b,c=this.mode){return this.buffer?!(c&d.ExcludeBuffers)&&this.enterChild(1,a,b):this.yield(this._tree.enter(a,b,c))}parent(){if(!this.buffer)return this.yieldNode(this.mode&d.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let a=this.mode&d.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(a)}sibling(a){if(!this.buffer)return!!this._tree._parent&&this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+a,a,0,4,this.mode));let{buffer:b}=this.buffer,c=this.stack.length-1;if(a<0){let a=c<0?0:this.stack[c]+4;if(this.index!=a)return this.yieldBuf(b.findChild(a,this.index,-1,0,4))}else{let a=b.buffer[this.index+3];if(a<(c<0?b.buffer.length:b.buffer[this.stack[c]+3]))return this.yieldBuf(a)}return c<0&&this.yield(this.buffer.parent.nextChild(this.buffer.index+a,a,0,4,this.mode))}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(a){let b,c,{buffer:e}=this;if(e){if(a>0){if(this.index<e.buffer.buffer.length)return!1}else for(let a=0;a<this.index;a++)if(e.buffer.buffer[a+3]<this.index)return!1;({index:b,parent:c}=e)}else({index:b,_parent:c}=this._tree);for(;c;{index:b,_parent:c}=c)if(b>-1)for(let e=b+a,f=a<0?-1:c._tree.children.length;e!=f;e+=a){let a=c._tree.children[e];if(this.mode&d.IncludeAnonymous||a instanceof r||!a.type.isAnonymous||D(a))return!1}return!0}move(a,b){if(b&&this.enterChild(a,0,4))return!0;for(;;){if(this.sibling(a))return!0;if(this.atLastNode(a)||!this.parent())return!1}}next(a=!0){return this.move(1,a)}prev(a=!0){return this.move(-1,a)}moveTo(a,b=0){for(;(this.from==this.to||(b<1?this.from>=a:this.from>a)||(b>-1?this.to<=a:this.to<a))&&this.parent(););for(;this.enterChild(1,a,b););return this}get node(){if(!this.buffer)return this._tree;let a=this.bufferNode,b=null,c=0;if(a&&a.context==this.buffer)a:for(let d=this.index,e=this.stack.length;e>=0;){for(let f=a;f;f=f._parent)if(f.index==d){if(d==this.index)return f;b=f,c=e+1;break a}d=this.stack[--e]}for(let a=c;a<this.stack.length;a++)b=new z(this.buffer,b,this.stack[a]);return this.bufferNode=new z(this.buffer,b,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(a,b){for(let c=0;;){let d=!1;if(this.type.isAnonymous||!1!==a(this)){if(this.firstChild()){c++;continue}this.type.isAnonymous||(d=!0)}for(;;){if(d&&b&&b(this),d=this.type.isAnonymous,!c)return;if(this.nextSibling())break;this.parent(),c--,d=!0}}}matchContext(a){if(!this.buffer)return x(this.node.parent,a);let{buffer:b}=this.buffer,{types:c}=b.set;for(let d=a.length-1,e=this.stack.length-1;d>=0;e--){if(e<0)return x(this._tree,a,d);let f=c[b.buffer[this.stack[e]]];if(!f.isAnonymous){if(a[d]&&a[d]!=f.name)return!1;d--}}return!0}}function D(a){return a.children.some(a=>a instanceof r||!a.type.isAnonymous||D(a))}let E=new WeakMap;function F(a,b){if(!a.isAnonymous||b instanceof r||b.type!=a)return 1;let c=E.get(b);if(null==c){for(let d of(c=1,b.children)){if(d.type!=a||!(d instanceof p)){c=1;break}c+=F(a,d)}E.set(b,c)}return c}function G(a,b,c,d,e,f,g,h,i){let j=0;for(let c=d;c<e;c++)j+=F(a,b[c]);let k=Math.ceil(1.5*j/8),l=[],m=[];return!function b(c,d,e,g,h){for(let j=e;j<g;){let e=j,n=d[j],o=F(a,c[j]);for(j++;j<g;j++){let b=F(a,c[j]);if(o+b>=k)break;o+=b}if(j==e+1){if(o>k){let a=c[e];b(a.children,a.positions,0,a.children.length,d[e]+h);continue}l.push(c[e])}else{let b=d[j-1]+c[j-1].length-n;l.push(G(a,c,d,e,j,n,b,null,i))}m.push(n+h-f)}}(b,c,d,e,0),(h||i)(l,m,g)}class H{constructor(){this.map=new WeakMap}setBuffer(a,b,c){let d=this.map.get(a);d||this.map.set(a,d=new Map),d.set(b,c)}getBuffer(a,b){let c=this.map.get(a);return c&&c.get(b)}set(a,b){a instanceof z?this.setBuffer(a.context.buffer,a.index,b):a instanceof v&&this.map.set(a.tree,b)}get(a){return a instanceof z?this.getBuffer(a.context.buffer,a.index):a instanceof v?this.map.get(a.tree):void 0}cursorSet(a,b){a.buffer?this.setBuffer(a.buffer.buffer,a.index,b):this.map.set(a.tree,b)}cursorGet(a){return a.buffer?this.getBuffer(a.buffer.buffer,a.index):this.map.get(a.tree)}}class I{constructor(a,b,c,d,e=!1,f=!1){this.from=a,this.to=b,this.tree=c,this.offset=d,this.open=!!e|2*!!f}get openStart(){return(1&this.open)>0}get openEnd(){return(2&this.open)>0}static addTree(a,b=[],c=!1){let d=[new I(0,a.length,a,0,!1,c)];for(let c of b)c.to>a.length&&d.push(c);return d}static applyChanges(a,b,c=128){if(!b.length)return a;let d=[],e=1,f=a.length?a[0]:null;for(let g=0,h=0,i=0;;g++){let j=g<b.length?b[g]:null,k=j?j.fromA:1e9;if(k-h>=c)for(;f&&f.from<k;){let b=f;if(h>=b.from||k<=b.to||i){let a=Math.max(b.from,h)-i,c=Math.min(b.to,k)-i;b=a>=c?null:new I(a,c,b.tree,b.offset+i,g>0,!!j)}if(b&&d.push(b),f.to>k)break;f=e<a.length?a[e++]:null}if(!j)break;h=j.toA,i=j.toA-j.toB}return d}}class J{startParse(a,b,c){return"string"==typeof a&&(a=new K(a)),c=c?c.length?c.map(a=>new h(a.from,a.to)):[new h(0,0)]:[new h(0,a.length)],this.createParse(a,b||[],c)}parse(a,b,c){let d=this.startParse(a,b,c);for(;;){let a=d.advance();if(a)return a}}}class K{constructor(a){this.string=a}get length(){return this.string.length}chunk(a){return this.string.slice(a)}get lineChunks(){return!1}read(a,b){return this.string.slice(a,b)}}function L(a){return(b,c,d,e)=>new Q(b,a,c,d,e)}class M{constructor(a,b,c,d,e,f){this.parser=a,this.parse=b,this.overlay=c,this.bracketed=d,this.target=e,this.from=f}}function N(a){if(!a.length||a.some(a=>a.from>=a.to))throw RangeError("Invalid inner parse ranges given: "+JSON.stringify(a))}class O{constructor(a,b,c,d,e,f,g,h){this.parser=a,this.predicate=b,this.mounts=c,this.index=d,this.start=e,this.bracketed=f,this.target=g,this.prev=h,this.depth=0,this.ranges=[]}}let P=new i({perNode:!0});class Q{constructor(a,b,c,d,e){this.nest=b,this.input=c,this.fragments=d,this.ranges=e,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=a}advance(){if(this.baseParse){let a=this.baseParse.advance();if(!a)return null;if(this.baseParse=null,this.baseTree=a,this.startInner(),null!=this.stoppedAt)for(let a of this.inner)a.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let a=this.baseTree;return null!=this.stoppedAt&&(a=new p(a.type,a.children,a.positions,a.length,a.propValues.concat([[P,this.stoppedAt]]))),a}let a=this.inner[this.innerDone],b=a.parse.advance();if(b){this.innerDone++;let c=Object.assign(Object.create(null),a.target.props);c[i.mounted.id]=new j(b,a.overlay,a.parser,a.bracketed),a.target.props=c}return null}get parsedPos(){if(this.baseParse)return 0;let a=this.input.length;for(let b=this.innerDone;b<this.inner.length;b++)this.inner[b].from<a&&(a=Math.min(a,this.inner[b].parse.parsedPos));return a}stopAt(a){if(this.stoppedAt=a,this.baseParse)this.baseParse.stopAt(a);else for(let b=this.innerDone;b<this.inner.length;b++)this.inner[b].parse.stopAt(a)}startInner(){let a=new T(this.fragments),b=null,c=null,e=new C(new v(this.baseTree,this.ranges[0].from,0,null),d.IncludeAnonymous|d.IgnoreMounts);a:for(let d,f;;){let g=!0,i;if(null!=this.stoppedAt&&e.from>=this.stoppedAt)g=!1;else if(a.hasNode(e)){if(b){let a=b.mounts.find(a=>a.frag.from<=e.from&&a.frag.to>=e.to&&a.mount.overlay);if(a)for(let c of a.mount.overlay){let d=c.from+a.pos,f=c.to+a.pos;d>=e.from&&f<=e.to&&!b.ranges.some(a=>a.from<f&&a.to>d)&&b.ranges.push({from:d,to:f})}}g=!1}else if(c&&(f=function(a,b,c){for(let d of a){if(d.from>=c)break;if(d.to>b)return d.from<=b&&d.to>=c?2:1}return 0}(c.ranges,e.from,e.to)))g=2!=f;else if(!e.type.isAnonymous&&(d=this.nest(e,this.input))&&(e.from<e.to||!d.overlay)){!e.tree&&(function(a){let{node:b}=a,c=[],d=b.context.buffer;do c.push(a.index),a.parent();while(!a.tree);let e=a.tree,f=e.children.indexOf(d),g=e.children[f],h=g.buffer,i=[f];for(let d of(e.children[f]=function a(d,e,f,j,k,l){let m=c[l],n=[],o=[];R(g,d,m,n,o,j);let q=h[m+1],r=h[m+2];i.push(n.length);let s=l?a(m+4,h[m+3],g.set.types[h[m]],q,r-q,l-1):b.toTree();return n.push(s),o.push(q-j),R(g,h[m+3],e,n,o,j),new p(f,n,o,k)}(0,h.length,l.none,0,g.length,c.length-1),i)){let b=a.tree.children[d],c=a.tree.positions[d];a.yield(new v(b,c+a.from,d,a._tree))}}(e),b&&b.depth++,c&&c.depth++);let f=a.findMounts(e.from,d.parser);if("function"==typeof d.overlay)b=new O(d.parser,d.overlay,f,this.inner.length,e.from,!!d.bracketed,e.tree,b);else{let a=U(this.ranges,d.overlay||(e.from<e.to?[new h(e.from,e.to)]:[]));a.length&&N(a),(a.length||!d.overlay)&&this.inner.push(new M(d.parser,a.length?d.parser.startParse(this.input,V(f,a),a):d.parser.startParse(""),d.overlay?d.overlay.map(a=>new h(a.from-e.from,a.to-e.from)):null,!!d.bracketed,e.tree,a.length?a[0].from:e.from)),d.overlay?a.length&&(c={ranges:a,depth:0,prev:c}):g=!1}}else if(b&&(i=b.predicate(e))&&(!0===i&&(i=new h(e.from,e.to)),i.from<i.to)){let a=b.ranges.length-1;a>=0&&b.ranges[a].to==i.from?b.ranges[a]={from:b.ranges[a].from,to:i.to}:b.ranges.push(i)}if(g&&e.firstChild())b&&b.depth++,c&&c.depth++;else for(;!e.nextSibling();){if(!e.parent())break a;if(b&&!--b.depth){let a=U(this.ranges,b.ranges);a.length&&(N(a),this.inner.splice(b.index,0,new M(b.parser,b.parser.startParse(this.input,V(b.mounts,a),a),b.ranges.map(a=>new h(a.from-b.start,a.to-b.start)),b.bracketed,b.target,a[0].from))),b=b.prev}!c||--c.depth||(c=c.prev)}}}}function R(a,b,c,d,e,f){if(b<c){let g=a.buffer[b+1];d.push(a.slice(b,c,g)),e.push(g-f)}}class S{constructor(a,b){this.offset=b,this.done=!1,this.cursor=a.cursor(d.IncludeAnonymous|d.IgnoreMounts)}moveTo(a){let{cursor:b}=this,c=a-this.offset;for(;!this.done&&b.from<c;)if(b.to>=a&&b.enter(c,1,d.IgnoreOverlays|d.ExcludeBuffers));else if(b.to<=a)b.next(!1)||(this.done=!0);else break}hasNode(a){if(this.moveTo(a.from),!this.done&&this.cursor.from+this.offset==a.from&&this.cursor.tree)for(let b=this.cursor.tree;;){if(b==a.tree)return!0;if(b.children.length&&0==b.positions[0]&&b.children[0]instanceof p)b=b.children[0];else break}return!1}}class T{constructor(a){var b;if(this.fragments=a,this.curTo=0,this.fragI=0,a.length){let c=this.curFrag=a[0];this.curTo=null!=(b=c.tree.prop(P))?b:c.to,this.inner=new S(c.tree,-c.offset)}else this.curFrag=this.inner=null}hasNode(a){for(;this.curFrag&&a.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=a.from&&this.curTo>=a.to&&this.inner.hasNode(a)}nextFrag(){var a;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let b=this.curFrag=this.fragments[this.fragI];this.curTo=null!=(a=b.tree.prop(P))?a:b.to,this.inner=new S(b.tree,-b.offset)}}findMounts(a,b){var c;let d=[];if(this.inner){this.inner.cursor.moveTo(a,1);for(let a=this.inner.cursor.node;a;a=a.parent){let e=null==(c=a.tree)?void 0:c.prop(i.mounted);if(e&&e.parser==b)for(let b=this.fragI;b<this.fragments.length;b++){let c=this.fragments[b];if(c.from>=a.to)break;c.tree==this.curFrag.tree&&d.push({frag:c,pos:a.from-c.offset,mount:e})}}}return d}}function U(a,b){let c=null,d=b;for(let e=1,f=0;e<a.length;e++){let g=a[e-1].to,i=a[e].from;for(;f<d.length;f++){let a=d[f];if(a.from>=i)break;!(a.to<=g)&&(c||(d=c=b.slice()),a.from<g?(c[f]=new h(a.from,g),a.to>i&&c.splice(f+1,0,new h(i,a.to))):a.to>i?c[f--]=new h(i,a.to):c.splice(f--,1))}}return d}function V(a,b){let c=[];for(let{pos:d,mount:e,frag:f}of a){let a=d+(e.overlay?e.overlay[0].from:0),g=a+e.tree.length,i=Math.max(f.from,a),j=Math.min(f.to,g);if(e.overlay){let g=function(a,b,c,d){let e=0,f=0,g=!1,i=!1,j=-1e9,k=[];for(;;){let l=e==a.length?1e9:g?a[e].to:a[e].from,m=f==b.length?1e9:i?b[f].to:b[f].from;if(g!=i){let a=Math.max(j,c),b=Math.min(l,m,d);a<b&&k.push(new h(a,b))}if(1e9==(j=Math.min(l,m)))break;l==j&&(g?(g=!1,e++):g=!0),m==j&&(i?(i=!1,f++):i=!0)}return k}(b,e.overlay.map(a=>new h(a.from+d,a.to+d)),i,j);for(let b=0,d=i;;b++){let h=b==g.length,i=h?j:g[b].from;if(i>d&&c.push(new I(d,i,e.tree,-a,f.from>=d||f.openStart,f.to<=i||f.openEnd)),h)break;d=g[b].to}}else c.push(new I(i,j,e.tree,-a,f.from>=a||f.openStart,f.to<=g||f.openEnd))}return c}},36554:(a,b,c)=>{let d;c.d(b,{NZ:()=>I,OP:()=>ai,Lz:()=>cK,wJ:()=>dm,Z9:()=>aP,xO:()=>G,ld:()=>dd,Eg:()=>db,dz:()=>cZ,w4:()=>cS,$K:()=>dE,c_:()=>aL,TS:()=>cV,ui:()=>di,S7:()=>dh,DK:()=>c9});for(var e,f,g,h=c(44072),i=c(64735),j={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},k={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},l="u">typeof navigator&&/Mac/.test(navigator.platform),m="u">typeof navigator&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent),n=0;n<10;n++)j[48+n]=j[96+n]=String(n);for(var n=1;n<=24;n++)j[n+111]="F"+n;for(var n=65;n<=90;n++)j[n]=String.fromCharCode(n+32),k[n]=String.fromCharCode(n);for(var o in j)k.hasOwnProperty(o)||(k[o]=j[o]);var p=c(60230);let q="u">typeof navigator?navigator:{userAgent:"",vendor:"",platform:""},r="u">typeof document?document:{documentElement:{style:{}}},s=/Edge\/(\d+)/.exec(q.userAgent),t=/MSIE \d/.test(q.userAgent),u=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(q.userAgent),v=!!(t||u||s),w=!v&&/gecko\/(\d+)/i.test(q.userAgent),x=!v&&/Chrome\/(\d+)/.exec(q.userAgent),y="webkitFontSmoothing"in r.documentElement.style,z=!v&&/Apple Computer/.test(q.vendor),A=z&&(/Mobile\/\w+/.test(q.userAgent)||q.maxTouchPoints>2);var B={mac:A||/Mac/.test(q.platform),windows:/Win/.test(q.platform),linux:/Linux|X11/.test(q.platform),ie:v,ie_version:t?r.documentMode||6:u?+u[1]:s?+s[1]:0,gecko:w,gecko_version:w?+(/Firefox\/(\d+)/.exec(q.userAgent)||[0,0])[1]:0,chrome:!!x,chrome_version:x?+x[1]:0,ios:A,android:/Android\b/.test(q.userAgent),webkit:y,webkit_version:y?+(/\bAppleWebKit\/(\d+)/.exec(q.userAgent)||[0,0])[1]:0,safari:z,safari_version:z?+(/\bVersion\/(\d+(\.\d+)?)/.exec(q.userAgent)||[0,0])[1]:0,tabSize:null!=r.documentElement.style.tabSize?"tab-size":"-moz-tab-size"};function C(a,b){for(let c in a)"class"==c&&b.class?b.class+=" "+a.class:"style"==c&&b.style?b.style+=";"+a.style:b[c]=a[c];return b}let D=Object.create(null);function E(a,b,c){if(a==b)return!0;a||(a=D),b||(b=D);let d=Object.keys(a),e=Object.keys(b);if(d.length-(c&&d.indexOf(c)>-1?1:0)!=e.length-(c&&e.indexOf(c)>-1?1:0))return!1;for(let f of d)if(f!=c&&(-1==e.indexOf(f)||a[f]!==b[f]))return!1;return!0}function F(a,b,c){let d=!1;if(b)for(let e in b)c&&e in c||(d=!0,"style"==e?a.style.cssText="":a.removeAttribute(e));if(c)for(let e in c)b&&b[e]==c[e]||(d=!0,"style"==e?a.style.cssText=c[e]:a.setAttribute(e,c[e]));return d}class G{eq(a){return!1}updateDOM(a,b,c){return!1}compare(a){return this==a||this.constructor==a.constructor&&this.eq(a)}get estimatedHeight(){return -1}get lineBreaks(){return 0}ignoreEvent(a){return!0}coordsAt(a,b,c){return null}get isHidden(){return!1}get editable(){return!1}destroy(a){}}var H=((e=H||(H={}))[e.Text=0]="Text",e[e.WidgetBefore=1]="WidgetBefore",e[e.WidgetAfter=2]="WidgetAfter",e[e.WidgetRange=3]="WidgetRange",e);class I extends h.FB{constructor(a,b,c,d){super(),this.startSide=a,this.endSide=b,this.widget=c,this.spec=d}get heightRelevant(){return!1}static mark(a){return new J(a)}static widget(a){let b=Math.max(-1e4,Math.min(1e4,a.side||0)),c=!!a.block;return b+=c&&!a.inlineOrder?b>0?3e8:-4e8:b>0?1e8:-1e8,new L(a,b,b,c,a.widget||null,!1)}static replace(a){let b=!!a.block,c,d;if(a.isBlockGap)c=-5e8,d=4e8;else{let{start:e,end:f}=M(a,b);c=(e?b?-3e8:-1:5e8)-1,d=(f?b?2e8:1:-6e8)+1}return new L(a,c,d,b,a.widget||null,!0)}static line(a){return new K(a)}static set(a,b=!1){return h.om.of(a,b)}hasHeight(){return!!this.widget&&this.widget.estimatedHeight>-1}}I.none=h.om.empty;class J extends I{constructor(a){let{start:b,end:c}=M(a);super(b?-1:5e8,c?1:-6e8,null,a),this.tagName=a.tagName||"span",this.attrs=a.class&&a.attributes?C(a.attributes,{class:a.class}):a.class?{class:a.class}:a.attributes||D}eq(a){return this==a||a instanceof J&&this.tagName==a.tagName&&E(this.attrs,a.attrs)}range(a,b=a){if(a>=b)throw RangeError("Mark decorations may not be empty");return super.range(a,b)}}J.prototype.point=!1;class K extends I{constructor(a){super(-2e8,-2e8,null,a)}eq(a){return a instanceof K&&this.spec.class==a.spec.class&&E(this.spec.attributes,a.spec.attributes)}range(a,b=a){if(b!=a)throw RangeError("Line decoration ranges must be zero-length");return super.range(a,b)}}K.prototype.mapMode=h.iR.TrackBefore,K.prototype.point=!0;class L extends I{constructor(a,b,c,d,e,f){super(b,c,e,a),this.block=d,this.isReplace=f,this.mapMode=d?b<=0?h.iR.TrackBefore:h.iR.TrackAfter:h.iR.TrackDel}get type(){return this.startSide!=this.endSide?H.WidgetRange:this.startSide<=0?H.WidgetBefore:H.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(a){var b,c;return a instanceof L&&(b=this.widget,b==(c=a.widget)||!!(b&&c&&b.compare(c)))&&this.block==a.block&&this.startSide==a.startSide&&this.endSide==a.endSide}range(a,b=a){if(this.isReplace&&(a>b||a==b&&this.startSide>0&&this.endSide<=0))throw RangeError("Invalid range for replacement decoration");if(!this.isReplace&&b!=a)throw RangeError("Widget decorations can only have zero-length ranges");return super.range(a,b)}}function M(a,b=!1){let{inclusiveStart:c,inclusiveEnd:d}=a;return null==c&&(c=a.inclusive),null==d&&(d=a.inclusive),{start:null!=c?c:b,end:null!=d?d:b}}function N(a,b,c,d=0){let e=c.length-1;e>=0&&c[e]+d>=a?c[e]=Math.max(c[e],b):c.push(a,b)}L.prototype.point=!0;class O extends h.FB{constructor(a,b,c){super(),this.tagName=a,this.attributes=b,this.rank=c}eq(a){return a==this||a instanceof O&&this.tagName==a.tagName&&E(this.attributes,a.attributes)}static create(a){return new O(a.tagName,a.attributes||D,null==a.rank?50:Math.max(0,Math.min(a.rank,100)))}static set(a,b=!1){return h.om.of(a,b)}}function P(a){return(11==a.nodeType?a.getSelection?a:a.ownerDocument:a).getSelection()}function Q(a,b){return!!b&&(a==b||a.contains(1!=b.nodeType?b.parentNode:b))}function R(a,b){if(!b.anchorNode)return!1;try{return Q(a,b.anchorNode)}catch(a){return!1}}function S(a){return 3==a.nodeType?ac(a,0,a.nodeValue.length).getClientRects():1==a.nodeType?a.getClientRects():[]}function T(a,b,c,d){return!!c&&(W(a,b,c,d,-1)||W(a,b,c,d,1))}function U(a){for(var b=0;;b++)if(!(a=a.previousSibling))return b}function V(a){return 1==a.nodeType&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(a.nodeName)}function W(a,b,c,d,e){for(;;){if(a==c&&b==d)return!0;if(b==(e<0?0:X(a))){if("DIV"==a.nodeName)return!1;let c=a.parentNode;if(!c||1!=c.nodeType)return!1;b=U(a)+(e<0?0:1),a=c}else{if(1!=a.nodeType||1==(a=a.childNodes[b+(e<0?-1:0)]).nodeType&&"false"==a.contentEditable)return!1;b=e<0?X(a):0}}}function X(a){return 3==a.nodeType?a.nodeValue.length:a.childNodes.length}function Y(a,b){let c=b?a.left:a.right;return{left:c,right:c,top:a.top,bottom:a.bottom}}function Z(a,b){let c=b.width/a.offsetWidth,d=b.height/a.offsetHeight;return(c>.995&&c<1.005||!isFinite(c)||1>Math.abs(b.width-a.offsetWidth))&&(c=1),(d>.995&&d<1.005||!isFinite(d)||1>Math.abs(b.height-a.offsetHeight))&&(d=1),{scaleX:c,scaleY:d}}function $(a,b=!0){let c=a.ownerDocument,d=null,e=null;for(let f=a.parentNode;f;)if(f==c.body||(!b||d)&&e)break;else if(1==f.nodeType)!e&&f.scrollHeight>f.clientHeight&&(e=f),b&&!d&&f.scrollWidth>f.clientWidth&&(d=f),f=f.assignedSlot||f.parentNode;else if(11==f.nodeType)f=f.host;else break;return{x:d,y:e}}O.prototype.startSide=O.prototype.endSide=-1;class _{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(a){return this.anchorNode==a.anchorNode&&this.anchorOffset==a.anchorOffset&&this.focusNode==a.focusNode&&this.focusOffset==a.focusOffset}setRange(a){let{anchorNode:b,focusNode:c}=a;this.set(b,Math.min(a.anchorOffset,b?X(b):0),c,Math.min(a.focusOffset,c?X(c):0))}set(a,b,c,d){this.anchorNode=a,this.anchorOffset=b,this.focusNode=c,this.focusOffset=d}}let aa=null;function ab(a){if(a.setActive)return a.setActive();if(aa)return a.focus(aa);let b=[];for(let c=a;c&&(b.push(c,c.scrollTop,c.scrollLeft),c!=c.ownerDocument);c=c.parentNode);if(a.focus(null==aa?{get preventScroll(){return aa={preventScroll:!0},!0}}:void 0),!aa){aa=!1;for(let a=0;a<b.length;){let c=b[a++],d=b[a++],e=b[a++];c.scrollTop!=d&&(c.scrollTop=d),c.scrollLeft!=e&&(c.scrollLeft=e)}}}function ac(a,b,c=b){let e=d||(d=document.createRange());return e.setEnd(a,c),e.setStart(a,b),e}function ad(a,b,c,d){let e={key:b,code:b,keyCode:c,which:c,cancelable:!0};d&&({altKey:e.altKey,ctrlKey:e.ctrlKey,shiftKey:e.shiftKey,metaKey:e.metaKey}=d);let f=new KeyboardEvent("keydown",e);f.synthetic=!0,a.dispatchEvent(f);let g=new KeyboardEvent("keyup",e);return g.synthetic=!0,a.dispatchEvent(g),f.defaultPrevented||g.defaultPrevented}function ae(a){return a instanceof Window?a.pageYOffset>Math.max(0,a.document.documentElement.scrollHeight-a.innerHeight-4):a.scrollTop>Math.max(1,a.scrollHeight-a.clientHeight-4)}function af(a,b){for(let c=a,d=b;;)if(3==c.nodeType&&d>0)return{node:c,offset:d};else if(1==c.nodeType&&d>0){if("false"==c.contentEditable)return null;d=X(c=c.childNodes[d-1])}else{if(!c.parentNode||V(c))return null;d=U(c),c=c.parentNode}}function ag(a,b){for(let c=a,d=b;;)if(3==c.nodeType&&d<c.nodeValue.length)return{node:c,offset:d};else if(1==c.nodeType&&d<c.childNodes.length){if("false"==c.contentEditable)return null;c=c.childNodes[d],d=0}else{if(!c.parentNode||V(c))return null;d=U(c)+1,c=c.parentNode}}B.safari&&B.safari_version>=26&&(aa=!1);class ah{constructor(a,b,c=!0){this.node=a,this.offset=b,this.precise=c}static before(a,b){return new ah(a.parentNode,U(a),b)}static after(a,b){return new ah(a.parentNode,U(a)+1,b)}}var ai=((f=ai||(ai={}))[f.LTR=0]="LTR",f[f.RTL=1]="RTL",f);let aj=ai.LTR,ak=ai.RTL;function al(a){let b=[];for(let c=0;c<a.length;c++)b.push(1<<a[c]);return b}let am=al("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),an=al("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),ao=Object.create(null),ap=[];for(let a of["()","[]","{}"]){let b=a.charCodeAt(0),c=a.charCodeAt(1);ao[b]=c,ao[c]=-b}function aq(a){return a<=247?am[a]:1424<=a&&a<=1524?2:1536<=a&&a<=1785?an[a-1536]:1774<=a&&a<=2220?4:8192<=a&&a<=8204?256:64336<=a&&a<=65023?4:1}let ar=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/;class as{get dir(){return this.level%2?ak:aj}constructor(a,b,c){this.from=a,this.to=b,this.level=c}side(a,b){return this.dir==b==a?this.to:this.from}forward(a,b){return a==(this.dir==b)}static find(a,b,c,d){let e=-1;for(let f=0;f<a.length;f++){let g=a[f];if(g.from<=b&&g.to>=b){if(g.level==c)return f;(e<0||(0!=d?d<0?g.from<b:g.to>b:a[e].level>g.level))&&(e=f)}}if(e<0)throw RangeError("Index out of range");return e}}let at=[];function au(a){return[new as(0,a,0)]}let av="",aw=h.sj.define(),ax=h.sj.define(),ay=h.sj.define(),az=h.sj.define(),aA=h.sj.define(),aB=h.sj.define(),aC=h.sj.define(),aD=h.sj.define(),aE=h.sj.define(),aF=h.sj.define({combine:a=>a.some(a=>a)}),aG=h.sj.define({combine:a=>a.some(a=>a)}),aH=h.sj.define();class aI{constructor(a,b,c,d,e,f=!1){this.range=a,this.y=b,this.x=c,this.yMargin=d,this.xMargin=e,this.isSnapshot=f}map(a){return a.empty?this:new aI(this.range.map(a),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(a){return this.range.to<=a.doc.length?this:new aI(h.OF.cursor(a.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}let aJ=h.Pe.define({map:(a,b)=>a.map(b)}),aK=h.Pe.define();function aL(a,b,c){let d=a.facet(az);d.length?d[0](b):window.onerror&&window.onerror(String(b),c,void 0,void 0,b)||(c?console.error(c+":",b):console.error(b))}let aM=h.sj.define({combine:a=>!a.length||a[0]}),aN=0,aO=h.sj.define({combine:a=>a.filter((b,c)=>{for(let d=0;d<c;d++)if(a[d].plugin==b.plugin)return!1;return!0})});class aP{constructor(a,b,c,d,e){this.id=a,this.create=b,this.domEventHandlers=c,this.domEventObservers=d,this.baseExtensions=e(this),this.extension=this.baseExtensions.concat(aO.of({plugin:this,arg:void 0}))}of(a){return this.baseExtensions.concat(aO.of({plugin:this,arg:a}))}static define(a,b){let{eventHandlers:c,eventObservers:d,provide:e,decorations:f}=b||{};return new aP(aN++,a,c,d,a=>{let b=[];return f&&b.push(aT.of(b=>{let c=b.plugin(a);return c?f(c):I.none})),e&&b.push(e(a)),b})}static fromClass(a,b){return aP.define((b,c)=>new a(b,c),b)}}class aQ{constructor(a){this.spec=a,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(a){if(this.value){if(this.mustUpdate){let a=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(a)}catch(b){if(aL(a.state,b,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch(a){}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(a,this.spec.arg)}catch(b){aL(a.state,b,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(a){var b;if(null==(b=this.value)?void 0:b.destroy)try{this.value.destroy()}catch(b){aL(a.state,b,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}let aR=h.sj.define(),aS=h.sj.define(),aT=h.sj.define(),aU=h.sj.define(),aV=h.sj.define(),aW=h.sj.define(),aX=h.sj.define();function aY(a,b){let c=a.state.facet(aX);if(!c.length)return c;let d=c.map(b=>b instanceof Function?b(a):b),e=[];return h.om.spans(d,b.from,b.to,{point(){},span(a,c,d,f){let g=a-b.from,h=c-b.from,i=e;for(let a=d.length-1;a>=0;a--,f--){let c=d[a].spec.bidiIsolate,e;if(null==c&&(c=function(a,b,c){for(let d=b;d<c;d++){let b=aq(a.charCodeAt(d));if(1==b)break;if(2==b||4==b)return ak}return aj}(b.text,g,h)),f>0&&i.length&&(e=i[i.length-1]).to==g&&e.direction==c)e.to=h,i=e.inner;else{let a={from:g,to:h,direction:c,inner:[]};i.push(a),i=a.inner}}}}),e}let aZ=h.sj.define();function a$(a){let b=0,c=0,d=0,e=0;for(let f of a.state.facet(aZ)){let g=f(a);g&&(null!=g.left&&(b=Math.max(b,g.left)),null!=g.right&&(c=Math.max(c,g.right)),null!=g.top&&(d=Math.max(d,g.top)),null!=g.bottom&&(e=Math.max(e,g.bottom)))}return{left:b,right:c,top:d,bottom:e}}let a_=h.sj.define();class a0{constructor(a,b,c,d){this.fromA=a,this.toA=b,this.fromB=c,this.toB=d}join(a){return new a0(Math.min(this.fromA,a.fromA),Math.max(this.toA,a.toA),Math.min(this.fromB,a.fromB),Math.max(this.toB,a.toB))}addToSet(a){let b=a.length,c=this;for(;b>0;b--){let d=a[b-1];if(!(d.fromA>c.toA)){if(d.toA<c.fromA)break;c=c.join(d),a.splice(b-1,1)}}return a.splice(b,0,c),a}static extendWithRanges(a,b){if(0==b.length)return a;let c=[];for(let d=0,e=0,f=0;;){let g=Math.min(d<a.length?a[d].fromB:1e9,e<b.length?b[e]:1e9);if(1e9==g)break;let h=g+f,i=g,j=h;for(;;)if(e<b.length&&b[e]<=i){let c=b[e+1];e+=2,i=Math.max(i,c);for(let b=d;b<a.length&&a[b].fromB<=i;b++)f=a[b].toA-a[b].toB;j=Math.max(j,c+f)}else if(d<a.length&&a[d].fromB<=i){let b=a[d++];i=Math.max(i,b.toB),j=Math.max(j,b.toA),f=b.toA-b.toB}else break;c.push(new a0(h,j,g,i))}return c}}class a1{constructor(a,b,c){for(let d of(this.view=a,this.state=b,this.transactions=c,this.flags=0,this.startState=a.state,this.changes=h.VR.empty(this.startState.doc.length),c))this.changes=this.changes.compose(d.changes);let d=[];this.changes.iterChangedRanges((a,b,c,e)=>d.push(new a0(a,b,c,e))),this.changedRanges=d}static create(a,b,c){return new a1(a,b,c)}get viewportChanged(){return(4&this.flags)>0}get viewportMoved(){return(8&this.flags)>0}get heightChanged(){return(2&this.flags)>0}get geometryChanged(){return this.docChanged||(18&this.flags)>0}get focusChanged(){return(1&this.flags)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(a=>a.selection)}get empty(){return 0==this.flags&&0==this.transactions.length}}let a2=[];class a3{constructor(a,b,c=0){this.dom=a,this.length=b,this.flags=c,this.parent=null,a.cmTile=this}get breakAfter(){return 1&this.flags}get children(){return a2}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(a){if(this.flags|=2,4&this.flags){this.flags&=-5;let a=this.domAttrs;a&&function(a,b){for(let c=a.attributes.length-1;c>=0;c--){let d=a.attributes[c].name;null==b[d]&&a.removeAttribute(d)}for(let c in b){let d=b[c];"style"==c?a.style.cssText=d:a.getAttribute(c)!=d&&a.setAttribute(c,d)}}(this.dom,a)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(a){this.dom=a,a.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(a,b=this.posAtStart){let c=b;for(let b of this.children){if(b==a)return c;c+=b.length+b.breakAfter}throw RangeError("Invalid child in posBefore")}posAfter(a){return this.posBefore(a)+a.length}covers(a){return!0}coordsIn(a,b){return null}domPosFor(a,b){let c=U(this.dom),d=this.length?a>0:b>0;return new ah(this.parent.dom,c+ +!!d,0==a||a==this.length)}markDirty(a){this.flags&=-3,a&&(this.flags|=4),this.parent&&2&this.parent.flags&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let a=this;a;a=a.parent)if(a instanceof a6)return a;return null}static get(a){return a.cmTile}}class a4 extends a3{constructor(a){super(a,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(a){this.children.push(a),a.parent=this}sync(a){if(2&this.flags)return;super.sync(a);let b=this.dom,c=null,d,e=(null==a?void 0:a.node)==b?a:null,f=0;for(let g of this.children){if(g.sync(a),f+=g.length+g.breakAfter,d=c?c.nextSibling:b.firstChild,e&&d!=g.dom&&(e.written=!0),g.dom.parentNode==b)for(;d&&d!=g.dom;)d=a5(d);else b.insertBefore(g.dom,d);c=g.dom}for(d=c?c.nextSibling:b.firstChild,e&&d&&(e.written=!0);d;)d=a5(d);this.length=f}}function a5(a){let b=a.nextSibling;return a.parentNode.removeChild(a),b}class a6 extends a4{constructor(a,b){super(b),this.view=a}owns(a){for(;a;a=a.parent)if(a==this)return!0;return!1}isBlock(){return!0}nearest(a){for(;;){if(!a)return null;let b=a3.get(a);if(b&&this.owns(b))return b;a=a.parentNode}}blockTiles(a){for(let b=[],c=this,d=0,e=0;;)if(d==c.children.length){if(!b.length)return;(c=c.parent).breakAfter&&e++,d=b.pop()}else{let f=c.children[d++];if(f instanceof a7)b.push(d),c=f,d=0;else{let b=e+f.length,c=a(f,e);if(void 0!==c)return c;e=b+f.breakAfter}}}resolveBlock(a,b){let c,d=-1,e,f=-1;if(this.blockTiles((g,h)=>{let i=h+g.length;if(a>=h&&a<=i){if(g.isWidget()&&b>=-1&&b<=1){if(32&g.flags)return!0;16&g.flags&&(c=void 0)}(h<a||a==i&&(b<-1?g.length:g.covers(1)))&&(!c||!g.isWidget()&&c.isWidget())&&(c=g,d=a-h),(i>a||a==h&&(b>1?g.length:g.covers(-1)))&&(!e||!g.isWidget()&&e.isWidget())&&(e=g,f=a-h)}}),!c&&!e)throw Error("No tile at position "+a);return c&&b<0||!e?{tile:c,offset:d}:{tile:e,offset:f}}}class a7 extends a4{constructor(a,b){super(a),this.wrapper=b}isBlock(){return!0}covers(a){return!!this.children.length&&(a<0?this.children[0].covers(-1):this.lastChild.covers(1))}get domAttrs(){return this.wrapper.attributes}static of(a,b){let c=new a7(b||document.createElement(a.tagName),a);return b||(c.flags|=4),c}}class a8 extends a4{constructor(a,b){super(a),this.attrs=b}isLine(){return!0}static start(a,b,c){let d=new a8(b||document.createElement("div"),a);return b&&c||(d.flags|=4),d}get domAttrs(){return this.attrs}resolveInline(a,b,c){let d=null,e=-1,f=null,g=-1;!function a(h,i){for(let j=0,k=0;j<h.children.length&&k<=i;j++){let l=h.children[j],m=k+l.length;m>=i&&(l.isComposite()?a(l,i-k):(!f||f.isHidden&&(b>0||c&&function(a,b){let c=a.coordsIn(0,1),d=b.coordsIn(0,1);return c&&d&&d.top<c.bottom}(f,l)))&&(m>i||32&l.flags)?(f=l,g=i-k):(k<i||16&l.flags&&!l.isHidden)&&(d=l,e=i-k)),k=m}}(this,a);let h=(b<0?d:f)||d||f;return h?{tile:h,offset:h==d?e:g}:null}coordsIn(a,b){let c=this.resolveInline(a,b,!0);return c?c.tile.coordsIn(Math.max(0,c.offset),b):function(a){let b=a.dom.lastChild;if(!b)return a.dom.getBoundingClientRect();let c=S(b);return c[c.length-1]||null}(this)}domIn(a,b){let c=this.resolveInline(a,b);if(c){let{tile:a,offset:d}=c;if(this.dom.contains(a.dom))return a.isText()?new ah(a.dom,Math.min(a.dom.nodeValue.length,d)):a.domPosFor(d,16&a.flags?1:32&a.flags?-1:b);let e=c.tile.parent,f=!1;for(let a of e.children){if(f)return new ah(a.dom,0);a==c.tile&&(f=!0)}}return new ah(this.dom,0)}}class a9 extends a4{constructor(a,b){super(a),this.mark=b}get domAttrs(){return this.mark.attrs}static of(a,b){let c=new a9(b||document.createElement(a.tagName),a);return b||(c.flags|=4),c}}class ba extends a3{constructor(a,b){super(a,b.length),this.text=b}sync(a){2&this.flags||(super.sync(a),this.dom.nodeValue!=this.text&&(a&&a.node==this.dom&&(a.written=!0),this.dom.nodeValue=this.text))}isText(){return!0}toString(){return JSON.stringify(this.text)}coordsIn(a,b){let c=this.dom.nodeValue.length;a>c&&(a=c);let d=a,e=a,f=0;0==a&&b<0||a==c&&b>=0?!(B.chrome||B.gecko)&&(a?(d--,f=1):e<c&&(e++,f=-1)):b<0?d--:e<c&&e++;let g=ac(this.dom,d,e).getClientRects();if(!g.length)return null;let h=g[(f?f<0:b>=0)?0:g.length-1];return B.safari&&!f&&0==h.width&&(h=Array.prototype.find.call(g,a=>a.width)||h),f?Y(h,f<0):h||null}static of(a,b){let c=new ba(b||document.createTextNode(a),a);return b||(c.flags|=2),c}}class bb extends a3{constructor(a,b,c,d){super(a,b,d),this.widget=c}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(a){return!(48&this.flags)&&(this.flags&(a<0?64:128))>0}coordsIn(a,b){return this.coordsInWidget(a,b,!1)}coordsInWidget(a,b,c){let d=this.widget.coordsAt(this.dom,a,b);if(d)return d;if(c)return Y(this.dom.getBoundingClientRect(),this.length?0==a:b<=0);{let b=this.dom.getClientRects(),c=null;if(!b.length)return null;let d=!!(16&this.flags)||!(32&this.flags)&&a>0;for(let e=d?b.length-1:0;c=b[e],a>0?0!=e:e!=b.length-1&&!(c.top<c.bottom);e+=d?-1:1);return Y(c,!d)}}get overrideDOMText(){if(!this.length)return h.EY.empty;let{root:a}=this;if(!a)return h.EY.empty;let b=this.posAtStart;return a.view.state.doc.slice(b,b+this.length)}destroy(){super.destroy(),this.widget.destroy(this.dom)}static of(a,b,c,d,e){return!e&&(e=a.toDOM(b),a.editable||(e.contentEditable="false")),new bb(e,c,a,d)}}class bc extends a3{constructor(a){let b=document.createElement("img");b.className="cm-widgetBuffer",b.setAttribute("aria-hidden","true"),super(b,0,a)}get isHidden(){return!0}get overrideDOMText(){return h.EY.empty}coordsIn(a){return this.dom.getBoundingClientRect()}}class bd{constructor(a){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=a}advance(a,b,c){let{tile:d,index:e,beforeBreak:f,parents:g}=this;for(;a||b>0;)if(d.isComposite())if(f){if(!a)break;c&&c.break(),a--,f=!1}else if(e==d.children.length){if(!a&&!g.length)break;c&&c.leave(d),f=!!d.breakAfter,({tile:d,index:e}=g.pop()),e++}else{let h=d.children[e],i=h.breakAfter;(b>0?h.length<=a:h.length<a)&&(!c||!1!==c.skip(h,0,h.length)||!h.isComposite)?(f=!!i,e++,a-=h.length):(g.push({tile:d,index:e}),d=h,e=0,c&&h.isComposite()&&c.enter(h))}else if(e==d.length)f=!!d.breakAfter,({tile:d,index:e}=g.pop()),e++;else if(a){let b=Math.min(a,d.length-e);c&&c.skip(d,e,e+b),a-=b,e+=b}else break;return this.tile=d,this.index=e,this.beforeBreak=f,this}get root(){return this.parents.length?this.parents[0].tile:this.tile}}class be{constructor(a,b,c,d){this.from=a,this.to=b,this.wrapper=c,this.rank=d}}class bf{constructor(a,b,c){this.cache=a,this.root=b,this.blockWrappers=c,this.curLine=null,this.lastBlock=null,this.afterWidget=null,this.pos=0,this.wrappers=[],this.wrapperPos=0}addText(a,b,c,d){var e;this.flushBuffer();let f=this.ensureMarks(b,c),g=f.lastChild;g&&g.isText()&&!(8&g.flags)&&g.length+a.length<512?(this.cache.reused.set(g,2),(f.children[f.children.length-1]=new ba(g.dom,g.text+a)).parent=f):f.append(d||ba.of(a,null==(e=this.cache.find(ba))?void 0:e.dom)),this.pos+=a.length,this.afterWidget=null}addComposition(a,b){let c=this.curLine;c.dom!=b.line.dom&&(c.setDOM(this.cache.reused.has(b.line)?bm(b.line.dom):b.line.dom),this.cache.reused.set(b.line,2));let d=c;for(let a=b.marks.length-1;a>=0;a--){let c=b.marks[a],e=d.lastChild;if(e instanceof a9&&e.mark.eq(c.mark))e.dom!=c.dom&&e.setDOM(bm(c.dom)),d=e;else{if(this.cache.reused.get(c)){let a=a3.get(c.dom);a&&a.setDOM(bm(c.dom))}let a=a9.of(c.mark,c.dom);d.append(a),d=a}this.cache.reused.set(c,2)}let e=a3.get(a.text);e&&this.cache.reused.set(e,2);let f=new ba(a.text,a.text.nodeValue);f.flags|=8,this.pos=a.range.toB,d.append(f)}addInlineWidget(a,b,c){let d=this.afterWidget&&48&a.flags&&(48&this.afterWidget.flags)==(48&a.flags);d||this.flushBuffer();let e=this.ensureMarks(b,c);d||16&a.flags||e.append(this.getBuffer(1)),e.append(a),this.pos+=a.length,this.afterWidget=a}addMark(a,b,c){this.flushBuffer(),this.ensureMarks(b,c).append(a),this.pos+=a.length,this.afterWidget=null}addBlockWidget(a){this.getBlockPos().append(a),this.pos+=a.length,this.lastBlock=a,this.endLine()}continueWidget(a){let b=this.afterWidget||this.lastBlock;b.length+=a,this.pos+=a}addLineStart(a,b){var c;a||(a=bl);let d=a8.start(a,b||(null==(c=this.cache.find(a8))?void 0:c.dom),!!b);this.getBlockPos().append(this.lastBlock=this.curLine=d)}addLine(a){this.getBlockPos().append(a),this.pos+=a.length,this.lastBlock=a,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(a){this.blockPosCovered()||this.addLineStart(a)}ensureLine(a){this.curLine||this.addLineStart(a)}ensureMarks(a,b){var c;let d=this.curLine;for(let e=a.length-1;e>=0;e--){let f=a[e],g;if(b>0&&(g=d.lastChild)&&g instanceof a9&&g.mark.eq(f))d=g,b--;else{let a=a9.of(f,null==(c=this.cache.find(a9,a=>a.mark.eq(f)))?void 0:c.dom);d.append(a),d=a,b=0}}return d}endLine(){if(this.curLine){this.flushBuffer();let a=this.curLine.lastChild;(!a||!bk(this.curLine,!1)||"BR"!=a.dom.nodeName&&a.isWidget()&&!(B.ios&&bk(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(bo,0,32)||new bb(bo.toDOM(),0,bo,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let a=this.wrappers.length-1;a>=0;a--)this.wrappers[a].to<this.pos&&this.wrappers.splice(a,1);for(let a=this.blockWrappers;a.value&&a.from<=this.pos;a.next())if(a.to>=this.pos){let b=102*a.rank+a.value.rank,c=new be(a.from,a.to,a.value,b),d=this.wrappers.length;for(;d>0&&0>(this.wrappers[d-1].rank-c.rank||this.wrappers[d-1].to-c.to);)d--;this.wrappers.splice(d,0,c)}this.wrapperPos=this.pos}getBlockPos(){var a;this.updateBlockWrappers();let b=this.root;for(let c of this.wrappers){let d=b.lastChild;if(c.from<this.pos&&d instanceof a7&&d.wrapper.eq(c.wrapper))b=d;else{let d=a7.of(c.wrapper,null==(a=this.cache.find(a7,a=>a.wrapper.eq(c.wrapper)))?void 0:a.dom);b.append(d),b=d}}return b}blockPosCovered(){let a=this.lastBlock;return null!=a&&!a.breakAfter&&(!a.isWidget()||(160&a.flags)>0)}getBuffer(a){let b=2|(a<0?16:32),c=this.cache.find(bc,void 0,1);return c&&(c.flags=b),c||new bc(b)}flushBuffer(){this.afterWidget&&!(32&this.afterWidget.flags)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}}class bg{constructor(a){this.skipCount=0,this.text="",this.textOff=0,this.cursor=a.iter()}skip(a){this.textOff+a<=this.text.length?this.textOff+=a:(this.skipCount+=a-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(a){if(this.textOff==this.text.length){let{value:b,lineBreak:c,done:d}=this.cursor.next(this.skipCount);if(this.skipCount=0,d)throw Error("Ran out of text content when drawing inline views");this.text=b;let e=this.textOff=Math.min(a,b.length);return c?null:b.slice(0,e)}let b=Math.min(this.text.length,this.textOff+a),c=this.text.slice(this.textOff,b);return this.textOff=b,c}}let bh=[bb,a8,ba,a9,bc,a7,a6];for(let a=0;a<bh.length;a++)bh[a].bucket=a;class bi{constructor(a){this.view=a,this.buckets=bh.map(()=>[]),this.index=bh.map(()=>0),this.reused=new Map}add(a){let b=a.constructor.bucket,c=this.buckets[b];c.length<6?c.push(a):c[this.index[b]=(this.index[b]+1)%6]=a}find(a,b,c=2){let d=a.bucket,e=this.buckets[d],f=this.index[d];for(let a=e.length-1;a>=0;a--){let g=(a+f)%e.length,h=e[g];if((!b||b(h))&&!this.reused.has(h))return e.splice(g,1),g<f&&this.index[d]--,this.reused.set(h,c),h}return null}findWidget(a,b,c){let d=this.buckets[0];if(d.length)for(let e=0,f=0;;e++){if(e==d.length){if(f)return null;f=1,e=0}let g=d[e];if(!this.reused.has(g)&&(0==f?g.widget.compare(a):g.widget.constructor==a.constructor&&a.updateDOM(g.dom,this.view,g.widget))){if(d.splice(e,1),e<this.index[0]&&this.index[0]--,g.widget==a&&g.length==b&&(497&g.flags)==c)return this.reused.set(g,1),g;return this.reused.set(g,2),new bb(g.dom,b,a,-498&g.flags|c)}}}reuse(a){return this.reused.set(a,1),a}maybeReuse(a,b=2){if(!this.reused.has(a))return this.reused.set(a,b),a.dom}clear(){for(let a=0;a<this.buckets.length;a++)this.buckets[a].length=this.index[a]=0}}class bj{constructor(a,b,c,d,e){this.view=a,this.decorations=d,this.disallowBlockEffectsFor=e,this.openWidget=!1,this.openMarks=0,this.cache=new bi(a),this.text=new bg(a.state.doc),this.builder=new bf(this.cache,new a6(a,a.contentDOM),h.om.iter(c)),this.cache.reused.set(b,2),this.old=new bd(b),this.reuseWalker={skip:(a,b,c)=>{if(this.cache.add(a),a.isComposite())return!1},enter:a=>this.cache.add(a),leave:()=>{},break:()=>{}}}run(a,b){let c=b&&this.getCompositionContext(b.text);for(let d=0,e=0,f=0;;){let g=f<a.length?a[f++]:null,h=g?g.fromA:this.old.root.length;if(h>d){let a=h-d;this.preserve(a,!f,!g),d=h,e+=a}if(!g)break;b&&g.fromA<=b.range.fromA&&g.toA>=b.range.toA?(this.forward(g.fromA,b.range.fromA,b.range.fromA<b.range.toA?1:-1),this.emit(e,b.range.fromB),this.builder.flushBuffer(),this.cache.clear(),this.builder.addComposition(b,c),this.text.skip(b.range.toB-b.range.fromB),this.forward(b.range.fromA,g.toA),this.emit(b.range.toB,g.toB)):(this.forward(g.fromA,g.toA),this.emit(e,g.toB)),e=g.toB,d=g.toA}return this.builder.curLine&&this.builder.endLine(),this.builder.root}preserve(a,b,c){let d=function(a){let b=[];for(let c=a.parents.length;c>1;c--){let d=c==a.parents.length?a.tile:a.parents[c].tile;d instanceof a9&&b.push(d.mark)}return b}(this.old),e=this.openMarks;this.old.advance(a,c?1:-1,{skip:(a,b,c)=>{if(a.isWidget())if(this.openWidget)this.builder.continueWidget(c-b);else{let f=c>0||b<a.length?bb.of(a.widget,this.view,c-b,496&a.flags,this.cache.maybeReuse(a)):this.cache.reuse(a);256&f.flags?(f.flags&=-2,this.builder.addBlockWidget(f)):(this.builder.ensureLine(null),this.builder.addInlineWidget(f,d,e),e=d.length)}else if(a.isText())this.builder.ensureLine(null),b||c!=a.length||this.cache.reused.has(a)?(this.cache.add(a),this.builder.addText(a.text.slice(b,c),d,e)):this.builder.addText(a.text,d,e,this.cache.reuse(a)),e=d.length;else if(a.isLine())a.flags&=-2,this.cache.reused.set(a,1),this.builder.addLine(a);else if(a instanceof bc)this.cache.add(a);else{if(!(a instanceof a9))return!1;this.builder.ensureLine(null),this.builder.addMark(a,d,e),this.cache.reused.set(a,1),e=d.length}this.openWidget=!1},enter:a=>{a.isLine()?this.builder.addLineStart(a.attrs,this.cache.maybeReuse(a)):(this.cache.add(a),a instanceof a9&&d.unshift(a.mark)),this.openWidget=!1},leave:a=>{a.isLine()?d.length&&(d.length=e=0):a instanceof a9&&(d.shift(),e=Math.min(e,d.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(a)}emit(a,b){let c=null,d=this.builder,e=0,f=h.om.spans(this.decorations,a,b,{point:(a,b,f,g,h,i)=>{var j,k,l;if(f instanceof L){if(this.disallowBlockEffectsFor[i]){if(f.block)throw RangeError("Block decorations may not be specified via plugins");if(b>this.view.state.doc.lineAt(a).to)throw RangeError("Decorations that replace line breaks may not be specified via plugins")}if(e=g.length,h>g.length)d.continueWidget(b-a);else{let e,i=f.widget||(f.block?bn.block:bn.inline),k=(e=(j=f).isReplace?64*(j.startSide<0)|128*(j.endSide>0):j.startSide>0?32:16,j.block&&(e|=256),e),l=this.cache.findWidget(i,b-a,k)||bb.of(i,this.view,b-a,k);f.block?(f.startSide>0&&d.addLineStartIfNotCovered(c),d.addBlockWidget(l)):(d.ensureLine(c),d.addInlineWidget(l,g,h))}c=null}else{let a,b;k=c,a=(l=f).spec.attributes,b=l.spec.class,(a||b)&&(k||(k={class:"cm-line"}),a&&C(a,k),b&&(k.class+=" "+b)),c=k}b>a&&this.text.skip(b-a)},span:(a,b,e,f)=>{for(let g=a;g<b;){let h=this.text.next(Math.min(512,b-g));null==h?(d.addLineStartIfNotCovered(c),d.addBreak(),g++):(d.ensureLine(c),d.addText(h,e,g==a?f:e.length),g+=h.length),c=null}}});d.addLineStartIfNotCovered(c),this.openWidget=f>e,this.openMarks=f}forward(a,b,c=1){b-a<=10?this.old.advance(b-a,c,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(b-a-10,-1),this.old.advance(5,c,this.reuseWalker))}getCompositionContext(a){let b=[],c=null;for(let d=a.parentNode;;d=d.parentNode){let a=a3.get(d);if(d==this.view.contentDOM)break;a instanceof a9?b.push(a):(null==a?void 0:a.isLine())?c=a:a instanceof a7||("DIV"!=d.nodeName||c||d==this.view.contentDOM?c||b.push(a9.of(new J({tagName:d.nodeName.toLowerCase(),attributes:function(a){let b=Object.create(null);for(let c=0;c<a.attributes.length;c++){let d=a.attributes[c];b[d.name]=d.value}return b}(d)}),d)):c=new a8(d,bl))}return{line:c,marks:b}}}function bk(a,b){let c=a=>{for(let d of a.children)if((b?d.isText():d.length)||c(d))return!0;return!1};return c(a)}let bl={class:"cm-line"};function bm(a){let b=a3.get(a);return b&&b.setDOM(a.cloneNode()),a}class bn extends G{constructor(a){super(),this.tag=a}eq(a){return a.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(a){return a.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}bn.inline=new bn("span"),bn.block=new bn("div");let bo=new class extends G{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}};class bp{constructor(a){this.view=a,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=I.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new a6(a,a.contentDOM),this.updateInner([new a0(0,0,0,a.state.doc.length)],null)}update(a){var b,c,d,e,f,g,i,j,k;let l,m,n,o=a.changedRanges;this.minWidth>0&&o.length&&(o.every(({fromA:a,toA:b})=>b<this.minWidthFrom||a>this.minWidthTo)?(this.minWidthFrom=a.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=a.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(a);let p=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&((null==(b=this.domChanged)?void 0:b.newSel)?p=this.domChanged.newSel.head:(c=a.changes,d=this.hasComposition,l=!1,d&&c.iterChangedRanges((a,b)=>{a<d.to&&b>d.from&&(l=!0)}),l||a.selectionSet||(p=a.state.selection.main.head)));let q=p>-1?function(a,b,c){let d=br(a,c);if(!d)return null;let{node:e,from:f,to:g}=d,h=e.nodeValue;if(/[\n\r]/.test(h)||a.state.doc.sliceString(d.from,d.to)!=h)return null;let i=b.invertedDesc;return{range:new a0(i.mapPos(f),i.mapPos(g),f,g),text:e}}(this.view,a.changes,p):null;if(this.domChanged=null,this.hasComposition){let{from:b,to:c}=this.hasComposition;o=new a0(b,c,a.changes.mapPos(b,-1),a.changes.mapPos(c,1)).addToSet(o.slice())}this.hasComposition=q?{from:q.range.fromB,to:q.range.toB}:null,(B.ie||B.chrome)&&!q&&a&&a.state.doc.lines!=a.startState.doc.lines&&(this.forceSelection=!0);let r=this.decorations,s=this.blockWrappers;this.updateDeco();let t=(e=r,f=this.decorations,g=a.changes,m=new bs,h.om.compare(e,f,g,m),m.changes);t.length&&(o=a0.extendWithRanges(o,t));let u=(i=s,j=this.blockWrappers,k=a.changes,n=new bt,h.om.compare(i,j,k,n),n.changes);return u.length&&(o=a0.extendWithRanges(o,u)),q&&!o.some(a=>a.fromA<=q.range.fromA&&a.toA>=q.range.toA)&&(o=q.range.addToSet(o.slice())),(!(2&this.tile.flags)||0!=o.length)&&(this.updateInner(o,q),a.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(a,b){this.view.viewState.mustMeasureContent=!0;let{observer:c}=this.view;c.ignore(()=>{if(b||a.length){let c=this.tile,d=new bj(this.view,c,this.blockWrappers,this.decorations,this.dynamicDecorationMap);b&&a3.get(b.text)&&d.cache.reused.set(a3.get(b.text),2),this.tile=d.run(a,b),bq(c,d.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let d=B.chrome||B.ios?{node:c.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(d),d&&(d.written||c.selectionRange.focusNode!=d.node||!this.tile.dom.contains(d.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let d=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let a of this.tile.children)a.isWidget()&&a.widget instanceof bu&&d.push(a.dom);c.updateGaps(d)}updateEditContextFormatting(a){for(let b of(this.editContextFormatting=this.editContextFormatting.map(a.changes),a.transactions))for(let a of b.effects)a.is(aK)&&(this.editContextFormatting=a.value)}updateSelection(a=!1,b=!1){var c;(a||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let{dom:d}=this.tile,e=this.view.root.activeElement,f=e==d,g=!f&&!(this.view.state.facet(aM)||d.tabIndex>-1)&&R(d,this.view.observer.selectionRange)&&!(e&&d.contains(e));if(!(f||b||g))return;let h=this.forceSelection;this.forceSelection=!1;let i=this.view.state.selection.main,j,k;if(i.empty?k=j=this.inlineDOMNearPos(i.anchor,i.assoc||1):(k=this.inlineDOMNearPos(i.head,i.head==i.from?1:-1),j=this.inlineDOMNearPos(i.anchor,i.anchor==i.from?1:-1)),B.gecko&&i.empty&&!this.hasComposition&&1==(c=j).node.nodeType&&c.node.firstChild&&(0==c.offset||"false"==c.node.childNodes[c.offset-1].contentEditable)&&(c.offset==c.node.childNodes.length||"false"==c.node.childNodes[c.offset].contentEditable)){let a=document.createTextNode("");this.view.observer.ignore(()=>j.node.insertBefore(a,j.node.childNodes[j.offset]||null)),j=k=new ah(a,0),h=!0}let l=this.view.observer.selectionRange;!h&&l.focusNode&&(T(j.node,j.offset,l.anchorNode,l.anchorOffset)&&T(k.node,k.offset,l.focusNode,l.focusOffset)||this.suppressWidgetCursorChange(l,i))||(this.view.observer.ignore(()=>{B.android&&B.chrome&&d.contains(l.focusNode)&&function(a,b){for(let c=a;c&&c!=b;c=c.assignedSlot||c.parentNode)if(1==c.nodeType&&"false"==c.contentEditable)return!0;return!1}(l.focusNode,d)&&(d.blur(),d.focus({preventScroll:!0}));let a=P(this.view.root);if(a)if(i.empty){if(B.gecko){var b,c;let a=(b=j.node,c=j.offset,1!=b.nodeType?0:(c&&"false"==b.childNodes[c-1].contentEditable?1:0)|2*(c<b.childNodes.length&&"false"==b.childNodes[c].contentEditable));if(a&&3!=a){let b=(1==a?af:ag)(j.node,j.offset);b&&(j=new ah(b.node,b.offset))}}a.collapse(j.node,j.offset),null!=i.bidiLevel&&void 0!==a.caretBidiLevel&&(a.caretBidiLevel=i.bidiLevel)}else if(a.extend){a.collapse(j.node,j.offset);try{a.extend(k.node,k.offset)}catch(a){}}else{let b=document.createRange();i.anchor>i.head&&([j,k]=[k,j]),b.setEnd(k.node,k.offset),b.setStart(j.node,j.offset),a.removeAllRanges(),a.addRange(b)}g&&this.view.root.activeElement==d&&(d.blur(),e&&e.focus())}),this.view.observer.setSelectionRange(j,k)),this.impreciseAnchor=j.precise?null:new ah(l.anchorNode,l.anchorOffset),this.impreciseHead=k.precise?null:new ah(l.focusNode,l.focusOffset)}suppressWidgetCursorChange(a,b){return this.hasComposition&&b.empty&&T(a.focusNode,a.focusOffset,a.anchorNode,a.anchorOffset)&&this.posFromDOM(a.focusNode,a.focusOffset)==b.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:a}=this,b=a.state.selection.main,c=P(a.root),{anchorNode:d,anchorOffset:e}=a.observer.selectionRange;if(!c||!b.empty||!b.assoc||!c.modify)return;let f=this.lineAt(b.head,b.assoc);if(!f)return;let g=f.posAtStart;if(b.head==g||b.head==g+f.length)return;let h=this.coordsAt(b.head,-1),i=this.coordsAt(b.head,1);if(!h||!i||h.bottom>i.top)return;let j=this.domAtPos(b.head+b.assoc,b.assoc);c.collapse(j.node,j.offset),c.modify("move",b.assoc<0?"forward":"backward","lineboundary"),a.observer.readSelectionRange();let k=a.observer.selectionRange;a.docView.posFromDOM(k.anchorNode,k.anchorOffset)!=b.from&&c.collapse(d,e)}posFromDOM(a,b){let c=this.tile.nearest(a);if(!c)return 2&this.tile.dom.compareDocumentPosition(a)?0:this.view.state.doc.length;let d=c.posAtStart;if(c.isComposite()){let e;if(a==c.dom)e=c.dom.childNodes[b];else{let d=0==X(a)?0:0==b?-1:1;for(;;){let b=a.parentNode;if(b==c.dom)break;0==d&&b.firstChild!=b.lastChild&&(d=a==b.firstChild?-1:1),a=b}e=d<0?a:a.nextSibling}if(e==c.dom.firstChild)return d;for(;e&&!a3.get(e);)e=e.nextSibling;if(!e)return d+c.length;for(let a=0,b=d;;a++){let d=c.children[a];if(d.dom==e)return b;b+=d.length+d.breakAfter}}else if(c.isText())return a==c.dom?d+b:d+(b?c.length:0);else return d}domAtPos(a,b){let{tile:c,offset:d}=this.tile.resolveBlock(a,b);return c.isWidget()?c.domPosFor(a,b):c.domIn(d,b)}inlineDOMNearPos(a,b){let c,d=-1,e=!1,f,g=-1,h=!1;return(this.tile.blockTiles((b,i)=>{if(b.isWidget()){if(32&b.flags&&i>=a)return!0;16&b.flags&&(e=!0)}else{let j=i+b.length;if(i<=a&&(c=b,d=a-i,e=j<a),j>=a&&!f&&(f=b,g=a-i,h=i>a),i>a&&f)return!0}}),c||f)?(e&&f?c=null:h&&c&&(f=null),c&&b<0||!f?c.domIn(d,b):f.domIn(g,b)):this.domAtPos(a,b)}coordsAt(a,b){let{tile:c,offset:d}=this.tile.resolveBlock(a,b);return c.isWidget()?c.widget instanceof bu?null:c.coordsInWidget(d,b,!0):c.coordsIn(d,b)}lineAt(a,b){let{tile:c}=this.tile.resolveBlock(a,b);return c.isLine()?c:null}coordsForChar(a){let{tile:b,offset:c}=this.tile.resolveBlock(a,1);return b.isLine()?function a(b,c){if(b.isComposite())for(let d of b.children){if(d.length>=c){let b=a(d,c);if(b)return b}if((c-=d.length)<0)break}else if(b.isText()&&c<b.length){let a=(0,h.zK)(b.text,c);if(a==c)return null;let d=ac(b.dom,c,a).getClientRects();for(let a=0;a<d.length;a++){let b=d[a];if(a==d.length-1||b.top<b.bottom&&b.left<b.right)return b}}return null}(b,c):null}measureVisibleLineHeights(a){let b=[],{from:c,to:d}=a,e=this.view.contentDOM.clientWidth,f=e>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,g=-1,h=this.view.textDirection==ai.LTR,i=0,j=(a,k,l)=>{for(let m=0;m<a.children.length&&!(k>d);m++){let d=a.children[m],n=k+d.length,o=d.dom.getBoundingClientRect(),{height:p}=o;if(l&&!m&&(i+=o.top-l.top),d instanceof a7)n>c&&j(d,k,o);else if(k>=c&&(i>0&&b.push(-i),b.push(p+i),i=0,f)){let a=d.dom.lastChild,b=a?S(a):[];if(b.length){let a=b[b.length-1],c=h?a.right-o.left:o.right-a.left;c>g&&(g=c,this.minWidth=e,this.minWidthFrom=k,this.minWidthTo=n)}}l&&m==a.children.length-1&&(i+=l.bottom-o.bottom),k=n+d.breakAfter}};return j(this.tile,0,null),b}textDirectionAt(a){let{tile:b}=this.tile.resolveBlock(a,1);return"rtl"==getComputedStyle(b.dom).direction?ai.RTL:ai.LTR}measureTextSize(){let a=this.tile.blockTiles(a=>{if(a.isLine()&&a.children.length&&a.length<=20){let b=0,c;for(let d of a.children){if(!d.isText()||/[^ -~]/.test(d.text))return;let a=S(d.dom);if(1!=a.length)return;b+=a[0].width,c=a[0].height}if(b)return{lineHeight:a.dom.getBoundingClientRect().height,charWidth:b/a.length,textHeight:c}}});if(a)return a;let b=document.createElement("div"),c,d,e;return b.className="cm-line",b.style.width="99999px",b.style.position="absolute",b.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(b);let a=S(b.firstChild)[0];c=b.getBoundingClientRect().height,d=a&&a.width?a.width/27:7,e=a&&a.height?a.height:c,b.remove()}),{lineHeight:c,charWidth:d,textHeight:e}}computeBlockGapDeco(){let a=[],b=this.view.viewState;for(let c=0,d=0;;d++){let e=d==b.viewports.length?null:b.viewports[d],f=e?e.from-1:this.view.state.doc.length;if(f>c){let d=(b.lineBlockAt(f).bottom-b.lineBlockAt(c).top)/this.view.scaleY;a.push(I.replace({widget:new bu(d),block:!0,inclusive:!0,isBlockGap:!0}).range(c,f))}if(!e)break;c=e.to+1}return I.set(a)}updateDeco(){let a=1,b=this.view.state.facet(aT).map(b=>(this.dynamicDecorationMap[a++]="function"==typeof b)?b(this.view):b),c=!1,d=this.view.state.facet(aV).map((a,b)=>{let d="function"==typeof a;return d&&(c=!0),d?a(this.view):a});for(d.length&&(this.dynamicDecorationMap[a++]=c,b.push(h.om.join(d))),this.decorations=[this.editContextFormatting,...b,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];a<this.decorations.length;)this.dynamicDecorationMap[a++]=!1;this.blockWrappers=this.view.state.facet(aU).map(a=>"function"==typeof a?a(this.view):a)}scrollIntoView(a){var b;if(a.isSnapshot){let b=this.view.viewState.lineBlockAt(a.range.head);this.view.scrollDOM.scrollTop=b.top-a.yMargin,this.view.scrollDOM.scrollLeft=a.xMargin;return}for(let b of this.view.state.facet(aH))try{if(b(this.view,a.range,a))return!0}catch(a){aL(this.view.state,a,"scroll handler")}let{range:c}=a,d=this.coordsAt(c.head,null!=(b=c.assoc)?b:c.empty?0:c.head>c.anchor?-1:1),e;if(!d)return;!c.empty&&(e=this.coordsAt(c.anchor,c.anchor>c.head?-1:1))&&(d={left:Math.min(d.left,e.left),top:Math.min(d.top,e.top),right:Math.max(d.right,e.right),bottom:Math.max(d.bottom,e.bottom)});let f=a$(this.view),g={left:d.left-f.left,top:d.top-f.top,right:d.right+f.right,bottom:d.bottom+f.bottom},{offsetWidth:h,offsetHeight:i}=this.view.scrollDOM;if(!function(a,b,c,d,e,f,g,h){let i=a.ownerDocument,j=i.defaultView||window;for(let k=a,l=!1;k&&!l;)if(1==k.nodeType){let a,m=k==i.body,n=1,o=1;if(m)a=function(a){let b=a.visualViewport;return b?{left:0,right:b.width,top:0,bottom:b.height}:{left:0,right:a.innerWidth,top:0,bottom:a.innerHeight}}(j);else{if(/^(fixed|sticky)$/.test(getComputedStyle(k).position)&&(l=!0),k.scrollHeight<=k.clientHeight&&k.scrollWidth<=k.clientWidth){k=k.assignedSlot||k.parentNode;continue}let b=k.getBoundingClientRect();({scaleX:n,scaleY:o}=Z(k,b)),a={left:b.left,right:b.left+k.clientWidth*n,top:b.top,bottom:b.top+k.clientHeight*o}}let p=0,q=0;if("nearest"==e)b.top<a.top+g?(q=b.top-(a.top+g),c>0&&b.bottom>a.bottom+q&&(q=b.bottom-a.bottom+g)):b.bottom>a.bottom-g&&(q=b.bottom-a.bottom+g,c<0&&b.top-q<a.top&&(q=b.top-(a.top+g)));else{let d=b.bottom-b.top,f=a.bottom-a.top;q=("center"==e&&d<=f?b.top+d/2-f/2:"start"==e||"center"==e&&c<0?b.top-g:b.bottom-f+g)-a.top}if("nearest"==d?b.left<a.left+f?(p=b.left-(a.left+f),c>0&&b.right>a.right+p&&(p=b.right-a.right+f)):b.right>a.right-f&&(p=b.right-a.right+f,c<0&&b.left<a.left+p&&(p=b.left-(a.left+f))):p=("center"==d?b.left+(b.right-b.left)/2-(a.right-a.left)/2:"start"==d==h?b.left-f:b.right-(a.right-a.left)+f)-a.left,p||q)if(m)j.scrollBy(p,q);else{let a=0,c=0;if(q){let a=k.scrollTop;k.scrollTop+=q/o,c=(k.scrollTop-a)*o}if(p){let b=k.scrollLeft;k.scrollLeft+=p/n,a=(k.scrollLeft-b)*n}b={left:b.left-a,top:b.top-c,right:b.right-a,bottom:b.bottom-c},a&&1>Math.abs(a-p)&&(d="nearest"),c&&1>Math.abs(c-q)&&(e="nearest")}if(m)break;(b.top<a.top||b.bottom>a.bottom||b.left<a.left||b.right>a.right)&&(b={left:Math.max(b.left,a.left),right:Math.min(b.right,a.right),top:Math.max(b.top,a.top),bottom:Math.min(b.bottom,a.bottom)}),k=k.assignedSlot||k.parentNode}else if(11==k.nodeType)k=k.host;else break}(this.view.scrollDOM,g,c.head<c.anchor?-1:1,a.x,a.y,Math.max(Math.min(a.xMargin,h),-h),Math.max(Math.min(a.yMargin,i),-i),this.view.textDirection==ai.LTR),window.visualViewport&&window.innerHeight-window.visualViewport.height>1&&(d.top>window.pageYOffset+window.visualViewport.offsetTop+window.visualViewport.height||d.bottom<window.pageYOffset+window.visualViewport.offsetTop)){let a=this.view.docView.lineAt(c.head,1);a&&a.dom.scrollIntoView({block:"nearest"})}}lineHasWidget(a){let b=a=>a.isWidget()||a.children.some(b);return b(this.tile.resolveBlock(a,1).tile)}destroy(){bq(this.tile)}}function bq(a,b){let c=null==b?void 0:b.get(a);if(1!=c)for(let d of(null==c&&a.destroy(),a.children))bq(d,b)}function br(a,b){let c=a.observer.selectionRange;if(!c.focusNode)return null;let d=af(c.focusNode,c.focusOffset),e=ag(c.focusNode,c.focusOffset),f=d||e;if(e&&d&&e.node!=d.node){let b=a3.get(e.node);if(!b||b.isText()&&b.text!=e.node.nodeValue)f=e;else if(a.docView.lastCompositionAfterCursor){let a=a3.get(d.node);!a||a.isText()&&a.text!=d.node.nodeValue||(f=e)}}if(a.docView.lastCompositionAfterCursor=f!=d,!f)return null;let g=b-f.offset;return{from:g,to:g+f.node.nodeValue.length,node:f.node}}let bs=class{constructor(){this.changes=[]}compareRange(a,b){N(a,b,this.changes)}comparePoint(a,b){N(a,b,this.changes)}boundChange(a){N(a,a,this.changes)}};class bt{constructor(){this.changes=[]}compareRange(a,b){N(a,b,this.changes)}comparePoint(){}boundChange(a){N(a,a,this.changes)}}class bu extends G{constructor(a){super(),this.height=a}toDOM(){let a=document.createElement("div");return a.className="cm-gap",this.updateDOM(a),a}eq(a){return a.height==this.height}updateDOM(a){return a.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}}function bv(a,b,c){let d=a.lineBlockAt(b);if(Array.isArray(d.type)){let a;for(let e of d.type){if(e.from>b)break;if(!(e.to<b)){if(e.from<b&&e.to>b)return e;(!a||e.type==H.Text&&(a.type!=e.type||(c<0?e.from<b:e.to>b)))&&(a=e)}}return a||d}return d}function bw(a,b,c,d){let e=a.state.doc.lineAt(b.head),f=a.bidiSpans(e),g=a.textDirectionAt(e.from);for(let i=b,j=null;;){let b=function(a,b,c,d,e){var f;let g=d.head-a.from,i=as.find(b,g,null!=(f=d.bidiLevel)?f:-1,d.assoc),j=b[i],k=j.side(e,c);if(g==k){let a=i+=e?1:-1;if(a<0||a>=b.length)return null;g=(j=b[i=a]).side(!e,c),k=j.side(e,c)}let l=(0,h.zK)(a.text,g,j.forward(e,c));(l<j.from||l>j.to)&&(l=k),av=a.text.slice(Math.min(g,l),Math.max(g,l));let m=i==(e?b.length-1:0)?null:b[i+(e?1:-1)];return m&&l==k&&m.level+ +!e<j.level?h.OF.cursor(m.side(!e,c)+a.from,m.forward(e,c)?1:-1,m.level):h.OF.cursor(l+a.from,j.forward(e,c)?-1:1,j.level)}(e,f,g,i,c),k=av;if(!b){if(e.number==(c?a.state.doc.lines:1))return i;k="\n",e=a.state.doc.line(e.number+(c?1:-1)),f=a.bidiSpans(e),b=a.visualLineSide(e,!c)}if(j){if(!j(k))return i}else{if(!d)return b;j=d(k)}i=b}}function bx(a,b,c){for(;;){let d=0;for(let e of a)e.between(b-1,b+1,(a,e,f)=>{if(b>a&&b<e){let f=d||c||(b-a<e-b?-1:1);b=f<0?a:e,d=f}});if(!d)return b}}function by(a,b){let c=null;for(let d=0;d<b.ranges.length;d++){let e=b.ranges[d],f=null;if(e.empty){let b=bx(a,e.from,0);b!=e.from&&(f=h.OF.cursor(b,-1))}else{let b=bx(a,e.from,-1),c=bx(a,e.to,1);(b!=e.from||c!=e.to)&&(f=e.undirectional?h.OF.undirectionalRange(e.from,e.to):h.OF.range(e.from==e.anchor?b:c,e.from==e.head?b:c))}f&&(c||(c=b.ranges.slice()),c[d]=f)}return c?h.OF.create(c,b.mainIndex):b}function bz(a,b,c){let d=bx(a.state.facet(aW).map(b=>b(a)),c.from,b.head>c.from?-1:1);return d==c.from?c:h.OF.cursor(d,d<c.from?1:-1)}class bA{constructor(a,b){this.pos=a,this.assoc=b}}function bB(a,b,c,d){let e=a.contentDOM.getBoundingClientRect(),f=e.top+a.viewState.paddingTop,{x:g,y:i}=b,j=i-f,k;for(;;){if(j<0)return new bA(0,1);if(j>a.viewState.docHeight)return new bA(a.state.doc.length,-1);if(k=a.elementAtHeight(j),null==d)break;if(k.type==H.Text){if(d<0?k.to<a.viewport.from:k.from>a.viewport.to)break;let b=a.docView.coordsAt(d<0?k.from:k.to,d>0?-1:1);if(b&&(d<0?b.top<=j+f:b.bottom>=j+f))break}let b=a.viewState.heightOracle.textHeight/2;j=d>0?k.bottom+b:k.top-b}if(a.viewport.from>=k.to||a.viewport.to<=k.from){if(c)return null;if(k.type==H.Text){let b=function(a,b,c,d,e){let f=Math.round((d-b.left)*a.defaultCharacterWidth);if(a.lineWrapping&&c.height>1.5*a.defaultLineHeight){let b=a.viewState.heightOracle.textHeight;f+=Math.floor((e-c.top-(a.defaultLineHeight-b)*.5)/b)*a.viewState.heightOracle.lineLength}let g=a.state.sliceDoc(c.from,c.to);return c.from+(0,h.kn)(g,f,a.state.tabSize)}(a,e,k,g,i);return new bA(b,b==k.from?1:-1)}}if(k.type!=H.Text)return j<(k.top+k.bottom)/2?new bA(k.from,1):new bA(k.to,-1);let l=a.docView.lineAt(k.from,2);return l&&l.length==k.length||(l=a.docView.lineAt(k.from,-2)),new bC(a,g,i,a.textDirectionAt(k.from)).scanTile(l,k.from)}class bC{constructor(a,b,c,d){this.view=a,this.x=b,this.y=c,this.baseDir=d,this.line=null,this.spans=null}bidiSpansAt(a){return(!this.line||this.line.from>a||this.line.to<a)&&(this.line=this.view.state.doc.lineAt(a),this.spans=this.view.bidiSpans(this.line)),this}baseDirAt(a,b){let{line:c,spans:d}=this.bidiSpansAt(a);return d[as.find(d,a-c.from,-1,b)].level==this.baseDir}dirAt(a,b){let{line:c,spans:d}=this.bidiSpansAt(a);return d[as.find(d,a-c.from,-1,b)].dir}bidiIn(a,b){let{spans:c,line:d}=this.bidiSpansAt(a);return c.length>1||c.length&&(c[0].level!=this.baseDir||c[0].to+d.from<b)}scan(a,b,c=!1){let d,e,f=0,g=a.length-1,h=new Set,i=this.bidiIn(a[0],a[g]),j=-1,k=1e9,l;for(;f<g;){let c=g-f,m=f+g>>1;b:if(h.has(m)){let a=f+Math.floor(Math.random()*c);for(let b=0;b<c;b++){if(!h.has(a)){m=a;break b}++a==g&&(a=f)}break}h.add(m);let n=b(m);if(n)for(let b=0;b<n.length;b++){let c=n[b],h=0;if(0!=c.width||!(n.length>1)){if(c.bottom<this.y)(!d||d.bottom<c.bottom)&&(d=c),h=1;else if(c.top>this.y)(!e||e.top>c.top)&&(e=c),h=-1;else{let a=c.left>this.x?this.x-c.left:c.right<this.x?this.x-c.right:0,b=Math.abs(a);b<k&&(j=m,k=b,l=c),a&&(h=a<0==(this.baseDir==ai.LTR)?-1:1)}-1==h&&(!i||this.baseDirAt(a[m],1))?g=m:1==h&&(!i||this.baseDirAt(a[m+1],-1))&&(f=m+1)}}}if(!l){if(!e&&!d)return{i:a[0],after:!1};let c=d&&(!e||this.y-d.bottom<e.top-this.y)?d:e;return this.y=(c.top+c.bottom)/2,this.scan(a,b,!0)}if(k&&!c){let{top:c,bottom:f}=l;if(d&&d.bottom>(c+c+f)/3)return this.y=d.bottom-1,this.scan(a,b,!0);if(e&&e.top<(c+f+f)/3)return this.y=e.top+1,this.scan(a,b,!0)}let m=(i?this.dirAt(a[j],1):this.baseDir)==ai.LTR;return{i:j,after:this.x>(l.left+l.right)/2==m}}scanText(a,b){let c=[];for(let d=0;d<a.length;d=(0,h.zK)(a.text,d))c.push(b+d);c.push(b+a.length);let d=this.scan(c,d=>{let e=c[d]-b,f=c[d+1]-b;return ac(a.dom,e,f).getClientRects()});return d.after?new bA(c[d.i+1],-1):new bA(c[d.i],1)}scanTile(a,b){if(!a.length)return new bA(b,1);if(1==a.children.length){let c=a.children[0];if(c.isText())return this.scanText(c,b);if(c.isComposite())return this.scanTile(c,b)}let c=[b];for(let d=0,e=b;d<a.children.length;d++)c.push(e+=a.children[d].length);let d=this.scan(c,b=>{let c=a.children[b];return 48&c.flags?null:(1==c.dom.nodeType?c.dom:ac(c.dom,0,c.length)).getClientRects()}),e=a.children[d.i],f=c[d.i];return e.isText()?this.scanText(e,f):e.isComposite()?this.scanTile(e,f):d.after?new bA(c[d.i+1],-1):new bA(f,1)}}class bD{constructor(a,b){this.points=a,this.view=b,this.text="",this.lineSeparator=b.state.facet(h.$t.lineSeparator)}append(a){this.text+=a}lineBreak(){this.text+=""}readRange(a,b){if(!a)return this;let c=a.parentNode;for(let d=a;;){this.findPointBefore(c,d);let a=this.text.length;this.readNode(d);let e=a3.get(d),f=d.nextSibling;if(f==b){(null==e?void 0:e.breakAfter)&&!f&&c!=this.view.contentDOM&&this.lineBreak();break}let g=a3.get(f);(e&&g?e.breakAfter:(e?e.breakAfter:V(d))||V(f)&&("BR"!=d.nodeName||(null==e?void 0:e.isWidget()))&&this.text.length>a)&&!function(a,b){let c;for(;a!=b&&a;a=a.nextSibling){let b=a3.get(a);if(!(null==b?void 0:b.isWidget()))return!1;b&&(c||(c=[])).push(b)}if(c)for(let a of c){let b=a.overrideDOMText;if(null==b?void 0:b.length)return!1}return!0}(f,b)&&this.lineBreak(),d=f}return this.findPointBefore(c,b),this}readTextNode(a){let b=a.nodeValue;for(let c of this.points)c.node==a&&(c.pos=this.text.length+Math.min(c.offset,b.length));for(let c=0,d=this.lineSeparator?null:/\r\n?|\n/g;;){let e=-1,f=1,g;if(this.lineSeparator?(e=b.indexOf(this.lineSeparator,c),f=this.lineSeparator.length):(g=d.exec(b))&&(e=g.index,f=g[0].length),this.append(b.slice(c,e<0?b.length:e)),e<0)break;if(this.lineBreak(),f>1)for(let b of this.points)b.node==a&&b.pos>this.text.length&&(b.pos-=f-1);c=e+f}}readNode(a){let b=a3.get(a),c=b&&b.overrideDOMText;if(null!=c){this.findPointInside(a,c.length);for(let a=c.iter();!a.next().done;)a.lineBreak?this.lineBreak():this.append(a.value)}else 3==a.nodeType?this.readTextNode(a):"BR"==a.nodeName?a.nextSibling&&this.lineBreak():1==a.nodeType&&this.readRange(a.firstChild,null)}findPointBefore(a,b){for(let c of this.points)c.node==a&&a.childNodes[c.offset]==b&&(c.pos=this.text.length)}findPointInside(a,b){for(let c of this.points)(3==a.nodeType?c.node==a:a.contains(c.node))&&(c.pos=this.text.length+(!function(a,b,c){for(;;){if(!b||c<X(b))return!1;if(b==a)return!0;c=U(b)+1,b=b.parentNode}}(a,c.node,c.offset)?0:b))}}class bE{constructor(a,b){this.node=a,this.offset=b,this.pos=-1}}class bF{constructor(a,b,c,d){this.typeOver=d,this.bounds=null,this.text="",this.domChanged=b>-1;let{impreciseHead:e,impreciseAnchor:f}=a.docView,g=a.state.selection;if(a.state.readOnly&&b>-1)this.newSel=null;else if(b>-1&&(this.bounds=function a(b,c,d,e){if(b.isComposite()){let f=-1,g=-1,h=-1,i=-1;for(let j=0,k=e,l=e;j<b.children.length;j++){let e=b.children[j],m=k+e.length;if(k<c&&m>d)return a(e,c,d,k);if(m>=c&&-1==f&&(f=j,g=k),k>d&&e.dom.parentNode==b.dom){h=j,i=l;break}l=m,k=m+e.breakAfter}return{from:g,to:i<0?e+b.length:i,startDOM:(f?b.children[f-1].dom.nextSibling:null)||b.dom.firstChild,endDOM:h<b.children.length&&h>=0?b.children[h].dom:null}}return b.isText()?{from:e,to:e+b.length,startDOM:b.dom,endDOM:b.dom.nextSibling}:null}(a.docView.tile,b,c,0))){let b=e||f?[]:function(a){let b=[];if(a.root.activeElement!=a.contentDOM)return b;let{anchorNode:c,anchorOffset:d,focusNode:e,focusOffset:f}=a.observer.selectionRange;return c&&(b.push(new bE(c,d)),(e!=c||f!=d)&&b.push(new bE(e,f))),b}(a),c=new bD(b,a);c.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=c.text,this.newSel=function(a,b){if(0==a.length)return null;let c=a[0].pos,d=2==a.length?a[1].pos:c;return c>-1&&d>-1?h.OF.single(c+b,d+b):null}(b,this.bounds.from)}else{let b=a.observer.selectionRange,c=e&&e.node==b.focusNode&&e.offset==b.focusOffset||!Q(a.contentDOM,b.focusNode)?g.main.head:a.docView.posFromDOM(b.focusNode,b.focusOffset),d=f&&f.node==b.anchorNode&&f.offset==b.anchorOffset||!Q(a.contentDOM,b.anchorNode)?g.main.anchor:a.docView.posFromDOM(b.anchorNode,b.anchorOffset),i=a.viewport;if((B.ios||B.chrome)&&c!=d&&Math.min(c,d)<=g.main.from&&Math.max(c,d)>=g.main.to&&(i.from>0||i.to<a.state.doc.length)){let b=Math.min(c,d),e=Math.max(c,d),f=i.from-b,g=i.to-e;(0==f||1==f||0==b)&&(0==g||-1==g||e==a.state.doc.length)&&(c=0,d=a.state.doc.length)}if(a.inputState.composing>-1&&g.ranges.length>1)this.newSel=g.replaceRange(h.OF.range(d,c));else if(a.lineWrapping&&d==c&&!(g.main.empty&&g.main.head==c)&&a.inputState.lastTouchTime>Date.now()-100){let b=a.coordsAtPos(c,-1),d=0;b&&(d=a.inputState.lastTouchY<=b.bottom?-1:1),this.newSel=h.OF.create([h.OF.cursor(c,d)])}else this.newSel=h.OF.single(d,c)}}}function bG(a,b){let c,{newSel:d}=b,{state:e}=a,f=e.selection.main,g=a.inputState.lastKeyTime>Date.now()-100?a.inputState.lastKeyCode:-1;if(b.bounds){let{from:a,to:d}=b.bounds,i=f.from,j=null;(8===g||B.android&&b.text.length<d-a)&&(i=f.to,j="end");let k=e.doc.sliceString(a,d,""),l,m;!f.empty&&f.from>=a&&f.to<=d&&(b.typeOver||k!=b.text)&&k.slice(0,f.from-a)==b.text.slice(0,f.from-a)&&k.slice(f.to-a)==b.text.slice(l=b.text.length-(k.length-(f.to-a)))?c={from:f.from,to:f.to,insert:h.EY.of(b.text.slice(f.from-a,l).split(""))}:(m=bI(k,b.text,i-a,j))&&(B.chrome&&13==g&&m.toB==m.from+2&&""==b.text.slice(m.from,m.toB)&&m.toB--,c={from:a+m.from,to:a+m.toA,insert:h.EY.of(b.text.slice(m.from,m.toB).split(""))})}else d&&(!a.hasFocus&&e.facet(aM)||bJ(d,f))&&(d=null);if(!c&&!d)return!1;if((B.mac||B.android)&&c&&c.from==c.to&&c.from==f.head-1&&/^\. ?$/.test(c.insert.toString())&&"off"==a.contentDOM.getAttribute("autocorrect")?(d&&2==c.insert.length&&(d=h.OF.single(d.main.anchor-1,d.main.head-1)),c={from:c.from,to:c.to,insert:h.EY.of([c.insert.toString().replace("."," ")])}):e.doc.lineAt(f.from).to<f.to&&a.docView.lineHasWidget(f.to)&&a.inputState.insertingTextAt>Date.now()-50?c={from:f.from,to:f.to,insert:e.toText(a.inputState.insertingText)}:B.chrome&&c&&c.from==c.to&&c.from==f.head&&"\n "==c.insert.toString()&&a.lineWrapping&&(d&&(d=h.OF.single(d.main.anchor-1,d.main.head-1)),c={from:f.from,to:f.to,insert:h.EY.of([" "])}),c)return bH(a,c,d,g);if(!d||bJ(d,f))return!1;{let b=!1,c="select";return a.inputState.lastSelectionTime>Date.now()-50&&("select"==a.inputState.lastSelectionOrigin&&(b=!0),"select.pointer"==(c=a.inputState.lastSelectionOrigin)&&(d=by(e.facet(aW).map(b=>b(a)),d))),a.dispatch({selection:d,scrollIntoView:b,userEvent:c}),!0}}function bH(a,b,c,d=-1){let e;if(B.ios&&a.inputState.flushIOSKey(b))return!0;let f=a.state.selection.main;if(B.android&&(b.to==f.to&&(b.from==f.from||b.from==f.from-1&&" "==a.state.sliceDoc(b.from,f.from))&&1==b.insert.length&&2==b.insert.lines&&ad(a.contentDOM,"Enter",13)||(b.from==f.from-1&&b.to==f.to&&0==b.insert.length||8==d&&b.insert.length<b.to-b.from&&b.to>f.head)&&ad(a.contentDOM,"Backspace",8)||b.from==f.from&&b.to==f.to+1&&0==b.insert.length&&ad(a.contentDOM,"Delete",46)))return!0;let g=b.insert.toString();a.inputState.composing>=0&&a.inputState.composing++;let i=()=>e||(e=function(a,b,c){let d,e=a.state,f=e.selection.main,g=-1;if(b.from==b.to&&b.from<f.from||b.from>f.to){let c=b.from<f.from?-1:1,d=c<0?f.from:f.to,h=bx(e.facet(aW).map(b=>b(a)),d,c);b.from==h&&(g=h)}if(g>-1)d={changes:b,selection:h.OF.cursor(b.from+b.insert.length,-1)};else if(b.from>=f.from&&b.to<=f.to&&b.to-b.from>=(f.to-f.from)/3&&(!c||c.main.empty&&c.main.from==b.from+b.insert.length)&&a.inputState.composing<0){let c=f.from<b.from?e.sliceDoc(f.from,b.from):"",g=f.to>b.to?e.sliceDoc(b.to,f.to):"";d=e.replaceSelection(a.state.toText(c+b.insert.sliceString(0,void 0,a.state.lineBreak)+g))}else{let g=e.changes(b),i=c&&c.main.to<=g.newLength?c.main:void 0;if(e.selection.ranges.length>1&&(a.inputState.composing>=0||a.inputState.compositionPendingChange)&&b.to<=f.to+10&&b.to>=f.to-10){let j=a.state.sliceDoc(b.from,b.to),k,l=c&&br(a,c.main.head);if(l){let a=b.insert.length-(b.to-b.from);k={from:l.from,to:l.to-a}}else k=a.state.doc.lineAt(f.head);let m=f.to-b.to;d=e.changeByRange(c=>{if(c.from==f.from&&c.to==f.to)return{changes:g,range:i||c.map(g)};let d=c.to-m,l=d-j.length;if(a.state.sliceDoc(l,d)!=j||d>=k.from&&l<=k.to)return{range:c};let n=e.changes({from:l,to:d,insert:b.insert}),o=c.to-f.to;return{changes:n,range:i?h.OF.range(Math.max(0,i.anchor+o),Math.max(0,i.head+o)):c.map(n)}})}else d={changes:g,selection:i&&e.selection.replaceRange(i)}}let i="input.type";return(a.composing||a.inputState.compositionPendingChange&&a.inputState.compositionEndedAt>Date.now()-50)&&(a.inputState.compositionPendingChange=!1,i+=".compose",a.inputState.compositionFirstChange&&(i+=".start",a.inputState.compositionFirstChange=!1)),e.update(d,{userEvent:i,scrollIntoView:!0})}(a,b,c));return a.state.facet(aB).some(c=>c(a,b.from,b.to,g,i))||a.dispatch(i()),!0}function bI(a,b,c,d){let e=Math.min(a.length,b.length),f=0;for(;f<e&&a.charCodeAt(f)==b.charCodeAt(f);)f++;if(f==e&&a.length==b.length)return null;let g=a.length,h=b.length;for(;g>0&&h>0&&a.charCodeAt(g-1)==b.charCodeAt(h-1);)g--,h--;if("end"==d){let a=Math.max(0,f-Math.min(g,h));c-=g+a-f}if(g<f&&a.length<b.length){let a=c<=f&&c>=g?f-c:0;f-=a,h=f+(h-g),g=f}else if(h<f){let a=c<=f&&c>=h?f-c:0;f-=a,g=f+(g-h),h=f}return{from:f,toA:g,toB:h}}function bJ(a,b){return b.head==a.main.head&&b.anchor==a.main.anchor}class bK{setSelectionOrigin(a){this.lastSelectionOrigin=a,this.lastSelectionTime=Date.now()}constructor(a){this.view=a,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=a.hasFocus,B.safari&&a.contentDOM.addEventListener("input",()=>null),B.gecko&&function(a){b5.has(a)||(b5.add(a),a.addEventListener("copy",()=>{}),a.addEventListener("cut",()=>{}))}(a.contentDOM.ownerDocument)}handleEvent(a){!function(a,b){if(!b.bubbles)return!0;if(b.defaultPrevented)return!1;for(let c=b.target,d;c!=a.contentDOM;c=c.parentNode)if(!c||11==c.nodeType||(d=a3.get(c))&&d.isWidget()&&!d.isHidden&&d.widget.ignoreEvent(b))return!1;return!0}(this.view,a)||this.ignoreDuringComposition(a)||"keydown"==a.type&&this.keydown(a)||(0!=this.view.updateState?Promise.resolve().then(()=>this.runHandlers(a.type,a)):this.runHandlers(a.type,a))}runHandlers(a,b){let c=this.handlers[a];if(c){for(let a of c.observers)a(this.view,b);for(let a of c.handlers){if(b.defaultPrevented)break;if(a(this.view,b)){b.preventDefault();break}}}}ensureHandlers(a){let b=function(a){let b=Object.create(null);function c(a){return b[a]||(b[a]={observers:[],handlers:[]})}for(let b of a){let a=b.spec,d=a&&a.plugin.domEventHandlers,e=a&&a.plugin.domEventObservers;if(d)for(let a in d){let e=d[a];e&&c(a).handlers.push(bL(b.value,e))}if(e)for(let a in e){let d=e[a];d&&c(a).observers.push(bL(b.value,d))}}for(let a in bR)c(a).handlers.push(bR[a]);for(let a in bS)c(a).observers.push(bS[a]);return b}(a),c=this.handlers,d=this.view.contentDOM;for(let a in b)if("scroll"!=a){let e=!b[a].handlers.length,f=c[a];f&&!f.handlers.length!=e&&(d.removeEventListener(a,this.handleEvent),f=null),f||d.addEventListener(a,this.handleEvent,{passive:e})}for(let a in c)"scroll"==a||b[a]||d.removeEventListener(a,this.handleEvent);this.handlers=b}keydown(a){if(this.lastKeyCode=a.keyCode,this.lastKeyTime=Date.now(),9==a.keyCode&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&27!=a.keyCode&&0>bO.indexOf(a.keyCode)&&(this.tabFocusMode=-1),B.android&&B.chrome&&!a.synthetic&&(13==a.keyCode||8==a.keyCode))return this.view.observer.delayAndroidKey(a.key,a.keyCode),!0;if(B.ios&&!a.synthetic&&!a.altKey&&!a.metaKey&&(bM.some(b=>b.keyCode==a.keyCode)&&!a.ctrlKey||bN.indexOf(a.key)>-1&&a.ctrlKey)){var b;let c={ctrlKey:a.ctrlKey,altKey:a.altKey,metaKey:a.metaKey,shiftKey:a.shiftKey};return c.shiftKey&&B.ios&&!/^(off|none)$/.test(this.view.contentDOM.autocapitalize)&&(b=this.view.win).visualViewport&&b.visualViewport.height*b.visualViewport.scale/b.document.documentElement.clientHeight<.85&&(c.shiftKey=!1),this.pendingIOSKey={key:a.key,keyCode:a.keyCode,mods:c},setTimeout(()=>this.flushIOSKey(),250),!0}return 229!=a.keyCode&&this.view.observer.forceFlush(),!1}flushIOSKey(a){let b=this.pendingIOSKey;return!(!b||"Enter"==b.key&&a&&a.from<a.to&&/^\S+$/.test(a.insert.toString()))&&(this.pendingIOSKey=void 0,ad(this.view.contentDOM,b.key,b.keyCode,b.mods))}ignoreDuringComposition(a){return!!/^key/.test(a.type)&&!a.synthetic&&(this.composing>0||!!(B.safari&&!B.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100)&&(this.compositionPendingKey=!1,!0))}startMouseSelection(a){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=a}update(a){this.view.observer.update(a),this.mouseSelection&&this.mouseSelection.update(a),this.draggedContent&&a.docChanged&&(this.draggedContent=this.draggedContent.map(a.changes)),a.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}function bL(a,b){return(c,d)=>{try{return b.call(a,d,c)}catch(a){aL(c.state,a)}}}let bM=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],bN="dthko",bO=[16,17,18,20,91,92,224,225];function bP(a){return .7*Math.max(0,a)+8}class bQ{constructor(a,b,c,d){this.view=a,this.startEvent=b,this.style=c,this.mustSelect=d,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=b,this.scrollParents=$(a.contentDOM),this.atoms=a.state.facet(aW).map(b=>b(a));let e=a.contentDOM.ownerDocument;e.addEventListener("mousemove",this.move=this.move.bind(this)),e.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=b.shiftKey,this.multiple=a.state.facet(h.$t.allowMultipleSelections)&&function(a,b){let c=a.state.facet(aw);return c.length?c[0](b):B.mac?b.metaKey:b.ctrlKey}(a,b),this.dragging=!!function(a,b){let{main:c}=a.state.selection;if(c.empty)return!1;let d=P(a.root);if(!d||0==d.rangeCount)return!0;let e=d.getRangeAt(0).getClientRects();for(let a=0;a<e.length;a++){let c=e[a];if(c.left<=b.clientX&&c.right>=b.clientX&&c.top<=b.clientY&&c.bottom>=b.clientY)return!0}return!1}(a,b)&&1==b_(b)&&null}start(a){!1===this.dragging&&this.select(a)}move(a){var b;if(0==a.buttons)return this.destroy();if(this.dragging||null==this.dragging&&10>(b=this.startEvent,Math.max(Math.abs(b.clientX-a.clientX),Math.abs(b.clientY-a.clientY))))return;this.select(this.lastEvent=a);let c=0,d=0,e=0,f=0,g=this.view.win.innerWidth,h=this.view.win.innerHeight;this.scrollParents.x&&({left:e,right:g}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:f,bottom:h}=this.scrollParents.y.getBoundingClientRect());let i=a$(this.view);a.clientX-i.left<=e+6?c=-bP(e-a.clientX):a.clientX+i.right>=g-6&&(c=bP(a.clientX-g)),a.clientY-i.top<=f+6?d=-bP(f-a.clientY):a.clientY+i.bottom>=h-6&&(d=bP(a.clientY-h)),this.setScrollSpeed(c,d)}up(a){null==this.dragging&&this.select(this.lastEvent),this.dragging||a.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let a=this.view.contentDOM.ownerDocument;a.removeEventListener("mousemove",this.move),a.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(a,b){this.scrollSpeed={x:a,y:b},a||b?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:a,y:b}=this.scrollSpeed;a&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=a,a=0),b&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=b,b=0),(a||b)&&this.view.win.scrollBy(a,b),!1===this.dragging&&this.select(this.lastEvent)}select(a){let{view:b}=this,c=by(this.atoms,this.style.get(a,this.extend,this.multiple));(this.mustSelect||!c.eq(b.state.selection,!1===this.dragging))&&this.view.dispatch({selection:c,userEvent:"select.pointer"}),this.mustSelect=!1}update(a){a.transactions.some(a=>a.isUserEvent("input.type"))?this.destroy():this.style.update(a)&&setTimeout(()=>this.select(this.lastEvent),20)}}let bR=Object.create(null),bS=Object.create(null),bT=B.ie&&B.ie_version<15||B.ios&&B.webkit_version<604;function bU(a,b,c){for(let d of a.facet(b))c=d(c,a);return c}function bV(a,b){b=bU(a.state,aD,b);let{state:c}=a,d,e=1,f=c.toText(b),g=f.lines==c.selection.ranges.length;if(null!=b1&&c.selection.ranges.every(a=>a.empty)&&b1==f.toString()){let a=-1;d=c.changeByRange(d=>{let i=c.doc.lineAt(d.from);if(i.from==a)return{range:d};a=i.from;let j=c.toText((g?f.line(e++).text:b)+c.lineBreak);return{changes:{from:i.from,insert:j},range:h.OF.cursor(d.from+j.length)}})}else d=g?c.changeByRange(a=>{let b=f.line(e++);return{changes:{from:a.from,to:a.to,insert:b.text},range:h.OF.cursor(a.from+b.length)}}):c.replaceSelection(f);a.dispatch(d,{userEvent:"input.paste",scrollIntoView:!0})}function bW(a,b,c,d){if(1==d)return h.OF.cursor(b,c);{if(2==d)return function(a,b,c=1){let d=a.charCategorizer(b),e=a.doc.lineAt(b),f=b-e.from;if(0==e.length)return h.OF.cursor(b);0==f?c=1:f==e.length&&(c=-1);let g=f,i=f;c<0?g=(0,h.zK)(e.text,f,!1):i=(0,h.zK)(e.text,f);let j=d(e.text.slice(g,i));for(;g>0;){let a=(0,h.zK)(e.text,g,!1);if(d(e.text.slice(a,g))!=j)break;g=a}for(;i<e.length;){let a=(0,h.zK)(e.text,i);if(d(e.text.slice(i,a))!=j)break;i=a}return h.OF.undirectionalRange(g+e.from,i+e.from)}(a.state,b,c);let e=a.docView.lineAt(b,c),f=a.state.doc.lineAt(e?e.posAtEnd:b),g=e?e.posAtStart:f.from,i=e?e.posAtEnd:f.to;return i<a.state.doc.length&&i==f.to&&i++,h.OF.undirectionalRange(g,i)}}bS.scroll=a=>{a.inputState.lastScrollTop=a.scrollDOM.scrollTop,a.inputState.lastScrollLeft=a.scrollDOM.scrollLeft},bS.wheel=bS.mousewheel=a=>{a.inputState.lastWheelEvent=Date.now()},bR.keydown=(a,b)=>(a.inputState.setSelectionOrigin("select"),27==b.keyCode&&0!=a.inputState.tabFocusMode&&(a.inputState.tabFocusMode=Date.now()+2e3),!1),bS.touchstart=(a,b)=>{let c=a.inputState,d=b.targetTouches[0];c.lastTouchTime=Date.now(),d&&(c.lastTouchX=d.clientX,c.lastTouchY=d.clientY),c.setSelectionOrigin("select.pointer")},bS.touchmove=a=>{a.inputState.setSelectionOrigin("select.pointer")},bR.mousedown=(a,b)=>{var c,d;let e,f,g;if(a.observer.flush(),a.inputState.lastTouchTime>Date.now()-2e3)return!1;let i=null;for(let c of a.state.facet(ay))if(i=c(a,b))break;if(i||0!=b.button||(c=a,d=b,e=c.posAndSideAtCoords({x:d.clientX,y:d.clientY},!1),f=b_(d),g=c.state.selection,i={update(a){a.docChanged&&(e.pos=a.changes.mapPos(e.pos),g=g.map(a.changes))},get(a,b,d){let i=c.posAndSideAtCoords({x:a.clientX,y:a.clientY},!1),j,k=bW(c,i.pos,i.assoc,f);if(e.pos!=i.pos&&!b){let a=bW(c,e.pos,e.assoc,f),b=Math.min(a.from,k.from),d=Math.max(a.to,k.to);k=b<k.from?h.OF.range(b,d,k.assoc):h.OF.range(d,b,k.assoc)}return b?g.replaceRange(g.main.extend(k.from,k.to,k.assoc)):d&&1==f&&g.ranges.length>1&&(j=function(a,b){for(let c=0;c<a.ranges.length;c++){let{from:d,to:e}=a.ranges[c];if(d<=b&&e>=b)return h.OF.create(a.ranges.slice(0,c).concat(a.ranges.slice(c+1)),a.mainIndex==c?0:a.mainIndex-(a.mainIndex>c))}return null}(g,i.pos))?j:d?g.addRange(k):h.OF.create([k])}}),i){let c=!a.hasFocus;a.inputState.startMouseSelection(new bQ(a,b,i,c)),c&&a.observer.ignore(()=>{ab(a.contentDOM);let b=a.root.activeElement;b&&!b.contains(a.contentDOM)&&b.blur()});let d=a.inputState.mouseSelection;if(d)return d.start(b),!1===d.dragging}else a.inputState.setSelectionOrigin("select.pointer");return!1};let bX=B.ie&&B.ie_version<=11,bY=null,bZ=0,b$=0;function b_(a){if(!bX)return a.detail;let b=bY,c=b$;return bY=a,b$=Date.now(),bZ=!b||c>Date.now()-400&&2>Math.abs(b.clientX-a.clientX)&&2>Math.abs(b.clientY-a.clientY)?(bZ+1)%3:1}function b0(a,b,c,d){let e;if(!(c=bU(a.state,aD,c)))return;let f=a.posAtCoords({x:b.clientX,y:b.clientY},!1),{draggedContent:g}=a.inputState,h=d&&g&&((e=a.state.facet(ax)).length?e[0](b):B.mac?!b.altKey:!b.ctrlKey)?{from:g.from,to:g.to}:null,i={from:f,insert:c},j=a.state.changes(h?[h,i]:i);a.focus(),a.dispatch({changes:j,selection:{anchor:j.mapPos(f,-1),head:j.mapPos(f,1)},userEvent:h?"move.drop":"input.drop"}),a.inputState.draggedContent=null}bR.dragstart=(a,b)=>{let{selection:{main:c}}=a.state;if(b.target.draggable){let d=a.docView.tile.nearest(b.target);if(d&&d.isWidget()){let a=d.posAtStart,b=a+d.length;(a>=c.to||b<=c.from)&&(c=h.OF.undirectionalRange(a,b))}}let{inputState:d}=a;return d.mouseSelection&&(d.mouseSelection.dragging=!0),d.draggedContent=c,b.dataTransfer&&(b.dataTransfer.setData("Text",bU(a.state,aE,a.state.sliceDoc(c.from,c.to))),b.dataTransfer.effectAllowed="copyMove"),!1},bR.dragend=a=>(a.inputState.draggedContent=null,!1),bR.drop=(a,b)=>{if(!b.dataTransfer)return!1;if(a.state.readOnly)return!0;let c=b.dataTransfer.files;if(c&&c.length){let d=Array(c.length),e=0,f=()=>{++e==c.length&&b0(a,b,d.filter(a=>null!=a).join(a.state.lineBreak),!1)};for(let a=0;a<c.length;a++){let b=new FileReader;b.onerror=f,b.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(b.result)||(d[a]=b.result),f()},b.readAsText(c[a])}return!0}{let c=b.dataTransfer.getData("Text");if(c)return b0(a,b,c,!0),!0}return!1},bR.paste=(a,b)=>{if(a.state.readOnly)return!0;a.observer.flush();let c=bT?null:b.clipboardData;return c?(bV(a,c.getData("text/plain")||c.getData("text/uri-list")),!0):(!function(a){let b=a.dom.parentNode;if(!b)return;let c=b.appendChild(document.createElement("textarea"));c.style.cssText="position: fixed; left: -10000px; top: 10px",c.focus(),setTimeout(()=>{a.focus(),c.remove(),bV(a,c.value)},50)}(a),!1)};let b1=null;bR.copy=bR.cut=(a,b)=>{if(!R(a.contentDOM,a.observer.selectionRange))return!1;let{text:c,ranges:d,linewise:e}=function(a){let b=[],c=[],d=!1;for(let d of a.selection.ranges)d.empty||(b.push(a.sliceDoc(d.from,d.to)),c.push(d));if(!b.length){let e=-1;for(let{from:d}of a.selection.ranges){let f=a.doc.lineAt(d);f.number>e&&(b.push(f.text),c.push({from:f.from,to:Math.min(a.doc.length,f.to+1)})),e=f.number}d=!0}return{text:bU(a,aE,b.join(a.lineBreak)),ranges:c,linewise:d}}(a.state);if(!c&&!e)return!1;b1=e?c:null,"cut"!=b.type||a.state.readOnly||a.dispatch({changes:d,scrollIntoView:!0,userEvent:"delete.cut"});let f=bT?null:b.clipboardData;return f?(f.clearData(),f.setData("text/plain",c),!0):(!function(a,b){let c=a.dom.parentNode;if(!c)return;let d=c.appendChild(document.createElement("textarea"));d.style.cssText="position: fixed; left: -10000px; top: 10px",d.value=b,d.focus(),d.selectionEnd=b.length,d.selectionStart=0,setTimeout(()=>{d.remove(),a.focus()},50)}(a,c),!1)};let b2=h.YH.define();function b3(a,b){let c=[];for(let d of a.facet(aC)){let e=d(a,b);e&&c.push(e)}return c.length?a.update({effects:c,annotations:b2.of(!0)}):null}function b4(a){setTimeout(()=>{let b=a.hasFocus;if(b!=a.inputState.notifiedFocused){let c=b3(a.state,b);c?a.dispatch(c):a.update([])}},10)}bS.focus=a=>{a.inputState.lastFocusTime=Date.now(),!a.scrollDOM.scrollTop&&(a.inputState.lastScrollTop||a.inputState.lastScrollLeft)&&(a.scrollDOM.scrollTop=a.inputState.lastScrollTop,a.scrollDOM.scrollLeft=a.inputState.lastScrollLeft),b4(a)},bS.blur=a=>{a.observer.clearSelectionRange(),b4(a)},bS.compositionstart=bS.compositionupdate=a=>{!a.observer.editContext&&(null==a.inputState.compositionFirstChange&&(a.inputState.compositionFirstChange=!0),a.inputState.composing<0&&(a.inputState.composing=0))},bS.compositionend=a=>{a.observer.editContext||(a.inputState.composing=-1,a.inputState.compositionEndedAt=Date.now(),a.inputState.compositionPendingKey=!0,a.inputState.compositionPendingChange=a.observer.pendingRecords().length>0,a.inputState.compositionFirstChange=null,B.chrome&&B.android?a.observer.flushSoon():a.inputState.compositionPendingChange?Promise.resolve().then(()=>a.observer.flush()):setTimeout(()=>{a.inputState.composing<0&&a.docView.hasComposition&&a.update([])},50))},bS.contextmenu=a=>{a.inputState.lastContextMenu=Date.now()},bR.beforeinput=(a,b)=>{var c,d;let e;if(("insertText"==b.inputType||"insertCompositionText"==b.inputType)&&(a.inputState.insertingText=b.data,a.inputState.insertingTextAt=Date.now()),"insertReplacementText"==b.inputType&&a.observer.editContext){let d=null==(c=b.dataTransfer)?void 0:c.getData("text/plain"),e=b.getTargetRanges();if(d&&e.length){let b=e[0],c=a.posAtDOM(b.startContainer,b.startOffset),f=a.posAtDOM(b.endContainer,b.endOffset);return bH(a,{from:c,to:f,insert:a.state.toText(d)},null),!0}}if(B.chrome&&B.android&&(e=bM.find(a=>a.inputType==b.inputType))&&(a.observer.delayAndroidKey(e.key,e.keyCode),"Backspace"==e.key||"Delete"==e.key)){let b=(null==(d=window.visualViewport)?void 0:d.height)||0;setTimeout(()=>{var c;((null==(c=window.visualViewport)?void 0:c.height)||0)>b+10&&a.hasFocus&&(a.contentDOM.blur(),a.focus())},100)}return B.ios&&"deleteContentForward"==b.inputType&&a.observer.flushSoon(),B.safari&&"insertText"==b.inputType&&a.inputState.composing>=0&&setTimeout(()=>bS.compositionend(a,b),20),!1};let b5=new Set,b6=["pre-wrap","normal","pre-line","break-spaces"],b7=!1;class b8{constructor(a){this.lineWrapping=a,this.doc=h.EY.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(a,b){let c=this.doc.lineAt(b).number-this.doc.lineAt(a).number+1;return this.lineWrapping&&(c+=Math.max(0,Math.ceil((b-a-c*this.lineLength*.5)/this.lineLength))),this.lineHeight*c}heightForLine(a){return this.lineWrapping?(1+Math.max(0,Math.ceil((a-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(a){return this.doc=a,this}mustRefreshForWrapping(a){return b6.indexOf(a)>-1!=this.lineWrapping}mustRefreshForHeights(a){let b=!1;for(let c=0;c<a.length;c++){let d=a[c];d<0?c++:this.heightSamples[Math.floor(10*d)]||(b=!0,this.heightSamples[Math.floor(10*d)]=!0)}return b}refresh(a,b,c,d,e,f){let g=b6.indexOf(a)>-1,h=Math.abs(b-this.lineHeight)>.3||this.lineWrapping!=g;if(this.lineWrapping=g,this.lineHeight=b,this.charWidth=c,this.textHeight=d,this.lineLength=e,h){this.heightSamples={};for(let a=0;a<f.length;a++){let b=f[a];b<0?a++:this.heightSamples[Math.floor(10*b)]=!0}}return h}}class b9{constructor(a,b){this.from=a,this.heights=b,this.index=0}get more(){return this.index<this.heights.length}}class ca{constructor(a,b,c,d,e){this.from=a,this.length=b,this.top=c,this.height=d,this._content=e}get type(){return"number"==typeof this._content?H.Text:Array.isArray(this._content)?this._content:this._content.type}get to(){return this.from+this.length}get bottom(){return this.top+this.height}get widget(){return this._content instanceof L?this._content.widget:null}get widgetLineBreaks(){return"number"==typeof this._content?this._content:0}join(a){let b=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(a._content)?a._content:[a]);return new ca(this.from,this.length+a.length,this.top,this.height+a.height,b)}}var cb=((g=cb||(cb={}))[g.ByPos=0]="ByPos",g[g.ByHeight=1]="ByHeight",g[g.ByPosNoHeight=2]="ByPosNoHeight",g);class cc{constructor(a,b,c=2){this.length=a,this.height=b,this.flags=c}get outdated(){return(2&this.flags)>0}set outdated(a){this.flags=2*!!a|-3&this.flags}setHeight(a){this.height!=a&&(Math.abs(this.height-a)>.001&&(b7=!0),this.height=a)}replace(a,b,c){return cc.of(c)}decomposeLeft(a,b){b.push(this)}decomposeRight(a,b){b.push(this)}applyChanges(a,b,c,d){let e=this,f=c.doc;for(let g=d.length-1;g>=0;g--){let{fromA:h,toA:i,fromB:j,toB:k}=d[g],l=e.lineAt(h,cb.ByPosNoHeight,c.setDoc(b),0,0),m=l.to>=i?l:e.lineAt(i,cb.ByPosNoHeight,c,0,0);for(k+=m.to-i,i=m.to;g>0&&l.from<=d[g-1].toA;)h=d[g-1].fromA,j=d[g-1].fromB,g--,h<l.from&&(l=e.lineAt(h,cb.ByPosNoHeight,c,0,0));j+=l.from-h,h=l.from;let n=ck.build(c.setDoc(f),a,j,k);e=cd(e,e.replace(h,i,n))}return e.updateHeight(c,0)}static empty(){return new cg(0,0,0)}static of(a){if(1==a.length)return a[0];let b=0,c=a.length,d=0,e=0;for(;;)if(b==c)if(d>2*e){let e=a[b-1];e.break?a.splice(--b,1,e.left,null,e.right):a.splice(--b,1,e.left,e.right),c+=1+e.break,d-=e.size}else if(e>2*d){let b=a[c];b.break?a.splice(c,1,b.left,null,b.right):a.splice(c,1,b.left,b.right),c+=2+b.break,e-=b.size}else break;else if(d<e){let c=a[b++];c&&(d+=c.size)}else{let b=a[--c];b&&(e+=b.size)}let f=0;return null==a[b-1]?(f=1,b--):null==a[b]&&(f=1,c++),new ci(cc.of(a.slice(0,b)),f,cc.of(a.slice(c)))}}function cd(a,b){return a==b?a:(a.constructor!=b.constructor&&(b7=!0),b)}cc.prototype.size=1;let ce=I.replace({});class cf extends cc{constructor(a,b,c){super(a,b),this.deco=c,this.spaceAbove=0}mainBlock(a,b){return new ca(b,this.length,a+this.spaceAbove,this.height-this.spaceAbove,this.deco||0)}blockAt(a,b,c,d){return this.spaceAbove&&a<c+this.spaceAbove?new ca(d,0,c,this.spaceAbove,ce):this.mainBlock(c,d)}lineAt(a,b,c,d,e){let f=this.mainBlock(d,e);return this.spaceAbove?this.blockAt(0,c,d,e).join(f):f}forEachLine(a,b,c,d,e,f){a<=e+this.length&&b>=e&&f(this.lineAt(0,cb.ByPos,c,d,e))}setMeasuredHeight(a){let b=a.heights[a.index++];b<0?(this.spaceAbove=-b,b=a.heights[a.index++]):this.spaceAbove=0,this.setHeight(b)}updateHeight(a,b=0,c=!1,d){return d&&d.from<=b&&d.more&&this.setMeasuredHeight(d),this.outdated=!1,this}toString(){return`block(${this.length})`}}class cg extends cf{constructor(a,b,c){super(a,b,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=c}mainBlock(a,b){return new ca(b,this.length,a+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(a,b,c){let d=c[0];return 1==c.length&&(d instanceof cg||d instanceof ch&&4&d.flags)&&10>Math.abs(this.length-d.length)?(d instanceof ch?d=new cg(d.length,this.height,this.spaceAbove):d.height=this.height,this.outdated||(d.outdated=!1),d):cc.of(c)}updateHeight(a,b=0,c=!1,d){return d&&d.from<=b&&d.more?this.setMeasuredHeight(d):(c||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,a.heightForLine(this.length-this.collapsed))+this.breaks*a.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}}class ch extends cc{constructor(a){super(a,0)}heightMetrics(a,b){let c=a.doc.lineAt(b).number,d=a.doc.lineAt(b+this.length).number,e=d-c+1,f,g=0;if(a.lineWrapping){let b=Math.min(this.height,a.lineHeight*e);f=b/e,this.length>e+1&&(g=(this.height-b)/(this.length-e-1))}else f=this.height/e;return{firstLine:c,lastLine:d,perLine:f,perChar:g}}blockAt(a,b,c,d){let{firstLine:e,lastLine:f,perLine:g,perChar:h}=this.heightMetrics(b,d);if(b.lineWrapping){let e=d+(a<b.lineHeight?0:Math.round(Math.max(0,Math.min(1,(a-c)/this.height))*this.length)),f=b.doc.lineAt(e),i=g+f.length*h,j=Math.max(c,a-i/2);return new ca(f.from,f.length,j,i,0)}{let d=Math.max(0,Math.min(f-e,Math.floor((a-c)/g))),{from:h,length:i}=b.doc.line(e+d);return new ca(h,i,c+g*d,g,0)}}lineAt(a,b,c,d,e){if(b==cb.ByHeight)return this.blockAt(a,c,d,e);if(b==cb.ByPosNoHeight){let{from:b,to:d}=c.doc.lineAt(a);return new ca(b,d-b,0,0,0)}let{firstLine:f,perLine:g,perChar:h}=this.heightMetrics(c,e),i=c.doc.lineAt(a),j=g+i.length*h,k=i.number-f,l=d+g*k+h*(i.from-e-k);return new ca(i.from,i.length,Math.max(d,Math.min(l,d+this.height-j)),j,0)}forEachLine(a,b,c,d,e,f){a=Math.max(a,e),b=Math.min(b,e+this.length);let{firstLine:g,perLine:h,perChar:i}=this.heightMetrics(c,e);for(let j=a,k=d;j<=b;){let b=c.doc.lineAt(j);if(j==a){let c=b.number-g;k+=h*c+i*(a-e-c)}let d=h+i*b.length;f(new ca(b.from,b.length,k,d,0)),k+=d,j=b.to+1}}replace(a,b,c){let d=this.length-b;if(d>0){let a=c[c.length-1];a instanceof ch?c[c.length-1]=new ch(a.length+d):c.push(null,new ch(d-1))}if(a>0){let b=c[0];b instanceof ch?c[0]=new ch(a+b.length):c.unshift(new ch(a-1),null)}return cc.of(c)}decomposeLeft(a,b){b.push(new ch(a-1),null)}decomposeRight(a,b){b.push(null,new ch(this.length-a-1))}updateHeight(a,b=0,c=!1,d){let e=b+this.length;if(d&&d.from<=b+this.length&&d.more){let c=[],f=Math.max(b,d.from),g=-1;for(d.from>b&&c.push(new ch(d.from-b-1).updateHeight(a,b));f<=e&&d.more;){let b=a.doc.lineAt(f).length;c.length&&c.push(null);let e=d.heights[d.index++],h=0;e<0&&(h=-e,e=d.heights[d.index++]),-1==g?g=e:Math.abs(e-g)>=.001&&(g=-2);let i=new cg(b,e,h);i.outdated=!1,c.push(i),f+=b+1}f<=e&&c.push(null,new ch(e-f).updateHeight(a,f));let h=cc.of(c);return(g<0||Math.abs(h.height-this.height)>=.001||Math.abs(g-this.heightMetrics(a,b).perLine)>=.001)&&(b7=!0),cd(this,h)}return(c||this.outdated)&&(this.setHeight(a.heightForGap(b,b+this.length)),this.outdated=!1),this}toString(){return`gap(${this.length})`}}class ci extends cc{constructor(a,b,c){super(a.length+b+c.length,a.height+c.height,b|(a.outdated||c.outdated?2:0)),this.left=a,this.right=c,this.size=a.size+c.size}get break(){return 1&this.flags}blockAt(a,b,c,d){let e=c+this.left.height;return a<e?this.left.blockAt(a,b,c,d):this.right.blockAt(a,b,e,d+this.left.length+this.break)}lineAt(a,b,c,d,e){let f=d+this.left.height,g=e+this.left.length+this.break,h=b==cb.ByHeight?a<f:a<g,i=h?this.left.lineAt(a,b,c,d,e):this.right.lineAt(a,b,c,f,g);if(this.break||(h?i.to<g:i.from>g))return i;let j=b==cb.ByPosNoHeight?cb.ByPosNoHeight:cb.ByPos;return h?i.join(this.right.lineAt(g,j,c,f,g)):this.left.lineAt(g,j,c,d,e).join(i)}forEachLine(a,b,c,d,e,f){let g=d+this.left.height,h=e+this.left.length+this.break;if(this.break)a<h&&this.left.forEachLine(a,b,c,d,e,f),b>=h&&this.right.forEachLine(a,b,c,g,h,f);else{let i=this.lineAt(h,cb.ByPos,c,d,e);a<i.from&&this.left.forEachLine(a,i.from-1,c,d,e,f),i.to>=a&&i.from<=b&&f(i),b>i.to&&this.right.forEachLine(i.to+1,b,c,g,h,f)}}replace(a,b,c){let d=this.left.length+this.break;if(b<d)return this.balanced(this.left.replace(a,b,c),this.right);if(a>this.left.length)return this.balanced(this.left,this.right.replace(a-d,b-d,c));let e=[];a>0&&this.decomposeLeft(a,e);let f=e.length;for(let a of c)e.push(a);if(a>0&&cj(e,f-1),b<this.length){let a=e.length;this.decomposeRight(b,e),cj(e,a)}return cc.of(e)}decomposeLeft(a,b){let c=this.left.length;if(a<=c)return this.left.decomposeLeft(a,b);b.push(this.left),this.break&&a>=++c&&b.push(null),a>c&&this.right.decomposeLeft(a-c,b)}decomposeRight(a,b){let c=this.left.length,d=c+this.break;if(a>=d)return this.right.decomposeRight(a-d,b);a<c&&this.left.decomposeRight(a,b),this.break&&a<d&&b.push(null),b.push(this.right)}balanced(a,b){return a.size>2*b.size||b.size>2*a.size?cc.of(this.break?[a,null,b]:[a,b]):(this.left=cd(this.left,a),this.right=cd(this.right,b),this.setHeight(a.height+b.height),this.outdated=a.outdated||b.outdated,this.size=a.size+b.size,this.length=a.length+this.break+b.length,this)}updateHeight(a,b=0,c=!1,d){let{left:e,right:f}=this,g=b+e.length+this.break,h=null;return(d&&d.from<=b+e.length&&d.more?h=e=e.updateHeight(a,b,c,d):e.updateHeight(a,b,c),d&&d.from<=g+f.length&&d.more?h=f=f.updateHeight(a,g,c,d):f.updateHeight(a,g,c),h)?this.balanced(e,f):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function cj(a,b){let c,d;null==a[b]&&(c=a[b-1])instanceof ch&&(d=a[b+1])instanceof ch&&a.splice(b-1,3,new ch(c.length+1+d.length))}class ck{constructor(a,b){this.pos=a,this.oracle=b,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=a}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(a,b){if(this.lineStart>-1){let a=Math.min(b,this.lineEnd),c=this.nodes[this.nodes.length-1];c instanceof cg?c.length+=a-this.pos:(a>this.pos||!this.isCovered)&&this.nodes.push(new cg(a-this.pos,-1,0)),this.writtenTo=a,b>a&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=b}point(a,b,c){if(a<b||c.heightRelevant){let d=c.widget?c.widget.estimatedHeight:0,e=c.widget?c.widget.lineBreaks:0;d<0&&(d=this.oracle.lineHeight);let f=b-a;c.block?this.addBlock(new cf(f,d,c)):(f||e||d>=5)&&this.addLineDeco(d,e,f)}else b>a&&this.span(a,b);this.lineEnd>-1&&this.lineEnd<this.pos&&(this.lineEnd=this.oracle.doc.lineAt(this.pos).to)}enterLine(){if(this.lineStart>-1)return;let{from:a,to:b}=this.oracle.doc.lineAt(this.pos);this.lineStart=a,this.lineEnd=b,this.writtenTo<a&&((this.writtenTo<a-1||null==this.nodes[this.nodes.length-1])&&this.nodes.push(this.blankContent(this.writtenTo,a-1)),this.nodes.push(null)),this.pos>a&&this.nodes.push(new cg(this.pos-a,-1,0)),this.writtenTo=this.pos}blankContent(a,b){let c=new ch(b-a);return this.oracle.doc.lineAt(a).to==b&&(c.flags|=4),c}ensureLine(){this.enterLine();let a=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(a instanceof cg)return a;let b=new cg(0,-1,0);return this.nodes.push(b),b}addBlock(a){this.enterLine();let b=a.deco;b&&b.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(a),this.writtenTo=this.pos=this.pos+a.length,b&&b.endSide>0&&(this.covering=a)}addLineDeco(a,b,c){let d=this.ensureLine();d.length+=c,d.collapsed+=c,d.widgetHeight=Math.max(d.widgetHeight,a),d.breaks+=b,this.writtenTo=this.pos=this.pos+c}finish(a){let b=0==this.nodes.length?null:this.nodes[this.nodes.length-1];!(this.lineStart>-1)||b instanceof cg||this.isCovered?(this.writtenTo<this.pos||null==b)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos)):this.nodes.push(new cg(0,-1,0));let c=a;for(let a of this.nodes)a instanceof cg&&a.updateHeight(this.oracle,c),c+=a?a.length:1;return this.nodes}static build(a,b,c,d){let e=new ck(c,a);return h.om.spans(b,c,d,e,0),e.finish(c)}}class cl{constructor(){this.changes=[]}compareRange(){}comparePoint(a,b,c,d){(a<b||c&&c.heightRelevant||d&&d.heightRelevant)&&N(a,b,this.changes,5)}}class cm{constructor(a,b,c,d){this.from=a,this.to=b,this.size=c,this.displaySize=d}static same(a,b){if(a.length!=b.length)return!1;for(let c=0;c<a.length;c++){let d=a[c],e=b[c];if(d.from!=e.from||d.to!=e.to||d.size!=e.size)return!1}return!0}draw(a,b){return I.replace({widget:new cn(this.displaySize*(b?a.scaleY:a.scaleX),b)}).range(this.from,this.to)}}class cn extends G{constructor(a,b){super(),this.size=a,this.vertical=b}eq(a){return a.size==this.size&&a.vertical==this.vertical}toDOM(){let a=document.createElement("div");return this.vertical?a.style.height=this.size+"px":(a.style.width=this.size+"px",a.style.height="2px",a.style.display="inline-block"),a}get estimatedHeight(){return this.vertical?this.size:-1}}class co{constructor(a,b){this.view=a,this.state=b,this.pixelViewport={left:0,right:window.innerWidth,top:0,bottom:0},this.inView=!0,this.paddingTop=0,this.paddingBottom=0,this.contentDOMWidth=0,this.contentDOMHeight=0,this.editorHeight=0,this.editorWidth=0,this.scaleX=1,this.scaleY=1,this.scrollOffset=0,this.scrolledToBottom=!1,this.scrollAnchorPos=0,this.scrollAnchorHeight=-1,this.scaler=cs,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=ai.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let c=b.facet(aS).some(a=>"function"!=typeof a&&"cm-lineWrapping"==a.class);this.heightOracle=new b8(c),this.stateDeco=ct(b),this.heightMap=cc.empty().applyChanges(this.stateDeco,h.EY.empty,this.heightOracle.setDoc(b.doc),[new a0(0,0,0,b.doc.length)]);for(let a=0;a<2&&(this.viewport=this.getViewport(0,null),this.updateForViewport());a++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=I.set(this.lineGaps.map(a=>a.draw(this,!1))),this.scrollParent=a.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let a=[this.viewport],{main:b}=this.state.selection;for(let c=0;c<=1;c++){let d=c?b.head:b.anchor;if(!a.some(({from:a,to:b})=>d>=a&&d<=b)){let{from:b,to:c}=this.lineBlockAt(d);a.push(new cp(b,c))}}return this.viewports=a.sort((a,b)=>a.from-b.from),this.updateScaler()}updateScaler(){let a=this.scaler;return this.scaler=this.heightMap.height<=7e6?cs:new cu(this.heightOracle,this.heightMap,this.viewports),2*!a.eq(this.scaler)}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,a=>{this.viewportLines.push(cv(a,this.scaler))})}update(a,b=null){var c,d;let e;this.state=a.state;let f=this.stateDeco;this.stateDeco=ct(this.state);let g=a.changedRanges,i=a0.extendWithRanges(g,(c=this.stateDeco,d=a?a.changes:h.VR.empty(this.state.doc.length),e=new cl,h.om.compare(f,c,d,e,0),e.changes)),j=this.heightMap.height,k=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);b7=!1,this.heightMap=this.heightMap.applyChanges(this.stateDeco,a.startState.doc,this.heightOracle.setDoc(this.state.doc),i),(this.heightMap.height!=j||b7)&&(a.flags|=2),k?(this.scrollAnchorPos=a.changes.mapPos(k.from,-1),this.scrollAnchorHeight=k.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=j);let l=i.length?this.mapViewport(this.viewport,a.changes):this.viewport;(b&&(b.range.head<l.from||b.range.head>l.to)||!this.viewportIsAppropriate(l))&&(l=this.getViewport(0,b));let m=l.from!=this.viewport.from||l.to!=this.viewport.to;this.viewport=l,a.flags|=this.updateForViewport(),(m||!a.changes.empty||2&a.flags)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,a.changes))),a.flags|=this.computeVisibleRanges(a.changes),b&&(this.scrollTarget=b),!this.mustEnforceCursorAssoc&&(a.selectionSet||a.focusChanged)&&a.view.lineWrapping&&a.state.selection.main.empty&&a.state.selection.main.assoc&&!a.state.facet(aG)&&(this.mustEnforceCursorAssoc=!0)}measure(){var a;let b,c,{view:d}=this,e=d.contentDOM,f=window.getComputedStyle(e),g=this.heightOracle,i=f.whiteSpace;this.defaultTextDirection="rtl"==f.direction?ai.RTL:ai.LTR;let j=this.heightOracle.mustRefreshForWrapping(i)||"refresh"===this.mustMeasureContent,k=e.getBoundingClientRect(),l=j||this.mustMeasureContent||this.contentDOMHeight!=k.height;this.contentDOMHeight=k.height,this.mustMeasureContent=!1;let m=0,n=0;if(k.width&&k.height){let{scaleX:a,scaleY:b}=Z(e,k);(a>.005&&Math.abs(this.scaleX-a)>.005||b>.005&&Math.abs(this.scaleY-b)>.005)&&(this.scaleX=a,this.scaleY=b,m|=16,j=l=!0)}let o=(parseInt(f.paddingTop)||0)*this.scaleY,p=(parseInt(f.paddingBottom)||0)*this.scaleY;(this.paddingTop!=o||this.paddingBottom!=p)&&(this.paddingTop=o,this.paddingBottom=p,m|=18),this.editorWidth!=d.scrollDOM.clientWidth&&(g.lineWrapping&&(l=!0),this.editorWidth=d.scrollDOM.clientWidth,m|=16);let q=$(this.view.contentDOM,!1).y;q!=this.scrollParent&&(this.scrollParent=q,this.scrollAnchorHeight=-1,this.scrollOffset=0);let r=this.getScrollOffset();this.scrollOffset!=r&&(this.scrollAnchorHeight=-1,this.scrollOffset=r),this.scrolledToBottom=ae(this.scrollParent||d.win);let s=(this.printing?function(a,b){let c=a.getBoundingClientRect();return{left:0,right:c.right-c.left,top:b,bottom:c.bottom-(c.top+b)}}:function(a,b){let c=a.getBoundingClientRect(),d=a.ownerDocument,e=d.defaultView||window,f=Math.max(0,c.left),g=Math.min(e.innerWidth,c.right),h=Math.max(0,c.top),i=Math.min(e.innerHeight,c.bottom);for(let b=a.parentNode;b&&b!=d.body;)if(1==b.nodeType){let c=b,d=window.getComputedStyle(c);if((c.scrollHeight>c.clientHeight||c.scrollWidth>c.clientWidth)&&"visible"!=d.overflow){let d=c.getBoundingClientRect();f=Math.max(f,d.left),g=Math.min(g,d.right),h=Math.max(h,d.top),i=Math.min(b==a.parentNode?e.innerHeight:i,d.bottom)}b="absolute"==d.position||"fixed"==d.position?c.offsetParent:c.parentNode}else if(11==b.nodeType)b=b.host;else break;return{left:f-c.left,right:Math.max(f,g)-c.left,top:h-(c.top+b),bottom:Math.max(h,i)-(c.top+b)}})(e,this.paddingTop),t=s.top-this.pixelViewport.top,u=s.bottom-this.pixelViewport.bottom;this.pixelViewport=s;let v=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(v!=this.inView&&(this.inView=v,v&&(l=!0)),!this.inView&&!this.scrollTarget&&(b=(a=d.dom).getBoundingClientRect(),c=a.ownerDocument.defaultView||window,!(b.left<c.innerWidth)||!(b.right>0)||!(b.top<c.innerHeight)||!(b.bottom>0)))return 0;let w=k.width;if((this.contentDOMWidth!=w||this.editorHeight!=d.scrollDOM.clientHeight)&&(this.contentDOMWidth=k.width,this.editorHeight=d.scrollDOM.clientHeight,m|=16),l){let a=d.docView.measureVisibleLineHeights(this.viewport);if(g.mustRefreshForHeights(a)&&(j=!0),j||g.lineWrapping&&Math.abs(w-this.contentDOMWidth)>g.charWidth){let{lineHeight:b,charWidth:c,textHeight:e}=d.docView.measureTextSize();(j=b>0&&g.refresh(i,b,c,e,Math.max(5,w/c),a))&&(d.docView.minWidth=0,m|=16)}for(let b of(t>0&&u>0?n=Math.max(t,u):t<0&&u<0&&(n=Math.min(t,u)),b7=!1,this.viewports)){let c=b.from==this.viewport.from?a:d.docView.measureVisibleLineHeights(b);this.heightMap=(j?cc.empty().applyChanges(this.stateDeco,h.EY.empty,this.heightOracle,[new a0(0,0,0,d.state.doc.length)]):this.heightMap).updateHeight(g,0,j,new b9(b.from,c))}b7&&(m|=2)}let x=!this.viewportIsAppropriate(this.viewport,n)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return x&&(2&m&&(m|=this.updateScaler()),this.viewport=this.getViewport(n,this.scrollTarget),m|=this.updateForViewport()),(2&m||x)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(j?[]:this.lineGaps,d)),m|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,d.docView.enforceCursorAssoc()),m}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(a,b){let c=.5-Math.max(-.5,Math.min(.5,a/1e3/2)),d=this.heightMap,e=this.heightOracle,{visibleTop:f,visibleBottom:g}=this,h=new cp(d.lineAt(f-1e3*c,cb.ByHeight,e,0,0).from,d.lineAt(g+(1-c)*1e3,cb.ByHeight,e,0,0).to);if(b){let{head:a}=b.range;if(a<h.from||a>h.to){let c=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),f=d.lineAt(a,cb.ByPos,e,0,0),g;g="center"==b.y?(f.top+f.bottom)/2-c/2:"start"==b.y||"nearest"==b.y&&a<h.from?f.top:f.bottom-c,h=new cp(d.lineAt(g-500,cb.ByHeight,e,0,0).from,d.lineAt(g+c+500,cb.ByHeight,e,0,0).to)}}return h}mapViewport(a,b){let c=b.mapPos(a.from,-1),d=b.mapPos(a.to,1);return new cp(this.heightMap.lineAt(c,cb.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(d,cb.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:a,to:b},c=0){if(!this.inView)return!0;let{top:d}=this.heightMap.lineAt(a,cb.ByPos,this.heightOracle,0,0),{bottom:e}=this.heightMap.lineAt(b,cb.ByPos,this.heightOracle,0,0),{visibleTop:f,visibleBottom:g}=this;return(0==a||d<=f-Math.max(10,Math.min(-c,250)))&&(b==this.state.doc.length||e>=g+Math.max(10,Math.min(c,250)))&&d>f-2e3&&e<g+2e3}mapLineGaps(a,b){if(!a.length||b.empty)return a;let c=[];for(let d of a)b.touchesRange(d.from,d.to)||c.push(new cm(b.mapPos(d.from),b.mapPos(d.to),d.size,d.displaySize));return c}ensureLineGaps(a,b){let c=this.heightOracle.lineWrapping,d=c?1e4:2e3,e=d>>1,f=d<<1;if(this.defaultTextDirection!=ai.LTR&&!c)return[];let g=[],i=(d,f,j,k)=>{if(f-d<e)return;let l=this.state.selection.main,m=[l.from];for(let a of(l.empty||m.push(l.to),m))if(a>d&&a<f){i(d,a-10,j,k),i(a+10,f,j,k);return}let n=function(a,b){for(let c of a)if(b(c))return c}(a,a=>a.from>=j.from&&a.to<=j.to&&Math.abs(a.from-d)<e&&Math.abs(a.to-f)<e&&!m.some(b=>a.from<b&&a.to>b));if(!n){if(f<j.to&&b&&c&&b.visibleRanges.some(a=>a.from<=f&&a.to>=f)){let a=b.moveToLineBoundary(h.OF.cursor(f),!1,!0).head;a>d&&(f=a)}let a=this.gapSize(j,d,f,k),e=c||a<2e6?a:2e6;n=new cm(d,f,a,e)}g.push(n)},j=b=>{var e,g,j;let k,l,m,n,o;if(b.length<f||b.type!=H.Text)return;let p=(e=b.from,g=b.to,j=this.stateDeco,m=[],n=e,o=0,h.om.spans(j,e,g,{span(){},point(a,b){a>n&&(m.push({from:n,to:a}),o+=a-n),n=b}},20),n<g&&(m.push({from:n,to:g}),o+=g-n),{total:o,ranges:m});if(p.total<f)return;let q=this.scrollTarget?this.scrollTarget.range.head:null;if(c){let a,c,e=d/this.heightOracle.lineLength*this.heightOracle.lineHeight;if(null!=q){let d=cr(p,q),f=((this.visibleBottom-this.visibleTop)/2+e)/b.height;a=d-f,c=d+f}else a=(this.visibleTop-b.top-e)/b.height,c=(this.visibleBottom-b.top+e)/b.height;k=cq(p,a),l=cq(p,c)}else{let c,e,f=p.total*this.heightOracle.charWidth,g=d*this.heightOracle.charWidth,h=0;if(f>2e6)for(let c of a)c.from>=b.from&&c.from<b.to&&c.size!=c.displaySize&&c.from*this.heightOracle.charWidth+h<this.pixelViewport.left&&(h=c.size-c.displaySize);let i=this.pixelViewport.left+h,j=this.pixelViewport.right+h;if(null!=q){let a=cr(p,q),b=((j-i)/2+g)/f;c=a-b,e=a+b}else c=(i-g)/f,e=(j+g)/f;k=cq(p,c),l=cq(p,e)}k>b.from&&i(b.from,k,b,p),l<b.to&&i(l,b.to,b,p)};for(let a of this.viewportLines)Array.isArray(a.type)?a.type.forEach(j):j(a);return g}gapSize(a,b,c,d){let e=cr(d,c)-cr(d,b);return this.heightOracle.lineWrapping?a.height*e:d.total*this.heightOracle.charWidth*e}updateLineGaps(a){cm.same(a,this.lineGaps)||(this.lineGaps=a,this.lineGapDeco=I.set(a.map(a=>a.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(a){let b=this.stateDeco;this.lineGaps.length&&(b=b.concat(this.lineGapDeco));let c=[];h.om.spans(b,this.viewport.from,this.viewport.to,{span(a,b){c.push({from:a,to:b})},point(){}},20);let d=0;if(c.length!=this.visibleRanges.length)d=12;else for(let b=0;b<c.length&&!(8&d);b++){let e=this.visibleRanges[b],f=c[b];(e.from!=f.from||e.to!=f.to)&&(d|=4,a&&a.mapPos(e.from,-1)==f.from&&a.mapPos(e.to,1)==f.to||(d|=8))}return this.visibleRanges=c,d}lineBlockAt(a){return a>=this.viewport.from&&a<=this.viewport.to&&this.viewportLines.find(b=>b.from<=a&&b.to>=a)||cv(this.heightMap.lineAt(a,cb.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(a){return a>=this.viewportLines[0].top&&a<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(b=>b.top<=a&&b.bottom>=a)||cv(this.heightMap.lineAt(this.scaler.fromDOM(a),cb.ByHeight,this.heightOracle,0,0),this.scaler)}getScrollOffset(){return(this.scrollParent==this.view.scrollDOM?this.scrollParent.scrollTop:(this.scrollParent?this.scrollParent.getBoundingClientRect().top:0)-this.view.contentDOM.getBoundingClientRect().top)*this.scaleY}scrollAnchorAt(a){let b=this.lineBlockAtHeight(a+8);return b.from>=this.viewport.from||this.viewportLines[0].top-a>200?b:this.viewportLines[0]}elementAtHeight(a){return cv(this.heightMap.blockAt(this.scaler.fromDOM(a),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}}class cp{constructor(a,b){this.from=a,this.to=b}}function cq({total:a,ranges:b},c){if(c<=0)return b[0].from;if(c>=1)return b[b.length-1].to;let d=Math.floor(a*c);for(let a=0;;a++){let{from:c,to:e}=b[a],f=e-c;if(d<=f)return c+d;d-=f}}function cr(a,b){let c=0;for(let{from:d,to:e}of a.ranges){if(b<=e){c+=b-d;break}c+=e-d}return c/a.total}let cs={toDOM:a=>a,fromDOM:a=>a,scale:1,eq(a){return a==this}};function ct(a){let b=a.facet(aT).filter(a=>"function"!=typeof a),c=a.facet(aV).filter(a=>"function"!=typeof a);return c.length&&b.push(h.om.join(c)),b}class cu{constructor(a,b,c){let d=0,e=0,f=0;for(let g of(this.viewports=c.map(({from:c,to:e})=>{let f=b.lineAt(c,cb.ByPos,a,0,0).top,g=b.lineAt(e,cb.ByPos,a,0,0).bottom;return d+=g-f,{from:c,to:e,top:f,bottom:g,domTop:0,domBottom:0}}),this.scale=(7e6-d)/(b.height-d),this.viewports))g.domTop=f+(g.top-e)*this.scale,f=g.domBottom=g.domTop+(g.bottom-g.top),e=g.bottom}toDOM(a){for(let b=0,c=0,d=0;;b++){let e=b<this.viewports.length?this.viewports[b]:null;if(!e||a<e.top)return d+(a-c)*this.scale;if(a<=e.bottom)return e.domTop+(a-e.top);c=e.bottom,d=e.domBottom}}fromDOM(a){for(let b=0,c=0,d=0;;b++){let e=b<this.viewports.length?this.viewports[b]:null;if(!e||a<e.domTop)return c+(a-d)/this.scale;if(a<=e.domBottom)return e.top+(a-e.domTop);c=e.bottom,d=e.domBottom}}eq(a){return a instanceof cu&&this.scale==a.scale&&this.viewports.length==a.viewports.length&&this.viewports.every((b,c)=>b.from==a.viewports[c].from&&b.to==a.viewports[c].to)}}function cv(a,b){if(1==b.scale)return a;let c=b.toDOM(a.top),d=b.toDOM(a.bottom);return new ca(a.from,a.length,c,d-c,Array.isArray(a._content)?a._content.map(a=>cv(a,b)):a._content)}let cw=h.sj.define({combine:a=>a.join(" ")}),cx=h.sj.define({combine:a=>a.indexOf(!0)>-1}),cy=i.G.newName(),cz=i.G.newName(),cA=i.G.newName(),cB={"&light":"."+cz,"&dark":"."+cA};function cC(a,b,c){return new i.G(b,{finish:b=>/&/.test(b)?b.replace(/&\w*/,b=>{if("&"==b)return a;if(!c||!c[b])throw RangeError(`Unsupported selector: ${b}`);return c[b]}):a+" "+b})}let cD=cC("."+cy,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{userSelect:"none",position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-selectionHandle":{backgroundColor:"currentColor",width:"1.5px"},".cm-selectionHandle-start::before, .cm-selectionHandle-end::before":{content:'""',backgroundColor:"inherit",borderRadius:"50%",width:"8px",height:"8px",position:"absolute",left:"-3.25px"},".cm-selectionHandle-start::before":{top:"-8px"},".cm-selectionHandle-end::before":{bottom:"-8px"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:'url(\'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>\')',backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},cB),cE={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},cF=B.ie&&B.ie_version<=11;class cG{constructor(a){this.view=a,this.active=!1,this.editContext=null,this.selectionRange=new _,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=a.contentDOM,this.observer=new MutationObserver(b=>{for(let a of b)this.queue.push(a);(B.ie&&B.ie_version<=11||B.ios&&a.composing)&&b.some(a=>"childList"==a.type&&a.removedNodes.length||"characterData"==a.type&&a.oldValue.length>a.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&B.android&&!1!==a.constructor.EDIT_CONTEXT&&!(B.chrome&&B.chrome_version<126)&&(this.editContext=new cJ(a),a.state.facet(aM)&&(a.contentDOM.editContext=this.editContext.editContext)),cF&&(this.onCharData=a=>{this.queue.push({target:a.target,type:"characterData",oldValue:a.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),"function"==typeof ResizeObserver&&(this.resizeScroll=new ResizeObserver(()=>{var a;(null==(a=this.view.docView)?void 0:a.lastUpdate)<Date.now()-75&&this.onResize()}),this.resizeScroll.observe(a.scrollDOM)),this.addWindowListeners(this.win=a.win),this.start(),"function"==typeof IntersectionObserver&&(this.intersection=new IntersectionObserver(a=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),a.length>0&&a[a.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(a=>{a.length>0&&a[a.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(a){this.view.inputState.runHandlers("scroll",a),this.intersecting&&this.view.measure()}onScroll(a){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(a)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(a){("change"!=a.type&&a.type||a.matches)&&(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(a){if(this.gapIntersection&&(a.length!=this.gaps.length||this.gaps.some((b,c)=>b!=a[c]))){for(let b of(this.gapIntersection.disconnect(),a))this.gapIntersection.observe(b);this.gaps=a}}onSelectionChange(a){let b=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:c}=this,d=this.selectionRange;if(c.state.facet(aM)?c.root.activeElement!=this.dom:!R(this.dom,d))return;let e=d.anchorNode&&c.docView.tile.nearest(d.anchorNode);if(e&&e.isWidget()&&e.widget.ignoreEvent(a)){b||(this.selectionChanged=!1);return}(B.ie&&B.ie_version<=11||B.android&&B.chrome)&&!c.state.selection.main.empty&&d.focusNode&&T(d.focusNode,d.focusOffset,d.anchorNode,d.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:a}=this,b=P(a.root);if(!b)return!1;let c=B.safari&&11==a.root.nodeType&&a.root.activeElement==this.dom&&function(a,b){if(b.getComposedRanges){let c=b.getComposedRanges(a.root)[0];if(c)return cI(a,c)}let c=null;function d(a){a.preventDefault(),a.stopImmediatePropagation(),c=a.getTargetRanges()[0]}return a.contentDOM.addEventListener("beforeinput",d,!0),a.dom.ownerDocument.execCommand("indent"),a.contentDOM.removeEventListener("beforeinput",d,!0),c?cI(a,c):null}(this.view,b)||b;if(!c||this.selectionRange.eq(c))return!1;let d=R(this.dom,c);return d&&!this.selectionChanged&&a.inputState.lastFocusTime>Date.now()-200&&a.inputState.lastTouchTime<Date.now()-300&&function(a,b){let c=b.focusNode,d=b.focusOffset;if(!c||b.anchorNode!=c||b.anchorOffset!=d)return!1;for(d=Math.min(d,X(c));;)if(d){if(1!=c.nodeType)return!1;let a=c.childNodes[d-1];"false"==a.contentEditable?d--:d=X(c=a)}else{if(c==a)return!0;d=U(c),c=c.parentNode}}(this.dom,c)?(this.view.inputState.lastFocusTime=0,a.docView.updateSelection(),!1):(this.selectionRange.setRange(c),d&&(this.selectionChanged=!0),!0)}setSelectionRange(a,b){this.selectionRange.set(a.node,a.offset,b.node,b.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let a=0,b=null;for(let c=this.dom;c;)if(1==c.nodeType)!b&&a<this.scrollTargets.length&&this.scrollTargets[a]==c?a++:b||(b=this.scrollTargets.slice(0,a)),b&&b.push(c),c=c.assignedSlot||c.parentNode;else if(11==c.nodeType)c=c.host;else break;if(a<this.scrollTargets.length&&!b&&(b=this.scrollTargets.slice(0,a)),b){for(let a of this.scrollTargets)a.removeEventListener("scroll",this.onScroll);for(let a of this.scrollTargets=b)a.addEventListener("scroll",this.onScroll)}}ignore(a){if(!this.active)return a();try{return this.stop(),a()}finally{this.start(),this.clear()}}start(){this.active||(this.observer.observe(this.dom,cE),cF&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),cF&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(a,b){var c;if(!this.delayedAndroidKey){let a=()=>{let a=this.delayedAndroidKey;a&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=a.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&a.force&&ad(this.dom,a.key,a.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(a)}this.delayedAndroidKey&&"Enter"!=a||(this.delayedAndroidKey={key:a,keyCode:b,force:this.lastChange<Date.now()-50||!!(null==(c=this.delayedAndroidKey)?void 0:c.force)})}clearDelayedAndroidKey(){this.win.cancelAnimationFrame(this.flushingAndroidKey),this.delayedAndroidKey=null,this.flushingAndroidKey=-1}flushSoon(){this.delayedFlush<0&&(this.delayedFlush=this.view.win.requestAnimationFrame(()=>{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let a of this.observer.takeRecords())this.queue.push(a);return this.queue}processRecords(){let a=this.pendingRecords();a.length&&(this.queue=[]);let b=-1,c=-1,d=!1;for(let e of a){let a=this.readMutation(e);a&&(a.typeOver&&(d=!0),-1==b?{from:b,to:c}=a:(b=Math.min(a.from,b),c=Math.max(a.to,c)))}return{from:b,to:c,typeOver:d}}readChange(){let{from:a,to:b,typeOver:c}=this.processRecords(),d=this.selectionChanged&&R(this.dom,this.selectionRange);if(a<0&&!d)return null;a>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let e=new bF(this.view,a,b,c);return this.view.docView.domChanged={newSel:e.newSel?e.newSel.main:null},e}flush(a=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;a&&this.readSelectionRange();let b=this.readChange();if(!b)return this.view.requestMeasure(),!1;let c=this.view.state,d=bG(this.view,b);return this.view.state==c&&(b.domChanged||b.newSel&&!bJ(this.view.state.selection,b.newSel.main))&&this.view.update([]),d}readMutation(a){let b=this.view.docView.tile.nearest(a.target);if(!b||b.isWidget())return null;if(b.markDirty("attributes"==a.type),"childList"==a.type){let c=cH(b,a.previousSibling||a.target.previousSibling,-1),d=cH(b,a.nextSibling||a.target.nextSibling,1);return{from:c?b.posAfter(c):b.posAtStart,to:d?b.posBefore(d):b.posAtEnd,typeOver:!1}}return"characterData"==a.type?{from:b.posAtStart,to:b.posAtEnd,typeOver:a.target.nodeValue==a.oldValue}:null}setWindow(a){a!=this.win&&(this.removeWindowListeners(this.win),this.win=a,this.addWindowListeners(this.win))}addWindowListeners(a){a.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):a.addEventListener("beforeprint",this.onPrint),a.addEventListener("scroll",this.onScroll),a.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(a){a.removeEventListener("scroll",this.onScroll),a.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):a.removeEventListener("beforeprint",this.onPrint),a.document.removeEventListener("selectionchange",this.onSelectionChange)}update(a){this.editContext&&(this.editContext.update(a),a.startState.facet(aM)!=a.state.facet(aM)&&(a.view.contentDOM.editContext=a.state.facet(aM)?this.editContext.editContext:null))}destroy(){var a,b,c;for(let d of(this.stop(),null==(a=this.intersection)||a.disconnect(),null==(b=this.gapIntersection)||b.disconnect(),null==(c=this.resizeScroll)||c.disconnect(),this.scrollTargets))d.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}}function cH(a,b,c){for(;b;){let d=a3.get(b);if(d&&d.parent==a)return d;let e=b.parentNode;b=e!=a.dom?e:c>0?b.nextSibling:b.previousSibling}return null}function cI(a,b){let c=b.startContainer,d=b.startOffset,e=b.endContainer,f=b.endOffset,g=a.docView.domAtPos(a.state.selection.main.anchor,1);return T(g.node,g.offset,e,f)&&([c,d,e,f]=[e,f,c,d]),{anchorNode:c,anchorOffset:d,focusNode:e,focusOffset:f}}class cJ{constructor(a){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(a.state);let b=this.editContext=new window.EditContext({text:a.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,a.state.selection.main.anchor))),selectionEnd:this.toContextPos(a.state.selection.main.head)});for(let c in this.handlers.textupdate=c=>{let d=a.state.selection.main,{anchor:e,head:f}=d,g=this.toEditorPos(c.updateRangeStart),i=this.toEditorPos(c.updateRangeEnd);a.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:c.updateRangeStart,editorBase:g,drifted:!1});let j=i-g>c.text.length;g==this.from&&e<this.from?g=e:i==this.to&&e>this.to&&(i=e);let k=bI(a.state.sliceDoc(g,i),c.text,(j?d.from:d.to)-g,j?"end":null);if(!k){let b=h.OF.single(this.toEditorPos(c.selectionStart),this.toEditorPos(c.selectionEnd));bJ(b,d)||a.dispatch({selection:b,userEvent:"select"});return}let l={from:k.from+g,to:k.toA+g,insert:h.EY.of(c.text.slice(k.from,k.toB).split("\n"))};if((B.mac||B.android)&&l.from==f-1&&/^\. ?$/.test(c.text)&&"off"==a.contentDOM.getAttribute("autocorrect")&&(l={from:g,to:i,insert:h.EY.of([c.text.replace("."," ")])}),this.pendingContextChange=l,!a.state.readOnly){let b=this.to-this.from+(l.to-l.from+l.insert.length);bH(a,l,h.OF.single(this.toEditorPos(c.selectionStart,b),this.toEditorPos(c.selectionEnd,b)))}this.pendingContextChange&&(this.revertPending(a.state),this.setSelection(a.state)),l.from<l.to&&!l.insert.length&&a.inputState.composing>=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(b.text.slice(Math.max(0,c.updateRangeStart-1),Math.min(b.text.length,c.updateRangeStart+1)))&&this.handlers.compositionend(c)},this.handlers.characterboundsupdate=c=>{let d=[],e=null;for(let b=this.toEditorPos(c.rangeStart),f=this.toEditorPos(c.rangeEnd);b<f;b++){let c=a.coordsForChar(b);e=c&&new DOMRect(c.left,c.top,c.right-c.left,c.bottom-c.top)||e||new DOMRect,d.push(e)}b.updateCharacterBounds(c.rangeStart,d)},this.handlers.textformatupdate=b=>{let c=[];for(let a of b.getTextFormats()){let b=a.underlineStyle,d=a.underlineThickness;if(!/none/i.test(b)&&!/none/i.test(d)){let e=this.toEditorPos(a.rangeStart),f=this.toEditorPos(a.rangeEnd);if(e<f){let a=`text-decoration: underline ${/^[a-z]/.test(b)?b+" ":"Dashed"==b?"dashed ":"Squiggle"==b?"wavy ":""}${/thin/i.test(d)?1:2}px`;c.push(I.mark({attributes:{style:a}}).range(e,f))}}}a.dispatch({effects:aK.of(I.set(c))})},this.handlers.compositionstart=()=>{a.inputState.composing<0&&(a.inputState.composing=0,a.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(a.inputState.composing=-1,a.inputState.compositionFirstChange=null,this.composing){let{drifted:b}=this.composing;this.composing=null,b&&this.reset(a.state)}},this.handlers)b.addEventListener(c,this.handlers[c]);this.measureReq={read:a=>{let b=P(a.root);b&&b.rangeCount&&this.editContext.updateSelectionBounds(b.getRangeAt(0).getBoundingClientRect())}}}applyEdits(a){let b=0,c=!1,d=this.pendingContextChange;return a.changes.iterChanges((e,f,g,h,i)=>{if(c)return;let j=i.length-(f-e);if(d&&f>=d.to)if(d.from==e&&d.to==f&&d.insert.eq(i)){d=this.pendingContextChange=null,b+=j,this.to+=j;return}else d=null,this.revertPending(a.state);if(e+=b,(f+=b)<=this.from)this.from+=j,this.to+=j;else if(e<this.to){if(e<this.from||f>this.to||this.to-this.from+i.length>3e4){c=!0;return}this.editContext.updateText(this.toContextPos(e),this.toContextPos(f),i.toString()),this.to+=j}b+=j}),d&&!c&&this.revertPending(a.state),!c}update(a){let b=this.pendingContextChange,c=a.startState.selection.main;this.composing&&(this.composing.drifted||!a.changes.touchesRange(c.from,c.to)&&a.transactions.some(a=>!a.isUserEvent("input.type")&&a.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=a.changes.mapPos(this.composing.editorBase)):this.applyEdits(a)&&this.rangeIsValid(a.state)?(a.docChanged||a.selectionSet||b)&&this.setSelection(a.state):(this.pendingContextChange=null,this.reset(a.state)),(a.geometryChanged||a.docChanged||a.selectionSet)&&a.view.requestMeasure(this.measureReq)}resetRange(a){let{head:b}=a.selection.main;this.from=Math.max(0,b-1e4),this.to=Math.min(a.doc.length,b+1e4)}reset(a){this.resetRange(a),this.editContext.updateText(0,this.editContext.text.length,a.doc.sliceString(this.from,this.to)),this.setSelection(a)}revertPending(a){let b=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(b.from),this.toContextPos(b.from+b.insert.length),a.doc.sliceString(b.from,b.to))}setSelection(a){let{main:b}=a.selection,c=this.toContextPos(Math.max(this.from,Math.min(this.to,b.anchor))),d=this.toContextPos(b.head);(this.editContext.selectionStart!=c||this.editContext.selectionEnd!=d)&&this.editContext.updateSelection(c,d)}rangeIsValid(a){let{head:b}=a.selection.main;return!(this.from>0&&b-this.from<500||this.to<a.doc.length&&this.to-b<500||this.to-this.from>3e4)}toEditorPos(a,b=this.to-this.from){a=Math.min(a,b);let c=this.composing;return c&&c.drifted?c.editorBase+(a-c.contextBase):a+this.from}toContextPos(a){let b=this.composing;return b&&b.drifted?b.contextBase+(a-b.editorBase):a-this.from}destroy(){for(let a in this.handlers)this.editContext.removeEventListener(a,this.handlers[a])}}class cK{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(a={}){var b;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),a.parent&&a.parent.appendChild(this.dom);let{dispatch:c}=a;for(let b of(this.dispatchTransactions=a.dispatchTransactions||c&&(a=>a.forEach(a=>c(a,this)))||(a=>this.update(a)),this.dispatch=this.dispatch.bind(this),this._root=a.root||function(a){for(;a;){if(a&&(9==a.nodeType||11==a.nodeType&&a.host))return a;a=a.assignedSlot||a.parentNode}return null}(a.parent)||document,this.viewState=new co(this,a.state||h.$t.create(a)),a.scrollTo&&a.scrollTo.is(aJ)&&(this.viewState.scrollTarget=a.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(aO).map(a=>new aQ(a)),this.plugins))b.update(this);this.observer=new cG(this),this.inputState=new bK(this),this.inputState.ensureHandlers(this.plugins),this.docView=new bp(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),(null==(b=document.fonts)?void 0:b.ready)&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...a){let b=1==a.length&&a[0]instanceof h.ZX?a:1==a.length&&Array.isArray(a[0])?a[0]:[this.state.update(...a)];this.dispatchTransactions(b,this)}update(a){if(0!=this.updateState)throw Error("Calls to EditorView.update are not allowed while an update is in progress");let b=!1,c=!1,d,e=this.state;for(let b of a){if(b.startState!=e)throw RangeError("Trying to update state with a transaction that doesn't start from the previous state.");e=b.state}if(this.destroyed){this.viewState.state=e;return}let f=this.hasFocus,g=0,i=null;a.some(a=>a.annotation(b2))?(this.inputState.notifiedFocused=f,g=1):f!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=f,(i=b3(e,f))||(g=1));let j=this.observer.delayedAndroidKey,k=null;if(j?(this.observer.clearDelayedAndroidKey(),((k=this.observer.readChange())&&!this.state.doc.eq(e.doc)||!this.state.selection.eq(e.selection))&&(k=null)):this.observer.clear(),e.facet(h.$t.phrases)!=this.state.facet(h.$t.phrases))return this.setState(e);d=a1.create(this,e,a),d.flags|=g;let l=this.viewState.scrollTarget;try{for(let b of(this.updateState=2,a)){if(l&&(l=l.map(b.changes)),b.scrollIntoView){let{main:a}=b.state.selection,{x:c,y:d}=this.state.facet(cK.cursorScrollMargin);l=new aI(a.empty?a:h.OF.cursor(a.head,a.head>a.anchor?-1:1),"nearest","nearest",d,c)}for(let a of b.effects)a.is(aJ)&&(l=a.value.clip(this.state))}this.viewState.update(d,l),this.bidiCache=cN.update(this.bidiCache,d.changes),d.empty||(this.updatePlugins(d),this.inputState.update(d)),b=this.docView.update(d),this.state.facet(a_)!=this.styleModules&&this.mountStyles(),c=this.updateAttrs(),this.showAnnouncements(a),this.docView.updateSelection(b,a.some(a=>a.isUserEvent("select.pointer")))}finally{this.updateState=0}if(d.startState.facet(cw)!=d.state.facet(cw)&&(this.viewState.mustMeasureContent=!0),(b||c||l||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),b&&this.docViewUpdate(),!d.empty)for(let a of this.state.facet(aA))try{a(d)}catch(a){aL(this.state,a,"update listener")}(i||k)&&Promise.resolve().then(()=>{i&&this.state==i.startState&&this.dispatch(i),k&&!bG(this,k)&&j.force&&ad(this.contentDOM,j.key,j.keyCode)})}setState(a){if(0!=this.updateState)throw Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=a;return}this.updateState=2;let b=this.hasFocus;try{for(let a of this.plugins)a.destroy(this);for(let b of(this.viewState=new co(this,a),this.plugins=a.facet(aO).map(a=>new aQ(a)),this.pluginMap.clear(),this.plugins))b.update(this);this.docView.destroy(),this.docView=new bp(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}b&&this.focus(),this.requestMeasure()}updatePlugins(a){let b=a.startState.facet(aO),c=a.state.facet(aO);if(b!=c){let d=[];for(let e of c){let c=b.indexOf(e);if(c<0)d.push(new aQ(e));else{let b=this.plugins[c];b.mustUpdate=a,d.push(b)}}for(let b of this.plugins)b.mustUpdate!=a&&b.destroy(this);this.plugins=d,this.pluginMap.clear()}else for(let b of this.plugins)b.mustUpdate=a;for(let a=0;a<this.plugins.length;a++)this.plugins[a].update(this);b!=c&&this.inputState.ensureHandlers(this.plugins)}docViewUpdate(){for(let a of this.plugins){let b=a.value;if(b&&b.docViewUpdate)try{b.docViewUpdate(this)}catch(a){aL(this.state,a,"doc view update listener")}}}measure(a=!0){if(this.destroyed)return;if(this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,a&&this.observer.forceFlush();let b=null,c=this.viewState.scrollParent,d=this.viewState.getScrollOffset(),{scrollAnchorPos:e,scrollAnchorHeight:f}=this.viewState;Math.abs(d-this.viewState.scrollOffset)>1&&(f=-1),this.viewState.scrollAnchorHeight=-1;try{for(let a=0;;a++){if(f<0)if(ae(c||this.win))e=-1,f=this.viewState.heightMap.height;else{let a=this.viewState.scrollAnchorAt(d);e=a.from,f=a.top}this.updateState=1;let g=this.viewState.measure();if(!g&&!this.measureRequests.length&&null==this.viewState.scrollTarget)break;if(a>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let h=[];4&g||([this.measureRequests,h]=[h,this.measureRequests]);let i=h.map(a=>{try{return a.read(this)}catch(a){return aL(this.state,a),cM}}),j=a1.create(this,this.state,[]),k=!1;j.flags|=g,b?b.flags|=g:b=j,this.updateState=2,!j.empty&&(this.updatePlugins(j),this.inputState.update(j),this.updateAttrs(),(k=this.docView.update(j))&&this.docViewUpdate());for(let a=0;a<h.length;a++)if(i[a]!=cM)try{let b=h[a];b.write&&b.write(i[a],this)}catch(a){aL(this.state,a)}if(k&&this.docView.updateSelection(!0),!j.viewportChanged&&0==this.measureRequests.length){if(this.viewState.editorHeight)if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null,f=-1;continue}else{let a=((e<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(e).top)-f)/this.scaleY;if((a>1||a<-1)&&(c==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){d+=a,c?c.scrollTop+=a:this.win.scrollBy(0,a),f=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(b&&!b.empty)for(let a of this.state.facet(aA))a(b)}get themeClasses(){return cy+" "+(this.state.facet(cx)?cA:cz)+" "+this.state.facet(cw)}updateAttrs(){let a=cO(this,aR,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),b={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(aM)?"true":"false",class:"cm-content",style:`${B.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(b["aria-readonly"]="true"),cO(this,aS,b);let c=this.observer.ignore(()=>{let c=F(this.contentDOM,this.contentAttrs,b),d=F(this.dom,this.editorAttrs,a);return c||d});return this.editorAttrs=a,this.contentAttrs=b,c}showAnnouncements(a){let b=!0;for(let c of a)for(let a of c.effects)a.is(cK.announce)&&(b&&(this.announceDOM.textContent=""),b=!1,this.announceDOM.appendChild(document.createElement("div")).textContent=a.value)}mountStyles(){this.styleModules=this.state.facet(a_);let a=this.state.facet(cK.cspNonce);i.G.mount(this.root,this.styleModules.concat(cD).reverse(),a?{nonce:a}:void 0)}readMeasured(){if(2==this.updateState)throw Error("Reading the editor layout isn't allowed during an update");0==this.updateState&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(a){if((this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),a)&&!(this.measureRequests.indexOf(a)>-1)){if(null!=a.key){for(let b=0;b<this.measureRequests.length;b++)if(this.measureRequests[b].key===a.key){this.measureRequests[b]=a;return}}this.measureRequests.push(a)}}plugin(a){let b=this.pluginMap.get(a);return(void 0===b||b&&b.plugin!=a)&&this.pluginMap.set(a,b=this.plugins.find(b=>b.plugin==a)||null),b&&b.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(a){return this.readMeasured(),this.viewState.elementAtHeight(a)}lineBlockAtHeight(a){return this.readMeasured(),this.viewState.lineBlockAtHeight(a)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(a){return this.viewState.lineBlockAt(a)}get contentHeight(){return this.viewState.contentHeight}moveByChar(a,b,c){return bz(this,a,bw(this,a,b,c))}moveByGroup(a,b){return bz(this,a,bw(this,a,b,b=>{var c;let d,e;return c=a.head,e=(d=this.state.charCategorizer(c))(b),a=>{let b=d(a);return e==h.Je.Space&&(e=b),e==b}}))}visualLineSide(a,b){let c=this.bidiSpans(a),d=this.textDirectionAt(a.from),e=c[b?c.length-1:0];return h.OF.cursor(e.side(b,d)+a.from,e.forward(!b,d)?1:-1)}moveToLineBoundary(a,b,c=!0){return function(a,b,c,d){let e=bv(a,b.head,b.assoc||-1),f=d&&e.type==H.Text&&(a.lineWrapping||e.widgetLineBreaks)?a.coordsAtPos(b.assoc<0&&b.head>e.from?b.head-1:b.head):null;if(f){let b=a.dom.getBoundingClientRect(),d=a.textDirectionAt(e.from),g=a.posAtCoords({x:c==(d==ai.LTR)?b.right-1:b.left+1,y:(f.top+f.bottom)/2});if(null!=g)return h.OF.cursor(g,c?-1:1)}return h.OF.cursor(c?e.to:e.from,c?-1:1)}(this,a,b,c)}moveVertically(a,b,c){return bz(this,a,function(a,b,c,d){let e=b.head,f=c?1:-1;if(e==(c?a.state.doc.length:0))return h.OF.cursor(e,b.assoc);let g=b.goalColumn,i,j=a.contentDOM.getBoundingClientRect(),k=a.coordsAtPos(e,b.assoc||((b.empty?c:b.head==b.from)?1:-1)),l=a.documentTop;if(k)null==g&&(g=k.left-j.left),i=f<0?k.top:k.bottom;else{let b=a.viewState.lineBlockAt(e);null==g&&(g=Math.min(j.right-j.left,a.defaultCharacterWidth*(e-b.from))),i=(f<0?b.top:b.bottom)+l}let m=j.left+g,n=a.viewState.heightOracle.textHeight>>1,o=null!=d?d:n;for(let b=0;;b+=n){let d=i+(o+b)*f,e=bB(a,{x:m,y:d},!1,f);if(c?d>j.bottom:d<j.top)return h.OF.cursor(e.pos,e.assoc);let k=a.coordsAtPos(e.pos,e.assoc),l=k?(k.top+k.bottom)/2:0;if(!k||(c?l>i:l<i))return h.OF.cursor(e.pos,e.assoc,void 0,g)}}(this,a,b,c))}domAtPos(a,b=1){return this.docView.domAtPos(a,b)}posAtDOM(a,b=0){return this.docView.posFromDOM(a,b)}posAtCoords(a,b=!0){this.readMeasured();let c=bB(this,a,b);return c&&c.pos}posAndSideAtCoords(a,b=!0){return this.readMeasured(),bB(this,a,b)}coordsAtPos(a,b=1){this.readMeasured();let c=this.docView.coordsAt(a,b);if(!c||c.left==c.right)return c;let d=this.state.doc.lineAt(a),e=this.bidiSpans(d);return Y(c,e[as.find(e,a-d.from,-1,b)].dir==ai.LTR==b>0)}coordsForChar(a){return this.readMeasured(),this.docView.coordsForChar(a)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(a){return!this.state.facet(aF)||a<this.viewport.from||a>this.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(a))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(a){if(a.length>cL)return au(a.length);let b=this.textDirectionAt(a.from),c;for(let d of this.bidiCache)if(d.from==a.from&&d.dir==b&&(d.fresh||function a(b,c){if(b.length!=c.length)return!1;for(let d=0;d<b.length;d++){let e=b[d],f=c[d];if(e.from!=f.from||e.to!=f.to||e.direction!=f.direction||!a(e.inner,f.inner))return!1}return!0}(d.isolates,c=aY(this,a))))return d.order;c||(c=aY(this,a));let d=function(a,b,c){if(!a)return[new as(0,0,+(b==ak))];if(b==aj&&!c.length&&!ar.test(a))return au(a.length);if(c.length)for(;a.length>at.length;)at[at.length]=256;let d=[],e=+(b!=aj);return function a(b,c,d,e,f,g,h){let i=c%2?2:1;!function(a,b,c,d,e){for(let f=0;f<=d.length;f++){let g=f?d[f-1].to:b,h=f<d.length?d[f].from:c,i=f?256:e;for(let b=g,c=i,d=i;b<h;b++){let e=aq(a.charCodeAt(b));512==e?e=c:8==e&&4==d&&(e=16),at[b]=4==e?2:e,7&e&&(d=e),c=e}for(let a=g,b=i,d=i;a<h;a++){let e=at[a];if(128==e)a<h-1&&b==at[a+1]&&24&b?e=at[a]=b:at[a]=256;else if(64==e){let e=a+1;for(;e<h&&64==at[e];)e++;let f=a&&8==b||e<c&&8==at[e]?1==d?1:8:256;for(let b=a;b<e;b++)at[b]=f;a=e-1}else 8==e&&1==d&&(at[a]=1);b=e,7&e&&(d=e)}}}(b,f,g,e,i),function(a,b,c,d,e){let f=1==e?2:1;for(let g=0,h=0,i=0;g<=d.length;g++){let j=g?d[g-1].to:b,k=g<d.length?d[g].from:c;for(let b=j,c,d,g;b<k;b++)if(d=ao[c=a.charCodeAt(b)])if(d<0){for(let a=h-3;a>=0;a-=3)if(ap[a+1]==-d){let c=ap[a+2],d=2&c?e:4&c?1&c?f:e:0;d&&(at[b]=at[ap[a]]=d),h=a;break}}else if(189==ap.length)break;else ap[h++]=b,ap[h++]=c,ap[h++]=i;else if(2==(g=at[b])||1==g){let a=g==e;i=+!a;for(let b=h-3;b>=0;b-=3){let c=ap[b+2];if(2&c)break;if(a)ap[b+2]|=2;else{if(4&c)break;ap[b+2]|=4}}}}}(b,f,g,e,i),function(a,b,c,d){for(let e=0,f=d;e<=c.length;e++){let g=e?c[e-1].to:a,h=e<c.length?c[e].from:b;for(let i=g;i<h;){let g=at[i];if(256==g){let g=i+1;for(;;)if(g==h){if(e==c.length)break;g=c[e++].to,h=e<c.length?c[e].from:b}else if(256==at[g])g++;else break;let j=1==f,k=j==((g<b?at[g]:d)==1)?j?1:2:d;for(let b=g,d=e,f=d?c[d-1].to:a;b>i;)b==f&&(b=c[--d].from,f=d?c[d-1].to:a),at[--b]=k;i=g}else f=g,i++}}}(f,g,e,i),function b(c,d,e,f,g,h,i){let j=f%2?2:1;if(f%2==g%2)for(let k=d,l=0;k<e;){let d=!0,m=!1;if(l==h.length||k<h[l].from){let a=at[k];a!=j&&(d=!1,m=16==a)}let n=d||1!=j?null:[],o=d?f:f+1,p=k;c:for(;;)if(l<h.length&&p==h[l].from){if(m)break;let b=h[l];if(!d)for(let a=b.to,c=l+1;;){if(a==e)break c;if(c<h.length&&h[c].from==a)a=h[c++].to;else if(at[a]==j)break c;else break}l++,n?n.push(b):(b.from>k&&i.push(new as(k,b.from,o)),a(c,b.direction==aj!=!(o%2)?f+1:f,g,b.inner,b.from,b.to,i),k=b.to),p=b.to}else if(p==e||(d?at[p]!=j:at[p]==j))break;else p++;n?b(c,k,p,f+1,g,n,i):k<p&&i.push(new as(k,p,o)),k=p}else for(let k=e,l=h.length;k>d;){let e=!0,m=!1;if(!l||k>h[l-1].to){let a=at[k-1];a!=j&&(e=!1,m=16==a)}let n=e||1!=j?null:[],o=e?f:f+1,p=k;c:for(;;)if(l&&p==h[l-1].to){if(m)break;let b=h[--l];if(!e)for(let a=b.from,c=l;;){if(a==d)break c;if(c&&h[c-1].to==a)a=h[--c].from;else if(at[a-1]==j)break c;else break}n?n.push(b):(b.to<k&&i.push(new as(b.to,k,o)),a(c,b.direction==aj!=!(o%2)?f+1:f,g,b.inner,b.from,b.to,i),k=b.from),p=b.from}else if(p==d||(e?at[p-1]!=j:at[p-1]==j))break;else p--;n?b(c,p,k,f+1,g,n,i):p<k&&i.push(new as(p,k,o)),k=p}}(b,f,g,c,d,e,h)}(a,e,e,c,0,a.length,d),d}(a.text,b,c);return this.bidiCache.push(new cN(a.from,a.to,b,c,!0,d)),d}get hasFocus(){var a;return(this.dom.ownerDocument.hasFocus()||B.safari&&(null==(a=this.inputState)?void 0:a.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{ab(this.contentDOM),this.docView.updateSelection()})}setRoot(a){this._root!=a&&(this._root=a,this.observer.setWindow((9==a.nodeType?a:a.ownerDocument).defaultView||window),this.mountStyles())}destroy(){for(let a of(this.root.activeElement==this.contentDOM&&this.contentDOM.blur(),this.plugins))a.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(a,b={}){var c,d,e,f;return aJ.of(new aI("number"==typeof a?h.OF.cursor(a):a,null!=(c=b.y)?c:"nearest",null!=(d=b.x)?d:"nearest",null!=(e=b.yMargin)?e:5,null!=(f=b.xMargin)?f:5))}scrollSnapshot(){let{scrollTop:a,scrollLeft:b}=this.scrollDOM,c=this.viewState.scrollAnchorAt(a);return aJ.of(new aI(h.OF.cursor(c.from),"start","start",c.top-a,b,!0))}setTabFocusMode(a){null==a?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:"boolean"==typeof a?this.inputState.tabFocusMode=a?0:-1:0!=this.inputState.tabFocusMode&&(this.inputState.tabFocusMode=Date.now()+a)}static domEventHandlers(a){return aP.define(()=>({}),{eventHandlers:a})}static domEventObservers(a){return aP.define(()=>({}),{eventObservers:a})}static theme(a,b){let c=i.G.newName(),d=[cw.of(c),a_.of(cC(`.${c}`,a))];return b&&b.dark&&d.push(cx.of(!0)),d}static baseTheme(a){return h.Nb.lowest(a_.of(cC("."+cy,a,cB)))}static findFromDOM(a){var b;let c=a.querySelector(".cm-content"),d=c&&a3.get(c)||a3.get(a);return(null==(b=null==d?void 0:d.root)?void 0:b.view)||null}}cK.styleModule=a_,cK.inputHandler=aB,cK.clipboardInputFilter=aD,cK.clipboardOutputFilter=aE,cK.scrollHandler=aH,cK.focusChangeEffect=aC,cK.perLineTextDirection=aF,cK.exceptionSink=az,cK.updateListener=aA,cK.editable=aM,cK.mouseSelectionStyle=ay,cK.dragMovesSelection=ax,cK.clickAddsSelectionRange=aw,cK.decorations=aT,cK.blockWrappers=aU,cK.outerDecorations=aV,cK.atomicRanges=aW,cK.bidiIsolatedRanges=aX,cK.cursorScrollMargin=h.sj.define({combine:a=>{let b=5,c=5;for(let d of a)"number"==typeof d?b=c=d:{x:b,y:c}=d;return{x:b,y:c}}}),cK.scrollMargins=aZ,cK.darkTheme=cx,cK.cspNonce=h.sj.define({combine:a=>a.length?a[0]:""}),cK.contentAttributes=aS,cK.editorAttributes=aR,cK.lineWrapping=cK.contentAttributes.of({class:"cm-lineWrapping"}),cK.announce=h.Pe.define();let cL=4096,cM={};class cN{constructor(a,b,c,d,e,f){this.from=a,this.to=b,this.dir=c,this.isolates=d,this.fresh=e,this.order=f}static update(a,b){if(b.empty&&!a.some(a=>a.fresh))return a;let c=[],d=a.length?a[a.length-1].dir:ai.LTR;for(let e=Math.max(0,a.length-10);e<a.length;e++){let f=a[e];f.dir!=d||b.touchesRange(f.from,f.to)||c.push(new cN(b.mapPos(f.from,1),b.mapPos(f.to,-1),f.dir,f.isolates,!1,f.order))}return c}}function cO(a,b,c){for(let d=a.state.facet(b),e=d.length-1;e>=0;e--){let b=d[e],f="function"==typeof b?b(a):b;f&&C(f,c)}return c}let cP=B.mac?"mac":B.windows?"win":B.linux?"linux":"key";function cQ(a,b,c){return b.altKey&&(a="Alt-"+a),b.ctrlKey&&(a="Ctrl-"+a),b.metaKey&&(a="Meta-"+a),!1!==c&&b.shiftKey&&(a="Shift-"+a),a}let cR=h.Nb.default(cK.domEventHandlers({keydown:(a,b)=>cY(cU(b.state),a,b,"editor")})),cS=h.sj.define({enables:cR}),cT=new WeakMap;function cU(a){let b=a.facet(cS),c=cT.get(b);return c||cT.set(b,c=function(a,b=cP){let c=Object.create(null),d=Object.create(null),e=(a,b)=>{let c=d[a];if(null==c)d[a]=b;else if(c!=b)throw Error("Key binding "+a+" is used both as a regular binding and as a multi-stroke prefix")},f=(a,d,f,g,h)=>{var i,j;let k=c[a]||(c[a]=Object.create(null)),l=d.split(/ (?!$)/).map(a=>(function(a,b){let c,d,e,f,g=a.split(/-(?!$)/),h=g[g.length-1];"Space"==h&&(h=" ");for(let a=0;a<g.length-1;++a){let h=g[a];if(/^(cmd|meta|m)$/i.test(h))f=!0;else if(/^a(lt)?$/i.test(h))c=!0;else if(/^(c|ctrl|control)$/i.test(h))d=!0;else if(/^s(hift)?$/i.test(h))e=!0;else if(/^mod$/i.test(h))"mac"==b?f=!0:d=!0;else throw Error("Unrecognized modifier name: "+h)}return c&&(h="Alt-"+h),d&&(h="Ctrl-"+h),f&&(h="Meta-"+h),e&&(h="Shift-"+h),h})(a,b));for(let b=1;b<l.length;b++){let c=l.slice(0,b).join(" ");e(c,!0),k[c]||(k[c]={preventDefault:!0,stopPropagation:!1,run:[b=>{let d=cW={view:b,prefix:c,scope:a};return setTimeout(()=>{cW==d&&(cW=null)},4e3),!0}]})}let m=l.join(" ");e(m,!1);let n=k[m]||(k[m]={preventDefault:!1,stopPropagation:!1,run:(null==(j=null==(i=k._any)?void 0:i.run)?void 0:j.slice())||[]});f&&n.run.push(f),g&&(n.preventDefault=!0),h&&(n.stopPropagation=!0)};for(let d of a){let a=d.scope?d.scope.split(" "):["editor"];if(d.any)for(let b of a){let a=c[b]||(c[b]=Object.create(null));a._any||(a._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:e}=d;for(let b in a)a[b].run.push(a=>e(a,cX))}let e=d[b]||d.key;if(e)for(let b of a)f(b,e,d.run,d.preventDefault,d.stopPropagation),d.shift&&f(b,"Shift-"+e,d.shift,d.preventDefault,d.stopPropagation)}return c}(b.reduce((a,b)=>a.concat(b),[]))),c}function cV(a,b,c){return cY(cU(a.state),b,a,c)}let cW=null,cX=null;function cY(a,b,c,d){var e;cX=b;let f=("Esc"==(e=!(l&&b.metaKey&&b.shiftKey&&!b.ctrlKey&&!b.altKey||m&&b.shiftKey&&b.key&&1==b.key.length||"Unidentified"==b.key)&&b.key||(b.shiftKey?k:j)[b.keyCode]||b.key||"Unidentified")&&(e="Escape"),"Del"==e&&(e="Delete"),"Left"==e&&(e="ArrowLeft"),"Up"==e&&(e="ArrowUp"),"Right"==e&&(e="ArrowRight"),"Down"==e&&(e="ArrowDown"),e),g=(0,h.vS)(f,0),i=(0,h.Fh)(g)==f.length&&" "!=f,n="",o=!1,p=!1,q=!1;cW&&cW.view==c&&cW.scope==d&&(n=cW.prefix+" ",0>bO.indexOf(b.keyCode)&&(p=!0,cW=null));let r=new Set,s=a=>{if(a){for(let b of a.run)if(!r.has(b)&&(r.add(b),b(c)))return a.stopPropagation&&(q=!0),!0;a.preventDefault&&(a.stopPropagation&&(q=!0),p=!0)}return!1},t=a[d],u,v;return t&&(s(t[n+cQ(f,b,!i)])?o=!0:i&&(b.altKey||b.metaKey||b.ctrlKey)&&!(B.windows&&b.ctrlKey&&b.altKey)&&!(B.mac&&b.altKey&&!(b.ctrlKey||b.metaKey))&&(u=j[b.keyCode])&&u!=f?s(t[n+cQ(u,b,!0)])?o=!0:b.shiftKey&&(v=k[b.keyCode])!=f&&v!=u&&s(t[n+cQ(v,b,!1)])&&(o=!0):i&&b.shiftKey&&s(t[n+cQ(f,b,!0)])&&(o=!0),!o&&s(t._any)&&(o=!0)),p&&(o=!0),o&&q&&b.stopPropagation(),cX=null,o}/x/.unicode;function cZ(){return c_}let c$=I.line({class:"cm-activeLine"}),c_=aP.fromClass(class{constructor(a){this.decorations=this.getDeco(a)}update(a){(a.docChanged||a.selectionSet)&&(this.decorations=this.getDeco(a.view))}getDeco(a){let b=-1,c=[];for(let d of a.state.selection.ranges){let e=a.lineBlockAt(d.head);e.from>b&&(c.push(c$.range(e.from)),b=e.from)}return I.set(c)}},{decorations:a=>a.decorations}),c0="-10000px";class c1{constructor(a,b,c,d){this.facet=b,this.createTooltipView=c,this.removeTooltipView=d,this.input=a.state.facet(b),this.tooltips=this.input.filter(a=>a);let e=null;this.tooltipViews=this.tooltips.map(a=>e=c(a,e))}update(a,b){var c;let d=a.state.facet(this.facet),e=d.filter(a=>a);if(d===this.input){for(let b of this.tooltipViews)b.update&&b.update(a);return!1}let f=[],g=b?[]:null;for(let c=0;c<e.length;c++){let d=e[c],h=-1;if(d){for(let a=0;a<this.tooltips.length;a++){let b=this.tooltips[a];b&&b.create==d.create&&(h=a)}if(h<0)f[c]=this.createTooltipView(d,c?f[c-1]:null),g&&(g[c]=!!d.above);else{let d=f[c]=this.tooltipViews[h];g&&(g[c]=b[h]),d.update&&d.update(a)}}}for(let a of this.tooltipViews)0>f.indexOf(a)&&(this.removeTooltipView(a),null==(c=a.destroy)||c.call(a));return b&&(g.forEach((a,c)=>b[c]=a),b.length=g.length),this.input=d,this.tooltips=e,this.tooltipViews=f,!0}}function c2(a){let b=a.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:b.clientHeight,right:b.clientWidth}}let c3=h.sj.define({combine:a=>{var b,c,d;return{position:B.ios?"absolute":(null==(b=a.find(a=>a.position))?void 0:b.position)||"fixed",parent:(null==(c=a.find(a=>a.parent))?void 0:c.parent)||null,tooltipSpace:(null==(d=a.find(a=>a.tooltipSpace))?void 0:d.tooltipSpace)||c2}}}),c4=new WeakMap,c5=aP.fromClass(class{constructor(a){this.view=a,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let b=a.state.facet(c3);this.position=b.position,this.parent=b.parent,this.classes=a.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver="function"==typeof ResizeObserver?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new c1(a,c9,(a,b)=>this.createTooltip(a,b),a=>{this.resizeObserver&&this.resizeObserver.unobserve(a.dom),a.dom.remove()}),this.above=this.manager.tooltips.map(a=>!!a.above),this.intersectionObserver="function"==typeof IntersectionObserver?new IntersectionObserver(a=>{Date.now()>this.lastTransaction-50&&a.length>0&&a[a.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),a.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver)for(let a of(this.intersectionObserver.disconnect(),this.manager.tooltipViews))this.intersectionObserver.observe(a.dom)}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(a){a.transactions.length&&(this.lastTransaction=Date.now());let b=this.manager.update(a,this.above);b&&this.observeIntersection();let c=b||a.geometryChanged,d=a.state.facet(c3);if(d.position!=this.position&&!this.madeAbsolute){for(let a of(this.position=d.position,this.manager.tooltipViews))a.dom.style.position=this.position;c=!0}if(d.parent!=this.parent){for(let a of(this.parent&&this.container.remove(),this.parent=d.parent,this.createContainer(),this.manager.tooltipViews))this.container.appendChild(a.dom);c=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);c&&this.maybeMeasure()}createTooltip(a,b){let c=a.create(this.view),d=b?b.dom:null;if(c.dom.classList.add("cm-tooltip"),a.arrow&&!c.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let a=document.createElement("div");a.className="cm-tooltip-arrow",c.dom.appendChild(a)}return c.dom.style.position=this.position,c.dom.style.top=c0,c.dom.style.left="0px",this.container.insertBefore(c.dom,d),c.mount&&c.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(c.dom),c}destroy(){var a,b,c;for(let b of(this.view.win.removeEventListener("resize",this.measureSoon),this.manager.tooltipViews))b.dom.remove(),null==(a=b.destroy)||a.call(b);this.parent&&this.container.remove(),null==(b=this.resizeObserver)||b.disconnect(),null==(c=this.intersectionObserver)||c.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let a=1,b=1,c=!1;if("fixed"==this.position&&this.manager.tooltipViews.length){let{dom:a}=this.manager.tooltipViews[0];if(B.safari){let b=a.getBoundingClientRect();c=Math.abs(b.top+1e4)>1||Math.abs(b.left)>1}else c=!!a.offsetParent&&a.offsetParent!=this.container.ownerDocument.body}if(c||"absolute"==this.position)if(this.parent){let c=this.parent.getBoundingClientRect();c.width&&c.height&&(a=c.width/this.parent.offsetWidth,b=c.height/this.parent.offsetHeight)}else({scaleX:a,scaleY:b}=this.view.viewState);let d=this.view.scrollDOM.getBoundingClientRect(),e=a$(this.view);return{visible:{left:d.left+e.left,top:d.top+e.top,right:d.right-e.right,bottom:d.bottom-e.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((a,b)=>{let c=this.manager.tooltipViews[b];return c.getCoords?c.getCoords(a.pos):this.view.coordsAtPos(a.pos)}),size:this.manager.tooltipViews.map(({dom:a})=>a.getBoundingClientRect()),space:this.view.state.facet(c3).tooltipSpace(this.view),scaleX:a,scaleY:b,makeAbsolute:c}}writeMeasure(a){var b;if(a.makeAbsolute)for(let a of(this.madeAbsolute=!0,this.position="absolute",this.manager.tooltipViews))a.dom.style.position="absolute";let{visible:c,space:d,scaleX:e,scaleY:f}=a,g=[];for(let h=0;h<this.manager.tooltips.length;h++){let i=this.manager.tooltips[h],j=this.manager.tooltipViews[h],{dom:k}=j,l=a.pos[h],m=a.size[h];if(!l||!1!==i.clip&&(l.bottom<=Math.max(c.top,d.top)||l.top>=Math.min(c.bottom,d.bottom)||l.right<Math.max(c.left,d.left)-.1||l.left>Math.min(c.right,d.right)+.1)){k.style.top=c0;continue}let n=i.arrow?j.dom.querySelector(".cm-tooltip-arrow"):null,o=7*!!n,p=m.right-m.left,q=null!=(b=c4.get(j))?b:m.bottom-m.top,r=j.offset||c8,s=this.view.textDirection==ai.LTR,t=m.width>d.right-d.left?s?d.left:d.right-m.width:s?Math.max(d.left,Math.min(l.left-14*!!n+r.x,d.right-p)):Math.min(Math.max(d.left,l.left-p+14*!!n-r.x),d.right-p),u=this.above[h];!i.strictSide&&(u?l.top-q-o-r.y<d.top:l.bottom+q+o+r.y>d.bottom)&&u==d.bottom-l.bottom>l.top-d.top&&(u=this.above[h]=!u);let v=(u?l.top-d.top:d.bottom-l.bottom)-o;if(v<q&&!1!==j.resize){if(v<this.view.defaultLineHeight){k.style.top=c0;continue}c4.set(j,q),k.style.height=(q=v)/f+"px"}else k.style.height&&(k.style.height="");let w=u?l.top-q-o-r.y:l.bottom+o+r.y,x=t+p;if(!0!==j.overlap)for(let a of g)a.left<x&&a.right>t&&a.top<w+q&&a.bottom>w&&(w=u?a.top-q-2-o:a.bottom+o+2);if("absolute"==this.position?(k.style.top=(w-a.parent.top)/f+"px",c6(k,(t-a.parent.left)/e)):(k.style.top=w/f+"px",c6(k,t/e)),n){let a=l.left+(s?r.x:-r.x)-(t+14-7);n.style.left=a/e+"px"}!0!==j.overlap&&g.push({left:t,top:w,right:x,bottom:w+q}),k.classList.toggle("cm-tooltip-above",u),k.classList.toggle("cm-tooltip-below",!u),j.positioned&&j.positioned(a.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView)&&(this.inView=this.view.inView,!this.inView))for(let a of this.manager.tooltipViews)a.dom.style.top=c0}},{eventObservers:{scroll(){this.maybeMeasure()}}});function c6(a,b){let c=parseInt(a.style.left,10);(isNaN(c)||Math.abs(b-c)>1)&&(a.style.left=b+"px")}let c7=cK.baseTheme({".cm-tooltip":{zIndex:500,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:"14px",position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),c8={x:0,y:0},c9=h.sj.define({enables:[c5,c7]}),da=h.sj.define({combine:a=>a.reduce((a,b)=>a.concat(b),[])});function db(a,b){let c=a.plugin(c5);if(!c)return null;let d=c.manager.tooltips.indexOf(b);return d<0?null:c.manager.tooltipViews[d]}let dc=h.sj.define({combine(a){let b,c;for(let d of a)b=b||d.topContainer,c=c||d.bottomContainer;return{topContainer:b,bottomContainer:c}}});function dd(a,b){let c=a.plugin(de),d=c?c.specs.indexOf(b):-1;return d>-1?c.panels[d]:null}let de=aP.fromClass(class{constructor(a){this.input=a.state.facet(dh),this.specs=this.input.filter(a=>a),this.panels=this.specs.map(b=>b(a));let b=a.state.facet(dc);for(let c of(this.top=new df(a,!0,b.topContainer),this.bottom=new df(a,!1,b.bottomContainer),this.top.sync(this.panels.filter(a=>a.top)),this.bottom.sync(this.panels.filter(a=>!a.top)),this.panels))c.dom.classList.add("cm-panel"),c.mount&&c.mount()}update(a){let b=a.state.facet(dc);this.top.container!=b.topContainer&&(this.top.sync([]),this.top=new df(a.view,!0,b.topContainer)),this.bottom.container!=b.bottomContainer&&(this.bottom.sync([]),this.bottom=new df(a.view,!1,b.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let c=a.state.facet(dh);if(c!=this.input){let b=c.filter(a=>a),d=[],e=[],f=[],g=[];for(let c of b){let b=this.specs.indexOf(c),h;b<0?(h=c(a.view),g.push(h)):(h=this.panels[b]).update&&h.update(a),d.push(h),(h.top?e:f).push(h)}for(let a of(this.specs=b,this.panels=d,this.top.sync(e),this.bottom.sync(f),g))a.dom.classList.add("cm-panel"),a.mount&&a.mount()}else for(let b of this.panels)b.update&&b.update(a)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:a=>cK.scrollMargins.of(b=>{let c=b.plugin(a);return c&&{top:c.top.scrollMargin(),bottom:c.bottom.scrollMargin()}})});class df{constructor(a,b,c){this.view=a,this.top=b,this.container=c,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(a){for(let b of this.panels)b.destroy&&0>a.indexOf(b)&&b.destroy();this.panels=a,this.syncDOM()}syncDOM(){if(0==this.panels.length){this.dom&&(this.dom.remove(),this.dom=void 0);return}if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let a=this.container||this.view.dom;a.insertBefore(this.dom,this.top?a.firstChild:null)}let a=this.dom.firstChild;for(let b of this.panels)if(b.dom.parentNode==this.dom){for(;a!=b.dom;)a=dg(a);a=a.nextSibling}else this.dom.insertBefore(b.dom,a);for(;a;)a=dg(a)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(this.container&&this.classes!=this.view.themeClasses){for(let a of this.classes.split(" "))a&&this.container.classList.remove(a);for(let a of(this.classes=this.view.themeClasses).split(" "))a&&this.container.classList.add(a)}}}function dg(a){let b=a.nextSibling;return a.remove(),b}let dh=h.sj.define({enables:de});function di(a,b){let c,d=new Promise(a=>c=a),e=a=>(function(a,b,c){let d=b.content?b.content(a,()=>g(null)):null;if(!d){if(d=(0,p.A)("form"),b.input){let a=(0,p.A)("input",b.input);/^(text|password|number|email|tel|url)$/.test(a.type)&&a.classList.add("cm-textfield"),a.name||(a.name="input"),d.appendChild((0,p.A)("label",(b.label||"")+": ",a))}else d.appendChild(document.createTextNode(b.label||""));d.appendChild(document.createTextNode(" ")),d.appendChild((0,p.A)("button",{class:"cm-button",type:"submit"},b.submitLabel||"OK"))}let e="FORM"==d.nodeName?[d]:d.querySelectorAll("form");for(let a=0;a<e.length;a++){let b=e[a];b.addEventListener("keydown",a=>{27==a.keyCode?(a.preventDefault(),g(null)):13==a.keyCode&&(a.preventDefault(),g(b))}),b.addEventListener("submit",a=>{a.preventDefault(),g(b)})}let f=(0,p.A)("div",d,(0,p.A)("button",{onclick:()=>g(null),"aria-label":a.state.phrase("close"),class:"cm-dialog-close",type:"button"},["\xd7"]));function g(b){f.contains(f.ownerDocument.activeElement)&&a.focus(),c(b)}return b.class&&(f.className=b.class),f.classList.add("cm-dialog"),{dom:f,top:b.top,mount:()=>{if(b.focus){let a;(a="string"==typeof b.focus?d.querySelector(b.focus):d.querySelector("input")||d.querySelector("button"))&&"select"in a?a.select():a&&"focus"in a&&a.focus()}}}})(a,b,c);a.state.field(dj,!1)?a.dispatch({effects:dk.of(e)}):a.dispatch({effects:h.Pe.appendConfig.of(dj.init(()=>[e]))});let f=dl.of(e);return{close:f,result:d.then(b=>((a.win.queueMicrotask||(b=>a.win.setTimeout(b,10)))(()=>{a.state.field(dj).indexOf(e)>-1&&a.dispatch({effects:f})}),b))}}let dj=h.sU.define({create:()=>[],update(a,b){for(let c of b.effects)c.is(dk)?a=[c.value].concat(a):c.is(dl)&&(a=a.filter(a=>a!=c.value));return a},provide:a=>dh.computeN([a],b=>b.field(a))}),dk=h.Pe.define(),dl=h.Pe.define();class dm extends h.FB{compare(a){return this==a||this.constructor==a.constructor&&this.eq(a)}eq(a){return!1}destroy(a){}}dm.prototype.elementClass="",dm.prototype.toDOM=void 0,dm.prototype.mapMode=h.iR.TrackBefore,dm.prototype.startSide=dm.prototype.endSide=-1,dm.prototype.point=!0;let dn=h.sj.define(),dp=h.sj.define(),dq=h.sj.define(),dr=h.sj.define({combine:a=>a.some(a=>a)}),ds=aP.fromClass(class{constructor(a){for(let b of(this.view=a,this.domAfter=null,this.prevViewport=a.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters cm-gutters-before",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=a.state.facet(dq).map(b=>new dw(a,b)),this.fixed=!a.state.facet(dr),this.gutters))"after"==b.config.side?this.getDOMAfter().appendChild(b.dom):this.dom.appendChild(b.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),a.scrollDOM.insertBefore(this.dom,a.contentDOM)}getDOMAfter(){return this.domAfter||(this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter)),this.domAfter}update(a){if(this.updateGutters(a)){let b=this.prevViewport,c=a.view.viewport,d=Math.min(b.to,c.to)-Math.max(b.from,c.from);this.syncGutters(d<(c.to-c.from)*.8)}if(a.geometryChanged){let a=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=a,this.domAfter&&(this.domAfter.style.minHeight=a)}this.view.state.facet(dr)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=a.view.viewport}syncGutters(a){let b=this.dom.nextSibling;a&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let c=h.om.iter(this.view.state.facet(dn),this.view.viewport.from),d=[],e=this.gutters.map(a=>new dv(a,this.view.viewport,-this.view.documentPadding.top));for(let a of this.view.viewportLineBlocks)if(d.length&&(d=[]),Array.isArray(a.type)){let b=!0;for(let f of a.type)if(f.type==H.Text&&b){for(let a of(du(c,d,f.from),e))a.line(this.view,f,d);b=!1}else if(f.widget)for(let a of e)a.widget(this.view,f)}else if(a.type==H.Text)for(let b of(du(c,d,a.from),e))b.line(this.view,a,d);else if(a.widget)for(let b of e)b.widget(this.view,a);for(let a of e)a.finish();a&&(this.view.scrollDOM.insertBefore(this.dom,b),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(a){let b=a.startState.facet(dq),c=a.state.facet(dq),d=a.docChanged||a.heightChanged||a.viewportChanged||!h.om.eq(a.startState.facet(dn),a.state.facet(dn),a.view.viewport.from,a.view.viewport.to);if(b==c)for(let b of this.gutters)b.update(a)&&(d=!0);else{d=!0;let e=[];for(let d of c){let c=b.indexOf(d);c<0?e.push(new dw(this.view,d)):(this.gutters[c].update(a),e.push(this.gutters[c]))}for(let a of this.gutters)a.dom.remove(),0>e.indexOf(a)&&a.destroy();for(let a of e)"after"==a.config.side?this.getDOMAfter().appendChild(a.dom):this.dom.appendChild(a.dom);this.gutters=e}return d}destroy(){for(let a of this.gutters)a.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:a=>cK.scrollMargins.of(b=>{let c=b.plugin(a);if(!c||0==c.gutters.length||!c.fixed)return null;let d=c.dom.offsetWidth*b.scaleX,e=c.domAfter?c.domAfter.offsetWidth*b.scaleX:0;return b.textDirection==ai.LTR?{left:d,right:e}:{right:d,left:e}})});function dt(a){return Array.isArray(a)?a:[a]}function du(a,b,c){for(;a.value&&a.from<=c;)a.from==c&&b.push(a.value),a.next()}class dv{constructor(a,b,c){this.gutter=a,this.height=c,this.i=0,this.cursor=h.om.iter(a.markers,b.from)}addElement(a,b,c){let{gutter:d}=this,e=(b.top-this.height)/a.scaleY,f=b.height/a.scaleY;if(this.i==d.elements.length){let b=new dx(a,f,e,c);d.elements.push(b),d.dom.appendChild(b.dom)}else d.elements[this.i].update(a,f,e,c);this.height=b.bottom,this.i++}line(a,b,c){let d=[];du(this.cursor,d,b.from),c.length&&(d=d.concat(c));let e=this.gutter.config.lineMarker(a,b,d);e&&d.unshift(e);let f=this.gutter;(0!=d.length||f.config.renderEmptyElements)&&this.addElement(a,b,d)}widget(a,b){let c=this.gutter.config.widgetMarker(a,b.widget,b),d=c?[c]:null;for(let c of a.state.facet(dp)){let e=c(a,b.widget,b);e&&(d||(d=[])).push(e)}d&&this.addElement(a,b,d)}finish(){let a=this.gutter;for(;a.elements.length>this.i;){let b=a.elements.pop();a.dom.removeChild(b.dom),b.destroy()}}}class dw{constructor(a,b){for(let c in this.view=a,this.config=b,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:""),b.domEventHandlers)this.dom.addEventListener(c,d=>{let e=d.target,f;if(e!=this.dom&&this.dom.contains(e)){for(;e.parentNode!=this.dom;)e=e.parentNode;let a=e.getBoundingClientRect();f=(a.top+a.bottom)/2}else f=d.clientY;let g=a.lineBlockAtHeight(f-a.documentTop);b.domEventHandlers[c](a,g,d)&&d.preventDefault()});this.markers=dt(b.markers(a)),b.initialSpacer&&(this.spacer=new dx(a,0,0,[b.initialSpacer(a)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(a){let b=this.markers;if(this.markers=dt(this.config.markers(a.view)),this.spacer&&this.config.updateSpacer){let b=this.config.updateSpacer(this.spacer.markers[0],a);b!=this.spacer.markers[0]&&this.spacer.update(a.view,0,0,[b])}let c=a.view.viewport;return!h.om.eq(this.markers,b,c.from,c.to)||!!this.config.lineMarkerChange&&this.config.lineMarkerChange(a)}destroy(){for(let a of this.elements)a.destroy()}}class dx{constructor(a,b,c,d){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(a,b,c,d)}update(a,b,c,d){this.height!=b&&(this.height=b,this.dom.style.height=b+"px"),this.above!=c&&(this.dom.style.marginTop=(this.above=c)?c+"px":""),!function(a,b){if(a.length!=b.length)return!1;for(let c=0;c<a.length;c++)if(!a[c].compare(b[c]))return!1;return!0}(this.markers,d)&&this.setMarkers(a,d)}setMarkers(a,b){let c="cm-gutterElement",d=this.dom.firstChild;for(let e=0,f=0;;){let g=f,h=e<b.length?b[e++]:null,i=!1;if(h){let a=h.elementClass;a&&(c+=" "+a);for(let a=f;a<this.markers.length;a++)if(this.markers[a].compare(h)){g=a,i=!0;break}}else g=this.markers.length;for(;f<g;){let a=this.markers[f++];if(a.toDOM){a.destroy(d);let b=d.nextSibling;d.remove(),d=b}}if(!h)break;h.toDOM&&(i?d=d.nextSibling:this.dom.insertBefore(h.toDOM(a),d)),i&&f++}this.dom.className=c,this.markers=b}destroy(){this.setMarkers(null,[])}}let dy=h.sj.define(),dz=h.sj.define(),dA=h.sj.define({combine:a=>(0,h.QR)(a,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(a,b){let c=Object.assign({},a);for(let a in b){let d=c[a],e=b[a];c[a]=d?(a,b,c)=>d(a,b,c)||e(a,b,c):e}return c}})});class dB extends dm{constructor(a){super(),this.number=a}eq(a){return this.number==a.number}toDOM(){return document.createTextNode(this.number)}}function dC(a,b){return a.state.facet(dA).formatNumber(b,a.state)}let dD=dq.compute([dA],a=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers:a=>a.state.facet(dy),lineMarker:(a,b,c)=>c.some(a=>a.toDOM)?null:new dB(dC(a,a.state.doc.lineAt(b.from).number)),widgetMarker:(a,b,c)=>{for(let d of a.state.facet(dz)){let e=d(a,b,c);if(e)return e}return null},lineMarkerChange:a=>a.startState.facet(dA)!=a.state.facet(dA),initialSpacer:a=>new dB(dC(a,dF(a.state.doc.lines))),updateSpacer(a,b){let c=dC(b.view,dF(b.view.state.doc.lines));return c==a.number?a:new dB(c)},domEventHandlers:a.facet(dA).domEventHandlers,side:"before"}));function dE(a={}){return[dA.of(a),[ds],dD]}function dF(a){let b=9;for(;b<a;)b=10*b+9;return b}},43398:(a,b,c)=>{c.d(b,{DM:()=>m,_A:()=>D,az:()=>l,pn:()=>i,vw:()=>f});var d=c(22751);let e=0;class f{constructor(a,b,c,d){this.name=a,this.set=b,this.base=c,this.modified=d,this.id=e++}toString(){let{name:a}=this;for(let b of this.modified)b.name&&(a=`${b.name}(${a})`);return a}static define(a,b){if(a instanceof f&&(b=a),null==b?void 0:b.base)throw Error("Can not derive from a modified tag");let c=new f("string"==typeof a?a:"?",[],null,[]);if(c.set.push(c),b)for(let a of b.set)c.set.push(a);return c}static defineModifier(a){let b=new h(a);return a=>a.modified.indexOf(b)>-1?a:h.get(a.base||a,a.modified.concat(b).sort((a,b)=>a.id-b.id))}}let g=0;class h{constructor(a){this.name=a,this.instances=[],this.id=g++}static get(a,b){if(!b.length)return a;let c=b[0].instances.find(c=>{var d,e;return c.base==a&&(d=b,e=c.modified,d.length==e.length&&d.every((a,b)=>a==e[b]))});if(c)return c;let d=[],e=new f(a.name,d,a,b);for(let a of b)a.instances.push(e);let g=function(a){let b=[[]];for(let c=0;c<a.length;c++)for(let d=0,e=b.length;d<e;d++)b.push(b[d].concat(a[c]));return b.sort((a,b)=>b.length-a.length)}(b);for(let b of a.set)if(!b.modified.length)for(let a of g)d.push(h.get(b,a));return e}}function i(a){let b=Object.create(null);for(let c in a){let d=a[c];for(let a of(Array.isArray(d)||(d=[d]),c.split(" ")))if(a){let c=[],e=2,f=a;for(let b=0;;){if("..."==f&&b>0&&b+3==a.length){e=1;break}let d=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(f);if(!d)throw RangeError("Invalid path: "+a);if(c.push("*"==d[0]?"":'"'==d[0][0]?JSON.parse(d[0]):d[0]),(b+=d[0].length)==a.length)break;let g=a[b++];if(b==a.length&&"!"==g){e=0;break}if("/"!=g)throw RangeError("Invalid path: "+a);f=a.slice(b)}let g=c.length-1,h=c[g];if(!h)throw RangeError("Invalid path: "+a);let i=new k(d,e,g>0?c.slice(0,g):null);b[h]=i.sort(b[h])}}return j.add(b)}let j=new d.uY({combine(a,b){let c,d,e;for(;a||b;){if(!a||b&&a.depth>=b.depth?(e=b,b=b.next):(e=a,a=a.next),c&&c.mode==e.mode&&!e.context&&!c.context)continue;let f=new k(e.tags,e.mode,e.context);c?c.next=f:d=f,c=f}return d}});class k{constructor(a,b,c,d){this.tags=a,this.mode=b,this.context=c,this.next=d}get opaque(){return 0==this.mode}get inherit(){return 1==this.mode}sort(a){return!a||a.depth<this.depth?(this.next=a,this):(a.next=this.sort(a.next),a)}get depth(){return this.context?this.context.length:0}}function l(a,b){let c=Object.create(null);for(let b of a)if(Array.isArray(b.tag))for(let a of b.tag)c[a.id]=b.class;else c[b.tag.id]=b.class;let{scope:d,all:e=null}=b||{};return{style:a=>{let b=e;for(let d of a)for(let a of d.set){let d=c[a.id];if(d){b=b?b+" "+d:d;break}}return b},scope:d}}function m(a,b,c,d=0,e=a.length){let f=new n(d,Array.isArray(b)?b:[b],c);f.highlightRange(a.cursor(),d,e,"",f.highlighters),f.flush(e)}k.empty=new k([],2,null);class n{constructor(a,b,c){this.at=a,this.highlighters=b,this.span=c,this.class=""}startSpan(a,b){b!=this.class&&(this.flush(a),a>this.at&&(this.at=a),this.class=b)}flush(a){a>this.at&&this.class&&this.span(this.at,a,this.class)}highlightRange(a,b,c,e,f){let{type:g,from:h,to:i}=a;if(h>=c||i<=b)return;g.isTop&&(f=this.highlighters.filter(a=>!a.scope||a.scope(g)));let l=e,m=function(a){let b=a.type.prop(j);for(;b&&b.context&&!a.matchContext(b.context);)b=b.next;return b||null}(a)||k.empty,n=function(a,b){let c=null;for(let d of a){let a=d.style(b);a&&(c=c?c+" "+a:a)}return c}(f,m.tags);if(n&&(l&&(l+=" "),l+=n,1==m.mode&&(e+=(e?" ":"")+n)),this.startSpan(Math.max(b,h),l),m.opaque)return;let o=a.tree&&a.tree.prop(d.uY.mounted);if(o&&o.overlay){let d=a.node.enter(o.overlay[0].from+h,1),g=this.highlighters.filter(a=>!a.scope||a.scope(o.tree.type)),j=a.firstChild();for(let k=0,m=h;;k++){let n=k<o.overlay.length?o.overlay[k]:null,p=n?n.from+h:i,q=Math.max(b,m),r=Math.min(c,p);if(q<r&&j)for(;a.from<r&&(this.highlightRange(a,q,r,e,f),this.startSpan(Math.min(r,a.to),l),!(a.to>=p)&&a.nextSibling()););if(!n||p>c)break;(m=n.to+h)>b&&(this.highlightRange(d.cursor(),Math.max(b,n.from+h),Math.min(c,m),"",g),this.startSpan(Math.min(c,m),l))}j&&a.parent()}else if(a.firstChild()){o&&(e="");do{if(a.to<=b)continue;if(a.from>=c)break;this.highlightRange(a,b,c,e,f),this.startSpan(Math.min(c,a.to),l)}while(a.nextSibling());a.parent()}}}let o=f.define,p=o(),q=o(),r=o(q),s=o(q),t=o(),u=o(t),v=o(t),w=o(),x=o(w),y=o(),z=o(),A=o(),B=o(A),C=o(),D={comment:p,lineComment:o(p),blockComment:o(p),docComment:o(p),name:q,variableName:o(q),typeName:r,tagName:o(r),propertyName:s,attributeName:o(s),className:o(q),labelName:o(q),namespace:o(q),macroName:o(q),literal:t,string:u,docString:o(u),character:o(u),attributeValue:o(u),number:v,integer:o(v),float:o(v),bool:o(t),regexp:o(t),escape:o(t),color:o(t),url:o(t),keyword:y,self:o(y),null:o(y),atom:o(y),unit:o(y),modifier:o(y),operatorKeyword:o(y),controlKeyword:o(y),definitionKeyword:o(y),moduleKeyword:o(y),operator:z,derefOperator:o(z),arithmeticOperator:o(z),logicOperator:o(z),bitwiseOperator:o(z),compareOperator:o(z),updateOperator:o(z),definitionOperator:o(z),typeOperator:o(z),controlOperator:o(z),punctuation:A,separator:o(A),bracket:B,angleBracket:o(B),squareBracket:o(B),paren:o(B),brace:o(B),content:w,heading:x,heading1:o(x),heading2:o(x),heading3:o(x),heading4:o(x),heading5:o(x),heading6:o(x),contentSeparator:o(w),list:o(w),quote:o(w),emphasis:o(w),strong:o(w),link:o(w),monospace:o(w),strikethrough:o(w),inserted:o(),deleted:o(),changed:o(),invalid:o(),meta:C,documentMeta:o(C),annotation:o(C),processingInstruction:o(C),definition:f.defineModifier("definition"),constant:f.defineModifier("constant"),function:f.defineModifier("function"),standard:f.defineModifier("standard"),local:f.defineModifier("local"),special:f.defineModifier("special")};for(let a in D){let b=D[a];b instanceof f&&(b.name=a)}l([{tag:D.link,class:"tok-link"},{tag:D.heading,class:"tok-heading"},{tag:D.emphasis,class:"tok-emphasis"},{tag:D.strong,class:"tok-strong"},{tag:D.keyword,class:"tok-keyword"},{tag:D.atom,class:"tok-atom"},{tag:D.bool,class:"tok-bool"},{tag:D.url,class:"tok-url"},{tag:D.labelName,class:"tok-labelName"},{tag:D.inserted,class:"tok-inserted"},{tag:D.deleted,class:"tok-deleted"},{tag:D.literal,class:"tok-literal"},{tag:D.string,class:"tok-string"},{tag:D.number,class:"tok-number"},{tag:[D.regexp,D.escape,D.special(D.string)],class:"tok-string2"},{tag:D.variableName,class:"tok-variableName"},{tag:D.local(D.variableName),class:"tok-variableName tok-local"},{tag:D.definition(D.variableName),class:"tok-variableName tok-definition"},{tag:D.special(D.variableName),class:"tok-variableName2"},{tag:D.definition(D.propertyName),class:"tok-propertyName tok-definition"},{tag:D.typeName,class:"tok-typeName"},{tag:D.namespace,class:"tok-namespace"},{tag:D.className,class:"tok-className"},{tag:D.macroName,class:"tok-macroName"},{tag:D.propertyName,class:"tok-propertyName"},{tag:D.operator,class:"tok-operator"},{tag:D.comment,class:"tok-comment"},{tag:D.meta,class:"tok-meta"},{tag:D.invalid,class:"tok-invalid"},{tag:D.punctuation,class:"tok-punctuation"}])},44072:(a,b,c)=>{let d;c.d(b,{YH:()=>ak,Gu:()=>E,VR:()=>F,Je:()=>at,OF:()=>N,$t:()=>av,sj:()=>Q,iR:()=>D,Nb:()=>Y,om:()=>aC,vB:()=>aD,FB:()=>ax,Pe:()=>an,sU:()=>W,EY:()=>n,ZX:()=>ao,vS:()=>x,Fh:()=>z,QR:()=>aw,y$:()=>aO,zK:()=>w,kn:()=>aP,MK:()=>y});let e=[],f=[],g="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(a=>a?parseInt(a,36):1);for(let a=0,b=0;a<g.length;a++)(a%2?f:e).push(b+=g[a]);function h(a){return a>=127462&&a<=127487}function i(a,b,c){if(b==a.length)return b;b&&k(a.charCodeAt(b))&&l(a.charCodeAt(b-1))&&b--;let d=j(a,b);for(b+=m(d);b<a.length;){let g=j(a,b);if(8205==d||8205==g||c&&function(a){if(a<768)return!1;for(let b=0,c=e.length;;){let d=b+c>>1;if(a<e[d])c=d;else{if(!(a>=f[d]))return!0;b=d+1}if(b==c)return!1}}(g))b+=m(g),d=g;else if(h(g)){let c=0,d=b-2;for(;d>=0&&h(j(a,d));)c++,d-=2;if(c%2==0)break;b+=2}else break}return b}function j(a,b){let c=a.charCodeAt(b);if(!l(c)||b+1==a.length)return c;let d=a.charCodeAt(b+1);return k(d)?(c-55296<<10)+(d-56320)+65536:c}function k(a){return a>=56320&&a<57344}function l(a){return a>=55296&&a<56320}function m(a){return a<65536?1:2}class n{lineAt(a){if(a<0||a>this.length)throw RangeError(`Invalid position ${a} in document of length ${this.length}`);return this.lineInner(a,!1,1,0)}line(a){if(a<1||a>this.lines)throw RangeError(`Invalid line number ${a} in ${this.lines}-line document`);return this.lineInner(a,!0,1,0)}replace(a,b,c){[a,b]=v(this,a,b);let d=[];return this.decompose(0,a,d,2),c.length&&c.decompose(0,c.length,d,3),this.decompose(b,this.length,d,1),p.from(d,this.length-(b-a)+c.length)}append(a){return this.replace(this.length,this.length,a)}slice(a,b=this.length){[a,b]=v(this,a,b);let c=[];return this.decompose(a,b,c,0),p.from(c,b-a)}eq(a){if(a==this)return!0;if(a.length!=this.length||a.lines!=this.lines)return!1;let b=this.scanIdentical(a,1),c=this.length-this.scanIdentical(a,-1),d=new r(this),e=new r(a);for(let a=b,f=b;;){if(d.next(a),e.next(a),a=0,d.lineBreak!=e.lineBreak||d.done!=e.done||d.value!=e.value)return!1;if(f+=d.value.length,d.done||f>=c)return!0}}iter(a=1){return new r(this,a)}iterRange(a,b=this.length){return new s(this,a,b)}iterLines(a,b){let c;if(null==a)c=this.iter();else{null==b&&(b=this.lines+1);let d=this.line(a).from;c=this.iterRange(d,Math.max(d,b==this.lines+1?this.length:b<=1?0:this.line(b-1).to))}return new t(c)}toString(){return this.sliceString(0)}toJSON(){let a=[];return this.flatten(a),a}static of(a){if(0==a.length)throw RangeError("A document must have at least one line");return 1!=a.length||a[0]?a.length<=32?new o(a):p.from(o.split(a,[])):n.empty}}class o extends n{constructor(a,b=function(a){let b=-1;for(let c of a)b+=c.length+1;return b}(a)){super(),this.text=a,this.length=b}get lines(){return this.text.length}get children(){return null}lineInner(a,b,c,d){for(let e=0;;e++){let f=this.text[e],g=d+f.length;if((b?c:g)>=a)return new u(d,g,c,f);d=g+1,c++}}decompose(a,b,c,d){var e;let f=a<=0&&b>=this.length?this:new o((e=this.text,q(e,[""],a,b)),Math.min(b,this.length)-Math.max(0,a));if(1&d){let a=c.pop(),b=q(f.text,a.text.slice(),0,f.length);if(b.length<=32)c.push(new o(b,a.length+f.length));else{let a=b.length>>1;c.push(new o(b.slice(0,a)),new o(b.slice(a)))}}else c.push(f)}replace(a,b,c){var d;if(!(c instanceof o))return super.replace(a,b,c);[a,b]=v(this,a,b);let e=q(this.text,q(c.text,(d=this.text,q(d,[""],0,a))),b),f=this.length+c.length-(b-a);return e.length<=32?new o(e,f):p.from(o.split(e,[]),f)}sliceString(a,b=this.length,c="\n"){[a,b]=v(this,a,b);let d="";for(let e=0,f=0;e<=b&&f<this.text.length;f++){let g=this.text[f],h=e+g.length;e>a&&f&&(d+=c),a<h&&b>e&&(d+=g.slice(Math.max(0,a-e),b-e)),e=h+1}return d}flatten(a){for(let b of this.text)a.push(b)}scanIdentical(){return 0}static split(a,b){let c=[],d=-1;for(let e of a)c.push(e),d+=e.length+1,32==c.length&&(b.push(new o(c,d)),c=[],d=-1);return d>-1&&b.push(new o(c,d)),b}}class p extends n{constructor(a,b){for(let c of(super(),this.children=a,this.length=b,this.lines=0,a))this.lines+=c.lines}lineInner(a,b,c,d){for(let e=0;;e++){let f=this.children[e],g=d+f.length,h=c+f.lines-1;if((b?h:g)>=a)return f.lineInner(a,b,c,d);d=g+1,c=h+1}}decompose(a,b,c,d){for(let e=0,f=0;f<=b&&e<this.children.length;e++){let g=this.children[e],h=f+g.length;if(a<=h&&b>=f){let e=d&(f<=a|2*(h>=b));f>=a&&h<=b&&!e?c.push(g):g.decompose(a-f,b-f,c,e)}f=h+1}}replace(a,b,c){if([a,b]=v(this,a,b),c.lines<this.lines)for(let d=0,e=0;d<this.children.length;d++){let f=this.children[d],g=e+f.length;if(a>=e&&b<=g){let h=f.replace(a-e,b-e,c),i=this.lines-f.lines+h.lines;if(h.lines<i>>4&&h.lines>i>>6){let e=this.children.slice();return e[d]=h,new p(e,this.length-(b-a)+c.length)}return super.replace(e,g,h)}e=g+1}return super.replace(a,b,c)}sliceString(a,b=this.length,c="\n"){[a,b]=v(this,a,b);let d="";for(let e=0,f=0;e<this.children.length&&f<=b;e++){let g=this.children[e],h=f+g.length;f>a&&e&&(d+=c),a<h&&b>f&&(d+=g.sliceString(a-f,b-f,c)),f=h+1}return d}flatten(a){for(let b of this.children)b.flatten(a)}scanIdentical(a,b){if(!(a instanceof p))return 0;let c=0,[d,e,f,g]=b>0?[0,0,this.children.length,a.children.length]:[this.children.length-1,a.children.length-1,-1,-1];for(;;d+=b,e+=b){if(d==f||e==g)return c;let h=this.children[d],i=a.children[e];if(h!=i)return c+h.scanIdentical(i,b);c+=h.length+1}}static from(a,b=a.reduce((a,b)=>a+b.length+1,-1)){let c=0;for(let b of a)c+=b.lines;if(c<32){let c=[];for(let b of a)b.flatten(c);return new o(c,b)}let d=Math.max(32,c>>5),e=d<<1,f=d>>1,g=[],h=0,i=-1,j=[];function k(){0!=h&&(g.push(1==j.length?j[0]:p.from(j,i)),i=-1,h=j.length=0)}for(let b of a)!function a(b){let c;if(b.lines>e&&b instanceof p)for(let c of b.children)a(c);else b.lines>f&&(h>f||!h)?(k(),g.push(b)):b instanceof o&&h&&(c=j[j.length-1])instanceof o&&b.lines+c.lines<=32?(h+=b.lines,i+=b.length+1,j[j.length-1]=new o(c.text.concat(b.text),c.length+1+b.length)):(h+b.lines>d&&k(),h+=b.lines,i+=b.length+1,j.push(b))}(b);return k(),1==g.length?g[0]:new p(g,b)}}function q(a,b,c=0,d=1e9){for(let e=0,f=0,g=!0;f<a.length&&e<=d;f++){let h=a[f],i=e+h.length;i>=c&&(i>d&&(h=h.slice(0,d-e)),e<c&&(h=h.slice(c-e)),g?(b[b.length-1]+=h,g=!1):b.push(h)),e=i+1}return b}n.empty=new o([""],0);class r{constructor(a,b=1){this.dir=b,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[a],this.offsets=[b>0?1:(a instanceof o?a.text.length:a.children.length)<<1]}nextInner(a,b){for(this.done=this.lineBreak=!1;;){let c=this.nodes.length-1,d=this.nodes[c],e=this.offsets[c],f=e>>1,g=d instanceof o?d.text.length:d.children.length;if(f==(b>0?g:0)){if(0==c)return this.done=!0,this.value="",this;b>0&&this.offsets[c-1]++,this.nodes.pop(),this.offsets.pop()}else if((1&e)==(b>0?0:1)){if(this.offsets[c]+=b,0==a)return this.lineBreak=!0,this.value="\n",this;a--}else if(d instanceof o){let e=d.text[f+(b<0?-1:0)];if(this.offsets[c]+=b,e.length>Math.max(0,a))return this.value=0==a?e:b>0?e.slice(a):e.slice(0,e.length-a),this;a-=e.length}else{let e=d.children[f+(b<0?-1:0)];a>e.length?(a-=e.length,this.offsets[c]+=b):(b<0&&this.offsets[c]--,this.nodes.push(e),this.offsets.push(b>0?1:(e instanceof o?e.text.length:e.children.length)<<1))}}}next(a=0){return a<0&&(this.nextInner(-a,-this.dir),a=this.value.length),this.nextInner(a,this.dir)}}class s{constructor(a,b,c){this.value="",this.done=!1,this.cursor=new r(a,b>c?-1:1),this.pos=b>c?a.length:0,this.from=Math.min(b,c),this.to=Math.max(b,c)}nextInner(a,b){if(b<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;a+=Math.max(0,b<0?this.pos-this.to:this.from-this.pos);let c=b<0?this.pos-this.from:this.to-this.pos;a>c&&(a=c),c-=a;let{value:d}=this.cursor.next(a);return this.pos+=(d.length+a)*b,this.value=d.length<=c?d:b<0?d.slice(d.length-c):d.slice(0,c),this.done=!this.value,this}next(a=0){return a<0?a=Math.max(a,this.from-this.pos):a>0&&(a=Math.min(a,this.to-this.pos)),this.nextInner(a,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&""!=this.value}}class t{constructor(a){this.inner=a,this.afterBreak=!0,this.value="",this.done=!1}next(a=0){let{done:b,lineBreak:c,value:d}=this.inner.next(a);return b&&this.afterBreak?(this.value="",this.afterBreak=!1):b?(this.done=!0,this.value=""):c?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=d,this.afterBreak=!1),this}get lineBreak(){return!1}}"u">typeof Symbol&&(n.prototype[Symbol.iterator]=function(){return this.iter()},r.prototype[Symbol.iterator]=s.prototype[Symbol.iterator]=t.prototype[Symbol.iterator]=function(){return this});class u{constructor(a,b,c,d){this.from=a,this.to=b,this.number=c,this.text=d}get length(){return this.to-this.from}}function v(a,b,c){return[b=Math.max(0,Math.min(a.length,b)),Math.max(b,Math.min(a.length,c))]}function w(a,b,c=!0,d=!0){return function(a,b,c=!0,d=!0){return(c?i:function(a,b,c){for(;b>0;){let d=i(a,b-2,c);if(d<b)return d;b--}return 0})(a,b,d)}(a,b,c,d)}function x(a,b){let c=a.charCodeAt(b);if(!(c>=55296&&c<56320)||b+1==a.length)return c;let d=a.charCodeAt(b+1);return d>=56320&&d<57344?(c-55296<<10)+(d-56320)+65536:c}function y(a){return a<=65535?String.fromCharCode(a):String.fromCharCode(((a-=65536)>>10)+55296,(1023&a)+56320)}function z(a){return a<65536?1:2}let A=/\r\n?|\n/;var B,C,D=((B=D||(D={}))[B.Simple=0]="Simple",B[B.TrackDel=1]="TrackDel",B[B.TrackBefore=2]="TrackBefore",B[B.TrackAfter=3]="TrackAfter",B);class E{constructor(a){this.sections=a}get length(){let a=0;for(let b=0;b<this.sections.length;b+=2)a+=this.sections[b];return a}get newLength(){let a=0;for(let b=0;b<this.sections.length;b+=2){let c=this.sections[b+1];a+=c<0?this.sections[b]:c}return a}get empty(){return 0==this.sections.length||2==this.sections.length&&this.sections[1]<0}iterGaps(a){for(let b=0,c=0,d=0;b<this.sections.length;){let e=this.sections[b++],f=this.sections[b++];f<0?(a(c,d,e),d+=e):d+=f,c+=e}}iterChangedRanges(a,b=!1){I(this,a,b)}get invertedDesc(){let a=[];for(let b=0;b<this.sections.length;){let c=this.sections[b++],d=this.sections[b++];d<0?a.push(c,d):a.push(d,c)}return new E(a)}composeDesc(a){return this.empty?a:a.empty?this:K(this,a)}mapDesc(a,b=!1){return a.empty?this:J(this,a,b)}mapPos(a,b=-1,c=D.Simple){let d=0,e=0;for(let f=0;f<this.sections.length;){let g=this.sections[f++],h=this.sections[f++],i=d+g;if(h<0){if(i>a)return e+(a-d);e+=g}else{if(c!=D.Simple&&i>=a&&(c==D.TrackDel&&d<a&&i>a||c==D.TrackBefore&&d<a||c==D.TrackAfter&&i>a))return null;if(i>a||i==a&&b<0&&!g)return a==d||b<0?e:e+h;e+=h}d=i}if(a>d)throw RangeError(`Position ${a} is out of range for changeset of length ${d}`);return e}touchesRange(a,b=a){for(let c=0,d=0;c<this.sections.length&&d<=b;){let e=this.sections[c++],f=this.sections[c++],g=d+e;if(f>=0&&d<=b&&g>=a)return!(d<a)||!(g>b)||"cover";d=g}return!1}toString(){let a="";for(let b=0;b<this.sections.length;){let c=this.sections[b++],d=this.sections[b++];a+=(a?" ":"")+c+(d>=0?":"+d:"")}return a}toJSON(){return this.sections}static fromJSON(a){if(!Array.isArray(a)||a.length%2||a.some(a=>"number"!=typeof a))throw RangeError("Invalid JSON representation of ChangeDesc");return new E(a)}static create(a){return new E(a)}}class F extends E{constructor(a,b){super(a),this.inserted=b}apply(a){if(this.length!=a.length)throw RangeError("Applying change set to a document with the wrong length");return I(this,(b,c,d,e,f)=>a=a.replace(d,d+(c-b),f),!1),a}mapDesc(a,b=!1){return J(this,a,b,!0)}invert(a){let b=this.sections.slice(),c=[];for(let d=0,e=0;d<b.length;d+=2){let f=b[d],g=b[d+1];if(g>=0){b[d]=g,b[d+1]=f;let h=d>>1;for(;c.length<h;)c.push(n.empty);c.push(f?a.slice(e,e+f):n.empty)}e+=f}return new F(b,c)}compose(a){return this.empty?a:a.empty?this:K(this,a,!0)}map(a,b=!1){return a.empty?this:J(this,a,b,!0)}iterChanges(a,b=!1){I(this,a,b)}get desc(){return E.create(this.sections)}filter(a){let b=[],c=[],d=[],e=new L(this);d:for(let f=0,g=0;;){let h=f==a.length?1e9:a[f++];for(;g<h||g==h&&0==e.len;){if(e.done)break d;let a=Math.min(e.len,h-g);G(d,a,-1);let f=-1==e.ins?-1:0==e.off?e.ins:0;G(b,a,f),f>0&&H(c,b,e.text),e.forward(a),g+=a}let i=a[f++];for(;g<i;){if(e.done)break d;let a=Math.min(e.len,i-g);G(b,a,-1),G(d,a,-1==e.ins?-1:0==e.off?e.ins:0),e.forward(a),g+=a}}return{changes:new F(b,c),filtered:E.create(d)}}toJSON(){let a=[];for(let b=0;b<this.sections.length;b+=2){let c=this.sections[b],d=this.sections[b+1];d<0?a.push(c):0==d?a.push([c]):a.push([c].concat(this.inserted[b>>1].toJSON()))}return a}static of(a,b,c){let d=[],e=[],f=0,g=null;function h(a=!1){if(!a&&!d.length)return;f<b&&G(d,b-f,-1);let c=new F(d,e);g=g?g.compose(c.map(g)):c,d=[],e=[],f=0}return!function a(i){if(Array.isArray(i))for(let b of i)a(b);else if(i instanceof F){if(i.length!=b)throw RangeError(`Mismatched change set length (got ${i.length}, expected ${b})`);h(),g=g?g.compose(i.map(g)):i}else{let{from:a,to:g=a,insert:j}=i;if(a>g||a<0||g>b)throw RangeError(`Invalid change range ${a} to ${g} (in doc of length ${b})`);let k=j?"string"==typeof j?n.of(j.split(c||A)):j:n.empty,l=k.length;if(a==g&&0==l)return;a<f&&h(),a>f&&G(d,a-f,-1),G(d,g-a,l),H(e,d,k),f=g}}(a),h(!g),g}static empty(a){return new F(a?[a,-1]:[],[])}static fromJSON(a){if(!Array.isArray(a))throw RangeError("Invalid JSON representation of ChangeSet");let b=[],c=[];for(let d=0;d<a.length;d++){let e=a[d];if("number"==typeof e)b.push(e,-1);else if(!Array.isArray(e)||"number"!=typeof e[0]||e.some((a,b)=>b&&"string"!=typeof a))throw RangeError("Invalid JSON representation of ChangeSet");else if(1==e.length)b.push(e[0],0);else{for(;c.length<d;)c.push(n.empty);c[d]=n.of(e.slice(1)),b.push(e[0],c[d].length)}}return new F(b,c)}static createSet(a,b){return new F(a,b)}}function G(a,b,c,d=!1){if(0==b&&c<=0)return;let e=a.length-2;e>=0&&c<=0&&c==a[e+1]?a[e]+=b:e>=0&&0==b&&0==a[e]?a[e+1]+=c:d?(a[e]+=b,a[e+1]+=c):a.push(b,c)}function H(a,b,c){if(0==c.length)return;let d=b.length-2>>1;if(d<a.length)a[a.length-1]=a[a.length-1].append(c);else{for(;a.length<d;)a.push(n.empty);a.push(c)}}function I(a,b,c){let d=a.inserted;for(let e=0,f=0,g=0;g<a.sections.length;){let h=a.sections[g++],i=a.sections[g++];if(i<0)e+=h,f+=h;else{let j=e,k=f,l=n.empty;for(;j+=h,k+=i,i&&d&&(l=l.append(d[g-2>>1])),!c&&g!=a.sections.length&&!(a.sections[g+1]<0);)h=a.sections[g++],i=a.sections[g++];b(e,j,f,k,l),e=j,f=k}}}function J(a,b,c,d=!1){let e=[],f=d?[]:null,g=new L(a),h=new L(b);for(let a=-1;;)if(g.done&&h.len||h.done&&g.len)throw Error("Mismatched change set lengths");else if(-1==g.ins&&-1==h.ins){let a=Math.min(g.len,h.len);G(e,a,-1),g.forward(a),h.forward(a)}else if(h.ins>=0&&(g.ins<0||a==g.i||0==g.off&&(h.len<g.len||h.len==g.len&&!c))){let b=h.len;for(G(e,h.ins,-1);b;){let c=Math.min(g.len,b);g.ins>=0&&a<g.i&&g.len<=c&&(G(e,0,g.ins),f&&H(f,e,g.text),a=g.i),g.forward(c),b-=c}h.next()}else if(g.ins>=0){let b=0,c=g.len;for(;c;)if(-1==h.ins){let a=Math.min(c,h.len);b+=a,c-=a,h.forward(a)}else if(0==h.ins&&h.len<c)c-=h.len,h.next();else break;G(e,b,a<g.i?g.ins:0),f&&a<g.i&&H(f,e,g.text),a=g.i,g.forward(g.len-c)}else if(g.done&&h.done)return f?F.createSet(e,f):E.create(e);else throw Error("Mismatched change set lengths")}function K(a,b,c=!1){let d=[],e=c?[]:null,f=new L(a),g=new L(b);for(let a=!1;;)if(f.done&&g.done)return e?F.createSet(d,e):E.create(d);else if(0==f.ins)G(d,f.len,0,a),f.next();else if(0!=g.len||g.done)if(f.done||g.done)throw Error("Mismatched change set lengths");else{let b=Math.min(f.len2,g.len),c=d.length;if(-1==f.ins){let c=-1==g.ins?-1:g.off?0:g.ins;G(d,b,c,a),e&&c&&H(e,d,g.text)}else -1==g.ins?(G(d,f.off?0:f.len,b,a),e&&H(e,d,f.textBit(b))):(G(d,f.off?0:f.len,g.off?0:g.ins,a),e&&!g.off&&H(e,d,g.text));a=(f.ins>b||g.ins>=0&&g.len>b)&&(a||d.length>c),f.forward2(b),g.forward(b)}else G(d,0,g.ins,a),e&&H(e,d,g.text),g.next()}class L{constructor(a){this.set=a,this.i=0,this.next()}next(){let{sections:a}=this.set;this.i<a.length?(this.len=a[this.i++],this.ins=a[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return -2==this.ins}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:a}=this.set,b=this.i-2>>1;return b>=a.length?n.empty:a[b]}textBit(a){let{inserted:b}=this.set,c=this.i-2>>1;return c>=b.length&&!a?n.empty:b[c].slice(this.off,null==a?void 0:this.off+a)}forward(a){a==this.len?this.next():(this.len-=a,this.off+=a)}forward2(a){-1==this.ins?this.forward(a):a==this.ins?this.next():(this.ins-=a,this.off+=a)}}class M{constructor(a,b,c,d){this.from=a,this.to=b,this.flags=c,this.goalColumn=d}get anchor(){return 32&this.flags?this.to:this.from}get head(){return 32&this.flags?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return 8&this.flags?-1:16&this.flags?1:0}get undirectional(){return(64&this.flags)>0}get bidiLevel(){let a=7&this.flags;return 7==a?null:a}map(a,b=-1){let c,d;return this.empty?c=d=a.mapPos(this.from,b):(c=a.mapPos(this.from,1),d=a.mapPos(this.to,-1)),c==this.from&&d==this.to?this:new M(c,d,this.flags,this.goalColumn)}extend(a,b=a,c=0){if(a<=this.anchor&&b>=this.anchor)return N.range(a,b,void 0,void 0,c);let d=Math.abs(a-this.anchor)>Math.abs(b-this.anchor)?a:b;return N.range(this.anchor,d,void 0,void 0,c)}eq(a,b=!1){return this.anchor==a.anchor&&this.head==a.head&&this.goalColumn==a.goalColumn&&(!b||!this.empty||this.assoc==a.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(a){if(!a||"number"!=typeof a.anchor||"number"!=typeof a.head)throw RangeError("Invalid JSON representation for SelectionRange");return N.range(a.anchor,a.head)}static create(a,b,c,d){return new M(a,b,c,d)}}class N{constructor(a,b){this.ranges=a,this.mainIndex=b}map(a,b=-1){return a.empty?this:N.create(this.ranges.map(c=>c.map(a,b)),this.mainIndex)}eq(a,b=!1){if(this.ranges.length!=a.ranges.length||this.mainIndex!=a.mainIndex)return!1;for(let c=0;c<this.ranges.length;c++)if(!this.ranges[c].eq(a.ranges[c],b))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return 1==this.ranges.length?this:new N([this.main],0)}addRange(a,b=!0){return N.create([a].concat(this.ranges),b?0:this.mainIndex+1)}replaceRange(a,b=this.mainIndex){let c=this.ranges.slice();return c[b]=a,N.create(c,this.mainIndex)}toJSON(){return{ranges:this.ranges.map(a=>a.toJSON()),main:this.mainIndex}}static fromJSON(a){if(!a||!Array.isArray(a.ranges)||"number"!=typeof a.main||a.main>=a.ranges.length)throw RangeError("Invalid JSON representation for EditorSelection");return new N(a.ranges.map(a=>M.fromJSON(a)),a.main)}static single(a,b=a){return new N([N.range(a,b)],0)}static create(a,b=0){if(0==a.length)throw RangeError("A selection needs at least one range");for(let c=0,d=0;d<a.length;d++){let e=a[d];if(e.empty?e.from<=c:e.from<c)return N.normalized(a.slice(),b);c=e.to}return new N(a,b)}static cursor(a,b=0,c,d){return M.create(a,a,(0==b?0:b<0?8:16)|(null==c?7:Math.min(6,c)),d)}static range(a,b,c,d,e){let f=null==d?7:Math.min(6,d);return e||a==b||(e=b<a?1:-1),e&&(f|=e<0?8:16),b<a?M.create(b,a,32|f,c):M.create(a,b,f,c)}static undirectionalRange(a,b){return M.create(a,b,64,void 0)}static normalized(a,b=0){let c=a[b];a.sort((a,b)=>a.from-b.from),b=a.indexOf(c);for(let c=1;c<a.length;c++){let d=a[c],e=a[c-1];if(d.empty?d.from<=e.to:d.from<e.to){let f=e.from,g=Math.max(d.to,e.to);c<=b&&b--,a.splice(--c,2,d.anchor>d.head?N.range(g,f):N.range(f,g))}}return new N(a,b)}}function O(a,b){for(let c of a.ranges)if(c.to>b)throw RangeError("Selection points outside of document")}let P=0;class Q{constructor(a,b,c,d,e){this.combine=a,this.compareInput=b,this.compare=c,this.isStatic=d,this.id=P++,this.default=a([]),this.extensions="function"==typeof e?e(this):e}get reader(){return this}static define(a={}){return new Q(a.combine||(a=>a),a.compareInput||((a,b)=>a===b),a.compare||(!a.combine?R:(a,b)=>a===b),!!a.static,a.enables)}of(a){return new S([],this,0,a)}compute(a,b){if(this.isStatic)throw Error("Can't compute a static facet");return new S(a,this,1,b)}computeN(a,b){if(this.isStatic)throw Error("Can't compute a static facet");return new S(a,this,2,b)}from(a,b){return b||(b=a=>a),this.compute([a],c=>b(c.field(a)))}}function R(a,b){return a==b||a.length==b.length&&a.every((a,c)=>a===b[c])}class S{constructor(a,b,c,d){this.dependencies=a,this.facet=b,this.type=c,this.value=d,this.id=P++}dynamicSlot(a){var b;let c=this.value,d=this.facet.compareInput,e=this.id,f=a[e]>>1,g=2==this.type,h=!1,i=!1,j=[];for(let c of this.dependencies)"doc"==c?h=!0:"selection"==c?i=!0:((null!=(b=a[c.id])?b:1)&1)==0&&j.push(a[c.id]);return{create:a=>(a.values[f]=c(a),1),update(a,b){if(h&&b.docChanged||i&&(b.docChanged||b.selection)||U(a,j)){let b=c(a);if(g?!T(b,a.values[f],d):!d(b,a.values[f]))return a.values[f]=b,1}return 0},reconfigure:(a,b)=>{let h,i=b.config.address[e];if(null!=i){let e=ac(b,i);if(this.dependencies.every(c=>c instanceof Q?b.facet(c)===a.facet(c):!(c instanceof W)||b.field(c,!1)==a.field(c,!1))||(g?T(h=c(a),e,d):d(h=c(a),e)))return a.values[f]=e,0}else h=c(a);return a.values[f]=h,1}}}}function T(a,b,c){if(a.length!=b.length)return!1;for(let d=0;d<a.length;d++)if(!c(a[d],b[d]))return!1;return!0}function U(a,b){let c=!1;for(let d of b)1&ab(a,d)&&(c=!0);return c}let V=Q.define({static:!0});class W{constructor(a,b,c,d,e){this.id=a,this.createF=b,this.updateF=c,this.compareF=d,this.spec=e,this.provides=void 0}static define(a){let b=new W(P++,a.create,a.update,a.compare||((a,b)=>a===b),a);return a.provide&&(b.provides=a.provide(b)),b}create(a){let b=a.facet(V).find(a=>a.field==this);return((null==b?void 0:b.create)||this.createF)(a)}slot(a){let b=a[this.id]>>1;return{create:a=>(a.values[b]=this.create(a),1),update:(a,c)=>{let d=a.values[b],e=this.updateF(d,c);return this.compareF(d,e)?0:(a.values[b]=e,1)},reconfigure:(a,c)=>{let d=a.facet(V),e=c.facet(V),f;return(f=d.find(a=>a.field==this))&&f!=e.find(a=>a.field==this)?(a.values[b]=f.create(a),1):null!=c.config.address[this.id]?(a.values[b]=c.field(this),0):(a.values[b]=this.create(a),1)}}}init(a){return[this,V.of({field:this,create:a})]}get extension(){return this}}function X(a){return b=>new Z(b,a)}let Y={highest:X(0),high:X(1),default:X(2),low:X(3),lowest:X(4)};class Z{constructor(a,b){this.inner=a,this.prec=b}}class ${of(a){return new _(this,a)}reconfigure(a){return $.reconfigure.of({compartment:this,extension:a})}get(a){return a.config.compartments.get(this)}}class _{constructor(a,b){this.compartment=a,this.inner=b}}class aa{constructor(a,b,c,d,e,f){for(this.base=a,this.compartments=b,this.dynamicSlots=c,this.address=d,this.staticValues=e,this.facets=f,this.statusTemplate=[];this.statusTemplate.length<c.length;)this.statusTemplate.push(0)}staticFacet(a){let b=this.address[a.id];return null==b?a.default:this.staticValues[b>>1]}static resolve(a,b,c){var d,e,f;let g,h,i=[],j=Object.create(null),k=new Map;for(let c of(d=a,e=b,f=k,g=[[],[],[],[],[]],h=new Map,!function a(b,c){let d=h.get(b);if(null!=d){if(d<=c)return;let a=g[d].indexOf(b);a>-1&&g[d].splice(a,1),b instanceof _&&f.delete(b.compartment)}if(h.set(b,c),Array.isArray(b))for(let d of b)a(d,c);else if(b instanceof _){if(f.has(b.compartment))throw RangeError("Duplicate use of compartment in extensions");let d=e.get(b.compartment)||b.inner;f.set(b.compartment,d),a(d,c)}else if(b instanceof Z)a(b.inner,b.prec);else if(b instanceof W)g[c].push(b),b.provides&&a(b.provides,c);else if(b instanceof S)g[c].push(b),b.facet.extensions&&a(b.facet.extensions,2);else{let d=b.extension;if(!d)throw Error(`Unrecognized extension value in extension set (${b}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);a(d,c)}}(d,2),g.reduce((a,b)=>a.concat(b))))c instanceof W?i.push(c):(j[c.facet.id]||(j[c.facet.id]=[])).push(c);let l=Object.create(null),m=[],n=[];for(let a of i)l[a.id]=n.length<<1,n.push(b=>a.slot(b));let o=null==c?void 0:c.config.facets;for(let a in j){let b=j[a],d=b[0].facet,e=o&&o[a]||[];if(b.every(a=>0==a.type))if(l[d.id]=m.length<<1|1,R(e,b))m.push(c.facet(d));else{let a=d.combine(b.map(a=>a.value));m.push(c&&d.compare(a,c.facet(d))?c.facet(d):a)}else{for(let a of b)0==a.type?(l[a.id]=m.length<<1|1,m.push(a.value)):(l[a.id]=n.length<<1,n.push(b=>a.dynamicSlot(b)));l[d.id]=n.length<<1,n.push(a=>(function(a,b,c){let d=c.map(b=>a[b.id]),e=c.map(a=>a.type),f=d.filter(a=>!(1&a)),g=a[b.id]>>1;function h(a){let c=[];for(let b=0;b<d.length;b++){let f=ac(a,d[b]);if(2==e[b])for(let a of f)c.push(a);else c.push(f)}return b.combine(c)}return{create(a){for(let b of d)ab(a,b);return a.values[g]=h(a),1},update(a,c){if(!U(a,f))return 0;let d=h(a);return b.compare(d,a.values[g])?0:(a.values[g]=d,1)},reconfigure(a,e){let f=U(a,d),i=e.config.facets[b.id],j=e.facet(b);if(i&&!f&&R(c,i))return a.values[g]=j,0;let k=h(a);return b.compare(k,j)?(a.values[g]=j,0):(a.values[g]=k,1)}}})(a,d,b))}}return new aa(a,k,n.map(a=>a(l)),l,m,j)}}function ab(a,b){if(1&b)return 2;let c=b>>1,d=a.status[c];if(4==d)throw Error("Cyclic dependency between fields and/or facets");if(2&d)return d;a.status[c]=4;let e=a.computeSlot(a,a.config.dynamicSlots[c]);return a.status[c]=2|e}function ac(a,b){return 1&b?a.config.staticValues[b>>1]:a.values[b>>1]}let ad=Q.define(),ae=Q.define({combine:a=>a.some(a=>a),static:!0}),af=Q.define({combine:a=>a.length?a[0]:void 0,static:!0}),ag=Q.define(),ah=Q.define(),ai=Q.define(),aj=Q.define({combine:a=>!!a.length&&a[0]});class ak{constructor(a,b){this.type=a,this.value=b}static define(){return new al}}class al{of(a){return new ak(this,a)}}class am{constructor(a){this.map=a}of(a){return new an(this,a)}}class an{constructor(a,b){this.type=a,this.value=b}map(a){let b=this.type.map(this.value,a);return void 0===b?void 0:b==this.value?this:new an(this.type,b)}is(a){return this.type==a}static define(a={}){return new am(a.map||(a=>a))}static mapEffects(a,b){if(!a.length)return a;let c=[];for(let d of a){let a=d.map(b);a&&c.push(a)}return c}}an.reconfigure=an.define(),an.appendConfig=an.define();class ao{constructor(a,b,c,d,e,f){this.startState=a,this.changes=b,this.selection=c,this.effects=d,this.annotations=e,this.scrollIntoView=f,this._doc=null,this._state=null,c&&O(c,b.newLength),e.some(a=>a.type==ao.time)||(this.annotations=e.concat(ao.time.of(Date.now())))}static create(a,b,c,d,e,f){return new ao(a,b,c,d,e,f)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(a){for(let b of this.annotations)if(b.type==a)return b.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(a){let b=this.annotation(ao.userEvent);return!!(b&&(b==a||b.length>a.length&&b.slice(0,a.length)==a&&"."==b[a.length]))}}function ap(a,b,c){var d;let e,f,g;return c?(e=b.changes,f=F.empty(b.changes.length),g=a.changes.compose(b.changes)):(e=b.changes.map(a.changes),f=a.changes.mapDesc(b.changes,!0),g=a.changes.compose(e)),{changes:g,selection:b.selection?b.selection.map(f):null==(d=a.selection)?void 0:d.map(e),effects:an.mapEffects(a.effects,e).concat(an.mapEffects(b.effects,f)),annotations:a.annotations.length?a.annotations.concat(b.annotations):b.annotations,scrollIntoView:a.scrollIntoView||b.scrollIntoView}}function aq(a,b,c){let d=b.selection,e=as(b.annotations);return b.userEvent&&(e=e.concat(ao.userEvent.of(b.userEvent))),{changes:b.changes instanceof F?b.changes:F.of(b.changes||[],c,a.facet(af)),selection:d&&(d instanceof N?d:N.single(d.anchor,d.head)),effects:as(b.effects),annotations:e,scrollIntoView:!!b.scrollIntoView}}ao.time=ak.define(),ao.userEvent=ak.define(),ao.addToHistory=ak.define(),ao.remote=ak.define();let ar=[];function as(a){return null==a?ar:Array.isArray(a)?a:[a]}var at=((C=at||(at={}))[C.Word=0]="Word",C[C.Space=1]="Space",C[C.Other=2]="Other",C);let au=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;try{d=RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch(a){}class av{constructor(a,b,c,d,e,f){this.config=a,this.doc=b,this.selection=c,this.values=d,this.status=a.statusTemplate.slice(),this.computeSlot=e,f&&(f._state=this);for(let a=0;a<this.config.dynamicSlots.length;a++)ab(this,a<<1);this.computeSlot=null}field(a,b=!0){let c=this.config.address[a.id];if(null==c){if(b)throw RangeError("Field is not present in this state");return}return ab(this,c),ac(this,c)}update(...a){return function a(b,c,d){let e=aq(b,c.length?c[0]:{},b.doc.length);c.length&&!1===c[0].filter&&(d=!1);for(let a=1;a<c.length;a++){!1===c[a].filter&&(d=!1);let f=!!c[a].sequential;e=ap(e,aq(b,c[a],f?e.changes.newLength:b.doc.length),f)}let f=ao.create(b,e.changes,e.selection,e.effects,e.annotations,e.scrollIntoView);return function(a){let b=a.startState,c=b.facet(ai),d=a;for(let e=c.length-1;e>=0;e--){let f=c[e](a);f&&Object.keys(f).length&&(d=ap(d,aq(b,f,a.changes.newLength),!0))}return d==a?a:ao.create(b,a.changes,a.selection,d.effects,d.annotations,d.scrollIntoView)}(d?function(b){let c=b.startState,d=!0;for(let a of c.facet(ag)){let c=a(b);if(!1===c){d=!1;break}Array.isArray(c)&&(d=!0===d?c:function(a,b){let c=[];for(let d=0,e=0;;){let f,g;if(d<a.length&&(e==b.length||b[e]>=a[d]))f=a[d++],g=a[d++];else{if(!(e<b.length))return c;f=b[e++],g=b[e++]}!c.length||c[c.length-1]<f?c.push(f,g):c[c.length-1]<g&&(c[c.length-1]=g)}}(d,c))}if(!0!==d){let a,e;if(!1===d)e=b.changes.invertedDesc,a=F.empty(c.doc.length);else{let c=b.changes.filter(d);a=c.changes,e=c.filtered.mapDesc(c.changes).invertedDesc}b=ao.create(c,a,b.selection&&b.selection.map(e),an.mapEffects(b.effects,e),b.annotations,b.scrollIntoView)}let e=c.facet(ah);for(let d=e.length-1;d>=0;d--){let f=e[d](b);b=f instanceof ao?f:Array.isArray(f)&&1==f.length&&f[0]instanceof ao?f[0]:a(c,as(f),!1)}return b}(f):f)}(this,a,!0)}applyTransaction(a){let b,c=this.config,{base:d,compartments:e}=c;for(let b of a.effects)b.is($.reconfigure)?(c&&(e=new Map,c.compartments.forEach((a,b)=>e.set(b,a)),c=null),e.set(b.value.compartment,b.value.extension)):b.is(an.reconfigure)?(c=null,d=b.value):b.is(an.appendConfig)&&(c=null,d=as(d).concat(b.value));b=c?a.startState.values.slice():new av(c=aa.resolve(d,e,this),this.doc,this.selection,c.dynamicSlots.map(()=>null),(a,b)=>b.reconfigure(a,this),null).values;let f=a.startState.facet(ae)?a.newSelection:a.newSelection.asSingle();new av(c,a.newDoc,f,b,(b,c)=>c.update(b,a),a)}replaceSelection(a){return"string"==typeof a&&(a=this.toText(a)),this.changeByRange(b=>({changes:{from:b.from,to:b.to,insert:a},range:N.cursor(b.from+a.length)}))}changeByRange(a){let b=this.selection,c=a(b.ranges[0]),d=this.changes(c.changes),e=[c.range],f=as(c.effects);for(let c=1;c<b.ranges.length;c++){let g=a(b.ranges[c]),h=this.changes(g.changes),i=h.map(d);for(let a=0;a<c;a++)e[a]=e[a].map(i);let j=d.mapDesc(h,!0);e.push(g.range.map(j)),d=d.compose(i),f=an.mapEffects(f,i).concat(an.mapEffects(as(g.effects),j))}return{changes:d,selection:N.create(e,b.mainIndex),effects:f}}changes(a=[]){return a instanceof F?a:F.of(a,this.doc.length,this.facet(av.lineSeparator))}toText(a){return n.of(a.split(this.facet(av.lineSeparator)||A))}sliceDoc(a=0,b=this.doc.length){return this.doc.sliceString(a,b,this.lineBreak)}facet(a){let b=this.config.address[a.id];return null==b?a.default:(ab(this,b),ac(this,b))}toJSON(a){let b={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(a)for(let c in a){let d=a[c];d instanceof W&&null!=this.config.address[d.id]&&(b[c]=d.spec.toJSON(this.field(a[c]),this))}return b}static fromJSON(a,b={},c){if(!a||"string"!=typeof a.doc)throw RangeError("Invalid JSON representation for EditorState");let d=[];if(c){for(let b in c)if(Object.prototype.hasOwnProperty.call(a,b)){let e=c[b],f=a[b];d.push(e.init(a=>e.spec.fromJSON(f,a)))}}return av.create({doc:a.doc,selection:N.fromJSON(a.selection),extensions:b.extensions?d.concat([b.extensions]):d})}static create(a={}){let b=aa.resolve(a.extensions||[],new Map),c=a.doc instanceof n?a.doc:n.of((a.doc||"").split(b.staticFacet(av.lineSeparator)||A)),d=a.selection?a.selection instanceof N?a.selection:N.single(a.selection.anchor,a.selection.head):N.single(0);return O(d,c.length),b.staticFacet(ae)||(d=d.asSingle()),new av(b,c,d,b.dynamicSlots.map(()=>null),(a,b)=>b.create(a),null)}get tabSize(){return this.facet(av.tabSize)}get lineBreak(){return this.facet(av.lineSeparator)||"\n"}get readOnly(){return this.facet(aj)}phrase(a,...b){for(let b of this.facet(av.phrases))if(Object.prototype.hasOwnProperty.call(b,a)){a=b[a];break}return b.length&&(a=a.replace(/\$(\$|\d*)/g,(a,c)=>{if("$"==c)return"$";let d=+(c||1);return!d||d>b.length?a:b[d-1]})),a}languageDataAt(a,b,c=-1){let d=[];for(let e of this.facet(ad))for(let f of e(this,b,c))Object.prototype.hasOwnProperty.call(f,a)&&d.push(f[a]);return d}charCategorizer(a){var b;let c=this.languageDataAt("wordChars",a);return b=c.length?c[0]:"",a=>{if(!/\S/.test(a))return at.Space;if(function(a){if(d)return d.test(a);for(let b=0;b<a.length;b++){let c=a[b];if(/\w/.test(c)||c>"\x80"&&(c.toUpperCase()!=c.toLowerCase()||au.test(c)))return!0}return!1}(a))return at.Word;for(let c=0;c<b.length;c++)if(a.indexOf(b[c])>-1)return at.Word;return at.Other}}wordAt(a){let{text:b,from:c,length:d}=this.doc.lineAt(a),e=this.charCategorizer(a),f=a-c,g=a-c;for(;f>0;){let a=w(b,f,!1);if(e(b.slice(a,f))!=at.Word)break;f=a}for(;g<d;){let a=w(b,g);if(e(b.slice(g,a))!=at.Word)break;g=a}return f==g?null:N.range(f+c,g+c)}}function aw(a,b,c={}){let d={};for(let b of a)for(let a of Object.keys(b)){let e=b[a],f=d[a];if(void 0===f)d[a]=e;else if(f===e||void 0===e);else if(Object.hasOwnProperty.call(c,a))d[a]=c[a](f,e);else throw Error("Config merge conflict for field "+a)}for(let a in b)void 0===d[a]&&(d[a]=b[a]);return d}av.allowMultipleSelections=ae,av.tabSize=Q.define({combine:a=>a.length?a[0]:4}),av.lineSeparator=af,av.readOnly=aj,av.phrases=Q.define({compare(a,b){let c=Object.keys(a),d=Object.keys(b);return c.length==d.length&&c.every(c=>a[c]==b[c])}}),av.languageData=ad,av.changeFilter=ag,av.transactionFilter=ah,av.transactionExtender=ai,$.reconfigure=an.define();class ax{eq(a){return this==a}range(a,b=a){return az.create(a,b,this)}}function ay(a,b){return a==b||a.constructor==b.constructor&&a.eq(b)}ax.prototype.startSide=ax.prototype.endSide=0,ax.prototype.point=!1,ax.prototype.mapMode=D.TrackDel;class az{constructor(a,b,c){this.from=a,this.to=b,this.value=c}static create(a,b,c){return new az(a,b,c)}}function aA(a,b){return a.from-b.from||a.value.startSide-b.value.startSide}class aB{constructor(a,b,c,d){this.from=a,this.to=b,this.value=c,this.maxPoint=d}get length(){return this.to[this.to.length-1]}findIndex(a,b,c,d=0){let e=c?this.to:this.from;for(let f=d,g=e.length;;){if(f==g)return f;let d=f+g>>1,h=e[d]-a||(c?this.value[d].endSide:this.value[d].startSide)-b;if(d==f)return h>=0?f:g;h>=0?g=d:f=d+1}}between(a,b,c,d){for(let e=this.findIndex(b,-1e9,!0),f=this.findIndex(c,1e9,!1,e);e<f;e++)if(!1===d(this.from[e]+a,this.to[e]+a,this.value[e]))return!1}map(a,b){let c=[],d=[],e=[],f=-1,g=-1;for(let h=0;h<this.value.length;h++){let i=this.value[h],j=this.from[h]+a,k=this.to[h]+a,l,m;if(j==k){let a=b.mapPos(j,i.startSide,i.mapMode);if(null==a||(l=m=a,i.startSide!=i.endSide&&(m=b.mapPos(j,i.endSide))<l))continue}else if((l=b.mapPos(j,i.startSide))>(m=b.mapPos(k,i.endSide))||l==m&&i.startSide>0&&i.endSide<=0)continue;0>(m-l||i.endSide-i.startSide)||(f<0&&(f=l),i.point&&(g=Math.max(g,m-l)),c.push(i),d.push(l-f),e.push(m-f))}return{mapped:c.length?new aB(d,e,c,g):null,pos:f}}}class aC{constructor(a,b,c,d){this.chunkPos=a,this.chunk=b,this.nextLayer=c,this.maxPoint=d}static create(a,b,c,d){return new aC(a,b,c,d)}get length(){let a=this.chunk.length-1;return a<0?0:Math.max(this.chunkEnd(a),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let a=this.nextLayer.size;for(let b of this.chunk)a+=b.value.length;return a}chunkEnd(a){return this.chunkPos[a]+this.chunk[a].length}update(a){let{add:b=[],sort:c=!1,filterFrom:d=0,filterTo:e=this.length}=a,f=a.filter;if(0==b.length&&!f)return this;if(c&&(b=b.slice().sort(aA)),this.isEmpty)return b.length?aC.of(b):this;let g=new aF(this,null,-1).goto(0),h=0,i=[],j=new aD;for(;g.value||h<b.length;)if(h<b.length&&(g.from-b[h].from||g.startSide-b[h].value.startSide)>=0){let a=b[h++];j.addInner(a.from,a.to,a.value)||i.push(a)}else 1==g.rangeIndex&&g.chunkIndex<this.chunk.length&&(h==b.length||this.chunkEnd(g.chunkIndex)<b[h].from)&&(!f||d>this.chunkEnd(g.chunkIndex)||e<this.chunkPos[g.chunkIndex])&&j.addChunk(this.chunkPos[g.chunkIndex],this.chunk[g.chunkIndex])?g.nextChunk():((!f||d>g.to||e<g.from||f(g.from,g.to,g.value))&&!j.addInner(g.from,g.to,g.value)&&i.push(az.create(g.from,g.to,g.value)),g.next());return j.finishInner(this.nextLayer.isEmpty&&!i.length?aC.empty:this.nextLayer.update({add:i,filter:f,filterFrom:d,filterTo:e}))}map(a){if(a.empty||this.isEmpty)return this;let b=[],c=[],d=-1;for(let e=0;e<this.chunk.length;e++){let f=this.chunkPos[e],g=this.chunk[e],h=a.touchesRange(f,f+g.length);if(!1===h)d=Math.max(d,g.maxPoint),b.push(g),c.push(a.mapPos(f));else if(!0===h){let{mapped:e,pos:h}=g.map(f,a);e&&(d=Math.max(d,e.maxPoint),b.push(e),c.push(h))}}let e=this.nextLayer.map(a);return 0==b.length?e:new aC(c,b,e||aC.empty,d)}between(a,b,c){if(!this.isEmpty){for(let d=0;d<this.chunk.length;d++){let e=this.chunkPos[d],f=this.chunk[d];if(b>=e&&a<=e+f.length&&!1===f.between(e,a-e,b-e,c))return}this.nextLayer.between(a,b,c)}}iter(a=0){return aG.from([this]).goto(a)}get isEmpty(){return this.nextLayer==this}static iter(a,b=0){return aG.from(a).goto(b)}static compare(a,b,c,d,e=-1){let f=a.filter(a=>a.maxPoint>0||!a.isEmpty&&a.maxPoint>=e),g=b.filter(a=>a.maxPoint>0||!a.isEmpty&&a.maxPoint>=e),h=aE(f,g,c),i=new aI(f,h,e),j=new aI(g,h,e);c.iterGaps((a,b,c)=>aJ(i,a,j,b,c,d)),c.empty&&0==c.length&&aJ(i,0,j,0,0,d)}static eq(a,b,c=0,d){null==d&&(d=0x3b9ac9ff);let e=a.filter(a=>!a.isEmpty&&0>b.indexOf(a)),f=b.filter(b=>!b.isEmpty&&0>a.indexOf(b));if(e.length!=f.length)return!1;if(!e.length)return!0;let g=aE(e,f),h=new aI(e,g,0).goto(c),i=new aI(f,g,0).goto(c);for(;;){if(h.to!=i.to||!aK(h.active,i.active)||h.point&&(!i.point||!ay(h.point,i.point)))return!1;if(h.to>d)return!0;h.next(),i.next()}}static spans(a,b,c,d,e=-1){let f=new aI(a,null,e).goto(b),g=b,h=f.openStart;for(;;){let a=Math.min(f.to,c);if(f.point){let c=f.activeForPoint(f.to),e=f.pointFrom<b?c.length+1:f.point.startSide<0?c.length:Math.min(c.length,h);d.point(g,a,f.point,c,e,f.pointRank),h=Math.min(f.openEnd(a),c.length)}else a>g&&(d.span(g,a,f.active,h),h=f.openEnd(a));if(f.to>c)return h+(f.point&&f.to>c?1:0);g=f.to,f.next()}}static of(a,b=!1){let c=new aD;for(let d of a instanceof az?[a]:b?function(a){if(a.length>1)for(let b=a[0],c=1;c<a.length;c++){let d=a[c];if(aA(b,d)>0)return a.slice().sort(aA);b=d}return a}(a):a)c.add(d.from,d.to,d.value);return c.finish()}static join(a){if(!a.length)return aC.empty;let b=a[a.length-1];for(let c=a.length-2;c>=0;c--)for(let d=a[c];d!=aC.empty;d=d.nextLayer)b=new aC(d.chunkPos,d.chunk,b,Math.max(d.maxPoint,b.maxPoint));return b}}aC.empty=new aC([],[],null,-1),aC.empty.nextLayer=aC.empty;class aD{finishChunk(a){this.chunks.push(new aB(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,a&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(a,b,c){this.addInner(a,b,c)||(this.nextLayer||(this.nextLayer=new aD)).add(a,b,c)}addInner(a,b,c){let d=a-this.lastTo||c.startSide-this.last.endSide;if(d<=0&&0>(a-this.lastFrom||c.startSide-this.last.startSide))throw Error("Ranges must be added sorted by `from` position and `startSide`");return!(d<0)&&(250==this.from.length&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=a),this.from.push(a-this.chunkStart),this.to.push(b-this.chunkStart),this.last=c,this.lastFrom=a,this.lastTo=b,this.value.push(c),c.point&&(this.maxPoint=Math.max(this.maxPoint,b-a)),!0)}addChunk(a,b){if(0>(a-this.lastTo||b.value[0].startSide-this.last.endSide))return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,b.maxPoint),this.chunks.push(b),this.chunkPos.push(a);let c=b.value.length-1;return this.last=b.value[c],this.lastFrom=b.from[c]+a,this.lastTo=b.to[c]+a,!0}finish(){return this.finishInner(aC.empty)}finishInner(a){if(this.from.length&&this.finishChunk(!1),0==this.chunks.length)return a;let b=aC.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(a):a,this.setMaxPoint);return this.from=null,b}}function aE(a,b,c){let d=new Map;for(let b of a)for(let a=0;a<b.chunk.length;a++)b.chunk[a].maxPoint<=0&&d.set(b.chunk[a],b.chunkPos[a]);let e=new Set;for(let a of b)for(let b=0;b<a.chunk.length;b++){let f=d.get(a.chunk[b]);null==f||(c?c.mapPos(f):f)!=a.chunkPos[b]||(null==c?void 0:c.touchesRange(f,f+a.chunk[b].length))||e.add(a.chunk[b])}return e}class aF{constructor(a,b,c,d=0){this.layer=a,this.skip=b,this.minPoint=c,this.rank=d}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(a,b=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(a,b,!1),this}gotoInner(a,b,c){for(;this.chunkIndex<this.layer.chunk.length;){let b=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(b)||this.layer.chunkEnd(this.chunkIndex)<a||b.maxPoint<this.minPoint))break;this.chunkIndex++,c=!1}if(this.chunkIndex<this.layer.chunk.length){let d=this.layer.chunk[this.chunkIndex].findIndex(a-this.layer.chunkPos[this.chunkIndex],b,!0);(!c||this.rangeIndex<d)&&this.setRangeIndex(d)}this.next()}forward(a,b){0>(this.to-a||this.endSide-b)&&this.gotoInner(a,b,!0)}next(){for(;;)if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}else{let a=this.layer.chunkPos[this.chunkIndex],b=this.layer.chunk[this.chunkIndex],c=a+b.from[this.rangeIndex];if(this.from=c,this.to=a+b.to[this.rangeIndex],this.value=b.value[this.rangeIndex],this.setRangeIndex(this.rangeIndex+1),this.minPoint<0||this.value.point&&this.to-this.from>=this.minPoint)break}}setRangeIndex(a){if(a==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex<this.layer.chunk.length&&this.skip.has(this.layer.chunk[this.chunkIndex]);)this.chunkIndex++;this.rangeIndex=0}else this.rangeIndex=a}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(a){return this.from-a.from||this.startSide-a.startSide||this.rank-a.rank||this.to-a.to||this.endSide-a.endSide}}class aG{constructor(a){this.heap=a}static from(a,b=null,c=-1){let d=[];for(let e=0;e<a.length;e++)for(let f=a[e];!f.isEmpty;f=f.nextLayer)f.maxPoint>=c&&d.push(new aF(f,b,c,e));return 1==d.length?d[0]:new aG(d)}get startSide(){return this.value?this.value.startSide:0}goto(a,b=-1e9){for(let c of this.heap)c.goto(a,b);for(let a=this.heap.length>>1;a>=0;a--)aH(this.heap,a);return this.next(),this}forward(a,b){for(let c of this.heap)c.forward(a,b);for(let a=this.heap.length>>1;a>=0;a--)aH(this.heap,a);0>(this.to-a||this.value.endSide-b)&&this.next()}next(){if(0==this.heap.length)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let a=this.heap[0];this.from=a.from,this.to=a.to,this.value=a.value,this.rank=a.rank,a.value&&a.next(),aH(this.heap,0)}}}function aH(a,b){for(let c=a[b];;){let d=(b<<1)+1;if(d>=a.length)break;let e=a[d];if(d+1<a.length&&e.compare(a[d+1])>=0&&(e=a[d+1],d++),0>c.compare(e))break;a[d]=c,a[b]=e,b=d}}class aI{constructor(a,b,c){this.minPoint=c,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=aG.from(a,b,c)}goto(a,b=-1e9){return this.cursor.goto(a,b),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=a,this.endSide=b,this.openStart=-1,this.next(),this}forward(a,b){for(;this.minActive>-1&&0>(this.activeTo[this.minActive]-a||this.active[this.minActive].endSide-b);)this.removeActive(this.minActive);this.cursor.forward(a,b)}removeActive(a){aL(this.active,a),aL(this.activeTo,a),aL(this.activeRank,a),this.minActive=aN(this.active,this.activeTo)}addActive(a){let b=0,{value:c,to:d,rank:e}=this.cursor;for(;b<this.activeRank.length&&(e-this.activeRank[b]||d-this.activeTo[b])>0;)b++;aM(this.active,b,c),aM(this.activeTo,b,d),aM(this.activeRank,b,e),a&&aM(a,b,this.cursor.from),this.minActive=aN(this.active,this.activeTo)}next(){let a=this.to,b=this.point;this.point=null;let c=this.openStart<0?[]:null;for(;;){let d=this.minActive;if(d>-1&&0>(this.activeTo[d]-this.cursor.from||this.active[d].endSide-this.cursor.startSide)){if(this.activeTo[d]>a){this.to=this.activeTo[d],this.endSide=this.active[d].endSide;break}this.removeActive(d),c&&aL(c,d)}else if(this.cursor.value)if(this.cursor.from>a){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let a=this.cursor.value;if(a.point)if(b&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to)this.cursor.next();else{this.point=a,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=a.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}else this.addActive(c),this.cursor.next()}else{this.to=this.endSide=1e9;break}}if(c){this.openStart=0;for(let b=c.length-1;b>=0&&c[b]<a;b--)this.openStart++}}activeForPoint(a){if(!this.active.length)return this.active;let b=[];for(let c=this.active.length-1;c>=0&&!(this.activeRank[c]<this.pointRank);c--)(this.activeTo[c]>a||this.activeTo[c]==a&&this.active[c].endSide>=this.point.endSide)&&b.push(this.active[c]);return b.reverse()}openEnd(a){let b=0;for(let c=this.activeTo.length-1;c>=0&&this.activeTo[c]>a;c--)b++;return b}}function aJ(a,b,c,d,e,f){a.goto(b),c.goto(d);let g=d+e,h=d,i=d-b,j=!!f.boundChange;for(let b=!1;;){let d=a.to+i-c.to,e=d||a.endSide-c.endSide,k=e<0?a.to+i:c.to,l=Math.min(k,g);if(a.point||c.point?(a.point&&c.point&&ay(a.point,c.point)&&aK(a.activeForPoint(a.to),c.activeForPoint(c.to))||f.comparePoint(h,l,a.point,c.point),b=!1):(b&&f.boundChange(h),l>h&&!aK(a.active,c.active)&&f.compareRange(h,l,a.active,c.active),j&&l<g&&(d||a.openEnd(k)!=c.openEnd(k))&&(b=!0)),k>g)break;h=k,e<=0&&a.next(),e>=0&&c.next()}}function aK(a,b){if(a.length!=b.length)return!1;for(let c=0;c<a.length;c++)if(a[c]!=b[c]&&!ay(a[c],b[c]))return!1;return!0}function aL(a,b){for(let c=b,d=a.length-1;c<d;c++)a[c]=a[c+1];a.pop()}function aM(a,b,c){for(let c=a.length-1;c>=b;c--)a[c+1]=a[c];a[b]=c}function aN(a,b){let c=-1,d=1e9;for(let e=0;e<b.length;e++)0>(b[e]-d||a[e].endSide-a[c].endSide)&&(c=e,d=b[e]);return c}function aO(a,b,c=a.length){let d=0;for(let e=0;e<c&&e<a.length;)9==a.charCodeAt(e)?(d+=b-d%b,e++):(d++,e=w(a,e));return d}function aP(a,b,c,d){for(let d=0,e=0;;){if(e>=b)return d;if(d==a.length)break;e+=9==a.charCodeAt(d)?c-e%c:1,d=w(a,d)}return!0===d?-1:a.length}},60230:(a,b,c)=>{function d(){var a=arguments[0];"string"==typeof a&&(a=document.createElement(a));var b=1,c=arguments[1];if(c&&"object"==typeof c&&null==c.nodeType&&!Array.isArray(c)){for(var d in c)if(Object.prototype.hasOwnProperty.call(c,d)){var e=c[d];"string"==typeof e?a.setAttribute(d,e):null!=e&&(a[d]=e)}b++}for(;b<arguments.length;b++)!function a(b,c){if("string"==typeof c)b.appendChild(document.createTextNode(c));else if(null==c);else if(null!=c.nodeType)b.appendChild(c);else if(Array.isArray(c))for(var d=0;d<c.length;d++)a(b,c[d]);else throw RangeError("Unsupported child node: "+c)}(a,arguments[b]);return a}c.d(b,{A:()=>d})},64735:(a,b,c)=>{c.d(b,{G:()=>g});let d="u"<typeof Symbol?"__ͼ":Symbol.for("ͼ"),e="u"<typeof Symbol?"__styleSet"+Math.floor(1e8*Math.random()):Symbol("styleSet"),f="u">typeof globalThis?globalThis:"u">typeof window?window:{};class g{constructor(a,b){this.rules=[];let{finish:c}=b||{};function d(a){return/^@/.test(a)?[a]:a.split(/,\s*/)}for(let b in a)!function a(b,e,f,g){let h=[],i=/^@(\w+)\b/.exec(b[0]),j=i&&"keyframes"==i[1];if(i&&null==e)return f.push(b[0]+";");for(let c in e){let g=e[c];if(/&/.test(c))a(c.split(/,\s*/).map(a=>b.map(b=>a.replace(/&/,b))).reduce((a,b)=>a.concat(b)),g,f);else if(g&&"object"==typeof g){if(!i)throw RangeError("The value of a property ("+c+") should be a primitive value.");a(d(c),g,h,j)}else null!=g&&h.push(c.replace(/_.*/,"").replace(/[A-Z]/g,a=>"-"+a.toLowerCase())+": "+g+";")}(h.length||j)&&f.push((c&&!i&&!g?b.map(c):b).join(", ")+" {"+h.join(" ")+"}")}(d(b),a[b],this.rules)}getRules(){return this.rules.join("\n")}static newName(){let a=f[d]||1;return f[d]=a+1,"ͼ"+a.toString(36)}static mount(a,b,c){let d=a[e],f=c&&c.nonce;d?f&&d.setNonce(f):d=new i(a,f),d.mount(Array.isArray(b)?b:[b],a)}}let h=new Map;class i{constructor(a,b){let c=a.ownerDocument||a,d=c.defaultView;if(!a.head&&a.adoptedStyleSheets&&d.CSSStyleSheet){let b=h.get(c);if(b)return a[e]=b;this.sheet=new d.CSSStyleSheet,h.set(c,this)}else this.styleTag=c.createElement("style"),b&&this.styleTag.setAttribute("nonce",b);this.modules=[],a[e]=this}mount(a,b){let c=this.sheet,d=0,e=0;for(let b=0;b<a.length;b++){let f=a[b],g=this.modules.indexOf(f);if(g<e&&g>-1&&(this.modules.splice(g,1),e--,g=-1),-1==g){if(this.modules.splice(e++,0,f),c)for(let a=0;a<f.rules.length;a++)c.insertRule(f.rules[a],d++)}else{for(;e<g;)d+=this.modules[e++].rules.length;d+=f.rules.length,e++}}if(c)0>b.adoptedStyleSheets.indexOf(this.sheet)&&(b.adoptedStyleSheets=[this.sheet,...b.adoptedStyleSheets]);else{let a="";for(let b=0;b<this.modules.length;b++)a+=this.modules[b].getRules()+"\n";this.styleTag.textContent=a;let c=b.head||b;this.styleTag.parentNode!=c&&c.insertBefore(this.styleTag,c.firstChild)}}setNonce(a){this.styleTag&&this.styleTag.getAttribute("nonce")!=a&&this.styleTag.setAttribute("nonce",a)}}},68267:(a,b,c)=>{c.d(b,{bM:()=>q});var d=c(36554),e=c(17680),f=c(43398);let g="#e06c75",h="#abb2bf",i="#7d8799",j="#d19a66",k="#2c313a",l="#282c34",m="#353a42",n="#528bff",o=d.Lz.theme({"&":{color:h,backgroundColor:l},".cm-content":{caretColor:n},".cm-cursor, .cm-dropCursor":{borderLeftColor:n},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:"#3E4451"},".cm-panels":{backgroundColor:"#21252b",color:h},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:l,color:i,border:"none"},".cm-activeLineGutter":{backgroundColor:k},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:m},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:m,borderBottomColor:m},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:k,color:h}}},{dark:!0}),p=e.cr.define([{tag:f._A.keyword,color:"#c678dd"},{tag:[f._A.name,f._A.deleted,f._A.character,f._A.propertyName,f._A.macroName],color:g},{tag:[f._A.function(f._A.variableName),f._A.labelName],color:"#61afef"},{tag:[f._A.color,f._A.constant(f._A.name),f._A.standard(f._A.name)],color:j},{tag:[f._A.definition(f._A.name),f._A.separator],color:h},{tag:[f._A.typeName,f._A.className,f._A.number,f._A.changed,f._A.annotation,f._A.modifier,f._A.self,f._A.namespace],color:"#e5c07b"},{tag:[f._A.operator,f._A.operatorKeyword,f._A.url,f._A.escape,f._A.regexp,f._A.link,f._A.special(f._A.string)],color:"#56b6c2"},{tag:[f._A.meta,f._A.comment],color:i},{tag:f._A.strong,fontWeight:"bold"},{tag:f._A.emphasis,fontStyle:"italic"},{tag:f._A.strikethrough,textDecoration:"line-through"},{tag:f._A.link,color:i,textDecoration:"underline"},{tag:f._A.heading,fontWeight:"bold",color:g},{tag:[f._A.atom,f._A.bool,f._A.special(f._A.variableName)],color:j},{tag:[f._A.processingInstruction,f._A.string,f._A.inserted],color:"#98c379"},{tag:f._A.invalid,color:"#ffffff"}]),q=[o,(0,e.y9)(p)]},73768:(a,b,c)=>{c.d(b,{b6:()=>s,cL:()=>G,pw:()=>aC});var d=c(44072),e=c(36554),f=c(17680),g=c(22751);function h(a,b){return({state:c,dispatch:d})=>{if(c.readOnly)return!1;let e=a(b,c);return!!e&&(d(c.update(e)),!0)}}let i=h(function(a,b,c=b.selection.ranges){let d=[],e=-1;e:for(let{from:a,to:f}of c){let c=d.length,g=1e9,h;for(let c=a;c<=f;){let i=b.doc.lineAt(c);if(void 0==h&&!(h=l(b,i.from).line))continue e;if(i.from>e&&(a==f||f>i.from)){e=i.from;let a=/^\s*/.exec(i.text)[0].length,b=a==i.length,c=i.text.slice(a,a+h.length)==h?a:-1;a<i.text.length&&a<g&&(g=a),d.push({line:i,comment:c,token:h,indent:a,empty:b,single:!1})}c=i.to+1}if(g<1e9)for(let a=c;a<d.length;a++)d[a].indent<d[a].line.text.length&&(d[a].indent=g);d.length==c+1&&(d[c].single=!0)}if(2!=a&&d.some(a=>a.comment<0&&(!a.empty||a.single))){let a=[];for(let{line:b,token:c,indent:e,empty:f,single:g}of d)(g||!f)&&a.push({from:b.from+e,insert:c+" "});let c=b.changes(a);return{changes:c,selection:b.selection.map(c,1)}}if(1!=a&&d.some(a=>a.comment>=0)){let a=[];for(let{line:b,comment:c,token:e}of d)if(c>=0){let d=b.from+c,f=d+e.length;" "==b.text[f-b.from]&&f++,a.push({from:d,to:f})}return{changes:a}}return null},0),j=h(m,0),k=h((a,b)=>m(a,b,function(a){let b=[];for(let c of a.selection.ranges){let d=a.doc.lineAt(c.from),e=c.to<=d.to?d:a.doc.lineAt(c.to);e.from>d.from&&e.from==c.to&&(e=c.to==d.to+1?d:a.doc.lineAt(c.to-1));let f=b.length-1;f>=0&&b[f].to>d.from?b[f].to=e.to:b.push({from:d.from+/^\s*/.exec(d.text)[0].length,to:e.to})}return b}(b)),0);function l(a,b){let c=a.languageDataAt("commentTokens",b,1);return c.length?c[0]:{}}function m(a,b,c=b.selection.ranges){let d=c.map(a=>l(b,a.from).block);if(!d.every(a=>a))return null;let e=c.map((a,c)=>(function(a,{open:b,close:c},d,e){let f,g,h=a.sliceDoc(d-50,d),i=a.sliceDoc(e,e+50),j=/\s*$/.exec(h)[0].length,k=/^\s*/.exec(i)[0].length,l=h.length-j;if(h.slice(l-b.length,l)==b&&i.slice(k,k+c.length)==c)return{open:{pos:d-j,margin:j&&1},close:{pos:e+k,margin:k&&1}};e-d<=100?f=g=a.sliceDoc(d,e):(f=a.sliceDoc(d,d+50),g=a.sliceDoc(e-50,e));let m=/^\s*/.exec(f)[0].length,n=/\s*$/.exec(g)[0].length,o=g.length-n-c.length;return f.slice(m,m+b.length)==b&&g.slice(o,o+c.length)==c?{open:{pos:d+m+b.length,margin:+!!/\s/.test(f.charAt(m+b.length))},close:{pos:e-n-c.length,margin:+!!/\s/.test(g.charAt(o-1))}}:null})(b,d[c],a.from,a.to));if(2!=a&&!e.every(a=>a))return{changes:b.changes(c.map((a,b)=>e[b]?[]:[{from:a.from,insert:d[b].open+" "},{from:a.to,insert:" "+d[b].close}]))};if(1!=a&&e.some(a=>a)){let a=[];for(let b=0,c;b<e.length;b++)if(c=e[b]){let e=d[b],{open:f,close:g}=c;a.push({from:f.pos-e.open.length,to:f.pos+f.margin},{from:g.pos-g.margin,to:g.pos+e.close.length})}return{changes:a}}return null}let n=d.YH.define(),o=d.YH.define(),p=d.sj.define(),q=d.sj.define({combine:a=>(0,d.QR)(a,{minDepth:100,newGroupDelay:500,joinToEvent:(a,b)=>b},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(a,b)=>(c,d)=>a(c,d)||b(c,d)})}),r=d.sU.define({create:()=>F.empty,update(a,b){let c=b.state.facet(q),e=b.annotation(n);if(e){let d=y.fromTransaction(b,e.selection),f=e.side,g=0==f?a.undone:a.done;return g=d?z(g,g.length,c.minDepth,d):C(g,b.startState.selection),new F(0==f?e.rest:g,0==f?g:e.rest)}let f=b.annotation(o);if(("full"==f||"before"==f)&&(a=a.isolate()),!1===b.annotation(d.ZX.addToHistory))return b.changes.empty?a:a.addMapping(b.changes.desc);let g=y.fromTransaction(b),h=b.annotation(d.ZX.time),i=b.annotation(d.ZX.userEvent);return g?a=a.addChanges(g,h,i,c,b):b.selection&&(a=a.addSelection(b.startState.selection,h,i,c.newGroupDelay)),("full"==f||"after"==f)&&(a=a.isolate()),a},toJSON:a=>({done:a.done.map(a=>a.toJSON()),undone:a.undone.map(a=>a.toJSON())}),fromJSON:a=>new F(a.done.map(y.fromJSON),a.undone.map(y.fromJSON))});function s(a={}){return[r,q.of(a),e.Lz.domEventHandlers({beforeinput(a,b){let c="historyUndo"==a.inputType?u:"historyRedo"==a.inputType?v:null;return!!c&&(a.preventDefault(),c(b))}})]}function t(a,b){return function({state:c,dispatch:d}){if(!b&&c.readOnly)return!1;let e=c.field(r,!1);if(!e)return!1;let f=e.pop(a,c,b);return!!f&&(d(f),!0)}}let u=t(0,!1),v=t(1,!1),w=t(0,!0),x=t(1,!0);class y{constructor(a,b,c,d,e){this.changes=a,this.effects=b,this.mapped=c,this.startSelection=d,this.selectionsAfter=e}setSelAfter(a){return new y(this.changes,this.effects,this.mapped,this.startSelection,a)}toJSON(){var a,b,c;return{changes:null==(a=this.changes)?void 0:a.toJSON(),mapped:null==(b=this.mapped)?void 0:b.toJSON(),startSelection:null==(c=this.startSelection)?void 0:c.toJSON(),selectionsAfter:this.selectionsAfter.map(a=>a.toJSON())}}static fromJSON(a){return new y(a.changes&&d.VR.fromJSON(a.changes),[],a.mapped&&d.Gu.fromJSON(a.mapped),a.startSelection&&d.OF.fromJSON(a.startSelection),a.selectionsAfter.map(d.OF.fromJSON))}static fromTransaction(a,b){let c=B;for(let b of a.startState.facet(p)){let d=b(a);d.length&&(c=c.concat(d))}return!c.length&&a.changes.empty?null:new y(a.changes.invert(a.startState.doc),c,void 0,b||a.startState.selection,B)}static selection(a){return new y(void 0,B,void 0,void 0,a)}}function z(a,b,c,d){let e=a.slice(b+1>c+20?b-c-1:0,b);return e.push(d),e}function A(a,b){return a.length?b.length?a.concat(b):a:b}let B=[];function C(a,b){if(!a.length)return[y.selection([b])];{let c=a[a.length-1],d=c.selectionsAfter.slice(Math.max(0,c.selectionsAfter.length-200));return d.length&&d[d.length-1].eq(b)?a:(d.push(b),z(a,a.length-1,1e9,c.setSelAfter(d)))}}function D(a,b){if(!a.length)return a;let c=a.length,e=B;for(;c;){let f=function(a,b,c){let e=A(a.selectionsAfter.length?a.selectionsAfter.map(a=>a.map(b)):B,c);if(!a.changes)return y.selection(e);let f=a.changes.map(b),g=b.mapDesc(a.changes,!0),h=a.mapped?a.mapped.composeDesc(g):g;return new y(f,d.Pe.mapEffects(a.effects,b),h,a.startSelection.map(g),e)}(a[c-1],b,e);if(f.changes&&!f.changes.empty||f.effects.length){let b=a.slice(0,c);return b[c-1]=f,b}b=f.mapped,c--,e=f.selectionsAfter}return e.length?[y.selection(e)]:B}let E=/^(input\.type|delete)($|\.)/;class F{constructor(a,b,c=0,d){this.done=a,this.undone=b,this.prevTime=c,this.prevUserEvent=d}isolate(){return this.prevTime?new F(this.done,this.undone):this}addChanges(a,b,c,e,f){var g,h;let i,j,k=this.done,l=k[k.length-1];return new F(k=l&&l.changes&&!l.changes.empty&&a.changes&&(!c||E.test(c))&&(!l.selectionsAfter.length&&b-this.prevTime<e.newGroupDelay&&e.joinToEvent(f,(g=l.changes,h=a.changes,i=[],j=!1,g.iterChangedRanges((a,b)=>i.push(a,b)),h.iterChangedRanges((a,b,c,d)=>{for(let a=0;a<i.length;){let b=i[a++],e=i[a++];d>=b&&c<=e&&(j=!0)}}),j))||"input.type.compose"==c)?z(k,k.length-1,e.minDepth,new y(a.changes.compose(l.changes),A(d.Pe.mapEffects(a.effects,l.changes),l.effects),l.mapped,l.startSelection,B)):z(k,k.length,e.minDepth,a),B,b,c)}addSelection(a,b,c,d){var e;let f=this.done.length?this.done[this.done.length-1].selectionsAfter:B;return f.length>0&&b-this.prevTime<d&&c==this.prevUserEvent&&c&&/^select($|\.)/.test(c)&&(e=f[f.length-1],e.ranges.length==a.ranges.length&&0===e.ranges.filter((b,c)=>b.empty!=a.ranges[c].empty).length)?this:new F(C(this.done,a),this.undone,b,c)}addMapping(a){return new F(D(this.done,a),D(this.undone,a),this.prevTime,this.prevUserEvent)}pop(a,b,c){let d=0==a?this.done:this.undone;if(0==d.length)return null;let e=d[d.length-1],f=e.selectionsAfter[0]||(e.startSelection?e.startSelection.map(e.changes.invertedDesc,1):b.selection);if(c&&e.selectionsAfter.length){let c,g;return b.update({selection:e.selectionsAfter[e.selectionsAfter.length-1],annotations:n.of({side:a,rest:(c=d[d.length-1],(g=d.slice())[d.length-1]=c.setSelAfter(c.selectionsAfter.slice(0,c.selectionsAfter.length-1)),g),selection:f}),userEvent:0==a?"select.undo":"select.redo",scrollIntoView:!0})}{if(!e.changes)return null;let c=1==d.length?B:d.slice(0,d.length-1);return e.mapped&&(c=D(c,e.mapped)),b.update({changes:e.changes,selection:e.startSelection,effects:e.effects,annotations:n.of({side:a,rest:c,selection:f}),filter:!1,userEvent:0==a?"undo":"redo",scrollIntoView:!0})}}}F.empty=new F(B,B);let G=[{key:"Mod-z",run:u,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:v,preventDefault:!0},{linux:"Ctrl-Shift-z",run:v,preventDefault:!0},{key:"Mod-u",run:w,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:x,preventDefault:!0}];function H(a,b){return d.OF.create(a.ranges.map(b),a.mainIndex)}function I(a,b){return a.update({selection:b,scrollIntoView:!0,userEvent:"select"})}function J({state:a,dispatch:b},c){let d=H(a.selection,c);return!d.eq(a.selection,!0)&&(b(I(a,d)),!0)}function K(a,b){return d.OF.cursor(b?a.to:a.from)}function L(a,b){return J(a,c=>c.empty?a.moveByChar(c,b):K(c,b))}function M(a){return a.textDirectionAt(a.state.selection.main.head)==e.OP.LTR}let N=a=>L(a,!M(a)),O=a=>L(a,M(a));function P(a,b){return J(a,c=>c.empty?a.moveByGroup(c,b):K(c,b))}function Q(a,b,c){let e,h,i=(0,f.mv)(a).resolveInner(b.head),j=c?g.uY.closedBy:g.uY.openedBy;for(let d=b.head;;){let b=c?i.childAfter(d):i.childBefore(d);if(!b)break;!function(a,b,c){if(b.type.prop(c))return!0;let d=b.to-b.from;return d&&(d>2||/[^\s,.;:]/.test(a.sliceDoc(b.from,b.to)))||b.firstChild}(a,b,j)?d=c?b.to:b.from:i=b}return h=i.type.prop(j)&&(e=c?(0,f.jU)(a,i.from,1):(0,f.jU)(a,i.to,-1))&&e.matched?c?e.end.to:e.end.from:c?i.to:i.from,d.OF.cursor(h,c?-1:1)}function R(a,b){return J(a,c=>{if(!c.empty)return K(c,b);let d=a.moveVertically(c,b);return d.head!=c.head?d:a.moveToLineBoundary(c,b)})}"u">typeof Intl&&Intl.Segmenter;let S=a=>R(a,!1),T=a=>R(a,!0);function U(a){let b=a.scrollDOM.clientHeight<a.scrollDOM.scrollHeight-2,c=0,d=0,f;if(b){for(let b of a.state.facet(e.Lz.scrollMargins)){let e=b(a);(null==e?void 0:e.top)&&(c=Math.max(null==e?void 0:e.top,c)),(null==e?void 0:e.bottom)&&(d=Math.max(null==e?void 0:e.bottom,d))}f=a.scrollDOM.clientHeight-c-d}else f=(a.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:c,marginBottom:d,selfScroll:b,height:Math.max(a.defaultLineHeight,f-5)}}function V(a,b){let c,d=U(a),{state:f}=a,g=H(f.selection,c=>c.empty?a.moveVertically(c,b,d.height):K(c,b));if(g.eq(f.selection))return!1;if(d.selfScroll){let b=a.coordsAtPos(f.selection.main.head),h=a.scrollDOM.getBoundingClientRect(),i=h.top+d.marginTop,j=h.bottom-d.marginBottom;b&&b.top>i&&b.bottom<j&&(c=e.Lz.scrollIntoView(g.main.head,{y:"start",yMargin:b.top-i}))}return a.dispatch(I(f,g),{effects:c}),!0}let W=a=>V(a,!1),X=a=>V(a,!0);function Y(a,b,c){let e=a.lineBlockAt(b.head),f=a.moveToLineBoundary(b,c);if(f.head==b.head&&f.head!=(c?e.to:e.from)&&(f=a.moveToLineBoundary(b,c,!1)),!c&&f.head==e.from&&e.length){let c=/^\s*/.exec(a.state.sliceDoc(e.from,Math.min(e.from+100,e.to)))[0].length;c&&b.head!=e.from+c&&(f=d.OF.cursor(e.from+c))}return f}function Z(a,b,c){let e=H(a.state.selection,a=>{a.undirectional&&a.head>=a.anchor!=b&&(a=d.OF.range(a.head,a.anchor));let e=c(a);return d.OF.range(a.anchor,e.head,e.goalColumn,e.bidiLevel||void 0,e.assoc)});return!e.eq(a.state.selection)&&(a.dispatch(I(a.state,e)),!0)}function $(a,b){return Z(a,b,c=>a.moveByChar(c,b))}let _=a=>$(a,!M(a)),aa=a=>$(a,M(a));function ab(a,b){return Z(a,b,c=>a.moveByGroup(c,b))}function ac(a,b){return Z(a,b,c=>a.moveVertically(c,b))}let ad=a=>ac(a,!1),ae=a=>ac(a,!0);function af(a,b){return Z(a,b,c=>a.moveVertically(c,b,U(a).height))}let ag=a=>af(a,!1),ah=a=>af(a,!0),ai=({state:a,dispatch:b})=>(b(I(a,{anchor:0})),!0),aj=({state:a,dispatch:b})=>(b(I(a,{anchor:a.doc.length})),!0),ak=({state:a,dispatch:b})=>(b(I(a,{anchor:a.selection.main.anchor,head:0})),!0),al=({state:a,dispatch:b})=>(b(I(a,{anchor:a.selection.main.anchor,head:a.doc.length})),!0);function am(a,b){let{state:c}=a,e=c.selection,f=c.selection.ranges.slice();for(let d of c.selection.ranges){let e=c.doc.lineAt(d.head);if(b?e.to<a.state.doc.length:e.from>0)for(let c=d;;){let d=a.moveVertically(c,b);if(d.head<e.from||d.head>e.to){f.some(a=>a.head==d.head)||f.push(d);break}if(d.head==c.head)break;c=d}}return f.length!=e.ranges.length&&(a.dispatch(I(c,d.OF.create(f,f.length-1))),!0)}function an(a,b){if(a.state.readOnly)return!1;let c="delete.selection",{state:f}=a,g=f.changeByRange(e=>{let{from:f,to:g}=e;if(f==g){let d=b(e);d<f?(c="delete.backward",d=ao(a,d,!1)):d>f&&(c="delete.forward",d=ao(a,d,!0)),f=Math.min(f,d),g=Math.max(g,d)}else f=ao(a,f,!1),g=ao(a,g,!0);return f==g?{range:e}:{changes:{from:f,to:g},range:d.OF.cursor(f,f<e.head?-1:1)}});return!g.changes.empty&&(a.dispatch(f.update(g,{scrollIntoView:!0,userEvent:c,effects:"delete.selection"==c?e.Lz.announce.of(f.phrase("Selection deleted")):void 0})),!0)}function ao(a,b,c){if(a instanceof e.Lz)for(let d of a.state.facet(e.Lz.atomicRanges).map(b=>b(a)))d.between(b,b,(a,d)=>{a<b&&d>b&&(b=c?d:a)});return b}let ap=(a,b,c)=>an(a,e=>{let g=e.from,{state:h}=a,i=h.doc.lineAt(g),j,k;if(c&&!b&&g>i.from&&g<i.from+200&&!/[^ \t]/.test(j=i.text.slice(0,g-i.from))){if(" "==j[j.length-1])return g-1;let a=(0,d.y$)(j,h.tabSize)%(0,f.tp)(h)||(0,f.tp)(h);for(let b=0;b<a&&" "==j[j.length-1-b];b++)g--;k=g}else(k=(0,d.zK)(i.text,g-i.from,b,b)+i.from)==g&&i.number!=(b?h.doc.lines:1)?k+=b?1:-1:!b&&/[\ufe00-\ufe0f]/.test(i.text.slice(k-i.from,g-i.from))&&(k=(0,d.zK)(i.text,k-i.from,!1,!1)+i.from);return k}),aq=a=>ap(a,!1,!0),ar=a=>ap(a,!0,!1),as=(a,b)=>an(a,c=>{let e=c.head,{state:f}=a,g=f.doc.lineAt(e),h=f.charCategorizer(e);for(let a=null;;){if(e==(b?g.to:g.from)){e==c.head&&g.number!=(b?f.doc.lines:1)&&(e+=b?1:-1);break}let i=(0,d.zK)(g.text,e-g.from,b)+g.from,j=g.text.slice(Math.min(e,i)-g.from,Math.max(e,i)-g.from),k=h(j);if(null!=a&&k!=a)break;(" "!=j||e!=c.head)&&(a=k),e=i}return e}),at=a=>as(a,!1);function au(a){let b=[],c=-1;for(let d of a.selection.ranges){let e=a.doc.lineAt(d.from),f=a.doc.lineAt(d.to);if(d.empty||d.to!=f.from||(f=a.doc.lineAt(d.to-1)),c>=e.number){let a=b[b.length-1];a.to=f.to,a.ranges.push(d)}else b.push({from:e.from,to:f.to,ranges:[d]});c=f.number+1}return b}function av(a,b,c){if(a.readOnly)return!1;let e=[],f=[];for(let b of au(a)){if(c?b.to==a.doc.length:0==b.from)continue;let g=a.doc.lineAt(c?b.to+1:b.from-1),h=g.length+1;if(c)for(let c of(e.push({from:b.to,to:g.to},{from:b.from,insert:g.text+a.lineBreak}),b.ranges))f.push(d.OF.range(Math.min(a.doc.length,c.anchor+h),Math.min(a.doc.length,c.head+h)));else for(let c of(e.push({from:g.from,to:b.from},{from:b.to,insert:a.lineBreak+g.text}),b.ranges))f.push(d.OF.range(c.anchor-h,c.head-h))}return!!e.length&&(b(a.update({changes:e,scrollIntoView:!0,selection:d.OF.create(f,a.selection.mainIndex),userEvent:"move.line"})),!0)}function aw(a,b,c){if(a.readOnly)return!1;let d=[];for(let b of au(a))c?d.push({from:b.from,insert:a.doc.slice(b.from,b.to)+a.lineBreak}):d.push({from:b.to,insert:a.lineBreak+a.doc.slice(b.from,b.to)});let e=a.changes(d);return b(a.update({changes:e,selection:a.selection.map(e,c?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}let ax=az(!1),ay=az(!0);function az(a){return({state:b,dispatch:c})=>{if(b.readOnly)return!1;let e=b.changeByRange(c=>{let{from:e,to:h}=c,i=b.doc.lineAt(e),j=!a&&e==h&&function(a,b){if(/\(\)|\[\]|\{\}/.test(a.sliceDoc(b-1,b+1)))return{from:b,to:b};let c=(0,f.mv)(a).resolveInner(b),d=c.childBefore(b),e=c.childAfter(b),h;return d&&e&&d.to<=b&&e.from>=b&&(h=d.type.prop(g.uY.closedBy))&&h.indexOf(e.name)>-1&&a.doc.lineAt(d.to).from==a.doc.lineAt(e.from).from&&!/\S/.test(a.sliceDoc(d.to,e.from))?{from:d.to,to:e.from}:null}(b,e);a&&(e=h=(h<=i.to?i:b.doc.lineAt(h)).to);let k=new f.KB(b,{simulateBreak:e,simulateDoubleBreak:!!j}),l=(0,f._v)(k,e);for(null==l&&(l=(0,d.y$)(/^\s*/.exec(b.doc.lineAt(e).text)[0],b.tabSize));h<i.to&&/\s/.test(i.text[h-i.from]);)h++;j?{from:e,to:h}=j:e>i.from&&e<i.from+100&&!/\S/.test(i.text.slice(0,e))&&(e=i.from);let m=["",(0,f.EI)(b,l)];return j&&m.push((0,f.EI)(b,k.lineIndent(i.from,-1))),{changes:{from:e,to:h,insert:d.EY.of(m)},range:d.OF.cursor(e+1+m[1].length)}});return c(b.update(e,{scrollIntoView:!0,userEvent:"input"})),!0}}function aA(a,b){let c=-1;return a.changeByRange(e=>{let f=[];for(let d=e.from;d<=e.to;){let g=a.doc.lineAt(d);g.number>c&&(e.empty||e.to>g.from)&&(b(g,f,e),c=g.number),d=g.to+1}let g=a.changes(f);return{changes:f,range:d.OF.range(g.mapPos(e.anchor,1),g.mapPos(e.head,1))}})}let aB=[{key:"Ctrl-b",run:N,shift:_,preventDefault:!0},{key:"Ctrl-f",run:O,shift:aa},{key:"Ctrl-p",run:S,shift:ad},{key:"Ctrl-n",run:T,shift:ae},{key:"Ctrl-a",run:a=>J(a,b=>d.OF.cursor(a.lineBlockAt(b.head).from,1)),shift:a=>Z(a,!1,b=>d.OF.cursor(a.lineBlockAt(b.head).from))},{key:"Ctrl-e",run:a=>J(a,b=>d.OF.cursor(a.lineBlockAt(b.head).to,-1)),shift:a=>Z(a,!0,b=>d.OF.cursor(a.lineBlockAt(b.head).to))},{key:"Ctrl-d",run:ar},{key:"Ctrl-h",run:aq},{key:"Ctrl-k",run:a=>an(a,b=>{let c=a.lineBlockAt(b.head).to;return b.head<c?c:Math.min(a.state.doc.length,b.head+1)})},{key:"Ctrl-Alt-h",run:at},{key:"Ctrl-o",run:({state:a,dispatch:b})=>{if(a.readOnly)return!1;let c=a.changeByRange(a=>({changes:{from:a.from,to:a.to,insert:d.EY.of(["",""])},range:d.OF.cursor(a.from)}));return b(a.update(c,{scrollIntoView:!0,userEvent:"input"})),!0}},{key:"Ctrl-t",run:({state:a,dispatch:b})=>{if(a.readOnly)return!1;let c=a.changeByRange(b=>{if(!b.empty||0==b.from||b.from==a.doc.length)return{range:b};let c=b.from,e=a.doc.lineAt(c),f=c==e.from?c-1:(0,d.zK)(e.text,c-e.from,!1)+e.from,g=c==e.to?c+1:(0,d.zK)(e.text,c-e.from,!0)+e.from;return{changes:{from:f,to:g,insert:a.doc.slice(c,g).append(a.doc.slice(f,c))},range:d.OF.cursor(g)}});return!c.changes.empty&&(b(a.update(c,{scrollIntoView:!0,userEvent:"move.character"})),!0)}},{key:"Ctrl-v",run:X}],aC=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:a=>J(a,b=>Q(a.state,b,!M(a))),shift:a=>{let b=!M(a);return Z(a,b,c=>Q(a.state,c,b))}},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:a=>J(a,b=>Q(a.state,b,M(a))),shift:a=>{let b=M(a);return Z(a,b,c=>Q(a.state,c,b))}},{key:"Alt-ArrowUp",run:({state:a,dispatch:b})=>av(a,b,!1)},{key:"Shift-Alt-ArrowUp",run:({state:a,dispatch:b})=>aw(a,b,!1)},{key:"Alt-ArrowDown",run:({state:a,dispatch:b})=>av(a,b,!0)},{key:"Shift-Alt-ArrowDown",run:({state:a,dispatch:b})=>aw(a,b,!0)},{key:"Mod-Alt-ArrowUp",run:a=>am(a,!1)},{key:"Mod-Alt-ArrowDown",run:a=>am(a,!0)},{key:"Escape",run:({state:a,dispatch:b})=>{let c=a.selection,e=null;return c.ranges.length>1?e=d.OF.create([c.main]):c.main.empty||(e=d.OF.create([d.OF.cursor(c.main.head)])),!!e&&(b(I(a,e)),!0)}},{key:"Mod-Enter",run:ay},{key:"Alt-l",mac:"Ctrl-l",run:({state:a,dispatch:b})=>{let c=au(a).map(({from:b,to:c})=>d.OF.range(b,Math.min(c+1,a.doc.length)));return b(a.update({selection:d.OF.create(c),userEvent:"select"})),!0}},{key:"Mod-i",run:({state:a,dispatch:b})=>{let c=H(a.selection,b=>{let c=(0,f.mv)(a),e=c.resolveStack(b.from,1);if(b.empty){let a=c.resolveStack(b.from,-1);a.node.from>=e.node.from&&a.node.to<=e.node.to&&(e=a)}for(let a=e;a;a=a.next){let{node:c}=a;if((c.from<b.from&&c.to>=b.to||c.to>b.to&&c.from<=b.from)&&a.next)return d.OF.range(c.to,c.from)}return b});return!c.eq(a.selection)&&(b(I(a,c)),!0)},preventDefault:!0},{key:"Mod-[",run:({state:a,dispatch:b})=>!a.readOnly&&(b(a.update(aA(a,(b,c)=>{let e=/^\s*/.exec(b.text)[0];if(!e)return;let g=(0,d.y$)(e,a.tabSize),h=0,i=(0,f.EI)(a,Math.max(0,g-(0,f.tp)(a)));for(;h<e.length&&h<i.length&&e.charCodeAt(h)==i.charCodeAt(h);)h++;c.push({from:b.from+h,to:b.from+e.length,insert:i.slice(h)})}),{userEvent:"delete.dedent"})),!0)},{key:"Mod-]",run:({state:a,dispatch:b})=>!a.readOnly&&(b(a.update(aA(a,(b,c)=>{c.push({from:b.from,insert:a.facet(f.Xt)})}),{userEvent:"input.indent"})),!0)},{key:"Mod-Alt-\\",run:({state:a,dispatch:b})=>{if(a.readOnly)return!1;let c=Object.create(null),d=new f.KB(a,{overrideIndentation:a=>{let b=c[a];return null==b?-1:b}}),e=aA(a,(b,e,g)=>{let h=(0,f._v)(d,b.from);if(null==h)return;/\S/.test(b.text)||(h=0);let i=/^\s*/.exec(b.text)[0],j=(0,f.EI)(a,h);(i!=j||g.from<b.from+i.length)&&(c[b.from]=h,e.push({from:b.from,to:b.from+i.length,insert:j}))});return e.changes.empty||b(a.update(e,{userEvent:"indent"})),!0}},{key:"Shift-Mod-k",run:a=>{if(a.state.readOnly)return!1;let{state:b}=a,c=b.changes(au(b).map(({from:a,to:c})=>(a>0?a--:c<b.doc.length&&c++,{from:a,to:c}))),d=H(b.selection,b=>{let c;if(a.lineWrapping){let d=a.lineBlockAt(b.head),e=a.coordsAtPos(b.head,b.assoc||1);e&&(c=d.bottom+a.documentTop-e.bottom+a.defaultLineHeight/2)}return a.moveVertically(b,!0,c)}).map(c);return a.dispatch({changes:c,selection:d,scrollIntoView:!0,userEvent:"delete.line"}),!0}},{key:"Shift-Mod-\\",run:({state:a,dispatch:b})=>{let c,e;return c=!1,e=H(a.selection,b=>{let e=(0,f.jU)(a,b.head,-1)||(0,f.jU)(a,b.head,1)||b.head>0&&(0,f.jU)(a,b.head-1,1)||b.head<a.doc.length&&(0,f.jU)(a,b.head+1,-1);if(!e||!e.end)return b;c=!0;let g=e.start.from==b.head?e.end.to:e.end.from;return d.OF.cursor(g)}),!!c&&(b(I(a,e)),!0)}},{key:"Mod-/",run:a=>{let{state:b}=a,c=b.doc.lineAt(b.selection.main.from),d=l(a.state,c.from);return d.line?i(a):!!d.block&&k(a)}},{key:"Alt-A",run:j},{key:"Ctrl-m",mac:"Shift-Alt-m",run:a=>(a.setTabFocusMode(),!0)}].concat([{key:"ArrowLeft",run:N,shift:_,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:a=>P(a,!M(a)),shift:a=>ab(a,!M(a)),preventDefault:!0},{mac:"Cmd-ArrowLeft",run:a=>J(a,b=>Y(a,b,!M(a))),shift:a=>{let b=!M(a);return Z(a,b,c=>Y(a,c,b))},preventDefault:!0},{key:"ArrowRight",run:O,shift:aa,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:a=>P(a,M(a)),shift:a=>ab(a,M(a)),preventDefault:!0},{mac:"Cmd-ArrowRight",run:a=>J(a,b=>Y(a,b,M(a))),shift:a=>{let b=M(a);return Z(a,b,c=>Y(a,c,b))},preventDefault:!0},{key:"ArrowUp",run:S,shift:ad,preventDefault:!0},{mac:"Cmd-ArrowUp",run:ai,shift:ak},{mac:"Ctrl-ArrowUp",run:W,shift:ag},{key:"ArrowDown",run:T,shift:ae,preventDefault:!0},{mac:"Cmd-ArrowDown",run:aj,shift:al},{mac:"Ctrl-ArrowDown",run:X,shift:ah},{key:"PageUp",run:W,shift:ag},{key:"PageDown",run:X,shift:ah},{key:"Home",run:a=>J(a,b=>Y(a,b,!1)),shift:a=>Z(a,!1,b=>Y(a,b,!1)),preventDefault:!0},{key:"Mod-Home",run:ai,shift:ak},{key:"End",run:a=>J(a,b=>Y(a,b,!0)),shift:a=>Z(a,!0,b=>Y(a,b,!0)),preventDefault:!0},{key:"Mod-End",run:aj,shift:al},{key:"Enter",run:ax,shift:ax},{key:"Mod-a",run:({state:a,dispatch:b})=>(b(a.update({selection:{anchor:0,head:a.doc.length},userEvent:"select"})),!0)},{key:"Backspace",run:aq,shift:aq,preventDefault:!0},{key:"Delete",run:ar,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:at,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:a=>as(a,!0),preventDefault:!0},{mac:"Mod-Backspace",run:a=>an(a,b=>{let c=a.moveToLineBoundary(b,!1).head;return b.head>c?c:Math.max(0,b.head-1)}),preventDefault:!0},{mac:"Mod-Delete",run:a=>an(a,b=>{let c=a.moveToLineBoundary(b,!0).head;return b.head<c?c:Math.min(a.state.doc.length,b.head+1)}),preventDefault:!0}].concat(aB.map(a=>({mac:a.key,run:a.run,shift:a.shift}))))}};
|
|
1
|
+
"use strict";exports.id=8363,exports.ids=[8363],exports.modules={1970:(a,b,c)=>{c.d(b,{Eo:()=>R});var d=c(36554),e=c(44072),f=c(60230);let g="function"==typeof String.prototype.normalize?a=>a.normalize("NFKD"):a=>a;class h{constructor(a,b,c=0,d=a.length,e,f){this.test=f,this.value={from:0,to:0,precise:!1},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=a.iterRange(c,d),this.bufferStart=c,this.normalize=e?a=>e(g(a)):g,this.query=this.normalize(b)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return -1;this.bufferPos=0,this.buffer=this.iter.value}return(0,e.vS)(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let a=this.peek();if(a<0)return this.done=!0,this;let b=(0,e.MK)(a),c=this.bufferStart+this.bufferPos;this.bufferPos+=(0,e.Fh)(a);let d=this.normalize(b);if(d.length)for(let a=0,e=c,f=!0;;a++){let c=d.charCodeAt(a),g=this.match(c,e,f,this.bufferPos+this.bufferStart,a==d.length-1);if(g)return this.value=g,this;if(a==d.length-1)break;f&&a<b.length&&b.charCodeAt(a)==c?e++:f=!1}}}match(a,b,c,d,e){let f=null;for(let b=0;b<this.matches.length;){let c=this.matches[b],g=!1;this.query.charCodeAt(c.index)==a&&(c.index==this.query.length-1?f={from:c.from,to:d,precise:e&&c.precise}:(c.index++,g=!0)),g?b++:this.matches.splice(b,1)}return this.query.charCodeAt(0)==a&&(1==this.query.length?f={from:b,to:d,precise:c&&e}:this.matches.push({from:b,index:1,precise:c})),f&&this.test&&!this.test(f.from,f.to,this.buffer,this.bufferStart)&&(f=null),f}}"u">typeof Symbol&&(h.prototype[Symbol.iterator]=function(){return this});let i={from:-1,to:-1,match:/.*/.exec(""),precise:!0},j="gm"+(null==/x/.unicode?"":"u");class k{constructor(a,b,c,d=0,e=a.length){if(this.text=a,this.to=e,this.curLine="",this.done=!1,this.value=i,/\\[sWDnr]|\n|\r|\[\^/.test(b))return new n(a,b,c,d,e);this.re=new RegExp(b,j+((null==c?void 0:c.ignoreCase)?"i":"")),this.test=null==c?void 0:c.test,this.iter=a.iter();let f=a.lineAt(d);this.curLineStart=f.from,this.matchPos=o(a,d),this.getLine(this.curLineStart)}getLine(a){this.iter.next(a),this.iter.lineBreak?this.curLine="":(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let a=this.matchPos-this.curLineStart;;){this.re.lastIndex=a;let b=this.matchPos<=this.to&&this.re.exec(this.curLine);if(b){let c=this.curLineStart+b.index,d=c+b[0].length;if(this.matchPos=o(this.text,d+ +(c==d)),c==this.curLineStart+this.curLine.length&&this.nextLine(),(c<d||c>this.value.to)&&(!this.test||this.test(c,d,b)))return this.value={from:c,to:d,precise:!0,match:b},this;a=this.matchPos-this.curLineStart}else{if(!(this.curLineStart+this.curLine.length<this.to))return this.done=!0,this;this.nextLine(),a=0}}}}let l=new WeakMap;class m{constructor(a,b){this.from=a,this.text=b}get to(){return this.from+this.text.length}static get(a,b,c){let d=l.get(a);if(!d||d.from>=c||d.to<=b){let d=new m(b,a.sliceString(b,c));return l.set(a,d),d}if(d.from==b&&d.to==c)return d;let{text:e,from:f}=d;return f>b&&(e=a.sliceString(b,f)+e,f=b),d.to<c&&(e+=a.sliceString(d.to,c)),l.set(a,new m(f,e)),new m(b,e.slice(b-f,c-f))}}class n{constructor(a,b,c,d,e){this.text=a,this.to=e,this.done=!1,this.value=i,this.matchPos=o(a,d),this.re=new RegExp(b,j+((null==c?void 0:c.ignoreCase)?"i":"")),this.test=null==c?void 0:c.test,this.flat=m.get(a,d,this.chunkEnd(d+5e3))}chunkEnd(a){return a>=this.to?this.to:this.text.lineAt(a).to}next(){for(;;){let a=this.re.lastIndex=this.matchPos-this.flat.from,b=this.re.exec(this.flat.text);if(b&&!b[0]&&b.index==a&&(this.re.lastIndex=a+1,b=this.re.exec(this.flat.text)),b){let a=this.flat.from+b.index,c=a+b[0].length;if((this.flat.to>=this.to||b.index+b[0].length<=this.flat.text.length-10)&&(!this.test||this.test(a,c,b)))return this.value={from:a,to:c,precise:!0,match:b},this.matchPos=o(this.text,c+ +(a==c)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=m.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+2*this.flat.text.length))}}}function o(a,b){if(b>=a.length)return b;let c=a.lineAt(b),d;for(;b<c.to&&(d=c.text.charCodeAt(b-c.from))>=56320&&d<57344;)b++;return b}"u">typeof Symbol&&(k.prototype[Symbol.iterator]=n.prototype[Symbol.iterator]=function(){return this});let p=e.sj.define({combine:a=>(0,e.QR)(a,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:a=>new S(a),scrollToMatch:a=>d.Lz.scrollIntoView(a)})});class q{constructor(a){this.search=a.search,this.caseSensitive=!!a.caseSensitive,this.literal=!!a.literal,this.regexp=!!a.regexp,this.replace=a.replace||"",this.valid=!!this.search&&(!this.regexp||function(a){try{return new RegExp(a,j),!0}catch(a){return!1}}(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!a.wholeWord,this.test=a.test}unquote(a){return this.literal?a:a.replace(/\\([nrt\\])/g,(a,b)=>"n"==b?"\n":"r"==b?"\r":"t"==b?" ":"\\")}eq(a){return this.search==a.search&&this.replace==a.replace&&this.caseSensitive==a.caseSensitive&&this.regexp==a.regexp&&this.wholeWord==a.wholeWord&&this.test==a.test}create(){return this.regexp?new x(this):new t(this)}getCursor(a,b=0,c){let d=a.doc?a:e.$t.create({doc:a});return null==c&&(c=d.doc.length),this.regexp?u(this,d,b,c):s(this,d,b,c)}}class r{constructor(a){this.spec=a}}function s(a,b,c,d){var f,g,i,j;let k;return a.wholeWord&&(i=b.doc,j=b.charCategorizer(b.selection.main.head),k=(a,b,c,d)=>((d>a||d+c.length<b)&&(d=Math.max(0,a-2),c=i.sliceString(d,Math.min(i.length,b+2))),(j(v(c,a-d))!=e.Je.Word||j(w(c,a-d))!=e.Je.Word)&&(j(w(c,b-d))!=e.Je.Word||j(v(c,b-d))!=e.Je.Word))),a.test&&(f=a.test,g=k,k=(a,c,d,e)=>(!g||!!g(a,c,d,e))&&f(a>=e&&c<=e+d.length?d.slice(a-e,c-e):b.doc.sliceString(a,c),b,a,c)),new h(b.doc,a.unquoted,c,d,a.caseSensitive?void 0:a=>a.toLowerCase(),k)}class t extends r{constructor(a){super(a)}nextMatch(a,b,c){let d=s(this.spec,a,c,a.doc.length).nextOverlapping();if(d.done){let c=Math.min(a.doc.length,b+this.spec.unquoted.length);d=s(this.spec,a,0,c).nextOverlapping()}return d.done||d.value.from==b&&d.value.to==c?null:d.value}prevMatchInRange(a,b,c){for(let d=c;;){let c=Math.max(b,d-1e4-this.spec.unquoted.length),e=s(this.spec,a,c,d),f=null;for(;!e.nextOverlapping().done;)f=e.value;if(f)return f;if(c==b)return null;d-=1e4}}prevMatch(a,b,c){let d=this.prevMatchInRange(a,0,b);return d||(d=this.prevMatchInRange(a,Math.max(0,c-this.spec.unquoted.length),a.doc.length)),d&&(d.from!=b||d.to!=c)?d:null}getReplacement(a){return this.spec.unquote(this.spec.replace)}matchAll(a,b){let c=s(this.spec,a,0,a.doc.length),d=[];for(;!c.next().done;){if(d.length>=b)return null;d.push(c.value)}return d}highlight(a,b,c,d){let e=s(this.spec,a,Math.max(0,b-this.spec.unquoted.length),Math.min(c+this.spec.unquoted.length,a.doc.length));for(;!e.next().done;)d(e.value.from,e.value.to)}}function u(a,b,c,d){var f,g,h;let i;return a.wholeWord&&(h=b.charCategorizer(b.selection.main.head),i=(a,b,c)=>!c[0].length||(h(v(c.input,c.index))!=e.Je.Word||h(w(c.input,c.index))!=e.Je.Word)&&(h(w(c.input,c.index+c[0].length))!=e.Je.Word||h(v(c.input,c.index+c[0].length))!=e.Je.Word)),a.test&&(f=a.test,g=i,i=(a,c,d)=>(!g||g(a,c,d))&&f(d[0],b,a,c)),new k(b.doc,a.search,{ignoreCase:!a.caseSensitive,test:i},c,d)}function v(a,b){return a.slice((0,e.zK)(a,b,!1),b)}function w(a,b){return a.slice(b,(0,e.zK)(a,b))}class x extends r{nextMatch(a,b,c){let d=u(this.spec,a,c,a.doc.length).next();return d.done&&(d=u(this.spec,a,0,b).next()),d.done?null:d.value}prevMatchInRange(a,b,c){for(let d=1;;d++){let e=Math.max(b,c-1e4*d),f=u(this.spec,a,e,c),g=null;for(;!f.next().done;)g=f.value;if(g&&(e==b||g.from>e+10))return g;if(e==b)return null}}prevMatch(a,b,c){return this.prevMatchInRange(a,0,b)||this.prevMatchInRange(a,c,a.doc.length)}getReplacement(a){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(b,c)=>{if("&"==c)return a.match[0];if("$"==c)return"$";for(let b=c.length;b>0;b--){let d=+c.slice(0,b);if(d>0&&d<a.match.length)return a.match[d]+c.slice(b)}return b})}matchAll(a,b){let c=u(this.spec,a,0,a.doc.length),d=[];for(;!c.next().done;){if(d.length>=b)return null;d.push(c.value)}return d}highlight(a,b,c,d){let e=u(this.spec,a,Math.max(0,b-250),Math.min(c+250,a.doc.length));for(;!e.next().done;)d(e.value.from,e.value.to)}}let y=e.Pe.define(),z=e.Pe.define(),A=e.sU.define({create:a=>new B(M(a).create(),null),update(a,b){for(let c of b.effects)c.is(y)?a=new B(c.value.create(),a.panel):c.is(z)&&(a=new B(a.query,c.value?L:null));return a},provide:a=>d.S7.from(a,a=>a.panel)});class B{constructor(a,b){this.query=a,this.panel=b}}let C=d.NZ.mark({class:"cm-searchMatch"}),D=d.NZ.mark({class:"cm-searchMatch cm-searchMatch-selected"}),E=d.Z9.fromClass(class{constructor(a){this.view=a,this.decorations=this.highlight(a.state.field(A))}update(a){let b=a.state.field(A);(b!=a.startState.field(A)||a.docChanged||a.selectionSet||a.viewportChanged)&&(this.decorations=this.highlight(b))}highlight({query:a,panel:b}){if(!b||!a.spec.valid)return d.NZ.none;let{view:c}=this,f=new e.vB;for(let b=0,d=c.visibleRanges,e=d.length;b<e;b++){let{from:g,to:h}=d[b];for(;b<e-1&&h>d[b+1].from-500;)h=d[++b].to;a.highlight(c.state,g,h,(a,b)=>{let d=c.state.selection.ranges.some(c=>c.from==a&&c.to==b);f.add(a,b,d?D:C)})}return f.finish()}},{decorations:a=>a.decorations});function F(a){return b=>{let c=b.state.field(A,!1);return c&&c.query.spec.valid?a(b,c):P(b)}}let G=F((a,{query:b})=>{let{to:c}=a.state.selection.main,d=b.nextMatch(a.state,c,c);if(!d)return!1;let f=e.OF.single(d.from,d.to),g=a.state.facet(p);return a.dispatch({selection:f,effects:[V(a,d),g.scrollToMatch(f.main,a)],userEvent:"select.search"}),O(a),!0}),H=F((a,{query:b})=>{let{state:c}=a,{from:d}=c.selection.main,f=b.prevMatch(c,d,d);if(!f)return!1;let g=e.OF.single(f.from,f.to),h=a.state.facet(p);return a.dispatch({selection:g,effects:[V(a,f),h.scrollToMatch(g.main,a)],userEvent:"select.search"}),O(a),!0}),I=F((a,{query:b})=>{let c=b.matchAll(a.state,1e3);return!!c&&!!c.length&&(a.dispatch({selection:e.OF.create(c.map(a=>e.OF.range(a.from,a.to))),userEvent:"select.search.matches"}),!0)}),J=F((a,{query:b})=>{let{state:c}=a,{from:f,to:g}=c.selection.main;if(c.readOnly)return!1;let h=b.nextMatch(c,f,f);if(!h)return!1;let i=h,j=[],k,l,m=[];i.precise?i.from==f&&i.to==g&&(l=c.toText(b.getReplacement(i)),j.push({from:i.from,to:i.to,insert:l}),i=b.nextMatch(c,i.from,i.to),m.push(d.Lz.announce.of(c.phrase("replaced match on line $",c.doc.lineAt(f).number)+"."))):i=b.nextMatch(c,i.from,i.to);let n=a.state.changes(j);return i&&(k=e.OF.single(i.from,i.to).map(n),m.push(V(a,i)),m.push(c.facet(p).scrollToMatch(k.main,a))),a.dispatch({changes:n,selection:k,effects:m,userEvent:"input.replace"}),!0}),K=F((a,{query:b})=>{if(a.state.readOnly)return!1;let c=[];for(let d of b.matchAll(a.state,1e9)){let{from:a,to:e,precise:f}=d;f&&c.push({from:a,to:e,insert:b.getReplacement(d)})}if(!c.length)return!1;let e=a.state.phrase("replaced $ matches",c.length)+".";return a.dispatch({changes:c,effects:d.Lz.announce.of(e),userEvent:"input.replace.all"}),!0});function L(a){return a.state.facet(p).createPanel(a)}function M(a,b){var c,d,e,f,g;let h=a.selection.main,i=h.empty||h.to>h.from+100?"":a.sliceDoc(h.from,h.to);if(b&&!i)return b;let j=a.facet(p);return new q({search:(null!=(c=null==b?void 0:b.literal)?c:j.literal)?i:i.replace(/\n/g,"\\n"),caseSensitive:null!=(d=null==b?void 0:b.caseSensitive)?d:j.caseSensitive,literal:null!=(e=null==b?void 0:b.literal)?e:j.literal,regexp:null!=(f=null==b?void 0:b.regexp)?f:j.regexp,wholeWord:null!=(g=null==b?void 0:b.wholeWord)?g:j.wholeWord})}function N(a){let b=(0,d.ld)(a,L);return b&&b.dom.querySelector("[main-field]")}function O(a){let b=N(a);b&&b==a.root.activeElement&&b.select()}let P=a=>{let b=a.state.field(A,!1);if(b&&b.panel){let c=N(a);if(c&&c!=a.root.activeElement){let d=M(a.state,b.query.spec);d.valid&&a.dispatch({effects:y.of(d)}),c.focus(),c.select()}}else a.dispatch({effects:[z.of(!0),b?y.of(M(a.state,b.query.spec)):e.Pe.appendConfig.of(X)]});return!0},Q=a=>{let b=a.state.field(A,!1);if(!b||!b.panel)return!1;let c=(0,d.ld)(a,L);return c&&c.dom.contains(a.root.activeElement)&&a.focus(),a.dispatch({effects:z.of(!1)}),!0},R=[{key:"Mod-f",run:P,scope:"editor search-panel"},{key:"F3",run:G,shift:H,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:G,shift:H,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:Q,scope:"editor search-panel"},{key:"Mod-Shift-l",run:({state:a,dispatch:b})=>{let c=a.selection;if(c.ranges.length>1||c.main.empty)return!1;let{from:d,to:f}=c.main,g=[],i=0;for(let b=new h(a.doc,a.sliceDoc(d,f));!b.next().done;){if(g.length>1e3)return!1;b.value.from==d&&(i=g.length),g.push(e.OF.range(b.value.from,b.value.to))}return b(a.update({selection:e.OF.create(g,i),userEvent:"select.search.matches"})),!0}},{key:"Mod-Alt-g",run:a=>{let{state:b}=a,c=String(b.doc.lineAt(a.state.selection.main.head).number),{close:f,result:g}=(0,d.ui)(a,{label:b.phrase("Go to line"),input:{type:"text",name:"line",value:c},focus:!0,submitLabel:b.phrase("go")});return g.then(c=>{let g=c&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(c.elements.line.value);if(!g)return void a.dispatch({effects:f});let h=b.doc.lineAt(b.selection.main.head),[,i,j,k,l]=g,m=k?+k.slice(1):0,n=j?+j:h.number;if(j&&l){let a=n/100;i&&(a=a*("-"==i?-1:1)+h.number/b.doc.lines),n=Math.round(b.doc.lines*a)}else j&&i&&(n=n*("-"==i?-1:1)+h.number);let o=b.doc.line(Math.max(1,Math.min(b.doc.lines,n))),p=e.OF.cursor(o.from+Math.max(0,Math.min(m,o.length)));a.dispatch({effects:[f,d.Lz.scrollIntoView(p.from,{y:"center"})],selection:p})}),!0}},{key:"Mod-d",run:({state:a,dispatch:b})=>{let{ranges:c}=a.selection;if(c.some(a=>a.from===a.to))return(({state:a,dispatch:b})=>{let{selection:c}=a,d=e.OF.create(c.ranges.map(b=>a.wordAt(b.head)||e.OF.cursor(b.head)),c.mainIndex);return!d.eq(c)&&(b(a.update({selection:d})),!0)})({state:a,dispatch:b});let f=a.sliceDoc(c[0].from,c[0].to);if(a.selection.ranges.some(b=>a.sliceDoc(b.from,b.to)!=f))return!1;let g=function(a,b){let{main:c,ranges:d}=a.selection,e=a.wordAt(c.head),f=e&&e.from==c.from&&e.to==c.to;for(let c=!1,e=new h(a.doc,b,d[d.length-1].to);;)if(e.next(),e.done){if(c)return null;e=new h(a.doc,b,0,Math.max(0,d[d.length-1].from-1)),c=!0}else{if(c&&d.some(a=>a.from==e.value.from))continue;if(f){let b=a.wordAt(e.value.from);if(!b||b.from!=e.value.from||b.to!=e.value.to)continue}return e.value}}(a,f);return!!g&&(b(a.update({selection:a.selection.addRange(e.OF.range(g.from,g.to),!1),effects:d.Lz.scrollIntoView(g.to)})),!0)},preventDefault:!0}];class S{constructor(a){this.view=a;let b=this.query=a.state.field(A).query.spec;function c(a,b,c){return(0,f.A)("button",{class:"cm-button",name:a,onclick:b,type:"button"},c)}this.commit=this.commit.bind(this),this.searchField=(0,f.A)("input",{value:b.search,placeholder:T(a,"Find"),"aria-label":T(a,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=(0,f.A)("input",{value:b.replace,placeholder:T(a,"Replace"),"aria-label":T(a,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=(0,f.A)("input",{type:"checkbox",name:"case",form:"",checked:b.caseSensitive,onchange:this.commit}),this.reField=(0,f.A)("input",{type:"checkbox",name:"re",form:"",checked:b.regexp,onchange:this.commit}),this.wordField=(0,f.A)("input",{type:"checkbox",name:"word",form:"",checked:b.wholeWord,onchange:this.commit}),this.dom=(0,f.A)("div",{onkeydown:a=>this.keydown(a),class:"cm-search"},[this.searchField,c("next",()=>G(a),[T(a,"next")]),c("prev",()=>H(a),[T(a,"previous")]),c("select",()=>I(a),[T(a,"all")]),(0,f.A)("label",null,[this.caseField,T(a,"match case")]),(0,f.A)("label",null,[this.reField,T(a,"regexp")]),(0,f.A)("label",null,[this.wordField,T(a,"by word")]),...a.state.readOnly?[]:[(0,f.A)("br"),this.replaceField,c("replace",()=>J(a),[T(a,"replace")]),c("replaceAll",()=>K(a),[T(a,"replace all")])],(0,f.A)("button",{name:"close",onclick:()=>Q(a),"aria-label":T(a,"close"),type:"button"},["\xd7"])])}commit(){let a=new q({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});a.eq(this.query)||(this.query=a,this.view.dispatch({effects:y.of(a)}))}keydown(a){(0,d.TS)(this.view,a,"search-panel")?a.preventDefault():13==a.keyCode&&a.target==this.searchField?(a.preventDefault(),(a.shiftKey?H:G)(this.view)):13==a.keyCode&&a.target==this.replaceField&&(a.preventDefault(),J(this.view))}update(a){for(let b of a.transactions)for(let a of b.effects)a.is(y)&&!a.value.eq(this.query)&&this.setQuery(a.value)}setQuery(a){this.query=a,this.searchField.value=a.search,this.replaceField.value=a.replace,this.caseField.checked=a.caseSensitive,this.reField.checked=a.regexp,this.wordField.checked=a.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(p).top}}function T(a,b){return a.state.phrase(b)}let U=/[\s\.,:;?!]/;function V(a,{from:b,to:c}){let e=a.state.doc.lineAt(b),f=a.state.doc.lineAt(c).to,g=Math.max(e.from,b-30),h=Math.min(f,c+30),i=a.state.sliceDoc(g,h);if(g!=e.from){for(let a=0;a<30;a++)if(!U.test(i[a+1])&&U.test(i[a])){i=i.slice(a);break}}if(h!=f){for(let a=i.length-1;a>i.length-30;a--)if(!U.test(i[a-1])&&U.test(i[a])){i=i.slice(0,a);break}}return d.Lz.announce.of(`${a.state.phrase("current match")}. ${i} ${a.state.phrase("on line")} ${e.number}.`)}let W=d.Lz.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),X=[A,e.Nb.low(E),W]},6518:(a,b,c)=>{c.d(b,{Ar:()=>j,Gw:()=>ah,OO:()=>al,_5:()=>g,et:()=>i,yU:()=>ak});var d=c(44072),e=c(36554),f=c(17680);class g{constructor(a,b,c,d){this.state=a,this.pos=b,this.explicit=c,this.view=d,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(a){let b=(0,f.mv)(this.state).resolveInner(this.pos,-1);for(;b&&0>a.indexOf(b.name);)b=b.parent;return b?{from:b.from,to:this.pos,text:this.state.sliceDoc(b.from,this.pos),type:b.type}:null}matchBefore(a){let b=this.state.doc.lineAt(this.pos),c=Math.max(b.from,this.pos-250),d=b.text.slice(c-b.from,this.pos-b.from),e=d.search(m(a,!1));return e<0?null:{from:c+e,to:this.pos,text:d.slice(e)}}get aborted(){return null==this.abortListeners}addEventListener(a,b,c){"abort"==a&&this.abortListeners&&(this.abortListeners.push(b),c&&c.onDocChange&&(this.abortOnDocChange=!0))}}function h(a){let b=Object.keys(a).join(""),c=/\w/.test(b);return c&&(b=b.replace(/\w/g,"")),`[${c?"\\w":""}${b.replace(/[^\w\s]/g,"\\$&")}]`}function i(a){let b=a.map(a=>"string"==typeof a?{label:a}:a),[c,d]=b.every(a=>/^\w+$/.test(a.label))?[/\w*$/,/\w+$/]:function(a){let b=Object.create(null),c=Object.create(null);for(let{label:d}of a){b[d[0]]=!0;for(let a=1;a<d.length;a++)c[d[a]]=!0}let d=h(b)+h(c)+"*$";return[RegExp("^"+d),new RegExp(d)]}(b);return a=>{let e=a.matchBefore(d);return e||a.explicit?{from:e?e.from:a.pos,options:b,validFor:c}:null}}function j(a,b){return c=>{for(let b=(0,f.mv)(c.state).resolveInner(c.pos,-1);b;b=b.parent){if(a.indexOf(b.name)>-1)return null;if(b.type.isTop)break}return b(c)}}class k{constructor(a,b,c,d){this.completion=a,this.source=b,this.match=c,this.score=d}}function l(a){return a.selection.main.from}function m(a,b){var c;let{source:d}=a,e=b&&"^"!=d[0],f="$"!=d[d.length-1];return e||f?RegExp(`${e?"^":""}(?:${d})${f?"$":""}`,null!=(c=a.flags)?c:a.ignoreCase?"i":""):a}let n=d.YH.define(),o=new WeakMap;function p(a){if(!Array.isArray(a))return a;let b=o.get(a);return b||o.set(a,b=i(a)),b}let q=d.Pe.define(),r=d.Pe.define();class s{constructor(a){this.pattern=a,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let b=0;b<a.length;){let c=(0,d.vS)(a,b),e=(0,d.Fh)(c);this.chars.push(c);let f=a.slice(b,b+e),g=f.toUpperCase();this.folded.push((0,d.vS)(g==f?f.toLowerCase():g,0)),b+=e}this.astral=a.length!=this.chars.length}ret(a,b){return this.score=a,this.matched=b,this}match(a){if(0==this.pattern.length)return this.ret(-100,[]);if(a.length<this.pattern.length)return null;let{chars:b,folded:c,any:e,precise:f,byWord:g}=this;if(1==b.length){let e=(0,d.vS)(a,0),f=(0,d.Fh)(e),g=f==a.length?0:-100;if(e==b[0]);else{if(e!=c[0])return null;g+=-200}return this.ret(g,[0,f])}let h=a.indexOf(this.pattern);if(0==h)return this.ret(a.length==this.pattern.length?0:-100,[0,this.pattern.length]);let i=b.length,j=0;if(h<0){for(let f=0,g=Math.min(a.length,200);f<g&&j<i;){let g=(0,d.vS)(a,f);(g==b[j]||g==c[j])&&(e[j++]=f),f+=(0,d.Fh)(g)}if(j<i)return null}let k=0,l=0,m=!1,n=0,o=-1,p=-1,q=/[a-z]/.test(a),r=!0;for(let e=0,j=Math.min(a.length,200),s=0;e<j&&l<i;){let j=(0,d.vS)(a,e);h<0&&(k<i&&j==b[k]&&(f[k++]=e),n<i&&(j==b[n]||j==c[n]?(0==n&&(o=e),p=e+1,n++):n=0));let t,u=j<255?j>=48&&j<=57||j>=97&&j<=122?2:+(j>=65&&j<=90):(t=(0,d.MK)(j))!=t.toLowerCase()?1:2*(t!=t.toUpperCase());(!e||1==u&&q||0==s&&0!=u)&&(b[l]==j||c[l]==j&&(m=!0)?g[l++]=e:g.length&&(r=!1)),s=u,e+=(0,d.Fh)(j)}return l==i&&0==g[0]&&r?this.result(-100+(m?-200:0),g,a):n==i&&0==o?this.ret(-200-a.length+(p==a.length?0:-100),[0,p]):h>-1?this.ret(-700-a.length,[h,h+this.pattern.length]):n==i?this.ret(-900-a.length,[o,p]):l==i?this.result(-100+(m?-200:0)+-700+(r?0:-1100),g,a):2==b.length?null:this.result((e[0]?-700:0)+-200+-1100,e,a)}result(a,b,c){let e=[],f=0;for(let a of b){let b=a+(this.astral?(0,d.Fh)((0,d.vS)(c,a)):1);f&&e[f-1]==a?e[f-1]=b:(e[f++]=a,e[f++]=b)}return this.ret(a-c.length,e)}}class t{constructor(a){this.pattern=a,this.matched=[],this.score=0,this.folded=a.toLowerCase()}match(a){if(a.length<this.pattern.length)return null;let b=a.slice(0,this.pattern.length),c=b==this.pattern?0:b.toLowerCase()==this.folded?-200:null;return null==c?null:(this.matched=[0,b.length],this.score=c+(a.length==this.pattern.length?0:-100),this)}}let u=d.sj.define({combine:a=>(0,d.QR)(a,{activateOnTyping:!0,activateOnCompletion:()=>!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:w,filterStrict:!1,compareCompletions:(a,b)=>(a.sortText||a.label).localeCompare(b.sortText||b.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(a,b)=>a&&b,closeOnBlur:(a,b)=>a&&b,icons:(a,b)=>a&&b,tooltipClass:(a,b)=>c=>v(a(c),b(c)),optionClass:(a,b)=>c=>v(a(c),b(c)),addToOptions:(a,b)=>a.concat(b),filterStrict:(a,b)=>a||b})});function v(a,b){return a?b?a+" "+b:a:b}function w(a,b,c,d,f,g){let h=a.textDirection==e.OP.RTL,i=h,j=!1,k="top",l,m,n=b.left-f.left,o=f.right-b.right,p=d.right-d.left,q=d.bottom-d.top;if(i&&n<Math.min(p,o)?i=!1:!i&&o<Math.min(p,n)&&(i=!0),p<=(i?n:o))l=Math.max(f.top,Math.min(c.top,f.bottom-q))-b.top,m=Math.min(400,i?n:o);else{j=!0,m=Math.min(400,(h?b.right:f.right-b.left)-30);let a=f.bottom-b.bottom;a>=q||a>b.top?l=c.bottom-b.top:(k="bottom",l=b.bottom-c.top)}let r=(b.bottom-b.top)/g.offsetHeight,s=(b.right-b.left)/g.offsetWidth;return{style:`${k}: ${l/r}px; max-width: ${m/s}px`,class:"cm-completionInfo-"+(j?h?"left-narrow":"right-narrow":i?"left":"right")}}let x=d.Pe.define();function y(a,b,c){if(a<=c)return{from:0,to:a};if(b<0&&(b=0),b<=a>>1){let a=Math.floor(b/c);return{from:a*c,to:(a+1)*c}}let d=Math.ceil((a-b)/c);return{from:a-d*c,to:a-(d-1)*c}}class z{constructor(a,b,c){let d;this.view=a,this.stateField=b,this.applyCompletion=c,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:a=>this.placeInfo(a),key:this},this.space=null,this.currentClass="";let e=a.state.field(b),{options:f,selected:g}=e.open,h=a.state.facet(u);this.optionContent=(d=h.addToOptions.slice(),h.icons&&d.push({render(a){let b=document.createElement("div");return b.classList.add("cm-completionIcon"),a.type&&b.classList.add(...a.type.split(/\s+/g).map(a=>"cm-completionIcon-"+a)),b.setAttribute("aria-hidden","true"),b},position:20}),d.push({render(a,b,c,d){let e=document.createElement("span");e.className="cm-completionLabel";let f=a.displayLabel||a.label,g=0;for(let a=0;a<d.length;){let b=d[a++],c=d[a++];b>g&&e.appendChild(document.createTextNode(f.slice(g,b)));let h=e.appendChild(document.createElement("span"));h.appendChild(document.createTextNode(f.slice(b,c))),h.className="cm-completionMatchedText",g=c}return g<f.length&&e.appendChild(document.createTextNode(f.slice(g))),e},position:50},{render(a){if(!a.detail)return null;let b=document.createElement("span");return b.className="cm-completionDetail",b.textContent=a.detail,b},position:80}),d.sort((a,b)=>a.position-b.position).map(a=>a.render)),this.optionClass=h.optionClass,this.tooltipClass=h.tooltipClass,this.range=y(f.length,g,h.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(a.state),this.dom.addEventListener("mousedown",c=>{let{options:d}=a.state.field(b).open;for(let b=c.target,e;b&&b!=this.dom;b=b.parentNode)if("LI"==b.nodeName&&(e=/-(\d+)$/.exec(b.id))&&+e[1]<d.length){this.applyCompletion(a,d[+e[1]]),c.preventDefault();return}if(c.target==this.list){let b=this.list.classList.contains("cm-completionListIncompleteTop")&&c.clientY<this.list.firstChild.getBoundingClientRect().top?this.range.from-1:this.list.classList.contains("cm-completionListIncompleteBottom")&&c.clientY>this.list.lastChild.getBoundingClientRect().bottom?this.range.to:null;null!=b&&(a.dispatch({effects:x.of(b)}),c.preventDefault())}}),this.dom.addEventListener("focusout",b=>{let c=a.state.field(this.stateField,!1);c&&c.tooltip&&a.state.facet(u).closeOnBlur&&b.relatedTarget!=a.contentDOM&&a.dispatch({effects:r.of(null)})}),this.showOptions(f,e.id)}mount(){this.updateSel()}showOptions(a,b){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(a,b,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(a){var b;let c=a.state.field(this.stateField),d=a.startState.field(this.stateField);if(this.updateTooltipClass(a.state),c!=d){let{options:e,selected:f,disabled:g}=c.open;d.open&&d.open.options==e||(this.range=y(e.length,f,a.state.facet(u).maxRenderedOptions),this.showOptions(e,c.id)),this.updateSel(),g!=(null==(b=d.open)?void 0:b.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!g)}}updateTooltipClass(a){let b=this.tooltipClass(a);if(b!=this.currentClass){for(let a of this.currentClass.split(" "))a&&this.dom.classList.remove(a);for(let a of b.split(" "))a&&this.dom.classList.add(a);this.currentClass=b}}positioned(a){this.space=a,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let a=this.view.state.field(this.stateField),b=a.open;(b.selected>-1&&b.selected<this.range.from||b.selected>=this.range.to)&&(this.range=y(b.options.length,b.selected,this.view.state.facet(u).maxRenderedOptions),this.showOptions(b.options,a.id));let c=this.updateSelectedOption(b.selected);if(c){this.destroyInfo();let{completion:d}=b.options[b.selected],{info:f}=d;if(!f)return;let g="string"==typeof f?document.createTextNode(f):f(d);if(!g)return;"then"in g?g.then(b=>{b&&this.view.state.field(this.stateField,!1)==a&&this.addInfoPane(b,d)}).catch(a=>(0,e.c_)(this.view.state,a,"completion info")):(this.addInfoPane(g,d),c.setAttribute("aria-describedby",this.info.id))}}addInfoPane(a,b){this.destroyInfo();let c=this.info=document.createElement("div");if(c.className="cm-tooltip cm-completionInfo",c.id="cm-completionInfo-"+Math.floor(65535*Math.random()).toString(16),null!=a.nodeType)c.appendChild(a),this.infoDestroy=null;else{let{dom:b,destroy:d}=a;c.appendChild(b),this.infoDestroy=d||null}this.dom.appendChild(c),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(a){var b,c;let d,e,f,g=null;for(let b=this.list.firstChild,c=this.range.from;b;b=b.nextSibling,c++)"LI"==b.nodeName&&b.id?c==a?b.hasAttribute("aria-selected")||(b.setAttribute("aria-selected","true"),g=b):b.hasAttribute("aria-selected")&&(b.removeAttribute("aria-selected"),b.removeAttribute("aria-describedby")):c--;return g&&(b=this.list,c=g,d=b.getBoundingClientRect(),e=c.getBoundingClientRect(),f=d.height/b.offsetHeight,e.top<d.top?b.scrollTop-=(d.top-e.top)/f:e.bottom>d.bottom&&(b.scrollTop+=(e.bottom-d.bottom)/f)),g}measureInfo(){let a=this.dom.querySelector("[aria-selected]");if(!a||!this.info)return null;let b=this.dom.getBoundingClientRect(),c=this.info.getBoundingClientRect(),d=a.getBoundingClientRect(),e=this.space;if(!e){let a=this.dom.ownerDocument.documentElement;e={left:0,top:0,right:a.clientWidth,bottom:a.clientHeight}}return d.top>Math.min(e.bottom,b.bottom)-10||d.bottom<Math.max(e.top,b.top)+10?null:this.view.state.facet(u).positionInfo(this.view,b,d,c,e,this.dom)}placeInfo(a){this.info&&(a?(a.style&&(this.info.style.cssText=a.style),this.info.className="cm-tooltip cm-completionInfo "+(a.class||"")):this.info.style.cssText="top: -1e6px")}createListBox(a,b,c){let d=document.createElement("ul");d.id=b,d.setAttribute("role","listbox"),d.setAttribute("aria-expanded","true"),d.setAttribute("aria-label",this.view.state.phrase("Completions")),d.addEventListener("mousedown",a=>{a.target==d&&a.preventDefault()});let e=null;for(let f=c.from;f<c.to;f++){let{completion:g,match:h}=a[f],{section:i}=g;if(i){let a="string"==typeof i?i:i.name;a!=e&&(f>c.from||0==c.from)&&(e=a,"string"!=typeof i&&i.header?d.appendChild(i.header(i)):d.appendChild(document.createElement("completion-section")).textContent=a)}let j=d.appendChild(document.createElement("li"));j.id=b+"-"+f,j.setAttribute("role","option");let k=this.optionClass(g);for(let a of(k&&(j.className=k),this.optionContent)){let b=a(g,this.view.state,this.view,h);b&&j.appendChild(b)}}return c.from&&d.classList.add("cm-completionListIncompleteTop"),c.to<a.length&&d.classList.add("cm-completionListIncompleteBottom"),d}destroyInfo(){this.info&&(this.infoDestroy&&this.infoDestroy(),this.info.remove(),this.info=null)}destroy(){this.destroyInfo()}}function A(a){return 100*(a.boost||0)+10*!!a.apply+5*!!a.info+ +!!a.type}class B{constructor(a,b,c,d,e,f){this.options=a,this.attrs=b,this.tooltip=c,this.timestamp=d,this.selected=e,this.disabled=f}setSelected(a,b){return a==this.selected||a>=this.options.length?this:new B(this.options,F(b,a),this.tooltip,this.timestamp,a,this.disabled)}static build(a,b,c,d,e,f){if(d&&!f&&a.some(a=>a.isPending))return d.setDisabled();let g=function(a,b){let c=[],d=null,e=null,f=a=>{c.push(a);let{section:b}=a.completion;if(b){d||(d=[]);let a="string"==typeof b?b:b.name;d.some(b=>b.name==a)||d.push("string"==typeof b?{name:a}:b)}},g=b.facet(u);for(let d of a)if(d.hasResult()){let a=d.result.getMatch;if(!1===d.result.filter)for(let b of d.result.options)f(new k(b,d.source,a?a(b):[],1e9-c.length));else{let c=b.sliceDoc(d.from,d.to),h,i=g.filterStrict?new t(c):new s(c);for(let b of d.result.options)if(h=i.match(b.label)){let c=b.displayLabel?a?a(b,h.matched):[]:h.matched,g=h.score+(b.boost||0);if(f(new k(b,d.source,c,g)),"object"==typeof b.section&&"dynamic"===b.section.rank){let{name:a}=b.section;e||(e=Object.create(null)),e[a]=Math.max(g,e[a]||-1e9)}}}}if(d){let a=Object.create(null),b=0;for(let c of d.sort((a,b)=>("dynamic"===a.rank&&"dynamic"===b.rank?e[b.name]-e[a.name]:0)||("number"==typeof a.rank?a.rank:1e9)-("number"==typeof b.rank?b.rank:1e9)||(a.name<b.name?-1:1)))b-=1e5,a[c.name]=b;for(let b of c){let{section:c}=b.completion;c&&(b.score+=a["string"==typeof c?c:c.name])}}let h=[],i=null,j=g.compareCompletions;for(let a of c.sort((a,b)=>b.score-a.score||j(a.completion,b.completion))){let b=a.completion;i&&i.label==b.label&&i.detail==b.detail&&(null==i.type||null==b.type||i.type==b.type)&&i.apply==b.apply&&i.boost==b.boost?A(a.completion)>A(i)&&(h[h.length-1]=a):h.push(a),i=a.completion}return h}(a,b);if(!g.length)return d&&a.some(a=>a.isPending)?d.setDisabled():null;let h=b.facet(u).selectOnOpen?0:-1;if(d&&d.selected!=h&&-1!=d.selected){let a=d.options[d.selected].completion;for(let b=0;b<g.length;b++)if(g[b].completion==a){h=b;break}}return new B(g,F(c,h),{pos:a.reduce((a,b)=>b.hasResult()?Math.min(a,b.from):a,1e8),create:N,above:e.aboveCursor},d?d.timestamp:Date.now(),h,!1)}map(a){return new B(this.options,this.attrs,{...this.tooltip,pos:a.mapPos(this.tooltip.pos)},this.timestamp,this.selected,this.disabled)}setDisabled(){return new B(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}}class C{constructor(a,b,c){this.active=a,this.id=b,this.open=c}static start(){return new C(G,"cm-ac-"+Math.floor(2e6*Math.random()).toString(36),null)}update(a){let{state:b}=a,c=b.facet(u),d=(c.override||b.languageDataAt("autocomplete",l(b)).map(p)).map(b=>(this.active.find(a=>a.source==b)||new I(b,+!!this.active.some(a=>0!=a.state))).update(a,c));d.length==this.active.length&&d.every((a,b)=>a==this.active[b])&&(d=this.active);let e=this.open,f=a.effects.some(a=>a.is(K));for(let g of(e&&a.docChanged&&(e=e.map(a.changes)),a.selection||d.some(b=>b.hasResult()&&a.changes.touchesRange(b.from,b.to))||!function(a,b){if(a==b)return!0;for(let c=0,d=0;;){for(;c<a.length&&!a[c].hasResult();)c++;for(;d<b.length&&!b[d].hasResult();)d++;let e=c==a.length,f=d==b.length;if(e||f)return e==f;if(a[c++].result!=b[d++].result)return!1}}(d,this.active)||f?e=B.build(d,b,this.id,e,c,f):e&&e.disabled&&!d.some(a=>a.isPending)&&(e=null),!e&&d.every(a=>!a.isPending)&&d.some(a=>a.hasResult())&&(d=d.map(a=>a.hasResult()?new I(a.source,0):a)),a.effects))g.is(x)&&(e=e&&e.setSelected(g.value,this.id));return d==this.active&&e==this.open?this:new C(d,this.id,e)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?D:E}}let D={"aria-autocomplete":"list"},E={};function F(a,b){let c={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":a};return b>-1&&(c["aria-activedescendant"]=a+"-"+b),c}let G=[];function H(a,b){if(a.isUserEvent("input.complete")){let c=a.annotation(n);if(c&&b.activateOnCompletion(c))return 12}let c=a.isUserEvent("input.type");return c&&b.activateOnTyping?5:c?1:a.isUserEvent("delete.backward")?2:a.selection?8:16*!!a.docChanged}class I{constructor(a,b,c=!1){this.source=a,this.state=b,this.explicit=c}hasResult(){return!1}get isPending(){return 1==this.state}update(a,b){let c=H(a,b),d=this;for(let b of((8&c||16&c&&this.touches(a))&&(d=new I(d.source,0)),4&c&&0==d.state&&(d=new I(this.source,1)),d=d.updateFor(a,c),a.effects))if(b.is(q))d=new I(d.source,1,b.value);else if(b.is(r))d=new I(d.source,0);else if(b.is(K))for(let a of b.value)a.source==d.source&&(d=a);return d}updateFor(a,b){return this.map(a.changes)}map(a){return this}touches(a){return a.changes.touchesRange(l(a.state))}}class J extends I{constructor(a,b,c,d,e,f){super(a,3,b),this.limit=c,this.result=d,this.from=e,this.to=f}hasResult(){return!0}updateFor(a,b){var c;if(!(3&b))return this.map(a.changes);let d=this.result;d.map&&!a.changes.empty&&(d=d.map(d,a.changes));let e=a.changes.mapPos(this.from),f=a.changes.mapPos(this.to,1),h=l(a.state);if(h>f||!d||2&b&&(l(a.startState)==this.from||h<this.limit))return new I(this.source,4&b?1:0);let i=a.changes.mapPos(this.limit);return!function(a,b,c,d){if(!a)return!1;let e=b.sliceDoc(c,d);return"function"==typeof a?a(e,c,d,b):m(a,!0).test(e)}(d.validFor,a.state,e,f)?d.update&&(d=d.update(d,e,f,new g(a.state,h,!1)))?new J(this.source,this.explicit,i,d,d.from,null!=(c=d.to)?c:l(a.state)):new I(this.source,1,this.explicit):new J(this.source,this.explicit,i,d,e,f)}map(a){if(a.empty)return this;let b=this.result.map?this.result.map(this.result,a):this.result;return b?new J(this.source,this.explicit,a.mapPos(this.limit),b,a.mapPos(this.from),a.mapPos(this.to,1)):new I(this.source,0)}touches(a){return a.changes.touchesRange(this.from,this.to)}}let K=d.Pe.define({map:(a,b)=>a.map(a=>a.map(b))}),L=d.sU.define({create:()=>C.start(),update:(a,b)=>a.update(b),provide:a=>[e.DK.from(a,a=>a.tooltip),e.Lz.contentAttributes.from(a,a=>a.attrs)]});function M(a,b){let c=b.completion.apply||b.completion.label,e=a.state.field(L).active.find(a=>a.source==b.source);return e instanceof J&&("string"==typeof c?a.dispatch({...function(a,b,c,e){let{main:f}=a.selection,g=c-f.from,h=e-f.from;return{...a.changeByRange(i=>{if(i!=f&&c!=e&&a.sliceDoc(i.from+g,i.from+h)!=a.sliceDoc(c,e))return{range:i};let j=a.toText(b);return{changes:{from:i.from+g,to:e==f.from?i.to:i.from+h,insert:j},range:d.OF.cursor(i.from+g+j.length)}}),scrollIntoView:!0,userEvent:"input.complete"}}(a.state,c,e.from,e.to),annotations:n.of(b.completion)}):c(a,b.completion,e.from,e.to),!0)}let N=a=>new z(a,L,M);function O(a,b="option"){return c=>{let d=c.state.field(L,!1);if(!d||!d.open||d.open.disabled||Date.now()-d.open.timestamp<c.state.facet(u).interactionDelay)return!1;let f=1,g;"page"==b&&(g=(0,e.Eg)(c,d.open.tooltip))&&(f=Math.max(2,Math.floor(g.dom.offsetHeight/g.dom.querySelector("li").offsetHeight)-1));let{length:h}=d.open.options,i=d.open.selected>-1?d.open.selected+f*(a?1:-1):a?0:h-1;return i<0?i="page"==b?0:h-1:i>=h&&(i="page"==b?h-1:0),c.dispatch({effects:x.of(i)}),!0}}let P=a=>!!a.state.field(L,!1)&&(a.dispatch({effects:q.of(!0)}),!0);class Q{constructor(a,b){this.active=a,this.context=b,this.time=Date.now(),this.updates=[],this.done=void 0}}let R=e.Z9.fromClass(class{constructor(a){for(let b of(this.view=a,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0,a.state.field(L).active))b.isPending&&this.startQuery(b)}update(a){let b=a.state.field(L),c=a.state.facet(u);if(!a.selectionSet&&!a.docChanged&&a.startState.field(L)==b)return;let d=a.transactions.some(a=>{let b=H(a,c);return 8&b||(a.selection||a.docChanged)&&!(3&b)});for(let b=0;b<this.running.length;b++){let c=this.running[b];if(d||c.context.abortOnDocChange&&a.docChanged||c.updates.length+a.transactions.length>50&&Date.now()-c.time>1e3){for(let a of c.context.abortListeners)try{a()}catch(a){(0,e.c_)(this.view.state,a)}c.context.abortListeners=null,this.running.splice(b--,1)}else c.updates.push(...a.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),a.transactions.some(a=>a.effects.some(a=>a.is(q)))&&(this.pendingStart=!0);let f=this.pendingStart?50:c.activateOnTypingDelay;if(this.debounceUpdate=b.active.some(a=>a.isPending&&!this.running.some(b=>b.active.source==a.source))?setTimeout(()=>this.startUpdate(),f):-1,0!=this.composing)for(let b of a.transactions)b.isUserEvent("input.type")?this.composing=2:2==this.composing&&b.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:a}=this.view,b=a.field(L);for(let a of b.active)a.isPending&&!this.running.some(b=>b.active.source==a.source)&&this.startQuery(a);this.running.length&&b.open&&b.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(u).updateSyncTime))}startQuery(a){let{state:b}=this.view,c=l(b),d=new g(b,c,a.explicit,this.view),f=new Q(a,d);this.running.push(f),Promise.resolve(a.source(d)).then(a=>{f.context.aborted||(f.done=a||null,this.scheduleAccept())},a=>{this.view.dispatch({effects:r.of(null)}),(0,e.c_)(this.view.state,a)})}scheduleAccept(){this.running.every(a=>void 0!==a.done)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(u).updateSyncTime))}accept(){var a;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let b=[],c=this.view.state.facet(u),d=this.view.state.field(L);for(let e=0;e<this.running.length;e++){let f=this.running[e];if(void 0===f.done)continue;if(this.running.splice(e--,1),f.done){let d=l(f.updates.length?f.updates[0].startState:this.view.state),e=Math.min(d,f.done.from+ +!f.active.explicit),g=new J(f.active.source,f.active.explicit,e,f.done,f.done.from,null!=(a=f.done.to)?a:d);for(let a of f.updates)g=g.update(a,c);if(g.hasResult()){b.push(g);continue}}let g=d.active.find(a=>a.source==f.active.source);if(g&&g.isPending)if(null==f.done){let a=new I(f.active.source,0);for(let b of f.updates)a=a.update(b,c);a.isPending||b.push(a)}else this.startQuery(g)}(b.length||d.open&&d.open.disabled)&&this.view.dispatch({effects:K.of(b)})}},{eventHandlers:{blur(a){let b=this.view.state.field(L,!1);if(b&&b.tooltip&&this.view.state.facet(u).closeOnBlur){let c=b.open&&(0,e.Eg)(this.view,b.open.tooltip);c&&c.dom.contains(a.relatedTarget)||setTimeout(()=>this.view.dispatch({effects:r.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){3==this.composing&&setTimeout(()=>this.view.dispatch({effects:q.of(!1)}),20),this.composing=0}}}),S="object"==typeof navigator&&/Win/.test(navigator.platform),T=d.Nb.highest(e.Lz.domEventHandlers({keydown(a,b){let c=b.state.field(L,!1);if(!c||!c.open||c.open.disabled||c.open.selected<0||a.key.length>1||a.ctrlKey&&!(S&&a.altKey)||a.metaKey)return!1;let d=c.open.options[c.open.selected],e=c.active.find(a=>a.source==d.source),f=d.completion.commitCharacters||e.result.commitCharacters;return f&&f.indexOf(a.key)>-1&&M(b,d),!1}})),U=e.Lz.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"\xb7\xb7\xb7"',opacity:.5,display:"block",textAlign:"center",cursor:"pointer"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'\uD835\uDC65'"}},".cm-completionIcon-constant":{"&:after":{content:"'\uD835\uDC36'"}},".cm-completionIcon-type":{"&:after":{content:"'\uD835\uDC61'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'\uD83D\uDD11︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});class V{constructor(a,b,c,d){this.field=a,this.line=b,this.from=c,this.to=d}}class W{constructor(a,b,c){this.field=a,this.from=b,this.to=c}map(a){let b=a.mapPos(this.from,-1,d.iR.TrackDel),c=a.mapPos(this.to,1,d.iR.TrackDel);return null==b||null==c?null:new W(this.field,b,c)}}class X{constructor(a,b){this.lines=a,this.fieldPositions=b}instantiate(a,b){let c=[],d=[b],e=a.doc.lineAt(b),g=/^\s*/.exec(e.text)[0];for(let e of this.lines){if(c.length){let c=g,h=/^\t*/.exec(e)[0].length;for(let b=0;b<h;b++)c+=a.facet(f.Xt);d.push(b+c.length-h),e=c+e.slice(h)}c.push(e),b+=e.length+1}return{text:c,ranges:this.fieldPositions.map(a=>new W(a.field,d[a.line]+a.from,d[a.line]+a.to))}}static parse(a){let b=[],c=[],d=[],e;for(let f of a.split(/\r\n?|\n/)){for(;e=/[#$]\{(?:(\d+)(?::([^{}]*))?|((?:\\[{}]|[^{}])*))\}/.exec(f);){let a=e[1]?+e[1]:null,g=e[2]||e[3]||"",h=-1;0===a&&(a=1e9);let i=g.replace(/\\[{}]/g,a=>a[1]);for(let c=0;c<b.length;c++)(null!=a?b[c].seq==a:i&&b[c].name==i)&&(h=c);if(h<0){let c=0;for(;c<b.length&&(null==a||null!=b[c].seq&&b[c].seq<a);)c++;for(let e of(b.splice(c,0,{seq:a,name:i}),h=c,d))e.field>=h&&e.field++}for(let a of d)if(a.line==c.length&&a.from>e.index){let b=e[2]?3+(e[1]||"").length:2;a.from-=b,a.to-=b}d.push(new V(h,c.length,e.index,e.index+i.length)),f=f.slice(0,e.index)+g+f.slice(e.index+e[0].length)}f=f.replace(/\\([{}])/g,(a,b,e)=>{for(let a of d)a.line==c.length&&a.from>e&&(a.from--,a.to--);return b}),c.push(f)}return new X(c,d)}}let Y=e.NZ.widget({widget:new class extends e.xO{toDOM(){let a=document.createElement("span");return a.className="cm-snippetFieldPosition",a}ignoreEvent(){return!1}}}),Z=e.NZ.mark({class:"cm-snippetField"});class ${constructor(a,b){this.ranges=a,this.active=b,this.deco=e.NZ.set(a.map(a=>(a.from==a.to?Y:Z).range(a.from,a.to)),!0)}map(a){let b=[];for(let c of this.ranges){let d=c.map(a);if(!d)return null;b.push(d)}return new $(b,this.active)}selectionInsideField(a){return a.ranges.every(a=>this.ranges.some(b=>b.field==this.active&&b.from<=a.from&&b.to>=a.to))}}let _=d.Pe.define({map:(a,b)=>a&&a.map(b)}),aa=d.Pe.define(),ab=d.sU.define({create:()=>null,update(a,b){for(let c of b.effects){if(c.is(_))return c.value;if(c.is(aa)&&a)return new $(a.ranges,c.value)}return a&&b.docChanged&&(a=a.map(b.changes)),a&&b.selection&&!a.selectionInsideField(b.selection)&&(a=null),a},provide:a=>e.Lz.decorations.from(a,a=>a?a.deco:e.NZ.none)});function ac(a,b){return d.OF.create(a.filter(a=>a.field==b).map(a=>d.OF.range(a.from,a.to)))}function ad(a){return({state:b,dispatch:c})=>{let d=b.field(ab,!1);if(!d||a<0&&0==d.active)return!1;let e=d.active+a,f=a>0&&!d.ranges.some(b=>b.field==e+a);return c(b.update({selection:ac(d.ranges,e),effects:_.of(f?null:new $(d.ranges,e)),scrollIntoView:!0})),!0}}let ae=[{key:"Tab",run:ad(1),shift:ad(-1)},{key:"Escape",run:({state:a,dispatch:b})=>!!a.field(ab,!1)&&(b(a.update({effects:_.of(null)})),!0)}],af=d.sj.define({combine:a=>a.length?a[0]:ae}),ag=d.Nb.highest(e.w4.compute([af],a=>a.facet(af)));function ah(a,b){let c;return{...b,apply:(c=X.parse(a),(a,b,e,f)=>{let{text:g,ranges:h}=c.instantiate(a.state,e),{main:i}=a.state.selection,j={changes:{from:e,to:f==i.from?i.to:f,insert:d.EY.of(g)},scrollIntoView:!0,annotations:b?[n.of(b),d.ZX.userEvent.of("input.complete")]:void 0};if(h.length&&(j.selection=ac(h,0)),h.some(a=>a.field>0)){let b=new $(h,0),c=j.effects=[_.of(b)];void 0===a.state.field(ab,!1)&&c.push(d.Pe.appendConfig.of([ab,ag,ai,U]))}a.dispatch(a.state.update(j))})}}let ai=e.Lz.domEventHandlers({mousedown(a,b){let c=b.state.field(ab,!1),d;if(!c||null==(d=b.posAtCoords({x:a.clientX,y:a.clientY})))return!1;let e=c.ranges.find(a=>a.from<=d&&a.to>=d);return!!e&&e.field!=c.active&&(b.dispatch({selection:ac(c.ranges,e.field),effects:_.of(c.ranges.some(a=>a.field>e.field)?new $(c.ranges,e.field):null),scrollIntoView:!0}),!0)}}),aj=new class extends d.FB{};aj.startSide=1,aj.endSide=-1;function ak(a={}){return[T,L,u.of(a),R,am,U]}"object"==typeof navigator&&navigator.userAgent;let al=[{key:"Ctrl-Space",run:P},{mac:"Alt-`",run:P},{mac:"Alt-i",run:P},{key:"Escape",run:a=>{let b=a.state.field(L,!1);return!!b&&!!b.active.some(a=>0!=a.state)&&(a.dispatch({effects:r.of(null)}),!0)}},{key:"ArrowDown",run:O(!0)},{key:"ArrowUp",run:O(!1)},{key:"PageDown",run:O(!0,"page")},{key:"PageUp",run:O(!1,"page")},{key:"Enter",run:a=>{let b=a.state.field(L,!1);return!(a.state.readOnly||!b||!b.open||b.open.selected<0||b.open.disabled||Date.now()-b.open.timestamp<a.state.facet(u).interactionDelay)&&M(a,b.open.options[b.open.selected])}}],am=d.Nb.highest(e.w4.computeN([u],a=>a.facet(u).defaultKeymap?[al]:[]))},17680:(a,b,c)=>{c.d(b,{Ay:()=>L,EI:()=>E,KB:()=>G,Oh:()=>H,Q0:()=>l,Q_:()=>am,TM:()=>m,Xt:()=>C,Yy:()=>z,Zt:()=>ah,_Y:()=>N,_v:()=>F,b_:()=>Q,bj:()=>o,cr:()=>aa,iB:()=>j,jU:()=>ap,mv:()=>p,mz:()=>O,nq:()=>s,p9:()=>k,t:()=>P,t$:()=>A,tp:()=>D,y9:()=>ae,yd:()=>R});var d,e=c(22751),f=c(44072),g=c(36554),h=c(43398),i=c(64735);let j=new e.uY;function k(a){return f.sj.define({combine:a?b=>b.concat(a):void 0})}let l=new e.uY;class m{constructor(a,b,c=[],d=""){this.data=a,this.name=d,f.$t.prototype.hasOwnProperty("tree")||Object.defineProperty(f.$t.prototype,"tree",{get(){return p(this)}}),this.parser=b,this.extension=[y.of(this),f.$t.languageData.of((a,b,c)=>{let d=n(a,b,c),e=d.type.prop(j);if(!e)return[];let f=a.facet(e),g=d.type.prop(l);if(g){let e=d.resolve(b-d.from,c);for(let b of g)if(b.test(e,a)){let c=a.facet(b.facet);return"replace"==b.type?c:c.concat(f)}}return f})].concat(c)}isActiveAt(a,b,c=-1){return n(a,b,c).type.prop(j)==this.data}findRegions(a){let b=a.facet(y);if((null==b?void 0:b.data)==this.data)return[{from:0,to:a.doc.length}];if(!b||!b.allowsNesting)return[];let c=[],d=(a,b)=>{if(a.prop(j)==this.data)return void c.push({from:b,to:b+a.length});let f=a.prop(e.uY.mounted);if(f){if(f.tree.prop(j)==this.data){if(f.overlay)for(let a of f.overlay)c.push({from:a.from+b,to:a.to+b});else c.push({from:b,to:b+a.length});return}else if(f.overlay){let a=c.length;if(d(f.tree,f.overlay[0].from+b),c.length>a)return}}for(let c=0;c<a.children.length;c++){let f=a.children[c];f instanceof e.PH&&d(f,a.positions[c]+b)}};return d(p(a),0),c}get allowsNesting(){return!0}}function n(a,b,c){let d=a.facet(y),f=p(a).topNode;if(!d||d.allowsNesting)for(let a=f;a;a=a.enter(b,c,e.Qj.ExcludeBuffers|e.Qj.EnterBracketed))a.type.isTop&&(f=a);return f}m.setState=f.Pe.define();class o extends m{constructor(a,b,c){super(a,b,[],c),this.parser=b}static define(a){let b=k(a.languageData);return new o(b,a.parser.configure({props:[j.add(a=>a.isTop?b:void 0)]}),a.name)}configure(a,b){return new o(this.data,this.parser.configure(a),b||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function p(a){let b=a.field(m.state,!1);return b?b.tree:e.PH.empty}class q{constructor(a){this.doc=a,this.cursorPos=0,this.string="",this.cursor=a.iter()}get length(){return this.doc.length}syncTo(a){return this.string=this.cursor.next(a-this.cursorPos).value,this.cursorPos=a+this.string.length,this.cursorPos-this.string.length}chunk(a){return this.syncTo(a),this.string}get lineChunks(){return!0}read(a,b){let c=this.cursorPos-this.string.length;return a<c||b>=this.cursorPos?this.doc.sliceString(a,b):this.string.slice(a-c,b-c)}}let r=null;class s{constructor(a,b,c=[],d,e,f,g,h){this.parser=a,this.state=b,this.fragments=c,this.tree=d,this.treeLen=e,this.viewport=f,this.skipped=g,this.scheduleOn=h,this.parse=null,this.tempSkipped=[]}static create(a,b,c){return new s(a,b,[],e.PH.empty,0,c,[],null)}startParse(){return this.parser.startParse(new q(this.state.doc),this.fragments)}work(a,b){return(null!=b&&b>=this.state.doc.length&&(b=void 0),this.tree!=e.PH.empty&&this.isDone(null!=b?b:this.state.doc.length))?(this.takeTree(),!0):this.withContext(()=>{var c;if("number"==typeof a){let b=Date.now()+a;a=()=>Date.now()>b}for(this.parse||(this.parse=this.startParse()),null!=b&&(null==this.parse.stoppedAt||this.parse.stoppedAt>b)&&b<this.state.doc.length&&this.parse.stopAt(b);;){let d=this.parse.advance();if(d){if(this.fragments=this.withoutTempSkipped(e.rr.addTree(d,this.fragments,null!=this.parse.stoppedAt)),this.treeLen=null!=(c=this.parse.stoppedAt)?c:this.state.doc.length,this.tree=d,this.parse=null,!(this.treeLen<(null!=b?b:this.state.doc.length)))return!0;this.parse=this.startParse()}if(a())return!1}})}takeTree(){let a,b;this.parse&&(a=this.parse.parsedPos)>=this.treeLen&&((null==this.parse.stoppedAt||this.parse.stoppedAt>a)&&this.parse.stopAt(a),this.withContext(()=>{for(;!(b=this.parse.advance()););}),this.treeLen=a,this.tree=b,this.fragments=this.withoutTempSkipped(e.rr.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(a){let b=r;r=this;try{return a()}finally{r=b}}withoutTempSkipped(a){for(let b;b=this.tempSkipped.pop();)a=t(a,b.from,b.to);return a}changes(a,b){let{fragments:c,tree:d,treeLen:f,viewport:g,skipped:h}=this;if(this.takeTree(),!a.empty){let b=[];if(a.iterChangedRanges((a,c,d,e)=>b.push({fromA:a,toA:c,fromB:d,toB:e})),c=e.rr.applyChanges(c,b),d=e.PH.empty,f=0,g={from:a.mapPos(g.from,-1),to:a.mapPos(g.to,1)},this.skipped.length)for(let b of(h=[],this.skipped)){let c=a.mapPos(b.from,1),d=a.mapPos(b.to,-1);c<d&&h.push({from:c,to:d})}}return new s(this.parser,b,c,d,f,g,h,this.scheduleOn)}updateViewport(a){if(this.viewport.from==a.from&&this.viewport.to==a.to)return!1;this.viewport=a;let b=this.skipped.length;for(let b=0;b<this.skipped.length;b++){let{from:c,to:d}=this.skipped[b];c<a.to&&d>a.from&&(this.fragments=t(this.fragments,c,d),this.skipped.splice(b--,1))}return!(this.skipped.length>=b)&&(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(a,b){this.skipped.push({from:a,to:b})}static getSkippingParser(a){return new class extends e.iX{createParse(b,c,d){let f=d[0].from,g=d[d.length-1].to;return{parsedPos:f,advance(){let b=r;if(b){for(let a of d)b.tempSkipped.push(a);a&&(b.scheduleOn=b.scheduleOn?Promise.all([b.scheduleOn,a]):a)}return this.parsedPos=g,new e.PH(e.Z6.none,[],[],g-f)},stoppedAt:null,stopAt(){}}}}}isDone(a){a=Math.min(a,this.state.doc.length);let b=this.fragments;return this.treeLen>=a&&b.length&&0==b[0].from&&b[0].to>=a}static get(){return r}}function t(a,b,c){return e.rr.applyChanges(a,[{fromA:b,toA:c,fromB:b,toB:c}])}class u{constructor(a){this.context=a,this.tree=a.tree}apply(a){if(!a.docChanged&&this.tree==this.context.tree)return this;let b=this.context.changes(a.changes,a.state),c=this.context.treeLen==a.startState.doc.length?void 0:Math.max(a.changes.mapPos(this.context.treeLen),b.viewport.to);return b.work(20,c)||b.takeTree(),new u(b)}static init(a){let b=Math.min(3e3,a.doc.length),c=s.create(a.facet(y).parser,a,{from:0,to:b});return c.work(20,b)||c.takeTree(),new u(c)}}m.state=f.sU.define({create:u.init,update(a,b){for(let a of b.effects)if(a.is(m.setState))return a.value;return b.startState.facet(y)!=b.state.facet(y)?u.init(b.state):a.apply(b)}});let v=a=>{let b=setTimeout(()=>a(),500);return()=>clearTimeout(b)};"u">typeof requestIdleCallback&&(v=a=>{let b=-1,c=setTimeout(()=>{b=requestIdleCallback(a,{timeout:400})},100);return()=>b<0?clearTimeout(c):cancelIdleCallback(b)});let w="u">typeof navigator&&(null==(d=navigator.scheduling)?void 0:d.isInputPending)?()=>navigator.scheduling.isInputPending():null,x=g.Z9.fromClass(class{constructor(a){this.view=a,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(a){let b=this.view.state.field(m.state).context;(b.updateViewport(a.view.viewport)||this.view.viewport.to>b.treeLen)&&this.scheduleWork(),(a.docChanged||a.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(b)}scheduleWork(){if(this.working)return;let{state:a}=this.view,b=a.field(m.state);b.tree==b.context.tree&&b.context.isDone(a.doc.length)||(this.working=v(this.work))}work(a){this.working=null;let b=Date.now();if(this.chunkEnd<b&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=b+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:c,viewport:{to:d}}=this.view,e=c.field(m.state);if(e.tree==e.context.tree&&e.context.isDone(d+1e5))return;let f=Date.now()+Math.min(this.chunkBudget,100,a&&!w?Math.max(25,a.timeRemaining()-5):1e9),g=e.context.treeLen<d&&c.doc.length>d+1e3,h=e.context.work(()=>w&&w()||Date.now()>f,d+1e5*!g);this.chunkBudget-=Date.now()-b,(h||this.chunkBudget<=0)&&(e.context.takeTree(),this.view.dispatch({effects:m.setState.of(new u(e.context))})),this.chunkBudget>0&&!(h&&!g)&&this.scheduleWork(),this.checkAsyncSchedule(e.context)}checkAsyncSchedule(a){a.scheduleOn&&(this.workScheduled++,a.scheduleOn.then(()=>this.scheduleWork()).catch(a=>(0,g.c_)(this.view.state,a)).then(()=>this.workScheduled--),a.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),y=f.sj.define({combine:a=>a.length?a[0]:null,enables:a=>[m.state,x,g.Lz.contentAttributes.compute([a],b=>{let c=b.facet(a);return c&&c.name?{"data-language":c.name}:{}})]});class z{constructor(a,b=[]){this.language=a,this.support=b,this.extension=[a,b]}}class A{constructor(a,b,c,d,e,f){this.name=a,this.alias=b,this.extensions=c,this.filename=d,this.loadFunc=e,this.support=f,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then(a=>this.support=a,a=>{throw this.loading=null,a}))}static of(a){let{load:b,support:c}=a;if(!b){if(!c)throw RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");b=()=>Promise.resolve(c)}return new A(a.name,(a.alias||[]).concat(a.name).map(a=>a.toLowerCase()),a.extensions||[],a.filename,b,c)}static matchFilename(a,b){for(let c of a)if(c.filename&&c.filename.test(b))return c;let c=/\.([^.]+)$/.exec(b);if(c){for(let b of a)if(b.extensions.indexOf(c[1])>-1)return b}return null}static matchLanguageName(a,b,c=!0){for(let c of(b=b.toLowerCase(),a))if(c.alias.some(a=>a==b))return c;if(c)for(let c of a)for(let a of c.alias){let d=b.indexOf(a);if(d>-1&&(a.length>2||!/\w/.test(b[d-1])&&!/\w/.test(b[d+a.length])))return c}return null}}let B=f.sj.define(),C=f.sj.define({combine:a=>{if(!a.length)return" ";let b=a[0];if(!b||/\S/.test(b)||Array.from(b).some(a=>a!=b[0]))throw Error("Invalid indent unit: "+JSON.stringify(a[0]));return b}});function D(a){let b=a.facet(C);return 9==b.charCodeAt(0)?a.tabSize*b.length:b.length}function E(a,b){let c="",d=a.tabSize,e=a.facet(C)[0];if(" "==e){for(;b>=d;)c+=" ",b-=d;e=" "}for(let a=0;a<b;a++)c+=e;return c}function F(a,b){for(let c of(a instanceof f.$t&&(a=new G(a)),a.state.facet(B))){let d=c(a,b);if(void 0!==d)return d}let c=p(a.state);return c.length>=b?function(a,b,c){let d=b.resolveStack(c),e=b.resolveInner(c,-1).resolve(c,0).enterUnfinishedNodesBefore(c);if(e!=d.node){let a=[];for(let b=e;b&&!(b.from<d.node.from||b.to>d.node.to||b.from==d.node.from&&b.type==d.node.type);b=b.parent)a.push(b);for(let b=a.length-1;b>=0;b--)d={node:a[b],next:d}}return I(d,a,c)}(a,c,b):null}class G{constructor(a,b={}){this.state=a,this.options=b,this.unit=D(a)}lineAt(a,b=1){let c=this.state.doc.lineAt(a),{simulateBreak:d,simulateDoubleBreak:e}=this.options;if(null!=d&&d>=c.from&&d<=c.to)if(e&&d==a)return{text:"",from:a};else if(b<0?d<a:d<=a)return{text:c.text.slice(d-c.from),from:d};else return{text:c.text.slice(0,d-c.from),from:c.from};return c}textAfterPos(a,b=1){if(this.options.simulateDoubleBreak&&a==this.options.simulateBreak)return"";let{text:c,from:d}=this.lineAt(a,b);return c.slice(a-d,Math.min(c.length,a+100-d))}column(a,b=1){let{text:c,from:d}=this.lineAt(a,b),e=this.countColumn(c,a-d),f=this.options.overrideIndentation?this.options.overrideIndentation(d):-1;return f>-1&&(e+=f-this.countColumn(c,c.search(/\S|$/))),e}countColumn(a,b=a.length){return(0,f.y$)(a,this.state.tabSize,b)}lineIndent(a,b=1){let{text:c,from:d}=this.lineAt(a,b),e=this.options.overrideIndentation;if(e){let a=e(d);if(a>-1)return a}return this.countColumn(c,c.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}let H=new e.uY;function I(a,b,c){for(let d=a;d;d=d.next){let a=function(a){let b=a.type.prop(H);if(b)return b;let c=a.firstChild,d;if(c&&(d=c.type.prop(e.uY.closedBy))){let b=a.lastChild,c=b&&d.indexOf(b.name)>-1;return a=>M(a,!0,1,void 0,c&&!(a.pos==a.options.simulateBreak&&a.options.simulateDoubleBreak)?b.from:void 0)}return null==a.parent?J:null}(d.node);if(a)return a(K.create(b,c,d))}return 0}function J(){return 0}class K extends G{constructor(a,b,c){super(a.state,a.options),this.base=a,this.pos=b,this.context=c}get node(){return this.context.node}static create(a,b,c){return new K(a,b,c)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(a){let b=this.state.doc.lineAt(a.from);for(;;){let c=a.resolve(b.from);for(;c.parent&&c.parent.from==c.from;)c=c.parent;if(function(a,b){for(let c=b;c;c=c.parent)if(a==c)return!0;return!1}(c,a))break;b=this.state.doc.lineAt(c.from)}return this.lineIndent(b.from)}continue(){return I(this.context.next,this.base,this.pos)}}function L({closing:a,align:b=!0,units:c=1}){return d=>M(d,b,c,a)}function M(a,b,c,d,e){let f=a.textAfter,g=f.match(/^\s*/)[0].length,h=d&&f.slice(g,g+d.length)==d||e==a.pos+g,i=b?function(a){let b=a.node,c=b.childAfter(b.from),d=b.lastChild;if(!c)return null;let e=a.options.simulateBreak,f=a.state.doc.lineAt(c.from),g=null==e||e<=f.from?f.to:Math.min(f.to,e);for(let a=c.to;;){let e=b.childAfter(a);if(!e||e==d)return null;if(!e.type.isSkipped){if(e.from>=g)return null;let a=/^ */.exec(f.text.slice(c.to-f.from))[0].length;return{from:c.from,to:c.to+a}}a=e.to}}(a):null;return i?h?a.column(i.from):a.column(i.to):a.baseIndent+(h?0:a.unit*c)}let N=a=>a.baseIndent;function O({except:a,units:b=1}={}){return c=>{let d=a&&a.test(c.textAfter);return c.baseIndent+(d?0:b*c.unit)}}let P=f.sj.define(),Q=new e.uY;function R(a){let b=a.firstChild,c=a.lastChild;return b&&b.to<c.from?{from:b.to,to:c.type.isError?a.to:c.from}:null}function S(a,b){let c=b.mapPos(a.from,1),d=b.mapPos(a.to,-1);return c>=d?void 0:{from:c,to:d}}let T=f.Pe.define({map:S}),U=f.Pe.define({map:S}),V=f.sU.define({create:()=>g.NZ.none,update(a,b){for(let c of(b.isUserEvent("delete")&&b.changes.iterChangedRanges((b,c)=>a=W(a,b,c)),a=a.map(b.changes),b.effects))if(c.is(T)&&!function(a,b,c){let d=!1;return a.between(b,b,(a,e)=>{a==b&&e==c&&(d=!0)}),d}(a,c.value.from,c.value.to)){let{preparePlaceholder:d}=b.state.facet(Y),e=d?g.NZ.replace({widget:new _(d(b.state,c.value))}):$;a=a.update({add:[e.range(c.value.from,c.value.to)]})}else c.is(U)&&(a=a.update({filter:(a,b)=>c.value.from!=a||c.value.to!=b,filterFrom:c.value.from,filterTo:c.value.to}));return b.selection&&(a=W(a,b.selection.main.head)),a},provide:a=>g.Lz.decorations.from(a),toJSON(a,b){let c=[];return a.between(0,b.doc.length,(a,b)=>{c.push(a,b)}),c},fromJSON(a){if(!Array.isArray(a)||a.length%2)throw RangeError("Invalid JSON for fold state");let b=[];for(let c=0;c<a.length;){let d=a[c++],e=a[c++];if("number"!=typeof d||"number"!=typeof e)throw RangeError("Invalid JSON for fold state");b.push($.range(d,e))}return g.NZ.set(b,!0)}});function W(a,b,c=b){let d=!1;return a.between(b,c,(a,e)=>{a<c&&e>b&&(d=!0)}),d?a.update({filterFrom:b,filterTo:c,filter:(a,d)=>a>=c||d<=b}):a}let X={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},Y=f.sj.define({combine:a=>(0,f.QR)(a,X)});function Z(a,b){let{state:c}=a,d=c.facet(Y),e=b=>{var c,d,e,f;let g,h=a.lineBlockAt(a.posAtDOM(b.target)),i=(c=a.state,d=h.from,e=h.to,g=null,null==(f=c.field(V,!1))||f.between(d,e,(a,b)=>{(!g||g.from>a)&&(g={from:a,to:b})}),g);i&&a.dispatch({effects:U.of(i)}),b.preventDefault()};if(d.placeholderDOM)return d.placeholderDOM(a,e,b);let f=document.createElement("span");return f.textContent=d.placeholderText,f.setAttribute("aria-label",c.phrase("folded code")),f.title=c.phrase("unfold"),f.className="cm-foldPlaceholder",f.onclick=e,f}let $=g.NZ.replace({widget:new class extends g.xO{toDOM(a){return Z(a,null)}}});class _ extends g.xO{constructor(a){super(),this.value=a}eq(a){return this.value==a.value}toDOM(a){return Z(a,this.value)}}g.wJ;class aa{constructor(a,b){let c;function d(a){let b=i.G.newName();return(c||(c=Object.create(null)))["."+b]=a,b}this.specs=a;let e="string"==typeof b.all?b.all:b.all?d(b.all):void 0,f=b.scope;this.scope=f instanceof m?a=>a.prop(j)==f.data:f?a=>a==f:void 0,this.style=(0,h.az)(a.map(a=>({tag:a.tag,class:a.class||d(Object.assign({},a,{tag:null}))})),{all:e}).style,this.module=c?new i.G(c):null,this.themeType=b.themeType}static define(a,b){return new aa(a,b||{})}}let ab=f.sj.define(),ac=f.sj.define({combine:a=>a.length?[a[0]]:null});function ad(a){let b=a.facet(ab);return b.length?b:a.facet(ac)}function ae(a,b){let c=[ag],d;return a instanceof aa&&(a.module&&c.push(g.Lz.styleModule.of(a.module)),d=a.themeType),(null==b?void 0:b.fallback)?c.push(ac.of(a)):d?c.push(ab.computeN([g.Lz.darkTheme],b=>b.facet(g.Lz.darkTheme)==("dark"==d)?[a]:[])):c.push(ab.of(a)),c}class af{constructor(a){this.markCache=Object.create(null),this.tree=p(a.state),this.decorations=this.buildDeco(a,ad(a.state)),this.decoratedTo=a.viewport.to}update(a){let b=p(a.state),c=ad(a.state),d=c!=ad(a.startState),{viewport:e}=a.view,f=a.changes.mapPos(this.decoratedTo,1);b.length<e.to&&!d&&b.type==this.tree.type&&f>=e.to?(this.decorations=this.decorations.map(a.changes),this.decoratedTo=f):(b!=this.tree||a.viewportChanged||d)&&(this.tree=b,this.decorations=this.buildDeco(a.view,c),this.decoratedTo=e.to)}buildDeco(a,b){if(!b||!this.tree.length)return g.NZ.none;let c=new f.vB;for(let{from:d,to:e}of a.visibleRanges)(0,h.DM)(this.tree,b,(a,b,d)=>{c.add(a,b,this.markCache[d]||(this.markCache[d]=g.NZ.mark({class:d})))},d,e);return c.finish()}}let ag=f.Nb.high(g.Z9.fromClass(af,{decorations:a=>a.decorations})),ah=aa.define([{tag:h._A.meta,color:"#404740"},{tag:h._A.link,textDecoration:"underline"},{tag:h._A.heading,textDecoration:"underline",fontWeight:"bold"},{tag:h._A.emphasis,fontStyle:"italic"},{tag:h._A.strong,fontWeight:"bold"},{tag:h._A.strikethrough,textDecoration:"line-through"},{tag:h._A.keyword,color:"#708"},{tag:[h._A.atom,h._A.bool,h._A.url,h._A.contentSeparator,h._A.labelName],color:"#219"},{tag:[h._A.literal,h._A.inserted],color:"#164"},{tag:[h._A.string,h._A.deleted],color:"#a11"},{tag:[h._A.regexp,h._A.escape,h._A.special(h._A.string)],color:"#e40"},{tag:h._A.definition(h._A.variableName),color:"#00f"},{tag:h._A.local(h._A.variableName),color:"#30a"},{tag:[h._A.typeName,h._A.namespace],color:"#085"},{tag:h._A.className,color:"#167"},{tag:[h._A.special(h._A.variableName),h._A.macroName],color:"#256"},{tag:h._A.definition(h._A.propertyName),color:"#00c"},{tag:h._A.comment,color:"#940"},{tag:h._A.invalid,color:"#f00"}]),ai="()[]{}",aj=g.NZ.mark({class:"cm-matchingBracket"}),ak=g.NZ.mark({class:"cm-nonmatchingBracket"});function al(a){let b=[],c=a.matched?aj:ak;return b.push(c.range(a.start.from,a.start.to)),a.end&&b.push(c.range(a.end.from,a.end.to)),b}let am=new e.uY;function an(a,b,c){let d=a.prop(b<0?e.uY.openedBy:e.uY.closedBy);if(d)return d;if(1==a.name.length){let d=c.indexOf(a.name);if(d>-1&&d%2==+(b<0))return[c[d+b]]}return null}function ao(a){let b=a.type.prop(am);return b?b(a.node):a}function ap(a,b,c,d={}){let e=d.maxScanDistance||1e4,f=d.brackets||ai,g=p(a),h=g.resolveInner(b,c);for(let a=h;a;a=a.parent){let d=an(a.type,c,f);if(d&&a.from<a.to){let e=ao(a);if(e&&(c>0?b>=e.from&&b<e.to:b>e.from&&b<=e.to))return function(a,b,c,d,e){let f=b.parent,g={from:c.from,to:c.to},h=0,i=null==f?void 0:f.cursor();if(i&&(a<0?i.childBefore(b.from):i.childAfter(b.to)))do if(a<0?i.to<=b.from:i.from>=b.to){if(0==h&&d.indexOf(i.type.name)>-1&&i.from<i.to){let a=ao(i);return{start:g,end:a?{from:a.from,to:a.to}:void 0,matched:!0}}else if(an(i.type,a,e))h++;else if(an(i.type,-a,e)){if(0==h){let a=ao(i);return{start:g,end:a&&a.from<a.to?{from:a.from,to:a.to}:void 0,matched:!1}}h--}}while(a<0?i.prevSibling():i.nextSibling());return{start:g,matched:!1}}(c,a,e,d,f)}}return function(a,b,c,d,e,f,g){if(c<0?!b:b==a.doc.length)return null;let h=c<0?a.sliceDoc(b-1,b):a.sliceDoc(b,b+1),i=g.indexOf(h);if(i<0||i%2==0!=c>0)return null;let j={from:c<0?b-1:b,to:c>0?b+1:b},k=a.doc.iterRange(b,c>0?a.doc.length:0),l=0;for(let a=0;!k.next().done&&a<=f;){let f=k.value;c<0&&(a+=f.length);let h=b+a*c;for(let a=c>0?0:f.length-1,b=c>0?f.length:-1;a!=b;a+=c){let b=g.indexOf(f[a]);if(!(b<0)&&d.resolveInner(h+a,1).type==e)if(b%2==0==c>0)l++;else{if(1==l)return{start:j,end:{from:h+a,to:h+a+1},matched:b>>1==i>>1};l--}}c>0&&(a+=f.length)}return k.done?{start:j,matched:!1}:null}(a,b,c,g,h.type,e,f)}let aq=Object.create(null),ar=[e.Z6.none],as=[],at=Object.create(null),au=Object.create(null);for(let[a,b]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])au[a]=function(a,b){let c=[];for(let d of b.split(" ")){let b=[];for(let c of d.split(".")){let d=a[c]||h._A[c];d?"function"==typeof d?b.length?b=b.map(d):av(c,`Modifier ${c} used at start of tag`):b.length?av(c,`Tag ${c} used as modifier`):b=Array.isArray(d)?d:[d]:av(c,`Unknown highlighting tag ${c}`)}for(let a of b)c.push(a)}if(!c.length)return 0;let d=b.replace(/ /g,"_"),f=d+" "+c.map(a=>a.id),g=at[f];if(g)return g.id;let i=at[f]=e.Z6.define({id:ar.length,name:d,props:[(0,h.pn)({[d]:c})]});return ar.push(i),i.id}(aq,b);function av(a,b){as.indexOf(a)>-1||(as.push(a),console.warn(b))}g.OP.RTL,g.OP.LTR},19224:(a,b,c)=>{a.exports=c.p+"static/media/pdf.worker.min.94f8ceaf.mjs"},22751:(a,b,c)=>{var d,e;c.d(b,{$g:()=>L,PH:()=>p,Qj:()=>d,RY:()=>H,Z6:()=>l,cF:()=>f,fI:()=>m,iX:()=>J,rr:()=>I,uY:()=>i});let f=1024,g=0;class h{constructor(a,b){this.from=a,this.to=b}}class i{constructor(a={}){this.id=g++,this.perNode=!!a.perNode,this.deserialize=a.deserialize||(()=>{throw Error("This node type doesn't define a deserialize function")}),this.combine=a.combine||null}add(a){if(this.perNode)throw RangeError("Can't add per-node props to node types");return"function"!=typeof a&&(a=l.match(a)),b=>{let c=a(b);return void 0===c?null:[this,c]}}}i.closedBy=new i({deserialize:a=>a.split(" ")}),i.openedBy=new i({deserialize:a=>a.split(" ")}),i.group=new i({deserialize:a=>a.split(" ")}),i.isolate=new i({deserialize:a=>{if(a&&"rtl"!=a&&"ltr"!=a&&"auto"!=a)throw RangeError("Invalid value for isolate: "+a);return a||"auto"}}),i.contextHash=new i({perNode:!0}),i.lookAhead=new i({perNode:!0}),i.mounted=new i({perNode:!0});class j{constructor(a,b,c,d=!1){this.tree=a,this.overlay=b,this.parser=c,this.bracketed=d}static get(a){return a&&a.props&&a.props[i.mounted.id]}}let k=Object.create(null);class l{constructor(a,b,c,d=0){this.name=a,this.props=b,this.id=c,this.flags=d}static define(a){let b=a.props&&a.props.length?Object.create(null):k,c=!!a.top|2*!!a.skipped|4*!!a.error|8*(null==a.name),d=new l(a.name||"",b,a.id,c);if(a.props){for(let c of a.props)if(Array.isArray(c)||(c=c(d)),c){if(c[0].perNode)throw RangeError("Can't store a per-node prop on a node type");b[c[0].id]=c[1]}}return d}prop(a){return this.props[a.id]}get isTop(){return(1&this.flags)>0}get isSkipped(){return(2&this.flags)>0}get isError(){return(4&this.flags)>0}get isAnonymous(){return(8&this.flags)>0}is(a){if("string"==typeof a){if(this.name==a)return!0;let b=this.prop(i.group);return!!b&&b.indexOf(a)>-1}return this.id==a}static match(a){let b=Object.create(null);for(let c in a)for(let d of c.split(" "))b[d]=a[c];return a=>{for(let c=a.prop(i.group),d=-1;d<(c?c.length:0);d++){let e=b[d<0?a.name:c[d]];if(e)return e}}}}l.none=new l("",Object.create(null),0,8);class m{constructor(a){this.types=a;for(let b=0;b<a.length;b++)if(a[b].id!=b)throw RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...a){let b=[];for(let c of this.types){let d=null;for(let b of a){let a=b(c);if(a){d||(d=Object.assign({},c.props));let b=a[1],e=a[0];e.combine&&e.id in d&&(b=e.combine(d[e.id],b)),d[e.id]=b}}b.push(d?new l(c.name,d,c.id,c.flags):c)}return new m(b)}}let n=new WeakMap,o=new WeakMap;(e=d||(d={}))[e.ExcludeBuffers=1]="ExcludeBuffers",e[e.IncludeAnonymous=2]="IncludeAnonymous",e[e.IgnoreMounts=4]="IgnoreMounts",e[e.IgnoreOverlays=8]="IgnoreOverlays",e[e.EnterBracketed=16]="EnterBracketed";class p{constructor(a,b,c,d,e){if(this.type=a,this.children=b,this.positions=c,this.length=d,this.props=null,e&&e.length)for(let[a,b]of(this.props=Object.create(null),e))this.props["number"==typeof a?a:a.id]=b}toString(){let a=j.get(this);if(a&&!a.overlay)return a.tree.toString();let b="";for(let a of this.children){let c=a.toString();c&&(b&&(b+=","),b+=c)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(b.length?"("+b+")":""):b}cursor(a=0){return new C(this.topNode,a)}cursorAt(a,b=0,c=0){let d=new C(n.get(this)||this.topNode);return d.moveTo(a,b),n.set(this,d._tree),d}get topNode(){return new v(this,0,0,null)}resolve(a,b=0){let c=t(n.get(this)||this.topNode,a,b,!1);return n.set(this,c),c}resolveInner(a,b=0){let c=t(o.get(this)||this.topNode,a,b,!0);return o.set(this,c),c}resolveStack(a,b=0){return function(a,b,c){let d=a.resolveInner(b,c),e=null;for(let a=d instanceof v?d:d.context.parent;a;a=a.parent)if(a.index<0){let f=a.parent;(e||(e=[d])).push(f.resolve(b,c)),a=f}else{let f=j.get(a.tree);if(f&&f.overlay&&f.overlay[0].from<=b&&f.overlay[f.overlay.length-1].to>=b){let g=new v(f.tree,f.overlay[0].from+a.from,-1,a);(e||(e=[d])).push(t(g,b,c,!1))}}return e?A(e):d}(this,a,b)}iterate(a){let{enter:b,leave:c,from:e=0,to:f=this.length}=a,g=a.mode||0,h=(g&d.IncludeAnonymous)>0;for(let a=this.cursor(g|d.IncludeAnonymous);;){let d=!1;if(a.from<=f&&a.to>=e&&(!h&&a.type.isAnonymous||!1!==b(a))){if(a.firstChild())continue;d=!0}for(;d&&c&&(h||!a.type.isAnonymous)&&c(a),!a.nextSibling();){if(!a.parent())return;d=!0}}}prop(a){return a.perNode?this.props?this.props[a.id]:void 0:this.type.prop(a)}get propValues(){let a=[];if(this.props)for(let b in this.props)a.push([+b,this.props[b]]);return a}balance(a={}){return this.children.length<=8?this:G(l.none,this.children,this.positions,0,this.children.length,0,this.length,(a,b,c)=>new p(this.type,a,b,c,this.propValues),a.makeTree||((a,b,c)=>new p(l.none,a,b,c)))}static build(a){return function(a){var b;let{buffer:c,nodeSet:d,maxBufferLength:e=f,reused:g=[],minRepeatType:h=d.types.length}=a,j=Array.isArray(c)?new q(c,c.length):c,k=d.types,l=0,m=0;function n(a,b,c,e,f,g,h,i,j){let k=[],l=[];for(;a.length>e;)k.push(a.pop()),l.push(b.pop()+c-f);a.push(o(d.types[h],k,l,g-f,i-g,j)),b.push(f-c)}function o(a,b,c,d,e,f,g){if(f){let a=[i.contextHash,f];g=g?[a].concat(g):[a]}if(e>25){let a=[i.lookAhead,e];g=g?[a].concat(g):[a]}return new p(a,b,c,d,g)}let s=[],t=[];for(;j.pos>0;)!function a(b,c,f,q,s,t){let{id:u,start:v,end:w,size:x}=j,y=m,z=l;if(x<0){if(j.next(),-1==x){let a=g[u];f.push(a),q.push(v-b);return}if(-3==x){l=u;return}if(-4==x){m=u;return}else throw RangeError(`Unrecognized record size: ${x}`)}let A=k[u],B,C,D=v-b;if(w-v<=e&&(C=function(a,b){let c=j.fork(),d=0,f=0,g=0,i=c.end-e,k={size:0,start:0,skip:0};a:for(let e=c.pos-a;c.pos>e;){let a=c.size;if(c.id==b&&a>=0){k.size=d,k.start=f,k.skip=g,g+=4,d+=4,c.next();continue}let j=c.pos-a;if(a<0||j<e||c.start<i)break;let l=4*(c.id>=h),m=c.start;for(c.next();c.pos>j;){if(c.size<0)if(-3==c.size||-4==c.size)l+=4;else break a;else c.id>=h&&(l+=4);c.next()}f=m,d+=a,g+=l}return(b<0||d==a)&&(k.size=d,k.start=f,k.skip=g),k.size>4?k:void 0}(j.pos-c,s))){let a=new Uint16Array(C.size-C.skip),c=j.pos-C.size,e=a.length;for(;j.pos>c;)e=function a(b,c,d){let{id:e,start:f,end:g,size:i}=j;if(j.next(),i>=0&&e<h){let h=d;if(i>4){let e=j.pos-(i-4);for(;j.pos>e;)d=a(b,c,d)}c[--d]=h,c[--d]=g-b,c[--d]=f-b,c[--d]=e}else -3==i?l=e:-4==i&&(m=e);return d}(C.start,a,e);B=new r(a,w-C.start,d),D=C.start-b}else{let b=j.pos-x;j.next();let c=[],f=[],g=u>=h?u:-1,k=0,l=w;for(;j.pos>b;)g>=0&&j.id==g&&j.size>=0?(j.end<=l-e&&(n(c,f,v,k,j.end,l,g,y,z),k=c.length,l=j.end),j.next()):t>2500?function(a,b,c,f){let g=[],h=0,i=-1;for(;j.pos>b;){let{id:a,start:b,end:c,size:d}=j;if(d>4)j.next();else if(i>-1&&b<i)break;else i<0&&(i=c-e),g.push(a,b,c),h++,j.next()}if(h){let b=new Uint16Array(4*h),e=g[g.length-2];for(let a=g.length-3,c=0;a>=0;a-=3)b[c++]=g[a],b[c++]=g[a+1]-e,b[c++]=g[a+2]-e,b[c++]=c;c.push(new r(b,g[2]-e,d)),f.push(e-a)}}(v,b,c,f):a(v,b,c,f,g,t+1);if(g>=0&&k>0&&k<c.length&&n(c,f,v,k,v,l,g,y,z),c.reverse(),f.reverse(),g>-1&&k>0){let a=function(a,b){return(c,d,e)=>{let f=0,g=c.length-1,h,j;if(g>=0&&(h=c[g])instanceof p){if(!g&&h.type==a&&h.length==e)return h;(j=h.prop(i.lookAhead))&&(f=d[g]+h.length+j)}return o(a,c,d,e,f,b)}}(A,z);B=G(A,c,f,0,c.length,0,w-v,a,a)}else B=o(A,c,f,w-v,y-w,z)}f.push(B),q.push(D)}(a.start||0,a.bufferStart||0,s,t,-1,0);let u=null!=(b=a.length)?b:s.length?t[0]+s[0].length:0;return new p(k[a.topID],s.reverse(),t.reverse(),u)}(a)}}p.empty=new p(l.none,[],[],0);class q{constructor(a,b){this.buffer=a,this.index=b}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new q(this.buffer,this.index)}}class r{constructor(a,b,c){this.buffer=a,this.length=b,this.set=c}get type(){return l.none}toString(){let a=[];for(let b=0;b<this.buffer.length;)a.push(this.childString(b)),b=this.buffer[b+3];return a.join(",")}childString(a){let b=this.buffer[a],c=this.buffer[a+3],d=this.set.types[b],e=d.name;if(/\W/.test(e)&&!d.isError&&(e=JSON.stringify(e)),c==(a+=4))return e;let f=[];for(;a<c;)f.push(this.childString(a)),a=this.buffer[a+3];return e+"("+f.join(",")+")"}findChild(a,b,c,d,e){let{buffer:f}=this,g=-1;for(let h=a;h!=b&&(!s(e,d,f[h+1],f[h+2])||(g=h,!(c>0)));h=f[h+3]);return g}slice(a,b,c){let d=this.buffer,e=new Uint16Array(b-a),f=0;for(let g=a,h=0;g<b;){e[h++]=d[g++],e[h++]=d[g++]-c;let b=e[h++]=d[g++]-c;e[h++]=d[g++]-a,f=Math.max(f,b)}return new r(e,f,this.set)}}function s(a,b,c,d){switch(a){case -2:return c<b;case -1:return d>=b&&c<b;case 0:return c<b&&d>b;case 1:return c<=b&&d>b;case 2:return d>b;case 4:return!0}}function t(a,b,c,e){for(var f;a.from==a.to||(c<1?a.from>=b:a.from>b)||(c>-1?a.to<=b:a.to<b);){let b=!e&&a instanceof v&&a.index<0?null:a.parent;if(!b)return a;a=b}let g=e?0:d.IgnoreOverlays;if(e)for(let d=a,e=d.parent;e;e=(d=e).parent)d instanceof v&&d.index<0&&(null==(f=e.enter(b,c,g))?void 0:f.from)!=d.from&&(a=e);for(;;){let d=a.enter(b,c,g);if(!d)return a;a=d}}class u{cursor(a=0){return new C(this,a)}getChild(a,b=null,c=null){let d=w(this,a,b,c);return d.length?d[0]:null}getChildren(a,b=null,c=null){return w(this,a,b,c)}resolve(a,b=0){return t(this,a,b,!1)}resolveInner(a,b=0){return t(this,a,b,!0)}matchContext(a){return x(this.parent,a)}enterUnfinishedNodesBefore(a){let b=this.childBefore(a),c=this;for(;b;){let a=b.lastChild;if(!a||a.to!=b.to)break;a.type.isError&&a.from==a.to?(c=b,b=a.prevSibling):b=a}return c}get node(){return this}get next(){return this.parent}}class v extends u{constructor(a,b,c,d){super(),this._tree=a,this.from=b,this.index=c,this._parent=d}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(a,b,c,e,f=0){for(let g=this;;){for(let{children:h,positions:i}=g._tree,k=b>0?h.length:-1;a!=k;a+=b){let k=h[a],l=i[a]+g.from,m;if(f&d.EnterBracketed&&k instanceof p&&(m=j.get(k))&&!m.overlay&&m.bracketed&&c>=l&&c<=l+k.length||s(e,c,l,l+k.length)){if(k instanceof r){if(f&d.ExcludeBuffers)continue;let h=k.findChild(0,k.buffer.length,b,c-l,e);if(h>-1)return new z(new y(g,k,a,l),null,h)}else if(f&d.IncludeAnonymous||!k.type.isAnonymous||D(k)){let h;if(!(f&d.IgnoreMounts)&&(h=j.get(k))&&!h.overlay)return new v(h.tree,l,a,g);let i=new v(k,l,a,g);return f&d.IncludeAnonymous||!i.type.isAnonymous?i:i.nextChild(b<0?k.children.length-1:0,b,c,e,f)}}}if(f&d.IncludeAnonymous||!g.type.isAnonymous||(a=g.index>=0?g.index+b:b<0?-1:g._parent._tree.children.length,!(g=g._parent)))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(a){return this.nextChild(0,1,a,2)}childBefore(a){return this.nextChild(this._tree.children.length-1,-1,a,-2)}prop(a){return this._tree.prop(a)}enter(a,b,c=0){let e;if(!(c&d.IgnoreOverlays)&&(e=j.get(this._tree))&&e.overlay){let f=a-this.from,g=c&d.EnterBracketed&&e.bracketed;for(let{from:a,to:c}of e.overlay)if((b>0||g?a<=f:a<f)&&(b<0||g?c>=f:c>f))return new v(e.tree,e.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,a,b,c)}nextSignificantParent(){let a=this;for(;a.type.isAnonymous&&a._parent;)a=a._parent;return a}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}}function w(a,b,c,d){let e=a.cursor(),f=[];if(!e.firstChild())return f;if(null!=c){for(let a=!1;!a;)if(a=e.type.is(c),!e.nextSibling())return f}for(;;){if(null!=d&&e.type.is(d))return f;if(e.type.is(b)&&f.push(e.node),!e.nextSibling())return null==d?f:[]}}function x(a,b,c=b.length-1){for(let d=a;c>=0;d=d.parent){if(!d)return!1;if(!d.type.isAnonymous){if(b[c]&&b[c]!=d.name)return!1;c--}}return!0}class y{constructor(a,b,c,d){this.parent=a,this.buffer=b,this.index=c,this.start=d}}class z extends u{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(a,b,c){super(),this.context=a,this._parent=b,this.index=c,this.type=a.buffer.set.types[a.buffer.buffer[c]]}child(a,b,c){let{buffer:d}=this.context,e=d.findChild(this.index+4,d.buffer[this.index+3],a,b-this.context.start,c);return e<0?null:new z(this.context,this,e)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(a){return this.child(1,a,2)}childBefore(a){return this.child(-1,a,-2)}prop(a){return this.type.prop(a)}enter(a,b,c=0){if(c&d.ExcludeBuffers)return null;let{buffer:e}=this.context,f=e.findChild(this.index+4,e.buffer[this.index+3],b>0?1:-1,a-this.context.start,b);return f<0?null:new z(this.context,this,f)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(a){return this._parent?null:this.context.parent.nextChild(this.context.index+a,a,0,4)}get nextSibling(){let{buffer:a}=this.context,b=a.buffer[this.index+3];return b<(this._parent?a.buffer[this._parent.index+3]:a.buffer.length)?new z(this.context,this._parent,b):this.externalSibling(1)}get prevSibling(){let{buffer:a}=this.context,b=this._parent?this._parent.index+4:0;return this.index==b?this.externalSibling(-1):new z(this.context,this._parent,a.findChild(b,this.index,-1,0,4))}get tree(){return null}toTree(){let a=[],b=[],{buffer:c}=this.context,d=this.index+4,e=c.buffer[this.index+3];if(e>d){let f=c.buffer[this.index+1];a.push(c.slice(d,e,f)),b.push(0)}return new p(this.type,a,b,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function A(a){if(!a.length)return null;let b=0,c=a[0];for(let d=1;d<a.length;d++){let e=a[d];(e.from>c.from||e.to<c.to)&&(c=e,b=d)}let d=c instanceof v&&c.index<0?null:c.parent,e=a.slice();return d?e[b]=d:e.splice(b,1),new B(e,c)}class B{constructor(a,b){this.heads=a,this.node=b}get next(){return A(this.heads)}}class C{get name(){return this.type.name}constructor(a,b=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=b&~d.EnterBracketed,a instanceof v)this.yieldNode(a);else{this._tree=a.context.parent,this.buffer=a.context;for(let b=a._parent;b;b=b._parent)this.stack.unshift(b.index);this.bufferNode=a,this.yieldBuf(a.index)}}yieldNode(a){return!!a&&(this._tree=a,this.type=a.type,this.from=a.from,this.to=a.to,!0)}yieldBuf(a,b){this.index=a;let{start:c,buffer:d}=this.buffer;return this.type=b||d.set.types[d.buffer[a]],this.from=c+d.buffer[a+1],this.to=c+d.buffer[a+2],!0}yield(a){return!!a&&(a instanceof v?(this.buffer=null,this.yieldNode(a)):(this.buffer=a.context,this.yieldBuf(a.index,a.type)))}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(a,b,c){if(!this.buffer)return this.yield(this._tree.nextChild(a<0?this._tree._tree.children.length-1:0,a,b,c,this.mode));let{buffer:d}=this.buffer,e=d.findChild(this.index+4,d.buffer[this.index+3],a,b-this.buffer.start,c);return!(e<0)&&(this.stack.push(this.index),this.yieldBuf(e))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(a){return this.enterChild(1,a,2)}childBefore(a){return this.enterChild(-1,a,-2)}enter(a,b,c=this.mode){return this.buffer?!(c&d.ExcludeBuffers)&&this.enterChild(1,a,b):this.yield(this._tree.enter(a,b,c))}parent(){if(!this.buffer)return this.yieldNode(this.mode&d.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let a=this.mode&d.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(a)}sibling(a){if(!this.buffer)return!!this._tree._parent&&this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+a,a,0,4,this.mode));let{buffer:b}=this.buffer,c=this.stack.length-1;if(a<0){let a=c<0?0:this.stack[c]+4;if(this.index!=a)return this.yieldBuf(b.findChild(a,this.index,-1,0,4))}else{let a=b.buffer[this.index+3];if(a<(c<0?b.buffer.length:b.buffer[this.stack[c]+3]))return this.yieldBuf(a)}return c<0&&this.yield(this.buffer.parent.nextChild(this.buffer.index+a,a,0,4,this.mode))}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(a){let b,c,{buffer:e}=this;if(e){if(a>0){if(this.index<e.buffer.buffer.length)return!1}else for(let a=0;a<this.index;a++)if(e.buffer.buffer[a+3]<this.index)return!1;({index:b,parent:c}=e)}else({index:b,_parent:c}=this._tree);for(;c;{index:b,_parent:c}=c)if(b>-1)for(let e=b+a,f=a<0?-1:c._tree.children.length;e!=f;e+=a){let a=c._tree.children[e];if(this.mode&d.IncludeAnonymous||a instanceof r||!a.type.isAnonymous||D(a))return!1}return!0}move(a,b){if(b&&this.enterChild(a,0,4))return!0;for(;;){if(this.sibling(a))return!0;if(this.atLastNode(a)||!this.parent())return!1}}next(a=!0){return this.move(1,a)}prev(a=!0){return this.move(-1,a)}moveTo(a,b=0){for(;(this.from==this.to||(b<1?this.from>=a:this.from>a)||(b>-1?this.to<=a:this.to<a))&&this.parent(););for(;this.enterChild(1,a,b););return this}get node(){if(!this.buffer)return this._tree;let a=this.bufferNode,b=null,c=0;if(a&&a.context==this.buffer)a:for(let d=this.index,e=this.stack.length;e>=0;){for(let f=a;f;f=f._parent)if(f.index==d){if(d==this.index)return f;b=f,c=e+1;break a}d=this.stack[--e]}for(let a=c;a<this.stack.length;a++)b=new z(this.buffer,b,this.stack[a]);return this.bufferNode=new z(this.buffer,b,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(a,b){for(let c=0;;){let d=!1;if(this.type.isAnonymous||!1!==a(this)){if(this.firstChild()){c++;continue}this.type.isAnonymous||(d=!0)}for(;;){if(d&&b&&b(this),d=this.type.isAnonymous,!c)return;if(this.nextSibling())break;this.parent(),c--,d=!0}}}matchContext(a){if(!this.buffer)return x(this.node.parent,a);let{buffer:b}=this.buffer,{types:c}=b.set;for(let d=a.length-1,e=this.stack.length-1;d>=0;e--){if(e<0)return x(this._tree,a,d);let f=c[b.buffer[this.stack[e]]];if(!f.isAnonymous){if(a[d]&&a[d]!=f.name)return!1;d--}}return!0}}function D(a){return a.children.some(a=>a instanceof r||!a.type.isAnonymous||D(a))}let E=new WeakMap;function F(a,b){if(!a.isAnonymous||b instanceof r||b.type!=a)return 1;let c=E.get(b);if(null==c){for(let d of(c=1,b.children)){if(d.type!=a||!(d instanceof p)){c=1;break}c+=F(a,d)}E.set(b,c)}return c}function G(a,b,c,d,e,f,g,h,i){let j=0;for(let c=d;c<e;c++)j+=F(a,b[c]);let k=Math.ceil(1.5*j/8),l=[],m=[];return!function b(c,d,e,g,h){for(let j=e;j<g;){let e=j,n=d[j],o=F(a,c[j]);for(j++;j<g;j++){let b=F(a,c[j]);if(o+b>=k)break;o+=b}if(j==e+1){if(o>k){let a=c[e];b(a.children,a.positions,0,a.children.length,d[e]+h);continue}l.push(c[e])}else{let b=d[j-1]+c[j-1].length-n;l.push(G(a,c,d,e,j,n,b,null,i))}m.push(n+h-f)}}(b,c,d,e,0),(h||i)(l,m,g)}class H{constructor(){this.map=new WeakMap}setBuffer(a,b,c){let d=this.map.get(a);d||this.map.set(a,d=new Map),d.set(b,c)}getBuffer(a,b){let c=this.map.get(a);return c&&c.get(b)}set(a,b){a instanceof z?this.setBuffer(a.context.buffer,a.index,b):a instanceof v&&this.map.set(a.tree,b)}get(a){return a instanceof z?this.getBuffer(a.context.buffer,a.index):a instanceof v?this.map.get(a.tree):void 0}cursorSet(a,b){a.buffer?this.setBuffer(a.buffer.buffer,a.index,b):this.map.set(a.tree,b)}cursorGet(a){return a.buffer?this.getBuffer(a.buffer.buffer,a.index):this.map.get(a.tree)}}class I{constructor(a,b,c,d,e=!1,f=!1){this.from=a,this.to=b,this.tree=c,this.offset=d,this.open=!!e|2*!!f}get openStart(){return(1&this.open)>0}get openEnd(){return(2&this.open)>0}static addTree(a,b=[],c=!1){let d=[new I(0,a.length,a,0,!1,c)];for(let c of b)c.to>a.length&&d.push(c);return d}static applyChanges(a,b,c=128){if(!b.length)return a;let d=[],e=1,f=a.length?a[0]:null;for(let g=0,h=0,i=0;;g++){let j=g<b.length?b[g]:null,k=j?j.fromA:1e9;if(k-h>=c)for(;f&&f.from<k;){let b=f;if(h>=b.from||k<=b.to||i){let a=Math.max(b.from,h)-i,c=Math.min(b.to,k)-i;b=a>=c?null:new I(a,c,b.tree,b.offset+i,g>0,!!j)}if(b&&d.push(b),f.to>k)break;f=e<a.length?a[e++]:null}if(!j)break;h=j.toA,i=j.toA-j.toB}return d}}class J{startParse(a,b,c){return"string"==typeof a&&(a=new K(a)),c=c?c.length?c.map(a=>new h(a.from,a.to)):[new h(0,0)]:[new h(0,a.length)],this.createParse(a,b||[],c)}parse(a,b,c){let d=this.startParse(a,b,c);for(;;){let a=d.advance();if(a)return a}}}class K{constructor(a){this.string=a}get length(){return this.string.length}chunk(a){return this.string.slice(a)}get lineChunks(){return!1}read(a,b){return this.string.slice(a,b)}}function L(a){return(b,c,d,e)=>new Q(b,a,c,d,e)}class M{constructor(a,b,c,d,e,f){this.parser=a,this.parse=b,this.overlay=c,this.bracketed=d,this.target=e,this.from=f}}function N(a){if(!a.length||a.some(a=>a.from>=a.to))throw RangeError("Invalid inner parse ranges given: "+JSON.stringify(a))}class O{constructor(a,b,c,d,e,f,g,h){this.parser=a,this.predicate=b,this.mounts=c,this.index=d,this.start=e,this.bracketed=f,this.target=g,this.prev=h,this.depth=0,this.ranges=[]}}let P=new i({perNode:!0});class Q{constructor(a,b,c,d,e){this.nest=b,this.input=c,this.fragments=d,this.ranges=e,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=a}advance(){if(this.baseParse){let a=this.baseParse.advance();if(!a)return null;if(this.baseParse=null,this.baseTree=a,this.startInner(),null!=this.stoppedAt)for(let a of this.inner)a.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let a=this.baseTree;return null!=this.stoppedAt&&(a=new p(a.type,a.children,a.positions,a.length,a.propValues.concat([[P,this.stoppedAt]]))),a}let a=this.inner[this.innerDone],b=a.parse.advance();if(b){this.innerDone++;let c=Object.assign(Object.create(null),a.target.props);c[i.mounted.id]=new j(b,a.overlay,a.parser,a.bracketed),a.target.props=c}return null}get parsedPos(){if(this.baseParse)return 0;let a=this.input.length;for(let b=this.innerDone;b<this.inner.length;b++)this.inner[b].from<a&&(a=Math.min(a,this.inner[b].parse.parsedPos));return a}stopAt(a){if(this.stoppedAt=a,this.baseParse)this.baseParse.stopAt(a);else for(let b=this.innerDone;b<this.inner.length;b++)this.inner[b].parse.stopAt(a)}startInner(){let a=new T(this.fragments),b=null,c=null,e=new C(new v(this.baseTree,this.ranges[0].from,0,null),d.IncludeAnonymous|d.IgnoreMounts);a:for(let d,f;;){let g=!0,i;if(null!=this.stoppedAt&&e.from>=this.stoppedAt)g=!1;else if(a.hasNode(e)){if(b){let a=b.mounts.find(a=>a.frag.from<=e.from&&a.frag.to>=e.to&&a.mount.overlay);if(a)for(let c of a.mount.overlay){let d=c.from+a.pos,f=c.to+a.pos;d>=e.from&&f<=e.to&&!b.ranges.some(a=>a.from<f&&a.to>d)&&b.ranges.push({from:d,to:f})}}g=!1}else if(c&&(f=function(a,b,c){for(let d of a){if(d.from>=c)break;if(d.to>b)return d.from<=b&&d.to>=c?2:1}return 0}(c.ranges,e.from,e.to)))g=2!=f;else if(!e.type.isAnonymous&&(d=this.nest(e,this.input))&&(e.from<e.to||!d.overlay)){!e.tree&&(function(a){let{node:b}=a,c=[],d=b.context.buffer;do c.push(a.index),a.parent();while(!a.tree);let e=a.tree,f=e.children.indexOf(d),g=e.children[f],h=g.buffer,i=[f];for(let d of(e.children[f]=function a(d,e,f,j,k,l){let m=c[l],n=[],o=[];R(g,d,m,n,o,j);let q=h[m+1],r=h[m+2];i.push(n.length);let s=l?a(m+4,h[m+3],g.set.types[h[m]],q,r-q,l-1):b.toTree();return n.push(s),o.push(q-j),R(g,h[m+3],e,n,o,j),new p(f,n,o,k)}(0,h.length,l.none,0,g.length,c.length-1),i)){let b=a.tree.children[d],c=a.tree.positions[d];a.yield(new v(b,c+a.from,d,a._tree))}}(e),b&&b.depth++,c&&c.depth++);let f=a.findMounts(e.from,d.parser);if("function"==typeof d.overlay)b=new O(d.parser,d.overlay,f,this.inner.length,e.from,!!d.bracketed,e.tree,b);else{let a=U(this.ranges,d.overlay||(e.from<e.to?[new h(e.from,e.to)]:[]));a.length&&N(a),(a.length||!d.overlay)&&this.inner.push(new M(d.parser,a.length?d.parser.startParse(this.input,V(f,a),a):d.parser.startParse(""),d.overlay?d.overlay.map(a=>new h(a.from-e.from,a.to-e.from)):null,!!d.bracketed,e.tree,a.length?a[0].from:e.from)),d.overlay?a.length&&(c={ranges:a,depth:0,prev:c}):g=!1}}else if(b&&(i=b.predicate(e))&&(!0===i&&(i=new h(e.from,e.to)),i.from<i.to)){let a=b.ranges.length-1;a>=0&&b.ranges[a].to==i.from?b.ranges[a]={from:b.ranges[a].from,to:i.to}:b.ranges.push(i)}if(g&&e.firstChild())b&&b.depth++,c&&c.depth++;else for(;!e.nextSibling();){if(!e.parent())break a;if(b&&!--b.depth){let a=U(this.ranges,b.ranges);a.length&&(N(a),this.inner.splice(b.index,0,new M(b.parser,b.parser.startParse(this.input,V(b.mounts,a),a),b.ranges.map(a=>new h(a.from-b.start,a.to-b.start)),b.bracketed,b.target,a[0].from))),b=b.prev}!c||--c.depth||(c=c.prev)}}}}function R(a,b,c,d,e,f){if(b<c){let g=a.buffer[b+1];d.push(a.slice(b,c,g)),e.push(g-f)}}class S{constructor(a,b){this.offset=b,this.done=!1,this.cursor=a.cursor(d.IncludeAnonymous|d.IgnoreMounts)}moveTo(a){let{cursor:b}=this,c=a-this.offset;for(;!this.done&&b.from<c;)if(b.to>=a&&b.enter(c,1,d.IgnoreOverlays|d.ExcludeBuffers));else if(b.to<=a)b.next(!1)||(this.done=!0);else break}hasNode(a){if(this.moveTo(a.from),!this.done&&this.cursor.from+this.offset==a.from&&this.cursor.tree)for(let b=this.cursor.tree;;){if(b==a.tree)return!0;if(b.children.length&&0==b.positions[0]&&b.children[0]instanceof p)b=b.children[0];else break}return!1}}class T{constructor(a){var b;if(this.fragments=a,this.curTo=0,this.fragI=0,a.length){let c=this.curFrag=a[0];this.curTo=null!=(b=c.tree.prop(P))?b:c.to,this.inner=new S(c.tree,-c.offset)}else this.curFrag=this.inner=null}hasNode(a){for(;this.curFrag&&a.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=a.from&&this.curTo>=a.to&&this.inner.hasNode(a)}nextFrag(){var a;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let b=this.curFrag=this.fragments[this.fragI];this.curTo=null!=(a=b.tree.prop(P))?a:b.to,this.inner=new S(b.tree,-b.offset)}}findMounts(a,b){var c;let d=[];if(this.inner){this.inner.cursor.moveTo(a,1);for(let a=this.inner.cursor.node;a;a=a.parent){let e=null==(c=a.tree)?void 0:c.prop(i.mounted);if(e&&e.parser==b)for(let b=this.fragI;b<this.fragments.length;b++){let c=this.fragments[b];if(c.from>=a.to)break;c.tree==this.curFrag.tree&&d.push({frag:c,pos:a.from-c.offset,mount:e})}}}return d}}function U(a,b){let c=null,d=b;for(let e=1,f=0;e<a.length;e++){let g=a[e-1].to,i=a[e].from;for(;f<d.length;f++){let a=d[f];if(a.from>=i)break;!(a.to<=g)&&(c||(d=c=b.slice()),a.from<g?(c[f]=new h(a.from,g),a.to>i&&c.splice(f+1,0,new h(i,a.to))):a.to>i?c[f--]=new h(i,a.to):c.splice(f--,1))}}return d}function V(a,b){let c=[];for(let{pos:d,mount:e,frag:f}of a){let a=d+(e.overlay?e.overlay[0].from:0),g=a+e.tree.length,i=Math.max(f.from,a),j=Math.min(f.to,g);if(e.overlay){let g=function(a,b,c,d){let e=0,f=0,g=!1,i=!1,j=-1e9,k=[];for(;;){let l=e==a.length?1e9:g?a[e].to:a[e].from,m=f==b.length?1e9:i?b[f].to:b[f].from;if(g!=i){let a=Math.max(j,c),b=Math.min(l,m,d);a<b&&k.push(new h(a,b))}if(1e9==(j=Math.min(l,m)))break;l==j&&(g?(g=!1,e++):g=!0),m==j&&(i?(i=!1,f++):i=!0)}return k}(b,e.overlay.map(a=>new h(a.from+d,a.to+d)),i,j);for(let b=0,d=i;;b++){let h=b==g.length,i=h?j:g[b].from;if(i>d&&c.push(new I(d,i,e.tree,-a,f.from>=d||f.openStart,f.to<=i||f.openEnd)),h)break;d=g[b].to}}else c.push(new I(i,j,e.tree,-a,f.from>=a||f.openStart,f.to<=g||f.openEnd))}return c}},36554:(a,b,c)=>{let d;c.d(b,{NZ:()=>I,OP:()=>ai,Lz:()=>cK,wJ:()=>dm,Z9:()=>aP,xO:()=>G,ld:()=>dd,Eg:()=>db,dz:()=>cZ,w4:()=>cS,$K:()=>dE,c_:()=>aL,TS:()=>cV,ui:()=>di,S7:()=>dh,DK:()=>c9});for(var e,f,g,h=c(44072),i=c(64735),j={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},k={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},l="u">typeof navigator&&/Mac/.test(navigator.platform),m="u">typeof navigator&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent),n=0;n<10;n++)j[48+n]=j[96+n]=String(n);for(var n=1;n<=24;n++)j[n+111]="F"+n;for(var n=65;n<=90;n++)j[n]=String.fromCharCode(n+32),k[n]=String.fromCharCode(n);for(var o in j)k.hasOwnProperty(o)||(k[o]=j[o]);var p=c(60230);let q="u">typeof navigator?navigator:{userAgent:"",vendor:"",platform:""},r="u">typeof document?document:{documentElement:{style:{}}},s=/Edge\/(\d+)/.exec(q.userAgent),t=/MSIE \d/.test(q.userAgent),u=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(q.userAgent),v=!!(t||u||s),w=!v&&/gecko\/(\d+)/i.test(q.userAgent),x=!v&&/Chrome\/(\d+)/.exec(q.userAgent),y="webkitFontSmoothing"in r.documentElement.style,z=!v&&/Apple Computer/.test(q.vendor),A=z&&(/Mobile\/\w+/.test(q.userAgent)||q.maxTouchPoints>2);var B={mac:A||/Mac/.test(q.platform),windows:/Win/.test(q.platform),linux:/Linux|X11/.test(q.platform),ie:v,ie_version:t?r.documentMode||6:u?+u[1]:s?+s[1]:0,gecko:w,gecko_version:w?+(/Firefox\/(\d+)/.exec(q.userAgent)||[0,0])[1]:0,chrome:!!x,chrome_version:x?+x[1]:0,ios:A,android:/Android\b/.test(q.userAgent),webkit:y,webkit_version:y?+(/\bAppleWebKit\/(\d+)/.exec(q.userAgent)||[0,0])[1]:0,safari:z,safari_version:z?+(/\bVersion\/(\d+(\.\d+)?)/.exec(q.userAgent)||[0,0])[1]:0,tabSize:null!=r.documentElement.style.tabSize?"tab-size":"-moz-tab-size"};function C(a,b){for(let c in a)"class"==c&&b.class?b.class+=" "+a.class:"style"==c&&b.style?b.style+=";"+a.style:b[c]=a[c];return b}let D=Object.create(null);function E(a,b,c){if(a==b)return!0;a||(a=D),b||(b=D);let d=Object.keys(a),e=Object.keys(b);if(d.length-(c&&d.indexOf(c)>-1?1:0)!=e.length-(c&&e.indexOf(c)>-1?1:0))return!1;for(let f of d)if(f!=c&&(-1==e.indexOf(f)||a[f]!==b[f]))return!1;return!0}function F(a,b,c){let d=!1;if(b)for(let e in b)c&&e in c||(d=!0,"style"==e?a.style.cssText="":a.removeAttribute(e));if(c)for(let e in c)b&&b[e]==c[e]||(d=!0,"style"==e?a.style.cssText=c[e]:a.setAttribute(e,c[e]));return d}class G{eq(a){return!1}updateDOM(a,b,c){return!1}compare(a){return this==a||this.constructor==a.constructor&&this.eq(a)}get estimatedHeight(){return -1}get lineBreaks(){return 0}ignoreEvent(a){return!0}coordsAt(a,b,c){return null}get isHidden(){return!1}get editable(){return!1}destroy(a){}}var H=((e=H||(H={}))[e.Text=0]="Text",e[e.WidgetBefore=1]="WidgetBefore",e[e.WidgetAfter=2]="WidgetAfter",e[e.WidgetRange=3]="WidgetRange",e);class I extends h.FB{constructor(a,b,c,d){super(),this.startSide=a,this.endSide=b,this.widget=c,this.spec=d}get heightRelevant(){return!1}static mark(a){return new J(a)}static widget(a){let b=Math.max(-1e4,Math.min(1e4,a.side||0)),c=!!a.block;return b+=c&&!a.inlineOrder?b>0?3e8:-4e8:b>0?1e8:-1e8,new L(a,b,b,c,a.widget||null,!1)}static replace(a){let b=!!a.block,c,d;if(a.isBlockGap)c=-5e8,d=4e8;else{let{start:e,end:f}=M(a,b);c=(e?b?-3e8:-1:5e8)-1,d=(f?b?2e8:1:-6e8)+1}return new L(a,c,d,b,a.widget||null,!0)}static line(a){return new K(a)}static set(a,b=!1){return h.om.of(a,b)}hasHeight(){return!!this.widget&&this.widget.estimatedHeight>-1}}I.none=h.om.empty;class J extends I{constructor(a){let{start:b,end:c}=M(a);super(b?-1:5e8,c?1:-6e8,null,a),this.tagName=a.tagName||"span",this.attrs=a.class&&a.attributes?C(a.attributes,{class:a.class}):a.class?{class:a.class}:a.attributes||D}eq(a){return this==a||a instanceof J&&this.tagName==a.tagName&&E(this.attrs,a.attrs)}range(a,b=a){if(a>=b)throw RangeError("Mark decorations may not be empty");return super.range(a,b)}}J.prototype.point=!1;class K extends I{constructor(a){super(-2e8,-2e8,null,a)}eq(a){return a instanceof K&&this.spec.class==a.spec.class&&E(this.spec.attributes,a.spec.attributes)}range(a,b=a){if(b!=a)throw RangeError("Line decoration ranges must be zero-length");return super.range(a,b)}}K.prototype.mapMode=h.iR.TrackBefore,K.prototype.point=!0;class L extends I{constructor(a,b,c,d,e,f){super(b,c,e,a),this.block=d,this.isReplace=f,this.mapMode=d?b<=0?h.iR.TrackBefore:h.iR.TrackAfter:h.iR.TrackDel}get type(){return this.startSide!=this.endSide?H.WidgetRange:this.startSide<=0?H.WidgetBefore:H.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(a){var b,c;return a instanceof L&&(b=this.widget,b==(c=a.widget)||!!(b&&c&&b.compare(c)))&&this.block==a.block&&this.startSide==a.startSide&&this.endSide==a.endSide}range(a,b=a){if(this.isReplace&&(a>b||a==b&&this.startSide>0&&this.endSide<=0))throw RangeError("Invalid range for replacement decoration");if(!this.isReplace&&b!=a)throw RangeError("Widget decorations can only have zero-length ranges");return super.range(a,b)}}function M(a,b=!1){let{inclusiveStart:c,inclusiveEnd:d}=a;return null==c&&(c=a.inclusive),null==d&&(d=a.inclusive),{start:null!=c?c:b,end:null!=d?d:b}}function N(a,b,c,d=0){let e=c.length-1;e>=0&&c[e]+d>=a?c[e]=Math.max(c[e],b):c.push(a,b)}L.prototype.point=!0;class O extends h.FB{constructor(a,b,c){super(),this.tagName=a,this.attributes=b,this.rank=c}eq(a){return a==this||a instanceof O&&this.tagName==a.tagName&&E(this.attributes,a.attributes)}static create(a){return new O(a.tagName,a.attributes||D,null==a.rank?50:Math.max(0,Math.min(a.rank,100)))}static set(a,b=!1){return h.om.of(a,b)}}function P(a){return(11==a.nodeType?a.getSelection?a:a.ownerDocument:a).getSelection()}function Q(a,b){return!!b&&(a==b||a.contains(1!=b.nodeType?b.parentNode:b))}function R(a,b){if(!b.anchorNode)return!1;try{return Q(a,b.anchorNode)}catch(a){return!1}}function S(a){return 3==a.nodeType?ac(a,0,a.nodeValue.length).getClientRects():1==a.nodeType?a.getClientRects():[]}function T(a,b,c,d){return!!c&&(W(a,b,c,d,-1)||W(a,b,c,d,1))}function U(a){for(var b=0;;b++)if(!(a=a.previousSibling))return b}function V(a){return 1==a.nodeType&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(a.nodeName)}function W(a,b,c,d,e){for(;;){if(a==c&&b==d)return!0;if(b==(e<0?0:X(a))){if("DIV"==a.nodeName)return!1;let c=a.parentNode;if(!c||1!=c.nodeType)return!1;b=U(a)+(e<0?0:1),a=c}else{if(1!=a.nodeType||1==(a=a.childNodes[b+(e<0?-1:0)]).nodeType&&"false"==a.contentEditable)return!1;b=e<0?X(a):0}}}function X(a){return 3==a.nodeType?a.nodeValue.length:a.childNodes.length}function Y(a,b){let c=b?a.left:a.right;return{left:c,right:c,top:a.top,bottom:a.bottom}}function Z(a,b){let c=b.width/a.offsetWidth,d=b.height/a.offsetHeight;return(c>.995&&c<1.005||!isFinite(c)||1>Math.abs(b.width-a.offsetWidth))&&(c=1),(d>.995&&d<1.005||!isFinite(d)||1>Math.abs(b.height-a.offsetHeight))&&(d=1),{scaleX:c,scaleY:d}}function $(a,b=!0){let c=a.ownerDocument,d=null,e=null;for(let f=a.parentNode;f;)if(f==c.body||(!b||d)&&e)break;else if(1==f.nodeType)!e&&f.scrollHeight>f.clientHeight&&(e=f),b&&!d&&f.scrollWidth>f.clientWidth&&(d=f),f=f.assignedSlot||f.parentNode;else if(11==f.nodeType)f=f.host;else break;return{x:d,y:e}}O.prototype.startSide=O.prototype.endSide=-1;class _{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(a){return this.anchorNode==a.anchorNode&&this.anchorOffset==a.anchorOffset&&this.focusNode==a.focusNode&&this.focusOffset==a.focusOffset}setRange(a){let{anchorNode:b,focusNode:c}=a;this.set(b,Math.min(a.anchorOffset,b?X(b):0),c,Math.min(a.focusOffset,c?X(c):0))}set(a,b,c,d){this.anchorNode=a,this.anchorOffset=b,this.focusNode=c,this.focusOffset=d}}let aa=null;function ab(a){if(a.setActive)return a.setActive();if(aa)return a.focus(aa);let b=[];for(let c=a;c&&(b.push(c,c.scrollTop,c.scrollLeft),c!=c.ownerDocument);c=c.parentNode);if(a.focus(null==aa?{get preventScroll(){return aa={preventScroll:!0},!0}}:void 0),!aa){aa=!1;for(let a=0;a<b.length;){let c=b[a++],d=b[a++],e=b[a++];c.scrollTop!=d&&(c.scrollTop=d),c.scrollLeft!=e&&(c.scrollLeft=e)}}}function ac(a,b,c=b){let e=d||(d=document.createRange());return e.setEnd(a,c),e.setStart(a,b),e}function ad(a,b,c,d){let e={key:b,code:b,keyCode:c,which:c,cancelable:!0};d&&({altKey:e.altKey,ctrlKey:e.ctrlKey,shiftKey:e.shiftKey,metaKey:e.metaKey}=d);let f=new KeyboardEvent("keydown",e);f.synthetic=!0,a.dispatchEvent(f);let g=new KeyboardEvent("keyup",e);return g.synthetic=!0,a.dispatchEvent(g),f.defaultPrevented||g.defaultPrevented}function ae(a){return a instanceof Window?a.pageYOffset>Math.max(0,a.document.documentElement.scrollHeight-a.innerHeight-4):a.scrollTop>Math.max(1,a.scrollHeight-a.clientHeight-4)}function af(a,b){for(let c=a,d=b;;)if(3==c.nodeType&&d>0)return{node:c,offset:d};else if(1==c.nodeType&&d>0){if("false"==c.contentEditable)return null;d=X(c=c.childNodes[d-1])}else{if(!c.parentNode||V(c))return null;d=U(c),c=c.parentNode}}function ag(a,b){for(let c=a,d=b;;)if(3==c.nodeType&&d<c.nodeValue.length)return{node:c,offset:d};else if(1==c.nodeType&&d<c.childNodes.length){if("false"==c.contentEditable)return null;c=c.childNodes[d],d=0}else{if(!c.parentNode||V(c))return null;d=U(c)+1,c=c.parentNode}}B.safari&&B.safari_version>=26&&(aa=!1);class ah{constructor(a,b,c=!0){this.node=a,this.offset=b,this.precise=c}static before(a,b){return new ah(a.parentNode,U(a),b)}static after(a,b){return new ah(a.parentNode,U(a)+1,b)}}var ai=((f=ai||(ai={}))[f.LTR=0]="LTR",f[f.RTL=1]="RTL",f);let aj=ai.LTR,ak=ai.RTL;function al(a){let b=[];for(let c=0;c<a.length;c++)b.push(1<<a[c]);return b}let am=al("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),an=al("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),ao=Object.create(null),ap=[];for(let a of["()","[]","{}"]){let b=a.charCodeAt(0),c=a.charCodeAt(1);ao[b]=c,ao[c]=-b}function aq(a){return a<=247?am[a]:1424<=a&&a<=1524?2:1536<=a&&a<=1785?an[a-1536]:1774<=a&&a<=2220?4:8192<=a&&a<=8204?256:64336<=a&&a<=65023?4:1}let ar=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/;class as{get dir(){return this.level%2?ak:aj}constructor(a,b,c){this.from=a,this.to=b,this.level=c}side(a,b){return this.dir==b==a?this.to:this.from}forward(a,b){return a==(this.dir==b)}static find(a,b,c,d){let e=-1;for(let f=0;f<a.length;f++){let g=a[f];if(g.from<=b&&g.to>=b){if(g.level==c)return f;(e<0||(0!=d?d<0?g.from<b:g.to>b:a[e].level>g.level))&&(e=f)}}if(e<0)throw RangeError("Index out of range");return e}}let at=[];function au(a){return[new as(0,a,0)]}let av="",aw=h.sj.define(),ax=h.sj.define(),ay=h.sj.define(),az=h.sj.define(),aA=h.sj.define(),aB=h.sj.define(),aC=h.sj.define(),aD=h.sj.define(),aE=h.sj.define(),aF=h.sj.define({combine:a=>a.some(a=>a)}),aG=h.sj.define({combine:a=>a.some(a=>a)}),aH=h.sj.define();class aI{constructor(a,b,c,d,e,f=!1){this.range=a,this.y=b,this.x=c,this.yMargin=d,this.xMargin=e,this.isSnapshot=f}map(a){return a.empty?this:new aI(this.range.map(a),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(a){return this.range.to<=a.doc.length?this:new aI(h.OF.cursor(a.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}let aJ=h.Pe.define({map:(a,b)=>a.map(b)}),aK=h.Pe.define();function aL(a,b,c){let d=a.facet(az);d.length?d[0](b):window.onerror&&window.onerror(String(b),c,void 0,void 0,b)||(c?console.error(c+":",b):console.error(b))}let aM=h.sj.define({combine:a=>!a.length||a[0]}),aN=0,aO=h.sj.define({combine:a=>a.filter((b,c)=>{for(let d=0;d<c;d++)if(a[d].plugin==b.plugin)return!1;return!0})});class aP{constructor(a,b,c,d,e){this.id=a,this.create=b,this.domEventHandlers=c,this.domEventObservers=d,this.baseExtensions=e(this),this.extension=this.baseExtensions.concat(aO.of({plugin:this,arg:void 0}))}of(a){return this.baseExtensions.concat(aO.of({plugin:this,arg:a}))}static define(a,b){let{eventHandlers:c,eventObservers:d,provide:e,decorations:f}=b||{};return new aP(aN++,a,c,d,a=>{let b=[];return f&&b.push(aT.of(b=>{let c=b.plugin(a);return c?f(c):I.none})),e&&b.push(e(a)),b})}static fromClass(a,b){return aP.define((b,c)=>new a(b,c),b)}}class aQ{constructor(a){this.spec=a,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(a){if(this.value){if(this.mustUpdate){let a=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(a)}catch(b){if(aL(a.state,b,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch(a){}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(a,this.spec.arg)}catch(b){aL(a.state,b,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(a){var b;if(null==(b=this.value)?void 0:b.destroy)try{this.value.destroy()}catch(b){aL(a.state,b,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}let aR=h.sj.define(),aS=h.sj.define(),aT=h.sj.define(),aU=h.sj.define(),aV=h.sj.define(),aW=h.sj.define(),aX=h.sj.define();function aY(a,b){let c=a.state.facet(aX);if(!c.length)return c;let d=c.map(b=>b instanceof Function?b(a):b),e=[];return h.om.spans(d,b.from,b.to,{point(){},span(a,c,d,f){let g=a-b.from,h=c-b.from,i=e;for(let a=d.length-1;a>=0;a--,f--){let c=d[a].spec.bidiIsolate,e;if(null==c&&(c=function(a,b,c){for(let d=b;d<c;d++){let b=aq(a.charCodeAt(d));if(1==b)break;if(2==b||4==b)return ak}return aj}(b.text,g,h)),f>0&&i.length&&(e=i[i.length-1]).to==g&&e.direction==c)e.to=h,i=e.inner;else{let a={from:g,to:h,direction:c,inner:[]};i.push(a),i=a.inner}}}}),e}let aZ=h.sj.define();function a$(a){let b=0,c=0,d=0,e=0;for(let f of a.state.facet(aZ)){let g=f(a);g&&(null!=g.left&&(b=Math.max(b,g.left)),null!=g.right&&(c=Math.max(c,g.right)),null!=g.top&&(d=Math.max(d,g.top)),null!=g.bottom&&(e=Math.max(e,g.bottom)))}return{left:b,right:c,top:d,bottom:e}}let a_=h.sj.define();class a0{constructor(a,b,c,d){this.fromA=a,this.toA=b,this.fromB=c,this.toB=d}join(a){return new a0(Math.min(this.fromA,a.fromA),Math.max(this.toA,a.toA),Math.min(this.fromB,a.fromB),Math.max(this.toB,a.toB))}addToSet(a){let b=a.length,c=this;for(;b>0;b--){let d=a[b-1];if(!(d.fromA>c.toA)){if(d.toA<c.fromA)break;c=c.join(d),a.splice(b-1,1)}}return a.splice(b,0,c),a}static extendWithRanges(a,b){if(0==b.length)return a;let c=[];for(let d=0,e=0,f=0;;){let g=Math.min(d<a.length?a[d].fromB:1e9,e<b.length?b[e]:1e9);if(1e9==g)break;let h=g+f,i=g,j=h;for(;;)if(e<b.length&&b[e]<=i){let c=b[e+1];e+=2,i=Math.max(i,c);for(let b=d;b<a.length&&a[b].fromB<=i;b++)f=a[b].toA-a[b].toB;j=Math.max(j,c+f)}else if(d<a.length&&a[d].fromB<=i){let b=a[d++];i=Math.max(i,b.toB),j=Math.max(j,b.toA),f=b.toA-b.toB}else break;c.push(new a0(h,j,g,i))}return c}}class a1{constructor(a,b,c){for(let d of(this.view=a,this.state=b,this.transactions=c,this.flags=0,this.startState=a.state,this.changes=h.VR.empty(this.startState.doc.length),c))this.changes=this.changes.compose(d.changes);let d=[];this.changes.iterChangedRanges((a,b,c,e)=>d.push(new a0(a,b,c,e))),this.changedRanges=d}static create(a,b,c){return new a1(a,b,c)}get viewportChanged(){return(4&this.flags)>0}get viewportMoved(){return(8&this.flags)>0}get heightChanged(){return(2&this.flags)>0}get geometryChanged(){return this.docChanged||(18&this.flags)>0}get focusChanged(){return(1&this.flags)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(a=>a.selection)}get empty(){return 0==this.flags&&0==this.transactions.length}}let a2=[];class a3{constructor(a,b,c=0){this.dom=a,this.length=b,this.flags=c,this.parent=null,a.cmTile=this}get breakAfter(){return 1&this.flags}get children(){return a2}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(a){if(this.flags|=2,4&this.flags){this.flags&=-5;let a=this.domAttrs;a&&function(a,b){for(let c=a.attributes.length-1;c>=0;c--){let d=a.attributes[c].name;null==b[d]&&a.removeAttribute(d)}for(let c in b){let d=b[c];"style"==c?a.style.cssText=d:a.getAttribute(c)!=d&&a.setAttribute(c,d)}}(this.dom,a)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(a){this.dom=a,a.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(a,b=this.posAtStart){let c=b;for(let b of this.children){if(b==a)return c;c+=b.length+b.breakAfter}throw RangeError("Invalid child in posBefore")}posAfter(a){return this.posBefore(a)+a.length}covers(a){return!0}coordsIn(a,b){return null}domPosFor(a,b){let c=U(this.dom),d=this.length?a>0:b>0;return new ah(this.parent.dom,c+ +!!d,0==a||a==this.length)}markDirty(a){this.flags&=-3,a&&(this.flags|=4),this.parent&&2&this.parent.flags&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let a=this;a;a=a.parent)if(a instanceof a6)return a;return null}static get(a){return a.cmTile}}class a4 extends a3{constructor(a){super(a,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(a){this.children.push(a),a.parent=this}sync(a){if(2&this.flags)return;super.sync(a);let b=this.dom,c=null,d,e=(null==a?void 0:a.node)==b?a:null,f=0;for(let g of this.children){if(g.sync(a),f+=g.length+g.breakAfter,d=c?c.nextSibling:b.firstChild,e&&d!=g.dom&&(e.written=!0),g.dom.parentNode==b)for(;d&&d!=g.dom;)d=a5(d);else b.insertBefore(g.dom,d);c=g.dom}for(d=c?c.nextSibling:b.firstChild,e&&d&&(e.written=!0);d;)d=a5(d);this.length=f}}function a5(a){let b=a.nextSibling;return a.parentNode.removeChild(a),b}class a6 extends a4{constructor(a,b){super(b),this.view=a}owns(a){for(;a;a=a.parent)if(a==this)return!0;return!1}isBlock(){return!0}nearest(a){for(;;){if(!a)return null;let b=a3.get(a);if(b&&this.owns(b))return b;a=a.parentNode}}blockTiles(a){for(let b=[],c=this,d=0,e=0;;)if(d==c.children.length){if(!b.length)return;(c=c.parent).breakAfter&&e++,d=b.pop()}else{let f=c.children[d++];if(f instanceof a7)b.push(d),c=f,d=0;else{let b=e+f.length,c=a(f,e);if(void 0!==c)return c;e=b+f.breakAfter}}}resolveBlock(a,b){let c,d=-1,e,f=-1;if(this.blockTiles((g,h)=>{let i=h+g.length;if(a>=h&&a<=i){if(g.isWidget()&&b>=-1&&b<=1){if(32&g.flags)return!0;16&g.flags&&(c=void 0)}(h<a||a==i&&(b<-1?g.length:g.covers(1)))&&(!c||!g.isWidget()&&c.isWidget())&&(c=g,d=a-h),(i>a||a==h&&(b>1?g.length:g.covers(-1)))&&(!e||!g.isWidget()&&e.isWidget())&&(e=g,f=a-h)}}),!c&&!e)throw Error("No tile at position "+a);return c&&b<0||!e?{tile:c,offset:d}:{tile:e,offset:f}}}class a7 extends a4{constructor(a,b){super(a),this.wrapper=b}isBlock(){return!0}covers(a){return!!this.children.length&&(a<0?this.children[0].covers(-1):this.lastChild.covers(1))}get domAttrs(){return this.wrapper.attributes}static of(a,b){let c=new a7(b||document.createElement(a.tagName),a);return b||(c.flags|=4),c}}class a8 extends a4{constructor(a,b){super(a),this.attrs=b}isLine(){return!0}static start(a,b,c){let d=new a8(b||document.createElement("div"),a);return b&&c||(d.flags|=4),d}get domAttrs(){return this.attrs}resolveInline(a,b,c){let d=null,e=-1,f=null,g=-1;!function a(h,i){for(let j=0,k=0;j<h.children.length&&k<=i;j++){let l=h.children[j],m=k+l.length;m>=i&&(l.isComposite()?a(l,i-k):(!f||f.isHidden&&(b>0||c&&function(a,b){let c=a.coordsIn(0,1),d=b.coordsIn(0,1);return c&&d&&d.top<c.bottom}(f,l)))&&(m>i||32&l.flags)?(f=l,g=i-k):(k<i||16&l.flags&&!l.isHidden)&&(d=l,e=i-k)),k=m}}(this,a);let h=(b<0?d:f)||d||f;return h?{tile:h,offset:h==d?e:g}:null}coordsIn(a,b){let c=this.resolveInline(a,b,!0);return c?c.tile.coordsIn(Math.max(0,c.offset),b):function(a){let b=a.dom.lastChild;if(!b)return a.dom.getBoundingClientRect();let c=S(b);return c[c.length-1]||null}(this)}domIn(a,b){let c=this.resolveInline(a,b);if(c){let{tile:a,offset:d}=c;if(this.dom.contains(a.dom))return a.isText()?new ah(a.dom,Math.min(a.dom.nodeValue.length,d)):a.domPosFor(d,16&a.flags?1:32&a.flags?-1:b);let e=c.tile.parent,f=!1;for(let a of e.children){if(f)return new ah(a.dom,0);a==c.tile&&(f=!0)}}return new ah(this.dom,0)}}class a9 extends a4{constructor(a,b){super(a),this.mark=b}get domAttrs(){return this.mark.attrs}static of(a,b){let c=new a9(b||document.createElement(a.tagName),a);return b||(c.flags|=4),c}}class ba extends a3{constructor(a,b){super(a,b.length),this.text=b}sync(a){2&this.flags||(super.sync(a),this.dom.nodeValue!=this.text&&(a&&a.node==this.dom&&(a.written=!0),this.dom.nodeValue=this.text))}isText(){return!0}toString(){return JSON.stringify(this.text)}coordsIn(a,b){let c=this.dom.nodeValue.length;a>c&&(a=c);let d=a,e=a,f=0;0==a&&b<0||a==c&&b>=0?!(B.chrome||B.gecko)&&(a?(d--,f=1):e<c&&(e++,f=-1)):b<0?d--:e<c&&e++;let g=ac(this.dom,d,e).getClientRects();if(!g.length)return null;let h=g[(f?f<0:b>=0)?0:g.length-1];return B.safari&&!f&&0==h.width&&(h=Array.prototype.find.call(g,a=>a.width)||h),f?Y(h,f<0):h||null}static of(a,b){let c=new ba(b||document.createTextNode(a),a);return b||(c.flags|=2),c}}class bb extends a3{constructor(a,b,c,d){super(a,b,d),this.widget=c}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(a){return!(48&this.flags)&&(this.flags&(a<0?64:128))>0}coordsIn(a,b){return this.coordsInWidget(a,b,!1)}coordsInWidget(a,b,c){let d=this.widget.coordsAt(this.dom,a,b);if(d)return d;if(c)return Y(this.dom.getBoundingClientRect(),this.length?0==a:b<=0);{let b=this.dom.getClientRects(),c=null;if(!b.length)return null;let d=!!(16&this.flags)||!(32&this.flags)&&a>0;for(let e=d?b.length-1:0;c=b[e],a>0?0!=e:e!=b.length-1&&!(c.top<c.bottom);e+=d?-1:1);return Y(c,!d)}}get overrideDOMText(){if(!this.length)return h.EY.empty;let{root:a}=this;if(!a)return h.EY.empty;let b=this.posAtStart;return a.view.state.doc.slice(b,b+this.length)}destroy(){super.destroy(),this.widget.destroy(this.dom)}static of(a,b,c,d,e){return!e&&(e=a.toDOM(b),a.editable||(e.contentEditable="false")),new bb(e,c,a,d)}}class bc extends a3{constructor(a){let b=document.createElement("img");b.className="cm-widgetBuffer",b.setAttribute("aria-hidden","true"),super(b,0,a)}get isHidden(){return!0}get overrideDOMText(){return h.EY.empty}coordsIn(a){return this.dom.getBoundingClientRect()}}class bd{constructor(a){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=a}advance(a,b,c){let{tile:d,index:e,beforeBreak:f,parents:g}=this;for(;a||b>0;)if(d.isComposite())if(f){if(!a)break;c&&c.break(),a--,f=!1}else if(e==d.children.length){if(!a&&!g.length)break;c&&c.leave(d),f=!!d.breakAfter,({tile:d,index:e}=g.pop()),e++}else{let h=d.children[e],i=h.breakAfter;(b>0?h.length<=a:h.length<a)&&(!c||!1!==c.skip(h,0,h.length)||!h.isComposite)?(f=!!i,e++,a-=h.length):(g.push({tile:d,index:e}),d=h,e=0,c&&h.isComposite()&&c.enter(h))}else if(e==d.length)f=!!d.breakAfter,({tile:d,index:e}=g.pop()),e++;else if(a){let b=Math.min(a,d.length-e);c&&c.skip(d,e,e+b),a-=b,e+=b}else break;return this.tile=d,this.index=e,this.beforeBreak=f,this}get root(){return this.parents.length?this.parents[0].tile:this.tile}}class be{constructor(a,b,c,d){this.from=a,this.to=b,this.wrapper=c,this.rank=d}}class bf{constructor(a,b,c){this.cache=a,this.root=b,this.blockWrappers=c,this.curLine=null,this.lastBlock=null,this.afterWidget=null,this.pos=0,this.wrappers=[],this.wrapperPos=0}addText(a,b,c,d){var e;this.flushBuffer();let f=this.ensureMarks(b,c),g=f.lastChild;g&&g.isText()&&!(8&g.flags)&&g.length+a.length<512?(this.cache.reused.set(g,2),(f.children[f.children.length-1]=new ba(g.dom,g.text+a)).parent=f):f.append(d||ba.of(a,null==(e=this.cache.find(ba))?void 0:e.dom)),this.pos+=a.length,this.afterWidget=null}addComposition(a,b){let c=this.curLine;c.dom!=b.line.dom&&(c.setDOM(this.cache.reused.has(b.line)?bm(b.line.dom):b.line.dom),this.cache.reused.set(b.line,2));let d=c;for(let a=b.marks.length-1;a>=0;a--){let c=b.marks[a],e=d.lastChild;if(e instanceof a9&&e.mark.eq(c.mark))e.dom!=c.dom&&e.setDOM(bm(c.dom)),d=e;else{if(this.cache.reused.get(c)){let a=a3.get(c.dom);a&&a.setDOM(bm(c.dom))}let a=a9.of(c.mark,c.dom);d.append(a),d=a}this.cache.reused.set(c,2)}let e=a3.get(a.text);e&&this.cache.reused.set(e,2);let f=new ba(a.text,a.text.nodeValue);f.flags|=8,this.pos=a.range.toB,d.append(f)}addInlineWidget(a,b,c){let d=this.afterWidget&&48&a.flags&&(48&this.afterWidget.flags)==(48&a.flags);d||this.flushBuffer();let e=this.ensureMarks(b,c);d||16&a.flags||e.append(this.getBuffer(1)),e.append(a),this.pos+=a.length,this.afterWidget=a}addMark(a,b,c){this.flushBuffer(),this.ensureMarks(b,c).append(a),this.pos+=a.length,this.afterWidget=null}addBlockWidget(a){this.getBlockPos().append(a),this.pos+=a.length,this.lastBlock=a,this.endLine()}continueWidget(a){let b=this.afterWidget||this.lastBlock;b.length+=a,this.pos+=a}addLineStart(a,b){var c;a||(a=bl);let d=a8.start(a,b||(null==(c=this.cache.find(a8))?void 0:c.dom),!!b);this.getBlockPos().append(this.lastBlock=this.curLine=d)}addLine(a){this.getBlockPos().append(a),this.pos+=a.length,this.lastBlock=a,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(a){this.blockPosCovered()||this.addLineStart(a)}ensureLine(a){this.curLine||this.addLineStart(a)}ensureMarks(a,b){var c;let d=this.curLine;for(let e=a.length-1;e>=0;e--){let f=a[e],g;if(b>0&&(g=d.lastChild)&&g instanceof a9&&g.mark.eq(f))d=g,b--;else{let a=a9.of(f,null==(c=this.cache.find(a9,a=>a.mark.eq(f)))?void 0:c.dom);d.append(a),d=a,b=0}}return d}endLine(){if(this.curLine){this.flushBuffer();let a=this.curLine.lastChild;(!a||!bk(this.curLine,!1)||"BR"!=a.dom.nodeName&&a.isWidget()&&!(B.ios&&bk(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(bo,0,32)||new bb(bo.toDOM(),0,bo,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let a=this.wrappers.length-1;a>=0;a--)this.wrappers[a].to<this.pos&&this.wrappers.splice(a,1);for(let a=this.blockWrappers;a.value&&a.from<=this.pos;a.next())if(a.to>=this.pos){let b=102*a.rank+a.value.rank,c=new be(a.from,a.to,a.value,b),d=this.wrappers.length;for(;d>0&&0>(this.wrappers[d-1].rank-c.rank||this.wrappers[d-1].to-c.to);)d--;this.wrappers.splice(d,0,c)}this.wrapperPos=this.pos}getBlockPos(){var a;this.updateBlockWrappers();let b=this.root;for(let c of this.wrappers){let d=b.lastChild;if(c.from<this.pos&&d instanceof a7&&d.wrapper.eq(c.wrapper))b=d;else{let d=a7.of(c.wrapper,null==(a=this.cache.find(a7,a=>a.wrapper.eq(c.wrapper)))?void 0:a.dom);b.append(d),b=d}}return b}blockPosCovered(){let a=this.lastBlock;return null!=a&&!a.breakAfter&&(!a.isWidget()||(160&a.flags)>0)}getBuffer(a){let b=2|(a<0?16:32),c=this.cache.find(bc,void 0,1);return c&&(c.flags=b),c||new bc(b)}flushBuffer(){this.afterWidget&&!(32&this.afterWidget.flags)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}}class bg{constructor(a){this.skipCount=0,this.text="",this.textOff=0,this.cursor=a.iter()}skip(a){this.textOff+a<=this.text.length?this.textOff+=a:(this.skipCount+=a-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(a){if(this.textOff==this.text.length){let{value:b,lineBreak:c,done:d}=this.cursor.next(this.skipCount);if(this.skipCount=0,d)throw Error("Ran out of text content when drawing inline views");this.text=b;let e=this.textOff=Math.min(a,b.length);return c?null:b.slice(0,e)}let b=Math.min(this.text.length,this.textOff+a),c=this.text.slice(this.textOff,b);return this.textOff=b,c}}let bh=[bb,a8,ba,a9,bc,a7,a6];for(let a=0;a<bh.length;a++)bh[a].bucket=a;class bi{constructor(a){this.view=a,this.buckets=bh.map(()=>[]),this.index=bh.map(()=>0),this.reused=new Map}add(a){let b=a.constructor.bucket,c=this.buckets[b];c.length<6?c.push(a):c[this.index[b]=(this.index[b]+1)%6]=a}find(a,b,c=2){let d=a.bucket,e=this.buckets[d],f=this.index[d];for(let a=e.length-1;a>=0;a--){let g=(a+f)%e.length,h=e[g];if((!b||b(h))&&!this.reused.has(h))return e.splice(g,1),g<f&&this.index[d]--,this.reused.set(h,c),h}return null}findWidget(a,b,c){let d=this.buckets[0];if(d.length)for(let e=0,f=0;;e++){if(e==d.length){if(f)return null;f=1,e=0}let g=d[e];if(!this.reused.has(g)&&(0==f?g.widget.compare(a):g.widget.constructor==a.constructor&&a.updateDOM(g.dom,this.view,g.widget))){if(d.splice(e,1),e<this.index[0]&&this.index[0]--,g.widget==a&&g.length==b&&(497&g.flags)==c)return this.reused.set(g,1),g;return this.reused.set(g,2),new bb(g.dom,b,a,-498&g.flags|c)}}}reuse(a){return this.reused.set(a,1),a}maybeReuse(a,b=2){if(!this.reused.has(a))return this.reused.set(a,b),a.dom}clear(){for(let a=0;a<this.buckets.length;a++)this.buckets[a].length=this.index[a]=0}}class bj{constructor(a,b,c,d,e){this.view=a,this.decorations=d,this.disallowBlockEffectsFor=e,this.openWidget=!1,this.openMarks=0,this.cache=new bi(a),this.text=new bg(a.state.doc),this.builder=new bf(this.cache,new a6(a,a.contentDOM),h.om.iter(c)),this.cache.reused.set(b,2),this.old=new bd(b),this.reuseWalker={skip:(a,b,c)=>{if(this.cache.add(a),a.isComposite())return!1},enter:a=>this.cache.add(a),leave:()=>{},break:()=>{}}}run(a,b){let c=b&&this.getCompositionContext(b.text);for(let d=0,e=0,f=0;;){let g=f<a.length?a[f++]:null,h=g?g.fromA:this.old.root.length;if(h>d){let a=h-d;this.preserve(a,!f,!g),d=h,e+=a}if(!g)break;b&&g.fromA<=b.range.fromA&&g.toA>=b.range.toA?(this.forward(g.fromA,b.range.fromA,b.range.fromA<b.range.toA?1:-1),this.emit(e,b.range.fromB),this.builder.flushBuffer(),this.cache.clear(),this.builder.addComposition(b,c),this.text.skip(b.range.toB-b.range.fromB),this.forward(b.range.fromA,g.toA),this.emit(b.range.toB,g.toB)):(this.forward(g.fromA,g.toA),this.emit(e,g.toB)),e=g.toB,d=g.toA}return this.builder.curLine&&this.builder.endLine(),this.builder.root}preserve(a,b,c){let d=function(a){let b=[];for(let c=a.parents.length;c>1;c--){let d=c==a.parents.length?a.tile:a.parents[c].tile;d instanceof a9&&b.push(d.mark)}return b}(this.old),e=this.openMarks;this.old.advance(a,c?1:-1,{skip:(a,b,c)=>{if(a.isWidget())if(this.openWidget)this.builder.continueWidget(c-b);else{let f=c>0||b<a.length?bb.of(a.widget,this.view,c-b,496&a.flags,this.cache.maybeReuse(a)):this.cache.reuse(a);256&f.flags?(f.flags&=-2,this.builder.addBlockWidget(f)):(this.builder.ensureLine(null),this.builder.addInlineWidget(f,d,e),e=d.length)}else if(a.isText())this.builder.ensureLine(null),b||c!=a.length||this.cache.reused.has(a)?(this.cache.add(a),this.builder.addText(a.text.slice(b,c),d,e)):this.builder.addText(a.text,d,e,this.cache.reuse(a)),e=d.length;else if(a.isLine())a.flags&=-2,this.cache.reused.set(a,1),this.builder.addLine(a);else if(a instanceof bc)this.cache.add(a);else{if(!(a instanceof a9))return!1;this.builder.ensureLine(null),this.builder.addMark(a,d,e),this.cache.reused.set(a,1),e=d.length}this.openWidget=!1},enter:a=>{a.isLine()?this.builder.addLineStart(a.attrs,this.cache.maybeReuse(a)):(this.cache.add(a),a instanceof a9&&d.unshift(a.mark)),this.openWidget=!1},leave:a=>{a.isLine()?d.length&&(d.length=e=0):a instanceof a9&&(d.shift(),e=Math.min(e,d.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(a)}emit(a,b){let c=null,d=this.builder,e=0,f=h.om.spans(this.decorations,a,b,{point:(a,b,f,g,h,i)=>{var j,k,l;if(f instanceof L){if(this.disallowBlockEffectsFor[i]){if(f.block)throw RangeError("Block decorations may not be specified via plugins");if(b>this.view.state.doc.lineAt(a).to)throw RangeError("Decorations that replace line breaks may not be specified via plugins")}if(e=g.length,h>g.length)d.continueWidget(b-a);else{let e,i=f.widget||(f.block?bn.block:bn.inline),k=(e=(j=f).isReplace?64*(j.startSide<0)|128*(j.endSide>0):j.startSide>0?32:16,j.block&&(e|=256),e),l=this.cache.findWidget(i,b-a,k)||bb.of(i,this.view,b-a,k);f.block?(f.startSide>0&&d.addLineStartIfNotCovered(c),d.addBlockWidget(l)):(d.ensureLine(c),d.addInlineWidget(l,g,h))}c=null}else{let a,b;k=c,a=(l=f).spec.attributes,b=l.spec.class,(a||b)&&(k||(k={class:"cm-line"}),a&&C(a,k),b&&(k.class+=" "+b)),c=k}b>a&&this.text.skip(b-a)},span:(a,b,e,f)=>{for(let g=a;g<b;){let h=this.text.next(Math.min(512,b-g));null==h?(d.addLineStartIfNotCovered(c),d.addBreak(),g++):(d.ensureLine(c),d.addText(h,e,g==a?f:e.length),g+=h.length),c=null}}});d.addLineStartIfNotCovered(c),this.openWidget=f>e,this.openMarks=f}forward(a,b,c=1){b-a<=10?this.old.advance(b-a,c,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(b-a-10,-1),this.old.advance(5,c,this.reuseWalker))}getCompositionContext(a){let b=[],c=null;for(let d=a.parentNode;;d=d.parentNode){let a=a3.get(d);if(d==this.view.contentDOM)break;a instanceof a9?b.push(a):(null==a?void 0:a.isLine())?c=a:a instanceof a7||("DIV"!=d.nodeName||c||d==this.view.contentDOM?c||b.push(a9.of(new J({tagName:d.nodeName.toLowerCase(),attributes:function(a){let b=Object.create(null);for(let c=0;c<a.attributes.length;c++){let d=a.attributes[c];b[d.name]=d.value}return b}(d)}),d)):c=new a8(d,bl))}return{line:c,marks:b}}}function bk(a,b){let c=a=>{for(let d of a.children)if((b?d.isText():d.length)||c(d))return!0;return!1};return c(a)}let bl={class:"cm-line"};function bm(a){let b=a3.get(a);return b&&b.setDOM(a.cloneNode()),a}class bn extends G{constructor(a){super(),this.tag=a}eq(a){return a.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(a){return a.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}bn.inline=new bn("span"),bn.block=new bn("div");let bo=new class extends G{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}};class bp{constructor(a){this.view=a,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=I.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new a6(a,a.contentDOM),this.updateInner([new a0(0,0,0,a.state.doc.length)],null)}update(a){var b,c,d,e,f,g,i,j,k;let l,m,n,o=a.changedRanges;this.minWidth>0&&o.length&&(o.every(({fromA:a,toA:b})=>b<this.minWidthFrom||a>this.minWidthTo)?(this.minWidthFrom=a.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=a.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(a);let p=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&((null==(b=this.domChanged)?void 0:b.newSel)?p=this.domChanged.newSel.head:(c=a.changes,d=this.hasComposition,l=!1,d&&c.iterChangedRanges((a,b)=>{a<d.to&&b>d.from&&(l=!0)}),l||a.selectionSet||(p=a.state.selection.main.head)));let q=p>-1?function(a,b,c){let d=br(a,c);if(!d)return null;let{node:e,from:f,to:g}=d,h=e.nodeValue;if(/[\n\r]/.test(h)||a.state.doc.sliceString(d.from,d.to)!=h)return null;let i=b.invertedDesc;return{range:new a0(i.mapPos(f),i.mapPos(g),f,g),text:e}}(this.view,a.changes,p):null;if(this.domChanged=null,this.hasComposition){let{from:b,to:c}=this.hasComposition;o=new a0(b,c,a.changes.mapPos(b,-1),a.changes.mapPos(c,1)).addToSet(o.slice())}this.hasComposition=q?{from:q.range.fromB,to:q.range.toB}:null,(B.ie||B.chrome)&&!q&&a&&a.state.doc.lines!=a.startState.doc.lines&&(this.forceSelection=!0);let r=this.decorations,s=this.blockWrappers;this.updateDeco();let t=(e=r,f=this.decorations,g=a.changes,m=new bs,h.om.compare(e,f,g,m),m.changes);t.length&&(o=a0.extendWithRanges(o,t));let u=(i=s,j=this.blockWrappers,k=a.changes,n=new bt,h.om.compare(i,j,k,n),n.changes);return u.length&&(o=a0.extendWithRanges(o,u)),q&&!o.some(a=>a.fromA<=q.range.fromA&&a.toA>=q.range.toA)&&(o=q.range.addToSet(o.slice())),(!(2&this.tile.flags)||0!=o.length)&&(this.updateInner(o,q),a.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(a,b){this.view.viewState.mustMeasureContent=!0;let{observer:c}=this.view;c.ignore(()=>{if(b||a.length){let c=this.tile,d=new bj(this.view,c,this.blockWrappers,this.decorations,this.dynamicDecorationMap);b&&a3.get(b.text)&&d.cache.reused.set(a3.get(b.text),2),this.tile=d.run(a,b),bq(c,d.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let d=B.chrome||B.ios?{node:c.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(d),d&&(d.written||c.selectionRange.focusNode!=d.node||!this.tile.dom.contains(d.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let d=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let a of this.tile.children)a.isWidget()&&a.widget instanceof bu&&d.push(a.dom);c.updateGaps(d)}updateEditContextFormatting(a){for(let b of(this.editContextFormatting=this.editContextFormatting.map(a.changes),a.transactions))for(let a of b.effects)a.is(aK)&&(this.editContextFormatting=a.value)}updateSelection(a=!1,b=!1){var c;(a||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let{dom:d}=this.tile,e=this.view.root.activeElement,f=e==d,g=!f&&!(this.view.state.facet(aM)||d.tabIndex>-1)&&R(d,this.view.observer.selectionRange)&&!(e&&d.contains(e));if(!(f||b||g))return;let h=this.forceSelection;this.forceSelection=!1;let i=this.view.state.selection.main,j,k;if(i.empty?k=j=this.inlineDOMNearPos(i.anchor,i.assoc||1):(k=this.inlineDOMNearPos(i.head,i.head==i.from?1:-1),j=this.inlineDOMNearPos(i.anchor,i.anchor==i.from?1:-1)),B.gecko&&i.empty&&!this.hasComposition&&1==(c=j).node.nodeType&&c.node.firstChild&&(0==c.offset||"false"==c.node.childNodes[c.offset-1].contentEditable)&&(c.offset==c.node.childNodes.length||"false"==c.node.childNodes[c.offset].contentEditable)){let a=document.createTextNode("");this.view.observer.ignore(()=>j.node.insertBefore(a,j.node.childNodes[j.offset]||null)),j=k=new ah(a,0),h=!0}let l=this.view.observer.selectionRange;!h&&l.focusNode&&(T(j.node,j.offset,l.anchorNode,l.anchorOffset)&&T(k.node,k.offset,l.focusNode,l.focusOffset)||this.suppressWidgetCursorChange(l,i))||(this.view.observer.ignore(()=>{B.android&&B.chrome&&d.contains(l.focusNode)&&function(a,b){for(let c=a;c&&c!=b;c=c.assignedSlot||c.parentNode)if(1==c.nodeType&&"false"==c.contentEditable)return!0;return!1}(l.focusNode,d)&&(d.blur(),d.focus({preventScroll:!0}));let a=P(this.view.root);if(a)if(i.empty){if(B.gecko){var b,c;let a=(b=j.node,c=j.offset,1!=b.nodeType?0:(c&&"false"==b.childNodes[c-1].contentEditable?1:0)|2*(c<b.childNodes.length&&"false"==b.childNodes[c].contentEditable));if(a&&3!=a){let b=(1==a?af:ag)(j.node,j.offset);b&&(j=new ah(b.node,b.offset))}}a.collapse(j.node,j.offset),null!=i.bidiLevel&&void 0!==a.caretBidiLevel&&(a.caretBidiLevel=i.bidiLevel)}else if(a.extend){a.collapse(j.node,j.offset);try{a.extend(k.node,k.offset)}catch(a){}}else{let b=document.createRange();i.anchor>i.head&&([j,k]=[k,j]),b.setEnd(k.node,k.offset),b.setStart(j.node,j.offset),a.removeAllRanges(),a.addRange(b)}g&&this.view.root.activeElement==d&&(d.blur(),e&&e.focus())}),this.view.observer.setSelectionRange(j,k)),this.impreciseAnchor=j.precise?null:new ah(l.anchorNode,l.anchorOffset),this.impreciseHead=k.precise?null:new ah(l.focusNode,l.focusOffset)}suppressWidgetCursorChange(a,b){return this.hasComposition&&b.empty&&T(a.focusNode,a.focusOffset,a.anchorNode,a.anchorOffset)&&this.posFromDOM(a.focusNode,a.focusOffset)==b.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:a}=this,b=a.state.selection.main,c=P(a.root),{anchorNode:d,anchorOffset:e}=a.observer.selectionRange;if(!c||!b.empty||!b.assoc||!c.modify)return;let f=this.lineAt(b.head,b.assoc);if(!f)return;let g=f.posAtStart;if(b.head==g||b.head==g+f.length)return;let h=this.coordsAt(b.head,-1),i=this.coordsAt(b.head,1);if(!h||!i||h.bottom>i.top)return;let j=this.domAtPos(b.head+b.assoc,b.assoc);c.collapse(j.node,j.offset),c.modify("move",b.assoc<0?"forward":"backward","lineboundary"),a.observer.readSelectionRange();let k=a.observer.selectionRange;a.docView.posFromDOM(k.anchorNode,k.anchorOffset)!=b.from&&c.collapse(d,e)}posFromDOM(a,b){let c=this.tile.nearest(a);if(!c)return 2&this.tile.dom.compareDocumentPosition(a)?0:this.view.state.doc.length;let d=c.posAtStart;if(c.isComposite()){let e;if(a==c.dom)e=c.dom.childNodes[b];else{let d=0==X(a)?0:0==b?-1:1;for(;;){let b=a.parentNode;if(b==c.dom)break;0==d&&b.firstChild!=b.lastChild&&(d=a==b.firstChild?-1:1),a=b}e=d<0?a:a.nextSibling}if(e==c.dom.firstChild)return d;for(;e&&!a3.get(e);)e=e.nextSibling;if(!e)return d+c.length;for(let a=0,b=d;;a++){let d=c.children[a];if(d.dom==e)return b;b+=d.length+d.breakAfter}}else if(c.isText())return a==c.dom?d+b:d+(b?c.length:0);else return d}domAtPos(a,b){let{tile:c,offset:d}=this.tile.resolveBlock(a,b);return c.isWidget()?c.domPosFor(a,b):c.domIn(d,b)}inlineDOMNearPos(a,b){let c,d=-1,e=!1,f,g=-1,h=!1;return(this.tile.blockTiles((b,i)=>{if(b.isWidget()){if(32&b.flags&&i>=a)return!0;16&b.flags&&(e=!0)}else{let j=i+b.length;if(i<=a&&(c=b,d=a-i,e=j<a),j>=a&&!f&&(f=b,g=a-i,h=i>a),i>a&&f)return!0}}),c||f)?(e&&f?c=null:h&&c&&(f=null),c&&b<0||!f?c.domIn(d,b):f.domIn(g,b)):this.domAtPos(a,b)}coordsAt(a,b){let{tile:c,offset:d}=this.tile.resolveBlock(a,b);return c.isWidget()?c.widget instanceof bu?null:c.coordsInWidget(d,b,!0):c.coordsIn(d,b)}lineAt(a,b){let{tile:c}=this.tile.resolveBlock(a,b);return c.isLine()?c:null}coordsForChar(a){let{tile:b,offset:c}=this.tile.resolveBlock(a,1);return b.isLine()?function a(b,c){if(b.isComposite())for(let d of b.children){if(d.length>=c){let b=a(d,c);if(b)return b}if((c-=d.length)<0)break}else if(b.isText()&&c<b.length){let a=(0,h.zK)(b.text,c);if(a==c)return null;let d=ac(b.dom,c,a).getClientRects();for(let a=0;a<d.length;a++){let b=d[a];if(a==d.length-1||b.top<b.bottom&&b.left<b.right)return b}}return null}(b,c):null}measureVisibleLineHeights(a){let b=[],{from:c,to:d}=a,e=this.view.contentDOM.clientWidth,f=e>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,g=-1,h=this.view.textDirection==ai.LTR,i=0,j=(a,k,l)=>{for(let m=0;m<a.children.length&&!(k>d);m++){let d=a.children[m],n=k+d.length,o=d.dom.getBoundingClientRect(),{height:p}=o;if(l&&!m&&(i+=o.top-l.top),d instanceof a7)n>c&&j(d,k,o);else if(k>=c&&(i>0&&b.push(-i),b.push(p+i),i=0,f)){let a=d.dom.lastChild,b=a?S(a):[];if(b.length){let a=b[b.length-1],c=h?a.right-o.left:o.right-a.left;c>g&&(g=c,this.minWidth=e,this.minWidthFrom=k,this.minWidthTo=n)}}l&&m==a.children.length-1&&(i+=l.bottom-o.bottom),k=n+d.breakAfter}};return j(this.tile,0,null),b}textDirectionAt(a){let{tile:b}=this.tile.resolveBlock(a,1);return"rtl"==getComputedStyle(b.dom).direction?ai.RTL:ai.LTR}measureTextSize(){let a=this.tile.blockTiles(a=>{if(a.isLine()&&a.children.length&&a.length<=20){let b=0,c;for(let d of a.children){if(!d.isText()||/[^ -~]/.test(d.text))return;let a=S(d.dom);if(1!=a.length)return;b+=a[0].width,c=a[0].height}if(b)return{lineHeight:a.dom.getBoundingClientRect().height,charWidth:b/a.length,textHeight:c}}});if(a)return a;let b=document.createElement("div"),c,d,e;return b.className="cm-line",b.style.width="99999px",b.style.position="absolute",b.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(b);let a=S(b.firstChild)[0];c=b.getBoundingClientRect().height,d=a&&a.width?a.width/27:7,e=a&&a.height?a.height:c,b.remove()}),{lineHeight:c,charWidth:d,textHeight:e}}computeBlockGapDeco(){let a=[],b=this.view.viewState;for(let c=0,d=0;;d++){let e=d==b.viewports.length?null:b.viewports[d],f=e?e.from-1:this.view.state.doc.length;if(f>c){let d=(b.lineBlockAt(f).bottom-b.lineBlockAt(c).top)/this.view.scaleY;a.push(I.replace({widget:new bu(d),block:!0,inclusive:!0,isBlockGap:!0}).range(c,f))}if(!e)break;c=e.to+1}return I.set(a)}updateDeco(){let a=1,b=this.view.state.facet(aT).map(b=>(this.dynamicDecorationMap[a++]="function"==typeof b)?b(this.view):b),c=!1,d=this.view.state.facet(aV).map((a,b)=>{let d="function"==typeof a;return d&&(c=!0),d?a(this.view):a});for(d.length&&(this.dynamicDecorationMap[a++]=c,b.push(h.om.join(d))),this.decorations=[this.editContextFormatting,...b,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];a<this.decorations.length;)this.dynamicDecorationMap[a++]=!1;this.blockWrappers=this.view.state.facet(aU).map(a=>"function"==typeof a?a(this.view):a)}scrollIntoView(a){var b;if(a.isSnapshot){let b=this.view.viewState.lineBlockAt(a.range.head);this.view.scrollDOM.scrollTop=b.top-a.yMargin,this.view.scrollDOM.scrollLeft=a.xMargin;return}for(let b of this.view.state.facet(aH))try{if(b(this.view,a.range,a))return!0}catch(a){aL(this.view.state,a,"scroll handler")}let{range:c}=a,d=this.coordsAt(c.head,null!=(b=c.assoc)?b:c.empty?0:c.head>c.anchor?-1:1),e;if(!d)return;!c.empty&&(e=this.coordsAt(c.anchor,c.anchor>c.head?-1:1))&&(d={left:Math.min(d.left,e.left),top:Math.min(d.top,e.top),right:Math.max(d.right,e.right),bottom:Math.max(d.bottom,e.bottom)});let f=a$(this.view),g={left:d.left-f.left,top:d.top-f.top,right:d.right+f.right,bottom:d.bottom+f.bottom},{offsetWidth:h,offsetHeight:i}=this.view.scrollDOM;if(!function(a,b,c,d,e,f,g,h){let i=a.ownerDocument,j=i.defaultView||window;for(let k=a,l=!1;k&&!l;)if(1==k.nodeType){let a,m=k==i.body,n=1,o=1;if(m)a=function(a){let b=a.visualViewport;return b?{left:0,right:b.width,top:0,bottom:b.height}:{left:0,right:a.innerWidth,top:0,bottom:a.innerHeight}}(j);else{if(/^(fixed|sticky)$/.test(getComputedStyle(k).position)&&(l=!0),k.scrollHeight<=k.clientHeight&&k.scrollWidth<=k.clientWidth){k=k.assignedSlot||k.parentNode;continue}let b=k.getBoundingClientRect();({scaleX:n,scaleY:o}=Z(k,b)),a={left:b.left,right:b.left+k.clientWidth*n,top:b.top,bottom:b.top+k.clientHeight*o}}let p=0,q=0;if("nearest"==e)b.top<a.top+g?(q=b.top-(a.top+g),c>0&&b.bottom>a.bottom+q&&(q=b.bottom-a.bottom+g)):b.bottom>a.bottom-g&&(q=b.bottom-a.bottom+g,c<0&&b.top-q<a.top&&(q=b.top-(a.top+g)));else{let d=b.bottom-b.top,f=a.bottom-a.top;q=("center"==e&&d<=f?b.top+d/2-f/2:"start"==e||"center"==e&&c<0?b.top-g:b.bottom-f+g)-a.top}if("nearest"==d?b.left<a.left+f?(p=b.left-(a.left+f),c>0&&b.right>a.right+p&&(p=b.right-a.right+f)):b.right>a.right-f&&(p=b.right-a.right+f,c<0&&b.left<a.left+p&&(p=b.left-(a.left+f))):p=("center"==d?b.left+(b.right-b.left)/2-(a.right-a.left)/2:"start"==d==h?b.left-f:b.right-(a.right-a.left)+f)-a.left,p||q)if(m)j.scrollBy(p,q);else{let a=0,c=0;if(q){let a=k.scrollTop;k.scrollTop+=q/o,c=(k.scrollTop-a)*o}if(p){let b=k.scrollLeft;k.scrollLeft+=p/n,a=(k.scrollLeft-b)*n}b={left:b.left-a,top:b.top-c,right:b.right-a,bottom:b.bottom-c},a&&1>Math.abs(a-p)&&(d="nearest"),c&&1>Math.abs(c-q)&&(e="nearest")}if(m)break;(b.top<a.top||b.bottom>a.bottom||b.left<a.left||b.right>a.right)&&(b={left:Math.max(b.left,a.left),right:Math.min(b.right,a.right),top:Math.max(b.top,a.top),bottom:Math.min(b.bottom,a.bottom)}),k=k.assignedSlot||k.parentNode}else if(11==k.nodeType)k=k.host;else break}(this.view.scrollDOM,g,c.head<c.anchor?-1:1,a.x,a.y,Math.max(Math.min(a.xMargin,h),-h),Math.max(Math.min(a.yMargin,i),-i),this.view.textDirection==ai.LTR),window.visualViewport&&window.innerHeight-window.visualViewport.height>1&&(d.top>window.pageYOffset+window.visualViewport.offsetTop+window.visualViewport.height||d.bottom<window.pageYOffset+window.visualViewport.offsetTop)){let a=this.view.docView.lineAt(c.head,1);a&&a.dom.scrollIntoView({block:"nearest"})}}lineHasWidget(a){let b=a=>a.isWidget()||a.children.some(b);return b(this.tile.resolveBlock(a,1).tile)}destroy(){bq(this.tile)}}function bq(a,b){let c=null==b?void 0:b.get(a);if(1!=c)for(let d of(null==c&&a.destroy(),a.children))bq(d,b)}function br(a,b){let c=a.observer.selectionRange;if(!c.focusNode)return null;let d=af(c.focusNode,c.focusOffset),e=ag(c.focusNode,c.focusOffset),f=d||e;if(e&&d&&e.node!=d.node){let b=a3.get(e.node);if(!b||b.isText()&&b.text!=e.node.nodeValue)f=e;else if(a.docView.lastCompositionAfterCursor){let a=a3.get(d.node);!a||a.isText()&&a.text!=d.node.nodeValue||(f=e)}}if(a.docView.lastCompositionAfterCursor=f!=d,!f)return null;let g=b-f.offset;return{from:g,to:g+f.node.nodeValue.length,node:f.node}}let bs=class{constructor(){this.changes=[]}compareRange(a,b){N(a,b,this.changes)}comparePoint(a,b){N(a,b,this.changes)}boundChange(a){N(a,a,this.changes)}};class bt{constructor(){this.changes=[]}compareRange(a,b){N(a,b,this.changes)}comparePoint(){}boundChange(a){N(a,a,this.changes)}}class bu extends G{constructor(a){super(),this.height=a}toDOM(){let a=document.createElement("div");return a.className="cm-gap",this.updateDOM(a),a}eq(a){return a.height==this.height}updateDOM(a){return a.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}}function bv(a,b,c){let d=a.lineBlockAt(b);if(Array.isArray(d.type)){let a;for(let e of d.type){if(e.from>b)break;if(!(e.to<b)){if(e.from<b&&e.to>b)return e;(!a||e.type==H.Text&&(a.type!=e.type||(c<0?e.from<b:e.to>b)))&&(a=e)}}return a||d}return d}function bw(a,b,c,d){let e=a.state.doc.lineAt(b.head),f=a.bidiSpans(e),g=a.textDirectionAt(e.from);for(let i=b,j=null;;){let b=function(a,b,c,d,e){var f;let g=d.head-a.from,i=as.find(b,g,null!=(f=d.bidiLevel)?f:-1,d.assoc),j=b[i],k=j.side(e,c);if(g==k){let a=i+=e?1:-1;if(a<0||a>=b.length)return null;g=(j=b[i=a]).side(!e,c),k=j.side(e,c)}let l=(0,h.zK)(a.text,g,j.forward(e,c));(l<j.from||l>j.to)&&(l=k),av=a.text.slice(Math.min(g,l),Math.max(g,l));let m=i==(e?b.length-1:0)?null:b[i+(e?1:-1)];return m&&l==k&&m.level+ +!e<j.level?h.OF.cursor(m.side(!e,c)+a.from,m.forward(e,c)?1:-1,m.level):h.OF.cursor(l+a.from,j.forward(e,c)?-1:1,j.level)}(e,f,g,i,c),k=av;if(!b){if(e.number==(c?a.state.doc.lines:1))return i;k="\n",e=a.state.doc.line(e.number+(c?1:-1)),f=a.bidiSpans(e),b=a.visualLineSide(e,!c)}if(j){if(!j(k))return i}else{if(!d)return b;j=d(k)}i=b}}function bx(a,b,c){for(;;){let d=0;for(let e of a)e.between(b-1,b+1,(a,e,f)=>{if(b>a&&b<e){let f=d||c||(b-a<e-b?-1:1);b=f<0?a:e,d=f}});if(!d)return b}}function by(a,b){let c=null;for(let d=0;d<b.ranges.length;d++){let e=b.ranges[d],f=null;if(e.empty){let b=bx(a,e.from,0);b!=e.from&&(f=h.OF.cursor(b,-1))}else{let b=bx(a,e.from,-1),c=bx(a,e.to,1);(b!=e.from||c!=e.to)&&(f=e.undirectional?h.OF.undirectionalRange(e.from,e.to):h.OF.range(e.from==e.anchor?b:c,e.from==e.head?b:c))}f&&(c||(c=b.ranges.slice()),c[d]=f)}return c?h.OF.create(c,b.mainIndex):b}function bz(a,b,c){let d=bx(a.state.facet(aW).map(b=>b(a)),c.from,b.head>c.from?-1:1);return d==c.from?c:h.OF.cursor(d,d<c.from?1:-1)}class bA{constructor(a,b){this.pos=a,this.assoc=b}}function bB(a,b,c,d){let e=a.contentDOM.getBoundingClientRect(),f=e.top+a.viewState.paddingTop,{x:g,y:i}=b,j=i-f,k;for(;;){if(j<0)return new bA(0,1);if(j>a.viewState.docHeight)return new bA(a.state.doc.length,-1);if(k=a.elementAtHeight(j),null==d)break;if(k.type==H.Text){if(d<0?k.to<a.viewport.from:k.from>a.viewport.to)break;let b=a.docView.coordsAt(d<0?k.from:k.to,d>0?-1:1);if(b&&(d<0?b.top<=j+f:b.bottom>=j+f))break}let b=a.viewState.heightOracle.textHeight/2;j=d>0?k.bottom+b:k.top-b}if(a.viewport.from>=k.to||a.viewport.to<=k.from){if(c)return null;if(k.type==H.Text){let b=function(a,b,c,d,e){let f=Math.round((d-b.left)*a.defaultCharacterWidth);if(a.lineWrapping&&c.height>1.5*a.defaultLineHeight){let b=a.viewState.heightOracle.textHeight;f+=Math.floor((e-c.top-(a.defaultLineHeight-b)*.5)/b)*a.viewState.heightOracle.lineLength}let g=a.state.sliceDoc(c.from,c.to);return c.from+(0,h.kn)(g,f,a.state.tabSize)}(a,e,k,g,i);return new bA(b,b==k.from?1:-1)}}if(k.type!=H.Text)return j<(k.top+k.bottom)/2?new bA(k.from,1):new bA(k.to,-1);let l=a.docView.lineAt(k.from,2);return l&&l.length==k.length||(l=a.docView.lineAt(k.from,-2)),new bC(a,g,i,a.textDirectionAt(k.from)).scanTile(l,k.from)}class bC{constructor(a,b,c,d){this.view=a,this.x=b,this.y=c,this.baseDir=d,this.line=null,this.spans=null}bidiSpansAt(a){return(!this.line||this.line.from>a||this.line.to<a)&&(this.line=this.view.state.doc.lineAt(a),this.spans=this.view.bidiSpans(this.line)),this}baseDirAt(a,b){let{line:c,spans:d}=this.bidiSpansAt(a);return d[as.find(d,a-c.from,-1,b)].level==this.baseDir}dirAt(a,b){let{line:c,spans:d}=this.bidiSpansAt(a);return d[as.find(d,a-c.from,-1,b)].dir}bidiIn(a,b){let{spans:c,line:d}=this.bidiSpansAt(a);return c.length>1||c.length&&(c[0].level!=this.baseDir||c[0].to+d.from<b)}scan(a,b,c=!1){let d,e,f=0,g=a.length-1,h=new Set,i=this.bidiIn(a[0],a[g]),j=-1,k=1e9,l;for(;f<g;){let c=g-f,m=f+g>>1;b:if(h.has(m)){let a=f+Math.floor(Math.random()*c);for(let b=0;b<c;b++){if(!h.has(a)){m=a;break b}++a==g&&(a=f)}break}h.add(m);let n=b(m);if(n)for(let b=0;b<n.length;b++){let c=n[b],h=0;if(0!=c.width||!(n.length>1)){if(c.bottom<this.y)(!d||d.bottom<c.bottom)&&(d=c),h=1;else if(c.top>this.y)(!e||e.top>c.top)&&(e=c),h=-1;else{let a=c.left>this.x?this.x-c.left:c.right<this.x?this.x-c.right:0,b=Math.abs(a);b<k&&(j=m,k=b,l=c),a&&(h=a<0==(this.baseDir==ai.LTR)?-1:1)}-1==h&&(!i||this.baseDirAt(a[m],1))?g=m:1==h&&(!i||this.baseDirAt(a[m+1],-1))&&(f=m+1)}}}if(!l){if(!e&&!d)return{i:a[0],after:!1};let c=d&&(!e||this.y-d.bottom<e.top-this.y)?d:e;return this.y=(c.top+c.bottom)/2,this.scan(a,b,!0)}if(k&&!c){let{top:c,bottom:f}=l;if(d&&d.bottom>(c+c+f)/3)return this.y=d.bottom-1,this.scan(a,b,!0);if(e&&e.top<(c+f+f)/3)return this.y=e.top+1,this.scan(a,b,!0)}let m=(i?this.dirAt(a[j],1):this.baseDir)==ai.LTR;return{i:j,after:this.x>(l.left+l.right)/2==m}}scanText(a,b){let c=[];for(let d=0;d<a.length;d=(0,h.zK)(a.text,d))c.push(b+d);c.push(b+a.length);let d=this.scan(c,d=>{let e=c[d]-b,f=c[d+1]-b;return ac(a.dom,e,f).getClientRects()});return d.after?new bA(c[d.i+1],-1):new bA(c[d.i],1)}scanTile(a,b){if(!a.length)return new bA(b,1);if(1==a.children.length){let c=a.children[0];if(c.isText())return this.scanText(c,b);if(c.isComposite())return this.scanTile(c,b)}let c=[b];for(let d=0,e=b;d<a.children.length;d++)c.push(e+=a.children[d].length);let d=this.scan(c,b=>{let c=a.children[b];return 48&c.flags?null:(1==c.dom.nodeType?c.dom:ac(c.dom,0,c.length)).getClientRects()}),e=a.children[d.i],f=c[d.i];return e.isText()?this.scanText(e,f):e.isComposite()?this.scanTile(e,f):d.after?new bA(c[d.i+1],-1):new bA(f,1)}}class bD{constructor(a,b){this.points=a,this.view=b,this.text="",this.lineSeparator=b.state.facet(h.$t.lineSeparator)}append(a){this.text+=a}lineBreak(){this.text+=""}readRange(a,b){if(!a)return this;let c=a.parentNode;for(let d=a;;){this.findPointBefore(c,d);let a=this.text.length;this.readNode(d);let e=a3.get(d),f=d.nextSibling;if(f==b){(null==e?void 0:e.breakAfter)&&!f&&c!=this.view.contentDOM&&this.lineBreak();break}let g=a3.get(f);(e&&g?e.breakAfter:(e?e.breakAfter:V(d))||V(f)&&("BR"!=d.nodeName||(null==e?void 0:e.isWidget()))&&this.text.length>a)&&!function(a,b){let c;for(;a!=b&&a;a=a.nextSibling){let b=a3.get(a);if(!(null==b?void 0:b.isWidget()))return!1;b&&(c||(c=[])).push(b)}if(c)for(let a of c){let b=a.overrideDOMText;if(null==b?void 0:b.length)return!1}return!0}(f,b)&&this.lineBreak(),d=f}return this.findPointBefore(c,b),this}readTextNode(a){let b=a.nodeValue;for(let c of this.points)c.node==a&&(c.pos=this.text.length+Math.min(c.offset,b.length));for(let c=0,d=this.lineSeparator?null:/\r\n?|\n/g;;){let e=-1,f=1,g;if(this.lineSeparator?(e=b.indexOf(this.lineSeparator,c),f=this.lineSeparator.length):(g=d.exec(b))&&(e=g.index,f=g[0].length),this.append(b.slice(c,e<0?b.length:e)),e<0)break;if(this.lineBreak(),f>1)for(let b of this.points)b.node==a&&b.pos>this.text.length&&(b.pos-=f-1);c=e+f}}readNode(a){let b=a3.get(a),c=b&&b.overrideDOMText;if(null!=c){this.findPointInside(a,c.length);for(let a=c.iter();!a.next().done;)a.lineBreak?this.lineBreak():this.append(a.value)}else 3==a.nodeType?this.readTextNode(a):"BR"==a.nodeName?a.nextSibling&&this.lineBreak():1==a.nodeType&&this.readRange(a.firstChild,null)}findPointBefore(a,b){for(let c of this.points)c.node==a&&a.childNodes[c.offset]==b&&(c.pos=this.text.length)}findPointInside(a,b){for(let c of this.points)(3==a.nodeType?c.node==a:a.contains(c.node))&&(c.pos=this.text.length+(!function(a,b,c){for(;;){if(!b||c<X(b))return!1;if(b==a)return!0;c=U(b)+1,b=b.parentNode}}(a,c.node,c.offset)?0:b))}}class bE{constructor(a,b){this.node=a,this.offset=b,this.pos=-1}}class bF{constructor(a,b,c,d){this.typeOver=d,this.bounds=null,this.text="",this.domChanged=b>-1;let{impreciseHead:e,impreciseAnchor:f}=a.docView,g=a.state.selection;if(a.state.readOnly&&b>-1)this.newSel=null;else if(b>-1&&(this.bounds=function a(b,c,d,e){if(b.isComposite()){let f=-1,g=-1,h=-1,i=-1;for(let j=0,k=e,l=e;j<b.children.length;j++){let e=b.children[j],m=k+e.length;if(k<c&&m>d)return a(e,c,d,k);if(m>=c&&-1==f&&(f=j,g=k),k>d&&e.dom.parentNode==b.dom){h=j,i=l;break}l=m,k=m+e.breakAfter}return{from:g,to:i<0?e+b.length:i,startDOM:(f?b.children[f-1].dom.nextSibling:null)||b.dom.firstChild,endDOM:h<b.children.length&&h>=0?b.children[h].dom:null}}return b.isText()?{from:e,to:e+b.length,startDOM:b.dom,endDOM:b.dom.nextSibling}:null}(a.docView.tile,b,c,0))){let b=e||f?[]:function(a){let b=[];if(a.root.activeElement!=a.contentDOM)return b;let{anchorNode:c,anchorOffset:d,focusNode:e,focusOffset:f}=a.observer.selectionRange;return c&&(b.push(new bE(c,d)),(e!=c||f!=d)&&b.push(new bE(e,f))),b}(a),c=new bD(b,a);c.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=c.text,this.newSel=function(a,b){if(0==a.length)return null;let c=a[0].pos,d=2==a.length?a[1].pos:c;return c>-1&&d>-1?h.OF.single(c+b,d+b):null}(b,this.bounds.from)}else{let b=a.observer.selectionRange,c=e&&e.node==b.focusNode&&e.offset==b.focusOffset||!Q(a.contentDOM,b.focusNode)?g.main.head:a.docView.posFromDOM(b.focusNode,b.focusOffset),d=f&&f.node==b.anchorNode&&f.offset==b.anchorOffset||!Q(a.contentDOM,b.anchorNode)?g.main.anchor:a.docView.posFromDOM(b.anchorNode,b.anchorOffset),i=a.viewport;if((B.ios||B.chrome)&&c!=d&&Math.min(c,d)<=g.main.from&&Math.max(c,d)>=g.main.to&&(i.from>0||i.to<a.state.doc.length)){let b=Math.min(c,d),e=Math.max(c,d),f=i.from-b,g=i.to-e;(0==f||1==f||0==b)&&(0==g||-1==g||e==a.state.doc.length)&&(c=0,d=a.state.doc.length)}if(a.inputState.composing>-1&&g.ranges.length>1)this.newSel=g.replaceRange(h.OF.range(d,c));else if(a.lineWrapping&&d==c&&!(g.main.empty&&g.main.head==c)&&a.inputState.lastTouchTime>Date.now()-100){let b=a.coordsAtPos(c,-1),d=0;b&&(d=a.inputState.lastTouchY<=b.bottom?-1:1),this.newSel=h.OF.create([h.OF.cursor(c,d)])}else this.newSel=h.OF.single(d,c)}}}function bG(a,b){let c,{newSel:d}=b,{state:e}=a,f=e.selection.main,g=a.inputState.lastKeyTime>Date.now()-100?a.inputState.lastKeyCode:-1;if(b.bounds){let{from:a,to:d}=b.bounds,i=f.from,j=null;(8===g||B.android&&b.text.length<d-a)&&(i=f.to,j="end");let k=e.doc.sliceString(a,d,""),l,m;!f.empty&&f.from>=a&&f.to<=d&&(b.typeOver||k!=b.text)&&k.slice(0,f.from-a)==b.text.slice(0,f.from-a)&&k.slice(f.to-a)==b.text.slice(l=b.text.length-(k.length-(f.to-a)))?c={from:f.from,to:f.to,insert:h.EY.of(b.text.slice(f.from-a,l).split(""))}:(m=bI(k,b.text,i-a,j))&&(B.chrome&&13==g&&m.toB==m.from+2&&""==b.text.slice(m.from,m.toB)&&m.toB--,c={from:a+m.from,to:a+m.toA,insert:h.EY.of(b.text.slice(m.from,m.toB).split(""))})}else d&&(!a.hasFocus&&e.facet(aM)||bJ(d,f))&&(d=null);if(!c&&!d)return!1;if((B.mac||B.android)&&c&&c.from==c.to&&c.from==f.head-1&&/^\. ?$/.test(c.insert.toString())&&"off"==a.contentDOM.getAttribute("autocorrect")?(d&&2==c.insert.length&&(d=h.OF.single(d.main.anchor-1,d.main.head-1)),c={from:c.from,to:c.to,insert:h.EY.of([c.insert.toString().replace("."," ")])}):e.doc.lineAt(f.from).to<f.to&&a.docView.lineHasWidget(f.to)&&a.inputState.insertingTextAt>Date.now()-50?c={from:f.from,to:f.to,insert:e.toText(a.inputState.insertingText)}:B.chrome&&c&&c.from==c.to&&c.from==f.head&&"\n "==c.insert.toString()&&a.lineWrapping&&(d&&(d=h.OF.single(d.main.anchor-1,d.main.head-1)),c={from:f.from,to:f.to,insert:h.EY.of([" "])}),c)return bH(a,c,d,g);if(!d||bJ(d,f))return!1;{let b=!1,c="select";return a.inputState.lastSelectionTime>Date.now()-50&&("select"==a.inputState.lastSelectionOrigin&&(b=!0),"select.pointer"==(c=a.inputState.lastSelectionOrigin)&&(d=by(e.facet(aW).map(b=>b(a)),d))),a.dispatch({selection:d,scrollIntoView:b,userEvent:c}),!0}}function bH(a,b,c,d=-1){let e;if(B.ios&&a.inputState.flushIOSKey(b))return!0;let f=a.state.selection.main;if(B.android&&(b.to==f.to&&(b.from==f.from||b.from==f.from-1&&" "==a.state.sliceDoc(b.from,f.from))&&1==b.insert.length&&2==b.insert.lines&&ad(a.contentDOM,"Enter",13)||(b.from==f.from-1&&b.to==f.to&&0==b.insert.length||8==d&&b.insert.length<b.to-b.from&&b.to>f.head)&&ad(a.contentDOM,"Backspace",8)||b.from==f.from&&b.to==f.to+1&&0==b.insert.length&&ad(a.contentDOM,"Delete",46)))return!0;let g=b.insert.toString();a.inputState.composing>=0&&a.inputState.composing++;let i=()=>e||(e=function(a,b,c){let d,e=a.state,f=e.selection.main,g=-1;if(b.from==b.to&&b.from<f.from||b.from>f.to){let c=b.from<f.from?-1:1,d=c<0?f.from:f.to,h=bx(e.facet(aW).map(b=>b(a)),d,c);b.from==h&&(g=h)}if(g>-1)d={changes:b,selection:h.OF.cursor(b.from+b.insert.length,-1)};else if(b.from>=f.from&&b.to<=f.to&&b.to-b.from>=(f.to-f.from)/3&&(!c||c.main.empty&&c.main.from==b.from+b.insert.length)&&a.inputState.composing<0){let c=f.from<b.from?e.sliceDoc(f.from,b.from):"",g=f.to>b.to?e.sliceDoc(b.to,f.to):"";d=e.replaceSelection(a.state.toText(c+b.insert.sliceString(0,void 0,a.state.lineBreak)+g))}else{let g=e.changes(b),i=c&&c.main.to<=g.newLength?c.main:void 0;if(e.selection.ranges.length>1&&(a.inputState.composing>=0||a.inputState.compositionPendingChange)&&b.to<=f.to+10&&b.to>=f.to-10){let j=a.state.sliceDoc(b.from,b.to),k,l=c&&br(a,c.main.head);if(l){let a=b.insert.length-(b.to-b.from);k={from:l.from,to:l.to-a}}else k=a.state.doc.lineAt(f.head);let m=f.to-b.to;d=e.changeByRange(c=>{if(c.from==f.from&&c.to==f.to)return{changes:g,range:i||c.map(g)};let d=c.to-m,l=d-j.length;if(a.state.sliceDoc(l,d)!=j||d>=k.from&&l<=k.to)return{range:c};let n=e.changes({from:l,to:d,insert:b.insert}),o=c.to-f.to;return{changes:n,range:i?h.OF.range(Math.max(0,i.anchor+o),Math.max(0,i.head+o)):c.map(n)}})}else d={changes:g,selection:i&&e.selection.replaceRange(i)}}let i="input.type";return(a.composing||a.inputState.compositionPendingChange&&a.inputState.compositionEndedAt>Date.now()-50)&&(a.inputState.compositionPendingChange=!1,i+=".compose",a.inputState.compositionFirstChange&&(i+=".start",a.inputState.compositionFirstChange=!1)),e.update(d,{userEvent:i,scrollIntoView:!0})}(a,b,c));return a.state.facet(aB).some(c=>c(a,b.from,b.to,g,i))||a.dispatch(i()),!0}function bI(a,b,c,d){let e=Math.min(a.length,b.length),f=0;for(;f<e&&a.charCodeAt(f)==b.charCodeAt(f);)f++;if(f==e&&a.length==b.length)return null;let g=a.length,h=b.length;for(;g>0&&h>0&&a.charCodeAt(g-1)==b.charCodeAt(h-1);)g--,h--;if("end"==d){let a=Math.max(0,f-Math.min(g,h));c-=g+a-f}if(g<f&&a.length<b.length){let a=c<=f&&c>=g?f-c:0;f-=a,h=f+(h-g),g=f}else if(h<f){let a=c<=f&&c>=h?f-c:0;f-=a,g=f+(g-h),h=f}return{from:f,toA:g,toB:h}}function bJ(a,b){return b.head==a.main.head&&b.anchor==a.main.anchor}class bK{setSelectionOrigin(a){this.lastSelectionOrigin=a,this.lastSelectionTime=Date.now()}constructor(a){var b;this.view=a,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=a.hasFocus,B.safari&&a.contentDOM.addEventListener("input",()=>null),B.gecko&&(b=a.contentDOM.ownerDocument,b5.has(b)||(b5.add(b),b.addEventListener("copy",()=>{}),b.addEventListener("cut",()=>{})))}handleEvent(a){!function(a,b){if(!b.bubbles)return!0;if(b.defaultPrevented)return!1;for(let c=b.target,d;c!=a.contentDOM;c=c.parentNode)if(!c||11==c.nodeType||(d=a3.get(c))&&d.isWidget()&&!d.isHidden&&d.widget.ignoreEvent(b))return!1;return!0}(this.view,a)||this.ignoreDuringComposition(a)||"keydown"==a.type&&this.keydown(a)||(0!=this.view.updateState?Promise.resolve().then(()=>this.runHandlers(a.type,a)):this.runHandlers(a.type,a))}runHandlers(a,b){let c=this.handlers[a];if(c){for(let a of c.observers)a(this.view,b);for(let a of c.handlers){if(b.defaultPrevented)break;if(a(this.view,b)){b.preventDefault();break}}}}ensureHandlers(a){let b=function(a){let b=Object.create(null);function c(a){return b[a]||(b[a]={observers:[],handlers:[]})}for(let b of a){let a=b.spec,d=a&&a.plugin.domEventHandlers,e=a&&a.plugin.domEventObservers;if(d)for(let a in d){let e=d[a];e&&c(a).handlers.push(bL(b.value,e))}if(e)for(let a in e){let d=e[a];d&&c(a).observers.push(bL(b.value,d))}}for(let a in bR)c(a).handlers.push(bR[a]);for(let a in bS)c(a).observers.push(bS[a]);return b}(a),c=this.handlers,d=this.view.contentDOM;for(let a in b)if("scroll"!=a){let e=!b[a].handlers.length,f=c[a];f&&e!=!f.handlers.length&&(d.removeEventListener(a,this.handleEvent),f=null),f||d.addEventListener(a,this.handleEvent,{passive:e})}for(let a in c)"scroll"==a||b[a]||d.removeEventListener(a,this.handleEvent);this.handlers=b}keydown(a){if(this.lastKeyCode=a.keyCode,this.lastKeyTime=Date.now(),9==a.keyCode&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&27!=a.keyCode&&0>bO.indexOf(a.keyCode)&&(this.tabFocusMode=-1),B.android&&B.chrome&&!a.synthetic&&(13==a.keyCode||8==a.keyCode))return this.view.observer.delayAndroidKey(a.key,a.keyCode),!0;if(B.ios&&!a.synthetic&&!a.altKey&&!a.metaKey&&(bM.some(b=>b.keyCode==a.keyCode)&&!a.ctrlKey||bN.indexOf(a.key)>-1&&a.ctrlKey)){var b;let c={ctrlKey:a.ctrlKey,altKey:a.altKey,metaKey:a.metaKey,shiftKey:a.shiftKey};return c.shiftKey&&B.ios&&!/^(off|none)$/.test(this.view.contentDOM.autocapitalize)&&(b=this.view.win).visualViewport&&b.visualViewport.height*b.visualViewport.scale/b.document.documentElement.clientHeight<.85&&(c.shiftKey=!1),this.pendingIOSKey={key:a.key,keyCode:a.keyCode,mods:c},setTimeout(()=>this.flushIOSKey(),250),!0}return 229!=a.keyCode&&this.view.observer.forceFlush(),!1}flushIOSKey(a){let b=this.pendingIOSKey;return!(!b||"Enter"==b.key&&a&&a.from<a.to&&/^\S+$/.test(a.insert.toString()))&&(this.pendingIOSKey=void 0,ad(this.view.contentDOM,b.key,b.keyCode,b.mods))}ignoreDuringComposition(a){return!!/^key/.test(a.type)&&!a.synthetic&&(this.composing>0||!!(B.safari&&!B.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100)&&(this.compositionPendingKey=!1,!0))}startMouseSelection(a){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=a}update(a){this.view.observer.update(a),this.mouseSelection&&this.mouseSelection.update(a),this.draggedContent&&a.docChanged&&(this.draggedContent=this.draggedContent.map(a.changes)),a.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}function bL(a,b){return(c,d)=>{try{return b.call(a,d,c)}catch(a){aL(c.state,a)}}}let bM=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],bN="dthko",bO=[16,17,18,20,91,92,224,225];function bP(a){return .7*Math.max(0,a)+8}class bQ{constructor(a,b,c,d){var e,f;let g;this.view=a,this.startEvent=b,this.style=c,this.mustSelect=d,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=b,this.scrollParents=$(a.contentDOM),this.atoms=a.state.facet(aW).map(b=>b(a));let i=a.contentDOM.ownerDocument;i.addEventListener("mousemove",this.move=this.move.bind(this)),i.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=b.shiftKey,this.multiple=a.state.facet(h.$t.allowMultipleSelections)&&(e=a,f=b,(g=e.state.facet(aw)).length?g[0](f):B.mac?f.metaKey:f.ctrlKey),this.dragging=!!function(a,b){let{main:c}=a.state.selection;if(c.empty)return!1;let d=P(a.root);if(!d||0==d.rangeCount)return!0;let e=d.getRangeAt(0).getClientRects();for(let a=0;a<e.length;a++){let c=e[a];if(c.left<=b.clientX&&c.right>=b.clientX&&c.top<=b.clientY&&c.bottom>=b.clientY)return!0}return!1}(a,b)&&1==b_(b)&&null}start(a){!1===this.dragging&&this.select(a)}move(a){var b;if(0==a.buttons)return this.destroy();if(this.dragging||null==this.dragging&&10>(b=this.startEvent,Math.max(Math.abs(b.clientX-a.clientX),Math.abs(b.clientY-a.clientY))))return;this.select(this.lastEvent=a);let c=0,d=0,e=0,f=0,g=this.view.win.innerWidth,h=this.view.win.innerHeight;this.scrollParents.x&&({left:e,right:g}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:f,bottom:h}=this.scrollParents.y.getBoundingClientRect());let i=a$(this.view);a.clientX-i.left<=e+6?c=-bP(e-a.clientX):a.clientX+i.right>=g-6&&(c=bP(a.clientX-g)),a.clientY-i.top<=f+6?d=-bP(f-a.clientY):a.clientY+i.bottom>=h-6&&(d=bP(a.clientY-h)),this.setScrollSpeed(c,d)}up(a){null==this.dragging&&this.select(this.lastEvent),this.dragging||a.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let a=this.view.contentDOM.ownerDocument;a.removeEventListener("mousemove",this.move),a.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(a,b){this.scrollSpeed={x:a,y:b},a||b?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:a,y:b}=this.scrollSpeed;a&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=a,a=0),b&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=b,b=0),(a||b)&&this.view.win.scrollBy(a,b),!1===this.dragging&&this.select(this.lastEvent)}select(a){let{view:b}=this,c=by(this.atoms,this.style.get(a,this.extend,this.multiple));(this.mustSelect||!c.eq(b.state.selection,!1===this.dragging))&&this.view.dispatch({selection:c,userEvent:"select.pointer"}),this.mustSelect=!1}update(a){a.transactions.some(a=>a.isUserEvent("input.type"))?this.destroy():this.style.update(a)&&setTimeout(()=>this.select(this.lastEvent),20)}}let bR=Object.create(null),bS=Object.create(null),bT=B.ie&&B.ie_version<15||B.ios&&B.webkit_version<604;function bU(a,b,c){for(let d of a.facet(b))c=d(c,a);return c}function bV(a,b){b=bU(a.state,aD,b);let{state:c}=a,d,e=1,f=c.toText(b),g=f.lines==c.selection.ranges.length;if(null!=b1&&c.selection.ranges.every(a=>a.empty)&&b1==f.toString()){let a=-1;d=c.changeByRange(d=>{let i=c.doc.lineAt(d.from);if(i.from==a)return{range:d};a=i.from;let j=c.toText((g?f.line(e++).text:b)+c.lineBreak);return{changes:{from:i.from,insert:j},range:h.OF.cursor(d.from+j.length)}})}else d=g?c.changeByRange(a=>{let b=f.line(e++);return{changes:{from:a.from,to:a.to,insert:b.text},range:h.OF.cursor(a.from+b.length)}}):c.replaceSelection(f);a.dispatch(d,{userEvent:"input.paste",scrollIntoView:!0})}function bW(a,b,c,d){if(1==d)return h.OF.cursor(b,c);{if(2==d)return function(a,b,c=1){let d=a.charCategorizer(b),e=a.doc.lineAt(b),f=b-e.from;if(0==e.length)return h.OF.cursor(b);0==f?c=1:f==e.length&&(c=-1);let g=f,i=f;c<0?g=(0,h.zK)(e.text,f,!1):i=(0,h.zK)(e.text,f);let j=d(e.text.slice(g,i));for(;g>0;){let a=(0,h.zK)(e.text,g,!1);if(d(e.text.slice(a,g))!=j)break;g=a}for(;i<e.length;){let a=(0,h.zK)(e.text,i);if(d(e.text.slice(i,a))!=j)break;i=a}return h.OF.undirectionalRange(g+e.from,i+e.from)}(a.state,b,c);let e=a.docView.lineAt(b,c),f=a.state.doc.lineAt(e?e.posAtEnd:b),g=e?e.posAtStart:f.from,i=e?e.posAtEnd:f.to;return i<a.state.doc.length&&i==f.to&&i++,h.OF.undirectionalRange(g,i)}}bS.scroll=a=>{a.inputState.lastScrollTop=a.scrollDOM.scrollTop,a.inputState.lastScrollLeft=a.scrollDOM.scrollLeft},bS.wheel=bS.mousewheel=a=>{a.inputState.lastWheelEvent=Date.now()},bR.keydown=(a,b)=>(a.inputState.setSelectionOrigin("select"),27==b.keyCode&&0!=a.inputState.tabFocusMode&&(a.inputState.tabFocusMode=Date.now()+2e3),!1),bS.touchstart=(a,b)=>{let c=a.inputState,d=b.targetTouches[0];c.lastTouchTime=Date.now(),d&&(c.lastTouchX=d.clientX,c.lastTouchY=d.clientY),c.setSelectionOrigin("select.pointer")},bS.touchmove=a=>{a.inputState.setSelectionOrigin("select.pointer")},bR.mousedown=(a,b)=>{var c,d;let e,f,g;if(a.observer.flush(),a.inputState.lastTouchTime>Date.now()-2e3)return!1;let i=null;for(let c of a.state.facet(ay))if(i=c(a,b))break;if(i||0!=b.button||(c=a,d=b,e=c.posAndSideAtCoords({x:d.clientX,y:d.clientY},!1),f=b_(d),g=c.state.selection,i={update(a){a.docChanged&&(e.pos=a.changes.mapPos(e.pos),g=g.map(a.changes))},get(a,b,d){let i=c.posAndSideAtCoords({x:a.clientX,y:a.clientY},!1),j,k=bW(c,i.pos,i.assoc,f);if(e.pos!=i.pos&&!b){let a=bW(c,e.pos,e.assoc,f),b=Math.min(a.from,k.from),d=Math.max(a.to,k.to);k=b<k.from?h.OF.range(b,d,k.assoc):h.OF.range(d,b,k.assoc)}return b?g.replaceRange(g.main.extend(k.from,k.to,k.assoc)):d&&1==f&&g.ranges.length>1&&(j=function(a,b){for(let c=0;c<a.ranges.length;c++){let{from:d,to:e}=a.ranges[c];if(d<=b&&e>=b)return h.OF.create(a.ranges.slice(0,c).concat(a.ranges.slice(c+1)),a.mainIndex==c?0:a.mainIndex-(a.mainIndex>c))}return null}(g,i.pos))?j:d?g.addRange(k):h.OF.create([k])}}),i){let c=!a.hasFocus;a.inputState.startMouseSelection(new bQ(a,b,i,c)),c&&a.observer.ignore(()=>{ab(a.contentDOM);let b=a.root.activeElement;b&&!b.contains(a.contentDOM)&&b.blur()});let d=a.inputState.mouseSelection;if(d)return d.start(b),!1===d.dragging}else a.inputState.setSelectionOrigin("select.pointer");return!1};let bX=B.ie&&B.ie_version<=11,bY=null,bZ=0,b$=0;function b_(a){if(!bX)return a.detail;let b=bY,c=b$;return bY=a,b$=Date.now(),bZ=!b||c>Date.now()-400&&2>Math.abs(b.clientX-a.clientX)&&2>Math.abs(b.clientY-a.clientY)?(bZ+1)%3:1}function b0(a,b,c,d){let e;if(!(c=bU(a.state,aD,c)))return;let f=a.posAtCoords({x:b.clientX,y:b.clientY},!1),{draggedContent:g}=a.inputState,h=d&&g&&((e=a.state.facet(ax)).length?e[0](b):B.mac?!b.altKey:!b.ctrlKey)?{from:g.from,to:g.to}:null,i={from:f,insert:c},j=a.state.changes(h?[h,i]:i);a.focus(),a.dispatch({changes:j,selection:{anchor:j.mapPos(f,-1),head:j.mapPos(f,1)},userEvent:h?"move.drop":"input.drop"}),a.inputState.draggedContent=null}bR.dragstart=(a,b)=>{let{selection:{main:c}}=a.state;if(b.target.draggable){let d=a.docView.tile.nearest(b.target);if(d&&d.isWidget()){let a=d.posAtStart,b=a+d.length;(a>=c.to||b<=c.from)&&(c=h.OF.undirectionalRange(a,b))}}let{inputState:d}=a;return d.mouseSelection&&(d.mouseSelection.dragging=!0),d.draggedContent=c,b.dataTransfer&&(b.dataTransfer.setData("Text",bU(a.state,aE,a.state.sliceDoc(c.from,c.to))),b.dataTransfer.effectAllowed="copyMove"),!1},bR.dragend=a=>(a.inputState.draggedContent=null,!1),bR.drop=(a,b)=>{if(!b.dataTransfer)return!1;if(a.state.readOnly)return!0;let c=b.dataTransfer.files;if(c&&c.length){let d=Array(c.length),e=0,f=()=>{++e==c.length&&b0(a,b,d.filter(a=>null!=a).join(a.state.lineBreak),!1)};for(let a=0;a<c.length;a++){let b=new FileReader;b.onerror=f,b.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(b.result)||(d[a]=b.result),f()},b.readAsText(c[a])}return!0}{let c=b.dataTransfer.getData("Text");if(c)return b0(a,b,c,!0),!0}return!1},bR.paste=(a,b)=>{if(a.state.readOnly)return!0;a.observer.flush();let c=bT?null:b.clipboardData;return c?(bV(a,c.getData("text/plain")||c.getData("text/uri-list")),!0):(!function(a){let b=a.dom.parentNode;if(!b)return;let c=b.appendChild(document.createElement("textarea"));c.style.cssText="position: fixed; left: -10000px; top: 10px",c.focus(),setTimeout(()=>{a.focus(),c.remove(),bV(a,c.value)},50)}(a),!1)};let b1=null;bR.copy=bR.cut=(a,b)=>{if(!R(a.contentDOM,a.observer.selectionRange))return!1;let{text:c,ranges:d,linewise:e}=function(a){let b=[],c=[],d=!1;for(let d of a.selection.ranges)d.empty||(b.push(a.sliceDoc(d.from,d.to)),c.push(d));if(!b.length){let e=-1;for(let{from:d}of a.selection.ranges){let f=a.doc.lineAt(d);f.number>e&&(b.push(f.text),c.push({from:f.from,to:Math.min(a.doc.length,f.to+1)})),e=f.number}d=!0}return{text:bU(a,aE,b.join(a.lineBreak)),ranges:c,linewise:d}}(a.state);if(!c&&!e)return!1;b1=e?c:null,"cut"!=b.type||a.state.readOnly||a.dispatch({changes:d,scrollIntoView:!0,userEvent:"delete.cut"});let f=bT?null:b.clipboardData;return f?(f.clearData(),f.setData("text/plain",c),!0):(!function(a,b){let c=a.dom.parentNode;if(!c)return;let d=c.appendChild(document.createElement("textarea"));d.style.cssText="position: fixed; left: -10000px; top: 10px",d.value=b,d.focus(),d.selectionEnd=b.length,d.selectionStart=0,setTimeout(()=>{d.remove(),a.focus()},50)}(a,c),!1)};let b2=h.YH.define();function b3(a,b){let c=[];for(let d of a.facet(aC)){let e=d(a,b);e&&c.push(e)}return c.length?a.update({effects:c,annotations:b2.of(!0)}):null}function b4(a){setTimeout(()=>{let b=a.hasFocus;if(b!=a.inputState.notifiedFocused){let c=b3(a.state,b);c?a.dispatch(c):a.update([])}},10)}bS.focus=a=>{a.inputState.lastFocusTime=Date.now(),!a.scrollDOM.scrollTop&&(a.inputState.lastScrollTop||a.inputState.lastScrollLeft)&&(a.scrollDOM.scrollTop=a.inputState.lastScrollTop,a.scrollDOM.scrollLeft=a.inputState.lastScrollLeft),b4(a)},bS.blur=a=>{a.observer.clearSelectionRange(),b4(a)},bS.compositionstart=bS.compositionupdate=a=>{!a.observer.editContext&&(null==a.inputState.compositionFirstChange&&(a.inputState.compositionFirstChange=!0),a.inputState.composing<0&&(a.inputState.composing=0))},bS.compositionend=a=>{a.observer.editContext||(a.inputState.composing=-1,a.inputState.compositionEndedAt=Date.now(),a.inputState.compositionPendingKey=!0,a.inputState.compositionPendingChange=a.observer.pendingRecords().length>0,a.inputState.compositionFirstChange=null,B.chrome&&B.android?a.observer.flushSoon():a.inputState.compositionPendingChange?Promise.resolve().then(()=>a.observer.flush()):setTimeout(()=>{a.inputState.composing<0&&a.docView.hasComposition&&a.update([])},50))},bS.contextmenu=a=>{a.inputState.lastContextMenu=Date.now()},bR.beforeinput=(a,b)=>{var c,d;let e;if(("insertText"==b.inputType||"insertCompositionText"==b.inputType)&&(a.inputState.insertingText=b.data,a.inputState.insertingTextAt=Date.now()),"insertReplacementText"==b.inputType&&a.observer.editContext){let d=null==(c=b.dataTransfer)?void 0:c.getData("text/plain"),e=b.getTargetRanges();if(d&&e.length){let b=e[0],c=a.posAtDOM(b.startContainer,b.startOffset),f=a.posAtDOM(b.endContainer,b.endOffset);return bH(a,{from:c,to:f,insert:a.state.toText(d)},null),!0}}if(B.chrome&&B.android&&(e=bM.find(a=>a.inputType==b.inputType))&&(a.observer.delayAndroidKey(e.key,e.keyCode),"Backspace"==e.key||"Delete"==e.key)){let b=(null==(d=window.visualViewport)?void 0:d.height)||0;setTimeout(()=>{var c;((null==(c=window.visualViewport)?void 0:c.height)||0)>b+10&&a.hasFocus&&(a.contentDOM.blur(),a.focus())},100)}return B.ios&&"deleteContentForward"==b.inputType&&a.observer.flushSoon(),B.safari&&"insertText"==b.inputType&&a.inputState.composing>=0&&setTimeout(()=>bS.compositionend(a,b),20),!1};let b5=new Set,b6=["pre-wrap","normal","pre-line","break-spaces"],b7=!1;class b8{constructor(a){this.lineWrapping=a,this.doc=h.EY.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(a,b){let c=this.doc.lineAt(b).number-this.doc.lineAt(a).number+1;return this.lineWrapping&&(c+=Math.max(0,Math.ceil((b-a-c*this.lineLength*.5)/this.lineLength))),this.lineHeight*c}heightForLine(a){return this.lineWrapping?(1+Math.max(0,Math.ceil((a-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(a){return this.doc=a,this}mustRefreshForWrapping(a){return b6.indexOf(a)>-1!=this.lineWrapping}mustRefreshForHeights(a){let b=!1;for(let c=0;c<a.length;c++){let d=a[c];d<0?c++:this.heightSamples[Math.floor(10*d)]||(b=!0,this.heightSamples[Math.floor(10*d)]=!0)}return b}refresh(a,b,c,d,e,f){let g=b6.indexOf(a)>-1,h=Math.abs(b-this.lineHeight)>.3||this.lineWrapping!=g;if(this.lineWrapping=g,this.lineHeight=b,this.charWidth=c,this.textHeight=d,this.lineLength=e,h){this.heightSamples={};for(let a=0;a<f.length;a++){let b=f[a];b<0?a++:this.heightSamples[Math.floor(10*b)]=!0}}return h}}class b9{constructor(a,b){this.from=a,this.heights=b,this.index=0}get more(){return this.index<this.heights.length}}class ca{constructor(a,b,c,d,e){this.from=a,this.length=b,this.top=c,this.height=d,this._content=e}get type(){return"number"==typeof this._content?H.Text:Array.isArray(this._content)?this._content:this._content.type}get to(){return this.from+this.length}get bottom(){return this.top+this.height}get widget(){return this._content instanceof L?this._content.widget:null}get widgetLineBreaks(){return"number"==typeof this._content?this._content:0}join(a){let b=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(a._content)?a._content:[a]);return new ca(this.from,this.length+a.length,this.top,this.height+a.height,b)}}var cb=((g=cb||(cb={}))[g.ByPos=0]="ByPos",g[g.ByHeight=1]="ByHeight",g[g.ByPosNoHeight=2]="ByPosNoHeight",g);class cc{constructor(a,b,c=2){this.length=a,this.height=b,this.flags=c}get outdated(){return(2&this.flags)>0}set outdated(a){this.flags=2*!!a|-3&this.flags}setHeight(a){this.height!=a&&(Math.abs(this.height-a)>.001&&(b7=!0),this.height=a)}replace(a,b,c){return cc.of(c)}decomposeLeft(a,b){b.push(this)}decomposeRight(a,b){b.push(this)}applyChanges(a,b,c,d){let e=this,f=c.doc;for(let g=d.length-1;g>=0;g--){let{fromA:h,toA:i,fromB:j,toB:k}=d[g],l=e.lineAt(h,cb.ByPosNoHeight,c.setDoc(b),0,0),m=l.to>=i?l:e.lineAt(i,cb.ByPosNoHeight,c,0,0);for(k+=m.to-i,i=m.to;g>0&&l.from<=d[g-1].toA;)h=d[g-1].fromA,j=d[g-1].fromB,g--,h<l.from&&(l=e.lineAt(h,cb.ByPosNoHeight,c,0,0));j+=l.from-h,h=l.from;let n=ck.build(c.setDoc(f),a,j,k);e=cd(e,e.replace(h,i,n))}return e.updateHeight(c,0)}static empty(){return new cg(0,0,0)}static of(a){if(1==a.length)return a[0];let b=0,c=a.length,d=0,e=0;for(;;)if(b==c)if(d>2*e){let e=a[b-1];e.break?a.splice(--b,1,e.left,null,e.right):a.splice(--b,1,e.left,e.right),c+=1+e.break,d-=e.size}else if(e>2*d){let b=a[c];b.break?a.splice(c,1,b.left,null,b.right):a.splice(c,1,b.left,b.right),c+=2+b.break,e-=b.size}else break;else if(d<e){let c=a[b++];c&&(d+=c.size)}else{let b=a[--c];b&&(e+=b.size)}let f=0;return null==a[b-1]?(f=1,b--):null==a[b]&&(f=1,c++),new ci(cc.of(a.slice(0,b)),f,cc.of(a.slice(c)))}}function cd(a,b){return a==b?a:(a.constructor!=b.constructor&&(b7=!0),b)}cc.prototype.size=1;let ce=I.replace({});class cf extends cc{constructor(a,b,c){super(a,b),this.deco=c,this.spaceAbove=0}mainBlock(a,b){return new ca(b,this.length,a+this.spaceAbove,this.height-this.spaceAbove,this.deco||0)}blockAt(a,b,c,d){return this.spaceAbove&&a<c+this.spaceAbove?new ca(d,0,c,this.spaceAbove,ce):this.mainBlock(c,d)}lineAt(a,b,c,d,e){let f=this.mainBlock(d,e);return this.spaceAbove?this.blockAt(0,c,d,e).join(f):f}forEachLine(a,b,c,d,e,f){a<=e+this.length&&b>=e&&f(this.lineAt(0,cb.ByPos,c,d,e))}setMeasuredHeight(a){let b=a.heights[a.index++];b<0?(this.spaceAbove=-b,b=a.heights[a.index++]):this.spaceAbove=0,this.setHeight(b)}updateHeight(a,b=0,c=!1,d){return d&&d.from<=b&&d.more&&this.setMeasuredHeight(d),this.outdated=!1,this}toString(){return`block(${this.length})`}}class cg extends cf{constructor(a,b,c){super(a,b,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=c}mainBlock(a,b){return new ca(b,this.length,a+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(a,b,c){let d=c[0];return 1==c.length&&(d instanceof cg||d instanceof ch&&4&d.flags)&&10>Math.abs(this.length-d.length)?(d instanceof ch?d=new cg(d.length,this.height,this.spaceAbove):d.height=this.height,this.outdated||(d.outdated=!1),d):cc.of(c)}updateHeight(a,b=0,c=!1,d){return d&&d.from<=b&&d.more?this.setMeasuredHeight(d):(c||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,a.heightForLine(this.length-this.collapsed))+this.breaks*a.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}}class ch extends cc{constructor(a){super(a,0)}heightMetrics(a,b){let c=a.doc.lineAt(b).number,d=a.doc.lineAt(b+this.length).number,e=d-c+1,f,g=0;if(a.lineWrapping){let b=Math.min(this.height,a.lineHeight*e);f=b/e,this.length>e+1&&(g=(this.height-b)/(this.length-e-1))}else f=this.height/e;return{firstLine:c,lastLine:d,perLine:f,perChar:g}}blockAt(a,b,c,d){let{firstLine:e,lastLine:f,perLine:g,perChar:h}=this.heightMetrics(b,d);if(b.lineWrapping){let e=d+(a<b.lineHeight?0:Math.round(Math.max(0,Math.min(1,(a-c)/this.height))*this.length)),f=b.doc.lineAt(e),i=g+f.length*h,j=Math.max(c,a-i/2);return new ca(f.from,f.length,j,i,0)}{let d=Math.max(0,Math.min(f-e,Math.floor((a-c)/g))),{from:h,length:i}=b.doc.line(e+d);return new ca(h,i,c+g*d,g,0)}}lineAt(a,b,c,d,e){if(b==cb.ByHeight)return this.blockAt(a,c,d,e);if(b==cb.ByPosNoHeight){let{from:b,to:d}=c.doc.lineAt(a);return new ca(b,d-b,0,0,0)}let{firstLine:f,perLine:g,perChar:h}=this.heightMetrics(c,e),i=c.doc.lineAt(a),j=g+i.length*h,k=i.number-f,l=d+g*k+h*(i.from-e-k);return new ca(i.from,i.length,Math.max(d,Math.min(l,d+this.height-j)),j,0)}forEachLine(a,b,c,d,e,f){a=Math.max(a,e),b=Math.min(b,e+this.length);let{firstLine:g,perLine:h,perChar:i}=this.heightMetrics(c,e);for(let j=a,k=d;j<=b;){let b=c.doc.lineAt(j);if(j==a){let c=b.number-g;k+=h*c+i*(a-e-c)}let d=h+i*b.length;f(new ca(b.from,b.length,k,d,0)),k+=d,j=b.to+1}}replace(a,b,c){let d=this.length-b;if(d>0){let a=c[c.length-1];a instanceof ch?c[c.length-1]=new ch(a.length+d):c.push(null,new ch(d-1))}if(a>0){let b=c[0];b instanceof ch?c[0]=new ch(a+b.length):c.unshift(new ch(a-1),null)}return cc.of(c)}decomposeLeft(a,b){b.push(new ch(a-1),null)}decomposeRight(a,b){b.push(null,new ch(this.length-a-1))}updateHeight(a,b=0,c=!1,d){let e=b+this.length;if(d&&d.from<=b+this.length&&d.more){let c=[],f=Math.max(b,d.from),g=-1;for(d.from>b&&c.push(new ch(d.from-b-1).updateHeight(a,b));f<=e&&d.more;){let b=a.doc.lineAt(f).length;c.length&&c.push(null);let e=d.heights[d.index++],h=0;e<0&&(h=-e,e=d.heights[d.index++]),-1==g?g=e:Math.abs(e-g)>=.001&&(g=-2);let i=new cg(b,e,h);i.outdated=!1,c.push(i),f+=b+1}f<=e&&c.push(null,new ch(e-f).updateHeight(a,f));let h=cc.of(c);return(g<0||Math.abs(h.height-this.height)>=.001||Math.abs(g-this.heightMetrics(a,b).perLine)>=.001)&&(b7=!0),cd(this,h)}return(c||this.outdated)&&(this.setHeight(a.heightForGap(b,b+this.length)),this.outdated=!1),this}toString(){return`gap(${this.length})`}}class ci extends cc{constructor(a,b,c){super(a.length+b+c.length,a.height+c.height,b|(a.outdated||c.outdated?2:0)),this.left=a,this.right=c,this.size=a.size+c.size}get break(){return 1&this.flags}blockAt(a,b,c,d){let e=c+this.left.height;return a<e?this.left.blockAt(a,b,c,d):this.right.blockAt(a,b,e,d+this.left.length+this.break)}lineAt(a,b,c,d,e){let f=d+this.left.height,g=e+this.left.length+this.break,h=b==cb.ByHeight?a<f:a<g,i=h?this.left.lineAt(a,b,c,d,e):this.right.lineAt(a,b,c,f,g);if(this.break||(h?i.to<g:i.from>g))return i;let j=b==cb.ByPosNoHeight?cb.ByPosNoHeight:cb.ByPos;return h?i.join(this.right.lineAt(g,j,c,f,g)):this.left.lineAt(g,j,c,d,e).join(i)}forEachLine(a,b,c,d,e,f){let g=d+this.left.height,h=e+this.left.length+this.break;if(this.break)a<h&&this.left.forEachLine(a,b,c,d,e,f),b>=h&&this.right.forEachLine(a,b,c,g,h,f);else{let i=this.lineAt(h,cb.ByPos,c,d,e);a<i.from&&this.left.forEachLine(a,i.from-1,c,d,e,f),i.to>=a&&i.from<=b&&f(i),b>i.to&&this.right.forEachLine(i.to+1,b,c,g,h,f)}}replace(a,b,c){let d=this.left.length+this.break;if(b<d)return this.balanced(this.left.replace(a,b,c),this.right);if(a>this.left.length)return this.balanced(this.left,this.right.replace(a-d,b-d,c));let e=[];a>0&&this.decomposeLeft(a,e);let f=e.length;for(let a of c)e.push(a);if(a>0&&cj(e,f-1),b<this.length){let a=e.length;this.decomposeRight(b,e),cj(e,a)}return cc.of(e)}decomposeLeft(a,b){let c=this.left.length;if(a<=c)return this.left.decomposeLeft(a,b);b.push(this.left),this.break&&a>=++c&&b.push(null),a>c&&this.right.decomposeLeft(a-c,b)}decomposeRight(a,b){let c=this.left.length,d=c+this.break;if(a>=d)return this.right.decomposeRight(a-d,b);a<c&&this.left.decomposeRight(a,b),this.break&&a<d&&b.push(null),b.push(this.right)}balanced(a,b){return a.size>2*b.size||b.size>2*a.size?cc.of(this.break?[a,null,b]:[a,b]):(this.left=cd(this.left,a),this.right=cd(this.right,b),this.setHeight(a.height+b.height),this.outdated=a.outdated||b.outdated,this.size=a.size+b.size,this.length=a.length+this.break+b.length,this)}updateHeight(a,b=0,c=!1,d){let{left:e,right:f}=this,g=b+e.length+this.break,h=null;return(d&&d.from<=b+e.length&&d.more?h=e=e.updateHeight(a,b,c,d):e.updateHeight(a,b,c),d&&d.from<=g+f.length&&d.more?h=f=f.updateHeight(a,g,c,d):f.updateHeight(a,g,c),h)?this.balanced(e,f):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function cj(a,b){let c,d;null==a[b]&&(c=a[b-1])instanceof ch&&(d=a[b+1])instanceof ch&&a.splice(b-1,3,new ch(c.length+1+d.length))}class ck{constructor(a,b){this.pos=a,this.oracle=b,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=a}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(a,b){if(this.lineStart>-1){let a=Math.min(b,this.lineEnd),c=this.nodes[this.nodes.length-1];c instanceof cg?c.length+=a-this.pos:(a>this.pos||!this.isCovered)&&this.nodes.push(new cg(a-this.pos,-1,0)),this.writtenTo=a,b>a&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=b}point(a,b,c){if(a<b||c.heightRelevant){let d=c.widget?c.widget.estimatedHeight:0,e=c.widget?c.widget.lineBreaks:0;d<0&&(d=this.oracle.lineHeight);let f=b-a;c.block?this.addBlock(new cf(f,d,c)):(f||e||d>=5)&&this.addLineDeco(d,e,f)}else b>a&&this.span(a,b);this.lineEnd>-1&&this.lineEnd<this.pos&&(this.lineEnd=this.oracle.doc.lineAt(this.pos).to)}enterLine(){if(this.lineStart>-1)return;let{from:a,to:b}=this.oracle.doc.lineAt(this.pos);this.lineStart=a,this.lineEnd=b,this.writtenTo<a&&((this.writtenTo<a-1||null==this.nodes[this.nodes.length-1])&&this.nodes.push(this.blankContent(this.writtenTo,a-1)),this.nodes.push(null)),this.pos>a&&this.nodes.push(new cg(this.pos-a,-1,0)),this.writtenTo=this.pos}blankContent(a,b){let c=new ch(b-a);return this.oracle.doc.lineAt(a).to==b&&(c.flags|=4),c}ensureLine(){this.enterLine();let a=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(a instanceof cg)return a;let b=new cg(0,-1,0);return this.nodes.push(b),b}addBlock(a){this.enterLine();let b=a.deco;b&&b.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(a),this.writtenTo=this.pos=this.pos+a.length,b&&b.endSide>0&&(this.covering=a)}addLineDeco(a,b,c){let d=this.ensureLine();d.length+=c,d.collapsed+=c,d.widgetHeight=Math.max(d.widgetHeight,a),d.breaks+=b,this.writtenTo=this.pos=this.pos+c}finish(a){let b=0==this.nodes.length?null:this.nodes[this.nodes.length-1];!(this.lineStart>-1)||b instanceof cg||this.isCovered?(this.writtenTo<this.pos||null==b)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos)):this.nodes.push(new cg(0,-1,0));let c=a;for(let a of this.nodes)a instanceof cg&&a.updateHeight(this.oracle,c),c+=a?a.length:1;return this.nodes}static build(a,b,c,d){let e=new ck(c,a);return h.om.spans(b,c,d,e,0),e.finish(c)}}class cl{constructor(){this.changes=[]}compareRange(){}comparePoint(a,b,c,d){(a<b||c&&c.heightRelevant||d&&d.heightRelevant)&&N(a,b,this.changes,5)}}class cm{constructor(a,b,c,d){this.from=a,this.to=b,this.size=c,this.displaySize=d}static same(a,b){if(a.length!=b.length)return!1;for(let c=0;c<a.length;c++){let d=a[c],e=b[c];if(d.from!=e.from||d.to!=e.to||d.size!=e.size)return!1}return!0}draw(a,b){return I.replace({widget:new cn(this.displaySize*(b?a.scaleY:a.scaleX),b)}).range(this.from,this.to)}}class cn extends G{constructor(a,b){super(),this.size=a,this.vertical=b}eq(a){return a.size==this.size&&a.vertical==this.vertical}toDOM(){let a=document.createElement("div");return this.vertical?a.style.height=this.size+"px":(a.style.width=this.size+"px",a.style.height="2px",a.style.display="inline-block"),a}get estimatedHeight(){return this.vertical?this.size:-1}}class co{constructor(a,b){this.view=a,this.state=b,this.pixelViewport={left:0,right:window.innerWidth,top:0,bottom:0},this.inView=!0,this.paddingTop=0,this.paddingBottom=0,this.contentDOMWidth=0,this.contentDOMHeight=0,this.editorHeight=0,this.editorWidth=0,this.scaleX=1,this.scaleY=1,this.scrollOffset=0,this.scrolledToBottom=!1,this.scrollAnchorPos=0,this.scrollAnchorHeight=-1,this.scaler=cs,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=ai.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let c=b.facet(aS).some(a=>"function"!=typeof a&&"cm-lineWrapping"==a.class);this.heightOracle=new b8(c),this.stateDeco=ct(b),this.heightMap=cc.empty().applyChanges(this.stateDeco,h.EY.empty,this.heightOracle.setDoc(b.doc),[new a0(0,0,0,b.doc.length)]);for(let a=0;a<2&&(this.viewport=this.getViewport(0,null),this.updateForViewport());a++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=I.set(this.lineGaps.map(a=>a.draw(this,!1))),this.scrollParent=a.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let a=[this.viewport],{main:b}=this.state.selection;for(let c=0;c<=1;c++){let d=c?b.head:b.anchor;if(!a.some(({from:a,to:b})=>d>=a&&d<=b)){let{from:b,to:c}=this.lineBlockAt(d);a.push(new cp(b,c))}}return this.viewports=a.sort((a,b)=>a.from-b.from),this.updateScaler()}updateScaler(){let a=this.scaler;return this.scaler=this.heightMap.height<=7e6?cs:new cu(this.heightOracle,this.heightMap,this.viewports),2*!a.eq(this.scaler)}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,a=>{this.viewportLines.push(cv(a,this.scaler))})}update(a,b=null){var c,d;let e;this.state=a.state;let f=this.stateDeco;this.stateDeco=ct(this.state);let g=a.changedRanges,i=a0.extendWithRanges(g,(c=this.stateDeco,d=a?a.changes:h.VR.empty(this.state.doc.length),e=new cl,h.om.compare(f,c,d,e,0),e.changes)),j=this.heightMap.height,k=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);b7=!1,this.heightMap=this.heightMap.applyChanges(this.stateDeco,a.startState.doc,this.heightOracle.setDoc(this.state.doc),i),(this.heightMap.height!=j||b7)&&(a.flags|=2),k?(this.scrollAnchorPos=a.changes.mapPos(k.from,-1),this.scrollAnchorHeight=k.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=j);let l=i.length?this.mapViewport(this.viewport,a.changes):this.viewport;(b&&(b.range.head<l.from||b.range.head>l.to)||!this.viewportIsAppropriate(l))&&(l=this.getViewport(0,b));let m=l.from!=this.viewport.from||l.to!=this.viewport.to;this.viewport=l,a.flags|=this.updateForViewport(),(m||!a.changes.empty||2&a.flags)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,a.changes))),a.flags|=this.computeVisibleRanges(a.changes),b&&(this.scrollTarget=b),!this.mustEnforceCursorAssoc&&(a.selectionSet||a.focusChanged)&&a.view.lineWrapping&&a.state.selection.main.empty&&a.state.selection.main.assoc&&!a.state.facet(aG)&&(this.mustEnforceCursorAssoc=!0)}measure(){var a;let b,c,{view:d}=this,e=d.contentDOM,f=window.getComputedStyle(e),g=this.heightOracle,i=f.whiteSpace;this.defaultTextDirection="rtl"==f.direction?ai.RTL:ai.LTR;let j=this.heightOracle.mustRefreshForWrapping(i)||"refresh"===this.mustMeasureContent,k=e.getBoundingClientRect(),l=j||this.mustMeasureContent||this.contentDOMHeight!=k.height;this.contentDOMHeight=k.height,this.mustMeasureContent=!1;let m=0,n=0;if(k.width&&k.height){let{scaleX:a,scaleY:b}=Z(e,k);(a>.005&&Math.abs(this.scaleX-a)>.005||b>.005&&Math.abs(this.scaleY-b)>.005)&&(this.scaleX=a,this.scaleY=b,m|=16,j=l=!0)}let o=(parseInt(f.paddingTop)||0)*this.scaleY,p=(parseInt(f.paddingBottom)||0)*this.scaleY;(this.paddingTop!=o||this.paddingBottom!=p)&&(this.paddingTop=o,this.paddingBottom=p,m|=18),this.editorWidth!=d.scrollDOM.clientWidth&&(g.lineWrapping&&(l=!0),this.editorWidth=d.scrollDOM.clientWidth,m|=16);let q=$(this.view.contentDOM,!1).y;q!=this.scrollParent&&(this.scrollParent=q,this.scrollAnchorHeight=-1,this.scrollOffset=0);let r=this.getScrollOffset();this.scrollOffset!=r&&(this.scrollAnchorHeight=-1,this.scrollOffset=r),this.scrolledToBottom=ae(this.scrollParent||d.win);let s=(this.printing?function(a,b){let c=a.getBoundingClientRect();return{left:0,right:c.right-c.left,top:b,bottom:c.bottom-(c.top+b)}}:function(a,b){let c=a.getBoundingClientRect(),d=a.ownerDocument,e=d.defaultView||window,f=Math.max(0,c.left),g=Math.min(e.innerWidth,c.right),h=Math.max(0,c.top),i=Math.min(e.innerHeight,c.bottom);for(let b=a.parentNode;b&&b!=d.body;)if(1==b.nodeType){let c=b,d=window.getComputedStyle(c);if((c.scrollHeight>c.clientHeight||c.scrollWidth>c.clientWidth)&&"visible"!=d.overflow){let d=c.getBoundingClientRect();f=Math.max(f,d.left),g=Math.min(g,d.right),h=Math.max(h,d.top),i=Math.min(b==a.parentNode?e.innerHeight:i,d.bottom)}b="absolute"==d.position||"fixed"==d.position?c.offsetParent:c.parentNode}else if(11==b.nodeType)b=b.host;else break;return{left:f-c.left,right:Math.max(f,g)-c.left,top:h-(c.top+b),bottom:Math.max(h,i)-(c.top+b)}})(e,this.paddingTop),t=s.top-this.pixelViewport.top,u=s.bottom-this.pixelViewport.bottom;this.pixelViewport=s;let v=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(v!=this.inView&&(this.inView=v,v&&(l=!0)),!this.inView&&!this.scrollTarget&&(b=(a=d.dom).getBoundingClientRect(),c=a.ownerDocument.defaultView||window,!(b.left<c.innerWidth)||!(b.right>0)||!(b.top<c.innerHeight)||!(b.bottom>0)))return 0;let w=k.width;if((this.contentDOMWidth!=w||this.editorHeight!=d.scrollDOM.clientHeight)&&(this.contentDOMWidth=k.width,this.editorHeight=d.scrollDOM.clientHeight,m|=16),l){let a=d.docView.measureVisibleLineHeights(this.viewport);if(g.mustRefreshForHeights(a)&&(j=!0),j||g.lineWrapping&&Math.abs(w-this.contentDOMWidth)>g.charWidth){let{lineHeight:b,charWidth:c,textHeight:e}=d.docView.measureTextSize();(j=b>0&&g.refresh(i,b,c,e,Math.max(5,w/c),a))&&(d.docView.minWidth=0,m|=16)}for(let b of(t>0&&u>0?n=Math.max(t,u):t<0&&u<0&&(n=Math.min(t,u)),b7=!1,this.viewports)){let c=b.from==this.viewport.from?a:d.docView.measureVisibleLineHeights(b);this.heightMap=(j?cc.empty().applyChanges(this.stateDeco,h.EY.empty,this.heightOracle,[new a0(0,0,0,d.state.doc.length)]):this.heightMap).updateHeight(g,0,j,new b9(b.from,c))}b7&&(m|=2)}let x=!this.viewportIsAppropriate(this.viewport,n)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return x&&(2&m&&(m|=this.updateScaler()),this.viewport=this.getViewport(n,this.scrollTarget),m|=this.updateForViewport()),(2&m||x)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(j?[]:this.lineGaps,d)),m|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,d.docView.enforceCursorAssoc()),m}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(a,b){let c=.5-Math.max(-.5,Math.min(.5,a/1e3/2)),d=this.heightMap,e=this.heightOracle,{visibleTop:f,visibleBottom:g}=this,h=new cp(d.lineAt(f-1e3*c,cb.ByHeight,e,0,0).from,d.lineAt(g+(1-c)*1e3,cb.ByHeight,e,0,0).to);if(b){let{head:a}=b.range;if(a<h.from||a>h.to){let c=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),f=d.lineAt(a,cb.ByPos,e,0,0),g;g="center"==b.y?(f.top+f.bottom)/2-c/2:"start"==b.y||"nearest"==b.y&&a<h.from?f.top:f.bottom-c,h=new cp(d.lineAt(g-500,cb.ByHeight,e,0,0).from,d.lineAt(g+c+500,cb.ByHeight,e,0,0).to)}}return h}mapViewport(a,b){let c=b.mapPos(a.from,-1),d=b.mapPos(a.to,1);return new cp(this.heightMap.lineAt(c,cb.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(d,cb.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:a,to:b},c=0){if(!this.inView)return!0;let{top:d}=this.heightMap.lineAt(a,cb.ByPos,this.heightOracle,0,0),{bottom:e}=this.heightMap.lineAt(b,cb.ByPos,this.heightOracle,0,0),{visibleTop:f,visibleBottom:g}=this;return(0==a||d<=f-Math.max(10,Math.min(-c,250)))&&(b==this.state.doc.length||e>=g+Math.max(10,Math.min(c,250)))&&d>f-2e3&&e<g+2e3}mapLineGaps(a,b){if(!a.length||b.empty)return a;let c=[];for(let d of a)b.touchesRange(d.from,d.to)||c.push(new cm(b.mapPos(d.from),b.mapPos(d.to),d.size,d.displaySize));return c}ensureLineGaps(a,b){let c=this.heightOracle.lineWrapping,d=c?1e4:2e3,e=d>>1,f=d<<1;if(this.defaultTextDirection!=ai.LTR&&!c)return[];let g=[],i=(d,f,j,k)=>{if(f-d<e)return;let l=this.state.selection.main,m=[l.from];for(let a of(l.empty||m.push(l.to),m))if(a>d&&a<f){i(d,a-10,j,k),i(a+10,f,j,k);return}let n=function(a,b){for(let c of a)if(b(c))return c}(a,a=>a.from>=j.from&&a.to<=j.to&&Math.abs(a.from-d)<e&&Math.abs(a.to-f)<e&&!m.some(b=>a.from<b&&a.to>b));if(!n){if(f<j.to&&b&&c&&b.visibleRanges.some(a=>a.from<=f&&a.to>=f)){let a=b.moveToLineBoundary(h.OF.cursor(f),!1,!0).head;a>d&&(f=a)}let a=this.gapSize(j,d,f,k),e=c||a<2e6?a:2e6;n=new cm(d,f,a,e)}g.push(n)},j=b=>{var e,g,j;let k,l,m,n,o;if(b.length<f||b.type!=H.Text)return;let p=(e=b.from,g=b.to,j=this.stateDeco,m=[],n=e,o=0,h.om.spans(j,e,g,{span(){},point(a,b){a>n&&(m.push({from:n,to:a}),o+=a-n),n=b}},20),n<g&&(m.push({from:n,to:g}),o+=g-n),{total:o,ranges:m});if(p.total<f)return;let q=this.scrollTarget?this.scrollTarget.range.head:null;if(c){let a,c,e=d/this.heightOracle.lineLength*this.heightOracle.lineHeight;if(null!=q){let d=cr(p,q),f=((this.visibleBottom-this.visibleTop)/2+e)/b.height;a=d-f,c=d+f}else a=(this.visibleTop-b.top-e)/b.height,c=(this.visibleBottom-b.top+e)/b.height;k=cq(p,a),l=cq(p,c)}else{let c,e,f=p.total*this.heightOracle.charWidth,g=d*this.heightOracle.charWidth,h=0;if(f>2e6)for(let c of a)c.from>=b.from&&c.from<b.to&&c.size!=c.displaySize&&c.from*this.heightOracle.charWidth+h<this.pixelViewport.left&&(h=c.size-c.displaySize);let i=this.pixelViewport.left+h,j=this.pixelViewport.right+h;if(null!=q){let a=cr(p,q),b=((j-i)/2+g)/f;c=a-b,e=a+b}else c=(i-g)/f,e=(j+g)/f;k=cq(p,c),l=cq(p,e)}k>b.from&&i(b.from,k,b,p),l<b.to&&i(l,b.to,b,p)};for(let a of this.viewportLines)Array.isArray(a.type)?a.type.forEach(j):j(a);return g}gapSize(a,b,c,d){let e=cr(d,c)-cr(d,b);return this.heightOracle.lineWrapping?a.height*e:d.total*this.heightOracle.charWidth*e}updateLineGaps(a){cm.same(a,this.lineGaps)||(this.lineGaps=a,this.lineGapDeco=I.set(a.map(a=>a.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(a){let b=this.stateDeco;this.lineGaps.length&&(b=b.concat(this.lineGapDeco));let c=[];h.om.spans(b,this.viewport.from,this.viewport.to,{span(a,b){c.push({from:a,to:b})},point(){}},20);let d=0;if(c.length!=this.visibleRanges.length)d=12;else for(let b=0;b<c.length&&!(8&d);b++){let e=this.visibleRanges[b],f=c[b];(e.from!=f.from||e.to!=f.to)&&(d|=4,a&&a.mapPos(e.from,-1)==f.from&&a.mapPos(e.to,1)==f.to||(d|=8))}return this.visibleRanges=c,d}lineBlockAt(a){return a>=this.viewport.from&&a<=this.viewport.to&&this.viewportLines.find(b=>b.from<=a&&b.to>=a)||cv(this.heightMap.lineAt(a,cb.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(a){return a>=this.viewportLines[0].top&&a<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(b=>b.top<=a&&b.bottom>=a)||cv(this.heightMap.lineAt(this.scaler.fromDOM(a),cb.ByHeight,this.heightOracle,0,0),this.scaler)}getScrollOffset(){return(this.scrollParent==this.view.scrollDOM?this.scrollParent.scrollTop:(this.scrollParent?this.scrollParent.getBoundingClientRect().top:0)-this.view.contentDOM.getBoundingClientRect().top)*this.scaleY}scrollAnchorAt(a){let b=this.lineBlockAtHeight(a+8);return b.from>=this.viewport.from||this.viewportLines[0].top-a>200?b:this.viewportLines[0]}elementAtHeight(a){return cv(this.heightMap.blockAt(this.scaler.fromDOM(a),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}}class cp{constructor(a,b){this.from=a,this.to=b}}function cq({total:a,ranges:b},c){if(c<=0)return b[0].from;if(c>=1)return b[b.length-1].to;let d=Math.floor(a*c);for(let a=0;;a++){let{from:c,to:e}=b[a],f=e-c;if(d<=f)return c+d;d-=f}}function cr(a,b){let c=0;for(let{from:d,to:e}of a.ranges){if(b<=e){c+=b-d;break}c+=e-d}return c/a.total}let cs={toDOM:a=>a,fromDOM:a=>a,scale:1,eq(a){return a==this}};function ct(a){let b=a.facet(aT).filter(a=>"function"!=typeof a),c=a.facet(aV).filter(a=>"function"!=typeof a);return c.length&&b.push(h.om.join(c)),b}class cu{constructor(a,b,c){let d=0,e=0,f=0;for(let g of(this.viewports=c.map(({from:c,to:e})=>{let f=b.lineAt(c,cb.ByPos,a,0,0).top,g=b.lineAt(e,cb.ByPos,a,0,0).bottom;return d+=g-f,{from:c,to:e,top:f,bottom:g,domTop:0,domBottom:0}}),this.scale=(7e6-d)/(b.height-d),this.viewports))g.domTop=f+(g.top-e)*this.scale,f=g.domBottom=g.domTop+(g.bottom-g.top),e=g.bottom}toDOM(a){for(let b=0,c=0,d=0;;b++){let e=b<this.viewports.length?this.viewports[b]:null;if(!e||a<e.top)return d+(a-c)*this.scale;if(a<=e.bottom)return e.domTop+(a-e.top);c=e.bottom,d=e.domBottom}}fromDOM(a){for(let b=0,c=0,d=0;;b++){let e=b<this.viewports.length?this.viewports[b]:null;if(!e||a<e.domTop)return c+(a-d)/this.scale;if(a<=e.domBottom)return e.top+(a-e.domTop);c=e.bottom,d=e.domBottom}}eq(a){return a instanceof cu&&this.scale==a.scale&&this.viewports.length==a.viewports.length&&this.viewports.every((b,c)=>b.from==a.viewports[c].from&&b.to==a.viewports[c].to)}}function cv(a,b){if(1==b.scale)return a;let c=b.toDOM(a.top),d=b.toDOM(a.bottom);return new ca(a.from,a.length,c,d-c,Array.isArray(a._content)?a._content.map(a=>cv(a,b)):a._content)}let cw=h.sj.define({combine:a=>a.join(" ")}),cx=h.sj.define({combine:a=>a.indexOf(!0)>-1}),cy=i.G.newName(),cz=i.G.newName(),cA=i.G.newName(),cB={"&light":"."+cz,"&dark":"."+cA};function cC(a,b,c){return new i.G(b,{finish:b=>/&/.test(b)?b.replace(/&\w*/,b=>{if("&"==b)return a;if(!c||!c[b])throw RangeError(`Unsupported selector: ${b}`);return c[b]}):a+" "+b})}let cD=cC("."+cy,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{userSelect:"none",position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-selectionHandle":{backgroundColor:"currentColor",width:"1.5px"},".cm-selectionHandle-start::before, .cm-selectionHandle-end::before":{content:'""',backgroundColor:"inherit",borderRadius:"50%",width:"8px",height:"8px",position:"absolute",left:"-3.25px"},".cm-selectionHandle-start::before":{top:"-8px"},".cm-selectionHandle-end::before":{bottom:"-8px"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:'url(\'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>\')',backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},cB),cE={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},cF=B.ie&&B.ie_version<=11;class cG{constructor(a){this.view=a,this.active=!1,this.editContext=null,this.selectionRange=new _,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=a.contentDOM,this.observer=new MutationObserver(b=>{for(let a of b)this.queue.push(a);(B.ie&&B.ie_version<=11||B.ios&&a.composing)&&b.some(a=>"childList"==a.type&&a.removedNodes.length||"characterData"==a.type&&a.oldValue.length>a.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&B.android&&!1!==a.constructor.EDIT_CONTEXT&&!(B.chrome&&B.chrome_version<126)&&(this.editContext=new cJ(a),a.state.facet(aM)&&(a.contentDOM.editContext=this.editContext.editContext)),cF&&(this.onCharData=a=>{this.queue.push({target:a.target,type:"characterData",oldValue:a.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),"function"==typeof ResizeObserver&&(this.resizeScroll=new ResizeObserver(()=>{var a;(null==(a=this.view.docView)?void 0:a.lastUpdate)<Date.now()-75&&this.onResize()}),this.resizeScroll.observe(a.scrollDOM)),this.addWindowListeners(this.win=a.win),this.start(),"function"==typeof IntersectionObserver&&(this.intersection=new IntersectionObserver(a=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),a.length>0&&a[a.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(a=>{a.length>0&&a[a.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(a){this.view.inputState.runHandlers("scroll",a),this.intersecting&&this.view.measure()}onScroll(a){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(a)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(a){("change"!=a.type&&a.type||a.matches)&&(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(a){if(this.gapIntersection&&(a.length!=this.gaps.length||this.gaps.some((b,c)=>b!=a[c]))){for(let b of(this.gapIntersection.disconnect(),a))this.gapIntersection.observe(b);this.gaps=a}}onSelectionChange(a){let b=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:c}=this,d=this.selectionRange;if(c.state.facet(aM)?c.root.activeElement!=this.dom:!R(this.dom,d))return;let e=d.anchorNode&&c.docView.tile.nearest(d.anchorNode);if(e&&e.isWidget()&&e.widget.ignoreEvent(a)){b||(this.selectionChanged=!1);return}(B.ie&&B.ie_version<=11||B.android&&B.chrome)&&!c.state.selection.main.empty&&d.focusNode&&T(d.focusNode,d.focusOffset,d.anchorNode,d.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:a}=this,b=P(a.root);if(!b)return!1;let c=B.safari&&11==a.root.nodeType&&a.root.activeElement==this.dom&&function(a,b){if(b.getComposedRanges){let c=b.getComposedRanges(a.root)[0];if(c)return cI(a,c)}let c=null;function d(a){a.preventDefault(),a.stopImmediatePropagation(),c=a.getTargetRanges()[0]}return a.contentDOM.addEventListener("beforeinput",d,!0),a.dom.ownerDocument.execCommand("indent"),a.contentDOM.removeEventListener("beforeinput",d,!0),c?cI(a,c):null}(this.view,b)||b;if(!c||this.selectionRange.eq(c))return!1;let d=R(this.dom,c);return d&&!this.selectionChanged&&a.inputState.lastFocusTime>Date.now()-200&&a.inputState.lastTouchTime<Date.now()-300&&function(a,b){let c=b.focusNode,d=b.focusOffset;if(!c||b.anchorNode!=c||b.anchorOffset!=d)return!1;for(d=Math.min(d,X(c));;)if(d){if(1!=c.nodeType)return!1;let a=c.childNodes[d-1];"false"==a.contentEditable?d--:d=X(c=a)}else{if(c==a)return!0;d=U(c),c=c.parentNode}}(this.dom,c)?(this.view.inputState.lastFocusTime=0,a.docView.updateSelection(),!1):(this.selectionRange.setRange(c),d&&(this.selectionChanged=!0),!0)}setSelectionRange(a,b){this.selectionRange.set(a.node,a.offset,b.node,b.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let a=0,b=null;for(let c=this.dom;c;)if(1==c.nodeType)!b&&a<this.scrollTargets.length&&this.scrollTargets[a]==c?a++:b||(b=this.scrollTargets.slice(0,a)),b&&b.push(c),c=c.assignedSlot||c.parentNode;else if(11==c.nodeType)c=c.host;else break;if(a<this.scrollTargets.length&&!b&&(b=this.scrollTargets.slice(0,a)),b){for(let a of this.scrollTargets)a.removeEventListener("scroll",this.onScroll);for(let a of this.scrollTargets=b)a.addEventListener("scroll",this.onScroll)}}ignore(a){if(!this.active)return a();try{return this.stop(),a()}finally{this.start(),this.clear()}}start(){this.active||(this.observer.observe(this.dom,cE),cF&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),cF&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(a,b){var c;if(!this.delayedAndroidKey){let a=()=>{let a=this.delayedAndroidKey;a&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=a.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&a.force&&ad(this.dom,a.key,a.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(a)}this.delayedAndroidKey&&"Enter"!=a||(this.delayedAndroidKey={key:a,keyCode:b,force:this.lastChange<Date.now()-50||!!(null==(c=this.delayedAndroidKey)?void 0:c.force)})}clearDelayedAndroidKey(){this.win.cancelAnimationFrame(this.flushingAndroidKey),this.delayedAndroidKey=null,this.flushingAndroidKey=-1}flushSoon(){this.delayedFlush<0&&(this.delayedFlush=this.view.win.requestAnimationFrame(()=>{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let a of this.observer.takeRecords())this.queue.push(a);return this.queue}processRecords(){let a=this.pendingRecords();a.length&&(this.queue=[]);let b=-1,c=-1,d=!1;for(let e of a){let a=this.readMutation(e);a&&(a.typeOver&&(d=!0),-1==b?{from:b,to:c}=a:(b=Math.min(a.from,b),c=Math.max(a.to,c)))}return{from:b,to:c,typeOver:d}}readChange(){let{from:a,to:b,typeOver:c}=this.processRecords(),d=this.selectionChanged&&R(this.dom,this.selectionRange);if(a<0&&!d)return null;a>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let e=new bF(this.view,a,b,c);return this.view.docView.domChanged={newSel:e.newSel?e.newSel.main:null},e}flush(a=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;a&&this.readSelectionRange();let b=this.readChange();if(!b)return this.view.requestMeasure(),!1;let c=this.view.state,d=bG(this.view,b);return this.view.state==c&&(b.domChanged||b.newSel&&!bJ(this.view.state.selection,b.newSel.main))&&this.view.update([]),d}readMutation(a){let b=this.view.docView.tile.nearest(a.target);if(!b||b.isWidget())return null;if(b.markDirty("attributes"==a.type),"childList"==a.type){let c=cH(b,a.previousSibling||a.target.previousSibling,-1),d=cH(b,a.nextSibling||a.target.nextSibling,1);return{from:c?b.posAfter(c):b.posAtStart,to:d?b.posBefore(d):b.posAtEnd,typeOver:!1}}return"characterData"==a.type?{from:b.posAtStart,to:b.posAtEnd,typeOver:a.target.nodeValue==a.oldValue}:null}setWindow(a){a!=this.win&&(this.removeWindowListeners(this.win),this.win=a,this.addWindowListeners(this.win))}addWindowListeners(a){a.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):a.addEventListener("beforeprint",this.onPrint),a.addEventListener("scroll",this.onScroll),a.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(a){a.removeEventListener("scroll",this.onScroll),a.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):a.removeEventListener("beforeprint",this.onPrint),a.document.removeEventListener("selectionchange",this.onSelectionChange)}update(a){this.editContext&&(this.editContext.update(a),a.startState.facet(aM)!=a.state.facet(aM)&&(a.view.contentDOM.editContext=a.state.facet(aM)?this.editContext.editContext:null))}destroy(){var a,b,c;for(let d of(this.stop(),null==(a=this.intersection)||a.disconnect(),null==(b=this.gapIntersection)||b.disconnect(),null==(c=this.resizeScroll)||c.disconnect(),this.scrollTargets))d.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}}function cH(a,b,c){for(;b;){let d=a3.get(b);if(d&&d.parent==a)return d;let e=b.parentNode;b=e!=a.dom?e:c>0?b.nextSibling:b.previousSibling}return null}function cI(a,b){let c=b.startContainer,d=b.startOffset,e=b.endContainer,f=b.endOffset,g=a.docView.domAtPos(a.state.selection.main.anchor,1);return T(g.node,g.offset,e,f)&&([c,d,e,f]=[e,f,c,d]),{anchorNode:c,anchorOffset:d,focusNode:e,focusOffset:f}}class cJ{constructor(a){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(a.state);let b=this.editContext=new window.EditContext({text:a.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,a.state.selection.main.anchor))),selectionEnd:this.toContextPos(a.state.selection.main.head)});for(let c in this.handlers.textupdate=c=>{let d=a.state.selection.main,{anchor:e,head:f}=d,g=this.toEditorPos(c.updateRangeStart),i=this.toEditorPos(c.updateRangeEnd);a.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:c.updateRangeStart,editorBase:g,drifted:!1});let j=i-g>c.text.length;g==this.from&&e<this.from?g=e:i==this.to&&e>this.to&&(i=e);let k=bI(a.state.sliceDoc(g,i),c.text,(j?d.from:d.to)-g,j?"end":null);if(!k){let b=h.OF.single(this.toEditorPos(c.selectionStart),this.toEditorPos(c.selectionEnd));bJ(b,d)||a.dispatch({selection:b,userEvent:"select"});return}let l={from:k.from+g,to:k.toA+g,insert:h.EY.of(c.text.slice(k.from,k.toB).split("\n"))};if((B.mac||B.android)&&l.from==f-1&&/^\. ?$/.test(c.text)&&"off"==a.contentDOM.getAttribute("autocorrect")&&(l={from:g,to:i,insert:h.EY.of([c.text.replace("."," ")])}),this.pendingContextChange=l,!a.state.readOnly){let b=this.to-this.from+(l.to-l.from+l.insert.length);bH(a,l,h.OF.single(this.toEditorPos(c.selectionStart,b),this.toEditorPos(c.selectionEnd,b)))}this.pendingContextChange&&(this.revertPending(a.state),this.setSelection(a.state)),l.from<l.to&&!l.insert.length&&a.inputState.composing>=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(b.text.slice(Math.max(0,c.updateRangeStart-1),Math.min(b.text.length,c.updateRangeStart+1)))&&this.handlers.compositionend(c)},this.handlers.characterboundsupdate=c=>{let d=[],e=null;for(let b=this.toEditorPos(c.rangeStart),f=this.toEditorPos(c.rangeEnd);b<f;b++){let c=a.coordsForChar(b);e=c&&new DOMRect(c.left,c.top,c.right-c.left,c.bottom-c.top)||e||new DOMRect,d.push(e)}b.updateCharacterBounds(c.rangeStart,d)},this.handlers.textformatupdate=b=>{let c=[];for(let a of b.getTextFormats()){let b=a.underlineStyle,d=a.underlineThickness;if(!/none/i.test(b)&&!/none/i.test(d)){let e=this.toEditorPos(a.rangeStart),f=this.toEditorPos(a.rangeEnd);if(e<f){let a=`text-decoration: underline ${/^[a-z]/.test(b)?b+" ":"Dashed"==b?"dashed ":"Squiggle"==b?"wavy ":""}${/thin/i.test(d)?1:2}px`;c.push(I.mark({attributes:{style:a}}).range(e,f))}}}a.dispatch({effects:aK.of(I.set(c))})},this.handlers.compositionstart=()=>{a.inputState.composing<0&&(a.inputState.composing=0,a.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(a.inputState.composing=-1,a.inputState.compositionFirstChange=null,this.composing){let{drifted:b}=this.composing;this.composing=null,b&&this.reset(a.state)}},this.handlers)b.addEventListener(c,this.handlers[c]);this.measureReq={read:a=>{let b=P(a.root);b&&b.rangeCount&&this.editContext.updateSelectionBounds(b.getRangeAt(0).getBoundingClientRect())}}}applyEdits(a){let b=0,c=!1,d=this.pendingContextChange;return a.changes.iterChanges((e,f,g,h,i)=>{if(c)return;let j=i.length-(f-e);if(d&&f>=d.to)if(d.from==e&&d.to==f&&d.insert.eq(i)){d=this.pendingContextChange=null,b+=j,this.to+=j;return}else d=null,this.revertPending(a.state);if(e+=b,(f+=b)<=this.from)this.from+=j,this.to+=j;else if(e<this.to){if(e<this.from||f>this.to||this.to-this.from+i.length>3e4){c=!0;return}this.editContext.updateText(this.toContextPos(e),this.toContextPos(f),i.toString()),this.to+=j}b+=j}),d&&!c&&this.revertPending(a.state),!c}update(a){let b=this.pendingContextChange,c=a.startState.selection.main;this.composing&&(this.composing.drifted||!a.changes.touchesRange(c.from,c.to)&&a.transactions.some(a=>!a.isUserEvent("input.type")&&a.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=a.changes.mapPos(this.composing.editorBase)):this.applyEdits(a)&&this.rangeIsValid(a.state)?(a.docChanged||a.selectionSet||b)&&this.setSelection(a.state):(this.pendingContextChange=null,this.reset(a.state)),(a.geometryChanged||a.docChanged||a.selectionSet)&&a.view.requestMeasure(this.measureReq)}resetRange(a){let{head:b}=a.selection.main;this.from=Math.max(0,b-1e4),this.to=Math.min(a.doc.length,b+1e4)}reset(a){this.resetRange(a),this.editContext.updateText(0,this.editContext.text.length,a.doc.sliceString(this.from,this.to)),this.setSelection(a)}revertPending(a){let b=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(b.from),this.toContextPos(b.from+b.insert.length),a.doc.sliceString(b.from,b.to))}setSelection(a){let{main:b}=a.selection,c=this.toContextPos(Math.max(this.from,Math.min(this.to,b.anchor))),d=this.toContextPos(b.head);(this.editContext.selectionStart!=c||this.editContext.selectionEnd!=d)&&this.editContext.updateSelection(c,d)}rangeIsValid(a){let{head:b}=a.selection.main;return!(this.from>0&&b-this.from<500||this.to<a.doc.length&&this.to-b<500||this.to-this.from>3e4)}toEditorPos(a,b=this.to-this.from){a=Math.min(a,b);let c=this.composing;return c&&c.drifted?c.editorBase+(a-c.contextBase):a+this.from}toContextPos(a){let b=this.composing;return b&&b.drifted?b.contextBase+(a-b.editorBase):a-this.from}destroy(){for(let a in this.handlers)this.editContext.removeEventListener(a,this.handlers[a])}}class cK{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(a={}){var b;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),a.parent&&a.parent.appendChild(this.dom);let{dispatch:c}=a;for(let b of(this.dispatchTransactions=a.dispatchTransactions||c&&(a=>a.forEach(a=>c(a,this)))||(a=>this.update(a)),this.dispatch=this.dispatch.bind(this),this._root=a.root||function(a){for(;a;){if(a&&(9==a.nodeType||11==a.nodeType&&a.host))return a;a=a.assignedSlot||a.parentNode}return null}(a.parent)||document,this.viewState=new co(this,a.state||h.$t.create(a)),a.scrollTo&&a.scrollTo.is(aJ)&&(this.viewState.scrollTarget=a.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(aO).map(a=>new aQ(a)),this.plugins))b.update(this);this.observer=new cG(this),this.inputState=new bK(this),this.inputState.ensureHandlers(this.plugins),this.docView=new bp(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),(null==(b=document.fonts)?void 0:b.ready)&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...a){let b=1==a.length&&a[0]instanceof h.ZX?a:1==a.length&&Array.isArray(a[0])?a[0]:[this.state.update(...a)];this.dispatchTransactions(b,this)}update(a){if(0!=this.updateState)throw Error("Calls to EditorView.update are not allowed while an update is in progress");let b=!1,c=!1,d,e=this.state;for(let b of a){if(b.startState!=e)throw RangeError("Trying to update state with a transaction that doesn't start from the previous state.");e=b.state}if(this.destroyed){this.viewState.state=e;return}let f=this.hasFocus,g=0,i=null;a.some(a=>a.annotation(b2))?(this.inputState.notifiedFocused=f,g=1):f!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=f,(i=b3(e,f))||(g=1));let j=this.observer.delayedAndroidKey,k=null;if(j?(this.observer.clearDelayedAndroidKey(),((k=this.observer.readChange())&&!this.state.doc.eq(e.doc)||!this.state.selection.eq(e.selection))&&(k=null)):this.observer.clear(),e.facet(h.$t.phrases)!=this.state.facet(h.$t.phrases))return this.setState(e);d=a1.create(this,e,a),d.flags|=g;let l=this.viewState.scrollTarget;try{for(let b of(this.updateState=2,a)){if(l&&(l=l.map(b.changes)),b.scrollIntoView){let{main:a}=b.state.selection,{x:c,y:d}=this.state.facet(cK.cursorScrollMargin);l=new aI(a.empty?a:h.OF.cursor(a.head,a.head>a.anchor?-1:1),"nearest","nearest",d,c)}for(let a of b.effects)a.is(aJ)&&(l=a.value.clip(this.state))}this.viewState.update(d,l),this.bidiCache=cN.update(this.bidiCache,d.changes),d.empty||(this.updatePlugins(d),this.inputState.update(d)),b=this.docView.update(d),this.state.facet(a_)!=this.styleModules&&this.mountStyles(),c=this.updateAttrs(),this.showAnnouncements(a),this.docView.updateSelection(b,a.some(a=>a.isUserEvent("select.pointer")))}finally{this.updateState=0}if(d.startState.facet(cw)!=d.state.facet(cw)&&(this.viewState.mustMeasureContent=!0),(b||c||l||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),b&&this.docViewUpdate(),!d.empty)for(let a of this.state.facet(aA))try{a(d)}catch(a){aL(this.state,a,"update listener")}(i||k)&&Promise.resolve().then(()=>{i&&this.state==i.startState&&this.dispatch(i),k&&!bG(this,k)&&j.force&&ad(this.contentDOM,j.key,j.keyCode)})}setState(a){if(0!=this.updateState)throw Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=a;return}this.updateState=2;let b=this.hasFocus;try{for(let a of this.plugins)a.destroy(this);for(let b of(this.viewState=new co(this,a),this.plugins=a.facet(aO).map(a=>new aQ(a)),this.pluginMap.clear(),this.plugins))b.update(this);this.docView.destroy(),this.docView=new bp(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}b&&this.focus(),this.requestMeasure()}updatePlugins(a){let b=a.startState.facet(aO),c=a.state.facet(aO);if(b!=c){let d=[];for(let e of c){let c=b.indexOf(e);if(c<0)d.push(new aQ(e));else{let b=this.plugins[c];b.mustUpdate=a,d.push(b)}}for(let b of this.plugins)b.mustUpdate!=a&&b.destroy(this);this.plugins=d,this.pluginMap.clear()}else for(let b of this.plugins)b.mustUpdate=a;for(let a=0;a<this.plugins.length;a++)this.plugins[a].update(this);b!=c&&this.inputState.ensureHandlers(this.plugins)}docViewUpdate(){for(let a of this.plugins){let b=a.value;if(b&&b.docViewUpdate)try{b.docViewUpdate(this)}catch(a){aL(this.state,a,"doc view update listener")}}}measure(a=!0){if(this.destroyed)return;if(this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,a&&this.observer.forceFlush();let b=null,c=this.viewState.scrollParent,d=this.viewState.getScrollOffset(),{scrollAnchorPos:e,scrollAnchorHeight:f}=this.viewState;Math.abs(d-this.viewState.scrollOffset)>1&&(f=-1),this.viewState.scrollAnchorHeight=-1;try{for(let a=0;;a++){if(f<0)if(ae(c||this.win))e=-1,f=this.viewState.heightMap.height;else{let a=this.viewState.scrollAnchorAt(d);e=a.from,f=a.top}this.updateState=1;let g=this.viewState.measure();if(!g&&!this.measureRequests.length&&null==this.viewState.scrollTarget)break;if(a>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let h=[];4&g||([this.measureRequests,h]=[h,this.measureRequests]);let i=h.map(a=>{try{return a.read(this)}catch(a){return aL(this.state,a),cM}}),j=a1.create(this,this.state,[]),k=!1;j.flags|=g,b?b.flags|=g:b=j,this.updateState=2,!j.empty&&(this.updatePlugins(j),this.inputState.update(j),this.updateAttrs(),(k=this.docView.update(j))&&this.docViewUpdate());for(let a=0;a<h.length;a++)if(i[a]!=cM)try{let b=h[a];b.write&&b.write(i[a],this)}catch(a){aL(this.state,a)}if(k&&this.docView.updateSelection(!0),!j.viewportChanged&&0==this.measureRequests.length){if(this.viewState.editorHeight)if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null,f=-1;continue}else{let a=((e<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(e).top)-f)/this.scaleY;if((a>1||a<-1)&&(c==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){d+=a,c?c.scrollTop+=a:this.win.scrollBy(0,a),f=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(b&&!b.empty)for(let a of this.state.facet(aA))a(b)}get themeClasses(){return cy+" "+(this.state.facet(cx)?cA:cz)+" "+this.state.facet(cw)}updateAttrs(){let a=cO(this,aR,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),b={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(aM)?"true":"false",class:"cm-content",style:`${B.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(b["aria-readonly"]="true"),cO(this,aS,b);let c=this.observer.ignore(()=>{let c=F(this.contentDOM,this.contentAttrs,b),d=F(this.dom,this.editorAttrs,a);return c||d});return this.editorAttrs=a,this.contentAttrs=b,c}showAnnouncements(a){let b=!0;for(let c of a)for(let a of c.effects)a.is(cK.announce)&&(b&&(this.announceDOM.textContent=""),b=!1,this.announceDOM.appendChild(document.createElement("div")).textContent=a.value)}mountStyles(){this.styleModules=this.state.facet(a_);let a=this.state.facet(cK.cspNonce);i.G.mount(this.root,this.styleModules.concat(cD).reverse(),a?{nonce:a}:void 0)}readMeasured(){if(2==this.updateState)throw Error("Reading the editor layout isn't allowed during an update");0==this.updateState&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(a){if((this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),a)&&!(this.measureRequests.indexOf(a)>-1)){if(null!=a.key){for(let b=0;b<this.measureRequests.length;b++)if(this.measureRequests[b].key===a.key){this.measureRequests[b]=a;return}}this.measureRequests.push(a)}}plugin(a){let b=this.pluginMap.get(a);return(void 0===b||b&&b.plugin!=a)&&this.pluginMap.set(a,b=this.plugins.find(b=>b.plugin==a)||null),b&&b.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(a){return this.readMeasured(),this.viewState.elementAtHeight(a)}lineBlockAtHeight(a){return this.readMeasured(),this.viewState.lineBlockAtHeight(a)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(a){return this.viewState.lineBlockAt(a)}get contentHeight(){return this.viewState.contentHeight}moveByChar(a,b,c){return bz(this,a,bw(this,a,b,c))}moveByGroup(a,b){return bz(this,a,bw(this,a,b,b=>{var c;let d,e;return c=a.head,e=(d=this.state.charCategorizer(c))(b),a=>{let b=d(a);return e==h.Je.Space&&(e=b),e==b}}))}visualLineSide(a,b){let c=this.bidiSpans(a),d=this.textDirectionAt(a.from),e=c[b?c.length-1:0];return h.OF.cursor(e.side(b,d)+a.from,e.forward(!b,d)?1:-1)}moveToLineBoundary(a,b,c=!0){return function(a,b,c,d){let e=bv(a,b.head,b.assoc||-1),f=d&&e.type==H.Text&&(a.lineWrapping||e.widgetLineBreaks)?a.coordsAtPos(b.assoc<0&&b.head>e.from?b.head-1:b.head):null;if(f){let b=a.dom.getBoundingClientRect(),d=a.textDirectionAt(e.from),g=a.posAtCoords({x:c==(d==ai.LTR)?b.right-1:b.left+1,y:(f.top+f.bottom)/2});if(null!=g)return h.OF.cursor(g,c?-1:1)}return h.OF.cursor(c?e.to:e.from,c?-1:1)}(this,a,b,c)}moveVertically(a,b,c){return bz(this,a,function(a,b,c,d){let e=b.head,f=c?1:-1;if(e==(c?a.state.doc.length:0))return h.OF.cursor(e,b.assoc);let g=b.goalColumn,i,j=a.contentDOM.getBoundingClientRect(),k=a.coordsAtPos(e,b.assoc||((b.empty?c:b.head==b.from)?1:-1)),l=a.documentTop;if(k)null==g&&(g=k.left-j.left),i=f<0?k.top:k.bottom;else{let b=a.viewState.lineBlockAt(e);null==g&&(g=Math.min(j.right-j.left,a.defaultCharacterWidth*(e-b.from))),i=(f<0?b.top:b.bottom)+l}let m=j.left+g,n=a.viewState.heightOracle.textHeight>>1,o=null!=d?d:n;for(let b=0;;b+=n){let d=i+(o+b)*f,e=bB(a,{x:m,y:d},!1,f);if(c?d>j.bottom:d<j.top)return h.OF.cursor(e.pos,e.assoc);let k=a.coordsAtPos(e.pos,e.assoc),l=k?(k.top+k.bottom)/2:0;if(!k||(c?l>i:l<i))return h.OF.cursor(e.pos,e.assoc,void 0,g)}}(this,a,b,c))}domAtPos(a,b=1){return this.docView.domAtPos(a,b)}posAtDOM(a,b=0){return this.docView.posFromDOM(a,b)}posAtCoords(a,b=!0){this.readMeasured();let c=bB(this,a,b);return c&&c.pos}posAndSideAtCoords(a,b=!0){return this.readMeasured(),bB(this,a,b)}coordsAtPos(a,b=1){this.readMeasured();let c=this.docView.coordsAt(a,b);if(!c||c.left==c.right)return c;let d=this.state.doc.lineAt(a),e=this.bidiSpans(d);return Y(c,e[as.find(e,a-d.from,-1,b)].dir==ai.LTR==b>0)}coordsForChar(a){return this.readMeasured(),this.docView.coordsForChar(a)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(a){return!this.state.facet(aF)||a<this.viewport.from||a>this.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(a))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(a){if(a.length>cL)return au(a.length);let b=this.textDirectionAt(a.from),c;for(let d of this.bidiCache)if(d.from==a.from&&d.dir==b&&(d.fresh||function a(b,c){if(b.length!=c.length)return!1;for(let d=0;d<b.length;d++){let e=b[d],f=c[d];if(e.from!=f.from||e.to!=f.to||e.direction!=f.direction||!a(e.inner,f.inner))return!1}return!0}(d.isolates,c=aY(this,a))))return d.order;c||(c=aY(this,a));let d=function(a,b,c){if(!a)return[new as(0,0,+(b==ak))];if(b==aj&&!c.length&&!ar.test(a))return au(a.length);if(c.length)for(;a.length>at.length;)at[at.length]=256;let d=[],e=+(b!=aj);return function a(b,c,d,e,f,g,h){let i=c%2?2:1;!function(a,b,c,d,e){for(let f=0;f<=d.length;f++){let g=f?d[f-1].to:b,h=f<d.length?d[f].from:c,i=f?256:e;for(let b=g,c=i,d=i;b<h;b++){let e=aq(a.charCodeAt(b));512==e?e=c:8==e&&4==d&&(e=16),at[b]=4==e?2:e,7&e&&(d=e),c=e}for(let a=g,b=i,d=i;a<h;a++){let e=at[a];if(128==e)a<h-1&&b==at[a+1]&&24&b?e=at[a]=b:at[a]=256;else if(64==e){let e=a+1;for(;e<h&&64==at[e];)e++;let f=a&&8==b||e<c&&8==at[e]?1==d?1:8:256;for(let b=a;b<e;b++)at[b]=f;a=e-1}else 8==e&&1==d&&(at[a]=1);b=e,7&e&&(d=e)}}}(b,f,g,e,i),function(a,b,c,d,e){let f=1==e?2:1;for(let g=0,h=0,i=0;g<=d.length;g++){let j=g?d[g-1].to:b,k=g<d.length?d[g].from:c;for(let b=j,c,d,g;b<k;b++)if(d=ao[c=a.charCodeAt(b)])if(d<0){for(let a=h-3;a>=0;a-=3)if(ap[a+1]==-d){let c=ap[a+2],d=2&c?e:4&c?1&c?f:e:0;d&&(at[b]=at[ap[a]]=d),h=a;break}}else if(189==ap.length)break;else ap[h++]=b,ap[h++]=c,ap[h++]=i;else if(2==(g=at[b])||1==g){let a=g==e;i=+!a;for(let b=h-3;b>=0;b-=3){let c=ap[b+2];if(2&c)break;if(a)ap[b+2]|=2;else{if(4&c)break;ap[b+2]|=4}}}}}(b,f,g,e,i),function(a,b,c,d){for(let e=0,f=d;e<=c.length;e++){let g=e?c[e-1].to:a,h=e<c.length?c[e].from:b;for(let i=g;i<h;){let g=at[i];if(256==g){let g=i+1;for(;;)if(g==h){if(e==c.length)break;g=c[e++].to,h=e<c.length?c[e].from:b}else if(256==at[g])g++;else break;let j=1==f,k=j==((g<b?at[g]:d)==1)?j?1:2:d;for(let b=g,d=e,f=d?c[d-1].to:a;b>i;)b==f&&(b=c[--d].from,f=d?c[d-1].to:a),at[--b]=k;i=g}else f=g,i++}}}(f,g,e,i),function b(c,d,e,f,g,h,i){let j=f%2?2:1;if(f%2==g%2)for(let k=d,l=0;k<e;){let d=!0,m=!1;if(l==h.length||k<h[l].from){let a=at[k];a!=j&&(d=!1,m=16==a)}let n=d||1!=j?null:[],o=d?f:f+1,p=k;c:for(;;)if(l<h.length&&p==h[l].from){if(m)break;let b=h[l];if(!d)for(let a=b.to,c=l+1;;){if(a==e)break c;if(c<h.length&&h[c].from==a)a=h[c++].to;else if(at[a]==j)break c;else break}l++,n?n.push(b):(b.from>k&&i.push(new as(k,b.from,o)),a(c,b.direction==aj!=!(o%2)?f+1:f,g,b.inner,b.from,b.to,i),k=b.to),p=b.to}else if(p==e||(d?at[p]!=j:at[p]==j))break;else p++;n?b(c,k,p,f+1,g,n,i):k<p&&i.push(new as(k,p,o)),k=p}else for(let k=e,l=h.length;k>d;){let e=!0,m=!1;if(!l||k>h[l-1].to){let a=at[k-1];a!=j&&(e=!1,m=16==a)}let n=e||1!=j?null:[],o=e?f:f+1,p=k;c:for(;;)if(l&&p==h[l-1].to){if(m)break;let b=h[--l];if(!e)for(let a=b.from,c=l;;){if(a==d)break c;if(c&&h[c-1].to==a)a=h[--c].from;else if(at[a-1]==j)break c;else break}n?n.push(b):(b.to<k&&i.push(new as(b.to,k,o)),a(c,b.direction==aj!=!(o%2)?f+1:f,g,b.inner,b.from,b.to,i),k=b.from),p=b.from}else if(p==d||(e?at[p-1]!=j:at[p-1]==j))break;else p--;n?b(c,p,k,f+1,g,n,i):p<k&&i.push(new as(p,k,o)),k=p}}(b,f,g,c,d,e,h)}(a,e,e,c,0,a.length,d),d}(a.text,b,c);return this.bidiCache.push(new cN(a.from,a.to,b,c,!0,d)),d}get hasFocus(){var a;return(this.dom.ownerDocument.hasFocus()||B.safari&&(null==(a=this.inputState)?void 0:a.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{ab(this.contentDOM),this.docView.updateSelection()})}setRoot(a){this._root!=a&&(this._root=a,this.observer.setWindow((9==a.nodeType?a:a.ownerDocument).defaultView||window),this.mountStyles())}destroy(){for(let a of(this.root.activeElement==this.contentDOM&&this.contentDOM.blur(),this.plugins))a.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(a,b={}){var c,d,e,f;return aJ.of(new aI("number"==typeof a?h.OF.cursor(a):a,null!=(c=b.y)?c:"nearest",null!=(d=b.x)?d:"nearest",null!=(e=b.yMargin)?e:5,null!=(f=b.xMargin)?f:5))}scrollSnapshot(){let{scrollTop:a,scrollLeft:b}=this.scrollDOM,c=this.viewState.scrollAnchorAt(a);return aJ.of(new aI(h.OF.cursor(c.from),"start","start",c.top-a,b,!0))}setTabFocusMode(a){null==a?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:"boolean"==typeof a?this.inputState.tabFocusMode=a?0:-1:0!=this.inputState.tabFocusMode&&(this.inputState.tabFocusMode=Date.now()+a)}static domEventHandlers(a){return aP.define(()=>({}),{eventHandlers:a})}static domEventObservers(a){return aP.define(()=>({}),{eventObservers:a})}static theme(a,b){let c=i.G.newName(),d=[cw.of(c),a_.of(cC(`.${c}`,a))];return b&&b.dark&&d.push(cx.of(!0)),d}static baseTheme(a){return h.Nb.lowest(a_.of(cC("."+cy,a,cB)))}static findFromDOM(a){var b;let c=a.querySelector(".cm-content"),d=c&&a3.get(c)||a3.get(a);return(null==(b=null==d?void 0:d.root)?void 0:b.view)||null}}cK.styleModule=a_,cK.inputHandler=aB,cK.clipboardInputFilter=aD,cK.clipboardOutputFilter=aE,cK.scrollHandler=aH,cK.focusChangeEffect=aC,cK.perLineTextDirection=aF,cK.exceptionSink=az,cK.updateListener=aA,cK.editable=aM,cK.mouseSelectionStyle=ay,cK.dragMovesSelection=ax,cK.clickAddsSelectionRange=aw,cK.decorations=aT,cK.blockWrappers=aU,cK.outerDecorations=aV,cK.atomicRanges=aW,cK.bidiIsolatedRanges=aX,cK.cursorScrollMargin=h.sj.define({combine:a=>{let b=5,c=5;for(let d of a)"number"==typeof d?b=c=d:{x:b,y:c}=d;return{x:b,y:c}}}),cK.scrollMargins=aZ,cK.darkTheme=cx,cK.cspNonce=h.sj.define({combine:a=>a.length?a[0]:""}),cK.contentAttributes=aS,cK.editorAttributes=aR,cK.lineWrapping=cK.contentAttributes.of({class:"cm-lineWrapping"}),cK.announce=h.Pe.define();let cL=4096,cM={};class cN{constructor(a,b,c,d,e,f){this.from=a,this.to=b,this.dir=c,this.isolates=d,this.fresh=e,this.order=f}static update(a,b){if(b.empty&&!a.some(a=>a.fresh))return a;let c=[],d=a.length?a[a.length-1].dir:ai.LTR;for(let e=Math.max(0,a.length-10);e<a.length;e++){let f=a[e];f.dir!=d||b.touchesRange(f.from,f.to)||c.push(new cN(b.mapPos(f.from,1),b.mapPos(f.to,-1),f.dir,f.isolates,!1,f.order))}return c}}function cO(a,b,c){for(let d=a.state.facet(b),e=d.length-1;e>=0;e--){let b=d[e],f="function"==typeof b?b(a):b;f&&C(f,c)}return c}let cP=B.mac?"mac":B.windows?"win":B.linux?"linux":"key";function cQ(a,b,c){return b.altKey&&(a="Alt-"+a),b.ctrlKey&&(a="Ctrl-"+a),b.metaKey&&(a="Meta-"+a),!1!==c&&b.shiftKey&&(a="Shift-"+a),a}let cR=h.Nb.default(cK.domEventHandlers({keydown:(a,b)=>cY(cU(b.state),a,b,"editor")})),cS=h.sj.define({enables:cR}),cT=new WeakMap;function cU(a){let b=a.facet(cS),c=cT.get(b);return c||cT.set(b,c=function(a,b=cP){let c=Object.create(null),d=Object.create(null),e=(a,b)=>{let c=d[a];if(null==c)d[a]=b;else if(c!=b)throw Error("Key binding "+a+" is used both as a regular binding and as a multi-stroke prefix")},f=(a,d,f,g,h)=>{var i,j;let k=c[a]||(c[a]=Object.create(null)),l=d.split(/ (?!$)/).map(a=>(function(a,b){let c,d,e,f,g=a.split(/-(?!$)/),h=g[g.length-1];"Space"==h&&(h=" ");for(let a=0;a<g.length-1;++a){let h=g[a];if(/^(cmd|meta|m)$/i.test(h))f=!0;else if(/^a(lt)?$/i.test(h))c=!0;else if(/^(c|ctrl|control)$/i.test(h))d=!0;else if(/^s(hift)?$/i.test(h))e=!0;else if(/^mod$/i.test(h))"mac"==b?f=!0:d=!0;else throw Error("Unrecognized modifier name: "+h)}return c&&(h="Alt-"+h),d&&(h="Ctrl-"+h),f&&(h="Meta-"+h),e&&(h="Shift-"+h),h})(a,b));for(let b=1;b<l.length;b++){let c=l.slice(0,b).join(" ");e(c,!0),k[c]||(k[c]={preventDefault:!0,stopPropagation:!1,run:[b=>{let d=cW={view:b,prefix:c,scope:a};return setTimeout(()=>{cW==d&&(cW=null)},4e3),!0}]})}let m=l.join(" ");e(m,!1);let n=k[m]||(k[m]={preventDefault:!1,stopPropagation:!1,run:(null==(j=null==(i=k._any)?void 0:i.run)?void 0:j.slice())||[]});f&&n.run.push(f),g&&(n.preventDefault=!0),h&&(n.stopPropagation=!0)};for(let d of a){let a=d.scope?d.scope.split(" "):["editor"];if(d.any)for(let b of a){let a=c[b]||(c[b]=Object.create(null));a._any||(a._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:e}=d;for(let b in a)a[b].run.push(a=>e(a,cX))}let e=d[b]||d.key;if(e)for(let b of a)f(b,e,d.run,d.preventDefault,d.stopPropagation),d.shift&&f(b,"Shift-"+e,d.shift,d.preventDefault,d.stopPropagation)}return c}(b.reduce((a,b)=>a.concat(b),[]))),c}function cV(a,b,c){return cY(cU(a.state),b,a,c)}let cW=null,cX=null;function cY(a,b,c,d){var e;cX=b;let f=("Esc"==(e=!(l&&b.metaKey&&b.shiftKey&&!b.ctrlKey&&!b.altKey||m&&b.shiftKey&&b.key&&1==b.key.length||"Unidentified"==b.key)&&b.key||(b.shiftKey?k:j)[b.keyCode]||b.key||"Unidentified")&&(e="Escape"),"Del"==e&&(e="Delete"),"Left"==e&&(e="ArrowLeft"),"Up"==e&&(e="ArrowUp"),"Right"==e&&(e="ArrowRight"),"Down"==e&&(e="ArrowDown"),e),g=(0,h.vS)(f,0),i=(0,h.Fh)(g)==f.length&&" "!=f,n="",o=!1,p=!1,q=!1;cW&&cW.view==c&&cW.scope==d&&(n=cW.prefix+" ",0>bO.indexOf(b.keyCode)&&(p=!0,cW=null));let r=new Set,s=a=>{if(a){for(let b of a.run)if(!r.has(b)&&(r.add(b),b(c)))return a.stopPropagation&&(q=!0),!0;a.preventDefault&&(a.stopPropagation&&(q=!0),p=!0)}return!1},t=a[d],u,v;return t&&(s(t[n+cQ(f,b,!i)])?o=!0:i&&(b.altKey||b.metaKey||b.ctrlKey)&&!(B.windows&&b.ctrlKey&&b.altKey)&&!(B.mac&&b.altKey&&!(b.ctrlKey||b.metaKey))&&(u=j[b.keyCode])&&u!=f?s(t[n+cQ(u,b,!0)])?o=!0:b.shiftKey&&(v=k[b.keyCode])!=f&&v!=u&&s(t[n+cQ(v,b,!1)])&&(o=!0):i&&b.shiftKey&&s(t[n+cQ(f,b,!0)])&&(o=!0),!o&&s(t._any)&&(o=!0)),p&&(o=!0),o&&q&&b.stopPropagation(),cX=null,o}/x/.unicode;function cZ(){return c_}let c$=I.line({class:"cm-activeLine"}),c_=aP.fromClass(class{constructor(a){this.decorations=this.getDeco(a)}update(a){(a.docChanged||a.selectionSet)&&(this.decorations=this.getDeco(a.view))}getDeco(a){let b=-1,c=[];for(let d of a.state.selection.ranges){let e=a.lineBlockAt(d.head);e.from>b&&(c.push(c$.range(e.from)),b=e.from)}return I.set(c)}},{decorations:a=>a.decorations}),c0="-10000px";class c1{constructor(a,b,c,d){this.facet=b,this.createTooltipView=c,this.removeTooltipView=d,this.input=a.state.facet(b),this.tooltips=this.input.filter(a=>a);let e=null;this.tooltipViews=this.tooltips.map(a=>e=c(a,e))}update(a,b){var c;let d=a.state.facet(this.facet),e=d.filter(a=>a);if(d===this.input){for(let b of this.tooltipViews)b.update&&b.update(a);return!1}let f=[],g=b?[]:null;for(let c=0;c<e.length;c++){let d=e[c],h=-1;if(d){for(let a=0;a<this.tooltips.length;a++){let b=this.tooltips[a];b&&b.create==d.create&&(h=a)}if(h<0)f[c]=this.createTooltipView(d,c?f[c-1]:null),g&&(g[c]=!!d.above);else{let d=f[c]=this.tooltipViews[h];g&&(g[c]=b[h]),d.update&&d.update(a)}}}for(let a of this.tooltipViews)0>f.indexOf(a)&&(this.removeTooltipView(a),null==(c=a.destroy)||c.call(a));return b&&(g.forEach((a,c)=>b[c]=a),b.length=g.length),this.input=d,this.tooltips=e,this.tooltipViews=f,!0}}function c2(a){let b=a.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:b.clientHeight,right:b.clientWidth}}let c3=h.sj.define({combine:a=>{var b,c,d;return{position:B.ios?"absolute":(null==(b=a.find(a=>a.position))?void 0:b.position)||"fixed",parent:(null==(c=a.find(a=>a.parent))?void 0:c.parent)||null,tooltipSpace:(null==(d=a.find(a=>a.tooltipSpace))?void 0:d.tooltipSpace)||c2}}}),c4=new WeakMap,c5=aP.fromClass(class{constructor(a){this.view=a,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let b=a.state.facet(c3);this.position=b.position,this.parent=b.parent,this.classes=a.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver="function"==typeof ResizeObserver?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new c1(a,c9,(a,b)=>this.createTooltip(a,b),a=>{this.resizeObserver&&this.resizeObserver.unobserve(a.dom),a.dom.remove()}),this.above=this.manager.tooltips.map(a=>!!a.above),this.intersectionObserver="function"==typeof IntersectionObserver?new IntersectionObserver(a=>{Date.now()>this.lastTransaction-50&&a.length>0&&a[a.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),a.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver)for(let a of(this.intersectionObserver.disconnect(),this.manager.tooltipViews))this.intersectionObserver.observe(a.dom)}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(a){a.transactions.length&&(this.lastTransaction=Date.now());let b=this.manager.update(a,this.above);b&&this.observeIntersection();let c=b||a.geometryChanged,d=a.state.facet(c3);if(d.position!=this.position&&!this.madeAbsolute){for(let a of(this.position=d.position,this.manager.tooltipViews))a.dom.style.position=this.position;c=!0}if(d.parent!=this.parent){for(let a of(this.parent&&this.container.remove(),this.parent=d.parent,this.createContainer(),this.manager.tooltipViews))this.container.appendChild(a.dom);c=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);c&&this.maybeMeasure()}createTooltip(a,b){let c=a.create(this.view),d=b?b.dom:null;if(c.dom.classList.add("cm-tooltip"),a.arrow&&!c.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let a=document.createElement("div");a.className="cm-tooltip-arrow",c.dom.appendChild(a)}return c.dom.style.position=this.position,c.dom.style.top=c0,c.dom.style.left="0px",this.container.insertBefore(c.dom,d),c.mount&&c.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(c.dom),c}destroy(){var a,b,c;for(let b of(this.view.win.removeEventListener("resize",this.measureSoon),this.manager.tooltipViews))b.dom.remove(),null==(a=b.destroy)||a.call(b);this.parent&&this.container.remove(),null==(b=this.resizeObserver)||b.disconnect(),null==(c=this.intersectionObserver)||c.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let a=1,b=1,c=!1;if("fixed"==this.position&&this.manager.tooltipViews.length){let{dom:a}=this.manager.tooltipViews[0];if(B.safari){let b=a.getBoundingClientRect();c=Math.abs(b.top+1e4)>1||Math.abs(b.left)>1}else c=!!a.offsetParent&&a.offsetParent!=this.container.ownerDocument.body}if(c||"absolute"==this.position)if(this.parent){let c=this.parent.getBoundingClientRect();c.width&&c.height&&(a=c.width/this.parent.offsetWidth,b=c.height/this.parent.offsetHeight)}else({scaleX:a,scaleY:b}=this.view.viewState);let d=this.view.scrollDOM.getBoundingClientRect(),e=a$(this.view);return{visible:{left:d.left+e.left,top:d.top+e.top,right:d.right-e.right,bottom:d.bottom-e.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((a,b)=>{let c=this.manager.tooltipViews[b];return c.getCoords?c.getCoords(a.pos):this.view.coordsAtPos(a.pos)}),size:this.manager.tooltipViews.map(({dom:a})=>a.getBoundingClientRect()),space:this.view.state.facet(c3).tooltipSpace(this.view),scaleX:a,scaleY:b,makeAbsolute:c}}writeMeasure(a){var b;if(a.makeAbsolute)for(let a of(this.madeAbsolute=!0,this.position="absolute",this.manager.tooltipViews))a.dom.style.position="absolute";let{visible:c,space:d,scaleX:e,scaleY:f}=a,g=[];for(let h=0;h<this.manager.tooltips.length;h++){let i=this.manager.tooltips[h],j=this.manager.tooltipViews[h],{dom:k}=j,l=a.pos[h],m=a.size[h];if(!l||!1!==i.clip&&(l.bottom<=Math.max(c.top,d.top)||l.top>=Math.min(c.bottom,d.bottom)||l.right<Math.max(c.left,d.left)-.1||l.left>Math.min(c.right,d.right)+.1)){k.style.top=c0;continue}let n=i.arrow?j.dom.querySelector(".cm-tooltip-arrow"):null,o=7*!!n,p=m.right-m.left,q=null!=(b=c4.get(j))?b:m.bottom-m.top,r=j.offset||c8,s=this.view.textDirection==ai.LTR,t=m.width>d.right-d.left?s?d.left:d.right-m.width:s?Math.max(d.left,Math.min(l.left-14*!!n+r.x,d.right-p)):Math.min(Math.max(d.left,l.left-p+14*!!n-r.x),d.right-p),u=this.above[h];!i.strictSide&&(u?l.top-q-o-r.y<d.top:l.bottom+q+o+r.y>d.bottom)&&u==d.bottom-l.bottom>l.top-d.top&&(u=this.above[h]=!u);let v=(u?l.top-d.top:d.bottom-l.bottom)-o;if(v<q&&!1!==j.resize){if(v<this.view.defaultLineHeight){k.style.top=c0;continue}c4.set(j,q),k.style.height=(q=v)/f+"px"}else k.style.height&&(k.style.height="");let w=u?l.top-q-o-r.y:l.bottom+o+r.y,x=t+p;if(!0!==j.overlap)for(let a of g)a.left<x&&a.right>t&&a.top<w+q&&a.bottom>w&&(w=u?a.top-q-2-o:a.bottom+o+2);if("absolute"==this.position?(k.style.top=(w-a.parent.top)/f+"px",c6(k,(t-a.parent.left)/e)):(k.style.top=w/f+"px",c6(k,t/e)),n){let a=l.left+(s?r.x:-r.x)-(t+14-7);n.style.left=a/e+"px"}!0!==j.overlap&&g.push({left:t,top:w,right:x,bottom:w+q}),k.classList.toggle("cm-tooltip-above",u),k.classList.toggle("cm-tooltip-below",!u),j.positioned&&j.positioned(a.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView)&&(this.inView=this.view.inView,!this.inView))for(let a of this.manager.tooltipViews)a.dom.style.top=c0}},{eventObservers:{scroll(){this.maybeMeasure()}}});function c6(a,b){let c=parseInt(a.style.left,10);(isNaN(c)||Math.abs(b-c)>1)&&(a.style.left=b+"px")}let c7=cK.baseTheme({".cm-tooltip":{zIndex:500,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:"14px",position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),c8={x:0,y:0},c9=h.sj.define({enables:[c5,c7]}),da=h.sj.define({combine:a=>a.reduce((a,b)=>a.concat(b),[])});function db(a,b){let c=a.plugin(c5);if(!c)return null;let d=c.manager.tooltips.indexOf(b);return d<0?null:c.manager.tooltipViews[d]}let dc=h.sj.define({combine(a){let b,c;for(let d of a)b=b||d.topContainer,c=c||d.bottomContainer;return{topContainer:b,bottomContainer:c}}});function dd(a,b){let c=a.plugin(de),d=c?c.specs.indexOf(b):-1;return d>-1?c.panels[d]:null}let de=aP.fromClass(class{constructor(a){this.input=a.state.facet(dh),this.specs=this.input.filter(a=>a),this.panels=this.specs.map(b=>b(a));let b=a.state.facet(dc);for(let c of(this.top=new df(a,!0,b.topContainer),this.bottom=new df(a,!1,b.bottomContainer),this.top.sync(this.panels.filter(a=>a.top)),this.bottom.sync(this.panels.filter(a=>!a.top)),this.panels))c.dom.classList.add("cm-panel"),c.mount&&c.mount()}update(a){let b=a.state.facet(dc);this.top.container!=b.topContainer&&(this.top.sync([]),this.top=new df(a.view,!0,b.topContainer)),this.bottom.container!=b.bottomContainer&&(this.bottom.sync([]),this.bottom=new df(a.view,!1,b.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let c=a.state.facet(dh);if(c!=this.input){let b=c.filter(a=>a),d=[],e=[],f=[],g=[];for(let c of b){let b=this.specs.indexOf(c),h;b<0?(h=c(a.view),g.push(h)):(h=this.panels[b]).update&&h.update(a),d.push(h),(h.top?e:f).push(h)}for(let a of(this.specs=b,this.panels=d,this.top.sync(e),this.bottom.sync(f),g))a.dom.classList.add("cm-panel"),a.mount&&a.mount()}else for(let b of this.panels)b.update&&b.update(a)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:a=>cK.scrollMargins.of(b=>{let c=b.plugin(a);return c&&{top:c.top.scrollMargin(),bottom:c.bottom.scrollMargin()}})});class df{constructor(a,b,c){this.view=a,this.top=b,this.container=c,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(a){for(let b of this.panels)b.destroy&&0>a.indexOf(b)&&b.destroy();this.panels=a,this.syncDOM()}syncDOM(){if(0==this.panels.length){this.dom&&(this.dom.remove(),this.dom=void 0);return}if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let a=this.container||this.view.dom;a.insertBefore(this.dom,this.top?a.firstChild:null)}let a=this.dom.firstChild;for(let b of this.panels)if(b.dom.parentNode==this.dom){for(;a!=b.dom;)a=dg(a);a=a.nextSibling}else this.dom.insertBefore(b.dom,a);for(;a;)a=dg(a)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(this.container&&this.classes!=this.view.themeClasses){for(let a of this.classes.split(" "))a&&this.container.classList.remove(a);for(let a of(this.classes=this.view.themeClasses).split(" "))a&&this.container.classList.add(a)}}}function dg(a){let b=a.nextSibling;return a.remove(),b}let dh=h.sj.define({enables:de});function di(a,b){let c,d=new Promise(a=>c=a),e=a=>(function(a,b,c){let d=b.content?b.content(a,()=>g(null)):null;if(!d){if(d=(0,p.A)("form"),b.input){let a=(0,p.A)("input",b.input);/^(text|password|number|email|tel|url)$/.test(a.type)&&a.classList.add("cm-textfield"),a.name||(a.name="input"),d.appendChild((0,p.A)("label",(b.label||"")+": ",a))}else d.appendChild(document.createTextNode(b.label||""));d.appendChild(document.createTextNode(" ")),d.appendChild((0,p.A)("button",{class:"cm-button",type:"submit"},b.submitLabel||"OK"))}let e="FORM"==d.nodeName?[d]:d.querySelectorAll("form");for(let a=0;a<e.length;a++){let b=e[a];b.addEventListener("keydown",a=>{27==a.keyCode?(a.preventDefault(),g(null)):13==a.keyCode&&(a.preventDefault(),g(b))}),b.addEventListener("submit",a=>{a.preventDefault(),g(b)})}let f=(0,p.A)("div",d,(0,p.A)("button",{onclick:()=>g(null),"aria-label":a.state.phrase("close"),class:"cm-dialog-close",type:"button"},["\xd7"]));function g(b){f.contains(f.ownerDocument.activeElement)&&a.focus(),c(b)}return b.class&&(f.className=b.class),f.classList.add("cm-dialog"),{dom:f,top:b.top,mount:()=>{if(b.focus){let a;(a="string"==typeof b.focus?d.querySelector(b.focus):d.querySelector("input")||d.querySelector("button"))&&"select"in a?a.select():a&&"focus"in a&&a.focus()}}}})(a,b,c);a.state.field(dj,!1)?a.dispatch({effects:dk.of(e)}):a.dispatch({effects:h.Pe.appendConfig.of(dj.init(()=>[e]))});let f=dl.of(e);return{close:f,result:d.then(b=>((a.win.queueMicrotask||(b=>a.win.setTimeout(b,10)))(()=>{a.state.field(dj).indexOf(e)>-1&&a.dispatch({effects:f})}),b))}}let dj=h.sU.define({create:()=>[],update(a,b){for(let c of b.effects)c.is(dk)?a=[c.value].concat(a):c.is(dl)&&(a=a.filter(a=>a!=c.value));return a},provide:a=>dh.computeN([a],b=>b.field(a))}),dk=h.Pe.define(),dl=h.Pe.define();class dm extends h.FB{compare(a){return this==a||this.constructor==a.constructor&&this.eq(a)}eq(a){return!1}destroy(a){}}dm.prototype.elementClass="",dm.prototype.toDOM=void 0,dm.prototype.mapMode=h.iR.TrackBefore,dm.prototype.startSide=dm.prototype.endSide=-1,dm.prototype.point=!0;let dn=h.sj.define(),dp=h.sj.define(),dq=h.sj.define(),dr=h.sj.define({combine:a=>a.some(a=>a)}),ds=aP.fromClass(class{constructor(a){for(let b of(this.view=a,this.domAfter=null,this.prevViewport=a.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters cm-gutters-before",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=a.state.facet(dq).map(b=>new dw(a,b)),this.fixed=!a.state.facet(dr),this.gutters))"after"==b.config.side?this.getDOMAfter().appendChild(b.dom):this.dom.appendChild(b.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),a.scrollDOM.insertBefore(this.dom,a.contentDOM)}getDOMAfter(){return this.domAfter||(this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter)),this.domAfter}update(a){if(this.updateGutters(a)){let b=this.prevViewport,c=a.view.viewport,d=Math.min(b.to,c.to)-Math.max(b.from,c.from);this.syncGutters(d<(c.to-c.from)*.8)}if(a.geometryChanged){let a=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=a,this.domAfter&&(this.domAfter.style.minHeight=a)}this.view.state.facet(dr)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=a.view.viewport}syncGutters(a){let b=this.dom.nextSibling;a&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let c=h.om.iter(this.view.state.facet(dn),this.view.viewport.from),d=[],e=this.gutters.map(a=>new dv(a,this.view.viewport,-this.view.documentPadding.top));for(let a of this.view.viewportLineBlocks)if(d.length&&(d=[]),Array.isArray(a.type)){let b=!0;for(let f of a.type)if(f.type==H.Text&&b){for(let a of(du(c,d,f.from),e))a.line(this.view,f,d);b=!1}else if(f.widget)for(let a of e)a.widget(this.view,f)}else if(a.type==H.Text)for(let b of(du(c,d,a.from),e))b.line(this.view,a,d);else if(a.widget)for(let b of e)b.widget(this.view,a);for(let a of e)a.finish();a&&(this.view.scrollDOM.insertBefore(this.dom,b),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(a){let b=a.startState.facet(dq),c=a.state.facet(dq),d=a.docChanged||a.heightChanged||a.viewportChanged||!h.om.eq(a.startState.facet(dn),a.state.facet(dn),a.view.viewport.from,a.view.viewport.to);if(b==c)for(let b of this.gutters)b.update(a)&&(d=!0);else{d=!0;let e=[];for(let d of c){let c=b.indexOf(d);c<0?e.push(new dw(this.view,d)):(this.gutters[c].update(a),e.push(this.gutters[c]))}for(let a of this.gutters)a.dom.remove(),0>e.indexOf(a)&&a.destroy();for(let a of e)"after"==a.config.side?this.getDOMAfter().appendChild(a.dom):this.dom.appendChild(a.dom);this.gutters=e}return d}destroy(){for(let a of this.gutters)a.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:a=>cK.scrollMargins.of(b=>{let c=b.plugin(a);if(!c||0==c.gutters.length||!c.fixed)return null;let d=c.dom.offsetWidth*b.scaleX,e=c.domAfter?c.domAfter.offsetWidth*b.scaleX:0;return b.textDirection==ai.LTR?{left:d,right:e}:{right:d,left:e}})});function dt(a){return Array.isArray(a)?a:[a]}function du(a,b,c){for(;a.value&&a.from<=c;)a.from==c&&b.push(a.value),a.next()}class dv{constructor(a,b,c){this.gutter=a,this.height=c,this.i=0,this.cursor=h.om.iter(a.markers,b.from)}addElement(a,b,c){let{gutter:d}=this,e=(b.top-this.height)/a.scaleY,f=b.height/a.scaleY;if(this.i==d.elements.length){let b=new dx(a,f,e,c);d.elements.push(b),d.dom.appendChild(b.dom)}else d.elements[this.i].update(a,f,e,c);this.height=b.bottom,this.i++}line(a,b,c){let d=[];du(this.cursor,d,b.from),c.length&&(d=d.concat(c));let e=this.gutter.config.lineMarker(a,b,d);e&&d.unshift(e);let f=this.gutter;(0!=d.length||f.config.renderEmptyElements)&&this.addElement(a,b,d)}widget(a,b){let c=this.gutter.config.widgetMarker(a,b.widget,b),d=c?[c]:null;for(let c of a.state.facet(dp)){let e=c(a,b.widget,b);e&&(d||(d=[])).push(e)}d&&this.addElement(a,b,d)}finish(){let a=this.gutter;for(;a.elements.length>this.i;){let b=a.elements.pop();a.dom.removeChild(b.dom),b.destroy()}}}class dw{constructor(a,b){for(let c in this.view=a,this.config=b,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:""),b.domEventHandlers)this.dom.addEventListener(c,d=>{let e=d.target,f;if(e!=this.dom&&this.dom.contains(e)){for(;e.parentNode!=this.dom;)e=e.parentNode;let a=e.getBoundingClientRect();f=(a.top+a.bottom)/2}else f=d.clientY;let g=a.lineBlockAtHeight(f-a.documentTop);b.domEventHandlers[c](a,g,d)&&d.preventDefault()});this.markers=dt(b.markers(a)),b.initialSpacer&&(this.spacer=new dx(a,0,0,[b.initialSpacer(a)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(a){let b=this.markers;if(this.markers=dt(this.config.markers(a.view)),this.spacer&&this.config.updateSpacer){let b=this.config.updateSpacer(this.spacer.markers[0],a);b!=this.spacer.markers[0]&&this.spacer.update(a.view,0,0,[b])}let c=a.view.viewport;return!h.om.eq(this.markers,b,c.from,c.to)||!!this.config.lineMarkerChange&&this.config.lineMarkerChange(a)}destroy(){for(let a of this.elements)a.destroy()}}class dx{constructor(a,b,c,d){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(a,b,c,d)}update(a,b,c,d){this.height!=b&&(this.height=b,this.dom.style.height=b+"px"),this.above!=c&&(this.dom.style.marginTop=(this.above=c)?c+"px":""),!function(a,b){if(a.length!=b.length)return!1;for(let c=0;c<a.length;c++)if(!a[c].compare(b[c]))return!1;return!0}(this.markers,d)&&this.setMarkers(a,d)}setMarkers(a,b){let c="cm-gutterElement",d=this.dom.firstChild;for(let e=0,f=0;;){let g=f,h=e<b.length?b[e++]:null,i=!1;if(h){let a=h.elementClass;a&&(c+=" "+a);for(let a=f;a<this.markers.length;a++)if(this.markers[a].compare(h)){g=a,i=!0;break}}else g=this.markers.length;for(;f<g;){let a=this.markers[f++];if(a.toDOM){a.destroy(d);let b=d.nextSibling;d.remove(),d=b}}if(!h)break;h.toDOM&&(i?d=d.nextSibling:this.dom.insertBefore(h.toDOM(a),d)),i&&f++}this.dom.className=c,this.markers=b}destroy(){this.setMarkers(null,[])}}let dy=h.sj.define(),dz=h.sj.define(),dA=h.sj.define({combine:a=>(0,h.QR)(a,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(a,b){let c=Object.assign({},a);for(let a in b){let d=c[a],e=b[a];c[a]=d?(a,b,c)=>d(a,b,c)||e(a,b,c):e}return c}})});class dB extends dm{constructor(a){super(),this.number=a}eq(a){return this.number==a.number}toDOM(){return document.createTextNode(this.number)}}function dC(a,b){return a.state.facet(dA).formatNumber(b,a.state)}let dD=dq.compute([dA],a=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers:a=>a.state.facet(dy),lineMarker:(a,b,c)=>c.some(a=>a.toDOM)?null:new dB(dC(a,a.state.doc.lineAt(b.from).number)),widgetMarker:(a,b,c)=>{for(let d of a.state.facet(dz)){let e=d(a,b,c);if(e)return e}return null},lineMarkerChange:a=>a.startState.facet(dA)!=a.state.facet(dA),initialSpacer:a=>new dB(dC(a,dF(a.state.doc.lines))),updateSpacer(a,b){let c=dC(b.view,dF(b.view.state.doc.lines));return c==a.number?a:new dB(c)},domEventHandlers:a.facet(dA).domEventHandlers,side:"before"}));function dE(a={}){return[dA.of(a),[ds],dD]}function dF(a){let b=9;for(;b<a;)b=10*b+9;return b}},43398:(a,b,c)=>{c.d(b,{DM:()=>m,_A:()=>D,az:()=>l,pn:()=>i,vw:()=>f});var d=c(22751);let e=0;class f{constructor(a,b,c,d){this.name=a,this.set=b,this.base=c,this.modified=d,this.id=e++}toString(){let{name:a}=this;for(let b of this.modified)b.name&&(a=`${b.name}(${a})`);return a}static define(a,b){if(a instanceof f&&(b=a),null==b?void 0:b.base)throw Error("Can not derive from a modified tag");let c=new f("string"==typeof a?a:"?",[],null,[]);if(c.set.push(c),b)for(let a of b.set)c.set.push(a);return c}static defineModifier(a){let b=new h(a);return a=>a.modified.indexOf(b)>-1?a:h.get(a.base||a,a.modified.concat(b).sort((a,b)=>a.id-b.id))}}let g=0;class h{constructor(a){this.name=a,this.instances=[],this.id=g++}static get(a,b){if(!b.length)return a;let c=b[0].instances.find(c=>{var d,e;return c.base==a&&(d=b,e=c.modified,d.length==e.length&&d.every((a,b)=>a==e[b]))});if(c)return c;let d=[],e=new f(a.name,d,a,b);for(let a of b)a.instances.push(e);let g=function(a){let b=[[]];for(let c=0;c<a.length;c++)for(let d=0,e=b.length;d<e;d++)b.push(b[d].concat(a[c]));return b.sort((a,b)=>b.length-a.length)}(b);for(let b of a.set)if(!b.modified.length)for(let a of g)d.push(h.get(b,a));return e}}function i(a){let b=Object.create(null);for(let c in a){let d=a[c];for(let a of(Array.isArray(d)||(d=[d]),c.split(" ")))if(a){let c=[],e=2,f=a;for(let b=0;;){if("..."==f&&b>0&&b+3==a.length){e=1;break}let d=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(f);if(!d)throw RangeError("Invalid path: "+a);if(c.push("*"==d[0]?"":'"'==d[0][0]?JSON.parse(d[0]):d[0]),(b+=d[0].length)==a.length)break;let g=a[b++];if(b==a.length&&"!"==g){e=0;break}if("/"!=g)throw RangeError("Invalid path: "+a);f=a.slice(b)}let g=c.length-1,h=c[g];if(!h)throw RangeError("Invalid path: "+a);let i=new k(d,e,g>0?c.slice(0,g):null);b[h]=i.sort(b[h])}}return j.add(b)}let j=new d.uY({combine(a,b){let c,d,e;for(;a||b;){if(!a||b&&a.depth>=b.depth?(e=b,b=b.next):(e=a,a=a.next),c&&c.mode==e.mode&&!e.context&&!c.context)continue;let f=new k(e.tags,e.mode,e.context);c?c.next=f:d=f,c=f}return d}});class k{constructor(a,b,c,d){this.tags=a,this.mode=b,this.context=c,this.next=d}get opaque(){return 0==this.mode}get inherit(){return 1==this.mode}sort(a){return!a||a.depth<this.depth?(this.next=a,this):(a.next=this.sort(a.next),a)}get depth(){return this.context?this.context.length:0}}function l(a,b){let c=Object.create(null);for(let b of a)if(Array.isArray(b.tag))for(let a of b.tag)c[a.id]=b.class;else c[b.tag.id]=b.class;let{scope:d,all:e=null}=b||{};return{style:a=>{let b=e;for(let d of a)for(let a of d.set){let d=c[a.id];if(d){b=b?b+" "+d:d;break}}return b},scope:d}}function m(a,b,c,d=0,e=a.length){let f=new n(d,Array.isArray(b)?b:[b],c);f.highlightRange(a.cursor(),d,e,"",f.highlighters),f.flush(e)}k.empty=new k([],2,null);class n{constructor(a,b,c){this.at=a,this.highlighters=b,this.span=c,this.class=""}startSpan(a,b){b!=this.class&&(this.flush(a),a>this.at&&(this.at=a),this.class=b)}flush(a){a>this.at&&this.class&&this.span(this.at,a,this.class)}highlightRange(a,b,c,e,f){let{type:g,from:h,to:i}=a;if(h>=c||i<=b)return;g.isTop&&(f=this.highlighters.filter(a=>!a.scope||a.scope(g)));let l=e,m=function(a){let b=a.type.prop(j);for(;b&&b.context&&!a.matchContext(b.context);)b=b.next;return b||null}(a)||k.empty,n=function(a,b){let c=null;for(let d of a){let a=d.style(b);a&&(c=c?c+" "+a:a)}return c}(f,m.tags);if(n&&(l&&(l+=" "),l+=n,1==m.mode&&(e+=(e?" ":"")+n)),this.startSpan(Math.max(b,h),l),m.opaque)return;let o=a.tree&&a.tree.prop(d.uY.mounted);if(o&&o.overlay){let d=a.node.enter(o.overlay[0].from+h,1),g=this.highlighters.filter(a=>!a.scope||a.scope(o.tree.type)),j=a.firstChild();for(let k=0,m=h;;k++){let n=k<o.overlay.length?o.overlay[k]:null,p=n?n.from+h:i,q=Math.max(b,m),r=Math.min(c,p);if(q<r&&j)for(;a.from<r&&(this.highlightRange(a,q,r,e,f),this.startSpan(Math.min(r,a.to),l),!(a.to>=p)&&a.nextSibling()););if(!n||p>c)break;(m=n.to+h)>b&&(this.highlightRange(d.cursor(),Math.max(b,n.from+h),Math.min(c,m),"",g),this.startSpan(Math.min(c,m),l))}j&&a.parent()}else if(a.firstChild()){o&&(e="");do{if(a.to<=b)continue;if(a.from>=c)break;this.highlightRange(a,b,c,e,f),this.startSpan(Math.min(c,a.to),l)}while(a.nextSibling());a.parent()}}}let o=f.define,p=o(),q=o(),r=o(q),s=o(q),t=o(),u=o(t),v=o(t),w=o(),x=o(w),y=o(),z=o(),A=o(),B=o(A),C=o(),D={comment:p,lineComment:o(p),blockComment:o(p),docComment:o(p),name:q,variableName:o(q),typeName:r,tagName:o(r),propertyName:s,attributeName:o(s),className:o(q),labelName:o(q),namespace:o(q),macroName:o(q),literal:t,string:u,docString:o(u),character:o(u),attributeValue:o(u),number:v,integer:o(v),float:o(v),bool:o(t),regexp:o(t),escape:o(t),color:o(t),url:o(t),keyword:y,self:o(y),null:o(y),atom:o(y),unit:o(y),modifier:o(y),operatorKeyword:o(y),controlKeyword:o(y),definitionKeyword:o(y),moduleKeyword:o(y),operator:z,derefOperator:o(z),arithmeticOperator:o(z),logicOperator:o(z),bitwiseOperator:o(z),compareOperator:o(z),updateOperator:o(z),definitionOperator:o(z),typeOperator:o(z),controlOperator:o(z),punctuation:A,separator:o(A),bracket:B,angleBracket:o(B),squareBracket:o(B),paren:o(B),brace:o(B),content:w,heading:x,heading1:o(x),heading2:o(x),heading3:o(x),heading4:o(x),heading5:o(x),heading6:o(x),contentSeparator:o(w),list:o(w),quote:o(w),emphasis:o(w),strong:o(w),link:o(w),monospace:o(w),strikethrough:o(w),inserted:o(),deleted:o(),changed:o(),invalid:o(),meta:C,documentMeta:o(C),annotation:o(C),processingInstruction:o(C),definition:f.defineModifier("definition"),constant:f.defineModifier("constant"),function:f.defineModifier("function"),standard:f.defineModifier("standard"),local:f.defineModifier("local"),special:f.defineModifier("special")};for(let a in D){let b=D[a];b instanceof f&&(b.name=a)}l([{tag:D.link,class:"tok-link"},{tag:D.heading,class:"tok-heading"},{tag:D.emphasis,class:"tok-emphasis"},{tag:D.strong,class:"tok-strong"},{tag:D.keyword,class:"tok-keyword"},{tag:D.atom,class:"tok-atom"},{tag:D.bool,class:"tok-bool"},{tag:D.url,class:"tok-url"},{tag:D.labelName,class:"tok-labelName"},{tag:D.inserted,class:"tok-inserted"},{tag:D.deleted,class:"tok-deleted"},{tag:D.literal,class:"tok-literal"},{tag:D.string,class:"tok-string"},{tag:D.number,class:"tok-number"},{tag:[D.regexp,D.escape,D.special(D.string)],class:"tok-string2"},{tag:D.variableName,class:"tok-variableName"},{tag:D.local(D.variableName),class:"tok-variableName tok-local"},{tag:D.definition(D.variableName),class:"tok-variableName tok-definition"},{tag:D.special(D.variableName),class:"tok-variableName2"},{tag:D.definition(D.propertyName),class:"tok-propertyName tok-definition"},{tag:D.typeName,class:"tok-typeName"},{tag:D.namespace,class:"tok-namespace"},{tag:D.className,class:"tok-className"},{tag:D.macroName,class:"tok-macroName"},{tag:D.propertyName,class:"tok-propertyName"},{tag:D.operator,class:"tok-operator"},{tag:D.comment,class:"tok-comment"},{tag:D.meta,class:"tok-meta"},{tag:D.invalid,class:"tok-invalid"},{tag:D.punctuation,class:"tok-punctuation"}])},44072:(a,b,c)=>{let d;c.d(b,{YH:()=>ak,Gu:()=>E,VR:()=>F,Je:()=>at,OF:()=>N,$t:()=>av,sj:()=>Q,iR:()=>D,Nb:()=>Y,om:()=>aC,vB:()=>aD,FB:()=>ax,Pe:()=>an,sU:()=>W,EY:()=>n,ZX:()=>ao,vS:()=>x,Fh:()=>z,QR:()=>aw,y$:()=>aO,zK:()=>w,kn:()=>aP,MK:()=>y});let e=[],f=[],g="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(a=>a?parseInt(a,36):1);for(let a=0,b=0;a<g.length;a++)(a%2?f:e).push(b+=g[a]);function h(a){return a>=127462&&a<=127487}function i(a,b,c){if(b==a.length)return b;b&&k(a.charCodeAt(b))&&l(a.charCodeAt(b-1))&&b--;let d=j(a,b);for(b+=m(d);b<a.length;){let g=j(a,b);if(8205==d||8205==g||c&&function(a){if(a<768)return!1;for(let b=0,c=e.length;;){let d=b+c>>1;if(a<e[d])c=d;else{if(!(a>=f[d]))return!0;b=d+1}if(b==c)return!1}}(g))b+=m(g),d=g;else if(h(g)){let c=0,d=b-2;for(;d>=0&&h(j(a,d));)c++,d-=2;if(c%2==0)break;b+=2}else break}return b}function j(a,b){let c=a.charCodeAt(b);if(!l(c)||b+1==a.length)return c;let d=a.charCodeAt(b+1);return k(d)?(c-55296<<10)+(d-56320)+65536:c}function k(a){return a>=56320&&a<57344}function l(a){return a>=55296&&a<56320}function m(a){return a<65536?1:2}class n{lineAt(a){if(a<0||a>this.length)throw RangeError(`Invalid position ${a} in document of length ${this.length}`);return this.lineInner(a,!1,1,0)}line(a){if(a<1||a>this.lines)throw RangeError(`Invalid line number ${a} in ${this.lines}-line document`);return this.lineInner(a,!0,1,0)}replace(a,b,c){[a,b]=v(this,a,b);let d=[];return this.decompose(0,a,d,2),c.length&&c.decompose(0,c.length,d,3),this.decompose(b,this.length,d,1),p.from(d,this.length-(b-a)+c.length)}append(a){return this.replace(this.length,this.length,a)}slice(a,b=this.length){[a,b]=v(this,a,b);let c=[];return this.decompose(a,b,c,0),p.from(c,b-a)}eq(a){if(a==this)return!0;if(a.length!=this.length||a.lines!=this.lines)return!1;let b=this.scanIdentical(a,1),c=this.length-this.scanIdentical(a,-1),d=new r(this),e=new r(a);for(let a=b,f=b;;){if(d.next(a),e.next(a),a=0,d.lineBreak!=e.lineBreak||d.done!=e.done||d.value!=e.value)return!1;if(f+=d.value.length,d.done||f>=c)return!0}}iter(a=1){return new r(this,a)}iterRange(a,b=this.length){return new s(this,a,b)}iterLines(a,b){let c;if(null==a)c=this.iter();else{null==b&&(b=this.lines+1);let d=this.line(a).from;c=this.iterRange(d,Math.max(d,b==this.lines+1?this.length:b<=1?0:this.line(b-1).to))}return new t(c)}toString(){return this.sliceString(0)}toJSON(){let a=[];return this.flatten(a),a}static of(a){if(0==a.length)throw RangeError("A document must have at least one line");return 1!=a.length||a[0]?a.length<=32?new o(a):p.from(o.split(a,[])):n.empty}}class o extends n{constructor(a,b=function(a){let b=-1;for(let c of a)b+=c.length+1;return b}(a)){super(),this.text=a,this.length=b}get lines(){return this.text.length}get children(){return null}lineInner(a,b,c,d){for(let e=0;;e++){let f=this.text[e],g=d+f.length;if((b?c:g)>=a)return new u(d,g,c,f);d=g+1,c++}}decompose(a,b,c,d){var e;let f=a<=0&&b>=this.length?this:new o((e=this.text,q(e,[""],a,b)),Math.min(b,this.length)-Math.max(0,a));if(1&d){let a=c.pop(),b=q(f.text,a.text.slice(),0,f.length);if(b.length<=32)c.push(new o(b,a.length+f.length));else{let a=b.length>>1;c.push(new o(b.slice(0,a)),new o(b.slice(a)))}}else c.push(f)}replace(a,b,c){var d;if(!(c instanceof o))return super.replace(a,b,c);[a,b]=v(this,a,b);let e=q(this.text,q(c.text,(d=this.text,q(d,[""],0,a))),b),f=this.length+c.length-(b-a);return e.length<=32?new o(e,f):p.from(o.split(e,[]),f)}sliceString(a,b=this.length,c="\n"){[a,b]=v(this,a,b);let d="";for(let e=0,f=0;e<=b&&f<this.text.length;f++){let g=this.text[f],h=e+g.length;e>a&&f&&(d+=c),a<h&&b>e&&(d+=g.slice(Math.max(0,a-e),b-e)),e=h+1}return d}flatten(a){for(let b of this.text)a.push(b)}scanIdentical(){return 0}static split(a,b){let c=[],d=-1;for(let e of a)c.push(e),d+=e.length+1,32==c.length&&(b.push(new o(c,d)),c=[],d=-1);return d>-1&&b.push(new o(c,d)),b}}class p extends n{constructor(a,b){for(let c of(super(),this.children=a,this.length=b,this.lines=0,a))this.lines+=c.lines}lineInner(a,b,c,d){for(let e=0;;e++){let f=this.children[e],g=d+f.length,h=c+f.lines-1;if((b?h:g)>=a)return f.lineInner(a,b,c,d);d=g+1,c=h+1}}decompose(a,b,c,d){for(let e=0,f=0;f<=b&&e<this.children.length;e++){let g=this.children[e],h=f+g.length;if(a<=h&&b>=f){let e=d&(f<=a|2*(h>=b));f>=a&&h<=b&&!e?c.push(g):g.decompose(a-f,b-f,c,e)}f=h+1}}replace(a,b,c){if([a,b]=v(this,a,b),c.lines<this.lines)for(let d=0,e=0;d<this.children.length;d++){let f=this.children[d],g=e+f.length;if(a>=e&&b<=g){let h=f.replace(a-e,b-e,c),i=this.lines-f.lines+h.lines;if(h.lines<i>>4&&h.lines>i>>6){let e=this.children.slice();return e[d]=h,new p(e,this.length-(b-a)+c.length)}return super.replace(e,g,h)}e=g+1}return super.replace(a,b,c)}sliceString(a,b=this.length,c="\n"){[a,b]=v(this,a,b);let d="";for(let e=0,f=0;e<this.children.length&&f<=b;e++){let g=this.children[e],h=f+g.length;f>a&&e&&(d+=c),a<h&&b>f&&(d+=g.sliceString(a-f,b-f,c)),f=h+1}return d}flatten(a){for(let b of this.children)b.flatten(a)}scanIdentical(a,b){if(!(a instanceof p))return 0;let c=0,[d,e,f,g]=b>0?[0,0,this.children.length,a.children.length]:[this.children.length-1,a.children.length-1,-1,-1];for(;;d+=b,e+=b){if(d==f||e==g)return c;let h=this.children[d],i=a.children[e];if(h!=i)return c+h.scanIdentical(i,b);c+=h.length+1}}static from(a,b=a.reduce((a,b)=>a+b.length+1,-1)){let c=0;for(let b of a)c+=b.lines;if(c<32){let c=[];for(let b of a)b.flatten(c);return new o(c,b)}let d=Math.max(32,c>>5),e=d<<1,f=d>>1,g=[],h=0,i=-1,j=[];function k(){0!=h&&(g.push(1==j.length?j[0]:p.from(j,i)),i=-1,h=j.length=0)}for(let b of a)!function a(b){let c;if(b.lines>e&&b instanceof p)for(let c of b.children)a(c);else b.lines>f&&(h>f||!h)?(k(),g.push(b)):b instanceof o&&h&&(c=j[j.length-1])instanceof o&&b.lines+c.lines<=32?(h+=b.lines,i+=b.length+1,j[j.length-1]=new o(c.text.concat(b.text),c.length+1+b.length)):(h+b.lines>d&&k(),h+=b.lines,i+=b.length+1,j.push(b))}(b);return k(),1==g.length?g[0]:new p(g,b)}}function q(a,b,c=0,d=1e9){for(let e=0,f=0,g=!0;f<a.length&&e<=d;f++){let h=a[f],i=e+h.length;i>=c&&(i>d&&(h=h.slice(0,d-e)),e<c&&(h=h.slice(c-e)),g?(b[b.length-1]+=h,g=!1):b.push(h)),e=i+1}return b}n.empty=new o([""],0);class r{constructor(a,b=1){this.dir=b,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[a],this.offsets=[b>0?1:(a instanceof o?a.text.length:a.children.length)<<1]}nextInner(a,b){for(this.done=this.lineBreak=!1;;){let c=this.nodes.length-1,d=this.nodes[c],e=this.offsets[c],f=e>>1,g=d instanceof o?d.text.length:d.children.length;if(f==(b>0?g:0)){if(0==c)return this.done=!0,this.value="",this;b>0&&this.offsets[c-1]++,this.nodes.pop(),this.offsets.pop()}else if((1&e)==(b>0?0:1)){if(this.offsets[c]+=b,0==a)return this.lineBreak=!0,this.value="\n",this;a--}else if(d instanceof o){let e=d.text[f+(b<0?-1:0)];if(this.offsets[c]+=b,e.length>Math.max(0,a))return this.value=0==a?e:b>0?e.slice(a):e.slice(0,e.length-a),this;a-=e.length}else{let e=d.children[f+(b<0?-1:0)];a>e.length?(a-=e.length,this.offsets[c]+=b):(b<0&&this.offsets[c]--,this.nodes.push(e),this.offsets.push(b>0?1:(e instanceof o?e.text.length:e.children.length)<<1))}}}next(a=0){return a<0&&(this.nextInner(-a,-this.dir),a=this.value.length),this.nextInner(a,this.dir)}}class s{constructor(a,b,c){this.value="",this.done=!1,this.cursor=new r(a,b>c?-1:1),this.pos=b>c?a.length:0,this.from=Math.min(b,c),this.to=Math.max(b,c)}nextInner(a,b){if(b<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;a+=Math.max(0,b<0?this.pos-this.to:this.from-this.pos);let c=b<0?this.pos-this.from:this.to-this.pos;a>c&&(a=c),c-=a;let{value:d}=this.cursor.next(a);return this.pos+=(d.length+a)*b,this.value=d.length<=c?d:b<0?d.slice(d.length-c):d.slice(0,c),this.done=!this.value,this}next(a=0){return a<0?a=Math.max(a,this.from-this.pos):a>0&&(a=Math.min(a,this.to-this.pos)),this.nextInner(a,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&""!=this.value}}class t{constructor(a){this.inner=a,this.afterBreak=!0,this.value="",this.done=!1}next(a=0){let{done:b,lineBreak:c,value:d}=this.inner.next(a);return b&&this.afterBreak?(this.value="",this.afterBreak=!1):b?(this.done=!0,this.value=""):c?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=d,this.afterBreak=!1),this}get lineBreak(){return!1}}"u">typeof Symbol&&(n.prototype[Symbol.iterator]=function(){return this.iter()},r.prototype[Symbol.iterator]=s.prototype[Symbol.iterator]=t.prototype[Symbol.iterator]=function(){return this});class u{constructor(a,b,c,d){this.from=a,this.to=b,this.number=c,this.text=d}get length(){return this.to-this.from}}function v(a,b,c){return[b=Math.max(0,Math.min(a.length,b)),Math.max(b,Math.min(a.length,c))]}function w(a,b,c=!0,d=!0){return function(a,b,c=!0,d=!0){return(c?i:function(a,b,c){for(;b>0;){let d=i(a,b-2,c);if(d<b)return d;b--}return 0})(a,b,d)}(a,b,c,d)}function x(a,b){let c=a.charCodeAt(b);if(!(c>=55296&&c<56320)||b+1==a.length)return c;let d=a.charCodeAt(b+1);return d>=56320&&d<57344?(c-55296<<10)+(d-56320)+65536:c}function y(a){return a<=65535?String.fromCharCode(a):String.fromCharCode(((a-=65536)>>10)+55296,(1023&a)+56320)}function z(a){return a<65536?1:2}let A=/\r\n?|\n/;var B,C,D=((B=D||(D={}))[B.Simple=0]="Simple",B[B.TrackDel=1]="TrackDel",B[B.TrackBefore=2]="TrackBefore",B[B.TrackAfter=3]="TrackAfter",B);class E{constructor(a){this.sections=a}get length(){let a=0;for(let b=0;b<this.sections.length;b+=2)a+=this.sections[b];return a}get newLength(){let a=0;for(let b=0;b<this.sections.length;b+=2){let c=this.sections[b+1];a+=c<0?this.sections[b]:c}return a}get empty(){return 0==this.sections.length||2==this.sections.length&&this.sections[1]<0}iterGaps(a){for(let b=0,c=0,d=0;b<this.sections.length;){let e=this.sections[b++],f=this.sections[b++];f<0?(a(c,d,e),d+=e):d+=f,c+=e}}iterChangedRanges(a,b=!1){I(this,a,b)}get invertedDesc(){let a=[];for(let b=0;b<this.sections.length;){let c=this.sections[b++],d=this.sections[b++];d<0?a.push(c,d):a.push(d,c)}return new E(a)}composeDesc(a){return this.empty?a:a.empty?this:K(this,a)}mapDesc(a,b=!1){return a.empty?this:J(this,a,b)}mapPos(a,b=-1,c=D.Simple){let d=0,e=0;for(let f=0;f<this.sections.length;){let g=this.sections[f++],h=this.sections[f++],i=d+g;if(h<0){if(i>a)return e+(a-d);e+=g}else{if(c!=D.Simple&&i>=a&&(c==D.TrackDel&&d<a&&i>a||c==D.TrackBefore&&d<a||c==D.TrackAfter&&i>a))return null;if(i>a||i==a&&b<0&&!g)return a==d||b<0?e:e+h;e+=h}d=i}if(a>d)throw RangeError(`Position ${a} is out of range for changeset of length ${d}`);return e}touchesRange(a,b=a){for(let c=0,d=0;c<this.sections.length&&d<=b;){let e=this.sections[c++],f=this.sections[c++],g=d+e;if(f>=0&&d<=b&&g>=a)return!(d<a)||!(g>b)||"cover";d=g}return!1}toString(){let a="";for(let b=0;b<this.sections.length;){let c=this.sections[b++],d=this.sections[b++];a+=(a?" ":"")+c+(d>=0?":"+d:"")}return a}toJSON(){return this.sections}static fromJSON(a){if(!Array.isArray(a)||a.length%2||a.some(a=>"number"!=typeof a))throw RangeError("Invalid JSON representation of ChangeDesc");return new E(a)}static create(a){return new E(a)}}class F extends E{constructor(a,b){super(a),this.inserted=b}apply(a){if(this.length!=a.length)throw RangeError("Applying change set to a document with the wrong length");return I(this,(b,c,d,e,f)=>a=a.replace(d,d+(c-b),f),!1),a}mapDesc(a,b=!1){return J(this,a,b,!0)}invert(a){let b=this.sections.slice(),c=[];for(let d=0,e=0;d<b.length;d+=2){let f=b[d],g=b[d+1];if(g>=0){b[d]=g,b[d+1]=f;let h=d>>1;for(;c.length<h;)c.push(n.empty);c.push(f?a.slice(e,e+f):n.empty)}e+=f}return new F(b,c)}compose(a){return this.empty?a:a.empty?this:K(this,a,!0)}map(a,b=!1){return a.empty?this:J(this,a,b,!0)}iterChanges(a,b=!1){I(this,a,b)}get desc(){return E.create(this.sections)}filter(a){let b=[],c=[],d=[],e=new L(this);d:for(let f=0,g=0;;){let h=f==a.length?1e9:a[f++];for(;g<h||g==h&&0==e.len;){if(e.done)break d;let a=Math.min(e.len,h-g);G(d,a,-1);let f=-1==e.ins?-1:0==e.off?e.ins:0;G(b,a,f),f>0&&H(c,b,e.text),e.forward(a),g+=a}let i=a[f++];for(;g<i;){if(e.done)break d;let a=Math.min(e.len,i-g);G(b,a,-1),G(d,a,-1==e.ins?-1:0==e.off?e.ins:0),e.forward(a),g+=a}}return{changes:new F(b,c),filtered:E.create(d)}}toJSON(){let a=[];for(let b=0;b<this.sections.length;b+=2){let c=this.sections[b],d=this.sections[b+1];d<0?a.push(c):0==d?a.push([c]):a.push([c].concat(this.inserted[b>>1].toJSON()))}return a}static of(a,b,c){let d=[],e=[],f=0,g=null;function h(a=!1){if(!a&&!d.length)return;f<b&&G(d,b-f,-1);let c=new F(d,e);g=g?g.compose(c.map(g)):c,d=[],e=[],f=0}return!function a(i){if(Array.isArray(i))for(let b of i)a(b);else if(i instanceof F){if(i.length!=b)throw RangeError(`Mismatched change set length (got ${i.length}, expected ${b})`);h(),g=g?g.compose(i.map(g)):i}else{let{from:a,to:g=a,insert:j}=i;if(a>g||a<0||g>b)throw RangeError(`Invalid change range ${a} to ${g} (in doc of length ${b})`);let k=j?"string"==typeof j?n.of(j.split(c||A)):j:n.empty,l=k.length;if(a==g&&0==l)return;a<f&&h(),a>f&&G(d,a-f,-1),G(d,g-a,l),H(e,d,k),f=g}}(a),h(!g),g}static empty(a){return new F(a?[a,-1]:[],[])}static fromJSON(a){if(!Array.isArray(a))throw RangeError("Invalid JSON representation of ChangeSet");let b=[],c=[];for(let d=0;d<a.length;d++){let e=a[d];if("number"==typeof e)b.push(e,-1);else if(!Array.isArray(e)||"number"!=typeof e[0]||e.some((a,b)=>b&&"string"!=typeof a))throw RangeError("Invalid JSON representation of ChangeSet");else if(1==e.length)b.push(e[0],0);else{for(;c.length<d;)c.push(n.empty);c[d]=n.of(e.slice(1)),b.push(e[0],c[d].length)}}return new F(b,c)}static createSet(a,b){return new F(a,b)}}function G(a,b,c,d=!1){if(0==b&&c<=0)return;let e=a.length-2;e>=0&&c<=0&&c==a[e+1]?a[e]+=b:e>=0&&0==b&&0==a[e]?a[e+1]+=c:d?(a[e]+=b,a[e+1]+=c):a.push(b,c)}function H(a,b,c){if(0==c.length)return;let d=b.length-2>>1;if(d<a.length)a[a.length-1]=a[a.length-1].append(c);else{for(;a.length<d;)a.push(n.empty);a.push(c)}}function I(a,b,c){let d=a.inserted;for(let e=0,f=0,g=0;g<a.sections.length;){let h=a.sections[g++],i=a.sections[g++];if(i<0)e+=h,f+=h;else{let j=e,k=f,l=n.empty;for(;j+=h,k+=i,i&&d&&(l=l.append(d[g-2>>1])),!c&&g!=a.sections.length&&!(a.sections[g+1]<0);)h=a.sections[g++],i=a.sections[g++];b(e,j,f,k,l),e=j,f=k}}}function J(a,b,c,d=!1){let e=[],f=d?[]:null,g=new L(a),h=new L(b);for(let a=-1;;)if(g.done&&h.len||h.done&&g.len)throw Error("Mismatched change set lengths");else if(-1==g.ins&&-1==h.ins){let a=Math.min(g.len,h.len);G(e,a,-1),g.forward(a),h.forward(a)}else if(h.ins>=0&&(g.ins<0||a==g.i||0==g.off&&(h.len<g.len||h.len==g.len&&!c))){let b=h.len;for(G(e,h.ins,-1);b;){let c=Math.min(g.len,b);g.ins>=0&&a<g.i&&g.len<=c&&(G(e,0,g.ins),f&&H(f,e,g.text),a=g.i),g.forward(c),b-=c}h.next()}else if(g.ins>=0){let b=0,c=g.len;for(;c;)if(-1==h.ins){let a=Math.min(c,h.len);b+=a,c-=a,h.forward(a)}else if(0==h.ins&&h.len<c)c-=h.len,h.next();else break;G(e,b,a<g.i?g.ins:0),f&&a<g.i&&H(f,e,g.text),a=g.i,g.forward(g.len-c)}else if(g.done&&h.done)return f?F.createSet(e,f):E.create(e);else throw Error("Mismatched change set lengths")}function K(a,b,c=!1){let d=[],e=c?[]:null,f=new L(a),g=new L(b);for(let a=!1;;)if(f.done&&g.done)return e?F.createSet(d,e):E.create(d);else if(0==f.ins)G(d,f.len,0,a),f.next();else if(0!=g.len||g.done)if(f.done||g.done)throw Error("Mismatched change set lengths");else{let b=Math.min(f.len2,g.len),c=d.length;if(-1==f.ins){let c=-1==g.ins?-1:g.off?0:g.ins;G(d,b,c,a),e&&c&&H(e,d,g.text)}else -1==g.ins?(G(d,f.off?0:f.len,b,a),e&&H(e,d,f.textBit(b))):(G(d,f.off?0:f.len,g.off?0:g.ins,a),e&&!g.off&&H(e,d,g.text));a=(f.ins>b||g.ins>=0&&g.len>b)&&(a||d.length>c),f.forward2(b),g.forward(b)}else G(d,0,g.ins,a),e&&H(e,d,g.text),g.next()}class L{constructor(a){this.set=a,this.i=0,this.next()}next(){let{sections:a}=this.set;this.i<a.length?(this.len=a[this.i++],this.ins=a[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return -2==this.ins}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:a}=this.set,b=this.i-2>>1;return b>=a.length?n.empty:a[b]}textBit(a){let{inserted:b}=this.set,c=this.i-2>>1;return c>=b.length&&!a?n.empty:b[c].slice(this.off,null==a?void 0:this.off+a)}forward(a){a==this.len?this.next():(this.len-=a,this.off+=a)}forward2(a){-1==this.ins?this.forward(a):a==this.ins?this.next():(this.ins-=a,this.off+=a)}}class M{constructor(a,b,c,d){this.from=a,this.to=b,this.flags=c,this.goalColumn=d}get anchor(){return 32&this.flags?this.to:this.from}get head(){return 32&this.flags?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return 8&this.flags?-1:16&this.flags?1:0}get undirectional(){return(64&this.flags)>0}get bidiLevel(){let a=7&this.flags;return 7==a?null:a}map(a,b=-1){let c,d;return this.empty?c=d=a.mapPos(this.from,b):(c=a.mapPos(this.from,1),d=a.mapPos(this.to,-1)),c==this.from&&d==this.to?this:new M(c,d,this.flags,this.goalColumn)}extend(a,b=a,c=0){if(a<=this.anchor&&b>=this.anchor)return N.range(a,b,void 0,void 0,c);let d=Math.abs(a-this.anchor)>Math.abs(b-this.anchor)?a:b;return N.range(this.anchor,d,void 0,void 0,c)}eq(a,b=!1){return this.anchor==a.anchor&&this.head==a.head&&this.goalColumn==a.goalColumn&&(!b||!this.empty||this.assoc==a.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(a){if(!a||"number"!=typeof a.anchor||"number"!=typeof a.head)throw RangeError("Invalid JSON representation for SelectionRange");return N.range(a.anchor,a.head)}static create(a,b,c,d){return new M(a,b,c,d)}}class N{constructor(a,b){this.ranges=a,this.mainIndex=b}map(a,b=-1){return a.empty?this:N.create(this.ranges.map(c=>c.map(a,b)),this.mainIndex)}eq(a,b=!1){if(this.ranges.length!=a.ranges.length||this.mainIndex!=a.mainIndex)return!1;for(let c=0;c<this.ranges.length;c++)if(!this.ranges[c].eq(a.ranges[c],b))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return 1==this.ranges.length?this:new N([this.main],0)}addRange(a,b=!0){return N.create([a].concat(this.ranges),b?0:this.mainIndex+1)}replaceRange(a,b=this.mainIndex){let c=this.ranges.slice();return c[b]=a,N.create(c,this.mainIndex)}toJSON(){return{ranges:this.ranges.map(a=>a.toJSON()),main:this.mainIndex}}static fromJSON(a){if(!a||!Array.isArray(a.ranges)||"number"!=typeof a.main||a.main>=a.ranges.length)throw RangeError("Invalid JSON representation for EditorSelection");return new N(a.ranges.map(a=>M.fromJSON(a)),a.main)}static single(a,b=a){return new N([N.range(a,b)],0)}static create(a,b=0){if(0==a.length)throw RangeError("A selection needs at least one range");for(let c=0,d=0;d<a.length;d++){let e=a[d];if(e.empty?e.from<=c:e.from<c)return N.normalized(a.slice(),b);c=e.to}return new N(a,b)}static cursor(a,b=0,c,d){return M.create(a,a,(0==b?0:b<0?8:16)|(null==c?7:Math.min(6,c)),d)}static range(a,b,c,d,e){let f=null==d?7:Math.min(6,d);return e||a==b||(e=b<a?1:-1),e&&(f|=e<0?8:16),b<a?M.create(b,a,32|f,c):M.create(a,b,f,c)}static undirectionalRange(a,b){return M.create(a,b,64,void 0)}static normalized(a,b=0){let c=a[b];a.sort((a,b)=>a.from-b.from),b=a.indexOf(c);for(let c=1;c<a.length;c++){let d=a[c],e=a[c-1];if(d.empty?d.from<=e.to:d.from<e.to){let f=e.from,g=Math.max(d.to,e.to);c<=b&&b--,a.splice(--c,2,d.anchor>d.head?N.range(g,f):N.range(f,g))}}return new N(a,b)}}function O(a,b){for(let c of a.ranges)if(c.to>b)throw RangeError("Selection points outside of document")}let P=0;class Q{constructor(a,b,c,d,e){this.combine=a,this.compareInput=b,this.compare=c,this.isStatic=d,this.id=P++,this.default=a([]),this.extensions="function"==typeof e?e(this):e}get reader(){return this}static define(a={}){return new Q(a.combine||(a=>a),a.compareInput||((a,b)=>a===b),a.compare||(!a.combine?R:(a,b)=>a===b),!!a.static,a.enables)}of(a){return new S([],this,0,a)}compute(a,b){if(this.isStatic)throw Error("Can't compute a static facet");return new S(a,this,1,b)}computeN(a,b){if(this.isStatic)throw Error("Can't compute a static facet");return new S(a,this,2,b)}from(a,b){return b||(b=a=>a),this.compute([a],c=>b(c.field(a)))}}function R(a,b){return a==b||a.length==b.length&&a.every((a,c)=>a===b[c])}class S{constructor(a,b,c,d){this.dependencies=a,this.facet=b,this.type=c,this.value=d,this.id=P++}dynamicSlot(a){var b;let c=this.value,d=this.facet.compareInput,e=this.id,f=a[e]>>1,g=2==this.type,h=!1,i=!1,j=[];for(let c of this.dependencies)"doc"==c?h=!0:"selection"==c?i=!0:((null!=(b=a[c.id])?b:1)&1)==0&&j.push(a[c.id]);return{create:a=>(a.values[f]=c(a),1),update(a,b){if(h&&b.docChanged||i&&(b.docChanged||b.selection)||U(a,j)){let b=c(a);if(g?!T(b,a.values[f],d):!d(b,a.values[f]))return a.values[f]=b,1}return 0},reconfigure:(a,b)=>{let h,i=b.config.address[e];if(null!=i){let e=ac(b,i);if(this.dependencies.every(c=>c instanceof Q?b.facet(c)===a.facet(c):!(c instanceof W)||b.field(c,!1)==a.field(c,!1))||(g?T(h=c(a),e,d):d(h=c(a),e)))return a.values[f]=e,0}else h=c(a);return a.values[f]=h,1}}}}function T(a,b,c){if(a.length!=b.length)return!1;for(let d=0;d<a.length;d++)if(!c(a[d],b[d]))return!1;return!0}function U(a,b){let c=!1;for(let d of b)1&ab(a,d)&&(c=!0);return c}let V=Q.define({static:!0});class W{constructor(a,b,c,d,e){this.id=a,this.createF=b,this.updateF=c,this.compareF=d,this.spec=e,this.provides=void 0}static define(a){let b=new W(P++,a.create,a.update,a.compare||((a,b)=>a===b),a);return a.provide&&(b.provides=a.provide(b)),b}create(a){let b=a.facet(V).find(a=>a.field==this);return((null==b?void 0:b.create)||this.createF)(a)}slot(a){let b=a[this.id]>>1;return{create:a=>(a.values[b]=this.create(a),1),update:(a,c)=>{let d=a.values[b],e=this.updateF(d,c);return this.compareF(d,e)?0:(a.values[b]=e,1)},reconfigure:(a,c)=>{let d=a.facet(V),e=c.facet(V),f;return(f=d.find(a=>a.field==this))&&f!=e.find(a=>a.field==this)?(a.values[b]=f.create(a),1):null!=c.config.address[this.id]?(a.values[b]=c.field(this),0):(a.values[b]=this.create(a),1)}}}init(a){return[this,V.of({field:this,create:a})]}get extension(){return this}}function X(a){return b=>new Z(b,a)}let Y={highest:X(0),high:X(1),default:X(2),low:X(3),lowest:X(4)};class Z{constructor(a,b){this.inner=a,this.prec=b}}class ${of(a){return new _(this,a)}reconfigure(a){return $.reconfigure.of({compartment:this,extension:a})}get(a){return a.config.compartments.get(this)}}class _{constructor(a,b){this.compartment=a,this.inner=b}}class aa{constructor(a,b,c,d,e,f){for(this.base=a,this.compartments=b,this.dynamicSlots=c,this.address=d,this.staticValues=e,this.facets=f,this.statusTemplate=[];this.statusTemplate.length<c.length;)this.statusTemplate.push(0)}staticFacet(a){let b=this.address[a.id];return null==b?a.default:this.staticValues[b>>1]}static resolve(a,b,c){var d,e,f;let g,h,i=[],j=Object.create(null),k=new Map;for(let c of(d=a,e=b,f=k,g=[[],[],[],[],[]],h=new Map,!function a(b,c){let d=h.get(b);if(null!=d){if(d<=c)return;let a=g[d].indexOf(b);a>-1&&g[d].splice(a,1),b instanceof _&&f.delete(b.compartment)}if(h.set(b,c),Array.isArray(b))for(let d of b)a(d,c);else if(b instanceof _){if(f.has(b.compartment))throw RangeError("Duplicate use of compartment in extensions");let d=e.get(b.compartment)||b.inner;f.set(b.compartment,d),a(d,c)}else if(b instanceof Z)a(b.inner,b.prec);else if(b instanceof W)g[c].push(b),b.provides&&a(b.provides,c);else if(b instanceof S)g[c].push(b),b.facet.extensions&&a(b.facet.extensions,2);else{let d=b.extension;if(!d)throw Error(`Unrecognized extension value in extension set (${b}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);a(d,c)}}(d,2),g.reduce((a,b)=>a.concat(b))))c instanceof W?i.push(c):(j[c.facet.id]||(j[c.facet.id]=[])).push(c);let l=Object.create(null),m=[],n=[];for(let a of i)l[a.id]=n.length<<1,n.push(b=>a.slot(b));let o=null==c?void 0:c.config.facets;for(let a in j){let b=j[a],d=b[0].facet,e=o&&o[a]||[];if(b.every(a=>0==a.type))if(l[d.id]=m.length<<1|1,R(e,b))m.push(c.facet(d));else{let a=d.combine(b.map(a=>a.value));m.push(c&&d.compare(a,c.facet(d))?c.facet(d):a)}else{for(let a of b)0==a.type?(l[a.id]=m.length<<1|1,m.push(a.value)):(l[a.id]=n.length<<1,n.push(b=>a.dynamicSlot(b)));l[d.id]=n.length<<1,n.push(a=>(function(a,b,c){let d=c.map(b=>a[b.id]),e=c.map(a=>a.type),f=d.filter(a=>!(1&a)),g=a[b.id]>>1;function h(a){let c=[];for(let b=0;b<d.length;b++){let f=ac(a,d[b]);if(2==e[b])for(let a of f)c.push(a);else c.push(f)}return b.combine(c)}return{create(a){for(let b of d)ab(a,b);return a.values[g]=h(a),1},update(a,c){if(!U(a,f))return 0;let d=h(a);return b.compare(d,a.values[g])?0:(a.values[g]=d,1)},reconfigure(a,e){let f=U(a,d),i=e.config.facets[b.id],j=e.facet(b);if(i&&!f&&R(c,i))return a.values[g]=j,0;let k=h(a);return b.compare(k,j)?(a.values[g]=j,0):(a.values[g]=k,1)}}})(a,d,b))}}return new aa(a,k,n.map(a=>a(l)),l,m,j)}}function ab(a,b){if(1&b)return 2;let c=b>>1,d=a.status[c];if(4==d)throw Error("Cyclic dependency between fields and/or facets");if(2&d)return d;a.status[c]=4;let e=a.computeSlot(a,a.config.dynamicSlots[c]);return a.status[c]=2|e}function ac(a,b){return 1&b?a.config.staticValues[b>>1]:a.values[b>>1]}let ad=Q.define(),ae=Q.define({combine:a=>a.some(a=>a),static:!0}),af=Q.define({combine:a=>a.length?a[0]:void 0,static:!0}),ag=Q.define(),ah=Q.define(),ai=Q.define(),aj=Q.define({combine:a=>!!a.length&&a[0]});class ak{constructor(a,b){this.type=a,this.value=b}static define(){return new al}}class al{of(a){return new ak(this,a)}}class am{constructor(a){this.map=a}of(a){return new an(this,a)}}class an{constructor(a,b){this.type=a,this.value=b}map(a){let b=this.type.map(this.value,a);return void 0===b?void 0:b==this.value?this:new an(this.type,b)}is(a){return this.type==a}static define(a={}){return new am(a.map||(a=>a))}static mapEffects(a,b){if(!a.length)return a;let c=[];for(let d of a){let a=d.map(b);a&&c.push(a)}return c}}an.reconfigure=an.define(),an.appendConfig=an.define();class ao{constructor(a,b,c,d,e,f){this.startState=a,this.changes=b,this.selection=c,this.effects=d,this.annotations=e,this.scrollIntoView=f,this._doc=null,this._state=null,c&&O(c,b.newLength),e.some(a=>a.type==ao.time)||(this.annotations=e.concat(ao.time.of(Date.now())))}static create(a,b,c,d,e,f){return new ao(a,b,c,d,e,f)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(a){for(let b of this.annotations)if(b.type==a)return b.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(a){let b=this.annotation(ao.userEvent);return!!(b&&(b==a||b.length>a.length&&b.slice(0,a.length)==a&&"."==b[a.length]))}}function ap(a,b,c){var d;let e,f,g;return c?(e=b.changes,f=F.empty(b.changes.length),g=a.changes.compose(b.changes)):(e=b.changes.map(a.changes),f=a.changes.mapDesc(b.changes,!0),g=a.changes.compose(e)),{changes:g,selection:b.selection?b.selection.map(f):null==(d=a.selection)?void 0:d.map(e),effects:an.mapEffects(a.effects,e).concat(an.mapEffects(b.effects,f)),annotations:a.annotations.length?a.annotations.concat(b.annotations):b.annotations,scrollIntoView:a.scrollIntoView||b.scrollIntoView}}function aq(a,b,c){let d=b.selection,e=as(b.annotations);return b.userEvent&&(e=e.concat(ao.userEvent.of(b.userEvent))),{changes:b.changes instanceof F?b.changes:F.of(b.changes||[],c,a.facet(af)),selection:d&&(d instanceof N?d:N.single(d.anchor,d.head)),effects:as(b.effects),annotations:e,scrollIntoView:!!b.scrollIntoView}}ao.time=ak.define(),ao.userEvent=ak.define(),ao.addToHistory=ak.define(),ao.remote=ak.define();let ar=[];function as(a){return null==a?ar:Array.isArray(a)?a:[a]}var at=((C=at||(at={}))[C.Word=0]="Word",C[C.Space=1]="Space",C[C.Other=2]="Other",C);let au=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;try{d=RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch(a){}class av{constructor(a,b,c,d,e,f){this.config=a,this.doc=b,this.selection=c,this.values=d,this.status=a.statusTemplate.slice(),this.computeSlot=e,f&&(f._state=this);for(let a=0;a<this.config.dynamicSlots.length;a++)ab(this,a<<1);this.computeSlot=null}field(a,b=!0){let c=this.config.address[a.id];if(null==c){if(b)throw RangeError("Field is not present in this state");return}return ab(this,c),ac(this,c)}update(...a){return function a(b,c,d){let e=aq(b,c.length?c[0]:{},b.doc.length);c.length&&!1===c[0].filter&&(d=!1);for(let a=1;a<c.length;a++){!1===c[a].filter&&(d=!1);let f=!!c[a].sequential;e=ap(e,aq(b,c[a],f?e.changes.newLength:b.doc.length),f)}let f=ao.create(b,e.changes,e.selection,e.effects,e.annotations,e.scrollIntoView);return function(a){let b=a.startState,c=b.facet(ai),d=a;for(let e=c.length-1;e>=0;e--){let f=c[e](a);f&&Object.keys(f).length&&(d=ap(d,aq(b,f,a.changes.newLength),!0))}return d==a?a:ao.create(b,a.changes,a.selection,d.effects,d.annotations,d.scrollIntoView)}(d?function(b){let c=b.startState,d=!0;for(let a of c.facet(ag)){let c=a(b);if(!1===c){d=!1;break}Array.isArray(c)&&(d=!0===d?c:function(a,b){let c=[];for(let d=0,e=0;;){let f,g;if(d<a.length&&(e==b.length||b[e]>=a[d]))f=a[d++],g=a[d++];else{if(!(e<b.length))return c;f=b[e++],g=b[e++]}!c.length||c[c.length-1]<f?c.push(f,g):c[c.length-1]<g&&(c[c.length-1]=g)}}(d,c))}if(!0!==d){let a,e;if(!1===d)e=b.changes.invertedDesc,a=F.empty(c.doc.length);else{let c=b.changes.filter(d);a=c.changes,e=c.filtered.mapDesc(c.changes).invertedDesc}b=ao.create(c,a,b.selection&&b.selection.map(e),an.mapEffects(b.effects,e),b.annotations,b.scrollIntoView)}let e=c.facet(ah);for(let d=e.length-1;d>=0;d--){let f=e[d](b);b=f instanceof ao?f:Array.isArray(f)&&1==f.length&&f[0]instanceof ao?f[0]:a(c,as(f),!1)}return b}(f):f)}(this,a,!0)}applyTransaction(a){let b,c=this.config,{base:d,compartments:e}=c;for(let b of a.effects)b.is($.reconfigure)?(c&&(e=new Map,c.compartments.forEach((a,b)=>e.set(b,a)),c=null),e.set(b.value.compartment,b.value.extension)):b.is(an.reconfigure)?(c=null,d=b.value):b.is(an.appendConfig)&&(c=null,d=as(d).concat(b.value));b=c?a.startState.values.slice():new av(c=aa.resolve(d,e,this),this.doc,this.selection,c.dynamicSlots.map(()=>null),(a,b)=>b.reconfigure(a,this),null).values;let f=a.startState.facet(ae)?a.newSelection:a.newSelection.asSingle();new av(c,a.newDoc,f,b,(b,c)=>c.update(b,a),a)}replaceSelection(a){return"string"==typeof a&&(a=this.toText(a)),this.changeByRange(b=>({changes:{from:b.from,to:b.to,insert:a},range:N.cursor(b.from+a.length)}))}changeByRange(a){let b=this.selection,c=a(b.ranges[0]),d=this.changes(c.changes),e=[c.range],f=as(c.effects);for(let c=1;c<b.ranges.length;c++){let g=a(b.ranges[c]),h=this.changes(g.changes),i=h.map(d);for(let a=0;a<c;a++)e[a]=e[a].map(i);let j=d.mapDesc(h,!0);e.push(g.range.map(j)),d=d.compose(i),f=an.mapEffects(f,i).concat(an.mapEffects(as(g.effects),j))}return{changes:d,selection:N.create(e,b.mainIndex),effects:f}}changes(a=[]){return a instanceof F?a:F.of(a,this.doc.length,this.facet(av.lineSeparator))}toText(a){return n.of(a.split(this.facet(av.lineSeparator)||A))}sliceDoc(a=0,b=this.doc.length){return this.doc.sliceString(a,b,this.lineBreak)}facet(a){let b=this.config.address[a.id];return null==b?a.default:(ab(this,b),ac(this,b))}toJSON(a){let b={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(a)for(let c in a){let d=a[c];d instanceof W&&null!=this.config.address[d.id]&&(b[c]=d.spec.toJSON(this.field(a[c]),this))}return b}static fromJSON(a,b={},c){if(!a||"string"!=typeof a.doc)throw RangeError("Invalid JSON representation for EditorState");let d=[];if(c){for(let b in c)if(Object.prototype.hasOwnProperty.call(a,b)){let e=c[b],f=a[b];d.push(e.init(a=>e.spec.fromJSON(f,a)))}}return av.create({doc:a.doc,selection:N.fromJSON(a.selection),extensions:b.extensions?d.concat([b.extensions]):d})}static create(a={}){let b=aa.resolve(a.extensions||[],new Map),c=a.doc instanceof n?a.doc:n.of((a.doc||"").split(b.staticFacet(av.lineSeparator)||A)),d=a.selection?a.selection instanceof N?a.selection:N.single(a.selection.anchor,a.selection.head):N.single(0);return O(d,c.length),b.staticFacet(ae)||(d=d.asSingle()),new av(b,c,d,b.dynamicSlots.map(()=>null),(a,b)=>b.create(a),null)}get tabSize(){return this.facet(av.tabSize)}get lineBreak(){return this.facet(av.lineSeparator)||"\n"}get readOnly(){return this.facet(aj)}phrase(a,...b){for(let b of this.facet(av.phrases))if(Object.prototype.hasOwnProperty.call(b,a)){a=b[a];break}return b.length&&(a=a.replace(/\$(\$|\d*)/g,(a,c)=>{if("$"==c)return"$";let d=+(c||1);return!d||d>b.length?a:b[d-1]})),a}languageDataAt(a,b,c=-1){let d=[];for(let e of this.facet(ad))for(let f of e(this,b,c))Object.prototype.hasOwnProperty.call(f,a)&&d.push(f[a]);return d}charCategorizer(a){var b;let c=this.languageDataAt("wordChars",a);return b=c.length?c[0]:"",a=>{if(!/\S/.test(a))return at.Space;if(function(a){if(d)return d.test(a);for(let b=0;b<a.length;b++){let c=a[b];if(/\w/.test(c)||c>"\x80"&&(c.toUpperCase()!=c.toLowerCase()||au.test(c)))return!0}return!1}(a))return at.Word;for(let c=0;c<b.length;c++)if(a.indexOf(b[c])>-1)return at.Word;return at.Other}}wordAt(a){let{text:b,from:c,length:d}=this.doc.lineAt(a),e=this.charCategorizer(a),f=a-c,g=a-c;for(;f>0;){let a=w(b,f,!1);if(e(b.slice(a,f))!=at.Word)break;f=a}for(;g<d;){let a=w(b,g);if(e(b.slice(g,a))!=at.Word)break;g=a}return f==g?null:N.range(f+c,g+c)}}function aw(a,b,c={}){let d={};for(let b of a)for(let a of Object.keys(b)){let e=b[a],f=d[a];if(void 0===f)d[a]=e;else if(f===e||void 0===e);else if(Object.hasOwnProperty.call(c,a))d[a]=c[a](f,e);else throw Error("Config merge conflict for field "+a)}for(let a in b)void 0===d[a]&&(d[a]=b[a]);return d}av.allowMultipleSelections=ae,av.tabSize=Q.define({combine:a=>a.length?a[0]:4}),av.lineSeparator=af,av.readOnly=aj,av.phrases=Q.define({compare(a,b){let c=Object.keys(a),d=Object.keys(b);return c.length==d.length&&c.every(c=>a[c]==b[c])}}),av.languageData=ad,av.changeFilter=ag,av.transactionFilter=ah,av.transactionExtender=ai,$.reconfigure=an.define();class ax{eq(a){return this==a}range(a,b=a){return az.create(a,b,this)}}function ay(a,b){return a==b||a.constructor==b.constructor&&a.eq(b)}ax.prototype.startSide=ax.prototype.endSide=0,ax.prototype.point=!1,ax.prototype.mapMode=D.TrackDel;class az{constructor(a,b,c){this.from=a,this.to=b,this.value=c}static create(a,b,c){return new az(a,b,c)}}function aA(a,b){return a.from-b.from||a.value.startSide-b.value.startSide}class aB{constructor(a,b,c,d){this.from=a,this.to=b,this.value=c,this.maxPoint=d}get length(){return this.to[this.to.length-1]}findIndex(a,b,c,d=0){let e=c?this.to:this.from;for(let f=d,g=e.length;;){if(f==g)return f;let d=f+g>>1,h=e[d]-a||(c?this.value[d].endSide:this.value[d].startSide)-b;if(d==f)return h>=0?f:g;h>=0?g=d:f=d+1}}between(a,b,c,d){for(let e=this.findIndex(b,-1e9,!0),f=this.findIndex(c,1e9,!1,e);e<f;e++)if(!1===d(this.from[e]+a,this.to[e]+a,this.value[e]))return!1}map(a,b){let c=[],d=[],e=[],f=-1,g=-1;for(let h=0;h<this.value.length;h++){let i=this.value[h],j=this.from[h]+a,k=this.to[h]+a,l,m;if(j==k){let a=b.mapPos(j,i.startSide,i.mapMode);if(null==a||(l=m=a,i.startSide!=i.endSide&&(m=b.mapPos(j,i.endSide))<l))continue}else if((l=b.mapPos(j,i.startSide))>(m=b.mapPos(k,i.endSide))||l==m&&i.startSide>0&&i.endSide<=0)continue;0>(m-l||i.endSide-i.startSide)||(f<0&&(f=l),i.point&&(g=Math.max(g,m-l)),c.push(i),d.push(l-f),e.push(m-f))}return{mapped:c.length?new aB(d,e,c,g):null,pos:f}}}class aC{constructor(a,b,c,d){this.chunkPos=a,this.chunk=b,this.nextLayer=c,this.maxPoint=d}static create(a,b,c,d){return new aC(a,b,c,d)}get length(){let a=this.chunk.length-1;return a<0?0:Math.max(this.chunkEnd(a),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let a=this.nextLayer.size;for(let b of this.chunk)a+=b.value.length;return a}chunkEnd(a){return this.chunkPos[a]+this.chunk[a].length}update(a){let{add:b=[],sort:c=!1,filterFrom:d=0,filterTo:e=this.length}=a,f=a.filter;if(0==b.length&&!f)return this;if(c&&(b=b.slice().sort(aA)),this.isEmpty)return b.length?aC.of(b):this;let g=new aF(this,null,-1).goto(0),h=0,i=[],j=new aD;for(;g.value||h<b.length;)if(h<b.length&&(g.from-b[h].from||g.startSide-b[h].value.startSide)>=0){let a=b[h++];j.addInner(a.from,a.to,a.value)||i.push(a)}else 1==g.rangeIndex&&g.chunkIndex<this.chunk.length&&(h==b.length||this.chunkEnd(g.chunkIndex)<b[h].from)&&(!f||d>this.chunkEnd(g.chunkIndex)||e<this.chunkPos[g.chunkIndex])&&j.addChunk(this.chunkPos[g.chunkIndex],this.chunk[g.chunkIndex])?g.nextChunk():((!f||d>g.to||e<g.from||f(g.from,g.to,g.value))&&!j.addInner(g.from,g.to,g.value)&&i.push(az.create(g.from,g.to,g.value)),g.next());return j.finishInner(this.nextLayer.isEmpty&&!i.length?aC.empty:this.nextLayer.update({add:i,filter:f,filterFrom:d,filterTo:e}))}map(a){if(a.empty||this.isEmpty)return this;let b=[],c=[],d=-1;for(let e=0;e<this.chunk.length;e++){let f=this.chunkPos[e],g=this.chunk[e],h=a.touchesRange(f,f+g.length);if(!1===h)d=Math.max(d,g.maxPoint),b.push(g),c.push(a.mapPos(f));else if(!0===h){let{mapped:e,pos:h}=g.map(f,a);e&&(d=Math.max(d,e.maxPoint),b.push(e),c.push(h))}}let e=this.nextLayer.map(a);return 0==b.length?e:new aC(c,b,e||aC.empty,d)}between(a,b,c){if(!this.isEmpty){for(let d=0;d<this.chunk.length;d++){let e=this.chunkPos[d],f=this.chunk[d];if(b>=e&&a<=e+f.length&&!1===f.between(e,a-e,b-e,c))return}this.nextLayer.between(a,b,c)}}iter(a=0){return aG.from([this]).goto(a)}get isEmpty(){return this.nextLayer==this}static iter(a,b=0){return aG.from(a).goto(b)}static compare(a,b,c,d,e=-1){let f=a.filter(a=>a.maxPoint>0||!a.isEmpty&&a.maxPoint>=e),g=b.filter(a=>a.maxPoint>0||!a.isEmpty&&a.maxPoint>=e),h=aE(f,g,c),i=new aI(f,h,e),j=new aI(g,h,e);c.iterGaps((a,b,c)=>aJ(i,a,j,b,c,d)),c.empty&&0==c.length&&aJ(i,0,j,0,0,d)}static eq(a,b,c=0,d){null==d&&(d=1e9-1);let e=a.filter(a=>!a.isEmpty&&0>b.indexOf(a)),f=b.filter(b=>!b.isEmpty&&0>a.indexOf(b));if(e.length!=f.length)return!1;if(!e.length)return!0;let g=aE(e,f),h=new aI(e,g,0).goto(c),i=new aI(f,g,0).goto(c);for(;;){if(h.to!=i.to||!aK(h.active,i.active)||h.point&&(!i.point||!ay(h.point,i.point)))return!1;if(h.to>d)return!0;h.next(),i.next()}}static spans(a,b,c,d,e=-1){let f=new aI(a,null,e).goto(b),g=b,h=f.openStart;for(;;){let a=Math.min(f.to,c);if(f.point){let c=f.activeForPoint(f.to),e=f.pointFrom<b?c.length+1:f.point.startSide<0?c.length:Math.min(c.length,h);d.point(g,a,f.point,c,e,f.pointRank),h=Math.min(f.openEnd(a),c.length)}else a>g&&(d.span(g,a,f.active,h),h=f.openEnd(a));if(f.to>c)return h+(f.point&&f.to>c?1:0);g=f.to,f.next()}}static of(a,b=!1){let c=new aD;for(let d of a instanceof az?[a]:b?function(a){if(a.length>1)for(let b=a[0],c=1;c<a.length;c++){let d=a[c];if(aA(b,d)>0)return a.slice().sort(aA);b=d}return a}(a):a)c.add(d.from,d.to,d.value);return c.finish()}static join(a){if(!a.length)return aC.empty;let b=a[a.length-1];for(let c=a.length-2;c>=0;c--)for(let d=a[c];d!=aC.empty;d=d.nextLayer)b=new aC(d.chunkPos,d.chunk,b,Math.max(d.maxPoint,b.maxPoint));return b}}aC.empty=new aC([],[],null,-1),aC.empty.nextLayer=aC.empty;class aD{finishChunk(a){this.chunks.push(new aB(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,a&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(a,b,c){this.addInner(a,b,c)||(this.nextLayer||(this.nextLayer=new aD)).add(a,b,c)}addInner(a,b,c){let d=a-this.lastTo||c.startSide-this.last.endSide;if(d<=0&&0>(a-this.lastFrom||c.startSide-this.last.startSide))throw Error("Ranges must be added sorted by `from` position and `startSide`");return!(d<0)&&(250==this.from.length&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=a),this.from.push(a-this.chunkStart),this.to.push(b-this.chunkStart),this.last=c,this.lastFrom=a,this.lastTo=b,this.value.push(c),c.point&&(this.maxPoint=Math.max(this.maxPoint,b-a)),!0)}addChunk(a,b){if(0>(a-this.lastTo||b.value[0].startSide-this.last.endSide))return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,b.maxPoint),this.chunks.push(b),this.chunkPos.push(a);let c=b.value.length-1;return this.last=b.value[c],this.lastFrom=b.from[c]+a,this.lastTo=b.to[c]+a,!0}finish(){return this.finishInner(aC.empty)}finishInner(a){if(this.from.length&&this.finishChunk(!1),0==this.chunks.length)return a;let b=aC.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(a):a,this.setMaxPoint);return this.from=null,b}}function aE(a,b,c){let d=new Map;for(let b of a)for(let a=0;a<b.chunk.length;a++)b.chunk[a].maxPoint<=0&&d.set(b.chunk[a],b.chunkPos[a]);let e=new Set;for(let a of b)for(let b=0;b<a.chunk.length;b++){let f=d.get(a.chunk[b]);null==f||(c?c.mapPos(f):f)!=a.chunkPos[b]||(null==c?void 0:c.touchesRange(f,f+a.chunk[b].length))||e.add(a.chunk[b])}return e}class aF{constructor(a,b,c,d=0){this.layer=a,this.skip=b,this.minPoint=c,this.rank=d}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(a,b=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(a,b,!1),this}gotoInner(a,b,c){for(;this.chunkIndex<this.layer.chunk.length;){let b=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(b)||this.layer.chunkEnd(this.chunkIndex)<a||b.maxPoint<this.minPoint))break;this.chunkIndex++,c=!1}if(this.chunkIndex<this.layer.chunk.length){let d=this.layer.chunk[this.chunkIndex].findIndex(a-this.layer.chunkPos[this.chunkIndex],b,!0);(!c||this.rangeIndex<d)&&this.setRangeIndex(d)}this.next()}forward(a,b){0>(this.to-a||this.endSide-b)&&this.gotoInner(a,b,!0)}next(){for(;;)if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}else{let a=this.layer.chunkPos[this.chunkIndex],b=this.layer.chunk[this.chunkIndex],c=a+b.from[this.rangeIndex];if(this.from=c,this.to=a+b.to[this.rangeIndex],this.value=b.value[this.rangeIndex],this.setRangeIndex(this.rangeIndex+1),this.minPoint<0||this.value.point&&this.to-this.from>=this.minPoint)break}}setRangeIndex(a){if(a==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex<this.layer.chunk.length&&this.skip.has(this.layer.chunk[this.chunkIndex]);)this.chunkIndex++;this.rangeIndex=0}else this.rangeIndex=a}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(a){return this.from-a.from||this.startSide-a.startSide||this.rank-a.rank||this.to-a.to||this.endSide-a.endSide}}class aG{constructor(a){this.heap=a}static from(a,b=null,c=-1){let d=[];for(let e=0;e<a.length;e++)for(let f=a[e];!f.isEmpty;f=f.nextLayer)f.maxPoint>=c&&d.push(new aF(f,b,c,e));return 1==d.length?d[0]:new aG(d)}get startSide(){return this.value?this.value.startSide:0}goto(a,b=-1e9){for(let c of this.heap)c.goto(a,b);for(let a=this.heap.length>>1;a>=0;a--)aH(this.heap,a);return this.next(),this}forward(a,b){for(let c of this.heap)c.forward(a,b);for(let a=this.heap.length>>1;a>=0;a--)aH(this.heap,a);0>(this.to-a||this.value.endSide-b)&&this.next()}next(){if(0==this.heap.length)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let a=this.heap[0];this.from=a.from,this.to=a.to,this.value=a.value,this.rank=a.rank,a.value&&a.next(),aH(this.heap,0)}}}function aH(a,b){for(let c=a[b];;){let d=(b<<1)+1;if(d>=a.length)break;let e=a[d];if(d+1<a.length&&e.compare(a[d+1])>=0&&(e=a[d+1],d++),0>c.compare(e))break;a[d]=c,a[b]=e,b=d}}class aI{constructor(a,b,c){this.minPoint=c,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=aG.from(a,b,c)}goto(a,b=-1e9){return this.cursor.goto(a,b),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=a,this.endSide=b,this.openStart=-1,this.next(),this}forward(a,b){for(;this.minActive>-1&&0>(this.activeTo[this.minActive]-a||this.active[this.minActive].endSide-b);)this.removeActive(this.minActive);this.cursor.forward(a,b)}removeActive(a){aL(this.active,a),aL(this.activeTo,a),aL(this.activeRank,a),this.minActive=aN(this.active,this.activeTo)}addActive(a){let b=0,{value:c,to:d,rank:e}=this.cursor;for(;b<this.activeRank.length&&(e-this.activeRank[b]||d-this.activeTo[b])>0;)b++;aM(this.active,b,c),aM(this.activeTo,b,d),aM(this.activeRank,b,e),a&&aM(a,b,this.cursor.from),this.minActive=aN(this.active,this.activeTo)}next(){let a=this.to,b=this.point;this.point=null;let c=this.openStart<0?[]:null;for(;;){let d=this.minActive;if(d>-1&&0>(this.activeTo[d]-this.cursor.from||this.active[d].endSide-this.cursor.startSide)){if(this.activeTo[d]>a){this.to=this.activeTo[d],this.endSide=this.active[d].endSide;break}this.removeActive(d),c&&aL(c,d)}else if(this.cursor.value)if(this.cursor.from>a){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let a=this.cursor.value;if(a.point)if(b&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to)this.cursor.next();else{this.point=a,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=a.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}else this.addActive(c),this.cursor.next()}else{this.to=this.endSide=1e9;break}}if(c){this.openStart=0;for(let b=c.length-1;b>=0&&c[b]<a;b--)this.openStart++}}activeForPoint(a){if(!this.active.length)return this.active;let b=[];for(let c=this.active.length-1;c>=0&&!(this.activeRank[c]<this.pointRank);c--)(this.activeTo[c]>a||this.activeTo[c]==a&&this.active[c].endSide>=this.point.endSide)&&b.push(this.active[c]);return b.reverse()}openEnd(a){let b=0;for(let c=this.activeTo.length-1;c>=0&&this.activeTo[c]>a;c--)b++;return b}}function aJ(a,b,c,d,e,f){a.goto(b),c.goto(d);let g=d+e,h=d,i=d-b,j=!!f.boundChange;for(let b=!1;;){let d=a.to+i-c.to,e=d||a.endSide-c.endSide,k=e<0?a.to+i:c.to,l=Math.min(k,g);if(a.point||c.point?(a.point&&c.point&&ay(a.point,c.point)&&aK(a.activeForPoint(a.to),c.activeForPoint(c.to))||f.comparePoint(h,l,a.point,c.point),b=!1):(b&&f.boundChange(h),l>h&&!aK(a.active,c.active)&&f.compareRange(h,l,a.active,c.active),j&&l<g&&(d||a.openEnd(k)!=c.openEnd(k))&&(b=!0)),k>g)break;h=k,e<=0&&a.next(),e>=0&&c.next()}}function aK(a,b){if(a.length!=b.length)return!1;for(let c=0;c<a.length;c++)if(a[c]!=b[c]&&!ay(a[c],b[c]))return!1;return!0}function aL(a,b){for(let c=b,d=a.length-1;c<d;c++)a[c]=a[c+1];a.pop()}function aM(a,b,c){for(let c=a.length-1;c>=b;c--)a[c+1]=a[c];a[b]=c}function aN(a,b){let c=-1,d=1e9;for(let e=0;e<b.length;e++)0>(b[e]-d||a[e].endSide-a[c].endSide)&&(c=e,d=b[e]);return c}function aO(a,b,c=a.length){let d=0;for(let e=0;e<c&&e<a.length;)9==a.charCodeAt(e)?(d+=b-d%b,e++):(d++,e=w(a,e));return d}function aP(a,b,c,d){for(let d=0,e=0;;){if(e>=b)return d;if(d==a.length)break;e+=9==a.charCodeAt(d)?c-e%c:1,d=w(a,d)}return!0===d?-1:a.length}},60230:(a,b,c)=>{function d(){var a=arguments[0];"string"==typeof a&&(a=document.createElement(a));var b=1,c=arguments[1];if(c&&"object"==typeof c&&null==c.nodeType&&!Array.isArray(c)){for(var d in c)if(Object.prototype.hasOwnProperty.call(c,d)){var e=c[d];"string"==typeof e?a.setAttribute(d,e):null!=e&&(a[d]=e)}b++}for(;b<arguments.length;b++)!function a(b,c){if("string"==typeof c)b.appendChild(document.createTextNode(c));else if(null==c);else if(null!=c.nodeType)b.appendChild(c);else if(Array.isArray(c))for(var d=0;d<c.length;d++)a(b,c[d]);else throw RangeError("Unsupported child node: "+c)}(a,arguments[b]);return a}c.d(b,{A:()=>d})},64735:(a,b,c)=>{c.d(b,{G:()=>g});let d="u"<typeof Symbol?"__ͼ":Symbol.for("ͼ"),e="u"<typeof Symbol?"__styleSet"+Math.floor(1e8*Math.random()):Symbol("styleSet"),f="u">typeof globalThis?globalThis:"u">typeof window?window:{};class g{constructor(a,b){this.rules=[];let{finish:c}=b||{};function d(a){return/^@/.test(a)?[a]:a.split(/,\s*/)}for(let b in a)!function a(b,e,f,g){let h=[],i=/^@(\w+)\b/.exec(b[0]),j=i&&"keyframes"==i[1];if(i&&null==e)return f.push(b[0]+";");for(let c in e){let g=e[c];if(/&/.test(c))a(c.split(/,\s*/).map(a=>b.map(b=>a.replace(/&/,b))).reduce((a,b)=>a.concat(b)),g,f);else if(g&&"object"==typeof g){if(!i)throw RangeError("The value of a property ("+c+") should be a primitive value.");a(d(c),g,h,j)}else null!=g&&h.push(c.replace(/_.*/,"").replace(/[A-Z]/g,a=>"-"+a.toLowerCase())+": "+g+";")}(h.length||j)&&f.push((c&&!i&&!g?b.map(c):b).join(", ")+" {"+h.join(" ")+"}")}(d(b),a[b],this.rules)}getRules(){return this.rules.join("\n")}static newName(){let a=f[d]||1;return f[d]=a+1,"ͼ"+a.toString(36)}static mount(a,b,c){let d=a[e],f=c&&c.nonce;d?f&&d.setNonce(f):d=new i(a,f),d.mount(Array.isArray(b)?b:[b],a)}}let h=new Map;class i{constructor(a,b){let c=a.ownerDocument||a,d=c.defaultView;if(!a.head&&a.adoptedStyleSheets&&d.CSSStyleSheet){let b=h.get(c);if(b)return a[e]=b;this.sheet=new d.CSSStyleSheet,h.set(c,this)}else this.styleTag=c.createElement("style"),b&&this.styleTag.setAttribute("nonce",b);this.modules=[],a[e]=this}mount(a,b){let c=this.sheet,d=0,e=0;for(let b=0;b<a.length;b++){let f=a[b],g=this.modules.indexOf(f);if(g<e&&g>-1&&(this.modules.splice(g,1),e--,g=-1),-1==g){if(this.modules.splice(e++,0,f),c)for(let a=0;a<f.rules.length;a++)c.insertRule(f.rules[a],d++)}else{for(;e<g;)d+=this.modules[e++].rules.length;d+=f.rules.length,e++}}if(c)0>b.adoptedStyleSheets.indexOf(this.sheet)&&(b.adoptedStyleSheets=[this.sheet,...b.adoptedStyleSheets]);else{let a="";for(let b=0;b<this.modules.length;b++)a+=this.modules[b].getRules()+"\n";this.styleTag.textContent=a;let c=b.head||b;this.styleTag.parentNode!=c&&c.insertBefore(this.styleTag,c.firstChild)}}setNonce(a){this.styleTag&&this.styleTag.getAttribute("nonce")!=a&&this.styleTag.setAttribute("nonce",a)}}},68267:(a,b,c)=>{c.d(b,{bM:()=>q});var d=c(36554),e=c(17680),f=c(43398);let g="#e06c75",h="#abb2bf",i="#7d8799",j="#d19a66",k="#2c313a",l="#282c34",m="#353a42",n="#528bff",o=d.Lz.theme({"&":{color:h,backgroundColor:l},".cm-content":{caretColor:n},".cm-cursor, .cm-dropCursor":{borderLeftColor:n},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:"#3E4451"},".cm-panels":{backgroundColor:"#21252b",color:h},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:l,color:i,border:"none"},".cm-activeLineGutter":{backgroundColor:k},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:m},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:m,borderBottomColor:m},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:k,color:h}}},{dark:!0}),p=e.cr.define([{tag:f._A.keyword,color:"#c678dd"},{tag:[f._A.name,f._A.deleted,f._A.character,f._A.propertyName,f._A.macroName],color:g},{tag:[f._A.function(f._A.variableName),f._A.labelName],color:"#61afef"},{tag:[f._A.color,f._A.constant(f._A.name),f._A.standard(f._A.name)],color:j},{tag:[f._A.definition(f._A.name),f._A.separator],color:h},{tag:[f._A.typeName,f._A.className,f._A.number,f._A.changed,f._A.annotation,f._A.modifier,f._A.self,f._A.namespace],color:"#e5c07b"},{tag:[f._A.operator,f._A.operatorKeyword,f._A.url,f._A.escape,f._A.regexp,f._A.link,f._A.special(f._A.string)],color:"#56b6c2"},{tag:[f._A.meta,f._A.comment],color:i},{tag:f._A.strong,fontWeight:"bold"},{tag:f._A.emphasis,fontStyle:"italic"},{tag:f._A.strikethrough,textDecoration:"line-through"},{tag:f._A.link,color:i,textDecoration:"underline"},{tag:f._A.heading,fontWeight:"bold",color:g},{tag:[f._A.atom,f._A.bool,f._A.special(f._A.variableName)],color:j},{tag:[f._A.processingInstruction,f._A.string,f._A.inserted],color:"#98c379"},{tag:f._A.invalid,color:"#ffffff"}]),q=[o,(0,e.y9)(p)]},73768:(a,b,c)=>{c.d(b,{b6:()=>s,cL:()=>G,pw:()=>aC});var d=c(44072),e=c(36554),f=c(17680),g=c(22751);function h(a,b){return({state:c,dispatch:d})=>{if(c.readOnly)return!1;let e=a(b,c);return!!e&&(d(c.update(e)),!0)}}let i=h(function(a,b,c=b.selection.ranges){let d=[],e=-1;e:for(let{from:a,to:f}of c){let c=d.length,g=1e9,h;for(let c=a;c<=f;){let i=b.doc.lineAt(c);if(void 0==h&&!(h=l(b,i.from).line))continue e;if(i.from>e&&(a==f||f>i.from)){e=i.from;let a=/^\s*/.exec(i.text)[0].length,b=a==i.length,c=i.text.slice(a,a+h.length)==h?a:-1;a<i.text.length&&a<g&&(g=a),d.push({line:i,comment:c,token:h,indent:a,empty:b,single:!1})}c=i.to+1}if(g<1e9)for(let a=c;a<d.length;a++)d[a].indent<d[a].line.text.length&&(d[a].indent=g);d.length==c+1&&(d[c].single=!0)}if(2!=a&&d.some(a=>a.comment<0&&(!a.empty||a.single))){let a=[];for(let{line:b,token:c,indent:e,empty:f,single:g}of d)(g||!f)&&a.push({from:b.from+e,insert:c+" "});let c=b.changes(a);return{changes:c,selection:b.selection.map(c,1)}}if(1!=a&&d.some(a=>a.comment>=0)){let a=[];for(let{line:b,comment:c,token:e}of d)if(c>=0){let d=b.from+c,f=d+e.length;" "==b.text[f-b.from]&&f++,a.push({from:d,to:f})}return{changes:a}}return null},0),j=h(m,0),k=h((a,b)=>m(a,b,function(a){let b=[];for(let c of a.selection.ranges){let d=a.doc.lineAt(c.from),e=c.to<=d.to?d:a.doc.lineAt(c.to);e.from>d.from&&e.from==c.to&&(e=c.to==d.to+1?d:a.doc.lineAt(c.to-1));let f=b.length-1;f>=0&&b[f].to>d.from?b[f].to=e.to:b.push({from:d.from+/^\s*/.exec(d.text)[0].length,to:e.to})}return b}(b)),0);function l(a,b){let c=a.languageDataAt("commentTokens",b,1);return c.length?c[0]:{}}function m(a,b,c=b.selection.ranges){let d=c.map(a=>l(b,a.from).block);if(!d.every(a=>a))return null;let e=c.map((a,c)=>(function(a,{open:b,close:c},d,e){let f,g,h=a.sliceDoc(d-50,d),i=a.sliceDoc(e,e+50),j=/\s*$/.exec(h)[0].length,k=/^\s*/.exec(i)[0].length,l=h.length-j;if(h.slice(l-b.length,l)==b&&i.slice(k,k+c.length)==c)return{open:{pos:d-j,margin:j&&1},close:{pos:e+k,margin:k&&1}};e-d<=100?f=g=a.sliceDoc(d,e):(f=a.sliceDoc(d,d+50),g=a.sliceDoc(e-50,e));let m=/^\s*/.exec(f)[0].length,n=/\s*$/.exec(g)[0].length,o=g.length-n-c.length;return f.slice(m,m+b.length)==b&&g.slice(o,o+c.length)==c?{open:{pos:d+m+b.length,margin:+!!/\s/.test(f.charAt(m+b.length))},close:{pos:e-n-c.length,margin:+!!/\s/.test(g.charAt(o-1))}}:null})(b,d[c],a.from,a.to));if(2!=a&&!e.every(a=>a))return{changes:b.changes(c.map((a,b)=>e[b]?[]:[{from:a.from,insert:d[b].open+" "},{from:a.to,insert:" "+d[b].close}]))};if(1!=a&&e.some(a=>a)){let a=[];for(let b=0,c;b<e.length;b++)if(c=e[b]){let e=d[b],{open:f,close:g}=c;a.push({from:f.pos-e.open.length,to:f.pos+f.margin},{from:g.pos-g.margin,to:g.pos+e.close.length})}return{changes:a}}return null}let n=d.YH.define(),o=d.YH.define(),p=d.sj.define(),q=d.sj.define({combine:a=>(0,d.QR)(a,{minDepth:100,newGroupDelay:500,joinToEvent:(a,b)=>b},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(a,b)=>(c,d)=>a(c,d)||b(c,d)})}),r=d.sU.define({create:()=>F.empty,update(a,b){let c=b.state.facet(q),e=b.annotation(n);if(e){let d=y.fromTransaction(b,e.selection),f=e.side,g=0==f?a.undone:a.done;return g=d?z(g,g.length,c.minDepth,d):C(g,b.startState.selection),new F(0==f?e.rest:g,0==f?g:e.rest)}let f=b.annotation(o);if(("full"==f||"before"==f)&&(a=a.isolate()),!1===b.annotation(d.ZX.addToHistory))return b.changes.empty?a:a.addMapping(b.changes.desc);let g=y.fromTransaction(b),h=b.annotation(d.ZX.time),i=b.annotation(d.ZX.userEvent);return g?a=a.addChanges(g,h,i,c,b):b.selection&&(a=a.addSelection(b.startState.selection,h,i,c.newGroupDelay)),("full"==f||"after"==f)&&(a=a.isolate()),a},toJSON:a=>({done:a.done.map(a=>a.toJSON()),undone:a.undone.map(a=>a.toJSON())}),fromJSON:a=>new F(a.done.map(y.fromJSON),a.undone.map(y.fromJSON))});function s(a={}){return[r,q.of(a),e.Lz.domEventHandlers({beforeinput(a,b){let c="historyUndo"==a.inputType?u:"historyRedo"==a.inputType?v:null;return!!c&&(a.preventDefault(),c(b))}})]}function t(a,b){return function({state:c,dispatch:d}){if(!b&&c.readOnly)return!1;let e=c.field(r,!1);if(!e)return!1;let f=e.pop(a,c,b);return!!f&&(d(f),!0)}}let u=t(0,!1),v=t(1,!1),w=t(0,!0),x=t(1,!0);class y{constructor(a,b,c,d,e){this.changes=a,this.effects=b,this.mapped=c,this.startSelection=d,this.selectionsAfter=e}setSelAfter(a){return new y(this.changes,this.effects,this.mapped,this.startSelection,a)}toJSON(){var a,b,c;return{changes:null==(a=this.changes)?void 0:a.toJSON(),mapped:null==(b=this.mapped)?void 0:b.toJSON(),startSelection:null==(c=this.startSelection)?void 0:c.toJSON(),selectionsAfter:this.selectionsAfter.map(a=>a.toJSON())}}static fromJSON(a){return new y(a.changes&&d.VR.fromJSON(a.changes),[],a.mapped&&d.Gu.fromJSON(a.mapped),a.startSelection&&d.OF.fromJSON(a.startSelection),a.selectionsAfter.map(d.OF.fromJSON))}static fromTransaction(a,b){let c=B;for(let b of a.startState.facet(p)){let d=b(a);d.length&&(c=c.concat(d))}return!c.length&&a.changes.empty?null:new y(a.changes.invert(a.startState.doc),c,void 0,b||a.startState.selection,B)}static selection(a){return new y(void 0,B,void 0,void 0,a)}}function z(a,b,c,d){let e=a.slice(b+1>c+20?b-c-1:0,b);return e.push(d),e}function A(a,b){return a.length?b.length?a.concat(b):a:b}let B=[];function C(a,b){if(!a.length)return[y.selection([b])];{let c=a[a.length-1],d=c.selectionsAfter.slice(Math.max(0,c.selectionsAfter.length-200));return d.length&&d[d.length-1].eq(b)?a:(d.push(b),z(a,a.length-1,1e9,c.setSelAfter(d)))}}function D(a,b){if(!a.length)return a;let c=a.length,e=B;for(;c;){let f=function(a,b,c){let e=A(a.selectionsAfter.length?a.selectionsAfter.map(a=>a.map(b)):B,c);if(!a.changes)return y.selection(e);let f=a.changes.map(b),g=b.mapDesc(a.changes,!0),h=a.mapped?a.mapped.composeDesc(g):g;return new y(f,d.Pe.mapEffects(a.effects,b),h,a.startSelection.map(g),e)}(a[c-1],b,e);if(f.changes&&!f.changes.empty||f.effects.length){let b=a.slice(0,c);return b[c-1]=f,b}b=f.mapped,c--,e=f.selectionsAfter}return e.length?[y.selection(e)]:B}let E=/^(input\.type|delete)($|\.)/;class F{constructor(a,b,c=0,d){this.done=a,this.undone=b,this.prevTime=c,this.prevUserEvent=d}isolate(){return this.prevTime?new F(this.done,this.undone):this}addChanges(a,b,c,e,f){var g,h;let i,j,k=this.done,l=k[k.length-1];return new F(k=l&&l.changes&&!l.changes.empty&&a.changes&&(!c||E.test(c))&&(!l.selectionsAfter.length&&b-this.prevTime<e.newGroupDelay&&e.joinToEvent(f,(g=l.changes,h=a.changes,i=[],j=!1,g.iterChangedRanges((a,b)=>i.push(a,b)),h.iterChangedRanges((a,b,c,d)=>{for(let a=0;a<i.length;){let b=i[a++],e=i[a++];d>=b&&c<=e&&(j=!0)}}),j))||"input.type.compose"==c)?z(k,k.length-1,e.minDepth,new y(a.changes.compose(l.changes),A(d.Pe.mapEffects(a.effects,l.changes),l.effects),l.mapped,l.startSelection,B)):z(k,k.length,e.minDepth,a),B,b,c)}addSelection(a,b,c,d){var e;let f=this.done.length?this.done[this.done.length-1].selectionsAfter:B;return f.length>0&&b-this.prevTime<d&&c==this.prevUserEvent&&c&&/^select($|\.)/.test(c)&&(e=f[f.length-1],e.ranges.length==a.ranges.length&&0===e.ranges.filter((b,c)=>b.empty!=a.ranges[c].empty).length)?this:new F(C(this.done,a),this.undone,b,c)}addMapping(a){return new F(D(this.done,a),D(this.undone,a),this.prevTime,this.prevUserEvent)}pop(a,b,c){let d=0==a?this.done:this.undone;if(0==d.length)return null;let e=d[d.length-1],f=e.selectionsAfter[0]||(e.startSelection?e.startSelection.map(e.changes.invertedDesc,1):b.selection);if(c&&e.selectionsAfter.length){let c,g;return b.update({selection:e.selectionsAfter[e.selectionsAfter.length-1],annotations:n.of({side:a,rest:(c=d[d.length-1],(g=d.slice())[d.length-1]=c.setSelAfter(c.selectionsAfter.slice(0,c.selectionsAfter.length-1)),g),selection:f}),userEvent:0==a?"select.undo":"select.redo",scrollIntoView:!0})}{if(!e.changes)return null;let c=1==d.length?B:d.slice(0,d.length-1);return e.mapped&&(c=D(c,e.mapped)),b.update({changes:e.changes,selection:e.startSelection,effects:e.effects,annotations:n.of({side:a,rest:c,selection:f}),filter:!1,userEvent:0==a?"undo":"redo",scrollIntoView:!0})}}}F.empty=new F(B,B);let G=[{key:"Mod-z",run:u,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:v,preventDefault:!0},{linux:"Ctrl-Shift-z",run:v,preventDefault:!0},{key:"Mod-u",run:w,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:x,preventDefault:!0}];function H(a,b){return d.OF.create(a.ranges.map(b),a.mainIndex)}function I(a,b){return a.update({selection:b,scrollIntoView:!0,userEvent:"select"})}function J({state:a,dispatch:b},c){let d=H(a.selection,c);return!d.eq(a.selection,!0)&&(b(I(a,d)),!0)}function K(a,b){return d.OF.cursor(b?a.to:a.from)}function L(a,b){return J(a,c=>c.empty?a.moveByChar(c,b):K(c,b))}function M(a){return a.textDirectionAt(a.state.selection.main.head)==e.OP.LTR}let N=a=>L(a,!M(a)),O=a=>L(a,M(a));function P(a,b){return J(a,c=>c.empty?a.moveByGroup(c,b):K(c,b))}function Q(a,b,c){let e,h,i=(0,f.mv)(a).resolveInner(b.head),j=c?g.uY.closedBy:g.uY.openedBy;for(let d=b.head;;){let b=c?i.childAfter(d):i.childBefore(d);if(!b)break;!function(a,b,c){if(b.type.prop(c))return!0;let d=b.to-b.from;return d&&(d>2||/[^\s,.;:]/.test(a.sliceDoc(b.from,b.to)))||b.firstChild}(a,b,j)?d=c?b.to:b.from:i=b}return h=i.type.prop(j)&&(e=c?(0,f.jU)(a,i.from,1):(0,f.jU)(a,i.to,-1))&&e.matched?c?e.end.to:e.end.from:c?i.to:i.from,d.OF.cursor(h,c?-1:1)}function R(a,b){return J(a,c=>{if(!c.empty)return K(c,b);let d=a.moveVertically(c,b);return d.head!=c.head?d:a.moveToLineBoundary(c,b)})}"u">typeof Intl&&Intl.Segmenter;let S=a=>R(a,!1),T=a=>R(a,!0);function U(a){let b=a.scrollDOM.clientHeight<a.scrollDOM.scrollHeight-2,c=0,d=0,f;if(b){for(let b of a.state.facet(e.Lz.scrollMargins)){let e=b(a);(null==e?void 0:e.top)&&(c=Math.max(null==e?void 0:e.top,c)),(null==e?void 0:e.bottom)&&(d=Math.max(null==e?void 0:e.bottom,d))}f=a.scrollDOM.clientHeight-c-d}else f=(a.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:c,marginBottom:d,selfScroll:b,height:Math.max(a.defaultLineHeight,f-5)}}function V(a,b){let c,d=U(a),{state:f}=a,g=H(f.selection,c=>c.empty?a.moveVertically(c,b,d.height):K(c,b));if(g.eq(f.selection))return!1;if(d.selfScroll){let b=a.coordsAtPos(f.selection.main.head),h=a.scrollDOM.getBoundingClientRect(),i=h.top+d.marginTop,j=h.bottom-d.marginBottom;b&&b.top>i&&b.bottom<j&&(c=e.Lz.scrollIntoView(g.main.head,{y:"start",yMargin:b.top-i}))}return a.dispatch(I(f,g),{effects:c}),!0}let W=a=>V(a,!1),X=a=>V(a,!0);function Y(a,b,c){let e=a.lineBlockAt(b.head),f=a.moveToLineBoundary(b,c);if(f.head==b.head&&f.head!=(c?e.to:e.from)&&(f=a.moveToLineBoundary(b,c,!1)),!c&&f.head==e.from&&e.length){let c=/^\s*/.exec(a.state.sliceDoc(e.from,Math.min(e.from+100,e.to)))[0].length;c&&b.head!=e.from+c&&(f=d.OF.cursor(e.from+c))}return f}function Z(a,b,c){let e=H(a.state.selection,a=>{a.undirectional&&a.head>=a.anchor!=b&&(a=d.OF.range(a.head,a.anchor));let e=c(a);return d.OF.range(a.anchor,e.head,e.goalColumn,e.bidiLevel||void 0,e.assoc)});return!e.eq(a.state.selection)&&(a.dispatch(I(a.state,e)),!0)}function $(a,b){return Z(a,b,c=>a.moveByChar(c,b))}let _=a=>$(a,!M(a)),aa=a=>$(a,M(a));function ab(a,b){return Z(a,b,c=>a.moveByGroup(c,b))}function ac(a,b){return Z(a,b,c=>a.moveVertically(c,b))}let ad=a=>ac(a,!1),ae=a=>ac(a,!0);function af(a,b){return Z(a,b,c=>a.moveVertically(c,b,U(a).height))}let ag=a=>af(a,!1),ah=a=>af(a,!0),ai=({state:a,dispatch:b})=>(b(I(a,{anchor:0})),!0),aj=({state:a,dispatch:b})=>(b(I(a,{anchor:a.doc.length})),!0),ak=({state:a,dispatch:b})=>(b(I(a,{anchor:a.selection.main.anchor,head:0})),!0),al=({state:a,dispatch:b})=>(b(I(a,{anchor:a.selection.main.anchor,head:a.doc.length})),!0);function am(a,b){let{state:c}=a,e=c.selection,f=c.selection.ranges.slice();for(let d of c.selection.ranges){let e=c.doc.lineAt(d.head);if(b?e.to<a.state.doc.length:e.from>0)for(let c=d;;){let d=a.moveVertically(c,b);if(d.head<e.from||d.head>e.to){f.some(a=>a.head==d.head)||f.push(d);break}if(d.head==c.head)break;c=d}}return f.length!=e.ranges.length&&(a.dispatch(I(c,d.OF.create(f,f.length-1))),!0)}function an(a,b){if(a.state.readOnly)return!1;let c="delete.selection",{state:f}=a,g=f.changeByRange(e=>{let{from:f,to:g}=e;if(f==g){let d=b(e);d<f?(c="delete.backward",d=ao(a,d,!1)):d>f&&(c="delete.forward",d=ao(a,d,!0)),f=Math.min(f,d),g=Math.max(g,d)}else f=ao(a,f,!1),g=ao(a,g,!0);return f==g?{range:e}:{changes:{from:f,to:g},range:d.OF.cursor(f,f<e.head?-1:1)}});return!g.changes.empty&&(a.dispatch(f.update(g,{scrollIntoView:!0,userEvent:c,effects:"delete.selection"==c?e.Lz.announce.of(f.phrase("Selection deleted")):void 0})),!0)}function ao(a,b,c){if(a instanceof e.Lz)for(let d of a.state.facet(e.Lz.atomicRanges).map(b=>b(a)))d.between(b,b,(a,d)=>{a<b&&d>b&&(b=c?d:a)});return b}let ap=(a,b,c)=>an(a,e=>{let g=e.from,{state:h}=a,i=h.doc.lineAt(g),j,k;if(c&&!b&&g>i.from&&g<i.from+200&&!/[^ \t]/.test(j=i.text.slice(0,g-i.from))){if(" "==j[j.length-1])return g-1;let a=(0,d.y$)(j,h.tabSize)%(0,f.tp)(h)||(0,f.tp)(h);for(let b=0;b<a&&" "==j[j.length-1-b];b++)g--;k=g}else(k=(0,d.zK)(i.text,g-i.from,b,b)+i.from)==g&&i.number!=(b?h.doc.lines:1)?k+=b?1:-1:!b&&/[\ufe00-\ufe0f]/.test(i.text.slice(k-i.from,g-i.from))&&(k=(0,d.zK)(i.text,k-i.from,!1,!1)+i.from);return k}),aq=a=>ap(a,!1,!0),ar=a=>ap(a,!0,!1),as=(a,b)=>an(a,c=>{let e=c.head,{state:f}=a,g=f.doc.lineAt(e),h=f.charCategorizer(e);for(let a=null;;){if(e==(b?g.to:g.from)){e==c.head&&g.number!=(b?f.doc.lines:1)&&(e+=b?1:-1);break}let i=(0,d.zK)(g.text,e-g.from,b)+g.from,j=g.text.slice(Math.min(e,i)-g.from,Math.max(e,i)-g.from),k=h(j);if(null!=a&&k!=a)break;(" "!=j||e!=c.head)&&(a=k),e=i}return e}),at=a=>as(a,!1);function au(a){let b=[],c=-1;for(let d of a.selection.ranges){let e=a.doc.lineAt(d.from),f=a.doc.lineAt(d.to);if(d.empty||d.to!=f.from||(f=a.doc.lineAt(d.to-1)),c>=e.number){let a=b[b.length-1];a.to=f.to,a.ranges.push(d)}else b.push({from:e.from,to:f.to,ranges:[d]});c=f.number+1}return b}function av(a,b,c){if(a.readOnly)return!1;let e=[],f=[];for(let b of au(a)){if(c?b.to==a.doc.length:0==b.from)continue;let g=a.doc.lineAt(c?b.to+1:b.from-1),h=g.length+1;if(c)for(let c of(e.push({from:b.to,to:g.to},{from:b.from,insert:g.text+a.lineBreak}),b.ranges))f.push(d.OF.range(Math.min(a.doc.length,c.anchor+h),Math.min(a.doc.length,c.head+h)));else for(let c of(e.push({from:g.from,to:b.from},{from:b.to,insert:a.lineBreak+g.text}),b.ranges))f.push(d.OF.range(c.anchor-h,c.head-h))}return!!e.length&&(b(a.update({changes:e,scrollIntoView:!0,selection:d.OF.create(f,a.selection.mainIndex),userEvent:"move.line"})),!0)}function aw(a,b,c){if(a.readOnly)return!1;let d=[];for(let b of au(a))c?d.push({from:b.from,insert:a.doc.slice(b.from,b.to)+a.lineBreak}):d.push({from:b.to,insert:a.lineBreak+a.doc.slice(b.from,b.to)});let e=a.changes(d);return b(a.update({changes:e,selection:a.selection.map(e,c?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}let ax=az(!1),ay=az(!0);function az(a){return({state:b,dispatch:c})=>{if(b.readOnly)return!1;let e=b.changeByRange(c=>{let{from:e,to:h}=c,i=b.doc.lineAt(e),j=!a&&e==h&&function(a,b){if(/\(\)|\[\]|\{\}/.test(a.sliceDoc(b-1,b+1)))return{from:b,to:b};let c=(0,f.mv)(a).resolveInner(b),d=c.childBefore(b),e=c.childAfter(b),h;return d&&e&&d.to<=b&&e.from>=b&&(h=d.type.prop(g.uY.closedBy))&&h.indexOf(e.name)>-1&&a.doc.lineAt(d.to).from==a.doc.lineAt(e.from).from&&!/\S/.test(a.sliceDoc(d.to,e.from))?{from:d.to,to:e.from}:null}(b,e);a&&(e=h=(h<=i.to?i:b.doc.lineAt(h)).to);let k=new f.KB(b,{simulateBreak:e,simulateDoubleBreak:!!j}),l=(0,f._v)(k,e);for(null==l&&(l=(0,d.y$)(/^\s*/.exec(b.doc.lineAt(e).text)[0],b.tabSize));h<i.to&&/\s/.test(i.text[h-i.from]);)h++;j?{from:e,to:h}=j:e>i.from&&e<i.from+100&&!/\S/.test(i.text.slice(0,e))&&(e=i.from);let m=["",(0,f.EI)(b,l)];return j&&m.push((0,f.EI)(b,k.lineIndent(i.from,-1))),{changes:{from:e,to:h,insert:d.EY.of(m)},range:d.OF.cursor(e+1+m[1].length)}});return c(b.update(e,{scrollIntoView:!0,userEvent:"input"})),!0}}function aA(a,b){let c=-1;return a.changeByRange(e=>{let f=[];for(let d=e.from;d<=e.to;){let g=a.doc.lineAt(d);g.number>c&&(e.empty||e.to>g.from)&&(b(g,f,e),c=g.number),d=g.to+1}let g=a.changes(f);return{changes:f,range:d.OF.range(g.mapPos(e.anchor,1),g.mapPos(e.head,1))}})}let aB=[{key:"Ctrl-b",run:N,shift:_,preventDefault:!0},{key:"Ctrl-f",run:O,shift:aa},{key:"Ctrl-p",run:S,shift:ad},{key:"Ctrl-n",run:T,shift:ae},{key:"Ctrl-a",run:a=>J(a,b=>d.OF.cursor(a.lineBlockAt(b.head).from,1)),shift:a=>Z(a,!1,b=>d.OF.cursor(a.lineBlockAt(b.head).from))},{key:"Ctrl-e",run:a=>J(a,b=>d.OF.cursor(a.lineBlockAt(b.head).to,-1)),shift:a=>Z(a,!0,b=>d.OF.cursor(a.lineBlockAt(b.head).to))},{key:"Ctrl-d",run:ar},{key:"Ctrl-h",run:aq},{key:"Ctrl-k",run:a=>an(a,b=>{let c=a.lineBlockAt(b.head).to;return b.head<c?c:Math.min(a.state.doc.length,b.head+1)})},{key:"Ctrl-Alt-h",run:at},{key:"Ctrl-o",run:({state:a,dispatch:b})=>{if(a.readOnly)return!1;let c=a.changeByRange(a=>({changes:{from:a.from,to:a.to,insert:d.EY.of(["",""])},range:d.OF.cursor(a.from)}));return b(a.update(c,{scrollIntoView:!0,userEvent:"input"})),!0}},{key:"Ctrl-t",run:({state:a,dispatch:b})=>{if(a.readOnly)return!1;let c=a.changeByRange(b=>{if(!b.empty||0==b.from||b.from==a.doc.length)return{range:b};let c=b.from,e=a.doc.lineAt(c),f=c==e.from?c-1:(0,d.zK)(e.text,c-e.from,!1)+e.from,g=c==e.to?c+1:(0,d.zK)(e.text,c-e.from,!0)+e.from;return{changes:{from:f,to:g,insert:a.doc.slice(c,g).append(a.doc.slice(f,c))},range:d.OF.cursor(g)}});return!c.changes.empty&&(b(a.update(c,{scrollIntoView:!0,userEvent:"move.character"})),!0)}},{key:"Ctrl-v",run:X}],aC=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:a=>J(a,b=>Q(a.state,b,!M(a))),shift:a=>{let b=!M(a);return Z(a,b,c=>Q(a.state,c,b))}},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:a=>J(a,b=>Q(a.state,b,M(a))),shift:a=>{let b=M(a);return Z(a,b,c=>Q(a.state,c,b))}},{key:"Alt-ArrowUp",run:({state:a,dispatch:b})=>av(a,b,!1)},{key:"Shift-Alt-ArrowUp",run:({state:a,dispatch:b})=>aw(a,b,!1)},{key:"Alt-ArrowDown",run:({state:a,dispatch:b})=>av(a,b,!0)},{key:"Shift-Alt-ArrowDown",run:({state:a,dispatch:b})=>aw(a,b,!0)},{key:"Mod-Alt-ArrowUp",run:a=>am(a,!1)},{key:"Mod-Alt-ArrowDown",run:a=>am(a,!0)},{key:"Escape",run:({state:a,dispatch:b})=>{let c=a.selection,e=null;return c.ranges.length>1?e=d.OF.create([c.main]):c.main.empty||(e=d.OF.create([d.OF.cursor(c.main.head)])),!!e&&(b(I(a,e)),!0)}},{key:"Mod-Enter",run:ay},{key:"Alt-l",mac:"Ctrl-l",run:({state:a,dispatch:b})=>{let c=au(a).map(({from:b,to:c})=>d.OF.range(b,Math.min(c+1,a.doc.length)));return b(a.update({selection:d.OF.create(c),userEvent:"select"})),!0}},{key:"Mod-i",run:({state:a,dispatch:b})=>{let c=H(a.selection,b=>{let c=(0,f.mv)(a),e=c.resolveStack(b.from,1);if(b.empty){let a=c.resolveStack(b.from,-1);a.node.from>=e.node.from&&a.node.to<=e.node.to&&(e=a)}for(let a=e;a;a=a.next){let{node:c}=a;if((c.from<b.from&&c.to>=b.to||c.to>b.to&&c.from<=b.from)&&a.next)return d.OF.range(c.to,c.from)}return b});return!c.eq(a.selection)&&(b(I(a,c)),!0)},preventDefault:!0},{key:"Mod-[",run:({state:a,dispatch:b})=>!a.readOnly&&(b(a.update(aA(a,(b,c)=>{let e=/^\s*/.exec(b.text)[0];if(!e)return;let g=(0,d.y$)(e,a.tabSize),h=0,i=(0,f.EI)(a,Math.max(0,g-(0,f.tp)(a)));for(;h<e.length&&h<i.length&&e.charCodeAt(h)==i.charCodeAt(h);)h++;c.push({from:b.from+h,to:b.from+e.length,insert:i.slice(h)})}),{userEvent:"delete.dedent"})),!0)},{key:"Mod-]",run:({state:a,dispatch:b})=>!a.readOnly&&(b(a.update(aA(a,(b,c)=>{c.push({from:b.from,insert:a.facet(f.Xt)})}),{userEvent:"input.indent"})),!0)},{key:"Mod-Alt-\\",run:({state:a,dispatch:b})=>{if(a.readOnly)return!1;let c=Object.create(null),d=new f.KB(a,{overrideIndentation:a=>{let b=c[a];return null==b?-1:b}}),e=aA(a,(b,e,g)=>{let h=(0,f._v)(d,b.from);if(null==h)return;/\S/.test(b.text)||(h=0);let i=/^\s*/.exec(b.text)[0],j=(0,f.EI)(a,h);(i!=j||g.from<b.from+i.length)&&(c[b.from]=h,e.push({from:b.from,to:b.from+i.length,insert:j}))});return e.changes.empty||b(a.update(e,{userEvent:"indent"})),!0}},{key:"Shift-Mod-k",run:a=>{if(a.state.readOnly)return!1;let{state:b}=a,c=b.changes(au(b).map(({from:a,to:c})=>(a>0?a--:c<b.doc.length&&c++,{from:a,to:c}))),d=H(b.selection,b=>{let c;if(a.lineWrapping){let d=a.lineBlockAt(b.head),e=a.coordsAtPos(b.head,b.assoc||1);e&&(c=d.bottom+a.documentTop-e.bottom+a.defaultLineHeight/2)}return a.moveVertically(b,!0,c)}).map(c);return a.dispatch({changes:c,selection:d,scrollIntoView:!0,userEvent:"delete.line"}),!0}},{key:"Shift-Mod-\\",run:({state:a,dispatch:b})=>{let c,e;return c=!1,e=H(a.selection,b=>{let e=(0,f.jU)(a,b.head,-1)||(0,f.jU)(a,b.head,1)||b.head>0&&(0,f.jU)(a,b.head-1,1)||b.head<a.doc.length&&(0,f.jU)(a,b.head+1,-1);if(!e||!e.end)return b;c=!0;let g=e.start.from==b.head?e.end.to:e.end.from;return d.OF.cursor(g)}),!!c&&(b(I(a,e)),!0)}},{key:"Mod-/",run:a=>{let{state:b}=a,c=b.doc.lineAt(b.selection.main.from),d=l(a.state,c.from);return d.line?i(a):!!d.block&&k(a)}},{key:"Alt-A",run:j},{key:"Ctrl-m",mac:"Shift-Alt-m",run:a=>(a.setTabFocusMode(),!0)}].concat([{key:"ArrowLeft",run:N,shift:_,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:a=>P(a,!M(a)),shift:a=>ab(a,!M(a)),preventDefault:!0},{mac:"Cmd-ArrowLeft",run:a=>J(a,b=>Y(a,b,!M(a))),shift:a=>{let b=!M(a);return Z(a,b,c=>Y(a,c,b))},preventDefault:!0},{key:"ArrowRight",run:O,shift:aa,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:a=>P(a,M(a)),shift:a=>ab(a,M(a)),preventDefault:!0},{mac:"Cmd-ArrowRight",run:a=>J(a,b=>Y(a,b,M(a))),shift:a=>{let b=M(a);return Z(a,b,c=>Y(a,c,b))},preventDefault:!0},{key:"ArrowUp",run:S,shift:ad,preventDefault:!0},{mac:"Cmd-ArrowUp",run:ai,shift:ak},{mac:"Ctrl-ArrowUp",run:W,shift:ag},{key:"ArrowDown",run:T,shift:ae,preventDefault:!0},{mac:"Cmd-ArrowDown",run:aj,shift:al},{mac:"Ctrl-ArrowDown",run:X,shift:ah},{key:"PageUp",run:W,shift:ag},{key:"PageDown",run:X,shift:ah},{key:"Home",run:a=>J(a,b=>Y(a,b,!1)),shift:a=>Z(a,!1,b=>Y(a,b,!1)),preventDefault:!0},{key:"Mod-Home",run:ai,shift:ak},{key:"End",run:a=>J(a,b=>Y(a,b,!0)),shift:a=>Z(a,!0,b=>Y(a,b,!0)),preventDefault:!0},{key:"Mod-End",run:aj,shift:al},{key:"Enter",run:ax,shift:ax},{key:"Mod-a",run:({state:a,dispatch:b})=>(b(a.update({selection:{anchor:0,head:a.doc.length},userEvent:"select"})),!0)},{key:"Backspace",run:aq,shift:aq,preventDefault:!0},{key:"Delete",run:ar,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:at,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:a=>as(a,!0),preventDefault:!0},{mac:"Mod-Backspace",run:a=>an(a,b=>{let c=a.moveToLineBoundary(b,!1).head;return b.head>c?c:Math.max(0,b.head-1)}),preventDefault:!0},{mac:"Mod-Delete",run:a=>an(a,b=>{let c=a.moveToLineBoundary(b,!0).head;return b.head<c?c:Math.min(a.state.doc.length,b.head+1)}),preventDefault:!0}].concat(aB.map(a=>({mac:a.key,run:a.run,shift:a.shift}))))}};
|