From 1c41110317a03178e707f58f8442b5e99bc5ff19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20S=C3=B8rensen?= Date: Sat, 13 Jan 2024 11:46:20 +0100 Subject: [PATCH] Update dependencies (#702) --- homeassistant-frontend | 2 +- package.json | 12 +- yarn.lock | 243 ++++++++++++----------------------------- 3 files changed, 74 insertions(+), 183 deletions(-) diff --git a/homeassistant-frontend b/homeassistant-frontend index 02a7d0e7..6cdf1c16 160000 --- a/homeassistant-frontend +++ b/homeassistant-frontend @@ -1 +1 @@ -Subproject commit 02a7d0e797a7c354fb7d787283330a5931d798d2 +Subproject commit 6cdf1c168910edc778ebed0910c6bd42e1684ece diff --git a/package.json b/package.json index 3dfe66fb..bc381011 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "@babel/helper-define-polyfill-provider": "0.4.4", "@babel/plugin-proposal-decorators": "7.23.7", "@babel/plugin-transform-runtime": "7.23.7", - "@babel/preset-env": "7.23.7", + "@babel/preset-env": "7.23.8", "@babel/preset-typescript": "7.23.3", "@bundle-stats/plugin-webpack-filter": "4.8.4", "@koa/cors": "5.0.0", @@ -50,8 +50,8 @@ "@types/tar": "6.1.10", "@types/ua-parser-js": "0.7.39", "@types/webspeechapi": "0.0.29", - "@typescript-eslint/eslint-plugin": "6.18.0", - "@typescript-eslint/parser": "6.18.0", + "@typescript-eslint/eslint-plugin": "6.18.1", + "@typescript-eslint/parser": "6.18.1", "@web/dev-server": "0.1.38", "@web/dev-server-rollup": "0.4.1", "babel-loader": "9.1.3", @@ -83,7 +83,7 @@ "instant-mocha": "1.5.2", "jszip": "3.10.1", "lint-staged": "15.2.0", - "lit-analyzer": "2.0.2", + "lit-analyzer": "2.0.3", "lodash.template": "4.5.0", "magic-string": "0.30.5", "map-stream": "0.0.7", @@ -103,7 +103,7 @@ "tar": "6.2.0", "terser-webpack-plugin": "5.3.10", "transform-async-modules-webpack-plugin": "1.0.2", - "ts-lit-plugin": "2.0.1", + "ts-lit-plugin": "2.0.2", "typescript": "5.3.3", "vinyl-buffer": "1.0.1", "vinyl-source-stream": "2.0.0", @@ -116,7 +116,7 @@ "workbox-build": "7.0.0" }, "dependencies": { - "@babel/runtime": "7.23.7", + "@babel/runtime": "7.23.8", "@braintree/sanitize-url": "7.0.0", "@codemirror/autocomplete": "6.11.1", "@codemirror/commands": "6.3.3", diff --git a/yarn.lock b/yarn.lock index 49af6f80..7f73ef6a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1178,7 +1178,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-classes@npm:^7.23.5, @babel/plugin-transform-classes@npm:^7.23.8": +"@babel/plugin-transform-classes@npm:^7.23.8": version: 7.23.8 resolution: "@babel/plugin-transform-classes@npm:7.23.8" dependencies: @@ -2167,97 +2167,7 @@ __metadata: languageName: node linkType: hard -"@babel/preset-env@npm:7.23.7": - version: 7.23.7 - resolution: "@babel/preset-env@npm:7.23.7" - dependencies: - "@babel/compat-data": "npm:^7.23.5" - "@babel/helper-compilation-targets": "npm:^7.23.6" - "@babel/helper-plugin-utils": "npm:^7.22.5" - "@babel/helper-validator-option": "npm:^7.23.5" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.23.3" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.23.3" - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.23.7" - "@babel/plugin-proposal-private-property-in-object": "npm:7.21.0-placeholder-for-preset-env.2" - "@babel/plugin-syntax-async-generators": "npm:^7.8.4" - "@babel/plugin-syntax-class-properties": "npm:^7.12.13" - "@babel/plugin-syntax-class-static-block": "npm:^7.14.5" - "@babel/plugin-syntax-dynamic-import": "npm:^7.8.3" - "@babel/plugin-syntax-export-namespace-from": "npm:^7.8.3" - "@babel/plugin-syntax-import-assertions": "npm:^7.23.3" - "@babel/plugin-syntax-import-attributes": "npm:^7.23.3" - "@babel/plugin-syntax-import-meta": "npm:^7.10.4" - "@babel/plugin-syntax-json-strings": "npm:^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" - "@babel/plugin-syntax-numeric-separator": "npm:^7.10.4" - "@babel/plugin-syntax-object-rest-spread": "npm:^7.8.3" - "@babel/plugin-syntax-optional-catch-binding": "npm:^7.8.3" - "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" - "@babel/plugin-syntax-private-property-in-object": "npm:^7.14.5" - "@babel/plugin-syntax-top-level-await": "npm:^7.14.5" - "@babel/plugin-syntax-unicode-sets-regex": "npm:^7.18.6" - "@babel/plugin-transform-arrow-functions": "npm:^7.23.3" - "@babel/plugin-transform-async-generator-functions": "npm:^7.23.7" - "@babel/plugin-transform-async-to-generator": "npm:^7.23.3" - "@babel/plugin-transform-block-scoped-functions": "npm:^7.23.3" - "@babel/plugin-transform-block-scoping": "npm:^7.23.4" - "@babel/plugin-transform-class-properties": "npm:^7.23.3" - "@babel/plugin-transform-class-static-block": "npm:^7.23.4" - "@babel/plugin-transform-classes": "npm:^7.23.5" - "@babel/plugin-transform-computed-properties": "npm:^7.23.3" - "@babel/plugin-transform-destructuring": "npm:^7.23.3" - "@babel/plugin-transform-dotall-regex": "npm:^7.23.3" - "@babel/plugin-transform-duplicate-keys": "npm:^7.23.3" - "@babel/plugin-transform-dynamic-import": "npm:^7.23.4" - "@babel/plugin-transform-exponentiation-operator": "npm:^7.23.3" - "@babel/plugin-transform-export-namespace-from": "npm:^7.23.4" - "@babel/plugin-transform-for-of": "npm:^7.23.6" - "@babel/plugin-transform-function-name": "npm:^7.23.3" - "@babel/plugin-transform-json-strings": "npm:^7.23.4" - "@babel/plugin-transform-literals": "npm:^7.23.3" - "@babel/plugin-transform-logical-assignment-operators": "npm:^7.23.4" - "@babel/plugin-transform-member-expression-literals": "npm:^7.23.3" - "@babel/plugin-transform-modules-amd": "npm:^7.23.3" - "@babel/plugin-transform-modules-commonjs": "npm:^7.23.3" - "@babel/plugin-transform-modules-systemjs": "npm:^7.23.3" - "@babel/plugin-transform-modules-umd": "npm:^7.23.3" - "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.22.5" - "@babel/plugin-transform-new-target": "npm:^7.23.3" - "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.23.4" - "@babel/plugin-transform-numeric-separator": "npm:^7.23.4" - "@babel/plugin-transform-object-rest-spread": "npm:^7.23.4" - "@babel/plugin-transform-object-super": "npm:^7.23.3" - "@babel/plugin-transform-optional-catch-binding": "npm:^7.23.4" - "@babel/plugin-transform-optional-chaining": "npm:^7.23.4" - "@babel/plugin-transform-parameters": "npm:^7.23.3" - "@babel/plugin-transform-private-methods": "npm:^7.23.3" - "@babel/plugin-transform-private-property-in-object": "npm:^7.23.4" - "@babel/plugin-transform-property-literals": "npm:^7.23.3" - "@babel/plugin-transform-regenerator": "npm:^7.23.3" - "@babel/plugin-transform-reserved-words": "npm:^7.23.3" - "@babel/plugin-transform-shorthand-properties": "npm:^7.23.3" - "@babel/plugin-transform-spread": "npm:^7.23.3" - "@babel/plugin-transform-sticky-regex": "npm:^7.23.3" - "@babel/plugin-transform-template-literals": "npm:^7.23.3" - "@babel/plugin-transform-typeof-symbol": "npm:^7.23.3" - "@babel/plugin-transform-unicode-escapes": "npm:^7.23.3" - "@babel/plugin-transform-unicode-property-regex": "npm:^7.23.3" - "@babel/plugin-transform-unicode-regex": "npm:^7.23.3" - "@babel/plugin-transform-unicode-sets-regex": "npm:^7.23.3" - "@babel/preset-modules": "npm:0.1.6-no-external-plugins" - babel-plugin-polyfill-corejs2: "npm:^0.4.7" - babel-plugin-polyfill-corejs3: "npm:^0.8.7" - babel-plugin-polyfill-regenerator: "npm:^0.5.4" - core-js-compat: "npm:^3.31.0" - semver: "npm:^6.3.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 2059dee350c39aba0a1f128d00ccfd7abf97f92a9b661f4db07a96c11d91c928a9f1df39477583f068090627bff571b4415f1a4f94008d29f6ad8b124e69804e - languageName: node - linkType: hard - -"@babel/preset-env@npm:^7.0.0": +"@babel/preset-env@npm:7.23.8, @babel/preset-env@npm:^7.0.0": version: 7.23.8 resolution: "@babel/preset-env@npm:7.23.8" dependencies: @@ -2487,12 +2397,12 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:7.23.7": - version: 7.23.7 - resolution: "@babel/runtime@npm:7.23.7" +"@babel/runtime@npm:7.23.8": + version: 7.23.8 + resolution: "@babel/runtime@npm:7.23.8" dependencies: regenerator-runtime: "npm:^0.14.0" - checksum: b29cf3ca6277aea8c5c823d9b86e7f7153757f07eaaa81d726f125de00ac0e7451c90845770f919826a94ade8f71a6bda9c0421410dfcc285ee17a40f8f8ca00 + checksum: ec8f1967a36164da6cac868533ffdff97badd76d23d7d820cc84f0818864accef972f22f9c6a710185db1e3810e353fc18c3da721e5bb3ee8bc61bdbabce03ff languageName: node linkType: hard @@ -5728,15 +5638,15 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:6.18.0": - version: 6.18.0 - resolution: "@typescript-eslint/eslint-plugin@npm:6.18.0" +"@typescript-eslint/eslint-plugin@npm:6.18.1": + version: 6.18.1 + resolution: "@typescript-eslint/eslint-plugin@npm:6.18.1" dependencies: "@eslint-community/regexpp": "npm:^4.5.1" - "@typescript-eslint/scope-manager": "npm:6.18.0" - "@typescript-eslint/type-utils": "npm:6.18.0" - "@typescript-eslint/utils": "npm:6.18.0" - "@typescript-eslint/visitor-keys": "npm:6.18.0" + "@typescript-eslint/scope-manager": "npm:6.18.1" + "@typescript-eslint/type-utils": "npm:6.18.1" + "@typescript-eslint/utils": "npm:6.18.1" + "@typescript-eslint/visitor-keys": "npm:6.18.1" debug: "npm:^4.3.4" graphemer: "npm:^1.4.0" ignore: "npm:^5.2.4" @@ -5749,44 +5659,44 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 7810a84f6d9cb735f6848aa4a7ef64c77740812afc0248fda63ec182910a1d045cd9a32d8e49b0e5323266db6da12a2fe50171147927b3186815a56f12c16ee7 + checksum: 451abba1f784539ba38cbe40af26c461facd848e90cbf0c440a98ca2a770ff74a794bafe1df7240e52a97e7cd72bade97d5de751dffbac269643460ad65e3b19 languageName: node linkType: hard -"@typescript-eslint/parser@npm:6.18.0": - version: 6.18.0 - resolution: "@typescript-eslint/parser@npm:6.18.0" +"@typescript-eslint/parser@npm:6.18.1": + version: 6.18.1 + resolution: "@typescript-eslint/parser@npm:6.18.1" dependencies: - "@typescript-eslint/scope-manager": "npm:6.18.0" - "@typescript-eslint/types": "npm:6.18.0" - "@typescript-eslint/typescript-estree": "npm:6.18.0" - "@typescript-eslint/visitor-keys": "npm:6.18.0" + "@typescript-eslint/scope-manager": "npm:6.18.1" + "@typescript-eslint/types": "npm:6.18.1" + "@typescript-eslint/typescript-estree": "npm:6.18.1" + "@typescript-eslint/visitor-keys": "npm:6.18.1" debug: "npm:^4.3.4" peerDependencies: eslint: ^7.0.0 || ^8.0.0 peerDependenciesMeta: typescript: optional: true - checksum: 6798332819f839454a8405e31cfaa0fe908d5966be929bef55e78ac51a0ff3868feb42b38e7772cedf88277f6b2841b3d91f6c573eacb945e2741ecae94047c7 + checksum: b853d39dcf886668f9aa9ea12094e722d35be20855dc7f01c80ee847bf4f7e27aa74693c3a33d4d813705214bda28be1d6c7ca29e590233f894f556203171d29 languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:6.18.0": - version: 6.18.0 - resolution: "@typescript-eslint/scope-manager@npm:6.18.0" +"@typescript-eslint/scope-manager@npm:6.18.1": + version: 6.18.1 + resolution: "@typescript-eslint/scope-manager@npm:6.18.1" dependencies: - "@typescript-eslint/types": "npm:6.18.0" - "@typescript-eslint/visitor-keys": "npm:6.18.0" - checksum: c2c465e6803f78d3300142167a8a79dd2613c64cf464a40a9cf6b13a2c10c3d82ca30bb9c2d26aba7f054b8740b38e1d25f377fcdf917aba489d5b5ea2550858 + "@typescript-eslint/types": "npm:6.18.1" + "@typescript-eslint/visitor-keys": "npm:6.18.1" + checksum: ab75663cda67a2c95267f240f2e062a0aafab0df6d625043a134c8e1d61e193c0d3cfa49c802bd554b3fd80f4b7df5ea3f86ef2eb6994ba8b5e0790cc9868c84 languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:6.18.0": - version: 6.18.0 - resolution: "@typescript-eslint/type-utils@npm:6.18.0" +"@typescript-eslint/type-utils@npm:6.18.1": + version: 6.18.1 + resolution: "@typescript-eslint/type-utils@npm:6.18.1" dependencies: - "@typescript-eslint/typescript-estree": "npm:6.18.0" - "@typescript-eslint/utils": "npm:6.18.0" + "@typescript-eslint/typescript-estree": "npm:6.18.1" + "@typescript-eslint/utils": "npm:6.18.1" debug: "npm:^4.3.4" ts-api-utils: "npm:^1.0.1" peerDependencies: @@ -5794,23 +5704,23 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 9f4a392fe7b7f6b1fb02acbdaa331e764775f6404c29ca66774419e39552523d878227020526ca9c438d997555a99600f8d711496e9a435fb14a779e25ed094e + checksum: f775011c35aef10b11e7cffde698fca8b06b313785cd44422c60a40b6643d85a38cbd9a3cbdef011d963680d65383c40988d983e9dfd01258ae50a2f37f6d293 languageName: node linkType: hard -"@typescript-eslint/types@npm:6.18.0": - version: 6.18.0 - resolution: "@typescript-eslint/types@npm:6.18.0" - checksum: fc507ca7a1bfec04467087165ff6722f7b9aa9a089ecf0c17656824a951b92ca014766e480122de850057c63a3066628985eb0681c5bbb80ab41d94e7bb52288 +"@typescript-eslint/types@npm:6.18.1": + version: 6.18.1 + resolution: "@typescript-eslint/types@npm:6.18.1" + checksum: e304620953257a5af3b323697845d3fb41ffbb7944df2f84559675ef8ad71cc33011be30149efd8d34c5dedcbe92c6abee67cb1b95cb3dd56f15b9393b3435a6 languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:6.18.0": - version: 6.18.0 - resolution: "@typescript-eslint/typescript-estree@npm:6.18.0" +"@typescript-eslint/typescript-estree@npm:6.18.1": + version: 6.18.1 + resolution: "@typescript-eslint/typescript-estree@npm:6.18.1" dependencies: - "@typescript-eslint/types": "npm:6.18.0" - "@typescript-eslint/visitor-keys": "npm:6.18.0" + "@typescript-eslint/types": "npm:6.18.1" + "@typescript-eslint/visitor-keys": "npm:6.18.1" debug: "npm:^4.3.4" globby: "npm:^11.1.0" is-glob: "npm:^4.0.3" @@ -5820,34 +5730,34 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: b65392e944baba97ed98e99a1e7122b7b05fa0d9a082b48d0190b377ae9e2ae4ed72d505a2f0f05f2ca78908f0e4b0f1acd44d345c7f4f4415fcec6bb2c57791 + checksum: 33307bc87c3270f84f149545da79a15afaafacc5671e42f4aa827947f09c35ed114705f108ffa59d6ab175f8b838aa08cf10f9efe5b7793aca0792f879bbc7ca languageName: node linkType: hard -"@typescript-eslint/utils@npm:6.18.0": - version: 6.18.0 - resolution: "@typescript-eslint/utils@npm:6.18.0" +"@typescript-eslint/utils@npm:6.18.1": + version: 6.18.1 + resolution: "@typescript-eslint/utils@npm:6.18.1" dependencies: "@eslint-community/eslint-utils": "npm:^4.4.0" "@types/json-schema": "npm:^7.0.12" "@types/semver": "npm:^7.5.0" - "@typescript-eslint/scope-manager": "npm:6.18.0" - "@typescript-eslint/types": "npm:6.18.0" - "@typescript-eslint/typescript-estree": "npm:6.18.0" + "@typescript-eslint/scope-manager": "npm:6.18.1" + "@typescript-eslint/types": "npm:6.18.1" + "@typescript-eslint/typescript-estree": "npm:6.18.1" semver: "npm:^7.5.4" peerDependencies: eslint: ^7.0.0 || ^8.0.0 - checksum: f91798069e337ed42b7e415aabded833d540dab9adf66ae88183003428892584946f20a5496aae2dc65fc0f65b66496baed785a3470ee782b6e2dd25b9200c6c + checksum: 967728f062ec7ef434b9d05af6b45ae59e0f8f314e4aa7cefc8e2c30a277cf269b7913f3e9f8d26a86c3faf8b2c9385ba1221cfcd856e9b228421fc6508b41bc languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:6.18.0": - version: 6.18.0 - resolution: "@typescript-eslint/visitor-keys@npm:6.18.0" +"@typescript-eslint/visitor-keys@npm:6.18.1": + version: 6.18.1 + resolution: "@typescript-eslint/visitor-keys@npm:6.18.1" dependencies: - "@typescript-eslint/types": "npm:6.18.0" + "@typescript-eslint/types": "npm:6.18.1" eslint-visitor-keys: "npm:^3.4.1" - checksum: bf34a357549d515607c761f385b7c7c82aaa07795cada0be2e1e3860c5103fbf731408ac07eaeb0517b51426d77ef9b194dfb94f205c776107a46e0d0027b452 + checksum: 2d6c5ffa52e89caec0b4958d7079fb4ca9f17c19b5f5d5b8446b4eef0079fd59cd9959f469cc13c4e7d72ef4c47849e561fe323f3cebafa01bc916d43082e57b languageName: node linkType: hard @@ -10803,9 +10713,9 @@ __metadata: "@babel/helper-define-polyfill-provider": "npm:0.4.4" "@babel/plugin-proposal-decorators": "npm:7.23.7" "@babel/plugin-transform-runtime": "npm:7.23.7" - "@babel/preset-env": "npm:7.23.7" + "@babel/preset-env": "npm:7.23.8" "@babel/preset-typescript": "npm:7.23.3" - "@babel/runtime": "npm:7.23.7" + "@babel/runtime": "npm:7.23.8" "@braintree/sanitize-url": "npm:7.0.0" "@bundle-stats/plugin-webpack-filter": "npm:4.8.4" "@codemirror/autocomplete": "npm:6.11.1" @@ -10897,8 +10807,8 @@ __metadata: "@types/tar": "npm:6.1.10" "@types/ua-parser-js": "npm:0.7.39" "@types/webspeechapi": "npm:0.0.29" - "@typescript-eslint/eslint-plugin": "npm:6.18.0" - "@typescript-eslint/parser": "npm:6.18.0" + "@typescript-eslint/eslint-plugin": "npm:6.18.1" + "@typescript-eslint/parser": "npm:6.18.1" "@vaadin/combo-box": "npm:24.3.2" "@vaadin/vaadin-themable-mixin": "npm:24.3.2" "@vibrant/color": "npm:3.2.1-alpha.1" @@ -10958,7 +10868,7 @@ __metadata: leaflet-draw: "npm:1.0.4" lint-staged: "npm:15.2.0" lit: "npm:2.8.0" - lit-analyzer: "npm:2.0.2" + lit-analyzer: "npm:2.0.3" lodash.template: "npm:4.5.0" luxon: "npm:3.4.4" magic-string: "npm:0.30.5" @@ -10992,7 +10902,7 @@ __metadata: terser-webpack-plugin: "npm:5.3.10" tinykeys: "npm:2.1.0" transform-async-modules-webpack-plugin: "npm:1.0.2" - ts-lit-plugin: "npm:2.0.1" + ts-lit-plugin: "npm:2.0.2" tsparticles-engine: "npm:2.12.0" tsparticles-preset-links: "npm:2.12.0" typescript: "npm:5.3.3" @@ -12758,26 +12668,7 @@ __metadata: languageName: node linkType: hard -"lit-analyzer@npm:2.0.2": - version: 2.0.2 - resolution: "lit-analyzer@npm:2.0.2" - dependencies: - "@vscode/web-custom-data": "npm:^0.4.2" - chalk: "npm:^2.4.2" - didyoumean2: "npm:4.1.0" - fast-glob: "npm:^3.2.11" - parse5: "npm:5.1.0" - ts-simple-type: "npm:~2.0.0-next.0" - vscode-css-languageservice: "npm:4.3.0" - vscode-html-languageservice: "npm:3.1.0" - web-component-analyzer: "npm:^2.0.0" - bin: - lit-analyzer: cli.js - checksum: 247de26c9de2a340d9bf0d82ce87c8ff1a32c399111c5e66485e6831e204d3e3393614d7a430b24869c392861a075dba581647185c66c4febec9cebf4c3433e8 - languageName: node - linkType: hard - -"lit-analyzer@npm:^2.0.1": +"lit-analyzer@npm:2.0.3, lit-analyzer@npm:^2.0.1": version: 2.0.3 resolution: "lit-analyzer@npm:2.0.3" dependencies: @@ -16969,13 +16860,13 @@ __metadata: languageName: node linkType: hard -"ts-lit-plugin@npm:2.0.1": - version: 2.0.1 - resolution: "ts-lit-plugin@npm:2.0.1" +"ts-lit-plugin@npm:2.0.2": + version: 2.0.2 + resolution: "ts-lit-plugin@npm:2.0.2" dependencies: lit-analyzer: "npm:^2.0.1" web-component-analyzer: "npm:^2.0.0" - checksum: c447865b13afdcdef103c939706498051190ca9d377f7c64038f22a8c2fbf2f805bf7b9ccb1824b09289b5dc8c9072538446f18a4369bee35e94813396e5816f + checksum: f355a5dc1a0c2fc3bb0e4b104596ee49a94d456a96b00b2195c0983b93027a2b2bad967e633bbe3373362d94a5edfd3c7cb101e09e4756735d16c8705b88df78 languageName: node linkType: hard