unspaghettit 0.9.0 → 0.10.0
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/README.md +1 -1
- package/build/client/_app/immutable/chunks/{CFFa_0pY.js → BGtpkapy.js} +1 -1
- package/build/client/_app/immutable/chunks/BGtpkapy.js.br +0 -0
- package/build/client/_app/immutable/chunks/BGtpkapy.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{CE7ndIoT.js → BJCjebKX.js} +1 -1
- package/build/client/_app/immutable/chunks/BJCjebKX.js.br +0 -0
- package/build/client/_app/immutable/chunks/BJCjebKX.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{DBjEXU6n2.js → BOSEog2D2.js} +1 -1
- package/build/client/_app/immutable/chunks/BOSEog2D2.js.br +0 -0
- package/build/client/_app/immutable/chunks/BOSEog2D2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{LTQjWdp6.js → BRkEj7XB.js} +1 -1
- package/build/client/_app/immutable/chunks/BRkEj7XB.js.br +0 -0
- package/build/client/_app/immutable/chunks/BRkEj7XB.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{DQqDh5KS2.js → BWyM-YKn2.js} +1 -1
- package/build/client/_app/immutable/chunks/BWyM-YKn2.js.br +0 -0
- package/build/client/_app/immutable/chunks/BWyM-YKn2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{D8-o2Sof2.js → BcHaN2XP2.js} +1 -1
- package/build/client/_app/immutable/chunks/BcHaN2XP2.js.br +0 -0
- package/build/client/_app/immutable/chunks/BcHaN2XP2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{TWC3jtDk2.js → BquLtDTN2.js} +1 -1
- package/build/client/_app/immutable/chunks/BquLtDTN2.js.br +0 -0
- package/build/client/_app/immutable/chunks/BquLtDTN2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C2-NAsCA.js +1 -0
- package/build/client/_app/immutable/chunks/C2-NAsCA.js.br +2 -0
- package/build/client/_app/immutable/chunks/C2-NAsCA.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{BP3izzYa.js → C5OWnbs3.js} +1 -1
- package/build/client/_app/immutable/chunks/C5OWnbs3.js.br +0 -0
- package/build/client/_app/immutable/chunks/C5OWnbs3.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{H5AjsaL0.js → C5oHnmmi.js} +1 -1
- package/build/client/_app/immutable/chunks/C5oHnmmi.js.br +0 -0
- package/build/client/_app/immutable/chunks/C5oHnmmi.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{DnApHYj3.js → CFOrhKj0.js} +1 -1
- package/build/client/_app/immutable/chunks/CFOrhKj0.js.br +0 -0
- package/build/client/_app/immutable/chunks/CFOrhKj0.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CHEhPoA2.js +1 -0
- package/build/client/_app/immutable/chunks/CHEhPoA2.js.br +0 -0
- package/build/client/_app/immutable/chunks/CHEhPoA2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{DkX3qg_W.js → CKwL_udH.js} +1 -1
- package/build/client/_app/immutable/chunks/CKwL_udH.js.br +0 -0
- package/build/client/_app/immutable/chunks/CKwL_udH.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{BiH-tU7x.js → CMKnglgu.js} +1 -1
- package/build/client/_app/immutable/chunks/CMKnglgu.js.br +0 -0
- package/build/client/_app/immutable/chunks/CMKnglgu.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{B0K6Jxia2.js → CPig5PyW2.js} +1 -1
- package/build/client/_app/immutable/chunks/CPig5PyW2.js.br +0 -0
- package/build/client/_app/immutable/chunks/CPig5PyW2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{DFN_uoUc.js → CfYiL4Vb.js} +1 -1
- package/build/client/_app/immutable/chunks/CfYiL4Vb.js.br +0 -0
- package/build/client/_app/immutable/chunks/CfYiL4Vb.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{D7NkISST.js → CuiDce17.js} +1 -1
- package/build/client/_app/immutable/chunks/CuiDce17.js.br +2 -0
- package/build/client/_app/immutable/chunks/CuiDce17.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{BA-q53p42.js → CyQ1x7xK2.js} +1 -1
- package/build/client/_app/immutable/chunks/CyQ1x7xK2.js.br +0 -0
- package/build/client/_app/immutable/chunks/CyQ1x7xK2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{gB6TDZ87.js → DHgYHuvG.js} +1 -1
- package/build/client/_app/immutable/chunks/DHgYHuvG.js.br +0 -0
- package/build/client/_app/immutable/chunks/DHgYHuvG.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{BOViVyPK.js → DN5KlhS6.js} +1 -1
- package/build/client/_app/immutable/chunks/DN5KlhS6.js.br +0 -0
- package/build/client/_app/immutable/chunks/DN5KlhS6.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{DqmYsclE2.js → DTvCLzCO2.js} +1 -1
- package/build/client/_app/immutable/chunks/DTvCLzCO2.js.br +0 -0
- package/build/client/_app/immutable/chunks/DTvCLzCO2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DgWl1fLQ.js +1 -0
- package/build/client/_app/immutable/chunks/DgWl1fLQ.js.br +0 -0
- package/build/client/_app/immutable/chunks/DgWl1fLQ.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{CCMy1UBa2.js → OUabT_0s2.js} +1 -1
- package/build/client/_app/immutable/chunks/OUabT_0s2.js.br +0 -0
- package/build/client/_app/immutable/chunks/OUabT_0s2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{Czx0-8cO2.js → Z-Nt_Stv2.js} +1 -1
- package/build/client/_app/immutable/chunks/Z-Nt_Stv2.js.br +0 -0
- package/build/client/_app/immutable/chunks/Z-Nt_Stv2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{BHd4GNIo2.js → ZXZvB_hk2.js} +1 -1
- package/build/client/_app/immutable/chunks/ZXZvB_hk2.js.br +0 -0
- package/build/client/_app/immutable/chunks/ZXZvB_hk2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{CcA78DtM2.js → oly95dF_2.js} +1 -1
- package/build/client/_app/immutable/chunks/oly95dF_2.js.br +0 -0
- package/build/client/_app/immutable/chunks/oly95dF_2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{iSPCqpff.js → r_dyVatm.js} +1 -1
- package/build/client/_app/immutable/chunks/r_dyVatm.js.br +0 -0
- package/build/client/_app/immutable/chunks/r_dyVatm.js.gz +0 -0
- package/build/client/_app/immutable/entry/{app.A6sjm9Ku.js → app.DDhYPj6j.js} +2 -2
- package/build/client/_app/immutable/entry/app.DDhYPj6j.js.br +0 -0
- package/build/client/_app/immutable/entry/app.DDhYPj6j.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.XTH1H-BV.js +1 -0
- package/build/client/_app/immutable/entry/start.XTH1H-BV.js.br +0 -0
- package/build/client/_app/immutable/entry/start.XTH1H-BV.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{0.Bcxxv-ZN.js → 0.DtB3-CXO.js} +1 -1
- package/build/client/_app/immutable/nodes/0.DtB3-CXO.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.DtB3-CXO.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{1.CIoVaNqz.js → 1.Db-k8OuM.js} +1 -1
- package/build/client/_app/immutable/nodes/1.Db-k8OuM.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.Db-k8OuM.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{11.qdtoUmHC.js → 11.D76AS3hB.js} +1 -1
- package/build/client/_app/immutable/nodes/11.D76AS3hB.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.D76AS3hB.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{12.DFolraLv.js → 12.skE59PP9.js} +1 -1
- package/build/client/_app/immutable/nodes/12.skE59PP9.js.br +0 -0
- package/build/client/_app/immutable/nodes/12.skE59PP9.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{13.BM7gjN4-.js → 13.BcznBQYK.js} +1 -1
- package/build/client/_app/immutable/nodes/13.BcznBQYK.js.br +0 -0
- package/build/client/_app/immutable/nodes/13.BcznBQYK.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{14.x8vEr-YU.js → 14.CwxinXQX.js} +1 -1
- package/build/client/_app/immutable/nodes/14.CwxinXQX.js.br +0 -0
- package/build/client/_app/immutable/nodes/14.CwxinXQX.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{15.BRhFecbH.js → 15.Bjjh6v7q.js} +1 -1
- package/build/client/_app/immutable/nodes/15.Bjjh6v7q.js.br +0 -0
- package/build/client/_app/immutable/nodes/15.Bjjh6v7q.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{16.BdO7vFc5.js → 16.BPe4oI9b.js} +1 -1
- package/build/client/_app/immutable/nodes/16.BPe4oI9b.js.br +0 -0
- package/build/client/_app/immutable/nodes/16.BPe4oI9b.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{2.BnjIPJ3_.js → 2.CB77496k.js} +1 -1
- package/build/client/_app/immutable/nodes/2.CB77496k.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.CB77496k.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{3.t27BDikv.js → 3.D5-D84Kj.js} +1 -1
- package/build/client/_app/immutable/nodes/3.D5-D84Kj.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.D5-D84Kj.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{4.CQUmwl-U.js → 4.TARjGZi1.js} +1 -1
- package/build/client/_app/immutable/nodes/4.TARjGZi1.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.TARjGZi1.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{5.CA1JzQ4s.js → 5.BxXmtjjf.js} +1 -1
- package/build/client/_app/immutable/nodes/5.BxXmtjjf.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.BxXmtjjf.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{6.BgaYm7sg.js → 6.Czkgnd6_.js} +1 -1
- package/build/client/_app/immutable/nodes/6.Czkgnd6_.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.Czkgnd6_.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{7.CZOOqsbT.js → 7.CniICgZm.js} +1 -1
- package/build/client/_app/immutable/nodes/7.CniICgZm.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.CniICgZm.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{8.DRk1Ol8z.js → 8.B8uueTNo.js} +1 -1
- package/build/client/_app/immutable/nodes/8.B8uueTNo.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.B8uueTNo.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{9.C5inUZYQ.js → 9.DWmk7Pd9.js} +1 -1
- package/build/client/_app/immutable/nodes/9.DWmk7Pd9.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.DWmk7Pd9.js.gz +0 -0
- package/build/client/_app/version.json +1 -1
- package/build/client/_app/version.json.br +0 -0
- package/build/client/_app/version.json.gz +0 -0
- package/build/server/chunks/0-BssfTySQ.js +15 -0
- package/build/server/chunks/1-DAizMjCG.js +9 -0
- package/build/server/chunks/11-O3MGnfVf.js +9 -0
- package/build/server/chunks/12-Cp8R4i27.js +9 -0
- package/build/server/chunks/13-CydwAfRj.js +9 -0
- package/build/server/chunks/14-CScpHG0p.js +9 -0
- package/build/server/chunks/15-Dq0gC40P.js +9 -0
- package/build/server/chunks/16-I6t9ZQA9.js +9 -0
- package/build/server/chunks/2-DVqm7cgN.js +9 -0
- package/build/server/chunks/{3-BX4CmlKY.js → 3-0r0RSOA9.js} +3 -3
- package/build/server/chunks/4-BeX1xjbu.js +16 -0
- package/build/server/chunks/5-BnIaZs0S.js +9 -0
- package/build/server/chunks/6-BlFb3TLL.js +9 -0
- package/build/server/chunks/7-bS6Z1ZJG.js +9 -0
- package/build/server/chunks/8-B3bpJkfc.js +9 -0
- package/build/server/chunks/9-pHPxcD8H.js +9 -0
- package/build/server/chunks/{DeleteFeature-GOjdL9Ck.js → DeleteFeature-3Z9jICf3.js} +22 -3
- package/build/server/chunks/{DigestView-BfoLNnKo.js → DigestView-JSb1Scor.js} +3 -3
- package/build/server/chunks/{FeatureCard-DexodJTb.js → FeatureCard-BusFP824.js} +4 -4
- package/build/server/chunks/{ManageTagsDialog-DMq58c0N.js → ManageTagsDialog-DrTjebtT.js} +4 -4
- package/build/server/chunks/{ProgressBar-DVFm8ZIZ.js → ProgressBar-DrNo5Lo9.js} +2 -2
- package/build/server/chunks/{ProjectionViewer-DgiafniT.js → ProjectionViewer-CzwhMdwz.js} +4 -4
- package/build/server/chunks/{ProjectsIndex-BhtYhhN1.js → ProjectsIndex-DK1e5hKG.js} +9 -9
- package/build/server/chunks/{SimulatorEngine-PND5RM16.js → SimulatorEngine-CLuFKcRr.js} +7 -5
- package/build/server/chunks/{TagDotStrip-Ciy3ZX6D.js → TagDotStrip-CS-Wfj_k.js} +3 -3
- package/build/server/chunks/{TagFilterSelect-4P59Divz.js → TagFilterSelect-Bdd_JucF.js} +5 -5
- package/build/server/chunks/{_layout.svelte-CXVr2-kw.js → _layout.svelte-Dnp5YlQh.js} +12 -12
- package/build/server/chunks/{_page.svelte-CECcYmpt.js → _page.svelte--Zk9G67D.js} +11 -11
- package/build/server/chunks/{_page.svelte-CTIaqzxb.js → _page.svelte-BaUudRf8.js} +10 -10
- package/build/server/chunks/{_page.svelte-Cmll2d5V.js → _page.svelte-CDMEZbnN.js} +7 -7
- package/build/server/chunks/{_page.svelte-DU_oZewu.js → _page.svelte-CENWYQVb.js} +12 -12
- package/build/server/chunks/{_page.svelte-C38GPN1j.js → _page.svelte-CRda0InI.js} +9 -9
- package/build/server/chunks/{_page.svelte-CMGlwR2n.js → _page.svelte-Ca-yzK5f.js} +11 -11
- package/build/server/chunks/{_page.svelte-XukQYChO.js → _page.svelte-CeSKWDA9.js} +9 -9
- package/build/server/chunks/{_page.svelte-DYv1A3HP.js → _page.svelte-D8zwFGI7.js} +10 -10
- package/build/server/chunks/{_page.svelte-DhfqsxeM.js → _page.svelte-DMmsHdHC.js} +9 -9
- package/build/server/chunks/{_page.svelte-Dk_ltFrv.js → _page.svelte-DZp4D5AF.js} +6 -6
- package/build/server/chunks/{_page.svelte-CD0IEYmg.js → _page.svelte-Dn9ZI02Q.js} +12 -12
- package/build/server/chunks/{_page.svelte-DfqSjPDt.js → _page.svelte-Dqm9Wt2P.js} +13 -13
- package/build/server/chunks/{_page.svelte-B83dWm05.js → _page.svelte-Dt6KOtY5.js} +12 -12
- package/build/server/chunks/{_page.svelte-DZiIxvqy.js → _page.svelte-T6OdMppW.js} +15 -15
- package/build/server/chunks/{_server.ts-DGBS8t84.js → _server.ts-B8Ar4gwq.js} +2 -2
- package/build/server/chunks/{_server.ts-BNByuygM.js → _server.ts-BcdfknA1.js} +38 -9
- package/build/server/chunks/{_server.ts-C_1UUSBN.js → _server.ts-DVcSGReg.js} +2 -2
- package/build/server/chunks/{browserContainer-CKwEzjI1.js → browserContainer-6TbJbwua.js} +4 -4
- package/build/server/chunks/{builderModeStore.svelte-RcdHVOGm.js → builderModeStore.svelte--fWSA_3N.js} +5 -5
- package/build/server/chunks/{client-BmUa5bk0.js → client-uZso485O.js} +2 -2
- package/build/server/chunks/{error.svelte-DpaG6Pan.js → error.svelte-r4E3ymf6.js} +4 -4
- package/build/server/chunks/{featureQueueContext-C1FULhTd.js → featureQueueContext-C1Ce0iiL.js} +2 -2
- package/build/server/chunks/{featureStore.svelte-jv4elrok.js → featureStore.svelte-CwrfMF7q.js} +5 -5
- package/build/server/chunks/{internal-BQQM4U2u.js → internal-BhW0DAbW.js} +2 -2
- package/build/server/chunks/{projectBundleClient-CU7VaUjl.js → projectBundleClient-CtwUt5G_.js} +3 -3
- package/build/server/chunks/{projectContextStore.svelte-BbJULDzB.js → projectContextStore.svelte-9emEyKKi.js} +2 -2
- package/build/server/chunks/{projectFeaturesStore.svelte-CTPucxAI.js → projectFeaturesStore.svelte-VuFAZwFy.js} +2 -2
- package/build/server/chunks/{projectStore.svelte-DVxYr7UH.js → projectStore.svelte-Dyr5JX4I.js} +4 -4
- package/build/server/chunks/{reconcile-C8OBvzeK.js → reconcile-Byh0GnqL.js} +2 -2
- package/build/server/chunks/{state-BOBs5j8z.js → state-VwavR9uS.js} +3 -3
- package/build/server/chunks/{stores-DrH1QcoG.js → stores-jRWW47mb.js} +3 -3
- package/build/server/chunks/{tagPaletteStore.svelte-CMT9IPMA.js → tagPaletteStore.svelte-9Wd8_rCw.js} +3 -3
- package/build/server/index.js +1 -1
- package/build/server/manifest.js +20 -20
- package/mcp-server/resources/operations.ts +68 -1
- package/mcp-server/tools/batch.ts +88 -18
- package/package.json +1 -1
- package/src/features/behavior-model/domain/entities/Surface.ts +11 -0
- package/src/features/behavior-model/domain/services/validation/referenceIntegrity.ts +35 -2
- package/src/features/maturity/domain/MaturityScorer.ts +15 -5
- package/src/features/simulator/domain/ParameterDomains.ts +96 -11
- package/src/features/simulator/domain/StateExplorer.ts +6 -2
- package/build/client/_app/immutable/chunks/B0K6Jxia2.js.br +0 -0
- package/build/client/_app/immutable/chunks/B0K6Jxia2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BA-q53p42.js.br +0 -0
- package/build/client/_app/immutable/chunks/BA-q53p42.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BHd4GNIo2.js.br +0 -0
- package/build/client/_app/immutable/chunks/BHd4GNIo2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BLErSy65.js +0 -1
- package/build/client/_app/immutable/chunks/BLErSy65.js.br +0 -0
- package/build/client/_app/immutable/chunks/BLErSy65.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BOViVyPK.js.br +0 -0
- package/build/client/_app/immutable/chunks/BOViVyPK.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BP3izzYa.js.br +0 -0
- package/build/client/_app/immutable/chunks/BP3izzYa.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BgjLttfH.js +0 -1
- package/build/client/_app/immutable/chunks/BgjLttfH.js.br +0 -0
- package/build/client/_app/immutable/chunks/BgjLttfH.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BiH-tU7x.js.br +0 -0
- package/build/client/_app/immutable/chunks/BiH-tU7x.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CCMy1UBa2.js.br +0 -0
- package/build/client/_app/immutable/chunks/CCMy1UBa2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CE7ndIoT.js.br +0 -0
- package/build/client/_app/immutable/chunks/CE7ndIoT.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CFFa_0pY.js.br +0 -0
- package/build/client/_app/immutable/chunks/CFFa_0pY.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CcA78DtM2.js.br +0 -0
- package/build/client/_app/immutable/chunks/CcA78DtM2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Czx0-8cO2.js.br +0 -0
- package/build/client/_app/immutable/chunks/Czx0-8cO2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D7NkISST.js.br +0 -0
- package/build/client/_app/immutable/chunks/D7NkISST.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D8-o2Sof2.js.br +0 -0
- package/build/client/_app/immutable/chunks/D8-o2Sof2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DBjEXU6n2.js.br +0 -0
- package/build/client/_app/immutable/chunks/DBjEXU6n2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DFN_uoUc.js.br +0 -0
- package/build/client/_app/immutable/chunks/DFN_uoUc.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DQqDh5KS2.js.br +0 -0
- package/build/client/_app/immutable/chunks/DQqDh5KS2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DiXkacF8.js +0 -1
- package/build/client/_app/immutable/chunks/DiXkacF8.js.br +0 -2
- package/build/client/_app/immutable/chunks/DiXkacF8.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DkX3qg_W.js.br +0 -0
- package/build/client/_app/immutable/chunks/DkX3qg_W.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DnApHYj3.js.br +0 -0
- package/build/client/_app/immutable/chunks/DnApHYj3.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DqmYsclE2.js.br +0 -0
- package/build/client/_app/immutable/chunks/DqmYsclE2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/H5AjsaL0.js.br +0 -0
- package/build/client/_app/immutable/chunks/H5AjsaL0.js.gz +0 -0
- package/build/client/_app/immutable/chunks/LTQjWdp6.js.br +0 -0
- package/build/client/_app/immutable/chunks/LTQjWdp6.js.gz +0 -0
- package/build/client/_app/immutable/chunks/TWC3jtDk2.js.br +0 -0
- package/build/client/_app/immutable/chunks/TWC3jtDk2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/gB6TDZ87.js.br +0 -0
- package/build/client/_app/immutable/chunks/gB6TDZ87.js.gz +0 -0
- package/build/client/_app/immutable/chunks/iSPCqpff.js.br +0 -0
- package/build/client/_app/immutable/chunks/iSPCqpff.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.A6sjm9Ku.js.br +0 -0
- package/build/client/_app/immutable/entry/app.A6sjm9Ku.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.CXZ1Se5D.js +0 -1
- package/build/client/_app/immutable/entry/start.CXZ1Se5D.js.br +0 -0
- package/build/client/_app/immutable/entry/start.CXZ1Se5D.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.Bcxxv-ZN.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.Bcxxv-ZN.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.CIoVaNqz.js.br +0 -2
- package/build/client/_app/immutable/nodes/1.CIoVaNqz.js.gz +0 -0
- package/build/client/_app/immutable/nodes/11.qdtoUmHC.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.qdtoUmHC.js.gz +0 -0
- package/build/client/_app/immutable/nodes/12.DFolraLv.js.br +0 -0
- package/build/client/_app/immutable/nodes/12.DFolraLv.js.gz +0 -0
- package/build/client/_app/immutable/nodes/13.BM7gjN4-.js.br +0 -0
- package/build/client/_app/immutable/nodes/13.BM7gjN4-.js.gz +0 -0
- package/build/client/_app/immutable/nodes/14.x8vEr-YU.js.br +0 -0
- package/build/client/_app/immutable/nodes/14.x8vEr-YU.js.gz +0 -0
- package/build/client/_app/immutable/nodes/15.BRhFecbH.js.br +0 -0
- package/build/client/_app/immutable/nodes/15.BRhFecbH.js.gz +0 -0
- package/build/client/_app/immutable/nodes/16.BdO7vFc5.js.br +0 -0
- package/build/client/_app/immutable/nodes/16.BdO7vFc5.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.BnjIPJ3_.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.BnjIPJ3_.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.t27BDikv.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.t27BDikv.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.CQUmwl-U.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.CQUmwl-U.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.CA1JzQ4s.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.CA1JzQ4s.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.BgaYm7sg.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.BgaYm7sg.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.CZOOqsbT.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.CZOOqsbT.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.DRk1Ol8z.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.DRk1Ol8z.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.C5inUZYQ.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.C5inUZYQ.js.gz +0 -0
- package/build/server/chunks/0-Di5jwR11.js +0 -15
- package/build/server/chunks/1-BJrteZAf.js +0 -9
- package/build/server/chunks/11-BOjJLkD7.js +0 -9
- package/build/server/chunks/12-D1cmeo5I.js +0 -9
- package/build/server/chunks/13-SzTyG6Rx.js +0 -9
- package/build/server/chunks/14-NZWcVsI9.js +0 -9
- package/build/server/chunks/15-BAJow9Ik.js +0 -9
- package/build/server/chunks/16-CkpfdUX_.js +0 -9
- package/build/server/chunks/2-C_K86lms.js +0 -9
- package/build/server/chunks/4-Dod5xiLb.js +0 -16
- package/build/server/chunks/5-DWYaS20u.js +0 -9
- package/build/server/chunks/6-CCHg2J4u.js +0 -9
- package/build/server/chunks/7-DapK4-Tk.js +0 -9
- package/build/server/chunks/8-D8EuSbQD.js +0 -9
- package/build/server/chunks/9-nwEboE96.js +0 -9
package/README.md
CHANGED
|
@@ -85,7 +85,7 @@ Point your AI agent at whatever you already have: a design screenshot, a product
|
|
|
85
85
|
|
|
86
86
|
- **Scenarios as spec tests**: the deterministic simulator runs every scenario, whole multi-step flows included, and reports pass or fail per assertion.
|
|
87
87
|
- **Prose acceptance criteria**: capture feature-level Given/When/Then edge cases as documentation, the honest complement to model-checked scenarios. Rendered, searchable, and carried in the model; never simulated or scored, because prose is not a formal assertion.
|
|
88
|
-
- **Bounded model checking**: explores the reachable state space for the paths you *didn't* write scenarios for: invariant counterexamples with the action path that reaches them, dead actions, deadlocks, and liveness goals ("done stays reachable"), drawing action inputs from their domains (enum values, booleans, numeric
|
|
88
|
+
- **Bounded model checking**: explores the reachable state space for the paths you *didn't* write scenarios for: invariant counterexamples with the action path that reaches them, dead actions, deadlocks, and liveness goals ("done stays reachable"), drawing action inputs from their domains (enum values, booleans, and the numeric thresholds a rule or invariant compares the input against, so a value on both sides of an `amount >= 500` gate is tried) so input-gated branches are explored even when the number declares no min/max.
|
|
89
89
|
- **Model what actually happens**: typed action outcomes (declined, timed out, partial), external dependencies + `invoke_operation` calls with their timeout / retry / idempotency contract, event delivery guarantees (a `required` handler failure fails the emitter; `transactional` rolls it back), and scoped invariant relaxation for repair actions.
|
|
90
90
|
- **Maturity scoring**: per-area scores plus an honest confidence matrix (the weakest dimension is the headline, so a strong score can't hide a zero); `get_spec_gaps` also proves rule-set contradictions and flags external calls with no timeout.
|
|
91
91
|
- **Spec ↔ code audit**: every entity records where it lives in code; coverage, gaps, and drift are reported, and generated scenario tests can *prove* the implementation matches, not just claim it.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{V as e,it as t,nt as n,rt as r}from"./D50Xf4Qj.js";import{K as i,N as a,P as o,V as s,dt as c,j as l,t as u,u as d,xt as f}from"./
|
|
1
|
+
import{V as e,it as t,nt as n,rt as r}from"./D50Xf4Qj.js";import{K as i,N as a,P as o,V as s,dt as c,j as l,t as u,u as d,xt as f}from"./CHEhPoA2.js";import{t as p}from"./Cl7Z3e6-.js";var m=e=>JSON.stringify({format:`unspaghettit`,version:1,feature:e},null,2),h=e=>{if(`actions`in e)return e;if(`capabilities`in e){let{capabilities:t,...n}=e;return{...n,actions:t}}return e},g=e=>{let t;try{t=JSON.parse(e)}catch(e){throw Error(`Invalid JSON: ${e.message}`)}if(!t||typeof t!=`object`)throw Error(`Expected a feature export object`);let n=t;if(n.format!==`unspaghettit`)throw Error(`Not an Unspaghettit export (missing format field)`);if(n.version!==1)throw Error(`Unsupported export version: ${n.version}`);let r=n.feature??n.experience;if(!r)throw Error(`Export envelope is missing a feature`);let o=(r.surfaces??[]).map(e=>h(e)),l=r,u=l.entities??l.data??[];return i(s(f(c({...r,tags:a(r.tags),surfaces:o,personas:r.personas??[],resources:r.resources??[],entities:u}))))},_=`Unknown`,v=new class{#e=t(!0);get loading(){return e(this.#e)}set loading(e){r(this.#e,e,!0)}#t=t(n([]));get summaries(){return e(this.#t)}set summaries(e){r(this.#t,e,!0)}#n=t(``);get search(){return e(this.#n)}set search(e){r(this.#n,e,!0)}#r=t(null);get pendingDeleteId(){return e(this.#r)}set pendingDeleteId(e){r(this.#r,e,!0)}#i=t(``);get selectedProjectId(){return e(this.#i)}set selectedProjectId(e){r(this.#i,e,!0)}#a=t(null);get error(){return e(this.#a)}set error(e){r(this.#a,e,!0)}async refresh(){try{this.loading=!0,this.error=null;let e=await u();this.summaries=[...await e.useCases.listProjects()]}catch(e){this.error=e.message}finally{this.loading=!1}}async refreshSilent(){try{let e=await u();this.summaries=[...await e.useCases.listProjects()],this.error=null}catch(e){this.error=e.message}}setSearch(e){this.search=e,p(`project.search_updated`,{query:e})}setSelectedProject(e){this.selectedProjectId=e,e&&p(`project.opened`,{id:e})}openProject(e){return this.setSelectedProject(e),`/projects/${e}`}stagePendingDelete(e){this.pendingDeleteId=e,p(`project.delete_requested`,{id:e})}clearPendingDelete(){this.pendingDeleteId=null}async create(e,t){let n=await(await u()).useCases.createProject({name:e,description:t});return await this.refreshSilent(),p(`project.created`,{id:String(n.id),name:n.name}),n.id}async remove(e){this.summaries=this.summaries.filter(t=>String(t.id)!==String(e)),this.clearPendingDelete(),await(await u()).useCases.deleteProject(e),p(`project.deleted`,{id:String(e)})}async reconcileOrphanFeatures(){let e=await u(),t=await e.useCases.listFeatures();if(t.length===0)return;let n=await e.useCases.listProjects(),r=new Set;for(let t of n){let n=await e.useCases.getProject(t.id);if(n)for(let e of n.featureIds)r.add(String(e))}let i=t.filter(e=>!r.has(String(e.id)));if(i.length===0)return;let a=n.find(e=>e.name===_);if(!a){let t=await e.useCases.createProject({name:_,description:`Auto-created bucket. Holds features that are not assigned to any other project. Rename or reassign to clean it up.`});a={id:t.id,name:t.name,description:t.description,featureCount:0,createdAt:t.createdAt,updatedAt:t.updatedAt}}for(let t of i)await e.useCases.addFeatureToProject(a.id,t.id);await this.refreshSilent()}},y=new class{#e=t(!0);get loading(){return e(this.#e)}set loading(e){r(this.#e,e,!0)}#t=t(n([]));get summaries(){return e(this.#t)}set summaries(e){r(this.#t,e,!0)}#n=t(null);get error(){return e(this.#n)}set error(e){r(this.#n,e,!0)}async refresh(){try{this.loading=!0,this.error=null;let e=await u();this.summaries=[...await e.useCases.listFeaturesWithMaturity()]}catch(e){this.error=e.message}finally{this.loading=!1}}async refreshSilent(){try{let e=await u();this.summaries=[...await e.useCases.listFeaturesWithMaturity()],this.error=null}catch(e){this.error=e.message}}async create(e,t){let n=await(await u()).useCases.createFeature({name:e,description:t});return await this.refreshSilent(),p(`feature.created`,{id:n.id,name:n.name}),n.id}async addTag(e,t){let n=await u(),r=await n.useCases.getFeature(e);r&&(await n.useCases.saveFeature({...r,tags:l(r.tags,t)}),await this.refreshSilent())}async removeTag(e,t){let n=await u(),r=await n.useCases.getFeature(e);r&&(await n.useCases.saveFeature({...r,tags:o(r.tags,t)}),await this.refreshSilent())}async setCore(e,t){let n=await u(),r=await n.useCases.getFeature(e);r&&(await n.useCases.saveFeature({...r,tags:d(r.tags,t)}),await this.refreshSilent())}async remove(e){this.summaries=this.summaries.filter(t=>String(t.id)!==String(e)),await(await u()).useCases.deleteFeature(e),p(`feature.deleted`,{id:e})}async loadSamples(){let e=await(await u()).useCases.loadSamples();return await this.refreshSilent(),await v.refreshSilent(),e}async importJson(e){let t=g(e),n=await u(),r=this.summaries.some(e=>e.id===t.id),i=await n.useCases.saveFeature(t);return await this.refreshSilent(),{id:i.id,name:i.name,overwrote:r}}};export{v as n,m as r,y as t};
|
|
Binary file
|
|
Binary file
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./
|
|
1
|
+
import{n as e}from"./DgWl1fLQ.js";import{Dt as t,Tt as n,ht as r}from"./CHEhPoA2.js";import"./C2-NAsCA.js";import{t as i}from"./CRYP5_po.js";import{t as a}from"./CfYiL4Vb.js";import{t as o}from"./BGtpkapy.js";import{t as s}from"./BQ9GodWX.js";var c=e=>t=>typeof t?.name==`string`&&i(t.name,e),l=()=>{let e=a.feature;if(!e)return null;for(let t=e.surfaces.length-1;t>=0;t--){let n=e.surfaces[t];if(n&&n.actions.length!==0)return n.actions[n.actions.length-1]??null}return null},u=()=>{let e=l();return e?e.parameters.some(e=>i(e.name,`politely`)&&e.type===`boolean`):!1},d=()=>{let e=l();return e?e.rules.filter(e=>!e.condition||`kind`in e.condition?!1:r(e.condition.left)&&e.effect.type===`show_message`).length:0},f={id:`first-feature`,name:`Build your first feature, end to end`,summary:`Walks you from an empty app to a Feature with one Action you run in the simulator. About 3 minutes. Uses fixed names so the experience is the same for everyone.`,steps:[{id:`welcome`,title:`Welcome`,body:`We'll build a tiny Feature together and run it in the simulator. We'll use fixed names so the rest of the tutorial reads the same way for you as for anyone else. Click Next when you're ready.`,advance:{kind:`manual`}},{id:`new-project`,title:`Create a project`,body:`Click 'New project'. A Project groups Features that belong to the same product or codebase.`,target:`[data-tour="new-project-button"]`,route:{pathname:`/projects`,label:`Go to Projects`},advance:{kind:`click`,selector:`[data-tour="new-project-button"]`}},{id:`fill-project`,title:`Name the project`,body:`Type exactly 'Hello World' in the Name field, then click 'New project'. The description is pre-filled - keep it as-is or tweak if you want.`,target:`[data-tour="new-project-form"]`,focusSelector:`[data-tour="new-project-form"] input[type="text"]`,prefill:[{selector:`[data-tour="new-project-description"]`,value:`A first project to learn Unspaghettit.`}],requireExact:{formId:`new-project`,value:`Hello World`},advance:{kind:`event`,event:`project.created`,match:c(`Hello World`)}},{id:`new-feature`,title:`Create a feature`,body:`Inside your project, click 'New feature'. A Feature is one coherent slice of behavior. Keep it small.`,target:`[data-tour="new-feature-button"]`,advance:{kind:`click`,selector:`[data-tour="new-feature-button"]`}},{id:`fill-feature`,title:`Name the feature`,body:`Type 'Greeting' in the Name field, then click 'Create feature'. The description is pre-filled.`,target:`[data-tour="new-feature-form"]`,focusSelector:`[data-tour="new-feature-form"] input[type="text"]`,prefill:[{selector:`[data-tour="new-feature-description"]`,value:`User opens the app and is welcomed.`}],requireExact:{formId:`new-feature`,value:`Greeting`},advance:{kind:`event`,event:`feature.created`,match:c(`Greeting`)}},{id:`add-surface`,title:`Add a surface`,body:`Click 'Add surface'. A Surface is one context where actions happen (a screen, a terminal, a workflow).`,target:`[data-tour="add-surface-button"]`,advance:{kind:`click`,selector:`[data-tour="add-surface-button"]`}},{id:`chooser-create-new`,title:`Pick "Create new"`,body:`We're starting from scratch, so click the 'Create new' card.`,target:`[data-tour="chooser-create-new"]`,advance:{kind:`click`,selector:`[data-tour="chooser-create-new"]`}},{id:`fill-surface`,title:`Name the surface`,body:`Surface name: type exactly 'Welcome Screen'. Keep the type on Screen. Click 'Create surface' to submit.`,target:`[data-tour="blank-surface-form"]`,focusSelector:`[data-tour="blank-surface-form"] input[type="text"]`,requireExact:{formId:`blank-surface`,value:`Welcome Screen`},advance:{kind:`event`,event:`editor.surface.added`,match:c(`Welcome Screen`)}},{id:`add-action`,title:`Add an action`,body:`Type exactly 'Say Hello' in the action form, then click 'Add action' (or press Enter). An Action is something the user or system can do on this surface.`,target:`[data-tour="add-action-form"]`,focusSelector:`[data-tour="add-action-form"] input[type="text"]`,requireExact:{formId:`add-action`,value:`Say Hello`},advance:{kind:`event`,event:`editor.action.added`,match:c(`Say Hello`)}},{id:`add-parameter`,title:`Give the action a parameter`,body:`The Say Hello editor just opened. In the Parameters section, click '+ Parameter'. The name field will focus automatically. Then:
|
|
2
2
|
1. type 'politely' for the Name
|
|
3
3
|
2. change Type to 'boolean'
|
|
4
4
|
Next unlocks once a 'politely' boolean parameter exists on Say Hello.`,target:`[data-tour="action-parameters-section"]`,advance:{kind:`manual`},canAdvance:u},{id:`add-rule-not-polite`,title:`Rule 1: the casual hello`,body:`We want the action to say 'Hi.' only when politely is NO. Add the first rule:
|
|
Binary file
|
|
Binary file
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{$ as e,F as t,M as n,N as r,R as i,V as a,_t as o,a as s,d as c,dt as l,et as ee,ft as u,j as d,ot as f,q as p,tt as m,y as h,z as g}from"./D50Xf4Qj.js";import"./xihTtKlq.js";import{t as te}from"./
|
|
1
|
+
import{$ as e,F as t,M as n,N as r,R as i,V as a,_t as o,a as s,d as c,dt as l,et as ee,ft as u,j as d,ot as f,q as p,tt as m,y as h,z as g}from"./D50Xf4Qj.js";import"./xihTtKlq.js";import{t as te}from"./CKwL_udH.js";import{t as _}from"./BoAjz79U2.js";var v=t(`<p class="line-clamp-3 text-sm leading-6 text-slate-600"> </p>`),ne=t(`<p class="text-sm leading-6 text-slate-500">No description yet. Open this feature to shape its behavior model.</p>`),re=t(`<span class="px-1">/</span>`),ie=t(`<span class="text-red-600"> </span> <!>`,1),ae=t(`<span class="text-amber-700"> </span>`),y=t(`<span class="text-emerald-700">All checks pass</span>`),b=t(`<button type="button"> </button>`),x=t(`<article class="group relative flex h-full min-h-52 flex-col justify-between overflow-hidden rounded-xl border border-cyan-100 bg-white p-5 shadow-sm shadow-cyan-950/5 transition duration-150 hover:-translate-y-0.5 hover:border-cyan-200 hover:bg-cyan-50/20 hover:shadow-md hover:shadow-cyan-950/10 focus-within:border-cyan-300"><div></div> <div class="space-y-4"><div class="flex items-start justify-between gap-3"><a class="block min-w-0 flex-1 after:absolute after:inset-0"><h3 class="truncate text-base font-semibold text-slate-950 group-hover:text-brand-800"> </h3></a> <div class="relative z-10 flex shrink-0 flex-col items-end gap-1"><span><span class="text-[9px] font-semibold uppercase tracking-wide opacity-70">Mat</span> <span class="tabular-nums"> </span></span> <span><span class="text-[9px] font-semibold uppercase tracking-wide opacity-70">Impl</span> <span class="tabular-nums"> </span></span></div></div> <!> <div class="relative z-10"><!></div> <div class="space-y-2"><!> <div class="text-xs text-slate-500"><!> <!> <!></div></div></div> <div class="mt-5 flex items-center justify-between gap-3 border-t border-hairline pt-3 text-xs text-slate-500"><span class="min-w-0 flex-1 truncate"> </span> <div class="relative z-10 flex shrink-0 items-center gap-1"><!> <button type="button" class="rounded px-2 py-1 text-slate-400 opacity-0 transition group-hover:opacity-100 group-focus-within:opacity-100 hover:bg-red-50 hover:text-red-600"> </button></div></div></article>`);function S(t,i){u(i,!0);let S=s(i,`tagTypeOptions`,19,()=>[]),oe=s(i,`deleteLabel`,3,`Delete`),C=s(i,`queued`,3,!1),w=e=>e>=80?`bg-emerald-50 text-emerald-700 border-emerald-200`:e>=50?`bg-amber-50 text-amber-800 border-amber-200`:`bg-red-50 text-red-700 border-red-200`,se=f(()=>w(i.summary.maturityPercentage)),ce=f(()=>i.summary.implementationPercentage===null||!i.summary.implementationHasReport?`bg-slate-50 text-slate-500 border-slate-200`:w(i.summary.implementationPercentage)),le=f(()=>i.summary.implementationPercentage===null?`-`:i.summary.implementationHasReport?`${i.summary.implementationPercentage}%`:`-`),T=f(()=>i.summary.implementationPercentage===null?`No taggable entities yet (actions, events, rules...)`:i.summary.implementationHasReport?`Implementation coverage: ${i.summary.implementationFoundCount} of ${i.summary.implementationExpectedCount} expected tags found in code`:`No .unspa.json report yet. Run report_implementation_status_batch to populate.`),E=f(()=>i.summary.maturityPercentage>=80?`from-emerald-400 via-brand-mint to-brand-500`:i.summary.maturityPercentage>=50?`from-amber-400 via-brand-ochre to-brand-peach`:`from-red-400 via-brand-coral to-brand-pink`);var D=x(),O=e(D),k=m(O,2),A=e(k),j=e(A),M=e(j),ue=e(M,!0);o(M),o(j);var N=m(j,2),P=e(N),F=m(e(P),2),I=e(F);o(F),o(P);var L=m(P,2),R=m(e(L),2),z=e(R,!0);o(R),o(L),o(N),o(A);var B=m(A,2),V=t=>{var a=v(),s=e(a,!0);o(a),p(()=>n(s,i.summary.description)),r(t,a)},H=e=>{r(e,ne())};d(B,e=>{i.summary.description?e(V):e(H,-1)});var U=m(B,2);te(e(U),{get tags(){return i.summary.tags},get onAddTag(){return i.onAddTag},get onRemoveTag(){return i.onRemoveTag},get typeOptions(){return S()}}),o(U);var W=m(U,2),G=e(W);_(G,{get percentage(){return i.summary.maturityPercentage},size:`sm`,get ariaLabel(){return`Maturity ${i.summary.maturityPercentage??``}%`}});var K=m(G,2),q=e(K),de=t=>{var a=ie(),s=ee(a),c=e(s);o(s);var l=m(s,2),u=e=>{r(e,re())};d(l,e=>{i.summary.recommendedIssueCount>0&&e(u)}),p(()=>n(c,`${i.summary.criticalIssueCount??``} critical`)),r(t,a)};d(q,e=>{i.summary.criticalIssueCount>0&&e(de)});var J=m(q,2),fe=t=>{var a=ae(),s=e(a);o(a),p(()=>n(s,`${i.summary.recommendedIssueCount??``} recommended`)),r(t,a)};d(J,e=>{i.summary.recommendedIssueCount>0&&e(fe)});var pe=m(J,2),me=e=>{r(e,y())};d(pe,e=>{i.summary.criticalIssueCount===0&&i.summary.recommendedIssueCount===0&&e(me)}),o(K),o(W),o(k);var Y=m(k,2),X=e(Y),he=e(X);o(X);var Z=m(X,2),Q=e(Z),ge=t=>{var a=b(),s=e(a,!0);o(a),p(()=>{h(a,1,`rounded px-2 py-1 transition ${C()?`font-medium text-brand-700 opacity-100 hover:bg-cyan-50 hover:text-brand-900`:`text-slate-400 opacity-0 hover:bg-cyan-50 hover:text-brand-800 group-hover:opacity-100 group-focus-within:opacity-100`}`),c(a,`title`,C()?`In implementation queue (click to remove)`:`Add to implementation queue`),n(s,C()?`✓ queued`:`+ queue`)}),g(`click`,a,function(...e){(C()?i.onRemoveFromQueue:i.onAddToQueue)?.apply(this,e)}),r(t,a)};d(Q,e=>{(i.onAddToQueue||i.onRemoveFromQueue)&&e(ge)});var $=m(Q,2),_e=e($,!0);o($),o(Z),o(Y),o(D),p(e=>{h(O,1,`absolute inset-x-0 top-0 h-1 bg-linear-to-r ${a(E)??``}`),c(j,`href`,`/features/${i.summary.id}`),n(ue,i.summary.name),h(P,1,`inline-flex items-center gap-1 rounded-md border px-1.5 py-0.5 text-[10px] font-medium ${a(se)??``}`),c(P,`title`,`Maturity score: how complete this feature's behavior model is (${i.summary.maturityPercentage??``}% of spec quality checks pass)`),n(I,`${i.summary.maturityPercentage??``}%`),h(L,1,`inline-flex items-center gap-1 rounded-md border px-1.5 py-0.5 text-[10px] font-medium ${a(ce)??``}`),c(L,`title`,a(T)),n(z,a(le)),n(he,`${i.summary.surfaceCount??``} surface${i.summary.surfaceCount===1?``:`s`} / ${i.summary.actionCount??``}
|
|
2
2
|
action${i.summary.actionCount===1?``:`s`} / Updated ${e??``}`),n(_e,oe())},[()=>new Date(i.summary.updatedAt).toLocaleDateString()]),g(`click`,$,function(...e){i.onDelete?.apply(this,e)}),r(t,D),l()}i([`click`]);export{S as t};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{V as e,it as t,nt as n,ot as r,rt as i}from"./D50Xf4Qj.js";import{c as a,o,s,t as c}from"./
|
|
1
|
+
import{V as e,it as t,nt as n,ot as r,rt as i}from"./D50Xf4Qj.js";import{c as a,o,s,t as c}from"./CHEhPoA2.js";import{t as l}from"./Cl7Z3e6-.js";import{n as u,r as d}from"./CFOrhKj0.js";var f=new class{#e=t(!0);get loading(){return e(this.#e)}set loading(e){i(this.#e,e,!0)}#t=t(null);get project(){return e(this.#t)}set project(e){i(this.#t,e,!0)}#n=r(()=>this.project?String(this.project.id):``);get id(){return e(this.#n)}set id(e){i(this.#n,e)}#r=r(()=>this.project?.name??``);get name(){return e(this.#r)}set name(e){i(this.#r,e)}#i=r(()=>this.project?this.project.featureIds.map(String):[]);get featureIds(){return e(this.#i)}set featureIds(e){i(this.#i,e)}#a=t(null);get error(){return e(this.#a)}set error(e){i(this.#a,e,!0)}#o=t(null);get saveError(){return e(this.#o)}set saveError(e){i(this.#o,e,!0)}#s=t(!1);get saving(){return e(this.#s)}set saving(e){i(this.#s,e,!0)}#c=t(!1);get dirty(){return e(this.#c)}set dirty(e){i(this.#c,e,!0)}#l=t(``);get lastSavedAt(){return e(this.#l)}set lastSavedAt(e){i(this.#l,e,!0)}#u=t(`features`);get activePanel(){return e(this.#u)}set activePanel(e){i(this.#u,e,!0)}#d=t(``);get selectedFeatureId(){return e(this.#d)}set selectedFeatureId(e){i(this.#d,e,!0)}#f=t(``);get search(){return e(this.#f)}set search(e){i(this.#f,e,!0)}#p=t(n([]));get historyEntries(){return e(this.#p)}set historyEntries(e){i(this.#p,e,!0)}#m=t(-1);get historyCursor(){return e(this.#m)}set historyCursor(e){i(this.#m,e,!0)}currentId=null;client=null;clientUnsubscribe=null;historyUnsubscribe=null;async load(e){try{this.loading=!0,this.error=null,this.currentId=e;let t=await(await c()).useCases.getProject(e);this.project=t,this.dirty=!1,this.lastSavedAt=t?.updatedAt??``,this.subscribeRoom(e)}catch(e){this.error=e.message}finally{this.loading=!1}}setActivePanel(e){this.activePanel=e,l(`project.panel_switched`,{panel:e})}setSearch(e){this.search=e,l(`project.editor_search_updated`,{query:e})}setSelectedFeature(e){this.selectedFeatureId=e,e&&l(`project.feature_opened`,{featureId:e})}async addFeature(e){if(!(!this.project||!this.currentId)){this.saving=!0,this.saveError=null;try{let t=await(await c()).useCases.addFeatureToProject(this.currentId,e);this.applyProject(t),l(`project.feature_added`,{projectId:String(this.currentId),featureId:String(e)})}catch(e){this.saveError=e.message}finally{this.saving=!1}}}async removeFeature(e){if(!(!this.project||!this.currentId)){this.saving=!0,this.saveError=null;try{let t=await(await c()).useCases.removeFeatureFromProject(this.currentId,e);this.applyProject(t),l(`project.feature_removed`,{projectId:String(this.currentId),featureId:String(e)})}catch(e){this.saveError=e.message}finally{this.saving=!1}}}async rename(e){if(this.project){this.saving=!0,this.saveError=null;try{let t=await(await c()).useCases.saveProject({...this.project,name:e.trim()});this.applyProject(t)}catch(e){this.saveError=e.message}finally{this.saving=!1}}}async updateMetadata(e,t){if(!this.project)return;let n=e.trim();if(n.length!==0){this.saving=!0,this.saveError=null;try{let e=await c(),r=t.trim(),i=await e.useCases.saveProject({...this.project,name:n,description:r.length>0?r:void 0});this.applyProject(i),l(`project.saved`,{id:String(i.id),name:i.name})}catch(e){this.saveError=e.message}finally{this.saving=!1}}}async setDescription(e){if(this.project){this.saving=!0,this.saveError=null;try{let t=await c(),n=e.trim(),r=await t.useCases.saveProject({...this.project,description:n.length>0?n:void 0});this.applyProject(r)}catch(e){this.saveError=e.message}finally{this.saving=!1}}}async declareCoreFeature(e,t){await this.saveWith(n=>o(n,{value:e,description:t}))}async updateCoreFeature(e,t){await this.saveWith(n=>a(n,e,{description:t}))}async removeCoreFeature(e){await this.saveWith(t=>s(t,e))}async saveWith(e){if(this.project){this.saving=!0,this.saveError=null;try{let t=await(await c()).useCases.saveProject(e(this.project));this.applyProject(t)}catch(e){this.saveError=e.message}finally{this.saving=!1}}}dismissSaveError(){this.saveError=null}reset(){this.clientUnsubscribe&&=(this.clientUnsubscribe(),null),this.historyUnsubscribe&&=(this.historyUnsubscribe(),null),this.client=null,this.currentId=null,this.project=null,this.historyEntries=[],this.historyCursor=-1,this.error=null,this.saveError=null,this.loading=!0,this.saving=!1,this.dirty=!1,this.lastSavedAt=``,this.activePanel=`features`,this.selectedFeatureId=``,this.search=``}applyProject(e){this.project?u(this.project,e):this.project=e,this.dirty=!1,this.lastSavedAt=e.updatedAt}subscribeRoom(e){this.clientUnsubscribe&&=(this.clientUnsubscribe(),null),this.historyUnsubscribe&&=(this.historyUnsubscribe(),null);let t=d(`project`,e);this.client=t,this.clientUnsubscribe=t.observe((t,n)=>{n!==`local`&&t&&this.currentId===e&&(this.project?u(this.project,t):this.project=t,this.lastSavedAt=t.updatedAt)}),this.historyEntries=t.history.entries,this.historyCursor=t.history.cursor,this.historyUnsubscribe=t.observeHistory(t=>{this.currentId===e&&(this.historyEntries=t.entries,this.historyCursor=t.cursor)})}};export{f as t};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{V as e,it as t,nt as n,rt as r}from"./D50Xf4Qj.js";import{t as i}from"./
|
|
1
|
+
import{V as e,it as t,nt as n,rt as r}from"./D50Xf4Qj.js";import{t as i}from"./CHEhPoA2.js";var a=new class{#e=t(!1);get loading(){return e(this.#e)}set loading(e){r(this.#e,e,!0)}#t=t(n([]));get features(){return e(this.#t)}set features(e){r(this.#t,e,!0)}#n=t(n([]));get allSummaries(){return e(this.#n)}set allSummaries(e){r(this.#n,e,!0)}#r=t(null);get error(){return e(this.#r)}set error(e){r(this.#r,e,!0)}async load(e){this.loading=!0,this.error=null;try{let t=await i(),n=await Promise.all(e.map(e=>t.useCases.getFeature(e)));this.features=n.filter(e=>e!==null)}catch(e){this.error=e.message}finally{this.loading=!1}}async syncWith(e){let t=new Set(e.map(String)),n=new Map(this.features.map(e=>[String(e.id),e])),r=e.filter(e=>!n.has(String(e))),a=n;if(r.length>0)try{let e=await i(),t=await Promise.all(r.map(t=>e.useCases.getFeature(t)));a=new Map(n);for(let e of t)e&&a.set(String(e.id),e)}catch(e){this.error=e.message;return}this.features=e.map(e=>a.get(String(e))).filter(e=>e!==void 0&&t.has(String(e.id)))}async refetchOne(e){try{let t=await(await i()).useCases.getFeature(e),n=this.features.findIndex(t=>String(t.id)===String(e));if(!t){n>=0&&(this.features=[...this.features.slice(0,n),...this.features.slice(n+1)]);return}n>=0?this.features=[...this.features.slice(0,n),t,...this.features.slice(n+1)]:this.features=[...this.features,t]}catch(e){this.error=e.message}}async loadAllSummaries(){try{let e=await i();this.allSummaries=[...await e.useCases.listFeatures()]}catch(e){this.error=e.message}}reset(){this.features=[],this.allSummaries=[],this.loading=!1,this.error=null}};export{a as t};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{V as e,it as t,rt as n}from"./D50Xf4Qj.js";import{R as r}from"./
|
|
1
|
+
import{V as e,it as t,rt as n}from"./D50Xf4Qj.js";import{R as r}from"./CHEhPoA2.js";import{r as i}from"./CFOrhKj0.js";var a=new class{#e=t(!1);get loading(){return e(this.#e)}set loading(e){n(this.#e,e,!0)}#t=t(!1);get refreshing(){return e(this.#t)}set refreshing(e){n(this.#t,e,!0)}#n=t(null);get status(){return e(this.#n)}set status(e){n(this.#n,e,!0)}#r=t(null);get error(){return e(this.#r)}set error(e){n(this.#r,e,!0)}#i=t(null);get lastFetchedAt(){return e(this.#i)}set lastFetchedAt(e){n(this.#i,e,!0)}#a=t(null);get lastUpdateSignalAt(){return e(this.#a)}set lastUpdateSignalAt(e){n(this.#a,e,!0)}currentId=null;client=null;clientUnsubscribe=null;async load(e){this.currentId=e,this.error=null,this.loading=!0;try{await this.fetchOnce(e),this.subscribeRoom(e)}finally{this.loading=!1}}async refresh(){if(!(!this.currentId||this.refreshing)){this.refreshing=!0,this.error=null;try{await this.fetchOnce(this.currentId)}finally{this.refreshing=!1}}}reset(){this.clientUnsubscribe&&=(this.clientUnsubscribe(),null),this.client=null,this.currentId=null,this.status=null,this.error=null,this.loading=!1,this.refreshing=!1,this.lastFetchedAt=null,this.lastUpdateSignalAt=null}async fetchOnce(e){try{let t=await r(`/api/snapshots/${e}/implementation-status`);if(!t.ok){this.status=null;return}let n=await t.json();this.status=n??null,this.lastFetchedAt=new Date().toISOString()}catch(e){this.error=e.message}}subscribeRoom(e){this.clientUnsubscribe&&=(this.clientUnsubscribe(),null);let t=i(`implementation-status`,e);this.client=t,this.clientUnsubscribe=t.observe((t,n)=>{this.currentId===e&&n!==`local`&&(this.lastUpdateSignalAt=new Date().toISOString(),this.status=t,this.lastFetchedAt=this.lastUpdateSignalAt)})}};export{a as t};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$ as e,B as t,F as n,J as r,M as i,N as a,O as o,P as s,Q as c,R as l,V as u,_t as d,a as f,d as p,dt as m,et as h,ft as g,gt as _,it as v,j as y,l as b,m as x,ot as S,q as C,rt as w,s as T,tt as E,u as D,v as O,y as k,z as A}from"./D50Xf4Qj.js";import"./xihTtKlq.js";import{I as j,L as M,M as N,k as P}from"./
|
|
1
|
+
import{$ as e,B as t,F as n,J as r,M as i,N as a,O as o,P as s,Q as c,R as l,V as u,_t as d,a as f,d as p,dt as m,et as h,ft as g,gt as _,it as v,j as y,l as b,m as x,ot as S,q as C,rt as w,s as T,tt as E,u as D,v as O,y as k,z as A}from"./D50Xf4Qj.js";import"./xihTtKlq.js";import{I as j,L as M,M as N,k as P}from"./CHEhPoA2.js";import{n as F,t as I}from"./r_dyVatm.js";import{n as L}from"./CKwL_udH.js";var R=n(`<button type="button"></button>`),z=n(`<div class="absolute right-0 z-30 mt-2 w-56 rounded-lg border border-hairline bg-white p-3 shadow-lg" role="dialog" aria-label="Color picker"><p class="mb-2 text-[10px] font-semibold uppercase tracking-wider text-slate-500">Presets</p> <div class="grid grid-cols-5 gap-2"></div> <div class="mt-3 border-t border-hairline pt-3"><label class="flex items-center justify-between gap-2 text-xs text-slate-700"><span class="font-medium">Custom</span> <input type="color" class="h-7 w-12 cursor-pointer rounded border border-slate-300 bg-white p-0.5"/></label></div> <div class="mt-2"><button type="button" class="flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-left text-xs font-medium text-slate-600 transition hover:bg-slate-50 hover:text-red-700 disabled:cursor-default disabled:opacity-40 disabled:hover:bg-transparent disabled:hover:text-slate-600"><!> <span>No color</span></button></div></div>`),B=n(`<div class="relative inline-block"><button type="button" class="flex size-6 cursor-pointer items-center justify-center overflow-hidden rounded-full ring-1 ring-inset ring-slate-300 transition hover:ring-slate-500" aria-haspopup="dialog" title="Pick a color"><!></button> <!></div>`);function V(t,n){g(n,!0);let i=f(n,`label`,3,`tag`),s=v(!1),c=v(null),l=v(null);function h(){w(s,!u(s))}function b(){w(s,!1)}r(()=>{if(!u(s))return;let e=e=>{let t=e.target;u(c)?.contains(t)||u(l)?.contains(t)||b()},t=e=>{e.key===`Escape`&&b()};return window.addEventListener(`pointerdown`,e,!0),window.addEventListener(`keydown`,t),()=>{window.removeEventListener(`pointerdown`,e,!0),window.removeEventListener(`keydown`,t)}});function j(e){n.onChange(e),b()}function M(e){let t=e.target.value;n.onChange(P(t))}function N(e){let t=e.target.value;n.onChange(P(t)),b()}var I=B(),V=e(I),H=e(V),U=e=>{L(e,{color:null,size:4})};y(H,e=>{n.value||e(U)}),d(V),T(V,e=>w(l,e),()=>u(l));var W=E(V,2),G=t=>{var r=z(),s=E(e(r),2);o(s,21,()=>F,e=>e.color,(e,t)=>{let r=S(()=>n.value===u(t).color);var o=R();let s;C(()=>{s=k(o,1,`flex size-7 items-center justify-center rounded-full ring-offset-2 transition hover:scale-110`,null,s,{"ring-2":u(r),"ring-slate-900":u(r)}),O(o,`background-color: ${u(t).color??``};`),p(o,`title`,u(t).name),p(o,`aria-label`,`Set ${i()} color to ${u(t).name}`)}),A(`click`,o,()=>j(u(t).color)),a(e,o)}),d(s);var l=E(s,2),f=e(l),m=E(e(f),2);D(m),d(f),d(l);var h=E(l,2),g=e(h);L(e(g),{color:null,size:4}),_(2),d(g),d(h),d(r),T(r,e=>w(c,e),()=>u(c)),C(()=>{x(m,n.value??`#94a3b8`),p(m,`aria-label`,`Custom color for ${i()}`),g.disabled=n.value===null}),A(`input`,m,M),A(`change`,m,N),A(`click`,g,()=>j(null)),a(t,r)};y(W,e=>{u(s)&&e(G)}),d(I),C(()=>{O(V,n.value?`background-color: ${n.value};`:`background-color: white;`),p(V,`aria-expanded`,u(s)),p(V,`aria-label`,`Pick a color for ${i()}`)}),A(`click`,V,h),a(t,I),m()}l([`click`,`input`,`change`]);var H=n(`<p class="text-sm text-slate-500">No tags yet. Add a tag to a project or feature to start grouping.</p>`),U=n(`<li class="flex items-center justify-between gap-3 rounded-md px-2 py-1 text-sm hover:bg-slate-50"><span class="truncate text-slate-700"> </span> <button type="button" class="rounded px-2 py-1 text-xs font-medium text-slate-500 hover:bg-slate-100 hover:text-slate-900">Rename</button></li>`),W=n(`<li class="space-y-2"><div class="flex items-center justify-between gap-3"><div class="flex min-w-0 items-center gap-2"><!> <span class="truncate text-sm font-semibold text-slate-900"> </span> <span class="text-xs text-slate-500"> </span></div> <!></div> <ul class="space-y-1 pl-5"></ul></li>`),G=n(`<ul class="space-y-5"></ul>`),K=n(`<p class="text-sm text-red-700"> </p>`),q=n(`<div class="fixed inset-0 z-50 flex items-start justify-center bg-slate-950/40 px-4 py-24 backdrop-blur-sm" role="presentation"><div class="w-full max-w-md overflow-hidden rounded-xl border border-hairline bg-white shadow-xl" role="dialog" aria-modal="true" aria-labelledby="rename-tag-title"><header class="border-b border-hairline px-5 py-4"><h3 id="rename-tag-title" class="text-base font-semibold text-slate-950"> </h3> <p class="mt-1 text-xs text-slate-500">Updates every project and feature that uses this tag.</p></header> <div class="space-y-3 px-5 py-4"><label class="block text-sm"><span class="mb-1 block text-xs font-medium uppercase tracking-wide text-slate-500">Type</span> <input type="text" class="h-9 w-full rounded-md border border-slate-300 px-3 text-sm outline-none focus:border-brand-700"/></label> <label class="block text-sm"><span class="mb-1 block text-xs font-medium uppercase tracking-wide text-slate-500">Value</span> <input type="text" class="h-9 w-full rounded-md border border-slate-300 px-3 text-sm outline-none focus:border-brand-700"/></label> <!></div> <footer class="flex items-center justify-end gap-2 border-t border-hairline bg-slate-50 px-5 py-3"><button type="button" class="rounded-md px-3 py-1.5 text-sm font-medium text-slate-700 hover:bg-slate-100 disabled:opacity-40">Cancel</button> <button type="button" class="rounded-md bg-slate-900 px-3 py-1.5 text-sm font-medium text-white hover:bg-slate-800 disabled:opacity-40"> </button></footer></div></div>`),J=n(`<div class="fixed inset-0 z-40 flex items-start justify-center bg-slate-950/30 px-4 py-16 backdrop-blur-sm" role="presentation"><div class="w-full max-w-2xl overflow-hidden rounded-xl border border-hairline bg-white shadow-xl" role="dialog" aria-modal="true" aria-labelledby="manage-tags-title"><header class="flex items-start justify-between gap-4 border-b border-hairline px-5 py-4"><div><h2 id="manage-tags-title" class="text-base font-semibold text-slate-950">Manage tags</h2> <p class="mt-1 text-sm text-slate-500">Set a color per tag type, or rename a tag everywhere it appears.</p></div> <button type="button" class="rounded-md px-2 py-1 text-sm text-slate-500 hover:bg-slate-100 hover:text-slate-900" aria-label="Close">x</button></header> <div class="max-h-[60vh] overflow-y-auto px-5 py-4"><!></div> <footer class="flex items-center justify-end gap-2 border-t border-hairline bg-slate-50 px-5 py-3"><button type="button" class="rounded-md px-3 py-1.5 text-sm font-medium text-slate-700 hover:bg-slate-100">Done</button></footer></div></div> <!>`,1);function Y(n,r){g(r,!0);let l=v(null),f=S(()=>{let e=new Map;for(let t of r.tags){let n=t.type.trim().toLowerCase();if(!n)continue;let r=e.get(n);r?r.tags.some(e=>j(e)===j(t))||r.tags.push(t):e.set(n,{tags:[t]})}return[...e.entries()].sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>({key:e,display:N(e),tags:[...t.tags].sort((e,t)=>e.value.localeCompare(t.value))}))});async function x(e,t){try{await I.setTypeColor(e,t)}catch(e){console.error(`Failed to set tag color`,e)}}function T(e){w(l,{tag:e,type:N(e.type),value:N(e.value),busy:!1,error:null},!0)}function O(){w(l,null)}async function k(){let e=u(l);if(!e)return;let t=e.tag,n={type:e.type.trim(),value:e.value.trim()};if(!n.type||!n.value){w(l,{...e,error:`Type and value are required`},!0);return}if(j(t)===j(n)){w(l,null);return}w(l,{...e,busy:!0,error:null},!0);try{let e=await I.renameTag(t,n);w(l,null),await r.onRenamed?.({from:t,to:n,projectsUpdated:e.projectsUpdated,featuresUpdated:e.featuresUpdated})}catch(t){w(l,{...e,busy:!1,error:t.message},!0)}}function P(e){e.key===`Escape`&&(u(l)?O():r.onClose())}var F=s();t(`keydown`,c,P);var R=h(F),z=t=>{var n=J(),s=h(n),c=e(s),m=e(c),g=E(e(m),2);d(m);var v=E(m,2),w=e(v),P=e=>{a(e,H())},F=t=>{var n=G();o(n,21,()=>u(f),e=>e.key,(t,n)=>{let r=S(()=>I.colorFor(u(n).key));var s=W(),c=e(s),l=e(c),f=e(l);L(f,{get color(){return u(r)},size:2.5});var m=E(f,2),h=e(m,!0);d(m);var g=E(m,2),_=e(g);d(g),d(l),V(E(l,2),{get value(){return u(r)},onChange:e=>x(u(n).key,e),get label(){return u(n).display}}),d(c);var v=E(c,2);o(v,21,()=>u(n).tags,e=>j(e),(t,n)=>{var r=U(),o=e(r),s=e(o,!0);d(o);var c=E(o,2);d(r),C((e,t)=>{p(o,`title`,e),i(s,t)},[()=>M(u(n)),()=>N(u(n).value)]),A(`click`,c,()=>T(u(n))),a(t,r)}),d(v),d(s),C(()=>{i(h,u(n).display),i(_,`(${u(n).tags.length??``} value${u(n).tags.length===1?``:`s`})`)}),a(t,s)}),d(n),a(t,n)};y(w,e=>{u(f).length===0?e(P):e(F,-1)}),d(v);var R=E(v,2),z=e(R);d(R),d(c),d(s);var B=E(s,2),Y=t=>{var n=q(),r=e(n),o=e(r),s=e(o),c=e(s);d(s),_(2),d(o);var f=E(o,2),p=e(f),m=E(e(p),2);D(m),d(p);var h=E(p,2),g=E(e(h),2);D(g),d(h);var v=E(h,2),x=t=>{var n=K(),r=e(n,!0);d(n),C(()=>i(r,u(l).error)),a(t,n)};y(v,e=>{u(l).error&&e(x)}),d(f);var S=E(f,2),w=e(S),T=E(w,2),j=e(T,!0);d(T),d(S),d(r),d(n),C(e=>{i(c,`Rename "${e??``}"`),m.disabled=u(l).busy,g.disabled=u(l).busy,w.disabled=u(l).busy,T.disabled=u(l).busy,i(j,u(l).busy?`Renaming...`:`Rename everywhere`)},[()=>M(u(l).tag)]),A(`click`,n,e=>{e.currentTarget===e.target&&!u(l)?.busy&&O()}),b(m,()=>u(l).type,e=>u(l).type=e),b(g,()=>u(l).value,e=>u(l).value=e),A(`click`,w,O),A(`click`,T,k),a(t,n)};y(B,e=>{u(l)&&e(Y)}),A(`click`,s,e=>{e.currentTarget===e.target&&r.onClose()}),A(`click`,g,function(...e){r.onClose?.apply(this,e)}),A(`click`,z,function(...e){r.onClose?.apply(this,e)}),a(t,n)};y(R,e=>{r.open&&e(z)}),a(n,F),m()}l([`click`]);export{Y as t};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./DgWl1fLQ.js";
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{V as e,it as t,nt as n,rt as r}from"./D50Xf4Qj.js";import{i,t as a}from"./
|
|
1
|
+
import{V as e,it as t,nt as n,rt as r}from"./D50Xf4Qj.js";import{i,t as a}from"./CHEhPoA2.js";var o=new class{#e=t(!1);get loading(){return e(this.#e)}set loading(e){r(this.#e,e,!0)}#t=t(null);get project(){return e(this.#t)}set project(e){r(this.#t,e,!0)}#n=t(n([]));get siblings(){return e(this.#n)}set siblings(e){r(this.#n,e,!0)}#r=t(null);get error(){return e(this.#r)}set error(e){r(this.#r,e,!0)}currentFeatureId=null;async load(e){this.currentFeatureId=e,this.loading=!0,this.error=null;try{let t=await a(),n=await t.useCases.findProjectContainingFeature(e);if(this.currentFeatureId!==e)return;if(this.project=n,!n){this.siblings=[];return}let r=n.featureIds.filter(t=>t!==e),i=[];for(let n of r){let r=await t.useCases.getFeature(n);if(this.currentFeatureId!==e)return;r&&i.push(r)}this.siblings=i}catch(e){this.error=e.message}finally{this.currentFeatureId===e&&(this.loading=!1)}}reset(){this.currentFeatureId=null,this.project=null,this.siblings=[],this.error=null,this.loading=!1}get isInProject(){return this.project!==null}isActionQueued(e,t){let n=this.project?.implementationQueue??[],r=`action:${String(e)}:${String(t)}`;return n.some(e=>i(e)===r)}isSurfaceQueued(e,t){let n=this.project?.implementationQueue??[],r=`surface:${String(e)}:${String(t)}`;return n.some(e=>i(e)===r)}async enqueueAction(e,t){let n=this.project;if(!n)return!1;try{let r=await(await a()).useCases.enqueueQueueItem(n.id,{kind:`action`,featureId:e,actionId:t});return this.project=r.project,!0}catch(e){return this.error=e.message,!1}}async enqueueSurface(e,t){let n=this.project;if(!n)return!1;try{let r=await(await a()).useCases.enqueueQueueItem(n.id,{kind:`surface`,featureId:e,surfaceId:t});return this.project=r.project,!0}catch(e){return this.error=e.message,!1}}async dequeueByItemId(e){let t=this.project;if(t)try{let n=await(await a()).useCases.dequeueQueueItem(t.id,e);this.project=n}catch(e){this.error=e.message}}findQueueItemIdForAction(e,t){let n=this.project?.implementationQueue??[],r=`action:${String(e)}:${String(t)}`,a=n.find(e=>i(e)===r);return a?a.id:null}findQueueItemIdForSurface(e,t){let n=this.project?.implementationQueue??[],r=`surface:${String(e)}:${String(t)}`,a=n.find(e=>i(e)===r);return a?a.id:null}};export{o as t};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{G as e}from"./
|
|
1
|
+
import{G as e}from"./CHEhPoA2.js";var t=class extends Error{kind;id;constructor(e,t){super(`${e} ${t} not found in feature`),this.kind=e,this.id=t,this.name=`EntityNotFoundInFeatureError`}},n=(e,n,r,i)=>{let a=!1,o=e.map(e=>e.id===n?(a=!0,i(e)):e);if(!a)throw new t(r,n);return o},r=(e,t,r)=>({...e,surfaces:n(e.surfaces,String(t),`surface`,r)}),i=(e,t,r)=>({...e,actions:n(e.actions,String(t),`action`,r)}),a=(e,t,n)=>{if(t===n||t<0||n<0||t>=e.length||n>=e.length)return e;let r=e.slice(),i=r[t];return r[t]=r[n],r[n]=i,r},o=(e,t)=>({...e,surfaces:[...e.surfaces,t]}),s=(e,t)=>({...e,surfaces:e.surfaces.filter(e=>e.id!==t)}),c=(e,t)=>{let n=h(e,e[t].id),r=t;for(let i=t+1;i<e.length&&!(h(e,e[i].id)<=n);i+=1)r=i;return{start:t,end:r}},l=(e,t,n)=>{let r=e.surfaces,i=r.findIndex(e=>e.id===t);if(i<0)return e;let a=h(r,t),o=c(r,i);if(n===1){let t=o.end+1;if(t>=r.length||h(r,r[t].id)!==a)return e;let n=c(r,t);return{...e,surfaces:[...r.slice(0,o.start),...r.slice(n.start,n.end+1),...r.slice(o.start,o.end+1),...r.slice(n.end+1)]}}if(o.start===0)return e;let s=o.start-1;if(h(r,r[s].id)<a)return e;let l=s;for(;l>0&&h(r,r[l].id)>a;)--l;return{...e,surfaces:[...r.slice(0,l),...r.slice(o.start,o.end+1),...r.slice(l,o.start),...r.slice(o.end+1)]}},u=(e,t)=>{let n=e.findIndex(e=>e.id===t);if(n<=0)return!1;let r=h(e,t);return h(e,e[n-1].id)>=r},d=(e,t)=>{let n=e.findIndex(e=>e.id===t);if(n<0)return!1;let r=h(e,t),i=c(e,n).end+1;return i>=e.length?!1:h(e,e[i].id)===r},f=(e,t,n)=>{if(n.targetId===t)return e;let r=e.surfaces,i=r.findIndex(e=>e.id===t),a=r.findIndex(e=>e.id===n.targetId);if(i<0||a<0)return e;let o=c(r,i);if(a>=o.start&&a<=o.end)return e;let s=r[a],l=n.kind===`inside`?s.id:s.parentSurfaceId??null;if(l===t||l!==null&&p(r,l,t))return e;let u=[{...r[i],parentSurfaceId:l??void 0},...r.slice(o.start+1,o.end+1)],d=[...r.slice(0,o.start),...r.slice(o.end+1)],f=d.findIndex(e=>e.id===n.targetId);if(f<0)return e;let m;return m=n.kind===`before`?f:c(d,f).end+1,{...e,surfaces:[...d.slice(0,m),...u,...d.slice(m)]}},p=(e,t,n)=>{let r=e.find(e=>e.id===t),i=0;for(;r?.parentSurfaceId&&i<32;){if(r.parentSurfaceId===n)return!0;r=e.find(e=>e.id===r.parentSurfaceId),i++}return!1},m=(e,t,n)=>n!==null&&(n===t||!e.surfaces.some(e=>e.id===n)||p(e.surfaces,n,t))?e:r(e,t,e=>({...e,parentSurfaceId:n??void 0})),h=(e,t)=>{let n=0,r=e.find(e=>e.id===t);for(;r?.parentSurfaceId&&n<32;){let t=e.find(e=>e.id===r.parentSurfaceId);if(!t)break;r=t,n++}return n},ee=(e,t,n)=>r(e,t,e=>({...e,...n})),g=(e,t,n)=>r(e,t,e=>({...e,stateDefinitions:[...e.stateDefinitions,n]})),_=(e,n,i,a)=>r(e,n,e=>{let n=e.stateDefinitions.find(e=>e.id===i);if(!n)throw new t(`stateDefinition`,String(i));let r={...n,...a},o=`enumValues`in a&&!v(n.enumValues,r.enumValues),s=`type`in a&&n.type!==r.type,c=e.stateDefinitions.map(e=>e.id===i?r:e);if(!o&&!s)return{...e,stateDefinitions:c};let l=r.path,u=r.type===`enum`?r.enumValues:void 0,d=r.type===`enum`;return{...e,stateDefinitions:c,actions:e.actions.map(e=>({...e,parameters:e.parameters.map(e=>{if(e.bindToStatePath!==l||e.type!==`enum`)return e;if(!d){let{enumValues:t,...n}=e;return n}return u===void 0?e:{...e,enumValues:u}})}))}}),v=(e,t)=>{if(e===t)return!0;if(!e||!t||e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1)if(e[n]!==t[n])return!1;return!0},y=(e,t,n)=>r(e,t,e=>({...e,stateDefinitions:e.stateDefinitions.filter(e=>e.id!==n)})),b=(e,t,n,i)=>r(e,t,e=>{let t=e.stateDefinitions.findIndex(e=>e.id===n);return t<0?e:{...e,stateDefinitions:a(e.stateDefinitions,t,t+i)}}),x=(e,t,n)=>r(e,t,e=>({...e,actions:[...e.actions,n]})),S=(e,t,n)=>r(e,t,e=>({...e,actions:e.actions.filter(e=>e.id!==n)})),C=(e,t)=>({...e,surfaces:e.surfaces.map(e=>({...e,actions:e.actions.map(e=>{if(e.id!==t||e.evolution===void 0)return e;let{evolution:n,...r}=e;return r})}))}),w=(e,t)=>({...e,surfaces:e.surfaces.map(e=>({...e,actions:e.actions.map(e=>e.id===t&&e.evolution!==void 0&&e.evolution.dismissed!==!0?{...e,evolution:{...e.evolution,dismissed:!0}}:e)}))}),T=(e,t,n,i)=>r(e,t,e=>{let t=e.actions.findIndex(e=>e.id===n);return t<0?e:{...e,actions:a(e.actions,t,t+i)}}),E=(e,t,n,o,s)=>r(e,t,e=>i(e,n,e=>{let t=e.parameters.findIndex(e=>e.id===o);return t<0?e:{...e,parameters:a(e.parameters,t,t+s)}})),D=(e,t,n,a)=>r(e,t,e=>i(e,n,e=>({...e,...a}))),O=(t,a,o,s,c)=>r(t,a,t=>{let r=i(t,o,e=>({...e,parameters:n(e.parameters,String(s),`parameter`,e=>({...e,...c}))})),a=r.actions.find(e=>e.id===o)?.parameters.find(e=>e.id===s);if(!a||!a.bindToStatePath)return r;let l=a.bindToStatePath,u=e(a.type);return{...r,stateDefinitions:r.stateDefinitions.map(e=>e.path===l?{...e,type:u,enumValues:a.type===`enum`?a.enumValues:void 0}:e)}}),k=(e,t,n)=>r(e,t,e=>({...e,rules:[...e.rules,n]})),A=(e,t,n)=>r(e,t,e=>({...e,rules:e.rules.filter(e=>e.id!==n)})),j=(e,t,i)=>r(e,t,e=>({...e,rules:n(e.rules,String(i.id),`rule`,()=>i)})),M=(e,t,n,a)=>r(e,t,e=>i(e,n,e=>({...e,rules:[...e.rules,a]}))),N=(e,t,n,a)=>r(e,t,e=>i(e,n,e=>({...e,rules:e.rules.filter(e=>e.id!==a)}))),P=(e,t,a,o)=>r(e,t,e=>i(e,a,e=>({...e,rules:n(e.rules,String(o.id),`rule`,()=>o)}))),F=(e,t,n,a)=>r(e,t,e=>i(e,n,e=>({...e,effects:[...e.effects,a]}))),I=(e,t,n,a)=>r(e,t,e=>i(e,n,e=>({...e,effects:e.effects.filter(e=>e.id!==a)}))),L=(e,t,n,a)=>r(e,t,e=>i(e,n,e=>({...e,invariants:[...e.invariants,a]}))),R=(e,t,a,o,s)=>r(e,t,e=>i(e,a,e=>({...e,invariants:n(e.invariants,String(o),`invariant`,e=>({...e,...s}))}))),z=(e,t,n,a)=>r(e,t,e=>i(e,n,e=>({...e,invariants:e.invariants.filter(e=>e.id!==a)}))),te=(e,t,n)=>r(e,t,e=>({...e,invariants:[...e.invariants,n]})),B=(e,t,i,a)=>r(e,t,e=>({...e,invariants:n(e.invariants,String(i),`invariant`,e=>({...e,...a}))})),V=(e,t,n)=>r(e,t,e=>({...e,invariants:e.invariants.filter(e=>e.id!==n)})),H=(e,t)=>({...e,featureInvariants:[...e.featureInvariants??[],t]}),U=(e,t,r)=>({...e,featureInvariants:n(e.featureInvariants??[],String(t),`featureInvariant`,e=>({...e,...r}))}),W=(e,t)=>({...e,featureInvariants:(e.featureInvariants??[]).filter(e=>e.id!==t)}),G=(e,t,n)=>r(e,t,e=>({...e,transitions:[...e.transitions,n]})),K=(e,t,i,a)=>r(e,t,e=>({...e,transitions:n(e.transitions,String(i),`transition`,e=>({...e,...a}))})),q=(e,t,n)=>r(e,t,e=>({...e,transitions:e.transitions.filter(e=>e.id!==n)})),J=(e,t,n,a)=>r(e,t,e=>i(e,n,e=>({...e,scenarios:[...e.scenarios??[],a]}))),Y=(e,t,a,o,s)=>r(e,t,e=>i(e,a,e=>({...e,scenarios:n(e.scenarios??[],String(o),`scenario`,e=>({...e,...s}))}))),X=(e,t,n,a)=>r(e,t,e=>i(e,n,e=>({...e,scenarios:(e.scenarios??[]).filter(e=>e.id!==a)}))),Z=(e,t)=>({...e,reachabilityGoals:[...e.reachabilityGoals??[],t]}),Q=(e,t,r)=>({...e,reachabilityGoals:n(e.reachabilityGoals??[],String(t),`reachabilityGoal`,e=>({...e,...r}))}),ne=(e,t)=>({...e,reachabilityGoals:(e.reachabilityGoals??[]).filter(e=>e.id!==t)}),re=(e,t)=>({...e,acceptanceCriteria:[...e.acceptanceCriteria??[],t]}),ie=(e,t,r)=>({...e,acceptanceCriteria:n(e.acceptanceCriteria??[],String(t),`acceptanceCriterion`,e=>({...e,...r}))}),ae=(e,t)=>({...e,acceptanceCriteria:(e.acceptanceCriteria??[]).filter(e=>e.id!==t)}),oe=(e,t)=>({...e,resources:[...e.resources,t]}),$=(e,t)=>({...e,resources:n(e.resources,String(t.id),`resource`,()=>t)}),se=(e,t)=>({...e,resources:e.resources.filter(e=>e.id!==t)}),ce=(e,t)=>({...e,entities:[...e.entities,t]}),le=(e,t)=>({...e,entities:n(e.entities,String(t.id),`entity`,()=>t)}),ue=(e,t)=>({...e,entities:e.entities.filter(e=>e.id!==t)}),de=(e,t)=>({...e,events:[...e.events??[],t]}),fe=(e,t)=>({...e,events:n(e.events??[],String(t.id),`event`,()=>t)}),pe=(e,t)=>({...e,events:(e.events??[]).filter(e=>e.id!==t)});export{f as $,z as A,C as B,H as C,k as D,M as E,R as F,D as G,T as H,B as I,o as J,O as K,P as L,N as M,A as N,I as O,U as P,l as Q,j as R,F as S,te as T,E as U,w as V,S as W,u as X,d as Y,b as Z,G as _,oe as a,_ as at,Y as b,pe as c,ie as d,y as et,le as f,J as g,$ as h,Z as i,h as it,V as j,W as k,ne as l,Q as m,ce as n,ee as nt,ae as o,fe as p,g as q,de as r,m as rt,ue as s,re as t,s as tt,se as u,X as v,L as w,K as x,q as y,x as z};
|
|
Binary file
|
|
Binary file
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{V as e,it as t,rt as n}from"./D50Xf4Qj.js";import{wt as r}from"./BLErSy65.js";var i=(e,t)=>`${e}:${t}`,a=`data`,o=`snapshot`,s=()=>new Map,c=e=>{let t=s();return e.forEach((e,n)=>{t.set(n,e)}),t},l=(e,t,n)=>{let r=e.get(t);return r===void 0&&e.set(t,r=n()),r},u=(e,t)=>{let n=[];for(let[r,i]of e)n.push(t(i,r));return n},d=(e,t)=>{for(let[n,r]of e)if(t(r,n))return!0;return!1},f=()=>new Set,ee=e=>e[e.length-1],te=(e,t)=>{for(let n=0;n<t.length;n++)e.push(t[n])},p=Array.from,ne=(e,t)=>{for(let n=0;n<e.length;n++)if(!t(e[n],n,e))return!1;return!0},re=(e,t)=>{for(let n=0;n<e.length;n++)if(t(e[n],n,e))return!0;return!1},ie=(e,t)=>{let n=Array(e);for(let r=0;r<e;r++)n[r]=t(r,n);return n},ae=Array.isArray,oe=class{constructor(){this._observers=s()}on(e,t){return l(this._observers,e,f).add(t),t}once(e,t){let n=(...r)=>{this.off(e,n),t(...r)};this.on(e,n)}off(e,t){let n=this._observers.get(e);n!==void 0&&(n.delete(t),n.size===0&&this._observers.delete(e))}emit(e,t){return p((this._observers.get(e)||s()).values()).forEach(e=>e(...t))}destroy(){this._observers=s()}},m=Math.floor,se=Math.abs,ce=(e,t)=>e<t?e:t,h=(e,t)=>e>t?e:t;Number.isNaN;var le=e=>e===0?1/e<0:e<0,ue=2**53-1,de=-(2**53-1),fe=Number.isInteger||(e=>typeof e==`number`&&isFinite(e)&&m(e)===e);Number.isNaN,Number.parseInt;var pe=String.fromCharCode;String.fromCodePoint,pe(65535);var me=e=>e.toLowerCase(),he=/^\s*/g,ge=e=>e.replace(he,``),_e=/([A-Z])/g,ve=(e,t)=>ge(e.replace(_e,e=>`${t}${me(e)}`)),ye=e=>{let t=unescape(encodeURIComponent(e)),n=t.length,r=new Uint8Array(n);for(let e=0;e<n;e++)r[e]=t.codePointAt(e);return r},be=typeof TextEncoder<`u`?new TextEncoder:null,xe=be?e=>be.encode(e):ye,Se=typeof TextDecoder>`u`?null:new TextDecoder(`utf-8`,{fatal:!0,ignoreBOM:!0});Se&&Se.decode(new Uint8Array).length===1&&(Se=null);var Ce=(e,t)=>ie(t,()=>e).join(``),we=class{constructor(){this.cpos=0,this.cbuf=new Uint8Array(100),this.bufs=[]}},Te=()=>new we,Ee=e=>{let t=e.cpos;for(let n=0;n<e.bufs.length;n++)t+=e.bufs[n].length;return t},g=e=>{let t=new Uint8Array(Ee(e)),n=0;for(let r=0;r<e.bufs.length;r++){let i=e.bufs[r];t.set(i,n),n+=i.length}return t.set(new Uint8Array(e.cbuf.buffer,0,e.cpos),n),t},De=(e,t)=>{let n=e.cbuf.length;n-e.cpos<t&&(e.bufs.push(new Uint8Array(e.cbuf.buffer,0,e.cpos)),e.cbuf=new Uint8Array(h(n,t)*2),e.cpos=0)},_=(e,t)=>{let n=e.cbuf.length;e.cpos===n&&(e.bufs.push(e.cbuf),e.cbuf=new Uint8Array(n*2),e.cpos=0),e.cbuf[e.cpos++]=t},Oe=_,v=(e,t)=>{for(;t>127;)_(e,128|127&t),t=m(t/128);_(e,127&t)},ke=(e,t)=>{let n=le(t);for(n&&(t=-t),_(e,(t>63?128:0)|(n?64:0)|63&t),t=m(t/64);t>0;)_(e,(t>127?128:0)|127&t),t=m(t/128)},Ae=new Uint8Array(3e4),je=Ae.length/3,y=be&&be.encodeInto?(e,t)=>{if(t.length<je){let n=be.encodeInto(t,Ae).written||0;v(e,n);for(let t=0;t<n;t++)_(e,Ae[t])}else b(e,xe(t))}:(e,t)=>{let n=unescape(encodeURIComponent(t)),r=n.length;v(e,r);for(let t=0;t<r;t++)_(e,n.codePointAt(t))},Me=(e,t)=>{let n=e.cbuf.length,r=e.cpos,i=ce(n-r,t.length),a=t.length-i;e.cbuf.set(t.subarray(0,i),r),e.cpos+=i,a>0&&(e.bufs.push(e.cbuf),e.cbuf=new Uint8Array(h(n*2,a)),e.cbuf.set(t.subarray(i)),e.cpos=a)},b=(e,t)=>{v(e,t.byteLength),Me(e,t)},Ne=(e,t)=>{De(e,t);let n=new DataView(e.cbuf.buffer,e.cpos,t);return e.cpos+=t,n},Pe=(e,t)=>Ne(e,4).setFloat32(0,t,!1),Fe=(e,t)=>Ne(e,8).setFloat64(0,t,!1),Ie=(e,t)=>Ne(e,8).setBigInt64(0,t,!1),Le=new DataView(new ArrayBuffer(4)),Re=e=>(Le.setFloat32(0,e),Le.getFloat32(0)===e),ze=(e,t)=>{switch(typeof t){case`string`:_(e,119),y(e,t);break;case`number`:fe(t)&&se(t)<=2147483647?(_(e,125),ke(e,t)):Re(t)?(_(e,124),Pe(e,t)):(_(e,123),Fe(e,t));break;case`bigint`:_(e,122),Ie(e,t);break;case`object`:if(t===null)_(e,126);else if(ae(t)){_(e,117),v(e,t.length);for(let n=0;n<t.length;n++)ze(e,t[n])}else if(t instanceof Uint8Array)_(e,116),b(e,t);else{_(e,118);let n=Object.keys(t);v(e,n.length);for(let r=0;r<n.length;r++){let i=n[r];y(e,i),ze(e,t[i])}}break;case`boolean`:_(e,t?120:121);break;default:_(e,127)}},Be=class extends we{constructor(e){super(),this.w=e,this.s=null,this.count=0}write(e){this.s===e?this.count++:(this.count>0&&v(this,this.count-1),this.count=1,this.w(this,e),this.s=e)}},Ve=e=>{e.count>0&&(ke(e.encoder,e.count===1?e.s:-e.s),e.count>1&&v(e.encoder,e.count-2))},He=class{constructor(){this.encoder=new we,this.s=0,this.count=0}write(e){this.s===e?this.count++:(Ve(this),this.count=1,this.s=e)}toUint8Array(){return Ve(this),g(this.encoder)}},Ue=e=>{if(e.count>0){let t=e.diff*2+(e.count===1?0:1);ke(e.encoder,t),e.count>1&&v(e.encoder,e.count-2)}},We=class{constructor(){this.encoder=new we,this.s=0,this.count=0,this.diff=0}write(e){this.diff===e-this.s?(this.s=e,this.count++):(Ue(this),this.count=1,this.diff=e-this.s,this.s=e)}toUint8Array(){return Ue(this),g(this.encoder)}},Ge=class{constructor(){this.sarr=[],this.s=``,this.lensE=new He}write(e){this.s+=e,this.s.length>19&&(this.sarr.push(this.s),this.s=``),this.lensE.write(e.length)}toUint8Array(){let e=new we;return this.sarr.push(this.s),this.s=``,y(e,this.sarr.join(``)),Me(e,this.lensE.toUint8Array()),g(e)}},x=e=>Error(e),S=()=>{throw x(`Method unimplemented`)},C=()=>{throw x(`Unexpected case`)},Ke=x(`Unexpected end of array`),qe=x(`Integer out of Range`),Je=class{constructor(e){this.arr=e,this.pos=0}},Ye=e=>new Je(e),Xe=e=>e.pos!==e.arr.length,Ze=(e,t)=>{let n=new Uint8Array(e.arr.buffer,e.pos+e.arr.byteOffset,t);return e.pos+=t,n},w=e=>Ze(e,T(e)),Qe=e=>e.arr[e.pos++],T=e=>{let t=0,n=1,r=e.arr.length;for(;e.pos<r;){let r=e.arr[e.pos++];if(t+=(r&127)*n,n*=128,r<128)return t;if(t>ue)throw qe}throw Ke},$e=e=>{let t=e.arr[e.pos++],n=t&63,r=64,i=(t&64)>0?-1:1;if(!(t&128))return i*n;let a=e.arr.length;for(;e.pos<a;){if(t=e.arr[e.pos++],n+=(t&127)*r,r*=128,t<128)return i*n;if(n>ue)throw qe}throw Ke},et=Se?e=>Se.decode(w(e)):e=>{let t=T(e);if(t===0)return``;{let n=String.fromCodePoint(Qe(e));if(--t<100)for(;t--;)n+=String.fromCodePoint(Qe(e));else for(;t>0;){let r=t<1e4?t:1e4,i=e.arr.subarray(e.pos,e.pos+r);e.pos+=r,n+=String.fromCodePoint.apply(null,i),t-=r}return decodeURIComponent(escape(n))}},tt=(e,t)=>{let n=new DataView(e.arr.buffer,e.arr.byteOffset+e.pos,t);return e.pos+=t,n},nt=[e=>void 0,e=>null,$e,e=>tt(e,4).getFloat32(0,!1),e=>tt(e,8).getFloat64(0,!1),e=>tt(e,8).getBigInt64(0,!1),e=>!1,e=>!0,et,e=>{let t=T(e),n={};for(let r=0;r<t;r++){let t=et(e);n[t]=rt(e)}return n},e=>{let t=T(e),n=[];for(let r=0;r<t;r++)n.push(rt(e));return n},w],rt=e=>nt[127-Qe(e)](e),it=class extends Je{constructor(e,t){super(e),this.reader=t,this.s=null,this.count=0}read(){return this.count===0&&(this.s=this.reader(this),Xe(this)?this.count=T(this)+1:this.count=-1),this.count--,this.s}},at=class extends Je{constructor(e){super(e),this.s=0,this.count=0}read(){if(this.count===0){this.s=$e(this);let e=le(this.s);this.count=1,e&&(this.s=-this.s,this.count=T(this)+2)}return this.count--,this.s}},ot=class extends Je{constructor(e){super(e),this.s=0,this.count=0,this.diff=0}read(){if(this.count===0){let e=$e(this),t=e&1;this.diff=m(e/2),this.count=1,t&&(this.count=T(this)+2)}return this.s+=this.diff,this.count--,this.s}},st=class{constructor(e){this.decoder=new at(e),this.str=et(this.decoder),this.spos=0}read(){let e=this.spos+this.decoder.read(),t=this.str.slice(this.spos,e);return this.spos=e,t}};crypto.subtle;var ct=crypto.getRandomValues.bind(crypto),lt=()=>ct(new Uint32Array(1))[0],ut=`10000000-1000-4000-8000-100000000000`,dt=()=>ut.replace(/[018]/g,e=>(e^lt()&15>>e/4).toString(16)),ft=Date.now,pt=e=>new Promise(e);Promise.all.bind(Promise);var mt=e=>e===void 0?null:e,ht=new class{constructor(){this.map=new Map}setItem(e,t){this.map.set(e,t)}getItem(e){return this.map.get(e)}};try{typeof localStorage<`u`&&localStorage&&(ht=localStorage)}catch{}var gt=ht,_t=Symbol(`Equality`),vt=(e,t)=>e===t||!!e?.[_t]?.(t)||!1,yt=e=>typeof e==`object`,bt=Object.assign,xt=Object.keys,St=(e,t)=>{for(let n in e)t(e[n],n)},Ct=e=>xt(e).length,wt=e=>{for(let t in e)return!1;return!0},Tt=(e,t)=>{for(let n in e)if(!t(e[n],n))return!1;return!0},Et=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),Dt=(e,t)=>e===t||Ct(e)===Ct(t)&&Tt(e,(e,n)=>(e!==void 0||Et(t,n))&&vt(t[n],e)),Ot=Object.freeze,kt=e=>{for(let t in e){let n=e[t];(typeof n==`object`||typeof n==`function`)&&kt(e[t])}return Ot(e)},At=(e,t,n=0)=>{try{for(;n<e.length;n++)e[n](...t)}finally{n<e.length&&At(e,t,n+1)}},jt=e=>e,Mt=(e,t)=>{if(e===t)return!0;if(e==null||t==null||e.constructor!==t.constructor&&(e.constructor||Object)!==(t.constructor||Object))return!1;if(e[_t]!=null)return e[_t](t);switch(e.constructor){case ArrayBuffer:e=new Uint8Array(e),t=new Uint8Array(t);case Uint8Array:if(e.byteLength!==t.byteLength)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;break;case Set:if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;break;case Map:if(e.size!==t.size)return!1;for(let n of e.keys())if(!t.has(n)||!Mt(e.get(n),t.get(n)))return!1;break;case void 0:case Object:if(Ct(e)!==Ct(t))return!1;for(let n in e)if(!Et(e,n)||!Mt(e[n],t[n]))return!1;break;case Array:if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!Mt(e[n],t[n]))return!1;break;default:return!1}return!0},Nt=(e,t)=>t.includes(e),Pt=typeof process<`u`&&process.release&&/node|io\.js/.test(process.release.name)&&Object.prototype.toString.call(typeof process<`u`?process:0)===`[object process]`;typeof navigator<`u`&&/Mac/.test(navigator.platform);var E,Ft=[],It=()=>{if(E===void 0)if(Pt){E=s();let e=process.argv,t=null;for(let n=0;n<e.length;n++){let r=e[n];r[0]===`-`?(t!==null&&E.set(t,``),t=r):t===null?Ft.push(r):(E.set(t,r),t=null)}t!==null&&E.set(t,``)}else typeof location==`object`?(E=s(),(location.search||`?`).slice(1).split(`&`).forEach(e=>{if(e.length!==0){let[t,n]=e.split(`=`);E.set(`--${ve(t,`-`)}`,n),E.set(`-${ve(t,`-`)}`,n)}})):E=s();return E},Lt=e=>It().has(e),Rt=e=>mt(Pt?{}[e.toUpperCase().replaceAll(`-`,`_`)]:gt.getItem(e)),zt=e=>Lt(`--`+e)||Rt(e)!==null,Bt=zt(`production`),Vt=Pt&&Nt({}.FORCE_COLOR,[`true`,`1`,`2`])||!Lt(`--no-colors`)&&!zt(`no-color`)&&(!Pt||process.stdout.isTTY)&&(!Pt||Lt(`--color`)||Rt(`COLORTERM`)!==null||(Rt(`TERM`)||``).includes(`color`)),Ht=e=>new Uint8Array(e),Ut=e=>{let t=Ht(e.byteLength);return t.set(e),t},Wt=class{constructor(e,t){this.left=e,this.right=t}},D=(e,t)=>new Wt(e,t),Gt=e=>e.next()>=.5,Kt=(e,t,n)=>m(e.next()*(n+1-t)+t),qt=(e,t,n)=>m(e.next()*(n+1-t)+t),Jt=(e,t,n)=>qt(e,t,n),Yt=e=>pe(Jt(e,97,122)),Xt=(e,t=0,n=20)=>{let r=Jt(e,t,n),i=``;for(let t=0;t<r;t++)i+=Yt(e);return i},Zt=(e,t)=>t[Jt(e,0,t.length-1)],Qt=Symbol(`0schema`),$t=class{constructor(){this._rerrs=[]}extend(e,t,n,r=null){this._rerrs.push({path:e,expected:t,has:n,message:r})}toString(){let e=[];for(let t=this._rerrs.length-1;t>0;t--){let n=this._rerrs[t];e.push(Ce(` `,(this._rerrs.length-t)*2)+`${n.path==null?``:`[${n.path}] `}${n.has} doesn't match ${n.expected}. ${n.message}`)}return e.join(`
|
|
1
|
+
import{V as e,it as t,rt as n}from"./D50Xf4Qj.js";import{wt as r}from"./CHEhPoA2.js";var i=(e,t)=>`${e}:${t}`,a=`data`,o=`snapshot`,s=()=>new Map,c=e=>{let t=s();return e.forEach((e,n)=>{t.set(n,e)}),t},l=(e,t,n)=>{let r=e.get(t);return r===void 0&&e.set(t,r=n()),r},u=(e,t)=>{let n=[];for(let[r,i]of e)n.push(t(i,r));return n},d=(e,t)=>{for(let[n,r]of e)if(t(r,n))return!0;return!1},f=()=>new Set,ee=e=>e[e.length-1],te=(e,t)=>{for(let n=0;n<t.length;n++)e.push(t[n])},p=Array.from,ne=(e,t)=>{for(let n=0;n<e.length;n++)if(!t(e[n],n,e))return!1;return!0},re=(e,t)=>{for(let n=0;n<e.length;n++)if(t(e[n],n,e))return!0;return!1},ie=(e,t)=>{let n=Array(e);for(let r=0;r<e;r++)n[r]=t(r,n);return n},ae=Array.isArray,oe=class{constructor(){this._observers=s()}on(e,t){return l(this._observers,e,f).add(t),t}once(e,t){let n=(...r)=>{this.off(e,n),t(...r)};this.on(e,n)}off(e,t){let n=this._observers.get(e);n!==void 0&&(n.delete(t),n.size===0&&this._observers.delete(e))}emit(e,t){return p((this._observers.get(e)||s()).values()).forEach(e=>e(...t))}destroy(){this._observers=s()}},m=Math.floor,se=Math.abs,ce=(e,t)=>e<t?e:t,h=(e,t)=>e>t?e:t;Number.isNaN;var le=e=>e===0?1/e<0:e<0,ue=2**53-1,de=-(2**53-1),fe=Number.isInteger||(e=>typeof e==`number`&&isFinite(e)&&m(e)===e);Number.isNaN,Number.parseInt;var pe=String.fromCharCode;String.fromCodePoint,pe(65535);var me=e=>e.toLowerCase(),he=/^\s*/g,ge=e=>e.replace(he,``),_e=/([A-Z])/g,ve=(e,t)=>ge(e.replace(_e,e=>`${t}${me(e)}`)),ye=e=>{let t=unescape(encodeURIComponent(e)),n=t.length,r=new Uint8Array(n);for(let e=0;e<n;e++)r[e]=t.codePointAt(e);return r},be=typeof TextEncoder<`u`?new TextEncoder:null,xe=be?e=>be.encode(e):ye,Se=typeof TextDecoder>`u`?null:new TextDecoder(`utf-8`,{fatal:!0,ignoreBOM:!0});Se&&Se.decode(new Uint8Array).length===1&&(Se=null);var Ce=(e,t)=>ie(t,()=>e).join(``),we=class{constructor(){this.cpos=0,this.cbuf=new Uint8Array(100),this.bufs=[]}},Te=()=>new we,Ee=e=>{let t=e.cpos;for(let n=0;n<e.bufs.length;n++)t+=e.bufs[n].length;return t},g=e=>{let t=new Uint8Array(Ee(e)),n=0;for(let r=0;r<e.bufs.length;r++){let i=e.bufs[r];t.set(i,n),n+=i.length}return t.set(new Uint8Array(e.cbuf.buffer,0,e.cpos),n),t},De=(e,t)=>{let n=e.cbuf.length;n-e.cpos<t&&(e.bufs.push(new Uint8Array(e.cbuf.buffer,0,e.cpos)),e.cbuf=new Uint8Array(h(n,t)*2),e.cpos=0)},_=(e,t)=>{let n=e.cbuf.length;e.cpos===n&&(e.bufs.push(e.cbuf),e.cbuf=new Uint8Array(n*2),e.cpos=0),e.cbuf[e.cpos++]=t},Oe=_,v=(e,t)=>{for(;t>127;)_(e,128|127&t),t=m(t/128);_(e,127&t)},ke=(e,t)=>{let n=le(t);for(n&&(t=-t),_(e,(t>63?128:0)|(n?64:0)|63&t),t=m(t/64);t>0;)_(e,(t>127?128:0)|127&t),t=m(t/128)},Ae=new Uint8Array(3e4),je=Ae.length/3,y=be&&be.encodeInto?(e,t)=>{if(t.length<je){let n=be.encodeInto(t,Ae).written||0;v(e,n);for(let t=0;t<n;t++)_(e,Ae[t])}else b(e,xe(t))}:(e,t)=>{let n=unescape(encodeURIComponent(t)),r=n.length;v(e,r);for(let t=0;t<r;t++)_(e,n.codePointAt(t))},Me=(e,t)=>{let n=e.cbuf.length,r=e.cpos,i=ce(n-r,t.length),a=t.length-i;e.cbuf.set(t.subarray(0,i),r),e.cpos+=i,a>0&&(e.bufs.push(e.cbuf),e.cbuf=new Uint8Array(h(n*2,a)),e.cbuf.set(t.subarray(i)),e.cpos=a)},b=(e,t)=>{v(e,t.byteLength),Me(e,t)},Ne=(e,t)=>{De(e,t);let n=new DataView(e.cbuf.buffer,e.cpos,t);return e.cpos+=t,n},Pe=(e,t)=>Ne(e,4).setFloat32(0,t,!1),Fe=(e,t)=>Ne(e,8).setFloat64(0,t,!1),Ie=(e,t)=>Ne(e,8).setBigInt64(0,t,!1),Le=new DataView(new ArrayBuffer(4)),Re=e=>(Le.setFloat32(0,e),Le.getFloat32(0)===e),ze=(e,t)=>{switch(typeof t){case`string`:_(e,119),y(e,t);break;case`number`:fe(t)&&se(t)<=2147483647?(_(e,125),ke(e,t)):Re(t)?(_(e,124),Pe(e,t)):(_(e,123),Fe(e,t));break;case`bigint`:_(e,122),Ie(e,t);break;case`object`:if(t===null)_(e,126);else if(ae(t)){_(e,117),v(e,t.length);for(let n=0;n<t.length;n++)ze(e,t[n])}else if(t instanceof Uint8Array)_(e,116),b(e,t);else{_(e,118);let n=Object.keys(t);v(e,n.length);for(let r=0;r<n.length;r++){let i=n[r];y(e,i),ze(e,t[i])}}break;case`boolean`:_(e,t?120:121);break;default:_(e,127)}},Be=class extends we{constructor(e){super(),this.w=e,this.s=null,this.count=0}write(e){this.s===e?this.count++:(this.count>0&&v(this,this.count-1),this.count=1,this.w(this,e),this.s=e)}},Ve=e=>{e.count>0&&(ke(e.encoder,e.count===1?e.s:-e.s),e.count>1&&v(e.encoder,e.count-2))},He=class{constructor(){this.encoder=new we,this.s=0,this.count=0}write(e){this.s===e?this.count++:(Ve(this),this.count=1,this.s=e)}toUint8Array(){return Ve(this),g(this.encoder)}},Ue=e=>{if(e.count>0){let t=e.diff*2+(e.count===1?0:1);ke(e.encoder,t),e.count>1&&v(e.encoder,e.count-2)}},We=class{constructor(){this.encoder=new we,this.s=0,this.count=0,this.diff=0}write(e){this.diff===e-this.s?(this.s=e,this.count++):(Ue(this),this.count=1,this.diff=e-this.s,this.s=e)}toUint8Array(){return Ue(this),g(this.encoder)}},Ge=class{constructor(){this.sarr=[],this.s=``,this.lensE=new He}write(e){this.s+=e,this.s.length>19&&(this.sarr.push(this.s),this.s=``),this.lensE.write(e.length)}toUint8Array(){let e=new we;return this.sarr.push(this.s),this.s=``,y(e,this.sarr.join(``)),Me(e,this.lensE.toUint8Array()),g(e)}},x=e=>Error(e),S=()=>{throw x(`Method unimplemented`)},C=()=>{throw x(`Unexpected case`)},Ke=x(`Unexpected end of array`),qe=x(`Integer out of Range`),Je=class{constructor(e){this.arr=e,this.pos=0}},Ye=e=>new Je(e),Xe=e=>e.pos!==e.arr.length,Ze=(e,t)=>{let n=new Uint8Array(e.arr.buffer,e.pos+e.arr.byteOffset,t);return e.pos+=t,n},w=e=>Ze(e,T(e)),Qe=e=>e.arr[e.pos++],T=e=>{let t=0,n=1,r=e.arr.length;for(;e.pos<r;){let r=e.arr[e.pos++];if(t+=(r&127)*n,n*=128,r<128)return t;if(t>ue)throw qe}throw Ke},$e=e=>{let t=e.arr[e.pos++],n=t&63,r=64,i=(t&64)>0?-1:1;if(!(t&128))return i*n;let a=e.arr.length;for(;e.pos<a;){if(t=e.arr[e.pos++],n+=(t&127)*r,r*=128,t<128)return i*n;if(n>ue)throw qe}throw Ke},et=Se?e=>Se.decode(w(e)):e=>{let t=T(e);if(t===0)return``;{let n=String.fromCodePoint(Qe(e));if(--t<100)for(;t--;)n+=String.fromCodePoint(Qe(e));else for(;t>0;){let r=t<1e4?t:1e4,i=e.arr.subarray(e.pos,e.pos+r);e.pos+=r,n+=String.fromCodePoint.apply(null,i),t-=r}return decodeURIComponent(escape(n))}},tt=(e,t)=>{let n=new DataView(e.arr.buffer,e.arr.byteOffset+e.pos,t);return e.pos+=t,n},nt=[e=>void 0,e=>null,$e,e=>tt(e,4).getFloat32(0,!1),e=>tt(e,8).getFloat64(0,!1),e=>tt(e,8).getBigInt64(0,!1),e=>!1,e=>!0,et,e=>{let t=T(e),n={};for(let r=0;r<t;r++){let t=et(e);n[t]=rt(e)}return n},e=>{let t=T(e),n=[];for(let r=0;r<t;r++)n.push(rt(e));return n},w],rt=e=>nt[127-Qe(e)](e),it=class extends Je{constructor(e,t){super(e),this.reader=t,this.s=null,this.count=0}read(){return this.count===0&&(this.s=this.reader(this),Xe(this)?this.count=T(this)+1:this.count=-1),this.count--,this.s}},at=class extends Je{constructor(e){super(e),this.s=0,this.count=0}read(){if(this.count===0){this.s=$e(this);let e=le(this.s);this.count=1,e&&(this.s=-this.s,this.count=T(this)+2)}return this.count--,this.s}},ot=class extends Je{constructor(e){super(e),this.s=0,this.count=0,this.diff=0}read(){if(this.count===0){let e=$e(this),t=e&1;this.diff=m(e/2),this.count=1,t&&(this.count=T(this)+2)}return this.s+=this.diff,this.count--,this.s}},st=class{constructor(e){this.decoder=new at(e),this.str=et(this.decoder),this.spos=0}read(){let e=this.spos+this.decoder.read(),t=this.str.slice(this.spos,e);return this.spos=e,t}};crypto.subtle;var ct=crypto.getRandomValues.bind(crypto),lt=()=>ct(new Uint32Array(1))[0],ut=`10000000-1000-4000-8000-100000000000`,dt=()=>ut.replace(/[018]/g,e=>(e^lt()&15>>e/4).toString(16)),ft=Date.now,pt=e=>new Promise(e);Promise.all.bind(Promise);var mt=e=>e===void 0?null:e,ht=new class{constructor(){this.map=new Map}setItem(e,t){this.map.set(e,t)}getItem(e){return this.map.get(e)}};try{typeof localStorage<`u`&&localStorage&&(ht=localStorage)}catch{}var gt=ht,_t=Symbol(`Equality`),vt=(e,t)=>e===t||!!e?.[_t]?.(t)||!1,yt=e=>typeof e==`object`,bt=Object.assign,xt=Object.keys,St=(e,t)=>{for(let n in e)t(e[n],n)},Ct=e=>xt(e).length,wt=e=>{for(let t in e)return!1;return!0},Tt=(e,t)=>{for(let n in e)if(!t(e[n],n))return!1;return!0},Et=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),Dt=(e,t)=>e===t||Ct(e)===Ct(t)&&Tt(e,(e,n)=>(e!==void 0||Et(t,n))&&vt(t[n],e)),Ot=Object.freeze,kt=e=>{for(let t in e){let n=e[t];(typeof n==`object`||typeof n==`function`)&&kt(e[t])}return Ot(e)},At=(e,t,n=0)=>{try{for(;n<e.length;n++)e[n](...t)}finally{n<e.length&&At(e,t,n+1)}},jt=e=>e,Mt=(e,t)=>{if(e===t)return!0;if(e==null||t==null||e.constructor!==t.constructor&&(e.constructor||Object)!==(t.constructor||Object))return!1;if(e[_t]!=null)return e[_t](t);switch(e.constructor){case ArrayBuffer:e=new Uint8Array(e),t=new Uint8Array(t);case Uint8Array:if(e.byteLength!==t.byteLength)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;break;case Set:if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;break;case Map:if(e.size!==t.size)return!1;for(let n of e.keys())if(!t.has(n)||!Mt(e.get(n),t.get(n)))return!1;break;case void 0:case Object:if(Ct(e)!==Ct(t))return!1;for(let n in e)if(!Et(e,n)||!Mt(e[n],t[n]))return!1;break;case Array:if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!Mt(e[n],t[n]))return!1;break;default:return!1}return!0},Nt=(e,t)=>t.includes(e),Pt=typeof process<`u`&&process.release&&/node|io\.js/.test(process.release.name)&&Object.prototype.toString.call(typeof process<`u`?process:0)===`[object process]`;typeof navigator<`u`&&/Mac/.test(navigator.platform);var E,Ft=[],It=()=>{if(E===void 0)if(Pt){E=s();let e=process.argv,t=null;for(let n=0;n<e.length;n++){let r=e[n];r[0]===`-`?(t!==null&&E.set(t,``),t=r):t===null?Ft.push(r):(E.set(t,r),t=null)}t!==null&&E.set(t,``)}else typeof location==`object`?(E=s(),(location.search||`?`).slice(1).split(`&`).forEach(e=>{if(e.length!==0){let[t,n]=e.split(`=`);E.set(`--${ve(t,`-`)}`,n),E.set(`-${ve(t,`-`)}`,n)}})):E=s();return E},Lt=e=>It().has(e),Rt=e=>mt(Pt?{}[e.toUpperCase().replaceAll(`-`,`_`)]:gt.getItem(e)),zt=e=>Lt(`--`+e)||Rt(e)!==null,Bt=zt(`production`),Vt=Pt&&Nt({}.FORCE_COLOR,[`true`,`1`,`2`])||!Lt(`--no-colors`)&&!zt(`no-color`)&&(!Pt||process.stdout.isTTY)&&(!Pt||Lt(`--color`)||Rt(`COLORTERM`)!==null||(Rt(`TERM`)||``).includes(`color`)),Ht=e=>new Uint8Array(e),Ut=e=>{let t=Ht(e.byteLength);return t.set(e),t},Wt=class{constructor(e,t){this.left=e,this.right=t}},D=(e,t)=>new Wt(e,t),Gt=e=>e.next()>=.5,Kt=(e,t,n)=>m(e.next()*(n+1-t)+t),qt=(e,t,n)=>m(e.next()*(n+1-t)+t),Jt=(e,t,n)=>qt(e,t,n),Yt=e=>pe(Jt(e,97,122)),Xt=(e,t=0,n=20)=>{let r=Jt(e,t,n),i=``;for(let t=0;t<r;t++)i+=Yt(e);return i},Zt=(e,t)=>t[Jt(e,0,t.length-1)],Qt=Symbol(`0schema`),$t=class{constructor(){this._rerrs=[]}extend(e,t,n,r=null){this._rerrs.push({path:e,expected:t,has:n,message:r})}toString(){let e=[];for(let t=this._rerrs.length-1;t>0;t--){let n=this._rerrs[t];e.push(Ce(` `,(this._rerrs.length-t)*2)+`${n.path==null?``:`[${n.path}] `}${n.has} doesn't match ${n.expected}. ${n.message}`)}return e.join(`
|
|
2
2
|
`)}},en=(e,t)=>e===t?!0:e==null||t==null||e.constructor!==t.constructor?!1:e[_t]?vt(e,t):ae(e)?ne(e,e=>re(t,t=>en(e,t))):yt(e)?Tt(e,(e,n)=>en(e,t[n])):!1,O=class{static _dilutes=!1;extends(e){let[t,n]=[this.shape,e.shape];return this.constructor._dilutes&&([n,t]=[t,n]),en(t,n)}equals(e){return this.constructor===e.constructor&&Mt(this.shape,e.shape)}[Qt](){return!0}[_t](e){return this.equals(e)}validate(e){return this.check(e)}check(e,t){S()}get nullable(){return j(this,Wn)}get optional(){return new un(this)}cast(e){return Jn(e,this),e}expect(e){return Jn(e,this),e}},tn=class extends O{constructor(e,t){super(),this.shape=e,this._c=t}check(e,t=void 0){let n=e?.constructor===this.shape&&(this._c==null||this._c(e));return!n&&t?.extend(null,this.shape.name,e?.constructor.name,e?.constructor===this.shape?`Check failed`:`Constructor match failed`),n}},k=(e,t=null)=>new tn(e,t);k(tn);var nn=class extends O{constructor(e){super(),this.shape=e}check(e,t){let n=this.shape(e);return!n&&t?.extend(null,`custom prop`,e?.constructor.name,`failed to check custom prop`),n}},A=e=>new nn(e);k(nn);var rn=class extends O{constructor(e){super(),this.shape=e}check(e,t){let n=this.shape.some(t=>t===e);return!n&&t?.extend(null,this.shape.join(` | `),e.toString()),n}},an=(...e)=>new rn(e),on=k(rn),sn=RegExp.escape||(e=>e.replace(/[().|&,$^[\]]/g,e=>`\\`+e)),cn=e=>{if(N.check(e))return[sn(e)];if(on.check(e))return e.shape.map(e=>e+``);if(zn.check(e))return[`[+-]?\\d+.?\\d*`];if(Bn.check(e))return[`.*`];if(Mn.check(e))return e.shape.map(cn).flat(1);C()};k(class extends O{constructor(e){super(),this.shape=e,this._r=RegExp(`^`+e.map(cn).map(e=>`(${e.join(`|`)})`).join(``)+`$`)}check(e,t){let n=this._r.exec(e)!=null;return!n&&t?.extend(null,this._r.toString(),e.toString(),`String doesn't match string template.`),n}});var ln=Symbol(`optional`),un=class extends O{constructor(e){super(),this.shape=e}check(e,t){let n=e===void 0||this.shape.check(e);return!n&&t?.extend(null,`undefined (optional)`,`()`),n}get[ln](){return!0}},dn=k(un),fn=class extends O{check(e,t){return t?.extend(null,`never`,typeof e),!1}};new fn,k(fn);var pn=class e extends O{constructor(e,t=!1){super(),this.shape=e,this._isPartial=t}static _dilutes=!0;get partial(){return new e(this.shape,!0)}check(e,t){return e==null?(t?.extend(null,`object`,`null`),!1):Tt(this.shape,(n,r)=>{let i=this._isPartial&&!Et(e,r)||n.check(e[r],t);return!i&&t?.extend(r.toString(),n.toString(),typeof e[r],`Object property does not match`),i})}},mn=e=>new pn(e),hn=k(pn),gn=A(e=>e!=null&&(e.constructor===Object||e.constructor==null)),_n=class extends O{constructor(e,t){super(),this.shape={keys:e,values:t}}check(e,t){return e!=null&&Tt(e,(n,r)=>{let i=this.shape.keys.check(r,t);return!i&&t?.extend(r+``,`Record`,typeof e,i?`Key doesn't match schema`:`Value doesn't match value`),i&&this.shape.values.check(n,t)})}},vn=(e,t)=>new _n(e,t),yn=k(_n),bn=class extends O{constructor(e){super(),this.shape=e}check(e,t){return e!=null&&Tt(this.shape,(n,r)=>{let i=n.check(e[r],t);return!i&&t?.extend(r.toString(),`Tuple`,typeof n),i})}},xn=(...e)=>new bn(e);k(bn);var Sn=class extends O{constructor(e){super(),this.shape=e.length===1?e[0]:new jn(e)}check(e,t){let n=ae(e)&&ne(e,e=>this.shape.check(e));return!n&&t?.extend(null,`Array`,``),n}},Cn=(...e)=>new Sn(e),wn=k(Sn),Tn=A(e=>ae(e)),En=class extends O{constructor(e,t){super(),this.shape=e,this._c=t}check(e,t){let n=e instanceof this.shape&&(this._c==null||this._c(e));return!n&&t?.extend(null,this.shape.name,e?.constructor.name),n}},Dn=(e,t=null)=>new En(e,t);k(En);var On=Dn(O),kn=k(class extends O{constructor(e){super(),this.len=e.length-1,this.args=xn(...e.slice(-1)),this.res=e[this.len]}check(e,t){let n=e.constructor===Function&&e.length<=this.len;return!n&&t?.extend(null,`function`,typeof e),n}}),An=A(e=>typeof e==`function`);k(class extends O{constructor(e){super(),this.shape=e}check(e,t){let n=ne(this.shape,n=>n.check(e,t));return!n&&t?.extend(null,`Intersectinon`,typeof e),n}},e=>e.shape.length>0);var jn=class extends O{static _dilutes=!0;constructor(e){super(),this.shape=e}check(e,t){let n=re(this.shape,n=>n.check(e,t));return t?.extend(null,`Union`,typeof e),n}},j=(...e)=>e.findIndex(e=>Mn.check(e))>=0?j(...e.map(e=>qn(e)).map(e=>Mn.check(e)?e.shape:[e]).flat(1)):e.length===1?e[0]:new jn(e),Mn=k(jn),Nn=()=>!0,Pn=A(Nn),Fn=k(nn,e=>e.shape===Nn),In=A(e=>typeof e==`bigint`),Ln=A(e=>e===In),Rn=A(e=>typeof e==`symbol`);A(e=>e===Rn);var M=A(e=>typeof e==`number`),zn=A(e=>e===M),N=A(e=>typeof e==`string`),Bn=A(e=>e===N),Vn=A(e=>typeof e==`boolean`),Hn=A(e=>e===Vn),Un=an(void 0);k(rn,e=>e.shape.length===1&&e.shape[0]===void 0),an(void 0);var Wn=an(null),Gn=k(rn,e=>e.shape.length===1&&e.shape[0]===null);k(Uint8Array),k(tn,e=>e.shape===Uint8Array);var Kn=j(M,N,Wn,Un,In,Vn,Rn);(()=>{let e=Cn(Pn),t=vn(N,Pn),n=j(M,N,Wn,Vn,e,t);return e.shape=n,t.shape.values=n,n})();var qn=e=>{if(On.check(e))return e;if(gn.check(e)){let t={};for(let n in e)t[n]=qn(e[n]);return mn(t)}else if(Tn.check(e))return j(...e.map(qn));else if(Kn.check(e))return an(e);else if(An.check(e))return k(e);C()},Jn=Bt?()=>{}:(e,t)=>{let n=new $t;if(!t.check(e,n))throw x(`Expected value to be of type ${t.constructor.name}.\n${n.toString()}`)},Yn=class{constructor(e){this.patterns=[],this.$state=e}if(e,t){return this.patterns.push({if:qn(e),h:t}),this}else(e){return this.if(Pn,e)}done(){return(e,t)=>{for(let n=0;n<this.patterns.length;n++){let r=this.patterns[n];if(r.if.check(e))return r.h(e,t)}throw x(`Unhandled pattern`)}}},Xn=(e=>new Yn(e))(Pn).if(zn,(e,t)=>Kt(t,de,ue)).if(Bn,(e,t)=>Xt(t)).if(Hn,(e,t)=>Gt(t)).if(Ln,(e,t)=>BigInt(Kt(t,de,ue))).if(Mn,(e,t)=>P(t,Zt(t,e.shape))).if(hn,(e,t)=>{let n={};for(let r in e.shape){let i=e.shape[r];if(dn.check(i)){if(Gt(t))continue;i=i.shape}n[r]=Xn(i,t)}return n}).if(wn,(e,t)=>{let n=[],r=qt(t,0,42);for(let i=0;i<r;i++)n.push(P(t,e.shape));return n}).if(on,(e,t)=>Zt(t,e.shape)).if(Gn,(e,t)=>null).if(kn,(e,t)=>{let n=P(t,e.res);return()=>n}).if(Fn,(e,t)=>P(t,Zt(t,[M,N,Wn,Un,In,Vn,Cn(M),vn(j(`a`,`b`,`c`),M)]))).if(yn,(e,t)=>{let n={},r=Kt(t,0,3);for(let i=0;i<r;i++){let r=P(t,e.shape.keys);n[r]=P(t,e.shape.values)}return n}).done(),P=(e,t)=>Xn(qn(t),e),F=typeof document<`u`?document:{};A(e=>e.nodeType===tr),typeof DOMParser<`u`&&new DOMParser,A(e=>e.nodeType===Qn),A(e=>e.nodeType===$n);var Zn=e=>u(e,(e,t)=>`${t}:${e};`).join(``),Qn=F.ELEMENT_NODE,$n=F.TEXT_NODE;F.CDATA_SECTION_NODE,F.COMMENT_NODE;var er=F.DOCUMENT_NODE;F.DOCUMENT_TYPE_NODE;var tr=F.DOCUMENT_FRAGMENT_NODE;A(e=>e.nodeType===er);var I=Symbol,nr=I(),rr=I(),ir=I(),ar=I(),or=I(),sr=I(),cr=I(),lr=I(),ur=I(),dr=e=>{e.length===1&&e[0]?.constructor===Function&&(e=e[0]());let t=[],n=[],r=0;for(;r<e.length;r++){let n=e[r];if(n===void 0)break;if(n.constructor===String||n.constructor===Number)t.push(n);else if(n.constructor===Object)break}for(r>0&&n.push(t.join(``));r<e.length;r++){let t=e[r];t instanceof Symbol||n.push(t)}return n};ft();var fr={[nr]:D(`font-weight`,`bold`),[rr]:D(`font-weight`,`normal`),[ir]:D(`color`,`blue`),[or]:D(`color`,`green`),[ar]:D(`color`,`grey`),[sr]:D(`color`,`red`),[cr]:D(`color`,`purple`),[lr]:D(`color`,`orange`),[ur]:D(`color`,`black`)},pr=Vt?e=>{e.length===1&&e[0]?.constructor===Function&&(e=e[0]());let t=[],n=[],r=s(),i=[],a=0;for(;a<e.length;a++){let i=e[a],o=fr[i];if(o!==void 0)r.set(o.left,o.right);else{if(i===void 0)break;if(i.constructor===String||i.constructor===Number){let e=Zn(r);a>0||e.length>0?(t.push(`%c`+i),n.push(e)):t.push(i)}else break}}for(a>0&&(i=n,i.unshift(t.join(``)));a<e.length;a++){let t=e[a];t instanceof Symbol||i.push(t)}return i}:dr,mr=(...e)=>{console.log(...pr(e)),gr.forEach(t=>t.print(e))},hr=(...e)=>{console.warn(...pr(e)),e.unshift(lr),gr.forEach(t=>t.print(e))},gr=f(),_r=e=>({[Symbol.iterator](){return this},next:e}),vr=(e,t)=>_r(()=>{let n;do n=e.next();while(!n.done&&!t(n.value));return n}),yr=(e,t)=>_r(()=>{let{done:n,value:r}=e.next();return{done:n,value:n?void 0:t(r)}}),br=class{constructor(e,t){this.clock=e,this.len=t}},xr=class{constructor(){this.clients=new Map}},Sr=(e,t,n)=>t.clients.forEach((t,r)=>{let i=e.doc.store.clients.get(r);if(i!=null){let r=i[i.length-1],a=r.id.clock+r.length;for(let r=0,o=t[r];r<t.length&&o.clock<a;o=t[++r])Ci(e,i,o.clock,o.len,n)}}),Cr=(e,t)=>{let n=0,r=e.length-1;for(;n<=r;){let i=m((n+r)/2),a=e[i],o=a.clock;if(o<=t){if(t<o+a.len)return i;n=i+1}else r=i-1}return null},wr=(e,t)=>{let n=e.clients.get(t.client);return n!==void 0&&Cr(n,t.clock)!==null},Tr=e=>{e.clients.forEach(e=>{e.sort((e,t)=>e.clock-t.clock);let t,n;for(t=1,n=1;t<e.length;t++){let r=e[n-1],i=e[t];r.clock+r.len>=i.clock?e[n-1]=new br(r.clock,h(r.len,i.clock+i.len-r.clock)):(n<t&&(e[n]=i),n++)}e.length=n})},Er=e=>{let t=new xr;for(let n=0;n<e.length;n++)e[n].clients.forEach((r,i)=>{if(!t.clients.has(i)){let a=r.slice();for(let t=n+1;t<e.length;t++)te(a,e[t].clients.get(i)||[]);t.clients.set(i,a)}});return Tr(t),t},Dr=(e,t,n,r)=>{l(e.clients,t,()=>[]).push(new br(n,r))},Or=()=>new xr,kr=e=>{let t=Or();return e.clients.forEach((e,n)=>{let r=[];for(let t=0;t<e.length;t++){let n=e[t];if(n.deleted){let i=n.id.clock,a=n.length;if(t+1<e.length)for(let n=e[t+1];t+1<e.length&&n.deleted;n=e[++t+1])a+=n.length;r.push(new br(i,a))}}r.length>0&&t.clients.set(n,r)}),t},Ar=(e,t)=>{v(e.restEncoder,t.clients.size),p(t.clients.entries()).sort((e,t)=>t[0]-e[0]).forEach(([t,n])=>{e.resetDsCurVal(),v(e.restEncoder,t);let r=n.length;v(e.restEncoder,r);for(let t=0;t<r;t++){let r=n[t];e.writeDsClock(r.clock),e.writeDsLen(r.len)}})},jr=e=>{let t=new xr,n=T(e.restDecoder);for(let r=0;r<n;r++){e.resetDsCurVal();let n=T(e.restDecoder),r=T(e.restDecoder);if(r>0){let i=l(t.clients,n,()=>[]);for(let t=0;t<r;t++)i.push(new br(e.readDsClock(),e.readDsLen()))}}return t},Mr=(e,t,n)=>{let r=new xr,i=T(e.restDecoder);for(let a=0;a<i;a++){e.resetDsCurVal();let i=T(e.restDecoder),a=T(e.restDecoder),o=n.clients.get(i)||[],s=z(n,i);for(let n=0;n<a;n++){let n=e.readDsClock(),a=n+e.readDsLen();if(n<s){s<a&&Dr(r,i,s,a-s);let e=B(o,n),c=o[e];for(!c.deleted&&c.id.clock<n&&(o.splice(e+1,0,To(t,c,n-c.id.clock)),e++);e<o.length&&(c=o[e++],c.id.clock<a);)c.deleted||(a<c.id.clock+c.length&&o.splice(e,0,To(t,c,a-c.id.clock)),c.delete(t))}else Dr(r,i,n,a-n)}}if(r.clients.size>0){let e=new L;return v(e.restEncoder,0),Ar(e,r),e.toUint8Array()}return null},Nr=lt,Pr=class e extends oe{constructor({guid:e=dt(),collectionid:t=null,gc:n=!0,gcFilter:r=()=>!0,meta:i=null,autoLoad:a=!1,shouldLoad:o=!0}={}){super(),this.gc=n,this.gcFilter=r,this.clientID=Nr(),this.guid=e,this.collectionid=t,this.share=new Map,this.store=new gi,this._transaction=null,this._transactionCleanups=[],this.subdocs=new Set,this._item=null,this.shouldLoad=o,this.autoLoad=a,this.meta=i,this.isLoaded=!1,this.isSynced=!1,this.isDestroyed=!1,this.whenLoaded=pt(e=>{this.on(`load`,()=>{this.isLoaded=!0,e(this)})});let s=()=>pt(e=>{let t=n=>{(n===void 0||n===!0)&&(this.off(`sync`,t),e())};this.on(`sync`,t)});this.on(`sync`,e=>{e===!1&&this.isSynced&&(this.whenSynced=s()),this.isSynced=e===void 0||e===!0,this.isSynced&&!this.isLoaded&&this.emit(`load`,[this])}),this.whenSynced=s()}load(){let e=this._item;e!==null&&!this.shouldLoad&&H(e.parent.doc,e=>{e.subdocsLoaded.add(this)},null,!0),this.shouldLoad=!0}getSubdocs(){return this.subdocs}getSubdocGuids(){return new Set(p(this.subdocs).map(e=>e.guid))}transact(e,t=null){return H(this,e,t)}get(e,t=G){let n=l(this.share,e,()=>{let e=new t;return e._integrate(this,null),e}),r=n.constructor;if(t!==G&&r!==t)if(r===G){let r=new t;r._map=n._map,n._map.forEach(e=>{for(;e!==null;e=e.left)e.parent=r}),r._start=n._start;for(let e=r._start;e!==null;e=e.right)e.parent=r;return r._length=n._length,this.share.set(e,r),r._integrate(this,null),r}else throw Error(`Type with the name ${e} has already been defined with a different constructor`);return n}getArray(e=``){return this.get(e,ya)}getText(e=``){return this.get(e,za)}getMap(e=``){return this.get(e,Sa)}getXmlElement(e=``){return this.get(e,Wa)}getXmlFragment(e=``){return this.get(e,Ha)}toJSON(){let e={};return this.share.forEach((t,n)=>{e[n]=t.toJSON()}),e}destroy(){this.isDestroyed=!0,p(this.subdocs).forEach(e=>e.destroy());let t=this._item;if(t!==null){this._item=null;let n=t.content;n.doc=new e({guid:this.guid,...n.opts,shouldLoad:!1}),n.doc._item=t,H(t.parent.doc,e=>{let r=n.doc;t.deleted||e.subdocsAdded.add(r),e.subdocsRemoved.add(this)},null,!0)}this.emit(`destroyed`,[!0]),this.emit(`destroy`,[this]),super.destroy()}},Fr=class{constructor(e){this.restDecoder=e}resetDsCurVal(){}readDsClock(){return T(this.restDecoder)}readDsLen(){return T(this.restDecoder)}},Ir=class extends Fr{readLeftID(){return R(T(this.restDecoder),T(this.restDecoder))}readRightID(){return R(T(this.restDecoder),T(this.restDecoder))}readClient(){return T(this.restDecoder)}readInfo(){return Qe(this.restDecoder)}readString(){return et(this.restDecoder)}readParentInfo(){return T(this.restDecoder)===1}readTypeRef(){return T(this.restDecoder)}readLen(){return T(this.restDecoder)}readAny(){return rt(this.restDecoder)}readBuf(){return Ut(w(this.restDecoder))}readJSON(){return JSON.parse(et(this.restDecoder))}readKey(){return et(this.restDecoder)}},Lr=class{constructor(e){this.dsCurrVal=0,this.restDecoder=e}resetDsCurVal(){this.dsCurrVal=0}readDsClock(){return this.dsCurrVal+=T(this.restDecoder),this.dsCurrVal}readDsLen(){let e=T(this.restDecoder)+1;return this.dsCurrVal+=e,e}},Rr=class extends Lr{constructor(e){super(e),this.keys=[],T(e),this.keyClockDecoder=new ot(w(e)),this.clientDecoder=new at(w(e)),this.leftClockDecoder=new ot(w(e)),this.rightClockDecoder=new ot(w(e)),this.infoDecoder=new it(w(e),Qe),this.stringDecoder=new st(w(e)),this.parentInfoDecoder=new it(w(e),Qe),this.typeRefDecoder=new at(w(e)),this.lenDecoder=new at(w(e))}readLeftID(){return new ui(this.clientDecoder.read(),this.leftClockDecoder.read())}readRightID(){return new ui(this.clientDecoder.read(),this.rightClockDecoder.read())}readClient(){return this.clientDecoder.read()}readInfo(){return this.infoDecoder.read()}readString(){return this.stringDecoder.read()}readParentInfo(){return this.parentInfoDecoder.read()===1}readTypeRef(){return this.typeRefDecoder.read()}readLen(){return this.lenDecoder.read()}readAny(){return rt(this.restDecoder)}readBuf(){return w(this.restDecoder)}readJSON(){return rt(this.restDecoder)}readKey(){let e=this.keyClockDecoder.read();if(e<this.keys.length)return this.keys[e];{let e=this.stringDecoder.read();return this.keys.push(e),e}}},zr=class{constructor(){this.restEncoder=Te()}toUint8Array(){return g(this.restEncoder)}resetDsCurVal(){}writeDsClock(e){v(this.restEncoder,e)}writeDsLen(e){v(this.restEncoder,e)}},Br=class extends zr{writeLeftID(e){v(this.restEncoder,e.client),v(this.restEncoder,e.clock)}writeRightID(e){v(this.restEncoder,e.client),v(this.restEncoder,e.clock)}writeClient(e){v(this.restEncoder,e)}writeInfo(e){Oe(this.restEncoder,e)}writeString(e){y(this.restEncoder,e)}writeParentInfo(e){v(this.restEncoder,+!!e)}writeTypeRef(e){v(this.restEncoder,e)}writeLen(e){v(this.restEncoder,e)}writeAny(e){ze(this.restEncoder,e)}writeBuf(e){b(this.restEncoder,e)}writeJSON(e){y(this.restEncoder,JSON.stringify(e))}writeKey(e){y(this.restEncoder,e)}},Vr=class{constructor(){this.restEncoder=Te(),this.dsCurrVal=0}toUint8Array(){return g(this.restEncoder)}resetDsCurVal(){this.dsCurrVal=0}writeDsClock(e){let t=e-this.dsCurrVal;this.dsCurrVal=e,v(this.restEncoder,t)}writeDsLen(e){e===0&&C(),v(this.restEncoder,e-1),this.dsCurrVal+=e}},L=class extends Vr{constructor(){super(),this.keyMap=new Map,this.keyClock=0,this.keyClockEncoder=new We,this.clientEncoder=new He,this.leftClockEncoder=new We,this.rightClockEncoder=new We,this.infoEncoder=new Be(Oe),this.stringEncoder=new Ge,this.parentInfoEncoder=new Be(Oe),this.typeRefEncoder=new He,this.lenEncoder=new He}toUint8Array(){let e=Te();return v(e,0),b(e,this.keyClockEncoder.toUint8Array()),b(e,this.clientEncoder.toUint8Array()),b(e,this.leftClockEncoder.toUint8Array()),b(e,this.rightClockEncoder.toUint8Array()),b(e,g(this.infoEncoder)),b(e,this.stringEncoder.toUint8Array()),b(e,g(this.parentInfoEncoder)),b(e,this.typeRefEncoder.toUint8Array()),b(e,this.lenEncoder.toUint8Array()),Me(e,g(this.restEncoder)),g(e)}writeLeftID(e){this.clientEncoder.write(e.client),this.leftClockEncoder.write(e.clock)}writeRightID(e){this.clientEncoder.write(e.client),this.rightClockEncoder.write(e.clock)}writeClient(e){this.clientEncoder.write(e)}writeInfo(e){this.infoEncoder.write(e)}writeString(e){this.stringEncoder.write(e)}writeParentInfo(e){this.parentInfoEncoder.write(+!!e)}writeTypeRef(e){this.typeRefEncoder.write(e)}writeLen(e){this.lenEncoder.write(e)}writeAny(e){ze(this.restEncoder,e)}writeBuf(e){b(this.restEncoder,e)}writeJSON(e){ze(this.restEncoder,e)}writeKey(e){let t=this.keyMap.get(e);t===void 0?(this.keyClockEncoder.write(this.keyClock++),this.stringEncoder.write(e)):this.keyClockEncoder.write(t)}},Hr=(e,t,n,r)=>{r=h(r,t[0].id.clock);let i=B(t,r);v(e.restEncoder,t.length-i),e.writeClient(n),v(e.restEncoder,r);let a=t[i];a.write(e,r-a.id.clock);for(let n=i+1;n<t.length;n++)t[n].write(e,0)},Ur=(e,t,n)=>{let r=new Map;n.forEach((e,n)=>{z(t,n)>e&&r.set(n,e)}),_i(t).forEach((e,t)=>{n.has(t)||r.set(t,0)}),v(e.restEncoder,r.size),p(r.entries()).sort((e,t)=>t[0]-e[0]).forEach(([n,r])=>{Hr(e,t.clients.get(n),n,r)})},Wr=(e,t)=>{let n=s(),r=T(e.restDecoder);for(let i=0;i<r;i++){let r=T(e.restDecoder),i=Array(r),a=e.readClient(),o=T(e.restDecoder);n.set(a,{i:0,refs:i});for(let n=0;n<r;n++){let r=e.readInfo();switch(31&r){case 0:{let t=e.readLen();i[n]=new q(R(a,o),t),o+=t;break}case 10:{let t=T(e.restDecoder);i[n]=new Q(R(a,o),t),o+=t;break}default:{let s=(r&192)==0,c=new Z(R(a,o),null,(r&128)==128?e.readLeftID():null,null,(r&64)==64?e.readRightID():null,s?e.readParentInfo()?t.get(e.readString()):e.readLeftID():null,s&&(r&32)==32?e.readString():null,Eo(e,r));i[n]=c,o+=c.length}}}}return n},Gr=(e,t,n)=>{let r=[],i=p(n.keys()).sort((e,t)=>e-t);if(i.length===0)return null;let a=()=>{if(i.length===0)return null;let e=n.get(i[i.length-1]);for(;e.refs.length===e.i;)if(i.pop(),i.length>0)e=n.get(i[i.length-1]);else return null;return e},o=a();if(o===null)return null;let s=new gi,c=new Map,u=(e,t)=>{let n=c.get(e);(n==null||n>t)&&c.set(e,t)},d=o.refs[o.i++],f=new Map,ee=()=>{for(let e of r){let t=e.id.client,r=n.get(t);r?(r.i--,s.clients.set(t,r.refs.slice(r.i)),n.delete(t),r.i=0,r.refs=[]):s.clients.set(t,[e]),i=i.filter(e=>e!==t)}r.length=0};for(;;){if(d.constructor!==Q){let i=l(f,d.id.client,()=>z(t,d.id.client))-d.id.clock;if(i<0)r.push(d),u(d.id.client,d.id.clock-1),ee();else{let a=d.getMissing(e,t);if(a!==null){r.push(d);let e=n.get(a)||{refs:[],i:0};if(e.refs.length===e.i)u(a,z(t,a)),ee();else{d=e.refs[e.i++];continue}}else (i===0||i<d.length)&&(d.integrate(e,i),f.set(d.id.client,d.id.clock+d.length))}}if(r.length>0)d=r.pop();else if(o!==null&&o.i<o.refs.length)d=o.refs[o.i++];else{if(o=a(),o===null)break;d=o.refs[o.i++]}}if(s.clients.size>0){let e=new L;return Ur(e,s,new Map),v(e.restEncoder,0),{missing:c,update:e.toUint8Array()}}return null},Kr=(e,t)=>Ur(e,t.doc.store,t.beforeState),qr=(e,t,n,r=new Rr(e))=>H(t,e=>{e.local=!1;let t=!1,n=e.doc,i=n.store,a=Gr(e,i,Wr(r,n)),o=i.pendingStructs;if(o){for(let[e,n]of o.missing)if(n<z(i,e)){t=!0;break}if(a){for(let[e,t]of a.missing){let n=o.missing.get(e);(n==null||n>t)&&o.missing.set(e,t)}o.update=Ii([o.update,a.update])}}else i.pendingStructs=a;let s=Mr(r,e,i);if(i.pendingDs){let t=new Rr(Ye(i.pendingDs));T(t.restDecoder);let n=Mr(t,e,i);s&&n?i.pendingDs=Ii([s,n]):i.pendingDs=s||n}else i.pendingDs=s;if(t){let t=i.pendingStructs.update;i.pendingStructs=null,Jr(e.doc,t)}},n,!1),Jr=(e,t,n,r=Rr)=>{let i=Ye(t);qr(i,e,n,new r(i))},Yr=(e,t,n)=>Jr(e,t,n,Ir),Xr=(e,t,n=new Map)=>{Ur(e,t.store,n),Ar(e,kr(t.store))},Zr=(e,t=new Uint8Array([0]),n=new L)=>{Xr(n,e,ei(t));let r=[n.toUint8Array()];if(e.store.pendingDs&&r.push(e.store.pendingDs),e.store.pendingStructs&&r.push(Li(e.store.pendingStructs.update,t)),r.length>1){if(n.constructor===Br)return Pi(r.map((e,t)=>t===0?e:Vi(e)));if(n.constructor===L)return Ii(r)}return r[0]},Qr=(e,t)=>Zr(e,t,new Br),$r=e=>{let t=new Map,n=T(e.restDecoder);for(let r=0;r<n;r++){let n=T(e.restDecoder),r=T(e.restDecoder);t.set(n,r)}return t},ei=e=>$r(new Fr(Ye(e))),ti=(e,t)=>(v(e.restEncoder,t.size),p(t.entries()).sort((e,t)=>t[0]-e[0]).forEach(([t,n])=>{v(e.restEncoder,t),v(e.restEncoder,n)}),e),ni=(e,t)=>ti(e,_i(t.store)),ri=(e,t=new Vr)=>(e instanceof Map?ti(t,e):ni(t,e),t.toUint8Array()),ii=e=>ri(e,new zr),ai=class{constructor(){this.l=[]}},oi=()=>new ai,si=(e,t)=>e.l.push(t),ci=(e,t)=>{let n=e.l,r=n.length;e.l=n.filter(e=>t!==e),r===e.l.length&&console.error(`[yjs] Tried to remove event handler that doesn't exist.`)},li=(e,t,n)=>At(e.l,[t,n]),ui=class{constructor(e,t){this.client=e,this.clock=t}},di=(e,t)=>e===t||e!==null&&t!==null&&e.client===t.client&&e.clock===t.clock,R=(e,t)=>new ui(e,t),fi=e=>{for(let[t,n]of e.doc.share.entries())if(n===e)return t;throw C()},pi=class{constructor(e,t){this.ds=e,this.sv=t}};((e,t)=>new pi(e,t))(Or(),new Map);var mi=(e,t)=>t===void 0?!e.deleted:t.sv.has(e.id.client)&&(t.sv.get(e.id.client)||0)>e.id.clock&&!wr(t.ds,e.id),hi=(e,t)=>{let n=l(e.meta,hi,f),r=e.doc.store;n.has(t)||(t.sv.forEach((t,n)=>{t<z(r,n)&&V(e,R(n,t))}),Sr(e,t.ds,e=>{}),n.add(t))},gi=class{constructor(){this.clients=new Map,this.pendingStructs=null,this.pendingDs=null}},_i=e=>{let t=new Map;return e.clients.forEach((e,n)=>{let r=e[e.length-1];t.set(n,r.id.clock+r.length)}),t},z=(e,t)=>{let n=e.clients.get(t);if(n===void 0)return 0;let r=n[n.length-1];return r.id.clock+r.length},vi=(e,t)=>{let n=e.clients.get(t.id.client);if(n===void 0)n=[],e.clients.set(t.id.client,n);else{let e=n[n.length-1];if(e.id.clock+e.length!==t.id.clock)throw C()}n.push(t)},B=(e,t)=>{let n=0,r=e.length-1,i=e[r],a=i.id.clock;if(a===t)return r;let o=m(t/(a+i.length-1)*r);for(;n<=r;){if(i=e[o],a=i.id.clock,a<=t){if(t<a+i.length)return o;n=o+1}else r=o-1;o=m((n+r)/2)}throw C()},yi=(e,t)=>{let n=e.clients.get(t.client);return n[B(n,t.clock)]},bi=(e,t,n)=>{let r=B(t,n),i=t[r];return i.id.clock<n&&i instanceof Z?(t.splice(r+1,0,To(e,i,n-i.id.clock)),r+1):r},V=(e,t)=>{let n=e.doc.store.clients.get(t.client);return n[bi(e,n,t.clock)]},xi=(e,t,n)=>{let r=t.clients.get(n.client),i=B(r,n.clock),a=r[i];return n.clock!==a.id.clock+a.length-1&&a.constructor!==q&&r.splice(i+1,0,To(e,a,n.clock-a.id.clock+1)),a},Si=(e,t,n)=>{let r=e.clients.get(t.id.client);r[B(r,t.id.clock)]=n},Ci=(e,t,n,r,i)=>{if(r===0)return;let a=n+r,o=bi(e,t,n),s;do s=t[o++],a<s.id.clock+s.length&&bi(e,t,a),i(s);while(o<t.length&&t[o].id.clock<a)},wi=class{constructor(e,t,n){this.doc=e,this.deleteSet=new xr,this.beforeState=_i(e.store),this.afterState=new Map,this.changed=new Map,this.changedParentTypes=new Map,this._mergeStructs=[],this.origin=t,this.meta=new Map,this.local=n,this.subdocsAdded=new Set,this.subdocsRemoved=new Set,this.subdocsLoaded=new Set,this._needFormattingCleanup=!1}},Ti=(e,t)=>t.deleteSet.clients.size===0&&!d(t.afterState,(e,n)=>t.beforeState.get(n)!==e)?!1:(Tr(t.deleteSet),Kr(e,t),Ar(e,t.deleteSet),!0),Ei=(e,t,n)=>{let r=t._item;(r===null||r.id.clock<(e.beforeState.get(r.id.client)||0)&&!r.deleted)&&l(e.changed,t,f).add(n)},Di=(e,t)=>{let n=e[t],r=e[t-1],i=t;for(;i>0;n=r,r=e[--i-1]){if(r.deleted===n.deleted&&r.constructor===n.constructor&&r.mergeWith(n)){n instanceof Z&&n.parentSub!==null&&n.parent._map.get(n.parentSub)===n&&n.parent._map.set(n.parentSub,r);continue}break}let a=t-i;return a&&e.splice(t+1-a,a),a},Oi=(e,t,n)=>{for(let[r,i]of e.clients.entries()){let e=t.clients.get(r);for(let r=i.length-1;r>=0;r--){let a=i[r],o=a.clock+a.len;for(let r=B(e,a.clock),i=e[r];r<e.length&&i.id.clock<o;i=e[++r]){let i=e[r];if(a.clock+a.len<=i.id.clock)break;i instanceof Z&&i.deleted&&!i.keep&&n(i)&&i.gc(t,!1)}}}},ki=(e,t)=>{e.clients.forEach((e,n)=>{let r=t.clients.get(n);for(let t=e.length-1;t>=0;t--){let n=e[t],i=ce(r.length-1,1+B(r,n.clock+n.len-1));for(let e=i,t=r[e];e>0&&t.id.clock>=n.clock;t=r[e])e-=1+Di(r,e)}})},Ai=(e,t)=>{if(t<e.length){let n=e[t],r=n.doc,i=r.store,a=n.deleteSet,o=n._mergeStructs;try{Tr(a),n.afterState=_i(n.doc.store),r.emit(`beforeObserverCalls`,[n,r]);let e=[];n.changed.forEach((t,r)=>e.push(()=>{(r._item===null||!r._item.deleted)&&r._callObserver(n,t)})),e.push(()=>{n.changedParentTypes.forEach((t,r)=>{r._dEH.l.length>0&&(r._item===null||!r._item.deleted)&&(t=t.filter(e=>e.target._item===null||!e.target._item.deleted),t.forEach(e=>{e.currentTarget=r,e._path=null}),t.sort((e,t)=>e.path.length-t.path.length),e.push(()=>{li(r._dEH,t,n)}))}),e.push(()=>r.emit(`afterTransaction`,[n,r])),e.push(()=>{n._needFormattingCleanup&&Ia(n)})}),At(e,[])}finally{r.gc&&Oi(a,i,r.gcFilter),ki(a,i),n.afterState.forEach((e,t)=>{let r=n.beforeState.get(t)||0;if(r!==e){let e=i.clients.get(t),n=h(B(e,r),1);for(let t=e.length-1;t>=n;)t-=1+Di(e,t)}});for(let e=o.length-1;e>=0;e--){let{client:t,clock:n}=o[e].id,r=i.clients.get(t),a=B(r,n);a+1<r.length&&Di(r,a+1)>1||a>0&&Di(r,a)}if(!n.local&&n.afterState.get(r.clientID)!==n.beforeState.get(r.clientID)&&(mr(lr,nr,`[yjs] `,rr,sr,`Changed the client-id because another client seems to be using it.`),r.clientID=Nr()),r.emit(`afterTransactionCleanup`,[n,r]),r._observers.has(`update`)){let e=new Br;Ti(e,n)&&r.emit(`update`,[e.toUint8Array(),n.origin,r,n])}if(r._observers.has(`updateV2`)){let e=new L;Ti(e,n)&&r.emit(`updateV2`,[e.toUint8Array(),n.origin,r,n])}let{subdocsAdded:s,subdocsLoaded:c,subdocsRemoved:l}=n;(s.size>0||l.size>0||c.size>0)&&(s.forEach(e=>{e.clientID=r.clientID,e.collectionid??=r.collectionid,r.subdocs.add(e)}),l.forEach(e=>r.subdocs.delete(e)),r.emit(`subdocs`,[{loaded:c,added:s,removed:l},r,n]),l.forEach(e=>e.destroy())),e.length<=t+1?(r._transactionCleanups=[],r.emit(`afterAllTransactions`,[r,e])):Ai(e,t+1)}}},H=(e,t,n=null,r=!0)=>{let i=e._transactionCleanups,a=!1,o=null;e._transaction===null&&(a=!0,e._transaction=new wi(e,n,r),i.push(e._transaction),i.length===1&&e.emit(`beforeAllTransactions`,[e]),e.emit(`beforeTransaction`,[e._transaction,e]));try{o=t(e._transaction)}finally{if(a){let t=e._transaction===i[0];e._transaction=null,t&&Ai(i,0)}}return o};function*ji(e){let t=T(e.restDecoder);for(let n=0;n<t;n++){let t=T(e.restDecoder),n=e.readClient(),r=T(e.restDecoder);for(let i=0;i<t;i++){let t=e.readInfo();if(t===10){let t=T(e.restDecoder);yield new Q(R(n,r),t),r+=t}else if(31&t){let i=(t&192)==0,a=new Z(R(n,r),null,(t&128)==128?e.readLeftID():null,null,(t&64)==64?e.readRightID():null,i?e.readParentInfo()?e.readString():e.readLeftID():null,i&&(t&32)==32?e.readString():null,Eo(e,t));yield a,r+=a.length}else{let t=e.readLen();yield new q(R(n,r),t),r+=t}}}}var Mi=class{constructor(e,t){this.gen=ji(e),this.curr=null,this.done=!1,this.filterSkips=t,this.next()}next(){do this.curr=this.gen.next().value||null;while(this.filterSkips&&this.curr!==null&&this.curr.constructor===Q);return this.curr}},Ni=class{constructor(e){this.currClient=0,this.startClock=0,this.written=0,this.encoder=e,this.clientStructs=[]}},Pi=e=>Ii(e,Ir,Br),Fi=(e,t)=>{if(e.constructor===q){let{client:n,clock:r}=e.id;return new q(R(n,r+t),e.length-t)}else if(e.constructor===Q){let{client:n,clock:r}=e.id;return new Q(R(n,r+t),e.length-t)}else{let n=e,{client:r,clock:i}=n.id;return new Z(R(r,i+t),null,R(r,i+t-1),null,n.rightOrigin,n.parent,n.parentSub,n.content.splice(t))}},Ii=(e,t=Rr,n=L)=>{if(e.length===1)return e[0];let r=e.map(e=>new t(Ye(e))),i=r.map(e=>new Mi(e,!0)),a=null,o=new n,s=new Ni(o);for(;i=i.filter(e=>e.curr!==null),i.sort((e,t)=>{if(e.curr.id.client===t.curr.id.client){let n=e.curr.id.clock-t.curr.id.clock;return n===0?e.curr.constructor===t.curr.constructor?0:e.curr.constructor===Q?1:-1:n}else return t.curr.id.client-e.curr.id.client}),i.length!==0;){let e=i[0],t=e.curr.id.client;if(a!==null){let n=e.curr,r=!1;for(;n!==null&&n.id.clock+n.length<=a.struct.id.clock+a.struct.length&&n.id.client>=a.struct.id.client;)n=e.next(),r=!0;if(n===null||n.id.client!==t||r&&n.id.clock>a.struct.id.clock+a.struct.length)continue;if(t!==a.struct.id.client)U(s,a.struct,a.offset),a={struct:n,offset:0},e.next();else if(a.struct.id.clock+a.struct.length<n.id.clock)if(a.struct.constructor===Q)a.struct.length=n.id.clock+n.length-a.struct.id.clock;else{U(s,a.struct,a.offset);let e=n.id.clock-a.struct.id.clock-a.struct.length;a={struct:new Q(R(t,a.struct.id.clock+a.struct.length),e),offset:0}}else{let t=a.struct.id.clock+a.struct.length-n.id.clock;t>0&&(a.struct.constructor===Q?a.struct.length-=t:n=Fi(n,t)),a.struct.mergeWith(n)||(U(s,a.struct,a.offset),a={struct:n,offset:0},e.next())}}else a={struct:e.curr,offset:0},e.next();for(let n=e.curr;n!==null&&n.id.client===t&&n.id.clock===a.struct.id.clock+a.struct.length&&n.constructor!==Q;n=e.next())U(s,a.struct,a.offset),a={struct:n,offset:0}}return a!==null&&(U(s,a.struct,a.offset),a=null),zi(s),Ar(o,Er(r.map(e=>jr(e)))),o.toUint8Array()},Li=(e,t,n=Rr,r=L)=>{let i=ei(t),a=new r,o=new Ni(a),s=new n(Ye(e)),c=new Mi(s,!1);for(;c.curr;){let e=c.curr,t=e.id.client,n=i.get(t)||0;if(c.curr.constructor===Q){c.next();continue}if(e.id.clock+e.length>n)for(U(o,e,h(n-e.id.clock,0)),c.next();c.curr&&c.curr.id.client===t;)U(o,c.curr,0),c.next();else for(;c.curr&&c.curr.id.client===t&&c.curr.id.clock+c.curr.length<=n;)c.next()}return zi(o),Ar(a,jr(s)),a.toUint8Array()},Ri=e=>{e.written>0&&(e.clientStructs.push({written:e.written,restEncoder:g(e.encoder.restEncoder)}),e.encoder.restEncoder=Te(),e.written=0)},U=(e,t,n)=>{e.written>0&&e.currClient!==t.id.client&&Ri(e),e.written===0&&(e.currClient=t.id.client,e.encoder.writeClient(t.id.client),v(e.encoder.restEncoder,t.id.clock+n)),t.write(e.encoder,n),e.written++},zi=e=>{Ri(e);let t=e.encoder.restEncoder;v(t,e.clientStructs.length);for(let n=0;n<e.clientStructs.length;n++){let r=e.clientStructs[n];v(t,r.written),Me(t,r.restEncoder)}},Bi=(e,t,n,r)=>{let i=new n(Ye(e)),a=new Mi(i,!1),o=new r,s=new Ni(o);for(let e=a.curr;e!==null;e=a.next())U(s,t(e),0);return zi(s),Ar(o,jr(i)),o.toUint8Array()},Vi=e=>Bi(e,jt,Rr,Br),Hi=`You must not compute changes after the event-handler fired.`,Ui=class{constructor(e,t){this.target=e,this.currentTarget=e,this.transaction=t,this._changes=null,this._keys=null,this._delta=null,this._path=null}get path(){return this._path||=Wi(this.currentTarget,this.target)}deletes(e){return wr(this.transaction.deleteSet,e.id)}get keys(){if(this._keys===null){if(this.transaction.doc._transactionCleanups.length===0)throw x(Hi);let e=new Map,t=this.target;this.transaction.changed.get(t).forEach(n=>{if(n!==null){let r=t._map.get(n),i,a;if(this.adds(r)){let e=r.left;for(;e!==null&&this.adds(e);)e=e.left;if(this.deletes(r))if(e!==null&&this.deletes(e))i=`delete`,a=ee(e.content.getContent());else return;else e!==null&&this.deletes(e)?(i=`update`,a=ee(e.content.getContent())):(i=`add`,a=void 0)}else if(this.deletes(r))i=`delete`,a=ee(r.content.getContent());else return;e.set(n,{action:i,oldValue:a})}}),this._keys=e}return this._keys}get delta(){return this.changes.delta}adds(e){return e.id.clock>=(this.transaction.beforeState.get(e.id.client)||0)}get changes(){let e=this._changes;if(e===null){if(this.transaction.doc._transactionCleanups.length===0)throw x(Hi);let t=this.target,n=f(),r=f(),i=[];if(e={added:n,deleted:r,delta:i,keys:this.keys},this.transaction.changed.get(t).has(null)){let e=null,a=()=>{e&&i.push(e)};for(let i=t._start;i!==null;i=i.right)i.deleted?this.deletes(i)&&!this.adds(i)&&((e===null||e.delete===void 0)&&(a(),e={delete:0}),e.delete+=i.length,r.add(i)):this.adds(i)?((e===null||e.insert===void 0)&&(a(),e={insert:[]}),e.insert=e.insert.concat(i.content.getContent()),n.add(i)):((e===null||e.retain===void 0)&&(a(),e={retain:0}),e.retain+=i.length);e!==null&&e.retain===void 0&&a()}this._changes=e}return e}},Wi=(e,t)=>{let n=[];for(;t._item!==null&&t!==e;){if(t._item.parentSub!==null)n.unshift(t._item.parentSub);else{let e=0,r=t._item.parent._start;for(;r!==t._item&&r!==null;)!r.deleted&&r.countable&&(e+=r.length),r=r.right;n.unshift(e)}t=t._item.parent}return n},W=()=>{hr(`Invalid access: Add Yjs type to a document before reading data.`)},Gi=80,Ki=0,qi=class{constructor(e,t){e.marker=!0,this.p=e,this.index=t,this.timestamp=Ki++}},Ji=e=>{e.timestamp=Ki++},Yi=(e,t,n)=>{e.p.marker=!1,e.p=t,t.marker=!0,e.index=n,e.timestamp=Ki++},Xi=(e,t,n)=>{if(e.length>=Gi){let r=e.reduce((e,t)=>e.timestamp<t.timestamp?e:t);return Yi(r,t,n),r}else{let r=new qi(t,n);return e.push(r),r}},Zi=(e,t)=>{if(e._start===null||t===0||e._searchMarker===null)return null;let n=e._searchMarker.length===0?null:e._searchMarker.reduce((e,n)=>se(t-e.index)<se(t-n.index)?e:n),r=e._start,i=0;for(n!==null&&(r=n.p,i=n.index,Ji(n));r.right!==null&&i<t;){if(!r.deleted&&r.countable){if(t<i+r.length)break;i+=r.length}r=r.right}for(;r.left!==null&&i>t;)r=r.left,!r.deleted&&r.countable&&(i-=r.length);for(;r.left!==null&&r.left.id.client===r.id.client&&r.left.id.clock+r.left.length===r.id.clock;)r=r.left,!r.deleted&&r.countable&&(i-=r.length);return n!==null&&se(n.index-i)<r.parent.length/Gi?(Yi(n,r,i),n):Xi(e._searchMarker,r,i)},Qi=(e,t,n)=>{for(let r=e.length-1;r>=0;r--){let i=e[r];if(n>0){let t=i.p;for(t.marker=!1;t&&(t.deleted||!t.countable);)t=t.left,t&&!t.deleted&&t.countable&&(i.index-=t.length);if(t===null||t.marker===!0){e.splice(r,1);continue}i.p=t,t.marker=!0}(t<i.index||n>0&&t===i.index)&&(i.index=h(t,i.index+n))}},$i=(e,t,n)=>{let r=e,i=t.changedParentTypes;for(;l(i,e,()=>[]).push(n),e._item!==null;)e=e._item.parent;li(r._eH,n,t)},G=class{constructor(){this._item=null,this._map=new Map,this._start=null,this.doc=null,this._length=0,this._eH=oi(),this._dEH=oi(),this._searchMarker=null}get parent(){return this._item?this._item.parent:null}_integrate(e,t){this.doc=e,this._item=t}_copy(){throw S()}clone(){throw S()}_write(e){}get _first(){let e=this._start;for(;e!==null&&e.deleted;)e=e.right;return e}_callObserver(e,t){!e.local&&this._searchMarker&&(this._searchMarker.length=0)}observe(e){si(this._eH,e)}observeDeep(e){si(this._dEH,e)}unobserve(e){ci(this._eH,e)}unobserveDeep(e){ci(this._dEH,e)}toJSON(){}},ea=(e,t,n)=>{e.doc??W(),t<0&&(t=e._length+t),n<0&&(n=e._length+n);let r=n-t,i=[],a=e._start;for(;a!==null&&r>0;){if(a.countable&&!a.deleted){let e=a.content.getContent();if(e.length<=t)t-=e.length;else{for(let n=t;n<e.length&&r>0;n++)i.push(e[n]),r--;t=0}}a=a.right}return i},ta=e=>{e.doc??W();let t=[],n=e._start;for(;n!==null;){if(n.countable&&!n.deleted){let e=n.content.getContent();for(let n=0;n<e.length;n++)t.push(e[n])}n=n.right}return t},na=(e,t)=>{let n=0,r=e._start;for(e.doc??W();r!==null;){if(r.countable&&!r.deleted){let i=r.content.getContent();for(let r=0;r<i.length;r++)t(i[r],n++,e)}r=r.right}},ra=(e,t)=>{let n=[];return na(e,(r,i)=>{n.push(t(r,i,e))}),n},ia=e=>{let t=e._start,n=null,r=0;return{[Symbol.iterator](){return this},next:()=>{if(n===null){for(;t!==null&&t.deleted;)t=t.right;if(t===null)return{done:!0,value:void 0};n=t.content.getContent(),r=0,t=t.right}let e=n[r++];return n.length<=r&&(n=null),{done:!1,value:e}}}},aa=(e,t)=>{e.doc??W();let n=Zi(e,t),r=e._start;for(n!==null&&(r=n.p,t-=n.index);r!==null;r=r.right)if(!r.deleted&&r.countable){if(t<r.length)return r.content.getContent()[t];t-=r.length}},oa=(e,t,n,r)=>{let i=n,a=e.doc,o=a.clientID,s=a.store,c=n===null?t._start:n.right,l=[],u=()=>{l.length>0&&(i=new Z(R(o,z(s,o)),i,i&&i.lastId,c,c&&c.id,t,null,new po(l)),i.integrate(e,0),l=[])};r.forEach(n=>{if(n===null)l.push(n);else switch(n.constructor){case Number:case Object:case Boolean:case Array:case String:l.push(n);break;default:switch(u(),n.constructor){case Uint8Array:case ArrayBuffer:i=new Z(R(o,z(s,o)),i,i&&i.lastId,c,c&&c.id,t,null,new $a(new Uint8Array(n))),i.integrate(e,0);break;case Pr:i=new Z(R(o,z(s,o)),i,i&&i.lastId,c,c&&c.id,t,null,new io(n)),i.integrate(e,0);break;default:if(n instanceof G)i=new Z(R(o,z(s,o)),i,i&&i.lastId,c,c&&c.id,t,null,new X(n)),i.integrate(e,0);else throw Error(`Unexpected content type in insert operation`)}}}),u()},sa=()=>x(`Length exceeded!`),ca=(e,t,n,r)=>{if(n>t._length)throw sa();if(n===0)return t._searchMarker&&Qi(t._searchMarker,n,r.length),oa(e,t,null,r);let i=n,a=Zi(t,n),o=t._start;for(a!==null&&(o=a.p,n-=a.index,n===0&&(o=o.prev,n+=o&&o.countable&&!o.deleted?o.length:0));o!==null;o=o.right)if(!o.deleted&&o.countable){if(n<=o.length){n<o.length&&V(e,R(o.id.client,o.id.clock+n));break}n-=o.length}return t._searchMarker&&Qi(t._searchMarker,i,r.length),oa(e,t,o,r)},la=(e,t,n)=>{let r=(t._searchMarker||[]).reduce((e,t)=>t.index>e.index?t:e,{index:0,p:t._start}).p;if(r)for(;r.right;)r=r.right;return oa(e,t,r,n)},ua=(e,t,n,r)=>{if(r===0)return;let i=n,a=r,o=Zi(t,n),s=t._start;for(o!==null&&(s=o.p,n-=o.index);s!==null&&n>0;s=s.right)!s.deleted&&s.countable&&(n<s.length&&V(e,R(s.id.client,s.id.clock+n)),n-=s.length);for(;r>0&&s!==null;)s.deleted||(r<s.length&&V(e,R(s.id.client,s.id.clock+r)),s.delete(e),r-=s.length),s=s.right;if(r>0)throw sa();t._searchMarker&&Qi(t._searchMarker,i,-a+r)},da=(e,t,n)=>{let r=t._map.get(n);r!==void 0&&r.delete(e)},fa=(e,t,n,r)=>{let i=t._map.get(n)||null,a=e.doc,o=a.clientID,s;if(r==null)s=new po([r]);else switch(r.constructor){case Number:case Object:case Boolean:case Array:case String:case Date:case BigInt:s=new po([r]);break;case Uint8Array:s=new $a(r);break;case Pr:s=new io(r);break;default:if(r instanceof G)s=new X(r);else throw Error(`Unexpected content type`)}new Z(R(o,z(a.store,o)),i,i&&i.lastId,null,null,t,n,s).integrate(e,0)},pa=(e,t)=>{e.doc??W();let n=e._map.get(t);return n!==void 0&&!n.deleted?n.content.getContent()[n.length-1]:void 0},ma=e=>{let t={};return e.doc??W(),e._map.forEach((e,n)=>{e.deleted||(t[n]=e.content.getContent()[e.length-1])}),t},ha=(e,t)=>{e.doc??W();let n=e._map.get(t);return n!==void 0&&!n.deleted},ga=(e,t)=>{let n={};return e._map.forEach((e,r)=>{let i=e;for(;i!==null&&(!t.sv.has(i.id.client)||i.id.clock>=(t.sv.get(i.id.client)||0));)i=i.left;i!==null&&mi(i,t)&&(n[r]=i.content.getContent()[i.length-1])}),n},_a=e=>(e.doc??W(),vr(e._map.entries(),e=>!e[1].deleted)),va=class extends Ui{},ya=class e extends G{constructor(){super(),this._prelimContent=[],this._searchMarker=[]}static from(t){let n=new e;return n.push(t),n}_integrate(e,t){super._integrate(e,t),this.insert(0,this._prelimContent),this._prelimContent=null}_copy(){return new e}clone(){let t=new e;return t.insert(0,this.toArray().map(e=>e instanceof G?e.clone():e)),t}get length(){return this.doc??W(),this._length}_callObserver(e,t){super._callObserver(e,t),$i(this,e,new va(this,e))}insert(e,t){this.doc===null?this._prelimContent.splice(e,0,...t):H(this.doc,n=>{ca(n,this,e,t)})}push(e){this.doc===null?this._prelimContent.push(...e):H(this.doc,t=>{la(t,this,e)})}unshift(e){this.insert(0,e)}delete(e,t=1){this.doc===null?this._prelimContent.splice(e,t):H(this.doc,n=>{ua(n,this,e,t)})}get(e){return aa(this,e)}toArray(){return ta(this)}slice(e=0,t=this.length){return ea(this,e,t)}toJSON(){return this.map(e=>e instanceof G?e.toJSON():e)}map(e){return ra(this,e)}forEach(e){na(this,e)}[Symbol.iterator](){return ia(this)}_write(e){e.writeTypeRef(_o)}},ba=e=>new ya,xa=class extends Ui{constructor(e,t,n){super(e,t),this.keysChanged=n}},Sa=class e extends G{constructor(e){super(),this._prelimContent=null,e===void 0?this._prelimContent=new Map:this._prelimContent=new Map(e)}_integrate(e,t){super._integrate(e,t),this._prelimContent.forEach((e,t)=>{this.set(t,e)}),this._prelimContent=null}_copy(){return new e}clone(){let t=new e;return this.forEach((e,n)=>{t.set(n,e instanceof G?e.clone():e)}),t}_callObserver(e,t){$i(this,e,new xa(this,e,t))}toJSON(){this.doc??W();let e={};return this._map.forEach((t,n)=>{if(!t.deleted){let r=t.content.getContent()[t.length-1];e[n]=r instanceof G?r.toJSON():r}}),e}get size(){return[..._a(this)].length}keys(){return yr(_a(this),e=>e[0])}values(){return yr(_a(this),e=>e[1].content.getContent()[e[1].length-1])}entries(){return yr(_a(this),e=>[e[0],e[1].content.getContent()[e[1].length-1]])}forEach(e){this.doc??W(),this._map.forEach((t,n)=>{t.deleted||e(t.content.getContent()[t.length-1],n,this)})}[Symbol.iterator](){return this.entries()}delete(e){this.doc===null?this._prelimContent.delete(e):H(this.doc,t=>{da(t,this,e)})}set(e,t){return this.doc===null?this._prelimContent.set(e,t):H(this.doc,n=>{fa(n,this,e,t)}),t}get(e){return pa(this,e)}has(e){return ha(this,e)}clear(){this.doc===null?this._prelimContent.clear():H(this.doc,e=>{this.forEach(function(t,n,r){da(e,r,n)})})}_write(e){e.writeTypeRef(vo)}},Ca=e=>new Sa,K=(e,t)=>e===t||typeof e==`object`&&typeof t==`object`&&e&&t&&Dt(e,t),wa=class{constructor(e,t,n,r){this.left=e,this.right=t,this.index=n,this.currentAttributes=r}forward(){switch(this.right===null&&C(),this.right.content.constructor){case J:this.right.deleted||Oa(this.currentAttributes,this.right.content);break;default:this.right.deleted||(this.index+=this.right.length);break}this.left=this.right,this.right=this.right.right}},Ta=(e,t,n)=>{for(;t.right!==null&&n>0;){switch(t.right.content.constructor){case J:t.right.deleted||Oa(t.currentAttributes,t.right.content);break;default:t.right.deleted||(n<t.right.length&&V(e,R(t.right.id.client,t.right.id.clock+n)),t.index+=t.right.length,n-=t.right.length);break}t.left=t.right,t.right=t.right.right}return t},Ea=(e,t,n,r)=>{let i=new Map,a=r?Zi(t,n):null;return a?Ta(e,new wa(a.p.left,a.p,a.index,i),n-a.index):Ta(e,new wa(null,t._start,0,i),n)},Da=(e,t,n,r)=>{for(;n.right!==null&&(n.right.deleted===!0||n.right.content.constructor===J&&K(r.get(n.right.content.key),n.right.content.value));)n.right.deleted||r.delete(n.right.content.key),n.forward();let i=e.doc,a=i.clientID;r.forEach((r,o)=>{let s=n.left,c=n.right,l=new Z(R(a,z(i.store,a)),s,s&&s.lastId,c,c&&c.id,t,null,new J(o,r));l.integrate(e,0),n.right=l,n.forward()})},Oa=(e,t)=>{let{key:n,value:r}=t;r===null?e.delete(n):e.set(n,r)},ka=(e,t)=>{for(;e.right!==null&&(e.right.deleted||e.right.content.constructor===J&&K(t[e.right.content.key]??null,e.right.content.value));)e.forward()},Aa=(e,t,n,r)=>{let i=e.doc,a=i.clientID,o=new Map;for(let s in r){let c=r[s],l=n.currentAttributes.get(s)??null;if(!K(l,c)){o.set(s,l);let{left:r,right:u}=n;n.right=new Z(R(a,z(i.store,a)),r,r&&r.lastId,u,u&&u.id,t,null,new J(s,c)),n.right.integrate(e,0),n.forward()}}return o},ja=(e,t,n,r,i)=>{n.currentAttributes.forEach((e,t)=>{i[t]===void 0&&(i[t]=null)});let a=e.doc,o=a.clientID;ka(n,i);let s=Aa(e,t,n,i),c=r.constructor===String?new Y(r):r instanceof G?new X(r):new oo(r),{left:l,right:u,index:d}=n;t._searchMarker&&Qi(t._searchMarker,n.index,c.getLength()),u=new Z(R(o,z(a.store,o)),l,l&&l.lastId,u,u&&u.id,t,null,c),u.integrate(e,0),n.right=u,n.index=d,n.forward(),Da(e,t,n,s)},Ma=(e,t,n,r,i)=>{let a=e.doc,o=a.clientID;ka(n,i);let s=Aa(e,t,n,i);iterationLoop:for(;n.right!==null&&(r>0||s.size>0&&(n.right.deleted||n.right.content.constructor===J));){if(!n.right.deleted)switch(n.right.content.constructor){case J:{let{key:t,value:a}=n.right.content,o=i[t];if(o!==void 0){if(K(o,a))s.delete(t);else{if(r===0)break iterationLoop;s.set(t,a)}n.right.delete(e)}else n.currentAttributes.set(t,a);break}default:r<n.right.length&&V(e,R(n.right.id.client,n.right.id.clock+r)),r-=n.right.length;break}n.forward()}if(r>0){let i=``;for(;r>0;r--)i+=`
|
|
3
3
|
`;n.right=new Z(R(o,z(a.store,o)),n.left,n.left&&n.left.lastId,n.right,n.right&&n.right.id,t,null,new Y(i)),n.right.integrate(e,0),n.forward()}Da(e,t,n,s)},Na=(e,t,n,r,i)=>{let a=t,o=s();for(;a&&(!a.countable||a.deleted);){if(!a.deleted&&a.content.constructor===J){let e=a.content;o.set(e.key,e)}a=a.right}let c=0,l=!1;for(;t!==a;){if(n===t&&(l=!0),!t.deleted){let n=t.content;switch(n.constructor){case J:{let{key:a,value:s}=n,u=r.get(a)??null;(o.get(a)!==n||u===s)&&(t.delete(e),c++,!l&&(i.get(a)??null)===s&&u!==s&&(u===null?i.delete(a):i.set(a,u))),!l&&!t.deleted&&Oa(i,n);break}}}t=t.right}return c},Pa=(e,t)=>{for(;t&&t.right&&(t.right.deleted||!t.right.countable);)t=t.right;let n=new Set;for(;t&&(t.deleted||!t.countable);){if(!t.deleted&&t.content.constructor===J){let r=t.content.key;n.has(r)?t.delete(e):n.add(r)}t=t.left}},Fa=e=>{let t=0;return H(e.doc,n=>{let r=e._start,i=e._start,a=s(),o=c(a);for(;i;){if(i.deleted===!1)switch(i.content.constructor){case J:Oa(o,i.content);break;default:t+=Na(n,r,i,a,o),a=c(o),r=i;break}i=i.right}}),t},Ia=e=>{let t=new Set,n=e.doc;for(let[r,i]of e.afterState.entries()){let a=e.beforeState.get(r)||0;i!==a&&Ci(e,n.store.clients.get(r),a,i,e=>{!e.deleted&&e.content.constructor===J&&e.constructor!==q&&t.add(e.parent)})}H(n,n=>{Sr(e,e.deleteSet,e=>{if(e instanceof q||!e.parent._hasFormatting||t.has(e.parent))return;let r=e.parent;e.content.constructor===J?t.add(r):Pa(n,e)});for(let e of t)Fa(e)})},La=(e,t,n)=>{let r=n,i=c(t.currentAttributes),a=t.right;for(;n>0&&t.right!==null;){if(t.right.deleted===!1)switch(t.right.content.constructor){case X:case oo:case Y:n<t.right.length&&V(e,R(t.right.id.client,t.right.id.clock+n)),n-=t.right.length,t.right.delete(e);break}t.forward()}a&&Na(e,a,t.right,i,t.currentAttributes);let o=(t.left||t.right).parent;return o._searchMarker&&Qi(o._searchMarker,t.index,-r+n),t},Ra=class extends Ui{constructor(e,t,n){super(e,t),this.childListChanged=!1,this.keysChanged=new Set,n.forEach(e=>{e===null?this.childListChanged=!0:this.keysChanged.add(e)})}get changes(){if(this._changes===null){let e={keys:this.keys,delta:this.delta,added:new Set,deleted:new Set};this._changes=e}return this._changes}get delta(){if(this._delta===null){let e=this.target.doc,t=[];H(e,e=>{let n=new Map,r=new Map,i=this.target._start,a=null,o={},s=``,c=0,l=0,u=()=>{if(a!==null){let e=null;switch(a){case`delete`:l>0&&(e={delete:l}),l=0;break;case`insert`:(typeof s==`object`||s.length>0)&&(e={insert:s},n.size>0&&(e.attributes={},n.forEach((t,n)=>{t!==null&&(e.attributes[n]=t)}))),s=``;break;case`retain`:c>0&&(e={retain:c},wt(o)||(e.attributes=bt({},o))),c=0;break}e&&t.push(e),a=null}};for(;i!==null;){switch(i.content.constructor){case X:case oo:this.adds(i)?this.deletes(i)||(u(),a=`insert`,s=i.content.getContent()[0],u()):this.deletes(i)?(a!==`delete`&&(u(),a=`delete`),l+=1):i.deleted||(a!==`retain`&&(u(),a=`retain`),c+=1);break;case Y:this.adds(i)?this.deletes(i)||(a!==`insert`&&(u(),a=`insert`),s+=i.content.str):this.deletes(i)?(a!==`delete`&&(u(),a=`delete`),l+=i.length):i.deleted||(a!==`retain`&&(u(),a=`retain`),c+=i.length);break;case J:{let{key:t,value:s}=i.content;if(this.adds(i))this.deletes(i)||(K(n.get(t)??null,s)?s!==null&&i.delete(e):(a===`retain`&&u(),K(s,r.get(t)??null)?delete o[t]:o[t]=s));else if(this.deletes(i)){r.set(t,s);let e=n.get(t)??null;K(e,s)||(a===`retain`&&u(),o[t]=e)}else if(!i.deleted){r.set(t,s);let n=o[t];n!==void 0&&(K(n,s)?n!==null&&i.delete(e):(a===`retain`&&u(),s===null?delete o[t]:o[t]=s))}i.deleted||(a===`insert`&&u(),Oa(n,i.content));break}}i=i.right}for(u();t.length>0;){let e=t[t.length-1];if(e.retain!==void 0&&e.attributes===void 0)t.pop();else break}}),this._delta=t}return this._delta}},za=class e extends G{constructor(e){super(),this._pending=e===void 0?[]:[()=>this.insert(0,e)],this._searchMarker=[],this._hasFormatting=!1}get length(){return this.doc??W(),this._length}_integrate(e,t){super._integrate(e,t);try{this._pending.forEach(e=>e())}catch(e){console.error(e)}this._pending=null}_copy(){return new e}clone(){let t=new e;return t.applyDelta(this.toDelta()),t}_callObserver(e,t){super._callObserver(e,t);let n=new Ra(this,e,t);$i(this,e,n),!e.local&&this._hasFormatting&&(e._needFormattingCleanup=!0)}toString(){this.doc??W();let e=``,t=this._start;for(;t!==null;)!t.deleted&&t.countable&&t.content.constructor===Y&&(e+=t.content.str),t=t.right;return e}toJSON(){return this.toString()}applyDelta(e,{sanitize:t=!0}={}){this.doc===null?this._pending.push(()=>this.applyDelta(e)):H(this.doc,n=>{let r=new wa(null,this._start,0,new Map);for(let i=0;i<e.length;i++){let a=e[i];if(a.insert!==void 0){let o=!t&&typeof a.insert==`string`&&i===e.length-1&&r.right===null&&a.insert.slice(-1)===`
|
|
4
4
|
`?a.insert.slice(0,-1):a.insert;(typeof o!=`string`||o.length>0)&&ja(n,this,r,o,a.attributes||{})}else a.retain===void 0?a.delete!==void 0&&La(n,r,a.delete):Ma(n,this,r,a.retain,a.attributes||{})}})}toDelta(e,t,n){this.doc??W();let r=[],i=new Map,a=this.doc,o=``,s=this._start;function c(){if(o.length>0){let e={},t=!1;i.forEach((n,r)=>{t=!0,e[r]=n});let n={insert:o};t&&(n.attributes=e),r.push(n),o=``}}let l=()=>{for(;s!==null;){if(mi(s,e)||t!==void 0&&mi(s,t))switch(s.content.constructor){case Y:{let r=i.get(`ychange`);e!==void 0&&!mi(s,e)?(r===void 0||r.user!==s.id.client||r.type!==`removed`)&&(c(),i.set(`ychange`,n?n(`removed`,s.id):{type:`removed`})):t!==void 0&&!mi(s,t)?(r===void 0||r.user!==s.id.client||r.type!==`added`)&&(c(),i.set(`ychange`,n?n(`added`,s.id):{type:`added`})):r!==void 0&&(c(),i.delete(`ychange`)),o+=s.content.str;break}case X:case oo:{c();let e={insert:s.content.getContent()[0]};if(i.size>0){let t={};e.attributes=t,i.forEach((e,n)=>{t[n]=e})}r.push(e);break}case J:mi(s,e)&&(c(),Oa(i,s.content));break}s=s.right}c()};return e||t?H(a,n=>{e&&hi(n,e),t&&hi(n,t),l()},`cleanup`):l(),r}insert(e,t,n){if(t.length<=0)return;let r=this.doc;r===null?this._pending.push(()=>this.insert(e,t,n)):H(r,r=>{let i=Ea(r,this,e,!n);n||(n={},i.currentAttributes.forEach((e,t)=>{n[t]=e})),ja(r,this,i,t,n)})}insertEmbed(e,t,n){let r=this.doc;r===null?this._pending.push(()=>this.insertEmbed(e,t,n||{})):H(r,r=>{let i=Ea(r,this,e,!n);ja(r,this,i,t,n||{})})}delete(e,t){if(t===0)return;let n=this.doc;n===null?this._pending.push(()=>this.delete(e,t)):H(n,n=>{La(n,Ea(n,this,e,!0),t)})}format(e,t,n){if(t===0)return;let r=this.doc;r===null?this._pending.push(()=>this.format(e,t,n)):H(r,r=>{let i=Ea(r,this,e,!1);i.right!==null&&Ma(r,this,i,t,n)})}removeAttribute(e){this.doc===null?this._pending.push(()=>this.removeAttribute(e)):H(this.doc,t=>{da(t,this,e)})}setAttribute(e,t){this.doc===null?this._pending.push(()=>this.setAttribute(e,t)):H(this.doc,n=>{fa(n,this,e,t)})}getAttribute(e){return pa(this,e)}getAttributes(){return ma(this)}_write(e){e.writeTypeRef(yo)}},Ba=e=>new za,Va=class{constructor(e,t=()=>!0){this._filter=t,this._root=e,this._currentNode=e._start,this._firstCall=!0,e.doc??W()}[Symbol.iterator](){return this}next(){let e=this._currentNode,t=e&&e.content&&e.content.type;if(e!==null&&(!this._firstCall||e.deleted||!this._filter(t)))do if(t=e.content.type,!e.deleted&&(t.constructor===Wa||t.constructor===Ha)&&t._start!==null)e=t._start;else for(;e!==null;){let t=e.next;if(t!==null){e=t;break}else e=e.parent===this._root?null:e.parent._item}while(e!==null&&(e.deleted||!this._filter(e.content.type)));return this._firstCall=!1,e===null?{value:void 0,done:!0}:(this._currentNode=e,{value:e.content.type,done:!1})}},Ha=class e extends G{constructor(){super(),this._prelimContent=[]}get firstChild(){let e=this._first;return e?e.content.getContent()[0]:null}_integrate(e,t){super._integrate(e,t),this.insert(0,this._prelimContent),this._prelimContent=null}_copy(){return new e}clone(){let t=new e;return t.insert(0,this.toArray().map(e=>e instanceof G?e.clone():e)),t}get length(){return this.doc??W(),this._prelimContent===null?this._length:this._prelimContent.length}createTreeWalker(e){return new Va(this,e)}querySelector(e){e=e.toUpperCase();let t=new Va(this,t=>t.nodeName&&t.nodeName.toUpperCase()===e).next();return t.done?null:t.value}querySelectorAll(e){return e=e.toUpperCase(),p(new Va(this,t=>t.nodeName&&t.nodeName.toUpperCase()===e))}_callObserver(e,t){$i(this,e,new Ka(this,t,e))}toString(){return ra(this,e=>e.toString()).join(``)}toJSON(){return this.toString()}toDOM(e=document,t={},n){let r=e.createDocumentFragment();return n!==void 0&&n._createAssociation(r,this),na(this,i=>{r.insertBefore(i.toDOM(e,t,n),null)}),r}insert(e,t){this.doc===null?this._prelimContent.splice(e,0,...t):H(this.doc,n=>{ca(n,this,e,t)})}insertAfter(e,t){if(this.doc!==null)H(this.doc,n=>{let r=e&&e instanceof G?e._item:e;oa(n,this,r,t)});else{let n=this._prelimContent,r=e===null?0:n.findIndex(t=>t===e)+1;if(r===0&&e!==null)throw x(`Reference item not found`);n.splice(r,0,...t)}}delete(e,t=1){this.doc===null?this._prelimContent.splice(e,t):H(this.doc,n=>{ua(n,this,e,t)})}toArray(){return ta(this)}push(e){this.insert(this.length,e)}unshift(e){this.insert(0,e)}get(e){return aa(this,e)}slice(e=0,t=this.length){return ea(this,e,t)}forEach(e){na(this,e)}_write(e){e.writeTypeRef(xo)}},Ua=e=>new Ha,Wa=class e extends Ha{constructor(e=`UNDEFINED`){super(),this.nodeName=e,this._prelimAttrs=new Map}get nextSibling(){let e=this._item?this._item.next:null;return e?e.content.type:null}get prevSibling(){let e=this._item?this._item.prev:null;return e?e.content.type:null}_integrate(e,t){super._integrate(e,t),this._prelimAttrs.forEach((e,t)=>{this.setAttribute(t,e)}),this._prelimAttrs=null}_copy(){return new e(this.nodeName)}clone(){let t=new e(this.nodeName);return St(this.getAttributes(),(e,n)=>{t.setAttribute(n,e)}),t.insert(0,this.toArray().map(e=>e instanceof G?e.clone():e)),t}toString(){let e=this.getAttributes(),t=[],n=[];for(let t in e)n.push(t);n.sort();let r=n.length;for(let i=0;i<r;i++){let r=n[i];t.push(r+`="`+e[r]+`"`)}let i=this.nodeName.toLocaleLowerCase();return`<${i}${t.length>0?` `+t.join(` `):``}>${super.toString()}</${i}>`}removeAttribute(e){this.doc===null?this._prelimAttrs.delete(e):H(this.doc,t=>{da(t,this,e)})}setAttribute(e,t){this.doc===null?this._prelimAttrs.set(e,t):H(this.doc,n=>{fa(n,this,e,t)})}getAttribute(e){return pa(this,e)}hasAttribute(e){return ha(this,e)}getAttributes(e){return e?ga(this,e):ma(this)}toDOM(e=document,t={},n){let r=e.createElement(this.nodeName),i=this.getAttributes();for(let e in i){let t=i[e];typeof t==`string`&&r.setAttribute(e,t)}return na(this,i=>{r.appendChild(i.toDOM(e,t,n))}),n!==void 0&&n._createAssociation(r,this),r}_write(e){e.writeTypeRef(bo),e.writeKey(this.nodeName)}},Ga=e=>new Wa(e.readKey()),Ka=class extends Ui{constructor(e,t,n){super(e,n),this.childListChanged=!1,this.attributesChanged=new Set,t.forEach(e=>{e===null?this.childListChanged=!0:this.attributesChanged.add(e)})}},qa=class e extends Sa{constructor(e){super(),this.hookName=e}_copy(){return new e(this.hookName)}clone(){let t=new e(this.hookName);return this.forEach((e,n)=>{t.set(n,e)}),t}toDOM(e=document,t={},n){let r=t[this.hookName],i;return i=r===void 0?document.createElement(this.hookName):r.createDom(this),i.setAttribute(`data-yjs-hook`,this.hookName),n!==void 0&&n._createAssociation(i,this),i}_write(e){e.writeTypeRef(So),e.writeKey(this.hookName)}},Ja=e=>new qa(e.readKey()),Ya=class e extends za{get nextSibling(){let e=this._item?this._item.next:null;return e?e.content.type:null}get prevSibling(){let e=this._item?this._item.prev:null;return e?e.content.type:null}_copy(){return new e}clone(){let t=new e;return t.applyDelta(this.toDelta()),t}toDOM(e=document,t,n){let r=e.createTextNode(this.toString());return n!==void 0&&n._createAssociation(r,this),r}toString(){return this.toDelta().map(e=>{let t=[];for(let n in e.attributes){let r=[];for(let t in e.attributes[n])r.push({key:t,value:e.attributes[n][t]});r.sort((e,t)=>e.key<t.key?-1:1),t.push({nodeName:n,attrs:r})}t.sort((e,t)=>e.nodeName<t.nodeName?-1:1);let n=``;for(let e=0;e<t.length;e++){let r=t[e];n+=`<${r.nodeName}`;for(let e=0;e<r.attrs.length;e++){let t=r.attrs[e];n+=` ${t.key}="${t.value}"`}n+=`>`}n+=e.insert;for(let e=t.length-1;e>=0;e--)n+=`</${t[e].nodeName}>`;return n}).join(``)}toJSON(){return this.toString()}_write(e){e.writeTypeRef(Co)}},Xa=e=>new Ya,Za=class{constructor(e,t){this.id=e,this.length=t}get deleted(){throw S()}mergeWith(e){return!1}write(e,t,n){throw S()}integrate(e,t){throw S()}},Qa=0,q=class extends Za{get deleted(){return!0}delete(){}mergeWith(e){return this.constructor===e.constructor?(this.length+=e.length,!0):!1}integrate(e,t){t>0&&(this.id.clock+=t,this.length-=t),vi(e.doc.store,this)}write(e,t){e.writeInfo(Qa),e.writeLen(this.length-t)}getMissing(e,t){return null}},$a=class e{constructor(e){this.content=e}getLength(){return 1}getContent(){return[this.content]}isCountable(){return!0}copy(){return new e(this.content)}splice(e){throw S()}mergeWith(e){return!1}integrate(e,t){}delete(e){}gc(e){}write(e,t){e.writeBuf(this.content)}getRef(){return 3}},eo=e=>new $a(e.readBuf()),to=class e{constructor(e){this.len=e}getLength(){return this.len}getContent(){return[]}isCountable(){return!1}copy(){return new e(this.len)}splice(t){let n=new e(this.len-t);return this.len=t,n}mergeWith(e){return this.len+=e.len,!0}integrate(e,t){Dr(e.deleteSet,t.id.client,t.id.clock,this.len),t.markDeleted()}delete(e){}gc(e){}write(e,t){e.writeLen(this.len-t)}getRef(){return 1}},no=e=>new to(e.readLen()),ro=(e,t)=>new Pr({guid:e,...t,shouldLoad:t.shouldLoad||t.autoLoad||!1}),io=class e{constructor(e){e._item&&console.error(`This document was already integrated as a sub-document. You should create a second instance instead with the same guid.`),this.doc=e;let t={};this.opts=t,e.gc||(t.gc=!1),e.autoLoad&&(t.autoLoad=!0),e.meta!==null&&(t.meta=e.meta)}getLength(){return 1}getContent(){return[this.doc]}isCountable(){return!0}copy(){return new e(ro(this.doc.guid,this.opts))}splice(e){throw S()}mergeWith(e){return!1}integrate(e,t){this.doc._item=t,e.subdocsAdded.add(this.doc),this.doc.shouldLoad&&e.subdocsLoaded.add(this.doc)}delete(e){e.subdocsAdded.has(this.doc)?e.subdocsAdded.delete(this.doc):e.subdocsRemoved.add(this.doc)}gc(e){}write(e,t){e.writeString(this.doc.guid),e.writeAny(this.opts)}getRef(){return 9}},ao=e=>new io(ro(e.readString(),e.readAny())),oo=class e{constructor(e){this.embed=e}getLength(){return 1}getContent(){return[this.embed]}isCountable(){return!0}copy(){return new e(this.embed)}splice(e){throw S()}mergeWith(e){return!1}integrate(e,t){}delete(e){}gc(e){}write(e,t){e.writeJSON(this.embed)}getRef(){return 5}},so=e=>new oo(e.readJSON()),J=class e{constructor(e,t){this.key=e,this.value=t}getLength(){return 1}getContent(){return[]}isCountable(){return!1}copy(){return new e(this.key,this.value)}splice(e){throw S()}mergeWith(e){return!1}integrate(e,t){let n=t.parent;n._searchMarker=null,n._hasFormatting=!0}delete(e){}gc(e){}write(e,t){e.writeKey(this.key),e.writeJSON(this.value)}getRef(){return 6}},co=e=>new J(e.readKey(),e.readJSON()),lo=class e{constructor(e){this.arr=e}getLength(){return this.arr.length}getContent(){return this.arr}isCountable(){return!0}copy(){return new e(this.arr)}splice(t){let n=new e(this.arr.slice(t));return this.arr=this.arr.slice(0,t),n}mergeWith(e){return this.arr=this.arr.concat(e.arr),!0}integrate(e,t){}delete(e){}gc(e){}write(e,t){let n=this.arr.length;e.writeLen(n-t);for(let r=t;r<n;r++){let t=this.arr[r];e.writeString(t===void 0?`undefined`:JSON.stringify(t))}}getRef(){return 2}},uo=e=>{let t=e.readLen(),n=[];for(let r=0;r<t;r++){let t=e.readString();t===`undefined`?n.push(void 0):n.push(JSON.parse(t))}return new lo(n)},fo=Rt(`node_env`)===`development`,po=class e{constructor(e){this.arr=e,fo&&kt(e)}getLength(){return this.arr.length}getContent(){return this.arr}isCountable(){return!0}copy(){return new e(this.arr)}splice(t){let n=new e(this.arr.slice(t));return this.arr=this.arr.slice(0,t),n}mergeWith(e){return this.arr=this.arr.concat(e.arr),!0}integrate(e,t){}delete(e){}gc(e){}write(e,t){let n=this.arr.length;e.writeLen(n-t);for(let r=t;r<n;r++){let t=this.arr[r];e.writeAny(t)}}getRef(){return 8}},mo=e=>{let t=e.readLen(),n=[];for(let r=0;r<t;r++)n.push(e.readAny());return new po(n)},Y=class e{constructor(e){this.str=e}getLength(){return this.str.length}getContent(){return this.str.split(``)}isCountable(){return!0}copy(){return new e(this.str)}splice(t){let n=new e(this.str.slice(t));this.str=this.str.slice(0,t);let r=this.str.charCodeAt(t-1);return r>=55296&&r<=56319&&(this.str=this.str.slice(0,t-1)+`�`,n.str=`�`+n.str.slice(1)),n}mergeWith(e){return this.str+=e.str,!0}integrate(e,t){}delete(e){}gc(e){}write(e,t){e.writeString(t===0?this.str:this.str.slice(t))}getRef(){return 4}},ho=e=>new Y(e.readString()),go=[ba,Ca,Ba,Ga,Ua,Ja,Xa],_o=0,vo=1,yo=2,bo=3,xo=4,So=5,Co=6,X=class e{constructor(e){this.type=e}getLength(){return 1}getContent(){return[this.type]}isCountable(){return!0}copy(){return new e(this.type._copy())}splice(e){throw S()}mergeWith(e){return!1}integrate(e,t){this.type._integrate(e.doc,t)}delete(e){let t=this.type._start;for(;t!==null;)t.deleted?t.id.clock<(e.beforeState.get(t.id.client)||0)&&e._mergeStructs.push(t):t.delete(e),t=t.right;this.type._map.forEach(t=>{t.deleted?t.id.clock<(e.beforeState.get(t.id.client)||0)&&e._mergeStructs.push(t):t.delete(e)}),e.changed.delete(this.type)}gc(e){let t=this.type._start;for(;t!==null;)t.gc(e,!0),t=t.right;this.type._start=null,this.type._map.forEach(t=>{for(;t!==null;)t.gc(e,!0),t=t.left}),this.type._map=new Map}write(e,t){this.type._write(e)}getRef(){return 7}},wo=e=>new X(go[e.readTypeRef()](e)),To=(e,t,n)=>{let{client:r,clock:i}=t.id,a=new Z(R(r,i+n),t,R(r,i+n-1),t.right,t.rightOrigin,t.parent,t.parentSub,t.content.splice(n));return t.deleted&&a.markDeleted(),t.keep&&(a.keep=!0),t.redone!==null&&(a.redone=R(t.redone.client,t.redone.clock+n)),t.right=a,a.right!==null&&(a.right.left=a),e._mergeStructs.push(a),a.parentSub!==null&&a.right===null&&a.parent._map.set(a.parentSub,a),t.length=n,a},Z=class e extends Za{constructor(e,t,n,r,i,a,o,s){super(e,s.getLength()),this.origin=n,this.left=t,this.right=r,this.rightOrigin=i,this.parent=a,this.parentSub=o,this.redone=null,this.content=s,this.info=this.content.isCountable()?2:0}set marker(e){(this.info&8)>0!==e&&(this.info^=8)}get marker(){return(this.info&8)>0}get keep(){return(this.info&1)>0}set keep(e){this.keep!==e&&(this.info^=1)}get countable(){return(this.info&2)>0}get deleted(){return(this.info&4)>0}set deleted(e){this.deleted!==e&&(this.info^=4)}markDeleted(){this.info|=4}getMissing(t,n){if(this.origin&&this.origin.client!==this.id.client&&this.origin.clock>=z(n,this.origin.client))return this.origin.client;if(this.rightOrigin&&this.rightOrigin.client!==this.id.client&&this.rightOrigin.clock>=z(n,this.rightOrigin.client))return this.rightOrigin.client;if(this.parent&&this.parent.constructor===ui&&this.id.client!==this.parent.client&&this.parent.clock>=z(n,this.parent.client))return this.parent.client;if(this.origin&&=(this.left=xi(t,n,this.origin),this.left.lastId),this.rightOrigin&&=(this.right=V(t,this.rightOrigin),this.right.id),this.left&&this.left.constructor===q||this.right&&this.right.constructor===q)this.parent=null;else if(!this.parent)this.left&&this.left.constructor===e?(this.parent=this.left.parent,this.parentSub=this.left.parentSub):this.right&&this.right.constructor===e&&(this.parent=this.right.parent,this.parentSub=this.right.parentSub);else if(this.parent.constructor===ui){let e=yi(n,this.parent);e.constructor===q?this.parent=null:this.parent=e.content.type}return null}integrate(e,t){if(t>0&&(this.id.clock+=t,this.left=xi(e,e.doc.store,R(this.id.client,this.id.clock-1)),this.origin=this.left.lastId,this.content=this.content.splice(t),this.length-=t),this.parent){if(!this.left&&(!this.right||this.right.left!==null)||this.left&&this.left.right!==this.right){let t=this.left,n;if(t!==null)n=t.right;else if(this.parentSub!==null)for(n=this.parent._map.get(this.parentSub)||null;n!==null&&n.left!==null;)n=n.left;else n=this.parent._start;let r=new Set,i=new Set;for(;n!==null&&n!==this.right;){if(i.add(n),r.add(n),di(this.origin,n.origin)){if(n.id.client<this.id.client)t=n,r.clear();else if(di(this.rightOrigin,n.rightOrigin))break}else if(n.origin!==null&&i.has(yi(e.doc.store,n.origin)))r.has(yi(e.doc.store,n.origin))||(t=n,r.clear());else break;n=n.right}this.left=t}if(this.left!==null){let e=this.left.right;this.right=e,this.left.right=this}else{let e;if(this.parentSub!==null)for(e=this.parent._map.get(this.parentSub)||null;e!==null&&e.left!==null;)e=e.left;else e=this.parent._start,this.parent._start=this;this.right=e}this.right===null?this.parentSub!==null&&(this.parent._map.set(this.parentSub,this),this.left!==null&&this.left.delete(e)):this.right.left=this,this.parentSub===null&&this.countable&&!this.deleted&&(this.parent._length+=this.length),vi(e.doc.store,this),this.content.integrate(e,this),Ei(e,this.parent,this.parentSub),(this.parent._item!==null&&this.parent._item.deleted||this.parentSub!==null&&this.right!==null)&&this.delete(e)}else new q(this.id,this.length).integrate(e,0)}get next(){let e=this.right;for(;e!==null&&e.deleted;)e=e.right;return e}get prev(){let e=this.left;for(;e!==null&&e.deleted;)e=e.left;return e}get lastId(){return this.length===1?this.id:R(this.id.client,this.id.clock+this.length-1)}mergeWith(e){if(this.constructor===e.constructor&&di(e.origin,this.lastId)&&this.right===e&&di(this.rightOrigin,e.rightOrigin)&&this.id.client===e.id.client&&this.id.clock+this.length===e.id.clock&&this.deleted===e.deleted&&this.redone===null&&e.redone===null&&this.content.constructor===e.content.constructor&&this.content.mergeWith(e.content)){let t=this.parent._searchMarker;return t&&t.forEach(t=>{t.p===e&&(t.p=this,!this.deleted&&this.countable&&(t.index-=this.length))}),e.keep&&(this.keep=!0),this.right=e.right,this.right!==null&&(this.right.left=this),this.length+=e.length,!0}return!1}delete(e){if(!this.deleted){let t=this.parent;this.countable&&this.parentSub===null&&(t._length-=this.length),this.markDeleted(),Dr(e.deleteSet,this.id.client,this.id.clock,this.length),Ei(e,t,this.parentSub),this.content.delete(e)}}gc(e,t){if(!this.deleted)throw C();this.content.gc(e),t?Si(e,this,new q(this.id,this.length)):this.content=new to(this.length)}write(e,t){let n=t>0?R(this.id.client,this.id.clock+t-1):this.origin,r=this.rightOrigin,i=this.parentSub,a=this.content.getRef()&31|(n===null?0:128)|(r===null?0:64)|(i===null?0:32);if(e.writeInfo(a),n!==null&&e.writeLeftID(n),r!==null&&e.writeRightID(r),n===null&&r===null){let t=this.parent;if(t._item!==void 0){let n=t._item;if(n===null){let n=fi(t);e.writeParentInfo(!0),e.writeString(n)}else e.writeParentInfo(!1),e.writeLeftID(n.id)}else t.constructor===String?(e.writeParentInfo(!0),e.writeString(t)):t.constructor===ui?(e.writeParentInfo(!1),e.writeLeftID(t)):C();i!==null&&e.writeString(i)}this.content.write(e,t)}},Eo=(e,t)=>Do[t&31](e),Do=[()=>{C()},no,uo,eo,ho,so,co,wo,mo,ao,()=>{C()}],Oo=10,Q=class extends Za{get deleted(){return!0}delete(){}mergeWith(e){return this.constructor===e.constructor?(this.length+=e.length,!0):!1}integrate(e,t){C()}write(e,t){e.writeInfo(Oo),v(e.restEncoder,this.length-t)}getMissing(e,t){return null}},ko=typeof globalThis<`u`?globalThis:typeof window<`u`?window:typeof global<`u`?global:{},Ao=`__ $YJS$ __`;ko[Ao]===!0&&console.error(`Yjs was already imported. This breaks constructor checks and will lead to issues! - https://github.com/yjs/yjs/issues/438`),ko[Ao]=!0;var jo=new TextEncoder,Mo=new TextDecoder,No=(e,t)=>{let n=jo.encode(JSON.stringify(t)),r=new Uint8Array(1+n.length);return r[0]=e,r.set(n,1),r},Po=e=>{if(e.kind===`sync_step1`){let t=new Uint8Array(1+e.stateVector.length);return t[0]=0,t.set(e.stateVector,1),t}if(e.kind===`sync_step2`){let t=new Uint8Array(1+e.update.length);return t[0]=1,t.set(e.update,1),t}if(e.kind===`update`){let t=new Uint8Array(1+e.update.length);return t[0]=2,t.set(e.update,1),t}return e.kind===`history_snapshot`?No(3,e.view):e.kind===`history_append`?No(4,{entry:e.entry,cursor:e.cursor}):e.kind===`history_jump`?No(5,{entryId:e.entryId}):No(6,{})},Fo=e=>{try{return JSON.parse(Mo.decode(e))}catch{return null}},Io=e=>{if(e.length<1)return null;let t=e[0],n=e.subarray(1);if(t===0)return{kind:`sync_step1`,stateVector:n};if(t===1)return{kind:`sync_step2`,update:n};if(t===2)return{kind:`update`,update:n};if(t===3){let e=Fo(n);return!e||!Array.isArray(e.entries)||typeof e.cursor!=`number`?null:{kind:`history_snapshot`,view:e}}if(t===4){let e=Fo(n);return!e||!e.entry||typeof e.cursor!=`number`?null:{kind:`history_append`,entry:e.entry,cursor:e.cursor}}if(t===5){let e=Fo(n);return!e||typeof e.entryId!=`string`?null:{kind:`history_jump`,entryId:e.entryId}}return t===6?{kind:`history_clear`}:null},Lo=`unspa.identity.name`,Ro=`unspa.identity.asked`,zo=40,Bo=`Anonymous`,Vo=e=>e.replace(/[^\p{L}\p{N} \-_.@'’]/gu,``).trim().slice(0,zo),Ho=new class{#e=t(``);get name(){return e(this.#e)}set name(e){n(this.#e,e,!0)}initialized=!1;init(){if(this.initialized||(this.initialized=!0,typeof localStorage>`u`))return;let e=localStorage.getItem(Lo);e&&(this.name=Vo(e))}setName(e){let t=Vo(e);this.name=t,!(typeof localStorage>`u`)&&(t.length>0?localStorage.setItem(Lo,t):localStorage.removeItem(Lo))}get hasBeenAsked(){return typeof localStorage>`u`?!0:localStorage.getItem(Ro)===`1`}markAsked(){typeof localStorage>`u`||localStorage.setItem(Ro,`1`)}get author(){return this.name.length>0?this.name:Bo}},Uo=()=>location.protocol===`https:`?`wss:`:`ws:`,Wo=()=>`${Uo()}//${location.host}/sync`,Go=1e3,Ko=8e3,qo=class{roomId;doc=new Pr;map=this.doc.getMap(o);ws=null;listeners=new Set;historyListeners=new Set;historyView={entries:[],cursor:-1};connected=!1;closed=!1;backoffMs=Go;reconnectTimer=null;buffered=[];constructor(e){this.roomId=e,this.doc.on(`update`,(e,t)=>{let n=t===`remote`;n||this.send(Po({kind:`update`,update:e}));let r=this.map.get(a),i=n?`remote`:`local`;for(let e of this.listeners)e(r??null,i)})}connect(){if(this.ws||this.closed)return;let e=Ho.author,t=r.token,n=new URLSearchParams({author:e});t.length>0&&n.set(`token`,t);let i=`${Wo()}/${encodeURIComponent(this.roomId)}?${n.toString()}`,a=new WebSocket(i);a.binaryType=`arraybuffer`,this.ws=a,a.addEventListener(`open`,()=>{this.connected=!0,this.backoffMs=Go;for(let e of this.buffered)a.send(e);this.buffered=[],a.send(Po({kind:`sync_step1`,stateVector:ii(this.doc)}))}),a.addEventListener(`message`,e=>{let t=e.data instanceof ArrayBuffer?new Uint8Array(e.data):null;if(!t)return;let n=Io(t);if(n){if(n.kind===`sync_step1`){let e=Qr(this.doc,n.stateVector);a.send(Po({kind:`sync_step2`,update:e}));return}if(n.kind===`sync_step2`||n.kind===`update`){Yr(this.doc,n.update,`remote`);return}if(n.kind===`history_snapshot`){this.historyView=n.view,this.fanHistoryChange();return}if(n.kind===`history_append`){n.cursor<this.historyView.entries.length&&(this.historyView={entries:this.historyView.entries.slice(0,n.cursor),cursor:n.cursor}),this.historyView={entries:[...this.historyView.entries,n.entry],cursor:n.cursor},this.fanHistoryChange();return}}}),a.addEventListener(`close`,()=>{this.ws=null,this.connected=!1,!this.closed&&this.scheduleReconnect()}),a.addEventListener(`error`,()=>{})}scheduleReconnect(){if(this.reconnectTimer)return;let e=this.backoffMs;this.backoffMs=Math.min(this.backoffMs*2,Ko),this.reconnectTimer=setTimeout(()=>{this.reconnectTimer=null,this.connect()},e)}send(e){if(this.connected&&this.ws&&this.ws.readyState===WebSocket.OPEN){this.ws.send(e);return}this.buffered.push(e)}get snapshot(){return this.map.get(`data`)??null}setSnapshot(e){this.doc.transact(()=>{this.map.set(a,e)})}observe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}get history(){return this.historyView}historyEntry(e){return this.historyView.entries.find(t=>t.id===e)??null}observeHistory(e){return this.historyListeners.add(e),()=>{this.historyListeners.delete(e)}}undo(){let e=this.historyView.entries[this.historyView.cursor-1];e&&this.jumpTo(e.id)}redo(){let e=this.historyView.entries[this.historyView.cursor+1];e&&this.jumpTo(e.id)}get canUndo(){return this.historyView.cursor>0}get canRedo(){return this.historyView.cursor<this.historyView.entries.length-1}jumpTo(e){this.send(Po({kind:`history_jump`,entryId:e}))}clearHistory(){this.send(Po({kind:`history_clear`}))}fanHistoryChange(){for(let e of this.historyListeners)e(this.historyView)}destroy(){if(this.closed=!0,this.listeners.clear(),this.historyListeners.clear(),this.reconnectTimer&&=(clearTimeout(this.reconnectTimer),null),this.ws){try{this.ws.close()}catch{}this.ws=null}this.doc.destroy()}},Jo=new Map,Yo=()=>{if(typeof WebSocket>`u`)throw Error(`Sync client is only available in the browser`)},Xo=(e,t)=>{Yo();let n=i(e,t),r=Jo.get(n);if(r)return r;let a=new qo(n);return Jo.set(n,a),a.connect(),a},$=e=>!!e&&typeof e==`object`&&!Array.isArray(e),Zo=e=>!!e&&typeof e==`object`&&typeof e.id==`string`,Qo=(e,t)=>{for(let n of Object.keys(e))n in t||delete e[n];for(let n of Object.keys(t)){let r=t[n];if(!(n in e)){e[n]=r;continue}let i=e[n];Array.isArray(i)&&Array.isArray(r)?$o(i,r):$(i)&&$(r)?Qo(i,r):i!==r&&(e[n]=r)}},$o=(e,t)=>{let n=e.every(Zo),r=t.every(Zo);if(n&&r){let n=e,r=t,i=new Map;for(let e of n)i.set(e.id,e);for(let e=0;e<r.length;e+=1){let t=r[e],a=i.get(t.id),o=n[e];if(a&&o&&o.id===t.id){Qo(a,t);continue}if(a){let r=n.indexOf(a);r!==e&&(n.splice(r,1),n.splice(e,0,a)),Qo(a,t)}else n.splice(e,0,t),i.set(t.id,t)}n.length>r.length&&n.splice(r.length,n.length-r.length);return}e.length>t.length&&e.splice(t.length,e.length-t.length);for(let n=0;n<t.length;n+=1){let r=t[n];if(n>=e.length){e.push(r);continue}let i=e[n];Array.isArray(i)&&Array.isArray(r)?$o(i,r):$(i)&&$(r)?Qo(i,r):i!==r&&(e[n]=r)}},es=(e,t)=>(Array.isArray(e)&&Array.isArray(t)?$o(e,t):$(e)&&$(t)&&Qo(e,t),e),ts=e=>JSON.parse(JSON.stringify(e));export{Ho as i,es as n,Xo as r,ts as t};
|
|
Binary file
|
|
Binary file
|