@teambit/snapping 1.0.407 → 1.0.409
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/artifacts/__bit_junit.xml +7 -7
- package/artifacts/schema.json +1 -1
- package/dist/snap-from-scope.cmd.js +1 -1
- package/dist/snap-from-scope.cmd.js.map +1 -1
- package/dist/snapping.main.runtime.js +1 -1
- package/dist/snapping.main.runtime.js.map +1 -1
- package/package.json +26 -26
- /package/dist/{preview-1726197648951.js → preview-1726584693847.js} +0 -0
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
2
|
<testsuites tests="9" failures="0" errors="0" skipped="1">
|
|
3
|
-
<testsuite name="teambit.component/snapping@1.0.
|
|
4
|
-
<testcase classname="dist/snapping.spec.js" name="tag should throw an ComponentsHaveIssues error" time="0.
|
|
3
|
+
<testsuite name="teambit.component/snapping@1.0.409" tests="9" failures="0" errors="0" skipped="1">
|
|
4
|
+
<testcase classname="dist/snapping.spec.js" name="tag should throw an ComponentsHaveIssues error" time="0.035"/>
|
|
5
5
|
<testcase classname="dist/snapping.spec.js" name="should not throw an error if the config was set to ignore MissingPackagesDependenciesOnFs error">
|
|
6
6
|
<skipped/>
|
|
7
7
|
</testcase>
|
|
8
|
-
<testcase classname="dist/snapping.spec.js" name="should add the new dev dep" time="0.
|
|
8
|
+
<testcase classname="dist/snapping.spec.js" name="should add the new dev dep" time="0.003"/>
|
|
9
9
|
<testcase classname="dist/snapping.spec.js" name="should remove the specified dependency" time="0.001"/>
|
|
10
10
|
<testcase classname="dist/snapping.spec.js" name="should be able to list it"/>
|
|
11
|
-
<testcase classname="dist/snapping.spec.js" name="should be ignored by tag command" time="0.
|
|
12
|
-
<testcase classname="dist/snapping.spec.js" name="should be ignored by snap command" time="0.
|
|
13
|
-
<testcase classname="dist/snapping.spec.js" name="should be ignored when it is an auto-tag candidate" time="0.
|
|
14
|
-
<testcase classname="dist/snapping.spec.js" name="should block setting local-only when a component is staged" time="0.
|
|
11
|
+
<testcase classname="dist/snapping.spec.js" name="should be ignored by tag command" time="0.165"/>
|
|
12
|
+
<testcase classname="dist/snapping.spec.js" name="should be ignored by snap command" time="0.406"/>
|
|
13
|
+
<testcase classname="dist/snapping.spec.js" name="should be ignored when it is an auto-tag candidate" time="0.322"/>
|
|
14
|
+
<testcase classname="dist/snapping.spec.js" name="should block setting local-only when a component is staged" time="0.194"/>
|
|
15
15
|
</testsuite>
|
|
16
16
|
</testsuites>
|
package/artifacts/schema.json
CHANGED
|
@@ -11791,7 +11791,7 @@
|
|
|
11791
11791
|
"componentId": {
|
|
11792
11792
|
"scope": "teambit.component",
|
|
11793
11793
|
"name": "snapping",
|
|
11794
|
-
"version": "1.0.
|
|
11794
|
+
"version": "1.0.409"
|
|
11795
11795
|
},
|
|
11796
11796
|
"taggedModuleExports": []
|
|
11797
11797
|
}
|
|
@@ -58,7 +58,7 @@ an example of the final data: '[{"componentId":"ci.remote2/comp-b","message": "f
|
|
|
58
58
|
_defineProperty(this, "alias", '');
|
|
59
59
|
_defineProperty(this, "options", [['', 'push', 'export the updated objects to the original scopes once done'], ['m', 'message <message>', 'log message describing the latest changes'], ['', 'lane <lane-id>', 'fetch the components from the given lane'], ['', 'build', 'run the build pipeline'], ['', 'skip-tests', 'skip running component tests during snap process'], ['', 'disable-snap-pipeline', 'skip the snap pipeline'], ['', 'ignore-build-errors', 'run the snap pipeline although the build pipeline failed'], ['', 'rebuild-deps-graph', 'do not reuse the saved dependencies graph, instead build it from scratch'], ['i', 'ignore-issues [issues]', `ignore component issues (shown in "bit status" as "issues found"), issues to ignore:
|
|
60
60
|
[${Object.keys(_componentIssues().IssuesClasses).join(', ')}]
|
|
61
|
-
to ignore multiple issues, separate them by a comma and wrap with quotes. to ignore all issues, specify "*".`], ['', 'update-dependents', '
|
|
61
|
+
to ignore multiple issues, separate them by a comma and wrap with quotes. to ignore all issues, specify "*".`], ['', 'update-dependents', 'when snapped on a lane, mark it as update-dependents so it will be skipped from the workspace'], ['j', 'json', 'output as json format']]);
|
|
62
62
|
_defineProperty(this, "loader", true);
|
|
63
63
|
_defineProperty(this, "private", true);
|
|
64
64
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_chalk","data","_interopRequireDefault","require","_componentIssues","_bitError","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","SnapFromScopeCmd","constructor","snapping","logger","keys","IssuesClasses","join","report","options","results","json","snappedIds","exportedIds","snappedOutput","chalk","bold","exportedOutput","length","push","message","lane","ignoreIssues","build","skipTests","disableSnapPipeline","ignoreBuildErrors","rebuildDepsGraph","updateDependents","disableTagAndSnapPipelines","BitError","snapDataPerCompRaw","parseData","snapFromScope","map","id","toString","dataParsed","JSON","parse","err","Error","Array","isArray","forEach","dataItem","componentId","files","file","path","content","Buffer","from","exports"],"sources":["snap-from-scope.cmd.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { IssuesClasses } from '@teambit/component-issues';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { BitError } from '@teambit/bit-error';\nimport { Logger } from '@teambit/logger';\nimport { SnappingMain } from './snapping.main.runtime';\nimport { BasicTagSnapParams } from './tag-model-component';\n\nexport type FileData = { path: string; content: string; delete?: boolean };\n\nexport type SnapDataPerCompRaw = {\n componentId: string;\n dependencies?: string[];\n aspects?: Record<string, any>;\n message?: string;\n files?: FileData[];\n isNew?: boolean;\n mainFile?: string; // relevant when isNew is true. default to \"index.ts\".\n newDependencies?: Array<{\n id: string; // component-id or package-name. e.g. \"teambit.react/react\" or \"lodash\".\n version?: string; // version of the package. e.g. \"2.0.3\". for packages, it is mandatory.\n isComponent?: boolean; // default true. if false, it's a package dependency\n type?: 'runtime' | 'dev' | 'peer'; // default \"runtime\".\n }>;\n removeDependencies?: string[];\n};\n\ntype SnapFromScopeOptions = {\n push?: boolean;\n lane?: string;\n ignoreIssues?: string;\n disableSnapPipeline?: boolean;\n updateDependents?: boolean;\n} & BasicTagSnapParams;\n\nexport class SnapFromScopeCmd implements Command {\n name = '_snap <data>';\n description = 'snap components from a bare-scope';\n extendedDescription = `this command should be running from a new bare scope, it first imports the components it needs and then processes the snap.\nthe input data is a stringified JSON of an array of the following object.\n{\n componentId: string; // ids always have scope, so it's safe to parse them from string\n dependencies?: string[]; // dependencies include versions. for components use component-id. e.g. [teambit.compilation/compiler@1.0.0, lodash@4.17.21]\n aspects?: Record<string,any> // e.g. { \"teambit.react/react\": {}, \"teambit.envs/envs\": { \"env\": \"teambit.react/react\" } }\n message?: string; // tag-message.\n files?: Array<{path: string, content: string}>; // replace content of specified source-files. the content is base64 encoded.\n isNew?: boolean; // if it's new, it'll be generated from the given files. otherwise, it'll be fetched from the scope and updated.\n mainFile?: string; // relevant when isNew is true. default to \"index.ts\".\n newDependencies?: Array<{ // new dependencies (components and packages) to add.\n id: string; // component-id or package-name. e.g. \"teambit.react/react\" or \"lodash\".\n version?: string; // version of the package. e.g. \"2.0.3\". for packages, it is mandatory.\n isComponent?: boolean; // default true. if false, it's a package dependency\n type?: 'runtime' | 'dev' | 'peer'; // default \"runtime\".\n }>;\n removeDependencies?: string[]; // component-id (for components) or package-name (for packages) to remove from the dependencies.\n}\nan example of the final data: '[{\"componentId\":\"ci.remote2/comp-b\",\"message\": \"first snap\"}]'\n`;\n alias = '';\n options = [\n ['', 'push', 'export the updated objects to the original scopes once done'],\n ['m', 'message <message>', 'log message describing the latest changes'],\n ['', 'lane <lane-id>', 'fetch the components from the given lane'],\n ['', 'build', 'run the build pipeline'],\n ['', 'skip-tests', 'skip running component tests during snap process'],\n ['', 'disable-snap-pipeline', 'skip the snap pipeline'],\n ['', 'ignore-build-errors', 'run the snap pipeline although the build pipeline failed'],\n ['', 'rebuild-deps-graph', 'do not reuse the saved dependencies graph, instead build it from scratch'],\n [\n 'i',\n 'ignore-issues [issues]',\n `ignore component issues (shown in \"bit status\" as \"issues found\"), issues to ignore:\n[${Object.keys(IssuesClasses).join(', ')}]\nto ignore multiple issues, separate them by a comma and wrap with quotes. to ignore all issues, specify \"*\".`,\n ],\n [\n '',\n 'update-dependents',\n 'EXPERIMENTAL. when snapped on a lane, mark it as update-dependents so it will be skipped from the workspace',\n ],\n ['j', 'json', 'output as json format'],\n ] as CommandOptions;\n loader = true;\n private = true;\n\n constructor(private snapping: SnappingMain, private logger: Logger) {}\n\n async report([data]: [string], options: SnapFromScopeOptions) {\n const results = await this.json([data], options);\n\n const { snappedIds, exportedIds } = results;\n\n const snappedOutput = `${chalk.bold('snapped components')}\\n${snappedIds.join('\\n')}`;\n const exportedOutput =\n exportedIds && exportedIds.length ? `\\n\\n${chalk.bold('exported components')}\\n${exportedIds.join('\\n')}` : '';\n\n return `${snappedOutput}${exportedOutput}`;\n }\n async json(\n [data]: [string],\n {\n push = false,\n message = '',\n lane,\n ignoreIssues,\n build = false,\n skipTests = false,\n disableSnapPipeline = false,\n ignoreBuildErrors = false,\n rebuildDepsGraph,\n updateDependents,\n }: SnapFromScopeOptions\n ) {\n const disableTagAndSnapPipelines = disableSnapPipeline;\n if (disableTagAndSnapPipelines && ignoreBuildErrors) {\n throw new BitError('you can use either ignore-build-errors or disable-snap-pipeline, but not both');\n }\n if (updateDependents && !lane) {\n throw new BitError('update-dependents flag is only available when snapping from a lane');\n }\n\n const snapDataPerCompRaw = this.parseData(data);\n\n const results = await this.snapping.snapFromScope(snapDataPerCompRaw, {\n push,\n message,\n lane,\n ignoreIssues,\n build,\n skipTests,\n disableTagAndSnapPipelines,\n ignoreBuildErrors,\n rebuildDepsGraph,\n updateDependents,\n });\n\n return {\n exportedIds: results.exportedIds?.map((id) => id.toString()),\n snappedIds: results.snappedIds.map((id) => id.toString()),\n };\n }\n private parseData(data: string): SnapDataPerCompRaw[] {\n let dataParsed: unknown;\n try {\n dataParsed = JSON.parse(data);\n } catch (err: any) {\n throw new Error(`failed parsing the data entered as JSON. err ${err.message}`);\n }\n if (!Array.isArray(dataParsed)) {\n throw new Error('expect data to be an array');\n }\n dataParsed.forEach((dataItem) => {\n if (!dataItem.componentId) throw new Error('expect data item to have \"componentId\" prop');\n dataItem.files?.forEach((file) => {\n if (!file.path) throw new Error('expect file to have \"path\" prop');\n if (file.content) {\n file.content = Buffer.from(file.content, 'base64').toString();\n }\n });\n });\n\n return dataParsed;\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,iBAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,gBAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAI,UAAA;EAAA,MAAAJ,IAAA,GAAAE,OAAA;EAAAE,SAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA8C,SAAAC,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,gBAAAH,CAAA,EAAAI,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAE,cAAA,CAAAF,CAAA,MAAAJ,CAAA,GAAAO,MAAA,CAAAC,cAAA,CAAAR,CAAA,EAAAI,CAAA,IAAAK,KAAA,EAAAJ,CAAA,EAAAK,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAZ,CAAA,CAAAI,CAAA,IAAAC,CAAA,EAAAL,CAAA;AAAA,SAAAM,eAAAD,CAAA,QAAAQ,CAAA,GAAAC,YAAA,CAAAT,CAAA,uCAAAQ,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAT,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAL,CAAA,GAAAK,CAAA,CAAAU,MAAA,CAAAC,WAAA,kBAAAhB,CAAA,QAAAa,CAAA,GAAAb,CAAA,CAAAiB,IAAA,CAAAZ,CAAA,EAAAD,CAAA,uCAAAS,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAAd,CAAA,GAAAe,MAAA,GAAAC,MAAA,EAAAf,CAAA;AAgCvC,MAAMgB,gBAAgB,CAAoB;EAkD/CC,WAAWA,CAASC,QAAsB,EAAUC,MAAc,EAAE;IAAA,KAAhDD,QAAsB,GAAtBA,QAAsB;IAAA,KAAUC,MAAc,GAAdA,MAAc;IAAArB,eAAA,eAjD3D,cAAc;IAAAA,eAAA,sBACP,mCAAmC;IAAAA,eAAA,8BAC3B;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;IAAAA,eAAA,gBACS,EAAE;IAAAA,eAAA,kBACA,CACR,CAAC,EAAE,EAAE,MAAM,EAAE,6DAA6D,CAAC,EAC3E,CAAC,GAAG,EAAE,mBAAmB,EAAE,2CAA2C,CAAC,EACvE,CAAC,EAAE,EAAE,gBAAgB,EAAE,0CAA0C,CAAC,EAClE,CAAC,EAAE,EAAE,OAAO,EAAE,wBAAwB,CAAC,EACvC,CAAC,EAAE,EAAE,YAAY,EAAE,kDAAkD,CAAC,EACtE,CAAC,EAAE,EAAE,uBAAuB,EAAE,wBAAwB,CAAC,EACvD,CAAC,EAAE,EAAE,qBAAqB,EAAE,0DAA0D,CAAC,EACvF,CAAC,EAAE,EAAE,oBAAoB,EAAE,0EAA0E,CAAC,EACtG,CACE,GAAG,EACH,wBAAwB,EACxB;AACN,GAAGI,MAAM,CAACkB,IAAI,CAACC,gCAAa,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC;AACxC,6GAA6G,CACxG,EACD,CACE,EAAE,EACF,mBAAmB,EACnB,6GAA6G,CAC9G,EACD,CAAC,GAAG,EAAE,MAAM,EAAE,uBAAuB,CAAC,CACvC;IAAAxB,eAAA,iBACQ,IAAI;IAAAA,eAAA,kBACH,IAAI;EAEuD;EAErE,MAAMyB,MAAMA,CAAC,CAACjC,IAAI,CAAW,EAAEkC,OAA6B,EAAE;IAC5D,MAAMC,OAAO,GAAG,MAAM,IAAI,CAACC,IAAI,CAAC,CAACpC,IAAI,CAAC,EAAEkC,OAAO,CAAC;IAEhD,MAAM;MAAEG,UAAU;MAAEC;IAAY,CAAC,GAAGH,OAAO;IAE3C,MAAMI,aAAa,GAAG,GAAGC,gBAAK,CAACC,IAAI,CAAC,oBAAoB,CAAC,KAAKJ,UAAU,CAACL,IAAI,CAAC,IAAI,CAAC,EAAE;IACrF,MAAMU,cAAc,GAClBJ,WAAW,IAAIA,WAAW,CAACK,MAAM,GAAG,OAAOH,gBAAK,CAACC,IAAI,CAAC,qBAAqB,CAAC,KAAKH,WAAW,CAACN,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE;IAEhH,OAAO,GAAGO,aAAa,GAAGG,cAAc,EAAE;EAC5C;EACA,MAAMN,IAAIA,CACR,CAACpC,IAAI,CAAW,EAChB;IACE4C,IAAI,GAAG,KAAK;IACZC,OAAO,GAAG,EAAE;IACZC,IAAI;IACJC,YAAY;IACZC,KAAK,GAAG,KAAK;IACbC,SAAS,GAAG,KAAK;IACjBC,mBAAmB,GAAG,KAAK;IAC3BC,iBAAiB,GAAG,KAAK;IACzBC,gBAAgB;IAChBC;EACoB,CAAC,EACvB;IACA,MAAMC,0BAA0B,GAAGJ,mBAAmB;IACtD,IAAII,0BAA0B,IAAIH,iBAAiB,EAAE;MACnD,MAAM,KAAII,oBAAQ,EAAC,+EAA+E,CAAC;IACrG;IACA,IAAIF,gBAAgB,IAAI,CAACP,IAAI,EAAE;MAC7B,MAAM,KAAIS,oBAAQ,EAAC,oEAAoE,CAAC;IAC1F;IAEA,MAAMC,kBAAkB,GAAG,IAAI,CAACC,SAAS,CAACzD,IAAI,CAAC;IAE/C,MAAMmC,OAAO,GAAG,MAAM,IAAI,CAACP,QAAQ,CAAC8B,aAAa,CAACF,kBAAkB,EAAE;MACpEZ,IAAI;MACJC,OAAO;MACPC,IAAI;MACJC,YAAY;MACZC,KAAK;MACLC,SAAS;MACTK,0BAA0B;MAC1BH,iBAAiB;MACjBC,gBAAgB;MAChBC;IACF,CAAC,CAAC;IAEF,OAAO;MACLf,WAAW,EAAEH,OAAO,CAACG,WAAW,EAAEqB,GAAG,CAAEC,EAAE,IAAKA,EAAE,CAACC,QAAQ,CAAC,CAAC,CAAC;MAC5DxB,UAAU,EAAEF,OAAO,CAACE,UAAU,CAACsB,GAAG,CAAEC,EAAE,IAAKA,EAAE,CAACC,QAAQ,CAAC,CAAC;IAC1D,CAAC;EACH;EACQJ,SAASA,CAACzD,IAAY,EAAwB;IACpD,IAAI8D,UAAmB;IACvB,IAAI;MACFA,UAAU,GAAGC,IAAI,CAACC,KAAK,CAAChE,IAAI,CAAC;IAC/B,CAAC,CAAC,OAAOiE,GAAQ,EAAE;MACjB,MAAM,IAAIC,KAAK,CAAC,gDAAgDD,GAAG,CAACpB,OAAO,EAAE,CAAC;IAChF;IACA,IAAI,CAACsB,KAAK,CAACC,OAAO,CAACN,UAAU,CAAC,EAAE;MAC9B,MAAM,IAAII,KAAK,CAAC,4BAA4B,CAAC;IAC/C;IACAJ,UAAU,CAACO,OAAO,CAAEC,QAAQ,IAAK;MAC/B,IAAI,CAACA,QAAQ,CAACC,WAAW,EAAE,MAAM,IAAIL,KAAK,CAAC,6CAA6C,CAAC;MACzFI,QAAQ,CAACE,KAAK,EAAEH,OAAO,CAAEI,IAAI,IAAK;QAChC,IAAI,CAACA,IAAI,CAACC,IAAI,EAAE,MAAM,IAAIR,KAAK,CAAC,iCAAiC,CAAC;QAClE,IAAIO,IAAI,CAACE,OAAO,EAAE;UAChBF,IAAI,CAACE,OAAO,GAAGC,MAAM,CAACC,IAAI,CAACJ,IAAI,CAACE,OAAO,EAAE,QAAQ,CAAC,CAACd,QAAQ,CAAC,CAAC;QAC/D;MACF,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,OAAOC,UAAU;EACnB;AACF;AAACgB,OAAA,CAAApD,gBAAA,GAAAA,gBAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_chalk","data","_interopRequireDefault","require","_componentIssues","_bitError","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","SnapFromScopeCmd","constructor","snapping","logger","keys","IssuesClasses","join","report","options","results","json","snappedIds","exportedIds","snappedOutput","chalk","bold","exportedOutput","length","push","message","lane","ignoreIssues","build","skipTests","disableSnapPipeline","ignoreBuildErrors","rebuildDepsGraph","updateDependents","disableTagAndSnapPipelines","BitError","snapDataPerCompRaw","parseData","snapFromScope","map","id","toString","dataParsed","JSON","parse","err","Error","Array","isArray","forEach","dataItem","componentId","files","file","path","content","Buffer","from","exports"],"sources":["snap-from-scope.cmd.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { IssuesClasses } from '@teambit/component-issues';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { BitError } from '@teambit/bit-error';\nimport { Logger } from '@teambit/logger';\nimport { SnappingMain } from './snapping.main.runtime';\nimport { BasicTagSnapParams } from './tag-model-component';\n\nexport type FileData = { path: string; content: string; delete?: boolean };\n\nexport type SnapDataPerCompRaw = {\n componentId: string;\n dependencies?: string[];\n aspects?: Record<string, any>;\n message?: string;\n files?: FileData[];\n isNew?: boolean;\n mainFile?: string; // relevant when isNew is true. default to \"index.ts\".\n newDependencies?: Array<{\n id: string; // component-id or package-name. e.g. \"teambit.react/react\" or \"lodash\".\n version?: string; // version of the package. e.g. \"2.0.3\". for packages, it is mandatory.\n isComponent?: boolean; // default true. if false, it's a package dependency\n type?: 'runtime' | 'dev' | 'peer'; // default \"runtime\".\n }>;\n removeDependencies?: string[];\n};\n\ntype SnapFromScopeOptions = {\n push?: boolean;\n lane?: string;\n ignoreIssues?: string;\n disableSnapPipeline?: boolean;\n updateDependents?: boolean;\n} & BasicTagSnapParams;\n\nexport class SnapFromScopeCmd implements Command {\n name = '_snap <data>';\n description = 'snap components from a bare-scope';\n extendedDescription = `this command should be running from a new bare scope, it first imports the components it needs and then processes the snap.\nthe input data is a stringified JSON of an array of the following object.\n{\n componentId: string; // ids always have scope, so it's safe to parse them from string\n dependencies?: string[]; // dependencies include versions. for components use component-id. e.g. [teambit.compilation/compiler@1.0.0, lodash@4.17.21]\n aspects?: Record<string,any> // e.g. { \"teambit.react/react\": {}, \"teambit.envs/envs\": { \"env\": \"teambit.react/react\" } }\n message?: string; // tag-message.\n files?: Array<{path: string, content: string}>; // replace content of specified source-files. the content is base64 encoded.\n isNew?: boolean; // if it's new, it'll be generated from the given files. otherwise, it'll be fetched from the scope and updated.\n mainFile?: string; // relevant when isNew is true. default to \"index.ts\".\n newDependencies?: Array<{ // new dependencies (components and packages) to add.\n id: string; // component-id or package-name. e.g. \"teambit.react/react\" or \"lodash\".\n version?: string; // version of the package. e.g. \"2.0.3\". for packages, it is mandatory.\n isComponent?: boolean; // default true. if false, it's a package dependency\n type?: 'runtime' | 'dev' | 'peer'; // default \"runtime\".\n }>;\n removeDependencies?: string[]; // component-id (for components) or package-name (for packages) to remove from the dependencies.\n}\nan example of the final data: '[{\"componentId\":\"ci.remote2/comp-b\",\"message\": \"first snap\"}]'\n`;\n alias = '';\n options = [\n ['', 'push', 'export the updated objects to the original scopes once done'],\n ['m', 'message <message>', 'log message describing the latest changes'],\n ['', 'lane <lane-id>', 'fetch the components from the given lane'],\n ['', 'build', 'run the build pipeline'],\n ['', 'skip-tests', 'skip running component tests during snap process'],\n ['', 'disable-snap-pipeline', 'skip the snap pipeline'],\n ['', 'ignore-build-errors', 'run the snap pipeline although the build pipeline failed'],\n ['', 'rebuild-deps-graph', 'do not reuse the saved dependencies graph, instead build it from scratch'],\n [\n 'i',\n 'ignore-issues [issues]',\n `ignore component issues (shown in \"bit status\" as \"issues found\"), issues to ignore:\n[${Object.keys(IssuesClasses).join(', ')}]\nto ignore multiple issues, separate them by a comma and wrap with quotes. to ignore all issues, specify \"*\".`,\n ],\n [\n '',\n 'update-dependents',\n 'when snapped on a lane, mark it as update-dependents so it will be skipped from the workspace',\n ],\n ['j', 'json', 'output as json format'],\n ] as CommandOptions;\n loader = true;\n private = true;\n\n constructor(private snapping: SnappingMain, private logger: Logger) {}\n\n async report([data]: [string], options: SnapFromScopeOptions) {\n const results = await this.json([data], options);\n\n const { snappedIds, exportedIds } = results;\n\n const snappedOutput = `${chalk.bold('snapped components')}\\n${snappedIds.join('\\n')}`;\n const exportedOutput =\n exportedIds && exportedIds.length ? `\\n\\n${chalk.bold('exported components')}\\n${exportedIds.join('\\n')}` : '';\n\n return `${snappedOutput}${exportedOutput}`;\n }\n async json(\n [data]: [string],\n {\n push = false,\n message = '',\n lane,\n ignoreIssues,\n build = false,\n skipTests = false,\n disableSnapPipeline = false,\n ignoreBuildErrors = false,\n rebuildDepsGraph,\n updateDependents,\n }: SnapFromScopeOptions\n ) {\n const disableTagAndSnapPipelines = disableSnapPipeline;\n if (disableTagAndSnapPipelines && ignoreBuildErrors) {\n throw new BitError('you can use either ignore-build-errors or disable-snap-pipeline, but not both');\n }\n if (updateDependents && !lane) {\n throw new BitError('update-dependents flag is only available when snapping from a lane');\n }\n\n const snapDataPerCompRaw = this.parseData(data);\n\n const results = await this.snapping.snapFromScope(snapDataPerCompRaw, {\n push,\n message,\n lane,\n ignoreIssues,\n build,\n skipTests,\n disableTagAndSnapPipelines,\n ignoreBuildErrors,\n rebuildDepsGraph,\n updateDependents,\n });\n\n return {\n exportedIds: results.exportedIds?.map((id) => id.toString()),\n snappedIds: results.snappedIds.map((id) => id.toString()),\n };\n }\n private parseData(data: string): SnapDataPerCompRaw[] {\n let dataParsed: unknown;\n try {\n dataParsed = JSON.parse(data);\n } catch (err: any) {\n throw new Error(`failed parsing the data entered as JSON. err ${err.message}`);\n }\n if (!Array.isArray(dataParsed)) {\n throw new Error('expect data to be an array');\n }\n dataParsed.forEach((dataItem) => {\n if (!dataItem.componentId) throw new Error('expect data item to have \"componentId\" prop');\n dataItem.files?.forEach((file) => {\n if (!file.path) throw new Error('expect file to have \"path\" prop');\n if (file.content) {\n file.content = Buffer.from(file.content, 'base64').toString();\n }\n });\n });\n\n return dataParsed;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1143,7 +1143,7 @@ another option, in case this dependency is not in main yet is to remove all refe
|
|
|
1143
1143
|
const component = consumerComponent.modelComponent || (
|
|
1144
1144
|
// @todo: fix the ts error here with "source"
|
|
1145
1145
|
await this.scope.legacyScope.sources.findOrAddComponent(consumerComponent));
|
|
1146
|
-
const version = await component.loadVersion(consumerComponent.id.version, this.objectsRepo, true
|
|
1146
|
+
const version = await component.loadVersion(consumerComponent.id.version, this.objectsRepo, true);
|
|
1147
1147
|
if (modifiedLog) version.addModifiedLog(modifiedLog);
|
|
1148
1148
|
const artifactFiles = (0, _component().getArtifactsFiles)(consumerComponent.extensions);
|
|
1149
1149
|
const artifacts = this.transformArtifactsFromVinylToSource(artifactFiles);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_cli","data","require","_graph","_getFlattenedDependencies","_workspace","_semver","_interopRequireDefault","_lodash","_componentId","_constants","_legacy","_pMapSeries","_loader","_componentsPendingImport","_logger","_bitError","_pMap","_insights","_pkgModules","_harmonyModules","_scope","_issues","_dependencyResolver","_config","_builder","_laneId","_importer","_export","_unmergedComponents","_componentVersion","_objects","_globalConfig","_component","_exceptions","_dependencies","_snapCmd","_snapping","_tagCmd","_resetCmd","_tagModelComponent","_tagFromScope","_snapFromScope","_generateCompFromScope","_flattenedEdges","_snapDistanceCmd","_resetComponent","_application","_legacy2","_lanesModules","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","SnappingMain","constructor","workspace","logger","issues","insights","dependencyResolver","scope","exporter","builder","importer","deps","application","objectsRepo","legacyScope","objects","tag","ids","message","version","editor","snapped","unmerged","releaseType","preReleaseId","ignoreIssues","ignoreNewestVersion","skipTests","skipTasks","skipAutoTag","build","unmodified","soft","persist","ignoreBuildErrors","rebuildDepsGraph","incrementBy","disableTagAndSnapPipelines","failFast","BitError","exactVersion","OutsideWorkspaceError","validExactVersion","validateVersion","consumer","componentsList","ComponentsList","loader","start","newComponents","listNewComponents","bitIds","warnings","getComponentsToTag","compIds","ComponentIdList","fromArray","debug","toString","components","loadComponentsForTagOrSnap","consumerComponents","map","c","state","_consumer","throwForVariousIssues","taggedComponents","autoTaggedResults","publishedPackages","stagedConfig","removedComponents","tagModelComponent","snapping","packageManagerConfigRootDir","path","exitOnFirstFailedTask","tagResults","isSoftTag","onDestroy","write","tagFromScope","tagDataPerCompRaw","params","tagDataPerComp","Promise","all","tagData","componentId","resolveComponentId","dependencies","resolveMultipleComponentIds","versionToTag","prereleaseId","componentIds","import","reason","compact","flat","dep","changeVersion","LATEST","additionalComponentIdsToFetch","id","hasVersion","modelComp","getBitObjectModelComponent","Error","head","getRef","isEqual","useCache","filteredDependencies","hasWithoutVersion","d","getCompIdWithExactVersionAccordingToSemver","getMany","comp","find","ignoreVersion","updateDependenciesVersionsOfComponent","loadManyCompsAspects","shouldUsePopulateArtifactsFrom","every","buildStatus","BuildStatus","Succeed","rebuildArtifacts","results","populateArtifactsFrom","undefined","copyLogFromPreviousSnap","exportedIds","exported","exportMany","idsWithFutureScope","allVersions","exportOrigin","snapFromScope","snapDataPerCompRaw","lane","laneIdStr","laneId","LaneId","parse","importLaneObject","err","name","LaneNotFound","createLaneInScope","setCurrentLaneId","scopeImporter","shouldOnlyFetchFromCurrentLane","laneCompIds","toComponentIdsIncludeUpdateDependents","snapDataPerComp","snapData","ComponentID","fromString","aspects","files","isNew","mainFile","newDependencies","isComponent","type","removeDependencies","allCompIds","s","componentIdsLatest","newCompsData","newComp","generateCompFromScope","preferDependencyGraph","getSnapData","existingComponents","updateDependents","getComponentDependencies","fromLane","searchWithoutVersion","pMapSeries","component","addDeps","addAspectsFromConfigObject","updateSourceFiles","executeOnCompAspectReCalcSlot","isSnap","updateDependentsOnLane","updatedLane","loadLane","toLaneId","laneObject","exportHeadsOnly","snappedComponents","snappedIds","snap","pattern","legacyBitIds","skipAutoSnap","self","getIdsToSnap","snapResults","autoSnappedResults","currentLane","getCurrentLaneId","laneName","isDefault","listDuringMergeStateComponents","tagPendingComponentsIds","getTagPendingComponentsIds","shouldThrowForNoMatching","getCompIds","includes","compId","filterIdsFromPoolIdsByPattern","allTagPending","listPotentialTagIds","reset","componentPattern","force","getCurrentLaneObject","untag","removeLocalVersionsForAllComponents","candidateComponents","getComponentsWithOptionToUntag","idsMatchingPattern","idsByPattern","includeDeleted","idsMatchingPatternBitIds","componentsToUntag","modelComponent","toComponentId","removeLocalVersionsForMultipleComponents","softUntag","softTaggedComponentsIds","bySoftTagged","idsToRemoveSoftTags","componentMap","bitMap","getComponent","removedVersion","nextVersion","clearNextVersion","versions","isRealUntag","result","updateComponentsVersions","markAsChanged","isSoftUntag","resetNeverExported","notExported","getNotExportedIds","hashes","BitObject","makeHash","fullName","deleteObjectsFromFS","h","Ref","from","updateComponentId","_addFlattenedDependenciesToComponents","profile","getLane","forkedFrom","flattenedDependenciesGetter","FlattenedDependenciesGetter","populateFlattenedDependencies","stop","_addFlattenedDepsGraphToComponents","flattenedEdgesGetter","FlattenedEdgesGetter","buildGraph","populateFlattenedAndEdgesForComp","throwForDepsFromAnotherLane","allIds","missingDeps","throwForDepsFromAnotherLaneForComp","flattenedMissingDeps","uniqFromArray","importWithoutDeps","cache","ignoreMissingHead","includeVersionHistory","componentsToCheck","isDeleted","throwForLegacyDependenciesInsideHarmony","throwForComponentIssues","throwForPendingImport","throwForMissingObjects","depsFromModel","componentFromModel","getAllDependencies","depsFromModelIds","isExported","isTag","has","isPartOfHistory","isPartOfLaneHistoryOrMain","isPartOfMainHistory","VersionNotFound","ComponentNotFound","HeadNotFound","ParentNotFound","laneOrMainStr","toStringWithoutVersion","graph","Graph","addEdges","label","get","setNode","Node","setEdge","Edge","devDependencies","extensionDependencies","allFlattened","flattenedDependencies","allFlattenedUniq","allFlattenedWithoutCurrent","componentsAndVersions","getComponentsAndVersions","versionStr","someCompsHaveMissingFlattened","edges","outEdges","flattenedEdges","allEdges","edgesWithBitIds","edge","source","node","attr","target","flattened","flattenedFromEdges","uniq","missingFlattened","difference","warn","join","missingBitIds","_updateComponentsByTagResult","tagResult","matchingComponent","existingBuilder","extensions","findCoreExtension","Extensions","builderData","_getPublishedPackages","builderExt","pkgData","aspectsData","a","aspectId","pkg","publishedPackage","_addCompToObjects","shouldValidateVersion","_addCompFromScopeToObjects","unmergedComponent","unmergedComponents","getEntry","unrelated","hash","previouslyUsedVersion","unrelatedHead","setUnrelated","addAsOnlyParent","unrelatedLaneId","headOnCurrentLane","addParent","log","UnmergedComponents","buildSnapMessage","removeComponent","validate","objectRepo","sources","findOrAddComponent","artifactFiles","getArtifactsFiles","artifacts","transformArtifactsFromVinylToSource","consumerComponentToVersion","origin","defaultScope","add","addVersion","file","_enrichComp","consumerComponent","modifiedLog","_getObjectsToEnrichComp","obj","loadVersion","addModifiedLog","artifactObjects","artifactsFiles","artifactsSource","ArtifactFiles","fromVinylsToSources","vinyls","populateRefsFromSources","shouldClearCacheFirst","idsWithoutVersions","appIds","loadAllAppsAsAspects","componentFsCache","deleteAllDependenciesDataCache","clearAllComponentsCache","clearComponentCache","componentsMissingFromScope","ComponentsPendingImport","throwForComponent","dependenciesIds","getAllDependenciesIds","depId","getModelComponentIfExist","isLegacy","pMap","concurrency","concurrentComponentsLimit","isHash","range","getExactVersionBySemverRange","currentFiles","filesystem","delete","index","findIndex","f","splice","currentFile","contents","Buffer","content","SourceFile","base","test","currentBitIds","updatedIds","componentIdStr","legacyComponent","dependenciesList","getDependencies","updatedBitId","depIdStr","packageName","findDependency","getPackageName","UpdateDepsAspectsSaveIntoDepsResolver","toStringArray","ext","extId","extensionId","found","startsWith","updatedExtId","newExtensionId","createAspectListFromExtensionDataList","dependenciesListSerialized","extractDepsFromLegacy","serialize","DependencyResolverAspect","existingExtension","config","findExtension","assign","extension","ExtensionDataEntry","includeUnmodified","listTagPendingIds","localOnlyIds","byLocalOnly","localOnlyListIds","softTaggedComponents","snappedComponentsIds","bySnappedOnMain","idWithoutVer","split","idIsPattern","isPattern","componentStatus","getComponentStatusById","modified","tagPendingBitIdsIncludeSnapped","tagPendingComponentsLatest","latestVersions","semver","valid","gt","provider","cli","loggerMain","globalConfig","createLogger","SnappingAspect","snapCmd","SnapCmd","tagCmd","TagCmd","tagFromScopeCmd","TagFromScopeCmd","snapFromScopeCmd","SnapFromScopeCmd","resetCmd","ResetCmd","snapDistanceCmd","SnapDistanceCmd","register","exports","WorkspaceAspect","CLIAspect","LoggerAspect","IssuesAspect","InsightsAspect","ScopeAspect","ExportAspect","BuilderAspect","ImporterAspect","GlobalConfigAspect","DependenciesAspect","ApplicationAspect","MainRuntime","addRuntime","_default"],"sources":["snapping.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { Graph, Node, Edge } from '@teambit/graph.cleargraph';\nimport { LegacyOnTagResult } from '@teambit/legacy/dist/scope/scope';\nimport { FlattenedDependenciesGetter } from '@teambit/legacy/dist/scope/component-ops/get-flattened-dependencies';\nimport { WorkspaceAspect, OutsideWorkspaceError, Workspace } from '@teambit/workspace';\nimport semver, { ReleaseType } from 'semver';\nimport { compact, difference, uniq } from 'lodash';\nimport { ComponentID, ComponentIdList } from '@teambit/component-id';\nimport { Extensions, LATEST, BuildStatus } from '@teambit/legacy/dist/constants';\nimport { Consumer } from '@teambit/legacy/dist/consumer';\nimport { ComponentsList } from '@teambit/legacy.component-list';\nimport pMapSeries from 'p-map-series';\nimport loader from '@teambit/legacy/dist/cli/loader';\nimport ComponentsPendingImport from '@teambit/legacy/dist/consumer/exceptions/components-pending-import';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { BitError } from '@teambit/bit-error';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component/consumer-component';\nimport pMap from 'p-map';\nimport { InsightsAspect, InsightsMain } from '@teambit/insights';\nimport { validateVersion } from '@teambit/pkg.modules.semver-helper';\nimport { concurrentComponentsLimit } from '@teambit/harmony.modules.concurrency';\nimport { ScopeAspect, ScopeMain } from '@teambit/scope';\nimport { Lane, ModelComponent } from '@teambit/legacy/dist/scope/models';\nimport { IssuesAspect, IssuesMain } from '@teambit/issues';\nimport { Component } from '@teambit/component';\nimport { DependencyResolverAspect, DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { ExtensionDataEntry } from '@teambit/legacy/dist/consumer/config';\nimport { BuilderAspect, BuilderMain } from '@teambit/builder';\nimport { LaneId } from '@teambit/lane-id';\nimport { ImporterAspect, ImporterMain } from '@teambit/importer';\nimport { ExportAspect, ExportMain } from '@teambit/export';\nimport UnmergedComponents from '@teambit/legacy/dist/scope/lanes/unmerged-components';\nimport { isHash, isTag } from '@teambit/component-version';\nimport { BitObject, Ref, Repository } from '@teambit/legacy/dist/scope/objects';\nimport { GlobalConfigAspect, GlobalConfigMain } from '@teambit/global-config';\nimport { ArtifactFiles, ArtifactSource, getArtifactsFiles, SourceFile } from '@teambit/component.sources';\nimport {\n VersionNotFound,\n ComponentNotFound,\n HeadNotFound,\n ParentNotFound,\n} from '@teambit/legacy/dist/scope/exceptions';\nimport { AutoTagResult } from '@teambit/legacy/dist/scope/component-ops/auto-tag';\nimport { DependenciesAspect, DependenciesMain } from '@teambit/dependencies';\nimport Version, { DepEdge, DepEdgeType, Log } from '@teambit/legacy/dist/scope/models/version';\nimport { SnapCmd } from './snap-cmd';\nimport { SnappingAspect } from './snapping.aspect';\nimport { TagCmd } from './tag-cmd';\nimport ResetCmd from './reset-cmd';\nimport { tagModelComponent, updateComponentsVersions, BasicTagParams, BasicTagSnapParams } from './tag-model-component';\nimport { TagDataPerCompRaw, TagFromScopeCmd } from './tag-from-scope.cmd';\nimport { SnapDataPerCompRaw, SnapFromScopeCmd, FileData } from './snap-from-scope.cmd';\nimport { addDeps, generateCompFromScope } from './generate-comp-from-scope';\nimport { FlattenedEdgesGetter } from './flattened-edges';\nimport { SnapDistanceCmd } from './snap-distance-cmd';\nimport {\n removeLocalVersionsForAllComponents,\n untagResult,\n getComponentsWithOptionToUntag,\n removeLocalVersionsForMultipleComponents,\n} from './reset-component';\nimport { ApplicationAspect, ApplicationMain } from '@teambit/application';\nimport { LaneNotFound } from '@teambit/legacy.scope-api';\nimport { createLaneInScope } from '@teambit/lanes.modules.create-lane';\n\nexport type TagDataPerComp = {\n componentId: ComponentID;\n dependencies: ComponentID[];\n versionToTag?: string; // must be set for tag. undefined for snap.\n prereleaseId?: string;\n message?: string;\n isNew?: boolean;\n};\n\nexport type SnapDataParsed = {\n componentId: ComponentID;\n dependencies: string[];\n aspects?: Record<string, any>;\n message?: string;\n files?: FileData[];\n isNew?: boolean;\n newDependencies?: {\n id: string; // component-id or package-name.\n version?: string; // for packages, it is mandatory.\n isComponent: boolean;\n type: 'runtime' | 'dev' | 'peer';\n }[];\n removeDependencies?: string[];\n};\n\nexport type SnapResults = BasicTagResults & {\n snappedComponents: ConsumerComponent[];\n autoSnappedResults: AutoTagResult[];\n laneName: string | null; // null if default\n};\n\nexport type SnapFromScopeResults = {\n snappedIds: ComponentID[];\n exportedIds?: ComponentID[];\n snappedComponents: ConsumerComponent[];\n};\n\nexport type TagResults = BasicTagResults & {\n taggedComponents: ConsumerComponent[];\n autoTaggedResults: AutoTagResult[];\n isSoftTag: boolean;\n publishedPackages: string[];\n exportedIds?: ComponentIdList; // relevant only for tag-from-scope when --push is used\n};\n\nexport type BasicTagResults = {\n warnings: string[];\n newComponents: ComponentIdList;\n removedComponents?: ComponentIdList;\n};\n\nexport class SnappingMain {\n private objectsRepo: Repository;\n constructor(\n private workspace: Workspace,\n private logger: Logger,\n private issues: IssuesMain,\n private insights: InsightsMain,\n private dependencyResolver: DependencyResolverMain,\n private scope: ScopeMain,\n private exporter: ExportMain,\n private builder: BuilderMain,\n private importer: ImporterMain,\n private deps: DependenciesMain,\n private application: ApplicationMain\n ) {\n this.objectsRepo = this.scope?.legacyScope?.objects;\n }\n\n /**\n * tag the given component ids or all modified/new components if \"all\" param is set.\n * tag is a similar operation as a snap, which saves the changes into the local scope, but it also creates an alias\n * with a valid semver to that version.\n * tag can be done only on main, not on a lane.\n */\n // eslint-disable-next-line complexity\n async tag({\n ids = [],\n message = '',\n version,\n editor = '',\n snapped = false,\n unmerged = false,\n releaseType,\n preReleaseId,\n ignoreIssues,\n ignoreNewestVersion = false,\n skipTests = false,\n skipTasks,\n skipAutoTag = false,\n build,\n unmodified = false,\n soft = false,\n persist = false,\n ignoreBuildErrors = false,\n rebuildDepsGraph,\n incrementBy = 1,\n disableTagAndSnapPipelines = false,\n failFast = false,\n }: {\n ids?: string[];\n all?: boolean | string;\n snapped?: boolean;\n unmerged?: boolean;\n version?: string;\n releaseType?: ReleaseType;\n ignoreIssues?: string;\n scope?: string | boolean;\n incrementBy?: number;\n failFast?: boolean;\n } & Partial<BasicTagParams>): Promise<TagResults | null> {\n if (soft) build = false;\n if (editor && persist) {\n throw new BitError('you can use either --editor or --persist, but not both');\n }\n if (editor && message) {\n throw new BitError('you can use either --editor or --message, but not both');\n }\n\n const exactVersion = version;\n if (!this.workspace) throw new OutsideWorkspaceError();\n const validExactVersion = validateVersion(exactVersion);\n const consumer = this.workspace.consumer;\n const componentsList = new ComponentsList(consumer);\n loader.start('determine components to tag...');\n const newComponents = await componentsList.listNewComponents();\n const { bitIds, warnings } = await this.getComponentsToTag(\n unmodified,\n exactVersion,\n persist,\n ids,\n snapped,\n unmerged\n );\n if (!bitIds.length) return null;\n\n const compIds = ComponentIdList.fromArray(bitIds);\n\n this.logger.debug(`tagging the following components: ${compIds.toString()}`);\n const components = await this.loadComponentsForTagOrSnap(compIds, !soft);\n const consumerComponents = components.map((c) => c.state._consumer) as ConsumerComponent[];\n await this.throwForVariousIssues(components, ignoreIssues);\n\n const { taggedComponents, autoTaggedResults, publishedPackages, stagedConfig, removedComponents } =\n await tagModelComponent({\n workspace: this.workspace,\n scope: this.scope,\n snapping: this,\n builder: this.builder,\n consumerComponents,\n ids: compIds,\n message,\n editor,\n exactVersion: validExactVersion,\n releaseType,\n preReleaseId,\n ignoreNewestVersion,\n skipTests,\n skipTasks,\n skipAutoTag,\n soft,\n build,\n persist,\n disableTagAndSnapPipelines,\n ignoreBuildErrors,\n rebuildDepsGraph,\n incrementBy,\n packageManagerConfigRootDir: this.workspace.path,\n dependencyResolver: this.dependencyResolver,\n exitOnFirstFailedTask: failFast,\n });\n\n const tagResults = {\n taggedComponents,\n autoTaggedResults,\n isSoftTag: soft,\n publishedPackages,\n warnings,\n newComponents,\n removedComponents,\n };\n\n await consumer.onDestroy(`tag (message: ${message || 'N/A'})`);\n await stagedConfig?.write();\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n return tagResults;\n }\n\n async tagFromScope(\n tagDataPerCompRaw: TagDataPerCompRaw[],\n params: {\n push?: boolean;\n version?: string;\n releaseType?: ReleaseType;\n ignoreIssues?: string;\n incrementBy?: number;\n rebuildArtifacts?: boolean;\n } & Partial<BasicTagParams>\n ): Promise<TagResults | null> {\n if (this.workspace) {\n throw new BitError(\n `unable to run this command from a workspace, please create a new bare-scope and run it from there`\n );\n }\n if (!this.scope) {\n throw new BitError(`please create a new bare-scope and run it from there`);\n }\n\n const tagDataPerComp = await Promise.all(\n tagDataPerCompRaw.map(async (tagData) => {\n return {\n componentId: await this.scope.resolveComponentId(tagData.componentId),\n dependencies: tagData.dependencies ? await this.scope.resolveMultipleComponentIds(tagData.dependencies) : [],\n versionToTag: tagData.versionToTag || params.releaseType || 'patch',\n prereleaseId: tagData.prereleaseId,\n message: tagData.message,\n };\n })\n );\n const componentIds = ComponentIdList.fromArray(tagDataPerComp.map((t) => t.componentId));\n // important! leave the \"preferDependencyGraph\" with the default - true. no need to bring all dependencies at this\n // stage. later on, they'll be imported during \"snapping._addFlattenedDependenciesToComponents\".\n // otherwise, the dependencies are imported without version-history and fail later when checking their origin.\n await this.scope.import(componentIds, { reason: 'of the seeders to tag' });\n const deps = compact(tagDataPerComp.map((t) => t.dependencies).flat()).map((dep) => dep.changeVersion(LATEST));\n const additionalComponentIdsToFetch = await Promise.all(\n componentIds.map(async (id) => {\n if (!id.hasVersion()) return null;\n const modelComp = await this.scope.getBitObjectModelComponent(id);\n if (!modelComp) throw new Error(`unable to find ModelComponent of ${id.toString()}`);\n if (!modelComp.head) return null;\n if (modelComp.getRef(id.version as string)?.isEqual(modelComp.head)) return null;\n if (!params.ignoreNewestVersion) {\n throw new BitError(`unable to tag \"${id.toString()}\", this version is older than the head ${modelComp.head.toString()}.\nif you're willing to lose the history from the head to the specified version, use --ignore-newest-version flag`);\n }\n return id.changeVersion(LATEST);\n })\n );\n\n // import deps to be able to resolve semver\n await this.scope.import([...deps, ...compact(additionalComponentIdsToFetch)], {\n useCache: false,\n reason: `which are the dependencies of the ${componentIds.length} seeders`,\n });\n await Promise.all(\n tagDataPerComp.map(async (tagData) => {\n // disregard the dependencies that are now part of the tag-from-scope. their version will be determined during the process\n const filteredDependencies = tagData.dependencies.filter((dep) => !componentIds.hasWithoutVersion(dep));\n tagData.dependencies = await Promise.all(\n filteredDependencies.map((d) => this.getCompIdWithExactVersionAccordingToSemver(d))\n );\n })\n );\n const components = await this.scope.getMany(componentIds);\n await Promise.all(\n components.map(async (comp) => {\n const tagData = tagDataPerComp.find((t) => t.componentId.isEqual(comp.id, { ignoreVersion: true }));\n if (!tagData) throw new Error(`unable to find ${comp.id.toString()} in tagDataPerComp`);\n if (!tagData.dependencies.length) return;\n await this.updateDependenciesVersionsOfComponent(comp, tagData.dependencies, componentIds);\n })\n );\n\n await this.scope.loadManyCompsAspects(components);\n\n const consumerComponents = components.map((c) => c.state._consumer) as ConsumerComponent[];\n const shouldUsePopulateArtifactsFrom = components.every((comp) => {\n if (!comp.buildStatus) throw new Error(`tag-from-scope expect ${comp.id.toString()} to have buildStatus`);\n return comp.buildStatus === BuildStatus.Succeed && !params.rebuildArtifacts;\n });\n const results = await tagModelComponent({\n ...params,\n scope: this.scope,\n consumerComponents,\n tagDataPerComp,\n populateArtifactsFrom: shouldUsePopulateArtifactsFrom ? components.map((c) => c.id) : undefined,\n copyLogFromPreviousSnap: true,\n snapping: this,\n builder: this.builder,\n dependencyResolver: this.dependencyResolver,\n skipAutoTag: true,\n persist: true,\n ids: componentIds,\n message: params.message as string,\n });\n\n const { taggedComponents, publishedPackages } = results;\n let exportedIds: ComponentIdList | undefined;\n if (params.push) {\n const { exported } = await this.exporter.exportMany({\n scope: this.scope.legacyScope,\n ids: componentIds,\n idsWithFutureScope: componentIds,\n allVersions: false,\n exportOrigin: 'tag',\n });\n exportedIds = exported;\n }\n\n return {\n taggedComponents,\n exportedIds,\n autoTaggedResults: [],\n isSoftTag: false,\n publishedPackages,\n warnings: [],\n newComponents: new ComponentIdList(),\n };\n }\n\n async snapFromScope(\n snapDataPerCompRaw: SnapDataPerCompRaw[],\n params: {\n push?: boolean;\n ignoreIssues?: string;\n lane?: string;\n updateDependents?: boolean;\n } & Partial<BasicTagParams>\n ): Promise<SnapFromScopeResults> {\n if (this.workspace) {\n throw new BitError(\n `unable to run this command from a workspace, please create a new bare-scope and run it from there`\n );\n }\n let lane: Lane | undefined;\n const laneIdStr = params.lane;\n if (laneIdStr) {\n const laneId = LaneId.parse(laneIdStr);\n try {\n lane = await this.importer.importLaneObject(laneId);\n } catch (err: any) {\n if (err.constructor.name !== LaneNotFound.name) throw err;\n // if the lane is not found, it's probably because it's new. create a new lane.\n lane = await createLaneInScope(laneId.name, this.scope, laneId.scope);\n }\n // this is critical. otherwise, later on, when loading aspects and isolating capsules, we'll try to fetch dists\n // from the original scope instead of the lane-scope.\n this.scope.legacyScope.setCurrentLaneId(laneId);\n this.scope.legacyScope.scopeImporter.shouldOnlyFetchFromCurrentLane = true;\n }\n const laneCompIds = lane?.toComponentIdsIncludeUpdateDependents();\n const snapDataPerComp = snapDataPerCompRaw.map((snapData) => {\n return {\n componentId: ComponentID.fromString(snapData.componentId),\n dependencies: snapData.dependencies || [],\n aspects: snapData.aspects,\n message: snapData.message,\n files: snapData.files,\n isNew: snapData.isNew,\n mainFile: snapData.mainFile,\n newDependencies: (snapData.newDependencies || []).map((dep) => ({\n id: dep.id,\n version: dep.version,\n isComponent: dep.isComponent ?? true,\n type: dep.type ?? 'runtime',\n })),\n removeDependencies: snapData.removeDependencies,\n };\n });\n\n // console.log('snapDataPerComp', JSON.stringify(snapDataPerComp, undefined, 2));\n\n const componentIds = compact(snapDataPerComp.map((t) => (t.isNew ? null : t.componentId)));\n const allCompIds = snapDataPerComp.map((s) => s.componentId);\n const componentIdsLatest = componentIds.map((id) => id.changeVersion(LATEST));\n const newCompsData = compact(snapDataPerComp.map((t) => (t.isNew ? t : null)));\n const newComponents = await Promise.all(\n newCompsData.map((newComp) => generateCompFromScope(this.scope, newComp, this))\n );\n\n await this.scope.import(componentIdsLatest, {\n preferDependencyGraph: false,\n lane,\n reason: `seeders to snap`,\n });\n const getSnapData = (id: ComponentID): SnapDataParsed => {\n const snapData = snapDataPerComp.find((t) => {\n return t.componentId.isEqual(id, { ignoreVersion: true });\n });\n if (!snapData) throw new Error(`unable to find ${id.toString()} in snapDataPerComp`);\n return snapData;\n };\n const existingComponents = await this.scope.getMany(componentIdsLatest);\n\n // in case of update-dependents, align the dependencies of the dependents according to the lane\n if (params.updateDependents && laneCompIds) {\n existingComponents.forEach((comp) => {\n const deps = this.dependencyResolver.getComponentDependencies(comp);\n const snapData = getSnapData(comp.id);\n deps.forEach((dep) => {\n const fromLane = laneCompIds.searchWithoutVersion(dep.componentId);\n if (fromLane) {\n snapData.dependencies.push(fromLane.toString());\n }\n });\n });\n }\n\n const components = [...existingComponents, ...newComponents];\n\n // this must be done before we load component aspects later on, because this updated deps may update aspects.\n await pMapSeries(components, async (component) => {\n const snapData = getSnapData(component.id);\n // adds explicitly defined dependencies and dependencies from envs/aspects (overrides)\n await addDeps(component, snapData, this.scope, this.deps, this.dependencyResolver, this);\n });\n\n // for new components these are not needed. coz when generating them we already add the aspects and the files.\n await Promise.all(\n existingComponents.map(async (comp) => {\n const snapData = getSnapData(comp.id);\n if (snapData.aspects) await this.scope.addAspectsFromConfigObject(comp, snapData.aspects);\n if (snapData.files?.length) {\n await this.updateSourceFiles(comp, snapData.files);\n }\n })\n );\n\n // load the aspects user configured to set on the components. it creates capsules if needed.\n // otherwise, when a user set a custom-env, it won't be loaded and the Version object will leave the\n // teambit.envs/envs in a weird state. the config will be set correctly but the data will be set to the default\n // node env.\n await this.scope.loadManyCompsAspects(components);\n\n // this is similar to what happens in the workspace. the \"onLoad\" is running and populating the \"data\" of the aspects.\n await pMapSeries(components, async (comp) => this.scope.executeOnCompAspectReCalcSlot(comp));\n\n const consumerComponents = components.map((c) => c.state._consumer);\n const ids = ComponentIdList.fromArray(allCompIds);\n const results = await tagModelComponent({\n ...params,\n scope: this.scope,\n consumerComponents,\n tagDataPerComp: snapDataPerComp.map((s) => ({\n componentId: s.componentId,\n message: s.message,\n dependencies: [],\n })),\n snapping: this,\n builder: this.builder,\n dependencyResolver: this.dependencyResolver,\n skipAutoTag: true,\n persist: true,\n isSnap: true,\n ids,\n message: params.message as string,\n updateDependentsOnLane: params.updateDependents,\n });\n\n const { taggedComponents } = results;\n let exportedIds: ComponentIdList | undefined;\n if (params.push) {\n const updatedLane = lane ? await this.scope.legacyScope.loadLane(lane.toLaneId()) : undefined;\n const { exported } = await this.exporter.exportMany({\n scope: this.scope.legacyScope,\n ids,\n idsWithFutureScope: ids,\n allVersions: false,\n laneObject: updatedLane,\n // no need other snaps. only the latest one. without this option, when snapping on lane from another-scope, it\n // may throw an error saying the previous snaps don't exist on the filesystem.\n // (see the e2e - \"snap on a lane when the component is new to the lane and the scope\")\n exportHeadsOnly: true,\n });\n exportedIds = exported;\n }\n\n return {\n snappedComponents: taggedComponents,\n snappedIds: taggedComponents.map((comp) => comp.id),\n exportedIds,\n };\n }\n\n /**\n * save the local changes of a component(s) into the scope. snap can be done on main or on a lane.\n * once a component is snapped on a lane, it becomes part of it.\n */\n async snap({\n pattern,\n legacyBitIds, // @todo: change to ComponentID[]. pass only if have the ids already parsed.\n unmerged,\n editor,\n message = '',\n ignoreIssues,\n skipTests = false,\n skipTasks,\n skipAutoSnap = false,\n build,\n disableTagAndSnapPipelines = false,\n ignoreBuildErrors = false,\n rebuildDepsGraph,\n unmodified = false,\n exitOnFirstFailedTask = false,\n }: Partial<BasicTagSnapParams> & {\n pattern?: string;\n legacyBitIds?: ComponentIdList;\n unmerged?: boolean;\n editor?: string;\n ignoreIssues?: string;\n skipAutoSnap?: boolean;\n disableTagAndSnapPipelines?: boolean;\n unmodified?: boolean;\n exitOnFirstFailedTask?: boolean;\n }): Promise<SnapResults | null> {\n if (!this.workspace) throw new OutsideWorkspaceError();\n if (pattern && legacyBitIds) throw new Error(`please pass either pattern or legacyBitIds, not both`);\n const consumer: Consumer = this.workspace.consumer;\n const componentsList = new ComponentsList(consumer);\n const newComponents = (await componentsList.listNewComponents()) as ComponentIdList;\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const self = this;\n const ids = legacyBitIds || (await getIdsToSnap());\n if (!ids) return null;\n this.logger.debug(`snapping the following components: ${ids.toString()}`);\n const components = await this.loadComponentsForTagOrSnap(ids);\n const consumerComponents = components.map((c) => c.state._consumer) as ConsumerComponent[];\n await this.throwForVariousIssues(components, ignoreIssues);\n\n const { taggedComponents, autoTaggedResults, stagedConfig, removedComponents } = await tagModelComponent({\n workspace: this.workspace,\n scope: this.scope,\n snapping: this,\n builder: this.builder,\n editor,\n consumerComponents,\n ids,\n ignoreNewestVersion: false,\n message,\n skipTests,\n skipTasks,\n skipAutoTag: skipAutoSnap,\n persist: true,\n soft: false,\n build,\n isSnap: true,\n disableTagAndSnapPipelines,\n ignoreBuildErrors,\n rebuildDepsGraph,\n packageManagerConfigRootDir: this.workspace.path,\n dependencyResolver: this.dependencyResolver,\n exitOnFirstFailedTask,\n });\n\n const snapResults: Partial<SnapResults> = {\n snappedComponents: taggedComponents,\n autoSnappedResults: autoTaggedResults,\n newComponents,\n removedComponents,\n };\n\n const currentLane = consumer.getCurrentLaneId();\n snapResults.laneName = currentLane.isDefault() ? null : currentLane.toString();\n await consumer.onDestroy(`snap (message: ${message || 'N/A'})`);\n await stagedConfig?.write();\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n return snapResults;\n\n async function getIdsToSnap(): Promise<ComponentIdList | null> {\n if (unmerged) {\n return componentsList.listDuringMergeStateComponents();\n }\n const tagPendingComponentsIds = await self.getTagPendingComponentsIds(unmodified);\n if (!tagPendingComponentsIds.length) return null;\n // when unmodified, we ask for all components, throw if no matching. if not unmodified and no matching, see error\n // below, suggesting to use --unmodified flag.\n const shouldThrowForNoMatching = unmodified;\n const getCompIds = async () => {\n if (!pattern) return tagPendingComponentsIds;\n if (!pattern.includes('*') && !pattern.includes(',')) {\n const compId = await self.workspace.resolveComponentId(pattern);\n return [compId];\n }\n return self.workspace.filterIdsFromPoolIdsByPattern(pattern, tagPendingComponentsIds, shouldThrowForNoMatching);\n };\n const componentIds = await getCompIds();\n if (!componentIds.length && pattern) {\n const allTagPending = await self.workspace.listPotentialTagIds();\n if (allTagPending.length) {\n throw new BitError(`unable to find matching for \"${pattern}\" pattern among modified/new components.\nthere are matching among unmodified components though. consider using --unmodified flag if needed.\nin case you're unsure about the pattern syntax, use \"bit pattern [--help]\"`);\n }\n }\n if (!componentIds.length) {\n return null;\n }\n return ComponentIdList.fromArray(componentIds);\n }\n }\n\n /**\n * remove tags/snaps that exist locally, which were not exported yet.\n * once a tag/snap is exported, it's impossible to delete it as other components may depend on it\n */\n async reset(\n componentPattern?: string,\n head?: boolean,\n force = false,\n soft = false\n ): Promise<{ results: untagResult[]; isSoftUntag: boolean }> {\n if (!this.workspace) throw new OutsideWorkspaceError();\n const consumer = this.workspace.consumer;\n const currentLane = await consumer.getCurrentLaneObject();\n const untag = async (): Promise<untagResult[]> => {\n if (!componentPattern) {\n return removeLocalVersionsForAllComponents(consumer, currentLane, head);\n }\n const candidateComponents = await getComponentsWithOptionToUntag(consumer);\n const idsMatchingPattern = await this.workspace.idsByPattern(componentPattern, true, { includeDeleted: true });\n const idsMatchingPatternBitIds = ComponentIdList.fromArray(idsMatchingPattern);\n const componentsToUntag = candidateComponents.filter((modelComponent) =>\n idsMatchingPatternBitIds.hasWithoutVersion(modelComponent.toComponentId())\n );\n return removeLocalVersionsForMultipleComponents(componentsToUntag, currentLane, head, force, consumer.scope);\n };\n const softUntag = async () => {\n const softTaggedComponentsIds = this.workspace.filter.bySoftTagged();\n const idsToRemoveSoftTags = componentPattern\n ? await this.workspace.filterIdsFromPoolIdsByPattern(componentPattern, softTaggedComponentsIds)\n : softTaggedComponentsIds;\n return compact(\n idsToRemoveSoftTags.map((componentId) => {\n const componentMap = consumer.bitMap.getComponent(componentId, { ignoreVersion: true });\n const removedVersion = componentMap.nextVersion?.version;\n if (!removedVersion) return null;\n componentMap.clearNextVersion();\n return { id: componentId, versions: [removedVersion] };\n })\n );\n };\n let results: untagResult[];\n const isRealUntag = !soft;\n if (isRealUntag) {\n results = await untag();\n await consumer.scope.objects.persist();\n const components = results.map((result) => result.component);\n await updateComponentsVersions(this.workspace, components as ModelComponent[], false);\n } else {\n results = await softUntag();\n consumer.bitMap.markAsChanged();\n }\n\n await consumer.onDestroy('reset');\n return { results, isSoftUntag: !isRealUntag };\n }\n\n async resetNeverExported(): Promise<ComponentID[]> {\n const notExported = this.workspace.consumer.getNotExportedIds();\n const hashes = notExported.map((id) => BitObject.makeHash(id.fullName));\n await this.scope.legacyScope.objects.deleteObjectsFromFS(hashes.map((h) => Ref.from(h)));\n notExported.map((id) => this.workspace.consumer.bitMap.updateComponentId(id.changeVersion(undefined)));\n await this.workspace.bitMap.write(`reset (never-exported)`);\n return notExported;\n }\n\n async _addFlattenedDependenciesToComponents(components: ConsumerComponent[], rebuildDepsGraph = false) {\n loader.start('importing missing dependencies...');\n this.logger.profile('snap._addFlattenedDependenciesToComponents');\n const getLane = async () => {\n const lane = await this.scope.legacyScope.getCurrentLaneObject();\n if (!lane) return undefined;\n if (!lane.isNew) return lane;\n const forkedFrom = lane.forkedFrom;\n if (!forkedFrom) return undefined;\n return this.scope.legacyScope.loadLane(forkedFrom);\n };\n const lane = await getLane();\n\n if (rebuildDepsGraph) {\n const flattenedDependenciesGetter = new FlattenedDependenciesGetter(this.scope.legacyScope, components, lane);\n await flattenedDependenciesGetter.populateFlattenedDependencies();\n loader.stop();\n await this._addFlattenedDepsGraphToComponents(components);\n return;\n }\n\n const flattenedEdgesGetter = new FlattenedEdgesGetter(this.scope, components, this.logger, lane);\n await flattenedEdgesGetter.buildGraph();\n\n components.forEach((component) => {\n flattenedEdgesGetter.populateFlattenedAndEdgesForComp(component);\n });\n this.logger.profile('snap._addFlattenedDependenciesToComponents');\n }\n\n async throwForDepsFromAnotherLane(components: ConsumerComponent[]) {\n const lane = await this.scope.legacyScope.getCurrentLaneObject();\n const allIds = ComponentIdList.fromArray(components.map((c) => c.id));\n const missingDeps = await pMapSeries(components, async (component) => {\n return this.throwForDepsFromAnotherLaneForComp(component, allIds, lane);\n });\n const flattenedMissingDeps = ComponentIdList.uniqFromArray(\n missingDeps.flat().map((id) => id.changeVersion(undefined))\n );\n if (!flattenedMissingDeps.length) return;\n // ignore the cache. even if the component exists locally, we still need its VersionHistory object\n // in order to traverse the history and determine whether it's part of the lane history.\n await this.scope.legacyScope.scopeImporter.importWithoutDeps(flattenedMissingDeps, {\n cache: false,\n ignoreMissingHead: true,\n includeVersionHistory: true,\n lane,\n reason: 'of latest with version-history to make sure there are no dependencies from another lane',\n });\n await pMapSeries(components, async (component) => {\n await this.throwForDepsFromAnotherLaneForComp(component, allIds, lane, true);\n });\n }\n\n private async throwForVariousIssues(components: Component[], ignoreIssues?: string) {\n const componentsToCheck = components.filter((c) => !c.isDeleted());\n const consumerComponents = componentsToCheck.map((c) => c.state._consumer) as ConsumerComponent[];\n await this.throwForLegacyDependenciesInsideHarmony(consumerComponents);\n await this.builder.throwForComponentIssues(componentsToCheck, ignoreIssues);\n this.throwForPendingImport(consumerComponents);\n }\n\n private async throwForDepsFromAnotherLaneForComp(\n component: ConsumerComponent,\n allIds: ComponentIdList,\n lane?: Lane,\n throwForMissingObjects = false\n ) {\n const depsFromModel = component.componentFromModel?.getAllDependencies();\n const depsFromModelIds = depsFromModel\n ? ComponentIdList.fromArray(depsFromModel.map((d) => d.id))\n : new ComponentIdList();\n const deps = component.getAllDependencies();\n const missingDeps: ComponentID[] = [];\n await Promise.all(\n deps.map(async (dep) => {\n if (!this.scope.isExported(dep.id) || !dep.id.hasVersion()) return;\n if (isTag(dep.id.version)) return;\n if (allIds.hasWithoutVersion(dep.id)) return; // it's tagged/snapped now.\n if (depsFromModelIds.has(dep.id)) return; // this dep is not new, it was already snapped/tagged with it before.\n let isPartOfHistory: boolean | undefined;\n try {\n isPartOfHistory = lane\n ? await this.scope.legacyScope.isPartOfLaneHistoryOrMain(dep.id, lane)\n : await this.scope.legacyScope.isPartOfMainHistory(dep.id);\n } catch (err) {\n if (throwForMissingObjects) throw err;\n if (\n err instanceof VersionNotFound ||\n err instanceof ComponentNotFound ||\n err instanceof HeadNotFound ||\n err instanceof ParentNotFound\n ) {\n missingDeps.push(dep.id);\n return;\n }\n throw err;\n }\n\n if (!isPartOfHistory) {\n if (!throwForMissingObjects) {\n // it's possible that the dependency wasn't imported recently and the head is stale.\n missingDeps.push(dep.id);\n return;\n }\n const laneOrMainStr = lane ? `current lane \"${lane.name}\"` : 'main';\n throw new Error(\n `unable to tag/snap ${component.id.toString()}, it has a dependency ${dep.id.toString()} which is not part of ${laneOrMainStr} history.\none option to resolve this is installing ${dep.id.toStringWithoutVersion()} via \"bit install\", which installs the version from main.\nanother option, in case this dependency is not in main yet is to remove all references of this dependency in the code and then tag/snap.`\n );\n }\n })\n );\n return missingDeps;\n }\n\n async _addFlattenedDepsGraphToComponents(components: ConsumerComponent[]) {\n const graph = new Graph<ComponentID, string>();\n const addEdges = (compId: ComponentID, dependencies: ConsumerComponent['dependencies'], label: DepEdgeType) => {\n dependencies.get().forEach((dep) => {\n graph.setNode(new Node(dep.id.toString(), dep.id));\n graph.setEdge(new Edge(compId.toString(), dep.id.toString(), label));\n });\n };\n components.forEach((comp) => {\n graph.setNode(new Node(comp.id.toString(), comp.id));\n addEdges(comp.id, comp.dependencies, 'prod');\n addEdges(comp.id, comp.devDependencies, 'dev');\n addEdges(comp.id, comp.extensionDependencies, 'ext');\n });\n const allFlattened = components.map((comp) => comp.flattenedDependencies);\n const allFlattenedUniq = ComponentIdList.uniqFromArray(allFlattened.flat());\n const allFlattenedWithoutCurrent = allFlattenedUniq.filter((id) => !components.find((c) => c.id.isEqual(id)));\n const componentsAndVersions = await this.scope.legacyScope.getComponentsAndVersions(\n ComponentIdList.fromArray(allFlattenedWithoutCurrent)\n );\n componentsAndVersions.forEach(({ component, version, versionStr }) => {\n const compId = component.toComponentId().changeVersion(versionStr);\n graph.setNode(new Node(compId.toString(), compId));\n addEdges(compId, version.dependencies, 'prod');\n addEdges(compId, version.devDependencies, 'dev');\n addEdges(compId, version.extensionDependencies, 'ext');\n });\n let someCompsHaveMissingFlattened = false;\n components.forEach((component) => {\n const edges = graph.outEdges(component.id.toString());\n const flattenedEdges = component.flattenedDependencies.map((dep) => graph.outEdges(dep.toString())).flat();\n const allEdges = [...edges, ...flattenedEdges];\n const edgesWithBitIds: DepEdge[] = allEdges.map((edge) => ({\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n source: graph.node(edge.source)!.attr,\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n target: graph.node(edge.target)!.attr,\n type: edge.attr as DepEdgeType,\n }));\n component.flattenedEdges = edgesWithBitIds;\n\n // due to some previous bugs, some components might have missing flattened dependencies.\n // as a result, the flattenedEdges may have more components than the flattenedDependencies, which will cause\n // issues later on when the graph is built. this fixes it by adding the missing flattened dependencies, and\n // then recursively adding the flattenedEdge accordingly.\n const flattened = component.flattenedDependencies.map((dep) => dep.toString());\n const flattenedFromEdges = uniq(\n edgesWithBitIds.map((edge) => [edge.target.toString(), edge.source.toString()]).flat()\n );\n const missingFlattened = difference(flattenedFromEdges, flattened).filter((id) => id !== component.id.toString());\n\n if (missingFlattened.length) {\n someCompsHaveMissingFlattened = true;\n this.logger.warn(`missing flattened for ${component.id.toString()}: ${missingFlattened.join(', ')}`);\n const missingBitIds = missingFlattened.map((id) => {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return graph.node(id)!.attr;\n });\n component.flattenedDependencies.push(...missingBitIds);\n }\n });\n if (someCompsHaveMissingFlattened) {\n await this._addFlattenedDepsGraphToComponents(components);\n }\n }\n\n _updateComponentsByTagResult(components: ConsumerComponent[], tagResult: LegacyOnTagResult[]) {\n tagResult.forEach((result) => {\n const matchingComponent = components.find((c) => c.id.isEqual(result.id));\n if (matchingComponent) {\n const existingBuilder = matchingComponent.extensions.findCoreExtension(Extensions.builder);\n if (existingBuilder) existingBuilder.data = result.builderData.data;\n else matchingComponent.extensions.push(result.builderData);\n }\n });\n }\n\n _getPublishedPackages(components: ConsumerComponent[]): string[] {\n const publishedPackages = components.map((comp) => {\n const builderExt = comp.extensions.findCoreExtension(Extensions.builder);\n const pkgData = builderExt?.data?.aspectsData?.find((a) => a.aspectId === Extensions.pkg);\n return pkgData?.data?.publishedPackage;\n });\n return compact(publishedPackages);\n }\n\n async _addCompToObjects({\n source,\n lane,\n shouldValidateVersion = false,\n updateDependentsOnLane = false,\n }: {\n source: ConsumerComponent;\n lane?: Lane;\n shouldValidateVersion?: boolean;\n updateDependentsOnLane?: boolean;\n }): Promise<{\n component: ModelComponent;\n version: Version;\n }> {\n const { component, version } = await this._addCompFromScopeToObjects(source, lane, updateDependentsOnLane);\n const unmergedComponent = this.scope.legacyScope.objects.unmergedComponents.getEntry(component.toComponentId());\n if (unmergedComponent) {\n if (unmergedComponent.unrelated) {\n this.logger.debug(\n `sources.addSource, unmerged component \"${component.name}\". adding an unrelated entry ${unmergedComponent.head.hash}`\n );\n if (!source.previouslyUsedVersion) {\n throw new Error(\n `source.previouslyUsedVersion must be set for ${component.name} because it's unrelated resolved.`\n );\n }\n if (unmergedComponent.unrelated === true) {\n // backward compatibility\n const unrelatedHead = Ref.from(source.previouslyUsedVersion);\n version.setUnrelated({ head: unrelatedHead, laneId: unmergedComponent.laneId });\n version.addAsOnlyParent(unmergedComponent.head);\n } else {\n const unrelated = unmergedComponent.unrelated;\n version.setUnrelated({ head: unrelated.unrelatedHead, laneId: unrelated.unrelatedLaneId });\n version.addAsOnlyParent(unrelated.headOnCurrentLane);\n }\n } else {\n // this is adding a second parent to the version. the order is important. the first parent is coming from the current-lane.\n version.addParent(unmergedComponent.head);\n this.logger.debug(\n `sources.addSource, unmerged component \"${component.name}\". adding a parent ${unmergedComponent.head.hash}`\n );\n version.log.message = version.log.message || UnmergedComponents.buildSnapMessage(unmergedComponent);\n }\n this.scope.legacyScope.objects.unmergedComponents.removeComponent(component.toComponentId());\n }\n if (shouldValidateVersion) version.validate();\n return { component, version };\n }\n\n async _addCompFromScopeToObjects(\n source: ConsumerComponent,\n lane?: Lane,\n updateDependentsOnLane = false\n ): Promise<{\n component: ModelComponent;\n version: Version;\n }> {\n const objectRepo = this.objectsRepo;\n // if a component exists in the model, add a new version. Otherwise, create a new component on the model\n // @todo: fix the ts error here with \"source\"\n const component = await this.scope.legacyScope.sources.findOrAddComponent(source as any);\n const artifactFiles = getArtifactsFiles(source.extensions);\n const artifacts = this.transformArtifactsFromVinylToSource(artifactFiles);\n const { version, files, flattenedEdges } = await this.scope.legacyScope.sources.consumerComponentToVersion(source);\n version.origin = {\n id: { scope: source.scope || (source.defaultScope as string), name: source.name },\n lane: lane ? { scope: lane.scope, name: lane.name, hash: lane.hash().toString() } : undefined,\n };\n objectRepo.add(version);\n if (flattenedEdges) this.objectsRepo.add(flattenedEdges);\n if (!source.version) throw new Error(`addSource expects source.version to be set`);\n component.addVersion(version, source.version, lane, source.previouslyUsedVersion, updateDependentsOnLane);\n objectRepo.add(component);\n if (lane) objectRepo.add(lane);\n files.forEach((file) => objectRepo.add(file.file));\n if (artifacts) artifacts.forEach((file) => objectRepo.add(file.source));\n return { component, version };\n }\n\n async _enrichComp(consumerComponent: ConsumerComponent, modifiedLog?: Log) {\n const objects = await this._getObjectsToEnrichComp(consumerComponent, modifiedLog);\n objects.forEach((obj) => this.objectsRepo.add(obj));\n return consumerComponent;\n }\n\n async _getObjectsToEnrichComp(consumerComponent: ConsumerComponent, modifiedLog?: Log): Promise<BitObject[]> {\n const component =\n consumerComponent.modelComponent || // @todo: fix the ts error here with \"source\"\n (await this.scope.legacyScope.sources.findOrAddComponent(consumerComponent as any));\n const version = await component.loadVersion(consumerComponent.id.version as string, this.objectsRepo, true, true);\n if (modifiedLog) version.addModifiedLog(modifiedLog);\n const artifactFiles = getArtifactsFiles(consumerComponent.extensions);\n const artifacts = this.transformArtifactsFromVinylToSource(artifactFiles);\n version.extensions = consumerComponent.extensions;\n version.buildStatus = consumerComponent.buildStatus;\n const artifactObjects = artifacts.map((file) => file.source);\n return [version, ...artifactObjects];\n }\n\n private transformArtifactsFromVinylToSource(artifactsFiles: ArtifactFiles[]): ArtifactSource[] {\n const artifacts: ArtifactSource[] = [];\n artifactsFiles.forEach((artifactFiles) => {\n const artifactsSource = ArtifactFiles.fromVinylsToSources(artifactFiles.vinyls);\n if (artifactsSource.length) artifactFiles.populateRefsFromSources(artifactsSource);\n artifacts.push(...artifactsSource);\n });\n return artifacts;\n }\n\n private async loadComponentsForTagOrSnap(ids: ComponentIdList, shouldClearCacheFirst = true): Promise<Component[]> {\n const idsWithoutVersions = ids.map((id) => id.changeVersion(undefined));\n const appIds = await this.application.loadAllAppsAsAspects(idsWithoutVersions);\n if (shouldClearCacheFirst) {\n await this.workspace.consumer.componentFsCache.deleteAllDependenciesDataCache();\n // don't clear only the cache of these ids. we need also the auto-tag. so it's safer to just clear all.\n this.workspace.clearAllComponentsCache();\n } else {\n appIds.forEach((id) => this.workspace.clearComponentCache(id));\n }\n\n return this.workspace.getMany(idsWithoutVersions);\n }\n\n private throwForPendingImport(components: ConsumerComponent[]) {\n const componentsMissingFromScope = components\n .filter((c) => !c.componentFromModel && this.scope.isExported(c.id))\n .map((c) => c.id.toString());\n if (componentsMissingFromScope.length) {\n throw new ComponentsPendingImport(componentsMissingFromScope);\n }\n }\n\n private async throwForLegacyDependenciesInsideHarmony(components: ConsumerComponent[]) {\n const throwForComponent = async (component: ConsumerComponent) => {\n const dependenciesIds = component.getAllDependenciesIds();\n const legacyScope = this.workspace.scope.legacyScope;\n await Promise.all(\n dependenciesIds.map(async (depId) => {\n if (!depId.hasVersion()) return;\n const modelComp = await legacyScope.getModelComponentIfExist(depId);\n if (!modelComp) return;\n const version = await modelComp.loadVersion(depId.version as string, legacyScope.objects);\n if (version.isLegacy) {\n throw new Error(\n `unable tagging \"${component.id.toString()}\", its dependency \"${depId.toString()}\" is legacy`\n );\n }\n })\n );\n };\n await pMap(components, (component) => throwForComponent(component), { concurrency: concurrentComponentsLimit() });\n }\n\n /**\n * the compId.version can be a range (e.g. \"^1.0.0\"), in which case, it finds the component in the local scope and\n * resolves the latest version that falls under the range.\n * in case the version has no range, it returns the same compId.\n * in case it has no version, it returns the latest.\n */\n async getCompIdWithExactVersionAccordingToSemver(compId: ComponentID): Promise<ComponentID> {\n if (isHash(compId.version)) {\n return compId;\n }\n const range = compId.version || '*'; // if not version specified, assume the latest\n const id = compId.changeVersion(undefined);\n const exactVersion = await this.scope.getExactVersionBySemverRange(id, range);\n if (!exactVersion) {\n throw new Error(`unable to find a version that satisfies \"${range}\" of \"${compId.toString()}\"`);\n }\n return compId.changeVersion(exactVersion);\n }\n\n private async updateSourceFiles(component: Component, files: FileData[]) {\n const currentFiles = component.state.filesystem.files;\n\n files.forEach((file) => {\n if (file.delete) {\n const index = currentFiles.findIndex((f) => f.path === file.path);\n if (index !== -1) {\n currentFiles.splice(index, 1);\n }\n return;\n }\n const currentFile = currentFiles.find((f) => f.path === file.path);\n if (currentFile) {\n currentFile.contents = Buffer.from(file.content);\n } else {\n currentFiles.push(\n new SourceFile({ base: '.', path: file.path, contents: Buffer.from(file.content), test: false })\n );\n }\n });\n\n if (!currentFiles.length)\n throw new Error(`unable to update component ${component.id.toString()}, all files were deleted`);\n }\n\n async updateDependenciesVersionsOfComponent(\n component: Component,\n dependencies: ComponentID[],\n currentBitIds: ComponentID[]\n ) {\n const updatedIds = ComponentIdList.fromArray([...currentBitIds, ...dependencies]);\n const componentIdStr = component.id.toString();\n const legacyComponent: ConsumerComponent = component.state._consumer;\n const deps = [...legacyComponent.dependencies.get(), ...legacyComponent.devDependencies.get()];\n const dependenciesList = this.dependencyResolver.getDependencies(component);\n deps.forEach((dep) => {\n const updatedBitId = updatedIds.searchWithoutVersion(dep.id);\n if (updatedBitId) {\n const depIdStr = dep.id.toString();\n const packageName = dependenciesList.findDependency(depIdStr)?.getPackageName?.();\n if (!packageName) {\n throw new Error(\n `unable to find the package-name of \"${depIdStr}\" dependency inside the dependency-resolver data of \"${componentIdStr}\"`\n );\n }\n this.logger.debug(`updating \"${componentIdStr}\", dependency ${depIdStr} to version ${updatedBitId.version}}`);\n dep.id = updatedBitId;\n dep.packageName = packageName;\n }\n });\n await this.UpdateDepsAspectsSaveIntoDepsResolver(component, updatedIds.toStringArray());\n }\n\n /**\n * it does two things:\n * 1. update extensions versions according to the version provided in updatedIds.\n * 2. save all dependencies data from the legacy into DependencyResolver aspect.\n */\n async UpdateDepsAspectsSaveIntoDepsResolver(component: Component, updatedIds: string[]) {\n const legacyComponent: ConsumerComponent = component.state._consumer;\n legacyComponent.extensions.forEach((ext) => {\n const extId = ext.extensionId;\n if (!extId) return;\n const found = updatedIds.find((d) => d.startsWith(`${extId.toStringWithoutVersion()}@`));\n if (found) {\n const updatedExtId = ComponentID.fromString(found);\n this.logger.debug(\n `updating \"${component.id.toString()}\", extension ${extId.toString()} to version ${updatedExtId.version}}`\n );\n ext.extensionId = updatedExtId;\n if (ext.newExtensionId) ext.newExtensionId = updatedExtId;\n }\n });\n\n component.state.aspects = await this.scope.createAspectListFromExtensionDataList(legacyComponent.extensions);\n\n const dependenciesListSerialized = (await this.dependencyResolver.extractDepsFromLegacy(component)).serialize();\n const extId = DependencyResolverAspect.id;\n const data = { dependencies: dependenciesListSerialized };\n const existingExtension = component.config.extensions.findExtension(extId);\n if (existingExtension) {\n // Only merge top level of extension data\n Object.assign(existingExtension.data, data);\n return;\n }\n const extension = new ExtensionDataEntry(undefined, undefined, extId, undefined, data);\n component.config.extensions.push(extension);\n }\n\n private async getTagPendingComponentsIds(includeUnmodified = false) {\n const ids = includeUnmodified\n ? await this.workspace.listPotentialTagIds()\n : await this.workspace.listTagPendingIds();\n const localOnlyIds = this.workspace.filter.byLocalOnly(ids);\n if (!localOnlyIds.length) {\n return ids;\n }\n const localOnlyListIds = ComponentIdList.fromArray(localOnlyIds);\n return ids.filter((id) => !localOnlyListIds.hasWithoutVersion(id));\n }\n\n private async getComponentsToTag(\n includeUnmodified: boolean,\n exactVersion: string | undefined,\n persist: boolean,\n ids: string[],\n snapped: boolean,\n unmerged: boolean\n ): Promise<{ bitIds: ComponentID[]; warnings: string[] }> {\n const warnings: string[] = [];\n const componentsList = new ComponentsList(this.workspace.consumer);\n if (persist) {\n const softTaggedComponents = this.workspace.filter.bySoftTagged();\n return { bitIds: softTaggedComponents, warnings: [] };\n }\n\n const tagPendingComponentsIds = await this.getTagPendingComponentsIds(includeUnmodified);\n\n const snappedComponentsIds = (await this.workspace.filter.bySnappedOnMain()).map((id) =>\n id.changeVersion(undefined)\n );\n\n if (snappedComponentsIds.length) {\n const localOnlyIds = this.workspace.filter.byLocalOnly(snappedComponentsIds);\n const localOnlyListIds = ComponentIdList.fromArray(localOnlyIds);\n snappedComponentsIds.forEach((id) => {\n if (localOnlyListIds.hasWithoutVersion(id)) {\n const index = snappedComponentsIds.findIndex((c) => c.isEqual(id));\n snappedComponentsIds.splice(index, 1);\n }\n });\n }\n\n if (ids.length) {\n const componentIds = await pMapSeries(ids, async (id) => {\n const [idWithoutVer, version] = id.split('@');\n const idIsPattern = this.workspace.isPattern(id);\n if (idIsPattern) {\n const allIds = await this.workspace.filterIdsFromPoolIdsByPattern(idWithoutVer, tagPendingComponentsIds);\n return allIds.map((componentId) => componentId.changeVersion(version));\n }\n const componentId = await this.workspace.resolveComponentId(idWithoutVer);\n if (!includeUnmodified) {\n const componentStatus = await this.workspace.getComponentStatusById(componentId);\n if (componentStatus.modified === false) return null;\n }\n return componentId.changeVersion(version);\n });\n\n return { bitIds: compact(componentIds.flat()), warnings };\n }\n\n if (snapped) {\n return { bitIds: snappedComponentsIds, warnings };\n }\n\n if (unmerged) {\n return { bitIds: componentsList.listDuringMergeStateComponents(), warnings };\n }\n\n const tagPendingBitIdsIncludeSnapped = [...tagPendingComponentsIds, ...snappedComponentsIds];\n\n if (includeUnmodified && exactVersion) {\n const tagPendingComponentsLatest = await this.workspace.scope.legacyScope.latestVersions(\n tagPendingComponentsIds,\n false\n );\n tagPendingComponentsLatest.forEach((componentId) => {\n if (componentId.version && semver.valid(componentId.version) && semver.gt(componentId.version, exactVersion)) {\n warnings.push(`warning: ${componentId.toString()} has a version greater than ${exactVersion}`);\n }\n });\n }\n\n return { bitIds: tagPendingBitIdsIncludeSnapped.map((id) => id.changeVersion(undefined)), warnings };\n }\n\n static slots = [];\n static dependencies = [\n WorkspaceAspect,\n CLIAspect,\n LoggerAspect,\n IssuesAspect,\n InsightsAspect,\n DependencyResolverAspect,\n ScopeAspect,\n ExportAspect,\n BuilderAspect,\n ImporterAspect,\n GlobalConfigAspect,\n DependenciesAspect,\n ApplicationAspect,\n ];\n static runtime = MainRuntime;\n static async provider([\n workspace,\n cli,\n loggerMain,\n issues,\n insights,\n dependencyResolver,\n scope,\n exporter,\n builder,\n importer,\n globalConfig,\n deps,\n application,\n ]: [\n Workspace,\n CLIMain,\n LoggerMain,\n IssuesMain,\n InsightsMain,\n DependencyResolverMain,\n ScopeMain,\n ExportMain,\n BuilderMain,\n ImporterMain,\n GlobalConfigMain,\n DependenciesMain,\n ApplicationMain\n ]) {\n const logger = loggerMain.createLogger(SnappingAspect.id);\n const snapping = new SnappingMain(\n workspace,\n logger,\n issues,\n insights,\n dependencyResolver,\n scope,\n exporter,\n builder,\n importer,\n deps,\n application\n );\n const snapCmd = new SnapCmd(snapping, logger, globalConfig);\n const tagCmd = new TagCmd(snapping, logger, globalConfig);\n const tagFromScopeCmd = new TagFromScopeCmd(snapping, logger);\n const snapFromScopeCmd = new SnapFromScopeCmd(snapping, logger);\n const resetCmd = new ResetCmd(snapping);\n const snapDistanceCmd = new SnapDistanceCmd(scope);\n cli.register(tagCmd, snapCmd, resetCmd, tagFromScopeCmd, snapFromScopeCmd, snapDistanceCmd);\n return snapping;\n }\n}\n\nSnappingAspect.addRuntime(SnappingMain);\n\nexport default SnappingMain;\n"],"mappings":";;;;;;AAAA,SAAAA,KAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,IAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,OAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,MAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAG,0BAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,yBAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,WAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,UAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,QAAA;EAAA,MAAAL,IAAA,GAAAM,sBAAA,CAAAL,OAAA;EAAAI,OAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAO,QAAA;EAAA,MAAAP,IAAA,GAAAC,OAAA;EAAAM,OAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,aAAA;EAAA,MAAAR,IAAA,GAAAC,OAAA;EAAAO,YAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAS,WAAA;EAAA,MAAAT,IAAA,GAAAC,OAAA;EAAAQ,UAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAU,QAAA;EAAA,MAAAV,IAAA,GAAAC,OAAA;EAAAS,OAAA,YAAAA,CAAA;IAAA,OAAAV,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAW,YAAA;EAAA,MAAAX,IAAA,GAAAM,sBAAA,CAAAL,OAAA;EAAAU,WAAA,YAAAA,CAAA;IAAA,OAAAX,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAY,QAAA;EAAA,MAAAZ,IAAA,GAAAM,sBAAA,CAAAL,OAAA;EAAAW,OAAA,YAAAA,CAAA;IAAA,OAAAZ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAa,yBAAA;EAAA,MAAAb,IAAA,GAAAM,sBAAA,CAAAL,OAAA;EAAAY,wBAAA,YAAAA,CAAA;IAAA,OAAAb,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAc,QAAA;EAAA,MAAAd,IAAA,GAAAC,OAAA;EAAAa,OAAA,YAAAA,CAAA;IAAA,OAAAd,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAe,UAAA;EAAA,MAAAf,IAAA,GAAAC,OAAA;EAAAc,SAAA,YAAAA,CAAA;IAAA,OAAAf,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAgB,MAAA;EAAA,MAAAhB,IAAA,GAAAM,sBAAA,CAAAL,OAAA;EAAAe,KAAA,YAAAA,CAAA;IAAA,OAAAhB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAiB,UAAA;EAAA,MAAAjB,IAAA,GAAAC,OAAA;EAAAgB,SAAA,YAAAA,CAAA;IAAA,OAAAjB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAkB,YAAA;EAAA,MAAAlB,IAAA,GAAAC,OAAA;EAAAiB,WAAA,YAAAA,CAAA;IAAA,OAAAlB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAmB,gBAAA;EAAA,MAAAnB,IAAA,GAAAC,OAAA;EAAAkB,eAAA,YAAAA,CAAA;IAAA,OAAAnB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAoB,OAAA;EAAA,MAAApB,IAAA,GAAAC,OAAA;EAAAmB,MAAA,YAAAA,CAAA;IAAA,OAAApB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAqB,QAAA;EAAA,MAAArB,IAAA,GAAAC,OAAA;EAAAoB,OAAA,YAAAA,CAAA;IAAA,OAAArB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAsB,oBAAA;EAAA,MAAAtB,IAAA,GAAAC,OAAA;EAAAqB,mBAAA,YAAAA,CAAA;IAAA,OAAAtB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAuB,QAAA;EAAA,MAAAvB,IAAA,GAAAC,OAAA;EAAAsB,OAAA,YAAAA,CAAA;IAAA,OAAAvB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAwB,SAAA;EAAA,MAAAxB,IAAA,GAAAC,OAAA;EAAAuB,QAAA,YAAAA,CAAA;IAAA,OAAAxB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAyB,QAAA;EAAA,MAAAzB,IAAA,GAAAC,OAAA;EAAAwB,OAAA,YAAAA,CAAA;IAAA,OAAAzB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA0B,UAAA;EAAA,MAAA1B,IAAA,GAAAC,OAAA;EAAAyB,SAAA,YAAAA,CAAA;IAAA,OAAA1B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA2B,QAAA;EAAA,MAAA3B,IAAA,GAAAC,OAAA;EAAA0B,OAAA,YAAAA,CAAA;IAAA,OAAA3B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA4B,oBAAA;EAAA,MAAA5B,IAAA,GAAAM,sBAAA,CAAAL,OAAA;EAAA2B,mBAAA,YAAAA,CAAA;IAAA,OAAA5B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA6B,kBAAA;EAAA,MAAA7B,IAAA,GAAAC,OAAA;EAAA4B,iBAAA,YAAAA,CAAA;IAAA,OAAA7B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA8B,SAAA;EAAA,MAAA9B,IAAA,GAAAC,OAAA;EAAA6B,QAAA,YAAAA,CAAA;IAAA,OAAA9B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA+B,cAAA;EAAA,MAAA/B,IAAA,GAAAC,OAAA;EAAA8B,aAAA,YAAAA,CAAA;IAAA,OAAA/B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAgC,WAAA;EAAA,MAAAhC,IAAA,GAAAC,OAAA;EAAA+B,UAAA,YAAAA,CAAA;IAAA,OAAAhC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAiC,YAAA;EAAA,MAAAjC,IAAA,GAAAC,OAAA;EAAAgC,WAAA,YAAAA,CAAA;IAAA,OAAAjC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAOA,SAAAkC,cAAA;EAAA,MAAAlC,IAAA,GAAAC,OAAA;EAAAiC,aAAA,YAAAA,CAAA;IAAA,OAAAlC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAmC,SAAA;EAAA,MAAAnC,IAAA,GAAAC,OAAA;EAAAkC,QAAA,YAAAA,CAAA;IAAA,OAAAnC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAoC,UAAA;EAAA,MAAApC,IAAA,GAAAC,OAAA;EAAAmC,SAAA,YAAAA,CAAA;IAAA,OAAApC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAqC,QAAA;EAAA,MAAArC,IAAA,GAAAC,OAAA;EAAAoC,OAAA,YAAAA,CAAA;IAAA,OAAArC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAsC,UAAA;EAAA,MAAAtC,IAAA,GAAAM,sBAAA,CAAAL,OAAA;EAAAqC,SAAA,YAAAA,CAAA;IAAA,OAAAtC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAuC,mBAAA;EAAA,MAAAvC,IAAA,GAAAC,OAAA;EAAAsC,kBAAA,YAAAA,CAAA;IAAA,OAAAvC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAwC,cAAA;EAAA,MAAAxC,IAAA,GAAAC,OAAA;EAAAuC,aAAA,YAAAA,CAAA;IAAA,OAAAxC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAyC,eAAA;EAAA,MAAAzC,IAAA,GAAAC,OAAA;EAAAwC,cAAA,YAAAA,CAAA;IAAA,OAAAzC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA0C,uBAAA;EAAA,MAAA1C,IAAA,GAAAC,OAAA;EAAAyC,sBAAA,YAAAA,CAAA;IAAA,OAAA1C,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA2C,gBAAA;EAAA,MAAA3C,IAAA,GAAAC,OAAA;EAAA0C,eAAA,YAAAA,CAAA;IAAA,OAAA3C,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA4C,iBAAA;EAAA,MAAA5C,IAAA,GAAAC,OAAA;EAAA2C,gBAAA,YAAAA,CAAA;IAAA,OAAA5C,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA6C,gBAAA;EAAA,MAAA7C,IAAA,GAAAC,OAAA;EAAA4C,eAAA,YAAAA,CAAA;IAAA,OAAA7C,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAMA,SAAA8C,aAAA;EAAA,MAAA9C,IAAA,GAAAC,OAAA;EAAA6C,YAAA,YAAAA,CAAA;IAAA,OAAA9C,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA+C,SAAA;EAAA,MAAA/C,IAAA,GAAAC,OAAA;EAAA8C,QAAA,YAAAA,CAAA;IAAA,OAAA/C,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAgD,cAAA;EAAA,MAAAhD,IAAA,GAAAC,OAAA;EAAA+C,aAAA,YAAAA,CAAA;IAAA,OAAAhD,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAuE,SAAAM,uBAAA2C,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,SAAAmB,gBAAAnB,CAAA,EAAAI,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAmB,cAAA,CAAAnB,CAAA,MAAAJ,CAAA,GAAAM,MAAA,CAAAgB,cAAA,CAAAtB,CAAA,EAAAI,CAAA,IAAAoB,KAAA,EAAAnB,CAAA,EAAAO,UAAA,MAAAa,YAAA,MAAAC,QAAA,UAAA1B,CAAA,CAAAI,CAAA,IAAAC,CAAA,EAAAL,CAAA;AAAA,SAAAuB,eAAAlB,CAAA,QAAAsB,CAAA,GAAAC,YAAA,CAAAvB,CAAA,uCAAAsB,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAvB,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAL,CAAA,GAAAK,CAAA,CAAAwB,MAAA,CAAAC,WAAA,kBAAA9B,CAAA,QAAA2B,CAAA,GAAA3B,CAAA,CAAA+B,IAAA,CAAA1B,CAAA,EAAAD,CAAA,uCAAAuB,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAA5B,CAAA,GAAA6B,MAAA,GAAAC,MAAA,EAAA7B,CAAA;AAqDhE,MAAM8B,YAAY,CAAC;EAExBC,WAAWA,CACDC,SAAoB,EACpBC,MAAc,EACdC,MAAkB,EAClBC,QAAsB,EACtBC,kBAA0C,EAC1CC,KAAgB,EAChBC,QAAoB,EACpBC,OAAoB,EACpBC,QAAsB,EACtBC,IAAsB,EACtBC,WAA4B,EACpC;IAAA,KAXQV,SAAoB,GAApBA,SAAoB;IAAA,KACpBC,MAAc,GAAdA,MAAc;IAAA,KACdC,MAAkB,GAAlBA,MAAkB;IAAA,KAClBC,QAAsB,GAAtBA,QAAsB;IAAA,KACtBC,kBAA0C,GAA1CA,kBAA0C;IAAA,KAC1CC,KAAgB,GAAhBA,KAAgB;IAAA,KAChBC,QAAoB,GAApBA,QAAoB;IAAA,KACpBC,OAAoB,GAApBA,OAAoB;IAAA,KACpBC,QAAsB,GAAtBA,QAAsB;IAAA,KACtBC,IAAsB,GAAtBA,IAAsB;IAAA,KACtBC,WAA4B,GAA5BA,WAA4B;IAAA5B,eAAA;IAEpC,IAAI,CAAC6B,WAAW,GAAG,IAAI,CAACN,KAAK,EAAEO,WAAW,EAAEC,OAAO;EACrD;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE;EACA,MAAMC,GAAGA,CAAC;IACRC,GAAG,GAAG,EAAE;IACRC,OAAO,GAAG,EAAE;IACZC,OAAO;IACPC,MAAM,GAAG,EAAE;IACXC,OAAO,GAAG,KAAK;IACfC,QAAQ,GAAG,KAAK;IAChBC,WAAW;IACXC,YAAY;IACZC,YAAY;IACZC,mBAAmB,GAAG,KAAK;IAC3BC,SAAS,GAAG,KAAK;IACjBC,SAAS;IACTC,WAAW,GAAG,KAAK;IACnBC,KAAK;IACLC,UAAU,GAAG,KAAK;IAClBC,IAAI,GAAG,KAAK;IACZC,OAAO,GAAG,KAAK;IACfC,iBAAiB,GAAG,KAAK;IACzBC,gBAAgB;IAChBC,WAAW,GAAG,CAAC;IACfC,0BAA0B,GAAG,KAAK;IAClCC,QAAQ,GAAG;EAYa,CAAC,EAA8B;IACvD,IAAIN,IAAI,EAAEF,KAAK,GAAG,KAAK;IACvB,IAAIV,MAAM,IAAIa,OAAO,EAAE;MACrB,MAAM,KAAIM,oBAAQ,EAAC,wDAAwD,CAAC;IAC9E;IACA,IAAInB,MAAM,IAAIF,OAAO,EAAE;MACrB,MAAM,KAAIqB,oBAAQ,EAAC,wDAAwD,CAAC;IAC9E;IAEA,MAAMC,YAAY,GAAGrB,OAAO;IAC5B,IAAI,CAAC,IAAI,CAACjB,SAAS,EAAE,MAAM,KAAIuC,kCAAqB,EAAC,CAAC;IACtD,MAAMC,iBAAiB,GAAG,IAAAC,6BAAe,EAACH,YAAY,CAAC;IACvD,MAAMI,QAAQ,GAAG,IAAI,CAAC1C,SAAS,CAAC0C,QAAQ;IACxC,MAAMC,cAAc,GAAG,KAAIC,wBAAc,EAACF,QAAQ,CAAC;IACnDG,iBAAM,CAACC,KAAK,CAAC,gCAAgC,CAAC;IAC9C,MAAMC,aAAa,GAAG,MAAMJ,cAAc,CAACK,iBAAiB,CAAC,CAAC;IAC9D,MAAM;MAAEC,MAAM;MAAEC;IAAS,CAAC,GAAG,MAAM,IAAI,CAACC,kBAAkB,CACxDtB,UAAU,EACVS,YAAY,EACZP,OAAO,EACPhB,GAAG,EACHI,OAAO,EACPC,QACF,CAAC;IACD,IAAI,CAAC6B,MAAM,CAACrE,MAAM,EAAE,OAAO,IAAI;IAE/B,MAAMwE,OAAO,GAAGC,8BAAe,CAACC,SAAS,CAACL,MAAM,CAAC;IAEjD,IAAI,CAAChD,MAAM,CAACsD,KAAK,CAAC,qCAAqCH,OAAO,CAACI,QAAQ,CAAC,CAAC,EAAE,CAAC;IAC5E,MAAMC,UAAU,GAAG,MAAM,IAAI,CAACC,0BAA0B,CAACN,OAAO,EAAE,CAACtB,IAAI,CAAC;IACxE,MAAM6B,kBAAkB,GAAGF,UAAU,CAACG,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,KAAK,CAACC,SAAS,CAAwB;IAC1F,MAAM,IAAI,CAACC,qBAAqB,CAACP,UAAU,EAAElC,YAAY,CAAC;IAE1D,MAAM;MAAE0C,gBAAgB;MAAEC,iBAAiB;MAAEC,iBAAiB;MAAEC,YAAY;MAAEC;IAAkB,CAAC,GAC/F,MAAM,IAAAC,sCAAiB,EAAC;MACtBtE,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBK,KAAK,EAAE,IAAI,CAACA,KAAK;MACjBkE,QAAQ,EAAE,IAAI;MACdhE,OAAO,EAAE,IAAI,CAACA,OAAO;MACrBoD,kBAAkB;MAClB5C,GAAG,EAAEqC,OAAO;MACZpC,OAAO;MACPE,MAAM;MACNoB,YAAY,EAAEE,iBAAiB;MAC/BnB,WAAW;MACXC,YAAY;MACZE,mBAAmB;MACnBC,SAAS;MACTC,SAAS;MACTC,WAAW;MACXG,IAAI;MACJF,KAAK;MACLG,OAAO;MACPI,0BAA0B;MAC1BH,iBAAiB;MACjBC,gBAAgB;MAChBC,WAAW;MACXsC,2BAA2B,EAAE,IAAI,CAACxE,SAAS,CAACyE,IAAI;MAChDrE,kBAAkB,EAAE,IAAI,CAACA,kBAAkB;MAC3CsE,qBAAqB,EAAEtC;IACzB,CAAC,CAAC;IAEJ,MAAMuC,UAAU,GAAG;MACjBV,gBAAgB;MAChBC,iBAAiB;MACjBU,SAAS,EAAE9C,IAAI;MACfqC,iBAAiB;MACjBjB,QAAQ;MACRH,aAAa;MACbsB;IACF,CAAC;IAED,MAAM3B,QAAQ,CAACmC,SAAS,CAAC,iBAAiB7D,OAAO,IAAI,KAAK,GAAG,CAAC;IAC9D,MAAMoD,YAAY,EAAEU,KAAK,CAAC,CAAC;IAC3B;IACA,OAAOH,UAAU;EACnB;EAEA,MAAMI,YAAYA,CAChBC,iBAAsC,EACtCC,MAO2B,EACC;IAC5B,IAAI,IAAI,CAACjF,SAAS,EAAE;MAClB,MAAM,KAAIqC,oBAAQ,EAChB,mGACF,CAAC;IACH;IACA,IAAI,CAAC,IAAI,CAAChC,KAAK,EAAE;MACf,MAAM,KAAIgC,oBAAQ,EAAC,sDAAsD,CAAC;IAC5E;IAEA,MAAM6C,cAAc,GAAG,MAAMC,OAAO,CAACC,GAAG,CACtCJ,iBAAiB,CAACpB,GAAG,CAAC,MAAOyB,OAAO,IAAK;MACvC,OAAO;QACLC,WAAW,EAAE,MAAM,IAAI,CAACjF,KAAK,CAACkF,kBAAkB,CAACF,OAAO,CAACC,WAAW,CAAC;QACrEE,YAAY,EAAEH,OAAO,CAACG,YAAY,GAAG,MAAM,IAAI,CAACnF,KAAK,CAACoF,2BAA2B,CAACJ,OAAO,CAACG,YAAY,CAAC,GAAG,EAAE;QAC5GE,YAAY,EAAEL,OAAO,CAACK,YAAY,IAAIT,MAAM,CAAC5D,WAAW,IAAI,OAAO;QACnEsE,YAAY,EAAEN,OAAO,CAACM,YAAY;QAClC3E,OAAO,EAAEqE,OAAO,CAACrE;MACnB,CAAC;IACH,CAAC,CACH,CAAC;IACD,MAAM4E,YAAY,GAAGvC,8BAAe,CAACC,SAAS,CAAC4B,cAAc,CAACtB,GAAG,CAAE5F,CAAC,IAAKA,CAAC,CAACsH,WAAW,CAAC,CAAC;IACxF;IACA;IACA;IACA,MAAM,IAAI,CAACjF,KAAK,CAACwF,MAAM,CAACD,YAAY,EAAE;MAAEE,MAAM,EAAE;IAAwB,CAAC,CAAC;IAC1E,MAAMrF,IAAI,GAAG,IAAAsF,iBAAO,EAACb,cAAc,CAACtB,GAAG,CAAE5F,CAAC,IAAKA,CAAC,CAACwH,YAAY,CAAC,CAACQ,IAAI,CAAC,CAAC,CAAC,CAACpC,GAAG,CAAEqC,GAAG,IAAKA,GAAG,CAACC,aAAa,CAACC,mBAAM,CAAC,CAAC;IAC9G,MAAMC,6BAA6B,GAAG,MAAMjB,OAAO,CAACC,GAAG,CACrDQ,YAAY,CAAChC,GAAG,CAAC,MAAOyC,EAAE,IAAK;MAC7B,IAAI,CAACA,EAAE,CAACC,UAAU,CAAC,CAAC,EAAE,OAAO,IAAI;MACjC,MAAMC,SAAS,GAAG,MAAM,IAAI,CAAClG,KAAK,CAACmG,0BAA0B,CAACH,EAAE,CAAC;MACjE,IAAI,CAACE,SAAS,EAAE,MAAM,IAAIE,KAAK,CAAC,oCAAoCJ,EAAE,CAAC7C,QAAQ,CAAC,CAAC,EAAE,CAAC;MACpF,IAAI,CAAC+C,SAAS,CAACG,IAAI,EAAE,OAAO,IAAI;MAChC,IAAIH,SAAS,CAACI,MAAM,CAACN,EAAE,CAACpF,OAAiB,CAAC,EAAE2F,OAAO,CAACL,SAAS,CAACG,IAAI,CAAC,EAAE,OAAO,IAAI;MAChF,IAAI,CAACzB,MAAM,CAACzD,mBAAmB,EAAE;QAC/B,MAAM,KAAIa,oBAAQ,EAAC,kBAAkBgE,EAAE,CAAC7C,QAAQ,CAAC,CAAC,0CAA0C+C,SAAS,CAACG,IAAI,CAAClD,QAAQ,CAAC,CAAC;AAC/H,+GAA+G,CAAC;MACxG;MACA,OAAO6C,EAAE,CAACH,aAAa,CAACC,mBAAM,CAAC;IACjC,CAAC,CACH,CAAC;;IAED;IACA,MAAM,IAAI,CAAC9F,KAAK,CAACwF,MAAM,CAAC,CAAC,GAAGpF,IAAI,EAAE,GAAG,IAAAsF,iBAAO,EAACK,6BAA6B,CAAC,CAAC,EAAE;MAC5ES,QAAQ,EAAE,KAAK;MACff,MAAM,EAAE,qCAAqCF,YAAY,CAAChH,MAAM;IAClE,CAAC,CAAC;IACF,MAAMuG,OAAO,CAACC,GAAG,CACfF,cAAc,CAACtB,GAAG,CAAC,MAAOyB,OAAO,IAAK;MACpC;MACA,MAAMyB,oBAAoB,GAAGzB,OAAO,CAACG,YAAY,CAACnH,MAAM,CAAE4H,GAAG,IAAK,CAACL,YAAY,CAACmB,iBAAiB,CAACd,GAAG,CAAC,CAAC;MACvGZ,OAAO,CAACG,YAAY,GAAG,MAAML,OAAO,CAACC,GAAG,CACtC0B,oBAAoB,CAAClD,GAAG,CAAEoD,CAAC,IAAK,IAAI,CAACC,0CAA0C,CAACD,CAAC,CAAC,CACpF,CAAC;IACH,CAAC,CACH,CAAC;IACD,MAAMvD,UAAU,GAAG,MAAM,IAAI,CAACpD,KAAK,CAAC6G,OAAO,CAACtB,YAAY,CAAC;IACzD,MAAMT,OAAO,CAACC,GAAG,CACf3B,UAAU,CAACG,GAAG,CAAC,MAAOuD,IAAI,IAAK;MAC7B,MAAM9B,OAAO,GAAGH,cAAc,CAACkC,IAAI,CAAEpJ,CAAC,IAAKA,CAAC,CAACsH,WAAW,CAACsB,OAAO,CAACO,IAAI,CAACd,EAAE,EAAE;QAAEgB,aAAa,EAAE;MAAK,CAAC,CAAC,CAAC;MACnG,IAAI,CAAChC,OAAO,EAAE,MAAM,IAAIoB,KAAK,CAAC,kBAAkBU,IAAI,CAACd,EAAE,CAAC7C,QAAQ,CAAC,CAAC,oBAAoB,CAAC;MACvF,IAAI,CAAC6B,OAAO,CAACG,YAAY,CAAC5G,MAAM,EAAE;MAClC,MAAM,IAAI,CAAC0I,qCAAqC,CAACH,IAAI,EAAE9B,OAAO,CAACG,YAAY,EAAEI,YAAY,CAAC;IAC5F,CAAC,CACH,CAAC;IAED,MAAM,IAAI,CAACvF,KAAK,CAACkH,oBAAoB,CAAC9D,UAAU,CAAC;IAEjD,MAAME,kBAAkB,GAAGF,UAAU,CAACG,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,KAAK,CAACC,SAAS,CAAwB;IAC1F,MAAMyD,8BAA8B,GAAG/D,UAAU,CAACgE,KAAK,CAAEN,IAAI,IAAK;MAChE,IAAI,CAACA,IAAI,CAACO,WAAW,EAAE,MAAM,IAAIjB,KAAK,CAAC,yBAAyBU,IAAI,CAACd,EAAE,CAAC7C,QAAQ,CAAC,CAAC,sBAAsB,CAAC;MACzG,OAAO2D,IAAI,CAACO,WAAW,KAAKC,wBAAW,CAACC,OAAO,IAAI,CAAC3C,MAAM,CAAC4C,gBAAgB;IAC7E,CAAC,CAAC;IACF,MAAMC,OAAO,GAAG,MAAM,IAAAxD,sCAAiB,EAAA5F,aAAA,CAAAA,aAAA,KAClCuG,MAAM;MACT5E,KAAK,EAAE,IAAI,CAACA,KAAK;MACjBsD,kBAAkB;MAClBuB,cAAc;MACd6C,qBAAqB,EAAEP,8BAA8B,GAAG/D,UAAU,CAACG,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACwC,EAAE,CAAC,GAAG2B,SAAS;MAC/FC,uBAAuB,EAAE,IAAI;MAC7B1D,QAAQ,EAAE,IAAI;MACdhE,OAAO,EAAE,IAAI,CAACA,OAAO;MACrBH,kBAAkB,EAAE,IAAI,CAACA,kBAAkB;MAC3CuB,WAAW,EAAE,IAAI;MACjBI,OAAO,EAAE,IAAI;MACbhB,GAAG,EAAE6E,YAAY;MACjB5E,OAAO,EAAEiE,MAAM,CAACjE;IAAiB,EAClC,CAAC;IAEF,MAAM;MAAEiD,gBAAgB;MAAEE;IAAkB,CAAC,GAAG2D,OAAO;IACvD,IAAII,WAAwC;IAC5C,IAAIjD,MAAM,CAACzG,IAAI,EAAE;MACf,MAAM;QAAE2J;MAAS,CAAC,GAAG,MAAM,IAAI,CAAC7H,QAAQ,CAAC8H,UAAU,CAAC;QAClD/H,KAAK,EAAE,IAAI,CAACA,KAAK,CAACO,WAAW;QAC7BG,GAAG,EAAE6E,YAAY;QACjByC,kBAAkB,EAAEzC,YAAY;QAChC0C,WAAW,EAAE,KAAK;QAClBC,YAAY,EAAE;MAChB,CAAC,CAAC;MACFL,WAAW,GAAGC,QAAQ;IACxB;IAEA,OAAO;MACLlE,gBAAgB;MAChBiE,WAAW;MACXhE,iBAAiB,EAAE,EAAE;MACrBU,SAAS,EAAE,KAAK;MAChBT,iBAAiB;MACjBjB,QAAQ,EAAE,EAAE;MACZH,aAAa,EAAE,KAAIM,8BAAe,EAAC;IACrC,CAAC;EACH;EAEA,MAAMmF,aAAaA,CACjBC,kBAAwC,EACxCxD,MAK2B,EACI;IAC/B,IAAI,IAAI,CAACjF,SAAS,EAAE;MAClB,MAAM,KAAIqC,oBAAQ,EAChB,mGACF,CAAC;IACH;IACA,IAAIqG,IAAsB;IAC1B,MAAMC,SAAS,GAAG1D,MAAM,CAACyD,IAAI;IAC7B,IAAIC,SAAS,EAAE;MACb,MAAMC,MAAM,GAAGC,gBAAM,CAACC,KAAK,CAACH,SAAS,CAAC;MACtC,IAAI;QACFD,IAAI,GAAG,MAAM,IAAI,CAAClI,QAAQ,CAACuI,gBAAgB,CAACH,MAAM,CAAC;MACrD,CAAC,CAAC,OAAOI,GAAQ,EAAE;QACjB,IAAIA,GAAG,CAACjJ,WAAW,CAACkJ,IAAI,KAAKC,uBAAY,CAACD,IAAI,EAAE,MAAMD,GAAG;QACzD;QACAN,IAAI,GAAG,MAAM,IAAAS,iCAAiB,EAACP,MAAM,CAACK,IAAI,EAAE,IAAI,CAAC5I,KAAK,EAAEuI,MAAM,CAACvI,KAAK,CAAC;MACvE;MACA;MACA;MACA,IAAI,CAACA,KAAK,CAACO,WAAW,CAACwI,gBAAgB,CAACR,MAAM,CAAC;MAC/C,IAAI,CAACvI,KAAK,CAACO,WAAW,CAACyI,aAAa,CAACC,8BAA8B,GAAG,IAAI;IAC5E;IACA,MAAMC,WAAW,GAAGb,IAAI,EAAEc,qCAAqC,CAAC,CAAC;IACjE,MAAMC,eAAe,GAAGhB,kBAAkB,CAAC7E,GAAG,CAAE8F,QAAQ,IAAK;MAC3D,OAAO;QACLpE,WAAW,EAAEqE,0BAAW,CAACC,UAAU,CAACF,QAAQ,CAACpE,WAAW,CAAC;QACzDE,YAAY,EAAEkE,QAAQ,CAAClE,YAAY,IAAI,EAAE;QACzCqE,OAAO,EAAEH,QAAQ,CAACG,OAAO;QACzB7I,OAAO,EAAE0I,QAAQ,CAAC1I,OAAO;QACzB8I,KAAK,EAAEJ,QAAQ,CAACI,KAAK;QACrBC,KAAK,EAAEL,QAAQ,CAACK,KAAK;QACrBC,QAAQ,EAAEN,QAAQ,CAACM,QAAQ;QAC3BC,eAAe,EAAE,CAACP,QAAQ,CAACO,eAAe,IAAI,EAAE,EAAErG,GAAG,CAAEqC,GAAG,KAAM;UAC9DI,EAAE,EAAEJ,GAAG,CAACI,EAAE;UACVpF,OAAO,EAAEgF,GAAG,CAAChF,OAAO;UACpBiJ,WAAW,EAAEjE,GAAG,CAACiE,WAAW,IAAI,IAAI;UACpCC,IAAI,EAAElE,GAAG,CAACkE,IAAI,IAAI;QACpB,CAAC,CAAC,CAAC;QACHC,kBAAkB,EAAEV,QAAQ,CAACU;MAC/B,CAAC;IACH,CAAC,CAAC;;IAEF;;IAEA,MAAMxE,YAAY,GAAG,IAAAG,iBAAO,EAAC0D,eAAe,CAAC7F,GAAG,CAAE5F,CAAC,IAAMA,CAAC,CAAC+L,KAAK,GAAG,IAAI,GAAG/L,CAAC,CAACsH,WAAY,CAAC,CAAC;IAC1F,MAAM+E,UAAU,GAAGZ,eAAe,CAAC7F,GAAG,CAAE0G,CAAC,IAAKA,CAAC,CAAChF,WAAW,CAAC;IAC5D,MAAMiF,kBAAkB,GAAG3E,YAAY,CAAChC,GAAG,CAAEyC,EAAE,IAAKA,EAAE,CAACH,aAAa,CAACC,mBAAM,CAAC,CAAC;IAC7E,MAAMqE,YAAY,GAAG,IAAAzE,iBAAO,EAAC0D,eAAe,CAAC7F,GAAG,CAAE5F,CAAC,IAAMA,CAAC,CAAC+L,KAAK,GAAG/L,CAAC,GAAG,IAAK,CAAC,CAAC;IAC9E,MAAM+E,aAAa,GAAG,MAAMoC,OAAO,CAACC,GAAG,CACrCoF,YAAY,CAAC5G,GAAG,CAAE6G,OAAO,IAAK,IAAAC,8CAAqB,EAAC,IAAI,CAACrK,KAAK,EAAEoK,OAAO,EAAE,IAAI,CAAC,CAChF,CAAC;IAED,MAAM,IAAI,CAACpK,KAAK,CAACwF,MAAM,CAAC0E,kBAAkB,EAAE;MAC1CI,qBAAqB,EAAE,KAAK;MAC5BjC,IAAI;MACJ5C,MAAM,EAAE;IACV,CAAC,CAAC;IACF,MAAM8E,WAAW,GAAIvE,EAAe,IAAqB;MACvD,MAAMqD,QAAQ,GAAGD,eAAe,CAACrC,IAAI,CAAEpJ,CAAC,IAAK;QAC3C,OAAOA,CAAC,CAACsH,WAAW,CAACsB,OAAO,CAACP,EAAE,EAAE;UAAEgB,aAAa,EAAE;QAAK,CAAC,CAAC;MAC3D,CAAC,CAAC;MACF,IAAI,CAACqC,QAAQ,EAAE,MAAM,IAAIjD,KAAK,CAAC,kBAAkBJ,EAAE,CAAC7C,QAAQ,CAAC,CAAC,qBAAqB,CAAC;MACpF,OAAOkG,QAAQ;IACjB,CAAC;IACD,MAAMmB,kBAAkB,GAAG,MAAM,IAAI,CAACxK,KAAK,CAAC6G,OAAO,CAACqD,kBAAkB,CAAC;;IAEvE;IACA,IAAItF,MAAM,CAAC6F,gBAAgB,IAAIvB,WAAW,EAAE;MAC1CsB,kBAAkB,CAAChM,OAAO,CAAEsI,IAAI,IAAK;QACnC,MAAM1G,IAAI,GAAG,IAAI,CAACL,kBAAkB,CAAC2K,wBAAwB,CAAC5D,IAAI,CAAC;QACnE,MAAMuC,QAAQ,GAAGkB,WAAW,CAACzD,IAAI,CAACd,EAAE,CAAC;QACrC5F,IAAI,CAAC5B,OAAO,CAAEoH,GAAG,IAAK;UACpB,MAAM+E,QAAQ,GAAGzB,WAAW,CAAC0B,oBAAoB,CAAChF,GAAG,CAACX,WAAW,CAAC;UAClE,IAAI0F,QAAQ,EAAE;YACZtB,QAAQ,CAAClE,YAAY,CAAChH,IAAI,CAACwM,QAAQ,CAACxH,QAAQ,CAAC,CAAC,CAAC;UACjD;QACF,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ;IAEA,MAAMC,UAAU,GAAG,CAAC,GAAGoH,kBAAkB,EAAE,GAAG9H,aAAa,CAAC;;IAE5D;IACA,MAAM,IAAAmI,qBAAU,EAACzH,UAAU,EAAE,MAAO0H,SAAS,IAAK;MAChD,MAAMzB,QAAQ,GAAGkB,WAAW,CAACO,SAAS,CAAC9E,EAAE,CAAC;MAC1C;MACA,MAAM,IAAA+E,gCAAO,EAACD,SAAS,EAAEzB,QAAQ,EAAE,IAAI,CAACrJ,KAAK,EAAE,IAAI,CAACI,IAAI,EAAE,IAAI,CAACL,kBAAkB,EAAE,IAAI,CAAC;IAC1F,CAAC,CAAC;;IAEF;IACA,MAAM+E,OAAO,CAACC,GAAG,CACfyF,kBAAkB,CAACjH,GAAG,CAAC,MAAOuD,IAAI,IAAK;MACrC,MAAMuC,QAAQ,GAAGkB,WAAW,CAACzD,IAAI,CAACd,EAAE,CAAC;MACrC,IAAIqD,QAAQ,CAACG,OAAO,EAAE,MAAM,IAAI,CAACxJ,KAAK,CAACgL,0BAA0B,CAAClE,IAAI,EAAEuC,QAAQ,CAACG,OAAO,CAAC;MACzF,IAAIH,QAAQ,CAACI,KAAK,EAAElL,MAAM,EAAE;QAC1B,MAAM,IAAI,CAAC0M,iBAAiB,CAACnE,IAAI,EAAEuC,QAAQ,CAACI,KAAK,CAAC;MACpD;IACF,CAAC,CACH,CAAC;;IAED;IACA;IACA;IACA;IACA,MAAM,IAAI,CAACzJ,KAAK,CAACkH,oBAAoB,CAAC9D,UAAU,CAAC;;IAEjD;IACA,MAAM,IAAAyH,qBAAU,EAACzH,UAAU,EAAE,MAAO0D,IAAI,IAAK,IAAI,CAAC9G,KAAK,CAACkL,6BAA6B,CAACpE,IAAI,CAAC,CAAC;IAE5F,MAAMxD,kBAAkB,GAAGF,UAAU,CAACG,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,KAAK,CAACC,SAAS,CAAC;IACnE,MAAMhD,GAAG,GAAGsC,8BAAe,CAACC,SAAS,CAAC+G,UAAU,CAAC;IACjD,MAAMvC,OAAO,GAAG,MAAM,IAAAxD,sCAAiB,EAAA5F,aAAA,CAAAA,aAAA,KAClCuG,MAAM;MACT5E,KAAK,EAAE,IAAI,CAACA,KAAK;MACjBsD,kBAAkB;MAClBuB,cAAc,EAAEuE,eAAe,CAAC7F,GAAG,CAAE0G,CAAC,KAAM;QAC1ChF,WAAW,EAAEgF,CAAC,CAAChF,WAAW;QAC1BtE,OAAO,EAAEsJ,CAAC,CAACtJ,OAAO;QAClBwE,YAAY,EAAE;MAChB,CAAC,CAAC,CAAC;MACHjB,QAAQ,EAAE,IAAI;MACdhE,OAAO,EAAE,IAAI,CAACA,OAAO;MACrBH,kBAAkB,EAAE,IAAI,CAACA,kBAAkB;MAC3CuB,WAAW,EAAE,IAAI;MACjBI,OAAO,EAAE,IAAI;MACbyJ,MAAM,EAAE,IAAI;MACZzK,GAAG;MACHC,OAAO,EAAEiE,MAAM,CAACjE,OAAiB;MACjCyK,sBAAsB,EAAExG,MAAM,CAAC6F;IAAgB,EAChD,CAAC;IAEF,MAAM;MAAE7G;IAAiB,CAAC,GAAG6D,OAAO;IACpC,IAAII,WAAwC;IAC5C,IAAIjD,MAAM,CAACzG,IAAI,EAAE;MACf,MAAMkN,WAAW,GAAGhD,IAAI,GAAG,MAAM,IAAI,CAACrI,KAAK,CAACO,WAAW,CAAC+K,QAAQ,CAACjD,IAAI,CAACkD,QAAQ,CAAC,CAAC,CAAC,GAAG5D,SAAS;MAC7F,MAAM;QAAEG;MAAS,CAAC,GAAG,MAAM,IAAI,CAAC7H,QAAQ,CAAC8H,UAAU,CAAC;QAClD/H,KAAK,EAAE,IAAI,CAACA,KAAK,CAACO,WAAW;QAC7BG,GAAG;QACHsH,kBAAkB,EAAEtH,GAAG;QACvBuH,WAAW,EAAE,KAAK;QAClBuD,UAAU,EAAEH,WAAW;QACvB;QACA;QACA;QACAI,eAAe,EAAE;MACnB,CAAC,CAAC;MACF5D,WAAW,GAAGC,QAAQ;IACxB;IAEA,OAAO;MACL4D,iBAAiB,EAAE9H,gBAAgB;MACnC+H,UAAU,EAAE/H,gBAAgB,CAACL,GAAG,CAAEuD,IAAI,IAAKA,IAAI,CAACd,EAAE,CAAC;MACnD6B;IACF,CAAC;EACH;;EAEA;AACF;AACA;AACA;EACE,MAAM+D,IAAIA,CAAC;IACTC,OAAO;IACPC,YAAY;IAAE;IACd/K,QAAQ;IACRF,MAAM;IACNF,OAAO,GAAG,EAAE;IACZO,YAAY;IACZE,SAAS,GAAG,KAAK;IACjBC,SAAS;IACT0K,YAAY,GAAG,KAAK;IACpBxK,KAAK;IACLO,0BAA0B,GAAG,KAAK;IAClCH,iBAAiB,GAAG,KAAK;IACzBC,gBAAgB;IAChBJ,UAAU,GAAG,KAAK;IAClB6C,qBAAqB,GAAG;EAW1B,CAAC,EAA+B;IAC9B,IAAI,CAAC,IAAI,CAAC1E,SAAS,EAAE,MAAM,KAAIuC,kCAAqB,EAAC,CAAC;IACtD,IAAI2J,OAAO,IAAIC,YAAY,EAAE,MAAM,IAAI1F,KAAK,CAAC,sDAAsD,CAAC;IACpG,MAAM/D,QAAkB,GAAG,IAAI,CAAC1C,SAAS,CAAC0C,QAAQ;IAClD,MAAMC,cAAc,GAAG,KAAIC,wBAAc,EAACF,QAAQ,CAAC;IACnD,MAAMK,aAAa,GAAI,MAAMJ,cAAc,CAACK,iBAAiB,CAAC,CAAqB;IACnF;IACA,MAAMqJ,IAAI,GAAG,IAAI;IACjB,MAAMtL,GAAG,GAAGoL,YAAY,KAAK,MAAMG,YAAY,CAAC,CAAC,CAAC;IAClD,IAAI,CAACvL,GAAG,EAAE,OAAO,IAAI;IACrB,IAAI,CAACd,MAAM,CAACsD,KAAK,CAAC,sCAAsCxC,GAAG,CAACyC,QAAQ,CAAC,CAAC,EAAE,CAAC;IACzE,MAAMC,UAAU,GAAG,MAAM,IAAI,CAACC,0BAA0B,CAAC3C,GAAG,CAAC;IAC7D,MAAM4C,kBAAkB,GAAGF,UAAU,CAACG,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,KAAK,CAACC,SAAS,CAAwB;IAC1F,MAAM,IAAI,CAACC,qBAAqB,CAACP,UAAU,EAAElC,YAAY,CAAC;IAE1D,MAAM;MAAE0C,gBAAgB;MAAEC,iBAAiB;MAAEE,YAAY;MAAEC;IAAkB,CAAC,GAAG,MAAM,IAAAC,sCAAiB,EAAC;MACvGtE,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBK,KAAK,EAAE,IAAI,CAACA,KAAK;MACjBkE,QAAQ,EAAE,IAAI;MACdhE,OAAO,EAAE,IAAI,CAACA,OAAO;MACrBW,MAAM;MACNyC,kBAAkB;MAClB5C,GAAG;MACHS,mBAAmB,EAAE,KAAK;MAC1BR,OAAO;MACPS,SAAS;MACTC,SAAS;MACTC,WAAW,EAAEyK,YAAY;MACzBrK,OAAO,EAAE,IAAI;MACbD,IAAI,EAAE,KAAK;MACXF,KAAK;MACL4J,MAAM,EAAE,IAAI;MACZrJ,0BAA0B;MAC1BH,iBAAiB;MACjBC,gBAAgB;MAChBuC,2BAA2B,EAAE,IAAI,CAACxE,SAAS,CAACyE,IAAI;MAChDrE,kBAAkB,EAAE,IAAI,CAACA,kBAAkB;MAC3CsE;IACF,CAAC,CAAC;IAEF,MAAM6H,WAAiC,GAAG;MACxCR,iBAAiB,EAAE9H,gBAAgB;MACnCuI,kBAAkB,EAAEtI,iBAAiB;MACrCnB,aAAa;MACbsB;IACF,CAAC;IAED,MAAMoI,WAAW,GAAG/J,QAAQ,CAACgK,gBAAgB,CAAC,CAAC;IAC/CH,WAAW,CAACI,QAAQ,GAAGF,WAAW,CAACG,SAAS,CAAC,CAAC,GAAG,IAAI,GAAGH,WAAW,CAACjJ,QAAQ,CAAC,CAAC;IAC9E,MAAMd,QAAQ,CAACmC,SAAS,CAAC,kBAAkB7D,OAAO,IAAI,KAAK,GAAG,CAAC;IAC/D,MAAMoD,YAAY,EAAEU,KAAK,CAAC,CAAC;IAC3B;IACA,OAAOyH,WAAW;IAElB,eAAeD,YAAYA,CAAA,EAAoC;MAC7D,IAAIlL,QAAQ,EAAE;QACZ,OAAOuB,cAAc,CAACkK,8BAA8B,CAAC,CAAC;MACxD;MACA,MAAMC,uBAAuB,GAAG,MAAMT,IAAI,CAACU,0BAA0B,CAAClL,UAAU,CAAC;MACjF,IAAI,CAACiL,uBAAuB,CAAClO,MAAM,EAAE,OAAO,IAAI;MAChD;MACA;MACA,MAAMoO,wBAAwB,GAAGnL,UAAU;MAC3C,MAAMoL,UAAU,GAAG,MAAAA,CAAA,KAAY;QAC7B,IAAI,CAACf,OAAO,EAAE,OAAOY,uBAAuB;QAC5C,IAAI,CAACZ,OAAO,CAACgB,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAChB,OAAO,CAACgB,QAAQ,CAAC,GAAG,CAAC,EAAE;UACpD,MAAMC,MAAM,GAAG,MAAMd,IAAI,CAACrM,SAAS,CAACuF,kBAAkB,CAAC2G,OAAO,CAAC;UAC/D,OAAO,CAACiB,MAAM,CAAC;QACjB;QACA,OAAOd,IAAI,CAACrM,SAAS,CAACoN,6BAA6B,CAAClB,OAAO,EAAEY,uBAAuB,EAAEE,wBAAwB,CAAC;MACjH,CAAC;MACD,MAAMpH,YAAY,GAAG,MAAMqH,UAAU,CAAC,CAAC;MACvC,IAAI,CAACrH,YAAY,CAAChH,MAAM,IAAIsN,OAAO,EAAE;QACnC,MAAMmB,aAAa,GAAG,MAAMhB,IAAI,CAACrM,SAAS,CAACsN,mBAAmB,CAAC,CAAC;QAChE,IAAID,aAAa,CAACzO,MAAM,EAAE;UACxB,MAAM,KAAIyD,oBAAQ,EAAC,gCAAgC6J,OAAO;AACpE;AACA,2EAA2E,CAAC;QACpE;MACF;MACA,IAAI,CAACtG,YAAY,CAAChH,MAAM,EAAE;QACxB,OAAO,IAAI;MACb;MACA,OAAOyE,8BAAe,CAACC,SAAS,CAACsC,YAAY,CAAC;IAChD;EACF;;EAEA;AACF;AACA;AACA;EACE,MAAM2H,KAAKA,CACTC,gBAAyB,EACzB9G,IAAc,EACd+G,KAAK,GAAG,KAAK,EACb3L,IAAI,GAAG,KAAK,EAC+C;IAC3D,IAAI,CAAC,IAAI,CAAC9B,SAAS,EAAE,MAAM,KAAIuC,kCAAqB,EAAC,CAAC;IACtD,MAAMG,QAAQ,GAAG,IAAI,CAAC1C,SAAS,CAAC0C,QAAQ;IACxC,MAAM+J,WAAW,GAAG,MAAM/J,QAAQ,CAACgL,oBAAoB,CAAC,CAAC;IACzD,MAAMC,KAAK,GAAG,MAAAA,CAAA,KAAoC;MAChD,IAAI,CAACH,gBAAgB,EAAE;QACrB,OAAO,IAAAI,qDAAmC,EAAClL,QAAQ,EAAE+J,WAAW,EAAE/F,IAAI,CAAC;MACzE;MACA,MAAMmH,mBAAmB,GAAG,MAAM,IAAAC,gDAA8B,EAACpL,QAAQ,CAAC;MAC1E,MAAMqL,kBAAkB,GAAG,MAAM,IAAI,CAAC/N,SAAS,CAACgO,YAAY,CAACR,gBAAgB,EAAE,IAAI,EAAE;QAAES,cAAc,EAAE;MAAK,CAAC,CAAC;MAC9G,MAAMC,wBAAwB,GAAG7K,8BAAe,CAACC,SAAS,CAACyK,kBAAkB,CAAC;MAC9E,MAAMI,iBAAiB,GAAGN,mBAAmB,CAACxP,MAAM,CAAE+P,cAAc,IAClEF,wBAAwB,CAACnH,iBAAiB,CAACqH,cAAc,CAACC,aAAa,CAAC,CAAC,CAC3E,CAAC;MACD,OAAO,IAAAC,0DAAwC,EAACH,iBAAiB,EAAE1B,WAAW,EAAE/F,IAAI,EAAE+G,KAAK,EAAE/K,QAAQ,CAACrC,KAAK,CAAC;IAC9G,CAAC;IACD,MAAMkO,SAAS,GAAG,MAAAA,CAAA,KAAY;MAC5B,MAAMC,uBAAuB,GAAG,IAAI,CAACxO,SAAS,CAAC3B,MAAM,CAACoQ,YAAY,CAAC,CAAC;MACpE,MAAMC,mBAAmB,GAAGlB,gBAAgB,GACxC,MAAM,IAAI,CAACxN,SAAS,CAACoN,6BAA6B,CAACI,gBAAgB,EAAEgB,uBAAuB,CAAC,GAC7FA,uBAAuB;MAC3B,OAAO,IAAAzI,iBAAO,EACZ2I,mBAAmB,CAAC9K,GAAG,CAAE0B,WAAW,IAAK;QACvC,MAAMqJ,YAAY,GAAGjM,QAAQ,CAACkM,MAAM,CAACC,YAAY,CAACvJ,WAAW,EAAE;UAAE+B,aAAa,EAAE;QAAK,CAAC,CAAC;QACvF,MAAMyH,cAAc,GAAGH,YAAY,CAACI,WAAW,EAAE9N,OAAO;QACxD,IAAI,CAAC6N,cAAc,EAAE,OAAO,IAAI;QAChCH,YAAY,CAACK,gBAAgB,CAAC,CAAC;QAC/B,OAAO;UAAE3I,EAAE,EAAEf,WAAW;UAAE2J,QAAQ,EAAE,CAACH,cAAc;QAAE,CAAC;MACxD,CAAC,CACH,CAAC;IACH,CAAC;IACD,IAAIhH,OAAsB;IAC1B,MAAMoH,WAAW,GAAG,CAACpN,IAAI;IACzB,IAAIoN,WAAW,EAAE;MACfpH,OAAO,GAAG,MAAM6F,KAAK,CAAC,CAAC;MACvB,MAAMjL,QAAQ,CAACrC,KAAK,CAACQ,OAAO,CAACkB,OAAO,CAAC,CAAC;MACtC,MAAM0B,UAAU,GAAGqE,OAAO,CAAClE,GAAG,CAAEuL,MAAM,IAAKA,MAAM,CAAChE,SAAS,CAAC;MAC5D,MAAM,IAAAiE,6CAAwB,EAAC,IAAI,CAACpP,SAAS,EAAEyD,UAAU,EAAsB,KAAK,CAAC;IACvF,CAAC,MAAM;MACLqE,OAAO,GAAG,MAAMyG,SAAS,CAAC,CAAC;MAC3B7L,QAAQ,CAACkM,MAAM,CAACS,aAAa,CAAC,CAAC;IACjC;IAEA,MAAM3M,QAAQ,CAACmC,SAAS,CAAC,OAAO,CAAC;IACjC,OAAO;MAAEiD,OAAO;MAAEwH,WAAW,EAAE,CAACJ;IAAY,CAAC;EAC/C;EAEA,MAAMK,kBAAkBA,CAAA,EAA2B;IACjD,MAAMC,WAAW,GAAG,IAAI,CAACxP,SAAS,CAAC0C,QAAQ,CAAC+M,iBAAiB,CAAC,CAAC;IAC/D,MAAMC,MAAM,GAAGF,WAAW,CAAC5L,GAAG,CAAEyC,EAAE,IAAKsJ,oBAAS,CAACC,QAAQ,CAACvJ,EAAE,CAACwJ,QAAQ,CAAC,CAAC;IACvE,MAAM,IAAI,CAACxP,KAAK,CAACO,WAAW,CAACC,OAAO,CAACiP,mBAAmB,CAACJ,MAAM,CAAC9L,GAAG,CAAEmM,CAAC,IAAKC,cAAG,CAACC,IAAI,CAACF,CAAC,CAAC,CAAC,CAAC;IACxFP,WAAW,CAAC5L,GAAG,CAAEyC,EAAE,IAAK,IAAI,CAACrG,SAAS,CAAC0C,QAAQ,CAACkM,MAAM,CAACsB,iBAAiB,CAAC7J,EAAE,CAACH,aAAa,CAAC8B,SAAS,CAAC,CAAC,CAAC;IACtG,MAAM,IAAI,CAAChI,SAAS,CAAC4O,MAAM,CAAC9J,KAAK,CAAC,wBAAwB,CAAC;IAC3D,OAAO0K,WAAW;EACpB;EAEA,MAAMW,qCAAqCA,CAAC1M,UAA+B,EAAExB,gBAAgB,GAAG,KAAK,EAAE;IACrGY,iBAAM,CAACC,KAAK,CAAC,mCAAmC,CAAC;IACjD,IAAI,CAAC7C,MAAM,CAACmQ,OAAO,CAAC,4CAA4C,CAAC;IACjE,MAAMC,OAAO,GAAG,MAAAA,CAAA,KAAY;MAC1B,MAAM3H,IAAI,GAAG,MAAM,IAAI,CAACrI,KAAK,CAACO,WAAW,CAAC8M,oBAAoB,CAAC,CAAC;MAChE,IAAI,CAAChF,IAAI,EAAE,OAAOV,SAAS;MAC3B,IAAI,CAACU,IAAI,CAACqB,KAAK,EAAE,OAAOrB,IAAI;MAC5B,MAAM4H,UAAU,GAAG5H,IAAI,CAAC4H,UAAU;MAClC,IAAI,CAACA,UAAU,EAAE,OAAOtI,SAAS;MACjC,OAAO,IAAI,CAAC3H,KAAK,CAACO,WAAW,CAAC+K,QAAQ,CAAC2E,UAAU,CAAC;IACpD,CAAC;IACD,MAAM5H,IAAI,GAAG,MAAM2H,OAAO,CAAC,CAAC;IAE5B,IAAIpO,gBAAgB,EAAE;MACpB,MAAMsO,2BAA2B,GAAG,KAAIC,uDAA2B,EAAC,IAAI,CAACnQ,KAAK,CAACO,WAAW,EAAE6C,UAAU,EAAEiF,IAAI,CAAC;MAC7G,MAAM6H,2BAA2B,CAACE,6BAA6B,CAAC,CAAC;MACjE5N,iBAAM,CAAC6N,IAAI,CAAC,CAAC;MACb,MAAM,IAAI,CAACC,kCAAkC,CAAClN,UAAU,CAAC;MACzD;IACF;IAEA,MAAMmN,oBAAoB,GAAG,KAAIC,sCAAoB,EAAC,IAAI,CAACxQ,KAAK,EAAEoD,UAAU,EAAE,IAAI,CAACxD,MAAM,EAAEyI,IAAI,CAAC;IAChG,MAAMkI,oBAAoB,CAACE,UAAU,CAAC,CAAC;IAEvCrN,UAAU,CAAC5E,OAAO,CAAEsM,SAAS,IAAK;MAChCyF,oBAAoB,CAACG,gCAAgC,CAAC5F,SAAS,CAAC;IAClE,CAAC,CAAC;IACF,IAAI,CAAClL,MAAM,CAACmQ,OAAO,CAAC,4CAA4C,CAAC;EACnE;EAEA,MAAMY,2BAA2BA,CAACvN,UAA+B,EAAE;IACjE,MAAMiF,IAAI,GAAG,MAAM,IAAI,CAACrI,KAAK,CAACO,WAAW,CAAC8M,oBAAoB,CAAC,CAAC;IAChE,MAAMuD,MAAM,GAAG5N,8BAAe,CAACC,SAAS,CAACG,UAAU,CAACG,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACwC,EAAE,CAAC,CAAC;IACrE,MAAM6K,WAAW,GAAG,MAAM,IAAAhG,qBAAU,EAACzH,UAAU,EAAE,MAAO0H,SAAS,IAAK;MACpE,OAAO,IAAI,CAACgG,kCAAkC,CAAChG,SAAS,EAAE8F,MAAM,EAAEvI,IAAI,CAAC;IACzE,CAAC,CAAC;IACF,MAAM0I,oBAAoB,GAAG/N,8BAAe,CAACgO,aAAa,CACxDH,WAAW,CAAClL,IAAI,CAAC,CAAC,CAACpC,GAAG,CAAEyC,EAAE,IAAKA,EAAE,CAACH,aAAa,CAAC8B,SAAS,CAAC,CAC5D,CAAC;IACD,IAAI,CAACoJ,oBAAoB,CAACxS,MAAM,EAAE;IAClC;IACA;IACA,MAAM,IAAI,CAACyB,KAAK,CAACO,WAAW,CAACyI,aAAa,CAACiI,iBAAiB,CAACF,oBAAoB,EAAE;MACjFG,KAAK,EAAE,KAAK;MACZC,iBAAiB,EAAE,IAAI;MACvBC,qBAAqB,EAAE,IAAI;MAC3B/I,IAAI;MACJ5C,MAAM,EAAE;IACV,CAAC,CAAC;IACF,MAAM,IAAAoF,qBAAU,EAACzH,UAAU,EAAE,MAAO0H,SAAS,IAAK;MAChD,MAAM,IAAI,CAACgG,kCAAkC,CAAChG,SAAS,EAAE8F,MAAM,EAAEvI,IAAI,EAAE,IAAI,CAAC;IAC9E,CAAC,CAAC;EACJ;EAEA,MAAc1E,qBAAqBA,CAACP,UAAuB,EAAElC,YAAqB,EAAE;IAClF,MAAMmQ,iBAAiB,GAAGjO,UAAU,CAACpF,MAAM,CAAEwF,CAAC,IAAK,CAACA,CAAC,CAAC8N,SAAS,CAAC,CAAC,CAAC;IAClE,MAAMhO,kBAAkB,GAAG+N,iBAAiB,CAAC9N,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,KAAK,CAACC,SAAS,CAAwB;IACjG,MAAM,IAAI,CAAC6N,uCAAuC,CAACjO,kBAAkB,CAAC;IACtE,MAAM,IAAI,CAACpD,OAAO,CAACsR,uBAAuB,CAACH,iBAAiB,EAAEnQ,YAAY,CAAC;IAC3E,IAAI,CAACuQ,qBAAqB,CAACnO,kBAAkB,CAAC;EAChD;EAEA,MAAcwN,kCAAkCA,CAC9ChG,SAA4B,EAC5B8F,MAAuB,EACvBvI,IAAW,EACXqJ,sBAAsB,GAAG,KAAK,EAC9B;IACA,MAAMC,aAAa,GAAG7G,SAAS,CAAC8G,kBAAkB,EAAEC,kBAAkB,CAAC,CAAC;IACxE,MAAMC,gBAAgB,GAAGH,aAAa,GAClC3O,8BAAe,CAACC,SAAS,CAAC0O,aAAa,CAACpO,GAAG,CAAEoD,CAAC,IAAKA,CAAC,CAACX,EAAE,CAAC,CAAC,GACzD,KAAIhD,8BAAe,EAAC,CAAC;IACzB,MAAM5C,IAAI,GAAG0K,SAAS,CAAC+G,kBAAkB,CAAC,CAAC;IAC3C,MAAMhB,WAA0B,GAAG,EAAE;IACrC,MAAM/L,OAAO,CAACC,GAAG,CACf3E,IAAI,CAACmD,GAAG,CAAC,MAAOqC,GAAG,IAAK;MACtB,IAAI,CAAC,IAAI,CAAC5F,KAAK,CAAC+R,UAAU,CAACnM,GAAG,CAACI,EAAE,CAAC,IAAI,CAACJ,GAAG,CAACI,EAAE,CAACC,UAAU,CAAC,CAAC,EAAE;MAC5D,IAAI,IAAA+L,yBAAK,EAACpM,GAAG,CAACI,EAAE,CAACpF,OAAO,CAAC,EAAE;MAC3B,IAAIgQ,MAAM,CAAClK,iBAAiB,CAACd,GAAG,CAACI,EAAE,CAAC,EAAE,OAAO,CAAC;MAC9C,IAAI8L,gBAAgB,CAACG,GAAG,CAACrM,GAAG,CAACI,EAAE,CAAC,EAAE,OAAO,CAAC;MAC1C,IAAIkM,eAAoC;MACxC,IAAI;QACFA,eAAe,GAAG7J,IAAI,GAClB,MAAM,IAAI,CAACrI,KAAK,CAACO,WAAW,CAAC4R,yBAAyB,CAACvM,GAAG,CAACI,EAAE,EAAEqC,IAAI,CAAC,GACpE,MAAM,IAAI,CAACrI,KAAK,CAACO,WAAW,CAAC6R,mBAAmB,CAACxM,GAAG,CAACI,EAAE,CAAC;MAC9D,CAAC,CAAC,OAAO2C,GAAG,EAAE;QACZ,IAAI+I,sBAAsB,EAAE,MAAM/I,GAAG;QACrC,IACEA,GAAG,YAAY0J,6BAAe,IAC9B1J,GAAG,YAAY2J,+BAAiB,IAChC3J,GAAG,YAAY4J,0BAAY,IAC3B5J,GAAG,YAAY6J,4BAAc,EAC7B;UACA3B,WAAW,CAAC1S,IAAI,CAACyH,GAAG,CAACI,EAAE,CAAC;UACxB;QACF;QACA,MAAM2C,GAAG;MACX;MAEA,IAAI,CAACuJ,eAAe,EAAE;QACpB,IAAI,CAACR,sBAAsB,EAAE;UAC3B;UACAb,WAAW,CAAC1S,IAAI,CAACyH,GAAG,CAACI,EAAE,CAAC;UACxB;QACF;QACA,MAAMyM,aAAa,GAAGpK,IAAI,GAAG,iBAAiBA,IAAI,CAACO,IAAI,GAAG,GAAG,MAAM;QACnE,MAAM,IAAIxC,KAAK,CACb,sBAAsB0E,SAAS,CAAC9E,EAAE,CAAC7C,QAAQ,CAAC,CAAC,yBAAyByC,GAAG,CAACI,EAAE,CAAC7C,QAAQ,CAAC,CAAC,yBAAyBsP,aAAa;AACzI,2CAA2C7M,GAAG,CAACI,EAAE,CAAC0M,sBAAsB,CAAC,CAAC;AAC1E,yIACU,CAAC;MACH;IACF,CAAC,CACH,CAAC;IACD,OAAO7B,WAAW;EACpB;EAEA,MAAMP,kCAAkCA,CAAClN,UAA+B,EAAE;IACxE,MAAMuP,KAAK,GAAG,KAAIC,cAAK,EAAsB,CAAC;IAC9C,MAAMC,QAAQ,GAAGA,CAAC/F,MAAmB,EAAE3H,YAA+C,EAAE2N,KAAkB,KAAK;MAC7G3N,YAAY,CAAC4N,GAAG,CAAC,CAAC,CAACvU,OAAO,CAAEoH,GAAG,IAAK;QAClC+M,KAAK,CAACK,OAAO,CAAC,KAAIC,aAAI,EAACrN,GAAG,CAACI,EAAE,CAAC7C,QAAQ,CAAC,CAAC,EAAEyC,GAAG,CAACI,EAAE,CAAC,CAAC;QAClD2M,KAAK,CAACO,OAAO,CAAC,KAAIC,aAAI,EAACrG,MAAM,CAAC3J,QAAQ,CAAC,CAAC,EAAEyC,GAAG,CAACI,EAAE,CAAC7C,QAAQ,CAAC,CAAC,EAAE2P,KAAK,CAAC,CAAC;MACtE,CAAC,CAAC;IACJ,CAAC;IACD1P,UAAU,CAAC5E,OAAO,CAAEsI,IAAI,IAAK;MAC3B6L,KAAK,CAACK,OAAO,CAAC,KAAIC,aAAI,EAACnM,IAAI,CAACd,EAAE,CAAC7C,QAAQ,CAAC,CAAC,EAAE2D,IAAI,CAACd,EAAE,CAAC,CAAC;MACpD6M,QAAQ,CAAC/L,IAAI,CAACd,EAAE,EAAEc,IAAI,CAAC3B,YAAY,EAAE,MAAM,CAAC;MAC5C0N,QAAQ,CAAC/L,IAAI,CAACd,EAAE,EAAEc,IAAI,CAACsM,eAAe,EAAE,KAAK,CAAC;MAC9CP,QAAQ,CAAC/L,IAAI,CAACd,EAAE,EAAEc,IAAI,CAACuM,qBAAqB,EAAE,KAAK,CAAC;IACtD,CAAC,CAAC;IACF,MAAMC,YAAY,GAAGlQ,UAAU,CAACG,GAAG,CAAEuD,IAAI,IAAKA,IAAI,CAACyM,qBAAqB,CAAC;IACzE,MAAMC,gBAAgB,GAAGxQ,8BAAe,CAACgO,aAAa,CAACsC,YAAY,CAAC3N,IAAI,CAAC,CAAC,CAAC;IAC3E,MAAM8N,0BAA0B,GAAGD,gBAAgB,CAACxV,MAAM,CAAEgI,EAAE,IAAK,CAAC5C,UAAU,CAAC2D,IAAI,CAAEvD,CAAC,IAAKA,CAAC,CAACwC,EAAE,CAACO,OAAO,CAACP,EAAE,CAAC,CAAC,CAAC;IAC7G,MAAM0N,qBAAqB,GAAG,MAAM,IAAI,CAAC1T,KAAK,CAACO,WAAW,CAACoT,wBAAwB,CACjF3Q,8BAAe,CAACC,SAAS,CAACwQ,0BAA0B,CACtD,CAAC;IACDC,qBAAqB,CAAClV,OAAO,CAAC,CAAC;MAAEsM,SAAS;MAAElK,OAAO;MAAEgT;IAAW,CAAC,KAAK;MACpE,MAAM9G,MAAM,GAAGhC,SAAS,CAACkD,aAAa,CAAC,CAAC,CAACnI,aAAa,CAAC+N,UAAU,CAAC;MAClEjB,KAAK,CAACK,OAAO,CAAC,KAAIC,aAAI,EAACnG,MAAM,CAAC3J,QAAQ,CAAC,CAAC,EAAE2J,MAAM,CAAC,CAAC;MAClD+F,QAAQ,CAAC/F,MAAM,EAAElM,OAAO,CAACuE,YAAY,EAAE,MAAM,CAAC;MAC9C0N,QAAQ,CAAC/F,MAAM,EAAElM,OAAO,CAACwS,eAAe,EAAE,KAAK,CAAC;MAChDP,QAAQ,CAAC/F,MAAM,EAAElM,OAAO,CAACyS,qBAAqB,EAAE,KAAK,CAAC;IACxD,CAAC,CAAC;IACF,IAAIQ,6BAA6B,GAAG,KAAK;IACzCzQ,UAAU,CAAC5E,OAAO,CAAEsM,SAAS,IAAK;MAChC,MAAMgJ,KAAK,GAAGnB,KAAK,CAACoB,QAAQ,CAACjJ,SAAS,CAAC9E,EAAE,CAAC7C,QAAQ,CAAC,CAAC,CAAC;MACrD,MAAM6Q,cAAc,GAAGlJ,SAAS,CAACyI,qBAAqB,CAAChQ,GAAG,CAAEqC,GAAG,IAAK+M,KAAK,CAACoB,QAAQ,CAACnO,GAAG,CAACzC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAACwC,IAAI,CAAC,CAAC;MAC1G,MAAMsO,QAAQ,GAAG,CAAC,GAAGH,KAAK,EAAE,GAAGE,cAAc,CAAC;MAC9C,MAAME,eAA0B,GAAGD,QAAQ,CAAC1Q,GAAG,CAAE4Q,IAAI,KAAM;QACzD;QACAC,MAAM,EAAEzB,KAAK,CAAC0B,IAAI,CAACF,IAAI,CAACC,MAAM,CAAC,CAAEE,IAAI;QACrC;QACAC,MAAM,EAAE5B,KAAK,CAAC0B,IAAI,CAACF,IAAI,CAACI,MAAM,CAAC,CAAED,IAAI;QACrCxK,IAAI,EAAEqK,IAAI,CAACG;MACb,CAAC,CAAC,CAAC;MACHxJ,SAAS,CAACkJ,cAAc,GAAGE,eAAe;;MAE1C;MACA;MACA;MACA;MACA,MAAMM,SAAS,GAAG1J,SAAS,CAACyI,qBAAqB,CAAChQ,GAAG,CAAEqC,GAAG,IAAKA,GAAG,CAACzC,QAAQ,CAAC,CAAC,CAAC;MAC9E,MAAMsR,kBAAkB,GAAG,IAAAC,cAAI,EAC7BR,eAAe,CAAC3Q,GAAG,CAAE4Q,IAAI,IAAK,CAACA,IAAI,CAACI,MAAM,CAACpR,QAAQ,CAAC,CAAC,EAAEgR,IAAI,CAACC,MAAM,CAACjR,QAAQ,CAAC,CAAC,CAAC,CAAC,CAACwC,IAAI,CAAC,CACvF,CAAC;MACD,MAAMgP,gBAAgB,GAAG,IAAAC,oBAAU,EAACH,kBAAkB,EAAED,SAAS,CAAC,CAACxW,MAAM,CAAEgI,EAAE,IAAKA,EAAE,KAAK8E,SAAS,CAAC9E,EAAE,CAAC7C,QAAQ,CAAC,CAAC,CAAC;MAEjH,IAAIwR,gBAAgB,CAACpW,MAAM,EAAE;QAC3BsV,6BAA6B,GAAG,IAAI;QACpC,IAAI,CAACjU,MAAM,CAACiV,IAAI,CAAC,yBAAyB/J,SAAS,CAAC9E,EAAE,CAAC7C,QAAQ,CAAC,CAAC,KAAKwR,gBAAgB,CAACG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACpG,MAAMC,aAAa,GAAGJ,gBAAgB,CAACpR,GAAG,CAAEyC,EAAE,IAAK;UACjD;UACA,OAAO2M,KAAK,CAAC0B,IAAI,CAACrO,EAAE,CAAC,CAAEsO,IAAI;QAC7B,CAAC,CAAC;QACFxJ,SAAS,CAACyI,qBAAqB,CAACpV,IAAI,CAAC,GAAG4W,aAAa,CAAC;MACxD;IACF,CAAC,CAAC;IACF,IAAIlB,6BAA6B,EAAE;MACjC,MAAM,IAAI,CAACvD,kCAAkC,CAAClN,UAAU,CAAC;IAC3D;EACF;EAEA4R,4BAA4BA,CAAC5R,UAA+B,EAAE6R,SAA8B,EAAE;IAC5FA,SAAS,CAACzW,OAAO,CAAEsQ,MAAM,IAAK;MAC5B,MAAMoG,iBAAiB,GAAG9R,UAAU,CAAC2D,IAAI,CAAEvD,CAAC,IAAKA,CAAC,CAACwC,EAAE,CAACO,OAAO,CAACuI,MAAM,CAAC9I,EAAE,CAAC,CAAC;MACzE,IAAIkP,iBAAiB,EAAE;QACrB,MAAMC,eAAe,GAAGD,iBAAiB,CAACE,UAAU,CAACC,iBAAiB,CAACC,uBAAU,CAACpV,OAAO,CAAC;QAC1F,IAAIiV,eAAe,EAAEA,eAAe,CAAC9a,IAAI,GAAGyU,MAAM,CAACyG,WAAW,CAAClb,IAAI,CAAC,KAC/D6a,iBAAiB,CAACE,UAAU,CAACjX,IAAI,CAAC2Q,MAAM,CAACyG,WAAW,CAAC;MAC5D;IACF,CAAC,CAAC;EACJ;EAEAC,qBAAqBA,CAACpS,UAA+B,EAAY;IAC/D,MAAMU,iBAAiB,GAAGV,UAAU,CAACG,GAAG,CAAEuD,IAAI,IAAK;MACjD,MAAM2O,UAAU,GAAG3O,IAAI,CAACsO,UAAU,CAACC,iBAAiB,CAACC,uBAAU,CAACpV,OAAO,CAAC;MACxE,MAAMwV,OAAO,GAAGD,UAAU,EAAEpb,IAAI,EAAEsb,WAAW,EAAE5O,IAAI,CAAE6O,CAAC,IAAKA,CAAC,CAACC,QAAQ,KAAKP,uBAAU,CAACQ,GAAG,CAAC;MACzF,OAAOJ,OAAO,EAAErb,IAAI,EAAE0b,gBAAgB;IACxC,CAAC,CAAC;IACF,OAAO,IAAArQ,iBAAO,EAAC5B,iBAAiB,CAAC;EACnC;EAEA,MAAMkS,iBAAiBA,CAAC;IACtB5B,MAAM;IACN/L,IAAI;IACJ4N,qBAAqB,GAAG,KAAK;IAC7B7K,sBAAsB,GAAG;EAM3B,CAAC,EAGE;IACD,MAAM;MAAEN,SAAS;MAAElK;IAAQ,CAAC,GAAG,MAAM,IAAI,CAACsV,0BAA0B,CAAC9B,MAAM,EAAE/L,IAAI,EAAE+C,sBAAsB,CAAC;IAC1G,MAAM+K,iBAAiB,GAAG,IAAI,CAACnW,KAAK,CAACO,WAAW,CAACC,OAAO,CAAC4V,kBAAkB,CAACC,QAAQ,CAACvL,SAAS,CAACkD,aAAa,CAAC,CAAC,CAAC;IAC/G,IAAImI,iBAAiB,EAAE;MACrB,IAAIA,iBAAiB,CAACG,SAAS,EAAE;QAC/B,IAAI,CAAC1W,MAAM,CAACsD,KAAK,CACf,0CAA0C4H,SAAS,CAAClC,IAAI,gCAAgCuN,iBAAiB,CAAC9P,IAAI,CAACkQ,IAAI,EACrH,CAAC;QACD,IAAI,CAACnC,MAAM,CAACoC,qBAAqB,EAAE;UACjC,MAAM,IAAIpQ,KAAK,CACb,gDAAgD0E,SAAS,CAAClC,IAAI,mCAChE,CAAC;QACH;QACA,IAAIuN,iBAAiB,CAACG,SAAS,KAAK,IAAI,EAAE;UACxC;UACA,MAAMG,aAAa,GAAG9G,cAAG,CAACC,IAAI,CAACwE,MAAM,CAACoC,qBAAqB,CAAC;UAC5D5V,OAAO,CAAC8V,YAAY,CAAC;YAAErQ,IAAI,EAAEoQ,aAAa;YAAElO,MAAM,EAAE4N,iBAAiB,CAAC5N;UAAO,CAAC,CAAC;UAC/E3H,OAAO,CAAC+V,eAAe,CAACR,iBAAiB,CAAC9P,IAAI,CAAC;QACjD,CAAC,MAAM;UACL,MAAMiQ,SAAS,GAAGH,iBAAiB,CAACG,SAAS;UAC7C1V,OAAO,CAAC8V,YAAY,CAAC;YAAErQ,IAAI,EAAEiQ,SAAS,CAACG,aAAa;YAAElO,MAAM,EAAE+N,SAAS,CAACM;UAAgB,CAAC,CAAC;UAC1FhW,OAAO,CAAC+V,eAAe,CAACL,SAAS,CAACO,iBAAiB,CAAC;QACtD;MACF,CAAC,MAAM;QACL;QACAjW,OAAO,CAACkW,SAAS,CAACX,iBAAiB,CAAC9P,IAAI,CAAC;QACzC,IAAI,CAACzG,MAAM,CAACsD,KAAK,CACf,0CAA0C4H,SAAS,CAAClC,IAAI,sBAAsBuN,iBAAiB,CAAC9P,IAAI,CAACkQ,IAAI,EAC3G,CAAC;QACD3V,OAAO,CAACmW,GAAG,CAACpW,OAAO,GAAGC,OAAO,CAACmW,GAAG,CAACpW,OAAO,IAAIqW,6BAAkB,CAACC,gBAAgB,CAACd,iBAAiB,CAAC;MACrG;MACA,IAAI,CAACnW,KAAK,CAACO,WAAW,CAACC,OAAO,CAAC4V,kBAAkB,CAACc,eAAe,CAACpM,SAAS,CAACkD,aAAa,CAAC,CAAC,CAAC;IAC9F;IACA,IAAIiI,qBAAqB,EAAErV,OAAO,CAACuW,QAAQ,CAAC,CAAC;IAC7C,OAAO;MAAErM,SAAS;MAAElK;IAAQ,CAAC;EAC/B;EAEA,MAAMsV,0BAA0BA,CAC9B9B,MAAyB,EACzB/L,IAAW,EACX+C,sBAAsB,GAAG,KAAK,EAI7B;IACD,MAAMgM,UAAU,GAAG,IAAI,CAAC9W,WAAW;IACnC;IACA;IACA,MAAMwK,SAAS,GAAG,MAAM,IAAI,CAAC9K,KAAK,CAACO,WAAW,CAAC8W,OAAO,CAACC,kBAAkB,CAAClD,MAAa,CAAC;IACxF,MAAMmD,aAAa,GAAG,IAAAC,8BAAiB,EAACpD,MAAM,CAACgB,UAAU,CAAC;IAC1D,MAAMqC,SAAS,GAAG,IAAI,CAACC,mCAAmC,CAACH,aAAa,CAAC;IACzE,MAAM;MAAE3W,OAAO;MAAE6I,KAAK;MAAEuK;IAAe,CAAC,GAAG,MAAM,IAAI,CAAChU,KAAK,CAACO,WAAW,CAAC8W,OAAO,CAACM,0BAA0B,CAACvD,MAAM,CAAC;IAClHxT,OAAO,CAACgX,MAAM,GAAG;MACf5R,EAAE,EAAE;QAAEhG,KAAK,EAAEoU,MAAM,CAACpU,KAAK,IAAKoU,MAAM,CAACyD,YAAuB;QAAEjP,IAAI,EAAEwL,MAAM,CAACxL;MAAK,CAAC;MACjFP,IAAI,EAAEA,IAAI,GAAG;QAAErI,KAAK,EAAEqI,IAAI,CAACrI,KAAK;QAAE4I,IAAI,EAAEP,IAAI,CAACO,IAAI;QAAE2N,IAAI,EAAElO,IAAI,CAACkO,IAAI,CAAC,CAAC,CAACpT,QAAQ,CAAC;MAAE,CAAC,GAAGwE;IACtF,CAAC;IACDyP,UAAU,CAACU,GAAG,CAAClX,OAAO,CAAC;IACvB,IAAIoT,cAAc,EAAE,IAAI,CAAC1T,WAAW,CAACwX,GAAG,CAAC9D,cAAc,CAAC;IACxD,IAAI,CAACI,MAAM,CAACxT,OAAO,EAAE,MAAM,IAAIwF,KAAK,CAAC,4CAA4C,CAAC;IAClF0E,SAAS,CAACiN,UAAU,CAACnX,OAAO,EAAEwT,MAAM,CAACxT,OAAO,EAAEyH,IAAI,EAAE+L,MAAM,CAACoC,qBAAqB,EAAEpL,sBAAsB,CAAC;IACzGgM,UAAU,CAACU,GAAG,CAAChN,SAAS,CAAC;IACzB,IAAIzC,IAAI,EAAE+O,UAAU,CAACU,GAAG,CAACzP,IAAI,CAAC;IAC9BoB,KAAK,CAACjL,OAAO,CAAEwZ,IAAI,IAAKZ,UAAU,CAACU,GAAG,CAACE,IAAI,CAACA,IAAI,CAAC,CAAC;IAClD,IAAIP,SAAS,EAAEA,SAAS,CAACjZ,OAAO,CAAEwZ,IAAI,IAAKZ,UAAU,CAACU,GAAG,CAACE,IAAI,CAAC5D,MAAM,CAAC,CAAC;IACvE,OAAO;MAAEtJ,SAAS;MAAElK;IAAQ,CAAC;EAC/B;EAEA,MAAMqX,WAAWA,CAACC,iBAAoC,EAAEC,WAAiB,EAAE;IACzE,MAAM3X,OAAO,GAAG,MAAM,IAAI,CAAC4X,uBAAuB,CAACF,iBAAiB,EAAEC,WAAW,CAAC;IAClF3X,OAAO,CAAChC,OAAO,CAAE6Z,GAAG,IAAK,IAAI,CAAC/X,WAAW,CAACwX,GAAG,CAACO,GAAG,CAAC,CAAC;IACnD,OAAOH,iBAAiB;EAC1B;EAEA,MAAME,uBAAuBA,CAACF,iBAAoC,EAAEC,WAAiB,EAAwB;IAC3G,MAAMrN,SAAS,GACboN,iBAAiB,CAACnK,cAAc;IAAI;IACnC,MAAM,IAAI,CAAC/N,KAAK,CAACO,WAAW,CAAC8W,OAAO,CAACC,kBAAkB,CAACY,iBAAwB,CAAC,CAAC;IACrF,MAAMtX,OAAO,GAAG,MAAMkK,SAAS,CAACwN,WAAW,CAACJ,iBAAiB,CAAClS,EAAE,CAACpF,OAAO,EAAY,IAAI,CAACN,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC;IACjH,IAAI6X,WAAW,EAAEvX,OAAO,CAAC2X,cAAc,CAACJ,WAAW,CAAC;IACpD,MAAMZ,aAAa,GAAG,IAAAC,8BAAiB,EAACU,iBAAiB,CAAC9C,UAAU,CAAC;IACrE,MAAMqC,SAAS,GAAG,IAAI,CAACC,mCAAmC,CAACH,aAAa,CAAC;IACzE3W,OAAO,CAACwU,UAAU,GAAG8C,iBAAiB,CAAC9C,UAAU;IACjDxU,OAAO,CAACyG,WAAW,GAAG6Q,iBAAiB,CAAC7Q,WAAW;IACnD,MAAMmR,eAAe,GAAGf,SAAS,CAAClU,GAAG,CAAEyU,IAAI,IAAKA,IAAI,CAAC5D,MAAM,CAAC;IAC5D,OAAO,CAACxT,OAAO,EAAE,GAAG4X,eAAe,CAAC;EACtC;EAEQd,mCAAmCA,CAACe,cAA+B,EAAoB;IAC7F,MAAMhB,SAA2B,GAAG,EAAE;IACtCgB,cAAc,CAACja,OAAO,CAAE+Y,aAAa,IAAK;MACxC,MAAMmB,eAAe,GAAGC,0BAAa,CAACC,mBAAmB,CAACrB,aAAa,CAACsB,MAAM,CAAC;MAC/E,IAAIH,eAAe,CAACna,MAAM,EAAEgZ,aAAa,CAACuB,uBAAuB,CAACJ,eAAe,CAAC;MAClFjB,SAAS,CAACtZ,IAAI,CAAC,GAAGua,eAAe,CAAC;IACpC,CAAC,CAAC;IACF,OAAOjB,SAAS;EAClB;EAEA,MAAcpU,0BAA0BA,CAAC3C,GAAoB,EAAEqY,qBAAqB,GAAG,IAAI,EAAwB;IACjH,MAAMC,kBAAkB,GAAGtY,GAAG,CAAC6C,GAAG,CAAEyC,EAAE,IAAKA,EAAE,CAACH,aAAa,CAAC8B,SAAS,CAAC,CAAC;IACvE,MAAMsR,MAAM,GAAG,MAAM,IAAI,CAAC5Y,WAAW,CAAC6Y,oBAAoB,CAACF,kBAAkB,CAAC;IAC9E,IAAID,qBAAqB,EAAE;MACzB,MAAM,IAAI,CAACpZ,SAAS,CAAC0C,QAAQ,CAAC8W,gBAAgB,CAACC,8BAA8B,CAAC,CAAC;MAC/E;MACA,IAAI,CAACzZ,SAAS,CAAC0Z,uBAAuB,CAAC,CAAC;IAC1C,CAAC,MAAM;MACLJ,MAAM,CAACza,OAAO,CAAEwH,EAAE,IAAK,IAAI,CAACrG,SAAS,CAAC2Z,mBAAmB,CAACtT,EAAE,CAAC,CAAC;IAChE;IAEA,OAAO,IAAI,CAACrG,SAAS,CAACkH,OAAO,CAACmS,kBAAkB,CAAC;EACnD;EAEQvH,qBAAqBA,CAACrO,UAA+B,EAAE;IAC7D,MAAMmW,0BAA0B,GAAGnW,UAAU,CAC1CpF,MAAM,CAAEwF,CAAC,IAAK,CAACA,CAAC,CAACoO,kBAAkB,IAAI,IAAI,CAAC5R,KAAK,CAAC+R,UAAU,CAACvO,CAAC,CAACwC,EAAE,CAAC,CAAC,CACnEzC,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACwC,EAAE,CAAC7C,QAAQ,CAAC,CAAC,CAAC;IAC9B,IAAIoW,0BAA0B,CAAChb,MAAM,EAAE;MACrC,MAAM,KAAIib,kCAAuB,EAACD,0BAA0B,CAAC;IAC/D;EACF;EAEA,MAAchI,uCAAuCA,CAACnO,UAA+B,EAAE;IACrF,MAAMqW,iBAAiB,GAAG,MAAO3O,SAA4B,IAAK;MAChE,MAAM4O,eAAe,GAAG5O,SAAS,CAAC6O,qBAAqB,CAAC,CAAC;MACzD,MAAMpZ,WAAW,GAAG,IAAI,CAACZ,SAAS,CAACK,KAAK,CAACO,WAAW;MACpD,MAAMuE,OAAO,CAACC,GAAG,CACf2U,eAAe,CAACnW,GAAG,CAAC,MAAOqW,KAAK,IAAK;QACnC,IAAI,CAACA,KAAK,CAAC3T,UAAU,CAAC,CAAC,EAAE;QACzB,MAAMC,SAAS,GAAG,MAAM3F,WAAW,CAACsZ,wBAAwB,CAACD,KAAK,CAAC;QACnE,IAAI,CAAC1T,SAAS,EAAE;QAChB,MAAMtF,OAAO,GAAG,MAAMsF,SAAS,CAACoS,WAAW,CAACsB,KAAK,CAAChZ,OAAO,EAAYL,WAAW,CAACC,OAAO,CAAC;QACzF,IAAII,OAAO,CAACkZ,QAAQ,EAAE;UACpB,MAAM,IAAI1T,KAAK,CACb,mBAAmB0E,SAAS,CAAC9E,EAAE,CAAC7C,QAAQ,CAAC,CAAC,sBAAsByW,KAAK,CAACzW,QAAQ,CAAC,CAAC,aAClF,CAAC;QACH;MACF,CAAC,CACH,CAAC;IACH,CAAC;IACD,MAAM,IAAA4W,eAAI,EAAC3W,UAAU,EAAG0H,SAAS,IAAK2O,iBAAiB,CAAC3O,SAAS,CAAC,EAAE;MAAEkP,WAAW,EAAE,IAAAC,2CAAyB,EAAC;IAAE,CAAC,CAAC;EACnH;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE,MAAMrT,0CAA0CA,CAACkG,MAAmB,EAAwB;IAC1F,IAAI,IAAAoN,0BAAM,EAACpN,MAAM,CAAClM,OAAO,CAAC,EAAE;MAC1B,OAAOkM,MAAM;IACf;IACA,MAAMqN,KAAK,GAAGrN,MAAM,CAAClM,OAAO,IAAI,GAAG,CAAC,CAAC;IACrC,MAAMoF,EAAE,GAAG8G,MAAM,CAACjH,aAAa,CAAC8B,SAAS,CAAC;IAC1C,MAAM1F,YAAY,GAAG,MAAM,IAAI,CAACjC,KAAK,CAACoa,4BAA4B,CAACpU,EAAE,EAAEmU,KAAK,CAAC;IAC7E,IAAI,CAAClY,YAAY,EAAE;MACjB,MAAM,IAAImE,KAAK,CAAC,4CAA4C+T,KAAK,SAASrN,MAAM,CAAC3J,QAAQ,CAAC,CAAC,GAAG,CAAC;IACjG;IACA,OAAO2J,MAAM,CAACjH,aAAa,CAAC5D,YAAY,CAAC;EAC3C;EAEA,MAAcgJ,iBAAiBA,CAACH,SAAoB,EAAErB,KAAiB,EAAE;IACvE,MAAM4Q,YAAY,GAAGvP,SAAS,CAACrH,KAAK,CAAC6W,UAAU,CAAC7Q,KAAK;IAErDA,KAAK,CAACjL,OAAO,CAAEwZ,IAAI,IAAK;MACtB,IAAIA,IAAI,CAACuC,MAAM,EAAE;QACf,MAAMC,KAAK,GAAGH,YAAY,CAACI,SAAS,CAAEC,CAAC,IAAKA,CAAC,CAACtW,IAAI,KAAK4T,IAAI,CAAC5T,IAAI,CAAC;QACjE,IAAIoW,KAAK,KAAK,CAAC,CAAC,EAAE;UAChBH,YAAY,CAACM,MAAM,CAACH,KAAK,EAAE,CAAC,CAAC;QAC/B;QACA;MACF;MACA,MAAMI,WAAW,GAAGP,YAAY,CAACtT,IAAI,CAAE2T,CAAC,IAAKA,CAAC,CAACtW,IAAI,KAAK4T,IAAI,CAAC5T,IAAI,CAAC;MAClE,IAAIwW,WAAW,EAAE;QACfA,WAAW,CAACC,QAAQ,GAAGC,MAAM,CAAClL,IAAI,CAACoI,IAAI,CAAC+C,OAAO,CAAC;MAClD,CAAC,MAAM;QACLV,YAAY,CAAClc,IAAI,CACf,KAAI6c,uBAAU,EAAC;UAAEC,IAAI,EAAE,GAAG;UAAE7W,IAAI,EAAE4T,IAAI,CAAC5T,IAAI;UAAEyW,QAAQ,EAAEC,MAAM,CAAClL,IAAI,CAACoI,IAAI,CAAC+C,OAAO,CAAC;UAAEG,IAAI,EAAE;QAAM,CAAC,CACjG,CAAC;MACH;IACF,CAAC,CAAC;IAEF,IAAI,CAACb,YAAY,CAAC9b,MAAM,EACtB,MAAM,IAAI6H,KAAK,CAAC,8BAA8B0E,SAAS,CAAC9E,EAAE,CAAC7C,QAAQ,CAAC,CAAC,0BAA0B,CAAC;EACpG;EAEA,MAAM8D,qCAAqCA,CACzC6D,SAAoB,EACpB3F,YAA2B,EAC3BgW,aAA4B,EAC5B;IACA,MAAMC,UAAU,GAAGpY,8BAAe,CAACC,SAAS,CAAC,CAAC,GAAGkY,aAAa,EAAE,GAAGhW,YAAY,CAAC,CAAC;IACjF,MAAMkW,cAAc,GAAGvQ,SAAS,CAAC9E,EAAE,CAAC7C,QAAQ,CAAC,CAAC;IAC9C,MAAMmY,eAAkC,GAAGxQ,SAAS,CAACrH,KAAK,CAACC,SAAS;IACpE,MAAMtD,IAAI,GAAG,CAAC,GAAGkb,eAAe,CAACnW,YAAY,CAAC4N,GAAG,CAAC,CAAC,EAAE,GAAGuI,eAAe,CAAClI,eAAe,CAACL,GAAG,CAAC,CAAC,CAAC;IAC9F,MAAMwI,gBAAgB,GAAG,IAAI,CAACxb,kBAAkB,CAACyb,eAAe,CAAC1Q,SAAS,CAAC;IAC3E1K,IAAI,CAAC5B,OAAO,CAAEoH,GAAG,IAAK;MACpB,MAAM6V,YAAY,GAAGL,UAAU,CAACxQ,oBAAoB,CAAChF,GAAG,CAACI,EAAE,CAAC;MAC5D,IAAIyV,YAAY,EAAE;QAChB,MAAMC,QAAQ,GAAG9V,GAAG,CAACI,EAAE,CAAC7C,QAAQ,CAAC,CAAC;QAClC,MAAMwY,WAAW,GAAGJ,gBAAgB,CAACK,cAAc,CAACF,QAAQ,CAAC,EAAEG,cAAc,GAAG,CAAC;QACjF,IAAI,CAACF,WAAW,EAAE;UAChB,MAAM,IAAIvV,KAAK,CACb,uCAAuCsV,QAAQ,wDAAwDL,cAAc,GACvH,CAAC;QACH;QACA,IAAI,CAACzb,MAAM,CAACsD,KAAK,CAAC,aAAamY,cAAc,iBAAiBK,QAAQ,eAAeD,YAAY,CAAC7a,OAAO,GAAG,CAAC;QAC7GgF,GAAG,CAACI,EAAE,GAAGyV,YAAY;QACrB7V,GAAG,CAAC+V,WAAW,GAAGA,WAAW;MAC/B;IACF,CAAC,CAAC;IACF,MAAM,IAAI,CAACG,qCAAqC,CAAChR,SAAS,EAAEsQ,UAAU,CAACW,aAAa,CAAC,CAAC,CAAC;EACzF;;EAEA;AACF;AACA;AACA;AACA;EACE,MAAMD,qCAAqCA,CAAChR,SAAoB,EAAEsQ,UAAoB,EAAE;IACtF,MAAME,eAAkC,GAAGxQ,SAAS,CAACrH,KAAK,CAACC,SAAS;IACpE4X,eAAe,CAAClG,UAAU,CAAC5W,OAAO,CAAEwd,GAAG,IAAK;MAC1C,MAAMC,KAAK,GAAGD,GAAG,CAACE,WAAW;MAC7B,IAAI,CAACD,KAAK,EAAE;MACZ,MAAME,KAAK,GAAGf,UAAU,CAACrU,IAAI,CAAEJ,CAAC,IAAKA,CAAC,CAACyV,UAAU,CAAC,GAAGH,KAAK,CAACvJ,sBAAsB,CAAC,CAAC,GAAG,CAAC,CAAC;MACxF,IAAIyJ,KAAK,EAAE;QACT,MAAME,YAAY,GAAG/S,0BAAW,CAACC,UAAU,CAAC4S,KAAK,CAAC;QAClD,IAAI,CAACvc,MAAM,CAACsD,KAAK,CACf,aAAa4H,SAAS,CAAC9E,EAAE,CAAC7C,QAAQ,CAAC,CAAC,gBAAgB8Y,KAAK,CAAC9Y,QAAQ,CAAC,CAAC,eAAekZ,YAAY,CAACzb,OAAO,GACzG,CAAC;QACDob,GAAG,CAACE,WAAW,GAAGG,YAAY;QAC9B,IAAIL,GAAG,CAACM,cAAc,EAAEN,GAAG,CAACM,cAAc,GAAGD,YAAY;MAC3D;IACF,CAAC,CAAC;IAEFvR,SAAS,CAACrH,KAAK,CAAC+F,OAAO,GAAG,MAAM,IAAI,CAACxJ,KAAK,CAACuc,qCAAqC,CAACjB,eAAe,CAAClG,UAAU,CAAC;IAE5G,MAAMoH,0BAA0B,GAAG,CAAC,MAAM,IAAI,CAACzc,kBAAkB,CAAC0c,qBAAqB,CAAC3R,SAAS,CAAC,EAAE4R,SAAS,CAAC,CAAC;IAC/G,MAAMT,KAAK,GAAGU,8CAAwB,CAAC3W,EAAE;IACzC,MAAM3L,IAAI,GAAG;MAAE8K,YAAY,EAAEqX;IAA2B,CAAC;IACzD,MAAMI,iBAAiB,GAAG9R,SAAS,CAAC+R,MAAM,CAACzH,UAAU,CAAC0H,aAAa,CAACb,KAAK,CAAC;IAC1E,IAAIW,iBAAiB,EAAE;MACrB;MACAhf,MAAM,CAACmf,MAAM,CAACH,iBAAiB,CAACviB,IAAI,EAAEA,IAAI,CAAC;MAC3C;IACF;IACA,MAAM2iB,SAAS,GAAG,KAAIC,4BAAkB,EAACtV,SAAS,EAAEA,SAAS,EAAEsU,KAAK,EAAEtU,SAAS,EAAEtN,IAAI,CAAC;IACtFyQ,SAAS,CAAC+R,MAAM,CAACzH,UAAU,CAACjX,IAAI,CAAC6e,SAAS,CAAC;EAC7C;EAEA,MAActQ,0BAA0BA,CAACwQ,iBAAiB,GAAG,KAAK,EAAE;IAClE,MAAMxc,GAAG,GAAGwc,iBAAiB,GACzB,MAAM,IAAI,CAACvd,SAAS,CAACsN,mBAAmB,CAAC,CAAC,GAC1C,MAAM,IAAI,CAACtN,SAAS,CAACwd,iBAAiB,CAAC,CAAC;IAC5C,MAAMC,YAAY,GAAG,IAAI,CAACzd,SAAS,CAAC3B,MAAM,CAACqf,WAAW,CAAC3c,GAAG,CAAC;IAC3D,IAAI,CAAC0c,YAAY,CAAC7e,MAAM,EAAE;MACxB,OAAOmC,GAAG;IACZ;IACA,MAAM4c,gBAAgB,GAAGta,8BAAe,CAACC,SAAS,CAACma,YAAY,CAAC;IAChE,OAAO1c,GAAG,CAAC1C,MAAM,CAAEgI,EAAE,IAAK,CAACsX,gBAAgB,CAAC5W,iBAAiB,CAACV,EAAE,CAAC,CAAC;EACpE;EAEA,MAAclD,kBAAkBA,CAC9Boa,iBAA0B,EAC1Bjb,YAAgC,EAChCP,OAAgB,EAChBhB,GAAa,EACbI,OAAgB,EAChBC,QAAiB,EACuC;IACxD,MAAM8B,QAAkB,GAAG,EAAE;IAC7B,MAAMP,cAAc,GAAG,KAAIC,wBAAc,EAAC,IAAI,CAAC5C,SAAS,CAAC0C,QAAQ,CAAC;IAClE,IAAIX,OAAO,EAAE;MACX,MAAM6b,oBAAoB,GAAG,IAAI,CAAC5d,SAAS,CAAC3B,MAAM,CAACoQ,YAAY,CAAC,CAAC;MACjE,OAAO;QAAExL,MAAM,EAAE2a,oBAAoB;QAAE1a,QAAQ,EAAE;MAAG,CAAC;IACvD;IAEA,MAAM4J,uBAAuB,GAAG,MAAM,IAAI,CAACC,0BAA0B,CAACwQ,iBAAiB,CAAC;IAExF,MAAMM,oBAAoB,GAAG,CAAC,MAAM,IAAI,CAAC7d,SAAS,CAAC3B,MAAM,CAACyf,eAAe,CAAC,CAAC,EAAEla,GAAG,CAAEyC,EAAE,IAClFA,EAAE,CAACH,aAAa,CAAC8B,SAAS,CAC5B,CAAC;IAED,IAAI6V,oBAAoB,CAACjf,MAAM,EAAE;MAC/B,MAAM6e,YAAY,GAAG,IAAI,CAACzd,SAAS,CAAC3B,MAAM,CAACqf,WAAW,CAACG,oBAAoB,CAAC;MAC5E,MAAMF,gBAAgB,GAAGta,8BAAe,CAACC,SAAS,CAACma,YAAY,CAAC;MAChEI,oBAAoB,CAAChf,OAAO,CAAEwH,EAAE,IAAK;QACnC,IAAIsX,gBAAgB,CAAC5W,iBAAiB,CAACV,EAAE,CAAC,EAAE;UAC1C,MAAMwU,KAAK,GAAGgD,oBAAoB,CAAC/C,SAAS,CAAEjX,CAAC,IAAKA,CAAC,CAAC+C,OAAO,CAACP,EAAE,CAAC,CAAC;UAClEwX,oBAAoB,CAAC7C,MAAM,CAACH,KAAK,EAAE,CAAC,CAAC;QACvC;MACF,CAAC,CAAC;IACJ;IAEA,IAAI9Z,GAAG,CAACnC,MAAM,EAAE;MACd,MAAMgH,YAAY,GAAG,MAAM,IAAAsF,qBAAU,EAACnK,GAAG,EAAE,MAAOsF,EAAE,IAAK;QACvD,MAAM,CAAC0X,YAAY,EAAE9c,OAAO,CAAC,GAAGoF,EAAE,CAAC2X,KAAK,CAAC,GAAG,CAAC;QAC7C,MAAMC,WAAW,GAAG,IAAI,CAACje,SAAS,CAACke,SAAS,CAAC7X,EAAE,CAAC;QAChD,IAAI4X,WAAW,EAAE;UACf,MAAMhN,MAAM,GAAG,MAAM,IAAI,CAACjR,SAAS,CAACoN,6BAA6B,CAAC2Q,YAAY,EAAEjR,uBAAuB,CAAC;UACxG,OAAOmE,MAAM,CAACrN,GAAG,CAAE0B,WAAW,IAAKA,WAAW,CAACY,aAAa,CAACjF,OAAO,CAAC,CAAC;QACxE;QACA,MAAMqE,WAAW,GAAG,MAAM,IAAI,CAACtF,SAAS,CAACuF,kBAAkB,CAACwY,YAAY,CAAC;QACzE,IAAI,CAACR,iBAAiB,EAAE;UACtB,MAAMY,eAAe,GAAG,MAAM,IAAI,CAACne,SAAS,CAACoe,sBAAsB,CAAC9Y,WAAW,CAAC;UAChF,IAAI6Y,eAAe,CAACE,QAAQ,KAAK,KAAK,EAAE,OAAO,IAAI;QACrD;QACA,OAAO/Y,WAAW,CAACY,aAAa,CAACjF,OAAO,CAAC;MAC3C,CAAC,CAAC;MAEF,OAAO;QAAEgC,MAAM,EAAE,IAAA8C,iBAAO,EAACH,YAAY,CAACI,IAAI,CAAC,CAAC,CAAC;QAAE9C;MAAS,CAAC;IAC3D;IAEA,IAAI/B,OAAO,EAAE;MACX,OAAO;QAAE8B,MAAM,EAAE4a,oBAAoB;QAAE3a;MAAS,CAAC;IACnD;IAEA,IAAI9B,QAAQ,EAAE;MACZ,OAAO;QAAE6B,MAAM,EAAEN,cAAc,CAACkK,8BAA8B,CAAC,CAAC;QAAE3J;MAAS,CAAC;IAC9E;IAEA,MAAMob,8BAA8B,GAAG,CAAC,GAAGxR,uBAAuB,EAAE,GAAG+Q,oBAAoB,CAAC;IAE5F,IAAIN,iBAAiB,IAAIjb,YAAY,EAAE;MACrC,MAAMic,0BAA0B,GAAG,MAAM,IAAI,CAACve,SAAS,CAACK,KAAK,CAACO,WAAW,CAAC4d,cAAc,CACtF1R,uBAAuB,EACvB,KACF,CAAC;MACDyR,0BAA0B,CAAC1f,OAAO,CAAEyG,WAAW,IAAK;QAClD,IAAIA,WAAW,CAACrE,OAAO,IAAIwd,iBAAM,CAACC,KAAK,CAACpZ,WAAW,CAACrE,OAAO,CAAC,IAAIwd,iBAAM,CAACE,EAAE,CAACrZ,WAAW,CAACrE,OAAO,EAAEqB,YAAY,CAAC,EAAE;UAC5GY,QAAQ,CAAC1E,IAAI,CAAC,YAAY8G,WAAW,CAAC9B,QAAQ,CAAC,CAAC,+BAA+BlB,YAAY,EAAE,CAAC;QAChG;MACF,CAAC,CAAC;IACJ;IAEA,OAAO;MAAEW,MAAM,EAAEqb,8BAA8B,CAAC1a,GAAG,CAAEyC,EAAE,IAAKA,EAAE,CAACH,aAAa,CAAC8B,SAAS,CAAC,CAAC;MAAE9E;IAAS,CAAC;EACtG;EAmBA,aAAa0b,QAAQA,CAAC,CACpB5e,SAAS,EACT6e,GAAG,EACHC,UAAU,EACV5e,MAAM,EACNC,QAAQ,EACRC,kBAAkB,EAClBC,KAAK,EACLC,QAAQ,EACRC,OAAO,EACPC,QAAQ,EACRue,YAAY,EACZte,IAAI,EACJC,WAAW,CAeZ,EAAE;IACD,MAAMT,MAAM,GAAG6e,UAAU,CAACE,YAAY,CAACC,0BAAc,CAAC5Y,EAAE,CAAC;IACzD,MAAM9B,QAAQ,GAAG,IAAIzE,YAAY,CAC/BE,SAAS,EACTC,MAAM,EACNC,MAAM,EACNC,QAAQ,EACRC,kBAAkB,EAClBC,KAAK,EACLC,QAAQ,EACRC,OAAO,EACPC,QAAQ,EACRC,IAAI,EACJC,WACF,CAAC;IACD,MAAMwe,OAAO,GAAG,KAAIC,kBAAO,EAAC5a,QAAQ,EAAEtE,MAAM,EAAE8e,YAAY,CAAC;IAC3D,MAAMK,MAAM,GAAG,KAAIC,gBAAM,EAAC9a,QAAQ,EAAEtE,MAAM,EAAE8e,YAAY,CAAC;IACzD,MAAMO,eAAe,GAAG,KAAIC,+BAAe,EAAChb,QAAQ,EAAEtE,MAAM,CAAC;IAC7D,MAAMuf,gBAAgB,GAAG,KAAIC,iCAAgB,EAAClb,QAAQ,EAAEtE,MAAM,CAAC;IAC/D,MAAMyf,QAAQ,GAAG,KAAIC,mBAAQ,EAACpb,QAAQ,CAAC;IACvC,MAAMqb,eAAe,GAAG,KAAIC,kCAAe,EAACxf,KAAK,CAAC;IAClDwe,GAAG,CAACiB,QAAQ,CAACV,MAAM,EAAEF,OAAO,EAAEQ,QAAQ,EAAEJ,eAAe,EAAEE,gBAAgB,EAAEI,eAAe,CAAC;IAC3F,OAAOrb,QAAQ;EACjB;AACF;AAACwb,OAAA,CAAAjgB,YAAA,GAAAA,YAAA;AAAAhB,eAAA,CA5sCYgB,YAAY,WAuoCR,EAAE;AAAAhB,eAAA,CAvoCNgB,YAAY,kBAwoCD,CACpBkgB,4BAAe,EACfC,gBAAS,EACTC,sBAAY,EACZC,sBAAY,EACZC,0BAAc,EACdpD,8CAAwB,EACxBqD,oBAAW,EACXC,sBAAY,EACZC,wBAAa,EACbC,0BAAc,EACdC,kCAAkB,EAClBC,kCAAkB,EAClBC,gCAAiB,CAClB;AAAA7hB,eAAA,CAtpCUgB,YAAY,aAupCN8gB,kBAAW;AAuD9B3B,0BAAc,CAAC4B,UAAU,CAAC/gB,YAAY,CAAC;AAAC,IAAAghB,QAAA,GAAAf,OAAA,CAAAliB,OAAA,GAEzBiC,YAAY","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_cli","data","require","_graph","_getFlattenedDependencies","_workspace","_semver","_interopRequireDefault","_lodash","_componentId","_constants","_legacy","_pMapSeries","_loader","_componentsPendingImport","_logger","_bitError","_pMap","_insights","_pkgModules","_harmonyModules","_scope","_issues","_dependencyResolver","_config","_builder","_laneId","_importer","_export","_unmergedComponents","_componentVersion","_objects","_globalConfig","_component","_exceptions","_dependencies","_snapCmd","_snapping","_tagCmd","_resetCmd","_tagModelComponent","_tagFromScope","_snapFromScope","_generateCompFromScope","_flattenedEdges","_snapDistanceCmd","_resetComponent","_application","_legacy2","_lanesModules","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","SnappingMain","constructor","workspace","logger","issues","insights","dependencyResolver","scope","exporter","builder","importer","deps","application","objectsRepo","legacyScope","objects","tag","ids","message","version","editor","snapped","unmerged","releaseType","preReleaseId","ignoreIssues","ignoreNewestVersion","skipTests","skipTasks","skipAutoTag","build","unmodified","soft","persist","ignoreBuildErrors","rebuildDepsGraph","incrementBy","disableTagAndSnapPipelines","failFast","BitError","exactVersion","OutsideWorkspaceError","validExactVersion","validateVersion","consumer","componentsList","ComponentsList","loader","start","newComponents","listNewComponents","bitIds","warnings","getComponentsToTag","compIds","ComponentIdList","fromArray","debug","toString","components","loadComponentsForTagOrSnap","consumerComponents","map","c","state","_consumer","throwForVariousIssues","taggedComponents","autoTaggedResults","publishedPackages","stagedConfig","removedComponents","tagModelComponent","snapping","packageManagerConfigRootDir","path","exitOnFirstFailedTask","tagResults","isSoftTag","onDestroy","write","tagFromScope","tagDataPerCompRaw","params","tagDataPerComp","Promise","all","tagData","componentId","resolveComponentId","dependencies","resolveMultipleComponentIds","versionToTag","prereleaseId","componentIds","import","reason","compact","flat","dep","changeVersion","LATEST","additionalComponentIdsToFetch","id","hasVersion","modelComp","getBitObjectModelComponent","Error","head","getRef","isEqual","useCache","filteredDependencies","hasWithoutVersion","d","getCompIdWithExactVersionAccordingToSemver","getMany","comp","find","ignoreVersion","updateDependenciesVersionsOfComponent","loadManyCompsAspects","shouldUsePopulateArtifactsFrom","every","buildStatus","BuildStatus","Succeed","rebuildArtifacts","results","populateArtifactsFrom","undefined","copyLogFromPreviousSnap","exportedIds","exported","exportMany","idsWithFutureScope","allVersions","exportOrigin","snapFromScope","snapDataPerCompRaw","lane","laneIdStr","laneId","LaneId","parse","importLaneObject","err","name","LaneNotFound","createLaneInScope","setCurrentLaneId","scopeImporter","shouldOnlyFetchFromCurrentLane","laneCompIds","toComponentIdsIncludeUpdateDependents","snapDataPerComp","snapData","ComponentID","fromString","aspects","files","isNew","mainFile","newDependencies","isComponent","type","removeDependencies","allCompIds","s","componentIdsLatest","newCompsData","newComp","generateCompFromScope","preferDependencyGraph","getSnapData","existingComponents","updateDependents","getComponentDependencies","fromLane","searchWithoutVersion","pMapSeries","component","addDeps","addAspectsFromConfigObject","updateSourceFiles","executeOnCompAspectReCalcSlot","isSnap","updateDependentsOnLane","updatedLane","loadLane","toLaneId","laneObject","exportHeadsOnly","snappedComponents","snappedIds","snap","pattern","legacyBitIds","skipAutoSnap","self","getIdsToSnap","snapResults","autoSnappedResults","currentLane","getCurrentLaneId","laneName","isDefault","listDuringMergeStateComponents","tagPendingComponentsIds","getTagPendingComponentsIds","shouldThrowForNoMatching","getCompIds","includes","compId","filterIdsFromPoolIdsByPattern","allTagPending","listPotentialTagIds","reset","componentPattern","force","getCurrentLaneObject","untag","removeLocalVersionsForAllComponents","candidateComponents","getComponentsWithOptionToUntag","idsMatchingPattern","idsByPattern","includeDeleted","idsMatchingPatternBitIds","componentsToUntag","modelComponent","toComponentId","removeLocalVersionsForMultipleComponents","softUntag","softTaggedComponentsIds","bySoftTagged","idsToRemoveSoftTags","componentMap","bitMap","getComponent","removedVersion","nextVersion","clearNextVersion","versions","isRealUntag","result","updateComponentsVersions","markAsChanged","isSoftUntag","resetNeverExported","notExported","getNotExportedIds","hashes","BitObject","makeHash","fullName","deleteObjectsFromFS","h","Ref","from","updateComponentId","_addFlattenedDependenciesToComponents","profile","getLane","forkedFrom","flattenedDependenciesGetter","FlattenedDependenciesGetter","populateFlattenedDependencies","stop","_addFlattenedDepsGraphToComponents","flattenedEdgesGetter","FlattenedEdgesGetter","buildGraph","populateFlattenedAndEdgesForComp","throwForDepsFromAnotherLane","allIds","missingDeps","throwForDepsFromAnotherLaneForComp","flattenedMissingDeps","uniqFromArray","importWithoutDeps","cache","ignoreMissingHead","includeVersionHistory","componentsToCheck","isDeleted","throwForLegacyDependenciesInsideHarmony","throwForComponentIssues","throwForPendingImport","throwForMissingObjects","depsFromModel","componentFromModel","getAllDependencies","depsFromModelIds","isExported","isTag","has","isPartOfHistory","isPartOfLaneHistoryOrMain","isPartOfMainHistory","VersionNotFound","ComponentNotFound","HeadNotFound","ParentNotFound","laneOrMainStr","toStringWithoutVersion","graph","Graph","addEdges","label","get","setNode","Node","setEdge","Edge","devDependencies","extensionDependencies","allFlattened","flattenedDependencies","allFlattenedUniq","allFlattenedWithoutCurrent","componentsAndVersions","getComponentsAndVersions","versionStr","someCompsHaveMissingFlattened","edges","outEdges","flattenedEdges","allEdges","edgesWithBitIds","edge","source","node","attr","target","flattened","flattenedFromEdges","uniq","missingFlattened","difference","warn","join","missingBitIds","_updateComponentsByTagResult","tagResult","matchingComponent","existingBuilder","extensions","findCoreExtension","Extensions","builderData","_getPublishedPackages","builderExt","pkgData","aspectsData","a","aspectId","pkg","publishedPackage","_addCompToObjects","shouldValidateVersion","_addCompFromScopeToObjects","unmergedComponent","unmergedComponents","getEntry","unrelated","hash","previouslyUsedVersion","unrelatedHead","setUnrelated","addAsOnlyParent","unrelatedLaneId","headOnCurrentLane","addParent","log","UnmergedComponents","buildSnapMessage","removeComponent","validate","objectRepo","sources","findOrAddComponent","artifactFiles","getArtifactsFiles","artifacts","transformArtifactsFromVinylToSource","consumerComponentToVersion","origin","defaultScope","add","addVersion","file","_enrichComp","consumerComponent","modifiedLog","_getObjectsToEnrichComp","obj","loadVersion","addModifiedLog","artifactObjects","artifactsFiles","artifactsSource","ArtifactFiles","fromVinylsToSources","vinyls","populateRefsFromSources","shouldClearCacheFirst","idsWithoutVersions","appIds","loadAllAppsAsAspects","componentFsCache","deleteAllDependenciesDataCache","clearAllComponentsCache","clearComponentCache","componentsMissingFromScope","ComponentsPendingImport","throwForComponent","dependenciesIds","getAllDependenciesIds","depId","getModelComponentIfExist","isLegacy","pMap","concurrency","concurrentComponentsLimit","isHash","range","getExactVersionBySemverRange","currentFiles","filesystem","delete","index","findIndex","f","splice","currentFile","contents","Buffer","content","SourceFile","base","test","currentBitIds","updatedIds","componentIdStr","legacyComponent","dependenciesList","getDependencies","updatedBitId","depIdStr","packageName","findDependency","getPackageName","UpdateDepsAspectsSaveIntoDepsResolver","toStringArray","ext","extId","extensionId","found","startsWith","updatedExtId","newExtensionId","createAspectListFromExtensionDataList","dependenciesListSerialized","extractDepsFromLegacy","serialize","DependencyResolverAspect","existingExtension","config","findExtension","assign","extension","ExtensionDataEntry","includeUnmodified","listTagPendingIds","localOnlyIds","byLocalOnly","localOnlyListIds","softTaggedComponents","snappedComponentsIds","bySnappedOnMain","idWithoutVer","split","idIsPattern","isPattern","componentStatus","getComponentStatusById","modified","tagPendingBitIdsIncludeSnapped","tagPendingComponentsLatest","latestVersions","semver","valid","gt","provider","cli","loggerMain","globalConfig","createLogger","SnappingAspect","snapCmd","SnapCmd","tagCmd","TagCmd","tagFromScopeCmd","TagFromScopeCmd","snapFromScopeCmd","SnapFromScopeCmd","resetCmd","ResetCmd","snapDistanceCmd","SnapDistanceCmd","register","exports","WorkspaceAspect","CLIAspect","LoggerAspect","IssuesAspect","InsightsAspect","ScopeAspect","ExportAspect","BuilderAspect","ImporterAspect","GlobalConfigAspect","DependenciesAspect","ApplicationAspect","MainRuntime","addRuntime","_default"],"sources":["snapping.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { Graph, Node, Edge } from '@teambit/graph.cleargraph';\nimport { LegacyOnTagResult } from '@teambit/legacy/dist/scope/scope';\nimport { FlattenedDependenciesGetter } from '@teambit/legacy/dist/scope/component-ops/get-flattened-dependencies';\nimport { WorkspaceAspect, OutsideWorkspaceError, Workspace } from '@teambit/workspace';\nimport semver, { ReleaseType } from 'semver';\nimport { compact, difference, uniq } from 'lodash';\nimport { ComponentID, ComponentIdList } from '@teambit/component-id';\nimport { Extensions, LATEST, BuildStatus } from '@teambit/legacy/dist/constants';\nimport { Consumer } from '@teambit/legacy/dist/consumer';\nimport { ComponentsList } from '@teambit/legacy.component-list';\nimport pMapSeries from 'p-map-series';\nimport loader from '@teambit/legacy/dist/cli/loader';\nimport ComponentsPendingImport from '@teambit/legacy/dist/consumer/exceptions/components-pending-import';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { BitError } from '@teambit/bit-error';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component/consumer-component';\nimport pMap from 'p-map';\nimport { InsightsAspect, InsightsMain } from '@teambit/insights';\nimport { validateVersion } from '@teambit/pkg.modules.semver-helper';\nimport { concurrentComponentsLimit } from '@teambit/harmony.modules.concurrency';\nimport { ScopeAspect, ScopeMain } from '@teambit/scope';\nimport { Lane, ModelComponent } from '@teambit/legacy/dist/scope/models';\nimport { IssuesAspect, IssuesMain } from '@teambit/issues';\nimport { Component } from '@teambit/component';\nimport { DependencyResolverAspect, DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { ExtensionDataEntry } from '@teambit/legacy/dist/consumer/config';\nimport { BuilderAspect, BuilderMain } from '@teambit/builder';\nimport { LaneId } from '@teambit/lane-id';\nimport { ImporterAspect, ImporterMain } from '@teambit/importer';\nimport { ExportAspect, ExportMain } from '@teambit/export';\nimport UnmergedComponents from '@teambit/legacy/dist/scope/lanes/unmerged-components';\nimport { isHash, isTag } from '@teambit/component-version';\nimport { BitObject, Ref, Repository } from '@teambit/legacy/dist/scope/objects';\nimport { GlobalConfigAspect, GlobalConfigMain } from '@teambit/global-config';\nimport { ArtifactFiles, ArtifactSource, getArtifactsFiles, SourceFile } from '@teambit/component.sources';\nimport {\n VersionNotFound,\n ComponentNotFound,\n HeadNotFound,\n ParentNotFound,\n} from '@teambit/legacy/dist/scope/exceptions';\nimport { AutoTagResult } from '@teambit/legacy/dist/scope/component-ops/auto-tag';\nimport { DependenciesAspect, DependenciesMain } from '@teambit/dependencies';\nimport Version, { DepEdge, DepEdgeType, Log } from '@teambit/legacy/dist/scope/models/version';\nimport { SnapCmd } from './snap-cmd';\nimport { SnappingAspect } from './snapping.aspect';\nimport { TagCmd } from './tag-cmd';\nimport ResetCmd from './reset-cmd';\nimport { tagModelComponent, updateComponentsVersions, BasicTagParams, BasicTagSnapParams } from './tag-model-component';\nimport { TagDataPerCompRaw, TagFromScopeCmd } from './tag-from-scope.cmd';\nimport { SnapDataPerCompRaw, SnapFromScopeCmd, FileData } from './snap-from-scope.cmd';\nimport { addDeps, generateCompFromScope } from './generate-comp-from-scope';\nimport { FlattenedEdgesGetter } from './flattened-edges';\nimport { SnapDistanceCmd } from './snap-distance-cmd';\nimport {\n removeLocalVersionsForAllComponents,\n untagResult,\n getComponentsWithOptionToUntag,\n removeLocalVersionsForMultipleComponents,\n} from './reset-component';\nimport { ApplicationAspect, ApplicationMain } from '@teambit/application';\nimport { LaneNotFound } from '@teambit/legacy.scope-api';\nimport { createLaneInScope } from '@teambit/lanes.modules.create-lane';\n\nexport type TagDataPerComp = {\n componentId: ComponentID;\n dependencies: ComponentID[];\n versionToTag?: string; // must be set for tag. undefined for snap.\n prereleaseId?: string;\n message?: string;\n isNew?: boolean;\n};\n\nexport type SnapDataParsed = {\n componentId: ComponentID;\n dependencies: string[];\n aspects?: Record<string, any>;\n message?: string;\n files?: FileData[];\n isNew?: boolean;\n newDependencies?: {\n id: string; // component-id or package-name.\n version?: string; // for packages, it is mandatory.\n isComponent: boolean;\n type: 'runtime' | 'dev' | 'peer';\n }[];\n removeDependencies?: string[];\n};\n\nexport type SnapResults = BasicTagResults & {\n snappedComponents: ConsumerComponent[];\n autoSnappedResults: AutoTagResult[];\n laneName: string | null; // null if default\n};\n\nexport type SnapFromScopeResults = {\n snappedIds: ComponentID[];\n exportedIds?: ComponentID[];\n snappedComponents: ConsumerComponent[];\n};\n\nexport type TagResults = BasicTagResults & {\n taggedComponents: ConsumerComponent[];\n autoTaggedResults: AutoTagResult[];\n isSoftTag: boolean;\n publishedPackages: string[];\n exportedIds?: ComponentIdList; // relevant only for tag-from-scope when --push is used\n};\n\nexport type BasicTagResults = {\n warnings: string[];\n newComponents: ComponentIdList;\n removedComponents?: ComponentIdList;\n};\n\nexport class SnappingMain {\n private objectsRepo: Repository;\n constructor(\n private workspace: Workspace,\n private logger: Logger,\n private issues: IssuesMain,\n private insights: InsightsMain,\n private dependencyResolver: DependencyResolverMain,\n private scope: ScopeMain,\n private exporter: ExportMain,\n private builder: BuilderMain,\n private importer: ImporterMain,\n private deps: DependenciesMain,\n private application: ApplicationMain\n ) {\n this.objectsRepo = this.scope?.legacyScope?.objects;\n }\n\n /**\n * tag the given component ids or all modified/new components if \"all\" param is set.\n * tag is a similar operation as a snap, which saves the changes into the local scope, but it also creates an alias\n * with a valid semver to that version.\n * tag can be done only on main, not on a lane.\n */\n // eslint-disable-next-line complexity\n async tag({\n ids = [],\n message = '',\n version,\n editor = '',\n snapped = false,\n unmerged = false,\n releaseType,\n preReleaseId,\n ignoreIssues,\n ignoreNewestVersion = false,\n skipTests = false,\n skipTasks,\n skipAutoTag = false,\n build,\n unmodified = false,\n soft = false,\n persist = false,\n ignoreBuildErrors = false,\n rebuildDepsGraph,\n incrementBy = 1,\n disableTagAndSnapPipelines = false,\n failFast = false,\n }: {\n ids?: string[];\n all?: boolean | string;\n snapped?: boolean;\n unmerged?: boolean;\n version?: string;\n releaseType?: ReleaseType;\n ignoreIssues?: string;\n scope?: string | boolean;\n incrementBy?: number;\n failFast?: boolean;\n } & Partial<BasicTagParams>): Promise<TagResults | null> {\n if (soft) build = false;\n if (editor && persist) {\n throw new BitError('you can use either --editor or --persist, but not both');\n }\n if (editor && message) {\n throw new BitError('you can use either --editor or --message, but not both');\n }\n\n const exactVersion = version;\n if (!this.workspace) throw new OutsideWorkspaceError();\n const validExactVersion = validateVersion(exactVersion);\n const consumer = this.workspace.consumer;\n const componentsList = new ComponentsList(consumer);\n loader.start('determine components to tag...');\n const newComponents = await componentsList.listNewComponents();\n const { bitIds, warnings } = await this.getComponentsToTag(\n unmodified,\n exactVersion,\n persist,\n ids,\n snapped,\n unmerged\n );\n if (!bitIds.length) return null;\n\n const compIds = ComponentIdList.fromArray(bitIds);\n\n this.logger.debug(`tagging the following components: ${compIds.toString()}`);\n const components = await this.loadComponentsForTagOrSnap(compIds, !soft);\n const consumerComponents = components.map((c) => c.state._consumer) as ConsumerComponent[];\n await this.throwForVariousIssues(components, ignoreIssues);\n\n const { taggedComponents, autoTaggedResults, publishedPackages, stagedConfig, removedComponents } =\n await tagModelComponent({\n workspace: this.workspace,\n scope: this.scope,\n snapping: this,\n builder: this.builder,\n consumerComponents,\n ids: compIds,\n message,\n editor,\n exactVersion: validExactVersion,\n releaseType,\n preReleaseId,\n ignoreNewestVersion,\n skipTests,\n skipTasks,\n skipAutoTag,\n soft,\n build,\n persist,\n disableTagAndSnapPipelines,\n ignoreBuildErrors,\n rebuildDepsGraph,\n incrementBy,\n packageManagerConfigRootDir: this.workspace.path,\n dependencyResolver: this.dependencyResolver,\n exitOnFirstFailedTask: failFast,\n });\n\n const tagResults = {\n taggedComponents,\n autoTaggedResults,\n isSoftTag: soft,\n publishedPackages,\n warnings,\n newComponents,\n removedComponents,\n };\n\n await consumer.onDestroy(`tag (message: ${message || 'N/A'})`);\n await stagedConfig?.write();\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n return tagResults;\n }\n\n async tagFromScope(\n tagDataPerCompRaw: TagDataPerCompRaw[],\n params: {\n push?: boolean;\n version?: string;\n releaseType?: ReleaseType;\n ignoreIssues?: string;\n incrementBy?: number;\n rebuildArtifacts?: boolean;\n } & Partial<BasicTagParams>\n ): Promise<TagResults | null> {\n if (this.workspace) {\n throw new BitError(\n `unable to run this command from a workspace, please create a new bare-scope and run it from there`\n );\n }\n if (!this.scope) {\n throw new BitError(`please create a new bare-scope and run it from there`);\n }\n\n const tagDataPerComp = await Promise.all(\n tagDataPerCompRaw.map(async (tagData) => {\n return {\n componentId: await this.scope.resolveComponentId(tagData.componentId),\n dependencies: tagData.dependencies ? await this.scope.resolveMultipleComponentIds(tagData.dependencies) : [],\n versionToTag: tagData.versionToTag || params.releaseType || 'patch',\n prereleaseId: tagData.prereleaseId,\n message: tagData.message,\n };\n })\n );\n const componentIds = ComponentIdList.fromArray(tagDataPerComp.map((t) => t.componentId));\n // important! leave the \"preferDependencyGraph\" with the default - true. no need to bring all dependencies at this\n // stage. later on, they'll be imported during \"snapping._addFlattenedDependenciesToComponents\".\n // otherwise, the dependencies are imported without version-history and fail later when checking their origin.\n await this.scope.import(componentIds, { reason: 'of the seeders to tag' });\n const deps = compact(tagDataPerComp.map((t) => t.dependencies).flat()).map((dep) => dep.changeVersion(LATEST));\n const additionalComponentIdsToFetch = await Promise.all(\n componentIds.map(async (id) => {\n if (!id.hasVersion()) return null;\n const modelComp = await this.scope.getBitObjectModelComponent(id);\n if (!modelComp) throw new Error(`unable to find ModelComponent of ${id.toString()}`);\n if (!modelComp.head) return null;\n if (modelComp.getRef(id.version as string)?.isEqual(modelComp.head)) return null;\n if (!params.ignoreNewestVersion) {\n throw new BitError(`unable to tag \"${id.toString()}\", this version is older than the head ${modelComp.head.toString()}.\nif you're willing to lose the history from the head to the specified version, use --ignore-newest-version flag`);\n }\n return id.changeVersion(LATEST);\n })\n );\n\n // import deps to be able to resolve semver\n await this.scope.import([...deps, ...compact(additionalComponentIdsToFetch)], {\n useCache: false,\n reason: `which are the dependencies of the ${componentIds.length} seeders`,\n });\n await Promise.all(\n tagDataPerComp.map(async (tagData) => {\n // disregard the dependencies that are now part of the tag-from-scope. their version will be determined during the process\n const filteredDependencies = tagData.dependencies.filter((dep) => !componentIds.hasWithoutVersion(dep));\n tagData.dependencies = await Promise.all(\n filteredDependencies.map((d) => this.getCompIdWithExactVersionAccordingToSemver(d))\n );\n })\n );\n const components = await this.scope.getMany(componentIds);\n await Promise.all(\n components.map(async (comp) => {\n const tagData = tagDataPerComp.find((t) => t.componentId.isEqual(comp.id, { ignoreVersion: true }));\n if (!tagData) throw new Error(`unable to find ${comp.id.toString()} in tagDataPerComp`);\n if (!tagData.dependencies.length) return;\n await this.updateDependenciesVersionsOfComponent(comp, tagData.dependencies, componentIds);\n })\n );\n\n await this.scope.loadManyCompsAspects(components);\n\n const consumerComponents = components.map((c) => c.state._consumer) as ConsumerComponent[];\n const shouldUsePopulateArtifactsFrom = components.every((comp) => {\n if (!comp.buildStatus) throw new Error(`tag-from-scope expect ${comp.id.toString()} to have buildStatus`);\n return comp.buildStatus === BuildStatus.Succeed && !params.rebuildArtifacts;\n });\n const results = await tagModelComponent({\n ...params,\n scope: this.scope,\n consumerComponents,\n tagDataPerComp,\n populateArtifactsFrom: shouldUsePopulateArtifactsFrom ? components.map((c) => c.id) : undefined,\n copyLogFromPreviousSnap: true,\n snapping: this,\n builder: this.builder,\n dependencyResolver: this.dependencyResolver,\n skipAutoTag: true,\n persist: true,\n ids: componentIds,\n message: params.message as string,\n });\n\n const { taggedComponents, publishedPackages } = results;\n let exportedIds: ComponentIdList | undefined;\n if (params.push) {\n const { exported } = await this.exporter.exportMany({\n scope: this.scope.legacyScope,\n ids: componentIds,\n idsWithFutureScope: componentIds,\n allVersions: false,\n exportOrigin: 'tag',\n });\n exportedIds = exported;\n }\n\n return {\n taggedComponents,\n exportedIds,\n autoTaggedResults: [],\n isSoftTag: false,\n publishedPackages,\n warnings: [],\n newComponents: new ComponentIdList(),\n };\n }\n\n async snapFromScope(\n snapDataPerCompRaw: SnapDataPerCompRaw[],\n params: {\n push?: boolean;\n ignoreIssues?: string;\n lane?: string;\n updateDependents?: boolean;\n } & Partial<BasicTagParams>\n ): Promise<SnapFromScopeResults> {\n if (this.workspace) {\n throw new BitError(\n `unable to run this command from a workspace, please create a new bare-scope and run it from there`\n );\n }\n let lane: Lane | undefined;\n const laneIdStr = params.lane;\n if (laneIdStr) {\n const laneId = LaneId.parse(laneIdStr);\n try {\n lane = await this.importer.importLaneObject(laneId);\n } catch (err: any) {\n if (err.constructor.name !== LaneNotFound.name) throw err;\n // if the lane is not found, it's probably because it's new. create a new lane.\n lane = await createLaneInScope(laneId.name, this.scope, laneId.scope);\n }\n // this is critical. otherwise, later on, when loading aspects and isolating capsules, we'll try to fetch dists\n // from the original scope instead of the lane-scope.\n this.scope.legacyScope.setCurrentLaneId(laneId);\n this.scope.legacyScope.scopeImporter.shouldOnlyFetchFromCurrentLane = true;\n }\n const laneCompIds = lane?.toComponentIdsIncludeUpdateDependents();\n const snapDataPerComp = snapDataPerCompRaw.map((snapData) => {\n return {\n componentId: ComponentID.fromString(snapData.componentId),\n dependencies: snapData.dependencies || [],\n aspects: snapData.aspects,\n message: snapData.message,\n files: snapData.files,\n isNew: snapData.isNew,\n mainFile: snapData.mainFile,\n newDependencies: (snapData.newDependencies || []).map((dep) => ({\n id: dep.id,\n version: dep.version,\n isComponent: dep.isComponent ?? true,\n type: dep.type ?? 'runtime',\n })),\n removeDependencies: snapData.removeDependencies,\n };\n });\n\n // console.log('snapDataPerComp', JSON.stringify(snapDataPerComp, undefined, 2));\n\n const componentIds = compact(snapDataPerComp.map((t) => (t.isNew ? null : t.componentId)));\n const allCompIds = snapDataPerComp.map((s) => s.componentId);\n const componentIdsLatest = componentIds.map((id) => id.changeVersion(LATEST));\n const newCompsData = compact(snapDataPerComp.map((t) => (t.isNew ? t : null)));\n const newComponents = await Promise.all(\n newCompsData.map((newComp) => generateCompFromScope(this.scope, newComp, this))\n );\n\n await this.scope.import(componentIdsLatest, {\n preferDependencyGraph: false,\n lane,\n reason: `seeders to snap`,\n });\n const getSnapData = (id: ComponentID): SnapDataParsed => {\n const snapData = snapDataPerComp.find((t) => {\n return t.componentId.isEqual(id, { ignoreVersion: true });\n });\n if (!snapData) throw new Error(`unable to find ${id.toString()} in snapDataPerComp`);\n return snapData;\n };\n const existingComponents = await this.scope.getMany(componentIdsLatest);\n\n // in case of update-dependents, align the dependencies of the dependents according to the lane\n if (params.updateDependents && laneCompIds) {\n existingComponents.forEach((comp) => {\n const deps = this.dependencyResolver.getComponentDependencies(comp);\n const snapData = getSnapData(comp.id);\n deps.forEach((dep) => {\n const fromLane = laneCompIds.searchWithoutVersion(dep.componentId);\n if (fromLane) {\n snapData.dependencies.push(fromLane.toString());\n }\n });\n });\n }\n\n const components = [...existingComponents, ...newComponents];\n\n // this must be done before we load component aspects later on, because this updated deps may update aspects.\n await pMapSeries(components, async (component) => {\n const snapData = getSnapData(component.id);\n // adds explicitly defined dependencies and dependencies from envs/aspects (overrides)\n await addDeps(component, snapData, this.scope, this.deps, this.dependencyResolver, this);\n });\n\n // for new components these are not needed. coz when generating them we already add the aspects and the files.\n await Promise.all(\n existingComponents.map(async (comp) => {\n const snapData = getSnapData(comp.id);\n if (snapData.aspects) await this.scope.addAspectsFromConfigObject(comp, snapData.aspects);\n if (snapData.files?.length) {\n await this.updateSourceFiles(comp, snapData.files);\n }\n })\n );\n\n // load the aspects user configured to set on the components. it creates capsules if needed.\n // otherwise, when a user set a custom-env, it won't be loaded and the Version object will leave the\n // teambit.envs/envs in a weird state. the config will be set correctly but the data will be set to the default\n // node env.\n await this.scope.loadManyCompsAspects(components);\n\n // this is similar to what happens in the workspace. the \"onLoad\" is running and populating the \"data\" of the aspects.\n await pMapSeries(components, async (comp) => this.scope.executeOnCompAspectReCalcSlot(comp));\n\n const consumerComponents = components.map((c) => c.state._consumer);\n const ids = ComponentIdList.fromArray(allCompIds);\n const results = await tagModelComponent({\n ...params,\n scope: this.scope,\n consumerComponents,\n tagDataPerComp: snapDataPerComp.map((s) => ({\n componentId: s.componentId,\n message: s.message,\n dependencies: [],\n })),\n snapping: this,\n builder: this.builder,\n dependencyResolver: this.dependencyResolver,\n skipAutoTag: true,\n persist: true,\n isSnap: true,\n ids,\n message: params.message as string,\n updateDependentsOnLane: params.updateDependents,\n });\n\n const { taggedComponents } = results;\n let exportedIds: ComponentIdList | undefined;\n if (params.push) {\n const updatedLane = lane ? await this.scope.legacyScope.loadLane(lane.toLaneId()) : undefined;\n const { exported } = await this.exporter.exportMany({\n scope: this.scope.legacyScope,\n ids,\n idsWithFutureScope: ids,\n allVersions: false,\n laneObject: updatedLane,\n // no need other snaps. only the latest one. without this option, when snapping on lane from another-scope, it\n // may throw an error saying the previous snaps don't exist on the filesystem.\n // (see the e2e - \"snap on a lane when the component is new to the lane and the scope\")\n exportHeadsOnly: true,\n });\n exportedIds = exported;\n }\n\n return {\n snappedComponents: taggedComponents,\n snappedIds: taggedComponents.map((comp) => comp.id),\n exportedIds,\n };\n }\n\n /**\n * save the local changes of a component(s) into the scope. snap can be done on main or on a lane.\n * once a component is snapped on a lane, it becomes part of it.\n */\n async snap({\n pattern,\n legacyBitIds, // @todo: change to ComponentID[]. pass only if have the ids already parsed.\n unmerged,\n editor,\n message = '',\n ignoreIssues,\n skipTests = false,\n skipTasks,\n skipAutoSnap = false,\n build,\n disableTagAndSnapPipelines = false,\n ignoreBuildErrors = false,\n rebuildDepsGraph,\n unmodified = false,\n exitOnFirstFailedTask = false,\n }: Partial<BasicTagSnapParams> & {\n pattern?: string;\n legacyBitIds?: ComponentIdList;\n unmerged?: boolean;\n editor?: string;\n ignoreIssues?: string;\n skipAutoSnap?: boolean;\n disableTagAndSnapPipelines?: boolean;\n unmodified?: boolean;\n exitOnFirstFailedTask?: boolean;\n }): Promise<SnapResults | null> {\n if (!this.workspace) throw new OutsideWorkspaceError();\n if (pattern && legacyBitIds) throw new Error(`please pass either pattern or legacyBitIds, not both`);\n const consumer: Consumer = this.workspace.consumer;\n const componentsList = new ComponentsList(consumer);\n const newComponents = (await componentsList.listNewComponents()) as ComponentIdList;\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const self = this;\n const ids = legacyBitIds || (await getIdsToSnap());\n if (!ids) return null;\n this.logger.debug(`snapping the following components: ${ids.toString()}`);\n const components = await this.loadComponentsForTagOrSnap(ids);\n const consumerComponents = components.map((c) => c.state._consumer) as ConsumerComponent[];\n await this.throwForVariousIssues(components, ignoreIssues);\n\n const { taggedComponents, autoTaggedResults, stagedConfig, removedComponents } = await tagModelComponent({\n workspace: this.workspace,\n scope: this.scope,\n snapping: this,\n builder: this.builder,\n editor,\n consumerComponents,\n ids,\n ignoreNewestVersion: false,\n message,\n skipTests,\n skipTasks,\n skipAutoTag: skipAutoSnap,\n persist: true,\n soft: false,\n build,\n isSnap: true,\n disableTagAndSnapPipelines,\n ignoreBuildErrors,\n rebuildDepsGraph,\n packageManagerConfigRootDir: this.workspace.path,\n dependencyResolver: this.dependencyResolver,\n exitOnFirstFailedTask,\n });\n\n const snapResults: Partial<SnapResults> = {\n snappedComponents: taggedComponents,\n autoSnappedResults: autoTaggedResults,\n newComponents,\n removedComponents,\n };\n\n const currentLane = consumer.getCurrentLaneId();\n snapResults.laneName = currentLane.isDefault() ? null : currentLane.toString();\n await consumer.onDestroy(`snap (message: ${message || 'N/A'})`);\n await stagedConfig?.write();\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n return snapResults;\n\n async function getIdsToSnap(): Promise<ComponentIdList | null> {\n if (unmerged) {\n return componentsList.listDuringMergeStateComponents();\n }\n const tagPendingComponentsIds = await self.getTagPendingComponentsIds(unmodified);\n if (!tagPendingComponentsIds.length) return null;\n // when unmodified, we ask for all components, throw if no matching. if not unmodified and no matching, see error\n // below, suggesting to use --unmodified flag.\n const shouldThrowForNoMatching = unmodified;\n const getCompIds = async () => {\n if (!pattern) return tagPendingComponentsIds;\n if (!pattern.includes('*') && !pattern.includes(',')) {\n const compId = await self.workspace.resolveComponentId(pattern);\n return [compId];\n }\n return self.workspace.filterIdsFromPoolIdsByPattern(pattern, tagPendingComponentsIds, shouldThrowForNoMatching);\n };\n const componentIds = await getCompIds();\n if (!componentIds.length && pattern) {\n const allTagPending = await self.workspace.listPotentialTagIds();\n if (allTagPending.length) {\n throw new BitError(`unable to find matching for \"${pattern}\" pattern among modified/new components.\nthere are matching among unmodified components though. consider using --unmodified flag if needed.\nin case you're unsure about the pattern syntax, use \"bit pattern [--help]\"`);\n }\n }\n if (!componentIds.length) {\n return null;\n }\n return ComponentIdList.fromArray(componentIds);\n }\n }\n\n /**\n * remove tags/snaps that exist locally, which were not exported yet.\n * once a tag/snap is exported, it's impossible to delete it as other components may depend on it\n */\n async reset(\n componentPattern?: string,\n head?: boolean,\n force = false,\n soft = false\n ): Promise<{ results: untagResult[]; isSoftUntag: boolean }> {\n if (!this.workspace) throw new OutsideWorkspaceError();\n const consumer = this.workspace.consumer;\n const currentLane = await consumer.getCurrentLaneObject();\n const untag = async (): Promise<untagResult[]> => {\n if (!componentPattern) {\n return removeLocalVersionsForAllComponents(consumer, currentLane, head);\n }\n const candidateComponents = await getComponentsWithOptionToUntag(consumer);\n const idsMatchingPattern = await this.workspace.idsByPattern(componentPattern, true, { includeDeleted: true });\n const idsMatchingPatternBitIds = ComponentIdList.fromArray(idsMatchingPattern);\n const componentsToUntag = candidateComponents.filter((modelComponent) =>\n idsMatchingPatternBitIds.hasWithoutVersion(modelComponent.toComponentId())\n );\n return removeLocalVersionsForMultipleComponents(componentsToUntag, currentLane, head, force, consumer.scope);\n };\n const softUntag = async () => {\n const softTaggedComponentsIds = this.workspace.filter.bySoftTagged();\n const idsToRemoveSoftTags = componentPattern\n ? await this.workspace.filterIdsFromPoolIdsByPattern(componentPattern, softTaggedComponentsIds)\n : softTaggedComponentsIds;\n return compact(\n idsToRemoveSoftTags.map((componentId) => {\n const componentMap = consumer.bitMap.getComponent(componentId, { ignoreVersion: true });\n const removedVersion = componentMap.nextVersion?.version;\n if (!removedVersion) return null;\n componentMap.clearNextVersion();\n return { id: componentId, versions: [removedVersion] };\n })\n );\n };\n let results: untagResult[];\n const isRealUntag = !soft;\n if (isRealUntag) {\n results = await untag();\n await consumer.scope.objects.persist();\n const components = results.map((result) => result.component);\n await updateComponentsVersions(this.workspace, components as ModelComponent[], false);\n } else {\n results = await softUntag();\n consumer.bitMap.markAsChanged();\n }\n\n await consumer.onDestroy('reset');\n return { results, isSoftUntag: !isRealUntag };\n }\n\n async resetNeverExported(): Promise<ComponentID[]> {\n const notExported = this.workspace.consumer.getNotExportedIds();\n const hashes = notExported.map((id) => BitObject.makeHash(id.fullName));\n await this.scope.legacyScope.objects.deleteObjectsFromFS(hashes.map((h) => Ref.from(h)));\n notExported.map((id) => this.workspace.consumer.bitMap.updateComponentId(id.changeVersion(undefined)));\n await this.workspace.bitMap.write(`reset (never-exported)`);\n return notExported;\n }\n\n async _addFlattenedDependenciesToComponents(components: ConsumerComponent[], rebuildDepsGraph = false) {\n loader.start('importing missing dependencies...');\n this.logger.profile('snap._addFlattenedDependenciesToComponents');\n const getLane = async () => {\n const lane = await this.scope.legacyScope.getCurrentLaneObject();\n if (!lane) return undefined;\n if (!lane.isNew) return lane;\n const forkedFrom = lane.forkedFrom;\n if (!forkedFrom) return undefined;\n return this.scope.legacyScope.loadLane(forkedFrom);\n };\n const lane = await getLane();\n\n if (rebuildDepsGraph) {\n const flattenedDependenciesGetter = new FlattenedDependenciesGetter(this.scope.legacyScope, components, lane);\n await flattenedDependenciesGetter.populateFlattenedDependencies();\n loader.stop();\n await this._addFlattenedDepsGraphToComponents(components);\n return;\n }\n\n const flattenedEdgesGetter = new FlattenedEdgesGetter(this.scope, components, this.logger, lane);\n await flattenedEdgesGetter.buildGraph();\n\n components.forEach((component) => {\n flattenedEdgesGetter.populateFlattenedAndEdgesForComp(component);\n });\n this.logger.profile('snap._addFlattenedDependenciesToComponents');\n }\n\n async throwForDepsFromAnotherLane(components: ConsumerComponent[]) {\n const lane = await this.scope.legacyScope.getCurrentLaneObject();\n const allIds = ComponentIdList.fromArray(components.map((c) => c.id));\n const missingDeps = await pMapSeries(components, async (component) => {\n return this.throwForDepsFromAnotherLaneForComp(component, allIds, lane);\n });\n const flattenedMissingDeps = ComponentIdList.uniqFromArray(\n missingDeps.flat().map((id) => id.changeVersion(undefined))\n );\n if (!flattenedMissingDeps.length) return;\n // ignore the cache. even if the component exists locally, we still need its VersionHistory object\n // in order to traverse the history and determine whether it's part of the lane history.\n await this.scope.legacyScope.scopeImporter.importWithoutDeps(flattenedMissingDeps, {\n cache: false,\n ignoreMissingHead: true,\n includeVersionHistory: true,\n lane,\n reason: 'of latest with version-history to make sure there are no dependencies from another lane',\n });\n await pMapSeries(components, async (component) => {\n await this.throwForDepsFromAnotherLaneForComp(component, allIds, lane, true);\n });\n }\n\n private async throwForVariousIssues(components: Component[], ignoreIssues?: string) {\n const componentsToCheck = components.filter((c) => !c.isDeleted());\n const consumerComponents = componentsToCheck.map((c) => c.state._consumer) as ConsumerComponent[];\n await this.throwForLegacyDependenciesInsideHarmony(consumerComponents);\n await this.builder.throwForComponentIssues(componentsToCheck, ignoreIssues);\n this.throwForPendingImport(consumerComponents);\n }\n\n private async throwForDepsFromAnotherLaneForComp(\n component: ConsumerComponent,\n allIds: ComponentIdList,\n lane?: Lane,\n throwForMissingObjects = false\n ) {\n const depsFromModel = component.componentFromModel?.getAllDependencies();\n const depsFromModelIds = depsFromModel\n ? ComponentIdList.fromArray(depsFromModel.map((d) => d.id))\n : new ComponentIdList();\n const deps = component.getAllDependencies();\n const missingDeps: ComponentID[] = [];\n await Promise.all(\n deps.map(async (dep) => {\n if (!this.scope.isExported(dep.id) || !dep.id.hasVersion()) return;\n if (isTag(dep.id.version)) return;\n if (allIds.hasWithoutVersion(dep.id)) return; // it's tagged/snapped now.\n if (depsFromModelIds.has(dep.id)) return; // this dep is not new, it was already snapped/tagged with it before.\n let isPartOfHistory: boolean | undefined;\n try {\n isPartOfHistory = lane\n ? await this.scope.legacyScope.isPartOfLaneHistoryOrMain(dep.id, lane)\n : await this.scope.legacyScope.isPartOfMainHistory(dep.id);\n } catch (err) {\n if (throwForMissingObjects) throw err;\n if (\n err instanceof VersionNotFound ||\n err instanceof ComponentNotFound ||\n err instanceof HeadNotFound ||\n err instanceof ParentNotFound\n ) {\n missingDeps.push(dep.id);\n return;\n }\n throw err;\n }\n\n if (!isPartOfHistory) {\n if (!throwForMissingObjects) {\n // it's possible that the dependency wasn't imported recently and the head is stale.\n missingDeps.push(dep.id);\n return;\n }\n const laneOrMainStr = lane ? `current lane \"${lane.name}\"` : 'main';\n throw new Error(\n `unable to tag/snap ${component.id.toString()}, it has a dependency ${dep.id.toString()} which is not part of ${laneOrMainStr} history.\none option to resolve this is installing ${dep.id.toStringWithoutVersion()} via \"bit install\", which installs the version from main.\nanother option, in case this dependency is not in main yet is to remove all references of this dependency in the code and then tag/snap.`\n );\n }\n })\n );\n return missingDeps;\n }\n\n async _addFlattenedDepsGraphToComponents(components: ConsumerComponent[]) {\n const graph = new Graph<ComponentID, string>();\n const addEdges = (compId: ComponentID, dependencies: ConsumerComponent['dependencies'], label: DepEdgeType) => {\n dependencies.get().forEach((dep) => {\n graph.setNode(new Node(dep.id.toString(), dep.id));\n graph.setEdge(new Edge(compId.toString(), dep.id.toString(), label));\n });\n };\n components.forEach((comp) => {\n graph.setNode(new Node(comp.id.toString(), comp.id));\n addEdges(comp.id, comp.dependencies, 'prod');\n addEdges(comp.id, comp.devDependencies, 'dev');\n addEdges(comp.id, comp.extensionDependencies, 'ext');\n });\n const allFlattened = components.map((comp) => comp.flattenedDependencies);\n const allFlattenedUniq = ComponentIdList.uniqFromArray(allFlattened.flat());\n const allFlattenedWithoutCurrent = allFlattenedUniq.filter((id) => !components.find((c) => c.id.isEqual(id)));\n const componentsAndVersions = await this.scope.legacyScope.getComponentsAndVersions(\n ComponentIdList.fromArray(allFlattenedWithoutCurrent)\n );\n componentsAndVersions.forEach(({ component, version, versionStr }) => {\n const compId = component.toComponentId().changeVersion(versionStr);\n graph.setNode(new Node(compId.toString(), compId));\n addEdges(compId, version.dependencies, 'prod');\n addEdges(compId, version.devDependencies, 'dev');\n addEdges(compId, version.extensionDependencies, 'ext');\n });\n let someCompsHaveMissingFlattened = false;\n components.forEach((component) => {\n const edges = graph.outEdges(component.id.toString());\n const flattenedEdges = component.flattenedDependencies.map((dep) => graph.outEdges(dep.toString())).flat();\n const allEdges = [...edges, ...flattenedEdges];\n const edgesWithBitIds: DepEdge[] = allEdges.map((edge) => ({\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n source: graph.node(edge.source)!.attr,\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n target: graph.node(edge.target)!.attr,\n type: edge.attr as DepEdgeType,\n }));\n component.flattenedEdges = edgesWithBitIds;\n\n // due to some previous bugs, some components might have missing flattened dependencies.\n // as a result, the flattenedEdges may have more components than the flattenedDependencies, which will cause\n // issues later on when the graph is built. this fixes it by adding the missing flattened dependencies, and\n // then recursively adding the flattenedEdge accordingly.\n const flattened = component.flattenedDependencies.map((dep) => dep.toString());\n const flattenedFromEdges = uniq(\n edgesWithBitIds.map((edge) => [edge.target.toString(), edge.source.toString()]).flat()\n );\n const missingFlattened = difference(flattenedFromEdges, flattened).filter((id) => id !== component.id.toString());\n\n if (missingFlattened.length) {\n someCompsHaveMissingFlattened = true;\n this.logger.warn(`missing flattened for ${component.id.toString()}: ${missingFlattened.join(', ')}`);\n const missingBitIds = missingFlattened.map((id) => {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return graph.node(id)!.attr;\n });\n component.flattenedDependencies.push(...missingBitIds);\n }\n });\n if (someCompsHaveMissingFlattened) {\n await this._addFlattenedDepsGraphToComponents(components);\n }\n }\n\n _updateComponentsByTagResult(components: ConsumerComponent[], tagResult: LegacyOnTagResult[]) {\n tagResult.forEach((result) => {\n const matchingComponent = components.find((c) => c.id.isEqual(result.id));\n if (matchingComponent) {\n const existingBuilder = matchingComponent.extensions.findCoreExtension(Extensions.builder);\n if (existingBuilder) existingBuilder.data = result.builderData.data;\n else matchingComponent.extensions.push(result.builderData);\n }\n });\n }\n\n _getPublishedPackages(components: ConsumerComponent[]): string[] {\n const publishedPackages = components.map((comp) => {\n const builderExt = comp.extensions.findCoreExtension(Extensions.builder);\n const pkgData = builderExt?.data?.aspectsData?.find((a) => a.aspectId === Extensions.pkg);\n return pkgData?.data?.publishedPackage;\n });\n return compact(publishedPackages);\n }\n\n async _addCompToObjects({\n source,\n lane,\n shouldValidateVersion = false,\n updateDependentsOnLane = false,\n }: {\n source: ConsumerComponent;\n lane?: Lane;\n shouldValidateVersion?: boolean;\n updateDependentsOnLane?: boolean;\n }): Promise<{\n component: ModelComponent;\n version: Version;\n }> {\n const { component, version } = await this._addCompFromScopeToObjects(source, lane, updateDependentsOnLane);\n const unmergedComponent = this.scope.legacyScope.objects.unmergedComponents.getEntry(component.toComponentId());\n if (unmergedComponent) {\n if (unmergedComponent.unrelated) {\n this.logger.debug(\n `sources.addSource, unmerged component \"${component.name}\". adding an unrelated entry ${unmergedComponent.head.hash}`\n );\n if (!source.previouslyUsedVersion) {\n throw new Error(\n `source.previouslyUsedVersion must be set for ${component.name} because it's unrelated resolved.`\n );\n }\n if (unmergedComponent.unrelated === true) {\n // backward compatibility\n const unrelatedHead = Ref.from(source.previouslyUsedVersion);\n version.setUnrelated({ head: unrelatedHead, laneId: unmergedComponent.laneId });\n version.addAsOnlyParent(unmergedComponent.head);\n } else {\n const unrelated = unmergedComponent.unrelated;\n version.setUnrelated({ head: unrelated.unrelatedHead, laneId: unrelated.unrelatedLaneId });\n version.addAsOnlyParent(unrelated.headOnCurrentLane);\n }\n } else {\n // this is adding a second parent to the version. the order is important. the first parent is coming from the current-lane.\n version.addParent(unmergedComponent.head);\n this.logger.debug(\n `sources.addSource, unmerged component \"${component.name}\". adding a parent ${unmergedComponent.head.hash}`\n );\n version.log.message = version.log.message || UnmergedComponents.buildSnapMessage(unmergedComponent);\n }\n this.scope.legacyScope.objects.unmergedComponents.removeComponent(component.toComponentId());\n }\n if (shouldValidateVersion) version.validate();\n return { component, version };\n }\n\n async _addCompFromScopeToObjects(\n source: ConsumerComponent,\n lane?: Lane,\n updateDependentsOnLane = false\n ): Promise<{\n component: ModelComponent;\n version: Version;\n }> {\n const objectRepo = this.objectsRepo;\n // if a component exists in the model, add a new version. Otherwise, create a new component on the model\n // @todo: fix the ts error here with \"source\"\n const component = await this.scope.legacyScope.sources.findOrAddComponent(source as any);\n const artifactFiles = getArtifactsFiles(source.extensions);\n const artifacts = this.transformArtifactsFromVinylToSource(artifactFiles);\n const { version, files, flattenedEdges } = await this.scope.legacyScope.sources.consumerComponentToVersion(source);\n version.origin = {\n id: { scope: source.scope || (source.defaultScope as string), name: source.name },\n lane: lane ? { scope: lane.scope, name: lane.name, hash: lane.hash().toString() } : undefined,\n };\n objectRepo.add(version);\n if (flattenedEdges) this.objectsRepo.add(flattenedEdges);\n if (!source.version) throw new Error(`addSource expects source.version to be set`);\n component.addVersion(version, source.version, lane, source.previouslyUsedVersion, updateDependentsOnLane);\n objectRepo.add(component);\n if (lane) objectRepo.add(lane);\n files.forEach((file) => objectRepo.add(file.file));\n if (artifacts) artifacts.forEach((file) => objectRepo.add(file.source));\n return { component, version };\n }\n\n async _enrichComp(consumerComponent: ConsumerComponent, modifiedLog?: Log) {\n const objects = await this._getObjectsToEnrichComp(consumerComponent, modifiedLog);\n objects.forEach((obj) => this.objectsRepo.add(obj));\n return consumerComponent;\n }\n\n async _getObjectsToEnrichComp(consumerComponent: ConsumerComponent, modifiedLog?: Log): Promise<BitObject[]> {\n const component =\n consumerComponent.modelComponent || // @todo: fix the ts error here with \"source\"\n (await this.scope.legacyScope.sources.findOrAddComponent(consumerComponent as any));\n const version = await component.loadVersion(consumerComponent.id.version as string, this.objectsRepo, true);\n if (modifiedLog) version.addModifiedLog(modifiedLog);\n const artifactFiles = getArtifactsFiles(consumerComponent.extensions);\n const artifacts = this.transformArtifactsFromVinylToSource(artifactFiles);\n version.extensions = consumerComponent.extensions;\n version.buildStatus = consumerComponent.buildStatus;\n const artifactObjects = artifacts.map((file) => file.source);\n return [version, ...artifactObjects];\n }\n\n private transformArtifactsFromVinylToSource(artifactsFiles: ArtifactFiles[]): ArtifactSource[] {\n const artifacts: ArtifactSource[] = [];\n artifactsFiles.forEach((artifactFiles) => {\n const artifactsSource = ArtifactFiles.fromVinylsToSources(artifactFiles.vinyls);\n if (artifactsSource.length) artifactFiles.populateRefsFromSources(artifactsSource);\n artifacts.push(...artifactsSource);\n });\n return artifacts;\n }\n\n private async loadComponentsForTagOrSnap(ids: ComponentIdList, shouldClearCacheFirst = true): Promise<Component[]> {\n const idsWithoutVersions = ids.map((id) => id.changeVersion(undefined));\n const appIds = await this.application.loadAllAppsAsAspects(idsWithoutVersions);\n if (shouldClearCacheFirst) {\n await this.workspace.consumer.componentFsCache.deleteAllDependenciesDataCache();\n // don't clear only the cache of these ids. we need also the auto-tag. so it's safer to just clear all.\n this.workspace.clearAllComponentsCache();\n } else {\n appIds.forEach((id) => this.workspace.clearComponentCache(id));\n }\n\n return this.workspace.getMany(idsWithoutVersions);\n }\n\n private throwForPendingImport(components: ConsumerComponent[]) {\n const componentsMissingFromScope = components\n .filter((c) => !c.componentFromModel && this.scope.isExported(c.id))\n .map((c) => c.id.toString());\n if (componentsMissingFromScope.length) {\n throw new ComponentsPendingImport(componentsMissingFromScope);\n }\n }\n\n private async throwForLegacyDependenciesInsideHarmony(components: ConsumerComponent[]) {\n const throwForComponent = async (component: ConsumerComponent) => {\n const dependenciesIds = component.getAllDependenciesIds();\n const legacyScope = this.workspace.scope.legacyScope;\n await Promise.all(\n dependenciesIds.map(async (depId) => {\n if (!depId.hasVersion()) return;\n const modelComp = await legacyScope.getModelComponentIfExist(depId);\n if (!modelComp) return;\n const version = await modelComp.loadVersion(depId.version as string, legacyScope.objects);\n if (version.isLegacy) {\n throw new Error(\n `unable tagging \"${component.id.toString()}\", its dependency \"${depId.toString()}\" is legacy`\n );\n }\n })\n );\n };\n await pMap(components, (component) => throwForComponent(component), { concurrency: concurrentComponentsLimit() });\n }\n\n /**\n * the compId.version can be a range (e.g. \"^1.0.0\"), in which case, it finds the component in the local scope and\n * resolves the latest version that falls under the range.\n * in case the version has no range, it returns the same compId.\n * in case it has no version, it returns the latest.\n */\n async getCompIdWithExactVersionAccordingToSemver(compId: ComponentID): Promise<ComponentID> {\n if (isHash(compId.version)) {\n return compId;\n }\n const range = compId.version || '*'; // if not version specified, assume the latest\n const id = compId.changeVersion(undefined);\n const exactVersion = await this.scope.getExactVersionBySemverRange(id, range);\n if (!exactVersion) {\n throw new Error(`unable to find a version that satisfies \"${range}\" of \"${compId.toString()}\"`);\n }\n return compId.changeVersion(exactVersion);\n }\n\n private async updateSourceFiles(component: Component, files: FileData[]) {\n const currentFiles = component.state.filesystem.files;\n\n files.forEach((file) => {\n if (file.delete) {\n const index = currentFiles.findIndex((f) => f.path === file.path);\n if (index !== -1) {\n currentFiles.splice(index, 1);\n }\n return;\n }\n const currentFile = currentFiles.find((f) => f.path === file.path);\n if (currentFile) {\n currentFile.contents = Buffer.from(file.content);\n } else {\n currentFiles.push(\n new SourceFile({ base: '.', path: file.path, contents: Buffer.from(file.content), test: false })\n );\n }\n });\n\n if (!currentFiles.length)\n throw new Error(`unable to update component ${component.id.toString()}, all files were deleted`);\n }\n\n async updateDependenciesVersionsOfComponent(\n component: Component,\n dependencies: ComponentID[],\n currentBitIds: ComponentID[]\n ) {\n const updatedIds = ComponentIdList.fromArray([...currentBitIds, ...dependencies]);\n const componentIdStr = component.id.toString();\n const legacyComponent: ConsumerComponent = component.state._consumer;\n const deps = [...legacyComponent.dependencies.get(), ...legacyComponent.devDependencies.get()];\n const dependenciesList = this.dependencyResolver.getDependencies(component);\n deps.forEach((dep) => {\n const updatedBitId = updatedIds.searchWithoutVersion(dep.id);\n if (updatedBitId) {\n const depIdStr = dep.id.toString();\n const packageName = dependenciesList.findDependency(depIdStr)?.getPackageName?.();\n if (!packageName) {\n throw new Error(\n `unable to find the package-name of \"${depIdStr}\" dependency inside the dependency-resolver data of \"${componentIdStr}\"`\n );\n }\n this.logger.debug(`updating \"${componentIdStr}\", dependency ${depIdStr} to version ${updatedBitId.version}}`);\n dep.id = updatedBitId;\n dep.packageName = packageName;\n }\n });\n await this.UpdateDepsAspectsSaveIntoDepsResolver(component, updatedIds.toStringArray());\n }\n\n /**\n * it does two things:\n * 1. update extensions versions according to the version provided in updatedIds.\n * 2. save all dependencies data from the legacy into DependencyResolver aspect.\n */\n async UpdateDepsAspectsSaveIntoDepsResolver(component: Component, updatedIds: string[]) {\n const legacyComponent: ConsumerComponent = component.state._consumer;\n legacyComponent.extensions.forEach((ext) => {\n const extId = ext.extensionId;\n if (!extId) return;\n const found = updatedIds.find((d) => d.startsWith(`${extId.toStringWithoutVersion()}@`));\n if (found) {\n const updatedExtId = ComponentID.fromString(found);\n this.logger.debug(\n `updating \"${component.id.toString()}\", extension ${extId.toString()} to version ${updatedExtId.version}}`\n );\n ext.extensionId = updatedExtId;\n if (ext.newExtensionId) ext.newExtensionId = updatedExtId;\n }\n });\n\n component.state.aspects = await this.scope.createAspectListFromExtensionDataList(legacyComponent.extensions);\n\n const dependenciesListSerialized = (await this.dependencyResolver.extractDepsFromLegacy(component)).serialize();\n const extId = DependencyResolverAspect.id;\n const data = { dependencies: dependenciesListSerialized };\n const existingExtension = component.config.extensions.findExtension(extId);\n if (existingExtension) {\n // Only merge top level of extension data\n Object.assign(existingExtension.data, data);\n return;\n }\n const extension = new ExtensionDataEntry(undefined, undefined, extId, undefined, data);\n component.config.extensions.push(extension);\n }\n\n private async getTagPendingComponentsIds(includeUnmodified = false) {\n const ids = includeUnmodified\n ? await this.workspace.listPotentialTagIds()\n : await this.workspace.listTagPendingIds();\n const localOnlyIds = this.workspace.filter.byLocalOnly(ids);\n if (!localOnlyIds.length) {\n return ids;\n }\n const localOnlyListIds = ComponentIdList.fromArray(localOnlyIds);\n return ids.filter((id) => !localOnlyListIds.hasWithoutVersion(id));\n }\n\n private async getComponentsToTag(\n includeUnmodified: boolean,\n exactVersion: string | undefined,\n persist: boolean,\n ids: string[],\n snapped: boolean,\n unmerged: boolean\n ): Promise<{ bitIds: ComponentID[]; warnings: string[] }> {\n const warnings: string[] = [];\n const componentsList = new ComponentsList(this.workspace.consumer);\n if (persist) {\n const softTaggedComponents = this.workspace.filter.bySoftTagged();\n return { bitIds: softTaggedComponents, warnings: [] };\n }\n\n const tagPendingComponentsIds = await this.getTagPendingComponentsIds(includeUnmodified);\n\n const snappedComponentsIds = (await this.workspace.filter.bySnappedOnMain()).map((id) =>\n id.changeVersion(undefined)\n );\n\n if (snappedComponentsIds.length) {\n const localOnlyIds = this.workspace.filter.byLocalOnly(snappedComponentsIds);\n const localOnlyListIds = ComponentIdList.fromArray(localOnlyIds);\n snappedComponentsIds.forEach((id) => {\n if (localOnlyListIds.hasWithoutVersion(id)) {\n const index = snappedComponentsIds.findIndex((c) => c.isEqual(id));\n snappedComponentsIds.splice(index, 1);\n }\n });\n }\n\n if (ids.length) {\n const componentIds = await pMapSeries(ids, async (id) => {\n const [idWithoutVer, version] = id.split('@');\n const idIsPattern = this.workspace.isPattern(id);\n if (idIsPattern) {\n const allIds = await this.workspace.filterIdsFromPoolIdsByPattern(idWithoutVer, tagPendingComponentsIds);\n return allIds.map((componentId) => componentId.changeVersion(version));\n }\n const componentId = await this.workspace.resolveComponentId(idWithoutVer);\n if (!includeUnmodified) {\n const componentStatus = await this.workspace.getComponentStatusById(componentId);\n if (componentStatus.modified === false) return null;\n }\n return componentId.changeVersion(version);\n });\n\n return { bitIds: compact(componentIds.flat()), warnings };\n }\n\n if (snapped) {\n return { bitIds: snappedComponentsIds, warnings };\n }\n\n if (unmerged) {\n return { bitIds: componentsList.listDuringMergeStateComponents(), warnings };\n }\n\n const tagPendingBitIdsIncludeSnapped = [...tagPendingComponentsIds, ...snappedComponentsIds];\n\n if (includeUnmodified && exactVersion) {\n const tagPendingComponentsLatest = await this.workspace.scope.legacyScope.latestVersions(\n tagPendingComponentsIds,\n false\n );\n tagPendingComponentsLatest.forEach((componentId) => {\n if (componentId.version && semver.valid(componentId.version) && semver.gt(componentId.version, exactVersion)) {\n warnings.push(`warning: ${componentId.toString()} has a version greater than ${exactVersion}`);\n }\n });\n }\n\n return { bitIds: tagPendingBitIdsIncludeSnapped.map((id) => id.changeVersion(undefined)), warnings };\n }\n\n static slots = [];\n static dependencies = [\n WorkspaceAspect,\n CLIAspect,\n LoggerAspect,\n IssuesAspect,\n InsightsAspect,\n DependencyResolverAspect,\n ScopeAspect,\n ExportAspect,\n BuilderAspect,\n ImporterAspect,\n GlobalConfigAspect,\n DependenciesAspect,\n ApplicationAspect,\n ];\n static runtime = MainRuntime;\n static async provider([\n workspace,\n cli,\n loggerMain,\n issues,\n insights,\n dependencyResolver,\n scope,\n exporter,\n builder,\n importer,\n globalConfig,\n deps,\n application,\n ]: [\n Workspace,\n CLIMain,\n LoggerMain,\n IssuesMain,\n InsightsMain,\n DependencyResolverMain,\n ScopeMain,\n ExportMain,\n BuilderMain,\n ImporterMain,\n GlobalConfigMain,\n DependenciesMain,\n ApplicationMain\n ]) {\n const logger = loggerMain.createLogger(SnappingAspect.id);\n const snapping = new SnappingMain(\n workspace,\n logger,\n issues,\n insights,\n dependencyResolver,\n scope,\n exporter,\n builder,\n importer,\n deps,\n application\n );\n const snapCmd = new SnapCmd(snapping, logger, globalConfig);\n const tagCmd = new TagCmd(snapping, logger, globalConfig);\n const tagFromScopeCmd = new TagFromScopeCmd(snapping, logger);\n const snapFromScopeCmd = new SnapFromScopeCmd(snapping, logger);\n const resetCmd = new ResetCmd(snapping);\n const snapDistanceCmd = new SnapDistanceCmd(scope);\n cli.register(tagCmd, snapCmd, resetCmd, tagFromScopeCmd, snapFromScopeCmd, snapDistanceCmd);\n return snapping;\n }\n}\n\nSnappingAspect.addRuntime(SnappingMain);\n\nexport default SnappingMain;\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/snapping",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.409",
|
|
4
4
|
"homepage": "https://bit.cloud/teambit/component/snapping",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.component",
|
|
8
8
|
"name": "snapping",
|
|
9
|
-
"version": "1.0.
|
|
9
|
+
"version": "1.0.409"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"chalk": "2.4.2",
|
|
@@ -21,34 +21,34 @@
|
|
|
21
21
|
"@teambit/harmony": "0.4.6",
|
|
22
22
|
"@teambit/component-version": "1.0.3",
|
|
23
23
|
"@teambit/lane-id": "0.0.311",
|
|
24
|
-
"@teambit/graph": "1.0.
|
|
25
|
-
"@teambit/logger": "0.0.
|
|
26
|
-
"@teambit/scope": "1.0.
|
|
24
|
+
"@teambit/graph": "1.0.409",
|
|
25
|
+
"@teambit/logger": "0.0.1079",
|
|
26
|
+
"@teambit/scope": "1.0.409",
|
|
27
27
|
"@teambit/toolbox.promise.map-pool": "0.0.1",
|
|
28
|
-
"@teambit/component.sources": "0.0.
|
|
29
|
-
"@teambit/component": "1.0.
|
|
30
|
-
"@teambit/dependencies": "1.0.
|
|
31
|
-
"@teambit/dependency-resolver": "1.0.
|
|
32
|
-
"@teambit/cli": "0.0.
|
|
33
|
-
"@teambit/legacy.component-list": "0.0.
|
|
28
|
+
"@teambit/component.sources": "0.0.29",
|
|
29
|
+
"@teambit/component": "1.0.409",
|
|
30
|
+
"@teambit/dependencies": "1.0.409",
|
|
31
|
+
"@teambit/dependency-resolver": "1.0.409",
|
|
32
|
+
"@teambit/cli": "0.0.986",
|
|
33
|
+
"@teambit/legacy.component-list": "0.0.30",
|
|
34
34
|
"@teambit/component-issues": "0.0.150",
|
|
35
|
-
"@teambit/global-config": "0.0.
|
|
36
|
-
"@teambit/application": "1.0.
|
|
37
|
-
"@teambit/builder": "1.0.
|
|
38
|
-
"@teambit/export": "1.0.
|
|
35
|
+
"@teambit/global-config": "0.0.989",
|
|
36
|
+
"@teambit/application": "1.0.409",
|
|
37
|
+
"@teambit/builder": "1.0.409",
|
|
38
|
+
"@teambit/export": "1.0.409",
|
|
39
39
|
"@teambit/harmony.modules.concurrency": "0.0.1",
|
|
40
|
-
"@teambit/importer": "1.0.
|
|
41
|
-
"@teambit/insights": "1.0.
|
|
42
|
-
"@teambit/issues": "1.0.
|
|
43
|
-
"@teambit/lanes.modules.create-lane": "0.0.
|
|
44
|
-
"@teambit/legacy.scope-api": "0.0.
|
|
40
|
+
"@teambit/importer": "1.0.409",
|
|
41
|
+
"@teambit/insights": "1.0.409",
|
|
42
|
+
"@teambit/issues": "1.0.409",
|
|
43
|
+
"@teambit/lanes.modules.create-lane": "0.0.10",
|
|
44
|
+
"@teambit/legacy.scope-api": "0.0.32",
|
|
45
45
|
"@teambit/pkg.modules.semver-helper": "0.0.1",
|
|
46
|
-
"@teambit/workspace": "1.0.
|
|
46
|
+
"@teambit/workspace": "1.0.409",
|
|
47
47
|
"@teambit/bit.get-bit-version": "0.0.1",
|
|
48
48
|
"@teambit/harmony.modules.get-basic-log": "0.0.1",
|
|
49
|
-
"@teambit/remove": "1.0.
|
|
49
|
+
"@teambit/remove": "1.0.409",
|
|
50
50
|
"@teambit/toolbox.crypto.sha1": "0.0.1",
|
|
51
|
-
"@teambit/workspace.modules.node-modules-linker": "0.0.
|
|
51
|
+
"@teambit/workspace.modules.node-modules-linker": "0.0.204"
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
54
|
"@types/lodash": "4.14.165",
|
|
@@ -60,9 +60,9 @@
|
|
|
60
60
|
"@types/uuid": "8.3.4",
|
|
61
61
|
"@types/mocha": "9.1.0",
|
|
62
62
|
"@teambit/harmony.envs.core-aspect-env": "0.0.47",
|
|
63
|
-
"@teambit/compiler": "1.0.
|
|
64
|
-
"@teambit/component.testing.mock-components": "0.0.
|
|
65
|
-
"@teambit/harmony.testing.load-aspect": "0.0.
|
|
63
|
+
"@teambit/compiler": "1.0.409",
|
|
64
|
+
"@teambit/component.testing.mock-components": "0.0.235",
|
|
65
|
+
"@teambit/harmony.testing.load-aspect": "0.0.230",
|
|
66
66
|
"@teambit/workspace.testing.mock-workspace": "0.0.27"
|
|
67
67
|
},
|
|
68
68
|
"peerDependencies": {
|
|
File without changes
|