element-web-synapse01pim.gr.jp

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

rust-crypto-_--jvv76.js (252780B)


      1 import{A as e,B as t,C as n,D as r,E as i,F as a,G as o,H as s,I as c,J as l,K as u,L as d,M as f,N as p,O as m,P as h,Q as ee,R as te,S as g,T as ne,U as re,V as ie,W as _,X as ae,Y as v,Z as oe,_ as se,a as ce,b as le,c as ue,d as y,f as de,g as fe,h as pe,i as me,j as b,k as he,l as ge,m as _e,n as ve,o as ye,p as be,q as x,r as S,s as xe,t as Se,u as Ce,v as we,w as Te,x as Ee,y as C,z as De}from"./IndexedDBWorker-Cdw0EZ8A.js";var Oe=oe({Attachment:()=>ke,BackupDecryptionKey:()=>w,BackupKeys:()=>Ae,BackupSecretsBundle:()=>je,Base64EncodedPkMessage:()=>Me,BaseMigrationData:()=>Ne,CancelInfo:()=>Pe,CheckCode:()=>Fe,CollectStrategy:()=>T,CrossSigningBootstrapRequests:()=>Ie,CrossSigningKeyExport:()=>Le,CrossSigningStatus:()=>Re,Curve25519PublicKey:()=>E,Curve25519SecretKey:()=>ze,DecryptedRoomEvent:()=>Be,DecryptedToDeviceEvent:()=>Ve,DecryptionErrorCode:()=>D,DecryptionSettings:()=>He,DehydratedDevice:()=>Ue,DehydratedDeviceKey:()=>O,DehydratedDevices:()=>We,Device:()=>Ge,DeviceId:()=>k,DeviceKey:()=>Ke,DeviceKeyAlgorithm:()=>qe,DeviceKeyAlgorithmName:()=>Je,DeviceKeyId:()=>Ye,DeviceKeyName:()=>Xe,DeviceLists:()=>Ze,Ecies:()=>Qe,Ed25519PublicKey:()=>$e,Ed25519Signature:()=>et,Emoji:()=>tt,EncryptedAttachment:()=>nt,EncryptionAlgorithm:()=>rt,EncryptionInfo:()=>it,EncryptionSettings:()=>at,EstablishedEcies:()=>ot,EventId:()=>st,HistoryVisibility:()=>ct,IdentityKeys:()=>lt,InboundCreationResult:()=>ut,InboundGroupSession:()=>dt,InvalidToDeviceEvent:()=>ft,KeysBackupRequest:()=>pt,KeysClaimRequest:()=>mt,KeysQueryRequest:()=>ht,KeysUploadRequest:()=>gt,LocalTrust:()=>_t,LoggerLevel:()=>vt,MaybeSignature:()=>yt,MegolmDecryptionError:()=>bt,MegolmV1BackupKey:()=>xt,Migration:()=>St,Msc4108IntentData:()=>Ct,Msc4388IntentData:()=>wt,OlmMachine:()=>Tt,OtherUserIdentity:()=>Et,OutboundCreationResult:()=>Dt,OwnUserIdentity:()=>Ot,PickledInboundGroupSession:()=>kt,PickledSession:()=>At,PkDecryption:()=>jt,PkEncryption:()=>Mt,PkMessage:()=>Nt,PlainTextToDeviceEvent:()=>Pt,ProcessedToDeviceEventType:()=>Ft,PutDehydratedDeviceRequest:()=>It,Qr:()=>Lt,QrCode:()=>Rt,QrCodeData:()=>zt,QrCodeIntent:()=>Bt,QrCodeIntentData:()=>Vt,QrCodeScan:()=>Ht,QrState:()=>Ut,RehydratedDevice:()=>Wt,RequestType:()=>Gt,RoomId:()=>A,RoomKeyCounts:()=>Kt,RoomKeyImportResult:()=>qt,RoomKeyInfo:()=>Jt,RoomKeyWithheldInfo:()=>Yt,RoomMessageRequest:()=>Xt,RoomPendingKeyBundleDetails:()=>Zt,RoomSettings:()=>Qt,Sas:()=>$t,SecretsBundle:()=>en,ServerName:()=>tn,ShieldColor:()=>nn,ShieldState:()=>rn,ShieldStateCode:()=>an,Signature:()=>on,SignatureState:()=>sn,SignatureUploadRequest:()=>cn,SignatureVerification:()=>ln,Signatures:()=>un,StoreHandle:()=>j,StoredRoomKeyBundleData:()=>dn,ToDeviceEncryptionInfo:()=>fn,ToDeviceRequest:()=>pn,ToDeviceUnableToDecryptInfo:()=>mn,ToDeviceUnableToDecryptReason:()=>hn,Tracing:()=>gn,TrustRequirement:()=>_n,UTDToDeviceEvent:()=>vn,UploadSigningKeysRequest:()=>yn,UserDevices:()=>bn,UserId:()=>M,VerificationMethod:()=>xn,VerificationRequest:()=>Sn,VerificationRequestPhase:()=>N,Versions:()=>Cn,__wbg_Error_960c155d3d49e4c2:()=>En,__wbg_Number_32bf70a599af1d4b:()=>Dn,__wbg_String_8564e559799eccda:()=>On,__wbg_Window_241244be8c9776c1:()=>kn,__wbg_WorkerGlobalScope_8623a7c9030fbce2:()=>An,__wbg___wbindgen_bigint_get_as_i64_3d3aba5d616c6a51:()=>jn,__wbg___wbindgen_boolean_get_6ea149f0a8dcc5ff:()=>Mn,__wbg___wbindgen_debug_string_ab4b34d23d6778bd:()=>Nn,__wbg___wbindgen_in_a5d8b22e52b24dd1:()=>Pn,__wbg___wbindgen_is_bigint_ec25c7f91b4d9e93:()=>Fn,__wbg___wbindgen_is_function_3baa9db1a987f47d:()=>In,__wbg___wbindgen_is_null_52ff4ec04186736f:()=>Ln,__wbg___wbindgen_is_object_63322ec0cd6ea4ef:()=>Rn,__wbg___wbindgen_is_string_6df3bf7ef1164ed3:()=>zn,__wbg___wbindgen_is_undefined_29a43b4d42920abd:()=>Bn,__wbg___wbindgen_jsval_eq_d3465d8a07697228:()=>Vn,__wbg___wbindgen_jsval_loose_eq_cac3565e89b4134c:()=>Hn,__wbg___wbindgen_number_get_c7f42aed0525c451:()=>Un,__wbg___wbindgen_string_get_7ed5322991caaec5:()=>Wn,__wbg___wbindgen_throw_6b64449b9b9ed33c:()=>Gn,__wbg___wbindgen_try_into_number_d7832e9de41bafc5:()=>Kn,__wbg__wbg_cb_unref_b46c9b5a9f08ec37:()=>qn,__wbg_abort_b64b5c37b7b5156d:()=>Jn,__wbg_add_af6966918740a569:()=>Yn,__wbg_add_e04fd556bc38ef11:()=>Xn,__wbg_at_03a250b9f2ce7aa5:()=>Zn,__wbg_backupkeys_new:()=>Qn,__wbg_bound_d976f60d9eb7b26b:()=>$n,__wbg_call_14b169f759b26747:()=>er,__wbg_call_86e39d65afc3d9db:()=>tr,__wbg_call_a24592a6f349a97e:()=>nr,__wbg_call_bb28efe6b2f55b86:()=>rr,__wbg_clearTimeout_113b1cde814ec762:()=>ir,__wbg_clear_e20ff80e7eda7707:()=>ar,__wbg_close_a7d2c11ae747c112:()=>or,__wbg_code_e2d14bb68011f972:()=>sr,__wbg_commit_ebd6d9676954e0d2:()=>cr,__wbg_continue_8576ea85aa470fb3:()=>lr,__wbg_count_9fc90fc071a17693:()=>ur,__wbg_count_b3e4ca49e145e073:()=>dr,__wbg_createIndex_b7dc3a4f19fc4231:()=>fr,__wbg_createIndex_b9253d2f61b19445:()=>pr,__wbg_createObjectStore_fda2c8d772b080f5:()=>mr,__wbg_crosssigningbootstraprequests_new:()=>hr,__wbg_crosssigningkeyexport_new:()=>gr,__wbg_crosssigningstatus_new:()=>_r,__wbg_crypto_38df2bab126b63dc:()=>vr,__wbg_debug_ae77527a1d0ebaf4:()=>yr,__wbg_debug_c014a160490283dc:()=>br,__wbg_decryptedroomevent_new:()=>xr,__wbg_decryptedtodeviceevent_new:()=>Sr,__wbg_dehydrateddevice_new:()=>Cr,__wbg_dehydrateddevicekey_new:()=>wr,__wbg_deleteObjectStore_081280ffb13f9792:()=>Tr,__wbg_delete_10b3489d089185d7:()=>Er,__wbg_delete_be787f4f73f54f72:()=>Dr,__wbg_device_new:()=>Or,__wbg_deviceid_new:()=>kr,__wbg_devicekey_new:()=>Ar,__wbg_devicekeyid_new:()=>jr,__wbg_done_9158f7cc8751ba32:()=>Mr,__wbg_emoji_new:()=>Nr,__wbg_encryptedattachment_new:()=>Pr,__wbg_encryptioninfo_new:()=>Fr,__wbg_entries_2bf997cf82353e47:()=>Ir,__wbg_entries_e0b73aa8571ddb56:()=>Lr,__wbg_error_2001591ad2463697:()=>Rr,__wbg_error_43690a185e0311ac:()=>zr,__wbg_error_a6fa202b58aa1cd3:()=>Br,__wbg_error_f90e6029c0c95d2f:()=>Vr,__wbg_from_0dbf29f09e7fb200:()=>Hr,__wbg_getAllKeys_e28d29be9123b6fe:()=>Ur,__wbg_getAll_1050a25926d2df6c:()=>Wr,__wbg_getAll_3e09c6ad8427b762:()=>Gr,__wbg_getAll_73e044a8374165f8:()=>Kr,__wbg_getAll_a898878594f5e590:()=>qr,__wbg_getRandomValues_76dfc69825c9c552:()=>Jr,__wbg_getRandomValues_c44a50d8cfdaebeb:()=>Yr,__wbg_getRandomValues_ef12552bf5acd2fe:()=>Xr,__wbg_getTime_da7c55f52b71e8c6:()=>Zr,__wbg_get_1affdbdd5573b16a:()=>Qr,__wbg_get_6011fa3a58f61074:()=>$r,__wbg_get_803cfa78503173c3:()=>ei,__wbg_get_8360291721e2339f:()=>ti,__wbg_get_eb2958ee233cccd9:()=>ni,__wbg_get_unchecked_17f53dad852b9588:()=>ri,__wbg_get_with_ref_key_6412cf3094599694:()=>ii,__wbg_global_94a489d2e6a0c5fd:()=>ai,__wbg_inboundgroupsession_new:()=>oi,__wbg_index_072be17bcbd46242:()=>si,__wbg_indexedDB_47c354eb27472a00:()=>ci,__wbg_indexedDB_9cd90e32ea3da2e4:()=>li,__wbg_indexedDB_ac4afadd7c87762a:()=>ui,__wbg_info_33de32580bb04e23:()=>di,__wbg_info_7479429238bffbce:()=>fi,__wbg_instanceof_ArrayBuffer_7c8433c6ed14ffe3:()=>pi,__wbg_instanceof_CursorSys_383984afc1fa1bbc:()=>mi,__wbg_instanceof_DomException_2ce86bc775566ba2:()=>hi,__wbg_instanceof_Error_6872d63ba7922898:()=>gi,__wbg_instanceof_IdbCursor_98630480e23ef2a1:()=>_i,__wbg_instanceof_IdbDatabase_3b6930bc25a91170:()=>vi,__wbg_instanceof_IdbOpenDbRequest_d0071b8c6aae51ff:()=>yi,__wbg_instanceof_IdbRequest_cb20b218916840b2:()=>bi,__wbg_instanceof_Map_1b76fd4635be43eb:()=>xi,__wbg_instanceof_Promise_78658358a9b27cd4:()=>Si,__wbg_instanceof_Uint8Array_152ba1f289edcf3f:()=>Ci,__wbg_invalidtodeviceevent_new:()=>wi,__wbg_isArray_2790516aa848bf18:()=>Ti,__wbg_isArray_c3109d14ffc06469:()=>Ei,__wbg_isSafeInteger_4fc213d1989d6d2a:()=>Di,__wbg_item_16fa9d71e7623fb3:()=>Oi,__wbg_iterator_013bc09ec998c2a7:()=>ki,__wbg_key_3b366eba0fc3946a:()=>Ai,__wbg_keysbackuprequest_new:()=>ji,__wbg_keysclaimrequest_new:()=>Mi,__wbg_keysqueryrequest_new:()=>Ni,__wbg_keysuploadrequest_new:()=>Pi,__wbg_length_3d4ecd04bd8d22f1:()=>Fi,__wbg_length_89fece2ef3016355:()=>Ii,__wbg_length_9f1775224cf1d815:()=>Li,__wbg_lowerBound_9b7902b146dbf8c5:()=>Ri,__wbg_maybesignature_new:()=>zi,__wbg_megolmdecryptionerror_new:()=>Bi,__wbg_message_cb4f84ee66e5e341:()=>Vi,__wbg_message_ec476bcf269dd7c4:()=>Hi,__wbg_msCrypto_bd5a034af96bcba6:()=>Ui,__wbg_name_fce2a531eb1066ad:()=>Wi,__wbg_new_036bd6cd9cea9e73:()=>Gi,__wbg_new_0c7403db6e782f19:()=>Ki,__wbg_new_227d7c05414eb861:()=>qi,__wbg_new_34d45cc8e36aaead:()=>Ji,__wbg_new_3aa13540487cda43:()=>Yi,__wbg_new_5e360d2ff7b9e1c3:()=>Xi,__wbg_new_682678e2f47e32bc:()=>Zi,__wbg_new_7913666fe5070684:()=>Qi,__wbg_new_aa8d0fa9762c29bd:()=>$i,__wbg_new_typed_323f37fd55ab048d:()=>ea,__wbg_new_with_length_8c854e41ea4dae9b:()=>ta,__wbg_new_with_length_a1be700db9996280:()=>na,__wbg_next_0340c4ae324393c3:()=>ra,__wbg_next_7646edaa39458ef7:()=>ia,__wbg_node_84ea875411254db1:()=>aa,__wbg_now_a9b7df1cbee90986:()=>oa,__wbg_now_e7c6795a7f81e10f:()=>sa,__wbg_objectStoreNames_c755717c02e8876b:()=>ca,__wbg_objectStore_5942e8f91c946be8:()=>la,__wbg_oldVersion_ff254e9849b7065c:()=>ua,__wbg_olmmachine_new:()=>da,__wbg_openCursor_75d823082c002e28:()=>fa,__wbg_openCursor_8a56937bddd04c64:()=>pa,__wbg_openCursor_a2ea782733f4ca2a:()=>ma,__wbg_open_0949b7cdde2ab99a:()=>ha,__wbg_open_90f4e40d36c2c9f5:()=>ga,__wbg_otheruseridentity_new:()=>_a,__wbg_ownuseridentity_new:()=>va,__wbg_parse_1bbc9c053611d0a7:()=>ya,__wbg_performance_3fcf6e32a7e1ed0a:()=>ba,__wbg_pickledinboundgroupsession_unwrap:()=>xa,__wbg_pickledsession_unwrap:()=>Sa,__wbg_plaintexttodeviceevent_new:()=>Ca,__wbg_process_44c7a14e11e9f69e:()=>wa,__wbg_prototypesetcall_a6b02eb00b0f4ce2:()=>Ta,__wbg_prototypesetcall_c80d19814faa696a:()=>Ea,__wbg_push_471a5b068a5295f6:()=>Da,__wbg_put_fd02d3070a55994c:()=>Oa,__wbg_putdehydrateddevicerequest_new:()=>ka,__wbg_qr_new:()=>Aa,__wbg_queueMicrotask_5d15a957e6aa920e:()=>ja,__wbg_queueMicrotask_f8819e5ffc402f36:()=>Ma,__wbg_randomFillSync_6c25eac9869eb53c:()=>Na,__wbg_readyState_57c2b80a75527431:()=>Pa,__wbg_rehydrateddevice_new:()=>Fa,__wbg_request_64abeba15a72c084:()=>Ia,__wbg_request_72a78988f2edecad:()=>La,__wbg_require_b4edbdcf3e2a1ef0:()=>Ra,__wbg_resolve_e6c466bc1052f16c:()=>za,__wbg_result_f782323755b96dc8:()=>Ba,__wbg_roomid_unwrap:()=>Va,__wbg_roomkeycounts_new:()=>Ha,__wbg_roomkeyimportresult_new:()=>Ua,__wbg_roomkeyinfo_new:()=>Wa,__wbg_roomkeywithheldinfo_new:()=>Ga,__wbg_roommessagerequest_new:()=>Ka,__wbg_roompendingkeybundledetails_new:()=>qa,__wbg_roomsettings_new:()=>Ja,__wbg_sas_new:()=>Ya,__wbg_secretsbundle_new:()=>Xa,__wbg_setTimeout_ef24d2fc3ad97385:()=>Za,__wbg_set_3bf1de9fab0cd644:()=>Qa,__wbg_set_6be42768c690e380:()=>$a,__wbg_set_adfc330e444aa3b4:()=>eo,__wbg_set_fde2cec06c23692b:()=>to,__wbg_set_onabort_7eecdbabbc4fd5f8:()=>no,__wbg_set_oncomplete_8c9c4dac8e331f19:()=>ro,__wbg_set_onerror_5cae5e3b994ad11f:()=>io,__wbg_set_onerror_ed658d0b50b67e95:()=>ao,__wbg_set_onsuccess_bf03d6c06709ef09:()=>oo,__wbg_set_onupgradeneeded_3fc8649a687213f5:()=>so,__wbg_set_unique_0a396b97f5b68657:()=>co,__wbg_set_wasm:()=>ll,__wbg_signatures_new:()=>lo,__wbg_signatureuploadrequest_new:()=>uo,__wbg_signatureverification_new:()=>fo,__wbg_stack_3b0d974bbf31e44f:()=>po,__wbg_static_accessor_GLOBAL_8cfadc87a297ca02:()=>mo,__wbg_static_accessor_GLOBAL_THIS_602256ae5c8f42cf:()=>ho,__wbg_static_accessor_SELF_e445c1c7484aecc3:()=>go,__wbg_static_accessor_WINDOW_f20e8576ef1e0f17:()=>_o,__wbg_storedroomkeybundledata_new:()=>vo,__wbg_storehandle_new:()=>yo,__wbg_stringify_91082ed7a5a5769e:()=>bo,__wbg_subarray_f8ca46a25b1f5e0d:()=>xo,__wbg_target_6d97e221d11b71b6:()=>So,__wbg_then_792e0c862b060889:()=>Co,__wbg_then_8e16ee11f05e4827:()=>wo,__wbg_toString_306ed0b9f320c1ca:()=>To,__wbg_todevicerequest_new:()=>Eo,__wbg_transaction_246d4ade615944eb:()=>Do,__wbg_transaction_653efe7dcf307618:()=>Oo,__wbg_transaction_9af5475ca3bd3fa9:()=>ko,__wbg_transaction_c61e2c5f1a671b7d:()=>Ao,__wbg_update_23505c717f36067e:()=>jo,__wbg_upperBound_9b433e92228dea8e:()=>Mo,__wbg_userdevices_new:()=>No,__wbg_userid_new:()=>Po,__wbg_userid_unwrap:()=>Fo,__wbg_utdtodeviceevent_new:()=>Io,__wbg_value_cd3e83709dea7716:()=>Lo,__wbg_value_ee3a06f4579184fa:()=>Ro,__wbg_values_10e8da5f1d194ede:()=>zo,__wbg_verificationrequest_new:()=>Bo,__wbg_version_f332be76aa57f24c:()=>Vo,__wbg_versions_276b2795b1c6a219:()=>Ho,__wbg_warn_308e79ff0bb1cadb:()=>Uo,__wbg_warn_3cc416af27dbdc02:()=>Wo,__wbindgen_cast_0000000000000001:()=>Go,__wbindgen_cast_0000000000000002:()=>Ko,__wbindgen_cast_0000000000000003:()=>qo,__wbindgen_cast_0000000000000004:()=>Jo,__wbindgen_cast_0000000000000005:()=>Yo,__wbindgen_cast_0000000000000006:()=>Xo,__wbindgen_cast_0000000000000007:()=>Zo,__wbindgen_cast_0000000000000008:()=>Qo,__wbindgen_cast_0000000000000009:()=>$o,__wbindgen_cast_000000000000000a:()=>es,__wbindgen_init_externref_table:()=>ts,getVersions:()=>wn,start:()=>Tn}),ke=class{__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,ls.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_attachment_free(e,0)}static decrypt(e){F(e,nt);let t=K.attachment_decrypt(e.__wbg_ptr);if(t[3])throw W(t[2]);var n=I(t[0],t[1]).slice();return K.__wbindgen_free(t[0],t[1]*1,1),n}static encrypt(e){let t=V(e,K.__wbindgen_malloc),n=G,r=K.attachment_encrypt(t,n);if(r[2])throw W(r[1]);return nt.__wrap(r[0])}};Symbol.dispose&&(ke.prototype[Symbol.dispose]=ke.prototype.free);var w=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,us.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,us.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_backupdecryptionkey_free(e,0)}static createRandomKey(){let t=K.backupdecryptionkey_createRandomKey();return e.__wrap(t)}decryptV1(e,t,n){let r,i;try{let s=U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),c=G,l=U(t,K.__wbindgen_malloc,K.__wbindgen_realloc),u=G,d=U(n,K.__wbindgen_malloc,K.__wbindgen_realloc),f=G,p=K.backupdecryptionkey_decryptV1(this.__wbg_ptr,s,c,l,u,d,f);var a=p[0],o=p[1];if(p[3])throw a=0,o=0,W(p[2]);return r=a,i=o,R(a,o)}finally{K.__wbindgen_free(r,i,1)}}static fromBase64(t){let n=U(t,K.__wbindgen_malloc,K.__wbindgen_realloc),r=G,i=K.backupdecryptionkey_fromBase64(n,r);if(i[2])throw W(i[1]);return e.__wrap(i[0])}get megolmV1PublicKey(){let e=K.backupdecryptionkey_megolmV1PublicKey(this.__wbg_ptr);return xt.__wrap(e)}toBase64(){return K.backupdecryptionkey_toBase64(this.__wbg_ptr)}};Symbol.dispose&&(w.prototype[Symbol.dispose]=w.prototype.free);var Ae=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,ds.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,ds.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_backupkeys_free(e,0)}get decryptionKeyBase64(){return K.backupkeys_decryptionKeyBase64(this.__wbg_ptr)}get backupVersion(){let e=K.__wbg_get_backupkeys_backupVersion(this.__wbg_ptr),t;return e[0]!==0&&(t=R(e[0],e[1]).slice(),K.__wbindgen_free(e[0],e[1]*1,1)),t}get decryptionKey(){let e=K.__wbg_get_backupkeys_decryptionKey(this.__wbg_ptr);return e===0?void 0:w.__wrap(e)}set backupVersion(e){var t=B(e)?0:U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),n=G;K.__wbg_set_backupkeys_backupVersion(this.__wbg_ptr,t,n)}set decryptionKey(e){let t=0;B(e)||(F(e,w),t=e.__destroy_into_raw()),K.__wbg_set_backupkeys_decryptionKey(this.__wbg_ptr,t)}};Symbol.dispose&&(Ae.prototype[Symbol.dispose]=Ae.prototype.free);var je=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,fs.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,fs.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_backupsecretsbundle_free(e,0)}get backup_version(){let e,t;try{let n=K.__wbg_get_backupsecretsbundle_backup_version(this.__wbg_ptr);return e=n[0],t=n[1],R(n[0],n[1])}finally{K.__wbindgen_free(e,t,1)}}get key(){let e,t;try{let n=K.__wbg_get_backupsecretsbundle_key(this.__wbg_ptr);return e=n[0],t=n[1],R(n[0],n[1])}finally{K.__wbindgen_free(e,t,1)}}set backup_version(e){let t=U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),n=G;K.__wbg_set_backupsecretsbundle_backup_version(this.__wbg_ptr,t,n)}set key(e){let t=U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),n=G;K.__wbg_set_backupsecretsbundle_key(this.__wbg_ptr,t,n)}};Symbol.dispose&&(je.prototype[Symbol.dispose]=je.prototype.free);var Me=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,ps.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,ps.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_base64encodedpkmessage_free(e,0)}constructor(e,t,n){let r=U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),i=G,a=U(t,K.__wbindgen_malloc,K.__wbindgen_realloc),o=G,s=U(n,K.__wbindgen_malloc,K.__wbindgen_realloc),c=G,l=K.base64encodedpkmessage_new(r,i,a,o,s,c);return this.__wbg_ptr=l>>>0,ps.register(this,this.__wbg_ptr,this),this}get ciphertext(){let e,t;try{let n=K.__wbg_get_base64encodedpkmessage_ciphertext(this.__wbg_ptr);return e=n[0],t=n[1],R(n[0],n[1])}finally{K.__wbindgen_free(e,t,1)}}get ephemeralKey(){let e,t;try{let n=K.__wbg_get_base64encodedpkmessage_ephemeralKey(this.__wbg_ptr);return e=n[0],t=n[1],R(n[0],n[1])}finally{K.__wbindgen_free(e,t,1)}}get mac(){let e,t;try{let n=K.__wbg_get_base64encodedpkmessage_mac(this.__wbg_ptr);return e=n[0],t=n[1],R(n[0],n[1])}finally{K.__wbindgen_free(e,t,1)}}set ciphertext(e){let t=U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),n=G;K.__wbg_set_base64encodedpkmessage_ciphertext(this.__wbg_ptr,t,n)}set ephemeralKey(e){let t=U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),n=G;K.__wbg_set_base64encodedpkmessage_ephemeralKey(this.__wbg_ptr,t,n)}set mac(e){let t=U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),n=G;K.__wbg_set_base64encodedpkmessage_mac(this.__wbg_ptr,t,n)}};Symbol.dispose&&(Me.prototype[Symbol.dispose]=Me.prototype.free);var Ne=class{__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,ms.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_basemigrationdata_free(e,0)}constructor(){let e=K.basemigrationdata_new();return this.__wbg_ptr=e>>>0,ms.register(this,this.__wbg_ptr,this),this}get backupRecoveryKey(){let e=K.__wbg_get_basemigrationdata_backupRecoveryKey(this.__wbg_ptr),t;return e[0]!==0&&(t=R(e[0],e[1]).slice(),K.__wbindgen_free(e[0],e[1]*1,1)),t}get backupVersion(){let e=K.__wbg_get_basemigrationdata_backupVersion(this.__wbg_ptr),t;return e[0]!==0&&(t=R(e[0],e[1]).slice(),K.__wbindgen_free(e[0],e[1]*1,1)),t}get deviceId(){let e=K.__wbg_get_basemigrationdata_deviceId(this.__wbg_ptr);return e===0?void 0:k.__wrap(e)}get pickledAccount(){let e,t;try{let n=K.__wbg_get_basemigrationdata_pickledAccount(this.__wbg_ptr);return e=n[0],t=n[1],R(n[0],n[1])}finally{K.__wbindgen_free(e,t,1)}}get privateCrossSigningMasterKey(){let e=K.__wbg_get_basemigrationdata_privateCrossSigningMasterKey(this.__wbg_ptr),t;return e[0]!==0&&(t=R(e[0],e[1]).slice(),K.__wbindgen_free(e[0],e[1]*1,1)),t}get privateCrossSigningSelfSigningKey(){let e=K.__wbg_get_basemigrationdata_privateCrossSigningSelfSigningKey(this.__wbg_ptr),t;return e[0]!==0&&(t=R(e[0],e[1]).slice(),K.__wbindgen_free(e[0],e[1]*1,1)),t}get privateCrossSigningUserSigningKey(){let e=K.__wbg_get_basemigrationdata_privateCrossSigningUserSigningKey(this.__wbg_ptr),t;return e[0]!==0&&(t=R(e[0],e[1]).slice(),K.__wbindgen_free(e[0],e[1]*1,1)),t}get userId(){let e=K.__wbg_get_basemigrationdata_userId(this.__wbg_ptr);return e===0?void 0:M.__wrap(e)}set backupRecoveryKey(e){var t=B(e)?0:U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),n=G;K.__wbg_set_basemigrationdata_backupRecoveryKey(this.__wbg_ptr,t,n)}set backupVersion(e){var t=B(e)?0:U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),n=G;K.__wbg_set_basemigrationdata_backupVersion(this.__wbg_ptr,t,n)}set deviceId(e){let t=0;B(e)||(F(e,k),t=e.__destroy_into_raw()),K.__wbg_set_basemigrationdata_deviceId(this.__wbg_ptr,t)}set pickledAccount(e){let t=U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),n=G;K.__wbg_set_basemigrationdata_pickledAccount(this.__wbg_ptr,t,n)}set privateCrossSigningMasterKey(e){var t=B(e)?0:U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),n=G;K.__wbg_set_basemigrationdata_privateCrossSigningMasterKey(this.__wbg_ptr,t,n)}set privateCrossSigningSelfSigningKey(e){var t=B(e)?0:U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),n=G;K.__wbg_set_basemigrationdata_privateCrossSigningSelfSigningKey(this.__wbg_ptr,t,n)}set privateCrossSigningUserSigningKey(e){var t=B(e)?0:U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),n=G;K.__wbg_set_basemigrationdata_privateCrossSigningUserSigningKey(this.__wbg_ptr,t,n)}set userId(e){let t=0;B(e)||(F(e,M),t=e.__destroy_into_raw()),K.__wbg_set_basemigrationdata_userId(this.__wbg_ptr,t)}};Symbol.dispose&&(Ne.prototype[Symbol.dispose]=Ne.prototype.free);var Pe=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,hs.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,hs.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_cancelinfo_free(e,0)}cancelCode(){let e,t;try{let n=K.cancelinfo_cancelCode(this.__wbg_ptr);return e=n[0],t=n[1],R(n[0],n[1])}finally{K.__wbindgen_free(e,t,1)}}cancelledbyUs(){return K.cancelinfo_cancelledbyUs(this.__wbg_ptr)!==0}reason(){return K.cancelinfo_reason(this.__wbg_ptr)}};Symbol.dispose&&(Pe.prototype[Symbol.dispose]=Pe.prototype.free);var Fe=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,gs.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,gs.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_checkcode_free(e,0)}as_bytes(){let e=K.checkcode_as_bytes(this.__wbg_ptr);var t=I(e[0],e[1]).slice();return K.__wbindgen_free(e[0],e[1]*1,1),t}to_digit(){return K.checkcode_to_digit(this.__wbg_ptr)}};Symbol.dispose&&(Fe.prototype[Symbol.dispose]=Fe.prototype.free);var T=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,_s.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,_s.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_collectstrategy_free(e,0)}static allDevices(){let t=K.collectstrategy_allDevices();return e.__wrap(t)}static deviceBasedStrategy(t,n){let r=K.collectstrategy_deviceBasedStrategy(t,n);return e.__wrap(r)}eq(t){return F(t,e),K.collectstrategy_eq(this.__wbg_ptr,t.__wbg_ptr)!==0}static errorOnUnverifiedUserProblem(){let t=K.collectstrategy_errorOnUnverifiedUserProblem();return e.__wrap(t)}static identityBasedStrategy(){let t=K.collectstrategy_identityBasedStrategy();return e.__wrap(t)}static onlyTrustedDevices(){let t=K.collectstrategy_onlyTrustedDevices();return e.__wrap(t)}};Symbol.dispose&&(T.prototype[Symbol.dispose]=T.prototype.free);var Ie=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,vs.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,vs.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_crosssigningbootstraprequests_free(e,0)}get uploadKeysRequest(){return K.__wbg_get_crosssigningbootstraprequests_uploadKeysRequest(this.__wbg_ptr)}get uploadSignaturesRequest(){let e=K.__wbg_get_crosssigningbootstraprequests_uploadSignaturesRequest(this.__wbg_ptr);return cn.__wrap(e)}get uploadSigningKeysRequest(){let e=K.__wbg_get_crosssigningbootstraprequests_uploadSigningKeysRequest(this.__wbg_ptr);return yn.__wrap(e)}};Symbol.dispose&&(Ie.prototype[Symbol.dispose]=Ie.prototype.free);var Le=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,ys.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,ys.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_crosssigningkeyexport_free(e,0)}get masterKey(){let e=K.crosssigningkeyexport_masterKey(this.__wbg_ptr),t;return e[0]!==0&&(t=R(e[0],e[1]).slice(),K.__wbindgen_free(e[0],e[1]*1,1)),t}get self_signing_key(){let e=K.crosssigningkeyexport_self_signing_key(this.__wbg_ptr),t;return e[0]!==0&&(t=R(e[0],e[1]).slice(),K.__wbindgen_free(e[0],e[1]*1,1)),t}get userSigningKey(){let e=K.crosssigningkeyexport_userSigningKey(this.__wbg_ptr),t;return e[0]!==0&&(t=R(e[0],e[1]).slice(),K.__wbindgen_free(e[0],e[1]*1,1)),t}};Symbol.dispose&&(Le.prototype[Symbol.dispose]=Le.prototype.free);var Re=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,bs.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,bs.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_crosssigningstatus_free(e,0)}get hasMaster(){return K.crosssigningstatus_hasMaster(this.__wbg_ptr)!==0}get hasSelfSigning(){return K.crosssigningstatus_hasSelfSigning(this.__wbg_ptr)!==0}get hasUserSigning(){return K.crosssigningstatus_hasUserSigning(this.__wbg_ptr)!==0}};Symbol.dispose&&(Re.prototype[Symbol.dispose]=Re.prototype.free);var E=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,xs.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,xs.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_curve25519publickey_free(e,0)}get length(){return K.curve25519publickey_length(this.__wbg_ptr)>>>0}constructor(e){let t=U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),n=G,r=K.curve25519publickey_new(t,n);if(r[2])throw W(r[1]);return this.__wbg_ptr=r[0]>>>0,xs.register(this,this.__wbg_ptr,this),this}toBase64(){let e,t;try{let n=K.curve25519publickey_toBase64(this.__wbg_ptr);return e=n[0],t=n[1],R(n[0],n[1])}finally{K.__wbindgen_free(e,t,1)}}};Symbol.dispose&&(E.prototype[Symbol.dispose]=E.prototype.free);var ze=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,Ss.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Ss.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_curve25519secretkey_free(e,0)}static fromBase64(t){let n=U(t,K.__wbindgen_malloc,K.__wbindgen_realloc),r=G,i=K.curve25519secretkey_fromBase64(n,r);if(i[2])throw W(i[1]);return e.__wrap(i[0])}static fromUint8Array(t){let n=V(t,K.__wbindgen_malloc),r=G,i=K.curve25519secretkey_fromUint8Array(n,r);if(i[2])throw W(i[1]);return e.__wrap(i[0])}static new(){let t=K.curve25519secretkey_new();return e.__wrap(t)}toBase64(){let e,t;try{let n=K.curve25519secretkey_toBase64(this.__wbg_ptr);return e=n[0],t=n[1],R(n[0],n[1])}finally{K.__wbindgen_free(e,t,1)}}toUint8Array(){let e=K.curve25519secretkey_toUint8Array(this.__wbg_ptr);var t=I(e[0],e[1]).slice();return K.__wbindgen_free(e[0],e[1]*1,1),t}};Symbol.dispose&&(ze.prototype[Symbol.dispose]=ze.prototype.free);var Be=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,Cs.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Cs.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_decryptedroomevent_free(e,0)}get forwarder(){let e=K.decryptedroomevent_forwarder(this.__wbg_ptr);return e===0?void 0:M.__wrap(e)}get forwarderDevice(){let e=K.decryptedroomevent_forwarderDevice(this.__wbg_ptr);return e===0?void 0:k.__wrap(e)}get forwardingCurve25519KeyChain(){return K.decryptedroomevent_forwardingCurve25519KeyChain(this.__wbg_ptr)}get sender(){let e=K.decryptedroomevent_sender(this.__wbg_ptr);return M.__wrap(e)}get senderClaimedEd25519Key(){return K.decryptedroomevent_senderClaimedEd25519Key(this.__wbg_ptr)}get senderCurve25519Key(){let e,t;try{let n=K.decryptedroomevent_senderCurve25519Key(this.__wbg_ptr);return e=n[0],t=n[1],R(n[0],n[1])}finally{K.__wbindgen_free(e,t,1)}}get senderDevice(){let e=K.decryptedroomevent_senderDevice(this.__wbg_ptr);return e===0?void 0:k.__wrap(e)}shieldState(e){let t=K.decryptedroomevent_shieldState(this.__wbg_ptr,e);return rn.__wrap(t)}get event(){return K.__wbg_get_decryptedroomevent_event(this.__wbg_ptr)}};Symbol.dispose&&(Be.prototype[Symbol.dispose]=Be.prototype.free);var Ve=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,ws.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,ws.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_decryptedtodeviceevent_free(e,0)}get type(){return K.decryptedtodeviceevent_type(this.__wbg_ptr)}get encryptionInfo(){let e=K.__wbg_get_decryptedtodeviceevent_encryptionInfo(this.__wbg_ptr);return fn.__wrap(e)}get rawEvent(){return K.__wbg_get_decryptedtodeviceevent_rawEvent(this.__wbg_ptr)}};Symbol.dispose&&(Ve.prototype[Symbol.dispose]=Ve.prototype.free);const D=Object.freeze({MissingRoomKey:0,0:`MissingRoomKey`,UnknownMessageIndex:1,1:`UnknownMessageIndex`,MismatchedIdentityKeys:2,2:`MismatchedIdentityKeys`,UnknownSenderDevice:3,3:`UnknownSenderDevice`,UnsignedSenderDevice:4,4:`UnsignedSenderDevice`,SenderIdentityVerificationViolation:5,5:`SenderIdentityVerificationViolation`,UnableToDecrypt:6,6:`UnableToDecrypt`,MismatchedSender:7,7:`MismatchedSender`});var He=class{__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Ts.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_decryptionsettings_free(e,0)}constructor(e){let t=K.decryptionsettings_new(e);return this.__wbg_ptr=t>>>0,Ts.register(this,this.__wbg_ptr,this),this}get sender_device_trust_requirement(){return K.__wbg_get_decryptionsettings_sender_device_trust_requirement(this.__wbg_ptr)}set sender_device_trust_requirement(e){K.__wbg_set_decryptionsettings_sender_device_trust_requirement(this.__wbg_ptr,e)}};Symbol.dispose&&(He.prototype[Symbol.dispose]=He.prototype.free);var Ue=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,Es.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Es.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_dehydrateddevice_free(e,0)}keysForUpload(e,t){return F(t,O),K.dehydrateddevice_keysForUpload(this.__wbg_ptr,e,t.__wbg_ptr)}};Symbol.dispose&&(Ue.prototype[Symbol.dispose]=Ue.prototype.free);var O=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,Ds.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Ds.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_dehydrateddevicekey_free(e,0)}static createKeyFromArray(t){let n=K.dehydrateddevicekey_createKeyFromArray(t);if(n[2])throw W(n[1]);return e.__wrap(n[0])}static createRandomKey(){let t=K.dehydrateddevicekey_createRandomKey();return e.__wrap(t)}toBase64(){return K.dehydrateddevicekey_toBase64(this.__wbg_ptr)}};Symbol.dispose&&(O.prototype[Symbol.dispose]=O.prototype.free);var We=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,Os.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Os.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_dehydrateddevices_free(e,0)}create(){return K.dehydrateddevices_create(this.__wbg_ptr)}deleteDehydratedDeviceKey(){return K.dehydrateddevices_deleteDehydratedDeviceKey(this.__wbg_ptr)}getDehydratedDeviceKey(){return K.dehydrateddevices_getDehydratedDeviceKey(this.__wbg_ptr)}rehydrate(e,t,n){F(e,O),F(t,k);let r=U(n,K.__wbindgen_malloc,K.__wbindgen_realloc),i=G;return K.dehydrateddevices_rehydrate(this.__wbg_ptr,e.__wbg_ptr,t.__wbg_ptr,r,i)}saveDehydratedDeviceKey(e){return F(e,O),K.dehydrateddevices_saveDehydratedDeviceKey(this.__wbg_ptr,e.__wbg_ptr)}};Symbol.dispose&&(We.prototype[Symbol.dispose]=We.prototype.free);var Ge=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,ks.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,ks.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_device_free(e,0)}get algorithms(){return K.device_algorithms(this.__wbg_ptr)}get curve25519Key(){let e=K.device_curve25519Key(this.__wbg_ptr);return e===0?void 0:E.__wrap(e)}get deviceId(){let e=K.device_deviceId(this.__wbg_ptr);return k.__wrap(e)}get displayName(){let e=K.device_displayName(this.__wbg_ptr),t;return e[0]!==0&&(t=R(e[0],e[1]).slice(),K.__wbindgen_free(e[0],e[1]*1,1)),t}get ed25519Key(){let e=K.device_ed25519Key(this.__wbg_ptr);return e===0?void 0:$e.__wrap(e)}encryptToDeviceEvent(e,t,n){let r=U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),i=G,a=0;return B(n)||(F(n,T),a=n.__destroy_into_raw()),K.device_encryptToDeviceEvent(this.__wbg_ptr,r,i,t,a)}firstTimeSeen(){let e=K.device_firstTimeSeen(this.__wbg_ptr);return BigInt.asUintN(64,e)}getKey(e){let t=K.device_getKey(this.__wbg_ptr,e);if(t[2])throw W(t[1]);return t[0]===0?void 0:Ke.__wrap(t[0])}isBlacklisted(){return K.device_isBlacklisted(this.__wbg_ptr)!==0}isCrossSignedByOwner(){return K.device_isCrossSignedByOwner(this.__wbg_ptr)!==0}isCrossSigningTrusted(){return K.device_isCrossSigningTrusted(this.__wbg_ptr)!==0}get isDehydrated(){return K.device_isDehydrated(this.__wbg_ptr)!==0}isDeleted(){return K.device_isDeleted(this.__wbg_ptr)!==0}isLocallyTrusted(){return K.device_isLocallyTrusted(this.__wbg_ptr)!==0}isVerified(){return K.device_isVerified(this.__wbg_ptr)!==0}get keys(){return K.device_keys(this.__wbg_ptr)}get localTrustState(){return K.device_localTrustState(this.__wbg_ptr)}requestVerification(e){var t=B(e)?0:H(e,K.__wbindgen_malloc),n=G;let r=K.device_requestVerification(this.__wbg_ptr,t,n);if(r[2])throw W(r[1]);return W(r[0])}setLocalTrust(e){return K.device_setLocalTrust(this.__wbg_ptr,e)}get signatures(){let e=K.device_signatures(this.__wbg_ptr);return un.__wrap(e)}get userId(){let e=K.device_userId(this.__wbg_ptr);return M.__wrap(e)}verify(){return K.device_verify(this.__wbg_ptr)}};Symbol.dispose&&(Ge.prototype[Symbol.dispose]=Ge.prototype.free);var k=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,As.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,As.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_deviceid_free(e,0)}constructor(e){let t=U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),n=G,r=K.deviceid_new(t,n);return this.__wbg_ptr=r>>>0,As.register(this,this.__wbg_ptr,this),this}toString(){let e,t;try{let n=K.deviceid_toString(this.__wbg_ptr);return e=n[0],t=n[1],R(n[0],n[1])}finally{K.__wbindgen_free(e,t,1)}}};Symbol.dispose&&(k.prototype[Symbol.dispose]=k.prototype.free);var Ke=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,js.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,js.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_devicekey_free(e,0)}get curve25519(){let e=K.devicekey_curve25519(this.__wbg_ptr);return e===0?void 0:E.__wrap(e)}get ed25519(){let e=K.devicekey_ed25519(this.__wbg_ptr);return e===0?void 0:$e.__wrap(e)}get name(){return K.devicekey_name(this.__wbg_ptr)}toBase64(){let e,t;try{let n=K.devicekey_toBase64(this.__wbg_ptr);return e=n[0],t=n[1],R(n[0],n[1])}finally{K.__wbindgen_free(e,t,1)}}get unknown(){let e=K.devicekey_unknown(this.__wbg_ptr),t;return e[0]!==0&&(t=R(e[0],e[1]).slice(),K.__wbindgen_free(e[0],e[1]*1,1)),t}};Symbol.dispose&&(Ke.prototype[Symbol.dispose]=Ke.prototype.free);var qe=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,Ms.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Ms.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_devicekeyalgorithm_free(e,0)}get name(){return K.devicekeyalgorithm_name(this.__wbg_ptr)}toString(){let e,t;try{let n=K.devicekeyalgorithm_toString(this.__wbg_ptr);return e=n[0],t=n[1],R(n[0],n[1])}finally{K.__wbindgen_free(e,t,1)}}};Symbol.dispose&&(qe.prototype[Symbol.dispose]=qe.prototype.free);const Je=Object.freeze({Ed25519:0,0:`Ed25519`,Curve25519:1,1:`Curve25519`,Unknown:3,3:`Unknown`});var Ye=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,Ns.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Ns.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_devicekeyid_free(e,0)}get algorithm(){let e=K.devicekeyid_algorithm(this.__wbg_ptr);return qe.__wrap(e)}get deviceId(){let e=K.devicekeyid_deviceId(this.__wbg_ptr);return k.__wrap(e)}constructor(e){let t=U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),n=G,r=K.devicekeyid_new(t,n);if(r[2])throw W(r[1]);return this.__wbg_ptr=r[0]>>>0,Ns.register(this,this.__wbg_ptr,this),this}toString(){let e,t;try{let n=K.devicekeyid_toString(this.__wbg_ptr);return e=n[0],t=n[1],R(n[0],n[1])}finally{K.__wbindgen_free(e,t,1)}}};Symbol.dispose&&(Ye.prototype[Symbol.dispose]=Ye.prototype.free);const Xe=Object.freeze({Curve25519:0,0:`Curve25519`,Ed25519:1,1:`Ed25519`,Unknown:2,2:`Unknown`});var Ze=class{__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Ps.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_devicelists_free(e,0)}get changed(){let e=K.devicelists_changed(this.__wbg_ptr);var t=Zc(e[0],e[1]).slice();return K.__wbindgen_free(e[0],e[1]*4,4),t}isEmpty(){return K.devicelists_isEmpty(this.__wbg_ptr)!==0}get left(){let e=K.devicelists_left(this.__wbg_ptr);var t=Zc(e[0],e[1]).slice();return K.__wbindgen_free(e[0],e[1]*4,4),t}constructor(e,t){var n=B(e)?0:H(e,K.__wbindgen_malloc),r=G,i=B(t)?0:H(t,K.__wbindgen_malloc),a=G;let o=K.devicelists_new(n,r,i,a);if(o[2])throw W(o[1]);return this.__wbg_ptr=o[0]>>>0,Ps.register(this,this.__wbg_ptr,this),this}};Symbol.dispose&&(Ze.prototype[Symbol.dispose]=Ze.prototype.free);var Qe=class{__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Fs.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_ecies_free(e,0)}establish_inbound_channel(e){let t=U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),n=G,r=K.ecies_establish_inbound_channel(this.__wbg_ptr,t,n);if(r[2])throw W(r[1]);return ut.__wrap(r[0])}establish_outbound_channel(e,t){F(e,E);let n=U(t,K.__wbindgen_malloc,K.__wbindgen_realloc),r=G,i=K.ecies_establish_outbound_channel(this.__wbg_ptr,e.__wbg_ptr,n,r);if(i[2])throw W(i[1]);return Dt.__wrap(i[0])}constructor(){let e=K.ecies_new();return this.__wbg_ptr=e>>>0,Fs.register(this,this.__wbg_ptr,this),this}public_key(){let e=K.ecies_public_key(this.__wbg_ptr);return E.__wrap(e)}};Symbol.dispose&&(Qe.prototype[Symbol.dispose]=Qe.prototype.free);var $e=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,Is.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Is.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_ed25519publickey_free(e,0)}get length(){return K.ed25519publickey_length(this.__wbg_ptr)>>>0}toBase64(){let e,t;try{let n=K.ed25519publickey_toBase64(this.__wbg_ptr);return e=n[0],t=n[1],R(n[0],n[1])}finally{K.__wbindgen_free(e,t,1)}}};Symbol.dispose&&($e.prototype[Symbol.dispose]=$e.prototype.free);var et=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,Ls.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Ls.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_ed25519signature_free(e,0)}constructor(e){let t=U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),n=G,r=K.ed25519signature_new(t,n);if(r[2])throw W(r[1]);return this.__wbg_ptr=r[0]>>>0,Ls.register(this,this.__wbg_ptr,this),this}toBase64(){let e,t;try{let n=K.ed25519signature_toBase64(this.__wbg_ptr);return e=n[0],t=n[1],R(n[0],n[1])}finally{K.__wbindgen_free(e,t,1)}}};Symbol.dispose&&(et.prototype[Symbol.dispose]=et.prototype.free);var tt=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,Rs.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Rs.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_emoji_free(e,0)}get description(){return K.emoji_description(this.__wbg_ptr)}get symbol(){return K.emoji_symbol(this.__wbg_ptr)}};Symbol.dispose&&(tt.prototype[Symbol.dispose]=tt.prototype.free);var nt=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,zs.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,zs.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_encryptedattachment_free(e,0)}get encryptedData(){let e=K.encryptedattachment_encryptedData(this.__wbg_ptr);var t=I(e[0],e[1]).slice();return K.__wbindgen_free(e[0],e[1]*1,1),t}get hasMediaEncryptionInfoBeenConsumed(){return K.encryptedattachment_hasMediaEncryptionInfoBeenConsumed(this.__wbg_ptr)!==0}get mediaEncryptionInfo(){let e=K.encryptedattachment_mediaEncryptionInfo(this.__wbg_ptr),t;return e[0]!==0&&(t=R(e[0],e[1]).slice(),K.__wbindgen_free(e[0],e[1]*1,1)),t}constructor(e,t){let n=V(e,K.__wbindgen_malloc),r=G,i=U(t,K.__wbindgen_malloc,K.__wbindgen_realloc),a=G,o=K.encryptedattachment_new(n,r,i,a);if(o[2])throw W(o[1]);return this.__wbg_ptr=o[0]>>>0,zs.register(this,this.__wbg_ptr,this),this}};Symbol.dispose&&(nt.prototype[Symbol.dispose]=nt.prototype.free);const rt=Object.freeze({OlmV1Curve25519AesSha2:0,0:`OlmV1Curve25519AesSha2`,MegolmV1AesSha2:1,1:`MegolmV1AesSha2`,Unknown:2,2:`Unknown`});var it=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,Bs.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Bs.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_encryptioninfo_free(e,0)}shieldState(e){let t=K.encryptioninfo_shieldState(this.__wbg_ptr,e);return rn.__wrap(t)}get forwarderDevice(){let e=K.__wbg_get_encryptioninfo_forwarderDevice(this.__wbg_ptr);return e===0?void 0:k.__wrap(e)}get forwarder(){let e=K.__wbg_get_encryptioninfo_forwarder(this.__wbg_ptr);return e===0?void 0:M.__wrap(e)}get senderClaimedEd25519Key(){let e=K.__wbg_get_encryptioninfo_senderClaimedEd25519Key(this.__wbg_ptr),t;return e[0]!==0&&(t=R(e[0],e[1]).slice(),K.__wbindgen_free(e[0],e[1]*1,1)),t}get senderCurve25519Key(){let e,t;try{let n=K.__wbg_get_encryptioninfo_senderCurve25519Key(this.__wbg_ptr);return e=n[0],t=n[1],R(n[0],n[1])}finally{K.__wbindgen_free(e,t,1)}}get senderDevice(){let e=K.__wbg_get_encryptioninfo_senderDevice(this.__wbg_ptr);return e===0?void 0:k.__wrap(e)}get sender(){let e=K.__wbg_get_encryptioninfo_sender(this.__wbg_ptr);return M.__wrap(e)}set forwarderDevice(e){let t=0;B(e)||(F(e,k),t=e.__destroy_into_raw()),K.__wbg_set_encryptioninfo_forwarderDevice(this.__wbg_ptr,t)}set forwarder(e){let t=0;B(e)||(F(e,M),t=e.__destroy_into_raw()),K.__wbg_set_encryptioninfo_forwarder(this.__wbg_ptr,t)}set senderClaimedEd25519Key(e){var t=B(e)?0:U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),n=G;K.__wbg_set_encryptioninfo_senderClaimedEd25519Key(this.__wbg_ptr,t,n)}set senderCurve25519Key(e){let t=U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),n=G;K.__wbg_set_encryptioninfo_senderCurve25519Key(this.__wbg_ptr,t,n)}set senderDevice(e){let t=0;B(e)||(F(e,k),t=e.__destroy_into_raw()),K.__wbg_set_encryptioninfo_senderDevice(this.__wbg_ptr,t)}set sender(e){F(e,M);var t=e.__destroy_into_raw();K.__wbg_set_encryptioninfo_sender(this.__wbg_ptr,t)}};Symbol.dispose&&(it.prototype[Symbol.dispose]=it.prototype.free);var at=class{__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Vs.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_encryptionsettings_free(e,0)}constructor(){let e=K.encryptionsettings_new();return this.__wbg_ptr=e>>>0,Vs.register(this,this.__wbg_ptr,this),this}get algorithm(){return K.__wbg_get_encryptionsettings_algorithm(this.__wbg_ptr)}get encryptStateEvents(){return K.__wbg_get_encryptionsettings_encryptStateEvents(this.__wbg_ptr)!==0}get historyVisibility(){return K.__wbg_get_encryptionsettings_historyVisibility(this.__wbg_ptr)}get rotationPeriodMessages(){let e=K.__wbg_get_encryptionsettings_rotationPeriodMessages(this.__wbg_ptr);return BigInt.asUintN(64,e)}get rotationPeriod(){let e=K.__wbg_get_encryptionsettings_rotationPeriod(this.__wbg_ptr);return BigInt.asUintN(64,e)}get sharingStrategy(){let e=K.__wbg_get_encryptionsettings_sharingStrategy(this.__wbg_ptr);return T.__wrap(e)}set algorithm(e){K.__wbg_set_encryptionsettings_algorithm(this.__wbg_ptr,e)}set encryptStateEvents(e){K.__wbg_set_encryptionsettings_encryptStateEvents(this.__wbg_ptr,e)}set historyVisibility(e){K.__wbg_set_encryptionsettings_historyVisibility(this.__wbg_ptr,e)}set rotationPeriodMessages(e){K.__wbg_set_encryptionsettings_rotationPeriodMessages(this.__wbg_ptr,e)}set rotationPeriod(e){K.__wbg_set_encryptionsettings_rotationPeriod(this.__wbg_ptr,e)}set sharingStrategy(e){F(e,T);var t=e.__destroy_into_raw();K.__wbg_set_encryptionsettings_sharingStrategy(this.__wbg_ptr,t)}};Symbol.dispose&&(at.prototype[Symbol.dispose]=at.prototype.free);var ot=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,Hs.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Hs.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_establishedecies_free(e,0)}check_code(){let e=K.establishedecies_check_code(this.__wbg_ptr);return Fe.__wrap(e)}decrypt(e){let t,n;try{let a=U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),o=G,s=K.establishedecies_decrypt(this.__wbg_ptr,a,o);var r=s[0],i=s[1];if(s[3])throw r=0,i=0,W(s[2]);return t=r,n=i,R(r,i)}finally{K.__wbindgen_free(t,n,1)}}encrypt(e){let t,n;try{let r=U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),i=G,a=K.establishedecies_encrypt(this.__wbg_ptr,r,i);return t=a[0],n=a[1],R(a[0],a[1])}finally{K.__wbindgen_free(t,n,1)}}public_key(){let e=K.establishedecies_public_key(this.__wbg_ptr);return E.__wrap(e)}};Symbol.dispose&&(ot.prototype[Symbol.dispose]=ot.prototype.free);var st=class{__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Us.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_eventid_free(e,0)}get localpart(){let e,t;try{let n=K.eventid_localpart(this.__wbg_ptr);return e=n[0],t=n[1],R(n[0],n[1])}finally{K.__wbindgen_free(e,t,1)}}constructor(e){let t=U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),n=G,r=K.eventid_new(t,n);if(r[2])throw W(r[1]);return this.__wbg_ptr=r[0]>>>0,Us.register(this,this.__wbg_ptr,this),this}get serverName(){let e=K.eventid_serverName(this.__wbg_ptr);return e===0?void 0:tn.__wrap(e)}toString(){let e,t;try{let n=K.eventid_toString(this.__wbg_ptr);return e=n[0],t=n[1],R(n[0],n[1])}finally{K.__wbindgen_free(e,t,1)}}};Symbol.dispose&&(st.prototype[Symbol.dispose]=st.prototype.free);const ct=Object.freeze({Invited:0,0:`Invited`,Joined:1,1:`Joined`,Shared:2,2:`Shared`,WorldReadable:3,3:`WorldReadable`});var lt=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,Ws.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Ws.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_identitykeys_free(e,0)}get curve25519(){let e=K.__wbg_get_identitykeys_curve25519(this.__wbg_ptr);return E.__wrap(e)}get ed25519(){let e=K.__wbg_get_identitykeys_ed25519(this.__wbg_ptr);return $e.__wrap(e)}set curve25519(e){F(e,E);var t=e.__destroy_into_raw();K.__wbg_set_identitykeys_curve25519(this.__wbg_ptr,t)}set ed25519(e){F(e,$e);var t=e.__destroy_into_raw();K.__wbg_set_identitykeys_ed25519(this.__wbg_ptr,t)}};Symbol.dispose&&(lt.prototype[Symbol.dispose]=lt.prototype.free);var ut=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,Gs.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Gs.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_inboundcreationresult_free(e,0)}get channel(){let e=K.__wbg_get_inboundcreationresult_channel(this.__wbg_ptr);return ot.__wrap(e)}get message(){let e,t;try{let n=K.__wbg_get_inboundcreationresult_message(this.__wbg_ptr);return e=n[0],t=n[1],R(n[0],n[1])}finally{K.__wbindgen_free(e,t,1)}}set channel(e){F(e,ot);var t=e.__destroy_into_raw();K.__wbg_set_inboundcreationresult_channel(this.__wbg_ptr,t)}set message(e){let t=U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),n=G;K.__wbg_set_inboundcreationresult_message(this.__wbg_ptr,t,n)}};Symbol.dispose&&(ut.prototype[Symbol.dispose]=ut.prototype.free);var dt=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,Ks.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Ks.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_inboundgroupsession_free(e,0)}hasBeenImported(){return K.inboundgroupsession_hasBeenImported(this.__wbg_ptr)!==0}get roomId(){let e=K.inboundgroupsession_roomId(this.__wbg_ptr);return A.__wrap(e)}get senderKey(){let e=K.inboundgroupsession_senderKey(this.__wbg_ptr);return E.__wrap(e)}get sessionId(){let e,t;try{let n=K.inboundgroupsession_sessionId(this.__wbg_ptr);return e=n[0],t=n[1],R(n[0],n[1])}finally{K.__wbindgen_free(e,t,1)}}};Symbol.dispose&&(dt.prototype[Symbol.dispose]=dt.prototype.free);var ft=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,qs.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,qs.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_invalidtodeviceevent_free(e,0)}get rawEvent(){return K.__wbg_get_invalidtodeviceevent_rawEvent(this.__wbg_ptr)}get type(){return K.invalidtodeviceevent_type(this.__wbg_ptr)}};Symbol.dispose&&(ft.prototype[Symbol.dispose]=ft.prototype.free);var pt=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,Js.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Js.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_keysbackuprequest_free(e,0)}get body(){return K.__wbg_get_keysbackuprequest_body(this.__wbg_ptr)}get id(){return K.__wbg_get_keysbackuprequest_id(this.__wbg_ptr)}get version(){return K.__wbg_get_keysbackuprequest_version(this.__wbg_ptr)}constructor(e,t,n){let r=K.keysbackuprequest_new(e,t,n);return this.__wbg_ptr=r>>>0,Js.register(this,this.__wbg_ptr,this),this}get type(){return K.keysbackuprequest_type(this.__wbg_ptr)}};Symbol.dispose&&(pt.prototype[Symbol.dispose]=pt.prototype.free);var mt=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,Ys.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Ys.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_keysclaimrequest_free(e,0)}get body(){return K.__wbg_get_keysclaimrequest_body(this.__wbg_ptr)}get id(){return K.__wbg_get_keysclaimrequest_id(this.__wbg_ptr)}constructor(e,t){let n=K.keysclaimrequest_new(e,t);return this.__wbg_ptr=n>>>0,Ys.register(this,this.__wbg_ptr,this),this}get type(){return K.keysclaimrequest_type(this.__wbg_ptr)}};Symbol.dispose&&(mt.prototype[Symbol.dispose]=mt.prototype.free);var ht=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,Xs.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Xs.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_keysqueryrequest_free(e,0)}get body(){return K.__wbg_get_keysqueryrequest_body(this.__wbg_ptr)}get id(){return K.__wbg_get_keysqueryrequest_id(this.__wbg_ptr)}constructor(e,t){let n=K.keysqueryrequest_new(e,t);return this.__wbg_ptr=n>>>0,Xs.register(this,this.__wbg_ptr,this),this}get type(){return K.keysqueryrequest_type(this.__wbg_ptr)}};Symbol.dispose&&(ht.prototype[Symbol.dispose]=ht.prototype.free);var gt=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,Zs.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Zs.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_keysuploadrequest_free(e,0)}get body(){return K.__wbg_get_keysuploadrequest_body(this.__wbg_ptr)}get id(){return K.__wbg_get_keysuploadrequest_id(this.__wbg_ptr)}constructor(e,t){let n=K.keysuploadrequest_new(e,t);return this.__wbg_ptr=n>>>0,Zs.register(this,this.__wbg_ptr,this),this}get type(){return K.keysuploadrequest_type(this.__wbg_ptr)}};Symbol.dispose&&(gt.prototype[Symbol.dispose]=gt.prototype.free);const _t=Object.freeze({Verified:0,0:`Verified`,BlackListed:1,1:`BlackListed`,Ignored:2,2:`Ignored`,Unset:3,3:`Unset`}),vt=Object.freeze({Trace:0,0:`Trace`,Debug:1,1:`Debug`,Info:2,2:`Info`,Warn:3,3:`Warn`,Error:4,4:`Error`});var yt=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,Qs.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Qs.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_maybesignature_free(e,0)}get invalidSignatureSource(){let e=K.maybesignature_invalidSignatureSource(this.__wbg_ptr),t;return e[0]!==0&&(t=R(e[0],e[1]).slice(),K.__wbindgen_free(e[0],e[1]*1,1)),t}isInvalid(){return K.maybesignature_isInvalid(this.__wbg_ptr)!==0}isValid(){return K.maybesignature_isValid(this.__wbg_ptr)!==0}get signature(){let e=K.maybesignature_signature(this.__wbg_ptr);return e===0?void 0:on.__wrap(e)}};Symbol.dispose&&(yt.prototype[Symbol.dispose]=yt.prototype.free);var bt=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,$s.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,$s.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_megolmdecryptionerror_free(e,0)}get code(){return K.__wbg_get_megolmdecryptionerror_code(this.__wbg_ptr)}get description(){return K.__wbg_get_megolmdecryptionerror_description(this.__wbg_ptr)}get maybe_withheld(){let e=K.megolmdecryptionerror_maybe_withheld(this.__wbg_ptr),t;return e[0]!==0&&(t=R(e[0],e[1]).slice(),K.__wbindgen_free(e[0],e[1]*1,1)),t}static unable_to_decrypt(t){let n=U(t,K.__wbindgen_malloc,K.__wbindgen_realloc),r=G,i=K.megolmdecryptionerror_unable_to_decrypt(n,r);return e.__wrap(i)}get withheldCode(){let e=K.megolmdecryptionerror_withheldCode(this.__wbg_ptr),t;return e[0]!==0&&(t=R(e[0],e[1]).slice(),K.__wbindgen_free(e[0],e[1]*1,1)),t}};Symbol.dispose&&(bt.prototype[Symbol.dispose]=bt.prototype.free);var xt=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,ec.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,ec.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_megolmv1backupkey_free(e,0)}get algorithm(){return K.megolmv1backupkey_algorithm(this.__wbg_ptr)}get publicKeyBase64(){return K.megolmv1backupkey_publicKeyBase64(this.__wbg_ptr)}};Symbol.dispose&&(xt.prototype[Symbol.dispose]=xt.prototype.free);var St=class{__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,tc.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_migration_free(e,0)}static migrateBaseData(e,t,n,r){return F(e,Ne),F(n,j),K.migration_migrateBaseData(e.__wbg_ptr,t,n.__wbg_ptr,B(r)?0:P(r))}static migrateMegolmSessions(e,t,n,r){let i=H(e,K.__wbindgen_malloc),a=G;F(n,j);let o=K.migration_migrateMegolmSessions(i,a,t,n.__wbg_ptr,B(r)?0:P(r));if(o[2])throw W(o[1]);return W(o[0])}static migrateOlmSessions(e,t,n,r){let i=H(e,K.__wbindgen_malloc),a=G;F(n,j);let o=K.migration_migrateOlmSessions(i,a,t,n.__wbg_ptr,B(r)?0:P(r));if(o[2])throw W(o[1]);return W(o[0])}};Symbol.dispose&&(St.prototype[Symbol.dispose]=St.prototype.free);var Ct=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,nc.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,nc.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_msc4108intentdata_free(e,0)}get rendezvousUrl(){let e,t;try{let n=K.__wbg_get_msc4108intentdata_rendezvousUrl(this.__wbg_ptr);return e=n[0],t=n[1],R(n[0],n[1])}finally{K.__wbindgen_free(e,t,1)}}get serverName(){let e=K.__wbg_get_msc4108intentdata_serverName(this.__wbg_ptr),t;return e[0]!==0&&(t=R(e[0],e[1]).slice(),K.__wbindgen_free(e[0],e[1]*1,1)),t}set rendezvousUrl(e){let t=U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),n=G;K.__wbg_set_msc4108intentdata_rendezvousUrl(this.__wbg_ptr,t,n)}set serverName(e){var t=B(e)?0:U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),n=G;K.__wbg_set_msc4108intentdata_serverName(this.__wbg_ptr,t,n)}};Symbol.dispose&&(Ct.prototype[Symbol.dispose]=Ct.prototype.free);var wt=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,rc.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,rc.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_msc4388intentdata_free(e,0)}get baseUrl(){let e,t;try{let n=K.__wbg_get_msc4388intentdata_baseUrl(this.__wbg_ptr);return e=n[0],t=n[1],R(n[0],n[1])}finally{K.__wbindgen_free(e,t,1)}}get rendezvousId(){let e,t;try{let n=K.__wbg_get_msc4388intentdata_rendezvousId(this.__wbg_ptr);return e=n[0],t=n[1],R(n[0],n[1])}finally{K.__wbindgen_free(e,t,1)}}set baseUrl(e){let t=U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),n=G;K.__wbg_set_msc4388intentdata_baseUrl(this.__wbg_ptr,t,n)}set rendezvousId(e){let t=U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),n=G;K.__wbg_set_msc4388intentdata_rendezvousId(this.__wbg_ptr,t,n)}};Symbol.dispose&&(wt.prototype[Symbol.dispose]=wt.prototype.free);var Tt=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,ic.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,ic.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_olmmachine_free(e,0)}backupRoomKeys(){return K.olmmachine_backupRoomKeys(this.__wbg_ptr)}bootstrapCrossSigning(e){return K.olmmachine_bootstrapCrossSigning(this.__wbg_ptr,e)}buildRoomKeyBundle(e){return F(e,A),K.olmmachine_buildRoomKeyBundle(this.__wbg_ptr,e.__wbg_ptr)}clearRoomPendingKeyBundle(e){return F(e,A),K.olmmachine_clearRoomPendingKeyBundle(this.__wbg_ptr,e.__wbg_ptr)}close(){let e=this.__destroy_into_raw();K.olmmachine_close(e)}crossSigningStatus(){return K.olmmachine_crossSigningStatus(this.__wbg_ptr)}static decryptExportedRoomKeys(e,t){let n,r;try{let o=U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),s=G,c=U(t,K.__wbindgen_malloc,K.__wbindgen_realloc),l=G,u=K.olmmachine_decryptExportedRoomKeys(o,s,c,l);var i=u[0],a=u[1];if(u[3])throw i=0,a=0,W(u[2]);return n=i,r=a,R(i,a)}finally{K.__wbindgen_free(n,r,1)}}decryptRoomEvent(e,t,n){let r=U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),i=G;F(t,A),F(n,He);let a=K.olmmachine_decryptRoomEvent(this.__wbg_ptr,r,i,t.__wbg_ptr,n.__wbg_ptr);if(a[2])throw W(a[1]);return W(a[0])}dehydratedDevices(){let e=K.olmmachine_dehydratedDevices(this.__wbg_ptr);return We.__wrap(e)}deleteSecretsFromInbox(e){let t=U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),n=G;return K.olmmachine_deleteSecretsFromInbox(this.__wbg_ptr,t,n)}get deviceCreationTimeMs(){return K.olmmachine_deviceCreationTimeMs(this.__wbg_ptr)}get deviceId(){let e=K.olmmachine_deviceId(this.__wbg_ptr);return k.__wrap(e)}disableBackup(){return K.olmmachine_disableBackup(this.__wbg_ptr)}get displayName(){return K.olmmachine_displayName(this.__wbg_ptr)}enableBackupV1(e,t){let n=U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),r=G,i=U(t,K.__wbindgen_malloc,K.__wbindgen_realloc),a=G,o=K.olmmachine_enableBackupV1(this.__wbg_ptr,n,r,i,a);if(o[2])throw W(o[1]);return W(o[0])}static encryptExportedRoomKeys(e,t,n){let r,i;try{let s=U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),c=G,l=U(t,K.__wbindgen_malloc,K.__wbindgen_realloc),u=G,d=K.olmmachine_encryptExportedRoomKeys(s,c,l,u,n);var a=d[0],o=d[1];if(d[3])throw a=0,o=0,W(d[2]);return r=a,i=o,R(a,o)}finally{K.__wbindgen_free(r,i,1)}}encryptRoomEvent(e,t,n){F(e,A);let r=U(t,K.__wbindgen_malloc,K.__wbindgen_realloc),i=G,a=U(n,K.__wbindgen_malloc,K.__wbindgen_realloc),o=G,s=K.olmmachine_encryptRoomEvent(this.__wbg_ptr,e.__wbg_ptr,r,i,a,o);if(s[2])throw W(s[1]);return W(s[0])}encryptStateEvent(e,t,n,r){F(e,A);let i=U(t,K.__wbindgen_malloc,K.__wbindgen_realloc),a=G,o=U(n,K.__wbindgen_malloc,K.__wbindgen_realloc),s=G,c=U(r,K.__wbindgen_malloc,K.__wbindgen_realloc),l=G,u=K.olmmachine_encryptStateEvent(this.__wbg_ptr,e.__wbg_ptr,i,a,o,s,c,l);if(u[2])throw W(u[1]);return W(u[0])}exportCrossSigningKeys(){return K.olmmachine_exportCrossSigningKeys(this.__wbg_ptr)}exportRoomKeys(e){return K.olmmachine_exportRoomKeys(this.__wbg_ptr,e)}exportSecretsBundle(){return K.olmmachine_exportSecretsBundle(this.__wbg_ptr)}getAllRoomsPendingKeyBundles(){return K.olmmachine_getAllRoomsPendingKeyBundles(this.__wbg_ptr)}getBackupKeys(){return K.olmmachine_getBackupKeys(this.__wbg_ptr)}getDevice(e,t,n){return F(e,M),F(t,k),K.olmmachine_getDevice(this.__wbg_ptr,e.__wbg_ptr,t.__wbg_ptr,!B(n),B(n)?0:n)}getIdentity(e){return F(e,M),K.olmmachine_getIdentity(this.__wbg_ptr,e.__wbg_ptr)}getMissingSessions(e){let t=H(e,K.__wbindgen_malloc),n=G;return K.olmmachine_getMissingSessions(this.__wbg_ptr,t,n)}getPendingKeyBundleDetailsForRoom(e){return F(e,A),K.olmmachine_getPendingKeyBundleDetailsForRoom(this.__wbg_ptr,e.__wbg_ptr)}getReceivedRoomKeyBundleData(e,t){return F(e,A),F(t,M),K.olmmachine_getReceivedRoomKeyBundleData(this.__wbg_ptr,e.__wbg_ptr,t.__wbg_ptr)}getRoomEventEncryptionInfo(e,t){let n=U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),r=G;F(t,A);let i=K.olmmachine_getRoomEventEncryptionInfo(this.__wbg_ptr,n,r,t.__wbg_ptr);if(i[2])throw W(i[1]);return W(i[0])}getRoomSettings(e){return F(e,A),K.olmmachine_getRoomSettings(this.__wbg_ptr,e.__wbg_ptr)}getSecretsFromInbox(e){let t=U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),n=G;return K.olmmachine_getSecretsFromInbox(this.__wbg_ptr,t,n)}getUserDevices(e,t){return F(e,M),K.olmmachine_getUserDevices(this.__wbg_ptr,e.__wbg_ptr,!B(t),B(t)?0:t)}getVerification(e,t){F(e,M);let n=U(t,K.__wbindgen_malloc,K.__wbindgen_realloc),r=G,i=K.olmmachine_getVerification(this.__wbg_ptr,e.__wbg_ptr,n,r);if(i[2])throw W(i[1]);return W(i[0])}getVerificationRequest(e,t){F(e,M);let n=U(t,K.__wbindgen_malloc,K.__wbindgen_realloc),r=G,i=K.olmmachine_getVerificationRequest(this.__wbg_ptr,e.__wbg_ptr,n,r);return i===0?void 0:Sn.__wrap(i)}getVerificationRequests(e){return F(e,M),K.olmmachine_getVerificationRequests(this.__wbg_ptr,e.__wbg_ptr)}hasDownloadedAllRoomKeys(e){return F(e,A),K.olmmachine_hasDownloadedAllRoomKeys(this.__wbg_ptr,e.__wbg_ptr)}get identityKeys(){let e=K.olmmachine_identityKeys(this.__wbg_ptr);return lt.__wrap(e)}importBackedUpRoomKeys(e,t,n){let r=U(n,K.__wbindgen_malloc,K.__wbindgen_realloc),i=G,a=K.olmmachine_importBackedUpRoomKeys(this.__wbg_ptr,e,B(t)?0:P(t),r,i);if(a[2])throw W(a[1]);return W(a[0])}importCrossSigningKeys(e,t,n){var r=B(e)?0:U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),i=G,a=B(t)?0:U(t,K.__wbindgen_malloc,K.__wbindgen_realloc),o=G,s=B(n)?0:U(n,K.__wbindgen_malloc,K.__wbindgen_realloc),c=G;return K.olmmachine_importCrossSigningKeys(this.__wbg_ptr,r,i,a,o,s,c)}importExportedRoomKeys(e,t){let n=U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),r=G,i=K.olmmachine_importExportedRoomKeys(this.__wbg_ptr,n,r,t);if(i[2])throw W(i[1]);return W(i[0])}importRoomKeys(e,t){let n=U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),r=G,i=K.olmmachine_importRoomKeys(this.__wbg_ptr,n,r,t);if(i[2])throw W(i[1]);return W(i[0])}importSecretsBundle(e){F(e,en);var t=e.__destroy_into_raw();return K.olmmachine_importSecretsBundle(this.__wbg_ptr,t)}static initFromStore(e,t,n,r){return F(e,M),F(t,k),F(n,j),K.olmmachine_initFromStore(e.__wbg_ptr,t.__wbg_ptr,n.__wbg_ptr,B(r)?0:P(r))}static initialize(e,t,n,r,i){F(e,M),F(t,k);var a=B(n)?0:U(n,K.__wbindgen_malloc,K.__wbindgen_realloc),o=G,s=B(r)?0:U(r,K.__wbindgen_malloc,K.__wbindgen_realloc),c=G;return K.olmmachine_initialize(e.__wbg_ptr,t.__wbg_ptr,a,o,s,c,B(i)?0:P(i))}invalidateGroupSession(e){return F(e,A),K.olmmachine_invalidateGroupSession(this.__wbg_ptr,e.__wbg_ptr)}isBackupEnabled(){return K.olmmachine_isBackupEnabled(this.__wbg_ptr)}markAllTrackedUsersAsDirty(){return K.olmmachine_markAllTrackedUsersAsDirty(this.__wbg_ptr)}markRequestAsSent(e,t,n){let r=U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),i=G,a=U(n,K.__wbindgen_malloc,K.__wbindgen_realloc),o=G,s=K.olmmachine_markRequestAsSent(this.__wbg_ptr,r,i,t,a,o);if(s[2])throw W(s[1]);return W(s[0])}constructor(){let e=K.olmmachine_new();if(e[2])throw W(e[1]);return this.__wbg_ptr=e[0]>>>0,ic.register(this,this.__wbg_ptr,this),this}outgoingRequests(){return K.olmmachine_outgoingRequests(this.__wbg_ptr)}pushSecretToVerifiedDevices(e){let t=U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),n=G;return K.olmmachine_pushSecretToVerifiedDevices(this.__wbg_ptr,t,n)}queryKeysForUsers(e){let t=H(e,K.__wbindgen_malloc),n=G,r=K.olmmachine_queryKeysForUsers(this.__wbg_ptr,t,n);if(r[2])throw W(r[1]);return ht.__wrap(r[0])}receiveRoomKeyBundle(e,t){F(e,dn);var n=e.__destroy_into_raw();let r=V(t,K.__wbindgen_malloc),i=G,a=K.olmmachine_receiveRoomKeyBundle(this.__wbg_ptr,n,r,i);if(a[2])throw W(a[1]);return W(a[0])}receiveSyncChanges(e,t,n,r,i){let a=U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),o=G;F(t,Ze);let s=0;B(i)||(F(i,He),s=i.__destroy_into_raw());let c=K.olmmachine_receiveSyncChanges(this.__wbg_ptr,a,o,t.__wbg_ptr,n,B(r)?0:P(r),s);if(c[2])throw W(c[1]);return W(c[0])}receiveVerificationEvent(e,t){let n=U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),r=G;F(t,A);let i=K.olmmachine_receiveVerificationEvent(this.__wbg_ptr,n,r,t.__wbg_ptr);if(i[2])throw W(i[1]);return W(i[0])}registerDevicesUpdatedCallback(e){K.olmmachine_registerDevicesUpdatedCallback(this.__wbg_ptr,e)}registerReceiveSecretCallback(e){K.olmmachine_registerReceiveSecretCallback(this.__wbg_ptr,e)}registerRoomKeyUpdatedCallback(e){K.olmmachine_registerRoomKeyUpdatedCallback(this.__wbg_ptr,e)}registerRoomKeysWithheldCallback(e){K.olmmachine_registerRoomKeysWithheldCallback(this.__wbg_ptr,e)}registerUserIdentityUpdatedCallback(e){K.olmmachine_registerUserIdentityUpdatedCallback(this.__wbg_ptr,e)}requestMissingSecretsIfNeeded(){return K.olmmachine_requestMissingSecretsIfNeeded(this.__wbg_ptr)}roomKeyCounts(){return K.olmmachine_roomKeyCounts(this.__wbg_ptr)}get roomKeyForwardingEnabled(){return K.olmmachine_roomKeyForwardingEnabled(this.__wbg_ptr)!==0}get roomKeyRequestsEnabled(){return K.olmmachine_roomKeyRequestsEnabled(this.__wbg_ptr)!==0}saveBackupDecryptionKey(e,t){F(e,w);let n=U(t,K.__wbindgen_malloc,K.__wbindgen_realloc),r=G;return K.olmmachine_saveBackupDecryptionKey(this.__wbg_ptr,e.__wbg_ptr,n,r)}setHasDownloadedAllRoomKeys(e){return F(e,A),K.olmmachine_setHasDownloadedAllRoomKeys(this.__wbg_ptr,e.__wbg_ptr)}setRoomSettings(e,t){return F(e,A),F(t,Qt),K.olmmachine_setRoomSettings(this.__wbg_ptr,e.__wbg_ptr,t.__wbg_ptr)}set roomKeyForwardingEnabled(e){K.olmmachine_set_roomKeyForwardingEnabled(this.__wbg_ptr,e)}set roomKeyRequestsEnabled(e){K.olmmachine_set_roomKeyRequestsEnabled(this.__wbg_ptr,e)}shareRoomKey(e,t,n){F(e,A);let r=H(t,K.__wbindgen_malloc),i=G;return F(n,at),K.olmmachine_shareRoomKey(this.__wbg_ptr,e.__wbg_ptr,r,i,n.__wbg_ptr)}shareRoomKeyBundleData(e,t,n,r,i){F(e,M),F(t,A);let a=U(n,K.__wbindgen_malloc,K.__wbindgen_realloc),o=G;var s=B(r)?0:U(r,K.__wbindgen_malloc,K.__wbindgen_realloc),c=G;F(i,T);var l=i.__destroy_into_raw();let u=K.olmmachine_shareRoomKeyBundleData(this.__wbg_ptr,e.__wbg_ptr,t.__wbg_ptr,a,o,s,c,l);if(u[2])throw W(u[1]);return W(u[0])}sign(e){let t=U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),n=G;return K.olmmachine_sign(this.__wbg_ptr,t,n)}storeRoomPendingKeyBundle(e,t){return F(e,A),F(t,M),K.olmmachine_storeRoomPendingKeyBundle(this.__wbg_ptr,e.__wbg_ptr,t.__wbg_ptr)}trackedUsers(){let e=K.olmmachine_trackedUsers(this.__wbg_ptr);if(e[2])throw W(e[1]);return W(e[0])}updateTrackedUsers(e){let t=H(e,K.__wbindgen_malloc),n=G;return K.olmmachine_updateTrackedUsers(this.__wbg_ptr,t,n)}get userId(){let e=K.olmmachine_userId(this.__wbg_ptr);return M.__wrap(e)}verifyBackup(e){let t=K.olmmachine_verifyBackup(this.__wbg_ptr,e);if(t[2])throw W(t[1]);return W(t[0])}};Symbol.dispose&&(Tt.prototype[Symbol.dispose]=Tt.prototype.free);var Et=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,ac.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,ac.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_otheruseridentity_free(e,0)}hasVerificationViolation(){return K.otheruseridentity_hasVerificationViolation(this.__wbg_ptr)!==0}identityNeedsUserApproval(){return K.otheruseridentity_identityNeedsUserApproval(this.__wbg_ptr)!==0}isVerified(){return K.otheruseridentity_isVerified(this.__wbg_ptr)!==0}get masterKey(){let e,t;try{let i=K.otheruseridentity_masterKey(this.__wbg_ptr);var n=i[0],r=i[1];if(i[3])throw n=0,r=0,W(i[2]);return e=n,t=r,R(n,r)}finally{K.__wbindgen_free(e,t,1)}}pinCurrentMasterKey(){return K.otheruseridentity_pinCurrentMasterKey(this.__wbg_ptr)}requestVerification(e,t,n){F(e,A),F(t,st);var r=B(n)?0:H(n,K.__wbindgen_malloc),i=G;let a=K.otheruseridentity_requestVerification(this.__wbg_ptr,e.__wbg_ptr,t.__wbg_ptr,r,i);if(a[2])throw W(a[1]);return Sn.__wrap(a[0])}get selfSigningKey(){let e,t;try{let i=K.otheruseridentity_selfSigningKey(this.__wbg_ptr);var n=i[0],r=i[1];if(i[3])throw n=0,r=0,W(i[2]);return e=n,t=r,R(n,r)}finally{K.__wbindgen_free(e,t,1)}}verificationRequestContent(e){let t,n;try{var r=B(e)?0:H(e,K.__wbindgen_malloc),i=G;let s=K.otheruseridentity_verificationRequestContent(this.__wbg_ptr,r,i);var a=s[0],o=s[1];if(s[3])throw a=0,o=0,W(s[2]);return t=a,n=o,R(a,o)}finally{K.__wbindgen_free(t,n,1)}}verify(){return K.otheruseridentity_verify(this.__wbg_ptr)}wasPreviouslyVerified(){return K.otheruseridentity_wasPreviouslyVerified(this.__wbg_ptr)!==0}withdrawVerification(){return K.otheruseridentity_withdrawVerification(this.__wbg_ptr)}};Symbol.dispose&&(Et.prototype[Symbol.dispose]=Et.prototype.free);var Dt=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,oc.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,oc.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_outboundcreationresult_free(e,0)}get channel(){let e=K.__wbg_get_outboundcreationresult_channel(this.__wbg_ptr);return ot.__wrap(e)}get initial_message(){let e,t;try{let n=K.__wbg_get_outboundcreationresult_initial_message(this.__wbg_ptr);return e=n[0],t=n[1],R(n[0],n[1])}finally{K.__wbindgen_free(e,t,1)}}set channel(e){F(e,ot);var t=e.__destroy_into_raw();K.__wbg_set_outboundcreationresult_channel(this.__wbg_ptr,t)}set initial_message(e){let t=U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),n=G;K.__wbg_set_outboundcreationresult_initial_message(this.__wbg_ptr,t,n)}};Symbol.dispose&&(Dt.prototype[Symbol.dispose]=Dt.prototype.free);var Ot=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,sc.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,sc.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_ownuseridentity_free(e,0)}hasVerificationViolation(){return K.ownuseridentity_hasVerificationViolation(this.__wbg_ptr)!==0}isVerified(){return K.ownuseridentity_isVerified(this.__wbg_ptr)!==0}get masterKey(){let e,t;try{let i=K.ownuseridentity_masterKey(this.__wbg_ptr);var n=i[0],r=i[1];if(i[3])throw n=0,r=0,W(i[2]);return e=n,t=r,R(n,r)}finally{K.__wbindgen_free(e,t,1)}}requestVerification(e){var t=B(e)?0:H(e,K.__wbindgen_malloc),n=G;let r=K.ownuseridentity_requestVerification(this.__wbg_ptr,t,n);if(r[2])throw W(r[1]);return W(r[0])}get selfSigningKey(){let e,t;try{let i=K.ownuseridentity_selfSigningKey(this.__wbg_ptr);var n=i[0],r=i[1];if(i[3])throw n=0,r=0,W(i[2]);return e=n,t=r,R(n,r)}finally{K.__wbindgen_free(e,t,1)}}trustsOurOwnDevice(){return K.ownuseridentity_trustsOurOwnDevice(this.__wbg_ptr)}get userSigningKey(){let e,t;try{let i=K.ownuseridentity_userSigningKey(this.__wbg_ptr);var n=i[0],r=i[1];if(i[3])throw n=0,r=0,W(i[2]);return e=n,t=r,R(n,r)}finally{K.__wbindgen_free(e,t,1)}}verify(){return K.ownuseridentity_verify(this.__wbg_ptr)}wasPreviouslyVerified(){return K.ownuseridentity_wasPreviouslyVerified(this.__wbg_ptr)!==0}withdrawVerification(){return K.ownuseridentity_withdrawVerification(this.__wbg_ptr)}};Symbol.dispose&&(Ot.prototype[Symbol.dispose]=Ot.prototype.free);var kt=class e{static __unwrap(t){return t instanceof e?t.__destroy_into_raw():0}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,cc.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_pickledinboundgroupsession_free(e,0)}get backedUp(){return K.__wbg_get_pickledinboundgroupsession_backedUp(this.__wbg_ptr)!==0}get imported(){return K.__wbg_get_pickledinboundgroupsession_imported(this.__wbg_ptr)!==0}get pickle(){let e,t;try{let n=K.__wbg_get_pickledinboundgroupsession_pickle(this.__wbg_ptr);return e=n[0],t=n[1],R(n[0],n[1])}finally{K.__wbindgen_free(e,t,1)}}get roomId(){let e=K.__wbg_get_pickledinboundgroupsession_roomId(this.__wbg_ptr);return e===0?void 0:A.__wrap(e)}get senderKey(){let e,t;try{let n=K.__wbg_get_pickledinboundgroupsession_senderKey(this.__wbg_ptr);return e=n[0],t=n[1],R(n[0],n[1])}finally{K.__wbindgen_free(e,t,1)}}get senderSigningKey(){let e=K.__wbg_get_pickledinboundgroupsession_senderSigningKey(this.__wbg_ptr),t;return e[0]!==0&&(t=R(e[0],e[1]).slice(),K.__wbindgen_free(e[0],e[1]*1,1)),t}constructor(){let e=K.pickledinboundgroupsession_new();return this.__wbg_ptr=e>>>0,cc.register(this,this.__wbg_ptr,this),this}set backedUp(e){K.__wbg_set_pickledinboundgroupsession_backedUp(this.__wbg_ptr,e)}set imported(e){K.__wbg_set_pickledinboundgroupsession_imported(this.__wbg_ptr,e)}set pickle(e){let t=U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),n=G;K.__wbg_set_pickledinboundgroupsession_pickle(this.__wbg_ptr,t,n)}set roomId(e){let t=0;B(e)||(F(e,A),t=e.__destroy_into_raw()),K.__wbg_set_pickledinboundgroupsession_roomId(this.__wbg_ptr,t)}set senderKey(e){let t=U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),n=G;K.__wbg_set_pickledinboundgroupsession_senderKey(this.__wbg_ptr,t,n)}set senderSigningKey(e){var t=B(e)?0:U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),n=G;K.__wbg_set_pickledinboundgroupsession_senderSigningKey(this.__wbg_ptr,t,n)}};Symbol.dispose&&(kt.prototype[Symbol.dispose]=kt.prototype.free);var At=class e{static __unwrap(t){return t instanceof e?t.__destroy_into_raw():0}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,lc.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_pickledsession_free(e,0)}get createdUsingFallbackKey(){return K.__wbg_get_pickledsession_createdUsingFallbackKey(this.__wbg_ptr)!==0}get creationTime(){return K.__wbg_get_pickledsession_creationTime(this.__wbg_ptr)}get lastUseTime(){return K.__wbg_get_pickledsession_lastUseTime(this.__wbg_ptr)}get pickle(){let e,t;try{let n=K.__wbg_get_pickledsession_pickle(this.__wbg_ptr);return e=n[0],t=n[1],R(n[0],n[1])}finally{K.__wbindgen_free(e,t,1)}}get senderKey(){let e,t;try{let n=K.__wbg_get_pickledsession_senderKey(this.__wbg_ptr);return e=n[0],t=n[1],R(n[0],n[1])}finally{K.__wbindgen_free(e,t,1)}}constructor(){let e=K.pickledsession_new();return this.__wbg_ptr=e>>>0,lc.register(this,this.__wbg_ptr,this),this}set createdUsingFallbackKey(e){K.__wbg_set_pickledsession_createdUsingFallbackKey(this.__wbg_ptr,e)}set creationTime(e){K.__wbg_set_pickledsession_creationTime(this.__wbg_ptr,e)}set lastUseTime(e){K.__wbg_set_pickledsession_lastUseTime(this.__wbg_ptr,e)}set pickle(e){let t=U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),n=G;K.__wbg_set_pickledsession_pickle(this.__wbg_ptr,t,n)}set senderKey(e){let t=U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),n=G;K.__wbg_set_pickledsession_senderKey(this.__wbg_ptr,t,n)}};Symbol.dispose&&(At.prototype[Symbol.dispose]=At.prototype.free);var jt=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,uc.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,uc.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_pkdecryption_free(e,0)}decrypt(e){F(e,Nt);let t=K.pkdecryption_decrypt(this.__wbg_ptr,e.__wbg_ptr);if(t[3])throw W(t[2]);var n=I(t[0],t[1]).slice();return K.__wbindgen_free(t[0],t[1]*1,1),n}decryptString(e){let t,n;try{F(e,Nt);let a=K.pkdecryption_decryptString(this.__wbg_ptr,e.__wbg_ptr);var r=a[0],i=a[1];if(a[3])throw r=0,i=0,W(a[2]);return t=r,n=i,R(r,i)}finally{K.__wbindgen_free(t,n,1)}}static fromKey(t){F(t,ze);let n=K.pkdecryption_fromKey(t.__wbg_ptr);return e.__wrap(n)}constructor(){let e=K.pkdecryption_new();return this.__wbg_ptr=e>>>0,uc.register(this,this.__wbg_ptr,this),this}publicKey(){let e=K.pkdecryption_publicKey(this.__wbg_ptr);return E.__wrap(e)}secretKey(){let e=K.pkdecryption_secretKey(this.__wbg_ptr);return ze.__wrap(e)}};Symbol.dispose&&(jt.prototype[Symbol.dispose]=jt.prototype.free);var Mt=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,dc.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,dc.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_pkencryption_free(e,0)}encrypt(e){let t=V(e,K.__wbindgen_malloc),n=G,r=K.pkencryption_encrypt(this.__wbg_ptr,t,n);return Nt.__wrap(r)}encryptString(e){let t=U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),n=G,r=K.pkencryption_encryptString(this.__wbg_ptr,t,n);return Nt.__wrap(r)}static fromKey(t){F(t,E);let n=K.pkencryption_fromKey(t.__wbg_ptr);return e.__wrap(n)}};Symbol.dispose&&(Mt.prototype[Symbol.dispose]=Mt.prototype.free);var Nt=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,fc.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,fc.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_pkmessage_free(e,0)}ciphertext(){let e=K.pkmessage_ciphertext(this.__wbg_ptr);var t=I(e[0],e[1]).slice();return K.__wbindgen_free(e[0],e[1]*1,1),t}ephemeralKey(){let e=K.pkmessage_ephemeralKey(this.__wbg_ptr);return E.__wrap(e)}static fromBase64(t){F(t,Me);let n=K.pkmessage_fromBase64(t.__wbg_ptr);if(n[2])throw W(n[1]);return e.__wrap(n[0])}static fromParts(t,n,r){let i=V(t,K.__wbindgen_malloc),a=G,o=V(n,K.__wbindgen_malloc),s=G;F(r,E);let c=K.pkmessage_fromParts(i,a,o,s,r.__wbg_ptr);return e.__wrap(c)}mac(){let e=K.pkmessage_mac(this.__wbg_ptr);var t=I(e[0],e[1]).slice();return K.__wbindgen_free(e[0],e[1]*1,1),t}toBase64(){let e=K.pkmessage_toBase64(this.__wbg_ptr);return Me.__wrap(e)}};Symbol.dispose&&(Nt.prototype[Symbol.dispose]=Nt.prototype.free);var Pt=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,pc.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,pc.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_plaintexttodeviceevent_free(e,0)}get rawEvent(){return K.__wbg_get_plaintexttodeviceevent_rawEvent(this.__wbg_ptr)}get type(){return K.plaintexttodeviceevent_type(this.__wbg_ptr)}};Symbol.dispose&&(Pt.prototype[Symbol.dispose]=Pt.prototype.free);const Ft=Object.freeze({Decrypted:0,0:`Decrypted`,UnableToDecrypt:1,1:`UnableToDecrypt`,PlainText:2,2:`PlainText`,Invalid:3,3:`Invalid`});var It=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,mc.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,mc.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_putdehydrateddevicerequest_free(e,0)}get body(){return K.__wbg_get_putdehydrateddevicerequest_body(this.__wbg_ptr)}constructor(e){let t=K.putdehydrateddevicerequest_new(e);return this.__wbg_ptr=t>>>0,mc.register(this,this.__wbg_ptr,this),this}};Symbol.dispose&&(It.prototype[Symbol.dispose]=It.prototype.free);var Lt=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,hc.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,hc.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_qr_free(e,0)}cancel(){let e=K.qr_cancel(this.__wbg_ptr);if(e[2])throw W(e[1]);return W(e[0])}cancelInfo(){let e=K.qr_cancelInfo(this.__wbg_ptr);return e===0?void 0:Pe.__wrap(e)}cancelWithCode(e){let t=U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),n=G,r=K.qr_cancelWithCode(this.__wbg_ptr,t,n);if(r[2])throw W(r[1]);return W(r[0])}confirmScanning(){let e=K.qr_confirmScanning(this.__wbg_ptr);if(e[2])throw W(e[1]);return W(e[0])}get flowId(){let e,t;try{let n=K.qr_flowId(this.__wbg_ptr);return e=n[0],t=n[1],R(n[0],n[1])}finally{K.__wbindgen_free(e,t,1)}}hasBeenConfirmed(){return K.qr_hasBeenConfirmed(this.__wbg_ptr)!==0}hasBeenScanned(){return K.qr_hasBeenScanned(this.__wbg_ptr)!==0}isCancelled(){return K.qr_isCancelled(this.__wbg_ptr)!==0}isDone(){return K.qr_isDone(this.__wbg_ptr)!==0}isSelfVerification(){return K.qr_isSelfVerification(this.__wbg_ptr)!==0}get otherDeviceId(){let e=K.qr_otherDeviceId(this.__wbg_ptr);return k.__wrap(e)}get otherUserId(){let e=K.qr_otherUserId(this.__wbg_ptr);return M.__wrap(e)}reciprocate(){let e=K.qr_reciprocate(this.__wbg_ptr);if(e[2])throw W(e[1]);return W(e[0])}reciprocated(){return K.qr_reciprocated(this.__wbg_ptr)!==0}registerChangesCallback(e){K.qr_registerChangesCallback(this.__wbg_ptr,e)}get roomId(){let e=K.qr_roomId(this.__wbg_ptr);return e===0?void 0:A.__wrap(e)}state(){return K.qr_state(this.__wbg_ptr)}toBytes(){let e=K.qr_toBytes(this.__wbg_ptr);if(e[2])throw W(e[1]);return W(e[0])}toQrCode(){let e=K.qr_toQrCode(this.__wbg_ptr);if(e[2])throw W(e[1]);return Rt.__wrap(e[0])}get userId(){let e=K.qr_userId(this.__wbg_ptr);return M.__wrap(e)}weStarted(){return K.qr_weStarted(this.__wbg_ptr)!==0}};Symbol.dispose&&(Lt.prototype[Symbol.dispose]=Lt.prototype.free);var Rt=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,gc.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,gc.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_qrcode_free(e,0)}renderIntoBuffer(){let e=K.qrcode_renderIntoBuffer(this.__wbg_ptr);if(e[2])throw W(e[1]);return W(e[0])}};Symbol.dispose&&(Rt.prototype[Symbol.dispose]=Rt.prototype.free);var zt=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,_c.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,_c.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_qrcodedata_free(e,0)}static fromBase64(t){let n=U(t,K.__wbindgen_malloc,K.__wbindgen_realloc),r=G,i=K.qrcodedata_fromBase64(n,r);if(i[2])throw W(i[1]);return e.__wrap(i[0])}static fromBytes(t){let n=V(t,K.__wbindgen_malloc),r=G,i=K.qrcodedata_fromBytes(n,r);if(i[2])throw W(i[1]);return e.__wrap(i[0])}get intentData(){let e=K.qrcodedata_intentData(this.__wbg_ptr);return Vt.__wrap(e)}get mode(){return K.qrcodedata_mode(this.__wbg_ptr)}constructor(e,t,n){F(e,E);var r=e.__destroy_into_raw();let i=U(t,K.__wbindgen_malloc,K.__wbindgen_realloc),a=G;var o=B(n)?0:U(n,K.__wbindgen_malloc,K.__wbindgen_realloc),s=G;let c=K.qrcodedata_new(r,i,a,o,s);if(c[2])throw W(c[1]);return this.__wbg_ptr=c[0]>>>0,_c.register(this,this.__wbg_ptr,this),this}static newMsc4388(t,n,r,i){F(t,E);var a=t.__destroy_into_raw();let o=U(n,K.__wbindgen_malloc,K.__wbindgen_realloc),s=G,c=U(r,K.__wbindgen_malloc,K.__wbindgen_realloc),l=G,u=K.qrcodedata_newMsc4388(a,o,s,c,l,i);if(u[2])throw W(u[1]);return e.__wrap(u[0])}get publicKey(){let e=K.qrcodedata_publicKey(this.__wbg_ptr);return E.__wrap(e)}get rendezvousUrl(){let e=K.qrcodedata_rendezvousUrl(this.__wbg_ptr),t;return e[0]!==0&&(t=R(e[0],e[1]).slice(),K.__wbindgen_free(e[0],e[1]*1,1)),t}get serverName(){let e=K.qrcodedata_serverName(this.__wbg_ptr),t;return e[0]!==0&&(t=R(e[0],e[1]).slice(),K.__wbindgen_free(e[0],e[1]*1,1)),t}toBase64(){let e,t;try{let n=K.qrcodedata_toBase64(this.__wbg_ptr);return e=n[0],t=n[1],R(n[0],n[1])}finally{K.__wbindgen_free(e,t,1)}}toBytes(){let e=K.qrcodedata_toBytes(this.__wbg_ptr);var t=I(e[0],e[1]).slice();return K.__wbindgen_free(e[0],e[1]*1,1),t}};Symbol.dispose&&(zt.prototype[Symbol.dispose]=zt.prototype.free);const Bt=Object.freeze({Login:0,0:`Login`,Reciprocate:1,1:`Reciprocate`});var Vt=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,vc.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,vc.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_qrcodeintentdata_free(e,0)}get msc4108(){let e=K.__wbg_get_qrcodeintentdata_msc4108(this.__wbg_ptr);return e===0?void 0:Ct.__wrap(e)}get msc4388(){let e=K.__wbg_get_qrcodeintentdata_msc4388(this.__wbg_ptr);return e===0?void 0:wt.__wrap(e)}set msc4108(e){let t=0;B(e)||(F(e,Ct),t=e.__destroy_into_raw()),K.__wbg_set_qrcodeintentdata_msc4108(this.__wbg_ptr,t)}set msc4388(e){let t=0;B(e)||(F(e,wt),t=e.__destroy_into_raw()),K.__wbg_set_qrcodeintentdata_msc4388(this.__wbg_ptr,t)}};Symbol.dispose&&(Vt.prototype[Symbol.dispose]=Vt.prototype.free);var Ht=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,yc.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,yc.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_qrcodescan_free(e,0)}static fromBytes(t){let n=K.qrcodescan_fromBytes(t);if(n[2])throw W(n[1]);return e.__wrap(n[0])}};Symbol.dispose&&(Ht.prototype[Symbol.dispose]=Ht.prototype.free);const Ut=Object.freeze({Created:0,0:`Created`,Scanned:1,1:`Scanned`,Confirmed:2,2:`Confirmed`,Reciprocated:3,3:`Reciprocated`,Done:4,4:`Done`,Cancelled:5,5:`Cancelled`});var Wt=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,bc.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,bc.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_rehydrateddevice_free(e,0)}receiveEvents(e,t){let n=U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),r=G,i=0;return B(t)||(F(t,He),i=t.__destroy_into_raw()),K.rehydrateddevice_receiveEvents(this.__wbg_ptr,n,r,i)}};Symbol.dispose&&(Wt.prototype[Symbol.dispose]=Wt.prototype.free);const Gt=Object.freeze({KeysUpload:0,0:`KeysUpload`,KeysQuery:1,1:`KeysQuery`,KeysClaim:2,2:`KeysClaim`,ToDevice:3,3:`ToDevice`,SignatureUpload:4,4:`SignatureUpload`,RoomMessage:5,5:`RoomMessage`,KeysBackup:6,6:`KeysBackup`});var A=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,xc.register(n,n.__wbg_ptr,n),n}static __unwrap(t){return t instanceof e?t.__destroy_into_raw():0}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,xc.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_roomid_free(e,0)}constructor(e){let t=U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),n=G,r=K.roomid_new(t,n);if(r[2])throw W(r[1]);return this.__wbg_ptr=r[0]>>>0,xc.register(this,this.__wbg_ptr,this),this}toString(){let e,t;try{let n=K.roomid_toString(this.__wbg_ptr);return e=n[0],t=n[1],R(n[0],n[1])}finally{K.__wbindgen_free(e,t,1)}}};Symbol.dispose&&(A.prototype[Symbol.dispose]=A.prototype.free);var Kt=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,Sc.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Sc.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_roomkeycounts_free(e,0)}get backedUp(){return K.__wbg_get_roomkeycounts_backedUp(this.__wbg_ptr)}get total(){return K.__wbg_get_roomkeycounts_total(this.__wbg_ptr)}set backedUp(e){K.__wbg_set_roomkeycounts_backedUp(this.__wbg_ptr,e)}set total(e){K.__wbg_set_roomkeycounts_total(this.__wbg_ptr,e)}};Symbol.dispose&&(Kt.prototype[Symbol.dispose]=Kt.prototype.free);var qt=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,Cc.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Cc.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_roomkeyimportresult_free(e,0)}get importedCount(){return K.__wbg_get_roomkeyimportresult_importedCount(this.__wbg_ptr)>>>0}get totalCount(){return K.__wbg_get_roomkeyimportresult_totalCount(this.__wbg_ptr)>>>0}keys(){return K.roomkeyimportresult_keys(this.__wbg_ptr)}};Symbol.dispose&&(qt.prototype[Symbol.dispose]=qt.prototype.free);var Jt=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,wc.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,wc.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_roomkeyinfo_free(e,0)}get algorithm(){return K.roomkeyinfo_algorithm(this.__wbg_ptr)}get roomId(){let e=K.roomkeyinfo_roomId(this.__wbg_ptr);return A.__wrap(e)}get senderKey(){let e=K.roomkeyinfo_senderKey(this.__wbg_ptr);return E.__wrap(e)}get sessionId(){let e,t;try{let n=K.roomkeyinfo_sessionId(this.__wbg_ptr);return e=n[0],t=n[1],R(n[0],n[1])}finally{K.__wbindgen_free(e,t,1)}}};Symbol.dispose&&(Jt.prototype[Symbol.dispose]=Jt.prototype.free);var Yt=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,Tc.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Tc.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_roomkeywithheldinfo_free(e,0)}get algorithm(){return K.roomkeywithheldinfo_algorithm(this.__wbg_ptr)}get roomId(){let e=K.roomkeywithheldinfo_roomId(this.__wbg_ptr);return A.__wrap(e)}get sender(){let e=K.roomkeywithheldinfo_sender(this.__wbg_ptr);return M.__wrap(e)}get sessionId(){let e,t;try{let n=K.roomkeywithheldinfo_sessionId(this.__wbg_ptr);return e=n[0],t=n[1],R(n[0],n[1])}finally{K.__wbindgen_free(e,t,1)}}get withheldCode(){let e,t;try{let n=K.roomkeywithheldinfo_withheldCode(this.__wbg_ptr);return e=n[0],t=n[1],R(n[0],n[1])}finally{K.__wbindgen_free(e,t,1)}}};Symbol.dispose&&(Yt.prototype[Symbol.dispose]=Yt.prototype.free);var Xt=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,Ec.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Ec.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_roommessagerequest_free(e,0)}get body(){return K.__wbg_get_roommessagerequest_body(this.__wbg_ptr)}get event_type(){return K.__wbg_get_roommessagerequest_event_type(this.__wbg_ptr)}get id(){return K.__wbg_get_roommessagerequest_id(this.__wbg_ptr)}get room_id(){return K.__wbg_get_roommessagerequest_room_id(this.__wbg_ptr)}get txn_id(){return K.__wbg_get_roommessagerequest_txn_id(this.__wbg_ptr)}constructor(e,t,n,r,i){let a=K.roommessagerequest_new(e,t,n,r,i);return this.__wbg_ptr=a>>>0,Ec.register(this,this.__wbg_ptr,this),this}get type(){return K.roommessagerequest_type(this.__wbg_ptr)}};Symbol.dispose&&(Xt.prototype[Symbol.dispose]=Xt.prototype.free);var Zt=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,Dc.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Dc.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_roompendingkeybundledetails_free(e,0)}get inviteAcceptedAtMillis(){return K.roompendingkeybundledetails_inviteAcceptedAtMillis(this.__wbg_ptr)}get inviterId(){let e=K.roompendingkeybundledetails_inviterId(this.__wbg_ptr);return M.__wrap(e)}get roomId(){let e=K.roompendingkeybundledetails_roomId(this.__wbg_ptr);return A.__wrap(e)}};Symbol.dispose&&(Zt.prototype[Symbol.dispose]=Zt.prototype.free);var Qt=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,Oc.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Oc.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_roomsettings_free(e,0)}get algorithm(){return K.__wbg_get_roomsettings_algorithm(this.__wbg_ptr)}get encryptStateEvents(){return K.__wbg_get_roomsettings_encryptStateEvents(this.__wbg_ptr)!==0}get onlyAllowTrustedDevices(){return K.__wbg_get_roomsettings_onlyAllowTrustedDevices(this.__wbg_ptr)!==0}get sessionRotationPeriodMessages(){let e=K.__wbg_get_roomsettings_sessionRotationPeriodMessages(this.__wbg_ptr);return e[0]===0?void 0:e[1]}get sessionRotationPeriodMs(){let e=K.__wbg_get_roomsettings_sessionRotationPeriodMs(this.__wbg_ptr);return e[0]===0?void 0:e[1]}constructor(){let e=K.roomsettings_new();return this.__wbg_ptr=e>>>0,Oc.register(this,this.__wbg_ptr,this),this}set algorithm(e){K.__wbg_set_roomsettings_algorithm(this.__wbg_ptr,e)}set encryptStateEvents(e){K.__wbg_set_roomsettings_encryptStateEvents(this.__wbg_ptr,e)}set onlyAllowTrustedDevices(e){K.__wbg_set_roomsettings_onlyAllowTrustedDevices(this.__wbg_ptr,e)}set sessionRotationPeriodMessages(e){K.__wbg_set_roomsettings_sessionRotationPeriodMessages(this.__wbg_ptr,!B(e),B(e)?0:e)}set sessionRotationPeriodMs(e){K.__wbg_set_roomsettings_sessionRotationPeriodMs(this.__wbg_ptr,!B(e),B(e)?0:e)}};Symbol.dispose&&(Qt.prototype[Symbol.dispose]=Qt.prototype.free);var $t=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,kc.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,kc.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_sas_free(e,0)}accept(){let e=K.sas_accept(this.__wbg_ptr);if(e[2])throw W(e[1]);return W(e[0])}canBePresented(){return K.sas_canBePresented(this.__wbg_ptr)!==0}cancel(){let e=K.sas_cancel(this.__wbg_ptr);if(e[2])throw W(e[1]);return W(e[0])}cancelInfo(){let e=K.sas_cancelInfo(this.__wbg_ptr);return e===0?void 0:Pe.__wrap(e)}cancelWithCode(e){let t=U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),n=G,r=K.sas_cancelWithCode(this.__wbg_ptr,t,n);if(r[2])throw W(r[1]);return W(r[0])}confirm(){return K.sas_confirm(this.__wbg_ptr)}decimals(){let e=K.sas_decimals(this.__wbg_ptr),t;return e[0]!==0&&(t=Qc(e[0],e[1]).slice(),K.__wbindgen_free(e[0],e[1]*2,2)),t}get deviceId(){let e=K.sas_deviceId(this.__wbg_ptr);return k.__wrap(e)}emoji(){let e=K.sas_emoji(this.__wbg_ptr),t;return e[0]!==0&&(t=Zc(e[0],e[1]).slice(),K.__wbindgen_free(e[0],e[1]*4,4)),t}emojiIndex(){let e=K.sas_emojiIndex(this.__wbg_ptr),t;return e[0]!==0&&(t=I(e[0],e[1]).slice(),K.__wbindgen_free(e[0],e[1]*1,1)),t}get flowId(){let e,t;try{let n=K.sas_flowId(this.__wbg_ptr);return e=n[0],t=n[1],R(n[0],n[1])}finally{K.__wbindgen_free(e,t,1)}}hasBeenAccepted(){return K.sas_hasBeenAccepted(this.__wbg_ptr)!==0}haveWeConfirmed(){return K.sas_haveWeConfirmed(this.__wbg_ptr)!==0}isCancelled(){return K.sas_isCancelled(this.__wbg_ptr)!==0}isDone(){return K.sas_isDone(this.__wbg_ptr)!==0}isSelfVerification(){return K.sas_isSelfVerification(this.__wbg_ptr)!==0}get otherDeviceId(){let e=K.sas_otherDeviceId(this.__wbg_ptr);return k.__wrap(e)}get otherUserId(){let e=K.sas_otherUserId(this.__wbg_ptr);return M.__wrap(e)}registerChangesCallback(e){K.sas_registerChangesCallback(this.__wbg_ptr,e)}get roomId(){let e=K.sas_roomId(this.__wbg_ptr);return e===0?void 0:A.__wrap(e)}startedFromRequest(){return K.sas_startedFromRequest(this.__wbg_ptr)!==0}supportsEmoji(){return K.sas_supportsEmoji(this.__wbg_ptr)!==0}timedOut(){return K.sas_timedOut(this.__wbg_ptr)!==0}get userId(){let e=K.sas_userId(this.__wbg_ptr);return M.__wrap(e)}weStarted(){return K.sas_weStarted(this.__wbg_ptr)!==0}};Symbol.dispose&&($t.prototype[Symbol.dispose]=$t.prototype.free);var en=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,Ac.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Ac.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_secretsbundle_free(e,0)}get backupBundle(){let e=K.secretsbundle_backupBundle(this.__wbg_ptr);return e===0?void 0:je.__wrap(e)}static from_json(t){let n=K.secretsbundle_from_json(t);if(n[2])throw W(n[1]);return e.__wrap(n[0])}get masterKey(){let e,t;try{let n=K.secretsbundle_masterKey(this.__wbg_ptr);return e=n[0],t=n[1],R(n[0],n[1])}finally{K.__wbindgen_free(e,t,1)}}get selfSigningKey(){let e,t;try{let n=K.secretsbundle_selfSigningKey(this.__wbg_ptr);return e=n[0],t=n[1],R(n[0],n[1])}finally{K.__wbindgen_free(e,t,1)}}to_json(){let e=K.secretsbundle_to_json(this.__wbg_ptr);if(e[2])throw W(e[1]);return W(e[0])}get userSigningKey(){let e,t;try{let n=K.secretsbundle_userSigningKey(this.__wbg_ptr);return e=n[0],t=n[1],R(n[0],n[1])}finally{K.__wbindgen_free(e,t,1)}}};Symbol.dispose&&(en.prototype[Symbol.dispose]=en.prototype.free);var tn=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,jc.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,jc.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_servername_free(e,0)}get host(){let e,t;try{let n=K.servername_host(this.__wbg_ptr);return e=n[0],t=n[1],R(n[0],n[1])}finally{K.__wbindgen_free(e,t,1)}}isIpLiteral(){return K.servername_isIpLiteral(this.__wbg_ptr)!==0}constructor(e){let t=U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),n=G,r=K.servername_new(t,n);if(r[2])throw W(r[1]);return this.__wbg_ptr=r[0]>>>0,jc.register(this,this.__wbg_ptr,this),this}get port(){let e=K.servername_port(this.__wbg_ptr);return e===16777215?void 0:e}};Symbol.dispose&&(tn.prototype[Symbol.dispose]=tn.prototype.free);const nn=Object.freeze({Red:0,0:`Red`,Grey:1,1:`Grey`,None:2,2:`None`});var rn=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,Mc.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Mc.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_shieldstate_free(e,0)}get code(){let e=K.__wbg_get_shieldstate_code(this.__wbg_ptr);return e===6?void 0:e}get color(){return K.__wbg_get_shieldstate_color(this.__wbg_ptr)}set code(e){K.__wbg_set_shieldstate_code(this.__wbg_ptr,B(e)?6:e)}set color(e){K.__wbg_set_shieldstate_color(this.__wbg_ptr,e)}get message(){let e=K.shieldstate_message(this.__wbg_ptr),t;return e[0]!==0&&(t=R(e[0],e[1]).slice(),K.__wbindgen_free(e[0],e[1]*1,1)),t}};Symbol.dispose&&(rn.prototype[Symbol.dispose]=rn.prototype.free);const an=Object.freeze({AuthenticityNotGuaranteed:0,0:`AuthenticityNotGuaranteed`,UnknownDevice:1,1:`UnknownDevice`,UnsignedDevice:2,2:`UnsignedDevice`,UnverifiedIdentity:3,3:`UnverifiedIdentity`,VerificationViolation:4,4:`VerificationViolation`,MismatchedSender:5,5:`MismatchedSender`});var on=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,Nc.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Nc.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_signature_free(e,0)}get ed25519(){let e=K.signature_ed25519(this.__wbg_ptr);return e===0?void 0:et.__wrap(e)}toBase64(){let e,t;try{let n=K.signature_toBase64(this.__wbg_ptr);return e=n[0],t=n[1],R(n[0],n[1])}finally{K.__wbindgen_free(e,t,1)}}};Symbol.dispose&&(on.prototype[Symbol.dispose]=on.prototype.free);const sn=Object.freeze({Missing:0,0:`Missing`,Invalid:1,1:`Invalid`,ValidButNotTrusted:2,2:`ValidButNotTrusted`,ValidAndTrusted:3,3:`ValidAndTrusted`});var cn=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,Pc.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Pc.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_signatureuploadrequest_free(e,0)}get body(){return K.__wbg_get_signatureuploadrequest_body(this.__wbg_ptr)}get id(){return K.__wbg_get_signatureuploadrequest_id(this.__wbg_ptr)}constructor(e,t){let n=K.signatureuploadrequest_new(e,t);return this.__wbg_ptr=n>>>0,Pc.register(this,this.__wbg_ptr,this),this}get type(){return K.signatureuploadrequest_type(this.__wbg_ptr)}};Symbol.dispose&&(cn.prototype[Symbol.dispose]=cn.prototype.free);var ln=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,Fc.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Fc.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_signatureverification_free(e,0)}get deviceState(){return K.signatureverification_deviceState(this.__wbg_ptr)}trusted(){return K.signatureverification_trusted(this.__wbg_ptr)!==0}get userState(){return K.signatureverification_userState(this.__wbg_ptr)}};Symbol.dispose&&(ln.prototype[Symbol.dispose]=ln.prototype.free);var un=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,Ic.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Ic.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_signatures_free(e,0)}addSignature(e,t,n){F(e,M),F(t,Ye),F(n,et);let r=K.signatures_addSignature(this.__wbg_ptr,e.__wbg_ptr,t.__wbg_ptr,n.__wbg_ptr);return r===0?void 0:yt.__wrap(r)}asJSON(){let e=K.signatures_asJSON(this.__wbg_ptr);if(e[2])throw W(e[1]);return W(e[0])}clear(){K.signatures_clear(this.__wbg_ptr)}get count(){return K.signatures_count(this.__wbg_ptr)>>>0}get(e){return F(e,M),K.signatures_get(this.__wbg_ptr,e.__wbg_ptr)}getSignature(e,t){F(e,M),F(t,Ye);let n=K.signatures_getSignature(this.__wbg_ptr,e.__wbg_ptr,t.__wbg_ptr);return n===0?void 0:et.__wrap(n)}isEmpty(){return K.signatures_isEmpty(this.__wbg_ptr)!==0}constructor(){let e=K.signatures_new();return this.__wbg_ptr=e>>>0,Ic.register(this,this.__wbg_ptr,this),this}};Symbol.dispose&&(un.prototype[Symbol.dispose]=un.prototype.free);var j=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,Lc.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Lc.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_storehandle_free(e,0)}static open(e,t,n){var r=B(e)?0:U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),i=G,a=B(t)?0:U(t,K.__wbindgen_malloc,K.__wbindgen_realloc),o=G;return K.storehandle_open(r,i,a,o,B(n)?0:P(n))}static openWithKey(e,t,n){let r=U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),i=G,a=V(t,K.__wbindgen_malloc),o=G;return K.storehandle_openWithKey(r,i,a,o,B(n)?0:P(n))}};Symbol.dispose&&(j.prototype[Symbol.dispose]=j.prototype.free);var dn=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,Rc.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Rc.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_storedroomkeybundledata_free(e,0)}get encryptionInfo(){let e,t;try{let n=K.storedroomkeybundledata_encryptionInfo(this.__wbg_ptr);return e=n[0],t=n[1],R(n[0],n[1])}finally{K.__wbindgen_free(e,t,1)}}get roomId(){let e=K.storedroomkeybundledata_roomId(this.__wbg_ptr);return A.__wrap(e)}get senderUser(){let e=K.storedroomkeybundledata_senderUser(this.__wbg_ptr);return M.__wrap(e)}get url(){let e,t;try{let n=K.storedroomkeybundledata_url(this.__wbg_ptr);return e=n[0],t=n[1],R(n[0],n[1])}finally{K.__wbindgen_free(e,t,1)}}};Symbol.dispose&&(dn.prototype[Symbol.dispose]=dn.prototype.free);var fn=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,zc.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,zc.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_todeviceencryptioninfo_free(e,0)}get senderCurve25519Key(){let e,t;try{let n=K.__wbg_get_todeviceencryptioninfo_senderCurve25519Key(this.__wbg_ptr);return e=n[0],t=n[1],R(n[0],n[1])}finally{K.__wbindgen_free(e,t,1)}}get senderDevice(){let e=K.__wbg_get_todeviceencryptioninfo_senderDevice(this.__wbg_ptr);return e===0?void 0:k.__wrap(e)}get sender(){let e=K.__wbg_get_todeviceencryptioninfo_sender(this.__wbg_ptr);return M.__wrap(e)}set senderCurve25519Key(e){let t=U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),n=G;K.__wbg_set_todeviceencryptioninfo_senderCurve25519Key(this.__wbg_ptr,t,n)}set senderDevice(e){let t=0;B(e)||(F(e,k),t=e.__destroy_into_raw()),K.__wbg_set_todeviceencryptioninfo_senderDevice(this.__wbg_ptr,t)}set sender(e){F(e,M);var t=e.__destroy_into_raw();K.__wbg_set_todeviceencryptioninfo_sender(this.__wbg_ptr,t)}isSenderVerified(){return K.todeviceencryptioninfo_isSenderVerified(this.__wbg_ptr)!==0}};Symbol.dispose&&(fn.prototype[Symbol.dispose]=fn.prototype.free);var pn=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,Bc.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Bc.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_todevicerequest_free(e,0)}get body(){return K.__wbg_get_todevicerequest_body(this.__wbg_ptr)}get event_type(){return K.__wbg_get_todevicerequest_event_type(this.__wbg_ptr)}get id(){return K.__wbg_get_todevicerequest_id(this.__wbg_ptr)}get txn_id(){return K.__wbg_get_todevicerequest_txn_id(this.__wbg_ptr)}constructor(e,t,n,r){let i=K.todevicerequest_new(e,t,n,r);return this.__wbg_ptr=i>>>0,Bc.register(this,this.__wbg_ptr,this),this}get type(){return K.todevicerequest_type(this.__wbg_ptr)}};Symbol.dispose&&(pn.prototype[Symbol.dispose]=pn.prototype.free);var mn=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,Vc.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Vc.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_todeviceunabletodecryptinfo_free(e,0)}get reason(){return K.__wbg_get_todeviceunabletodecryptinfo_reason(this.__wbg_ptr)}set reason(e){K.__wbg_set_todeviceunabletodecryptinfo_reason(this.__wbg_ptr,e)}};Symbol.dispose&&(mn.prototype[Symbol.dispose]=mn.prototype.free);const hn=Object.freeze({DecryptionFailure:0,0:`DecryptionFailure`,UnverifiedSenderDevice:1,1:`UnverifiedSenderDevice`,NoOlmMachine:2,2:`NoOlmMachine`,EncryptionIsDisabled:3,3:`EncryptionIsDisabled`});var gn=class{__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Hc.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_tracing_free(e,0)}static isAvailable(){return K.tracing_isAvailable()!==0}constructor(e){let t=K.tracing_new(e);if(t[2])throw W(t[1]);return this.__wbg_ptr=t[0]>>>0,Hc.register(this,this.__wbg_ptr,this),this}set minLevel(e){let t=K.tracing_set_minLevel(this.__wbg_ptr,e);if(t[1])throw W(t[0])}turnOff(){let e=K.tracing_turnOff(this.__wbg_ptr);if(e[1])throw W(e[0])}turnOn(){let e=K.tracing_turnOn(this.__wbg_ptr);if(e[1])throw W(e[0])}};Symbol.dispose&&(gn.prototype[Symbol.dispose]=gn.prototype.free);const _n=Object.freeze({Untrusted:0,0:`Untrusted`,CrossSignedOrLegacy:1,1:`CrossSignedOrLegacy`,CrossSigned:2,2:`CrossSigned`});var vn=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,Uc.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Uc.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_utdtodeviceevent_free(e,0)}get rawEvent(){return K.__wbg_get_utdtodeviceevent_rawEvent(this.__wbg_ptr)}get utdInfo(){let e=K.__wbg_get_utdtodeviceevent_utdInfo(this.__wbg_ptr);return mn.__wrap(e)}get type(){return K.utdtodeviceevent_type(this.__wbg_ptr)}};Symbol.dispose&&(vn.prototype[Symbol.dispose]=vn.prototype.free);var yn=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,Wc.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Wc.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_uploadsigningkeysrequest_free(e,0)}get body(){return K.__wbg_get_uploadsigningkeysrequest_body(this.__wbg_ptr)}constructor(e){let t=K.uploadsigningkeysrequest_new(e);return this.__wbg_ptr=t>>>0,Wc.register(this,this.__wbg_ptr,this),this}};Symbol.dispose&&(yn.prototype[Symbol.dispose]=yn.prototype.free);var bn=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,Gc.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Gc.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_userdevices_free(e,0)}devices(){return K.userdevices_devices(this.__wbg_ptr)}get(e){F(e,k);let t=K.userdevices_get(this.__wbg_ptr,e.__wbg_ptr);return t===0?void 0:Ge.__wrap(t)}isAnyVerified(){return K.userdevices_isAnyVerified(this.__wbg_ptr)!==0}keys(){return K.userdevices_keys(this.__wbg_ptr)}};Symbol.dispose&&(bn.prototype[Symbol.dispose]=bn.prototype.free);var M=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,Kc.register(n,n.__wbg_ptr,n),n}static __unwrap(t){return t instanceof e?t.__destroy_into_raw():0}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Kc.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_userid_free(e,0)}clone(){let t=K.userid_clone(this.__wbg_ptr);return e.__wrap(t)}isHistorical(){return K.userid_isHistorical(this.__wbg_ptr)!==0}get localpart(){let e,t;try{let n=K.userid_localpart(this.__wbg_ptr);return e=n[0],t=n[1],R(n[0],n[1])}finally{K.__wbindgen_free(e,t,1)}}constructor(e){let t=U(e,K.__wbindgen_malloc,K.__wbindgen_realloc),n=G,r=K.userid_new(t,n);if(r[2])throw W(r[1]);return this.__wbg_ptr=r[0]>>>0,Kc.register(this,this.__wbg_ptr,this),this}get serverName(){let e=K.userid_serverName(this.__wbg_ptr);return tn.__wrap(e)}toString(){let e,t;try{let n=K.userid_toString(this.__wbg_ptr);return e=n[0],t=n[1],R(n[0],n[1])}finally{K.__wbindgen_free(e,t,1)}}};Symbol.dispose&&(M.prototype[Symbol.dispose]=M.prototype.free);const xn=Object.freeze({SasV1:0,0:`SasV1`,QrCodeScanV1:1,1:`QrCodeScanV1`,QrCodeShowV1:2,2:`QrCodeShowV1`,ReciprocateV1:3,3:`ReciprocateV1`});var Sn=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,qc.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,qc.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_verificationrequest_free(e,0)}accept(){let e=K.verificationrequest_accept(this.__wbg_ptr);if(e[2])throw W(e[1]);return W(e[0])}acceptWithMethods(e){let t=H(e,K.__wbindgen_malloc),n=G,r=K.verificationrequest_acceptWithMethods(this.__wbg_ptr,t,n);if(r[2])throw W(r[1]);return W(r[0])}cancel(){let e=K.verificationrequest_cancel(this.__wbg_ptr);if(e[2])throw W(e[1]);return W(e[0])}get cancelInfo(){let e=K.verificationrequest_cancelInfo(this.__wbg_ptr);return e===0?void 0:Pe.__wrap(e)}get flowId(){let e,t;try{let n=K.verificationrequest_flowId(this.__wbg_ptr);return e=n[0],t=n[1],R(n[0],n[1])}finally{K.__wbindgen_free(e,t,1)}}generateQrCode(){return K.verificationrequest_generateQrCode(this.__wbg_ptr)}getVerification(){return K.verificationrequest_getVerification(this.__wbg_ptr)}isCancelled(){return K.verificationrequest_isCancelled(this.__wbg_ptr)!==0}isDone(){return K.verificationrequest_isDone(this.__wbg_ptr)!==0}isPassive(){return K.verificationrequest_isPassive(this.__wbg_ptr)!==0}isReady(){return K.verificationrequest_isReady(this.__wbg_ptr)!==0}isSelfVerification(){return K.verificationrequest_isSelfVerification(this.__wbg_ptr)!==0}get otherDeviceId(){let e=K.verificationrequest_otherDeviceId(this.__wbg_ptr);return e===0?void 0:k.__wrap(e)}get otherUserId(){let e=K.verificationrequest_otherUserId(this.__wbg_ptr);return M.__wrap(e)}get ourSupportedMethods(){let e=K.verificationrequest_ourSupportedMethods(this.__wbg_ptr);if(e[3])throw W(e[2]);let t;return e[0]!==0&&(t=Zc(e[0],e[1]).slice(),K.__wbindgen_free(e[0],e[1]*4,4)),t}get ownUserId(){let e=K.verificationrequest_ownUserId(this.__wbg_ptr);return M.__wrap(e)}phase(){return K.verificationrequest_phase(this.__wbg_ptr)}registerChangesCallback(e){K.verificationrequest_registerChangesCallback(this.__wbg_ptr,e)}static request(e,t,n,r){let i,a;try{F(e,M),F(t,k),F(n,M);var o=B(r)?0:H(r,K.__wbindgen_malloc),s=G;let u=K.verificationrequest_request(e.__wbg_ptr,t.__wbg_ptr,n.__wbg_ptr,o,s);var c=u[0],l=u[1];if(u[3])throw c=0,l=0,W(u[2]);return i=c,a=l,R(c,l)}finally{K.__wbindgen_free(i,a,1)}}get roomId(){let e=K.verificationrequest_roomId(this.__wbg_ptr);return e===0?void 0:A.__wrap(e)}scanQrCode(e){return F(e,Ht),K.verificationrequest_scanQrCode(this.__wbg_ptr,e.__wbg_ptr)}startSas(){return K.verificationrequest_startSas(this.__wbg_ptr)}get theirSupportedMethods(){let e=K.verificationrequest_theirSupportedMethods(this.__wbg_ptr);if(e[3])throw W(e[2]);let t;return e[0]!==0&&(t=Zc(e[0],e[1]).slice(),K.__wbindgen_free(e[0],e[1]*4,4)),t}timeRemainingMillis(){return K.verificationrequest_timeRemainingMillis(this.__wbg_ptr)}timedOut(){return K.verificationrequest_timedOut(this.__wbg_ptr)!==0}weStarted(){return K.verificationrequest_weStarted(this.__wbg_ptr)!==0}};Symbol.dispose&&(Sn.prototype[Symbol.dispose]=Sn.prototype.free);const N=Object.freeze({Created:0,0:`Created`,Requested:1,1:`Requested`,Ready:2,2:`Ready`,Transitioned:3,3:`Transitioned`,Done:4,4:`Done`,Cancelled:5,5:`Cancelled`});var Cn=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,Jc.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Jc.unregister(this),e}free(){let e=this.__destroy_into_raw();K.__wbg_versions_free(e,0)}get git_description(){return K.__wbg_get_versions_git_description(this.__wbg_ptr)}get git_sha(){return K.__wbg_get_versions_git_sha(this.__wbg_ptr)}get matrix_sdk_crypto(){return K.__wbg_get_versions_matrix_sdk_crypto(this.__wbg_ptr)}get vodozemac(){return K.__wbg_get_versions_vodozemac(this.__wbg_ptr)}};Symbol.dispose&&(Cn.prototype[Symbol.dispose]=Cn.prototype.free);function wn(){let e=K.getVersions();return Cn.__wrap(e)}function Tn(){K.start()}function En(e,t){return Error(R(e,t))}function Dn(e){return Number(e)}function On(e,t){let n=U(String(t),K.__wbindgen_malloc,K.__wbindgen_realloc),r=G;L().setInt32(e+4,r,!0),L().setInt32(e+0,n,!0)}function kn(e){return e.Window}function An(e){return e.WorkerGlobalScope}function jn(e,t){let n=t,r=typeof n==`bigint`?n:void 0;L().setBigInt64(e+8,B(r)?BigInt(0):r,!0),L().setInt32(e+0,!B(r),!0)}function Mn(e){let t=e,n=typeof t==`boolean`?t:void 0;return B(n)?16777215:+!!n}function Nn(e,t){let n=U(Xc(t),K.__wbindgen_malloc,K.__wbindgen_realloc),r=G;L().setInt32(e+4,r,!0),L().setInt32(e+0,n,!0)}function Pn(e,t){return e in t}function Fn(e){return typeof e==`bigint`}function In(e){return typeof e==`function`}function Ln(e){return e===null}function Rn(e){let t=e;return typeof t==`object`&&!!t}function zn(e){return typeof e==`string`}function Bn(e){return e===void 0}function Vn(e,t){return e===t}function Hn(e,t){return e==t}function Un(e,t){let n=t,r=typeof n==`number`?n:void 0;L().setFloat64(e+8,B(r)?0:r,!0),L().setInt32(e+0,!B(r),!0)}function Wn(e,t){let n=t,r=typeof n==`string`?n:void 0;var i=B(r)?0:U(r,K.__wbindgen_malloc,K.__wbindgen_realloc),a=G;L().setInt32(e+4,a,!0),L().setInt32(e+0,i,!0)}function Gn(e,t){throw Error(R(e,t))}function Kn(e){let t;try{t=+e}catch(e){t=e}return t}function qn(e){e._wbg_cb_unref()}function Jn(){return z(function(e){e.abort()},arguments)}function Yn(e,t){return e.add(t)}function Xn(){return z(function(e,t,n){return e.add(t,n)},arguments)}function Zn(e,t){return e.at(t)}function Qn(e){return Ae.__wrap(e)}function $n(){return z(function(e,t,n,r){return IDBKeyRange.bound(e,t,n!==0,r!==0)},arguments)}function er(){return z(function(e,t){return e.call(t)},arguments)}function tr(){return z(function(e,t,n,r,i){return e.call(t,n,r,i)},arguments)}function nr(){return z(function(e,t,n){return e.call(t,n)},arguments)}function rr(){return z(function(e,t,n,r){return e.call(t,n,r)},arguments)}function ir(e){return clearTimeout(e)}function ar(){return z(function(e){return e.clear()},arguments)}function or(e){e.close()}function sr(e){return e.code}function cr(){return z(function(e){e.commit()},arguments)}function lr(){return z(function(e){e.continue()},arguments)}function ur(){return z(function(e){return e.count()},arguments)}function dr(){return z(function(e){return e.count()},arguments)}function fr(){return z(function(e,t,n,r,i){return e.createIndex(R(t,n),r,i)},arguments)}function pr(){return z(function(e,t,n,r){return e.createIndex(R(t,n),r)},arguments)}function mr(){return z(function(e,t,n){return e.createObjectStore(R(t,n))},arguments)}function hr(e){return Ie.__wrap(e)}function gr(e){return Le.__wrap(e)}function _r(e){return Re.__wrap(e)}function vr(e){return e.crypto}function yr(e,t){e.debug(t)}function br(e){console.debug(e)}function xr(e){return Be.__wrap(e)}function Sr(e){return Ve.__wrap(e)}function Cr(e){return Ue.__wrap(e)}function wr(e){return O.__wrap(e)}function Tr(){return z(function(e,t,n){e.deleteObjectStore(R(t,n))},arguments)}function Er(){return z(function(e,t){return e.delete(t)},arguments)}function Dr(){return z(function(e){return e.delete()},arguments)}function Or(e){return Ge.__wrap(e)}function kr(e){return k.__wrap(e)}function Ar(e){return Ke.__wrap(e)}function jr(e){return Ye.__wrap(e)}function Mr(e){return e.done}function Nr(e){return tt.__wrap(e)}function Pr(e){return nt.__wrap(e)}function Fr(e){return it.__wrap(e)}function Ir(e){return e.entries()}function Lr(e){return Object.entries(e)}function Rr(e){console.error(e)}function zr(){return z(function(e){let t=e.error;return B(t)?0:P(t)},arguments)}function Br(e,t){let n,r;try{n=e,r=t,console.error(R(e,t))}finally{K.__wbindgen_free(n,r,1)}}function Vr(e,t){e.error(t)}function Hr(e){return Array.from(e)}function Ur(){return z(function(e){return e.getAllKeys()},arguments)}function Wr(){return z(function(e,t){return e.getAll(t)},arguments)}function Gr(){return z(function(e){return e.getAll()},arguments)}function Kr(){return z(function(e,t,n){return e.getAll(t,n>>>0)},arguments)}function qr(){return z(function(e){return e.getAll()},arguments)}function Jr(){return z(function(e,t){globalThis.crypto.getRandomValues(I(e,t))},arguments)}function Yr(){return z(function(e,t){e.getRandomValues(t)},arguments)}function Xr(){return z(function(e,t){globalThis.crypto.getRandomValues(I(e,t))},arguments)}function Zr(e){return e.getTime()}function Qr(){return z(function(e,t){return Reflect.get(e,t)},arguments)}function $r(){return z(function(e,t){return Reflect.get(e,t)},arguments)}function ei(){return z(function(e,t){return e.get(t)},arguments)}function ti(e,t){return e[t>>>0]}function ni(){return z(function(e,t){return e.get(t)},arguments)}function ri(e,t){return e[t>>>0]}function ii(e,t){return e[t]}function ai(e){return e.global}function oi(e){return dt.__wrap(e)}function si(){return z(function(e,t,n){return e.index(R(t,n))},arguments)}function ci(){return z(function(e){let t=e.indexedDB;return B(t)?0:P(t)},arguments)}function li(){return z(function(e){let t=e.indexedDB;return B(t)?0:P(t)},arguments)}function ui(){return z(function(e){let t=e.indexedDB;return B(t)?0:P(t)},arguments)}function di(e,t){e.info(t)}function fi(e){console.info(e)}function pi(e){let t;try{t=e instanceof ArrayBuffer}catch{t=!1}return t}function mi(e){let t;try{t=e instanceof IDBCursorWithValue}catch{t=!1}return t}function hi(e){let t;try{t=e instanceof DOMException}catch{t=!1}return t}function gi(e){let t;try{t=e instanceof Error}catch{t=!1}return t}function _i(e){let t;try{t=e instanceof IDBCursor}catch{t=!1}return t}function vi(e){let t;try{t=e instanceof IDBDatabase}catch{t=!1}return t}function yi(e){let t;try{t=e instanceof IDBOpenDBRequest}catch{t=!1}return t}function bi(e){let t;try{t=e instanceof IDBRequest}catch{t=!1}return t}function xi(e){let t;try{t=e instanceof Map}catch{t=!1}return t}function Si(e){let t;try{t=e instanceof Promise}catch{t=!1}return t}function Ci(e){let t;try{t=e instanceof Uint8Array}catch{t=!1}return t}function wi(e){return ft.__wrap(e)}function Ti(e){return Array.isArray(e)}function Ei(e){return Array.isArray(e)}function Di(e){return Number.isSafeInteger(e)}function Oi(e,t,n){let r=t.item(n>>>0);var i=B(r)?0:U(r,K.__wbindgen_malloc,K.__wbindgen_realloc),a=G;L().setInt32(e+4,a,!0),L().setInt32(e+0,i,!0)}function ki(){return Symbol.iterator}function Ai(){return z(function(e){return e.key},arguments)}function ji(e){return pt.__wrap(e)}function Mi(e){return mt.__wrap(e)}function Ni(e){return ht.__wrap(e)}function Pi(e){return gt.__wrap(e)}function Fi(e){return e.length}function Ii(e){return e.length}function Li(e){return e.length}function Ri(){return z(function(e,t){return IDBKeyRange.lowerBound(e,t!==0)},arguments)}function zi(e){return yt.__wrap(e)}function Bi(e){return bt.__wrap(e)}function Vi(e){return e.message}function Hi(e,t){let n=t.message,r=U(n,K.__wbindgen_malloc,K.__wbindgen_realloc),i=G;L().setInt32(e+4,i,!0),L().setInt32(e+0,r,!0)}function Ui(e){return e.msCrypto}function Wi(e,t){let n=t.name,r=U(n,K.__wbindgen_malloc,K.__wbindgen_realloc),i=G;L().setInt32(e+4,i,!0),L().setInt32(e+0,r,!0)}function Gi(e,t){try{var n={a:e,b:t};return new Promise((e,t)=>{let r=n.a;n.a=0;try{return os(r,n.b,e,t)}finally{n.a=r}})}finally{n.a=0}}function Ki(e){return new Uint8Array(e)}function qi(){return Error()}function Ji(){return new Map}function Yi(e){return new Set(e)}function Xi(e,t){return Error(R(e,t))}function Zi(){return[]}function Qi(e){return new Date(e)}function $i(){return{}}function ea(e,t){try{var n={a:e,b:t};return new Promise((e,t)=>{let r=n.a;n.a=0;try{return os(r,n.b,e,t)}finally{n.a=r}})}finally{n.a=0}}function ta(e){return new Uint8Array(e>>>0)}function na(e){return new Uint8ClampedArray(e>>>0)}function ra(){return z(function(e){return e.next()},arguments)}function ia(e){return e.next}function aa(e){return e.node}function oa(){return Date.now()}function sa(e){return e.now()}function ca(e){return e.objectStoreNames}function la(){return z(function(e,t,n){return e.objectStore(R(t,n))},arguments)}function ua(e){return e.oldVersion}function da(e){return Tt.__wrap(e)}function fa(){return z(function(e,t){return e.openCursor(t)},arguments)}function pa(){return z(function(e){return e.openCursor()},arguments)}function ma(){return z(function(e){return e.openCursor()},arguments)}function ha(){return z(function(e,t,n){return e.open(R(t,n))},arguments)}function ga(){return z(function(e,t,n,r){return e.open(R(t,n),r>>>0)},arguments)}function _a(e){return Et.__wrap(e)}function va(e){return Ot.__wrap(e)}function ya(){return z(function(e,t){return JSON.parse(R(e,t))},arguments)}function ba(e){return e.performance}function xa(e){return kt.__unwrap(e)}function Sa(e){return At.__unwrap(e)}function Ca(e){return Pt.__wrap(e)}function wa(e){return e.process}function Ta(e,t,n){Uint8Array.prototype.set.call(I(e,t),n)}function Ea(e,t,n){Uint8ClampedArray.prototype.set.call(I(e,t),n)}function Da(e,t){return e.push(t)}function Oa(){return z(function(e,t,n){return e.put(t,n)},arguments)}function ka(e){return It.__wrap(e)}function Aa(e){return Lt.__wrap(e)}function ja(e){queueMicrotask(e)}function Ma(e){return e.queueMicrotask}function Na(){return z(function(e,t){e.randomFillSync(t)},arguments)}function Pa(e){let t=e.readyState;return(ss.indexOf(t)+1||3)-1}function Fa(e){return Wt.__wrap(e)}function Ia(e){return e.request}function La(e){return e.request}function Ra(){return z(function(){return module.require},arguments)}function za(e){return Promise.resolve(e)}function Ba(){return z(function(e){return e.result},arguments)}function Va(e){return A.__unwrap(e)}function Ha(e){return Kt.__wrap(e)}function Ua(e){return qt.__wrap(e)}function Wa(e){return Jt.__wrap(e)}function Ga(e){return Yt.__wrap(e)}function Ka(e){return Xt.__wrap(e)}function qa(e){return Zt.__wrap(e)}function Ja(e){return Qt.__wrap(e)}function Ya(e){return $t.__wrap(e)}function Xa(e){return en.__wrap(e)}function Za(){return z(function(e,t){return setTimeout(e,t)},arguments)}function Qa(e,t,n){e[t>>>0]=n}function $a(e,t,n){e[t]=n}function eo(e,t,n){e.set(I(t,n))}function to(e,t,n){return e.set(t,n)}function no(e,t){e.onabort=t}function ro(e,t){e.oncomplete=t}function io(e,t){e.onerror=t}function ao(e,t){e.onerror=t}function oo(e,t){e.onsuccess=t}function so(e,t){e.onupgradeneeded=t}function co(e,t){e.unique=t!==0}function lo(e){return un.__wrap(e)}function uo(e){return cn.__wrap(e)}function fo(e){return ln.__wrap(e)}function po(e,t){let n=t.stack,r=U(n,K.__wbindgen_malloc,K.__wbindgen_realloc),i=G;L().setInt32(e+4,i,!0),L().setInt32(e+0,r,!0)}function mo(){let e=typeof global>`u`?null:global;return B(e)?0:P(e)}function ho(){let e=typeof globalThis>`u`?null:globalThis;return B(e)?0:P(e)}function go(){let e=typeof self>`u`?null:self;return B(e)?0:P(e)}function _o(){let e=typeof window>`u`?null:window;return B(e)?0:P(e)}function vo(e){return dn.__wrap(e)}function yo(e){return j.__wrap(e)}function bo(){return z(function(e){return JSON.stringify(e)},arguments)}function xo(e,t,n){return e.subarray(t>>>0,n>>>0)}function So(e){let t=e.target;return B(t)?0:P(t)}function Co(e,t,n){return e.then(t,n)}function wo(e,t){return e.then(t)}function To(e){return e.toString()}function Eo(e){return pn.__wrap(e)}function Do(e){let t=e.transaction;return B(t)?0:P(t)}function Oo(){return z(function(e,t,n,r){return e.transaction(R(t,n),cs[r])},arguments)}function ko(){return z(function(e,t,n){return e.transaction(t,cs[n])},arguments)}function Ao(e){return e.transaction}function jo(){return z(function(e,t){return e.update(t)},arguments)}function Mo(){return z(function(e,t){return IDBKeyRange.upperBound(e,t!==0)},arguments)}function No(e){return bn.__wrap(e)}function Po(e){return M.__wrap(e)}function Fo(e){return M.__unwrap(e)}function Io(e){return vn.__wrap(e)}function Lo(){return z(function(e){return e.value},arguments)}function Ro(e){return e.value}function zo(e){return e.values()}function Bo(e){return Sn.__wrap(e)}function Vo(e){return e.version}function Ho(e){return e.versions}function Uo(e,t){e.warn(t)}function Wo(e){console.warn(e)}function Go(e,t){return il(e,t,is)}function Ko(e,t){return il(e,t,rs)}function qo(e,t){return il(e,t,as)}function Jo(e,t){return il(e,t,ns)}function Yo(e){return e}function Xo(e){return e}function Zo(e,t){return I(e,t)}function Qo(e,t){return R(e,t)}function $o(e){return BigInt.asUintN(64,e)}function es(e,t){var n=Zc(e,t).slice();return K.__wbindgen_free(e,t*4,4),n}function ts(){let e=K.__wbindgen_externrefs,t=e.grow(4);e.set(0,void 0),e.set(t+0,void 0),e.set(t+1,null),e.set(t+2,!0),e.set(t+3,!1)}function ns(e,t){K.wasm_bindgen__convert__closures_____invoke__h36345abfe9d94a2c(e,t)}function rs(e,t,n){K.wasm_bindgen__convert__closures_____invoke__h9ee933428a4794a3(e,t,n)}function is(e,t,n){let r=K.wasm_bindgen__convert__closures_____invoke__h7b9954585be312a4(e,t,n);if(r[1])throw W(r[0])}function as(e,t,n){let r=K.wasm_bindgen__convert__closures_____invoke__h7b9954585be312a4_2(e,t,n);if(r[1])throw W(r[0])}function os(e,t,n,r){K.wasm_bindgen__convert__closures_____invoke__h3d00f5caa20b0fdb(e,t,n,r)}const ss=[`pending`,`done`],cs=[`readonly`,`readwrite`,`versionchange`,`readwriteflush`,`cleanup`],ls=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_attachment_free(e>>>0,1)),us=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_backupdecryptionkey_free(e>>>0,1)),ds=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_backupkeys_free(e>>>0,1)),fs=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_backupsecretsbundle_free(e>>>0,1)),ps=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_base64encodedpkmessage_free(e>>>0,1)),ms=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_basemigrationdata_free(e>>>0,1)),hs=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_cancelinfo_free(e>>>0,1)),gs=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_checkcode_free(e>>>0,1)),_s=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_collectstrategy_free(e>>>0,1)),vs=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_crosssigningbootstraprequests_free(e>>>0,1)),ys=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_crosssigningkeyexport_free(e>>>0,1)),bs=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_crosssigningstatus_free(e>>>0,1)),xs=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_curve25519publickey_free(e>>>0,1)),Ss=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_curve25519secretkey_free(e>>>0,1)),Cs=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_decryptedroomevent_free(e>>>0,1)),ws=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_decryptedtodeviceevent_free(e>>>0,1)),Ts=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_decryptionsettings_free(e>>>0,1)),Es=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_dehydrateddevice_free(e>>>0,1)),Ds=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_dehydrateddevicekey_free(e>>>0,1)),Os=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_dehydrateddevices_free(e>>>0,1)),ks=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_device_free(e>>>0,1)),As=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_deviceid_free(e>>>0,1)),js=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_devicekey_free(e>>>0,1)),Ms=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_devicekeyalgorithm_free(e>>>0,1)),Ns=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_devicekeyid_free(e>>>0,1)),Ps=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_devicelists_free(e>>>0,1)),Fs=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_ecies_free(e>>>0,1)),Is=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_ed25519publickey_free(e>>>0,1)),Ls=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_ed25519signature_free(e>>>0,1)),Rs=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_emoji_free(e>>>0,1)),zs=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_encryptedattachment_free(e>>>0,1)),Bs=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_encryptioninfo_free(e>>>0,1)),Vs=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_encryptionsettings_free(e>>>0,1)),Hs=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_establishedecies_free(e>>>0,1)),Us=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_eventid_free(e>>>0,1)),Ws=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_identitykeys_free(e>>>0,1)),Gs=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_inboundcreationresult_free(e>>>0,1)),Ks=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_inboundgroupsession_free(e>>>0,1)),qs=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_invalidtodeviceevent_free(e>>>0,1)),Js=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_keysbackuprequest_free(e>>>0,1)),Ys=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_keysclaimrequest_free(e>>>0,1)),Xs=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_keysqueryrequest_free(e>>>0,1)),Zs=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_keysuploadrequest_free(e>>>0,1)),Qs=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_maybesignature_free(e>>>0,1)),$s=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_megolmdecryptionerror_free(e>>>0,1)),ec=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_megolmv1backupkey_free(e>>>0,1)),tc=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_migration_free(e>>>0,1)),nc=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_msc4108intentdata_free(e>>>0,1)),rc=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_msc4388intentdata_free(e>>>0,1)),ic=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_olmmachine_free(e>>>0,1)),ac=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_otheruseridentity_free(e>>>0,1)),oc=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_outboundcreationresult_free(e>>>0,1)),sc=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_ownuseridentity_free(e>>>0,1)),cc=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_pickledinboundgroupsession_free(e>>>0,1)),lc=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_pickledsession_free(e>>>0,1)),uc=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_pkdecryption_free(e>>>0,1)),dc=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_pkencryption_free(e>>>0,1)),fc=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_pkmessage_free(e>>>0,1)),pc=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_plaintexttodeviceevent_free(e>>>0,1)),mc=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_putdehydrateddevicerequest_free(e>>>0,1)),hc=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_qr_free(e>>>0,1)),gc=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_qrcode_free(e>>>0,1)),_c=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_qrcodedata_free(e>>>0,1)),vc=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_qrcodeintentdata_free(e>>>0,1)),yc=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_qrcodescan_free(e>>>0,1)),bc=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_rehydrateddevice_free(e>>>0,1)),xc=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_roomid_free(e>>>0,1)),Sc=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_roomkeycounts_free(e>>>0,1)),Cc=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_roomkeyimportresult_free(e>>>0,1)),wc=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_roomkeyinfo_free(e>>>0,1)),Tc=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_roomkeywithheldinfo_free(e>>>0,1)),Ec=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_roommessagerequest_free(e>>>0,1)),Dc=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_roompendingkeybundledetails_free(e>>>0,1)),Oc=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_roomsettings_free(e>>>0,1)),kc=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_sas_free(e>>>0,1)),Ac=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_secretsbundle_free(e>>>0,1)),jc=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_servername_free(e>>>0,1)),Mc=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_shieldstate_free(e>>>0,1)),Nc=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_signature_free(e>>>0,1)),Pc=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_signatureuploadrequest_free(e>>>0,1)),Fc=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_signatureverification_free(e>>>0,1)),Ic=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_signatures_free(e>>>0,1)),Lc=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_storehandle_free(e>>>0,1)),Rc=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_storedroomkeybundledata_free(e>>>0,1)),zc=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_todeviceencryptioninfo_free(e>>>0,1)),Bc=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_todevicerequest_free(e>>>0,1)),Vc=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_todeviceunabletodecryptinfo_free(e>>>0,1)),Hc=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_tracing_free(e>>>0,1)),Uc=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_utdtodeviceevent_free(e>>>0,1)),Wc=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_uploadsigningkeysrequest_free(e>>>0,1)),Gc=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_userdevices_free(e>>>0,1)),Kc=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_userid_free(e>>>0,1)),qc=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_verificationrequest_free(e>>>0,1)),Jc=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbg_versions_free(e>>>0,1));function P(e){let t=K.__externref_table_alloc();return K.__wbindgen_externrefs.set(t,e),t}function F(e,t){if(!(e instanceof t))throw Error(`expected instance of ${t.name}`)}const Yc=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>K.__wbindgen_destroy_closure(e.a,e.b));function Xc(e){let t=typeof e;if(t==`number`||t==`boolean`||e==null)return`${e}`;if(t==`string`)return`"${e}"`;if(t==`symbol`){let t=e.description;return t==null?`Symbol`:`Symbol(${t})`}if(t==`function`){let t=e.name;return typeof t==`string`&&t.length>0?`Function(${t})`:`Function`}if(Array.isArray(e)){let t=e.length,n=`[`;t>0&&(n+=Xc(e[0]));for(let r=1;r<t;r++)n+=`, `+Xc(e[r]);return n+=`]`,n}let n=/\[object ([^\]]+)\]/.exec(toString.call(e)),r;if(n&&n.length>1)r=n[1];else return toString.call(e);if(r==`Object`)try{return`Object(`+JSON.stringify(e)+`)`}catch{return`Object`}return e instanceof Error?`${e.name}: ${e.message}\n${e.stack}`:r}function Zc(e,t){e>>>=0;let n=L(),r=[];for(let i=e;i<e+4*t;i+=4)r.push(K.__wbindgen_externrefs.get(n.getUint32(i,!0)));return K.__externref_drop_slice(e,t),r}function Qc(e,t){return e>>>=0,tl().subarray(e/2,e/2+t)}function I(e,t){return e>>>=0,rl().subarray(e/1,e/1+t)}let $c=null;function L(){return($c===null||$c.buffer.detached===!0||$c.buffer.detached===void 0&&$c.buffer!==K.memory.buffer)&&($c=new DataView(K.memory.buffer)),$c}function R(e,t){return e>>>=0,sl(e,t)}let el=null;function tl(){return(el===null||el.byteLength===0)&&(el=new Uint16Array(K.memory.buffer)),el}let nl=null;function rl(){return(nl===null||nl.byteLength===0)&&(nl=new Uint8Array(K.memory.buffer)),nl}function z(e,t){try{return e.apply(this,t)}catch(e){let t=P(e);K.__wbindgen_exn_store(t)}}function B(e){return e==null}function il(e,t,n){let r={a:e,b:t,cnt:1},i=(...e)=>{r.cnt++;let t=r.a;r.a=0;try{return n(t,r.b,...e)}finally{r.a=t,i._wbg_cb_unref()}};return i._wbg_cb_unref=()=>{--r.cnt===0&&(K.__wbindgen_destroy_closure(r.a,r.b),r.a=0,Yc.unregister(r))},Yc.register(i,r,r),i}function V(e,t){let n=t(e.length*1,1)>>>0;return rl().set(e,n/1),G=e.length,n}function H(e,t){let n=t(e.length*4,4)>>>0;for(let t=0;t<e.length;t++){let r=P(e[t]);L().setUint32(n+4*t,r,!0)}return G=e.length,n}function U(e,t,n){if(n===void 0){let n=cl.encode(e),r=t(n.length,1)>>>0;return rl().subarray(r,r+n.length).set(n),G=n.length,r}let r=e.length,i=t(r,1)>>>0,a=rl(),o=0;for(;o<r;o++){let t=e.charCodeAt(o);if(t>127)break;a[i+o]=t}if(o!==r){o!==0&&(e=e.slice(o)),i=n(i,r,r=o+e.length*3,1)>>>0;let t=rl().subarray(i+o,i+r),a=cl.encodeInto(e,t);o+=a.written,i=n(i,r,o,1)>>>0}return G=o,i}function W(e){let t=K.__wbindgen_externrefs.get(e);return K.__externref_table_dealloc(e),t}let al=new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0});al.decode();let ol=0;function sl(e,t){return ol+=t,ol>=2146435072&&(al=new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0}),al.decode(),ol=t),al.decode(rl().subarray(e,e+t))}const cl=new TextEncoder;`encodeInto`in cl||(cl.encodeInto=function(e,t){let n=cl.encode(e);return t.set(n),{read:e.length,written:n.length}});let G=0,K;function ll(e){K=e}const ul=new URL(``+new URL(`matrix_sdk_crypto_wasm_bg-LxVvzIHg.wasm`,import.meta.url).href,``+import.meta.url);ll(new Proxy({},{get(){throw Error("@matrix-org/matrix-sdk-crypto-wasm was used before it was initialized. Call `initAsync` first.")}}));let dl=null;async function fl(e){let{instance:t}=await WebAssembly.instantiateStreaming(fetch(e),{"./matrix_sdk_crypto_wasm_bg.js":Oe});ll(t.exports),t.exports.__wbindgen_start()}async function pl(e=ul){dl||=fl(e),await dl}var ml=ee(ae(((e,t)=>{for(var n=/[\\\"\x00-\x1F]/g,r={},i=0;i<32;++i)r[String.fromCharCode(i)]=`\\U`+(`0000`+i.toString(16)).slice(-4).toUpperCase();r[`\b`]=`\\b`,r[`	`]=`\\t`,r[`
      2 `]=`\\n`,r[`\f`]=`\\f`,r[`\r`]=`\\r`,r[`"`]=`\\"`,r[`\\`]=`\\\\`;function a(e){return n.lastIndex=0,e.replace(n,function(e){return r[e]})}function o(e){switch(typeof e){case`string`:return`"`+a(e)+`"`;case`number`:return isFinite(e)?e:`null`;case`boolean`:return e;case`object`:return e===null?`null`:Array.isArray(e)?s(e):c(e);default:throw Error(`Cannot stringify: `+typeof e)}}function s(e){for(var t=`[`,n=``,r=0;r<e.length;++r)n+=t,t=`,`,n+=o(e[r]);return t==`,`?n+`]`:`[]`}function c(e){var t=`{`,n=``,r=Object.keys(e);r.sort();for(var i=0;i<r.length;++i){var s=r[i];n+=t+`"`+a(s)+`":`,t=`,`,n+=o(e[s])}return t==`,`?n+`}`:`{}`}t.exports={stringify:o}}))(),1),hl=class{constructor(e,t,n,r,i,a){this.prefixedLogger=e,this.olmMachine=t,this.keyClaimManager=n,this.outgoingRequestManager=r,this.room=i,this.encryptionSettings=a,v(this,`lazyLoadedMembersResolved`,!1),v(this,`currentEncryptionPromise`,Promise.resolve());var o=i.getJoinedMembers();this.olmMachine.updateTrackedUsers(o.map(e=>new M(e.userId))).catch(e=>this.prefixedLogger.error(`Error initializing tracked users`,e))}onCryptoEvent(e){if(JSON.stringify(this.encryptionSettings)!=JSON.stringify(e))throw Error(`Cannot reconfigure an active RoomEncryptor`)}onRoomMembership(e){(e.membership==h.Join||e.membership==h.Invite&&this.room.shouldEncryptForInvitedMembers())&&this.olmMachine.updateTrackedUsers([new M(e.userId)]).catch(e=>{this.prefixedLogger.error(`Unable to update tracked users`,e)})}prepareForEncryption(e,t){var n=this;return x(function*(){yield n.encryptEvent(null,e,t)})()}encryptEvent(e,t,n){var r=this,i=new o(this.prefixedLogger,e?e.getTxnId()??``:`prepareForEncryption`),a=this.currentEncryptionPromise.catch(()=>{}).then(x(function*(){yield s(i,`ensureEncryptionSession`,x(function*(){yield r.ensureEncryptionSession(i,t,n)})),e&&(yield s(i,`encryptEventInner`,x(function*(){yield r.encryptEventInner(i,e)})))}));return this.currentEncryptionPromise=a,a}ensureEncryptionSession(e,t,n){var r=this;return x(function*(){if(r.encryptionSettings.algorithm!==`m.megolm.v1.aes-sha2`)throw Error(`Cannot encrypt in ${r.room.roomId} for unsupported algorithm '${r.encryptionSettings.algorithm}'`);e.debug(`Starting encryption`);var i=yield r.room.getEncryptionTargetMembers();r.lazyLoadedMembersResolved?(e.debug(`Processing outgoing requests in background`),r.outgoingRequestManager.doProcessOutgoingRequests()):(yield s(e,`loadMembersIfNeeded: updateTrackedUsers`,x(function*(){yield r.olmMachine.updateTrackedUsers(i.map(e=>new M(e.userId)))})),e.debug(`Updated tracked users`),r.lazyLoadedMembersResolved=!0,e.debug(`Processing outgoing requests`),yield s(e,`doProcessOutgoingRequests`,x(function*(){yield r.outgoingRequestManager.doProcessOutgoingRequests()}))),e.debug(`Encrypting for users (shouldEncryptForInvitedMembers: ${r.room.shouldEncryptForInvitedMembers()}):`,i.map(e=>`${e.userId} (${e.membership})`));var a=i.map(e=>new M(e.userId));yield s(e,`ensureSessionsForUsers`,x(function*(){yield r.keyClaimManager.ensureSessionsForUsers(e,a)}));var o=new at;switch(o.historyVisibility=gl(r.room.getHistoryVisibility()),o.algorithm=rt.MegolmV1AesSha2,typeof r.encryptionSettings.rotation_period_ms==`number`&&(o.rotationPeriod=BigInt(r.encryptionSettings.rotation_period_ms*1e3)),typeof r.encryptionSettings.rotation_period_msgs==`number`&&(o.rotationPeriodMessages=BigInt(r.encryptionSettings.rotation_period_msgs)),n.kind){case be.AllDevicesIsolationMode:var c=r.room.getBlacklistUnverifiedDevices()??t;o.sharingStrategy=T.deviceBasedStrategy(c,n.errorOnVerifiedUserProblems);break;case be.OnlySignedDevicesIsolationMode:o.sharingStrategy=T.identityBasedStrategy();break}yield s(e,`shareRoomKey`,x(function*(){var e=yield r.olmMachine.shareRoomKey(new A(r.room.roomId),a,o);if(e)for(var t of e)yield r.outgoingRequestManager.outgoingRequestProcessor.makeOutgoingRequest(t)}))})()}forceDiscardSession(){var e=this;return x(function*(){(yield e.olmMachine.invalidateGroupSession(new A(e.room.roomId)))&&e.prefixedLogger.info(`Discarded existing group session`)})()}encryptEventInner(e,t){var n=this;return x(function*(){e.debug(`Encrypting actual message content`);var r=new A(n.room.roomId),i=t.getType(),a=JSON.stringify(t.getContent()),o=t.isState()?yield n.olmMachine.encryptStateEvent(r,i,t.getStateKey(),a):yield n.olmMachine.encryptRoomEvent(r,i,a);t.makeEncrypted(d.RoomMessageEncrypted,JSON.parse(o),n.olmMachine.identityKeys.curve25519.toBase64(),n.olmMachine.identityKeys.ed25519.toBase64()),e.debug(`Encrypted event successfully`)})()}};function gl(e){switch(e){case p.Invited:return ct.Invited;case p.Joined:return ct.Joined;case p.Shared:return ct.Shared;case p.WorldReadable:return ct.WorldReadable}}var _l=`/_matrix/client/unstable/org.matrix.msc3814.v1`,vl=`org.matrix.msc3814`,yl=10080*60*1e3,bl=class extends c{constructor(e,t,n,r,i){super(),this.logger=e,this.olmMachine=t,this.http=n,this.outgoingRequestProcessor=r,this.secretStorage=i,v(this,`intervalId`,void 0)}cacheKey(e){var t=this;return x(function*(){yield t.olmMachine.dehydratedDevices().saveDehydratedDeviceKey(e),t.emit(C.DehydrationKeyCached)})()}isSupported(){var e=this;return x(function*(){try{yield e.http.authedRequest(b.Get,`/dehydrated_device`,void 0,void 0,{prefix:_l})}catch(e){var t=e;if(t.errcode===`M_UNRECOGNIZED`)return!1;if(t.errcode===`M_NOT_FOUND`)return!0;throw e}return!0})()}start(){var e=arguments,t=this;return x(function*(){var n=e.length>0&&e[0]!==void 0?e[0]:{};if(typeof n==`boolean`&&(n={createNewKey:n}),!(n.onlyIfKeyCached&&!(yield t.olmMachine.dehydratedDevices().getDehydratedDeviceKey()))){if(t.stop(),n.rehydrate!==!1)try{yield t.rehydrateDeviceIfAvailable()}catch(e){t.logger.info(`dehydration: Error rehydrating device:`,e),t.emit(C.RehydrationError,e.message)}n.createNewKey&&(yield t.resetKey()),yield t.scheduleDeviceDehydration()}})()}isKeyStored(){var e=this;return x(function*(){return!!(yield e.secretStorage.isStored(vl))})()}resetKey(){var e=this;return x(function*(){var t=O.createRandomKey();return yield e.secretStorage.store(vl,t.toBase64()),yield e.cacheKey(t),t})()}getKey(e){var t=this;return x(function*(){var n=yield t.olmMachine.dehydratedDevices().getDehydratedDeviceKey();if(n)return n;var r=yield t.secretStorage.get(vl);if(r===void 0)return e?yield t.resetKey():null;var a=i(r);try{var o=O.createKeyFromArray(a);return yield t.cacheKey(o),o}finally{a.fill(0)}})()}rehydrateDeviceIfAvailable(){var e=this;return x(function*(){var t=yield e.getKey(!1);if(!t)return!1;var n;try{n=yield e.http.authedRequest(b.Get,`/dehydrated_device`,void 0,void 0,{prefix:_l})}catch(t){var r=t;if(r.errcode===`M_NOT_FOUND`||r.errcode===`M_UNRECOGNIZED`)return e.logger.info(`dehydration: No dehydrated device`),!1;throw r}e.logger.info(`dehydration: dehydrated device found`),e.emit(C.RehydrationStarted);var i=yield e.olmMachine.dehydratedDevices().rehydrate(t,new k(n.device_id),JSON.stringify(n.device_data));e.logger.info(`dehydration: device rehydrated`);for(var a=void 0,o=0,s=0,c=ie(`/dehydrated_device/$device_id/events`,{$device_id:n.device_id});;){var l=yield e.http.authedRequest(b.Post,c,void 0,a?{next_batch:a}:{},{prefix:_l});if(l.events.length===0)break;o+=l.events.length,a=l.next_batch;var u=yield i.receiveEvents(JSON.stringify(l.events));s+=u.length,e.emit(C.RehydrationProgress,s,o)}return e.logger.info(`dehydration: received ${s} room keys from ${o} to-device events`),e.emit(C.RehydrationCompleted),!0})()}createAndUploadDehydratedDevice(){var e=this;return x(function*(){var t=yield e.getKey(!0),n=yield e.olmMachine.dehydratedDevices().create();e.emit(C.DehydratedDeviceCreated);var r=yield n.keysForUpload(`Dehydrated device`,t);yield e.outgoingRequestProcessor.makeOutgoingRequest(r),e.emit(C.DehydratedDeviceUploaded),e.logger.info(`dehydration: uploaded device`)})()}scheduleDeviceDehydration(){var e=this;return x(function*(){e.stop(),yield e.createAndUploadDehydratedDevice(),e.intervalId=setInterval(()=>{e.createAndUploadDehydratedDevice().catch(t=>{e.emit(C.DehydratedDeviceRotationError,t.message),e.logger.error(`Error creating dehydrated device:`,t)})},yl)})()}stop(){this.intervalId&&=(clearInterval(this.intervalId),void 0)}delete(){var e=this;return x(function*(){e.stop();try{yield e.http.authedRequest(b.Delete,`/dehydrated_device`,void 0,{},{prefix:_l})}catch(e){var t=e;if(t.errcode===`M_UNRECOGNIZED`||t.errcode===`M_NOT_FOUND`)return;throw e}})()}};function xl(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Sl(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?xl(Object(n),!0).forEach(function(t){v(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):xl(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var Cl=class{constructor(e,t,n){this.logger=e,this.olmMachine=t,this.http=n}makeOutgoingRequest(e,t){var n=this;return x(function*(){var r;if(e instanceof gt)r=yield n.requestWithRetry(b.Post,`/_matrix/client/v3/keys/upload`,{},e.body);else if(e instanceof ht)r=yield n.requestWithRetry(b.Post,`/_matrix/client/v3/keys/query`,{},e.body);else if(e instanceof mt)r=yield n.requestWithRetry(b.Post,`/_matrix/client/v3/keys/claim`,{},e.body);else if(e instanceof cn)r=yield n.requestWithRetry(b.Post,`/_matrix/client/v3/keys/signatures/upload`,{},e.body);else if(e instanceof pt)r=yield n.requestWithRetry(b.Put,`/_matrix/client/v3/room_keys/keys`,{version:e.version},e.body);else if(e instanceof pn)r=yield n.sendToDeviceRequest(e);else if(e instanceof Xt){var i=`/_matrix/client/v3/rooms/${encodeURIComponent(e.room_id)}/send/${encodeURIComponent(e.event_type)}/${encodeURIComponent(e.txn_id)}`;r=yield n.requestWithRetry(b.Put,i,{},e.body)}else if(e instanceof yn){yield n.makeRequestWithUIA(b.Post,`/_matrix/client/v3/keys/device_signing/upload`,{},e.body,t);return}else if(e instanceof It){var a=_l+`/dehydrated_device`;yield n.rawJsonRequest(b.Put,a,{},e.body);return}else n.logger.warn(`Unsupported outgoing message`,Object.getPrototypeOf(e)),r=``;if(e.id)try{yield s(n.logger,`Mark Request as sent ${e.type}`,x(function*(){yield n.olmMachine.markRequestAsSent(e.id,e.type,r)}))}catch(e){if(e instanceof Error&&(e.message===`Attempt to use a moved value`||e.message===`null pointer passed to rust`))n.logger.debug(`Ignoring error '${e.message}': client is likely shutting down`);else throw e}else n.logger.trace(`Outgoing request type:${e.type} does not have an ID`)})()}sendToDeviceRequest(e){var t=this;return x(function*(){var n=JSON.parse(e.body),r=[];for(var i of Object.entries(n.messages)){var a=l(i,2),o=a[0],s=a[1];for(var c of Object.entries(s)){var u=l(c,2),d=u[0],f=u[1];r.push(`${o}/${d} (msgid ${f[De]})`)}}t.logger.info(`Sending batch of to-device messages. type=${e.event_type} txnid=${e.txn_id}`,r);var p=`/_matrix/client/v3/sendToDevice/${encodeURIComponent(e.event_type)}/`+encodeURIComponent(e.txn_id);return yield t.requestWithRetry(b.Put,p,{},e.body)})()}makeRequestWithUIA(e,t,n,r,i){var a=this;return x(function*(){if(!i)return yield a.requestWithRetry(e,t,n,r);var o=JSON.parse(r),s=yield i(function(){var r=x(function*(r){var i=Sl({},o);r!==null&&(i.auth=r);var s=yield a.requestWithRetry(e,t,n,JSON.stringify(i));return JSON.parse(s)});return function(e){return r.apply(this,arguments)}}());return JSON.stringify(s)})()}requestWithRetry(e,t,n,r){var i=this;return x(function*(){for(var a=0;;)try{return yield i.rawJsonRequest(e,t,n,r)}catch(e){a++;var o=he(e,a,!0);if(o<0)throw e;yield _(o)}})()}rawJsonRequest(e,t,n,r){var i=this;return x(function*(){return yield i.http.authedRequest(e,t,n,r,{json:!1,headers:{"Content-Type":`application/json`,Accept:`application/json`},prefix:``,localTimeoutMs:6e4})})()}},wl=class{constructor(e,t){this.olmMachine=e,this.outgoingRequestProcessor=t,v(this,`currentClaimPromise`,void 0),v(this,`stopped`,!1),this.currentClaimPromise=Promise.resolve()}stop(){this.stopped=!0}ensureSessionsForUsers(e,t){var n=this.currentClaimPromise.catch(()=>{}).then(()=>this.ensureSessionsForUsersInner(e,t));return this.currentClaimPromise=n,n}ensureSessionsForUsersInner(e,t){var n=this;return x(function*(){if(n.stopped)throw Error(`Cannot ensure Olm sessions: shutting down`);e.info(`Checking for missing Olm sessions`);var r=yield n.olmMachine.getMissingSessions(t.map(e=>e.clone()));r&&(e.info(`Making /keys/claim request`),yield n.outgoingRequestProcessor.makeOutgoingRequest(r)),e.info(`Olm sessions prepared`)})()}},Tl=function(e){return e[e.Blocked=-1]=`Blocked`,e[e.Unverified=0]=`Unverified`,e[e.Verified=1]=`Verified`,e}({}),El=class{constructor(e){v(this,`deviceId`,void 0),v(this,`userId`,void 0),v(this,`algorithms`,void 0),v(this,`keys`,void 0),v(this,`verified`,void 0),v(this,`signatures`,void 0),v(this,`displayName`,void 0),v(this,`dehydrated`,!1),this.deviceId=e.deviceId,this.userId=e.userId,this.algorithms=e.algorithms,this.keys=e.keys,this.verified=e.verified||Tl.Unverified,this.signatures=e.signatures||new Map,this.displayName=e.displayName,this.dehydrated=!!e.dehydrated}getFingerprint(){return this.keys.get(`ed25519:${this.deviceId}`)}getIdentityKey(){return this.keys.get(`curve25519:${this.deviceId}`)}};function Dl(e,t){var n=new Map;for(var r of e.keys.entries()){var i=l(r,2),a=i[0],o=i[1];n.set(a.toString(),o.toBase64())}var s=Tl.Unverified;e.isBlacklisted()?s=Tl.Blocked:e.isVerified()&&(s=Tl.Verified);var c=new Map,u=e.signatures.get(t);if(u){var d=new Map;for(var f of u.entries()){var p=l(f,2),m=p[0],h=p[1];h.isValid()&&h.signature&&d.set(m,h.signature.toBase64())}c.set(t.toString(),d)}var ee=e.algorithms,te=new Set;return ee.forEach(e=>{switch(e){case rt.MegolmV1AesSha2:te.add(`m.megolm.v1.aes-sha2`);break;case rt.OlmV1Curve25519AesSha2:default:te.add(`m.olm.v1.curve25519-aes-sha2`);break}}),new El({deviceId:e.deviceId.toString(),userId:t.toString(),keys:n,algorithms:Array.from(te),verified:s,signatures:c,displayName:e.displayName,dehydrated:e.isDehydrated})}function Ol(e){return new Map(Object.entries(e).map(e=>{var t=l(e,2),n=t[0],r=t[1];return[n,kl(r)]}))}function kl(e){var t=new Map(Object.entries(e.keys)),n=e.unsigned?.device_display_name,r=new Map;if(e.signatures)for(var i in e.signatures)r.set(i,new Map(Object.entries(e.signatures[i])));return new El({deviceId:e.device_id,userId:e.user_id,keys:t,algorithms:e.algorithms,verified:Tl.Unverified,signatures:r,displayName:n})}var Al=class{constructor(e,t,n,r){this.logger=e,this.olmMachine=t,this.outgoingRequestProcessor=n,this.secretStorage=r}bootstrapCrossSigning(e){var t=this;return x(function*(){if(e.setupNewCrossSigning){yield t.resetCrossSigning(e.authUploadDeviceSigningKeys);return}var n=yield t.olmMachine.crossSigningStatus(),r=yield t.secretStorage.get(`m.cross_signing.master`),i=yield t.secretStorage.get(`m.cross_signing.self_signing`),a=yield t.secretStorage.get(`m.cross_signing.user_signing`),o=!!(r&&i&&a),s=n.hasMaster&&n.hasUserSigning&&n.hasSelfSigning;if(t.logger.debug(`bootstrapCrossSigning: starting`,{setupNewCrossSigning:e.setupNewCrossSigning,olmDeviceHasMaster:n.hasMaster,olmDeviceHasUserSigning:n.hasUserSigning,olmDeviceHasSelfSigning:n.hasSelfSigning,privateKeysInSecretStorage:o}),s)(yield t.secretStorage.hasKey())?o?t.logger.debug(`bootstrapCrossSigning: Olm device has private keys and they are saved in secret storage; doing nothing`):(t.logger.debug(`bootstrapCrossSigning: Olm device has private keys: exporting to secret storage`),yield t.exportCrossSigningKeysToStorage()):t.logger.warn(`bootstrapCrossSigning: Olm device has private keys, but secret storage is not yet set up; doing nothing for now.`);else if(o){t.logger.debug(`bootstrapCrossSigning: Cross-signing private keys not found locally, but they are available in secret storage, reading storage and caching locally`);var c=yield t.olmMachine.importCrossSigningKeys(r,i,a);if(!c.hasMaster||!c.hasSelfSigning||!c.hasUserSigning)throw Error(`importCrossSigningKeys failed to import the keys`);var l=yield t.olmMachine.getDevice(t.olmMachine.userId,t.olmMachine.deviceId);try{var u=yield l.verify();yield t.outgoingRequestProcessor.makeOutgoingRequest(u)}finally{l.free()}}else t.logger.debug(`bootstrapCrossSigning: Cross-signing private keys not found locally or in secret storage, creating new keys`),yield t.resetCrossSigning(e.authUploadDeviceSigningKeys);t.logger.debug(`bootstrapCrossSigning: complete`)})()}resetCrossSigning(e){var t=this;return x(function*(){var n=yield t.olmMachine.bootstrapCrossSigning(!0);(yield t.secretStorage.hasKey())?(t.logger.debug(`resetCrossSigning: exporting private keys to secret storage`),yield t.exportCrossSigningKeysToStorage()):t.logger.warn(`resetCrossSigning: Secret storage is not yet set up; not exporting keys to secret storage yet.`),t.logger.debug(`resetCrossSigning: publishing public keys to server`);for(var r of[n.uploadKeysRequest,n.uploadSigningKeysRequest,n.uploadSignaturesRequest])r&&(yield t.outgoingRequestProcessor.makeOutgoingRequest(r,e))})()}exportCrossSigningKeysToStorage(){var e=this;return x(function*(){var t=yield e.olmMachine.exportCrossSigningKeys();t!=null&&t.masterKey?yield e.secretStorage.store(`m.cross_signing.master`,t.masterKey):e.logger.error(`Cannot export MSK to secret storage, private key unknown`),t!=null&&t.self_signing_key?yield e.secretStorage.store(`m.cross_signing.self_signing`,t.self_signing_key):e.logger.error(`Cannot export SSK to secret storage, private key unknown`),t!=null&&t.userSigningKey?yield e.secretStorage.store(`m.cross_signing.user_signing`,t.userSigningKey):e.logger.error(`Cannot export USK to secret storage, private key unknown`)})()}};function jl(e){return Ml.apply(this,arguments)}function Ml(){return Ml=x(function*(e){return Nl(e,[`m.cross_signing.master`,`m.cross_signing.user_signing`,`m.cross_signing.self_signing`])}),Ml.apply(this,arguments)}function Nl(e,t){return Pl.apply(this,arguments)}function Pl(){return Pl=x(function*(e,t){var n=yield e.getDefaultKeyId();if(!n)return!1;for(var r of t)if(!(n in((yield e.isStored(r))||{})))return!1;return!0}),Pl.apply(this,arguments)}var q=function(e){return e.Sas=`m.sas.v1`,e.ShowQrCode=`m.qr_code.show.v1`,e.ScanQrCode=`m.qr_code.scan.v1`,e.Reciprocate=`m.reciprocate.v1`,e}({}),Fl=class extends c{constructor(e,t,n,r,i){super(),this.logger=e,this.olmMachine=t,this.inner=n,this.outgoingRequestProcessor=r,this.supportedVerificationMethods=i,v(this,`reEmitter`,void 0),v(this,`_accepting`,!1),v(this,`_cancelling`,!1),v(this,`_verifier`,void 0),this.reEmitter=new f(this);var a=new WeakRef(this);n.registerChangesCallback(x(function*(){return a.deref()?.onChange()}))}onChange(){var e=this.inner.getVerification();e instanceof $t?this._verifier===void 0||this._verifier instanceof Ll?this.setVerifier(new Rl(e,this,this.outgoingRequestProcessor)):this._verifier instanceof Rl&&this._verifier.replaceInner(e):e instanceof Lt&&this._verifier===void 0&&this.setVerifier(new Ll(e,this.outgoingRequestProcessor)),this.emit(n.Change)}setVerifier(e){this._verifier&&this.reEmitter.stopReEmitting(this._verifier,[n.Change]),this._verifier=e,this.reEmitter.reEmit(this._verifier,[n.Change])}get transactionId(){return this.inner.flowId}get roomId(){return this.inner.roomId?.toString()}get initiatedByMe(){return this.inner.weStarted()}get otherUserId(){return this.inner.otherUserId.toString()}get otherDeviceId(){return this.inner.otherDeviceId?.toString()}getOtherDevice(){var e=this;return x(function*(){var t=e.inner.otherDeviceId;if(t)return yield e.olmMachine.getDevice(e.inner.otherUserId,t,5)})()}get isSelfVerification(){return this.inner.isSelfVerification()}get phase(){var e=this.inner.phase();switch(e){case N.Created:case N.Requested:return g.Requested;case N.Ready:return this._accepting?g.Requested:g.Ready;case N.Transitioned:if(!this._verifier)throw Error(`VerificationRequest: inner phase == Transitioned but no verifier!`);return this._verifier.verificationPhase;case N.Done:return g.Done;case N.Cancelled:return g.Cancelled}throw Error(`Unknown verification phase ${e}`)}get pending(){if(this.inner.isPassive())return!1;var e=this.phase;return e!==g.Done&&e!==g.Cancelled}get accepting(){return this._accepting}get declining(){return this._cancelling}get timeout(){return this.inner.timeRemainingMillis()}get methods(){throw Error(`not implemented`)}get chosenMethod(){if(this.phase!==g.Started)return null;var e=this.inner.getVerification();return e instanceof $t?q.Sas:e instanceof Lt?q.Reciprocate:null}otherPartySupportsMethod(e){var t=this.inner.theirSupportedMethods;if(t===void 0)return!1;var n=zl[e];return t.some(e=>e===n)}accept(){var e=this;return x(function*(){if(e.inner.phase()!==N.Requested||e._accepting)throw Error(`Cannot accept a verification request in phase ${e.phase}`);e._accepting=!0;try{var t=e.inner.acceptWithMethods(e.supportedVerificationMethods.map(Bl));t&&(yield e.outgoingRequestProcessor.makeOutgoingRequest(t))}finally{e._accepting=!1}e.emit(n.Change)})()}cancel(e){var t=this;return x(function*(){if(!t._cancelling){t.logger.info(`Cancelling verification request with params:`,e),t._cancelling=!0;try{var n=t.inner.cancel();n&&(yield t.outgoingRequestProcessor.makeOutgoingRequest(n))}finally{t._cancelling=!1}}})()}beginKeyVerification(e,t){throw Error(`not implemented`)}startVerification(e){var t=this;return x(function*(){if(e!==q.Sas)throw Error(`Unsupported verification method ${e}`);if(!(yield t.getOtherDevice()))throw Error(`startVerification(): other device is unknown`);var n=yield t.inner.startSas();if(n){var r=l(n,2)[1];yield t.outgoingRequestProcessor.makeOutgoingRequest(r)}if(!t._verifier)throw Error(`Still no verifier after startSas() call`);return t._verifier})()}scanQRCode(e){var t=this;return x(function*(){var n=Ht.fromBytes(e),r=yield t.inner.scanQrCode(n);if(!t._verifier)throw Error(`Still no verifier after scanQrCode() call`);var i=r.reciprocate();return i&&(yield t.outgoingRequestProcessor.makeOutgoingRequest(i)),t._verifier})()}get verifier(){return this.phase===g.Started?this._verifier:void 0}getQRCodeBytes(){throw Error(`getQRCodeBytes() unsupported in Rust Crypto; use generateQRCode() instead.`)}generateQRCode(){var e=this;return x(function*(){if(!(yield e.getOtherDevice()))throw Error(`generateQRCode(): other device is unknown`);var t=yield e.inner.generateQrCode();if(t)return t.toBytes()})()}get cancellationCode(){return this.inner.cancelInfo?.cancelCode()??null}get cancellingUserId(){var e=this.inner.cancelInfo;if(e)return e.cancelledbyUs()?this.olmMachine.userId.toString():this.inner.otherUserId.toString()}},Il=class extends c{constructor(e,t){super(),this.inner=e,this.outgoingRequestProcessor=t,v(this,`completionDeferred`,void 0),this.completionDeferred=Promise.withResolvers();var n=new WeakRef(this);e.registerChangesCallback(x(function*(){return n.deref()?.onChange()})),this.completionDeferred.promise.catch(()=>null)}onChange(){if(this.inner.isDone())this.completionDeferred.resolve(void 0);else if(this.inner.isCancelled()){var e=this.inner.cancelInfo();this.completionDeferred.reject(Error(`Verification cancelled by ${e.cancelledbyUs()?`us`:`them`} with code ${e.cancelCode()}: ${e.reason()}`))}this.emit(n.Change)}get hasBeenCancelled(){return this.inner.isCancelled()}get userId(){return this.inner.otherUserId.toString()}cancel(e){var t=this.inner.cancel();t&&this.outgoingRequestProcessor.makeOutgoingRequest(t)}getShowSasCallbacks(){return null}getReciprocateQrCodeCallbacks(){return null}},Ll=class extends Il{constructor(e,t){super(e,t),v(this,`callbacks`,null)}onChange(){this.callbacks===null&&this.inner.hasBeenScanned()&&(this.callbacks={confirm:()=>{this.confirmScanning()},cancel:()=>this.cancel()}),super.onChange()}verify(){var e=this;return x(function*(){e.callbacks!==null&&e.emit(Te.ShowReciprocateQr,e.callbacks),yield e.completionDeferred.promise})()}get verificationPhase(){switch(this.inner.state()){case Ut.Created:return g.Ready;case Ut.Scanned:return g.Started;case Ut.Confirmed:return g.Started;case Ut.Reciprocated:return g.Started;case Ut.Done:return g.Done;case Ut.Cancelled:return g.Cancelled;default:throw Error(`Unknown qr code state ${this.inner.state()}`)}}getReciprocateQrCodeCallbacks(){return this.callbacks}confirmScanning(){var e=this;return x(function*(){var t=e.inner.confirmScanning();t&&(yield e.outgoingRequestProcessor.makeOutgoingRequest(t))})()}},Rl=class extends Il{constructor(e,t,n){super(e,n),v(this,`callbacks`,null)}verify(){var e=this;return x(function*(){yield e.sendAccept(),yield e.completionDeferred.promise})()}sendAccept(){var e=this;return x(function*(){var t=e.inner.accept();t&&(yield e.outgoingRequestProcessor.makeOutgoingRequest(t))})()}onChange(){var e=this;if(super.onChange(),this.callbacks===null){var t=this.inner.emoji(),n=this.inner.decimals();if(t===void 0&&n===void 0)return;var r={};t&&(r.emoji=t.map(e=>[e.symbol,e.description])),n&&(r.decimal=[n[0],n[1],n[2]]),this.callbacks={sas:r,confirm:function(){var t=x(function*(){for(var t of yield e.inner.confirm())yield e.outgoingRequestProcessor.makeOutgoingRequest(t)});function n(){return t.apply(this,arguments)}return n}(),mismatch:()=>{var e=this.inner.cancelWithCode(`m.mismatched_sas`);e&&this.outgoingRequestProcessor.makeOutgoingRequest(e)},cancel:()=>{var e=this.inner.cancelWithCode(`m.user`);e&&this.outgoingRequestProcessor.makeOutgoingRequest(e)}},this.emit(Te.ShowSas,this.callbacks)}}get verificationPhase(){return g.Started}getShowSasCallbacks(){return this.callbacks}replaceInner(e){if(this.inner!=e){this.inner=e;var t=new WeakRef(this);e.registerChangesCallback(x(function*(){return t.deref()?.onChange()})),this.sendAccept(),this.onChange()}}},zl={[q.Sas]:xn.SasV1,[q.ScanQrCode]:xn.QrCodeScanV1,[q.ShowQrCode]:xn.QrCodeShowV1,[q.Reciprocate]:xn.ReciprocateV1};function Bl(e){var t=zl[e];if(t===void 0)throw Error(`Unknown verification method ${e}`);return t}function Vl(e){switch(e.getType()){case d.KeyVerificationCancel:case d.KeyVerificationDone:case d.KeyVerificationMac:case d.KeyVerificationStart:case d.KeyVerificationKey:case d.KeyVerificationReady:case d.KeyVerificationAccept:return!0;case d.RoomMessage:return e.getContent().msgtype===te.KeyVerificationRequest;default:return!1}}var Hl=class extends c{constructor(e,t,n,r){super(),this.logger=e,this.olmMachine=t,this.http=n,this.outgoingRequestProcessor=r,v(this,`checkedForBackup`,!1),v(this,`serverBackupInfo`,void 0),v(this,`activeBackupVersion`,null),v(this,`stopped`,!1),v(this,`backupKeysLoopRunning`,!1),v(this,`keyBackupCheckInProgress`,null)}stop(){this.stopped=!0}getActiveBackupVersion(){var e=this;return x(function*(){return(yield e.olmMachine.isBackupEnabled())?e.activeBackupVersion:null})()}getServerBackupInfo(){var e=this;return x(function*(){return yield e.checkKeyBackupAndEnable(!1),e.serverBackupInfo})()}isKeyBackupTrusted(e){var t=this;return x(function*(){var n=yield t.olmMachine.verifyBackup(e),r=(yield t.olmMachine.getBackupKeys())?.decryptionKey;return{matchesDecryptionKey:!!r&&t.backupInfoMatchesBackupDecryptionKey(e,r),trusted:n.trusted()}})()}checkKeyBackupAndEnable(e){return!e&&this.checkedForBackup?Promise.resolve(null):(this.keyBackupCheckInProgress||=this.doCheckKeyBackup().finally(()=>{this.keyBackupCheckInProgress=null}),this.keyBackupCheckInProgress)}handleBackupSecretReceived(e){var t=this;return x(function*(){var n,r;try{r=yield t.requestKeyBackupVersion()}catch(e){return t.logger.warn(`handleBackupSecretReceived: Error checking for latest key backup`,e),!1}if(!((n=r)!=null&&n.version))return t.logger.warn(`handleBackupSecretReceived: Received a backup decryption key, but there is no server-side key backup`),!1;var i;try{i=w.fromBase64(e)}catch(e){return t.logger.warn(`handleBackupSecretReceived: Invalid backup decryption key`,e),!1}try{return t.backupInfoMatchesBackupDecryptionKey(r,i)?(t.logger.info(`handleBackupSecretReceived: Valid decryption key for the current server-side backup version (${r.version}) received`),yield t.saveBackupDecryptionKey(i,r.version),t.keyBackupCheckInProgress&&(yield t.keyBackupCheckInProgress),t.keyBackupCheckInProgress=t.doCheckKeyBackup(r).finally(()=>{t.keyBackupCheckInProgress=null}),yield t.keyBackupCheckInProgress,!0):(t.logger.warn(`handleBackupSecretReceived: Private decryption key does not match the public key of the current server-side backup version (${r.version})`),!1)}catch(e){t.logger.warn(`handleBackupSecretReceived: Unable to validate backup decryption key`,e)}return!1})()}saveBackupDecryptionKey(e,t){var n=this;return x(function*(){yield n.olmMachine.saveBackupDecryptionKey(e,t),n.emit(C.KeyBackupDecryptionKeyCached,t)})()}importRoomKeys(e,t){var n=this;return x(function*(){yield n.importRoomKeysAsJson(JSON.stringify(e),t)})()}importRoomKeysAsJson(e,t){var n=this;return x(function*(){yield n.olmMachine.importExportedRoomKeys(e,(e,n)=>{var r,i={total:Number(n),successes:Number(e),stage:se.LoadKeys,failures:0};t==null||(r=t.progressCallback)==null||r.call(t,i)})})()}importBackedUpRoomKeys(e,t,n){var r=this;return x(function*(){var i=new Map;for(var a of e){var o=new A(a.room_id);i.has(o)||i.set(o,new Map),i.get(o).set(a.session_id,a)}yield r.olmMachine.importBackedUpRoomKeys(i,(e,t,r)=>{var i,a={total:Number(t),successes:Number(e),stage:se.LoadKeys,failures:Number(r)};n==null||(i=n.progressCallback)==null||i.call(n,a)},t)})()}doCheckKeyBackup(e){var t=this;return x(function*(){t.logger.debug(`Checking key backup status...`);try{e||=yield t.requestKeyBackupVersion()}catch(e){return t.logger.warn(`Error checking for active key backup`,e),t.serverBackupInfo=void 0,null}t.checkedForBackup=!0,e&&!e.version&&(t.logger.warn(`active backup lacks a useful 'version'; ignoring it`),e=void 0),t.serverBackupInfo=e;var n=yield t.getActiveBackupVersion();if(!e)return n===null?t.logger.debug(`No key backup present on server: not enabling key backup`):(t.logger.debug(`No key backup present on server: disabling key backup`),yield t.disableKeyBackup()),null;var r=yield t.isKeyBackupTrusted(e);return!r.matchesDecryptionKey&&!r.trusted?n===null?t.logger.debug(`Key backup present on server but not trusted: not enabling key backup`):(t.logger.debug(`Key backup present on server but not trusted: disabling key backup`),yield t.disableKeyBackup()):n===null?(t.logger.debug(`Found usable key backup v${e.version}: enabling key backups`),yield t.enableKeyBackup(e)):n===e.version?t.logger.debug(`Backup version ${e.version} still current`):(t.logger.debug(`On backup version ${n} but found version ${e.version}: switching.`),yield t.disableKeyBackup(),yield t.enableKeyBackup(e)),{backupInfo:e,trustInfo:r}})()}enableKeyBackup(e){var t=this;return x(function*(){yield t.olmMachine.enableBackupV1(e.auth_data.public_key,e.version),t.activeBackupVersion=e.version,t.emit(C.KeyBackupStatus,!0),t.backupKeysLoop()})()}maybeUploadKey(){var e=this;return x(function*(){e.activeBackupVersion!=null&&e.backupKeysLoop()})()}disableKeyBackup(){var e=this;return x(function*(){yield e.olmMachine.disableBackup(),e.activeBackupVersion=null,e.emit(C.KeyBackupStatus,!1)})()}backupKeysLoop(){var t=arguments,n=this;return x(function*(){var r=t.length>0&&t[0]!==void 0?t[0]:1e4;if(n.backupKeysLoopRunning){n.logger.debug(`Backup loop already running`);return}n.backupKeysLoopRunning=!0,n.logger.debug(`Backup: Starting keys upload loop for backup version:${n.activeBackupVersion}.`),yield _(Math.random()*r);try{for(var i=0,a=null,o=!0;!n.stopped;){var c=void 0;try{c=yield s(n.logger,`BackupRoomKeys: Get keys to backup from rust crypto-sdk`,x(function*(){return yield n.olmMachine.backupRoomKeys()}))}catch(e){n.logger.error(`Backup: Failed to get keys to backup from rust crypto-sdk`,e)}if(!c||n.stopped||!n.activeBackupVersion){n.logger.debug(`Backup: Ending loop for version ${n.activeBackupVersion}.`),c||n.emit(C.KeyBackupSessionsRemaining,0);return}try{if(yield n.outgoingRequestProcessor.makeOutgoingRequest(c),i=0,n.stopped)break;if(!o&&a===null)try{var l=yield n.olmMachine.roomKeyCounts();a=l.total-l.backedUp}catch(e){n.logger.error(`Backup: Failed to get key counts from rust crypto-sdk`,e)}if(a!==null){n.emit(C.KeyBackupSessionsRemaining,a);var u=n.keysCountInBatch(c);a=Math.max(a-u,0)}}catch(t){if(i++,n.logger.error(`Backup: Error processing backup request for rust crypto-sdk`,t),t instanceof e){var d=t.data.errcode;if(d==`M_NOT_FOUND`||d==`M_WRONG_ROOM_KEYS_VERSION`){n.logger.debug(`Backup: Failed to upload keys to current vesion: ${d}.`);try{yield n.disableKeyBackup()}catch(e){n.logger.error(`Backup: An error occurred while disabling key backup:`,e)}n.emit(C.KeyBackupFailed,t.data.errcode),n.backupKeysLoopRunning=!1,n.checkKeyBackupAndEnable(!0);return}else if(t.isRateLimitError())try{var f=t.getRetryAfterMs();if(f&&f>0){yield _(f);continue}}catch(e){n.logger.warn(`Backup: An error occurred while retrieving a rate-limit retry delay`,e)}}yield _(1e3*2**Math.min(i-1,4))}o=!1}}finally{n.backupKeysLoopRunning=!1}})()}keysCountInBatch(e){return ql(JSON.parse(e.body))}requestKeyBackupVersion(e){var t=this;return x(function*(){return yield Wl(t.http,e)})()}setupKeyBackup(e){var t=this;return x(function*(){yield t.deleteAllKeyBackupVersions();var n=w.createRandomKey(),r=n.megolmV1PublicKey,i={public_key:r.publicKeyBase64};yield e(i);var a=yield t.http.authedRequest(b.Post,`/room_keys/version`,void 0,{algorithm:r.algorithm,auth_data:i},{prefix:m.V3});return yield t.saveBackupDecryptionKey(n,a.version),{version:a.version,algorithm:r.algorithm,authData:i,decryptionKey:n}})()}deleteAllKeyBackupVersions(){var e=this;return x(function*(){for(var t=(yield e.requestKeyBackupVersion())?.version??null;t!=null;)yield e.deleteKeyBackupVersion(t),t=(yield e.requestKeyBackupVersion())?.version??null})()}deleteKeyBackupVersion(e){var t=this;return x(function*(){t.logger.debug(`deleteKeyBackupVersion v:${e}`);var n=ie(`/room_keys/version/$version`,{$version:e});yield t.http.authedRequest(b.Delete,n,void 0,void 0,{prefix:m.V3}),t.activeBackupVersion===e&&(t.serverBackupInfo=null,yield t.disableKeyBackup())})()}createBackupDecryptor(e){return new Ul(this.logger,e)}restoreKeyBackup(e,t,n){var r=this;return x(function*(){var i=yield r.downloadKeyBackup(e);return r.importKeyBackup(i,e,t,n)})()}downloadLatestRoomKeyBackup(e){var t=this;return x(function*(){var n=yield t.olmMachine.getBackupKeys(),r=n.backupVersion,i=n.decryptionKey;if(!r||!i){t.logger.warn(`downloadLatestRoomKeyBackup: Could not download backup (backupVersion=${r}, hasDecryptionKey=${!!i})`);return}var a=yield t.downloadRoomKeyBackup(r,e),o=t.createBackupDecryptor(i);t.importKeyBackup({rooms:{[e]:{sessions:a}}},r,o)})()}downloadKeyBackup(e){return this.http.authedRequest(b.Get,`/room_keys/keys`,{version:e},void 0,{prefix:m.V3})}downloadRoomKeyBackup(e,t){var n=ie(`/room_keys/keys/$roomId`,{$roomId:t});return this.http.authedRequest(b.Get,n,{version:e},void 0,{prefix:m.V3})}importKeyBackup(e,t,n,r){var i=this;return x(function*(){var a,o=200,s=ql(e),c=0,u=0;r==null||(a=r.progressCallback)==null||a.call(r,{total:s,successes:c,stage:se.LoadKeys,failures:u});var d=function(){var e=x(function*(e){var a,o=[],l=function*(t){(yield n.decryptSessions(e.get(t))).forEach(e=>{e.room_id=t,o.push(e)})};for(var d of e.keys())yield*l(d);try{yield i.importBackedUpRoomKeys(o,t),c+=o.length}catch(e){u+=o.length,i.logger.error(`Error importing keys from backup`,e)}r==null||(a=r.progressCallback)==null||a.call(r,{total:s,successes:c,stage:se.LoadKeys,failures:u})});return function(t){return e.apply(this,arguments)}}(),f=0,p=new Map;for(var m of Object.entries(e.rooms)){var h=l(m,2),ee=h[0],te=h[1];if(te.sessions){p.set(ee,{});for(var g of Object.entries(te.sessions)){var ne=l(g,2),re=ne[0],ie=ne[1],_=p.get(ee);_[re]=ie,f+=1,f>=o&&(yield d(p),p=new Map,p.set(ee,{}),f=0)}}}return f>0&&(yield d(p)),{total:s,imported:c}})()}backupInfoMatchesBackupDecryptionKey(e,t){return e.algorithm===`m.megolm_backup.v1.curve25519-aes-sha2`?e.auth_data?.public_key===t.megolmV1PublicKey.publicKeyBase64:(this.logger.warn(`backupMatchesPrivateKey: Unsupported backup algorithm`,e.algorithm),!1)}},Ul=class{constructor(e,t){this.logger=e,v(this,`decryptionKey`,void 0),v(this,`sourceTrusted`,void 0),this.decryptionKey=t,this.sourceTrusted=!1}decryptSessions(e){var t=this;return x(function*(){var n=[];for(var r of Object.entries(e)){var i=l(r,2),a=i[0],o=i[1];try{var s=JSON.parse(t.decryptionKey.decryptV1(o.session_data.ephemeral,o.session_data.mac,o.session_data.ciphertext));s.session_id=a,n.push(s)}catch(e){t.logger.debug(`Failed to decrypt megolm session from backup`,e,o)}}return n})()}free(){this.decryptionKey.free()}};function Wl(e,t){return Gl.apply(this,arguments)}function Gl(){return Gl=x(function*(e,t){try{var n=t?ie(`/room_keys/version/$version`,{$version:t}):`/room_keys/version`;return yield e.authedRequest(b.Get,n,void 0,void 0,{prefix:m.V3})}catch(e){if(e.errcode===`M_NOT_FOUND`)return null;throw e}}),Gl.apply(this,arguments)}function Kl(e,t){return t.auth_data.public_key===e.megolmV1PublicKey.publicKeyBase64}function ql(e){var t=0;for(var n of Object.values(e.rooms)){var r=n.sessions;t+=Object.keys(r).length}return t}var Jl=class{constructor(e,t,n){this.logger=e,this.olmMachine=t,this.outgoingRequestProcessor=n,v(this,`stopped`,!1),v(this,`outgoingRequestLoopRunning`,!1),v(this,`nextLoopDeferred`,void 0)}stop(){this.stopped=!0}doProcessOutgoingRequests(){this.nextLoopDeferred||=Promise.withResolvers();var e=this.nextLoopDeferred.promise;return this.outgoingRequestLoopRunning||this.outgoingRequestLoop().catch(e=>{this.logger.error(`Uncaught error in outgoing request loop`,e)}),e}outgoingRequestLoop(){var e=this;return x(function*(){if(e.outgoingRequestLoopRunning)throw Error(`Cannot run two outgoing request loops`);e.outgoingRequestLoopRunning=!0;try{for(;!e.stopped&&e.nextLoopDeferred;){var t=e.nextLoopDeferred;e.nextLoopDeferred=void 0,yield e.processOutgoingRequests().then(t.resolve,t.reject)}}finally{e.outgoingRequestLoopRunning=!1}e.nextLoopDeferred&&e.nextLoopDeferred.reject(Error(`OutgoingRequestsManager was stopped`))})()}processOutgoingRequests(){var e=this;return x(function*(){if(!e.stopped){var t=yield e.olmMachine.outgoingRequests(),n=0,r=function*(t){if(e.stopped)return{v:void 0};try{yield s(e.logger,`Make outgoing request ${t.type}`,x(function*(){yield e.outgoingRequestProcessor.makeOutgoingRequest(t),n++}))}catch(n){e.logger.error(`Failed to process outgoing request ${t.type}: ${n}`)}},i;for(var a of t)if(i=yield*r(a),i)return i.v;n>0&&e.doProcessOutgoingRequests().catch(t=>{e.logger.warn(`processOutgoingRequests: Error re-checking outgoing requests`,t)})}})()}},Yl=5e3,J=function(e){return e.MISSING_DECRYPTION_KEY=`MISSING_DECRYPTION_KEY`,e.NETWORK_ERROR=`NETWORK_ERROR`,e.STOPPED=`STOPPED`,e}(J||{}),Xl=class extends Error{constructor(e){super(`Failed to get key from backup: ${e}`),this.code=e,this.name=`KeyDownloadError`}},Zl=class extends Error{constructor(e){super(`Failed to get key from backup: rate limited`),this.retryMillis=e,this.name=`KeyDownloadRateLimitError`}},Ql=class{constructor(e,t,n,r){this.olmMachine=t,this.http=n,this.backupManager=r,v(this,`stopped`,!1),v(this,`configuration`,null),v(this,`sessionLastCheckAttemptedTime`,new Map),v(this,`logger`,void 0),v(this,`downloadLoopRunning`,!1),v(this,`queuedRequests`,[]),v(this,`hasConfigurationProblem`,!1),v(this,`currentBackupVersionCheck`,null),v(this,`onBackupStatusChanged`,()=>{this.hasConfigurationProblem=!1,this.configuration=null,this.getOrCreateBackupConfiguration().then(e=>{e&&this.downloadKeysLoop()})}),this.logger=e.getChild(`[PerSessionKeyBackupDownloader]`),r.on(C.KeyBackupStatus,this.onBackupStatusChanged),r.on(C.KeyBackupFailed,this.onBackupStatusChanged),r.on(C.KeyBackupDecryptionKeyCached,this.onBackupStatusChanged)}isKeyBackupDownloadConfigured(){return this.configuration!==null}getServerBackupInfo(){var e=this;return x(function*(){return yield e.backupManager.getServerBackupInfo()})()}onDecryptionKeyMissingError(e,t){if(this.isAlreadyInQueue(e,t)){this.logger.trace(`Not checking key backup for session ${t} as it is already queued`);return}if(this.wasRequestedRecently(t)){this.logger.trace(`Not checking key backup for session ${t} as it was already requested recently`);return}this.queuedRequests.push({roomId:e,megolmSessionId:t}),this.downloadKeysLoop()}stop(){this.stopped=!0,this.backupManager.off(C.KeyBackupStatus,this.onBackupStatusChanged),this.backupManager.off(C.KeyBackupFailed,this.onBackupStatusChanged),this.backupManager.off(C.KeyBackupDecryptionKeyCached,this.onBackupStatusChanged)}isAlreadyInQueue(e,t){return this.queuedRequests.some(n=>n.roomId==e&&n.megolmSessionId==t)}markAsNotFoundInBackup(e){var t=Date.now();this.sessionLastCheckAttemptedTime.set(e,t),this.sessionLastCheckAttemptedTime.size>100&&(this.sessionLastCheckAttemptedTime=new Map(Array.from(this.sessionLastCheckAttemptedTime).filter((e,n)=>Math.max(t-n,0)<Yl)))}wasRequestedRecently(e){var t=this.sessionLastCheckAttemptedTime.get(e);return t?Math.max(Date.now()-t,0)<Yl:!1}getBackupDecryptionKey(){var e=this;return x(function*(){try{return yield e.olmMachine.getBackupKeys()}catch{return null}})()}requestRoomKeyFromBackup(e,t,n){var r=this;return x(function*(){var i=ie(`/room_keys/keys/$roomId/$sessionId`,{$roomId:t,$sessionId:n});return yield r.http.authedRequest(b.Get,i,{version:e},void 0,{prefix:m.V3})})()}downloadKeysLoop(){var e=this;return x(function*(){if(!e.downloadLoopRunning&&!e.hasConfigurationProblem){e.downloadLoopRunning=!0;try{for(;e.queuedRequests.length>0;){var t=e.queuedRequests[0];try{var n=yield e.getOrCreateBackupConfiguration();if(!n){e.downloadLoopRunning=!1;return}var r=yield e.queryKeyBackup(t.roomId,t.megolmSessionId,n);if(e.stopped)return;try{yield e.decryptAndImport(t,r,n)}catch(n){e.logger.error(`Error while decrypting and importing key backup for session ${t.megolmSessionId}`,n)}e.queuedRequests.shift()}catch(n){if(n instanceof Xl)switch(n.code){case J.MISSING_DECRYPTION_KEY:e.markAsNotFoundInBackup(t.megolmSessionId),e.queuedRequests.shift();break;case J.NETWORK_ERROR:yield _(Yl);break;case J.STOPPED:e.downloadLoopRunning=!1;return}else n instanceof Zl&&(yield _(n.retryMillis))}}}finally{e.downloadLoopRunning=!1}}})()}queryKeyBackup(t,n,r){var i=this;return x(function*(){if(i.logger.debug(`Checking key backup for session ${n}`),i.stopped)throw new Xl(J.STOPPED);try{var a=yield i.requestRoomKeyFromBackup(r.backupVersion,t,n);return i.logger.debug(`Got key from backup for sessionId:${n}`),a}catch(t){if(i.stopped)throw new Xl(J.STOPPED);if(i.logger.info(`No luck requesting key backup for session ${n}: ${t}`),t instanceof e){if(t.data.errcode==`M_NOT_FOUND`)throw new Xl(J.MISSING_DECRYPTION_KEY);if(t.isRateLimitError()){var o;try{o=t.getRetryAfterMs()??void 0}catch(e){i.logger.warn(`Error while retrieving a rate-limit retry delay`,e)}throw o&&o>0&&i.logger.info(`Rate limited by server, waiting ${o}ms`),new Zl(o??Yl)}}throw new Xl(J.NETWORK_ERROR)}})()}decryptAndImport(e,t,n){var r=this;return x(function*(){var i={[e.megolmSessionId]:t},a=yield n.decryptor.decryptSessions(i);for(var o of a)o.room_id=e.roomId;yield r.backupManager.importBackedUpRoomKeys(a,n.backupVersion)})()}getOrCreateBackupConfiguration(){var e=this;return x(function*(){if(e.configuration)return e.configuration;if(e.hasConfigurationProblem)return null;if(e.currentBackupVersionCheck!=null)return e.logger.debug(`Already checking server version, use current promise`),yield e.currentBackupVersionCheck;e.currentBackupVersionCheck=e.internalCheckFromServer();try{return yield e.currentBackupVersionCheck}finally{e.currentBackupVersionCheck=null}})()}internalCheckFromServer(){var e=this;return x(function*(){var t,n=null;try{n=yield e.backupManager.getServerBackupInfo()}catch(t){return e.logger.debug(`Backup: error while checking server version: ${t}`),e.hasConfigurationProblem=!0,null}if(e.logger.debug(`Got current backup version from server: ${n?.version}`),n?.algorithm!=`m.megolm_backup.v1.curve25519-aes-sha2`)return e.logger.info(`Unsupported algorithm ${n?.algorithm}`),e.hasConfigurationProblem=!0,null;if(!((t=n)!=null&&t.version))return e.logger.info(`No current key backup`),e.hasConfigurationProblem=!0,null;var r=yield e.backupManager.getActiveBackupVersion();if(r==null||n.version!=r)return e.logger.info(`The current backup version on the server (${n.version}) is not trusted. Version we are currently backing up to: ${r}`),e.hasConfigurationProblem=!0,null;var i=yield e.getBackupDecryptionKey();if(!(i!=null&&i.decryptionKey))return e.logger.debug(`Not checking key backup for session (no decryption key)`),e.hasConfigurationProblem=!0,null;if(r!=i.backupVersion)return e.logger.debug(`Version for which we have a decryption key (${i.backupVersion}) doesn't match the version we are backing up to (${r})`),e.hasConfigurationProblem=!0,null;if(n.auth_data.public_key!=i.decryptionKey.megolmV1PublicKey.publicKeyBase64)return e.logger.debug(`Key backup on server does not match our decryption key`),e.hasConfigurationProblem=!0,null;var a=e.backupManager.createBackupDecryptor(i.decryptionKey);return e.hasConfigurationProblem=!1,e.configuration={decryptor:a,backupVersion:r},e.configuration})()}};function $l(e,t){if(!e.private_key_salt||!e.private_key_iterations)throw Error(`Salt and/or iterations not found: this backup cannot be restored with a passphrase`);return le(t,e.private_key_salt,e.private_key_iterations,e.private_key_bits)}function eu(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function tu(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?eu(Object(n),!0).forEach(function(t){v(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):eu(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var nu=[q.Sas,q.ScanQrCode,q.ShowQrCode,q.Reciprocate],ru=class extends c{constructor(e,t,n,r,i,a,o){var s=arguments.length>7&&arguments[7]!==void 0?arguments[7]:!1;super(),this.logger=e,this.olmMachine=t,this.http=n,this.userId=r,this.secretStorage=a,this.cryptoCallbacks=o,this.enableEncryptedStateEvents=s,v(this,`RECOVERY_KEY_DERIVATION_ITERATIONS`,5e5),v(this,`_trustCrossSignedDevices`,!0),v(this,`deviceIsolationMode`,new ge(!1)),v(this,`stopped`,!1),v(this,`roomEncryptors`,{}),v(this,`eventDecryptor`,void 0),v(this,`keyClaimManager`,void 0),v(this,`outgoingRequestProcessor`,void 0),v(this,`crossSigningIdentity`,void 0),v(this,`backupManager`,void 0),v(this,`outgoingRequestsManager`,void 0),v(this,`perSessionBackupDownloader`,void 0),v(this,`dehydratedDeviceManager`,void 0),v(this,`reemitter`,new f(this)),v(this,`globalBlacklistUnverifiedDevices`,!1),v(this,`_supportedVerificationMethods`,nu),this.outgoingRequestProcessor=new Cl(e,t,n),this.outgoingRequestsManager=new Jl(this.logger,t,this.outgoingRequestProcessor),this.keyClaimManager=new wl(t,this.outgoingRequestProcessor),this.backupManager=new Hl(e,t,n,this.outgoingRequestProcessor),this.perSessionBackupDownloader=new Ql(this.logger,this.olmMachine,this.http,this.backupManager),this.dehydratedDeviceManager=new bl(this.logger,t,n,this.outgoingRequestProcessor,a),this.eventDecryptor=new iu(this.logger,t,this.perSessionBackupDownloader),this.reemitter.reEmit(this.backupManager,[C.KeyBackupStatus,C.KeyBackupSessionsRemaining,C.KeyBackupFailed,C.KeyBackupDecryptionKeyCached]),this.reemitter.reEmit(this.dehydratedDeviceManager,[C.DehydratedDeviceCreated,C.DehydratedDeviceUploaded,C.RehydrationStarted,C.RehydrationProgress,C.RehydrationCompleted,C.RehydrationError,C.DehydrationKeyCached,C.DehydratedDeviceRotationError]),this.crossSigningIdentity=new Al(e,t,this.outgoingRequestProcessor,a),this.checkKeyBackupAndEnable()}getOlmMachineOrThrow(){if(this.stopped)throw new me;return this.olmMachine}set globalErrorOnUnknownDevices(e){}get globalErrorOnUnknownDevices(){return!1}stop(){this.stopped||(this.stopped=!0,this.keyClaimManager.stop(),this.backupManager.stop(),this.outgoingRequestsManager.stop(),this.perSessionBackupDownloader.stop(),this.dehydratedDeviceManager.stop(),this.olmMachine.close())}encryptEvent(e,t){var n=this;return x(function*(){var t=e.getRoomId(),r=n.roomEncryptors[t];if(!r)throw Error(`Cannot encrypt event in unconfigured room ${t}`);yield r.encryptEvent(e,n.globalBlacklistUnverifiedDevices,n.deviceIsolationMode)})()}decryptEvent(e){var t=this;return x(function*(){if(!e.getRoomId())throw Error(`to-device event was not decrypted in preprocessToDeviceMessages`);return yield t.eventDecryptor.attemptEventDecryption(e,t.deviceIsolationMode)})()}getBackupDecryptor(e,t){var n=this;return x(function*(){if(!(t instanceof Uint8Array))throw Error(`getBackupDecryptor: expects Uint8Array`);if(e.algorithm!=`m.megolm_backup.v1.curve25519-aes-sha2`)throw Error(`getBackupDecryptor: Unsupported algorithm ${e.algorithm}`);var i=w.fromBase64(r(t));if(!Kl(i,e))throw Error(`getBackupDecryptor: key backup on server does not match the decryption key`);return n.backupManager.createBackupDecryptor(i)})()}importBackedUpRoomKeys(e,t,n){var r=this;return x(function*(){return yield r.backupManager.importBackedUpRoomKeys(e,t,n)})()}maybeAcceptKeyBundle(e,t){var n=this;return x(function*(){var r=new o(n.logger,`maybeAcceptKeyBundle(${e}, ${t})`);r.info(`Checking inviter cross-signing keys`);var i=n.olmMachine.queryKeysForUsers([new M(t)]);yield n.outgoingRequestProcessor.makeOutgoingRequest(i);var s=yield n.olmMachine.getReceivedRoomKeyBundleData(new A(e),new M(t));if(!s)return r.info(`No key bundle found for user`),!1;r.info(`Fetching key bundle ${s.url}`);var c=a(n.http.opts.baseUrl,s.url,void 0,void 0,void 0,!1,!0,!0),l;try{var u=new URL(c),d=yield n.http.authedRequest(b.Get,u.pathname+u.search,{},void 0,{rawResponseBody:!0,prefix:``});r.info(`Received blob of length ${d.size}`),l=new Uint8Array(yield d.arrayBuffer())}catch(e){throw r.warn(`Error downloading encrypted bundle from ${c}:`,e),e}try{yield n.olmMachine.receiveRoomKeyBundle(s,l)}catch(e){throw r.warn(`Error receiving encrypted bundle:`,e),e}finally{yield n.olmMachine.clearRoomPendingKeyBundle(new A(e))}return!0})()}markRoomAsPendingKeyBundle(e,t){var n=this;return x(function*(){yield n.olmMachine.storeRoomPendingKeyBundle(new A(e),new M(t))})()}getVersion(){var e=wn();return`Rust SDK ${e.matrix_sdk_crypto} (${e.git_sha}), Vodozemac ${e.vodozemac}`}setDeviceIsolationMode(e){this.deviceIsolationMode=e}isEncryptionEnabledInRoom(e){var t=this;return x(function*(){return!!(yield t.olmMachine.getRoomSettings(new A(e)))?.algorithm})()}isStateEncryptionEnabledInRoom(e){var t=this;return x(function*(){return!!(yield t.olmMachine.getRoomSettings(new A(e)))?.encryptStateEvents})()}getOwnDeviceKeys(){var e=this;return x(function*(){var t=e.olmMachine.identityKeys;return{ed25519:t.ed25519.toBase64(),curve25519:t.curve25519.toBase64()}})()}prepareToEncrypt(e){var t=this.roomEncryptors[e.roomId];t&&t.prepareForEncryption(this.globalBlacklistUnverifiedDevices,this.deviceIsolationMode)}forceDiscardSession(e){return this.roomEncryptors[e]?.forceDiscardSession()}exportRoomKeys(){var e=this;return x(function*(){var t=yield e.olmMachine.exportRoomKeys(()=>!0);return JSON.parse(t)})()}exportRoomKeysAsJson(){var e=this;return x(function*(){return yield e.olmMachine.exportRoomKeys(()=>!0)})()}importRoomKeys(e,t){var n=this;return x(function*(){return yield n.backupManager.importRoomKeys(e,t)})()}importRoomKeysAsJson(e,t){var n=this;return x(function*(){return yield n.backupManager.importRoomKeysAsJson(e,t)})()}userHasCrossSigningKeys(){var e=arguments,t=this;return x(function*(){var n=e.length>0&&e[0]!==void 0?e[0]:t.userId,r=e.length>1&&e[1]!==void 0?e[1]:!1,i=yield t.olmMachine.trackedUsers(),a;for(var o of i)if(n===o.toString()){a=o;break}if(a!==void 0){if(n===t.userId){var s=t.olmMachine.queryKeysForUsers([a.clone()]);yield t.outgoingRequestProcessor.makeOutgoingRequest(s)}var c=yield t.olmMachine.getIdentity(a);return c?.free(),c!==void 0}else if(r){var l=(yield t.downloadDeviceList(new Set([n]))).master_keys?.[n];return l?!!Object.values(l.keys)[0]:!1}else return!1})()}getUserDeviceInfo(e){var t=arguments,n=this;return x(function*(){var r=t.length>1&&t[1]!==void 0?t[1]:!1,i=new Map,a=yield n.getOlmMachineOrThrow().trackedUsers(),o=new Set;a.forEach(e=>o.add(e.toString()));var s=new Set;for(var c of e)o.has(c)?i.set(c,yield n.getUserDevices(c)):s.add(c);if(r&&s.size>=1){var u=yield n.downloadDeviceList(s);Object.entries(u.device_keys).forEach(e=>{var t=l(e,2),n=t[0],r=t[1];return i.set(n,Ol(r))})}return i})()}getUserDevices(e){var t=this;return x(function*(){var n=new M(e),r=yield t.olmMachine.getUserDevices(n,1);try{var i=r.devices();try{return new Map(i.map(e=>[e.deviceId.toString(),Dl(e,n)]))}finally{i.forEach(e=>e.free())}}finally{r.free()}})()}downloadDeviceList(e){var t=this;return x(function*(){var n={device_keys:{}};return e.forEach(e=>n.device_keys[e]=[]),yield t.http.authedRequest(b.Post,`/_matrix/client/v3/keys/query`,void 0,n,{prefix:``})})()}getTrustCrossSignedDevices(){return this._trustCrossSignedDevices}setTrustCrossSignedDevices(e){this._trustCrossSignedDevices=e}setDeviceVerified(e,t){var n=arguments,r=this;return x(function*(){var i=n.length>2&&n[2]!==void 0?n[2]:!0,a=yield r.olmMachine.getDevice(new M(e),new k(t));if(!a)throw Error(`Unknown device ${e}|${t}`);try{yield a.setLocalTrust(i?_t.Verified:_t.Unset)}finally{a.free()}})()}crossSignDevice(e){var t=this;return x(function*(){var n=yield t.olmMachine.getDevice(new M(t.userId),new k(e));if(!n)throw Error(`Unknown device ${e}`);try{var r=yield n.verify();yield t.outgoingRequestProcessor.makeOutgoingRequest(r)}finally{n.free()}})()}getDeviceVerificationStatus(e,t){var n=this;return x(function*(){var r=yield n.olmMachine.getDevice(new M(e),new k(t));if(!r)return null;try{return new _e({signedByOwner:r.isCrossSignedByOwner(),crossSigningVerified:r.isCrossSigningTrusted(),localVerified:r.isLocallyTrusted(),trustCrossSignedDevices:n._trustCrossSignedDevices})}finally{r.free()}})()}getUserVerificationStatus(e){var t=this;return x(function*(){var n=yield t.getOlmMachineOrThrow().getIdentity(new M(e));if(n===void 0)return new we(!1,!1,!1);var r=n.isVerified(),i=n.wasPreviouslyVerified(),a=n instanceof Et?n.identityNeedsUserApproval():!1;return n.free(),new we(r,i,!0,a)})()}pinCurrentUserIdentity(e){var t=this;return x(function*(){var n=yield t.getOlmMachineOrThrow().getIdentity(new M(e));if(n===void 0)throw Error(`Cannot pin identity of unknown user`);if(n instanceof Ot)throw Error(`Cannot pin identity of own user`);yield n.pinCurrentMasterKey()})()}withdrawVerificationRequirement(e){var t=this;return x(function*(){var n=yield t.getOlmMachineOrThrow().getIdentity(new M(e));if(n===void 0)throw Error(`Cannot withdraw verification of unknown user`);yield n.withdrawVerification()})()}isCrossSigningReady(){var e=this;return x(function*(){var t=yield e.getCrossSigningStatus(),n=t.privateKeysInSecretStorage,r=t.privateKeysCachedLocally,i=!!r.masterKey&&!!r.selfSigningKey&&!!r.userSigningKey,a=yield e.getOwnIdentity();return!!(a!=null&&a.isVerified())&&(i||n)})()}getCrossSigningKeyId(){var e=arguments,t=this;return x(function*(){var n=e.length>0&&e[0]!==void 0?e[0]:Ce.Master,r=yield t.getOwnIdentity();if(!r)return null;try{var i=yield t.olmMachine.crossSigningStatus();if(!(i.hasMaster&&i.hasUserSigning&&i.hasSelfSigning)||!r.isVerified())return null;var a;switch(n){case Ce.Master:a=r.masterKey;break;case Ce.SelfSigning:a=r.selfSigningKey;break;case Ce.UserSigning:a=r.userSigningKey;break;default:return null}var o=JSON.parse(a);return Object.values(o.keys)[0]}finally{r.free()}})()}bootstrapCrossSigning(e){var t=this;return x(function*(){yield t.crossSigningIdentity.bootstrapCrossSigning(e)})()}isSecretStorageReady(){var e=this;return x(function*(){return(yield e.getSecretStorageStatus()).ready})()}getSecretStorageStatus(){var e=this;return x(function*(){var t=[`m.cross_signing.master`,`m.cross_signing.user_signing`,`m.cross_signing.self_signing`];(yield e.backupManager.getActiveBackupVersion())!=null&&t.push(`m.megolm_backup.v1`);var n=yield e.secretStorage.getDefaultKeyId(),r={ready:!0,defaultKeyId:n,secretStorageKeyValidityMap:{}};for(var i of t){var a=(yield e.secretStorage.isStored(i))||{},o=!!n&&n in a;r.secretStorageKeyValidityMap[i]=o,r.ready=r.ready&&o}return r})()}bootstrapSecretStorage(){var e=arguments,t=this;return x(function*(){var n=e.length>0&&e[0]!==void 0?e[0]:{},r=n.createSecretStorageKey,i=n.setupNewSecretStorage,a=n.setupNewKeyBackup,o=i||!(yield t.secretStorageHasAESKey());if(o){if(!r)throw Error(`unable to create a new secret storage key, createSecretStorageKey is not set`);t.logger.info(`bootstrapSecretStorage: creating new secret storage key`);var s=yield r();if(!s)throw Error(`createSecretStorageKey() callback did not return a secret storage key`);yield t.addSecretStorageKeyToSecretStorage(s)}var c=yield t.olmMachine.exportCrossSigningKeys();c&&c.masterKey!==void 0&&c.self_signing_key!==void 0&&c.userSigningKey!==void 0&&(o||!(yield jl(t.secretStorage)))&&(t.logger.info(`bootstrapSecretStorage: cross-signing keys not yet exported; doing so now.`),yield t.secretStorage.store(`m.cross_signing.master`,c.masterKey),yield t.secretStorage.store(`m.cross_signing.user_signing`,c.userSigningKey),yield t.secretStorage.store(`m.cross_signing.self_signing`,c.self_signing_key)),a?yield t.resetKeyBackup():yield t.saveBackupKeyToStorage()})()}saveBackupKeyToStorage(){var e=this;return x(function*(){var t=yield e.backupManager.getServerBackupInfo();if(!t||!t.version){e.logger.info(`Not saving backup key to secret storage: no backup info`);return}var n=yield e.olmMachine.getBackupKeys();if(!n.decryptionKey){e.logger.info(`Not saving backup key to secret storage: no backup key`);return}if(!Kl(n.decryptionKey,t)){e.logger.info(`Not saving backup key to secret storage: decryption key does not match backup info`);return}var r=n.decryptionKey.toBase64();yield e.secretStorage.store(`m.megolm_backup.v1`,r)})()}addSecretStorageKeyToSecretStorage(e){var t=this;return x(function*(){var n,r,i=yield t.secretStorage.addKey(xe,{passphrase:e.keyInfo?.passphrase,name:e.keyInfo?.name,key:e.privateKey});yield t.secretStorage.setDefaultKeyId(i.keyId),(n=(r=t.cryptoCallbacks).cacheSecretStorageKey)==null||n.call(r,i.keyId,i.keyInfo,e.privateKey)})()}secretStorageHasAESKey(){var e=this;return x(function*(){var t=yield e.secretStorage.getKey();return t?l(t,2)[1].algorithm===xe:!1})()}getCrossSigningStatus(){var e=this;return x(function*(){var t=yield e.getOwnIdentity(),n=!!t?.masterKey&&!!t?.selfSigningKey&&!!t?.userSigningKey;t?.free();var r=yield jl(e.secretStorage),i=yield e.getOlmMachineOrThrow().crossSigningStatus();return{publicKeysOnDevice:n,privateKeysInSecretStorage:r,privateKeysCachedLocally:{masterKey:!!i?.hasMaster,userSigningKey:!!i?.hasUserSigning,selfSigningKey:!!i?.hasSelfSigning}}})()}createRecoveryKeyFromPassphrase(e){var t=this;return x(function*(){if(e){var n=ne(32),r=yield le(e,n,t.RECOVERY_KEY_DERIVATION_ITERATIONS);return{keyInfo:{passphrase:{algorithm:`m.pbkdf2`,iterations:t.RECOVERY_KEY_DERIVATION_ITERATIONS,salt:n}},privateKey:r,encodedPrivateKey:Ee(r)}}else{var i=new Uint8Array(32);return globalThis.crypto.getRandomValues(i),{privateKey:i,encodedPrivateKey:Ee(i)}}})()}getEncryptionInfoForEvent(e){var t=this;return x(function*(){return t.eventDecryptor.getEncryptionInfoForEvent(e)})()}getVerificationRequestsToDeviceInProgress(e){return this.olmMachine.getVerificationRequests(new M(e)).filter(e=>e.roomId===void 0&&!e.isCancelled()).map(e=>this.makeVerificationRequest(e))}findVerificationRequestDMInProgress(e,t){if(!t)throw Error(`missing userId`);var n=this.olmMachine.getVerificationRequests(new M(t)).find(t=>t.roomId?.toString()===e&&!t.isCancelled());if(n)return this.makeVerificationRequest(n)}requestVerificationDM(e,t){var n=this;return x(function*(){var r=yield n.olmMachine.getIdentity(new M(e));if(!r)throw Error(`unknown userId ${e}`);try{var i=n._supportedVerificationMethods.map(e=>Bl(e)),a=yield r.verificationRequestContent(i),o=JSON.parse(a);o.msgtype=`m.key.verification.request`;var s=JSON.stringify(o),c=yield n.sendVerificationRequestContent(t,s),l=yield r.requestVerification(new A(t),new st(c),i);return n.makeVerificationRequest(l)}finally{r.free()}})()}sendVerificationRequestContent(e,t){var n=this;return x(function*(){var r=ne(32);return(yield n.http.authedRequest(b.Put,`/_matrix/client/v3/rooms/${encodeURIComponent(e)}/send/m.room.message/${encodeURIComponent(r)}`,void 0,t,{prefix:``})).event_id})()}setSupportedVerificationMethods(e){this._supportedVerificationMethods=e??nu}requestOwnUserVerification(){var e=this;return x(function*(){var t=yield e.getOwnIdentity();if(t===void 0)throw Error(`cannot request verification for this device when there is no existing cross-signing key`);try{var n=l(yield t.requestVerification(e._supportedVerificationMethods.map(Bl)),2),r=n[0],i=n[1];return yield e.outgoingRequestProcessor.makeOutgoingRequest(i),e.makeVerificationRequest(r)}finally{t.free()}})()}requestDeviceVerification(e,t){var n=this;return x(function*(){var r=yield n.olmMachine.getDevice(new M(e),new k(t));if(!r)throw Error(`Not a known device`);try{var i=l(r.requestVerification(n._supportedVerificationMethods.map(Bl)),2),a=i[0],o=i[1];return yield n.outgoingRequestProcessor.makeOutgoingRequest(o),n.makeVerificationRequest(a)}finally{r.free()}})()}getSessionBackupPrivateKey(){var e=this;return x(function*(){var t=yield e.olmMachine.getBackupKeys();return t.decryptionKey?i(t.decryptionKey.toBase64()):null})()}storeSessionBackupPrivateKey(e,t){var n=this;return x(function*(){var i=r(e);if(!t)throw Error(`storeSessionBackupPrivateKey: version is required`);yield n.backupManager.saveBackupDecryptionKey(w.fromBase64(i),t)})()}loadSessionBackupPrivateKeyFromSecretStorage(){var e=this;return x(function*(){var t=yield e.secretStorage.get(`m.megolm_backup.v1`);if(!t)throw Error(`loadSessionBackupPrivateKeyFromSecretStorage: missing decryption key in secret storage`);var n=yield e.backupManager.getServerBackupInfo();if(!n||!n.version)throw Error(`loadSessionBackupPrivateKeyFromSecretStorage: unable to get backup version`);var r=w.fromBase64(t);if(!Kl(r,n))throw new de(`loadSessionBackupPrivateKeyFromSecretStorage: decryption key does not match backup info`);yield e.backupManager.saveBackupDecryptionKey(r,n.version)})()}getActiveSessionBackupVersion(){var e=this;return x(function*(){return yield e.backupManager.getActiveBackupVersion()})()}getKeyBackupInfo(){var e=this;return x(function*(){return(yield e.backupManager.getServerBackupInfo())||null})()}isKeyBackupTrusted(e){var t=this;return x(function*(){return yield t.backupManager.isKeyBackupTrusted(e)})()}checkKeyBackupAndEnable(){var e=this;return x(function*(){return yield e.backupManager.checkKeyBackupAndEnable(!0)})()}deleteKeyBackupVersion(e){var t=this;return x(function*(){yield t.backupManager.deleteKeyBackupVersion(e)})()}resetKeyBackup(){var e=this;return x(function*(){var t=yield e.backupManager.setupKeyBackup(t=>e.signObject(t));yield e.pushSecretToVerifiedDevices(`m.megolm_backup.v1`),(yield e.secretStorageHasAESKey())&&(yield e.secretStorage.store(`m.megolm_backup.v1`,t.decryptionKey.toBase64())),e.checkKeyBackupAndEnable()})()}disableKeyStorage(){var e=this;return x(function*(){var t=yield e.getKeyBackupInfo();t!=null&&t.version?yield e.deleteKeyBackupVersion(t.version):e.logger.error(`Can't delete key backup version: no version available`),yield e.deleteSecretStorage(),yield e.dehydratedDeviceManager.delete()})()}signObject(e){var t=this;return x(function*(){var n=new Map(Object.entries(e.signatures||{})),r=e.unsigned;delete e.signatures,delete e.unsigned;var i=n.get(t.userId)||{},a=ml.default.stringify(e),o=yield t.olmMachine.sign(a),s=JSON.parse(o.asJSON());n.set(t.userId,tu(tu({},i),s[t.userId])),r!==void 0&&(e.unsigned=r),e.signatures=Object.fromEntries(n.entries())})()}restoreKeyBackupWithPassphrase(e,t){var n=this;return x(function*(){var r=yield n.backupManager.getServerBackupInfo();if(!(r!=null&&r.version))throw Error(`No backup info available`);var i=yield $l(r.auth_data,e);return yield n.storeSessionBackupPrivateKey(i,r.version),n.restoreKeyBackup(t)})()}restoreKeyBackup(e){var t=this;return x(function*(){var n=yield t.olmMachine.getBackupKeys(),r=n.decryptionKey,a=n.backupVersion;if(!r||!a)throw Error(`No decryption key found in crypto store`);var o=i(r.toBase64()),s=yield t.backupManager.requestKeyBackupVersion(a);if(!s)throw Error(`Backup version to restore ${a} not found on server`);var c=yield t.getBackupDecryptor(s,o);try{var l;return e==null||(l=e.progressCallback)==null||l.call(e,{stage:se.Fetch}),yield t.backupManager.restoreKeyBackup(a,c,e)}finally{c.free()}})()}isDehydrationSupported(){var e=this;return x(function*(){return yield e.dehydratedDeviceManager.isSupported()})()}startDehydration(){var e=arguments,t=this;return x(function*(){var n=e.length>0&&e[0]!==void 0?e[0]:{};if(!(yield t.isCrossSigningReady())||!(yield t.isSecretStorageReady()))throw Error(`Device dehydration requires cross-signing and secret storage to be set up`);return yield t.dehydratedDeviceManager.start(n||{})})()}importSecretsBundle(e){var t=this;return x(function*(){var n=en.from_json(e);yield t.getOlmMachineOrThrow().importSecretsBundle(n)})()}exportSecretsBundle(){var e=this;return x(function*(){var t=yield e.getOlmMachineOrThrow().exportSecretsBundle(),n=t.to_json();return t.free(),n})()}encryptToDeviceMessages(e,t,n){var r=this;return x(function*(){var i=new o(r.logger,`encryptToDeviceMessages`),a=new Set(t.map(e=>e.userId));yield r.keyClaimManager.ensureSessionsForUsers(i,Array.from(a).map(e=>new M(e)));var s={batch:[],eventType:d.RoomMessageEncrypted};return yield Promise.all(t.map(function(){var t=x(function*(t){var i=t.userId,a=t.deviceId,o=yield r.olmMachine.getDevice(new M(i),new k(a));if(o){var c=JSON.parse(yield o.encryptToDeviceEvent(e,n));s.batch.push({deviceId:a,userId:i,payload:c})}else r.logger.warn(`encryptToDeviceMessages: unknown device ${i}:${a}`)});return function(e){return t.apply(this,arguments)}}())),s})()}resetEncryption(e){var t=this;return x(function*(){t.logger.debug(`resetEncryption: resetting encryption`),t.dehydratedDeviceManager.delete(),yield t.backupManager.deleteAllKeyBackupVersions(),yield t.deleteSecretStorage(),yield t.crossSigningIdentity.bootstrapCrossSigning({setupNewCrossSigning:!0,authUploadDeviceSigningKeys:e}),yield t.resetKeyBackup(),t.logger.debug(`resetEncryption: ended`)})()}deleteSecretStorage(){var e=this;return x(function*(){yield e.secretStorage.store(`m.cross_signing.master`,null),yield e.secretStorage.store(`m.cross_signing.self_signing`,null),yield e.secretStorage.store(`m.cross_signing.user_signing`,null),yield e.secretStorage.store(`m.megolm_backup.v1`,null);var t=yield e.secretStorage.getDefaultKeyId();t&&(yield e.secretStorage.store(`m.secret_storage.key.${t}`,null)),yield e.secretStorage.setDefaultKeyId(null)})()}shareRoomHistoryWithUser(e,t){var n=this;return x(function*(){var r=new o(n.logger,`shareRoomHistoryWithUser(${e}, ${t})`),i=yield n.getOwnIdentity();if(!(i!=null&&i.isVerified())){r.warn(`Not sharing message history as the current device is not verified by our cross-signing identity`);return}r.info(`Sharing message history`),(yield n.getOlmMachineOrThrow().hasDownloadedAllRoomKeys(new A(e)))||(yield n.backupManager.downloadLatestRoomKeyBackup(e),yield n.getOlmMachineOrThrow().setHasDownloadedAllRoomKeys(new A(e)));var a=yield n.getOlmMachineOrThrow().buildRoomKeyBundle(new A(e));if(!a){r.info(`No keys to share`);return}var s=yield n.http.uploadContent(a.encryptedData);r.info(`Uploaded encrypted key blob: ${JSON.stringify(s)}`);var c=n.getOlmMachineOrThrow().queryKeysForUsers([new M(t)]);yield n.outgoingRequestProcessor.makeOutgoingRequest(c),yield n.keyClaimManager.ensureSessionsForUsers(r,[new M(t)]);for(var l of yield n.getOlmMachineOrThrow().shareRoomKeyBundleData(new M(t),new A(e),s.content_uri,a.mediaEncryptionInfo,T.identityBasedStrategy()))yield n.outgoingRequestProcessor.makeOutgoingRequest(l)})()}receiveSyncChanges(e){var t=this;return x(function*(){var n=e.events,r=e.oneTimeKeysCounts,i=r===void 0?new Map:r,a=e.unusedFallbackKeys,o=e.devices,s=o===void 0?new Ze:o;return yield t.olmMachine.receiveSyncChanges(n?JSON.stringify(n):`[]`,s,i,a)})()}preprocessToDeviceMessages(e){var t=this;return x(function*(){var n=yield t.receiveSyncChanges({events:e}),r=[],i=function*(){var e=JSON.parse(a.rawEvent);if(e.type===d.KeyVerificationRequest){var n=e.sender,i=e.content.transaction_id;i&&n&&t.onIncomingKeyVerificationRequest(n,i)}switch(a.type){case Ft.Decrypted:var o=a.encryptionInfo;if(r.push({message:e,encryptionInfo:{sender:o.sender.toString(),senderDevice:o.senderDevice?.toString(),senderCurve25519KeyBase64:o.senderCurve25519Key,senderVerified:o.isSenderVerified()}}),su(e)){var s=e.content.room_id,c=yield t.olmMachine.getPendingKeyBundleDetailsForRoom(new A(s));c?Date.now()-c.inviteAcceptedAtMillis>864e5?t.logger.info(`Ignoring key bundle for room we joined too long ago: ${s}, joining time: ${new Date(c.inviteAcceptedAtMillis).toISOString()}`):(t.logger.info(`Considering key bundle for recently-joined room ${s}`),t.maybeAcceptKeyBundle(s,c.inviterId.toString()).catch(e=>{t.logger.error(`Error attempting to download key bundle for room ${s}`),t.logger.error(e)})):t.logger.debug(`Not yet accepting key bundle for room where we are not awaiting a bundle: ${s}`)}break;case Ft.PlainText:r.push({message:e,encryptionInfo:null});break;case Ft.UnableToDecrypt:break;case Ft.Invalid:break}};for(var a of n)yield*i();return r})()}processKeyCounts(e,t){var n=this;return x(function*(){var r=e&&new Map(Object.entries(e)),i=t&&new Set(t);(r!==void 0||i!==void 0)&&(yield n.receiveSyncChanges({oneTimeKeysCounts:r,unusedFallbackKeys:i}))})()}processDeviceLists(e){var t=this;return x(function*(){var n=new Ze(e.changed?.map(e=>new M(e)),e.left?.map(e=>new M(e)));yield t.receiveSyncChanges({devices:n})})()}onCryptoEvent(e,t){var n=this;return x(function*(){var r=t.getContent(),i=new Qt;if(r.algorithm===`m.megolm.v1.aes-sha2`)i.algorithm=rt.MegolmV1AesSha2;else{n.logger.warn(`Room ${e.roomId}: ignoring crypto event with invalid algorithm ${r.algorithm}`);return}r[`io.element.msc4362.encrypt_state_events`]&&n.enableEncryptedStateEvents&&(n.logger.info(`crypto Enabling state event encryption...`),i.encryptStateEvents=!0);try{i.sessionRotationPeriodMs=r.rotation_period_ms,i.sessionRotationPeriodMessages=r.rotation_period_msgs,yield n.olmMachine.setRoomSettings(new A(e.roomId),i)}catch(t){n.logger.warn(`Room ${e.roomId}: ignoring crypto event which caused error: ${t}`);return}var a=n.roomEncryptors[e.roomId];a?a.onCryptoEvent(r):n.roomEncryptors[e.roomId]=new hl(n.logger.getChild(`[${e.roomId} encryption]`),n.olmMachine,n.keyClaimManager,n.outgoingRequestsManager,e,r)})()}onSyncCompleted(e){this.outgoingRequestsManager.doProcessOutgoingRequests().catch(e=>{this.logger.warn(`onSyncCompleted: Error processing outgoing requests`,e)})}markAllTrackedUsersAsDirty(){var e=this;return x(function*(){yield e.olmMachine.markAllTrackedUsersAsDirty()})()}onIncomingKeyVerificationRequest(e,t){var n=this.olmMachine.getVerificationRequest(new M(e),t);n?this.emit(C.VerificationRequestReceived,this.makeVerificationRequest(n)):this.logger.info(`Ignoring just-received verification request ${t} which did not start a rust-side verification`)}makeVerificationRequest(e){return new Fl(this.logger,this.olmMachine,e,this.outgoingRequestProcessor,this._supportedVerificationMethods)}onRoomMembership(e,t,n){var r=e.getRoomId();n===h.Join&&t.membership!==h.Join&&t.userId===this.olmMachine.userId.toString()&&this.olmMachine.clearRoomPendingKeyBundle(new A(r)).catch(e=>{this.logger.error(`Error clearing room pending key bundle indicator for ${r}: ${e}`)});var i=this.roomEncryptors[r];i&&i.onRoomMembership(t)}onRoomStateEvent(e,t,n){e.getType()==d.RoomMember&&e.getStateKey()!==this.olmMachine.userId.toString()&&e.getContent().membership!==h.Join&&(this.logger.info(`Rotating session for room ${e.getRoomId()} due to member leaving the room`),this.forceDiscardSession(e.getRoomId()))}onRoomKeysUpdated(e){var t=this;return x(function*(){for(var n of e)t.onRoomKeyUpdated(n);t.backupManager.maybeUploadKey()})()}onRoomKeyUpdated(e){var t=this;if(!this.stopped){this.logger.debug(`Got update for session ${e.sessionId} from sender ${e.senderKey.toBase64()} in ${e.roomId.toString()}`);var n=this.eventDecryptor.getEventsPendingRoomKey(e.roomId.toString(),e.sessionId);if(n.length!==0){this.logger.debug(`Retrying decryption on events:`,n.map(e=>`${e.getId()}`));var r=function(e){e.attemptDecryption(t,{isRetry:!0}).catch(n=>{t.logger.info(`Still unable to decrypt event ${e.getId()} after receiving key`)})};for(var i of n)r(i)}}}onRoomKeysWithheld(e){var t=this;return x(function*(){for(var n of e){t.logger.debug(`Got withheld message for session ${n.sessionId} in ${n.roomId.toString()}`);var r=t.eventDecryptor.getEventsPendingRoomKey(n.roomId.toString(),n.sessionId);if(r.length===0)return;t.logger.debug(`Retrying decryption on events:`,r.map(e=>`${e.getId()}`));for(var i of r)i.attemptDecryption(t,{isRetry:!0}).catch(e=>{})}})()}onUserIdentityUpdated(e){var t=this;return x(function*(){var n=yield t.getUserVerificationStatus(e.toString());t.emit(C.UserTrustStatusChanged,e.toString(),n),e.toString()===t.userId&&(t.emit(C.KeysChanged,{}),yield t.checkKeyBackupAndEnable())})()}onDevicesUpdated(e){var t=this;return x(function*(){t.emit(C.WillUpdateDevices,e,!1),t.emit(C.DevicesUpdated,e,!1)})()}handleSecretReceived(e,t){var n=this;return x(function*(){return n.logger.debug(`onReceiveSecret: Received secret ${e}`),e===`m.megolm_backup.v1`?yield n.backupManager.handleBackupSecretReceived(t):!1})()}checkSecrets(e){var t=this;return x(function*(){for(var n of yield t.olmMachine.getSecretsFromInbox(e))if(yield t.handleSecretReceived(e,n))break;yield t.olmMachine.deleteSecretsFromInbox(e)})()}onLiveEventFromSync(e){var t=this;return x(function*(){if(!(e.isState()||e.getUnsigned().transaction_id)){var n=function(){var n=x(function*(n){Vl(e)&&(yield t.onKeyVerificationEvent(n))});return function(e){return n.apply(this,arguments)}}();if(e.isDecryptionFailure()||e.isEncrypted()){var r=setTimeout(()=>e.off(ve.Decrypted,i),300*1e3),i=(t,a)=>{a||(clearTimeout(r),e.off(ve.Decrypted,i),n(t))};e.on(ve.Decrypted,i)}else yield n(e)}})()}onKeyVerificationEvent(e){var t=this;return x(function*(){var n=e.getRoomId(),r=e.getSender();if(!n)throw Error(`missing roomId in the event`);if(!r)throw Error(`missing sender in the event`);t.logger.debug(`Incoming verification event ${e.getId()} type ${e.getType()} from ${e.getSender()}`);var i=e.getType()===d.RoomMessage&&e.getContent().msgtype===te.KeyVerificationRequest;if(i){var a=t.getOlmMachineOrThrow().queryKeysForUsers([new M(r)]);yield t.outgoingRequestProcessor.makeOutgoingRequest(a)}yield t.getOlmMachineOrThrow().receiveVerificationEvent(JSON.stringify({event_id:e.getId(),type:e.getType(),sender:r,state_key:e.getStateKey(),content:e.getContent(),origin_server_ts:e.getTs()}),new A(n)),i&&t.onIncomingKeyVerificationRequest(r,e.getId()),t.outgoingRequestsManager.doProcessOutgoingRequests().catch(e=>{t.logger.warn(`onKeyVerificationRequest: Error processing outgoing requests`,e)})})()}getOwnIdentity(){var e=this;return x(function*(){return yield e.getOlmMachineOrThrow().getIdentity(new M(e.userId))})()}pushSecretToVerifiedDevices(e){var t=this;return x(function*(){var n=new o(t.logger,`pushSecretToVerifiedDevices`);yield t.keyClaimManager.ensureSessionsForUsers(n,[new M(t.userId)]),yield t.olmMachine.pushSecretToVerifiedDevices(e),t.outgoingRequestsManager.doProcessOutgoingRequests().catch(e=>{n.warn(`pushSecretToVerifiedDevices: Error processing outgoing requests`,e)})})()}},iu=class{constructor(e,n,r){this.logger=e,this.olmMachine=n,this.perSessionBackupDownloader=r,v(this,`eventsPendingKey`,new t(()=>new t(()=>new Set)))}attemptEventDecryption(e,t){var n=this;return x(function*(){n.addEventToPendingList(e);var r;switch(t.kind){case be.AllDevicesIsolationMode:r=_n.Untrusted;break;case be.OnlySignedDevicesIsolationMode:r=_n.CrossSignedOrLegacy;break}try{var i=yield n.olmMachine.decryptRoomEvent(au(e),new A(e.getRoomId()),new He(r));return n.removeEventFromPendingList(e),{clearEvent:JSON.parse(i.event),claimedEd25519Key:i.senderClaimedEd25519Key,senderCurve25519Key:i.senderCurve25519Key,keyForwardedBy:i.forwarder?.toString()}}catch(t){if(t instanceof bt)n.onMegolmDecryptionError(e,t,yield n.perSessionBackupDownloader.getServerBackupInfo());else throw new S(y.UNKNOWN_ERROR,`Unknown error`)}})()}onMegolmDecryptionError(e,t,n){var r=e.getWireContent(),i={sender_key:r.sender_key,session_id:r.session_id};if(t.code===D.MissingRoomKey||t.code===D.UnknownMessageIndex){this.perSessionBackupDownloader.onDecryptionKeyMissingError(e.getRoomId(),r.session_id);var a=e.getMembershipAtEvent();if(a&&a!==h.Join&&a!==h.Invite)throw new S(y.HISTORICAL_MESSAGE_USER_NOT_JOINED,`This message was sent when we were not a member of the room.`,i);if(e.getTs()<=this.olmMachine.deviceCreationTimeMs)throw n===null?new S(y.HISTORICAL_MESSAGE_NO_KEY_BACKUP,`This message was sent before this device logged in, and there is no key backup on the server.`,i):this.perSessionBackupDownloader.isKeyBackupDownloadConfigured()?new S(y.HISTORICAL_MESSAGE_WORKING_BACKUP,`This message was sent before this device logged in. Key backup is working, but we still do not (yet) have the key.`,i):new S(y.HISTORICAL_MESSAGE_BACKUP_UNCONFIGURED,`This message was sent before this device logged in, and key backup is not working.`,i)}if(t.maybe_withheld)throw new S(t.maybe_withheld===`The sender has disabled encrypting to unverified devices.`?y.MEGOLM_KEY_WITHHELD_FOR_UNVERIFIED_DEVICE:y.MEGOLM_KEY_WITHHELD,t.maybe_withheld,i);switch(t.code){case D.MissingRoomKey:throw new S(y.MEGOLM_UNKNOWN_INBOUND_SESSION_ID,`The sender's device has not sent us the keys for this message.`,i);case D.UnknownMessageIndex:throw new S(y.OLM_UNKNOWN_MESSAGE_INDEX,`The sender's device has not sent us the keys for this message at this index.`,i);case D.SenderIdentityVerificationViolation:throw this.removeEventFromPendingList(e),new S(y.SENDER_IDENTITY_PREVIOUSLY_VERIFIED,`The sender identity is unverified, but was previously verified.`);case D.UnknownSenderDevice:throw this.removeEventFromPendingList(e),new S(y.UNKNOWN_SENDER_DEVICE,`The sender device is not known.`);case D.UnsignedSenderDevice:throw this.removeEventFromPendingList(e),new S(y.UNSIGNED_SENDER_DEVICE,`The sender identity is not cross-signed.`);default:throw new S(y.UNKNOWN_ERROR,t.description,i)}}getEncryptionInfoForEvent(e){var t=this;return x(function*(){if(!e.getClearContent()||e.isDecryptionFailure())return null;if(e.status!==null)return{shieldColour:pe.NONE,shieldReason:null};var n=yield t.olmMachine.getRoomEventEncryptionInfo(au(e),new A(e.getRoomId()));return ou(t.logger,n)})()}getEventsPendingRoomKey(e,t){var n=this.eventsPendingKey.get(e);if(!n)return[];var r=n.get(t);return r?[...r]:[]}addEventToPendingList(e){var t=e.getRoomId();t&&this.eventsPendingKey.getOrCreate(t).getOrCreate(e.getWireContent().session_id).add(e)}removeEventFromPendingList(e){var t=e.getRoomId();if(t){var n=this.eventsPendingKey.getOrCreate(t);if(n){var r=n.get(e.getWireContent().session_id);r&&(r.delete(e),r.size===0&&(n.delete(e.getWireContent().session_id),n.size===0&&this.eventsPendingKey.delete(t)))}}}};function au(e){return JSON.stringify({event_id:e.getId(),type:e.getWireType(),sender:e.getSender(),state_key:e.getStateKey(),content:e.getWireContent(),origin_server_ts:e.getTs()})}function ou(e,t){if(t===void 0)return null;var n=t.shieldState(!1),r;switch(n.color){case nn.Grey:r=pe.GREY;break;case nn.None:r=pe.NONE;break;default:r=pe.RED}var i;switch(n.code){case void 0:case null:i=null;break;case an.AuthenticityNotGuaranteed:i=fe.AUTHENTICITY_NOT_GUARANTEED;break;case an.UnknownDevice:i=fe.UNKNOWN_DEVICE;break;case an.UnsignedDevice:i=fe.UNSIGNED_DEVICE;break;case an.UnverifiedIdentity:i=fe.UNVERIFIED_IDENTITY;break;case an.VerificationViolation:i=fe.VERIFICATION_VIOLATION;break;case an.MismatchedSender:i=fe.MISMATCHED_SENDER;break;default:i=fe.UNKNOWN;break}return{shieldColour:r,shieldReason:i}}function su(e){return(e.type===`io.element.msc4268.room_key_bundle`||e.type===`m.room_key_bundle`)&&typeof e.content.room_id==`string`}var cu=`migrationState`,Y=function(e){return e[e.NOT_STARTED=0]=`NOT_STARTED`,e[e.INITIAL_DATA_MIGRATED=1]=`INITIAL_DATA_MIGRATED`,e[e.OLM_SESSIONS_MIGRATED=2]=`OLM_SESSIONS_MIGRATED`,e[e.MEGOLM_SESSIONS_MIGRATED=3]=`MEGOLM_SESSIONS_MIGRATED`,e[e.ROOM_SETTINGS_MIGRATED=4]=`ROOM_SETTINGS_MIGRATED`,e[e.INITIAL_OWN_KEY_QUERY_DONE=5]=`INITIAL_OWN_KEY_QUERY_DONE`,e}({});function lu(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function uu(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?lu(Object(n),!0).forEach(function(t){v(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):lu(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function du(e,t){return encodeURIComponent(e)+`/`+encodeURIComponent(t)}function fu(e){var t=e.split(`/`);return{senderKey:decodeURIComponent(t[0]),sessionId:decodeURIComponent(t[1])}}var pu=class{constructor(){v(this,`migrationState`,Y.NOT_STARTED),v(this,`account`,null),v(this,`crossSigningKeys`,null),v(this,`privateKeys`,{}),v(this,`sessions`,{}),v(this,`inboundGroupSessions`,{}),v(this,`inboundGroupSessionsWithheld`,{}),v(this,`rooms`,{}),v(this,`sessionsNeedingBackup`,{})}containsData(){var e=this;return x(function*(){return e.account!==null})()}startup(){var e=this;return x(function*(){return e})()}deleteAllData(){return Promise.resolve()}getMigrationState(){var e=this;return x(function*(){return e.migrationState})()}setMigrationState(e){var t=this;return x(function*(){t.migrationState=e})()}getAccount(e,t){t(this.account)}storeAccount(e,t){this.account=t}getCrossSigningKeys(e,t){t(this.crossSigningKeys)}getSecretStorePrivateKey(e,t,n){var r=this.privateKeys[n];t(r||null)}storeSecretStorePrivateKey(e,t,n){this.privateKeys[t]=n}countEndToEndSessions(e,t){var n=0;for(var r of Object.values(this.sessions))n+=Object.keys(r).length;t(n)}getEndToEndSession(e,t,n,r){r((this.sessions[e]||{})[t]||null)}getEndToEndSessions(e,t,n){n(this.sessions[e]||{})}storeEndToEndSession(e,t,n,r){var i=this.sessions[e];i===void 0&&(i={},this.sessions[e]=i),re(i,t,n)}getEndToEndSessionsBatch(){var e=this;return x(function*(){var t=[];for(var n of Object.values(e.sessions))for(var r of Object.values(n))if(t.push(r),t.length>=50)return t;return t.length===0?null:t})()}deleteEndToEndSessionsBatch(e){var t=this;return x(function*(){for(var n of e){var r=n.deviceKey,i=n.sessionId,a=t.sessions[r]||{};delete a[i],Object.keys(a).length===0&&delete t.sessions[r]}})()}getEndToEndInboundGroupSession(e,t,n,r){var i=du(e,t);r(this.inboundGroupSessions[i]||null,this.inboundGroupSessionsWithheld[i]||null)}storeEndToEndInboundGroupSession(e,t,n,r){var i=du(e,t);this.inboundGroupSessions[i]=n}countEndToEndInboundGroupSessions(){var e=this;return x(function*(){return Object.keys(e.inboundGroupSessions).length})()}getEndToEndInboundGroupSessionsBatch(){var e=this;return x(function*(){var t=[];for(var n of Object.entries(e.inboundGroupSessions)){var r=l(n,2),i=r[0],a=r[1];if(t.push(uu(uu({},fu(i)),{},{sessionData:a,needsBackup:i in e.sessionsNeedingBackup})),t.length>=50)return t}return t.length===0?null:t})()}deleteEndToEndInboundGroupSessionsBatch(e){var t=this;return x(function*(){for(var n of e){var r=n.senderKey,i=n.sessionId,a=du(r,i);delete t.inboundGroupSessions[a]}})()}getEndToEndRooms(e,t){t(this.rooms)}markSessionsNeedingBackup(e){for(var t of e){var n=du(t.senderKey,t.sessionId);this.sessionsNeedingBackup[n]=!0}return Promise.resolve()}doTxn(e,t,n){return Promise.resolve(n(null))}},X=`crypto.`,mu=X+`migration`,hu=X+`account`,gu=X+`cross_signing_keys`,_u=X+`inboundgroupsessions/`,vu=X+`inboundgroupsessions.withheld/`,yu=X+`rooms/`,bu=X+`sessionsneedingbackup`;function xu(e){return X+`sessions/`+e}function Su(e,t){return _u+e+`/`+t}function Cu(e,t){return vu+e+`/`+t}function wu(e){return yu+e}var Tu=class e extends pu{static exists(e){for(var t=e.length,n=0;n<t;n++){var r;if((r=e.key(n))!=null&&r.startsWith(X))return!0}return!1}constructor(e){super(),this.store=e}containsData(){var t=this;return x(function*(){return e.exists(t.store)})()}getMigrationState(){var e=this;return x(function*(){return Z(e.store,mu)??Y.NOT_STARTED})()}setMigrationState(e){var t=this;return x(function*(){Eu(t.store,mu,e)})()}countEndToEndSessions(e,t){for(var n=0,r=0;r<this.store.length;++r){var i=this.store.key(r);if(i!=null&&i.startsWith(xu(``))){var a=Z(this.store,i);n+=Object.keys(a??{}).length}}t(n)}_getEndToEndSessions(e){var t=Z(this.store,xu(e)),n={};for(var r of Object.entries(t||{})){var i=l(r,2),a=i[0],o=i[1];typeof o==`string`?n[a]={session:o}:n[a]=o}return n}getEndToEndSession(e,t,n,r){r(this._getEndToEndSessions(e)[t]??{})}getEndToEndSessions(e,t,n){n(this._getEndToEndSessions(e)??{})}storeEndToEndSession(e,t,n,r){var i=this._getEndToEndSessions(e)||{};i[t]=n,Eu(this.store,xu(e),i)}getEndToEndSessionsBatch(){var e=this;return x(function*(){for(var t=[],n=0;n<e.store.length;++n){var r;if((r=e.store.key(n))!=null&&r.startsWith(xu(``))){var i=e.store.key(n).split(`/`)[1];for(var a of Object.values(e._getEndToEndSessions(i)))if(t.push(a),t.length>=50)return t}}return t.length===0?null:t})()}deleteEndToEndSessionsBatch(e){var t=this;return x(function*(){for(var n of e){var r=n.deviceKey,i=n.sessionId,a=t._getEndToEndSessions(r)||{};delete a[i],Object.keys(a).length===0?t.store.removeItem(xu(r)):Eu(t.store,xu(r),a)}})()}getEndToEndInboundGroupSession(e,t,n,r){r(Z(this.store,Su(e,t)),Z(this.store,Cu(e,t)))}storeEndToEndInboundGroupSession(e,t,n,r){Eu(this.store,Su(e,t),n)}countEndToEndInboundGroupSessions(){var e=this;return x(function*(){for(var t=0,n=0;n<e.store.length;++n){var r=e.store.key(n);r!=null&&r.startsWith(_u)&&(t+=1)}return t})()}getEndToEndInboundGroupSessionsBatch(){var e=this;return x(function*(){for(var t=Z(e.store,bu)||{},n=[],r=0;r<e.store.length;++r){var i=e.store.key(r);if(i!=null&&i.startsWith(_u)){var a=i.slice(_u.length);if(n.push({senderKey:a.slice(0,43),sessionId:a.slice(44),sessionData:Z(e.store,i),needsBackup:a in t}),n.length>=50)return n}}return n.length===0?null:n})()}deleteEndToEndInboundGroupSessionsBatch(e){var t=this;return x(function*(){for(var n of e){var r=n.senderKey,i=n.sessionId,a=Su(r,i);t.store.removeItem(a)}})()}getEndToEndRooms(e,t){for(var n={},r=wu(``),i=0;i<this.store.length;++i){var a=this.store.key(i);if(a!=null&&a.startsWith(r)){var o=a.slice(r.length);n[o]=Z(this.store,a)}}t(n)}markSessionsNeedingBackup(e){var t=Z(this.store,bu)||{};for(var n of e)t[n.senderKey+`/`+n.sessionId]=!0;return Eu(this.store,bu,t),Promise.resolve()}deleteAllData(){return this.store.removeItem(hu),Promise.resolve()}getAccount(e,t){t(Z(this.store,hu))}storeAccount(e,t){Eu(this.store,hu,t)}getCrossSigningKeys(e,t){t(Z(this.store,gu))}getSecretStorePrivateKey(e,t,n){t(Z(this.store,X+`ssss_cache.${n}`))}storeSecretStorePrivateKey(e,t,n){Eu(this.store,X+`ssss_cache.${t}`,n)}doTxn(e,t,n){return Promise.resolve(n(null))}};function Z(e,t){try{return JSON.parse(e.getItem(t))}catch(e){u.log(`Error: Failed to get key %s: %s`,t,e.message),u.log(e.stack)}return null}function Eu(e,t,n){e.setItem(t,JSON.stringify(n))}var Du=!1,Ou=class{constructor(e){this.db=e,v(this,`nextTxnId`,0),e.onversionchange=()=>{u.log(`versionchange for indexeddb ${this.db.name}: closing`),e.close()}}containsData(){return x(function*(){throw Error(`Not implemented for Backend`)})()}startup(){var e=this;return x(function*(){return e})()}deleteAllData(){return x(function*(){throw Error(`This is not implemented, call IDBFactory::deleteDatabase(dbName) instead.`)})()}getMigrationState(){var e=this;return x(function*(){var t=Y.NOT_STARTED;return yield e.doTxn(`readonly`,[$.STORE_ACCOUNT],e=>{var n=e.objectStore($.STORE_ACCOUNT).get(cu);n.onsuccess=()=>{t=n.result??Y.NOT_STARTED}}),t})()}setMigrationState(e){var t=this;return x(function*(){yield t.doTxn(`readwrite`,[$.STORE_ACCOUNT],t=>{t.objectStore($.STORE_ACCOUNT).put(e,cu)})})()}getAccount(e,t){var n=e.objectStore(`account`).get(`-`);n.onsuccess=function(){try{t(n.result||null)}catch(t){Q(e,t)}}}storeAccount(e,t){e.objectStore(`account`).put(t,`-`)}getCrossSigningKeys(e,t){var n=e.objectStore(`account`).get(`crossSigningKeys`);n.onsuccess=function(){try{t(n.result||null)}catch(t){Q(e,t)}}}getSecretStorePrivateKey(e,t,n){var r=e.objectStore(`account`).get(`ssss_cache:${n}`);r.onsuccess=function(){try{t(r.result||null)}catch(t){Q(e,t)}}}storeSecretStorePrivateKey(e,t,n){e.objectStore(`account`).put(n,`ssss_cache:${t}`)}countEndToEndSessions(e,t){var n=e.objectStore(`sessions`).count();n.onsuccess=function(){try{t(n.result)}catch(t){Q(e,t)}}}getEndToEndSessions(e,t,n){var r=t.objectStore(`sessions`).index(`deviceKey`).openCursor(e),i={};r.onsuccess=function(){var e=r.result;if(e)i[e.value.sessionId]={session:e.value.session,lastReceivedMessageTs:e.value.lastReceivedMessageTs},e.continue();else try{n(i)}catch(e){Q(t,e)}}}getEndToEndSession(e,t,n,r){var i=n.objectStore(`sessions`).get([e,t]);i.onsuccess=function(){try{i.result?r({session:i.result.session,lastReceivedMessageTs:i.result.lastReceivedMessageTs}):r(null)}catch(e){Q(n,e)}}}storeEndToEndSession(e,t,n,r){r.objectStore(`sessions`).put({deviceKey:e,sessionId:t,session:n.session,lastReceivedMessageTs:n.lastReceivedMessageTs})}getEndToEndSessionsBatch(){var e=this;return x(function*(){var t=[];return yield e.doTxn(`readonly`,[$.STORE_SESSIONS],e=>{var n=e.objectStore($.STORE_SESSIONS).openCursor();n.onsuccess=function(){try{var r=n.result;r&&(t.push(r.value),t.length<50&&r.continue())}catch(t){Q(e,t)}}}),t.length===0?null:t})()}deleteEndToEndSessionsBatch(e){var t=this;return x(function*(){yield t.doTxn(`readwrite`,[$.STORE_SESSIONS],function(){var t=x(function*(t){try{var n=t.objectStore($.STORE_SESSIONS),r=function*(){var e=i.deviceKey,t=i.sessionId,r=n.delete([e,t]);yield new Promise(e=>{r.onsuccess=e})};for(var i of e)yield*r()}catch(e){Q(t,e)}});return function(e){return t.apply(this,arguments)}}())})()}getEndToEndInboundGroupSession(e,t,n,r){var i=!1,a=!1,o=n.objectStore(`inbound_group_sessions`).get([e,t]);o.onsuccess=function(){try{i=o.result?o.result.session:null,a!==!1&&r(i,a)}catch(e){Q(n,e)}};var s=n.objectStore(`inbound_group_sessions_withheld`).get([e,t]);s.onsuccess=function(){try{a=s.result?s.result.session:null,i!==!1&&r(i,a)}catch(e){Q(n,e)}}}storeEndToEndInboundGroupSession(e,t,n,r){r.objectStore(`inbound_group_sessions`).put({senderCurve25519Key:e,sessionId:t,session:n})}countEndToEndInboundGroupSessions(){var e=this;return x(function*(){var t=0;return yield e.doTxn(`readonly`,[$.STORE_INBOUND_GROUP_SESSIONS],e=>{var n=e.objectStore($.STORE_INBOUND_GROUP_SESSIONS).count();n.onsuccess=()=>{t=n.result}}),t})()}getEndToEndInboundGroupSessionsBatch(){var e=this;return x(function*(){var t=[];return yield e.doTxn(`readonly`,[$.STORE_INBOUND_GROUP_SESSIONS,$.STORE_BACKUP],e=>{var n=e.objectStore($.STORE_INBOUND_GROUP_SESSIONS),r=e.objectStore($.STORE_BACKUP),i=n.openCursor();i.onsuccess=function(){try{var n=i.result;if(n){var a=r.get(n.key);a.onsuccess=()=>{t.push({senderKey:n.value.senderCurve25519Key,sessionId:n.value.sessionId,sessionData:n.value.session,needsBackup:a.result!==void 0}),t.length<50&&n.continue()}}}catch(t){Q(e,t)}}}),t.length===0?null:t})()}deleteEndToEndInboundGroupSessionsBatch(e){var t=this;return x(function*(){yield t.doTxn(`readwrite`,[$.STORE_INBOUND_GROUP_SESSIONS],function(){var t=x(function*(t){try{var n=t.objectStore($.STORE_INBOUND_GROUP_SESSIONS),r=function*(){var e=i.senderKey,t=i.sessionId,r=n.delete([e,t]);yield new Promise(e=>{r.onsuccess=e})};for(var i of e)yield*r()}catch(e){Q(t,e)}});return function(e){return t.apply(this,arguments)}}())})()}getEndToEndDeviceData(e,t){var n=e.objectStore(`device_data`).get(`-`);n.onsuccess=function(){try{t(n.result||null)}catch(t){Q(e,t)}}}getEndToEndRooms(e,t){var n={},r=e.objectStore(`rooms`).openCursor();r.onsuccess=function(){var i=r.result;if(i)n[i.key]=i.value,i.continue();else try{t(n)}catch(t){Q(e,t)}}}markSessionsNeedingBackup(e,t){var n=this;return x(function*(){t||=n.db.transaction(`sessions_needing_backup`,`readwrite`);var r=t.objectStore(`sessions_needing_backup`);yield Promise.all(e.map(e=>new Promise((t,n)=>{var i=r.put({senderCurve25519Key:e.senderKey,sessionId:e.sessionId});i.onsuccess=t,i.onerror=n})))})()}doTxn(e,t,n){var r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:u,i,a;if(Du){var o=this.nextTxnId++;i=Date.now(),a=`${e} crypto store transaction ${o} in ${t}`,r.debug(`Starting ${a}`)}var s=this.db.transaction(t,e),c=Nu(s),l=n(s);return Du&&c.then(()=>{var e=Date.now()-i;r.debug(`Finished ${a}, took ${e} ms`)},()=>{var e=Date.now()-i;r.error(`Failed ${a}, took ${e} ms`)}),c.then(()=>l)}},ku=[e=>{Mu(e)},e=>{e.createObjectStore(`account`)},e=>{e.createObjectStore(`sessions`,{keyPath:[`deviceKey`,`sessionId`]}).createIndex(`deviceKey`,`deviceKey`)},e=>{e.createObjectStore(`inbound_group_sessions`,{keyPath:[`senderCurve25519Key`,`sessionId`]})},e=>{e.createObjectStore(`device_data`)},e=>{e.createObjectStore(`rooms`)},e=>{e.createObjectStore(`sessions_needing_backup`,{keyPath:[`senderCurve25519Key`,`sessionId`]})},e=>{e.createObjectStore(`inbound_group_sessions_withheld`,{keyPath:[`senderCurve25519Key`,`sessionId`]})},e=>{e.createObjectStore(`session_problems`,{keyPath:[`deviceKey`,`time`]}).createIndex(`deviceKey`,`deviceKey`),e.createObjectStore(`notified_error_devices`,{keyPath:[`userId`,`deviceId`]})},e=>{e.createObjectStore(`shared_history_inbound_group_sessions`,{keyPath:[`roomId`]})},e=>{e.createObjectStore(`parked_shared_history`,{keyPath:[`roomId`]})}],Au=ku.length;function ju(e,t){u.log(`Upgrading IndexedDBCryptoStore from version ${t} to ${Au}`),ku.forEach((n,r)=>{t<=r&&n(e)})}function Mu(e){var t=e.createObjectStore(`outgoingRoomKeyRequests`,{keyPath:`requestId`});t.createIndex(`session`,[`requestBody.room_id`,`requestBody.session_id`]),t.createIndex(`state`,`state`)}function Q(e,t){e._mx_abortexception=t;try{e.abort()}catch{}}function Nu(e){return new Promise((t,n)=>{e.oncomplete=()=>{e._mx_abortexception!==void 0&&n(e._mx_abortexception),t(null)},e.onerror=t=>{e._mx_abortexception===void 0?(u.log(`Error performing indexeddb txn`,t),n(e.error)):n(e._mx_abortexception)},e.onabort=t=>{e._mx_abortexception===void 0?(u.log(`Error performing indexeddb txn`,t),n(e.error)):n(e._mx_abortexception)}})}var $=class e{static exists(e,t){return Se(e,t)}static existsAndIsNotMigrated(t,n){return new Promise((r,i)=>{var a=!0,o=t.open(n);o.onupgradeneeded=()=>{a=!1},o.onblocked=()=>i(o.error),o.onsuccess=()=>{var s=o.result;if(!a)s.close(),t.deleteDatabase(n),r(!1);else{var c=s.transaction([e.STORE_ACCOUNT],`readonly`).objectStore(e.STORE_ACCOUNT).get(cu);c.onsuccess=()=>{r((c.result??Y.NOT_STARTED)===Y.NOT_STARTED)},c.onerror=()=>{i(c.error)},s.close()}},o.onerror=()=>i(o.error)})}constructor(e,t){this.indexedDB=e,this.dbName=t,v(this,`backendPromise`,void 0),v(this,`backend`,void 0)}containsData(){var t=this;return x(function*(){return e.exists(t.indexedDB,t.dbName)})()}startup(){return this.backendPromise||=new Promise((e,t)=>{if(!this.indexedDB){t(Error(`no indexeddb support available`));return}u.log(`connecting to indexeddb ${this.dbName}`);var n=this.indexedDB.open(this.dbName,Au);n.onupgradeneeded=e=>{var t=n.result,r=e.oldVersion;ju(t,r)},n.onblocked=()=>{u.log(`can't yet open IndexedDBCryptoStore because it is open elsewhere`)},n.onerror=e=>{u.log(`Error connecting to indexeddb`,e),t(n.error)},n.onsuccess=()=>{var t=n.result;u.log(`connected to indexeddb ${this.dbName}`),e(new Ou(t))}}).then(t=>t.doTxn(`readonly`,[e.STORE_INBOUND_GROUP_SESSIONS,e.STORE_INBOUND_GROUP_SESSIONS_WITHHELD],e=>{t.getEndToEndInboundGroupSession(``,``,e,()=>{})}).then(()=>t)).catch(e=>{if(e.name===`VersionError`)throw u.warn(`Crypto DB is too new for us to use!`,e),new ce(ye.TooNew);u.warn(`unable to connect to indexeddb ${this.dbName}: falling back to localStorage store: ${e}`);try{if(!(globalThis.localStorage instanceof Storage))throw Error(`localStorage is not available`);return new Tu(globalThis.localStorage)}catch(e){return u.warn(`Unable to open localStorage: falling back to in-memory store: ${e}`),new pu}}).then(e=>(this.backend=e,e)),this.backendPromise}deleteAllData(){return new Promise((e,t)=>{if(!this.indexedDB){t(Error(`no indexeddb support available`));return}u.log(`Removing indexeddb instance: ${this.dbName}`);var n=this.indexedDB.deleteDatabase(this.dbName);n.onblocked=()=>{u.log(`can't yet delete IndexedDBCryptoStore because it is open elsewhere`)},n.onerror=e=>{u.log(`Error deleting data from indexeddb`,e),t(n.error)},n.onsuccess=()=>{u.log(`Removed indexeddb instance: ${this.dbName}`),e()}}).catch(e=>{u.warn(`unable to delete IndexedDBCryptoStore: ${e}`)})}getMigrationState(){return this.backend.getMigrationState()}setMigrationState(e){return this.backend.setMigrationState(e)}getAccount(e,t){this.backend.getAccount(e,t)}storeAccount(e,t){this.backend.storeAccount(e,t)}getCrossSigningKeys(e,t){this.backend.getCrossSigningKeys(e,t)}getSecretStorePrivateKey(e,t,n){this.backend.getSecretStorePrivateKey(e,t,n)}storeSecretStorePrivateKey(e,t,n){this.backend.storeSecretStorePrivateKey(e,t,n)}countEndToEndSessions(e,t){this.backend.countEndToEndSessions(e,t)}getEndToEndSession(e,t,n,r){this.backend.getEndToEndSession(e,t,n,r)}getEndToEndSessions(e,t,n){this.backend.getEndToEndSessions(e,t,n)}storeEndToEndSession(e,t,n,r){this.backend.storeEndToEndSession(e,t,n,r)}countEndToEndInboundGroupSessions(){return this.backend.countEndToEndInboundGroupSessions()}getEndToEndSessionsBatch(){return this.backend.getEndToEndSessionsBatch()}deleteEndToEndSessionsBatch(e){return this.backend.deleteEndToEndSessionsBatch(e)}getEndToEndInboundGroupSession(e,t,n,r){this.backend.getEndToEndInboundGroupSession(e,t,n,r)}storeEndToEndInboundGroupSession(e,t,n,r){this.backend.storeEndToEndInboundGroupSession(e,t,n,r)}getEndToEndInboundGroupSessionsBatch(){return this.backend.getEndToEndInboundGroupSessionsBatch()}deleteEndToEndInboundGroupSessionsBatch(e){return this.backend.deleteEndToEndInboundGroupSessionsBatch(e)}getEndToEndRooms(e,t){this.backend.getEndToEndRooms(e,t)}markSessionsNeedingBackup(e,t){return this.backend.markSessionsNeedingBackup(e,t)}doTxn(e,t,n,r){return this.backend.doTxn(e,t,n,r)}};v($,`STORE_ACCOUNT`,`account`),v($,`STORE_SESSIONS`,`sessions`),v($,`STORE_INBOUND_GROUP_SESSIONS`,`inbound_group_sessions`),v($,`STORE_INBOUND_GROUP_SESSIONS_WITHHELD`,`inbound_group_sessions_withheld`),v($,`STORE_SHARED_HISTORY_INBOUND_GROUP_SESSIONS`,`shared_history_inbound_group_sessions`),v($,`STORE_PARKED_SHARED_HISTORY`,`parked_shared_history`),v($,`STORE_DEVICE_DATA`,`device_data`),v($,`STORE_ROOMS`,`rooms`),v($,`STORE_BACKUP`,`sessions_needing_backup`);function Pu(e){return Fu.apply(this,arguments)}function Fu(){return Fu=x(function*(e){var t,n=e.logger,r=e.legacyStore;if(yield pl(),!(yield r.containsData()))return;yield r.startup();var i=null;if(yield r.doTxn(`readonly`,[$.STORE_ACCOUNT],e=>{r.getAccount(e,e=>{i=e})}),!i){n.debug(`Legacy crypto store is not set up (no account found). Not migrating.`);return}var a=yield r.getMigrationState();if(a>=Y.MEGOLM_SESSIONS_MIGRATED)return;var o=yield Ru(n,r),s=yield Bu(n,r),c=1+o+s;n.info(`Migrating data from legacy crypto store. ${o} olm sessions and ${s} megolm sessions to migrate.`);var l=0;function u(t){var n;l+=t,(n=e.legacyMigrationProgressListener)==null||n.call(e,l,c)}u(0);var d=new TextEncoder().encode(e.legacyPickleKey).slice();a===Y.NOT_STARTED&&(n.info(`Migrating data from legacy crypto store. Step 1: base data`),yield Iu(e.http,e.userId,e.deviceId,r,d,e.storeHandle,n),a=Y.INITIAL_DATA_MIGRATED,yield r.setMigrationState(a)),u(1),a===Y.INITIAL_DATA_MIGRATED&&(n.info(`Migrating data from legacy crypto store. Step 2: olm sessions (${o} sessions to migrate).`),yield Hu(n,r,d,e.storeHandle,u),a=Y.OLM_SESSIONS_MIGRATED,yield r.setMigrationState(a)),a===Y.OLM_SESSIONS_MIGRATED&&(n.info(`Migrating data from legacy crypto store. Step 3: megolm sessions (${s} sessions to migrate).`),yield Wu(n,r,d,e.storeHandle,u),a=Y.MEGOLM_SESSIONS_MIGRATED,yield r.setMigrationState(a)),(t=e.legacyMigrationProgressListener)==null||t.call(e,-1,-1),n.info(`Migration from legacy crypto store complete`)}),Fu.apply(this,arguments)}function Iu(e,t,n,r,i,a,o){return Lu.apply(this,arguments)}function Lu(){return Lu=x(function*(e,t,n,r,i,a,o){var s=new Ne;s.userId=new M(t),s.deviceId=new k(n),yield r.doTxn(`readonly`,[$.STORE_ACCOUNT],e=>r.getAccount(e,e=>{s.pickledAccount=e??``}));var c=yield Ju(r,i,`m.megolm_backup.v1`);if(c){for(var l=!1,u=null;!l;)try{u=yield Wl(e),l=!0}catch(e){o.info(`Failed to get backup version during migration, retrying in 2 seconds`,e),yield _(2e3)}if(u&&u.algorithm==`m.megolm_backup.v1.curve25519-aes-sha2`)try{var d=w.fromBase64(c),f=u.auth_data?.public_key;d.megolmV1PublicKey.publicKeyBase64==f?(s.backupVersion=u.version,s.backupRecoveryKey=c):o.debug(`The backup key to migrate does not match the active backup version`,`Cached pub key: ${d.megolmV1PublicKey.publicKeyBase64}`,`Active pub key: ${f}`)}catch(e){o.warn(`Failed to check if the backup key to migrate matches the active backup version`,e)}}s.privateCrossSigningMasterKey=yield Ju(r,i,`master`),s.privateCrossSigningSelfSigningKey=yield Ju(r,i,`self_signing`),s.privateCrossSigningUserSigningKey=yield Ju(r,i,`user_signing`),yield St.migrateBaseData(s,i,a,o)}),Lu.apply(this,arguments)}function Ru(e,t){return zu.apply(this,arguments)}function zu(){return zu=x(function*(e,t){e.debug(`Counting olm sessions to be migrated`);var n;return yield t.doTxn(`readonly`,[$.STORE_SESSIONS],e=>t.countEndToEndSessions(e,e=>n=e)),n}),zu.apply(this,arguments)}function Bu(e,t){return Vu.apply(this,arguments)}function Vu(){return Vu=x(function*(e,t){return e.debug(`Counting megolm sessions to be migrated`),yield t.countEndToEndInboundGroupSessions()}),Vu.apply(this,arguments)}function Hu(e,t,n,r,i){return Uu.apply(this,arguments)}function Uu(){return Uu=x(function*(e,t,n,r,i){for(;;){var a=yield t.getEndToEndSessionsBatch();if(a===null)return;e.debug(`Migrating batch of ${a.length} olm sessions`);var o=[];for(var s of a){var c=new At;c.senderKey=s.deviceKey,c.pickle=s.session,c.lastUseTime=c.creationTime=new Date(s.lastReceivedMessageTs),o.push(c)}yield St.migrateOlmSessions(o,n,r,e),yield t.deleteEndToEndSessionsBatch(a),i(a.length)}}),Uu.apply(this,arguments)}function Wu(e,t,n,r,i){return Gu.apply(this,arguments)}function Gu(){return Gu=x(function*(e,t,n,r,i){for(;;){var a=yield t.getEndToEndInboundGroupSessionsBatch();if(a===null)return;e.debug(`Migrating batch of ${a.length} megolm sessions`);var o=[];for(var s of a){var c=s.sessionData,l=new kt;l.pickle=c.session,l.roomId=new A(c.room_id),l.senderKey=s.senderKey,l.senderSigningKey=c.keysClaimed?.ed25519,l.backedUp=!s.needsBackup,l.imported=c.untrusted===!0,o.push(l)}yield St.migrateMegolmSessions(o,n,r,e),yield t.deleteEndToEndInboundGroupSessionsBatch(a),i(a.length)}}),Gu.apply(this,arguments)}function Ku(e){return qu.apply(this,arguments)}function qu(){return qu=x(function*(e){var t=e.logger,n=e.legacyStore,r=e.olmMachine;if((yield n.containsData())&&!((yield n.getMigrationState())>=Y.ROOM_SETTINGS_MIGRATED)){var i={};yield n.doTxn(`readwrite`,[$.STORE_ROOMS],e=>{n.getEndToEndRooms(e,e=>{i=e})}),t.debug(`Migrating ${Object.keys(i).length} sets of room settings`);for(var a of Object.entries(i)){var o=l(a,2),s=o[0],c=o[1];try{var u=new Qt;if(c.algorithm!==`m.megolm.v1.aes-sha2`){t.warn(`Room ${s}: ignoring room with invalid algorithm ${c.algorithm}`);continue}u.algorithm=rt.MegolmV1AesSha2,u.sessionRotationPeriodMs=c.rotation_period_ms,u.sessionRotationPeriodMessages=c.rotation_period_msgs,yield r.setRoomSettings(new A(s),u)}catch(e){t.warn(`Room ${s}: ignoring settings ${JSON.stringify(c)} which caused error ${e}`)}}t.debug(`Completed room settings migration`),yield n.setMigrationState(Y.ROOM_SETTINGS_MIGRATED)}}),qu.apply(this,arguments)}function Ju(e,t,n){return Yu.apply(this,arguments)}function Yu(){return Yu=x(function*(e,t,n){var i=yield new Promise(t=>{e.doTxn(`readonly`,[$.STORE_ACCOUNT],r=>{e.getSecretStorePrivateKey(r,t,n)})});if(i&&i.ciphertext&&i.iv&&i.mac)return yield ue(i,t,n);if(i instanceof Uint8Array)return r(i)}),Yu.apply(this,arguments)}function Xu(e){return Zu.apply(this,arguments)}function Zu(){return Zu=x(function*(e){var t=e.legacyCryptoStore,n=e.rustCrypto,r=e.logger,i=yield n.getOwnIdentity();if(i&&!i.isVerified()){var a=yield Qu(t);if(a){var o=JSON.parse(i.masterKey);if(!o.keys||Object.keys(o.keys).length===0){r.error(`Post Migration | Unexpected error: no master key in the rust session.`);return}var s=Object.values(o.keys)[0];s&&s==a&&(r.info(`Post Migration: Migrating legacy trusted MSK: ${a} to locally verified.`),yield i.verify())}}}),Zu.apply(this,arguments)}function Qu(e){return $u.apply(this,arguments)}function $u(){return $u=x(function*(e){var t=null;return yield e.doTxn(`readonly`,`account`,n=>{e.getCrossSigningKeys(n,e=>{var n=e?.master;n&&Object.keys(n.keys).length!=0&&(t=Object.values(n.keys)[0])})}),t}),$u.apply(this,arguments)}function ed(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function td(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?ed(Object(n),!0).forEach(function(t){v(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ed(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function nd(e){return rd.apply(this,arguments)}function rd(){return rd=x(function*(e){var t=e.logger;t.debug(`Initialising Rust crypto-sdk WASM artifact`),yield pl(),t.debug(`Opening Rust CryptoStore`);var n=e.storePrefix?e.storeKey?yield j.openWithKey(e.storePrefix,e.storeKey,t):yield j.open(e.storePrefix,e.storePassphrase,t):yield j.open(null,null,t);e.legacyCryptoStore&&(yield Pu(td({legacyStore:e.legacyCryptoStore,storeHandle:n},e)));var r=yield id(t,e.http,e.userId,e.deviceId,e.secretStorage,e.cryptoCallbacks,n,e.legacyCryptoStore,e.enableEncryptedStateEvents);return n.free(),t.debug(`Completed rust crypto-sdk setup`),r}),rd.apply(this,arguments)}function id(e,t,n,r,i,a,o,s,c){return ad.apply(this,arguments)}function ad(){return ad=x(function*(e,t,n,r,i,a,o,s,c){e.debug(`Init OlmMachine`);var l=yield Tt.initFromStore(new M(n),new k(r),o,e);s&&(yield Ku({logger:e,legacyStore:s,olmMachine:l})),l.roomKeyRequestsEnabled=!1;var u=new ru(e,l,t,n,r,i,a,c);if(yield l.registerRoomKeyUpdatedCallback(e=>u.onRoomKeysUpdated(e)),yield l.registerRoomKeysWithheldCallback(e=>u.onRoomKeysWithheld(e)),yield l.registerUserIdentityUpdatedCallback(e=>u.onUserIdentityUpdated(e)),yield l.registerDevicesUpdatedCallback(e=>u.onDevicesUpdated(e)),u.checkSecrets(`m.megolm_backup.v1`),yield l.registerReceiveSecretCallback((e,t)=>u.checkSecrets(e)),yield l.outgoingRequests(),s&&(yield s.containsData())&&(yield s.getMigrationState())<Y.INITIAL_OWN_KEY_QUERY_DONE){e.debug(`Performing initial key query after migration`);for(var d=!1;!d;)try{yield u.userHasCrossSigningKeys(n),d=!0}catch(t){e.error(`Failed to check for cross-signing keys after migration, retrying`,t)}yield Xu({legacyCryptoStore:s,rustCrypto:u,logger:e}),yield s.setMigrationState(Y.INITIAL_OWN_KEY_QUERY_DONE)}for(var f of yield l.getAllRoomsPendingKeyBundles()){var p=f.roomId.toString();Date.now()-f.inviteAcceptedAtMillis<=864e5?(e.info(`Checking for pending key bundle for recently-joined room ${p} (joined ${new Date(f.inviteAcceptedAtMillis).toISOString()})`),yield u.maybeAcceptKeyBundle(p,f.inviterId.toString())):(e.info(`Clearing pending-key-bundle flag for room ${p} (too old: joined ${new Date(f.inviteAcceptedAtMillis).toISOString()})`),yield l.clearRoomPendingKeyBundle(new A(p)))}return u}),ad.apply(this,arguments)}export{nd as initRustCrypto};
      3 //# sourceMappingURL=rust-crypto-_--jvv76.js.map