@datawheel/bespoke 0.8.0-rc.15 → 0.8.0-rc.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cms.js +59 -59
- package/dist/redux-store.js +10 -10
- package/dist/report.js +29 -29
- package/dist/server.js +29 -29
- package/package.json +1 -1
package/dist/server.js
CHANGED
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import ks, { getServerSession } from 'next-auth';
|
|
2
|
+
import vs from 'next-auth/providers/auth0';
|
|
3
3
|
import { initAuth0 } from '@auth0/nextjs-auth0';
|
|
4
4
|
import Ie from 'auth0';
|
|
5
|
-
import * as
|
|
5
|
+
import * as Ii from 'pg';
|
|
6
6
|
import { Sequelize, Error as Error$1, Op, fn as fn$1, col, literal, where, cast, json, DataTypes, Model } from 'sequelize';
|
|
7
7
|
import fr from 'yn';
|
|
8
|
-
import * as
|
|
9
|
-
import * as
|
|
10
|
-
import * as
|
|
11
|
-
import * as
|
|
8
|
+
import * as Qs from 'd3-array';
|
|
9
|
+
import * as Zs from 'd3-collection';
|
|
10
|
+
import * as Xs from 'd3-format';
|
|
11
|
+
import * as ei from 'd3-time-format';
|
|
12
12
|
import { formatAbbreviate } from 'd3plus-format';
|
|
13
13
|
import { date } from 'd3plus-axis';
|
|
14
14
|
import { assign, closest, merge, isObject } from 'd3plus-common';
|
|
15
15
|
import { strip, titleCase } from 'd3plus-text';
|
|
16
16
|
import br from 'axios';
|
|
17
|
-
import
|
|
18
|
-
import
|
|
19
|
-
import
|
|
20
|
-
import
|
|
21
|
-
import
|
|
17
|
+
import Li from 'slugify';
|
|
18
|
+
import Vi from 'flexsearch';
|
|
19
|
+
import dc from 'base58';
|
|
20
|
+
import mc from 'flickr-sdk';
|
|
21
|
+
import ic from 'sharp';
|
|
22
22
|
import { createApi } from 'unsplash-js';
|
|
23
|
-
import
|
|
23
|
+
import Sc from 'fs';
|
|
24
24
|
import { createContext, createElement } from 'react';
|
|
25
25
|
import { renderToString } from 'react-dom/server';
|
|
26
26
|
import * as Zr from '@tabler/icons-react';
|
|
27
|
-
import
|
|
28
|
-
import
|
|
29
|
-
import
|
|
30
|
-
import
|
|
31
|
-
import
|
|
32
|
-
import
|
|
27
|
+
import Yc from 'nextjs-cors';
|
|
28
|
+
import Qc from 'image-type';
|
|
29
|
+
import Gc from 'formidable';
|
|
30
|
+
import Jc from 'dom-parser';
|
|
31
|
+
import Ou from 'path';
|
|
32
|
+
import Ia from 'axios-retry';
|
|
33
33
|
import { format } from 'pretty-format';
|
|
34
|
-
import
|
|
34
|
+
import Sl from 'toposort';
|
|
35
35
|
import { csvParse } from 'd3-dsv';
|
|
36
|
-
import
|
|
36
|
+
import Cl from 'next/config';
|
|
37
37
|
import { schema, normalize } from 'normalizr';
|
|
38
38
|
import { createSlice, configureStore } from '@reduxjs/toolkit';
|
|
39
39
|
import { HYDRATE, createWrapper } from 'next-redux-wrapper';
|
|
@@ -42,28 +42,28 @@ import 'react-redux';
|
|
|
42
42
|
import 'react/jsx-runtime';
|
|
43
43
|
import '@mantine/core';
|
|
44
44
|
|
|
45
|
-
var Ss=Object.defineProperty;var Es=(e,t)=>{for(var r in t)Ss(e,r,{get:t[r],enumerable:!0});};function we(e){let t=e;if(t&&!t.source)if(!t.providers||t.providers.length===0){let r=As({clientId:process.env.AUTH0_CLIENT_ID,clientSecret:process.env.AUTH0_CLIENT_SECRET,issuer:process.env.AUTH0_ISSUER_BASE_URL});t.providers=[r],t.callbacks={async jwt({token:o,profile:n,trigger:a,session:s}){return n&&(o.bespoke_app_metadata=n.bespoke_app_metadata||{},o.bespoke_user_metadata=n.bespoke_user_metadata||{},o.bespoke_roles=n.bespoke_roles||[],o.name=n.name),a==="update"&&(s.user_metadata&&(o.bespoke_user_metadata={...o.bespoke_user_metadata,...s.user_metadata}),s.app_metadata&&(o.bespoke_app_metadata={...o.bespoke_app_metadata,...s.app_metadata}),s.roles&&s.roles.length>0&&(o.bespoke_roles=s.roles.map(i=>i.name))),o},async session({session:o,token:n}){return o&&n&&(o.user.id=n.sub,o.user.bespoke_app_metadata=n.bespoke_app_metadata,o.user.bespoke_user_metadata=n.bespoke_user_metadata,o.user.bespoke_roles=n.bespoke_roles),o}},t.source="auth0";}else t.source="custom";return t.secret||(t.secret=process.env.AUTH0_SECRET||process.env.NEXTAUTH_SECRET),t}async function fe(e,t,r={providers:[]}){let o=we(r),n=await getServerSession(e,t,o);return n&&(n.source=o.source||""),n}var vs=(e={providers:[]})=>{let t=we(e);return _s(t)},ks=vs;var Uo=initAuth0({secret:process.env.NEXTAUTH_SECRET,issuerBaseURL:process.env.AUTH0_ISSUER_BASE_URL,baseURL:process.env.REPORTS_BASE_URL||process.env.NEXTAUTH_URL,clientID:process.env.AUTH0_CLIENT_ID,clientSecret:process.env.AUTH0_CLIENT_SECRET});var S=class extends Error{constructor(r,o){super(o);this.code=r;}toJSON(){return Fo(this)}static is(r){return Object.prototype.hasOwnProperty.call(r,"code")&&typeof r.code=="number"}};function ws(e){return {ok:!0,status:200,data:e}}function Fo(e){return {ok:!1,status:S.is(e)?e.code:500,error:e.message}}function k(e){return t=>e(t).then(ws,Fo)}function ne(e,t,r){if(t==="createBulk"||t==="updateBulk"){let n=`${t}${ge(r)}`;return e[n]}let o=`${t}${ge(r)}`;return e[o]}function ge(e){return e[0].toUpperCase()+e.slice(1)}var $={ADMIN:"Admin",EDITOR:"Editor",WRITER:"Writer"},Vo={APP:"App",USER:"User"},zo=e=>{let t=Object.values($);return e?e.map(r=>({...r,type:t.includes(r.name)?Vo.APP:Vo.USER})):[]};var xe={domain:new URL(process.env.AUTH0_ISSUER_BASE_URL||"https://localhost:3000").host,clientId:process.env.AUTH0_CLIENT_ID,clientSecret:process.env.AUTH0_CLIENT_SECRET};function $o(){return async()=>{try{let t=await new Ie.ManagementClient(xe).roles.getAll({include_totals:!0,per_page:100});return {roles:zo(t.roles)}}catch(e){throw console.error("AuthZeroError",e),new S(e.response?.status||500,e.message)}}}function qo(){return async e=>{try{let t;if(e){let r={include_totals:!0,per_page:10,page:e.page||0},o=new Ie.ManagementClient(xe);if(e.role_id&&e.role_id!==""){let n={...r,id:e.role_id};t=await o.roles.getUsers(n);}else {let n={...r,q:e.query};t=await o.users.getAll(n);}}return t}catch(t){throw console.error("AuthZeroError",t),new S(t.response?.status||500,t.message)}}}function Go(){return async e=>{try{if(e){let t=new Ie.ManagementClient(xe),r=await Promise.all([t.users.get({id:e}),t.users.getRoles({id:e})]);return {...r[0],roles:r[1]}}else throw new S(404,"User ID required")}catch(t){throw console.error("AuthZeroError",t),new S(t.response?.status||500,t.message)}}}function Ko(){return async e=>{try{if(e.user_id){if(e.app_metadata&&await Nr(e.user_id,e.app_metadata),e.user_metadata&&await Dr(e.user_id,e.user_metadata),e.roles){let t=new Ie.ManagementClient(xe),o=(await t.users.getRoles({id:e.user_id})).map(i=>i.id),n=e.roles.map(i=>i.id),a=n.filter(i=>!o.includes(i)),s=o.filter(i=>!n.includes(i));a.length>0&&await t.users.assignRoles({id:e.user_id},{roles:a}),s.length>0&&await t.users.removeRoles({id:e.user_id},{roles:s});}return {status:"success",message:"User updated!"}}else throw new S(404,"user_id is required")}catch(t){throw console.error("AuthZeroError",t),new S(t.response?.status||500,t.message)}}}function jo(){return async e=>{try{return "NOT USED SERVICE"}catch(t){throw console.error("AuthZeroError",t),new S(t.response?.status||500,t.message)}}}async function Nr(e,t){return await new Ie.ManagementClient(xe).users.updateAppMetadata({id:e},t)}async function Dr(e,t){return await new Ie.ManagementClient(xe).users.updateUserMetadata({id:e},t)}async function Ho(e,t){try{let r=new Ie.ManagementClient(xe),o=await r.getUsers({search_engine:"v3",q:`user_metadata.${e}:"${t}"`});for(let n=0;n<o.length;n++){let a=o[n];a.bespoke_user_metadata=a.user_metadata||{},delete a.user_metadata,a.bespoke_roles=(await r.users.getRoles({id:a.user_id})).map(s=>s.name);}return o}catch(r){console.error(r);}}var Is=(e,t,r)=>new Promise((o,n)=>{(async()=>{try{let s=await Uo.getSession(e,t);if(!s||!s.user)throw new Error("not_authenticated");{let{user:i}=s,l={...s.user.bespoke_app_metadata||{},...r};await Nr(s.user.sub,l),o({error:"",description:`App metadata updated for user ${s.user.email}`});}}catch(s){n({error:s.message,description:"The user does not have an active session or is not authenticated"});}})();}),xs=Is;var Bs=(e,t,r,o)=>new Promise((n,a)=>{(async()=>{try{let i=await fe(e,t,r);if(!i||!i.user)throw new Error("not_authenticated");{let{user:c,source:l}=i,u={...c.bespoke_user_metadata||{},...o};l==="custom"&&r.actions?.updateUser?await r.actions.updateUser()({user_id:c.id,user_metadata:u}):await Dr(c.id,u),n({error:"",description:`App metadata updated for user ${c.email}`});}}catch(i){a({error:i.message,description:"The user does not have an active session or is not authenticated"});}})();}),Ls=Bs;var It=(e,t)=>t&&typeof t=="string"?t.split(".").reduce((r,o)=>r[o],e):e;function rr(e,t){return e.some(r=>t.includes(r))}function or(e){return e.filter((t,r,o)=>o.indexOf(t)===r)}var Ms=(e,t,r)=>async function(o,n){let a=await fe(o,n,r);if(!a||!a.user){n.status(401).json({error:"not_authenticated",description:"The user does not have an active session or is not authenticated"});return}let s=a.user.bespoke_roles||[];if(t.length>0&&!rr(s,t)){n.status(402).json({error:"unauthorize",description:"The user requires some specific roles"});return}await e(o,n);},Os=Ms;var Ns=(e,t)=>new Promise((r,o)=>{(async()=>{try{if(e&&t&&e!==""&&t!==""){let a=await Ho(e,t);r(a);}else o({error:"empty_params",description:"key or value params are empty"});}catch(a){o({error:a.message,description:"Error "});}})();}),Ds=Ns;var Ae=(e=process.env)=>fr(e.REPORTS_LOGGING);var Be=class extends Model{getContent(t){let r=this.contentByLocale.find(o=>o.locale===t);if(!r)throw new Error(`Missing SearchContent for locale '${t}' on Search ID '${this.id}'`);return r}toJSON(){let t=this.get({plain:!0}),{inputs:r=[],consumers:o=[],contentByLocale:n=[]}=this;return {...t,inputs:r.map(a=>a.toJSON()),consumers:o.map(a=>a.toJSON()),contentByLocale:Object.fromEntries(n.map(a=>[a.locale,a.toJSON()]))}}};function Vs(e){return Be.init({id:{type:DataTypes.INTEGER,primaryKey:!0,autoIncrement:!0},settings:{type:DataTypes.JSON,defaultValue:{}},type:{type:DataTypes.STRING,defaultValue:"paragraph"},shared:{type:DataTypes.BOOLEAN,defaultValue:!1},blockrow:DataTypes.STRING,blockcol:DataTypes.STRING,section_id:{type:DataTypes.INTEGER,onDelete:"cascade",references:{model:"bespoke_reports_section",key:"id"}}},{sequelize:e,modelName:"block",tableName:"bespoke_reports_block",freezeTableName:!0,timestamps:!1}),t=>(Be.hasMany(t.block_content,{foreignKey:"id",sourceKey:"id",as:"contentByLocale"}),Be.belongsToMany(t.block,{through:"block_input",foreignKey:"block_id",otherKey:"input_id",as:"inputs"}),Be.belongsToMany(t.block,{through:"block_input",foreignKey:"input_id",otherKey:"block_id",as:"consumers"}),Be)}var Wo=Vs;var nr=class extends Model{};function $s(e){return nr.init({id:{type:DataTypes.INTEGER,primaryKey:!0,onDelete:"cascade",references:{model:"bespoke_reports_block",key:"id"}},locale:{type:DataTypes.STRING,primaryKey:!0},content:{type:DataTypes.JSON,defaultValue:{}}},{sequelize:e,modelName:"block_content",tableName:"bespoke_reports_block_content",freezeTableName:!0,timestamps:!1}),()=>nr}var Jo=$s;var ar=class extends Model{};function Gs(e){return ar.init({id:{type:DataTypes.INTEGER,primaryKey:!0,autoIncrement:!0},block_id:{type:DataTypes.INTEGER,onDelete:"cascade",references:{model:"bespoke_reports_block",key:"id"}},input_id:{type:DataTypes.INTEGER,onDelete:"cascade",references:{model:"bespoke_reports_block",key:"id"}}},{sequelize:e,modelName:"block_input",tableName:"bespoke_reports_block_input",freezeTableName:!0,timestamps:!1}),()=>ar}var Yo=Gs;function Vr(e){let t=1+76.18009173/e-86.50532033/(e+1)+24.01409822/(e+2)-1.231739516/(e+3)+.00120858003/(e+4)-536382e-11/(e+5);return (e-.5)*Math.log(e+4.5)-(e+4.5)+Math.log(t*2.50662827465)}function Qo(e,t,r){let o=0,n=1,a=1,s=1,i=0,c=0,l;for(;Math.abs((a-c)/a)>1e-5;)c=a,l=-(t+i)*(t+r+i)*e/(t+2*i)/(t+2*i+1),o=a+l*o,n=s+l*n,i+=1,l=i*(r-i)*e/(t+2*i-1)/(t+2*i),a=o+l*a,s=n+l*s,o/=s,n/=s,a/=s,s=1;return a/t}function Ks(e,t,r){let o,n;if(e<0)n=0;else if(e>=t)n=1;else {e=Math.floor(e);let a=r,s=e+1,i=t-e,c=s+i,l=Math.exp(Vr(c)-Vr(i)-Vr(s)+s*Math.log(a)+i*Math.log(1-a));a<(s+1)/(c+2)?o=l*Qo(a,s,i):o=1-l*Qo(1-a,i,s),n=1-o;}return Math.round(n*1e5)/1e5}function js(e){return {.99999:15.137,.99:6.635,.95:3.841,.9:2.706}[e]}function xt(e,t,r,o){let n=t/(1-t),a=0,s=1,i=0,c=0;for(;a<=e;)c+=s,a>=r&a<=o&&(i+=s),c>1e30&&(i/=1e30,c/=1e30,s/=1e30),a+=1,s=s*n*(e+1-a)/a;return i/c}function Hs(e,t,r){let o=e/t,a=(100-r*100)/2,s,i;if(e===0)s=0;else {let c=o/2,l=0,p=o,u=a/100;for(;p-l>1e-5;)xt(t,c,e,e)*.5+xt(t,c,e+1,t)>u?(p=c,c=(l+c)/2):(l=c,c=(p+c)/2);s=c;}if(e===t)i=0;else {let c=(1+o)/2,l=o,p=1,u=a/100;for(;p-l>1e-5;)xt(t,c,e,e)*.5+xt(t,c,0,e-1)<u?(p=c,c=(l+c)/2):(l=c,c=(p+c)/2);i=c;}return {lci:s,uci:i}}function Ws(e,t){let r=e,o=t,n=r,a=o,s=95,i=.5,c=.5,p=(100-s)/2/100,u=n;for(;c>1e-5;)c/=2,sr((1+u)*i/(1-i),u+1,1e10)+.5*sr((1+u)*i/(1-i),u,u)>p?i-=c:i+=c;let d=(1+u)*i/(1-i)/a;for(i=.5,c=.5,p=(100-s)/2/100;c>1e-5;)c/=2,sr((1+u)*i/(1-i),0,u-1)+.5*sr((1+u)*i/(1-i),u,u)<p?i-=c:i+=c;let y=(1+u)*i/(1-i)/a;return {lci:d,uci:y}}function sr(e,t,r){let o=1,n=0,a=0,s=0;for(;s<e||o>n*1e-10;)n+=o,s>=t&s<=r&&(a+=o),n>1e30&&(a/=1e30,n/=1e30,o/=1e30),s+=1,o=o*e/s;return a/n}var Zo={binomialCdf:Ks,binP:xt,computeMidP:Hs,criticalValue:js,smr:Ws};var Le={d3:{...Js,...Ys,...Qs,...Zs},d3plus:{assign:assign,closest:closest,date:date,formatAbbreviate:formatAbbreviate,merge:merge,strip:strip,titleCase:titleCase},stats:Zo},Xo={};var Te={UNILATERAL:"uni",MULTILATERAL:"multi"},Oe={SINGLE:"single",MULTI:"multi"};var zr={ALLOWED:"allowed",ALLOWED_LOGIC:"allowedLogic",IGNORE_CASCADE:"ignoreCascade"},si={ACCESS:"access",ACCESS_LOGIC:"accessLogic"},ii={FALLBACK:"fallback"};var ci={IMAGE:"image",PARAGRAPH:"paragraph",SELECTOR:"selector",STAT:"stat",SUBTITLE:"subtitle",TITLE:"title",NAV:"nav",RESET_BUTTON:"reset_button",COMPARISON_BUTTON:"comparison_button",TABLE:"table",BUTTON:"button",MULTIHIERARCHY_SELECTOR:"multihierarchy_selector",FALLBACK:"fallback"},$r={GENERATOR:"generator",RELATED:"related",VIZ:"visualization",SECTION_FLAG:"section_flag"},qr="logic",M={...ci,...$r},rn={NAME:"name",DESCRIPTION:"description",...zr,...si,...ii};var ir={FORMATTER:"formatter",FUNCTION:"function"},rt={STRING:"string",NUMBER:"number",OBJECT:"object",DATE:"date"};var ot=class extends Model{};function pi(e){return ot.init({id:{type:DataTypes.INTEGER,primaryKey:!0,autoIncrement:!0},name:{type:DataTypes.STRING,defaultValue:""},content:{type:DataTypes.JSONB,defaultValue:{description:"",testValue:"Foo",type:ir.FORMATTER,inputType:rt.STRING,logic:"return n;"}}},{sequelize:e,modelName:"formatter",tableName:"bespoke_reports_formatter",freezeTableName:!0,timestamps:!1,hooks:{async afterSync(t){let r=await ot.findAll();if(t.force||r.length===0){let o=Object.entries(Xo).map(([n,a])=>({name:n,content:a}));await ot.bulkCreate(o);}}}}),()=>ot}var on=pi;var Ct=class extends Model{getContent(t){let{contentByLocale:r}=this;if(!r)throw new Error("This ImageModel entity didn't include its ImageContentModel association.");let o=r.find(n=>n.locale===t);if(!o)throw new Error(`Missing SearchContent for locale '${t}' on Search ID '${this.id}'`);return o}};function mi(e){return Ct.init({id:{autoIncrement:!0,primaryKey:!0,type:DataTypes.INTEGER},url:{type:DataTypes.TEXT,unique:!0},author:DataTypes.TEXT,license:DataTypes.TEXT,splash:DataTypes.BLOB,thumb:DataTypes.BLOB},{sequelize:e,modelName:"image",tableName:"bespoke_reports_image",freezeTableName:!0}),t=>(Ct.hasMany(t.image_content,{foreignKey:"id",sourceKey:"id",as:"contentByLocale"}),Ct)}var nn=mi;var cr=class extends Model{};function gi(e){return cr.init({id:{type:DataTypes.INTEGER,primaryKey:!0,onDelete:"cascade",references:{model:"bespoke_reports_image",key:"id"}},locale:{type:DataTypes.STRING,primaryKey:!0},meta:DataTypes.TEXT},{sequelize:e,modelName:"image_content",tableName:"bespoke_reports_image_content",freezeTableName:!0,timestamps:!1}),()=>cr}var an=gi;var at=class extends Model{toJSON(){let t=this.get({plain:!0}),{dimensions:r=[],sections:o=[]}=this;return {...t,settings:t.settings,date:new Date(this.date||Date.now()).toISOString(),dimensions:r.map(n=>n.toJSON()),sections:o.map(n=>n.toJSON())}}};function hi(e){return at.init({id:{type:DataTypes.INTEGER,primaryKey:!0,autoIncrement:!0},name:{type:DataTypes.STRING,allowNull:!1,defaultValue:""},visible:{type:DataTypes.BOOLEAN,defaultValue:!0},date:{type:DataTypes.DATE,defaultValue:DataTypes.NOW},type:{type:DataTypes.STRING,defaultValue:"report",validate:{isIn:[["report","story"]]}},settings:{type:DataTypes.JSON,defaultValue:{}}},{sequelize:e,modelName:"report",tableName:"bespoke_reports_report",freezeTableName:!0,timestamps:!1}),t=>(at.hasMany(t.dimension,{foreignKey:"report_id",sourceKey:"id",as:"dimensions"}),at.hasMany(t.section,{foreignKey:"report_id",sourceKey:"id",as:"sections"}),at)}var sn=hi;var it=class extends Model{toJSON(){let t=this.get({plain:!0}),{variants:r=[]}=this;return {...t,variants:r.map(o=>o.toJSON())}}};function bi(e){return it.init({id:{type:DataTypes.INTEGER,primaryKey:!0,autoIncrement:!0},report_id:{type:DataTypes.INTEGER,onDelete:"cascade",references:{model:"bespoke_reports_report",key:"id"}},name:{type:DataTypes.STRING,defaultValue:""},settings:{type:DataTypes.JSONB,defaultValue:{}},ordering:{type:DataTypes.INTEGER,defaultValue:0},visible:{type:DataTypes.BOOLEAN,defaultValue:!0}},{sequelize:e,modelName:"dimension",tableName:"bespoke_reports_report_dimension",freezeTableName:!0,timestamps:!1}),t=>(it.hasMany(t.variant,{foreignKey:"dimension_id",sourceKey:"id",as:"variants",constraints:!1}),it.belongsTo(t.report,{foreignKey:"report_id",targetKey:"id",as:"report",constraints:!1}),it)}var cn=bi;var ct=class extends Model{get report(){return this.dimension?.report}toJSON(){return this.get({plain:!0})}};function Ei(e){return ct.init({id:{type:DataTypes.INTEGER,primaryKey:!0,autoIncrement:!0},dimension_id:{type:DataTypes.INTEGER,onDelete:"cascade",references:{model:"bespoke_reports_report_dimension",key:"id"}},slug:{type:DataTypes.STRING,defaultValue:""},name:{type:DataTypes.STRING,defaultValue:""},settings:{type:DataTypes.JSONB,defaultValue:{}},config:{type:DataTypes.JSONB,defaultValue:{}},visible:{type:DataTypes.BOOLEAN,defaultValue:!0}},{sequelize:e,modelName:"variant",tableName:"bespoke_reports_report_dimension_variant",freezeTableName:!0,timestamps:!1}),t=>(ct.hasMany(t.search,{foreignKey:"variant_id",sourceKey:"id",as:"members",constraints:!1}),ct.belongsTo(t.dimension,{foreignKey:"dimension_id",targetKey:"id",as:"dimension",constraints:!1}),ct)}var ln=Ei;var Se=class extends Model{getContent(t){let{contentByLocale:r}=this;if(!r)throw new Error("This SearchModel entity didn't include its SearchContentModel association.");let o=r.find(n=>n.locale===t);if(!o)throw new Error(`Missing SearchContent for locale '${t}' on Search ID '${this.id}'`);return o}};function Ti(e){return Se.init({id:{primaryKey:!0,type:DataTypes.TEXT},zvalue:DataTypes.DOUBLE,slug:DataTypes.TEXT,image_id:{type:DataTypes.INTEGER,references:{model:"bespoke_reports_image",key:"id"}},content_id:{autoIncrement:!0,type:DataTypes.INTEGER,unique:!0},variant_id:{primaryKey:!0,type:DataTypes.INTEGER,onDelete:"cascade",references:{model:"bespoke_reports_report_dimension_variant",key:"id"}},dimension_id:{primaryKey:!0,type:DataTypes.INTEGER,onDelete:"cascade",references:{model:"bespoke_reports_report_dimension",key:"id"}},report_id:{primaryKey:!0,type:DataTypes.INTEGER,onDelete:"cascade",references:{model:"bespoke_reports_report",key:"id"}},visible:{type:DataTypes.BOOLEAN,defaultValue:!0}},{sequelize:e,modelName:"search",tableName:"bespoke_reports_search",freezeTableName:!0,timestamps:!1}),t=>(Se.belongsTo(t.variant,{foreignKey:"variant_id",targetKey:"id",as:"variant",constraints:!1}),Se.belongsTo(t.dimension,{foreignKey:"dimension_id",targetKey:"id",as:"dimension",constraints:!1}),Se.belongsTo(t.report,{foreignKey:"report_id",targetKey:"id",as:"report",constraints:!1}),Se.belongsTo(t.image,{foreignKey:"image_id",targetKey:"id",as:"image",constraints:!1}),Se.hasMany(t.search_content,{foreignKey:"id",sourceKey:"content_id",as:"contentByLocale"}),Se)}var un=Ti;var lr=class extends Model{};function vi(e){return lr.init({id:{type:DataTypes.INTEGER,primaryKey:!0,onDelete:"cascade",references:{model:"bespoke_reports_search",key:"content_id"}},locale:{type:DataTypes.STRING,primaryKey:!0},name:DataTypes.TEXT,annotations:{type:DataTypes.JSONB,defaultValue:{}},attributes:{type:DataTypes.JSONB,defaultValue:{}},keywords:DataTypes.ARRAY(DataTypes.TEXT)},{sequelize:e,modelName:"search_content",tableName:"bespoke_reports_search_content",freezeTableName:!0,timestamps:!1}),()=>lr}var pn=vi;var Lt=class extends Model{toJSON(){let t=this.get({plain:!0}),{blocks:r=[]}=this;return {...t,blocks:r.map(o=>o.toJSON())}}};function Pi(e){return Lt.init({id:{type:DataTypes.INTEGER,primaryKey:!0,autoIncrement:!0},settings:{type:DataTypes.JSON,defaultValue:{}},heading:{type:DataTypes.INTEGER,defaultValue:1},ordering:DataTypes.STRING,report_id:{type:DataTypes.INTEGER,onDelete:"cascade",references:{model:"bespoke_reports_report",key:"id"}}},{sequelize:e,modelName:"section",tableName:"bespoke_reports_section",freezeTableName:!0,timestamps:!1}),t=>(Lt.hasMany(t.block,{foreignKey:"section_id",sourceKey:"id",as:"blocks"}),Lt)}var dn=Pi;var mn={block:Wo,block_content:Jo,block_input:Yo,formatter:on,image:nn,image_content:an,report:sn,dimension:cn,variant:ln,search:un,search_content:pn,section:dn};var fn=Ae(),gn=process.env.REPORTS_DB_CONNECTION||"";if(!gn)throw new Error(`
|
|
45
|
+
var As=Object.defineProperty;var Ts=(e,t)=>{for(var r in t)As(e,r,{get:t[r],enumerable:!0});};function xe(e){let t=e;if(t&&!t.source)if(!t.providers||t.providers.length===0){let r=vs({clientId:process.env.AUTH0_CLIENT_ID,clientSecret:process.env.AUTH0_CLIENT_SECRET,issuer:process.env.AUTH0_ISSUER_BASE_URL});t.providers=[r],t.callbacks={async jwt({token:o,profile:n,trigger:a,session:s}){return n&&(o.bespoke_app_metadata=n.bespoke_app_metadata||{},o.bespoke_user_metadata=n.bespoke_user_metadata||{},o.bespoke_roles=n.bespoke_roles||[],o.name=n.name),a==="update"&&(s.user_metadata&&(o.bespoke_user_metadata={...o.bespoke_user_metadata,...s.user_metadata}),s.app_metadata&&(o.bespoke_app_metadata={...o.bespoke_app_metadata,...s.app_metadata}),s.roles&&s.roles.length>0&&(o.bespoke_roles=s.roles.map(i=>i.name))),o},async session({session:o,token:n}){return o&&n&&(o.user.id=n.sub,o.user.bespoke_app_metadata=n.bespoke_app_metadata,o.user.bespoke_user_metadata=n.bespoke_user_metadata,o.user.bespoke_roles=n.bespoke_roles),o}},t.source="auth0";}else t.source="custom";return t.secret||(t.secret=process.env.AUTH0_SECRET||process.env.NEXTAUTH_SECRET),t}async function fe(e,t,r={providers:[]}){let o=xe(r),n=await getServerSession(e,t,o);return n&&(n.source=o.source||""),n}var Ps=(e={providers:[]})=>{let t=xe(e);return ks(t)},ws=Ps;var Uo=initAuth0({secret:process.env.NEXTAUTH_SECRET,issuerBaseURL:process.env.AUTH0_ISSUER_BASE_URL,baseURL:process.env.REPORTS_BASE_URL||process.env.NEXTAUTH_URL,clientID:process.env.AUTH0_CLIENT_ID,clientSecret:process.env.AUTH0_CLIENT_SECRET});var S=class extends Error{constructor(r,o){super(o);this.code=r;}toJSON(){return Fo(this)}static is(r){return Object.prototype.hasOwnProperty.call(r,"code")&&typeof r.code=="number"}};function Is(e){return {ok:!0,status:200,data:e}}function Fo(e){return {ok:!1,status:S.is(e)?e.code:500,error:e.message}}function P(e){return t=>e(t).then(Is,Fo)}function ne(e,t,r){if(t==="createBulk"||t==="updateBulk"){let n=`${t}${ge(r)}`;return e[n]}let o=`${t}${ge(r)}`;return e[o]}function ge(e){return e[0].toUpperCase()+e.slice(1)}var $={ADMIN:"Admin",EDITOR:"Editor",WRITER:"Writer"},Vo={APP:"App",USER:"User"},zo=e=>{let t=Object.values($);return e?e.map(r=>({...r,type:t.includes(r.name)?Vo.APP:Vo.USER})):[]};var Ce={domain:new URL(process.env.AUTH0_ISSUER_BASE_URL||"https://localhost:3000").host,clientId:process.env.AUTH0_CLIENT_ID,clientSecret:process.env.AUTH0_CLIENT_SECRET};function $o(){return async()=>{try{let t=await new Ie.ManagementClient(Ce).roles.getAll({include_totals:!0,per_page:100});return {roles:zo(t.roles)}}catch(e){throw console.error("AuthZeroError",e),new S(e.response?.status||500,e.message)}}}function qo(){return async e=>{try{let t;if(e){let r={include_totals:!0,per_page:10,page:e.page||0},o=new Ie.ManagementClient(Ce);if(e.role_id&&e.role_id!==""){let n={...r,id:e.role_id};t=await o.roles.getUsers(n);}else {let n={...r,q:e.query};t=await o.users.getAll(n);}}return t}catch(t){throw console.error("AuthZeroError",t),new S(t.response?.status||500,t.message)}}}function Go(){return async e=>{try{if(e){let t=new Ie.ManagementClient(Ce),r=await Promise.all([t.users.get({id:e}),t.users.getRoles({id:e})]);return {...r[0],roles:r[1]}}else throw new S(404,"User ID required")}catch(t){throw console.error("AuthZeroError",t),new S(t.response?.status||500,t.message)}}}function Ko(){return async e=>{try{if(e.user_id){if(e.app_metadata&&await Nr(e.user_id,e.app_metadata),e.user_metadata&&await Dr(e.user_id,e.user_metadata),e.roles){let t=new Ie.ManagementClient(Ce),o=(await t.users.getRoles({id:e.user_id})).map(i=>i.id),n=e.roles.map(i=>i.id),a=n.filter(i=>!o.includes(i)),s=o.filter(i=>!n.includes(i));a.length>0&&await t.users.assignRoles({id:e.user_id},{roles:a}),s.length>0&&await t.users.removeRoles({id:e.user_id},{roles:s});}return {status:"success",message:"User updated!"}}else throw new S(404,"user_id is required")}catch(t){throw console.error("AuthZeroError",t),new S(t.response?.status||500,t.message)}}}function jo(){return async e=>{try{return "NOT USED SERVICE"}catch(t){throw console.error("AuthZeroError",t),new S(t.response?.status||500,t.message)}}}async function Nr(e,t){return await new Ie.ManagementClient(Ce).users.updateAppMetadata({id:e},t)}async function Dr(e,t){return await new Ie.ManagementClient(Ce).users.updateUserMetadata({id:e},t)}async function Ho(e,t){try{let r=new Ie.ManagementClient(Ce),o=await r.getUsers({search_engine:"v3",q:`user_metadata.${e}:"${t}"`});for(let n=0;n<o.length;n++){let a=o[n];a.bespoke_user_metadata=a.user_metadata||{},delete a.user_metadata,a.bespoke_roles=(await r.users.getRoles({id:a.user_id})).map(s=>s.name);}return o}catch(r){console.error(r);}}var Cs=(e,t,r)=>new Promise((o,n)=>{(async()=>{try{let s=await Uo.getSession(e,t);if(!s||!s.user)throw new Error("not_authenticated");{let{user:i}=s,l={...s.user.bespoke_app_metadata||{},...r};await Nr(s.user.sub,l),o({error:"",description:`App metadata updated for user ${s.user.email}`});}}catch(s){n({error:s.message,description:"The user does not have an active session or is not authenticated"});}})();}),Bs=Cs;var Ms=(e,t,r,o)=>new Promise((n,a)=>{(async()=>{try{let i=await fe(e,t,r);if(!i||!i.user)throw new Error("not_authenticated");{let{user:c,source:l}=i,u={...c.bespoke_user_metadata||{},...o};l==="custom"&&r.actions?.updateUser?await r.actions.updateUser()({user_id:c.id,user_metadata:u}):await Dr(c.id,u),n({error:"",description:`App metadata updated for user ${c.email}`});}}catch(i){a({error:i.message,description:"The user does not have an active session or is not authenticated"});}})();}),Os=Ms;var xt=(e,t)=>t&&typeof t=="string"?t.split(".").reduce((r,o)=>r[o],e):e;function rr(e,t){return e.some(r=>t.includes(r))}function or(e){return e.filter((t,r,o)=>o.indexOf(t)===r)}var Ns=(e,t,r)=>async function(o,n){let a=await fe(o,n,r);if(!a||!a.user){n.status(401).json({error:"not_authenticated",description:"The user does not have an active session or is not authenticated"});return}let s=a.user.bespoke_roles||[];if(t.length>0&&!rr(s,t)){n.status(402).json({error:"unauthorize",description:"The user requires some specific roles"});return}await e(o,n);},Ds=Ns;var Us=(e,t)=>new Promise((r,o)=>{(async()=>{try{if(e&&t&&e!==""&&t!==""){let a=await Ho(e,t);r(a);}else o({error:"empty_params",description:"key or value params are empty"});}catch(a){o({error:a.message,description:"Error "});}})();}),Fs=Us;var Te=(e=process.env)=>fr(e.REPORTS_LOGGING);var Le=class extends Model{getContent(t){let r=this.contentByLocale.find(o=>o.locale===t);if(!r)throw new Error(`Missing SearchContent for locale '${t}' on Search ID '${this.id}'`);return r}toJSON(){let t=this.get({plain:!0}),{inputs:r=[],consumers:o=[],contentByLocale:n=[]}=this;return {...t,inputs:r.map(a=>a.toJSON()),consumers:o.map(a=>a.toJSON()),contentByLocale:Object.fromEntries(n.map(a=>[a.locale,a.toJSON()]))}}};function $s(e){return Le.init({id:{type:DataTypes.INTEGER,primaryKey:!0,autoIncrement:!0},settings:{type:DataTypes.JSON,defaultValue:{}},type:{type:DataTypes.STRING,defaultValue:"paragraph"},shared:{type:DataTypes.BOOLEAN,defaultValue:!1},blockrow:DataTypes.STRING,blockcol:DataTypes.STRING,section_id:{type:DataTypes.INTEGER,onDelete:"cascade",references:{model:"bespoke_reports_section",key:"id"}}},{sequelize:e,modelName:"block",tableName:"bespoke_reports_block",freezeTableName:!0,timestamps:!1}),t=>(Le.hasMany(t.block_content,{foreignKey:"id",sourceKey:"id",as:"contentByLocale"}),Le.belongsToMany(t.block,{through:"block_input",foreignKey:"block_id",otherKey:"input_id",as:"inputs"}),Le.belongsToMany(t.block,{through:"block_input",foreignKey:"input_id",otherKey:"block_id",as:"consumers"}),Le)}var Wo=$s;var nr=class extends Model{};function Gs(e){return nr.init({id:{type:DataTypes.INTEGER,primaryKey:!0,onDelete:"cascade",references:{model:"bespoke_reports_block",key:"id"}},locale:{type:DataTypes.STRING,primaryKey:!0},content:{type:DataTypes.JSON,defaultValue:{}}},{sequelize:e,modelName:"block_content",tableName:"bespoke_reports_block_content",freezeTableName:!0,timestamps:!1}),()=>nr}var Jo=Gs;var ar=class extends Model{};function js(e){return ar.init({id:{type:DataTypes.INTEGER,primaryKey:!0,autoIncrement:!0},block_id:{type:DataTypes.INTEGER,onDelete:"cascade",references:{model:"bespoke_reports_block",key:"id"}},input_id:{type:DataTypes.INTEGER,onDelete:"cascade",references:{model:"bespoke_reports_block",key:"id"}}},{sequelize:e,modelName:"block_input",tableName:"bespoke_reports_block_input",freezeTableName:!0,timestamps:!1}),()=>ar}var Yo=js;function Vr(e){let t=1+76.18009173/e-86.50532033/(e+1)+24.01409822/(e+2)-1.231739516/(e+3)+.00120858003/(e+4)-536382e-11/(e+5);return (e-.5)*Math.log(e+4.5)-(e+4.5)+Math.log(t*2.50662827465)}function Qo(e,t,r){let o=0,n=1,a=1,s=1,i=0,c=0,l;for(;Math.abs((a-c)/a)>1e-5;)c=a,l=-(t+i)*(t+r+i)*e/(t+2*i)/(t+2*i+1),o=a+l*o,n=s+l*n,i+=1,l=i*(r-i)*e/(t+2*i-1)/(t+2*i),a=o+l*a,s=n+l*s,o/=s,n/=s,a/=s,s=1;return a/t}function Hs(e,t,r){let o,n;if(e<0)n=0;else if(e>=t)n=1;else {e=Math.floor(e);let a=r,s=e+1,i=t-e,c=s+i,l=Math.exp(Vr(c)-Vr(i)-Vr(s)+s*Math.log(a)+i*Math.log(1-a));a<(s+1)/(c+2)?o=l*Qo(a,s,i):o=1-l*Qo(1-a,i,s),n=1-o;}return Math.round(n*1e5)/1e5}function Ws(e){return {.99999:15.137,.99:6.635,.95:3.841,.9:2.706}[e]}function It(e,t,r,o){let n=t/(1-t),a=0,s=1,i=0,c=0;for(;a<=e;)c+=s,a>=r&a<=o&&(i+=s),c>1e30&&(i/=1e30,c/=1e30,s/=1e30),a+=1,s=s*n*(e+1-a)/a;return i/c}function Js(e,t,r){let o=e/t,a=(100-r*100)/2,s,i;if(e===0)s=0;else {let c=o/2,l=0,p=o,u=a/100;for(;p-l>1e-5;)It(t,c,e,e)*.5+It(t,c,e+1,t)>u?(p=c,c=(l+c)/2):(l=c,c=(p+c)/2);s=c;}if(e===t)i=0;else {let c=(1+o)/2,l=o,p=1,u=a/100;for(;p-l>1e-5;)It(t,c,e,e)*.5+It(t,c,0,e-1)<u?(p=c,c=(l+c)/2):(l=c,c=(p+c)/2);i=c;}return {lci:s,uci:i}}function Ys(e,t){let r=e,o=t,n=r,a=o,s=95,i=.5,c=.5,p=(100-s)/2/100,u=n;for(;c>1e-5;)c/=2,sr((1+u)*i/(1-i),u+1,1e10)+.5*sr((1+u)*i/(1-i),u,u)>p?i-=c:i+=c;let d=(1+u)*i/(1-i)/a;for(i=.5,c=.5,p=(100-s)/2/100;c>1e-5;)c/=2,sr((1+u)*i/(1-i),0,u-1)+.5*sr((1+u)*i/(1-i),u,u)<p?i-=c:i+=c;let y=(1+u)*i/(1-i)/a;return {lci:d,uci:y}}function sr(e,t,r){let o=1,n=0,a=0,s=0;for(;s<e||o>n*1e-10;)n+=o,s>=t&s<=r&&(a+=o),n>1e30&&(a/=1e30,n/=1e30,o/=1e30),s+=1,o=o*e/s;return a/n}var Zo={binomialCdf:Hs,binP:It,computeMidP:Js,criticalValue:Ws,smr:Ys};var Me={d3:{...Qs,...Zs,...Xs,...ei},d3plus:{assign:assign,closest:closest,date:date,formatAbbreviate:formatAbbreviate,merge:merge,strip:strip,titleCase:titleCase},stats:Zo},Xo={};var ve={UNILATERAL:"uni",MULTILATERAL:"multi"},Ne={SINGLE:"single",MULTI:"multi"};var zr={ALLOWED:"allowed",ALLOWED_LOGIC:"allowedLogic",IGNORE_CASCADE:"ignoreCascade"},ci={ACCESS:"access",ACCESS_LOGIC:"accessLogic"},li={FALLBACK:"fallback"};var ui={IMAGE:"image",PARAGRAPH:"paragraph",SELECTOR:"selector",STAT:"stat",SUBTITLE:"subtitle",TITLE:"title",NAV:"nav",RESET_BUTTON:"reset_button",COMPARISON_BUTTON:"comparison_button",TABLE:"table",BUTTON:"button",MULTIHIERARCHY_SELECTOR:"multihierarchy_selector",FALLBACK:"fallback"},$r={GENERATOR:"generator",RELATED:"related",VIZ:"visualization",SECTION_FLAG:"section_flag"},qr="logic",M={...ui,...$r},rn={NAME:"name",DESCRIPTION:"description",...zr,...ci,...li};var ir={FORMATTER:"formatter",FUNCTION:"function"},rt={STRING:"string",NUMBER:"number",OBJECT:"object",DATE:"date"};var ot=class extends Model{};function mi(e){return ot.init({id:{type:DataTypes.INTEGER,primaryKey:!0,autoIncrement:!0},name:{type:DataTypes.STRING,defaultValue:""},content:{type:DataTypes.JSONB,defaultValue:{description:"",testValue:"Foo",type:ir.FORMATTER,inputType:rt.STRING,logic:"return n;"}}},{sequelize:e,modelName:"formatter",tableName:"bespoke_reports_formatter",freezeTableName:!0,timestamps:!1,hooks:{async afterSync(t){let r=await ot.findAll();if(t.force||r.length===0){let o=Object.entries(Xo).map(([n,a])=>({name:n,content:a}));await ot.bulkCreate(o);}}}}),()=>ot}var on=mi;var Ct=class extends Model{getContent(t){let{contentByLocale:r}=this;if(!r)throw new Error("This ImageModel entity didn't include its ImageContentModel association.");let o=r.find(n=>n.locale===t);if(!o)throw new Error(`Missing SearchContent for locale '${t}' on Search ID '${this.id}'`);return o}};function gi(e){return Ct.init({id:{autoIncrement:!0,primaryKey:!0,type:DataTypes.INTEGER},url:{type:DataTypes.TEXT,unique:!0},author:DataTypes.TEXT,license:DataTypes.TEXT,splash:DataTypes.BLOB,thumb:DataTypes.BLOB},{sequelize:e,modelName:"image",tableName:"bespoke_reports_image",freezeTableName:!0}),t=>(Ct.hasMany(t.image_content,{foreignKey:"id",sourceKey:"id",as:"contentByLocale"}),Ct)}var nn=gi;var cr=class extends Model{};function hi(e){return cr.init({id:{type:DataTypes.INTEGER,primaryKey:!0,onDelete:"cascade",references:{model:"bespoke_reports_image",key:"id"}},locale:{type:DataTypes.STRING,primaryKey:!0},meta:DataTypes.TEXT},{sequelize:e,modelName:"image_content",tableName:"bespoke_reports_image_content",freezeTableName:!0,timestamps:!1}),()=>cr}var an=hi;var at=class extends Model{toJSON(){let t=this.get({plain:!0}),{dimensions:r=[],sections:o=[]}=this;return {...t,settings:t.settings,date:new Date(this.date||Date.now()).toISOString(),dimensions:r.map(n=>n.toJSON()),sections:o.map(n=>n.toJSON())}}};function bi(e){return at.init({id:{type:DataTypes.INTEGER,primaryKey:!0,autoIncrement:!0},name:{type:DataTypes.STRING,allowNull:!1,defaultValue:""},visible:{type:DataTypes.BOOLEAN,defaultValue:!0},date:{type:DataTypes.DATE,defaultValue:DataTypes.NOW},type:{type:DataTypes.STRING,defaultValue:"report",validate:{isIn:[["report","story"]]}},settings:{type:DataTypes.JSON,defaultValue:{}}},{sequelize:e,modelName:"report",tableName:"bespoke_reports_report",freezeTableName:!0,timestamps:!1}),t=>(at.hasMany(t.dimension,{foreignKey:"report_id",sourceKey:"id",as:"dimensions"}),at.hasMany(t.section,{foreignKey:"report_id",sourceKey:"id",as:"sections"}),at)}var sn=bi;var it=class extends Model{toJSON(){let t=this.get({plain:!0}),{variants:r=[]}=this;return {...t,variants:r.map(o=>o.toJSON())}}};function Ei(e){return it.init({id:{type:DataTypes.INTEGER,primaryKey:!0,autoIncrement:!0},report_id:{type:DataTypes.INTEGER,onDelete:"cascade",references:{model:"bespoke_reports_report",key:"id"}},name:{type:DataTypes.STRING,defaultValue:""},settings:{type:DataTypes.JSONB,defaultValue:{}},ordering:{type:DataTypes.INTEGER,defaultValue:0},visible:{type:DataTypes.BOOLEAN,defaultValue:!0}},{sequelize:e,modelName:"dimension",tableName:"bespoke_reports_report_dimension",freezeTableName:!0,timestamps:!1}),t=>(it.hasMany(t.variant,{foreignKey:"dimension_id",sourceKey:"id",as:"variants",constraints:!1}),it.belongsTo(t.report,{foreignKey:"report_id",targetKey:"id",as:"report",constraints:!1}),it)}var cn=Ei;var ct=class extends Model{get report(){return this.dimension?.report}toJSON(){return this.get({plain:!0})}};function Ti(e){return ct.init({id:{type:DataTypes.INTEGER,primaryKey:!0,autoIncrement:!0},dimension_id:{type:DataTypes.INTEGER,onDelete:"cascade",references:{model:"bespoke_reports_report_dimension",key:"id"}},slug:{type:DataTypes.STRING,defaultValue:""},name:{type:DataTypes.STRING,defaultValue:""},settings:{type:DataTypes.JSONB,defaultValue:{}},config:{type:DataTypes.JSONB,defaultValue:{}},visible:{type:DataTypes.BOOLEAN,defaultValue:!0}},{sequelize:e,modelName:"variant",tableName:"bespoke_reports_report_dimension_variant",freezeTableName:!0,timestamps:!1}),t=>(ct.hasMany(t.search,{foreignKey:"variant_id",sourceKey:"id",as:"members",constraints:!1}),ct.belongsTo(t.dimension,{foreignKey:"dimension_id",targetKey:"id",as:"dimension",constraints:!1}),ct)}var ln=Ti;var Se=class extends Model{getContent(t){let{contentByLocale:r}=this;if(!r)throw new Error("This SearchModel entity didn't include its SearchContentModel association.");let o=r.find(n=>n.locale===t);if(!o)throw new Error(`Missing SearchContent for locale '${t}' on Search ID '${this.id}'`);return o}};function _i(e){return Se.init({id:{primaryKey:!0,type:DataTypes.TEXT},zvalue:DataTypes.DOUBLE,slug:DataTypes.TEXT,image_id:{type:DataTypes.INTEGER,references:{model:"bespoke_reports_image",key:"id"}},content_id:{autoIncrement:!0,type:DataTypes.INTEGER,unique:!0},variant_id:{primaryKey:!0,type:DataTypes.INTEGER,onDelete:"cascade",references:{model:"bespoke_reports_report_dimension_variant",key:"id"}},dimension_id:{primaryKey:!0,type:DataTypes.INTEGER,onDelete:"cascade",references:{model:"bespoke_reports_report_dimension",key:"id"}},report_id:{primaryKey:!0,type:DataTypes.INTEGER,onDelete:"cascade",references:{model:"bespoke_reports_report",key:"id"}},visible:{type:DataTypes.BOOLEAN,defaultValue:!0}},{sequelize:e,modelName:"search",tableName:"bespoke_reports_search",freezeTableName:!0,timestamps:!1}),t=>(Se.belongsTo(t.variant,{foreignKey:"variant_id",targetKey:"id",as:"variant",constraints:!1}),Se.belongsTo(t.dimension,{foreignKey:"dimension_id",targetKey:"id",as:"dimension",constraints:!1}),Se.belongsTo(t.report,{foreignKey:"report_id",targetKey:"id",as:"report",constraints:!1}),Se.belongsTo(t.image,{foreignKey:"image_id",targetKey:"id",as:"image",constraints:!1}),Se.hasMany(t.search_content,{foreignKey:"id",sourceKey:"content_id",as:"contentByLocale"}),Se)}var un=_i;var lr=class extends Model{};function Pi(e){return lr.init({id:{type:DataTypes.INTEGER,primaryKey:!0,onDelete:"cascade",references:{model:"bespoke_reports_search",key:"content_id"}},locale:{type:DataTypes.STRING,primaryKey:!0},name:DataTypes.TEXT,annotations:{type:DataTypes.JSONB,defaultValue:{}},attributes:{type:DataTypes.JSONB,defaultValue:{}},keywords:DataTypes.ARRAY(DataTypes.TEXT)},{sequelize:e,modelName:"search_content",tableName:"bespoke_reports_search_content",freezeTableName:!0,timestamps:!1}),()=>lr}var pn=Pi;var Lt=class extends Model{toJSON(){let t=this.get({plain:!0}),{blocks:r=[]}=this;return {...t,blocks:r.map(o=>o.toJSON())}}};function xi(e){return Lt.init({id:{type:DataTypes.INTEGER,primaryKey:!0,autoIncrement:!0},settings:{type:DataTypes.JSON,defaultValue:{}},heading:{type:DataTypes.INTEGER,defaultValue:1},ordering:DataTypes.STRING,report_id:{type:DataTypes.INTEGER,onDelete:"cascade",references:{model:"bespoke_reports_report",key:"id"}}},{sequelize:e,modelName:"section",tableName:"bespoke_reports_section",freezeTableName:!0,timestamps:!1}),t=>(Lt.hasMany(t.block,{foreignKey:"section_id",sourceKey:"id",as:"blocks"}),Lt)}var dn=xi;var mn={block:Wo,block_content:Jo,block_input:Yo,formatter:on,image:nn,image_content:an,report:sn,dimension:cn,variant:ln,search:un,search_content:pn,section:dn};var fn=Te(),gn=process.env.REPORTS_DB_CONNECTION||"";if(!gn)throw new Error(`
|
|
46
46
|
Env var 'REPORTS_DB_CONNECTION' is not present.
|
|
47
47
|
This is required to connect to a database to save the Reports CMS changes.
|
|
48
|
-
`);var
|
|
48
|
+
`);var Ve=()=>{if(global.sequelize)fn&&console.log("\u267B\uFE0F RE-UTILIZING DB CONNECTION");else {fn&&console.log("\u{1F511} INITIALIZING DB CONNECTION");let e;try{e=new Sequelize(gn,{logging:!1,dialectModule:Ii,pool:{max:10,min:1,acquire:5*1e3,idle:10*1e3,evict:1*1e3}});}catch(t){throw new Error(`
|
|
49
49
|
Could not connect to the database using the given connection string.
|
|
50
50
|
Please check that the connection string 'REPORTS_DB_CONNECTION' is correct.
|
|
51
51
|
Details:
|
|
52
52
|
${t.message}
|
|
53
53
|
`)}Object.values(mn).map(t=>t(e)).map(t=>t({...e.models,sequelize:e})),global.sequelize=e.sync().catch(t=>{t instanceof Error$1&&console.error("=".repeat(40),`
|
|
54
54
|
Error initializing sequelize connection:
|
|
55
|
-
`,t.stack||t.message),global.sequelize=void 0;}).then(()=>({...e.models,sequelize:e}));}return global.sequelize};var q=()=>{let e=process.env.NEXT_PUBLIC_REPORTS_LOCALE_DEFAULT||"en",t=process.env.NEXT_PUBLIC_REPORTS_LOCALES?.split(",")||[e];return t.includes(e)||t.push(e),{localeDefault:e,locales:t}};function G(e){let t={"&":"&","<":"<",">":">",""":'"',"'":"'","`":"`"," ":""},r=`(?:${Object.keys(t).join("|")})`,o=RegExp(r),n=RegExp(r,"g"),a=String(e).replace(/<[^>]+>/g," ").replace(/\s+/g," ").trim();return o.test(a)?a.replace(n,s=>t[s]):a}function Mt(e){return typeof e=="string"?String(e).replace(/&([a-z0-9]+|#[0-9]{1,6}|#x[0-9a-f]{1,6});/ig," "):e}function
|
|
55
|
+
`,t.stack||t.message),global.sequelize=void 0;}).then(()=>({...e.models,sequelize:e}));}return global.sequelize};var q=()=>{let e=process.env.NEXT_PUBLIC_REPORTS_LOCALE_DEFAULT||"en",t=process.env.NEXT_PUBLIC_REPORTS_LOCALES?.split(",")||[e];return t.includes(e)||t.push(e),{localeDefault:e,locales:t}};function G(e){let t={"&":"&","<":"<",">":">",""":'"',"'":"'","`":"`"," ":""},r=`(?:${Object.keys(t).join("|")})`,o=RegExp(r),n=RegExp(r,"g"),a=String(e).replace(/<[^>]+>/g," ").replace(/\s+/g," ").trim();return o.test(a)?a.replace(n,s=>t[s]):a}function Mt(e){return typeof e=="string"?String(e).replace(/&([a-z0-9]+|#[0-9]{1,6}|#x[0-9a-f]{1,6});/ig," "):e}function Mi(e){return e?Li(Mt(G(e)),{replacement:"-",remove:/[*+~.()'"!:@]/g,lower:!0,strict:!0,trim:!0}):""}var ur=Mi;var Ot=e=>({overrideNames:e&&typeof e.overrideNames<"u"?e.overrideNames:!1,overrideRelevance:e&&typeof e.overrideRelevance<"u"?e.overrideRelevance:!1,regenerateSlugs:e&&typeof e.regenerateSlugs<"u"?e.regenerateSlugs:!1,keepOldMembers:e&&typeof e.keepOldMembers<"u"?e.keepOldMembers:!0,doIngest:e&&typeof e.doIngest<"u"?e.doIngest:!1,overrideAttributes:e&&typeof e.overrideAttributes<"u"?e.overrideAttributes:!1,order:e&&typeof e.order<"u"?e.order:0});var{localeDefault:jr}=q();function Rn(e){let{search:t,search_content:r}=e;return o;async function o(a){let{id:s,config:i={},settings:c={}}=a,l=i[jr]?jr:Object.keys(i)[0],{overrideNames:p,overrideAttributes:u}=Ot(c),{accessor:d,path:m,idKey:y,labelKey:h}=i[jr];if(!m||!y||!h)return;let R=await br.get(m).catch(b=>({data:[],error:b})),T=xt(R.data,d),k=[];try{console.log(`Ingesting default items for variant ${a.name} for ${l}`),k=await n(a,l,T);}catch(b){let N=`[ERROR] Ingesting default member items for ${l}`;throw console.error(N,b),new S(500,N)}let B=await t.findAll({where:{variant_id:s}}).then(b=>Object.fromEntries(b.map(N=>[N.id,{content_id:N.content_id,needsUpdate:k.includes(N.content_id)}]))),A=Object.entries(i).map(async([b,N])=>{let{path:D,accessor:j,idKey:Y,labelKey:H,attributes:U=[]}=N;if(!D||!Y||!H)return;let w=await br.get(D).catch(L=>({data:[],error:L})),V=xt(w.data,j),v=await r.findAll({where:{id:k,locale:b}}).then(L=>Object.fromEntries(L.map(E=>[E.id,E.toJSON()]))),_=V.filter(L=>L[Y]&&L[Y]!==""&&L[H]&&L[H]!=="").map(L=>{let E=B[L[Y]],x,F=Object.fromEntries(U.map(Q=>[Q.name,Q.type==="constant"?Q.value:L[Q.value]||""]));return E.needsUpdate&&v[E.content_id]?(x={...v[E.content_id]},p&&(x.name=L[H]),u&&(x.attributes=F)):x={id:E.content_id,locale:b,name:L[H],attributes:F},x});try{return r.bulkCreate(_,{updateOnDuplicate:["name","attributes"]})}catch(L){let E=`[ERROR] Ingesting search content items for ${b}`;throw console.error(E,L),new S(500,E)}});await Promise.all(A);}async function n(a,s,i){let{id:c,dimension_id:l,slug:p}=a,{report_id:u}=a.dimension,{idKey:d,labelKey:m,zValueKey:y}=a.config[s],{overrideNames:h,regenerateSlugs:R,keepOldMembers:T,overrideRelevance:k,overrideAttributes:B}=Ot(a.settings),A=t.findAll({attributes:["slug",[fn$1("COUNT",col("variant.id")),"slugCount"]],include:{association:"variant",attributes:[],required:!1,right:!0,where:{dimension_id:l,slug:p,id:{[Op.not]:c}}},group:"search.slug"}).then(E=>Object.fromEntries(E.map(x=>{let F=x.getDataValue("slugCount");return [x.slug,Number.parseInt(`${F}`,10)]}))),b=t.findAll({where:{variant_id:c}}).then(E=>Object.fromEntries(E.map(x=>[x.id,x.toJSON()]))),[N,D]=await Promise.all([A,b]),j=Object.values(D).map(E=>E.slug),Y=[],H=null,U=null;if(y&&y!==""){for(let E of i)if(typeof E[y]=="number"&&!isNaN(E[y])){let x=E[y];(H===null||x<H)&&(H=x),(U===null||x>U)&&(U=x);}}let w=[],V=[],v=[],_=!1;i.filter(E=>E[d]&&E[d]!==""&&E[m]&&E[m]!=="").forEach(E=>{let x=E[d],F=ur(E[m]);_=!1;let Q=parseFloat(Math.random().toPrecision(5));if(y&&y!==""&&H&&U&&E[y]){let J;try{J=parseInt(E[y],10);}catch{J=0;}let Re=U!==null&&H!==null&&U!==H?(J-H)/(U-H):0;Q=U===H?1:parseFloat(Re.toPrecision(5));}if(D[x]){if(h||R||k||B){let J=D[x];if((h||B)&&v.push(J.content_id),h&&R){let Re=Object.values(D).filter(I=>I.id!==x).map(I=>I.slug),K=N[F]||Re.includes[F]||Y.includes(F);K&&console.log("Duplicate slug!",F,"replaced by",`${F}-${x}`);let C=K?`${F}-${x}`:F;J.slug!==C&&(J.slug=C,Y.push(F),_=!0,console.log("UPDATE SLUG",x,F));}y&&y!==""&&k&&J.zvalue!==Q&&(J.zvalue=Q,_=!0,console.log("UPDATE ZVALUE",x,Q)),_&&V.push(J);}}else {console.log("INSERT ID",x);let J=N[F]||j.includes[F]||Y.includes(F);J&&console.log("Duplicate slug!",F,"replaced by",`${F}-${x}`);let Re=J?`${F}-${x}`:F;Y.push(F),w.push({id:x,slug:Re,variant_id:c,dimension_id:l,report_id:u,zvalue:Q});}});let L=[];if(!T){let E=i.map(x=>x[d]);L=Object.keys(D).filter(x=>!E.includes(x));}try{return (w.length>0||V.length>0)&&(await t.bulkCreate([...w,...V],{updateOnDuplicate:["slug","zvalue"]}),console.log("New members ingested:",w.length),console.log("New members updated:",V.length)),L.length>0&&(await t.destroy({where:{id:{[Op.in]:L},variant_id:c}}),console.log("Old members deleted:",L.length)),v}catch(E){throw console.error(`[ERROR] Ingesting search members for ${s}`,E),new Error(E)}}}function bn(e){let{search:t}=e;return r;async function r(o){let{all:n,locale:a,mode:s,variant:i,output:c}=o,l={content_id:[],...i&&i.length?{variant_id:i}:{}};if(s==="content_ids")l.content_id=o.content_ids;else if(s==="ids"){if(n)throw new S(400,"Search by ids doesn't support locale all. Pick one locale.");let m={id:o.ids,...i&&i.length?{variant_id:i}:{}},y=await t.findAll({attributes:["content_id"],where:m,include:[{association:"contentByLocale",where:{locale:a}}]});l.content_id=y.map(h=>h.content_id);}else if(s==="slugs"){let m=o.slugs.map(h=>t.findAll({attributes:["content_id"],where:{slug:h.memberSlug},include:{association:"variant",attributes:["id","name","slug"],required:!0,where:{slug:h.variantSlug}}})),y=await Promise.all(m).then(h=>h.reduce((R,T)=>R.concat(T),[]));l.content_id=y.map(h=>h.content_id);}else if(s==="related"){let m=()=>{if(o.variant_ids?.length)return {variant_id:o.variant_ids.map(R=>R)};if(o.dimension_ids?.length)return {dimension_id:o.dimension_ids.map(R=>R)};if(o.report_ids?.length)return {report_id:o.report_ids.map(R=>R)}},y=()=>o.include_ids?.length?{[Op.in]:o.include_ids.map(R=>R)}:!1,h=await t.findAll({attributes:["content_id"],where:{...m(),content_id:y()||{[Op.notIn]:o.current_ids},visible:!0},order:[Sequelize.fn("RANDOM")],limit:o.related||4});l.content_id=h.map(R=>R.content_id);}else if(s==="whole"){let m={...i&&i.length?{variant_id:i}:{}},y=await t.findAll({attributes:["content_id"],where:m});l.content_id=y.map(h=>h.content_id);}let p={locale:n?{[Op.ne]:null}:a},u=await t.findAll({where:l,include:[{association:"report",attributes:["id","name"]},{association:"dimension",attributes:["id","name","ordering"]},{association:"variant",attributes:["id","name","slug"]},{association:"image",attributes:["id","author","url","license"],include:[{association:"contentByLocale",where:p}]},{association:"contentByLocale",where:p}]});if(!["related","whole"].includes(s)&&o[s]&&u.length!==o[s].length)throw new S(404,"One or more members were not found.");u.sort((m,y)=>l.content_id.indexOf(m.content_id)-l.content_id.indexOf(y.content_id));let d=u.map(m=>{let y,h={id:m.id,slug:m.slug,visible:m.visible,zvalue:m.zvalue,content_id:m.content_id,report_id:m.report_id,report_name:m.report.name,dimension_id:m.dimension_id,dimension_name:m.dimension.name,variant_id:m.variant_id,variant_name:m.variant.name,variant_slug:m.variant.slug};if(n){let R=m.contentByLocale;h.contentByLocale=R,h.image=m.image,h.image_id=m.image_id,y=h;}else {let R=m.getContent(a),T=m.image?.getContent(a),k=T&&{id:m.image.id,author:m.image.author,url:m.image.url,license:m.image.license,meta:T.meta};y={...h,locale:R.locale,name:R.name,attributes:R.attributes,keywords:R.keywords,image:k||null,image_id:m.image_id};}return c==="lite"&&(delete y.image,delete y.image_id),y});return {meta:o,results:d}}}function Sn(e){let{search:t}=e;return r;async function r(o){let n=await t.findOne({where:{content_id:o.member},include:[{association:"image",attributes:[o.size],include:[{association:"contentByLocale"}]}]});return n&&n.image&&n.image[o.size]?n.image[o.size]:Buffer.from("iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkkAQAAB8AG7jymN8AAAAASUVORK5CYII=","base64")}}function Fi(e,t=!0){if(!e)return "";let r=Mt(G(e.toLowerCase()));return (t?Li(r,{replacement:" ",remove:/[*+~.()'"!:@-]/g,lower:!0,strict:!1,trim:!0}):r).replace(/\s\s+/g," ")}var ze=Fi;var Nt=[{charset:"latin",locales:["en","es","fr","de","it","pt","ro","nl","sv","da","fi","no","pl","cs","hu","sk","sl"]},{charset:"cjk",locales:["zh","ja","ko"]},{charset:"arabic",locales:["ar","fa","ur","he"]},{charset:"cyrilic",locales:["bg","ru","uk","sr","mk"]}],pr=Nt.reduce((e,t)=>e.concat(t.locales),[]);var lt=Te(),{locales:zi}=q(),$i=zi.filter(e=>pr.includes(e)),Wr=!1,qi=async(e,t=!1)=>{if(t&&(lt&&console.log("0\uFE0F\u20E3 CLEARING SEARCH INDEX"),global.flexsearch=void 0,Wr=!1),global.flexsearch)return lt&&console.log("\u{1F501} RE-UTILIZING SEARCH INDEX"),global.flexsearch;try{Wr||(lt&&console.log("1\uFE0F\u20E3 INITIALIZING SEARCH INDEX"),Wr=!0,global.flexsearch=await Gi(e));}catch(r){throw new Error(`
|
|
56
56
|
Could not initialize FlexSearch engine.
|
|
57
57
|
Details:
|
|
58
58
|
${r.message}
|
|
59
|
-
`)}return global.flexsearch};async function
|
|
59
|
+
`)}return global.flexsearch};async function Gi(e){let t=await e.search.findAll({include:[{association:"contentByLocale"}]});lt&&console.log("\u{1F3F3}\uFE0F INITIALIZING FLEXSEARCH");let r=$i.map(async o=>{lt&&console.log(`\u{1F3F3}\uFE0F INITIALIZING FLEXSEARCH ${o} LOCALE`);let n=Nt.find(p=>p.locales.includes(o)),a=n?.charset||"latin",s=a==="latin"?"advanced":"default";n?console.log(` Charset for ${o}: ${a}`):lt&&console.error(` Missing charset for ${o}, adding latin as default.`);let i=(await import(`flexsearch/dist/module/lang/${a}/${s}`)).default,c=new Vi.Document({language:o,encode:i.encode,tokenize:"reverse",stemmer:{},matcher:{},filter:[],preset:"default",cache:100,resolution:9,context:!1,optimize:!0,worker:!1,document:{id:"content_id",store:!1,index:["id","name","clean","keywords","attributes"]}}),l=0;return t.forEach(p=>{let u=p.contentByLocale.find(d=>d.locale===o);if(u){let d=ze(u.name,a!=="arabic"),m=Array.isArray(u.keywords)?u.keywords.map(h=>ze(h,a!=="arabic")):null,y={id:p.id,content_id:p.content_id,name:u.name,keywords:m,attributes:u.attributes,clean:d};c.add(y),l++;}}),console.log(`\u{1F3F3}\uFE0F Indexed for ${o}: ${l} elements`),[o,c]});return Object.fromEntries(await Promise.all(r))}var $e=qi;var ut=process.env.REPORTS_EXTERNAL_SEARCH,qe=Te(),{locales:Ki}=q(),ji=Ki.filter(e=>pr.includes(e)),Jr=!1,Hi=async(e,t=!1)=>{if(t&&(qe&&console.log("0\uFE0F\u20E3 CLEARING SEARCH INDEX"),global.typesense=void 0,Jr=!1),global.typesense)return qe&&console.log("\u{1F501} RE-UTILIZING SEARCH INDEX"),global.typesense;try{Jr||(qe&&console.log("1\uFE0F\u20E3 INITIALIZING SEARCH INDEX"),Jr=!0,global.typesense=await Ji(e));}catch(r){throw new Error(`
|
|
60
60
|
Could not initialize Typesense engine.
|
|
61
61
|
Details:
|
|
62
62
|
${r.message}
|
|
63
|
-
`)}return global.typesense};async function ji(){try{if(ut){let e=await br.get(new URL(ut).origin);if(e?.data["typesense-health"]===!0)return console.log(`${ut} health check is OK. Version: ${e.data.Version}`),!0}else console.error("No envar set TYPESENSE_URL");return !1}catch(e){return console.error("Health check failed:",e.message),!1}}async function Hi(e){if($e&&console.log(`\u{1F3F3}\uFE0F INITIALIZING TYPESENSE SEARCH AGAINST ${ut}`),!await ji())throw new Error("TYPESENSE_URL service is not healthy.");let r=Gi.map(o=>($e&&console.log(`\u{1F3F3}\uFE0F INITIALIZING SEARCH ${o} LOCALE`),[o,{search:async(a={query:"*",limit:12,offset:0})=>{let s={locale:o,query:a.query,limit:a.limit,offset:a.offset};return a.report&&Array.isArray(a.report)&&a.report.length>0&&(s["report[]"]=a.report.join(",")),a.variant&&Array.isArray(a.variant)&&a.variant.length>0&&(s["variant[]"]=a.variant.join(",")),$e&&console.log("Typesense URL:",ut,s),br.get(ut,{params:s}).then(c=>($e&&(console.log("Typesense URL:",c.request.res.responseUrl),console.log("Typesense Results",c.data.data.results.length)),c.data.data)).catch(c=>(console.log("Typesense Call Error:",c),[]))}}]));return Object.fromEntries(await Promise.all(r))}var An=Ki;var{localeDefault:Yr}=q();function pt(e){let{search:t,report:r}=e;return o;async function o(n){let a=n.origin||"flexsearch",s=process.env.REPORTS_EXTERNAL_SEARCH&&a==="typesense",{query:i,locale:c,preferredLocale:l,limit:p,format:u,visible:d,variant:m,dimension:y,report:h,all:R,noImage:_,includes:I,sort:B,direction:E="ASC",offset:b=0}=n,D=Nt.find(P=>P.locales.includes(c))?.charset||"latin",j=p&&!isNaN(p)?p:20,Y=Ve(i,D!=="arabic");function H(P){return P.toJSON()}function U(P){let V=P.getContent(c);return {...P.toJSON(),locale:V.locale,name:V.name,attributes:V.attributes,keywords:V.keywords}}if(s){let P=await An(e),V=P[c]||P[Yr],T={query:Y===""?"*":Y,limit:j,variant:m,report:h,offset:b};return await V.search(T)}else {let P=[],V=await ze(e);if(i&&i!==""&&V[c]){let C=Ve(i,D!=="arabic"),x={query:C,limit:j},ae=await V[c].search(x);if(s?P=ae.data.results.map(ue=>parseInt(ue.content_id,10)):P=ae.reduce((ue,ce)=>ue.concat(ce.result),[]),P=or(P),l&&V[l]){let ce=V[l].search(C).reduce((et,tt)=>et.concat(tt.result),[]);ce=or(ce),P=or([...P,...ce]);}}let T={...d?{visible:d}:{},..._?{image_id:{[Op.eq]:null}}:{},...m.length?{variant_id:m}:{},...y.length?{dimension_id:y}:{},...h.length?{report_id:h}:{}},v={locale:R?{[Op.ne]:null}:c},L=i&&i!==""&&P.length?[[literal(`array_position(array[${P.join(",")}], "content_id")`),"ASC"]]:[["zvalue","DESC NULLS LAST"]];B&&B!=="name"&&L.unshift([B,E.toUpperCase()]),i&&i!==""&&(T.content_id=P);let A=[{association:"contentByLocale",where:v}];I&&A.push({association:"report",attributes:["id","name"]},{association:"dimension",attributes:["id","name"]},{association:"variant",attributes:["id","slug","name"]});let w={...T.visible?{visible:T.visible}:{},...T.noImage?{image_id:T.noImage}:{},...T.content_id?{content_id:T.content_id}:{}};if(!T.report_id&&!T.dimension_id&&!T.variant_id&&d){let x=(await r.findAll({attributes:["id"],where:{[Op.or]:[where(cast(json("settings.hide"),"boolean"),!0)]}})).map(ae=>ae.id);x.length>0&&(T.report_id={[Op.notIn]:x},w.report_id=T.report_id);}let F=[],[Q,J]=await Promise.all([t.findAll({limit:j,offset:b,where:T,include:A,order:L}),t.findAll({attributes:["variant_id",[fn$1("COUNT",col("variant_id")),"members_count"]],where:w,group:["variant_id"]})]),Re=J.map(C=>C.toJSON());if(B==="name"){let C=E.toUpperCase()==="ASC"?1:-1;Q.sort((x,ae)=>{let ue=x.getContent(Yr),ce=ae.getContent(Yr);return ue&&ce?ue.name>ce.name?1*C:-1*C:0});}let K=u==="nested"?H:U;return F=Q.map(K),u!=="nested"&&F.forEach(C=>{let{name:x,keywords:ae,score:ue=.1,zvalue:ce}=C;if(x){let et=Ve(x),tt=ue,Mo=i.length/et.length,Oo=et.split("").reduce((Or,No,Do)=>(i.slice(0,Do),i.charAt(Do)===No&&(Or+=No),Or),"").length;et===i||ae&&ae.includes(i)?tt=1e6:et.startsWith(i)?tt*=20*Mo:Oo&&(tt*=Oo*Mo),C.zvalue=tt*2+ce;}}),{meta:{origin:"flexsearch",...Object.fromEntries(Object.entries(n).map(C=>[C[0],G(C[1])])),variantCount:Re.reduce((C,x)=>(C[x.variant_id]=parseInt(x.members_count,10),C),{})},results:F}}}}function Tn(e){let{image:t,image_content:r,search:o,search_content:n}=e;return a;async function a(s){let{content_id:i,contentByLocale:c,image:l,image_id:p}=s,u={where:{content_id:i}},d=await o.findOne(u);if(await o.update(s,{where:{content_id:i}}),c){for(let y=0;y<c.length;y++){let h=c[y];await n.update({name:h.name,keywords:h.keywords},{where:{id:h.id,locale:h.locale}});}u={...u,...{include:[{association:"contentByLocale",separate:!0}]}};}if(l){if(l.id&&(await t.update({...l},{where:{id:l.id}}),l.contentByLocale))for(let m=0;m<l.contentByLocale.length;m++){let y=l.contentByLocale[m];await r.update({meta:y.meta},{where:{id:y.id,locale:y.locale}});}}else !p&&d.image_id&&(await e.search.findAll({where:{image_id:d.image_id}})).length===0&&await t.destroy({where:{id:d.image_id}});return o.findOne(u)}}function _n(e){return {ingestMembers:Rn(e),readMember:bn(e),searchMember:pt(e),updateMember:Tn(e),readMemberImage:Sn(e)}}var qe={include:[{association:"contentByLocale",separate:!0},{association:"inputs",include:[{association:"contentByLocale",separate:!0}]},{association:"consumers",include:[{association:"contentByLocale",separate:!0}]}]},Dt=e=>({include:[{association:"variants",separate:!0,attributes:{include:[[fn$1("COUNT",col("members.id")),"members_count"]]},include:[{model:e,as:"members",attributes:[]}],group:["variant.id"]}],order:[["ordering","ASC"]]}),Ut={include:[{association:"blocks",separate:!0,...qe}]},mr=e=>({include:[{association:"dimensions",separate:!0,...Dt(e)},{association:"sections",separate:!0,...Ut}]});var ye=[{association:"image",attributes:{exclude:["splash"]},include:[{association:"contentByLocale"}]},{association:"contentByLocale"}];function vn(e){let{block:t,block_content:r,block_input:o}=e;return {createBlock:n,readBlock:s,updateBlock:i,deleteBlock:l,createBulkBlock:a,updateBulkBlock:c};async function n(p){let{locales:u,...d}=p;return (await t.create({...d,consumers:[],inputs:[],contentByLocale:u.map(y=>({locale:y}))},{include:qe.include})).toJSON()}async function a(p){let u=p.map(m=>{let{locales:y,...h}=m;return {...h,consumers:[],inputs:[],contentByLocale:y.map(_=>({locale:_}))}});return (await t.bulkCreate(u,{include:qe.include})).map(m=>m.toJSON())}async function s({id:p,include:u}={}){let d=p==null?[]:[].concat(p),m=await t.findAll({where:d.length>0?{id:d}:void 0,include:u?qe.include:void 0});if(d.length===0||m.length===d.length)return m.map(R=>R.toJSON());let y=m.map(R=>R.id),h=d.filter(R=>!y.includes(R));throw new S(404,`Block(id=[${h}]) does not exist.`)}async function i(p){let{id:u,contentByLocale:d,consumers:m,inputs:y,inputAction:h,...R}=p,_=await t.findByPk(u,{include:qe.include,rejectOnEmpty:!0});if(_.set(R),d){let I=Object.values(d);await r.bulkCreate(I,{updateOnDuplicate:["content"]});}return h&&(h.operation==="create"?await o.create(h.input):await o.destroy({where:h.input})),await _.save(),await _.reload(),_.toJSON()}async function c(p){let u=p.map(y=>{let{id:h,contentByLocale:R,consumers:_,inputs:I,inputAction:B,...E}=y;return {id:h,contentByLocale:R,inputAction:B,...E}}),d=await t.findAll({where:{id:{[Op.or]:u.map(y=>y.id)}},include:qe.include}),m=[];for(let y of d){let h=u.filter(R=>R.id===y.id);for(let R=0;R<h.length;R++){let _=h[R],{id:I,contentByLocale:B,inputAction:E,...b}=_;if(E&&(E.operation==="create"?await o.create(E.input):await o.destroy({where:E.input})),B){let N=Object.values(B);await r.bulkCreate(N,{updateOnDuplicate:["content"]});}y.set(b),await y.save(),await y.reload(),m.push(y.toJSON());}}return m}async function l(p){let u=await t.findByPk(p,{rejectOnEmpty:!0});return await u.destroy(),{id:p,parentType:"section",parentId:u.section_id}}}function kn(e){let{dimension:t,search:r}=e;return {createDimension:o,readDimension:n,updateDimension:a,deleteDimension:s};async function o(i){return (await t.create({name:i.name,report_id:i.report_id,variants:[]},{include:Dt(r).include})).toJSON()}async function n({id:i,include:c}={}){let l=i==null?[]:[].concat(i),p=await t.findAll({where:l.length>0?{id:l}:void 0,include:c?Dt(r).include:void 0});if(l.length===0||p.length===l.length)return p.map(m=>m.toJSON());let u=p.map(m=>m.id),d=l.filter(m=>!u.includes(m));throw new S(404,`Dimension(id=[${d}]) does not exist.`)}async function a(i){let{id:c,variants:l,...p}=i,u=await t.findByPk(c,{include:Dt(r).include,rejectOnEmpty:!1});if(!u)throw new S(404,`Dimension(id=${c}) does not exist.`);return u.set(p),await u.save(),u.toJSON()}async function s(i){let c=await t.findByPk(i,{rejectOnEmpty:!1});return await c.destroy(),{id:i,parentType:"report",parentId:c.report_id}}}function Pn(e){let{formatter:t}=e;return {createFormatter:r,readFormatter:o,updateFormatter:n,deleteFormatter:a};async function r(s){return (await t.create(s)).toJSON()}async function o({id:s}={}){let i=s==null?[]:[].concat(s),c=await t.findAll({where:i.length>0?{id:i}:void 0});if(i.length===0||c.length===i.length)return c.map(u=>u.toJSON());let l=c.map(u=>u.id),p=i.filter(u=>!l.includes(u));throw new S(404,`Formatter(id=[${p}]) does not exist.`)}async function n(s){let{id:i,...c}=s,l=await t.findByPk(i,{rejectOnEmpty:!0});return await l.update(c),l.toJSON()}async function a(s){return await(await t.findByPk(s,{rejectOnEmpty:!0})).destroy(),{id:s}}}var{locales:oc}=q();function wn(e){let{report:t,search:r}=e;return {createReport:o,readReport:n,updateReport:a,deleteReport:s};async function o(i){return (await t.create({name:i.name,sections:[],dimensions:[]},{include:mr(r).include})).toJSON()}async function n({id:i,include:c,locales:l=oc}={}){let u=(i==null?[]:[].concat(i)).reduce((h,R)=>(h.includes(R)||h.push(R),h),[]),d=await t.findAll({where:u.length>0?{id:u}:void 0,include:c?mr(r).include?.filter(h=>typeof c=="string"?h.association===c:c):void 0});if(u.length===0||d.length===u.length)return d.map(h=>{let R=h.toJSON();return {...R,sections:R.sections.map(_=>({..._,blocks:_.blocks.map(I=>({...I,contentByLocale:Object.keys(I.contentByLocale).reduce((B,E)=>({...B,...[...l,"logic"].includes(E)?{[E]:I.contentByLocale[E]}:{}}),{})}))}))}});let m=d.map(h=>h.id),y=u.filter(h=>!m.includes(h));throw new S(404,`Report(id=${y}) does not exist.`)}async function a(i){let{id:c,dimensions:l,sections:p,...u}=i,d=await t.findByPk(c,{include:mr(r).include,rejectOnEmpty:!1});if(!d)throw new S(404,`Report(id=${c}) does not exist.`);return d.set(u),await d.save(),await d.reload(),d.toJSON()}async function s(i){return await(await t.findByPk(i,{rejectOnEmpty:!1})).destroy(),{id:i}}}function In(e){let{section:t}=e;return {createSection:r,readSection:o,updateSection:n,deleteSection:a};async function r(s){return (await t.create({ordering:s.ordering,report_id:s.report_id,blocks:[]},{include:Ut.include})).toJSON()}async function o({id:s,include:i}={}){let c=s==null?[]:[].concat(s),l=await t.findAll({where:c.length>0?{id:c}:void 0,include:i?Ut.include:void 0});if(c.length===0||l.length===c.length)return l.map(d=>d.toJSON());let p=l.map(d=>d.id),u=c.filter(d=>!p.includes(d));throw new S(404,`Section(id=${u}) does not exist.`)}async function n(s){let{id:i,blocks:c,...l}=s,p=await t.findByPk(i,{include:Ut.include,rejectOnEmpty:!1});return p.set(l),await p.save(),await p.reload(),p.toJSON()}async function a(s){let i=await t.findByPk(s,{rejectOnEmpty:!0});return await i.destroy(),{id:s,parentType:"report",parentId:i.report_id}}}function Bn(e,t){let{variant:r,search:o}=e;return {createVariant:n,readVariant:a,updateVariant:s,deleteVariant:i,validateVariantSlug:c};async function n(l){let{dimension_id:p,name:u,slug:d}=l,m=await c({dimension:p,slug:d});return (await r.create({dimension_id:p,name:u,slug:m.valid?m.candidate:m.suggestion})).toJSON()}async function a({id:l}={}){let p=l==null?[]:[].concat(l),u=await r.findAll({where:p.length>0?{id:p}:void 0,attributes:{include:[[fn$1("COUNT",col("members.id")),"members_count"]]},include:[{model:o,attributes:[],as:"members"}],group:["variant.id"]});if(p.length===0||u.length===p.length)return u.map(y=>y.toJSON());let d=u.map(y=>y.id),m=p.filter(y=>!d.includes(y));throw new S(404,`Variant(id=${m}) does not exist.`)}async function s(l){let{id:p,...u}=l,d=await r.findByPk(p,{include:[{association:"dimension"}],rejectOnEmpty:!0});u.settings=Ot(u.settings);let m=u.settings.doIngest;return u.settings.doIngest=!1,await d.update(u),m&&(await t.ingestMembers(d),await ze(e,!0)),await d.reload(),d.toJSON()}async function i(l){let p=await r.findByPk(l,{rejectOnEmpty:!0});return await p.destroy(),ze(e,!0),{id:l,parentType:"dimension",parentId:p.dimension_id}}async function c({dimension:l,slug:p}){let u=await r.findAll({attributes:["slug",[fn$1("COUNT",col("id")),"slugCount"]],where:{dimension_id:{[Op.ne]:l}},group:"slug"}).then(h=>Object.fromEntries(h.map(R=>{let _=R.getDataValue("slugCount");return [R.slug,Number.parseInt(`${_}`,10)]}))),d=p,m=1,y=!0;for(;u[d];)y=!1,d=`${p}-${m}`,m++;return {candidate:p,dimension_id:l,suggestion:d,valid:y}}}function Ln(e){let t={...vn(e),...kn(e),...Pn(e),..._n(e),...wn(e),...In(e)},r={...t,...Bn(e,t)};return {createFormatter:k(r.createFormatter),deleteFormatter:k(r.deleteFormatter),readFormatter:k(r.readFormatter),updateFormatter:k(r.updateFormatter),createReport:k(r.createReport),deleteReport:k(r.deleteReport),readReport:k(r.readReport),updateReport:k(r.updateReport),createDimension:k(r.createDimension),deleteDimension:k(r.deleteDimension),readDimension:k(r.readDimension),updateDimension:k(r.updateDimension),createVariant:k(r.createVariant),readVariant:k(r.readVariant),updateVariant:k(r.updateVariant),deleteVariant:k(r.deleteVariant),validateVariantSlug:k(r.validateVariantSlug),createSection:k(r.createSection),readSection:k(r.readSection),updateSection:k(r.updateSection),deleteSection:k(r.deleteSection),createBlock:k(r.createBlock),deleteBlock:k(r.deleteBlock),readBlock:k(r.readBlock),updateBlock:k(r.updateBlock),createBulkBlock:k(r.createBulkBlock),updateBulkBlock:k(r.updateBulkBlock),readMember:k(r.readMember),searchMember:k(r.searchMember),updateMember:k(r.updateMember),readMemberImage:k(r.readMemberImage)}}var Mn=e=>{throw console.error("/methods/helpers/uploadImage.ts:",e),new Error(e.message)},sc=Number(process.env.NEXT_PUBLIC_IMAGE_SPLASH_WIDTH)||1400,ic=Number(process.env.NEXT_PUBLIC_IMAGE_THUMB_WIDTH)||400,cc=async(e,t,r)=>{let o=[{type:"splash",res:sc},{type:"thumb",res:ic}];for(let n of o){let a=await ac(r).resize(n.res).toFormat("webp").webp({lossless:!0}).toBuffer().catch(Mn);await e.image.update({[n.type]:a},{where:{id:t}}).catch(Mn);}},_e=cc;var On="|||";var Nn="SECTION_ALLOWED";var Dn=["4","5","7","8","9","10"],dc=Dn.join(),{locales:mc}=q(),ve;if(process.env.FLICKR_API_KEY)try{ve=new pc(process.env.FLICKR_API_KEY);}catch(e){throw console.error("Flickr ERROR:",e),new Error(e.message)}async function Un(e,t){try{let r={prompt:t.prompt||"",page:t.page||1};if(!ve)throw console.log("Flickr is not initialized. Check the credentials"),new Error("Flickr is not initialized. Check the credentials");let o=r.prompt,a=(await ve.photos.search({text:o,license:dc,sort:"relevance",per_page:24,page:r.page,content_types:"0",orientation:"landscape"}).then(l=>l.body)).photos.photo,s=a.reduce((l,p)=>l.concat(ve.photos.getSizes({photo_id:p.id})),[]),c=(await Promise.all(s).then(l=>l)).reduce((l,p,u)=>{let d=p.body.sizes.size.find(m=>m.label==="Small 320");return d&&l.push({id:a[u].id,source:d.source}),l},[]);return {meta:{prompt:G(r.prompt),page:G(`${r.page}`)},results:c}}catch(r){throw console.log(r),new Error("Error in search flickr provider")}}async function Fn(e,t){try{let{content_id:r,image_id:o}=t,n={content_id:G(`${r}`)||"",id:G(`${o}`)||""},s=`https://flic.kr/p/${uc.int_to_base58(o)}`;if(!ve)throw new Error("Flickr API Key not configured");let i=await ve.photos.getInfo({photo_id:o}).then(l=>l.body),c;if(i)if(Dn.includes(i.photo.license)){let l=await e.search.findOne({where:{content_id:r}}),p=await e.image.findOne({where:{url:s}});if(l){if(p)await e.search.update({image_id:p.id},{where:{content_id:r}});else {let d=await ve.photos.getSizes({photo_id:o}).then(E=>E.body),m=d.sizes.size.find(E=>parseInt(E.width,10)>=1600);if(m||(m=d.sizes.size.find(E=>parseInt(E.width,10)>=1e3)),m||(m=d.sizes.size.find(E=>parseInt(E.width,10)>=500)),!m||!m.source)throw new Error("Flickr Source Error, try another image.");let y=await br.get(m.source,{responseType:"arraybuffer"}).then(E=>E.data),R=(await ve.photos.licenses.getInfo().then(E=>E.body.licenses.license)).find(E=>E.id===parseInt(i.photo.license,10)),_={url:s,author:i.photo.owner.realname||i.photo.owner.username,license:R?`${R.name}: ${R.url}`:""},I=await e.image.create(_);await e.image_content.destroy({where:{id:I.id}});let B=mc.map(E=>({id:I.id,locale:E,meta:i.photo.title._content}));await e.image_content.bulkCreate(B),await e.search.update({image_id:I.id},{where:{content_id:r}}),await _e(e,I.id,y);}let u=await e.search.findOne({where:{content_id:r},include:ye});u&&u.image&&(u.image.thumb=!!u.image.thumb);}else throw new Error("Error updating Search")}else throw new Error("Bad License");else throw new Error("Malformed URL");return {meta:{...n},results:c}}catch(r){throw console.log(r),new Error("Error in save flickr provider")}}function O(e,t,r,o){return {method:e,path:t,handler:r,roleRequired:o}}function Z(e){let t=Number.parseInt(`${e||""}`,10);if(Number.isNaN(t)||!Number.isFinite(t))throw new S(400,`Invalid numeric parameter: ${e}`);return t}function z(e){return e==null||e===""?[]:Array.isArray(e)?e:e.toString().split(",")}var{localeDefault:ke}=q();function Vn(e){let{readMember:t,searchMember:r,updateMember:o,readMemberImage:n}=e;return [O("GET","read/members",async a=>{let s=fc(a.query),i=s[s.mode]||[],c=s.mode==="whole";if(!c&&i.length===0)throw new S(400,`The request is missing the '${s.mode}' parameter.`);if(!c&&i.length>20&&!s.variant)throw new S(400,`You can look for up to 20 '${s.mode}' in a single request.`);return t(s)}),O("GET","search/members",a=>{let s=Ft(a.query);return r(s)}),O("POST","update/member",a=>{let{body:s}=a;return o(s)},[$.EDITOR]),O("GET","member/image",a=>{let s=z(a.query.size)[0];return n({member:Z(a.query.member),size:s&&s==="splash"?"splash":"thumb"})})]}function fc(e){let t=z(e.locale)[0]||ke||"en",r=t==="all"||fr(e.all),o=z(e.mode)[0],a=(z(e.output)[0]||"full")==="lite"?"lite":"full",s=parseInt(z(e.related)[0],10)||5,i=z(e.variant).map(Z);if(i.length===0&&(i=z(e["variant[]"]).map(Z)),o==="ids")return {all:r,mode:o,variant:i,output:a,locale:r?ke:G(t),ids:z(e.ids||e["ids[]"])};if(o==="content_ids")return {all:r,mode:o,variant:i,output:a,locale:r?ke:G(t),content_ids:z(e.content_ids||e["content_ids[]"]).map(Z)};if(o==="slugs")return {all:r,mode:o,variant:i,output:a,locale:r?ke:G(t),slugs:z(e.slugs||e["slugs[]"]).map(c=>{let[l,p]=c.split("/");return {variantSlug:l,memberSlug:p}})};if(o==="related")return {all:r,mode:o,locale:r?ke:G(t),related:s,current_ids:z(e.current_ids||e["current_ids[]"]).map(Z),include_ids:z(e.include_ids||e["include_ids[]"]).map(Z),report_ids:z(e.report_ids||e["report_ids[]"]).map(Z),dimension_ids:z(e.dimension_ids||e["dimension_ids[]"]).map(Z),variant_ids:z(e.variant_ids||e["variant_ids[]"]).map(Z),output:a};if(o==="whole")return {all:r,mode:o,variant:i,locale:r?ke:G(t),output:a};throw new S(400,`Invalid mode: '${o}'`)}function Ft(e){let t=z(e.locale)[0]||ke||"en",r=t==="all",o=z(e.format)[0],n=o?o==="nested":r,a=z(e.variant).map(Z);a.length===0&&(a=z(e["variant[]"]).map(Z));let s=z(e.dimension).map(Z);s.length===0&&(s=z(e["dimension[]"]).map(Z));let i=z(e.report).map(Z);i.length===0&&(i=z(e["report[]"]).map(Z));let c=e.origin==="typesense"?"typesense":"flexsearch";return {query:z(e.query||e.q)[0]||"",locale:r?ke:t,preferredLocale:z(e.preferredLocale)[0],limit:z(e.limit).map(Z)[0]??5,format:n?"nested":"plain",includes:fr(e.includes,{default:!0}),visible:fr(e.visible,{default:!0}),noImage:fr(e.noImage,{default:!1}),variant:a,dimension:s,report:i,all:r,sort:z(e.sort)[0],direction:z(e.direction)[0],offset:Number(e.offset||0),origin:c}}async function zn(e,t){let r=pt(e),o=Ft({query:t.prompt,limit:"50",visible:"false"}),a=(await r(o)).results.filter(s=>s.image_id).map(s=>({id:s.image_id,source:`/api/cms/member/image?member=${s.content_id}&size=thumb`}));return {meta:{prompt:G(o.query)},results:a}}async function $n(e,t){let{search:r}=e,{content_id:o,image_id:n}=t;await r.update({image_id:n},{where:{content_id:o}});let a=await r.findOne({where:{content_id:o},include:ye}).then(s=>s?{...s.toJSON(),image:{...s.image.toJSON(),thumb:!!s.image.thumb}}:null);return {meta:{id:n,content_id:o},results:a}}var{locales:hc}=q(),Vt;if(process.env.UNSPLASH_API_KEY)try{Vt=createApi({accessKey:process.env.UNSPLASH_API_KEY});}catch(e){throw console.error("Unsplash error:",e),new Error(e.message)}async function qn(e,t){try{let r={prompt:t.prompt||"",page:t.page||1};if(!Vt)throw new Error("Unsplash API Key not configured");let o=r.prompt,a=(await Vt.search.getPhotos({query:o,perPage:24,page:r.page,orientation:"landscape"}).then(s=>s.response.results)).map(s=>({id:s.id,source:s.urls.thumb}));return {meta:{prompt:G(r.prompt),page:G(`${r.page}`)},results:a}}catch(r){throw console.log(r),new Error("Error in search unsplash provider")}}async function Gn(e,t){try{let{content_id:r,image_id:o}=t,n={content_id:G(`${r}`)||"",id:G(`${o}`)||""};if(!Vt)throw console.log("Unsplash is not initialized. Check the credentials"),new Error("Unsplash is not initialized. Check the credentials");let a=await Vt.photos.get({photoId:o}).then(i=>i.response),s;if(a){let i=await e.search.findOne({where:{content_id:r}}),c=a.links.html,l=await e.image.findOne({where:{url:c}});if(i){if(l)await e.search.update({image_id:l.id},{where:{content_id:r}});else {let u=await br.get(a.urls.full,{responseType:"arraybuffer"}).then(h=>h.data),d={url:c,author:a.user.name||a.user.username,license:"Free Unsplash license: https://unsplash.com/license"},m=await e.image.create(d);await e.image_content.destroy({where:{id:m.id}});let y=hc.map(h=>({id:m.id,locale:h,meta:a.description||a.alt_description}));await e.image_content.bulkCreate(y),await e.search.update({image_id:m.id},{where:{content_id:r}}),await _e(e,m.id,u);}let p=await e.search.findOne({where:{content_id:r},include:ye});p&&p.image&&(p.image.thumb=!!p.image.thumb);}else throw new Error("Error updating Search")}else throw new Error("Malformed URL");return {meta:{...n},results:s}}catch(r){throw console.log(r),new Error("Error in save unsplash provider")}}var{locales:bc}=q();async function Kn(e,t){try{let{content_id:r,image_source:o,files:n}=t,a={content_id:G(`${r}`)||""};if(await e.search.findOne({where:{content_id:r}})&&n){let c=await Rc.readFileSync(n.file.filepath),l={url:o,author:"",license:""},p=await e.image.create(l);await e.image_content.destroy({where:{id:p.id}});let u=bc.map(d=>({id:p.id,locale:d,meta:""}));await e.image_content.bulkCreate(u),await e.search.update({image_id:p.id},{where:{content_id:r}}),await _e(e,p.id,c);}let i=await e.search.findOne({where:{content_id:r},include:ye});return i&&i.image&&(i.image.thumb=!!i.image.thumb),{meta:{...a},results:i}}catch(r){throw console.log(r),new Error("Error in save upload provider")}}var{locales:Sc}=q();var jn=async e=>{let t={"x-api-key":process.env.ADOBE_STOCK_API_KEY||"EMPTY_ADOBE_KEY","X-Product":"BespokeApp/0.1"};return e&&(t.Authorization=`Bearer ${e}`),t};var zt;if(process.env.ADOBE_STOCK_API_KEY)try{zt={search:async(e,t)=>await br.get("https://stock.adobe.io/Rest/Media/1/Search/Files",{headers:await jn(!1),params:{locale:"en_US","search_parameters[limit]":24,"search_parameters[offset]":t*24,"search_parameters[words]":e,"search_parameters[filters][content_type:photo]":"1","search_parameters[filters][content_type:image]":"1","search_parameters[filters][orientation]":"horizontal",result_columns:["id","stock_id","thumbnail_url","is_licensed"]}}).then(r=>r.data.files),get:async e=>await br.get("https://stock.adobe.io/Rest/Media/1/Files",{headers:await jn(!1),params:{locale:"en_US",ids:e,result_columns:["id","thumbnail_url","creator_name","title","thumbnail_1000_url","details_url","category"]}}).then(t=>t.data.files[0])};}catch{}async function Hn(e,t){try{let r={prompt:t.prompt||"",page:t.page||1};if(!zt)throw new Error("Adobe API Key not configured");let n=(await zt.search(r.prompt,r.page)).map(a=>({id:a.id,source:a.thumbnail_url}));return {meta:{prompt:G(r.prompt),page:G(`${r.page}`)},results:n}}catch(r){throw console.log(r),new Error("Error in search Adobe provider")}}async function Wn(e,t){try{let{content_id:r,image_id:o}=t,n={content_id:G(`${r}`)||"",id:G(`${o}`)||""};if(!zt)throw console.log("Adobe is not initialized. Check the credentials"),new Error("Adobe is not initialized. Check the credentials");let a=await zt.get(o),s;if(a){let i=await e.search.findOne({where:{content_id:r}}),c=a.details_url,l=await e.image.findOne({where:{url:c}});if(i){if(l)await e.search.update({image_id:l.id},{where:{content_id:r}});else {let u=await br.get(a.thumbnail_1000_url,{responseType:"arraybuffer"}).then(h=>h.data),d={url:c,author:a.creator_name,license:"ADOBE, TO-DO"},m=await e.image.create(d);await e.image_content.destroy({where:{id:m.id}});let y=Sc.map(h=>({id:m.id,locale:h,meta:a.title||a.description}));await e.image_content.bulkCreate(y),await e.search.update({image_id:m.id},{where:{content_id:r}}),await _e(e,m.id,u);}let p=await e.search.findOne({where:{content_id:r},include:ye});p&&p.image&&(p.image.thumb=!!p.image.thumb);}else throw new Error("Error updating Search")}else throw new Error("Malformed URL");return {meta:{...n},results:s}}catch(r){throw console.log(r),new Error("Error in save adobe provider")}}var Ec={local:$n,flickr:Fn,unsplash:Gn,upload:Kn,adobe:Wn};function mt(e,t){let r=Ec[t];if(!r)throw new S(500,`Wrong provider dbImageSaveFactory.ts: ${t}`);return k(o=>r(e,o))}var Ac={local:zn,flickr:Un,unsplash:qn,adobe:Hn};function $t(e,t){let r=Ac[t];if(!r)throw new S(500,`Wrong provider dbImageSearchFactory.ts: ${t}`);return k(o=>r(e,o))}var Ic=e=>(e.dimensions&&e.dimensions.forEach(t=>{t.variants&&t.variants.forEach(r=>{r.members_count&&(r.members_count=parseInt(r.members_count,10));});}),e);function yr(e){let{report:t,search:r}=e;return o;async function o(n){return {data:(await t.findAll({attributes:["id","name",[literal("COALESCE(NULLIF(settings ->> 'order', '')::INTEGER, 0)"),"ordering"],[literal("COALESCE(NULLIF(settings ->> 'hide', '')::BOOL, false)"),"hide"]],where:{[Op.or]:[where(cast(json("settings.hide"),"boolean"),!1),literal("NOT (settings::jsonb ? 'hide')")]},order:[["ordering","ASC"]],include:[{attributes:["id","name","ordering"],association:"dimensions",separate:!0,order:[["ordering","ASC"]],include:[{attributes:["id","name","slug",[fn$1("COUNT",col("members.id")),"members_count"],[literal("COALESCE(NULLIF(settings ->> 'order', '')::INTEGER, 0)"),"ordering"]],include:[{model:r,attributes:[],as:"members",where:{visible:!0}}],association:"variants",separate:!0,group:["variant.id"],order:[["ordering","ASC"]]}]}]})).map(s=>({...Ic(s.toJSON()),mode:s.dimensions.length===1?Te.UNILATERAL:Te.MULTILATERAL}))}}}function Jn(e){return async()=>(await ze(e,!0),{error:!1})}var{locales:xc,localeDefault:Cc}=q(),Bc=(e,t)=>{if(!e)return [];let r=[];return t.forEach(o=>{let n=e.filter(a=>a.metadata.report.id===o.id);if(n.length>0)if(o.mode===Te.UNILATERAL){let a=o.dimensions[0];a.variants.forEach(s=>{let i=n.filter(c=>c.metadata.dimension.id===a.id&&c.metadata.variant.id===s.id);i.length>0&&(r=r.concat(i.map(c=>({path:`/${s.slug}/${c.slug}`,name:c.name,confidence:c.confidence,report:{id:o.id,name:o.name,mode:o.mode},members:[c],id:`r-${o.id}-${[c].map(l=>`${l.id}`).join("-")}`}))));});}else o.mode;}),r},Lc=(e,t)=>{if(!e)return [];let r,o,n;return e.map(a=>(r={...t.find(s=>s.id===a.report_id)},o={...r.dimensions.find(s=>s.id===a.dimension_id)},n={...o.variants.find(s=>s.id===a.variant_id)},delete r.dimensions,delete o.variants,{name:a.name,confidence:a.zvalue,metadata:{id:a.id,slug:a.slug,report:r,dimension:o,variant:n},id:a.content_id,slug:a.slug}))};function Yn(e){let t=pt(e),r=yr(e);return o;async function o(n){let a=n.format||"results",s=xc.includes(n.locale)?n.locale:Cc,i=n.origin||"flexsearch",c=process.env.REPORTS_EXTERNAL_SEARCH&&i==="typesense",l=await t({...n,format:"plain",locale:G(s),visible:!0});if(c)return l;{let p=l.results?l.results:[],d=(await r()).data,m=Lc(p,d);return {meta:{...l.meta,origin:"flexsearch",format:a},results:Bc(m,d)}}}}function Qn(){return async e=>{let t=typeof e=="string"?{url:e}:e;try{let r=await br.request(t);return {ok:!0,status:r.status,data:r.data}}catch(r){throw new S(r.response?.status||500,r.message)}}}function Zn(e){return async t=>{try{let{variantPaths:r}=t,o=[];if(r)for(let n=0;n<r.length;n++){let a=r[n];(await e.search.findAll({attributes:["slug"],where:{variant_id:a.variantId}})).forEach(i=>{o.push(`/${a.prefix}/${a.variantSlug}/${i.slug}`);});}return {...t,paths:o,revalidated:0,samples:[]}}catch(r){throw new S(r.response?.status||500,r.message)}}}function Xn(){return async e=>{try{let{target:t}=e;return {target:t}}catch(t){throw new S(t.response?.status||500,t.message)}}}function qt(e,t){let r=[],o=a=>Object.values(t).reduce((i,c)=>("inputs"in c&&c.inputs.includes(a)&&(i.push(c.id),i=i.concat(o(c.id))),i),[]);e.forEach(a=>{r=r.concat(o(a));});let n=[];return r.forEach(a=>{n.includes(a)||n.push(a);}),n}function Nc(e,t){return e.some(r=>t.includes(`role.${r}`))}function ea(e){let{report:t}=e;return r;async function r(o){let n=await t.findByPk(o.report_id,{include:{association:"sections",separate:!0,where:{id:o.section_id},include:[{association:"blocks",separate:!0,include:[{association:"contentByLocale",separate:!0,where:{locale:{[Op.or]:[o.locale,"logic"]}}},{association:"inputs"},{association:"consumers"}]}]}}).then(s=>s&&s.sections&&Array.isArray(s.sections)?s.sections.reduce((i,c)=>{let l=c.blocks.map(p=>{let u=p.toJSON();return u.inputs=u.inputs.map(d=>d.id),u.consumers=u.consumers.map(d=>d.id),u});return i.concat(l)},[]):[]),a=n.filter(s=>s.settings&&s.settings.access&&Array.isArray(s.settings.access)&&Array.isArray(o.roles)&&(s.settings.access.includes("private")||Nc(o.roles,s.settings.access))).map(s=>s.id);return a=a.concat(qt(a,n)),{params:{...o},data:n.filter(s=>a.includes(s.id))}}}var Fc=Object.keys(Zr).filter(e=>e.indexOf("Icon")===0);async function ta(){return {meta:{provider:"tabler"},results:Fc}}async function ra(e){let t=Zr[e.name]?Zr[e.name]:()=>"";return renderToString(createElement(t))}var Vc={tabler:ta};function oa(e){let t=Vc[e];if(!t)throw new S(500,`Wrong provider dbListIconsFactory.ts: ${e}`);return k(()=>t())}var zc={tabler:ra};function na(e){return k(t=>{let r=zc[e];if(!r)throw new S(500,`Wrong provider dbReadIconFactory.ts: ${t.provider}`);return r({name:t.name,provider:e})})}function Gt(e,t,r){return Fe().then(o=>{Object.assign(r,ft(o));})}function ft(e,t){let r={},o=we(t||{providers:[]});return t&&o.actions&&o.source==="custom"?(r.searchRole=k(o.actions.searchRole()),r.searchUser=k(o.actions.searchUser()),r.readUser=k(o.actions.readUser()),r.updateUser=k(o.actions.updateUser())):o.source==="auth0"&&(r.searchRole=k($o()),r.searchUser=k(qo()),r.readUser=k(Go()),r.updateUser=k(Ko())),{...Ln(e),searchReport:k(Yn(e)),readMetadata:k(yr(e)),regenerateSearch:k(Jn(e)),imageFlickrSearch:$t(e,"flickr"),imageLocalSearch:$t(e,"local"),imageUnsplashSearch:$t(e,"unsplash"),imageAdobeSearch:$t(e,"adobe"),imageFlickrSave:mt(e,"flickr"),imageLocalSave:mt(e,"local"),imageUnsplashSave:mt(e,"unsplash"),imageUploadSave:mt(e,"upload"),imageAdobeSave:mt(e,"adobe"),urlProxy:Qn(),searchRole:r.searchRole,searchUser:r.searchUser,readUser:r.readUser,updateUser:r.updateUser,updateMyData:k(jo()),revalidateReport:k(Zn(e)),revalidateUrl:k(Xn()),readPrivateBlocks:k(ea(e)),listTablerIcons:oa("tabler"),readTablerIcon:na("tabler")}}async function Xr(e){try{let t=new $c.IncomingForm,r=await new Promise((o,n)=>{t.parse(e,(a,s,i)=>{if(a){console.log("Error in formidable parse function inside internal parseBody.ts",a),n(a);return}o({fields:s,files:i});});});return {...r.fields,files:r.files}}catch(t){return {error:t}}}function Ge(e,t){let r=ne(e,"create",t),o=ne(e,"read",t),n=ne(e,"update",t),a=ne(e,"delete",t),s=ne(e,"updateBulk",t),i=ne(e,"createBulk",t);return [O("POST",`create/bulk/${t}`,c=>{let{body:l}=c,{files:p,...u}=l,d=Object.keys(u).map(m=>u[m]);return i(d)},[$.EDITOR]),O("POST",`create/${t}`,c=>{let{body:l}=c;return r(l)},[$.EDITOR]),O("GET",`read/${t}`,c=>{let l=c.query,p=z(l.id).map(Z);return o({id:p,include:fr(l.include)})}),O("POST",`update/${t}`,c=>{let{body:l}=c;return n(l)},[$.EDITOR]),O("POST",`update/bulk/${t}`,c=>{let{body:l}=c,{files:p,...u}=l,d=Object.keys(u).map(m=>u[m]);return s(d)},[$.EDITOR]),O("DELETE",`delete/${t}`,c=>{let l=Z(c.query.id);return a(l)},[$.EDITOR])]}function aa(e){let{validateVariantSlug:t}=e;return [...Ge(e,"variant"),O("GET","validate/variant",r=>{let o=r.query,n=Z(o.dimension);return t({dimension:n,slug:ur(o.slug)})},[$.EDITOR])]}function gt(e,t){let r=`image${ge(t)}Save`,o=e[r];return O("POST",`images/save/${t}`,n=>{let a=n.body;if(!a.content_id)throw new S(400,"Missing 'content_id' parameter.");if(!a.image_id)throw new S(400,"Missing 'image_id' parameter.");return o(a)},[$.EDITOR])}function Kt(e,t){let r=`image${ge(t)}Search`,o=e[r];return O("GET",`images/search/${t}`,async n=>{let a=z(n.query.prompt)[0];if(!a)throw new S(400,"Empty 'prompt' param.");return o({prompt:a,page:Z(n.query.page)})},[$.EDITOR])}function sa(e){let{readMetadata:t}=e;return O("GET","read/metadata",()=>t({}))}function ia(e){let{regenerateSearch:t}=e;return O("POST","search/regenerate",()=>t(void 0),[$.EDITOR])}function ca(e){let{searchReport:t}=e;return O("GET","search/reports",r=>{let o=Gc(r.query);return t(o)})}function Gc(e){return {...Ft(e),format:z(e.format)[0]}}function la(e){let{urlProxy:t}=e;return O("GET","url/proxy",r=>{let{url:o,method:n="GET"}=r.query;if(!o)throw new S(400,"Missing URL parameter");return t({url:Array.isArray(o)?o.join(","):o,method:z(n)[0]==="POST"?"POST":"GET"})})}function ua(e){let{readMetadata:t,revalidateReport:r}=e;return O("GET","revalidate/report",async(o,n)=>{let{reportId:a,profilePrefix:s}=o.query;if(!a||!s)throw new S(400,"Missing URL parameter in revalidate factory: reportId or profilePrefix");try{let i=parseInt(`${a}`,10),c=`${s}`.split("/").filter(y=>y!=="").join("/"),l=[],p=await t({}).then(y=>y.ok?y.data.data.find(h=>h.id===i):[]);p&&p.mode===Te.UNILATERAL&&p.dimensions.forEach(y=>{y.variants.forEach(h=>{l.push({prefix:c,variantId:h.id,variantSlug:h.slug});});});let u=await r({profilePrefix:c,reportId:i,variantPaths:l}),d=[],m=0;return u.ok&&(m=u.data.paths.length,d=u.data.paths.slice(0,5),Promise.all(u.data.paths.map(y=>{let h;try{h=n.revalidate(y,{unstable_onlyGenerated:!0});}catch(R){console.log("error",y,R);}return h}))),{ok:!0,status:200,data:{reportId:a,revalidated:m,samples:d}}}catch(i){throw console.log(i),new S(500,"Error revalidating")}},[$.EDITOR])}function pa(){return O("GET","revalidate/url",async(e,t)=>{let{target:r}=e.query;if(r)try{return t.revalidate(r,{unstable_onlyGenerated:!0}),{ok:!0,status:200,data:{target:r}}}catch(o){throw console.log(o),new S(500,"Error revalidating")}else throw new S(400,"Missing target parameter in revalidate factory")},[$.ADMIN,$.EDITOR,$.WRITER])}var{localeDefault:Kc}=q();function da(e){let{readPrivateBlocks:t}=e;return O("POST","read/blocks/private",(r,o,n)=>{let a={report_id:parseInt(r.body.report_id,10),locale:r.body.locale||Kc,roles:n&&n.user?n.user.bespoke_roles:[],section_id:r.body.section_id||[]};return t(a)},[])}function ma(e){let{searchRole:t}=e;return O("GET","auth/search/roles",(r,o)=>t(""),[$.EDITOR,$.ADMIN])}function fa(e){let{searchUser:t}=e;return O("GET","auth/search/users",r=>t({query:r.query.query,role_id:r.query.role_id,page:r.query.page||0}),[$.ADMIN])}function ga(e){let{readUser:t}=e;return O("GET","auth/read/user",r=>t(r.query.user_id),[$.ADMIN])}function ya(e){let{updateUser:t,readUser:r}=e;return O("POST","auth/update/user",async(o,n,a)=>{let s=o.body,i=await t(s);return a&&a.user&&s.user_id===a.user.id&&(await r(a.user.id)).ok,i},[$.ADMIN])}function ha(e){let{updateUser:t,readUser:r}=e;return O("POST","auth/update/me",async(o,n,a)=>{let{report_id:s,user_metadata:i}=o.body;console.log("auth/update/me","session",a);let c={user_id:a.user.id,user_metadata:{}};try{let{user:l}=a;return a&&l&&s&&(l.bespoke_app_metadata&&l.bespoke_app_metadata.reports&&Array.isArray(l.bespoke_app_metadata.reports)?c.app_metadata={...l.bespoke_app_metadata}:c.app_metadata={reports:[]},c.app_metadata.reports.push({reportId:s})),i&&(c.user_metadata={...l.bespoke_app_metadata,...i}),await t(c),(await r(c.user_id)).ok,{ok:!0,status:200,data:{ok:!0,message:"User & session updated"}}}catch(l){return {ok:!1,status:500,error:l.message}}},[])}async function jc(e){try{return "JVBERi0xLjcKJYGBgYEKCjYgMCBvYmoKPDwKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL0xlbmd0aCAxMTYKPj4Kc3RyZWFtCnicHYqxCsJAEAX79xVbC+Lmbm/3DoKFeEcKG2F/QCSKYgol+P0mMkwxMG8cHEwrnzt2w/j6jvPjetkalyyZLReKTH5DEPITuv/aUWKKiz6hTywiGliTZWNtFkyWitr0qEWrWmBbq2ndkz/hG1THGT/eextGCmVuZHN0cmVhbQplbmRvYmoKCjcgMCBvYmoKPDwKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL1R5cGUgL09ialN0bQovTiA1Ci9GaXJzdCAyNgovTGVuZ3RoIDM2Mgo+PgpzdHJlYW0KeJzVUt9LwzAQfs9fcY/6IEnTH2llDLa1VZChbIKi+JC1YVRGIm0m87/3ru0cexCfpXwkd/cl+a73BSBAQhRBCCqFCOJQQgwqCGAyYfzx68MAf9Bb0zF+19QdvCJHwAreGF+4vfUQsOmUnbgL7fXObdlwCAIiHxkPrav3lWlhUhZlKYQSQiQRIhFC5rguEBlCYow1meIeoaIRmFOhEOEMa+WARA1nqN5z4/F8gStyE+LkAzdKh/jnXXqrGO6Qf+nJpowvXZ1rb+Aiv5ZCRiKTsQyjTKYvl/g7WqO9+7/N9fobZ3/t8GzONF4acmvIA/2U+cp0bt9WOHbilQ4rtLk1u0/jm0pfKZGlqFOlGXpsNAZ/vt+8m6qnUlgc/M3ak4YhQbmlqRs9dwd0n8APOwDshDw4s9Z5cmXvR+tRDUXJ6NEzySSI8fV+4/uQkgHjc92ZXupJJ4qwlasbuwX+1NiZ7Zpjgm78BkHDxfcKZW5kc3RyZWFtCmVuZG9iagoKOCAwIG9iago8PAovU2l6ZSA5Ci9Sb290IDIgMCBSCi9JbmZvIDMgMCBSCi9GaWx0ZXIgL0ZsYXRlRGVjb2RlCi9UeXBlIC9YUmVmCi9MZW5ndGggNDEKL1cgWyAxIDIgMiBdCi9JbmRleCBbIDAgOSBdCj4+CnN0cmVhbQp4nBXEwQ0AIAwDsUuKxJf9JUZippb4YaDbbEhKTpWWOCDezxcGYeEDtQplbmRzdHJlYW0KZW5kb2JqCgpzdGFydHhyZWYKNjY5CiUlRU9G"}catch(n){throw console.error("Error generating PDF:",n),n}}function Ra(){return O("POST","pdf",async(e,t)=>{let{slugs:r,path:o}=e.body;if(!r||!o)throw new S(400,"Missing path parameter in request.");{new URL(o,e.headers.origin);return {ok:!0,status:200,data:await jc()}}})}function ba(e,t){let r=`list${ge(t)}Icons`,o=e[r];return O("GET",`list/icons/${t}`,async()=>o({}),[$.EDITOR])}function Sa(e,t){let r=`read${ge(t)}Icon`,o=e[r];return O("GET",`read/icons/${t}/icon.svg`,async n=>o({provider:t,name:n.query.name}))}function Ea(){return O("GET","report",async(e,t)=>{let{report:r,prefix:o,locale:n}=e.query;if(!r)throw new S(400,"Missing report parameter.");if(!o)throw new S(400,"Missing report parameter.");if(!n)throw new S(400,"Missing report parameter.");try{let s=await(await fetch(`${process.env.NEXT_PUBLIC_REPORTS_BASE_URL}/${n}${o}${r}`)).text(),l=new Hc().parseFromString(s,"text/html").getElementById("__NEXT_DATA__")?.textContent,p=JSON.parse(l).props;return {ok:!0,status:200,data:{variables:p.pageProps.initialState.variables,status:p.pageProps.initialState.status}}}catch(a){throw console.error(a),new S(500,"Couldn't find page cache")}})}var Yc=Ae();function eo(e,t){return `${e.toUpperCase()} ${t.toLowerCase()}`}function Qc(e,t){let r=ft(e,t);return Object.fromEntries([...Ge(r,"block"),...Ge(r,"dimension"),...Ge(r,"formatter"),...Ge(r,"report"),...Ge(r,"section"),...aa(r),...Vn(r),ca(r),sa(r),ia(r),gt(r,"flickr"),gt(r,"local"),gt(r,"unsplash"),gt(r,"upload"),gt(r,"adobe"),Kt(r,"flickr"),Kt(r,"local"),Kt(r,"unsplash"),Kt(r,"adobe"),la(r),ma(r),fa(r),ga(r),ya(r),ha(r),ua(r),pa(),da(r),Ra(),ba(r,"tabler"),Sa(r,"tabler"),Ea()].map(({handler:o,method:n,path:a,roleRequired:s})=>[eo(n,a),{handler:o,roleRequired:s}]))}function Zc(e){let t=Fe().then(r=>Qc(r,e));return async function(o,n){await Wc(o,n,{methods:["GET","HEAD","PUT","PATCH","POST","DELETE"],origin:"*"});let{query:a,method:s}=o,{path:i,...c}=a;if(i&&s){let l=await t.then(p=>{let u=[].concat(i).join("/"),d=eo(s,u);return p[d]});if(l){let p=await fe(o,n,e);if(l.roleRequired){if(!p)return n.status(401).json({error:"Unauthorized. Must be logged in."});let u=p&&p.user&&p.user.bespoke_roles&&Array.isArray(p.user.bespoke_roles)?p.user.bespoke_roles:[];if(Array.isArray(l.roleRequired)&&l.roleRequired.length>0&&!rr(u,l.roleRequired))return n.status(402).json({error:"Forbidden. Not enough roles."})}if(l.handler)return ["POST","DELETE"].includes(s)&&(o.body=await Xr(o)),Promise.resolve(o).then(u=>l.handler(u,n,p||void 0)).then(async u=>{if(u&&"error"in u)throw new S(u.status,u.error);if(u.ok)if(u.data instanceof Buffer){let d=await Jc(u.data),m=Buffer.byteLength(u.data);n.writeHead(u.status,{"Content-Type":d?d.mime:"image/jpeg","Content-Length":m.toString()}).send(u.data);}else o.url&&o.url.indexOf("/icon.svg?name=")>0?(n.setHeader("Content-Type","image/svg+xml"),n.status(u.status).send(u.data)):n.status(u.status).json({data:u.data});}).catch(u=>{Yc&&console.trace("Backend Error",u),n.status(u.code).json({error:u.message});})}}else i||await t.then(console.log);return n.status(404).json({error:"No matching route",path:i,query:c})}}var Xc=e=>{let t=e;return async function(r,o){let n=await t({test:"pala"});return o.json(n)}},el=Xc;var er={};Es(er,{addBlockToState:()=>Co,cloneEntity:()=>ts,createEntity:()=>Za,deleteEntity:()=>es,deleteQueryParam:()=>Ru,readEntity:()=>oe,readMember:()=>Xt,readMetadata:()=>Su,readPrivateBlocks:()=>Pu,readUser:()=>_u,recalculateVariables:()=>ls,removeBlocksFromState:()=>Mr,reportSearch:()=>gu,resetSectionState:()=>is,revalidateReport:()=>Iu,revalidateUrl:()=>wu,searchMember:()=>hu,searchRegenerate:()=>yu,searchRole:()=>Au,searchUser:()=>Tu,setCurrentLocale:()=>du,setPreferredLocale:()=>mu,setPreviews:()=>pu,setQueryParam:()=>bu,setSectionState:()=>ss,setStatus:()=>as,updateEntity:()=>Xa,updateMyData:()=>ku,updateUser:()=>vu,urlProxy:()=>Eu,variantValidateSlug:()=>fu});function pe(e,t){return e.request(t).then(r=>{let{status:o,data:n}=r;return "error"in n?{ok:!1,status:o,error:n.error}:{ok:!0,status:o,data:n.data}},r=>{if("isAxiosError"in r){let{status:o,data:n}=r.response||{status:500};return {ok:!1,status:o,error:n?.error??r.message}}return {ok:!1,status:500,error:r.message}})}function ee(e,t,r){let o=typeof t=="string"?{url:t}:t;return n=>pe(e,{...o,method:"GET",params:r?r(n):n})}function te(e,t,r){let o=typeof t=="string"?{url:t}:t;return n=>pe(e,{...o,method:"POST",data:r?r(n):n})}function Ke(e,t,r){let o=typeof t=="string"?{url:t}:t;return n=>pe(e,{...o,method:"DELETE",params:r?r(n):n})}function yt(e,t){return r=>pe(e,{method:"POST",url:`images/save/${t}`,params:{prompt:r.prompt,provider:t}})}function jt(e,t){return r=>pe(e,{method:"GET",url:`images/search/${t}`,params:{prompt:r.prompt,page:r.page,provider:t}})}function Aa(e,t){return ()=>pe(e,{method:"GET",url:`list/icons/${t}`,params:{provider:t}})}function Ta(e,t){return r=>pe(e,{method:"GET",url:`read/icons/${t}/icon.svg`,params:{name:r.name}})}var ht=e=>({id:e}),rl=e=>{if(e.mode==="slugs"){let t=e.slugs.map(r=>[r.variantSlug,r.memberSlug].join("/")).join(",");return {...e,slugs:t}}return ["related","whole"].includes(e.mode)?{...e}:{...e,[e.mode]:e[e.mode].join(",")}};function Ht(e){let t=br.create({baseURL:e});return {createBulkBlock:te(t,"create/bulk/block"),createBlock:te(t,"create/block"),createDimension:te(t,"create/dimension"),createFormatter:te(t,"create/formatter"),createReport:te(t,"create/report"),createSection:te(t,"create/section"),createVariant:te(t,"create/variant"),deleteBlock:Ke(t,"delete/block",ht),deleteDimension:Ke(t,"delete/dimension",ht),deleteFormatter:Ke(t,"delete/formatter",ht),deleteReport:Ke(t,"delete/report",ht),deleteSection:Ke(t,"delete/section",ht),deleteVariant:Ke(t,"delete/variant",ht),readBlock:ee(t,"read/block"),readDimension:ee(t,"read/dimension"),readFormatter:ee(t,"read/formatter"),readReport:ee(t,"read/report"),readSection:ee(t,"read/section"),readVariant:ee(t,"read/variant"),updateBulkBlock:te(t,"update/bulk/block"),updateBlock:te(t,"update/block"),updateDimension:te(t,"update/dimension"),updateFormatter:te(t,"update/formatter"),updateReport:te(t,"update/report"),updateSection:te(t,"update/section"),updateVariant:te(t,"update/variant"),searchReport:ee(t,"search/reports"),validateVariantSlug:ee(t,"validate/variant"),readMember:ee(t,"read/members",rl),readMemberImage:ee(t,{url:"member/image",responseType:"blob"}),searchMember:ee(t,"search/members"),updateMember:ee(t,"update/members"),imageLocalSearch:jt(t,"local"),imageLocalSave:yt(t,"local"),imageFlickrSearch:jt(t,"flickr"),imageFlickrSave:yt(t,"flickr"),imageUnsplashSearch:jt(t,"unsplash"),imageUnsplashSave:yt(t,"unsplash"),imageUploadSave:yt(t,"upload"),imageAdobeSearch:jt(t,"adobe"),imageAdobeSave:yt(t,"adobe"),readMetadata:ee(t,"read/metadata"),regenerateSearch:te(t,"search/regenerate"),urlProxy:ee(t,"url/proxy"),searchRole:ee(t,"auth/search/roles"),searchUser:ee(t,"auth/search/users"),readUser:ee(t,"auth/read/user"),updateUser:te(t,"auth/update/user"),updateMyData:te(t,"auth/update/me"),revalidateReport:ee(t,"revalidate/report"),revalidateUrl:ee(t,"revalidate/url"),readPrivateBlocks:te(t,"read/blocks/private"),listTablerIcons:Aa(t,"tabler"),readTablerIcon:Ta(t,"tabler")}}var{localeDefault:al}=q();function le(e){return {variables:e.variables||{},query:e.query||{},locale:e.locale||al}}var cl=fr(process.env.REPORTS_LOGGING),je=ll;function ll(e,t,r,o,n=void 0,a){let s={},i=[],{locale:c}=le(a);try{if(t){let l=new Proxy(console,{get(u,d){return ul(d,"log","debug","info","warn","error")?(...m)=>{i.push(`${d} ${Date.now()} - ${m.map(y=>format(y)).join(" ")}`),cl&&u[d](...m);}:u[d]}}),p;return n?p=new Function(e,"console","libs","formatters","locale","variables",r)(t,l,Le,o,c,n):p=new Function(e,"console","libs","formatters","locale",r)(t,l,Le,o,c),typeof p=="object"&&Object.keys(p).length>0&&Object.assign(s,p),{vars:s,error:null,log:i,output:p}}return {vars:s,error:"Invalid API Link",log:i}}catch(l){return {vars:s,error:l.message,log:i}}}function ul(e,...t){return t.includes(e)}function to(e){return e.reduce((t,r,o)=>(o?o===e.length-1&&o===1?t+=` and ${r}`:o===e.length-1?t+=`, and ${r}`:t+=`, ${r}`:t+=r,t),"")}var Rt=pl;function pl(e,t,r,o=!1){let{variables:n}=le(r);if(!e)return e;let a=/([A-z0-9]*)\{\{([^\}]+)\}\}/g;return e.replace(a,(i,c,l)=>{let p=d=>d;if(c){let d=c.replace(/^\w/g,m=>m.toLowerCase());d in t?p=t[d]:p=m=>`${c}${m}`;}let u=Array.isArray(n[l])?to(n[l]):n[l];if(u===void 0)return o?i:"N/A";try{return p(u,Le,t)}catch(d){return console.error(`Error using formatter ${p.name}
|
|
64
|
-
`,`Error message: ${d.message}`),"N/A"}})}var ro=(e,t,r)=>{let{variables:o}=r,n=s=>s.allowed==="never"?!1:!s.allowed||s.allowed==="always"||o[s.allowed],a={...e};return Object.keys(a).forEach(s=>{typeof a[s]=="string"?a[s]=Rt(a[s],t,r):Array.isArray(a[s])?a[s]=a[s].filter(n).map(i=>typeof i=="object"?ro(i,t,r):typeof i=="string"?Rt(i,t,r):i):typeof a[s]=="object"&&a[s]!==null&&!(a[s]instanceof Date)&&(a[s]=ro(a[s],t,r));}),a},hr=ro;var
|
|
63
|
+
`)}return global.typesense};async function Wi(){try{if(ut){let e=await br.get(new URL(ut).origin);if(e?.data["typesense-health"]===!0)return console.log(`${ut} health check is OK. Version: ${e.data.Version}`),!0}else console.error("No envar set TYPESENSE_URL");return !1}catch(e){return console.error("Health check failed:",e.message),!1}}async function Ji(e){if(qe&&console.log(`\u{1F3F3}\uFE0F INITIALIZING TYPESENSE SEARCH AGAINST ${ut}`),!await Wi())throw new Error("TYPESENSE_URL service is not healthy.");let r=ji.map(o=>(qe&&console.log(`\u{1F3F3}\uFE0F INITIALIZING SEARCH ${o} LOCALE`),[o,{search:async(a={query:"*",limit:12,offset:0})=>{let s={locale:o,query:a.query,limit:a.limit,offset:a.offset};return a.report&&Array.isArray(a.report)&&a.report.length>0&&(s["report[]"]=a.report.join(",")),a.variant&&Array.isArray(a.variant)&&a.variant.length>0&&(s["variant[]"]=a.variant.join(",")),qe&&console.log("Typesense URL:",ut,s),br.get(ut,{params:s}).then(c=>(qe&&(console.log("Typesense URL:",c.request.res.responseUrl),console.log("Typesense Results",c.data.data.results.length)),c.data.data)).catch(c=>(console.log("Typesense Call Error:",c),[]))}}]));return Object.fromEntries(await Promise.all(r))}var An=Hi;var{localeDefault:Yr}=q();function pt(e){let{search:t,report:r}=e;return o;async function o(n){let a=n.origin||"flexsearch",s=process.env.REPORTS_EXTERNAL_SEARCH&&a==="typesense",{query:i,locale:c,preferredLocale:l,limit:p,format:u,visible:d,variant:m,dimension:y,report:h,all:R,noImage:T,includes:k,sort:B,direction:A="ASC",offset:b=0}=n,D=Nt.find(w=>w.locales.includes(c))?.charset||"latin",j=p&&!isNaN(p)?p:20,Y=ze(i,D!=="arabic");function H(w){return w.toJSON()}function U(w){let V=w.getContent(c);return {...w.toJSON(),locale:V.locale,name:V.name,attributes:V.attributes,keywords:V.keywords}}if(s){let w=await An(e),V=w[c]||w[Yr],v={query:Y===""?"*":Y,limit:j,variant:m,report:h,offset:b};return await V.search(v)}else {let w=[],V=await $e(e);if(i&&i!==""&&V[c]){let C=ze(i,D!=="arabic"),I={query:C,limit:j},ae=await V[c].search(I);if(s?w=ae.data.results.map(ue=>parseInt(ue.content_id,10)):w=ae.reduce((ue,ce)=>ue.concat(ce.result),[]),w=or(w),l&&V[l]){let ce=V[l].search(C).reduce((et,tt)=>et.concat(tt.result),[]);ce=or(ce),w=or([...w,...ce]);}}let v={...d?{visible:d}:{},...T?{image_id:{[Op.eq]:null}}:{},...m.length?{variant_id:m}:{},...y.length?{dimension_id:y}:{},...h.length?{report_id:h}:{}},_={locale:R?{[Op.ne]:null}:c},L=i&&i!==""&&w.length?[[literal(`array_position(array[${w.join(",")}], "content_id")`),"ASC"]]:[["zvalue","DESC NULLS LAST"]];B&&B!=="name"&&L.unshift([B,A.toUpperCase()]),i&&i!==""&&(v.content_id=w);let E=[{association:"contentByLocale",where:_}];k&&E.push({association:"report",attributes:["id","name"]},{association:"dimension",attributes:["id","name"]},{association:"variant",attributes:["id","slug","name"]});let x={...v.visible?{visible:v.visible}:{},...v.noImage?{image_id:v.noImage}:{},...v.content_id?{content_id:v.content_id}:{}};if(!v.report_id&&!v.dimension_id&&!v.variant_id&&d){let I=(await r.findAll({attributes:["id"],where:{[Op.or]:[where(cast(json("settings.hide"),"boolean"),!0)]}})).map(ae=>ae.id);I.length>0&&(v.report_id={[Op.notIn]:I},x.report_id=v.report_id);}let F=[],[Q,J]=await Promise.all([t.findAll({limit:j,offset:b,where:v,include:E,order:L}),t.findAll({attributes:["variant_id",[fn$1("COUNT",col("variant_id")),"members_count"]],where:x,group:["variant_id"]})]),Re=J.map(C=>C.toJSON());if(B==="name"){let C=A.toUpperCase()==="ASC"?1:-1;Q.sort((I,ae)=>{let ue=I.getContent(Yr),ce=ae.getContent(Yr);return ue&&ce?ue.name>ce.name?1*C:-1*C:0});}let K=u==="nested"?H:U;return F=Q.map(K),u!=="nested"&&F.forEach(C=>{let{name:I,keywords:ae,score:ue=.1,zvalue:ce}=C;if(I){let et=ze(I),tt=ue,Mo=i.length/et.length,Oo=et.split("").reduce((Or,No,Do)=>(i.slice(0,Do),i.charAt(Do)===No&&(Or+=No),Or),"").length;et===i||ae&&ae.includes(i)?tt=1e6:et.startsWith(i)?tt*=20*Mo:Oo&&(tt*=Oo*Mo),C.zvalue=tt*2+ce;}}),{meta:{origin:"flexsearch",...Object.fromEntries(Object.entries(n).map(C=>[C[0],G(C[1])])),variantCount:Re.reduce((C,I)=>(C[I.variant_id]=parseInt(I.members_count,10),C),{})},results:F}}}}function Tn(e){let{image:t,image_content:r,search:o,search_content:n}=e;return a;async function a(s){let{content_id:i,contentByLocale:c,image:l,image_id:p}=s,u={where:{content_id:i}},d=await o.findOne(u);if(await o.update(s,{where:{content_id:i}}),c){for(let y=0;y<c.length;y++){let h=c[y];await n.update({name:h.name,keywords:h.keywords},{where:{id:h.id,locale:h.locale}});}u={...u,...{include:[{association:"contentByLocale",separate:!0}]}};}if(l){if(l.id&&(await t.update({...l},{where:{id:l.id}}),l.contentByLocale))for(let m=0;m<l.contentByLocale.length;m++){let y=l.contentByLocale[m];await r.update({meta:y.meta},{where:{id:y.id,locale:y.locale}});}}else !p&&d.image_id&&(await e.search.findAll({where:{image_id:d.image_id}})).length===0&&await t.destroy({where:{id:d.image_id}});return o.findOne(u)}}function vn(e){return {ingestMembers:Rn(e),readMember:bn(e),searchMember:pt(e),updateMember:Tn(e),readMemberImage:Sn(e)}}var Ge={include:[{association:"contentByLocale",separate:!0},{association:"inputs",include:[{association:"contentByLocale",separate:!0}]},{association:"consumers",include:[{association:"contentByLocale",separate:!0}]}]},Dt=e=>({include:[{association:"variants",separate:!0,attributes:{include:[[fn$1("COUNT",col("members.id")),"members_count"]]},include:[{model:e,as:"members",attributes:[]}],group:["variant.id"]}],order:[["ordering","ASC"]]}),Ut={include:[{association:"blocks",separate:!0,...Ge}]},mr=e=>({include:[{association:"dimensions",separate:!0,...Dt(e)},{association:"sections",separate:!0,...Ut}]});var ye=[{association:"image",attributes:{exclude:["splash"]},include:[{association:"contentByLocale"}]},{association:"contentByLocale"}];function _n(e){let{block:t,block_content:r,block_input:o}=e;return {createBlock:n,readBlock:s,updateBlock:i,deleteBlock:l,createBulkBlock:a,updateBulkBlock:c};async function n(p){let{locales:u,...d}=p;return (await t.create({...d,consumers:[],inputs:[],contentByLocale:u.map(y=>({locale:y}))},{include:Ge.include})).toJSON()}async function a(p){let u=p.map(m=>{let{locales:y,...h}=m;return {...h,consumers:[],inputs:[],contentByLocale:y.map(T=>({locale:T}))}});return (await t.bulkCreate(u,{include:Ge.include})).map(m=>m.toJSON())}async function s({id:p,include:u}={}){let d=p==null?[]:[].concat(p),m=await t.findAll({where:d.length>0?{id:d}:void 0,include:u?Ge.include:void 0});if(d.length===0||m.length===d.length)return m.map(R=>R.toJSON());let y=m.map(R=>R.id),h=d.filter(R=>!y.includes(R));throw new S(404,`Block(id=[${h}]) does not exist.`)}async function i(p){let{id:u,contentByLocale:d,consumers:m,inputs:y,inputAction:h,...R}=p,T=await t.findByPk(u,{include:Ge.include,rejectOnEmpty:!0});if(T.set(R),d){let k=Object.values(d);await r.bulkCreate(k,{updateOnDuplicate:["content"]});}return h&&(h.operation==="create"?await o.create(h.input):await o.destroy({where:h.input})),await T.save(),await T.reload(),T.toJSON()}async function c(p){let u=p.map(y=>{let{id:h,contentByLocale:R,consumers:T,inputs:k,inputAction:B,...A}=y;return {id:h,contentByLocale:R,inputAction:B,...A}}),d=await t.findAll({where:{id:{[Op.or]:u.map(y=>y.id)}},include:Ge.include}),m=[];for(let y of d){let h=u.filter(R=>R.id===y.id);for(let R=0;R<h.length;R++){let T=h[R],{id:k,contentByLocale:B,inputAction:A,...b}=T;if(A&&(A.operation==="create"?await o.create(A.input):await o.destroy({where:A.input})),B){let N=Object.values(B);await r.bulkCreate(N,{updateOnDuplicate:["content"]});}y.set(b),await y.save(),await y.reload(),m.push(y.toJSON());}}return m}async function l(p){let u=await t.findByPk(p,{rejectOnEmpty:!0});return await u.destroy(),{id:p,parentType:"section",parentId:u.section_id}}}function kn(e){let{dimension:t,search:r}=e;return {createDimension:o,readDimension:n,updateDimension:a,deleteDimension:s};async function o(i){return (await t.create({name:i.name,report_id:i.report_id,variants:[]},{include:Dt(r).include})).toJSON()}async function n({id:i,include:c}={}){let l=i==null?[]:[].concat(i),p=await t.findAll({where:l.length>0?{id:l}:void 0,include:c?Dt(r).include:void 0});if(l.length===0||p.length===l.length)return p.map(m=>m.toJSON());let u=p.map(m=>m.id),d=l.filter(m=>!u.includes(m));throw new S(404,`Dimension(id=[${d}]) does not exist.`)}async function a(i){let{id:c,variants:l,...p}=i,u=await t.findByPk(c,{include:Dt(r).include,rejectOnEmpty:!1});if(!u)throw new S(404,`Dimension(id=${c}) does not exist.`);return u.set(p),await u.save(),u.toJSON()}async function s(i){let c=await t.findByPk(i,{rejectOnEmpty:!1});return await c.destroy(),{id:i,parentType:"report",parentId:c.report_id}}}function Pn(e){let{formatter:t}=e;return {createFormatter:r,readFormatter:o,updateFormatter:n,deleteFormatter:a};async function r(s){return (await t.create(s)).toJSON()}async function o({id:s}={}){let i=s==null?[]:[].concat(s),c=await t.findAll({where:i.length>0?{id:i}:void 0});if(i.length===0||c.length===i.length)return c.map(u=>u.toJSON());let l=c.map(u=>u.id),p=i.filter(u=>!l.includes(u));throw new S(404,`Formatter(id=[${p}]) does not exist.`)}async function n(s){let{id:i,...c}=s,l=await t.findByPk(i,{rejectOnEmpty:!0});return await l.update(c),l.toJSON()}async function a(s){return await(await t.findByPk(s,{rejectOnEmpty:!0})).destroy(),{id:s}}}var{locales:ac}=q();function wn(e){let{report:t,search:r}=e;return {createReport:o,readReport:n,updateReport:a,deleteReport:s};async function o(i){return (await t.create({name:i.name,sections:[],dimensions:[]},{include:mr(r).include})).toJSON()}async function n({id:i,include:c,locales:l=ac}={}){let u=(i==null?[]:[].concat(i)).reduce((h,R)=>(h.includes(R)||h.push(R),h),[]),d=await t.findAll({where:u.length>0?{id:u}:void 0,include:c?mr(r).include?.filter(h=>typeof c=="string"?h.association===c:c):void 0});if(u.length===0||d.length===u.length)return d.map(h=>{let R=h.toJSON();return {...R,sections:R.sections.map(T=>({...T,blocks:T.blocks.map(k=>({...k,contentByLocale:Object.keys(k.contentByLocale).reduce((B,A)=>({...B,...[...l,"logic"].includes(A)?{[A]:k.contentByLocale[A]}:{}}),{})}))}))}});let m=d.map(h=>h.id),y=u.filter(h=>!m.includes(h));throw new S(404,`Report(id=${y}) does not exist.`)}async function a(i){let{id:c,dimensions:l,sections:p,...u}=i,d=await t.findByPk(c,{include:mr(r).include,rejectOnEmpty:!1});if(!d)throw new S(404,`Report(id=${c}) does not exist.`);return d.set(u),await d.save(),await d.reload(),d.toJSON()}async function s(i){return await(await t.findByPk(i,{rejectOnEmpty:!1})).destroy(),{id:i}}}function xn(e){let{section:t}=e;return {createSection:r,readSection:o,updateSection:n,deleteSection:a};async function r(s){return (await t.create({ordering:s.ordering,report_id:s.report_id,blocks:[]},{include:Ut.include})).toJSON()}async function o({id:s,include:i}={}){let c=s==null?[]:[].concat(s),l=await t.findAll({where:c.length>0?{id:c}:void 0,include:i?Ut.include:void 0});if(c.length===0||l.length===c.length)return l.map(d=>d.toJSON());let p=l.map(d=>d.id),u=c.filter(d=>!p.includes(d));throw new S(404,`Section(id=${u}) does not exist.`)}async function n(s){let{id:i,blocks:c,...l}=s,p=await t.findByPk(i,{include:Ut.include,rejectOnEmpty:!1});return p.set(l),await p.save(),await p.reload(),p.toJSON()}async function a(s){let i=await t.findByPk(s,{rejectOnEmpty:!0});return await i.destroy(),{id:s,parentType:"report",parentId:i.report_id}}}function Bn(e,t){let{variant:r,search:o}=e;return {createVariant:n,readVariant:a,updateVariant:s,deleteVariant:i,validateVariantSlug:c};async function n(l){let{dimension_id:p,name:u,slug:d}=l,m=await c({dimension:p,slug:d});return (await r.create({dimension_id:p,name:u,slug:m.valid?m.candidate:m.suggestion})).toJSON()}async function a({id:l}={}){let p=l==null?[]:[].concat(l),u=await r.findAll({where:p.length>0?{id:p}:void 0,attributes:{include:[[fn$1("COUNT",col("members.id")),"members_count"]]},include:[{model:o,attributes:[],as:"members"}],group:["variant.id"]});if(p.length===0||u.length===p.length)return u.map(y=>y.toJSON());let d=u.map(y=>y.id),m=p.filter(y=>!d.includes(y));throw new S(404,`Variant(id=${m}) does not exist.`)}async function s(l){let{id:p,...u}=l,d=await r.findByPk(p,{include:[{association:"dimension"}],rejectOnEmpty:!0});u.settings=Ot(u.settings);let m=u.settings.doIngest;return u.settings.doIngest=!1,await d.update(u),m&&(await t.ingestMembers(d),await $e(e,!0)),await d.reload(),d.toJSON()}async function i(l){let p=await r.findByPk(l,{rejectOnEmpty:!0});return await p.destroy(),$e(e,!0),{id:l,parentType:"dimension",parentId:p.dimension_id}}async function c({dimension:l,slug:p}){let u=await r.findAll({attributes:["slug",[fn$1("COUNT",col("id")),"slugCount"]],where:{dimension_id:{[Op.ne]:l}},group:"slug"}).then(h=>Object.fromEntries(h.map(R=>{let T=R.getDataValue("slugCount");return [R.slug,Number.parseInt(`${T}`,10)]}))),d=p,m=1,y=!0;for(;u[d];)y=!1,d=`${p}-${m}`,m++;return {candidate:p,dimension_id:l,suggestion:d,valid:y}}}function Ln(e){let t={..._n(e),...kn(e),...Pn(e),...vn(e),...wn(e),...xn(e)},r={...t,...Bn(e,t)};return {createFormatter:P(r.createFormatter),deleteFormatter:P(r.deleteFormatter),readFormatter:P(r.readFormatter),updateFormatter:P(r.updateFormatter),createReport:P(r.createReport),deleteReport:P(r.deleteReport),readReport:P(r.readReport),updateReport:P(r.updateReport),createDimension:P(r.createDimension),deleteDimension:P(r.deleteDimension),readDimension:P(r.readDimension),updateDimension:P(r.updateDimension),createVariant:P(r.createVariant),readVariant:P(r.readVariant),updateVariant:P(r.updateVariant),deleteVariant:P(r.deleteVariant),validateVariantSlug:P(r.validateVariantSlug),createSection:P(r.createSection),readSection:P(r.readSection),updateSection:P(r.updateSection),deleteSection:P(r.deleteSection),createBlock:P(r.createBlock),deleteBlock:P(r.deleteBlock),readBlock:P(r.readBlock),updateBlock:P(r.updateBlock),createBulkBlock:P(r.createBulkBlock),updateBulkBlock:P(r.updateBulkBlock),readMember:P(r.readMember),searchMember:P(r.searchMember),updateMember:P(r.updateMember),readMemberImage:P(r.readMemberImage)}}var Mn=e=>{throw console.error("/methods/helpers/uploadImage.ts:",e),new Error(e.message)},cc=Number(process.env.NEXT_PUBLIC_IMAGE_SPLASH_WIDTH)||1400,lc=Number(process.env.NEXT_PUBLIC_IMAGE_THUMB_WIDTH)||400,uc=async(e,t,r)=>{let o=[{type:"splash",res:cc},{type:"thumb",res:lc}];for(let n of o){let a=await ic(r).resize(n.res).toFormat("webp").webp({lossless:!0}).toBuffer().catch(Mn);await e.image.update({[n.type]:a},{where:{id:t}}).catch(Mn);}},_e=uc;var On="|||";var Nn="SECTION_ALLOWED";var Dn=["4","5","7","8","9","10"],fc=Dn.join(),{locales:gc}=q(),ke;if(process.env.FLICKR_API_KEY)try{ke=new mc(process.env.FLICKR_API_KEY);}catch(e){throw console.error("Flickr ERROR:",e),new Error(e.message)}async function Un(e,t){try{let r={prompt:t.prompt||"",page:t.page||1};if(!ke)throw console.log("Flickr is not initialized. Check the credentials"),new Error("Flickr is not initialized. Check the credentials");let o=r.prompt,a=(await ke.photos.search({text:o,license:fc,sort:"relevance",per_page:24,page:r.page,content_types:"0",orientation:"landscape"}).then(l=>l.body)).photos.photo,s=a.reduce((l,p)=>l.concat(ke.photos.getSizes({photo_id:p.id})),[]),c=(await Promise.all(s).then(l=>l)).reduce((l,p,u)=>{let d=p.body.sizes.size.find(m=>m.label==="Small 320");return d&&l.push({id:a[u].id,source:d.source}),l},[]);return {meta:{prompt:G(r.prompt),page:G(`${r.page}`)},results:c}}catch(r){throw console.log(r),new Error("Error in search flickr provider")}}async function Fn(e,t){try{let{content_id:r,image_id:o}=t,n={content_id:G(`${r}`)||"",id:G(`${o}`)||""},s=`https://flic.kr/p/${dc.int_to_base58(o)}`;if(!ke)throw new Error("Flickr API Key not configured");let i=await ke.photos.getInfo({photo_id:o}).then(l=>l.body),c;if(i)if(Dn.includes(i.photo.license)){let l=await e.search.findOne({where:{content_id:r}}),p=await e.image.findOne({where:{url:s}});if(l){if(p)await e.search.update({image_id:p.id},{where:{content_id:r}});else {let d=await ke.photos.getSizes({photo_id:o}).then(A=>A.body),m=d.sizes.size.find(A=>parseInt(A.width,10)>=1600);if(m||(m=d.sizes.size.find(A=>parseInt(A.width,10)>=1e3)),m||(m=d.sizes.size.find(A=>parseInt(A.width,10)>=500)),!m||!m.source)throw new Error("Flickr Source Error, try another image.");let y=await br.get(m.source,{responseType:"arraybuffer"}).then(A=>A.data),R=(await ke.photos.licenses.getInfo().then(A=>A.body.licenses.license)).find(A=>A.id===parseInt(i.photo.license,10)),T={url:s,author:i.photo.owner.realname||i.photo.owner.username,license:R?`${R.name}: ${R.url}`:""},k=await e.image.create(T);await e.image_content.destroy({where:{id:k.id}});let B=gc.map(A=>({id:k.id,locale:A,meta:i.photo.title._content}));await e.image_content.bulkCreate(B),await e.search.update({image_id:k.id},{where:{content_id:r}}),await _e(e,k.id,y);}let u=await e.search.findOne({where:{content_id:r},include:ye});u&&u.image&&(u.image.thumb=!!u.image.thumb);}else throw new Error("Error updating Search")}else throw new Error("Bad License");else throw new Error("Malformed URL");return {meta:{...n},results:c}}catch(r){throw console.log(r),new Error("Error in save flickr provider")}}function O(e,t,r,o){return {method:e,path:t,handler:r,roleRequired:o}}function Z(e){let t=Number.parseInt(`${e||""}`,10);if(Number.isNaN(t)||!Number.isFinite(t))throw new S(400,`Invalid numeric parameter: ${e}`);return t}function z(e){return e==null||e===""?[]:Array.isArray(e)?e:e.toString().split(",")}var{localeDefault:Pe}=q();function Vn(e){let{readMember:t,searchMember:r,updateMember:o,readMemberImage:n}=e;return [O("GET","read/members",async a=>{let s=yc(a.query),i=s[s.mode]||[],c=s.mode==="whole";if(!c&&i.length===0)throw new S(400,`The request is missing the '${s.mode}' parameter.`);if(!c&&i.length>20&&!s.variant)throw new S(400,`You can look for up to 20 '${s.mode}' in a single request.`);return t(s)}),O("GET","search/members",a=>{let s=Ft(a.query);return r(s)}),O("POST","update/member",a=>{let{body:s}=a;return o(s)},[$.EDITOR]),O("GET","member/image",a=>{let s=z(a.query.size)[0];return n({member:Z(a.query.member),size:s&&s==="splash"?"splash":"thumb"})})]}function yc(e){let t=z(e.locale)[0]||Pe||"en",r=t==="all"||fr(e.all),o=z(e.mode)[0],a=(z(e.output)[0]||"full")==="lite"?"lite":"full",s=parseInt(z(e.related)[0],10)||5,i=z(e.variant).map(Z);if(i.length===0&&(i=z(e["variant[]"]).map(Z)),o==="ids")return {all:r,mode:o,variant:i,output:a,locale:r?Pe:G(t),ids:z(e.ids||e["ids[]"])};if(o==="content_ids")return {all:r,mode:o,variant:i,output:a,locale:r?Pe:G(t),content_ids:z(e.content_ids||e["content_ids[]"]).map(Z)};if(o==="slugs")return {all:r,mode:o,variant:i,output:a,locale:r?Pe:G(t),slugs:z(e.slugs||e["slugs[]"]).map(c=>{let[l,p]=c.split("/");return {variantSlug:l,memberSlug:p}})};if(o==="related")return {all:r,mode:o,locale:r?Pe:G(t),related:s,current_ids:z(e.current_ids||e["current_ids[]"]).map(Z),include_ids:z(e.include_ids||e["include_ids[]"]).map(Z),report_ids:z(e.report_ids||e["report_ids[]"]).map(Z),dimension_ids:z(e.dimension_ids||e["dimension_ids[]"]).map(Z),variant_ids:z(e.variant_ids||e["variant_ids[]"]).map(Z),output:a};if(o==="whole")return {all:r,mode:o,variant:i,locale:r?Pe:G(t),output:a};throw new S(400,`Invalid mode: '${o}'`)}function Ft(e){let t=z(e.locale)[0]||Pe||"en",r=t==="all",o=z(e.format)[0],n=o?o==="nested":r,a=z(e.variant).map(Z);a.length===0&&(a=z(e["variant[]"]).map(Z));let s=z(e.dimension).map(Z);s.length===0&&(s=z(e["dimension[]"]).map(Z));let i=z(e.report).map(Z);i.length===0&&(i=z(e["report[]"]).map(Z));let c=e.origin==="typesense"?"typesense":"flexsearch";return {query:z(e.query||e.q)[0]||"",locale:r?Pe:t,preferredLocale:z(e.preferredLocale)[0],limit:z(e.limit).map(Z)[0]??5,format:n?"nested":"plain",includes:fr(e.includes,{default:!0}),visible:fr(e.visible,{default:!0}),noImage:fr(e.noImage,{default:!1}),variant:a,dimension:s,report:i,all:r,sort:z(e.sort)[0],direction:z(e.direction)[0],offset:Number(e.offset||0),origin:c}}async function zn(e,t){let r=pt(e),o=Ft({query:t.prompt,limit:"50",visible:"false"}),a=(await r(o)).results.filter(s=>s.image_id).map(s=>({id:s.image_id,source:`/api/cms/member/image?member=${s.content_id}&size=thumb`}));return {meta:{prompt:G(o.query)},results:a}}async function $n(e,t){let{search:r}=e,{content_id:o,image_id:n}=t;await r.update({image_id:n},{where:{content_id:o}});let a=await r.findOne({where:{content_id:o},include:ye}).then(s=>s?{...s.toJSON(),image:{...s.image.toJSON(),thumb:!!s.image.thumb}}:null);return {meta:{id:n,content_id:o},results:a}}var{locales:bc}=q(),Vt;if(process.env.UNSPLASH_API_KEY)try{Vt=createApi({accessKey:process.env.UNSPLASH_API_KEY});}catch(e){throw console.error("Unsplash error:",e),new Error(e.message)}async function qn(e,t){try{let r={prompt:t.prompt||"",page:t.page||1};if(!Vt)throw new Error("Unsplash API Key not configured");let o=r.prompt,a=(await Vt.search.getPhotos({query:o,perPage:24,page:r.page,orientation:"landscape"}).then(s=>s.response.results)).map(s=>({id:s.id,source:s.urls.thumb}));return {meta:{prompt:G(r.prompt),page:G(`${r.page}`)},results:a}}catch(r){throw console.log(r),new Error("Error in search unsplash provider")}}async function Gn(e,t){try{let{content_id:r,image_id:o}=t,n={content_id:G(`${r}`)||"",id:G(`${o}`)||""};if(!Vt)throw console.log("Unsplash is not initialized. Check the credentials"),new Error("Unsplash is not initialized. Check the credentials");let a=await Vt.photos.get({photoId:o}).then(i=>i.response),s;if(a){let i=await e.search.findOne({where:{content_id:r}}),c=a.links.html,l=await e.image.findOne({where:{url:c}});if(i){if(l)await e.search.update({image_id:l.id},{where:{content_id:r}});else {let u=await br.get(a.urls.full,{responseType:"arraybuffer"}).then(h=>h.data),d={url:c,author:a.user.name||a.user.username,license:"Free Unsplash license: https://unsplash.com/license"},m=await e.image.create(d);await e.image_content.destroy({where:{id:m.id}});let y=bc.map(h=>({id:m.id,locale:h,meta:a.description||a.alt_description}));await e.image_content.bulkCreate(y),await e.search.update({image_id:m.id},{where:{content_id:r}}),await _e(e,m.id,u);}let p=await e.search.findOne({where:{content_id:r},include:ye});p&&p.image&&(p.image.thumb=!!p.image.thumb);}else throw new Error("Error updating Search")}else throw new Error("Malformed URL");return {meta:{...n},results:s}}catch(r){throw console.log(r),new Error("Error in save unsplash provider")}}var{locales:Ec}=q();async function Kn(e,t){try{let{content_id:r,image_source:o,files:n}=t,a={content_id:G(`${r}`)||""};if(await e.search.findOne({where:{content_id:r}})&&n){let c=await Sc.readFileSync(n.file.filepath),l={url:o,author:"",license:""},p=await e.image.create(l);await e.image_content.destroy({where:{id:p.id}});let u=Ec.map(d=>({id:p.id,locale:d,meta:""}));await e.image_content.bulkCreate(u),await e.search.update({image_id:p.id},{where:{content_id:r}}),await _e(e,p.id,c);}let i=await e.search.findOne({where:{content_id:r},include:ye});return i&&i.image&&(i.image.thumb=!!i.image.thumb),{meta:{...a},results:i}}catch(r){throw console.log(r),new Error("Error in save upload provider")}}var{locales:Ac}=q();var jn=async e=>{let t={"x-api-key":process.env.ADOBE_STOCK_API_KEY||"EMPTY_ADOBE_KEY","X-Product":"BespokeApp/0.1"};return e&&(t.Authorization=`Bearer ${e}`),t};var zt;if(process.env.ADOBE_STOCK_API_KEY)try{zt={search:async(e,t)=>await br.get("https://stock.adobe.io/Rest/Media/1/Search/Files",{headers:await jn(!1),params:{locale:"en_US","search_parameters[limit]":24,"search_parameters[offset]":t*24,"search_parameters[words]":e,"search_parameters[filters][content_type:photo]":"1","search_parameters[filters][content_type:image]":"1","search_parameters[filters][orientation]":"horizontal",result_columns:["id","stock_id","thumbnail_url","is_licensed"]}}).then(r=>r.data.files),get:async e=>await br.get("https://stock.adobe.io/Rest/Media/1/Files",{headers:await jn(!1),params:{locale:"en_US",ids:e,result_columns:["id","thumbnail_url","creator_name","title","thumbnail_1000_url","details_url","category"]}}).then(t=>t.data.files[0])};}catch{}async function Hn(e,t){try{let r={prompt:t.prompt||"",page:t.page||1};if(!zt)throw new Error("Adobe API Key not configured");let n=(await zt.search(r.prompt,r.page)).map(a=>({id:a.id,source:a.thumbnail_url}));return {meta:{prompt:G(r.prompt),page:G(`${r.page}`)},results:n}}catch(r){throw console.log(r),new Error("Error in search Adobe provider")}}async function Wn(e,t){try{let{content_id:r,image_id:o}=t,n={content_id:G(`${r}`)||"",id:G(`${o}`)||""};if(!zt)throw console.log("Adobe is not initialized. Check the credentials"),new Error("Adobe is not initialized. Check the credentials");let a=await zt.get(o),s;if(a){let i=await e.search.findOne({where:{content_id:r}}),c=a.details_url,l=await e.image.findOne({where:{url:c}});if(i){if(l)await e.search.update({image_id:l.id},{where:{content_id:r}});else {let u=await br.get(a.thumbnail_1000_url,{responseType:"arraybuffer"}).then(h=>h.data),d={url:c,author:a.creator_name,license:"ADOBE, TO-DO"},m=await e.image.create(d);await e.image_content.destroy({where:{id:m.id}});let y=Ac.map(h=>({id:m.id,locale:h,meta:a.title||a.description}));await e.image_content.bulkCreate(y),await e.search.update({image_id:m.id},{where:{content_id:r}}),await _e(e,m.id,u);}let p=await e.search.findOne({where:{content_id:r},include:ye});p&&p.image&&(p.image.thumb=!!p.image.thumb);}else throw new Error("Error updating Search")}else throw new Error("Malformed URL");return {meta:{...n},results:s}}catch(r){throw console.log(r),new Error("Error in save adobe provider")}}var Tc={local:$n,flickr:Fn,unsplash:Gn,upload:Kn,adobe:Wn};function mt(e,t){let r=Tc[t];if(!r)throw new S(500,`Wrong provider dbImageSaveFactory.ts: ${t}`);return P(o=>r(e,o))}var vc={local:zn,flickr:Un,unsplash:qn,adobe:Hn};function $t(e,t){let r=vc[t];if(!r)throw new S(500,`Wrong provider dbImageSearchFactory.ts: ${t}`);return P(o=>r(e,o))}var Cc=e=>(e.dimensions&&e.dimensions.forEach(t=>{t.variants&&t.variants.forEach(r=>{r.members_count&&(r.members_count=parseInt(r.members_count,10));});}),e);function yr(e){let{report:t,search:r}=e;return o;async function o(n){return {data:(await t.findAll({attributes:["id","name",[literal("COALESCE(NULLIF(settings ->> 'order', '')::INTEGER, 0)"),"ordering"],[literal("COALESCE(NULLIF(settings ->> 'hide', '')::BOOL, false)"),"hide"]],where:{[Op.or]:[where(cast(json("settings.hide"),"boolean"),!1),literal("NOT (settings::jsonb ? 'hide')")]},order:[["ordering","ASC"]],include:[{attributes:["id","name","ordering"],association:"dimensions",separate:!0,order:[["ordering","ASC"]],include:[{attributes:["id","name","slug",[fn$1("COUNT",col("members.id")),"members_count"],[literal("COALESCE(NULLIF(settings ->> 'order', '')::INTEGER, 0)"),"ordering"]],include:[{model:r,attributes:[],as:"members",where:{visible:!0}}],association:"variants",separate:!0,group:["variant.id"],order:[["ordering","ASC"]]}]}]})).map(s=>({...Cc(s.toJSON()),mode:s.dimensions.length===1?ve.UNILATERAL:ve.MULTILATERAL}))}}}function Jn(e){return async()=>(await $e(e,!0),{error:!1})}var{locales:Bc,localeDefault:Lc}=q(),Mc=(e,t)=>{if(!e)return [];let r=[];return t.forEach(o=>{let n=e.filter(a=>a.metadata.report.id===o.id);if(n.length>0)if(o.mode===ve.UNILATERAL){let a=o.dimensions[0];a.variants.forEach(s=>{let i=n.filter(c=>c.metadata.dimension.id===a.id&&c.metadata.variant.id===s.id);i.length>0&&(r=r.concat(i.map(c=>({path:`/${s.slug}/${c.slug}`,name:c.name,confidence:c.confidence,report:{id:o.id,name:o.name,mode:o.mode},members:[c],id:`r-${o.id}-${[c].map(l=>`${l.id}`).join("-")}`}))));});}else o.mode;}),r},Oc=(e,t)=>{if(!e)return [];let r,o,n;return e.map(a=>(r={...t.find(s=>s.id===a.report_id)},o={...r.dimensions.find(s=>s.id===a.dimension_id)},n={...o.variants.find(s=>s.id===a.variant_id)},delete r.dimensions,delete o.variants,{name:a.name,confidence:a.zvalue,metadata:{id:a.id,slug:a.slug,report:r,dimension:o,variant:n},id:a.content_id,slug:a.slug}))};function Yn(e){let t=pt(e),r=yr(e);return o;async function o(n){let a=n.format||"results",s=Bc.includes(n.locale)?n.locale:Lc,i=n.origin||"flexsearch",c=process.env.REPORTS_EXTERNAL_SEARCH&&i==="typesense",l=await t({...n,format:"plain",locale:G(s),visible:!0});if(c)return l;{let p=l.results?l.results:[],d=(await r()).data,m=Oc(p,d);return {meta:{...l.meta,origin:"flexsearch",format:a},results:Mc(m,d)}}}}function Qn(){return async e=>{let t=typeof e=="string"?{url:e}:e;try{let r=await br.request(t);return {ok:!0,status:r.status,data:r.data}}catch(r){throw new S(r.response?.status||500,r.message)}}}function Zn(e){return async t=>{try{let{variantPaths:r}=t,o=[];if(r)for(let n=0;n<r.length;n++){let a=r[n];(await e.search.findAll({attributes:["slug"],where:{variant_id:a.variantId}})).forEach(i=>{o.push(`/${a.prefix}/${a.variantSlug}/${i.slug}`);});}return {...t,paths:o,revalidated:0,samples:[]}}catch(r){throw new S(r.response?.status||500,r.message)}}}function Xn(){return async e=>{try{let{target:t}=e;return {target:t}}catch(t){throw new S(t.response?.status||500,t.message)}}}function qt(e,t){let r=[],o=a=>Object.values(t).reduce((i,c)=>("inputs"in c&&c.inputs.includes(a)&&(i.push(c.id),i=i.concat(o(c.id))),i),[]);e.forEach(a=>{r=r.concat(o(a));});let n=[];return r.forEach(a=>{n.includes(a)||n.push(a);}),n}function Uc(e,t){return e.some(r=>t.includes(`role.${r}`))}function ea(e){let{report:t}=e;return r;async function r(o){let n=await t.findByPk(o.report_id,{include:{association:"sections",separate:!0,where:{id:o.section_id},include:[{association:"blocks",separate:!0,include:[{association:"contentByLocale",separate:!0,where:{locale:{[Op.or]:[o.locale,"logic"]}}},{association:"inputs"},{association:"consumers"}]}]}}).then(s=>s&&s.sections&&Array.isArray(s.sections)?s.sections.reduce((i,c)=>{let l=c.blocks.map(p=>{let u=p.toJSON();return u.inputs=u.inputs.map(d=>d.id),u.consumers=u.consumers.map(d=>d.id),u});return i.concat(l)},[]):[]),a=n.filter(s=>s.settings&&s.settings.access&&Array.isArray(s.settings.access)&&Array.isArray(o.roles)&&(s.settings.access.includes("private")||Uc(o.roles,s.settings.access))).map(s=>s.id);return a=a.concat(qt(a,n)),{params:{...o},data:n.filter(s=>a.includes(s.id))}}}var zc=Object.keys(Zr).filter(e=>e.indexOf("Icon")===0);async function ta(){return {meta:{provider:"tabler"},results:zc}}async function ra(e){let t=Zr[e.name]?Zr[e.name]:()=>"";return renderToString(createElement(t))}var $c={tabler:ta};function oa(e){let t=$c[e];if(!t)throw new S(500,`Wrong provider dbListIconsFactory.ts: ${e}`);return P(()=>t())}var qc={tabler:ra};function na(e){return P(t=>{let r=qc[e];if(!r)throw new S(500,`Wrong provider dbReadIconFactory.ts: ${t.provider}`);return r({name:t.name,provider:e})})}function Gt(e,t,r){return Ve().then(o=>{Object.assign(r,ft(o));})}function ft(e,t){let r={},o=xe(t||{providers:[]});return t&&o.actions&&o.source==="custom"?(r.searchRole=P(o.actions.searchRole()),r.searchUser=P(o.actions.searchUser()),r.readUser=P(o.actions.readUser()),r.updateUser=P(o.actions.updateUser())):o.source==="auth0"&&(r.searchRole=P($o()),r.searchUser=P(qo()),r.readUser=P(Go()),r.updateUser=P(Ko())),{...Ln(e),searchReport:P(Yn(e)),readMetadata:P(yr(e)),regenerateSearch:P(Jn(e)),imageFlickrSearch:$t(e,"flickr"),imageLocalSearch:$t(e,"local"),imageUnsplashSearch:$t(e,"unsplash"),imageAdobeSearch:$t(e,"adobe"),imageFlickrSave:mt(e,"flickr"),imageLocalSave:mt(e,"local"),imageUnsplashSave:mt(e,"unsplash"),imageUploadSave:mt(e,"upload"),imageAdobeSave:mt(e,"adobe"),urlProxy:Qn(),searchRole:r.searchRole,searchUser:r.searchUser,readUser:r.readUser,updateUser:r.updateUser,updateMyData:P(jo()),revalidateReport:P(Zn(e)),revalidateUrl:P(Xn()),readPrivateBlocks:P(ea(e)),listTablerIcons:oa("tabler"),readTablerIcon:na("tabler")}}async function Xr(e){try{let t=new Gc.IncomingForm,r=await new Promise((o,n)=>{t.parse(e,(a,s,i)=>{if(a){console.log("Error in formidable parse function inside internal parseBody.ts",a),n(a);return}o({fields:s,files:i});});});return {...r.fields,files:r.files}}catch(t){return {error:t}}}function Ke(e,t){let r=ne(e,"create",t),o=ne(e,"read",t),n=ne(e,"update",t),a=ne(e,"delete",t),s=ne(e,"updateBulk",t),i=ne(e,"createBulk",t);return [O("POST",`create/bulk/${t}`,c=>{let{body:l}=c,{files:p,...u}=l,d=Object.keys(u).map(m=>u[m]);return i(d)},[$.EDITOR]),O("POST",`create/${t}`,c=>{let{body:l}=c;return r(l)},[$.EDITOR]),O("GET",`read/${t}`,c=>{let l=c.query,p=z(l.id).map(Z);return o({id:p,include:fr(l.include)})}),O("POST",`update/${t}`,c=>{let{body:l}=c;return n(l)},[$.EDITOR]),O("POST",`update/bulk/${t}`,c=>{let{body:l}=c,{files:p,...u}=l,d=Object.keys(u).map(m=>u[m]);return s(d)},[$.EDITOR]),O("DELETE",`delete/${t}`,c=>{let l=Z(c.query.id);return a(l)},[$.EDITOR])]}function aa(e){let{validateVariantSlug:t}=e;return [...Ke(e,"variant"),O("GET","validate/variant",r=>{let o=r.query,n=Z(o.dimension);return t({dimension:n,slug:ur(o.slug)})},[$.EDITOR])]}function gt(e,t){let r=`image${ge(t)}Save`,o=e[r];return O("POST",`images/save/${t}`,n=>{let a=n.body;if(!a.content_id)throw new S(400,"Missing 'content_id' parameter.");if(!a.image_id)throw new S(400,"Missing 'image_id' parameter.");return o(a)},[$.EDITOR])}function Kt(e,t){let r=`image${ge(t)}Search`,o=e[r];return O("GET",`images/search/${t}`,async n=>{let a=z(n.query.prompt)[0];if(!a)throw new S(400,"Empty 'prompt' param.");return o({prompt:a,page:Z(n.query.page)})},[$.EDITOR])}function sa(e){let{readMetadata:t}=e;return O("GET","read/metadata",()=>t({}))}function ia(e){let{regenerateSearch:t}=e;return O("POST","search/regenerate",()=>t(void 0),[$.EDITOR])}function ca(e){let{searchReport:t}=e;return O("GET","search/reports",r=>{let o=jc(r.query);return t(o)})}function jc(e){return {...Ft(e),format:z(e.format)[0]}}function la(e){let{urlProxy:t}=e;return O("GET","url/proxy",r=>{let{url:o,method:n="GET"}=r.query;if(!o)throw new S(400,"Missing URL parameter");return t({url:Array.isArray(o)?o.join(","):o,method:z(n)[0]==="POST"?"POST":"GET"})})}function ua(e){let{readMetadata:t,revalidateReport:r}=e;return O("GET","revalidate/report",async(o,n)=>{let{reportId:a,profilePrefix:s}=o.query;if(!a||!s)throw new S(400,"Missing URL parameter in revalidate factory: reportId or profilePrefix");try{let i=parseInt(`${a}`,10),c=`${s}`.split("/").filter(y=>y!=="").join("/"),l=[],p=await t({}).then(y=>y.ok?y.data.data.find(h=>h.id===i):[]);p&&p.mode===ve.UNILATERAL&&p.dimensions.forEach(y=>{y.variants.forEach(h=>{l.push({prefix:c,variantId:h.id,variantSlug:h.slug});});});let u=await r({profilePrefix:c,reportId:i,variantPaths:l}),d=[],m=0;return u.ok&&(m=u.data.paths.length,d=u.data.paths.slice(0,5),Promise.all(u.data.paths.map(y=>{let h;try{h=n.revalidate(y,{unstable_onlyGenerated:!0});}catch(R){console.log("error",y,R);}return h}))),{ok:!0,status:200,data:{reportId:a,revalidated:m,samples:d}}}catch(i){throw console.log(i),new S(500,"Error revalidating")}},[$.EDITOR])}function pa(){return O("GET","revalidate/url",async(e,t)=>{let{target:r}=e.query;if(r)try{return t.revalidate(r,{unstable_onlyGenerated:!0}),{ok:!0,status:200,data:{target:r}}}catch(o){throw console.log(o),new S(500,"Error revalidating")}else throw new S(400,"Missing target parameter in revalidate factory")},[$.ADMIN,$.EDITOR,$.WRITER])}var{localeDefault:Hc}=q();function da(e){let{readPrivateBlocks:t}=e;return O("POST","read/blocks/private",(r,o,n)=>{let a={report_id:parseInt(r.body.report_id,10),locale:r.body.locale||Hc,roles:n&&n.user?n.user.bespoke_roles:[],section_id:r.body.section_id||[]};return t(a)},[])}function ma(e){let{searchRole:t}=e;return O("GET","auth/search/roles",(r,o)=>t(""),[$.EDITOR,$.ADMIN])}function fa(e){let{searchUser:t}=e;return O("GET","auth/search/users",r=>t({query:r.query.query,role_id:r.query.role_id,page:r.query.page||0}),[$.ADMIN])}function ga(e){let{readUser:t}=e;return O("GET","auth/read/user",r=>t(r.query.user_id),[$.ADMIN])}function ya(e){let{updateUser:t,readUser:r}=e;return O("POST","auth/update/user",async(o,n,a)=>{let s=o.body,i=await t(s);return a&&a.user&&s.user_id===a.user.id&&(await r(a.user.id)).ok,i},[$.ADMIN])}function ha(e){let{updateUser:t,readUser:r}=e;return O("POST","auth/update/me",async(o,n,a)=>{let{report_id:s,user_metadata:i}=o.body;console.log("auth/update/me","session",a);let c={user_id:a.user.id,user_metadata:{}};try{let{user:l}=a;return a&&l&&s&&(l.bespoke_app_metadata&&l.bespoke_app_metadata.reports&&Array.isArray(l.bespoke_app_metadata.reports)?c.app_metadata={...l.bespoke_app_metadata}:c.app_metadata={reports:[]},c.app_metadata.reports.push({reportId:s})),i&&(c.user_metadata={...l.bespoke_app_metadata,...i}),await t(c),(await r(c.user_id)).ok,{ok:!0,status:200,data:{ok:!0,message:"User & session updated"}}}catch(l){return {ok:!1,status:500,error:l.message}}},[])}async function Wc(e){try{return "JVBERi0xLjcKJYGBgYEKCjYgMCBvYmoKPDwKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL0xlbmd0aCAxMTYKPj4Kc3RyZWFtCnicHYqxCsJAEAX79xVbC+Lmbm/3DoKFeEcKG2F/QCSKYgol+P0mMkwxMG8cHEwrnzt2w/j6jvPjetkalyyZLReKTH5DEPITuv/aUWKKiz6hTywiGliTZWNtFkyWitr0qEWrWmBbq2ndkz/hG1THGT/eextGCmVuZHN0cmVhbQplbmRvYmoKCjcgMCBvYmoKPDwKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL1R5cGUgL09ialN0bQovTiA1Ci9GaXJzdCAyNgovTGVuZ3RoIDM2Mgo+PgpzdHJlYW0KeJzVUt9LwzAQfs9fcY/6IEnTH2llDLa1VZChbIKi+JC1YVRGIm0m87/3ru0cexCfpXwkd/cl+a73BSBAQhRBCCqFCOJQQgwqCGAyYfzx68MAf9Bb0zF+19QdvCJHwAreGF+4vfUQsOmUnbgL7fXObdlwCAIiHxkPrav3lWlhUhZlKYQSQiQRIhFC5rguEBlCYow1meIeoaIRmFOhEOEMa+WARA1nqN5z4/F8gStyE+LkAzdKh/jnXXqrGO6Qf+nJpowvXZ1rb+Aiv5ZCRiKTsQyjTKYvl/g7WqO9+7/N9fobZ3/t8GzONF4acmvIA/2U+cp0bt9WOHbilQ4rtLk1u0/jm0pfKZGlqFOlGXpsNAZ/vt+8m6qnUlgc/M3ak4YhQbmlqRs9dwd0n8APOwDshDw4s9Z5cmXvR+tRDUXJ6NEzySSI8fV+4/uQkgHjc92ZXupJJ4qwlasbuwX+1NiZ7Zpjgm78BkHDxfcKZW5kc3RyZWFtCmVuZG9iagoKOCAwIG9iago8PAovU2l6ZSA5Ci9Sb290IDIgMCBSCi9JbmZvIDMgMCBSCi9GaWx0ZXIgL0ZsYXRlRGVjb2RlCi9UeXBlIC9YUmVmCi9MZW5ndGggNDEKL1cgWyAxIDIgMiBdCi9JbmRleCBbIDAgOSBdCj4+CnN0cmVhbQp4nBXEwQ0AIAwDsUuKxJf9JUZippb4YaDbbEhKTpWWOCDezxcGYeEDtQplbmRzdHJlYW0KZW5kb2JqCgpzdGFydHhyZWYKNjY5CiUlRU9G"}catch(n){throw console.error("Error generating PDF:",n),n}}function Ra(){return O("POST","pdf",async(e,t)=>{let{slugs:r,path:o}=e.body;if(!r||!o)throw new S(400,"Missing path parameter in request.");{new URL(o,e.headers.origin);return {ok:!0,status:200,data:await Wc()}}})}function ba(e,t){let r=`list${ge(t)}Icons`,o=e[r];return O("GET",`list/icons/${t}`,async()=>o({}),[$.EDITOR])}function Sa(e,t){let r=`read${ge(t)}Icon`,o=e[r];return O("GET",`read/icons/${t}/icon.svg`,async n=>o({provider:t,name:n.query.name}))}function Ea(){return O("GET","report",async(e,t)=>{let{report:r,prefix:o,locale:n}=e.query;if(!r)throw new S(400,"Missing report parameter.");if(!o)throw new S(400,"Missing report parameter.");if(!n)throw new S(400,"Missing report parameter.");try{let s=await(await fetch(`${process.env.NEXT_PUBLIC_REPORTS_BASE_URL}/${n}${o}${r}`)).text(),l=new Jc().parseFromString(s,"text/html").getElementById("__NEXT_DATA__")?.textContent,p=JSON.parse(l).props;return {ok:!0,status:200,data:{variables:p.pageProps.initialState.variables,status:p.pageProps.initialState.status}}}catch(a){throw console.error(a),new S(500,"Couldn't find page cache")}})}var Zc=Te();function eo(e,t){return `${e.toUpperCase()} ${t.toLowerCase()}`}function Xc(e,t){let r=ft(e,t);return Object.fromEntries([...Ke(r,"block"),...Ke(r,"dimension"),...Ke(r,"formatter"),...Ke(r,"report"),...Ke(r,"section"),...aa(r),...Vn(r),ca(r),sa(r),ia(r),gt(r,"flickr"),gt(r,"local"),gt(r,"unsplash"),gt(r,"upload"),gt(r,"adobe"),Kt(r,"flickr"),Kt(r,"local"),Kt(r,"unsplash"),Kt(r,"adobe"),la(r),ma(r),fa(r),ga(r),ya(r),ha(r),ua(r),pa(),da(r),Ra(),ba(r,"tabler"),Sa(r,"tabler"),Ea()].map(({handler:o,method:n,path:a,roleRequired:s})=>[eo(n,a),{handler:o,roleRequired:s}]))}function el(e){let t=Ve().then(r=>Xc(r,e));return async function(o,n){await Yc(o,n,{methods:["GET","HEAD","PUT","PATCH","POST","DELETE"],origin:"*"});let{query:a,method:s}=o,{path:i,...c}=a;if(i&&s){let l=await t.then(p=>{let u=[].concat(i).join("/"),d=eo(s,u);return p[d]});if(l){let p=await fe(o,n,e);if(l.roleRequired){if(!p)return n.status(401).json({error:"Unauthorized. Must be logged in."});let u=p&&p.user&&p.user.bespoke_roles&&Array.isArray(p.user.bespoke_roles)?p.user.bespoke_roles:[];if(Array.isArray(l.roleRequired)&&l.roleRequired.length>0&&!rr(u,l.roleRequired))return n.status(402).json({error:"Forbidden. Not enough roles."})}if(l.handler)return ["POST","DELETE"].includes(s)&&(o.body=await Xr(o)),Promise.resolve(o).then(u=>l.handler(u,n,p||void 0)).then(async u=>{if(u&&"error"in u)throw new S(u.status,u.error);if(u.ok)if(u.data instanceof Buffer){let d=await Qc(u.data),m=Buffer.byteLength(u.data);n.writeHead(u.status,{"Content-Type":d?d.mime:"image/jpeg","Content-Length":m.toString()}).send(u.data);}else o.url&&o.url.indexOf("/icon.svg?name=")>0?(n.setHeader("Content-Type","image/svg+xml"),n.status(u.status).send(u.data)):n.status(u.status).json({data:u.data});}).catch(u=>{Zc&&console.trace("Backend Error",u),n.status(u.code).json({error:u.message});})}}else i||await t.then(console.log);return n.status(404).json({error:"No matching route",path:i,query:c})}}var tl=e=>{let t=e;return async function(r,o){let n=await t({test:"pala"});return o.json(n)}},rl=tl;var er={};Ts(er,{addBlockToState:()=>Co,addRunConsumersRunning:()=>cs,cloneEntity:()=>ts,createEntity:()=>Za,deleteEntity:()=>es,deleteQueryParam:()=>Su,readEntity:()=>oe,readMember:()=>Xt,readMetadata:()=>Au,readPrivateBlocks:()=>xu,readUser:()=>ku,recalculateVariables:()=>ps,removeBlocksFromState:()=>Mr,removeRunConsumersRunning:()=>ls,reportSearch:()=>hu,resetSectionState:()=>is,revalidateReport:()=>Cu,revalidateUrl:()=>Iu,searchMember:()=>bu,searchRegenerate:()=>Ru,searchRole:()=>vu,searchUser:()=>_u,setCurrentLocale:()=>fu,setPreferredLocale:()=>gu,setPreviews:()=>mu,setQueryParam:()=>Eu,setSectionState:()=>ss,setStatus:()=>as,updateEntity:()=>Xa,updateMyData:()=>wu,updateUser:()=>Pu,urlProxy:()=>Tu,variantValidateSlug:()=>yu});function pe(e,t){return e.request(t).then(r=>{let{status:o,data:n}=r;return "error"in n?{ok:!1,status:o,error:n.error}:{ok:!0,status:o,data:n.data}},r=>{if("isAxiosError"in r){let{status:o,data:n}=r.response||{status:500};return {ok:!1,status:o,error:n?.error??r.message}}return {ok:!1,status:500,error:r.message}})}function ee(e,t,r){let o=typeof t=="string"?{url:t}:t;return n=>pe(e,{...o,method:"GET",params:r?r(n):n})}function te(e,t,r){let o=typeof t=="string"?{url:t}:t;return n=>pe(e,{...o,method:"POST",data:r?r(n):n})}function je(e,t,r){let o=typeof t=="string"?{url:t}:t;return n=>pe(e,{...o,method:"DELETE",params:r?r(n):n})}function yt(e,t){return r=>pe(e,{method:"POST",url:`images/save/${t}`,params:{prompt:r.prompt,provider:t}})}function jt(e,t){return r=>pe(e,{method:"GET",url:`images/search/${t}`,params:{prompt:r.prompt,page:r.page,provider:t}})}function Aa(e,t){return ()=>pe(e,{method:"GET",url:`list/icons/${t}`,params:{provider:t}})}function Ta(e,t){return r=>pe(e,{method:"GET",url:`read/icons/${t}/icon.svg`,params:{name:r.name}})}var ht=e=>({id:e}),nl=e=>{if(e.mode==="slugs"){let t=e.slugs.map(r=>[r.variantSlug,r.memberSlug].join("/")).join(",");return {...e,slugs:t}}return ["related","whole"].includes(e.mode)?{...e}:{...e,[e.mode]:e[e.mode].join(",")}};function Ht(e){let t=br.create({baseURL:e});return {createBulkBlock:te(t,"create/bulk/block"),createBlock:te(t,"create/block"),createDimension:te(t,"create/dimension"),createFormatter:te(t,"create/formatter"),createReport:te(t,"create/report"),createSection:te(t,"create/section"),createVariant:te(t,"create/variant"),deleteBlock:je(t,"delete/block",ht),deleteDimension:je(t,"delete/dimension",ht),deleteFormatter:je(t,"delete/formatter",ht),deleteReport:je(t,"delete/report",ht),deleteSection:je(t,"delete/section",ht),deleteVariant:je(t,"delete/variant",ht),readBlock:ee(t,"read/block"),readDimension:ee(t,"read/dimension"),readFormatter:ee(t,"read/formatter"),readReport:ee(t,"read/report"),readSection:ee(t,"read/section"),readVariant:ee(t,"read/variant"),updateBulkBlock:te(t,"update/bulk/block"),updateBlock:te(t,"update/block"),updateDimension:te(t,"update/dimension"),updateFormatter:te(t,"update/formatter"),updateReport:te(t,"update/report"),updateSection:te(t,"update/section"),updateVariant:te(t,"update/variant"),searchReport:ee(t,"search/reports"),validateVariantSlug:ee(t,"validate/variant"),readMember:ee(t,"read/members",nl),readMemberImage:ee(t,{url:"member/image",responseType:"blob"}),searchMember:ee(t,"search/members"),updateMember:ee(t,"update/members"),imageLocalSearch:jt(t,"local"),imageLocalSave:yt(t,"local"),imageFlickrSearch:jt(t,"flickr"),imageFlickrSave:yt(t,"flickr"),imageUnsplashSearch:jt(t,"unsplash"),imageUnsplashSave:yt(t,"unsplash"),imageUploadSave:yt(t,"upload"),imageAdobeSearch:jt(t,"adobe"),imageAdobeSave:yt(t,"adobe"),readMetadata:ee(t,"read/metadata"),regenerateSearch:te(t,"search/regenerate"),urlProxy:ee(t,"url/proxy"),searchRole:ee(t,"auth/search/roles"),searchUser:ee(t,"auth/search/users"),readUser:ee(t,"auth/read/user"),updateUser:te(t,"auth/update/user"),updateMyData:te(t,"auth/update/me"),revalidateReport:ee(t,"revalidate/report"),revalidateUrl:ee(t,"revalidate/url"),readPrivateBlocks:te(t,"read/blocks/private"),listTablerIcons:Aa(t,"tabler"),readTablerIcon:Ta(t,"tabler")}}var{localeDefault:il}=q();function le(e){return {variables:e.variables||{},query:e.query||{},locale:e.locale||il}}var ul=fr(process.env.REPORTS_LOGGING),He=pl;function pl(e,t,r,o,n=void 0,a){let s={},i=[],{locale:c}=le(a);try{if(t){let l=new Proxy(console,{get(u,d){return dl(d,"log","debug","info","warn","error")?(...m)=>{i.push(`${d} ${Date.now()} - ${m.map(y=>format(y)).join(" ")}`),ul&&u[d](...m);}:u[d]}}),p;return n?p=new Function(e,"console","libs","formatters","locale","variables",r)(t,l,Me,o,c,n):p=new Function(e,"console","libs","formatters","locale",r)(t,l,Me,o,c),typeof p=="object"&&Object.keys(p).length>0&&Object.assign(s,p),{vars:s,error:null,log:i,output:p}}return {vars:s,error:"Invalid API Link",log:i}}catch(l){return {vars:s,error:l.message,log:i}}}function dl(e,...t){return t.includes(e)}function to(e){return e.reduce((t,r,o)=>(o?o===e.length-1&&o===1?t+=` and ${r}`:o===e.length-1?t+=`, and ${r}`:t+=`, ${r}`:t+=r,t),"")}var Rt=ml;function ml(e,t,r,o=!1){let{variables:n}=le(r);if(!e)return e;let a=/([A-z0-9]*)\{\{([^\}]+)\}\}/g;return e.replace(a,(i,c,l)=>{let p=d=>d;if(c){let d=c.replace(/^\w/g,m=>m.toLowerCase());d in t?p=t[d]:p=m=>`${c}${m}`;}let u=Array.isArray(n[l])?to(n[l]):n[l];if(u===void 0)return o?i:"N/A";try{return p(u,Me,t)}catch(d){return console.error(`Error using formatter ${p.name}
|
|
64
|
+
`,`Error message: ${d.message}`),"N/A"}})}var ro=(e,t,r)=>{let{variables:o}=r,n=s=>s.allowed==="never"?!1:!s.allowed||s.allowed==="always"||o[s.allowed],a={...e};return Object.keys(a).forEach(s=>{typeof a[s]=="string"?a[s]=Rt(a[s],t,r):Array.isArray(a[s])?a[s]=a[s].filter(n).map(i=>typeof i=="object"?ro(i,t,r):typeof i=="string"?Rt(i,t,r):i):typeof a[s]=="object"&&a[s]!==null&&!(a[s]instanceof Date)&&(a[s]=ro(a[s],t,r));}),a},hr=ro;var va=e=>Array.isArray(e)?e.map(t=>typeof t=="string"?{allowed:"always",label:t,id:t}:{allowed:"always",label:t.id,...t}):[];var oo=(e,t,r)=>{if(!r)return !1;if(e===Ne.SINGLE)return r.find(n=>n.id===t);let o=Array.isArray(t)?t:t.split(",");return Array.isArray(o)&&o.every(n=>r.map(a=>a.id).includes(n))};function no(e,t,r,o,n=!1){let{variables:a}=le(o),s=hr({logic:t},r,o).logic,i=He("variables",a,s,r,void 0,o),{vars:c,log:l,error:p}=i,u=c.type||Ne.SINGLE,d=c.component||"Selector",m=c.hideLabel||"false",y=c.resetSectionVars||"false",h=c.name||"Unlabeled Selector",R=va(c.options||[]),T=b=>u===Ne.MULTI&&!Array.isArray(b)?[b]:b,k=c.defaultValue,B;if(k&&(k=T(k),oo(u,k,R)&&(B=k)),!B){let b=R&&R[0]&&R[0].id||R[0]||"";B=T(b);}if(n&&typeof window<"u"){let b=`selector${e}id`,N=new URLSearchParams(window.location.search),j=Object.fromEntries(N)[b];j&&!oo(u,j,R)&&j!==void 0&&(N.delete(b),window.history.replaceState(null,null,`?${N.toString()}`));}return {config:{name:h,type:u,options:R,defaultValue:B,component:d,hideLabel:m,resetSectionVars:y},log:l,error:p}}function ao(e,t,r){if(!e)return !1;let o=Array.isArray(r)?r:r.split(",");return Array.isArray(o)&&o.every(n=>e.map(a=>`${a[`${t} ID`]}`).includes(n))}function so(e,t,r,o,n=!1){let{variables:a}=le(o),s=hr({logic:t},r,o).logic,i=He("variables",a,s,r,void 0,o),{vars:c,log:l,error:p}=i;if(n&&typeof window<"u"){let d=`multihierarchySelector${e}-value`,m=`multihierarchySelector${e}-type`,y=new URLSearchParams(window.location.search),h=Object.fromEntries(y),R=h[d],T=h[m];R&&R!==void 0&&T&&T!==void 0&&!ao(c.data,T,R)&&(y.delete(d),y.delete(m),window.history.replaceState(null,null,`?${y.toString()}`));}return {config:c,log:l,error:p}}var fl=(e,t,r)=>{let o=`selector${e}id`,n=new URLSearchParams(typeof location<"u"&&location?.search?location.search:"").get(o),a=new URLSearchParams(t).get(o),s=n||a;if(r.type===Ne.MULTI){let l=s?s.split(","):r.defaultValue,p=r.options.filter(u=>l.includes(u.id));return {[`selector${e}id`]:l,[`selector${e}label`]:(p||[]).map(u=>u.label)}}let i=s&&r.options.find(l=>l.id===s)?s:r.defaultValue,c=r.options.find(l=>l.id===i);return {[`selector${e}id`]:i,[`selector${e}label`]:c&&c.label||void 0}},_a=fl;var gl=(e,t,r)=>{let o=`multihierarchySelector${e}-value`,n=`multihierarchySelector${e}-type`,a=new URLSearchParams(typeof location<"u"&&location?.search?location.search:"").get(o),s=new URLSearchParams(typeof location<"u"&&location?.search?location.search:"").get(n),i=new URLSearchParams(t).get(o),c=new URLSearchParams(t).get(n),l=a||i,p=s||c,u=l?l.split(","):r.defaultValue||[],d=p||r.defaultValueType||"",m=r.data?.filter(y=>u.includes(`${y[`${d} ID`]}`))||[];return {[`multihierarchySelector${e}id`]:u,[`multihierarchySelector${e}label`]:[...new Set((m||[]).map(y=>y[d]))],[`multihierarchySelector${e}type`]:d}},ka=gl;var{localeDefault:Pa,locales:yl}=q(),hl=Object.values($r),Rl=(e,t=Pa)=>e&&hl.includes(e.type)?{locale:qr,locales:[qr]}:{locale:t,locales:yl},wa=(e,t=Pa)=>{if(!e)return {};let{locale:r}=Rl(e,t);return e.contentByLocale?.[r]?.content};function bl(e,t){let r=Object.values(t),o=r.filter(n=>n.shared&&n.section_id!==e).map(n=>n.id);return Object.fromEntries(r.filter(n=>n.section_id===e&&(n.inputs.length===0||n.inputs.some(a=>o.includes(a)))).map(n=>[n.id,n]))}var xa=bl;function io(e){return e.type===M.SECTION_FLAG&&e.inputs.length===0&&e.consumers.length===0}var We=fr(process.env.NEXT_PUBLIC_REPORTS_DEBUG),Tl=process.env.REPORTS_ORIGIN||"";Ia(br,{retries:3,retryDelay:Ia.exponentialDelay,onRetry:(e,t,r)=>{console.log("Generator request failed. Retrying... Count: ",e),console.log("URL: ",r.url),console.log(t.message);}});br.interceptors.request.use(e=>({...e,requestStart:Date.now()}));br.interceptors.response.use(e=>({...e,requestDuration:new Date().getTime()-e.config.requestStart}),e=>Promise.reject(e));var vl=(e,t,r)=>{let o=Rt(e,t,r);return o.startsWith("http")||(o=`${Tl}${o.startsWith("/")?"":"/"}${o}`),o},{urlProxy:_l}=Ht("/api/cms");function Rr(e){return e.ok!==void 0}function co(e){this.message=e,this.name="ApiFetchException";}var Ca=process.env.NEXT_PUBLIC_REPORTS_API_FETCH_TIMEOUT||0;async function kl(e,t,r="en",o){let n=Date.now(),a=e,s,c=new URL(e).searchParams;if(c.has("bespoke_slugs")){let u=new RegExp(`[?&]bespoke_slugs=${c.get("bespoke_slugs")}`,"g");a=a.replace(u,"");}let l=o?o.settings:{},p=!!(l&&l.useProxy&&l.useProxy==="true");if(typeof window=="object"&&p){let u=await _l({url:a,timeout:Ca});if(u.ok===!0)s=u.data;else throw new co(u?.error)}else try{let u=await br({url:a,timeout:Ca});if(u.status===200)u.headers["content-type"]==="text/csv"?s=csvParse(u.data):s=u.data;else throw new co("No response")}catch(u){throw new co(u.message)}if(c.has("bespoke_slugs")){let u=c.get("bespoke_slugs");if(u){let d=u.split(",");if(d.length===3){let[m,y,h]=d,R=xt(s,h);if(R&&Array.isArray(R)){let T=Array.from(new Set(R.map(k=>`${k[y]}`).filter(k=>!["","undefined"].includes(k))));if(T.length>0){let k=T.join("").length>2e3,B=await t({mode:k?"whole":"ids",ids:k?void 0:T,all:!1,locale:r,variant:[parseInt(m,10)],output:"lite",limit:T.length+1}).then(A=>{let b=[];return Rr(A)?A.ok&&(b=A.data.results):b=A.results,b&&Array.isArray(b)?b:[]}).catch(A=>(console.error(`Error hydrating slugs for Variant: ${m}, Key: ${y}, Accessor: ${h}`),console.error(` Url ${e}`),o&&console.error(` From Section ${o.section_id} and Block ${o.id}`),console.error(A),[]));if(B){let A=Object.fromEntries(B.map(b=>[b.id,`/${b.variant_slug}/${b.slug}`]));R.map(b=>(b.bespoke_slug=A[b[y]]?A[b[y]]:null,b));}}}}}}return {data:s,requestDuration:Date.now()-n}}function Pl(e){this.name="BlockException",this.message=e;}async function Ba(e,t,r,o){let{locale:n,variables:a,query:s}=le(r),i=xl(e,r,a,t),c=null,l=e.contentByLocale?.logic?.content?.api,p=null,u=null,d=null;if(!i)return {outputVariables:{},renderVariables:{},status:{allowed:!1,hiddenByCascade:e.id}};if(e.type===M.FALLBACK)return {outputVariables:{},renderVariables:{},status:{allowed:i,hiddenByCascade:e.id}};if(l){d=vl(l,t,r);let A=d.split(On).filter(D=>D!==""),b=[];for(let D=0;D<A.length;D++){let j=A[D];new RegExp("^(?:[a-z+]+:)?//","i").test(d)||(j=`${process.env.NEXT_PUBLIC_REPORTS_BASE_URL}/${j}`.replace(/([^:]\/)\/+/g,"$1")),b.push(kl(j,o,n,e).catch(H=>{throw new Pl(` Excecution of ${e.type}-${e.id} in section ${e.section_id} in report ${a.report_name} (${a.report_id}) failed.
|
|
65
65
|
Error fetching ${j}.
|
|
66
66
|
Message: ${H.message}.
|
|
67
|
-
`)}));}let N=await Promise.all(b).catch(D=>D.message);if(typeof N=="string"&&N)return {outputVariables:{},renderVariables:{},status:{error:N}};c=N.length===1?N[0].data:N.map(D=>D.data),u=N.reduce((D,j)=>D+JSON.stringify(j.data).length/1024,0),p=Math.max(...N.map(D=>D.requestDuration));}if(e.type===M.SELECTOR){let{config:E,log:b,error:N}=no(e.id,e.contentByLocale[n].content.logic,t,r,!0);return {outputVariables:va(e.id,s,E),renderVariables:E,status:{log:b,error:N,allowed:i}}}if(e.type===M.MULTIHIERARCHY_SELECTOR){let{config:E,log:b,error:N}=so(e.id,e.contentByLocale[n].content.logic,t,r,!0);return {outputVariables:ka(e.id,s,E),renderVariables:E,status:{log:b,error:N,allowed:i}}}if(e.type===M.VIZ)return {outputVariables:{},renderVariables:e.contentByLocale.logic.content,status:{log:[],allowed:i}};if(e.type===M.RELATED){let E=e.contentByLocale?.logic?.content?.simple?.compare||"variant",b=e.contentByLocale?.logic?.content?.simple?.limit||4,N=Object.keys(a).filter(v=>v.startsWith("report_id")).map(v=>a[v]),D=Object.keys(a).filter(v=>v.startsWith("dimension_id")).map(v=>a[v]),j=Object.keys(a).filter(v=>v.startsWith("variant_id")).map(v=>a[v]),Y=Object.keys(a).filter(v=>v.startsWith("id")).map(v=>a[v]);if(!Y.length)return {outputVariables:{related_reports:[]},renderVariables:{},status:{log:[],allowed:!1}};let H=await Promise.all(Y.map((v,L)=>o({mode:"ids",locale:n,ids:[v],output:"lite",variant:[j[L]]}))).then(v=>v.flatMap(L=>{let A=[];return Rr(L)?L.ok&&(A=L.data.results):A=L.results,A&&Array.isArray(A)?A:[]})).catch(v=>(console.log("Error getting related members",v),[]));if(D.length>1){let v=Object.keys(a).filter(K=>K.startsWith("variant_slug")).map(K=>a[K]),L=H.map((K,C)=>{let x={mode:"related",locale:n,related:b??4,current_ids:[K.content_id],output:"full",variant_ids:[K.variant_id]};return C===0&&(x.include_ids=[K.content_id]),x}),A=await Promise.all(L.map(K=>o(K))).then(K=>K.flatMap(C=>{let x=[];return Rr(C)?C.ok&&(x=C.data.results):x=C.results,x&&Array.isArray(x)?x:[]})).catch(K=>(console.log("Error getting related members",K),[])),w=A.reduce((K,C)=>{let x=C.variant_slug;return K[x]||(K[x]=[]),K[x].push(C),K},{}),F=[],Q=Object.keys(w),J=[{combination:[],index:0}];for(;J.length>0;){let K=J.pop();if(!K)continue;let{combination:C,index:x}=K;if(x===Q.length){F.push(C);continue}let ae=Q[x],ue=w[ae];for(let ce of ue)J.push({combination:[...C,ce],index:x+1});}return {outputVariables:{related_reports:F.map(K=>{let C=K.sort((x,ae)=>v.indexOf(x.variant_slug)-v.indexOf(ae.variant_slug));return {entities:C,link:"/"+C.map(x=>`${x.variant_slug}/${x.slug}`).join("/")}})},renderVariables:{},status:{log:[],allowed:A.length>0}}}let U=H.map(v=>v.content_id),P={mode:"related",locale:n,related:b??4,current_ids:U,output:"full"};E&&(E==="report"?P.report_ids=N:E==="dimension"?P.dimension_ids=D:P.variant_ids=j);let V=await o(P).then(v=>{let L=[];return Rr(v)?v.ok&&(L=v.data.results):L=v.results,L&&Array.isArray(L)?L:[]}).catch(v=>(console.log("Error getting related members",v),[]));return {outputVariables:{related_reports:V.map(v=>({entities:[v],link:`/${v.variant_slug}/${v.slug}`}))},renderVariables:{},status:{log:[],allowed:V.length>0}}}let{logic:m}=wa(e,n),y=Rt(m,t,r),h=je("resp",c||{},y,t,a,r),{vars:R,error:_,log:I}=h;if(typeof R!="object")return {outputVariables:{},renderVariables:{},status:{error:"Configuration did not return an object",log:I,duration:p,responseSize:u,resp:c,api:d,allowed:i}};let B=Object.keys(R).reduce((E,b)=>({...E,[`${e.type}${e.id}${b}`]:R[b]}),{});return {renderVariables:R,outputVariables:[M.GENERATOR,M.SECTION_FLAG].includes(e.type)?R:B,status:{log:I,error:_,duration:p,responseSize:u,resp:c,api:d,allowed:i}}}function kl(e,t,r,o,n,a,s){return e.consumers.forEach(i=>{if(t[i]){let c=`${r}-${i}`;!o.includes(c)&&(t[i].section_id===t[r].section_id||!n)&&o.push(c),e.consumers.filter(l=>t[l].section_id===t[r].section_id||!n).forEach(l=>lo(l,t,o,!1,a,n,s));}})}var lo=(e,t,r=[],o=!0,n=!0,a=!0,s=[])=>{if(s.includes(e))return [];s.push(e);let i=t[e];return i&&i.inputs.length&&o&&i.inputs.forEach(c=>{let l=`${c}-${e}`;r.includes(l)||r.push(l),i.inputs.forEach(p=>lo(p,t,r,o,!1,a,s));}),i&&i.consumers.length&&n&&kl(i,t,e,r,a,n,s),r},Pl=(e,t,r,o)=>{let n=!0;if(e&&"allowed"in e.settings&&e.settings.allowed!=="always")if(e.settings.allowed==="never")n=!1;else {let a=le(t),{error:s,output:i}=je("variables",r,e.settings.allowedLogic||"return false;",o,void 0,a);s||(n=!!i);}return n},Sr=async(e,t,r,o,n,a={},s,i="section")=>{let c=i==="section",l=le(n),p=l.variables,u={...a.variables??{}},d={...a.status??{}},m=new Set,y=[],h={};r?h={...h,[r]:e[r]}:t?h=(t??[]).reduce((U,{id:P})=>({...U,...Ia(P,e)}),{}):h=Object.values(e).filter(U=>io(U)).reduce((U,P)=>({...U,[P.id]:P}),{});let R=Object.values(h).filter(U=>io(U));if(R.length>0){He&&console.log("%crunConsumers: calculating section flags","color:purple",R.map(T=>T.id).join(", "));let U=Object.fromEntries(await Promise.all(R.map(async T=>[T.id,await Ba(T,o,{...l,variables:p,locale:p.locale},s).then(v=>{let{outputVariables:L,status:A}=v;if(A.error){if(typeof window>"u")throw new Error(`Run consumers (Block: ${T.id}, Section ${T.section_id}) failed with message: ${A.error}. `);d[T.id]={allowed:!1,error:A.error},u[T.id]={};}return (T.consumers.length>0||[M.GENERATOR,M.SECTION_FLAG,M.RELATED].includes(T.type))&&A.allowed&&Object.keys(L).length>0?u[T.id]=L:u[T.id]={},i==="report"?(d[T.id]={allowed:A.allowed},[M.GENERATOR,M.SECTION_FLAG].includes(T.type)&&A.api&&(d[T.id].api=A.api)):d[T.id]=A,v})]))),V=Object.entries(U).filter(([T,v])=>!v.outputVariables[Nn]).map(([T])=>Number(T));m=new Set(V.map(T=>e[T].section_id)),Object.values(h).filter(T=>m.has(T.section_id)).forEach(T=>{y.push(T.id),delete h[T.id];}),He&&console.log("%crunConsumers: removing sections","color:purple",m.keys());}let _=m.size>0?Object.fromEntries(Object.entries(e).filter(([U,P])=>m?.has(P.section_id)?(y.includes(P.id)||y.push(P.id),!1):!0)):e;if(y.length>0&&(_=Object.fromEntries(Object.entries(_).map(([U,P])=>{let V={...P,inputs:P.inputs.filter(T=>!y.includes(T)),consumers:P.consumers.filter(T=>!y.includes(T))};return [U,V]}))),!r&&!t)return {variables:{...a.variables??{},...u},status:{...a.status??{},...d}};i==="report"&&y.length>0&&y.forEach(U=>{delete u[U],delete d[U],delete e[U];}),He&&console.log("%crunConsumers: running root blocks","color:purple",Object.keys(h));let I=Object.keys(h).reduce((U,P)=>{let V=new Date,T=lo(Number(P),_,[],!r,!0,c).map(A=>A.split("-")),L=(new Date().getTime()-V.getTime())/1e3;return He&&console.log(`%cResolved dependencies for ${P} (${L.toFixed(2)}s)`,"color:blue"),[...U,...T]},[]),B=new Date,E=Object.keys(h).reduce((U,P)=>U.includes(P)?[...U]:[P,...U],Rl(I)),N=(new Date().getTime()-B.getTime())/1e3;He&&console.log(`%cResolved DAG (${N.toFixed(2)}s): `,"color:green",E);async function D(U,P){let V=new Map;for(let T of U){let v=P[T],A=Promise.all(v.inputs.filter(w=>U.includes(String(w))).map(w=>V.get(Number(w)))).then(async()=>{let w=v.inputs.reduce((C,x)=>({...C,...u[x]}),p),F=v.inputs.find(C=>(v.settings?.ignoreCascade?v.settings?.ignoreCascade:[]).includes(C)||!d[C]?!1:!d[C].allowed||d[C].hiddenByCascade);if(F){d[T]={allowed:!1,hiddenByCascade:d[F].hiddenByCascade||F},u[T]={};return}let Q=new Date,J=await Ba(v,o,{...l,variables:w,locale:w.locale},s).then(({outputVariables:C,status:x})=>{if(x.error){if(typeof window>"u")throw new Error(`Run consumers (Block: ${T}, Section ${v.section_id}) failed with message: ${x.error}. `);d[T]={allowed:!1,error:x.error},u[T]={};}(v.consumers.length>0||[M.GENERATOR,M.SECTION_FLAG,M.RELATED].includes(v.type))&&x.allowed&&Object.keys(C).length>0?u[T]=C:u[T]={},i==="report"?(d[T]={allowed:x.allowed},[M.GENERATOR,M.SECTION_FLAG].includes(v.type)&&x.api&&(d[T].api=x.api)):d[T]=x;}),K=(new Date().getTime()-Q.getTime())/1e3;return He&&console.log(`%cBlock ${v.id} resolved in ${K.toFixed(3)}s`,K>500?"color:red":"color:green"),J});V.set(Number(T),A);}await Promise.all(Array.from(V.values()));}let j=new Date;await D(E,_);let H=(new Date().getTime()-j.getTime())/1e3;return He&&console.log(`%cResolved Variables (${H.toFixed(2)}s): `,"color:green"),{variables:{...a.variables??{},...u},status:{...a.status??{},...d}}};function wl(e=[]){return e.reduce((t,r,o)=>{if(r){let n=o+1;t[`id${n}`]=r.id,t[`name${n}`]=r.name,t[`slug${n}`]=r.slug,"attributes"in r&&Object.keys(r.attributes).forEach(a=>{t[`attr_${a}${n}`]=r.attributes[a];}),t[`variant_id${n}`]=r.variant_id,t[`variant_name${n}`]=r.variant_name,t[`variant_slug${n}`]=r.variant_slug,t[`dimension_id${n}`]=r.dimension_id,t[`dimension_name${n}`]=r.dimension_name,t.report_id=r.report_id,t.report_name=r.report_name;}return t},{})}var Er=wl;function xl(){let{publicRuntimeConfig:e}=Il(),t=e.bespoke_report_env_vars||{};return {...Object.keys(t).reduce((r,o)=>(r[`ENV_${o}`]=t[o]||"N/A",r),{})}}var Ar=xl;function Cl(e,t){return +(e<t)-+(e>t)}function Tr(e,t,r="ordering"){return Cl(t[r],e[r])}var Ma=(e,t={},r="en",o={},n={})=>{let a={setVariables:o.onSetVariables?o.onSetVariables:c=>c,openModal:o.onOpenModal?o.onOpenModal:c=>c,formatters:t,libs:Le,locale:r,...n};function s(c){return Function("globals",...c.vars,`with (globals) { ${c.logic} }`).bind(a,a)}function i(c){if(c.vars&&c.logic)return s(c);for(let l in c)Array.isArray(c[l])?c[l]=c[l].map(p=>isObject(p)?i(p):p):isObject(c[l])&&(c[l]=i(c[l]));return c}return i(e)};var{localeDefault:Ll}=q();var Wt=new schema.Entity("block",{},{mergeStrategy(e,t){return t.block_input?e||{}:{...e,...t}}});Wt.define({consumers:[Wt],inputs:[Wt]});var Oa=new schema.Entity("variant"),Na=new schema.Entity("dimension",{variants:[Oa]},{processStrategy(e){return {...e,variants:"variants"in e?e.variants:[]}}}),Da=new schema.Entity("section",{blocks:[Wt]}),Ml=new schema.Entity("report",{dimensions:[Na],sections:[Da]},{processStrategy(e){return {...e,sections:"sections"in e?e.sections.sort(Tr):[]}}}),Ol=new schema.Entity("formatter"),Nl={report:Ml,section:Da,block:Wt,dimension:Na,variant:Oa,formatter:Ol};function _r(e,t){let r=Nl[e];if(!r)throw new Error(`Invalid entity type: ${e}`);let{entities:o}=normalize(t,[r]);return {report:bt(o,"report"),dimension:bt(o,"dimension"),section:bt(o,"section"),block:bt(o,"block"),variant:bt(o,"variant"),formatter:bt(o,"formatter")}}function bt(e,t){return e.hasOwnProperty(t)?e[t]:{}}var Ua=(e,t=void 0)=>{let{sid:r,bid:o,previews:n=[],query:a={}}=t||{},s,i,c={};return r?(s=r,c.activeSection=s):s=e.activeSection,n.length>0?(i=n,c.previews=i.filter(Boolean)):i=e.previews,{parsedParams:{sid:s,bid:o,previews:i,query:a},statusPayload:c}},uo=(e=[],t=Ll)=>e.reduce((r,o)=>{let n=Ma({vars:["n"],logic:o.content.logic},{},t,{});return r[o.name]=n,r},{});var de=process.env.NEXT_PUBLIC_REPORTS_LOCALE_DEFAULT||"en",vr=process.env.NEXT_PUBLIC_REPORTS_LOCALES?.split(",")||[de];vr.includes(de)||vr.push(de);var Fl={localeDefault:de,locales:vr,currentLocale:de,preferredLocale:de,showToolbar:!1,activeSection:null,previews:[],query:{},sectionState:{},activeEntity:{type:null,id:null},sidebarStatus:{tools:!0,settings:!1,reportEditor:!1},isCMS:!1},kr=createSlice({name:"status",initialState:Fl,reducers:{setStatus:(e,t)=>{Object.assign(e,t.payload);},setPreviews(e,t){e.previews=t.payload;},setCurrentLocale(e,t){e.currentLocale=t.payload;},setPreferredLocale(e,t){e.preferredLocale=t.payload;},setSectionState(e,t){e.sectionState={...e.sectionState,...t.payload};},resetSectionState(e,t){e.sectionState={...e.sectionState,[t.payload]:{}};},setActiveEntity(e,t){e.activeEntity=t.payload;},openSidebar(e,t){e.sidebarStatus={...e.sidebarStatus,[t.payload]:!0};},closeSidebar(e,t){e.sidebarStatus={...e.sidebarStatus,[t.payload]:!1};},toggleSidebar(e,t){e.sidebarStatus={...e.sidebarStatus,[t.payload]:!e.sidebarStatus[t.payload]};}},extraReducers:{[HYDRATE]:(e,t)=>({...e,previews:t.payload.status.previews})}}),We=kr.actions;var $l={attributes:{},variables:{},status:{}},Pr=createSlice({name:"variables",initialState:$l,reducers:{setVariableChange:(e,t)=>{e.attributes={...e.attributes,...t.payload.attributes},e.variables={...e.variables,...t.payload.variables},e.status={...e.status,...t.payload.status};}},extraReducers:{[HYDRATE]:(e,t)=>({attributes:{...e.attributes,...t.payload.variables.attributes},status:{...e.status,...t.payload.variables.status},variables:{...e.variables,...t.payload.variables.variables}})}}),wr=Pr.actions;var Kl={tree:[],reports:null,entities:{block:{},dimension:{},report:{},section:{},variant:{},formatter:{}},requests:{block:{},dimension:{},report:{},section:{},variant:{},formatter:{}}},Pe=createSlice({name:"records",initialState:Kl,reducers:{set:(e,t)=>{let r=t.payload;return {entities:Jt(e.entities,r.entities||{}),requests:Jt(e.requests,r.requests||{}),reports:r.reports||e.reports,tree:r.tree||e.tree}},setRequest:(e,t)=>{let r=t.payload;e.requests[r.type][r.key]=r;},setCreateRequest(e,t){let r=t.payload;if(e.requests[r.type][r.key]=r,r.status==="SUCCESS"){let o=Array.isArray(r.data)?r.data:[r.data],n=_r(r.type,o),a=Jt(e.entities,n);if(e.entities=a,r.type==="report"){let s=r.data;e.reports?e.reports.indexOf(s.id)===-1&&(e.reports=[...e.reports,s.id]):e.reports=[s.id];}else if(r.type==="dimension"){let s=r.data;e.entities.report[s.report_id].dimensions.push(s.id),e.entities.report[s.report_id].dimensions=Ir(a.report[s.report_id].dimensions,a.dimension);}else if(r.type==="variant"){let s=r.data;e.entities.dimension[s.dimension_id].variants.push(s.id);}else if(r.type==="section"&&!Array.isArray(r.data)){let s=r.data;e.entities.report[s.report_id].sections.push(s.id),e.entities.report[s.report_id].sections=Ir(a.report[s.report_id].sections,a.section);}else if(r.type==="block")if(Array.isArray(r.data)){let s=r.data,i=s[0],c=s.map(l=>l.id);e.entities.section[i.section_id].blocks.concat(c);}else {let s=r.data;e.entities.section[s.section_id].blocks.push(s.id);}}},setReadRequest(e,t){let r=t.payload;if(r.type!=="report"&&(e.requests[r.type][r.key]=r),r.status==="SUCCESS"){let o=_r(r.type,r.data),n=Jt(e.entities,o);e.entities=n;}},setUpdateRequest(e,t){let r=t.payload;if(e.requests[r.type][r.key]=r,r.status==="SUCCESS"){let o=Array.isArray(r.data)?r.data:[r.data],n=_r(r.type,o),a,s,i;if(r.type==="block"&&!Array.isArray(r.data)){let l=e.entities.block[r.data.id].inputs,p=n.block[r.data.id].inputs;a=l.length!==p.length,a&&(i=l.length>p.length,s=i?l.filter(u=>!p.includes(u))[0]:p.filter(u=>!l.includes(u))[0]),Object.values(n.block).forEach(u=>{u.block_input&&delete n.block[u.id];});}let c=Jt(e.entities,n);if(e.entities=c,r.type==="dimension"){let l=r.data;e.entities.report[l.report_id].dimensions=Ir(c.report[l.report_id].dimensions,c.dimension);}else if(r.type==="section"&&!Array.isArray(r.data)){let l=r.data;e.entities.report[l.report_id].sections=Ir(c.report[l.report_id].sections,c.section);}else if(r.type==="block"&&!Array.isArray(r.data)){let l=r.data;a&&(i?e.entities.block[s].consumers=e.entities.block[s].consumers.filter(p=>p!==l.id):e.entities.block[s].consumers.push(l.id));}}},setDeleteRequest(e,t){let r=t.payload;if(e.requests[r.type][r.key]=r,r.status==="SUCCESS"){let{id:o,parentId:n,parentType:a}=r.data;if(delete e.entities[r.type][o],a&&n!=null){let s=`${r.type}s`;jl(e.entities[a][n][s],o);}}},removeBlocks:(e,t)=>{let r=t.payload,o={...e.entities.block};return r.forEach(n=>{delete o[n];}),{...e,entities:{...e.entities,block:o}}},addBlocks:(e,t)=>{let r=t.payload;return {...e,entities:{...e.entities,block:{...e.entities.block,...r}}}}},extraReducers:{[HYDRATE]:(e,t)=>{let r=t.payload.records,o=r.entities;return {entities:o,reports:Object.values(o.report).map(n=>n.id),requests:{block:{},dimension:{},report:{},section:{},variant:{},formatter:{}},tree:r.tree}}}});function Jt(e,t){return Object.fromEntries(Object.keys(e).map(r=>[r,{...e[r],...t[r]}]))}function Ir(e,t){return e.map(n=>t[n]).sort(Tr).map(n=>n.id)}function jl(e,t){let r=e.indexOf(t);r>-1&&e.splice(r,1);}function re(e){for(var t=arguments.length,r=Array(t>1?t-1:0),o=1;o<t;o++)r[o-1]=arguments[o];if(process.env.NODE_ENV!=="production"){var n=eu[e],a=n?typeof n=="function"?n.apply(null,r):n:"unknown error nr: "+e;throw Error("[Immer] "+a)}throw Error("[Immer] minified error nr: "+e+(r.length?" "+r.map(function(s){return "'"+s+"'"}).join(","):"")+". Find the full error at: https://bit.ly/3cXEKWf")}function Et(e){return !!e&&!!e[se]}function Ye(e){var t;return !!e&&(function(r){if(!r||typeof r!="object")return !1;var o=Object.getPrototypeOf(r);if(o===null)return !0;var n=Object.hasOwnProperty.call(o,"constructor")&&o.constructor;return n===Object||typeof n=="function"&&Function.toString.call(n)===tu}(e)||Array.isArray(e)||!!e[ja]||!!(!((t=e.constructor)===null||t===void 0)&&t[ja])||Eo(e)||Ao(e))}function Qt(e,t,r){r===void 0&&(r=!1),Tt(e)===0?(r?Object.keys:Po)(e).forEach(function(o){r&&typeof o=="symbol"||t(o,e[o],e);}):e.forEach(function(o,n){return t(n,o,e)});}function Tt(e){var t=e[se];return t?t.i>3?t.i-4:t.i:Array.isArray(e)?1:Eo(e)?2:Ao(e)?3:0}function yo(e,t){return Tt(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function Hl(e,t){return Tt(e)===2?e.get(t):e[t]}function Ha(e,t,r){var o=Tt(e);o===2?e.set(t,r):o===3?e.add(r):e[t]=r;}function Wl(e,t){return e===t?e!==0||1/e==1/t:e!=e&&t!=t}function Eo(e){return Zl&&e instanceof Map}function Ao(e){return Xl&&e instanceof Set}function Je(e){return e.o||e.t}function To(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=ru(e);delete t[se];for(var r=Po(t),o=0;o<r.length;o++){var n=r[o],a=t[n];a.writable===!1&&(a.writable=!0,a.configurable=!0),(a.get||a.set)&&(t[n]={configurable:!0,writable:!0,enumerable:a.enumerable,value:e[n]});}return Object.create(Object.getPrototypeOf(e),t)}function _o(e,t){return t===void 0&&(t=!1),vo(e)||Et(e)||!Ye(e)||(Tt(e)>1&&(e.set=e.add=e.clear=e.delete=Jl),Object.freeze(e),t&&Qt(e,function(r,o){return _o(o,!0)},!0)),e}function Jl(){re(2);}function vo(e){return e==null||typeof e!="object"||Object.isFrozen(e)}function he(e){var t=ou[e];return t||re(18,e),t}function Fa(){return process.env.NODE_ENV==="production"||At||re(0),At}function po(e,t){t&&(he("Patches"),e.u=[],e.s=[],e.v=t);}function xr(e){ho(e),e.p.forEach(Yl),e.p=null;}function ho(e){e===At&&(At=e.l);}function Va(e){return At={p:[],l:At,h:e,m:!0,_:0}}function Yl(e){var t=e[se];t.i===0||t.i===1?t.j():t.g=!0;}function mo(e,t){t._=t.p.length;var r=t.p[0],o=e!==void 0&&e!==r;return t.h.O||he("ES5").S(t,e,o),o?(r[se].P&&(xr(t),re(4)),Ye(e)&&(e=Cr(t,e),t.l||Br(t,e)),t.u&&he("Patches").M(r[se].t,e,t.u,t.s)):e=Cr(t,r,[]),xr(t),t.u&&t.v(t.u,t.s),e!==Wa?e:void 0}function Cr(e,t,r){if(vo(t))return t;var o=t[se];if(!o)return Qt(t,function(i,c){return za(e,o,t,i,c,r)},!0),t;if(o.A!==e)return t;if(!o.P)return Br(e,o.t,!0),o.t;if(!o.I){o.I=!0,o.A._--;var n=o.i===4||o.i===5?o.o=To(o.k):o.o,a=n,s=!1;o.i===3&&(a=new Set(n),n.clear(),s=!0),Qt(a,function(i,c){return za(e,o,n,i,c,r,s)}),Br(e,n,!1),r&&e.u&&he("Patches").N(o,r,e.u,e.s);}return o.o}function za(e,t,r,o,n,a,s){if(process.env.NODE_ENV!=="production"&&n===r&&re(5),Et(n)){var i=Cr(e,n,a&&t&&t.i!==3&&!yo(t.R,o)?a.concat(o):void 0);if(Ha(r,o,i),!Et(i))return;e.m=!1;}else s&&r.add(n);if(Ye(n)&&!vo(n)){if(!e.h.D&&e._<1)return;Cr(e,n),t&&t.A.l||Br(e,n);}}function Br(e,t,r){r===void 0&&(r=!1),!e.l&&e.h.D&&e.m&&_o(t,r);}function fo(e,t){var r=e[se];return (r?Je(r):e)[t]}function $a(e,t){if(t in e)for(var r=Object.getPrototypeOf(e);r;){var o=Object.getOwnPropertyDescriptor(r,t);if(o)return o;r=Object.getPrototypeOf(r);}}function Ro(e){e.P||(e.P=!0,e.l&&Ro(e.l));}function go(e){e.o||(e.o=To(e.t));}function bo(e,t,r){var o=Eo(t)?he("MapSet").F(t,r):Ao(t)?he("MapSet").T(t,r):e.O?function(n,a){var s=Array.isArray(n),i={i:s?1:0,A:a?a.A:Fa(),P:!1,I:!1,R:{},l:a,t:n,k:null,o:null,j:null,C:!1},c=i,l=So;s&&(c=[i],l=Yt);var p=Proxy.revocable(c,l),u=p.revoke,d=p.proxy;return i.k=d,i.j=u,d}(t,r):he("ES5").J(t,r);return (r?r.A:Fa()).p.push(o),o}function Ql(e){return Et(e)||re(22,e),function t(r){if(!Ye(r))return r;var o,n=r[se],a=Tt(r);if(n){if(!n.P&&(n.i<4||!he("ES5").K(n)))return n.t;n.I=!0,o=qa(r,a),n.I=!1;}else o=qa(r,a);return Qt(o,function(s,i){n&&Hl(n.t,s)===i||Ha(o,s,t(i));}),a===3?new Set(o):o}(e)}function qa(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return To(e)}var Ga,At,ko=typeof Symbol<"u"&&typeof Symbol("x")=="symbol",Zl=typeof Map<"u",Xl=typeof Set<"u",Ka=typeof Proxy<"u"&&Proxy.revocable!==void 0&&typeof Reflect<"u",Wa=ko?Symbol.for("immer-nothing"):((Ga={})["immer-nothing"]=!0,Ga),ja=ko?Symbol.for("immer-draftable"):"__$immer_draftable",se=ko?Symbol.for("immer-state"):"__$immer_state";var eu={0:"Illegal state",1:"Immer drafts cannot have computed properties",2:"This object has been frozen and should not be mutated",3:function(e){return "Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? "+e},4:"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.",5:"Immer forbids circular references",6:"The first or second argument to `produce` must be a function",7:"The third argument to `produce` must be a function or undefined",8:"First argument to `createDraft` must be a plain object, an array, or an immerable object",9:"First argument to `finishDraft` must be a draft returned by `createDraft`",10:"The given draft is already finalized",11:"Object.defineProperty() cannot be used on an Immer draft",12:"Object.setPrototypeOf() cannot be used on an Immer draft",13:"Immer only supports deleting array indices",14:"Immer only supports setting array indices and the 'length' property",15:function(e){return "Cannot apply patch, path doesn't resolve: "+e},16:'Sets cannot have "replace" patches.',17:function(e){return "Unsupported patch operation: "+e},18:function(e){return "The plugin for '"+e+"' has not been loaded into Immer. To enable the plugin, import and call `enable"+e+"()` when initializing your application."},20:"Cannot use proxies if Proxy, Proxy.revocable or Reflect are not available",21:function(e){return "produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '"+e+"'"},22:function(e){return "'current' expects a draft, got: "+e},23:function(e){return "'original' expects a draft, got: "+e},24:"Patching reserved attributes like __proto__, prototype and constructor is not allowed"},tu=""+Object.prototype.constructor,Po=typeof Reflect<"u"&&Reflect.ownKeys?Reflect.ownKeys:Object.getOwnPropertySymbols!==void 0?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames,ru=Object.getOwnPropertyDescriptors||function(e){var t={};return Po(e).forEach(function(r){t[r]=Object.getOwnPropertyDescriptor(e,r);}),t},ou={},So={get:function(e,t){if(t===se)return e;var r=Je(e);if(!yo(r,t))return function(n,a,s){var i,c=$a(a,s);return c?"value"in c?c.value:(i=c.get)===null||i===void 0?void 0:i.call(n.k):void 0}(e,r,t);var o=r[t];return e.I||!Ye(o)?o:o===fo(e.t,t)?(go(e),e.o[t]=bo(e.A.h,o,e)):o},has:function(e,t){return t in Je(e)},ownKeys:function(e){return Reflect.ownKeys(Je(e))},set:function(e,t,r){var o=$a(Je(e),t);if(o?.set)return o.set.call(e.k,r),!0;if(!e.P){var n=fo(Je(e),t),a=n?.[se];if(a&&a.t===r)return e.o[t]=r,e.R[t]=!1,!0;if(Wl(r,n)&&(r!==void 0||yo(e.t,t)))return !0;go(e),Ro(e);}return e.o[t]===r&&(r!==void 0||t in e.o)||Number.isNaN(r)&&Number.isNaN(e.o[t])||(e.o[t]=r,e.R[t]=!0),!0},deleteProperty:function(e,t){return fo(e.t,t)!==void 0||t in e.t?(e.R[t]=!1,go(e),Ro(e)):delete e.R[t],e.o&&delete e.o[t],!0},getOwnPropertyDescriptor:function(e,t){var r=Je(e),o=Reflect.getOwnPropertyDescriptor(r,t);return o&&{writable:!0,configurable:e.i!==1||t!=="length",enumerable:o.enumerable,value:r[t]}},defineProperty:function(){re(11);},getPrototypeOf:function(e){return Object.getPrototypeOf(e.t)},setPrototypeOf:function(){re(12);}},Yt={};Qt(So,function(e,t){Yt[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)};}),Yt.deleteProperty=function(e,t){return process.env.NODE_ENV!=="production"&&isNaN(parseInt(t))&&re(13),Yt.set.call(this,e,t,void 0)},Yt.set=function(e,t,r){return process.env.NODE_ENV!=="production"&&t!=="length"&&isNaN(parseInt(t))&&re(14),So.set.call(this,e[0],t,r,e[0])};var nu=function(){function e(r){var o=this;this.O=Ka,this.D=!0,this.produce=function(n,a,s){if(typeof n=="function"&&typeof a!="function"){var i=a;a=n;var c=o;return function(h){var R=this;h===void 0&&(h=i);for(var _=arguments.length,I=Array(_>1?_-1:0),B=1;B<_;B++)I[B-1]=arguments[B];return c.produce(h,function(E){var b;return (b=a).call.apply(b,[R,E].concat(I))})}}var l;if(typeof a!="function"&&re(6),s!==void 0&&typeof s!="function"&&re(7),Ye(n)){var p=Va(o),u=bo(o,n,void 0),d=!0;try{l=a(u),d=!1;}finally{d?xr(p):ho(p);}return typeof Promise<"u"&&l instanceof Promise?l.then(function(h){return po(p,s),mo(h,p)},function(h){throw xr(p),h}):(po(p,s),mo(l,p))}if(!n||typeof n!="object"){if((l=a(n))===void 0&&(l=n),l===Wa&&(l=void 0),o.D&&_o(l,!0),s){var m=[],y=[];he("Patches").M(n,l,m,y),s(m,y);}return l}re(21,n);},this.produceWithPatches=function(n,a){if(typeof n=="function")return function(l){for(var p=arguments.length,u=Array(p>1?p-1:0),d=1;d<p;d++)u[d-1]=arguments[d];return o.produceWithPatches(l,function(m){return n.apply(void 0,[m].concat(u))})};var s,i,c=o.produce(n,a,function(l,p){s=l,i=p;});return typeof Promise<"u"&&c instanceof Promise?c.then(function(l){return [l,s,i]}):[c,s,i]},typeof r?.useProxies=="boolean"&&this.setUseProxies(r.useProxies),typeof r?.autoFreeze=="boolean"&&this.setAutoFreeze(r.autoFreeze);}var t=e.prototype;return t.createDraft=function(r){Ye(r)||re(8),Et(r)&&(r=Ql(r));var o=Va(this),n=bo(this,r,void 0);return n[se].C=!0,ho(o),n},t.finishDraft=function(r,o){var n=r&&r[se];process.env.NODE_ENV!=="production"&&(n&&n.C||re(9),n.I&&re(10));var a=n.A;return po(a,o),mo(void 0,a)},t.setAutoFreeze=function(r){this.D=r;},t.setUseProxies=function(r){r&&!Ka&&re(20),this.O=r;},t.applyPatches=function(r,o){var n;for(n=o.length-1;n>=0;n--){var a=o[n];if(a.path.length===0&&a.op==="replace"){r=a.value;break}}n>-1&&(o=o.slice(n+1));var s=he("Patches").$;return Et(r)?s(r,o):this.produce(r,function(i){return s(i,o)})},e}(),ie=new nu,au=ie.produce;ie.produceWithPatches.bind(ie);ie.setAutoFreeze.bind(ie);ie.setUseProxies.bind(ie);ie.applyPatches.bind(ie);ie.createDraft.bind(ie);ie.finishDraft.bind(ie);var Lr=au;var me=Pe.actions,Za=Zt({block:Qe("block"),dimension:Qe("dimension"),formatter:Qe("formatter"),report:Qe("report"),section:Qe("section"),variant:Qe("variant")}),oe=Zt({block:Ze("block"),dimension:Ze("dimension"),formatter:Ze("formatter"),report:Ze("report"),section:Ze("section"),variant:Ze("variant")}),Xa=Zt({block:Ee("block"),dimension:Ee("dimension"),formatter:Ee("formatter"),report:Ee("report"),section:Ee("section"),variant:Ee("variant")}),es=Zt({block:_t("block"),dimension:_t("dimension"),formatter:_t("formatter"),report:_t("report"),section:_t("section"),variant:_t("variant")}),ts=Zt({block:Ya("block"),section:Ya("section")});function Zt(e){return (t,r)=>{let o=e[t];if(!o)throw new Error(`Attempting to dispatch action for invalid entity type '${t}'`);return o(r)}}function Xe(e,t){return (r,o)=>{let a=o().records.requests[e][t],s=!a||a.status==="UNINITIALIZED"?"LOADING":"FETCHING";r(me.setRequest({key:t,type:e,status:s}));}}function vt(e,t,r,o){return n=>{typeof window=="object"&¬ifications.show({autoClose:3e3,color:"red",id:t,message:o,title:"Error"}),n(me.setRequest({key:t,type:e,status:"FAILURE",error:{code:r,message:o}}));}}function Qe(e){return t=>{let r=Io(e,t);return (o,n,a)=>(o(Xe(e,r)),ne(a,"create",e)(t).then(i=>(i.ok===!0?o(me.setCreateRequest({key:r,operation:"create",status:"SUCCESS",type:e,data:i.data})):o(vt(e,r,i.status,i.error)),i)))}}function cu(e){return t=>{let r=Io(e,t[0]);return (o,n,a)=>(o(Xe(e,r)),ne(a,"createBulk",e)(t).then(i=>(i.ok===!0?o(me.setCreateRequest({key:r,operation:"createBulk",status:"SUCCESS",type:e,data:i.data})):o(vt(e,r,i.status,i.error)),i)))}}function Ja(e,t,r){return r.replace(new RegExp(e,"g"),t)}function lu(e){return e.section_id!==void 0}function uu(e){return e.report_id!==void 0}function Ya(e){return t=>{let{create:r}=t;return (o,n,a)=>Qe(e)(r)(o,n,a).then(async i=>{if(i.ok){let{data:c}=i,{id:l}=c,{update:p}=t,u=ns(e,{id:l});if(o(Xe(e,`${u}`)),e==="block"&&lu(r)){let d=Lr(p,R=>{R.id=l;}),{contentByLocale:m}=d;m&&(d=Lr(d,R=>{R.id=l,R.contentByLocale=Object.keys(m).reduce((_,I)=>{let B=m?m[I]:{};return _[I]={...B,id:l},_},{});}));let h=d.inputs?.map(R=>({type:R.type,id:R.id,inputAction:{operation:"create",input:{input_id:R.id,block_id:d.id}}}));return h&&h.length>0&&Qa(e)([d,...h])(o,n,a).then(()=>Ze("section")({id:d.section_id,include:!0})(o,n,a).then(R=>(R.ok&&o(me.setRequest({key:u,type:e,status:"SUCCESS",data:R.data})),R))),Ee(e)(d)(o,n,a).then(R=>(R.ok&&o(me.setRequest({key:u,type:e,status:"SUCCESS",data:R.data})),R))}if(e==="section"&&uu(r)){let{id:d}=c,m=Lr(p,R=>{R.id=d;}),{blocks:y}=m,h=y?.map(R=>({type:R.type,blockcol:R.blockcol,blockrow:R.blockrow,section_id:d,locales:Object.keys(R.contentByLocale).map(_=>_)}));return h&&y&&await cu("block")(h)(o,n,a).then(R=>{if(R.ok){let _=R.data,I=[],B=_.map((E,b)=>{let D={...E},j=D.id,Y=y[b];Y.contentByLocale&&(D.contentByLocale=Object.keys(Y.contentByLocale).reduce((A,w)=>{let F=Y.contentByLocale[w];return A[w]={...F,content:{...F.content},id:D.id},A},{}));let{settings:H}=Y,{contentByLocale:U,id:P}=D;D.settings=H;let V={id:P,contentByLocale:U,settings:H};return Y.inputs.map(A=>A.id).reduce((A,w)=>{let F=y.findIndex(Q=>Q.id===w);return [...A,F]},[]).map(A=>({..._[A],originalBlock:y[A]})).forEach(A=>{let{id:w,type:F,originalBlock:Q}=A;if([M.SELECTOR,M.VIZ].includes(F)){if(V.contentByLocale?.logic?.content?.api){let J=V.contentByLocale?.logic.content.api;V.contentByLocale.logic.content.api=Ja(`(selector${Q.id}id)`,`selector${w}id`,J);}if(V.contentByLocale?.logic?.content?.logic){let J=V.contentByLocale.logic.content.logic;V.contentByLocale.logic.content.logic=Ja(`(selector${Q.id}id)`,`selector${w}id`,J);}}I.push({id:w,inputAction:{operation:"create",input:{input_id:w,block_id:j}}});}),V});return Qa("block")([...B,...I])(o,n,a)}}),Ee(e)(m)(o,n,a).then(R=>(R.ok&&o(me.setRequest({key:u,type:e,status:"SUCCESS",data:R.data})),R))}return Ee(e)({...p,id:c.id})(o,n,a)}})}}function Ze(e){return t=>{let r=rs(e,t);return (o,n,a)=>(o(Xe(e,r)),ne(a,"read",e)(t).then(i=>(i.ok===!0?o(me.setReadRequest({key:r,operation:"read",status:"SUCCESS",type:e,data:i.data})):o(vt(e,r,i.status,i.error)),i)))}}function Ee(e){return t=>{let r=xo(e,t);return (o,n,a)=>(o(Xe(e,r)),ne(a,"update",e)(t).then(i=>(i.ok===!0?o(me.setUpdateRequest({key:r,operation:"update",status:"SUCCESS",type:e,data:i.data})):o(vt(e,r,i.status,i.error)),i)))}}function Qa(e){return t=>{let r=xo(e,t[0]);return (o,n,a)=>(o(Xe(e,r)),ne(a,"updateBulk",e)(t).then(i=>(i.ok===!0?o(me.setUpdateRequest({key:r,operation:"updateBulk",status:"SUCCESS",type:e,data:i.data})):o(vt(e,r,i.status,i.error)),i)))}}function _t(e){return t=>{let r=os(e,t);return (o,n,a)=>(o(Xe(e,r)),ne(a,"delete",e)(t).then(i=>{i.ok===!0?o(me.setDeleteRequest({key:r,operation:"delete",status:"SUCCESS",type:e,data:i.data})):o(vt(e,r,i.status,i.error));}))}}function Io(e,t){if(e==="variant"){let r=t;return `create(variant, [${r.dimension_id}, ${r.name}])`}return `create(${e}, [${Object.keys(t)}])`}function rs(e,t={}){let r=t.id==null?null:`'${t.id}'`;return `read(${e}, ${r}, ${!!t.include})`}function xo(e,t){let{id:r,...o}=t;return `update(${e}, ${r}, [${Object.keys(o)}])`}function os(e,t){return `delete(${e}, ${t})`}function ns(e,t){let r=t.id==null?null:`'${t.id}'`;return `clone(${e}, ${r})`}var{setStatus:as,setPreviews:pu,setSectionState:ss,resetSectionState:is,setCurrentLocale:du,setPreferredLocale:mu}=We;function fu(e,t){return async(r,o,n)=>{let a=await n.validateVariantSlug({dimension:e,slug:t});if("error"in a)throw new Error(a.error);return a.data}}function gu(e){return async(t,r,o)=>{let n=await o.searchReport(e);if("error"in n)throw new Error(n.error);return n.data}}function yu(){return async(e,t,r)=>{let o=await r.regenerateSearch(void 0);if("error"in o)throw new Error(o.error);return o.data}}function Xt(e){return async(t,r,o)=>{let n=await o.readMember(e);if("error"in n)throw new Error(n.error);return n.data}}function hu(e){return async(t,r,o)=>{let n=await o.searchMember(e);if(n.ok===!0)return n.data;throw new Error(n.error)}}async function cs(e,t,r,o){let n=r().status,a={...n,...o},s={...n.query,...o.query};Object.keys(s).forEach(c=>s[c]===void 0&&delete s[c]);let i={...a,query:s};t(as(i)),n.activeSection&&t(ls(e,{query:s}));}function Ru(e,t){return async(r,o)=>cs(e,r,o,{query:{[t]:void 0}})}function bu(e,t,r){return async(o,n)=>cs(e,o,n,{query:{[t]:r}})}function ls(e,t){return async(r,o)=>{let n=o(),{currentLocale:a}=n.status,s=n.records.entities.block,i=e.formatterFunctions[a],{parsedParams:c,statusPayload:l}=Ua(n.status,t),{sid:p,bid:u,previews:d,query:m}=c;Object.keys(l).length&&r(We.setStatus(l));let y={...Er(d),locale:a,...Ar()},h={variables:y,query:m,locale:a},R=n.records.entities.section[p],_=async I=>r(Xt(I));try{let I=await Sr(s,R&&[R],u,i,h,void 0,_),{variables:B,status:E}=I;r(wr.setVariableChange({attributes:y,variables:B,status:E}));}catch(I){console.log("Error in runConsumers client side: recalculateVariables",I);}}}function Su(e){return async(t,r,o)=>{let n=await o.readMetadata(e);if("error"in n)throw new Error(n.error);return n.data}}function Eu(e){return async(t,r,o)=>{let n=await o.urlProxy({url:e});if("error"in n)throw new Error(n.error);return n.data}}function Au(){return async(e,t,r)=>{let o=await r.searchRole("");if("error"in o)throw new Error(o.error);return o.data}}function Tu(e){return async(t,r,o)=>{let n=await o.searchUser(e);if("error"in n)throw new Error(n.error);return n.data}}function _u(e){return async(t,r,o)=>{let n=await o.readUser({user_id:e});if("error"in n)throw new Error(n.error);return n.data}}function vu({user:e}){return async(t,r,o)=>{let n=await o.updateUser(e);if("error"in n)throw new Error(n.error);return n.data}}function ku(e){return async(t,r,o)=>{let n=await o.updateMyData(e);if("error"in n)throw new Error(n.error);return n.data}}function Mr(e){let{removeBlocks:t}=Pe.actions;return async r=>{await r(t(e));}}function Co(e){let{addBlocks:t}=Pe.actions;return async r=>{await r(t(e));}}function Pu(e){return async(t,r,o)=>{let n=await o.readPrivateBlocks({...e,roles:[]});if("error"in n)throw new Error(n.error);return n.data}}function wu(e){return async(t,r,o)=>{let n=await o.revalidateUrl({target:e.target});if("error"in n)throw new Error(n.error);return n.data}}function Iu(e){return async(t,r,o)=>{let n=await o.revalidateReport({reportId:e.reportId,profilePrefix:e.profilePrefix});if("error"in n)throw new Error(n.error);return n.data}}var us=e=>configureStore({reducer:{[Pe.name]:Pe.reducer,[kr.name]:kr.reducer,[Pr.name]:Pr.reducer},middleware(t){return t({thunk:{extraArgument:Ht("/api/cms/")}})}}),tr=createWrapper(us);function Mu(e){let t=process.cwd(),r=Lu.resolve(t.endsWith("/example")?t.replace("/example",""):t,"package-lock.json"),o;try{let n=JSON.parse(Rc.readFileSync(r,"utf-8"));o=n.dependencies&&n.dependencies[e]&&n.dependencies[e].version!=="file:packages/reports"?n.dependencies[e].version:"0.dev";}catch{o="0.vercel";}return o||"Version not found"}function Ou(e){let t=()=>Promise.resolve({}),{pathSegmentsKey:r="bespoke",preResolve:o=t,postResolve:n=t,authOptions:a={providers:[]}}=e||{};return tr.getServerSideProps(s=>{let{dispatch:i}=s;return async c=>{let l=await fe(c.req,c.res,a);if(!l)return {redirect:{destination:"/api/auth/signin?callbackUrl=/cms",permanent:!1}};let p=new Set([$.ADMIN,$.EDITOR,$.WRITER]);if(!(l?.user?.bespoke_roles||[]).some(_=>p.has(_)))return {redirect:{destination:"/",permanent:!1}};let d=c.query[r],[m]=Array.isArray(d)?d:[d];await i(Gt);let y=await Mu("@datawheel/bespoke"),h=await o(s,c);if("redirect"in h)return {props:h};m==="reports"&&(ps(c.query[r])?await Promise.all([i(oe("formatter",{})),i(oe("report",{id:ps(c.query[r]),include:!0})),We.setStatus({isCMS:!0})]):await Promise.all([i(oe("report",{include:"dimensions"})),We.setStatus({isCMS:!0})])),m==="metadata"&&await i(oe("report",{include:"dimensions"})),m==="formatters"&&await i(oe("formatter",{}));let R=await n(s,c);return {props:{...h,...R,bespokeVersion:y,session:l}}}})}function ps(e){if(e==null||e==="")return;let[,t]=Array.isArray(e)?e:[e];return Number.parseInt(t)||void 0}var {locales:Du}=q(),Uu={pathSegment:"path",formatterFunctions:Du.reduce((e,t)=>({...e,[t]:{}}),{}),profilePrefix:"path",siteProps:{}};createContext(Uu);q();var hs=e=>e.records.entities.block;function wt(e){return t=>Object.values(t.records.entities[e])}var Rs=wt("section"),bs=wt("formatter");function Xu(e){let{fallback:t=!0,limit:r=50}=e||{};return async o=>{let{defaultLocale:n=de,locales:a=[]}=o,s=[];if(r>0){let i=a.find(p=>p===n),{searchMember:c}=await Fe().then(ft),l=await c({query:"",limit:r,format:"plain",locale:i||de,noImage:!1,visible:!0,report:[],dimension:[],variant:[],includes:!0});l.ok===!0&&(s=l.data.results.map(p=>({locale:a.find(u=>u===p.locale),params:{bespoke:[p.variant.slug,p.slug]}})));}return {fallback:t,paths:s}}}function ep(e){let{pathSegmentsKey:t="bespoke"}=e||{};try{return tr.getStaticProps(r=>{let{dispatch:o}=r;return async n=>{await o(Gt);let a=new Date().toISOString(),{locale:s=de,params:i={}}=n,c=Array.from(tp(i[t]));if(c.length===0)return await Promise.all([o(oe("formatter",{})),o(oe("report",{include:!0}))]),{props:{buildTime:a}};let l=await o(Xt({mode:"slugs",locale:s,slugs:c,output:"full"}));o(er.setPreviews(l.results)),await Promise.all([o(oe("formatter",{})),o(oe("report",{id:l.results.map(b=>b.report_id),include:!0,locales:[s]}))]);let p=r.getState(),u=bs(p),d=uo(u,s),m=Rs(p),y=hs(p),h={...y},R={},_=Object.values(y).reduce((b,N)=>("access"in N.settings&&!["public","guest"].some(D=>!N.settings.access||N.settings.access.includes(D))&&b.push(N.id),b),[]);_=_.concat(qt(_,Object.values(h)));let I=_.filter(b=>h[b].settings[rn.FALLBACK]);_.forEach(b=>{I.includes(b)&&(R[b]={...h[b],type:M.FALLBACK,original_type:h[b].type}),delete h[b];}),await o(Mr(_)),await o(Co(R));let B={...Er(l.results),locale:s,...Ar()},E=async b=>await o(Xt(b));return await Sr({...h,...R},m,void 0,d,{locale:s,query:i,variables:B},void 0,E,"report").then(async b=>{let N=Object.keys({...h,...R}).reduce((D,j)=>(b.variables[j]&&b.status[j]||D.push(j),D),[]);await o(Mr(N)),await o(wr.setVariableChange({...b,attributes:B}));}),{props:{buildTime:a}}}})}catch(r){console.log("ERROR SSR",r);}}function tp(e=[]){let t=[].concat(e),r=0;return {next(){return {value:{variantSlug:t[r++],memberSlug:t[r++]},done:r>t.length}},[Symbol.iterator](){return this}}}
|
|
67
|
+
`)}));}let N=await Promise.all(b).catch(D=>D.message);if(typeof N=="string"&&N)return {outputVariables:{},renderVariables:{},status:{error:N}};c=N.length===1?N[0].data:N.map(D=>D.data),u=N.reduce((D,j)=>D+JSON.stringify(j.data).length/1024,0),p=Math.max(...N.map(D=>D.requestDuration));}if(e.type===M.SELECTOR){let{config:A,log:b,error:N}=no(e.id,e.contentByLocale[n].content.logic,t,r,!0);return {outputVariables:_a(e.id,s,A),renderVariables:A,status:{log:b,error:N,allowed:i}}}if(e.type===M.MULTIHIERARCHY_SELECTOR){let{config:A,log:b,error:N}=so(e.id,e.contentByLocale[n].content.logic,t,r,!0);return {outputVariables:ka(e.id,s,A),renderVariables:A,status:{log:b,error:N,allowed:i}}}if(e.type===M.VIZ)return {outputVariables:{},renderVariables:e.contentByLocale.logic.content,status:{log:[],allowed:i}};if(e.type===M.RELATED){let A=e.contentByLocale?.logic?.content?.simple?.compare||"variant",b=e.contentByLocale?.logic?.content?.simple?.limit||4,N=Object.keys(a).filter(_=>_.startsWith("report_id")).map(_=>a[_]),D=Object.keys(a).filter(_=>_.startsWith("dimension_id")).map(_=>a[_]),j=Object.keys(a).filter(_=>_.startsWith("variant_id")).map(_=>a[_]),Y=Object.keys(a).filter(_=>_.startsWith("id")).map(_=>a[_]);if(!Y.length)return {outputVariables:{related_reports:[]},renderVariables:{},status:{log:[],allowed:!1}};let H=await Promise.all(Y.map((_,L)=>o({mode:"ids",locale:n,ids:[_],output:"lite",variant:[j[L]]}))).then(_=>_.flatMap(L=>{let E=[];return Rr(L)?L.ok&&(E=L.data.results):E=L.results,E&&Array.isArray(E)?E:[]})).catch(_=>(console.log("Error getting related members",_),[]));if(D.length>1){let _=Object.keys(a).filter(K=>K.startsWith("variant_slug")).map(K=>a[K]),L=H.map((K,C)=>{let I={mode:"related",locale:n,related:b??4,current_ids:[K.content_id],output:"full",variant_ids:[K.variant_id]};return C===0&&(I.include_ids=[K.content_id]),I}),E=await Promise.all(L.map(K=>o(K))).then(K=>K.flatMap(C=>{let I=[];return Rr(C)?C.ok&&(I=C.data.results):I=C.results,I&&Array.isArray(I)?I:[]})).catch(K=>(console.log("Error getting related members",K),[])),x=E.reduce((K,C)=>{let I=C.variant_slug;return K[I]||(K[I]=[]),K[I].push(C),K},{}),F=[],Q=Object.keys(x),J=[{combination:[],index:0}];for(;J.length>0;){let K=J.pop();if(!K)continue;let{combination:C,index:I}=K;if(I===Q.length){F.push(C);continue}let ae=Q[I],ue=x[ae];for(let ce of ue)J.push({combination:[...C,ce],index:I+1});}return {outputVariables:{related_reports:F.map(K=>{let C=K.sort((I,ae)=>_.indexOf(I.variant_slug)-_.indexOf(ae.variant_slug));return {entities:C,link:"/"+C.map(I=>`${I.variant_slug}/${I.slug}`).join("/")}})},renderVariables:{},status:{log:[],allowed:E.length>0}}}let U=H.map(_=>_.content_id),w={mode:"related",locale:n,related:b??4,current_ids:U,output:"full"};A&&(A==="report"?w.report_ids=N:A==="dimension"?w.dimension_ids=D:w.variant_ids=j);let V=await o(w).then(_=>{let L=[];return Rr(_)?_.ok&&(L=_.data.results):L=_.results,L&&Array.isArray(L)?L:[]}).catch(_=>(console.log("Error getting related members",_),[]));return {outputVariables:{related_reports:V.map(_=>({entities:[_],link:`/${_.variant_slug}/${_.slug}`}))},renderVariables:{},status:{log:[],allowed:V.length>0}}}let{logic:m}=wa(e,n),y=Rt(m,t,r),h=He("resp",c||{},y,t,a,r),{vars:R,error:T,log:k}=h;if(typeof R!="object")return {outputVariables:{},renderVariables:{},status:{error:"Configuration did not return an object",log:k,duration:p,responseSize:u,resp:c,api:d,allowed:i}};let B=Object.keys(R).reduce((A,b)=>({...A,[`${e.type}${e.id}${b}`]:R[b]}),{});return {renderVariables:R,outputVariables:[M.GENERATOR,M.SECTION_FLAG].includes(e.type)?R:B,status:{log:k,error:T,duration:p,responseSize:u,resp:c,api:d,allowed:i}}}function wl(e,t,r,o,n,a,s){return e.consumers.forEach(i=>{if(t[i]){let c=`${r}-${i}`;!o.includes(c)&&(t[i].section_id===t[r].section_id||!n)&&o.push(c),e.consumers.filter(l=>t[l].section_id===t[r].section_id||!n).forEach(l=>lo(l,t,o,!1,a,n,s));}})}var lo=(e,t,r=[],o=!0,n=!0,a=!0,s=[])=>{if(s.includes(e))return [];s.push(e);let i=t[e];return i&&i.inputs.length&&o&&i.inputs.forEach(c=>{let l=`${c}-${e}`;r.includes(l)||r.push(l),i.inputs.forEach(p=>lo(p,t,r,o,!1,a,s));}),i&&i.consumers.length&&n&&wl(i,t,e,r,a,n,s),r},xl=(e,t,r,o)=>{let n=!0;if(e&&"allowed"in e.settings&&e.settings.allowed!=="always")if(e.settings.allowed==="never")n=!1;else {let a=le(t),{error:s,output:i}=He("variables",r,e.settings.allowedLogic||"return false;",o,void 0,a);s||(n=!!i);}return n},Sr=async(e,t,r,o,n,a={},s,i="section")=>{let c=i==="section",l=le(n),p=l.variables,u={...a.variables??{}},d={...a.status??{}},m=new Set,y=[],h={};r?h={...h,[r]:e[r]}:t?h=(t??[]).reduce((U,{id:w})=>({...U,...xa(w,e)}),{}):h=Object.values(e).filter(U=>io(U)).reduce((U,w)=>({...U,[w.id]:w}),{});let R=Object.values(h).filter(U=>io(U));if(R.length>0){We&&console.log("%crunConsumers: calculating section flags","color:purple",R.map(v=>v.id).join(", "));let U=Object.fromEntries(await Promise.all(R.map(async v=>[v.id,await Ba(v,o,{...l,variables:p,locale:p.locale},s).then(_=>{let{outputVariables:L,status:E}=_;if(E.error){if(typeof window>"u")throw new Error(`Run consumers (Block: ${v.id}, Section ${v.section_id}) failed with message: ${E.error}. `);d[v.id]={allowed:!1,error:E.error},u[v.id]={};}return (v.consumers.length>0||[M.GENERATOR,M.SECTION_FLAG,M.RELATED].includes(v.type))&&E.allowed&&Object.keys(L).length>0?u[v.id]=L:u[v.id]={},i==="report"?(d[v.id]={allowed:E.allowed},[M.GENERATOR,M.SECTION_FLAG].includes(v.type)&&E.api&&(d[v.id].api=E.api)):d[v.id]=E,_})]))),V=Object.entries(U).filter(([v,_])=>!_.outputVariables[Nn]).map(([v])=>Number(v));m=new Set(V.map(v=>e[v].section_id)),Object.values(h).filter(v=>m.has(v.section_id)).forEach(v=>{y.push(v.id),delete h[v.id];}),We&&console.log("%crunConsumers: removing sections","color:purple",m.keys());}let T=m.size>0?Object.fromEntries(Object.entries(e).filter(([U,w])=>m?.has(w.section_id)?(y.includes(w.id)||y.push(w.id),!1):!0)):e;if(y.length>0&&(T=Object.fromEntries(Object.entries(T).map(([U,w])=>{let V={...w,inputs:w.inputs.filter(v=>!y.includes(v)),consumers:w.consumers.filter(v=>!y.includes(v))};return [U,V]}))),!r&&!t)return {variables:{...a.variables??{},...u},status:{...a.status??{},...d}};i==="report"&&y.length>0&&y.forEach(U=>{delete u[U],delete d[U],delete e[U];}),We&&console.log("%crunConsumers: running root blocks","color:purple",Object.keys(h));let k=Object.keys(h).reduce((U,w)=>{let V=new Date,v=lo(Number(w),T,[],!r,!0,c).map(E=>E.split("-")),L=(new Date().getTime()-V.getTime())/1e3;return We&&console.log(`%cResolved dependencies for ${w} (${L.toFixed(2)}s)`,"color:blue"),[...U,...v]},[]),B=new Date,A=Object.keys(h).reduce((U,w)=>U.includes(w)?[...U]:[w,...U],Sl(k)),N=(new Date().getTime()-B.getTime())/1e3;We&&console.log(`%cResolved DAG (${N.toFixed(2)}s): `,"color:green",A);async function D(U,w){let V=new Map;for(let v of U){let _=w[v],E=Promise.all(_.inputs.filter(x=>U.includes(String(x))).map(x=>V.get(Number(x)))).then(async()=>{let x=_.inputs.reduce((C,I)=>({...C,...u[I]}),p),F=_.inputs.find(C=>(_.settings?.ignoreCascade?_.settings?.ignoreCascade:[]).includes(C)||!d[C]?!1:!d[C].allowed||d[C].hiddenByCascade);if(F){d[v]={allowed:!1,hiddenByCascade:d[F].hiddenByCascade||F},u[v]={};return}let Q=new Date,J=await Ba(_,o,{...l,variables:x,locale:x.locale},s).then(({outputVariables:C,status:I})=>{if(I.error){if(typeof window>"u")throw new Error(`Run consumers (Block: ${v}, Section ${_.section_id}) failed with message: ${I.error}. `);d[v]={allowed:!1,error:I.error},u[v]={};}(_.consumers.length>0||[M.GENERATOR,M.SECTION_FLAG,M.RELATED].includes(_.type))&&I.allowed&&Object.keys(C).length>0?u[v]=C:u[v]={},i==="report"?(d[v]={allowed:I.allowed},[M.GENERATOR,M.SECTION_FLAG].includes(_.type)&&I.api&&(d[v].api=I.api)):d[v]=I;}),K=(new Date().getTime()-Q.getTime())/1e3;return We&&console.log(`%cBlock ${_.id} resolved in ${K.toFixed(3)}s`,K>500?"color:red":"color:green"),J});V.set(Number(v),E);}await Promise.all(Array.from(V.values()));}let j=new Date;await D(A,T);let H=(new Date().getTime()-j.getTime())/1e3;return We&&console.log(`%cResolved Variables (${H.toFixed(2)}s): `,"color:green"),{variables:{...a.variables??{},...u},status:{...a.status??{},...d}}};function Il(e=[]){return e.reduce((t,r,o)=>{if(r){let n=o+1;t[`id${n}`]=r.id,t[`name${n}`]=r.name,t[`slug${n}`]=r.slug,"attributes"in r&&Object.keys(r.attributes).forEach(a=>{t[`attr_${a}${n}`]=r.attributes[a];}),t[`variant_id${n}`]=r.variant_id,t[`variant_name${n}`]=r.variant_name,t[`variant_slug${n}`]=r.variant_slug,t[`dimension_id${n}`]=r.dimension_id,t[`dimension_name${n}`]=r.dimension_name,t.report_id=r.report_id,t.report_name=r.report_name;}return t},{})}var Er=Il;function Bl(){let{publicRuntimeConfig:e}=Cl(),t=e.bespoke_report_env_vars||{};return {...Object.keys(t).reduce((r,o)=>(r[`ENV_${o}`]=t[o]||"N/A",r),{})}}var Ar=Bl;function Ll(e,t){return +(e<t)-+(e>t)}function Tr(e,t,r="ordering"){return Ll(t[r],e[r])}var Ma=(e,t={},r="en",o={},n={})=>{let a={setVariables:o.onSetVariables?o.onSetVariables:c=>c,openModal:o.onOpenModal?o.onOpenModal:c=>c,formatters:t,libs:Me,locale:r,...n};function s(c){return Function("globals",...c.vars,`with (globals) { ${c.logic} }`).bind(a,a)}function i(c){if(c.vars&&c.logic)return s(c);for(let l in c)Array.isArray(c[l])?c[l]=c[l].map(p=>isObject(p)?i(p):p):isObject(c[l])&&(c[l]=i(c[l]));return c}return i(e)};var{localeDefault:Ol}=q();var Wt=new schema.Entity("block",{},{mergeStrategy(e,t){return t.block_input?e||{}:{...e,...t}}});Wt.define({consumers:[Wt],inputs:[Wt]});var Oa=new schema.Entity("variant"),Na=new schema.Entity("dimension",{variants:[Oa]},{processStrategy(e){return {...e,variants:"variants"in e?e.variants:[]}}}),Da=new schema.Entity("section",{blocks:[Wt]}),Nl=new schema.Entity("report",{dimensions:[Na],sections:[Da]},{processStrategy(e){return {...e,sections:"sections"in e?e.sections.sort(Tr):[]}}}),Dl=new schema.Entity("formatter"),Ul={report:Nl,section:Da,block:Wt,dimension:Na,variant:Oa,formatter:Dl};function vr(e,t){let r=Ul[e];if(!r)throw new Error(`Invalid entity type: ${e}`);let{entities:o}=normalize(t,[r]);return {report:bt(o,"report"),dimension:bt(o,"dimension"),section:bt(o,"section"),block:bt(o,"block"),variant:bt(o,"variant"),formatter:bt(o,"formatter")}}function bt(e,t){return e.hasOwnProperty(t)?e[t]:{}}var Ua=(e,t=void 0)=>{let{sid:r,bid:o,previews:n=[],query:a={}}=t||{},s,i,c={};return r?(s=r,c.activeSection=s):s=e.activeSection,n.length>0?(i=n,c.previews=i.filter(Boolean)):i=e.previews,{parsedParams:{sid:s,bid:o,previews:i,query:a},statusPayload:c}},uo=(e=[],t=Ol)=>e.reduce((r,o)=>{let n=Ma({vars:["n"],logic:o.content.logic},{},t,{});return r[o.name]=n,r},{});var de=process.env.NEXT_PUBLIC_REPORTS_LOCALE_DEFAULT||"en",_r=process.env.NEXT_PUBLIC_REPORTS_LOCALES?.split(",")||[de];_r.includes(de)||_r.push(de);var zl={localeDefault:de,locales:_r,currentLocale:de,preferredLocale:de,showToolbar:!1,activeSection:null,previews:[],query:{},sectionState:{},activeEntity:{type:null,id:null},sidebarStatus:{tools:!0,settings:!1,reportEditor:!1},isCMS:!1,isRunConsumersRunning:[]},kr=createSlice({name:"status",initialState:zl,reducers:{setStatus:(e,t)=>{Object.assign(e,t.payload);},setPreviews(e,t){e.previews=t.payload;},setCurrentLocale(e,t){e.currentLocale=t.payload;},setPreferredLocale(e,t){e.preferredLocale=t.payload;},setSectionState(e,t){e.sectionState={...e.sectionState,...t.payload};},resetSectionState(e,t){e.sectionState={...e.sectionState,[t.payload]:{}};},setActiveEntity(e,t){e.activeEntity=t.payload;},openSidebar(e,t){e.sidebarStatus={...e.sidebarStatus,[t.payload]:!0};},closeSidebar(e,t){e.sidebarStatus={...e.sidebarStatus,[t.payload]:!1};},toggleSidebar(e,t){e.sidebarStatus={...e.sidebarStatus,[t.payload]:!e.sidebarStatus[t.payload]};},addRunConsumersRunning(e,t){e.isRunConsumersRunning=e.isRunConsumersRunning.concat(t.payload);},removeRunConsumersRunning(e,t){e.isRunConsumersRunning=e.isRunConsumersRunning.filter(r=>!t.payload.includes(r));}},extraReducers:{[HYDRATE]:(e,t)=>({...e,previews:t.payload.status.previews})}}),Ee=kr.actions;var Gl={attributes:{},variables:{},status:{}},Pr=createSlice({name:"variables",initialState:Gl,reducers:{setVariableChange:(e,t)=>{e.attributes={...e.attributes,...t.payload.attributes},e.variables={...e.variables,...t.payload.variables},e.status={...e.status,...t.payload.status};}},extraReducers:{[HYDRATE]:(e,t)=>({attributes:{...e.attributes,...t.payload.variables.attributes},status:{...e.status,...t.payload.variables.status},variables:{...e.variables,...t.payload.variables.variables}})}}),wr=Pr.actions;var Hl={tree:[],reports:null,entities:{block:{},dimension:{},report:{},section:{},variant:{},formatter:{}},requests:{block:{},dimension:{},report:{},section:{},variant:{},formatter:{}}},we=createSlice({name:"records",initialState:Hl,reducers:{set:(e,t)=>{let r=t.payload;return {entities:Jt(e.entities,r.entities||{}),requests:Jt(e.requests,r.requests||{}),reports:r.reports||e.reports,tree:r.tree||e.tree}},setRequest:(e,t)=>{let r=t.payload;e.requests[r.type][r.key]=r;},setCreateRequest(e,t){let r=t.payload;if(e.requests[r.type][r.key]=r,r.status==="SUCCESS"){let o=Array.isArray(r.data)?r.data:[r.data],n=vr(r.type,o),a=Jt(e.entities,n);if(e.entities=a,r.type==="report"){let s=r.data;e.reports?e.reports.indexOf(s.id)===-1&&(e.reports=[...e.reports,s.id]):e.reports=[s.id];}else if(r.type==="dimension"){let s=r.data;e.entities.report[s.report_id].dimensions.push(s.id),e.entities.report[s.report_id].dimensions=xr(a.report[s.report_id].dimensions,a.dimension);}else if(r.type==="variant"){let s=r.data;e.entities.dimension[s.dimension_id].variants.push(s.id);}else if(r.type==="section"&&!Array.isArray(r.data)){let s=r.data;e.entities.report[s.report_id].sections.push(s.id),e.entities.report[s.report_id].sections=xr(a.report[s.report_id].sections,a.section);}else if(r.type==="block")if(Array.isArray(r.data)){let s=r.data,i=s[0],c=s.map(l=>l.id);e.entities.section[i.section_id].blocks.concat(c);}else {let s=r.data;e.entities.section[s.section_id].blocks.push(s.id);}}},setReadRequest(e,t){let r=t.payload;if(r.type!=="report"&&(e.requests[r.type][r.key]=r),r.status==="SUCCESS"){let o=vr(r.type,r.data),n=Jt(e.entities,o);e.entities=n;}},setUpdateRequest(e,t){let r=t.payload;if(e.requests[r.type][r.key]=r,r.status==="SUCCESS"){let o=Array.isArray(r.data)?r.data:[r.data],n=vr(r.type,o),a,s,i;if(r.type==="block"&&!Array.isArray(r.data)){let l=e.entities.block[r.data.id].inputs,p=n.block[r.data.id].inputs;a=l.length!==p.length,a&&(i=l.length>p.length,s=i?l.filter(u=>!p.includes(u))[0]:p.filter(u=>!l.includes(u))[0]),Object.values(n.block).forEach(u=>{u.block_input&&delete n.block[u.id];});}let c=Jt(e.entities,n);if(e.entities=c,r.type==="dimension"){let l=r.data;e.entities.report[l.report_id].dimensions=xr(c.report[l.report_id].dimensions,c.dimension);}else if(r.type==="section"&&!Array.isArray(r.data)){let l=r.data;e.entities.report[l.report_id].sections=xr(c.report[l.report_id].sections,c.section);}else if(r.type==="block"&&!Array.isArray(r.data)){let l=r.data;a&&(i?e.entities.block[s].consumers=e.entities.block[s].consumers.filter(p=>p!==l.id):e.entities.block[s].consumers.push(l.id));}}},setDeleteRequest(e,t){let r=t.payload;if(e.requests[r.type][r.key]=r,r.status==="SUCCESS"){let{id:o,parentId:n,parentType:a}=r.data;if(delete e.entities[r.type][o],a&&n!=null){let s=`${r.type}s`;Wl(e.entities[a][n][s],o);}}},removeBlocks:(e,t)=>{let r=t.payload,o={...e.entities.block};return r.forEach(n=>{delete o[n];}),{...e,entities:{...e.entities,block:o}}},addBlocks:(e,t)=>{let r=t.payload;return {...e,entities:{...e.entities,block:{...e.entities.block,...r}}}}},extraReducers:{[HYDRATE]:(e,t)=>{let r=t.payload.records,o=r.entities;return {entities:o,reports:Object.values(o.report).map(n=>n.id),requests:{block:{},dimension:{},report:{},section:{},variant:{},formatter:{}},tree:r.tree}}}});function Jt(e,t){return Object.fromEntries(Object.keys(e).map(r=>[r,{...e[r],...t[r]}]))}function xr(e,t){return e.map(n=>t[n]).sort(Tr).map(n=>n.id)}function Wl(e,t){let r=e.indexOf(t);r>-1&&e.splice(r,1);}function re(e){for(var t=arguments.length,r=Array(t>1?t-1:0),o=1;o<t;o++)r[o-1]=arguments[o];if(process.env.NODE_ENV!=="production"){var n=ru[e],a=n?typeof n=="function"?n.apply(null,r):n:"unknown error nr: "+e;throw Error("[Immer] "+a)}throw Error("[Immer] minified error nr: "+e+(r.length?" "+r.map(function(s){return "'"+s+"'"}).join(","):"")+". Find the full error at: https://bit.ly/3cXEKWf")}function Et(e){return !!e&&!!e[se]}function Ye(e){var t;return !!e&&(function(r){if(!r||typeof r!="object")return !1;var o=Object.getPrototypeOf(r);if(o===null)return !0;var n=Object.hasOwnProperty.call(o,"constructor")&&o.constructor;return n===Object||typeof n=="function"&&Function.toString.call(n)===ou}(e)||Array.isArray(e)||!!e[ja]||!!(!((t=e.constructor)===null||t===void 0)&&t[ja])||Eo(e)||Ao(e))}function Qt(e,t,r){r===void 0&&(r=!1),Tt(e)===0?(r?Object.keys:Po)(e).forEach(function(o){r&&typeof o=="symbol"||t(o,e[o],e);}):e.forEach(function(o,n){return t(n,o,e)});}function Tt(e){var t=e[se];return t?t.i>3?t.i-4:t.i:Array.isArray(e)?1:Eo(e)?2:Ao(e)?3:0}function yo(e,t){return Tt(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function Jl(e,t){return Tt(e)===2?e.get(t):e[t]}function Ha(e,t,r){var o=Tt(e);o===2?e.set(t,r):o===3?e.add(r):e[t]=r;}function Yl(e,t){return e===t?e!==0||1/e==1/t:e!=e&&t!=t}function Eo(e){return eu&&e instanceof Map}function Ao(e){return tu&&e instanceof Set}function Je(e){return e.o||e.t}function To(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=nu(e);delete t[se];for(var r=Po(t),o=0;o<r.length;o++){var n=r[o],a=t[n];a.writable===!1&&(a.writable=!0,a.configurable=!0),(a.get||a.set)&&(t[n]={configurable:!0,writable:!0,enumerable:a.enumerable,value:e[n]});}return Object.create(Object.getPrototypeOf(e),t)}function vo(e,t){return t===void 0&&(t=!1),_o(e)||Et(e)||!Ye(e)||(Tt(e)>1&&(e.set=e.add=e.clear=e.delete=Ql),Object.freeze(e),t&&Qt(e,function(r,o){return vo(o,!0)},!0)),e}function Ql(){re(2);}function _o(e){return e==null||typeof e!="object"||Object.isFrozen(e)}function he(e){var t=au[e];return t||re(18,e),t}function Fa(){return process.env.NODE_ENV==="production"||At||re(0),At}function po(e,t){t&&(he("Patches"),e.u=[],e.s=[],e.v=t);}function Ir(e){ho(e),e.p.forEach(Zl),e.p=null;}function ho(e){e===At&&(At=e.l);}function Va(e){return At={p:[],l:At,h:e,m:!0,_:0}}function Zl(e){var t=e[se];t.i===0||t.i===1?t.j():t.g=!0;}function mo(e,t){t._=t.p.length;var r=t.p[0],o=e!==void 0&&e!==r;return t.h.O||he("ES5").S(t,e,o),o?(r[se].P&&(Ir(t),re(4)),Ye(e)&&(e=Cr(t,e),t.l||Br(t,e)),t.u&&he("Patches").M(r[se].t,e,t.u,t.s)):e=Cr(t,r,[]),Ir(t),t.u&&t.v(t.u,t.s),e!==Wa?e:void 0}function Cr(e,t,r){if(_o(t))return t;var o=t[se];if(!o)return Qt(t,function(i,c){return za(e,o,t,i,c,r)},!0),t;if(o.A!==e)return t;if(!o.P)return Br(e,o.t,!0),o.t;if(!o.I){o.I=!0,o.A._--;var n=o.i===4||o.i===5?o.o=To(o.k):o.o,a=n,s=!1;o.i===3&&(a=new Set(n),n.clear(),s=!0),Qt(a,function(i,c){return za(e,o,n,i,c,r,s)}),Br(e,n,!1),r&&e.u&&he("Patches").N(o,r,e.u,e.s);}return o.o}function za(e,t,r,o,n,a,s){if(process.env.NODE_ENV!=="production"&&n===r&&re(5),Et(n)){var i=Cr(e,n,a&&t&&t.i!==3&&!yo(t.R,o)?a.concat(o):void 0);if(Ha(r,o,i),!Et(i))return;e.m=!1;}else s&&r.add(n);if(Ye(n)&&!_o(n)){if(!e.h.D&&e._<1)return;Cr(e,n),t&&t.A.l||Br(e,n);}}function Br(e,t,r){r===void 0&&(r=!1),!e.l&&e.h.D&&e.m&&vo(t,r);}function fo(e,t){var r=e[se];return (r?Je(r):e)[t]}function $a(e,t){if(t in e)for(var r=Object.getPrototypeOf(e);r;){var o=Object.getOwnPropertyDescriptor(r,t);if(o)return o;r=Object.getPrototypeOf(r);}}function Ro(e){e.P||(e.P=!0,e.l&&Ro(e.l));}function go(e){e.o||(e.o=To(e.t));}function bo(e,t,r){var o=Eo(t)?he("MapSet").F(t,r):Ao(t)?he("MapSet").T(t,r):e.O?function(n,a){var s=Array.isArray(n),i={i:s?1:0,A:a?a.A:Fa(),P:!1,I:!1,R:{},l:a,t:n,k:null,o:null,j:null,C:!1},c=i,l=So;s&&(c=[i],l=Yt);var p=Proxy.revocable(c,l),u=p.revoke,d=p.proxy;return i.k=d,i.j=u,d}(t,r):he("ES5").J(t,r);return (r?r.A:Fa()).p.push(o),o}function Xl(e){return Et(e)||re(22,e),function t(r){if(!Ye(r))return r;var o,n=r[se],a=Tt(r);if(n){if(!n.P&&(n.i<4||!he("ES5").K(n)))return n.t;n.I=!0,o=qa(r,a),n.I=!1;}else o=qa(r,a);return Qt(o,function(s,i){n&&Jl(n.t,s)===i||Ha(o,s,t(i));}),a===3?new Set(o):o}(e)}function qa(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return To(e)}var Ga,At,ko=typeof Symbol<"u"&&typeof Symbol("x")=="symbol",eu=typeof Map<"u",tu=typeof Set<"u",Ka=typeof Proxy<"u"&&Proxy.revocable!==void 0&&typeof Reflect<"u",Wa=ko?Symbol.for("immer-nothing"):((Ga={})["immer-nothing"]=!0,Ga),ja=ko?Symbol.for("immer-draftable"):"__$immer_draftable",se=ko?Symbol.for("immer-state"):"__$immer_state";var ru={0:"Illegal state",1:"Immer drafts cannot have computed properties",2:"This object has been frozen and should not be mutated",3:function(e){return "Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? "+e},4:"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.",5:"Immer forbids circular references",6:"The first or second argument to `produce` must be a function",7:"The third argument to `produce` must be a function or undefined",8:"First argument to `createDraft` must be a plain object, an array, or an immerable object",9:"First argument to `finishDraft` must be a draft returned by `createDraft`",10:"The given draft is already finalized",11:"Object.defineProperty() cannot be used on an Immer draft",12:"Object.setPrototypeOf() cannot be used on an Immer draft",13:"Immer only supports deleting array indices",14:"Immer only supports setting array indices and the 'length' property",15:function(e){return "Cannot apply patch, path doesn't resolve: "+e},16:'Sets cannot have "replace" patches.',17:function(e){return "Unsupported patch operation: "+e},18:function(e){return "The plugin for '"+e+"' has not been loaded into Immer. To enable the plugin, import and call `enable"+e+"()` when initializing your application."},20:"Cannot use proxies if Proxy, Proxy.revocable or Reflect are not available",21:function(e){return "produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '"+e+"'"},22:function(e){return "'current' expects a draft, got: "+e},23:function(e){return "'original' expects a draft, got: "+e},24:"Patching reserved attributes like __proto__, prototype and constructor is not allowed"},ou=""+Object.prototype.constructor,Po=typeof Reflect<"u"&&Reflect.ownKeys?Reflect.ownKeys:Object.getOwnPropertySymbols!==void 0?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames,nu=Object.getOwnPropertyDescriptors||function(e){var t={};return Po(e).forEach(function(r){t[r]=Object.getOwnPropertyDescriptor(e,r);}),t},au={},So={get:function(e,t){if(t===se)return e;var r=Je(e);if(!yo(r,t))return function(n,a,s){var i,c=$a(a,s);return c?"value"in c?c.value:(i=c.get)===null||i===void 0?void 0:i.call(n.k):void 0}(e,r,t);var o=r[t];return e.I||!Ye(o)?o:o===fo(e.t,t)?(go(e),e.o[t]=bo(e.A.h,o,e)):o},has:function(e,t){return t in Je(e)},ownKeys:function(e){return Reflect.ownKeys(Je(e))},set:function(e,t,r){var o=$a(Je(e),t);if(o?.set)return o.set.call(e.k,r),!0;if(!e.P){var n=fo(Je(e),t),a=n?.[se];if(a&&a.t===r)return e.o[t]=r,e.R[t]=!1,!0;if(Yl(r,n)&&(r!==void 0||yo(e.t,t)))return !0;go(e),Ro(e);}return e.o[t]===r&&(r!==void 0||t in e.o)||Number.isNaN(r)&&Number.isNaN(e.o[t])||(e.o[t]=r,e.R[t]=!0),!0},deleteProperty:function(e,t){return fo(e.t,t)!==void 0||t in e.t?(e.R[t]=!1,go(e),Ro(e)):delete e.R[t],e.o&&delete e.o[t],!0},getOwnPropertyDescriptor:function(e,t){var r=Je(e),o=Reflect.getOwnPropertyDescriptor(r,t);return o&&{writable:!0,configurable:e.i!==1||t!=="length",enumerable:o.enumerable,value:r[t]}},defineProperty:function(){re(11);},getPrototypeOf:function(e){return Object.getPrototypeOf(e.t)},setPrototypeOf:function(){re(12);}},Yt={};Qt(So,function(e,t){Yt[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)};}),Yt.deleteProperty=function(e,t){return process.env.NODE_ENV!=="production"&&isNaN(parseInt(t))&&re(13),Yt.set.call(this,e,t,void 0)},Yt.set=function(e,t,r){return process.env.NODE_ENV!=="production"&&t!=="length"&&isNaN(parseInt(t))&&re(14),So.set.call(this,e[0],t,r,e[0])};var su=function(){function e(r){var o=this;this.O=Ka,this.D=!0,this.produce=function(n,a,s){if(typeof n=="function"&&typeof a!="function"){var i=a;a=n;var c=o;return function(h){var R=this;h===void 0&&(h=i);for(var T=arguments.length,k=Array(T>1?T-1:0),B=1;B<T;B++)k[B-1]=arguments[B];return c.produce(h,function(A){var b;return (b=a).call.apply(b,[R,A].concat(k))})}}var l;if(typeof a!="function"&&re(6),s!==void 0&&typeof s!="function"&&re(7),Ye(n)){var p=Va(o),u=bo(o,n,void 0),d=!0;try{l=a(u),d=!1;}finally{d?Ir(p):ho(p);}return typeof Promise<"u"&&l instanceof Promise?l.then(function(h){return po(p,s),mo(h,p)},function(h){throw Ir(p),h}):(po(p,s),mo(l,p))}if(!n||typeof n!="object"){if((l=a(n))===void 0&&(l=n),l===Wa&&(l=void 0),o.D&&vo(l,!0),s){var m=[],y=[];he("Patches").M(n,l,m,y),s(m,y);}return l}re(21,n);},this.produceWithPatches=function(n,a){if(typeof n=="function")return function(l){for(var p=arguments.length,u=Array(p>1?p-1:0),d=1;d<p;d++)u[d-1]=arguments[d];return o.produceWithPatches(l,function(m){return n.apply(void 0,[m].concat(u))})};var s,i,c=o.produce(n,a,function(l,p){s=l,i=p;});return typeof Promise<"u"&&c instanceof Promise?c.then(function(l){return [l,s,i]}):[c,s,i]},typeof r?.useProxies=="boolean"&&this.setUseProxies(r.useProxies),typeof r?.autoFreeze=="boolean"&&this.setAutoFreeze(r.autoFreeze);}var t=e.prototype;return t.createDraft=function(r){Ye(r)||re(8),Et(r)&&(r=Xl(r));var o=Va(this),n=bo(this,r,void 0);return n[se].C=!0,ho(o),n},t.finishDraft=function(r,o){var n=r&&r[se];process.env.NODE_ENV!=="production"&&(n&&n.C||re(9),n.I&&re(10));var a=n.A;return po(a,o),mo(void 0,a)},t.setAutoFreeze=function(r){this.D=r;},t.setUseProxies=function(r){r&&!Ka&&re(20),this.O=r;},t.applyPatches=function(r,o){var n;for(n=o.length-1;n>=0;n--){var a=o[n];if(a.path.length===0&&a.op==="replace"){r=a.value;break}}n>-1&&(o=o.slice(n+1));var s=he("Patches").$;return Et(r)?s(r,o):this.produce(r,function(i){return s(i,o)})},e}(),ie=new su,iu=ie.produce;ie.produceWithPatches.bind(ie);ie.setAutoFreeze.bind(ie);ie.setUseProxies.bind(ie);ie.applyPatches.bind(ie);ie.createDraft.bind(ie);ie.finishDraft.bind(ie);var Lr=iu;var me=we.actions,Za=Zt({block:Qe("block"),dimension:Qe("dimension"),formatter:Qe("formatter"),report:Qe("report"),section:Qe("section"),variant:Qe("variant")}),oe=Zt({block:Ze("block"),dimension:Ze("dimension"),formatter:Ze("formatter"),report:Ze("report"),section:Ze("section"),variant:Ze("variant")}),Xa=Zt({block:Ae("block"),dimension:Ae("dimension"),formatter:Ae("formatter"),report:Ae("report"),section:Ae("section"),variant:Ae("variant")}),es=Zt({block:vt("block"),dimension:vt("dimension"),formatter:vt("formatter"),report:vt("report"),section:vt("section"),variant:vt("variant")}),ts=Zt({block:Ya("block"),section:Ya("section")});function Zt(e){return (t,r)=>{let o=e[t];if(!o)throw new Error(`Attempting to dispatch action for invalid entity type '${t}'`);return o(r)}}function Xe(e,t){return (r,o)=>{let a=o().records.requests[e][t],s=!a||a.status==="UNINITIALIZED"?"LOADING":"FETCHING";r(me.setRequest({key:t,type:e,status:s}));}}function _t(e,t,r,o){return n=>{typeof window=="object"&¬ifications.show({autoClose:3e3,color:"red",id:t,message:o,title:"Error"}),n(me.setRequest({key:t,type:e,status:"FAILURE",error:{code:r,message:o}}));}}function Qe(e){return t=>{let r=xo(e,t);return (o,n,a)=>(o(Xe(e,r)),ne(a,"create",e)(t).then(i=>(i.ok===!0?o(me.setCreateRequest({key:r,operation:"create",status:"SUCCESS",type:e,data:i.data})):o(_t(e,r,i.status,i.error)),i)))}}function uu(e){return t=>{let r=xo(e,t[0]);return (o,n,a)=>(o(Xe(e,r)),ne(a,"createBulk",e)(t).then(i=>(i.ok===!0?o(me.setCreateRequest({key:r,operation:"createBulk",status:"SUCCESS",type:e,data:i.data})):o(_t(e,r,i.status,i.error)),i)))}}function Ja(e,t,r){return r.replace(new RegExp(e,"g"),t)}function pu(e){return e.section_id!==void 0}function du(e){return e.report_id!==void 0}function Ya(e){return t=>{let{create:r}=t;return (o,n,a)=>Qe(e)(r)(o,n,a).then(async i=>{if(i.ok){let{data:c}=i,{id:l}=c,{update:p}=t,u=ns(e,{id:l});if(o(Xe(e,`${u}`)),e==="block"&&pu(r)){let d=Lr(p,R=>{R.id=l;}),{contentByLocale:m}=d;m&&(d=Lr(d,R=>{R.id=l,R.contentByLocale=Object.keys(m).reduce((T,k)=>{let B=m?m[k]:{};return T[k]={...B,id:l},T},{});}));let h=d.inputs?.map(R=>({type:R.type,id:R.id,inputAction:{operation:"create",input:{input_id:R.id,block_id:d.id}}}));return h&&h.length>0&&Qa(e)([d,...h])(o,n,a).then(()=>Ze("section")({id:d.section_id,include:!0})(o,n,a).then(R=>(R.ok&&o(me.setRequest({key:u,type:e,status:"SUCCESS",data:R.data})),R))),Ae(e)(d)(o,n,a).then(R=>(R.ok&&o(me.setRequest({key:u,type:e,status:"SUCCESS",data:R.data})),R))}if(e==="section"&&du(r)){let{id:d}=c,m=Lr(p,R=>{R.id=d;}),{blocks:y}=m,h=y?.map(R=>({type:R.type,blockcol:R.blockcol,blockrow:R.blockrow,section_id:d,locales:Object.keys(R.contentByLocale).map(T=>T)}));return h&&y&&await uu("block")(h)(o,n,a).then(R=>{if(R.ok){let T=R.data,k=[],B=T.map((A,b)=>{let D={...A},j=D.id,Y=y[b];Y.contentByLocale&&(D.contentByLocale=Object.keys(Y.contentByLocale).reduce((E,x)=>{let F=Y.contentByLocale[x];return E[x]={...F,content:{...F.content},id:D.id},E},{}));let{settings:H}=Y,{contentByLocale:U,id:w}=D;D.settings=H;let V={id:w,contentByLocale:U,settings:H};return Y.inputs.map(E=>E.id).reduce((E,x)=>{let F=y.findIndex(Q=>Q.id===x);return [...E,F]},[]).map(E=>({...T[E],originalBlock:y[E]})).forEach(E=>{let{id:x,type:F,originalBlock:Q}=E;if([M.SELECTOR,M.VIZ].includes(F)){if(V.contentByLocale?.logic?.content?.api){let J=V.contentByLocale?.logic.content.api;V.contentByLocale.logic.content.api=Ja(`(selector${Q.id}id)`,`selector${x}id`,J);}if(V.contentByLocale?.logic?.content?.logic){let J=V.contentByLocale.logic.content.logic;V.contentByLocale.logic.content.logic=Ja(`(selector${Q.id}id)`,`selector${x}id`,J);}}k.push({id:x,inputAction:{operation:"create",input:{input_id:x,block_id:j}}});}),V});return Qa("block")([...B,...k])(o,n,a)}}),Ae(e)(m)(o,n,a).then(R=>(R.ok&&o(me.setRequest({key:u,type:e,status:"SUCCESS",data:R.data})),R))}return Ae(e)({...p,id:c.id})(o,n,a)}})}}function Ze(e){return t=>{let r=rs(e,t);return (o,n,a)=>(o(Xe(e,r)),ne(a,"read",e)(t).then(i=>(i.ok===!0?o(me.setReadRequest({key:r,operation:"read",status:"SUCCESS",type:e,data:i.data})):o(_t(e,r,i.status,i.error)),i)))}}function Ae(e){return t=>{let r=Io(e,t);return (o,n,a)=>(o(Xe(e,r)),ne(a,"update",e)(t).then(i=>(i.ok===!0?o(me.setUpdateRequest({key:r,operation:"update",status:"SUCCESS",type:e,data:i.data})):o(_t(e,r,i.status,i.error)),i)))}}function Qa(e){return t=>{let r=Io(e,t[0]);return (o,n,a)=>(o(Xe(e,r)),ne(a,"updateBulk",e)(t).then(i=>(i.ok===!0?o(me.setUpdateRequest({key:r,operation:"updateBulk",status:"SUCCESS",type:e,data:i.data})):o(_t(e,r,i.status,i.error)),i)))}}function vt(e){return t=>{let r=os(e,t);return (o,n,a)=>(o(Xe(e,r)),ne(a,"delete",e)(t).then(i=>{i.ok===!0?o(me.setDeleteRequest({key:r,operation:"delete",status:"SUCCESS",type:e,data:i.data})):o(_t(e,r,i.status,i.error));}))}}function xo(e,t){if(e==="variant"){let r=t;return `create(variant, [${r.dimension_id}, ${r.name}])`}return `create(${e}, [${Object.keys(t)}])`}function rs(e,t={}){let r=t.id==null?null:`'${t.id}'`;return `read(${e}, ${r}, ${!!t.include})`}function Io(e,t){let{id:r,...o}=t;return `update(${e}, ${r}, [${Object.keys(o)}])`}function os(e,t){return `delete(${e}, ${t})`}function ns(e,t){let r=t.id==null?null:`'${t.id}'`;return `clone(${e}, ${r})`}var{setStatus:as,setPreviews:mu,setSectionState:ss,resetSectionState:is,setCurrentLocale:fu,setPreferredLocale:gu,addRunConsumersRunning:cs,removeRunConsumersRunning:ls}=Ee;function yu(e,t){return async(r,o,n)=>{let a=await n.validateVariantSlug({dimension:e,slug:t});if("error"in a)throw new Error(a.error);return a.data}}function hu(e){return async(t,r,o)=>{let n=await o.searchReport(e);if("error"in n)throw new Error(n.error);return n.data}}function Ru(){return async(e,t,r)=>{let o=await r.regenerateSearch(void 0);if("error"in o)throw new Error(o.error);return o.data}}function Xt(e){return async(t,r,o)=>{let n=await o.readMember(e);if("error"in n)throw new Error(n.error);return n.data}}function bu(e){return async(t,r,o)=>{let n=await o.searchMember(e);if(n.ok===!0)return n.data;throw new Error(n.error)}}async function us(e,t,r,o){let n=r().status,a={...n,...o},s={...n.query,...o.query};Object.keys(s).forEach(c=>s[c]===void 0&&delete s[c]);let i={...a,query:s};t(as(i)),n.activeSection&&t(ps(e,{query:s}));}function Su(e,t){return async(r,o)=>us(e,r,o,{query:{[t]:void 0}})}function Eu(e,t,r){return async(o,n)=>us(e,o,n,{query:{[t]:r}})}function ps(e,t){return async(r,o)=>{let n=o(),{currentLocale:a}=n.status,s=n.records.entities.block,i=e.formatterFunctions[a],{parsedParams:c,statusPayload:l}=Ua(n.status,t),{sid:p,bid:u,previews:d,query:m}=c;Object.keys(l).length&&r(Ee.setStatus(l));let y={...Er(d),locale:a,...Ar()},h={variables:y,query:m,locale:a};r(Ee.addRunConsumersRunning([p]));let R=n.records.entities.section[p],T=async k=>r(Xt(k));try{let k=await Sr(s,R&&[R],u,i,h,void 0,T),{variables:B,status:A}=k;r(wr.setVariableChange({attributes:y,variables:B,status:A})),r(Ee.removeRunConsumersRunning([p]));}catch(k){console.log("Error in runConsumers client side: recalculateVariables",k);}}}function Au(e){return async(t,r,o)=>{let n=await o.readMetadata(e);if("error"in n)throw new Error(n.error);return n.data}}function Tu(e){return async(t,r,o)=>{let n=await o.urlProxy({url:e});if("error"in n)throw new Error(n.error);return n.data}}function vu(){return async(e,t,r)=>{let o=await r.searchRole("");if("error"in o)throw new Error(o.error);return o.data}}function _u(e){return async(t,r,o)=>{let n=await o.searchUser(e);if("error"in n)throw new Error(n.error);return n.data}}function ku(e){return async(t,r,o)=>{let n=await o.readUser({user_id:e});if("error"in n)throw new Error(n.error);return n.data}}function Pu({user:e}){return async(t,r,o)=>{let n=await o.updateUser(e);if("error"in n)throw new Error(n.error);return n.data}}function wu(e){return async(t,r,o)=>{let n=await o.updateMyData(e);if("error"in n)throw new Error(n.error);return n.data}}function Mr(e){let{removeBlocks:t}=we.actions;return async r=>{await r(t(e));}}function Co(e){let{addBlocks:t}=we.actions;return async r=>{await r(t(e));}}function xu(e){return async(t,r,o)=>{let n=await o.readPrivateBlocks({...e,roles:[]});if("error"in n)throw new Error(n.error);return n.data}}function Iu(e){return async(t,r,o)=>{let n=await o.revalidateUrl({target:e.target});if("error"in n)throw new Error(n.error);return n.data}}function Cu(e){return async(t,r,o)=>{let n=await o.revalidateReport({reportId:e.reportId,profilePrefix:e.profilePrefix});if("error"in n)throw new Error(n.error);return n.data}}var ds=e=>configureStore({reducer:{[we.name]:we.reducer,[kr.name]:kr.reducer,[Pr.name]:Pr.reducer},middleware(t){return t({thunk:{extraArgument:Ht("/api/cms/")}})}}),tr=createWrapper(ds);function Nu(e){let t=process.cwd(),r=Ou.resolve(t.endsWith("/example")?t.replace("/example",""):t,"package-lock.json"),o;try{let n=JSON.parse(Sc.readFileSync(r,"utf-8"));o=n.dependencies&&n.dependencies[e]&&n.dependencies[e].version!=="file:packages/reports"?n.dependencies[e].version:"0.dev";}catch{o="0.vercel";}return o||"Version not found"}function Du(e){let t=()=>Promise.resolve({}),{pathSegmentsKey:r="bespoke",preResolve:o=t,postResolve:n=t,authOptions:a={providers:[]}}=e||{};return tr.getServerSideProps(s=>{let{dispatch:i}=s;return async c=>{let l=await fe(c.req,c.res,a);if(!l)return {redirect:{destination:"/api/auth/signin?callbackUrl=/cms",permanent:!1}};let p=new Set([$.ADMIN,$.EDITOR,$.WRITER]);if(!(l?.user?.bespoke_roles||[]).some(T=>p.has(T)))return {redirect:{destination:"/",permanent:!1}};let d=c.query[r],[m]=Array.isArray(d)?d:[d];await i(Gt);let y=await Nu("@datawheel/bespoke"),h=await o(s,c);if("redirect"in h)return {props:h};m==="reports"&&(ms(c.query[r])?await Promise.all([i(oe("formatter",{})),i(oe("report",{id:ms(c.query[r]),include:!0})),Ee.setStatus({isCMS:!0})]):await Promise.all([i(oe("report",{include:"dimensions"})),Ee.setStatus({isCMS:!0})])),m==="metadata"&&await i(oe("report",{include:"dimensions"})),m==="formatters"&&await i(oe("formatter",{}));let R=await n(s,c);return {props:{...h,...R,bespokeVersion:y,session:l}}}})}function ms(e){if(e==null||e==="")return;let[,t]=Array.isArray(e)?e:[e];return Number.parseInt(t)||void 0}var {locales:Fu}=q(),Vu={pathSegment:"path",formatterFunctions:Fu.reduce((e,t)=>({...e,[t]:{}}),{}),profilePrefix:"path",siteProps:{}};createContext(Vu);q();var bs=e=>e.records.entities.block;function wt(e){return t=>Object.values(t.records.entities[e])}var Ss=wt("section"),Es=wt("formatter");function tp(e){let{fallback:t=!0,limit:r=50}=e||{};return async o=>{let{defaultLocale:n=de,locales:a=[]}=o,s=[];if(r>0){let i=a.find(p=>p===n),{searchMember:c}=await Ve().then(ft),l=await c({query:"",limit:r,format:"plain",locale:i||de,noImage:!1,visible:!0,report:[],dimension:[],variant:[],includes:!0});l.ok===!0&&(s=l.data.results.map(p=>({locale:a.find(u=>u===p.locale),params:{bespoke:[p.variant.slug,p.slug]}})));}return {fallback:t,paths:s}}}function rp(e){let{pathSegmentsKey:t="bespoke"}=e||{};try{return tr.getStaticProps(r=>{let{dispatch:o}=r;return async n=>{await o(Gt);let a=new Date().toISOString(),{locale:s=de,params:i={}}=n,c=Array.from(op(i[t]));if(c.length===0)return await Promise.all([o(oe("formatter",{})),o(oe("report",{include:!0}))]),{props:{buildTime:a}};let l=await o(Xt({mode:"slugs",locale:s,slugs:c,output:"full"}));o(er.setPreviews(l.results)),await Promise.all([o(oe("formatter",{})),o(oe("report",{id:l.results.map(b=>b.report_id),include:!0,locales:[s]}))]);let p=r.getState(),u=Es(p),d=uo(u,s),m=Ss(p),y=bs(p),h={...y},R={},T=Object.values(y).reduce((b,N)=>("access"in N.settings&&!["public","guest"].some(D=>!N.settings.access||N.settings.access.includes(D))&&b.push(N.id),b),[]);T=T.concat(qt(T,Object.values(h)));let k=T.filter(b=>h[b].settings[rn.FALLBACK]);T.forEach(b=>{k.includes(b)&&(R[b]={...h[b],type:M.FALLBACK,original_type:h[b].type}),delete h[b];}),await o(Mr(T)),await o(Co(R));let B={...Er(l.results),locale:s,...Ar()},A=async b=>await o(Xt(b));return await Sr({...h,...R},m,void 0,d,{locale:s,query:i,variables:B},void 0,A,"report").then(async b=>{let N=Object.keys({...h,...R}).reduce((D,j)=>(b.variables[j]&&b.status[j]||D.push(j),D),[]);await o(Mr(N)),await o(wr.setVariableChange({...b,attributes:B}));}),{props:{buildTime:a}}}})}catch(r){console.log("ERROR SSR",r);}}function op(e=[]){let t=[].concat(e),r=0;return {next(){return {value:{variantSlug:t[r++],memberSlug:t[r++]},done:r>t.length}},[Symbol.iterator](){return this}}}
|
|
68
68
|
|
|
69
|
-
export {
|
|
69
|
+
export { el as BespokeEndpointNextJsHandlerFactory, fe as BespokeGetSession, ws as BespokeHandleAuth, Du as BespokeManagerServerSideProps, tp as BespokeRendererStaticPaths, rp as BespokeRendererStaticProps, Fs as BespokeSearchUsersByMetadata, Bs as BespokeUpdateCurrentUserAppMetadata, Os as BespokeUpdateCurrentUserMetadata, Ds as BespokeWithApiRoleAuthRequired, rl as ReportCrosswalkHandler, ft as dbApiFactory, eo as endpointKey, Ve as getDB, Gt as useDatabaseApi };
|