@fluid-topics/ft-reader-context 1.0.49 → 1.0.50

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.
@@ -1,7 +1,7 @@
1
- !function(t,i,s,e){const n={setMapId:(t,i)=>{t.mapId=i.payload},setTocId:(t,i)=>{t.tocId=i.payload},setMap:(t,i)=>{t.map=i.payload},setToc:(t,i)=>{t.toc=i.payload},setPagesToc:(t,i)=>{t.pagesToc=i.payload},setPaginationConfiguration:(t,i)=>{t.paginationConfiguration=i.payload},setCurrentPage:(t,i)=>{t.currentPage=i.payload},setScrollTarget:(t,i)=>{t.scrollTarget=i.payload},setVisibleTopics:(t,i)=>{t.visibleTopics=i.payload},setConfiguration:(t,i)=>{t.configuration=i.payload}};class o{constructor(t){this.paginatedToc=t,this.nodeByTocId={},this.knownPrettyUrls=new Set,this.duplicatedPrettyUrls=new Set,this.pages=[],this.pageByTocId={}}build(){return{paginationConfiguration:this.paginatedToc.configuration,toc:this.convertNodes(this.paginatedToc.paginatedToc,1),pagesToc:this.extractPagesToc(this.paginatedToc.paginatedToc,1),nodeByTocId:this.nodeByTocId,duplicatedPrettyUrls:this.duplicatedPrettyUrls,pages:this.pages,pageByTocId:this.pageByTocId}}extractPagesToc(t,i,s){return t.flatMap((t=>(t.pageConfiguration&&this.registerPage(this.buildPage(t,s)),null==t.tocId?this.extractPagesToc(t.children,i,s):[{tocId:t.tocId,title:t.title,depth:i,children:this.extractPagesToc(t.children,i+1,t.tocId)}])))}convertNodes(t,i,s){return t.flatMap((t=>{var e,n,o;if(null==t.tocId)return[...this.convertSectionNodes(null!==(e=t.pageToc)&&void 0!==e?e:[],i,t.tocId),...this.convertNodes(t.children,i,t.tocId)];let r=null===(n=t.prettyUrl)||void 0===n?void 0:n.replace(/^\//,"");const a={tocId:t.tocId,contentId:t.contentId,title:t.title,hasRating:t.hasRating,prettyUrl:r,depth:i,parentTocId:s,children:[]};this.register(a);const h=this.convertSectionNodes(null!==(o=t.pageToc)&&void 0!==o?o:[],i+1,t.tocId),l=this.convertNodes(t.children,i+1,a.tocId);return a.children=[...h,...l],[a]}))}convertSectionNodes(t,i,s){return t.flatMap((t=>{var e;let n=null===(e=t.prettyUrl)||void 0===e?void 0:e.replace(/^\//,"");const o={...t,prettyUrl:n,depth:i,parentTocId:s,children:[]};return this.register(o),o.children=this.convertSectionNodes(t.children,i+1,t.tocId),[o]}))}buildPage(t,i){var s,e,n,o,r,a;const h={number:this.pages.length+1,title:null!==(s=t.title)&&void 0!==s?s:"",rootTocId:null!==(e=t.tocId)&&void 0!==e?e:"root",toc:(null!==(n=t.pageToc)&&void 0!==n?n:[]).map((t=>this.nodeByTocId[t.tocId])),topics:[],hiddenTopics:[],breadcrumb:i?this.buildBreadcrumb(this.nodeByTocId[i]):[]},l=(t,i)=>(i?h.topics:h.hiddenTopics).push(t),c=null!==(r=null===(o=t.pageConfiguration)||void 0===o?void 0:o.parentsVisibility)&&void 0!==r?r:[];return h.breadcrumb.forEach(((t,i)=>{l(t,c[i])})),t.tocId&&l(t.tocId,t.pageConfiguration.isVisible),h.topics.push(...this.tocIds(null!==(a=t.pageToc)&&void 0!==a?a:[])),h}registerPage(t){for(let i of[...t.topics,...t.hiddenTopics])this.pageByTocId[i]||(this.pageByTocId[i]=t);this.pages.push(t)}tocIds(t){return t.flatMap((t=>[t.tocId,...this.tocIds(t.children)]))}buildBreadcrumb(t){const i=[t.tocId];for(;null==t?void 0:t.parentTocId;)i.unshift(t.parentTocId),t=this.nodeByTocId[t.parentTocId];return i}register(t){t.prettyUrl&&(this.knownPrettyUrls.has(t.prettyUrl)&&this.duplicatedPrettyUrls.add(t.prettyUrl),this.knownPrettyUrls.add(t.prettyUrl)),this.nodeByTocId[t.tocId]=t}}class r{convertPaginatedToc(t){return new o(t).build()}}const a=s.css`
2
- `,h=i.FtReduxStore.get({name:"ft-app-info",reducers:{setBaseUrl:(t,i)=>{t.baseUrl=i.payload},setApiIntegrationIdentifier:(t,i)=>{t.apiIntegrationIdentifier=i.payload},setUiLocale:(t,i)=>{t.uiLocale=i.payload},setAvailableUiLocales:(t,i)=>{t.availableUiLocales=i.payload},setEditorMode:(t,i)=>{t.editorMode=i.payload},setNoCustom:(t,i)=>{t.noCustom=i.payload},setNoCustomComponent:(t,i)=>{t.noCustomComponent=i.payload},setSession:(t,i)=>{t.session=i.payload}},initialState:{uiLocale:document.documentElement.lang||"en-US",availableUiLocales:[],editorMode:!1,noCustom:!1,noCustomComponent:!1}});class l{static build(t){const{baseUrl:i,apiIntegrationIdentifier:s}=h.getState(),e=null!=t?t:s;if(i&&e&&window.fluidtopics)return new window.fluidtopics.FluidTopicsApi(i,e,!0)}static get(t){var i;return null!=t?l.build(t):null!==(i=l.API)&&void 0!==i?i:l.API=l.build()}static await(t){return new Promise((i=>{let s=l.get(t);if(s)i(s);else{const e=h.subscribe((()=>{s=l.get(t),s&&(e(),i(s))}))}}))}}var c;const d=Symbol("clearAfterUnitTest");class u{constructor(t){this.messageContextProvider=t,this.defaultMessages={},this.cache=new i.CacheRegistry,this.listeners={},this.currentUiLocale="",this[c]=()=>{this.defaultMessages={},this.cache=new i.CacheRegistry,this.listeners={}},this.currentUiLocale=h.getState().uiLocale,h.subscribe((()=>this.clearWhenUiLocaleChanges()))}clearWhenUiLocaleChanges(){const{uiLocale:t}=h.getState();this.currentUiLocale!==t&&(this.currentUiLocale=t,this.cache.clearAll(),this.notifyAll())}addContext(t){const i=t.name.toLowerCase();this.cache.setFinal(i,t),this.notify(i)}getAllContexts(){return this.cache.resolvedValues()}async prepareContext(t,s){var e;if(t=t.toLowerCase(),Object.keys(s).length>0){const n={...null!==(e=this.defaultMessages[t])&&void 0!==e?e:{},...s};i.deepEqual(this.defaultMessages[t],n)||(this.defaultMessages[t]=n,await this.notify(t))}await this.fetchContext(t)}resolveMessage(t,s,...e){var n,o,r;t=t.toLowerCase(),this.fetchContext(t);const a=null!==(o=null===(n=this.cache.getNow(t))||void 0===n?void 0:n.messages)&&void 0!==o?o:{};return new i.ParametrizedLabelResolver(null!==(r=this.defaultMessages[t])&&void 0!==r?r:{},a).resolve(s,...e)}async fetchContext(t){if(!this.cache.has(t))try{await this.cache.get(t,(()=>this.messageContextProvider(this.currentUiLocale,t))),await this.notify(t)}catch(t){console.error(t)}}subscribe(t,i){var s;return t=t.toLowerCase(),this.listeners[t]=null!==(s=this.listeners[t])&&void 0!==s?s:new Set,this.listeners[t].add(i),()=>{var s;return null===(s=this.listeners[t])||void 0===s?void 0:s.delete(i)}}async notifyAll(){await Promise.all(Object.keys(this.listeners).map((t=>this.notify(t))))}async notify(t){null!=this.listeners[t]&&await Promise.all([...this.listeners[t].values()].map((t=>i.delay(0).then((()=>t())).catch((()=>null)))))}}c=d,null==window.FluidTopicsI18nService&&(window.FluidTopicsI18nService=new u((async(t,i)=>(await l.await()).getFluidTopicsMessageContext(t,i)))),null==window.FluidTopicsCustomI18nService&&(window.FluidTopicsCustomI18nService=new u((async(t,i)=>(await l.await()).getCustomMessageContext(t,i))));const v=window.FluidTopicsI18nService;var p=function(t,i,s,e){for(var n,o=arguments.length,r=o<3?i:null===e?e=Object.getOwnPropertyDescriptor(i,s):e,a=t.length-1;a>=0;a--)(n=t[a])&&(r=(o<3?n(r):o>3?n(i,s,r):n(i,s))||r);return o>3&&r&&Object.defineProperty(i,s,r),r};class g extends i.FtLitElement{constructor(){super(...arguments),this.apiIntegrationIdentifier="ft-integration",this.uiLocale="en-US",this.availableUiLocales=[],this.editorMode=!1,this.noCustom=!1,this.noCustomComponent=!1,this.withManualResources=!1,this.messageContexts=[],this.apiProvider=()=>l.get(),this.cache=new i.CacheRegistry,this.cleanSessionDebouncer=new i.Debouncer}render(){return s.html`
1
+ !function(t,i,s,e){const n={setMapId:(t,i)=>{t.mapId=i.payload},setTocId:(t,i)=>{t.tocId=i.payload},setMap:(t,i)=>{t.map=i.payload},setToc:(t,i)=>{t.toc=i.payload},setPagesToc:(t,i)=>{t.pagesToc=i.payload},setPaginationConfiguration:(t,i)=>{t.paginationConfiguration=i.payload},setCurrentPage:(t,i)=>{t.currentPage=i.payload},setScrollTarget:(t,i)=>{t.scrollTarget=i.payload},setVisibleTopics:(t,i)=>{t.visibleTopics=i.payload},setConfiguration:(t,i)=>{t.configuration=i.payload}};class o{constructor(t){this.paginatedToc=t,this.nodeByTocId={},this.knownPrettyUrls=new Set,this.duplicatedPrettyUrls=new Set,this.pages=[],this.pageByTocId={}}build(){return{paginationConfiguration:this.paginatedToc.configuration,toc:this.convertNodes(this.paginatedToc.paginatedToc,1),pagesToc:this.extractPagesToc(this.paginatedToc.paginatedToc,1),nodeByTocId:this.nodeByTocId,duplicatedPrettyUrls:this.duplicatedPrettyUrls,pages:this.pages,pageByTocId:this.pageByTocId}}extractPagesToc(t,i,s){return t.flatMap((t=>(t.pageConfiguration&&this.registerPage(this.buildPage(t,s)),null==t.tocId?this.extractPagesToc(t.children,i,s):[{tocId:t.tocId,title:t.title,depth:i,children:this.extractPagesToc(t.children,i+1,t.tocId)}])))}convertNodes(t,i,s){return t.flatMap((t=>{var e,n,o;if(null==t.tocId)return[...this.convertSectionNodes(null!==(e=t.pageToc)&&void 0!==e?e:[],i,t.tocId),...this.convertNodes(t.children,i,t.tocId)];let r=null===(n=t.prettyUrl)||void 0===n?void 0:n.replace(/^\//,"");const a={tocId:t.tocId,contentId:t.contentId,title:t.title,hasRating:t.hasRating,prettyUrl:r,depth:i,parentTocId:s,children:[]};this.register(a);const h=this.convertSectionNodes(null!==(o=t.pageToc)&&void 0!==o?o:[],i+1,t.tocId),l=this.convertNodes(t.children,i+1,a.tocId);return a.children=[...h,...l],[a]}))}convertSectionNodes(t,i,s){return t.flatMap((t=>{var e;let n=null===(e=t.prettyUrl)||void 0===e?void 0:e.replace(/^\//,"");const o={...t,prettyUrl:n,depth:i,parentTocId:s,children:[]};return this.register(o),o.children=this.convertSectionNodes(t.children,i+1,t.tocId),[o]}))}buildPage(t,i){var s,e,n,o,r,a;const h={number:this.pages.length+1,title:null!==(s=t.title)&&void 0!==s?s:"",rootTocId:null!==(e=t.tocId)&&void 0!==e?e:"root",toc:(null!==(n=t.pageToc)&&void 0!==n?n:[]).map((t=>this.nodeByTocId[t.tocId])),topics:[],hiddenTopics:[],breadcrumb:i?this.buildBreadcrumb(this.nodeByTocId[i]):[]},l=(t,i)=>(i?h.topics:h.hiddenTopics).push(t),d=null!==(r=null===(o=t.pageConfiguration)||void 0===o?void 0:o.parentsVisibility)&&void 0!==r?r:[];return h.breadcrumb.forEach(((t,i)=>{l(t,d[i])})),t.tocId&&l(t.tocId,t.pageConfiguration.isVisible),h.topics.push(...this.tocIds(null!==(a=t.pageToc)&&void 0!==a?a:[])),h}registerPage(t){for(let i of[...t.topics,...t.hiddenTopics])this.pageByTocId[i]||(this.pageByTocId[i]=t);this.pages.push(t)}tocIds(t){return t.flatMap((t=>[t.tocId,...this.tocIds(t.children)]))}buildBreadcrumb(t){const i=[t.tocId];for(;null==t?void 0:t.parentTocId;)i.unshift(t.parentTocId),t=this.nodeByTocId[t.parentTocId];return i}register(t){t.prettyUrl&&(this.knownPrettyUrls.has(t.prettyUrl)&&this.duplicatedPrettyUrls.add(t.prettyUrl),this.knownPrettyUrls.add(t.prettyUrl)),this.nodeByTocId[t.tocId]=t}}class r{convertPaginatedToc(t){return new o(t).build()}}const a=s.css`
2
+ `,h=i.FtReduxStore.get({name:"ft-app-info",reducers:{setBaseUrl:(t,i)=>{t.baseUrl=i.payload},setApiIntegrationIdentifier:(t,i)=>{t.apiIntegrationIdentifier=i.payload},setUiLocale:(t,i)=>{t.uiLocale=i.payload},setAvailableUiLocales:(t,i)=>{t.availableUiLocales=i.payload},setEditorMode:(t,i)=>{t.editorMode=i.payload},setNoCustom:(t,i)=>{t.noCustom=i.payload},setNoCustomComponent:(t,i)=>{t.noCustomComponent=i.payload},setSession:(t,i)=>{t.session=i.payload}},initialState:{uiLocale:document.documentElement.lang||"en-US",availableUiLocales:[],editorMode:!1,noCustom:!1,noCustomComponent:!1}});class l{static build(t){const{baseUrl:i,apiIntegrationIdentifier:s}=h.getState(),e=null!=t?t:s;if(i&&e&&window.fluidtopics)return new window.fluidtopics.FluidTopicsApi(i,e,!0)}static get(t){var i;return null!=t?l.build(t):null!==(i=l.API)&&void 0!==i?i:l.API=l.build()}static await(t){return new Promise((i=>{let s=l.get(t);if(s)i(s);else{const e=h.subscribe((()=>{s=l.get(t),s&&(e(),i(s))}))}}))}}var d;const c=Symbol("clearAfterUnitTest");class u{constructor(t){this.messageContextProvider=t,this.defaultMessages={},this.cache=new i.CacheRegistry,this.listeners={},this.currentUiLocale="",this[d]=()=>{this.defaultMessages={},this.cache=new i.CacheRegistry,this.listeners={}},this.currentUiLocale=h.getState().uiLocale,h.subscribe((()=>this.clearWhenUiLocaleChanges()))}clearWhenUiLocaleChanges(){const{uiLocale:t}=h.getState();this.currentUiLocale!==t&&(this.currentUiLocale=t,this.cache.clearAll(),this.notifyAll())}addContext(t){const i=t.name.toLowerCase();this.cache.setFinal(i,t),this.notify(i)}getAllContexts(){return this.cache.resolvedValues()}async prepareContext(t,s){var e;if(t=t.toLowerCase(),Object.keys(s).length>0){const n={...null!==(e=this.defaultMessages[t])&&void 0!==e?e:{},...s};i.deepEqual(this.defaultMessages[t],n)||(this.defaultMessages[t]=n,await this.notify(t))}await this.fetchContext(t)}resolveMessage(t,s,...e){var n,o,r;t=t.toLowerCase(),this.fetchContext(t);const a=null!==(o=null===(n=this.cache.getNow(t))||void 0===n?void 0:n.messages)&&void 0!==o?o:{};return new i.ParametrizedLabelResolver(null!==(r=this.defaultMessages[t])&&void 0!==r?r:{},a).resolve(s,...e)}async fetchContext(t){if(!this.cache.has(t))try{await this.cache.get(t,(()=>this.messageContextProvider(this.currentUiLocale,t))),await this.notify(t)}catch(t){console.error(t)}}subscribe(t,i){var s;return t=t.toLowerCase(),this.listeners[t]=null!==(s=this.listeners[t])&&void 0!==s?s:new Set,this.listeners[t].add(i),()=>{var s;return null===(s=this.listeners[t])||void 0===s?void 0:s.delete(i)}}async notifyAll(){await Promise.all(Object.keys(this.listeners).map((t=>this.notify(t))))}async notify(t){null!=this.listeners[t]&&await Promise.all([...this.listeners[t].values()].map((t=>i.delay(0).then((()=>t())).catch((()=>null)))))}}d=c,null==window.FluidTopicsI18nService&&(window.FluidTopicsI18nService=new u((async(t,i)=>(await l.await()).getFluidTopicsMessageContext(t,i)))),null==window.FluidTopicsCustomI18nService&&(window.FluidTopicsCustomI18nService=new u((async(t,i)=>(await l.await()).getCustomMessageContext(t,i))));const v=window.FluidTopicsI18nService;var p=function(t,i,s,e){for(var n,o=arguments.length,r=o<3?i:null===e?e=Object.getOwnPropertyDescriptor(i,s):e,a=t.length-1;a>=0;a--)(n=t[a])&&(r=(o<3?n(r):o>3?n(i,s,r):n(i,s))||r);return o>3&&r&&Object.defineProperty(i,s,r),r};class g extends i.FtLitElement{constructor(){super(...arguments),this.apiIntegrationIdentifier="ft-integration",this.uiLocale="en-US",this.availableUiLocales=[],this.editorMode=!1,this.noCustom=!1,this.noCustomComponent=!1,this.withManualResources=!1,this.messageContexts=[],this.apiProvider=()=>l.get(),this.cache=new i.CacheRegistry,this.cleanSessionDebouncer=new i.Debouncer}render(){return s.html`
3
3
  <slot></slot>
4
- `}updated(t){super.updated(t),t.has("baseUrl")&&h.actions.setBaseUrl(this.baseUrl),t.has("apiIntegrationIdentifier")&&h.actions.setApiIntegrationIdentifier(this.apiIntegrationIdentifier),t.has("uiLocale")&&h.actions.setUiLocale(this.uiLocale),t.has("noCustom")&&h.actions.setNoCustom(this.noCustom),t.has("editorMode")&&h.actions.setEditorMode(this.editorMode),t.has("noCustomComponent")&&h.actions.setNoCustomComponent(this.noCustomComponent),t.has("session")&&h.actions.setSession(this.session),t.has("availableUiLocales")&&h.actions.setAvailableUiLocales(Array.isArray(this.availableUiLocales)?this.availableUiLocales:[]),t.has("messageContexts")&&null!=this.messageContexts&&this.messageContexts.forEach((t=>v.addContext(t))),setTimeout((()=>this.updateIfNeeded()))}async updateIfNeeded(){const t=this.apiProvider();!this.withManualResources&&t&&(null==this.session&&(this.session=await this.cache.get("session",(async()=>{const i=await t.getCurrentSession();return i.idleTimeoutInMillis>0&&this.cleanSessionDebouncer.run((()=>{this.cache.clear("session"),this.session=void 0}),i.idleTimeoutInMillis),i}))),null==this.availableUiLocales&&(this.availableUiLocales=await this.cache.get("availableUiLocales",(()=>t.getAvailableUiLocales()))))}}g.elementDefinitions={},g.styles=a,p([e.property()],g.prototype,"baseUrl",void 0),p([e.property()],g.prototype,"apiIntegrationIdentifier",void 0),p([e.property()],g.prototype,"uiLocale",void 0),p([i.jsonProperty([])],g.prototype,"availableUiLocales",void 0),p([e.property({type:Boolean})],g.prototype,"editorMode",void 0),p([e.property({type:Boolean})],g.prototype,"noCustom",void 0),p([e.property({converter:{fromAttribute:t=>"false"!==t&&("true"===t||null!=t&&t)}})],g.prototype,"noCustomComponent",void 0),p([e.property({type:Boolean})],g.prototype,"withManualResources",void 0),p([i.jsonProperty([])],g.prototype,"messageContexts",void 0),p([i.jsonProperty(void 0)],g.prototype,"session",void 0),p([e.property({type:Object})],g.prototype,"apiProvider",void 0),i.customElement("ft-app-context")(g);class w{static async build(t){return new w(new r,await l.await(),new i.CacheRegistry,t)}get mapId(){return this._mapId}set mapId(t){t!==this._mapId&&this.clear(),this._mapId=t}constructor(t,i,s,e){this.converter=t,this.api=i,this.cache=s,this._mapId=e,this.initCache()}async withMapId(t){return this._mapId?t(this._mapId):void 0}initCache(){this.cache.registerFinal("configuration",(()=>this.api.getReaderConfiguration())),this.cache.register("map",(()=>this.withMapId((t=>this.api.getMap(t))))),this.cache.register("enrichedToc",(()=>this.withMapId((t=>this.api.getPages(t).then((t=>this.converter.convertPaginatedToc(t))))))),this.cache.register("ratingSummary",(()=>{var t;return(null===(t=h.getState().session)||void 0===t?void 0:t.profile.roles.includes("RATING_USER"))?this.withMapId((t=>this.api.getMapRating(t))):Promise.resolve()}))}clear(){this.cache.clearAll()}getMap(){return this.cache.get("map")}getConfiguration(){return this.cache.get("configuration")}getEnrichedToc(){return this.cache.get("enrichedToc")}get enrichedToc(){return this.cache.getNow("enrichedToc")}async getPaginationConfiguration(){return(await this.getEnrichedToc()).paginationConfiguration}async getToc(){return(await this.getEnrichedToc()).toc}async getPagesToc(){return(await this.getEnrichedToc()).pagesToc}async getTocNode(t){return(await this.getEnrichedToc()).nodeByTocId[t]}getTocNodeNow(t){var i;return null===(i=this.enrichedToc)||void 0===i?void 0:i.nodeByTocId[t]}async getPage(t){const i=await this.getEnrichedToc();return i.pages[t-1]||i.pages[0]}async getPageByTocId(t){const i=await this.getEnrichedToc();return i.pageByTocId[t]||i.pages[0]}getTopicInfo(t){return this.cache.get("topic-"+t,(()=>this.api.getTopic(this.mapId,t)))}getTopicContent(t){return this.cache.get("topic-content-"+t,(()=>this.api.getTopicHTMLContent(this.mapId,t,"DESIGNED_READER")))}getLink(t,i,s){const e=this.getNavigationData(t,i,s),n="r/"+(e.prettyUrl?e.prettyUrl:`${e.mapId}/${e.tocId}`),o=new URL(n,this.api.tenantBaseUrl);return null!=e.page&&o.searchParams.set("page",`${e.page}`),e.prettyUrlDuplicated&&o.searchParams.set("tocId",e.tocId),null!=e.section&&o.searchParams.set("section",e.section),o.href}getNavigationData(t,i,s){var e,n;t=t||"root";const o=this.enrichedToc,r=null==o?void 0:o.pageByTocId[t],a=null==o?void 0:o.nodeByTocId[t],h=null==a?void 0:a.prettyUrl;return{mapId:this.mapId,tocId:t,topicTitle:null!==(e=null==a?void 0:a.title)&&void 0!==e?e:"",page:i&&r&&r.number!==i?i:void 0,prettyUrl:null!=h?h.replace(/^r\//,""):void 0,prettyUrlDuplicated:null!==(n=null==o?void 0:o.duplicatedPrettyUrls.has(null!=h?h:""))&&void 0!==n&&n,section:s}}async getAccurateNavigationData(t,i,s){return await this.getEnrichedToc(),this.getNavigationData(t,i,s)}getRatingSummary(){return this.cache.get("ratingSummary")}getMapRating(){return this.getRatingSummary().then((t=>null==t?void 0:t.publication))}getTopicRating(t){return this.getRatingSummary().then((i=>{var s;return i?{type:i.topics.type,rating:null===(s=i.topics)||void 0===s?void 0:s.ratings.find((i=>i.tocId===t))}:void 0}))}rateMap(t,i){return this.api.rateMap(this.mapId,t,i).then((()=>this.clearRatingIfNecessary()))}unrateMap(){return this.api.unrateMap(this.mapId).then((()=>this.clearRatingIfNecessary()))}sendMapFeedback(t){return this.api.sendMapFeedback(this.mapId,t)}rateTopic(t,i,s){return this.api.rateTopic(this.mapId,t,i,s).then((()=>this.clearRatingIfNecessary()))}unrateTopic(t){return this.api.unrateTopic(this.mapId,t).then((()=>this.clearRatingIfNecessary()))}async clearRatingIfNecessary(){const t=h.getState().session;(null==t?void 0:t.sessionAuthenticated)&&this.cache.clear("ratingSummary")}sendTopicFeedback(t,i){return this.api.sendTopicFeedback(this.mapId,t,i)}fontsStylesheet(){return this.api.makeAbsolute(this.api.endpoints.stylesheets.fonts)}themeStylesheet(){return this.api.makeAbsolute(this.api.endpoints.stylesheets.theme)}}class m{static build(t){return new m((t=>i.FtReduxStore.get({name:"ft-reader-"+t,initialState:{mapId:void 0,visibleTopics:[]},reducers:n}))(t.trim()||"context"),w.build)}constructor(t,s){this.store=t,this.reloadDebouncer=new i.Debouncer(10),this.initService(s)}async initService(t){return this.service=await t(),this.service.mapId=this.store.getState().mapId,this.reload()}async setMapId(t){t!==this.store.getState().mapId&&(this.store.actions.setMapId(t),this.service&&(this.service.mapId=t),await this.reload())}setVisibleTopics(t){this.store.actions.setVisibleTopics(t)}async awaitService(){for(;null==this.service;)await i.delay(5);return this.service}async navigateToTopic(t,i,s){const e=await this.awaitService();let n=await(null!=s?e.getPage(s):e.getPageByTocId(t));this.store.actions.setCurrentPage(n),this.store.actions.setScrollTarget({tocId:t,section:i})}async navigateToPage(t){const i=await this.awaitService();let s=await i.getPage(t);this.store.actions.setCurrentPage(s)}scrollDone(){this.store.actions.setScrollTarget({})}async reload(){var t,i;this.store.actions.setConfiguration(void 0),this.store.actions.setMap(void 0),this.store.actions.setToc(void 0),this.store.actions.setPagesToc(void 0),this.store.actions.setCurrentPage(void 0),null===(t=this.service)||void 0===t||t.clear(),(null===(i=this.service)||void 0===i?void 0:i.mapId)&&await this.reloadDebouncer.run((()=>this.fetchData()))}async fetchData(){var t,s,e,n,o;try{await Promise.all([null===(t=this.service)||void 0===t?void 0:t.getConfiguration().then((t=>this.store.actions.setConfiguration(t))),null===(s=this.service)||void 0===s?void 0:s.getMap().then((t=>this.store.actions.setMap(t))),null===(e=this.service)||void 0===e?void 0:e.getToc().then((t=>this.store.actions.setToc(t))),null===(n=this.service)||void 0===n?void 0:n.getPagesToc().then((t=>this.store.actions.setPagesToc(t))),null===(o=this.service)||void 0===o?void 0:o.getPaginationConfiguration().then((t=>this.store.actions.setPaginationConfiguration(t)))])}catch(t){!this.errorHandler||t instanceof i.CanceledPromiseError||this.errorHandler(t)}}}const f=s.css`
4
+ `}updated(t){super.updated(t),t.has("baseUrl")&&h.actions.setBaseUrl(this.baseUrl),t.has("apiIntegrationIdentifier")&&h.actions.setApiIntegrationIdentifier(this.apiIntegrationIdentifier),t.has("uiLocale")&&h.actions.setUiLocale(this.uiLocale),t.has("noCustom")&&h.actions.setNoCustom(this.noCustom),t.has("editorMode")&&h.actions.setEditorMode(this.editorMode),t.has("noCustomComponent")&&h.actions.setNoCustomComponent(this.noCustomComponent),t.has("session")&&h.actions.setSession(this.session),t.has("availableUiLocales")&&h.actions.setAvailableUiLocales(Array.isArray(this.availableUiLocales)?this.availableUiLocales:[]),t.has("messageContexts")&&null!=this.messageContexts&&this.messageContexts.forEach((t=>v.addContext(t))),setTimeout((()=>this.updateIfNeeded()))}async updateIfNeeded(){const t=this.apiProvider();!this.withManualResources&&t&&(null==this.session&&(this.session=await this.cache.get("session",(async()=>{const i=await t.getCurrentSession();return i.idleTimeoutInMillis>0&&this.cleanSessionDebouncer.run((()=>{this.cache.clear("session"),this.session=void 0}),i.idleTimeoutInMillis),i}))),null==this.availableUiLocales&&(this.availableUiLocales=await this.cache.get("availableUiLocales",(()=>t.getAvailableUiLocales()))))}}g.elementDefinitions={},g.styles=a,p([e.property()],g.prototype,"baseUrl",void 0),p([e.property()],g.prototype,"apiIntegrationIdentifier",void 0),p([e.property()],g.prototype,"uiLocale",void 0),p([i.jsonProperty([])],g.prototype,"availableUiLocales",void 0),p([e.property({type:Boolean})],g.prototype,"editorMode",void 0),p([e.property({type:Boolean})],g.prototype,"noCustom",void 0),p([e.property({converter:{fromAttribute:t=>"false"!==t&&("true"===t||null!=t&&t)}})],g.prototype,"noCustomComponent",void 0),p([e.property({type:Boolean})],g.prototype,"withManualResources",void 0),p([i.jsonProperty([])],g.prototype,"messageContexts",void 0),p([i.jsonProperty(void 0)],g.prototype,"session",void 0),p([e.property({type:Object})],g.prototype,"apiProvider",void 0),i.customElement("ft-app-context")(g);class w{static async build(t){return new w(new r,await l.await(),new i.CacheRegistry,t)}get mapId(){return this._mapId}set mapId(t){t!==this._mapId&&this.clear(),this._mapId=t}constructor(t,i,s,e){this.converter=t,this.api=i,this.cache=s,this._mapId=e,this.initCache()}async withMapId(t){return this._mapId?t(this._mapId):void 0}initCache(){this.cache.registerFinal("configuration",(()=>this.api.getReaderConfiguration())),this.cache.register("map",(()=>this.withMapId((t=>this.api.getMap(t))))),this.cache.register("enrichedToc",(()=>this.withMapId((t=>this.api.getPages(t).then((t=>this.converter.convertPaginatedToc(t))))))),this.cache.register("ratingSummary",(()=>{var t;return(null===(t=h.getState().session)||void 0===t?void 0:t.profile.roles.includes("RATING_USER"))?this.withMapId((t=>this.api.getMapRating(t))):Promise.resolve()}))}clear(){this.cache.clearAll()}getMap(){return this.cache.get("map")}getConfiguration(){return this.cache.get("configuration")}getEnrichedToc(){return this.cache.get("enrichedToc")}get enrichedToc(){return this.cache.getNow("enrichedToc")}async getPaginationConfiguration(){return(await this.getEnrichedToc()).paginationConfiguration}async getToc(){return(await this.getEnrichedToc()).toc}async getPagesToc(){return(await this.getEnrichedToc()).pagesToc}async getTocNode(t){return(await this.getEnrichedToc()).nodeByTocId[t]}getTocNodeNow(t){var i;return null===(i=this.enrichedToc)||void 0===i?void 0:i.nodeByTocId[t]}async getPage(t){const i=await this.getEnrichedToc();return i.pages[t-1]||i.pages[0]}async getPageByTocId(t){const i=await this.getEnrichedToc();return i.pageByTocId[t]||i.pages[0]}getTopicInfo(t){return this.cache.get("topic-"+t,(()=>this.api.getTopic(this.mapId,t)))}getTopicContent(t){return this.cache.get("topic-content-"+t,(()=>this.api.getTopicHTMLContent(this.mapId,t,"DESIGNED_READER")))}getLink(t,i,s){const e=this.getNavigationData(t,i,s),n="r/"+(e.prettyUrl?e.prettyUrl:`${e.mapId}/${e.tocId}`),o=new URL(n,this.api.tenantBaseUrl);return null!=e.page&&o.searchParams.set("page",`${e.page}`),e.prettyUrlDuplicated&&o.searchParams.set("tocId",e.tocId),null!=e.section&&o.searchParams.set("section",e.section),o.href}getNavigationData(t,i,s){var e,n;t=t||"root";const o=this.enrichedToc,r=null==o?void 0:o.pageByTocId[t],a=null==o?void 0:o.nodeByTocId[t],h=null==a?void 0:a.prettyUrl;return{mapId:this.mapId,tocId:t,topicTitle:null!==(e=null==a?void 0:a.title)&&void 0!==e?e:"",page:i&&r&&r.number!==i?i:void 0,prettyUrl:null!=h?h.replace(/^r\//,""):void 0,prettyUrlDuplicated:null!==(n=null==o?void 0:o.duplicatedPrettyUrls.has(null!=h?h:""))&&void 0!==n&&n,section:s}}async getAccurateNavigationData(t,i,s){return await this.getEnrichedToc(),this.getNavigationData(t,i,s)}getRatingSummary(){return this.cache.get("ratingSummary")}getMapRating(){return this.getRatingSummary().then((t=>null==t?void 0:t.publication))}getTopicRating(t){return this.getRatingSummary().then((i=>{var s;return i?{type:i.topics.type,rating:null===(s=i.topics)||void 0===s?void 0:s.ratings.find((i=>i.tocId===t))}:void 0}))}rateMap(t,i){return this.api.rateMap(this.mapId,t,i).then((()=>this.clearRatingIfNecessary()))}unrateMap(){return this.api.unrateMap(this.mapId).then((()=>this.clearRatingIfNecessary()))}sendMapFeedback(t){return this.api.sendMapFeedback(this.mapId,t)}rateTopic(t,i,s){return this.api.rateTopic(this.mapId,t,i,s).then((()=>this.clearRatingIfNecessary()))}unrateTopic(t){return this.api.unrateTopic(this.mapId,t).then((()=>this.clearRatingIfNecessary()))}async clearRatingIfNecessary(){const t=h.getState().session;(null==t?void 0:t.sessionAuthenticated)&&this.cache.clear("ratingSummary")}sendTopicFeedback(t,i){return this.api.sendTopicFeedback(this.mapId,t,i)}fontsStylesheet(){return this.api.makeAbsolute(this.api.endpoints.stylesheets.fonts)}themeStylesheet(){return this.api.makeAbsolute(this.api.endpoints.stylesheets.theme)}}class m{static build(t){return new m((t=>i.FtReduxStore.get({name:"ft-reader-"+t,initialState:{mapId:void 0,visibleTopics:[]},reducers:n}))(t.trim()||"context"),w.build)}constructor(t,s){this.store=t,this.reloadDebouncer=new i.Debouncer(10),this.initService(s)}async initService(t){return this.service=await t(),this.service.mapId=this.store.getState().mapId,this.reload()}async setMapId(t){t!==this.store.getState().mapId&&(this.store.actions.setMapId(t),this.service&&(this.service.mapId=t),await this.reload())}setVisibleTopics(t){this.store.actions.setVisibleTopics(t)}async awaitService(){for(;null==this.service;)await i.delay(5);return this.service}async navigateToTopic(t,i,s){const e=await this.awaitService(),n=await(null!=s?e.getPage(s):e.getPageByTocId(null!=t?t:"root"));this.store.actions.setCurrentPage(n),this.store.actions.setScrollTarget({tocId:this.resolveValidNonRootTocId(t,n),section:i})}resolveValidNonRootTocId(t,i){var s,e,n;let o=null!==(s="root"===t?void 0:t)&&void 0!==s?s:i.rootTocId;return i.topics.includes(o)?o:null!==(n=null!==(e=i.topics[0])&&void 0!==e?e:i.hiddenTopics[0])&&void 0!==n?n:"root"}async navigateToPage(t){const i=await this.awaitService();let s=await i.getPage(t);this.store.actions.setCurrentPage(s)}scrollDone(){this.store.actions.setScrollTarget({})}async reload(){var t,i;this.store.actions.setConfiguration(void 0),this.store.actions.setMap(void 0),this.store.actions.setToc(void 0),this.store.actions.setPagesToc(void 0),this.store.actions.setCurrentPage(void 0),null===(t=this.service)||void 0===t||t.clear(),(null===(i=this.service)||void 0===i?void 0:i.mapId)&&await this.reloadDebouncer.run((()=>this.fetchData()))}async fetchData(){var t,s,e,n,o;try{await Promise.all([null===(t=this.service)||void 0===t?void 0:t.getConfiguration().then((t=>this.store.actions.setConfiguration(t))),null===(s=this.service)||void 0===s?void 0:s.getMap().then((t=>this.store.actions.setMap(t))),null===(e=this.service)||void 0===e?void 0:e.getToc().then((t=>this.store.actions.setToc(t))),null===(n=this.service)||void 0===n?void 0:n.getPagesToc().then((t=>this.store.actions.setPagesToc(t))),null===(o=this.service)||void 0===o?void 0:o.getPaginationConfiguration().then((t=>this.store.actions.setPaginationConfiguration(t)))])}catch(t){!this.errorHandler||t instanceof i.CanceledPromiseError||this.errorHandler(t)}}}const f=s.css`
5
5
  `;var y=function(t,i,s,e){for(var n,o=arguments.length,r=o<3?i:null===e?e=Object.getOwnPropertyDescriptor(i,s):e,a=t.length-1;a>=0;a--)(n=t[a])&&(r=(o<3?n(r):o>3?n(i,s,r):n(i,s))||r);return o>3&&r&&Object.defineProperty(i,s,r),r};class b extends CustomEvent{constructor(t,i){super("ft-reader-map-loaded",{detail:{map:t,toc:i}})}}class T extends CustomEvent{constructor(t,i){super("ft-reader-visible-topics-change",{detail:{visibleTopics:i}})}}class I extends CustomEvent{constructor(t){super("ft-reader-navigation-done",{detail:t})}}class C extends CustomEvent{constructor(t){super("ft-reader-load-error",{detail:t})}}class U extends Event{constructor(){super("ft-reader-map-not-found")}}class S extends Event{constructor(){super("ft-reader-map-unauthorized")}}class P extends i.FtLitElementRedux{constructor(){super(),this.visibleTopics=[],this.scrollToTargetDebouncer=new i.Debouncer(5),this.navigationDebouncer=new i.Debouncer(50),this.addStore(h)}render(){return s.html`
6
6
  ${this.importStyleIfNeeded()}
7
7
  <slot @register-ft-reader-component=${this.registerComponent}></slot>
@@ -40,7 +40,7 @@ if(!ShadowRoot.prototype.createElement){const t=window.HTMLElement,e=window.cust
40
40
  * Copyright 2017 Google LLC
41
41
  * SPDX-License-Identifier: BSD-3-Clause
42
42
  */
43
- var M;T.finalized=!0,T.elementProperties=new Map,T.elementStyles=[],T.shadowRootOptions={mode:"open"},null==j||j({ReactiveElement:T}),(null!==(x=O.reactiveElementVersions)&&void 0!==x?x:O.reactiveElementVersions=[]).push("1.6.1");const A=window,U=A.trustedTypes,k=U?U.createPolicy("lit-html",{createHTML:t=>t}):void 0,I="$lit$",P=`lit$${(Math.random()+"").slice(9)}$`,$="?"+P,L=`<${$}>`,_=document,F=()=>_.createComment(""),B=t=>null===t||"object"!=typeof t&&"function"!=typeof t,D=Array.isArray,W="[ \t\n\f\r]",K=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,q=/-->/g,V=/>/g,H=RegExp(`>|${W}(?:([^\\s"'>=/]+)(${W}*=${W}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),z=/'/g,J=/"/g,Z=/^(?:script|style|textarea|title)$/i,X=(t=>(e,...i)=>({_$litType$:t,strings:e,values:i}))(1),G=Symbol.for("lit-noChange"),Q=Symbol.for("lit-nothing"),Y=new WeakMap,tt=_.createTreeWalker(_,129,null,!1),et=(t,e)=>{const i=t.length-1,n=[];let r,o=2===e?"<svg>":"",s=K;for(let e=0;e<i;e++){const i=t[e];let u,a,c=-1,l=0;for(;l<i.length&&(s.lastIndex=l,a=s.exec(i),null!==a);)l=s.lastIndex,s===K?"!--"===a[1]?s=q:void 0!==a[1]?s=V:void 0!==a[2]?(Z.test(a[2])&&(r=RegExp("</"+a[2],"g")),s=H):void 0!==a[3]&&(s=H):s===H?">"===a[0]?(s=null!=r?r:K,c=-1):void 0===a[1]?c=-2:(c=s.lastIndex-a[2].length,u=a[1],s=void 0===a[3]?H:'"'===a[3]?J:z):s===J||s===z?s=H:s===q||s===V?s=K:(s=H,r=void 0);const h=s===H&&t[e+1].startsWith("/>")?" ":"";o+=s===K?i+L:c>=0?(n.push(u),i.slice(0,c)+I+i.slice(c)+P+h):i+P+(-2===c?(n.push(void 0),e):h)}const u=o+(t[i]||"<?>")+(2===e?"</svg>":"");if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return[void 0!==k?k.createHTML(u):u,n]};class it{constructor({strings:t,_$litType$:e},i){let n;this.parts=[];let r=0,o=0;const s=t.length-1,u=this.parts,[a,c]=et(t,e);if(this.el=it.createElement(a,i),tt.currentNode=this.el.content,2===e){const t=this.el.content,e=t.firstChild;e.remove(),t.append(...e.childNodes)}for(;null!==(n=tt.nextNode())&&u.length<s;){if(1===n.nodeType){if(n.hasAttributes()){const t=[];for(const e of n.getAttributeNames())if(e.endsWith(I)||e.startsWith(P)){const i=c[o++];if(t.push(e),void 0!==i){const t=n.getAttribute(i.toLowerCase()+I).split(P),e=/([.?@])?(.*)/.exec(i);u.push({type:1,index:r,name:e[2],strings:t,ctor:"."===e[1]?st:"?"===e[1]?at:"@"===e[1]?ct:ot})}else u.push({type:6,index:r})}for(const e of t)n.removeAttribute(e)}if(Z.test(n.tagName)){const t=n.textContent.split(P),e=t.length-1;if(e>0){n.textContent=U?U.emptyScript:"";for(let i=0;i<e;i++)n.append(t[i],F()),tt.nextNode(),u.push({type:2,index:++r});n.append(t[e],F())}}}else if(8===n.nodeType)if(n.data===$)u.push({type:2,index:r});else{let t=-1;for(;-1!==(t=n.data.indexOf(P,t+1));)u.push({type:7,index:r}),t+=P.length-1}r++}}static createElement(t,e){const i=_.createElement("template");return i.innerHTML=t,i}}function nt(t,e,i=t,n){var r,o,s,u;if(e===G)return e;let a=void 0!==n?null===(r=i._$Co)||void 0===r?void 0:r[n]:i._$Cl;const c=B(e)?void 0:e._$litDirective$;return(null==a?void 0:a.constructor)!==c&&(null===(o=null==a?void 0:a._$AO)||void 0===o||o.call(a,!1),void 0===c?a=void 0:(a=new c(t),a._$AT(t,i,n)),void 0!==n?(null!==(s=(u=i)._$Co)&&void 0!==s?s:u._$Co=[])[n]=a:i._$Cl=a),void 0!==a&&(e=nt(t,a._$AS(t,e.values),a,n)),e}let rt=class t{constructor(t,e,i,n){var r;this.type=2,this._$AH=Q,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=i,this.options=n,this._$Cp=null===(r=null==n?void 0:n.isConnected)||void 0===r||r}get _$AU(){var t,e;return null!==(e=null===(t=this._$AM)||void 0===t?void 0:t._$AU)&&void 0!==e?e:this._$Cp}get parentNode(){let t=this._$AA.parentNode;const e=this._$AM;return void 0!==e&&11===(null==t?void 0:t.nodeType)&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=nt(this,t,e),B(t)?t===Q||null==t||""===t?(this._$AH!==Q&&this._$AR(),this._$AH=Q):t!==this._$AH&&t!==G&&this._(t):void 0!==t._$litType$?this.g(t):void 0!==t.nodeType?this.$(t):(t=>D(t)||"function"==typeof(null==t?void 0:t[Symbol.iterator]))(t)?this.T(t):this._(t)}k(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}$(t){this._$AH!==t&&(this._$AR(),this._$AH=this.k(t))}_(t){this._$AH!==Q&&B(this._$AH)?this._$AA.nextSibling.data=t:this.$(_.createTextNode(t)),this._$AH=t}g(t){var e;const{values:i,_$litType$:n}=t,r="number"==typeof n?this._$AC(t):(void 0===n.el&&(n.el=it.createElement(n.h,this.options)),n);if((null===(e=this._$AH)||void 0===e?void 0:e._$AD)===r)this._$AH.v(i);else{const t=new class{constructor(t,e){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){var e;const{el:{content:i},parts:n}=this._$AD,r=(null!==(e=null==t?void 0:t.creationScope)&&void 0!==e?e:_).importNode(i,!0);tt.currentNode=r;let o=tt.nextNode(),s=0,u=0,a=n[0];for(;void 0!==a;){if(s===a.index){let e;2===a.type?e=new rt(o,o.nextSibling,this,t):1===a.type?e=new a.ctor(o,a.name,a.strings,this,t):6===a.type&&(e=new lt(o,this,t)),this._$AV.push(e),a=n[++u]}s!==(null==a?void 0:a.index)&&(o=tt.nextNode(),s++)}return r}v(t){let e=0;for(const i of this._$AV)void 0!==i&&(void 0!==i.strings?(i._$AI(t,i,e),e+=i.strings.length-2):i._$AI(t[e])),e++}}(r,this),e=t.u(this.options);t.v(i),this.$(e),this._$AH=t}}_$AC(t){let e=Y.get(t.strings);return void 0===e&&Y.set(t.strings,e=new it(t)),e}T(e){D(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let n,r=0;for(const o of e)r===i.length?i.push(n=new t(this.k(F()),this.k(F()),this,this.options)):n=i[r],n._$AI(o),r++;r<i.length&&(this._$AR(n&&n._$AB.nextSibling,r),i.length=r)}_$AR(t=this._$AA.nextSibling,e){var i;for(null===(i=this._$AP)||void 0===i||i.call(this,!1,!0,e);t&&t!==this._$AB;){const e=t.nextSibling;t.remove(),t=e}}setConnected(t){var e;void 0===this._$AM&&(this._$Cp=t,null===(e=this._$AP)||void 0===e||e.call(this,t))}},ot=class{constructor(t,e,i,n,r){this.type=1,this._$AH=Q,this._$AN=void 0,this.element=t,this.name=e,this._$AM=n,this.options=r,i.length>2||""!==i[0]||""!==i[1]?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=Q}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,e=this,i,n){const r=this.strings;let o=!1;if(void 0===r)t=nt(this,t,e,0),o=!B(t)||t!==this._$AH&&t!==G,o&&(this._$AH=t);else{const n=t;let s,u;for(t=r[0],s=0;s<r.length-1;s++)u=nt(this,n[i+s],e,s),u===G&&(u=this._$AH[s]),o||(o=!B(u)||u!==this._$AH[s]),u===Q?t=Q:t!==Q&&(t+=(null!=u?u:"")+r[s+1]),this._$AH[s]=u}o&&!n&&this.j(t)}j(t){t===Q?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:"")}},st=class extends ot{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===Q?void 0:t}};const ut=U?U.emptyScript:"";let at=class extends ot{constructor(){super(...arguments),this.type=4}j(t){t&&t!==Q?this.element.setAttribute(this.name,ut):this.element.removeAttribute(this.name)}},ct=class extends ot{constructor(t,e,i,n,r){super(t,e,i,n,r),this.type=5}_$AI(t,e=this){var i;if((t=null!==(i=nt(this,t,e,0))&&void 0!==i?i:Q)===G)return;const n=this._$AH,r=t===Q&&n!==Q||t.capture!==n.capture||t.once!==n.once||t.passive!==n.passive,o=t!==Q&&(n===Q||r);r&&this.element.removeEventListener(this.name,this,n),o&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var e,i;"function"==typeof this._$AH?this._$AH.call(null!==(i=null===(e=this.options)||void 0===e?void 0:e.host)&&void 0!==i?i:this.element,t):this._$AH.handleEvent(t)}},lt=class{constructor(t,e,i){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=i}get _$AU(){return this._$AM._$AU}_$AI(t){nt(this,t)}};const ht=A.litHtmlPolyfillSupport;null==ht||ht(it,rt),(null!==(M=A.litHtmlVersions)&&void 0!==M?M:A.litHtmlVersions=[]).push("2.7.3");
43
+ var M;T.finalized=!0,T.elementProperties=new Map,T.elementStyles=[],T.shadowRootOptions={mode:"open"},null==j||j({ReactiveElement:T}),(null!==(x=O.reactiveElementVersions)&&void 0!==x?x:O.reactiveElementVersions=[]).push("1.6.1");const A=window,U=A.trustedTypes,k=U?U.createPolicy("lit-html",{createHTML:t=>t}):void 0,I="$lit$",P=`lit$${(Math.random()+"").slice(9)}$`,$="?"+P,L=`<${$}>`,_=document,F=()=>_.createComment(""),B=t=>null===t||"object"!=typeof t&&"function"!=typeof t,D=Array.isArray,W="[ \t\n\f\r]",K=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,V=/-->/g,q=/>/g,H=RegExp(`>|${W}(?:([^\\s"'>=/]+)(${W}*=${W}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),z=/'/g,J=/"/g,Z=/^(?:script|style|textarea|title)$/i,X=(t=>(e,...i)=>({_$litType$:t,strings:e,values:i}))(1),G=Symbol.for("lit-noChange"),Q=Symbol.for("lit-nothing"),Y=new WeakMap,tt=_.createTreeWalker(_,129,null,!1),et=(t,e)=>{const i=t.length-1,n=[];let r,o=2===e?"<svg>":"",s=K;for(let e=0;e<i;e++){const i=t[e];let u,a,c=-1,l=0;for(;l<i.length&&(s.lastIndex=l,a=s.exec(i),null!==a);)l=s.lastIndex,s===K?"!--"===a[1]?s=V:void 0!==a[1]?s=q:void 0!==a[2]?(Z.test(a[2])&&(r=RegExp("</"+a[2],"g")),s=H):void 0!==a[3]&&(s=H):s===H?">"===a[0]?(s=null!=r?r:K,c=-1):void 0===a[1]?c=-2:(c=s.lastIndex-a[2].length,u=a[1],s=void 0===a[3]?H:'"'===a[3]?J:z):s===J||s===z?s=H:s===V||s===q?s=K:(s=H,r=void 0);const h=s===H&&t[e+1].startsWith("/>")?" ":"";o+=s===K?i+L:c>=0?(n.push(u),i.slice(0,c)+I+i.slice(c)+P+h):i+P+(-2===c?(n.push(void 0),e):h)}const u=o+(t[i]||"<?>")+(2===e?"</svg>":"");if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return[void 0!==k?k.createHTML(u):u,n]};class it{constructor({strings:t,_$litType$:e},i){let n;this.parts=[];let r=0,o=0;const s=t.length-1,u=this.parts,[a,c]=et(t,e);if(this.el=it.createElement(a,i),tt.currentNode=this.el.content,2===e){const t=this.el.content,e=t.firstChild;e.remove(),t.append(...e.childNodes)}for(;null!==(n=tt.nextNode())&&u.length<s;){if(1===n.nodeType){if(n.hasAttributes()){const t=[];for(const e of n.getAttributeNames())if(e.endsWith(I)||e.startsWith(P)){const i=c[o++];if(t.push(e),void 0!==i){const t=n.getAttribute(i.toLowerCase()+I).split(P),e=/([.?@])?(.*)/.exec(i);u.push({type:1,index:r,name:e[2],strings:t,ctor:"."===e[1]?st:"?"===e[1]?at:"@"===e[1]?ct:ot})}else u.push({type:6,index:r})}for(const e of t)n.removeAttribute(e)}if(Z.test(n.tagName)){const t=n.textContent.split(P),e=t.length-1;if(e>0){n.textContent=U?U.emptyScript:"";for(let i=0;i<e;i++)n.append(t[i],F()),tt.nextNode(),u.push({type:2,index:++r});n.append(t[e],F())}}}else if(8===n.nodeType)if(n.data===$)u.push({type:2,index:r});else{let t=-1;for(;-1!==(t=n.data.indexOf(P,t+1));)u.push({type:7,index:r}),t+=P.length-1}r++}}static createElement(t,e){const i=_.createElement("template");return i.innerHTML=t,i}}function nt(t,e,i=t,n){var r,o,s,u;if(e===G)return e;let a=void 0!==n?null===(r=i._$Co)||void 0===r?void 0:r[n]:i._$Cl;const c=B(e)?void 0:e._$litDirective$;return(null==a?void 0:a.constructor)!==c&&(null===(o=null==a?void 0:a._$AO)||void 0===o||o.call(a,!1),void 0===c?a=void 0:(a=new c(t),a._$AT(t,i,n)),void 0!==n?(null!==(s=(u=i)._$Co)&&void 0!==s?s:u._$Co=[])[n]=a:i._$Cl=a),void 0!==a&&(e=nt(t,a._$AS(t,e.values),a,n)),e}let rt=class t{constructor(t,e,i,n){var r;this.type=2,this._$AH=Q,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=i,this.options=n,this._$Cp=null===(r=null==n?void 0:n.isConnected)||void 0===r||r}get _$AU(){var t,e;return null!==(e=null===(t=this._$AM)||void 0===t?void 0:t._$AU)&&void 0!==e?e:this._$Cp}get parentNode(){let t=this._$AA.parentNode;const e=this._$AM;return void 0!==e&&11===(null==t?void 0:t.nodeType)&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=nt(this,t,e),B(t)?t===Q||null==t||""===t?(this._$AH!==Q&&this._$AR(),this._$AH=Q):t!==this._$AH&&t!==G&&this._(t):void 0!==t._$litType$?this.g(t):void 0!==t.nodeType?this.$(t):(t=>D(t)||"function"==typeof(null==t?void 0:t[Symbol.iterator]))(t)?this.T(t):this._(t)}k(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}$(t){this._$AH!==t&&(this._$AR(),this._$AH=this.k(t))}_(t){this._$AH!==Q&&B(this._$AH)?this._$AA.nextSibling.data=t:this.$(_.createTextNode(t)),this._$AH=t}g(t){var e;const{values:i,_$litType$:n}=t,r="number"==typeof n?this._$AC(t):(void 0===n.el&&(n.el=it.createElement(n.h,this.options)),n);if((null===(e=this._$AH)||void 0===e?void 0:e._$AD)===r)this._$AH.v(i);else{const t=new class{constructor(t,e){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){var e;const{el:{content:i},parts:n}=this._$AD,r=(null!==(e=null==t?void 0:t.creationScope)&&void 0!==e?e:_).importNode(i,!0);tt.currentNode=r;let o=tt.nextNode(),s=0,u=0,a=n[0];for(;void 0!==a;){if(s===a.index){let e;2===a.type?e=new rt(o,o.nextSibling,this,t):1===a.type?e=new a.ctor(o,a.name,a.strings,this,t):6===a.type&&(e=new lt(o,this,t)),this._$AV.push(e),a=n[++u]}s!==(null==a?void 0:a.index)&&(o=tt.nextNode(),s++)}return r}v(t){let e=0;for(const i of this._$AV)void 0!==i&&(void 0!==i.strings?(i._$AI(t,i,e),e+=i.strings.length-2):i._$AI(t[e])),e++}}(r,this),e=t.u(this.options);t.v(i),this.$(e),this._$AH=t}}_$AC(t){let e=Y.get(t.strings);return void 0===e&&Y.set(t.strings,e=new it(t)),e}T(e){D(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let n,r=0;for(const o of e)r===i.length?i.push(n=new t(this.k(F()),this.k(F()),this,this.options)):n=i[r],n._$AI(o),r++;r<i.length&&(this._$AR(n&&n._$AB.nextSibling,r),i.length=r)}_$AR(t=this._$AA.nextSibling,e){var i;for(null===(i=this._$AP)||void 0===i||i.call(this,!1,!0,e);t&&t!==this._$AB;){const e=t.nextSibling;t.remove(),t=e}}setConnected(t){var e;void 0===this._$AM&&(this._$Cp=t,null===(e=this._$AP)||void 0===e||e.call(this,t))}},ot=class{constructor(t,e,i,n,r){this.type=1,this._$AH=Q,this._$AN=void 0,this.element=t,this.name=e,this._$AM=n,this.options=r,i.length>2||""!==i[0]||""!==i[1]?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=Q}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,e=this,i,n){const r=this.strings;let o=!1;if(void 0===r)t=nt(this,t,e,0),o=!B(t)||t!==this._$AH&&t!==G,o&&(this._$AH=t);else{const n=t;let s,u;for(t=r[0],s=0;s<r.length-1;s++)u=nt(this,n[i+s],e,s),u===G&&(u=this._$AH[s]),o||(o=!B(u)||u!==this._$AH[s]),u===Q?t=Q:t!==Q&&(t+=(null!=u?u:"")+r[s+1]),this._$AH[s]=u}o&&!n&&this.j(t)}j(t){t===Q?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:"")}},st=class extends ot{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===Q?void 0:t}};const ut=U?U.emptyScript:"";let at=class extends ot{constructor(){super(...arguments),this.type=4}j(t){t&&t!==Q?this.element.setAttribute(this.name,ut):this.element.removeAttribute(this.name)}},ct=class extends ot{constructor(t,e,i,n,r){super(t,e,i,n,r),this.type=5}_$AI(t,e=this){var i;if((t=null!==(i=nt(this,t,e,0))&&void 0!==i?i:Q)===G)return;const n=this._$AH,r=t===Q&&n!==Q||t.capture!==n.capture||t.once!==n.once||t.passive!==n.passive,o=t!==Q&&(n===Q||r);r&&this.element.removeEventListener(this.name,this,n),o&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var e,i;"function"==typeof this._$AH?this._$AH.call(null!==(i=null===(e=this.options)||void 0===e?void 0:e.host)&&void 0!==i?i:this.element,t):this._$AH.handleEvent(t)}},lt=class{constructor(t,e,i){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=i}get _$AU(){return this._$AM._$AU}_$AI(t){nt(this,t)}};const ht=A.litHtmlPolyfillSupport;null==ht||ht(it,rt),(null!==(M=A.litHtmlVersions)&&void 0!==M?M:A.litHtmlVersions=[]).push("2.7.3");
44
44
  /**
45
45
  * @license
46
46
  * Copyright 2017 Google LLC
@@ -78,15 +78,15 @@ var ft,dt;let vt=class extends T{constructor(){super(...arguments),this.renderOp
78
78
  display: inline-block;
79
79
  width: 0;
80
80
  }
81
- `;class Et{constructor(t,e){this.defaultLabels=t,this.labels=e}resolve(t,...e){var i,n;t=this.resolvePluralKey(t,e);let r=null!==(n=null!==(i=this.labels[t])&&void 0!==i?i:this.defaultLabels[t])&&void 0!==n?n:"";return e.forEach(((t,e)=>r=r.replace(new RegExp(`\\{${e}([^}]*)\\}`,"g"),((e,i)=>this.formatValue(t,i))))),r}resolvePluralKey(t,e){for(let i of e)if("number"==typeof i){const e=`${String(t)}[\\=${i}]`;if(e in this.labels||e in this.defaultLabels)return e}return t}formatValue(t,e){return t instanceof Date?this.formatDate(t,e):null!=t?t:""}formatDate(t,e){const i=i=>(null==e?void 0:e.includes("date"))?t.toLocaleDateString(i):(null==e?void 0:e.includes("time"))?t.toLocaleTimeString(i):t.toLocaleString(i);try{return i(document.documentElement.lang)}catch(t){return i()}}}function jt(t){var e;return null!==(e=null==t?void 0:t.isFtReduxStore)&&void 0!==e&&e}var Ct,Nt,Rt;const Tt=Symbol("internalReduxEventsUnsubscribers"),Mt=Symbol("internalStoresUnsubscribers"),At=Symbol("internalStores");class Ut extends St{constructor(){super(...arguments),this[Ct]=new Map,this[Nt]=new Map,this[Rt]=[]}updated(t){var e;super.updated(t),(null===(e=this.reduxReactiveProperties)||void 0===e?void 0:e.some((e=>t.has(e))))&&this.updateFromStores()}getUnnamedStore(){if(this[At].size>1)throw new Error("Cannot resolve unnamed store when multiple stores are configured.");return[...this[At].values()][0]}getStore(t){return null==t?this.getUnnamedStore():this[At].get(t)}addStore(t,e){var i;e=null!==(i=null!=e?e:jt(t)?t.name:void 0)&&void 0!==i?i:"default-store",this.unsubscribeFromStore(e),this.setupStore(e,t)}removeStore(t){const e="string"==typeof t?t:t.name;this.unsubscribeFromStore(e),this[At].delete(e)}setupStore(t,e){this[At].set(t,e),this.subscribeToStore(t,e),this.updateFromStores()}setupStores(){this.unsubscribeFromStores(),this[At].forEach(((t,e)=>this.subscribeToStore(e,t))),this.updateFromStores()}updateFromStores(){this.reduxProperties&&this.reduxProperties.forEach(((t,e)=>{const i=this.constructor.getPropertyOptions(e);if(!(null==i?void 0:i.attribute)||!this.hasAttribute("string"==typeof(null==i?void 0:i.attribute)?i.attribute:e)){const i=this.getStore(t.store);i&&(t.store?this[Mt].has(t.store):this[Mt].size>0)&&(this[e]=t.selector(i.getState(),this))}}))}subscribeToStore(t,e){var i;this[Mt].set(t,e.subscribe((()=>this.updateFromStores()))),jt(e)&&e.eventBus&&(null===(i=this.reduxEventListeners)||void 0===i||i.forEach(((t,i)=>{if("function"==typeof this[i]&&(!t.store||e.name===t.store)){const n=t=>this[i](t);e.eventBus.addEventListener(t.eventName,n),this[Tt].push((()=>e.eventBus.removeEventListener(t.eventName,n)))}}))),this.onStoreAvailable(t)}unsubscribeFromStores(){this[Mt].forEach(((t,e)=>this.unsubscribeFromStore(e))),this[Tt].forEach((t=>t())),this[Tt]=[]}unsubscribeFromStore(t){this[Mt].has(t)&&this[Mt].get(t)(),this[Mt].delete(t)}onStoreAvailable(t){}connectedCallback(){super.connectedCallback(),this.setupStores()}disconnectedCallback(){super.disconnectedCallback(),this.unsubscribeFromStores()}}function kt(t){for(var e=arguments.length,i=Array(e>1?e-1:0),n=1;n<e;n++)i[n-1]=arguments[n];throw Error("[Immer] minified error nr: "+t+(i.length?" "+i.map((function(t){return"'"+t+"'"})).join(","):"")+". Find the full error at: https://bit.ly/3cXEKWf")}function It(t){return!!t&&!!t[ge]}function Pt(t){var e;return!!t&&(function(t){if(!t||"object"!=typeof t)return!1;var e=Object.getPrototypeOf(t);if(null===e)return!0;var i=Object.hasOwnProperty.call(e,"constructor")&&e.constructor;return i===Object||"function"==typeof i&&Function.toString.call(i)===xe}(t)||Array.isArray(t)||!!t[me]||!!(null===(e=t.constructor)||void 0===e?void 0:e[me])||Dt(t)||Wt(t))}function $t(t,e,i){void 0===i&&(i=!1),0===Lt(t)?(i?Object.keys:Oe)(t).forEach((function(n){i&&"symbol"==typeof n||e(n,t[n],t)})):t.forEach((function(i,n){return e(n,i,t)}))}function Lt(t){var e=t[ge];return e?e.i>3?e.i-4:e.i:Array.isArray(t)?1:Dt(t)?2:Wt(t)?3:0}function _t(t,e){return 2===Lt(t)?t.has(e):Object.prototype.hasOwnProperty.call(t,e)}function Ft(t,e,i){var n=Lt(t);2===n?t.set(e,i):3===n?t.add(i):t[e]=i}function Bt(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e}function Dt(t){return pe&&t instanceof Map}function Wt(t){return be&&t instanceof Set}function Kt(t){return t.o||t.t}function qt(t){if(Array.isArray(t))return Array.prototype.slice.call(t);var e=Se(t);delete e[ge];for(var i=Oe(e),n=0;n<i.length;n++){var r=i[n],o=e[r];!1===o.writable&&(o.writable=!0,o.configurable=!0),(o.get||o.set)&&(e[r]={configurable:!0,writable:!0,enumerable:o.enumerable,value:t[r]})}return Object.create(Object.getPrototypeOf(t),e)}function Vt(t,e){return void 0===e&&(e=!1),zt(t)||It(t)||!Pt(t)||(Lt(t)>1&&(t.set=t.add=t.clear=t.delete=Ht),Object.freeze(t),e&&$t(t,(function(t,e){return Vt(e,!0)}),!0)),t}function Ht(){kt(2)}function zt(t){return null==t||"object"!=typeof t||Object.isFrozen(t)}function Jt(t){var e=Ee[t];return e||kt(18,t),e}function Zt(){return de}function Xt(t,e){e&&(Jt("Patches"),t.u=[],t.s=[],t.v=e)}function Gt(t){Qt(t),t.p.forEach(te),t.p=null}function Qt(t){t===de&&(de=t.l)}function Yt(t){return de={p:[],l:de,h:t,m:!0,_:0}}function te(t){var e=t[ge];0===e.i||1===e.i?e.j():e.g=!0}function ee(t,e){e._=e.p.length;var i=e.p[0],n=void 0!==t&&t!==i;return e.h.O||Jt("ES5").S(e,t,n),n?(i[ge].P&&(Gt(e),kt(4)),Pt(t)&&(t=ie(e,t),e.l||re(e,t)),e.u&&Jt("Patches").M(i[ge].t,t,e.u,e.s)):t=ie(e,i,[]),Gt(e),e.u&&e.v(e.u,e.s),t!==we?t:void 0}function ie(t,e,i){if(zt(e))return e;var n=e[ge];if(!n)return $t(e,(function(r,o){return ne(t,n,e,r,o,i)}),!0),e;if(n.A!==t)return e;if(!n.P)return re(t,n.t,!0),n.t;if(!n.I){n.I=!0,n.A._--;var r=4===n.i||5===n.i?n.o=qt(n.k):n.o,o=r,s=!1;3===n.i&&(o=new Set(r),r.clear(),s=!0),$t(o,(function(e,o){return ne(t,n,r,e,o,i,s)})),re(t,r,!1),i&&t.u&&Jt("Patches").N(n,i,t.u,t.s)}return n.o}function ne(t,e,i,n,r,o,s){if(It(r)){var u=ie(t,r,o&&e&&3!==e.i&&!_t(e.R,n)?o.concat(n):void 0);if(Ft(i,n,u),!It(u))return;t.m=!1}else s&&i.add(r);if(Pt(r)&&!zt(r)){if(!t.h.D&&t._<1)return;ie(t,r),e&&e.A.l||re(t,r)}}function re(t,e,i){void 0===i&&(i=!1),!t.l&&t.h.D&&t.m&&Vt(e,i)}function oe(t,e){var i=t[ge];return(i?Kt(i):t)[e]}function se(t,e){if(e in t)for(var i=Object.getPrototypeOf(t);i;){var n=Object.getOwnPropertyDescriptor(i,e);if(n)return n;i=Object.getPrototypeOf(i)}}function ue(t){t.P||(t.P=!0,t.l&&ue(t.l))}function ae(t){t.o||(t.o=qt(t.t))}function ce(t,e,i){var n=Dt(e)?Jt("MapSet").F(e,i):Wt(e)?Jt("MapSet").T(e,i):t.O?function(t,e){var i=Array.isArray(t),n={i:i?1:0,A:e?e.A:Zt(),P:!1,I:!1,R:{},l:e,t,k:null,o:null,j:null,C:!1},r=n,o=je;i&&(r=[n],o=Ce);var s=Proxy.revocable(r,o),u=s.revoke,a=s.proxy;return n.k=a,n.j=u,a}(e,i):Jt("ES5").J(e,i);return(i?i.A:Zt()).p.push(n),n}function le(t){return It(t)||kt(22,t),function t(e){if(!Pt(e))return e;var i,n=e[ge],r=Lt(e);if(n){if(!n.P&&(n.i<4||!Jt("ES5").K(n)))return n.t;n.I=!0,i=he(e,r),n.I=!1}else i=he(e,r);return $t(i,(function(e,r){n&&function(t,e){return 2===Lt(t)?t.get(e):t[e]}(n.t,e)===r||Ft(i,e,t(r))})),3===r?new Set(i):i}(t)}function he(t,e){switch(e){case 2:return new Map(t);case 3:return Array.from(t)}return qt(t)}Ct=Mt,Nt=At,Rt=Tt;var fe,de,ve="undefined"!=typeof Symbol&&"symbol"==typeof Symbol("x"),pe="undefined"!=typeof Map,be="undefined"!=typeof Set,ye="undefined"!=typeof Proxy&&void 0!==Proxy.revocable&&"undefined"!=typeof Reflect,we=ve?Symbol.for("immer-nothing"):((fe={})["immer-nothing"]=!0,fe),me=ve?Symbol.for("immer-draftable"):"__$immer_draftable",ge=ve?Symbol.for("immer-state"):"__$immer_state",xe=""+Object.prototype.constructor,Oe="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:void 0!==Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:Object.getOwnPropertyNames,Se=Object.getOwnPropertyDescriptors||function(t){var e={};return Oe(t).forEach((function(i){e[i]=Object.getOwnPropertyDescriptor(t,i)})),e},Ee={},je={get:function(t,e){if(e===ge)return t;var i=Kt(t);if(!_t(i,e))return function(t,e,i){var n,r=se(e,i);return r?"value"in r?r.value:null===(n=r.get)||void 0===n?void 0:n.call(t.k):void 0}(t,i,e);var n=i[e];return t.I||!Pt(n)?n:n===oe(t.t,e)?(ae(t),t.o[e]=ce(t.A.h,n,t)):n},has:function(t,e){return e in Kt(t)},ownKeys:function(t){return Reflect.ownKeys(Kt(t))},set:function(t,e,i){var n=se(Kt(t),e);if(null==n?void 0:n.set)return n.set.call(t.k,i),!0;if(!t.P){var r=oe(Kt(t),e),o=null==r?void 0:r[ge];if(o&&o.t===i)return t.o[e]=i,t.R[e]=!1,!0;if(Bt(i,r)&&(void 0!==i||_t(t.t,e)))return!0;ae(t),ue(t)}return t.o[e]===i&&(void 0!==i||e in t.o)||Number.isNaN(i)&&Number.isNaN(t.o[e])||(t.o[e]=i,t.R[e]=!0),!0},deleteProperty:function(t,e){return void 0!==oe(t.t,e)||e in t.t?(t.R[e]=!1,ae(t),ue(t)):delete t.R[e],t.o&&delete t.o[e],!0},getOwnPropertyDescriptor:function(t,e){var i=Kt(t),n=Reflect.getOwnPropertyDescriptor(i,e);return n?{writable:!0,configurable:1!==t.i||"length"!==e,enumerable:n.enumerable,value:i[e]}:n},defineProperty:function(){kt(11)},getPrototypeOf:function(t){return Object.getPrototypeOf(t.t)},setPrototypeOf:function(){kt(12)}},Ce={};$t(je,(function(t,e){Ce[t]=function(){return arguments[0]=arguments[0][0],e.apply(this,arguments)}})),Ce.deleteProperty=function(t,e){return Ce.set.call(this,t,e,void 0)},Ce.set=function(t,e,i){return je.set.call(this,t[0],e,i,t[0])};var Ne=function(){function t(t){var e=this;this.O=ye,this.D=!0,this.produce=function(t,i,n){if("function"==typeof t&&"function"!=typeof i){var r=i;i=t;var o=e;return function(t){var e=this;void 0===t&&(t=r);for(var n=arguments.length,s=Array(n>1?n-1:0),u=1;u<n;u++)s[u-1]=arguments[u];return o.produce(t,(function(t){var n;return(n=i).call.apply(n,[e,t].concat(s))}))}}var s;if("function"!=typeof i&&kt(6),void 0!==n&&"function"!=typeof n&&kt(7),Pt(t)){var u=Yt(e),a=ce(e,t,void 0),c=!0;try{s=i(a),c=!1}finally{c?Gt(u):Qt(u)}return"undefined"!=typeof Promise&&s instanceof Promise?s.then((function(t){return Xt(u,n),ee(t,u)}),(function(t){throw Gt(u),t})):(Xt(u,n),ee(s,u))}if(!t||"object"!=typeof t){if(void 0===(s=i(t))&&(s=t),s===we&&(s=void 0),e.D&&Vt(s,!0),n){var l=[],h=[];Jt("Patches").M(t,s,l,h),n(l,h)}return s}kt(21,t)},this.produceWithPatches=function(t,i){if("function"==typeof t)return function(i){for(var n=arguments.length,r=Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return e.produceWithPatches(i,(function(e){return t.apply(void 0,[e].concat(r))}))};var n,r,o=e.produce(t,i,(function(t,e){n=t,r=e}));return"undefined"!=typeof Promise&&o instanceof Promise?o.then((function(t){return[t,n,r]})):[o,n,r]},"boolean"==typeof(null==t?void 0:t.useProxies)&&this.setUseProxies(t.useProxies),"boolean"==typeof(null==t?void 0:t.autoFreeze)&&this.setAutoFreeze(t.autoFreeze)}var e=t.prototype;return e.createDraft=function(t){Pt(t)||kt(8),It(t)&&(t=le(t));var e=Yt(this),i=ce(this,t,void 0);return i[ge].C=!0,Qt(e),i},e.finishDraft=function(t,e){var i=(t&&t[ge]).A;return Xt(i,e),ee(void 0,i)},e.setAutoFreeze=function(t){this.D=t},e.setUseProxies=function(t){t&&!ye&&kt(20),this.O=t},e.applyPatches=function(t,e){var i;for(i=e.length-1;i>=0;i--){var n=e[i];if(0===n.path.length&&"replace"===n.op){t=n.value;break}}i>-1&&(e=e.slice(i+1));var r=Jt("Patches").$;return It(t)?r(t,e):this.produce(t,(function(t){return r(t,e)}))},t}(),Re=new Ne,Te=Re.produce;function Me(t){return Me="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Me(t)}function Ae(t){var e=function(t,e){if("object"!==Me(t)||null===t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var n=i.call(t,e||"default");if("object"!==Me(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"===Me(e)?e:String(e)}function Ue(t,e,i){return(e=Ae(e))in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function ke(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,n)}return i}function Ie(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{};e%2?ke(Object(i),!0).forEach((function(e){Ue(t,e,i[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):ke(Object(i)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))}))}return t}function Pe(t){return"Minified Redux error #"+t+"; visit https://redux.js.org/Errors?code="+t+" for the full message or use the non-minified dev environment for full errors. "}Re.produceWithPatches.bind(Re),Re.setAutoFreeze.bind(Re),Re.setUseProxies.bind(Re),Re.applyPatches.bind(Re),Re.createDraft.bind(Re),Re.finishDraft.bind(Re);var $e="function"==typeof Symbol&&Symbol.observable||"@@observable",Le=function(){return Math.random().toString(36).substring(7).split("").join(".")},_e={INIT:"@@redux/INIT"+Le(),REPLACE:"@@redux/REPLACE"+Le(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+Le()}};function Fe(t,e,i){var n;if("function"==typeof e&&"function"==typeof i||"function"==typeof i&&"function"==typeof arguments[3])throw new Error(Pe(0));if("function"==typeof e&&void 0===i&&(i=e,e=void 0),void 0!==i){if("function"!=typeof i)throw new Error(Pe(1));return i(Fe)(t,e)}if("function"!=typeof t)throw new Error(Pe(2));var r=t,o=e,s=[],u=s,a=!1;function c(){u===s&&(u=s.slice())}function l(){if(a)throw new Error(Pe(3));return o}function h(t){if("function"!=typeof t)throw new Error(Pe(4));if(a)throw new Error(Pe(5));var e=!0;return c(),u.push(t),function(){if(e){if(a)throw new Error(Pe(6));e=!1,c();var i=u.indexOf(t);u.splice(i,1),s=null}}}function f(t){if(!function(t){if("object"!=typeof t||null===t)return!1;for(var e=t;null!==Object.getPrototypeOf(e);)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}(t))throw new Error(Pe(7));if(void 0===t.type)throw new Error(Pe(8));if(a)throw new Error(Pe(9));try{a=!0,o=r(o,t)}finally{a=!1}for(var e=s=u,i=0;i<e.length;i++){(0,e[i])()}return t}return f({type:_e.INIT}),(n={dispatch:f,subscribe:h,getState:l,replaceReducer:function(t){if("function"!=typeof t)throw new Error(Pe(10));r=t,f({type:_e.REPLACE})}})[$e]=function(){var t,e=h;return(t={subscribe:function(t){if("object"!=typeof t||null===t)throw new Error(Pe(11));function i(){t.next&&t.next(l())}return i(),{unsubscribe:e(i)}}})[$e]=function(){return this},t},n}function Be(t){for(var e=Object.keys(t),i={},n=0;n<e.length;n++){var r=e[n];"function"==typeof t[r]&&(i[r]=t[r])}var o,s=Object.keys(i);try{!function(t){Object.keys(t).forEach((function(e){var i=t[e];if(void 0===i(void 0,{type:_e.INIT}))throw new Error(Pe(12));if(void 0===i(void 0,{type:_e.PROBE_UNKNOWN_ACTION()}))throw new Error(Pe(13))}))}(i)}catch(t){o=t}return function(t,e){if(void 0===t&&(t={}),o)throw o;for(var n=!1,r={},u=0;u<s.length;u++){var a=s[u],c=i[a],l=t[a],h=c(l,e);if(void 0===h)throw e&&e.type,new Error(Pe(14));r[a]=h,n=n||h!==l}return(n=n||s.length!==Object.keys(t).length)?r:t}}function De(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];return 0===e.length?function(t){return t}:1===e.length?e[0]:e.reduce((function(t,e){return function(){return t(e.apply(void 0,arguments))}}))}function We(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];return function(t){return function(){var i=t.apply(void 0,arguments),n=function(){throw new Error(Pe(15))},r={getState:i.getState,dispatch:function(){return n.apply(void 0,arguments)}},o=e.map((function(t){return t(r)}));return n=De.apply(void 0,o)(i.dispatch),Ie(Ie({},i),{},{dispatch:n})}}}function Ke(t){return function(e){var i=e.dispatch,n=e.getState;return function(e){return function(r){return"function"==typeof r?r(i,n,t):e(r)}}}}var qe=Ke();qe.withExtraArgument=Ke;var Ve,He=qe,ze=(Ve=function(t,e){return Ve=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])},Ve(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function i(){this.constructor=t}Ve(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),Je=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function u(o){return function(u){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,u])}}},Ze=function(t,e){for(var i=0,n=e.length,r=t.length;i<n;i++,r++)t[r]=e[i];return t},Xe=Object.defineProperty,Ge=Object.defineProperties,Qe=Object.getOwnPropertyDescriptors,Ye=Object.getOwnPropertySymbols,ti=Object.prototype.hasOwnProperty,ei=Object.prototype.propertyIsEnumerable,ii=function(t,e,i){return e in t?Xe(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i},ni=function(t,e){for(var i in e||(e={}))ti.call(e,i)&&ii(t,i,e[i]);if(Ye)for(var n=0,r=Ye(e);n<r.length;n++){i=r[n];ei.call(e,i)&&ii(t,i,e[i])}return t},ri=function(t,e){return Ge(t,Qe(e))},oi="undefined"!=typeof window&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(0!==arguments.length)return"object"==typeof arguments[0]?De:De.apply(null,arguments)};var si=function(t){function e(){for(var i=[],n=0;n<arguments.length;n++)i[n]=arguments[n];var r=t.apply(this,i)||this;return Object.setPrototypeOf(r,e.prototype),r}return ze(e,t),Object.defineProperty(e,Symbol.species,{get:function(){return e},enumerable:!1,configurable:!0}),e.prototype.concat=function(){for(var e=[],i=0;i<arguments.length;i++)e[i]=arguments[i];return t.prototype.concat.apply(this,e)},e.prototype.prepend=function(){for(var t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];return 1===t.length&&Array.isArray(t[0])?new(e.bind.apply(e,Ze([void 0],t[0].concat(this)))):new(e.bind.apply(e,Ze([void 0],t.concat(this))))},e}(Array),ui=function(t){function e(){for(var i=[],n=0;n<arguments.length;n++)i[n]=arguments[n];var r=t.apply(this,i)||this;return Object.setPrototypeOf(r,e.prototype),r}return ze(e,t),Object.defineProperty(e,Symbol.species,{get:function(){return e},enumerable:!1,configurable:!0}),e.prototype.concat=function(){for(var e=[],i=0;i<arguments.length;i++)e[i]=arguments[i];return t.prototype.concat.apply(this,e)},e.prototype.prepend=function(){for(var t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];return 1===t.length&&Array.isArray(t[0])?new(e.bind.apply(e,Ze([void 0],t[0].concat(this)))):new(e.bind.apply(e,Ze([void 0],t.concat(this))))},e}(Array);function ai(t){return Pt(t)?Te(t,(function(){})):t}function ci(){return function(t){return function(t){void 0===t&&(t={});var e=t.thunk,i=void 0===e||e;t.immutableCheck,t.serializableCheck;var n=new si;i&&(!function(t){return"boolean"==typeof t}(i)?n.push(He.withExtraArgument(i.extraArgument)):n.push(He));return n}(t)}}function li(t){var e,i=ci(),n=t||{},r=n.reducer,o=void 0===r?void 0:r,s=n.middleware,u=void 0===s?i():s,a=n.devTools,c=void 0===a||a,l=n.preloadedState,h=void 0===l?void 0:l,f=n.enhancers,d=void 0===f?void 0:f;if("function"==typeof o)e=o;else{if(!function(t){if("object"!=typeof t||null===t)return!1;var e=Object.getPrototypeOf(t);if(null===e)return!0;for(var i=e;null!==Object.getPrototypeOf(i);)i=Object.getPrototypeOf(i);return e===i}(o))throw new Error('"reducer" is a required argument, and must be a function or an object of functions that can be passed to combineReducers');e=Be(o)}var v=u;"function"==typeof v&&(v=v(i));var p=We.apply(void 0,v),b=De;c&&(b=oi(ni({trace:!1},"object"==typeof c&&c)));var y=new ui(p),w=y;return Array.isArray(d)?w=Ze([p],d):"function"==typeof d&&(w=d(y)),Fe(e,h,b.apply(void 0,w))}function hi(t,e){function i(){for(var i=[],n=0;n<arguments.length;n++)i[n]=arguments[n];if(e){var r=e.apply(void 0,i);if(!r)throw new Error("prepareAction did not return an object");return ni(ni({type:t,payload:r.payload},"meta"in r&&{meta:r.meta}),"error"in r&&{error:r.error})}return{type:t,payload:i[0]}}return i.toString=function(){return""+t},i.type=t,i.match=function(e){return e.type===t},i}function fi(t){var e,i={},n=[],r={addCase:function(t,e){var n="string"==typeof t?t:t.type;if(n in i)throw new Error("addCase cannot be called with two reducers for the same action type");return i[n]=e,r},addMatcher:function(t,e){return n.push({matcher:t,reducer:e}),r},addDefaultCase:function(t){return e=t,r}};return t(r),[i,n,e]}function di(t){var e=t.name;if(!e)throw new Error("`name` is a required option for createSlice");var i,n="function"==typeof t.initialState?t.initialState:ai(t.initialState),r=t.reducers||{},o=Object.keys(r),s={},u={},a={};function c(){var e="function"==typeof t.extraReducers?fi(t.extraReducers):[t.extraReducers],i=e[0],r=void 0===i?{}:i,o=e[1],s=void 0===o?[]:o,a=e[2],c=void 0===a?void 0:a,l=ni(ni({},r),u);return function(t,e,i,n){void 0===i&&(i=[]);var r,o="function"==typeof e?fi(e):[e,i,n],s=o[0],u=o[1],a=o[2];if(function(t){return"function"==typeof t}(t))r=function(){return ai(t())};else{var c=ai(t);r=function(){return c}}function l(t,e){void 0===t&&(t=r());var i=Ze([s[e.type]],u.filter((function(t){return(0,t.matcher)(e)})).map((function(t){return t.reducer})));return 0===i.filter((function(t){return!!t})).length&&(i=[a]),i.reduce((function(t,i){if(i){var n;if(It(t))return void 0===(n=i(t,e))?t:n;if(Pt(t))return Te(t,(function(t){return i(t,e)}));if(void 0===(n=i(t,e))){if(null===t)return t;throw Error("A case reducer on a non-draftable value must not return undefined")}return n}return t}),t)}return l.getInitialState=r,l}(n,(function(t){for(var e in l)t.addCase(e,l[e]);for(var i=0,n=s;i<n.length;i++){var r=n[i];t.addMatcher(r.matcher,r.reducer)}c&&t.addDefaultCase(c)}))}return o.forEach((function(t){var i,n,o=r[t],c=e+"/"+t;"reducer"in o?(i=o.reducer,n=o.prepare):i=o,s[t]=i,u[c]=i,a[t]=n?hi(c,n):hi(c)})),{name:e,reducer:function(t,e){return i||(i=c()),i(t,e)},actions:a,caseReducers:s,getInitialState:function(){return i||(i=c()),i.getInitialState()}}}var vi=["name","message","stack","code"],pi=function(t,e){this.payload=t,this.meta=e},bi=function(t,e){this.payload=t,this.meta=e},yi=function(t){if("object"==typeof t&&null!==t){for(var e={},i=0,n=vi;i<n.length;i++){var r=n[i];"string"==typeof t[r]&&(e[r]=t[r])}return e}return{message:String(t)}};function wi(t){if(t.meta&&t.meta.rejectedWithValue)throw t.payload;if(t.error)throw t.error;return t.payload}!function(){function t(t,e,i){var n=hi(t+"/fulfilled",(function(t,e,i,n){return{payload:t,meta:ri(ni({},n||{}),{arg:i,requestId:e,requestStatus:"fulfilled"})}})),r=hi(t+"/pending",(function(t,e,i){return{payload:void 0,meta:ri(ni({},i||{}),{arg:e,requestId:t,requestStatus:"pending"})}})),o=hi(t+"/rejected",(function(t,e,n,r,o){return{payload:r,error:(i&&i.serializeError||yi)(t||"Rejected"),meta:ri(ni({},o||{}),{arg:n,requestId:e,rejectedWithValue:!!r,requestStatus:"rejected",aborted:"AbortError"===(null==t?void 0:t.name),condition:"ConditionError"===(null==t?void 0:t.name)})}})),s="undefined"!=typeof AbortController?AbortController:function(){function t(){this.signal={aborted:!1,addEventListener:function(){},dispatchEvent:function(){return!1},onabort:function(){},removeEventListener:function(){},reason:void 0,throwIfAborted:function(){}}}return t.prototype.abort=function(){},t}();return Object.assign((function(t){return function(u,a,c){var l,h=(null==i?void 0:i.idGenerator)?i.idGenerator(t):function(t){void 0===t&&(t=21);for(var e="",i=t;i--;)e+="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW"[64*Math.random()|0];return e}(),f=new s;function d(t){l=t,f.abort()}var v=function(){return s=this,v=null,p=function(){var s,v,p,b,y,w;return Je(this,(function(m){switch(m.label){case 0:return m.trys.push([0,4,,5]),b=null==(s=null==i?void 0:i.condition)?void 0:s.call(i,t,{getState:a,extra:c}),null===(g=b)||"object"!=typeof g||"function"!=typeof g.then?[3,2]:[4,b];case 1:b=m.sent(),m.label=2;case 2:if(!1===b||f.signal.aborted)throw{name:"ConditionError",message:"Aborted due to condition callback returning false."};return y=new Promise((function(t,e){return f.signal.addEventListener("abort",(function(){return e({name:"AbortError",message:l||"Aborted"})}))})),u(r(h,t,null==(v=null==i?void 0:i.getPendingMeta)?void 0:v.call(i,{requestId:h,arg:t},{getState:a,extra:c}))),[4,Promise.race([y,Promise.resolve(e(t,{dispatch:u,getState:a,extra:c,requestId:h,signal:f.signal,abort:d,rejectWithValue:function(t,e){return new pi(t,e)},fulfillWithValue:function(t,e){return new bi(t,e)}})).then((function(e){if(e instanceof pi)throw e;return e instanceof bi?n(e.payload,h,t,e.meta):n(e,h,t)}))])];case 3:return p=m.sent(),[3,5];case 4:return w=m.sent(),p=w instanceof pi?o(null,h,t,w.payload,w.meta):o(w,h,t),[3,5];case 5:return i&&!i.dispatchConditionRejection&&o.match(p)&&p.meta.condition||u(p),[2,p]}var g}))},new Promise((function(t,e){var i=function(t){try{r(p.next(t))}catch(t){e(t)}},n=function(t){try{r(p.throw(t))}catch(t){e(t)}},r=function(e){return e.done?t(e.value):Promise.resolve(e.value).then(i,n)};r((p=p.apply(s,v)).next())}));var s,v,p}();return Object.assign(v,{abort:d,requestId:h,arg:t,unwrap:function(){return v.then(wi)}})}}),{pending:r,rejected:o,fulfilled:n,typePrefix:t})}t.withTypes=function(){return t}}();var mi="listenerMiddleware";hi(mi+"/add"),hi(mi+"/removeAll"),hi(mi+"/remove"),"function"==typeof queueMicrotask&&queueMicrotask.bind("undefined"!=typeof window?window:"undefined"!=typeof global?global:globalThis),function(){function t(t,e){var i=r[t];return i?i.enumerable=e:r[t]=i={configurable:!0,enumerable:e,get:function(){var e=this[ge];return je.get(e,t)},set:function(e){var i=this[ge];je.set(i,t,e)}},i}function e(t){for(var e=t.length-1;e>=0;e--){var r=t[e][ge];if(!r.P)switch(r.i){case 5:n(r)&&ue(r);break;case 4:i(r)&&ue(r)}}}function i(t){for(var e=t.t,i=t.k,n=Oe(i),r=n.length-1;r>=0;r--){var o=n[r];if(o!==ge){var s=e[o];if(void 0===s&&!_t(e,o))return!0;var u=i[o],a=u&&u[ge];if(a?a.t!==s:!Bt(u,s))return!0}}var c=!!e[ge];return n.length!==Oe(e).length+(c?0:1)}function n(t){var e=t.k;if(e.length!==t.t.length)return!0;var i=Object.getOwnPropertyDescriptor(e,e.length-1);if(i&&!i.get)return!0;for(var n=0;n<e.length;n++)if(!e.hasOwnProperty(n))return!0;return!1}var r={};!function(t,e){Ee[t]||(Ee[t]=e)}("ES5",{J:function(e,i){var n=Array.isArray(e),r=function(e,i){if(e){for(var n=Array(i.length),r=0;r<i.length;r++)Object.defineProperty(n,""+r,t(r,!0));return n}var o=Se(i);delete o[ge];for(var s=Oe(o),u=0;u<s.length;u++){var a=s[u];o[a]=t(a,e||!!o[a].enumerable)}return Object.create(Object.getPrototypeOf(i),o)}(n,e),o={i:n?5:4,A:i?i.A:Zt(),P:!1,I:!1,R:{},l:i,t:e,k:r,o:null,g:!1,C:!1};return Object.defineProperty(r,ge,{value:o,writable:!0}),r},S:function(t,i,r){r?It(i)&&i[ge].A===t&&e(t.p):(t.u&&function t(e){if(e&&"object"==typeof e){var i=e[ge];if(i){var r=i.t,o=i.k,s=i.R,u=i.i;if(4===u)$t(o,(function(e){e!==ge&&(void 0!==r[e]||_t(r,e)?s[e]||t(o[e]):(s[e]=!0,ue(i)))})),$t(r,(function(t){void 0!==o[t]||_t(o,t)||(s[t]=!1,ue(i))}));else if(5===u){if(n(i)&&(ue(i),s.length=!0),o.length<r.length)for(var a=o.length;a<r.length;a++)s[a]=!1;else for(var c=r.length;c<o.length;c++)s[c]=!0;for(var l=Math.min(o.length,r.length),h=0;h<l;h++)o.hasOwnProperty(h)||(s[h]=!0),void 0===s[h]&&t(o[h])}}}}(t.p[0]),e(t.p))},K:function(t){return 4===t.i?i(t):n(t)}})}(),window.ftReduxStores||(window.ftReduxStores={});class gi{static get(t){var e;const i="string"==typeof t?t:t.name,n="string"==typeof t?void 0:t,r=window.ftReduxStores[i];if(jt(r))return r;if(null==n)return;const o=di({...n,reducers:null!==(e=n.reducers)&&void 0!==e?e:{}}),s=li({reducer:(t,e)=>{var i;switch(e.type){case"CLEAR_FT_REDUX_STORE":return o.getInitialState();case"DEFAULT_STATE_FIELDS_VALUES_SETTER":return{...t,...null!==(i=e.overwrites)&&void 0!==i?i:{}};default:return o.reducer(t,e)}}});return window.ftReduxStores[n.name]=new gi(o,s)}constructor(t,e){this.reduxSlice=t,this.reduxStore=e,this.isFtReduxStore=!0,this.eventBus=document.createElement("event-bus"),this.actions=new Proxy(this.reduxSlice.actions,{get:(t,e,i)=>{const n=e,r=t[n];return r?(...t)=>{const e=r(...t);return this.reduxStore.dispatch(e),e}:t=>{this.reduxStore.dispatch({type:"DEFAULT_STATE_FIELDS_VALUES_SETTER",overwrites:{[n]:t}})}}})}clear(){this.reduxStore.dispatch({type:"CLEAR_FT_REDUX_STORE"})}get dispatch(){throw new Error("Don't use this method, actions are automatically dispatched when called.")}[Symbol.observable](){return this.reduxStore[Symbol.observable]()}getState(){return this.reduxStore.getState()}replaceReducer(t){throw new Error("Not implemented yet.")}subscribe(t){return this.reduxStore.subscribe(t)}get name(){return this.reduxSlice.name}get reducer(){return this.reduxSlice.reducer}get caseReducers(){return this.reduxSlice.caseReducers}getInitialState(){return this.reduxSlice.getInitialState()}}const xi=t=>{const e=null!=t?t:{};return(t,i)=>{var n;const r={hasChanged:(t,e)=>!c(t,e),attribute:!1,...e};s(r)(t,i);const o=t;o.reduxProperties=o.reduxProperties||new Map,o.reduxProperties.set(i,{selector:null!==(n=e.selector)&&void 0!==n?n:t=>t[i],store:e.store})}};var Oi,Si;navigator.vendor&&navigator.vendor.match(/apple/i)||(null===(Si=null===(Oi=window.safari)||void 0===Oi?void 0:Oi.pushNotification)||void 0===Si||Si.toString());const Ei={setMapId:(t,e)=>{t.mapId=e.payload},setTocId:(t,e)=>{t.tocId=e.payload},setMap:(t,e)=>{t.map=e.payload},setToc:(t,e)=>{t.toc=e.payload},setPagesToc:(t,e)=>{t.pagesToc=e.payload},setPaginationConfiguration:(t,e)=>{t.paginationConfiguration=e.payload},setCurrentPage:(t,e)=>{t.currentPage=e.payload},setScrollTarget:(t,e)=>{t.scrollTarget=e.payload},setVisibleTopics:(t,e)=>{t.visibleTopics=e.payload},setConfiguration:(t,e)=>{t.configuration=e.payload}};class ji{constructor(t){this.paginatedToc=t,this.nodeByTocId={},this.knownPrettyUrls=new Set,this.duplicatedPrettyUrls=new Set,this.pages=[],this.pageByTocId={}}build(){return{paginationConfiguration:this.paginatedToc.configuration,toc:this.convertNodes(this.paginatedToc.paginatedToc,1),pagesToc:this.extractPagesToc(this.paginatedToc.paginatedToc,1),nodeByTocId:this.nodeByTocId,duplicatedPrettyUrls:this.duplicatedPrettyUrls,pages:this.pages,pageByTocId:this.pageByTocId}}extractPagesToc(t,e,i){return t.flatMap((t=>(t.pageConfiguration&&this.registerPage(this.buildPage(t,i)),null==t.tocId?this.extractPagesToc(t.children,e,i):[{tocId:t.tocId,title:t.title,depth:e,children:this.extractPagesToc(t.children,e+1,t.tocId)}])))}convertNodes(t,e,i){return t.flatMap((t=>{var n,r,o;if(null==t.tocId)return[...this.convertSectionNodes(null!==(n=t.pageToc)&&void 0!==n?n:[],e,t.tocId),...this.convertNodes(t.children,e,t.tocId)];let s=null===(r=t.prettyUrl)||void 0===r?void 0:r.replace(/^\//,"");const u={tocId:t.tocId,contentId:t.contentId,title:t.title,hasRating:t.hasRating,prettyUrl:s,depth:e,parentTocId:i,children:[]};this.register(u);const a=this.convertSectionNodes(null!==(o=t.pageToc)&&void 0!==o?o:[],e+1,t.tocId),c=this.convertNodes(t.children,e+1,u.tocId);return u.children=[...a,...c],[u]}))}convertSectionNodes(t,e,i){return t.flatMap((t=>{var n;let r=null===(n=t.prettyUrl)||void 0===n?void 0:n.replace(/^\//,"");const o={...t,prettyUrl:r,depth:e,parentTocId:i,children:[]};return this.register(o),o.children=this.convertSectionNodes(t.children,e+1,t.tocId),[o]}))}buildPage(t,e){var i,n,r,o,s,u;const a={number:this.pages.length+1,title:null!==(i=t.title)&&void 0!==i?i:"",rootTocId:null!==(n=t.tocId)&&void 0!==n?n:"root",toc:(null!==(r=t.pageToc)&&void 0!==r?r:[]).map((t=>this.nodeByTocId[t.tocId])),topics:[],hiddenTopics:[],breadcrumb:e?this.buildBreadcrumb(this.nodeByTocId[e]):[]},c=(t,e)=>(e?a.topics:a.hiddenTopics).push(t),l=null!==(s=null===(o=t.pageConfiguration)||void 0===o?void 0:o.parentsVisibility)&&void 0!==s?s:[];return a.breadcrumb.forEach(((t,e)=>{c(t,l[e])})),t.tocId&&c(t.tocId,t.pageConfiguration.isVisible),a.topics.push(...this.tocIds(null!==(u=t.pageToc)&&void 0!==u?u:[])),a}registerPage(t){for(let e of[...t.topics,...t.hiddenTopics])this.pageByTocId[e]||(this.pageByTocId[e]=t);this.pages.push(t)}tocIds(t){return t.flatMap((t=>[t.tocId,...this.tocIds(t.children)]))}buildBreadcrumb(t){const e=[t.tocId];for(;null==t?void 0:t.parentTocId;)e.unshift(t.parentTocId),t=this.nodeByTocId[t.parentTocId];return e}register(t){t.prettyUrl&&(this.knownPrettyUrls.has(t.prettyUrl)&&this.duplicatedPrettyUrls.add(t.prettyUrl),this.knownPrettyUrls.add(t.prettyUrl)),this.nodeByTocId[t.tocId]=t}}class Ci{convertPaginatedToc(t){return new ji(t).build()}}const Ni=w`
81
+ `;class Et{constructor(t,e){this.defaultLabels=t,this.labels=e}resolve(t,...e){var i,n;t=this.resolvePluralKey(t,e);let r=null!==(n=null!==(i=this.labels[t])&&void 0!==i?i:this.defaultLabels[t])&&void 0!==n?n:"";return e.forEach(((t,e)=>r=r.replace(new RegExp(`\\{${e}([^}]*)\\}`,"g"),((e,i)=>this.formatValue(t,i))))),r}resolvePluralKey(t,e){for(let i of e)if("number"==typeof i){const e=`${String(t)}[\\=${i}]`;if(e in this.labels||e in this.defaultLabels)return e}return t}formatValue(t,e){return t instanceof Date?this.formatDate(t,e):null!=t?t:""}formatDate(t,e){const i=i=>(null==e?void 0:e.includes("date"))?t.toLocaleDateString(i):(null==e?void 0:e.includes("time"))?t.toLocaleTimeString(i):t.toLocaleString(i);try{return i(document.documentElement.lang)}catch(t){return i()}}}function jt(t){var e;return null!==(e=null==t?void 0:t.isFtReduxStore)&&void 0!==e&&e}var Ct,Nt,Rt;const Tt=Symbol("internalReduxEventsUnsubscribers"),Mt=Symbol("internalStoresUnsubscribers"),At=Symbol("internalStores");class Ut extends St{constructor(){super(...arguments),this[Ct]=new Map,this[Nt]=new Map,this[Rt]=[]}updated(t){var e;super.updated(t),(null===(e=this.reduxReactiveProperties)||void 0===e?void 0:e.some((e=>t.has(e))))&&this.updateFromStores()}getUnnamedStore(){if(this[At].size>1)throw new Error("Cannot resolve unnamed store when multiple stores are configured.");return[...this[At].values()][0]}getStore(t){return null==t?this.getUnnamedStore():this[At].get(t)}addStore(t,e){var i;e=null!==(i=null!=e?e:jt(t)?t.name:void 0)&&void 0!==i?i:"default-store",this.unsubscribeFromStore(e),this.setupStore(e,t)}removeStore(t){const e="string"==typeof t?t:t.name;this.unsubscribeFromStore(e),this[At].delete(e)}setupStore(t,e){this[At].set(t,e),this.subscribeToStore(t,e),this.updateFromStores()}setupStores(){this.unsubscribeFromStores(),this[At].forEach(((t,e)=>this.subscribeToStore(e,t))),this.updateFromStores()}updateFromStores(){this.reduxProperties&&this.reduxProperties.forEach(((t,e)=>{const i=this.constructor.getPropertyOptions(e);if(!(null==i?void 0:i.attribute)||!this.hasAttribute("string"==typeof(null==i?void 0:i.attribute)?i.attribute:e)){const i=this.getStore(t.store);i&&(t.store?this[Mt].has(t.store):this[Mt].size>0)&&(this[e]=t.selector(i.getState(),this))}}))}subscribeToStore(t,e){var i;this[Mt].set(t,e.subscribe((()=>this.updateFromStores()))),jt(e)&&e.eventBus&&(null===(i=this.reduxEventListeners)||void 0===i||i.forEach(((t,i)=>{if("function"==typeof this[i]&&(!t.store||e.name===t.store)){const n=t=>this[i](t);e.eventBus.addEventListener(t.eventName,n),this[Tt].push((()=>e.eventBus.removeEventListener(t.eventName,n)))}}))),this.onStoreAvailable(t)}unsubscribeFromStores(){this[Mt].forEach(((t,e)=>this.unsubscribeFromStore(e))),this[Tt].forEach((t=>t())),this[Tt]=[]}unsubscribeFromStore(t){this[Mt].has(t)&&this[Mt].get(t)(),this[Mt].delete(t)}onStoreAvailable(t){}connectedCallback(){super.connectedCallback(),this.setupStores()}disconnectedCallback(){super.disconnectedCallback(),this.unsubscribeFromStores()}}function kt(t){for(var e=arguments.length,i=Array(e>1?e-1:0),n=1;n<e;n++)i[n-1]=arguments[n];throw Error("[Immer] minified error nr: "+t+(i.length?" "+i.map((function(t){return"'"+t+"'"})).join(","):"")+". Find the full error at: https://bit.ly/3cXEKWf")}function It(t){return!!t&&!!t[ge]}function Pt(t){var e;return!!t&&(function(t){if(!t||"object"!=typeof t)return!1;var e=Object.getPrototypeOf(t);if(null===e)return!0;var i=Object.hasOwnProperty.call(e,"constructor")&&e.constructor;return i===Object||"function"==typeof i&&Function.toString.call(i)===xe}(t)||Array.isArray(t)||!!t[me]||!!(null===(e=t.constructor)||void 0===e?void 0:e[me])||Dt(t)||Wt(t))}function $t(t,e,i){void 0===i&&(i=!1),0===Lt(t)?(i?Object.keys:Oe)(t).forEach((function(n){i&&"symbol"==typeof n||e(n,t[n],t)})):t.forEach((function(i,n){return e(n,i,t)}))}function Lt(t){var e=t[ge];return e?e.i>3?e.i-4:e.i:Array.isArray(t)?1:Dt(t)?2:Wt(t)?3:0}function _t(t,e){return 2===Lt(t)?t.has(e):Object.prototype.hasOwnProperty.call(t,e)}function Ft(t,e,i){var n=Lt(t);2===n?t.set(e,i):3===n?t.add(i):t[e]=i}function Bt(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e}function Dt(t){return pe&&t instanceof Map}function Wt(t){return be&&t instanceof Set}function Kt(t){return t.o||t.t}function Vt(t){if(Array.isArray(t))return Array.prototype.slice.call(t);var e=Se(t);delete e[ge];for(var i=Oe(e),n=0;n<i.length;n++){var r=i[n],o=e[r];!1===o.writable&&(o.writable=!0,o.configurable=!0),(o.get||o.set)&&(e[r]={configurable:!0,writable:!0,enumerable:o.enumerable,value:t[r]})}return Object.create(Object.getPrototypeOf(t),e)}function qt(t,e){return void 0===e&&(e=!1),zt(t)||It(t)||!Pt(t)||(Lt(t)>1&&(t.set=t.add=t.clear=t.delete=Ht),Object.freeze(t),e&&$t(t,(function(t,e){return qt(e,!0)}),!0)),t}function Ht(){kt(2)}function zt(t){return null==t||"object"!=typeof t||Object.isFrozen(t)}function Jt(t){var e=Ee[t];return e||kt(18,t),e}function Zt(){return de}function Xt(t,e){e&&(Jt("Patches"),t.u=[],t.s=[],t.v=e)}function Gt(t){Qt(t),t.p.forEach(te),t.p=null}function Qt(t){t===de&&(de=t.l)}function Yt(t){return de={p:[],l:de,h:t,m:!0,_:0}}function te(t){var e=t[ge];0===e.i||1===e.i?e.j():e.g=!0}function ee(t,e){e._=e.p.length;var i=e.p[0],n=void 0!==t&&t!==i;return e.h.O||Jt("ES5").S(e,t,n),n?(i[ge].P&&(Gt(e),kt(4)),Pt(t)&&(t=ie(e,t),e.l||re(e,t)),e.u&&Jt("Patches").M(i[ge].t,t,e.u,e.s)):t=ie(e,i,[]),Gt(e),e.u&&e.v(e.u,e.s),t!==we?t:void 0}function ie(t,e,i){if(zt(e))return e;var n=e[ge];if(!n)return $t(e,(function(r,o){return ne(t,n,e,r,o,i)}),!0),e;if(n.A!==t)return e;if(!n.P)return re(t,n.t,!0),n.t;if(!n.I){n.I=!0,n.A._--;var r=4===n.i||5===n.i?n.o=Vt(n.k):n.o,o=r,s=!1;3===n.i&&(o=new Set(r),r.clear(),s=!0),$t(o,(function(e,o){return ne(t,n,r,e,o,i,s)})),re(t,r,!1),i&&t.u&&Jt("Patches").N(n,i,t.u,t.s)}return n.o}function ne(t,e,i,n,r,o,s){if(It(r)){var u=ie(t,r,o&&e&&3!==e.i&&!_t(e.R,n)?o.concat(n):void 0);if(Ft(i,n,u),!It(u))return;t.m=!1}else s&&i.add(r);if(Pt(r)&&!zt(r)){if(!t.h.D&&t._<1)return;ie(t,r),e&&e.A.l||re(t,r)}}function re(t,e,i){void 0===i&&(i=!1),!t.l&&t.h.D&&t.m&&qt(e,i)}function oe(t,e){var i=t[ge];return(i?Kt(i):t)[e]}function se(t,e){if(e in t)for(var i=Object.getPrototypeOf(t);i;){var n=Object.getOwnPropertyDescriptor(i,e);if(n)return n;i=Object.getPrototypeOf(i)}}function ue(t){t.P||(t.P=!0,t.l&&ue(t.l))}function ae(t){t.o||(t.o=Vt(t.t))}function ce(t,e,i){var n=Dt(e)?Jt("MapSet").F(e,i):Wt(e)?Jt("MapSet").T(e,i):t.O?function(t,e){var i=Array.isArray(t),n={i:i?1:0,A:e?e.A:Zt(),P:!1,I:!1,R:{},l:e,t,k:null,o:null,j:null,C:!1},r=n,o=je;i&&(r=[n],o=Ce);var s=Proxy.revocable(r,o),u=s.revoke,a=s.proxy;return n.k=a,n.j=u,a}(e,i):Jt("ES5").J(e,i);return(i?i.A:Zt()).p.push(n),n}function le(t){return It(t)||kt(22,t),function t(e){if(!Pt(e))return e;var i,n=e[ge],r=Lt(e);if(n){if(!n.P&&(n.i<4||!Jt("ES5").K(n)))return n.t;n.I=!0,i=he(e,r),n.I=!1}else i=he(e,r);return $t(i,(function(e,r){n&&function(t,e){return 2===Lt(t)?t.get(e):t[e]}(n.t,e)===r||Ft(i,e,t(r))})),3===r?new Set(i):i}(t)}function he(t,e){switch(e){case 2:return new Map(t);case 3:return Array.from(t)}return Vt(t)}Ct=Mt,Nt=At,Rt=Tt;var fe,de,ve="undefined"!=typeof Symbol&&"symbol"==typeof Symbol("x"),pe="undefined"!=typeof Map,be="undefined"!=typeof Set,ye="undefined"!=typeof Proxy&&void 0!==Proxy.revocable&&"undefined"!=typeof Reflect,we=ve?Symbol.for("immer-nothing"):((fe={})["immer-nothing"]=!0,fe),me=ve?Symbol.for("immer-draftable"):"__$immer_draftable",ge=ve?Symbol.for("immer-state"):"__$immer_state",xe=""+Object.prototype.constructor,Oe="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:void 0!==Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:Object.getOwnPropertyNames,Se=Object.getOwnPropertyDescriptors||function(t){var e={};return Oe(t).forEach((function(i){e[i]=Object.getOwnPropertyDescriptor(t,i)})),e},Ee={},je={get:function(t,e){if(e===ge)return t;var i=Kt(t);if(!_t(i,e))return function(t,e,i){var n,r=se(e,i);return r?"value"in r?r.value:null===(n=r.get)||void 0===n?void 0:n.call(t.k):void 0}(t,i,e);var n=i[e];return t.I||!Pt(n)?n:n===oe(t.t,e)?(ae(t),t.o[e]=ce(t.A.h,n,t)):n},has:function(t,e){return e in Kt(t)},ownKeys:function(t){return Reflect.ownKeys(Kt(t))},set:function(t,e,i){var n=se(Kt(t),e);if(null==n?void 0:n.set)return n.set.call(t.k,i),!0;if(!t.P){var r=oe(Kt(t),e),o=null==r?void 0:r[ge];if(o&&o.t===i)return t.o[e]=i,t.R[e]=!1,!0;if(Bt(i,r)&&(void 0!==i||_t(t.t,e)))return!0;ae(t),ue(t)}return t.o[e]===i&&(void 0!==i||e in t.o)||Number.isNaN(i)&&Number.isNaN(t.o[e])||(t.o[e]=i,t.R[e]=!0),!0},deleteProperty:function(t,e){return void 0!==oe(t.t,e)||e in t.t?(t.R[e]=!1,ae(t),ue(t)):delete t.R[e],t.o&&delete t.o[e],!0},getOwnPropertyDescriptor:function(t,e){var i=Kt(t),n=Reflect.getOwnPropertyDescriptor(i,e);return n?{writable:!0,configurable:1!==t.i||"length"!==e,enumerable:n.enumerable,value:i[e]}:n},defineProperty:function(){kt(11)},getPrototypeOf:function(t){return Object.getPrototypeOf(t.t)},setPrototypeOf:function(){kt(12)}},Ce={};$t(je,(function(t,e){Ce[t]=function(){return arguments[0]=arguments[0][0],e.apply(this,arguments)}})),Ce.deleteProperty=function(t,e){return Ce.set.call(this,t,e,void 0)},Ce.set=function(t,e,i){return je.set.call(this,t[0],e,i,t[0])};var Ne=function(){function t(t){var e=this;this.O=ye,this.D=!0,this.produce=function(t,i,n){if("function"==typeof t&&"function"!=typeof i){var r=i;i=t;var o=e;return function(t){var e=this;void 0===t&&(t=r);for(var n=arguments.length,s=Array(n>1?n-1:0),u=1;u<n;u++)s[u-1]=arguments[u];return o.produce(t,(function(t){var n;return(n=i).call.apply(n,[e,t].concat(s))}))}}var s;if("function"!=typeof i&&kt(6),void 0!==n&&"function"!=typeof n&&kt(7),Pt(t)){var u=Yt(e),a=ce(e,t,void 0),c=!0;try{s=i(a),c=!1}finally{c?Gt(u):Qt(u)}return"undefined"!=typeof Promise&&s instanceof Promise?s.then((function(t){return Xt(u,n),ee(t,u)}),(function(t){throw Gt(u),t})):(Xt(u,n),ee(s,u))}if(!t||"object"!=typeof t){if(void 0===(s=i(t))&&(s=t),s===we&&(s=void 0),e.D&&qt(s,!0),n){var l=[],h=[];Jt("Patches").M(t,s,l,h),n(l,h)}return s}kt(21,t)},this.produceWithPatches=function(t,i){if("function"==typeof t)return function(i){for(var n=arguments.length,r=Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return e.produceWithPatches(i,(function(e){return t.apply(void 0,[e].concat(r))}))};var n,r,o=e.produce(t,i,(function(t,e){n=t,r=e}));return"undefined"!=typeof Promise&&o instanceof Promise?o.then((function(t){return[t,n,r]})):[o,n,r]},"boolean"==typeof(null==t?void 0:t.useProxies)&&this.setUseProxies(t.useProxies),"boolean"==typeof(null==t?void 0:t.autoFreeze)&&this.setAutoFreeze(t.autoFreeze)}var e=t.prototype;return e.createDraft=function(t){Pt(t)||kt(8),It(t)&&(t=le(t));var e=Yt(this),i=ce(this,t,void 0);return i[ge].C=!0,Qt(e),i},e.finishDraft=function(t,e){var i=(t&&t[ge]).A;return Xt(i,e),ee(void 0,i)},e.setAutoFreeze=function(t){this.D=t},e.setUseProxies=function(t){t&&!ye&&kt(20),this.O=t},e.applyPatches=function(t,e){var i;for(i=e.length-1;i>=0;i--){var n=e[i];if(0===n.path.length&&"replace"===n.op){t=n.value;break}}i>-1&&(e=e.slice(i+1));var r=Jt("Patches").$;return It(t)?r(t,e):this.produce(t,(function(t){return r(t,e)}))},t}(),Re=new Ne,Te=Re.produce;function Me(t){return Me="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Me(t)}function Ae(t){var e=function(t,e){if("object"!==Me(t)||null===t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var n=i.call(t,e||"default");if("object"!==Me(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"===Me(e)?e:String(e)}function Ue(t,e,i){return(e=Ae(e))in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function ke(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,n)}return i}function Ie(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{};e%2?ke(Object(i),!0).forEach((function(e){Ue(t,e,i[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):ke(Object(i)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))}))}return t}function Pe(t){return"Minified Redux error #"+t+"; visit https://redux.js.org/Errors?code="+t+" for the full message or use the non-minified dev environment for full errors. "}Re.produceWithPatches.bind(Re),Re.setAutoFreeze.bind(Re),Re.setUseProxies.bind(Re),Re.applyPatches.bind(Re),Re.createDraft.bind(Re),Re.finishDraft.bind(Re);var $e="function"==typeof Symbol&&Symbol.observable||"@@observable",Le=function(){return Math.random().toString(36).substring(7).split("").join(".")},_e={INIT:"@@redux/INIT"+Le(),REPLACE:"@@redux/REPLACE"+Le(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+Le()}};function Fe(t,e,i){var n;if("function"==typeof e&&"function"==typeof i||"function"==typeof i&&"function"==typeof arguments[3])throw new Error(Pe(0));if("function"==typeof e&&void 0===i&&(i=e,e=void 0),void 0!==i){if("function"!=typeof i)throw new Error(Pe(1));return i(Fe)(t,e)}if("function"!=typeof t)throw new Error(Pe(2));var r=t,o=e,s=[],u=s,a=!1;function c(){u===s&&(u=s.slice())}function l(){if(a)throw new Error(Pe(3));return o}function h(t){if("function"!=typeof t)throw new Error(Pe(4));if(a)throw new Error(Pe(5));var e=!0;return c(),u.push(t),function(){if(e){if(a)throw new Error(Pe(6));e=!1,c();var i=u.indexOf(t);u.splice(i,1),s=null}}}function f(t){if(!function(t){if("object"!=typeof t||null===t)return!1;for(var e=t;null!==Object.getPrototypeOf(e);)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}(t))throw new Error(Pe(7));if(void 0===t.type)throw new Error(Pe(8));if(a)throw new Error(Pe(9));try{a=!0,o=r(o,t)}finally{a=!1}for(var e=s=u,i=0;i<e.length;i++){(0,e[i])()}return t}return f({type:_e.INIT}),(n={dispatch:f,subscribe:h,getState:l,replaceReducer:function(t){if("function"!=typeof t)throw new Error(Pe(10));r=t,f({type:_e.REPLACE})}})[$e]=function(){var t,e=h;return(t={subscribe:function(t){if("object"!=typeof t||null===t)throw new Error(Pe(11));function i(){t.next&&t.next(l())}return i(),{unsubscribe:e(i)}}})[$e]=function(){return this},t},n}function Be(t){for(var e=Object.keys(t),i={},n=0;n<e.length;n++){var r=e[n];"function"==typeof t[r]&&(i[r]=t[r])}var o,s=Object.keys(i);try{!function(t){Object.keys(t).forEach((function(e){var i=t[e];if(void 0===i(void 0,{type:_e.INIT}))throw new Error(Pe(12));if(void 0===i(void 0,{type:_e.PROBE_UNKNOWN_ACTION()}))throw new Error(Pe(13))}))}(i)}catch(t){o=t}return function(t,e){if(void 0===t&&(t={}),o)throw o;for(var n=!1,r={},u=0;u<s.length;u++){var a=s[u],c=i[a],l=t[a],h=c(l,e);if(void 0===h)throw e&&e.type,new Error(Pe(14));r[a]=h,n=n||h!==l}return(n=n||s.length!==Object.keys(t).length)?r:t}}function De(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];return 0===e.length?function(t){return t}:1===e.length?e[0]:e.reduce((function(t,e){return function(){return t(e.apply(void 0,arguments))}}))}function We(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];return function(t){return function(){var i=t.apply(void 0,arguments),n=function(){throw new Error(Pe(15))},r={getState:i.getState,dispatch:function(){return n.apply(void 0,arguments)}},o=e.map((function(t){return t(r)}));return n=De.apply(void 0,o)(i.dispatch),Ie(Ie({},i),{},{dispatch:n})}}}function Ke(t){return function(e){var i=e.dispatch,n=e.getState;return function(e){return function(r){return"function"==typeof r?r(i,n,t):e(r)}}}}var Ve=Ke();Ve.withExtraArgument=Ke;var qe,He=Ve,ze=(qe=function(t,e){return qe=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])},qe(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function i(){this.constructor=t}qe(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),Je=function(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function u(o){return function(u){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,u])}}},Ze=function(t,e){for(var i=0,n=e.length,r=t.length;i<n;i++,r++)t[r]=e[i];return t},Xe=Object.defineProperty,Ge=Object.defineProperties,Qe=Object.getOwnPropertyDescriptors,Ye=Object.getOwnPropertySymbols,ti=Object.prototype.hasOwnProperty,ei=Object.prototype.propertyIsEnumerable,ii=function(t,e,i){return e in t?Xe(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i},ni=function(t,e){for(var i in e||(e={}))ti.call(e,i)&&ii(t,i,e[i]);if(Ye)for(var n=0,r=Ye(e);n<r.length;n++){i=r[n];ei.call(e,i)&&ii(t,i,e[i])}return t},ri=function(t,e){return Ge(t,Qe(e))},oi="undefined"!=typeof window&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(0!==arguments.length)return"object"==typeof arguments[0]?De:De.apply(null,arguments)};var si=function(t){function e(){for(var i=[],n=0;n<arguments.length;n++)i[n]=arguments[n];var r=t.apply(this,i)||this;return Object.setPrototypeOf(r,e.prototype),r}return ze(e,t),Object.defineProperty(e,Symbol.species,{get:function(){return e},enumerable:!1,configurable:!0}),e.prototype.concat=function(){for(var e=[],i=0;i<arguments.length;i++)e[i]=arguments[i];return t.prototype.concat.apply(this,e)},e.prototype.prepend=function(){for(var t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];return 1===t.length&&Array.isArray(t[0])?new(e.bind.apply(e,Ze([void 0],t[0].concat(this)))):new(e.bind.apply(e,Ze([void 0],t.concat(this))))},e}(Array),ui=function(t){function e(){for(var i=[],n=0;n<arguments.length;n++)i[n]=arguments[n];var r=t.apply(this,i)||this;return Object.setPrototypeOf(r,e.prototype),r}return ze(e,t),Object.defineProperty(e,Symbol.species,{get:function(){return e},enumerable:!1,configurable:!0}),e.prototype.concat=function(){for(var e=[],i=0;i<arguments.length;i++)e[i]=arguments[i];return t.prototype.concat.apply(this,e)},e.prototype.prepend=function(){for(var t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];return 1===t.length&&Array.isArray(t[0])?new(e.bind.apply(e,Ze([void 0],t[0].concat(this)))):new(e.bind.apply(e,Ze([void 0],t.concat(this))))},e}(Array);function ai(t){return Pt(t)?Te(t,(function(){})):t}function ci(){return function(t){return function(t){void 0===t&&(t={});var e=t.thunk,i=void 0===e||e;t.immutableCheck,t.serializableCheck;var n=new si;i&&(!function(t){return"boolean"==typeof t}(i)?n.push(He.withExtraArgument(i.extraArgument)):n.push(He));return n}(t)}}function li(t){var e,i=ci(),n=t||{},r=n.reducer,o=void 0===r?void 0:r,s=n.middleware,u=void 0===s?i():s,a=n.devTools,c=void 0===a||a,l=n.preloadedState,h=void 0===l?void 0:l,f=n.enhancers,d=void 0===f?void 0:f;if("function"==typeof o)e=o;else{if(!function(t){if("object"!=typeof t||null===t)return!1;var e=Object.getPrototypeOf(t);if(null===e)return!0;for(var i=e;null!==Object.getPrototypeOf(i);)i=Object.getPrototypeOf(i);return e===i}(o))throw new Error('"reducer" is a required argument, and must be a function or an object of functions that can be passed to combineReducers');e=Be(o)}var v=u;"function"==typeof v&&(v=v(i));var p=We.apply(void 0,v),b=De;c&&(b=oi(ni({trace:!1},"object"==typeof c&&c)));var y=new ui(p),w=y;return Array.isArray(d)?w=Ze([p],d):"function"==typeof d&&(w=d(y)),Fe(e,h,b.apply(void 0,w))}function hi(t,e){function i(){for(var i=[],n=0;n<arguments.length;n++)i[n]=arguments[n];if(e){var r=e.apply(void 0,i);if(!r)throw new Error("prepareAction did not return an object");return ni(ni({type:t,payload:r.payload},"meta"in r&&{meta:r.meta}),"error"in r&&{error:r.error})}return{type:t,payload:i[0]}}return i.toString=function(){return""+t},i.type=t,i.match=function(e){return e.type===t},i}function fi(t){var e,i={},n=[],r={addCase:function(t,e){var n="string"==typeof t?t:t.type;if(n in i)throw new Error("addCase cannot be called with two reducers for the same action type");return i[n]=e,r},addMatcher:function(t,e){return n.push({matcher:t,reducer:e}),r},addDefaultCase:function(t){return e=t,r}};return t(r),[i,n,e]}function di(t){var e=t.name;if(!e)throw new Error("`name` is a required option for createSlice");var i,n="function"==typeof t.initialState?t.initialState:ai(t.initialState),r=t.reducers||{},o=Object.keys(r),s={},u={},a={};function c(){var e="function"==typeof t.extraReducers?fi(t.extraReducers):[t.extraReducers],i=e[0],r=void 0===i?{}:i,o=e[1],s=void 0===o?[]:o,a=e[2],c=void 0===a?void 0:a,l=ni(ni({},r),u);return function(t,e,i,n){void 0===i&&(i=[]);var r,o="function"==typeof e?fi(e):[e,i,n],s=o[0],u=o[1],a=o[2];if(function(t){return"function"==typeof t}(t))r=function(){return ai(t())};else{var c=ai(t);r=function(){return c}}function l(t,e){void 0===t&&(t=r());var i=Ze([s[e.type]],u.filter((function(t){return(0,t.matcher)(e)})).map((function(t){return t.reducer})));return 0===i.filter((function(t){return!!t})).length&&(i=[a]),i.reduce((function(t,i){if(i){var n;if(It(t))return void 0===(n=i(t,e))?t:n;if(Pt(t))return Te(t,(function(t){return i(t,e)}));if(void 0===(n=i(t,e))){if(null===t)return t;throw Error("A case reducer on a non-draftable value must not return undefined")}return n}return t}),t)}return l.getInitialState=r,l}(n,(function(t){for(var e in l)t.addCase(e,l[e]);for(var i=0,n=s;i<n.length;i++){var r=n[i];t.addMatcher(r.matcher,r.reducer)}c&&t.addDefaultCase(c)}))}return o.forEach((function(t){var i,n,o=r[t],c=e+"/"+t;"reducer"in o?(i=o.reducer,n=o.prepare):i=o,s[t]=i,u[c]=i,a[t]=n?hi(c,n):hi(c)})),{name:e,reducer:function(t,e){return i||(i=c()),i(t,e)},actions:a,caseReducers:s,getInitialState:function(){return i||(i=c()),i.getInitialState()}}}var vi=["name","message","stack","code"],pi=function(t,e){this.payload=t,this.meta=e},bi=function(t,e){this.payload=t,this.meta=e},yi=function(t){if("object"==typeof t&&null!==t){for(var e={},i=0,n=vi;i<n.length;i++){var r=n[i];"string"==typeof t[r]&&(e[r]=t[r])}return e}return{message:String(t)}};function wi(t){if(t.meta&&t.meta.rejectedWithValue)throw t.payload;if(t.error)throw t.error;return t.payload}!function(){function t(t,e,i){var n=hi(t+"/fulfilled",(function(t,e,i,n){return{payload:t,meta:ri(ni({},n||{}),{arg:i,requestId:e,requestStatus:"fulfilled"})}})),r=hi(t+"/pending",(function(t,e,i){return{payload:void 0,meta:ri(ni({},i||{}),{arg:e,requestId:t,requestStatus:"pending"})}})),o=hi(t+"/rejected",(function(t,e,n,r,o){return{payload:r,error:(i&&i.serializeError||yi)(t||"Rejected"),meta:ri(ni({},o||{}),{arg:n,requestId:e,rejectedWithValue:!!r,requestStatus:"rejected",aborted:"AbortError"===(null==t?void 0:t.name),condition:"ConditionError"===(null==t?void 0:t.name)})}})),s="undefined"!=typeof AbortController?AbortController:function(){function t(){this.signal={aborted:!1,addEventListener:function(){},dispatchEvent:function(){return!1},onabort:function(){},removeEventListener:function(){},reason:void 0,throwIfAborted:function(){}}}return t.prototype.abort=function(){},t}();return Object.assign((function(t){return function(u,a,c){var l,h=(null==i?void 0:i.idGenerator)?i.idGenerator(t):function(t){void 0===t&&(t=21);for(var e="",i=t;i--;)e+="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW"[64*Math.random()|0];return e}(),f=new s;function d(t){l=t,f.abort()}var v=function(){return s=this,v=null,p=function(){var s,v,p,b,y,w;return Je(this,(function(m){switch(m.label){case 0:return m.trys.push([0,4,,5]),b=null==(s=null==i?void 0:i.condition)?void 0:s.call(i,t,{getState:a,extra:c}),null===(g=b)||"object"!=typeof g||"function"!=typeof g.then?[3,2]:[4,b];case 1:b=m.sent(),m.label=2;case 2:if(!1===b||f.signal.aborted)throw{name:"ConditionError",message:"Aborted due to condition callback returning false."};return y=new Promise((function(t,e){return f.signal.addEventListener("abort",(function(){return e({name:"AbortError",message:l||"Aborted"})}))})),u(r(h,t,null==(v=null==i?void 0:i.getPendingMeta)?void 0:v.call(i,{requestId:h,arg:t},{getState:a,extra:c}))),[4,Promise.race([y,Promise.resolve(e(t,{dispatch:u,getState:a,extra:c,requestId:h,signal:f.signal,abort:d,rejectWithValue:function(t,e){return new pi(t,e)},fulfillWithValue:function(t,e){return new bi(t,e)}})).then((function(e){if(e instanceof pi)throw e;return e instanceof bi?n(e.payload,h,t,e.meta):n(e,h,t)}))])];case 3:return p=m.sent(),[3,5];case 4:return w=m.sent(),p=w instanceof pi?o(null,h,t,w.payload,w.meta):o(w,h,t),[3,5];case 5:return i&&!i.dispatchConditionRejection&&o.match(p)&&p.meta.condition||u(p),[2,p]}var g}))},new Promise((function(t,e){var i=function(t){try{r(p.next(t))}catch(t){e(t)}},n=function(t){try{r(p.throw(t))}catch(t){e(t)}},r=function(e){return e.done?t(e.value):Promise.resolve(e.value).then(i,n)};r((p=p.apply(s,v)).next())}));var s,v,p}();return Object.assign(v,{abort:d,requestId:h,arg:t,unwrap:function(){return v.then(wi)}})}}),{pending:r,rejected:o,fulfilled:n,typePrefix:t})}t.withTypes=function(){return t}}();var mi="listenerMiddleware";hi(mi+"/add"),hi(mi+"/removeAll"),hi(mi+"/remove"),"function"==typeof queueMicrotask&&queueMicrotask.bind("undefined"!=typeof window?window:"undefined"!=typeof global?global:globalThis),function(){function t(t,e){var i=r[t];return i?i.enumerable=e:r[t]=i={configurable:!0,enumerable:e,get:function(){var e=this[ge];return je.get(e,t)},set:function(e){var i=this[ge];je.set(i,t,e)}},i}function e(t){for(var e=t.length-1;e>=0;e--){var r=t[e][ge];if(!r.P)switch(r.i){case 5:n(r)&&ue(r);break;case 4:i(r)&&ue(r)}}}function i(t){for(var e=t.t,i=t.k,n=Oe(i),r=n.length-1;r>=0;r--){var o=n[r];if(o!==ge){var s=e[o];if(void 0===s&&!_t(e,o))return!0;var u=i[o],a=u&&u[ge];if(a?a.t!==s:!Bt(u,s))return!0}}var c=!!e[ge];return n.length!==Oe(e).length+(c?0:1)}function n(t){var e=t.k;if(e.length!==t.t.length)return!0;var i=Object.getOwnPropertyDescriptor(e,e.length-1);if(i&&!i.get)return!0;for(var n=0;n<e.length;n++)if(!e.hasOwnProperty(n))return!0;return!1}var r={};!function(t,e){Ee[t]||(Ee[t]=e)}("ES5",{J:function(e,i){var n=Array.isArray(e),r=function(e,i){if(e){for(var n=Array(i.length),r=0;r<i.length;r++)Object.defineProperty(n,""+r,t(r,!0));return n}var o=Se(i);delete o[ge];for(var s=Oe(o),u=0;u<s.length;u++){var a=s[u];o[a]=t(a,e||!!o[a].enumerable)}return Object.create(Object.getPrototypeOf(i),o)}(n,e),o={i:n?5:4,A:i?i.A:Zt(),P:!1,I:!1,R:{},l:i,t:e,k:r,o:null,g:!1,C:!1};return Object.defineProperty(r,ge,{value:o,writable:!0}),r},S:function(t,i,r){r?It(i)&&i[ge].A===t&&e(t.p):(t.u&&function t(e){if(e&&"object"==typeof e){var i=e[ge];if(i){var r=i.t,o=i.k,s=i.R,u=i.i;if(4===u)$t(o,(function(e){e!==ge&&(void 0!==r[e]||_t(r,e)?s[e]||t(o[e]):(s[e]=!0,ue(i)))})),$t(r,(function(t){void 0!==o[t]||_t(o,t)||(s[t]=!1,ue(i))}));else if(5===u){if(n(i)&&(ue(i),s.length=!0),o.length<r.length)for(var a=o.length;a<r.length;a++)s[a]=!1;else for(var c=r.length;c<o.length;c++)s[c]=!0;for(var l=Math.min(o.length,r.length),h=0;h<l;h++)o.hasOwnProperty(h)||(s[h]=!0),void 0===s[h]&&t(o[h])}}}}(t.p[0]),e(t.p))},K:function(t){return 4===t.i?i(t):n(t)}})}(),window.ftReduxStores||(window.ftReduxStores={});class gi{static get(t){var e;const i="string"==typeof t?t:t.name,n="string"==typeof t?void 0:t,r=window.ftReduxStores[i];if(jt(r))return r;if(null==n)return;const o=di({...n,reducers:null!==(e=n.reducers)&&void 0!==e?e:{}}),s=li({reducer:(t,e)=>{var i;switch(e.type){case"CLEAR_FT_REDUX_STORE":return o.getInitialState();case"DEFAULT_STATE_FIELDS_VALUES_SETTER":return{...t,...null!==(i=e.overwrites)&&void 0!==i?i:{}};default:return o.reducer(t,e)}}});return window.ftReduxStores[n.name]=new gi(o,s)}constructor(t,e){this.reduxSlice=t,this.reduxStore=e,this.isFtReduxStore=!0,this.eventBus=document.createElement("event-bus"),this.actions=new Proxy(this.reduxSlice.actions,{get:(t,e,i)=>{const n=e,r=t[n];return r?(...t)=>{const e=r(...t);return this.reduxStore.dispatch(e),e}:t=>{this.reduxStore.dispatch({type:"DEFAULT_STATE_FIELDS_VALUES_SETTER",overwrites:{[n]:t}})}}})}clear(){this.reduxStore.dispatch({type:"CLEAR_FT_REDUX_STORE"})}get dispatch(){throw new Error("Don't use this method, actions are automatically dispatched when called.")}[Symbol.observable](){return this.reduxStore[Symbol.observable]()}getState(){return this.reduxStore.getState()}replaceReducer(t){throw new Error("Not implemented yet.")}subscribe(t){return this.reduxStore.subscribe(t)}get name(){return this.reduxSlice.name}get reducer(){return this.reduxSlice.reducer}get caseReducers(){return this.reduxSlice.caseReducers}getInitialState(){return this.reduxSlice.getInitialState()}}const xi=t=>{const e=null!=t?t:{};return(t,i)=>{var n;const r={hasChanged:(t,e)=>!c(t,e),attribute:!1,...e};s(r)(t,i);const o=t;o.reduxProperties=o.reduxProperties||new Map,o.reduxProperties.set(i,{selector:null!==(n=e.selector)&&void 0!==n?n:t=>t[i],store:e.store})}};var Oi,Si;navigator.vendor&&navigator.vendor.match(/apple/i)||(null===(Si=null===(Oi=window.safari)||void 0===Oi?void 0:Oi.pushNotification)||void 0===Si||Si.toString());const Ei={setMapId:(t,e)=>{t.mapId=e.payload},setTocId:(t,e)=>{t.tocId=e.payload},setMap:(t,e)=>{t.map=e.payload},setToc:(t,e)=>{t.toc=e.payload},setPagesToc:(t,e)=>{t.pagesToc=e.payload},setPaginationConfiguration:(t,e)=>{t.paginationConfiguration=e.payload},setCurrentPage:(t,e)=>{t.currentPage=e.payload},setScrollTarget:(t,e)=>{t.scrollTarget=e.payload},setVisibleTopics:(t,e)=>{t.visibleTopics=e.payload},setConfiguration:(t,e)=>{t.configuration=e.payload}};class ji{constructor(t){this.paginatedToc=t,this.nodeByTocId={},this.knownPrettyUrls=new Set,this.duplicatedPrettyUrls=new Set,this.pages=[],this.pageByTocId={}}build(){return{paginationConfiguration:this.paginatedToc.configuration,toc:this.convertNodes(this.paginatedToc.paginatedToc,1),pagesToc:this.extractPagesToc(this.paginatedToc.paginatedToc,1),nodeByTocId:this.nodeByTocId,duplicatedPrettyUrls:this.duplicatedPrettyUrls,pages:this.pages,pageByTocId:this.pageByTocId}}extractPagesToc(t,e,i){return t.flatMap((t=>(t.pageConfiguration&&this.registerPage(this.buildPage(t,i)),null==t.tocId?this.extractPagesToc(t.children,e,i):[{tocId:t.tocId,title:t.title,depth:e,children:this.extractPagesToc(t.children,e+1,t.tocId)}])))}convertNodes(t,e,i){return t.flatMap((t=>{var n,r,o;if(null==t.tocId)return[...this.convertSectionNodes(null!==(n=t.pageToc)&&void 0!==n?n:[],e,t.tocId),...this.convertNodes(t.children,e,t.tocId)];let s=null===(r=t.prettyUrl)||void 0===r?void 0:r.replace(/^\//,"");const u={tocId:t.tocId,contentId:t.contentId,title:t.title,hasRating:t.hasRating,prettyUrl:s,depth:e,parentTocId:i,children:[]};this.register(u);const a=this.convertSectionNodes(null!==(o=t.pageToc)&&void 0!==o?o:[],e+1,t.tocId),c=this.convertNodes(t.children,e+1,u.tocId);return u.children=[...a,...c],[u]}))}convertSectionNodes(t,e,i){return t.flatMap((t=>{var n;let r=null===(n=t.prettyUrl)||void 0===n?void 0:n.replace(/^\//,"");const o={...t,prettyUrl:r,depth:e,parentTocId:i,children:[]};return this.register(o),o.children=this.convertSectionNodes(t.children,e+1,t.tocId),[o]}))}buildPage(t,e){var i,n,r,o,s,u;const a={number:this.pages.length+1,title:null!==(i=t.title)&&void 0!==i?i:"",rootTocId:null!==(n=t.tocId)&&void 0!==n?n:"root",toc:(null!==(r=t.pageToc)&&void 0!==r?r:[]).map((t=>this.nodeByTocId[t.tocId])),topics:[],hiddenTopics:[],breadcrumb:e?this.buildBreadcrumb(this.nodeByTocId[e]):[]},c=(t,e)=>(e?a.topics:a.hiddenTopics).push(t),l=null!==(s=null===(o=t.pageConfiguration)||void 0===o?void 0:o.parentsVisibility)&&void 0!==s?s:[];return a.breadcrumb.forEach(((t,e)=>{c(t,l[e])})),t.tocId&&c(t.tocId,t.pageConfiguration.isVisible),a.topics.push(...this.tocIds(null!==(u=t.pageToc)&&void 0!==u?u:[])),a}registerPage(t){for(let e of[...t.topics,...t.hiddenTopics])this.pageByTocId[e]||(this.pageByTocId[e]=t);this.pages.push(t)}tocIds(t){return t.flatMap((t=>[t.tocId,...this.tocIds(t.children)]))}buildBreadcrumb(t){const e=[t.tocId];for(;null==t?void 0:t.parentTocId;)e.unshift(t.parentTocId),t=this.nodeByTocId[t.parentTocId];return e}register(t){t.prettyUrl&&(this.knownPrettyUrls.has(t.prettyUrl)&&this.duplicatedPrettyUrls.add(t.prettyUrl),this.knownPrettyUrls.add(t.prettyUrl)),this.nodeByTocId[t.tocId]=t}}class Ci{convertPaginatedToc(t){return new ji(t).build()}}const Ni=w`
82
82
  `,Ri=gi.get({name:"ft-app-info",reducers:{setBaseUrl:(t,e)=>{t.baseUrl=e.payload},setApiIntegrationIdentifier:(t,e)=>{t.apiIntegrationIdentifier=e.payload},setUiLocale:(t,e)=>{t.uiLocale=e.payload},setAvailableUiLocales:(t,e)=>{t.availableUiLocales=e.payload},setEditorMode:(t,e)=>{t.editorMode=e.payload},setNoCustom:(t,e)=>{t.noCustom=e.payload},setNoCustomComponent:(t,e)=>{t.noCustomComponent=e.payload},setSession:(t,e)=>{t.session=e.payload}},initialState:{uiLocale:document.documentElement.lang||"en-US",availableUiLocales:[],editorMode:!1,noCustom:!1,noCustomComponent:!1}});class Ti{static build(t){const{baseUrl:e,apiIntegrationIdentifier:i}=Ri.getState(),n=null!=t?t:i;if(e&&n&&window.fluidtopics)return new window.fluidtopics.FluidTopicsApi(e,n,!0)}static get(t){var e;return null!=t?Ti.build(t):null!==(e=Ti.API)&&void 0!==e?e:Ti.API=Ti.build()}static await(t){return new Promise((e=>{let i=Ti.get(t);if(i)e(i);else{const n=Ri.subscribe((()=>{i=Ti.get(t),i&&(n(),e(i))}))}}))}}var Mi;const Ai=Symbol("clearAfterUnitTest");class Ui{constructor(t){this.messageContextProvider=t,this.defaultMessages={},this.cache=new n,this.listeners={},this.currentUiLocale="",this[Mi]=()=>{this.defaultMessages={},this.cache=new n,this.listeners={}},this.currentUiLocale=Ri.getState().uiLocale,Ri.subscribe((()=>this.clearWhenUiLocaleChanges()))}clearWhenUiLocaleChanges(){const{uiLocale:t}=Ri.getState();this.currentUiLocale!==t&&(this.currentUiLocale=t,this.cache.clearAll(),this.notifyAll())}addContext(t){const e=t.name.toLowerCase();this.cache.setFinal(e,t),this.notify(e)}getAllContexts(){return this.cache.resolvedValues()}async prepareContext(t,e){var i;if(t=t.toLowerCase(),Object.keys(e).length>0){const n={...null!==(i=this.defaultMessages[t])&&void 0!==i?i:{},...e};c(this.defaultMessages[t],n)||(this.defaultMessages[t]=n,await this.notify(t))}await this.fetchContext(t)}resolveMessage(t,e,...i){var n,r,o;t=t.toLowerCase(),this.fetchContext(t);const s=null!==(r=null===(n=this.cache.getNow(t))||void 0===n?void 0:n.messages)&&void 0!==r?r:{};return new Et(null!==(o=this.defaultMessages[t])&&void 0!==o?o:{},s).resolve(e,...i)}async fetchContext(t){if(!this.cache.has(t))try{await this.cache.get(t,(()=>this.messageContextProvider(this.currentUiLocale,t))),await this.notify(t)}catch(t){console.error(t)}}subscribe(t,e){var i;return t=t.toLowerCase(),this.listeners[t]=null!==(i=this.listeners[t])&&void 0!==i?i:new Set,this.listeners[t].add(e),()=>{var i;return null===(i=this.listeners[t])||void 0===i?void 0:i.delete(e)}}async notifyAll(){await Promise.all(Object.keys(this.listeners).map((t=>this.notify(t))))}async notify(t){null!=this.listeners[t]&&await Promise.all([...this.listeners[t].values()].map((t=>a(0).then((()=>t())).catch((()=>null)))))}}Mi=Ai,null==window.FluidTopicsI18nService&&(window.FluidTopicsI18nService=new Ui((async(t,e)=>(await Ti.await()).getFluidTopicsMessageContext(t,e)))),null==window.FluidTopicsCustomI18nService&&(window.FluidTopicsCustomI18nService=new Ui((async(t,e)=>(await Ti.await()).getCustomMessageContext(t,e))));const ki=window.FluidTopicsI18nService;var Ii=function(t,e,i,n){for(var r,o=arguments.length,s=o<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n,u=t.length-1;u>=0;u--)(r=t[u])&&(s=(o<3?r(s):o>3?r(e,i,s):r(e,i))||s);return o>3&&s&&Object.defineProperty(e,i,s),s};class Pi extends St{constructor(){super(...arguments),this.apiIntegrationIdentifier="ft-integration",this.uiLocale="en-US",this.availableUiLocales=[],this.editorMode=!1,this.noCustom=!1,this.noCustomComponent=!1,this.withManualResources=!1,this.messageContexts=[],this.apiProvider=()=>Ti.get(),this.cache=new n,this.cleanSessionDebouncer=new r}render(){return X`
83
83
  <slot></slot>
84
- `}updated(t){super.updated(t),t.has("baseUrl")&&Ri.actions.setBaseUrl(this.baseUrl),t.has("apiIntegrationIdentifier")&&Ri.actions.setApiIntegrationIdentifier(this.apiIntegrationIdentifier),t.has("uiLocale")&&Ri.actions.setUiLocale(this.uiLocale),t.has("noCustom")&&Ri.actions.setNoCustom(this.noCustom),t.has("editorMode")&&Ri.actions.setEditorMode(this.editorMode),t.has("noCustomComponent")&&Ri.actions.setNoCustomComponent(this.noCustomComponent),t.has("session")&&Ri.actions.setSession(this.session),t.has("availableUiLocales")&&Ri.actions.setAvailableUiLocales(Array.isArray(this.availableUiLocales)?this.availableUiLocales:[]),t.has("messageContexts")&&null!=this.messageContexts&&this.messageContexts.forEach((t=>ki.addContext(t))),setTimeout((()=>this.updateIfNeeded()))}async updateIfNeeded(){const t=this.apiProvider();!this.withManualResources&&t&&(null==this.session&&(this.session=await this.cache.get("session",(async()=>{const e=await t.getCurrentSession();return e.idleTimeoutInMillis>0&&this.cleanSessionDebouncer.run((()=>{this.cache.clear("session"),this.session=void 0}),e.idleTimeoutInMillis),e}))),null==this.availableUiLocales&&(this.availableUiLocales=await this.cache.get("availableUiLocales",(()=>t.getAvailableUiLocales()))))}}Pi.elementDefinitions={},Pi.styles=Ni,Ii([s()],Pi.prototype,"baseUrl",void 0),Ii([s()],Pi.prototype,"apiIntegrationIdentifier",void 0),Ii([s()],Pi.prototype,"uiLocale",void 0),Ii([h([])],Pi.prototype,"availableUiLocales",void 0),Ii([s({type:Boolean})],Pi.prototype,"editorMode",void 0),Ii([s({type:Boolean})],Pi.prototype,"noCustom",void 0),Ii([s({converter:{fromAttribute:t=>"false"!==t&&("true"===t||null!=t&&t)}})],Pi.prototype,"noCustomComponent",void 0),Ii([s({type:Boolean})],Pi.prototype,"withManualResources",void 0),Ii([h([])],Pi.prototype,"messageContexts",void 0),Ii([h(void 0)],Pi.prototype,"session",void 0),Ii([s({type:Object})],Pi.prototype,"apiProvider",void 0),l("ft-app-context")(Pi);class $i{static async build(t){return new $i(new Ci,await Ti.await(),new n,t)}get mapId(){return this._mapId}set mapId(t){t!==this._mapId&&this.clear(),this._mapId=t}constructor(t,e,i,n){this.converter=t,this.api=e,this.cache=i,this._mapId=n,this.initCache()}async withMapId(t){return this._mapId?t(this._mapId):void 0}initCache(){this.cache.registerFinal("configuration",(()=>this.api.getReaderConfiguration())),this.cache.register("map",(()=>this.withMapId((t=>this.api.getMap(t))))),this.cache.register("enrichedToc",(()=>this.withMapId((t=>this.api.getPages(t).then((t=>this.converter.convertPaginatedToc(t))))))),this.cache.register("ratingSummary",(()=>{var t;return(null===(t=Ri.getState().session)||void 0===t?void 0:t.profile.roles.includes("RATING_USER"))?this.withMapId((t=>this.api.getMapRating(t))):Promise.resolve()}))}clear(){this.cache.clearAll()}getMap(){return this.cache.get("map")}getConfiguration(){return this.cache.get("configuration")}getEnrichedToc(){return this.cache.get("enrichedToc")}get enrichedToc(){return this.cache.getNow("enrichedToc")}async getPaginationConfiguration(){return(await this.getEnrichedToc()).paginationConfiguration}async getToc(){return(await this.getEnrichedToc()).toc}async getPagesToc(){return(await this.getEnrichedToc()).pagesToc}async getTocNode(t){return(await this.getEnrichedToc()).nodeByTocId[t]}getTocNodeNow(t){var e;return null===(e=this.enrichedToc)||void 0===e?void 0:e.nodeByTocId[t]}async getPage(t){const e=await this.getEnrichedToc();return e.pages[t-1]||e.pages[0]}async getPageByTocId(t){const e=await this.getEnrichedToc();return e.pageByTocId[t]||e.pages[0]}getTopicInfo(t){return this.cache.get("topic-"+t,(()=>this.api.getTopic(this.mapId,t)))}getTopicContent(t){return this.cache.get("topic-content-"+t,(()=>this.api.getTopicHTMLContent(this.mapId,t,"DESIGNED_READER")))}getLink(t,e,i){const n=this.getNavigationData(t,e,i),r="r/"+(n.prettyUrl?n.prettyUrl:`${n.mapId}/${n.tocId}`),o=new URL(r,this.api.tenantBaseUrl);return null!=n.page&&o.searchParams.set("page",`${n.page}`),n.prettyUrlDuplicated&&o.searchParams.set("tocId",n.tocId),null!=n.section&&o.searchParams.set("section",n.section),o.href}getNavigationData(t,e,i){var n,r;t=t||"root";const o=this.enrichedToc,s=null==o?void 0:o.pageByTocId[t],u=null==o?void 0:o.nodeByTocId[t],a=null==u?void 0:u.prettyUrl;return{mapId:this.mapId,tocId:t,topicTitle:null!==(n=null==u?void 0:u.title)&&void 0!==n?n:"",page:e&&s&&s.number!==e?e:void 0,prettyUrl:null!=a?a.replace(/^r\//,""):void 0,prettyUrlDuplicated:null!==(r=null==o?void 0:o.duplicatedPrettyUrls.has(null!=a?a:""))&&void 0!==r&&r,section:i}}async getAccurateNavigationData(t,e,i){return await this.getEnrichedToc(),this.getNavigationData(t,e,i)}getRatingSummary(){return this.cache.get("ratingSummary")}getMapRating(){return this.getRatingSummary().then((t=>null==t?void 0:t.publication))}getTopicRating(t){return this.getRatingSummary().then((e=>{var i;return e?{type:e.topics.type,rating:null===(i=e.topics)||void 0===i?void 0:i.ratings.find((e=>e.tocId===t))}:void 0}))}rateMap(t,e){return this.api.rateMap(this.mapId,t,e).then((()=>this.clearRatingIfNecessary()))}unrateMap(){return this.api.unrateMap(this.mapId).then((()=>this.clearRatingIfNecessary()))}sendMapFeedback(t){return this.api.sendMapFeedback(this.mapId,t)}rateTopic(t,e,i){return this.api.rateTopic(this.mapId,t,e,i).then((()=>this.clearRatingIfNecessary()))}unrateTopic(t){return this.api.unrateTopic(this.mapId,t).then((()=>this.clearRatingIfNecessary()))}async clearRatingIfNecessary(){const t=Ri.getState().session;(null==t?void 0:t.sessionAuthenticated)&&this.cache.clear("ratingSummary")}sendTopicFeedback(t,e){return this.api.sendTopicFeedback(this.mapId,t,e)}fontsStylesheet(){return this.api.makeAbsolute(this.api.endpoints.stylesheets.fonts)}themeStylesheet(){return this.api.makeAbsolute(this.api.endpoints.stylesheets.theme)}}class Li{static build(t){return new Li((t=>gi.get({name:"ft-reader-"+t,initialState:{mapId:void 0,visibleTopics:[]},reducers:Ei}))(t.trim()||"context"),$i.build)}constructor(t,e){this.store=t,this.reloadDebouncer=new r(10),this.initService(e)}async initService(t){return this.service=await t(),this.service.mapId=this.store.getState().mapId,this.reload()}async setMapId(t){t!==this.store.getState().mapId&&(this.store.actions.setMapId(t),this.service&&(this.service.mapId=t),await this.reload())}setVisibleTopics(t){this.store.actions.setVisibleTopics(t)}async awaitService(){for(;null==this.service;)await a(5);return this.service}async navigateToTopic(t,e,i){const n=await this.awaitService();let r=await(null!=i?n.getPage(i):n.getPageByTocId(t));this.store.actions.setCurrentPage(r),this.store.actions.setScrollTarget({tocId:t,section:e})}async navigateToPage(t){const e=await this.awaitService();let i=await e.getPage(t);this.store.actions.setCurrentPage(i)}scrollDone(){this.store.actions.setScrollTarget({})}async reload(){var t,e;this.store.actions.setConfiguration(void 0),this.store.actions.setMap(void 0),this.store.actions.setToc(void 0),this.store.actions.setPagesToc(void 0),this.store.actions.setCurrentPage(void 0),null===(t=this.service)||void 0===t||t.clear(),(null===(e=this.service)||void 0===e?void 0:e.mapId)&&await this.reloadDebouncer.run((()=>this.fetchData()))}async fetchData(){var t,i,n,r,o;try{await Promise.all([null===(t=this.service)||void 0===t?void 0:t.getConfiguration().then((t=>this.store.actions.setConfiguration(t))),null===(i=this.service)||void 0===i?void 0:i.getMap().then((t=>this.store.actions.setMap(t))),null===(n=this.service)||void 0===n?void 0:n.getToc().then((t=>this.store.actions.setToc(t))),null===(r=this.service)||void 0===r?void 0:r.getPagesToc().then((t=>this.store.actions.setPagesToc(t))),null===(o=this.service)||void 0===o?void 0:o.getPaginationConfiguration().then((t=>this.store.actions.setPaginationConfiguration(t)))])}catch(t){!this.errorHandler||t instanceof e||this.errorHandler(t)}}}const _i=w`
85
- `;var Fi=function(t,e,i,n){for(var r,o=arguments.length,s=o<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n,u=t.length-1;u>=0;u--)(r=t[u])&&(s=(o<3?r(s):o>3?r(e,i,s):r(e,i))||s);return o>3&&s&&Object.defineProperty(e,i,s),s};class Bi extends CustomEvent{constructor(t,e){super("ft-reader-map-loaded",{detail:{map:t,toc:e}})}}class Di extends CustomEvent{constructor(t,e){super("ft-reader-visible-topics-change",{detail:{visibleTopics:e}})}}class Wi extends CustomEvent{constructor(t){super("ft-reader-navigation-done",{detail:t})}}class Ki extends CustomEvent{constructor(t){super("ft-reader-load-error",{detail:t})}}class qi extends Event{constructor(){super("ft-reader-map-not-found")}}class Vi extends Event{constructor(){super("ft-reader-map-unauthorized")}}class Hi extends Ut{constructor(){super(),this.visibleTopics=[],this.scrollToTargetDebouncer=new r(5),this.navigationDebouncer=new r(50),this.addStore(Ri)}render(){return X`
84
+ `}updated(t){super.updated(t),t.has("baseUrl")&&Ri.actions.setBaseUrl(this.baseUrl),t.has("apiIntegrationIdentifier")&&Ri.actions.setApiIntegrationIdentifier(this.apiIntegrationIdentifier),t.has("uiLocale")&&Ri.actions.setUiLocale(this.uiLocale),t.has("noCustom")&&Ri.actions.setNoCustom(this.noCustom),t.has("editorMode")&&Ri.actions.setEditorMode(this.editorMode),t.has("noCustomComponent")&&Ri.actions.setNoCustomComponent(this.noCustomComponent),t.has("session")&&Ri.actions.setSession(this.session),t.has("availableUiLocales")&&Ri.actions.setAvailableUiLocales(Array.isArray(this.availableUiLocales)?this.availableUiLocales:[]),t.has("messageContexts")&&null!=this.messageContexts&&this.messageContexts.forEach((t=>ki.addContext(t))),setTimeout((()=>this.updateIfNeeded()))}async updateIfNeeded(){const t=this.apiProvider();!this.withManualResources&&t&&(null==this.session&&(this.session=await this.cache.get("session",(async()=>{const e=await t.getCurrentSession();return e.idleTimeoutInMillis>0&&this.cleanSessionDebouncer.run((()=>{this.cache.clear("session"),this.session=void 0}),e.idleTimeoutInMillis),e}))),null==this.availableUiLocales&&(this.availableUiLocales=await this.cache.get("availableUiLocales",(()=>t.getAvailableUiLocales()))))}}Pi.elementDefinitions={},Pi.styles=Ni,Ii([s()],Pi.prototype,"baseUrl",void 0),Ii([s()],Pi.prototype,"apiIntegrationIdentifier",void 0),Ii([s()],Pi.prototype,"uiLocale",void 0),Ii([h([])],Pi.prototype,"availableUiLocales",void 0),Ii([s({type:Boolean})],Pi.prototype,"editorMode",void 0),Ii([s({type:Boolean})],Pi.prototype,"noCustom",void 0),Ii([s({converter:{fromAttribute:t=>"false"!==t&&("true"===t||null!=t&&t)}})],Pi.prototype,"noCustomComponent",void 0),Ii([s({type:Boolean})],Pi.prototype,"withManualResources",void 0),Ii([h([])],Pi.prototype,"messageContexts",void 0),Ii([h(void 0)],Pi.prototype,"session",void 0),Ii([s({type:Object})],Pi.prototype,"apiProvider",void 0),l("ft-app-context")(Pi);class $i{static async build(t){return new $i(new Ci,await Ti.await(),new n,t)}get mapId(){return this._mapId}set mapId(t){t!==this._mapId&&this.clear(),this._mapId=t}constructor(t,e,i,n){this.converter=t,this.api=e,this.cache=i,this._mapId=n,this.initCache()}async withMapId(t){return this._mapId?t(this._mapId):void 0}initCache(){this.cache.registerFinal("configuration",(()=>this.api.getReaderConfiguration())),this.cache.register("map",(()=>this.withMapId((t=>this.api.getMap(t))))),this.cache.register("enrichedToc",(()=>this.withMapId((t=>this.api.getPages(t).then((t=>this.converter.convertPaginatedToc(t))))))),this.cache.register("ratingSummary",(()=>{var t;return(null===(t=Ri.getState().session)||void 0===t?void 0:t.profile.roles.includes("RATING_USER"))?this.withMapId((t=>this.api.getMapRating(t))):Promise.resolve()}))}clear(){this.cache.clearAll()}getMap(){return this.cache.get("map")}getConfiguration(){return this.cache.get("configuration")}getEnrichedToc(){return this.cache.get("enrichedToc")}get enrichedToc(){return this.cache.getNow("enrichedToc")}async getPaginationConfiguration(){return(await this.getEnrichedToc()).paginationConfiguration}async getToc(){return(await this.getEnrichedToc()).toc}async getPagesToc(){return(await this.getEnrichedToc()).pagesToc}async getTocNode(t){return(await this.getEnrichedToc()).nodeByTocId[t]}getTocNodeNow(t){var e;return null===(e=this.enrichedToc)||void 0===e?void 0:e.nodeByTocId[t]}async getPage(t){const e=await this.getEnrichedToc();return e.pages[t-1]||e.pages[0]}async getPageByTocId(t){const e=await this.getEnrichedToc();return e.pageByTocId[t]||e.pages[0]}getTopicInfo(t){return this.cache.get("topic-"+t,(()=>this.api.getTopic(this.mapId,t)))}getTopicContent(t){return this.cache.get("topic-content-"+t,(()=>this.api.getTopicHTMLContent(this.mapId,t,"DESIGNED_READER")))}getLink(t,e,i){const n=this.getNavigationData(t,e,i),r="r/"+(n.prettyUrl?n.prettyUrl:`${n.mapId}/${n.tocId}`),o=new URL(r,this.api.tenantBaseUrl);return null!=n.page&&o.searchParams.set("page",`${n.page}`),n.prettyUrlDuplicated&&o.searchParams.set("tocId",n.tocId),null!=n.section&&o.searchParams.set("section",n.section),o.href}getNavigationData(t,e,i){var n,r;t=t||"root";const o=this.enrichedToc,s=null==o?void 0:o.pageByTocId[t],u=null==o?void 0:o.nodeByTocId[t],a=null==u?void 0:u.prettyUrl;return{mapId:this.mapId,tocId:t,topicTitle:null!==(n=null==u?void 0:u.title)&&void 0!==n?n:"",page:e&&s&&s.number!==e?e:void 0,prettyUrl:null!=a?a.replace(/^r\//,""):void 0,prettyUrlDuplicated:null!==(r=null==o?void 0:o.duplicatedPrettyUrls.has(null!=a?a:""))&&void 0!==r&&r,section:i}}async getAccurateNavigationData(t,e,i){return await this.getEnrichedToc(),this.getNavigationData(t,e,i)}getRatingSummary(){return this.cache.get("ratingSummary")}getMapRating(){return this.getRatingSummary().then((t=>null==t?void 0:t.publication))}getTopicRating(t){return this.getRatingSummary().then((e=>{var i;return e?{type:e.topics.type,rating:null===(i=e.topics)||void 0===i?void 0:i.ratings.find((e=>e.tocId===t))}:void 0}))}rateMap(t,e){return this.api.rateMap(this.mapId,t,e).then((()=>this.clearRatingIfNecessary()))}unrateMap(){return this.api.unrateMap(this.mapId).then((()=>this.clearRatingIfNecessary()))}sendMapFeedback(t){return this.api.sendMapFeedback(this.mapId,t)}rateTopic(t,e,i){return this.api.rateTopic(this.mapId,t,e,i).then((()=>this.clearRatingIfNecessary()))}unrateTopic(t){return this.api.unrateTopic(this.mapId,t).then((()=>this.clearRatingIfNecessary()))}async clearRatingIfNecessary(){const t=Ri.getState().session;(null==t?void 0:t.sessionAuthenticated)&&this.cache.clear("ratingSummary")}sendTopicFeedback(t,e){return this.api.sendTopicFeedback(this.mapId,t,e)}fontsStylesheet(){return this.api.makeAbsolute(this.api.endpoints.stylesheets.fonts)}themeStylesheet(){return this.api.makeAbsolute(this.api.endpoints.stylesheets.theme)}}class Li{static build(t){return new Li((t=>gi.get({name:"ft-reader-"+t,initialState:{mapId:void 0,visibleTopics:[]},reducers:Ei}))(t.trim()||"context"),$i.build)}constructor(t,e){this.store=t,this.reloadDebouncer=new r(10),this.initService(e)}async initService(t){return this.service=await t(),this.service.mapId=this.store.getState().mapId,this.reload()}async setMapId(t){t!==this.store.getState().mapId&&(this.store.actions.setMapId(t),this.service&&(this.service.mapId=t),await this.reload())}setVisibleTopics(t){this.store.actions.setVisibleTopics(t)}async awaitService(){for(;null==this.service;)await a(5);return this.service}async navigateToTopic(t,e,i){const n=await this.awaitService(),r=await(null!=i?n.getPage(i):n.getPageByTocId(null!=t?t:"root"));this.store.actions.setCurrentPage(r),this.store.actions.setScrollTarget({tocId:this.resolveValidNonRootTocId(t,r),section:e})}resolveValidNonRootTocId(t,e){var i,n,r;let o=null!==(i="root"===t?void 0:t)&&void 0!==i?i:e.rootTocId;return e.topics.includes(o)?o:null!==(r=null!==(n=e.topics[0])&&void 0!==n?n:e.hiddenTopics[0])&&void 0!==r?r:"root"}async navigateToPage(t){const e=await this.awaitService();let i=await e.getPage(t);this.store.actions.setCurrentPage(i)}scrollDone(){this.store.actions.setScrollTarget({})}async reload(){var t,e;this.store.actions.setConfiguration(void 0),this.store.actions.setMap(void 0),this.store.actions.setToc(void 0),this.store.actions.setPagesToc(void 0),this.store.actions.setCurrentPage(void 0),null===(t=this.service)||void 0===t||t.clear(),(null===(e=this.service)||void 0===e?void 0:e.mapId)&&await this.reloadDebouncer.run((()=>this.fetchData()))}async fetchData(){var t,i,n,r,o;try{await Promise.all([null===(t=this.service)||void 0===t?void 0:t.getConfiguration().then((t=>this.store.actions.setConfiguration(t))),null===(i=this.service)||void 0===i?void 0:i.getMap().then((t=>this.store.actions.setMap(t))),null===(n=this.service)||void 0===n?void 0:n.getToc().then((t=>this.store.actions.setToc(t))),null===(r=this.service)||void 0===r?void 0:r.getPagesToc().then((t=>this.store.actions.setPagesToc(t))),null===(o=this.service)||void 0===o?void 0:o.getPaginationConfiguration().then((t=>this.store.actions.setPaginationConfiguration(t)))])}catch(t){!this.errorHandler||t instanceof e||this.errorHandler(t)}}}const _i=w`
85
+ `;var Fi=function(t,e,i,n){for(var r,o=arguments.length,s=o<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n,u=t.length-1;u>=0;u--)(r=t[u])&&(s=(o<3?r(s):o>3?r(e,i,s):r(e,i))||s);return o>3&&s&&Object.defineProperty(e,i,s),s};class Bi extends CustomEvent{constructor(t,e){super("ft-reader-map-loaded",{detail:{map:t,toc:e}})}}class Di extends CustomEvent{constructor(t,e){super("ft-reader-visible-topics-change",{detail:{visibleTopics:e}})}}class Wi extends CustomEvent{constructor(t){super("ft-reader-navigation-done",{detail:t})}}class Ki extends CustomEvent{constructor(t){super("ft-reader-load-error",{detail:t})}}class Vi extends Event{constructor(){super("ft-reader-map-not-found")}}class qi extends Event{constructor(){super("ft-reader-map-unauthorized")}}class Hi extends Ut{constructor(){super(),this.visibleTopics=[],this.scrollToTargetDebouncer=new r(5),this.navigationDebouncer=new r(50),this.addStore(Ri)}render(){return X`
86
86
  ${this.importStyleIfNeeded()}
87
87
  <slot @register-ft-reader-component=${this.registerComponent}></slot>
88
88
  `}importStyleIfNeeded(){var t,e;const i=null===(t=this.stateManager.service)||void 0===t?void 0:t.themeStylesheet();return!i||window.location.href.startsWith(null!==(e=this.baseUrl)&&void 0!==e?e:"")?Q:X`
89
89
  <style>
90
90
  @import "${i}"
91
91
  </style>
92
- `}get stateManager(){return null==this._stateManager&&(this._stateManager=Li.build(this.id||(""+Math.round(999e3*Math.random())).padStart(6,"0")),this._stateManager.errorHandler=t=>this.handleLoadError(t),this.addStore(this.stateManager.store,"reader")),this._stateManager}connectedCallback(){super.connectedCallback(),this.stateManager.setMapId(this.mapId),this.stateManager.awaitService().then((t=>{const e=t.fontsStylesheet();if(e&&!window.location.href.startsWith(this.baseUrl)&&!document.querySelector(`head link[href="${e}"]`)){const t=document.createElement("link");t.setAttribute("rel","stylesheet"),t.setAttribute("href",e),document.head.append(t)}}))}updated(t){super.updated(t),t.has("mapId")&&this.stateManager.setMapId(this.mapId),["tocId","section","page","mapId"].some((e=>t.has(e)))&&this.mapId&&this.navigateToTarget()}contentAvailableCallback(t){var e;if(super.contentAvailableCallback(t),(t.has("map")||t.has("toc"))&&this.map&&this.toc&&this.dispatchEvent(new Bi(this.map,this.toc)),t.has("scrollTarget")&&null==(null===(e=this.scrollTarget)||void 0===e?void 0:e.tocId)){const e=t.get("scrollTarget");null!=(null==e?void 0:e.tocId)&&this.scrollToTargetDebouncer.run((()=>{var t;return this.stateManager.service.getAccurateNavigationData(e.tocId,null===(t=this.currentPage)||void 0===t?void 0:t.number,e.section).then((t=>this.dispatchEvent(new Wi(t))))}))}t.has("visibleTopics")&&Promise.all(this.visibleTopics.map((t=>{var e;return this.stateManager.service.getAccurateNavigationData(t,null===(e=this.currentPage)||void 0===e?void 0:e.number)}))).then((t=>{let e=t.filter((t=>null!=t&&""!==t.topicTitle)).map((t=>({tocId:t.tocId,title:t.topicTitle,page:t.page,prettyUrl:t.prettyUrl,prettyUrlDuplicated:t.prettyUrlDuplicated,breadcrumb:this.buildBreadcrumb(t.tocId)})));this.dispatchEvent(new Di(this.map,e))}))}buildBreadcrumb(t){var e,i,n,r;let o=[],s=null===(i=null===(e=this.stateManager.service)||void 0===e?void 0:e.getTocNodeNow(t))||void 0===i?void 0:i.parentTocId,u=null===(n=this.stateManager.service)||void 0===n?void 0:n.getTocNodeNow(s);for(;u;)o.unshift({tocId:u.tocId,title:u.title}),u=null===(r=this.stateManager.service)||void 0===r?void 0:r.getTocNodeNow(u.parentTocId);return o}async reload(){await this.stateManager.reload(),this.navigateToTarget()}navigateToTarget(){this.navigationDebouncer.run((()=>{null!=this.tocId?this.stateManager.navigateToTopic(this.tocId,this.section,this.page):null!=this.page&&this.stateManager.navigateToPage(this.page)}))}registerComponent(t){t.stopPropagation();const e=t.composedPath()[0];this.register(e)}register(t){t.setReaderStateManager(this.stateManager)}handleLoadError(t){const e=t;404===e.status?this.dispatchEvent(new qi):401===e.status?this.dispatchEvent(new Vi):this.dispatchEvent(new Ki(t))}}var zi;Hi.styles=_i,Fi([xi({store:Ri.name})],Hi.prototype,"baseUrl",void 0),Fi([s()],Hi.prototype,"mapId",void 0),Fi([s()],Hi.prototype,"tocId",void 0),Fi([s()],Hi.prototype,"section",void 0),Fi([s({type:Number,converter:{fromAttribute:t=>+(null!=t?t:"NaN")>0?+t:zi}})],Hi.prototype,"page",void 0),Fi([xi({store:"reader"})],Hi.prototype,"map",void 0),Fi([xi({store:"reader"})],Hi.prototype,"toc",void 0),Fi([xi({store:"reader"})],Hi.prototype,"visibleTopics",void 0),Fi([xi({store:"reader"})],Hi.prototype,"currentPage",void 0),Fi([xi({store:"reader"})],Hi.prototype,"scrollTarget",void 0),l("ft-reader-context")(Hi),t.FtReaderContext=Hi,t.FtReaderContextCssVariables={},t.LoadErrorEvent=Ki,t.MapLoadedEvent=Bi,t.NavigationDoneEvent=Wi,t.NotFoundErrorEvent=qi,t.UnauthorizedErrorEvent=Vi,t.VisibleTopicsChangeEvent=Di,t.styles=_i}({});
92
+ `}get stateManager(){return null==this._stateManager&&(this._stateManager=Li.build(this.id||(""+Math.round(999e3*Math.random())).padStart(6,"0")),this._stateManager.errorHandler=t=>this.handleLoadError(t),this.addStore(this.stateManager.store,"reader")),this._stateManager}connectedCallback(){super.connectedCallback(),this.stateManager.setMapId(this.mapId),this.stateManager.awaitService().then((t=>{const e=t.fontsStylesheet();if(e&&!window.location.href.startsWith(this.baseUrl)&&!document.querySelector(`head link[href="${e}"]`)){const t=document.createElement("link");t.setAttribute("rel","stylesheet"),t.setAttribute("href",e),document.head.append(t)}}))}updated(t){super.updated(t),t.has("mapId")&&this.stateManager.setMapId(this.mapId),["tocId","section","page","mapId"].some((e=>t.has(e)))&&this.mapId&&this.navigateToTarget()}contentAvailableCallback(t){var e;if(super.contentAvailableCallback(t),(t.has("map")||t.has("toc"))&&this.map&&this.toc&&this.dispatchEvent(new Bi(this.map,this.toc)),t.has("scrollTarget")&&null==(null===(e=this.scrollTarget)||void 0===e?void 0:e.tocId)){const e=t.get("scrollTarget");null!=(null==e?void 0:e.tocId)&&this.scrollToTargetDebouncer.run((()=>{var t;return this.stateManager.service.getAccurateNavigationData(e.tocId,null===(t=this.currentPage)||void 0===t?void 0:t.number,e.section).then((t=>this.dispatchEvent(new Wi(t))))}))}t.has("visibleTopics")&&Promise.all(this.visibleTopics.map((t=>{var e;return this.stateManager.service.getAccurateNavigationData(t,null===(e=this.currentPage)||void 0===e?void 0:e.number)}))).then((t=>{let e=t.filter((t=>null!=t&&""!==t.topicTitle)).map((t=>({tocId:t.tocId,title:t.topicTitle,page:t.page,prettyUrl:t.prettyUrl,prettyUrlDuplicated:t.prettyUrlDuplicated,breadcrumb:this.buildBreadcrumb(t.tocId)})));this.dispatchEvent(new Di(this.map,e))}))}buildBreadcrumb(t){var e,i,n,r;let o=[],s=null===(i=null===(e=this.stateManager.service)||void 0===e?void 0:e.getTocNodeNow(t))||void 0===i?void 0:i.parentTocId,u=null===(n=this.stateManager.service)||void 0===n?void 0:n.getTocNodeNow(s);for(;u;)o.unshift({tocId:u.tocId,title:u.title}),u=null===(r=this.stateManager.service)||void 0===r?void 0:r.getTocNodeNow(u.parentTocId);return o}async reload(){await this.stateManager.reload(),this.navigateToTarget()}navigateToTarget(){this.navigationDebouncer.run((()=>{null!=this.tocId?this.stateManager.navigateToTopic(this.tocId,this.section,this.page):null!=this.page&&this.stateManager.navigateToPage(this.page)}))}registerComponent(t){t.stopPropagation();const e=t.composedPath()[0];this.register(e)}register(t){t.setReaderStateManager(this.stateManager)}handleLoadError(t){const e=t;404===e.status?this.dispatchEvent(new Vi):401===e.status?this.dispatchEvent(new qi):this.dispatchEvent(new Ki(t))}}var zi;Hi.styles=_i,Fi([xi({store:Ri.name})],Hi.prototype,"baseUrl",void 0),Fi([s()],Hi.prototype,"mapId",void 0),Fi([s()],Hi.prototype,"tocId",void 0),Fi([s()],Hi.prototype,"section",void 0),Fi([s({type:Number,converter:{fromAttribute:t=>+(null!=t?t:"NaN")>0?+t:zi}})],Hi.prototype,"page",void 0),Fi([xi({store:"reader"})],Hi.prototype,"map",void 0),Fi([xi({store:"reader"})],Hi.prototype,"toc",void 0),Fi([xi({store:"reader"})],Hi.prototype,"visibleTopics",void 0),Fi([xi({store:"reader"})],Hi.prototype,"currentPage",void 0),Fi([xi({store:"reader"})],Hi.prototype,"scrollTarget",void 0),l("ft-reader-context")(Hi),t.FtReaderContext=Hi,t.FtReaderContextCssVariables={},t.LoadErrorEvent=Ki,t.MapLoadedEvent=Bi,t.NavigationDoneEvent=Wi,t.NotFoundErrorEvent=Vi,t.UnauthorizedErrorEvent=qi,t.VisibleTopicsChangeEvent=Di,t.styles=_i}({});
@@ -12,7 +12,8 @@ export declare class FtReaderStateManager {
12
12
  setMapId(mapId?: string): Promise<void>;
13
13
  setVisibleTopics(tocIds: string[]): void;
14
14
  awaitService(): Promise<FtReaderService>;
15
- navigateToTopic(tocId: string, section?: string, pageNumber?: number): Promise<void>;
15
+ navigateToTopic(tocId?: string, section?: string, pageNumber?: number): Promise<void>;
16
+ private resolveValidNonRootTocId;
16
17
  navigateToPage(pageNumber: number): Promise<void>;
17
18
  scrollDone(): void;
18
19
  private reloadDebouncer;
@@ -35,9 +35,20 @@ export class FtReaderStateManager {
35
35
  }
36
36
  async navigateToTopic(tocId, section, pageNumber) {
37
37
  const service = await this.awaitService();
38
- let page = await (pageNumber != null ? service.getPage(pageNumber) : service.getPageByTocId(tocId));
38
+ const page = await (pageNumber != null ? service.getPage(pageNumber) : service.getPageByTocId(tocId !== null && tocId !== void 0 ? tocId : "root"));
39
39
  this.store.actions.setCurrentPage(page);
40
- this.store.actions.setScrollTarget({ tocId, section });
40
+ this.store.actions.setScrollTarget({
41
+ tocId: this.resolveValidNonRootTocId(tocId, page),
42
+ section
43
+ });
44
+ }
45
+ resolveValidNonRootTocId(tocId, page) {
46
+ var _a, _b, _c;
47
+ let nonRootTocId = (_a = (tocId === "root" ? undefined : tocId)) !== null && _a !== void 0 ? _a : page.rootTocId;
48
+ if (!page.topics.includes(nonRootTocId)) {
49
+ return (_c = (_b = page.topics[0]) !== null && _b !== void 0 ? _b : page.hiddenTopics[0]) !== null && _c !== void 0 ? _c : "root";
50
+ }
51
+ return nonRootTocId;
41
52
  }
42
53
  async navigateToPage(pageNumber) {
43
54
  const service = await this.awaitService();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluid-topics/ft-reader-context",
3
- "version": "1.0.49",
3
+ "version": "1.0.50",
4
4
  "description": "Context block for integrated reader components",
5
5
  "keywords": [
6
6
  "Lit"
@@ -19,13 +19,13 @@
19
19
  "url": "ssh://git@scm.mrs.antidot.net:2222/fluidtopics/ft-web-components.git"
20
20
  },
21
21
  "dependencies": {
22
- "@fluid-topics/ft-app-context": "1.0.49",
23
- "@fluid-topics/ft-wc-utils": "1.0.49",
22
+ "@fluid-topics/ft-app-context": "1.0.50",
23
+ "@fluid-topics/ft-wc-utils": "1.0.50",
24
24
  "@reduxjs/toolkit": "^1.6.2",
25
25
  "lit": "2.7.2"
26
26
  },
27
27
  "devDependencies": {
28
28
  "@fluid-topics/public-api": "1.0.39"
29
29
  },
30
- "gitHead": "77eac237aeec17a50f5bcc09890746d9a9f097f0"
30
+ "gitHead": "a5089c2cb78f1b703cfcaa915b24938d58abd420"
31
31
  }