@simondotm/nx-firebase 1.1.0 → 2.0.0-beta.1

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 (128) hide show
  1. package/README.md +14 -27
  2. package/executors.json +0 -8
  3. package/generators.json +11 -0
  4. package/package.json +5 -4
  5. package/src/generators/application/application.d.ts +3 -3
  6. package/src/generators/application/application.js +119 -19
  7. package/src/generators/application/application.js.map +1 -1
  8. package/src/generators/application/files/readme.md__tmpl__ +12 -9
  9. package/src/generators/application/files_firebase/firebase.json__tmpl__ +6 -13
  10. package/src/generators/application/files_workspace/{firebase.__name__.json__tmpl__ → firebase.__projectName__.json__tmpl__} +6 -13
  11. package/src/generators/application/lib/create-files.js +10 -25
  12. package/src/generators/application/lib/create-files.js.map +1 -1
  13. package/src/generators/application/lib/index.d.ts +0 -3
  14. package/src/generators/application/lib/index.js +0 -3
  15. package/src/generators/application/lib/index.js.map +1 -1
  16. package/src/generators/application/schema.d.ts +3 -11
  17. package/src/generators/application/schema.json +0 -41
  18. package/src/generators/function/files/package.json__tmpl__ +19 -0
  19. package/src/generators/function/files/readme.md__tmpl__ +31 -0
  20. package/src/generators/function/function.d.ts +14 -0
  21. package/src/generators/function/function.js +77 -0
  22. package/src/generators/function/function.js.map +1 -0
  23. package/src/generators/function/lib/add-function.d.ts +3 -0
  24. package/src/generators/function/lib/add-function.js +29 -0
  25. package/src/generators/function/lib/add-function.js.map +1 -0
  26. package/src/generators/function/lib/create-files.d.ts +9 -0
  27. package/src/generators/function/lib/create-files.js +37 -0
  28. package/src/generators/function/lib/create-files.js.map +1 -0
  29. package/src/generators/function/lib/delete-files.js.map +1 -0
  30. package/src/generators/function/lib/index.d.ts +3 -0
  31. package/src/generators/function/lib/index.js +7 -0
  32. package/src/generators/function/lib/index.js.map +1 -0
  33. package/src/generators/function/lib/update-project.d.ts +3 -0
  34. package/src/generators/function/lib/update-project.js +52 -0
  35. package/src/generators/function/lib/update-project.js.map +1 -0
  36. package/src/generators/function/schema.d.ts +51 -0
  37. package/src/generators/function/schema.json +57 -0
  38. package/src/generators/init/init.d.ts +1 -1
  39. package/src/generators/init/init.js +2 -6
  40. package/src/generators/init/init.js.map +1 -1
  41. package/src/generators/init/lib/add-dependencies.js +3 -4
  42. package/src/generators/init/lib/add-dependencies.js.map +1 -1
  43. package/src/generators/init/lib/add-git-ignore-entry.d.ts +1 -1
  44. package/src/generators/init/lib/add-git-ignore-entry.js +1 -0
  45. package/src/generators/init/lib/add-git-ignore-entry.js.map +1 -1
  46. package/src/generators/init/schema.d.ts +4 -4
  47. package/src/generators/init/schema.json +8 -7
  48. package/src/generators/sync/lib/firebase-changes.d.ts +3 -0
  49. package/src/generators/sync/lib/firebase-changes.js +102 -0
  50. package/src/generators/sync/lib/firebase-changes.js.map +1 -0
  51. package/src/generators/sync/lib/firebase-configs.d.ts +3 -0
  52. package/src/generators/sync/lib/firebase-configs.js +61 -0
  53. package/src/generators/sync/lib/firebase-configs.js.map +1 -0
  54. package/src/generators/sync/lib/firebase-projects.d.ts +20 -0
  55. package/src/generators/sync/lib/firebase-projects.js +75 -0
  56. package/src/generators/sync/lib/firebase-projects.js.map +1 -0
  57. package/src/generators/sync/lib/firebase-workspace.d.ts +3 -0
  58. package/src/generators/sync/lib/firebase-workspace.js +15 -0
  59. package/src/generators/sync/lib/firebase-workspace.js.map +1 -0
  60. package/src/generators/sync/lib/index.d.ts +7 -0
  61. package/src/generators/sync/lib/index.js +11 -0
  62. package/src/generators/sync/lib/index.js.map +1 -0
  63. package/src/generators/sync/lib/tags.d.ts +14 -0
  64. package/src/generators/sync/lib/tags.js +43 -0
  65. package/src/generators/sync/lib/tags.js.map +1 -0
  66. package/src/generators/sync/lib/types.d.ts +46 -0
  67. package/src/generators/sync/lib/types.js +5 -0
  68. package/src/generators/sync/lib/types.js.map +1 -0
  69. package/src/generators/sync/schema.d.ts +5 -0
  70. package/src/generators/sync/schema.json +19 -0
  71. package/src/generators/sync/sync.d.ts +8 -0
  72. package/src/generators/sync/sync.js +170 -0
  73. package/src/generators/sync/sync.js.map +1 -0
  74. package/src/utils/debug.d.ts +4 -0
  75. package/src/utils/debug.js +25 -0
  76. package/src/utils/debug.js.map +1 -0
  77. package/src/utils/firebase-config.d.ts +77 -0
  78. package/src/utils/firebase-config.js +52 -0
  79. package/src/utils/firebase-config.js.map +1 -0
  80. package/src/utils/index.d.ts +3 -0
  81. package/src/utils/index.js +3 -0
  82. package/src/utils/index.js.map +1 -1
  83. package/src/utils/project-name.d.ts +5 -0
  84. package/src/utils/project-name.js +38 -0
  85. package/src/utils/project-name.js.map +1 -0
  86. package/src/utils/types.d.ts +1 -1
  87. package/src/{generators/application/lib → utils}/update-tsconfig.d.ts +1 -2
  88. package/src/{generators/application/lib → utils}/update-tsconfig.js +5 -5
  89. package/src/utils/update-tsconfig.js.map +1 -0
  90. package/src/utils/versions.d.ts +1 -0
  91. package/src/utils/versions.js +5 -4
  92. package/src/utils/versions.js.map +1 -1
  93. package/src/utils/workspace.d.ts +1 -1
  94. package/src/executors/build/build.d.ts +0 -8
  95. package/src/executors/build/build.js +0 -82
  96. package/src/executors/build/build.js.map +0 -1
  97. package/src/executors/build/lib/copy-dependencies.d.ts +0 -3
  98. package/src/executors/build/lib/copy-dependencies.js +0 -53
  99. package/src/executors/build/lib/copy-dependencies.js.map +0 -1
  100. package/src/executors/build/lib/firebase-build.d.ts +0 -2
  101. package/src/executors/build/lib/firebase-build.js +0 -16
  102. package/src/executors/build/lib/firebase-build.js.map +0 -1
  103. package/src/executors/build/lib/get-dependencies.d.ts +0 -8
  104. package/src/executors/build/lib/get-dependencies.js +0 -87
  105. package/src/executors/build/lib/get-dependencies.js.map +0 -1
  106. package/src/executors/build/lib/index.d.ts +0 -1
  107. package/src/executors/build/lib/index.js +0 -5
  108. package/src/executors/build/lib/index.js.map +0 -1
  109. package/src/executors/build/lib/rewrite-package.d.ts +0 -8
  110. package/src/executors/build/lib/rewrite-package.js +0 -44
  111. package/src/executors/build/lib/rewrite-package.js.map +0 -1
  112. package/src/executors/build/schema.d.ts +0 -1
  113. package/src/executors/build/schema.json +0 -167
  114. package/src/generators/application/files/package.json__tmpl__ +0 -21
  115. package/src/generators/application/lib/add-project.d.ts +0 -39
  116. package/src/generators/application/lib/add-project.js +0 -115
  117. package/src/generators/application/lib/add-project.js.map +0 -1
  118. package/src/generators/application/lib/delete-files.js.map +0 -1
  119. package/src/generators/application/lib/normalize-options.d.ts +0 -5
  120. package/src/generators/application/lib/normalize-options.js +0 -44
  121. package/src/generators/application/lib/normalize-options.js.map +0 -1
  122. package/src/generators/application/lib/update-tsconfig.js.map +0 -1
  123. package/src/utils/e2ePatch.d.ts +0 -2
  124. package/src/utils/e2ePatch.js +0 -135
  125. package/src/utils/e2ePatch.js.map +0 -1
  126. /package/src/generators/{application/files/src/index.ts__tmpl__ → function/files/src/main.ts__tmpl__} +0 -0
  127. /package/src/generators/{application → function}/lib/delete-files.d.ts +0 -0
  128. /package/src/generators/{application → function}/lib/delete-files.js +0 -0
