@embeddable.com/remarkable-ui 0.1.38 → 0.1.40

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 (119) hide show
  1. package/dist/BarChartDefaultHorizontalPro.js +4 -4
  2. package/dist/BarChartDefaultPro.js +4 -4
  3. package/dist/BarChartGroupedHorizontalPro.js +4 -4
  4. package/dist/BarChartGroupedPro.js +4 -4
  5. package/dist/BarChartStackedHorizontalPro.js +4 -4
  6. package/dist/BarChartStackedPro.js +4 -4
  7. package/dist/ChartCard-CsgyAnzC.js +117 -0
  8. package/dist/{ChartCard-Cr2L2Uki.js.map → ChartCard-CsgyAnzC.js.map} +1 -1
  9. package/dist/{ComparisonPeriod.type.emb-C7ixEJKv.js → ComparisonPeriod.type.emb-ZjbGbiV1.js} +2 -2
  10. package/dist/{ComparisonPeriod.type.emb-C7ixEJKv.js.map → ComparisonPeriod.type.emb-ZjbGbiV1.js.map} +1 -1
  11. package/dist/ComparisonPeriodSelectFieldPro.js +4 -4
  12. package/dist/DateRangeSelectFieldPro.js +5 -5
  13. package/dist/DonutChartPro.js +2 -2
  14. package/dist/DonutLabelChartPro.js +2 -2
  15. package/dist/{EditorCard-VE-lXcu3.js → EditorCard-DAwqwoAp.js} +14 -14
  16. package/dist/{EditorCard-VE-lXcu3.js.map → EditorCard-DAwqwoAp.js.map} +1 -1
  17. package/dist/{KpiChart-PRQV9-IW.js → KpiChart-Lh_2N9dT.js} +13 -13
  18. package/dist/{KpiChart-PRQV9-IW.js.map → KpiChart-Lh_2N9dT.js.map} +1 -1
  19. package/dist/KpiChartNumberComparisonPro.js +6 -6
  20. package/dist/KpiChartNumberPro.js +4 -4
  21. package/dist/LineChartComparisonDefaultPro.js +7 -7
  22. package/dist/LineChartDefaultPro.js +5 -5
  23. package/dist/LineChartGroupedPro.js +5 -5
  24. package/dist/MultiSelectFieldPro.js +2 -2
  25. package/dist/PieChartPro.js +2 -2
  26. package/dist/PivotTable-DCJT9sa0.js +253 -0
  27. package/dist/PivotTable-DCJT9sa0.js.map +1 -0
  28. package/dist/PivotTablePro.js +141 -0
  29. package/dist/PivotTablePro.js.map +1 -0
  30. package/dist/{SingleSelectField-Dzx78rCq.js → SingleSelectField-CMzbI0wG.js} +3 -3
  31. package/dist/{SingleSelectField-Dzx78rCq.js.map → SingleSelectField-CMzbI0wG.js.map} +1 -1
  32. package/dist/SingleSelectFieldPro.js +2 -2
  33. package/dist/TableChartPaginated.js +3 -3
  34. package/dist/TableChartPaginated.js.map +1 -1
  35. package/dist/{bars.utils-CTqUglN7.js → bars.utils-DIunU5Xf.js} +5 -5
  36. package/dist/{bars.utils-CTqUglN7.js.map → bars.utils-DIunU5Xf.js.map} +1 -1
  37. package/dist/charts.newFillGaps.hooks-CEXFxNVs.js +65 -0
  38. package/dist/charts.newFillGaps.hooks-CEXFxNVs.js.map +1 -0
  39. package/dist/{charts.utils-CgwyTiTH.js → charts.utils-9h6uemzB.js} +1371 -1396
  40. package/dist/charts.utils-9h6uemzB.js.map +1 -0
  41. package/dist/{component.constants-D59iJ42U.js → component.constants-6DERKpeq.js} +119 -108
  42. package/dist/component.constants-6DERKpeq.js.map +1 -0
  43. package/dist/embeddable-components.json +12 -11
  44. package/dist/embeddable-theme-2b917.js +6 -0
  45. package/dist/{formatter.utils-DDLdrAl9.js → formatter.utils-R5zIrZIA.js} +2 -2
  46. package/dist/{formatter.utils-DDLdrAl9.js.map → formatter.utils-R5zIrZIA.js.map} +1 -1
  47. package/dist/{index-DdEgKFPe.js → index-CLkczqL_.js} +8 -8
  48. package/dist/{index-DdEgKFPe.js.map → index-CLkczqL_.js.map} +1 -1
  49. package/dist/{index-CVw4TFfQ.js → index-Cj5wpig9.js} +4 -4
  50. package/dist/{index-CVw4TFfQ.js.map → index-Cj5wpig9.js.map} +1 -1
  51. package/dist/{index-DKUEiV33.js → index-Dfbt_iT7.js} +11 -11
  52. package/dist/{index-DKUEiV33.js.map → index-Dfbt_iT7.js.map} +1 -1
  53. package/dist/{index-BGwJ9TYS.js → index-DfnO1U7b.js} +7 -7
  54. package/dist/{index-BGwJ9TYS.js.map → index-DfnO1U7b.js.map} +1 -1
  55. package/dist/{index-BlqpkSit.js → index-YRGaBl06.js} +4 -4
  56. package/dist/{index-BlqpkSit.js.map → index-YRGaBl06.js.map} +1 -1
  57. package/dist/{index-IjB-3gUH.js → index-hua9dsBD.js} +5 -5
  58. package/dist/{index-IjB-3gUH.js.map → index-hua9dsBD.js.map} +1 -1
  59. package/dist/index.js +106 -102
  60. package/dist/index.js.map +1 -1
  61. package/dist/object.utils-D_Zzon-H.js +37 -0
  62. package/dist/object.utils-D_Zzon-H.js.map +1 -0
  63. package/dist/{pies.utils-DArVf3EJ.js → pies.utils-BHep0bTK.js} +5 -5
  64. package/dist/{pies.utils-DArVf3EJ.js.map → pies.utils-BHep0bTK.js.map} +1 -1
  65. package/dist/quarterOfYear-C0maIilJ.js +68 -0
  66. package/dist/quarterOfYear-C0maIilJ.js.map +1 -0
  67. package/dist/remarkable-pro/components/charts/charts.newFillGaps.hooks.d.ts.map +1 -1
  68. package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCard.d.ts.map +1 -1
  69. package/dist/remarkable-pro/components/charts/tables/PivotTablePro/PivotPro.utils.d.ts +14 -0
  70. package/dist/remarkable-pro/components/charts/tables/PivotTablePro/PivotPro.utils.d.ts.map +1 -0
  71. package/dist/remarkable-pro/components/charts/tables/PivotTablePro/index.d.ts +16 -0
  72. package/dist/remarkable-pro/components/charts/tables/PivotTablePro/index.d.ts.map +1 -0
  73. package/dist/remarkable-pro/components/component.constants.d.ts +11 -0
  74. package/dist/remarkable-pro/components/component.constants.d.ts.map +1 -1
  75. package/dist/remarkable-pro/theme/i18n/translations/de.d.ts.map +1 -1
  76. package/dist/remarkable-pro/theme/i18n/translations/en.d.ts.map +1 -1
  77. package/dist/remarkable-ui/charts/tables/PivotTable/PivotTable.d.ts +4 -0
  78. package/dist/remarkable-ui/charts/tables/PivotTable/PivotTable.d.ts.map +1 -0
  79. package/dist/remarkable-ui/charts/tables/PivotTable/PivotTable.stories.d.ts +24 -0
  80. package/dist/remarkable-ui/charts/tables/PivotTable/PivotTable.stories.d.ts.map +1 -0
  81. package/dist/remarkable-ui/charts/tables/PivotTable/PivotTable.types.d.ts +39 -0
  82. package/dist/remarkable-ui/charts/tables/PivotTable/PivotTable.types.d.ts.map +1 -0
  83. package/dist/remarkable-ui/charts/tables/Table/Table.hooks.d.ts.map +1 -0
  84. package/dist/remarkable-ui/charts/tables/{TablePaginated.d.ts → Table/TablePaginated.d.ts} +1 -1
  85. package/dist/remarkable-ui/charts/tables/Table/TablePaginated.d.ts.map +1 -0
  86. package/dist/remarkable-ui/charts/tables/Table/TablePaginated.stories.d.ts.map +1 -0
  87. package/dist/remarkable-ui/charts/tables/{components → Table/components}/TableBody/TableBody.d.ts +1 -1
  88. package/dist/remarkable-ui/charts/tables/Table/components/TableBody/TableBody.d.ts.map +1 -0
  89. package/dist/remarkable-ui/charts/tables/{components → Table/components}/TableHeader/TableHeader.d.ts +1 -1
  90. package/dist/remarkable-ui/charts/tables/Table/components/TableHeader/TableHeader.d.ts.map +1 -0
  91. package/dist/remarkable-ui/charts/tables/{components → Table/components}/TablePagination/TablePagination.d.ts +1 -1
  92. package/dist/remarkable-ui/charts/tables/Table/components/TablePagination/TablePagination.d.ts.map +1 -0
  93. package/dist/remarkable-ui/charts/tables/Table/components/TablePagination/TablePagination.stories.d.ts.map +1 -0
  94. package/dist/remarkable-ui/charts/tables/{tables.types.d.ts → Table/table.types.d.ts} +2 -2
  95. package/dist/remarkable-ui/charts/tables/Table/table.types.d.ts.map +1 -0
  96. package/dist/remarkable-ui/index.d.ts +5 -3
  97. package/dist/remarkable-ui/index.d.ts.map +1 -1
  98. package/dist/remarkable-ui.css +1 -1
  99. package/dist/{timeRange.utils-D6gvWIhx.js → timeRange.utils-C61mst0e.js} +2 -2
  100. package/dist/{timeRange.utils-D6gvWIhx.js.map → timeRange.utils-C61mst0e.js.map} +1 -1
  101. package/package.json +1 -1
  102. package/dist/ChartCard-Cr2L2Uki.js +0 -110
  103. package/dist/charts.newFillGaps.hooks-YXEKFvmz.js +0 -64
  104. package/dist/charts.newFillGaps.hooks-YXEKFvmz.js.map +0 -1
  105. package/dist/charts.utils-CgwyTiTH.js.map +0 -1
  106. package/dist/component.constants-D59iJ42U.js.map +0 -1
  107. package/dist/object.utils-Cae_z0QB.js +0 -69
  108. package/dist/object.utils-Cae_z0QB.js.map +0 -1
  109. package/dist/remarkable-ui/charts/tables/Table.hooks.d.ts.map +0 -1
  110. package/dist/remarkable-ui/charts/tables/TablePaginated.d.ts.map +0 -1
  111. package/dist/remarkable-ui/charts/tables/TablePaginated.stories.d.ts.map +0 -1
  112. package/dist/remarkable-ui/charts/tables/components/TableBody/TableBody.d.ts.map +0 -1
  113. package/dist/remarkable-ui/charts/tables/components/TableHeader/TableHeader.d.ts.map +0 -1
  114. package/dist/remarkable-ui/charts/tables/components/TablePagination/TablePagination.d.ts.map +0 -1
  115. package/dist/remarkable-ui/charts/tables/components/TablePagination/TablePagination.stories.d.ts.map +0 -1
  116. package/dist/remarkable-ui/charts/tables/tables.types.d.ts.map +0 -1
  117. /package/dist/remarkable-ui/charts/tables/{Table.hooks.d.ts → Table/Table.hooks.d.ts} +0 -0
  118. /package/dist/remarkable-ui/charts/tables/{TablePaginated.stories.d.ts → Table/TablePaginated.stories.d.ts} +0 -0
  119. /package/dist/remarkable-ui/charts/tables/{components → Table/components}/TablePagination/TablePagination.stories.d.ts +0 -0
