@cubejs-client/ngx 0.36.0 → 1.1.12

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.
Files changed (24) hide show
  1. package/dist/esm2020/src/client.mjs +68 -0
  2. package/dist/{esm2015/src/module.js → esm2020/src/module.mjs} +4 -4
  3. package/dist/esm2020/src/query-builder/builder-meta.mjs +23 -0
  4. package/dist/esm2020/src/query-builder/pivot-config.mjs +17 -0
  5. package/dist/esm2020/src/query-builder/query-builder.service.mjs +120 -0
  6. package/dist/{esm2015/src/query-builder/query-members.js → esm2020/src/query-builder/query-members.mjs} +33 -14
  7. package/dist/{esm2015/src/query-builder/query.js → esm2020/src/query-builder/query.mjs} +5 -2
  8. package/dist/fesm2015/{cubejs-client-ngx.js → cubejs-client-ngx.mjs} +31 -23
  9. package/dist/fesm2015/cubejs-client-ngx.mjs.map +1 -0
  10. package/dist/fesm2020/cubejs-client-ngx.mjs +540 -0
  11. package/dist/fesm2020/cubejs-client-ngx.mjs.map +1 -0
  12. package/package.json +9 -9
  13. package/dist/bundles/cubejs-client-ngx.umd.js +0 -974
  14. package/dist/bundles/cubejs-client-ngx.umd.js.map +0 -1
  15. package/dist/esm2015/src/client.js +0 -69
  16. package/dist/esm2015/src/query-builder/builder-meta.js +0 -20
  17. package/dist/esm2015/src/query-builder/pivot-config.js +0 -14
  18. package/dist/esm2015/src/query-builder/query-builder.service.js +0 -123
  19. package/dist/fesm2015/cubejs-client-ngx.js.map +0 -1
  20. /package/dist/{esm2015/cubejs-client-ngx.js → esm2020/cubejs-client-ngx.mjs} +0 -0
  21. /package/dist/{esm2015/index.js → esm2020/index.mjs} +0 -0
  22. /package/dist/{esm2015/src/public_api.js → esm2020/src/public_api.mjs} +0 -0
  23. /package/dist/{esm2015/src/query-builder/chart-type.js → esm2020/src/query-builder/chart-type.mjs} +0 -0
  24. /package/dist/{esm2015/src/query-builder/common.js → esm2020/src/query-builder/common.mjs} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"cubejs-client-ngx.umd.js","sources":["../../node_modules/tslib/tslib.es6.js","../../src/client.ts","../../src/module.ts","../../src/query-builder/common.ts","../../src/query-builder/query-members.ts","../../src/query-builder/query.ts","../../src/query-builder/builder-meta.ts","../../src/query-builder/pivot-config.ts","../../src/query-builder/chart-type.ts","../../src/query-builder/query-builder.service.ts","../../src/public_api.ts","../../index.ts","../../cubejs-client-ngx.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\nimport { Observable, from, BehaviorSubject } from 'rxjs';\nimport cube, {\n CubeApi,\n CubeApiOptions,\n DryRunResponse,\n LoadMethodOptions,\n Meta,\n Query,\n ResultSet,\n SqlQuery,\n} from '@cubejs-client/core';\n\nexport type CubeConfig = {\n token: string;\n options?: CubeApiOptions;\n};\n\n@Injectable()\nexport class CubeClient {\n public ready$: BehaviorSubject<boolean> = new BehaviorSubject(false);\n\n private cubeApi: CubeApi;\n\n constructor(@Inject('config') private config: any | Observable<any>) {\n if (this.config instanceof Observable) {\n this.config.subscribe(() => {\n this.ready$.next(true);\n });\n } else {\n this.ready$.next(true);\n }\n }\n\n private apiInstance(): CubeApi {\n if (!this.cubeApi) {\n if (this.config instanceof Observable) {\n this.config.subscribe((config) => {\n this.cubeApi = cube(config.token, config.options);\n\n if (!this.cubeApi) {\n throw new Error(\n 'Cannot create CubeApi instance. Please check that the config is passed correctly and contains all required options.'\n );\n }\n });\n } else {\n this.cubeApi = cube(this.config.token, this.config.options);\n }\n }\n\n return this.cubeApi;\n }\n\n public load(\n query: Query | Query[],\n options?: LoadMethodOptions\n ): Observable<ResultSet> {\n return from(<Promise<ResultSet>>this.apiInstance().load(query, options));\n }\n\n public sql(\n query: Query | Query[],\n options?: LoadMethodOptions\n ): Observable<SqlQuery> {\n return from(this.apiInstance().sql(query, options));\n }\n\n public dryRun(\n query: Query | Query[],\n options?: LoadMethodOptions\n ): Observable<DryRunResponse> {\n return from(this.apiInstance().dryRun(query, options));\n }\n\n public meta(options?: LoadMethodOptions): Observable<Meta> {\n return from(this.apiInstance().meta(options));\n }\n\n public watch(query, params = {}): Observable<ResultSet> {\n return new Observable((observer) =>\n query.subscribe({\n next: async (query) => {\n try {\n const resultSet = await this.apiInstance().load(query, params);\n observer.next(resultSet);\n } catch(err) {\n observer.error(err);\n }\n\n },\n })\n );\n }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CubeClient } from './client';\n\n@NgModule({\n providers: [CubeClient],\n})\nexport class CubeClientModule {\n public static forRoot(config: any): ModuleWithProviders<CubeClientModule> {\n return {\n ngModule: CubeClientModule,\n providers: [\n CubeClient,\n {\n provide: 'config',\n useValue: config,\n },\n ],\n };\n }\n}\n","import { BehaviorSubject } from 'rxjs';\n\nexport class StateSubject<T = any> {\n subject: BehaviorSubject<T>;\n\n constructor(value: T) {\n this.subject = new BehaviorSubject(value);\n }\n\n get() {\n return this.subject.getValue();\n }\n\n set(value: T) {\n this.subject.next(value);\n }\n}\n","import {\n TimeDimensionGranularity,\n TQueryOrderObject,\n TQueryOrderArray,\n moveItemInArray,\n Filter,\n UnaryFilter,\n BinaryFilter,\n} from '@cubejs-client/core';\nimport { BehaviorSubject } from 'rxjs';\nimport equal from 'fast-deep-equal';\n\nimport { Query } from './query';\n\nexport type TOrder = 'asc' | 'desc' | 'none';\n\nexport type TOrderMember = {\n id: string;\n order: TOrder;\n title: string;\n};\n\nexport class BaseMember {\n constructor(\n private query: Query,\n private field: 'measures' | 'dimensions' | 'segments'\n ) {}\n\n private get members() {\n return this.query.asCubeQuery()[this.field] || [];\n }\n\n add(name: string) {\n this.query.setPartialQuery({\n [this.field]: [...this.members, name],\n });\n }\n\n replace(name: string, replaceWithName: string) {\n this.query.setPartialQuery({\n [this.field]: this.members.map((currentName) =>\n currentName === name ? replaceWithName : currentName\n ),\n });\n }\n\n remove(by: string | number) {\n this.query.setPartialQuery({\n [this.field]: this.query\n .asCubeQuery()\n [this.field].filter((currentName, index) => {\n if (typeof by === 'string') {\n return currentName !== by;\n }\n\n return index !== by;\n }),\n });\n }\n\n set(members: string[]) {\n this.query.setPartialQuery({\n [this.field]: members,\n });\n }\n\n asArray() {\n return (this.query.asCubeQuery()[this.field] || []).map((name) =>\n this.query.meta.resolveMember(name, this.field)\n );\n }\n}\n\nexport class TimeDimensionMember {\n constructor(private query: Query) {}\n\n private get members() {\n return this.query.asCubeQuery().timeDimensions || [];\n }\n\n get granularity() {\n return this.members[0]?.granularity;\n }\n\n updateTimeDimension(by: string | number, updateWith: any) {\n const timeDimensions = this.members.map((td, index) => {\n if (td.dimension === by || index === by) {\n return {\n ...td,\n ...updateWith,\n };\n }\n return td;\n });\n\n this.query.setPartialQuery({\n timeDimensions,\n });\n }\n\n add(name: string) {\n this.query.setPartialQuery({\n timeDimensions: [\n {\n dimension: name,\n },\n ],\n });\n }\n\n remove(name: string) {\n this.query.setPartialQuery({\n timeDimensions: this.members.filter(\n ({ dimension }) => dimension !== name\n ),\n });\n }\n\n set(timeDimensions: any[]) {\n this.query.setPartialQuery({\n timeDimensions,\n });\n }\n\n setDateRange(by: string | number, dateRange: string | string[]) {\n this.updateTimeDimension(by, { dateRange });\n }\n\n setGranularity(by: string | number, granularity: TimeDimensionGranularity) {\n this.updateTimeDimension(by, { granularity });\n }\n\n asArray(): any[] {\n return (this.query.asCubeQuery().timeDimensions || []).map((td) => {\n return {\n ...this.query.meta.resolveMember(td.dimension, 'dimensions'),\n ...td,\n };\n });\n }\n}\n\nexport class Order {\n orderMembers = new BehaviorSubject<TOrderMember[]>([]);\n\n constructor(private query: Query) {\n this.query.subject.subscribe(this.handleQueryChange.bind(this));\n this.orderMembers.subscribe(this.handleOrderMembersChange.bind(this));\n }\n\n private handleOrderMembersChange(orderMembers: TOrderMember[]) {\n const order = orderMembers\n .filter(({ order }) => order !== 'none')\n .reduce(\n (memo, { id, order }) => ({ ...memo, [id]: order }),\n {}\n ) as TQueryOrderObject;\n\n if (!equal(order, this.asObject())) {\n this.query.setPartialQuery({ order });\n }\n }\n\n private handleQueryChange() {\n this.orderMembers.next(\n [\n ...this.query.measures.asArray(),\n ...this.query.dimensions.asArray(),\n ...this.query.timeDimensions.asArray(),\n ].map<TOrderMember>(({ name, title }) => {\n return {\n id: name,\n order: this.of(name),\n title,\n };\n })\n );\n }\n\n setMemberOrder(id: string, order: TOrder) {\n this.orderMembers.next(\n this.orderMembers.getValue().map((orderMember) => {\n if (orderMember.id === id) {\n return {\n ...orderMember,\n order,\n };\n }\n return orderMember;\n })\n );\n }\n\n reorder(sourceIndex: number, destinationIndex: number) {\n this.orderMembers.next(\n moveItemInArray(\n this.orderMembers.getValue(),\n sourceIndex,\n destinationIndex\n )\n );\n }\n\n of(member: string) {\n return (this.query.asCubeQuery().order || {})[member] || 'none';\n }\n\n set(order: TQueryOrderObject | TQueryOrderArray) {\n this.query.setPartialQuery({ order });\n }\n\n asArray(): TQueryOrderArray {\n if (Array.isArray(this.query.asCubeQuery().order)) {\n return this.query.asCubeQuery().order as TQueryOrderArray;\n }\n\n return Object.entries(this.query.asCubeQuery().order || {});\n }\n\n asObject(): TQueryOrderObject {\n return this.asArray().reduce(\n (memo, [key, value]) => ({ ...memo, [key]: value }),\n {}\n );\n }\n}\n\nexport class FilterMember {\n constructor(private query: Query) {}\n\n private get filters() {\n // TODO: update this type assertion once the QueryBuilder supports logical and/or\n return (this.query.asCubeQuery().filters || []) as (UnaryFilter | BinaryFilter)[];\n }\n\n update(by: string | number, updateWith: Partial<Filter>) {\n const filters = this.filters.map((filter, index) => {\n if (index === by || filter.member === by || filter.dimension === by) {\n return {\n ...filter,\n ...updateWith,\n };\n }\n return filter;\n });\n\n this.query.setPartialQuery({\n filters: filters as Filter[],\n });\n }\n\n add(filter: Filter) {\n this.query.setPartialQuery({\n filters: [...this.filters, filter],\n });\n }\n\n remove(by: string | number) {\n this.query.setPartialQuery({\n filters: this.filters.filter((filter, index) => {\n if (filter.member === by || filter.dimension === by || index === by) {\n return false;\n }\n\n return true;\n }),\n });\n }\n\n set(filters: Filter[]) {\n this.query.setPartialQuery({\n filters,\n });\n }\n\n replace(name: string, replaceWithName: string) {\n this.query.setPartialQuery({\n filters: this.filters.map((filter) => {\n const field = filter.member ? 'member' : 'dimension';\n return filter.member === name || filter.dimension === name\n ? {\n ...filter,\n [field]: replaceWithName,\n }\n : filter;\n }),\n });\n }\n\n asArray(): any[] {\n return this.filters.map((filter) => {\n return {\n ...this.query.meta.resolveMember(filter.member || filter.dimension, [\n 'dimensions',\n 'measures',\n ]),\n operators: this.query.meta.filterOperatorsForMember(\n filter.member || filter.dimension,\n ['dimensions', 'measures']\n ),\n ...filter,\n };\n });\n }\n}\n","import { isQueryPresent, Meta, Query as TCubeQuery } from '@cubejs-client/core';\n\nimport { StateSubject } from './common';\nimport { BaseMember, FilterMember, Order, TimeDimensionMember } from './query-members';\n\nexport enum MemberType {\n Measures = 'measures',\n Dimensions = 'dimensions',\n Segments = 'segments',\n TimeDimensions = 'timeDimensions',\n Filters = 'filters',\n Order = 'order',\n}\n\nexport type OnChangeCallback = (\n newQuery: TCubeQuery,\n oldQuery: TCubeQuery,\n query: Query\n) => TCubeQuery;\n\nexport class Query extends StateSubject<TCubeQuery> {\n measures: BaseMember;\n dimensions: BaseMember;\n segments: BaseMember;\n timeDimensions: TimeDimensionMember;\n filters: FilterMember;\n order: Order;\n\n constructor(\n public meta: Meta,\n private _onBeforeChange: OnChangeCallback = (newQuery) => newQuery\n ) {\n super({});\n this.init();\n }\n\n private init() {\n this.measures = new BaseMember(this, MemberType.Measures);\n this.dimensions = new BaseMember(this, MemberType.Dimensions);\n this.segments = new BaseMember(this, MemberType.Segments);\n this.timeDimensions = new TimeDimensionMember(this);\n this.filters = new FilterMember(this);\n this.order = new Order(this);\n }\n\n asCubeQuery(): TCubeQuery {\n return this.subject.getValue() || {};\n }\n\n setQuery(query: TCubeQuery) {\n this.subject.next(this._onBeforeChange(query, this.subject.getValue(), this));\n }\n\n setPartialQuery(partialQuery: Partial<TCubeQuery>) {\n this.subject.next(\n this._onBeforeChange(\n {\n ...this.subject.getValue(),\n ...partialQuery,\n },\n this.subject.getValue(),\n this\n )\n );\n }\n\n setLimit(limit: number) {\n this.setPartialQuery({ limit });\n }\n \n isPresent(): boolean {\n return isQueryPresent(this.asCubeQuery());\n }\n}\n","import {\n Meta,\n TCubeDimension,\n TCubeMeasure,\n TCubeMember,\n} from '@cubejs-client/core';\n\nexport class BuilderMeta {\n measures: TCubeMeasure[];\n dimensions: TCubeDimension[];\n segments: TCubeMember[];\n timeDimensions: TCubeDimension[];\n filters: Array<TCubeMeasure | TCubeDimension>;\n\n constructor(public readonly meta: Meta) {\n this.mapMeta();\n }\n\n private mapMeta() {\n const allDimensions = <TCubeDimension[]>(\n this.meta.membersForQuery(null, 'dimensions')\n );\n\n this.measures = <TCubeMeasure[]>this.meta.membersForQuery(null, 'measures');\n this.segments = this.meta.membersForQuery(null, 'segments');\n this.dimensions = allDimensions.filter(({ type }) => type !== 'time');\n this.timeDimensions = allDimensions.filter(({ type }) => type === 'time');\n this.filters = [...allDimensions, ...this.measures].map((member) => {\n return {\n ...member,\n operators: this.meta.filterOperatorsForMember(member.name, [\n 'dimensions',\n 'measures',\n ]),\n };\n });\n }\n}\n","import {\n movePivotItem,\n PivotConfig as TPivotConfig,\n TSourceAxis,\n} from '@cubejs-client/core';\nimport { StateSubject } from './common';\n\nexport class PivotConfig extends StateSubject<TPivotConfig> {\n constructor(pivotConfig: TPivotConfig) {\n super(pivotConfig);\n }\n \n moveItem(\n sourceIndex: number,\n destinationIndex: number,\n sourceAxis: TSourceAxis,\n destinationAxis: TSourceAxis\n ) {\n this.subject.next(\n movePivotItem(\n this.get(),\n sourceIndex,\n destinationIndex,\n sourceAxis,\n destinationAxis\n )\n );\n }\n \n setFillMissingDates(fillMissingDates: boolean) {\n this.subject.next({\n ...this.get(),\n fillMissingDates\n });\n }\n}\n","import { StateSubject } from './common';\n\nexport type TChartType = 'line' | 'area' | 'bar' | 'number' | 'table' | 'pie';\n\nexport class ChartType extends StateSubject<TChartType> {\n constructor(value) {\n super(value);\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n Meta,\n ResultSet,\n Query as TCubeQuery,\n PivotConfig as TPivotConfig,\n isQueryPresent,\n defaultHeuristics,\n} from '@cubejs-client/core';\nimport { BehaviorSubject, combineLatest, of, Subject } from 'rxjs';\nimport { catchError, switchMap } from 'rxjs/operators';\n\nimport { CubeClient } from '../client';\nimport { Query } from './query';\nimport { BuilderMeta } from './builder-meta';\nimport { PivotConfig } from './pivot-config';\nimport { ChartType, TChartType } from './chart-type';\nimport { StateSubject } from './common';\n\nexport type TQueryBuilderState = {\n query?: TCubeQuery;\n pivotConfig?: TPivotConfig;\n chartType?: TChartType;\n};\n\n@Injectable()\nexport class QueryBuilderService {\n private _cube: CubeClient;\n private _meta: Meta;\n private _query: Query;\n private _disableHeuristics: boolean = false;\n private _resolveQuery: (query: Query) => void;\n private _resolveBuilderMeta: (query: BuilderMeta) => void;\n private _heuristicChange$ = new Subject<any>();\n\n readonly builderMeta = new Promise<BuilderMeta>(\n (resolve) => (this._resolveBuilderMeta = resolve)\n );\n readonly query = new Promise<Query>(\n (resolve) => (this._resolveQuery = resolve)\n );\n readonly state = new BehaviorSubject<TQueryBuilderState>({});\n\n pivotConfig: PivotConfig;\n chartType: ChartType;\n\n private async init() {\n this.pivotConfig = new PivotConfig(null);\n this.chartType = new ChartType('line');\n\n this._cube.meta().subscribe((meta) => {\n this._meta = meta;\n\n this._query = new Query(\n this._meta,\n this._handleQueryChange.bind(this)\n );\n this._resolveQuery(this._query);\n this._resolveBuilderMeta(new BuilderMeta(this._meta));\n });\n\n this.subscribe();\n\n if (!this._disableHeuristics) {\n this._heuristicChange$\n .pipe(\n switchMap((data) => {\n return combineLatest([\n this._cube.dryRun(data.query).pipe(catchError((error) => {\n console.error(error);\n return of(null);\n })),\n of(data.shouldApplyHeuristicOrder),\n ]);\n })\n )\n .subscribe(\n ([dryRunResponse, shouldApplyHeuristicOrder]) => {\n if (!dryRunResponse) {\n return;\n }\n \n const { pivotQuery, queryOrder } = dryRunResponse;\n \n this.pivotConfig.set(\n ResultSet.getNormalizedPivotConfig(\n pivotQuery,\n this.pivotConfig.get()\n )\n );\n if (shouldApplyHeuristicOrder) {\n this._query.order.set(\n queryOrder.reduce((a, b) => ({ ...a, ...b }), {})\n );\n }\n }\n );\n }\n }\n\n private _handleQueryChange(newQuery, oldQuery) {\n const {\n chartType,\n shouldApplyHeuristicOrder,\n query: heuristicQuery,\n } = defaultHeuristics(newQuery, oldQuery, {\n meta: this._meta,\n sessionGranularity: newQuery?.timeDimensions?.[0]?.granularity,\n });\n\n const query = this._disableHeuristics\n ? newQuery\n : heuristicQuery || newQuery;\n\n if (isQueryPresent(query) && !this._disableHeuristics) {\n this._heuristicChange$.next({\n shouldApplyHeuristicOrder: Boolean(shouldApplyHeuristicOrder),\n query,\n });\n }\n\n if (!this._disableHeuristics && chartType) {\n this.chartType.set(chartType);\n }\n\n return query;\n }\n\n setCubeClient(cubeClient: CubeClient) {\n this._cube = cubeClient;\n this.init();\n }\n\n private subscribe() {\n Object.getOwnPropertyNames(this).forEach((key) => {\n if (this[key] instanceof StateSubject) {\n this[key].subject.subscribe((value) =>\n this.setPartialState({\n [key]: value,\n })\n );\n }\n });\n this.query.then((query) => {\n query.subject.subscribe((cubeQuery) => {\n this.setPartialState({\n query: cubeQuery,\n });\n });\n });\n }\n\n async deserialize(state) {\n if (state.query) {\n (await this.query).setQuery(state.query);\n }\n\n Object.entries(state).forEach(([key, value]) => {\n if (this[key] instanceof StateSubject) {\n this[key].set(value);\n }\n });\n\n this.subscribe();\n }\n\n setPartialState(partialState) {\n this.state.next({\n ...this.state.getValue(),\n ...partialState,\n });\n }\n\n disableHeuristics() {\n this._disableHeuristics = false;\n }\n\n enableHeuristics() {\n this._disableHeuristics = true;\n }\n}\n","/*\n * Public API Surface of cubejs-client-ngx\n */\n\nexport { CubeClientModule } from './module';\nexport * from './client';\nexport * from './query-builder/query-builder.service';\nexport * from './query-builder/query';\nexport * from './query-builder/builder-meta';\nexport * from './query-builder/query-members';\nexport * from './query-builder/pivot-config';\nexport * from './query-builder/chart-type';\n","// This file is not used to build this module. It is only used during editing\n// by the TypeScript language service and during build for verification. `ngc`\n// replaces this file with production index.ts when it rewrites private symbol\n// names.\n\nexport * from './src/public_api';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["BehaviorSubject","Observable","cube","from","i0","Injectable","Inject","NgModule","equal","moveItemInArray","MemberType","isQueryPresent","movePivotItem","Subject","switchMap","combineLatest","catchError","of","ResultSet","defaultHeuristics"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAAA;;;;;;;;;;;;;IAagF;IAChF;IAEA,IAAI,aAAa,GAAG,UAAS,CAAC,EAAE,CAAC,EAAA;QAC7B,aAAa,GAAG,MAAM,CAAC,cAAc;aAChC,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,EAAA,EAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;YAC5E,UAAU,CAAC,EAAE,CAAC,EAAA,EAAI,KAAK,IAAI,CAAC,IAAI,CAAC;gBAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;oBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtG,IAAA,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC;IAEc,SAAA,SAAS,CAAC,CAAC,EAAE,CAAC,EAAA;IAC1B,IAAA,IAAI,OAAO,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,IAAI;IACrC,QAAA,MAAM,IAAI,SAAS,CAAC,sBAAsB,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,+BAA+B,CAAC,CAAC;IAC9F,IAAA,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpB,SAAS,EAAE,KAAK,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;IACvC,IAAA,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;IAEM,IAAI,QAAQ,GAAG,YAAA;QAClB,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC,EAAA;IAC3C,QAAA,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;IACjD,YAAA,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBACjB,KAAK,IAAI,CAAC,IAAI,CAAC;oBAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;wBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAChF,SAAA;IACD,QAAA,OAAO,CAAC,CAAC;IACb,KAAC,CAAA;QACD,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC,CAAA;IAEe,SAAA,MAAM,CAAC,CAAC,EAAE,CAAC,EAAA;QACvB,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,KAAK,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC/E,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAChB,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU;YAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1E,gBAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzB,SAAA;IACL,IAAA,OAAO,CAAC,CAAC;IACb,CAAC;IAEK,SAAU,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAA;IACpD,IAAA,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;QAC7H,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;IAAE,QAAA,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;;IAC1H,QAAA,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;IAAE,YAAA,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;IAAE,gBAAA,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IAClJ,IAAA,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;IAEe,SAAA,OAAO,CAAC,UAAU,EAAE,SAAS,EAAA;IACzC,IAAA,OAAO,UAAU,MAAM,EAAE,GAAG,EAAA,EAAI,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE,CAAA;IACzE,CAAC;IAEe,SAAA,UAAU,CAAC,WAAW,EAAE,aAAa,EAAA;QACjD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;YAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACnI,CAAC;IAEK,SAAU,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAA;IACvD,IAAA,SAAS,KAAK,CAAC,KAAK,EAAA,EAAI,OAAO,KAAK,YAAY,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,UAAU,OAAO,EAAA,EAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;IAC5G,IAAA,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,UAAU,OAAO,EAAE,MAAM,EAAA;IACrD,QAAA,SAAS,SAAS,CAAC,KAAK,EAAA,EAAI,IAAI;gBAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAAE,SAAA;IAAC,QAAA,OAAO,CAAC,EAAE;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAAE,SAAA,EAAE;IAC3F,QAAA,SAAS,QAAQ,CAAC,KAAK,EAAA,EAAI,IAAI;gBAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAAE,SAAA;IAAC,QAAA,OAAO,CAAC,EAAE;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAAE,SAAA,EAAE;IAC9F,QAAA,SAAS,IAAI,CAAC,MAAM,EAAA,EAAI,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE;IAC9G,QAAA,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1E,KAAC,CAAC,CAAC;IACP,CAAC;IAEe,SAAA,WAAW,CAAC,OAAO,EAAE,IAAI,EAAA;IACrC,IAAA,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,YAAA,EAAa,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAAE,YAAA,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACjH,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,MAAM,KAAK,UAAU,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,YAAA,EAAa,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACzJ,SAAS,IAAI,CAAC,CAAC,EAAA,EAAI,OAAO,UAAU,CAAC,EAAI,EAAA,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;QAClE,SAAS,IAAI,CAAC,EAAE,EAAA;IACZ,QAAA,IAAI,CAAC;IAAE,YAAA,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;IAC9D,QAAA,OAAO,CAAC;gBAAE,IAAI;IACV,gBAAA,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI;IAAE,oBAAA,OAAO,CAAC,CAAC;IAC7J,gBAAA,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IAAE,oBAAA,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IACxC,gBAAA,QAAQ,EAAE,CAAC,CAAC,CAAC;IACT,oBAAA,KAAK,CAAC,CAAC;IAAC,oBAAA,KAAK,CAAC;4BAAE,CAAC,GAAG,EAAE,CAAC;4BAAC,MAAM;IAC9B,oBAAA,KAAK,CAAC;4BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IAAC,wBAAA,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACxD,oBAAA,KAAK,CAAC;4BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IAAC,wBAAA,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAAC,wBAAA,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;4BAAC,SAAS;IACjD,oBAAA,KAAK,CAAC;IAAE,wBAAA,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;IAAC,wBAAA,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;4BAAC,SAAS;IACjD,oBAAA;IACI,wBAAA,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;gCAAE,CAAC,GAAG,CAAC,CAAC;gCAAC,SAAS;IAAE,yBAAA;IAC5G,wBAAA,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IAAE,4BAAA,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;gCAAC,MAAM;IAAE,yBAAA;IACtF,wBAAA,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;IAAE,4BAAA,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCAAC,CAAC,GAAG,EAAE,CAAC;gCAAC,MAAM;IAAE,yBAAA;4BACrE,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;IAAE,4BAAA,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAAC,4BAAA,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gCAAC,MAAM;IAAE,yBAAA;4BACnE,IAAI,CAAC,CAAC,CAAC,CAAC;IAAE,4BAAA,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;IACtB,wBAAA,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;4BAAC,SAAS;IAC9B,iBAAA;oBACD,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC9B,aAAA;IAAC,YAAA,OAAO,CAAC,EAAE;IAAE,gBAAA,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAAC,CAAC,GAAG,CAAC,CAAC;IAAE,aAAA;IAAS,oBAAA;IAAE,gBAAA,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAAE,aAAA;IAC1D,QAAA,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IAAE,YAAA,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;YAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;SACpF;IACL,CAAC;IAEM,IAAI,eAAe,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAA;QAC9D,IAAI,EAAE,KAAK,SAAS;YAAE,EAAE,GAAG,CAAC,CAAC;QAC7B,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAA,EAAa,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC,KAAK,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAA;QACtB,IAAI,EAAE,KAAK,SAAS;YAAE,EAAE,GAAG,CAAC,CAAC;QAC7B,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;IAEa,SAAA,YAAY,CAAC,CAAC,EAAE,CAAC,EAAA;QAC7B,KAAK,IAAI,CAAC,IAAI,CAAC;IAAE,QAAA,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;IAAE,YAAA,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClH,CAAC;IAEK,SAAU,QAAQ,CAAC,CAAC,EAAA;QACtB,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAC9E,IAAA,IAAI,CAAC;IAAE,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,IAAA,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO;IAC1C,YAAA,IAAI,EAAE,YAAA;IACF,gBAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM;wBAAE,CAAC,GAAG,KAAK,CAAC,CAAC;IACnC,gBAAA,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;iBAC3C;aACJ,CAAC;IACF,IAAA,MAAM,IAAI,SAAS,CAAC,CAAC,GAAG,yBAAyB,GAAG,iCAAiC,CAAC,CAAC;IAC3F,CAAC;IAEe,SAAA,MAAM,CAAC,CAAC,EAAE,CAAC,EAAA;IACvB,IAAA,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC3D,IAAA,IAAI,CAAC,CAAC;IAAE,QAAA,OAAO,CAAC,CAAC;IACjB,IAAA,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACjC,IAAI;YACA,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI;IAAE,YAAA,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC9E,KAAA;IACD,IAAA,OAAO,KAAK,EAAE;IAAE,QAAA,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAAE,KAAA;IAC/B,YAAA;YACJ,IAAI;IACA,YAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IAAE,gBAAA,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpD,SAAA;IACO,gBAAA;IAAE,YAAA,IAAI,CAAC;oBAAE,MAAM,CAAC,CAAC,KAAK,CAAC;IAAE,SAAA;IACpC,KAAA;IACD,IAAA,OAAO,EAAE,CAAC;IACd,CAAC;IAED;aACgB,QAAQ,GAAA;IACpB,IAAA,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;IAC9C,QAAA,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,IAAA,OAAO,EAAE,CAAC;IACd,CAAC;IAED;aACgB,cAAc,GAAA;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;IAAE,QAAA,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACpF,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;YAC5C,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;gBAC7D,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACpB,IAAA,OAAO,CAAC,CAAC;IACb,CAAC;aAEe,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAA;IACxC,IAAA,IAAI,IAAI,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;IAAE,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBACjF,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE;IACpB,gBAAA,IAAI,CAAC,EAAE;IAAE,oBAAA,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBACrD,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACnB,aAAA;IACJ,SAAA;IACD,IAAA,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,CAAC;IAEK,SAAU,OAAO,CAAC,CAAC,EAAA;QACrB,OAAO,IAAI,YAAY,OAAO,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;aAEe,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAA;QAC3D,IAAI,CAAC,MAAM,CAAC,aAAa;IAAE,QAAA,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;IACvF,IAAA,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;IAC9D,IAAA,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,YAAc,EAAA,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACtH,SAAS,IAAI,CAAC,CAAC,EAAA,EAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAA,EAAI,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,EAAI,EAAA,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;IAC1I,IAAA,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI;YAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAAE,KAAA;IAAC,IAAA,OAAO,CAAC,EAAE;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAAE,KAAA,EAAE;QAClF,SAAS,IAAI,CAAC,CAAC,EAAA,EAAI,CAAC,CAAC,KAAK,YAAY,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;IACxH,IAAA,SAAS,OAAO,CAAC,KAAK,EAAA,EAAI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE;IAClD,IAAA,SAAS,MAAM,CAAC,KAAK,EAAA,EAAI,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE;IAClD,IAAA,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAA,EAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM;IAAE,QAAA,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACtF,CAAC;IAEK,SAAU,gBAAgB,CAAC,CAAC,EAAA;QAC9B,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,IAAA,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,YAAA,EAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5I,IAAA,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,EAAI,EAAA,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAI,EAAA,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;IACnJ,CAAC;IAEK,SAAU,aAAa,CAAC,CAAC,EAAA;QAC3B,IAAI,CAAC,MAAM,CAAC,aAAa;IAAE,QAAA,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;QACvF,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACnC,IAAA,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,YAAA,EAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACjN,SAAS,IAAI,CAAC,CAAC,EAAI,EAAA,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,EAAA,EAAI,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM,EAAI,EAAA,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;IAChK,IAAA,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAS,CAAC,EAAI,EAAA,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE;IAChI,CAAC;IAEe,SAAA,oBAAoB,CAAC,MAAM,EAAE,GAAG,EAAA;QAC5C,IAAI,MAAM,CAAC,cAAc,EAAE;IAAE,QAAA,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IAAE,KAAA;IAAM,SAAA;IAAE,QAAA,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;IAAE,KAAA;IAC/G,IAAA,OAAO,MAAM,CAAC;IAClB,CAAC;IAAA,CAAC;IAEF,IAAI,kBAAkB,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC,EAAA;IACnD,IAAA,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC,IAAI,UAAS,CAAC,EAAE,CAAC,EAAA;IACd,IAAA,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC,CAAC;IAEI,SAAU,YAAY,CAAC,GAAG,EAAA;IAC5B,IAAA,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU;IAAE,QAAA,OAAO,GAAG,CAAC;QACtC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,GAAG,IAAI,IAAI;YAAE,KAAK,IAAI,CAAC,IAAI,GAAG;IAAE,YAAA,IAAI,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAAE,gBAAA,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IACzI,IAAA,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,IAAA,OAAO,MAAM,CAAC;IAClB,CAAC;IAEK,SAAU,eAAe,CAAC,GAAG,EAAA;IAC/B,IAAA,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC5D,CAAC;IAEK,SAAU,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAA;IAC3D,IAAA,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;IAAE,QAAA,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;QAC7F,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;IAAE,QAAA,MAAM,IAAI,SAAS,CAAC,0EAA0E,CAAC,CAAC;IACnL,IAAA,OAAO,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClG,CAAC;IAEK,SAAU,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAA;QAClE,IAAI,IAAI,KAAK,GAAG;IAAE,QAAA,MAAM,IAAI,SAAS,CAAC,gCAAgC,CAAC,CAAC;IACxE,IAAA,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;IAAE,QAAA,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;QAC7F,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;IAAE,QAAA,MAAM,IAAI,SAAS,CAAC,yEAAyE,CAAC,CAAC;IAClL,IAAA,OAAO,CAAC,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;IAC9G;;AC3NA,QAAA,UAAA,kBAAA,YAAA;IAKE,IAAA,SAAA,UAAA,CAAsC,MAA6B,EAAA;YAAnE,IAQC,KAAA,GAAA,IAAA,CAAA;IARqC,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAuB;YAJ5D,IAAA,CAAA,MAAM,GAA6B,IAAIA,oBAAe,CAAC,KAAK,CAAC,CAAC;IAKnE,QAAA,IAAI,IAAI,CAAC,MAAM,YAAYC,eAAU,EAAE;IACrC,YAAA,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,YAAA;IACpB,gBAAA,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,aAAC,CAAC,CAAC;IACJ,SAAA;IAAM,aAAA;IACL,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,SAAA;SACF;IAEO,IAAA,UAAA,CAAA,SAAA,CAAA,WAAW,GAAX,YAAA;YAAA,IAkBP,KAAA,GAAA,IAAA,CAAA;IAjBC,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;IACjB,YAAA,IAAI,IAAI,CAAC,MAAM,YAAYA,eAAU,EAAE;IACrC,gBAAA,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,UAAC,MAAM,EAAA;IAC3B,oBAAA,KAAI,CAAC,OAAO,GAAGC,wBAAI,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAElD,oBAAA,IAAI,CAAC,KAAI,CAAC,OAAO,EAAE;IACjB,wBAAA,MAAM,IAAI,KAAK,CACb,qHAAqH,CACtH,CAAC;IACH,qBAAA;IACH,iBAAC,CAAC,CAAC;IACJ,aAAA;IAAM,iBAAA;IACL,gBAAA,IAAI,CAAC,OAAO,GAAGA,wBAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7D,aAAA;IACF,SAAA;YAED,OAAO,IAAI,CAAC,OAAO,CAAC;SACrB,CAAA;IAEM,IAAA,UAAA,CAAA,SAAA,CAAA,IAAI,GAAJ,UACL,KAAsB,EACtB,OAA2B,EAAA;IAE3B,QAAA,OAAOC,SAAI,CAAqB,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;SAC1E,CAAA;IAEM,IAAA,UAAA,CAAA,SAAA,CAAA,GAAG,GAAH,UACL,KAAsB,EACtB,OAA2B,EAAA;IAE3B,QAAA,OAAOA,SAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;SACrD,CAAA;IAEM,IAAA,UAAA,CAAA,SAAA,CAAA,MAAM,GAAN,UACL,KAAsB,EACtB,OAA2B,EAAA;IAE3B,QAAA,OAAOA,SAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;SACxD,CAAA;QAEM,UAAI,CAAA,SAAA,CAAA,IAAA,GAAJ,UAAK,OAA2B,EAAA;IACrC,QAAA,OAAOA,SAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;SAC/C,CAAA;IAEM,IAAA,UAAA,CAAA,SAAA,CAAA,KAAK,GAAL,UAAM,KAAK,EAAE,MAAW,EAAA;YAAxB,IAcN,KAAA,GAAA,IAAA,CAAA;IAdmB,QAAA,IAAA,MAAA,KAAA,KAAA,CAAA,EAAA,EAAA,MAAW,GAAA,EAAA,CAAA,EAAA;YAC7B,OAAO,IAAIF,eAAU,CAAC,UAAC,QAAQ,IAC7B,OAAA,KAAK,CAAC,SAAS,CAAC;IACd,YAAA,IAAI,EAAE,UAAO,KAAK,EAAA,EAAI,OAAA,SAAA,CAAA,KAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,YAAA;;;;;;gCAEA,OAAM,CAAA,CAAA,YAAA,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA,CAAA;;IAAxD,4BAAA,SAAS,GAAG,EAA4C,CAAA,IAAA,EAAA,CAAA;IAC9D,4BAAA,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;;;;IAEzB,4BAAA,QAAQ,CAAC,KAAK,CAAC,KAAG,CAAC,CAAC;;;;;IAGvB,aAAA,CAAA,GAAA;aACF,CAAC,CAAA,EAAA,CACH,CAAC;SACH,CAAA;;;IA1EU,mBAAA,UAAA,CAAA,IAAA,GAAA,SAAA,kBAAA,CAAA,CAAA,EAAA,EAAA,OAAA,KAAA,CAAA,IAAA,UAAU,yBAKD,QAAQ,CAAA,CAAA,CAAA,EAAA,CAAA;IALjB,mBAAA,UAAA,CAAA,KAAA,6BAAAG,aAAA,CAAA,kBAAA,CAAA,EAAA,KAAA,EAAA,UAAU,WAAV,UAAU,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAAV,UAAU,EAAA,CAAA;sBADtBC,aAAU;;;kCAMIC,SAAM;mCAAC,QAAQ,CAAA;;;;;AClB9B,QAAA,gBAAA,kBAAA,YAAA;IAAA,IAAA,SAAA,gBAAA,GAAA;;QACgB,gBAAO,CAAA,OAAA,GAAd,UAAe,MAAW,EAAA;YAC/B,OAAO;IACL,YAAA,QAAQ,EAAE,gBAAgB;IAC1B,YAAA,SAAS,EAAE;oBACT,UAAU;IACV,gBAAA;IACE,oBAAA,OAAO,EAAE,QAAQ;IACjB,oBAAA,QAAQ,EAAE,MAAM;IACjB,iBAAA;IACF,aAAA;aACF,CAAC;SACH,CAAA;;;uGAZU,gBAAgB,GAAA,CAAA,EAAA,CAAA;gHAAhB,gBAAgB,EAAA,CAAA,CAAA;IAFhB,mBAAA,gBAAA,CAAA,IAAA,6BAAAF,aAAA,CAAA,gBAAA,CAAA,EAAA,SAAA,EAAA,CAAC,UAAU,CAAC,EAAA,CAAA,CAAA;;2FAEZ,gBAAgB,EAAA,CAAA;sBAH5BG,WAAQ;IAAC,YAAA,IAAA,EAAA,CAAA;wBACR,SAAS,EAAE,CAAC,UAAU,CAAC;qBACxB,CAAA;;;;ICHD,IAAA,YAAA,kBAAA,YAAA;IAGE,IAAA,SAAA,YAAA,CAAY,KAAQ,EAAA;YAClB,IAAI,CAAC,OAAO,GAAG,IAAIP,oBAAe,CAAC,KAAK,CAAC,CAAC;SAC3C;IAED,IAAA,YAAA,CAAA,SAAA,CAAA,GAAG,GAAH,YAAA;IACE,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;SAChC,CAAA;QAED,YAAG,CAAA,SAAA,CAAA,GAAA,GAAH,UAAI,KAAQ,EAAA;IACV,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC1B,CAAA;QACF,OAAA,YAAA,CAAA;IAAA,CAAA,EAAA,CAAA;;ACMD,QAAA,UAAA,kBAAA,YAAA;QACE,SACU,UAAA,CAAA,KAAY,EACZ,KAA6C,EAAA;IAD7C,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAO;IACZ,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAwC;SACnD;IAEJ,IAAA,MAAA,CAAA,cAAA,CAAY,UAAO,CAAA,SAAA,EAAA,SAAA,EAAA;IAAnB,QAAA,GAAA,EAAA,YAAA;IACE,YAAA,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;aACnD;;;IAAA,KAAA,CAAA,CAAA;QAED,UAAG,CAAA,SAAA,CAAA,GAAA,GAAH,UAAI,IAAY,EAAA;;YACd,IAAI,CAAC,KAAK,CAAC,eAAe,EAAA,EAAA,GAAA,EAAA;gBACxB,EAAC,CAAA,IAAI,CAAC,KAAK,CAAA,GAAA,aAAA,CAAA,aAAA,CAAA,EAAA,EAAA,MAAA,CAAO,IAAI,CAAC,OAAO,CAAE,CAAA,EAAA,CAAA,IAAI,CAAC,CAAA;oBACrC,CAAC;SACJ,CAAA;IAED,IAAA,UAAA,CAAA,SAAA,CAAA,OAAO,GAAP,UAAQ,IAAY,EAAE,eAAuB,EAAA;;YAC3C,IAAI,CAAC,KAAK,CAAC,eAAe,EAAA,EAAA,GAAA,EAAA;gBACxB,EAAC,CAAA,IAAI,CAAC,KAAK,CAAG,GAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAC,WAAW,EAAA,EACzC,OAAA,WAAW,KAAK,IAAI,GAAG,eAAe,GAAG,WAAW,CAApD,EAAoD,CACrD;oBACD,CAAC;SACJ,CAAA;QAED,UAAM,CAAA,SAAA,CAAA,MAAA,GAAN,UAAO,EAAmB,EAAA;;YACxB,IAAI,CAAC,KAAK,CAAC,eAAe,EAAA,EAAA,GAAA,EAAA;IACxB,YAAA,EAAA,CAAC,IAAI,CAAC,KAAK,CAAG,GAAA,IAAI,CAAC,KAAK;IACrB,iBAAA,WAAW,EAAE,CACb,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,UAAC,WAAW,EAAE,KAAK,EAAA;IACrC,gBAAA,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;wBAC1B,OAAO,WAAW,KAAK,EAAE,CAAC;IAC3B,iBAAA;oBAED,OAAO,KAAK,KAAK,EAAE,CAAC;IACtB,aAAC,CAAC;oBACJ,CAAC;SACJ,CAAA;QAED,UAAG,CAAA,SAAA,CAAA,GAAA,GAAH,UAAI,OAAiB,EAAA;;YACnB,IAAI,CAAC,KAAK,CAAC,eAAe,EAAA,EAAA,GAAA,EAAA;IACxB,YAAA,EAAA,CAAC,IAAI,CAAC,KAAK,CAAA,GAAG,OAAO;oBACrB,CAAC;SACJ,CAAA;IAED,IAAA,UAAA,CAAA,SAAA,CAAA,OAAO,GAAP,YAAA;YAAA,IAIC,KAAA,GAAA,IAAA,CAAA;IAHC,QAAA,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,UAAC,IAAI,EAAA,EAC3D,OAAA,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,KAAI,CAAC,KAAK,CAAC,CAA/C,EAA+C,CAChD,CAAC;SACH,CAAA;QACF,OAAA,UAAA,CAAA;IAAA,CAAA,EAAA,EAAA;AAED,QAAA,mBAAA,kBAAA,YAAA;IACE,IAAA,SAAA,mBAAA,CAAoB,KAAY,EAAA;IAAZ,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAO;SAAI;IAEpC,IAAA,MAAA,CAAA,cAAA,CAAY,mBAAO,CAAA,SAAA,EAAA,SAAA,EAAA;IAAnB,QAAA,GAAA,EAAA,YAAA;gBACE,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,cAAc,IAAI,EAAE,CAAC;aACtD;;;IAAA,KAAA,CAAA,CAAA;IAED,IAAA,MAAA,CAAA,cAAA,CAAI,mBAAW,CAAA,SAAA,EAAA,aAAA,EAAA;IAAf,QAAA,GAAA,EAAA,YAAA;;IACE,YAAA,OAAO,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAW,CAAC;aACrC;;;IAAA,KAAA,CAAA,CAAA;IAED,IAAA,mBAAA,CAAA,SAAA,CAAA,mBAAmB,GAAnB,UAAoB,EAAmB,EAAE,UAAe,EAAA;YACtD,IAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAC,EAAE,EAAE,KAAK,EAAA;gBAChD,IAAI,EAAE,CAAC,SAAS,KAAK,EAAE,IAAI,KAAK,KAAK,EAAE,EAAE;IACvC,gBAAA,OACK,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAE,CACF,EAAA,UAAU,CACb,CAAA;IACH,aAAA;IACD,YAAA,OAAO,EAAE,CAAC;IACZ,SAAC,CAAC,CAAC;IAEH,QAAA,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;IACzB,YAAA,cAAc,EAAA,cAAA;IACf,SAAA,CAAC,CAAC;SACJ,CAAA;QAED,mBAAG,CAAA,SAAA,CAAA,GAAA,GAAH,UAAI,IAAY,EAAA;IACd,QAAA,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;IACzB,YAAA,cAAc,EAAE;IACd,gBAAA;IACE,oBAAA,SAAS,EAAE,IAAI;IAChB,iBAAA;IACF,aAAA;IACF,SAAA,CAAC,CAAC;SACJ,CAAA;QAED,mBAAM,CAAA,SAAA,CAAA,MAAA,GAAN,UAAO,IAAY,EAAA;IACjB,QAAA,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;gBACzB,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CACjC,UAAC,EAAa,EAAA;IAAX,gBAAA,IAAA,SAAS,GAAA,EAAA,CAAA,SAAA,CAAA;oBAAO,OAAA,SAAS,KAAK,IAAI,CAAA;IAAlB,aAAkB,CACtC;IACF,SAAA,CAAC,CAAC;SACJ,CAAA;QAED,mBAAG,CAAA,SAAA,CAAA,GAAA,GAAH,UAAI,cAAqB,EAAA;IACvB,QAAA,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;IACzB,YAAA,cAAc,EAAA,cAAA;IACf,SAAA,CAAC,CAAC;SACJ,CAAA;IAED,IAAA,mBAAA,CAAA,SAAA,CAAA,YAAY,GAAZ,UAAa,EAAmB,EAAE,SAA4B,EAAA;YAC5D,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAAE,EAAE,SAAS,EAAA,SAAA,EAAE,CAAC,CAAC;SAC7C,CAAA;IAED,IAAA,mBAAA,CAAA,SAAA,CAAA,cAAc,GAAd,UAAe,EAAmB,EAAE,WAAqC,EAAA;YACvE,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAAE,EAAE,WAAW,EAAA,WAAA,EAAE,CAAC,CAAC;SAC/C,CAAA;IAED,IAAA,mBAAA,CAAA,SAAA,CAAA,OAAO,GAAP,YAAA;YAAA,IAOC,KAAA,GAAA,IAAA,CAAA;IANC,QAAA,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,cAAc,IAAI,EAAE,EAAE,GAAG,CAAC,UAAC,EAAE,EAAA;IAC5D,YAAA,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACK,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA,EACzD,EAAE,CACL,CAAA;IACJ,SAAC,CAAC,CAAC;SACJ,CAAA;QACF,OAAA,mBAAA,CAAA;IAAA,CAAA,EAAA,EAAA;AAED,QAAA,KAAA,kBAAA,YAAA;IAGE,IAAA,SAAA,KAAA,CAAoB,KAAY,EAAA;IAAZ,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAO;YAFhC,IAAA,CAAA,YAAY,GAAG,IAAIA,oBAAe,CAAiB,EAAE,CAAC,CAAC;IAGrD,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,QAAA,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SACvE;QAEO,KAAwB,CAAA,SAAA,CAAA,wBAAA,GAAxB,UAAyB,YAA4B,EAAA;YAC3D,IAAM,KAAK,GAAG,YAAY;iBACvB,MAAM,CAAC,UAAC,EAAS,EAAA;IAAP,YAAA,IAAA,KAAK,GAAA,EAAA,CAAA,KAAA,CAAA;gBAAO,OAAA,KAAK,KAAK,MAAM,CAAA;IAAhB,SAAgB,CAAC;IACvC,aAAA,MAAM,CACL,UAAC,IAAI,EAAE,EAAa,EAAA;;oBAAX,EAAE,GAAA,EAAA,CAAA,EAAA,EAAE,KAAK,GAAA,EAAA,CAAA,KAAA,CAAA;IAAO,YAAA,wCAAM,IAAI,CAAA,GAAE,EAAA,GAAA,EAAA,EAAA,EAAA,CAAC,EAAE,CAAG,GAAA,KAAK,MAAG,EAAA;aAAA,EACnD,EAAE,CACkB,CAAC;YAEzB,IAAI,CAACQ,yBAAK,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE;gBAClC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,KAAK,EAAA,KAAA,EAAE,CAAC,CAAC;IACvC,SAAA;SACF,CAAA;IAEO,IAAA,KAAA,CAAA,SAAA,CAAA,iBAAiB,GAAjB,YAAA;YAAA,IAcP,KAAA,GAAA,IAAA,CAAA;IAbC,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CACpB,qDACK,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAA,CAAA,EAAA,MAAA,CAC7B,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,CAC/B,CAAA,EAAA,MAAA,CAAA,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,CAAA,CAAA,CACtC,GAAG,CAAe,UAAC,EAAe,EAAA;oBAAb,IAAI,GAAA,EAAA,CAAA,IAAA,EAAE,KAAK,GAAA,EAAA,CAAA,KAAA,CAAA;gBAChC,OAAO;IACL,gBAAA,EAAE,EAAE,IAAI;IACR,gBAAA,KAAK,EAAE,KAAI,CAAC,EAAE,CAAC,IAAI,CAAC;IACpB,gBAAA,KAAK,EAAA,KAAA;iBACN,CAAC;aACH,CAAC,CACH,CAAC;SACH,CAAA;IAED,IAAA,KAAA,CAAA,SAAA,CAAA,cAAc,GAAd,UAAe,EAAU,EAAE,KAAa,EAAA;IACtC,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CACpB,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,UAAC,WAAW,EAAA;IAC3C,YAAA,IAAI,WAAW,CAAC,EAAE,KAAK,EAAE,EAAE;IACzB,gBAAA,OACK,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,WAAW,CACd,EAAA,EAAA,KAAK,EAAA,KAAA,EACL,CAAA,CAAA;IACH,aAAA;IACD,YAAA,OAAO,WAAW,CAAC;aACpB,CAAC,CACH,CAAC;SACH,CAAA;IAED,IAAA,KAAA,CAAA,SAAA,CAAA,OAAO,GAAP,UAAQ,WAAmB,EAAE,gBAAwB,EAAA;IACnD,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CACpBC,oBAAe,CACb,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,EAC5B,WAAW,EACX,gBAAgB,CACjB,CACF,CAAC;SACH,CAAA;QAED,KAAE,CAAA,SAAA,CAAA,EAAA,GAAF,UAAG,MAAc,EAAA;IACf,QAAA,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,IAAI,EAAE,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC;SACjE,CAAA;QAED,KAAG,CAAA,SAAA,CAAA,GAAA,GAAH,UAAI,KAA2C,EAAA;YAC7C,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,KAAK,EAAA,KAAA,EAAE,CAAC,CAAC;SACvC,CAAA;IAED,IAAA,KAAA,CAAA,SAAA,CAAA,OAAO,GAAP,YAAA;IACE,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,EAAE;gBACjD,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,KAAyB,CAAC;IAC3D,SAAA;IAED,QAAA,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;SAC7D,CAAA;IAED,IAAA,KAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,YAAA;YACE,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,CAC1B,UAAC,IAAI,EAAE,EAAY,EAAA;;IAAZ,YAAA,IAAA,EAAA,GAAA,aAAY,EAAX,GAAG,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,KAAK,GAAA,EAAA,CAAA,CAAA,CAAA,CAAA;IAAM,YAAA,QAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,IAAI,CAAA,GAAE,EAAA,GAAA,EAAA,EAAA,EAAA,CAAC,GAAG,CAAG,GAAA,KAAK,MAAA,EAAG;aAAA,EACnD,EAAE,CACH,CAAC;SACH,CAAA;QACF,OAAA,KAAA,CAAA;IAAA,CAAA,EAAA,EAAA;AAED,QAAA,YAAA,kBAAA,YAAA;IACE,IAAA,SAAA,YAAA,CAAoB,KAAY,EAAA;IAAZ,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAO;SAAI;IAEpC,IAAA,MAAA,CAAA,cAAA,CAAY,YAAO,CAAA,SAAA,EAAA,SAAA,EAAA;IAAnB,QAAA,GAAA,EAAA,YAAA;;IAEE,YAAA,QAAQ,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,IAAI,EAAE,EAAoC;aACnF;;;IAAA,KAAA,CAAA,CAAA;IAED,IAAA,YAAA,CAAA,SAAA,CAAA,MAAM,GAAN,UAAO,EAAmB,EAAE,UAA2B,EAAA;YACrD,IAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAC,MAAM,EAAE,KAAK,EAAA;IAC7C,YAAA,IAAI,KAAK,KAAK,EAAE,IAAI,MAAM,CAAC,MAAM,KAAK,EAAE,IAAI,MAAM,CAAC,SAAS,KAAK,EAAE,EAAE;IACnE,gBAAA,OACK,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,MAAM,CACN,EAAA,UAAU,CACb,CAAA;IACH,aAAA;IACD,YAAA,OAAO,MAAM,CAAC;IAChB,SAAC,CAAC,CAAC;IAEH,QAAA,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;IACzB,YAAA,OAAO,EAAE,OAAmB;IAC7B,SAAA,CAAC,CAAC;SACJ,CAAA;QAED,YAAG,CAAA,SAAA,CAAA,GAAA,GAAH,UAAI,MAAc,EAAA;IAChB,QAAA,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;IACzB,YAAA,OAAO,yCAAM,IAAI,CAAC,OAAO,CAAA,CAAA,EAAA,CAAE,MAAM,CAAC,CAAA;IACnC,SAAA,CAAC,CAAC;SACJ,CAAA;QAED,YAAM,CAAA,SAAA,CAAA,MAAA,GAAN,UAAO,EAAmB,EAAA;IACxB,QAAA,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAC,MAAM,EAAE,KAAK,EAAA;IACzC,gBAAA,IAAI,MAAM,CAAC,MAAM,KAAK,EAAE,IAAI,MAAM,CAAC,SAAS,KAAK,EAAE,IAAI,KAAK,KAAK,EAAE,EAAE;IACnE,oBAAA,OAAO,KAAK,CAAC;IACd,iBAAA;IAED,gBAAA,OAAO,IAAI,CAAC;IACd,aAAC,CAAC;IACH,SAAA,CAAC,CAAC;SACJ,CAAA;QAED,YAAG,CAAA,SAAA,CAAA,GAAA,GAAH,UAAI,OAAiB,EAAA;IACnB,QAAA,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;IACzB,YAAA,OAAO,EAAA,OAAA;IACR,SAAA,CAAC,CAAC;SACJ,CAAA;IAED,IAAA,YAAA,CAAA,SAAA,CAAA,OAAO,GAAP,UAAQ,IAAY,EAAE,eAAuB,EAAA;IAC3C,QAAA,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAC,MAAM,EAAA;;IAC/B,gBAAA,IAAM,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,QAAQ,GAAG,WAAW,CAAC;oBACrD,OAAO,MAAM,CAAC,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI;0BAEjD,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,MAAM,CACT,GAAA,EAAA,GAAA,EAAA,EAAA,EAAC,CAAA,KAAK,CAAG,GAAA,eAAe,MAE5B,GAAE,MAAM,CAAC;IACb,aAAC,CAAC;IACH,SAAA,CAAC,CAAC;SACJ,CAAA;IAED,IAAA,YAAA,CAAA,SAAA,CAAA,OAAO,GAAP,YAAA;YAAA,IAcC,KAAA,GAAA,IAAA,CAAA;IAbC,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAC,MAAM,EAAA;IAC7B,YAAA,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACK,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,EAAE;oBAClE,YAAY;oBACZ,UAAU;IACX,aAAA,CAAC,CAAA,EAAA,EACF,SAAS,EAAE,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CACjD,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,EACjC,CAAC,YAAY,EAAE,UAAU,CAAC,CAC3B,EACE,CAAA,EAAA,MAAM,CACT,CAAA;IACJ,SAAC,CAAC,CAAC;SACJ,CAAA;QACF,OAAA,YAAA,CAAA;IAAA,CAAA,EAAA;;AC3SWC,gCAOX;IAPD,CAAA,UAAY,UAAU,EAAA;IACpB,IAAA,UAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;IACrB,IAAA,UAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;IACzB,IAAA,UAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;IACrB,IAAA,UAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC,CAAA;IACjC,IAAA,UAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;IACnB,IAAA,UAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;IACjB,CAAC,EAPWA,kBAAU,KAAVA,kBAAU,GAOrB,EAAA,CAAA,CAAA,CAAA;AAQD,QAAA,KAAA,kBAAA,UAAA,MAAA,EAAA;QAA2B,SAAwB,CAAA,KAAA,EAAA,MAAA,CAAA,CAAA;QAQjD,SACS,KAAA,CAAA,IAAU,EACT,eAA0D,EAAA;IAA1D,QAAA,IAAA,eAAA,KAAA,KAAA,CAAA,EAAA,EAAA,eAAqC,GAAA,UAAA,QAAQ,IAAK,OAAA,QAAQ,GAAA,CAAA,EAAA;YAFpE,IAIE,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,EAAE,CAAC,IAEV,IAAA,CAAA;IALQ,QAAA,KAAI,CAAA,IAAA,GAAJ,IAAI,CAAM;IACT,QAAA,KAAe,CAAA,eAAA,GAAf,eAAe,CAA2C;YAGlE,KAAI,CAAC,IAAI,EAAE,CAAC;;SACb;IAEO,IAAA,KAAA,CAAA,SAAA,CAAA,IAAI,GAAJ,YAAA;IACN,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,UAAU,CAAC,IAAI,EAAEA,kBAAU,CAAC,QAAQ,CAAC,CAAC;IAC1D,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,IAAI,EAAEA,kBAAU,CAAC,UAAU,CAAC,CAAC;IAC9D,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,UAAU,CAAC,IAAI,EAAEA,kBAAU,CAAC,QAAQ,CAAC,CAAC;YAC1D,IAAI,CAAC,cAAc,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;SAC9B,CAAA;IAED,IAAA,KAAA,CAAA,SAAA,CAAA,WAAW,GAAX,YAAA;YACE,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;SACtC,CAAA;QAED,KAAQ,CAAA,SAAA,CAAA,QAAA,GAAR,UAAS,KAAiB,EAAA;YACxB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;SAC/E,CAAA;QAED,KAAe,CAAA,SAAA,CAAA,eAAA,GAAf,UAAgB,YAAiC,EAAA;IAC/C,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,IAAI,CAAC,eAAe,CAEb,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAA,EACvB,YAAY,CAAA,EAEjB,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EACvB,IAAI,CACL,CACF,CAAC;SACH,CAAA;QAED,KAAQ,CAAA,SAAA,CAAA,QAAA,GAAR,UAAS,KAAa,EAAA;YACpB,IAAI,CAAC,eAAe,CAAC,EAAE,KAAK,EAAA,KAAA,EAAE,CAAC,CAAC;SACjC,CAAA;IAED,IAAA,KAAA,CAAA,SAAA,CAAA,SAAS,GAAT,YAAA;IACE,QAAA,OAAOC,mBAAc,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;SAC3C,CAAA;QACF,OAAA,KAAA,CAAA;IAAA,CArDD,CAA2B,YAAwB,CAqDlD;;AClED,QAAA,WAAA,kBAAA,YAAA;IAOE,IAAA,SAAA,WAAA,CAA4B,IAAU,EAAA;IAAV,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAM;YACpC,IAAI,CAAC,OAAO,EAAE,CAAC;SAChB;IAEO,IAAA,WAAA,CAAA,SAAA,CAAA,OAAO,GAAP,YAAA;YAAA,IAkBP,KAAA,GAAA,IAAA,CAAA;IAjBC,QAAA,IAAM,aAAa,IACjB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,YAAY,CAAC,CAC9C,CAAC;IAEF,QAAA,IAAI,CAAC,QAAQ,GAAmB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC5E,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAC5D,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,UAAC,EAAQ,EAAA;IAAN,YAAA,IAAA,IAAI,GAAA,EAAA,CAAA,IAAA,CAAA;gBAAO,OAAA,IAAI,KAAK,MAAM,CAAA;IAAf,SAAe,CAAC,CAAC;YACtE,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC,MAAM,CAAC,UAAC,EAAQ,EAAA;IAAN,YAAA,IAAA,IAAI,GAAA,EAAA,CAAA,IAAA,CAAA;gBAAO,OAAA,IAAI,KAAK,MAAM,CAAA;IAAf,SAAe,CAAC,CAAC;IAC1E,QAAA,IAAI,CAAC,OAAO,GAAG,aAAA,CAAA,aAAA,CAAA,EAAA,EAAA,MAAA,CAAI,aAAa,CAAA,CAAA,EAAA,MAAA,CAAK,IAAI,CAAC,QAAQ,CAAA,CAAA,CAAE,GAAG,CAAC,UAAC,MAAM,EAAA;gBAC7D,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACK,MAAM,CAAA,EAAA,EACT,SAAS,EAAE,KAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,IAAI,EAAE;wBACzD,YAAY;wBACZ,UAAU;qBACX,CAAC,EACF,CAAA,CAAA;IACJ,SAAC,CAAC,CAAC;SACJ,CAAA;QACF,OAAA,WAAA,CAAA;IAAA,CAAA,EAAA;;AC9BD,QAAA,WAAA,kBAAA,UAAA,MAAA,EAAA;QAAiC,SAA0B,CAAA,WAAA,EAAA,MAAA,CAAA,CAAA;IACzD,IAAA,SAAA,WAAA,CAAY,WAAyB,EAAA;IACnC,QAAA,OAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,WAAW,CAAC,IAAA,IAAA,CAAA;SACnB;QAED,WAAQ,CAAA,SAAA,CAAA,QAAA,GAAR,UACE,WAAmB,EACnB,gBAAwB,EACxB,UAAuB,EACvB,eAA4B,EAAA;YAE5B,IAAI,CAAC,OAAO,CAAC,IAAI,CACfC,kBAAa,CACX,IAAI,CAAC,GAAG,EAAE,EACV,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,eAAe,CAChB,CACF,CAAC;SACH,CAAA;QAED,WAAmB,CAAA,SAAA,CAAA,mBAAA,GAAnB,UAAoB,gBAAyB,EAAA;YAC3C,IAAI,CAAC,OAAO,CAAC,IAAI,CACZ,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,GAAG,EAAE,CAAA,EAAA,EACb,gBAAgB,EAAA,gBAAA,EAAA,CAAA,CAChB,CAAC;SACJ,CAAA;QACF,OAAA,WAAA,CAAA;IAAA,CA5BD,CAAiC,YAA0B,CA4B1D;;AC/BD,QAAA,SAAA,kBAAA,UAAA,MAAA,EAAA;QAA+B,SAAwB,CAAA,SAAA,EAAA,MAAA,CAAA,CAAA;IACrD,IAAA,SAAA,SAAA,CAAY,KAAK,EAAA;IACf,QAAA,OAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,KAAK,CAAC,IAAA,IAAA,CAAA;SACb;QACF,OAAA,SAAA,CAAA;IAAA,CAJD,CAA+B,YAAwB,CAItD;;ACkBD,QAAA,mBAAA,kBAAA,YAAA;IADA,IAAA,SAAA,mBAAA,GAAA;YAAA,IA2JC,KAAA,GAAA,IAAA,CAAA;IAtJS,QAAA,IAAkB,CAAA,kBAAA,GAAY,KAAK,CAAC;IAGpC,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAIC,YAAO,EAAO,CAAC;YAEtC,IAAA,CAAA,WAAW,GAAG,IAAI,OAAO,CAChC,UAAC,OAAO,EAAK,EAAA,QAAC,KAAI,CAAC,mBAAmB,GAAG,OAAO,EAAnC,EAAoC,CAClD,CAAC;YACO,IAAA,CAAA,KAAK,GAAG,IAAI,OAAO,CAC1B,UAAC,OAAO,EAAK,EAAA,QAAC,KAAI,CAAC,aAAa,GAAG,OAAO,EAA7B,EAA8B,CAC5C,CAAC;YACO,IAAA,CAAA,KAAK,GAAG,IAAIb,oBAAe,CAAqB,EAAE,CAAC,CAAC;SA2I9D;IAtIe,IAAA,mBAAA,CAAA,SAAA,CAAA,IAAI,GAAJ,YAAA;;oBAoDb,KAAA,GAAA,IAAA,CAAA;;oBAnDC,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;oBACzC,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC;oBAEvC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,UAAC,IAAI,EAAA;IAC/B,oBAAA,KAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IAElB,oBAAA,KAAI,CAAC,MAAM,GAAG,IAAI,KAAK,CACrB,KAAI,CAAC,KAAK,EACV,KAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAI,CAAC,CACnC,CAAC;IACF,oBAAA,KAAI,CAAC,aAAa,CAAC,KAAI,CAAC,MAAM,CAAC,CAAC;wBAChC,KAAI,CAAC,mBAAmB,CAAC,IAAI,WAAW,CAAC,KAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACxD,iBAAC,CAAC,CAAC;oBAEH,IAAI,CAAC,SAAS,EAAE,CAAC;IAEjB,gBAAA,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;IAC5B,oBAAA,IAAI,CAAC,iBAAiB;IACnB,yBAAA,IAAI,CACHc,mBAAS,CAAC,UAAC,IAAI,EAAA;IACb,wBAAA,OAAOC,kBAAa,CAAC;IACnB,4BAAA,KAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAACC,oBAAU,CAAC,UAAC,KAAK,EAAA;IAClD,gCAAA,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrB,gCAAA,OAAOC,OAAE,CAAC,IAAI,CAAC,CAAC;IAClB,6BAAC,CAAC,CAAC;IACH,4BAAAA,OAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC;IACnC,yBAAA,CAAC,CAAC;IACL,qBAAC,CAAC,CACH;6BACA,SAAS,CACR,UAAC,EAA2C,EAAA;IAA3C,wBAAA,IAAA,EAAA,GAAA,aAA2C,EAA1C,cAAc,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,yBAAyB,GAAA,EAAA,CAAA,CAAA,CAAA,CAAA;4BACzC,IAAI,CAAC,cAAc,EAAE;gCACnB,OAAO;IACR,yBAAA;4BAEO,IAAA,UAAU,GAAiB,cAAc,CAAA,UAA/B,EAAE,UAAU,GAAK,cAAc,CAAA,UAAnB,CAAoB;IAElD,wBAAA,KAAI,CAAC,WAAW,CAAC,GAAG,CAClBC,cAAS,CAAC,wBAAwB,CAChC,UAAU,EACV,KAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CACvB,CACF,CAAC;IACF,wBAAA,IAAI,yBAAyB,EAAE;IAC7B,4BAAA,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CACnB,UAAU,CAAC,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC,EAAK,EAAA,QAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,CAAC,CAAA,EAAK,CAAC,CAAA,EAAb,EAAgB,EAAE,EAAE,CAAC,CAClD,CAAC;IACH,yBAAA;IACH,qBAAC,CACF,CAAC;IACL,iBAAA;;;IACF,SAAA,CAAA,CAAA;SAAA,CAAA;IAEO,IAAA,mBAAA,CAAA,SAAA,CAAA,kBAAkB,GAAlB,UAAmB,QAAQ,EAAE,QAAQ,EAAA;;IACrC,QAAA,IAAA,KAIFC,sBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE;gBACxC,IAAI,EAAE,IAAI,CAAC,KAAK;IAChB,YAAA,kBAAkB,EAAE,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,QAAQ,aAAR,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAR,QAAQ,CAAE,cAAc,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAG,CAAC,CAAC,0CAAE,WAAW;aAC/D,CAAC,EANA,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,yBAAyB,GAAA,EAAA,CAAA,yBAAA,EAClB,cAAc,GAAA,EAAA,CAAA,KAIrB,CAAC;IAEH,QAAA,IAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB;IACnC,cAAE,QAAQ;IACV,cAAE,cAAc,IAAI,QAAQ,CAAC;YAE/B,IAAIR,mBAAc,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;IACrD,YAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;IAC1B,gBAAA,yBAAyB,EAAE,OAAO,CAAC,yBAAyB,CAAC;IAC7D,gBAAA,KAAK,EAAA,KAAA;IACN,aAAA,CAAC,CAAC;IACJ,SAAA;IAED,QAAA,IAAI,CAAC,IAAI,CAAC,kBAAkB,IAAI,SAAS,EAAE;IACzC,YAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC/B,SAAA;IAED,QAAA,OAAO,KAAK,CAAC;SACd,CAAA;QAED,mBAAa,CAAA,SAAA,CAAA,aAAA,GAAb,UAAc,UAAsB,EAAA;IAClC,QAAA,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC;YACxB,IAAI,CAAC,IAAI,EAAE,CAAC;SACb,CAAA;IAEO,IAAA,mBAAA,CAAA,SAAA,CAAA,SAAS,GAAT,YAAA;YAAA,IAiBP,KAAA,GAAA,IAAA,CAAA;YAhBC,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG,EAAA;IAC3C,YAAA,IAAI,KAAI,CAAC,GAAG,CAAC,YAAY,YAAY,EAAE;oBACrC,KAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,UAAC,KAAK,EAAA;;wBAChC,OAAA,KAAI,CAAC,eAAe,EAAA,EAAA,GAAA,EAAA;4BAClB,EAAC,CAAA,GAAG,IAAG,KAAK;IACZ,wBAAA,EAAA,EAAA,CAAA;IAFF,iBAEE,CACH,CAAC;IACH,aAAA;IACH,SAAC,CAAC,CAAC;IACH,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAC,KAAK,EAAA;IACpB,YAAA,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,UAAC,SAAS,EAAA;oBAChC,KAAI,CAAC,eAAe,CAAC;IACnB,oBAAA,KAAK,EAAE,SAAS;IACjB,iBAAA,CAAC,CAAC;IACL,aAAC,CAAC,CAAC;IACL,SAAC,CAAC,CAAC;SACJ,CAAA;QAEK,mBAAW,CAAA,SAAA,CAAA,WAAA,GAAX,UAAY,KAAK,EAAA;;oBAYtB,KAAA,GAAA,IAAA,CAAA;;;;iCAXK,KAAK,CAAC,KAAK,EAAX,OAAW,CAAA,CAAA,YAAA,CAAA,CAAA,CAAA;4BACZ,OAAM,CAAA,CAAA,YAAA,IAAI,CAAC,KAAK,CAAA,CAAA;;4BAAjB,CAAC,EAAA,CAAA,IAAA,EAAgB,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;;;4BAG3C,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAC,EAAY,EAAA;IAAZ,4BAAA,IAAA,EAAA,GAAA,aAAY,EAAX,GAAG,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,KAAK,GAAA,EAAA,CAAA,CAAA,CAAA,CAAA;IACxC,4BAAA,IAAI,KAAI,CAAC,GAAG,CAAC,YAAY,YAAY,EAAE;oCACrC,KAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACtB,6BAAA;IACH,yBAAC,CAAC,CAAC;4BAEH,IAAI,CAAC,SAAS,EAAE,CAAC;;;;IAClB,SAAA,CAAA,CAAA;SAAA,CAAA;QAED,mBAAe,CAAA,SAAA,CAAA,eAAA,GAAf,UAAgB,YAAY,EAAA;YAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,iCACV,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CACrB,EAAA,YAAY,EACf,CAAC;SACJ,CAAA;IAED,IAAA,mBAAA,CAAA,SAAA,CAAA,iBAAiB,GAAjB,YAAA;IACE,QAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;SACjC,CAAA;IAED,IAAA,mBAAA,CAAA,SAAA,CAAA,gBAAgB,GAAhB,YAAA;IACE,QAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;SAChC,CAAA;;;6GAzJU,mBAAmB,GAAA,CAAA,EAAA,CAAA;IAAnB,mBAAA,mBAAA,CAAA,KAAA,6BAAAP,aAAA,CAAA,kBAAA,CAAA,EAAA,KAAA,EAAA,mBAAmB,WAAnB,mBAAmB,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAAnB,mBAAmB,EAAA,CAAA;sBAD/BC,aAAU;;;;ICzBX;;IAEG;;ICFH;;ICAA;;IAEG;;;;;;;;;;;;;;;;;;;;"}