@@ -1,44 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toNodeApplicationGeneratorOptions = exports.normalizeOptions = void 0;
4
- const devkit_1 = require("@nx/devkit");
5
- const linter_1 = require("@nx/linter");
6
- function normalizeOptions(tree, options) {
7
- var _a, _b;
8
- // see https://github.com/nrwl/nx/blob/84cbcb7e105cd2b3bf5b3d84a519e5c52951e0f3/packages/js/src/generators/library/library.ts#L332
9
- // for how the project name is derived from options.name and --directory
10
- const name = (0, devkit_1.names)(options.name).fileName;
11
- const projectDirectory = options.directory
12
- ? `${(0, devkit_1.names)(options.directory).fileName}/${name}`
13
- : name;
14
- const projectRoot = (0, devkit_1.joinPathFragments)((0, devkit_1.getWorkspaceLayout)(tree).appsDir, projectDirectory);
15
- const projectName = projectDirectory.replace(new RegExp('/', 'g'), '-');
16
- const firebaseConfigName = tree.exists('firebase.json')
17
- ? `firebase.${projectName}.json`
18
- : 'firebase.json';
19
- // make sure this firebase config name is unique.
20
- // shouldn't happen as nx already enforces unique project names
21
- if (tree.exists(firebaseConfigName)) {
22
- throw Error(`There is already a firebase configuration called '${firebaseConfigName}' in this workspace. Please try a different project name.`);
23
- }
24
- return Object.assign(Object.assign({}, options), { projectRoot,
25
- projectName,
26
- firebaseConfigName, linter: (_a = options.linter) !== null && _a !== void 0 ? _a : linter_1.Linter.EsLint, unitTestRunner: (_b = options.unitTestRunner) !== null && _b !== void 0 ? _b : 'jest' });
27
- }
28
- exports.normalizeOptions = normalizeOptions;
29
- function toNodeApplicationGeneratorOptions(options) {
30
- return {
31
- name: options.name,
32
- directory: options.directory,
33
- frontendProject: options.frontendProject,
34
- linter: options.linter,
35
- skipFormat: true,
36
- skipPackageJson: options.skipPackageJson,
37
- standaloneConfig: options.standaloneConfig,
38
- tags: options.tags,
39
- unitTestRunner: options.unitTestRunner,
40
- setParserOptionsProject: options.setParserOptionsProject,
41
- };
42
- }
43
- exports.toNodeApplicationGeneratorOptions = toNodeApplicationGeneratorOptions;
44
- //# sourceMappingURL=normalize-options.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"normalize-options.js","sourceRoot":"","sources":["../../../../../../../packages/nx-firebase/src/generators/application/lib/normalize-options.ts"],"names":[],"mappings":";;;AACA,uCAAyE;AACzE,uCAAmC;AAInC,SAAgB,gBAAgB,CAC9B,IAAU,EACV,OAAoC;;IAEpC,kIAAkI;IAClI,wEAAwE;IACxE,MAAM,IAAI,GAAG,IAAA,cAAK,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAA;IACzC,MAAM,gBAAgB,GAAG,OAAO,CAAC,SAAS;QACxC,CAAC,CAAC,GAAG,IAAA,cAAK,EAAC,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,IAAI,IAAI,EAAE;QAChD,CAAC,CAAC,IAAI,CAAA;IAER,MAAM,WAAW,GAAG,IAAA,0BAAiB,EACnC,IAAA,2BAAkB,EAAC,IAAI,CAAC,CAAC,OAAO,EAChC,gBAAgB,CACjB,CAAA;IAED,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAA;IAEvE,MAAM,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;QACrD,CAAC,CAAC,YAAY,WAAW,OAAO;QAChC,CAAC,CAAC,eAAe,CAAA;IAEnB,iDAAiD;IACjD,+DAA+D;IAC/D,IAAI,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE;QACnC,MAAM,KAAK,CACT,qDAAqD,kBAAkB,2DAA2D,CACnI,CAAA;KACF;IAED,uCACK,OAAO,KACV,WAAW;QACX,WAAW;QACX,kBAAkB,EAClB,MAAM,EAAE,MAAA,OAAO,CAAC,MAAM,mCAAI,eAAM,CAAC,MAAM,EACvC,cAAc,EAAE,MAAA,OAAO,CAAC,cAAc,mCAAI,MAAM,IACjD;AACH,CAAC;AAtCD,4CAsCC;AAED,SAAgB,iCAAiC,CAC/C,OAA0B;IAE1B,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,UAAU,EAAE,IAAI;QAChB,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,uBAAuB,EAAE,OAAO,CAAC,uBAAuB;KACzD,CAAA;AACH,CAAC;AAfD,8EAeC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"update-tsconfig.js","sourceRoot":"","sources":["../../../../../../../packages/nx-firebase/src/generators/application/lib/update-tsconfig.ts"],"names":[],"mappings":";;;AACA,uCAA0D;AAC1D,0CAA+C;AAG/C;;;;;GAKG;AACH,SAAgB,cAAc,CAAC,IAAU,EAAE,OAA0B;IACnE,IAAA,mBAAU,EACR,IAAI,EACJ,IAAA,0BAAiB,EAAC,OAAO,CAAC,WAAW,EAAE,mBAAmB,CAAC,EAC3D,CAAC,IAAI,EAAE,EAAE;QACP,IAAI,CAAC,eAAe,CAAC,qBAAqB,GAAG,IAAI,CAAA;QACjD,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,sBAAc,CAAA;QAC5C,OAAO,IAAI,CAAA;IACb,CAAC,CACF,CAAA;AACH,CAAC;AAVD,wCAUC"}
@@ -1,2 +0,0 @@
1
- export declare function fileExists(filePath: string): boolean;
2
- export declare const e2eAppRoot: string;
@@ -1,135 +0,0 @@
1
- "use strict";
2
- /*
3
- // e2e patch from old nx-firebase plugin
4
- // monkeypatch to ensure nx plugin e2e tests have the correct workspace for createProjectGraph()
5
- // https://github.com/nrwl/nx/issues/5065
6
- import * as path from 'path'
7
- import * as fs from 'fs'
8
- function patchAppRoot(): string {
9
- const cwd = process.cwd()
10
- const e2e = cwd.includes('nx-e2e')
11
- function pathInner(dir: string): string {
12
- if (process.env.NX_WORKSPACE_ROOT_PATH)
13
- return process.env.NX_WORKSPACE_ROOT_PATH
14
- if (path.dirname(dir) === dir) return cwd
15
- if (
16
- fs.existsSync(path.join(dir, 'workspace.json')) ||
17
- fs.existsSync(path.join(dir, 'angular.json'))
18
- ) {
19
- return dir
20
- } else {
21
- return pathInner(path.dirname(dir))
22
- }
23
- }
24
- const appRoot = pathInner(cwd)
25
-
26
- //console.log("cwd=" + cwd)
27
- //console.log("is e2e=" + e2e)
28
- //console.log("appRoot=" + appRoot)
29
-
30
- //only patch the workspace rootpath if we are running in an nx-e2e workspace path
31
- if (e2e) {
32
- process.env.NX_WORKSPACE_ROOT_PATH = appRoot
33
- console.log(
34
- "e2e appRoot PATCHED from __dirname '" +
35
- __dirname +
36
- "' to '" +
37
- appRoot +
38
- "'",
39
- )
40
- }
41
- return appRoot
42
- }
43
- export const e2eAppRoot = patchAppRoot()
44
- */
45
- Object.defineProperty(exports, "__esModule", { value: true });
46
- exports.e2eAppRoot = exports.fileExists = void 0;
47
- // NEEDED FOR NX13 ONLY - FIXED AT SOMEPOINT FROM 14.x to 15.x
48
- // monkeypatch to ensure nx plugin e2e tests have the correct workspace for createProjectGraph()
49
- // https://github.com/nrwl/nx/issues/5065
50
- const path = require("path");
51
- const fs_1 = require("fs");
52
- // import { logger, readJsonFile } from '@nx/devkit'
53
- // from https://github.com/nrwl/nx/blob/803d5ff126d20d1116d3a505233ddf7d971688d6/packages/nx/src/utils/app-root.ts#L9
54
- function fileExists(filePath) {
55
- try {
56
- return (0, fs_1.statSync)(filePath).isFile();
57
- }
58
- catch (err) {
59
- return false;
60
- }
61
- }
62
- exports.fileExists = fileExists;
63
- // this function determines the current workspace root
64
- // it unwraps 'dir' until it reaches an nx workspace root.
65
- // OR, if NX_WORKSPACE_ROOT_PATH environment var is defined, it will use that instead.
66
- function pathInner(dir) {
67
- if (process.env.NX_WORKSPACE_ROOT_PATH)
68
- return process.env.NX_WORKSPACE_ROOT_PATH;
69
- // console.log(`pathInner(${dir})`)
70
- if (path.dirname(dir) === dir)
71
- return process.cwd();
72
- // console.log(`not returning cwd, checking next level`)
73
- if (fileExists(path.join(dir, 'workspace.json')) ||
74
- fileExists(path.join(dir, 'nx.json')) ||
75
- fileExists(path.join(dir, 'angular.json'))) {
76
- // console.log(`found root, returning dir=${dir}`)
77
- return dir;
78
- }
79
- else {
80
- // console.log(`not found root, recursing on dir=${dir}`)
81
- return pathInner(path.dirname(dir));
82
- }
83
- }
84
- // function patchAppRoot(): string {
85
- // const cwd = process.cwd()
86
- // console.log('NX_WORKSPACE_ROOT_PATH=' + process.env.NX_WORKSPACE_ROOT_PATH)
87
- // console.log(`cwd=${cwd}`)
88
- // const appRootPath = pathInner(__dirname)
89
- // console.log('--------')
90
- // // determine if plugin is being run from somewhere other than cwd
91
- // const needsPatching = pathInner(cwd) !== pathInner(__dirname)
92
- // const e2e = cwd.includes('nx-e2e')
93
- // // for our patch, we are using cwd instead of __dirname
94
- // const appRoot = pathInner(cwd)
95
- // //needsPatching patch the workspace rootpath if we are running in an nx-e2e workspace path
96
- // if (e2e) {
97
- // //needsPatching) {
98
- // console.log('cwd=' + cwd)
99
- // console.log('is e2e=' + e2e)
100
- // console.log('appRoot=' + appRoot)
101
- // process.env.NX_WORKSPACE_ROOT_PATH = appRoot
102
- // console.log(
103
- // "appRoot PATCHED from __dirname '" + __dirname + "' to '" + appRoot + "'",
104
- // )
105
- // }
106
- // return appRoot
107
- // }
108
- function patchAppRoot() {
109
- let appRoot = process.env.NX_WORKSPACE_ROOT_PATH;
110
- if (!appRoot) {
111
- const cwd = process.cwd();
112
- // console.log('NX_WORKSPACE_ROOT_PATH=' + process.env.NX_WORKSPACE_ROOT_PATH)
113
- // console.log(`cwd=${cwd}`)
114
- const pluginAppRootPath = pathInner(__dirname);
115
- const cwdAppRootPath = pathInner(cwd);
116
- // console.log('--------')
117
- if (pluginAppRootPath !== cwdAppRootPath) {
118
- // plugin is located in a different workspace, so patch the NX_WORKSPACE_ROOT_PATH
119
- appRoot = cwdAppRootPath;
120
- process.env.NX_WORKSPACE_ROOT_PATH = appRoot;
121
- // logger.warn(
122
- // `WARNING: @simondotm/nx-firebase plugin is located outside this workspace, NX_WORKSPACE_ROOT_PATH has been set to ${appRoot}`,
123
- // )
124
- }
125
- else {
126
- appRoot = pluginAppRootPath;
127
- }
128
- }
129
- else {
130
- // logger.warn(`NX_WORKSPACE_ROOT_PATH is set to ${appRoot}`)
131
- }
132
- return appRoot;
133
- }
134
- exports.e2eAppRoot = patchAppRoot();
135
- //# sourceMappingURL=e2ePatch.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"e2ePatch.js","sourceRoot":"","sources":["../../../../../packages/nx-firebase/src/utils/e2ePatch.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0CE;;;AAEF,8DAA8D;AAC9D,gGAAgG;AAChG,yCAAyC;AACzC,6BAA4B;AAE5B,2BAA6B;AAE7B,oDAAoD;AAEpD,qHAAqH;AACrH,SAAgB,UAAU,CAAC,QAAgB;IACzC,IAAI;QACF,OAAO,IAAA,aAAQ,EAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAA;KACnC;IAAC,OAAO,GAAG,EAAE;QACZ,OAAO,KAAK,CAAA;KACb;AACH,CAAC;AAND,gCAMC;AAED,sDAAsD;AACtD,0DAA0D;AAC1D,sFAAsF;AACtF,SAAS,SAAS,CAAC,GAAW;IAC5B,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB;QACpC,OAAO,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAA;IAC3C,qCAAqC;IACrC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG;QAAE,OAAO,OAAO,CAAC,GAAG,EAAE,CAAA;IACnD,0DAA0D;IAC1D,IACE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;QAC5C,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACrC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,EAC1C;QACA,kDAAkD;QAClD,OAAO,GAAG,CAAA;KACX;SAAM;QACL,yDAAyD;QACzD,OAAO,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;KACpC;AACH,CAAC;AAED,oCAAoC;AACpC,8BAA8B;AAC9B,gFAAgF;AAChF,8BAA8B;AAC9B,6CAA6C;AAE7C,4BAA4B;AAE5B,sEAAsE;AACtE,kEAAkE;AAClE,uCAAuC;AAEvC,4DAA4D;AAC5D,mCAAmC;AAEnC,+FAA+F;AAC/F,eAAe;AACf,yBAAyB;AACzB,gCAAgC;AAChC,mCAAmC;AACnC,wCAAwC;AAExC,mDAAmD;AACnD,mBAAmB;AACnB,mFAAmF;AACnF,QAAQ;AACR,MAAM;AACN,mBAAmB;AACnB,IAAI;AAEJ,SAAS,YAAY;IACnB,IAAI,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAA;IAEhD,IAAI,CAAC,OAAO,EAAE;QACZ,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;QACzB,8EAA8E;QAC9E,4BAA4B;QAC5B,MAAM,iBAAiB,GAAG,SAAS,CAAC,SAAS,CAAC,CAAA;QAC9C,MAAM,cAAc,GAAG,SAAS,CAAC,GAAG,CAAC,CAAA;QACrC,0BAA0B;QAE1B,IAAI,iBAAiB,KAAK,cAAc,EAAE;YACxC,kFAAkF;YAClF,OAAO,GAAG,cAAc,CAAA;YACxB,OAAO,CAAC,GAAG,CAAC,sBAAsB,GAAG,OAAO,CAAA;YAC5C,iBAAiB;YACjB,qIAAqI;YACrI,MAAM;SACP;aAAM;YACL,OAAO,GAAG,iBAAiB,CAAA;SAC5B;KACF;SAAM;QACL,6DAA6D;KAC9D;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAEY,QAAA,UAAU,GAAG,YAAY,EAAE,CAAA"}