@teambit/export 1.0.414 → 1.0.416

Sign up to get free protection for your applications and to get access to all the features.
@@ -16,6 +16,6 @@ export declare class ExportCmd implements Command {
16
16
  group: string;
17
17
  remoteOp: boolean;
18
18
  constructor(exportMain: ExportMain);
19
- report([ids]: [string[]], { eject, all, allVersions, originDirectly, ignoreMissingArtifacts, resume, headOnly, forkLaneNewScope, openBrowser, }: any): Promise<string>;
19
+ report([ids]: [string[]], { eject, all, allVersions, originDirectly, ignoreMissingArtifacts, resume, headOnly, forkLaneNewScope, openBrowser, verbose, }: any): Promise<string>;
20
20
  json([ids]: [string[]], { eject, all, allVersions, originDirectly, ignoreMissingArtifacts, resume, }: any): Promise<ExportResult>;
21
21
  }
@@ -58,7 +58,7 @@ class ExportCmd {
58
58
  ${(0, _constants().WILDCARD_HELP)('export')}`);
59
59
  _defineProperty(this, "alias", 'e');
60
60
  _defineProperty(this, "helpUrl", 'reference/components/exporting-components');
61
- _defineProperty(this, "options", [['e', 'eject', 'after export, remove the components from the workspace and install them as packages'], ['a', 'all', 'export all components, including non-staged (useful when components in the remote scope are corrupted or missing)'], ['', 'all-versions', 'export not only staged versions but all of them (useful when versions in the remote scope are corrupted or missing)'], ['', 'origin-directly', 'avoid export to the central hub, instead, export directly to the original scopes. not recommended!'], ['', 'resume <string>', 'in case the previous export failed and suggested to resume with an export-id, enter the id'], ['', 'head-only', 'in case previous export failed and locally it shows exported and only one snap/tag was created, try using this flag'], ['', 'ignore-missing-artifacts', "don't throw an error when artifact files are missing. not recommended, unless you're sure the artifacts are in the remote"], ['', 'fork-lane-new-scope', 'allow exporting a forked lane into a different scope than the original scope'], ['', 'open-browser', 'open a browser once the export is completed in the cloud job url'], ['j', 'json', 'show output in json format']]);
61
+ _defineProperty(this, "options", [['e', 'eject', 'after export, remove the components from the workspace and install them as packages'], ['a', 'all', 'export all components, including non-staged (useful when components in the remote scope are corrupted or missing)'], ['', 'all-versions', 'export not only staged versions but all of them (useful when versions in the remote scope are corrupted or missing)'], ['', 'origin-directly', 'avoid export to the central hub, instead, export directly to the original scopes. not recommended!'], ['', 'resume <string>', 'in case the previous export failed and suggested to resume with an export-id, enter the id'], ['', 'head-only', 'in case previous export failed and locally it shows exported and only one snap/tag was created, try using this flag'], ['', 'ignore-missing-artifacts', "don't throw an error when artifact files are missing. not recommended, unless you're sure the artifacts are in the remote"], ['', 'fork-lane-new-scope', 'allow exporting a forked lane into a different scope than the original scope'], ['', 'open-browser', 'open a browser once the export is completed in the cloud job url'], ['', 'verbose', 'per exported component, show the versions being exported'], ['j', 'json', 'show output in json format']]);
62
62
  _defineProperty(this, "loader", true);
63
63
  _defineProperty(this, "group", 'collaborate');
64
64
  _defineProperty(this, "remoteOp", true);
@@ -72,10 +72,12 @@ class ExportCmd {
72
72
  resume,
73
73
  headOnly,
74
74
  forkLaneNewScope = false,
75
- openBrowser = false
75
+ openBrowser = false,
76
+ verbose = false
76
77
  }) {
77
78
  const {
78
79
  componentsIds,
80
+ newIdsOnRemote,
79
81
  nonExistOnBitMap,
80
82
  removedIds,
81
83
  missingScope,
@@ -97,10 +99,17 @@ class ExportCmd {
97
99
  return _chalk().default.yellow('nothing to export');
98
100
  }
99
101
  const exportedLane = exportedLanes[0]?.id();
102
+ const getExportedIds = () => {
103
+ if (!verbose) return componentsIds.join('\n');
104
+ return componentsIds.map(id => {
105
+ const versions = newIdsOnRemote.filter(newId => newId.isEqualWithoutVersion(id)).map(newId => newId.version);
106
+ return `${id.toString()} - ${versions.join(', ') || 'n/a'}`;
107
+ }).join('\n');
108
+ };
100
109
  const exportOutput = () => {
101
110
  if ((0, _lodash().isEmpty)(componentsIds)) return exportedLane ? `exported the lane ${_chalk().default.bold(exportedLane)}` : '';
102
111
  const lanesOutput = exportedLanes.length ? ` the lane ${_chalk().default.bold(exportedLanes[0].id())} and` : '';
103
- return _chalk().default.green(`exported${lanesOutput} the following ${componentsIds.length} component(s):\n${_chalk().default.bold(componentsIds.join('\n'))}`);
112
+ return _chalk().default.green(`exported${lanesOutput} the following ${componentsIds.length} component(s):\n${_chalk().default.bold(getExportedIds())}`);
104
113
  };
105
114
  const nonExistOnBitMapOutput = () => {
106
115
  // if includeDependencies is true, the nonExistOnBitMap might be the dependencies
@@ -1 +1 @@
1
- {"version":3,"names":["_open","data","_interopRequireDefault","require","_eject","_constants","_chalk","_lodash","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ExportCmd","constructor","exportMain","name","description","COMPONENT_PATTERN_HELP","WILDCARD_HELP","report","ids","eject","all","allVersions","originDirectly","ignoreMissingArtifacts","resume","headOnly","forkLaneNewScope","openBrowser","componentsIds","nonExistOnBitMap","removedIds","missingScope","exportedLanes","ejectResults","rippleJobs","export","includeNonStaged","resumeExportId","isEmpty","length","chalk","yellow","exportedLane","id","exportOutput","bold","lanesOutput","green","join","nonExistOnBitMapOutput","idsStr","map","toString","removedOutput","remoteLaneStr","title","missingScopeOutput","ejectOutput","output","ejectTemplate","rippleJobsOutput","shouldOpenBrowser","process","env","CI","prefix","msg","lane","undefined","fullUrls","job","getCloudDomain","scope","replace","open","url","catch","urlsColored","underline","json","results","exports"],"sources":["export-cmd.ts"],"sourcesContent":["import { Command, CommandOptions } from '@teambit/cli';\nimport open from 'open';\nimport { ejectTemplate } from '@teambit/eject';\nimport { WILDCARD_HELP, COMPONENT_PATTERN_HELP, getCloudDomain } from '@teambit/legacy/dist/constants';\nimport chalk from 'chalk';\nimport { isEmpty } from 'lodash';\nimport { ExportMain, ExportResult } from './export.main.runtime';\n\nexport class ExportCmd implements Command {\n name = 'export [component-patterns...]';\n description = 'export components from the workspace to remote scopes';\n arguments = [\n {\n name: 'component-patterns...',\n description: `(not recommended) ${COMPONENT_PATTERN_HELP}`,\n },\n ];\n extendedDescription = `bit export => export all staged snaps/tags of components to their remote scope. if checked out to a lane, export the lane as well\n \\`bit export [pattern...]\\` => export components included by the pattern to their remote scope (we recommend not using a pattern in\n most scenarios so that all changes are exported simultaneously)\n ${WILDCARD_HELP('export')}`;\n alias = 'e';\n helpUrl = 'reference/components/exporting-components';\n options = [\n ['e', 'eject', 'after export, remove the components from the workspace and install them as packages'],\n [\n 'a',\n 'all',\n 'export all components, including non-staged (useful when components in the remote scope are corrupted or missing)',\n ],\n [\n '',\n 'all-versions',\n 'export not only staged versions but all of them (useful when versions in the remote scope are corrupted or missing)',\n ],\n [\n '',\n 'origin-directly',\n 'avoid export to the central hub, instead, export directly to the original scopes. not recommended!',\n ],\n [\n '',\n 'resume <string>',\n 'in case the previous export failed and suggested to resume with an export-id, enter the id',\n ],\n [\n '',\n 'head-only',\n 'in case previous export failed and locally it shows exported and only one snap/tag was created, try using this flag',\n ],\n [\n '',\n 'ignore-missing-artifacts',\n \"don't throw an error when artifact files are missing. not recommended, unless you're sure the artifacts are in the remote\",\n ],\n ['', 'fork-lane-new-scope', 'allow exporting a forked lane into a different scope than the original scope'],\n ['', 'open-browser', 'open a browser once the export is completed in the cloud job url'],\n ['j', 'json', 'show output in json format'],\n ] as CommandOptions;\n loader = true;\n group = 'collaborate';\n remoteOp = true;\n\n constructor(private exportMain: ExportMain) {}\n\n async report(\n [ids = []]: [string[]],\n {\n eject = false,\n all = false,\n allVersions = false,\n originDirectly = false,\n ignoreMissingArtifacts = false,\n resume,\n headOnly,\n forkLaneNewScope = false,\n openBrowser = false,\n }: any\n ): Promise<string> {\n const { componentsIds, nonExistOnBitMap, removedIds, missingScope, exportedLanes, ejectResults, rippleJobs } =\n await this.exportMain.export({\n ids,\n eject,\n includeNonStaged: all || allVersions,\n allVersions: allVersions || all,\n originDirectly,\n resumeExportId: resume,\n headOnly,\n ignoreMissingArtifacts,\n forkLaneNewScope,\n });\n if (isEmpty(componentsIds) && isEmpty(nonExistOnBitMap) && isEmpty(missingScope) && !exportedLanes.length) {\n return chalk.yellow('nothing to export');\n }\n const exportedLane = exportedLanes[0]?.id();\n const exportOutput = () => {\n if (isEmpty(componentsIds)) return exportedLane ? `exported the lane ${chalk.bold(exportedLane)}` : '';\n const lanesOutput = exportedLanes.length ? ` the lane ${chalk.bold(exportedLanes[0].id())} and` : '';\n return chalk.green(\n `exported${lanesOutput} the following ${componentsIds.length} component(s):\\n${chalk.bold(\n componentsIds.join('\\n')\n )}`\n );\n };\n const nonExistOnBitMapOutput = () => {\n // if includeDependencies is true, the nonExistOnBitMap might be the dependencies\n if (isEmpty(nonExistOnBitMap)) return '';\n const idsStr = nonExistOnBitMap.map((id) => id.toString()).join(', ');\n return chalk.yellow(\n `${idsStr}\\nexported successfully. bit did not update the workspace as the component files are not tracked. this might happen when a component was tracked in a different git branch. to fix it check if they where tracked in a different git branch, checkout to that branch and resync by running 'bit import'. or stay on your branch and track the components again using 'bit add'.\\n`\n );\n };\n const removedOutput = () => {\n if (!removedIds.length) return '';\n const remoteLaneStr = exportedLanes.length ? ' lane' : '';\n const title = chalk.bold(\n `\\n\\nthe following component(s) have been marked as removed on the remote${remoteLaneStr}\\n`\n );\n const idsStr = removedIds.join('\\n');\n return title + idsStr;\n };\n const missingScopeOutput = () => {\n if (isEmpty(missingScope)) return '';\n const idsStr = missingScope.map((id) => id.toString()).join(', ');\n return chalk.yellow(\n `the following component(s) were not exported as no remote scope is configured for them: ${chalk.bold(\n idsStr\n )}.\\nplease specify <remote> to export them, run 'bit scope set <scope> <component>, or set a \"defaultScope\" in your workspace config\\n\\n`\n );\n };\n const ejectOutput = () => {\n if (!ejectResults) return '';\n const output = ejectTemplate(ejectResults);\n return `\\n${output}`;\n };\n const rippleJobsOutput = () => {\n if (!rippleJobs.length) return '';\n const shouldOpenBrowser = openBrowser && !process.env.CI;\n const prefix = shouldOpenBrowser ? 'Your browser has been opened to the following link' : 'Visit the link below';\n const msg = `\\n\\n${prefix} to track the progress of building the components in the cloud\\n`;\n const lane = exportedLanes.length ? exportedLanes?.[0] : undefined;\n const fullUrls = lane\n ? rippleJobs.map(\n (job) =>\n `https://${getCloudDomain()}/${lane.scope.replace('.', '/')}/~lane/${lane.name}/~ripple-ci/job/${job}`\n )\n : rippleJobs.map((job) => `https://${getCloudDomain()}/ripple-ci/job/${job}`);\n if (shouldOpenBrowser) {\n open(fullUrls[0], { url: true }).catch(() => {\n /** it's ok, the user is instructed to open the browser manually */\n });\n }\n const urlsColored = fullUrls.map((url) => chalk.bold.underline(url));\n return msg + urlsColored.join('\\n');\n };\n\n return (\n nonExistOnBitMapOutput() +\n missingScopeOutput() +\n exportOutput() +\n ejectOutput() +\n removedOutput() +\n rippleJobsOutput()\n );\n }\n\n async json(\n [ids = []]: [string[]],\n {\n eject = false,\n all = false,\n allVersions = false,\n originDirectly = false,\n ignoreMissingArtifacts = false,\n resume,\n }: any\n ): Promise<ExportResult> {\n const results = await this.exportMain.export({\n ids,\n eject,\n includeNonStaged: all || allVersions,\n allVersions: allVersions || all,\n originDirectly,\n resumeExportId: resume,\n ignoreMissingArtifacts,\n });\n\n return results;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_open","data","_interopRequireDefault","require","_eject","_constants","_chalk","_lodash","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ExportCmd","constructor","exportMain","name","description","COMPONENT_PATTERN_HELP","WILDCARD_HELP","report","ids","eject","all","allVersions","originDirectly","ignoreMissingArtifacts","resume","headOnly","forkLaneNewScope","openBrowser","verbose","componentsIds","newIdsOnRemote","nonExistOnBitMap","removedIds","missingScope","exportedLanes","ejectResults","rippleJobs","export","includeNonStaged","resumeExportId","isEmpty","length","chalk","yellow","exportedLane","id","getExportedIds","join","map","versions","filter","newId","isEqualWithoutVersion","version","toString","exportOutput","bold","lanesOutput","green","nonExistOnBitMapOutput","idsStr","removedOutput","remoteLaneStr","title","missingScopeOutput","ejectOutput","output","ejectTemplate","rippleJobsOutput","shouldOpenBrowser","process","env","CI","prefix","msg","lane","undefined","fullUrls","job","getCloudDomain","scope","replace","open","url","catch","urlsColored","underline","json","results","exports"],"sources":["export-cmd.ts"],"sourcesContent":["import { Command, CommandOptions } from '@teambit/cli';\nimport open from 'open';\nimport { ejectTemplate } from '@teambit/eject';\nimport { WILDCARD_HELP, COMPONENT_PATTERN_HELP, getCloudDomain } from '@teambit/legacy/dist/constants';\nimport chalk from 'chalk';\nimport { isEmpty } from 'lodash';\nimport { ExportMain, ExportResult } from './export.main.runtime';\n\nexport class ExportCmd implements Command {\n name = 'export [component-patterns...]';\n description = 'export components from the workspace to remote scopes';\n arguments = [\n {\n name: 'component-patterns...',\n description: `(not recommended) ${COMPONENT_PATTERN_HELP}`,\n },\n ];\n extendedDescription = `bit export => export all staged snaps/tags of components to their remote scope. if checked out to a lane, export the lane as well\n \\`bit export [pattern...]\\` => export components included by the pattern to their remote scope (we recommend not using a pattern in\n most scenarios so that all changes are exported simultaneously)\n ${WILDCARD_HELP('export')}`;\n alias = 'e';\n helpUrl = 'reference/components/exporting-components';\n options = [\n ['e', 'eject', 'after export, remove the components from the workspace and install them as packages'],\n [\n 'a',\n 'all',\n 'export all components, including non-staged (useful when components in the remote scope are corrupted or missing)',\n ],\n [\n '',\n 'all-versions',\n 'export not only staged versions but all of them (useful when versions in the remote scope are corrupted or missing)',\n ],\n [\n '',\n 'origin-directly',\n 'avoid export to the central hub, instead, export directly to the original scopes. not recommended!',\n ],\n [\n '',\n 'resume <string>',\n 'in case the previous export failed and suggested to resume with an export-id, enter the id',\n ],\n [\n '',\n 'head-only',\n 'in case previous export failed and locally it shows exported and only one snap/tag was created, try using this flag',\n ],\n [\n '',\n 'ignore-missing-artifacts',\n \"don't throw an error when artifact files are missing. not recommended, unless you're sure the artifacts are in the remote\",\n ],\n ['', 'fork-lane-new-scope', 'allow exporting a forked lane into a different scope than the original scope'],\n ['', 'open-browser', 'open a browser once the export is completed in the cloud job url'],\n ['', 'verbose', 'per exported component, show the versions being exported'],\n ['j', 'json', 'show output in json format'],\n ] as CommandOptions;\n loader = true;\n group = 'collaborate';\n remoteOp = true;\n\n constructor(private exportMain: ExportMain) {}\n\n async report(\n [ids = []]: [string[]],\n {\n eject = false,\n all = false,\n allVersions = false,\n originDirectly = false,\n ignoreMissingArtifacts = false,\n resume,\n headOnly,\n forkLaneNewScope = false,\n openBrowser = false,\n verbose = false,\n }: any\n ): Promise<string> {\n const {\n componentsIds,\n newIdsOnRemote,\n nonExistOnBitMap,\n removedIds,\n missingScope,\n exportedLanes,\n ejectResults,\n rippleJobs,\n } = await this.exportMain.export({\n ids,\n eject,\n includeNonStaged: all || allVersions,\n allVersions: allVersions || all,\n originDirectly,\n resumeExportId: resume,\n headOnly,\n ignoreMissingArtifacts,\n forkLaneNewScope,\n });\n\n if (isEmpty(componentsIds) && isEmpty(nonExistOnBitMap) && isEmpty(missingScope) && !exportedLanes.length) {\n return chalk.yellow('nothing to export');\n }\n const exportedLane = exportedLanes[0]?.id();\n const getExportedIds = () => {\n if (!verbose) return componentsIds.join('\\n');\n return componentsIds\n .map((id) => {\n const versions = newIdsOnRemote\n .filter((newId) => newId.isEqualWithoutVersion(id))\n .map((newId) => newId.version);\n return `${id.toString()} - ${versions.join(', ') || 'n/a'}`;\n })\n .join('\\n');\n };\n const exportOutput = () => {\n if (isEmpty(componentsIds)) return exportedLane ? `exported the lane ${chalk.bold(exportedLane)}` : '';\n const lanesOutput = exportedLanes.length ? ` the lane ${chalk.bold(exportedLanes[0].id())} and` : '';\n return chalk.green(\n `exported${lanesOutput} the following ${componentsIds.length} component(s):\\n${chalk.bold(getExportedIds())}`\n );\n };\n const nonExistOnBitMapOutput = () => {\n // if includeDependencies is true, the nonExistOnBitMap might be the dependencies\n if (isEmpty(nonExistOnBitMap)) return '';\n const idsStr = nonExistOnBitMap.map((id) => id.toString()).join(', ');\n return chalk.yellow(\n `${idsStr}\\nexported successfully. bit did not update the workspace as the component files are not tracked. this might happen when a component was tracked in a different git branch. to fix it check if they where tracked in a different git branch, checkout to that branch and resync by running 'bit import'. or stay on your branch and track the components again using 'bit add'.\\n`\n );\n };\n const removedOutput = () => {\n if (!removedIds.length) return '';\n const remoteLaneStr = exportedLanes.length ? ' lane' : '';\n const title = chalk.bold(\n `\\n\\nthe following component(s) have been marked as removed on the remote${remoteLaneStr}\\n`\n );\n const idsStr = removedIds.join('\\n');\n return title + idsStr;\n };\n const missingScopeOutput = () => {\n if (isEmpty(missingScope)) return '';\n const idsStr = missingScope.map((id) => id.toString()).join(', ');\n return chalk.yellow(\n `the following component(s) were not exported as no remote scope is configured for them: ${chalk.bold(\n idsStr\n )}.\\nplease specify <remote> to export them, run 'bit scope set <scope> <component>, or set a \"defaultScope\" in your workspace config\\n\\n`\n );\n };\n const ejectOutput = () => {\n if (!ejectResults) return '';\n const output = ejectTemplate(ejectResults);\n return `\\n${output}`;\n };\n const rippleJobsOutput = () => {\n if (!rippleJobs.length) return '';\n const shouldOpenBrowser = openBrowser && !process.env.CI;\n const prefix = shouldOpenBrowser ? 'Your browser has been opened to the following link' : 'Visit the link below';\n const msg = `\\n\\n${prefix} to track the progress of building the components in the cloud\\n`;\n const lane = exportedLanes.length ? exportedLanes?.[0] : undefined;\n const fullUrls = lane\n ? rippleJobs.map(\n (job) =>\n `https://${getCloudDomain()}/${lane.scope.replace('.', '/')}/~lane/${lane.name}/~ripple-ci/job/${job}`\n )\n : rippleJobs.map((job) => `https://${getCloudDomain()}/ripple-ci/job/${job}`);\n if (shouldOpenBrowser) {\n open(fullUrls[0], { url: true }).catch(() => {\n /** it's ok, the user is instructed to open the browser manually */\n });\n }\n const urlsColored = fullUrls.map((url) => chalk.bold.underline(url));\n return msg + urlsColored.join('\\n');\n };\n\n return (\n nonExistOnBitMapOutput() +\n missingScopeOutput() +\n exportOutput() +\n ejectOutput() +\n removedOutput() +\n rippleJobsOutput()\n );\n }\n\n async json(\n [ids = []]: [string[]],\n {\n eject = false,\n all = false,\n allVersions = false,\n originDirectly = false,\n ignoreMissingArtifacts = false,\n resume,\n }: any\n ): Promise<ExportResult> {\n const results = await this.exportMain.export({\n ids,\n eject,\n includeNonStaged: all || allVersions,\n allVersions: allVersions || all,\n originDirectly,\n resumeExportId: resume,\n ignoreMissingArtifacts,\n });\n\n return results;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -31,6 +31,7 @@ type ExportParams = {
31
31
  };
32
32
  export interface ExportResult {
33
33
  nonExistOnBitMap: ComponentID[];
34
+ newIdsOnRemote: ComponentID[];
34
35
  removedIds: ComponentIdList;
35
36
  missingScope: ComponentID[];
36
37
  componentsIds: ComponentID[];
@@ -242,6 +242,7 @@ class ExportMain {
242
242
  async export(params = {}) {
243
243
  const {
244
244
  nonExistOnBitMap,
245
+ newIdsOnRemote,
245
246
  missingScope,
246
247
  exported,
247
248
  removedIds,
@@ -253,6 +254,7 @@ class ExportMain {
253
254
  if (params.eject) ejectResults = await this.ejectExportedComponents(exported);
254
255
  const exportResults = {
255
256
  componentsIds: exported,
257
+ newIdsOnRemote,
256
258
  nonExistOnBitMap,
257
259
  removedIds,
258
260
  missingScope,
@@ -620,7 +622,7 @@ if the export fails with missing objects/versions/components, run "bit fetch --l
620
622
  const newIdsOnRemote = exportedIds.map(id => _componentId().ComponentID.fromString(id));
621
623
  // remove version. exported component might have multiple versions exported
622
624
  const idsWithRemoteScope = newIdsOnRemote.map(id => id.changeVersion(undefined));
623
- const idsWithRemoteScopeUniq = _componentId().ComponentIdList.uniqFromArray(idsWithRemoteScope);
625
+ const idsWithRemoteScopeUniq = _componentId().ComponentIdList.uniqFromArray(idsWithRemoteScope).sort();
624
626
  return {
625
627
  newIdsOnRemote,
626
628
  exported: idsWithRemoteScopeUniq,
@@ -1 +1 @@
1
- {"version":3,"names":["_fsExtra","data","_interopRequireDefault","require","_cli","_scope","_bitError","_legacy","_componentId","_loader","_loaderMessages","_constants","_legacy2","_remove","_models","_legacy3","_scope2","_workspace","_logger","_http","_objectList","_lodash","_pMapSeries","_laneId","_eject","_scopeRemotes","_workspaceModules","_dependencyResolver","_exportScopeComponents","_persistFailed","_traverseVersions","_export","_exportCmd","_resumeExportCmd","_excluded","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_objectWithoutProperties","i","_objectWithoutPropertiesLoose","s","includes","propertyIsEnumerable","call","n","hasOwnProperty","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","ExportMain","constructor","workspace","remove","depResolver","logger","eject","export","params","nonExistOnBitMap","missingScope","exported","removedIds","exportedLanes","rippleJobs","exportComponents","ejectResults","clearCache","ejectExportedComponents","exportResults","componentsIds","Scope","onPostExport","catch","err","error","_ref","ids","includeNonStaged","headOnly","originDirectly","OutsideWorkspaceError","consumer","idsToExport","idsWithFutureScope","laneObject","getComponentsToExport","updatedIds","ComponentIdList","newIdsOnRemote","forkLaneNewScope","BitError","name","readmeComponent","_throwForUnsnappedLaneReadme","forkedFrom","isNew","scope","id","toString","isOnMain","updatedLocally","exportMany","exportHeadsOnly","filterOutExistingVersions","Boolean","allVersions","updateLanesAfterExport","getRemovedStagedBitIds","workspaceIds","listIds","hasWithoutVersion","_updateIdsOnBitMap","bitMap","linkToNodeModulesByIds","removeFromStagedConfig","legacyScope","stagedSnaps","deleteFile","fs","getLastMergedPath","Analytics","setExtraData","onDestroy","resumeExportId","throwForMissingArtifacts","exportOrigin","debug","scopeRemotes","getScopeRemotes","groupByScopeName","idList","reduce","acc","current","getScopeName","idWithDefaultScope","searchWithoutScopeAndVersion","scopeName","Error","idsGroupedByScope","validateTargetScopeForLanes","newIds","fromArray","isExported","newIdsGrouped","mapSeries","remote","resolve","list","map","listItem","addMainHeadIfPossible","allHashes","modelComponent","head","find","h","hash","objects","has","getVersionsToExport","getCompHeadIncludeUpdateDependents","toComponentId","localTagsOrHashes","getLocalHashes","getAllVersionHashes","repo","groupedByScopeString","join","getUpdatedObjectsToExport","remoteNameStr","bitIds","lane","throwForDuplicationIgnoreVersion","idsToChangeLocally","componentsAndObjects","objectList","ObjectList","objectListPerName","modelComponents","getModelComponent","clearObjectsFromCache","refsToPotentialExportPerComponent","refs","getRefsToExportPerComp","allHashesAsStr","flat","ref","existingOnRemote","scopeImporter","checkWhatHashesExistOnRemote","refsToExportPerComponent","filteredOutRefs","refsToExport","existing","compact","bitObjectToObjectItem","obj","buffer","compress","type","getType","processModelComponent","clearStateData","objectItems","collectVersionsObjects","objectsList","toBitObjects","componentAndObject","component","getAll","convertToCorrectScope","remoteObj","url","host","date","Date","now","addScopeListItem","componentBuffer","componentData","objectsBuffer","Promise","all","allObjectsData","addIfNotExist","laneHistory","lanes","getOrCreateLaneHistory","laneHistoryData","laneData","manyObjectsPerRemote","pushAllToCentralHub","transformToOneObjectListWithScopeData","http","Http","connect","CENTRAL_BIT_HUB_URL","CENTRAL_BIT_HUB_NAME","pushResults","pushToCentralHub","origin","failedScopes","successIds","errors","metadata","PersistFailed","exportedBitIds","ComponentID","fromString","exportedIds","objectPerRemote","idsPerScope","jobs","updateLocalObjects","objectsPerRemote","componentObject","sources","put","add","remoteLanes","syncWithLaneObject","remoteLaneId","LaneId","from","DEFAULT_LANE","loadRemoteLane","addEntry","getHead","persist","idsWithRemoteScope","changeVersion","undefined","idsWithRemoteScopeUniq","uniqFromArray","hasWithoutScopeAndVersion","warnCancelExport","consoleWarning","process","on","centralHubResults","remotes","validateRemotes","persistRemotes","shouldPushToCentralHub","pushToRemotesCarefully","loader","start","results","removeListener","objPerRemote","addScopeName","mergeObjectList","force","ejectErr","c","msg","clientId","pushRemotesPendingDir","pushOptions","pushedRemotes","count","pushMany","warn","removePendingDirs","hubRemotes","m","isHub","componentsObjects","remoteScope","exportingIds","shouldFork","versionsObjects","object","Version","haveVersionsChanged","objectVersion","didDependencyChange","changeDependencyScope","changeExtensionsScope","shouldChangeScope","hasComponentChanged","idWithFutureScope","some","x","version","hasChanged","getAllDependencies","dependency","updatedIdWithScope","getIdWithUpdatedScope","flattenedIds","flattenedDependencies","needsChange","getBitIdsWithUpdatedScope","hasFlattenedEdgesChanged","flattenedEdges","getFlattenedEdges","updatedFlattenedEdges","edge","source","target","flattenedEdgeToSource","flattenedEdgesRef","extensions","ext","extensionId","updatedScope","isEqual","dependencyId","depId","ModelComponent","fromBitId","dependencyObject","loadSync","Symlink","changeScope","realScope","currentlyExportedDep","stagedConfig","getStagedConfig","compId","removeComponentConfig","write","componentsList","ComponentsList","idsHaveWildcard","hasWildcard","throwForLocalOnlyIfNeeded","localOnlyComponents","listLocalOnly","localOnlyExportPending","isUserTryingToExportLanes","componentsToExport","getLaneCompIdsToExport","loaderMsg","BEFORE_EXPORTS","BEFORE_EXPORT","filtered","BEFORE_LOADING_COMPONENTS","exportPendingComponents","listNonNewComponentsIds","listExportPendingComponentsIds","filterComponentsByWildcard","parsedIds","getParsedId","loadComponents","currentLaneId","getCurrentLaneId","loadLane","componentsToExportWithoutRemoved","removedStagedBitIds","removedStaged","getRemovedStaged","provider","cli","loggerMain","createLogger","ExportAspect","exportMain","register","ResumeExportCmd","ExportCmd","exports","MainRuntime","CLIAspect","ScopeAspect","WorkspaceAspect","RemoveAspect","DependencyResolverAspect","LoggerAspect","EjectAspect","addRuntime","componentsId","resultId","updateComponentId","hasVersion","isValid","getComponent","getComponentHead","currentLane","isCurrentLane","setCurrentLane","toLaneId","scopeJson","removeLaneFromNew","isOnLane","_default"],"sources":["export.main.runtime.ts"],"sourcesContent":["import fs from 'fs-extra';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { ScopeAspect, ScopeMain } from '@teambit/scope';\nimport { BitError } from '@teambit/bit-error';\nimport { Analytics } from '@teambit/legacy.analytics';\nimport { ComponentID, ComponentIdList } from '@teambit/component-id';\nimport loader from '@teambit/legacy/dist/cli/loader';\nimport {\n BEFORE_EXPORT,\n BEFORE_EXPORTS,\n BEFORE_LOADING_COMPONENTS,\n} from '@teambit/legacy/dist/cli/loader/loader-messages';\nimport { CENTRAL_BIT_HUB_NAME, CENTRAL_BIT_HUB_URL } from '@teambit/legacy/dist/constants';\nimport { Consumer } from '@teambit/legacy/dist/consumer';\nimport { BitMap } from '@teambit/legacy.bit-map';\nimport { ComponentsList } from '@teambit/legacy.component-list';\nimport { RemoveAspect, RemoveMain } from '@teambit/remove';\nimport { Lane, ModelComponent, Symlink, Version } from '@teambit/legacy/dist/scope/models';\nimport { hasWildcard } from '@teambit/legacy.utils';\nimport { Scope } from '@teambit/legacy/dist/scope';\nimport { WorkspaceAspect, OutsideWorkspaceError, Workspace } from '@teambit/workspace';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { LaneReadmeComponent } from '@teambit/legacy/dist/scope/models/lane';\nimport { Http } from '@teambit/legacy/dist/scope/network/http';\nimport { ObjectItem, ObjectList } from '@teambit/legacy/dist/scope/objects/object-list';\nimport { compact } from 'lodash';\nimport mapSeries from 'p-map-series';\nimport { LaneId, DEFAULT_LANE } from '@teambit/lane-id';\nimport { Remote, Remotes } from '@teambit/legacy/dist/remotes';\nimport { EjectAspect, EjectMain, EjectResults } from '@teambit/eject';\nimport { getScopeRemotes } from '@teambit/legacy/dist/scope/scope-remotes';\nimport { ExportOrigin } from '@teambit/legacy/dist/scope/network/http/http';\nimport { linkToNodeModulesByIds } from '@teambit/workspace.modules.node-modules-linker';\nimport { DependencyResolverAspect, DependencyResolverMain } from '@teambit/dependency-resolver';\nimport {\n persistRemotes,\n validateRemotes,\n removePendingDirs,\n} from '@teambit/legacy/dist/scope/component-ops/export-scope-components';\nimport { BitObject, Ref } from '@teambit/legacy/dist/scope/objects';\nimport { PersistFailed } from '@teambit/legacy/dist/scope/exceptions/persist-failed';\nimport { getAllVersionHashes } from '@teambit/legacy/dist/scope/component-ops/traverse-versions';\nimport { ExportAspect } from './export.aspect';\nimport { ExportCmd } from './export-cmd';\nimport { ResumeExportCmd } from './resume-export-cmd';\n\nexport type OnExportIdTransformer = (id: ComponentID) => ComponentID;\n\ntype ModelComponentAndObjects = { component: ModelComponent; objects: BitObject[] };\ntype ObjectListPerName = { [name: string]: ObjectList };\ntype ObjectsPerRemote = {\n remote: Remote;\n objectList: ObjectList;\n exportedIds?: string[];\n};\ntype ObjectsPerRemoteExtended = ObjectsPerRemote & {\n objectListPerName: ObjectListPerName;\n idsToChangeLocally: ComponentIdList;\n componentsAndObjects: ModelComponentAndObjects[];\n};\n\ntype ExportParams = {\n ids?: string[];\n eject?: boolean;\n allVersions?: boolean;\n originDirectly?: boolean;\n includeNonStaged?: boolean;\n resumeExportId?: string | undefined;\n headOnly?: boolean;\n ignoreMissingArtifacts?: boolean;\n forkLaneNewScope?: boolean;\n};\n\nexport interface ExportResult {\n nonExistOnBitMap: ComponentID[];\n removedIds: ComponentIdList;\n missingScope: ComponentID[];\n componentsIds: ComponentID[];\n exportedLanes: Lane[];\n rippleJobs: string[];\n ejectResults: EjectResults | undefined;\n}\n\nexport class ExportMain {\n constructor(\n private workspace: Workspace,\n private remove: RemoveMain,\n private depResolver: DependencyResolverMain,\n private logger: Logger,\n private eject: EjectMain\n ) {}\n\n async export(params: ExportParams = {}): Promise<ExportResult> {\n const { nonExistOnBitMap, missingScope, exported, removedIds, exportedLanes, rippleJobs } =\n await this.exportComponents(params);\n let ejectResults: EjectResults | undefined;\n await this.workspace.clearCache(); // needed when one process executes multiple commands, such as in \"bit test\" or \"bit cli\"\n if (params.eject) ejectResults = await this.ejectExportedComponents(exported);\n const exportResults = {\n componentsIds: exported,\n nonExistOnBitMap,\n removedIds,\n missingScope,\n ejectResults,\n exportedLanes,\n rippleJobs,\n };\n if (Scope.onPostExport) {\n await Scope.onPostExport(exported, exportedLanes).catch((err) => {\n this.logger.error('fatal: onPostExport encountered an error (this error does not stop the process)', err);\n });\n }\n return exportResults;\n }\n\n private async exportComponents({\n ids,\n includeNonStaged,\n headOnly,\n originDirectly,\n ...params\n }: ExportParams): Promise<{\n updatedIds: ComponentID[];\n nonExistOnBitMap: ComponentID[];\n removedIds: ComponentIdList;\n missingScope: ComponentID[];\n exported: ComponentID[];\n exportedLanes: Lane[];\n newIdsOnRemote: ComponentID[];\n rippleJobs: string[];\n }> {\n if (!this.workspace) throw new OutsideWorkspaceError();\n const consumer: Consumer = this.workspace.consumer;\n const { idsToExport, missingScope, idsWithFutureScope, laneObject } = await this.getComponentsToExport(\n ids,\n includeNonStaged || headOnly\n );\n\n if (!idsToExport.length && !laneObject) {\n return {\n updatedIds: [],\n nonExistOnBitMap: [],\n removedIds: new ComponentIdList(),\n missingScope,\n exported: [],\n newIdsOnRemote: [],\n exportedLanes: [],\n rippleJobs: [],\n };\n }\n if (!idsToExport.length && laneObject && params.forkLaneNewScope) {\n throw new BitError(`the forked lane \"${laneObject.name}\" has no changes, to export all its components, please use \"--all\" flag\nif the export fails with missing objects/versions/components, run \"bit fetch --lanes <lane-name> --all-history\", to make sure you have the full history locally`);\n }\n\n // validate lane readme component and ensure it has been snapped\n if (laneObject?.readmeComponent) {\n _throwForUnsnappedLaneReadme(laneObject);\n }\n\n if (\n !params.forkLaneNewScope &&\n laneObject?.forkedFrom &&\n laneObject.isNew &&\n laneObject.forkedFrom.scope !== laneObject.scope\n ) {\n throw new BitError(`error: the current lane ${laneObject\n .id()\n .toString()} was forked from ${laneObject.forkedFrom.toString()}\nand is about to export to a different scope (${laneObject.scope}) than the original lane (${\n laneObject.forkedFrom.scope\n }).\non large lanes with long history graph, it results in exporting lots of objects to the new scope, some of them might be missing locally.\nif you can use the same scope as the original name, change it now by running \"bit lane change-scope ${\n laneObject.name\n } ${laneObject.forkedFrom.scope}\".\notherwise, re-run the export with \"--fork-lane-new-scope\" flag.\nif the export fails with missing objects/versions/components, run \"bit fetch --lanes <lane-name> --all-history\", to make sure you have the full history locally`);\n }\n const isOnMain = consumer.isOnMain();\n const { exported, updatedLocally, newIdsOnRemote, rippleJobs } = await this.exportMany({\n ...params,\n exportHeadsOnly: headOnly,\n scope: consumer.scope,\n ids: idsToExport,\n laneObject,\n originDirectly,\n idsWithFutureScope,\n isOnMain,\n filterOutExistingVersions: Boolean(!params.allVersions && laneObject),\n });\n if (laneObject) await updateLanesAfterExport(consumer, laneObject);\n const removedIds = await this.getRemovedStagedBitIds();\n const workspaceIds = this.workspace.listIds();\n const nonExistOnBitMap = exported.filter(\n (id) => !workspaceIds.hasWithoutVersion(id) && !removedIds.hasWithoutVersion(id)\n );\n // @ts-ignore todo: remove after deleting teambit.legacy\n const updatedIds = _updateIdsOnBitMap(consumer.bitMap, updatedLocally);\n // re-generate the package.json, this way, it has the correct data in the componentId prop.\n await linkToNodeModulesByIds(this.workspace, updatedIds, true);\n await this.removeFromStagedConfig(exported);\n // ideally we should delete the staged-snaps only for the exported snaps. however, it's not easy, and it's ok to\n // delete them all because this file is mainly an optimization for the import process.\n await this.workspace.scope.legacyScope.stagedSnaps.deleteFile();\n await fs.remove(this.workspace.scope.getLastMergedPath());\n Analytics.setExtraData('num_components', exported.length);\n // it is important to have consumer.onDestroy() before running the eject operation, we want the\n // export and eject operations to function independently. we don't want to lose the changes to\n // .bitmap file done by the export action in case the eject action has failed.\n await consumer.onDestroy('export');\n return {\n updatedIds,\n nonExistOnBitMap,\n removedIds,\n missingScope,\n exported,\n newIdsOnRemote,\n exportedLanes: laneObject ? [laneObject] : [],\n rippleJobs,\n };\n }\n\n /**\n * the export process uses four steps. read more about it here: https://github.com/teambit/bit/pull/3371\n */\n async exportMany({\n scope,\n ids, // when exporting a lane, the ids are the lane component ids\n laneObject,\n allVersions,\n originDirectly,\n idsWithFutureScope,\n resumeExportId,\n throwForMissingArtifacts,\n isOnMain = true,\n exportHeadsOnly, // relevant when exporting from bare-scope, especially when re-exporting existing versions, the normal calculation based on getDivergeData won't work\n filterOutExistingVersions, // go to the remote and check whether the version exists there. if so, don't export it\n exportOrigin = 'export',\n }: {\n scope: Scope;\n ids: ComponentIdList;\n laneObject?: Lane;\n allVersions?: boolean;\n originDirectly?: boolean;\n idsWithFutureScope: ComponentIdList;\n resumeExportId?: string | undefined;\n throwForMissingArtifacts?: boolean;\n isOnMain?: boolean;\n exportHeadsOnly?: boolean;\n filterOutExistingVersions?: boolean;\n exportOrigin?: ExportOrigin;\n }): Promise<{\n exported: ComponentIdList;\n updatedLocally: ComponentIdList;\n newIdsOnRemote: ComponentID[];\n rippleJobs: string[];\n }> {\n this.logger.debug(`scope.exportMany, ids: ${ids.toString()}`);\n const scopeRemotes: Remotes = await getScopeRemotes(scope);\n\n const groupByScopeName = (idList: ComponentIdList): { [scopeName: string]: ComponentIdList } => {\n return idList.reduce((acc, current) => {\n const getScopeName = () => {\n if (current.scope) return current.scope;\n const idWithDefaultScope = idsWithFutureScope.searchWithoutScopeAndVersion(current);\n return idWithDefaultScope ? idWithDefaultScope.scope : null;\n };\n const scopeName = getScopeName();\n if (!scopeName) {\n throw new Error(`toGroupByScopeName() expect ids to have a scope name, got ${current.toString()}`);\n }\n if (acc[scopeName]) acc[scopeName].push(current);\n else acc[scopeName] = new ComponentIdList(current);\n return acc;\n }, {});\n };\n\n const idsGroupedByScope = groupByScopeName(ids);\n\n /**\n * when a component is exported for the first time, and the lane-scope is not the same as the component-scope, it's\n * important to validate that there is no such component in the original scope. otherwise, later, it'll be impossible\n * to merge the lane because these two components don't have any snap in common.\n */\n const validateTargetScopeForLanes = async () => {\n if (!laneObject) {\n return;\n }\n const newIds = ComponentIdList.fromArray(ids.filter((id) => !scope.isExported(id)));\n const newIdsGrouped = groupByScopeName(newIds);\n await mapSeries(Object.keys(newIdsGrouped), async (scopeName) => {\n if (scopeName === laneObject.scope) {\n // this validation is redundant if the lane-component is in the same scope as the lane-object\n return;\n }\n // by getting the remote we also validate that this scope actually exists.\n const remote = await scopeRemotes.resolve(scopeName, scope);\n const list = await remote.list();\n const listIds = ComponentIdList.fromArray(list.map((listItem) => listItem.id));\n newIdsGrouped[scopeName].forEach((id) => {\n if (listIds.hasWithoutVersion(id)) {\n throw new Error(`unable to export a lane with a new component \"${id.toString()}\", which has the default-scope \"${scopeName}\".\n this scope already has a component with the same name. as such, it'll be impossible to merge the lane later because these two components are different`);\n }\n });\n });\n };\n\n /**\n * by default, when exporting a lane, it traverse from the Lane's head and therefore it may skip the main head.\n * later, if for some reason the original component was deleted in its scope, the head object will be missing.\n */\n const addMainHeadIfPossible = async (allHashes: Ref[], modelComponent: ModelComponent) => {\n const head = modelComponent.head;\n if (!head) return;\n if (allHashes.find((h) => h.hash === head.hash)) return; // head is already in the list\n if (!(await scope.objects.has(head))) return; // it should not happen. but if it does, we don't want to block the export\n allHashes.push(head);\n };\n\n const getVersionsToExport = async (modelComponent: ModelComponent): Promise<Ref[]> => {\n if (exportHeadsOnly) {\n const head =\n laneObject?.getCompHeadIncludeUpdateDependents(modelComponent.toComponentId()) || modelComponent.head;\n if (!head)\n throw new Error(\n `getVersionsToExport should export the head only, but the head of ${modelComponent.id()} is missing`\n );\n return [head];\n }\n const localTagsOrHashes = await modelComponent.getLocalHashes(scope.objects);\n if (!allVersions) {\n return localTagsOrHashes;\n }\n\n const allHashes = await getAllVersionHashes({ modelComponent, repo: scope.objects });\n await addMainHeadIfPossible(allHashes, modelComponent);\n return allHashes;\n };\n\n await validateTargetScopeForLanes();\n const groupedByScopeString = Object.keys(idsGroupedByScope)\n .map((scopeName) => `scope \"${scopeName}\": ${idsGroupedByScope[scopeName].toString()}`)\n .join(', ');\n this.logger.debug(`export-scope-components, export to the following scopes ${groupedByScopeString}`);\n\n const getUpdatedObjectsToExport = async (\n remoteNameStr: string,\n bitIds: ComponentIdList,\n lane?: Lane\n ): Promise<ObjectsPerRemoteExtended> => {\n bitIds.throwForDuplicationIgnoreVersion();\n const remote: Remote = await scopeRemotes.resolve(remoteNameStr, scope);\n const idsToChangeLocally = ComponentIdList.fromArray(bitIds.filter((id) => !scope.isExported(id)));\n const componentsAndObjects: ModelComponentAndObjects[] = [];\n const objectList = new ObjectList();\n const objectListPerName: ObjectListPerName = {};\n\n const modelComponents = await mapSeries(bitIds, (id) => scope.getModelComponent(id));\n // super important! otherwise, the processModelComponent() changes objects in memory, while the key remains the same\n scope.objects.clearObjectsFromCache();\n\n const refsToPotentialExportPerComponent = await mapSeries(modelComponents, async (modelComponent) => {\n const refs = await getVersionsToExport(modelComponent);\n return { modelComponent, refs };\n });\n\n const getRefsToExportPerComp = async () => {\n if (!filterOutExistingVersions) {\n return refsToPotentialExportPerComponent;\n }\n const allHashesAsStr = refsToPotentialExportPerComponent\n .map((r) => r.refs)\n .flat()\n .map((ref) => ref.toString());\n const existingOnRemote = await scope.scopeImporter.checkWhatHashesExistOnRemote(remoteNameStr, allHashesAsStr);\n // for lanes, some snaps might be already on the remote, and the reason they're staged is due to a previous merge.\n const refsToExportPerComponent = refsToPotentialExportPerComponent.map(({ modelComponent, refs }) => {\n const filteredOutRefs: string[] = [];\n const refsToExport = refs.filter((ref) => {\n const existing = existingOnRemote.includes(ref.toString());\n if (existing) filteredOutRefs.push(ref.toString());\n return !existing;\n });\n if (filteredOutRefs.length)\n this.logger.debug(\n `export-scope-components, the following refs were filtered out from ${modelComponent\n .id()\n .toString()} because they already exist on the remote:\\n${filteredOutRefs.join('\\n')}`\n );\n\n return refsToExport.length ? { modelComponent, refs: refsToExport } : null;\n });\n\n return compact(refsToExportPerComponent);\n };\n\n const bitObjectToObjectItem = async (obj: BitObject): Promise<ObjectItem> => {\n return {\n ref: obj.hash(),\n buffer: await obj.compress(),\n type: obj.getType(),\n };\n };\n\n const processModelComponent = async ({\n modelComponent,\n refs,\n }: {\n modelComponent: ModelComponent;\n refs: Ref[];\n }) => {\n modelComponent.clearStateData();\n const objectItems = await modelComponent.collectVersionsObjects(\n scope.objects,\n refs.map((ref) => ref.toString()),\n throwForMissingArtifacts\n );\n const objectsList = await new ObjectList(objectItems).toBitObjects();\n const componentAndObject = { component: modelComponent, objects: objectsList.getAll() };\n await this.convertToCorrectScope(scope, componentAndObject, remoteNameStr, bitIds, idsWithFutureScope);\n const remoteObj = { url: remote.host, name: remote.name, date: Date.now().toString() };\n modelComponent.addScopeListItem(remoteObj);\n componentsAndObjects.push(componentAndObject);\n const componentBuffer = await modelComponent.compress();\n const componentData = { ref: modelComponent.hash(), buffer: componentBuffer, type: modelComponent.getType() };\n const objectsBuffer = await Promise.all(\n componentAndObject.objects.map(async (obj) => bitObjectToObjectItem(obj))\n );\n const allObjectsData = [componentData, ...objectsBuffer];\n objectListPerName[modelComponent.name] = new ObjectList(allObjectsData);\n objectList.addIfNotExist(allObjectsData);\n };\n\n const refsToExportPerComponent = await getRefsToExportPerComp();\n // don't use Promise.all, otherwise, it'll throw \"JavaScript heap out of memory\" on a large set of data\n await mapSeries(refsToExportPerComponent, processModelComponent);\n if (lane) {\n const laneHistory = await scope.lanes.getOrCreateLaneHistory(lane);\n const laneHistoryData = await bitObjectToObjectItem(laneHistory);\n objectList.addIfNotExist([laneHistoryData]);\n const laneData = await bitObjectToObjectItem(lane);\n objectList.addIfNotExist([laneData]);\n }\n\n return { remote, objectList, objectListPerName, idsToChangeLocally, componentsAndObjects };\n };\n\n const manyObjectsPerRemote = laneObject\n ? [await getUpdatedObjectsToExport(laneObject.scope, ids, laneObject)]\n : await mapSeries(Object.keys(idsGroupedByScope), (scopeName) =>\n getUpdatedObjectsToExport(scopeName, idsGroupedByScope[scopeName], laneObject)\n );\n\n const pushAllToCentralHub = async () => {\n const objectList = this.transformToOneObjectListWithScopeData(manyObjectsPerRemote);\n const http = await Http.connect(CENTRAL_BIT_HUB_URL, CENTRAL_BIT_HUB_NAME);\n const pushResults = await http.pushToCentralHub(objectList, { origin: exportOrigin });\n const { failedScopes, successIds, errors, metadata } = pushResults;\n if (failedScopes.length) {\n throw new PersistFailed(failedScopes, errors);\n }\n const exportedBitIds = successIds.map((id) => ComponentID.fromString(id));\n if (manyObjectsPerRemote.length === 1) {\n // when on a lane, it's always exported to the lane. and the ids can be from different scopes, so having the\n // filter below, will remove these components from the output of bit-export at the end.\n manyObjectsPerRemote[0].exportedIds = exportedBitIds.map((id) => id.toString());\n } else {\n manyObjectsPerRemote.forEach((objectPerRemote) => {\n const idsPerScope = exportedBitIds.filter((id) => id.scope === objectPerRemote.remote.name);\n // it's possible that idsPerScope is an empty array, in case the objects were exported already before\n objectPerRemote.exportedIds = idsPerScope.map((id) => id.toString());\n });\n }\n return { rippleJobs: metadata?.jobs };\n };\n\n const updateLocalObjects = async (\n lane?: Lane\n ): Promise<\n Array<{ exported: ComponentIdList; updatedLocally: ComponentIdList; newIdsOnRemote: ComponentID[] }>\n > => {\n return mapSeries(manyObjectsPerRemote, async (objectsPerRemote: ObjectsPerRemoteExtended) => {\n const { remote, idsToChangeLocally, componentsAndObjects, exportedIds } = objectsPerRemote;\n const remoteNameStr = remote.name;\n\n componentsAndObjects.forEach((componentObject) => scope.sources.put(componentObject));\n\n // update lanes\n if (lane) {\n if (idsToChangeLocally.length) {\n // otherwise, we don't want to update scope-name of components in the lane object\n scope.objects.add(lane);\n }\n await scope.objects.remoteLanes.syncWithLaneObject(remoteNameStr, lane);\n }\n\n if (isOnMain && !lane) {\n // all exported from main\n const remoteLaneId = LaneId.from(DEFAULT_LANE, remoteNameStr);\n await scope.objects.remoteLanes.loadRemoteLane(remoteLaneId);\n await Promise.all(\n componentsAndObjects.map(async ({ component }) => {\n await scope.objects.remoteLanes.addEntry(remoteLaneId, component.toComponentId(), component.getHead());\n })\n );\n }\n\n await scope.objects.persist();\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const newIdsOnRemote = exportedIds!.map((id) => ComponentID.fromString(id));\n // remove version. exported component might have multiple versions exported\n const idsWithRemoteScope: ComponentID[] = newIdsOnRemote.map((id) => id.changeVersion(undefined));\n const idsWithRemoteScopeUniq = ComponentIdList.uniqFromArray(idsWithRemoteScope);\n return {\n newIdsOnRemote,\n exported: idsWithRemoteScopeUniq,\n updatedLocally: ComponentIdList.fromArray(\n idsWithRemoteScopeUniq.filter((id) => idsToChangeLocally.hasWithoutScopeAndVersion(id))\n ),\n };\n });\n };\n\n const warnCancelExport = () => {\n this.logger.consoleWarning(\n `unable to cancel the export process at this point because the communication with the remote already started`\n );\n };\n process.on('SIGINT', warnCancelExport);\n let centralHubResults;\n if (resumeExportId) {\n const remotes = manyObjectsPerRemote.map((o) => o.remote);\n await validateRemotes(remotes, resumeExportId);\n await persistRemotes(manyObjectsPerRemote, resumeExportId);\n } else if (this.shouldPushToCentralHub(manyObjectsPerRemote, scopeRemotes, originDirectly)) {\n centralHubResults = await pushAllToCentralHub();\n } else {\n // await pushToRemotes();\n await this.pushToRemotesCarefully(manyObjectsPerRemote, resumeExportId);\n }\n\n loader.start('updating data locally...');\n const results = await updateLocalObjects(laneObject);\n process.removeListener('SIGINT', warnCancelExport);\n return {\n newIdsOnRemote: results.map((r) => r.newIdsOnRemote).flat(),\n exported: ComponentIdList.uniqFromArray(results.map((r) => r.exported).flat()),\n updatedLocally: ComponentIdList.uniqFromArray(results.map((r) => r.updatedLocally).flat()),\n rippleJobs: centralHubResults?.rippleJobs || [],\n };\n }\n\n private transformToOneObjectListWithScopeData(objectsPerRemote: ObjectsPerRemote[]): ObjectList {\n const objectList = new ObjectList();\n objectsPerRemote.forEach((objPerRemote) => {\n objPerRemote.objectList.addScopeName(objPerRemote.remote.name);\n objectList.mergeObjectList(objPerRemote.objectList);\n });\n return objectList;\n }\n\n private async ejectExportedComponents(componentsIds: ComponentID[]): Promise<EjectResults> {\n const consumer: Consumer = this.workspace.consumer;\n let ejectResults: EjectResults;\n try {\n ejectResults = await this.eject.eject(componentsIds, { force: true });\n } catch (err: any) {\n const ejectErr = `The components ${componentsIds.map((c) => c.toString()).join(', ')} were exported successfully.\n However, the eject operation has failed due to an error: ${err.msg || err}`;\n this.logger.error(ejectErr, err);\n throw new Error(ejectErr);\n }\n // run the consumer.onDestroy() again, to write the changes done by the eject action to .bitmap\n await consumer.onDestroy('export (eject)');\n return ejectResults;\n }\n\n async pushToRemotesCarefully(manyObjectsPerRemote: ObjectsPerRemote[], resumeExportId?: string) {\n const remotes = manyObjectsPerRemote.map((o) => o.remote);\n const clientId = resumeExportId || Date.now().toString();\n await this.pushRemotesPendingDir(clientId, manyObjectsPerRemote, resumeExportId);\n await validateRemotes(remotes, clientId, Boolean(resumeExportId));\n await persistRemotes(manyObjectsPerRemote, clientId);\n }\n\n private async pushRemotesPendingDir(\n clientId: string,\n manyObjectsPerRemote: ObjectsPerRemote[],\n resumeExportId?: string\n ): Promise<void> {\n if (resumeExportId) {\n this.logger.debug('pushRemotesPendingDir - skip as the resumeExportId was passed');\n // no need to transfer the objects, they're already on the server. also, since this clientId\n // exists already on the remote pending-dir, it'll cause a collision.\n return;\n }\n const pushOptions = { clientId };\n const pushedRemotes: Remote[] = [];\n await mapSeries(manyObjectsPerRemote, async (objectsPerRemote: ObjectsPerRemote) => {\n const { remote, objectList } = objectsPerRemote;\n loader.start(`transferring ${objectList.count()} objects to the remote \"${remote.name}\"...`);\n try {\n await remote.pushMany(objectList, pushOptions, {});\n this.logger.debug(\n 'pushRemotesPendingDir, successfully pushed all objects to the pending-dir directory on the remote'\n );\n pushedRemotes.push(remote);\n } catch (err: any) {\n this.logger.warn('exportMany, failed pushing objects to the remote');\n await removePendingDirs(pushedRemotes, clientId);\n throw err;\n }\n });\n }\n\n shouldPushToCentralHub(\n manyObjectsPerRemote: ObjectsPerRemote[],\n scopeRemotes: Remotes,\n originDirectly = false\n ): boolean {\n if (originDirectly) return false;\n const hubRemotes = manyObjectsPerRemote.filter((m) => scopeRemotes.isHub(m.remote.name));\n if (!hubRemotes.length) return false;\n if (hubRemotes.length === manyObjectsPerRemote.length) return true; // all are hub\n // @todo: maybe create a flag \"no-central\" to support this workflow\n throw new BitError(\n `some of your components are configured to be exported to a local scope and some to the bit.cloud hub. this is not supported`\n );\n }\n\n /**\n * Component and dependencies id changes:\n * When exporting components with dependencies to a bare-scope, some of the dependencies may be created locally and as\n * a result their scope-name is null. Before the bare-scope gets the components, convert these scope names\n * to the bare-scope name.\n *\n * This is the Harmony version of \"convertToCorrectScope\". No more codemod and no more hash changes.\n */\n private async convertToCorrectScope(\n scope: Scope,\n componentsObjects: ModelComponentAndObjects,\n remoteScope: string,\n exportingIds: ComponentIdList,\n idsWithFutureScope: ComponentIdList,\n shouldFork = false // not in used currently, but might be needed soon\n ): Promise<boolean> {\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n const versionsObjects: Version[] = componentsObjects.objects.filter((object) => object instanceof Version);\n const haveVersionsChanged = await Promise.all(\n versionsObjects.map(async (objectVersion: Version) => {\n const didDependencyChange = changeDependencyScope(objectVersion);\n changeExtensionsScope(objectVersion);\n\n return didDependencyChange;\n })\n );\n const shouldChangeScope = shouldFork\n ? remoteScope !== componentsObjects.component.scope\n : !componentsObjects.component.scope;\n const hasComponentChanged = shouldChangeScope;\n if (shouldChangeScope) {\n const idWithFutureScope = idsWithFutureScope.searchWithoutScopeAndVersion(\n componentsObjects.component.toComponentId()\n );\n componentsObjects.component.scope = idWithFutureScope?.scope || remoteScope;\n }\n\n // return true if one of the versions has changed or the component itself\n return haveVersionsChanged.some((x) => x) || hasComponentChanged;\n\n async function changeDependencyScope(version: Version): Promise<boolean> {\n let hasChanged = false;\n version.getAllDependencies().forEach((dependency) => {\n const updatedIdWithScope = getIdWithUpdatedScope(dependency.id);\n if (!dependency.id.scope) {\n hasChanged = true;\n dependency.id = updatedIdWithScope;\n }\n });\n const flattenedIds: ComponentIdList = version.flattenedDependencies;\n const needsChange = flattenedIds.some((id) => !id.scope);\n if (needsChange) {\n version.flattenedDependencies = getBitIdsWithUpdatedScope(flattenedIds);\n hasChanged = true;\n }\n let hasFlattenedEdgesChanged = false;\n const flattenedEdges = await version.getFlattenedEdges(scope.objects);\n const updatedFlattenedEdges = flattenedEdges.map((edge) => {\n if (edge.source.scope && edge.target.scope) {\n return edge;\n }\n hasFlattenedEdgesChanged = true;\n return {\n ...edge,\n source: getIdWithUpdatedScope(edge.source),\n target: getIdWithUpdatedScope(edge.target),\n };\n });\n if (hasFlattenedEdgesChanged) {\n const source = Version.flattenedEdgeToSource(updatedFlattenedEdges);\n version.flattenedEdgesRef = source?.hash();\n if (source) componentsObjects.objects.push(source);\n hasChanged = true;\n }\n return hasChanged;\n }\n\n function changeExtensionsScope(version: Version): boolean {\n let hasChanged = false;\n version.extensions.forEach((ext) => {\n if (ext.extensionId) {\n const updatedScope = getIdWithUpdatedScope(ext.extensionId);\n if (!updatedScope.isEqual(ext.extensionId)) {\n hasChanged = true;\n ext.extensionId = updatedScope;\n }\n }\n });\n return hasChanged;\n }\n\n function getIdWithUpdatedScope(dependencyId: ComponentID): ComponentID {\n if (dependencyId.scope) {\n return dependencyId; // it's not new\n }\n const depId = ModelComponent.fromBitId(dependencyId);\n // todo: use 'load' for async and switch the foreach with map.\n const dependencyObject = scope.objects.loadSync(depId.hash());\n if (dependencyObject instanceof Symlink) {\n return dependencyId.changeScope(dependencyObject.realScope);\n }\n const currentlyExportedDep = idsWithFutureScope.searchWithoutScopeAndVersion(dependencyId);\n const scopeName = currentlyExportedDep?.scope || remoteScope;\n if (!scopeName) throw new Error(`unable to find scopeName for ${dependencyId.toString()}`);\n return dependencyId.changeScope(scopeName);\n }\n\n function getBitIdsWithUpdatedScope(bitIds: ComponentIdList): ComponentIdList {\n const updatedIds = bitIds.map((id) => getIdWithUpdatedScope(id));\n return ComponentIdList.fromArray(updatedIds);\n }\n }\n\n private async removeFromStagedConfig(ids: ComponentID[]) {\n this.logger.debug(`removeFromStagedConfig, ${ids.length} ids`);\n const stagedConfig = await this.workspace.scope.getStagedConfig();\n ids.map((compId) => stagedConfig.removeComponentConfig(compId));\n await stagedConfig.write();\n }\n\n private async getComponentsToExport(\n ids: string[] = [],\n includeNonStaged?: boolean\n ): Promise<{\n idsToExport: ComponentIdList;\n missingScope: ComponentID[];\n idsWithFutureScope: ComponentIdList;\n laneObject?: Lane;\n }> {\n const consumer = this.workspace.consumer;\n const componentsList = new ComponentsList(consumer);\n const idsHaveWildcard = hasWildcard(ids);\n const throwForLocalOnlyIfNeeded = async (\n bitIds: ComponentIdList\n ): Promise<{ idsToExport: ComponentIdList; missingScope: ComponentID[]; idsWithFutureScope: ComponentIdList }> => {\n const localOnlyComponents = this.workspace.listLocalOnly();\n const localOnlyExportPending = bitIds.filter((id) => localOnlyComponents.hasWithoutScopeAndVersion(id));\n if (localOnlyExportPending.length) {\n throw new BitError(`unable to export the following components as they are local only:\n(either bit-reset them or run \"bit local-only unset\" to make them non local only)\n${localOnlyExportPending.map((c) => c.toString()).join('\\n')}`);\n }\n return { idsToExport: ComponentIdList.fromArray(bitIds), missingScope: [], idsWithFutureScope: bitIds };\n };\n if (isUserTryingToExportLanes(consumer)) {\n if (ids.length) {\n throw new BitError(`when checked out to a lane, all its components are exported. please omit the ids`);\n }\n const { componentsToExport, laneObject } = await this.getLaneCompIdsToExport(consumer, includeNonStaged);\n const loaderMsg = componentsToExport.length > 1 ? BEFORE_EXPORTS : BEFORE_EXPORT;\n loader.start(loaderMsg);\n const filtered = await throwForLocalOnlyIfNeeded(componentsToExport);\n return { ...filtered, laneObject };\n }\n if (!ids.length || idsHaveWildcard) {\n loader.start(BEFORE_LOADING_COMPONENTS);\n const exportPendingComponents: ComponentIdList = includeNonStaged\n ? await componentsList.listNonNewComponentsIds()\n : await componentsList.listExportPendingComponentsIds();\n const componentsToExport = idsHaveWildcard\n ? ComponentsList.filterComponentsByWildcard(exportPendingComponents, ids)\n : exportPendingComponents;\n const loaderMsg = componentsToExport.length > 1 ? BEFORE_EXPORTS : BEFORE_EXPORT;\n loader.start(loaderMsg);\n return throwForLocalOnlyIfNeeded(componentsToExport);\n }\n loader.start(BEFORE_EXPORT); // show single export\n const parsedIds = await Promise.all(ids.map((id) => getParsedId(consumer, id)));\n // load the components for fixing any out-of-sync issues.\n await consumer.loadComponents(ComponentIdList.fromArray(parsedIds));\n\n return throwForLocalOnlyIfNeeded(ComponentIdList.fromArray(parsedIds));\n }\n\n private async getLaneCompIdsToExport(\n consumer: Consumer,\n includeNonStaged?: boolean\n ): Promise<{ componentsToExport: ComponentIdList; laneObject: Lane }> {\n const currentLaneId = consumer.getCurrentLaneId();\n const laneObject = await consumer.scope.loadLane(currentLaneId);\n if (!laneObject) {\n throw new Error(`fatal: unable to load the current lane object (${currentLaneId.toString()})`);\n }\n loader.start(BEFORE_LOADING_COMPONENTS);\n const componentsList = new ComponentsList(consumer);\n const componentsToExportWithoutRemoved = includeNonStaged\n ? await componentsList.listNonNewComponentsIds()\n : await componentsList.listExportPendingComponentsIds(laneObject);\n const removedStagedBitIds = await this.getRemovedStagedBitIds();\n const componentsToExport = ComponentIdList.uniqFromArray([\n ...componentsToExportWithoutRemoved,\n ...removedStagedBitIds,\n ]);\n return { componentsToExport, laneObject };\n }\n\n private async getRemovedStagedBitIds(): Promise<ComponentIdList> {\n const removedStaged = await this.remove.getRemovedStaged();\n return ComponentIdList.fromArray(removedStaged.map((id) => id.changeVersion(undefined)));\n }\n\n static runtime = MainRuntime;\n static dependencies = [\n CLIAspect,\n ScopeAspect,\n WorkspaceAspect,\n RemoveAspect,\n DependencyResolverAspect,\n LoggerAspect,\n EjectAspect,\n ];\n static async provider([cli, scope, workspace, remove, depResolver, loggerMain, eject]: [\n CLIMain,\n ScopeMain,\n Workspace,\n RemoveMain,\n DependencyResolverMain,\n LoggerMain,\n EjectMain\n ]) {\n const logger = loggerMain.createLogger(ExportAspect.id);\n const exportMain = new ExportMain(workspace, remove, depResolver, logger, eject);\n cli.register(new ResumeExportCmd(scope), new ExportCmd(exportMain));\n return exportMain;\n }\n}\n\nExportAspect.addRuntime(ExportMain);\n\n/**\n * the componentsIds passed here are the ones that didn't have scope-name before, and now they have.\n * so if the bitMap.updateComponentId returns bitId without scope-name is because it couldn't find it there\n */\nfunction _updateIdsOnBitMap(bitMap: BitMap, componentsIds: ComponentIdList): ComponentID[] {\n const updatedIds: ComponentID[] = [];\n componentsIds.forEach((componentsId) => {\n const resultId = bitMap.updateComponentId(componentsId, true);\n if (resultId.hasVersion()) updatedIds.push(resultId);\n });\n return updatedIds;\n}\n\nasync function getParsedId(consumer: Consumer, id: string): Promise<ComponentID> {\n // reason why not calling `consumer.getParsedId()` only is because a component might not be on\n // .bitmap and only in the scope. we support this case and enable to export\n try {\n return consumer.getParsedId(id);\n } catch (err: any) {\n return consumer.scope.getParsedId(id);\n }\n}\n\nfunction _throwForUnsnappedLaneReadme(lane: Lane) {\n const readmeComponent = lane.readmeComponent as LaneReadmeComponent;\n\n const isValid =\n readmeComponent?.head &&\n lane.getComponent(readmeComponent.id) &&\n lane.getComponentHead(readmeComponent.id)?.isEqual(readmeComponent?.head);\n\n if (!isValid) {\n throw new BitError(\n `${lane?.name} has a readme component ${readmeComponent.id} that hasn't been snapped on the lane.\n Please run either snap -a or snap ${readmeComponent.id} to snap the component on the lane before exporting it.`\n );\n }\n}\n\nasync function updateLanesAfterExport(consumer: Consumer, lane: Lane) {\n const currentLane = consumer.getCurrentLaneId();\n const isCurrentLane = lane.name === currentLane.name;\n if (!isCurrentLane) {\n throw new Error(\n `updateLanesAfterExport should get called only with current lane, got ${lane.name}, current ${currentLane.name}`\n );\n }\n consumer.setCurrentLane(lane.toLaneId(), true);\n consumer.scope.scopeJson.removeLaneFromNew(lane.name);\n lane.isNew = false;\n}\n\nexport function isUserTryingToExportLanes(consumer: Consumer) {\n return consumer.isOnLane();\n}\n\nexport default ExportMain;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_fsExtra","data","_interopRequireDefault","require","_cli","_scope","_bitError","_legacy","_componentId","_loader","_loaderMessages","_constants","_legacy2","_remove","_models","_legacy3","_scope2","_workspace","_logger","_http","_objectList","_lodash","_pMapSeries","_laneId","_eject","_scopeRemotes","_workspaceModules","_dependencyResolver","_exportScopeComponents","_persistFailed","_traverseVersions","_export","_exportCmd","_resumeExportCmd","_excluded","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_objectWithoutProperties","i","_objectWithoutPropertiesLoose","s","includes","propertyIsEnumerable","call","n","hasOwnProperty","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","ExportMain","constructor","workspace","remove","depResolver","logger","eject","export","params","nonExistOnBitMap","newIdsOnRemote","missingScope","exported","removedIds","exportedLanes","rippleJobs","exportComponents","ejectResults","clearCache","ejectExportedComponents","exportResults","componentsIds","Scope","onPostExport","catch","err","error","_ref","ids","includeNonStaged","headOnly","originDirectly","OutsideWorkspaceError","consumer","idsToExport","idsWithFutureScope","laneObject","getComponentsToExport","updatedIds","ComponentIdList","forkLaneNewScope","BitError","name","readmeComponent","_throwForUnsnappedLaneReadme","forkedFrom","isNew","scope","id","toString","isOnMain","updatedLocally","exportMany","exportHeadsOnly","filterOutExistingVersions","Boolean","allVersions","updateLanesAfterExport","getRemovedStagedBitIds","workspaceIds","listIds","hasWithoutVersion","_updateIdsOnBitMap","bitMap","linkToNodeModulesByIds","removeFromStagedConfig","legacyScope","stagedSnaps","deleteFile","fs","getLastMergedPath","Analytics","setExtraData","onDestroy","resumeExportId","throwForMissingArtifacts","exportOrigin","debug","scopeRemotes","getScopeRemotes","groupByScopeName","idList","reduce","acc","current","getScopeName","idWithDefaultScope","searchWithoutScopeAndVersion","scopeName","Error","idsGroupedByScope","validateTargetScopeForLanes","newIds","fromArray","isExported","newIdsGrouped","mapSeries","remote","resolve","list","map","listItem","addMainHeadIfPossible","allHashes","modelComponent","head","find","h","hash","objects","has","getVersionsToExport","getCompHeadIncludeUpdateDependents","toComponentId","localTagsOrHashes","getLocalHashes","getAllVersionHashes","repo","groupedByScopeString","join","getUpdatedObjectsToExport","remoteNameStr","bitIds","lane","throwForDuplicationIgnoreVersion","idsToChangeLocally","componentsAndObjects","objectList","ObjectList","objectListPerName","modelComponents","getModelComponent","clearObjectsFromCache","refsToPotentialExportPerComponent","refs","getRefsToExportPerComp","allHashesAsStr","flat","ref","existingOnRemote","scopeImporter","checkWhatHashesExistOnRemote","refsToExportPerComponent","filteredOutRefs","refsToExport","existing","compact","bitObjectToObjectItem","obj","buffer","compress","type","getType","processModelComponent","clearStateData","objectItems","collectVersionsObjects","objectsList","toBitObjects","componentAndObject","component","getAll","convertToCorrectScope","remoteObj","url","host","date","Date","now","addScopeListItem","componentBuffer","componentData","objectsBuffer","Promise","all","allObjectsData","addIfNotExist","laneHistory","lanes","getOrCreateLaneHistory","laneHistoryData","laneData","manyObjectsPerRemote","pushAllToCentralHub","transformToOneObjectListWithScopeData","http","Http","connect","CENTRAL_BIT_HUB_URL","CENTRAL_BIT_HUB_NAME","pushResults","pushToCentralHub","origin","failedScopes","successIds","errors","metadata","PersistFailed","exportedBitIds","ComponentID","fromString","exportedIds","objectPerRemote","idsPerScope","jobs","updateLocalObjects","objectsPerRemote","componentObject","sources","put","add","remoteLanes","syncWithLaneObject","remoteLaneId","LaneId","from","DEFAULT_LANE","loadRemoteLane","addEntry","getHead","persist","idsWithRemoteScope","changeVersion","undefined","idsWithRemoteScopeUniq","uniqFromArray","sort","hasWithoutScopeAndVersion","warnCancelExport","consoleWarning","process","on","centralHubResults","remotes","validateRemotes","persistRemotes","shouldPushToCentralHub","pushToRemotesCarefully","loader","start","results","removeListener","objPerRemote","addScopeName","mergeObjectList","force","ejectErr","c","msg","clientId","pushRemotesPendingDir","pushOptions","pushedRemotes","count","pushMany","warn","removePendingDirs","hubRemotes","m","isHub","componentsObjects","remoteScope","exportingIds","shouldFork","versionsObjects","object","Version","haveVersionsChanged","objectVersion","didDependencyChange","changeDependencyScope","changeExtensionsScope","shouldChangeScope","hasComponentChanged","idWithFutureScope","some","x","version","hasChanged","getAllDependencies","dependency","updatedIdWithScope","getIdWithUpdatedScope","flattenedIds","flattenedDependencies","needsChange","getBitIdsWithUpdatedScope","hasFlattenedEdgesChanged","flattenedEdges","getFlattenedEdges","updatedFlattenedEdges","edge","source","target","flattenedEdgeToSource","flattenedEdgesRef","extensions","ext","extensionId","updatedScope","isEqual","dependencyId","depId","ModelComponent","fromBitId","dependencyObject","loadSync","Symlink","changeScope","realScope","currentlyExportedDep","stagedConfig","getStagedConfig","compId","removeComponentConfig","write","componentsList","ComponentsList","idsHaveWildcard","hasWildcard","throwForLocalOnlyIfNeeded","localOnlyComponents","listLocalOnly","localOnlyExportPending","isUserTryingToExportLanes","componentsToExport","getLaneCompIdsToExport","loaderMsg","BEFORE_EXPORTS","BEFORE_EXPORT","filtered","BEFORE_LOADING_COMPONENTS","exportPendingComponents","listNonNewComponentsIds","listExportPendingComponentsIds","filterComponentsByWildcard","parsedIds","getParsedId","loadComponents","currentLaneId","getCurrentLaneId","loadLane","componentsToExportWithoutRemoved","removedStagedBitIds","removedStaged","getRemovedStaged","provider","cli","loggerMain","createLogger","ExportAspect","exportMain","register","ResumeExportCmd","ExportCmd","exports","MainRuntime","CLIAspect","ScopeAspect","WorkspaceAspect","RemoveAspect","DependencyResolverAspect","LoggerAspect","EjectAspect","addRuntime","componentsId","resultId","updateComponentId","hasVersion","isValid","getComponent","getComponentHead","currentLane","isCurrentLane","setCurrentLane","toLaneId","scopeJson","removeLaneFromNew","isOnLane","_default"],"sources":["export.main.runtime.ts"],"sourcesContent":["import fs from 'fs-extra';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { ScopeAspect, ScopeMain } from '@teambit/scope';\nimport { BitError } from '@teambit/bit-error';\nimport { Analytics } from '@teambit/legacy.analytics';\nimport { ComponentID, ComponentIdList } from '@teambit/component-id';\nimport loader from '@teambit/legacy/dist/cli/loader';\nimport {\n BEFORE_EXPORT,\n BEFORE_EXPORTS,\n BEFORE_LOADING_COMPONENTS,\n} from '@teambit/legacy/dist/cli/loader/loader-messages';\nimport { CENTRAL_BIT_HUB_NAME, CENTRAL_BIT_HUB_URL } from '@teambit/legacy/dist/constants';\nimport { Consumer } from '@teambit/legacy/dist/consumer';\nimport { BitMap } from '@teambit/legacy.bit-map';\nimport { ComponentsList } from '@teambit/legacy.component-list';\nimport { RemoveAspect, RemoveMain } from '@teambit/remove';\nimport { Lane, ModelComponent, Symlink, Version } from '@teambit/legacy/dist/scope/models';\nimport { hasWildcard } from '@teambit/legacy.utils';\nimport { Scope } from '@teambit/legacy/dist/scope';\nimport { WorkspaceAspect, OutsideWorkspaceError, Workspace } from '@teambit/workspace';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { LaneReadmeComponent } from '@teambit/legacy/dist/scope/models/lane';\nimport { Http } from '@teambit/legacy/dist/scope/network/http';\nimport { ObjectItem, ObjectList } from '@teambit/legacy/dist/scope/objects/object-list';\nimport { compact } from 'lodash';\nimport mapSeries from 'p-map-series';\nimport { LaneId, DEFAULT_LANE } from '@teambit/lane-id';\nimport { Remote, Remotes } from '@teambit/legacy/dist/remotes';\nimport { EjectAspect, EjectMain, EjectResults } from '@teambit/eject';\nimport { getScopeRemotes } from '@teambit/legacy/dist/scope/scope-remotes';\nimport { ExportOrigin } from '@teambit/legacy/dist/scope/network/http/http';\nimport { linkToNodeModulesByIds } from '@teambit/workspace.modules.node-modules-linker';\nimport { DependencyResolverAspect, DependencyResolverMain } from '@teambit/dependency-resolver';\nimport {\n persistRemotes,\n validateRemotes,\n removePendingDirs,\n} from '@teambit/legacy/dist/scope/component-ops/export-scope-components';\nimport { BitObject, Ref } from '@teambit/legacy/dist/scope/objects';\nimport { PersistFailed } from '@teambit/legacy/dist/scope/exceptions/persist-failed';\nimport { getAllVersionHashes } from '@teambit/legacy/dist/scope/component-ops/traverse-versions';\nimport { ExportAspect } from './export.aspect';\nimport { ExportCmd } from './export-cmd';\nimport { ResumeExportCmd } from './resume-export-cmd';\n\nexport type OnExportIdTransformer = (id: ComponentID) => ComponentID;\n\ntype ModelComponentAndObjects = { component: ModelComponent; objects: BitObject[] };\ntype ObjectListPerName = { [name: string]: ObjectList };\ntype ObjectsPerRemote = {\n remote: Remote;\n objectList: ObjectList;\n exportedIds?: string[];\n};\ntype ObjectsPerRemoteExtended = ObjectsPerRemote & {\n objectListPerName: ObjectListPerName;\n idsToChangeLocally: ComponentIdList;\n componentsAndObjects: ModelComponentAndObjects[];\n};\n\ntype ExportParams = {\n ids?: string[];\n eject?: boolean;\n allVersions?: boolean;\n originDirectly?: boolean;\n includeNonStaged?: boolean;\n resumeExportId?: string | undefined;\n headOnly?: boolean;\n ignoreMissingArtifacts?: boolean;\n forkLaneNewScope?: boolean;\n};\n\nexport interface ExportResult {\n nonExistOnBitMap: ComponentID[];\n newIdsOnRemote: ComponentID[];\n removedIds: ComponentIdList;\n missingScope: ComponentID[];\n componentsIds: ComponentID[];\n exportedLanes: Lane[];\n rippleJobs: string[];\n ejectResults: EjectResults | undefined;\n}\n\nexport class ExportMain {\n constructor(\n private workspace: Workspace,\n private remove: RemoveMain,\n private depResolver: DependencyResolverMain,\n private logger: Logger,\n private eject: EjectMain\n ) {}\n\n async export(params: ExportParams = {}): Promise<ExportResult> {\n const { nonExistOnBitMap, newIdsOnRemote, missingScope, exported, removedIds, exportedLanes, rippleJobs } =\n await this.exportComponents(params);\n let ejectResults: EjectResults | undefined;\n await this.workspace.clearCache(); // needed when one process executes multiple commands, such as in \"bit test\" or \"bit cli\"\n if (params.eject) ejectResults = await this.ejectExportedComponents(exported);\n const exportResults = {\n componentsIds: exported,\n newIdsOnRemote,\n nonExistOnBitMap,\n removedIds,\n missingScope,\n ejectResults,\n exportedLanes,\n rippleJobs,\n };\n if (Scope.onPostExport) {\n await Scope.onPostExport(exported, exportedLanes).catch((err) => {\n this.logger.error('fatal: onPostExport encountered an error (this error does not stop the process)', err);\n });\n }\n return exportResults;\n }\n\n private async exportComponents({\n ids,\n includeNonStaged,\n headOnly,\n originDirectly,\n ...params\n }: ExportParams): Promise<{\n updatedIds: ComponentID[];\n nonExistOnBitMap: ComponentID[];\n removedIds: ComponentIdList;\n missingScope: ComponentID[];\n exported: ComponentID[];\n exportedLanes: Lane[];\n newIdsOnRemote: ComponentID[];\n rippleJobs: string[];\n }> {\n if (!this.workspace) throw new OutsideWorkspaceError();\n const consumer: Consumer = this.workspace.consumer;\n const { idsToExport, missingScope, idsWithFutureScope, laneObject } = await this.getComponentsToExport(\n ids,\n includeNonStaged || headOnly\n );\n\n if (!idsToExport.length && !laneObject) {\n return {\n updatedIds: [],\n nonExistOnBitMap: [],\n removedIds: new ComponentIdList(),\n missingScope,\n exported: [],\n newIdsOnRemote: [],\n exportedLanes: [],\n rippleJobs: [],\n };\n }\n if (!idsToExport.length && laneObject && params.forkLaneNewScope) {\n throw new BitError(`the forked lane \"${laneObject.name}\" has no changes, to export all its components, please use \"--all\" flag\nif the export fails with missing objects/versions/components, run \"bit fetch --lanes <lane-name> --all-history\", to make sure you have the full history locally`);\n }\n\n // validate lane readme component and ensure it has been snapped\n if (laneObject?.readmeComponent) {\n _throwForUnsnappedLaneReadme(laneObject);\n }\n\n if (\n !params.forkLaneNewScope &&\n laneObject?.forkedFrom &&\n laneObject.isNew &&\n laneObject.forkedFrom.scope !== laneObject.scope\n ) {\n throw new BitError(`error: the current lane ${laneObject\n .id()\n .toString()} was forked from ${laneObject.forkedFrom.toString()}\nand is about to export to a different scope (${laneObject.scope}) than the original lane (${\n laneObject.forkedFrom.scope\n }).\non large lanes with long history graph, it results in exporting lots of objects to the new scope, some of them might be missing locally.\nif you can use the same scope as the original name, change it now by running \"bit lane change-scope ${\n laneObject.name\n } ${laneObject.forkedFrom.scope}\".\notherwise, re-run the export with \"--fork-lane-new-scope\" flag.\nif the export fails with missing objects/versions/components, run \"bit fetch --lanes <lane-name> --all-history\", to make sure you have the full history locally`);\n }\n const isOnMain = consumer.isOnMain();\n const { exported, updatedLocally, newIdsOnRemote, rippleJobs } = await this.exportMany({\n ...params,\n exportHeadsOnly: headOnly,\n scope: consumer.scope,\n ids: idsToExport,\n laneObject,\n originDirectly,\n idsWithFutureScope,\n isOnMain,\n filterOutExistingVersions: Boolean(!params.allVersions && laneObject),\n });\n if (laneObject) await updateLanesAfterExport(consumer, laneObject);\n const removedIds = await this.getRemovedStagedBitIds();\n const workspaceIds = this.workspace.listIds();\n const nonExistOnBitMap = exported.filter(\n (id) => !workspaceIds.hasWithoutVersion(id) && !removedIds.hasWithoutVersion(id)\n );\n // @ts-ignore todo: remove after deleting teambit.legacy\n const updatedIds = _updateIdsOnBitMap(consumer.bitMap, updatedLocally);\n // re-generate the package.json, this way, it has the correct data in the componentId prop.\n await linkToNodeModulesByIds(this.workspace, updatedIds, true);\n await this.removeFromStagedConfig(exported);\n // ideally we should delete the staged-snaps only for the exported snaps. however, it's not easy, and it's ok to\n // delete them all because this file is mainly an optimization for the import process.\n await this.workspace.scope.legacyScope.stagedSnaps.deleteFile();\n await fs.remove(this.workspace.scope.getLastMergedPath());\n Analytics.setExtraData('num_components', exported.length);\n // it is important to have consumer.onDestroy() before running the eject operation, we want the\n // export and eject operations to function independently. we don't want to lose the changes to\n // .bitmap file done by the export action in case the eject action has failed.\n await consumer.onDestroy('export');\n return {\n updatedIds,\n nonExistOnBitMap,\n removedIds,\n missingScope,\n exported,\n newIdsOnRemote,\n exportedLanes: laneObject ? [laneObject] : [],\n rippleJobs,\n };\n }\n\n /**\n * the export process uses four steps. read more about it here: https://github.com/teambit/bit/pull/3371\n */\n async exportMany({\n scope,\n ids, // when exporting a lane, the ids are the lane component ids\n laneObject,\n allVersions,\n originDirectly,\n idsWithFutureScope,\n resumeExportId,\n throwForMissingArtifacts,\n isOnMain = true,\n exportHeadsOnly, // relevant when exporting from bare-scope, especially when re-exporting existing versions, the normal calculation based on getDivergeData won't work\n filterOutExistingVersions, // go to the remote and check whether the version exists there. if so, don't export it\n exportOrigin = 'export',\n }: {\n scope: Scope;\n ids: ComponentIdList;\n laneObject?: Lane;\n allVersions?: boolean;\n originDirectly?: boolean;\n idsWithFutureScope: ComponentIdList;\n resumeExportId?: string | undefined;\n throwForMissingArtifacts?: boolean;\n isOnMain?: boolean;\n exportHeadsOnly?: boolean;\n filterOutExistingVersions?: boolean;\n exportOrigin?: ExportOrigin;\n }): Promise<{\n exported: ComponentIdList;\n updatedLocally: ComponentIdList;\n newIdsOnRemote: ComponentID[];\n rippleJobs: string[];\n }> {\n this.logger.debug(`scope.exportMany, ids: ${ids.toString()}`);\n const scopeRemotes: Remotes = await getScopeRemotes(scope);\n\n const groupByScopeName = (idList: ComponentIdList): { [scopeName: string]: ComponentIdList } => {\n return idList.reduce((acc, current) => {\n const getScopeName = () => {\n if (current.scope) return current.scope;\n const idWithDefaultScope = idsWithFutureScope.searchWithoutScopeAndVersion(current);\n return idWithDefaultScope ? idWithDefaultScope.scope : null;\n };\n const scopeName = getScopeName();\n if (!scopeName) {\n throw new Error(`toGroupByScopeName() expect ids to have a scope name, got ${current.toString()}`);\n }\n if (acc[scopeName]) acc[scopeName].push(current);\n else acc[scopeName] = new ComponentIdList(current);\n return acc;\n }, {});\n };\n\n const idsGroupedByScope = groupByScopeName(ids);\n\n /**\n * when a component is exported for the first time, and the lane-scope is not the same as the component-scope, it's\n * important to validate that there is no such component in the original scope. otherwise, later, it'll be impossible\n * to merge the lane because these two components don't have any snap in common.\n */\n const validateTargetScopeForLanes = async () => {\n if (!laneObject) {\n return;\n }\n const newIds = ComponentIdList.fromArray(ids.filter((id) => !scope.isExported(id)));\n const newIdsGrouped = groupByScopeName(newIds);\n await mapSeries(Object.keys(newIdsGrouped), async (scopeName) => {\n if (scopeName === laneObject.scope) {\n // this validation is redundant if the lane-component is in the same scope as the lane-object\n return;\n }\n // by getting the remote we also validate that this scope actually exists.\n const remote = await scopeRemotes.resolve(scopeName, scope);\n const list = await remote.list();\n const listIds = ComponentIdList.fromArray(list.map((listItem) => listItem.id));\n newIdsGrouped[scopeName].forEach((id) => {\n if (listIds.hasWithoutVersion(id)) {\n throw new Error(`unable to export a lane with a new component \"${id.toString()}\", which has the default-scope \"${scopeName}\".\n this scope already has a component with the same name. as such, it'll be impossible to merge the lane later because these two components are different`);\n }\n });\n });\n };\n\n /**\n * by default, when exporting a lane, it traverse from the Lane's head and therefore it may skip the main head.\n * later, if for some reason the original component was deleted in its scope, the head object will be missing.\n */\n const addMainHeadIfPossible = async (allHashes: Ref[], modelComponent: ModelComponent) => {\n const head = modelComponent.head;\n if (!head) return;\n if (allHashes.find((h) => h.hash === head.hash)) return; // head is already in the list\n if (!(await scope.objects.has(head))) return; // it should not happen. but if it does, we don't want to block the export\n allHashes.push(head);\n };\n\n const getVersionsToExport = async (modelComponent: ModelComponent): Promise<Ref[]> => {\n if (exportHeadsOnly) {\n const head =\n laneObject?.getCompHeadIncludeUpdateDependents(modelComponent.toComponentId()) || modelComponent.head;\n if (!head)\n throw new Error(\n `getVersionsToExport should export the head only, but the head of ${modelComponent.id()} is missing`\n );\n return [head];\n }\n const localTagsOrHashes = await modelComponent.getLocalHashes(scope.objects);\n if (!allVersions) {\n return localTagsOrHashes;\n }\n\n const allHashes = await getAllVersionHashes({ modelComponent, repo: scope.objects });\n await addMainHeadIfPossible(allHashes, modelComponent);\n return allHashes;\n };\n\n await validateTargetScopeForLanes();\n const groupedByScopeString = Object.keys(idsGroupedByScope)\n .map((scopeName) => `scope \"${scopeName}\": ${idsGroupedByScope[scopeName].toString()}`)\n .join(', ');\n this.logger.debug(`export-scope-components, export to the following scopes ${groupedByScopeString}`);\n\n const getUpdatedObjectsToExport = async (\n remoteNameStr: string,\n bitIds: ComponentIdList,\n lane?: Lane\n ): Promise<ObjectsPerRemoteExtended> => {\n bitIds.throwForDuplicationIgnoreVersion();\n const remote: Remote = await scopeRemotes.resolve(remoteNameStr, scope);\n const idsToChangeLocally = ComponentIdList.fromArray(bitIds.filter((id) => !scope.isExported(id)));\n const componentsAndObjects: ModelComponentAndObjects[] = [];\n const objectList = new ObjectList();\n const objectListPerName: ObjectListPerName = {};\n\n const modelComponents = await mapSeries(bitIds, (id) => scope.getModelComponent(id));\n // super important! otherwise, the processModelComponent() changes objects in memory, while the key remains the same\n scope.objects.clearObjectsFromCache();\n\n const refsToPotentialExportPerComponent = await mapSeries(modelComponents, async (modelComponent) => {\n const refs = await getVersionsToExport(modelComponent);\n return { modelComponent, refs };\n });\n\n const getRefsToExportPerComp = async () => {\n if (!filterOutExistingVersions) {\n return refsToPotentialExportPerComponent;\n }\n const allHashesAsStr = refsToPotentialExportPerComponent\n .map((r) => r.refs)\n .flat()\n .map((ref) => ref.toString());\n const existingOnRemote = await scope.scopeImporter.checkWhatHashesExistOnRemote(remoteNameStr, allHashesAsStr);\n // for lanes, some snaps might be already on the remote, and the reason they're staged is due to a previous merge.\n const refsToExportPerComponent = refsToPotentialExportPerComponent.map(({ modelComponent, refs }) => {\n const filteredOutRefs: string[] = [];\n const refsToExport = refs.filter((ref) => {\n const existing = existingOnRemote.includes(ref.toString());\n if (existing) filteredOutRefs.push(ref.toString());\n return !existing;\n });\n if (filteredOutRefs.length)\n this.logger.debug(\n `export-scope-components, the following refs were filtered out from ${modelComponent\n .id()\n .toString()} because they already exist on the remote:\\n${filteredOutRefs.join('\\n')}`\n );\n\n return refsToExport.length ? { modelComponent, refs: refsToExport } : null;\n });\n\n return compact(refsToExportPerComponent);\n };\n\n const bitObjectToObjectItem = async (obj: BitObject): Promise<ObjectItem> => {\n return {\n ref: obj.hash(),\n buffer: await obj.compress(),\n type: obj.getType(),\n };\n };\n\n const processModelComponent = async ({\n modelComponent,\n refs,\n }: {\n modelComponent: ModelComponent;\n refs: Ref[];\n }) => {\n modelComponent.clearStateData();\n const objectItems = await modelComponent.collectVersionsObjects(\n scope.objects,\n refs.map((ref) => ref.toString()),\n throwForMissingArtifacts\n );\n const objectsList = await new ObjectList(objectItems).toBitObjects();\n const componentAndObject = { component: modelComponent, objects: objectsList.getAll() };\n await this.convertToCorrectScope(scope, componentAndObject, remoteNameStr, bitIds, idsWithFutureScope);\n const remoteObj = { url: remote.host, name: remote.name, date: Date.now().toString() };\n modelComponent.addScopeListItem(remoteObj);\n componentsAndObjects.push(componentAndObject);\n const componentBuffer = await modelComponent.compress();\n const componentData = { ref: modelComponent.hash(), buffer: componentBuffer, type: modelComponent.getType() };\n const objectsBuffer = await Promise.all(\n componentAndObject.objects.map(async (obj) => bitObjectToObjectItem(obj))\n );\n const allObjectsData = [componentData, ...objectsBuffer];\n objectListPerName[modelComponent.name] = new ObjectList(allObjectsData);\n objectList.addIfNotExist(allObjectsData);\n };\n\n const refsToExportPerComponent = await getRefsToExportPerComp();\n // don't use Promise.all, otherwise, it'll throw \"JavaScript heap out of memory\" on a large set of data\n await mapSeries(refsToExportPerComponent, processModelComponent);\n if (lane) {\n const laneHistory = await scope.lanes.getOrCreateLaneHistory(lane);\n const laneHistoryData = await bitObjectToObjectItem(laneHistory);\n objectList.addIfNotExist([laneHistoryData]);\n const laneData = await bitObjectToObjectItem(lane);\n objectList.addIfNotExist([laneData]);\n }\n\n return { remote, objectList, objectListPerName, idsToChangeLocally, componentsAndObjects };\n };\n\n const manyObjectsPerRemote = laneObject\n ? [await getUpdatedObjectsToExport(laneObject.scope, ids, laneObject)]\n : await mapSeries(Object.keys(idsGroupedByScope), (scopeName) =>\n getUpdatedObjectsToExport(scopeName, idsGroupedByScope[scopeName], laneObject)\n );\n\n const pushAllToCentralHub = async () => {\n const objectList = this.transformToOneObjectListWithScopeData(manyObjectsPerRemote);\n const http = await Http.connect(CENTRAL_BIT_HUB_URL, CENTRAL_BIT_HUB_NAME);\n const pushResults = await http.pushToCentralHub(objectList, { origin: exportOrigin });\n const { failedScopes, successIds, errors, metadata } = pushResults;\n if (failedScopes.length) {\n throw new PersistFailed(failedScopes, errors);\n }\n const exportedBitIds = successIds.map((id) => ComponentID.fromString(id));\n if (manyObjectsPerRemote.length === 1) {\n // when on a lane, it's always exported to the lane. and the ids can be from different scopes, so having the\n // filter below, will remove these components from the output of bit-export at the end.\n manyObjectsPerRemote[0].exportedIds = exportedBitIds.map((id) => id.toString());\n } else {\n manyObjectsPerRemote.forEach((objectPerRemote) => {\n const idsPerScope = exportedBitIds.filter((id) => id.scope === objectPerRemote.remote.name);\n // it's possible that idsPerScope is an empty array, in case the objects were exported already before\n objectPerRemote.exportedIds = idsPerScope.map((id) => id.toString());\n });\n }\n return { rippleJobs: metadata?.jobs };\n };\n\n const updateLocalObjects = async (\n lane?: Lane\n ): Promise<\n Array<{ exported: ComponentIdList; updatedLocally: ComponentIdList; newIdsOnRemote: ComponentID[] }>\n > => {\n return mapSeries(manyObjectsPerRemote, async (objectsPerRemote: ObjectsPerRemoteExtended) => {\n const { remote, idsToChangeLocally, componentsAndObjects, exportedIds } = objectsPerRemote;\n const remoteNameStr = remote.name;\n\n componentsAndObjects.forEach((componentObject) => scope.sources.put(componentObject));\n\n // update lanes\n if (lane) {\n if (idsToChangeLocally.length) {\n // otherwise, we don't want to update scope-name of components in the lane object\n scope.objects.add(lane);\n }\n await scope.objects.remoteLanes.syncWithLaneObject(remoteNameStr, lane);\n }\n\n if (isOnMain && !lane) {\n // all exported from main\n const remoteLaneId = LaneId.from(DEFAULT_LANE, remoteNameStr);\n await scope.objects.remoteLanes.loadRemoteLane(remoteLaneId);\n await Promise.all(\n componentsAndObjects.map(async ({ component }) => {\n await scope.objects.remoteLanes.addEntry(remoteLaneId, component.toComponentId(), component.getHead());\n })\n );\n }\n\n await scope.objects.persist();\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const newIdsOnRemote = exportedIds!.map((id) => ComponentID.fromString(id));\n // remove version. exported component might have multiple versions exported\n const idsWithRemoteScope: ComponentID[] = newIdsOnRemote.map((id) => id.changeVersion(undefined));\n const idsWithRemoteScopeUniq = ComponentIdList.uniqFromArray(idsWithRemoteScope).sort();\n return {\n newIdsOnRemote,\n exported: idsWithRemoteScopeUniq,\n updatedLocally: ComponentIdList.fromArray(\n idsWithRemoteScopeUniq.filter((id) => idsToChangeLocally.hasWithoutScopeAndVersion(id))\n ),\n };\n });\n };\n\n const warnCancelExport = () => {\n this.logger.consoleWarning(\n `unable to cancel the export process at this point because the communication with the remote already started`\n );\n };\n process.on('SIGINT', warnCancelExport);\n let centralHubResults;\n if (resumeExportId) {\n const remotes = manyObjectsPerRemote.map((o) => o.remote);\n await validateRemotes(remotes, resumeExportId);\n await persistRemotes(manyObjectsPerRemote, resumeExportId);\n } else if (this.shouldPushToCentralHub(manyObjectsPerRemote, scopeRemotes, originDirectly)) {\n centralHubResults = await pushAllToCentralHub();\n } else {\n // await pushToRemotes();\n await this.pushToRemotesCarefully(manyObjectsPerRemote, resumeExportId);\n }\n\n loader.start('updating data locally...');\n const results = await updateLocalObjects(laneObject);\n process.removeListener('SIGINT', warnCancelExport);\n return {\n newIdsOnRemote: results.map((r) => r.newIdsOnRemote).flat(),\n exported: ComponentIdList.uniqFromArray(results.map((r) => r.exported).flat()),\n updatedLocally: ComponentIdList.uniqFromArray(results.map((r) => r.updatedLocally).flat()),\n rippleJobs: centralHubResults?.rippleJobs || [],\n };\n }\n\n private transformToOneObjectListWithScopeData(objectsPerRemote: ObjectsPerRemote[]): ObjectList {\n const objectList = new ObjectList();\n objectsPerRemote.forEach((objPerRemote) => {\n objPerRemote.objectList.addScopeName(objPerRemote.remote.name);\n objectList.mergeObjectList(objPerRemote.objectList);\n });\n return objectList;\n }\n\n private async ejectExportedComponents(componentsIds: ComponentID[]): Promise<EjectResults> {\n const consumer: Consumer = this.workspace.consumer;\n let ejectResults: EjectResults;\n try {\n ejectResults = await this.eject.eject(componentsIds, { force: true });\n } catch (err: any) {\n const ejectErr = `The components ${componentsIds.map((c) => c.toString()).join(', ')} were exported successfully.\n However, the eject operation has failed due to an error: ${err.msg || err}`;\n this.logger.error(ejectErr, err);\n throw new Error(ejectErr);\n }\n // run the consumer.onDestroy() again, to write the changes done by the eject action to .bitmap\n await consumer.onDestroy('export (eject)');\n return ejectResults;\n }\n\n async pushToRemotesCarefully(manyObjectsPerRemote: ObjectsPerRemote[], resumeExportId?: string) {\n const remotes = manyObjectsPerRemote.map((o) => o.remote);\n const clientId = resumeExportId || Date.now().toString();\n await this.pushRemotesPendingDir(clientId, manyObjectsPerRemote, resumeExportId);\n await validateRemotes(remotes, clientId, Boolean(resumeExportId));\n await persistRemotes(manyObjectsPerRemote, clientId);\n }\n\n private async pushRemotesPendingDir(\n clientId: string,\n manyObjectsPerRemote: ObjectsPerRemote[],\n resumeExportId?: string\n ): Promise<void> {\n if (resumeExportId) {\n this.logger.debug('pushRemotesPendingDir - skip as the resumeExportId was passed');\n // no need to transfer the objects, they're already on the server. also, since this clientId\n // exists already on the remote pending-dir, it'll cause a collision.\n return;\n }\n const pushOptions = { clientId };\n const pushedRemotes: Remote[] = [];\n await mapSeries(manyObjectsPerRemote, async (objectsPerRemote: ObjectsPerRemote) => {\n const { remote, objectList } = objectsPerRemote;\n loader.start(`transferring ${objectList.count()} objects to the remote \"${remote.name}\"...`);\n try {\n await remote.pushMany(objectList, pushOptions, {});\n this.logger.debug(\n 'pushRemotesPendingDir, successfully pushed all objects to the pending-dir directory on the remote'\n );\n pushedRemotes.push(remote);\n } catch (err: any) {\n this.logger.warn('exportMany, failed pushing objects to the remote');\n await removePendingDirs(pushedRemotes, clientId);\n throw err;\n }\n });\n }\n\n shouldPushToCentralHub(\n manyObjectsPerRemote: ObjectsPerRemote[],\n scopeRemotes: Remotes,\n originDirectly = false\n ): boolean {\n if (originDirectly) return false;\n const hubRemotes = manyObjectsPerRemote.filter((m) => scopeRemotes.isHub(m.remote.name));\n if (!hubRemotes.length) return false;\n if (hubRemotes.length === manyObjectsPerRemote.length) return true; // all are hub\n // @todo: maybe create a flag \"no-central\" to support this workflow\n throw new BitError(\n `some of your components are configured to be exported to a local scope and some to the bit.cloud hub. this is not supported`\n );\n }\n\n /**\n * Component and dependencies id changes:\n * When exporting components with dependencies to a bare-scope, some of the dependencies may be created locally and as\n * a result their scope-name is null. Before the bare-scope gets the components, convert these scope names\n * to the bare-scope name.\n *\n * This is the Harmony version of \"convertToCorrectScope\". No more codemod and no more hash changes.\n */\n private async convertToCorrectScope(\n scope: Scope,\n componentsObjects: ModelComponentAndObjects,\n remoteScope: string,\n exportingIds: ComponentIdList,\n idsWithFutureScope: ComponentIdList,\n shouldFork = false // not in used currently, but might be needed soon\n ): Promise<boolean> {\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n const versionsObjects: Version[] = componentsObjects.objects.filter((object) => object instanceof Version);\n const haveVersionsChanged = await Promise.all(\n versionsObjects.map(async (objectVersion: Version) => {\n const didDependencyChange = changeDependencyScope(objectVersion);\n changeExtensionsScope(objectVersion);\n\n return didDependencyChange;\n })\n );\n const shouldChangeScope = shouldFork\n ? remoteScope !== componentsObjects.component.scope\n : !componentsObjects.component.scope;\n const hasComponentChanged = shouldChangeScope;\n if (shouldChangeScope) {\n const idWithFutureScope = idsWithFutureScope.searchWithoutScopeAndVersion(\n componentsObjects.component.toComponentId()\n );\n componentsObjects.component.scope = idWithFutureScope?.scope || remoteScope;\n }\n\n // return true if one of the versions has changed or the component itself\n return haveVersionsChanged.some((x) => x) || hasComponentChanged;\n\n async function changeDependencyScope(version: Version): Promise<boolean> {\n let hasChanged = false;\n version.getAllDependencies().forEach((dependency) => {\n const updatedIdWithScope = getIdWithUpdatedScope(dependency.id);\n if (!dependency.id.scope) {\n hasChanged = true;\n dependency.id = updatedIdWithScope;\n }\n });\n const flattenedIds: ComponentIdList = version.flattenedDependencies;\n const needsChange = flattenedIds.some((id) => !id.scope);\n if (needsChange) {\n version.flattenedDependencies = getBitIdsWithUpdatedScope(flattenedIds);\n hasChanged = true;\n }\n let hasFlattenedEdgesChanged = false;\n const flattenedEdges = await version.getFlattenedEdges(scope.objects);\n const updatedFlattenedEdges = flattenedEdges.map((edge) => {\n if (edge.source.scope && edge.target.scope) {\n return edge;\n }\n hasFlattenedEdgesChanged = true;\n return {\n ...edge,\n source: getIdWithUpdatedScope(edge.source),\n target: getIdWithUpdatedScope(edge.target),\n };\n });\n if (hasFlattenedEdgesChanged) {\n const source = Version.flattenedEdgeToSource(updatedFlattenedEdges);\n version.flattenedEdgesRef = source?.hash();\n if (source) componentsObjects.objects.push(source);\n hasChanged = true;\n }\n return hasChanged;\n }\n\n function changeExtensionsScope(version: Version): boolean {\n let hasChanged = false;\n version.extensions.forEach((ext) => {\n if (ext.extensionId) {\n const updatedScope = getIdWithUpdatedScope(ext.extensionId);\n if (!updatedScope.isEqual(ext.extensionId)) {\n hasChanged = true;\n ext.extensionId = updatedScope;\n }\n }\n });\n return hasChanged;\n }\n\n function getIdWithUpdatedScope(dependencyId: ComponentID): ComponentID {\n if (dependencyId.scope) {\n return dependencyId; // it's not new\n }\n const depId = ModelComponent.fromBitId(dependencyId);\n // todo: use 'load' for async and switch the foreach with map.\n const dependencyObject = scope.objects.loadSync(depId.hash());\n if (dependencyObject instanceof Symlink) {\n return dependencyId.changeScope(dependencyObject.realScope);\n }\n const currentlyExportedDep = idsWithFutureScope.searchWithoutScopeAndVersion(dependencyId);\n const scopeName = currentlyExportedDep?.scope || remoteScope;\n if (!scopeName) throw new Error(`unable to find scopeName for ${dependencyId.toString()}`);\n return dependencyId.changeScope(scopeName);\n }\n\n function getBitIdsWithUpdatedScope(bitIds: ComponentIdList): ComponentIdList {\n const updatedIds = bitIds.map((id) => getIdWithUpdatedScope(id));\n return ComponentIdList.fromArray(updatedIds);\n }\n }\n\n private async removeFromStagedConfig(ids: ComponentID[]) {\n this.logger.debug(`removeFromStagedConfig, ${ids.length} ids`);\n const stagedConfig = await this.workspace.scope.getStagedConfig();\n ids.map((compId) => stagedConfig.removeComponentConfig(compId));\n await stagedConfig.write();\n }\n\n private async getComponentsToExport(\n ids: string[] = [],\n includeNonStaged?: boolean\n ): Promise<{\n idsToExport: ComponentIdList;\n missingScope: ComponentID[];\n idsWithFutureScope: ComponentIdList;\n laneObject?: Lane;\n }> {\n const consumer = this.workspace.consumer;\n const componentsList = new ComponentsList(consumer);\n const idsHaveWildcard = hasWildcard(ids);\n const throwForLocalOnlyIfNeeded = async (\n bitIds: ComponentIdList\n ): Promise<{ idsToExport: ComponentIdList; missingScope: ComponentID[]; idsWithFutureScope: ComponentIdList }> => {\n const localOnlyComponents = this.workspace.listLocalOnly();\n const localOnlyExportPending = bitIds.filter((id) => localOnlyComponents.hasWithoutScopeAndVersion(id));\n if (localOnlyExportPending.length) {\n throw new BitError(`unable to export the following components as they are local only:\n(either bit-reset them or run \"bit local-only unset\" to make them non local only)\n${localOnlyExportPending.map((c) => c.toString()).join('\\n')}`);\n }\n return { idsToExport: ComponentIdList.fromArray(bitIds), missingScope: [], idsWithFutureScope: bitIds };\n };\n if (isUserTryingToExportLanes(consumer)) {\n if (ids.length) {\n throw new BitError(`when checked out to a lane, all its components are exported. please omit the ids`);\n }\n const { componentsToExport, laneObject } = await this.getLaneCompIdsToExport(consumer, includeNonStaged);\n const loaderMsg = componentsToExport.length > 1 ? BEFORE_EXPORTS : BEFORE_EXPORT;\n loader.start(loaderMsg);\n const filtered = await throwForLocalOnlyIfNeeded(componentsToExport);\n return { ...filtered, laneObject };\n }\n if (!ids.length || idsHaveWildcard) {\n loader.start(BEFORE_LOADING_COMPONENTS);\n const exportPendingComponents: ComponentIdList = includeNonStaged\n ? await componentsList.listNonNewComponentsIds()\n : await componentsList.listExportPendingComponentsIds();\n const componentsToExport = idsHaveWildcard\n ? ComponentsList.filterComponentsByWildcard(exportPendingComponents, ids)\n : exportPendingComponents;\n const loaderMsg = componentsToExport.length > 1 ? BEFORE_EXPORTS : BEFORE_EXPORT;\n loader.start(loaderMsg);\n return throwForLocalOnlyIfNeeded(componentsToExport);\n }\n loader.start(BEFORE_EXPORT); // show single export\n const parsedIds = await Promise.all(ids.map((id) => getParsedId(consumer, id)));\n // load the components for fixing any out-of-sync issues.\n await consumer.loadComponents(ComponentIdList.fromArray(parsedIds));\n\n return throwForLocalOnlyIfNeeded(ComponentIdList.fromArray(parsedIds));\n }\n\n private async getLaneCompIdsToExport(\n consumer: Consumer,\n includeNonStaged?: boolean\n ): Promise<{ componentsToExport: ComponentIdList; laneObject: Lane }> {\n const currentLaneId = consumer.getCurrentLaneId();\n const laneObject = await consumer.scope.loadLane(currentLaneId);\n if (!laneObject) {\n throw new Error(`fatal: unable to load the current lane object (${currentLaneId.toString()})`);\n }\n loader.start(BEFORE_LOADING_COMPONENTS);\n const componentsList = new ComponentsList(consumer);\n const componentsToExportWithoutRemoved = includeNonStaged\n ? await componentsList.listNonNewComponentsIds()\n : await componentsList.listExportPendingComponentsIds(laneObject);\n const removedStagedBitIds = await this.getRemovedStagedBitIds();\n const componentsToExport = ComponentIdList.uniqFromArray([\n ...componentsToExportWithoutRemoved,\n ...removedStagedBitIds,\n ]);\n return { componentsToExport, laneObject };\n }\n\n private async getRemovedStagedBitIds(): Promise<ComponentIdList> {\n const removedStaged = await this.remove.getRemovedStaged();\n return ComponentIdList.fromArray(removedStaged.map((id) => id.changeVersion(undefined)));\n }\n\n static runtime = MainRuntime;\n static dependencies = [\n CLIAspect,\n ScopeAspect,\n WorkspaceAspect,\n RemoveAspect,\n DependencyResolverAspect,\n LoggerAspect,\n EjectAspect,\n ];\n static async provider([cli, scope, workspace, remove, depResolver, loggerMain, eject]: [\n CLIMain,\n ScopeMain,\n Workspace,\n RemoveMain,\n DependencyResolverMain,\n LoggerMain,\n EjectMain\n ]) {\n const logger = loggerMain.createLogger(ExportAspect.id);\n const exportMain = new ExportMain(workspace, remove, depResolver, logger, eject);\n cli.register(new ResumeExportCmd(scope), new ExportCmd(exportMain));\n return exportMain;\n }\n}\n\nExportAspect.addRuntime(ExportMain);\n\n/**\n * the componentsIds passed here are the ones that didn't have scope-name before, and now they have.\n * so if the bitMap.updateComponentId returns bitId without scope-name is because it couldn't find it there\n */\nfunction _updateIdsOnBitMap(bitMap: BitMap, componentsIds: ComponentIdList): ComponentID[] {\n const updatedIds: ComponentID[] = [];\n componentsIds.forEach((componentsId) => {\n const resultId = bitMap.updateComponentId(componentsId, true);\n if (resultId.hasVersion()) updatedIds.push(resultId);\n });\n return updatedIds;\n}\n\nasync function getParsedId(consumer: Consumer, id: string): Promise<ComponentID> {\n // reason why not calling `consumer.getParsedId()` only is because a component might not be on\n // .bitmap and only in the scope. we support this case and enable to export\n try {\n return consumer.getParsedId(id);\n } catch (err: any) {\n return consumer.scope.getParsedId(id);\n }\n}\n\nfunction _throwForUnsnappedLaneReadme(lane: Lane) {\n const readmeComponent = lane.readmeComponent as LaneReadmeComponent;\n\n const isValid =\n readmeComponent?.head &&\n lane.getComponent(readmeComponent.id) &&\n lane.getComponentHead(readmeComponent.id)?.isEqual(readmeComponent?.head);\n\n if (!isValid) {\n throw new BitError(\n `${lane?.name} has a readme component ${readmeComponent.id} that hasn't been snapped on the lane.\n Please run either snap -a or snap ${readmeComponent.id} to snap the component on the lane before exporting it.`\n );\n }\n}\n\nasync function updateLanesAfterExport(consumer: Consumer, lane: Lane) {\n const currentLane = consumer.getCurrentLaneId();\n const isCurrentLane = lane.name === currentLane.name;\n if (!isCurrentLane) {\n throw new Error(\n `updateLanesAfterExport should get called only with current lane, got ${lane.name}, current ${currentLane.name}`\n );\n }\n consumer.setCurrentLane(lane.toLaneId(), true);\n consumer.scope.scopeJson.removeLaneFromNew(lane.name);\n lane.isNew = false;\n}\n\nexport function isUserTryingToExportLanes(consumer: Consumer) {\n return consumer.isOnLane();\n}\n\nexport default ExportMain;\n"],"mappings":";;;;;;;AAAA,SAAAA,SAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,QAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,KAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,IAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,OAAA;EAAA,MAAAJ,IAAA,GAAAE,OAAA;EAAAE,MAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,UAAA;EAAA,MAAAL,IAAA,GAAAE,OAAA;EAAAG,SAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,QAAA;EAAA,MAAAN,IAAA,GAAAE,OAAA;EAAAI,OAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAO,aAAA;EAAA,MAAAP,IAAA,GAAAE,OAAA;EAAAK,YAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,QAAA;EAAA,MAAAR,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAM,OAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAS,gBAAA;EAAA,MAAAT,IAAA,GAAAE,OAAA;EAAAO,eAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAKA,SAAAU,WAAA;EAAA,MAAAV,IAAA,GAAAE,OAAA;EAAAQ,UAAA,YAAAA,CAAA;IAAA,OAAAV,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAW,SAAA;EAAA,MAAAX,IAAA,GAAAE,OAAA;EAAAS,QAAA,YAAAA,CAAA;IAAA,OAAAX,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAY,QAAA;EAAA,MAAAZ,IAAA,GAAAE,OAAA;EAAAU,OAAA,YAAAA,CAAA;IAAA,OAAAZ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAa,QAAA;EAAA,MAAAb,IAAA,GAAAE,OAAA;EAAAW,OAAA,YAAAA,CAAA;IAAA,OAAAb,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAc,SAAA;EAAA,MAAAd,IAAA,GAAAE,OAAA;EAAAY,QAAA,YAAAA,CAAA;IAAA,OAAAd,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAe,QAAA;EAAA,MAAAf,IAAA,GAAAE,OAAA;EAAAa,OAAA,YAAAA,CAAA;IAAA,OAAAf,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAgB,WAAA;EAAA,MAAAhB,IAAA,GAAAE,OAAA;EAAAc,UAAA,YAAAA,CAAA;IAAA,OAAAhB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAiB,QAAA;EAAA,MAAAjB,IAAA,GAAAE,OAAA;EAAAe,OAAA,YAAAA,CAAA;IAAA,OAAAjB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAkB,MAAA;EAAA,MAAAlB,IAAA,GAAAE,OAAA;EAAAgB,KAAA,YAAAA,CAAA;IAAA,OAAAlB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAmB,YAAA;EAAA,MAAAnB,IAAA,GAAAE,OAAA;EAAAiB,WAAA,YAAAA,CAAA;IAAA,OAAAnB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAoB,QAAA;EAAA,MAAApB,IAAA,GAAAE,OAAA;EAAAkB,OAAA,YAAAA,CAAA;IAAA,OAAApB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAqB,YAAA;EAAA,MAAArB,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAmB,WAAA,YAAAA,CAAA;IAAA,OAAArB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAsB,QAAA;EAAA,MAAAtB,IAAA,GAAAE,OAAA;EAAAoB,OAAA,YAAAA,CAAA;IAAA,OAAAtB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAuB,OAAA;EAAA,MAAAvB,IAAA,GAAAE,OAAA;EAAAqB,MAAA,YAAAA,CAAA;IAAA,OAAAvB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAwB,cAAA;EAAA,MAAAxB,IAAA,GAAAE,OAAA;EAAAsB,aAAA,YAAAA,CAAA;IAAA,OAAAxB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAyB,kBAAA;EAAA,MAAAzB,IAAA,GAAAE,OAAA;EAAAuB,iBAAA,YAAAA,CAAA;IAAA,OAAAzB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA0B,oBAAA;EAAA,MAAA1B,IAAA,GAAAE,OAAA;EAAAwB,mBAAA,YAAAA,CAAA;IAAA,OAAA1B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA2B,uBAAA;EAAA,MAAA3B,IAAA,GAAAE,OAAA;EAAAyB,sBAAA,YAAAA,CAAA;IAAA,OAAA3B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAMA,SAAA4B,eAAA;EAAA,MAAA5B,IAAA,GAAAE,OAAA;EAAA0B,cAAA,YAAAA,CAAA;IAAA,OAAA5B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA6B,kBAAA;EAAA,MAAA7B,IAAA,GAAAE,OAAA;EAAA2B,iBAAA,YAAAA,CAAA;IAAA,OAAA7B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA8B,QAAA;EAAA,MAAA9B,IAAA,GAAAE,OAAA;EAAA4B,OAAA,YAAAA,CAAA;IAAA,OAAA9B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA+B,WAAA;EAAA,MAAA/B,IAAA,GAAAE,OAAA;EAAA6B,UAAA,YAAAA,CAAA;IAAA,OAAA/B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAgC,iBAAA;EAAA,MAAAhC,IAAA,GAAAE,OAAA;EAAA8B,gBAAA,YAAAA,CAAA;IAAA,OAAAhC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAsD,MAAAiC,SAAA;AAAA,SAAAhC,uBAAAiC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,QAAAH,CAAA,EAAAI,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAP,CAAA,OAAAM,MAAA,CAAAE,qBAAA,QAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAR,CAAA,GAAAI,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAN,CAAA,WAAAE,MAAA,CAAAK,wBAAA,CAAAX,CAAA,EAAAI,CAAA,EAAAQ,UAAA,OAAAP,CAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAAU,cAAAf,CAAA,aAAAI,CAAA,MAAAA,CAAA,GAAAY,SAAA,CAAAC,MAAA,EAAAb,CAAA,UAAAC,CAAA,WAAAW,SAAA,CAAAZ,CAAA,IAAAY,SAAA,CAAAZ,CAAA,QAAAA,CAAA,OAAAD,OAAA,CAAAG,MAAA,CAAAD,CAAA,OAAAa,OAAA,WAAAd,CAAA,IAAAe,eAAA,CAAAnB,CAAA,EAAAI,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAc,yBAAA,GAAAd,MAAA,CAAAe,gBAAA,CAAArB,CAAA,EAAAM,MAAA,CAAAc,yBAAA,CAAAf,CAAA,KAAAF,OAAA,CAAAG,MAAA,CAAAD,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAE,MAAA,CAAAgB,cAAA,CAAAtB,CAAA,EAAAI,CAAA,EAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,EAAAD,CAAA,iBAAAJ,CAAA;AAAA,SAAAuB,yBAAAvB,CAAA,EAAAK,CAAA,gBAAAL,CAAA,iBAAAS,CAAA,EAAAL,CAAA,EAAAoB,CAAA,GAAAC,6BAAA,CAAAzB,CAAA,EAAAK,CAAA,OAAAC,MAAA,CAAAE,qBAAA,QAAAkB,CAAA,GAAApB,MAAA,CAAAE,qBAAA,CAAAR,CAAA,QAAAI,CAAA,MAAAA,CAAA,GAAAsB,CAAA,CAAAT,MAAA,EAAAb,CAAA,IAAAK,CAAA,GAAAiB,CAAA,CAAAtB,CAAA,GAAAC,CAAA,CAAAsB,QAAA,CAAAlB,CAAA,QAAAmB,oBAAA,CAAAC,IAAA,CAAA7B,CAAA,EAAAS,CAAA,MAAAe,CAAA,CAAAf,CAAA,IAAAT,CAAA,CAAAS,CAAA,aAAAe,CAAA;AAAA,SAAAC,8BAAArB,CAAA,EAAAJ,CAAA,gBAAAI,CAAA,iBAAAC,CAAA,gBAAAyB,CAAA,IAAA1B,CAAA,SAAA2B,cAAA,CAAAF,IAAA,CAAAzB,CAAA,EAAA0B,CAAA,SAAA9B,CAAA,CAAA2B,QAAA,CAAAG,CAAA,aAAAzB,CAAA,CAAAyB,CAAA,IAAA1B,CAAA,CAAA0B,CAAA,YAAAzB,CAAA;AAAA,SAAAc,gBAAAnB,CAAA,EAAAI,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAA4B,cAAA,CAAA5B,CAAA,MAAAJ,CAAA,GAAAM,MAAA,CAAAgB,cAAA,CAAAtB,CAAA,EAAAI,CAAA,IAAA6B,KAAA,EAAA5B,CAAA,EAAAO,UAAA,MAAAsB,YAAA,MAAAC,QAAA,UAAAnC,CAAA,CAAAI,CAAA,IAAAC,CAAA,EAAAL,CAAA;AAAA,SAAAgC,eAAA3B,CAAA,QAAAmB,CAAA,GAAAY,YAAA,CAAA/B,CAAA,uCAAAmB,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAY,aAAA/B,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAL,CAAA,GAAAK,CAAA,CAAAgC,MAAA,CAAAC,WAAA,kBAAAtC,CAAA,QAAAwB,CAAA,GAAAxB,CAAA,CAAA6B,IAAA,CAAAxB,CAAA,EAAAD,CAAA,uCAAAoB,CAAA,SAAAA,CAAA,YAAAe,SAAA,yEAAAnC,CAAA,GAAAoC,MAAA,GAAAC,MAAA,EAAApC,CAAA;AAwC/C,MAAMqC,UAAU,CAAC;EACtBC,WAAWA,CACDC,SAAoB,EACpBC,MAAkB,EAClBC,WAAmC,EACnCC,MAAc,EACdC,KAAgB,EACxB;IAAA,KALQJ,SAAoB,GAApBA,SAAoB;IAAA,KACpBC,MAAkB,GAAlBA,MAAkB;IAAA,KAClBC,WAAmC,GAAnCA,WAAmC;IAAA,KACnCC,MAAc,GAAdA,MAAc;IAAA,KACdC,KAAgB,GAAhBA,KAAgB;EACvB;EAEH,MAAMC,MAAMA,CAACC,MAAoB,GAAG,CAAC,CAAC,EAAyB;IAC7D,MAAM;MAAEC,gBAAgB;MAAEC,cAAc;MAAEC,YAAY;MAAEC,QAAQ;MAAEC,UAAU;MAAEC,aAAa;MAAEC;IAAW,CAAC,GACvG,MAAM,IAAI,CAACC,gBAAgB,CAACR,MAAM,CAAC;IACrC,IAAIS,YAAsC;IAC1C,MAAM,IAAI,CAACf,SAAS,CAACgB,UAAU,CAAC,CAAC,CAAC,CAAC;IACnC,IAAIV,MAAM,CAACF,KAAK,EAAEW,YAAY,GAAG,MAAM,IAAI,CAACE,uBAAuB,CAACP,QAAQ,CAAC;IAC7E,MAAMQ,aAAa,GAAG;MACpBC,aAAa,EAAET,QAAQ;MACvBF,cAAc;MACdD,gBAAgB;MAChBI,UAAU;MACVF,YAAY;MACZM,YAAY;MACZH,aAAa;MACbC;IACF,CAAC;IACD,IAAIO,eAAK,CAACC,YAAY,EAAE;MACtB,MAAMD,eAAK,CAACC,YAAY,CAACX,QAAQ,EAAEE,aAAa,CAAC,CAACU,KAAK,CAAEC,GAAG,IAAK;QAC/D,IAAI,CAACpB,MAAM,CAACqB,KAAK,CAAC,iFAAiF,EAAED,GAAG,CAAC;MAC3G,CAAC,CAAC;IACJ;IACA,OAAOL,aAAa;EACtB;EAEA,MAAcJ,gBAAgBA,CAAAW,IAAA,EAe3B;IAAA,IAf4B;QAC7BC,GAAG;QACHC,gBAAgB;QAChBC,QAAQ;QACRC;MAEY,CAAC,GAAAJ,IAAA;MADVnB,MAAM,GAAA3B,wBAAA,CAAA8C,IAAA,EAAAtE,SAAA;IAWT,IAAI,CAAC,IAAI,CAAC6C,SAAS,EAAE,MAAM,KAAI8B,kCAAqB,EAAC,CAAC;IACtD,MAAMC,QAAkB,GAAG,IAAI,CAAC/B,SAAS,CAAC+B,QAAQ;IAClD,MAAM;MAAEC,WAAW;MAAEvB,YAAY;MAAEwB,kBAAkB;MAAEC;IAAW,CAAC,GAAG,MAAM,IAAI,CAACC,qBAAqB,CACpGT,GAAG,EACHC,gBAAgB,IAAIC,QACtB,CAAC;IAED,IAAI,CAACI,WAAW,CAAC3D,MAAM,IAAI,CAAC6D,UAAU,EAAE;MACtC,OAAO;QACLE,UAAU,EAAE,EAAE;QACd7B,gBAAgB,EAAE,EAAE;QACpBI,UAAU,EAAE,KAAI0B,8BAAe,EAAC,CAAC;QACjC5B,YAAY;QACZC,QAAQ,EAAE,EAAE;QACZF,cAAc,EAAE,EAAE;QAClBI,aAAa,EAAE,EAAE;QACjBC,UAAU,EAAE;MACd,CAAC;IACH;IACA,IAAI,CAACmB,WAAW,CAAC3D,MAAM,IAAI6D,UAAU,IAAI5B,MAAM,CAACgC,gBAAgB,EAAE;MAChE,MAAM,KAAIC,oBAAQ,EAAC,oBAAoBL,UAAU,CAACM,IAAI;AAC5D,gKAAgK,CAAC;IAC7J;;IAEA;IACA,IAAIN,UAAU,EAAEO,eAAe,EAAE;MAC/BC,4BAA4B,CAACR,UAAU,CAAC;IAC1C;IAEA,IACE,CAAC5B,MAAM,CAACgC,gBAAgB,IACxBJ,UAAU,EAAES,UAAU,IACtBT,UAAU,CAACU,KAAK,IAChBV,UAAU,CAACS,UAAU,CAACE,KAAK,KAAKX,UAAU,CAACW,KAAK,EAChD;MACA,MAAM,KAAIN,oBAAQ,EAAC,2BAA2BL,UAAU,CACrDY,EAAE,CAAC,CAAC,CACJC,QAAQ,CAAC,CAAC,oBAAoBb,UAAU,CAACS,UAAU,CAACI,QAAQ,CAAC,CAAC;AACvE,+CAA+Cb,UAAU,CAACW,KAAK,6BACvDX,UAAU,CAACS,UAAU,CAACE,KAAK;AACnC;AACA,sGAEQX,UAAU,CAACM,IAAI,IACbN,UAAU,CAACS,UAAU,CAACE,KAAK;AACrC;AACA,gKAAgK,CAAC;IAC7J;IACA,MAAMG,QAAQ,GAAGjB,QAAQ,CAACiB,QAAQ,CAAC,CAAC;IACpC,MAAM;MAAEtC,QAAQ;MAAEuC,cAAc;MAAEzC,cAAc;MAAEK;IAAW,CAAC,GAAG,MAAM,IAAI,CAACqC,UAAU,CAAA/E,aAAA,CAAAA,aAAA,KACjFmC,MAAM;MACT6C,eAAe,EAAEvB,QAAQ;MACzBiB,KAAK,EAAEd,QAAQ,CAACc,KAAK;MACrBnB,GAAG,EAAEM,WAAW;MAChBE,UAAU;MACVL,cAAc;MACdI,kBAAkB;MAClBe,QAAQ;MACRI,yBAAyB,EAAEC,OAAO,CAAC,CAAC/C,MAAM,CAACgD,WAAW,IAAIpB,UAAU;IAAC,EACtE,CAAC;IACF,IAAIA,UAAU,EAAE,MAAMqB,sBAAsB,CAACxB,QAAQ,EAAEG,UAAU,CAAC;IAClE,MAAMvB,UAAU,GAAG,MAAM,IAAI,CAAC6C,sBAAsB,CAAC,CAAC;IACtD,MAAMC,YAAY,GAAG,IAAI,CAACzD,SAAS,CAAC0D,OAAO,CAAC,CAAC;IAC7C,MAAMnD,gBAAgB,GAAGG,QAAQ,CAAC5C,MAAM,CACrCgF,EAAE,IAAK,CAACW,YAAY,CAACE,iBAAiB,CAACb,EAAE,CAAC,IAAI,CAACnC,UAAU,CAACgD,iBAAiB,CAACb,EAAE,CACjF,CAAC;IACD;IACA,MAAMV,UAAU,GAAGwB,kBAAkB,CAAC7B,QAAQ,CAAC8B,MAAM,EAAEZ,cAAc,CAAC;IACtE;IACA,MAAM,IAAAa,0CAAsB,EAAC,IAAI,CAAC9D,SAAS,EAAEoC,UAAU,EAAE,IAAI,CAAC;IAC9D,MAAM,IAAI,CAAC2B,sBAAsB,CAACrD,QAAQ,CAAC;IAC3C;IACA;IACA,MAAM,IAAI,CAACV,SAAS,CAAC6C,KAAK,CAACmB,WAAW,CAACC,WAAW,CAACC,UAAU,CAAC,CAAC;IAC/D,MAAMC,kBAAE,CAAClE,MAAM,CAAC,IAAI,CAACD,SAAS,CAAC6C,KAAK,CAACuB,iBAAiB,CAAC,CAAC,CAAC;IACzDC,mBAAS,CAACC,YAAY,CAAC,gBAAgB,EAAE5D,QAAQ,CAACrC,MAAM,CAAC;IACzD;IACA;IACA;IACA,MAAM0D,QAAQ,CAACwC,SAAS,CAAC,QAAQ,CAAC;IAClC,OAAO;MACLnC,UAAU;MACV7B,gBAAgB;MAChBI,UAAU;MACVF,YAAY;MACZC,QAAQ;MACRF,cAAc;MACdI,aAAa,EAAEsB,UAAU,GAAG,CAACA,UAAU,CAAC,GAAG,EAAE;MAC7CrB;IACF,CAAC;EACH;;EAEA;AACF;AACA;EACE,MAAMqC,UAAUA,CAAC;IACfL,KAAK;IACLnB,GAAG;IAAE;IACLQ,UAAU;IACVoB,WAAW;IACXzB,cAAc;IACdI,kBAAkB;IAClBuC,cAAc;IACdC,wBAAwB;IACxBzB,QAAQ,GAAG,IAAI;IACfG,eAAe;IAAE;IACjBC,yBAAyB;IAAE;IAC3BsB,YAAY,GAAG;EAcjB,CAAC,EAKE;IACD,IAAI,CAACvE,MAAM,CAACwE,KAAK,CAAC,0BAA0BjD,GAAG,CAACqB,QAAQ,CAAC,CAAC,EAAE,CAAC;IAC7D,MAAM6B,YAAqB,GAAG,MAAM,IAAAC,+BAAe,EAAChC,KAAK,CAAC;IAE1D,MAAMiC,gBAAgB,GAAIC,MAAuB,IAA+C;MAC9F,OAAOA,MAAM,CAACC,MAAM,CAAC,CAACC,GAAG,EAAEC,OAAO,KAAK;QACrC,MAAMC,YAAY,GAAGA,CAAA,KAAM;UACzB,IAAID,OAAO,CAACrC,KAAK,EAAE,OAAOqC,OAAO,CAACrC,KAAK;UACvC,MAAMuC,kBAAkB,GAAGnD,kBAAkB,CAACoD,4BAA4B,CAACH,OAAO,CAAC;UACnF,OAAOE,kBAAkB,GAAGA,kBAAkB,CAACvC,KAAK,GAAG,IAAI;QAC7D,CAAC;QACD,MAAMyC,SAAS,GAAGH,YAAY,CAAC,CAAC;QAChC,IAAI,CAACG,SAAS,EAAE;UACd,MAAM,IAAIC,KAAK,CAAC,6DAA6DL,OAAO,CAACnC,QAAQ,CAAC,CAAC,EAAE,CAAC;QACpG;QACA,IAAIkC,GAAG,CAACK,SAAS,CAAC,EAAEL,GAAG,CAACK,SAAS,CAAC,CAACrH,IAAI,CAACiH,OAAO,CAAC,CAAC,KAC5CD,GAAG,CAACK,SAAS,CAAC,GAAG,KAAIjD,8BAAe,EAAC6C,OAAO,CAAC;QAClD,OAAOD,GAAG;MACZ,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IAED,MAAMO,iBAAiB,GAAGV,gBAAgB,CAACpD,GAAG,CAAC;;IAE/C;AACJ;AACA;AACA;AACA;IACI,MAAM+D,2BAA2B,GAAG,MAAAA,CAAA,KAAY;MAC9C,IAAI,CAACvD,UAAU,EAAE;QACf;MACF;MACA,MAAMwD,MAAM,GAAGrD,8BAAe,CAACsD,SAAS,CAACjE,GAAG,CAAC5D,MAAM,CAAEgF,EAAE,IAAK,CAACD,KAAK,CAAC+C,UAAU,CAAC9C,EAAE,CAAC,CAAC,CAAC;MACnF,MAAM+C,aAAa,GAAGf,gBAAgB,CAACY,MAAM,CAAC;MAC9C,MAAM,IAAAI,qBAAS,EAACpI,MAAM,CAACC,IAAI,CAACkI,aAAa,CAAC,EAAE,MAAOP,SAAS,IAAK;QAC/D,IAAIA,SAAS,KAAKpD,UAAU,CAACW,KAAK,EAAE;UAClC;UACA;QACF;QACA;QACA,MAAMkD,MAAM,GAAG,MAAMnB,YAAY,CAACoB,OAAO,CAACV,SAAS,EAAEzC,KAAK,CAAC;QAC3D,MAAMoD,IAAI,GAAG,MAAMF,MAAM,CAACE,IAAI,CAAC,CAAC;QAChC,MAAMvC,OAAO,GAAGrB,8BAAe,CAACsD,SAAS,CAACM,IAAI,CAACC,GAAG,CAAEC,QAAQ,IAAKA,QAAQ,CAACrD,EAAE,CAAC,CAAC;QAC9E+C,aAAa,CAACP,SAAS,CAAC,CAAChH,OAAO,CAAEwE,EAAE,IAAK;UACvC,IAAIY,OAAO,CAACC,iBAAiB,CAACb,EAAE,CAAC,EAAE;YACjC,MAAM,IAAIyC,KAAK,CAAC,iDAAiDzC,EAAE,CAACC,QAAQ,CAAC,CAAC,mCAAmCuC,SAAS;AACtI,yJAAyJ,CAAC;UAChJ;QACF,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ,CAAC;;IAED;AACJ;AACA;AACA;IACI,MAAMc,qBAAqB,GAAG,MAAAA,CAAOC,SAAgB,EAAEC,cAA8B,KAAK;MACxF,MAAMC,IAAI,GAAGD,cAAc,CAACC,IAAI;MAChC,IAAI,CAACA,IAAI,EAAE;MACX,IAAIF,SAAS,CAACG,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACC,IAAI,KAAKH,IAAI,CAACG,IAAI,CAAC,EAAE,OAAO,CAAC;MACzD,IAAI,EAAE,MAAM7D,KAAK,CAAC8D,OAAO,CAACC,GAAG,CAACL,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC;MAC9CF,SAAS,CAACpI,IAAI,CAACsI,IAAI,CAAC;IACtB,CAAC;IAED,MAAMM,mBAAmB,GAAG,MAAOP,cAA8B,IAAqB;MACpF,IAAInD,eAAe,EAAE;QACnB,MAAMoD,IAAI,GACRrE,UAAU,EAAE4E,kCAAkC,CAACR,cAAc,CAACS,aAAa,CAAC,CAAC,CAAC,IAAIT,cAAc,CAACC,IAAI;QACvG,IAAI,CAACA,IAAI,EACP,MAAM,IAAIhB,KAAK,CACb,oEAAoEe,cAAc,CAACxD,EAAE,CAAC,CAAC,aACzF,CAAC;QACH,OAAO,CAACyD,IAAI,CAAC;MACf;MACA,MAAMS,iBAAiB,GAAG,MAAMV,cAAc,CAACW,cAAc,CAACpE,KAAK,CAAC8D,OAAO,CAAC;MAC5E,IAAI,CAACrD,WAAW,EAAE;QAChB,OAAO0D,iBAAiB;MAC1B;MAEA,MAAMX,SAAS,GAAG,MAAM,IAAAa,uCAAmB,EAAC;QAAEZ,cAAc;QAAEa,IAAI,EAAEtE,KAAK,CAAC8D;MAAQ,CAAC,CAAC;MACpF,MAAMP,qBAAqB,CAACC,SAAS,EAAEC,cAAc,CAAC;MACtD,OAAOD,SAAS;IAClB,CAAC;IAED,MAAMZ,2BAA2B,CAAC,CAAC;IACnC,MAAM2B,oBAAoB,GAAG1J,MAAM,CAACC,IAAI,CAAC6H,iBAAiB,CAAC,CACxDU,GAAG,CAAEZ,SAAS,IAAK,UAAUA,SAAS,MAAME,iBAAiB,CAACF,SAAS,CAAC,CAACvC,QAAQ,CAAC,CAAC,EAAE,CAAC,CACtFsE,IAAI,CAAC,IAAI,CAAC;IACb,IAAI,CAAClH,MAAM,CAACwE,KAAK,CAAC,2DAA2DyC,oBAAoB,EAAE,CAAC;IAEpG,MAAME,yBAAyB,GAAG,MAAAA,CAChCC,aAAqB,EACrBC,MAAuB,EACvBC,IAAW,KAC2B;MACtCD,MAAM,CAACE,gCAAgC,CAAC,CAAC;MACzC,MAAM3B,MAAc,GAAG,MAAMnB,YAAY,CAACoB,OAAO,CAACuB,aAAa,EAAE1E,KAAK,CAAC;MACvE,MAAM8E,kBAAkB,GAAGtF,8BAAe,CAACsD,SAAS,CAAC6B,MAAM,CAAC1J,MAAM,CAAEgF,EAAE,IAAK,CAACD,KAAK,CAAC+C,UAAU,CAAC9C,EAAE,CAAC,CAAC,CAAC;MAClG,MAAM8E,oBAAgD,GAAG,EAAE;MAC3D,MAAMC,UAAU,GAAG,KAAIC,wBAAU,EAAC,CAAC;MACnC,MAAMC,iBAAoC,GAAG,CAAC,CAAC;MAE/C,MAAMC,eAAe,GAAG,MAAM,IAAAlC,qBAAS,EAAC0B,MAAM,EAAG1E,EAAE,IAAKD,KAAK,CAACoF,iBAAiB,CAACnF,EAAE,CAAC,CAAC;MACpF;MACAD,KAAK,CAAC8D,OAAO,CAACuB,qBAAqB,CAAC,CAAC;MAErC,MAAMC,iCAAiC,GAAG,MAAM,IAAArC,qBAAS,EAACkC,eAAe,EAAE,MAAO1B,cAAc,IAAK;QACnG,MAAM8B,IAAI,GAAG,MAAMvB,mBAAmB,CAACP,cAAc,CAAC;QACtD,OAAO;UAAEA,cAAc;UAAE8B;QAAK,CAAC;MACjC,CAAC,CAAC;MAEF,MAAMC,sBAAsB,GAAG,MAAAA,CAAA,KAAY;QACzC,IAAI,CAACjF,yBAAyB,EAAE;UAC9B,OAAO+E,iCAAiC;QAC1C;QACA,MAAMG,cAAc,GAAGH,iCAAiC,CACrDjC,GAAG,CAAE1I,CAAC,IAAKA,CAAC,CAAC4K,IAAI,CAAC,CAClBG,IAAI,CAAC,CAAC,CACNrC,GAAG,CAAEsC,GAAG,IAAKA,GAAG,CAACzF,QAAQ,CAAC,CAAC,CAAC;QAC/B,MAAM0F,gBAAgB,GAAG,MAAM5F,KAAK,CAAC6F,aAAa,CAACC,4BAA4B,CAACpB,aAAa,EAAEe,cAAc,CAAC;QAC9G;QACA,MAAMM,wBAAwB,GAAGT,iCAAiC,CAACjC,GAAG,CAAC,CAAC;UAAEI,cAAc;UAAE8B;QAAK,CAAC,KAAK;UACnG,MAAMS,eAAyB,GAAG,EAAE;UACpC,MAAMC,YAAY,GAAGV,IAAI,CAACtK,MAAM,CAAE0K,GAAG,IAAK;YACxC,MAAMO,QAAQ,GAAGN,gBAAgB,CAAC1J,QAAQ,CAACyJ,GAAG,CAACzF,QAAQ,CAAC,CAAC,CAAC;YAC1D,IAAIgG,QAAQ,EAAEF,eAAe,CAAC5K,IAAI,CAACuK,GAAG,CAACzF,QAAQ,CAAC,CAAC,CAAC;YAClD,OAAO,CAACgG,QAAQ;UAClB,CAAC,CAAC;UACF,IAAIF,eAAe,CAACxK,MAAM,EACxB,IAAI,CAAC8B,MAAM,CAACwE,KAAK,CACf,sEAAsE2B,cAAc,CACjFxD,EAAE,CAAC,CAAC,CACJC,QAAQ,CAAC,CAAC,+CAA+C8F,eAAe,CAACxB,IAAI,CAAC,IAAI,CAAC,EACxF,CAAC;UAEH,OAAOyB,YAAY,CAACzK,MAAM,GAAG;YAAEiI,cAAc;YAAE8B,IAAI,EAAEU;UAAa,CAAC,GAAG,IAAI;QAC5E,CAAC,CAAC;QAEF,OAAO,IAAAE,iBAAO,EAACJ,wBAAwB,CAAC;MAC1C,CAAC;MAED,MAAMK,qBAAqB,GAAG,MAAOC,GAAc,IAA0B;QAC3E,OAAO;UACLV,GAAG,EAAEU,GAAG,CAACxC,IAAI,CAAC,CAAC;UACfyC,MAAM,EAAE,MAAMD,GAAG,CAACE,QAAQ,CAAC,CAAC;UAC5BC,IAAI,EAAEH,GAAG,CAACI,OAAO,CAAC;QACpB,CAAC;MACH,CAAC;MAED,MAAMC,qBAAqB,GAAG,MAAAA,CAAO;QACnCjD,cAAc;QACd8B;MAIF,CAAC,KAAK;QACJ9B,cAAc,CAACkD,cAAc,CAAC,CAAC;QAC/B,MAAMC,WAAW,GAAG,MAAMnD,cAAc,CAACoD,sBAAsB,CAC7D7G,KAAK,CAAC8D,OAAO,EACbyB,IAAI,CAAClC,GAAG,CAAEsC,GAAG,IAAKA,GAAG,CAACzF,QAAQ,CAAC,CAAC,CAAC,EACjC0B,wBACF,CAAC;QACD,MAAMkF,WAAW,GAAG,MAAM,KAAI7B,wBAAU,EAAC2B,WAAW,CAAC,CAACG,YAAY,CAAC,CAAC;QACpE,MAAMC,kBAAkB,GAAG;UAAEC,SAAS,EAAExD,cAAc;UAAEK,OAAO,EAAEgD,WAAW,CAACI,MAAM,CAAC;QAAE,CAAC;QACvF,MAAM,IAAI,CAACC,qBAAqB,CAACnH,KAAK,EAAEgH,kBAAkB,EAAEtC,aAAa,EAAEC,MAAM,EAAEvF,kBAAkB,CAAC;QACtG,MAAMgI,SAAS,GAAG;UAAEC,GAAG,EAAEnE,MAAM,CAACoE,IAAI;UAAE3H,IAAI,EAAEuD,MAAM,CAACvD,IAAI;UAAE4H,IAAI,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC,CAACvH,QAAQ,CAAC;QAAE,CAAC;QACtFuD,cAAc,CAACiE,gBAAgB,CAACN,SAAS,CAAC;QAC1CrC,oBAAoB,CAAC3J,IAAI,CAAC4L,kBAAkB,CAAC;QAC7C,MAAMW,eAAe,GAAG,MAAMlE,cAAc,CAAC8C,QAAQ,CAAC,CAAC;QACvD,MAAMqB,aAAa,GAAG;UAAEjC,GAAG,EAAElC,cAAc,CAACI,IAAI,CAAC,CAAC;UAAEyC,MAAM,EAAEqB,eAAe;UAAEnB,IAAI,EAAE/C,cAAc,CAACgD,OAAO,CAAC;QAAE,CAAC;QAC7G,MAAMoB,aAAa,GAAG,MAAMC,OAAO,CAACC,GAAG,CACrCf,kBAAkB,CAAClD,OAAO,CAACT,GAAG,CAAC,MAAOgD,GAAG,IAAKD,qBAAqB,CAACC,GAAG,CAAC,CAC1E,CAAC;QACD,MAAM2B,cAAc,GAAG,CAACJ,aAAa,EAAE,GAAGC,aAAa,CAAC;QACxD3C,iBAAiB,CAACzB,cAAc,CAAC9D,IAAI,CAAC,GAAG,KAAIsF,wBAAU,EAAC+C,cAAc,CAAC;QACvEhD,UAAU,CAACiD,aAAa,CAACD,cAAc,CAAC;MAC1C,CAAC;MAED,MAAMjC,wBAAwB,GAAG,MAAMP,sBAAsB,CAAC,CAAC;MAC/D;MACA,MAAM,IAAAvC,qBAAS,EAAC8C,wBAAwB,EAAEW,qBAAqB,CAAC;MAChE,IAAI9B,IAAI,EAAE;QACR,MAAMsD,WAAW,GAAG,MAAMlI,KAAK,CAACmI,KAAK,CAACC,sBAAsB,CAACxD,IAAI,CAAC;QAClE,MAAMyD,eAAe,GAAG,MAAMjC,qBAAqB,CAAC8B,WAAW,CAAC;QAChElD,UAAU,CAACiD,aAAa,CAAC,CAACI,eAAe,CAAC,CAAC;QAC3C,MAAMC,QAAQ,GAAG,MAAMlC,qBAAqB,CAACxB,IAAI,CAAC;QAClDI,UAAU,CAACiD,aAAa,CAAC,CAACK,QAAQ,CAAC,CAAC;MACtC;MAEA,OAAO;QAAEpF,MAAM;QAAE8B,UAAU;QAAEE,iBAAiB;QAAEJ,kBAAkB;QAAEC;MAAqB,CAAC;IAC5F,CAAC;IAED,MAAMwD,oBAAoB,GAAGlJ,UAAU,GACnC,CAAC,MAAMoF,yBAAyB,CAACpF,UAAU,CAACW,KAAK,EAAEnB,GAAG,EAAEQ,UAAU,CAAC,CAAC,GACpE,MAAM,IAAA4D,qBAAS,EAACpI,MAAM,CAACC,IAAI,CAAC6H,iBAAiB,CAAC,EAAGF,SAAS,IACxDgC,yBAAyB,CAAChC,SAAS,EAAEE,iBAAiB,CAACF,SAAS,CAAC,EAAEpD,UAAU,CAC/E,CAAC;IAEL,MAAMmJ,mBAAmB,GAAG,MAAAA,CAAA,KAAY;MACtC,MAAMxD,UAAU,GAAG,IAAI,CAACyD,qCAAqC,CAACF,oBAAoB,CAAC;MACnF,MAAMG,IAAI,GAAG,MAAMC,YAAI,CAACC,OAAO,CAACC,gCAAmB,EAAEC,iCAAoB,CAAC;MAC1E,MAAMC,WAAW,GAAG,MAAML,IAAI,CAACM,gBAAgB,CAAChE,UAAU,EAAE;QAAEiE,MAAM,EAAEpH;MAAa,CAAC,CAAC;MACrF,MAAM;QAAEqH,YAAY;QAAEC,UAAU;QAAEC,MAAM;QAAEC;MAAS,CAAC,GAAGN,WAAW;MAClE,IAAIG,YAAY,CAAC1N,MAAM,EAAE;QACvB,MAAM,KAAI8N,8BAAa,EAACJ,YAAY,EAAEE,MAAM,CAAC;MAC/C;MACA,MAAMG,cAAc,GAAGJ,UAAU,CAAC9F,GAAG,CAAEpD,EAAE,IAAKuJ,0BAAW,CAACC,UAAU,CAACxJ,EAAE,CAAC,CAAC;MACzE,IAAIsI,oBAAoB,CAAC/M,MAAM,KAAK,CAAC,EAAE;QACrC;QACA;QACA+M,oBAAoB,CAAC,CAAC,CAAC,CAACmB,WAAW,GAAGH,cAAc,CAAClG,GAAG,CAAEpD,EAAE,IAAKA,EAAE,CAACC,QAAQ,CAAC,CAAC,CAAC;MACjF,CAAC,MAAM;QACLqI,oBAAoB,CAAC9M,OAAO,CAAEkO,eAAe,IAAK;UAChD,MAAMC,WAAW,GAAGL,cAAc,CAACtO,MAAM,CAAEgF,EAAE,IAAKA,EAAE,CAACD,KAAK,KAAK2J,eAAe,CAACzG,MAAM,CAACvD,IAAI,CAAC;UAC3F;UACAgK,eAAe,CAACD,WAAW,GAAGE,WAAW,CAACvG,GAAG,CAAEpD,EAAE,IAAKA,EAAE,CAACC,QAAQ,CAAC,CAAC,CAAC;QACtE,CAAC,CAAC;MACJ;MACA,OAAO;QAAElC,UAAU,EAAEqL,QAAQ,EAAEQ;MAAK,CAAC;IACvC,CAAC;IAED,MAAMC,kBAAkB,GAAG,MACzBlF,IAAW,IAGR;MACH,OAAO,IAAA3B,qBAAS,EAACsF,oBAAoB,EAAE,MAAOwB,gBAA0C,IAAK;QAC3F,MAAM;UAAE7G,MAAM;UAAE4B,kBAAkB;UAAEC,oBAAoB;UAAE2E;QAAY,CAAC,GAAGK,gBAAgB;QAC1F,MAAMrF,aAAa,GAAGxB,MAAM,CAACvD,IAAI;QAEjCoF,oBAAoB,CAACtJ,OAAO,CAAEuO,eAAe,IAAKhK,KAAK,CAACiK,OAAO,CAACC,GAAG,CAACF,eAAe,CAAC,CAAC;;QAErF;QACA,IAAIpF,IAAI,EAAE;UACR,IAAIE,kBAAkB,CAACtJ,MAAM,EAAE;YAC7B;YACAwE,KAAK,CAAC8D,OAAO,CAACqG,GAAG,CAACvF,IAAI,CAAC;UACzB;UACA,MAAM5E,KAAK,CAAC8D,OAAO,CAACsG,WAAW,CAACC,kBAAkB,CAAC3F,aAAa,EAAEE,IAAI,CAAC;QACzE;QAEA,IAAIzE,QAAQ,IAAI,CAACyE,IAAI,EAAE;UACrB;UACA,MAAM0F,YAAY,GAAGC,gBAAM,CAACC,IAAI,CAACC,sBAAY,EAAE/F,aAAa,CAAC;UAC7D,MAAM1E,KAAK,CAAC8D,OAAO,CAACsG,WAAW,CAACM,cAAc,CAACJ,YAAY,CAAC;UAC5D,MAAMxC,OAAO,CAACC,GAAG,CACfhD,oBAAoB,CAAC1B,GAAG,CAAC,OAAO;YAAE4D;UAAU,CAAC,KAAK;YAChD,MAAMjH,KAAK,CAAC8D,OAAO,CAACsG,WAAW,CAACO,QAAQ,CAACL,YAAY,EAAErD,SAAS,CAAC/C,aAAa,CAAC,CAAC,EAAE+C,SAAS,CAAC2D,OAAO,CAAC,CAAC,CAAC;UACxG,CAAC,CACH,CAAC;QACH;QAEA,MAAM5K,KAAK,CAAC8D,OAAO,CAAC+G,OAAO,CAAC,CAAC;QAC7B;QACA,MAAMlN,cAAc,GAAG+L,WAAW,CAAErG,GAAG,CAAEpD,EAAE,IAAKuJ,0BAAW,CAACC,UAAU,CAACxJ,EAAE,CAAC,CAAC;QAC3E;QACA,MAAM6K,kBAAiC,GAAGnN,cAAc,CAAC0F,GAAG,CAAEpD,EAAE,IAAKA,EAAE,CAAC8K,aAAa,CAACC,SAAS,CAAC,CAAC;QACjG,MAAMC,sBAAsB,GAAGzL,8BAAe,CAAC0L,aAAa,CAACJ,kBAAkB,CAAC,CAACK,IAAI,CAAC,CAAC;QACvF,OAAO;UACLxN,cAAc;UACdE,QAAQ,EAAEoN,sBAAsB;UAChC7K,cAAc,EAAEZ,8BAAe,CAACsD,SAAS,CACvCmI,sBAAsB,CAAChQ,MAAM,CAAEgF,EAAE,IAAK6E,kBAAkB,CAACsG,yBAAyB,CAACnL,EAAE,CAAC,CACxF;QACF,CAAC;MACH,CAAC,CAAC;IACJ,CAAC;IAED,MAAMoL,gBAAgB,GAAGA,CAAA,KAAM;MAC7B,IAAI,CAAC/N,MAAM,CAACgO,cAAc,CACxB,6GACF,CAAC;IACH,CAAC;IACDC,OAAO,CAACC,EAAE,CAAC,QAAQ,EAAEH,gBAAgB,CAAC;IACtC,IAAII,iBAAiB;IACrB,IAAI9J,cAAc,EAAE;MAClB,MAAM+J,OAAO,GAAGnD,oBAAoB,CAAClF,GAAG,CAAErI,CAAC,IAAKA,CAAC,CAACkI,MAAM,CAAC;MACzD,MAAM,IAAAyI,wCAAe,EAACD,OAAO,EAAE/J,cAAc,CAAC;MAC9C,MAAM,IAAAiK,uCAAc,EAACrD,oBAAoB,EAAE5G,cAAc,CAAC;IAC5D,CAAC,MAAM,IAAI,IAAI,CAACkK,sBAAsB,CAACtD,oBAAoB,EAAExG,YAAY,EAAE/C,cAAc,CAAC,EAAE;MAC1FyM,iBAAiB,GAAG,MAAMjD,mBAAmB,CAAC,CAAC;IACjD,CAAC,MAAM;MACL;MACA,MAAM,IAAI,CAACsD,sBAAsB,CAACvD,oBAAoB,EAAE5G,cAAc,CAAC;IACzE;IAEAoK,iBAAM,CAACC,KAAK,CAAC,0BAA0B,CAAC;IACxC,MAAMC,OAAO,GAAG,MAAMnC,kBAAkB,CAACzK,UAAU,CAAC;IACpDkM,OAAO,CAACW,cAAc,CAAC,QAAQ,EAAEb,gBAAgB,CAAC;IAClD,OAAO;MACL1N,cAAc,EAAEsO,OAAO,CAAC5I,GAAG,CAAE1I,CAAC,IAAKA,CAAC,CAACgD,cAAc,CAAC,CAAC+H,IAAI,CAAC,CAAC;MAC3D7H,QAAQ,EAAE2B,8BAAe,CAAC0L,aAAa,CAACe,OAAO,CAAC5I,GAAG,CAAE1I,CAAC,IAAKA,CAAC,CAACkD,QAAQ,CAAC,CAAC6H,IAAI,CAAC,CAAC,CAAC;MAC9EtF,cAAc,EAAEZ,8BAAe,CAAC0L,aAAa,CAACe,OAAO,CAAC5I,GAAG,CAAE1I,CAAC,IAAKA,CAAC,CAACyF,cAAc,CAAC,CAACsF,IAAI,CAAC,CAAC,CAAC;MAC1F1H,UAAU,EAAEyN,iBAAiB,EAAEzN,UAAU,IAAI;IAC/C,CAAC;EACH;EAEQyK,qCAAqCA,CAACsB,gBAAoC,EAAc;IAC9F,MAAM/E,UAAU,GAAG,KAAIC,wBAAU,EAAC,CAAC;IACnC8E,gBAAgB,CAACtO,OAAO,CAAE0Q,YAAY,IAAK;MACzCA,YAAY,CAACnH,UAAU,CAACoH,YAAY,CAACD,YAAY,CAACjJ,MAAM,CAACvD,IAAI,CAAC;MAC9DqF,UAAU,CAACqH,eAAe,CAACF,YAAY,CAACnH,UAAU,CAAC;IACrD,CAAC,CAAC;IACF,OAAOA,UAAU;EACnB;EAEA,MAAc5G,uBAAuBA,CAACE,aAA4B,EAAyB;IACzF,MAAMY,QAAkB,GAAG,IAAI,CAAC/B,SAAS,CAAC+B,QAAQ;IAClD,IAAIhB,YAA0B;IAC9B,IAAI;MACFA,YAAY,GAAG,MAAM,IAAI,CAACX,KAAK,CAACA,KAAK,CAACe,aAAa,EAAE;QAAEgO,KAAK,EAAE;MAAK,CAAC,CAAC;IACvE,CAAC,CAAC,OAAO5N,GAAQ,EAAE;MACjB,MAAM6N,QAAQ,GAAG,kBAAkBjO,aAAa,CAAC+E,GAAG,CAAEmJ,CAAC,IAAKA,CAAC,CAACtM,QAAQ,CAAC,CAAC,CAAC,CAACsE,IAAI,CAAC,IAAI,CAAC;AAC1F,iEAAiE9F,GAAG,CAAC+N,GAAG,IAAI/N,GAAG,EAAE;MAC3E,IAAI,CAACpB,MAAM,CAACqB,KAAK,CAAC4N,QAAQ,EAAE7N,GAAG,CAAC;MAChC,MAAM,IAAIgE,KAAK,CAAC6J,QAAQ,CAAC;IAC3B;IACA;IACA,MAAMrN,QAAQ,CAACwC,SAAS,CAAC,gBAAgB,CAAC;IAC1C,OAAOxD,YAAY;EACrB;EAEA,MAAM4N,sBAAsBA,CAACvD,oBAAwC,EAAE5G,cAAuB,EAAE;IAC9F,MAAM+J,OAAO,GAAGnD,oBAAoB,CAAClF,GAAG,CAAErI,CAAC,IAAKA,CAAC,CAACkI,MAAM,CAAC;IACzD,MAAMwJ,QAAQ,GAAG/K,cAAc,IAAI6F,IAAI,CAACC,GAAG,CAAC,CAAC,CAACvH,QAAQ,CAAC,CAAC;IACxD,MAAM,IAAI,CAACyM,qBAAqB,CAACD,QAAQ,EAAEnE,oBAAoB,EAAE5G,cAAc,CAAC;IAChF,MAAM,IAAAgK,wCAAe,EAACD,OAAO,EAAEgB,QAAQ,EAAElM,OAAO,CAACmB,cAAc,CAAC,CAAC;IACjE,MAAM,IAAAiK,uCAAc,EAACrD,oBAAoB,EAAEmE,QAAQ,CAAC;EACtD;EAEA,MAAcC,qBAAqBA,CACjCD,QAAgB,EAChBnE,oBAAwC,EACxC5G,cAAuB,EACR;IACf,IAAIA,cAAc,EAAE;MAClB,IAAI,CAACrE,MAAM,CAACwE,KAAK,CAAC,+DAA+D,CAAC;MAClF;MACA;MACA;IACF;IACA,MAAM8K,WAAW,GAAG;MAAEF;IAAS,CAAC;IAChC,MAAMG,aAAuB,GAAG,EAAE;IAClC,MAAM,IAAA5J,qBAAS,EAACsF,oBAAoB,EAAE,MAAOwB,gBAAkC,IAAK;MAClF,MAAM;QAAE7G,MAAM;QAAE8B;MAAW,CAAC,GAAG+E,gBAAgB;MAC/CgC,iBAAM,CAACC,KAAK,CAAC,gBAAgBhH,UAAU,CAAC8H,KAAK,CAAC,CAAC,2BAA2B5J,MAAM,CAACvD,IAAI,MAAM,CAAC;MAC5F,IAAI;QACF,MAAMuD,MAAM,CAAC6J,QAAQ,CAAC/H,UAAU,EAAE4H,WAAW,EAAE,CAAC,CAAC,CAAC;QAClD,IAAI,CAACtP,MAAM,CAACwE,KAAK,CACf,mGACF,CAAC;QACD+K,aAAa,CAACzR,IAAI,CAAC8H,MAAM,CAAC;MAC5B,CAAC,CAAC,OAAOxE,GAAQ,EAAE;QACjB,IAAI,CAACpB,MAAM,CAAC0P,IAAI,CAAC,kDAAkD,CAAC;QACpE,MAAM,IAAAC,0CAAiB,EAACJ,aAAa,EAAEH,QAAQ,CAAC;QAChD,MAAMhO,GAAG;MACX;IACF,CAAC,CAAC;EACJ;EAEAmN,sBAAsBA,CACpBtD,oBAAwC,EACxCxG,YAAqB,EACrB/C,cAAc,GAAG,KAAK,EACb;IACT,IAAIA,cAAc,EAAE,OAAO,KAAK;IAChC,MAAMkO,UAAU,GAAG3E,oBAAoB,CAACtN,MAAM,CAAEkS,CAAC,IAAKpL,YAAY,CAACqL,KAAK,CAACD,CAAC,CAACjK,MAAM,CAACvD,IAAI,CAAC,CAAC;IACxF,IAAI,CAACuN,UAAU,CAAC1R,MAAM,EAAE,OAAO,KAAK;IACpC,IAAI0R,UAAU,CAAC1R,MAAM,KAAK+M,oBAAoB,CAAC/M,MAAM,EAAE,OAAO,IAAI,CAAC,CAAC;IACpE;IACA,MAAM,KAAIkE,oBAAQ,EAChB,6HACF,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAcyH,qBAAqBA,CACjCnH,KAAY,EACZqN,iBAA2C,EAC3CC,WAAmB,EACnBC,YAA6B,EAC7BnO,kBAAmC,EACnCoO,UAAU,GAAG,KAAK,CAAC;EAAA,EACD;IAClB;IACA,MAAMC,eAA0B,GAAGJ,iBAAiB,CAACvJ,OAAO,CAAC7I,MAAM,CAAEyS,MAAM,IAAKA,MAAM,YAAYC,iBAAO,CAAC;IAC1G,MAAMC,mBAAmB,GAAG,MAAM9F,OAAO,CAACC,GAAG,CAC3C0F,eAAe,CAACpK,GAAG,CAAC,MAAOwK,aAAsB,IAAK;MACpD,MAAMC,mBAAmB,GAAGC,qBAAqB,CAACF,aAAa,CAAC;MAChEG,qBAAqB,CAACH,aAAa,CAAC;MAEpC,OAAOC,mBAAmB;IAC5B,CAAC,CACH,CAAC;IACD,MAAMG,iBAAiB,GAAGT,UAAU,GAChCF,WAAW,KAAKD,iBAAiB,CAACpG,SAAS,CAACjH,KAAK,GACjD,CAACqN,iBAAiB,CAACpG,SAAS,CAACjH,KAAK;IACtC,MAAMkO,mBAAmB,GAAGD,iBAAiB;IAC7C,IAAIA,iBAAiB,EAAE;MACrB,MAAME,iBAAiB,GAAG/O,kBAAkB,CAACoD,4BAA4B,CACvE6K,iBAAiB,CAACpG,SAAS,CAAC/C,aAAa,CAAC,CAC5C,CAAC;MACDmJ,iBAAiB,CAACpG,SAAS,CAACjH,KAAK,GAAGmO,iBAAiB,EAAEnO,KAAK,IAAIsN,WAAW;IAC7E;;IAEA;IACA,OAAOM,mBAAmB,CAACQ,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAAC,IAAIH,mBAAmB;IAEhE,eAAeH,qBAAqBA,CAACO,OAAgB,EAAoB;MACvE,IAAIC,UAAU,GAAG,KAAK;MACtBD,OAAO,CAACE,kBAAkB,CAAC,CAAC,CAAC/S,OAAO,CAAEgT,UAAU,IAAK;QACnD,MAAMC,kBAAkB,GAAGC,qBAAqB,CAACF,UAAU,CAACxO,EAAE,CAAC;QAC/D,IAAI,CAACwO,UAAU,CAACxO,EAAE,CAACD,KAAK,EAAE;UACxBuO,UAAU,GAAG,IAAI;UACjBE,UAAU,CAACxO,EAAE,GAAGyO,kBAAkB;QACpC;MACF,CAAC,CAAC;MACF,MAAME,YAA6B,GAAGN,OAAO,CAACO,qBAAqB;MACnE,MAAMC,WAAW,GAAGF,YAAY,CAACR,IAAI,CAAEnO,EAAE,IAAK,CAACA,EAAE,CAACD,KAAK,CAAC;MACxD,IAAI8O,WAAW,EAAE;QACfR,OAAO,CAACO,qBAAqB,GAAGE,yBAAyB,CAACH,YAAY,CAAC;QACvEL,UAAU,GAAG,IAAI;MACnB;MACA,IAAIS,wBAAwB,GAAG,KAAK;MACpC,MAAMC,cAAc,GAAG,MAAMX,OAAO,CAACY,iBAAiB,CAAClP,KAAK,CAAC8D,OAAO,CAAC;MACrE,MAAMqL,qBAAqB,GAAGF,cAAc,CAAC5L,GAAG,CAAE+L,IAAI,IAAK;QACzD,IAAIA,IAAI,CAACC,MAAM,CAACrP,KAAK,IAAIoP,IAAI,CAACE,MAAM,CAACtP,KAAK,EAAE;UAC1C,OAAOoP,IAAI;QACb;QACAJ,wBAAwB,GAAG,IAAI;QAC/B,OAAA1T,aAAA,CAAAA,aAAA,KACK8T,IAAI;UACPC,MAAM,EAAEV,qBAAqB,CAACS,IAAI,CAACC,MAAM,CAAC;UAC1CC,MAAM,EAAEX,qBAAqB,CAACS,IAAI,CAACE,MAAM;QAAC;MAE9C,CAAC,CAAC;MACF,IAAIN,wBAAwB,EAAE;QAC5B,MAAMK,MAAM,GAAG1B,iBAAO,CAAC4B,qBAAqB,CAACJ,qBAAqB,CAAC;QACnEb,OAAO,CAACkB,iBAAiB,GAAGH,MAAM,EAAExL,IAAI,CAAC,CAAC;QAC1C,IAAIwL,MAAM,EAAEhC,iBAAiB,CAACvJ,OAAO,CAAC1I,IAAI,CAACiU,MAAM,CAAC;QAClDd,UAAU,GAAG,IAAI;MACnB;MACA,OAAOA,UAAU;IACnB;IAEA,SAASP,qBAAqBA,CAACM,OAAgB,EAAW;MACxD,IAAIC,UAAU,GAAG,KAAK;MACtBD,OAAO,CAACmB,UAAU,CAAChU,OAAO,CAAEiU,GAAG,IAAK;QAClC,IAAIA,GAAG,CAACC,WAAW,EAAE;UACnB,MAAMC,YAAY,GAAGjB,qBAAqB,CAACe,GAAG,CAACC,WAAW,CAAC;UAC3D,IAAI,CAACC,YAAY,CAACC,OAAO,CAACH,GAAG,CAACC,WAAW,CAAC,EAAE;YAC1CpB,UAAU,GAAG,IAAI;YACjBmB,GAAG,CAACC,WAAW,GAAGC,YAAY;UAChC;QACF;MACF,CAAC,CAAC;MACF,OAAOrB,UAAU;IACnB;IAEA,SAASI,qBAAqBA,CAACmB,YAAyB,EAAe;MACrE,IAAIA,YAAY,CAAC9P,KAAK,EAAE;QACtB,OAAO8P,YAAY,CAAC,CAAC;MACvB;MACA,MAAMC,KAAK,GAAGC,wBAAc,CAACC,SAAS,CAACH,YAAY,CAAC;MACpD;MACA,MAAMI,gBAAgB,GAAGlQ,KAAK,CAAC8D,OAAO,CAACqM,QAAQ,CAACJ,KAAK,CAAClM,IAAI,CAAC,CAAC,CAAC;MAC7D,IAAIqM,gBAAgB,YAAYE,iBAAO,EAAE;QACvC,OAAON,YAAY,CAACO,WAAW,CAACH,gBAAgB,CAACI,SAAS,CAAC;MAC7D;MACA,MAAMC,oBAAoB,GAAGnR,kBAAkB,CAACoD,4BAA4B,CAACsN,YAAY,CAAC;MAC1F,MAAMrN,SAAS,GAAG8N,oBAAoB,EAAEvQ,KAAK,IAAIsN,WAAW;MAC5D,IAAI,CAAC7K,SAAS,EAAE,MAAM,IAAIC,KAAK,CAAC,gCAAgCoN,YAAY,CAAC5P,QAAQ,CAAC,CAAC,EAAE,CAAC;MAC1F,OAAO4P,YAAY,CAACO,WAAW,CAAC5N,SAAS,CAAC;IAC5C;IAEA,SAASsM,yBAAyBA,CAACpK,MAAuB,EAAmB;MAC3E,MAAMpF,UAAU,GAAGoF,MAAM,CAACtB,GAAG,CAAEpD,EAAE,IAAK0O,qBAAqB,CAAC1O,EAAE,CAAC,CAAC;MAChE,OAAOT,8BAAe,CAACsD,SAAS,CAACvD,UAAU,CAAC;IAC9C;EACF;EAEA,MAAc2B,sBAAsBA,CAACrC,GAAkB,EAAE;IACvD,IAAI,CAACvB,MAAM,CAACwE,KAAK,CAAC,2BAA2BjD,GAAG,CAACrD,MAAM,MAAM,CAAC;IAC9D,MAAMgV,YAAY,GAAG,MAAM,IAAI,CAACrT,SAAS,CAAC6C,KAAK,CAACyQ,eAAe,CAAC,CAAC;IACjE5R,GAAG,CAACwE,GAAG,CAAEqN,MAAM,IAAKF,YAAY,CAACG,qBAAqB,CAACD,MAAM,CAAC,CAAC;IAC/D,MAAMF,YAAY,CAACI,KAAK,CAAC,CAAC;EAC5B;EAEA,MAActR,qBAAqBA,CACjCT,GAAa,GAAG,EAAE,EAClBC,gBAA0B,EAMzB;IACD,MAAMI,QAAQ,GAAG,IAAI,CAAC/B,SAAS,CAAC+B,QAAQ;IACxC,MAAM2R,cAAc,GAAG,KAAIC,yBAAc,EAAC5R,QAAQ,CAAC;IACnD,MAAM6R,eAAe,GAAG,IAAAC,sBAAW,EAACnS,GAAG,CAAC;IACxC,MAAMoS,yBAAyB,GAAG,MAChCtM,MAAuB,IACyF;MAChH,MAAMuM,mBAAmB,GAAG,IAAI,CAAC/T,SAAS,CAACgU,aAAa,CAAC,CAAC;MAC1D,MAAMC,sBAAsB,GAAGzM,MAAM,CAAC1J,MAAM,CAAEgF,EAAE,IAAKiR,mBAAmB,CAAC9F,yBAAyB,CAACnL,EAAE,CAAC,CAAC;MACvG,IAAImR,sBAAsB,CAAC5V,MAAM,EAAE;QACjC,MAAM,KAAIkE,oBAAQ,EAAC;AAC3B;AACA,EAAE0R,sBAAsB,CAAC/N,GAAG,CAAEmJ,CAAC,IAAKA,CAAC,CAACtM,QAAQ,CAAC,CAAC,CAAC,CAACsE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;MACzD;MACA,OAAO;QAAErF,WAAW,EAAEK,8BAAe,CAACsD,SAAS,CAAC6B,MAAM,CAAC;QAAE/G,YAAY,EAAE,EAAE;QAAEwB,kBAAkB,EAAEuF;MAAO,CAAC;IACzG,CAAC;IACD,IAAI0M,yBAAyB,CAACnS,QAAQ,CAAC,EAAE;MACvC,IAAIL,GAAG,CAACrD,MAAM,EAAE;QACd,MAAM,KAAIkE,oBAAQ,EAAC,kFAAkF,CAAC;MACxG;MACA,MAAM;QAAE4R,kBAAkB;QAAEjS;MAAW,CAAC,GAAG,MAAM,IAAI,CAACkS,sBAAsB,CAACrS,QAAQ,EAAEJ,gBAAgB,CAAC;MACxG,MAAM0S,SAAS,GAAGF,kBAAkB,CAAC9V,MAAM,GAAG,CAAC,GAAGiW,gCAAc,GAAGC,+BAAa;MAChF3F,iBAAM,CAACC,KAAK,CAACwF,SAAS,CAAC;MACvB,MAAMG,QAAQ,GAAG,MAAMV,yBAAyB,CAACK,kBAAkB,CAAC;MACpE,OAAAhW,aAAA,CAAAA,aAAA,KAAYqW,QAAQ;QAAEtS;MAAU;IAClC;IACA,IAAI,CAACR,GAAG,CAACrD,MAAM,IAAIuV,eAAe,EAAE;MAClChF,iBAAM,CAACC,KAAK,CAAC4F,2CAAyB,CAAC;MACvC,MAAMC,uBAAwC,GAAG/S,gBAAgB,GAC7D,MAAM+R,cAAc,CAACiB,uBAAuB,CAAC,CAAC,GAC9C,MAAMjB,cAAc,CAACkB,8BAA8B,CAAC,CAAC;MACzD,MAAMT,kBAAkB,GAAGP,eAAe,GACtCD,yBAAc,CAACkB,0BAA0B,CAACH,uBAAuB,EAAEhT,GAAG,CAAC,GACvEgT,uBAAuB;MAC3B,MAAML,SAAS,GAAGF,kBAAkB,CAAC9V,MAAM,GAAG,CAAC,GAAGiW,gCAAc,GAAGC,+BAAa;MAChF3F,iBAAM,CAACC,KAAK,CAACwF,SAAS,CAAC;MACvB,OAAOP,yBAAyB,CAACK,kBAAkB,CAAC;IACtD;IACAvF,iBAAM,CAACC,KAAK,CAAC0F,+BAAa,CAAC,CAAC,CAAC;IAC7B,MAAMO,SAAS,GAAG,MAAMnK,OAAO,CAACC,GAAG,CAAClJ,GAAG,CAACwE,GAAG,CAAEpD,EAAE,IAAKiS,WAAW,CAAChT,QAAQ,EAAEe,EAAE,CAAC,CAAC,CAAC;IAC/E;IACA,MAAMf,QAAQ,CAACiT,cAAc,CAAC3S,8BAAe,CAACsD,SAAS,CAACmP,SAAS,CAAC,CAAC;IAEnE,OAAOhB,yBAAyB,CAACzR,8BAAe,CAACsD,SAAS,CAACmP,SAAS,CAAC,CAAC;EACxE;EAEA,MAAcV,sBAAsBA,CAClCrS,QAAkB,EAClBJ,gBAA0B,EAC0C;IACpE,MAAMsT,aAAa,GAAGlT,QAAQ,CAACmT,gBAAgB,CAAC,CAAC;IACjD,MAAMhT,UAAU,GAAG,MAAMH,QAAQ,CAACc,KAAK,CAACsS,QAAQ,CAACF,aAAa,CAAC;IAC/D,IAAI,CAAC/S,UAAU,EAAE;MACf,MAAM,IAAIqD,KAAK,CAAC,kDAAkD0P,aAAa,CAAClS,QAAQ,CAAC,CAAC,GAAG,CAAC;IAChG;IACA6L,iBAAM,CAACC,KAAK,CAAC4F,2CAAyB,CAAC;IACvC,MAAMf,cAAc,GAAG,KAAIC,yBAAc,EAAC5R,QAAQ,CAAC;IACnD,MAAMqT,gCAAgC,GAAGzT,gBAAgB,GACrD,MAAM+R,cAAc,CAACiB,uBAAuB,CAAC,CAAC,GAC9C,MAAMjB,cAAc,CAACkB,8BAA8B,CAAC1S,UAAU,CAAC;IACnE,MAAMmT,mBAAmB,GAAG,MAAM,IAAI,CAAC7R,sBAAsB,CAAC,CAAC;IAC/D,MAAM2Q,kBAAkB,GAAG9R,8BAAe,CAAC0L,aAAa,CAAC,CACvD,GAAGqH,gCAAgC,EACnC,GAAGC,mBAAmB,CACvB,CAAC;IACF,OAAO;MAAElB,kBAAkB;MAAEjS;IAAW,CAAC;EAC3C;EAEA,MAAcsB,sBAAsBA,CAAA,EAA6B;IAC/D,MAAM8R,aAAa,GAAG,MAAM,IAAI,CAACrV,MAAM,CAACsV,gBAAgB,CAAC,CAAC;IAC1D,OAAOlT,8BAAe,CAACsD,SAAS,CAAC2P,aAAa,CAACpP,GAAG,CAAEpD,EAAE,IAAKA,EAAE,CAAC8K,aAAa,CAACC,SAAS,CAAC,CAAC,CAAC;EAC1F;EAYA,aAAa2H,QAAQA,CAAC,CAACC,GAAG,EAAE5S,KAAK,EAAE7C,SAAS,EAAEC,MAAM,EAAEC,WAAW,EAAEwV,UAAU,EAAEtV,KAAK,CAQnF,EAAE;IACD,MAAMD,MAAM,GAAGuV,UAAU,CAACC,YAAY,CAACC,sBAAY,CAAC9S,EAAE,CAAC;IACvD,MAAM+S,UAAU,GAAG,IAAI/V,UAAU,CAACE,SAAS,EAAEC,MAAM,EAAEC,WAAW,EAAEC,MAAM,EAAEC,KAAK,CAAC;IAChFqV,GAAG,CAACK,QAAQ,CAAC,KAAIC,kCAAe,EAAClT,KAAK,CAAC,EAAE,KAAImT,sBAAS,EAACH,UAAU,CAAC,CAAC;IACnE,OAAOA,UAAU;EACnB;AACF;AAACI,OAAA,CAAAnW,UAAA,GAAAA,UAAA;AAAAvB,eAAA,CAvwBYuB,UAAU,aA+uBJoW,kBAAW;AAAA3X,eAAA,CA/uBjBuB,UAAU,kBAgvBC,CACpBqW,gBAAS,EACTC,oBAAW,EACXC,4BAAe,EACfC,sBAAY,EACZC,8CAAwB,EACxBC,sBAAY,EACZC,oBAAW,CACZ;AAiBHb,sBAAY,CAACc,UAAU,CAAC5W,UAAU,CAAC;;AAEnC;AACA;AACA;AACA;AACA,SAAS8D,kBAAkBA,CAACC,MAAc,EAAE1C,aAA8B,EAAiB;EACzF,MAAMiB,UAAyB,GAAG,EAAE;EACpCjB,aAAa,CAAC7C,OAAO,CAAEqY,YAAY,IAAK;IACtC,MAAMC,QAAQ,GAAG/S,MAAM,CAACgT,iBAAiB,CAACF,YAAY,EAAE,IAAI,CAAC;IAC7D,IAAIC,QAAQ,CAACE,UAAU,CAAC,CAAC,EAAE1U,UAAU,CAACnE,IAAI,CAAC2Y,QAAQ,CAAC;EACtD,CAAC,CAAC;EACF,OAAOxU,UAAU;AACnB;AAEA,eAAe2S,WAAWA,CAAChT,QAAkB,EAAEe,EAAU,EAAwB;EAC/E;EACA;EACA,IAAI;IACF,OAAOf,QAAQ,CAACgT,WAAW,CAACjS,EAAE,CAAC;EACjC,CAAC,CAAC,OAAOvB,GAAQ,EAAE;IACjB,OAAOQ,QAAQ,CAACc,KAAK,CAACkS,WAAW,CAACjS,EAAE,CAAC;EACvC;AACF;AAEA,SAASJ,4BAA4BA,CAAC+E,IAAU,EAAE;EAChD,MAAMhF,eAAe,GAAGgF,IAAI,CAAChF,eAAsC;EAEnE,MAAMsU,OAAO,GACXtU,eAAe,EAAE8D,IAAI,IACrBkB,IAAI,CAACuP,YAAY,CAACvU,eAAe,CAACK,EAAE,CAAC,IACrC2E,IAAI,CAACwP,gBAAgB,CAACxU,eAAe,CAACK,EAAE,CAAC,EAAE4P,OAAO,CAACjQ,eAAe,EAAE8D,IAAI,CAAC;EAE3E,IAAI,CAACwQ,OAAO,EAAE;IACZ,MAAM,KAAIxU,oBAAQ,EAChB,GAAGkF,IAAI,EAAEjF,IAAI,2BAA2BC,eAAe,CAACK,EAAE;AAChE,0CAA0CL,eAAe,CAACK,EAAE,yDACxD,CAAC;EACH;AACF;AAEA,eAAeS,sBAAsBA,CAACxB,QAAkB,EAAE0F,IAAU,EAAE;EACpE,MAAMyP,WAAW,GAAGnV,QAAQ,CAACmT,gBAAgB,CAAC,CAAC;EAC/C,MAAMiC,aAAa,GAAG1P,IAAI,CAACjF,IAAI,KAAK0U,WAAW,CAAC1U,IAAI;EACpD,IAAI,CAAC2U,aAAa,EAAE;IAClB,MAAM,IAAI5R,KAAK,CACb,wEAAwEkC,IAAI,CAACjF,IAAI,aAAa0U,WAAW,CAAC1U,IAAI,EAChH,CAAC;EACH;EACAT,QAAQ,CAACqV,cAAc,CAAC3P,IAAI,CAAC4P,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC;EAC9CtV,QAAQ,CAACc,KAAK,CAACyU,SAAS,CAACC,iBAAiB,CAAC9P,IAAI,CAACjF,IAAI,CAAC;EACrDiF,IAAI,CAAC7E,KAAK,GAAG,KAAK;AACpB;AAEO,SAASsR,yBAAyBA,CAACnS,QAAkB,EAAE;EAC5D,OAAOA,QAAQ,CAACyV,QAAQ,CAAC,CAAC;AAC5B;AAAC,IAAAC,QAAA,GAAAxB,OAAA,CAAA3Y,OAAA,GAEcwC,UAAU","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.scope_export@1.0.414/dist/export.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.scope_export@1.0.414/dist/export.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.scope_export@1.0.416/dist/export.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.scope_export@1.0.416/dist/export.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];