@openclaw/matrix 2026.8.1-beta.2 → 2026.8.1
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/dist/{account-config-BZWN9tGS.js → account-config-CRsKoMqJ.js} +1 -1
- package/dist/{account-selection-CWuhuFn1.js → account-selection-C8nnBTxi.js} +63 -27
- package/dist/{accounts-BCzyubQt.js → accounts-fC57n-Jo.js} +3 -4
- package/dist/api.js +7 -7
- package/dist/{approval-handler.runtime-CJXCUdRg.js → approval-handler.runtime-BBjFZw1t.js} +9 -6
- package/dist/{approval-ids-7rf7etWE.js → approval-ids-DTIdXV-m.js} +1 -1
- package/dist/{approval-reaction-auth-wBwbEDpZ.js → approval-reaction-auth-BDONXxnF.js} +2 -2
- package/dist/{channel-VSrHgTON.js → channel-BkEcVUs_.js} +249 -24
- package/dist/channel-plugin-api.js +1 -1
- package/dist/{channel.runtime-pOOL0uT_.js → channel.runtime-CTLSBFsP.js} +26 -16
- package/dist/{channel.setup-PpxRP9Du.js → channel.setup-CSacbORr.js} +11 -12
- package/dist/{cli-CkTfKC_c.js → cli-DRVtgrq5.js} +15 -14
- package/dist/{cli-metadata-B1d1aGM5.js → cli-metadata-Ddx_y4Os.js} +1 -1
- package/dist/cli-metadata.js +1 -1
- package/dist/{client-sJesKQmp.js → client-CZ_JvrO0.js} +2 -2
- package/dist/{client-bootstrap-BFwT_2VT.js → client-bootstrap-D8irSL2i.js} +1 -1
- package/dist/{client-CeGw0G5S.js → client-kSi51NKp.js} +86 -62
- package/dist/{config-update-Bor_Pjsv.js → config-update-DC0fWBxc.js} +2 -3
- package/dist/contract-api.js +2 -2
- package/dist/{crypto-runtime-Bnz3zEcS.js → crypto-runtime-C4WDYxlP.js} +1 -1
- package/dist/{directory-live-Bvg2wAnR.js → directory-live-DKr0w35b.js} +3 -3
- package/dist/doctor-contract-api.js +9 -3
- package/dist/{draft-stream-BRi7PRRS.js → draft-stream-0CEpNrBk.js} +1 -1
- package/dist/{encryption-guidance-DmLY8NiO.js → encryption-guidance-D4ZdAqzM.js} +1 -1
- package/dist/event-helpers-XRfAbOIh.js +46 -0
- package/dist/helper-api.js +1 -1
- package/dist/{http-client-CycYxU9-.js → http-client-D8o8b9u6.js} +3 -47
- package/dist/{idb-persistence-BM0P27Zg.js → idb-persistence-DfgW720p.js} +1 -1
- package/dist/index.js +1 -1
- package/dist/{messages-BW0s-6Y9.js → messages-DaGRt-tu.js} +183 -27
- package/dist/{monitor-Ddfc-vjX.js → monitor-CLPbPcR9.js} +225 -173
- package/dist/plugin-entry.handlers.runtime.js +1 -1
- package/dist/probe.runtime-Bxpr1FFy.js +2 -0
- package/dist/{profile-update-BkgWYDIp.js → profile-update-zXVCMg7y.js} +2 -2
- package/dist/{reaction-events-nfUbFLdV.js → reaction-events-CjVUiqcY.js} +5 -5
- package/dist/{resolve-targets-BJAPY4Vb.js → resolve-targets-qG6gceps.js} +2 -2
- package/dist/{resolver.runtime-LWJELYq5.js → resolver.runtime-zX3TR3TN.js} +1 -1
- package/dist/{room-info-BXQA7y10.js → room-info-yheP1mod.js} +55 -1
- package/dist/runtime-api.js +2 -2
- package/dist/{sdk-DjaQFCHc.js → sdk-TZYyo0XQ.js} +74 -29
- package/dist/{send-ZDLU4JTk.js → send-BL_iH5Ox.js} +55 -35
- package/dist/session-binding-contract-api.js +2 -3
- package/dist/{setup-bootstrap-BaXkhgJg.js → setup-bootstrap-D8M7FmcO.js} +3 -3
- package/dist/{setup-core-DQn6b5vi.js → setup-core-r6L0nno-.js} +5 -5
- package/dist/setup-plugin-api.js +1 -1
- package/dist/{setup-surface-DlhJdrNI.js → setup-surface-g174ElFO.js} +14 -14
- package/dist/subagent-hooks-CMoZaARG.js +48 -0
- package/dist/subagent-hooks-api.js +1 -1
- package/dist/{target-ids-B-5aQxwn.js → target-ids-Nwx7cMVE.js} +11 -1
- package/dist/{thread-binding-api-DRbBZlhS.js → thread-binding-api-CzkeLZCU.js} +1 -1
- package/dist/thread-binding-api.js +1 -1
- package/dist/{thread-bindings-CcHZP3w2.js → thread-bindings-ERWNousC.js} +13 -9
- package/dist/thread-bindings-runtime.js +1 -1
- package/dist/{thread-bindings-shared-CKnY4LSd.js → thread-bindings-shared-oNPiyMWY.js} +1 -6
- package/dist/{tool-actions.runtime-DmdRL0bN.js → tool-actions.runtime-DcBCSwY4.js} +57 -65
- package/dist/{verification-C7ig-bQE.js → verification-4vsW_WSn.js} +2 -2
- package/node_modules/@matrix-org/matrix-sdk-crypto-nodejs/CHANGELOG.md +29 -3
- package/node_modules/@matrix-org/matrix-sdk-crypto-nodejs/README.md +23 -14
- package/node_modules/@matrix-org/matrix-sdk-crypto-nodejs/RELEASING.md +6 -2
- package/node_modules/@matrix-org/matrix-sdk-crypto-nodejs/download-lib.js +33 -14
- package/node_modules/@matrix-org/matrix-sdk-crypto-nodejs/index.d.ts +14 -0
- package/node_modules/@matrix-org/matrix-sdk-crypto-nodejs/package.json +41 -42
- package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/package.json +1 -1
- package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm.d.ts +16 -4
- package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm_bg.cjs +25 -9
- package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm_bg.js +23 -7
- package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm_bg.wasm +0 -0
- package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm_bg.wasm.d.ts +1 -0
- package/node_modules/markdown-it/README.md +18 -294
- package/node_modules/markdown-it/bin/markdown-it.mjs +2 -2
- package/node_modules/markdown-it/dist/browser/markdown-it.esm.min.mjs +2972 -0
- package/node_modules/markdown-it/dist/browser/markdown-it.esm.min.mjs.map +1 -0
- package/node_modules/markdown-it/dist/browser/markdown-it.umd.min.js +14 -0
- package/node_modules/markdown-it/dist/browser/markdown-it.umd.min.js.map +1 -0
- package/node_modules/markdown-it/dist/markdown-it.cjs.js +4412 -0
- package/node_modules/markdown-it/dist/markdown-it.cjs.js.map +1 -0
- package/node_modules/markdown-it/dist/markdown-it.d.cts +19 -0
- package/node_modules/markdown-it/dist/markdown-it.d.mts +979 -0
- package/node_modules/markdown-it/dist/{index.cjs.js → markdown-it.mjs} +1437 -1466
- package/node_modules/markdown-it/dist/markdown-it.mjs.map +1 -0
- package/node_modules/markdown-it/node_modules/argparse/README.md +46 -41
- package/node_modules/markdown-it/node_modules/argparse/lib/_colorize.js +72 -0
- package/node_modules/markdown-it/node_modules/argparse/lib/argparse.d.ts +292 -0
- package/node_modules/markdown-it/node_modules/argparse/{argparse.js → lib/argparse.js} +1124 -1027
- package/node_modules/markdown-it/node_modules/argparse/lib/difflib.js +190 -0
- package/node_modules/markdown-it/node_modules/argparse/lib/sub.js +4 -4
- package/node_modules/markdown-it/node_modules/argparse/lib/textwrap.js +28 -28
- package/node_modules/markdown-it/node_modules/argparse/package.json +17 -10
- package/node_modules/markdown-it/node_modules/entities/dist/decode-codepoint.d.ts +8 -0
- package/node_modules/markdown-it/node_modules/entities/dist/decode-codepoint.d.ts.map +1 -0
- package/node_modules/markdown-it/node_modules/entities/dist/decode-codepoint.js +46 -0
- package/node_modules/markdown-it/node_modules/entities/dist/decode-codepoint.js.map +1 -0
- package/node_modules/markdown-it/node_modules/entities/{lib/esm → dist}/decode.d.ts +28 -45
- package/node_modules/markdown-it/node_modules/entities/dist/decode.d.ts.map +1 -0
- package/node_modules/markdown-it/node_modules/entities/{lib/esm → dist}/decode.js +189 -141
- package/node_modules/markdown-it/node_modules/entities/dist/decode.js.map +1 -0
- package/node_modules/markdown-it/node_modules/entities/{lib/esm → dist}/encode.d.ts +4 -2
- package/node_modules/markdown-it/node_modules/entities/dist/encode.d.ts.map +1 -0
- package/node_modules/markdown-it/node_modules/entities/dist/encode.js +90 -0
- package/node_modules/markdown-it/node_modules/entities/dist/encode.js.map +1 -0
- package/node_modules/markdown-it/node_modules/entities/{lib → dist}/escape.d.ts +15 -10
- package/node_modules/markdown-it/node_modules/entities/dist/escape.d.ts.map +1 -0
- package/node_modules/markdown-it/node_modules/entities/dist/escape.js +132 -0
- package/node_modules/markdown-it/node_modules/entities/dist/escape.js.map +1 -0
- package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-html.d.ts +3 -0
- package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-html.d.ts.map +1 -0
- package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-html.js +5 -0
- package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-html.js.map +1 -0
- package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-xml.d.ts +3 -0
- package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-xml.d.ts.map +1 -0
- package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-xml.js +5 -0
- package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-xml.js.map +1 -0
- package/node_modules/markdown-it/node_modules/entities/dist/generated/encode-html.d.ts +5 -0
- package/node_modules/markdown-it/node_modules/entities/dist/generated/encode-html.d.ts.map +1 -0
- package/node_modules/markdown-it/node_modules/entities/dist/generated/encode-html.js +12 -0
- package/node_modules/markdown-it/node_modules/entities/dist/generated/encode-html.js.map +1 -0
- package/node_modules/markdown-it/node_modules/entities/{lib/esm → dist}/index.d.ts +14 -21
- package/node_modules/markdown-it/node_modules/entities/dist/index.d.ts.map +1 -0
- package/node_modules/markdown-it/node_modules/entities/dist/index.js +91 -0
- package/node_modules/markdown-it/node_modules/entities/dist/index.js.map +1 -0
- package/node_modules/markdown-it/node_modules/entities/dist/internal/bin-trie-flags.d.ts +17 -0
- package/node_modules/markdown-it/node_modules/entities/dist/internal/bin-trie-flags.d.ts.map +1 -0
- package/node_modules/markdown-it/node_modules/entities/dist/internal/bin-trie-flags.js +18 -0
- package/node_modules/markdown-it/node_modules/entities/dist/internal/bin-trie-flags.js.map +1 -0
- package/node_modules/markdown-it/node_modules/entities/dist/internal/decode-shared.d.ts +7 -0
- package/node_modules/markdown-it/node_modules/entities/dist/internal/decode-shared.d.ts.map +1 -0
- package/node_modules/markdown-it/node_modules/entities/dist/internal/decode-shared.js +17 -0
- package/node_modules/markdown-it/node_modules/entities/dist/internal/decode-shared.js.map +1 -0
- package/node_modules/markdown-it/node_modules/entities/dist/internal/encode-shared.d.ts +33 -0
- package/node_modules/markdown-it/node_modules/entities/dist/internal/encode-shared.d.ts.map +1 -0
- package/node_modules/markdown-it/node_modules/entities/dist/internal/encode-shared.js +93 -0
- package/node_modules/markdown-it/node_modules/entities/dist/internal/encode-shared.js.map +1 -0
- package/node_modules/markdown-it/node_modules/entities/package.json +63 -70
- package/node_modules/markdown-it/node_modules/entities/readme.md +54 -45
- package/node_modules/markdown-it/node_modules/entities/src/decode-codepoint.ts +50 -0
- package/node_modules/markdown-it/node_modules/entities/src/decode.ts +671 -0
- package/node_modules/markdown-it/node_modules/entities/src/encode.ts +95 -0
- package/node_modules/markdown-it/node_modules/entities/src/escape.ts +160 -0
- package/node_modules/markdown-it/node_modules/entities/src/generated/decode-data-html.ts +7 -0
- package/node_modules/markdown-it/node_modules/entities/src/generated/decode-data-xml.ts +7 -0
- package/node_modules/markdown-it/node_modules/entities/src/generated/encode-html.ts +18 -0
- package/node_modules/markdown-it/node_modules/entities/src/index.ts +162 -0
- package/node_modules/markdown-it/node_modules/entities/src/internal/bin-trie-flags.ts +16 -0
- package/node_modules/markdown-it/node_modules/entities/src/internal/decode-shared.ts +18 -0
- package/node_modules/markdown-it/node_modules/entities/src/internal/encode-shared.ts +123 -0
- package/node_modules/markdown-it/node_modules/linkify-it/README.md +49 -86
- package/node_modules/markdown-it/node_modules/linkify-it/build/index.cjs.js +636 -825
- package/node_modules/markdown-it/node_modules/linkify-it/build/index.cjs.js.map +1 -0
- package/node_modules/markdown-it/node_modules/linkify-it/build/index.d.ts +236 -0
- package/node_modules/markdown-it/node_modules/linkify-it/build/index.mjs +538 -0
- package/node_modules/markdown-it/node_modules/linkify-it/build/index.mjs.map +1 -0
- package/node_modules/markdown-it/node_modules/linkify-it/package.json +23 -20
- package/node_modules/markdown-it/node_modules/uc.micro/README.md +18 -1
- package/node_modules/markdown-it/node_modules/uc.micro/build/index.cjs.js +13 -18
- package/node_modules/markdown-it/node_modules/uc.micro/build/index.d.ts +6 -0
- package/node_modules/markdown-it/node_modules/uc.micro/build/index.mjs +8 -0
- package/node_modules/markdown-it/node_modules/uc.micro/package.json +12 -17
- package/node_modules/markdown-it/package.json +48 -30
- package/node_modules/matrix-js-sdk/CHANGELOG.md +33 -0
- package/node_modules/matrix-js-sdk/lib/@types/PushRules.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/PushRules.js +0 -5
- package/node_modules/matrix-js-sdk/lib/@types/PushRules.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/auth.d.ts +0 -5
- package/node_modules/matrix-js-sdk/lib/@types/auth.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/auth.js +0 -11
- package/node_modules/matrix-js-sdk/lib/@types/auth.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/beacon.d.ts +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/beacon.js +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/beacon.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/crypto.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/crypto.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/event.d.ts +3 -1
- package/node_modules/matrix-js-sdk/lib/@types/event.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/event.js +1 -0
- package/node_modules/matrix-js-sdk/lib/@types/event.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/extensible_events.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/extensible_events.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/matrix-sdk-crypto-wasm.d.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/media.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/partials.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/partials.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/requests.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/requests.js +0 -5
- package/node_modules/matrix-js-sdk/lib/@types/requests.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/search.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/search.js +0 -3
- package/node_modules/matrix-js-sdk/lib/@types/search.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/spaces.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/spaces.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/synapse.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/synapse.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/threepids.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/type-guards.d.ts +43 -0
- package/node_modules/matrix-js-sdk/lib/@types/type-guards.d.ts.map +1 -0
- package/node_modules/matrix-js-sdk/lib/@types/type-guards.js +104 -0
- package/node_modules/matrix-js-sdk/lib/@types/type-guards.js.map +1 -0
- package/node_modules/matrix-js-sdk/lib/NamespacedValue.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/ReEmitter.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/ToDeviceMessageQueue.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/ToDeviceMessageQueue.js +0 -2
- package/node_modules/matrix-js-sdk/lib/ToDeviceMessageQueue.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/autodiscovery.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/autodiscovery.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/browser-index.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/browser-index.js +3 -1
- package/node_modules/matrix-js-sdk/lib/browser-index.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/capabilityPoller.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/client.d.ts +21 -20
- package/node_modules/matrix-js-sdk/lib/client.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/client.js +38 -94
- package/node_modules/matrix-js-sdk/lib/client.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/common-crypto/CryptoBackend.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/common-crypto/key-passphrase.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/common-crypto/key-passphrase.js +1 -4
- package/node_modules/matrix-js-sdk/lib/common-crypto/key-passphrase.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/content-helpers.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/crypto/store/base.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/crypto/store/base.js +0 -9
- package/node_modules/matrix-js-sdk/lib/crypto/store/base.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/crypto/store/indexeddb-crypto-store-backend.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/crypto/store/indexeddb-crypto-store-backend.js +2 -1
- package/node_modules/matrix-js-sdk/lib/crypto/store/indexeddb-crypto-store-backend.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/crypto/store/indexeddb-crypto-store.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/crypto/store/indexeddb-crypto-store.js +1 -1
- package/node_modules/matrix-js-sdk/lib/crypto/store/indexeddb-crypto-store.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/crypto/store/localStorage-crypto-store.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/crypto/store/localStorage-crypto-store.js +0 -2
- package/node_modules/matrix-js-sdk/lib/crypto/store/localStorage-crypto-store.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/crypto/store/memory-crypto-store.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/crypto/store/memory-crypto-store.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/crypto-api/index.d.ts +1 -1
- package/node_modules/matrix-js-sdk/lib/crypto-api/index.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/crypto-api/index.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/crypto-api/keybackup.d.ts +13 -6
- package/node_modules/matrix-js-sdk/lib/crypto-api/keybackup.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/crypto-api/keybackup.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/crypto-api/verification.d.ts +23 -5
- package/node_modules/matrix-js-sdk/lib/crypto-api/verification.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/crypto-api/verification.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/embedded.d.ts +16 -0
- package/node_modules/matrix-js-sdk/lib/embedded.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/embedded.js +19 -11
- package/node_modules/matrix-js-sdk/lib/embedded.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/errors.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/extensible_events_v1/ExtensibleEvent.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/extensible_events_v1/InvalidEventError.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/extensible_events_v1/MessageEvent.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/extensible_events_v1/PollEndEvent.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/extensible_events_v1/PollResponseEvent.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/extensible_events_v1/PollStartEvent.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/feature.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/feature.js +0 -3
- package/node_modules/matrix-js-sdk/lib/feature.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/filter-component.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/filter-component.js +2 -5
- package/node_modules/matrix-js-sdk/lib/filter-component.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/filter.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/filter.js +0 -4
- package/node_modules/matrix-js-sdk/lib/filter.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/http-api/errors.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/http-api/fetch.d.ts +1 -1
- package/node_modules/matrix-js-sdk/lib/http-api/fetch.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/http-api/fetch.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/http-api/index.d.ts +1 -7
- package/node_modules/matrix-js-sdk/lib/http-api/index.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/http-api/index.js +0 -15
- package/node_modules/matrix-js-sdk/lib/http-api/index.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/http-api/interface.d.ts +0 -9
- package/node_modules/matrix-js-sdk/lib/http-api/interface.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/http-api/interface.js +0 -2
- package/node_modules/matrix-js-sdk/lib/http-api/interface.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/http-api/refresh.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/http-api/refresh.js +0 -3
- package/node_modules/matrix-js-sdk/lib/http-api/refresh.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/index.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/interactive-auth.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/interactive-auth.js +5 -6
- package/node_modules/matrix-js-sdk/lib/interactive-auth.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/logger.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/logger.js +0 -2
- package/node_modules/matrix-js-sdk/lib/logger.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrix.d.ts +1 -1
- package/node_modules/matrix-js-sdk/lib/matrix.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrix.js +1 -1
- package/node_modules/matrix-js-sdk/lib/matrix.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/CallMembership.d.ts +3 -3
- package/node_modules/matrix-js-sdk/lib/matrixrtc/CallMembership.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/CallMembership.js +5 -5
- package/node_modules/matrix-js-sdk/lib/matrixrtc/CallMembership.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/LivekitTransport.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/MatrixRTCSession.d.ts +18 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/MatrixRTCSession.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/MatrixRTCSession.js +56 -4
- package/node_modules/matrix-js-sdk/lib/matrixrtc/MatrixRTCSession.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/MatrixRTCSessionManager.d.ts +14 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/MatrixRTCSessionManager.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/MatrixRTCSessionManager.js +20 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/MatrixRTCSessionManager.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/MembershipManager.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/MembershipManager.js +9 -6
- package/node_modules/matrix-js-sdk/lib/matrixrtc/MembershipManager.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/MembershipManagerActionScheduler.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/MembershipManagerActionScheduler.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/RTCEncryptionManager.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/RTCEncryptionManager.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/ToDeviceKeyTransport.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/ToDeviceKeyTransport.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/index.d.ts +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/index.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/index.js +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/index.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/membershipData/common.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/membershipData/rtc.d.ts +6 -3
- package/node_modules/matrix-js-sdk/lib/matrixrtc/membershipData/rtc.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/membershipData/rtc.js +7 -4
- package/node_modules/matrix-js-sdk/lib/matrixrtc/membershipData/rtc.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/membershipData/session.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/types.d.ts +19 -6
- package/node_modules/matrix-js-sdk/lib/matrixrtc/types.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/types.js +11 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/types.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/utils.d.ts +0 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/utils.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/utils.js +0 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/utils.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/MSC3089Branch.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/MSC3089TreeSpace.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/beacon.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/device.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/event-context.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/event-timeline-set.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/event-timeline-set.js +3 -3
- package/node_modules/matrix-js-sdk/lib/models/event-timeline-set.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/event-timeline.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/event.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/event.js +0 -6
- package/node_modules/matrix-js-sdk/lib/models/event.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/invites-ignorer.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/invites-ignorer.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/poll.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/poll.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/read-receipt.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/read-receipt.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/related-relations.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/relations-container.d.ts +10 -0
- package/node_modules/matrix-js-sdk/lib/models/relations-container.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/relations-container.js +39 -17
- package/node_modules/matrix-js-sdk/lib/models/relations-container.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/relations.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/relations.js +1 -1
- package/node_modules/matrix-js-sdk/lib/models/relations.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/room-member.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/room-receipts.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/room-retention.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/room-state.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/room-state.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/room-sticky-events.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/room-summary.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/room.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/room.js +9 -9
- package/node_modules/matrix-js-sdk/lib/models/room.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/search-result.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/thread.d.ts +5 -2
- package/node_modules/matrix-js-sdk/lib/models/thread.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/thread.js +36 -3
- package/node_modules/matrix-js-sdk/lib/models/thread.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/typed-event-emitter.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/user.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/oauth/authorize.d.ts +133 -0
- package/node_modules/matrix-js-sdk/lib/oauth/authorize.d.ts.map +1 -0
- package/node_modules/matrix-js-sdk/lib/oauth/authorize.js +193 -0
- package/node_modules/matrix-js-sdk/lib/oauth/authorize.js.map +1 -0
- package/node_modules/matrix-js-sdk/lib/oauth/discover.d.ts +58 -0
- package/node_modules/matrix-js-sdk/lib/oauth/discover.d.ts.map +1 -0
- package/node_modules/matrix-js-sdk/lib/oauth/discover.js +35 -0
- package/node_modules/matrix-js-sdk/lib/oauth/discover.js.map +1 -0
- package/node_modules/matrix-js-sdk/lib/oauth/error.d.ts +19 -0
- package/node_modules/matrix-js-sdk/lib/oauth/error.d.ts.map +1 -0
- package/node_modules/matrix-js-sdk/lib/oauth/error.js +36 -0
- package/node_modules/matrix-js-sdk/lib/oauth/error.js.map +1 -0
- package/node_modules/matrix-js-sdk/lib/oauth/index.d.ts +87 -0
- package/node_modules/matrix-js-sdk/lib/oauth/index.d.ts.map +1 -0
- package/node_modules/matrix-js-sdk/lib/oauth/index.js +236 -0
- package/node_modules/matrix-js-sdk/lib/oauth/index.js.map +1 -0
- package/node_modules/matrix-js-sdk/lib/oauth/register.d.ts +136 -0
- package/node_modules/matrix-js-sdk/lib/oauth/register.d.ts.map +1 -0
- package/node_modules/matrix-js-sdk/lib/oauth/register.js +73 -0
- package/node_modules/matrix-js-sdk/lib/oauth/register.js.map +1 -0
- package/node_modules/matrix-js-sdk/lib/oauth/tokenRefresher.d.ts +21 -0
- package/node_modules/matrix-js-sdk/lib/oauth/tokenRefresher.d.ts.map +1 -0
- package/node_modules/matrix-js-sdk/lib/oauth/tokenRefresher.js +68 -0
- package/node_modules/matrix-js-sdk/lib/oauth/tokenRefresher.js.map +1 -0
- package/node_modules/matrix-js-sdk/lib/pollingCachedValue.d.ts +77 -0
- package/node_modules/matrix-js-sdk/lib/pollingCachedValue.d.ts.map +1 -0
- package/node_modules/matrix-js-sdk/lib/pollingCachedValue.js +160 -0
- package/node_modules/matrix-js-sdk/lib/pollingCachedValue.js.map +1 -0
- package/node_modules/matrix-js-sdk/lib/pushprocessor.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/pushprocessor.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/realtime-callbacks.js +0 -1
- package/node_modules/matrix-js-sdk/lib/realtime-callbacks.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/receipt-accumulator.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/receipt-accumulator.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rendezvous/MSC4108SignInWithQR.d.ts +7 -7
- package/node_modules/matrix-js-sdk/lib/rendezvous/MSC4108SignInWithQR.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rendezvous/MSC4108SignInWithQR.js +13 -14
- package/node_modules/matrix-js-sdk/lib/rendezvous/MSC4108SignInWithQR.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rendezvous/RendezvousError.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rendezvous/channels/MSC4108SecureChannel.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rendezvous/index.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rendezvous/index.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rendezvous/transports/MSC4108RendezvousSession.js +0 -1
- package/node_modules/matrix-js-sdk/lib/rendezvous/transports/MSC4108RendezvousSession.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/retentionPolicy.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/room-hierarchy.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rtcTransportsCachedValue.d.ts +9 -0
- package/node_modules/matrix-js-sdk/lib/rtcTransportsCachedValue.d.ts.map +1 -0
- package/node_modules/matrix-js-sdk/lib/rtcTransportsCachedValue.js +38 -0
- package/node_modules/matrix-js-sdk/lib/rtcTransportsCachedValue.js.map +1 -0
- package/node_modules/matrix-js-sdk/lib/rust-crypto/CrossSigningIdentity.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/DehydratedDeviceManager.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/DehydratedDeviceManager.js +11 -13
- package/node_modules/matrix-js-sdk/lib/rust-crypto/DehydratedDeviceManager.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/KeyClaimManager.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/OutgoingRequestProcessor.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/OutgoingRequestProcessor.js +0 -2
- package/node_modules/matrix-js-sdk/lib/rust-crypto/OutgoingRequestProcessor.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/OutgoingRequestsManager.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/PerSessionKeyBackupDownloader.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/RoomEncryptor.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/backup.d.ts +23 -4
- package/node_modules/matrix-js-sdk/lib/rust-crypto/backup.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/backup.js +62 -21
- package/node_modules/matrix-js-sdk/lib/rust-crypto/backup.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/device-converter.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/device-converter.js +1 -0
- package/node_modules/matrix-js-sdk/lib/rust-crypto/device-converter.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/index.d.ts +17 -4
- package/node_modules/matrix-js-sdk/lib/rust-crypto/index.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/index.js +21 -4
- package/node_modules/matrix-js-sdk/lib/rust-crypto/index.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/libolm_migration.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/libolm_migration.js +0 -2
- package/node_modules/matrix-js-sdk/lib/rust-crypto/libolm_migration.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/rust-crypto.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/rust-crypto.js +0 -3
- package/node_modules/matrix-js-sdk/lib/rust-crypto/rust-crypto.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/verification.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/scheduler.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/scheduler.js +0 -3
- package/node_modules/matrix-js-sdk/lib/scheduler.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/secret-storage.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/serverCapabilities.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/sliding-sync-sdk.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/sliding-sync-sdk.js +6 -0
- package/node_modules/matrix-js-sdk/lib/sliding-sync-sdk.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/sliding-sync.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/sliding-sync.js +3 -0
- package/node_modules/matrix-js-sdk/lib/sliding-sync.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/store/indexeddb-local-backend.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/store/indexeddb-local-backend.js +1 -1
- package/node_modules/matrix-js-sdk/lib/store/indexeddb-local-backend.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/store/indexeddb-remote-backend.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/store/indexeddb-store-worker.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/store/indexeddb-store-worker.js +1 -0
- package/node_modules/matrix-js-sdk/lib/store/indexeddb-store-worker.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/store/indexeddb.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/store/indexeddb.js +0 -2
- package/node_modules/matrix-js-sdk/lib/store/indexeddb.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/store/memory.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/store/memory.js +7 -9
- package/node_modules/matrix-js-sdk/lib/store/memory.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/store/stub.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/sync-accumulator.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/sync-accumulator.js +1 -5
- package/node_modules/matrix-js-sdk/lib/sync-accumulator.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/sync.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/sync.js +1 -1
- package/node_modules/matrix-js-sdk/lib/sync.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/testing.d.ts +2 -10
- package/node_modules/matrix-js-sdk/lib/testing.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/testing.js +4 -19
- package/node_modules/matrix-js-sdk/lib/testing.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/timeline-window.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/timeline-window.js +0 -1
- package/node_modules/matrix-js-sdk/lib/timeline-window.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/utils/internal/deriveKeys.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/utils/internal/deriveKeys.js +0 -1
- package/node_modules/matrix-js-sdk/lib/utils/internal/deriveKeys.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/utils.d.ts +1 -1
- package/node_modules/matrix-js-sdk/lib/utils.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/utils.js +1 -0
- package/node_modules/matrix-js-sdk/lib/utils.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/call.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/call.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/callEventHandler.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/callEventTypes.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/callEventTypes.js +0 -5
- package/node_modules/matrix-js-sdk/lib/webrtc/callEventTypes.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/callFeed.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/groupCall.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/groupCall.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/groupCallEventHandler.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/mediaHandler.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/mediaHandler.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/callFeedStatsReporter.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/callStatsReportGatherer.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/callStatsReportGatherer.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/connectionStatsBuilder.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/connectionStatsReportBuilder.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/groupCallStats.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/media/mediaSsrcHandler.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/media/mediaTrackHandler.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/media/mediaTrackStats.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/media/mediaTrackStatsHandler.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/statsReportEmitter.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/summaryStatsReportGatherer.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/trackStatsBuilder.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/transportStatsBuilder.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/transportStatsBuilder.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/valueFormatter.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/wellKnownCachedValue.d.ts +8 -0
- package/node_modules/matrix-js-sdk/lib/wellKnownCachedValue.d.ts.map +1 -0
- package/node_modules/matrix-js-sdk/lib/wellKnownCachedValue.js +34 -0
- package/node_modules/matrix-js-sdk/lib/wellKnownCachedValue.js.map +1 -0
- package/node_modules/matrix-js-sdk/node_modules/content-type/README.md +2 -0
- package/node_modules/matrix-js-sdk/node_modules/content-type/dist/index.d.ts +20 -0
- package/node_modules/matrix-js-sdk/node_modules/content-type/dist/index.js +20 -14
- package/node_modules/matrix-js-sdk/node_modules/content-type/dist/index.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/content-type/package.json +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/dist/api.js +227 -131
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/dist/api.min.js +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/ClientWidgetApi.d.ts +1 -0
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/ClientWidgetApi.js +142 -97
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/ClientWidgetApi.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/WidgetApi.d.ts +15 -0
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/WidgetApi.js +61 -19
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/WidgetApi.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/driver/WidgetDriver.d.ts +15 -11
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/driver/WidgetDriver.js +19 -13
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/driver/WidgetDriver.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/index.d.ts +1 -0
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/index.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ApiVersion.d.ts +2 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ApiVersion.js +2 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ApiVersion.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/Capabilities.d.ts +5 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/Capabilities.js +1 -0
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/Capabilities.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/RtcTransportsAction.d.ts +24 -0
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/RtcTransportsAction.js +6 -0
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/RtcTransportsAction.js.map +1 -0
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/SendEventAction.d.ts +1 -0
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/SendEventAction.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/WidgetApiAction.d.ts +5 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/WidgetApiAction.js +1 -0
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/WidgetApiAction.js.map +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/package.json +1 -1
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/src/ClientWidgetApi.ts +37 -14
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/src/WidgetApi.ts +69 -0
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/src/driver/WidgetDriver.ts +19 -12
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/src/index.ts +1 -0
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/src/interfaces/ApiVersion.ts +2 -0
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/src/interfaces/Capabilities.ts +4 -0
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/src/interfaces/RtcTransportsAction.ts +44 -0
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/src/interfaces/SendEventAction.ts +1 -0
- package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/src/interfaces/WidgetApiAction.ts +5 -0
- package/node_modules/matrix-js-sdk/package.json +10 -12
- package/node_modules/matrix-js-sdk/src/@types/PushRules.ts +0 -5
- package/node_modules/matrix-js-sdk/src/@types/auth.ts +0 -12
- package/node_modules/matrix-js-sdk/src/@types/beacon.ts +1 -1
- package/node_modules/matrix-js-sdk/src/@types/crypto.ts +2 -6
- package/node_modules/matrix-js-sdk/src/@types/event.ts +3 -0
- package/node_modules/matrix-js-sdk/src/@types/extensible_events.ts +5 -6
- package/node_modules/matrix-js-sdk/src/@types/matrix-sdk-crypto-wasm.d.ts +0 -1
- package/node_modules/matrix-js-sdk/src/@types/media.ts +1 -1
- package/node_modules/matrix-js-sdk/src/@types/partials.ts +0 -2
- package/node_modules/matrix-js-sdk/src/@types/requests.ts +0 -5
- package/node_modules/matrix-js-sdk/src/@types/search.ts +0 -2
- package/node_modules/matrix-js-sdk/src/@types/spaces.ts +0 -2
- package/node_modules/matrix-js-sdk/src/@types/synapse.ts +0 -2
- package/node_modules/matrix-js-sdk/src/@types/threepids.ts +2 -2
- package/node_modules/matrix-js-sdk/src/@types/type-guards.ts +126 -0
- package/node_modules/matrix-js-sdk/src/ToDeviceMessageQueue.ts +0 -2
- package/node_modules/matrix-js-sdk/src/autodiscovery.ts +2 -2
- package/node_modules/matrix-js-sdk/src/browser-index.ts +4 -4
- package/node_modules/matrix-js-sdk/src/client.ts +79 -130
- package/node_modules/matrix-js-sdk/src/common-crypto/key-passphrase.ts +1 -2
- package/node_modules/matrix-js-sdk/src/crypto/store/base.ts +1 -8
- package/node_modules/matrix-js-sdk/src/crypto/store/indexeddb-crypto-store-backend.ts +3 -2
- package/node_modules/matrix-js-sdk/src/crypto/store/indexeddb-crypto-store.ts +1 -3
- package/node_modules/matrix-js-sdk/src/crypto/store/localStorage-crypto-store.ts +0 -1
- package/node_modules/matrix-js-sdk/src/crypto/store/memory-crypto-store.ts +1 -1
- package/node_modules/matrix-js-sdk/src/crypto-api/index.ts +1 -1
- package/node_modules/matrix-js-sdk/src/crypto-api/keybackup.ts +14 -7
- package/node_modules/matrix-js-sdk/src/crypto-api/verification.ts +23 -5
- package/node_modules/matrix-js-sdk/src/embedded.ts +34 -16
- package/node_modules/matrix-js-sdk/src/feature.ts +0 -3
- package/node_modules/matrix-js-sdk/src/filter-component.ts +1 -2
- package/node_modules/matrix-js-sdk/src/filter.ts +0 -3
- package/node_modules/matrix-js-sdk/src/http-api/fetch.ts +1 -1
- package/node_modules/matrix-js-sdk/src/http-api/index.ts +1 -23
- package/node_modules/matrix-js-sdk/src/http-api/interface.ts +0 -12
- package/node_modules/matrix-js-sdk/src/http-api/refresh.ts +0 -1
- package/node_modules/matrix-js-sdk/src/interactive-auth.ts +4 -4
- package/node_modules/matrix-js-sdk/src/logger.ts +0 -2
- package/node_modules/matrix-js-sdk/src/matrix.ts +1 -1
- package/node_modules/matrix-js-sdk/src/matrixrtc/CallMembership.ts +5 -5
- package/node_modules/matrix-js-sdk/src/matrixrtc/MatrixRTCSession.ts +73 -6
- package/node_modules/matrix-js-sdk/src/matrixrtc/MatrixRTCSessionManager.ts +21 -2
- package/node_modules/matrix-js-sdk/src/matrixrtc/MembershipManager.ts +9 -6
- package/node_modules/matrix-js-sdk/src/matrixrtc/MembershipManagerActionScheduler.ts +1 -1
- package/node_modules/matrix-js-sdk/src/matrixrtc/RTCEncryptionManager.ts +2 -2
- package/node_modules/matrix-js-sdk/src/matrixrtc/ToDeviceKeyTransport.ts +3 -3
- package/node_modules/matrix-js-sdk/src/matrixrtc/index.ts +1 -1
- package/node_modules/matrix-js-sdk/src/matrixrtc/membershipData/rtc.ts +19 -8
- package/node_modules/matrix-js-sdk/src/matrixrtc/types.ts +24 -7
- package/node_modules/matrix-js-sdk/src/matrixrtc/utils.ts +0 -2
- package/node_modules/matrix-js-sdk/src/models/event-timeline-set.ts +3 -3
- package/node_modules/matrix-js-sdk/src/models/event.ts +7 -13
- package/node_modules/matrix-js-sdk/src/models/invites-ignorer.ts +1 -1
- package/node_modules/matrix-js-sdk/src/models/poll.ts +1 -1
- package/node_modules/matrix-js-sdk/src/models/read-receipt.ts +1 -1
- package/node_modules/matrix-js-sdk/src/models/relations-container.ts +55 -19
- package/node_modules/matrix-js-sdk/src/models/relations.ts +1 -1
- package/node_modules/matrix-js-sdk/src/models/room-state.ts +0 -3
- package/node_modules/matrix-js-sdk/src/models/room.ts +15 -15
- package/node_modules/matrix-js-sdk/src/models/thread.ts +51 -6
- package/node_modules/matrix-js-sdk/src/oauth/authorize.ts +274 -0
- package/node_modules/matrix-js-sdk/src/oauth/discover.ts +102 -0
- package/node_modules/matrix-js-sdk/src/{oidc → oauth}/error.ts +8 -7
- package/node_modules/matrix-js-sdk/src/oauth/index.ts +297 -0
- package/node_modules/matrix-js-sdk/src/oauth/register.ts +166 -0
- package/node_modules/matrix-js-sdk/src/oauth/tokenRefresher.ts +77 -0
- package/node_modules/matrix-js-sdk/src/pollingCachedValue.ts +184 -0
- package/node_modules/matrix-js-sdk/src/pushprocessor.ts +3 -3
- package/node_modules/matrix-js-sdk/src/realtime-callbacks.ts +0 -1
- package/node_modules/matrix-js-sdk/src/receipt-accumulator.ts +1 -2
- package/node_modules/matrix-js-sdk/src/rendezvous/MSC4108SignInWithQR.ts +14 -16
- package/node_modules/matrix-js-sdk/src/rendezvous/index.ts +2 -2
- package/node_modules/matrix-js-sdk/src/rendezvous/transports/MSC4108RendezvousSession.ts +0 -1
- package/node_modules/matrix-js-sdk/src/rtcTransportsCachedValue.ts +40 -0
- package/node_modules/matrix-js-sdk/src/rust-crypto/DehydratedDeviceManager.ts +14 -13
- package/node_modules/matrix-js-sdk/src/rust-crypto/OutgoingRequestProcessor.ts +0 -1
- package/node_modules/matrix-js-sdk/src/rust-crypto/PerSessionKeyBackupDownloader.ts +1 -1
- package/node_modules/matrix-js-sdk/src/rust-crypto/backup.ts +67 -33
- package/node_modules/matrix-js-sdk/src/rust-crypto/device-converter.ts +1 -0
- package/node_modules/matrix-js-sdk/src/rust-crypto/index.ts +32 -23
- package/node_modules/matrix-js-sdk/src/rust-crypto/libolm_migration.ts +1 -3
- package/node_modules/matrix-js-sdk/src/rust-crypto/rust-crypto.ts +3 -6
- package/node_modules/matrix-js-sdk/src/scheduler.ts +0 -3
- package/node_modules/matrix-js-sdk/src/sliding-sync-sdk.ts +4 -1
- package/node_modules/matrix-js-sdk/src/sliding-sync.ts +3 -1
- package/node_modules/matrix-js-sdk/src/store/indexeddb-local-backend.ts +1 -1
- package/node_modules/matrix-js-sdk/src/store/indexeddb-store-worker.ts +1 -0
- package/node_modules/matrix-js-sdk/src/store/indexeddb.ts +0 -2
- package/node_modules/matrix-js-sdk/src/store/memory.ts +7 -9
- package/node_modules/matrix-js-sdk/src/sync-accumulator.ts +1 -3
- package/node_modules/matrix-js-sdk/src/sync.ts +5 -6
- package/node_modules/matrix-js-sdk/src/testing.ts +3 -22
- package/node_modules/matrix-js-sdk/src/timeline-window.ts +0 -1
- package/node_modules/matrix-js-sdk/src/utils/internal/deriveKeys.ts +0 -1
- package/node_modules/matrix-js-sdk/src/utils.ts +3 -2
- package/node_modules/matrix-js-sdk/src/webrtc/call.ts +6 -6
- package/node_modules/matrix-js-sdk/src/webrtc/callEventTypes.ts +0 -5
- package/node_modules/matrix-js-sdk/src/webrtc/groupCall.ts +7 -7
- package/node_modules/matrix-js-sdk/src/webrtc/mediaHandler.ts +1 -1
- package/node_modules/matrix-js-sdk/src/webrtc/stats/callStatsReportGatherer.ts +2 -2
- package/node_modules/matrix-js-sdk/src/webrtc/stats/transportStatsBuilder.ts +1 -1
- package/node_modules/matrix-js-sdk/src/wellKnownCachedValue.ts +34 -0
- package/node_modules/music-metadata/LICENSE.txt +9 -9
- package/node_modules/music-metadata/README.md +878 -878
- package/node_modules/music-metadata/lib/ParseError.d.ts +1 -1
- package/node_modules/music-metadata/lib/ParseError.js +1 -1
- package/node_modules/music-metadata/lib/asf/AsfObject.d.ts +1 -4
- package/node_modules/music-metadata/lib/asf/AsfObject.js +66 -30
- package/node_modules/music-metadata/lib/asf/AsfParser.d.ts +5 -1
- package/node_modules/music-metadata/lib/asf/AsfParser.js +94 -25
- package/node_modules/music-metadata/lib/dsf/DsfChunk.js +2 -2
- package/node_modules/music-metadata/lib/dsf/DsfParser.js +38 -13
- package/node_modules/music-metadata/lib/mp4/AtomToken.js +2 -1
- package/node_modules/music-metadata/lib/mp4/MP4Parser.js +34 -7
- package/node_modules/music-metadata/lib/ogg/speex/SpeexStream.d.ts +7 -0
- package/node_modules/music-metadata/lib/ogg/speex/SpeexStream.js +13 -0
- package/node_modules/music-metadata/lib/riff/RiffChunk.js +1 -1
- package/node_modules/music-metadata/node_modules/content-type/README.md +2 -0
- package/node_modules/music-metadata/node_modules/content-type/dist/index.d.ts +20 -0
- package/node_modules/music-metadata/node_modules/content-type/dist/index.js +20 -14
- package/node_modules/music-metadata/node_modules/content-type/dist/index.js.map +1 -1
- package/node_modules/music-metadata/node_modules/content-type/package.json +1 -1
- package/node_modules/music-metadata/node_modules/file-type/package.json +1 -1
- package/node_modules/music-metadata/node_modules/file-type/readme.md +3 -0
- package/node_modules/music-metadata/node_modules/file-type/source/detectors/zip.js +6 -1
- package/node_modules/music-metadata/node_modules/file-type/source/index.d.ts +3 -0
- package/node_modules/music-metadata/node_modules/file-type/source/index.js +25 -13
- package/node_modules/music-metadata/package.json +156 -156
- package/node_modules/typebox/build/format/date.d.mts +1 -1
- package/node_modules/typebox/build/format/date.mjs +1 -1
- package/node_modules/typebox/build/format/date_time.d.mts +2 -2
- package/node_modules/typebox/build/format/date_time.mjs +3 -3
- package/node_modules/typebox/build/format/email.d.mts +1 -1
- package/node_modules/typebox/build/format/email.mjs +2 -2
- package/node_modules/typebox/build/format/hostname.mjs +2 -10
- package/node_modules/typebox/build/format/idn_email.d.mts +1 -1
- package/node_modules/typebox/build/format/idn_email.mjs +3 -3
- package/node_modules/typebox/build/format/idn_hostname.d.mts +1 -0
- package/node_modules/typebox/build/format/idn_hostname.mjs +3 -11
- package/node_modules/typebox/build/format/idna/format/bidi.d.mts +3 -0
- package/node_modules/typebox/build/format/idna/format/bidi.mjs +98 -0
- package/node_modules/typebox/build/format/idna/format/puny.d.mts +3 -0
- package/node_modules/typebox/build/format/idna/format/puny.mjs +144 -0
- package/node_modules/typebox/build/format/idna/hostname.d.mts +1 -0
- package/node_modules/typebox/build/format/idna/hostname.mjs +16 -0
- package/node_modules/typebox/build/format/idna/idn-hostname.d.mts +1 -0
- package/node_modules/typebox/build/format/idna/idn-hostname.mjs +23 -0
- package/node_modules/typebox/build/format/idna/index.d.mts +2 -0
- package/node_modules/typebox/build/format/idna/index.mjs +2 -0
- package/node_modules/typebox/build/format/idna/label/ascii.d.mts +1 -0
- package/node_modules/typebox/build/format/idna/label/ascii.mjs +9 -0
- package/node_modules/typebox/build/format/idna/label/puny.d.mts +1 -0
- package/node_modules/typebox/build/format/idna/label/puny.mjs +28 -0
- package/node_modules/typebox/build/format/idna/label/unicode.d.mts +1 -0
- package/node_modules/typebox/build/format/idna/label/unicode.mjs +106 -0
- package/node_modules/typebox/build/format/idna/pattern/pattern.d.mts +30 -0
- package/node_modules/typebox/build/format/idna/pattern/pattern.mjs +70 -0
- package/node_modules/typebox/build/format/ipv4.d.mts +0 -1
- package/node_modules/typebox/build/format/ipv4.mjs +2 -32
- package/node_modules/typebox/build/format/ipv6.mjs +2 -61
- package/node_modules/typebox/build/format/iri.d.mts +2 -2
- package/node_modules/typebox/build/format/iri.mjs +26 -8
- package/node_modules/typebox/build/format/iri_reference.d.mts +2 -2
- package/node_modules/typebox/build/format/iri_reference.mjs +9 -55
- package/node_modules/typebox/build/format/regex.d.mts +1 -2
- package/node_modules/typebox/build/format/regex.mjs +2 -6
- package/node_modules/typebox/build/format/time.d.mts +2 -2
- package/node_modules/typebox/build/format/time.mjs +19 -14
- package/node_modules/typebox/build/format/uri.d.mts +1 -1
- package/node_modules/typebox/build/format/uri.mjs +3 -130
- package/node_modules/typebox/build/format/uri_reference.d.mts +1 -1
- package/node_modules/typebox/build/format/uri_reference.mjs +2 -3
- package/node_modules/typebox/build/format/uri_template.d.mts +2 -3
- package/node_modules/typebox/build/format/uri_template.mjs +4 -5
- package/node_modules/typebox/build/format/url.d.mts +3 -3
- package/node_modules/typebox/build/format/url.mjs +4 -5
- package/node_modules/typebox/build/guard/emit.d.mts +3 -1
- package/node_modules/typebox/build/guard/emit.mjs +12 -5
- package/node_modules/typebox/build/guard/guard.d.mts +8 -2
- package/node_modules/typebox/build/guard/guard.mjs +25 -4
- package/node_modules/typebox/build/guard/string.d.mts +2 -2
- package/node_modules/typebox/build/guard/string.mjs +7 -7
- package/node_modules/typebox/build/schema/engine/_context.mjs +3 -3
- package/node_modules/typebox/build/schema/engine/_functions.mjs +1 -2
- package/node_modules/typebox/build/schema/engine/_regexp.d.mts +2 -0
- package/node_modules/typebox/build/schema/engine/_regexp.mjs +4 -0
- package/node_modules/typebox/build/schema/engine/_stack.mjs +12 -13
- package/node_modules/typebox/build/schema/engine/additionalItems.mjs +17 -7
- package/node_modules/typebox/build/schema/engine/additionalProperties.mjs +4 -3
- package/node_modules/typebox/build/schema/engine/contains.mjs +18 -6
- package/node_modules/typebox/build/schema/engine/enum.mjs +1 -1
- package/node_modules/typebox/build/schema/engine/items.mjs +26 -6
- package/node_modules/typebox/build/schema/engine/maxContains.mjs +3 -3
- package/node_modules/typebox/build/schema/engine/minContains.mjs +14 -4
- package/node_modules/typebox/build/schema/engine/not.mjs +4 -2
- package/node_modules/typebox/build/schema/engine/oneOf.mjs +7 -6
- package/node_modules/typebox/build/schema/engine/pattern.mjs +3 -2
- package/node_modules/typebox/build/schema/engine/patternProperties.mjs +4 -3
- package/node_modules/typebox/build/schema/engine/ref.mjs +1 -7
- package/node_modules/typebox/build/schema/engine/schema.mjs +13 -4
- package/node_modules/typebox/build/schema/engine/type.mjs +1 -1
- package/node_modules/typebox/build/schema/resolve/resolve.d.mts +4 -1
- package/node_modules/typebox/build/schema/resolve/resolve.mjs +202 -1
- package/node_modules/typebox/build/schema/static/propertyNames.d.mts +5 -0
- package/node_modules/typebox/build/schema/static/propertyNames.mjs +3 -0
- package/node_modules/typebox/build/schema/static/schema.d.mts +3 -0
- package/node_modules/typebox/build/schema/types/index.d.mts +0 -2
- package/node_modules/typebox/build/schema/types/index.mjs +0 -2
- package/node_modules/typebox/build/system/memory/clone.mjs +14 -11
- package/node_modules/typebox/build/system/memory/discard.mjs +6 -5
- package/node_modules/typebox/build/system/settings/settings.d.mts +9 -0
- package/node_modules/typebox/build/system/settings/settings.mjs +2 -0
- package/node_modules/typebox/build/type/engine/call/distribute_arguments.d.mts +6 -1
- package/node_modules/typebox/build/type/engine/call/distribute_arguments.mjs +16 -3
- package/node_modules/typebox/build/type/engine/call/instantiate.mjs +34 -4
- package/node_modules/typebox/build/type/engine/evaluate/broaden.d.mts +5 -5
- package/node_modules/typebox/build/type/engine/evaluate/broaden.mjs +20 -26
- package/node_modules/typebox/build/type/engine/evaluate/compare.d.mts +6 -10
- package/node_modules/typebox/build/type/engine/evaluate/compare.mjs +9 -13
- package/node_modules/typebox/build/type/engine/evaluate/composite.d.mts +7 -4
- package/node_modules/typebox/build/type/engine/evaluate/composite.mjs +12 -19
- package/node_modules/typebox/build/type/engine/evaluate/distribute.d.mts +4 -20
- package/node_modules/typebox/build/type/engine/evaluate/distribute.mjs +8 -20
- package/node_modules/typebox/build/type/engine/evaluate/evaluate.d.mts +4 -4
- package/node_modules/typebox/build/type/engine/evaluate/evaluate.mjs +11 -8
- package/node_modules/typebox/build/type/engine/evaluate/flatten.d.mts +1 -1
- package/node_modules/typebox/build/type/engine/evaluate/flatten.mjs +3 -4
- package/node_modules/typebox/build/type/engine/evaluate/narrow.d.mts +17 -2
- package/node_modules/typebox/build/type/engine/evaluate/narrow.mjs +26 -6
- package/node_modules/typebox/build/type/engine/exclude/operation.mjs +3 -4
- package/node_modules/typebox/build/type/engine/extract/operation.d.mts +1 -1
- package/node_modules/typebox/build/type/engine/extract/operation.mjs +3 -4
- package/node_modules/typebox/build/type/engine/priority/priority.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/priority/priority.mjs +3 -4
- package/node_modules/typebox/build/type/script/mapping.d.mts +32 -29
- package/node_modules/typebox/build/type/script/mapping.mjs +18 -25
- package/node_modules/typebox/build/type/script/parser.d.mts +19 -25
- package/node_modules/typebox/build/type/script/parser.mjs +27 -23
- package/node_modules/typebox/build/value/errors/errors.d.mts +2 -2
- package/node_modules/typebox/build/value/errors/errors.mjs +1 -1
- package/node_modules/typebox/package.json +27 -27
- package/node_modules/typebox/readme.md +79 -82
- package/openclaw.plugin.json +23 -1
- package/package.json +10 -10
- package/dist/env-auth-MVS-Vv41.js +0 -64
- package/dist/media-text-JudlYOSc.js +0 -146
- package/dist/probe.runtime-Dr91B_X3.js +0 -2
- package/dist/route-DY6at4qJ.js +0 -161
- package/dist/runtime-api-BGO16Fu8.js +0 -21
- package/dist/subagent-hooks-dkPAF6Et.js +0 -143
- package/dist/timeout-abort-signal-DMrgRFIy.js +0 -2
- package/node_modules/markdown-it/dist/index.cjs.js.map +0 -1
- package/node_modules/markdown-it/dist/markdown-it.js +0 -3975
- package/node_modules/markdown-it/dist/markdown-it.js.map +0 -1
- package/node_modules/markdown-it/dist/markdown-it.min.js +0 -3
- package/node_modules/markdown-it/dist/markdown-it.min.js.map +0 -1
- package/node_modules/markdown-it/index.mjs +0 -1
- package/node_modules/markdown-it/lib/common/html_blocks.mjs +0 -67
- package/node_modules/markdown-it/lib/common/html_re.mjs +0 -25
- package/node_modules/markdown-it/lib/common/utils.mjs +0 -324
- package/node_modules/markdown-it/lib/helpers/index.mjs +0 -11
- package/node_modules/markdown-it/lib/helpers/parse_link_destination.mjs +0 -77
- package/node_modules/markdown-it/lib/helpers/parse_link_label.mjs +0 -49
- package/node_modules/markdown-it/lib/helpers/parse_link_title.mjs +0 -66
- package/node_modules/markdown-it/lib/index.mjs +0 -565
- package/node_modules/markdown-it/lib/parser_block.mjs +0 -134
- package/node_modules/markdown-it/lib/parser_core.mjs +0 -62
- package/node_modules/markdown-it/lib/parser_inline.mjs +0 -197
- package/node_modules/markdown-it/lib/presets/commonmark.mjs +0 -88
- package/node_modules/markdown-it/lib/presets/default.mjs +0 -47
- package/node_modules/markdown-it/lib/presets/zero.mjs +0 -70
- package/node_modules/markdown-it/lib/renderer.mjs +0 -322
- package/node_modules/markdown-it/lib/ruler.mjs +0 -340
- package/node_modules/markdown-it/lib/rules_block/blockquote.mjs +0 -209
- package/node_modules/markdown-it/lib/rules_block/code.mjs +0 -30
- package/node_modules/markdown-it/lib/rules_block/fence.mjs +0 -94
- package/node_modules/markdown-it/lib/rules_block/heading.mjs +0 -51
- package/node_modules/markdown-it/lib/rules_block/hr.mjs +0 -40
- package/node_modules/markdown-it/lib/rules_block/html_block.mjs +0 -80
- package/node_modules/markdown-it/lib/rules_block/lheading.mjs +0 -85
- package/node_modules/markdown-it/lib/rules_block/list.mjs +0 -331
- package/node_modules/markdown-it/lib/rules_block/paragraph.mjs +0 -48
- package/node_modules/markdown-it/lib/rules_block/reference.mjs +0 -212
- package/node_modules/markdown-it/lib/rules_block/state_block.mjs +0 -220
- package/node_modules/markdown-it/lib/rules_block/table.mjs +0 -228
- package/node_modules/markdown-it/lib/rules_core/block.mjs +0 -13
- package/node_modules/markdown-it/lib/rules_core/inline.mjs +0 -11
- package/node_modules/markdown-it/lib/rules_core/linkify.mjs +0 -134
- package/node_modules/markdown-it/lib/rules_core/normalize.mjs +0 -17
- package/node_modules/markdown-it/lib/rules_core/replacements.mjs +0 -101
- package/node_modules/markdown-it/lib/rules_core/smartquotes.mjs +0 -209
- package/node_modules/markdown-it/lib/rules_core/state_core.mjs +0 -17
- package/node_modules/markdown-it/lib/rules_core/text_join.mjs +0 -43
- package/node_modules/markdown-it/lib/rules_inline/autolink.mjs +0 -72
- package/node_modules/markdown-it/lib/rules_inline/backticks.mjs +0 -60
- package/node_modules/markdown-it/lib/rules_inline/balance_pairs.mjs +0 -124
- package/node_modules/markdown-it/lib/rules_inline/emphasis.mjs +0 -123
- package/node_modules/markdown-it/lib/rules_inline/entity.mjs +0 -51
- package/node_modules/markdown-it/lib/rules_inline/escape.mjs +0 -83
- package/node_modules/markdown-it/lib/rules_inline/fragments_join.mjs +0 -38
- package/node_modules/markdown-it/lib/rules_inline/html_inline.mjs +0 -50
- package/node_modules/markdown-it/lib/rules_inline/image.mjs +0 -138
- package/node_modules/markdown-it/lib/rules_inline/link.mjs +0 -139
- package/node_modules/markdown-it/lib/rules_inline/linkify.mjs +0 -63
- package/node_modules/markdown-it/lib/rules_inline/newline.mjs +0 -42
- package/node_modules/markdown-it/lib/rules_inline/state_inline.mjs +0 -154
- package/node_modules/markdown-it/lib/rules_inline/strikethrough.mjs +0 -127
- package/node_modules/markdown-it/lib/rules_inline/text.mjs +0 -86
- package/node_modules/markdown-it/lib/token.mjs +0 -191
- package/node_modules/markdown-it/node_modules/argparse/CHANGELOG.md +0 -216
- package/node_modules/markdown-it/node_modules/entities/lib/decode.d.ts +0 -211
- package/node_modules/markdown-it/node_modules/entities/lib/decode.d.ts.map +0 -1
- package/node_modules/markdown-it/node_modules/entities/lib/decode.js +0 -536
- package/node_modules/markdown-it/node_modules/entities/lib/decode.js.map +0 -1
- package/node_modules/markdown-it/node_modules/entities/lib/decode_codepoint.d.ts +0 -19
- package/node_modules/markdown-it/node_modules/entities/lib/decode_codepoint.d.ts.map +0 -1
- package/node_modules/markdown-it/node_modules/entities/lib/decode_codepoint.js +0 -76
- package/node_modules/markdown-it/node_modules/entities/lib/decode_codepoint.js.map +0 -1
- package/node_modules/markdown-it/node_modules/entities/lib/encode.d.ts +0 -22
- package/node_modules/markdown-it/node_modules/entities/lib/encode.d.ts.map +0 -1
- package/node_modules/markdown-it/node_modules/entities/lib/encode.js +0 -77
- package/node_modules/markdown-it/node_modules/entities/lib/encode.js.map +0 -1
- package/node_modules/markdown-it/node_modules/entities/lib/escape.d.ts.map +0 -1
- package/node_modules/markdown-it/node_modules/entities/lib/escape.js +0 -122
- package/node_modules/markdown-it/node_modules/entities/lib/escape.js.map +0 -1
- package/node_modules/markdown-it/node_modules/entities/lib/esm/decode.d.ts.map +0 -1
- package/node_modules/markdown-it/node_modules/entities/lib/esm/decode.js.map +0 -1
- package/node_modules/markdown-it/node_modules/entities/lib/esm/decode_codepoint.d.ts +0 -19
- package/node_modules/markdown-it/node_modules/entities/lib/esm/decode_codepoint.d.ts.map +0 -1
- package/node_modules/markdown-it/node_modules/entities/lib/esm/decode_codepoint.js +0 -71
- package/node_modules/markdown-it/node_modules/entities/lib/esm/decode_codepoint.js.map +0 -1
- package/node_modules/markdown-it/node_modules/entities/lib/esm/encode.d.ts.map +0 -1
- package/node_modules/markdown-it/node_modules/entities/lib/esm/encode.js +0 -69
- package/node_modules/markdown-it/node_modules/entities/lib/esm/encode.js.map +0 -1
- package/node_modules/markdown-it/node_modules/entities/lib/esm/escape.d.ts +0 -43
- package/node_modules/markdown-it/node_modules/entities/lib/esm/escape.d.ts.map +0 -1
- package/node_modules/markdown-it/node_modules/entities/lib/esm/escape.js +0 -116
- package/node_modules/markdown-it/node_modules/entities/lib/esm/escape.js.map +0 -1
- package/node_modules/markdown-it/node_modules/entities/lib/esm/generated/decode-data-html.d.ts +0 -3
- package/node_modules/markdown-it/node_modules/entities/lib/esm/generated/decode-data-html.d.ts.map +0 -1
- package/node_modules/markdown-it/node_modules/entities/lib/esm/generated/decode-data-html.js +0 -7
- package/node_modules/markdown-it/node_modules/entities/lib/esm/generated/decode-data-html.js.map +0 -1
- package/node_modules/markdown-it/node_modules/entities/lib/esm/generated/decode-data-xml.d.ts +0 -3
- package/node_modules/markdown-it/node_modules/entities/lib/esm/generated/decode-data-xml.d.ts.map +0 -1
- package/node_modules/markdown-it/node_modules/entities/lib/esm/generated/decode-data-xml.js +0 -7
- package/node_modules/markdown-it/node_modules/entities/lib/esm/generated/decode-data-xml.js.map +0 -1
- package/node_modules/markdown-it/node_modules/entities/lib/esm/generated/encode-html.d.ts +0 -8
- package/node_modules/markdown-it/node_modules/entities/lib/esm/generated/encode-html.d.ts.map +0 -1
- package/node_modules/markdown-it/node_modules/entities/lib/esm/generated/encode-html.js +0 -10
- package/node_modules/markdown-it/node_modules/entities/lib/esm/generated/encode-html.js.map +0 -1
- package/node_modules/markdown-it/node_modules/entities/lib/esm/index.d.ts.map +0 -1
- package/node_modules/markdown-it/node_modules/entities/lib/esm/index.js +0 -99
- package/node_modules/markdown-it/node_modules/entities/lib/esm/index.js.map +0 -1
- package/node_modules/markdown-it/node_modules/entities/lib/esm/package.json +0 -1
- package/node_modules/markdown-it/node_modules/entities/lib/generated/decode-data-html.d.ts +0 -3
- package/node_modules/markdown-it/node_modules/entities/lib/generated/decode-data-html.d.ts.map +0 -1
- package/node_modules/markdown-it/node_modules/entities/lib/generated/decode-data-html.js +0 -9
- package/node_modules/markdown-it/node_modules/entities/lib/generated/decode-data-html.js.map +0 -1
- package/node_modules/markdown-it/node_modules/entities/lib/generated/decode-data-xml.d.ts +0 -3
- package/node_modules/markdown-it/node_modules/entities/lib/generated/decode-data-xml.d.ts.map +0 -1
- package/node_modules/markdown-it/node_modules/entities/lib/generated/decode-data-xml.js +0 -9
- package/node_modules/markdown-it/node_modules/entities/lib/generated/decode-data-xml.js.map +0 -1
- package/node_modules/markdown-it/node_modules/entities/lib/generated/encode-html.d.ts +0 -8
- package/node_modules/markdown-it/node_modules/entities/lib/generated/encode-html.d.ts.map +0 -1
- package/node_modules/markdown-it/node_modules/entities/lib/generated/encode-html.js +0 -12
- package/node_modules/markdown-it/node_modules/entities/lib/generated/encode-html.js.map +0 -1
- package/node_modules/markdown-it/node_modules/entities/lib/index.d.ts +0 -96
- package/node_modules/markdown-it/node_modules/entities/lib/index.d.ts.map +0 -1
- package/node_modules/markdown-it/node_modules/entities/lib/index.js +0 -126
- package/node_modules/markdown-it/node_modules/entities/lib/index.js.map +0 -1
- package/node_modules/markdown-it/node_modules/linkify-it/index.mjs +0 -646
- package/node_modules/markdown-it/node_modules/linkify-it/lib/re.mjs +0 -193
- package/node_modules/markdown-it/node_modules/uc.micro/categories/Cc/regex.mjs +0 -1
- package/node_modules/markdown-it/node_modules/uc.micro/categories/Cf/regex.mjs +0 -1
- package/node_modules/markdown-it/node_modules/uc.micro/categories/P/regex.mjs +0 -1
- package/node_modules/markdown-it/node_modules/uc.micro/categories/S/regex.mjs +0 -1
- package/node_modules/markdown-it/node_modules/uc.micro/categories/Z/regex.mjs +0 -1
- package/node_modules/markdown-it/node_modules/uc.micro/index.mjs +0 -8
- package/node_modules/markdown-it/node_modules/uc.micro/properties/Any/regex.mjs +0 -1
- package/node_modules/matrix-js-sdk/lib/oidc/authorize.d.ts +0 -157
- package/node_modules/matrix-js-sdk/lib/oidc/authorize.d.ts.map +0 -1
- package/node_modules/matrix-js-sdk/lib/oidc/authorize.js +0 -365
- package/node_modules/matrix-js-sdk/lib/oidc/authorize.js.map +0 -1
- package/node_modules/matrix-js-sdk/lib/oidc/discovery.d.ts +0 -22
- package/node_modules/matrix-js-sdk/lib/oidc/discovery.d.ts.map +0 -1
- package/node_modules/matrix-js-sdk/lib/oidc/discovery.js +0 -65
- package/node_modules/matrix-js-sdk/lib/oidc/discovery.js.map +0 -1
- package/node_modules/matrix-js-sdk/lib/oidc/error.d.ts +0 -18
- package/node_modules/matrix-js-sdk/lib/oidc/error.d.ts.map +0 -1
- package/node_modules/matrix-js-sdk/lib/oidc/error.js +0 -35
- package/node_modules/matrix-js-sdk/lib/oidc/error.js.map +0 -1
- package/node_modules/matrix-js-sdk/lib/oidc/index.d.ts +0 -16
- package/node_modules/matrix-js-sdk/lib/oidc/index.d.ts.map +0 -1
- package/node_modules/matrix-js-sdk/lib/oidc/index.js +0 -30
- package/node_modules/matrix-js-sdk/lib/oidc/index.js.map +0 -1
- package/node_modules/matrix-js-sdk/lib/oidc/register.d.ts +0 -70
- package/node_modules/matrix-js-sdk/lib/oidc/register.d.ts.map +0 -1
- package/node_modules/matrix-js-sdk/lib/oidc/register.js +0 -134
- package/node_modules/matrix-js-sdk/lib/oidc/register.js.map +0 -1
- package/node_modules/matrix-js-sdk/lib/oidc/tokenRefresher.d.ts +0 -91
- package/node_modules/matrix-js-sdk/lib/oidc/tokenRefresher.d.ts.map +0 -1
- package/node_modules/matrix-js-sdk/lib/oidc/tokenRefresher.js +0 -173
- package/node_modules/matrix-js-sdk/lib/oidc/tokenRefresher.js.map +0 -1
- package/node_modules/matrix-js-sdk/lib/oidc/validate.d.ts +0 -78
- package/node_modules/matrix-js-sdk/lib/oidc/validate.d.ts.map +0 -1
- package/node_modules/matrix-js-sdk/lib/oidc/validate.js +0 -181
- package/node_modules/matrix-js-sdk/lib/oidc/validate.js.map +0 -1
- package/node_modules/matrix-js-sdk/node_modules/jwt-decode/LICENSE +0 -21
- package/node_modules/matrix-js-sdk/node_modules/jwt-decode/README.md +0 -134
- package/node_modules/matrix-js-sdk/node_modules/jwt-decode/build/cjs/index.d.ts +0 -23
- package/node_modules/matrix-js-sdk/node_modules/jwt-decode/build/cjs/index.js +0 -62
- package/node_modules/matrix-js-sdk/node_modules/jwt-decode/build/cjs/package.json +0 -1
- package/node_modules/matrix-js-sdk/node_modules/jwt-decode/build/esm/index.d.ts +0 -23
- package/node_modules/matrix-js-sdk/node_modules/jwt-decode/build/esm/index.js +0 -57
- package/node_modules/matrix-js-sdk/node_modules/jwt-decode/package.json +0 -81
- package/node_modules/matrix-js-sdk/node_modules/oidc-client-ts/LICENSE +0 -202
- package/node_modules/matrix-js-sdk/node_modules/oidc-client-ts/README.md +0 -87
- package/node_modules/matrix-js-sdk/node_modules/oidc-client-ts/dist/browser/oidc-client-ts.js +0 -3751
- package/node_modules/matrix-js-sdk/node_modules/oidc-client-ts/dist/browser/oidc-client-ts.js.map +0 -7
- package/node_modules/matrix-js-sdk/node_modules/oidc-client-ts/dist/browser/oidc-client-ts.min.js +0 -2
- package/node_modules/matrix-js-sdk/node_modules/oidc-client-ts/dist/browser/oidc-client-ts.min.js.map +0 -7
- package/node_modules/matrix-js-sdk/node_modules/oidc-client-ts/dist/esm/oidc-client-ts.js +0 -3671
- package/node_modules/matrix-js-sdk/node_modules/oidc-client-ts/dist/esm/oidc-client-ts.js.map +0 -7
- package/node_modules/matrix-js-sdk/node_modules/oidc-client-ts/dist/esm/package.json +0 -4
- package/node_modules/matrix-js-sdk/node_modules/oidc-client-ts/dist/types/oidc-client-ts.d.ts +0 -2003
- package/node_modules/matrix-js-sdk/node_modules/oidc-client-ts/dist/types/tsdoc-metadata.json +0 -11
- package/node_modules/matrix-js-sdk/node_modules/oidc-client-ts/dist/umd/oidc-client-ts.js +0 -3719
- package/node_modules/matrix-js-sdk/node_modules/oidc-client-ts/dist/umd/oidc-client-ts.js.map +0 -7
- package/node_modules/matrix-js-sdk/node_modules/oidc-client-ts/package.json +0 -75
- package/node_modules/matrix-js-sdk/src/oidc/authorize.ts +0 -431
- package/node_modules/matrix-js-sdk/src/oidc/discovery.ts +0 -67
- package/node_modules/matrix-js-sdk/src/oidc/index.ts +0 -33
- package/node_modules/matrix-js-sdk/src/oidc/register.ts +0 -168
- package/node_modules/matrix-js-sdk/src/oidc/tokenRefresher.ts +0 -184
- package/node_modules/matrix-js-sdk/src/oidc/validate.ts +0 -265
- package/node_modules/typebox/build/format/_idna.d.mts +0 -2
- package/node_modules/typebox/build/format/_idna.mjs +0 -246
- package/node_modules/typebox/build/format/_puny.d.mts +0 -1
- package/node_modules/typebox/build/format/_puny.mjs +0 -77
- package/node_modules/typebox/build/schema/resolve/ref.d.mts +0 -3
- package/node_modules/typebox/build/schema/resolve/ref.mjs +0 -146
- package/node_modules/typebox/build/schema/types/contentEncoding.d.mts +0 -9
- package/node_modules/typebox/build/schema/types/contentEncoding.mjs +0 -13
- package/node_modules/typebox/build/schema/types/contentMediaType.d.mts +0 -9
- package/node_modules/typebox/build/schema/types/contentMediaType.mjs +0 -13
package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/ClientWidgetApi.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClientWidgetApi.js","names":["_events","require","_PostmessageTransport","_WidgetApiDirection","_WidgetApiAction","_Capabilities","_ApiVersion","_WidgetEventCapability","_GetOpenIDAction","_SimpleObservable","_Symbols","_UpdateDelayedEventAction","_typeof","obj","Symbol","iterator","constructor","prototype","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_createForOfIteratorHelper","o","allowArrayLike","it","Array","isArray","_unsupportedIterableToArray","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","minLen","_arrayLikeToArray","toString","slice","name","from","test","iter","len","arr2","_regeneratorRuntime","exports","Op","hasOwn","hasOwnProperty","desc","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","configurable","writable","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","makeInvokeMethod","tryCatch","fn","arg","type","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","method","_invoke","AsyncIterator","PromiseImpl","invoke","resolve","reject","record","result","__await","then","unwrapped","error","previousPromise","callInvokeWithMethodAndArg","state","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","methodName","undefined","info","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","displayName","isGeneratorFunction","genFun","ctor","mark","setPrototypeOf","__proto__","awrap","async","Promise","val","reverse","pop","skipTempReset","prev","charAt","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","_catch","thrown","delegateYield","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","args","_classCallCheck","instance","Constructor","_defineProperties","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","_inherits","subClass","superClass","_setPrototypeOf","p","bind","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf","NewTarget","Reflect","construct","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","sham","Proxy","Boolean","valueOf","_toPrimitive","String","input","hint","prim","toPrimitive","res","Number","_asyncIterator","sync","retry","AsyncFromSyncIterator","AsyncFromSyncIteratorContinuation","r","_return","ret","thr","ClientWidgetApi","_EventEmitter","_super","widget","iframe","driver","_this","Set","Map","contentWindow","transport","PostmessageTransport","WidgetApiDirection","ToWidget","id","globalThis","targetOrigin","origin","on","handleMessage","addEventListener","onIframeLoad","start","hasCapability","capability","allowedCapabilities","has","canUseRoomTimeline","roomId","concat","Symbols","AnyRoom","canSendRoomEvent","eventType","msgtype","allowedEvents","some","matchesAsRoomEvent","EventDirection","Send","canSendStateEvent","stateKey","matchesAsStateEvent","canSendToDeviceEvent","matchesAsToDeviceEvent","canReceiveRoomEvent","Receive","canReceiveStateEvent","canReceiveToDeviceEvent","canReceiveRoomAccountData","matchesAsRoomAccountData","isStopped","_getWidgetVersions","_callee","_callee$","_context","cachedWidgetVersions","send","WidgetApiToWidgetAction","SupportedApiVersions","supported_versions","t0","console","warn","getWidgetVersions","beginCapabilities","_this2","emit","requestedCaps","Capabilities","caps","capabilities","validateCapabilities","allowedCaps","allowCapabilities","allowed","requested","_this$allowedEvents","_this3","log","_iterator2","_step2","c","add","WidgetEventCapability","findEventCapabilities","NotifyCapabilities","approved","_iterator3","_step3","isTimelineCapability","getTimelineRoomIDFromCapability","_iterator5","getKnownRooms","_step5","pushRoomState","includes","MatrixCapabilities","MSC4407ReceiveStickyEvent","debug","roomIds","map","timelineCapability","flatMap","roomIdOrWildcard","_iterator4","_step4","_loop","pushStickyState","viewedRoomId","ev","waitForIframeLoad","contentLoadedWaitTimer","setTimeout","contentLoadedActionSent","handleContentLoadedAction","action","clearTimeout","reply","message","replyVersions","request","CurrentApiVersions","_supportsUpdateState","_callee2","_callee2$","_context2","UnstableApiVersion","MSC2762_UPDATE_STATE","supportsUpdateState","handleCapabilitiesRenegotiate","_request$data","_this4","data","newlyRequested","size","handleNavigate","_request$data2","_this5","MSC2931Navigate","uri","startsWith","onErr","handleDriverError","navigate","handleOIDC","_this6","phase","replyState","credential","OpenIDCredentials","original_request_id","requestId","replyError","msg","OpenIDRequestState","Blocked","observer","SimpleObservable","update","PendingUserConfirmation","close","Allowed","token","askOpenID","handleReadRoomAccountData","_this7","events","readRoomAccountData","evs","_handleReadEvents","_callee3","_this8","askRoomIds","_iterator6","_step6","limit","since","_stateKey","_callee3$","_context3","room_ids","state_key","readRoomEvents","readStateEvents","all","readRoomTimeline","flat","t1","readRoomState","handleReadEvents","_x","handleSendEvent","_this9","room_id","isDelayedEvent","delay","parent_delay_id","MSC4157SendDelayedEvent","isStickyEvent","sticky_duration_ms","MSC4407SendStickyEvent","sendEventPromise","_request$data$delay","_request$data$parent_","sendDelayedEvent","content","sendEvent","params","_request$data$delay2","_request$data$parent_2","sendDelayedStickyEvent","_this$driver","_request$data$delay3","_request$data$parent_3","sendStickyEvent","_this$driver2","sentEvent","event_id","eventId","delay_id","delayId","handleUpdateDelayedEvent","_this10","MSC4157UpdateDelayedEvent","updateDelayedEvent","UpdateDelayedEventAction","Cancel","cancelScheduledDelayedEvent","Restart","restartScheduledDelayedEvent","sendScheduledDelayedEvent","_handleSendToDevice","_callee4","_callee4$","_context4","messages","encrypted","sendToDevice","handleSendToDevice","_x2","_pollTurnServers","_callee5","turnServers","initialServer","_iteratorAbruptCompletion","_didIteratorError","_iteratorError","_iterator","_step","server","_callee5$","_context5","UpdateTurnServers","pollTurnServers","_x3","_x4","_handleWatchTurnServers","_callee6","_yield$turnServers$ne","_callee6$","_context6","MSC3846TurnServers","getTurnServers","handleWatchTurnServers","_x5","_handleUnwatchTurnServers","_callee7","_callee7$","_context7","handleUnwatchTurnServers","_x6","_handleReadRelations","_callee8","_this11","chunk","_callee8$","_context8","readEventRelations","rel_type","event_type","to","direction","prev_batch","prevBatch","next_batch","nextBatch","handleReadRelations","_x7","_handleUserDirectorySearch","_callee9","_callee9$","_context9","MSC3973UserDirectorySearch","search_term","searchUserDirectory","limited","results","user_id","userId","display_name","avatar_url","avatarUrl","handleUserDirectorySearch","_x8","_handleGetMediaConfig","_callee10","_callee10$","_context10","MSC4039UploadFile","getMediaConfig","handleGetMediaConfig","_x9","_handleUploadFile","_callee11","_callee11$","_context11","uploadFile","file","content_uri","contentUri","handleUploadFile","_x10","_handleDownloadFile","_callee12","_callee12$","_context12","MSC4039DownloadFile","downloadFile","handleDownloadFile","_x11","processError","actionEv","CustomEvent","detail","cancelable","defaultPrevented","WidgetApiFromWidgetAction","ContentLoaded","SendEvent","SendToDevice","GetOpenIDCredentials","MSC2974RenegotiateCapabilities","MSC2876ReadEvents","WatchTurnServers","UnwatchTurnServers","MSC3869ReadRelations","BeeperReadRoomAccountData","MSC4039GetMediaConfigAction","MSC4039UploadFileAction","MSC4039DownloadFileAction","updateTheme","theme","ThemeChange","updateLanguage","lang","LanguageChange","takeScreenshot","TakeScreenshot","updateVisibility","isVisible","UpdateVisibility","visible","sendWidgetConfig","WidgetConfig","notifyModalWidgetButtonClicked","ButtonClicked","notifyModalWidgetClose","CloseModalWidget","_feedEvent","_callee13","rawEvent","currentViewedRoomId","_rawEvent$content","_callee13$","_context13","setViewedRoomId","feedEvent","_x12","_x13","_feedToDevice","_callee14","_callee14$","_context14","feedToDevice","_x14","_x15","_flushRoomState","_callee15","_iterator7","_step7","eventTypeMap","_iterator8","_step8","stateKeyMap","_callee15$","_context15","pushRoomStateTasks","pushRoomStateResult","UpdateState","flushRoomStateTask","flushRoomState","_pushStickyState","_callee17","_this12","_callee17$","_context17","readStickyEvents","filtered","_e$content","stickyEvents","_ref2","_callee16","_ref","promises","_callee16$","_context16","_x17","_x16","_this13","_iterator9","_step9","_loop2","cap","kind","EventKind","State","_cap$keyStr","_this13$flushRoomStat","keyStr","task","_iterator10","_step10","event","get","set","_feedStateUpdate","_callee18","_callee18$","_context18","feedStateUpdate","_x18","EventEmitter"],"sources":["../src/ClientWidgetApi.ts"],"sourcesContent":["/*\n * Copyright 2020 - 2024 The Matrix.org Foundation C.I.C.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { EventEmitter } from \"events\";\n\nimport { ITransport } from \"./transport/ITransport\";\nimport { Widget } from \"./models/Widget\";\nimport { PostmessageTransport } from \"./transport/PostmessageTransport\";\nimport { WidgetApiDirection } from \"./interfaces/WidgetApiDirection\";\nimport { IWidgetApiRequest, IWidgetApiRequestEmptyData } from \"./interfaces/IWidgetApiRequest\";\nimport { IContentLoadedActionRequest } from \"./interfaces/ContentLoadedAction\";\nimport { WidgetApiFromWidgetAction, WidgetApiToWidgetAction } from \"./interfaces/WidgetApiAction\";\nimport { IWidgetApiErrorResponseData } from \"./interfaces/IWidgetApiErrorResponse\";\nimport {\n Capability,\n MatrixCapabilities,\n getTimelineRoomIDFromCapability,\n isTimelineCapability,\n} from \"./interfaces/Capabilities\";\nimport { IOpenIDUpdate, ISendEventDetails, ISendDelayedEventDetails, WidgetDriver } from \"./driver/WidgetDriver\";\nimport {\n ICapabilitiesActionResponseData,\n INotifyCapabilitiesActionRequestData,\n IRenegotiateCapabilitiesActionRequest,\n} from \"./interfaces/CapabilitiesAction\";\nimport {\n ISupportedVersionsActionRequest,\n ISupportedVersionsActionResponseData,\n} from \"./interfaces/SupportedVersionsAction\";\nimport { ApiVersion, CurrentApiVersions, UnstableApiVersion } from \"./interfaces/ApiVersion\";\nimport { IScreenshotActionResponseData } from \"./interfaces/ScreenshotAction\";\nimport { IVisibilityActionRequestData } from \"./interfaces/VisibilityAction\";\nimport { IWidgetApiAcknowledgeResponseData, IWidgetApiResponseData } from \"./interfaces/IWidgetApiResponse\";\nimport {\n IModalWidgetButtonClickedRequestData,\n IModalWidgetOpenRequestData,\n IModalWidgetOpenRequestDataButton,\n IModalWidgetReturnData,\n} from \"./interfaces/ModalWidgetActions\";\nimport {\n ISendEventFromWidgetActionRequest,\n ISendEventFromWidgetResponseData,\n ISendEventToWidgetRequestData,\n} from \"./interfaces/SendEventAction\";\nimport {\n ISendToDeviceFromWidgetActionRequest,\n ISendToDeviceFromWidgetResponseData,\n ISendToDeviceToWidgetRequestData,\n} from \"./interfaces/SendToDeviceAction\";\nimport { EventDirection, EventKind, WidgetEventCapability } from \"./models/WidgetEventCapability\";\nimport { IRoomEvent } from \"./interfaces/IRoomEvent\";\nimport {\n IGetOpenIDActionRequest,\n IGetOpenIDActionResponseData,\n IOpenIDCredentials,\n OpenIDRequestState,\n} from \"./interfaces/GetOpenIDAction\";\nimport { SimpleObservable } from \"./util/SimpleObservable\";\nimport { IOpenIDCredentialsActionRequestData } from \"./interfaces/OpenIDCredentialsAction\";\nimport { INavigateActionRequest } from \"./interfaces/NavigateAction\";\nimport { IReadEventFromWidgetActionRequest, IReadEventFromWidgetResponseData } from \"./interfaces/ReadEventAction\";\nimport {\n ITurnServer,\n IWatchTurnServersRequest,\n IUnwatchTurnServersRequest,\n IUpdateTurnServersRequestData,\n} from \"./interfaces/TurnServerActions\";\nimport { Symbols } from \"./Symbols\";\nimport {\n IReadRelationsFromWidgetActionRequest,\n IReadRelationsFromWidgetResponseData,\n} from \"./interfaces/ReadRelationsAction\";\nimport {\n IUserDirectorySearchFromWidgetActionRequest,\n IUserDirectorySearchFromWidgetResponseData,\n} from \"./interfaces/UserDirectorySearchAction\";\nimport {\n IReadRoomAccountDataFromWidgetActionRequest,\n IReadRoomAccountDataFromWidgetResponseData,\n} from \"./interfaces/ReadRoomAccountDataAction\";\nimport {\n IGetMediaConfigActionFromWidgetActionRequest,\n IGetMediaConfigActionFromWidgetResponseData,\n} from \"./interfaces/GetMediaConfigAction\";\nimport {\n IUpdateDelayedEventFromWidgetActionRequest,\n UpdateDelayedEventAction,\n} from \"./interfaces/UpdateDelayedEventAction\";\nimport {\n IUploadFileActionFromWidgetActionRequest,\n IUploadFileActionFromWidgetResponseData,\n} from \"./interfaces/UploadFileAction\";\nimport {\n IDownloadFileActionFromWidgetActionRequest,\n IDownloadFileActionFromWidgetResponseData,\n} from \"./interfaces/DownloadFileAction\";\nimport { IThemeChangeActionRequestData } from \"./interfaces/ThemeChangeAction\";\nimport { IUpdateStateToWidgetRequestData } from \"./interfaces/UpdateStateAction\";\nimport { IToDeviceMessage } from \"./interfaces/IToDeviceMessage\";\n\n/**\n * API handler for the client side of widgets. This raises events\n * for each action received as `action:${action}` (eg: \"action:screenshot\").\n * Default handling can be prevented by using preventDefault() on the\n * raised event. The default handling varies for each action: ones\n * which the SDK can handle safely are acknowledged appropriately and\n * ones which are unhandled (custom or require the client to do something)\n * are rejected with an error.\n *\n * Events which are preventDefault()ed must reply using the transport.\n * The events raised will have a default of an IWidgetApiRequest\n * interface.\n *\n * When the ClientWidgetApi is ready to start sending requests, it will\n * raise a \"ready\" CustomEvent. After the ready event fires, actions can\n * be sent and the transport will be ready.\n *\n * When the widget has indicated it has loaded, this class raises a\n * \"preparing\" CustomEvent. The preparing event does not indicate that\n * the widget is ready to receive communications - that is signified by\n * the ready event exclusively.\n *\n * This class only handles one widget at a time.\n */\nexport class ClientWidgetApi extends EventEmitter {\n public readonly transport: ITransport;\n\n private cachedWidgetVersions: ApiVersion[] | null = null;\n // contentLoadedActionSent is used to check that only one ContentLoaded request is send.\n private contentLoadedActionSent = false;\n private readonly allowedCapabilities = new Set<Capability>();\n private readonly allowedEvents: WidgetEventCapability[] = [];\n private isStopped = false;\n private turnServers: AsyncGenerator<ITurnServer> | null = null;\n private contentLoadedWaitTimer?: ReturnType<typeof setTimeout>;\n // Stores pending requests to push a room's state to the widget\n private readonly pushRoomStateTasks = new Set<Promise<void>>();\n // Room ID → event type → state key → events to be pushed\n private readonly pushRoomStateResult = new Map<string, Map<string, Map<string, IRoomEvent>>>();\n private flushRoomStateTask: Promise<void> | null = null;\n\n /**\n * Creates a new client widget API. This will instantiate the transport\n * and start everything. When the iframe is loaded under the widget's\n * conditions, a \"ready\" event will be raised.\n * @param {Widget} widget The widget to communicate with.\n * @param {HTMLIFrameElement} iframe The iframe the widget is in.\n * @param {WidgetDriver} driver The driver for this widget/client.\n */\n public constructor(\n public readonly widget: Widget,\n iframe: HTMLIFrameElement,\n private readonly driver: WidgetDriver,\n ) {\n super();\n if (!iframe?.contentWindow) {\n throw new Error(\"No iframe supplied\");\n }\n if (!widget) {\n throw new Error(\"Invalid widget\");\n }\n if (!driver) {\n throw new Error(\"Invalid driver\");\n }\n this.transport = new PostmessageTransport(\n WidgetApiDirection.ToWidget,\n widget.id,\n iframe.contentWindow,\n globalThis,\n );\n this.transport.targetOrigin = widget.origin;\n this.transport.on(\"message\", this.handleMessage.bind(this));\n\n iframe.addEventListener(\"load\", this.onIframeLoad.bind(this));\n\n this.transport.start();\n }\n\n public hasCapability(capability: Capability): boolean {\n return this.allowedCapabilities.has(capability);\n }\n\n public canUseRoomTimeline(roomId: string | Symbols.AnyRoom): boolean {\n return (\n this.hasCapability(`org.matrix.msc2762.timeline:${Symbols.AnyRoom}`) ||\n this.hasCapability(`org.matrix.msc2762.timeline:${roomId}`)\n );\n }\n\n public canSendRoomEvent(eventType: string, msgtype: string | null = null): boolean {\n return this.allowedEvents.some((e) => e.matchesAsRoomEvent(EventDirection.Send, eventType, msgtype));\n }\n\n public canSendStateEvent(eventType: string, stateKey: string): boolean {\n return this.allowedEvents.some((e) => e.matchesAsStateEvent(EventDirection.Send, eventType, stateKey));\n }\n\n public canSendToDeviceEvent(eventType: string): boolean {\n return this.allowedEvents.some((e) => e.matchesAsToDeviceEvent(EventDirection.Send, eventType));\n }\n\n public canReceiveRoomEvent(eventType: string, msgtype: string | null = null): boolean {\n return this.allowedEvents.some((e) => e.matchesAsRoomEvent(EventDirection.Receive, eventType, msgtype));\n }\n\n public canReceiveStateEvent(eventType: string, stateKey: string | null): boolean {\n return this.allowedEvents.some((e) => e.matchesAsStateEvent(EventDirection.Receive, eventType, stateKey));\n }\n\n public canReceiveToDeviceEvent(eventType: string): boolean {\n return this.allowedEvents.some((e) => e.matchesAsToDeviceEvent(EventDirection.Receive, eventType));\n }\n\n public canReceiveRoomAccountData(eventType: string): boolean {\n return this.allowedEvents.some((e) => e.matchesAsRoomAccountData(EventDirection.Receive, eventType));\n }\n\n public stop(): void {\n this.isStopped = true;\n this.transport.stop();\n }\n\n public async getWidgetVersions(): Promise<ApiVersion[]> {\n if (Array.isArray(this.cachedWidgetVersions)) {\n return this.cachedWidgetVersions;\n }\n\n try {\n const r = await this.transport.send<IWidgetApiRequestEmptyData, ISupportedVersionsActionResponseData>(\n WidgetApiToWidgetAction.SupportedApiVersions,\n {},\n );\n this.cachedWidgetVersions = r.supported_versions;\n return r.supported_versions;\n } catch (e) {\n console.warn(\"non-fatal error getting supported widget versions: \", e);\n return [];\n }\n }\n\n private beginCapabilities(): void {\n // widget has loaded - tell all the listeners that\n this.emit(\"preparing\");\n\n let requestedCaps: Capability[];\n this.transport\n .send<IWidgetApiRequestEmptyData, ICapabilitiesActionResponseData>(WidgetApiToWidgetAction.Capabilities, {})\n .then((caps) => {\n requestedCaps = caps.capabilities;\n return this.driver.validateCapabilities(new Set(caps.capabilities));\n })\n .then((allowedCaps) => {\n this.allowCapabilities([...allowedCaps], requestedCaps);\n this.emit(\"ready\");\n })\n .catch((e) => {\n this.emit(\"error:preparing\", e);\n });\n }\n\n private allowCapabilities(allowed: string[], requested: string[]): void {\n console.log(`Widget ${this.widget.id} is allowed capabilities:`, allowed);\n\n for (const c of allowed) this.allowedCapabilities.add(c);\n const allowedEvents = WidgetEventCapability.findEventCapabilities(allowed);\n this.allowedEvents.push(...allowedEvents);\n\n this.transport\n .send(WidgetApiToWidgetAction.NotifyCapabilities, <INotifyCapabilitiesActionRequestData>{\n requested,\n approved: Array.from(this.allowedCapabilities),\n })\n .catch((e) => {\n console.warn(\"non-fatal error notifying widget of approved capabilities:\", e);\n })\n .then(() => {\n this.emit(\"capabilitiesNotified\");\n });\n\n // Push the initial room state for all rooms with a timeline capability\n for (const c of allowed) {\n if (isTimelineCapability(c)) {\n const roomId = getTimelineRoomIDFromCapability(c);\n if (roomId === Symbols.AnyRoom) {\n for (const roomId of this.driver.getKnownRooms()) {\n this.pushRoomState(roomId);\n }\n } else {\n this.pushRoomState(roomId);\n }\n }\n }\n\n if (allowed.includes(MatrixCapabilities.MSC4407ReceiveStickyEvent)) {\n console.debug(`Widget ${this.widget.id} is allowed to receive sticky events, check current sticky state.`);\n // If the widget can receive sticky events, push all sticky events in known rooms now.\n // Sticky events are like a state, and passed history is needed to get the full state.\n const roomIds = allowed\n .filter((capability) => isTimelineCapability(capability))\n .map((timelineCapability) => getTimelineRoomIDFromCapability(timelineCapability))\n .flatMap((roomIdOrWildcard) => {\n if (roomIdOrWildcard === Symbols.AnyRoom) {\n // Do we support getting sticky state for any room?\n return this.driver.getKnownRooms();\n } else {\n return roomIdOrWildcard;\n }\n });\n console.debug(`Widget ${this.widget.id} is allowed to receive sticky events in rooms:`, roomIds);\n\n for (const roomId of roomIds) {\n this.pushStickyState(roomId).catch((err) => {\n console.error(`Failed to push sticky events to widget ${this.widget.id} for room ${roomId}:`, err);\n });\n }\n }\n\n // If new events are allowed and the currently viewed room isn't covered\n // by a timeline capability, then we know that there could be some state\n // in the viewed room that the widget hasn't learned about yet- push it.\n if (allowedEvents.length > 0 && this.viewedRoomId !== null && !this.canUseRoomTimeline(this.viewedRoomId)) {\n this.pushRoomState(this.viewedRoomId);\n }\n }\n\n private onIframeLoad(ev: Event): void {\n if (this.widget.waitForIframeLoad) {\n // If the widget is set to waitForIframeLoad the capabilities immediately get setup after load.\n // The client does not wait for the ContentLoaded action.\n this.beginCapabilities();\n } else {\n // Reaching this means, that the Iframe got reloaded/loaded and\n // the clientApi is awaiting the FIRST ContentLoaded action.\n console.log(\"waitForIframeLoad is false: waiting for widget to send contentLoaded\");\n this.contentLoadedWaitTimer = setTimeout(() => {\n console.error(\n \"Widget specified waitForIframeLoad=false but timed out waiting for contentLoaded event!\",\n );\n }, 10000);\n this.contentLoadedActionSent = false;\n }\n }\n\n private handleContentLoadedAction(action: IContentLoadedActionRequest): void {\n if (this.contentLoadedWaitTimer !== undefined) {\n clearTimeout(this.contentLoadedWaitTimer);\n this.contentLoadedWaitTimer = undefined;\n }\n if (this.contentLoadedActionSent) {\n throw new Error(\n \"Improper sequence: ContentLoaded Action can only be sent once after the widget loaded \" +\n \"and should only be used if waitForIframeLoad is false (default=true)\",\n );\n }\n if (this.widget.waitForIframeLoad) {\n this.transport.reply(action, <IWidgetApiErrorResponseData>{\n error: {\n message:\n \"Improper sequence: not expecting ContentLoaded event if \" +\n \"waitForIframeLoad is true (default=true)\",\n },\n });\n } else {\n this.transport.reply(action, <IWidgetApiRequestEmptyData>{});\n this.beginCapabilities();\n }\n this.contentLoadedActionSent = true;\n }\n\n private replyVersions(request: ISupportedVersionsActionRequest): void {\n this.transport.reply<ISupportedVersionsActionResponseData>(request, {\n supported_versions: CurrentApiVersions,\n });\n }\n\n private async supportsUpdateState(): Promise<boolean> {\n return (await this.getWidgetVersions()).includes(UnstableApiVersion.MSC2762_UPDATE_STATE);\n }\n\n private handleCapabilitiesRenegotiate(request: IRenegotiateCapabilitiesActionRequest): void {\n // acknowledge first\n this.transport.reply<IWidgetApiAcknowledgeResponseData>(request, {});\n\n const requested = request.data?.capabilities || [];\n const newlyRequested = new Set(requested.filter((r) => !this.hasCapability(r)));\n if (newlyRequested.size === 0) {\n // Nothing to do - skip validation\n this.allowCapabilities([], []);\n }\n\n this.driver\n .validateCapabilities(newlyRequested)\n .then((allowed) => this.allowCapabilities([...allowed], [...newlyRequested]));\n }\n\n private handleNavigate(request: INavigateActionRequest): void {\n if (!this.hasCapability(MatrixCapabilities.MSC2931Navigate)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Missing capability\" },\n });\n }\n\n if (!request.data?.uri.startsWith(\"https://matrix.to/#\")) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid matrix.to URI\" },\n });\n }\n\n const onErr = (e: unknown): void => {\n console.error(\"[ClientWidgetApi] Failed to handle navigation: \", e);\n this.handleDriverError(e, request, \"Error handling navigation\");\n };\n\n try {\n this.driver\n .navigate(request.data.uri.toString())\n .catch((e: unknown) => onErr(e))\n .then(() => {\n return this.transport.reply<IWidgetApiAcknowledgeResponseData>(request, {});\n });\n } catch (e) {\n return onErr(e);\n }\n }\n\n private handleOIDC(request: IGetOpenIDActionRequest): void {\n let phase = 1; // 1 = initial request, 2 = after user manual confirmation\n\n const replyState = (\n state: OpenIDRequestState,\n credential?: IOpenIDCredentials,\n ): void | Promise<IWidgetApiAcknowledgeResponseData> => {\n credential = credential || {};\n if (phase > 1) {\n return this.transport.send<IOpenIDCredentialsActionRequestData>(\n WidgetApiToWidgetAction.OpenIDCredentials,\n {\n state: state,\n original_request_id: request.requestId,\n ...credential,\n },\n );\n } else {\n return this.transport.reply<IGetOpenIDActionResponseData>(request, {\n state: state,\n ...credential,\n });\n }\n };\n\n const replyError = (msg: string): void | Promise<IWidgetApiAcknowledgeResponseData> => {\n console.error(\"[ClientWidgetApi] Failed to handle OIDC: \", msg);\n if (phase > 1) {\n // We don't have a way to indicate that a random error happened in this flow, so\n // just block the attempt.\n return replyState(OpenIDRequestState.Blocked);\n } else {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: msg },\n });\n }\n };\n\n const observer = new SimpleObservable<IOpenIDUpdate>((update) => {\n if (update.state === OpenIDRequestState.PendingUserConfirmation && phase > 1) {\n observer.close();\n return replyError(\"client provided out-of-phase response to OIDC flow\");\n }\n\n if (update.state === OpenIDRequestState.PendingUserConfirmation) {\n replyState(update.state);\n phase++;\n return;\n }\n\n if (update.state === OpenIDRequestState.Allowed && !update.token) {\n return replyError(\"client provided invalid OIDC token for an allowed request\");\n }\n if (update.state === OpenIDRequestState.Blocked) {\n update.token = undefined; // just in case the client did something weird\n }\n\n observer.close();\n return replyState(update.state, update.token);\n });\n\n this.driver.askOpenID(observer);\n }\n\n private handleReadRoomAccountData(request: IReadRoomAccountDataFromWidgetActionRequest): void | Promise<void> {\n const events = this.driver.readRoomAccountData(request.data.type);\n\n if (!this.canReceiveRoomAccountData(request.data.type)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Cannot read room account data of this type\" },\n });\n }\n\n return events.then((evs) => {\n this.transport.reply<IReadRoomAccountDataFromWidgetResponseData>(request, { events: evs });\n });\n }\n\n private async handleReadEvents(request: IReadEventFromWidgetActionRequest): Promise<void> {\n if (!request.data.type) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - missing event type\" },\n });\n }\n if (request.data.limit !== undefined && (!request.data.limit || request.data.limit < 0)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - limit out of range\" },\n });\n }\n\n let askRoomIds: string[];\n if (request.data.room_ids === undefined) {\n askRoomIds = this.viewedRoomId === null ? [] : [this.viewedRoomId];\n } else if (request.data.room_ids === Symbols.AnyRoom) {\n askRoomIds = this.driver.getKnownRooms().filter((roomId) => this.canUseRoomTimeline(roomId));\n } else {\n askRoomIds = request.data.room_ids;\n for (const roomId of askRoomIds) {\n if (!this.canUseRoomTimeline(roomId)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: `Unable to access room timeline: ${roomId}` },\n });\n }\n }\n }\n\n const limit = request.data.limit || 0;\n const since = request.data.since;\n\n let stateKey: string | undefined = undefined;\n let msgtype: string | undefined = undefined;\n if (request.data.state_key !== undefined) {\n stateKey = request.data.state_key === true ? undefined : request.data.state_key.toString();\n if (!this.canReceiveStateEvent(request.data.type, stateKey ?? null)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Cannot read state events of this type\" },\n });\n }\n } else {\n msgtype = request.data.msgtype;\n if (!this.canReceiveRoomEvent(request.data.type, msgtype)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Cannot read room events of this type\" },\n });\n }\n }\n\n let events: IRoomEvent[];\n\n if (request.data.room_ids === undefined && askRoomIds.length === 0) {\n // For backwards compatibility we still call the deprecated\n // readRoomEvents and readStateEvents methods in case the client isn't\n // letting us know the currently viewed room via setViewedRoomId\n //\n // This can be considered as a deprecated implementation.\n // A driver should call `setViewedRoomId` on the widget messaging and implement the new readRoomState and readRoomTimeline\n // Methods.\n // This block makes sure that it is also possible to not use setViewedRoomId.\n // readRoomTimeline and readRoomState are required however! Otherwise widget requests that include\n // `room_ids` will fail.\n console.warn(\n \"The widgetDriver uses deprecated behaviour:\\n It does not set the viewedRoomId using `setViewedRoomId`\",\n );\n events = await // This returns [] with the current driver of Element Web.\n // Add default implementations of the `readRoomEvents` and `readStateEvents`\n // methods to use `readRoomTimeline` and `readRoomState` if they are not overwritten.\n (request.data.state_key === undefined\n ? this.driver.readRoomEvents(request.data.type, msgtype, limit, null, since)\n : this.driver.readStateEvents(request.data.type, stateKey, limit, null));\n } else if (await this.supportsUpdateState()) {\n // Calling read_events with a stateKey still reads from the rooms timeline (not the room state).\n events = (\n await Promise.all(\n askRoomIds.map((roomId) =>\n this.driver.readRoomTimeline(roomId, request.data.type, msgtype, stateKey, limit, since),\n ),\n )\n ).flat(1);\n } else {\n // TODO: remove this once `UnstableApiVersion.MSC2762_UPDATE_STATE` becomes stable.\n // Before version `MSC2762_UPDATE_STATE` we used readRoomState for read_events actions.\n events = (\n request.data.state_key === undefined\n ? await Promise.all(\n askRoomIds.map((roomId) =>\n this.driver.readRoomTimeline(roomId, request.data.type, msgtype, stateKey, limit, since),\n ),\n )\n : await Promise.all(\n askRoomIds.map((roomId) => this.driver.readRoomState(roomId, request.data.type, stateKey)),\n )\n ).flat(1);\n }\n\n this.transport.reply<IReadEventFromWidgetResponseData>(request, { events });\n }\n\n private handleSendEvent(request: ISendEventFromWidgetActionRequest): void {\n if (!request.data.type) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - missing event type\" },\n });\n }\n\n if (!!request.data.room_id && !this.canUseRoomTimeline(request.data.room_id)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: `Unable to access room timeline: ${request.data.room_id}` },\n });\n }\n\n const isDelayedEvent = request.data.delay !== undefined || request.data.parent_delay_id !== undefined;\n if (isDelayedEvent && !this.hasCapability(MatrixCapabilities.MSC4157SendDelayedEvent)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: `Missing capability for ${MatrixCapabilities.MSC4157SendDelayedEvent}` },\n });\n }\n\n const isStickyEvent = request.data.sticky_duration_ms !== undefined;\n if (isStickyEvent && !this.hasCapability(MatrixCapabilities.MSC4407SendStickyEvent)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: `Missing capability for ${MatrixCapabilities.MSC4407SendStickyEvent}` },\n });\n }\n\n let sendEventPromise: Promise<ISendEventDetails | ISendDelayedEventDetails>;\n if (request.data.state_key !== undefined) {\n if (!this.canSendStateEvent(request.data.type, request.data.state_key)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Cannot send state events of this type\" },\n });\n }\n if (isStickyEvent) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Cannot send a state event with a sticky duration\" },\n });\n }\n\n if (isDelayedEvent) {\n sendEventPromise = this.driver.sendDelayedEvent(\n request.data.delay ?? null,\n request.data.parent_delay_id ?? null,\n request.data.type,\n request.data.content || {},\n request.data.state_key,\n request.data.room_id,\n );\n } else {\n sendEventPromise = this.driver.sendEvent(\n request.data.type,\n request.data.content || {},\n request.data.state_key,\n request.data.room_id,\n );\n }\n } else {\n const content = (request.data.content as { msgtype?: string }) || {};\n const msgtype = content[\"msgtype\"];\n if (!this.canSendRoomEvent(request.data.type, msgtype)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Cannot send room events of this type\" },\n });\n }\n\n // Events can be sticky, delayed, both, or neither. The following\n // section of code takes the common parameters and uses the correct\n // function depending on the request type.\n\n const params: Parameters<WidgetDriver[\"sendEvent\"]> = [\n request.data.type,\n content,\n null, // not sending a state event\n request.data.room_id,\n ];\n\n if (isDelayedEvent && request.data.sticky_duration_ms) {\n sendEventPromise = this.driver.sendDelayedStickyEvent(\n request.data.delay ?? null,\n request.data.parent_delay_id ?? null,\n request.data.sticky_duration_ms,\n request.data.type,\n content,\n request.data.room_id,\n );\n } else if (isDelayedEvent) {\n sendEventPromise = this.driver.sendDelayedEvent(\n request.data.delay ?? null,\n request.data.parent_delay_id ?? null,\n ...params,\n );\n } else if (request.data.sticky_duration_ms) {\n sendEventPromise = this.driver.sendStickyEvent(\n request.data.sticky_duration_ms,\n request.data.type,\n content,\n request.data.room_id,\n );\n } else {\n sendEventPromise = this.driver.sendEvent(...params);\n }\n }\n\n sendEventPromise\n .then((sentEvent) => {\n return this.transport.reply<ISendEventFromWidgetResponseData>(request, {\n room_id: sentEvent.roomId,\n ...(\"eventId\" in sentEvent\n ? {\n event_id: sentEvent.eventId,\n }\n : {\n delay_id: sentEvent.delayId,\n }),\n });\n })\n .catch((e: unknown) => {\n console.error(\"error sending event: \", e);\n this.handleDriverError(e, request, \"Error sending event\");\n });\n }\n\n private handleUpdateDelayedEvent(request: IUpdateDelayedEventFromWidgetActionRequest): void {\n if (!request.data.delay_id) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - missing delay_id\" },\n });\n }\n\n if (!this.hasCapability(MatrixCapabilities.MSC4157UpdateDelayedEvent)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Missing capability\" },\n });\n }\n\n let updateDelayedEvent: (delayId: string) => Promise<void>;\n switch (request.data.action) {\n case UpdateDelayedEventAction.Cancel:\n updateDelayedEvent = this.driver.cancelScheduledDelayedEvent;\n break;\n case UpdateDelayedEventAction.Restart:\n updateDelayedEvent = this.driver.restartScheduledDelayedEvent;\n break;\n case UpdateDelayedEventAction.Send:\n updateDelayedEvent = this.driver.sendScheduledDelayedEvent;\n break;\n default:\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - unsupported action\" },\n });\n }\n updateDelayedEvent\n .call(this.driver, request.data.delay_id)\n .then(() => {\n return this.transport.reply<IWidgetApiAcknowledgeResponseData>(request, {});\n })\n .catch((e: unknown) => {\n console.error(\"error updating delayed event: \", e);\n this.handleDriverError(e, request, \"Error updating delayed event\");\n });\n }\n\n private async handleSendToDevice(request: ISendToDeviceFromWidgetActionRequest): Promise<void> {\n if (!request.data.type) {\n this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - missing event type\" },\n });\n } else if (!request.data.messages) {\n this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - missing event contents\" },\n });\n } else if (typeof request.data.encrypted !== \"boolean\") {\n this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - missing encryption flag\" },\n });\n } else if (!this.canSendToDeviceEvent(request.data.type)) {\n this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Cannot send to-device events of this type\" },\n });\n } else {\n try {\n await this.driver.sendToDevice(request.data.type, request.data.encrypted, request.data.messages);\n this.transport.reply<ISendToDeviceFromWidgetResponseData>(request, {});\n } catch (e) {\n console.error(\"error sending to-device event\", e);\n this.handleDriverError(e, request, \"Error sending event\");\n }\n }\n }\n\n private async pollTurnServers(turnServers: AsyncGenerator<ITurnServer>, initialServer: ITurnServer): Promise<void> {\n try {\n await this.transport.send<IUpdateTurnServersRequestData>(\n WidgetApiToWidgetAction.UpdateTurnServers,\n initialServer as IUpdateTurnServersRequestData, // it's compatible, but missing the index signature\n );\n\n // Pick the generator up where we left off\n for await (const server of turnServers) {\n await this.transport.send<IUpdateTurnServersRequestData>(\n WidgetApiToWidgetAction.UpdateTurnServers,\n server as IUpdateTurnServersRequestData, // it's compatible, but missing the index signature\n );\n }\n } catch (e) {\n console.error(\"error polling for TURN servers\", e);\n }\n }\n\n private async handleWatchTurnServers(request: IWatchTurnServersRequest): Promise<void> {\n if (!this.hasCapability(MatrixCapabilities.MSC3846TurnServers)) {\n this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Missing capability\" },\n });\n } else if (this.turnServers) {\n // We're already polling, so this is a no-op\n this.transport.reply<IWidgetApiAcknowledgeResponseData>(request, {});\n } else {\n try {\n const turnServers = this.driver.getTurnServers();\n\n // Peek at the first result, so we can at least verify that the\n // client isn't banned from getting TURN servers entirely\n const { done, value } = await turnServers.next();\n if (done) throw new Error(\"Client refuses to provide any TURN servers\");\n this.transport.reply<IWidgetApiAcknowledgeResponseData>(request, {});\n\n // Start the poll loop, sending the widget the initial result\n this.pollTurnServers(turnServers, value);\n this.turnServers = turnServers;\n } catch (e) {\n console.error(\"error getting first TURN server results\", e);\n this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"TURN servers not available\" },\n });\n }\n }\n }\n\n private async handleUnwatchTurnServers(request: IUnwatchTurnServersRequest): Promise<void> {\n if (!this.hasCapability(MatrixCapabilities.MSC3846TurnServers)) {\n this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Missing capability\" },\n });\n } else if (!this.turnServers) {\n // We weren't polling anyways, so this is a no-op\n this.transport.reply<IWidgetApiAcknowledgeResponseData>(request, {});\n } else {\n // Stop the generator, allowing it to clean up\n await this.turnServers.return(undefined);\n this.turnServers = null;\n this.transport.reply<IWidgetApiAcknowledgeResponseData>(request, {});\n }\n }\n\n private async handleReadRelations(request: IReadRelationsFromWidgetActionRequest): Promise<void> {\n if (!request.data.event_id) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - missing event ID\" },\n });\n }\n\n if (request.data.limit !== undefined && request.data.limit < 0) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - limit out of range\" },\n });\n }\n\n if (request.data.room_id !== undefined && !this.canUseRoomTimeline(request.data.room_id)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: `Unable to access room timeline: ${request.data.room_id}` },\n });\n }\n\n try {\n const result = await this.driver.readEventRelations(\n request.data.event_id,\n request.data.room_id,\n request.data.rel_type,\n request.data.event_type,\n request.data.from,\n request.data.to,\n request.data.limit,\n request.data.direction,\n );\n\n // only return events that the user has the permission to receive\n const chunk = result.chunk.filter((e) => {\n if (e.state_key !== undefined) {\n return this.canReceiveStateEvent(e.type, e.state_key);\n } else {\n return this.canReceiveRoomEvent(e.type, (e.content as { msgtype?: string })[\"msgtype\"]);\n }\n });\n\n return this.transport.reply<IReadRelationsFromWidgetResponseData>(request, {\n chunk,\n prev_batch: result.prevBatch,\n next_batch: result.nextBatch,\n });\n } catch (e) {\n console.error(\"error getting the relations\", e);\n this.handleDriverError(e, request, \"Unexpected error while reading relations\");\n }\n }\n\n private async handleUserDirectorySearch(request: IUserDirectorySearchFromWidgetActionRequest): Promise<void> {\n if (!this.hasCapability(MatrixCapabilities.MSC3973UserDirectorySearch)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Missing capability\" },\n });\n }\n\n if (typeof request.data.search_term !== \"string\") {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - missing search term\" },\n });\n }\n\n if (request.data.limit !== undefined && request.data.limit < 0) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - limit out of range\" },\n });\n }\n\n try {\n const result = await this.driver.searchUserDirectory(request.data.search_term, request.data.limit);\n\n return this.transport.reply<IUserDirectorySearchFromWidgetResponseData>(request, {\n limited: result.limited,\n results: result.results.map((r) => ({\n user_id: r.userId,\n display_name: r.displayName,\n avatar_url: r.avatarUrl,\n })),\n });\n } catch (e) {\n console.error(\"error searching in the user directory\", e);\n this.handleDriverError(e, request, \"Unexpected error while searching in the user directory\");\n }\n }\n\n private async handleGetMediaConfig(request: IGetMediaConfigActionFromWidgetActionRequest): Promise<void> {\n if (!this.hasCapability(MatrixCapabilities.MSC4039UploadFile)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Missing capability\" },\n });\n }\n\n try {\n const result = await this.driver.getMediaConfig();\n\n return this.transport.reply<IGetMediaConfigActionFromWidgetResponseData>(request, result);\n } catch (e) {\n console.error(\"error while getting the media configuration\", e);\n this.handleDriverError(e, request, \"Unexpected error while getting the media configuration\");\n }\n }\n\n private async handleUploadFile(request: IUploadFileActionFromWidgetActionRequest): Promise<void> {\n if (!this.hasCapability(MatrixCapabilities.MSC4039UploadFile)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Missing capability\" },\n });\n }\n\n try {\n const result = await this.driver.uploadFile(request.data.file);\n\n return this.transport.reply<IUploadFileActionFromWidgetResponseData>(request, {\n content_uri: result.contentUri,\n });\n } catch (e) {\n console.error(\"error while uploading a file\", e);\n this.handleDriverError(e, request, \"Unexpected error while uploading a file\");\n }\n }\n\n private async handleDownloadFile(request: IDownloadFileActionFromWidgetActionRequest): Promise<void> {\n if (!this.hasCapability(MatrixCapabilities.MSC4039DownloadFile)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Missing capability\" },\n });\n }\n\n try {\n const result = await this.driver.downloadFile(request.data.content_uri);\n\n return this.transport.reply<IDownloadFileActionFromWidgetResponseData>(request, { file: result.file });\n } catch (e) {\n console.error(\"error while downloading a file\", e);\n this.handleDriverError(e, request, \"Unexpected error while downloading a file\");\n }\n }\n\n private handleDriverError(e: unknown, request: IWidgetApiRequest, message: string): void {\n const data = this.driver.processError(e);\n this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: {\n message,\n ...data,\n },\n });\n }\n\n private handleMessage(ev: CustomEvent<IWidgetApiRequest>): void | Promise<void> {\n if (this.isStopped) return;\n const actionEv = new CustomEvent(`action:${ev.detail.action}`, {\n detail: ev.detail,\n cancelable: true,\n });\n this.emit(`action:${ev.detail.action}`, actionEv);\n if (!actionEv.defaultPrevented) {\n switch (ev.detail.action) {\n case WidgetApiFromWidgetAction.ContentLoaded:\n return this.handleContentLoadedAction(<IContentLoadedActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.SupportedApiVersions:\n return this.replyVersions(<ISupportedVersionsActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.SendEvent:\n return this.handleSendEvent(<ISendEventFromWidgetActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.SendToDevice:\n return this.handleSendToDevice(<ISendToDeviceFromWidgetActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.GetOpenIDCredentials:\n return this.handleOIDC(<IGetOpenIDActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.MSC2931Navigate:\n return this.handleNavigate(<INavigateActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.MSC2974RenegotiateCapabilities:\n return this.handleCapabilitiesRenegotiate(<IRenegotiateCapabilitiesActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.MSC2876ReadEvents:\n return this.handleReadEvents(<IReadEventFromWidgetActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.WatchTurnServers:\n return this.handleWatchTurnServers(<IWatchTurnServersRequest>ev.detail);\n case WidgetApiFromWidgetAction.UnwatchTurnServers:\n return this.handleUnwatchTurnServers(<IUnwatchTurnServersRequest>ev.detail);\n case WidgetApiFromWidgetAction.MSC3869ReadRelations:\n return this.handleReadRelations(<IReadRelationsFromWidgetActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.MSC3973UserDirectorySearch:\n return this.handleUserDirectorySearch(<IUserDirectorySearchFromWidgetActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.BeeperReadRoomAccountData:\n return this.handleReadRoomAccountData(<IReadRoomAccountDataFromWidgetActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.MSC4039GetMediaConfigAction:\n return this.handleGetMediaConfig(<IGetMediaConfigActionFromWidgetActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.MSC4039UploadFileAction:\n return this.handleUploadFile(<IUploadFileActionFromWidgetActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.MSC4039DownloadFileAction:\n return this.handleDownloadFile(<IDownloadFileActionFromWidgetActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.MSC4157UpdateDelayedEvent:\n return this.handleUpdateDelayedEvent(<IUpdateDelayedEventFromWidgetActionRequest>ev.detail);\n\n default:\n return this.transport.reply(ev.detail, <IWidgetApiErrorResponseData>{\n error: {\n message: \"Unknown or unsupported from-widget action: \" + ev.detail.action,\n },\n });\n }\n }\n }\n\n /**\n * Informs the widget that the client's theme has changed.\n * @param theme The theme data, as an object with arbitrary contents.\n */\n public updateTheme(theme: IThemeChangeActionRequestData): Promise<IWidgetApiResponseData> {\n return this.transport.send(WidgetApiToWidgetAction.ThemeChange, theme);\n }\n\n /**\n * Informs the widget that the client's language has changed.\n * @param lang The BCP 47 identifier representing the client's current language.\n */\n public updateLanguage(lang: string): Promise<IWidgetApiResponseData> {\n return this.transport.send(WidgetApiToWidgetAction.LanguageChange, { lang });\n }\n\n /**\n * Takes a screenshot of the widget.\n * @returns Resolves to the widget's screenshot.\n * @throws Throws if there is a problem.\n */\n public takeScreenshot(): Promise<IScreenshotActionResponseData> {\n return this.transport.send(WidgetApiToWidgetAction.TakeScreenshot, <IWidgetApiRequestEmptyData>{});\n }\n\n /**\n * Alerts the widget to whether or not it is currently visible.\n * @param {boolean} isVisible Whether the widget is visible or not.\n * @returns {Promise<IWidgetApiResponseData>} Resolves when the widget acknowledges the update.\n */\n public updateVisibility(isVisible: boolean): Promise<IWidgetApiResponseData> {\n return this.transport.send(WidgetApiToWidgetAction.UpdateVisibility, <IVisibilityActionRequestData>{\n visible: isVisible,\n });\n }\n\n public sendWidgetConfig(data: IModalWidgetOpenRequestData): Promise<void> {\n return this.transport.send<IModalWidgetOpenRequestData>(WidgetApiToWidgetAction.WidgetConfig, data).then();\n }\n\n public notifyModalWidgetButtonClicked(id: IModalWidgetOpenRequestDataButton[\"id\"]): Promise<void> {\n return this.transport\n .send<IModalWidgetButtonClickedRequestData>(WidgetApiToWidgetAction.ButtonClicked, { id })\n .then();\n }\n\n public notifyModalWidgetClose(data: IModalWidgetReturnData): Promise<void> {\n return this.transport.send<IModalWidgetReturnData>(WidgetApiToWidgetAction.CloseModalWidget, data).then();\n }\n\n /**\n * Feeds an event to the widget. As a client you are expected to call this\n * for every new event in every room to which you are joined or invited.\n * @param {IRoomEvent} rawEvent The event to (try to) send to the widget.\n * @param {string} currentViewedRoomId The room ID the user is currently\n * interacting with. Not the room ID of the event.\n * @returns {Promise<void>} Resolves when delivered or if the widget is not\n * able to read the event due to permissions, rejects if the widget failed\n * to handle the event.\n * @deprecated It is recommended to communicate the viewed room ID by calling\n * {@link ClientWidgetApi.setViewedRoomId} rather than passing it to this\n * method.\n */\n public async feedEvent(rawEvent: IRoomEvent, currentViewedRoomId: string): Promise<void>;\n /**\n * Feeds an event to the widget. As a client you are expected to call this\n * for every new event (including state events) in every room to which you are joined or invited.\n * @param {IRoomEvent} rawEvent The event to (try to) send to the widget.\n * @returns {Promise<void>} Resolves when delivered or if the widget is not\n * able to read the event due to permissions, rejects if the widget failed\n * to handle the event.\n */\n public async feedEvent(rawEvent: IRoomEvent): Promise<void>;\n public async feedEvent(rawEvent: IRoomEvent, currentViewedRoomId?: string): Promise<void> {\n if (currentViewedRoomId !== undefined) this.setViewedRoomId(currentViewedRoomId);\n if (rawEvent.room_id !== this.viewedRoomId && !this.canUseRoomTimeline(rawEvent.room_id)) {\n return; // no-op\n }\n\n if (rawEvent.state_key !== undefined && rawEvent.state_key !== null) {\n // state event\n if (!this.canReceiveStateEvent(rawEvent.type, rawEvent.state_key)) {\n return; // no-op\n }\n } else {\n // message event\n if (!this.canReceiveRoomEvent(rawEvent.type, (rawEvent.content as { msgtype?: string })?.[\"msgtype\"])) {\n return; // no-op\n }\n }\n\n // Feed the event into the widget\n await this.transport.send<ISendEventToWidgetRequestData>(\n WidgetApiToWidgetAction.SendEvent,\n // it's compatible, but missing the index signature\n rawEvent as ISendEventToWidgetRequestData,\n );\n }\n\n /**\n * Feeds a to-device event to the widget. As a client you are expected to\n * call this for every to-device event you receive.\n * @param {IRoomEvent} rawEvent The event to (try to) send to the widget.\n * @param {boolean} encrypted Whether the event contents were encrypted.\n * @returns {Promise<void>} Resolves when delivered or if the widget is not\n * able to receive the event due to permissions, rejects if the widget\n * failed to handle the event.\n */\n public async feedToDevice(message: IToDeviceMessage, encrypted: boolean): Promise<void> {\n if (this.canReceiveToDeviceEvent(message.type)) {\n await this.transport.send<ISendToDeviceToWidgetRequestData>(WidgetApiToWidgetAction.SendToDevice, {\n ...message,\n encrypted,\n });\n }\n }\n\n private viewedRoomId: string | null = null;\n\n /**\n * Indicate that a room is being viewed (making it possible for the widget\n * to interact with it).\n */\n public setViewedRoomId(roomId: string | null): void {\n this.viewedRoomId = roomId;\n // If the widget doesn't have timeline permissions for the room then\n // this is its opportunity to learn the room state. We push the entire\n // room state, which could be redundant if this room had been viewed\n // once before, but it's easier than selectively pushing just the bits\n // of state that changed while the room was in the background.\n if (roomId !== null && !this.canUseRoomTimeline(roomId)) this.pushRoomState(roomId);\n }\n\n private async flushRoomState(): Promise<void> {\n try {\n // Only send a single action once all concurrent tasks have completed\n do await Promise.all(this.pushRoomStateTasks);\n while (this.pushRoomStateTasks.size > 0);\n\n const events: IRoomEvent[] = [];\n for (const eventTypeMap of this.pushRoomStateResult.values()) {\n for (const stateKeyMap of eventTypeMap.values()) {\n events.push(...stateKeyMap.values());\n }\n }\n if ((await this.getWidgetVersions()).includes(UnstableApiVersion.MSC2762_UPDATE_STATE)) {\n // Only send state updates when using UpdateState. Otherwise the SendEvent action will be responsible for state updates.\n await this.transport.send<IUpdateStateToWidgetRequestData>(WidgetApiToWidgetAction.UpdateState, {\n state: events,\n });\n }\n } finally {\n this.flushRoomStateTask = null;\n }\n }\n\n /**\n * Reads the current sticky state of the room and pushes it to the widget.\n *\n * It will only push events that the widget is allowed to receive.\n * @param roomId\n * @private\n */\n private async pushStickyState(roomId: string): Promise<void> {\n console.debug(\"Pushing sticky state to widget for room\", roomId);\n return this.driver\n .readStickyEvents(roomId)\n .then((events) => {\n // filter to the allowed sticky events\n const filtered = events.filter((e) => {\n return this.canReceiveRoomEvent(\n e.type,\n typeof e.content?.msgtype === \"string\" ? e.content.msgtype : null,\n );\n });\n return { roomId, stickyEvents: filtered };\n })\n .then(async ({ roomId, stickyEvents }) => {\n console.debug(\"Pushing\", stickyEvents.length, \"sticky events to widget for room\", roomId);\n const promises = stickyEvents.map((rawEvent) => {\n return this.transport.send<ISendEventToWidgetRequestData>(\n WidgetApiToWidgetAction.SendEvent,\n // copied from feedEvent; it's compatible, but missing the index signature\n rawEvent as ISendEventToWidgetRequestData,\n );\n });\n await Promise.all(promises);\n });\n }\n\n /**\n * Read the room's state and push all entries that the widget is allowed to\n * read through to the widget.\n */\n private pushRoomState(roomId: string): void {\n for (const cap of this.allowedEvents) {\n if (cap.kind === EventKind.State && cap.direction === EventDirection.Receive) {\n // Initiate the task\n const events = this.driver.readRoomState(roomId, cap.eventType, cap.keyStr ?? undefined);\n const task = events\n .then(\n (events) => {\n // When complete, queue the resulting events to be\n // pushed to the widget\n for (const event of events) {\n let eventTypeMap = this.pushRoomStateResult.get(roomId);\n if (eventTypeMap === undefined) {\n eventTypeMap = new Map();\n this.pushRoomStateResult.set(roomId, eventTypeMap);\n }\n let stateKeyMap = eventTypeMap.get(cap.eventType);\n if (stateKeyMap === undefined) {\n stateKeyMap = new Map();\n eventTypeMap.set(cap.eventType, stateKeyMap);\n }\n if (!stateKeyMap.has(event.state_key!)) stateKeyMap.set(event.state_key!, event);\n }\n },\n (e) =>\n console.error(\n `Failed to read room state for ${roomId} (${cap.eventType}, ${cap.keyStr})`,\n e,\n ),\n )\n .then(() => {\n // Mark request as no longer pending\n this.pushRoomStateTasks.delete(task);\n });\n\n // Mark task as pending\n this.pushRoomStateTasks.add(task);\n // Assuming no other tasks are already happening concurrently,\n // schedule the widget action that actually pushes the events\n this.flushRoomStateTask ??= this.flushRoomState();\n this.flushRoomStateTask.catch((e) => console.error(\"Failed to push room state\", e));\n }\n }\n }\n\n /**\n * Feeds a room state update to the widget. As a client you are expected to\n * call this for every state update in every room to which you are joined or\n * invited.\n * @param {IRoomEvent} rawEvent The state event corresponding to the updated\n * room state entry.\n * @returns {Promise<void>} Resolves when delivered or if the widget is not\n * able to receive the room state due to permissions, rejects if the\n * widget failed to handle the update.\n */\n public async feedStateUpdate(rawEvent: IRoomEvent): Promise<void> {\n if (rawEvent.state_key === undefined) throw new Error(\"Not a state event\");\n if (\n (rawEvent.room_id === this.viewedRoomId || this.canUseRoomTimeline(rawEvent.room_id)) &&\n this.canReceiveStateEvent(rawEvent.type, rawEvent.state_key)\n ) {\n // Updates could race with the initial push of the room's state\n if (this.pushRoomStateTasks.size === 0) {\n // No initial push tasks are pending; safe to send immediately\n if ((await this.getWidgetVersions()).includes(UnstableApiVersion.MSC2762_UPDATE_STATE)) {\n // Only send state updates when using UpdateState. Otherwise the SendEvent action will be responsible for state updates.\n await this.transport.send<IUpdateStateToWidgetRequestData>(WidgetApiToWidgetAction.UpdateState, {\n state: [rawEvent],\n });\n }\n } else {\n // Lump the update in with whatever data will be sent in the\n // initial push later. Even if we set it to an \"outdated\" entry\n // here, we can count on any newer entries being passed to this\n // same method eventually; this won't cause stuck state.\n let eventTypeMap = this.pushRoomStateResult.get(rawEvent.room_id);\n if (eventTypeMap === undefined) {\n eventTypeMap = new Map();\n this.pushRoomStateResult.set(rawEvent.room_id, eventTypeMap);\n }\n let stateKeyMap = eventTypeMap.get(rawEvent.type);\n if (stateKeyMap === undefined) {\n stateKeyMap = new Map();\n eventTypeMap.set(rawEvent.type, stateKeyMap);\n }\n if (!stateKeyMap.has(rawEvent.type)) stateKeyMap.set(rawEvent.state_key, rawEvent);\n do await Promise.all(this.pushRoomStateTasks);\n while (this.pushRoomStateTasks.size > 0);\n await this.flushRoomStateTask;\n }\n }\n }\n}\n"],"mappings":";;;;;;AAgBA,IAAAA,OAAA,GAAAC,OAAA;AAIA,IAAAC,qBAAA,GAAAD,OAAA;AACA,IAAAE,mBAAA,GAAAF,OAAA;AAGA,IAAAG,gBAAA,GAAAH,OAAA;AAEA,IAAAI,aAAA,GAAAJ,OAAA;AAgBA,IAAAK,WAAA,GAAAL,OAAA;AAoBA,IAAAM,sBAAA,GAAAN,OAAA;AAEA,IAAAO,gBAAA,GAAAP,OAAA;AAMA,IAAAQ,iBAAA,GAAAR,OAAA;AAUA,IAAAS,QAAA,GAAAT,OAAA;AAiBA,IAAAU,yBAAA,GAAAV,OAAA;AAG+C,SAAAW,QAAAC,GAAA,sCAAAD,OAAA,wBAAAE,MAAA,uBAAAA,MAAA,CAAAC,QAAA,aAAAF,GAAA,kBAAAA,GAAA,gBAAAA,GAAA,WAAAA,GAAA,yBAAAC,MAAA,IAAAD,GAAA,CAAAG,WAAA,KAAAF,MAAA,IAAAD,GAAA,KAAAC,MAAA,CAAAG,SAAA,qBAAAJ,GAAA,KAAAD,OAAA,CAAAC,GAAA;AAAA,SAAAK,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAC,MAAA,CAAAD,IAAA,CAAAF,MAAA,OAAAG,MAAA,CAAAC,qBAAA,QAAAC,OAAA,GAAAF,MAAA,CAAAC,qBAAA,CAAAJ,MAAA,GAAAC,cAAA,KAAAI,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAJ,MAAA,CAAAK,wBAAA,CAAAR,MAAA,EAAAO,GAAA,EAAAE,UAAA,OAAAP,IAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,IAAA,EAAAG,OAAA,YAAAH,IAAA;AAAA,SAAAU,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAf,OAAA,CAAAI,MAAA,CAAAc,MAAA,OAAAC,OAAA,WAAAC,GAAA,IAAAC,eAAA,CAAAP,MAAA,EAAAM,GAAA,EAAAF,MAAA,CAAAE,GAAA,SAAAhB,MAAA,CAAAkB,yBAAA,GAAAlB,MAAA,CAAAmB,gBAAA,CAAAT,MAAA,EAAAV,MAAA,CAAAkB,yBAAA,CAAAJ,MAAA,KAAAlB,OAAA,CAAAI,MAAA,CAAAc,MAAA,GAAAC,OAAA,WAAAC,GAAA,IAAAhB,MAAA,CAAAoB,cAAA,CAAAV,MAAA,EAAAM,GAAA,EAAAhB,MAAA,CAAAK,wBAAA,CAAAS,MAAA,EAAAE,GAAA,iBAAAN,MAAA;AAAA,SAAAW,2BAAAC,CAAA,EAAAC,cAAA,QAAAC,EAAA,UAAAhC,MAAA,oBAAA8B,CAAA,CAAA9B,MAAA,CAAAC,QAAA,KAAA6B,CAAA,qBAAAE,EAAA,QAAAC,KAAA,CAAAC,OAAA,CAAAJ,CAAA,MAAAE,EAAA,GAAAG,2BAAA,CAAAL,CAAA,MAAAC,cAAA,IAAAD,CAAA,WAAAA,CAAA,CAAAT,MAAA,qBAAAW,EAAA,EAAAF,CAAA,GAAAE,EAAA,MAAAb,CAAA,UAAAiB,CAAA,YAAAA,EAAA,eAAAC,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAA,EAAA,QAAAnB,CAAA,IAAAW,CAAA,CAAAT,MAAA,WAAAkB,IAAA,mBAAAA,IAAA,SAAAC,KAAA,EAAAV,CAAA,CAAAX,CAAA,UAAAsB,CAAA,WAAAA,EAAAC,EAAA,UAAAA,EAAA,KAAAC,CAAA,EAAAP,CAAA,gBAAAQ,SAAA,iJAAAC,gBAAA,SAAAC,MAAA,UAAAC,GAAA,WAAAV,CAAA,WAAAA,EAAA,IAAAL,EAAA,GAAAA,EAAA,CAAAgB,IAAA,CAAAlB,CAAA,MAAAQ,CAAA,WAAAA,EAAA,QAAAW,IAAA,GAAAjB,EAAA,CAAAkB,IAAA,IAAAL,gBAAA,GAAAI,IAAA,CAAAV,IAAA,SAAAU,IAAA,KAAAR,CAAA,WAAAA,EAAAU,GAAA,IAAAL,MAAA,SAAAC,GAAA,GAAAI,GAAA,KAAAR,CAAA,WAAAA,EAAA,eAAAE,gBAAA,IAAAb,EAAA,oBAAAA,EAAA,8BAAAc,MAAA,QAAAC,GAAA;AAAA,SAAAK,mBAAAC,GAAA,WAAAC,kBAAA,CAAAD,GAAA,KAAAE,gBAAA,CAAAF,GAAA,KAAAlB,2BAAA,CAAAkB,GAAA,KAAAG,kBAAA;AAAA,SAAAA,mBAAA,cAAAZ,SAAA;AAAA,SAAAT,4BAAAL,CAAA,EAAA2B,MAAA,SAAA3B,CAAA,qBAAAA,CAAA,sBAAA4B,iBAAA,CAAA5B,CAAA,EAAA2B,MAAA,OAAAnB,CAAA,GAAA9B,MAAA,CAAAL,SAAA,CAAAwD,QAAA,CAAAX,IAAA,CAAAlB,CAAA,EAAA8B,KAAA,aAAAtB,CAAA,iBAAAR,CAAA,CAAA5B,WAAA,EAAAoC,CAAA,GAAAR,CAAA,CAAA5B,WAAA,CAAA2D,IAAA,MAAAvB,CAAA,cAAAA,CAAA,mBAAAL,KAAA,CAAA6B,IAAA,CAAAhC,CAAA,OAAAQ,CAAA,+DAAAyB,IAAA,CAAAzB,CAAA,UAAAoB,iBAAA,CAAA5B,CAAA,EAAA2B,MAAA;AAAA,SAAAF,iBAAAS,IAAA,eAAAhE,MAAA,oBAAAgE,IAAA,CAAAhE,MAAA,CAAAC,QAAA,aAAA+D,IAAA,+BAAA/B,KAAA,CAAA6B,IAAA,CAAAE,IAAA;AAAA,SAAAV,mBAAAD,GAAA,QAAApB,KAAA,CAAAC,OAAA,CAAAmB,GAAA,UAAAK,iBAAA,CAAAL,GAAA;AAAA,SAAAK,kBAAAL,GAAA,EAAAY,GAAA,QAAAA,GAAA,YAAAA,GAAA,GAAAZ,GAAA,CAAAhC,MAAA,EAAA4C,GAAA,GAAAZ,GAAA,CAAAhC,MAAA,WAAAF,CAAA,MAAA+C,IAAA,OAAAjC,KAAA,CAAAgC,GAAA,GAAA9C,CAAA,GAAA8C,GAAA,EAAA9C,CAAA,IAAA+C,IAAA,CAAA/C,CAAA,IAAAkC,GAAA,CAAAlC,CAAA,UAAA+C,IAAA;AAAA,SAAAC,oBAAA,kBAnG/C,qJAAAA,mBAAA,YAAAA,oBAAA,WAAAC,OAAA,SAAAA,OAAA,OAAAC,EAAA,GAAA7D,MAAA,CAAAL,SAAA,EAAAmE,MAAA,GAAAD,EAAA,CAAAE,cAAA,EAAA3C,cAAA,GAAApB,MAAA,CAAAoB,cAAA,cAAA7B,GAAA,EAAAyB,GAAA,EAAAgD,IAAA,IAAAzE,GAAA,CAAAyB,GAAA,IAAAgD,IAAA,CAAAhC,KAAA,KAAAiC,OAAA,wBAAAzE,MAAA,GAAAA,MAAA,OAAA0E,cAAA,GAAAD,OAAA,CAAAxE,QAAA,kBAAA0E,mBAAA,GAAAF,OAAA,CAAAG,aAAA,uBAAAC,iBAAA,GAAAJ,OAAA,CAAAK,WAAA,8BAAAC,OAAAhF,GAAA,EAAAyB,GAAA,EAAAgB,KAAA,WAAAhC,MAAA,CAAAoB,cAAA,CAAA7B,GAAA,EAAAyB,GAAA,IAAAgB,KAAA,EAAAA,KAAA,EAAA1B,UAAA,MAAAkE,YAAA,MAAAC,QAAA,SAAAlF,GAAA,CAAAyB,GAAA,WAAAuD,MAAA,mBAAAhC,GAAA,IAAAgC,MAAA,YAAAA,OAAAhF,GAAA,EAAAyB,GAAA,EAAAgB,KAAA,WAAAzC,GAAA,CAAAyB,GAAA,IAAAgB,KAAA,gBAAA0C,KAAAC,OAAA,EAAAC,OAAA,EAAAC,IAAA,EAAAC,WAAA,QAAAC,cAAA,GAAAH,OAAA,IAAAA,OAAA,CAAAjF,SAAA,YAAAqF,SAAA,GAAAJ,OAAA,GAAAI,SAAA,EAAAC,SAAA,GAAAjF,MAAA,CAAAkF,MAAA,CAAAH,cAAA,CAAApF,SAAA,GAAAwF,OAAA,OAAAC,OAAA,CAAAN,WAAA,gBAAA1D,cAAA,CAAA6D,SAAA,eAAAjD,KAAA,EAAAqD,gBAAA,CAAAV,OAAA,EAAAE,IAAA,EAAAM,OAAA,MAAAF,SAAA,aAAAK,SAAAC,EAAA,EAAAhG,GAAA,EAAAiG,GAAA,mBAAAC,IAAA,YAAAD,GAAA,EAAAD,EAAA,CAAA/C,IAAA,CAAAjD,GAAA,EAAAiG,GAAA,cAAAjD,GAAA,aAAAkD,IAAA,WAAAD,GAAA,EAAAjD,GAAA,QAAAqB,OAAA,CAAAc,IAAA,GAAAA,IAAA,MAAAgB,gBAAA,gBAAAV,UAAA,cAAAW,kBAAA,cAAAC,2BAAA,SAAAC,iBAAA,OAAAtB,MAAA,CAAAsB,iBAAA,EAAA3B,cAAA,qCAAA4B,QAAA,GAAA9F,MAAA,CAAA+F,cAAA,EAAAC,uBAAA,GAAAF,QAAA,IAAAA,QAAA,CAAAA,QAAA,CAAAG,MAAA,QAAAD,uBAAA,IAAAA,uBAAA,KAAAnC,EAAA,IAAAC,MAAA,CAAAtB,IAAA,CAAAwD,uBAAA,EAAA9B,cAAA,MAAA2B,iBAAA,GAAAG,uBAAA,OAAAE,EAAA,GAAAN,0BAAA,CAAAjG,SAAA,GAAAqF,SAAA,CAAArF,SAAA,GAAAK,MAAA,CAAAkF,MAAA,CAAAW,iBAAA,YAAAM,sBAAAxG,SAAA,gCAAAoB,OAAA,WAAAqF,MAAA,IAAA7B,MAAA,CAAA5E,SAAA,EAAAyG,MAAA,YAAAZ,GAAA,gBAAAa,OAAA,CAAAD,MAAA,EAAAZ,GAAA,sBAAAc,cAAArB,SAAA,EAAAsB,WAAA,aAAAC,OAAAJ,MAAA,EAAAZ,GAAA,EAAAiB,OAAA,EAAAC,MAAA,QAAAC,MAAA,GAAArB,QAAA,CAAAL,SAAA,CAAAmB,MAAA,GAAAnB,SAAA,EAAAO,GAAA,mBAAAmB,MAAA,CAAAlB,IAAA,QAAAmB,MAAA,GAAAD,MAAA,CAAAnB,GAAA,EAAAxD,KAAA,GAAA4E,MAAA,CAAA5E,KAAA,SAAAA,KAAA,gBAAA1C,OAAA,CAAA0C,KAAA,KAAA8B,MAAA,CAAAtB,IAAA,CAAAR,KAAA,eAAAuE,WAAA,CAAAE,OAAA,CAAAzE,KAAA,CAAA6E,OAAA,EAAAC,IAAA,WAAA9E,KAAA,IAAAwE,MAAA,SAAAxE,KAAA,EAAAyE,OAAA,EAAAC,MAAA,gBAAAnE,GAAA,IAAAiE,MAAA,UAAAjE,GAAA,EAAAkE,OAAA,EAAAC,MAAA,QAAAH,WAAA,CAAAE,OAAA,CAAAzE,KAAA,EAAA8E,IAAA,WAAAC,SAAA,IAAAH,MAAA,CAAA5E,KAAA,GAAA+E,SAAA,EAAAN,OAAA,CAAAG,MAAA,gBAAAI,KAAA,WAAAR,MAAA,UAAAQ,KAAA,EAAAP,OAAA,EAAAC,MAAA,SAAAA,MAAA,CAAAC,MAAA,CAAAnB,GAAA,SAAAyB,eAAA,EAAA7F,cAAA,oBAAAY,KAAA,WAAAA,MAAAoE,MAAA,EAAAZ,GAAA,aAAA0B,2BAAA,eAAAX,WAAA,WAAAE,OAAA,EAAAC,MAAA,IAAAF,MAAA,CAAAJ,MAAA,EAAAZ,GAAA,EAAAiB,OAAA,EAAAC,MAAA,gBAAAO,eAAA,GAAAA,eAAA,GAAAA,eAAA,CAAAH,IAAA,CAAAI,0BAAA,EAAAA,0BAAA,IAAAA,0BAAA,qBAAA7B,iBAAAV,OAAA,EAAAE,IAAA,EAAAM,OAAA,QAAAgC,KAAA,sCAAAf,MAAA,EAAAZ,GAAA,wBAAA2B,KAAA,YAAAC,KAAA,sDAAAD,KAAA,oBAAAf,MAAA,QAAAZ,GAAA,SAAA6B,UAAA,WAAAlC,OAAA,CAAAiB,MAAA,GAAAA,MAAA,EAAAjB,OAAA,CAAAK,GAAA,GAAAA,GAAA,UAAA8B,QAAA,GAAAnC,OAAA,CAAAmC,QAAA,MAAAA,QAAA,QAAAC,cAAA,GAAAC,mBAAA,CAAAF,QAAA,EAAAnC,OAAA,OAAAoC,cAAA,QAAAA,cAAA,KAAA7B,gBAAA,mBAAA6B,cAAA,qBAAApC,OAAA,CAAAiB,MAAA,EAAAjB,OAAA,CAAAsC,IAAA,GAAAtC,OAAA,CAAAuC,KAAA,GAAAvC,OAAA,CAAAK,GAAA,sBAAAL,OAAA,CAAAiB,MAAA,6BAAAe,KAAA,QAAAA,KAAA,gBAAAhC,OAAA,CAAAK,GAAA,EAAAL,OAAA,CAAAwC,iBAAA,CAAAxC,OAAA,CAAAK,GAAA,uBAAAL,OAAA,CAAAiB,MAAA,IAAAjB,OAAA,CAAAyC,MAAA,WAAAzC,OAAA,CAAAK,GAAA,GAAA2B,KAAA,oBAAAR,MAAA,GAAArB,QAAA,CAAAX,OAAA,EAAAE,IAAA,EAAAM,OAAA,oBAAAwB,MAAA,CAAAlB,IAAA,QAAA0B,KAAA,GAAAhC,OAAA,CAAApD,IAAA,mCAAA4E,MAAA,CAAAnB,GAAA,KAAAE,gBAAA,qBAAA1D,KAAA,EAAA2E,MAAA,CAAAnB,GAAA,EAAAzD,IAAA,EAAAoD,OAAA,CAAApD,IAAA,kBAAA4E,MAAA,CAAAlB,IAAA,KAAA0B,KAAA,gBAAAhC,OAAA,CAAAiB,MAAA,YAAAjB,OAAA,CAAAK,GAAA,GAAAmB,MAAA,CAAAnB,GAAA,mBAAAgC,oBAAAF,QAAA,EAAAnC,OAAA,QAAA0C,UAAA,GAAA1C,OAAA,CAAAiB,MAAA,EAAAA,MAAA,GAAAkB,QAAA,CAAA7H,QAAA,CAAAoI,UAAA,OAAAC,SAAA,KAAA1B,MAAA,SAAAjB,OAAA,CAAAmC,QAAA,qBAAAO,UAAA,IAAAP,QAAA,CAAA7H,QAAA,eAAA0F,OAAA,CAAAiB,MAAA,aAAAjB,OAAA,CAAAK,GAAA,GAAAsC,SAAA,EAAAN,mBAAA,CAAAF,QAAA,EAAAnC,OAAA,eAAAA,OAAA,CAAAiB,MAAA,kBAAAyB,UAAA,KAAA1C,OAAA,CAAAiB,MAAA,YAAAjB,OAAA,CAAAK,GAAA,OAAApD,SAAA,uCAAAyF,UAAA,iBAAAnC,gBAAA,MAAAiB,MAAA,GAAArB,QAAA,CAAAc,MAAA,EAAAkB,QAAA,CAAA7H,QAAA,EAAA0F,OAAA,CAAAK,GAAA,mBAAAmB,MAAA,CAAAlB,IAAA,SAAAN,OAAA,CAAAiB,MAAA,YAAAjB,OAAA,CAAAK,GAAA,GAAAmB,MAAA,CAAAnB,GAAA,EAAAL,OAAA,CAAAmC,QAAA,SAAA5B,gBAAA,MAAAqC,IAAA,GAAApB,MAAA,CAAAnB,GAAA,SAAAuC,IAAA,GAAAA,IAAA,CAAAhG,IAAA,IAAAoD,OAAA,CAAAmC,QAAA,CAAAU,UAAA,IAAAD,IAAA,CAAA/F,KAAA,EAAAmD,OAAA,CAAAzC,IAAA,GAAA4E,QAAA,CAAAW,OAAA,eAAA9C,OAAA,CAAAiB,MAAA,KAAAjB,OAAA,CAAAiB,MAAA,WAAAjB,OAAA,CAAAK,GAAA,GAAAsC,SAAA,GAAA3C,OAAA,CAAAmC,QAAA,SAAA5B,gBAAA,IAAAqC,IAAA,IAAA5C,OAAA,CAAAiB,MAAA,YAAAjB,OAAA,CAAAK,GAAA,OAAApD,SAAA,sCAAA+C,OAAA,CAAAmC,QAAA,SAAA5B,gBAAA,cAAAwC,aAAAC,IAAA,QAAAC,KAAA,KAAAC,MAAA,EAAAF,IAAA,YAAAA,IAAA,KAAAC,KAAA,CAAAE,QAAA,GAAAH,IAAA,WAAAA,IAAA,KAAAC,KAAA,CAAAG,UAAA,GAAAJ,IAAA,KAAAC,KAAA,CAAAI,QAAA,GAAAL,IAAA,WAAAM,UAAA,CAAAlI,IAAA,CAAA6H,KAAA,cAAAM,cAAAN,KAAA,QAAAzB,MAAA,GAAAyB,KAAA,CAAAO,UAAA,QAAAhC,MAAA,CAAAlB,IAAA,oBAAAkB,MAAA,CAAAnB,GAAA,EAAA4C,KAAA,CAAAO,UAAA,GAAAhC,MAAA,aAAAvB,QAAAN,WAAA,SAAA2D,UAAA,MAAAJ,MAAA,aAAAvD,WAAA,CAAA/D,OAAA,CAAAmH,YAAA,cAAAU,KAAA,iBAAA3C,OAAA4C,QAAA,QAAAA,QAAA,QAAAC,cAAA,GAAAD,QAAA,CAAA3E,cAAA,OAAA4E,cAAA,SAAAA,cAAA,CAAAtG,IAAA,CAAAqG,QAAA,4BAAAA,QAAA,CAAAnG,IAAA,SAAAmG,QAAA,OAAAE,KAAA,CAAAF,QAAA,CAAAhI,MAAA,SAAAF,CAAA,OAAA+B,IAAA,YAAAA,KAAA,aAAA/B,CAAA,GAAAkI,QAAA,CAAAhI,MAAA,OAAAiD,MAAA,CAAAtB,IAAA,CAAAqG,QAAA,EAAAlI,CAAA,UAAA+B,IAAA,CAAAV,KAAA,GAAA6G,QAAA,CAAAlI,CAAA,GAAA+B,IAAA,CAAAX,IAAA,OAAAW,IAAA,SAAAA,IAAA,CAAAV,KAAA,GAAA8F,SAAA,EAAApF,IAAA,CAAAX,IAAA,OAAAW,IAAA,YAAAA,IAAA,CAAAA,IAAA,GAAAA,IAAA,eAAAA,IAAA,EAAA2E,UAAA,eAAAA,WAAA,aAAArF,KAAA,EAAA8F,SAAA,EAAA/F,IAAA,iBAAA4D,iBAAA,CAAAhG,SAAA,GAAAiG,0BAAA,EAAAxE,cAAA,CAAA8E,EAAA,mBAAAlE,KAAA,EAAA4D,0BAAA,EAAApB,YAAA,SAAApD,cAAA,CAAAwE,0BAAA,mBAAA5D,KAAA,EAAA2D,iBAAA,EAAAnB,YAAA,SAAAmB,iBAAA,CAAAqD,WAAA,GAAAzE,MAAA,CAAAqB,0BAAA,EAAAvB,iBAAA,wBAAAT,OAAA,CAAAqF,mBAAA,aAAAC,MAAA,QAAAC,IAAA,wBAAAD,MAAA,IAAAA,MAAA,CAAAxJ,WAAA,WAAAyJ,IAAA,KAAAA,IAAA,KAAAxD,iBAAA,6BAAAwD,IAAA,CAAAH,WAAA,IAAAG,IAAA,CAAA9F,IAAA,OAAAO,OAAA,CAAAwF,IAAA,aAAAF,MAAA,WAAAlJ,MAAA,CAAAqJ,cAAA,GAAArJ,MAAA,CAAAqJ,cAAA,CAAAH,MAAA,EAAAtD,0BAAA,KAAAsD,MAAA,CAAAI,SAAA,GAAA1D,0BAAA,EAAArB,MAAA,CAAA2E,MAAA,EAAA7E,iBAAA,yBAAA6E,MAAA,CAAAvJ,SAAA,GAAAK,MAAA,CAAAkF,MAAA,CAAAgB,EAAA,GAAAgD,MAAA,KAAAtF,OAAA,CAAA2F,KAAA,aAAA/D,GAAA,aAAAqB,OAAA,EAAArB,GAAA,OAAAW,qBAAA,CAAAG,aAAA,CAAA3G,SAAA,GAAA4E,MAAA,CAAA+B,aAAA,CAAA3G,SAAA,EAAAwE,mBAAA,iCAAAP,OAAA,CAAA0C,aAAA,GAAAA,aAAA,EAAA1C,OAAA,CAAA4F,KAAA,aAAA7E,OAAA,EAAAC,OAAA,EAAAC,IAAA,EAAAC,WAAA,EAAAyB,WAAA,eAAAA,WAAA,KAAAA,WAAA,GAAAkD,OAAA,OAAAjG,IAAA,OAAA8C,aAAA,CAAA5B,IAAA,CAAAC,OAAA,EAAAC,OAAA,EAAAC,IAAA,EAAAC,WAAA,GAAAyB,WAAA,UAAA3C,OAAA,CAAAqF,mBAAA,CAAArE,OAAA,IAAApB,IAAA,GAAAA,IAAA,CAAAd,IAAA,GAAAoE,IAAA,WAAAF,MAAA,WAAAA,MAAA,CAAA7E,IAAA,GAAA6E,MAAA,CAAA5E,KAAA,GAAAwB,IAAA,CAAAd,IAAA,WAAAyD,qBAAA,CAAAD,EAAA,GAAA3B,MAAA,CAAA2B,EAAA,EAAA7B,iBAAA,gBAAAE,MAAA,CAAA2B,EAAA,EAAAhC,cAAA,iCAAAK,MAAA,CAAA2B,EAAA,6DAAAtC,OAAA,CAAA7D,IAAA,aAAA2J,GAAA,QAAA7J,MAAA,GAAAG,MAAA,CAAA0J,GAAA,GAAA3J,IAAA,gBAAAiB,GAAA,IAAAnB,MAAA,EAAAE,IAAA,CAAAQ,IAAA,CAAAS,GAAA,UAAAjB,IAAA,CAAA4J,OAAA,aAAAjH,KAAA,WAAA3C,IAAA,CAAAc,MAAA,SAAAG,GAAA,GAAAjB,IAAA,CAAA6J,GAAA,QAAA5I,GAAA,IAAAnB,MAAA,SAAA6C,IAAA,CAAAV,KAAA,GAAAhB,GAAA,EAAA0B,IAAA,CAAAX,IAAA,OAAAW,IAAA,WAAAA,IAAA,CAAAX,IAAA,OAAAW,IAAA,QAAAkB,OAAA,CAAAqC,MAAA,GAAAA,MAAA,EAAAb,OAAA,CAAAzF,SAAA,KAAAD,WAAA,EAAA0F,OAAA,EAAAwD,KAAA,WAAAA,MAAAiB,aAAA,aAAAC,IAAA,WAAApH,IAAA,WAAA+E,IAAA,QAAAC,KAAA,GAAAI,SAAA,OAAA/F,IAAA,YAAAuF,QAAA,cAAAlB,MAAA,gBAAAZ,GAAA,GAAAsC,SAAA,OAAAW,UAAA,CAAA1H,OAAA,CAAA2H,aAAA,IAAAmB,aAAA,WAAAxG,IAAA,kBAAAA,IAAA,CAAA0G,MAAA,OAAAjG,MAAA,CAAAtB,IAAA,OAAAa,IAAA,MAAA0F,KAAA,EAAA1F,IAAA,CAAAD,KAAA,cAAAC,IAAA,IAAAyE,SAAA,MAAAkC,IAAA,WAAAA,KAAA,SAAAjI,IAAA,WAAAkI,UAAA,QAAAxB,UAAA,IAAAE,UAAA,kBAAAsB,UAAA,CAAAxE,IAAA,QAAAwE,UAAA,CAAAzE,GAAA,cAAA0E,IAAA,KAAAvC,iBAAA,WAAAA,kBAAAwC,SAAA,aAAApI,IAAA,QAAAoI,SAAA,MAAAhF,OAAA,kBAAAiF,OAAAC,GAAA,EAAAC,MAAA,WAAA3D,MAAA,CAAAlB,IAAA,YAAAkB,MAAA,CAAAnB,GAAA,GAAA2E,SAAA,EAAAhF,OAAA,CAAAzC,IAAA,GAAA2H,GAAA,EAAAC,MAAA,KAAAnF,OAAA,CAAAiB,MAAA,WAAAjB,OAAA,CAAAK,GAAA,GAAAsC,SAAA,KAAAwC,MAAA,aAAA3J,CAAA,QAAA8H,UAAA,CAAA5H,MAAA,MAAAF,CAAA,SAAAA,CAAA,QAAAyH,KAAA,QAAAK,UAAA,CAAA9H,CAAA,GAAAgG,MAAA,GAAAyB,KAAA,CAAAO,UAAA,iBAAAP,KAAA,CAAAC,MAAA,SAAA+B,MAAA,aAAAhC,KAAA,CAAAC,MAAA,SAAAyB,IAAA,QAAAS,QAAA,GAAAzG,MAAA,CAAAtB,IAAA,CAAA4F,KAAA,eAAAoC,UAAA,GAAA1G,MAAA,CAAAtB,IAAA,CAAA4F,KAAA,qBAAAmC,QAAA,IAAAC,UAAA,aAAAV,IAAA,GAAA1B,KAAA,CAAAE,QAAA,SAAA8B,MAAA,CAAAhC,KAAA,CAAAE,QAAA,gBAAAwB,IAAA,GAAA1B,KAAA,CAAAG,UAAA,SAAA6B,MAAA,CAAAhC,KAAA,CAAAG,UAAA,cAAAgC,QAAA,aAAAT,IAAA,GAAA1B,KAAA,CAAAE,QAAA,SAAA8B,MAAA,CAAAhC,KAAA,CAAAE,QAAA,qBAAAkC,UAAA,YAAApD,KAAA,qDAAA0C,IAAA,GAAA1B,KAAA,CAAAG,UAAA,SAAA6B,MAAA,CAAAhC,KAAA,CAAAG,UAAA,YAAAX,MAAA,WAAAA,OAAAnC,IAAA,EAAAD,GAAA,aAAA7E,CAAA,QAAA8H,UAAA,CAAA5H,MAAA,MAAAF,CAAA,SAAAA,CAAA,QAAAyH,KAAA,QAAAK,UAAA,CAAA9H,CAAA,OAAAyH,KAAA,CAAAC,MAAA,SAAAyB,IAAA,IAAAhG,MAAA,CAAAtB,IAAA,CAAA4F,KAAA,wBAAA0B,IAAA,GAAA1B,KAAA,CAAAG,UAAA,QAAAkC,YAAA,GAAArC,KAAA,aAAAqC,YAAA,iBAAAhF,IAAA,mBAAAA,IAAA,KAAAgF,YAAA,CAAApC,MAAA,IAAA7C,GAAA,IAAAA,GAAA,IAAAiF,YAAA,CAAAlC,UAAA,KAAAkC,YAAA,cAAA9D,MAAA,GAAA8D,YAAA,GAAAA,YAAA,CAAA9B,UAAA,cAAAhC,MAAA,CAAAlB,IAAA,GAAAA,IAAA,EAAAkB,MAAA,CAAAnB,GAAA,GAAAA,GAAA,EAAAiF,YAAA,SAAArE,MAAA,gBAAA1D,IAAA,GAAA+H,YAAA,CAAAlC,UAAA,EAAA7C,gBAAA,SAAAgF,QAAA,CAAA/D,MAAA,MAAA+D,QAAA,WAAAA,SAAA/D,MAAA,EAAA6B,QAAA,oBAAA7B,MAAA,CAAAlB,IAAA,QAAAkB,MAAA,CAAAnB,GAAA,qBAAAmB,MAAA,CAAAlB,IAAA,mBAAAkB,MAAA,CAAAlB,IAAA,QAAA/C,IAAA,GAAAiE,MAAA,CAAAnB,GAAA,gBAAAmB,MAAA,CAAAlB,IAAA,SAAAyE,IAAA,QAAA1E,GAAA,GAAAmB,MAAA,CAAAnB,GAAA,OAAAY,MAAA,kBAAA1D,IAAA,yBAAAiE,MAAA,CAAAlB,IAAA,IAAA+C,QAAA,UAAA9F,IAAA,GAAA8F,QAAA,GAAA9C,gBAAA,KAAAiF,MAAA,WAAAA,OAAApC,UAAA,aAAA5H,CAAA,QAAA8H,UAAA,CAAA5H,MAAA,MAAAF,CAAA,SAAAA,CAAA,QAAAyH,KAAA,QAAAK,UAAA,CAAA9H,CAAA,OAAAyH,KAAA,CAAAG,UAAA,KAAAA,UAAA,cAAAmC,QAAA,CAAAtC,KAAA,CAAAO,UAAA,EAAAP,KAAA,CAAAI,QAAA,GAAAE,aAAA,CAAAN,KAAA,GAAA1C,gBAAA,yBAAAkF,OAAAvC,MAAA,aAAA1H,CAAA,QAAA8H,UAAA,CAAA5H,MAAA,MAAAF,CAAA,SAAAA,CAAA,QAAAyH,KAAA,QAAAK,UAAA,CAAA9H,CAAA,OAAAyH,KAAA,CAAAC,MAAA,KAAAA,MAAA,QAAA1B,MAAA,GAAAyB,KAAA,CAAAO,UAAA,kBAAAhC,MAAA,CAAAlB,IAAA,QAAAoF,MAAA,GAAAlE,MAAA,CAAAnB,GAAA,EAAAkD,aAAA,CAAAN,KAAA,YAAAyC,MAAA,gBAAAzD,KAAA,8BAAA0D,aAAA,WAAAA,cAAAjC,QAAA,EAAAb,UAAA,EAAAC,OAAA,gBAAAX,QAAA,KAAA7H,QAAA,EAAAwG,MAAA,CAAA4C,QAAA,GAAAb,UAAA,EAAAA,UAAA,EAAAC,OAAA,EAAAA,OAAA,oBAAA7B,MAAA,UAAAZ,GAAA,GAAAsC,SAAA,GAAApC,gBAAA,OAAA9B,OAAA;AAAA,SAAAmH,mBAAAC,GAAA,EAAAvE,OAAA,EAAAC,MAAA,EAAAuE,KAAA,EAAAC,MAAA,EAAAlK,GAAA,EAAAwE,GAAA,cAAAuC,IAAA,GAAAiD,GAAA,CAAAhK,GAAA,EAAAwE,GAAA,OAAAxD,KAAA,GAAA+F,IAAA,CAAA/F,KAAA,WAAAgF,KAAA,IAAAN,MAAA,CAAAM,KAAA,iBAAAe,IAAA,CAAAhG,IAAA,IAAA0E,OAAA,CAAAzE,KAAA,YAAAyH,OAAA,CAAAhD,OAAA,CAAAzE,KAAA,EAAA8E,IAAA,CAAAmE,KAAA,EAAAC,MAAA;AAAA,SAAAC,kBAAA5F,EAAA,6BAAAV,IAAA,SAAAuG,IAAA,GAAAxK,SAAA,aAAA6I,OAAA,WAAAhD,OAAA,EAAAC,MAAA,QAAAsE,GAAA,GAAAzF,EAAA,CAAA/E,KAAA,CAAAqE,IAAA,EAAAuG,IAAA,YAAAH,MAAAjJ,KAAA,IAAA+I,kBAAA,CAAAC,GAAA,EAAAvE,OAAA,EAAAC,MAAA,EAAAuE,KAAA,EAAAC,MAAA,UAAAlJ,KAAA,cAAAkJ,OAAA3I,GAAA,IAAAwI,kBAAA,CAAAC,GAAA,EAAAvE,OAAA,EAAAC,MAAA,EAAAuE,KAAA,EAAAC,MAAA,WAAA3I,GAAA,KAAA0I,KAAA,CAAAnD,SAAA;AAAA,SAAAuD,gBAAAC,QAAA,EAAAC,WAAA,UAAAD,QAAA,YAAAC,WAAA,eAAAnJ,SAAA;AAAA,SAAAoJ,kBAAA9K,MAAA,EAAA+K,KAAA,aAAA9K,CAAA,MAAAA,CAAA,GAAA8K,KAAA,CAAA5K,MAAA,EAAAF,CAAA,UAAA+K,UAAA,GAAAD,KAAA,CAAA9K,CAAA,GAAA+K,UAAA,CAAApL,UAAA,GAAAoL,UAAA,CAAApL,UAAA,WAAAoL,UAAA,CAAAlH,YAAA,wBAAAkH,UAAA,EAAAA,UAAA,CAAAjH,QAAA,SAAAzE,MAAA,CAAAoB,cAAA,CAAAV,MAAA,EAAAiL,cAAA,CAAAD,UAAA,CAAA1K,GAAA,GAAA0K,UAAA;AAAA,SAAAE,aAAAL,WAAA,EAAAM,UAAA,EAAAC,WAAA,QAAAD,UAAA,EAAAL,iBAAA,CAAAD,WAAA,CAAA5L,SAAA,EAAAkM,UAAA,OAAAC,WAAA,EAAAN,iBAAA,CAAAD,WAAA,EAAAO,WAAA,GAAA9L,MAAA,CAAAoB,cAAA,CAAAmK,WAAA,iBAAA9G,QAAA,mBAAA8G,WAAA;AAAA,SAAAQ,UAAAC,QAAA,EAAAC,UAAA,eAAAA,UAAA,mBAAAA,UAAA,uBAAA7J,SAAA,0DAAA4J,QAAA,CAAArM,SAAA,GAAAK,MAAA,CAAAkF,MAAA,CAAA+G,UAAA,IAAAA,UAAA,CAAAtM,SAAA,IAAAD,WAAA,IAAAsC,KAAA,EAAAgK,QAAA,EAAAvH,QAAA,QAAAD,YAAA,aAAAxE,MAAA,CAAAoB,cAAA,CAAA4K,QAAA,iBAAAvH,QAAA,gBAAAwH,UAAA,EAAAC,eAAA,CAAAF,QAAA,EAAAC,UAAA;AAAA,SAAAC,gBAAA5K,CAAA,EAAA6K,CAAA,IAAAD,eAAA,GAAAlM,MAAA,CAAAqJ,cAAA,GAAArJ,MAAA,CAAAqJ,cAAA,CAAA+C,IAAA,cAAAF,gBAAA5K,CAAA,EAAA6K,CAAA,IAAA7K,CAAA,CAAAgI,SAAA,GAAA6C,CAAA,SAAA7K,CAAA,YAAA4K,eAAA,CAAA5K,CAAA,EAAA6K,CAAA;AAAA,SAAAE,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,GAAAC,eAAA,CAAAL,OAAA,GAAA1F,MAAA,MAAA2F,yBAAA,QAAAK,SAAA,GAAAD,eAAA,OAAAjN,WAAA,EAAAkH,MAAA,GAAAiG,OAAA,CAAAC,SAAA,CAAAJ,KAAA,EAAA9L,SAAA,EAAAgM,SAAA,YAAAhG,MAAA,GAAA8F,KAAA,CAAAlM,KAAA,OAAAI,SAAA,YAAAmM,0BAAA,OAAAnG,MAAA;AAAA,SAAAmG,2BAAAlI,IAAA,EAAArC,IAAA,QAAAA,IAAA,KAAAlD,OAAA,CAAAkD,IAAA,yBAAAA,IAAA,2BAAAA,IAAA,aAAAA,IAAA,yBAAAJ,SAAA,uEAAA4K,sBAAA,CAAAnI,IAAA;AAAA,SAAAmI,uBAAAnI,IAAA,QAAAA,IAAA,yBAAAoI,cAAA,wEAAApI,IAAA;AAAA,SAAA2H,0BAAA,eAAAK,OAAA,qBAAAA,OAAA,CAAAC,SAAA,oBAAAD,OAAA,CAAAC,SAAA,CAAAI,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAAzN,SAAA,CAAA0N,OAAA,CAAA7K,IAAA,CAAAqK,OAAA,CAAAC,SAAA,CAAAM,OAAA,8CAAAnL,CAAA;AAAA,SAAA0K,gBAAArL,CAAA,IAAAqL,eAAA,GAAA3M,MAAA,CAAAqJ,cAAA,GAAArJ,MAAA,CAAA+F,cAAA,CAAAqG,IAAA,cAAAO,gBAAArL,CAAA,WAAAA,CAAA,CAAAgI,SAAA,IAAAtJ,MAAA,CAAA+F,cAAA,CAAAzE,CAAA,aAAAqL,eAAA,CAAArL,CAAA;AAAA,SAAAL,gBAAA1B,GAAA,EAAAyB,GAAA,EAAAgB,KAAA,IAAAhB,GAAA,GAAA2K,cAAA,CAAA3K,GAAA,OAAAA,GAAA,IAAAzB,GAAA,IAAAS,MAAA,CAAAoB,cAAA,CAAA7B,GAAA,EAAAyB,GAAA,IAAAgB,KAAA,EAAAA,KAAA,EAAA1B,UAAA,QAAAkE,YAAA,QAAAC,QAAA,oBAAAlF,GAAA,CAAAyB,GAAA,IAAAgB,KAAA,WAAAzC,GAAA;AAAA,SAAAoM,eAAAnG,GAAA,QAAAxE,GAAA,GAAAsM,YAAA,CAAA9H,GAAA,oBAAAlG,OAAA,CAAA0B,GAAA,iBAAAA,GAAA,GAAAuM,MAAA,CAAAvM,GAAA;AAAA,SAAAsM,aAAAE,KAAA,EAAAC,IAAA,QAAAnO,OAAA,CAAAkO,KAAA,kBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAhO,MAAA,CAAAmO,WAAA,OAAAD,IAAA,KAAA5F,SAAA,QAAA8F,GAAA,GAAAF,IAAA,CAAAlL,IAAA,CAAAgL,KAAA,EAAAC,IAAA,oBAAAnO,OAAA,CAAAsO,GAAA,uBAAAA,GAAA,YAAAxL,SAAA,4DAAAqL,IAAA,gBAAAF,MAAA,GAAAM,MAAA,EAAAL,KAAA;AAAA,SAAAM,eAAAjF,QAAA,QAAAzC,MAAA,EAAAoD,KAAA,EAAAuE,IAAA,EAAAC,KAAA,iCAAAxO,MAAA,KAAAgK,KAAA,GAAAhK,MAAA,CAAA4E,aAAA,EAAA2J,IAAA,GAAAvO,MAAA,CAAAC,QAAA,GAAAuO,KAAA,WAAAxE,KAAA,aAAApD,MAAA,GAAAyC,QAAA,CAAAW,KAAA,WAAApD,MAAA,CAAA5D,IAAA,CAAAqG,QAAA,OAAAkF,IAAA,aAAA3H,MAAA,GAAAyC,QAAA,CAAAkF,IAAA,eAAAE,qBAAA,CAAA7H,MAAA,CAAA5D,IAAA,CAAAqG,QAAA,IAAAW,KAAA,sBAAAuE,IAAA,6BAAA3L,SAAA;AAAA,SAAA6L,sBAAApM,CAAA,aAAAqM,kCAAAC,CAAA,QAAAnO,MAAA,CAAAmO,CAAA,MAAAA,CAAA,SAAA1E,OAAA,CAAA/C,MAAA,KAAAtE,SAAA,CAAA+L,CAAA,+BAAApM,IAAA,GAAAoM,CAAA,CAAApM,IAAA,SAAA0H,OAAA,CAAAhD,OAAA,CAAA0H,CAAA,CAAAnM,KAAA,EAAA8E,IAAA,WAAA9E,KAAA,aAAAA,KAAA,EAAAA,KAAA,EAAAD,IAAA,EAAAA,IAAA,iBAAAkM,qBAAA,YAAAA,sBAAApM,CAAA,SAAAA,CAAA,GAAAA,CAAA,OAAAC,CAAA,GAAAD,CAAA,CAAAa,IAAA,KAAAuL,qBAAA,CAAAtO,SAAA,KAAAkC,CAAA,QAAAC,CAAA,QAAAY,IAAA,WAAAA,KAAA,WAAAwL,iCAAA,MAAApM,CAAA,CAAAtB,KAAA,MAAAqB,CAAA,EAAAjB,SAAA,0BAAAwN,QAAApM,KAAA,QAAAqM,GAAA,QAAAxM,CAAA,8BAAAwM,GAAA,GAAA5E,OAAA,CAAAhD,OAAA,GAAAzE,KAAA,EAAAA,KAAA,EAAAD,IAAA,UAAAmM,iCAAA,CAAAG,GAAA,CAAA7N,KAAA,MAAAqB,CAAA,EAAAjB,SAAA,yBAAAsK,OAAAlJ,KAAA,QAAAsM,GAAA,QAAAzM,CAAA,8BAAAyM,GAAA,GAAA7E,OAAA,CAAA/C,MAAA,CAAA1E,KAAA,IAAAkM,iCAAA,CAAAI,GAAA,CAAA9N,KAAA,MAAAqB,CAAA,EAAAjB,SAAA,aAAAqN,qBAAA,CAAApM,CAAA,KADA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAmGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAvBA,IAwBa0M,eAAe,0BAAAC,aAAA;EAAAzC,SAAA,CAAAwC,eAAA,EAAAC,aAAA;EAAA,IAAAC,MAAA,GAAApC,YAAA,CAAAkC,eAAA;EAiBxB;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;EACI,SAAAA,gBACoBG,MAAc,EAC9BC,MAAyB,EACRC,MAAoB,EACvC;IAAA,IAAAC,KAAA;IAAAxD,eAAA,OAAAkD,eAAA;IACEM,KAAA,GAAAJ,MAAA,CAAAjM,IAAA;IAAQqM,KAAA,CAJQH,MAAc,GAAdA,MAAc;IAAAG,KAAA,CAEbD,MAAoB,GAApBA,MAAoB;IAAA3N,eAAA,CAAA+L,sBAAA,CAAA6B,KAAA;IAAA5N,eAAA,CAAA+L,sBAAA,CAAA6B,KAAA,2BAzBW,IAAI;IACxD;IAAA5N,eAAA,CAAA+L,sBAAA,CAAA6B,KAAA,8BACkC,KAAK;IAAA5N,eAAA,CAAA+L,sBAAA,CAAA6B,KAAA,0BACA,IAAIC,GAAG,EAAc;IAAA7N,eAAA,CAAA+L,sBAAA,CAAA6B,KAAA,oBACF,EAAE;IAAA5N,eAAA,CAAA+L,sBAAA,CAAA6B,KAAA,gBACxC,KAAK;IAAA5N,eAAA,CAAA+L,sBAAA,CAAA6B,KAAA,kBACiC,IAAI;IAAA5N,eAAA,CAAA+L,sBAAA,CAAA6B,KAAA;IAE9D;IAAA5N,eAAA,CAAA+L,sBAAA,CAAA6B,KAAA,yBACsC,IAAIC,GAAG,EAAiB;IAC9D;IAAA7N,eAAA,CAAA+L,sBAAA,CAAA6B,KAAA,0BACuC,IAAIE,GAAG,EAAgD;IAAA9N,eAAA,CAAA+L,sBAAA,CAAA6B,KAAA,yBAC3C,IAAI;IAAA5N,eAAA,CAAA+L,sBAAA,CAAA6B,KAAA,mBAghCjB,IAAI;IAhgCtC,IAAI,EAACF,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEK,aAAa,GAAE;MACxB,MAAM,IAAI5H,KAAK,CAAC,oBAAoB,CAAC;IACzC;IACA,IAAI,CAACsH,MAAM,EAAE;MACT,MAAM,IAAItH,KAAK,CAAC,gBAAgB,CAAC;IACrC;IACA,IAAI,CAACwH,MAAM,EAAE;MACT,MAAM,IAAIxH,KAAK,CAAC,gBAAgB,CAAC;IACrC;IACAyH,KAAA,CAAKI,SAAS,GAAG,IAAIC,0CAAoB,CACrCC,sCAAkB,CAACC,QAAQ,EAC3BV,MAAM,CAACW,EAAE,EACTV,MAAM,CAACK,aAAa,EACpBM,UAAU,CACb;IACDT,KAAA,CAAKI,SAAS,CAACM,YAAY,GAAGb,MAAM,CAACc,MAAM;IAC3CX,KAAA,CAAKI,SAAS,CAACQ,EAAE,CAAC,SAAS,EAAEZ,KAAA,CAAKa,aAAa,CAACtD,IAAI,CAAAY,sBAAA,CAAA6B,KAAA,EAAM,CAAC;IAE3DF,MAAM,CAACgB,gBAAgB,CAAC,MAAM,EAAEd,KAAA,CAAKe,YAAY,CAACxD,IAAI,CAAAY,sBAAA,CAAA6B,KAAA,EAAM,CAAC;IAE7DA,KAAA,CAAKI,SAAS,CAACY,KAAK,EAAE;IAAC,OAAAhB,KAAA;EAC3B;EAACjD,YAAA,CAAA2C,eAAA;IAAAvN,GAAA;IAAAgB,KAAA,EAED,SAAA8N,cAAqBC,UAAsB,EAAW;MAClD,OAAO,IAAI,CAACC,mBAAmB,CAACC,GAAG,CAACF,UAAU,CAAC;IACnD;EAAC;IAAA/O,GAAA;IAAAgB,KAAA,EAED,SAAAkO,mBAA0BC,MAAgC,EAAW;MACjE,OACI,IAAI,CAACL,aAAa,gCAAAM,MAAA,CAAgCC,gBAAO,CAACC,OAAO,EAAG,IACpE,IAAI,CAACR,aAAa,gCAAAM,MAAA,CAAgCD,MAAM,EAAG;IAEnE;EAAC;IAAAnP,GAAA;IAAAgB,KAAA,EAED,SAAAuO,iBAAwBC,SAAiB,EAA0C;MAAA,IAAxCC,OAAsB,GAAA7P,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAkH,SAAA,GAAAlH,SAAA,MAAG,IAAI;MACpE,OAAO,IAAI,CAAC8P,aAAa,CAACC,IAAI,CAAC,UAAC1O,CAAC;QAAA,OAAKA,CAAC,CAAC2O,kBAAkB,CAACC,qCAAc,CAACC,IAAI,EAAEN,SAAS,EAAEC,OAAO,CAAC;MAAA,EAAC;IACxG;EAAC;IAAAzP,GAAA;IAAAgB,KAAA,EAED,SAAA+O,kBAAyBP,SAAiB,EAAEQ,QAAgB,EAAW;MACnE,OAAO,IAAI,CAACN,aAAa,CAACC,IAAI,CAAC,UAAC1O,CAAC;QAAA,OAAKA,CAAC,CAACgP,mBAAmB,CAACJ,qCAAc,CAACC,IAAI,EAAEN,SAAS,EAAEQ,QAAQ,CAAC;MAAA,EAAC;IAC1G;EAAC;IAAAhQ,GAAA;IAAAgB,KAAA,EAED,SAAAkP,qBAA4BV,SAAiB,EAAW;MACpD,OAAO,IAAI,CAACE,aAAa,CAACC,IAAI,CAAC,UAAC1O,CAAC;QAAA,OAAKA,CAAC,CAACkP,sBAAsB,CAACN,qCAAc,CAACC,IAAI,EAAEN,SAAS,CAAC;MAAA,EAAC;IACnG;EAAC;IAAAxP,GAAA;IAAAgB,KAAA,EAED,SAAAoP,oBAA2BZ,SAAiB,EAA0C;MAAA,IAAxCC,OAAsB,GAAA7P,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAkH,SAAA,GAAAlH,SAAA,MAAG,IAAI;MACvE,OAAO,IAAI,CAAC8P,aAAa,CAACC,IAAI,CAAC,UAAC1O,CAAC;QAAA,OAAKA,CAAC,CAAC2O,kBAAkB,CAACC,qCAAc,CAACQ,OAAO,EAAEb,SAAS,EAAEC,OAAO,CAAC;MAAA,EAAC;IAC3G;EAAC;IAAAzP,GAAA;IAAAgB,KAAA,EAED,SAAAsP,qBAA4Bd,SAAiB,EAAEQ,QAAuB,EAAW;MAC7E,OAAO,IAAI,CAACN,aAAa,CAACC,IAAI,CAAC,UAAC1O,CAAC;QAAA,OAAKA,CAAC,CAACgP,mBAAmB,CAACJ,qCAAc,CAACQ,OAAO,EAAEb,SAAS,EAAEQ,QAAQ,CAAC;MAAA,EAAC;IAC7G;EAAC;IAAAhQ,GAAA;IAAAgB,KAAA,EAED,SAAAuP,wBAA+Bf,SAAiB,EAAW;MACvD,OAAO,IAAI,CAACE,aAAa,CAACC,IAAI,CAAC,UAAC1O,CAAC;QAAA,OAAKA,CAAC,CAACkP,sBAAsB,CAACN,qCAAc,CAACQ,OAAO,EAAEb,SAAS,CAAC;MAAA,EAAC;IACtG;EAAC;IAAAxP,GAAA;IAAAgB,KAAA,EAED,SAAAwP,0BAAiChB,SAAiB,EAAW;MACzD,OAAO,IAAI,CAACE,aAAa,CAACC,IAAI,CAAC,UAAC1O,CAAC;QAAA,OAAKA,CAAC,CAACwP,wBAAwB,CAACZ,qCAAc,CAACQ,OAAO,EAAEb,SAAS,CAAC;MAAA,EAAC;IACxG;EAAC;IAAAxP,GAAA;IAAAgB,KAAA,EAED,SAAAgI,KAAA,EAAoB;MAChB,IAAI,CAAC0H,SAAS,GAAG,IAAI;MACrB,IAAI,CAACzC,SAAS,CAACjF,IAAI,EAAE;IACzB;EAAC;IAAAhJ,GAAA;IAAAgB,KAAA;MAAA,IAAA2P,kBAAA,GAAAxG,iBAAA,eAAAxH,mBAAA,GAAAyF,IAAA,CAED,SAAAwI,QAAA;QAAA,IAAAzD,CAAA;QAAA,OAAAxK,mBAAA,GAAAe,IAAA,UAAAmN,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAhI,IAAA,GAAAgI,QAAA,CAAApP,IAAA;YAAA;cAAA,KACQjB,KAAK,CAACC,OAAO,CAAC,IAAI,CAACqQ,oBAAoB,CAAC;gBAAAD,QAAA,CAAApP,IAAA;gBAAA;cAAA;cAAA,OAAAoP,QAAA,CAAAlK,MAAA,WACjC,IAAI,CAACmK,oBAAoB;YAAA;cAAAD,QAAA,CAAAhI,IAAA;cAAAgI,QAAA,CAAApP,IAAA;cAAA,OAIhB,IAAI,CAACuM,SAAS,CAAC+C,IAAI,CAC/BC,wCAAuB,CAACC,oBAAoB,EAC5C,CAAC,CAAC,CACL;YAAA;cAHK/D,CAAC,GAAA2D,QAAA,CAAArK,IAAA;cAIP,IAAI,CAACsK,oBAAoB,GAAG5D,CAAC,CAACgE,kBAAkB;cAAC,OAAAL,QAAA,CAAAlK,MAAA,WAC1CuG,CAAC,CAACgE,kBAAkB;YAAA;cAAAL,QAAA,CAAAhI,IAAA;cAAAgI,QAAA,CAAAM,EAAA,GAAAN,QAAA;cAE3BO,OAAO,CAACC,IAAI,CAAC,qDAAqD,EAAAR,QAAA,CAAAM,EAAA,CAAI;cAAC,OAAAN,QAAA,CAAAlK,MAAA,WAChE,EAAE;YAAA;YAAA;cAAA,OAAAkK,QAAA,CAAA9H,IAAA;UAAA;QAAA,GAAA4H,OAAA;MAAA,CAEhB;MAAA,SAAAW,kBAAA;QAAA,OAAAZ,kBAAA,CAAAnR,KAAA,OAAAI,SAAA;MAAA;MAAA,OAAA2R,iBAAA;IAAA;EAAA;IAAAvR,GAAA;IAAAgB,KAAA,EAED,SAAAwQ,kBAAA,EAAkC;MAAA,IAAAC,MAAA;MAC9B;MACA,IAAI,CAACC,IAAI,CAAC,WAAW,CAAC;MAEtB,IAAIC,aAA2B;MAC/B,IAAI,CAAC1D,SAAS,CACT+C,IAAI,CAA8DC,wCAAuB,CAACW,YAAY,EAAE,CAAC,CAAC,CAAC,CAC3G9L,IAAI,CAAC,UAAC+L,IAAI,EAAK;QACZF,aAAa,GAAGE,IAAI,CAACC,YAAY;QACjC,OAAOL,MAAI,CAAC7D,MAAM,CAACmE,oBAAoB,CAAC,IAAIjE,GAAG,CAAC+D,IAAI,CAACC,YAAY,CAAC,CAAC;MACvE,CAAC,CAAC,CACDhM,IAAI,CAAC,UAACkM,WAAW,EAAK;QACnBP,MAAI,CAACQ,iBAAiB,CAAArQ,kBAAA,CAAKoQ,WAAW,GAAGL,aAAa,CAAC;QACvDF,MAAI,CAACC,IAAI,CAAC,OAAO,CAAC;MACtB,CAAC,CAAC,SACI,CAAC,UAACzQ,CAAC,EAAK;QACVwQ,MAAI,CAACC,IAAI,CAAC,iBAAiB,EAAEzQ,CAAC,CAAC;MACnC,CAAC,CAAC;IACV;EAAC;IAAAjB,GAAA;IAAAgB,KAAA,EAED,SAAAiR,kBAA0BC,OAAiB,EAAEC,SAAmB,EAAQ;MAAA,IAAAC,mBAAA;QAAAC,MAAA;MACpEhB,OAAO,CAACiB,GAAG,WAAAlD,MAAA,CAAW,IAAI,CAAC1B,MAAM,CAACW,EAAE,gCAA6B6D,OAAO,CAAC;MAAC,IAAAK,UAAA,GAAAlS,0BAAA,CAE1D6R,OAAO;QAAAM,MAAA;MAAA;QAAvB,KAAAD,UAAA,CAAA1R,CAAA,MAAA2R,MAAA,GAAAD,UAAA,CAAAzR,CAAA,IAAAC,IAAA,GAAyB;UAAA,IAAd0R,CAAC,GAAAD,MAAA,CAAAxR,KAAA;UAAa,IAAI,CAACgO,mBAAmB,CAAC0D,GAAG,CAACD,CAAC,CAAC;QAAA;MAAC,SAAAlR,GAAA;QAAAgR,UAAA,CAAAtR,CAAA,CAAAM,GAAA;MAAA;QAAAgR,UAAA,CAAApR,CAAA;MAAA;MACzD,IAAMuO,aAAa,GAAGiD,4CAAqB,CAACC,qBAAqB,CAACV,OAAO,CAAC;MAC1E,CAAAE,mBAAA,OAAI,CAAC1C,aAAa,EAACnQ,IAAI,CAAAC,KAAA,CAAA4S,mBAAA,EAAAxQ,kBAAA,CAAI8N,aAAa,EAAC;MAEzC,IAAI,CAACzB,SAAS,CACT+C,IAAI,CAACC,wCAAuB,CAAC4B,kBAAkB,EAAwC;QACpFV,SAAS,EAATA,SAAS;QACTW,QAAQ,EAAErS,KAAK,CAAC6B,IAAI,CAAC,IAAI,CAAC0M,mBAAmB;MACjD,CAAC,CAAC,SACI,CAAC,UAAC/N,CAAC,EAAK;QACVoQ,OAAO,CAACC,IAAI,CAAC,4DAA4D,EAAErQ,CAAC,CAAC;MACjF,CAAC,CAAC,CACD6E,IAAI,CAAC,YAAM;QACRuM,MAAI,CAACX,IAAI,CAAC,sBAAsB,CAAC;MACrC,CAAC,CAAC;;MAEN;MAAA,IAAAqB,UAAA,GAAA1S,0BAAA,CACgB6R,OAAO;QAAAc,MAAA;MAAA;QAAvB,KAAAD,UAAA,CAAAlS,CAAA,MAAAmS,MAAA,GAAAD,UAAA,CAAAjS,CAAA,IAAAC,IAAA,GAAyB;UAAA,IAAd0R,EAAC,GAAAO,MAAA,CAAAhS,KAAA;UACR,IAAI,IAAAiS,kCAAoB,EAACR,EAAC,CAAC,EAAE;YACzB,IAAMtD,MAAM,GAAG,IAAA+D,6CAA+B,EAACT,EAAC,CAAC;YACjD,IAAItD,MAAM,KAAKE,gBAAO,CAACC,OAAO,EAAE;cAAA,IAAA6D,UAAA,GAAA9S,0BAAA,CACP,IAAI,CAACuN,MAAM,CAACwF,aAAa,EAAE;gBAAAC,MAAA;cAAA;gBAAhD,KAAAF,UAAA,CAAAtS,CAAA,MAAAwS,MAAA,GAAAF,UAAA,CAAArS,CAAA,IAAAC,IAAA,GAAkD;kBAAA,IAAvCoO,OAAM,GAAAkE,MAAA,CAAArS,KAAA;kBACb,IAAI,CAACsS,aAAa,CAACnE,OAAM,CAAC;gBAC9B;cAAC,SAAA5N,GAAA;gBAAA4R,UAAA,CAAAlS,CAAA,CAAAM,GAAA;cAAA;gBAAA4R,UAAA,CAAAhS,CAAA;cAAA;YACL,CAAC,MAAM;cACH,IAAI,CAACmS,aAAa,CAACnE,MAAM,CAAC;YAC9B;UACJ;QACJ;MAAC,SAAA5N,GAAA;QAAAwR,UAAA,CAAA9R,CAAA,CAAAM,GAAA;MAAA;QAAAwR,UAAA,CAAA5R,CAAA;MAAA;MAED,IAAI+Q,OAAO,CAACqB,QAAQ,CAACC,gCAAkB,CAACC,yBAAyB,CAAC,EAAE;QAChEpC,OAAO,CAACqC,KAAK,WAAAtE,MAAA,CAAW,IAAI,CAAC1B,MAAM,CAACW,EAAE,uEAAoE;QAC1G;QACA;QACA,IAAMsF,OAAO,GAAGzB,OAAO,CAClB/S,MAAM,CAAC,UAAC4P,UAAU;UAAA,OAAK,IAAAkE,kCAAoB,EAAClE,UAAU,CAAC;QAAA,EAAC,CACxD6E,GAAG,CAAC,UAACC,kBAAkB;UAAA,OAAK,IAAAX,6CAA+B,EAACW,kBAAkB,CAAC;QAAA,EAAC,CAChFC,OAAO,CAAC,UAACC,gBAAgB,EAAK;UAC3B,IAAIA,gBAAgB,KAAK1E,gBAAO,CAACC,OAAO,EAAE;YACtC;YACA,OAAO+C,MAAI,CAACzE,MAAM,CAACwF,aAAa,EAAE;UACtC,CAAC,MAAM;YACH,OAAOW,gBAAgB;UAC3B;QACJ,CAAC,CAAC;QACN1C,OAAO,CAACqC,KAAK,WAAAtE,MAAA,CAAW,IAAI,CAAC1B,MAAM,CAACW,EAAE,qDAAkDsF,OAAO,CAAC;QAAC,IAAAK,UAAA,GAAA3T,0BAAA,CAE5EsT,OAAO;UAAAM,MAAA;QAAA;UAAA,IAAAC,KAAA,YAAAA,MAAA,EAAE;YAAA,IAAnB/E,MAAM,GAAA8E,MAAA,CAAAjT,KAAA;YACbqR,MAAI,CAAC8B,eAAe,CAAChF,MAAM,CAAC,SAAM,CAAC,UAAC5N,GAAG,EAAK;cACxC8P,OAAO,CAACrL,KAAK,2CAAAoJ,MAAA,CAA2CiD,MAAI,CAAC3E,MAAM,CAACW,EAAE,gBAAAe,MAAA,CAAaD,MAAM,QAAK5N,GAAG,CAAC;YACtG,CAAC,CAAC;UACN,CAAC;UAJD,KAAAyS,UAAA,CAAAnT,CAAA,MAAAoT,MAAA,GAAAD,UAAA,CAAAlT,CAAA,IAAAC,IAAA;YAAAmT,KAAA;UAAA;QAIC,SAAA3S,GAAA;UAAAyS,UAAA,CAAA/S,CAAA,CAAAM,GAAA;QAAA;UAAAyS,UAAA,CAAA7S,CAAA;QAAA;MACL;;MAEA;MACA;MACA;MACA,IAAIuO,aAAa,CAAC7P,MAAM,GAAG,CAAC,IAAI,IAAI,CAACuU,YAAY,KAAK,IAAI,IAAI,CAAC,IAAI,CAAClF,kBAAkB,CAAC,IAAI,CAACkF,YAAY,CAAC,EAAE;QACvG,IAAI,CAACd,aAAa,CAAC,IAAI,CAACc,YAAY,CAAC;MACzC;IACJ;EAAC;IAAApU,GAAA;IAAAgB,KAAA,EAED,SAAA4N,aAAqByF,EAAS,EAAQ;MAClC,IAAI,IAAI,CAAC3G,MAAM,CAAC4G,iBAAiB,EAAE;QAC/B;QACA;QACA,IAAI,CAAC9C,iBAAiB,EAAE;MAC5B,CAAC,MAAM;QACH;QACA;QACAH,OAAO,CAACiB,GAAG,CAAC,sEAAsE,CAAC;QACnF,IAAI,CAACiC,sBAAsB,GAAGC,UAAU,CAAC,YAAM;UAC3CnD,OAAO,CAACrL,KAAK,CACT,yFAAyF,CAC5F;QACL,CAAC,EAAE,KAAK,CAAC;QACT,IAAI,CAACyO,uBAAuB,GAAG,KAAK;MACxC;IACJ;EAAC;IAAAzU,GAAA;IAAAgB,KAAA,EAED,SAAA0T,0BAAkCC,MAAmC,EAAQ;MACzE,IAAI,IAAI,CAACJ,sBAAsB,KAAKzN,SAAS,EAAE;QAC3C8N,YAAY,CAAC,IAAI,CAACL,sBAAsB,CAAC;QACzC,IAAI,CAACA,sBAAsB,GAAGzN,SAAS;MAC3C;MACA,IAAI,IAAI,CAAC2N,uBAAuB,EAAE;QAC9B,MAAM,IAAIrO,KAAK,CACX,wFAAwF,GACpF,sEAAsE,CAC7E;MACL;MACA,IAAI,IAAI,CAACsH,MAAM,CAAC4G,iBAAiB,EAAE;QAC/B,IAAI,CAACrG,SAAS,CAAC4G,KAAK,CAACF,MAAM,EAA+B;UACtD3O,KAAK,EAAE;YACH8O,OAAO,EACH,0DAA0D,GAC1D;UACR;QACJ,CAAC,CAAC;MACN,CAAC,MAAM;QACH,IAAI,CAAC7G,SAAS,CAAC4G,KAAK,CAACF,MAAM,EAA8B,CAAC,CAAC,CAAC;QAC5D,IAAI,CAACnD,iBAAiB,EAAE;MAC5B;MACA,IAAI,CAACiD,uBAAuB,GAAG,IAAI;IACvC;EAAC;IAAAzU,GAAA;IAAAgB,KAAA,EAED,SAAA+T,cAAsBC,OAAwC,EAAQ;MAClE,IAAI,CAAC/G,SAAS,CAAC4G,KAAK,CAAuCG,OAAO,EAAE;QAChE7D,kBAAkB,EAAE8D;MACxB,CAAC,CAAC;IACN;EAAC;IAAAjV,GAAA;IAAAgB,KAAA;MAAA,IAAAkU,oBAAA,GAAA/K,iBAAA,eAAAxH,mBAAA,GAAAyF,IAAA,CAED,SAAA+M,SAAA;QAAA,OAAAxS,mBAAA,GAAAe,IAAA,UAAA0R,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAvM,IAAA,GAAAuM,SAAA,CAAA3T,IAAA;YAAA;cAAA2T,SAAA,CAAA3T,IAAA;cAAA,OACkB,IAAI,CAAC6P,iBAAiB,EAAE;YAAA;cAAA,OAAA8D,SAAA,CAAAzO,MAAA,WAAAyO,SAAA,CAAA5O,IAAA,CAAE8M,QAAQ,CAAC+B,8BAAkB,CAACC,oBAAoB;YAAA;YAAA;cAAA,OAAAF,SAAA,CAAArM,IAAA;UAAA;QAAA,GAAAmM,QAAA;MAAA,CAC3F;MAAA,SAAAK,oBAAA;QAAA,OAAAN,oBAAA,CAAA1V,KAAA,OAAAI,SAAA;MAAA;MAAA,OAAA4V,mBAAA;IAAA;EAAA;IAAAxV,GAAA;IAAAgB,KAAA,EAED,SAAAyU,8BAAsCT,OAA8C,EAAQ;MAAA,IAAAU,aAAA;QAAAC,MAAA;MACxF;MACA,IAAI,CAAC1H,SAAS,CAAC4G,KAAK,CAAoCG,OAAO,EAAE,CAAC,CAAC,CAAC;MAEpE,IAAM7C,SAAS,GAAG,EAAAuD,aAAA,GAAAV,OAAO,CAACY,IAAI,cAAAF,aAAA,uBAAZA,aAAA,CAAc5D,YAAY,KAAI,EAAE;MAClD,IAAM+D,cAAc,GAAG,IAAI/H,GAAG,CAACqE,SAAS,CAAChT,MAAM,CAAC,UAACgO,CAAC;QAAA,OAAK,CAACwI,MAAI,CAAC7G,aAAa,CAAC3B,CAAC,CAAC;MAAA,EAAC,CAAC;MAC/E,IAAI0I,cAAc,CAACC,IAAI,KAAK,CAAC,EAAE;QAC3B;QACA,IAAI,CAAC7D,iBAAiB,CAAC,EAAE,EAAE,EAAE,CAAC;MAClC;MAEA,IAAI,CAACrE,MAAM,CACNmE,oBAAoB,CAAC8D,cAAc,CAAC,CACpC/P,IAAI,CAAC,UAACoM,OAAO;QAAA,OAAKyD,MAAI,CAAC1D,iBAAiB,CAAArQ,kBAAA,CAAKsQ,OAAO,GAAAtQ,kBAAA,CAAOiU,cAAc,EAAE;MAAA,EAAC;IACrF;EAAC;IAAA7V,GAAA;IAAAgB,KAAA,EAED,SAAA+U,eAAuBf,OAA+B,EAAQ;MAAA,IAAAgB,cAAA;QAAAC,MAAA;MAC1D,IAAI,CAAC,IAAI,CAACnH,aAAa,CAAC0E,gCAAkB,CAAC0C,eAAe,CAAC,EAAE;QACzD,OAAO,IAAI,CAACjI,SAAS,CAAC4G,KAAK,CAA8BG,OAAO,EAAE;UAC9DhP,KAAK,EAAE;YAAE8O,OAAO,EAAE;UAAqB;QAC3C,CAAC,CAAC;MACN;MAEA,IAAI,GAAAkB,cAAA,GAAChB,OAAO,CAACY,IAAI,cAAAI,cAAA,eAAZA,cAAA,CAAcG,GAAG,CAACC,UAAU,CAAC,qBAAqB,CAAC,GAAE;QACtD,OAAO,IAAI,CAACnI,SAAS,CAAC4G,KAAK,CAA8BG,OAAO,EAAE;UAC9DhP,KAAK,EAAE;YAAE8O,OAAO,EAAE;UAAwB;QAC9C,CAAC,CAAC;MACN;MAEA,IAAMuB,KAAK,GAAG,SAARA,KAAKA,CAAIpV,CAAU,EAAW;QAChCoQ,OAAO,CAACrL,KAAK,CAAC,iDAAiD,EAAE/E,CAAC,CAAC;QACnEgV,MAAI,CAACK,iBAAiB,CAACrV,CAAC,EAAE+T,OAAO,EAAE,2BAA2B,CAAC;MACnE,CAAC;MAED,IAAI;QACA,IAAI,CAACpH,MAAM,CACN2I,QAAQ,CAACvB,OAAO,CAACY,IAAI,CAACO,GAAG,CAAChU,QAAQ,EAAE,CAAC,SAChC,CAAC,UAAClB,CAAU;UAAA,OAAKoV,KAAK,CAACpV,CAAC,CAAC;QAAA,EAAC,CAC/B6E,IAAI,CAAC,YAAM;UACR,OAAOmQ,MAAI,CAAChI,SAAS,CAAC4G,KAAK,CAAoCG,OAAO,EAAE,CAAC,CAAC,CAAC;QAC/E,CAAC,CAAC;MACV,CAAC,CAAC,OAAO/T,CAAC,EAAE;QACR,OAAOoV,KAAK,CAACpV,CAAC,CAAC;MACnB;IACJ;EAAC;IAAAjB,GAAA;IAAAgB,KAAA,EAED,SAAAwV,WAAmBxB,OAAgC,EAAQ;MAAA,IAAAyB,MAAA;MACvD,IAAIC,KAAK,GAAG,CAAC,CAAC,CAAC;;MAEf,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CACZxQ,KAAyB,EACzByQ,UAA+B,EACqB;QACpDA,UAAU,GAAGA,UAAU,IAAI,CAAC,CAAC;QAC7B,IAAIF,KAAK,GAAG,CAAC,EAAE;UACX,OAAOD,MAAI,CAACxI,SAAS,CAAC+C,IAAI,CACtBC,wCAAuB,CAAC4F,iBAAiB,EAAApX,aAAA;YAErC0G,KAAK,EAAEA,KAAK;YACZ2Q,mBAAmB,EAAE9B,OAAO,CAAC+B;UAAS,GACnCH,UAAU,EAEpB;QACL,CAAC,MAAM;UACH,OAAOH,MAAI,CAACxI,SAAS,CAAC4G,KAAK,CAA+BG,OAAO,EAAAvV,aAAA;YAC7D0G,KAAK,EAAEA;UAAK,GACTyQ,UAAU,EACf;QACN;MACJ,CAAC;MAED,IAAMI,UAAU,GAAG,SAAbA,UAAUA,CAAIC,GAAW,EAAwD;QACnF5F,OAAO,CAACrL,KAAK,CAAC,2CAA2C,EAAEiR,GAAG,CAAC;QAC/D,IAAIP,KAAK,GAAG,CAAC,EAAE;UACX;UACA;UACA,OAAOC,UAAU,CAACO,mCAAkB,CAACC,OAAO,CAAC;QACjD,CAAC,MAAM;UACH,OAAOV,MAAI,CAACxI,SAAS,CAAC4G,KAAK,CAA8BG,OAAO,EAAE;YAC9DhP,KAAK,EAAE;cAAE8O,OAAO,EAAEmC;YAAI;UAC1B,CAAC,CAAC;QACN;MACJ,CAAC;MAED,IAAMG,QAAQ,GAAG,IAAIC,kCAAgB,CAAgB,UAACC,MAAM,EAAK;QAC7D,IAAIA,MAAM,CAACnR,KAAK,KAAK+Q,mCAAkB,CAACK,uBAAuB,IAAIb,KAAK,GAAG,CAAC,EAAE;UAC1EU,QAAQ,CAACI,KAAK,EAAE;UAChB,OAAOR,UAAU,CAAC,oDAAoD,CAAC;QAC3E;QAEA,IAAIM,MAAM,CAACnR,KAAK,KAAK+Q,mCAAkB,CAACK,uBAAuB,EAAE;UAC7DZ,UAAU,CAACW,MAAM,CAACnR,KAAK,CAAC;UACxBuQ,KAAK,EAAE;UACP;QACJ;QAEA,IAAIY,MAAM,CAACnR,KAAK,KAAK+Q,mCAAkB,CAACO,OAAO,IAAI,CAACH,MAAM,CAACI,KAAK,EAAE;UAC9D,OAAOV,UAAU,CAAC,2DAA2D,CAAC;QAClF;QACA,IAAIM,MAAM,CAACnR,KAAK,KAAK+Q,mCAAkB,CAACC,OAAO,EAAE;UAC7CG,MAAM,CAACI,KAAK,GAAG5Q,SAAS,CAAC,CAAC;QAC9B;;QAEAsQ,QAAQ,CAACI,KAAK,EAAE;QAChB,OAAOb,UAAU,CAACW,MAAM,CAACnR,KAAK,EAAEmR,MAAM,CAACI,KAAK,CAAC;MACjD,CAAC,CAAC;MAEF,IAAI,CAAC9J,MAAM,CAAC+J,SAAS,CAACP,QAAQ,CAAC;IACnC;EAAC;IAAApX,GAAA;IAAAgB,KAAA,EAED,SAAA4W,0BAAkC5C,OAAoD,EAAwB;MAAA,IAAA6C,MAAA;MAC1G,IAAMC,MAAM,GAAG,IAAI,CAAClK,MAAM,CAACmK,mBAAmB,CAAC/C,OAAO,CAACY,IAAI,CAACnR,IAAI,CAAC;MAEjE,IAAI,CAAC,IAAI,CAAC+L,yBAAyB,CAACwE,OAAO,CAACY,IAAI,CAACnR,IAAI,CAAC,EAAE;QACpD,OAAO,IAAI,CAACwJ,SAAS,CAAC4G,KAAK,CAA8BG,OAAO,EAAE;UAC9DhP,KAAK,EAAE;YAAE8O,OAAO,EAAE;UAA6C;QACnE,CAAC,CAAC;MACN;MAEA,OAAOgD,MAAM,CAAChS,IAAI,CAAC,UAACkS,GAAG,EAAK;QACxBH,MAAI,CAAC5J,SAAS,CAAC4G,KAAK,CAA6CG,OAAO,EAAE;UAAE8C,MAAM,EAAEE;QAAI,CAAC,CAAC;MAC9F,CAAC,CAAC;IACN;EAAC;IAAAhY,GAAA;IAAAgB,KAAA;MAAA,IAAAiX,iBAAA,GAAA9N,iBAAA,eAAAxH,mBAAA,GAAAyF,IAAA,CAED,SAAA8P,SAA+BlD,OAA0C;QAAA,IAAAmD,MAAA;QAAA,IAAAC,UAAA,EAAAC,UAAA,EAAAC,MAAA,EAAAnJ,MAAA,EAAAoJ,KAAA,EAAAC,KAAA,EAAAxI,QAAA,EAAAP,OAAA,EAAAgJ,SAAA,EAAAX,MAAA;QAAA,OAAAnV,mBAAA,GAAAe,IAAA,UAAAgV,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAA7P,IAAA,GAAA6P,SAAA,CAAAjX,IAAA;YAAA;cAAA,IAChEsT,OAAO,CAACY,IAAI,CAACnR,IAAI;gBAAAkU,SAAA,CAAAjX,IAAA;gBAAA;cAAA;cAAA,OAAAiX,SAAA,CAAA/R,MAAA,WACX,IAAI,CAACqH,SAAS,CAAC4G,KAAK,CAA8BG,OAAO,EAAE;gBAC9DhP,KAAK,EAAE;kBAAE8O,OAAO,EAAE;gBAAuC;cAC7D,CAAC,CAAC;YAAA;cAAA,MAEFE,OAAO,CAACY,IAAI,CAAC2C,KAAK,KAAKzR,SAAS,KAAK,CAACkO,OAAO,CAACY,IAAI,CAAC2C,KAAK,IAAIvD,OAAO,CAACY,IAAI,CAAC2C,KAAK,GAAG,CAAC,CAAC;gBAAAI,SAAA,CAAAjX,IAAA;gBAAA;cAAA;cAAA,OAAAiX,SAAA,CAAA/R,MAAA,WAC5E,IAAI,CAACqH,SAAS,CAAC4G,KAAK,CAA8BG,OAAO,EAAE;gBAC9DhP,KAAK,EAAE;kBAAE8O,OAAO,EAAE;gBAAuC;cAC7D,CAAC,CAAC;YAAA;cAAA,MAIFE,OAAO,CAACY,IAAI,CAACgD,QAAQ,KAAK9R,SAAS;gBAAA6R,SAAA,CAAAjX,IAAA;gBAAA;cAAA;cACnC0W,UAAU,GAAG,IAAI,CAAChE,YAAY,KAAK,IAAI,GAAG,EAAE,GAAG,CAAC,IAAI,CAACA,YAAY,CAAC;cAACuE,SAAA,CAAAjX,IAAA;cAAA;YAAA;cAAA,MAC5DsT,OAAO,CAACY,IAAI,CAACgD,QAAQ,KAAKvJ,gBAAO,CAACC,OAAO;gBAAAqJ,SAAA,CAAAjX,IAAA;gBAAA;cAAA;cAChD0W,UAAU,GAAG,IAAI,CAACxK,MAAM,CAACwF,aAAa,EAAE,CAACjU,MAAM,CAAC,UAACgQ,MAAM;gBAAA,OAAKgJ,MAAI,CAACjJ,kBAAkB,CAACC,MAAM,CAAC;cAAA,EAAC;cAACwJ,SAAA,CAAAjX,IAAA;cAAA;YAAA;cAE7F0W,UAAU,GAAGpD,OAAO,CAACY,IAAI,CAACgD,QAAQ;cAACP,UAAA,GAAAhY,0BAAA,CACd+X,UAAU;cAAAO,SAAA,CAAA7P,IAAA;cAAAuP,UAAA,CAAAxX,CAAA;YAAA;cAAA,KAAAyX,MAAA,GAAAD,UAAA,CAAAvX,CAAA,IAAAC,IAAA;gBAAA4X,SAAA,CAAAjX,IAAA;gBAAA;cAAA;cAApByN,MAAM,GAAAmJ,MAAA,CAAAtX,KAAA;cAAA,IACR,IAAI,CAACkO,kBAAkB,CAACC,MAAM,CAAC;gBAAAwJ,SAAA,CAAAjX,IAAA;gBAAA;cAAA;cAAA,OAAAiX,SAAA,CAAA/R,MAAA,WACzB,IAAI,CAACqH,SAAS,CAAC4G,KAAK,CAA8BG,OAAO,EAAE;gBAC9DhP,KAAK,EAAE;kBAAE8O,OAAO,qCAAA1F,MAAA,CAAqCD,MAAM;gBAAG;cAClE,CAAC,CAAC;YAAA;cAAAwJ,SAAA,CAAAjX,IAAA;cAAA;YAAA;cAAAiX,SAAA,CAAAjX,IAAA;cAAA;YAAA;cAAAiX,SAAA,CAAA7P,IAAA;cAAA6P,SAAA,CAAAvH,EAAA,GAAAuH,SAAA;cAAAN,UAAA,CAAApX,CAAA,CAAA0X,SAAA,CAAAvH,EAAA;YAAA;cAAAuH,SAAA,CAAA7P,IAAA;cAAAuP,UAAA,CAAAlX,CAAA;cAAA,OAAAwX,SAAA,CAAAhP,MAAA;YAAA;cAKR4O,KAAK,GAAGvD,OAAO,CAACY,IAAI,CAAC2C,KAAK,IAAI,CAAC;cAC/BC,KAAK,GAAGxD,OAAO,CAACY,IAAI,CAAC4C,KAAK;cAE5BxI,QAA4B,GAAGlJ,SAAS;cACxC2I,OAA2B,GAAG3I,SAAS;cAAA,MACvCkO,OAAO,CAACY,IAAI,CAACiD,SAAS,KAAK/R,SAAS;gBAAA6R,SAAA,CAAAjX,IAAA;gBAAA;cAAA;cACpCsO,QAAQ,GAAGgF,OAAO,CAACY,IAAI,CAACiD,SAAS,KAAK,IAAI,GAAG/R,SAAS,GAAGkO,OAAO,CAACY,IAAI,CAACiD,SAAS,CAAC1W,QAAQ,EAAE;cAAC,IACtF,IAAI,CAACmO,oBAAoB,CAAC0E,OAAO,CAACY,IAAI,CAACnR,IAAI,GAAAgU,SAAA,GAAEzI,QAAQ,cAAAyI,SAAA,cAAAA,SAAA,GAAI,IAAI,CAAC;gBAAAE,SAAA,CAAAjX,IAAA;gBAAA;cAAA;cAAA,OAAAiX,SAAA,CAAA/R,MAAA,WACxD,IAAI,CAACqH,SAAS,CAAC4G,KAAK,CAA8BG,OAAO,EAAE;gBAC9DhP,KAAK,EAAE;kBAAE8O,OAAO,EAAE;gBAAwC;cAC9D,CAAC,CAAC;YAAA;cAAA6D,SAAA,CAAAjX,IAAA;cAAA;YAAA;cAGN+N,OAAO,GAAGuF,OAAO,CAACY,IAAI,CAACnG,OAAO;cAAC,IAC1B,IAAI,CAACW,mBAAmB,CAAC4E,OAAO,CAACY,IAAI,CAACnR,IAAI,EAAEgL,OAAO,CAAC;gBAAAkJ,SAAA,CAAAjX,IAAA;gBAAA;cAAA;cAAA,OAAAiX,SAAA,CAAA/R,MAAA,WAC9C,IAAI,CAACqH,SAAS,CAAC4G,KAAK,CAA8BG,OAAO,EAAE;gBAC9DhP,KAAK,EAAE;kBAAE8O,OAAO,EAAE;gBAAuC;cAC7D,CAAC,CAAC;YAAA;cAAA,MAMNE,OAAO,CAACY,IAAI,CAACgD,QAAQ,KAAK9R,SAAS,IAAIsR,UAAU,CAACvY,MAAM,KAAK,CAAC;gBAAA8Y,SAAA,CAAAjX,IAAA;gBAAA;cAAA;cAC9D;cACA;cACA;cACA;cACA;cACA;cACA;cACA;cACA;cACA;cACA2P,OAAO,CAACC,IAAI,CACR,wGAAwG,CAC3G;cAACqH,SAAA,CAAAjX,IAAA;cAAA;gBACa;gBACf;gBACA;gBACCsT,OAAO,CAACY,IAAI,CAACiD,SAAS,KAAK/R,SAAS,GAC/B,IAAI,CAAC8G,MAAM,CAACkL,cAAc,CAAC9D,OAAO,CAACY,IAAI,CAACnR,IAAI,EAAEgL,OAAO,EAAE8I,KAAK,EAAE,IAAI,EAAEC,KAAK,CAAC,GAC1E,IAAI,CAAC5K,MAAM,CAACmL,eAAe,CAAC/D,OAAO,CAACY,IAAI,CAACnR,IAAI,EAAEuL,QAAQ,EAAEuI,KAAK,EAAE,IAAI;cAAC;YAAA;cAL3ET,MAAM,GAAAa,SAAA,CAAAlS,IAAA;cAAAkS,SAAA,CAAAjX,IAAA;cAAA;YAAA;cAAAiX,SAAA,CAAAjX,IAAA;cAAA,OAMO,IAAI,CAAC8T,mBAAmB,EAAE;YAAA;cAAA,KAAAmD,SAAA,CAAAlS,IAAA;gBAAAkS,SAAA,CAAAjX,IAAA;gBAAA;cAAA;cAAAiX,SAAA,CAAAjX,IAAA;cAAA,OAG7B+G,OAAO,CAACuQ,GAAG,CACbZ,UAAU,CAACxE,GAAG,CAAC,UAACzE,MAAM;gBAAA,OAClBgJ,MAAI,CAACvK,MAAM,CAACqL,gBAAgB,CAAC9J,MAAM,EAAE6F,OAAO,CAACY,IAAI,CAACnR,IAAI,EAAEgL,OAAO,EAAEO,QAAQ,EAAEuI,KAAK,EAAEC,KAAK,CAAC;cAAA,EAC3F,CACJ;YAAA;cALLV,MAAM,GAAAa,SAAA,CAAAlS,IAAA,CAMJyS,IAAI,CAAC,CAAC;cAAAP,SAAA,CAAAjX,IAAA;cAAA;YAAA;cAAA,MAKJsT,OAAO,CAACY,IAAI,CAACiD,SAAS,KAAK/R,SAAS;gBAAA6R,SAAA,CAAAjX,IAAA;gBAAA;cAAA;cAAAiX,SAAA,CAAAjX,IAAA;cAAA,OACxB+G,OAAO,CAACuQ,GAAG,CACbZ,UAAU,CAACxE,GAAG,CAAC,UAACzE,MAAM;gBAAA,OAClBgJ,MAAI,CAACvK,MAAM,CAACqL,gBAAgB,CAAC9J,MAAM,EAAE6F,OAAO,CAACY,IAAI,CAACnR,IAAI,EAAEgL,OAAO,EAAEO,QAAQ,EAAEuI,KAAK,EAAEC,KAAK,CAAC;cAAA,EAC3F,CACJ;YAAA;cAAAG,SAAA,CAAAQ,EAAA,GAAAR,SAAA,CAAAlS,IAAA;cAAAkS,SAAA,CAAAjX,IAAA;cAAA;YAAA;cAAAiX,SAAA,CAAAjX,IAAA;cAAA,OACK+G,OAAO,CAACuQ,GAAG,CACbZ,UAAU,CAACxE,GAAG,CAAC,UAACzE,MAAM;gBAAA,OAAKgJ,MAAI,CAACvK,MAAM,CAACwL,aAAa,CAACjK,MAAM,EAAE6F,OAAO,CAACY,IAAI,CAACnR,IAAI,EAAEuL,QAAQ,CAAC;cAAA,EAAC,CAC7F;YAAA;cAAA2I,SAAA,CAAAQ,EAAA,GAAAR,SAAA,CAAAlS,IAAA;YAAA;cATXqR,MAAM,GAAAa,SAAA,CAAAQ,EAAA,CAUJD,IAAI,CAAC,CAAC;YAAA;cAGZ,IAAI,CAACjL,SAAS,CAAC4G,KAAK,CAAmCG,OAAO,EAAE;gBAAE8C,MAAM,EAANA;cAAO,CAAC,CAAC;YAAC;YAAA;cAAA,OAAAa,SAAA,CAAA3P,IAAA;UAAA;QAAA,GAAAkP,QAAA;MAAA,CAC/E;MAAA,SAAAmB,iBAAAC,EAAA;QAAA,OAAArB,iBAAA,CAAAzY,KAAA,OAAAI,SAAA;MAAA;MAAA,OAAAyZ,gBAAA;IAAA;EAAA;IAAArZ,GAAA;IAAAgB,KAAA,EAED,SAAAuY,gBAAwBvE,OAA0C,EAAQ;MAAA,IAAAwE,MAAA;MACtE,IAAI,CAACxE,OAAO,CAACY,IAAI,CAACnR,IAAI,EAAE;QACpB,OAAO,IAAI,CAACwJ,SAAS,CAAC4G,KAAK,CAA8BG,OAAO,EAAE;UAC9DhP,KAAK,EAAE;YAAE8O,OAAO,EAAE;UAAuC;QAC7D,CAAC,CAAC;MACN;MAEA,IAAI,CAAC,CAACE,OAAO,CAACY,IAAI,CAAC6D,OAAO,IAAI,CAAC,IAAI,CAACvK,kBAAkB,CAAC8F,OAAO,CAACY,IAAI,CAAC6D,OAAO,CAAC,EAAE;QAC1E,OAAO,IAAI,CAACxL,SAAS,CAAC4G,KAAK,CAA8BG,OAAO,EAAE;UAC9DhP,KAAK,EAAE;YAAE8O,OAAO,qCAAA1F,MAAA,CAAqC4F,OAAO,CAACY,IAAI,CAAC6D,OAAO;UAAG;QAChF,CAAC,CAAC;MACN;MAEA,IAAMC,cAAc,GAAG1E,OAAO,CAACY,IAAI,CAAC+D,KAAK,KAAK7S,SAAS,IAAIkO,OAAO,CAACY,IAAI,CAACgE,eAAe,KAAK9S,SAAS;MACrG,IAAI4S,cAAc,IAAI,CAAC,IAAI,CAAC5K,aAAa,CAAC0E,gCAAkB,CAACqG,uBAAuB,CAAC,EAAE;QACnF,OAAO,IAAI,CAAC5L,SAAS,CAAC4G,KAAK,CAA8BG,OAAO,EAAE;UAC9DhP,KAAK,EAAE;YAAE8O,OAAO,4BAAA1F,MAAA,CAA4BoE,gCAAkB,CAACqG,uBAAuB;UAAG;QAC7F,CAAC,CAAC;MACN;MAEA,IAAMC,aAAa,GAAG9E,OAAO,CAACY,IAAI,CAACmE,kBAAkB,KAAKjT,SAAS;MACnE,IAAIgT,aAAa,IAAI,CAAC,IAAI,CAAChL,aAAa,CAAC0E,gCAAkB,CAACwG,sBAAsB,CAAC,EAAE;QACjF,OAAO,IAAI,CAAC/L,SAAS,CAAC4G,KAAK,CAA8BG,OAAO,EAAE;UAC9DhP,KAAK,EAAE;YAAE8O,OAAO,4BAAA1F,MAAA,CAA4BoE,gCAAkB,CAACwG,sBAAsB;UAAG;QAC5F,CAAC,CAAC;MACN;MAEA,IAAIC,gBAAuE;MAC3E,IAAIjF,OAAO,CAACY,IAAI,CAACiD,SAAS,KAAK/R,SAAS,EAAE;QACtC,IAAI,CAAC,IAAI,CAACiJ,iBAAiB,CAACiF,OAAO,CAACY,IAAI,CAACnR,IAAI,EAAEuQ,OAAO,CAACY,IAAI,CAACiD,SAAS,CAAC,EAAE;UACpE,OAAO,IAAI,CAAC5K,SAAS,CAAC4G,KAAK,CAA8BG,OAAO,EAAE;YAC9DhP,KAAK,EAAE;cAAE8O,OAAO,EAAE;YAAwC;UAC9D,CAAC,CAAC;QACN;QACA,IAAIgF,aAAa,EAAE;UACf,OAAO,IAAI,CAAC7L,SAAS,CAAC4G,KAAK,CAA8BG,OAAO,EAAE;YAC9DhP,KAAK,EAAE;cAAE8O,OAAO,EAAE;YAAmD;UACzE,CAAC,CAAC;QACN;QAEA,IAAI4E,cAAc,EAAE;UAAA,IAAAQ,mBAAA,EAAAC,qBAAA;UAChBF,gBAAgB,GAAG,IAAI,CAACrM,MAAM,CAACwM,gBAAgB,EAAAF,mBAAA,GAC3ClF,OAAO,CAACY,IAAI,CAAC+D,KAAK,cAAAO,mBAAA,cAAAA,mBAAA,GAAI,IAAI,GAAAC,qBAAA,GAC1BnF,OAAO,CAACY,IAAI,CAACgE,eAAe,cAAAO,qBAAA,cAAAA,qBAAA,GAAI,IAAI,EACpCnF,OAAO,CAACY,IAAI,CAACnR,IAAI,EACjBuQ,OAAO,CAACY,IAAI,CAACyE,OAAO,IAAI,CAAC,CAAC,EAC1BrF,OAAO,CAACY,IAAI,CAACiD,SAAS,EACtB7D,OAAO,CAACY,IAAI,CAAC6D,OAAO,CACvB;QACL,CAAC,MAAM;UACHQ,gBAAgB,GAAG,IAAI,CAACrM,MAAM,CAAC0M,SAAS,CACpCtF,OAAO,CAACY,IAAI,CAACnR,IAAI,EACjBuQ,OAAO,CAACY,IAAI,CAACyE,OAAO,IAAI,CAAC,CAAC,EAC1BrF,OAAO,CAACY,IAAI,CAACiD,SAAS,EACtB7D,OAAO,CAACY,IAAI,CAAC6D,OAAO,CACvB;QACL;MACJ,CAAC,MAAM;QACH,IAAMY,OAAO,GAAIrF,OAAO,CAACY,IAAI,CAACyE,OAAO,IAA6B,CAAC,CAAC;QACpE,IAAM5K,OAAO,GAAG4K,OAAO,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC9K,gBAAgB,CAACyF,OAAO,CAACY,IAAI,CAACnR,IAAI,EAAEgL,OAAO,CAAC,EAAE;UACpD,OAAO,IAAI,CAACxB,SAAS,CAAC4G,KAAK,CAA8BG,OAAO,EAAE;YAC9DhP,KAAK,EAAE;cAAE8O,OAAO,EAAE;YAAuC;UAC7D,CAAC,CAAC;QACN;;QAEA;QACA;QACA;;QAEA,IAAMyF,MAA6C,GAAG,CAClDvF,OAAO,CAACY,IAAI,CAACnR,IAAI,EACjB4V,OAAO,EACP,IAAI;QAAE;QACNrF,OAAO,CAACY,IAAI,CAAC6D,OAAO,CACvB;QAED,IAAIC,cAAc,IAAI1E,OAAO,CAACY,IAAI,CAACmE,kBAAkB,EAAE;UAAA,IAAAS,oBAAA,EAAAC,sBAAA;UACnDR,gBAAgB,GAAG,IAAI,CAACrM,MAAM,CAAC8M,sBAAsB,EAAAF,oBAAA,GACjDxF,OAAO,CAACY,IAAI,CAAC+D,KAAK,cAAAa,oBAAA,cAAAA,oBAAA,GAAI,IAAI,GAAAC,sBAAA,GAC1BzF,OAAO,CAACY,IAAI,CAACgE,eAAe,cAAAa,sBAAA,cAAAA,sBAAA,GAAI,IAAI,EACpCzF,OAAO,CAACY,IAAI,CAACmE,kBAAkB,EAC/B/E,OAAO,CAACY,IAAI,CAACnR,IAAI,EACjB4V,OAAO,EACPrF,OAAO,CAACY,IAAI,CAAC6D,OAAO,CACvB;QACL,CAAC,MAAM,IAAIC,cAAc,EAAE;UAAA,IAAAiB,YAAA,EAAAC,oBAAA,EAAAC,sBAAA;UACvBZ,gBAAgB,GAAG,CAAAU,YAAA,OAAI,CAAC/M,MAAM,EAACwM,gBAAgB,CAAA5a,KAAA,CAAAmb,YAAA,IAAAC,oBAAA,GAC3C5F,OAAO,CAACY,IAAI,CAAC+D,KAAK,cAAAiB,oBAAA,cAAAA,oBAAA,GAAI,IAAI,GAAAC,sBAAA,GAC1B7F,OAAO,CAACY,IAAI,CAACgE,eAAe,cAAAiB,sBAAA,cAAAA,sBAAA,GAAI,IAAI,EAAAzL,MAAA,CACjCmL,MAAM,EACZ;QACL,CAAC,MAAM,IAAIvF,OAAO,CAACY,IAAI,CAACmE,kBAAkB,EAAE;UACxCE,gBAAgB,GAAG,IAAI,CAACrM,MAAM,CAACkN,eAAe,CAC1C9F,OAAO,CAACY,IAAI,CAACmE,kBAAkB,EAC/B/E,OAAO,CAACY,IAAI,CAACnR,IAAI,EACjB4V,OAAO,EACPrF,OAAO,CAACY,IAAI,CAAC6D,OAAO,CACvB;QACL,CAAC,MAAM;UAAA,IAAAsB,aAAA;UACHd,gBAAgB,GAAG,CAAAc,aAAA,OAAI,CAACnN,MAAM,EAAC0M,SAAS,CAAA9a,KAAA,CAAAub,aAAA,EAAIR,MAAM,CAAC;QACvD;MACJ;MAEAN,gBAAgB,CACXnU,IAAI,CAAC,UAACkV,SAAS,EAAK;QACjB,OAAOxB,MAAI,CAACvL,SAAS,CAAC4G,KAAK,CAAmCG,OAAO,EAAAvV,aAAA;UACjEga,OAAO,EAAEuB,SAAS,CAAC7L;QAAM,GACrB,SAAS,IAAI6L,SAAS,GACpB;UACIC,QAAQ,EAAED,SAAS,CAACE;QACxB,CAAC,GACD;UACIC,QAAQ,EAAEH,SAAS,CAACI;QACxB,CAAC,EACT;MACN,CAAC,CAAC,SACI,CAAC,UAACna,CAAU,EAAK;QACnBoQ,OAAO,CAACrL,KAAK,CAAC,uBAAuB,EAAE/E,CAAC,CAAC;QACzCuY,MAAI,CAAClD,iBAAiB,CAACrV,CAAC,EAAE+T,OAAO,EAAE,qBAAqB,CAAC;MAC7D,CAAC,CAAC;IACV;EAAC;IAAAhV,GAAA;IAAAgB,KAAA,EAED,SAAAqa,yBAAiCrG,OAAmD,EAAQ;MAAA,IAAAsG,OAAA;MACxF,IAAI,CAACtG,OAAO,CAACY,IAAI,CAACuF,QAAQ,EAAE;QACxB,OAAO,IAAI,CAAClN,SAAS,CAAC4G,KAAK,CAA8BG,OAAO,EAAE;UAC9DhP,KAAK,EAAE;YAAE8O,OAAO,EAAE;UAAqC;QAC3D,CAAC,CAAC;MACN;MAEA,IAAI,CAAC,IAAI,CAAChG,aAAa,CAAC0E,gCAAkB,CAAC+H,yBAAyB,CAAC,EAAE;QACnE,OAAO,IAAI,CAACtN,SAAS,CAAC4G,KAAK,CAA8BG,OAAO,EAAE;UAC9DhP,KAAK,EAAE;YAAE8O,OAAO,EAAE;UAAqB;QAC3C,CAAC,CAAC;MACN;MAEA,IAAI0G,kBAAsD;MAC1D,QAAQxG,OAAO,CAACY,IAAI,CAACjB,MAAM;QACvB,KAAK8G,kDAAwB,CAACC,MAAM;UAChCF,kBAAkB,GAAG,IAAI,CAAC5N,MAAM,CAAC+N,2BAA2B;UAC5D;QACJ,KAAKF,kDAAwB,CAACG,OAAO;UACjCJ,kBAAkB,GAAG,IAAI,CAAC5N,MAAM,CAACiO,4BAA4B;UAC7D;QACJ,KAAKJ,kDAAwB,CAAC3L,IAAI;UAC9B0L,kBAAkB,GAAG,IAAI,CAAC5N,MAAM,CAACkO,yBAAyB;UAC1D;QACJ;UACI,OAAO,IAAI,CAAC7N,SAAS,CAAC4G,KAAK,CAA8BG,OAAO,EAAE;YAC9DhP,KAAK,EAAE;cAAE8O,OAAO,EAAE;YAAuC;UAC7D,CAAC,CAAC;MAAC;MAEX0G,kBAAkB,CACbha,IAAI,CAAC,IAAI,CAACoM,MAAM,EAAEoH,OAAO,CAACY,IAAI,CAACuF,QAAQ,CAAC,CACxCrV,IAAI,CAAC,YAAM;QACR,OAAOwV,OAAI,CAACrN,SAAS,CAAC4G,KAAK,CAAoCG,OAAO,EAAE,CAAC,CAAC,CAAC;MAC/E,CAAC,CAAC,SACI,CAAC,UAAC/T,CAAU,EAAK;QACnBoQ,OAAO,CAACrL,KAAK,CAAC,gCAAgC,EAAE/E,CAAC,CAAC;QAClDqa,OAAI,CAAChF,iBAAiB,CAACrV,CAAC,EAAE+T,OAAO,EAAE,8BAA8B,CAAC;MACtE,CAAC,CAAC;IACV;EAAC;IAAAhV,GAAA;IAAAgB,KAAA;MAAA,IAAA+a,mBAAA,GAAA5R,iBAAA,eAAAxH,mBAAA,GAAAyF,IAAA,CAED,SAAA4T,SAAiChH,OAA6C;QAAA,OAAArS,mBAAA,GAAAe,IAAA,UAAAuY,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAApT,IAAA,GAAAoT,SAAA,CAAAxa,IAAA;YAAA;cAAA,IACrEsT,OAAO,CAACY,IAAI,CAACnR,IAAI;gBAAAyX,SAAA,CAAAxa,IAAA;gBAAA;cAAA;cAClB,IAAI,CAACuM,SAAS,CAAC4G,KAAK,CAA8BG,OAAO,EAAE;gBACvDhP,KAAK,EAAE;kBAAE8O,OAAO,EAAE;gBAAuC;cAC7D,CAAC,CAAC;cAACoH,SAAA,CAAAxa,IAAA;cAAA;YAAA;cAAA,IACKsT,OAAO,CAACY,IAAI,CAACuG,QAAQ;gBAAAD,SAAA,CAAAxa,IAAA;gBAAA;cAAA;cAC7B,IAAI,CAACuM,SAAS,CAAC4G,KAAK,CAA8BG,OAAO,EAAE;gBACvDhP,KAAK,EAAE;kBAAE8O,OAAO,EAAE;gBAA2C;cACjE,CAAC,CAAC;cAACoH,SAAA,CAAAxa,IAAA;cAAA;YAAA;cAAA,MACI,OAAOsT,OAAO,CAACY,IAAI,CAACwG,SAAS,KAAK,SAAS;gBAAAF,SAAA,CAAAxa,IAAA;gBAAA;cAAA;cAClD,IAAI,CAACuM,SAAS,CAAC4G,KAAK,CAA8BG,OAAO,EAAE;gBACvDhP,KAAK,EAAE;kBAAE8O,OAAO,EAAE;gBAA4C;cAClE,CAAC,CAAC;cAACoH,SAAA,CAAAxa,IAAA;cAAA;YAAA;cAAA,IACK,IAAI,CAACwO,oBAAoB,CAAC8E,OAAO,CAACY,IAAI,CAACnR,IAAI,CAAC;gBAAAyX,SAAA,CAAAxa,IAAA;gBAAA;cAAA;cACpD,IAAI,CAACuM,SAAS,CAAC4G,KAAK,CAA8BG,OAAO,EAAE;gBACvDhP,KAAK,EAAE;kBAAE8O,OAAO,EAAE;gBAA4C;cAClE,CAAC,CAAC;cAACoH,SAAA,CAAAxa,IAAA;cAAA;YAAA;cAAAwa,SAAA,CAAApT,IAAA;cAAAoT,SAAA,CAAAxa,IAAA;cAAA,OAGO,IAAI,CAACkM,MAAM,CAACyO,YAAY,CAACrH,OAAO,CAACY,IAAI,CAACnR,IAAI,EAAEuQ,OAAO,CAACY,IAAI,CAACwG,SAAS,EAAEpH,OAAO,CAACY,IAAI,CAACuG,QAAQ,CAAC;YAAA;cAChG,IAAI,CAAClO,SAAS,CAAC4G,KAAK,CAAsCG,OAAO,EAAE,CAAC,CAAC,CAAC;cAACkH,SAAA,CAAAxa,IAAA;cAAA;YAAA;cAAAwa,SAAA,CAAApT,IAAA;cAAAoT,SAAA,CAAA9K,EAAA,GAAA8K,SAAA;cAEvE7K,OAAO,CAACrL,KAAK,CAAC,+BAA+B,EAAAkW,SAAA,CAAA9K,EAAA,CAAI;cACjD,IAAI,CAACkF,iBAAiB,CAAA4F,SAAA,CAAA9K,EAAA,EAAI4D,OAAO,EAAE,qBAAqB,CAAC;YAAC;YAAA;cAAA,OAAAkH,SAAA,CAAAlT,IAAA;UAAA;QAAA,GAAAgT,QAAA;MAAA,CAGrE;MAAA,SAAAM,mBAAAC,GAAA;QAAA,OAAAR,mBAAA,CAAAvc,KAAA,OAAAI,SAAA;MAAA;MAAA,OAAA0c,kBAAA;IAAA;EAAA;IAAAtc,GAAA;IAAAgB,KAAA;MAAA,IAAAwb,gBAAA,GAAArS,iBAAA,eAAAxH,mBAAA,GAAAyF,IAAA,CAED,SAAAqU,SAA8BC,WAAwC,EAAEC,aAA0B;QAAA,IAAAC,yBAAA,EAAAC,iBAAA,EAAAC,cAAA,EAAAC,SAAA,EAAAC,KAAA,EAAAC,MAAA;QAAA,OAAAta,mBAAA,GAAAe,IAAA,UAAAwZ,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAArU,IAAA,GAAAqU,SAAA,CAAAzb,IAAA;YAAA;cAAAyb,SAAA,CAAArU,IAAA;cAAAqU,SAAA,CAAAzb,IAAA;cAAA,OAEpF,IAAI,CAACuM,SAAS,CAAC+C,IAAI,CACrBC,wCAAuB,CAACmM,iBAAiB,EACzCT,aAAa,CAAmC;cAAA,CACnD;YAAA;cAED;cAAAC,yBAAA;cAAAC,iBAAA;cAAAM,SAAA,CAAArU,IAAA;cAAAiU,SAAA,GAAAjQ,cAAA,CAC2B4P,WAAW;YAAA;cAAAS,SAAA,CAAAzb,IAAA;cAAA,OAAAqb,SAAA,CAAArb,IAAA;YAAA;cAAA,MAAAkb,yBAAA,KAAAI,KAAA,GAAAG,SAAA,CAAA1W,IAAA,EAAA1F,IAAA;gBAAAoc,SAAA,CAAAzb,IAAA;gBAAA;cAAA;cAArBub,MAAM,GAAAD,KAAA,CAAAhc,KAAA;cAAAmc,SAAA,CAAAzb,IAAA;cAAA,OACb,IAAI,CAACuM,SAAS,CAAC+C,IAAI,CACrBC,wCAAuB,CAACmM,iBAAiB,EACzCH,MAAM,CAAmC;cAAA,CAC5C;YAAA;cAAAL,yBAAA;cAAAO,SAAA,CAAAzb,IAAA;cAAA;YAAA;cAAAyb,SAAA,CAAAzb,IAAA;cAAA;YAAA;cAAAyb,SAAA,CAAArU,IAAA;cAAAqU,SAAA,CAAA/L,EAAA,GAAA+L,SAAA;cAAAN,iBAAA;cAAAC,cAAA,GAAAK,SAAA,CAAA/L,EAAA;YAAA;cAAA+L,SAAA,CAAArU,IAAA;cAAAqU,SAAA,CAAArU,IAAA;cAAA,MAAA8T,yBAAA,IAAAG,SAAA;gBAAAI,SAAA,CAAAzb,IAAA;gBAAA;cAAA;cAAAyb,SAAA,CAAAzb,IAAA;cAAA,OAAAqb,SAAA;YAAA;cAAAI,SAAA,CAAArU,IAAA;cAAA,KAAA+T,iBAAA;gBAAAM,SAAA,CAAAzb,IAAA;gBAAA;cAAA;cAAA,MAAAob,cAAA;YAAA;cAAA,OAAAK,SAAA,CAAAxT,MAAA;YAAA;cAAA,OAAAwT,SAAA,CAAAxT,MAAA;YAAA;cAAAwT,SAAA,CAAAzb,IAAA;cAAA;YAAA;cAAAyb,SAAA,CAAArU,IAAA;cAAAqU,SAAA,CAAAhE,EAAA,GAAAgE,SAAA;cAGL9L,OAAO,CAACrL,KAAK,CAAC,gCAAgC,EAAAmX,SAAA,CAAAhE,EAAA,CAAI;YAAC;YAAA;cAAA,OAAAgE,SAAA,CAAAnU,IAAA;UAAA;QAAA,GAAAyT,QAAA;MAAA,CAE1D;MAAA,SAAAY,gBAAAC,GAAA,EAAAC,GAAA;QAAA,OAAAf,gBAAA,CAAAhd,KAAA,OAAAI,SAAA;MAAA;MAAA,OAAAyd,eAAA;IAAA;EAAA;IAAArd,GAAA;IAAAgB,KAAA;MAAA,IAAAwc,uBAAA,GAAArT,iBAAA,eAAAxH,mBAAA,GAAAyF,IAAA,CAED,SAAAqV,SAAqCzI,OAAiC;QAAA,IAAA0H,WAAA,EAAAgB,qBAAA,EAAA3c,IAAA,EAAAC,KAAA;QAAA,OAAA2B,mBAAA,GAAAe,IAAA,UAAAia,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAA9U,IAAA,GAAA8U,SAAA,CAAAlc,IAAA;YAAA;cAAA,IAC7D,IAAI,CAACoN,aAAa,CAAC0E,gCAAkB,CAACqK,kBAAkB,CAAC;gBAAAD,SAAA,CAAAlc,IAAA;gBAAA;cAAA;cAC1D,IAAI,CAACuM,SAAS,CAAC4G,KAAK,CAA8BG,OAAO,EAAE;gBACvDhP,KAAK,EAAE;kBAAE8O,OAAO,EAAE;gBAAqB;cAC3C,CAAC,CAAC;cAAC8I,SAAA,CAAAlc,IAAA;cAAA;YAAA;cAAA,KACI,IAAI,CAACgb,WAAW;gBAAAkB,SAAA,CAAAlc,IAAA;gBAAA;cAAA;cACvB;cACA,IAAI,CAACuM,SAAS,CAAC4G,KAAK,CAAoCG,OAAO,EAAE,CAAC,CAAC,CAAC;cAAC4I,SAAA,CAAAlc,IAAA;cAAA;YAAA;cAAAkc,SAAA,CAAA9U,IAAA;cAG3D4T,WAAW,GAAG,IAAI,CAAC9O,MAAM,CAACkQ,cAAc,EAAE,EAEhD;cACA;cAAAF,SAAA,CAAAlc,IAAA;cAAA,OAC8Bgb,WAAW,CAAChb,IAAI,EAAE;YAAA;cAAAgc,qBAAA,GAAAE,SAAA,CAAAnX,IAAA;cAAxC1F,IAAI,GAAA2c,qBAAA,CAAJ3c,IAAI;cAAEC,KAAK,GAAA0c,qBAAA,CAAL1c,KAAK;cAAA,KACfD,IAAI;gBAAA6c,SAAA,CAAAlc,IAAA;gBAAA;cAAA;cAAA,MAAQ,IAAI0E,KAAK,CAAC,4CAA4C,CAAC;YAAA;cACvE,IAAI,CAAC6H,SAAS,CAAC4G,KAAK,CAAoCG,OAAO,EAAE,CAAC,CAAC,CAAC;;cAEpE;cACA,IAAI,CAACqI,eAAe,CAACX,WAAW,EAAE1b,KAAK,CAAC;cACxC,IAAI,CAAC0b,WAAW,GAAGA,WAAW;cAACkB,SAAA,CAAAlc,IAAA;cAAA;YAAA;cAAAkc,SAAA,CAAA9U,IAAA;cAAA8U,SAAA,CAAAxM,EAAA,GAAAwM,SAAA;cAE/BvM,OAAO,CAACrL,KAAK,CAAC,yCAAyC,EAAA4X,SAAA,CAAAxM,EAAA,CAAI;cAC3D,IAAI,CAACnD,SAAS,CAAC4G,KAAK,CAA8BG,OAAO,EAAE;gBACvDhP,KAAK,EAAE;kBAAE8O,OAAO,EAAE;gBAA6B;cACnD,CAAC,CAAC;YAAC;YAAA;cAAA,OAAA8I,SAAA,CAAA5U,IAAA;UAAA;QAAA,GAAAyU,QAAA;MAAA,CAGd;MAAA,SAAAM,uBAAAC,GAAA;QAAA,OAAAR,uBAAA,CAAAhe,KAAA,OAAAI,SAAA;MAAA;MAAA,OAAAme,sBAAA;IAAA;EAAA;IAAA/d,GAAA;IAAAgB,KAAA;MAAA,IAAAid,yBAAA,GAAA9T,iBAAA,eAAAxH,mBAAA,GAAAyF,IAAA,CAED,SAAA8V,SAAuClJ,OAAmC;QAAA,OAAArS,mBAAA,GAAAe,IAAA,UAAAya,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAtV,IAAA,GAAAsV,SAAA,CAAA1c,IAAA;YAAA;cAAA,IACjE,IAAI,CAACoN,aAAa,CAAC0E,gCAAkB,CAACqK,kBAAkB,CAAC;gBAAAO,SAAA,CAAA1c,IAAA;gBAAA;cAAA;cAC1D,IAAI,CAACuM,SAAS,CAAC4G,KAAK,CAA8BG,OAAO,EAAE;gBACvDhP,KAAK,EAAE;kBAAE8O,OAAO,EAAE;gBAAqB;cAC3C,CAAC,CAAC;cAACsJ,SAAA,CAAA1c,IAAA;cAAA;YAAA;cAAA,IACK,IAAI,CAACgb,WAAW;gBAAA0B,SAAA,CAAA1c,IAAA;gBAAA;cAAA;cACxB;cACA,IAAI,CAACuM,SAAS,CAAC4G,KAAK,CAAoCG,OAAO,EAAE,CAAC,CAAC,CAAC;cAACoJ,SAAA,CAAA1c,IAAA;cAAA;YAAA;cAAA0c,SAAA,CAAA1c,IAAA;cAAA,OAG/D,IAAI,CAACgb,WAAW,UAAO,CAAC5V,SAAS,CAAC;YAAA;cACxC,IAAI,CAAC4V,WAAW,GAAG,IAAI;cACvB,IAAI,CAACzO,SAAS,CAAC4G,KAAK,CAAoCG,OAAO,EAAE,CAAC,CAAC,CAAC;YAAC;YAAA;cAAA,OAAAoJ,SAAA,CAAApV,IAAA;UAAA;QAAA,GAAAkV,QAAA;MAAA,CAE5E;MAAA,SAAAG,yBAAAC,GAAA;QAAA,OAAAL,yBAAA,CAAAze,KAAA,OAAAI,SAAA;MAAA;MAAA,OAAAye,wBAAA;IAAA;EAAA;IAAAre,GAAA;IAAAgB,KAAA;MAAA,IAAAud,oBAAA,GAAApU,iBAAA,eAAAxH,mBAAA,GAAAyF,IAAA,CAED,SAAAoW,SAAkCxJ,OAA8C;QAAA,IAAAyJ,OAAA;QAAA,IAAA7Y,MAAA,EAAA8Y,KAAA;QAAA,OAAA/b,mBAAA,GAAAe,IAAA,UAAAib,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAA9V,IAAA,GAAA8V,SAAA,CAAAld,IAAA;YAAA;cAAA,IACvEsT,OAAO,CAACY,IAAI,CAACqF,QAAQ;gBAAA2D,SAAA,CAAAld,IAAA;gBAAA;cAAA;cAAA,OAAAkd,SAAA,CAAAhY,MAAA,WACf,IAAI,CAACqH,SAAS,CAAC4G,KAAK,CAA8BG,OAAO,EAAE;gBAC9DhP,KAAK,EAAE;kBAAE8O,OAAO,EAAE;gBAAqC;cAC3D,CAAC,CAAC;YAAA;cAAA,MAGFE,OAAO,CAACY,IAAI,CAAC2C,KAAK,KAAKzR,SAAS,IAAIkO,OAAO,CAACY,IAAI,CAAC2C,KAAK,GAAG,CAAC;gBAAAqG,SAAA,CAAAld,IAAA;gBAAA;cAAA;cAAA,OAAAkd,SAAA,CAAAhY,MAAA,WACnD,IAAI,CAACqH,SAAS,CAAC4G,KAAK,CAA8BG,OAAO,EAAE;gBAC9DhP,KAAK,EAAE;kBAAE8O,OAAO,EAAE;gBAAuC;cAC7D,CAAC,CAAC;YAAA;cAAA,MAGFE,OAAO,CAACY,IAAI,CAAC6D,OAAO,KAAK3S,SAAS,IAAI,CAAC,IAAI,CAACoI,kBAAkB,CAAC8F,OAAO,CAACY,IAAI,CAAC6D,OAAO,CAAC;gBAAAmF,SAAA,CAAAld,IAAA;gBAAA;cAAA;cAAA,OAAAkd,SAAA,CAAAhY,MAAA,WAC7E,IAAI,CAACqH,SAAS,CAAC4G,KAAK,CAA8BG,OAAO,EAAE;gBAC9DhP,KAAK,EAAE;kBAAE8O,OAAO,qCAAA1F,MAAA,CAAqC4F,OAAO,CAACY,IAAI,CAAC6D,OAAO;gBAAG;cAChF,CAAC,CAAC;YAAA;cAAAmF,SAAA,CAAA9V,IAAA;cAAA8V,SAAA,CAAAld,IAAA;cAAA,OAImB,IAAI,CAACkM,MAAM,CAACiR,kBAAkB,CAC/C7J,OAAO,CAACY,IAAI,CAACqF,QAAQ,EACrBjG,OAAO,CAACY,IAAI,CAAC6D,OAAO,EACpBzE,OAAO,CAACY,IAAI,CAACkJ,QAAQ,EACrB9J,OAAO,CAACY,IAAI,CAACmJ,UAAU,EACvB/J,OAAO,CAACY,IAAI,CAACtT,IAAI,EACjB0S,OAAO,CAACY,IAAI,CAACoJ,EAAE,EACfhK,OAAO,CAACY,IAAI,CAAC2C,KAAK,EAClBvD,OAAO,CAACY,IAAI,CAACqJ,SAAS,CACzB;YAAA;cATKrZ,MAAM,GAAAgZ,SAAA,CAAAnY,IAAA;cAWZ;cACMiY,KAAK,GAAG9Y,MAAM,CAAC8Y,KAAK,CAACvf,MAAM,CAAC,UAAC8B,CAAC,EAAK;gBACrC,IAAIA,CAAC,CAAC4X,SAAS,KAAK/R,SAAS,EAAE;kBAC3B,OAAO2X,OAAI,CAACnO,oBAAoB,CAACrP,CAAC,CAACwD,IAAI,EAAExD,CAAC,CAAC4X,SAAS,CAAC;gBACzD,CAAC,MAAM;kBACH,OAAO4F,OAAI,CAACrO,mBAAmB,CAACnP,CAAC,CAACwD,IAAI,EAAGxD,CAAC,CAACoZ,OAAO,CAA0B,SAAS,CAAC,CAAC;gBAC3F;cACJ,CAAC,CAAC;cAAA,OAAAuE,SAAA,CAAAhY,MAAA,WAEK,IAAI,CAACqH,SAAS,CAAC4G,KAAK,CAAuCG,OAAO,EAAE;gBACvE0J,KAAK,EAALA,KAAK;gBACLQ,UAAU,EAAEtZ,MAAM,CAACuZ,SAAS;gBAC5BC,UAAU,EAAExZ,MAAM,CAACyZ;cACvB,CAAC,CAAC;YAAA;cAAAT,SAAA,CAAA9V,IAAA;cAAA8V,SAAA,CAAAxN,EAAA,GAAAwN,SAAA;cAEFvN,OAAO,CAACrL,KAAK,CAAC,6BAA6B,EAAA4Y,SAAA,CAAAxN,EAAA,CAAI;cAC/C,IAAI,CAACkF,iBAAiB,CAAAsI,SAAA,CAAAxN,EAAA,EAAI4D,OAAO,EAAE,0CAA0C,CAAC;YAAC;YAAA;cAAA,OAAA4J,SAAA,CAAA5V,IAAA;UAAA;QAAA,GAAAwV,QAAA;MAAA,CAEtF;MAAA,SAAAc,oBAAAC,GAAA;QAAA,OAAAhB,oBAAA,CAAA/e,KAAA,OAAAI,SAAA;MAAA;MAAA,OAAA0f,mBAAA;IAAA;EAAA;IAAAtf,GAAA;IAAAgB,KAAA;MAAA,IAAAwe,0BAAA,GAAArV,iBAAA,eAAAxH,mBAAA,GAAAyF,IAAA,CAED,SAAAqX,SAAwCzK,OAAoD;QAAA,IAAApP,MAAA;QAAA,OAAAjD,mBAAA,GAAAe,IAAA,UAAAgc,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAA7W,IAAA,GAAA6W,SAAA,CAAAje,IAAA;YAAA;cAAA,IACnF,IAAI,CAACoN,aAAa,CAAC0E,gCAAkB,CAACoM,0BAA0B,CAAC;gBAAAD,SAAA,CAAAje,IAAA;gBAAA;cAAA;cAAA,OAAAie,SAAA,CAAA/Y,MAAA,WAC3D,IAAI,CAACqH,SAAS,CAAC4G,KAAK,CAA8BG,OAAO,EAAE;gBAC9DhP,KAAK,EAAE;kBAAE8O,OAAO,EAAE;gBAAqB;cAC3C,CAAC,CAAC;YAAA;cAAA,MAGF,OAAOE,OAAO,CAACY,IAAI,CAACiK,WAAW,KAAK,QAAQ;gBAAAF,SAAA,CAAAje,IAAA;gBAAA;cAAA;cAAA,OAAAie,SAAA,CAAA/Y,MAAA,WACrC,IAAI,CAACqH,SAAS,CAAC4G,KAAK,CAA8BG,OAAO,EAAE;gBAC9DhP,KAAK,EAAE;kBAAE8O,OAAO,EAAE;gBAAwC;cAC9D,CAAC,CAAC;YAAA;cAAA,MAGFE,OAAO,CAACY,IAAI,CAAC2C,KAAK,KAAKzR,SAAS,IAAIkO,OAAO,CAACY,IAAI,CAAC2C,KAAK,GAAG,CAAC;gBAAAoH,SAAA,CAAAje,IAAA;gBAAA;cAAA;cAAA,OAAAie,SAAA,CAAA/Y,MAAA,WACnD,IAAI,CAACqH,SAAS,CAAC4G,KAAK,CAA8BG,OAAO,EAAE;gBAC9DhP,KAAK,EAAE;kBAAE8O,OAAO,EAAE;gBAAuC;cAC7D,CAAC,CAAC;YAAA;cAAA6K,SAAA,CAAA7W,IAAA;cAAA6W,SAAA,CAAAje,IAAA;cAAA,OAImB,IAAI,CAACkM,MAAM,CAACkS,mBAAmB,CAAC9K,OAAO,CAACY,IAAI,CAACiK,WAAW,EAAE7K,OAAO,CAACY,IAAI,CAAC2C,KAAK,CAAC;YAAA;cAA5F3S,MAAM,GAAA+Z,SAAA,CAAAlZ,IAAA;cAAA,OAAAkZ,SAAA,CAAA/Y,MAAA,WAEL,IAAI,CAACqH,SAAS,CAAC4G,KAAK,CAA6CG,OAAO,EAAE;gBAC7E+K,OAAO,EAAEna,MAAM,CAACma,OAAO;gBACvBC,OAAO,EAAEpa,MAAM,CAACoa,OAAO,CAACpM,GAAG,CAAC,UAACzG,CAAC;kBAAA,OAAM;oBAChC8S,OAAO,EAAE9S,CAAC,CAAC+S,MAAM;oBACjBC,YAAY,EAAEhT,CAAC,CAACnF,WAAW;oBAC3BoY,UAAU,EAAEjT,CAAC,CAACkT;kBAClB,CAAC;gBAAA,CAAC;cACN,CAAC,CAAC;YAAA;cAAAV,SAAA,CAAA7W,IAAA;cAAA6W,SAAA,CAAAvO,EAAA,GAAAuO,SAAA;cAEFtO,OAAO,CAACrL,KAAK,CAAC,uCAAuC,EAAA2Z,SAAA,CAAAvO,EAAA,CAAI;cACzD,IAAI,CAACkF,iBAAiB,CAAAqJ,SAAA,CAAAvO,EAAA,EAAI4D,OAAO,EAAE,wDAAwD,CAAC;YAAC;YAAA;cAAA,OAAA2K,SAAA,CAAA3W,IAAA;UAAA;QAAA,GAAAyW,QAAA;MAAA,CAEpG;MAAA,SAAAa,0BAAAC,GAAA;QAAA,OAAAf,0BAAA,CAAAhgB,KAAA,OAAAI,SAAA;MAAA;MAAA,OAAA0gB,yBAAA;IAAA;EAAA;IAAAtgB,GAAA;IAAAgB,KAAA;MAAA,IAAAwf,qBAAA,GAAArW,iBAAA,eAAAxH,mBAAA,GAAAyF,IAAA,CAED,SAAAqY,UAAmCzL,OAAqD;QAAA,IAAApP,MAAA;QAAA,OAAAjD,mBAAA,GAAAe,IAAA,UAAAgd,WAAAC,UAAA;UAAA,kBAAAA,UAAA,CAAA7X,IAAA,GAAA6X,UAAA,CAAAjf,IAAA;YAAA;cAAA,IAC/E,IAAI,CAACoN,aAAa,CAAC0E,gCAAkB,CAACoN,iBAAiB,CAAC;gBAAAD,UAAA,CAAAjf,IAAA;gBAAA;cAAA;cAAA,OAAAif,UAAA,CAAA/Z,MAAA,WAClD,IAAI,CAACqH,SAAS,CAAC4G,KAAK,CAA8BG,OAAO,EAAE;gBAC9DhP,KAAK,EAAE;kBAAE8O,OAAO,EAAE;gBAAqB;cAC3C,CAAC,CAAC;YAAA;cAAA6L,UAAA,CAAA7X,IAAA;cAAA6X,UAAA,CAAAjf,IAAA;cAAA,OAImB,IAAI,CAACkM,MAAM,CAACiT,cAAc,EAAE;YAAA;cAA3Cjb,MAAM,GAAA+a,UAAA,CAAAla,IAAA;cAAA,OAAAka,UAAA,CAAA/Z,MAAA,WAEL,IAAI,CAACqH,SAAS,CAAC4G,KAAK,CAA8CG,OAAO,EAAEpP,MAAM,CAAC;YAAA;cAAA+a,UAAA,CAAA7X,IAAA;cAAA6X,UAAA,CAAAvP,EAAA,GAAAuP,UAAA;cAEzFtP,OAAO,CAACrL,KAAK,CAAC,6CAA6C,EAAA2a,UAAA,CAAAvP,EAAA,CAAI;cAC/D,IAAI,CAACkF,iBAAiB,CAAAqK,UAAA,CAAAvP,EAAA,EAAI4D,OAAO,EAAE,wDAAwD,CAAC;YAAC;YAAA;cAAA,OAAA2L,UAAA,CAAA3X,IAAA;UAAA;QAAA,GAAAyX,SAAA;MAAA,CAEpG;MAAA,SAAAK,qBAAAC,GAAA;QAAA,OAAAP,qBAAA,CAAAhhB,KAAA,OAAAI,SAAA;MAAA;MAAA,OAAAkhB,oBAAA;IAAA;EAAA;IAAA9gB,GAAA;IAAAgB,KAAA;MAAA,IAAAggB,iBAAA,GAAA7W,iBAAA,eAAAxH,mBAAA,GAAAyF,IAAA,CAED,SAAA6Y,UAA+BjM,OAAiD;QAAA,IAAApP,MAAA;QAAA,OAAAjD,mBAAA,GAAAe,IAAA,UAAAwd,WAAAC,UAAA;UAAA,kBAAAA,UAAA,CAAArY,IAAA,GAAAqY,UAAA,CAAAzf,IAAA;YAAA;cAAA,IACvE,IAAI,CAACoN,aAAa,CAAC0E,gCAAkB,CAACoN,iBAAiB,CAAC;gBAAAO,UAAA,CAAAzf,IAAA;gBAAA;cAAA;cAAA,OAAAyf,UAAA,CAAAva,MAAA,WAClD,IAAI,CAACqH,SAAS,CAAC4G,KAAK,CAA8BG,OAAO,EAAE;gBAC9DhP,KAAK,EAAE;kBAAE8O,OAAO,EAAE;gBAAqB;cAC3C,CAAC,CAAC;YAAA;cAAAqM,UAAA,CAAArY,IAAA;cAAAqY,UAAA,CAAAzf,IAAA;cAAA,OAImB,IAAI,CAACkM,MAAM,CAACwT,UAAU,CAACpM,OAAO,CAACY,IAAI,CAACyL,IAAI,CAAC;YAAA;cAAxDzb,MAAM,GAAAub,UAAA,CAAA1a,IAAA;cAAA,OAAA0a,UAAA,CAAAva,MAAA,WAEL,IAAI,CAACqH,SAAS,CAAC4G,KAAK,CAA0CG,OAAO,EAAE;gBAC1EsM,WAAW,EAAE1b,MAAM,CAAC2b;cACxB,CAAC,CAAC;YAAA;cAAAJ,UAAA,CAAArY,IAAA;cAAAqY,UAAA,CAAA/P,EAAA,GAAA+P,UAAA;cAEF9P,OAAO,CAACrL,KAAK,CAAC,8BAA8B,EAAAmb,UAAA,CAAA/P,EAAA,CAAI;cAChD,IAAI,CAACkF,iBAAiB,CAAA6K,UAAA,CAAA/P,EAAA,EAAI4D,OAAO,EAAE,yCAAyC,CAAC;YAAC;YAAA;cAAA,OAAAmM,UAAA,CAAAnY,IAAA;UAAA;QAAA,GAAAiY,SAAA;MAAA,CAErF;MAAA,SAAAO,iBAAAC,IAAA;QAAA,OAAAT,iBAAA,CAAAxhB,KAAA,OAAAI,SAAA;MAAA;MAAA,OAAA4hB,gBAAA;IAAA;EAAA;IAAAxhB,GAAA;IAAAgB,KAAA;MAAA,IAAA0gB,mBAAA,GAAAvX,iBAAA,eAAAxH,mBAAA,GAAAyF,IAAA,CAED,SAAAuZ,UAAiC3M,OAAmD;QAAA,IAAApP,MAAA;QAAA,OAAAjD,mBAAA,GAAAe,IAAA,UAAAke,WAAAC,UAAA;UAAA,kBAAAA,UAAA,CAAA/Y,IAAA,GAAA+Y,UAAA,CAAAngB,IAAA;YAAA;cAAA,IAC3E,IAAI,CAACoN,aAAa,CAAC0E,gCAAkB,CAACsO,mBAAmB,CAAC;gBAAAD,UAAA,CAAAngB,IAAA;gBAAA;cAAA;cAAA,OAAAmgB,UAAA,CAAAjb,MAAA,WACpD,IAAI,CAACqH,SAAS,CAAC4G,KAAK,CAA8BG,OAAO,EAAE;gBAC9DhP,KAAK,EAAE;kBAAE8O,OAAO,EAAE;gBAAqB;cAC3C,CAAC,CAAC;YAAA;cAAA+M,UAAA,CAAA/Y,IAAA;cAAA+Y,UAAA,CAAAngB,IAAA;cAAA,OAImB,IAAI,CAACkM,MAAM,CAACmU,YAAY,CAAC/M,OAAO,CAACY,IAAI,CAAC0L,WAAW,CAAC;YAAA;cAAjE1b,MAAM,GAAAic,UAAA,CAAApb,IAAA;cAAA,OAAAob,UAAA,CAAAjb,MAAA,WAEL,IAAI,CAACqH,SAAS,CAAC4G,KAAK,CAA4CG,OAAO,EAAE;gBAAEqM,IAAI,EAAEzb,MAAM,CAACyb;cAAK,CAAC,CAAC;YAAA;cAAAQ,UAAA,CAAA/Y,IAAA;cAAA+Y,UAAA,CAAAzQ,EAAA,GAAAyQ,UAAA;cAEtGxQ,OAAO,CAACrL,KAAK,CAAC,gCAAgC,EAAA6b,UAAA,CAAAzQ,EAAA,CAAI;cAClD,IAAI,CAACkF,iBAAiB,CAAAuL,UAAA,CAAAzQ,EAAA,EAAI4D,OAAO,EAAE,2CAA2C,CAAC;YAAC;YAAA;cAAA,OAAA6M,UAAA,CAAA7Y,IAAA;UAAA;QAAA,GAAA2Y,SAAA;MAAA,CAEvF;MAAA,SAAAK,mBAAAC,IAAA;QAAA,OAAAP,mBAAA,CAAAliB,KAAA,OAAAI,SAAA;MAAA;MAAA,OAAAoiB,kBAAA;IAAA;EAAA;IAAAhiB,GAAA;IAAAgB,KAAA,EAED,SAAAsV,kBAA0BrV,CAAU,EAAE+T,OAA0B,EAAEF,OAAe,EAAQ;MACrF,IAAMc,IAAI,GAAG,IAAI,CAAChI,MAAM,CAACsU,YAAY,CAACjhB,CAAC,CAAC;MACxC,IAAI,CAACgN,SAAS,CAAC4G,KAAK,CAA8BG,OAAO,EAAE;QACvDhP,KAAK,EAAAvG,aAAA;UACDqV,OAAO,EAAPA;QAAO,GACJc,IAAI;MAEf,CAAC,CAAC;IACN;EAAC;IAAA5V,GAAA;IAAAgB,KAAA,EAED,SAAA0N,cAAsB2F,EAAkC,EAAwB;MAC5E,IAAI,IAAI,CAAC3D,SAAS,EAAE;MACpB,IAAMyR,QAAQ,GAAG,IAAIC,WAAW,WAAAhT,MAAA,CAAWiF,EAAE,CAACgO,MAAM,CAAC1N,MAAM,GAAI;QAC3D0N,MAAM,EAAEhO,EAAE,CAACgO,MAAM;QACjBC,UAAU,EAAE;MAChB,CAAC,CAAC;MACF,IAAI,CAAC5Q,IAAI,WAAAtC,MAAA,CAAWiF,EAAE,CAACgO,MAAM,CAAC1N,MAAM,GAAIwN,QAAQ,CAAC;MACjD,IAAI,CAACA,QAAQ,CAACI,gBAAgB,EAAE;QAC5B,QAAQlO,EAAE,CAACgO,MAAM,CAAC1N,MAAM;UACpB,KAAK6N,0CAAyB,CAACC,aAAa;YACxC,OAAO,IAAI,CAAC/N,yBAAyB,CAA8BL,EAAE,CAACgO,MAAM,CAAC;UACjF,KAAKG,0CAAyB,CAACtR,oBAAoB;YAC/C,OAAO,IAAI,CAAC6D,aAAa,CAAkCV,EAAE,CAACgO,MAAM,CAAC;UACzE,KAAKG,0CAAyB,CAACE,SAAS;YACpC,OAAO,IAAI,CAACnJ,eAAe,CAAoClF,EAAE,CAACgO,MAAM,CAAC;UAC7E,KAAKG,0CAAyB,CAACG,YAAY;YACvC,OAAO,IAAI,CAACrG,kBAAkB,CAAuCjI,EAAE,CAACgO,MAAM,CAAC;UACnF,KAAKG,0CAAyB,CAACI,oBAAoB;YAC/C,OAAO,IAAI,CAACpM,UAAU,CAA0BnC,EAAE,CAACgO,MAAM,CAAC;UAC9D,KAAKG,0CAAyB,CAACtM,eAAe;YAC1C,OAAO,IAAI,CAACH,cAAc,CAAyB1B,EAAE,CAACgO,MAAM,CAAC;UACjE,KAAKG,0CAAyB,CAACK,8BAA8B;YACzD,OAAO,IAAI,CAACpN,6BAA6B,CAAwCpB,EAAE,CAACgO,MAAM,CAAC;UAC/F,KAAKG,0CAAyB,CAACM,iBAAiB;YAC5C,OAAO,IAAI,CAACzJ,gBAAgB,CAAoChF,EAAE,CAACgO,MAAM,CAAC;UAC9E,KAAKG,0CAAyB,CAACO,gBAAgB;YAC3C,OAAO,IAAI,CAAChF,sBAAsB,CAA2B1J,EAAE,CAACgO,MAAM,CAAC;UAC3E,KAAKG,0CAAyB,CAACQ,kBAAkB;YAC7C,OAAO,IAAI,CAAC3E,wBAAwB,CAA6BhK,EAAE,CAACgO,MAAM,CAAC;UAC/E,KAAKG,0CAAyB,CAACS,oBAAoB;YAC/C,OAAO,IAAI,CAAC3D,mBAAmB,CAAwCjL,EAAE,CAACgO,MAAM,CAAC;UACrF,KAAKG,0CAAyB,CAAC5C,0BAA0B;YACrD,OAAO,IAAI,CAACU,yBAAyB,CAA8CjM,EAAE,CAACgO,MAAM,CAAC;UACjG,KAAKG,0CAAyB,CAACU,yBAAyB;YACpD,OAAO,IAAI,CAACtL,yBAAyB,CAA8CvD,EAAE,CAACgO,MAAM,CAAC;UACjG,KAAKG,0CAAyB,CAACW,2BAA2B;YACtD,OAAO,IAAI,CAACrC,oBAAoB,CAA+CzM,EAAE,CAACgO,MAAM,CAAC;UAC7F,KAAKG,0CAAyB,CAACY,uBAAuB;YAClD,OAAO,IAAI,CAAC5B,gBAAgB,CAA2CnN,EAAE,CAACgO,MAAM,CAAC;UACrF,KAAKG,0CAAyB,CAACa,yBAAyB;YACpD,OAAO,IAAI,CAACrB,kBAAkB,CAA6C3N,EAAE,CAACgO,MAAM,CAAC;UACzF,KAAKG,0CAAyB,CAACjH,yBAAyB;YACpD,OAAO,IAAI,CAACF,wBAAwB,CAA6ChH,EAAE,CAACgO,MAAM,CAAC;UAE/F;YACI,OAAO,IAAI,CAACpU,SAAS,CAAC4G,KAAK,CAACR,EAAE,CAACgO,MAAM,EAA+B;cAChErc,KAAK,EAAE;gBACH8O,OAAO,EAAE,6CAA6C,GAAGT,EAAE,CAACgO,MAAM,CAAC1N;cACvE;YACJ,CAAC,CAAC;QAAC;MAEf;IACJ;;IAEA;AACJ;AACA;AACA;EAHI;IAAA3U,GAAA;IAAAgB,KAAA,EAIA,SAAAsiB,YAAmBC,KAAoC,EAAmC;MACtF,OAAO,IAAI,CAACtV,SAAS,CAAC+C,IAAI,CAACC,wCAAuB,CAACuS,WAAW,EAAED,KAAK,CAAC;IAC1E;;IAEA;AACJ;AACA;AACA;EAHI;IAAAvjB,GAAA;IAAAgB,KAAA,EAIA,SAAAyiB,eAAsBC,IAAY,EAAmC;MACjE,OAAO,IAAI,CAACzV,SAAS,CAAC+C,IAAI,CAACC,wCAAuB,CAAC0S,cAAc,EAAE;QAAED,IAAI,EAAJA;MAAK,CAAC,CAAC;IAChF;;IAEA;AACJ;AACA;AACA;AACA;EAJI;IAAA1jB,GAAA;IAAAgB,KAAA,EAKA,SAAA4iB,eAAA,EAAgE;MAC5D,OAAO,IAAI,CAAC3V,SAAS,CAAC+C,IAAI,CAACC,wCAAuB,CAAC4S,cAAc,EAA8B,CAAC,CAAC,CAAC;IACtG;;IAEA;AACJ;AACA;AACA;AACA;EAJI;IAAA7jB,GAAA;IAAAgB,KAAA,EAKA,SAAA8iB,iBAAwBC,SAAkB,EAAmC;MACzE,OAAO,IAAI,CAAC9V,SAAS,CAAC+C,IAAI,CAACC,wCAAuB,CAAC+S,gBAAgB,EAAgC;QAC/FC,OAAO,EAAEF;MACb,CAAC,CAAC;IACN;EAAC;IAAA/jB,GAAA;IAAAgB,KAAA,EAED,SAAAkjB,iBAAwBtO,IAAiC,EAAiB;MACtE,OAAO,IAAI,CAAC3H,SAAS,CAAC+C,IAAI,CAA8BC,wCAAuB,CAACkT,YAAY,EAAEvO,IAAI,CAAC,CAAC9P,IAAI,EAAE;IAC9G;EAAC;IAAA9F,GAAA;IAAAgB,KAAA,EAED,SAAAojB,+BAAsC/V,EAA2C,EAAiB;MAC9F,OAAO,IAAI,CAACJ,SAAS,CAChB+C,IAAI,CAAuCC,wCAAuB,CAACoT,aAAa,EAAE;QAAEhW,EAAE,EAAFA;MAAG,CAAC,CAAC,CACzFvI,IAAI,EAAE;IACf;EAAC;IAAA9F,GAAA;IAAAgB,KAAA,EAED,SAAAsjB,uBAA8B1O,IAA4B,EAAiB;MACvE,OAAO,IAAI,CAAC3H,SAAS,CAAC+C,IAAI,CAAyBC,wCAAuB,CAACsT,gBAAgB,EAAE3O,IAAI,CAAC,CAAC9P,IAAI,EAAE;IAC7G;;IAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EAZI;IAAA9F,GAAA;IAAAgB,KAAA;MAAA,IAAAwjB,UAAA,GAAAra,iBAAA,eAAAxH,mBAAA,GAAAyF,IAAA,CAuBA,SAAAqc,UAAuBC,QAAoB,EAAEC,mBAA4B;QAAA,IAAAC,iBAAA;QAAA,OAAAjiB,mBAAA,GAAAe,IAAA,UAAAmhB,WAAAC,UAAA;UAAA,kBAAAA,UAAA,CAAAhc,IAAA,GAAAgc,UAAA,CAAApjB,IAAA;YAAA;cACrE,IAAIijB,mBAAmB,KAAK7d,SAAS,EAAE,IAAI,CAACie,eAAe,CAACJ,mBAAmB,CAAC;cAAC,MAC7ED,QAAQ,CAACjL,OAAO,KAAK,IAAI,CAACrF,YAAY,IAAI,CAAC,IAAI,CAAClF,kBAAkB,CAACwV,QAAQ,CAACjL,OAAO,CAAC;gBAAAqL,UAAA,CAAApjB,IAAA;gBAAA;cAAA;cAAA,OAAAojB,UAAA,CAAAle,MAAA;YAAA;cAAA,MAIpF8d,QAAQ,CAAC7L,SAAS,KAAK/R,SAAS,IAAI4d,QAAQ,CAAC7L,SAAS,KAAK,IAAI;gBAAAiM,UAAA,CAAApjB,IAAA;gBAAA;cAAA;cAAA,IAE1D,IAAI,CAAC4O,oBAAoB,CAACoU,QAAQ,CAACjgB,IAAI,EAAEigB,QAAQ,CAAC7L,SAAS,CAAC;gBAAAiM,UAAA,CAAApjB,IAAA;gBAAA;cAAA;cAAA,OAAAojB,UAAA,CAAAle,MAAA;YAAA;cAAAke,UAAA,CAAApjB,IAAA;cAAA;YAAA;cAAA,IAK5D,IAAI,CAAC0O,mBAAmB,CAACsU,QAAQ,CAACjgB,IAAI,GAAAmgB,iBAAA,GAAGF,QAAQ,CAACrK,OAAO,cAAAuK,iBAAA,uBAAjBA,iBAAA,CAA6C,SAAS,CAAC,CAAC;gBAAAE,UAAA,CAAApjB,IAAA;gBAAA;cAAA;cAAA,OAAAojB,UAAA,CAAAle,MAAA;YAAA;cAAAke,UAAA,CAAApjB,IAAA;cAAA,OAMnG,IAAI,CAACuM,SAAS,CAAC+C,IAAI,CACrBC,wCAAuB,CAACyR,SAAS;cACjC;cACAgC,QAAQ,CACX;YAAA;YAAA;cAAA,OAAAI,UAAA,CAAA9b,IAAA;UAAA;QAAA,GAAAyb,SAAA;MAAA,CACJ;MAAA,SAAAO,UAAAC,IAAA,EAAAC,IAAA;QAAA,OAAAV,UAAA,CAAAhlB,KAAA,OAAAI,SAAA;MAAA;MAAA,OAAAolB,SAAA;IAAA;IAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EARI;IAAAhlB,GAAA;IAAAgB,KAAA;MAAA,IAAAmkB,aAAA,GAAAhb,iBAAA,eAAAxH,mBAAA,GAAAyF,IAAA,CASA,SAAAgd,UAA0BtQ,OAAyB,EAAEsH,SAAkB;QAAA,OAAAzZ,mBAAA,GAAAe,IAAA,UAAA2hB,WAAAC,UAAA;UAAA,kBAAAA,UAAA,CAAAxc,IAAA,GAAAwc,UAAA,CAAA5jB,IAAA;YAAA;cAAA,KAC/D,IAAI,CAAC6O,uBAAuB,CAACuE,OAAO,CAACrQ,IAAI,CAAC;gBAAA6gB,UAAA,CAAA5jB,IAAA;gBAAA;cAAA;cAAA4jB,UAAA,CAAA5jB,IAAA;cAAA,OACpC,IAAI,CAACuM,SAAS,CAAC+C,IAAI,CAAmCC,wCAAuB,CAAC0R,YAAY,EAAAljB,aAAA,CAAAA,aAAA,KACzFqV,OAAO;gBACVsH,SAAS,EAATA;cAAS,GACX;YAAA;YAAA;cAAA,OAAAkJ,UAAA,CAAAtc,IAAA;UAAA;QAAA,GAAAoc,SAAA;MAAA,CAET;MAAA,SAAAG,aAAAC,IAAA,EAAAC,IAAA;QAAA,OAAAN,aAAA,CAAA3lB,KAAA,OAAAI,SAAA;MAAA;MAAA,OAAA2lB,YAAA;IAAA;EAAA;IAAAvlB,GAAA;IAAAgB,KAAA;IAID;AACJ;AACA;AACA;IACI,SAAA+jB,gBAAuB5V,MAAqB,EAAQ;MAChD,IAAI,CAACiF,YAAY,GAAGjF,MAAM;MAC1B;MACA;MACA;MACA;MACA;MACA,IAAIA,MAAM,KAAK,IAAI,IAAI,CAAC,IAAI,CAACD,kBAAkB,CAACC,MAAM,CAAC,EAAE,IAAI,CAACmE,aAAa,CAACnE,MAAM,CAAC;IACvF;EAAC;IAAAnP,GAAA;IAAAgB,KAAA;MAAA,IAAA0kB,eAAA,GAAAvb,iBAAA,eAAAxH,mBAAA,GAAAyF,IAAA,CAED,SAAAud,UAAA;QAAA,IAAA7N,MAAA,EAAA8N,UAAA,EAAAC,MAAA,EAAAC,YAAA,EAAAC,UAAA,EAAAC,MAAA,EAAAC,WAAA;QAAA,OAAAtjB,mBAAA,GAAAe,IAAA,UAAAwiB,WAAAC,UAAA;UAAA,kBAAAA,UAAA,CAAArd,IAAA,GAAAqd,UAAA,CAAAzkB,IAAA;YAAA;cAAAykB,UAAA,CAAArd,IAAA;YAAA;cAAAqd,UAAA,CAAAzkB,IAAA;cAAA,OAGiB+G,OAAO,CAACuQ,GAAG,CAAC,IAAI,CAACoN,kBAAkB,CAAC;YAAA;cAAA,IACtC,IAAI,CAACA,kBAAkB,CAACtQ,IAAI,GAAG,CAAC;gBAAAqQ,UAAA,CAAAzkB,IAAA;gBAAA;cAAA;YAAA;cAEjCoW,MAAoB,GAAG,EAAE;cAAA8N,UAAA,GAAAvlB,0BAAA,CACJ,IAAI,CAACgmB,mBAAmB,CAACphB,MAAM,EAAE;cAAA;gBAA5D,KAAA2gB,UAAA,CAAA/kB,CAAA,MAAAglB,MAAA,GAAAD,UAAA,CAAA9kB,CAAA,IAAAC,IAAA,GAA8D;kBAAnD+kB,YAAY,GAAAD,MAAA,CAAA7kB,KAAA;kBAAA+kB,UAAA,GAAA1lB,0BAAA,CACOylB,YAAY,CAAC7gB,MAAM,EAAE;kBAAA;oBAA/C,KAAA8gB,UAAA,CAAAllB,CAAA,MAAAmlB,MAAA,GAAAD,UAAA,CAAAjlB,CAAA,IAAAC,IAAA,GAAiD;sBAAtCklB,WAAW,GAAAD,MAAA,CAAAhlB,KAAA;sBAClB8W,MAAM,CAACvY,IAAI,CAAAC,KAAA,CAAXsY,MAAM,EAAAlW,kBAAA,CAASqkB,WAAW,CAAChhB,MAAM,EAAE,EAAC;oBACxC;kBAAC,SAAA1D,GAAA;oBAAAwkB,UAAA,CAAA9kB,CAAA,CAAAM,GAAA;kBAAA;oBAAAwkB,UAAA,CAAA5kB,CAAA;kBAAA;gBACL;cAAC,SAAAI,GAAA;gBAAAqkB,UAAA,CAAA3kB,CAAA,CAAAM,GAAA;cAAA;gBAAAqkB,UAAA,CAAAzkB,CAAA;cAAA;cAAAglB,UAAA,CAAAzkB,IAAA;cAAA,OACU,IAAI,CAAC6P,iBAAiB,EAAE;YAAA;cAAA,KAAA4U,UAAA,CAAA1f,IAAA,CAAE8M,QAAQ,CAAC+B,8BAAkB,CAACC,oBAAoB;gBAAA4Q,UAAA,CAAAzkB,IAAA;gBAAA;cAAA;cAAAykB,UAAA,CAAAzkB,IAAA;cAAA,OAE3E,IAAI,CAACuM,SAAS,CAAC+C,IAAI,CAAkCC,wCAAuB,CAACqV,WAAW,EAAE;gBAC5FngB,KAAK,EAAE2R;cACX,CAAC,CAAC;YAAA;cAAAqO,UAAA,CAAArd,IAAA;cAGN,IAAI,CAACyd,kBAAkB,GAAG,IAAI;cAAC,OAAAJ,UAAA,CAAAxc,MAAA;YAAA;YAAA;cAAA,OAAAwc,UAAA,CAAAnd,IAAA;UAAA;QAAA,GAAA2c,SAAA;MAAA,CAEtC;MAAA,SAAAa,eAAA;QAAA,OAAAd,eAAA,CAAAlmB,KAAA,OAAAI,SAAA;MAAA;MAAA,OAAA4mB,cAAA;IAAA;IAED;AACJ;AACA;AACA;AACA;AACA;AACA;EANI;IAAAxmB,GAAA;IAAAgB,KAAA;MAAA,IAAAylB,gBAAA,GAAAtc,iBAAA,eAAAxH,mBAAA,GAAAyF,IAAA,CAOA,SAAAse,UAA8BvX,MAAc;QAAA,IAAAwX,OAAA;QAAA,OAAAhkB,mBAAA,GAAAe,IAAA,UAAAkjB,WAAAC,UAAA;UAAA,kBAAAA,UAAA,CAAA/d,IAAA,GAAA+d,UAAA,CAAAnlB,IAAA;YAAA;cACxC2P,OAAO,CAACqC,KAAK,CAAC,yCAAyC,EAAEvE,MAAM,CAAC;cAAC,OAAA0X,UAAA,CAAAjgB,MAAA,WAC1D,IAAI,CAACgH,MAAM,CACbkZ,gBAAgB,CAAC3X,MAAM,CAAC,CACxBrJ,IAAI,CAAC,UAACgS,MAAM,EAAK;gBACd;gBACA,IAAMiP,QAAQ,GAAGjP,MAAM,CAAC3Y,MAAM,CAAC,UAAC8B,CAAC,EAAK;kBAAA,IAAA+lB,UAAA;kBAClC,OAAOL,OAAI,CAACvW,mBAAmB,CAC3BnP,CAAC,CAACwD,IAAI,EACN,SAAAuiB,UAAA,GAAO/lB,CAAC,CAACoZ,OAAO,cAAA2M,UAAA,uBAATA,UAAA,CAAWvX,OAAO,MAAK,QAAQ,GAAGxO,CAAC,CAACoZ,OAAO,CAAC5K,OAAO,GAAG,IAAI,CACpE;gBACL,CAAC,CAAC;gBACF,OAAO;kBAAEN,MAAM,EAANA,MAAM;kBAAE8X,YAAY,EAAEF;gBAAS,CAAC;cAC7C,CAAC,CAAC,CACDjhB,IAAI;gBAAA,IAAAohB,KAAA,GAAA/c,iBAAA,eAAAxH,mBAAA,GAAAyF,IAAA,CAAC,SAAA+e,UAAAC,IAAA;kBAAA,IAAAjY,MAAA,EAAA8X,YAAA,EAAAI,QAAA;kBAAA,OAAA1kB,mBAAA,GAAAe,IAAA,UAAA4jB,WAAAC,UAAA;oBAAA,kBAAAA,UAAA,CAAAze,IAAA,GAAAye,UAAA,CAAA7lB,IAAA;sBAAA;wBAASyN,MAAM,GAAAiY,IAAA,CAANjY,MAAM,EAAE8X,YAAY,GAAAG,IAAA,CAAZH,YAAY;wBAC/B5V,OAAO,CAACqC,KAAK,CAAC,SAAS,EAAEuT,YAAY,CAACpnB,MAAM,EAAE,kCAAkC,EAAEsP,MAAM,CAAC;wBACnFkY,QAAQ,GAAGJ,YAAY,CAACrT,GAAG,CAAC,UAAC8Q,QAAQ,EAAK;0BAC5C,OAAOiC,OAAI,CAAC1Y,SAAS,CAAC+C,IAAI,CACtBC,wCAAuB,CAACyR,SAAS;0BACjC;0BACAgC,QAAQ,CACX;wBACL,CAAC,CAAC;wBAAA6C,UAAA,CAAA7lB,IAAA;wBAAA,OACI+G,OAAO,CAACuQ,GAAG,CAACqO,QAAQ,CAAC;sBAAA;sBAAA;wBAAA,OAAAE,UAAA,CAAAve,IAAA;oBAAA;kBAAA,GAAAme,SAAA;gBAAA,CAC9B;gBAAA,iBAAAK,IAAA;kBAAA,OAAAN,KAAA,CAAA1nB,KAAA,OAAAI,SAAA;gBAAA;cAAA,IAAC;YAAA;YAAA;cAAA,OAAAinB,UAAA,CAAA7d,IAAA;UAAA;QAAA,GAAA0d,SAAA;MAAA,CACT;MAAA,SAAAvS,gBAAAsT,IAAA;QAAA,OAAAhB,gBAAA,CAAAjnB,KAAA,OAAAI,SAAA;MAAA;MAAA,OAAAuU,eAAA;IAAA;IAED;AACJ;AACA;AACA;EAHI;IAAAnU,GAAA;IAAAgB,KAAA,EAIA,SAAAsS,cAAsBnE,MAAc,EAAQ;MAAA,IAAAuY,OAAA;MAAA,IAAAC,UAAA,GAAAtnB,0BAAA,CACtB,IAAI,CAACqP,aAAa;QAAAkY,MAAA;MAAA;QAAA,IAAAC,MAAA,YAAAA,OAAA,EAAE;UAAA,IAA3BC,GAAG,GAAAF,MAAA,CAAA5mB,KAAA;UACV,IAAI8mB,GAAG,CAACC,IAAI,KAAKC,gCAAS,CAACC,KAAK,IAAIH,GAAG,CAAC7I,SAAS,KAAKpP,qCAAc,CAACQ,OAAO,EAAE;YAAA,IAAA6X,WAAA,EAAAC,qBAAA;YAC1E;YACA,IAAMrQ,MAAM,GAAG4P,OAAI,CAAC9Z,MAAM,CAACwL,aAAa,CAACjK,MAAM,EAAE2Y,GAAG,CAACtY,SAAS,GAAA0Y,WAAA,GAAEJ,GAAG,CAACM,MAAM,cAAAF,WAAA,cAAAA,WAAA,GAAIphB,SAAS,CAAC;YACxF,IAAMuhB,IAAI,GAAGvQ,MAAM,CACdhS,IAAI,CACD,UAACgS,MAAM,EAAK;cACR;cACA;cAAA,IAAAwQ,WAAA,GAAAjoB,0BAAA,CACoByX,MAAM;gBAAAyQ,OAAA;cAAA;gBAA1B,KAAAD,WAAA,CAAAznB,CAAA,MAAA0nB,OAAA,GAAAD,WAAA,CAAAxnB,CAAA,IAAAC,IAAA,GAA4B;kBAAA,IAAjBynB,KAAK,GAAAD,OAAA,CAAAvnB,KAAA;kBACZ,IAAI8kB,YAAY,GAAG4B,OAAI,CAACrB,mBAAmB,CAACoC,GAAG,CAACtZ,MAAM,CAAC;kBACvD,IAAI2W,YAAY,KAAKhf,SAAS,EAAE;oBAC5Bgf,YAAY,GAAG,IAAI/X,GAAG,EAAE;oBACxB2Z,OAAI,CAACrB,mBAAmB,CAACqC,GAAG,CAACvZ,MAAM,EAAE2W,YAAY,CAAC;kBACtD;kBACA,IAAIG,WAAW,GAAGH,YAAY,CAAC2C,GAAG,CAACX,GAAG,CAACtY,SAAS,CAAC;kBACjD,IAAIyW,WAAW,KAAKnf,SAAS,EAAE;oBAC3Bmf,WAAW,GAAG,IAAIlY,GAAG,EAAE;oBACvB+X,YAAY,CAAC4C,GAAG,CAACZ,GAAG,CAACtY,SAAS,EAAEyW,WAAW,CAAC;kBAChD;kBACA,IAAI,CAACA,WAAW,CAAChX,GAAG,CAACuZ,KAAK,CAAC3P,SAAS,CAAE,EAAEoN,WAAW,CAACyC,GAAG,CAACF,KAAK,CAAC3P,SAAS,EAAG2P,KAAK,CAAC;gBACpF;cAAC,SAAAjnB,GAAA;gBAAA+mB,WAAA,CAAArnB,CAAA,CAAAM,GAAA;cAAA;gBAAA+mB,WAAA,CAAAnnB,CAAA;cAAA;YACL,CAAC,EACD,UAACF,CAAC;cAAA,OACEoQ,OAAO,CAACrL,KAAK,kCAAAoJ,MAAA,CACwBD,MAAM,QAAAC,MAAA,CAAK0Y,GAAG,CAACtY,SAAS,QAAAJ,MAAA,CAAK0Y,GAAG,CAACM,MAAM,QACxEnnB,CAAC,CACJ;YAAA,EACR,CACA6E,IAAI,CAAC,YAAM;cACR;cACA4hB,OAAI,CAACtB,kBAAkB,UAAO,CAACiC,IAAI,CAAC;YACxC,CAAC,CAAC;;YAEN;YACAX,OAAI,CAACtB,kBAAkB,CAAC1T,GAAG,CAAC2V,IAAI,CAAC;YACjC;YACA;YACA,CAAAF,qBAAA,GAAAT,OAAI,CAACnB,kBAAkB,cAAA4B,qBAAA,cAAAA,qBAAA,GAAvBT,OAAI,CAACnB,kBAAkB,GAAKmB,OAAI,CAAClB,cAAc,EAAE;YACjDkB,OAAI,CAACnB,kBAAkB,SAAM,CAAC,UAACtlB,CAAC;cAAA,OAAKoQ,OAAO,CAACrL,KAAK,CAAC,2BAA2B,EAAE/E,CAAC,CAAC;YAAA,EAAC;UACvF;QACJ,CAAC;QAzCD,KAAA0mB,UAAA,CAAA9mB,CAAA,MAAA+mB,MAAA,GAAAD,UAAA,CAAA7mB,CAAA,IAAAC,IAAA;UAAA8mB,MAAA;QAAA;MAyCC,SAAAtmB,GAAA;QAAAomB,UAAA,CAAA1mB,CAAA,CAAAM,GAAA;MAAA;QAAAomB,UAAA,CAAAxmB,CAAA;MAAA;IACL;;IAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EATI;IAAAnB,GAAA;IAAAgB,KAAA;MAAA,IAAA2nB,gBAAA,GAAAxe,iBAAA,eAAAxH,mBAAA,GAAAyF,IAAA,CAUA,SAAAwgB,UAA6BlE,QAAoB;QAAA,IAAAoB,YAAA,EAAAG,WAAA;QAAA,OAAAtjB,mBAAA,GAAAe,IAAA,UAAAmlB,WAAAC,UAAA;UAAA,kBAAAA,UAAA,CAAAhgB,IAAA,GAAAggB,UAAA,CAAApnB,IAAA;YAAA;cAAA,MACzCgjB,QAAQ,CAAC7L,SAAS,KAAK/R,SAAS;gBAAAgiB,UAAA,CAAApnB,IAAA;gBAAA;cAAA;cAAA,MAAQ,IAAI0E,KAAK,CAAC,mBAAmB,CAAC;YAAA;cAAA,MAEtE,CAACse,QAAQ,CAACjL,OAAO,KAAK,IAAI,CAACrF,YAAY,IAAI,IAAI,CAAClF,kBAAkB,CAACwV,QAAQ,CAACjL,OAAO,CAAC,KACpF,IAAI,CAACnJ,oBAAoB,CAACoU,QAAQ,CAACjgB,IAAI,EAAEigB,QAAQ,CAAC7L,SAAS,CAAC;gBAAAiQ,UAAA,CAAApnB,IAAA;gBAAA;cAAA;cAAA,MAGxD,IAAI,CAAC0kB,kBAAkB,CAACtQ,IAAI,KAAK,CAAC;gBAAAgT,UAAA,CAAApnB,IAAA;gBAAA;cAAA;cAAAonB,UAAA,CAAApnB,IAAA;cAAA,OAEvB,IAAI,CAAC6P,iBAAiB,EAAE;YAAA;cAAA,KAAAuX,UAAA,CAAAriB,IAAA,CAAE8M,QAAQ,CAAC+B,8BAAkB,CAACC,oBAAoB;gBAAAuT,UAAA,CAAApnB,IAAA;gBAAA;cAAA;cAAAonB,UAAA,CAAApnB,IAAA;cAAA,OAE3E,IAAI,CAACuM,SAAS,CAAC+C,IAAI,CAAkCC,wCAAuB,CAACqV,WAAW,EAAE;gBAC5FngB,KAAK,EAAE,CAACue,QAAQ;cACpB,CAAC,CAAC;YAAA;cAAAoE,UAAA,CAAApnB,IAAA;cAAA;YAAA;cAGN;cACA;cACA;cACA;cACIokB,YAAY,GAAG,IAAI,CAACO,mBAAmB,CAACoC,GAAG,CAAC/D,QAAQ,CAACjL,OAAO,CAAC;cACjE,IAAIqM,YAAY,KAAKhf,SAAS,EAAE;gBAC5Bgf,YAAY,GAAG,IAAI/X,GAAG,EAAE;gBACxB,IAAI,CAACsY,mBAAmB,CAACqC,GAAG,CAAChE,QAAQ,CAACjL,OAAO,EAAEqM,YAAY,CAAC;cAChE;cACIG,WAAW,GAAGH,YAAY,CAAC2C,GAAG,CAAC/D,QAAQ,CAACjgB,IAAI,CAAC;cACjD,IAAIwhB,WAAW,KAAKnf,SAAS,EAAE;gBAC3Bmf,WAAW,GAAG,IAAIlY,GAAG,EAAE;gBACvB+X,YAAY,CAAC4C,GAAG,CAAChE,QAAQ,CAACjgB,IAAI,EAAEwhB,WAAW,CAAC;cAChD;cACA,IAAI,CAACA,WAAW,CAAChX,GAAG,CAACyV,QAAQ,CAACjgB,IAAI,CAAC,EAAEwhB,WAAW,CAACyC,GAAG,CAAChE,QAAQ,CAAC7L,SAAS,EAAE6L,QAAQ,CAAC;YAAC;cAAAoE,UAAA,CAAApnB,IAAA;cAAA,OAC1E+G,OAAO,CAACuQ,GAAG,CAAC,IAAI,CAACoN,kBAAkB,CAAC;YAAA;cAAA,IACtC,IAAI,CAACA,kBAAkB,CAACtQ,IAAI,GAAG,CAAC;gBAAAgT,UAAA,CAAApnB,IAAA;gBAAA;cAAA;YAAA;cAAAonB,UAAA,CAAApnB,IAAA;cAAA,OACjC,IAAI,CAAC6kB,kBAAkB;YAAA;YAAA;cAAA,OAAAuC,UAAA,CAAA9f,IAAA;UAAA;QAAA,GAAA4f,SAAA;MAAA,CAGxC;MAAA,SAAAG,gBAAAC,IAAA;QAAA,OAAAL,gBAAA,CAAAnpB,KAAA,OAAAI,SAAA;MAAA;MAAA,OAAAmpB,eAAA;IAAA;EAAA;EAAA,OAAAxb,eAAA;AAAA,EAvsCgC0b,oBAAY;AAAArmB,OAAA,CAAA2K,eAAA,GAAAA,eAAA"}
|
|
1
|
+
{"version":3,"file":"ClientWidgetApi.js","names":["_events","require","_PostmessageTransport","_WidgetApiDirection","_WidgetApiAction","_Capabilities","_ApiVersion","_WidgetEventCapability","_GetOpenIDAction","_SimpleObservable","_Symbols","_UpdateDelayedEventAction","_typeof","obj","Symbol","iterator","constructor","prototype","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_createForOfIteratorHelper","o","allowArrayLike","it","Array","isArray","_unsupportedIterableToArray","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","minLen","_arrayLikeToArray","toString","slice","name","from","test","iter","len","arr2","_regeneratorRuntime","exports","Op","hasOwn","hasOwnProperty","desc","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","configurable","writable","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","makeInvokeMethod","tryCatch","fn","arg","type","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","method","_invoke","AsyncIterator","PromiseImpl","invoke","resolve","reject","record","result","__await","then","unwrapped","error","previousPromise","callInvokeWithMethodAndArg","state","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","methodName","undefined","info","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","displayName","isGeneratorFunction","genFun","ctor","mark","setPrototypeOf","__proto__","awrap","async","Promise","val","reverse","pop","skipTempReset","prev","charAt","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","_catch","thrown","delegateYield","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","args","_classCallCheck","instance","Constructor","_defineProperties","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","_inherits","subClass","superClass","_setPrototypeOf","p","bind","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf","NewTarget","Reflect","construct","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","sham","Proxy","Boolean","valueOf","_toPrimitive","String","input","hint","prim","toPrimitive","res","Number","_asyncIterator","sync","retry","AsyncFromSyncIterator","AsyncFromSyncIteratorContinuation","r","_return","ret","thr","ClientWidgetApi","_EventEmitter","_super","widget","iframe","driver","_this","Set","Map","contentWindow","transport","PostmessageTransport","WidgetApiDirection","ToWidget","id","globalThis","targetOrigin","origin","on","handleMessage","addEventListener","onIframeLoad","start","hasCapability","capability","allowedCapabilities","has","canUseRoomTimeline","roomId","concat","Symbols","AnyRoom","canSendRoomEvent","eventType","msgtype","allowedEvents","some","matchesAsRoomEvent","EventDirection","Send","canSendStateEvent","stateKey","matchesAsStateEvent","canSendToDeviceEvent","matchesAsToDeviceEvent","canReceiveRoomEvent","Receive","canReceiveStateEvent","canReceiveToDeviceEvent","canReceiveRoomAccountData","matchesAsRoomAccountData","isStopped","_getWidgetVersions","_callee","_callee$","_context","cachedWidgetVersions","send","WidgetApiToWidgetAction","SupportedApiVersions","supported_versions","t0","console","warn","getWidgetVersions","beginCapabilities","_this2","emit","requestedCaps","Capabilities","caps","capabilities","validateCapabilities","allowedCaps","allowCapabilities","allowed","requested","_this$allowedEvents","_this3","log","_iterator2","_step2","c","add","WidgetEventCapability","findEventCapabilities","NotifyCapabilities","approved","_iterator3","_step3","isTimelineCapability","getTimelineRoomIDFromCapability","_iterator5","getKnownRooms","_step5","pushRoomState","includes","MatrixCapabilities","MSC4407ReceiveStickyEvent","debug","roomIds","map","timelineCapability","flatMap","roomIdOrWildcard","_iterator4","_step4","_loop","pushStickyState","viewedRoomId","ev","waitForIframeLoad","contentLoadedWaitTimer","setTimeout","contentLoadedActionSent","handleContentLoadedAction","action","clearTimeout","reply","message","replyVersions","request","CurrentApiVersions","_supportsUpdateState","_callee2","_callee2$","_context2","UnstableApiVersion","MSC2762_UPDATE_STATE","supportsUpdateState","handleCapabilitiesRenegotiate","_request$data","_this4","data","newlyRequested","size","handleNavigate","_request$data2","_this5","MSC2931Navigate","uri","startsWith","onErr","handleDriverError","navigate","handleOIDC","_this6","phase","replyState","credential","OpenIDCredentials","original_request_id","requestId","replyError","msg","OpenIDRequestState","Blocked","observer","SimpleObservable","update","PendingUserConfirmation","close","Allowed","token","askOpenID","handleReadRoomAccountData","_this7","events","readRoomAccountData","evs","_handleReadEvents","_callee3","_this8","askRoomIds","_iterator6","_step6","limit","since","_stateKey","_callee3$","_context3","room_ids","state_key","readRoomEvents","readStateEvents","all","readRoomTimeline","flat","t1","readRoomState","handleReadEvents","_x","handleSendEvent","_this9","room_id","parent_delay_id","delay","MSC4157SendDelayedEvent","isStickyEvent","sticky_duration_ms","MSC4407SendStickyEvent","sendEventPromise","sendDelayedEvent","content","sendEvent","params","sendDelayedStickyEvent","_this$driver","sendStickyEvent","_this$driver2","sentEvent","event_id","eventId","delay_id","delayId","handleUpdateDelayedEvent","_this10","MSC4157UpdateDelayedEvent","updateDelayedEvent","UpdateDelayedEventAction","Cancel","cancelScheduledDelayedEvent","Restart","restartScheduledDelayedEvent","sendScheduledDelayedEvent","_handleSendToDevice","_callee4","_callee4$","_context4","messages","encrypted","sendToDevice","handleSendToDevice","_x2","_pollTurnServers","_callee5","turnServers","initialServer","_iteratorAbruptCompletion","_didIteratorError","_iteratorError","_iterator","_step","server","_callee5$","_context5","UpdateTurnServers","pollTurnServers","_x3","_x4","_handleWatchTurnServers","_callee6","_yield$turnServers$ne","_callee6$","_context6","MSC3846TurnServers","getTurnServers","handleWatchTurnServers","_x5","_handleUnwatchTurnServers","_callee7","_callee7$","_context7","handleUnwatchTurnServers","_x6","_handleReadRelations","_callee8","_this11","chunk","_callee8$","_context8","readEventRelations","rel_type","event_type","to","direction","prev_batch","prevBatch","next_batch","nextBatch","handleReadRelations","_x7","_handleUserDirectorySearch","_callee9","_callee9$","_context9","MSC3973UserDirectorySearch","search_term","searchUserDirectory","limited","results","user_id","userId","display_name","avatar_url","avatarUrl","handleUserDirectorySearch","_x8","_handleGetMediaConfig","_callee10","_callee10$","_context10","MSC4039UploadFile","getMediaConfig","handleGetMediaConfig","_x9","_handleRtcTransports","_callee11","_callee11$","_context11","MSC4515RtcTransports","getRtcTransports","rtc_transports","handleRtcTransports","_x10","_handleUploadFile","_callee12","_callee12$","_context12","uploadFile","file","content_uri","contentUri","handleUploadFile","_x11","_handleDownloadFile","_callee13","_callee13$","_context13","MSC4039DownloadFile","downloadFile","handleDownloadFile","_x12","processError","actionEv","CustomEvent","detail","cancelable","defaultPrevented","WidgetApiFromWidgetAction","ContentLoaded","SendEvent","SendToDevice","GetOpenIDCredentials","MSC2974RenegotiateCapabilities","MSC2876ReadEvents","WatchTurnServers","UnwatchTurnServers","MSC3869ReadRelations","BeeperReadRoomAccountData","MSC4039GetMediaConfigAction","MSC4515GetRtcTransports","MSC4039UploadFileAction","MSC4039DownloadFileAction","updateTheme","theme","ThemeChange","updateLanguage","lang","LanguageChange","takeScreenshot","TakeScreenshot","updateVisibility","isVisible","UpdateVisibility","visible","sendWidgetConfig","WidgetConfig","notifyModalWidgetButtonClicked","ButtonClicked","notifyModalWidgetClose","CloseModalWidget","_feedEvent","_callee14","rawEvent","currentViewedRoomId","_rawEvent$content","_callee14$","_context14","setViewedRoomId","feedEvent","_x13","_x14","_feedToDevice","_callee15","_callee15$","_context15","feedToDevice","_x15","_x16","_flushRoomState","_callee16","_iterator7","_step7","eventTypeMap","_iterator8","_step8","stateKeyMap","_callee16$","_context16","pushRoomStateTasks","pushRoomStateResult","UpdateState","flushRoomStateTask","flushRoomState","_pushStickyState","_callee18","_this12","_callee18$","_context18","readStickyEvents","filtered","_e$content","stickyEvents","_ref2","_callee17","_ref","promises","_callee17$","_context17","_x18","_x17","_this13","_iterator9","_step9","_loop2","cap","kind","EventKind","State","_cap$keyStr","_this13$flushRoomStat","keyStr","task","_iterator10","_step10","event","get","set","_feedStateUpdate","_callee19","_callee19$","_context19","feedStateUpdate","_x19","EventEmitter"],"sources":["../src/ClientWidgetApi.ts"],"sourcesContent":["/*\n * Copyright 2020 - 2024 The Matrix.org Foundation C.I.C.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { EventEmitter } from \"events\";\n\nimport { ITransport } from \"./transport/ITransport\";\nimport { Widget } from \"./models/Widget\";\nimport { PostmessageTransport } from \"./transport/PostmessageTransport\";\nimport { WidgetApiDirection } from \"./interfaces/WidgetApiDirection\";\nimport { IWidgetApiRequest, IWidgetApiRequestEmptyData } from \"./interfaces/IWidgetApiRequest\";\nimport { IContentLoadedActionRequest } from \"./interfaces/ContentLoadedAction\";\nimport { WidgetApiFromWidgetAction, WidgetApiToWidgetAction } from \"./interfaces/WidgetApiAction\";\nimport { IWidgetApiErrorResponseData } from \"./interfaces/IWidgetApiErrorResponse\";\nimport {\n Capability,\n MatrixCapabilities,\n getTimelineRoomIDFromCapability,\n isTimelineCapability,\n} from \"./interfaces/Capabilities\";\nimport { IOpenIDUpdate, ISendEventDetails, ISendDelayedEventDetails, WidgetDriver } from \"./driver/WidgetDriver\";\nimport {\n ICapabilitiesActionResponseData,\n INotifyCapabilitiesActionRequestData,\n IRenegotiateCapabilitiesActionRequest,\n} from \"./interfaces/CapabilitiesAction\";\nimport {\n ISupportedVersionsActionRequest,\n ISupportedVersionsActionResponseData,\n} from \"./interfaces/SupportedVersionsAction\";\nimport { ApiVersion, CurrentApiVersions, UnstableApiVersion } from \"./interfaces/ApiVersion\";\nimport { IScreenshotActionResponseData } from \"./interfaces/ScreenshotAction\";\nimport { IVisibilityActionRequestData } from \"./interfaces/VisibilityAction\";\nimport { IWidgetApiAcknowledgeResponseData, IWidgetApiResponseData } from \"./interfaces/IWidgetApiResponse\";\nimport {\n IModalWidgetButtonClickedRequestData,\n IModalWidgetOpenRequestData,\n IModalWidgetOpenRequestDataButton,\n IModalWidgetReturnData,\n} from \"./interfaces/ModalWidgetActions\";\nimport {\n ISendEventFromWidgetActionRequest,\n ISendEventFromWidgetResponseData,\n ISendEventToWidgetRequestData,\n} from \"./interfaces/SendEventAction\";\nimport {\n ISendToDeviceFromWidgetActionRequest,\n ISendToDeviceFromWidgetResponseData,\n ISendToDeviceToWidgetRequestData,\n} from \"./interfaces/SendToDeviceAction\";\nimport { EventDirection, EventKind, WidgetEventCapability } from \"./models/WidgetEventCapability\";\nimport { IRoomEvent } from \"./interfaces/IRoomEvent\";\nimport {\n IGetOpenIDActionRequest,\n IGetOpenIDActionResponseData,\n IOpenIDCredentials,\n OpenIDRequestState,\n} from \"./interfaces/GetOpenIDAction\";\nimport { SimpleObservable } from \"./util/SimpleObservable\";\nimport { IOpenIDCredentialsActionRequestData } from \"./interfaces/OpenIDCredentialsAction\";\nimport { INavigateActionRequest } from \"./interfaces/NavigateAction\";\nimport { IReadEventFromWidgetActionRequest, IReadEventFromWidgetResponseData } from \"./interfaces/ReadEventAction\";\nimport {\n ITurnServer,\n IWatchTurnServersRequest,\n IUnwatchTurnServersRequest,\n IUpdateTurnServersRequestData,\n} from \"./interfaces/TurnServerActions\";\nimport { Symbols } from \"./Symbols\";\nimport {\n IReadRelationsFromWidgetActionRequest,\n IReadRelationsFromWidgetResponseData,\n} from \"./interfaces/ReadRelationsAction\";\nimport {\n IUserDirectorySearchFromWidgetActionRequest,\n IUserDirectorySearchFromWidgetResponseData,\n} from \"./interfaces/UserDirectorySearchAction\";\nimport {\n IReadRoomAccountDataFromWidgetActionRequest,\n IReadRoomAccountDataFromWidgetResponseData,\n} from \"./interfaces/ReadRoomAccountDataAction\";\nimport {\n IGetMediaConfigActionFromWidgetActionRequest,\n IGetMediaConfigActionFromWidgetResponseData,\n} from \"./interfaces/GetMediaConfigAction\";\nimport {\n IRtcTransportsFromWidgetActionRequest,\n IRtcTransportsFromWidgetResponseData,\n} from \"./interfaces/RtcTransportsAction\";\nimport {\n IUpdateDelayedEventFromWidgetActionRequest,\n UpdateDelayedEventAction,\n} from \"./interfaces/UpdateDelayedEventAction\";\nimport {\n IUploadFileActionFromWidgetActionRequest,\n IUploadFileActionFromWidgetResponseData,\n} from \"./interfaces/UploadFileAction\";\nimport {\n IDownloadFileActionFromWidgetActionRequest,\n IDownloadFileActionFromWidgetResponseData,\n} from \"./interfaces/DownloadFileAction\";\nimport { IThemeChangeActionRequestData } from \"./interfaces/ThemeChangeAction\";\nimport { IUpdateStateToWidgetRequestData } from \"./interfaces/UpdateStateAction\";\nimport { IToDeviceMessage } from \"./interfaces/IToDeviceMessage\";\n\n/**\n * API handler for the client side of widgets. This raises events\n * for each action received as `action:${action}` (eg: \"action:screenshot\").\n * Default handling can be prevented by using preventDefault() on the\n * raised event. The default handling varies for each action: ones\n * which the SDK can handle safely are acknowledged appropriately and\n * ones which are unhandled (custom or require the client to do something)\n * are rejected with an error.\n *\n * Events which are preventDefault()ed must reply using the transport.\n * The events raised will have a default of an IWidgetApiRequest\n * interface.\n *\n * When the ClientWidgetApi is ready to start sending requests, it will\n * raise a \"ready\" CustomEvent. After the ready event fires, actions can\n * be sent and the transport will be ready.\n *\n * When the widget has indicated it has loaded, this class raises a\n * \"preparing\" CustomEvent. The preparing event does not indicate that\n * the widget is ready to receive communications - that is signified by\n * the ready event exclusively.\n *\n * This class only handles one widget at a time.\n */\nexport class ClientWidgetApi extends EventEmitter {\n public readonly transport: ITransport;\n\n private cachedWidgetVersions: ApiVersion[] | null = null;\n // contentLoadedActionSent is used to check that only one ContentLoaded request is send.\n private contentLoadedActionSent = false;\n private readonly allowedCapabilities = new Set<Capability>();\n private readonly allowedEvents: WidgetEventCapability[] = [];\n private isStopped = false;\n private turnServers: AsyncGenerator<ITurnServer> | null = null;\n private contentLoadedWaitTimer?: ReturnType<typeof setTimeout>;\n // Stores pending requests to push a room's state to the widget\n private readonly pushRoomStateTasks = new Set<Promise<void>>();\n // Room ID → event type → state key → events to be pushed\n private readonly pushRoomStateResult = new Map<string, Map<string, Map<string, IRoomEvent>>>();\n private flushRoomStateTask: Promise<void> | null = null;\n\n /**\n * Creates a new client widget API. This will instantiate the transport\n * and start everything. When the iframe is loaded under the widget's\n * conditions, a \"ready\" event will be raised.\n * @param {Widget} widget The widget to communicate with.\n * @param {HTMLIFrameElement} iframe The iframe the widget is in.\n * @param {WidgetDriver} driver The driver for this widget/client.\n */\n public constructor(\n public readonly widget: Widget,\n iframe: HTMLIFrameElement,\n private readonly driver: WidgetDriver,\n ) {\n super();\n if (!iframe?.contentWindow) {\n throw new Error(\"No iframe supplied\");\n }\n if (!widget) {\n throw new Error(\"Invalid widget\");\n }\n if (!driver) {\n throw new Error(\"Invalid driver\");\n }\n this.transport = new PostmessageTransport(\n WidgetApiDirection.ToWidget,\n widget.id,\n iframe.contentWindow,\n globalThis,\n );\n this.transport.targetOrigin = widget.origin;\n this.transport.on(\"message\", this.handleMessage.bind(this));\n\n iframe.addEventListener(\"load\", this.onIframeLoad.bind(this));\n\n this.transport.start();\n }\n\n public hasCapability(capability: Capability): boolean {\n return this.allowedCapabilities.has(capability);\n }\n\n public canUseRoomTimeline(roomId: string | Symbols.AnyRoom): boolean {\n return (\n this.hasCapability(`org.matrix.msc2762.timeline:${Symbols.AnyRoom}`) ||\n this.hasCapability(`org.matrix.msc2762.timeline:${roomId}`)\n );\n }\n\n public canSendRoomEvent(eventType: string, msgtype: string | null = null): boolean {\n return this.allowedEvents.some((e) => e.matchesAsRoomEvent(EventDirection.Send, eventType, msgtype));\n }\n\n public canSendStateEvent(eventType: string, stateKey: string): boolean {\n return this.allowedEvents.some((e) => e.matchesAsStateEvent(EventDirection.Send, eventType, stateKey));\n }\n\n public canSendToDeviceEvent(eventType: string): boolean {\n return this.allowedEvents.some((e) => e.matchesAsToDeviceEvent(EventDirection.Send, eventType));\n }\n\n public canReceiveRoomEvent(eventType: string, msgtype: string | null = null): boolean {\n return this.allowedEvents.some((e) => e.matchesAsRoomEvent(EventDirection.Receive, eventType, msgtype));\n }\n\n public canReceiveStateEvent(eventType: string, stateKey: string | null): boolean {\n return this.allowedEvents.some((e) => e.matchesAsStateEvent(EventDirection.Receive, eventType, stateKey));\n }\n\n public canReceiveToDeviceEvent(eventType: string): boolean {\n return this.allowedEvents.some((e) => e.matchesAsToDeviceEvent(EventDirection.Receive, eventType));\n }\n\n public canReceiveRoomAccountData(eventType: string): boolean {\n return this.allowedEvents.some((e) => e.matchesAsRoomAccountData(EventDirection.Receive, eventType));\n }\n\n public stop(): void {\n this.isStopped = true;\n this.transport.stop();\n }\n\n public async getWidgetVersions(): Promise<ApiVersion[]> {\n if (Array.isArray(this.cachedWidgetVersions)) {\n return this.cachedWidgetVersions;\n }\n\n try {\n const r = await this.transport.send<IWidgetApiRequestEmptyData, ISupportedVersionsActionResponseData>(\n WidgetApiToWidgetAction.SupportedApiVersions,\n {},\n );\n this.cachedWidgetVersions = r.supported_versions;\n return r.supported_versions;\n } catch (e) {\n console.warn(\"non-fatal error getting supported widget versions: \", e);\n return [];\n }\n }\n\n private beginCapabilities(): void {\n // widget has loaded - tell all the listeners that\n this.emit(\"preparing\");\n\n let requestedCaps: Capability[];\n this.transport\n .send<IWidgetApiRequestEmptyData, ICapabilitiesActionResponseData>(WidgetApiToWidgetAction.Capabilities, {})\n .then((caps) => {\n requestedCaps = caps.capabilities;\n return this.driver.validateCapabilities(new Set(caps.capabilities));\n })\n .then((allowedCaps) => {\n this.allowCapabilities([...allowedCaps], requestedCaps);\n this.emit(\"ready\");\n })\n .catch((e) => {\n this.emit(\"error:preparing\", e);\n });\n }\n\n private allowCapabilities(allowed: string[], requested: string[]): void {\n console.log(`Widget ${this.widget.id} is allowed capabilities:`, allowed);\n\n for (const c of allowed) this.allowedCapabilities.add(c);\n const allowedEvents = WidgetEventCapability.findEventCapabilities(allowed);\n this.allowedEvents.push(...allowedEvents);\n\n this.transport\n .send(WidgetApiToWidgetAction.NotifyCapabilities, <INotifyCapabilitiesActionRequestData>{\n requested,\n approved: Array.from(this.allowedCapabilities),\n })\n .catch((e) => {\n console.warn(\"non-fatal error notifying widget of approved capabilities:\", e);\n })\n .then(() => {\n this.emit(\"capabilitiesNotified\");\n });\n\n // Push the initial room state for all rooms with a timeline capability\n for (const c of allowed) {\n if (isTimelineCapability(c)) {\n const roomId = getTimelineRoomIDFromCapability(c);\n if (roomId === Symbols.AnyRoom) {\n for (const roomId of this.driver.getKnownRooms()) {\n this.pushRoomState(roomId);\n }\n } else {\n this.pushRoomState(roomId);\n }\n }\n }\n\n if (allowed.includes(MatrixCapabilities.MSC4407ReceiveStickyEvent)) {\n console.debug(`Widget ${this.widget.id} is allowed to receive sticky events, check current sticky state.`);\n // If the widget can receive sticky events, push all sticky events in known rooms now.\n // Sticky events are like a state, and passed history is needed to get the full state.\n const roomIds = allowed\n .filter((capability) => isTimelineCapability(capability))\n .map((timelineCapability) => getTimelineRoomIDFromCapability(timelineCapability))\n .flatMap((roomIdOrWildcard) => {\n if (roomIdOrWildcard === Symbols.AnyRoom) {\n // Do we support getting sticky state for any room?\n return this.driver.getKnownRooms();\n } else {\n return roomIdOrWildcard;\n }\n });\n console.debug(`Widget ${this.widget.id} is allowed to receive sticky events in rooms:`, roomIds);\n\n for (const roomId of roomIds) {\n this.pushStickyState(roomId).catch((err) => {\n console.error(`Failed to push sticky events to widget ${this.widget.id} for room ${roomId}:`, err);\n });\n }\n }\n\n // If new events are allowed and the currently viewed room isn't covered\n // by a timeline capability, then we know that there could be some state\n // in the viewed room that the widget hasn't learned about yet- push it.\n if (allowedEvents.length > 0 && this.viewedRoomId !== null && !this.canUseRoomTimeline(this.viewedRoomId)) {\n this.pushRoomState(this.viewedRoomId);\n }\n }\n\n private onIframeLoad(ev: Event): void {\n if (this.widget.waitForIframeLoad) {\n // If the widget is set to waitForIframeLoad the capabilities immediately get setup after load.\n // The client does not wait for the ContentLoaded action.\n this.beginCapabilities();\n } else {\n // Reaching this means, that the Iframe got reloaded/loaded and\n // the clientApi is awaiting the FIRST ContentLoaded action.\n console.log(\"waitForIframeLoad is false: waiting for widget to send contentLoaded\");\n this.contentLoadedWaitTimer = setTimeout(() => {\n console.error(\n \"Widget specified waitForIframeLoad=false but timed out waiting for contentLoaded event!\",\n );\n }, 10000);\n this.contentLoadedActionSent = false;\n }\n }\n\n private handleContentLoadedAction(action: IContentLoadedActionRequest): void {\n if (this.contentLoadedWaitTimer !== undefined) {\n clearTimeout(this.contentLoadedWaitTimer);\n this.contentLoadedWaitTimer = undefined;\n }\n if (this.contentLoadedActionSent) {\n throw new Error(\n \"Improper sequence: ContentLoaded Action can only be sent once after the widget loaded \" +\n \"and should only be used if waitForIframeLoad is false (default=true)\",\n );\n }\n if (this.widget.waitForIframeLoad) {\n this.transport.reply(action, <IWidgetApiErrorResponseData>{\n error: {\n message:\n \"Improper sequence: not expecting ContentLoaded event if \" +\n \"waitForIframeLoad is true (default=true)\",\n },\n });\n } else {\n this.transport.reply(action, <IWidgetApiRequestEmptyData>{});\n this.beginCapabilities();\n }\n this.contentLoadedActionSent = true;\n }\n\n private replyVersions(request: ISupportedVersionsActionRequest): void {\n this.transport.reply<ISupportedVersionsActionResponseData>(request, {\n supported_versions: CurrentApiVersions,\n });\n }\n\n private async supportsUpdateState(): Promise<boolean> {\n return (await this.getWidgetVersions()).includes(UnstableApiVersion.MSC2762_UPDATE_STATE);\n }\n\n private handleCapabilitiesRenegotiate(request: IRenegotiateCapabilitiesActionRequest): void {\n // acknowledge first\n this.transport.reply<IWidgetApiAcknowledgeResponseData>(request, {});\n\n const requested = request.data?.capabilities || [];\n const newlyRequested = new Set(requested.filter((r) => !this.hasCapability(r)));\n if (newlyRequested.size === 0) {\n // Nothing to do - skip validation\n this.allowCapabilities([], []);\n }\n\n this.driver\n .validateCapabilities(newlyRequested)\n .then((allowed) => this.allowCapabilities([...allowed], [...newlyRequested]));\n }\n\n private handleNavigate(request: INavigateActionRequest): void {\n if (!this.hasCapability(MatrixCapabilities.MSC2931Navigate)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Missing capability\" },\n });\n }\n\n if (!request.data?.uri.startsWith(\"https://matrix.to/#\")) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid matrix.to URI\" },\n });\n }\n\n const onErr = (e: unknown): void => {\n console.error(\"[ClientWidgetApi] Failed to handle navigation: \", e);\n this.handleDriverError(e, request, \"Error handling navigation\");\n };\n\n try {\n this.driver\n .navigate(request.data.uri.toString())\n .catch((e: unknown) => onErr(e))\n .then(() => {\n return this.transport.reply<IWidgetApiAcknowledgeResponseData>(request, {});\n });\n } catch (e) {\n return onErr(e);\n }\n }\n\n private handleOIDC(request: IGetOpenIDActionRequest): void {\n let phase = 1; // 1 = initial request, 2 = after user manual confirmation\n\n const replyState = (\n state: OpenIDRequestState,\n credential?: IOpenIDCredentials,\n ): void | Promise<IWidgetApiAcknowledgeResponseData> => {\n credential = credential || {};\n if (phase > 1) {\n return this.transport.send<IOpenIDCredentialsActionRequestData>(\n WidgetApiToWidgetAction.OpenIDCredentials,\n {\n state: state,\n original_request_id: request.requestId,\n ...credential,\n },\n );\n } else {\n return this.transport.reply<IGetOpenIDActionResponseData>(request, {\n state: state,\n ...credential,\n });\n }\n };\n\n const replyError = (msg: string): void | Promise<IWidgetApiAcknowledgeResponseData> => {\n console.error(\"[ClientWidgetApi] Failed to handle OIDC: \", msg);\n if (phase > 1) {\n // We don't have a way to indicate that a random error happened in this flow, so\n // just block the attempt.\n return replyState(OpenIDRequestState.Blocked);\n } else {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: msg },\n });\n }\n };\n\n const observer = new SimpleObservable<IOpenIDUpdate>((update) => {\n if (update.state === OpenIDRequestState.PendingUserConfirmation && phase > 1) {\n observer.close();\n return replyError(\"client provided out-of-phase response to OIDC flow\");\n }\n\n if (update.state === OpenIDRequestState.PendingUserConfirmation) {\n replyState(update.state);\n phase++;\n return;\n }\n\n if (update.state === OpenIDRequestState.Allowed && !update.token) {\n return replyError(\"client provided invalid OIDC token for an allowed request\");\n }\n if (update.state === OpenIDRequestState.Blocked) {\n update.token = undefined; // just in case the client did something weird\n }\n\n observer.close();\n return replyState(update.state, update.token);\n });\n\n this.driver.askOpenID(observer);\n }\n\n private handleReadRoomAccountData(request: IReadRoomAccountDataFromWidgetActionRequest): void | Promise<void> {\n const events = this.driver.readRoomAccountData(request.data.type);\n\n if (!this.canReceiveRoomAccountData(request.data.type)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Cannot read room account data of this type\" },\n });\n }\n\n return events.then((evs) => {\n this.transport.reply<IReadRoomAccountDataFromWidgetResponseData>(request, { events: evs });\n });\n }\n\n private async handleReadEvents(request: IReadEventFromWidgetActionRequest): Promise<void> {\n if (!request.data.type) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - missing event type\" },\n });\n }\n if (request.data.limit !== undefined && (!request.data.limit || request.data.limit < 0)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - limit out of range\" },\n });\n }\n\n let askRoomIds: string[];\n if (request.data.room_ids === undefined) {\n askRoomIds = this.viewedRoomId === null ? [] : [this.viewedRoomId];\n } else if (request.data.room_ids === Symbols.AnyRoom) {\n askRoomIds = this.driver.getKnownRooms().filter((roomId) => this.canUseRoomTimeline(roomId));\n } else {\n askRoomIds = request.data.room_ids;\n for (const roomId of askRoomIds) {\n if (!this.canUseRoomTimeline(roomId)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: `Unable to access room timeline: ${roomId}` },\n });\n }\n }\n }\n\n const limit = request.data.limit || 0;\n const since = request.data.since;\n\n let stateKey: string | undefined = undefined;\n let msgtype: string | undefined = undefined;\n if (request.data.state_key !== undefined) {\n stateKey = request.data.state_key === true ? undefined : request.data.state_key.toString();\n if (!this.canReceiveStateEvent(request.data.type, stateKey ?? null)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Cannot read state events of this type\" },\n });\n }\n } else {\n msgtype = request.data.msgtype;\n if (!this.canReceiveRoomEvent(request.data.type, msgtype)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Cannot read room events of this type\" },\n });\n }\n }\n\n let events: IRoomEvent[];\n\n if (request.data.room_ids === undefined && askRoomIds.length === 0) {\n // For backwards compatibility we still call the deprecated\n // readRoomEvents and readStateEvents methods in case the client isn't\n // letting us know the currently viewed room via setViewedRoomId\n //\n // This can be considered as a deprecated implementation.\n // A driver should call `setViewedRoomId` on the widget messaging and implement the new readRoomState and readRoomTimeline\n // Methods.\n // This block makes sure that it is also possible to not use setViewedRoomId.\n // readRoomTimeline and readRoomState are required however! Otherwise widget requests that include\n // `room_ids` will fail.\n console.warn(\n \"The widgetDriver uses deprecated behaviour:\\n It does not set the viewedRoomId using `setViewedRoomId`\",\n );\n events = await // This returns [] with the current driver of Element Web.\n // Add default implementations of the `readRoomEvents` and `readStateEvents`\n // methods to use `readRoomTimeline` and `readRoomState` if they are not overwritten.\n (request.data.state_key === undefined\n ? this.driver.readRoomEvents(request.data.type, msgtype, limit, null, since)\n : this.driver.readStateEvents(request.data.type, stateKey, limit, null));\n } else if (await this.supportsUpdateState()) {\n // Calling read_events with a stateKey still reads from the rooms timeline (not the room state).\n events = (\n await Promise.all(\n askRoomIds.map((roomId) =>\n this.driver.readRoomTimeline(roomId, request.data.type, msgtype, stateKey, limit, since),\n ),\n )\n ).flat(1);\n } else {\n // TODO: remove this once `UnstableApiVersion.MSC2762_UPDATE_STATE` becomes stable.\n // Before version `MSC2762_UPDATE_STATE` we used readRoomState for read_events actions.\n events = (\n request.data.state_key === undefined\n ? await Promise.all(\n askRoomIds.map((roomId) =>\n this.driver.readRoomTimeline(roomId, request.data.type, msgtype, stateKey, limit, since),\n ),\n )\n : await Promise.all(\n askRoomIds.map((roomId) => this.driver.readRoomState(roomId, request.data.type, stateKey)),\n )\n ).flat(1);\n }\n\n this.transport.reply<IReadEventFromWidgetResponseData>(request, { events });\n }\n\n private handleSendEvent(request: ISendEventFromWidgetActionRequest): void {\n if (!request.data.type) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - missing event type\" },\n });\n }\n\n if (!!request.data.room_id && !this.canUseRoomTimeline(request.data.room_id)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: `Unable to access room timeline: ${request.data.room_id}` },\n });\n }\n\n if (request.data.parent_delay_id !== undefined) {\n console.warn(\"Data includes parent_delay_id, but the widgetDriver ignores it\");\n }\n\n const delay = request.data.delay;\n if (delay !== undefined && !this.hasCapability(MatrixCapabilities.MSC4157SendDelayedEvent)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: `Missing capability for ${MatrixCapabilities.MSC4157SendDelayedEvent}` },\n });\n }\n\n const isStickyEvent = request.data.sticky_duration_ms !== undefined;\n if (isStickyEvent && !this.hasCapability(MatrixCapabilities.MSC4407SendStickyEvent)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: `Missing capability for ${MatrixCapabilities.MSC4407SendStickyEvent}` },\n });\n }\n\n let sendEventPromise: Promise<ISendEventDetails | ISendDelayedEventDetails>;\n if (request.data.state_key !== undefined) {\n if (!this.canSendStateEvent(request.data.type, request.data.state_key)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Cannot send state events of this type\" },\n });\n }\n if (isStickyEvent) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Cannot send a state event with a sticky duration\" },\n });\n }\n\n if (delay !== undefined) {\n sendEventPromise = this.driver.sendDelayedEvent(\n delay,\n request.data.type,\n request.data.content || {},\n request.data.state_key,\n request.data.room_id,\n );\n } else {\n sendEventPromise = this.driver.sendEvent(\n request.data.type,\n request.data.content || {},\n request.data.state_key,\n request.data.room_id,\n );\n }\n } else {\n const content = (request.data.content as { msgtype?: string }) || {};\n const msgtype = content[\"msgtype\"];\n if (!this.canSendRoomEvent(request.data.type, msgtype)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Cannot send room events of this type\" },\n });\n }\n\n // Events can be sticky, delayed, both, or neither. The following\n // section of code takes the common parameters and uses the correct\n // function depending on the request type.\n\n const params: Parameters<WidgetDriver[\"sendEvent\"]> = [\n request.data.type,\n content,\n null, // not sending a state event\n request.data.room_id,\n ];\n\n if (delay !== undefined && request.data.sticky_duration_ms) {\n sendEventPromise = this.driver.sendDelayedStickyEvent(\n delay,\n request.data.sticky_duration_ms,\n request.data.type,\n content,\n request.data.room_id,\n );\n } else if (delay !== undefined) {\n sendEventPromise = this.driver.sendDelayedEvent(delay, ...params);\n } else if (request.data.sticky_duration_ms) {\n sendEventPromise = this.driver.sendStickyEvent(\n request.data.sticky_duration_ms,\n request.data.type,\n content,\n request.data.room_id,\n );\n } else {\n sendEventPromise = this.driver.sendEvent(...params);\n }\n }\n\n sendEventPromise\n .then((sentEvent) => {\n return this.transport.reply<ISendEventFromWidgetResponseData>(request, {\n room_id: sentEvent.roomId,\n ...(\"eventId\" in sentEvent\n ? {\n event_id: sentEvent.eventId,\n }\n : {\n delay_id: sentEvent.delayId,\n }),\n });\n })\n .catch((e: unknown) => {\n console.error(\"error sending event: \", e);\n this.handleDriverError(e, request, \"Error sending event\");\n });\n }\n\n private handleUpdateDelayedEvent(request: IUpdateDelayedEventFromWidgetActionRequest): void {\n if (!request.data.delay_id) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - missing delay_id\" },\n });\n }\n\n if (!this.hasCapability(MatrixCapabilities.MSC4157UpdateDelayedEvent)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Missing capability\" },\n });\n }\n\n let updateDelayedEvent: (delayId: string) => Promise<void>;\n switch (request.data.action) {\n case UpdateDelayedEventAction.Cancel:\n updateDelayedEvent = this.driver.cancelScheduledDelayedEvent;\n break;\n case UpdateDelayedEventAction.Restart:\n updateDelayedEvent = this.driver.restartScheduledDelayedEvent;\n break;\n case UpdateDelayedEventAction.Send:\n updateDelayedEvent = this.driver.sendScheduledDelayedEvent;\n break;\n default:\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - unsupported action\" },\n });\n }\n updateDelayedEvent\n .call(this.driver, request.data.delay_id)\n .then(() => {\n return this.transport.reply<IWidgetApiAcknowledgeResponseData>(request, {});\n })\n .catch((e: unknown) => {\n console.error(\"error updating delayed event: \", e);\n this.handleDriverError(e, request, \"Error updating delayed event\");\n });\n }\n\n private async handleSendToDevice(request: ISendToDeviceFromWidgetActionRequest): Promise<void> {\n if (!request.data.type) {\n this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - missing event type\" },\n });\n } else if (!request.data.messages) {\n this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - missing event contents\" },\n });\n } else if (typeof request.data.encrypted !== \"boolean\") {\n this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - missing encryption flag\" },\n });\n } else if (!this.canSendToDeviceEvent(request.data.type)) {\n this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Cannot send to-device events of this type\" },\n });\n } else {\n try {\n await this.driver.sendToDevice(request.data.type, request.data.encrypted, request.data.messages);\n this.transport.reply<ISendToDeviceFromWidgetResponseData>(request, {});\n } catch (e) {\n console.error(\"error sending to-device event\", e);\n this.handleDriverError(e, request, \"Error sending event\");\n }\n }\n }\n\n private async pollTurnServers(turnServers: AsyncGenerator<ITurnServer>, initialServer: ITurnServer): Promise<void> {\n try {\n await this.transport.send<IUpdateTurnServersRequestData>(\n WidgetApiToWidgetAction.UpdateTurnServers,\n initialServer as IUpdateTurnServersRequestData, // it's compatible, but missing the index signature\n );\n\n // Pick the generator up where we left off\n for await (const server of turnServers) {\n await this.transport.send<IUpdateTurnServersRequestData>(\n WidgetApiToWidgetAction.UpdateTurnServers,\n server as IUpdateTurnServersRequestData, // it's compatible, but missing the index signature\n );\n }\n } catch (e) {\n console.error(\"error polling for TURN servers\", e);\n }\n }\n\n private async handleWatchTurnServers(request: IWatchTurnServersRequest): Promise<void> {\n if (!this.hasCapability(MatrixCapabilities.MSC3846TurnServers)) {\n this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Missing capability\" },\n });\n } else if (this.turnServers) {\n // We're already polling, so this is a no-op\n this.transport.reply<IWidgetApiAcknowledgeResponseData>(request, {});\n } else {\n try {\n const turnServers = this.driver.getTurnServers();\n\n // Peek at the first result, so we can at least verify that the\n // client isn't banned from getting TURN servers entirely\n const { done, value } = await turnServers.next();\n if (done) throw new Error(\"Client refuses to provide any TURN servers\");\n this.transport.reply<IWidgetApiAcknowledgeResponseData>(request, {});\n\n // Start the poll loop, sending the widget the initial result\n this.pollTurnServers(turnServers, value);\n this.turnServers = turnServers;\n } catch (e) {\n console.error(\"error getting first TURN server results\", e);\n this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"TURN servers not available\" },\n });\n }\n }\n }\n\n private async handleUnwatchTurnServers(request: IUnwatchTurnServersRequest): Promise<void> {\n if (!this.hasCapability(MatrixCapabilities.MSC3846TurnServers)) {\n this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Missing capability\" },\n });\n } else if (!this.turnServers) {\n // We weren't polling anyways, so this is a no-op\n this.transport.reply<IWidgetApiAcknowledgeResponseData>(request, {});\n } else {\n // Stop the generator, allowing it to clean up\n await this.turnServers.return(undefined);\n this.turnServers = null;\n this.transport.reply<IWidgetApiAcknowledgeResponseData>(request, {});\n }\n }\n\n private async handleReadRelations(request: IReadRelationsFromWidgetActionRequest): Promise<void> {\n if (!request.data.event_id) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - missing event ID\" },\n });\n }\n\n if (request.data.limit !== undefined && request.data.limit < 0) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - limit out of range\" },\n });\n }\n\n if (request.data.room_id !== undefined && !this.canUseRoomTimeline(request.data.room_id)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: `Unable to access room timeline: ${request.data.room_id}` },\n });\n }\n\n try {\n const result = await this.driver.readEventRelations(\n request.data.event_id,\n request.data.room_id,\n request.data.rel_type,\n request.data.event_type,\n request.data.from,\n request.data.to,\n request.data.limit,\n request.data.direction,\n );\n\n // only return events that the user has the permission to receive\n const chunk = result.chunk.filter((e) => {\n if (e.state_key !== undefined) {\n return this.canReceiveStateEvent(e.type, e.state_key);\n } else {\n return this.canReceiveRoomEvent(e.type, (e.content as { msgtype?: string })[\"msgtype\"]);\n }\n });\n\n return this.transport.reply<IReadRelationsFromWidgetResponseData>(request, {\n chunk,\n prev_batch: result.prevBatch,\n next_batch: result.nextBatch,\n });\n } catch (e) {\n console.error(\"error getting the relations\", e);\n this.handleDriverError(e, request, \"Unexpected error while reading relations\");\n }\n }\n\n private async handleUserDirectorySearch(request: IUserDirectorySearchFromWidgetActionRequest): Promise<void> {\n if (!this.hasCapability(MatrixCapabilities.MSC3973UserDirectorySearch)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Missing capability\" },\n });\n }\n\n if (typeof request.data.search_term !== \"string\") {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - missing search term\" },\n });\n }\n\n if (request.data.limit !== undefined && request.data.limit < 0) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Invalid request - limit out of range\" },\n });\n }\n\n try {\n const result = await this.driver.searchUserDirectory(request.data.search_term, request.data.limit);\n\n return this.transport.reply<IUserDirectorySearchFromWidgetResponseData>(request, {\n limited: result.limited,\n results: result.results.map((r) => ({\n user_id: r.userId,\n display_name: r.displayName,\n avatar_url: r.avatarUrl,\n })),\n });\n } catch (e) {\n console.error(\"error searching in the user directory\", e);\n this.handleDriverError(e, request, \"Unexpected error while searching in the user directory\");\n }\n }\n\n private async handleGetMediaConfig(request: IGetMediaConfigActionFromWidgetActionRequest): Promise<void> {\n if (!this.hasCapability(MatrixCapabilities.MSC4039UploadFile)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Missing capability\" },\n });\n }\n\n try {\n const result = await this.driver.getMediaConfig();\n\n return this.transport.reply<IGetMediaConfigActionFromWidgetResponseData>(request, result);\n } catch (e) {\n console.error(\"error while getting the media configuration\", e);\n this.handleDriverError(e, request, \"Unexpected error while getting the media configuration\");\n }\n }\n\n private async handleRtcTransports(request: IRtcTransportsFromWidgetActionRequest): Promise<void> {\n if (!this.hasCapability(MatrixCapabilities.MSC4515RtcTransports)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Missing capability\" },\n });\n }\n\n try {\n const result = await this.driver.getRtcTransports();\n\n return this.transport.reply<IRtcTransportsFromWidgetResponseData>(request, {\n rtc_transports: result.rtc_transports,\n });\n } catch (e) {\n console.error(\"error while getting the RTC transports\", e);\n this.handleDriverError(e, request, \"Unexpected error while getting the RTC transports\");\n }\n }\n\n private async handleUploadFile(request: IUploadFileActionFromWidgetActionRequest): Promise<void> {\n if (!this.hasCapability(MatrixCapabilities.MSC4039UploadFile)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Missing capability\" },\n });\n }\n\n try {\n const result = await this.driver.uploadFile(request.data.file);\n\n return this.transport.reply<IUploadFileActionFromWidgetResponseData>(request, {\n content_uri: result.contentUri,\n });\n } catch (e) {\n console.error(\"error while uploading a file\", e);\n this.handleDriverError(e, request, \"Unexpected error while uploading a file\");\n }\n }\n\n private async handleDownloadFile(request: IDownloadFileActionFromWidgetActionRequest): Promise<void> {\n if (!this.hasCapability(MatrixCapabilities.MSC4039DownloadFile)) {\n return this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: { message: \"Missing capability\" },\n });\n }\n\n try {\n const result = await this.driver.downloadFile(request.data.content_uri);\n\n return this.transport.reply<IDownloadFileActionFromWidgetResponseData>(request, { file: result.file });\n } catch (e) {\n console.error(\"error while downloading a file\", e);\n this.handleDriverError(e, request, \"Unexpected error while downloading a file\");\n }\n }\n\n private handleDriverError(e: unknown, request: IWidgetApiRequest, message: string): void {\n const data = this.driver.processError(e);\n this.transport.reply<IWidgetApiErrorResponseData>(request, {\n error: {\n message,\n ...data,\n },\n });\n }\n\n private handleMessage(ev: CustomEvent<IWidgetApiRequest>): void | Promise<void> {\n if (this.isStopped) return;\n const actionEv = new CustomEvent(`action:${ev.detail.action}`, {\n detail: ev.detail,\n cancelable: true,\n });\n this.emit(`action:${ev.detail.action}`, actionEv);\n if (!actionEv.defaultPrevented) {\n switch (ev.detail.action) {\n case WidgetApiFromWidgetAction.ContentLoaded:\n return this.handleContentLoadedAction(<IContentLoadedActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.SupportedApiVersions:\n return this.replyVersions(<ISupportedVersionsActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.SendEvent:\n return this.handleSendEvent(<ISendEventFromWidgetActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.SendToDevice:\n return this.handleSendToDevice(<ISendToDeviceFromWidgetActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.GetOpenIDCredentials:\n return this.handleOIDC(<IGetOpenIDActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.MSC2931Navigate:\n return this.handleNavigate(<INavigateActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.MSC2974RenegotiateCapabilities:\n return this.handleCapabilitiesRenegotiate(<IRenegotiateCapabilitiesActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.MSC2876ReadEvents:\n return this.handleReadEvents(<IReadEventFromWidgetActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.WatchTurnServers:\n return this.handleWatchTurnServers(<IWatchTurnServersRequest>ev.detail);\n case WidgetApiFromWidgetAction.UnwatchTurnServers:\n return this.handleUnwatchTurnServers(<IUnwatchTurnServersRequest>ev.detail);\n case WidgetApiFromWidgetAction.MSC3869ReadRelations:\n return this.handleReadRelations(<IReadRelationsFromWidgetActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.MSC3973UserDirectorySearch:\n return this.handleUserDirectorySearch(<IUserDirectorySearchFromWidgetActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.BeeperReadRoomAccountData:\n return this.handleReadRoomAccountData(<IReadRoomAccountDataFromWidgetActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.MSC4039GetMediaConfigAction:\n return this.handleGetMediaConfig(<IGetMediaConfigActionFromWidgetActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.MSC4515GetRtcTransports:\n return this.handleRtcTransports(<IRtcTransportsFromWidgetActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.MSC4039UploadFileAction:\n return this.handleUploadFile(<IUploadFileActionFromWidgetActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.MSC4039DownloadFileAction:\n return this.handleDownloadFile(<IDownloadFileActionFromWidgetActionRequest>ev.detail);\n case WidgetApiFromWidgetAction.MSC4157UpdateDelayedEvent:\n return this.handleUpdateDelayedEvent(<IUpdateDelayedEventFromWidgetActionRequest>ev.detail);\n\n default:\n return this.transport.reply(ev.detail, <IWidgetApiErrorResponseData>{\n error: {\n message: \"Unknown or unsupported from-widget action: \" + ev.detail.action,\n },\n });\n }\n }\n }\n\n /**\n * Informs the widget that the client's theme has changed.\n * @param theme The theme data, as an object with arbitrary contents.\n */\n public updateTheme(theme: IThemeChangeActionRequestData): Promise<IWidgetApiResponseData> {\n return this.transport.send(WidgetApiToWidgetAction.ThemeChange, theme);\n }\n\n /**\n * Informs the widget that the client's language has changed.\n * @param lang The BCP 47 identifier representing the client's current language.\n */\n public updateLanguage(lang: string): Promise<IWidgetApiResponseData> {\n return this.transport.send(WidgetApiToWidgetAction.LanguageChange, { lang });\n }\n\n /**\n * Takes a screenshot of the widget.\n * @returns Resolves to the widget's screenshot.\n * @throws Throws if there is a problem.\n */\n public takeScreenshot(): Promise<IScreenshotActionResponseData> {\n return this.transport.send(WidgetApiToWidgetAction.TakeScreenshot, <IWidgetApiRequestEmptyData>{});\n }\n\n /**\n * Alerts the widget to whether or not it is currently visible.\n * @param {boolean} isVisible Whether the widget is visible or not.\n * @returns {Promise<IWidgetApiResponseData>} Resolves when the widget acknowledges the update.\n */\n public updateVisibility(isVisible: boolean): Promise<IWidgetApiResponseData> {\n return this.transport.send(WidgetApiToWidgetAction.UpdateVisibility, <IVisibilityActionRequestData>{\n visible: isVisible,\n });\n }\n\n public sendWidgetConfig(data: IModalWidgetOpenRequestData): Promise<void> {\n return this.transport.send<IModalWidgetOpenRequestData>(WidgetApiToWidgetAction.WidgetConfig, data).then();\n }\n\n public notifyModalWidgetButtonClicked(id: IModalWidgetOpenRequestDataButton[\"id\"]): Promise<void> {\n return this.transport\n .send<IModalWidgetButtonClickedRequestData>(WidgetApiToWidgetAction.ButtonClicked, { id })\n .then();\n }\n\n public notifyModalWidgetClose(data: IModalWidgetReturnData): Promise<void> {\n return this.transport.send<IModalWidgetReturnData>(WidgetApiToWidgetAction.CloseModalWidget, data).then();\n }\n\n /**\n * Feeds an event to the widget. As a client you are expected to call this\n * for every new event in every room to which you are joined or invited.\n * @param {IRoomEvent} rawEvent The event to (try to) send to the widget.\n * @param {string} currentViewedRoomId The room ID the user is currently\n * interacting with. Not the room ID of the event.\n * @returns {Promise<void>} Resolves when delivered or if the widget is not\n * able to read the event due to permissions, rejects if the widget failed\n * to handle the event.\n * @deprecated It is recommended to communicate the viewed room ID by calling\n * {@link ClientWidgetApi.setViewedRoomId} rather than passing it to this\n * method.\n */\n public async feedEvent(rawEvent: IRoomEvent, currentViewedRoomId: string): Promise<void>;\n /**\n * Feeds an event to the widget. As a client you are expected to call this\n * for every new event (including state events) in every room to which you are joined or invited.\n * @param {IRoomEvent} rawEvent The event to (try to) send to the widget.\n * @returns {Promise<void>} Resolves when delivered or if the widget is not\n * able to read the event due to permissions, rejects if the widget failed\n * to handle the event.\n */\n public async feedEvent(rawEvent: IRoomEvent): Promise<void>;\n public async feedEvent(rawEvent: IRoomEvent, currentViewedRoomId?: string): Promise<void> {\n if (currentViewedRoomId !== undefined) this.setViewedRoomId(currentViewedRoomId);\n if (rawEvent.room_id !== this.viewedRoomId && !this.canUseRoomTimeline(rawEvent.room_id)) {\n return; // no-op\n }\n\n if (rawEvent.state_key !== undefined && rawEvent.state_key !== null) {\n // state event\n if (!this.canReceiveStateEvent(rawEvent.type, rawEvent.state_key)) {\n return; // no-op\n }\n } else {\n // message event\n if (!this.canReceiveRoomEvent(rawEvent.type, (rawEvent.content as { msgtype?: string })?.[\"msgtype\"])) {\n return; // no-op\n }\n }\n\n // Feed the event into the widget\n await this.transport.send<ISendEventToWidgetRequestData>(\n WidgetApiToWidgetAction.SendEvent,\n // it's compatible, but missing the index signature\n rawEvent as ISendEventToWidgetRequestData,\n );\n }\n\n /**\n * Feeds a to-device event to the widget. As a client you are expected to\n * call this for every to-device event you receive.\n * @param {IRoomEvent} rawEvent The event to (try to) send to the widget.\n * @param {boolean} encrypted Whether the event contents were encrypted.\n * @returns {Promise<void>} Resolves when delivered or if the widget is not\n * able to receive the event due to permissions, rejects if the widget\n * failed to handle the event.\n */\n public async feedToDevice(message: IToDeviceMessage, encrypted: boolean): Promise<void> {\n if (this.canReceiveToDeviceEvent(message.type)) {\n await this.transport.send<ISendToDeviceToWidgetRequestData>(WidgetApiToWidgetAction.SendToDevice, {\n ...message,\n encrypted,\n });\n }\n }\n\n private viewedRoomId: string | null = null;\n\n /**\n * Indicate that a room is being viewed (making it possible for the widget\n * to interact with it).\n */\n public setViewedRoomId(roomId: string | null): void {\n this.viewedRoomId = roomId;\n // If the widget doesn't have timeline permissions for the room then\n // this is its opportunity to learn the room state. We push the entire\n // room state, which could be redundant if this room had been viewed\n // once before, but it's easier than selectively pushing just the bits\n // of state that changed while the room was in the background.\n if (roomId !== null && !this.canUseRoomTimeline(roomId)) this.pushRoomState(roomId);\n }\n\n private async flushRoomState(): Promise<void> {\n try {\n // Only send a single action once all concurrent tasks have completed\n do await Promise.all(this.pushRoomStateTasks);\n while (this.pushRoomStateTasks.size > 0);\n\n const events: IRoomEvent[] = [];\n for (const eventTypeMap of this.pushRoomStateResult.values()) {\n for (const stateKeyMap of eventTypeMap.values()) {\n events.push(...stateKeyMap.values());\n }\n }\n if ((await this.getWidgetVersions()).includes(UnstableApiVersion.MSC2762_UPDATE_STATE)) {\n // Only send state updates when using UpdateState. Otherwise the SendEvent action will be responsible for state updates.\n await this.transport.send<IUpdateStateToWidgetRequestData>(WidgetApiToWidgetAction.UpdateState, {\n state: events,\n });\n }\n } finally {\n this.flushRoomStateTask = null;\n }\n }\n\n /**\n * Reads the current sticky state of the room and pushes it to the widget.\n *\n * It will only push events that the widget is allowed to receive.\n * @param roomId\n * @private\n */\n private async pushStickyState(roomId: string): Promise<void> {\n console.debug(\"Pushing sticky state to widget for room\", roomId);\n return this.driver\n .readStickyEvents(roomId)\n .then((events) => {\n // filter to the allowed sticky events\n const filtered = events.filter((e) => {\n return this.canReceiveRoomEvent(\n e.type,\n typeof e.content?.msgtype === \"string\" ? e.content.msgtype : null,\n );\n });\n return { roomId, stickyEvents: filtered };\n })\n .then(async ({ roomId, stickyEvents }) => {\n console.debug(\"Pushing\", stickyEvents.length, \"sticky events to widget for room\", roomId);\n const promises = stickyEvents.map((rawEvent) => {\n return this.transport.send<ISendEventToWidgetRequestData>(\n WidgetApiToWidgetAction.SendEvent,\n // copied from feedEvent; it's compatible, but missing the index signature\n rawEvent as ISendEventToWidgetRequestData,\n );\n });\n await Promise.all(promises);\n });\n }\n\n /**\n * Read the room's state and push all entries that the widget is allowed to\n * read through to the widget.\n */\n private pushRoomState(roomId: string): void {\n for (const cap of this.allowedEvents) {\n if (cap.kind === EventKind.State && cap.direction === EventDirection.Receive) {\n // Initiate the task\n const events = this.driver.readRoomState(roomId, cap.eventType, cap.keyStr ?? undefined);\n const task = events\n .then(\n (events) => {\n // When complete, queue the resulting events to be\n // pushed to the widget\n for (const event of events) {\n let eventTypeMap = this.pushRoomStateResult.get(roomId);\n if (eventTypeMap === undefined) {\n eventTypeMap = new Map();\n this.pushRoomStateResult.set(roomId, eventTypeMap);\n }\n let stateKeyMap = eventTypeMap.get(cap.eventType);\n if (stateKeyMap === undefined) {\n stateKeyMap = new Map();\n eventTypeMap.set(cap.eventType, stateKeyMap);\n }\n if (!stateKeyMap.has(event.state_key!)) stateKeyMap.set(event.state_key!, event);\n }\n },\n (e) =>\n console.error(\n `Failed to read room state for ${roomId} (${cap.eventType}, ${cap.keyStr})`,\n e,\n ),\n )\n .then(() => {\n // Mark request as no longer pending\n this.pushRoomStateTasks.delete(task);\n });\n\n // Mark task as pending\n this.pushRoomStateTasks.add(task);\n // Assuming no other tasks are already happening concurrently,\n // schedule the widget action that actually pushes the events\n this.flushRoomStateTask ??= this.flushRoomState();\n this.flushRoomStateTask.catch((e) => console.error(\"Failed to push room state\", e));\n }\n }\n }\n\n /**\n * Feeds a room state update to the widget. As a client you are expected to\n * call this for every state update in every room to which you are joined or\n * invited.\n * @param {IRoomEvent} rawEvent The state event corresponding to the updated\n * room state entry.\n * @returns {Promise<void>} Resolves when delivered or if the widget is not\n * able to receive the room state due to permissions, rejects if the\n * widget failed to handle the update.\n */\n public async feedStateUpdate(rawEvent: IRoomEvent): Promise<void> {\n if (rawEvent.state_key === undefined) throw new Error(\"Not a state event\");\n if (\n (rawEvent.room_id === this.viewedRoomId || this.canUseRoomTimeline(rawEvent.room_id)) &&\n this.canReceiveStateEvent(rawEvent.type, rawEvent.state_key)\n ) {\n // Updates could race with the initial push of the room's state\n if (this.pushRoomStateTasks.size === 0) {\n // No initial push tasks are pending; safe to send immediately\n if ((await this.getWidgetVersions()).includes(UnstableApiVersion.MSC2762_UPDATE_STATE)) {\n // Only send state updates when using UpdateState. Otherwise the SendEvent action will be responsible for state updates.\n await this.transport.send<IUpdateStateToWidgetRequestData>(WidgetApiToWidgetAction.UpdateState, {\n state: [rawEvent],\n });\n }\n } else {\n // Lump the update in with whatever data will be sent in the\n // initial push later. Even if we set it to an \"outdated\" entry\n // here, we can count on any newer entries being passed to this\n // same method eventually; this won't cause stuck state.\n let eventTypeMap = this.pushRoomStateResult.get(rawEvent.room_id);\n if (eventTypeMap === undefined) {\n eventTypeMap = new Map();\n this.pushRoomStateResult.set(rawEvent.room_id, eventTypeMap);\n }\n let stateKeyMap = eventTypeMap.get(rawEvent.type);\n if (stateKeyMap === undefined) {\n stateKeyMap = new Map();\n eventTypeMap.set(rawEvent.type, stateKeyMap);\n }\n if (!stateKeyMap.has(rawEvent.type)) stateKeyMap.set(rawEvent.state_key, rawEvent);\n do await Promise.all(this.pushRoomStateTasks);\n while (this.pushRoomStateTasks.size > 0);\n await this.flushRoomStateTask;\n }\n }\n }\n}\n"],"mappings":"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"}
|