polfan-server-js-client 0.2.57 → 0.2.59
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.idea/workspace.xml +14 -0
- package/babel.config.js +4 -5
- package/build/index.cjs.js +4517 -1993
- package/build/index.cjs.js.map +1 -1
- package/build/index.umd.js +1 -1
- package/build/index.umd.js.map +1 -1
- package/build/types/IndexedObjectCollection.d.ts +4 -4
- package/build/types/state-tracker/TopicHistoryWindow.d.ts +19 -9
- package/package.json +14 -28
- package/src/IndexedObjectCollection.ts +4 -4
- package/src/state-tracker/ChatStateTracker.ts +17 -7
- package/src/state-tracker/RoomMessagesHistory.ts +1 -1
- package/src/state-tracker/TopicHistoryWindow.ts +61 -40
- package/tests/history-window.test.ts +1 -1
- package/webpack.config.browser.js +2 -24
- package/webpack.config.node.js +2 -14
- package/.eslintignore +0 -0
- package/.eslintrc.json +0 -0
package/build/index.umd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.PservClient=t():e.PservClient=t()}(this,(()=>(()=>{"use strict";var e={d:(t,r)=>{for(var i in r)e.o(r,i)&&!e.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:r[i]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};function r(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}e.r(t),e.d(t,{AuthClient:()=>Ne,FilesClient:()=>He,IndexedCollection:()=>a,IndexedObjectCollection:()=>l,Layer:()=>V,ObservableIndexedCollection:()=>c,ObservableIndexedObjectCollection:()=>d,PermissionDefinition:()=>z,Permissions:()=>q,WebApiChatClient:()=>Re,WebSocketChatClient:()=>Te,extractUserFromMember:()=>C});class i{constructor(){r(this,"events",new Map),r(this,"onceEvents",new Map)}on(e,t){return this.addHandler(this.events,e,t),this}once(e,t){return this.addHandler(this.onceEvents,e,t),this}off(e,t){var r,i=null===(r=this.events.get(e))||void 0===r?void 0:r.indexOf(t);return!i||i<0||this.events.get(e).splice(i,1),this}emit(e,t){return this.callHandlers(this.events,e,t),this.callHandlers(this.onceEvents,e,t),this.onceEvents.delete(e),this}addHandler(e,t,r){var i,o=null!==(i=e.get(t))&&void 0!==i?i:[];o.push(r),e.set(t,o)}callHandlers(e,t,r){var i;null===(i=e.get(t))||void 0===i||i.forEach((e=>e(r)))}}function o(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class s extends i{constructor(){super(...arguments),o(this,"awaitingResponse",new Map),o(this,"sentCounter",0)}on(e,t){return super.on(e,t)}once(e,t){return super.once(e,t)}createEnvelope(e,t){return{type:e,data:t,ref:(++this.sentCounter).toString()}}createPromiseFromCommandEnvelope(e){var t=this;return new Promise((function(){for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];return t.awaitingResponse.set(e.ref,i)}))}handleIncomingEnvelope(e){if(this.awaitingResponse.has(e.ref)){var t="Error"===e.type;this.awaitingResponse.get(e.ref)[0]({data:t?null:e.data,error:t?e.data:null}),this.awaitingResponse.delete(e.ref)}}handleEnvelopeSendError(e,t){this.awaitingResponse.has(e.ref)&&(this.awaitingResponse.get(e.ref)[1](t),this.awaitingResponse.delete(e.ref))}}function n(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class a{constructor(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];n(this,"_items",new Map),this.set(...e)}get items(){return this._items}get length(){return this._items.size}set(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];for(var i of t)this._items.set(i[0],i[1])}get(e){return this.items.get(e)}has(e){return this.items.has(e)}delete(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];for(var i of t)this.items.delete(i)}deleteAll(){this.items.clear()}findBy(e,t){for(var r,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,o=new a;!((r=this.items.entries().next().value).done||i&&o.length===i);)r[1][e]===t&&o.set(r);return o}shallowCopy(){var e=new a;return e._items=this._items,e}}class l{constructor(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];this.id=e,n(this,"_items",void 0),this._items=new a,this.set(...t)}get items(){return Array.from(this._items.items.values())}get length(){return this._items.length}set(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this._items.set(...t.map((e=>[this.getId(e),e])))}get(e){return this._items.get(e)}getAt(e){return this.items[e]}has(e){return this._items.has(e)}delete(){this._items.delete(...arguments)}deleteAll(){this._items.deleteAll()}findBy(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=new l(this.id);for(var o of this.items){if(r&&i.length===r)break;o[e]===t&&i.set(o)}return i}shallowCopy(){var e=new l(this.id);return e._items=this._items,e}getId(e){return"function"==typeof this.id?this.id(e):e[this.id]}}class c extends a{constructor(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];super(),n(this,"eventTarget",void 0),this.eventTarget=new i,this.set(...e)}set(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];t.length&&(super.set(...t),this.eventTarget.emit("change",{setItems:t.map((e=>e[0]))}))}delete(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];t.length&&(super.delete(...t),this.eventTarget.emit("change",{deletedItems:t}))}deleteAll(){if(this.length){var e=this._items.keys();super.deleteAll(),this.eventTarget.emit("change",{deletedItems:Array.from(e)})}}shallowCopy(){var e=new c;return e.eventTarget=this.eventTarget,e._items=this._items,e}on(e,t){return this.eventTarget.on(e,t),this}once(e,t){return this.eventTarget.once(e,t),this}off(e,t){return this.eventTarget.off(e,t),this}}class d extends l{constructor(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];super(e),this.id=e,n(this,"eventTarget",void 0),this.eventTarget=new i,this.set(...t)}set(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];t.length&&(super.set(...t),this.eventTarget.emit("change",{setItems:t.map((e=>this.getId(e)))}))}delete(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];t.length&&(super.delete(...t),this.eventTarget.emit("change",{deletedItems:t}))}deleteAll(){if(this.length){var e=this._items.items.keys();super.deleteAll(),this.eventTarget.emit("change",{deletedItems:Array.from(e)})}}shallowCopy(){var e=new d(this.id);return e.eventTarget=this.eventTarget,e._items=this._items,e}on(e,t){return this.eventTarget.on(e,t),this}once(e,t){return this.eventTarget.once(e,t),this}off(e,t){return this.eventTarget.off(e,t),this}}function h(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class u{constructor(){h(this,"promise",void 0),h(this,"resolve",void 0),this.promise=new Promise((e=>this.resolve=e))}}class m{constructor(){h(this,"promises",new a)}register(e,t){this.promises.set([t,e])}registerByFunction(e,t){this.register(e(),t)}get(e){return this.promises.get(e)}has(e){return this.promises.has(e)}notExist(e){return!this.has(e)}forget(){this.promises.delete(...arguments)}forgetAll(){this.promises.deleteAll()}}function v(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,i)}return r}function p(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?v(Object(r),!0).forEach((function(t){y(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):v(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function f(e,t,r,i,o,s,n){try{var a=e[s](n),l=a.value}catch(e){return void r(e)}a.done?t(l):Promise.resolve(l).then(i,o)}function g(e){return function(){var t=this,r=arguments;return new Promise((function(i,o){var s=e.apply(t,r);function n(e){f(s,i,o,n,a,"next",e)}function a(e){f(s,i,o,n,a,"throw",e)}n(void 0)}))}}function y(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var w=function(e){return e[e.LIVE=0]="LIVE",e[e.LATEST=1]="LATEST",e[e.PAST=2]="PAST",e[e.OLDEST=3]="OLDEST",e}({});class b extends d{constructor(){super(...arguments),y(this,"limit",50),y(this,"oldestId",null),y(this,"currentState",w.LIVE),y(this,"fetchingState",void 0)}get state(){return this.currentState}get hasLatest(){return[w.LATEST,w.LIVE].includes(this.state)}get hasOldest(){return this.state===w.OLDEST||null!==this.oldestId&&this.has(this.oldestId)}resetToLatest(){var e=this;return g((function*(){if(!e.fetchingState&&e.currentState!==w.LATEST){var t;e.fetchingState=w.LATEST;try{t=yield e.fetchLatestItems()}finally{e.fetchingState=void 0}e.deleteAll(),e.addItems(t,"tail"),e.currentState=w.LATEST}}))()}fetchPrevious(){var e=this;return g((function*(){if(!e.fetchingState&&!e.hasOldest){var t;e.fetchingState=w.PAST;try{t=yield e.fetchItemsBefore()}finally{e.fetchingState=void 0}if(!t)return e.resetToLatest();if(!t.length){var r=e.getAt(0);return e.oldestId=r?e.getId(r):null,yield e.refreshFetchedState(),void(e.currentState===w.PAST&&(e.currentState=w.OLDEST))}e.addItems(t,"head"),yield e.refreshFetchedState()}}))()}fetchNext(){var e=this;return g((function*(){if(!e.fetchingState&&!e.hasLatest){var t;e.fetchingState=w.PAST;try{t=yield e.fetchItemsAfter()}finally{e.fetchingState=void 0}if(t)return t.length?(e.addItems(t,"tail"),void(yield e.refreshFetchedState())):void 0;yield e.resetToLatest()}}))()}refreshFetchedState(){var e=this;return g((function*(){e.currentState=(yield e.isLatestItemLoaded())?w.LATEST:w.PAST}))()}addItems(e,t){var r;"head"===t&&(r=this.trimItemsArrayToLimit([...e,...this.items],"tail")),"tail"===t&&(r=this.trimItemsArrayToLimit([...this.items,...e],"head")),this.deleteAll(),this.set(...r)}trimItemsArrayToLimit(e,t){return null===this.limit?e:"head"===t?e.slice(-this.limit):"tail"===t?e.slice(0,this.limit):void 0}}class S extends b{constructor(e,t,r){super("id"),this.roomId=e,this.topicId=t,this.tracker=r,y(this,"WindowState",w),y(this,"traverseLock",!1),this.tracker.client.on("Session",(e=>this.handleSession(e))),this.tracker.client.on("NewMessage",(e=>this.handleNewMessage(e)))}shallowCopy(){var e=new S(this.roomId,this.topicId,this.tracker);return e.eventTarget=this.eventTarget,e._items=this._items,e.limit=this.limit,e.currentState=this.currentState,e.fetchingState=this.fetchingState,e.oldestId=this.oldestId,e.traverseLock=this.traverseLock,e}get isTraverseLocked(){return this.traverseLock}setTraverseLock(e){var t=()=>super.resetToLatest,r=this;return g((function*(){r.traverseLock=e,e&&r.state!==w.LIVE&&r.state!==w.LATEST&&(yield t().call(r))}))()}resetToLatest(){var e=()=>super.resetToLatest,t=this;return g((function*(){if(!t.traverseLock)return e().call(t)}))()}fetchNext(){var e=()=>super.fetchNext,t=this;return g((function*(){if(!t.traverseLock)return e().call(t)}))()}fetchPrevious(){var e=()=>super.fetchPrevious,t=this;return g((function*(){if(!t.traverseLock)return e().call(t)}))()}_updateMessageReference(e){var t=this.get(e.refMessage.id);t&&this.set(p(p({},t),{},{topicRef:e.id}))}handleNewMessage(e){var t=this;return g((function*(){[w.LATEST,w.LIVE].includes(t.state)&&e.message.location.roomId===t.roomId&&e.message.location.topicId===t.topicId&&t.addItems([e.message],"tail")}))()}handleSession(e){e.state.rooms.find((e=>e.id===this.roomId))?this.resetToLatest():this.deleteAll()}fetchItemsAfter(){var e=this;return g((function*(){var t,r=null===(t=e.getAt(e.length-1))||void 0===t?void 0:t.id;if(!r)return null;var i=yield e.tracker.client.send("GetMessages",{location:{roomId:e.roomId,topicId:e.topicId},after:r});if(i.error)throw new Error("Cannot fetch messages: ".concat(i.error.message));return i.data.messages}))()}fetchItemsBefore(){var e=this;return g((function*(){var t,r=null===(t=e.getAt(0))||void 0===t?void 0:t.id;if(!r)return null;var i=yield e.tracker.client.send("GetMessages",{location:{roomId:e.roomId,topicId:e.topicId},before:r});if(i.error)throw new Error("Cannot fetch messages: ".concat(i.error.message));return i.data.messages}))()}fetchLatestItems(){var e=this;return g((function*(){var t=yield e.tracker.client.send("GetMessages",{location:{roomId:e.roomId,topicId:e.topicId}});if(t.error)throw new Error("Cannot fetch messages: ".concat(t.error.message));return t.data.messages}))()}getTopic(){var e=this;return g((function*(){return(yield e.tracker.rooms.getTopics(e.roomId,[e.topicId])).get(e.topicId)}))()}getLatestMessageId(){var e=this;return g((function*(){var t,r;return null===(t=yield e.getTopic())||void 0===t||null===(r=t.lastMessage)||void 0===r?void 0:r.id}))()}isLatestItemLoaded(){var e=this;return g((function*(){var t=yield e.getLatestMessageId();return!t||e.has(t)}))()}}function T(e,t,r,i,o,s,n){try{var a=e[s](n),l=a.value}catch(e){return void r(e)}a.done?t(l):Promise.resolve(l).then(i,o)}function P(e){return function(){var t=this,r=arguments;return new Promise((function(i,o){var s=e.apply(t,r);function n(e){T(s,i,o,n,a,"next",e)}function a(e){T(s,i,o,n,a,"throw",e)}n(void 0)}))}}function I(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class k{constructor(e,t){this.room=e,this.tracker=t,I(this,"historyWindows",new a),I(this,"traverseLock",!1),this.tracker.client.on("RoomUpdated",(e=>this.handleRoomUpdated(e))),this.tracker.client.on("NewTopic",(e=>this.handleNewTopic(e))),this.tracker.client.on("TopicDeleted",(e=>this.handleTopicDeleted(e))),this.updateTraverseLock(this.room),this.room.defaultTopic&&this.createHistoryWindowForTopic(this.room.defaultTopic)}getMessagesWindow(e){var t=this;return P((function*(){if(!t.historyWindows.get(e)){var r=(yield t.tracker.rooms.getTopics(t.room.id,[e])).get(e);r&&t.createHistoryWindowForTopic(r)}return t.historyWindows.get(e)}))()}handleRoomUpdated(e){var t=this;return P((function*(){if(t.room.id===e.room.id)for(var[,r]of(t.room=e.room,t.updateTraverseLock(e.room),e.room.defaultTopic&&t.createHistoryWindowForTopic(e.room.defaultTopic),Array.from(t.historyWindows.items)))yield r.setTraverseLock(t.traverseLock)}))()}handleNewTopic(e){this.room.id===e.roomId&&this.createHistoryWindowForTopic(e.topic)}handleTopicDeleted(e){this.room.id===e.location.roomId&&this.historyWindows.delete(e.location.topicId)}createHistoryWindowForTopic(e){if(!this.historyWindows.has(e.id)){var t=new S(this.room.id,e.id,this.tracker);if(t.setTraverseLock(this.traverseLock),this.historyWindows.set([e.id,t]),e.refMessage){var r=this.historyWindows.get(e.refMessage.location.topicId);null==r||r._updateMessageReference(e)}}}updateTraverseLock(e){this.traverseLock="Ephemeral"===e.history.mode}}function O(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,i)}return r}function R(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?O(Object(r),!0).forEach((function(t){M(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):O(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function E(e,t,r,i,o,s,n){try{var a=e[s](n),l=a.value}catch(e){return void r(e)}a.done?t(l):Promise.resolve(l).then(i,o)}function j(e){return function(){var t=this,r=arguments;return new Promise((function(i,o){var s=e.apply(t,r);function n(e){E(s,i,o,n,a,"next",e)}function a(e){E(s,i,o,n,a,"throw",e)}n(void 0)}))}}function M(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class L{constructor(e){this.tracker=e,M(this,"roomHistories",new a),M(this,"followedTopics",new a),M(this,"followedTopicsPromises",new m),M(this,"deferredSession",new u),this.tracker.client.on("Session",(e=>this.handleSession(e))),this.tracker.client.on("RoomJoined",(e=>this.handleRoomJoin(e))),this.tracker.client.on("NewTopic",(e=>this.handleNewTopic(e))),this.tracker.client.on("FollowedTopicUpdated",(e=>this.handleFollowedTopicUpdated(e))),this.tracker.client.on("TopicFollowed",(e=>this.handleTopicFollowed(e))),this.tracker.client.on("TopicUnfollowed",(e=>this.handleTopicUnfollowed(e))),this.tracker.client.on("NewMessage",(e=>this.handleNewMessage(e))),this.tracker.client.on("RoomDeleted",(e=>this.handleRoomDeleted(e))),this.tracker.client.on("RoomLeft",(e=>this.handleRoomLeft(e))),this.tracker.client.on("TopicDeleted",(e=>this.handleTopicDeleted(e)))}getRoomHistory(e){var t=this;return j((function*(){return yield t.deferredSession.promise,t.roomHistories.get(e)}))()}cacheSpaceFollowedTopics(e){var t=this;return j((function*(){if(e&&!(yield t.tracker.spaces.get()).has(e))throw new Error("You are not in space ".concat(e));var r=(yield t.tracker.rooms.get()).findBy("spaceId",e).items.map((e=>e.id));if(r.length){var i=t.tracker.client.send("GetFollowedTopics",{location:{spaceId:e}});r.forEach((e=>t.followedTopicsPromises.register(i,e)));var o=yield i;if(o.error)throw o.error;t.setFollowedTopicsArray(r,o.data.followedTopics)}}))()}getRoomFollowedTopics(e){var t=this;return j((function*(){if((yield t.tracker.rooms.get()).has(e))return t.followedTopics.has(e)||(t.followedTopicsPromises.notExist(e)&&t.followedTopicsPromises.registerByFunction(j((function*(){var r=yield t.tracker.client.send("GetFollowedTopics",{location:{roomId:e}});if(r.error)throw r.error;t.setFollowedTopicsArray([e],r.data.followedTopics)})),e),yield t.followedTopicsPromises.get(e)),t.followedTopics.get(e)}))()}ackRoomFollowedTopics(e){var t=this;return j((function*(){var r=yield t.getRoomFollowedTopics(e);if(r)for(var i of r.items)i.missed&&(yield t.tracker.client.send("Ack",{location:i.location}))}))()}calculateRoomMissedMessages(e){var t=this;return j((function*(){var r=yield t.getRoomFollowedTopics(e);if(r)return r.items.reduce(((e,t)=>{var r;return e+(null!==(r=t.missed)&&void 0!==r?r:0)}),0)}))()}_deleteByTopicIds(e){for(var t,r=arguments.length,i=new Array(r>1?r-1:0),o=1;o<r;o++)i[o-1]=arguments[o];null===(t=this.followedTopics.get(e))||void 0===t||t.delete(...i)}createHistoryForNewRoom(e){this.roomHistories.set([e.id,new k(e,this.tracker)])}handleNewMessage(e){this.updateLocallyFollowedTopicOnNewMessage(e)}handleFollowedTopicUpdated(e){var t;null===(t=this.followedTopics.get(e.followedTopic.location.roomId))||void 0===t||t.set(e.followedTopic)}handleTopicFollowed(e){this.setFollowedTopicsArray([e.followedTopic.location.roomId],[e.followedTopic])}handleTopicUnfollowed(e){var t;null===(t=this.followedTopics.get(e.location.roomId))||void 0===t||t.delete(e.location.topicId)}handleRoomDeleted(e){this.roomHistories.delete(e.id),this.clearRoomFollowedTopicsStructures(e.id)}handleRoomJoin(e){this.createHistoryForNewRoom(e.room),this.clearRoomFollowedTopicsStructures(e.room.id)}handleRoomLeft(e){this.roomHistories.delete(e.id),this.clearRoomFollowedTopicsStructures(e.id)}handleNewTopic(e){var t=this;return j((function*(){if(t.followedTopics.has(e.roomId)){var r=(yield t.tracker.client.send("GetFollowedTopics",{location:{roomId:e.roomId,topicId:e.topic.id}})).data.followedTopics[0];r&&t.followedTopics.get(e.roomId).set(r)}}))()}handleTopicDeleted(e){var t;null===(t=this.followedTopics.get(e.location.roomId))||void 0===t||t.delete(e.location.topicId)}handleSession(e){this.followedTopics.deleteAll(),this.followedTopicsPromises.forgetAll(),this.roomHistories.deleteAll(),e.state.rooms.forEach((e=>this.createHistoryForNewRoom(e))),this.deferredSession.resolve()}updateLocallyFollowedTopicOnNewMessage(e){var t,r,i=this.followedTopics.get(e.message.location.roomId),o=null==i?void 0:i.get(e.message.location.topicId);i&&o&&"Ephemeral"!==e.message.type&&(r=e.message.author.user.id===(null===(t=this.tracker.me)||void 0===t?void 0:t.id)?{missed:0,lastAckMessageId:e.message.id}:{missed:null===o.missed?null:o.missed+1},i.set(R(R({},o),r)))}setFollowedTopicsArray(e,t){var r={};t.forEach((e=>{var t,i;null!==(i=r[t=e.location.roomId])&&void 0!==i||(r[t]=[]),r[e.location.roomId].push(e)})),e.forEach((e=>{this.followedTopics.has(e)||this.followedTopics.set([e,new d((e=>e.location.topicId))]),r[e]&&this.followedTopics.get(e).set(...r[e])}))}clearRoomFollowedTopicsStructures(e){this.followedTopics.delete(e),this.followedTopicsPromises.forget(e)}}function A(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,i)}return r}function D(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?A(Object(r),!0).forEach((function(t){N(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):A(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function U(e,t,r,i,o,s,n){try{var a=e[s](n),l=a.value}catch(e){return void r(e)}a.done?t(l):Promise.resolve(l).then(i,o)}function x(e){return function(){var t=this,r=arguments;return new Promise((function(i,o){var s=e.apply(t,r);function n(e){U(s,i,o,n,a,"next",e)}function a(e){U(s,i,o,n,a,"throw",e)}n(void 0)}))}}function N(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class F{constructor(e){this.tracker=e,N(this,"messages",void 0),N(this,"list",new d("id")),N(this,"topics",new a),N(this,"members",new a),N(this,"deferredSession",new u),N(this,"membersPromises",new m),N(this,"topicsPromises",new m),this.messages=new L(e),this.tracker.client.on("NewMessage",(e=>this.handleNewMessage(e))),this.tracker.client.on("NewTopic",(e=>this.handleNewTopic(e))),this.tracker.client.on("TopicDeleted",(e=>this.handleTopicDeleted(e))),this.tracker.client.on("RoomJoined",(e=>this.handleRoomJoined(e))),this.tracker.client.on("RoomLeft",(e=>this.handleRoomLeft(e))),this.tracker.client.on("RoomUpdated",(e=>this.handleRoomUpdated(e))),this.tracker.client.on("RoomDeleted",(e=>this.handleRoomDeleted(e))),this.tracker.client.on("TopicUpdated",(e=>this.handleTopicUpdated(e))),this.tracker.client.on("RoomMemberJoined",(e=>this.handleRoomMemberJoined(e))),this.tracker.client.on("RoomMemberLeft",(e=>this.handleRoomMemberLeft(e))),this.tracker.client.on("RoomMembers",(e=>this.handleRoomMembers(e))),this.tracker.client.on("RoomMemberUpdated",(e=>this.handleRoomMemberUpdated(e))),this.tracker.client.on("SpaceMemberLeft",(e=>this.handleSpaceMemberLeft(e))),this.tracker.client.on("SpaceMemberUpdated",(e=>this.handleSpaceMemberUpdated(e))),this.tracker.client.on("SpaceDeleted",(e=>this.handleSpaceDeleted(e))),this.tracker.client.on("SpaceLeft",(e=>this.handleSpaceDeleted(e))),this.tracker.client.on("UserUpdated",(e=>this.handleUserUpdated(e))),this.tracker.client.on("Session",(e=>this.handleSession(e)))}getMembers(e){var t=this;return x((function*(){return t.membersPromises.notExist(e)&&t.membersPromises.registerByFunction(x((function*(){var r=yield t.tracker.client.send("GetRoomMembers",{id:e});if(r.error)throw r.error;t.handleRoomMembers(r.data)})),e),yield t.membersPromises.get(e),t.members.get(e)}))()}getMe(e){var t=this;return x((function*(){var r=(yield t.tracker.getMe()).id;if(t.list.has(e)){var i=yield t.getMembers(e);return null==i?void 0:i.items.find((e=>{var t,i;return(null!==(t=null===(i=e.user)||void 0===i?void 0:i.id)&&void 0!==t?t:e.spaceMember.user.id)===r}))}}))()}get(){var e=this;return x((function*(){return yield e.deferredSession.promise,e.list}))()}getTopics(e,t){var r=this;return x((function*(){if(yield r.deferredSession.promise,null!=t&&t.length){var i=t.filter((t=>{var i;return!(null!==(i=r.topics.get(e))&&void 0!==i&&i.has(t)||r.topicsPromises.has(e+t))}));if(i.length){var o=r.tracker.client.send("GetTopics",{roomId:e,topicIds:i}).then((e=>{var t;return null===(t=r.topics.get(e.data.location.roomId))||void 0===t?void 0:t.set(...e.data.topics)}));i.forEach((t=>r.topicsPromises.register(o,e+t)))}for(var s of t)yield r.topicsPromises.get(e+s)}return r.topics.get(e)}))()}deleteRoom(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];for(var i of(this.list.delete(...t),this.members.delete(...t),this.membersPromises.forget(...t),t)){var o,s,n=null!==(o=null===(s=this.topics.get(i))||void 0===s?void 0:s.items.map((e=>e.id)))&&void 0!==o?o:[];this.messages._deleteByTopicIds(i,...n)}this.topics.delete(...t)}deleteRoomsBySpaceId(e){this.deleteRoom(...this.list.findBy("spaceId",e).items.map((e=>e.id)))}handleSpaceMemberUpdated(e){for(var t of this.list.findBy("spaceId",e.spaceId).items){var r=this.members.get(t.id);if(r&&r.has(e.userId)){var i=r.get(e.userId),o=i.spaceMember.user;i.spaceMember=D(D({},e.member),{},{user:o}),r.set(i)}}}handleSpaceMemberLeft(e){this.list.findBy("spaceId",e.spaceId).items.forEach((t=>{var r;return null===(r=this.members.get(t.id))||void 0===r?void 0:r.delete(e.userId)}))}handleRoomMemberUpdated(e){var t,r;if(this.members.has(e.roomId)){var i=this.members.get(e.roomId),o=i.get(e.userId),s=e.member,n=null!==(t=null===(r=o.spaceMember)||void 0===r?void 0:r.user)&&void 0!==t?t:o.user;s.spaceMember?s.spaceMember.user=n:s.user=n,i.set(s)}}handleSpaceDeleted(e){this.deleteRoomsBySpaceId(e.id)}handleTopicDeleted(e){var t;this.topics.get(e.location.roomId).delete(e.location.topicId);var r=this.list.get(e.location.roomId);(null===(t=r.defaultTopic)||void 0===t?void 0:t.id)===e.location.topicId&&this.list.set(D(D({},r),{},{defaultTopic:null}))}handleNewTopic(e){this.addJoinedRoomTopics(e.roomId,e.topic)}addJoinedRoomTopics(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];this.topics.has(e)?this.topics.get(e).set(...r):this.topics.set([e,new d("id",r)])}handleRoomJoined(e){this.addJoinedRooms(e.room)}handleRoomUpdated(e){this.list.has(e.room.id)&&this.list.set(e.room)}handleRoomDeleted(e){this.deleteRoom(e.id)}handleTopicUpdated(e){var t,r=this.list.get(e.location.roomId);null!==(t=this.topics.get(e.location.roomId))&&void 0!==t&&t.has(e.topic.id)&&this.topics.get(e.location.roomId).set(e.topic),r.defaultTopic.id===e.topic.id&&(r.defaultTopic=e.topic,this.list.set(r))}addJoinedRooms(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];for(var i of t)i.defaultTopic&&this.addJoinedRoomTopics(i.id,i.defaultTopic),"Pm"===i.type&&i.recipients&&(this.handleRoomMembers({id:i.id,members:i.recipients.map((e=>({user:e,spaceMember:null,roles:null})))}),this.membersPromises.register(Promise.resolve(),i.id));this.list.set(...t)}handleRoomLeft(e){this.deleteRoom(e.id)}handleRoomMemberJoined(e){this.members.has(e.roomId)&&this.members.get(e.roomId).set(e.member)}handleRoomMemberLeft(e){this.members.has(e.roomId)&&this.members.get(e.roomId).delete(e.userId)}handleRoomMembers(e){this.members.has(e.id)||this.members.set([e.id,new d((e=>{var t,r;return null!==(t=null===(r=e.user)||void 0===r?void 0:r.id)&&void 0!==t?t:e.spaceMember.user.id}),e.members)])}handleSession(e){this.list.deleteAll(),this.topics.deleteAll(),this.topicsPromises.forgetAll(),this.members.deleteAll(),this.membersPromises.forgetAll(),this.addJoinedRooms(...e.state.rooms),this.deferredSession.resolve()}handleUserUpdated(e){this.members.items.forEach((t=>{var r=t.get(e.user.id);if(r){var i=D({},r);r.user?i.user=e.user:i.spaceMember.user=e.user,t.set(i)}}));var t=[];this.list.items.forEach((r=>{var i;null!==(i=r.recipients)&&void 0!==i&&i.some((t=>t.id===e.user.id))&&(r.recipients=r.recipients.map((t=>t.id===e.user.id?e.user:t)),t.push(D({},r)))})),this.list.set(...t)}handleNewMessage(e){var t,r=this.topics.get(e.message.location.roomId),i=null==r?void 0:r.get(e.message.location.topicId);if(i){var o=D(D({},i),{},{messageCount:i.messageCount+1,lastMessage:e.message});r.set(o);var s=this.list.get(e.message.location.roomId);(null===(t=s.defaultTopic)||void 0===t?void 0:t.id)===e.message.location.topicId&&this.list.set(D(D({},s),{},{defaultTopic:o}))}}}function C(e){var t,r;return null!==(t=e.user)&&void 0!==t?t:null===(r=e.spaceMember)||void 0===r?void 0:r.user}function B(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,i)}return r}function _(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?B(Object(r),!0).forEach((function(t){W(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):B(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function J(e,t,r,i,o,s,n){try{var a=e[s](n),l=a.value}catch(e){return void r(e)}a.done?t(l):Promise.resolve(l).then(i,o)}function H(e){return function(){var t=this,r=arguments;return new Promise((function(i,o){var s=e.apply(t,r);function n(e){J(s,i,o,n,a,"next",e)}function a(e){J(s,i,o,n,a,"throw",e)}n(void 0)}))}}function W(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class G{constructor(e){this.tracker=e,W(this,"list",new d("id")),W(this,"roles",new a),W(this,"rooms",new a),W(this,"roomIdToSpaceId",new a),W(this,"members",new a),W(this,"deferredSession",new u),W(this,"roomsPromises",new m),W(this,"membersPromises",new m),this.tracker.client.on("NewRoom",(e=>this.handleNewRoom(e))),this.tracker.client.on("RoomDeleted",(e=>this.handleRoomDeleted(e))),this.tracker.client.on("RoomUpdated",(e=>this.handleRoomUpdated(e))),this.tracker.client.on("SpaceDeleted",(e=>this.handleSpaceDeleted(e))),this.tracker.client.on("SpaceUpdated",(e=>this.handleSpaceUpdated(e))),this.tracker.client.on("SpaceJoined",(e=>this.handleSpaceJoined(e))),this.tracker.client.on("SpaceLeft",(e=>this.handleSpaceDeleted(e))),this.tracker.client.on("SpaceMemberJoined",(e=>this.handleSpaceMemberJoined(e))),this.tracker.client.on("SpaceMemberLeft",(e=>this.handleSpaceMemberLeft(e))),this.tracker.client.on("SpaceMembers",(e=>this.handleSpaceMembers(e))),this.tracker.client.on("SpaceRooms",(e=>this.handleSpaceRooms(e))),this.tracker.client.on("RoomSummaryUpdated",(e=>this.handleRoomSummaryUpdated(e))),this.tracker.client.on("SpaceMemberUpdated",(e=>this.handleSpaceMemberUpdated(e))),this.tracker.client.on("UserUpdated",(e=>this.handleUserUpdated(e))),this.tracker.client.on("NewRole",(e=>this.handleNewRole(e))),this.tracker.client.on("RoleDeleted",(e=>this.handleRoleDeleted(e))),this.tracker.client.on("RoleUpdated",(e=>this.handleRoleUpdated(e))),this.tracker.client.on("Session",(e=>this.handleSession(e)))}get(){var e=this;return H((function*(){return yield e.deferredSession.promise,e.list}))()}getRoles(e){var t=this;return H((function*(){return yield t.deferredSession.promise,t.roles.get(e)}))()}getRooms(e){var t=this;return H((function*(){return t.roomsPromises.notExist(e)&&t.roomsPromises.registerByFunction(H((function*(){var r=yield t.tracker.client.send("GetSpaceRooms",{id:e});if(r.error)throw r.error;t.handleSpaceRooms(r.data)})),e),yield t.roomsPromises.get(e),t.rooms.get(e)}))()}getMembers(e){var t=this;return H((function*(){return t.membersPromises.notExist(e)&&t.membersPromises.registerByFunction(H((function*(){var r=yield t.tracker.client.send("GetSpaceMembers",{id:e});if(r.error)throw r.error;t.handleSpaceMembers(r.data)})),e),yield t.membersPromises.get(e),t.members.get(e)}))()}getMe(e){var t=this;return H((function*(){var r=(yield t.tracker.getMe()).id;if(t.list.has(e)){var i=yield t.getMembers(e);return null==i?void 0:i.items.find((e=>e.user.id===r))}}))()}handleNewRole(e){var t=this.roles.get(e.spaceId);t.set(e.role),this.list.get(e.spaceId).roles=t.items}handleNewRoom(e){var t;null===(t=this.rooms.get(e.spaceId))||void 0===t||t.set(e.summary),this.roomIdToSpaceId.set([e.summary.id,e.spaceId])}handleRoomUpdated(e){if(e.room.spaceId&&this.rooms.has(e.room.spaceId)){var t=this.rooms.get(e.room.spaceId);t.set(_(_({},t.get(e.room.id)),{},{name:e.room.name,description:e.room.description}))}}handleRoomDeleted(e){var t=this;return H((function*(){var r,i=t.roomIdToSpaceId.get(e.id);if(t.roomIdToSpaceId.delete(e.id),i){var o=t.list.get(i),s=!1;null===(r=t.rooms.get(i))||void 0===r||r.delete(e.id),o.systemRoom===e.id&&(o.systemRoom=null,s=!0),o.defaultRooms.includes(e.id)&&(o.defaultRooms=o.defaultRooms.filter((t=>t!==e.id)),s=!0),s&&t.list.set(o)}}))()}handleRoleDeleted(e){var t=this.roles.get(e.spaceId);t.delete(e.id),this.list.get(e.spaceId).roles=t.items}handleSpaceUpdated(e){this.list.set(e.space)}handleSpaceDeleted(e){var t,r,i=null!==(t=null===(r=this.rooms.get(e.id))||void 0===r?void 0:r.items.map((e=>e.id)))&&void 0!==t?t:[];this.roomIdToSpaceId.delete(...i),this.roles.delete(e.id),this.members.delete(e.id),this.membersPromises.forget(e.id),this.rooms.delete(e.id),this.roomsPromises.forget(e.id),this.list.delete(e.id)}handleSpaceJoined(e){this.addJoinedSpaces(e.space)}addJoinedSpaces(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.roles.set(...t.map((e=>[e.id,new d("id",e.roles)]))),this.list.set(...t)}handleSpaceMemberJoined(e){this.members.has(e.spaceId)&&this.members.get(e.spaceId).set(e.member)}handleSpaceMemberLeft(e){this.members.has(e.spaceId)&&this.members.get(e.spaceId).delete(e.userId)}handleSpaceMembers(e){this.members.has(e.id)||this.members.set([e.id,new d((e=>null==e?void 0:e.user.id),e.members)])}handleSpaceRooms(e){this.rooms.has(e.id)||(this.rooms.set([e.id,new d("id",e.summaries)]),e.summaries.forEach((t=>this.roomIdToSpaceId.set([t.id,e.id]))))}handleRoomSummaryUpdated(e){var t=this;return H((function*(){var r=t.roomIdToSpaceId.get(e.summary.id),i=t.roomsPromises.get(r);if(r&&i){yield i;var o,s=t.rooms.get(r),n=s.get(e.summary.id);o=n?_(_({},n),e.summary):e.summary,s.set(o)}}))()}handleSpaceMemberUpdated(e){if(this.members.has(e.spaceId)){var t=this.members.get(e.spaceId),r=t.get(e.userId);t.set(_(_({},e.member),{},{user:r.user}))}}handleRoleUpdated(e){var t=this.roles.get(e.spaceId),r=t.get(e.role.id),i=e.role,o=[i];r.priority!==i.priority&&o.push(...function(e,t,r){var i=r.priority-t.priority>0,o=!i,s=[];return e.forEach((e=>{e.id!==r.id&&(i&&t.priority<=e.priority&&(e.priority--,s.push(e)),o&&r.priority<=e.priority&&(e.priority++,s.push(e)))})),s}(t.items,r,i)),this.roles.get(e.spaceId).set(...o)}handleSession(e){this.list.deleteAll(),this.roles.deleteAll(),this.rooms.deleteAll(),this.roomsPromises.forgetAll(),this.members.deleteAll(),this.membersPromises.forgetAll(),this.roomIdToSpaceId.deleteAll(),this.addJoinedSpaces(...e.state.spaces),this.deferredSession.resolve()}handleUserUpdated(e){this.members.items.forEach((t=>{var r=t.get(e.user.id);r&&t.set(_(_({},r),{},{user:e.user}))}))}}function Q(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var V=function(e){return e[e.Global=0]="Global",e[e.Space=1]="Space",e[e.Room=2]="Room",e[e.Topic=3]="Topic",e}({});class z{constructor(){Q(this,"value",void 0),Q(this,"maxLayer",void 0)}}class q{static getNames(){return Object.keys(this.list)}static getByName(e){return this.list[e]}static canBeDefinedOnLayer(e,t){if(!this.getByName(e))throw new Error("Invalid permission name: ".concat(e));return t<=this.getByName(e).maxLayer}}function K(e,t,r,i,o,s,n){try{var a=e[s](n),l=a.value}catch(e){return void r(e)}a.done?t(l):Promise.resolve(l).then(i,o)}function Y(e){return function(){var t=this,r=arguments;return new Promise((function(i,o){var s=e.apply(t,r);function n(e){K(s,i,o,n,a,"next",e)}function a(e){K(s,i,o,n,a,"throw",e)}n(void 0)}))}}function $(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}Q(q,"list",{Root:{value:1,maxLayer:V.Room},CreateSpaces:{value:2,maxLayer:V.Global},ManageSpace:{value:4,maxLayer:V.Space},ManageSpaceRoles:{value:8,maxLayer:V.Space},ManageRoom:{value:16,maxLayer:V.Room},CreateTopics:{value:32,maxLayer:V.Room},ManageTopic:{value:64,maxLayer:V.Topic},ManageSpaceMembers:{value:128,maxLayer:V.Space},ManageRoomMembers:{value:256,maxLayer:V.Room},CreateMessages:{value:512,maxLayer:V.Topic},ManagePermissions:{value:1024,maxLayer:V.Topic},CreateSpaceRooms:{value:2048,maxLayer:V.Space},ManageSpaceRooms:{value:4096,maxLayer:V.Space},CreateEmoticons:{value:8192,maxLayer:V.Space},ManageEmoticon:{value:16384,maxLayer:V.Space},ManageBan:{value:32768,maxLayer:V.Room},Kick:{value:65536,maxLayer:V.Room},ChangeOwnNick:{value:1<<17,maxLayer:V.Space}});var X=(e,t)=>[e.spaceId,e.roomId,e.topicId,null==t?void 0:t.type,null==t?void 0:t.userId,null==t?void 0:t.roleId].filter(Boolean).join("/"),Z=e=>X(e.location,e.target);class ee extends i{constructor(e){super(),this.tracker=e,$(this,"overwrites",new a),$(this,"overwritesPromises",new m),this.tracker.client.on("PermissionOverwrites",(e=>this.handlePermissionOverwrites(e))),this.tracker.client.on("PermissionOverwritesUpdated",(e=>this.handlePermissionOverwrites(e))),this.tracker.client.on("SpaceDeleted",(e=>this.handleSpaceDeleted(e))),this.tracker.client.on("SpaceLeft",(e=>this.handleSpaceDeleted(e))),this.tracker.client.on("RoomDeleted",(e=>this.handleRoomDeleted(e))),this.tracker.client.on("RoomLeft",(e=>this.handleRoomDeleted(e))),this.tracker.client.on("TopicDeleted",(e=>this.handleTopicDeleted(e))),this.tracker.client.on("RoleDeleted",(e=>this.handleRoleDeleted(e))),this.tracker.client.on("SpaceMemberUpdated",(e=>this.handleSpaceMemberUpdated(e))),this.tracker.client.on("RoomMemberUpdated",(e=>this.handleRoomMemberUpdated(e))),this.tracker.client.on("Session",(e=>this.handleSession(e)))}getOverwrites(e,t){var r=this;return Y((function*(){r.validateLocation(e);var i=X(e,t);return r.overwritesPromises.notExist(i)&&r.overwritesPromises.registerByFunction(Y((function*(){var i=yield r.tracker.client.send("GetPermissionOverwrites",{location:e,target:t});if(i.error)throw i.error;r.handlePermissionOverwrites(i.data)})),i),yield r.overwritesPromises.get(i),r.overwrites.get(i)}))()}on(e,t){return super.on(e,t)}check(e,t){var r=this;return Y((function*(){if(!e.length)throw new Error("Permission names array cannot be empty");var i=yield r.calculatePermissions(t),o=[];return e.forEach((e=>{~i&q.getByName(e).value&&o.push(e)})),{ok:0===o.length,hasAll:0===o.length,hasAny:o.length<e.length,missing:o}}))()}calculatePermissions(e){var t=this;return Y((function*(){var r,i,o,s,n;t.validateLocation(e);var a=(yield t.tracker.getMe()).id,[l,c]=yield t.fetchMembersOrFail(e),d=[...null!==(r=null==l?void 0:l.roles)&&void 0!==r?r:[],...null!==(i=null==c?void 0:c.roles)&&void 0!==i?i:[]],h=[t.getOverwrites({},{type:"User",userId:a}).then((e=>e.overwrites))];if(e.spaceId&&null!==(o=yield t.tracker.spaces.get())&&void 0!==o&&o.has(e.spaceId)){var u={spaceId:e.spaceId};h.push(t.collectRoleOverwrites(u,d)),h.push(t.getOverwrites(u,{type:"User",userId:a}).then((e=>e.overwrites)))}if(e.roomId&&null!==(s=yield t.tracker.rooms.get())&&void 0!==s&&s.has(e.roomId)){var m={spaceId:e.spaceId,roomId:e.roomId};d.length&&h.push(t.collectRoleOverwrites(m,d)),h.push(t.getOverwrites(m,{type:"User",userId:a}).then((e=>e.overwrites)))}return e.topicId&&null!==(n=yield t.tracker.rooms.getTopics(e.roomId))&&void 0!==n&&n.has(e.topicId)&&(d.length&&h.push(t.collectRoleOverwrites(e,d)),h.push(t.getOverwrites(e,{type:"User",userId:a}).then((e=>e.overwrites)))),t.resolveOverwritesHierarchy(yield Promise.all(h))}))()}handlePermissionOverwrites(e){this.overwrites.set([Z(e),e]),this.emit("change")}handleSpaceDeleted(e){var t=this.deleteOverwritesByIdPrefix(X({spaceId:e.id}));this.overwritesPromises.forget(...t)}handleRoomDeleted(e){var t=this;return Y((function*(){var r=(yield t.tracker.rooms.get()).get(e.id);if(r){var i=t.deleteOverwritesByIdPrefix(X({spaceId:r.spaceId,roomId:r.id}));t.overwritesPromises.forget(...i)}}))()}handleTopicDeleted(e){var t=this.deleteOverwritesByIdPrefix(X(e.location));this.overwritesPromises.forget(...t)}handleRoleDeleted(e){var t=this.deleteOverwritesByIdPrefix(X({spaceId:e.spaceId},{type:"Role",roleId:e.id}));this.overwritesPromises.forget(...t)}handleSpaceMemberUpdated(e){var t;e.userId===(null===(t=this.tracker.me)||void 0===t?void 0:t.id)&&this.emit("change")}handleRoomMemberUpdated(e){var t;e.userId===(null===(t=this.tracker.me)||void 0===t?void 0:t.id)&&this.emit("change")}deleteOverwritesByIdPrefix(e){var t=[];return this.overwrites.items.forEach((r=>{var i=Z(r);i.startsWith(e)&&(t.push(i),this.overwrites.delete(i))})),t}collectRoleOverwrites(e,t){var r=this;return Y((function*(){var i=yield Promise.all(t.map((t=>r.getOverwrites(e,{type:"Role",roleId:t}))));return r.resolveOverwritesFromRolesByOrder(e.spaceId,i)}))()}resolveOverwritesFromRolesByOrder(e,t){var r=this;return Y((function*(){var i=0,o=0,s=yield r.tracker.spaces.getRoles(e),n=t.sort(((e,t)=>s.get(e.target.roleId).priority-s.get(t.target.roleId).priority)),a=t.reduce(((e,t)=>{var r,i,o,s;return Math.max(e,null!==(r=null===(i=t.overwrites.allow)||void 0===i?void 0:i.toString(2).length)&&void 0!==r?r:0,null!==(o=null===(s=t.overwrites.deny)||void 0===s?void 0:s.toString(2).length)&&void 0!==o?o:0)}),0);return n.forEach((e=>{for(var t,r,s,n,l=e.overwrites,c=null!==(t=null===(r=l.deny)||void 0===r?void 0:r.toString(2).split("").reverse().join(""))&&void 0!==t?t:"",d=null!==(s=null===(n=l.allow)||void 0===n?void 0:n.toString(2).split("").reverse().join(""))&&void 0!==s?s:"",h=0;h<a;h++){var u,m,v=parseInt(null!==(u=c[h])&&void 0!==u?u:"0"),p=parseInt(null!==(m=d[h])&&void 0!==m?m:"0");v&&(o|=1<<h),p&&(i|=1<<h)}})),{allow:i,deny:o}}))()}resolveOverwritesHierarchy(e){var t=0;for(var r of e){if(r.allow&q.getByName("Root").value)return this.getRootAccessValue();t=t&~r.deny|r.allow}return t}getRootAccessValue(){var e=0;for(var t of q.getNames())e|=q.getByName(t).value;return e}fetchMembersOrFail(e){var t=this;return Y((function*(){var r=yield Promise.all([e.spaceId?t.tracker.spaces.getMe(e.spaceId):null,e.roomId?t.tracker.rooms.getMe(e.roomId):null]),i=e.spaceId&&!r[0],o=e.roomId&&!r[1];if(i||o){var s=i?"space (".concat(e.spaceId,")"):"room (".concat(e.roomId,")");throw new Error("Attempting to calculate permissions for a ".concat(s," that the user does not belong to"))}return r}))()}validateLocation(e){if(e.topicId&&!e.roomId)throw new Error("Corrupted arguments hierarchy")}handleSession(e){this.overwrites.deleteAll(),this.overwritesPromises.forgetAll()}}function te(e,t,r,i,o,s,n){try{var a=e[s](n),l=a.value}catch(e){return void r(e)}a.done?t(l):Promise.resolve(l).then(i,o)}function re(e){return function(){var t=this,r=arguments;return new Promise((function(i,o){var s=e.apply(t,r);function n(e){te(s,i,o,n,a,"next",e)}function a(e){te(s,i,o,n,a,"throw",e)}n(void 0)}))}}function ie(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var oe="global";class se{constructor(e){this.tracker=e,ie(this,"list",new a),ie(this,"emoticonsPromises",new m),this.tracker.client.on("Emoticons",(e=>this.handleEmoticons(e))),this.tracker.client.on("NewEmoticon",(e=>this.handleNewEmoticon(e))),this.tracker.client.on("EmoticonDeleted",(e=>this.handleEmoticonDeleted(e))),this.tracker.client.on("SpaceDeleted",(e=>this.handleSpaceDeleted(e))),this.tracker.client.on("Session",(()=>this.handleSession()))}get(e){var t=this;return re((function*(){var r=null!=e?e:oe;return t.emoticonsPromises.notExist(r)&&t.emoticonsPromises.registerByFunction(re((function*(){var r=yield t.tracker.client.send("GetEmoticons",{spaceId:e});if(r.error)throw r.error;t.handleEmoticons(r.data)})),r),yield t.emoticonsPromises.get(r),t.list.get(r)}))()}handleEmoticons(e){var t,r=null!==(t=e.location.spaceId)&&void 0!==t?t:oe;this.list.has(r)||this.list.set([r,new d("id")]),this.list.get(r).set(...e.emoticons)}handleNewEmoticon(e){var t,r=this.list.get(null!==(t=e.emoticon.spaceId)&&void 0!==t?t:oe);null==r||r.set(e.emoticon)}handleEmoticonDeleted(e){var t,r=this.list.get(null!==(t=e.spaceId)&&void 0!==t?t:oe);null==r||r.delete(e.emoticonId)}handleSpaceDeleted(e){this.list.delete(e.id)}handleSession(){this.list.deleteAll(),this.emoticonsPromises.forgetAll()}}function ne(e,t,r,i,o,s,n){try{var a=e[s](n),l=a.value}catch(e){return void r(e)}a.done?t(l):Promise.resolve(l).then(i,o)}function ae(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class le{constructor(e){this.tracker=e,ae(this,"onlineStatus",new i),ae(this,"users",new d("id")),e.client.on("UserUpdated",(e=>this.handleUsers([e.user]))),e.client.on("RoomMemberJoined",(e=>this.handleMembers([e.member]))),e.client.on("SpaceMemberJoined",(e=>this.handleMembers([e.member]))),e.client.on("SpaceMembers",(e=>this.handleMembers(e.members))),e.client.on("RoomMembers",(e=>this.handleMembers(e.members))),e.client.on("Messages",(e=>this.handleUsers(e.messages.map((e=>e.author.user))))),e.client.on("NewMessage",(e=>this.handleUsers([e.message.author.user]))),e.client.on("Session",(e=>this.handleSession(e)))}getAvailable(){var e,t=this;return(e=function*(){return t.users},function(){var t=this,r=arguments;return new Promise((function(i,o){var s=e.apply(t,r);function n(e){ne(s,i,o,n,a,"next",e)}function a(e){ne(s,i,o,n,a,"throw",e)}n(void 0)}))})()}handleMembers(e){this.handleUsers(e.map(C))}handleSession(e){this.users.deleteAll(),this.handleUsers([e.user])}handleUsers(e){e.forEach((e=>{var t=this.users.get(e.id);t&&t.online!==e.online&&this.onlineStatus.emit("change",e)})),this.users.set(...e)}}function ce(e,t,r,i,o,s,n){try{var a=e[s](n),l=a.value}catch(e){return void r(e)}a.done?t(l):Promise.resolve(l).then(i,o)}function de(e){return function(){var t=this,r=arguments;return new Promise((function(i,o){var s=e.apply(t,r);function n(e){ce(s,i,o,n,a,"next",e)}function a(e){ce(s,i,o,n,a,"throw",e)}n(void 0)}))}}function he(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var ue=(e,t)=>"".concat(e,"-").concat(t),me=e=>ue(e.refUser.id,e.type);class ve{constructor(e){this.tracker=e,he(this,"relationships",new d(me)),he(this,"promises",new m),this.tracker.client.on("Relationships",(e=>this.handleRelationships(e))),this.tracker.client.on("NewRelationship",(e=>this.handleNewRelationship(e))),this.tracker.client.on("RelationshipDeleted",(e=>this.handleRelationshipDeleted(e))),this.tracker.client.on("Session",(()=>this.handleSession()))}get(){var e=this;return de((function*(){return e.promises.notExist("all")&&e.promises.registerByFunction(de((function*(){var t=yield e.tracker.client.send("GetRelationships",{});if(t.error)throw t.error})),"all"),yield e.promises.get("all"),e.relationships}))()}exists(e,t){var r=this;return de((function*(){return yield r.get(),r.relationships.has(ue(e,t))}))()}handleRelationships(e){this.relationships.deleteAll(),e.relationships.forEach((e=>{this.relationships.set(e)}))}handleNewRelationship(e){this.promises.has("all")&&this.relationships.set(e.relationship)}handleRelationshipDeleted(e){this.promises.has("all")&&this.relationships.delete(me(e.relationship))}handleSession(){this.promises.forgetAll(),this.relationships.deleteAll()}}function pe(e,t,r,i,o,s,n){try{var a=e[s](n),l=a.value}catch(e){return void r(e)}a.done?t(l):Promise.resolve(l).then(i,o)}function fe(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class ge{constructor(e){this.client=e,fe(this,"permissions",new ee(this)),fe(this,"rooms",new F(this)),fe(this,"spaces",new G(this)),fe(this,"emoticons",new se(this)),fe(this,"users",new le(this)),fe(this,"relationships",new ve(this)),fe(this,"_me",null),fe(this,"deferredSession",new u),this.client.on("Session",(e=>this.handleSession(e)))}get me(){return this._me}getMe(){var e,t=this;return(e=function*(){return yield t.deferredSession.promise,t._me},function(){var t=this,r=arguments;return new Promise((function(i,o){var s=e.apply(t,r);function n(e){pe(s,i,o,n,a,"next",e)}function a(e){pe(s,i,o,n,a,"throw",e)}n(void 0)}))})()}handleSession(e){this._me=e.user,this.deferredSession.resolve()}}function ye(e,t,r,i,o,s,n){try{var a=e[s](n),l=a.value}catch(e){return void r(e)}a.done?t(l):Promise.resolve(l).then(i,o)}function we(e){return function(){var t=this,r=arguments;return new Promise((function(i,o){var s=e.apply(t,r);function n(e){ye(s,i,o,n,a,"next",e)}function a(e){ye(s,i,o,n,a,"throw",e)}n(void 0)}))}}function be(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var Se=function(e){return e.connect="connect",e.disconnect="disconnect",e.message="message",e.error="error",e}(Se||{});class Te extends s{constructor(e){var t;super(),this.options=e,be(this,"Event",Se),be(this,"state",void 0),be(this,"ws",null),be(this,"sendQueue",[]),be(this,"connectingTimeoutId",void 0),be(this,"authenticated",void 0),be(this,"authenticatedResolvers",void 0),(null===(t=this.options.stateTracking)||void 0===t||t)&&(this.state=new ge(this))}connect(){var e=this;return we((function*(){var t,r,i=new URLSearchParams(null!==(t=e.options.queryParams)&&void 0!==t?t:{});return i.set("token",e.options.token),e.ws=new WebSocket("".concat(e.options.url,"?").concat(i)),e.ws.onclose=t=>e.onClose(t),e.ws.onmessage=t=>e.onMessage(t),e.connectingTimeoutId=setTimeout((()=>e.triggerConnectionTimeout()),null!==(r=e.options.connectingTimeoutMs)&&void 0!==r?r:1e4),e.authenticated=!1,new Promise((function(){for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];return e.authenticatedResolvers=r}))}))()}disconnect(){var e;this.sendQueue=[],null===(e=this.ws)||void 0===e||e.close(),this.ws=null}send(e,t){var r=this;return we((function*(){var i=r.createEnvelope(e,t),o=r.createPromiseFromCommandEnvelope(i);return r.isPendingReadyWsState()?(r.sendQueue.push(i),o):(r.sendEnvelope(i),o)}))()}sendEnvelope(e){var t,r;this.isReadyToSendWsState()?this.ws.send(JSON.stringify(e)):this.handleEnvelopeSendError(e,new Error("Cannot send; invalid websocket state=".concat(null!==(t=null===(r=this.ws)||void 0===r?void 0:r.readyState)&&void 0!==t?t:"[no connection]")))}onMessage(e){var t=JSON.parse(e.data);if(this.handleIncomingEnvelope(t),this.emit(t.type,t.data),this.emit(this.Event.message,t),!this.authenticated){var r="Bye"!==t.type;this.authenticated=r,r?(this.authenticatedResolvers[0](),this.emit(this.Event.connect),this.sendFromQueue()):this.authenticatedResolvers[1](t.data)}}onClose(e){clearTimeout(this.connectingTimeoutId);var t=1e3!==e.code;t&&this.connect(),this.emit(this.Event.disconnect,t)}sendFromQueue(){var e=this,t=0,r=function(r){var i,o=e.sendQueue[r];setTimeout((()=>e.sendEnvelope(o)),t),t+=null!==(i=e.options.awaitQueueSendDelayMs)&&void 0!==i?i:500};for(var i in this.sendQueue)r(i);this.sendQueue=[],clearTimeout(this.connectingTimeoutId)}triggerConnectionTimeout(){this.disconnect(),this.emit(this.Event.error,new Error("Connection timeout"))}isPendingReadyWsState(){return this.ws&&this.ws.readyState===this.ws.CONNECTING||!this.authenticated}isReadyToSendWsState(){return this.ws&&this.ws.readyState===this.ws.OPEN&&this.authenticated}}function Pe(e,t,r,i,o,s,n){try{var a=e[s](n),l=a.value}catch(e){return void r(e)}a.done?t(l):Promise.resolve(l).then(i,o)}function Ie(e){return function(){var t=this,r=arguments;return new Promise((function(i,o){var s=e.apply(t,r);function n(e){Pe(s,i,o,n,a,"next",e)}function a(e){Pe(s,i,o,n,a,"throw",e)}n(void 0)}))}}function ke(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var Oe=function(e){return e.message="message",e.error="error",e.destroy="destroy",e}(Oe||{});class Re extends s{constructor(e){super(),this.options=e,ke(this,"Event",Oe),ke(this,"sendStack",void 0)}send(e,t){var r=this;return Ie((function*(){var i=r.createEnvelope(e,t);return r.sendStack.push({data:i,attempts:0,lastTimeoutId:null}),r.makeApiCall(r.sendStack.length-1),r.createPromiseFromCommandEnvelope(i)}))()}destroy(){this.sendStack.forEach((e=>{e.lastTimeoutId&&clearTimeout(e.lastTimeoutId),this.awaitingResponse.delete(e.data.ref)})),this.sendStack=[],this.emit(this.Event.destroy,!1)}onMessage(e,t){var r=this;return Ie((function*(){r.sendStack.splice(e,1);var i=yield t.json();r.handleIncomingEnvelope(i),r.emit(i.type,i.data),r.emit(r.Event.message,i)}))()}onError(e,t){var r,i;if(this.sendStack[e].attempts>=(null!==(r=this.options.attemptsToSend)&&void 0!==r?r:10))return this.sendStack.splice(e,1),void this.handleEnvelopeSendError(this.sendStack[e].data,new Error("Cannot send ".concat(t,"; aborting after reaching the maximum connection errors")));this.sendStack[e].lastTimeoutId=setTimeout((()=>this.makeApiCall(e)),null!==(i=this.options.attemptDelayMs)&&void 0!==i?i:3e3)}makeApiCall(e){var t;this.sendStack[e].attempts++;var r=JSON.stringify(this.sendStack[e].data),i={"Content-Type":"application/json",Accept:"application/json"};i.Authorization="Bearer ".concat(this.options.token);var o=new URLSearchParams(null!==(t=this.options.queryParams)&&void 0!==t?t:{}),s="".concat(this.options.url).concat(o?"?"+o:"");fetch(s,{headers:i,body:r,method:"POST"}).then((t=>this.onMessage(e,t))).catch((()=>this.onError(e,r)))}}function Ee(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,i)}return r}function je(e,t,r,i,o,s,n){try{var a=e[s](n),l=a.value}catch(e){return void r(e)}a.done?t(l):Promise.resolve(l).then(i,o)}function Me(e){return function(){var t=this,r=arguments;return new Promise((function(i,o){var s=e.apply(t,r);function n(e){je(s,i,o,n,a,"next",e)}function a(e){je(s,i,o,n,a,"throw",e)}n(void 0)}))}}function Le(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class Ae{constructor(e){this.options=e,Le(this,"defaultUrl",void 0)}send(e,t){var r=arguments,i=this;return Me((function*(){var o=r.length>2&&void 0!==r[2]?r[2]:void 0,s=i.getUrl(t),n=void 0;o&&(["GET","DELETE"].includes(e)?s+=new URLSearchParams(o).toString():n=JSON.stringify(o));var a=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Ee(Object(r),!0).forEach((function(t){Le(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ee(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({"Content-Type":"application/json",Accept:"application/json"},i.getAuthHeaders()),l=yield fetch(s,{method:e,body:n,headers:a});return i.convertFetchResponse(l)}))()}getAuthHeaders(){var e={};return this.options.token&&(e.Authorization="Bearer ".concat(this.options.token)),e}getUrl(e){var t;return this.removeEndingSlash(null!==(t=this.options.url)&&void 0!==t?t:this.defaultUrl)+"/"+this.removeStartingSlash(e)}convertFetchResponse(e){return Me((function*(){var t;return{ok:e.ok,status:e.status,data:null!==(t=e.headers.get("content-type"))&&void 0!==t&&t.includes("json")?yield e.json():yield e.text()}}))()}removeStartingSlash(e){return e.replace(/^\/+/,"")}removeEndingSlash(e){return e.replace(/\/+$/,"")}}function De(e,t,r,i,o,s,n){try{var a=e[s](n),l=a.value}catch(e){return void r(e)}a.done?t(l):Promise.resolve(l).then(i,o)}function Ue(e){return function(){var t=this,r=arguments;return new Promise((function(i,o){var s=e.apply(t,r);function n(e){De(s,i,o,n,a,"next",e)}function a(e){De(s,i,o,n,a,"throw",e)}n(void 0)}))}}function xe(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class Ne extends Ae{constructor(){super(...arguments),xe(this,"defaultUrl","https://polfan.pl/webservice/api")}static createToken(e,t){var r=arguments;return Ue((function*(){var i=r.length>2&&void 0!==r[2]?r[2]:"pserv-js-client",o=yield new Ne({token:null}).send("POST","auth/tokens",{login:e,password:t,client_name:i});if(o.ok)return o.data;throw new Error("Cannot create user token: ".concat(o.data.errors[0]))}))()}deleteToken(e){var t=this;return Ue((function*(){var r=yield t.send("DELETE","auth/tokens/".concat(e));if(!r.ok)throw new Error("Cannot delete access token: ".concat(r.data.errors[0]))}))()}getMe(){var e=this;return Ue((function*(){var t=yield e.send("GET","auth/me");if(t.ok)return t.data.id=t.data.id.toString(),t.data;throw new Error("Cannot get current user account: ".concat(t.data.errors[0]))}))()}}function Fe(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,i)}return r}function Ce(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Fe(Object(r),!0).forEach((function(t){Je(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Fe(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Be(e,t,r,i,o,s,n){try{var a=e[s](n),l=a.value}catch(e){return void r(e)}a.done?t(l):Promise.resolve(l).then(i,o)}function _e(e){return function(){var t=this,r=arguments;return new Promise((function(i,o){var s=e.apply(t,r);function n(e){Be(s,i,o,n,a,"next",e)}function a(e){Be(s,i,o,n,a,"throw",e)}n(void 0)}))}}function Je(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class He extends Ae{constructor(){super(...arguments),Je(this,"defaultUrl","https://files.devana.pl")}uploadFile(e){var t=this;return _e((function*(){var r,i=encodeURIComponent(null!==(r=e.name)&&void 0!==r?r:""),o=Ce(Ce({},t.getAuthHeaders()),{},{Accept:"application/json","Content-Disposition":'attachment; filename="'.concat(i,'"'),"Content-Length":e.size}),s=yield fetch(t.getUrl("files"),{method:"POST",body:e,headers:o});return t.convertFetchResponse(s)}))()}getFileMeta(e){var t=this;return _e((function*(){return t.send("GET","files/"+e)}))()}getFileMetaBulk(e){var t=this;return _e((function*(){var r=new URLSearchParams;return e.forEach((e=>r.append("id[]",e))),t.send("GET","files?"+r)}))()}}return t})()));
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.PservClient=t():e.PservClient=t()}(this,()=>(()=>{"use strict";var e={d:(t,r)=>{for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function n(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,i(n.key),n)}}function o(e,t,r){return(t=i(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e){var t=function(e,t){if("object"!=r(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||"default");if("object"!=r(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==r(t)?t:t+""}e.r(t),e.d(t,{AuthClient:()=>_n,FilesClient:()=>$n,IndexedCollection:()=>x,IndexedObjectCollection:()=>L,Layer:()=>St,ObservableIndexedCollection:()=>F,ObservableIndexedObjectCollection:()=>D,PermissionDefinition:()=>Ot,Permissions:()=>jt,WebApiChatClient:()=>un,WebSocketChatClient:()=>Qr,extractUserFromMember:()=>rt});var a=function(){return e=function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),o(this,"events",new Map),o(this,"onceEvents",new Map)},(t=[{key:"on",value:function(e,t){return this.addHandler(this.events,e,t),this}},{key:"once",value:function(e,t){return this.addHandler(this.onceEvents,e,t),this}},{key:"off",value:function(e,t){var r,n=null===(r=this.events.get(e))||void 0===r?void 0:r.indexOf(t);return!n||n<0||this.events.get(e).splice(n,1),this}},{key:"emit",value:function(e,t){return this.callHandlers(this.events,e,t),this.callHandlers(this.onceEvents,e,t),this.onceEvents.delete(e),this}},{key:"addHandler",value:function(e,t,r){var n,o=null!==(n=e.get(t))&&void 0!==n?n:[];o.push(r),e.set(t,o)}},{key:"callHandlers",value:function(e,t,r){var n;null===(n=e.get(t))||void 0===n||n.forEach(function(e){return e(r)})}}])&&n(e.prototype,t),r&&n(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,r}();function u(e){return u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},u(e)}function c(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,v(n.key),n)}}function s(e,t,r){return t=h(t),function(e,t){if(t&&("object"==u(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,l()?Reflect.construct(t,r||[],h(e).constructor):t.apply(e,r))}function l(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(l=function(){return!!e})()}function f(e,t,r,n){var o=p(h(1&n?e.prototype:e),t,r);return 2&n&&"function"==typeof o?function(e){return o.apply(r,e)}:o}function p(){return p="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var n=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=h(e)););return e}(e,t);if(n){var o=Object.getOwnPropertyDescriptor(n,t);return o.get?o.get.call(arguments.length<3?e:r):o.value}},p.apply(null,arguments)}function h(e){return h=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},h(e)}function d(e,t){return d=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},d(e,t)}function y(e,t,r){return(t=v(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function v(e){var t=function(e,t){if("object"!=u(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=u(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==u(t)?t:t+""}var m=function(e){function t(){var e;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var r=arguments.length,n=new Array(r),o=0;o<r;o++)n[o]=arguments[o];return y(e=s(this,t,[].concat(n)),"awaitingResponse",new Map),y(e,"sentCounter",0),e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&d(e,t)}(t,e),r=t,n=[{key:"on",value:function(e,r){return f(t,"on",this,3)([e,r])}},{key:"once",value:function(e,r){return f(t,"once",this,3)([e,r])}},{key:"createEnvelope",value:function(e,t){return{type:e,data:t,ref:(++this.sentCounter).toString()}}},{key:"createPromiseFromCommandEnvelope",value:function(e){var t=this;return new Promise(function(){for(var r=arguments.length,n=new Array(r),o=0;o<r;o++)n[o]=arguments[o];return t.awaitingResponse.set(e.ref,n)})}},{key:"handleIncomingEnvelope",value:function(e){if(this.awaitingResponse.has(e.ref)){var t="Error"===e.type;this.awaitingResponse.get(e.ref)[0]({data:t?null:e.data,error:t?e.data:null}),this.awaitingResponse.delete(e.ref)}}},{key:"handleEnvelopeSendError",value:function(e,t){this.awaitingResponse.has(e.ref)&&(this.awaitingResponse.get(e.ref)[1](t),this.awaitingResponse.delete(e.ref))}}],n&&c(r.prototype,n),o&&c(r,o),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,n,o}(a);function b(e){return b="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},b(e)}function g(e,t,r){return t=O(t),function(e,t){if(t&&("object"==b(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,w()?Reflect.construct(t,r||[],O(e).constructor):t.apply(e,r))}function w(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(w=function(){return!!e})()}function k(e,t,r,n){var o=S(O(1&n?e.prototype:e),t,r);return 2&n&&"function"==typeof o?function(e){return o.apply(r,e)}:o}function S(){return S="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var n=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=O(e)););return e}(e,t);if(n){var o=Object.getOwnPropertyDescriptor(n,t);return o.get?o.get.call(arguments.length<3?e:r):o.value}},S.apply(null,arguments)}function O(e){return O=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},O(e)}function j(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&P(e,t)}function P(e,t){return P=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},P(e,t)}function T(e){return function(e){if(Array.isArray(e))return E(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||I(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function I(e,t){if(e){if("string"==typeof e)return E(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?E(e,t):void 0}}function E(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function R(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,G(n.key),n)}}function A(e,t,r){return t&&_(e.prototype,t),r&&_(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function M(e,t,r){return(t=G(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function G(e){var t=function(e,t){if("object"!=b(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=b(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==b(t)?t:t+""}var x=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];R(this,e),M(this,"_items",new Map),this.set.apply(this,T(t))}return A(e,[{key:"items",get:function(){return this._items}},{key:"length",get:function(){return this._items.size}},{key:"set",value:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];for(var n=0,o=t;n<o.length;n++){var i=o[n];this._items.set(i[0],i[1])}}},{key:"get",value:function(e){return this.items.get(e)}},{key:"has",value:function(e){return this.items.has(e)}},{key:"delete",value:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];for(var n=0,o=t;n<o.length;n++){var i=o[n];this.items.delete(i)}}},{key:"deleteAll",value:function(){this.items.clear()}},{key:"findBy",value:function(t,r){for(var n,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=new e;!((n=this.items.entries().next().value).done||o&&i.length===o);)n[1][t]===r&&i.set(n);return i}},{key:"createMirror",value:function(){var t=new e;return t._items=this._items,t}}])}(),L=function(){function e(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];R(this,e),M(this,"_items",void 0),this.id=t,this._items=new x,this.set.apply(this,T(r))}return A(e,[{key:"items",get:function(){return Array.from(this._items.items.values())}},{key:"length",get:function(){return this._items.length}},{key:"set",value:function(){for(var e,t=this,r=arguments.length,n=new Array(r),o=0;o<r;o++)n[o]=arguments[o];(e=this._items).set.apply(e,T(n.map(function(e){return[t.getId(e),e]})))}},{key:"get",value:function(e){return this._items.get(e)}},{key:"getAt",value:function(e){return this.items[e]}},{key:"has",value:function(e){return this._items.has(e)}},{key:"delete",value:function(){var e;(e=this._items).delete.apply(e,arguments)}},{key:"deleteAll",value:function(){this._items.deleteAll()}},{key:"findBy",value:function(t,r){var n,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=new e(this.id),a=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=I(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){u=!0,i=e},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}(this.items);try{for(a.s();!(n=a.n()).done;){var u=n.value;if(o&&i.length===o)break;u[t]===r&&i.set(u)}}catch(e){a.e(e)}finally{a.f()}return i}},{key:"createMirror",value:function(){var t=new e(this.id);return t._items=this._items,t}},{key:"getId",value:function(e){return"function"==typeof this.id?this.id(e):e[this.id]}}])}(),F=function(e){function t(){var e,r,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return R(this,t),M(r=g(this,t),"eventTarget",void 0),r.eventTarget=new a,(e=r).set.apply(e,T(n)),r}return j(t,e),A(t,[{key:"set",value:function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];r.length&&(k(t,"set",this,3)(r),this.eventTarget.emit("change",{setItems:r.map(function(e){return e[0]})}))}},{key:"delete",value:function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];r.length&&(k(t,"delete",this,3)(r),this.eventTarget.emit("change",{deletedItems:r}))}},{key:"deleteAll",value:function(){if(this.length){var e=this._items.keys();k(t,"deleteAll",this,3)([]),this.eventTarget.emit("change",{deletedItems:Array.from(e)})}}},{key:"createMirror",value:function(){var e=new t;return e.eventTarget=this.eventTarget,e._items=this._items,e}},{key:"on",value:function(e,t){return this.eventTarget.on(e,t),this}},{key:"once",value:function(e,t){return this.eventTarget.once(e,t),this}},{key:"off",value:function(e,t){return this.eventTarget.off(e,t),this}}])}(x),D=function(e){function t(e){var r,n,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return R(this,t),M(n=g(this,t,[e]),"eventTarget",void 0),n.id=e,n.eventTarget=new a,(r=n).set.apply(r,T(o)),n}return j(t,e),A(t,[{key:"set",value:function(){for(var e=this,r=arguments.length,n=new Array(r),o=0;o<r;o++)n[o]=arguments[o];n.length&&(k(t,"set",this,3)(n),this.eventTarget.emit("change",{setItems:n.map(function(t){return e.getId(t)})}))}},{key:"delete",value:function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];r.length&&(k(t,"delete",this,3)(r),this.eventTarget.emit("change",{deletedItems:r}))}},{key:"deleteAll",value:function(){if(this.length){var e=this._items.items.keys();k(t,"deleteAll",this,3)([]),this.eventTarget.emit("change",{deletedItems:Array.from(e)})}}},{key:"createMirror",value:function(){var e=new t(this.id);return e.eventTarget=this.eventTarget,e._items=this._items,e}},{key:"on",value:function(e,t){return this.eventTarget.on(e,t),this}},{key:"once",value:function(e,t){return this.eventTarget.once(e,t),this}},{key:"off",value:function(e,t){return this.eventTarget.off(e,t),this}}])}(L);function N(e){return N="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},N(e)}function U(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,H(n.key),n)}}function C(e,t,r){return t&&U(e.prototype,t),r&&U(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function B(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function J(e,t,r){return(t=H(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function H(e){var t=function(e,t){if("object"!=N(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=N(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==N(t)?t:t+""}var W=C(function e(){var t=this;B(this,e),J(this,"promise",void 0),J(this,"resolve",void 0),this.promise=new Promise(function(e){return t.resolve=e})}),$=function(){return C(function e(){B(this,e),J(this,"promises",new x)},[{key:"register",value:function(e,t){this.promises.set([t,e])}},{key:"registerByFunction",value:function(e,t){this.register(e(),t)}},{key:"get",value:function(e){return this.promises.get(e)}},{key:"has",value:function(e){return this.promises.has(e)}},{key:"notExist",value:function(e){return!this.has(e)}},{key:"forget",value:function(){var e;(e=this.promises).delete.apply(e,arguments)}},{key:"forgetAll",value:function(){this.promises.deleteAll()}}])}();function Q(e){return Q="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Q(e)}function V(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function z(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?V(Object(r),!0).forEach(function(t){fe(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):V(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function q(e,t,r,n){var o=K(ce(1&n?e.prototype:e),t,r);return 2&n&&"function"==typeof o?function(e){return o.apply(r,e)}:o}function K(){return K="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var n=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=ce(e)););return e}(e,t);if(n){var o=Object.getOwnPropertyDescriptor(n,t);return o.get?o.get.call(arguments.length<3?e:r):o.value}},K.apply(null,arguments)}function Y(e){return function(e){if(Array.isArray(e))return X(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return X(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?X(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function X(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function Z(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return ee(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,p={p:0,n:0,v:e,a:h,f:h.bind(e,4),d:function(t,r){return i=t,u=0,c=e,p.n=r,a}};function h(r,n){for(u=r,c=n,t=0;!f&&s&&!o&&t<l.length;t++){var o,i=l[t],h=p.p,d=i[2];r>3?(o=d===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=e):i[0]<=h&&((o=r<2&&h<i[1])?(u=0,p.v=n,p.n=i[1]):h<d&&(o=r<3||i[0]>n||n>d)&&(i[4]=r,i[5]=n,p.n=d,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,d){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&h(l,d),u=l,c=d;(t=u<2?e:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),h(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,u<2&&(u=0)}else 1===u&&(t=i.return)&&t.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=e}else if((t=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(t){i=e,u=1,c=t}finally{s=1}}return{value:t,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}t=Object.getPrototypeOf;var l=[][n]?t(t([][n]())):(ee(t={},n,function(){return this}),t),f=s.prototype=u.prototype=Object.create(l);function p(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,ee(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=s,ee(f,"constructor",s),ee(s,"constructor",c),c.displayName="GeneratorFunction",ee(s,o,"GeneratorFunction"),ee(f),ee(f,o,"Generator"),ee(f,n,function(){return this}),ee(f,"toString",function(){return"[object Generator]"}),(Z=function(){return{w:i,m:p}})()}function ee(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}ee=function(e,t,r,n){function i(t,r){ee(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(i("next",0),i("throw",1),i("return",2))},ee(e,t,r,n)}function te(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function re(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(e){te(i,n,o,a,u,"next",e)}function u(e){te(i,n,o,a,u,"throw",e)}a(void 0)})}}function ne(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function oe(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,pe(n.key),n)}}function ie(e,t,r){return t&&oe(e.prototype,t),r&&oe(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function ae(e,t,r){return t=ce(t),function(e,t){if(t&&("object"==Q(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,ue()?Reflect.construct(t,r||[],ce(e).constructor):t.apply(e,r))}function ue(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(ue=function(){return!!e})()}function ce(e){return ce=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},ce(e)}function se(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&le(e,t)}function le(e,t){return le=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},le(e,t)}function fe(e,t,r){return(t=pe(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function pe(e){var t=function(e,t){if("object"!=Q(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=Q(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==Q(t)?t:t+""}var he=function(e){return e[e.LIVE=0]="LIVE",e[e.LATEST=1]="LATEST",e[e.PAST=2]="PAST",e[e.OLDEST=3]="OLDEST",e}({}),de=function(e){function t(e,r,n){var o,i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];return ne(this,t),fe(o=ae(this,t,["id"]),"WindowState",he),o.roomId=e,o.topicId=r,o.tracker=n,o.internalState.traverseLock=!1,i&&(o.tracker.client.on("Session",function(e){return o.handleSession(e)}),o.tracker.client.on("NewMessage",function(e){return o.handleNewMessage(e)})),o}return se(t,e),ie(t,[{key:"createMirror",value:function(){var e=new t(this.roomId,this.topicId,this.tracker,!1);return e.eventTarget=this.eventTarget,e._items=this._items,e.internalState=this.internalState,e}},{key:"isTraverseLocked",get:function(){return this.internalState.traverseLock}},{key:"setTraverseLock",value:(p=re(Z().m(function e(r){return Z().w(function(e){for(;;)switch(e.n){case 0:if(this.internalState.traverseLock=r,!r||this.state===he.LIVE||this.state===he.LATEST){e.n=1;break}return e.n=1,q(t,"resetToLatest",this,3)([]);case 1:return e.a(2)}},e,this)})),function(e){return p.apply(this,arguments)})},{key:"resetToLatest",value:(f=re(Z().m(function e(){return Z().w(function(e){for(;;)switch(e.n){case 0:if(!this.internalState.traverseLock){e.n=1;break}return e.a(2);case 1:return e.a(2,q(t,"resetToLatest",this,3)([]))}},e,this)})),function(){return f.apply(this,arguments)})},{key:"fetchNext",value:(l=re(Z().m(function e(){return Z().w(function(e){for(;;)switch(e.n){case 0:if(!this.internalState.traverseLock){e.n=1;break}return e.a(2);case 1:return e.a(2,q(t,"fetchNext",this,3)([]))}},e,this)})),function(){return l.apply(this,arguments)})},{key:"fetchPrevious",value:(s=re(Z().m(function e(){return Z().w(function(e){for(;;)switch(e.n){case 0:if(!this.internalState.traverseLock){e.n=1;break}return e.a(2);case 1:return e.a(2,q(t,"fetchPrevious",this,3)([]))}},e,this)})),function(){return s.apply(this,arguments)})},{key:"_updateMessageReference",value:function(e){var t=this.get(e.refMessage.id);t&&this.set(z(z({},t),{},{topicRef:e.id}))}},{key:"handleNewMessage",value:(c=re(Z().m(function e(t){return Z().w(function(e){for(;;)switch(e.n){case 0:[he.LATEST,he.LIVE].includes(this.state)&&t.message.location.roomId===this.roomId&&t.message.location.topicId===this.topicId&&this.addItems([t.message],"tail");case 1:return e.a(2)}},e,this)})),function(e){return c.apply(this,arguments)})},{key:"handleSession",value:function(e){var t=this;e.state.rooms.find(function(e){return e.id===t.roomId})?this.resetToLatest():this.deleteAll()}},{key:"fetchItemsAfter",value:(u=re(Z().m(function e(){var t,r,n;return Z().w(function(e){for(;;)switch(e.n){case 0:if(r=null===(t=this.getAt(this.length-1))||void 0===t?void 0:t.id){e.n=1;break}return e.a(2,null);case 1:return e.n=2,this.tracker.client.send("GetMessages",{location:{roomId:this.roomId,topicId:this.topicId},after:r});case 2:if(!(n=e.v).error){e.n=3;break}throw new Error("Cannot fetch messages: ".concat(n.error.message));case 3:return e.a(2,n.data.messages)}},e,this)})),function(){return u.apply(this,arguments)})},{key:"fetchItemsBefore",value:(a=re(Z().m(function e(){var t,r,n;return Z().w(function(e){for(;;)switch(e.n){case 0:if(r=null===(t=this.getAt(0))||void 0===t?void 0:t.id){e.n=1;break}return e.a(2,null);case 1:return e.n=2,this.tracker.client.send("GetMessages",{location:{roomId:this.roomId,topicId:this.topicId},before:r});case 2:if(!(n=e.v).error){e.n=3;break}throw new Error("Cannot fetch messages: ".concat(n.error.message));case 3:return e.a(2,n.data.messages)}},e,this)})),function(){return a.apply(this,arguments)})},{key:"fetchLatestItems",value:(i=re(Z().m(function e(){var t;return Z().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.tracker.client.send("GetMessages",{location:{roomId:this.roomId,topicId:this.topicId}});case 1:if(!(t=e.v).error){e.n=2;break}throw new Error("Cannot fetch messages: ".concat(t.error.message));case 2:return e.a(2,t.data.messages)}},e,this)})),function(){return i.apply(this,arguments)})},{key:"getTopic",value:(o=re(Z().m(function e(){return Z().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.tracker.rooms.getTopics(this.roomId,[this.topicId]);case 1:return e.a(2,e.v.get(this.topicId))}},e,this)})),function(){return o.apply(this,arguments)})},{key:"getLatestMessageId",value:(n=re(Z().m(function e(){var t,r,n,o,i;return Z().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.getTopic();case 1:if(o=t=e.v,n=null===o){e.n=2;break}n=void 0===t;case 2:if(r=n){e.n=3;break}r=null===(t=t.lastMessage)||void 0===t;case 3:if(!r){e.n=4;break}i=void 0,e.n=5;break;case 4:i=t.id;case 5:return e.a(2,i)}},e,this)})),function(){return n.apply(this,arguments)})},{key:"isLatestItemLoaded",value:(r=re(Z().m(function e(){var t;return Z().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.getLatestMessageId();case 1:return t=e.v,e.a(2,!t||this.has(t))}},e,this)})),function(){return r.apply(this,arguments)})}]);var r,n,o,i,a,u,c,s,l,f,p}(function(e){function t(){var e;ne(this,t);for(var r=arguments.length,n=new Array(r),o=0;o<r;o++)n[o]=arguments[o];return fe(e=ae(this,t,[].concat(n)),"internalState",{current:he.LIVE,ongoing:void 0,limit:50,oldestId:null}),e}return se(t,e),ie(t,[{key:"state",get:function(){return this.internalState.current}},{key:"limit",get:function(){return this.internalState.limit},set:function(e){this.internalState.limit=e}},{key:"hasLatest",get:function(){return[he.LATEST,he.LIVE].includes(this.state)}},{key:"hasOldest",get:function(){return this.state===he.OLDEST||null!==this.internalState.oldestId&&this.has(this.internalState.oldestId)}},{key:"resetToLatest",value:(i=re(Z().m(function e(){var t;return Z().w(function(e){for(;;)switch(e.p=e.n){case 0:if(!this.internalState.ongoing&&this.internalState.current!==he.LATEST){e.n=1;break}return e.a(2);case 1:return this.internalState.ongoing=he.LATEST,e.p=2,e.n=3,this.fetchLatestItems();case 3:t=e.v;case 4:return e.p=4,this.internalState.ongoing=void 0,e.f(4);case 5:this.deleteAll(),this.addItems(t,"tail"),this.internalState.current=he.LATEST;case 6:return e.a(2)}},e,this,[[2,,4,5]])})),function(){return i.apply(this,arguments)})},{key:"fetchPrevious",value:(o=re(Z().m(function e(){var t,r;return Z().w(function(e){for(;;)switch(e.p=e.n){case 0:if(!this.internalState.ongoing&&!this.hasOldest){e.n=1;break}return e.a(2);case 1:return this.internalState.ongoing=he.PAST,e.p=2,e.n=3,this.fetchItemsBefore();case 3:t=e.v;case 4:return e.p=4,this.internalState.ongoing=void 0,e.f(4);case 5:if(t){e.n=6;break}return e.a(2,this.resetToLatest());case 6:if(t.length){e.n=8;break}return r=this.getAt(0),this.internalState.oldestId=r?this.getId(r):null,e.n=7,this.refreshFetchedState();case 7:return this.internalState.current===he.PAST&&(this.internalState.current=he.OLDEST),e.a(2);case 8:return this.addItems(t,"head"),e.n=9,this.refreshFetchedState();case 9:return e.a(2)}},e,this,[[2,,4,5]])})),function(){return o.apply(this,arguments)})},{key:"fetchNext",value:(n=re(Z().m(function e(){var t;return Z().w(function(e){for(;;)switch(e.p=e.n){case 0:if(!this.internalState.ongoing&&!this.hasLatest){e.n=1;break}return e.a(2);case 1:return this.internalState.ongoing=he.PAST,e.p=2,e.n=3,this.fetchItemsAfter();case 3:t=e.v;case 4:return e.p=4,this.internalState.ongoing=void 0,e.f(4);case 5:if(t){e.n=7;break}return e.n=6,this.resetToLatest();case 6:return e.a(2);case 7:if(!t.length){e.n=9;break}return this.addItems(t,"tail"),e.n=8,this.refreshFetchedState();case 8:case 9:return e.a(2)}},e,this,[[2,,4,5]])})),function(){return n.apply(this,arguments)})},{key:"refreshFetchedState",value:(r=re(Z().m(function e(){var t;return Z().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.isLatestItemLoaded();case 1:if(!e.v){e.n=2;break}t=he.LATEST,e.n=3;break;case 2:t=he.PAST;case 3:this.internalState.current=t;case 4:return e.a(2)}},e,this)})),function(){return r.apply(this,arguments)})},{key:"addItems",value:function(e,t){var r;"head"===t&&(r=this.trimItemsArrayToLimit([].concat(Y(e),Y(this.items)),"tail")),"tail"===t&&(r=this.trimItemsArrayToLimit([].concat(Y(this.items),Y(e)),"head")),this.deleteAll(),this.set.apply(this,Y(r))}},{key:"trimItemsArrayToLimit",value:function(e,t){return null===this.limit?e:"head"===t?e.slice(-this.limit):"tail"===t?e.slice(0,this.limit):void 0}}]);var r,n,o,i}(D));function ye(e){return ye="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ye(e)}function ve(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,u=[],c=!0,s=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(e){s=!0,o=e}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return u}}(e,t)||function(e,t){if(e){if("string"==typeof e)return me(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?me(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function me(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function be(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return ge(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,p={p:0,n:0,v:e,a:h,f:h.bind(e,4),d:function(t,r){return i=t,u=0,c=e,p.n=r,a}};function h(r,n){for(u=r,c=n,t=0;!f&&s&&!o&&t<l.length;t++){var o,i=l[t],h=p.p,d=i[2];r>3?(o=d===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=e):i[0]<=h&&((o=r<2&&h<i[1])?(u=0,p.v=n,p.n=i[1]):h<d&&(o=r<3||i[0]>n||n>d)&&(i[4]=r,i[5]=n,p.n=d,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,d){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&h(l,d),u=l,c=d;(t=u<2?e:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),h(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,u<2&&(u=0)}else 1===u&&(t=i.return)&&t.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=e}else if((t=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(t){i=e,u=1,c=t}finally{s=1}}return{value:t,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}t=Object.getPrototypeOf;var l=[][n]?t(t([][n]())):(ge(t={},n,function(){return this}),t),f=s.prototype=u.prototype=Object.create(l);function p(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,ge(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=s,ge(f,"constructor",s),ge(s,"constructor",c),c.displayName="GeneratorFunction",ge(s,o,"GeneratorFunction"),ge(f),ge(f,o,"Generator"),ge(f,n,function(){return this}),ge(f,"toString",function(){return"[object Generator]"}),(be=function(){return{w:i,m:p}})()}function ge(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}ge=function(e,t,r,n){function i(t,r){ge(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(i("next",0),i("throw",1),i("return",2))},ge(e,t,r,n)}function we(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function ke(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(e){we(i,n,o,a,u,"next",e)}function u(e){we(i,n,o,a,u,"throw",e)}a(void 0)})}}function Se(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,je(n.key),n)}}function Oe(e,t,r){return(t=je(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function je(e){var t=function(e,t){if("object"!=ye(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=ye(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==ye(t)?t:t+""}var Pe=function(){return e=function e(t,r){var n=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Oe(this,"historyWindows",new x),Oe(this,"traverseLock",!1),this.room=t,this.tracker=r,this.tracker.client.on("RoomUpdated",function(e){return n.handleRoomUpdated(e)}),this.tracker.client.on("NewTopic",function(e){return n.handleNewTopic(e)}),this.tracker.client.on("TopicDeleted",function(e){return n.handleTopicDeleted(e)}),this.updateTraverseLock(this.room),this.room.defaultTopic&&this.createHistoryWindowForTopic(this.room.defaultTopic)},t=[{key:"getMessagesWindow",value:(o=ke(be().m(function e(t){var r;return be().w(function(e){for(;;)switch(e.n){case 0:if(this.historyWindows.get(t)){e.n=2;break}return e.n=1,this.tracker.rooms.getTopics(this.room.id,[t]);case 1:(r=e.v.get(t))&&this.createHistoryWindowForTopic(r);case 2:return e.a(2,this.historyWindows.get(t))}},e,this)})),function(e){return o.apply(this,arguments)})},{key:"handleRoomUpdated",value:(n=ke(be().m(function e(t){var r,n,o,i;return be().w(function(e){for(;;)switch(e.n){case 0:if(this.room.id!==t.room.id){e.n=3;break}this.room=t.room,this.updateTraverseLock(t.room),t.room.defaultTopic&&this.createHistoryWindowForTopic(t.room.defaultTopic),r=0,n=Array.from(this.historyWindows.items);case 1:if(!(r<n.length)){e.n=3;break}return o=ve(n[r],2),i=o[1],e.n=2,i.setTraverseLock(this.traverseLock);case 2:r++,e.n=1;break;case 3:return e.a(2)}},e,this)})),function(e){return n.apply(this,arguments)})},{key:"handleNewTopic",value:function(e){this.room.id===e.roomId&&this.createHistoryWindowForTopic(e.topic)}},{key:"handleTopicDeleted",value:function(e){this.room.id===e.location.roomId&&this.historyWindows.delete(e.location.topicId)}},{key:"createHistoryWindowForTopic",value:function(e){if(!this.historyWindows.has(e.id)){var t=new de(this.room.id,e.id,this.tracker);if(t.setTraverseLock(this.traverseLock),this.historyWindows.set([e.id,t]),e.refMessage){var r=this.historyWindows.get(e.refMessage.location.topicId);null==r||r._updateMessageReference(e)}}}},{key:"updateTraverseLock",value:function(e){this.traverseLock="Ephemeral"===e.history.mode}}],t&&Se(e.prototype,t),r&&Se(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,r,n,o}();function Te(e){return Te="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Te(e)}function Ie(e){return function(e){if(Array.isArray(e))return Me(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Ae(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ee(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Re(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Ee(Object(r),!0).forEach(function(t){Ne(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ee(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function _e(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=Ae(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){u=!0,i=e},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}function Ae(e,t){if(e){if("string"==typeof e)return Me(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Me(e,t):void 0}}function Me(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function Ge(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return xe(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,p={p:0,n:0,v:e,a:h,f:h.bind(e,4),d:function(t,r){return i=t,u=0,c=e,p.n=r,a}};function h(r,n){for(u=r,c=n,t=0;!f&&s&&!o&&t<l.length;t++){var o,i=l[t],h=p.p,d=i[2];r>3?(o=d===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=e):i[0]<=h&&((o=r<2&&h<i[1])?(u=0,p.v=n,p.n=i[1]):h<d&&(o=r<3||i[0]>n||n>d)&&(i[4]=r,i[5]=n,p.n=d,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,d){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&h(l,d),u=l,c=d;(t=u<2?e:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),h(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,u<2&&(u=0)}else 1===u&&(t=i.return)&&t.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=e}else if((t=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(t){i=e,u=1,c=t}finally{s=1}}return{value:t,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}t=Object.getPrototypeOf;var l=[][n]?t(t([][n]())):(xe(t={},n,function(){return this}),t),f=s.prototype=u.prototype=Object.create(l);function p(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,xe(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=s,xe(f,"constructor",s),xe(s,"constructor",c),c.displayName="GeneratorFunction",xe(s,o,"GeneratorFunction"),xe(f),xe(f,o,"Generator"),xe(f,n,function(){return this}),xe(f,"toString",function(){return"[object Generator]"}),(Ge=function(){return{w:i,m:p}})()}function xe(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}xe=function(e,t,r,n){function i(t,r){xe(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(i("next",0),i("throw",1),i("return",2))},xe(e,t,r,n)}function Le(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function Fe(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(e){Le(i,n,o,a,u,"next",e)}function u(e){Le(i,n,o,a,u,"throw",e)}a(void 0)})}}function De(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Ue(n.key),n)}}function Ne(e,t,r){return(t=Ue(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ue(e){var t=function(e,t){if("object"!=Te(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=Te(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==Te(t)?t:t+""}var Ce=function(){return e=function e(t){var r=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Ne(this,"roomHistories",new x),Ne(this,"followedTopics",new x),Ne(this,"followedTopicsPromises",new $),Ne(this,"deferredSession",new W),this.tracker=t,this.tracker.client.on("Session",function(e){return r.handleSession(e)}),this.tracker.client.on("RoomJoined",function(e){return r.handleRoomJoin(e)}),this.tracker.client.on("NewTopic",function(e){return r.handleNewTopic(e)}),this.tracker.client.on("FollowedTopicUpdated",function(e){return r.handleFollowedTopicUpdated(e)}),this.tracker.client.on("TopicFollowed",function(e){return r.handleTopicFollowed(e)}),this.tracker.client.on("TopicUnfollowed",function(e){return r.handleTopicUnfollowed(e)}),this.tracker.client.on("NewMessage",function(e){return r.handleNewMessage(e)}),this.tracker.client.on("RoomDeleted",function(e){return r.handleRoomDeleted(e)}),this.tracker.client.on("RoomLeft",function(e){return r.handleRoomLeft(e)}),this.tracker.client.on("TopicDeleted",function(e){return r.handleTopicDeleted(e)})},t=[{key:"getRoomHistory",value:(c=Fe(Ge().m(function e(t){return Ge().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.deferredSession.promise;case 1:return e.a(2,this.roomHistories.get(t))}},e,this)})),function(e){return c.apply(this,arguments)})},{key:"cacheSpaceFollowedTopics",value:(u=Fe(Ge().m(function e(t){var r,n,o,i,a=this;return Ge().w(function(e){for(;;)switch(e.n){case 0:if(!(i=t)){e.n=2;break}return e.n=1,this.tracker.spaces.get();case 1:i=!e.v.has(t);case 2:if(!i){e.n=3;break}throw new Error("You are not in space ".concat(t));case 3:return e.n=4,this.tracker.rooms.get();case 4:if((r=e.v.findBy("spaceId",t).items.map(function(e){return e.id})).length){e.n=5;break}return e.a(2);case 5:return n=this.tracker.client.send("GetFollowedTopics",{location:{spaceId:t}}),r.forEach(function(e){return a.followedTopicsPromises.register(n,e)}),e.n=6,n;case 6:if(!(o=e.v).error){e.n=7;break}throw o.error;case 7:this.setFollowedTopicsArray(r,o.data.followedTopics);case 8:return e.a(2)}},e,this)})),function(e){return u.apply(this,arguments)})},{key:"getRoomFollowedTopics",value:(a=Fe(Ge().m(function e(t){var r=this;return Ge().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.tracker.rooms.get();case 1:if(e.v.has(t)){e.n=2;break}return e.a(2,void 0);case 2:if(this.followedTopics.has(t)){e.n=3;break}return this.followedTopicsPromises.notExist(t)&&this.followedTopicsPromises.registerByFunction(Fe(Ge().m(function e(){var n;return Ge().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,r.tracker.client.send("GetFollowedTopics",{location:{roomId:t}});case 1:if(!(n=e.v).error){e.n=2;break}throw n.error;case 2:r.setFollowedTopicsArray([t],n.data.followedTopics);case 3:return e.a(2)}},e)})),t),e.n=3,this.followedTopicsPromises.get(t);case 3:return e.a(2,this.followedTopics.get(t))}},e,this)})),function(e){return a.apply(this,arguments)})},{key:"ackRoomFollowedTopics",value:(i=Fe(Ge().m(function e(t){var r,n,o,i,a;return Ge().w(function(e){for(;;)switch(e.p=e.n){case 0:return e.n=1,this.getRoomFollowedTopics(t);case 1:if(r=e.v){e.n=2;break}return e.a(2);case 2:n=_e(r.items),e.p=3,n.s();case 4:if((o=n.n()).done){e.n=6;break}if(!(i=o.value).missed){e.n=5;break}return e.n=5,this.tracker.client.send("Ack",{location:i.location});case 5:e.n=4;break;case 6:e.n=8;break;case 7:e.p=7,a=e.v,n.e(a);case 8:return e.p=8,n.f(),e.f(8);case 9:return e.a(2)}},e,this,[[3,7,8,9]])})),function(e){return i.apply(this,arguments)})},{key:"calculateRoomMissedMessages",value:(o=Fe(Ge().m(function e(t){var r;return Ge().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.getRoomFollowedTopics(t);case 1:if(!(r=e.v)){e.n=2;break}return e.a(2,r.items.reduce(function(e,t){var r;return e+(null!==(r=t.missed)&&void 0!==r?r:0)},0));case 2:return e.a(2,void 0)}},e,this)})),function(e){return o.apply(this,arguments)})},{key:"_deleteByTopicIds",value:function(e){for(var t,r=arguments.length,n=new Array(r>1?r-1:0),o=1;o<r;o++)n[o-1]=arguments[o];null===(t=this.followedTopics.get(e))||void 0===t||t.delete.apply(t,n)}},{key:"createHistoryForNewRoom",value:function(e){this.roomHistories.set([e.id,new Pe(e,this.tracker)])}},{key:"handleNewMessage",value:function(e){this.updateLocallyFollowedTopicOnNewMessage(e)}},{key:"handleFollowedTopicUpdated",value:function(e){var t;null===(t=this.followedTopics.get(e.followedTopic.location.roomId))||void 0===t||t.set(e.followedTopic)}},{key:"handleTopicFollowed",value:function(e){this.setFollowedTopicsArray([e.followedTopic.location.roomId],[e.followedTopic])}},{key:"handleTopicUnfollowed",value:function(e){var t;null===(t=this.followedTopics.get(e.location.roomId))||void 0===t||t.delete(e.location.topicId)}},{key:"handleRoomDeleted",value:function(e){this.roomHistories.delete(e.id),this.clearRoomFollowedTopicsStructures(e.id)}},{key:"handleRoomJoin",value:function(e){this.createHistoryForNewRoom(e.room),this.clearRoomFollowedTopicsStructures(e.room.id)}},{key:"handleRoomLeft",value:function(e){this.roomHistories.delete(e.id),this.clearRoomFollowedTopicsStructures(e.id)}},{key:"handleNewTopic",value:(n=Fe(Ge().m(function e(t){var r,n;return Ge().w(function(e){for(;;)switch(e.n){case 0:if(!this.followedTopics.has(t.roomId)){e.n=2;break}return e.n=1,this.tracker.client.send("GetFollowedTopics",{location:{roomId:t.roomId,topicId:t.topic.id}});case 1:r=e.v,(n=r.data.followedTopics[0])&&this.followedTopics.get(t.roomId).set(n);case 2:return e.a(2)}},e,this)})),function(e){return n.apply(this,arguments)})},{key:"handleTopicDeleted",value:function(e){var t;null===(t=this.followedTopics.get(e.location.roomId))||void 0===t||t.delete(e.location.topicId)}},{key:"handleSession",value:function(e){var t=this;this.followedTopics.deleteAll(),this.followedTopicsPromises.forgetAll(),this.roomHistories.deleteAll(),e.state.rooms.forEach(function(e){return t.createHistoryForNewRoom(e)}),this.deferredSession.resolve()}},{key:"updateLocallyFollowedTopicOnNewMessage",value:function(e){var t,r,n=this.followedTopics.get(e.message.location.roomId),o=null==n?void 0:n.get(e.message.location.topicId);n&&o&&"Ephemeral"!==e.message.type&&(r=e.message.author.user.id===(null===(t=this.tracker.me)||void 0===t?void 0:t.id)?{missed:0,lastAckMessageId:e.message.id}:{missed:null===o.missed?null:o.missed+1},n.set(Re(Re({},o),r)))}},{key:"setFollowedTopicsArray",value:function(e,t){var r=this,n={};t.forEach(function(e){var t,r;null!==(r=n[t=e.location.roomId])&&void 0!==r||(n[t]=[]),n[e.location.roomId].push(e)}),e.forEach(function(e){var t;r.followedTopics.has(e)||r.followedTopics.set([e,new D(function(e){return e.location.topicId})]),n[e]&&(t=r.followedTopics.get(e)).set.apply(t,Ie(n[e]))})}},{key:"clearRoomFollowedTopicsStructures",value:function(e){this.followedTopics.delete(e),this.followedTopicsPromises.forget(e)}}],t&&De(e.prototype,t),r&&De(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,r,n,o,i,a,u,c}();function Be(e){return Be="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Be(e)}function Je(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function He(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Je(Object(r),!0).forEach(function(t){Ze(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Je(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function We(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=Qe(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){u=!0,i=e},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}function $e(e){return function(e){if(Array.isArray(e))return Ve(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Qe(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Qe(e,t){if(e){if("string"==typeof e)return Ve(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Ve(e,t):void 0}}function Ve(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function ze(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return qe(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,p={p:0,n:0,v:e,a:h,f:h.bind(e,4),d:function(t,r){return i=t,u=0,c=e,p.n=r,a}};function h(r,n){for(u=r,c=n,t=0;!f&&s&&!o&&t<l.length;t++){var o,i=l[t],h=p.p,d=i[2];r>3?(o=d===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=e):i[0]<=h&&((o=r<2&&h<i[1])?(u=0,p.v=n,p.n=i[1]):h<d&&(o=r<3||i[0]>n||n>d)&&(i[4]=r,i[5]=n,p.n=d,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,d){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&h(l,d),u=l,c=d;(t=u<2?e:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),h(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,u<2&&(u=0)}else 1===u&&(t=i.return)&&t.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=e}else if((t=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(t){i=e,u=1,c=t}finally{s=1}}return{value:t,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}t=Object.getPrototypeOf;var l=[][n]?t(t([][n]())):(qe(t={},n,function(){return this}),t),f=s.prototype=u.prototype=Object.create(l);function p(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,qe(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=s,qe(f,"constructor",s),qe(s,"constructor",c),c.displayName="GeneratorFunction",qe(s,o,"GeneratorFunction"),qe(f),qe(f,o,"Generator"),qe(f,n,function(){return this}),qe(f,"toString",function(){return"[object Generator]"}),(ze=function(){return{w:i,m:p}})()}function qe(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}qe=function(e,t,r,n){function i(t,r){qe(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(i("next",0),i("throw",1),i("return",2))},qe(e,t,r,n)}function Ke(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function Ye(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(e){Ke(i,n,o,a,u,"next",e)}function u(e){Ke(i,n,o,a,u,"throw",e)}a(void 0)})}}function Xe(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,et(n.key),n)}}function Ze(e,t,r){return(t=et(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function et(e){var t=function(e,t){if("object"!=Be(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=Be(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==Be(t)?t:t+""}var tt=function(){return e=function e(t){var r=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Ze(this,"messages",void 0),Ze(this,"list",new D("id")),Ze(this,"topics",new x),Ze(this,"members",new x),Ze(this,"deferredSession",new W),Ze(this,"membersPromises",new $),Ze(this,"topicsPromises",new $),this.tracker=t,this.messages=new Ce(t),this.tracker.client.on("NewMessage",function(e){return r.handleNewMessage(e)}),this.tracker.client.on("NewTopic",function(e){return r.handleNewTopic(e)}),this.tracker.client.on("TopicDeleted",function(e){return r.handleTopicDeleted(e)}),this.tracker.client.on("RoomJoined",function(e){return r.handleRoomJoined(e)}),this.tracker.client.on("RoomLeft",function(e){return r.handleRoomLeft(e)}),this.tracker.client.on("RoomUpdated",function(e){return r.handleRoomUpdated(e)}),this.tracker.client.on("RoomDeleted",function(e){return r.handleRoomDeleted(e)}),this.tracker.client.on("TopicUpdated",function(e){return r.handleTopicUpdated(e)}),this.tracker.client.on("RoomMemberJoined",function(e){return r.handleRoomMemberJoined(e)}),this.tracker.client.on("RoomMemberLeft",function(e){return r.handleRoomMemberLeft(e)}),this.tracker.client.on("RoomMembers",function(e){return r.handleRoomMembers(e)}),this.tracker.client.on("RoomMemberUpdated",function(e){return r.handleRoomMemberUpdated(e)}),this.tracker.client.on("SpaceMemberLeft",function(e){return r.handleSpaceMemberLeft(e)}),this.tracker.client.on("SpaceMemberUpdated",function(e){return r.handleSpaceMemberUpdated(e)}),this.tracker.client.on("SpaceDeleted",function(e){return r.handleSpaceDeleted(e)}),this.tracker.client.on("SpaceLeft",function(e){return r.handleSpaceDeleted(e)}),this.tracker.client.on("UserUpdated",function(e){return r.handleUserUpdated(e)}),this.tracker.client.on("Session",function(e){return r.handleSession(e)})},t=[{key:"getMembers",value:(i=Ye(ze().m(function e(t){var r=this;return ze().w(function(e){for(;;)switch(e.n){case 0:return this.membersPromises.notExist(t)&&this.membersPromises.registerByFunction(Ye(ze().m(function e(){var n;return ze().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,r.tracker.client.send("GetRoomMembers",{id:t});case 1:if(!(n=e.v).error){e.n=2;break}throw n.error;case 2:r.handleRoomMembers(n.data);case 3:return e.a(2)}},e)})),t),e.n=1,this.membersPromises.get(t);case 1:return e.a(2,this.members.get(t))}},e,this)})),function(e){return i.apply(this,arguments)})},{key:"getMe",value:(o=Ye(ze().m(function e(t){var r,n;return ze().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.tracker.getMe();case 1:if(r=e.v.id,this.list.has(t)){e.n=2;break}return e.a(2,void 0);case 2:return e.n=3,this.getMembers(t);case 3:return n=e.v,e.a(2,null==n?void 0:n.items.find(function(e){var t,n;return(null!==(t=null===(n=e.user)||void 0===n?void 0:n.id)&&void 0!==t?t:e.spaceMember.user.id)===r}))}},e,this)})),function(e){return o.apply(this,arguments)})},{key:"get",value:function(){var e=Ye(ze().m(function e(){return ze().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.deferredSession.promise;case 1:return e.a(2,this.list)}},e,this)}));return function(){return e.apply(this,arguments)}}()},{key:"getTopics",value:(n=Ye(ze().m(function e(t,r){var n,o,i,a,u,c,s,l=this;return ze().w(function(e){for(;;)switch(e.p=e.n){case 0:return e.n=1,this.deferredSession.promise;case 1:if(null==r||!r.length){e.n=8;break}n=function(e){var r;return!(null!==(r=l.topics.get(t))&&void 0!==r&&r.has(e)||l.topicsPromises.has(t+e))},(o=r.filter(n)).length&&(i=this.tracker.client.send("GetTopics",{roomId:t,topicIds:o}).then(function(e){var t;return null===(t=l.topics.get(e.data.location.roomId))||void 0===t?void 0:t.set.apply(t,$e(e.data.topics))}),o.forEach(function(e){return l.topicsPromises.register(i,t+e)})),a=We(r),e.p=2,a.s();case 3:if((u=a.n()).done){e.n=5;break}return c=u.value,e.n=4,this.topicsPromises.get(t+c);case 4:e.n=3;break;case 5:e.n=7;break;case 6:e.p=6,s=e.v,a.e(s);case 7:return e.p=7,a.f(),e.f(7);case 8:return e.a(2,this.topics.get(t))}},e,this,[[2,6,7,8]])})),function(e,t){return n.apply(this,arguments)})},{key:"deleteRoom",value:function(){for(var e,t,r,n,o=arguments.length,i=new Array(o),a=0;a<o;a++)i[a]=arguments[a];(e=this.list).delete.apply(e,i),(t=this.members).delete.apply(t,i),(r=this.membersPromises).forget.apply(r,i);for(var u=0,c=i;u<c.length;u++){var s,l,f,p=c[u],h=null!==(s=null===(l=this.topics.get(p))||void 0===l?void 0:l.items.map(function(e){return e.id}))&&void 0!==s?s:[];(f=this.messages)._deleteByTopicIds.apply(f,[p].concat($e(h)))}(n=this.topics).delete.apply(n,i)}},{key:"deleteRoomsBySpaceId",value:function(e){this.deleteRoom.apply(this,$e(this.list.findBy("spaceId",e).items.map(function(e){return e.id})))}},{key:"handleSpaceMemberUpdated",value:function(e){var t,r=We(this.list.findBy("spaceId",e.spaceId).items);try{for(r.s();!(t=r.n()).done;){var n=t.value,o=this.members.get(n.id);if(o&&o.has(e.userId)){var i=o.get(e.userId),a=i.spaceMember.user;i.spaceMember=He(He({},e.member),{},{user:a}),o.set(i)}}}catch(e){r.e(e)}finally{r.f()}}},{key:"handleSpaceMemberLeft",value:function(e){var t=this;this.list.findBy("spaceId",e.spaceId).items.forEach(function(r){var n;return null===(n=t.members.get(r.id))||void 0===n?void 0:n.delete(e.userId)})}},{key:"handleRoomMemberUpdated",value:function(e){var t,r;if(this.members.has(e.roomId)){var n=this.members.get(e.roomId),o=n.get(e.userId),i=e.member,a=null!==(t=null===(r=o.spaceMember)||void 0===r?void 0:r.user)&&void 0!==t?t:o.user;i.spaceMember?i.spaceMember.user=a:i.user=a,n.set(i)}}},{key:"handleSpaceDeleted",value:function(e){this.deleteRoomsBySpaceId(e.id)}},{key:"handleTopicDeleted",value:function(e){var t;this.topics.get(e.location.roomId).delete(e.location.topicId);var r=this.list.get(e.location.roomId);(null===(t=r.defaultTopic)||void 0===t?void 0:t.id)===e.location.topicId&&this.list.set(He(He({},r),{},{defaultTopic:null}))}},{key:"handleNewTopic",value:function(e){this.addJoinedRoomTopics(e.roomId,e.topic)}},{key:"addJoinedRoomTopics",value:function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];var o;this.topics.has(e)?(o=this.topics.get(e)).set.apply(o,r):this.topics.set([e,new D("id",r)])}},{key:"handleRoomJoined",value:function(e){this.addJoinedRooms(e.room)}},{key:"handleRoomUpdated",value:function(e){this.list.has(e.room.id)&&this.list.set(e.room)}},{key:"handleRoomDeleted",value:function(e){this.deleteRoom(e.id)}},{key:"handleTopicUpdated",value:function(e){var t,r=this.list.get(e.location.roomId);null!==(t=this.topics.get(e.location.roomId))&&void 0!==t&&t.has(e.topic.id)&&this.topics.get(e.location.roomId).set(e.topic),r.defaultTopic.id===e.topic.id&&(r.defaultTopic=e.topic,this.list.set(r))}},{key:"addJoinedRooms",value:function(){for(var e,t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];for(var o=0,i=r;o<i.length;o++){var a=i[o];a.defaultTopic&&this.addJoinedRoomTopics(a.id,a.defaultTopic),"Pm"===a.type&&a.recipients&&(this.handleRoomMembers({id:a.id,members:a.recipients.map(function(e){return{user:e,spaceMember:null,roles:null}})}),this.membersPromises.register(Promise.resolve(),a.id))}(e=this.list).set.apply(e,r)}},{key:"handleRoomLeft",value:function(e){this.deleteRoom(e.id)}},{key:"handleRoomMemberJoined",value:function(e){this.members.has(e.roomId)&&this.members.get(e.roomId).set(e.member)}},{key:"handleRoomMemberLeft",value:function(e){this.members.has(e.roomId)&&this.members.get(e.roomId).delete(e.userId)}},{key:"handleRoomMembers",value:function(e){this.members.has(e.id)||this.members.set([e.id,new D(function(e){var t,r;return null!==(t=null===(r=e.user)||void 0===r?void 0:r.id)&&void 0!==t?t:e.spaceMember.user.id},e.members)])}},{key:"handleSession",value:function(e){this.list.deleteAll(),this.topics.deleteAll(),this.topicsPromises.forgetAll(),this.members.deleteAll(),this.membersPromises.forgetAll(),this.addJoinedRooms.apply(this,$e(e.state.rooms)),this.deferredSession.resolve()}},{key:"handleUserUpdated",value:function(e){var t;this.members.items.forEach(function(t){var r=t.get(e.user.id);if(r){var n=He({},r);r.user?n.user=e.user:n.spaceMember.user=e.user,t.set(n)}});var r=[];this.list.items.forEach(function(t){var n;null!==(n=t.recipients)&&void 0!==n&&n.some(function(t){return t.id===e.user.id})&&(t.recipients=t.recipients.map(function(t){return t.id===e.user.id?e.user:t}),r.push(He({},t)))}),(t=this.list).set.apply(t,r)}},{key:"handleNewMessage",value:function(e){var t,r=this.topics.get(e.message.location.roomId),n=null==r?void 0:r.get(e.message.location.topicId);if(n){var o=He(He({},n),{},{messageCount:n.messageCount+1,lastMessage:e.message});r.set(o);var i=this.list.get(e.message.location.roomId);(null===(t=i.defaultTopic)||void 0===t?void 0:t.id)===e.message.location.topicId&&this.list.set(He(He({},i),{},{defaultTopic:o}))}}}],t&&Xe(e.prototype,t),r&&Xe(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,r,n,o,i}();function rt(e){var t,r;return null!==(t=e.user)&&void 0!==t?t:null===(r=e.spaceMember)||void 0===r?void 0:r.user}function nt(e){return nt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},nt(e)}function ot(e){return function(e){if(Array.isArray(e))return it(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return it(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?it(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function it(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function at(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function ut(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?at(Object(r),!0).forEach(function(t){ht(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):at(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function ct(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return st(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,p={p:0,n:0,v:e,a:h,f:h.bind(e,4),d:function(t,r){return i=t,u=0,c=e,p.n=r,a}};function h(r,n){for(u=r,c=n,t=0;!f&&s&&!o&&t<l.length;t++){var o,i=l[t],h=p.p,d=i[2];r>3?(o=d===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=e):i[0]<=h&&((o=r<2&&h<i[1])?(u=0,p.v=n,p.n=i[1]):h<d&&(o=r<3||i[0]>n||n>d)&&(i[4]=r,i[5]=n,p.n=d,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,d){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&h(l,d),u=l,c=d;(t=u<2?e:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),h(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,u<2&&(u=0)}else 1===u&&(t=i.return)&&t.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=e}else if((t=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(t){i=e,u=1,c=t}finally{s=1}}return{value:t,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}t=Object.getPrototypeOf;var l=[][n]?t(t([][n]())):(st(t={},n,function(){return this}),t),f=s.prototype=u.prototype=Object.create(l);function p(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,st(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=s,st(f,"constructor",s),st(s,"constructor",c),c.displayName="GeneratorFunction",st(s,o,"GeneratorFunction"),st(f),st(f,o,"Generator"),st(f,n,function(){return this}),st(f,"toString",function(){return"[object Generator]"}),(ct=function(){return{w:i,m:p}})()}function st(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}st=function(e,t,r,n){function i(t,r){st(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(i("next",0),i("throw",1),i("return",2))},st(e,t,r,n)}function lt(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function ft(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(e){lt(i,n,o,a,u,"next",e)}function u(e){lt(i,n,o,a,u,"throw",e)}a(void 0)})}}function pt(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,dt(n.key),n)}}function ht(e,t,r){return(t=dt(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function dt(e){var t=function(e,t){if("object"!=nt(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=nt(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==nt(t)?t:t+""}var yt=function(){return e=function e(t){var r=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),ht(this,"list",new D("id")),ht(this,"roles",new x),ht(this,"rooms",new x),ht(this,"roomIdToSpaceId",new x),ht(this,"members",new x),ht(this,"deferredSession",new W),ht(this,"roomsPromises",new $),ht(this,"membersPromises",new $),this.tracker=t,this.tracker.client.on("NewRoom",function(e){return r.handleNewRoom(e)}),this.tracker.client.on("RoomDeleted",function(e){return r.handleRoomDeleted(e)}),this.tracker.client.on("RoomUpdated",function(e){return r.handleRoomUpdated(e)}),this.tracker.client.on("SpaceDeleted",function(e){return r.handleSpaceDeleted(e)}),this.tracker.client.on("SpaceUpdated",function(e){return r.handleSpaceUpdated(e)}),this.tracker.client.on("SpaceJoined",function(e){return r.handleSpaceJoined(e)}),this.tracker.client.on("SpaceLeft",function(e){return r.handleSpaceDeleted(e)}),this.tracker.client.on("SpaceMemberJoined",function(e){return r.handleSpaceMemberJoined(e)}),this.tracker.client.on("SpaceMemberLeft",function(e){return r.handleSpaceMemberLeft(e)}),this.tracker.client.on("SpaceMembers",function(e){return r.handleSpaceMembers(e)}),this.tracker.client.on("SpaceRooms",function(e){return r.handleSpaceRooms(e)}),this.tracker.client.on("RoomSummaryUpdated",function(e){return r.handleRoomSummaryUpdated(e)}),this.tracker.client.on("SpaceMemberUpdated",function(e){return r.handleSpaceMemberUpdated(e)}),this.tracker.client.on("UserUpdated",function(e){return r.handleUserUpdated(e)}),this.tracker.client.on("NewRole",function(e){return r.handleNewRole(e)}),this.tracker.client.on("RoleDeleted",function(e){return r.handleRoleDeleted(e)}),this.tracker.client.on("RoleUpdated",function(e){return r.handleRoleUpdated(e)}),this.tracker.client.on("Session",function(e){return r.handleSession(e)})},t=[{key:"get",value:function(){var e=ft(ct().m(function e(){return ct().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.deferredSession.promise;case 1:return e.a(2,this.list)}},e,this)}));return function(){return e.apply(this,arguments)}}()},{key:"getRoles",value:(c=ft(ct().m(function e(t){return ct().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.deferredSession.promise;case 1:return e.a(2,this.roles.get(t))}},e,this)})),function(e){return c.apply(this,arguments)})},{key:"getRooms",value:(u=ft(ct().m(function e(t){var r=this;return ct().w(function(e){for(;;)switch(e.n){case 0:return this.roomsPromises.notExist(t)&&this.roomsPromises.registerByFunction(ft(ct().m(function e(){var n;return ct().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,r.tracker.client.send("GetSpaceRooms",{id:t});case 1:if(!(n=e.v).error){e.n=2;break}throw n.error;case 2:r.handleSpaceRooms(n.data);case 3:return e.a(2)}},e)})),t),e.n=1,this.roomsPromises.get(t);case 1:return e.a(2,this.rooms.get(t))}},e,this)})),function(e){return u.apply(this,arguments)})},{key:"getMembers",value:(a=ft(ct().m(function e(t){var r=this;return ct().w(function(e){for(;;)switch(e.n){case 0:return this.membersPromises.notExist(t)&&this.membersPromises.registerByFunction(ft(ct().m(function e(){var n;return ct().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,r.tracker.client.send("GetSpaceMembers",{id:t});case 1:if(!(n=e.v).error){e.n=2;break}throw n.error;case 2:r.handleSpaceMembers(n.data);case 3:return e.a(2)}},e)})),t),e.n=1,this.membersPromises.get(t);case 1:return e.a(2,this.members.get(t))}},e,this)})),function(e){return a.apply(this,arguments)})},{key:"getMe",value:(i=ft(ct().m(function e(t){var r,n;return ct().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.tracker.getMe();case 1:if(r=e.v.id,this.list.has(t)){e.n=2;break}return e.a(2,void 0);case 2:return e.n=3,this.getMembers(t);case 3:return n=e.v,e.a(2,null==n?void 0:n.items.find(function(e){return e.user.id===r}))}},e,this)})),function(e){return i.apply(this,arguments)})},{key:"handleNewRole",value:function(e){var t=this.roles.get(e.spaceId);t.set(e.role),this.list.get(e.spaceId).roles=t.items}},{key:"handleNewRoom",value:function(e){var t;null===(t=this.rooms.get(e.spaceId))||void 0===t||t.set(e.summary),this.roomIdToSpaceId.set([e.summary.id,e.spaceId])}},{key:"handleRoomUpdated",value:function(e){if(e.room.spaceId&&this.rooms.has(e.room.spaceId)){var t=this.rooms.get(e.room.spaceId);t.set(ut(ut({},t.get(e.room.id)),{},{name:e.room.name,description:e.room.description}))}}},{key:"handleRoomDeleted",value:(o=ft(ct().m(function e(t){var r,n,o,i;return ct().w(function(e){for(;;)switch(e.n){case 0:if(n=this.roomIdToSpaceId.get(t.id),this.roomIdToSpaceId.delete(t.id),n){e.n=1;break}return e.a(2);case 1:o=this.list.get(n),i=!1,null===(r=this.rooms.get(n))||void 0===r||r.delete(t.id),o.systemRoom===t.id&&(o.systemRoom=null,i=!0),o.defaultRooms.includes(t.id)&&(o.defaultRooms=o.defaultRooms.filter(function(e){return e!==t.id}),i=!0),i&&this.list.set(o);case 2:return e.a(2)}},e,this)})),function(e){return o.apply(this,arguments)})},{key:"handleRoleDeleted",value:function(e){var t=this.roles.get(e.spaceId);t.delete(e.id),this.list.get(e.spaceId).roles=t.items}},{key:"handleSpaceUpdated",value:function(e){this.list.set(e.space)}},{key:"handleSpaceDeleted",value:function(e){var t,r,n,o=null!==(t=null===(r=this.rooms.get(e.id))||void 0===r?void 0:r.items.map(function(e){return e.id}))&&void 0!==t?t:[];(n=this.roomIdToSpaceId).delete.apply(n,ot(o)),this.roles.delete(e.id),this.members.delete(e.id),this.membersPromises.forget(e.id),this.rooms.delete(e.id),this.roomsPromises.forget(e.id),this.list.delete(e.id)}},{key:"handleSpaceJoined",value:function(e){this.addJoinedSpaces(e.space)}},{key:"addJoinedSpaces",value:function(){for(var e,t,r=arguments.length,n=new Array(r),o=0;o<r;o++)n[o]=arguments[o];(e=this.roles).set.apply(e,ot(n.map(function(e){return[e.id,new D("id",e.roles)]}))),(t=this.list).set.apply(t,n)}},{key:"handleSpaceMemberJoined",value:function(e){this.members.has(e.spaceId)&&this.members.get(e.spaceId).set(e.member)}},{key:"handleSpaceMemberLeft",value:function(e){this.members.has(e.spaceId)&&this.members.get(e.spaceId).delete(e.userId)}},{key:"handleSpaceMembers",value:function(e){this.members.has(e.id)||this.members.set([e.id,new D(function(e){return null==e?void 0:e.user.id},e.members)])}},{key:"handleSpaceRooms",value:function(e){var t=this;this.rooms.has(e.id)||(this.rooms.set([e.id,new D("id",e.summaries)]),e.summaries.forEach(function(r){return t.roomIdToSpaceId.set([r.id,e.id])}))}},{key:"handleRoomSummaryUpdated",value:(n=ft(ct().m(function e(t){var r,n,o,i,a;return ct().w(function(e){for(;;)switch(e.n){case 0:if(r=this.roomIdToSpaceId.get(t.summary.id),n=this.roomsPromises.get(r),!r||!n){e.n=2;break}return e.n=1,n;case 1:o=this.rooms.get(r),i=o.get(t.summary.id),a=i?ut(ut({},i),t.summary):t.summary,o.set(a);case 2:return e.a(2)}},e,this)})),function(e){return n.apply(this,arguments)})},{key:"handleSpaceMemberUpdated",value:function(e){if(this.members.has(e.spaceId)){var t=this.members.get(e.spaceId),r=t.get(e.userId);t.set(ut(ut({},e.member),{},{user:r.user}))}}},{key:"handleRoleUpdated",value:function(e){var t,r=this.roles.get(e.spaceId),n=r.get(e.role.id),o=e.role,i=[o];n.priority!==o.priority&&i.push.apply(i,ot(function(e,t,r){var n=r.priority-t.priority>0,o=!n,i=[];return e.forEach(function(e){e.id!==r.id&&(n&&t.priority<=e.priority&&(e.priority--,i.push(e)),o&&r.priority<=e.priority&&(e.priority++,i.push(e)))}),i}(r.items,n,o))),(t=this.roles.get(e.spaceId)).set.apply(t,i)}},{key:"handleSession",value:function(e){this.list.deleteAll(),this.roles.deleteAll(),this.rooms.deleteAll(),this.roomsPromises.forgetAll(),this.members.deleteAll(),this.membersPromises.forgetAll(),this.roomIdToSpaceId.deleteAll(),this.addJoinedSpaces.apply(this,ot(e.state.spaces)),this.deferredSession.resolve()}},{key:"handleUserUpdated",value:function(e){this.members.items.forEach(function(t){var r=t.get(e.user.id);r&&t.set(ut(ut({},r),{},{user:e.user}))})}}],t&&pt(e.prototype,t),r&&pt(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,r,n,o,i,a,u,c}();function vt(e){return vt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},vt(e)}function mt(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,kt(n.key),n)}}function bt(e,t,r){return t&&mt(e.prototype,t),r&&mt(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function gt(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function wt(e,t,r){return(t=kt(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function kt(e){var t=function(e,t){if("object"!=vt(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=vt(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==vt(t)?t:t+""}var St=function(e){return e[e.Global=0]="Global",e[e.Space=1]="Space",e[e.Room=2]="Room",e[e.Topic=3]="Topic",e}({}),Ot=bt(function e(){gt(this,e),wt(this,"value",void 0),wt(this,"maxLayer",void 0)}),jt=function(){return bt(function e(){gt(this,e)},null,[{key:"getNames",value:function(){return Object.keys(this.list)}},{key:"getByName",value:function(e){return this.list[e]}},{key:"canBeDefinedOnLayer",value:function(e,t){if(!this.getByName(e))throw new Error("Invalid permission name: ".concat(e));return t<=this.getByName(e).maxLayer}}])}();function Pt(e){return Pt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Pt(e)}function Tt(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=Rt(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){u=!0,i=e},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}function It(e){return function(e){if(Array.isArray(e))return _t(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Rt(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Et(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,u=[],c=!0,s=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(e){s=!0,o=e}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return u}}(e,t)||Rt(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Rt(e,t){if(e){if("string"==typeof e)return _t(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_t(e,t):void 0}}function _t(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function At(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return Mt(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,p={p:0,n:0,v:e,a:h,f:h.bind(e,4),d:function(t,r){return i=t,u=0,c=e,p.n=r,a}};function h(r,n){for(u=r,c=n,t=0;!f&&s&&!o&&t<l.length;t++){var o,i=l[t],h=p.p,d=i[2];r>3?(o=d===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=e):i[0]<=h&&((o=r<2&&h<i[1])?(u=0,p.v=n,p.n=i[1]):h<d&&(o=r<3||i[0]>n||n>d)&&(i[4]=r,i[5]=n,p.n=d,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,d){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&h(l,d),u=l,c=d;(t=u<2?e:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),h(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,u<2&&(u=0)}else 1===u&&(t=i.return)&&t.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=e}else if((t=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(t){i=e,u=1,c=t}finally{s=1}}return{value:t,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}t=Object.getPrototypeOf;var l=[][n]?t(t([][n]())):(Mt(t={},n,function(){return this}),t),f=s.prototype=u.prototype=Object.create(l);function p(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,Mt(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=s,Mt(f,"constructor",s),Mt(s,"constructor",c),c.displayName="GeneratorFunction",Mt(s,o,"GeneratorFunction"),Mt(f),Mt(f,o,"Generator"),Mt(f,n,function(){return this}),Mt(f,"toString",function(){return"[object Generator]"}),(At=function(){return{w:i,m:p}})()}function Mt(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}Mt=function(e,t,r,n){function i(t,r){Mt(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(i("next",0),i("throw",1),i("return",2))},Mt(e,t,r,n)}function Gt(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function xt(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(e){Gt(i,n,o,a,u,"next",e)}function u(e){Gt(i,n,o,a,u,"throw",e)}a(void 0)})}}function Lt(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Jt(n.key),n)}}function Ft(e,t,r){return t=Ut(t),function(e,t){if(t&&("object"==Pt(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Dt()?Reflect.construct(t,r||[],Ut(e).constructor):t.apply(e,r))}function Dt(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Dt=function(){return!!e})()}function Nt(){return Nt="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var n=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=Ut(e)););return e}(e,t);if(n){var o=Object.getOwnPropertyDescriptor(n,t);return o.get?o.get.call(arguments.length<3?e:r):o.value}},Nt.apply(null,arguments)}function Ut(e){return Ut=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Ut(e)}function Ct(e,t){return Ct=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Ct(e,t)}function Bt(e,t,r){return(t=Jt(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Jt(e){var t=function(e,t){if("object"!=Pt(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=Pt(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==Pt(t)?t:t+""}wt(jt,"list",{Root:{value:1,maxLayer:St.Room},CreateSpaces:{value:2,maxLayer:St.Global},ManageSpace:{value:4,maxLayer:St.Space},ManageSpaceRoles:{value:8,maxLayer:St.Space},ManageRoom:{value:16,maxLayer:St.Room},CreateTopics:{value:32,maxLayer:St.Room},ManageTopic:{value:64,maxLayer:St.Topic},ManageSpaceMembers:{value:128,maxLayer:St.Space},ManageRoomMembers:{value:256,maxLayer:St.Room},CreateMessages:{value:512,maxLayer:St.Topic},ManagePermissions:{value:1024,maxLayer:St.Topic},CreateSpaceRooms:{value:2048,maxLayer:St.Space},ManageSpaceRooms:{value:4096,maxLayer:St.Space},CreateEmoticons:{value:8192,maxLayer:St.Space},ManageEmoticon:{value:16384,maxLayer:St.Space},ManageBan:{value:32768,maxLayer:St.Room},Kick:{value:65536,maxLayer:St.Room},ChangeOwnNick:{value:1<<17,maxLayer:St.Space}});var Ht=function(e,t){return[e.spaceId,e.roomId,e.topicId,null==t?void 0:t.type,null==t?void 0:t.userId,null==t?void 0:t.roleId].filter(Boolean).join("/")},Wt=function(e){return Ht(e.location,e.target)},$t=function(e){function t(e){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),Bt(r=Ft(this,t),"overwrites",new x),Bt(r,"overwritesPromises",new $),r.tracker=e,r.tracker.client.on("PermissionOverwrites",function(e){return r.handlePermissionOverwrites(e)}),r.tracker.client.on("PermissionOverwritesUpdated",function(e){return r.handlePermissionOverwrites(e)}),r.tracker.client.on("SpaceDeleted",function(e){return r.handleSpaceDeleted(e)}),r.tracker.client.on("SpaceLeft",function(e){return r.handleSpaceDeleted(e)}),r.tracker.client.on("RoomDeleted",function(e){return r.handleRoomDeleted(e)}),r.tracker.client.on("RoomLeft",function(e){return r.handleRoomDeleted(e)}),r.tracker.client.on("TopicDeleted",function(e){return r.handleTopicDeleted(e)}),r.tracker.client.on("RoleDeleted",function(e){return r.handleRoleDeleted(e)}),r.tracker.client.on("SpaceMemberUpdated",function(e){return r.handleSpaceMemberUpdated(e)}),r.tracker.client.on("RoomMemberUpdated",function(e){return r.handleRoomMemberUpdated(e)}),r.tracker.client.on("Session",function(e){return r.handleSession(e)}),r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Ct(e,t)}(t,e),r=t,n=[{key:"getOverwrites",value:(f=xt(At().m(function e(t,r){var n,o=this;return At().w(function(e){for(;;)switch(e.n){case 0:return this.validateLocation(t),n=Ht(t,r),this.overwritesPromises.notExist(n)&&this.overwritesPromises.registerByFunction(xt(At().m(function e(){var n;return At().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,o.tracker.client.send("GetPermissionOverwrites",{location:t,target:r});case 1:if(!(n=e.v).error){e.n=2;break}throw n.error;case 2:o.handlePermissionOverwrites(n.data);case 3:return e.a(2)}},e)})),n),e.n=1,this.overwritesPromises.get(n);case 1:return e.a(2,this.overwrites.get(n))}},e,this)})),function(e,t){return f.apply(this,arguments)})},{key:"on",value:function(e,r){return(n=t,o="on",i=this,u=Nt(Ut(1&(a=3)?n.prototype:n),o,i),2&a&&"function"==typeof u?function(e){return u.apply(i,e)}:u)([e,r]);var n,o,i,a,u}},{key:"check",value:(l=xt(At().m(function e(t,r){var n,o;return At().w(function(e){for(;;)switch(e.n){case 0:if(t.length){e.n=1;break}throw new Error("Permission names array cannot be empty");case 1:return e.n=2,this.calculatePermissions(r);case 2:return n=e.v,o=[],t.forEach(function(e){~n&jt.getByName(e).value&&o.push(e)}),e.a(2,{ok:0===o.length,hasAll:0===o.length,hasAny:o.length<t.length,missing:o})}},e,this)})),function(e,t){return l.apply(this,arguments)})},{key:"calculatePermissions",value:(s=xt(At().m(function e(t){var r,n,o,i,a,u,c,s,l,f,p,h,d,y,v,m,b,g,w,k,S,O,j,P,T,I,E;return At().w(function(e){for(;;)switch(e.n){case 0:return this.validateLocation(t),e.n=1,this.tracker.getMe();case 1:return u=e.v.id,e.n=2,this.fetchMembersOrFail(t);case 2:if(c=e.v,s=Et(c,2),l=s[0],f=s[1],p=[].concat(It(null!==(r=null==l?void 0:l.roles)&&void 0!==r?r:[]),It(null!==(n=null==f?void 0:f.roles)&&void 0!==n?n:[])),h=[this.getOverwrites({},{type:"User",userId:u}).then(function(e){return e.overwrites})],!(v=t.spaceId)){e.n=6;break}return e.n=3,this.tracker.spaces.get();case 3:if(g=o=e.v,!(b=null!==g)){e.n=4;break}b=void 0!==o;case 4:if(!(m=b)){e.n=5;break}m=o.has(t.spaceId);case 5:v=m;case 6:if(!v){e.n=7;break}d={spaceId:t.spaceId},h.push(this.collectRoleOverwrites(d,p)),h.push(this.getOverwrites(d,{type:"User",userId:u}).then(function(e){return e.overwrites}));case 7:if(!(w=t.roomId)){e.n=11;break}return e.n=8,this.tracker.rooms.get();case 8:if(O=i=e.v,!(S=null!==O)){e.n=9;break}S=void 0!==i;case 9:if(!(k=S)){e.n=10;break}k=i.has(t.roomId);case 10:w=k;case 11:if(!w){e.n=12;break}y={spaceId:t.spaceId,roomId:t.roomId},p.length&&h.push(this.collectRoleOverwrites(y,p)),h.push(this.getOverwrites(y,{type:"User",userId:u}).then(function(e){return e.overwrites}));case 12:if(!(j=t.topicId)){e.n=16;break}return e.n=13,this.tracker.rooms.getTopics(t.roomId);case 13:if(I=a=e.v,!(T=null!==I)){e.n=14;break}T=void 0!==a;case 14:if(!(P=T)){e.n=15;break}P=a.has(t.topicId);case 15:j=P;case 16:if(!j){e.n=17;break}p.length&&h.push(this.collectRoleOverwrites(t,p)),h.push(this.getOverwrites(t,{type:"User",userId:u}).then(function(e){return e.overwrites}));case 17:return E=this,e.n=18,Promise.all(h);case 18:return e.a(2,E.resolveOverwritesHierarchy.call(E,e.v))}},e,this)})),function(e){return s.apply(this,arguments)})},{key:"handlePermissionOverwrites",value:function(e){this.overwrites.set([Wt(e),e]),this.emit("change")}},{key:"handleSpaceDeleted",value:function(e){var t,r=this.deleteOverwritesByIdPrefix(Ht({spaceId:e.id}));(t=this.overwritesPromises).forget.apply(t,It(r))}},{key:"handleRoomDeleted",value:(c=xt(At().m(function e(t){var r,n,o;return At().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.tracker.rooms.get();case 1:(r=e.v.get(t.id))&&(o=this.deleteOverwritesByIdPrefix(Ht({spaceId:r.spaceId,roomId:r.id})),(n=this.overwritesPromises).forget.apply(n,It(o)));case 2:return e.a(2)}},e,this)})),function(e){return c.apply(this,arguments)})},{key:"handleTopicDeleted",value:function(e){var t,r=this.deleteOverwritesByIdPrefix(Ht(e.location));(t=this.overwritesPromises).forget.apply(t,It(r))}},{key:"handleRoleDeleted",value:function(e){var t,r=this.deleteOverwritesByIdPrefix(Ht({spaceId:e.spaceId},{type:"Role",roleId:e.id}));(t=this.overwritesPromises).forget.apply(t,It(r))}},{key:"handleSpaceMemberUpdated",value:function(e){var t;e.userId===(null===(t=this.tracker.me)||void 0===t?void 0:t.id)&&this.emit("change")}},{key:"handleRoomMemberUpdated",value:function(e){var t;e.userId===(null===(t=this.tracker.me)||void 0===t?void 0:t.id)&&this.emit("change")}},{key:"deleteOverwritesByIdPrefix",value:function(e){var t=this,r=[];return this.overwrites.items.forEach(function(n){var o=Wt(n);o.startsWith(e)&&(r.push(o),t.overwrites.delete(o))}),r}},{key:"collectRoleOverwrites",value:(u=xt(At().m(function e(t,r){var n,o=this;return At().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,Promise.all(r.map(function(e){return o.getOverwrites(t,{type:"Role",roleId:e})}));case 1:return n=e.v,e.a(2,this.resolveOverwritesFromRolesByOrder(t.spaceId,n))}},e,this)})),function(e,t){return u.apply(this,arguments)})},{key:"resolveOverwritesFromRolesByOrder",value:(a=xt(At().m(function e(t,r){var n,o,i,a,u;return At().w(function(e){for(;;)switch(e.n){case 0:return n=0,o=0,e.n=1,this.tracker.spaces.getRoles(t);case 1:return i=e.v,a=r.sort(function(e,t){return i.get(e.target.roleId).priority-i.get(t.target.roleId).priority}),u=r.reduce(function(e,t){var r,n,o,i;return Math.max(e,null!==(r=null===(n=t.overwrites.allow)||void 0===n?void 0:n.toString(2).length)&&void 0!==r?r:0,null!==(o=null===(i=t.overwrites.deny)||void 0===i?void 0:i.toString(2).length)&&void 0!==o?o:0)},0),a.forEach(function(e){for(var t,r,i,a,c=e.overwrites,s=null!==(t=null===(r=c.deny)||void 0===r?void 0:r.toString(2).split("").reverse().join(""))&&void 0!==t?t:"",l=null!==(i=null===(a=c.allow)||void 0===a?void 0:a.toString(2).split("").reverse().join(""))&&void 0!==i?i:"",f=0;f<u;f++){var p,h,d=parseInt(null!==(p=s[f])&&void 0!==p?p:"0"),y=parseInt(null!==(h=l[f])&&void 0!==h?h:"0");d&&(o|=1<<f),y&&(n|=1<<f)}}),e.a(2,{allow:n,deny:o})}},e,this)})),function(e,t){return a.apply(this,arguments)})},{key:"resolveOverwritesHierarchy",value:function(e){var t,r=0,n=Tt(e);try{for(n.s();!(t=n.n()).done;){var o=t.value;if(o.allow&jt.getByName("Root").value)return this.getRootAccessValue();r=r&~o.deny|o.allow}}catch(e){n.e(e)}finally{n.f()}return r}},{key:"getRootAccessValue",value:function(){var e,t=0,r=Tt(jt.getNames());try{for(r.s();!(e=r.n()).done;){var n=e.value;t|=jt.getByName(n).value}}catch(e){r.e(e)}finally{r.f()}return t}},{key:"fetchMembersOrFail",value:(i=xt(At().m(function e(t){var r,n,o,i;return At().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,Promise.all([t.spaceId?this.tracker.spaces.getMe(t.spaceId):null,t.roomId?this.tracker.rooms.getMe(t.roomId):null]);case 1:if(r=e.v,n=t.spaceId&&!r[0],o=t.roomId&&!r[1],!n&&!o){e.n=2;break}throw i=n?"space (".concat(t.spaceId,")"):"room (".concat(t.roomId,")"),new Error("Attempting to calculate permissions for a ".concat(i," that the user does not belong to"));case 2:return e.a(2,r)}},e,this)})),function(e){return i.apply(this,arguments)})},{key:"validateLocation",value:function(e){if(e.topicId&&!e.roomId)throw new Error("Corrupted arguments hierarchy")}},{key:"handleSession",value:function(e){this.overwrites.deleteAll(),this.overwritesPromises.forgetAll()}}],n&&Lt(r.prototype,n),o&&Lt(r,o),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,n,o,i,a,u,c,s,l,f}(a);function Qt(e){return Qt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Qt(e)}function Vt(e){return function(e){if(Array.isArray(e))return zt(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return zt(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?zt(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function zt(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function qt(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return Kt(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,p={p:0,n:0,v:e,a:h,f:h.bind(e,4),d:function(t,r){return i=t,u=0,c=e,p.n=r,a}};function h(r,n){for(u=r,c=n,t=0;!f&&s&&!o&&t<l.length;t++){var o,i=l[t],h=p.p,d=i[2];r>3?(o=d===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=e):i[0]<=h&&((o=r<2&&h<i[1])?(u=0,p.v=n,p.n=i[1]):h<d&&(o=r<3||i[0]>n||n>d)&&(i[4]=r,i[5]=n,p.n=d,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,d){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&h(l,d),u=l,c=d;(t=u<2?e:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),h(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,u<2&&(u=0)}else 1===u&&(t=i.return)&&t.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=e}else if((t=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(t){i=e,u=1,c=t}finally{s=1}}return{value:t,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}t=Object.getPrototypeOf;var l=[][n]?t(t([][n]())):(Kt(t={},n,function(){return this}),t),f=s.prototype=u.prototype=Object.create(l);function p(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,Kt(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=s,Kt(f,"constructor",s),Kt(s,"constructor",c),c.displayName="GeneratorFunction",Kt(s,o,"GeneratorFunction"),Kt(f),Kt(f,o,"Generator"),Kt(f,n,function(){return this}),Kt(f,"toString",function(){return"[object Generator]"}),(qt=function(){return{w:i,m:p}})()}function Kt(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}Kt=function(e,t,r,n){function i(t,r){Kt(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(i("next",0),i("throw",1),i("return",2))},Kt(e,t,r,n)}function Yt(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function Xt(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(e){Yt(i,n,o,a,u,"next",e)}function u(e){Yt(i,n,o,a,u,"throw",e)}a(void 0)})}}function Zt(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,tr(n.key),n)}}function er(e,t,r){return(t=tr(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function tr(e){var t=function(e,t){if("object"!=Qt(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=Qt(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==Qt(t)?t:t+""}var rr="global",nr=function(){return e=function e(t){var r=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),er(this,"list",new x),er(this,"emoticonsPromises",new $),this.tracker=t,this.tracker.client.on("Emoticons",function(e){return r.handleEmoticons(e)}),this.tracker.client.on("NewEmoticon",function(e){return r.handleNewEmoticon(e)}),this.tracker.client.on("EmoticonDeleted",function(e){return r.handleEmoticonDeleted(e)}),this.tracker.client.on("SpaceDeleted",function(e){return r.handleSpaceDeleted(e)}),this.tracker.client.on("Session",function(){return r.handleSession()})},t=[{key:"get",value:function(){var e=Xt(qt().m(function e(t){var r,n=this;return qt().w(function(e){for(;;)switch(e.n){case 0:return r=null!=t?t:rr,this.emoticonsPromises.notExist(r)&&this.emoticonsPromises.registerByFunction(Xt(qt().m(function e(){var r;return qt().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,n.tracker.client.send("GetEmoticons",{spaceId:t});case 1:if(!(r=e.v).error){e.n=2;break}throw r.error;case 2:n.handleEmoticons(r.data);case 3:return e.a(2)}},e)})),r),e.n=1,this.emoticonsPromises.get(r);case 1:return e.a(2,this.list.get(r))}},e,this)}));return function(t){return e.apply(this,arguments)}}()},{key:"handleEmoticons",value:function(e){var t,r=null!==(t=e.location.spaceId)&&void 0!==t?t:rr;this.list.has(r)||this.list.set([r,new D("id")]);var n=this.list.get(r);n.set.apply(n,Vt(e.emoticons))}},{key:"handleNewEmoticon",value:function(e){var t,r=this.list.get(null!==(t=e.emoticon.spaceId)&&void 0!==t?t:rr);null==r||r.set(e.emoticon)}},{key:"handleEmoticonDeleted",value:function(e){var t,r=this.list.get(null!==(t=e.spaceId)&&void 0!==t?t:rr);null==r||r.delete(e.emoticonId)}},{key:"handleSpaceDeleted",value:function(e){this.list.delete(e.id)}},{key:"handleSession",value:function(){this.list.deleteAll(),this.emoticonsPromises.forgetAll()}}],t&&Zt(e.prototype,t),r&&Zt(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,r}();function or(e){return or="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},or(e)}function ir(e){return function(e){if(Array.isArray(e))return ar(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return ar(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ar(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ar(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function ur(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return cr(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,p={p:0,n:0,v:e,a:h,f:h.bind(e,4),d:function(t,r){return i=t,u=0,c=e,p.n=r,a}};function h(r,n){for(u=r,c=n,t=0;!f&&s&&!o&&t<l.length;t++){var o,i=l[t],h=p.p,d=i[2];r>3?(o=d===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=e):i[0]<=h&&((o=r<2&&h<i[1])?(u=0,p.v=n,p.n=i[1]):h<d&&(o=r<3||i[0]>n||n>d)&&(i[4]=r,i[5]=n,p.n=d,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,d){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&h(l,d),u=l,c=d;(t=u<2?e:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),h(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,u<2&&(u=0)}else 1===u&&(t=i.return)&&t.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=e}else if((t=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(t){i=e,u=1,c=t}finally{s=1}}return{value:t,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}t=Object.getPrototypeOf;var l=[][n]?t(t([][n]())):(cr(t={},n,function(){return this}),t),f=s.prototype=u.prototype=Object.create(l);function p(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,cr(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=s,cr(f,"constructor",s),cr(s,"constructor",c),c.displayName="GeneratorFunction",cr(s,o,"GeneratorFunction"),cr(f),cr(f,o,"Generator"),cr(f,n,function(){return this}),cr(f,"toString",function(){return"[object Generator]"}),(ur=function(){return{w:i,m:p}})()}function cr(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}cr=function(e,t,r,n){function i(t,r){cr(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(i("next",0),i("throw",1),i("return",2))},cr(e,t,r,n)}function sr(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function lr(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,pr(n.key),n)}}function fr(e,t,r){return(t=pr(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function pr(e){var t=function(e,t){if("object"!=or(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=or(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==or(t)?t:t+""}var hr=function(){return e=function e(t){var r=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),fr(this,"onlineStatus",new a),fr(this,"users",new D("id")),this.tracker=t,t.client.on("UserUpdated",function(e){return r.handleUsers([e.user])}),t.client.on("RoomMemberJoined",function(e){return r.handleMembers([e.member])}),t.client.on("SpaceMemberJoined",function(e){return r.handleMembers([e.member])}),t.client.on("SpaceMembers",function(e){return r.handleMembers(e.members)}),t.client.on("RoomMembers",function(e){return r.handleMembers(e.members)}),t.client.on("Messages",function(e){return r.handleUsers(e.messages.map(function(e){return e.author.user}))}),t.client.on("NewMessage",function(e){return r.handleUsers([e.message.author.user])}),t.client.on("Session",function(e){return r.handleSession(e)})},t=[{key:"getAvailable",value:(n=ur().m(function e(){return ur().w(function(e){for(;;)if(0===e.n)return e.a(2,this.users)},e,this)}),o=function(){var e=this,t=arguments;return new Promise(function(r,o){var i=n.apply(e,t);function a(e){sr(i,r,o,a,u,"next",e)}function u(e){sr(i,r,o,a,u,"throw",e)}a(void 0)})},function(){return o.apply(this,arguments)})},{key:"handleMembers",value:function(e){this.handleUsers(e.map(rt))}},{key:"handleSession",value:function(e){this.users.deleteAll(),this.handleUsers([e.user])}},{key:"handleUsers",value:function(e){var t,r=this;e.forEach(function(e){var t=r.users.get(e.id);t&&t.online!==e.online&&r.onlineStatus.emit("change",e)}),(t=this.users).set.apply(t,ir(e))}}],t&&lr(e.prototype,t),r&&lr(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,r,n,o}();function dr(e){return dr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},dr(e)}function yr(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return vr(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,p={p:0,n:0,v:e,a:h,f:h.bind(e,4),d:function(t,r){return i=t,u=0,c=e,p.n=r,a}};function h(r,n){for(u=r,c=n,t=0;!f&&s&&!o&&t<l.length;t++){var o,i=l[t],h=p.p,d=i[2];r>3?(o=d===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=e):i[0]<=h&&((o=r<2&&h<i[1])?(u=0,p.v=n,p.n=i[1]):h<d&&(o=r<3||i[0]>n||n>d)&&(i[4]=r,i[5]=n,p.n=d,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,d){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&h(l,d),u=l,c=d;(t=u<2?e:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),h(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,u<2&&(u=0)}else 1===u&&(t=i.return)&&t.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=e}else if((t=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(t){i=e,u=1,c=t}finally{s=1}}return{value:t,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}t=Object.getPrototypeOf;var l=[][n]?t(t([][n]())):(vr(t={},n,function(){return this}),t),f=s.prototype=u.prototype=Object.create(l);function p(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,vr(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=s,vr(f,"constructor",s),vr(s,"constructor",c),c.displayName="GeneratorFunction",vr(s,o,"GeneratorFunction"),vr(f),vr(f,o,"Generator"),vr(f,n,function(){return this}),vr(f,"toString",function(){return"[object Generator]"}),(yr=function(){return{w:i,m:p}})()}function vr(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}vr=function(e,t,r,n){function i(t,r){vr(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(i("next",0),i("throw",1),i("return",2))},vr(e,t,r,n)}function mr(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function br(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(e){mr(i,n,o,a,u,"next",e)}function u(e){mr(i,n,o,a,u,"throw",e)}a(void 0)})}}function gr(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,kr(n.key),n)}}function wr(e,t,r){return(t=kr(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function kr(e){var t=function(e,t){if("object"!=dr(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=dr(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==dr(t)?t:t+""}var Sr=function(e,t){return"".concat(e,"-").concat(t)},Or=function(e){return Sr(e.refUser.id,e.type)},jr=function(){return e=function e(t){var r=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),wr(this,"relationships",new D(Or)),wr(this,"promises",new $),this.tracker=t,this.tracker.client.on("Relationships",function(e){return r.handleRelationships(e)}),this.tracker.client.on("NewRelationship",function(e){return r.handleNewRelationship(e)}),this.tracker.client.on("RelationshipDeleted",function(e){return r.handleRelationshipDeleted(e)}),this.tracker.client.on("Session",function(){return r.handleSession()})},t=[{key:"get",value:function(){var e=br(yr().m(function e(){var t=this;return yr().w(function(e){for(;;)switch(e.n){case 0:return this.promises.notExist("all")&&this.promises.registerByFunction(br(yr().m(function e(){var r;return yr().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,t.tracker.client.send("GetRelationships",{});case 1:if(!(r=e.v).error){e.n=2;break}throw r.error;case 2:return e.a(2)}},e)})),"all"),e.n=1,this.promises.get("all");case 1:return e.a(2,this.relationships)}},e,this)}));return function(){return e.apply(this,arguments)}}()},{key:"exists",value:(n=br(yr().m(function e(t,r){return yr().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.get();case 1:return e.a(2,this.relationships.has(Sr(t,r)))}},e,this)})),function(e,t){return n.apply(this,arguments)})},{key:"handleRelationships",value:function(e){var t=this;this.relationships.deleteAll(),e.relationships.forEach(function(e){t.relationships.set(e)})}},{key:"handleNewRelationship",value:function(e){this.promises.has("all")&&this.relationships.set(e.relationship)}},{key:"handleRelationshipDeleted",value:function(e){this.promises.has("all")&&this.relationships.delete(Or(e.relationship))}},{key:"handleSession",value:function(){this.promises.forgetAll(),this.relationships.deleteAll()}}],t&&gr(e.prototype,t),r&&gr(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,r,n}();function Pr(e){return Pr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Pr(e)}function Tr(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return Ir(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,p={p:0,n:0,v:e,a:h,f:h.bind(e,4),d:function(t,r){return i=t,u=0,c=e,p.n=r,a}};function h(r,n){for(u=r,c=n,t=0;!f&&s&&!o&&t<l.length;t++){var o,i=l[t],h=p.p,d=i[2];r>3?(o=d===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=e):i[0]<=h&&((o=r<2&&h<i[1])?(u=0,p.v=n,p.n=i[1]):h<d&&(o=r<3||i[0]>n||n>d)&&(i[4]=r,i[5]=n,p.n=d,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,d){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&h(l,d),u=l,c=d;(t=u<2?e:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),h(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,u<2&&(u=0)}else 1===u&&(t=i.return)&&t.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=e}else if((t=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(t){i=e,u=1,c=t}finally{s=1}}return{value:t,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}t=Object.getPrototypeOf;var l=[][n]?t(t([][n]())):(Ir(t={},n,function(){return this}),t),f=s.prototype=u.prototype=Object.create(l);function p(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,Ir(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=s,Ir(f,"constructor",s),Ir(s,"constructor",c),c.displayName="GeneratorFunction",Ir(s,o,"GeneratorFunction"),Ir(f),Ir(f,o,"Generator"),Ir(f,n,function(){return this}),Ir(f,"toString",function(){return"[object Generator]"}),(Tr=function(){return{w:i,m:p}})()}function Ir(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}Ir=function(e,t,r,n){function i(t,r){Ir(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(i("next",0),i("throw",1),i("return",2))},Ir(e,t,r,n)}function Er(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function Rr(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Ar(n.key),n)}}function _r(e,t,r){return(t=Ar(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ar(e){var t=function(e,t){if("object"!=Pr(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=Pr(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==Pr(t)?t:t+""}var Mr=function(){return e=function e(t){var r=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),_r(this,"client",void 0),_r(this,"permissions",void 0),_r(this,"rooms",void 0),_r(this,"spaces",void 0),_r(this,"emoticons",void 0),_r(this,"users",void 0),_r(this,"relationships",void 0),_r(this,"_me",null),_r(this,"deferredSession",new W),this.client=t,this.client.on("Session",function(e){return r.handleSession(e)}),this.permissions=new $t(this),this.rooms=new tt(this),this.spaces=new yt(this),this.emoticons=new nr(this),this.users=new hr(this),this.relationships=new jr(this)},t=[{key:"me",get:function(){return this._me}},{key:"getMe",value:(n=Tr().m(function e(){return Tr().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.deferredSession.promise;case 1:return e.a(2,this._me)}},e,this)}),o=function(){var e=this,t=arguments;return new Promise(function(r,o){var i=n.apply(e,t);function a(e){Er(i,r,o,a,u,"next",e)}function u(e){Er(i,r,o,a,u,"throw",e)}a(void 0)})},function(){return o.apply(this,arguments)})},{key:"handleSession",value:function(e){this._me=e.user,this.deferredSession.resolve()}}],t&&Rr(e.prototype,t),r&&Rr(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,r,n,o}();function Gr(e){return Gr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Gr(e)}function xr(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return Lr(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,p={p:0,n:0,v:e,a:h,f:h.bind(e,4),d:function(t,r){return i=t,u=0,c=e,p.n=r,a}};function h(r,n){for(u=r,c=n,t=0;!f&&s&&!o&&t<l.length;t++){var o,i=l[t],h=p.p,d=i[2];r>3?(o=d===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=e):i[0]<=h&&((o=r<2&&h<i[1])?(u=0,p.v=n,p.n=i[1]):h<d&&(o=r<3||i[0]>n||n>d)&&(i[4]=r,i[5]=n,p.n=d,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,d){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&h(l,d),u=l,c=d;(t=u<2?e:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),h(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,u<2&&(u=0)}else 1===u&&(t=i.return)&&t.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=e}else if((t=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(t){i=e,u=1,c=t}finally{s=1}}return{value:t,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}t=Object.getPrototypeOf;var l=[][n]?t(t([][n]())):(Lr(t={},n,function(){return this}),t),f=s.prototype=u.prototype=Object.create(l);function p(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,Lr(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=s,Lr(f,"constructor",s),Lr(s,"constructor",c),c.displayName="GeneratorFunction",Lr(s,o,"GeneratorFunction"),Lr(f),Lr(f,o,"Generator"),Lr(f,n,function(){return this}),Lr(f,"toString",function(){return"[object Generator]"}),(xr=function(){return{w:i,m:p}})()}function Lr(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}Lr=function(e,t,r,n){function i(t,r){Lr(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(i("next",0),i("throw",1),i("return",2))},Lr(e,t,r,n)}function Fr(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function Dr(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(e){Fr(i,n,o,a,u,"next",e)}function u(e){Fr(i,n,o,a,u,"throw",e)}a(void 0)})}}function Nr(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Wr(n.key),n)}}function Ur(e,t,r){return t=Br(t),function(e,t){if(t&&("object"==Gr(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Cr()?Reflect.construct(t,r||[],Br(e).constructor):t.apply(e,r))}function Cr(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Cr=function(){return!!e})()}function Br(e){return Br=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Br(e)}function Jr(e,t){return Jr=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Jr(e,t)}function Hr(e,t,r){return(t=Wr(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Wr(e){var t=function(e,t){if("object"!=Gr(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=Gr(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==Gr(t)?t:t+""}var $r=function(e){return e.connect="connect",e.disconnect="disconnect",e.message="message",e.error="error",e}($r||{}),Qr=function(e){function t(e){var r,n;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),Hr(n=Ur(this,t),"Event",$r),Hr(n,"state",void 0),Hr(n,"ws",null),Hr(n,"sendQueue",[]),Hr(n,"connectingTimeoutId",void 0),Hr(n,"authenticated",void 0),Hr(n,"authenticatedResolvers",void 0),n.options=e,(null===(r=n.options.stateTracking)||void 0===r||r)&&(n.state=new Mr(n)),n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Jr(e,t)}(t,e),r=t,n=[{key:"connect",value:(a=Dr(xr().m(function e(){var t,r,n,o=this;return xr().w(function(e){for(;;)if(0===e.n)return(n=new URLSearchParams(null!==(t=this.options.queryParams)&&void 0!==t?t:{})).set("token",this.options.token),this.ws=new WebSocket("".concat(this.options.url,"?").concat(n)),this.ws.onclose=function(e){return o.onClose(e)},this.ws.onmessage=function(e){return o.onMessage(e)},this.connectingTimeoutId=setTimeout(function(){return o.triggerConnectionTimeout()},null!==(r=this.options.connectingTimeoutMs)&&void 0!==r?r:1e4),this.authenticated=!1,e.a(2,new Promise(function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return o.authenticatedResolvers=t}))},e,this)})),function(){return a.apply(this,arguments)})},{key:"disconnect",value:function(){var e;this.sendQueue=[],null===(e=this.ws)||void 0===e||e.close(),this.ws=null}},{key:"send",value:(i=Dr(xr().m(function e(t,r){var n,o;return xr().w(function(e){for(;;)switch(e.n){case 0:if(n=this.createEnvelope(t,r),o=this.createPromiseFromCommandEnvelope(n),!this.isPendingReadyWsState()){e.n=1;break}return this.sendQueue.push(n),e.a(2,o);case 1:return this.sendEnvelope(n),e.a(2,o)}},e,this)})),function(e,t){return i.apply(this,arguments)})},{key:"sendEnvelope",value:function(e){var t,r;this.isReadyToSendWsState()?this.ws.send(JSON.stringify(e)):this.handleEnvelopeSendError(e,new Error("Cannot send; invalid websocket state=".concat(null!==(t=null===(r=this.ws)||void 0===r?void 0:r.readyState)&&void 0!==t?t:"[no connection]")))}},{key:"onMessage",value:function(e){var t=JSON.parse(e.data);if(this.handleIncomingEnvelope(t),this.emit(t.type,t.data),this.emit(this.Event.message,t),!this.authenticated){var r="Bye"!==t.type;this.authenticated=r,r?(this.authenticatedResolvers[0](),this.emit(this.Event.connect),this.sendFromQueue()):this.authenticatedResolvers[1](t.data)}}},{key:"onClose",value:function(e){clearTimeout(this.connectingTimeoutId);var t=1e3!==e.code;t&&this.connect(),this.emit(this.Event.disconnect,t)}},{key:"sendFromQueue",value:function(){var e=this,t=0,r=function(){var r,o=e.sendQueue[n];setTimeout(function(){return e.sendEnvelope(o)},t),t+=null!==(r=e.options.awaitQueueSendDelayMs)&&void 0!==r?r:500};for(var n in this.sendQueue)r();this.sendQueue=[],clearTimeout(this.connectingTimeoutId)}},{key:"triggerConnectionTimeout",value:function(){this.disconnect(),this.emit(this.Event.error,new Error("Connection timeout"))}},{key:"isPendingReadyWsState",value:function(){return this.ws&&this.ws.readyState===this.ws.CONNECTING||!this.authenticated}},{key:"isReadyToSendWsState",value:function(){return this.ws&&this.ws.readyState===this.ws.OPEN&&this.authenticated}}],n&&Nr(r.prototype,n),o&&Nr(r,o),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,n,o,i,a}(m);function Vr(e){return Vr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Vr(e)}function zr(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return qr(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,p={p:0,n:0,v:e,a:h,f:h.bind(e,4),d:function(t,r){return i=t,u=0,c=e,p.n=r,a}};function h(r,n){for(u=r,c=n,t=0;!f&&s&&!o&&t<l.length;t++){var o,i=l[t],h=p.p,d=i[2];r>3?(o=d===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=e):i[0]<=h&&((o=r<2&&h<i[1])?(u=0,p.v=n,p.n=i[1]):h<d&&(o=r<3||i[0]>n||n>d)&&(i[4]=r,i[5]=n,p.n=d,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,d){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&h(l,d),u=l,c=d;(t=u<2?e:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),h(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,u<2&&(u=0)}else 1===u&&(t=i.return)&&t.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=e}else if((t=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(t){i=e,u=1,c=t}finally{s=1}}return{value:t,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}t=Object.getPrototypeOf;var l=[][n]?t(t([][n]())):(qr(t={},n,function(){return this}),t),f=s.prototype=u.prototype=Object.create(l);function p(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,qr(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=s,qr(f,"constructor",s),qr(s,"constructor",c),c.displayName="GeneratorFunction",qr(s,o,"GeneratorFunction"),qr(f),qr(f,o,"Generator"),qr(f,n,function(){return this}),qr(f,"toString",function(){return"[object Generator]"}),(zr=function(){return{w:i,m:p}})()}function qr(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}qr=function(e,t,r,n){function i(t,r){qr(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(i("next",0),i("throw",1),i("return",2))},qr(e,t,r,n)}function Kr(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function Yr(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(e){Kr(i,n,o,a,u,"next",e)}function u(e){Kr(i,n,o,a,u,"throw",e)}a(void 0)})}}function Xr(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,on(n.key),n)}}function Zr(e,t,r){return t=tn(t),function(e,t){if(t&&("object"==Vr(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,en()?Reflect.construct(t,r||[],tn(e).constructor):t.apply(e,r))}function en(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(en=function(){return!!e})()}function tn(e){return tn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},tn(e)}function rn(e,t){return rn=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},rn(e,t)}function nn(e,t,r){return(t=on(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function on(e){var t=function(e,t){if("object"!=Vr(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=Vr(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==Vr(t)?t:t+""}var an=function(e){return e.message="message",e.error="error",e.destroy="destroy",e}(an||{}),un=function(e){function t(e){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),nn(r=Zr(this,t),"Event",an),nn(r,"sendStack",void 0),r.options=e,r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&rn(e,t)}(t,e),r=t,n=[{key:"send",value:(a=Yr(zr().m(function e(t,r){var n;return zr().w(function(e){for(;;)if(0===e.n)return n=this.createEnvelope(t,r),this.sendStack.push({data:n,attempts:0,lastTimeoutId:null}),this.makeApiCall(this.sendStack.length-1),e.a(2,this.createPromiseFromCommandEnvelope(n))},e,this)})),function(e,t){return a.apply(this,arguments)})},{key:"destroy",value:function(){var e=this;this.sendStack.forEach(function(t){t.lastTimeoutId&&clearTimeout(t.lastTimeoutId),e.awaitingResponse.delete(t.data.ref)}),this.sendStack=[],this.emit(this.Event.destroy,!1)}},{key:"onMessage",value:(i=Yr(zr().m(function e(t,r){var n;return zr().w(function(e){for(;;)switch(e.n){case 0:return this.sendStack.splice(t,1),e.n=1,r.json();case 1:n=e.v,this.handleIncomingEnvelope(n),this.emit(n.type,n.data),this.emit(this.Event.message,n);case 2:return e.a(2)}},e,this)})),function(e,t){return i.apply(this,arguments)})},{key:"onError",value:function(e,t){var r,n,o=this;if(this.sendStack[e].attempts>=(null!==(r=this.options.attemptsToSend)&&void 0!==r?r:10))return this.sendStack.splice(e,1),void this.handleEnvelopeSendError(this.sendStack[e].data,new Error("Cannot send ".concat(t,"; aborting after reaching the maximum connection errors")));this.sendStack[e].lastTimeoutId=setTimeout(function(){return o.makeApiCall(e)},null!==(n=this.options.attemptDelayMs)&&void 0!==n?n:3e3)}},{key:"makeApiCall",value:function(e){var t,r=this;this.sendStack[e].attempts++;var n=JSON.stringify(this.sendStack[e].data),o={"Content-Type":"application/json",Accept:"application/json"};o.Authorization="Bearer ".concat(this.options.token);var i=new URLSearchParams(null!==(t=this.options.queryParams)&&void 0!==t?t:{}),a="".concat(this.options.url).concat(i?"?"+i:"");fetch(a,{headers:o,body:n,method:"POST"}).then(function(t){return r.onMessage(e,t)}).catch(function(){return r.onError(e,n)})}}],n&&Xr(r.prototype,n),o&&Xr(r,o),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,n,o,i,a}(m);function cn(e){return cn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},cn(e)}function sn(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return ln(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,p={p:0,n:0,v:e,a:h,f:h.bind(e,4),d:function(t,r){return i=t,u=0,c=e,p.n=r,a}};function h(r,n){for(u=r,c=n,t=0;!f&&s&&!o&&t<l.length;t++){var o,i=l[t],h=p.p,d=i[2];r>3?(o=d===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=e):i[0]<=h&&((o=r<2&&h<i[1])?(u=0,p.v=n,p.n=i[1]):h<d&&(o=r<3||i[0]>n||n>d)&&(i[4]=r,i[5]=n,p.n=d,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,d){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&h(l,d),u=l,c=d;(t=u<2?e:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),h(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,u<2&&(u=0)}else 1===u&&(t=i.return)&&t.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=e}else if((t=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(t){i=e,u=1,c=t}finally{s=1}}return{value:t,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}t=Object.getPrototypeOf;var l=[][n]?t(t([][n]())):(ln(t={},n,function(){return this}),t),f=s.prototype=u.prototype=Object.create(l);function p(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,ln(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=s,ln(f,"constructor",s),ln(s,"constructor",c),c.displayName="GeneratorFunction",ln(s,o,"GeneratorFunction"),ln(f),ln(f,o,"Generator"),ln(f,n,function(){return this}),ln(f,"toString",function(){return"[object Generator]"}),(sn=function(){return{w:i,m:p}})()}function ln(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}ln=function(e,t,r,n){function i(t,r){ln(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(i("next",0),i("throw",1),i("return",2))},ln(e,t,r,n)}function fn(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function pn(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?fn(Object(r),!0).forEach(function(t){hn(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):fn(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function hn(e,t,r){return(t=mn(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function dn(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function yn(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(e){dn(i,n,o,a,u,"next",e)}function u(e){dn(i,n,o,a,u,"throw",e)}a(void 0)})}}function vn(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,mn(n.key),n)}}function mn(e){var t=function(e,t){if("object"!=cn(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=cn(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==cn(t)?t:t+""}var bn=function(){return e=function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.options=t},t=[{key:"send",value:(o=yn(sn().m(function e(t,r){var n,o,i,a,u,c=arguments;return sn().w(function(e){for(;;)switch(e.n){case 0:return n=c.length>2&&void 0!==c[2]?c[2]:void 0,o=this.getUrl(r),i=void 0,n&&(["GET","DELETE"].includes(t)?o+=new URLSearchParams(n).toString():i=JSON.stringify(n)),a=pn({"Content-Type":"application/json",Accept:"application/json"},this.getAuthHeaders()),e.n=1,fetch(o,{method:t,body:i,headers:a});case 1:return u=e.v,e.a(2,this.convertFetchResponse(u))}},e,this)})),function(e,t){return o.apply(this,arguments)})},{key:"getAuthHeaders",value:function(){var e={};return this.options.token&&(e.Authorization="Bearer ".concat(this.options.token)),e}},{key:"getUrl",value:function(e){var t;return this.removeEndingSlash(null!==(t=this.options.url)&&void 0!==t?t:this.defaultUrl)+"/"+this.removeStartingSlash(e)}},{key:"convertFetchResponse",value:(n=yn(sn().m(function e(t){var r,n,o,i,a;return sn().w(function(e){for(;;)switch(e.n){case 0:if(n=t.ok,o=t.status,null===(r=t.headers.get("content-type"))||void 0===r||!r.includes("json")){e.n=2;break}return e.n=1,t.json();case 1:i=e.v,e.n=4;break;case 2:return e.n=3,t.text();case 3:i=e.v;case 4:return a=i,e.a(2,{ok:n,status:o,data:a})}},e)})),function(e){return n.apply(this,arguments)})},{key:"removeStartingSlash",value:function(e){return e.replace(/^\/+/,"")}},{key:"removeEndingSlash",value:function(e){return e.replace(/\/+$/,"")}}],t&&vn(e.prototype,t),r&&vn(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,r,n,o}();function gn(e){return gn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},gn(e)}function wn(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return kn(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,p={p:0,n:0,v:e,a:h,f:h.bind(e,4),d:function(t,r){return i=t,u=0,c=e,p.n=r,a}};function h(r,n){for(u=r,c=n,t=0;!f&&s&&!o&&t<l.length;t++){var o,i=l[t],h=p.p,d=i[2];r>3?(o=d===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=e):i[0]<=h&&((o=r<2&&h<i[1])?(u=0,p.v=n,p.n=i[1]):h<d&&(o=r<3||i[0]>n||n>d)&&(i[4]=r,i[5]=n,p.n=d,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,d){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&h(l,d),u=l,c=d;(t=u<2?e:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),h(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,u<2&&(u=0)}else 1===u&&(t=i.return)&&t.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=e}else if((t=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(t){i=e,u=1,c=t}finally{s=1}}return{value:t,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}t=Object.getPrototypeOf;var l=[][n]?t(t([][n]())):(kn(t={},n,function(){return this}),t),f=s.prototype=u.prototype=Object.create(l);function p(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,kn(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=s,kn(f,"constructor",s),kn(s,"constructor",c),c.displayName="GeneratorFunction",kn(s,o,"GeneratorFunction"),kn(f),kn(f,o,"Generator"),kn(f,n,function(){return this}),kn(f,"toString",function(){return"[object Generator]"}),(wn=function(){return{w:i,m:p}})()}function kn(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}kn=function(e,t,r,n){function i(t,r){kn(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(i("next",0),i("throw",1),i("return",2))},kn(e,t,r,n)}function Sn(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function On(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(e){Sn(i,n,o,a,u,"next",e)}function u(e){Sn(i,n,o,a,u,"throw",e)}a(void 0)})}}function jn(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Rn(n.key),n)}}function Pn(e,t,r){return t=In(t),function(e,t){if(t&&("object"==gn(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Tn()?Reflect.construct(t,r||[],In(e).constructor):t.apply(e,r))}function Tn(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Tn=function(){return!!e})()}function In(e){return In=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},In(e)}function En(e,t){return En=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},En(e,t)}function Rn(e){var t=function(e,t){if("object"!=gn(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=gn(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==gn(t)?t:t+""}var _n=function(e){function t(){var e,r,n,o;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var i=arguments.length,a=new Array(i),u=0;u<i;u++)a[u]=arguments[u];return e=Pn(this,t,[].concat(a)),r=e,o="https://polfan.pl/webservice/api",(n=Rn(n="defaultUrl"))in r?Object.defineProperty(r,n,{value:o,enumerable:!0,configurable:!0,writable:!0}):r[n]=o,e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&En(e,t)}(t,e),r=t,n=[{key:"deleteToken",value:(u=On(wn().m(function e(t){var r;return wn().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.send("DELETE","auth/tokens/".concat(t));case 1:if((r=e.v).ok){e.n=2;break}throw new Error("Cannot delete access token: ".concat(r.data.errors[0]));case 2:return e.a(2)}},e,this)})),function(e){return u.apply(this,arguments)})},{key:"getMe",value:(a=On(wn().m(function e(){var t;return wn().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.send("GET","auth/me");case 1:if(!(t=e.v).ok){e.n=2;break}return t.data.id=t.data.id.toString(),e.a(2,t.data);case 2:throw new Error("Cannot get current user account: ".concat(t.data.errors[0]));case 3:return e.a(2)}},e,this)})),function(){return a.apply(this,arguments)})}],o=[{key:"createToken",value:(i=On(wn().m(function e(r,n){var o,i,a=arguments;return wn().w(function(e){for(;;)switch(e.n){case 0:return o=a.length>2&&void 0!==a[2]?a[2]:"pserv-js-client",e.n=1,new t({token:null}).send("POST","auth/tokens",{login:r,password:n,client_name:o});case 1:if(!(i=e.v).ok){e.n=2;break}return e.a(2,i.data);case 2:throw new Error("Cannot create user token: ".concat(i.data.errors[0]));case 3:return e.a(2)}},e)})),function(e,t){return i.apply(this,arguments)})}],n&&jn(r.prototype,n),o&&jn(r,o),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,n,o,i,a,u}(bn);function An(e){return An="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},An(e)}function Mn(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return Gn(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,p={p:0,n:0,v:e,a:h,f:h.bind(e,4),d:function(t,r){return i=t,u=0,c=e,p.n=r,a}};function h(r,n){for(u=r,c=n,t=0;!f&&s&&!o&&t<l.length;t++){var o,i=l[t],h=p.p,d=i[2];r>3?(o=d===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=e):i[0]<=h&&((o=r<2&&h<i[1])?(u=0,p.v=n,p.n=i[1]):h<d&&(o=r<3||i[0]>n||n>d)&&(i[4]=r,i[5]=n,p.n=d,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,d){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&h(l,d),u=l,c=d;(t=u<2?e:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),h(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,u<2&&(u=0)}else 1===u&&(t=i.return)&&t.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=e}else if((t=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(t){i=e,u=1,c=t}finally{s=1}}return{value:t,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}t=Object.getPrototypeOf;var l=[][n]?t(t([][n]())):(Gn(t={},n,function(){return this}),t),f=s.prototype=u.prototype=Object.create(l);function p(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,Gn(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return c.prototype=s,Gn(f,"constructor",s),Gn(s,"constructor",c),c.displayName="GeneratorFunction",Gn(s,o,"GeneratorFunction"),Gn(f),Gn(f,o,"Generator"),Gn(f,n,function(){return this}),Gn(f,"toString",function(){return"[object Generator]"}),(Mn=function(){return{w:i,m:p}})()}function Gn(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}Gn=function(e,t,r,n){function i(t,r){Gn(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(i("next",0),i("throw",1),i("return",2))},Gn(e,t,r,n)}function xn(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Ln(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?xn(Object(r),!0).forEach(function(t){Hn(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):xn(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function Fn(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function Dn(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(e){Fn(i,n,o,a,u,"next",e)}function u(e){Fn(i,n,o,a,u,"throw",e)}a(void 0)})}}function Nn(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Wn(n.key),n)}}function Un(e,t,r){return t=Bn(t),function(e,t){if(t&&("object"==An(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Cn()?Reflect.construct(t,r||[],Bn(e).constructor):t.apply(e,r))}function Cn(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Cn=function(){return!!e})()}function Bn(e){return Bn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Bn(e)}function Jn(e,t){return Jn=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Jn(e,t)}function Hn(e,t,r){return(t=Wn(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Wn(e){var t=function(e,t){if("object"!=An(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=An(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==An(t)?t:t+""}var $n=function(e){function t(){var e;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var r=arguments.length,n=new Array(r),o=0;o<r;o++)n[o]=arguments[o];return Hn(e=Un(this,t,[].concat(n)),"defaultUrl","https://files.devana.pl"),e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Jn(e,t)}(t,e),r=t,n=[{key:"uploadFile",value:(u=Dn(Mn().m(function e(t){var r,n,o,i;return Mn().w(function(e){for(;;)switch(e.n){case 0:return n=encodeURIComponent(null!==(r=t.name)&&void 0!==r?r:""),o=Ln(Ln({},this.getAuthHeaders()),{},{Accept:"application/json","Content-Disposition":'attachment; filename="'.concat(n,'"'),"Content-Length":t.size}),e.n=1,fetch(this.getUrl("files"),{method:"POST",body:t,headers:o});case 1:return i=e.v,e.a(2,this.convertFetchResponse(i))}},e,this)})),function(e){return u.apply(this,arguments)})},{key:"getFileMeta",value:(a=Dn(Mn().m(function e(t){return Mn().w(function(e){for(;;)if(0===e.n)return e.a(2,this.send("GET","files/"+t))},e,this)})),function(e){return a.apply(this,arguments)})},{key:"getFileMetaBulk",value:(i=Dn(Mn().m(function e(t){var r;return Mn().w(function(e){for(;;)if(0===e.n)return r=new URLSearchParams,t.forEach(function(e){return r.append("id[]",e)}),e.a(2,this.send("GET","files?"+r))},e,this)})),function(e){return i.apply(this,arguments)})}],n&&Nn(r.prototype,n),o&&Nn(r,o),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,n,o,i,a,u}(bn);return t})());
|
|
2
2
|
//# sourceMappingURL=index.umd.js.map
|