typescript 6.0.0-dev.20250814 → 6.0.0-dev.20250816
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/lib/_tsc.js +12 -12
- package/lib/typescript.js +17 -17
- package/package.json +20 -21
package/lib/_tsc.js
CHANGED
@@ -18,7 +18,7 @@ and limitations under the License.
|
|
18
18
|
|
19
19
|
// src/compiler/corePublic.ts
|
20
20
|
var versionMajorMinor = "6.0";
|
21
|
-
var version = `${versionMajorMinor}.0-dev.
|
21
|
+
var version = `${versionMajorMinor}.0-dev.20250816`;
|
22
22
|
|
23
23
|
// src/compiler/core.ts
|
24
24
|
var emptyArray = [];
|
@@ -4254,10 +4254,10 @@ function createSingleWatcherPerName(cache, useCaseSensitiveFileNames2, name, cal
|
|
4254
4254
|
cache.set(path, {
|
4255
4255
|
watcher: createWatcher(
|
4256
4256
|
// Cant infer types correctly so lets satisfy checker
|
4257
|
-
(param1, param2, param3) => {
|
4257
|
+
((param1, param2, param3) => {
|
4258
4258
|
var _a;
|
4259
4259
|
return (_a = cache.get(path)) == null ? void 0 : _a.callbacks.slice().forEach((cb) => cb(param1, param2, param3));
|
4260
|
-
}
|
4260
|
+
})
|
4261
4261
|
),
|
4262
4262
|
callbacks: [callback]
|
4263
4263
|
});
|
@@ -64237,9 +64237,9 @@ function createTypeChecker(host) {
|
|
64237
64237
|
const elem = getElaborationElementForJsxChild(child, childrenNameType, getInvalidTextualChildDiagnostic);
|
64238
64238
|
if (elem) {
|
64239
64239
|
result = elaborateElementwise(
|
64240
|
-
function* () {
|
64240
|
+
(function* () {
|
64241
64241
|
yield elem;
|
64242
|
-
}(),
|
64242
|
+
})(),
|
64243
64243
|
source,
|
64244
64244
|
target,
|
64245
64245
|
relation,
|
@@ -73246,7 +73246,7 @@ function createTypeChecker(host) {
|
|
73246
73246
|
concatenate(
|
73247
73247
|
map(
|
73248
73248
|
filter(node.properties, (p) => !!p.symbol && p.kind === 292 /* JsxAttribute */ && isDiscriminantProperty(contextualType, p.symbol.escapedName) && (!p.initializer || isPossiblyDiscriminantValue(p.initializer))),
|
73249
|
-
(prop) => [!prop.initializer ? () => trueType : () => getContextFreeTypeOfExpression(prop.initializer), prop.symbol.escapedName]
|
73249
|
+
(prop) => [!prop.initializer ? (() => trueType) : (() => getContextFreeTypeOfExpression(prop.initializer)), prop.symbol.escapedName]
|
73250
73250
|
),
|
73251
73251
|
map(
|
73252
73252
|
filter(getPropertiesOfType(contextualType), (s) => {
|
@@ -75904,11 +75904,11 @@ function createTypeChecker(host) {
|
|
75904
75904
|
Debug.assert(typeParameters[i] !== void 0, "Should not call checkTypeArguments with too many type arguments");
|
75905
75905
|
const constraint = getConstraintOfTypeParameter(typeParameters[i]);
|
75906
75906
|
if (constraint) {
|
75907
|
-
const errorInfo = reportErrors2 && headMessage ? () => chainDiagnosticMessages(
|
75907
|
+
const errorInfo = reportErrors2 && headMessage ? (() => chainDiagnosticMessages(
|
75908
75908
|
/*details*/
|
75909
75909
|
void 0,
|
75910
75910
|
Diagnostics.Type_0_does_not_satisfy_the_constraint_1
|
75911
|
-
) : void 0;
|
75911
|
+
)) : void 0;
|
75912
75912
|
const typeArgumentHeadMessage = headMessage || Diagnostics.Type_0_does_not_satisfy_the_constraint_1;
|
75913
75913
|
if (!mapper) {
|
75914
75914
|
mapper = createTypeMapper(typeParameters, typeArgumentTypes);
|
@@ -90337,7 +90337,7 @@ function createBasicNodeBuilderModuleSpecifierResolutionHost(host) {
|
|
90337
90337
|
isSourceOfProjectReferenceRedirect: (fileName) => host.isSourceOfProjectReferenceRedirect(fileName),
|
90338
90338
|
fileExists: (fileName) => host.fileExists(fileName),
|
90339
90339
|
getFileIncludeReasons: () => host.getFileIncludeReasons(),
|
90340
|
-
readFile: host.readFile ? (fileName) => host.readFile(fileName) : void 0,
|
90340
|
+
readFile: host.readFile ? ((fileName) => host.readFile(fileName)) : void 0,
|
90341
90341
|
getDefaultResolutionModeForFile: (file) => host.getDefaultResolutionModeForFile(file),
|
90342
90342
|
getModeForResolutionAtIndex: (file, index) => host.getModeForResolutionAtIndex(file, index),
|
90343
90343
|
getGlobalTypingsCacheLocation: maybeBind(host, host.getGlobalTypingsCacheLocation)
|
@@ -99043,7 +99043,7 @@ function transformESDecorators(context) {
|
|
99043
99043
|
} else {
|
99044
99044
|
Debug.assertIsDefined(node.name, "A class declaration that is not a default export must have a name.");
|
99045
99045
|
const iife = transformClassLike(node);
|
99046
|
-
const modifierVisitorNoExport = isExport ? (node2) => isExportModifier(node2) ? void 0 : modifierVisitor(node2) : modifierVisitor;
|
99046
|
+
const modifierVisitorNoExport = isExport ? ((node2) => isExportModifier(node2) ? void 0 : modifierVisitor(node2)) : modifierVisitor;
|
99047
99047
|
const modifiers = visitNodes2(node.modifiers, modifierVisitorNoExport, isModifier);
|
99048
99048
|
const declName = factory2.getLocalName(
|
99049
99049
|
node,
|
@@ -128866,7 +128866,7 @@ var WatchType = {
|
|
128866
128866
|
};
|
128867
128867
|
function createWatchFactory(host, options) {
|
128868
128868
|
const watchLogLevel = host.trace ? options.extendedDiagnostics ? 2 /* Verbose */ : options.diagnostics ? 1 /* TriggerOnly */ : 0 /* None */ : 0 /* None */;
|
128869
|
-
const writeLog = watchLogLevel !== 0 /* None */ ? (s) => host.trace(s) : noop;
|
128869
|
+
const writeLog = watchLogLevel !== 0 /* None */ ? ((s) => host.trace(s)) : noop;
|
128870
128870
|
const result = getWatchFactory(host, watchLogLevel, writeLog);
|
128871
128871
|
result.writeLog = writeLog;
|
128872
128872
|
return result;
|
@@ -129175,7 +129175,7 @@ function createWatchProgram(host) {
|
|
129175
129175
|
compilerHost.resolveTypeReferenceDirectiveReferences = resolutionCache.resolveTypeReferenceDirectiveReferences.bind(resolutionCache);
|
129176
129176
|
}
|
129177
129177
|
compilerHost.resolveLibrary = !host.resolveLibrary ? resolutionCache.resolveLibrary.bind(resolutionCache) : host.resolveLibrary.bind(host);
|
129178
|
-
compilerHost.getModuleResolutionCache = host.resolveModuleNameLiterals || host.resolveModuleNames ? maybeBind(host, host.getModuleResolutionCache) : () => resolutionCache.getModuleResolutionCache();
|
129178
|
+
compilerHost.getModuleResolutionCache = host.resolveModuleNameLiterals || host.resolveModuleNames ? maybeBind(host, host.getModuleResolutionCache) : (() => resolutionCache.getModuleResolutionCache());
|
129179
129179
|
const userProvidedResolution = !!host.resolveModuleNameLiterals || !!host.resolveTypeReferenceDirectiveReferences || !!host.resolveModuleNames || !!host.resolveTypeReferenceDirectives;
|
129180
129180
|
const customHasInvalidatedResolutions = userProvidedResolution ? maybeBind(host, host.hasInvalidatedResolutions) || returnTrue : returnFalse;
|
129181
129181
|
const customHasInvalidLibResolutions = host.resolveLibrary ? maybeBind(host, host.hasInvalidatedLibResolutions) || returnTrue : returnFalse;
|
package/lib/typescript.js
CHANGED
@@ -2285,7 +2285,7 @@ module.exports = __toCommonJS(typescript_exports);
|
|
2285
2285
|
|
2286
2286
|
// src/compiler/corePublic.ts
|
2287
2287
|
var versionMajorMinor = "6.0";
|
2288
|
-
var version = `${versionMajorMinor}.0-dev.
|
2288
|
+
var version = `${versionMajorMinor}.0-dev.20250816`;
|
2289
2289
|
var Comparison = /* @__PURE__ */ ((Comparison3) => {
|
2290
2290
|
Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
|
2291
2291
|
Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
|
@@ -7623,10 +7623,10 @@ function createSingleWatcherPerName(cache, useCaseSensitiveFileNames2, name, cal
|
|
7623
7623
|
cache.set(path, {
|
7624
7624
|
watcher: createWatcher(
|
7625
7625
|
// Cant infer types correctly so lets satisfy checker
|
7626
|
-
(param1, param2, param3) => {
|
7626
|
+
((param1, param2, param3) => {
|
7627
7627
|
var _a;
|
7628
7628
|
return (_a = cache.get(path)) == null ? void 0 : _a.callbacks.slice().forEach((cb) => cb(param1, param2, param3));
|
7629
|
-
}
|
7629
|
+
})
|
7630
7630
|
),
|
7631
7631
|
callbacks: [callback]
|
7632
7632
|
});
|
@@ -68845,9 +68845,9 @@ function createTypeChecker(host) {
|
|
68845
68845
|
const elem = getElaborationElementForJsxChild(child, childrenNameType, getInvalidTextualChildDiagnostic);
|
68846
68846
|
if (elem) {
|
68847
68847
|
result = elaborateElementwise(
|
68848
|
-
function* () {
|
68848
|
+
(function* () {
|
68849
68849
|
yield elem;
|
68850
|
-
}(),
|
68850
|
+
})(),
|
68851
68851
|
source,
|
68852
68852
|
target,
|
68853
68853
|
relation,
|
@@ -77854,7 +77854,7 @@ function createTypeChecker(host) {
|
|
77854
77854
|
concatenate(
|
77855
77855
|
map(
|
77856
77856
|
filter(node.properties, (p) => !!p.symbol && p.kind === 292 /* JsxAttribute */ && isDiscriminantProperty(contextualType, p.symbol.escapedName) && (!p.initializer || isPossiblyDiscriminantValue(p.initializer))),
|
77857
|
-
(prop) => [!prop.initializer ? () => trueType : () => getContextFreeTypeOfExpression(prop.initializer), prop.symbol.escapedName]
|
77857
|
+
(prop) => [!prop.initializer ? (() => trueType) : (() => getContextFreeTypeOfExpression(prop.initializer)), prop.symbol.escapedName]
|
77858
77858
|
),
|
77859
77859
|
map(
|
77860
77860
|
filter(getPropertiesOfType(contextualType), (s) => {
|
@@ -80512,11 +80512,11 @@ function createTypeChecker(host) {
|
|
80512
80512
|
Debug.assert(typeParameters[i] !== void 0, "Should not call checkTypeArguments with too many type arguments");
|
80513
80513
|
const constraint = getConstraintOfTypeParameter(typeParameters[i]);
|
80514
80514
|
if (constraint) {
|
80515
|
-
const errorInfo = reportErrors2 && headMessage ? () => chainDiagnosticMessages(
|
80515
|
+
const errorInfo = reportErrors2 && headMessage ? (() => chainDiagnosticMessages(
|
80516
80516
|
/*details*/
|
80517
80517
|
void 0,
|
80518
80518
|
Diagnostics.Type_0_does_not_satisfy_the_constraint_1
|
80519
|
-
) : void 0;
|
80519
|
+
)) : void 0;
|
80520
80520
|
const typeArgumentHeadMessage = headMessage || Diagnostics.Type_0_does_not_satisfy_the_constraint_1;
|
80521
80521
|
if (!mapper) {
|
80522
80522
|
mapper = createTypeMapper(typeParameters, typeArgumentTypes);
|
@@ -94945,7 +94945,7 @@ function createBasicNodeBuilderModuleSpecifierResolutionHost(host) {
|
|
94945
94945
|
isSourceOfProjectReferenceRedirect: (fileName) => host.isSourceOfProjectReferenceRedirect(fileName),
|
94946
94946
|
fileExists: (fileName) => host.fileExists(fileName),
|
94947
94947
|
getFileIncludeReasons: () => host.getFileIncludeReasons(),
|
94948
|
-
readFile: host.readFile ? (fileName) => host.readFile(fileName) : void 0,
|
94948
|
+
readFile: host.readFile ? ((fileName) => host.readFile(fileName)) : void 0,
|
94949
94949
|
getDefaultResolutionModeForFile: (file) => host.getDefaultResolutionModeForFile(file),
|
94950
94950
|
getModeForResolutionAtIndex: (file, index) => host.getModeForResolutionAtIndex(file, index),
|
94951
94951
|
getGlobalTypingsCacheLocation: maybeBind(host, host.getGlobalTypingsCacheLocation)
|
@@ -103833,7 +103833,7 @@ function transformESDecorators(context) {
|
|
103833
103833
|
} else {
|
103834
103834
|
Debug.assertIsDefined(node.name, "A class declaration that is not a default export must have a name.");
|
103835
103835
|
const iife = transformClassLike(node);
|
103836
|
-
const modifierVisitorNoExport = isExport ? (node2) => isExportModifier(node2) ? void 0 : modifierVisitor(node2) : modifierVisitor;
|
103836
|
+
const modifierVisitorNoExport = isExport ? ((node2) => isExportModifier(node2) ? void 0 : modifierVisitor(node2)) : modifierVisitor;
|
103837
103837
|
const modifiers = visitNodes2(node.modifiers, modifierVisitorNoExport, isModifier);
|
103838
103838
|
const declName = factory2.getLocalName(
|
103839
103839
|
node,
|
@@ -133774,7 +133774,7 @@ var WatchType = {
|
|
133774
133774
|
};
|
133775
133775
|
function createWatchFactory(host, options) {
|
133776
133776
|
const watchLogLevel = host.trace ? options.extendedDiagnostics ? 2 /* Verbose */ : options.diagnostics ? 1 /* TriggerOnly */ : 0 /* None */ : 0 /* None */;
|
133777
|
-
const writeLog = watchLogLevel !== 0 /* None */ ? (s) => host.trace(s) : noop;
|
133777
|
+
const writeLog = watchLogLevel !== 0 /* None */ ? ((s) => host.trace(s)) : noop;
|
133778
133778
|
const result = getWatchFactory(host, watchLogLevel, writeLog);
|
133779
133779
|
result.writeLog = writeLog;
|
133780
133780
|
return result;
|
@@ -134108,7 +134108,7 @@ function createWatchProgram(host) {
|
|
134108
134108
|
compilerHost.resolveTypeReferenceDirectiveReferences = resolutionCache.resolveTypeReferenceDirectiveReferences.bind(resolutionCache);
|
134109
134109
|
}
|
134110
134110
|
compilerHost.resolveLibrary = !host.resolveLibrary ? resolutionCache.resolveLibrary.bind(resolutionCache) : host.resolveLibrary.bind(host);
|
134111
|
-
compilerHost.getModuleResolutionCache = host.resolveModuleNameLiterals || host.resolveModuleNames ? maybeBind(host, host.getModuleResolutionCache) : () => resolutionCache.getModuleResolutionCache();
|
134111
|
+
compilerHost.getModuleResolutionCache = host.resolveModuleNameLiterals || host.resolveModuleNames ? maybeBind(host, host.getModuleResolutionCache) : (() => resolutionCache.getModuleResolutionCache());
|
134112
134112
|
const userProvidedResolution = !!host.resolveModuleNameLiterals || !!host.resolveTypeReferenceDirectiveReferences || !!host.resolveModuleNames || !!host.resolveTypeReferenceDirectives;
|
134113
134113
|
const customHasInvalidatedResolutions = userProvidedResolution ? maybeBind(host, host.hasInvalidatedResolutions) || returnTrue : returnFalse;
|
134114
134114
|
const customHasInvalidLibResolutions = host.resolveLibrary ? maybeBind(host, host.hasInvalidatedLibResolutions) || returnTrue : returnFalse;
|
@@ -142407,7 +142407,7 @@ function forEachExternalModule(checker, allSourceFiles, excludePatterns, host, c
|
|
142407
142407
|
function getIsExcluded(excludePatterns, host) {
|
142408
142408
|
var _a;
|
142409
142409
|
const realpathsWithSymlinks = (_a = host.getSymlinkCache) == null ? void 0 : _a.call(host).getSymlinkedDirectoriesByRealpath();
|
142410
|
-
return ({ fileName, path }) => {
|
142410
|
+
return (({ fileName, path }) => {
|
142411
142411
|
if (excludePatterns.some((p) => p.test(fileName))) return true;
|
142412
142412
|
if ((realpathsWithSymlinks == null ? void 0 : realpathsWithSymlinks.size) && pathContainsNodeModules(fileName)) {
|
142413
142413
|
let dir = getDirectoryPath(fileName);
|
@@ -142424,7 +142424,7 @@ function getIsExcluded(excludePatterns, host) {
|
|
142424
142424
|
) ?? false;
|
142425
142425
|
}
|
142426
142426
|
return false;
|
142427
|
-
};
|
142427
|
+
});
|
142428
142428
|
}
|
142429
142429
|
function getIsFileExcluded(host, preferences) {
|
142430
142430
|
if (!preferences.autoImportFileExcludePatterns) return () => false;
|
@@ -185830,7 +185830,7 @@ var TypingsInstaller = class {
|
|
185830
185830
|
}
|
185831
185831
|
const discoverTypingsResult = ts_JsTyping_exports.discoverTypings(
|
185832
185832
|
this.installTypingHost,
|
185833
|
-
this.log.isEnabled() ? (s) => this.log.writeLine(s) : void 0,
|
185833
|
+
this.log.isEnabled() ? ((s) => this.log.writeLine(s)) : void 0,
|
185834
185834
|
req.fileNames,
|
185835
185835
|
req.projectRootPath,
|
185836
185836
|
this.safeList,
|
@@ -190042,7 +190042,7 @@ var _ProjectService = class _ProjectService {
|
|
190042
190042
|
this
|
190043
190043
|
);
|
190044
190044
|
const watchLogLevel = this.logger.hasLevel(3 /* verbose */) ? 2 /* Verbose */ : this.logger.loggingEnabled() ? 1 /* TriggerOnly */ : 0 /* None */;
|
190045
|
-
const log = watchLogLevel !== 0 /* None */ ? (s) => this.logger.info(s) : noop;
|
190045
|
+
const log = watchLogLevel !== 0 /* None */ ? ((s) => this.logger.info(s)) : noop;
|
190046
190046
|
this.packageJsonCache = createPackageJsonCache(this);
|
190047
190047
|
this.watchFactory = this.serverMode !== 0 /* Semantic */ ? {
|
190048
190048
|
watchFile: returnNoopFileWatcher,
|
@@ -190506,7 +190506,7 @@ var _ProjectService = class _ProjectService {
|
|
190506
190506
|
useCaseSensitiveFileNames: this.host.useCaseSensitiveFileNames,
|
190507
190507
|
writeLog: (s) => this.logger.info(s),
|
190508
190508
|
toPath: (s) => this.toPath(s),
|
190509
|
-
getScriptKind: configuredProjectForConfig ? (fileName) => configuredProjectForConfig.getScriptKind(fileName) : void 0
|
190509
|
+
getScriptKind: configuredProjectForConfig ? ((fileName) => configuredProjectForConfig.getScriptKind(fileName)) : void 0
|
190510
190510
|
})) return;
|
190511
190511
|
if (config.updateLevel !== 2 /* Full */) config.updateLevel = 1 /* RootNamesAndUpdate */;
|
190512
190512
|
config.projects.forEach((watchWildcardDirectories, projectCanonicalPath) => {
|
package/package.json
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
"name": "typescript",
|
3
3
|
"author": "Microsoft Corp.",
|
4
4
|
"homepage": "https://www.typescriptlang.org/",
|
5
|
-
"version": "6.0.0-dev.
|
5
|
+
"version": "6.0.0-dev.20250816",
|
6
6
|
"license": "Apache-2.0",
|
7
7
|
"description": "TypeScript is a language for application scale JavaScript development",
|
8
8
|
"keywords": [
|
@@ -42,46 +42,45 @@
|
|
42
42
|
"@dprint/formatter": "^0.4.1",
|
43
43
|
"@dprint/typescript": "0.93.4",
|
44
44
|
"@esfx/canceltoken": "^1.0.0",
|
45
|
-
"@eslint/js": "^9.
|
45
|
+
"@eslint/js": "^9.33.0",
|
46
46
|
"@octokit/rest": "^21.1.1",
|
47
47
|
"@types/chai": "^4.3.20",
|
48
|
-
"@types/diff": "^7.0.1",
|
49
48
|
"@types/minimist": "^1.2.5",
|
50
49
|
"@types/mocha": "^10.0.10",
|
51
50
|
"@types/ms": "^0.7.34",
|
52
51
|
"@types/node": "latest",
|
53
52
|
"@types/source-map-support": "^0.5.10",
|
54
53
|
"@types/which": "^3.0.4",
|
55
|
-
"@typescript-eslint/rule-tester": "^8.
|
56
|
-
"@typescript-eslint/type-utils": "^8.
|
57
|
-
"@typescript-eslint/utils": "^8.
|
58
|
-
"azure-devops-node-api": "^
|
54
|
+
"@typescript-eslint/rule-tester": "^8.39.1",
|
55
|
+
"@typescript-eslint/type-utils": "^8.39.1",
|
56
|
+
"@typescript-eslint/utils": "^8.39.1",
|
57
|
+
"azure-devops-node-api": "^15.1.1",
|
59
58
|
"c8": "^10.1.3",
|
60
59
|
"chai": "^4.5.0",
|
61
60
|
"chokidar": "^4.0.3",
|
62
|
-
"diff": "^
|
63
|
-
"dprint": "^0.49.
|
64
|
-
"esbuild": "^0.25.
|
65
|
-
"eslint": "^9.
|
61
|
+
"diff": "^8.0.2",
|
62
|
+
"dprint": "^0.49.1",
|
63
|
+
"esbuild": "^0.25.9",
|
64
|
+
"eslint": "^9.33.0",
|
66
65
|
"eslint-formatter-autolinkable-stylish": "^1.4.0",
|
67
|
-
"eslint-plugin-regexp": "^2.
|
68
|
-
"fast-xml-parser": "^
|
66
|
+
"eslint-plugin-regexp": "^2.10.0",
|
67
|
+
"fast-xml-parser": "^5.2.5",
|
69
68
|
"glob": "^10.4.5",
|
70
|
-
"globals": "^
|
71
|
-
"hereby": "^1.
|
69
|
+
"globals": "^16.3.0",
|
70
|
+
"hereby": "^1.11.0",
|
72
71
|
"jsonc-parser": "^3.3.1",
|
73
|
-
"knip": "^5.
|
72
|
+
"knip": "^5.62.0",
|
74
73
|
"minimist": "^1.2.8",
|
75
74
|
"mocha": "^10.8.2",
|
76
75
|
"mocha-fivemat-progress-reporter": "^0.1.0",
|
77
|
-
"monocart-coverage-reports": "^2.12.
|
76
|
+
"monocart-coverage-reports": "^2.12.6",
|
78
77
|
"ms": "^2.1.3",
|
79
78
|
"picocolors": "^1.1.1",
|
80
|
-
"playwright": "^1.
|
79
|
+
"playwright": "^1.54.2",
|
81
80
|
"source-map-support": "^0.5.21",
|
82
81
|
"tslib": "^2.8.1",
|
83
|
-
"typescript": "^5.
|
84
|
-
"typescript-eslint": "^8.
|
82
|
+
"typescript": "^5.9.2",
|
83
|
+
"typescript-eslint": "^8.39.1",
|
85
84
|
"which": "^3.0.1"
|
86
85
|
},
|
87
86
|
"overrides": {
|
@@ -116,5 +115,5 @@
|
|
116
115
|
"node": "20.1.0",
|
117
116
|
"npm": "8.19.4"
|
118
117
|
},
|
119
|
-
"gitHead": "
|
118
|
+
"gitHead": "73c0bc8bc84f398990b4a79d732bbd00ca453cd5"
|
120
119
|
}
|