@intelligentgraphics/ig.gfx.packager 3.0.0-alpha.9 → 3.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/build/cli.mjs +48 -336
  2. package/build/cli.mjs.map +1 -1
  3. package/build/commands/build/docs.mjs +34 -0
  4. package/build/commands/build/docs.mjs.map +1 -0
  5. package/build/commands/build/index.mjs +169 -0
  6. package/build/commands/build/index.mjs.map +1 -0
  7. package/build/commands/build/tsc.mjs +84 -0
  8. package/build/commands/build/tsc.mjs.map +1 -0
  9. package/build/{generate.mjs → commands/generate.mjs} +6 -16
  10. package/build/commands/generate.mjs.map +1 -0
  11. package/build/{postinstall.mjs → commands/postinstall.mjs} +3 -10
  12. package/build/commands/postinstall.mjs.map +1 -0
  13. package/build/{index3.mjs → commands/publish/index.mjs} +20 -288
  14. package/build/commands/publish/index.mjs.map +1 -0
  15. package/build/commands/publish/zip.mjs +168 -0
  16. package/build/commands/publish/zip.mjs.map +1 -0
  17. package/build/{publishNpm.mjs → commands/publishNpm.mjs} +10 -18
  18. package/build/commands/publishNpm.mjs.map +1 -0
  19. package/build/index.mjs +1 -1
  20. package/build/index.mjs.map +1 -1
  21. package/build/lib/assetService.mjs +111 -0
  22. package/build/lib/assetService.mjs.map +1 -0
  23. package/build/lib/banner.mjs +20 -0
  24. package/build/lib/banner.mjs.map +1 -0
  25. package/build/{dependencies.mjs → lib/dependencies.mjs} +9 -60
  26. package/build/lib/dependencies.mjs.map +1 -0
  27. package/build/lib/error.mjs +15 -0
  28. package/build/lib/error.mjs.map +1 -0
  29. package/build/lib/fs.mjs +19 -0
  30. package/build/lib/fs.mjs.map +1 -0
  31. package/build/lib/git.mjs +37 -0
  32. package/build/lib/git.mjs.map +1 -0
  33. package/build/lib/localization.mjs +16 -0
  34. package/build/lib/localization.mjs.map +1 -0
  35. package/build/lib/log.mjs +9 -0
  36. package/build/lib/log.mjs.map +1 -0
  37. package/build/lib/npmPackage.mjs +19 -0
  38. package/build/lib/npmPackage.mjs.map +1 -0
  39. package/build/lib/package.mjs +129 -0
  40. package/build/lib/package.mjs.map +1 -0
  41. package/build/lib/packageVersion.mjs +174 -0
  42. package/build/lib/packageVersion.mjs.map +1 -0
  43. package/build/lib/parseVersion.mjs +54 -0
  44. package/build/lib/parseVersion.mjs.map +1 -0
  45. package/build/lib/prompter.mjs +31 -0
  46. package/build/lib/prompter.mjs.map +1 -0
  47. package/build/lib/publishedPackage.mjs +66 -0
  48. package/build/lib/publishedPackage.mjs.map +1 -0
  49. package/build/{scripts.mjs → lib/scripts.mjs} +1 -2
  50. package/build/lib/scripts.mjs.map +1 -0
  51. package/build/lib/stripUtf8Bom.mjs +11 -0
  52. package/build/lib/stripUtf8Bom.mjs.map +1 -0
  53. package/build/lib/toposort.mjs +26 -0
  54. package/build/lib/toposort.mjs.map +1 -0
  55. package/build/lib/versionFile.mjs +78 -0
  56. package/build/lib/versionFile.mjs.map +1 -0
  57. package/build/lib/workspace.mjs +51 -0
  58. package/build/lib/workspace.mjs.map +1 -0
  59. package/locales/de.json +18 -18
  60. package/locales/en.json +37 -37
  61. package/package.json +2 -2
  62. package/readme.md +29 -2
  63. package/scripts/postinstall.js +22 -22
  64. package/build/dependencies.mjs.map +0 -1
  65. package/build/generate.mjs.map +0 -1
  66. package/build/index2.mjs +0 -326
  67. package/build/index2.mjs.map +0 -1
  68. package/build/index3.mjs.map +0 -1
  69. package/build/postinstall.mjs.map +0 -1
  70. package/build/publishNpm.mjs.map +0 -1
  71. package/build/scripts.mjs.map +0 -1
  72. package/build/versionFile.mjs +0 -365
  73. package/build/versionFile.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"versionFile.mjs","sources":["../src/lib/git.ts","../src/lib/banner.ts","../src/lib/packageVersion.ts","../src/lib/parseVersion.ts","../src/lib/fs.ts","../src/lib/versionFile.ts"],"sourcesContent":["import simpleGit from \"simple-git\";\r\nimport * as path from \"path\";\r\n\r\nimport { WorkspaceLocation } from \"./workspace\";\r\nimport { PackageLocation } from \"./package\";\r\n\r\nexport const getVersionInformationFromGit = async (\r\n\tworkspaceLocation: WorkspaceLocation,\r\n\tpackageLocation: PackageLocation,\r\n) => {\r\n\ttry {\r\n\t\tconst git = simpleGit({\r\n\t\t\tbaseDir: workspaceLocation.path,\r\n\t\t});\r\n\r\n\t\t// check wether the files for a folder are changed\r\n\t\t// if so, mark as dirty\r\n\t\tconst diff = await git.diffSummary();\r\n\r\n\t\tconst dirty = diff.files.some((file) => {\r\n\t\t\tif (\r\n\t\t\t\tfile.file.toLowerCase().includes(\"releases\") ||\r\n\t\t\t\tfile.file.toLowerCase().endsWith(\"version.ts\") ||\r\n\t\t\t\tfile.file.toLowerCase().endsWith(\"package.json\")\r\n\t\t\t) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\r\n\t\t\tconst fullPath = path.resolve(workspaceLocation.path, file.file);\r\n\t\t\tconst relativePath = path.relative(packageLocation.path, fullPath);\r\n\r\n\t\t\treturn !relativePath.startsWith(\"..\");\r\n\t\t});\r\n\r\n\t\tconst log = await git.log({ maxCount: 1 });\r\n\t\tconst commit = !log.latest?.hash\r\n\t\t\t? undefined\r\n\t\t\t: log.latest.hash.substring(0, 7);\r\n\r\n\t\treturn {\r\n\t\t\tcommit,\r\n\t\t\tdirty,\r\n\t\t\tcommitDate: log.latest?.date,\r\n\t\t};\r\n\t} catch (err) {\r\n\t\treturn {};\r\n\t}\r\n};\r\n","import { WorkspacePackageJSON } from \"./workspace\";\r\n\r\nexport const getWorkspaceBannerText = (manifest: WorkspacePackageJSON) => {\r\n\tlet bannerText = manifest?.packager?.banner;\r\n\r\n\tif (bannerText) {\r\n\t\tconst match = bannerText.match(/Copyright \\(C\\) (\\d+)( ?- ?(\\d+))?/);\r\n\r\n\t\tif (match !== null) {\r\n\t\t\tconst startYear = parseInt(match[1]);\r\n\t\t\tconst endYear = new Date().getFullYear();\r\n\r\n\t\t\tif (startYear !== endYear) {\r\n\t\t\t\tbannerText = bannerText.replace(\r\n\t\t\t\t\tmatch[0],\r\n\t\t\t\t\t`Copyright (C) ${startYear} - ${endYear}`,\r\n\t\t\t\t);\r\n\t\t\t} else {\r\n\t\t\t\tbannerText = bannerText.replace(\r\n\t\t\t\t\tmatch[0],\r\n\t\t\t\t\t`Copyright (C) ${startYear}`,\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn bannerText;\r\n};\r\n","// Stolen from ig.tools.core\r\n\r\nexport interface PackageVersionToVersionStringParams {\r\n\tbuildNumber?: boolean;\r\n}\r\n\r\nexport class PackageVersion {\r\n\t// https://regex101.com/r/90PEY9/1\r\n\tpublic static fullTextMatcher =\r\n\t\t/(\\d+)(\\.(\\d+)(\\.(\\d+)(\\.(\\d+))?(-([^\\.]+)\\.(\\d+))?)?)?/;\r\n\tpublic static lineMatcher =\r\n\t\t/^(\\d+)(\\.(\\d+)(\\.(\\d+)(\\.(\\d+))?(-([^\\.]+)\\.(\\d+))?)?)?$/;\r\n\r\n\tpublic static extractFromText(input: string, description?: string) {\r\n\t\tif (input === undefined) {\r\n\t\t\tthrow new Error(`Can not parse version from undefined`);\r\n\t\t}\r\n\r\n\t\tconst match = input.match(PackageVersion.fullTextMatcher);\r\n\r\n\t\tif (!match) {\r\n\t\t\tthrow new Error(`Could not extract a version from input: ${input}`);\r\n\t\t}\r\n\r\n\t\treturn PackageVersion.fromMatch(match, description);\r\n\t}\r\n\r\n\tpublic static extractFromLine(input: string, description?: string) {\r\n\t\tif (input === undefined) {\r\n\t\t\tthrow new Error(`Can not parse version from undefined`);\r\n\t\t}\r\n\r\n\t\tconst match = input.match(PackageVersion.lineMatcher);\r\n\r\n\t\tif (!match) {\r\n\t\t\tthrow new Error(`Could not parse version from input: ${input}`);\r\n\t\t}\r\n\r\n\t\treturn PackageVersion.fromMatch(match, description);\r\n\t}\r\n\r\n\tpublic static equals(\r\n\t\ta: PackageVersion,\r\n\t\tb: PackageVersion,\r\n\t\tcheckPrerelease = false,\r\n\t) {\r\n\t\tif (a.major !== b.major || a.minor !== b.minor || a.patch !== b.patch) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tif (checkPrerelease === false) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\tif (a.preRelease === b.preRelease) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\tif (a.preRelease === undefined || b.preRelease === undefined) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\treturn (\r\n\t\t\ta.preRelease.type === b.preRelease.type &&\r\n\t\t\ta.preRelease.version === b.preRelease.version\r\n\t\t);\r\n\t}\r\n\r\n\tprivate static fromMatch(\r\n\t\t[\r\n\t\t\t,\r\n\t\t\tmajor,\r\n\t\t\t,\r\n\t\t\tminor = \"0\",\r\n\t\t\t,\r\n\t\t\tpatch = \"0\",\r\n\t\t\t,\r\n\t\t\tbuild,\r\n\t\t\t,\r\n\t\t\tpreReleaseType,\r\n\t\t\tpreReleaseNumber,\r\n\t\t]: RegExpMatchArray,\r\n\t\tdescription?: string,\r\n\t) {\r\n\t\tlet preRelease: PackageVersion[\"preRelease\"] = undefined;\r\n\t\tlet buildNumber = 100;\r\n\r\n\t\tif (preReleaseType && preReleaseNumber) {\r\n\t\t\tpreRelease = {\r\n\t\t\t\ttype: preReleaseType,\r\n\t\t\t\tversion: parseInt(preReleaseNumber),\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tif (build) {\r\n\t\t\tbuildNumber = Number(build);\r\n\t\t} else if (description) {\r\n\t\t\tconst descriptionMatch = description.match(/(\\d+)\\)$/);\r\n\r\n\t\t\tif (descriptionMatch) {\r\n\t\t\t\tbuildNumber = parseInt(descriptionMatch[1]);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn new PackageVersion(\r\n\t\t\tparseInt(major),\r\n\t\t\tparseInt(minor),\r\n\t\t\tparseInt(patch),\r\n\t\t\tpreRelease,\r\n\t\t\tbuildNumber,\r\n\t\t);\r\n\t}\r\n\r\n\tpublic static sort(\r\n\t\ta: PackageVersion,\r\n\t\tb: PackageVersion,\r\n\t\tascending: boolean = true,\r\n\t) {\r\n\t\tconst createSortResult = (a: number, b: number) =>\r\n\t\t\tascending ? a - b : b - a;\r\n\r\n\t\tif (a.major !== b.major) {\r\n\t\t\treturn createSortResult(a.major, b.major);\r\n\t\t}\r\n\r\n\t\tif (a.minor !== b.minor) {\r\n\t\t\treturn createSortResult(a.minor, b.minor);\r\n\t\t}\r\n\r\n\t\tif (a.patch !== b.patch) {\r\n\t\t\treturn createSortResult(a.patch, b.patch);\r\n\t\t}\r\n\r\n\t\treturn createSortResult(\r\n\t\t\ta.preRelease ? a.preRelease.version : 0,\r\n\t\t\tb.preRelease ? b.preRelease.version : 0,\r\n\t\t);\r\n\t}\r\n\r\n\tprivate static toNumber(version: PackageVersion) {\r\n\t\treturn (\r\n\t\t\t((version.major * 1000 + version.minor) * 1000 + version.patch) *\r\n\t\t\t\t1000 +\r\n\t\t\tversion.buildNumber\r\n\t\t);\r\n\t}\r\n\r\n\tconstructor(\r\n\t\tpublic major: number,\r\n\t\tpublic minor: number,\r\n\t\tpublic patch: number,\r\n\t\tpublic preRelease: { type: string; version: number } | undefined,\r\n\t\tpublic buildNumber: number,\r\n\t) {}\r\n\r\n\tpublic isPreRelease() {\r\n\t\treturn this.preRelease !== undefined;\r\n\t}\r\n\r\n\tpublic clone() {\r\n\t\treturn new PackageVersion(\r\n\t\t\tthis.major,\r\n\t\t\tthis.minor,\r\n\t\t\tthis.patch,\r\n\t\t\tthis.preRelease ? { ...this.preRelease } : undefined,\r\n\t\t\tthis.buildNumber,\r\n\t\t);\r\n\t}\r\n\r\n\tpublic incrementMajor() {\r\n\t\tthis.preRelease = undefined;\r\n\t\tthis.patch = 0;\r\n\t\tthis.minor = 0;\r\n\t\tthis.major++;\r\n\t}\r\n\r\n\tpublic incrementMinor() {\r\n\t\tthis.preRelease = undefined;\r\n\t\tthis.patch = 0;\r\n\t\tthis.minor++;\r\n\t}\r\n\r\n\tpublic incrementPatch() {\r\n\t\tthis.preRelease = undefined;\r\n\t\tthis.patch++;\r\n\t}\r\n\r\n\tpublic createPreRelease(type: string) {\r\n\t\tif (!this.preRelease) {\r\n\t\t\tthis.buildNumber = 1;\r\n\t\t} else {\r\n\t\t\tthis.buildNumber++;\r\n\t\t}\r\n\r\n\t\tif (this.preRelease && type === this.preRelease.type) {\r\n\t\t\tthis.preRelease.version++;\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.preRelease = {\r\n\t\t\tversion: 0,\r\n\t\t\ttype,\r\n\t\t};\r\n\t}\r\n\r\n\tpublic createRelease() {\r\n\t\tthis.preRelease = undefined;\r\n\t\tthis.buildNumber = 100;\r\n\t}\r\n\r\n\tpublic toVersionString({\r\n\t\tbuildNumber,\r\n\t}: PackageVersionToVersionStringParams = {}) {\r\n\t\tlet version = [this.major, this.minor, this.patch].join(\".\");\r\n\r\n\t\tif (buildNumber) {\r\n\t\t\tversion += \".\" + this.buildNumber;\r\n\t\t}\r\n\r\n\t\tif (this.preRelease) {\r\n\t\t\tversion += `-${this.preRelease.type}.${this.preRelease.version}`;\r\n\t\t}\r\n\r\n\t\treturn version;\r\n\t}\r\n\r\n\tpublic toDescriptionString(packageName: string) {\r\n\t\tconst base = [this.major, this.minor, this.patch].join(\".\");\r\n\t\tconst parts: (number | string)[] = [packageName, base];\r\n\r\n\t\tif (this.preRelease) {\r\n\t\t\tparts.push(upperCaseFirst(this.preRelease.type));\r\n\t\t\tparts.push(this.preRelease.version);\r\n\t\t}\r\n\r\n\t\tparts.push(`(${base}.${this.buildNumber})`);\r\n\r\n\t\treturn parts.join(\" \");\r\n\t}\r\n\r\n\t/**\r\n\t * Determines wether the version is lesser than the input version\r\n\t *\r\n\t * @param {PackageVersion} version\r\n\t * @returns\r\n\t */\r\n\tpublic isLesserThan(version: PackageVersion) {\r\n\t\treturn PackageVersion.toNumber(this) < PackageVersion.toNumber(version);\r\n\t}\r\n\r\n\t/**\r\n\t * Determines wether the version is greater than the input version\r\n\t *\r\n\t * @param {PackageVersion} version\r\n\t * @returns\r\n\t */\r\n\tpublic isGreaterThan(version: PackageVersion) {\r\n\t\treturn PackageVersion.toNumber(this) > PackageVersion.toNumber(version);\r\n\t}\r\n}\r\n\r\nconst upperCaseFirst = (input: string) => {\r\n\treturn input.slice(0, 1).toUpperCase() + input.slice(1);\r\n};\r\n","import { PackageVersion } from \"./packageVersion\";\r\n\r\nexport const parseVersionFromString = (input: string) => {\r\n\tif (input === undefined) {\r\n\t\tthrow new Error(`Can not parse version from undefined`);\r\n\t}\r\n\r\n\tlet match: RegExpMatchArray | null;\r\n\r\n\tlet major!: string;\r\n\tlet minor!: string;\r\n\tlet patch!: string;\r\n\tlet build: string | undefined;\r\n\tlet preReleaseType: string | undefined;\r\n\tlet preReleaseNumber: string | undefined;\r\n\r\n\tif (\r\n\t\t// first try to find a full match with build number\r\n\t\t(match = input.match(\r\n\t\t\t/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)(-([^\\.]+)\\.(\\d+))?/,\r\n\t\t)) !== null\r\n\t) {\r\n\t\t[, major, minor, patch, build, preReleaseType, preReleaseNumber] =\r\n\t\t\tmatch;\r\n\t} else if (\r\n\t\t(match = input.match(/(\\d+)\\.(\\d+)\\.(\\d+)(-([^\\.]+)\\.(\\d+))?/)) !== null\r\n\t) {\r\n\t\t[, major, minor, patch, , preReleaseType, preReleaseNumber] = match;\r\n\t}\r\n\r\n\tif (match === null) {\r\n\t\tthrow new Error(`Could not parse version from input: ${input}`);\r\n\t}\r\n\r\n\tlet preRelease: PackageVersion[\"preRelease\"] = undefined;\r\n\tlet buildNumber = 100;\r\n\r\n\tif (preReleaseType && preReleaseNumber) {\r\n\t\tpreRelease = {\r\n\t\t\ttype: preReleaseType,\r\n\t\t\tversion: parseInt(preReleaseNumber),\r\n\t\t};\r\n\t}\r\n\r\n\tif (build) {\r\n\t\tbuildNumber = Number(build);\r\n\t} else if (input) {\r\n\t\tconst descriptionMatch = input.match(/(\\d+)\\)$/);\r\n\r\n\t\tif (descriptionMatch) {\r\n\t\t\tbuildNumber = parseInt(descriptionMatch[1]);\r\n\t\t}\r\n\t}\r\n\r\n\treturn new PackageVersion(\r\n\t\tparseInt(major),\r\n\t\tparseInt(minor),\r\n\t\tparseInt(patch),\r\n\t\tpreRelease,\r\n\t\tbuildNumber,\r\n\t);\r\n};\r\n\r\n// 1000001001 -> 1.0.1.1\r\n// 1002017001 -> 1.2.17.1\r\nexport const parseVersionFromNumericVersion = (\r\n\tversion: number,\r\n): PackageVersion => {\r\n\tconst major = Math.floor(version / 1000000000);\r\n\tconst minor = Math.floor((version % 1000000000) / 1000000);\r\n\tconst patch = Math.floor((version % 1000000) / 1000);\r\n\tconst buildNumber = version % 1000;\r\n\r\n\treturn new PackageVersion(major, minor, patch, undefined, buildNumber);\r\n};\r\n","import * as fs from \"fs\";\r\n\r\nimport { isErrorENOENT } from \"./error\";\r\n\r\nexport const readStringFromFile = (filePath: string): string =>\r\n\tfs.readFileSync(filePath, { encoding: \"utf8\" });\r\n\r\nexport const readStringFromFileOrUndefined = (\r\n\tfilePath: string,\r\n): string | undefined => {\r\n\ttry {\r\n\t\treturn readStringFromFile(filePath);\r\n\t} catch (err) {\r\n\t\tif (!isErrorENOENT(err)) {\r\n\t\t\tthrow err;\r\n\t\t}\r\n\t\treturn undefined;\r\n\t}\r\n};\r\n","import * as fs from \"fs\";\r\nimport * as path from \"path\";\r\n\r\nimport { isErrorENOENT } from \"./error\";\r\nimport { readStringFromFileOrUndefined } from \"./fs\";\r\nimport { PackageLocation } from \"./package\";\r\nimport { PackageVersion } from \"./packageVersion\";\r\n\r\n// https://regex101.com/r/LtGAu5/1\r\nconst logRegex =\r\n\t/console\\.log\\(\\s*\"([\\w\\s\\.\\(\\)]+)\\ *Copyright[\\w\\s\\(\\)\\.]+(\\d{4}|\\d{4} - \\d{4})([\\w\\s\\(\\)\\.]+)?\",?\\s*\\)/i;\r\nconst currentYear = new Date(Date.now()).getFullYear();\r\n\r\nexport const getVersionFileHandler = (location: PackageLocation) => {\r\n\tconst filePath = path.join(location.scriptsDir, \"Version.ts\");\r\n\r\n\tconst invalidVersionFile = (versionFile: string | undefined) => ({\r\n\t\tversion: undefined,\r\n\t\twrite: (name: string, newVersion: PackageVersion) => {\r\n\t\t\tconst scriptsContent = fs.readdirSync(location.scriptsDir);\r\n\t\t\tconst tsFiles = scriptsContent.filter((file) =>\r\n\t\t\t\tfile.endsWith(\".ts\"),\r\n\t\t\t);\r\n\r\n\t\t\tif (tsFiles.length > 0) {\r\n\t\t\t\treturn createVersionFileWriter([currentYear], \"\")(\r\n\t\t\t\t\tname,\r\n\t\t\t\t\tnewVersion,\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t},\r\n\t\treset: () => {\r\n\t\t\tif (versionFile !== undefined) {\r\n\t\t\t\tfs.writeFileSync(filePath, versionFile, { encoding: \"utf8\" });\r\n\t\t\t} else {\r\n\t\t\t\ttry {\r\n\t\t\t\t\tfs.rmSync(filePath);\r\n\t\t\t\t} catch (err) {\r\n\t\t\t\t\tif (!isErrorENOENT(err)) {\r\n\t\t\t\t\t\tthrow err;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t});\r\n\r\n\ttype CopyrightRange = [number, number?];\r\n\r\n\tconst createVersionFileWriter =\r\n\t\t(\r\n\t\t\tcopyright: CopyrightRange = [currentYear],\r\n\t\t\tcopyrightStuff: string = \"\",\r\n\t\t) =>\r\n\t\t(name: string, newVersion: PackageVersion) => {\r\n\t\t\tconst descriptionText = newVersion.toDescriptionString(name);\r\n\t\t\tconst copyrightText = createYearString(copyright);\r\n\r\n\t\t\tconst result = `console.log(\"${descriptionText}. Copyright (C) ${copyrightText}${copyrightStuff}\");`;\r\n\r\n\t\t\tfs.writeFileSync(filePath, result, { encoding: \"utf-8\" });\r\n\t\t};\r\n\r\n\tlet rawVersionFile = readStringFromFileOrUndefined(filePath);\r\n\r\n\tif (rawVersionFile === undefined) {\r\n\t\treturn invalidVersionFile(rawVersionFile);\r\n\t}\r\n\r\n\tconst versionFile = rawVersionFile.replace(/\\n/g, \"\");\r\n\r\n\tconst match = versionFile.match(logRegex);\r\n\r\n\tif (!match) {\r\n\t\treturn invalidVersionFile(versionFile);\r\n\t}\r\n\r\n\tconst [_full, _description, copyright, copyrightStuff] = match as [\r\n\t\tstring,\r\n\t\tstring,\r\n\t\tstring,\r\n\t\tstring?,\r\n\t];\r\n\r\n\tconst copyrightYears = copyright.match(/^(\\d+)( ?- ?(\\d+))?$/);\r\n\r\n\tlet years: [number, number?];\r\n\r\n\tif (copyrightYears === null) {\r\n\t\tyears = [currentYear];\r\n\t} else {\r\n\t\tyears = [Number(copyrightYears[1]), currentYear];\r\n\t}\r\n\r\n\treturn {\r\n\t\twrite: createVersionFileWriter(years, copyrightStuff),\r\n\t\treset: () => {\r\n\t\t\tfs.writeFileSync(filePath, versionFile, { encoding: \"utf8\" });\r\n\t\t},\r\n\t};\r\n};\r\n\r\nconst createYearString = (years: [number, number?]) => {\r\n\tif (years[1] === undefined || years[0] === years[1]) {\r\n\t\treturn years[0].toString();\r\n\t}\r\n\r\n\treturn `${years[0]} - ${years[1]}`;\r\n};\r\n"],"names":["getVersionInformationFromGit","workspaceLocation","packageLocation","git","simpleGit","baseDir","path","diff","diffSummary","dirty","files","some","file","toLowerCase","includes","endsWith","fullPath","resolve","relativePath","relative","startsWith","log","maxCount","commit","latest","hash","undefined","substring","commitDate","date","err","getWorkspaceBannerText","manifest","bannerText","packager","banner","match","startYear","parseInt","endYear","Date","getFullYear","replace","PackageVersion","fullTextMatcher","lineMatcher","extractFromText","input","description","Error","fromMatch","extractFromLine","equals","a","b","checkPrerelease","major","minor","patch","preRelease","type","version","build","preReleaseType","preReleaseNumber","buildNumber","Number","descriptionMatch","sort","ascending","createSortResult","toNumber","constructor","isPreRelease","clone","incrementMajor","incrementMinor","incrementPatch","createPreRelease","createRelease","toVersionString","join","toDescriptionString","packageName","base","parts","push","upperCaseFirst","isLesserThan","isGreaterThan","slice","toUpperCase","parseVersionFromString","parseVersionFromNumericVersion","Math","floor","readStringFromFile","filePath","fs","readFileSync","encoding","readStringFromFileOrUndefined","isErrorENOENT","logRegex","currentYear","now","getVersionFileHandler","location","scriptsDir","invalidVersionFile","versionFile","write","name","newVersion","scriptsContent","readdirSync","tsFiles","filter","length","createVersionFileWriter","reset","writeFileSync","rmSync","copyright","copyrightStuff","descriptionText","copyrightText","createYearString","result","rawVersionFile","_full","_description","copyrightYears","years","toString"],"mappings":";;;;;;MAMaA,4BAA4B,GAAG,OAC3CC,iBAAoC,EACpCC,eAAgC,KAC5B;EACJ,IAAI;AAAA,IAAA,IAAA,WAAA,EAAA,YAAA,CAAA;IACH,MAAMC,GAAG,GAAGC,SAAS,CAAC;MACrBC,OAAO,EAAEJ,iBAAiB,CAACK,IAAAA;AAC5B,KAAC,CAAC,CAAA;;AAEF;AACA;AACA,IAAA,MAAMC,IAAI,GAAG,MAAMJ,GAAG,CAACK,WAAW,EAAE,CAAA;IAEpC,MAAMC,KAAK,GAAGF,IAAI,CAACG,KAAK,CAACC,IAAI,CAAEC,IAAI,IAAK;AACvC,MAAA,IACCA,IAAI,CAACA,IAAI,CAACC,WAAW,EAAE,CAACC,QAAQ,CAAC,UAAU,CAAC,IAC5CF,IAAI,CAACA,IAAI,CAACC,WAAW,EAAE,CAACE,QAAQ,CAAC,YAAY,CAAC,IAC9CH,IAAI,CAACA,IAAI,CAACC,WAAW,EAAE,CAACE,QAAQ,CAAC,cAAc,CAAC,EAC/C;AACD,QAAA,OAAO,KAAK,CAAA;AACb,OAAA;AAEA,MAAA,MAAMC,QAAQ,GAAGV,IAAI,CAACW,OAAO,CAAChB,iBAAiB,CAACK,IAAI,EAAEM,IAAI,CAACA,IAAI,CAAC,CAAA;MAChE,MAAMM,YAAY,GAAGZ,IAAI,CAACa,QAAQ,CAACjB,eAAe,CAACI,IAAI,EAAEU,QAAQ,CAAC,CAAA;AAElE,MAAA,OAAO,CAACE,YAAY,CAACE,UAAU,CAAC,IAAI,CAAC,CAAA;AACtC,KAAC,CAAC,CAAA;AAEF,IAAA,MAAMC,GAAG,GAAG,MAAMlB,GAAG,CAACkB,GAAG,CAAC;AAAEC,MAAAA,QAAQ,EAAE,CAAA;AAAE,KAAC,CAAC,CAAA;IAC1C,MAAMC,MAAM,GAAG,EAACF,CAAAA,WAAAA,GAAAA,GAAG,CAACG,MAAM,MAAA,IAAA,IAAA,WAAA,KAAA,KAAA,CAAA,IAAV,WAAYC,CAAAA,IAAI,CAC7BC,GAAAA,SAAS,GACTL,GAAG,CAACG,MAAM,CAACC,IAAI,CAACE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAElC,OAAO;MACNJ,MAAM;MACNd,KAAK;AACLmB,MAAAA,UAAU,EAAEP,CAAAA,YAAAA,GAAAA,GAAG,CAACG,MAAM,iDAAV,YAAYK,CAAAA,IAAAA;KACxB,CAAA;GACD,CAAC,OAAOC,GAAG,EAAE;AACb,IAAA,OAAO,EAAE,CAAA;AACV,GAAA;AACD;;AC7CaC,MAAAA,sBAAsB,GAAIC,QAA8B,IAAK;AAAA,EAAA,IAAA,kBAAA,CAAA;EACzE,IAAIC,UAAU,GAAGD,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAARA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAAA,kBAAAA,GAAAA,QAAQ,CAAEE,QAAQ,MAAlB,IAAA,IAAA,kBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,kBAAA,CAAoBC,MAAM,CAAA;AAE3C,EAAA,IAAIF,UAAU,EAAE;AACf,IAAA,MAAMG,KAAK,GAAGH,UAAU,CAACG,KAAK,CAAC,oCAAoC,CAAC,CAAA;IAEpE,IAAIA,KAAK,KAAK,IAAI,EAAE;MACnB,MAAMC,SAAS,GAAGC,QAAQ,CAACF,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AACpC,MAAA,MAAMG,OAAO,GAAG,IAAIC,IAAI,EAAE,CAACC,WAAW,EAAE,CAAA;MAExC,IAAIJ,SAAS,KAAKE,OAAO,EAAE;AAC1BN,QAAAA,UAAU,GAAGA,UAAU,CAACS,OAAO,CAC9BN,KAAK,CAAC,CAAC,CAAC,EACP,CAAgBC,cAAAA,EAAAA,SAAU,CAAKE,GAAAA,EAAAA,OAAQ,EAAC,CACzC,CAAA;AACF,OAAC,MAAM;AACNN,QAAAA,UAAU,GAAGA,UAAU,CAACS,OAAO,CAC9BN,KAAK,CAAC,CAAC,CAAC,EACP,CAAgBC,cAAAA,EAAAA,SAAU,EAAC,CAC5B,CAAA;AACF,OAAA;AACD,KAAA;AACD,GAAA;AAEA,EAAA,OAAOJ,UAAU,CAAA;AAClB;;AC3BA;;AAMO,MAAMU,cAAc,CAAC;AAC3B;EACA,OAAcC,eAAe,GAC5B,wDAAwD,CAAA;EACzD,OAAcC,WAAW,GACxB,0DAA0D,CAAA;AAE3D,EAAA,OAAcC,eAAe,CAACC,KAAa,EAAEC,WAAoB,EAAE;IAClE,IAAID,KAAK,KAAKrB,SAAS,EAAE;AACxB,MAAA,MAAM,IAAIuB,KAAK,CAAE,CAAA,oCAAA,CAAqC,CAAC,CAAA;AACxD,KAAA;IAEA,MAAMb,KAAK,GAAGW,KAAK,CAACX,KAAK,CAACO,cAAc,CAACC,eAAe,CAAC,CAAA;IAEzD,IAAI,CAACR,KAAK,EAAE;AACX,MAAA,MAAM,IAAIa,KAAK,CAAE,CAA0CF,wCAAAA,EAAAA,KAAM,EAAC,CAAC,CAAA;AACpE,KAAA;AAEA,IAAA,OAAOJ,cAAc,CAACO,SAAS,CAACd,KAAK,EAAEY,WAAW,CAAC,CAAA;AACpD,GAAA;AAEA,EAAA,OAAcG,eAAe,CAACJ,KAAa,EAAEC,WAAoB,EAAE;IAClE,IAAID,KAAK,KAAKrB,SAAS,EAAE;AACxB,MAAA,MAAM,IAAIuB,KAAK,CAAE,CAAA,oCAAA,CAAqC,CAAC,CAAA;AACxD,KAAA;IAEA,MAAMb,KAAK,GAAGW,KAAK,CAACX,KAAK,CAACO,cAAc,CAACE,WAAW,CAAC,CAAA;IAErD,IAAI,CAACT,KAAK,EAAE;AACX,MAAA,MAAM,IAAIa,KAAK,CAAE,CAAsCF,oCAAAA,EAAAA,KAAM,EAAC,CAAC,CAAA;AAChE,KAAA;AAEA,IAAA,OAAOJ,cAAc,CAACO,SAAS,CAACd,KAAK,EAAEY,WAAW,CAAC,CAAA;AACpD,GAAA;EAEA,OAAcI,MAAM,CACnBC,CAAiB,EACjBC,CAAiB,EACjBC,eAAe,GAAG,KAAK,EACtB;IACD,IAAIF,CAAC,CAACG,KAAK,KAAKF,CAAC,CAACE,KAAK,IAAIH,CAAC,CAACI,KAAK,KAAKH,CAAC,CAACG,KAAK,IAAIJ,CAAC,CAACK,KAAK,KAAKJ,CAAC,CAACI,KAAK,EAAE;AACtE,MAAA,OAAO,KAAK,CAAA;AACb,KAAA;IAEA,IAAIH,eAAe,KAAK,KAAK,EAAE;AAC9B,MAAA,OAAO,IAAI,CAAA;AACZ,KAAA;AAEA,IAAA,IAAIF,CAAC,CAACM,UAAU,KAAKL,CAAC,CAACK,UAAU,EAAE;AAClC,MAAA,OAAO,IAAI,CAAA;AACZ,KAAA;IAEA,IAAIN,CAAC,CAACM,UAAU,KAAKjC,SAAS,IAAI4B,CAAC,CAACK,UAAU,KAAKjC,SAAS,EAAE;AAC7D,MAAA,OAAO,KAAK,CAAA;AACb,KAAA;IAEA,OACC2B,CAAC,CAACM,UAAU,CAACC,IAAI,KAAKN,CAAC,CAACK,UAAU,CAACC,IAAI,IACvCP,CAAC,CAACM,UAAU,CAACE,OAAO,KAAKP,CAAC,CAACK,UAAU,CAACE,OAAO,CAAA;AAE/C,GAAA;EAEA,OAAeX,SAAS,CACvB,GAECM,KAAK,GAELC,KAAK,GAAG,GAAG,GAEXC,KAAK,GAAG,GAAG,GAEXI,KAAK,GAELC,cAAc,EACdC,gBAAgB,CACE,EACnBhB,WAAoB,EACnB;IACD,IAAIW,UAAwC,GAAGjC,SAAS,CAAA;IACxD,IAAIuC,WAAW,GAAG,GAAG,CAAA;IAErB,IAAIF,cAAc,IAAIC,gBAAgB,EAAE;AACvCL,MAAAA,UAAU,GAAG;AACZC,QAAAA,IAAI,EAAEG,cAAc;QACpBF,OAAO,EAAEvB,QAAQ,CAAC0B,gBAAgB,CAAA;OAClC,CAAA;AACF,KAAA;AAEA,IAAA,IAAIF,KAAK,EAAE;AACVG,MAAAA,WAAW,GAAGC,MAAM,CAACJ,KAAK,CAAC,CAAA;KAC3B,MAAM,IAAId,WAAW,EAAE;AACvB,MAAA,MAAMmB,gBAAgB,GAAGnB,WAAW,CAACZ,KAAK,CAAC,UAAU,CAAC,CAAA;AAEtD,MAAA,IAAI+B,gBAAgB,EAAE;AACrBF,QAAAA,WAAW,GAAG3B,QAAQ,CAAC6B,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAA;AAC5C,OAAA;AACD,KAAA;IAEA,OAAO,IAAIxB,cAAc,CACxBL,QAAQ,CAACkB,KAAK,CAAC,EACflB,QAAQ,CAACmB,KAAK,CAAC,EACfnB,QAAQ,CAACoB,KAAK,CAAC,EACfC,UAAU,EACVM,WAAW,CACX,CAAA;AACF,GAAA;EAEA,OAAcG,IAAI,CACjBf,CAAiB,EACjBC,CAAiB,EACjBe,SAAkB,GAAG,IAAI,EACxB;AACD,IAAA,MAAMC,gBAAgB,GAAG,CAACjB,CAAS,EAAEC,CAAS,KAC7Ce,SAAS,GAAGhB,CAAC,GAAGC,CAAC,GAAGA,CAAC,GAAGD,CAAC,CAAA;AAE1B,IAAA,IAAIA,CAAC,CAACG,KAAK,KAAKF,CAAC,CAACE,KAAK,EAAE;MACxB,OAAOc,gBAAgB,CAACjB,CAAC,CAACG,KAAK,EAAEF,CAAC,CAACE,KAAK,CAAC,CAAA;AAC1C,KAAA;AAEA,IAAA,IAAIH,CAAC,CAACI,KAAK,KAAKH,CAAC,CAACG,KAAK,EAAE;MACxB,OAAOa,gBAAgB,CAACjB,CAAC,CAACI,KAAK,EAAEH,CAAC,CAACG,KAAK,CAAC,CAAA;AAC1C,KAAA;AAEA,IAAA,IAAIJ,CAAC,CAACK,KAAK,KAAKJ,CAAC,CAACI,KAAK,EAAE;MACxB,OAAOY,gBAAgB,CAACjB,CAAC,CAACK,KAAK,EAAEJ,CAAC,CAACI,KAAK,CAAC,CAAA;AAC1C,KAAA;IAEA,OAAOY,gBAAgB,CACtBjB,CAAC,CAACM,UAAU,GAAGN,CAAC,CAACM,UAAU,CAACE,OAAO,GAAG,CAAC,EACvCP,CAAC,CAACK,UAAU,GAAGL,CAAC,CAACK,UAAU,CAACE,OAAO,GAAG,CAAC,CACvC,CAAA;AACF,GAAA;EAEA,OAAeU,QAAQ,CAACV,OAAuB,EAAE;IAChD,OACC,CAAC,CAACA,OAAO,CAACL,KAAK,GAAG,IAAI,GAAGK,OAAO,CAACJ,KAAK,IAAI,IAAI,GAAGI,OAAO,CAACH,KAAK,IAC7D,IAAI,GACLG,OAAO,CAACI,WAAW,CAAA;AAErB,GAAA;EAEAO,WAAW,CACHhB,KAAa,EACbC,KAAa,EACbC,KAAa,EACbC,UAAyD,EACzDM,WAAmB,EACzB;IAAA,IALMT,CAAAA,KAAa,GAAbA,KAAa,CAAA;IAAA,IACbC,CAAAA,KAAa,GAAbA,KAAa,CAAA;IAAA,IACbC,CAAAA,KAAa,GAAbA,KAAa,CAAA;IAAA,IACbC,CAAAA,UAAyD,GAAzDA,UAAyD,CAAA;IAAA,IACzDM,CAAAA,WAAmB,GAAnBA,WAAmB,CAAA;AACxB,GAAA;AAEIQ,EAAAA,YAAY,GAAG;AACrB,IAAA,OAAO,IAAI,CAACd,UAAU,KAAKjC,SAAS,CAAA;AACrC,GAAA;AAEOgD,EAAAA,KAAK,GAAG;AACd,IAAA,OAAO,IAAI/B,cAAc,CACxB,IAAI,CAACa,KAAK,EACV,IAAI,CAACC,KAAK,EACV,IAAI,CAACC,KAAK,EACV,IAAI,CAACC,UAAU,GAAG;AAAE,MAAA,GAAG,IAAI,CAACA,UAAAA;AAAW,KAAC,GAAGjC,SAAS,EACpD,IAAI,CAACuC,WAAW,CAChB,CAAA;AACF,GAAA;AAEOU,EAAAA,cAAc,GAAG;IACvB,IAAI,CAAChB,UAAU,GAAGjC,SAAS,CAAA;IAC3B,IAAI,CAACgC,KAAK,GAAG,CAAC,CAAA;IACd,IAAI,CAACD,KAAK,GAAG,CAAC,CAAA;IACd,IAAI,CAACD,KAAK,EAAE,CAAA;AACb,GAAA;AAEOoB,EAAAA,cAAc,GAAG;IACvB,IAAI,CAACjB,UAAU,GAAGjC,SAAS,CAAA;IAC3B,IAAI,CAACgC,KAAK,GAAG,CAAC,CAAA;IACd,IAAI,CAACD,KAAK,EAAE,CAAA;AACb,GAAA;AAEOoB,EAAAA,cAAc,GAAG;IACvB,IAAI,CAAClB,UAAU,GAAGjC,SAAS,CAAA;IAC3B,IAAI,CAACgC,KAAK,EAAE,CAAA;AACb,GAAA;EAEOoB,gBAAgB,CAAClB,IAAY,EAAE;AACrC,IAAA,IAAI,CAAC,IAAI,CAACD,UAAU,EAAE;MACrB,IAAI,CAACM,WAAW,GAAG,CAAC,CAAA;AACrB,KAAC,MAAM;MACN,IAAI,CAACA,WAAW,EAAE,CAAA;AACnB,KAAA;IAEA,IAAI,IAAI,CAACN,UAAU,IAAIC,IAAI,KAAK,IAAI,CAACD,UAAU,CAACC,IAAI,EAAE;AACrD,MAAA,IAAI,CAACD,UAAU,CAACE,OAAO,EAAE,CAAA;AACzB,MAAA,OAAA;AACD,KAAA;IAEA,IAAI,CAACF,UAAU,GAAG;AACjBE,MAAAA,OAAO,EAAE,CAAC;AACVD,MAAAA,IAAAA;KACA,CAAA;AACF,GAAA;AAEOmB,EAAAA,aAAa,GAAG;IACtB,IAAI,CAACpB,UAAU,GAAGjC,SAAS,CAAA;IAC3B,IAAI,CAACuC,WAAW,GAAG,GAAG,CAAA;AACvB,GAAA;AAEOe,EAAAA,eAAe,CAAC;AACtBf,IAAAA,WAAAA;GACqC,GAAG,EAAE,EAAE;AAC5C,IAAA,IAAIJ,OAAO,GAAG,CAAC,IAAI,CAACL,KAAK,EAAE,IAAI,CAACC,KAAK,EAAE,IAAI,CAACC,KAAK,CAAC,CAACuB,IAAI,CAAC,GAAG,CAAC,CAAA;AAE5D,IAAA,IAAIhB,WAAW,EAAE;AAChBJ,MAAAA,OAAO,IAAI,GAAG,GAAG,IAAI,CAACI,WAAW,CAAA;AAClC,KAAA;IAEA,IAAI,IAAI,CAACN,UAAU,EAAE;AACpBE,MAAAA,OAAO,IAAK,CAAA,CAAA,EAAG,IAAI,CAACF,UAAU,CAACC,IAAK,CAAA,CAAA,EAAG,IAAI,CAACD,UAAU,CAACE,OAAQ,CAAC,CAAA,CAAA;AACjE,KAAA;AAEA,IAAA,OAAOA,OAAO,CAAA;AACf,GAAA;EAEOqB,mBAAmB,CAACC,WAAmB,EAAE;AAC/C,IAAA,MAAMC,IAAI,GAAG,CAAC,IAAI,CAAC5B,KAAK,EAAE,IAAI,CAACC,KAAK,EAAE,IAAI,CAACC,KAAK,CAAC,CAACuB,IAAI,CAAC,GAAG,CAAC,CAAA;AAC3D,IAAA,MAAMI,KAA0B,GAAG,CAACF,WAAW,EAAEC,IAAI,CAAC,CAAA;IAEtD,IAAI,IAAI,CAACzB,UAAU,EAAE;MACpB0B,KAAK,CAACC,IAAI,CAACC,cAAc,CAAC,IAAI,CAAC5B,UAAU,CAACC,IAAI,CAAC,CAAC,CAAA;MAChDyB,KAAK,CAACC,IAAI,CAAC,IAAI,CAAC3B,UAAU,CAACE,OAAO,CAAC,CAAA;AACpC,KAAA;IAEAwB,KAAK,CAACC,IAAI,CAAE,CAAGF,CAAAA,EAAAA,IAAK,IAAG,IAAI,CAACnB,WAAY,CAAA,CAAA,CAAE,CAAC,CAAA;AAE3C,IAAA,OAAOoB,KAAK,CAACJ,IAAI,CAAC,GAAG,CAAC,CAAA;AACvB,GAAA;;AAEA;AACD;AACA;AACA;AACA;AACA;EACQO,YAAY,CAAC3B,OAAuB,EAAE;AAC5C,IAAA,OAAOlB,cAAc,CAAC4B,QAAQ,CAAC,IAAI,CAAC,GAAG5B,cAAc,CAAC4B,QAAQ,CAACV,OAAO,CAAC,CAAA;AACxE,GAAA;;AAEA;AACD;AACA;AACA;AACA;AACA;EACQ4B,aAAa,CAAC5B,OAAuB,EAAE;AAC7C,IAAA,OAAOlB,cAAc,CAAC4B,QAAQ,CAAC,IAAI,CAAC,GAAG5B,cAAc,CAAC4B,QAAQ,CAACV,OAAO,CAAC,CAAA;AACxE,GAAA;AACD,CAAA;AAEA,MAAM0B,cAAc,GAAIxC,KAAa,IAAK;AACzC,EAAA,OAAOA,KAAK,CAAC2C,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAACC,WAAW,EAAE,GAAG5C,KAAK,CAAC2C,KAAK,CAAC,CAAC,CAAC,CAAA;AACxD,CAAC;;ACrQYE,MAAAA,sBAAsB,GAAI7C,KAAa,IAAK;EACxD,IAAIA,KAAK,KAAKrB,SAAS,EAAE;AACxB,IAAA,MAAM,IAAIuB,KAAK,CAAE,CAAA,oCAAA,CAAqC,CAAC,CAAA;AACxD,GAAA;AAEA,EAAA,IAAIb,KAA8B,CAAA;AAElC,EAAA,IAAIoB,KAAc,CAAA;AAClB,EAAA,IAAIC,KAAc,CAAA;AAClB,EAAA,IAAIC,KAAc,CAAA;AAClB,EAAA,IAAII,KAAyB,CAAA;AAC7B,EAAA,IAAIC,cAAkC,CAAA;AACtC,EAAA,IAAIC,gBAAoC,CAAA;AAExC,EAAA;AACC;EACA,CAAC5B,KAAK,GAAGW,KAAK,CAACX,KAAK,CACnB,+CAA+C,CAC/C,MAAM,IAAI,EACV;AACD,IAAA,GAAGoB,KAAK,EAAEC,KAAK,EAAEC,KAAK,EAAEI,KAAK,EAAEC,cAAc,EAAEC,gBAAgB,CAAC,GAC/D5B,KAAK,CAAA;AACP,GAAC,MAAM,IACN,CAACA,KAAK,GAAGW,KAAK,CAACX,KAAK,CAAC,wCAAwC,CAAC,MAAM,IAAI,EACvE;IACD,GAAGoB,KAAK,EAAEC,KAAK,EAAEC,KAAK,GAAIK,cAAc,EAAEC,gBAAgB,CAAC,GAAG5B,KAAK,CAAA;AACpE,GAAA;EAEA,IAAIA,KAAK,KAAK,IAAI,EAAE;AACnB,IAAA,MAAM,IAAIa,KAAK,CAAE,CAAsCF,oCAAAA,EAAAA,KAAM,EAAC,CAAC,CAAA;AAChE,GAAA;EAEA,IAAIY,UAAwC,GAAGjC,SAAS,CAAA;EACxD,IAAIuC,WAAW,GAAG,GAAG,CAAA;EAErB,IAAIF,cAAc,IAAIC,gBAAgB,EAAE;AACvCL,IAAAA,UAAU,GAAG;AACZC,MAAAA,IAAI,EAAEG,cAAc;MACpBF,OAAO,EAAEvB,QAAQ,CAAC0B,gBAAgB,CAAA;KAClC,CAAA;AACF,GAAA;AAEA,EAAA,IAAIF,KAAK,EAAE;AACVG,IAAAA,WAAW,GAAGC,MAAM,CAACJ,KAAK,CAAC,CAAA;GAC3B,MAAM,IAAIf,KAAK,EAAE;AACjB,IAAA,MAAMoB,gBAAgB,GAAGpB,KAAK,CAACX,KAAK,CAAC,UAAU,CAAC,CAAA;AAEhD,IAAA,IAAI+B,gBAAgB,EAAE;AACrBF,MAAAA,WAAW,GAAG3B,QAAQ,CAAC6B,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAA;AAC5C,KAAA;AACD,GAAA;EAEA,OAAO,IAAIxB,cAAc,CACxBL,QAAQ,CAACkB,KAAK,CAAC,EACflB,QAAQ,CAACmB,KAAK,CAAC,EACfnB,QAAQ,CAACoB,KAAK,CAAC,EACfC,UAAU,EACVM,WAAW,CACX,CAAA;AACF,EAAC;;AAED;AACA;AACa4B,MAAAA,8BAA8B,GAC1ChC,OAAe,IACK;EACpB,MAAML,KAAK,GAAGsC,IAAI,CAACC,KAAK,CAAClC,OAAO,GAAG,UAAU,CAAC,CAAA;EAC9C,MAAMJ,KAAK,GAAGqC,IAAI,CAACC,KAAK,CAAElC,OAAO,GAAG,UAAU,GAAI,OAAO,CAAC,CAAA;EAC1D,MAAMH,KAAK,GAAGoC,IAAI,CAACC,KAAK,CAAElC,OAAO,GAAG,OAAO,GAAI,IAAI,CAAC,CAAA;AACpD,EAAA,MAAMI,WAAW,GAAGJ,OAAO,GAAG,IAAI,CAAA;AAElC,EAAA,OAAO,IAAIlB,cAAc,CAACa,KAAK,EAAEC,KAAK,EAAEC,KAAK,EAAEhC,SAAS,EAAEuC,WAAW,CAAC,CAAA;AACvE;;ACtEO,MAAM+B,kBAAkB,GAAIC,QAAgB,IAClDC,EAAE,CAACC,YAAY,CAACF,QAAQ,EAAE;AAAEG,EAAAA,QAAQ,EAAE,MAAA;AAAO,CAAC,CAAC,CAAA;AAEzC,MAAMC,6BAA6B,GACzCJ,QAAgB,IACQ;EACxB,IAAI;IACH,OAAOD,kBAAkB,CAACC,QAAQ,CAAC,CAAA;GACnC,CAAC,OAAOnE,GAAG,EAAE;AACb,IAAA,IAAI,CAACwE,aAAa,CAACxE,GAAG,CAAC,EAAE;AACxB,MAAA,MAAMA,GAAG,CAAA;AACV,KAAA;AACA,IAAA,OAAOJ,SAAS,CAAA;AACjB,GAAA;AACD,CAAC;;ACVD;AACA,MAAM6E,QAAQ,GACb,0GAA0G,CAAA;AAC3G,MAAMC,WAAW,GAAG,IAAIhE,IAAI,CAACA,IAAI,CAACiE,GAAG,EAAE,CAAC,CAAChE,WAAW,EAAE,CAAA;AAEzCiE,MAAAA,qBAAqB,GAAIC,QAAyB,IAAK;EACnE,MAAMV,QAAQ,GAAG3F,IAAI,CAAC2E,IAAI,CAAC0B,QAAQ,CAACC,UAAU,EAAE,YAAY,CAAC,CAAA;EAE7D,MAAMC,kBAAkB,GAAIC,WAA+B,KAAM;AAChEjD,IAAAA,OAAO,EAAEnC,SAAS;AAClBqF,IAAAA,KAAK,EAAE,CAACC,IAAY,EAAEC,UAA0B,KAAK;MACpD,MAAMC,cAAc,GAAGhB,EAAE,CAACiB,WAAW,CAACR,QAAQ,CAACC,UAAU,CAAC,CAAA;AAC1D,MAAA,MAAMQ,OAAO,GAAGF,cAAc,CAACG,MAAM,CAAEzG,IAAI,IAC1CA,IAAI,CAACG,QAAQ,CAAC,KAAK,CAAC,CACpB,CAAA;AAED,MAAA,IAAIqG,OAAO,CAACE,MAAM,GAAG,CAAC,EAAE;AACvB,QAAA,OAAOC,uBAAuB,CAAC,CAACf,WAAW,CAAC,EAAE,EAAE,CAAC,CAChDQ,IAAI,EACJC,UAAU,CACV,CAAA;AACF,OAAA;KACA;AACDO,IAAAA,KAAK,EAAE,MAAM;MACZ,IAAIV,WAAW,KAAKpF,SAAS,EAAE;AAC9BwE,QAAAA,EAAE,CAACuB,aAAa,CAACxB,QAAQ,EAAEa,WAAW,EAAE;AAAEV,UAAAA,QAAQ,EAAE,MAAA;AAAO,SAAC,CAAC,CAAA;AAC9D,OAAC,MAAM;QACN,IAAI;AACHF,UAAAA,EAAE,CAACwB,MAAM,CAACzB,QAAQ,CAAC,CAAA;SACnB,CAAC,OAAOnE,GAAG,EAAE;AACb,UAAA,IAAI,CAACwE,aAAa,CAACxE,GAAG,CAAC,EAAE;AACxB,YAAA,MAAMA,GAAG,CAAA;AACV,WAAA;AACD,SAAA;AACD,OAAA;AACD,KAAA;AACD,GAAC,CAAC,CAAA;AAIF,EAAA,MAAMyF,uBAAuB,GAC5B,CACCI,SAAyB,GAAG,CAACnB,WAAW,CAAC,EACzCoB,cAAsB,GAAG,EAAE,KAE5B,CAACZ,IAAY,EAAEC,UAA0B,KAAK;AAC7C,IAAA,MAAMY,eAAe,GAAGZ,UAAU,CAAC/B,mBAAmB,CAAC8B,IAAI,CAAC,CAAA;AAC5D,IAAA,MAAMc,aAAa,GAAGC,gBAAgB,CAACJ,SAAS,CAAC,CAAA;IAEjD,MAAMK,MAAM,GAAI,CAAeH,aAAAA,EAAAA,eAAgB,mBAAkBC,aAAc,CAAA,EAAEF,cAAe,CAAI,GAAA,CAAA,CAAA;AAEpG1B,IAAAA,EAAE,CAACuB,aAAa,CAACxB,QAAQ,EAAE+B,MAAM,EAAE;AAAE5B,MAAAA,QAAQ,EAAE,OAAA;AAAQ,KAAC,CAAC,CAAA;GACzD,CAAA;AAEF,EAAA,IAAI6B,cAAc,GAAG5B,6BAA6B,CAACJ,QAAQ,CAAC,CAAA;EAE5D,IAAIgC,cAAc,KAAKvG,SAAS,EAAE;IACjC,OAAOmF,kBAAkB,CAACoB,cAAc,CAAC,CAAA;AAC1C,GAAA;EAEA,MAAMnB,WAAW,GAAGmB,cAAc,CAACvF,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;AAErD,EAAA,MAAMN,KAAK,GAAG0E,WAAW,CAAC1E,KAAK,CAACmE,QAAQ,CAAC,CAAA;EAEzC,IAAI,CAACnE,KAAK,EAAE;IACX,OAAOyE,kBAAkB,CAACC,WAAW,CAAC,CAAA;AACvC,GAAA;EAEA,MAAM,CAACoB,KAAK,EAAEC,YAAY,EAAER,SAAS,EAAEC,cAAc,CAAC,GAAGxF,KAKxD,CAAA;AAED,EAAA,MAAMgG,cAAc,GAAGT,SAAS,CAACvF,KAAK,CAAC,sBAAsB,CAAC,CAAA;AAE9D,EAAA,IAAIiG,KAAwB,CAAA;EAE5B,IAAID,cAAc,KAAK,IAAI,EAAE;IAC5BC,KAAK,GAAG,CAAC7B,WAAW,CAAC,CAAA;AACtB,GAAC,MAAM;IACN6B,KAAK,GAAG,CAACnE,MAAM,CAACkE,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE5B,WAAW,CAAC,CAAA;AACjD,GAAA;EAEA,OAAO;AACNO,IAAAA,KAAK,EAAEQ,uBAAuB,CAACc,KAAK,EAAET,cAAc,CAAC;AACrDJ,IAAAA,KAAK,EAAE,MAAM;AACZtB,MAAAA,EAAE,CAACuB,aAAa,CAACxB,QAAQ,EAAEa,WAAW,EAAE;AAAEV,QAAAA,QAAQ,EAAE,MAAA;AAAO,OAAC,CAAC,CAAA;AAC9D,KAAA;GACA,CAAA;AACF,EAAC;AAED,MAAM2B,gBAAgB,GAAIM,KAAwB,IAAK;AACtD,EAAA,IAAIA,KAAK,CAAC,CAAC,CAAC,KAAK3G,SAAS,IAAI2G,KAAK,CAAC,CAAC,CAAC,KAAKA,KAAK,CAAC,CAAC,CAAC,EAAE;AACpD,IAAA,OAAOA,KAAK,CAAC,CAAC,CAAC,CAACC,QAAQ,EAAE,CAAA;AAC3B,GAAA;EAEA,OAAQ,CAAA,EAAED,KAAK,CAAC,CAAC,CAAE,MAAKA,KAAK,CAAC,CAAC,CAAE,CAAC,CAAA,CAAA;AACnC,CAAC;;;;"}