@cuemath/web-utils 1.0.9-deepak.0 → 1.0.10-deepak.2

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 (132) hide show
  1. package/dist/cjs/constants/country/index.js.map +1 -0
  2. package/dist/cjs/constants/country/iso-country-code.js.map +1 -0
  3. package/dist/cjs/constants/date-time/index.js.map +1 -0
  4. package/dist/cjs/constants/date-time/international-timezones.js.map +1 -0
  5. package/dist/cjs/constants/index.js.map +1 -0
  6. package/dist/cjs/cookie/index.js.map +1 -0
  7. package/dist/{date-time-helper → cjs/date-time-helper}/index.js +1 -1
  8. package/dist/cjs/date-time-helper/index.js.map +1 -0
  9. package/dist/cjs/e-cna/index.js.map +1 -0
  10. package/dist/{growth-source → cjs/growth-source}/index.d.ts +2 -1
  11. package/dist/{growth-source → cjs/growth-source}/index.js +8 -5
  12. package/dist/cjs/growth-source/index.js.map +1 -0
  13. package/dist/{growth-source → cjs/growth-source}/types.d.ts +2 -2
  14. package/dist/{growth-source → cjs/growth-source}/types.js.map +1 -1
  15. package/dist/cjs/growth-source/utils/env-mode.js.map +1 -0
  16. package/dist/cjs/growth-source/utils/index.js.map +1 -0
  17. package/dist/cjs/growth-source/utils/server.js.map +1 -0
  18. package/dist/cjs/index.js.map +1 -0
  19. package/dist/cjs/local-storage/index.js.map +1 -0
  20. package/dist/cjs/object/index.js.map +1 -0
  21. package/dist/esm/constants/country/index.js +2 -0
  22. package/dist/esm/constants/country/index.js.map +1 -0
  23. package/dist/esm/constants/country/iso-country-code.d.ts +248 -0
  24. package/dist/esm/constants/country/iso-country-code.js +249 -0
  25. package/dist/esm/constants/country/iso-country-code.js.map +1 -0
  26. package/dist/esm/constants/date-time/index.d.ts +18 -0
  27. package/dist/esm/constants/date-time/index.js +40 -0
  28. package/dist/esm/constants/date-time/index.js.map +1 -0
  29. package/dist/esm/constants/date-time/international-timezones.d.ts +7 -0
  30. package/dist/esm/constants/date-time/international-timezones.js +148 -0
  31. package/dist/esm/constants/date-time/international-timezones.js.map +1 -0
  32. package/dist/esm/constants/index.js +3 -0
  33. package/dist/esm/constants/index.js.map +1 -0
  34. package/dist/esm/cookie/index.d.ts +4 -0
  35. package/dist/esm/cookie/index.js +38 -0
  36. package/dist/esm/cookie/index.js.map +1 -0
  37. package/dist/esm/date-time-helper/index.d.ts +30 -0
  38. package/dist/esm/date-time-helper/index.js +87 -0
  39. package/dist/esm/date-time-helper/index.js.map +1 -0
  40. package/dist/esm/e-cna/index.d.ts +4 -0
  41. package/dist/esm/e-cna/index.js +18 -0
  42. package/dist/esm/e-cna/index.js.map +1 -0
  43. package/dist/esm/growth-source/index.d.ts +8 -0
  44. package/dist/esm/growth-source/index.js +183 -0
  45. package/dist/esm/growth-source/index.js.map +1 -0
  46. package/dist/esm/growth-source/types.d.ts +41 -0
  47. package/dist/esm/growth-source/types.js +2 -0
  48. package/dist/esm/growth-source/types.js.map +1 -0
  49. package/dist/esm/growth-source/utils/env-mode.d.ts +5 -0
  50. package/dist/esm/growth-source/utils/env-mode.js +6 -0
  51. package/dist/esm/growth-source/utils/env-mode.js.map +1 -0
  52. package/dist/esm/growth-source/utils/index.js +3 -0
  53. package/dist/esm/growth-source/utils/index.js.map +1 -0
  54. package/dist/esm/growth-source/utils/server.d.ts +1 -0
  55. package/{src/growth-source/utils/server.ts → dist/esm/growth-source/utils/server.js} +1 -0
  56. package/dist/esm/growth-source/utils/server.js.map +1 -0
  57. package/dist/esm/index.js +8 -0
  58. package/dist/esm/index.js.map +1 -0
  59. package/dist/esm/local-storage/index.d.ts +13 -0
  60. package/dist/esm/local-storage/index.js +162 -0
  61. package/dist/esm/local-storage/index.js.map +1 -0
  62. package/dist/esm/object/index.d.ts +2 -0
  63. package/dist/esm/object/index.js +19 -0
  64. package/dist/esm/object/index.js.map +1 -0
  65. package/package.json +11 -4
  66. package/.eslintignore +0 -2
  67. package/.eslintrc.json +0 -9
  68. package/.husky/pre-commit +0 -5
  69. package/.huskyrc +0 -5
  70. package/.lintstagedrc.yml +0 -1
  71. package/.nvmrc +0 -1
  72. package/.prettierrc.json +0 -1
  73. package/.vscode/settings.json +0 -1
  74. package/dist/constants/country/index.js.map +0 -1
  75. package/dist/constants/country/iso-country-code.js.map +0 -1
  76. package/dist/constants/date-time/index.js.map +0 -1
  77. package/dist/constants/date-time/international-timezones.js.map +0 -1
  78. package/dist/constants/index.js.map +0 -1
  79. package/dist/cookie/index.js.map +0 -1
  80. package/dist/date-time-helper/index.js.map +0 -1
  81. package/dist/e-cna/index.js.map +0 -1
  82. package/dist/growth-source/index.js.map +0 -1
  83. package/dist/growth-source/utils/env-mode.js.map +0 -1
  84. package/dist/growth-source/utils/index.js.map +0 -1
  85. package/dist/growth-source/utils/server.js.map +0 -1
  86. package/dist/index.js.map +0 -1
  87. package/dist/local-storage/index.js.map +0 -1
  88. package/dist/object/index.js.map +0 -1
  89. package/src/constants/country/iso-country-code.ts +0 -248
  90. package/src/constants/date-time/index.ts +0 -45
  91. package/src/constants/date-time/international-timezones.ts +0 -157
  92. package/src/cookie/index.ts +0 -59
  93. package/src/date-time-helper/index.ts +0 -139
  94. package/src/e-cna/index.ts +0 -23
  95. package/src/growth-source/index.ts +0 -237
  96. package/src/growth-source/types.ts +0 -50
  97. package/src/growth-source/utils/env-mode.ts +0 -5
  98. package/src/local-storage/index.ts +0 -196
  99. package/src/object/index.ts +0 -21
  100. package/tsconfig.json +0 -8
  101. /package/dist/{constants → cjs/constants}/country/index.d.ts +0 -0
  102. /package/dist/{constants → cjs/constants}/country/index.js +0 -0
  103. /package/dist/{constants → cjs/constants}/country/iso-country-code.d.ts +0 -0
  104. /package/dist/{constants → cjs/constants}/country/iso-country-code.js +0 -0
  105. /package/dist/{constants → cjs/constants}/date-time/index.d.ts +0 -0
  106. /package/dist/{constants → cjs/constants}/date-time/index.js +0 -0
  107. /package/dist/{constants → cjs/constants}/date-time/international-timezones.d.ts +0 -0
  108. /package/dist/{constants → cjs/constants}/date-time/international-timezones.js +0 -0
  109. /package/dist/{constants → cjs/constants}/index.d.ts +0 -0
  110. /package/dist/{constants → cjs/constants}/index.js +0 -0
  111. /package/dist/{cookie → cjs/cookie}/index.d.ts +0 -0
  112. /package/dist/{cookie → cjs/cookie}/index.js +0 -0
  113. /package/dist/{date-time-helper → cjs/date-time-helper}/index.d.ts +0 -0
  114. /package/dist/{e-cna → cjs/e-cna}/index.d.ts +0 -0
  115. /package/dist/{e-cna → cjs/e-cna}/index.js +0 -0
  116. /package/dist/{growth-source → cjs/growth-source}/types.js +0 -0
  117. /package/dist/{growth-source → cjs/growth-source}/utils/env-mode.d.ts +0 -0
  118. /package/dist/{growth-source → cjs/growth-source}/utils/env-mode.js +0 -0
  119. /package/dist/{growth-source → cjs/growth-source}/utils/index.d.ts +0 -0
  120. /package/dist/{growth-source → cjs/growth-source}/utils/index.js +0 -0
  121. /package/dist/{growth-source → cjs/growth-source}/utils/server.d.ts +0 -0
  122. /package/dist/{growth-source → cjs/growth-source}/utils/server.js +0 -0
  123. /package/dist/{index.d.ts → cjs/index.d.ts} +0 -0
  124. /package/dist/{index.js → cjs/index.js} +0 -0
  125. /package/dist/{local-storage → cjs/local-storage}/index.d.ts +0 -0
  126. /package/dist/{local-storage → cjs/local-storage}/index.js +0 -0
  127. /package/dist/{object → cjs/object}/index.d.ts +0 -0
  128. /package/dist/{object → cjs/object}/index.js +0 -0
  129. /package/{src/constants/country/index.ts → dist/esm/constants/country/index.d.ts} +0 -0
  130. /package/{src/constants/index.ts → dist/esm/constants/index.d.ts} +0 -0
  131. /package/{src/growth-source/utils/index.ts → dist/esm/growth-source/utils/index.d.ts} +0 -0
  132. /package/{src/index.ts → dist/esm/index.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/date-time-helper/index.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,YAAY,MAAM,2BAA2B,CAAC;AAErD,OAAO,EAAE,SAAS,EAAE,MAAM,gDAAgD,CAAC;AAW3E,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,QAAiE,EACjE,MAA0B,EAC1B,EAAE;IACF,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;IAEnC,OAAO,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC,CAAC;AAEF,MAAM,UAAU,mBAAmB;IACjC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;KACvC;IAED,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,SAAoB,EAAE,QAAiB;IACxE,IAAI,OAAO,GAAG,EAAE,CAAC;IAEjB,IAAI,QAAQ,EAAE;QACZ,OAAO,GAAG;YACR,QAAQ,EAAE,QAAQ;SACnB,CAAC;KACH;IAED,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,SAAiB,EACjB,QAAgB,EAChB,MAAc;IAEd,MAAM,QAAQ,GAAG,kBAAkB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAEzD,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,YAAY,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,SAAoB,EAAE,MAAc,EAAU,EAAE;IAC9E,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAE7D,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,YAAY,CAAC,CAAC;AACxD,CAAC,CAAC;AAEF,MAAM,UAAU,yBAAyB,CAAC,SAAoB;IAC5D,MAAM,aAAa,GAAG,SAAS,CAAC;IAChC,MAAM,gBAAgB,GAAG,mBAAmB,EAAE,CAAC;IAE/C,IAAI,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE;QACjE,OAAO,SAAS,CAAC;KAClB;IAED,MAAM,mBAAmB,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC;IACzD,MAAM,sBAAsB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC;IAE/D,OAAO,mBAAmB,GAAG,sBAAsB,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AACrF,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAmB,EAAE,MAA0B;IAC7E,MAAM,SAAS,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IAEtD,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,cAAc,GAAG,eAAe,GAAG,QAAQ,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,OAAO,CACrB,QAAiE;IAEjE,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAE3B,OAAO,KAAK,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,QAAgB;IACvD,IAAI,OAAO,GAAG,EAAE,CAAC;IAEjB,IAAI,QAAQ,EAAE;QACZ,OAAO,GAAG;YACR,QAAQ,EAAE,QAAQ;SACnB,CAAC;KACH;IAED,OAAO,IAAI,IAAI,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,KAA8D,EAC9D,KAA8D;IAE9D,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/B,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IAE/B,OAAO;QACL,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC;QACvC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC;QACvC,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC;QAC3C,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC;QAC7C,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;KACpC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,OAAO,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,cAAc,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;AAC/E,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,gBAAwB,EAAU,EAAE;;IACpE,MAAM,iBAAiB,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,CACvC,eAAe,CAAC,EAAE,CAAC,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,EAAE,MAAK,gBAAgB,CAC5D,CAAC;IAEF,OAAO,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,KAAK,mCAAI,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAC1E,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,OAAe,EAAE,EAAE;IAC7D,OAAO,OAAO,GAAG,IAAI,CAAC;AACxB,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare const getDates: (timezone: string) => Array<{
2
+ futureDate: number;
3
+ disabled: boolean;
4
+ }>;
@@ -0,0 +1,18 @@
1
+ import { TWENTY_FOUR_HOURS_IN_SECONDS } from '../constants/date-time';
2
+ import { getCurrentDatebyTimezone } from '../date-time-helper/index';
3
+ // if adding any change in this function, then need update at all the places where we are using this function in website and astro
4
+ export const getDates = (timezone) => {
5
+ const currentDate = Date.parse(getCurrentDatebyTimezone(timezone)) / 1000;
6
+ const dates = [];
7
+ const days = 10;
8
+ const buffer = 2;
9
+ // getting dates by adding 86400 seconds(24 hours)
10
+ for (let i = 0; i < days; i += 1) {
11
+ dates.push({
12
+ futureDate: currentDate + TWENTY_FOUR_HOURS_IN_SECONDS * i,
13
+ disabled: !(i > buffer),
14
+ });
15
+ }
16
+ return dates;
17
+ };
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/e-cna/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAErE,kIAAkI;AAClI,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,QAAgB,EACkC,EAAE;IACpD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC;IAC1E,MAAM,KAAK,GAAG,EAAE,CAAC;IAEjB,MAAM,IAAI,GAAG,EAAE,CAAC;IAChB,MAAM,MAAM,GAAG,CAAC,CAAC;IAEjB,kDAAkD;IAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE;QAChC,KAAK,CAAC,IAAI,CAAC;YACT,UAAU,EAAE,WAAW,GAAG,4BAA4B,GAAG,CAAC;YAC1D,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;SACxB,CAAC,CAAC;KACJ;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { SourceDetails, SourceDetailsCookie, SignupFlow } from './types';
2
+ export * from './utils';
3
+ export declare const readSourceCookie: () => SourceDetailsCookie;
4
+ export declare const isSourcePresent: () => boolean;
5
+ export declare const initSourceDetails: ({ platform, experiments, flow, affiliateChannel, offlineChannel, organicChannel, performanceChannel, revenueChannel, guestId, }: SourceDetails) => Promise<void>;
6
+ export declare const setLastPage: (pagePath: string) => Promise<void>;
7
+ export declare const setFlowEntryPoint: (flowEntry: string) => Promise<void>;
8
+ export declare const setFlow: (flow: SignupFlow) => Promise<void>;
@@ -0,0 +1,183 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { createCookie, getCookie, removeCookie } from '../cookie';
11
+ export * from './utils';
12
+ const SOURCE_DETAILS_COOKIE = 'source_details';
13
+ const UTM_PARAMS = [
14
+ 'utm_source',
15
+ 'utm_medium',
16
+ 'utm_campaign',
17
+ 'utm_term',
18
+ ];
19
+ export const readSourceCookie = () => {
20
+ const sourceDetails = getCookie(SOURCE_DETAILS_COOKIE);
21
+ return sourceDetails ? JSON.parse(decodeURIComponent(sourceDetails)) : undefined;
22
+ };
23
+ const writeSourceCookie = (sourceDetails) => {
24
+ createCookie(SOURCE_DETAILS_COOKIE, JSON.stringify(sourceDetails), 365);
25
+ };
26
+ export const isSourcePresent = () => {
27
+ return !!getCookie(SOURCE_DETAILS_COOKIE);
28
+ };
29
+ const updateSourceCookie = (sourceDetail) => {
30
+ if (!isSourcePresent)
31
+ return;
32
+ const sourceDetails = readSourceCookie();
33
+ const updatedDetails = Object.assign(Object.assign({}, sourceDetails), sourceDetail);
34
+ writeSourceCookie(updatedDetails);
35
+ };
36
+ const getRevenueChannel = (platform, utmSource) => {
37
+ let revenueChannel = 'unknown';
38
+ // set defaults for WEBSITE and ASTRO
39
+ if (platform === 'website') {
40
+ revenueChannel = 'organic';
41
+ }
42
+ if (utmSource) {
43
+ switch (true) {
44
+ case /^affiliate-/.test(utmSource):
45
+ revenueChannel = 'affiliate';
46
+ break;
47
+ case /^offline-/.test(utmSource):
48
+ revenueChannel = 'offline';
49
+ break;
50
+ case /^referral-/.test(utmSource):
51
+ revenueChannel = 'referral';
52
+ break;
53
+ case /^performance-/.test(utmSource):
54
+ revenueChannel = 'performance';
55
+ break;
56
+ }
57
+ }
58
+ return revenueChannel;
59
+ };
60
+ /*
61
+ if Platform = website, then decide based on experiment key
62
+ if Platform = Astro, decide logic once BAU is started
63
+ if Platform = APP, decide logic
64
+ if Platform = chatbot, decide based on chatbot experiment key
65
+ */
66
+ const getFlow = (platform, experiments) => {
67
+ let flow = 'regular';
68
+ if (platform === 'website') {
69
+ if (experiments) {
70
+ const ecnaExp = Object.keys(experiments).find(experiment => experiment.indexOf('ecna') !== -1);
71
+ flow = ecnaExp && experiments[ecnaExp] === 'b' ? 'e-cna' : 'regular';
72
+ }
73
+ }
74
+ return flow;
75
+ };
76
+ const getUTMParams = () => {
77
+ if (typeof window === undefined)
78
+ return {};
79
+ const search = new URLSearchParams(window.location.search);
80
+ const utmParams = UTM_PARAMS.reduce((acc, param) => {
81
+ const utmParam = search.get(param);
82
+ if (utmParam) {
83
+ acc[param] = utmParam;
84
+ }
85
+ return acc;
86
+ }, {});
87
+ return utmParams;
88
+ };
89
+ const getFirstPage = () => {
90
+ if (typeof window === undefined)
91
+ return '';
92
+ return window.location.pathname;
93
+ };
94
+ /* TODO: Align Marketing Team on UTM source convention
95
+ affiliate-<channel>
96
+ performance-<channel>
97
+ organic-<channel>
98
+ offline-<channel>
99
+ */
100
+ const getChannel = (utmSource) => {
101
+ // TODO: UTM source patter for FB, GOOGLE...
102
+ if (!utmSource)
103
+ return '';
104
+ let channel = '';
105
+ if (utmSource) {
106
+ switch (true) {
107
+ case /^affiliate-/.test(utmSource):
108
+ case /^offline-/.test(utmSource):
109
+ case /^referral-/.test(utmSource):
110
+ case /^performance-/.test(utmSource):
111
+ channel = utmSource.split('-')[1];
112
+ break;
113
+ default:
114
+ break;
115
+ }
116
+ }
117
+ return channel;
118
+ };
119
+ /*
120
+ Set Static Source Details of user on Visit of Platform
121
+ */
122
+ export const initSourceDetails = ({ platform, experiments, // only for website.
123
+ flow, affiliateChannel, offlineChannel, organicChannel, performanceChannel, revenueChannel, guestId, }) => __awaiter(void 0, void 0, void 0, function* () {
124
+ const utmParams = getUTMParams();
125
+ const { utm_source: utmSource } = utmParams;
126
+ const leadChannel = getChannel(utmSource);
127
+ /*
128
+ source cookie was added in cross subdomain for few days initially,
129
+ which was later changed to subdomain specific. Now to sending older cookie to backend, removing older cookie
130
+ */
131
+ removeCookie(SOURCE_DETAILS_COOKIE, true);
132
+ revenueChannel = revenueChannel || getRevenueChannel(platform, utmSource);
133
+ if (utmSource) {
134
+ affiliateChannel =
135
+ revenueChannel === 'affiliate' ? affiliateChannel || leadChannel : undefined;
136
+ offlineChannel =
137
+ revenueChannel === 'offline' ? offlineChannel || leadChannel : undefined;
138
+ organicChannel =
139
+ revenueChannel === 'organic' ? organicChannel || leadChannel : undefined;
140
+ performanceChannel =
141
+ revenueChannel === 'performance' ? performanceChannel || leadChannel : undefined;
142
+ }
143
+ if (!isSourcePresent()) {
144
+ const sourceDetails = {
145
+ platform_channel: platform,
146
+ experiment_dict: experiments,
147
+ utm_params: utmParams,
148
+ flow: flow || getFlow(platform, experiments),
149
+ affiliate_channel: affiliateChannel,
150
+ offline_channel: offlineChannel,
151
+ organic_channel: organicChannel,
152
+ performance_channel: performanceChannel,
153
+ revenue_channel: revenueChannel,
154
+ first_page: getFirstPage(),
155
+ guest_id: guestId,
156
+ };
157
+ writeSourceCookie(sourceDetails);
158
+ }
159
+ else {
160
+ let updatedSource = {
161
+ experiment_dict: experiments,
162
+ flow: flow || getFlow(platform, experiments),
163
+ guest_id: guestId,
164
+ };
165
+ if (utmSource) {
166
+ updatedSource = Object.assign(Object.assign({}, updatedSource), { utm_params: utmParams, affiliate_channel: affiliateChannel, offline_channel: offlineChannel, organic_channel: organicChannel, performance_channel: performanceChannel, revenue_channel: revenueChannel });
167
+ }
168
+ updateSourceCookie(updatedSource);
169
+ }
170
+ });
171
+ // Last Page which user visited signup before
172
+ export const setLastPage = (pagePath) => __awaiter(void 0, void 0, void 0, function* () {
173
+ updateSourceCookie({ last_page: pagePath });
174
+ });
175
+ // set Entry point where user clicked to Signup
176
+ export const setFlowEntryPoint = (flowEntry) => __awaiter(void 0, void 0, void 0, function* () {
177
+ updateSourceCookie({ flow_entry: flowEntry });
178
+ });
179
+ // set Entry point where user clicked to Signup
180
+ export const setFlow = (flow) => __awaiter(void 0, void 0, void 0, function* () {
181
+ updateSourceCookie({ flow });
182
+ });
183
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/growth-source/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ export type Platform = 'website' | 'app' | 'astro' | 'leap-teacher' | 'leap-admin';
2
+ export type RevenueChannel = 'organic' | 'performance' | 'affiliate' | 'offline' | 'referral' | 'unknown';
3
+ export type SignupFlow = 'regular' | 'e-cna' | 'e-sales' | 'e-cna-exit';
4
+ export type Experiments = Record<string, unknown>;
5
+ export type UTMParams = {
6
+ utm_source?: string;
7
+ utm_medium?: string;
8
+ utm_campaign?: string;
9
+ utm_term?: string;
10
+ };
11
+ export type UTMParamsKeys = keyof UTMParams;
12
+ export type SourceDetailsCookie = {
13
+ platform_channel: Platform;
14
+ experiment_dict?: Experiments;
15
+ flow?: SignupFlow;
16
+ utm_params?: UTMParams;
17
+ affiliate_channel?: string;
18
+ offline_channel?: string;
19
+ performance_channel?: string;
20
+ revenue_channel: RevenueChannel;
21
+ organic_channel?: string;
22
+ flow_entry?: string;
23
+ first_page?: string;
24
+ last_page?: string;
25
+ guest_id?: string;
26
+ };
27
+ export type SourceDetails = {
28
+ platform: Platform;
29
+ experiments?: Experiments;
30
+ flow?: SignupFlow;
31
+ utmParams?: UTMParams;
32
+ affiliateChannel?: string;
33
+ offlineChannel?: string;
34
+ performanceChannel?: string;
35
+ revenueChannel: RevenueChannel;
36
+ organicChannel?: string;
37
+ flowEntry?: string;
38
+ firstPage?: string;
39
+ lastPage?: string;
40
+ guestId?: string;
41
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/growth-source/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export declare const APP_ENV: {
2
+ PRODUCTION: string;
3
+ STAGING: string;
4
+ DEVELOPMENT: string;
5
+ };
@@ -0,0 +1,6 @@
1
+ export const APP_ENV = {
2
+ PRODUCTION: 'production',
3
+ STAGING: 'staging',
4
+ DEVELOPMENT: 'development',
5
+ };
6
+ //# sourceMappingURL=env-mode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env-mode.js","sourceRoot":"","sources":["../../../../src/growth-source/utils/env-mode.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,UAAU,EAAE,YAAY;IACxB,OAAO,EAAE,SAAS;IAClB,WAAW,EAAE,aAAa;CAC3B,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './env-mode';
2
+ export * from './server';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/growth-source/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const isServer: boolean;
@@ -1 +1,2 @@
1
1
  export const isServer = typeof window === 'undefined';
2
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../../src/growth-source/utils/server.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC"}
@@ -0,0 +1,8 @@
1
+ export * from './cookie';
2
+ export * from './constants';
3
+ export * from './local-storage';
4
+ export * from './date-time-helper';
5
+ export * from './object';
6
+ export * from './growth-source';
7
+ export * from './e-cna';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC"}
@@ -0,0 +1,13 @@
1
+ export declare const LOCAL_STORAGE_PRIMARY_KEY = "CUEMATH_WEB";
2
+ export declare const checkLocalStorageSupport: () => boolean;
3
+ export declare const removeKeyFromObject: (obj: {
4
+ [x: string]: any;
5
+ }, keyToRemove: string) => {
6
+ [x: string]: any;
7
+ } | null;
8
+ export declare const localStorageSet: (key: string | number, value: any, ttl?: number) => boolean;
9
+ export declare const localStorageGet: (key: string) => null | string;
10
+ export declare const localStorageGetAll: () => null | string;
11
+ export declare const localStorageRemove: (key: string) => boolean;
12
+ export declare const localStorageRemoveAll: () => boolean;
13
+ export declare const removeExpiredKeysOnMount: () => boolean;
@@ -0,0 +1,162 @@
1
+ import { TWENTY_FOUR_HOURS_IN_SECONDS } from '../constants/date-time';
2
+ /* eslint-disable @typescript-eslint/no-explicit-any */
3
+ export const LOCAL_STORAGE_PRIMARY_KEY = 'CUEMATH_WEB';
4
+ export const checkLocalStorageSupport = () => {
5
+ try {
6
+ return 'localStorage' in window && window.localStorage !== null;
7
+ }
8
+ catch (e) {
9
+ return false;
10
+ }
11
+ };
12
+ export const removeKeyFromObject = (obj, keyToRemove) => {
13
+ if (obj) {
14
+ delete obj[keyToRemove];
15
+ return obj;
16
+ }
17
+ return null;
18
+ };
19
+ // Default expiry set to 24 hours
20
+ export const localStorageSet = (key, value, ttl = TWENTY_FOUR_HOURS_IN_SECONDS) => {
21
+ if (checkLocalStorageSupport()) {
22
+ try {
23
+ let dbData = window.localStorage.getItem(LOCAL_STORAGE_PRIMARY_KEY);
24
+ const now = new Date();
25
+ const item = {
26
+ value,
27
+ expiry: now.getTime() + ttl,
28
+ };
29
+ if (dbData) {
30
+ dbData = JSON.parse(dbData);
31
+ dbData[key] = item;
32
+ }
33
+ else {
34
+ dbData = { [key]: item };
35
+ }
36
+ window.localStorage.setItem(LOCAL_STORAGE_PRIMARY_KEY, JSON.stringify(dbData));
37
+ return true;
38
+ }
39
+ catch (e) {
40
+ return false;
41
+ } // case when localStorage space quota is exceeded
42
+ }
43
+ else {
44
+ return false;
45
+ }
46
+ };
47
+ export const localStorageGet = (key) => {
48
+ if (checkLocalStorageSupport()) {
49
+ try {
50
+ const primaryLocalStorageValue = window.localStorage.getItem(LOCAL_STORAGE_PRIMARY_KEY);
51
+ let dbData = primaryLocalStorageValue != null
52
+ ? JSON.parse(primaryLocalStorageValue)
53
+ : primaryLocalStorageValue;
54
+ const requestedData = dbData[key];
55
+ const now = new Date();
56
+ if (now.getTime() > requestedData.expiry) {
57
+ dbData = removeKeyFromObject(dbData, key);
58
+ window.localStorage.setItem(LOCAL_STORAGE_PRIMARY_KEY, JSON.stringify(dbData));
59
+ return null;
60
+ }
61
+ return requestedData.value;
62
+ }
63
+ catch (e) {
64
+ return null;
65
+ }
66
+ }
67
+ else {
68
+ return null;
69
+ }
70
+ };
71
+ export const localStorageGetAll = () => {
72
+ if (checkLocalStorageSupport()) {
73
+ try {
74
+ const primaryLocalStorageValue = window.localStorage.getItem(LOCAL_STORAGE_PRIMARY_KEY);
75
+ return primaryLocalStorageValue != null
76
+ ? JSON.parse(primaryLocalStorageValue)
77
+ : primaryLocalStorageValue;
78
+ }
79
+ catch (e) {
80
+ return null;
81
+ }
82
+ }
83
+ else {
84
+ return null;
85
+ }
86
+ };
87
+ export const localStorageRemove = (key) => {
88
+ if (checkLocalStorageSupport()) {
89
+ try {
90
+ const primaryLocalStorageValue = window.localStorage.getItem(LOCAL_STORAGE_PRIMARY_KEY);
91
+ let dbData = primaryLocalStorageValue != null
92
+ ? JSON.parse(primaryLocalStorageValue)
93
+ : primaryLocalStorageValue;
94
+ if (dbData[key]) {
95
+ dbData = removeKeyFromObject(dbData, key);
96
+ window.localStorage.setItem(LOCAL_STORAGE_PRIMARY_KEY, JSON.stringify(dbData));
97
+ return true;
98
+ }
99
+ return false;
100
+ }
101
+ catch (e) {
102
+ return false;
103
+ }
104
+ }
105
+ else {
106
+ return false;
107
+ }
108
+ };
109
+ export const localStorageRemoveAll = () => {
110
+ if (checkLocalStorageSupport()) {
111
+ try {
112
+ const primaryLocalStorageValue = window.localStorage.getItem(LOCAL_STORAGE_PRIMARY_KEY);
113
+ const dbData = primaryLocalStorageValue != null
114
+ ? JSON.parse(primaryLocalStorageValue)
115
+ : primaryLocalStorageValue;
116
+ if (dbData) {
117
+ window.localStorage.removeItem(LOCAL_STORAGE_PRIMARY_KEY);
118
+ return true;
119
+ }
120
+ return false;
121
+ }
122
+ catch (e) {
123
+ return false;
124
+ }
125
+ }
126
+ else {
127
+ return false;
128
+ }
129
+ };
130
+ export const removeExpiredKeysOnMount = () => {
131
+ if (checkLocalStorageSupport()) {
132
+ try {
133
+ const primaryLocalStorageValue = window.localStorage.getItem(LOCAL_STORAGE_PRIMARY_KEY);
134
+ let dbData = primaryLocalStorageValue != null
135
+ ? JSON.parse(primaryLocalStorageValue)
136
+ : primaryLocalStorageValue;
137
+ const now = new Date();
138
+ if (dbData) {
139
+ dbData = Object.keys(dbData).reduce((accumulator, key) => {
140
+ if (now.getTime() < dbData[key].expiry) {
141
+ accumulator[key] = dbData[key];
142
+ }
143
+ return accumulator;
144
+ }, {});
145
+ }
146
+ if (Object.keys(dbData).length) {
147
+ window.localStorage.setItem(LOCAL_STORAGE_PRIMARY_KEY, JSON.stringify(dbData));
148
+ }
149
+ else {
150
+ localStorageRemoveAll();
151
+ }
152
+ return true;
153
+ }
154
+ catch (e) {
155
+ return false;
156
+ }
157
+ }
158
+ else {
159
+ return false;
160
+ }
161
+ };
162
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/local-storage/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function isEmpty(obj: object): boolean;
2
+ export declare function nestedMapsAreEqual(map1: Map<any, any>, map2: Map<any, any>): boolean;
@@ -0,0 +1,19 @@
1
+ export function isEmpty(obj) {
2
+ return Object.keys(obj).length === 0;
3
+ }
4
+ export function nestedMapsAreEqual(map1, map2) {
5
+ // First, check if the maps have the same size
6
+ if (map1.size !== map2.size) {
7
+ return false;
8
+ }
9
+ // Then, iterate over each key-value pair in map1 and check if the corresponding key-value pair exists in map2
10
+ for (const [key, value] of map1) {
11
+ if (!map2.has(key) || map2.get(key) !== value) {
12
+ // If the key doesn't exist in map2, or the value for the key is different, the maps are not equal
13
+ return false;
14
+ }
15
+ }
16
+ // If we haven't returned false by now, the maps are equal
17
+ return true;
18
+ }
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/object/index.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,OAAO,CAAC,GAAW;IACjC,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAmB,EAAE,IAAmB;IACzE,8CAA8C;IAC9C,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE;QAC3B,OAAO,KAAK,CAAC;KACd;IAED,8GAA8G;IAC9G,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;QAC/B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE;YAC7C,kGAAkG;YAClG,OAAO,KAAK,CAAC;SACd;KACF;IAED,0DAA0D;IAC1D,OAAO,IAAI,CAAC;AACd,CAAC"}
package/package.json CHANGED
@@ -1,12 +1,19 @@
1
1
  {
2
2
  "name": "@cuemath/web-utils",
3
- "version": "1.0.9-deepak.0",
3
+ "version": "1.0.10-deepak.2",
4
4
  "description": "Shared web utils package",
5
- "main": "dist/index.js",
5
+ "main": "dist/cjs/index.js",
6
+ "module": "dist/esm/index.js",
7
+ "types": "dist/types/index.d.ts",
8
+ "files": [
9
+ "dist"
10
+ ],
6
11
  "scripts": {
7
12
  "lint": "tsc --noEmit && eslint 'src/**/*.{js,jsx,ts,tsx,json}'",
8
- "build": "tsc",
9
- "build-watch": "tsc -w",
13
+ "build:cjs": "tsc --project tsconfig.json",
14
+ "build:esm": "tsc --project tsconfig.esm.json",
15
+ "build": "yarn build:esm && yarn run build:cjs --downlevelIteration",
16
+ "build-watch": "yarn build:esm -w && yarn run build:cjs -w",
10
17
  "prepublishOnly": "rm -rf dist && yarn build",
11
18
  "prepare": "husky install",
12
19
  "precommit": "lint-staged"
package/.eslintignore DELETED
@@ -1,2 +0,0 @@
1
- .next
2
- /dist
package/.eslintrc.json DELETED
@@ -1,9 +0,0 @@
1
- {
2
- "root": true,
3
- "extends": ["@cuemath"],
4
- "settings": {
5
- "react": {
6
- "version": "16.13.1"
7
- }
8
- }
9
- }
package/.husky/pre-commit DELETED
@@ -1,5 +0,0 @@
1
- #!/usr/bin/env sh
2
- . "$(dirname -- "$0")/_/husky.sh"
3
-
4
- yarn lint
5
- npx lint-staged
package/.huskyrc DELETED
@@ -1,5 +0,0 @@
1
- {
2
- "hooks": {
3
- "pre-commit": "lint-staged"
4
- }
5
- }
package/.lintstagedrc.yml DELETED
@@ -1 +0,0 @@
1
- { './**/*.js': ['prettier --write', 'eslint'] }
package/.nvmrc DELETED
@@ -1 +0,0 @@
1
- v18.12.1
package/.prettierrc.json DELETED
@@ -1 +0,0 @@
1
- "@cuemath/prettier-config"
@@ -1 +0,0 @@
1
- {}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/constants/country/index.ts"],"names":[],"mappings":";;;AAAA,uDAAuF;AAA9E,oHAAA,6BAA6B,OAAoB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"iso-country-code.js","sourceRoot":"","sources":["../../../src/constants/country/iso-country-code.ts"],"names":[],"mappings":";;;AAAa,QAAA,6BAA6B,GAAG;IAC3C,aAAa,EAAE,IAAI;IACnB,eAAe,EAAE,IAAI;IACrB,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,IAAI;IACf,gBAAgB,EAAE,IAAI;IACtB,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE,IAAI;IAChB,YAAY,EAAE,IAAI;IAClB,qBAAqB,EAAE,IAAI;IAC3B,WAAW,EAAE,IAAI;IACjB,SAAS,EAAE,IAAI;IACf,OAAO,EAAE,IAAI;IACb,WAAW,EAAE,IAAI;IACjB,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,IAAI;IACd,SAAS,EAAE,IAAI;IACf,wBAAwB,EAAE,IAAI;IAC9B,UAAU,EAAE,IAAI;IAChB,eAAe,EAAE,IAAI;IACrB,QAAQ,EAAE,IAAI;IACd,gCAAgC,EAAE,IAAI;IACtC,mBAAmB,EAAE,IAAI;IACzB,UAAU,EAAE,IAAI;IAChB,cAAc,EAAE,IAAI;IACpB,SAAS,EAAE,IAAI;IACf,UAAU,EAAE,IAAI;IAChB,UAAU,EAAE,IAAI;IAChB,QAAQ,EAAE,IAAI;IACd,YAAY,EAAE,IAAI;IAClB,gBAAgB,EAAE,IAAI;IACtB,0BAA0B,EAAE,IAAI;IAChC,MAAM,EAAE,IAAI;IACZ,OAAO,EAAE,IAAI;IACb,OAAO,EAAE,IAAI;IACb,kBAAkB,EAAE,IAAI;IACxB,yBAAyB,EAAE,IAAI;IAC/B,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE,IAAI;IACf,OAAO,EAAE,IAAI;IACb,4BAA4B,EAAE,IAAI;IAClC,cAAc,EAAE,IAAI;IACpB,YAAY,EAAE,IAAI;IAClB,eAAe,EAAE,IAAI;IACrB,SAAS,EAAE,IAAI;IACf,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,gBAAgB,EAAE,IAAI;IACtB,SAAS,EAAE,IAAI;IACf,UAAU,EAAE,IAAI;IAChB,UAAU,EAAE,IAAI;IAChB,oBAAoB,EAAE,IAAI;IAC1B,SAAS,EAAE,IAAI;IACf,OAAO,EAAE,IAAI;IACb,aAAa,EAAE,IAAI;IACnB,mBAAmB,EAAE,IAAI;IACzB,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,IAAI;IACf,UAAU,EAAE,IAAI;IAChB,6BAA6B,EAAE,IAAI;IACnC,eAAe,EAAE,IAAI;IACrB,MAAM,EAAE,IAAI;IACZ,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,IAAI;IACd,eAAe,EAAE,IAAI;IACrB,kBAAkB,EAAE,IAAI;IACxB,6BAA6B,EAAE,IAAI;IACnC,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,IAAI;IACd,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,IAAI;IACf,OAAO,EAAE,IAAI;IACb,WAAW,EAAE,IAAI;IACjB,QAAQ,EAAE,IAAI;IACd,WAAW,EAAE,IAAI;IACjB,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB,MAAM,EAAE,IAAI;IACZ,WAAW,EAAE,IAAI;IACjB,UAAU,EAAE,IAAI;IAChB,QAAQ,EAAE,IAAI;IACd,eAAe,EAAE,IAAI;IACrB,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,IAAI;IACb,iCAAiC,EAAE,IAAI;IACvC,+BAA+B,EAAE,IAAI;IACrC,UAAU,EAAE,IAAI;IAChB,WAAW,EAAE,IAAI;IACjB,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,IAAI;IACf,OAAO,EAAE,IAAI;IACb,WAAW,EAAE,IAAI;IACjB,2BAA2B,EAAE,IAAI;IACjC,MAAM,EAAE,IAAI;IACZ,SAAS,EAAE,IAAI;IACf,aAAa,EAAE,IAAI;IACnB,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,IAAI;IACf,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,IAAI;IACd,YAAY,EAAE,IAAI;IAClB,OAAO,EAAE,IAAI;IACb,UAAU,EAAE,IAAI;IAChB,OAAO,EAAE,IAAI;IACb,aAAa,EAAE,IAAI;IACnB,QAAQ,EAAE,IAAI;IACd,YAAY,EAAE,IAAI;IAClB,kCAAkC,EAAE,IAAI;IACxC,QAAQ,EAAE,IAAI;IACd,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,IAAI;IACf,wBAAwB,EAAE,IAAI;IAC9B,eAAe,EAAE,IAAI;IACrB,WAAW,EAAE,IAAI;IACjB,YAAY,EAAE,IAAI;IAClB,OAAO,EAAE,IAAI;IACb,WAAW,EAAE,IAAI;IACjB,YAAY,EAAE,IAAI;IAClB,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE,IAAI;IAChB,UAAU,EAAE,IAAI;IAChB,MAAM,EAAE,IAAI;IACZ,OAAO,EAAE,IAAI;IACb,kBAAkB,EAAE,IAAI;IACxB,YAAY,EAAE,IAAI;IAClB,YAAY,EAAE,IAAI;IAClB,WAAW,EAAE,IAAI;IACjB,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,IAAI;IACd,iCAAiC,EAAE,IAAI;IACvC,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE,IAAI;IAChB,YAAY,EAAE,IAAI;IAClB,YAAY,EAAE,IAAI;IAClB,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,IAAI;IACf,OAAO,EAAE,IAAI;IACb,OAAO,EAAE,IAAI;IACb,aAAa,EAAE,IAAI;IACnB,sBAAsB,EAAE,IAAI;IAC5B,eAAe,EAAE,IAAI;IACrB,aAAa,EAAE,IAAI;IACnB,WAAW,EAAE,IAAI;IACjB,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,IAAI;IACf,MAAM,EAAE,IAAI;IACZ,gBAAgB,EAAE,IAAI;IACtB,0BAA0B,EAAE,IAAI;IAChC,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,IAAI;IACZ,UAAU,EAAE,IAAI;IAChB,OAAO,EAAE,IAAI;IACb,iCAAiC,EAAE,IAAI;IACvC,QAAQ,EAAE,IAAI;IACd,kBAAkB,EAAE,IAAI;IACxB,UAAU,EAAE,IAAI;IAChB,MAAM,EAAE,IAAI;IACZ,aAAa,EAAE,IAAI;IACnB,UAAU,EAAE,IAAI;IAChB,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE,IAAI;IAChB,aAAa,EAAE,IAAI;IACnB,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,IAAI;IACf,oBAAoB,EAAE,IAAI;IAC1B,QAAQ,EAAE,IAAI;IACd,kBAAkB,EAAE,IAAI;IACxB,cAAc,EAAE,IAAI;IACpB,uBAAuB,EAAE,IAAI;IAC7B,aAAa,EAAE,IAAI;IACnB,cAAc,EAAE,IAAI;IACpB,2BAA2B,EAAE,IAAI;IACjC,8BAA8B,EAAE,IAAI;IACpC,OAAO,EAAE,IAAI;IACb,YAAY,EAAE,IAAI;IAClB,uBAAuB,EAAE,IAAI;IAC7B,cAAc,EAAE,IAAI;IACpB,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,IAAI;IACd,YAAY,EAAE,IAAI;IAClB,cAAc,EAAE,IAAI;IACpB,WAAW,EAAE,IAAI;IACjB,UAAU,EAAE,IAAI;IAChB,UAAU,EAAE,IAAI;IAChB,iBAAiB,EAAE,IAAI;IACvB,SAAS,EAAE,IAAI;IACf,cAAc,EAAE,IAAI;IACpB,iCAAiC,EAAE,IAAI;IACvC,OAAO,EAAE,IAAI;IACb,WAAW,EAAE,IAAI;IACjB,OAAO,EAAE,IAAI;IACb,UAAU,EAAE,IAAI;IAChB,wBAAwB,EAAE,IAAI;IAC9B,WAAW,EAAE,IAAI;IACjB,QAAQ,EAAE,IAAI;IACd,aAAa,EAAE,IAAI;IACnB,sBAAsB,EAAE,IAAI;IAC5B,QAAQ,EAAE,IAAI;IACd,YAAY,EAAE,IAAI;IAClB,UAAU,EAAE,IAAI;IAChB,UAAU,EAAE,IAAI;IAChB,aAAa,EAAE,IAAI;IACnB,MAAM,EAAE,IAAI;IACZ,SAAS,EAAE,IAAI;IACf,OAAO,EAAE,IAAI;IACb,qBAAqB,EAAE,IAAI;IAC3B,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,IAAI;IACd,cAAc,EAAE,IAAI;IACpB,0BAA0B,EAAE,IAAI;IAChC,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,IAAI;IACd,SAAS,EAAE,IAAI;IACf,sBAAsB,EAAE,IAAI;IAC5B,gBAAgB,EAAE,IAAI;IACtB,eAAe,EAAE,IAAI;IACrB,gCAAgC,EAAE,IAAI;IACtC,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,IAAI;IACjB,SAAS,EAAE,IAAI;IACf,yBAAyB,EAAE,IAAI;IAC/B,sBAAsB,EAAE,IAAI;IAC5B,mBAAmB,EAAE,IAAI;IACzB,gBAAgB,EAAE,IAAI;IACtB,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE,IAAI;CACjB,CAAC"}