@@ -1,69 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { Injectable, Inject } from '@angular/core';
3
- import { Observable, from, BehaviorSubject } from 'rxjs';
4
- import cube from '@cubejs-client/core';
5
- import * as i0 from "@angular/core";
6
- export class CubeClient {
7
- constructor(config) {
8
- this.config = config;
9
- this.ready$ = new BehaviorSubject(false);
10
- if (this.config instanceof Observable) {
11
- this.config.subscribe(() => {
12
- this.ready$.next(true);
13
- });
14
- }
15
- else {
16
- this.ready$.next(true);
17
- }
18
- }
19
- apiInstance() {
20
- if (!this.cubeApi) {
21
- if (this.config instanceof Observable) {
22
- this.config.subscribe((config) => {
23
- this.cubeApi = cube(config.token, config.options);
24
- if (!this.cubeApi) {
25
- throw new Error('Cannot create CubeApi instance. Please check that the config is passed correctly and contains all required options.');
26
- }
27
- });
28
- }
29
- else {
30
- this.cubeApi = cube(this.config.token, this.config.options);
31
- }
32
- }
33
- return this.cubeApi;
34
- }
35
- load(query, options) {
36
- return from(this.apiInstance().load(query, options));
37
- }
38
- sql(query, options) {
39
- return from(this.apiInstance().sql(query, options));
40
- }
41
- dryRun(query, options) {
42
- return from(this.apiInstance().dryRun(query, options));
43
- }
44
- meta(options) {
45
- return from(this.apiInstance().meta(options));
46
- }
47
- watch(query, params = {}) {
48
- return new Observable((observer) => query.subscribe({
49
- next: (query) => __awaiter(this, void 0, void 0, function* () {
50
- try {
51
- const resultSet = yield this.apiInstance().load(query, params);
52
- observer.next(resultSet);
53
- }
54
- catch (err) {
55
- observer.error(err);
56
- }
57
- }),
58
- }));
59
- }
60
- }
61
- /** @nocollapse */ CubeClient.ɵfac = function CubeClient_Factory(t) { return new (t || CubeClient)(i0.ɵɵinject('config')); };
62
- /** @nocollapse */ CubeClient.ɵprov = /** @pureOrBreakMyCode */ i0.ɵɵdefineInjectable({ token: CubeClient, factory: CubeClient.ɵfac });
63
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CubeClient, [{
64
- type: Injectable
65
- }], function () { return [{ type: undefined, decorators: [{
66
- type: Inject,
67
- args: ['config']
68
- }] }]; }, null); })();
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3pELE9BQU8sSUFTTixNQUFNLHFCQUFxQixDQUFDOztBQVE3QixNQUFNLE9BQU8sVUFBVTtJQUtyQixZQUFzQyxNQUE2QjtRQUE3QixXQUFNLEdBQU4sTUFBTSxDQUF1QjtRQUo1RCxXQUFNLEdBQTZCLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBS25FLElBQUksSUFBSSxDQUFDLE1BQU0sWUFBWSxVQUFVLEVBQUU7WUFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN6QixDQUFDLENBQUMsQ0FBQztTQUNKO2FBQU07WUFDTCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN4QjtJQUNILENBQUM7SUFFTyxXQUFXO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2pCLElBQUksSUFBSSxDQUFDLE1BQU0sWUFBWSxVQUFVLEVBQUU7Z0JBQ3JDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7b0JBQy9CLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUVsRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTt3QkFDakIsTUFBTSxJQUFJLEtBQUssQ0FDYixxSEFBcUgsQ0FDdEgsQ0FBQztxQkFDSDtnQkFDSCxDQUFDLENBQUMsQ0FBQzthQUNKO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDN0Q7U0FDRjtRQUVELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRU0sSUFBSSxDQUNULEtBQXNCLEVBQ3RCLE9BQTJCO1FBRTNCLE9BQU8sSUFBSSxDQUFxQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFTSxHQUFHLENBQ1IsS0FBc0IsRUFDdEIsT0FBMkI7UUFFM0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRU0sTUFBTSxDQUNYLEtBQXNCLEVBQ3RCLE9BQTJCO1FBRTNCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVNLElBQUksQ0FBQyxPQUEyQjtRQUNyQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVNLEtBQUssQ0FBQyxLQUFLLEVBQUUsTUFBTSxHQUFHLEVBQUU7UUFDN0IsT0FBTyxJQUFJLFVBQVUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQ2pDLEtBQUssQ0FBQyxTQUFTLENBQUM7WUFDZCxJQUFJLEVBQUUsQ0FBTyxLQUFLLEVBQUUsRUFBRTtnQkFDcEIsSUFBSTtvQkFDRixNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO29CQUMvRCxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2lCQUMxQjtnQkFBQyxPQUFNLEdBQUcsRUFBRTtvQkFDWCxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUNyQjtZQUVILENBQUMsQ0FBQTtTQUNGLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7dUZBMUVVLFVBQVUsY0FLRCxRQUFROytGQUxqQixVQUFVLFdBQVYsVUFBVTt1RkFBVixVQUFVO2NBRHRCLFVBQVU7O3NCQU1JLE1BQU07dUJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZnJvbSwgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgY3ViZSwge1xuICBDdWJlQXBpLFxuICBDdWJlQXBpT3B0aW9ucyxcbiAgRHJ5UnVuUmVzcG9uc2UsXG4gIExvYWRNZXRob2RPcHRpb25zLFxuICBNZXRhLFxuICBRdWVyeSxcbiAgUmVzdWx0U2V0LFxuICBTcWxRdWVyeSxcbn0gZnJvbSAnQGN1YmVqcy1jbGllbnQvY29yZSc7XG5cbmV4cG9ydCB0eXBlIEN1YmVDb25maWcgPSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIG9wdGlvbnM/OiBDdWJlQXBpT3B0aW9ucztcbn07XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDdWJlQ2xpZW50IHtcbiAgcHVibGljIHJlYWR5JDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgcHJpdmF0ZSBjdWJlQXBpOiBDdWJlQXBpO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoJ2NvbmZpZycpIHByaXZhdGUgY29uZmlnOiBhbnkgfCBPYnNlcnZhYmxlPGFueT4pIHtcbiAgICBpZiAodGhpcy5jb25maWcgaW5zdGFuY2VvZiBPYnNlcnZhYmxlKSB7XG4gICAgICB0aGlzLmNvbmZpZy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnJlYWR5JC5uZXh0KHRydWUpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVhZHkkLm5leHQodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhcGlJbnN0YW5jZSgpOiBDdWJlQXBpIHtcbiAgICBpZiAoIXRoaXMuY3ViZUFwaSkge1xuICAgICAgaWYgKHRoaXMuY29uZmlnIGluc3RhbmNlb2YgT2JzZXJ2YWJsZSkge1xuICAgICAgICB0aGlzLmNvbmZpZy5zdWJzY3JpYmUoKGNvbmZpZykgPT4ge1xuICAgICAgICAgIHRoaXMuY3ViZUFwaSA9IGN1YmUoY29uZmlnLnRva2VuLCBjb25maWcub3B0aW9ucyk7XG5cbiAgICAgICAgICBpZiAoIXRoaXMuY3ViZUFwaSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICAnQ2Fubm90IGNyZWF0ZSBDdWJlQXBpIGluc3RhbmNlLiBQbGVhc2UgY2hlY2sgdGhhdCB0aGUgY29uZmlnIGlzIHBhc3NlZCBjb3JyZWN0bHkgYW5kIGNvbnRhaW5zIGFsbCByZXF1aXJlZCBvcHRpb25zLidcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY3ViZUFwaSA9IGN1YmUodGhpcy5jb25maWcudG9rZW4sIHRoaXMuY29uZmlnLm9wdGlvbnMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmN1YmVBcGk7XG4gIH1cblxuICBwdWJsaWMgbG9hZChcbiAgICBxdWVyeTogUXVlcnkgfCBRdWVyeVtdLFxuICAgIG9wdGlvbnM/OiBMb2FkTWV0aG9kT3B0aW9uc1xuICApOiBPYnNlcnZhYmxlPFJlc3VsdFNldD4ge1xuICAgIHJldHVybiBmcm9tKDxQcm9taXNlPFJlc3VsdFNldD4+dGhpcy5hcGlJbnN0YW5jZSgpLmxvYWQocXVlcnksIG9wdGlvbnMpKTtcbiAgfVxuXG4gIHB1YmxpYyBzcWwoXG4gICAgcXVlcnk6IFF1ZXJ5IHwgUXVlcnlbXSxcbiAgICBvcHRpb25zPzogTG9hZE1ldGhvZE9wdGlvbnNcbiAgKTogT2JzZXJ2YWJsZTxTcWxRdWVyeT4ge1xuICAgIHJldHVybiBmcm9tKHRoaXMuYXBpSW5zdGFuY2UoKS5zcWwocXVlcnksIG9wdGlvbnMpKTtcbiAgfVxuXG4gIHB1YmxpYyBkcnlSdW4oXG4gICAgcXVlcnk6IFF1ZXJ5IHwgUXVlcnlbXSxcbiAgICBvcHRpb25zPzogTG9hZE1ldGhvZE9wdGlvbnNcbiAgKTogT2JzZXJ2YWJsZTxEcnlSdW5SZXNwb25zZT4ge1xuICAgIHJldHVybiBmcm9tKHRoaXMuYXBpSW5zdGFuY2UoKS5kcnlSdW4ocXVlcnksIG9wdGlvbnMpKTtcbiAgfVxuXG4gIHB1YmxpYyBtZXRhKG9wdGlvbnM/OiBMb2FkTWV0aG9kT3B0aW9ucyk6IE9ic2VydmFibGU8TWV0YT4ge1xuICAgIHJldHVybiBmcm9tKHRoaXMuYXBpSW5zdGFuY2UoKS5tZXRhKG9wdGlvbnMpKTtcbiAgfVxuXG4gIHB1YmxpYyB3YXRjaChxdWVyeSwgcGFyYW1zID0ge30pOiBPYnNlcnZhYmxlPFJlc3VsdFNldD4ge1xuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXIpID0+XG4gICAgICBxdWVyeS5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiBhc3luYyAocXVlcnkpID0+IHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0U2V0ID0gYXdhaXQgdGhpcy5hcGlJbnN0YW5jZSgpLmxvYWQocXVlcnksIHBhcmFtcyk7XG4gICAgICAgICAgICBvYnNlcnZlci5uZXh0KHJlc3VsdFNldCk7XG4gICAgICAgICAgfSBjYXRjaChlcnIpIHtcbiAgICAgICAgICAgIG9ic2VydmVyLmVycm9yKGVycik7XG4gICAgICAgICAgfVxuXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -1,20 +0,0 @@
1
- export class BuilderMeta {
2
- constructor(meta) {
3
- this.meta = meta;
4
- this.mapMeta();
5
- }
6
- mapMeta() {
7
- const allDimensions = (this.meta.membersForQuery(null, 'dimensions'));
8
- this.measures = this.meta.membersForQuery(null, 'measures');
9
- this.segments = this.meta.membersForQuery(null, 'segments');
10
- this.dimensions = allDimensions.filter(({ type }) => type !== 'time');
11
- this.timeDimensions = allDimensions.filter(({ type }) => type === 'time');
12
- this.filters = [...allDimensions, ...this.measures].map((member) => {
13
- return Object.assign(Object.assign({}, member), { operators: this.meta.filterOperatorsForMember(member.name, [
14
- 'dimensions',
15
- 'measures',
16
- ]) });
17
- });
18
- }
19
- }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRlci1tZXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3F1ZXJ5LWJ1aWxkZXIvYnVpbGRlci1tZXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE1BQU0sT0FBTyxXQUFXO0lBT3RCLFlBQTRCLElBQVU7UUFBVixTQUFJLEdBQUosSUFBSSxDQUFNO1FBQ3BDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRU8sT0FBTztRQUNiLE1BQU0sYUFBYSxHQUFxQixDQUN0QyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQzlDLENBQUM7UUFFRixJQUFJLENBQUMsUUFBUSxHQUFtQixJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDNUUsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxjQUFjLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksS0FBSyxNQUFNLENBQUMsQ0FBQztRQUMxRSxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsR0FBRyxhQUFhLEVBQUUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDakUsdUNBQ0ssTUFBTSxLQUNULFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7b0JBQ3pELFlBQVk7b0JBQ1osVUFBVTtpQkFDWCxDQUFDLElBQ0Y7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIE1ldGEsXG4gIFRDdWJlRGltZW5zaW9uLFxuICBUQ3ViZU1lYXN1cmUsXG4gIFRDdWJlTWVtYmVyLFxufSBmcm9tICdAY3ViZWpzLWNsaWVudC9jb3JlJztcblxuZXhwb3J0IGNsYXNzIEJ1aWxkZXJNZXRhIHtcbiAgbWVhc3VyZXM6IFRDdWJlTWVhc3VyZVtdO1xuICBkaW1lbnNpb25zOiBUQ3ViZURpbWVuc2lvbltdO1xuICBzZWdtZW50czogVEN1YmVNZW1iZXJbXTtcbiAgdGltZURpbWVuc2lvbnM6IFRDdWJlRGltZW5zaW9uW107XG4gIGZpbHRlcnM6IEFycmF5PFRDdWJlTWVhc3VyZSB8IFRDdWJlRGltZW5zaW9uPjtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgbWV0YTogTWV0YSkge1xuICAgIHRoaXMubWFwTWV0YSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBtYXBNZXRhKCkge1xuICAgIGNvbnN0IGFsbERpbWVuc2lvbnMgPSA8VEN1YmVEaW1lbnNpb25bXT4oXG4gICAgICB0aGlzLm1ldGEubWVtYmVyc0ZvclF1ZXJ5KG51bGwsICdkaW1lbnNpb25zJylcbiAgICApO1xuXG4gICAgdGhpcy5tZWFzdXJlcyA9IDxUQ3ViZU1lYXN1cmVbXT50aGlzLm1ldGEubWVtYmVyc0ZvclF1ZXJ5KG51bGwsICdtZWFzdXJlcycpO1xuICAgIHRoaXMuc2VnbWVudHMgPSB0aGlzLm1ldGEubWVtYmVyc0ZvclF1ZXJ5KG51bGwsICdzZWdtZW50cycpO1xuICAgIHRoaXMuZGltZW5zaW9ucyA9IGFsbERpbWVuc2lvbnMuZmlsdGVyKCh7IHR5cGUgfSkgPT4gdHlwZSAhPT0gJ3RpbWUnKTtcbiAgICB0aGlzLnRpbWVEaW1lbnNpb25zID0gYWxsRGltZW5zaW9ucy5maWx0ZXIoKHsgdHlwZSB9KSA9PiB0eXBlID09PSAndGltZScpO1xuICAgIHRoaXMuZmlsdGVycyA9IFsuLi5hbGxEaW1lbnNpb25zLCAuLi50aGlzLm1lYXN1cmVzXS5tYXAoKG1lbWJlcikgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ubWVtYmVyLFxuICAgICAgICBvcGVyYXRvcnM6IHRoaXMubWV0YS5maWx0ZXJPcGVyYXRvcnNGb3JNZW1iZXIobWVtYmVyLm5hbWUsIFtcbiAgICAgICAgICAnZGltZW5zaW9ucycsXG4gICAgICAgICAgJ21lYXN1cmVzJyxcbiAgICAgICAgXSksXG4gICAgICB9O1xuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -1,14 +0,0 @@
1
- import { movePivotItem, } from '@cubejs-client/core';
2
- import { StateSubject } from './common';
3
- export class PivotConfig extends StateSubject {
4
- constructor(pivotConfig) {
5
- super(pivotConfig);
6
- }
7
- moveItem(sourceIndex, destinationIndex, sourceAxis, destinationAxis) {
8
- this.subject.next(movePivotItem(this.get(), sourceIndex, destinationIndex, sourceAxis, destinationAxis));
9
- }
10
- setFillMissingDates(fillMissingDates) {
11
- this.subject.next(Object.assign(Object.assign({}, this.get()), { fillMissingDates }));
12
- }
13
- }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGl2b3QtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3F1ZXJ5LWJ1aWxkZXIvcGl2b3QtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxhQUFhLEdBR2QsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXhDLE1BQU0sT0FBTyxXQUFZLFNBQVEsWUFBMEI7SUFDekQsWUFBWSxXQUF5QjtRQUNuQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELFFBQVEsQ0FDTixXQUFtQixFQUNuQixnQkFBd0IsRUFDeEIsVUFBdUIsRUFDdkIsZUFBNEI7UUFFNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ2YsYUFBYSxDQUNYLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFDVixXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2hCLFVBQVUsRUFDVixlQUFlLENBQ2hCLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxnQkFBeUI7UUFDM0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLGlDQUNaLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FDYixnQkFBZ0IsSUFDaEIsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIG1vdmVQaXZvdEl0ZW0sXG4gIFBpdm90Q29uZmlnIGFzIFRQaXZvdENvbmZpZyxcbiAgVFNvdXJjZUF4aXMsXG59IGZyb20gJ0BjdWJlanMtY2xpZW50L2NvcmUnO1xuaW1wb3J0IHsgU3RhdGVTdWJqZWN0IH0gZnJvbSAnLi9jb21tb24nO1xuXG5leHBvcnQgY2xhc3MgUGl2b3RDb25maWcgZXh0ZW5kcyBTdGF0ZVN1YmplY3Q8VFBpdm90Q29uZmlnPiB7XG4gIGNvbnN0cnVjdG9yKHBpdm90Q29uZmlnOiBUUGl2b3RDb25maWcpIHtcbiAgICBzdXBlcihwaXZvdENvbmZpZyk7XG4gIH1cbiAgXG4gIG1vdmVJdGVtKFxuICAgIHNvdXJjZUluZGV4OiBudW1iZXIsXG4gICAgZGVzdGluYXRpb25JbmRleDogbnVtYmVyLFxuICAgIHNvdXJjZUF4aXM6IFRTb3VyY2VBeGlzLFxuICAgIGRlc3RpbmF0aW9uQXhpczogVFNvdXJjZUF4aXNcbiAgKSB7XG4gICAgdGhpcy5zdWJqZWN0Lm5leHQoXG4gICAgICBtb3ZlUGl2b3RJdGVtKFxuICAgICAgICB0aGlzLmdldCgpLFxuICAgICAgICBzb3VyY2VJbmRleCxcbiAgICAgICAgZGVzdGluYXRpb25JbmRleCxcbiAgICAgICAgc291cmNlQXhpcyxcbiAgICAgICAgZGVzdGluYXRpb25BeGlzXG4gICAgICApXG4gICAgKTtcbiAgfVxuICBcbiAgc2V0RmlsbE1pc3NpbmdEYXRlcyhmaWxsTWlzc2luZ0RhdGVzOiBib29sZWFuKSB7XG4gICAgdGhpcy5zdWJqZWN0Lm5leHQoe1xuICAgICAgLi4udGhpcy5nZXQoKSxcbiAgICAgIGZpbGxNaXNzaW5nRGF0ZXNcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -1,123 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { Injectable } from '@angular/core';
3
- import { ResultSet, isQueryPresent, defaultHeuristics, } from '@cubejs-client/core';
4
- import { BehaviorSubject, combineLatest, of, Subject } from 'rxjs';
5
- import { catchError, switchMap } from 'rxjs/operators';
6
- import { Query } from './query';
7
- import { BuilderMeta } from './builder-meta';
8
- import { PivotConfig } from './pivot-config';
9
- import { ChartType } from './chart-type';
10
- import { StateSubject } from './common';
11
- import * as i0 from "@angular/core";
12
- export class QueryBuilderService {
13
- constructor() {
14
- this._disableHeuristics = false;
15
- this._heuristicChange$ = new Subject();
16
- this.builderMeta = new Promise((resolve) => (this._resolveBuilderMeta = resolve));
17
- this.query = new Promise((resolve) => (this._resolveQuery = resolve));
18
- this.state = new BehaviorSubject({});
19
- }
20
- init() {
21
- return __awaiter(this, void 0, void 0, function* () {
22
- this.pivotConfig = new PivotConfig(null);
23
- this.chartType = new ChartType('line');
24
- this._cube.meta().subscribe((meta) => {
25
- this._meta = meta;
26
- this._query = new Query(this._meta, this._handleQueryChange.bind(this));
27
- this._resolveQuery(this._query);
28
- this._resolveBuilderMeta(new BuilderMeta(this._meta));
29
- });
30
- this.subscribe();
31
- if (!this._disableHeuristics) {
32
- this._heuristicChange$
33
- .pipe(switchMap((data) => {
34
- return combineLatest([
35
- this._cube.dryRun(data.query).pipe(catchError((error) => {
36
- console.error(error);
37
- return of(null);
38
- })),
39
- of(data.shouldApplyHeuristicOrder),
40
- ]);
41
- }))
42
- .subscribe(([dryRunResponse, shouldApplyHeuristicOrder]) => {
43
- if (!dryRunResponse) {
44
- return;
45
- }
46
- const { pivotQuery, queryOrder } = dryRunResponse;
47
- this.pivotConfig.set(ResultSet.getNormalizedPivotConfig(pivotQuery, this.pivotConfig.get()));
48
- if (shouldApplyHeuristicOrder) {
49
- this._query.order.set(queryOrder.reduce((a, b) => (Object.assign(Object.assign({}, a), b)), {}));
50
- }
51
- });
52
- }
53
- });
54
- }
55
- _handleQueryChange(newQuery, oldQuery) {
56
- var _a, _b;
57
- const { chartType, shouldApplyHeuristicOrder, query: heuristicQuery, } = defaultHeuristics(newQuery, oldQuery, {
58
- meta: this._meta,
59
- sessionGranularity: (_b = (_a = newQuery === null || newQuery === void 0 ? void 0 : newQuery.timeDimensions) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.granularity,
60
- });
61
- const query = this._disableHeuristics
62
- ? newQuery
63
- : heuristicQuery || newQuery;
64
- if (isQueryPresent(query) && !this._disableHeuristics) {
65
- this._heuristicChange$.next({
66
- shouldApplyHeuristicOrder: Boolean(shouldApplyHeuristicOrder),
67
- query,
68
- });
69
- }
70
- if (!this._disableHeuristics && chartType) {
71
- this.chartType.set(chartType);
72
- }
73
- return query;
74
- }
75
- setCubeClient(cubeClient) {
76
- this._cube = cubeClient;
77
- this.init();
78
- }
79
- subscribe() {
80
- Object.getOwnPropertyNames(this).forEach((key) => {
81
- if (this[key] instanceof StateSubject) {
82
- this[key].subject.subscribe((value) => this.setPartialState({
83
- [key]: value,
84
- }));
85
- }
86
- });
87
- this.query.then((query) => {
88
- query.subject.subscribe((cubeQuery) => {
89
- this.setPartialState({
90
- query: cubeQuery,
91
- });
92
- });
93
- });
94
- }
95
- deserialize(state) {
96
- return __awaiter(this, void 0, void 0, function* () {
97
- if (state.query) {
98
- (yield this.query).setQuery(state.query);
99
- }
100
- Object.entries(state).forEach(([key, value]) => {
101
- if (this[key] instanceof StateSubject) {
102
- this[key].set(value);
103
- }
104
- });
105
- this.subscribe();
106
- });
107
- }
108
- setPartialState(partialState) {
109
- this.state.next(Object.assign(Object.assign({}, this.state.getValue()), partialState));
110
- }
111
- disableHeuristics() {
112
- this._disableHeuristics = false;
113
- }
114
- enableHeuristics() {
115
- this._disableHeuristics = true;
116
- }
117
- }
118
- /** @nocollapse */ QueryBuilderService.ɵfac = function QueryBuilderService_Factory(t) { return new (t || QueryBuilderService)(); };
119
- /** @nocollapse */ QueryBuilderService.ɵprov = /** @pureOrBreakMyCode */ i0.ɵɵdefineInjectable({ token: QueryBuilderService, factory: QueryBuilderService.ɵfac });
120
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(QueryBuilderService, [{
121
- type: Injectable
122
- }], null, null); })();
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYnVpbGRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3F1ZXJ5LWJ1aWxkZXIvcXVlcnktYnVpbGRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFFTCxTQUFTLEVBR1QsY0FBYyxFQUNkLGlCQUFpQixHQUNsQixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd2RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFNBQVMsRUFBYyxNQUFNLGNBQWMsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDOztBQVN4QyxNQUFNLE9BQU8sbUJBQW1CO0lBRGhDO1FBS1UsdUJBQWtCLEdBQVksS0FBSyxDQUFDO1FBR3BDLHNCQUFpQixHQUFHLElBQUksT0FBTyxFQUFPLENBQUM7UUFFdEMsZ0JBQVcsR0FBRyxJQUFJLE9BQU8sQ0FDaEMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLE9BQU8sQ0FBQyxDQUNsRCxDQUFDO1FBQ08sVUFBSyxHQUFHLElBQUksT0FBTyxDQUMxQixDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxDQUM1QyxDQUFDO1FB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SyxFQUFFLFNBQVM7aUJBQ2pCLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUssV0FBVyxDQUFDLEtBQUs7O1lBQ3JCLElBQUksS0FBSyxDQUFDLEtBQUssRUFBRTtnQkFDZixDQUFDLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDMUM7WUFFRCxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7Z0JBQzdDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLFlBQVksRUFBRTtvQkFDckMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDdEI7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNuQixDQUFDO0tBQUE7SUFFRCxlQUFlLENBQUMsWUFBWTtRQUMxQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksaUNBQ1YsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsR0FDckIsWUFBWSxFQUNmLENBQUM7SUFDTCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztJQUNsQyxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztJQUNqQyxDQUFDOzt5R0F6SlUsbUJBQW1CO3dHQUFuQixtQkFBbUIsV0FBbkIsbUJBQW1CO3VGQUFuQixtQkFBbUI7Y0FEL0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIE1ldGEsXG4gIFJlc3VsdFNldCxcbiAgUXVlcnkgYXMgVEN1YmVRdWVyeSxcbiAgUGl2b3RDb25maWcgYXMgVFBpdm90Q29uZmlnLFxuICBpc1F1ZXJ5UHJlc2VudCxcbiAgZGVmYXVsdEhldXJpc3RpY3MsXG59IGZyb20gJ0BjdWJlanMtY2xpZW50L2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBvZiwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBDdWJlQ2xpZW50IH0gZnJvbSAnLi4vY2xpZW50JztcbmltcG9ydCB7IFF1ZXJ5IH0gZnJvbSAnLi9xdWVyeSc7XG5pbXBvcnQgeyBCdWlsZGVyTWV0YSB9IGZyb20gJy4vYnVpbGRlci1tZXRhJztcbmltcG9ydCB7IFBpdm90Q29uZmlnIH0gZnJvbSAnLi9waXZvdC1jb25maWcnO1xuaW1wb3J0IHsgQ2hhcnRUeXBlLCBUQ2hhcnRUeXBlIH0gZnJvbSAnLi9jaGFydC10eXBlJztcbmltcG9ydCB7IFN0YXRlU3ViamVjdCB9IGZyb20gJy4vY29tbW9uJztcblxuZXhwb3J0IHR5cGUgVFF1ZXJ5QnVpbGRlclN0YXRlID0ge1xuICBxdWVyeT86IFRDdWJlUXVlcnk7XG4gIHBpdm90Q29uZmlnPzogVFBpdm90Q29uZmlnO1xuICBjaGFydFR5cGU/OiBUQ2hhcnRUeXBlO1xufTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFF1ZXJ5QnVpbGRlclNlcnZpY2Uge1xuICBwcml2YXRlIF9jdWJlOiBDdWJlQ2xpZW50O1xuICBwcml2YXRlIF9tZXRhOiBNZXRhO1xuICBwcml2YXRlIF9xdWVyeTogUXVlcnk7XG4gIHByaXZhdGUgX2Rpc2FibGVIZXVyaXN0aWNzOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX3Jlc29sdmVRdWVyeTogKHF1ZXJ5OiBRdWVyeSkgPT4gdm9pZDtcbiAgcHJpdmF0ZSBfcmVzb2x2ZUJ1aWxkZXJNZXRhOiAocXVlcnk6IEJ1aWxkZXJNZXRhKSA9PiB2b2lkO1xuICBwcml2YXRlIF9oZXVyaXN0aWNDaGFuZ2UkID0gbmV3IFN1YmplY3Q8YW55PigpO1xuXG4gIHJlYWRvbmx5IGJ1aWxkZXJNZXRhID0gbmV3IFByb21pc2U8QnVpbGRlck1ldGE+KFxuICAgIChyZXNvbHZlKSA9PiAodGhpcy5fcmVzb2x2ZUJ1aWxkZXJNZXRhID0gcmVzb2x2ZSlcbiAgKTtcbiAgcmVhZG9ubHkgcXVlcnkgPSBuZXcgUHJvbWlzZTxRdWVyeT4oXG4gICAgKHJlc29sdmUpID0+ICh0aGlzLl9yZXNvbHZlUXVlcnkgPSByZXNvbHZlKVxuICApO1xuICByZWFkb25seSBzdGF0ZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VFF1ZXJ5QnVpbGRlclN0YXRlPih7fSk7XG5cbiAgcGl2b3RDb25maWc6IFBpdm90Q29uZmlnO1xuICBjaGFydFR5cGU6IENoYXJ0VHlwZTtcblxuICBwcml2YXRlIGFzeW5jIGluaXQoKSB7XG4gICAgdGhpcy5waXZvdENvbmZpZyA9IG5ldyBQaXZvdENvbmZpZyhudWxsKTtcbiAgICB0aGlzLmNoYXJ0VHlwZSA9IG5ldyBDaGFydFR5cGUoJ2xpbmUnKTtcblxuICAgIHRoaXMuX2N1YmUubWV0YSgpLnN1YnNjcmliZSgobWV0YSkgPT4ge1xuICAgICAgdGhpcy5fbWV0YSA9IG1ldGE7XG5cbiAgICAgIHRoaXMuX3F1ZXJ5ID0gbmV3IFF1ZXJ5KFxuICAgICAgICB0aGlzLl9tZXRhLFxuICAgICAgICB0aGlzLl9oYW5kbGVRdWVyeUNoYW5nZS5iaW5kKHRoaXMpXG4gICAgICApO1xuICAgICAgdGhpcy5fcmVzb2x2ZVF1ZXJ5KHRoaXMuX3F1ZXJ5KTtcbiAgICAgIHRoaXMuX3Jlc29sdmVCdWlsZGVyTWV0YShuZXcgQnVpbGRlck1ldGEodGhpcy5fbWV0YSkpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5zdWJzY3JpYmUoKTtcblxuICAgIGlmICghdGhpcy5fZGlzYWJsZUhldXJpc3RpY3MpIHtcbiAgICAgIHRoaXMuX2hldXJpc3RpY0NoYW5nZSRcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgc3dpdGNoTWFwKChkYXRhKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICAgIHRoaXMuX2N1YmUuZHJ5UnVuKGRhdGEucXVlcnkpLnBpcGUoY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgICAgb2YoZGF0YS5zaG91bGRBcHBseUhldXJpc3RpY09yZGVyKSxcbiAgICAgICAgICAgIF0pO1xuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAoW2RyeVJ1blJlc3BvbnNlLCBzaG91bGRBcHBseUhldXJpc3RpY09yZGVyXSkgPT4ge1xuICAgICAgICAgICAgaWYgKCFkcnlSdW5SZXNwb25zZSkge1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGNvbnN0IHsgcGl2b3RRdWVyeSwgcXVlcnlPcmRlciB9ID0gZHJ5UnVuUmVzcG9uc2U7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIHRoaXMucGl2b3RDb25maWcuc2V0KFxuICAgICAgICAgICAgICBSZXN1bHRTZXQuZ2V0Tm9ybWFsaXplZFBpdm90Q29uZmlnKFxuICAgICAgICAgICAgICAgIHBpdm90UXVlcnksXG4gICAgICAgICAgICAgICAgdGhpcy5waXZvdENvbmZpZy5nZXQoKVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgaWYgKHNob3VsZEFwcGx5SGV1cmlzdGljT3JkZXIpIHtcbiAgICAgICAgICAgICAgdGhpcy5fcXVlcnkub3JkZXIuc2V0KFxuICAgICAgICAgICAgICAgIHF1ZXJ5T3JkZXIucmVkdWNlKChhLCBiKSA9PiAoeyAuLi5hLCAuLi5iIH0pLCB7fSlcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlUXVlcnlDaGFuZ2UobmV3UXVlcnksIG9sZFF1ZXJ5KSB7XG4gICAgY29uc3Qge1xuICAgICAgY2hhcnRUeXBlLFxuICAgICAgc2hvdWxkQXBwbHlIZXVyaXN0aWNPcmRlcixcbiAgICAgIHF1ZXJ5OiBoZXVyaXN0aWNRdWVyeSxcbiAgICB9ID0gZGVmYXVsdEhldXJpc3RpY3MobmV3UXVlcnksIG9sZFF1ZXJ5LCB7XG4gICAgICBtZXRhOiB0aGlzLl9tZXRhLFxuICAgICAgc2Vzc2lvbkdyYW51bGFyaXR5OiBuZXdRdWVyeT8udGltZURpbWVuc2lvbnM/LlswXT8uZ3JhbnVsYXJpdHksXG4gICAgfSk7XG5cbiAgICBjb25zdCBxdWVyeSA9IHRoaXMuX2Rpc2FibGVIZXVyaXN0aWNzXG4gICAgICA/IG5ld1F1ZXJ5XG4gICAgICA6IGhldXJpc3RpY1F1ZXJ5IHx8IG5ld1F1ZXJ5O1xuXG4gICAgaWYgKGlzUXVlcnlQcmVzZW50KHF1ZXJ5KSAmJiAhdGhpcy5fZGlzYWJsZUhldXJpc3RpY3MpIHtcbiAgICAgIHRoaXMuX2hldXJpc3RpY0NoYW5nZSQubmV4dCh7XG4gICAgICAgIHNob3VsZEFwcGx5SGV1cmlzdGljT3JkZXI6IEJvb2xlYW4oc2hvdWxkQXBwbHlIZXVyaXN0aWNPcmRlciksXG4gICAgICAgIHF1ZXJ5LFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLl9kaXNhYmxlSGV1cmlzdGljcyAmJiBjaGFydFR5cGUpIHtcbiAgICAgIHRoaXMuY2hhcnRUeXBlLnNldChjaGFydFR5cGUpO1xuICAgIH1cblxuICAgIHJldHVybiBxdWVyeTtcbiAgfVxuXG4gIHNldEN1YmVDbGllbnQoY3ViZUNsaWVudDogQ3ViZUNsaWVudCkge1xuICAgIHRoaXMuX2N1YmUgPSBjdWJlQ2xpZW50O1xuICAgIHRoaXMuaW5pdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJzY3JpYmUoKSB7XG4gICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGhpcykuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBpZiAodGhpc1trZXldIGluc3RhbmNlb2YgU3RhdGVTdWJqZWN0KSB7XG4gICAgICAgIHRoaXNba2V5XS5zdWJqZWN0LnN1YnNjcmliZSgodmFsdWUpID0+XG4gICAgICAgICAgdGhpcy5zZXRQYXJ0aWFsU3RhdGUoe1xuICAgICAgICAgICAgW2tleV06IHZhbHVlLFxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5xdWVyeS50aGVuKChxdWVyeSkgPT4ge1xuICAgICAgcXVlcnkuc3ViamVjdC5zdWJzY3JpYmUoKGN1YmVRdWVyeSkgPT4ge1xuICAgICAgICB0aGlzLnNldFBhcnRpYWxTdGF0ZSh7XG4gICAgICAgICAgcXVlcnk6IGN1YmVRdWVyeSxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIGRlc2VyaWFsaXplKHN0YXRlKSB7XG4gICAgaWYgKHN0YXRlLnF1ZXJ5KSB7XG4gICAgICAoYXdhaXQgdGhpcy5xdWVyeSkuc2V0UXVlcnkoc3RhdGUucXVlcnkpO1xuICAgIH1cblxuICAgIE9iamVjdC5lbnRyaWVzKHN0YXRlKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgIGlmICh0aGlzW2tleV0gaW5zdGFuY2VvZiBTdGF0ZVN1YmplY3QpIHtcbiAgICAgICAgdGhpc1trZXldLnNldCh2YWx1ZSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgc2V0UGFydGlhbFN0YXRlKHBhcnRpYWxTdGF0ZSkge1xuICAgIHRoaXMuc3RhdGUubmV4dCh7XG4gICAgICAuLi50aGlzLnN0YXRlLmdldFZhbHVlKCksXG4gICAgICAuLi5wYXJ0aWFsU3RhdGUsXG4gICAgfSk7XG4gIH1cblxuICBkaXNhYmxlSGV1cmlzdGljcygpIHtcbiAgICB0aGlzLl9kaXNhYmxlSGV1cmlzdGljcyA9IGZhbHNlO1xuICB9XG5cbiAgZW5hYmxlSGV1cmlzdGljcygpIHtcbiAgICB0aGlzLl9kaXNhYmxlSGV1cmlzdGljcyA9IHRydWU7XG4gIH1cbn1cbiJdfQ==
@@ -1 +0,0 @@
1
- {"version":3,"file":"cubejs-client-ngx.js","sources":["../../src/client.ts","../../src/module.ts","../../src/query-builder/common.ts","../../src/query-builder/query-members.ts","../../src/query-builder/query.ts","../../src/query-builder/builder-meta.ts","../../src/query-builder/pivot-config.ts","../../src/query-builder/chart-type.ts","../../src/query-builder/query-builder.service.ts","../../src/public_api.ts","../../index.ts","../../cubejs-client-ngx.ts"],"sourcesContent":["import { Injectable, Inject } from '@angular/core';\nimport { Observable, from, BehaviorSubject } from 'rxjs';\nimport cube, {\n CubeApi,\n CubeApiOptions,\n DryRunResponse,\n LoadMethodOptions,\n Meta,\n Query,\n ResultSet,\n SqlQuery,\n} from '@cubejs-client/core';\n\nexport type CubeConfig = {\n token: string;\n options?: CubeApiOptions;\n};\n\n@Injectable()\nexport class CubeClient {\n public ready$: BehaviorSubject<boolean> = new BehaviorSubject(false);\n\n private cubeApi: CubeApi;\n\n constructor(@Inject('config') private config: any | Observable<any>) {\n if (this.config instanceof Observable) {\n this.config.subscribe(() => {\n this.ready$.next(true);\n });\n } else {\n this.ready$.next(true);\n }\n }\n\n private apiInstance(): CubeApi {\n if (!this.cubeApi) {\n if (this.config instanceof Observable) {\n this.config.subscribe((config) => {\n this.cubeApi = cube(config.token, config.options);\n\n if (!this.cubeApi) {\n throw new Error(\n 'Cannot create CubeApi instance. Please check that the config is passed correctly and contains all required options.'\n );\n }\n });\n } else {\n this.cubeApi = cube(this.config.token, this.config.options);\n }\n }\n\n return this.cubeApi;\n }\n\n public load(\n query: Query | Query[],\n options?: LoadMethodOptions\n ): Observable<ResultSet> {\n return from(<Promise<ResultSet>>this.apiInstance().load(query, options));\n }\n\n public sql(\n query: Query | Query[],\n options?: LoadMethodOptions\n ): Observable<SqlQuery> {\n return from(this.apiInstance().sql(query, options));\n }\n\n public dryRun(\n query: Query | Query[],\n options?: LoadMethodOptions\n ): Observable<DryRunResponse> {\n return from(this.apiInstance().dryRun(query, options));\n }\n\n public meta(options?: LoadMethodOptions): Observable<Meta> {\n return from(this.apiInstance().meta(options));\n }\n\n public watch(query, params = {}): Observable<ResultSet> {\n return new Observable((observer) =>\n query.subscribe({\n next: async (query) => {\n try {\n const resultSet = await this.apiInstance().load(query, params);\n observer.next(resultSet);\n } catch(err) {\n observer.error(err);\n }\n\n },\n })\n );\n }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CubeClient } from './client';\n\n@NgModule({\n providers: [CubeClient],\n})\nexport class CubeClientModule {\n public static forRoot(config: any): ModuleWithProviders<CubeClientModule> {\n return {\n ngModule: CubeClientModule,\n providers: [\n CubeClient,\n {\n provide: 'config',\n useValue: config,\n },\n ],\n };\n }\n}\n","import { BehaviorSubject } from 'rxjs';\n\nexport class StateSubject<T = any> {\n subject: BehaviorSubject<T>;\n\n constructor(value: T) {\n this.subject = new BehaviorSubject(value);\n }\n\n get() {\n return this.subject.getValue();\n }\n\n set(value: T) {\n this.subject.next(value);\n }\n}\n","import {\n TimeDimensionGranularity,\n TQueryOrderObject,\n TQueryOrderArray,\n moveItemInArray,\n Filter,\n UnaryFilter,\n BinaryFilter,\n} from '@cubejs-client/core';\nimport { BehaviorSubject } from 'rxjs';\nimport equal from 'fast-deep-equal';\n\nimport { Query } from './query';\n\nexport type TOrder = 'asc' | 'desc' | 'none';\n\nexport type TOrderMember = {\n id: string;\n order: TOrder;\n title: string;\n};\n\nexport class BaseMember {\n constructor(\n private query: Query,\n private field: 'measures' | 'dimensions' | 'segments'\n ) {}\n\n private get members() {\n return this.query.asCubeQuery()[this.field] || [];\n }\n\n add(name: string) {\n this.query.setPartialQuery({\n [this.field]: [...this.members, name],\n });\n }\n\n replace(name: string, replaceWithName: string) {\n this.query.setPartialQuery({\n [this.field]: this.members.map((currentName) =>\n currentName === name ? replaceWithName : currentName\n ),\n });\n }\n\n remove(by: string | number) {\n this.query.setPartialQuery({\n [this.field]: this.query\n .asCubeQuery()\n [this.field].filter((currentName, index) => {\n if (typeof by === 'string') {\n return currentName !== by;\n }\n\n return index !== by;\n }),\n });\n }\n\n set(members: string[]) {\n this.query.setPartialQuery({\n [this.field]: members,\n });\n }\n\n asArray() {\n return (this.query.asCubeQuery()[this.field] || []).map((name) =>\n this.query.meta.resolveMember(name, this.field)\n );\n }\n}\n\nexport class TimeDimensionMember {\n constructor(private query: Query) {}\n\n private get members() {\n return this.query.asCubeQuery().timeDimensions || [];\n }\n\n get granularity() {\n return this.members[0]?.granularity;\n }\n\n updateTimeDimension(by: string | number, updateWith: any) {\n const timeDimensions = this.members.map((td, index) => {\n if (td.dimension === by || index === by) {\n return {\n ...td,\n ...updateWith,\n };\n }\n return td;\n });\n\n this.query.setPartialQuery({\n timeDimensions,\n });\n }\n\n add(name: string) {\n this.query.setPartialQuery({\n timeDimensions: [\n {\n dimension: name,\n },\n ],\n });\n }\n\n remove(name: string) {\n this.query.setPartialQuery({\n timeDimensions: this.members.filter(\n ({ dimension }) => dimension !== name\n ),\n });\n }\n\n set(timeDimensions: any[]) {\n this.query.setPartialQuery({\n timeDimensions,\n });\n }\n\n setDateRange(by: string | number, dateRange: string | string[]) {\n this.updateTimeDimension(by, { dateRange });\n }\n\n setGranularity(by: string | number, granularity: TimeDimensionGranularity) {\n this.updateTimeDimension(by, { granularity });\n }\n\n asArray(): any[] {\n return (this.query.asCubeQuery().timeDimensions || []).map((td) => {\n return {\n ...this.query.meta.resolveMember(td.dimension, 'dimensions'),\n ...td,\n };\n });\n }\n}\n\nexport class Order {\n orderMembers = new BehaviorSubject<TOrderMember[]>([]);\n\n constructor(private query: Query) {\n this.query.subject.subscribe(this.handleQueryChange.bind(this));\n this.orderMembers.subscribe(this.handleOrderMembersChange.bind(this));\n }\n\n private handleOrderMembersChange(orderMembers: TOrderMember[]) {\n const order = orderMembers\n .filter(({ order }) => order !== 'none')\n .reduce(\n (memo, { id, order }) => ({ ...memo, [id]: order }),\n {}\n ) as TQueryOrderObject;\n\n if (!equal(order, this.asObject())) {\n this.query.setPartialQuery({ order });\n }\n }\n\n private handleQueryChange() {\n this.orderMembers.next(\n [\n ...this.query.measures.asArray(),\n ...this.query.dimensions.asArray(),\n ...this.query.timeDimensions.asArray(),\n ].map<TOrderMember>(({ name, title }) => {\n return {\n id: name,\n order: this.of(name),\n title,\n };\n })\n );\n }\n\n setMemberOrder(id: string, order: TOrder) {\n this.orderMembers.next(\n this.orderMembers.getValue().map((orderMember) => {\n if (orderMember.id === id) {\n return {\n ...orderMember,\n order,\n };\n }\n return orderMember;\n })\n );\n }\n\n reorder(sourceIndex: number, destinationIndex: number) {\n this.orderMembers.next(\n moveItemInArray(\n this.orderMembers.getValue(),\n sourceIndex,\n destinationIndex\n )\n );\n }\n\n of(member: string) {\n return (this.query.asCubeQuery().order || {})[member] || 'none';\n }\n\n set(order: TQueryOrderObject | TQueryOrderArray) {\n this.query.setPartialQuery({ order });\n }\n\n asArray(): TQueryOrderArray {\n if (Array.isArray(this.query.asCubeQuery().order)) {\n return this.query.asCubeQuery().order as TQueryOrderArray;\n }\n\n return Object.entries(this.query.asCubeQuery().order || {});\n }\n\n asObject(): TQueryOrderObject {\n return this.asArray().reduce(\n (memo, [key, value]) => ({ ...memo, [key]: value }),\n {}\n );\n }\n}\n\nexport class FilterMember {\n constructor(private query: Query) {}\n\n private get filters() {\n // TODO: update this type assertion once the QueryBuilder supports logical and/or\n return (this.query.asCubeQuery().filters || []) as (UnaryFilter | BinaryFilter)[];\n }\n\n update(by: string | number, updateWith: Partial<Filter>) {\n const filters = this.filters.map((filter, index) => {\n if (index === by || filter.member === by || filter.dimension === by) {\n return {\n ...filter,\n ...updateWith,\n };\n }\n return filter;\n });\n\n this.query.setPartialQuery({\n filters: filters as Filter[],\n });\n }\n\n add(filter: Filter) {\n this.query.setPartialQuery({\n filters: [...this.filters, filter],\n });\n }\n\n remove(by: string | number) {\n this.query.setPartialQuery({\n filters: this.filters.filter((filter, index) => {\n if (filter.member === by || filter.dimension === by || index === by) {\n return false;\n }\n\n return true;\n }),\n });\n }\n\n set(filters: Filter[]) {\n this.query.setPartialQuery({\n filters,\n });\n }\n\n replace(name: string, replaceWithName: string) {\n this.query.setPartialQuery({\n filters: this.filters.map((filter) => {\n const field = filter.member ? 'member' : 'dimension';\n return filter.member === name || filter.dimension === name\n ? {\n ...filter,\n [field]: replaceWithName,\n }\n : filter;\n }),\n });\n }\n\n asArray(): any[] {\n return this.filters.map((filter) => {\n return {\n ...this.query.meta.resolveMember(filter.member || filter.dimension, [\n 'dimensions',\n 'measures',\n ]),\n operators: this.query.meta.filterOperatorsForMember(\n filter.member || filter.dimension,\n ['dimensions', 'measures']\n ),\n ...filter,\n };\n });\n }\n}\n","import { isQueryPresent, Meta, Query as TCubeQuery } from '@cubejs-client/core';\n\nimport { StateSubject } from './common';\nimport { BaseMember, FilterMember, Order, TimeDimensionMember } from './query-members';\n\nexport enum MemberType {\n Measures = 'measures',\n Dimensions = 'dimensions',\n Segments = 'segments',\n TimeDimensions = 'timeDimensions',\n Filters = 'filters',\n Order = 'order',\n}\n\nexport type OnChangeCallback = (\n newQuery: TCubeQuery,\n oldQuery: TCubeQuery,\n query: Query\n) => TCubeQuery;\n\nexport class Query extends StateSubject<TCubeQuery> {\n measures: BaseMember;\n dimensions: BaseMember;\n segments: BaseMember;\n timeDimensions: TimeDimensionMember;\n filters: FilterMember;\n order: Order;\n\n constructor(\n public meta: Meta,\n private _onBeforeChange: OnChangeCallback = (newQuery) => newQuery\n ) {\n super({});\n this.init();\n }\n\n private init() {\n this.measures = new BaseMember(this, MemberType.Measures);\n this.dimensions = new BaseMember(this, MemberType.Dimensions);\n this.segments = new BaseMember(this, MemberType.Segments);\n this.timeDimensions = new TimeDimensionMember(this);\n this.filters = new FilterMember(this);\n this.order = new Order(this);\n }\n\n asCubeQuery(): TCubeQuery {\n return this.subject.getValue() || {};\n }\n\n setQuery(query: TCubeQuery) {\n this.subject.next(this._onBeforeChange(query, this.subject.getValue(), this));\n }\n\n setPartialQuery(partialQuery: Partial<TCubeQuery>) {\n this.subject.next(\n this._onBeforeChange(\n {\n ...this.subject.getValue(),\n ...partialQuery,\n },\n this.subject.getValue(),\n this\n )\n );\n }\n\n setLimit(limit: number) {\n this.setPartialQuery({ limit });\n }\n \n isPresent(): boolean {\n return isQueryPresent(this.asCubeQuery());\n }\n}\n","import {\n Meta,\n TCubeDimension,\n TCubeMeasure,\n TCubeMember,\n} from '@cubejs-client/core';\n\nexport class BuilderMeta {\n measures: TCubeMeasure[];\n dimensions: TCubeDimension[];\n segments: TCubeMember[];\n timeDimensions: TCubeDimension[];\n filters: Array<TCubeMeasure | TCubeDimension>;\n\n constructor(public readonly meta: Meta) {\n this.mapMeta();\n }\n\n private mapMeta() {\n const allDimensions = <TCubeDimension[]>(\n this.meta.membersForQuery(null, 'dimensions')\n );\n\n this.measures = <TCubeMeasure[]>this.meta.membersForQuery(null, 'measures');\n this.segments = this.meta.membersForQuery(null, 'segments');\n this.dimensions = allDimensions.filter(({ type }) => type !== 'time');\n this.timeDimensions = allDimensions.filter(({ type }) => type === 'time');\n this.filters = [...allDimensions, ...this.measures].map((member) => {\n return {\n ...member,\n operators: this.meta.filterOperatorsForMember(member.name, [\n 'dimensions',\n 'measures',\n ]),\n };\n });\n }\n}\n","import {\n movePivotItem,\n PivotConfig as TPivotConfig,\n TSourceAxis,\n} from '@cubejs-client/core';\nimport { StateSubject } from './common';\n\nexport class PivotConfig extends StateSubject<TPivotConfig> {\n constructor(pivotConfig: TPivotConfig) {\n super(pivotConfig);\n }\n \n moveItem(\n sourceIndex: number,\n destinationIndex: number,\n sourceAxis: TSourceAxis,\n destinationAxis: TSourceAxis\n ) {\n this.subject.next(\n movePivotItem(\n this.get(),\n sourceIndex,\n destinationIndex,\n sourceAxis,\n destinationAxis\n )\n );\n }\n \n setFillMissingDates(fillMissingDates: boolean) {\n this.subject.next({\n ...this.get(),\n fillMissingDates\n });\n }\n}\n","import { StateSubject } from './common';\n\nexport type TChartType = 'line' | 'area' | 'bar' | 'number' | 'table' | 'pie';\n\nexport class ChartType extends StateSubject<TChartType> {\n constructor(value) {\n super(value);\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n Meta,\n ResultSet,\n Query as TCubeQuery,\n PivotConfig as TPivotConfig,\n isQueryPresent,\n defaultHeuristics,\n} from '@cubejs-client/core';\nimport { BehaviorSubject, combineLatest, of, Subject } from 'rxjs';\nimport { catchError, switchMap } from 'rxjs/operators';\n\nimport { CubeClient } from '../client';\nimport { Query } from './query';\nimport { BuilderMeta } from './builder-meta';\nimport { PivotConfig } from './pivot-config';\nimport { ChartType, TChartType } from './chart-type';\nimport { StateSubject } from './common';\n\nexport type TQueryBuilderState = {\n query?: TCubeQuery;\n pivotConfig?: TPivotConfig;\n chartType?: TChartType;\n};\n\n@Injectable()\nexport class QueryBuilderService {\n private _cube: CubeClient;\n private _meta: Meta;\n private _query: Query;\n private _disableHeuristics: boolean = false;\n private _resolveQuery: (query: Query) => void;\n private _resolveBuilderMeta: (query: BuilderMeta) => void;\n private _heuristicChange$ = new Subject<any>();\n\n readonly builderMeta = new Promise<BuilderMeta>(\n (resolve) => (this._resolveBuilderMeta = resolve)\n );\n readonly query = new Promise<Query>(\n (resolve) => (this._resolveQuery = resolve)\n );\n readonly state = new BehaviorSubject<TQueryBuilderState>({});\n\n pivotConfig: PivotConfig;\n chartType: ChartType;\n\n private async init() {\n this.pivotConfig = new PivotConfig(null);\n this.chartType = new ChartType('line');\n\n this._cube.meta().subscribe((meta) => {\n this._meta = meta;\n\n this._query = new Query(\n this._meta,\n this._handleQueryChange.bind(this)\n );\n this._resolveQuery(this._query);\n this._resolveBuilderMeta(new BuilderMeta(this._meta));\n });\n\n this.subscribe();\n\n if (!this._disableHeuristics) {\n this._heuristicChange$\n .pipe(\n switchMap((data) => {\n return combineLatest([\n this._cube.dryRun(data.query).pipe(catchError((error) => {\n console.error(error);\n return of(null);\n })),\n of(data.shouldApplyHeuristicOrder),\n ]);\n })\n )\n .subscribe(\n ([dryRunResponse, shouldApplyHeuristicOrder]) => {\n if (!dryRunResponse) {\n return;\n }\n \n const { pivotQuery, queryOrder } = dryRunResponse;\n \n this.pivotConfig.set(\n ResultSet.getNormalizedPivotConfig(\n pivotQuery,\n this.pivotConfig.get()\n )\n );\n if (shouldApplyHeuristicOrder) {\n this._query.order.set(\n queryOrder.reduce((a, b) => ({ ...a, ...b }), {})\n );\n }\n }\n );\n }\n }\n\n private _handleQueryChange(newQuery, oldQuery) {\n const {\n chartType,\n shouldApplyHeuristicOrder,\n query: heuristicQuery,\n } = defaultHeuristics(newQuery, oldQuery, {\n meta: this._meta,\n sessionGranularity: newQuery?.timeDimensions?.[0]?.granularity,\n });\n\n const query = this._disableHeuristics\n ? newQuery\n : heuristicQuery || newQuery;\n\n if (isQueryPresent(query) && !this._disableHeuristics) {\n this._heuristicChange$.next({\n shouldApplyHeuristicOrder: Boolean(shouldApplyHeuristicOrder),\n query,\n });\n }\n\n if (!this._disableHeuristics && chartType) {\n this.chartType.set(chartType);\n }\n\n return query;\n }\n\n setCubeClient(cubeClient: CubeClient) {\n this._cube = cubeClient;\n this.init();\n }\n\n private subscribe() {\n Object.getOwnPropertyNames(this).forEach((key) => {\n if (this[key] instanceof StateSubject) {\n this[key].subject.subscribe((value) =>\n this.setPartialState({\n [key]: value,\n })\n );\n }\n });\n this.query.then((query) => {\n query.subject.subscribe((cubeQuery) => {\n this.setPartialState({\n query: cubeQuery,\n });\n });\n });\n }\n\n async deserialize(state) {\n if (state.query) {\n (await this.query).setQuery(state.query);\n }\n\n Object.entries(state).forEach(([key, value]) => {\n if (this[key] instanceof StateSubject) {\n this[key].set(value);\n }\n });\n\n this.subscribe();\n }\n\n setPartialState(partialState) {\n this.state.next({\n ...this.state.getValue(),\n ...partialState,\n });\n }\n\n disableHeuristics() {\n this._disableHeuristics = false;\n }\n\n enableHeuristics() {\n this._disableHeuristics = true;\n }\n}\n","/*\n * Public API Surface of cubejs-client-ngx\n */\n\nexport { CubeClientModule } from './module';\nexport * from './client';\nexport * from './query-builder/query-builder.service';\nexport * from './query-builder/query';\nexport * from './query-builder/builder-meta';\nexport * from './query-builder/query-members';\nexport * from './query-builder/pivot-config';\nexport * from './query-builder/chart-type';\n","// This file is not used to build this module. It is only used during editing\n// by the TypeScript language service and during build for verification. `ngc`\n// replaces this file with production index.ts when it rewrites private symbol\n// names.\n\nexport * from './src/public_api';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
File without changes