@@ -1,64 +0,0 @@
1
- import { g as q, d as n, u as B } from "./utc-B2gCnkBk.js";
2
- import { i as E } from "./object.utils-Cae_z0QB.js";
3
- import { useTheme as F } from "@embeddable.com/react";
4
- import { useMemo as M } from "react";
5
- var S = { exports: {} }, W = S.exports, j;
6
- function Z() {
7
- return j || (j = 1, (function(O, h) {
8
- (function(e, t) {
9
- O.exports = t();
10
- })(W, (function() {
11
- return function(e, t) {
12
- t.prototype.isSameOrBefore = function(f, r) {
13
- return this.isSame(f, r) || this.isBefore(f, r);
14
- };
15
- };
16
- }));
17
- })(S)), S.exports;
18
- }
19
- var $ = Z();
20
- const b = /* @__PURE__ */ q($);
21
- n.extend(B);
22
- n.extend(E);
23
- n.extend(b);
24
- function A(O) {
25
- const h = F(), { results: e, dimension: t, orderDirection: f = "asc", externalDateBounds: r } = O;
26
- return M(() => {
27
- var k, I, R, V, w;
28
- const l = (k = t.inputs) == null ? void 0 : k.granularity, c = t.name, s = (I = t.inputs) == null ? void 0 : I.dateBounds;
29
- if (!l || !c || !s) return e;
30
- const a = s != null && s.relativeTimeString ? (R = h.defaults.dateRangesOptions.find((o) => o.value === (s == null ? void 0 : s.relativeTimeString))) == null ? void 0 : R.getRange() : s;
31
- if (t.nativeType !== "time") return e;
32
- const p = [...(e == null ? void 0 : e.data) ?? []].sort((o, i) => {
33
- const u = o[c], m = i[c];
34
- return u == null ? 1 : m == null ? -1 : n.utc(u).diff(n.utc(m));
35
- }), x = n.utc(
36
- (r == null ? void 0 : r.from) ?? (a == null ? void 0 : a.from) ?? ((V = p[0]) == null ? void 0 : V[c])
37
- ), y = n.utc(
38
- (r == null ? void 0 : r.to) ?? (a == null ? void 0 : a.to) ?? ((w = p[p.length - 1]) == null ? void 0 : w[c])
39
- );
40
- if (!x.isValid() || !y.isValid())
41
- return { ...e, data: [] };
42
- const v = /* @__PURE__ */ new Map();
43
- for (const o of p) {
44
- const i = o[c];
45
- if (i == null) continue;
46
- const u = n.utc(i).toISOString().split("Z")[0], m = v.get(u) ?? [];
47
- m.push(o), v.set(u, m);
48
- }
49
- const d = [];
50
- let g = x.startOf(l === "week" ? "isoWeek" : l);
51
- for (; g.isSameOrBefore(y); ) {
52
- const o = g.toISOString().split("Z")[0], i = v.get(o);
53
- i && i.length > 0 ? d.push(...i) : d.push({ [c]: o }), g = g.add(1, l);
54
- }
55
- return f === "desc" && d.reverse(), {
56
- ...e,
57
- data: d
58
- };
59
- }, [e, t, f, h]);
60
- }
61
- export {
62
- A as u
63
- };
64
- //# sourceMappingURL=charts.newFillGaps.hooks-YXEKFvmz.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"charts.newFillGaps.hooks-YXEKFvmz.js","sources":["../node_modules/dayjs/plugin/isSameOrBefore.js","../src/remarkable-pro/components/charts/charts.newFillGaps.hooks.ts"],"sourcesContent":["!function(e,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isSameOrBefore=i()}(this,(function(){\"use strict\";return function(e,i){i.prototype.isSameOrBefore=function(e,i){return this.isSame(e,i)||this.isBefore(e,i)}}}));","import { DataResponse, Dimension, TimeRange } from '@embeddable.com/core';\nimport dayjs, { QUnitType } from 'dayjs';\nimport isoWeek from 'dayjs/plugin/isoWeek.js';\nimport utc from 'dayjs/plugin/utc.js';\nimport isSameOrBefore from 'dayjs/plugin/isSameOrBefore.js';\nimport { Theme } from '../../theme/theme.types';\nimport { useTheme } from '@embeddable.com/react';\nimport { useMemo } from 'react';\n\ndayjs.extend(utc);\ndayjs.extend(isoWeek);\ndayjs.extend(isSameOrBefore);\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype DataRecord = { [key: string]: any };\n\ntype UseFillGapsProps = {\n results: DataResponse | undefined;\n dimension: Dimension;\n orderDirection?: 'asc' | 'desc';\n externalDateBounds?: TimeRange;\n};\n\nexport function useFillGaps(props: UseFillGapsProps): DataResponse {\n const theme = useTheme() as Theme;\n const { results, dimension, orderDirection = 'asc', externalDateBounds } = props;\n\n const processed = useMemo(() => {\n const granularity = dimension.inputs?.granularity;\n const dimensionName = dimension.name;\n const dateBoundsTmp: TimeRange = dimension.inputs?.dateBounds;\n\n if (!granularity || !dimensionName || !dateBoundsTmp) return results;\n\n const dateBounds = dateBoundsTmp?.relativeTimeString\n ? theme.defaults.dateRangesOptions\n .find((option) => option.value === dateBoundsTmp?.relativeTimeString)\n ?.getRange()\n : dateBoundsTmp;\n\n if (dimension.nativeType !== 'time') return results;\n\n const sortedResults = [...(results?.data ?? [])].sort((a, b) => {\n const aVal = a[dimensionName];\n const bVal = b[dimensionName];\n if (aVal == null) return 1;\n if (bVal == null) return -1;\n return dayjs.utc(aVal).diff(dayjs.utc(bVal));\n });\n\n // Determine the full date range even if data is empty\n const from = dayjs.utc(\n externalDateBounds?.from ?? dateBounds?.from ?? sortedResults[0]?.[dimensionName],\n );\n const to = dayjs.utc(\n externalDateBounds?.to ??\n dateBounds?.to ??\n sortedResults[sortedResults.length - 1]?.[dimensionName],\n );\n\n // If we *still* don’t have valid date bounds, bail out safely\n if (!from.isValid() || !to.isValid()) {\n return { ...results, data: [] };\n }\n\n const recordsByDate = new Map<string, DataRecord[]>();\n for (const record of sortedResults) {\n const value = record[dimensionName];\n if (value == null) continue;\n const key = dayjs.utc(value).toISOString().split('Z')[0]!;\n const arr = recordsByDate.get(key) ?? [];\n arr.push(record);\n recordsByDate.set(key, arr);\n }\n\n const filled: DataRecord[] = [];\n let current = from.startOf((granularity === 'week' ? 'isoWeek' : granularity) as QUnitType);\n\n while (current.isSameOrBefore(to)) {\n const key = current.toISOString().split('Z')[0]!;\n const records = recordsByDate.get(key);\n\n if (records && records.length > 0) {\n filled.push(...records);\n } else {\n filled.push({ [dimensionName]: key });\n }\n\n current = current.add(1, granularity as QUnitType);\n }\n\n if (orderDirection === 'desc') {\n filled.reverse();\n }\n\n return {\n ...results,\n data: filled,\n };\n }, [results, dimension, orderDirection, theme]);\n\n return processed as DataResponse;\n}\n"],"names":["i","module","this","e","dayjs","utc","isoWeek","isSameOrBefore","useFillGaps","props","theme","useTheme","results","dimension","orderDirection","externalDateBounds","useMemo","granularity","_a","dimensionName","dateBoundsTmp","_b","dateBounds","_c","option","sortedResults","a","b","aVal","bVal","from","_d","to","_e","recordsByDate","record","value","key","arr","filled","current","records"],"mappings":";;;;;;;AAAA,KAAC,SAAS,GAAEA,GAAE;AAAsD,MAAAC,EAAA,UAAeD,EAAC;AAAA,IAAwI,GAAEE,IAAM,WAAU;AAAc,aAAO,SAAS,GAAEF,GAAE;AAAC,QAAAA,EAAE,UAAU,iBAAe,SAASG,GAAEH,GAAE;AAAC,iBAAO,KAAK,OAAOG,GAAEH,CAAC,KAAG,KAAK,SAASG,GAAEH,CAAC;AAAA,QAAC;AAAA,MAAC;AAAA,IAAC,EAAC;AAAA;;;;ACSxWI,EAAM,OAAOC,CAAG;AAChBD,EAAM,OAAOE,CAAO;AACpBF,EAAM,OAAOG,CAAc;AAYpB,SAASC,EAAYC,GAAuC;AACjE,QAAMC,IAAQC,EAAA,GACR,EAAE,SAAAC,GAAS,WAAAC,GAAW,gBAAAC,IAAiB,OAAO,oBAAAC,MAAuBN;AA4E3E,SA1EkBO,EAAQ,MAAM;;AAC9B,UAAMC,KAAcC,IAAAL,EAAU,WAAV,gBAAAK,EAAkB,aAChCC,IAAgBN,EAAU,MAC1BO,KAA2BC,IAAAR,EAAU,WAAV,gBAAAQ,EAAkB;AAEnD,QAAI,CAACJ,KAAe,CAACE,KAAiB,CAACC,EAAe,QAAOR;AAE7D,UAAMU,IAAaF,KAAA,QAAAA,EAAe,sBAC9BG,IAAAb,EAAM,SAAS,kBACZ,KAAK,CAACc,MAAWA,EAAO,WAAUJ,KAAA,gBAAAA,EAAe,mBAAkB,MADtE,gBAAAG,EAEI,aACJH;AAEJ,QAAIP,EAAU,eAAe,OAAQ,QAAOD;AAE5C,UAAMa,IAAgB,CAAC,IAAIb,KAAA,gBAAAA,EAAS,SAAQ,CAAA,CAAG,EAAE,KAAK,CAACc,GAAGC,MAAM;AAC9D,YAAMC,IAAOF,EAAEP,CAAa,GACtBU,IAAOF,EAAER,CAAa;AAC5B,aAAIS,KAAQ,OAAa,IACrBC,KAAQ,OAAa,KAClBzB,EAAM,IAAIwB,CAAI,EAAE,KAAKxB,EAAM,IAAIyB,CAAI,CAAC;AAAA,IAC7C,CAAC,GAGKC,IAAO1B,EAAM;AAAA,OACjBW,KAAA,gBAAAA,EAAoB,UAAQO,KAAA,gBAAAA,EAAY,WAAQS,IAAAN,EAAc,CAAC,MAAf,gBAAAM,EAAmBZ;AAAA,IAAa,GAE5Ea,IAAK5B,EAAM;AAAA,OACfW,KAAA,gBAAAA,EAAoB,QAClBO,KAAA,gBAAAA,EAAY,SACZW,IAAAR,EAAcA,EAAc,SAAS,CAAC,MAAtC,gBAAAQ,EAA0Cd;AAAA,IAAa;AAI3D,QAAI,CAACW,EAAK,QAAA,KAAa,CAACE,EAAG;AACzB,aAAO,EAAE,GAAGpB,GAAS,MAAM,GAAC;AAG9B,UAAMsB,wBAAoB,IAAA;AAC1B,eAAWC,KAAUV,GAAe;AAClC,YAAMW,IAAQD,EAAOhB,CAAa;AAClC,UAAIiB,KAAS,KAAM;AACnB,YAAMC,IAAMjC,EAAM,IAAIgC,CAAK,EAAE,cAAc,MAAM,GAAG,EAAE,CAAC,GACjDE,IAAMJ,EAAc,IAAIG,CAAG,KAAK,CAAA;AACtC,MAAAC,EAAI,KAAKH,CAAM,GACfD,EAAc,IAAIG,GAAKC,CAAG;AAAA,IAC5B;AAEA,UAAMC,IAAuB,CAAA;AAC7B,QAAIC,IAAUV,EAAK,QAASb,MAAgB,SAAS,YAAYA,CAAyB;AAE1F,WAAOuB,EAAQ,eAAeR,CAAE,KAAG;AACjC,YAAMK,IAAMG,EAAQ,YAAA,EAAc,MAAM,GAAG,EAAE,CAAC,GACxCC,IAAUP,EAAc,IAAIG,CAAG;AAErC,MAAII,KAAWA,EAAQ,SAAS,IAC9BF,EAAO,KAAK,GAAGE,CAAO,IAEtBF,EAAO,KAAK,EAAE,CAACpB,CAAa,GAAGkB,GAAK,GAGtCG,IAAUA,EAAQ,IAAI,GAAGvB,CAAwB;AAAA,IACnD;AAEA,WAAIH,MAAmB,UACrByB,EAAO,QAAA,GAGF;AAAA,MACL,GAAG3B;AAAA,MACH,MAAM2B;AAAA,IAAA;AAAA,EAEV,GAAG,CAAC3B,GAASC,GAAWC,GAAgBJ,CAAK,CAAC;AAGhD;","x_google_ignoreList":[0]}