PageSourceSearch

https://campfirewriting.com/_next/static/chunks/7477-586dbb019d6999f3.js

js campfirewriting.com collected 2026-10-02 04:12:40 UTC 115,716 bytes, 1 lines download raw bytes

1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="572eb0cb-3ebc-4032-92af-e4d372d8c261",e._sentryDebugIdIdentifier="sentry-dbid-572eb0cb-3ebc-4032-92af-e4d372d8c261")}catch(e){}}();"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7477],{37477:(e,t,n)=>{n.d(t,{Ge:()=>e0,Lu:()=>tO,Mx:()=>U,Vo:()=>e2,XQ:()=>eF,ZY:()=>eJ,ce:()=>z,p3:()=>eb,qc:()=>eq});var r=n(12115),i=n(42603),a=n(10792),l=n(57850),s=n(49975),o=n(50393),c=n(84506),u=n(46148),d=n(91424),m=n(64229),p=n(56022),f=n(77928),h=n(69829),g=n(10644),y=n(50924),v=n(57663),b=n(52616),E=n(20806),S=n(98622),T=n(23211),w=n(43399),_=n(57330),O=n(86598),I=n(98870),k=n(40459),A=Object.defineProperty,C=Object.defineProperties,j=Object.getOwnPropertyDescriptors,D=Object.getOwnPropertySymbols,R=Object.prototype.hasOwnProperty,L=Object.prototype.propertyIsEnumerable,P=(e,t,n)=>t in e?A(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,N=(e,t)=>{for(var n in t||(t={}))R.call(t,n)&&P(e,n,t[n]);if(D)for(var n of D(t))L.call(t,n)&&P(e,n,t[n]);return e},x=(e,t)=>C(e,j(t)),M=(e,t,n)=>new Promise((r,i)=>{var a=e=>{try{s(n.next(e))}catch(e){i(e)}},l=e=>{try{s(n.throw(e))}catch(e){i(e)}},s=e=>e.done?r(e.value):Promise.resolve(e.value).then(a,l);s((n=n.apply(e,t)).next())});(0,s.ht)(!1);var U={ARRAY_SET:"array_set",ARRAY_PULL:"array_pull",SET:"$set",UNSET:"$unset",PUSH:"$push",PULL:"$pull"},B={PARENT:"parent",CHILD:"child",EQUAL:"equal"},F=class e{queue(e,t,n,r,i){var a;let s,o;s=t===U.UNSET&&void 0===r?null:r,this.buffer[e]||(this.buffer[e]={});let c=this.buffer[e];s=l(s),t!==U.ARRAY_SET||n.includes("$[")||(t=U.SET);let u=!1;switch(t){case U.ARRAY_SET:case U.ARRAY_PULL:(o=X(c,n)).find(e=>[B.EQUAL,B.PARENT].includes(e.relation)&&(e.methods.includes(U.SET)||e.methods.includes(U.ARRAY_SET)))||(c[n]||(c[n]={}),c[n][t]={value:s,arrayFilters:i});break;case U.SET:case U.UNSET:(o=X(c,n)).filter(e=>[B.EQUAL,B.CHILD].includes(e.relation)).forEach(e=>{delete c[e.path]}),o.filter(e=>e.relation===B.PARENT&&e.methods.includes(U.SET)).forEach(e=>{u=!0,c[e.path][U.SET]=this.applyOne(c[e.path][U.SET],t,n.substring(e.path.length+1),s)}),o.filter(e=>e.relation===B.PARENT&&e.methods.includes(U.UNSET)).forEach(e=>{delete c[e.path][U.UNSET];let t={},r=t,i=n.substring(e.path.length+1).split(".");for(let e=0;e<i.length-1;e++)r[i[e]]={},r=r[i[e]];r[i[i.length-1]]=s,c[e.path][U.SET]=t,u=!0}),u||(c[n]={[t]:s});break;case U.PUSH:case U.PULL:o=X(c,n);let d=(null==(a=this.arrayKeys)?void 0:a[n])||"id";o.filter(e=>[B.EQUAL,B.PARENT].includes(e.relation)&&e.methods.includes(U.SET)).forEach(e=>{let r=l(c[e.path][U.SET]),i=r,a=n.substring(e.path.length+1).split(".");a[0]&&a.forEach(e=>i=i[e]),t===U.PUSH?W(i,d,s):V(i,d,s),c[e.path][U.SET]=r,u=!0}),u||(c[n]||(c[n]={}),c[n][t]||(c[n][t]=[]),c[n][t].push(s));break;default:throw Error("Push to buffer received an improper method ".concat(t,"."))}}applyAll(e,t){if(!e||!t)return null;let n=t,r=this.buffer[e];return r&&Object.keys(r).forEach(e=>{Object.keys(r[e]).forEach(t=>{n=this.applyOne(n,t,e,r[e][t])})}),n}applyOne(e,t,n,r){var i;let a,l=!(arguments.length>4)||void 0===arguments[4]||arguments[4];if(!e)return null;if([U.ARRAY_SET,U.ARRAY_PULL].includes(t)&&(a=r.arrayFilters,r=r.value,!(n=this.arrayPathToLiteralPath(n,e,a))))return e;let o=(null==(i=this.arrayKeys)?void 0:i[n])||"id",c=n.split("."),u=c.slice(0,c.length-1),d=c[c.length-1],m=e=>{let n=e;switch(u.forEach(e=>{n.hasOwnProperty(e)&&void 0!==n[e]&&null!==n[e]||(n[e]={}),n=n[e]}),t){case U.SET:case U.ARRAY_SET:n[d]=r;break;case U.ARRAY_PULL:n.splice(parseInt(d),1);break;case U.UNSET:delete n[d];break;case U.PUSH:Array.isArray(r)?r.forEach(e=>W(n[d],o,e)):W(n[d],o,r);break;case U.PULL:Array.isArray(r)?r.forEach(e=>V(n[d],o,e)):V(n[d],o,r);break;default:throw Error("Buffer apply received an improper method ".concat(t,"."))}};return l?(0,s.jM)(e,m):(m(e),e)}arrayPathToLiteralPath(e,t,n){let r="",i=t;
1for(let t of e.split("."))if(t.startsWith("$[")){let e=n[t.substring(2,t.length-1)],a=i.findIndex(t=>Object.entries(e).reduce((e,n)=>{let[r,i]=n;return e&&(null==t?void 0:t[r])===i},!0));if(a<0)return"";r+=a+".",i=i[a]}else r+=t+".",i=i[t];return r.endsWith(".")&&(r=r.substring(0,r.length-1)),r}currentArrayFilters(e){let t={},n=this.buffer[e]||{};return Object.keys(n).forEach(e=>{let r=e.split(".");Object.keys(n[e]).forEach(i=>{var a;if([U.ARRAY_SET,U.ARRAY_PULL].includes(i)){let l=N({},(null==(a=n[e][i])?void 0:a.arrayFilters)||{});Object.keys(l).forEach(e=>{i===U.ARRAY_PULL&&r[r.length-1]==="$[".concat(e,"]")&&delete l[e]}),Object.assign(t,l)}})}),t}mongoArrayFilters(e){let t=this.currentArrayFilters(e);if(Object.keys(t).length>0)return Object.entries(t).map(e=>{let[t,n]=e;return Object.entries(n).reduce((e,n)=>{let[r,i]=n;return x(N({},e),{["".concat(this.convertIdentifier(t),".").concat(r)]:i})},{})})}convertIdentifier(e){return"a"+e.replace(/\W/g,"")}clear(){this.buffer={}}get mongo(){let e={};return Object.keys(this.buffer).forEach(t=>{e[t]={};let n=this.buffer[t];Object.keys(n).forEach(r=>{var i;let a=n[r],l=(null==(i=this.arrayKeys)?void 0:i[r])||"id";Object.keys(a).forEach(i=>{let a,s=n[r][i],o=i;switch(i===U.ARRAY_SET?o=U.SET:i===U.ARRAY_PULL&&(o=U.PULL),!e[t][o]&&(e[t][o]={}),i){case U.ARRAY_SET:a=r.split(".").map(e=>e.startsWith("$[")?"$[".concat(this.convertIdentifier(e.substring(2,e.length-1)),"]"):e).join("."),e[t][U.SET][a]=s.value;break;case U.ARRAY_PULL:let c=r.split(".");a=c.slice(0,c.length-1).map(e=>e.startsWith("$[")?"$[".concat(this.convertIdentifier(e.substring(2,e.length-1)),"]"):e).join(".");let u=c[c.length-1],d=u.substring(2,u.length-1);e[t][U.PULL][a]=s.arrayFilters[d];break;case U.SET:case U.UNSET:e[t][i][r]=s;break;case U.PUSH:e[t][i][r]=s.length>1?{$each:s}:s[0];break;case U.PULL:e[t][i][r]=s.length>1?{$or:s.map(e=>({[l]:e}))}:{[l]:s[0]};break;default:throw Error("Buffer conversion received an improper method ".concat(i,"."))}})})}),e}copy(){let t=new e(this.arrayKeys);return t.buffer=l(this.buffer),t}add(e){let t=e.buffer;Object.keys(t).forEach(e=>{let n=t[e];Object.keys(n).forEach(t=>{Object.keys(n[t]).forEach(r=>{if([U.ARRAY_PULL,U.ARRAY_SET].includes(r)){let i=n[t][r];this.queue(e,r,t,l(i.value),l(i.arrayFilters))}else this.queue(e,r,t,l(n[t][r]))})})})}constructor(e){this.buffer={},this.arrayKeys=e}},W=(e,t,n)=>{let r=e.findIndex(e=>e[t]===n[t]);r<0?e.push(n):e[r]=n},V=(e,t,n)=>{let r=e.findIndex(e=>e[t]===n);r>=0&&e.splice(r,1)},X=(e,t)=>{let n=Object.keys(e),r=[];for(let i=0;i<n.length;i++){let a=n[i];a===t?r.push({relation:B.EQUAL,path:a,methods:Object.keys(e[a])}):a.startsWith(t+".")?r.push({relation:B.CHILD,path:a,methods:Object.keys(e[a])}):t.startsWith(a+".")&&r.push({relation:B.PARENT,path:a,methods:Object.keys(e[a])})}return r},z=F,Y=e=>{if(!e)return null;if(e instanceof i.Vr)return e;let t=e.toString();return i.Vr.isValid(t)?new i.Vr(t):null},H=e=>{let t=[];for(let n=0;n<e.length;n++){let r=Y(e[n]);r&&t.push(r)}return t},K=(e,t)=>{let n,r=l(e);if(!t)return r;let i=Object.keys(t);if(!i.length)return r;for(let e=0;e<i.length;e++)if("_id"!==i[e]){(n=!!t[i[e]])&&(r={});break}return void 0===n&&(n=!!t._id),Object.keys(t).forEach(i=>{let a=i.split("."),l=a.slice(0,a.length-1),s=a[a.length-1],o=r;if(n){if(t[i]){let t=e;l.forEach(e=>{o[e]||(o[e]={}),o=o[e],t=null==t?void 0:t[e]}),o[s]=null==t?void 0:t[s]}}else l.forEach(e=>o=o[e]),delete o[s]}),t.hasOwnProperty("_id")&&!t._id||(r._id=e._id),r},q={},Q=()=>100+Math.floor(2e3*Math.random()),$=class{shouldFail(){if(.05>Math.random())return!0}updateById(e,t){return new Promise((n,r)=>{if(this.shouldFail())setTimeout(()=>r(Error("Failed")),Q());else{let r=q[this.collection].findIndex(t=>t._id.toString()===e.toString());r>=0&&(q[this.collection][r]=t.applyAll(e.toString(),q[this.collection][r]),setTimeout(()=>n(),Q()))}})}findById(e){return new Promise((t,n)=>{if(this.shouldFail())setTimeout(()=>n(Error("Failed")),Q());else{let r=q[this.collection].find(t=>t._id.toString()===e.toString());if(r){let e=l(r);e._id=new i.Vr(e._id),setTimeout(()=>t(e),400+Math.floor(2e3*Math.random()))}else setTimeout(()=>n(Error("No document found.")),Q())}})}findByQuery(e,t){throw Error("Test harness for finding many not yet implemented.")}watch(e){throw Error("Test harness for streaming not yet implemented.")}insertMany(e){return new Promise((t,n)=>{this.shouldFail()?setTimeout(()=>
1n(Error("Failed")),Q()):(e.forEach(e=>{e._id?e._id=new i.Vr(e._id.toString()):e._id=new i.Vr,q[this.collection].push(e)}),setTimeout(()=>t({insertedIds:e.length}),Q()))})}deleteMany(e){return new Promise((t,n)=>{if(this.shouldFail())setTimeout(()=>n(Error("Failed")),Q());else{let n=q[this.collection].length,r=e.map(e=>e.toString());q[this.collection]=q[this.collection].filter(e=>!r.includes(e._id.toString())),setTimeout(()=>t({deletedCount:n-q[this.collection].length}),Q())}})}constructor(e,t){q[e]||(q[e]=l(t)),this.collection=e}},G=Object.freeze({BILLING:"BILLING",FILE_STORAGE:"FILE_STORAGE",ANALYTICS:"ANALYTICS",EXPLORE:"EXPLORE",EXPORT:"EXPORT",ADVANCED_EXPORT:"ADVANCED_EXPORT",BACKEND:"BACKEND",REALTIME:"REALTIME"}),J=Object.freeze({BILLING:{GET_MODULES:"/get-modules",CANCEL_SUBSCRIPTION:"/cancel-subscription",JWT:"/jwt",PORTAL:"/portal",CHECKOUT:"/checkout",REDEEM_REWARD:"/redeem-reward",PRO_REWARD:"/pro-reward",STEAM:"/steam",KICKSTARTER_EMAIL:"/kickstarter-email",GENERATE_INVITE_TOKEN:"/generate-invite-token",GET_INVITED_USERS:"/get-invited-users",REDEEM_KEY:"/redeem-key",CANCEL_ALL_SUBSCRIPTIONS:"/cancel-all-subscriptions",SWITCH_PLAN:"/switch-plan",EDIT_CUSTOM_PLAN:"/edit-custom-plan",APPLY_DISCOUNT_CODE:"/apply-discount-code",SUBSCRIPTION_ESTIMATE:"/subscription-estimate",PAYMENT_METHOD:"/payment-method"},EXPLORE:{analytics:(e,t)=>"/projects/".concat(e,"/analytics/").concat(t,"/"),auth:"/auth/",user_analytics:"/user-analytics/",draft_projects:"/draft-projects/",royalty_statement:"/royalty-statement.csv",projects:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return"/projects/"+(e?e+"/":"")},projects_download:e=>"/projects/".concat(e,"/download/"),projects_publish:e=>"/projects/".concat(e,"/publish/"),projects_revert:e=>"/projects/".concat(e,"/revert/"),projects_remove_from_keep_reading:e=>"/projects/".concat(e,"/remove-from-keep-reading/"),project_mark_as_read:e=>"/projects/".concat(e,"/mark-as-read/"),project_mark_as_unread:e=>"/projects/".concat(e,"/mark-as-unread/"),project_items:(e,t)=>t?"/projects/".concat(e,"/project-items/").concat(t,"/"):"/projects/".concat(e,"/project-items/"),module:(e,t)=>"/projects/".concat(e,"/module/").concat(t,"/"),project_discount_codes:(e,t)=>"/projects/".concat(e,"/discounts/").concat(t,"/csv"),project_reviews:"/project-reviews/",project_review:e=>"/project-reviews/".concat(e,"/"),project_review_likes:e=>"/project-reviews/".concat(e,"/likes/"),get_project_reviews:e=>"/projects/".concat(e,"/reviews/"),user_reviews:"/user-reviews/",links:e=>"/projects/".concat(e,"/links/"),views:"/views/",learn_comments:e=>"/learn/".concat(e,"/comments/"),project_item_comments:(e,t)=>"/projects/".concat(e,"/project-items/").concat(t,"/comments/"),comments:e=>"/comments/"+(e?e+"/":""),comment_likes:e=>"/comments/".concat(e,"/likes/"),reports:e=>"/reports/"+(e?e+"/":""),user_relations:"/user-relations/",follower_count:e=>"/users/".concat(e,"/follower-count/"),top_genres:"/top-genres/",project_item_unlocks:"/project-item-unlocks/",project_completions:"/project-completions/",bookshelves:e=>"/bookshelves/".concat(e,"/"),bookshelf_projects:(e,t)=>t?"/bookshelves/".concat(e,"/projects/").concat(t,"/"):"/bookshelves/".concat(e,"/projects/"),bookshelf_collections:(e,t)=>t?"/bookshelves/".concat(e,"/collections/").concat(t,"/"):"/bookshelves/".concat(e,"/collections/"),collection_projects:(e,t,n)=>n?"/bookshelves/".concat(e,"/collections/").concat(t,"/projects/").concat(n,"/"):"/bookshelves/".concat(e,"/collections/").concat(t,"/projects/"),payment_intents:e=>e?"/stripe/payment-intents/".concat(e,"/"):"/stripe/payment-intents/",gifts:e=>"/gifts/".concat(e),redeem_gift:"/gifts/redeem/",orders:e=>e?"/orders/".concat(e,"/"):"/orders/",cart:"/cart/",carts:e=>e?"/carts/".concat(e,"/"):"/carts/",cart_purchase_with_wallet:e=>"/carts/".concat(e,"/purchase-with-wallet/"),cart_payment_intent:e=>"/carts/".concat(e,"/payment-intent/"),order_request_refund:e=>"/orders/".concat(e,"/request-refund/"),redeem_free:(e,t)=>"/projects/".concat(e,"/discounts/").concat(t,"/redeem-free/"),discounts:(e,t)=>"/projects/".concat(e,"/discounts/").concat(t,"/"),stripe_accounts:"/stripe/accounts/",stripe_accounts_login_links:"/stripe/accounts/login-links/",stripe_customer_sessions:"/stripe/customer_sessions/",author_accounts:()=>"/author_accounts/",publisher_accounts:e=>e?"/publisher_accounts/all/":"/publisher_accounts/",series:e=>e?"/series/".concat(e,"/"):"/series/",series_check_slug:e=>"/series/".concat(e,"/check-slug/"),tags:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return e?"/tags/".concat(e,"/"):"/tags/"},imports:"/imports/",parser:"/parser/",wallet:"/wallet/",wallet_transactions:"/wallet-transactions/",recommendation_signals:"/recommendation-signals/",explore:"/explore/",explore_tags:"/explore/tags/"},FILE_STORAGE:{UPLOAD_PRO:"/upload-pro-story",SUBMIT_TICKET:"/submit-ticket",PUBLISH_EXPLORE_ELEMENTS:"/publish-explore-elements",GENERATE_IMAGE_KEY:"/generate-image-key"},ANALYTICS:{QUESTIONNAIRE:"/questionnaire",INCREMENT:"/increment",WORD_COUNTS:e=>e?"/word-counts/".concat(e):"/word-counts",STATS:"/stats",PROJECT_STATS:"/project-stats"},EXPORT:{SCRAPE_URL:"/linkData",WEBPAGE_TO_TEXT:"/webpage-to-text"},ADVANCED_EXPORT:{AUTHENTICATE:"/authenticate-export"},BACKEND:{USER:e=>"/user/".concat(e),DOCUMENT:(e,t)=>"/collections/".concat(e,"/").concat(t),COLLECTION:e=>"/collections/".concat(e),FIND:e=>"/collections/".concat(e,"/find"),FUNCTION:e=>"/functions/".concat(e),VERIFY_PASSWORD:"/user/verify-password",CHANGE_PASSWORD:"/user/change-password",ADD_EMAIL_ADDRESS:"/user/add-email-address",SET_PRIMARY_EMAIL:"/user/set-primary-email",GENERATE_SIGN_IN_TOKEN:"/user/generate-sign-in-token",BLOG_POSTS:"/blog/posts"}}),Z={[G.BILLING]:"https://billing-dot-campfire-blaze.uc.r.appspot.com",[G.FILE_STORAGE]:"https://file-storage-dot-campfire-blaze.uc.r.appspot.com",[G.ANALYTICS]:"https://analytics-dot-campfire-blaze.uc.r.appspot.com",[G.EXPLORE]:"https://explore-dot-campfire-blaze.uc.r.appspot.com",[G.EXPORT]:"https://exports-dot-campfire-blaze.uc.r.appspot.com",[G.ADVANCED_EXPORT]:"https://advanced-export-dot-campfire-blaze.uc.r.appspot.com",[G.BACKEND]:"https://backend-dot-campfire-blaze.uc.r.appspot.com",[G.REALTIME]:"https://realtime-dot-campfire-blaze.uc.r.appspot.com"},ee=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:m.Xn,i=N(N(N({},Z),n),(null==window?void 0:window.globalUrlOverrides)||{});function a(t){if(i[e])return"".concat(i[e]).concat(t);throw Error("Invalid service: "+e)}function l(e,n,i,a){return M(this,arguments,function*(e,n,i,a){let l=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},s=l.locale||r,o=l.token||"";if(!o&&(null==t?void 0:t.getToken)&&t.isAuthenticated){let{getToken:e}=t;o=yield e()}if((null==t?void 0:t.providerType)==="offline")return yield t.callFunction("microservice",[n,e,i,a]);let c=Object.assign({},t?{userId:t.user.id,email:t.user.profile.email}:{},i||{}),u=[];Object.keys(c).filter(e=>
1!!c[e]).forEach(e=>{let t=c[e];Array.isArray(t)?t.forEach(t=>{u.push("".concat(encodeURIComponent(e),"=").concat(encodeURIComponent(Array.isArray(t)?t.join(","):t)))}):u.push("".concat(encodeURIComponent(e),"=").concat(encodeURIComponent(t)))});let m="".concat(n,"?").concat(u.join("&"));m.endsWith("&")&&(m=m.substring(0,m.length-1));try{let t={"Accept-Language":"".concat(s,", en;q=0.9")};return yield(0,d.A)({url:m,headers:o?x(N({},t),{Authorization:"Bearer ".concat(o)}):t,method:e,data:a}).then(e=>e.data)}catch(e){if(e.response){let t;try{t=JSON.stringify(e.response.data)}catch(n){t="".concat(e.response.data)}let n=Error(t);throw n.status=e.response.status,n}throw e}})}return{get:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return l("GET",a(e),t,void 0,n)},put:function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return l("PUT",a(e),t,n||{},r)},post:function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return l("POST",a(e),t,n||{},r)},patch:function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return l("PATCH",a(e),t,n||{},r)},delete:function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return l("DELETE",a(e),t,n||{},r)},redirect:function(e){window.location.assign(a(e))},getUrl:a}},et=(e,t)=>{if(!e.pages)return e;let n=e.schema||0,r=l(e);switch(n){case 0:case 1:let i=Object.values(r.pages).find(e=>!!e.snapIntervals);if(i||(i=Object.values(r.pages)[0]),!i)return r;return r.settings={},i.snapIntervals&&(r.settings.gridSnapping=10*i.snapIntervals.translateY),Object.values(r.pages).forEach(e=>{e.snapIntervals&&(t(U.UNSET,"pages.".concat(e.id,".snapIntervals")),delete r.pages[e.id].snapIntervals)}),t(U.SET,"settings",r.settings),r.schema=2,t(U.SET,"schema",2),et(r,t);case 2:return en(r.pages),t(U.SET,"pages",r.pages),r.schema=3,t(U.SET,"schema",3),et(r,t);case 3:return ei(r.pages),t(U.SET,"pages",r.pages),r.schema=4,t(U.SET,"schema",4),et(r,t);case 4:return el(r.pages),t(U.SET,"pages",r.pages),r.schema=5,t(U.SET,"schema",5),et(r,t);case 5:return es(r.pages),t(U.SET,"pages",r.pages),r.schema=6,t(U.SET,"schema",6),et(r,t);default:return e}},en=e=>{Object.values(e).forEach(e=>{e.panels&&Object.values(e.panels).forEach(e=>{er(e)})})},er=e=>{var t,n;switch(e.type){case f.HP.TEXT:break;case f.HP.STATS:e.data.stats=e.data.stats.reduce((e,t,n)=>{let r=(0,c.A)();return e[r]={id:r,isSection:!1,name:t.name,value:t.value,unit:t.unit,order:n},e},{});break;case f.HP.TABLE:e.data={rowHeights:[],columnWidths:[],cells:e.data.cells.map((e,t)=>0===t?e.map(e=>({value:[{type:"paragraph",children:[{text:e,bold:!0}]}]})):e.map(e=>({value:e})))};break;case f.HP.IMAGE:let r=Array.isArray(e.data.image)?e.data.image.map(e=>({fileID:"object"==typeof e?null==e?void 0:e.fileID:e,userID:null==e?void 0:e.userID,caption:(0,p.bQ)()})):[{fileID:"object"==typeof e.data.image?null==(t=e.data.image)?void 0:t.fileID:e.data.image,userID:null==(n=e.data.image)?void 0:n.userID,caption:(0,p.bQ)()}];e.data={cropped:!1,image:r};break;case f.HP.LIST:e.data.items=e.data.items.reduce((e,t,n)=>{let r=(0,c.A)();return e[r]={id:r,isSection:!1,header:t.header,value:t.value,image:t.image,order:n},e},{});case f.HP.LINKS:case f.HP.CUSTOM:}},ei=e=>{Object.values(e).forEach(e=>{e.panels&&Object.values(e.panels).forEach(e=>{e.type===f.HP.LINKS&&e.data&&e.data.links&&(e.data.links=e.data.links.map(e=>null==e?void 0:e.id).filter(e=>!!e))})})},ea={t_nickname:{newKey:"tags_nickname",valueConversion:e=>[e]},t_former_name:{newKey:"tags_former_names",valueConversion:e=>[e]},tags_cause_of_death:{newKey:"t_cause_of_death",valueConversion:e=>(e||[]).join(", ")},tags_race:{newKey:"tags_world_ethnic_groups",valueConversion:e=>e},d_us_ethnic_groups:{newKey:"tags_us_ethnic_groups",valueConversion:e=>e},n_height_inches:{newKey:"n_height",valueConversion:e=>e,units:"inches"},n_height_feet:{newKey:"n_height",valueConversion:e=>e,units:"feet"},n_height_meters:{newKey:"n_height",valueConversion:e=>e,units:"meters"},n_height_cm:{newKey:"n_height",valueConversion:e=>e,units:"cm"},n_weight_lbs:{newKey:"n_weight",valueConversion:e=>e,units:"lbs"},n_weight_kg:{newKey:"n_weight",valueConversion:e=>e,units:"kg"},n_area_sqm:{newKey:"n_area",valueConversion:e=>e,units:"Square Miles"},n_area_sqkm:{newKey:"n_area",valueConversion:e=>e,units:"Square km"},n_average_temp_c:{newKey:"n_average_temp",valueConversion:e=>e,units:"\xb0C"},n_average_temp_f:{newKey:"n_average_temp",valueConversion:e=>e,units:"\xb0F"},tags_abilities:{newKey:"tags_supernatural_abilities",valueConversion:e=>e},tags_educational_hobbies:{newKey:"tags_educational_interests",valueConversion:e=>e},d_occupation:{newKey:"tags_occupation",valueConversion:e=>e},"tags_myers-brigs_personality_index":{newKey:"tags_myers-briggs_personality_index",valueConversion:e=>e},d_legal_marital_status:{newKey:"tags_legal_marital_status",valueConversion:e=>e},tags_purpose_of_life:{newKey:"t_purpose_of_life",valueConversion:e=>(e||[]).join(", ")}},el=e=>
1{Object.values(e).forEach(e=>{Object.values(e.panels||{}).forEach(e=>{var t;if("CUSTOM"===e.type){let n=(null==(t=e.data)?void 0:t.fields)||[];Array.isArray(n)&&(e.data.fields=n.reduce((e,t,n)=>{var r,i,a,l,s;return x(N({},e),{[t.key]:x(N({key:(null==(r=ea[t.key])?void 0:r.newKey)||t.key,value:null!=(l=null==(a=null==(i=ea[t.key])?void 0:i.valueConversion)?void 0:a.call(i,t.value))?l:t.value},(null==(s=ea[t.key])?void 0:s.units)?{unit:ea[t.key].units}:{}),{index:n})})},{}))}})})},es=e=>{let t=Object.values(e).reduce((e,t)=>{if(e)return e;for(let e of Object.values(t.panels||{}))if(e.fixedCanvasWidth)return e.fixedCanvasWidth},0);Object.values(e).forEach(e=>{"FLOWCHART"!==e.type&&(Object.values(e.panels||{}).every(e=>{var t,n;return((null==(t=e.dimensions)?void 0:t.width)||101)>100&&((null==(n=e.dimensions)?void 0:n.height)||101)>100})||Object.values(e.panels||{}).forEach(e=>{let n={};Object.keys(e.dimensions||{}).forEach(r=>{n[r]=e.dimensions[r]*(t||1200)/100}),e.dimensions=n}))})},eo=(e,t)=>{if(!e.pages)return e;let n=e.schema||0,r=l(e);switch(n){case 0:case 1:let i=Object.values(r.pages)[0];if(!i)return r;return r.settings={},i.viewMode&&(r.settings.viewMode=i.viewMode),i.shape&&(r.settings.lineShape=i.shape),i.style&&(r.settings.lineStyle=i.style),i.hasOwnProperty("curviness")&&(r.settings.lineCurviness=i.curviness),i.snapIntervals&&(r.settings.gridSnapping=10*i.snapIntervals.translateY),t(U.SET,"settings",r.settings),r.schema=2,t(U.SET,"schema",2),eo(r,t);default:return e}},ec=(e,t)=>{if(!e.pages)return e;let n=e.schema||0,r=l(e);switch(n){case 0:case 1:let i=Object.values(r.pages).find(e=>"FLOWCHART"===e.type);if(!i)return r;r.settings={},i.viewMode&&(r.settings.viewMode=i.viewMode),i.shape&&(r.settings.lineShape=i.shape),i.style&&(r.settings.lineStyle=i.style),i.hasOwnProperty("curviness")&&(r.settings.lineCurviness=i.curviness);let a=Object.values(r.pages).find(e=>"FLOWCHART"!==e.type&&!!e.snapIntervals);return a&&(r.settings.gridSnapping=10*a.snapIntervals.translateX),t(U.SET,"settings",r.settings),r.schema=2,t(U.SET,"schema",2),ec(r,t);case 2:let s=Object.assign({},r.pages);return Object.values(s).forEach(e=>{"FLOWCHART"===e.type&&delete s[e.id]}),en(s),t(U.SET,"pages",r.pages),r.schema=3,t(U.SET,"schema",3),ec(r,t);case 3:return ei(r.pages),t(U.SET,"pages",r.pages),r.schema=4,t(U.SET,"schema",4),ec(r,t);case 4:return el(r.pages),t(U.SET,"pages",r.pages),r.schema=5,t(U.SET,"schema",5),ec(r,t);case 5:return es(r.pages),t(U.SET,"pages",r.pages),r.schema=6,t(U.SET,"schema",6),ec(r,t);default:return e}},eu=(e,t)=>{var n,r,i;if(!(null==(n=null==e?void 0:e.data)?void 0:n.pages))return e;let a=e.schema||0,s=l(e);switch(a){case 0:case 1:let o=Object.values(s.data.pages)[0];if(!o)return s;return s.settings={},o.snapIntervals&&(s.settings.gridSnapping=10*o.snapIntervals.translateY),t(U.SET,"settings",s.settings),s.schema=2,t(U.SET,"schema",2),eu(s,t);case 2:return en(s.data.pages),t(U.SET,"data.pages",s.data.pages),s.schema=3,t(U.SET,"schema",3),eu(s,t);case 3:return ei(s.data.pages),t(U.SET,"data.pages",s.data.pages),s.schema=4,t(U.SET,"schema",4),eu(s,t);case 4:return el(s.data.pages),t(U.SET,"data.pages",s.data.pages),s.schema=5,t(U.SET,"schema",5),eu(s,t);case 5:return es(s.data.pages),t(U.SET,"data.pages",s.data.pages),s.schema=6,t(U.SET,"schema",6),eu(s,t);case 6:let c=x(N({},s.data),{dictionary:{table:Object.values((null==(r=s.data.dictionary)?void 0:r.table)||{}).reduce((e,t)=>{var n;return x(N({},e),{[t.key]:x(N({},t),{partOfSpeech:(null==(n=t.partOfSpeech)?void 0:n.value)||t.partOfSpeech,notes:{}})})},{})},phonetics:{customTags:[],table:Object.values((null==(i=s.data.phonetics)?void 0:i.table)||{}).reduce((e,t)=>x(N({},e),{[t.key]:x(N({},t),{description:[{type:"paragraph",children:[{text:""}]}],modifiers:Object.entries(t.modifiers||{}).reduce((e,t,n)=>{let[r,i]=t;return x(N({},e),{[r]:{key:r,modifierType:r,pronunciation:i,symbol:"",tag:"",character:"",image:null,type:"",index:n}})},{})})}),{})}});return t(U.SET,"data",c),s.data=c,s.schema=7,t(U.SET,"schema",7),eu(s,t);default:return e}},ed=(e,t)=>{var n,r,i,a,s,o,c,u,d,m;let{t:f}=(0,h.TO)();if(!e.pages&&!e.manuscript)return e;let g=e.schema||0,y=l(e);switch(g){case 0:case 1:let v=Object.values(y.pages)[0];if(!v)return y;return y.settings={},v.snapIntervals&&(y.settings.gridSnapping=10*v.snapIntervals.translateY),t(U.SET,"settings",y.settings),y.schema=2,t(U.SET,"schema",2),ed(y,t);case 2:let b=(null==(s=null==(a=null==(i=null==(r=null==(n=y.pages)?void 0:n.homePage)?void 0:r.panels)?void 0:i.MANUSCRIPT)?void 0:a.data)?void 0:s.value)||(0,p.bQ)();y.manuscript={value:function e(t){return t.map(t=>("header_1"===t.type?t=x(N({},t),{type:"header_3"}):"header_2"===t.type&&(t=x(N({},t),{type:"header_4"})),t.children&&Array.isArray(t.children)&&(t=x(N({},t),{children:e(t.children)})),t))}(b)},t(U.SET,"manuscript",y.manuscript);let E={"navigator-1":{id:"navigator-1",index:0,title:f("hooks:common.module.manuscriptSchema.navigator"),type:"navigator",data:{}},toc:{id:"toc",index:1,title:f("hooks:common.module.manuscriptSchema.contents"),type:"toc",data:{}},"notecard-1":{id:"notecard-1",index:2,title:f("hooks:common.module.manuscriptSchema.notepad"),t
1ype:"notes",data:{text:(null==(m=null==(d=null==(u=null==(c=null==(o=e.pages)?void 0:o.homePage)?void 0:c.panels)?void 0:u.NOTES)?void 0:d.data)?void 0:m.value)||(0,p.bQ)()}}};return y.utilitySidebar=E,t(U.SET,"utilitySidebar",E),y.settings&&(y.settings.autoIndent=!1,t(U.SET,"settings.autoIndent",!1),y.settings.tabLength&&(y.settings.tabSize=y.settings.tabLength,delete y.settings.tabLength,t(U.UNSET,"settings.tabLength")),y.settings.tabSize&&(y.settings.tabSize/=16,isNaN(y.settings.tabSize)&&(y.settings.tabSize=.5),t(U.SET,"settings.tabSize",y.settings.tabSize))),delete y.pages,t(U.UNSET,"pages"),y.schema=3,t(U.SET,"schema",3),ed(y,t);default:return e}};function em(e){return Array.isArray(e)?e.reduce((e,t,n)=>x(N({},e),{[t.key]:x(N(N({},t),t.entries?{entries:em(t.entries)}:{}),{index:n})}),{}):e}var ep=(e,t)=>{if(!e.entries)return e;let n=e.schema||0,r=l(e);if(0!==n)return e;{if(Array.isArray(r.entries)){let e=em(r.entries);r.entries=e,t(U.SET,"entries",e)}let e={},n=t=>{Object.values(t).forEach(t=>{"entry"===t.type?e[t.key]=!0:t.entries&&n(t.entries)})};n(r.entries||{});let i=Object.keys(e);return r.elements=i,t(U.SET,"elements",i),r.schema=1,t(U.SET,"schema",1),ep(r,t)}},ef={events:{},structure:{eras:{bce:{id:"bce",name:"Before Common Era",abbreviation:"BCE",duration:799,index:0,ascending:!1,startYear:0,endYear:798},ce:{id:"ce",name:"Common Era",abbreviation:"CE",duration:3e3,index:1,ascending:!0,startYear:0,endYear:2999}},months:{january:{id:"january",name:"January",abbreviation:"Jan",duration:31,index:0,intercalaryInterval:0,intercalaryOffset:0,isIntercalaryMonth:!1},february:{id:"february",name:"February",abbreviation:"Feb",duration:28,index:1,intercalaryDays:1,intercalaryInterval:4,intercalaryOffset:-1,includeDivisibleBy:[400],skipDivisibleBy:[100],isIntercalaryMonth:!1},march:{id:"march",name:"March",abbreviation:"Mar",duration:31,index:2,intercalaryInterval:0,intercalaryOffset:0,isIntercalaryMonth:!1},april:{id:"april",name:"April",abbreviation:"Apr",duration:30,index:3,intercalaryInterval:0,intercalaryOffset:0,isIntercalaryMonth:!1},may:{id:"may",name:"May",abbreviation:"May",duration:31,index:4,intercalaryInterval:0,intercalaryOffset:0,isIntercalaryMonth:!1},june:{id:"june",name:"June",abbreviation:"Jun",duration:30,index:5,intercalaryInterval:0,intercalaryOffset:0,isIntercalaryMonth:!1},july:{id:"july",name:"July",abbreviation:"Jul",duration:31,index:6,intercalaryInterval:0,intercalaryOffset:0,isIntercalaryMonth:!1},august:{id:"august",name:"August",abbreviation:"Aug",duration:31,index:7,intercalaryInterval:0,intercalaryOffset:0,isIntercalaryMonth:!1},september:{id:"september",name:"September",abbreviation:"Sep",duration:30,index:8,intercalaryInterval:0,intercalaryOffset:0,isIntercalaryMonth:!1},october:{id:"october",name:"October",abbreviation:"Oct",duration:31,index:9,intercalaryInterval:0,intercalaryOffset:0,isIntercalaryMonth:!1},november:{id:"november",name:"November",abbreviation:"Nov",duration:30,index:10,intercalaryInterval:0,intercalaryOffset:0,isIntercalaryMonth:!1},december:{id:"december",name:"December",abbreviation:"Dec",duration:31,index:11,intercalaryInterval:0,intercalaryOffset:0,isIntercalaryMonth:!1}},weeks:{gregorian:{id:"gregorian",name:"Gregorian Calendar Week",index:0,days:{sunday:{id:"sunday",name:"Sunday",index:0,weekend:!0},monday:{id:"monday",name:"Monday",index:1,weekend:!1},tuesday:{id:"tuesday",name:"Tuesday",index:2,weekend:!1},wednesday:{id:"wednesday",name:"Wednesday",index:3,weekend:!1},thursday:{id:"thursday",name:"Thursday",index:4,weekend:!1},friday:{id:"friday",name:"Friday",index:5,weekend:!1},saturday:{id:"saturday",name:"Saturday",index:6,weekend:!0}}}},moons:{moon1:{id:"moon1",name:"Moon",index:0,cycleDuration:29.5,offset:12,rounding:"nearest",reverse:!1}},seasons:{spring:{id:"spring",name:"Spring",index:0,month:"march",start:19,icon:"Flower"},summer:{id:"summer",name:"Summer",index:1,month:"june",start:19,icon:"Sun"},autumn:{id:"autumn",name:"Autumn",index:2,month:"september",start:21,icon:"Leaf"},winter:{id:"winter",name:"Winter",index:3,month:"december",start:20,icon:"Snowflake"}},weekOverrides:{},settings:{hoursInDay:24,overflowWeekdays:!0,defaultWeek:"gregorian",alternatingWeeks:!1,offsetWeeks:6}}},eh=(e,t,n,r)=>({bce:{id:"bce",name:e,abbreviation:t,duration:1e4,index:0,ascending:!1},ce:{id:"ce",name:n,abbreviation:r,duration:1e4,index:1,ascending:!0}}),eg=()=>{let{t:e}=(0,h.TO)();return eh(e("hooks:common.module.timelineSchema.beforeCommonEra"),e("hooks:common.module.timelineSchema.bce"),e("hooks:common.module.timelineSchema.commonEra"),e("hooks:common.module.timelineSchema.ce"))},ey=(e,t)=>{var n,r;let i,a=e.schema||0,s=["events","plotlines","settings"];for(let t=0;t<s.length;t++)if(!e[s[t]])return e;switch(a){case 0:let{events:u}=i=l(e);
1return Object.values(u).forEach(e=>{Object.values(e.pages).forEach(n=>{Object.values(n.panels).forEach(r=>{r.type===f.HP.CUSTOM&&(i.events[e.id].pages[n.id].panels[r.id].data.fields=[],t(U.SET,"events.".concat(e.id,".pages.").concat(n.id,".panels.").concat(r.id,".data.fields"),[]))})})}),i.schema=1,t(U.SET,"schema",1),ey(i,t);case 1:(i=l(e)).plotlines=Object.values(e.plotlines).reduce((e,t)=>(e[t.id]={id:t.id,name:t.name,index:t.index},e),{}),i.eras=eg(),i.sections={},i.events=Object.values(e.events).reduce((e,t,n)=>{let r;return e[t.id]={id:t.id,name:t.name,plotline:t.plotline,time:(r=t.dimensions?t.dimensions.left:0,g.iI.fromDate(new Date(6e4*r),i.eras,"ce")).json,summary:{subtitle:"",description:(0,p.bQ)()},pages:t.pages,dimensions:{left:250*n,top:100,width:220,height:160}},e},{});let d=e.settings&&e.settings.min||0,m=e.settings&&e.settings.max||5256e5;i.settings={start:g.iI.fromDate(new Date(6e4*d),i.eras,"ce").json,end:g.iI.fromDate(new Date(6e4*m),i.eras,"ce").json,units:Object.values(g.eW).includes(e.settings&&e.settings.mode)?e.settings.mode:g.eW.GREGORIAN,measure:g.pJ.MONTHS,largeNodes:!1,focusEnabled:!1,focusStart:g.iI.fromDate(new Date(6e4*d),i.eras,"ce").json,focusEnd:g.iI.fromDate(new Date(6e4*m),i.eras,"ce").json,gridSnapping:30},i.connections={},i.entries=[];let y=(0,c.A)();return i.colors={[y]:{id:y,hex:"ffffff",name:"Connection",cycle:!0,index:0}},t(U.SET,"events",i.events),t(U.SET,"settings",i.settings),t(U.SET,"sections",i.sections),t(U.SET,"eras",i.eras),t(U.SET,"plotlines",i.plotlines),t(U.SET,"connections",i.connections),t(U.SET,"colors",i.colors),t(U.SET,"entries",i.entries),t(U.SET,"schema",2),i.schema=2,ey(i,t);case 2:return Object.values((i=l(e)).events).forEach(e=>{e.settings={};let n=Object.values(e.pages).find(e=>!!e.snapIntervals);n&&(e.settings.gridSnapping=10*n.snapIntervals.translateX),t(U.SET,"events.".concat(e.id,".settings"),e.settings)}),i.schema=3,t(U.SET,"schema",3),ey(i,t);case 3:return Object.values((i=l(e)).events).forEach(e=>{en(e.pages)}),t(U.SET,"events",i.events),i.schema=4,t(U.SET,"schema",4),ey(i,t);case 4:return Object.values((i=l(e)).events).forEach(e=>{ei(e.pages)}),t(U.SET,"events",i.events),i.schema=5,t(U.SET,"schema",5),ey(i,t);case 5:return Object.values((i=l(e)).events).forEach(e=>{el(e.pages||{})}),t(U.SET,"events",i.events),i.schema=6,t(U.SET,"schema",6),ey(i,t);case 6:return(i=l(e)).entries=em(e.entries),t(U.SET,"entries",i.entries),i.schema=7,t(U.SET,"schema",7),ey(i,t);case 7:return Object.values((i=l(e)).events).forEach(e=>{es(e.pages||{})}),t(U.SET,"events",i.events),i.schema=8,t(U.SET,"schema",8),ey(i,t);case 8:i=l(e);let v=!1;i.eras&&!(e=>o(e,eg())||o(e,eh("Before Common Era","BCE","Common Era","CE")))(i.eras)&&(v=!0),v?(i.legacyCalendar=l(ef),i.legacyCalendar.structure.eras=Object.values(i.eras).map(e=>x(N({},e),{duration:Math.min(e.duration,1e4),startYear:0,endYear:Math.min(e.duration,1e4)-1})).reduce((e,t)=>x(N({},e),{[t.id]:t}),{}),t(U.SET,"legacyCalendar",i.legacyCalendar),i.calendar="legacy"):i.calendar="gregorian",Object.values(i.sections||{}).forEach(e=>{e.start=ev(e.start,i.eras,i.legacyCalendar),e.end=ev(e.end,i.eras,i.legacyCalendar)}),0===Object.keys(i.events||{}).length&&1===Object.keys(i.plotlines||{}).length&&(null==(r=null==(n=i.plotlines)?void 0:n.p0)?void 0:r.name)==="Main Plot"&&delete i.plotlines.p0,Object.values(i.events||{}).forEach(e=>{e.start=ev(e.time,i.eras,i.legacyCalendar),e.end=e.start,delete e.time,e.dimensions.height=e.dimensions.height||130,Object.values(e.pages||{}).forEach(t=>Object.values(t.panels).forEach(t=>{if(t.type===f.HP.CUSTOM){for(let n of Object.values(t.data.fields))if("c_eye_color"===n.key){e.summary||(e.summary={}),e.summary.color=n.value,delete t.data.fields[n.key];break}}}))}),i.dividers={};let b=(0,c.A)();return i.pages={[b]:{id:b,name:(0,h.TO)().t("hooks:common.module.timelineSchema.timelineName"),color:"",index:0,showGantt:!1}},["events","plotlines","connections","colors","sections","calendar","dividers","entries"].forEach(e=>{i.pages[b][e]=i[e],i[e]&&(delete i[e],t(U.UNSET,e))}),i.filters&&(t(U.UNSET,"filters"),delete i.filters),i.markers&&(t(U.UNSET,"markers"),delete i.markers),i.eras&&(t(U.UNSET,"eras"),delete i.eras),["start","end","units","measure","largeNodes","focusEnabled","focusStart","focusEnd","defaultTime"].forEach(e
1=>{var t;(null==(t=i.settings)?void 0:t[e])&&delete i.settings[e]}),t(U.SET,"pages",i.pages),i.schema=9,t(U.SET,"schema",9),ey(i,t);default:return e}};function ev(e,t){var n;let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:ef,i=g.iI.fromJson(e,t),a=i.getField(g.pJ.YEARS)-1,l=i.getField(g.pJ.MONTHS),s=i.getField(g.pJ.DAYS)-1,{hour:o,minute:c}=i.getField(g.pJ.HOURS),u=Object.values(r.structure.months).sort((e,t)=>e.index-t.index);return{era:i.era,year:a,month:(null==(n=u[l])?void 0:n.id)||u[0].id,day:s,hour:o,minute:c}}var eb=ey,eE=["abiding","abounding","academic","acceptable","accepting","accessible","acclaimed","accommodating","accountable","accurate","actionable","active","actual","adaptive","adequate","admirable","adored","advantageous","advisable","affectionate","agreeable","alert","alluring","amazed","amicable","amusing","appealing","appetizing","appreciative","approachable","appropriate","ardent","arresting","artful","artistic","aspiring","assertive","assured","assuring","astonishing","astounding","astronomical","astute","athletic","attainable","attractive","auspicious","authoritative","avid","awake","aware","banging","beaming","bedazzled","bedazzling","believable","beneficial","benign","bewildering","bewitching","bilingual","blameless","blazing","blessed","blissful","blooming","blossoming","blushing","bodacious","boisterous","bold","bouncy","boundless","boyish","brainy","brave","brawny","brazen","breathtaking","breezy","bright","buoyant","bustling","calming","candid","capable","captivated","captivating","carefree","careful","caring","cautious","ceaseless","celebrated","celestial","centered","cerebral","ceremonial","certified","changeable","charismatic","charitable","charmed","charming","chatty","cheeky","cheerful","cheery","childlike","chivalrous","choice","chuckling","cinematic","civilized","classic","classical","clean","clear","clearheaded","clever","close","coachable","cognitive","coherent","cohesive","collaborative","collegial","colloquial","colorful","comfortable","comforted","comforting","commanding","commemorative","commendable","committed","communicative","compact","compassionate","compelling","competent","complete","completed","complex","complimentary","comprehensive","conceivable","concerted","concise","confidential","confirmable","confirmed","congruent","connected","conscientious","conscious","consensual","consenting","considerate","consistent","consoling","conspiratorial","constant","constructive","consummate","contemplative","contemporary","content","contented","contributive","convenient","conventional","conversational","convincing","coolest","cooperative","coordinated","copious","coquettish","correctable","corresponding","cosmic","courageous","courteous","coveted","creamy","creative","credible","crisp","crucial","crunchy","cuddly","cultured","cunning","curable","curative","curious","current","customary","cute","dainty","dapper","daring","dashing","daughterly","dazzling","dear","debonair","decadent","decisive","decorative","decorous","dedicated","deep","defendable","defensible","definable","definitive","delectable","deliberate","deliberative","delicious","delighted","delightful","demonstrative","demure","dependable","designer","desirous","detailed","devoted","devout","didactic","dignified","diplomatic","direct","disarming","disciplined","discriminating","distinct","distinguished","distracting","diverse","diversified","dizzying","doable","dogged","dogmatic","domestic","dominant","doting","dreamy","dressy","driven","dutiful","dynamic","early","earnest","earthy","eccentric","economical","ecstatic","edgy","educated","educational","effervescent","effortless","effusive","egalitarian","elaborate","electric","electrifying","elegant","elevated","eligible","elite","eloquent","emblematic","emboldened","empirical","enamored","enchanted","enchanting","encouraged","encouraging","endearing","endurable","enduring","energizing","enforceable","engrossing","enhanced","enigmatic","enjoyable","enlightened","enough","enterprising","entertained","entertaining","enthralled","enthused","enthusiastic","enticing","entire","entranced","entrepreneurial","enumerable","enviable","equitable","erect","essential","established","eternal","ethereal","ethical","euphoric","even","eventful","everlasting","evocative","exact","exalted","exceptional","excitable","excited","exciting","exclusive","executable","exhaustive","exhilarated","exhilarating","exotic","expansive","expectant","expected","expedient","expeditious","expensive","expert","express","expressionistic","expressive","exquisite","extensive","extraordinary","extravagant","exuberant","fabled","factual","famous","fascinated","fascinating","fashionable","fastidious","fateful","fatherly","fathomable","favorable","fearless","fertile","fervent","fetching","fierce","fiery","fine","firm","first","fit","flamboyant","flashy","flattered","flattering","flavorful","flawless","flexible","flirtatious","flowery","fluent","fluffy","focused","fond","foreseeable","forgivable","forgiving","formal","formative","formidable","forthright","fortuitous","fortunate","forward","foxy","fragrant","frank","fraternal","free","fresh","friendly","frisky","fulfilled","fulfilling","full","fun","functional","fundamental","futuristic","gainful","gallant","game","generous","genial","genuine","giddy","gifted","giggling","giving","glaring","glittering","glorious","glossy","glowing","golden","graceful","gracious","grandiose","gratified","gratifying","greatest","grinning","gripping","groomed","groovy","guaranteed","guiltless","gutsy","hallowed","handsome","hardworking","hardy","harmless","harmonic","harmonious","heady","hearty","heavenly","helpful","heroic","historical","holistic","homey","honorable","hopeful","hot","huggable","human","humble","hygienic","idealistic","illuminating","illustrious","immaculate","immense","immortal","immovable","impartial","impassioned","impenetrable","impervious","important","impressive","improved","improving","inalienable","incandescent","inclusive","incomparable","incontrovertible","industrious","influential","informative","informed","ingenuous","inhabitable","innovative","inquisitive","insightful","invaluable","inviting","iridescent","joyful","kindhearted","knowing","laudable","learned","likeable","loveable","lovely","loving","marketable","maternal","meaningful","meditative","merry","miraculous","motivational","moving","naughty","neighborly","notable","nutritious","observant","o
1ptimistic","parental","paternal","patient","peerless","perceptive","personable","phenomenal","playful","precocious","premium","pretty","productive","proud","pure","quirky","resilient","reverent","romantic","scrupulous","seemly","sociable","stimulating","straightforward","suave","successful","talented","tasteful","thrifty","upright","valiant","winning","zestful"],eS={enableNotifs:!0,discountNotifs:!0,updateNotifs:!0,projectShareNotifs:!0,elementShareNotifs:!0,youtubeNotifs:!0,enableEmails:!0,discountEmails:!0,updateEmails:!0,projectShareEmails:!0,elementShareEmails:!0,youtubeEmails:!0,enableDarkTheme:!1,enableElementTheme:!1,useSubtitle:!1,enableAutoTagging:!0,gridSnapping:8,lineCurviness:50,viewMode:"IMAGE_AND_TITLE",lineShape:"bezier",lineStyle:"solid",horizontalPadding:7,autoIndent:!1,tabLength:8,autoTag:!0,displayWordcount:!0,focusModeWidth:90,collapseActionButtons:!1,prioritizeListTab:!1,customModuleNav:!1,autoResizePanels:!0,autoCropImages:!0,showLinkTypes:!1,acceptCookies:void 0},eT={mobileDarkModeEnabled:!1,mobileLargeText:!1},ew=(e,t)=>{var n,r,i,a,s,o,u,d,m,p,h,g,b,E,S,T,w,_,O,I;let k=e.schema||0,A=l(e),C=(null==(n=null==A?void 0:A.profile)?void 0:n.settings)||{};switch(k){case 0:return Object.keys(eS).forEach(e=>{C.hasOwnProperty(e)||(C[e]=eS[e])}),C.emailNotifs&&(C.projectShareEmails=!!C.emailNotifs.storySharedWithYou,C.elementShareEmails=!!C.emailNotifs.somethingSharedWithYou),C.personalData&&(C.acceptCookies=C.personalData.useCookies),A.profile.settings=C,t(U.SET,"profile.settings",C),A.schema=1,t(U.SET,"schema",1),ew(A,t);case 1:return(null==(a=null==(i=null==(r=A.profile)?void 0:r.settings)?void 0:i.hasOwnProperty)?void 0:a.call(i,"showLinkTypes"))&&(A.profile.settings.showLinkTypes=!1,t(U.SET,"profile.settings.showLinkTypes",!1)),A.schema=2,t(U.SET,"schema",2),ew(A,t);case 2:let j={},D=A.images||[];return"object"!=typeof D||Array.isArray(D)||(null==(o=null==(s=A.images)?void 0:s.album)?void 0:o.children)||(D=[]),Array.isArray(D)&&(D.forEach((e,t)=>{let n=e.replace(/\./g,",");j[n]={isAlbum:!1,imageID:n,userID:A._id.toString(),caption:[{type:"paragraph",children:[{text:""}]}],title:"",order:t}}),A.images={album:{isAlbum:!0,title:"Gallery",children:j,sortType:"recentlyAdded"},totalImageCount:(null==(u=A.images)?void 0:u.length)||0},t(U.SET,"images",A.images)),A.schema=3,t(U.SET,"schema",3),ew(A,t);case 3:return C=(null==(d=null==A?void 0:A.profile)?void 0:d.settings)||{},Object.keys(eT).forEach(e=>{C.hasOwnProperty(e)||(C[e]=eT[e])}),A.profile.settings=C,t(U.SET,"profile.settings",C),A.schema=4,t(U.SET,"schema",4),ew(A,t);case 4:if(A.stories instanceof Array){let e=A.stories.reduce((e,t,n)=>x(N({},e),{[t]:{id:t,order:n}}),{});A.stories=e,t(U.SET,"stories",e)}return A.folders||(A.folders={folders:{},sortType:"alphabetical"},t(U.SET,"folders",{folders:{},sortType:"alphabetical"})),A.exploreData||(A.exploreData={drugUseCW:"warning",explicitLanguageCW:"warning",explicitViolenceCW:"warning",hateSpeechCW:"warning",selfHarmCW:"warning",sexualContentCW:"warning",sexualViolenceCW:"warning",followedTags:{},externalLinkWarnings:!0,blockedAccounts:{},followedAccounts:{}},t(U.SET,"exploreData",A.exploreData)),A.schema=5,t(U.SET,"schema",5),ew(A,t);case 5:if(!A.username){let e=Math.round(999*Math.random()),n="";for(;!n||n.length>18||n.length<6;){let t=.2>Math.random();n="".concat((0,y.DW)({dictionaries:[t?y.Tj:eE,y.md]}),"_").concat(e)}A.username=n,A.usernameLowercase=n.toLowerCase(),t(U.SET,"username",n),t(U.SET,"usernameLowercase",n.toLowerCase())}return A.schema=6,t(U.SET,"schema",6),ew(A,t);case 6:delete A.stories,t(U.UNSET,"stories");let R={children:{},sortType:"alphabetical"},L=A.folders;return L&&(R.sortType=L.sortType,Object.values(L.folders||{}).forEach(e=>{R.children[e.id]={id:e.id,order:e.order,name:e.name,sortType:e.sortType,isFolder:!0,created:e.created,children:(e.stories||[]).reduce((e,t,n)=>x(N({},e),{[t]:{id:t,isFolder:!1,order:n}}),{})}})),A.projectHub=R,t(U.SET,"projectHub",R),delete A.folders,t(U.UNSET,"folders"),A.schema=7,t(U.SET,"schema",7),ew(A,t);case 7:let P=A.themes||[],M=0,B=P.reduce((e,t)=>{let n=(0,c.A)();return e[n]=x(N({},t),{id:n,order:M}),M++,e},{});
1return Object.entries(v.Sx.defaultThemes).forEach(e=>{let[t,n]=e,r=(0,c.A)();B[r]={id:r,name:t,theme:n.json,order:M},M++}),A.themes=B,t(U.SET,"themes",B),A.schema=8,t(U.SET,"schema",8),ew(A,t);case 8:return C=l(A.profile.settings||{}),["discount","tutorial","youtube","projectShare","elementShare"].forEach(e=>{let t;t=C[e+"Notifs"]&&C[e+"Emails"]?f._n.EMAIL_AND_ALERT:C[e+"Notifs"]?f._n.ALERT:C[e+"Emails"]?f._n.EMAIL:f._n.NONE,"youtube"===e?(C.newLearnPostNotifs=t,C.youtubeNotifs&&delete C.youtubeNotifs):C[e+"Notifs"]=t,C[e+"Emails"]&&delete C[e+"Emails"]}),["exploreFollowUpdates","exploreSupportUpdates","yourExploreComments","yourLearnComments","exploreFeatured","commentReplies","commentLikes","followYou"].forEach(e=>{C[e+"Notifs"]=f._n.ALERT}),C.enableNotifs&&delete C.enableNotifs,C.enableEmails&&delete C.enableEmails,C.acceptCookies=C.useCookies,(null==(m=C.useCookies)||m)&&delete C.useCookies,A.profile.settings=C,t(U.SET,"profile.settings",C),A.schema=9,t(U.SET,"schema",9),ew(A,t);case 9:if(!A.learn){let e={bookmarkedPosts:{},followedTags:{"60e74ea74decc6003b7a4d96":{id:"60e74ea74decc6003b7a4d96",time:Date.now()}}};A.learn=e,t(U.SET,"learn",e)}return A.schema=10,t(U.SET,"schema",10),ew(A,t);case 10:return(null==(h=null==(p=A.profile)?void 0:p.settings)?void 0:h.autoIndent)&&(A.profile.settings.autoIndent=!1,t(U.SET,"profile.settings.autoIndent",!1)),(null==(b=null==(g=A.profile)?void 0:g.settings)?void 0:b.tabSize)&&(A.profile.settings.tabSize/=16,t(U.SET,"profile.settings.tabSize",A.profile.settings.tabSize)),(null==(S=null==(E=A.profile)?void 0:E.settings)?void 0:S.tabLength)&&(A.profile.settings.tabLength/=16,isNaN(A.profile.settings.tabLength)&&(A.profile.settings.tabLength=.5),t(U.SET,"profile.settings.tabLength",A.profile.settings.tabLength)),A.schema=11,t(U.SET,"schema",11),ew(A,t);case 11:return(null==(w=null==(T=A.profile)?void 0:T.account)?void 0:w.showedWelcome)&&["onboardingNewCharacter","onboardingFirstProject","onboardingNavigation","showedProjectHubWelcome","showedProjectHubWelcome2","showedEPMWelcome","onboardingEPMSyncing","onboardingPurchases","onboardingMagic","onboardingLanguages","onboardingMaps","onboardingManuscript","onboardingEncyclopedia","onboardingResearch","onboardingTimeline","onboardingArcs","onboardingRelationships","onboardingSystems","onboardingDesktopNavigation","onboardingModuleFilters"].forEach(e=>{A.profile.account[e]=-1,t(U.SET,"profile.account.".concat(e),-1)}),A.schema=12,t(U.SET,"schema",12),ew(A,t);case 12:let F=Object.keys(A.profile.settings||{}).filter(e=>e.includes("Notifs"));return A.profile.settings||(A.profile.settings={}),F.forEach(e=>{let n=e.split("Notifs")[0]+"PushNotifs";A.profile.settings[n]=!0,t(U.SET,"profile.settings.".concat(n),!0)}),A.schema=13,t(U.SET,"schema",13),ew(A,t);case 13:let W=Object.keys((null==(_=A.learn)?void 0:_.followedTags)||{});return 1===W.length&&"60e74ea74decc6003b7a4d96"===W[0]&&(["60e74f244decc6003b7a4d9c","60e750ba4decc6003b7a4db0","6022a9b6c4fb64003917a658","6302abd274222b003df8842c","613a7284b8a344003bbbae4c","609c1ba25035af003bac32cf","6100338f4decc6003b7a5c87"].forEach(e=>{A.learn.followedTags[e]={id:e,time:Date.now()}}),t(U.SET,"learn.followedTags",A.learn.followedTags)),A.schema=14,t(U.SET,"schema",14),ew(A,t);case 14:return Object.entries(A.moduleOrder||{}).forEach(e=>{let[n,r]=e;if(!r.includes("calendar")){let e=r.findIndex(e=>"timeline"===e);-1===e&&(e=r.length),(r=[...r]).splice(e,0,"calendar"),A.moduleOrder[n]=r,t(U.SET,"moduleOrder.".concat(n),r)}}),Object.entries(A.moduleFilters||{}).forEach(e=>{let[n,r]=e;A.moduleFilters[n].calendar=!0,t(U.SET,"moduleFilters.".concat(n,".calendar"),!0)}),A.schema=15,t(U.SET,"schema",15),ew(A,t);case 15:return Object.entries((null==(I=null==(O=A.profile)?void 0:O.account)?void 0:I.socialLinks)||{}).forEach(e=>{let[n,r]=e;A.profile.account.socialLinks[n.toLowerCase()]=r,n!==n.toLowerCase()&&delete A.profile.account.socialLinks[n],t(U.SET,"profile.account.socialLinks",A.profile.account.socialLinks)}),A.schema=16,t(U.SET,"schema",16),ew(A,t);default:return e}},e_=(e,t)=>{if(!e.arcs)return e;
1let n=e.schema||0,r=l(e);switch(n){case 0:return r.arcs.trialId&&(r.arcs.trialIds=[r.arcs.trialId],t(U.SET,"arcs.trialIds",[r.arcs.trialId]),t(U.UNSET,"arcs.trialId")),r.arcs.trialIds||(r.arcs.trialIds=[],t(U.SET,"arcs.trialIds",[])),r.schema=1,t(U.SET,"schema",1),e_(r,t);case 1:return Object.values(r.arcs).forEach(e=>{e.events&&Object.values(e.events).forEach(e=>{e.changes&&en({changes:e.changes}),e.notes&&en({notes:e.notes})})}),t(U.SET,"arcs",r.arcs),r.schema=2,t(U.SET,"schema",2),e_(r,t);case 2:let i=Object.keys(r.arcs).filter(e=>"trialIds"!==e).map(e=>({key:e,type:"entry",userpermissions:r.userpermissions}));return t(U.SET,"entries",i),t(U.UNSET,"arcs.trialIds"),r.schema=3,t(U.SET,"schema",3),e_(r,t);case 3:return r.entries=em(r.entries||[]),t(U.SET,"entries",r.entries),r.schema=4,t(U.SET,"schema",4),e_(r,t);case 4:return Object.values(r.arcs).forEach(e=>{e.events&&Object.values(e.events).forEach(e=>{e.changes&&es({changes:e.changes}),e.notes&&es({notes:e.notes})})}),t(U.SET,"arcs",r.arcs),r.schema=5,t(U.SET,"schema",5),e_(r,t);default:return e}},eO=(e,t)=>{var n;let r=e.schema||0,i=l(e);switch(r){case 0:if(i.metadata||(i.metadata=b.Ot,t(U.SET,"metadata",b.Ot)),!i.metadata.img||Array.isArray(null==(n=i.metadata.img)?void 0:n.image)){let e=Object.assign({},i.metadata.img,{data:{cropped:!0,image:(i.metadata.img.data||[]).map(e=>({fileID:"object"==typeof e?e.fileID:e,userID:e.userID,caption:(0,p.bQ)()}))}});i.metadata.img=e,t(U.SET,"metadata.img",e)}return i.schema=1,t(U.SET,"schema",1),eO(i,t);case 1:return es({page:{id:"page",panels:i.metadata}}),t(U.SET,"metadata",i.metadata),i.schema=2,t(U.SET,"schema",2),eO(i,t);case 2:return i.metadata||(i.metadata=b.Ot,t(U.SET,"metadata",b.Ot)),i.schema=3,t(U.SET,"schema",3),eO(i,t);case 3:return i.metadata=(e=>{let t=l(e)||{};return Object.keys(t).forEach(e=>{var n;e===E.q.NOTES?t[e]=x(N({},t[e]),{type:f.HP.TEXT,data:{value:(null==(n=t[e])?void 0:n.data)||(0,p.bQ)()}}):e===E.q.PINNED?t[e]=x(N({},t[e]),{type:E.q.PINNED}):e===E.q.RECENT?t[e]=x(N({},t[e]),{type:E.q.RECENT}):e===E.q.IMAGE&&(t[e]=x(N({},t[e]),{type:f.HP.IMAGE}))}),t[E.q.STATS]&&delete t[E.q.STATS],t})(i.metadata),t(U.SET,"metadata",i.metadata),i.schema=4,t(U.SET,"schema",4),eO(i,t);default:return e}},eI=(e,t)=>{var n,r;if(!e)return!0;switch(t){case"image":return!(e=>{if(!e)return!1;if(Array.isArray(e)&&e.length>0){let t=e[0];return!!((null==t?void 0:t.fileID)&&(null==t?void 0:t.userID))}return!1})(e);case"subheader":return"string"==typeof e&&""===e.trim();case"paragraph":if(Array.isArray(e))return 0===e.length||1===e.length&&!(null==(r=null==(n=e[0])?void 0:n.children)?void 0:r.length);return!0;default:return!1}},ek=(e,t,n)=>{let r=f.Xo[f._J.GALLERY],i={},a=[];return Array.isArray(e.value)&&e.value.forEach(e=>{let t=(0,c.A)();i[t]={image:{fileID:e.fileID,userID:e.userID},caption:e.caption||""},a.push(t)}),{id:t,type:f._J.GALLERY,subType:f.rp.GALLERY,value:{slideData:i,slideOrder:a},settings:x(N({},r.settings),{isNew:!1}),index:n}},eA=(e,t,n)=>{let r=f.Xo[f._J.HEADER];return{id:t,type:f._J.HEADER,subType:f.Lo.H2,value:e.value||"",settings:x(N({},r.settings),{isNew:!1}),index:n}},eC=(e,t,n)=>{let r=f.Xo[f._J.TEXT_FIELD];return{id:t,type:f._J.TEXT_FIELD,value:e.value||[],settings:x(N({},r.settings),{isNew:!1}),index:n}},ej=(e,t,n)=>{let r=f.Xo[f.Rc.STATS];return{id:t,type:f.Rc.STATS,subType:r.subType,value:e.value,settings:x(N({},r.settings),{isNew:!1}),index:n}},eD=(e,t,n)=>{var r;let i=f.Xo[f.Rc.TABLE],a=e=>e.map(e=>"string"==typeof e?{value:[{type:"paragraph",children:[{text:e}]}]}:e);return{id:t,type:f.Rc.TABLE,value:x(N({},(null==(r=e.value)?void 0:r.cells)?x(N({},e.value),{cells:Object.values(e.value.cells).map(a)}):{cells:Object.values(e.value||{}).map(a)}),{dimensions:{rows:{1:40,2:40},columns:{1:135,2:135}}}),settings:x(N({},i.settings),{isNew:!1,stickyColumnHeader:!1,stickyRowHeader:!1,showRowHeaders:!1,showColumnHeaders:!1}),index:n}},eR=(e,t)=>{var n,r;if(!e.data)return;
1let i=e.schema||0,a=l(e);switch(i){case 0:case 1:case 2:return Object.values(a.data).forEach(e=>{if("table"===e.type&&Array.isArray(e.value)){let n={type:f.HP.TABLE,data:{cells:e.value}};er(n),e.value=n.data,t(U.SET,"data.".concat(e.key,".value"),n.data)}else if("stats"===e.type&&Array.isArray(e.value)){let n={type:f.HP.STATS,data:{stats:e.value}};er(n),e.value=n.data,t(U.SET,"data.".concat(e.key,".value"),n.data)}}),a.schema=3,t(U.SET,"schema",3),eR(a,t);case 3:return(null==(r=null==(n=null==a?void 0:a.metadata)?void 0:n.hasOwnProperty)?void 0:r.call(n,"showSummary"))&&(a.settings||(a.settings={},t(U.SET,"settings",{})),a.settings.showSummary=a.metadata.showSummary,t(U.SET,"settings.showSummary",a.metadata.showSummary),delete a.metadata,t(U.UNSET,"metadata")),a.schema=4,t(U.SET,"schema",4),eR(a,t);case 4:return((e,t)=>{let n=l(e);if(n.data){let e=(e=>{if(!Array.isArray(e)&&"mainArticle"in e&&"summaryBox"in e)return e;let t=[];Array.isArray(e)?t=e:"object"==typeof e&&null!==e&&(t=Object.values(e).sort((e,t)=>(e.index||0)-(t.index||0)));let n={mainArticle:{},summaryBox:{}},r=[],i=0;for(let e=0;e<Math.min(3,t.length);e++){let n=t[e],a=n.key||(0,c.A)();if(eI(n.value,n.type))continue;let l=null;switch(n.type){case"image":l=ek(n,a,i);break;case"subheader":l=eA(n,a,i);break;case"paragraph":l=eC(n,a,i)}l&&(r.push(l),i++)}if(0===r.length){let e="sidebar-title",t=f.Xo[f._J.HEADER];n.summaryBox[e]={id:e,type:f._J.HEADER,subType:f.Lo.H2,value:"",settings:x(N({},t.settings),{isNew:!1}),index:0}}else r.forEach(e=>{n.summaryBox[e.id]=e});let a=0;for(let e=3;e<t.length;e++){let r=t[e],i=r.key||(0,c.A)(),l=null;switch(r.type){case"subheader":l=eA(r,i,a);break;case"image":l=ek(r,i,a);break;case"stats":l=ej(r,i,a);break;case"table":l=eD(r,i,a);break;case"paragraph":l=eC(r,i,a)}l&&(n.mainArticle[l.id]=l,a++)}return n})(n.data);n.data=e,t(U.SET,"data",e)}return n.schema=5,t(U.SET,"schema",5),n})(a,t);default:return e}},eL=(e,t)=>{var n,r,i,a,s;if(!e.entries)return e;let o=e.schema||0,c=l(e);switch(o){case 0:case 1:return c.settings&&(c.settings.autoIndent&&(delete c.settings.autoIndent,t(U.UNSET,"settings.autoIndent")),c.settings.tabLength&&(c.settings.tabSize=c.settings.tabLength,delete c.settings.tabLength,t(U.UNSET,"settings.tabLength")),c.settings.tabSize&&(c.settings.tabSize/=16,isNaN(c.settings.tabSize)&&(c.settings.tabSize=.5),t(U.SET,"settings.tabSize",c.settings.tabSize))),c.textStyles&&((null==(r=null==(n=c.textStyles.standard)?void 0:n.paragraph)?void 0:r.spaceAfter)&&(c.settings||(c.settings={}),c.settings.spaceAfter=!0,t(U.SET,"settings.spaceAfter",!0)),delete c.textStyles,t(U.UNSET,"textStyles")),c.focusDimensions&&(delete c.focusDimensions,t(U.UNSET,"focusDimensions")),c.schema=2,t(U.SET,"schema",2),eL(c,t);case 2:c.entries=em(c.entries),t(U.SET,"entries",c.entries);let u={},d=e=>{Object.values(e).forEach(e=>{"entry"===e.type?u[e.key]=!0:e.entries&&d(e.entries)})};d(c.entries||{});let m=Object.keys(u);return c.elements=m,t(U.SET,"elements",m),c.schema=3,t(U.SET,"schema",3),eL(c,t);case 3:for(let e of["body","frontMatter","backMatter"]){let n=null==(s=null==(a=null==(i=c.advancedExport)?void 0:i.book)?void 0:a.spine)?void 0:s[e];n&&Array.isArray(n)&&(c.advancedExport.book.spine[e]=em(n),t(U.SET,"advancedExport.book.spine.".concat(e),c.advancedExport.book.spine[e]))}return c.schema=4,t(U.SET,"schema",4),eL(c,t);default:return e}},eP=(e,t)=>{if(!(null==e?void 0:e.layers))return e;let n=e.schema||0,r=l(e);switch(n){case 0:case 1:return["notes","labels"].forEach(e=>{r[e]={},t(U.SET,e,{})}),r.hasOwnProperty("scale")&&(t(U.UNSET,"scale"),delete r.scale),r.schema=2,t(U.SET,"schema",2),eP(r,t);default:return e}},eN=(e,t)=>{if(!e.pages)return e;let n=e.schema||0,r=l(e);switch(n){case 0:case 1:case 2:case 3:case 4:return eN(et(r,t),t);case 5:if(Array.isArray(r.guidebook)){let e=em(r.guidebook);r.guidebook=e,t(U.SET,"guidebook",e)}return r.schema=6,t(U.SET,"schema",6),eN(r,t);case 6:return es(r.pages),t(U.SET,"pages",r.pages),r.schema=7,t(U.SET,"schema",7),eN(r,t);default:return e}},ex={IMAGE:"IMAGE",TEXT:"TEXT"},eM=(e,t)=>{if(!e.pages)return e;
1let n=e.schema||0,r=l(e);switch(n){case 0:return r.schema=5,t(U.SET,"schema",5),eM(et(r,t),t);case 5:case 6:let{hasChanges:i,newPages:a}=((e,t)=>{let n=!1;return Object.values(e).forEach(t=>{t.panels&&Object.entries(t.panels).forEach(r=>{var i;let[a,l]=r;if(l.type!==f.HP.RESEARCH)return;let s=null==(i=l.data)?void 0:i.researchType;if(s===ex.IMAGE){let r=(e=>{var t;let n=((null==(t=e.data)?void 0:t.image)||[]).map(e=>"string"==typeof e?{fileID:e,userID:null,caption:(0,p.bQ)()}:{fileID:e.fileID,userID:e.userID||null,caption:e.caption||(0,p.bQ)()});return x(N({},e),{type:f.HP.IMAGE,data:{cropped:!1,image:n}})})(l);e[t.id].panels[a]=r,n=!0}else s===ex.TEXT&&(e[t.id].panels[a]=(e=>{var t;let n=(null==(t=e.data)?void 0:t.value)||(0,p.bQ)(),r=(0,b.iO)(n);return x(N({},e),{type:f.HP.TEXT,data:{value:r}})})(l),n=!0)})}),{hasChanges:n,newPages:e}})(r.pages,0);return i&&t(U.SET,"pages",a),r.schema=n+1,t(U.SET,"schema",n+1),eM(r,t);default:return e}},eU={character:et,culture:et,item:et,location:et,magic:eN,philosophy:et,religion:et,species:et,relationship_web:eo,system:ec,language:eu,manuscript_section:ed,user:ew,story:eO,template:(e,t)=>
1{let n;if(!e||!e.data)return e;let r=e.schema||0;switch(e.type){case"article":return eR(e,t);case"spell":case"research":return e;case"timeline":return n=eb(N({schema:r},e.data),(e,n,r)=>t(e,"data.".concat(n),r)),Object.assign({},e,{data:n,schema:n.schema});case"system":return n=ec({schema:r,pages:e.data},(e,n,r)=>t(e,n.replace("pages","data"),r)),Object.assign({},e,{data:n.pages,schema:n.schema});default:return n=et({schema:r,pages:e.data},(e,n,r)=>t(e,n.replace("pages","data"),r)),Object.assign({},e,{data:n.pages,schema:n.schema})}},article:eR,map:eP,research:eM,timeline_module:eb,arcs_module:e_,manuscript_module:eL,characters_module:ep,cultures_module:ep,encyclopedia_module:ep,items_module:ep,languages_module:ep,locations_module:ep,magic_module:ep,maps_module:ep,philosophies_module:ep,relationships_module:ep,religions_module:ep,research_module:ep,species_module:ep,systems_module:ep},eB=(e,t,n,r)=>{if(!t||!n)return null;if(!eU[e])return t;{let i=eU[e](t,n);return i!==t&&r?null:i}},eF=(e=>(e[e.SAVED=0]="SAVED",e[e.SAVED_MANUAL=1]="SAVED_MANUAL",e[e.SAVING=2]="SAVING",e[e.UNSAVED=3]="UNSAVED",e[e.ERROR=4]="ERROR",e[e.CRITICAL_ERROR=5]="CRITICAL_ERROR",e[e.INACTIVE=6]="INACTIVE",e))(eF||{});function eW(e,t){let n=null,r=[];return function(){for(var i=arguments.length,a=Array(i),l=0;l<i;l++)a[l]=arguments[l];return clearTimeout(n),new Promise(i=>{r.push(i),n=setTimeout(()=>M(null,null,function*(){let t=yield e(...a);r.forEach(e=>e(t)),r=[]}),t)})}}var eV=["story","link"].concat(Object.values(u.Yr).map(e=>e.entityCollection),Object.values(u.Yr).map(e=>e.moduleCollection)),eX=Object.freeze({UPDATE_FIELDS:"UPDATE_FIELDS",UPLOAD_MODULE:"UPLOAD_MODULE",UPLOAD_ELEMENTS:"UPLOAD_ELEMENTS",UPDATE_VISIBILITY:"UPDATE_VISIBILITY",DELETE_PROJECT:"DELETE_PROJECT",PUBLISH:"PUBLISH",REVERT:"REVERT"}),ez=function(e,t,n,i){var a,l,s,o;let c=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},{pathname:d,locale:m}=(0,S.useUiContext)(),p=ee(G.EXPLORE,e,{},m),f=void 0!==c.managingProject&&null!==c.managingProject?c.managingProject:(null==(a=null==d?void 0:d.startsWith)?void 0:a.call(d,"/publish/"))||(null==(l=null==d?void 0:d.startsWith)?void 0:l.call(d,"/read/preview/")),h=null!=i?i:null==(s=null==window?void 0:window.globalStoryParams)?void 0:s.id,[g,y]=(0,r.useState)(null),[v,b]=(0,r.useState)(null),[E,T]=(0,r.useState)(!0),w=(0,r.useRef)(0),_=(0,r.useRef)(n),O=![_.current,null==g?void 0:g.slug,null==g?void 0:g.id].includes(n);_.current=n;let I=(0,r.useRef)(!1),k=(0,r.useRef)({}),A=(0,r.useCallback)(eW(()=>M(null,null,function*(){let e=N({},k.current);k.current={};try{let t=yield p.patch(J.EXPLORE.projects(n),{draft:f},e);return t.hasOwnProperty("updated")&&y(e=>N(N({},e),t.updated)),t}catch(e){throw console.error("Update failed",e),e}}),1e3),[f,n]),C=(0,r.useCallback)(eW((e,t)=>p.put(J.EXPLORE.module(n,e),{draft:f},t),2e3),[f,n]),j=()=>M(null,null,function*(){if(b(null),"story"===t){c.expand&&R(J.EXPLORE.projects(n),N({expand:!1},c.queryParams)).then(e=>{I.current||y(t=>t||e?N(N({},t),e):null)});let e=yield R(J.EXPLORE.projects(n),N({expand:!0},c.queryParams));return I.current=!0,y(t=>t||e?N(N({},t),e):null),e}if(Object.values(u.Yr).map(e=>e.entityCollection).includes(t)){let e=yield R(J.EXPLORE.project_items(h,n),N({expand:!0},c.queryParams)),r=null==e?void 0:e.body;return r&&y(x(N({},eB(t,r,()=>{},!1)),{lastViewed:e.lastViewed})),e}if(Object.values(u.Yr).map(e=>e.moduleCollection).includes(t)){let e=Object.keys(u.Yr).find(e=>u.Yr[e].moduleCollection===t),r=yield R(J.EXPLORE.module(n,e),N({expand:!0},c.queryParams));if(r)return y(r=eB(t,r,()=>{},!1)),r}return null}),D=()=>{clearTimeout(w.current),w.current=setTimeout(j,2e3)};(0,r.useEffect)(()=>{O&&y(null),T(!0),j()},[t,n,null==(o=null==e?void 0:e.user)?void 0:o.id]);let R=function(t){for(var r=arguments.length,i=Array(r>1?r-1:0),a=1;a<r;a++)i[a-1]=arguments[a];return M(null,[t,...i],function*(t){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!n||!e)return null;try{let e=yield p.get(t,N({draft:f},r));if(T(!1),e)return e}catch(e){b(e),T(!1)}return null})},L=()=>{};"story"===t&&(L=(e,t)=>M(null,null,function*(){let r;clearTimeout(w.current);let i=N({},g);switch(e){case eX.UPDATE_FIELDS:for(let[e,n]of Object.entries(t))y(t=>x(N({},t),{[e]:n})),k.current[e]=n;try{r=yield A()}catch(e){for(let e of Object.keys(t))k.current[e]=i[e];throw y(i),e}(t.chapters||t.extrasEpubs||t.epub)&&D();break;case eX.UPLOAD_MODULE:let{module:a,data:l}=t;y(e=>x(N({},e),{modules:x(N({},e.modules),{[a]:l})}));try{r=yield C(a,l)}catch(e){throw y(i),e}D();break;case eX.UPLOAD_ELEMENTS:let{elements:s}=t;y(e=>x(N({},e),{chapters:N(N({},e.chapters),["frontMatter","body","backMatter","extras"].reduce((t,n)=>(e.chapters[n]&&(t[n]=N({},e.chapters[n]),s.filter(e=>"manuscript-section"===e.type).forEach(r=>{e.chapters[n].hasOwnProperty(r.key)&&(t[n]=x(N({},t[n]),{[r.key]:r}))})),t),{})),elements:N(N({},e.elements),s.filter(e=>"manuscript-section"!==e.type).reduce((t,n)=>(t[n.key]=N(N({},e.elements[n.key]),n),t),{}))}));
1try{for(let e of s.reduce((e,t,n)=>(n%20==0&&e.push([]),e[e.length-1].push(t),e),[]))r=yield p.patch(J.EXPLORE.project_items(n,null),{draft:f},e)}catch(e){throw y(i),e}D();break;case eX.DELETE_PROJECT:r=yield p.delete(J.EXPLORE.projects(n),{draft:!0});break;case eX.REVERT:try{r=yield p.post(J.EXPLORE.projects_revert(n),{draft:f}),j()}catch(e){throw y(i),e}break;case eX.PUBLISH:r=yield p.post(J.EXPLORE.projects_publish(n),{draft:f});break;default:throw Error("Invalid operation "+e)}return r}));let P=Object.entries({getSummaryData:J.EXPLORE.analytics(n,"summary"),getRetentionData:J.EXPLORE.analytics(n,"retention"),getShelvesData:J.EXPLORE.analytics(n,"shelves"),getViewersData:J.EXPLORE.analytics(n,"viewers"),getRatingsData:J.EXPLORE.analytics(n,"ratings"),getReturningData:J.EXPLORE.analytics(n,"returning"),getLocationData:J.EXPLORE.analytics(n,"location"),getModuleData:J.EXPLORE.analytics(n,"modules"),getGenreData:J.EXPLORE.analytics(n,"genres"),getPopularElements:J.EXPLORE.analytics(n,"popular-elements"),getLatestRatings:J.EXPLORE.analytics(n,"latest-ratings"),getLatestComments:J.EXPLORE.analytics(n,"latest-comments"),getMonetizationData:J.EXPLORE.analytics(n,"monetization"),getSalesByPackageData:J.EXPLORE.analytics(n,"sales-by-package"),getSalesReaderInsights:J.EXPLORE.analytics(n,"sales-reader-insights"),getSalesByMonth:J.EXPLORE.analytics(n,"sales-by-month"),getConversionRateData:J.EXPLORE.analytics(n,"conversion-rate")}).reduce((e,t)=>{let[n,r]=t;return x(N({},e),{[n]:(e,t)=>p.get(r,x(N({},e),{readerType:t}))})},{});return{data:!O&&g,updateData:L,onPostReview:t=>p.post(J.EXPLORE.project_reviews,{},x(N({},t),{userId:e.user.id,projectId:g.id,device:(null==window?void 0:window.DEVICE)||"web"})),submitReviewLike:(t,n)=>p.post(J.EXPLORE.project_review_likes(t),{},{likeValue:n,userId:e.user.id,device:(null==window?void 0:window.DEVICE)||"web"}),onDeleteReview:e=>p.delete(J.EXPLORE.project_review(e)),markAsRead:()=>p.post(J.EXPLORE.project_mark_as_read(n),{},{device:(null==window?void 0:window.DEVICE)||"web"}),markAsUnread:()=>p.post(J.EXPLORE.project_mark_as_unread(n),{},{device:(null==window?void 0:window.DEVICE)||"web"}),analyticsFunctions:"story"===t?P:{},refresh:j,loading:E,error:v,status:0,manualSave:()=>{},refreshId:"refreshId"}},eY=["schema","lastUpdateClient","lastUpdates","lastViewed","lastEdits","lastPageVisited","wordcount","filteredPanels","savedViews","computedPermissions","cache","stories"],eH=["lastUpdateClient","expandedKeys","isExpanded","lastUpdates","schema","lastUpdatedImageKey","clearedLastUpdatesToFixBug"],eK=Object.entries(u.Yr).reduce((e,t)=>{let[n,r]=t;return"project"===n||(e[r.entityCollection||""]=eY,e[r.moduleCollection||""]=eH),e},{});eK.story=["lastEdits","schema","lastUpdatedImageKey","lastUpdateClient","metadata.recent.data"],eK.user=["profile.statistics","hasSeenFilters","lastViewed","lastUpdates","notifications","lastUpdateClient","lastUpdatedImageKey","imageKey","profile.lastUpdatedModules","profile.account.showedWelcome","profile.account.showedProjectWelcome","profile.modules","images.album.totalImageCount","schema"];var eq=Object.freeze({STREAM:0,POLL:1,NONE:2}),eQ={bufferDelay:2e3,arrayKeys:{},mockDocuments:null},e$=(e,t,n)=>n?new $(t,n):e&&t?e.mongodb.getCollection(t):null;function eG(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];window.DEVELOPMENT&&console.log("[useDocument]",...t)}var eJ=function(e,t,n){var a,l,s,u,d,m,p;arguments.length>3&&void 0!==arguments[3]&&arguments[3];let f=arguments.length>4&&void 0!==arguments[4]?arguments[4]:eq.STREAM,h=arguments.length>5&&void 0!==arguments[5]?arguments[5]:eQ,{pathname:g}=(0,S.useUiContext)()||{pathname:""},y=(null==e?void 0:e.mock)?null:e,v=(null==y?void 0:y.providerType)==="offline"?eq.NONE:f===eq.POLL?eq.STREAM:f,b=((null==(a=null==g?void 0:g.startsWith)?void 0:a.call(g,"/read"))||(null==(l=null==g?void 0:g.startsWith)?void 0:l.call(g,"/publish")))&&eV.includes(t),E=(0,r.useRef)(new i.Vr().toString()),w=b?E.current:n,_=b?null:y,O=ez(b?y:null,t,n),I=Math.max(2e3,null!=(s=h.bufferDelay)?s:eQ.bufferDelay),k=null!=(u=h.arrayKeys)?u:eQ.arrayKeys,A={type:"document",collection:t,i
1d:w},[C,j]=(0,r.useState)(null),[D,R]=(0,r.useState)(!0),[L,P]=(0,r.useState)(null),[N,x]=(0,r.useState)(0),B=(0,r.useRef)(null);B.current=C;let F=(0,r.useRef)(D);F.current=D;let W=(0,r.useRef)((0,c.A)()),V=(0,r.useRef)({}),X=(0,r.useRef)(new z(k)),Y=(0,r.useRef)(null),H=(0,r.useRef)(!1),K=(0,r.useRef)(performance.now()),q=(0,r.useRef)(void 0),Q=(0,r.useRef)([]),{readOnly:$}=((e,t,n,i)=>{var a;let l=(0,r.useContext)(S.KV),[s,o]=(0,r.useState)(S.Zz.VIEWER),c=[S.Zz.OWNER,S.Zz.EDITOR,S.Zz.COMMENTER,S.Zz.VIEWER];(0,r.useEffect)(()=>{var t;if(n&&n.userpermissions&&(null==(t=null==e?void 0:e.user)?void 0:t.id)){let t=n.userpermissions.find(t=>t.userID===e.user.id);if(t)o(t.permission);else{let t=r=>M(null,null,function*(){if(r<c.length){let i=n&&{_id:n._id,stories:n.stories,userpermissions:n.userpermissions};(yield e.callFunction("containsPermission",[i,c[r]]))?o(c[r]):yield t(r+1)}});t(0)}}},[!n,i,t,null==(a=null==e?void 0:e.user)?void 0:a.id]);let u=l?c.indexOf(l):0,d=c.indexOf(s),m=c[Math.max(d,u)],p=![S.Zz.OWNER,S.Zz.EDITOR].includes(m);return(0,r.useMemo)(()=>({permissionsValue:m,readOnly:p}),[m,p])})(_,w,C,!1),G=(0,r.useRef)($);G.current=$;let J=(0,r.useMemo)(()=>e$(_,t,h.mockDocuments),[null==(d=null==_?void 0:_.user)?void 0:d.id,t,h.mockDocuments]),Z=(0,r.useMemo)(()=>w?new i.Vr(w):null,[w]),ee=(0,r.useRef)(null),et=(0,r.useMemo)(()=>{var e;null==(e=ee.current)||e.cancel();let t=T(e=>{(null==_?void 0:_.realtime)&&_.realtime.publish(A,e)},1e3);return ee.current=t,t},[!!(null==_?void 0:_.realtime),A.collection,A.id]);(0,r.useEffect)(()=>()=>{var e;null==(e=ee.current)||e.cancel()},[]);let en=(0,r.useCallback)(function(e){var n,r;let i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!Z||F.current||!J){J||P({message:"Cannot send an update without a realm collection.",colName:t,id:e});return}let a=G.current;if(eG("sendUpdate was called.",H.current,!!X.current.buffer[e]),!H.current&&!X.current.buffer[e]&&i)return void x(1);if(!H.current&&X.current.buffer[e]){let l=X.current.copy();if(eG("Sending buffer"),H.current=!0,x(e=>0===e||a?0:2),_){let n=Object.keys(X.current.buffer[e]||{}),r=eK[t]||[];n.some(e=>!r.some(t=>e===t||e.startsWith(t+".")))&&X.current.queue(e,U.SET,"lastUpdates.".concat(_.user.id,".").concat(W.current),Date.now())}if((null==(n=B.current)?void 0:n.lastUpdates)&&Object.entries(B.current.lastUpdates).forEach(t=>{let[n,r]=t,i=Object.keys(r),a=i.reduce((e,t)=>r[t]>r[e]?t:e,i[0]);i.forEach(t=>{t!==a&&r[t]<Date.now()-18e6&&X.current.queue(e,U.UNSET,"lastUpdates.".concat(n,".").concat(t))})}),(null==(r=B.current)?void 0:r.entries)&&t.endsWith("_module")&&Object.keys(X.current.buffer[e]||{}).some(e=>e.includes("entries")))try{let t={},n=e=>{Object.values(e).forEach(e=>{"entry"===e.type?t[e.key]=!0:e.entries&&n(e.entries)})};n(B.current.entries),X.current.queue(e,U.SET,"elements",Object.keys(t))}catch(e){console.error(e)}eG("Buffer.current",X.current.mongo);let s=J.updateById(e,X.current).then(()=>{eG("Update succeeded"),H.current=!1,K.current=performance.now(),P(null),o(X.current.buffer,{})&&x(+!!i)}).catch(e=>{if(eG("Update failed",e),"token contains an invalid number of segments"===e.error){null==_||_.logOut();return}l.add(X.current),X.current=l,H.current=!1,performance.now()-K.current>2e4&&!a?x(5):x(4)});return X.current.clear(),s}},[Z,J,t,_,$]),er=(0,r.useCallback)(()=>M(null,null,function*(){Y.current&&(clearTimeout(Y.current),Y.current=null),yield en(w)}),[w,en]),ei=(0,r.useCallback)((e,n,r,i,a)=>{var l,s,o,c;if((null==(s=null==(l=B.current)?void 0:l._id)?void 0:s.toString())!==w||F.current)return void eG("Ignoring update - document not ready");e===U.SET&&delete V.current[n];let u=Date.now();for(let[e,t]of Object.entries(V.current))if(u-t>1e4)delete V.current[e];else if(n.length>e.length&&n.startsWith(e))return void eG("Blocked update to recently unset path");e===U.UNSET&&(V.current[n]=u);let d=[U.ARRAY_SET,U.ARRAY_PULL].includes(e)?{value:r,arrayFilters:a}:r;j(t=>{var r;return(null==(r=null==t?void 0:t._id)?void 0:r.toString())!==w?t:X.current.applyOne(t,e,n,d)}),(null==(o=null==_?void 0:_.user)?void 0:o.id)!=="5fd905f299b7e23151f77b0f"&&(X.current.queue(w,e,n,e===U.UNSET?"":r,a),n.includes("manuscript.value")&&"manuscript_section"===t&&(null==(c=null==_?void 0:_.user)?void 0:c.id)&&W.current&&X.current.queue(w,U.SET,"lastUpdates.".concat(_.user.id,".").concat(W.current),Date.now()),et(X.current.buffer[w]),5===N||i||$||x(3),eG("Update queued",[e,n,r,i,$]),I<=0?en(w):(Y.current&&clearTimeout(Y.current),Y.current=setTimeout(()=>{en(w)},I)))},[w,_,I,$,et,en]),ea=(0,r.useCallback)(()=>M(null,null,function*(){var e,n;if(w&&J){(null==(n=null==(e=B.current)?void 0:e._id)?void 0:n.toString())!==w&&R(!0),eG("Loading initial data for ".concat(w," in ").concat(t));try{let e=yield J.findById(Z,h);if(!e||e.isDeleted)throw Error("Document ".concat(w," in ").concat(t," has been deleted."));P(null),eG("Setting data for ".concat(w," in ").concat(t),e),j(t=>e._id.toString()!==w?t:e),R(!1)}catch(e){P({message:"Error loading document",colName:t,id:w,error:e}),R(!1)}}}),[w,J,t,Z,h]),el=(0,r.useCallback)(()=>M(null,null,function*(){let e=null==_?void 0:_.realtime;if(v===eq.STREAM&&J&&e&&w)q.current=yield e.subscribe(A,e=>{var t;let n=null!=(t=e.buffer)?t:e;j(e=>{var t;if((null==(t=null==e?void 0:e._id)?void 0:t.toString())!==w)return e;let r=new z(k);return r.buffer[w]=n,r.applyAll(w,e)})}),Q.current=[e.onConnect(()=>{eG("Connection restored"),x(0)}),e.onDisconnect(()=>{eG("Connection lost"),x(6)})]}
1),[v,J,_,w,A.collection,A.id,k]),es=(0,r.useCallback)(()=>{let e=null==_?void 0:_.realtime;e&&(q.current&&(e.unsubscribe(q.current),q.current=void 0),Q.current.forEach(e=>e()),Q.current=[])},[_,A.collection,A.id]);if((0,r.useEffect)(()=>{var e;if((null==(e=null==_?void 0:_.user)?void 0:e.id)&&t&&w)return j(null),R(!0),x(0),X.current.clear(),eG("Initializing document: "+t+"/"+w),ea(),(null==_?void 0:_.realtime)&&_.isAuthenticated&&el(),()=>{Y.current&&(clearTimeout(Y.current),Y.current=null),X.current.buffer[w]&&en(w),es()}},[null==(m=null==_?void 0:_.user)?void 0:m.id,null==_?void 0:_.isAuthenticated,t,w]),b)return O;let eo=(null==(p=null==C?void 0:C._id)?void 0:p.toString())===w;return{data:!_||D||C&&!eo?null:eB(t,C,ei,D),updateData:ei,loading:D||!eo,error:L,status:N,refresh:ea,flushQueuedUpdates:er}},eZ=["link"],e0=function(e,t){var n,l,s;let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},c=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,u=(arguments.length>4&&void 0!==arguments[4]&&arguments[4],arguments.length>5&&void 0!==arguments[5]?arguments[5]:0),d=arguments.length>6&&void 0!==arguments[6]?arguments[6]:{},m=arguments.length>7?arguments[7]:void 0,{pathname:p}=(0,S.useUiContext)(),f=((null==(n=null==p?void 0:p.startsWith)?void 0:n.call(p,"/read"))||(null==(l=null==p?void 0:p.startsWith)?void 0:l.call(p,"/publish")))&&eV.includes(t),h=((e,t,n)=>{var i,a;let[l,s]=(0,r.useState)([]),[o,c]=(0,r.useState)(!0),[u,d]=(0,r.useState)(null),{storyId:m}=(0,r.useContext)(S.xR)||{},{pathname:p,locale:f}=(0,S.useUiContext)(),h=ee(G.EXPLORE,e,{},f),g=(null==(i=null==p?void 0:p.startsWith)?void 0:i.call(p,"/publish/"))||(null==(a=null==p?void 0:p.startsWith)?void 0:a.call(p,"/read/preview/"));(0,r.useEffect)(()=>{s([]),c(!0),d(null),"link"===t&&e&&y(J.EXPLORE.links(m),{draft:g}).then(e=>{e&&s(Object.values(e).filter(e=>{var t;if(null==n?void 0:n["elements.id"]){if("string"==typeof n["elements.id"]){if(!e.elements.some(e=>e.id===n["elements.id"]))return!1}else if(n["elements.id"].$in&&!e.elements.some(e=>n["elements.id"].$in.includes(e.id)))return!1}return null==n||!n["data.webId"]||(null==(t=e.data)?void 0:t.webId)===n["data.webId"]}))})},[t,JSON.stringify(n),m,!e]);let y=(e,t)=>M(null,null,function*(){if(!m)return null;try{let n=yield h.get(e,t);if(c(!1),n)return n}catch(e){d(e),c(!1)}return null});return{documents:l,loading:o,error:u,getDocument:()=>{},addDocuments:()=>{},deleteDocuments:()=>{},updateDocument:()=>{},refresh:()=>{}}})(f?e:null,t,o);f&&(e=null);let[g,y]=(0,r.useState)(null),[v,b]=(0,r.useState)(!0),[E,T]=(0,r.useState)(null);(null==e?void 0:e.mock)&&(e=null);let w=Math.max(u,1e3),_=(0,r.useRef)(new z(d)),O=(0,r.useRef)(0),I=(0,r.useRef)(0),k=(0,r.useRef)(void 0),A=(0,r.useRef)(e$(e,t,m)),C=(0,r.useMemo)(()=>({type:"collection",collection:t,query:o}),[t,JSON.stringify(o)]),j=()=>{O.current&&(D(),clearTimeout(O.current))},D=()=>{if(!A.current)return void T(Error("Cannot send an update without a realm collection."));if(Object.keys(_.current.buffer).length){O.current=0,I.current=0,Object.keys(_.current.buffer).forEach(e=>{i.Vr.isValid(e)?A.current.updateById(new i.Vr(e),_.current):T(Error("Invalid document ID: ".concat(e)))});let t=null==e?void 0:e.realtime;t&&t.publish(C,{type:"update",buffer:_.current.buffer}),_.current.clear()}},R=(t,n,r,i)=>{var l;if(!A.current)throw Error("Cannot update a document without a collection.");y(e=>{let l=a(e||[]),s=l.findIndex(e=>e._id.toString()===t.toString());if(s>=0){let e=_.current.applyOne(l[s],n,r,i);l[s]=K(e,c)}return l}),(null==(l=null==e?void 0:e.user)?void 0:l.id)!=="5fd905f299b7e23151f77b0f"&&(_.current.queue(t,n,r,i),w<=0?D():O.current||(O.current=setTimeout(D,w)))},L=()=>
1{if(!A.current)return;b(!0);let e={};c&&(e.projection=Object.assign({},c),Object.values(c).forEach(t=>{t&&(e.projection.isDeleted=1,e.projection.schema=1)}));let t=performance.now();return I.current=t,A.current.findByQuery(o,e).then(e=>{if(I.current===t){Array.isArray(e)&&(e=e.filter(e=>!e.isDeleted));for(let t=0;t<e.length;t++)e[t]=_.current.applyAll(e[t]._id.toString(),e[t]);y(e),b(!1)}}).catch(e=>{T(e),b(!1)})};(0,r.useEffect)(()=>{A.current=e$(e,t,m),y([]),((null==e?void 0:e.isAuthenticated)||eZ.includes(t))&&L();let n=null==e?void 0:e.realtime;return n&&t&&o&&e.isAuthenticated&&n.subscribe(C,e=>{let t=e.type;if("insert"===t){let{documents:t}=e;y(e=>[...e||[],...(t||[]).map(e=>K(e,c))])}else if("delete"===t){let{ids:t}=e;y(e=>(e||[]).filter(e=>!t.includes(e._id.toString())))}else if("update"===t){let{buffer:t}=e;y(e=>(e||[]).map(e=>{let n=e._id.toString();if(t[n]){let r=new z(d);return r.buffer[n]=t[n],r.applyAll(n,e)}return e}))}}).then(e=>{k.current=e}),()=>{j(),n&&k.current&&(n.unsubscribe(k.current),k.current=void 0)}},[t,null==e?void 0:e.isAuthenticated,null==(s=null==e?void 0:e.user)?void 0:s.id,!(null==e?void 0:e.realtime),JSON.stringify(o),JSON.stringify(c)]),(0,r.useEffect)(()=>()=>{j()},[]);let P=(0,r.useMemo)(()=>{var e;return null==(e=null==g?void 0:g.map)?void 0:e.call(g,e=>eB(t,e,(t,n,r)=>R(e._id.toString(),t,n,r)))},[g]);return f?h:{documents:P,addDocuments:t=>{if(!A.current)throw Error("Cannot add documents without a collection.");t.forEach(e=>{e._id?"string"==typeof e._id&&(e._id=new i.Vr(e._id)):e._id=new i.Vr}),y(e=>{let n=a(e||[]);return t.forEach(e=>n.push(K(e,c))),n});let n=null==e?void 0:e.realtime;return n&&n.publish(C,{type:"insert",documents:t}),A.current.insertMany(t).catch(T)},deleteDocuments:t=>{if(!A.current)throw Error("Cannot delete documents without a collection.");y(e=>(e||[]).filter(e=>!t.includes(e._id.toString())));let n=t.map(e=>new i.Vr(e));A.current.deleteMany(n).then(L).catch(T);let r=null==e?void 0:e.realtime;r&&r.publish(C,{type:"delete",ids:t})},getDocument:e=>{if(!A.current)throw Error("Cannot get a document without a collection.");return A.current.findById(new i.Vr(e)).then(n=>eB(t,n,(t,n,r)=>R(e,t,n,r)))},updateDocument:R,refresh:L,loading:v,error:E}},e1=class{log(e,t){this.logFunction&&this.logFunction("".concat(new Date().getTime(),",").concat(e,",").concat(this.colName,",").concat(t))}updateById(e,t){return M(this,null,function*(){let n;this.log("updateById",e),t.buffer?n=t.copy():(n=new z({userpermissions:"userID",entries:"key"}),Object.keys(t).forEach(r=>{Object.entries(t[r]).forEach(t=>{let[i,a]=t;n.queue(e,r,i,a)})}));let r=n.mongoArrayFilters(e.toString()),i=r?{arrayFilters:r}:void 0;try{return yield this.backend.put(J.BACKEND.DOCUMENT(this.colName,e.toString()),i?{options:JSON.stringify(i)}:{},n.mongo[e.toString()])}catch(e){if(404===e.status)return{matchedCount:0};throw e}})}findById(e,t){return M(this,null,function*(){this.log("findById",e);try{let n=yield this.backend.get(J.BACKEND.DOCUMENT(this.colName,e.toString()),t?{options:JSON.stringify(t)}:{});if(null==n?void 0:n._id)return x(N({},n),{_id:new i.Vr(n._id)});return n}catch(e){if(404===e.status)return null;throw e}})}findByQuery(e,t){return M(this,null,function*(){return this.log("findByQuery","none"),(yield this.backend.post(J.BACKEND.FIND(this.colName),{},N({query:e},t))).map(e=>N(N({},e),e._id?{_id:new i.Vr(e._id)}:{}))})}watch(e){throw this.log("watch",e.ids.join(" | ")),Error("Not implemented")}insertMany(e){return this.log("insertMany",e.length),this.backend.post(J.BACKEND.COLLECTION(this.colName),{},e)}insertOne(e){return this.log("insertOne","none"),this.backend.post(J.BACKEND.COLLECTION(this.colName),{},e)}deleteMany(e){return this.log("deleteMany",e.length),this.backend.delete(J.BACKEND.COLLECTION(this.colName),{ids:e.join(",")})}deleteByQuery(e){return this.log("deleteByQuery",e),this.backend.delete(J.BACKEND.COLLECTION(this.colName),{query:JSON.stringify(e)})}constructor(e,t,n){this.colName=t,this.backend=ee(G.BACKEND,e),this.logFunction=n,this.realm=e}},e2=class{getCollection(e){return new e1(this.realm,e,this.logFunction)}constructor(e,t=()=>{}){this.realm=e,this.logFunction=t}};((e,t)=>
1{for(var n in t)A(e,n,{get:t[n],enumerable:!0})})({},{containsPermission:()=>e4,countInModule:()=>e5,countInModuleByUser:()=>e9,countWordsInElement:()=>e7,deleteStory:()=>e8,formatPublicUserData:()=>tb,getAllFreeLimits:()=>ti,getAllWords:()=>te,getElement:()=>tt,getElements:()=>tn,getElementsInCollection:()=>tE,getElementsInCollectionSudo:()=>tS,getElementsSudo:()=>tr,getFreeLimit:()=>ta,getLibrary:()=>tl,getMetadata:()=>ts,getName:()=>to,getNameByType:()=>tc,getStoryElements:()=>tu,getSymbols:()=>td,getTemplateFromCode:()=>tw,getThemeFromCode:()=>t_,getUserMetadata:()=>tm,insertLocation:()=>tp,manuscriptCommentNotification:()=>tT,moveElements:()=>tf,newModule:()=>th,newStory:()=>tg,removeElementLinks:()=>ty,updateManuscriptTextStyles:()=>tv});var e3=(e,t)=>M(null,[e,t],function*(e,t){let[n,r,i]=e,a=t.user.id;if(!n)return!1;if(["5fde966e365afaabaa5222a0","5f73555b3cacd6216edb09a8"].includes(a))return!0;if("5fd905f299b7e23151f77b0f"===a&&"viewer"!==r&&"public"!==r)return!1;let l=e=>{for(let t=0;t<e.length;t++){if("5fd905f299b7e23151f77b0f"===e[t].userID&&"viewer"===e[t].permission&&"viewer"===r)return!0;if(e[t].userID===a&&(e[t].permission===r||"owner"===e[t].permission))return!0;if(("public"===r||"viewer"===r)&&("public"===e[t].userID||"public"===e[t].permission))return!0}return!1},s=n.userpermissions;
1if(!s)return!1;if(l(s))return!0;let o=yield M(null,null,function*(){let{stories:e}=n;if(!e)return!1;let i=s.find(e=>"owner"===e.permission),a=H(e.map(e=>e.id));if(0===a.length)return!1;let o=t.mongodb.getCollection("story"),c=new Map((yield o.findByQuery({_id:{$in:a}})).map(e=>[e._id.toString(),e]));for(let t=0;t<e.length;t++)try{let n=c.get(e[t].id.toString());if(!n)continue;let a=n.userpermissions.find(e=>"owner"===e.permission).userID,s=i.userID;if(n&&l(n.userpermissions)&&(a===s||"viewer"===r))return!0}catch(e){continue}return!1});if(o)return o;let c=M(null,null,function*(){if("location"!==i||"viewer"!==r)return!1;let e=n._id?n._id.toString():"",a=yield t.mongodb.getCollection("link").findByQuery({linkType:"MAPPED_LOCATION","elements.id":e}),l=[];for(let t=0;t<a.length;t++){let n=a[t],r=n.elements[0].id===e?n.elements[1]:n.elements[0];"map"===r.type&&l.push(r)}let s=H(l.map(e=>e.id));if(0===s.length)return!1;let o=new Map((yield t.mongodb.getCollection("map").findByQuery({_id:{$in:s}})).map(e=>[e._id.toString(),e]));for(let e=0;e<l.length;e++){let n=o.get(l[e].id.toString());if(n&&(yield e3([n,r],t)))return!0}return!1});return(yield M(null,null,function*(){var e;if("link"!==i)return!1;let{elements:a}=n,l=new Map;for(let e=0;e<a.length;e++){let t=a[e];l.has(t.type)||l.set(t.type,[]),l.get(t.type).push(t)}let s=new Map;for(let[n,r]of l)try{let i=H(r.map(e=>e.id));if(0===i.length)continue;let a=yield t.mongodb.getCollection(n).findByQuery({_id:{$in:i}}),l=new Map(a.map(e=>[e._id.toString(),e]));for(let t=0;t<r.length;t++){let n=r[t];s.set("".concat(n.type,":").concat(n.id),null!=(e=l.get(n.id.toString()))?e:null)}}catch(e){}for(let e=0;e<a.length;e++){let n=a[e],i=s.get("".concat(n.type,":").concat(n.id));try{if(i&&(yield e3([i,r,"location"===n.type?"location":null],t)))return!0}catch(e){}}return!1}))?(c.catch(()=>{}),!0):yield c}),e4=e3,e5=(e,t)=>M(null,[e,t],function*(e,t){let[n,r,i]=e,a=yield t.callFunction("getMetadata"),l="words",s="entities",o=a[r]&&a[r].moduleCollection,c=a[r]&&a[r].entityType;if(!o)throw Error("Invalid module "+r);switch(r){case"characters":case"locations":case"magic":case"items":case"encyclopedia":case"languages":case"religions":case"philosophies":case"cultures":case"species":case"systems":case"relationships":case"manuscript":case"research":return yield M(null,null,function*(){let e=yield t.mongodb.getCollection(o).findById(n);if(!e)throw Error("No module found with id "+n);let r=e=>M(null,null,function*(){Array.isArray(e)||(e=Object.values(e).sort((e,t)=>e.index-t.index));let n=0;for(let a=0;a<e.length;a++)"entry"===e[a].type?i===l?n+=yield t.callFunction("countWordsInElement",[e[a].key,c],t):i===s&&n++:"directory"===e[a].type&&(n+=yield r(e[a].entries));return n});return yield r(e.entries)});case"arcs":return yield M(null,null,function*(){if(i!==l)return 0;let e=yield t.mongodb.getCollection(o).findById(n);if(!e)throw Error("No module found with id "+n);let r=0,{arcs:a}=e;for(let e in a)if(a.hasOwnProperty(e)){let{events:n}=a[e];for(let e in n)if(n.hasOwnProperty(e)){let i={p1:{name:"",panels:n[e].changes.panels}};for(let t in n[e].notes.pages)n[e].notes.pages[t]&&(i[t]=n[e].notes.pages[t]);r+=yield t.callFunction("countWordsInElement",[{name:"",pages:i},"character"],t)}}return r});case"timeline":return yield M(null,null,function*(){let e=yield t.mongodb.getCollection(o).findById(n);if(!e)throw Error("No module found with id "+n);let r=0,a=e=>M(null,null,function*(){i===l?r+=yield t.callFunction("countWordsInElement",[e,"event"],t):i===s&&r++});if(e.pages)for(let t of Object.values(e.pages))for(let e of Object.values(t.events))yield a(e);else{let{events:t}=e;for(let e in t)t.hasOwnProperty(e)&&(yield a(t[e]))}return r});default:return yield M(null,null,function*(){return 0})}}),e6=(e,t)=>M(null,[e,t],function*(e,t){let[n,r]=e,i=e=>e?0===e.length?0:e.split(/\s+/g).length:0,a=e=>{if(!(null==e?void 0:e.length))return 0;try{return(0,w.sQ)(e).wordCount}catch(e){return console.error(e),0}},l=e=>e?"string"==typeof e?i(e):Array.isArray(e)?a(e):0:0,s=e=>{if(!(null==e?void 0:e.length))return 0;let t=0;for(let n=0;n<e.length;n++){let r=e[n];if(null==r?void 0:r.length)for(let e=0;e<r.length;e++){let n=r[e];"string"==typeof n?t+=i(n):(null==n?void 0:n.value)!==void 0?t+=l(n.value):t+=a(n)}}return t},o=e=>{let t=0;for(let n in e.pages)if(e.pages.hasOwnProperty(n)){for(let r in t+=i(e.pages[n].name),e.pages[n].panels)if(e.pages[n].panels.hasOwnProperty(r)){let l=e.pages[n].panels[r];if(t+=i(l.title),"TEXT"===l.type)t+=a(l.data.value);else if("LIST"===l.type)for(let e of Object.values(l.data.items))if(t+=i(e.header),e.isSection)for(let n of(t+=i(e.header),Object.values(e.items||{})))t+=i(n.header),t+=a(n.value);else t+=a(e.value);else if("TABLE"===l.type)t+=s(l.data.cells);else if("STATS"===l.type)for(let e of Object.values(l.data.stats))if(e.isSection)for(let n of(t+=i(e.header),Object.values(e.stats||{})))t+=i(n.name),t+=i(n.unit);else t+=i(e.name),t+=i(e.unit);else"RESEARCH"===l.type&&"TEXT"===l.data.researchType&&(t+=a(l.data.value))}}return t},c=e=>{var t,n,r,o,c,u,d,m;if(!(null==e?void 0:e.type))return 0;switch(e.type){case"header":case"subheader":return i(e.value);case"textField":case"paragraph":return a(e.value);case"quote":return a(null==(t=e.value)?void 0:t.quote)+i(null==(n=e.value)?void 0:n.attribution);case"table":return s((null==(r=e.value)?void 0:r.cells)||e.value);case"stats":var p=(null==(o=e.value)?void 0:o.stats)||e.value;if(!p)return 0;let f=0;for(let e of Object.values(p))if(e.isSection)for(let t of(f+=i(e.header),Object.values(e.stats||{})))f+=i(t.name),f+=i(t.unit),f+=a(t.description);else f+=i(e.name),f+=i(e.unit),f+=a(e.description);return f;case"gallery":{let t=(null==(c=e.value)?void 0:c.slideData)||e.slideData||{},n=0;for(let e of Object.values(t))n+=l(null==e?void 0:e.caption);return n}case"media":return l(null==(u=e.value)?void 0:u.caption);case"featureLinks":{let t=(null==(d=e.value)?void 0:d.productData)||{},n=0;for(let e of Object.values(t))n+=i(e.title),n+=a(e.description);return n}case"attributes":var h=e.value;if(!h)return 0;let g=0;for(let e of Object.values(h))if(g+=i(e.label),"TEXT"===e.type)g+=l(e.value);else if("MULTITEXT"===e.type)for(let t of e.value||[])g+=i(t);else if("TAGS"===e.type)for(let t of e.value||[])"string"==typeof t?g+=i(t):g+=i((null==t?void 0:t.alias)||(null==t?void 0:t.name)||(null==t?void 0:t.label)||(null==t?void 0:t.value));return g;case"element":{let t=(null==(m=e.settings)?void 0:m.descriptionByElement)||{},n=0;for(let e of Object.values(t))n+=a(null==e?void 0:e.description);return n}default:return 0}},u=e=>{if(!e)return 0;let t=0;for(let n in e)e.hasOwnProperty(n)&&(t+=c(e[n]));return t};if("string"==typeof n){let e,i=yield t.callFunction("getMetadata");for(let t in i)i.hasOwnProperty(t)&&i[t].entityType===r?e=i[t].entityCollection:i.hasOwnProperty(t)&&i[t].sub
1EntityType===r&&(e=i[t].subEntityCollection);if(!e)throw Error("Type "+r+" cannot be used to fetch by ID.");let a=yield t.mongodb.getCollection(e).findById(n);return a?yield e6([a,r],t):0}switch(r){case"character":case"location":case"item":case"event":case"religion":case"philosophy":case"culture":case"species":case"research":return yield o(n);case"language":return(yield o(n))+(yield(e=>{let{table:t}=e.data.dictionary,n=0;for(let e in t)t.hasOwnProperty(e)&&n++;return n})(n));case"article":return yield(e=>{let t=null==e?void 0:e.data;return t?t.mainArticle||t.summaryBox?u(t.mainArticle)+u(t.summaryBox):u(t):0})(n);case"magic":return(yield M(null,null,function*(){let{guidebook:e}=n,r=0;for(let n=0;n<e.length;n++)r+=i(e[n].name),r+=yield e6([e[n].key,"spell"],t);return r}))+(yield o(n));case"spell":return yield a(n.data);case"system":return yield(e=>{let t={};for(let n in e.pages)e.pages.hasOwnProperty(n)&&"FLOWCHART"!==e.pages[n].type&&(t[n]=e.pages[n]);return o(x(N({},e),{pages:t}))})(n);case"relationship-web":return 0;case"manuscript-section":var d,m,p,f,h;return yield n.manuscript?a(n.manuscript.value):(null==(h=null==(f=null==(p=null==(m=null==(d=n.pages)?void 0:d.homePage)?void 0:m.panels)?void 0:p.MANUSCRIPT)?void 0:f.data)?void 0:h.value)?a(n.pages.homePage.panels.MANUSCRIPT.data.value):0;default:throw Error("Invalid type "+r)}}),e7=e6,e9=(e,t)=>M(null,[e,t],function*(e,t){let[n,r,a]=e;if(!n||!i.Vr.isValid(n))return 0;let l=yield t.callFunction("getMetadata"),s="words",o="entities",c=l[r]&&l[r].moduleCollection,u=l[r]&&l[r].entityType;if(!c)throw Error("Invalid module "+r);switch(r){case"characters":case"locations":case"magic":case"items":case"encyclopedia":case"languages":case"religions":case"philosophies":case"cultures":case"species":case"systems":case"relationships":case"manuscript":case"research":return yield M(null,null,function*(){let e=yield t.mongodb.getCollection(c).findById(n);if(!e)throw Error("No module found with id "+n);let r=e=>M(null,null,function*(){Array.isArray(e)||(e=Object.values(e).sort((e,t)=>e.index-t.index));let n=0,i={};for(let c=0;c<e.length;c++)if("entry"===e[c].type){if(a===s)n+=yield t.callFunction("countWordsInElement",[e[c].key,u],t);else if(a===o){let n=yield function(e,n){return M(this,null,function*(){try{let r=Object.values(l).find(e=>e.entityType===n).entityCollection;return(yield t.mongodb.getCollection(r).findById(e)).userpermissions.find(e=>"owner"===e.permission).userID}catch(e){return"Unknown"}})}(e[c].key,u);n&&(i[n]||(i[n]=0),i[n]++)}}else if("directory"===e[c].type){let t=yield r(e[c].entries);a===s?n+=t:Object.keys(t).forEach(e=>{i[e]||(i[e]=0),i[e]+=t[e]})}return a===s?n:i});return yield r(e.entries)});case"arcs":return yield M(null,null,function*(){if(a!==s)return{};let e=yield t.mongodb.getCollection(c).findById(n);if(!e)throw Error("No module found with id "+n);let r=0,{arcs:i}=e;for(let e in i)if(i.hasOwnProperty(e)){let{events:n}=i[e];for(let e in n)if(n.hasOwnProperty(e)){let i={p1:{name:"",panels:n[e].changes.panels}};for(let t in n[e].notes.pages)n[e].notes.pages[t]&&(i[t]=n[e].notes.pages[t]);r+=yield t.callFunction("countWordsInElement",[{name:"",pages:i},"character"],t)}}return r});case"timeline":return yield M(null,null,function*(){let e=yield t.mongodb.getCollection(c).findById(n);if(!e)throw Error("No module found with id "+n);let r=0,i={},l=e=>M(null,null,function*(){if(a===s)r+=yield t.callFunction("countWordsInElement",[e,"event"],t);else if(a===o){let t=e.ownerId||"Unknown";i[t]||(i[t]=0),i[t]++}});if(e.pages)for(let t of Object.values(e.pages))for(let e of Object.values(t.events))yield l(e);else{let{events:t}=e;for(let e in t)t.hasOwnProperty(e)&&(yield l(t[e]))}return a===s?r:i});default:return yield M(null,null,function*(){return 0})}}),e8=(e,t)=>M(null,[e,t],function*(e,t){let[n]=e,r=t.mongodb.getCollection("story"),i=yield t.callFunction("getMetadata"),a=(e,n)=>t.mongodb.getCollection(e).deleteMany([n]),l=yield r.findById(n);if(!l)throw Error("No such story.");let s=[];for(let e in i)i.hasOwnProperty(e)&&s.push({id:e,collection:i[e].moduleCollection});for(let e=0;e<s.length;e++){let t=s[e];if(l.hasOwnProperty(t.id))try{yield a(t.collection,l[t.id])}catch(e){console.log("failed to delete module",t.id)}}yield r.deleteMany([n])}),te=(e,t)=>
1M(null,[e,t],function*(e,t){let[]=e,n=yield t.mongodb.getCollection("language").findByQuery({"userpermissions.userID":t.user.id}),r=[];for(let e=0;e<n.length;e++){let t=n[e],i=t.data.dictionary.table;for(let e in i)i.hasOwnProperty(e)&&r.push({_id:e,symbols:i[e].word.map(e=>t.data.phonetics.table[e]),definition:function e(t){if(!t)return"";let n="";for(let r of t)r.text?n+=r.text:r.children&&(n+=e(r.children));return n}(i[e].definition),languageId:t._id.toString(),languageName:t.name})}return r}),tt=(e,t)=>M(null,[e,t],function*(e,t){let[n,r]=e;return yield t.mongodb.getCollection(r).findById(n)}),tn=(e,t)=>M(null,null,function*(){return t.callFunction("getElementsSudo",e,t)}),tr=(e,t)=>M(null,null,function*(){var n,r;let a=e[0],l=t.mongodb.getCollection("user_elements"),s=yield t.mongodb.getCollection("story").findByQuery({userpermissions:{$elemMatch:{userID:t.user.id}}},{projection:x(N({name:1,_id:1,userpermissions:1,parent:1,inheritance:1,theme:1},Object.keys(_.Yrg).reduce((e,t)=>x(N({},e),{[t]:1}),{})),{lastUpdates:1})});if(s=s.filter(e=>!!e),(null==t?void 0:t.providerType)!=="offline"){let e;e="number"==typeof a?Date.now()-a:Date.now()-864e5;let o=yield l.findByQuery({_id:new i.Vr(t.user.id),timestamp:{$gt:e}});if(null==o?void 0:o[0]){let e=new Map((yield t.mongodb.getCollection("manuscript_section").findByQuery({"userpermissions.userID":t.user.id,isDeleted:{$ne:!0}},{projection:{_id:1,wordcount:1}})).map(e=>[e._id.toString(),e])),i=N({},o[0].projects||{});for(let e of s||[]){let t=e._id.toString();i[t]=x(N({},i[t]||e),{_id:t,parent:(null==(r=null==(n=null==e?void 0:e.parent)?void 0:n.toString)?void 0:r.call(n))||null,inheritance:e.inheritance})}return x(N({},o[0]),{projects:i,elements:Object.fromEntries(Object.entries(o[0].elements).map(t=>{let[n,r]=t;if("manuscript-section"===r.type){let t=e.get(n);if(t)return[n,x(N({},r),{wordcount:t.wordcount})]}return[n,r]}))})}}let o={};for(let e of s)if(e.parent&&e.inheritance&&e.inheritance.length)for(let t of e.inheritance)o[t]||(o[t]=[]),o[t].push(e.parent);let c=s.reduce((e,t)=>(e[t._id.toString()]=Object.assign({},t,N({_id:t._id.toString()},null!=t.parent?{parent:t.parent.toString()}:{})),e),{});for(let e in c)c.hasOwnProperty(e)&&c[e].parent&&!c[c[e].parent]&&delete c[e];let u=(yield t.callFunction("getLibrary",[null,s.map(e=>e._id.toString()),t.user.id,o],t)).map(e=>(e.hasOwnProperty("permission")&&delete e.permission,e.stories=(e.stories||[]).map(e=>Object.assign({},e,{name:c[e.id]?c[e.id].name:"Unknown Project"})),e)).reduce((e,t)=>(e[t._id]=t,e),{}),d=s.filter(e=>e.timeline&&i.Vr.isValid(e.timeline));if(d.length>0){let e=H(d.map(e=>e.timeline));if(e.length>0){let n=new Map((yield t.mongodb.getCollection("timeline_module").findByQuery({_id:{$in:e}})).map(e=>[e._id.toString(),e]));for(let e of d){let t=n.get(e.timeline.toString());if(!t)continue;let r=t=>{u[t.id]={_id:t.id,name:t.name,type:"event",module:"timeline",summary:t.summary,lastViewed:t.lastViewed,stories:[{id:e._id.toString(),userID:e.userpermissions.find(e=>"owner"===e.permission).userID,name:e.name}]}};t.pages?Object.values(t.pages||{}).forEach(e=>{Object.values(e.events||{}).forEach(r)}):Object.values(t.events||{}).forEach(r)}}}try{yield l.insertOne({_id:new i.Vr(t.user.id),userpermissions:[{userID:t.user.id,permission:"owner"}],elements:u,projects:c,timestamp:Date.now()})}catch(n){let e=new F({});e.queue(t.user.id,U.SET,"elements",u),e.queue(t.user.id,U.SET,"projects",c),e.queue(t.user.id,U.SET,"timestamp",Date.now()),yield l.updateById(t.user.id,e)}return{elements:u,projects:c}}),ti=(e,t)=>M(null,[e,t],function*(e,t){let[n]=e,r=yield t.callFunction("getMetadata");n=n||t.user.id;let i=yield t.mongodb.getCollection("user").findById(n),a=i&&i.profile&&i.profile.modules?i.profile.modules:[],l={};return yield Promise.all(Object.keys(r).map(e=>M(null,null,function*(){let i=a.find(t=>t.id===e);if(i&&"trial"!==i.status){l[e]=0;return}let s=r[e];if(s.entityCollection){let r=yield t.mongodb.getCollection(s.entityCollection).findByQuery({userpermissions:{$elemMatch:{userID:n,permission:"owner"}}},{projection:{_id:1,wordcount:1}});"manuscript"===e?l[e]=r.reduce((e,t)=>
1{var n;return e+((null==(n=t.wordcount)?void 0:n.wordCount)||0)},0):l[e]=r.length}else l[e]=0}))),l}),ta=(e,t)=>M(null,[e,t],function*(e,t){let[n,r]=e;if("project"===n)return 0;let i=(yield t.callFunction("getMetadata"))[n];if(!i)throw Error("Invalid module ID.");r=r||t.user.id;let a=yield t.mongodb.getCollection("user").findById(r);if(a&&a.profile&&a.profile.modules){let e=a.profile.modules.find(e=>e.id===n);if(e&&"trial"!==e.status)return 0}let l=i.entityCollection?yield t.mongodb.getCollection(i.entityCollection).findByQuery({userpermissions:{$elemMatch:{userID:r,permission:"owner"}}},{projection:{_id:1,name:1,wordcount:1}}):[];return"manuscript"===n?l.reduce((e,t)=>{var n;return e+((null==(n=t.wordcount)?void 0:n.wordCount)||0)},0):l.length}),tl=(e,t)=>M(null,[e,t],function*(e,t){let[n,r,i,a]=e,l={name:1,userpermissions:1,stories:1,summary:1,metadata:1,lastUpdates:1,lastEdits:1,lastViewed:1,guidebook:1,"data.dictionary":1,"data.phonetics":1,wordcount:1,computedPermissions:1},s=e=>M(null,[e],function*(e){let{moduleId:n,collection:o,elementType:c,subElementCollection:u,subElementType:d}=e,m={isDeleted:{$ne:!0},$or:[{"userpermissions.userID":t.user.id}]};if(r){let e=[...r];a&&a[n]&&e.push(...a[n]),m.$or.push({"stories.id":{$in:e}})}if("5fd905f299b7e23151f77b0f"===i&&m.$or.splice(0,1),0===m.$or.length)return[];let p=t.mongodb.getCollection(o).findByQuery(m,{projection:l}),f=d&&u?s({moduleId:n,collection:u,elementType:d}):null,[h,g]=yield Promise.all([p,f||Promise.resolve(null)]),y=h.map(e=>{var r,i,a;return x(N({type:c,module:n,name:e.name,_id:e._id.toString(),permission:((e,t)=>{for(let n=0;n<e.length;n++)if(t(e[n]))return e[n];return{}})(e.userpermissions,e=>e.userID===t.user.id).permission,userpermissions:e.userpermissions,summary:e.summary,stories:e.stories,metadata:e.metadata,wordcount:e.wordcount,hasNewChanges:function(e){let n=!1,r=e.lastUpdates||{},i=Object.values(r[t.user.id]||{}).sort((e,t)=>t-e)[0],a=Object.entries(r);for(let e=0;e<a.length;e++){let[r,l]=a[e];if(r!==t.user.id&&Object.values(l||{}).sort((e,t)=>t-e)[0]>i){n=!0;break}}return n}(e),lastUpdates:Object.entries(e.lastUpdates||{}).reduce((e,t)=>{let[n,r]=t;return x(N({},e),{[n]:{[n]:Object.values(r||{}).sort((e,t)=>t-e)[0]||0}})},{}),lastEdits:e.lastEdits&&x(N({},e.lastEdits),{lifecycle:(null==(r=e.lastEdits.lifecycle)?void 0:r[0])?[e.lastEdits.lifecycle[e.lastEdits.lifecycle.length-1]]:[]}),lastViewed:e.lastViewed,computedPermissions:e.computedPermissions},e.guidebook?{guidebook:e.guidebook}:{}),{dictionary:null==(i=e.data)?void 0:i.dictionary,phonetics:null==(a=e.data)?void 0:a.phonetics})});if(!g)return y;let v=g.map(e=>{let t=y.find(t=>JSON.stringify(t.guidebook||[]).includes(e._id.toString()));return x(N({},e),{magicId:t&&t._id.toString()})});return y.map(e=>{let t=N({},e);return t.guidebook&&delete t.guidebook,t}).concat(v)}),o={},c=yield t.callFunction("getMetadata");for(let e in c)c.hasOwnProperty(e)&&c[e].entityInLibrary&&(o[e]={moduleId:e,collection:c[e].entityCollection,elementType:c[e].entityType,subElementCollection:c[e].subEntityCollection,subElementType:c[e].subEntityType});if(!n)for(let e in n=[],o)o.hasOwnProperty(e)&&n.push(e);let u=n.filter(e=>o[e]).map(e=>s(o[e])),d=yield Promise.all(u),m=[];for(let e of d)m.push(...e);return m}),ts=()=>M(null,null,function*(){return Object.keys(u.Yr).filter(e=>"project"!==e).reduce((e,t)=>(e[t]=u.Yr[t],e),{})}),to=(e,t)=>M(null,[e,t],function*(e,t){var n,r;let[i,a]=e,l=t.mongodb.getCollection(i),s=yield l.findById(a);return s?"user"===i?(null==(r=null==(n=s.profile)?void 0:n.account)?void 0:r.name)||"Blaze User":s.name:""}),tc=(e,t)=>M(null,[e,t],function*(e,t){var n,r,i,a;let[l,s]=e,o=yield t.callFunction("getMetadata");switch(s){case"character":case"item":case"location":case"magic":case"spell":case"article":case"map":case"template":case"story":case"language":case"system":case"relationship_web":case"philosophy":case"culture":case"species":case"religion":case"manuscript_section":case"manuscript-section":case"relationship-web":case"research":let c=Object.values(o).find(e=>e.entityType===s),u=c?c.entityCollection:s,d=t.mongodb.getCollection(u),m=yield d.findById(l);if(!m)return"";return m.name||"";case"user":let p=t.mongodb.getCollection("user"),f=yield p.findById(l);if(!f)return"";return(null==(r=null==(n=f.profile)?void 0:n.account)?void 0:r.name)||"Blaze User";case"event":let h=t.mongodb.getCollection("timeline_module"),g={};g["events."+l]={$exists:!0};let y=(yield h.findByQuery(g))[0];if(!y)return"";return(null==(a=null==(i=y.events)?void 0:i[l])?void 0:a.name)||"";default:return""}}),tu=(e,t)=>
1M(null,[e,t],function*(e,t){let[n,r]=e,i=t.mongodb.getCollection("story"),a=e=>{let t=[];for(let n=0;n<e.length;n++)"entry"===e[n].type&&e[n].name?t.push({id:e[n].key||e[n].id,name:e[n].name}):"directory"===e[n].type&&e[n].entries&&(t=t.concat(a(e[n].entries)));return t},l=(e,r)=>M(null,null,function*(){let{collection:i,moduleId:l,elementType:s}=e,o=t.mongodb.getCollection(i),c=yield o.findById(r);if(!c)return[];let u=c.entries;if(!Array.isArray(u)){let e=t=>Object.values(t).sort((e,t)=>e.index-t.index).map(t=>N(N({},t),t.entries?{entries:e(t.entries)}:{}));u=e(u)}if("timeline"===l)for(let e in u=[],c.events)c.events.hasOwnProperty(e)&&u.push({key:e,name:c.events[e].name,type:"entry"});let d=a(u).map(e=>({_id:e.id,name:e.name,module:l,type:s}));if("magic"===l){let e=yield t.mongodb.getCollection("spell").findByQuery({"stories.id":n});d=d.concat(e.map(e=>({_id:e._id.toString(),name:e.name||"",module:l,type:"spell"})).filter(e=>!!e.name))}return d}),s={},o=yield t.callFunction("getMetadata");for(let e in o)o.hasOwnProperty(e)&&o[e].entityInLibrary&&(s[e]={moduleId:e,collection:o[e].moduleCollection,elementType:o[e].entityType});if(s.timeline={moduleId:"timeline",collection:o.timeline.moduleCollection,elementType:o.timeline.entityType},!r)for(let e in r=[],s)s.hasOwnProperty(e)&&r.push(e);let c=yield i.findById(n),u=[];if(!c)return[];for(let e=0;e<r.length;e++)if(s[r[e]]){if(c.parent&&c.inheritance&&c.inheritance.includes(s[r[e]].moduleId)){let n=yield t.mongodb.getCollection("story").findById(c.parent);if(n&&n[s[r[e]].moduleId]){let t=yield l(s[r[e]],n[s[r[e]].moduleId]);u=u.concat(t)}}else if(c[s[r[e]].moduleId]){let t=yield l(s[r[e]],c[s[r[e]].moduleId]);u=u.concat(t)}}return u}),td=(e,t)=>M(null,[e,t],function*(e,t){let[n,r]=e,i=t.mongodb.getCollection("language"),a=yield i.findById(n);if(a&&a.data){let e=a.data.dictionary.table;if(e[r])return e[r].word.map(e=>a.data.phonetics.table[e])}return null}),tm=(e,t)=>M(null,[e,t],function*(e,t){var n,r,i;let[a,l]=e,s={usernameLowercase:(l||"").toLowerCase()},o=t.mongodb.getCollection("user"),c=a?yield o.findById(a):(yield o.findByQuery(s))[0];return c?(n=t.user.id,null==(i=null==(r=null==c?void 0:c.exploreData)?void 0:r.blockedAccounts)?void 0:i[n])?{blocked:!0}:yield t.callFunction("formatPublicUserData",[c]):null}),tp=(e,t)=>M(null,[e,t],function*(e,t){var n,r;let i,[a,l,s,o,c]=e,u=yield t.mongodb.getCollection("user").findById(t.user.id),d=null==(r=null==(n=null==u?void 0:u.profile)?void 0:n.account)?void 0:r.language,m=t.mongodb.getCollection("location");if((yield m.findByQuery({userpermissions:{$elemMatch:{userID:t.user.id,permission:"owner"}}},{projection:{name:1,userpermissions:1}})).length>=a)throw Error("exceeded");let p=t.mongodb.getCollection("locations_module"),f=(yield p.findByQuery({"stories.id":o}))[0],h={[l]:{name:"Overview",panels:{},id:l,index:0}};if(f&&f.defaultTemplate){let e=(0,O.St)(f.defaultTemplate,d);if(e)h=e.data,i=e.schema;else{let e,n=yield(e=f.defaultTemplate,M(null,null,function*(){return yield t.mongodb.getCollection("template").findById(e)}));n&&(h=n.data,i=n.schema)}}else{let e=(0,O.WF)("locations",d);e&&(h=e.data,i=e.schema)}let{insertedId:g}=yield m.insertOne({pages:h,userpermissions:[{permission:"owner",userID:t.user.id}],name:s,stories:[{id:o,userID:t.user.id}],schema:isNaN(i)?0:i}),y={key:g.toString(),name:s};return c&&f&&(Array.isArray(f.entries)?yield p.updateById(f._id.toString(),{$push:{entries:Object.assign({},y,{type:"entry"})}}):yield p.updateById(f._id.toString(),{$set:{["entries.".concat(y.key)]:Object.assign({},y,{type:"entry"})}})),y}),tf=(e,t)=>M(null,[e,t],function*(e,t){let[n,r,i]=e,a=yield t.callFunction("getMetadata"),l={};function s(){return M(this,null,function*(){let e=yield t.mongodb.getCollection("story").findById(i);for(let n=0;n<r.length;n++){let s=r[n],o=a[s.module].moduleCollection;if(l[s.module]||(l[s.module]=yield t.mongodb.getCollection(o).findById(e[s.module])),!function e(t,n){Array.isArray(t)||(t=Object.values(t).sort((e,t)=>e.index-t.index));for(let r=0;r<t.length;r++)if(t[r].key===n||t[r].entries&&e(t[r].entries))return!0;return!1}(l[s.module].entries,s._id)){let n={key:s._id,type:"entry",name:s.name,index:Object.keys(l[s.module].entries).length};Array.isArray(l[s.module].entries)?yield t.mongodb.getCollection(o).updateById(e[s.module],{$push:{entries:n}}):yield t.mongodb.getCollection(o).updateById(e[s.module],{$set:{["entries.".concat(n.key)]:n}}),yield t.mongodb.getCollection(a[s.module].entityCollection).updateById(s._id.toString(),{$push:{stories:{id:i,userID:t.user.id}}})}}})}return"add"===n||(yield function(){return M(this,null,function*(){let e=[];for(let t in a)a.hasOwnProperty(t)&&"project"!==t&&e.push(a[t].moduleCollection);for(let n=0;n<e.length;n++){let i=yield t.mongodb.getCollection(e[n]).findByQuery({userpermissions:{$elemMatch:{userID:t.user.id,permission:"owner"}}});for(let a=0;a<i.length;a++)if(i[a].entries){let l,s;Array.isArray(i[a].entries)?[l,s]=function e(t){let n=[],i=!1;for(let a=0;a<t.length;
1a++)if(t[a].entries){let[r,l]=e(t[a].entries);i=i||l,n.push(Object.assign({},t[a],{entries:r}))}else{let e=!1;for(let n=0;n<r.length;n++)if(r[n]._id===t[a].key){e=!0;break}e?i=!0:n.push(t[a])}return[n,i]}(i[a].entries):[l,s]=function(e){let t=JSON.parse(JSON.stringify(e)),n=r.reduce((e,t)=>x(N({},e),{[t._id]:!0}),{}),i=!1,a=e=>{Object.values(e).forEach(t=>{n[t.key]?(delete e[t.key],i=!0):t.entries&&a(t.entries)})};return a(t),[t,i]}(i[a].entries),s&&(yield t.mongodb.getCollection(e[n]).updateById(i[a]._id.toString(),{$set:{entries:l}}))}}for(let e=0;e<r.length;e++){let n=t.mongodb.getCollection(a[r[e].module].entityCollection);yield n.updateById(r[e]._id.toString(),{$set:{stories:[]}})}})}()),yield s()}),th=(e,t)=>M(null,[e,t],function*(e,t){let[n,r,i,a]=e,l=O.VL[n];if(!l)return!1;{let e=N({},l.data||{});delete e.defaultTemplate,delete e.esDefaultTemplate;let n={userpermissions:[{userID:t.user.id,permission:"owner"}],stories:[{id:i,userID:t.user.id}]};a&&(n._id=a);let s=t.mongodb.getCollection(r);return(yield s.insertOne(Object.assign(n,e))).insertedId}}),tg=(e,t)=>M(null,[e,t],function*(e,t){var n,r;let[a,l,s]=e,o=t.mongodb.getCollection("story"),c=t.mongodb.getCollection("user"),u=yield t.callFunction("getMetadata"),d=yield c.findById(t.user.id),m=[];for(let e in u)u.hasOwnProperty(e)&&m.push({id:e,collection:u[e].moduleCollection});let p={},f=[{userID:t.user.id,permission:"owner"}],h=new i.Vr;for(let e=0;e<m.length;e++){let n=m[e],r=O.VL[n.id];r||console.log("no default data for "+n.id);let i=N({},(null==r?void 0:r.data)||{});delete i.defaultTemplate,delete i.esDefaultTemplate;let a=yield t.mongodb.getCollection(n.collection).insertOne(Object.assign({userpermissions:f,stories:[{id:h.toString(),userID:t.user.id}]},i));p[n.id]=a.insertedId}let g=null==(r=null==(n=null==d?void 0:d.profile)?void 0:n.settings)?void 0:r.defaultProjectTheme,y=Object.assign({_id:h,userpermissions:f,name:a,parent:l,inheritance:s,summary:{image:null,description:[{type:"paragraph",children:[{text:""}]}],subtitle:""}},p);return g&&(y.theme=g),yield o.insertOne(y),h.toString()}),ty=(e,t)=>M(null,[e,t],function*(e,t){let[n]=e,r=t.mongodb.getCollection("link");return yield r.deleteByQuery({"elements.id":n})}),tv=(e,t)=>M(null,[e,t],function*(e,t){let[n,r]=e,i=t.mongodb.getCollection("story"),a=yield i.findById(n);if(!a)throw Error("No story found.");if(a.parent&&a.inheritance&&a.inheritance.includes("manuscript")&&!(a=yield i.findById(a.parent)))throw Error("No parent story found.");return yield t.mongodb.getCollection("manuscript_module").updateById(a.manuscript,{$set:{textStyles:r}})}),tb=(e,t)=>M(null,[e,t],function*(e,t){let[n]=e,r=(e,t)=>{let n=t.split("."),r=e;for(let e=0;e<n.length;e++)r&&(r=r[n[e]]);return r};return{userId:n._id.toString(),userID:n._id.toString(),username:n.username,name:r(n,"profile.account.name")||n.username,email:n.email,image:r(n,"profile.account.profileImageID"),color:r(n,"profile.account.color"),bannerImage:r(n,"profile.account.bannerImageID"),bio:r(n,"profile.account.bio"),socialLinks:r(n,"profile.account.socialLinks"),country:r(n,"profile.account.countryIsPublic")&&r(n,"profile.account.country"),writerTypes:r(n,"profile.account.writerTypes"),themes:n.themes}}),tE=(e,t)=>M(null,[e,t],function*(e,t){let[n,r]=e;return t.callFunction("getElementsInCollectionSudo",[t.user.id,n,r],t)}),tS=(e,t)=>M(null,[e,t],function*(e,t){let[n,r,a]=e,l=t.mongodb.getCollection(r),s=(yield t.mongodb.getCollection("story").findByQuery({userpermissions:{$elemMatch:{userID:n}}},{_id:1})).map(e=>e._id.toString()),o={_id:{$nin:(a||[]).map(e=>new i.Vr(e))},$or:[{userpermissions:{$elemMatch:{userID:n}}},{stories:{$elemMatch:{id:{$in:s}}}},{_id:new i.Vr(n)}]};return yield l.findByQuery(o,{projection:{_id:1,name:1,stories:1,lastUpdates:1,userpermissions:1,username:1,profile:1,isDeleted:1,uploadDate:1}})}),tT=(e,t)=>M(null,[e,t],function*(e,t){let[{type:n,userName:r,projectID:i,learnPostID:a,chapterID:l,commentID:s,comment:o,replyID:c,reply:u,excerpt:m,elementID:p,elementType:f,taggedUserID:h}]=e,{user:g}=t,y=k.env.SECRET_KEY;if(!["comment","comment_reply","tag"].includes(n))throw Error("Invalid notification type.");if(!r)throw Error("Invalid user name.");if("tag"===n){if(!p&&!a&&!i||!h||!m)throw Error("elementID, elementType, taggedUserID, and excerpt are requird.")}else{if(!l)throw Error("No chapter ID provided.");if(!s)throw Error("No comment ID provided.")}if("comment_reply"===n&&(!c||!u))throw Error("No reply ID or reply content provided.");if("comment"===n&&(!s||!o))throw Error("No commentID or comment provided.");try{yield d.A.post("".concat(k.env.NOTIFICATIONS_URL,"/push"),{platform:"author",type:n,data:{userID:g.id,userName:r,projectID:i,chapterID:l,commentID:s,comment:o,replyID:c,reply:u,excerpt:m,learnPostID:a,elementID:p,elementType:f,taggedUserID:h}},{headers:{"Content-Type":"application/json","api-key":y}})}catch(e){console.error(e),console.log("Failed to send notification.")}}),tw=(e,t)=>M(null,[e,t],function*(e,t){let[n]=e;return(yield t.mongodb.getCollection("template").findByQuery({code:n}))[0]}),t_=(e,t)=>
1M(null,[e,t],function*(e,t){let[n]=e,[r]=yield t.mongodb.getCollection("theme").findByQuery({code:n});if(r){let e=yield t.mongodb.getCollection("user").findById(r.userpermissions.find(e=>"owner"===e.permission).userID);if(e)return e.themes[r.themeId]}return null}),tO=class{get connected(){return this.socket.connected}onConnect(e){return this.onConnectCbs.add(e),()=>this.onConnectCbs.delete(e)}onDisconnect(e){return this.onDisconnectCbs.add(e),()=>this.onDisconnectCbs.delete(e)}subscribe(e,t,n){return M(this,null,function*(){let r=function(e){if("document"===e.type)return"document:".concat(e.collection,":").concat(e.id);if("user"===e.type)return"user:".concat(e.userId,":").concat(e.channel);let t=JSON.stringify(e.query,Object.keys(e.query).sort());return"collection:".concat(e.collection,":").concat(t)}(e),i=(0,c.A)();return this.listeners.set(i,{room:e,key:r,onMessage:t,onPresence:n}),yield this.joinRoom(e,r),i})}unsubscribe(e){let t=this.listeners.get(e);t&&(this.listeners.delete(e),[...this.listeners.values()].some(e=>e.key===t.key)||(this.socket.emit("leave-room",t.room),this.joinedRooms.delete(t.key)))}publish(e,t){this.socket.emit("message",{room:e,data:t})}pause(){this.joinedRooms.clear(),this.socket.disconnect()}resume(){this.socket.connected||this.socket.connect()}disconnect(){this.socket.disconnect(),this.listeners.clear(),this.joinedRooms.clear(),this.onConnectCbs.clear(),this.onDisconnectCbs.clear()}joinRoom(e,t){return M(this,null,function*(){if(!this.joinedRooms.has(t))return this.socket.connected||(yield this.waitForConnection()),new Promise(n=>{this.socket.emit("join-room",e,e=>{(null==e?void 0:e.ok)&&this.joinedRooms.add(t),n()})})})}rejoinRooms(){let e=new Map;for(let t of this.listeners.values())e.has(t.key)||e.set(t.key,t.room);for(let[t,n]of(this.joinedRooms.clear(),e))this.joinRoom(n,t)}waitForConnection(){return this.socket.connected?Promise.resolve():new Promise(e=>{let t=()=>{clearTimeout(n),e()},n=setTimeout(()=>{this.socket.off("connect",t),e()},1e4);this.socket.once("connect",t)})}constructor(e,t){this.listeners=new Map,this.joinedRooms=new Set,this.onConnectCbs=new Set,this.onDisconnectCbs=new Set,this.socket=(0,I.io)(t,{transports:["websocket"],auth:t=>M(this,null,function*(){t({token:yield e.getToken()})}),reconnection:!0,reconnectionDelay:1e3,reconnectionDelayMax:1e4}),this.socket.on("connect",()=>{this.onConnectCbs.forEach(e=>e()),this.rejoinRooms()}),this.socket.on("disconnect",()=>{this.onDisconnectCbs.forEach(e=>e())}),this.socket.on("message",e=>{for(let t of this.listeners.values())t.key===e.room&&t.onMessage(e.data)}),this.socket.on("presence",e=>{for(let t of this.listeners.values())t.key===e.room&&t.onPresence&&t.onPresence(e.userIds)})}}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.