Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package openQA for openSUSE:Factory checked 
in at 2025-04-25 22:18:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openQA (Old)
 and      /work/SRC/openSUSE:Factory/.openQA.new.30101 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "openQA"

Fri Apr 25 22:18:49 2025 rev:688 rq:1272455 version:5.1745500773.055f94fe

Changes:
--------
--- /work/SRC/openSUSE:Factory/openQA/openQA.changes    2025-04-20 
20:04:52.361342710 +0200
+++ /work/SRC/openSUSE:Factory/.openQA.new.30101/openQA.changes 2025-04-25 
22:19:37.232321200 +0200
@@ -1,0 +2,17 @@
+Thu Apr 24 14:14:39 UTC 2025 - ok...@suse.com
+
+- Update to version 5.1745500773.055f94fe:
+  * Make parameters of dump-db script customizable
+  * Add dump-db script to openQA-local-db package
+  * Add '--help' to dump-db script
+  * Improve dump-db script quality
+  * Give up gru jobs which point to non existing GruTask
+  * Bump ace-builds from 1.40.0 to 1.40.1
+  * Move database dump script
+  * More verbose error message for job template update
+  * Bump eslint from 9.25.0 to 9.25.1
+  * Fix URLs in admin/productlog
+  * Bump eslint from 9.24.0 to 9.25.0
+  * Remove unhandled output generated by log over jobs resultset
+
+-------------------------------------------------------------------

Old:
----
  openQA-5.1744914226.24548346.obscpio

New:
----
  openQA-5.1745500773.055f94fe.obscpio

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ openQA-client-test.spec ++++++
--- /var/tmp/diff_new_pack.brGFcC/_old  2025-04-25 22:19:38.104357848 +0200
+++ /var/tmp/diff_new_pack.brGFcC/_new  2025-04-25 22:19:38.104357848 +0200
@@ -18,7 +18,7 @@
 
 %define         short_name openQA-client
 Name:           %{short_name}-test
-Version:        5.1744914226.24548346
+Version:        5.1745500773.055f94fe
 Release:        0
 Summary:        Test package for %{short_name}
 License:        GPL-2.0-or-later

++++++ openQA-devel-test.spec ++++++
--- /var/tmp/diff_new_pack.brGFcC/_old  2025-04-25 22:19:38.132359025 +0200
+++ /var/tmp/diff_new_pack.brGFcC/_new  2025-04-25 22:19:38.136359193 +0200
@@ -18,7 +18,7 @@
 
 %define         short_name openQA-devel
 Name:           %{short_name}-test
-Version:        5.1744914226.24548346
+Version:        5.1745500773.055f94fe
 Release:        0
 Summary:        Test package for %{short_name}
 License:        GPL-2.0-or-later

++++++ openQA-test.spec ++++++
--- /var/tmp/diff_new_pack.brGFcC/_old  2025-04-25 22:19:38.160360202 +0200
+++ /var/tmp/diff_new_pack.brGFcC/_new  2025-04-25 22:19:38.164360370 +0200
@@ -18,7 +18,7 @@
 
 %define         short_name openQA
 Name:           %{short_name}-test
-Version:        5.1744914226.24548346
+Version:        5.1745500773.055f94fe
 Release:        0
 Summary:        Test package for openQA
 License:        GPL-2.0-or-later

++++++ openQA-worker-test.spec ++++++
--- /var/tmp/diff_new_pack.brGFcC/_old  2025-04-25 22:19:38.188361379 +0200
+++ /var/tmp/diff_new_pack.brGFcC/_new  2025-04-25 22:19:38.188361379 +0200
@@ -18,7 +18,7 @@
 
 %define         short_name openQA-worker
 Name:           %{short_name}-test
-Version:        5.1744914226.24548346
+Version:        5.1745500773.055f94fe
 Release:        0
 Summary:        Test package for %{short_name}
 License:        GPL-2.0-or-later

++++++ openQA.spec ++++++
--- /var/tmp/diff_new_pack.brGFcC/_old  2025-04-25 22:19:38.240363564 +0200
+++ /var/tmp/diff_new_pack.brGFcC/_new  2025-04-25 22:19:38.244363732 +0200
@@ -94,7 +94,7 @@
 %define devel_requires %devel_no_selenium_requires chromedriver
 
 Name:           openQA
-Version:        5.1744914226.24548346
+Version:        5.1745500773.055f94fe
 Release:        0
 Summary:        The openQA web-frontend, scheduler and tools
 License:        GPL-2.0-or-later
@@ -400,6 +400,7 @@
 ln -s %{_datadir}/openqa/script/openqa-clone-custom-git-refspec 
%{buildroot}%{_bindir}/openqa-clone-custom-git-refspec
 ln -s %{_datadir}/openqa/script/openqa-validate-yaml 
%{buildroot}%{_bindir}/openqa-validate-yaml
 ln -s %{_datadir}/openqa/script/setup-db %{buildroot}%{_bindir}/openqa-setup-db
+ln -s %{_datadir}/openqa/script/dump-db %{buildroot}%{_bindir}/openqa-dump-db
 %if %{with python_scripts}
 ln -s %{_datadir}/openqa/script/openqa-label-all 
%{buildroot}%{_bindir}/openqa-label-all
 %endif
@@ -816,7 +817,9 @@
 %{_unitdir}/openqa-scheduler.service.requires/postgresql.service
 %{_unitdir}/openqa-websockets.service.requires/postgresql.service
 %{_datadir}/openqa/script/setup-db
+%{_datadir}/openqa/script/dump-db
 %{_bindir}/openqa-setup-db
+%{_bindir}/openqa-dump-db
 
 %files single-instance
 

++++++ node_modules.obscpio ++++++
Binary files old/@eslint-core-0.12.0.tgz and new/@eslint-core-0.12.0.tgz differ
Binary files old/@eslint-js-9.24.0.tgz and new/@eslint-js-9.24.0.tgz differ
Binary files old/@eslint-js-9.25.1.tgz and new/@eslint-js-9.25.1.tgz differ
Binary files old/ace-builds-1.40.0.tgz and new/ace-builds-1.40.0.tgz differ
Binary files old/ace-builds-1.40.1.tgz and new/ace-builds-1.40.1.tgz differ
Binary files old/eslint-9.24.0.tgz and new/eslint-9.24.0.tgz differ
Binary files old/eslint-9.25.1.tgz and new/eslint-9.25.1.tgz differ

++++++ node_modules.spec.inc ++++++
--- /var/tmp/diff_new_pack.brGFcC/_old  2025-04-25 22:19:38.836388613 +0200
+++ /var/tmp/diff_new_pack.brGFcC/_new  2025-04-25 22:19:38.840388781 +0200
@@ -2,148 +2,147 @@
 Source1001:         
https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz#/@eslint-community-regexpp-4.12.1.tgz
 Source1002:         
https://registry.npmjs.org/@eslint/config-array/-/config-array-0.20.0.tgz#/@eslint-config-array-0.20.0.tgz
 Source1003:         
https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.1.tgz#/@eslint-config-helpers-0.2.1.tgz
-Source1004:         
https://registry.npmjs.org/@eslint/core/-/core-0.12.0.tgz#/@eslint-core-0.12.0.tgz
-Source1005:         
https://registry.npmjs.org/@eslint/core/-/core-0.13.0.tgz#/@eslint-core-0.13.0.tgz
-Source1006:         
https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz#/@eslint-eslintrc-3.3.1.tgz
-Source1007:         
https://registry.npmjs.org/@eslint/js/-/js-9.24.0.tgz#/@eslint-js-9.24.0.tgz
-Source1008:         
https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz#/@eslint-object-schema-2.1.6.tgz
-Source1009:         
https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.8.tgz#/@eslint-plugin-kit-0.2.8.tgz
-Source1010:         
https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz#/@humanfs-core-0.19.1.tgz
-Source1011:         
https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz#/@humanfs-node-0.16.6.tgz
-Source1012:         
https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#/@humanwhocodes-module-importer-1.0.1.tgz
-Source1013:         
https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz#/@humanwhocodes-retry-0.3.1.tgz
-Source1014:         
https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.2.tgz#/@humanwhocodes-retry-0.4.2.tgz
-Source1015:         
https://registry.npmjs.org/@pkgr/core/-/core-0.2.4.tgz#/@pkgr-core-0.2.4.tgz
-Source1016:         
https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz#/@popperjs-core-2.11.8.tgz
-Source1017:         
https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz#/@types-estree-1.0.7.tgz
-Source1018:         
https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz#/@types-json-schema-7.0.15.tgz
-Source1019:         
https://registry.npmjs.org/ace-builds/-/ace-builds-1.40.0.tgz#/ace-builds-1.40.0.tgz
-Source1020:         
https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz#/acorn-8.14.1.tgz
-Source1021:         
https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz#/acorn-jsx-5.3.2.tgz
-Source1022:         
https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz#/ajv-6.12.6.tgz
-Source1023:         
https://registry.npmjs.org/anser/-/anser-2.3.2.tgz#/anser-2.3.2.tgz
-Source1024:         
https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz#/ansi-styles-4.3.0.tgz
-Source1025:         
https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz#/argparse-2.0.1.tgz
-Source1026:         
https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz#/balanced-match-1.0.2.tgz
-Source1027:         
https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.5.tgz#/bootstrap-5.3.5.tgz
-Source1028:         
https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz#/brace-expansion-1.1.11.tgz
-Source1029:         
https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz#/callsites-3.1.0.tgz
-Source1030:         
https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz#/chalk-4.1.2.tgz
-Source1031:         
https://registry.npmjs.org/chosen-js/-/chosen-js-1.8.7.tgz#/chosen-js-1.8.7.tgz
-Source1032:         
https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz#/color-convert-2.0.1.tgz
-Source1033:         
https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz#/color-name-1.1.4.tgz
-Source1034:         
https://registry.npmjs.org/commander/-/commander-7.2.0.tgz#/commander-7.2.0.tgz
-Source1035:         
https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz#/concat-map-0.0.1.tgz
-Source1036:         
https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz#/cross-spawn-7.0.6.tgz
-Source1037:         https://registry.npmjs.org/d3/-/d3-7.9.0.tgz#/d3-7.9.0.tgz
-Source1038:         
https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz#/d3-array-3.2.4.tgz
-Source1039:         
https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz#/d3-axis-3.0.0.tgz
-Source1040:         
https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz#/d3-brush-3.0.0.tgz
-Source1041:         
https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz#/d3-chord-3.0.1.tgz
-Source1042:         
https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz#/d3-color-3.1.0.tgz
-Source1043:         
https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.2.tgz#/d3-contour-4.0.2.tgz
-Source1044:         
https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz#/d3-delaunay-6.0.4.tgz
-Source1045:         
https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz#/d3-dispatch-3.0.1.tgz
-Source1046:         
https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz#/d3-drag-3.0.0.tgz
-Source1047:         
https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz#/d3-dsv-3.0.1.tgz
-Source1048:         
https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz#/d3-ease-3.0.1.tgz
-Source1049:         
https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz#/d3-fetch-3.0.1.tgz
-Source1050:         
https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz#/d3-force-3.0.0.tgz
-Source1051:         
https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz#/d3-format-3.1.0.tgz
-Source1052:         
https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.1.tgz#/d3-geo-3.1.1.tgz
-Source1053:         
https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz#/d3-hierarchy-3.1.2.tgz
-Source1054:         
https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz#/d3-interpolate-3.0.1.tgz
-Source1055:         
https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz#/d3-path-3.1.0.tgz
-Source1056:         
https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz#/d3-polygon-3.0.1.tgz
-Source1057:         
https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz#/d3-quadtree-3.0.1.tgz
-Source1058:         
https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz#/d3-random-3.0.1.tgz
-Source1059:         
https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz#/d3-scale-4.0.2.tgz
-Source1060:         
https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz#/d3-scale-chromatic-3.1.0.tgz
-Source1061:         
https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz#/d3-selection-3.0.0.tgz
-Source1062:         
https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz#/d3-shape-3.2.0.tgz
-Source1063:         
https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz#/d3-time-3.1.0.tgz
-Source1064:         
https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz#/d3-time-format-4.1.0.tgz
-Source1065:         
https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz#/d3-timer-3.0.1.tgz
-Source1066:         
https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz#/d3-transition-3.0.1.tgz
-Source1067:         
https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz#/d3-zoom-3.0.0.tgz
-Source1068:         
https://registry.npmjs.org/dagre/-/dagre-0.8.5.tgz#/dagre-0.8.5.tgz
-Source1069:         
https://registry.npmjs.org/dagre-d3/-/dagre-d3-0.6.4.tgz#/dagre-d3-0.6.4.tgz
-Source1070:         
https://registry.npmjs.org/datatables.net/-/datatables.net-2.2.2.tgz#/datatables.net-2.2.2.tgz
-Source1071:         
https://registry.npmjs.org/datatables.net-bs5/-/datatables.net-bs5-2.2.2.tgz#/datatables.net-bs5-2.2.2.tgz
-Source1072:         
https://registry.npmjs.org/debug/-/debug-4.4.0.tgz#/debug-4.4.0.tgz
-Source1073:         
https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz#/deep-is-0.1.4.tgz
-Source1074:         
https://registry.npmjs.org/delaunator/-/delaunator-5.0.1.tgz#/delaunator-5.0.1.tgz
-Source1075:         
https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#/escape-string-regexp-4.0.0.tgz
-Source1076:         
https://registry.npmjs.org/eslint/-/eslint-9.24.0.tgz#/eslint-9.24.0.tgz
-Source1077:         
https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.2.tgz#/eslint-config-prettier-10.1.2.tgz
-Source1078:         
https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.6.tgz#/eslint-plugin-prettier-5.2.6.tgz
-Source1079:         
https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.3.0.tgz#/eslint-scope-8.3.0.tgz
-Source1080:         
https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#/eslint-visitor-keys-3.4.3.tgz
-Source1081:         
https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz#/eslint-visitor-keys-4.2.0.tgz
-Source1082:         
https://registry.npmjs.org/espree/-/espree-10.3.0.tgz#/espree-10.3.0.tgz
-Source1083:         
https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz#/esquery-1.6.0.tgz
-Source1084:         
https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz#/esrecurse-4.3.0.tgz
-Source1085:         
https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz#/estraverse-5.3.0.tgz
-Source1086:         
https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz#/esutils-2.0.3.tgz
-Source1087:         
https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#/fast-deep-equal-3.1.3.tgz
-Source1088:         
https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz#/fast-diff-1.3.0.tgz
-Source1089:         
https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#/fast-json-stable-stringify-2.1.0.tgz
-Source1090:         
https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#/fast-levenshtein-2.0.6.tgz
-Source1091:         
https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz#/file-entry-cache-8.0.0.tgz
-Source1092:         
https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz#/find-up-5.0.0.tgz
-Source1093:         
https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz#/flat-cache-4.0.1.tgz
-Source1094:         
https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz#/flatted-3.3.3.tgz
-Source1095:         
https://registry.npmjs.org/fork-awesome/-/fork-awesome-1.2.0.tgz#/fork-awesome-1.2.0.tgz
-Source1096:         
https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz#/glob-parent-6.0.2.tgz
-Source1097:         
https://registry.npmjs.org/globals/-/globals-14.0.0.tgz#/globals-14.0.0.tgz
-Source1098:         
https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz#/graphlib-2.1.8.tgz
-Source1099:         
https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz#/has-flag-4.0.0.tgz
-Source1100:         
https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz#/iconv-lite-0.6.3.tgz
-Source1101:         
https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz#/ignore-5.3.2.tgz
-Source1102:         
https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz#/import-fresh-3.3.1.tgz
-Source1103:         
https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz#/imurmurhash-0.1.4.tgz
-Source1104:         
https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz#/internmap-2.0.3.tgz
-Source1105:         
https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz#/is-extglob-2.1.1.tgz
-Source1106:         
https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz#/is-glob-4.0.3.tgz
-Source1107:         
https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz#/isexe-2.0.0.tgz
-Source1108:         
https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz#/jquery-3.7.1.tgz
-Source1109:         
https://registry.npmjs.org/jquery-ujs/-/jquery-ujs-1.2.3.tgz#/jquery-ujs-1.2.3.tgz
-Source1110:         
https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz#/js-yaml-4.1.0.tgz
-Source1111:         
https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz#/json-buffer-3.0.1.tgz
-Source1112:         
https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#/json-schema-traverse-0.4.1.tgz
-Source1113:         
https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#/json-stable-stringify-without-jsonify-1.0.1.tgz
-Source1114:         
https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz#/keyv-4.5.4.tgz
-Source1115:         
https://registry.npmjs.org/levn/-/levn-0.4.1.tgz#/levn-0.4.1.tgz
-Source1116:         
https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz#/locate-path-6.0.0.tgz
-Source1117:         
https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz#/lodash-4.17.21.tgz
-Source1118:         
https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz#/lodash.merge-4.6.2.tgz
-Source1119:         
https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz#/minimatch-3.1.2.tgz
-Source1120:         https://registry.npmjs.org/ms/-/ms-2.1.3.tgz#/ms-2.1.3.tgz
-Source1121:         
https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz#/natural-compare-1.4.0.tgz
-Source1122:         
https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz#/optionator-0.9.4.tgz
-Source1123:         
https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz#/p-limit-3.1.0.tgz
-Source1124:         
https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz#/p-locate-5.0.0.tgz
-Source1125:         
https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz#/parent-module-1.0.1.tgz
-Source1126:         
https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz#/path-exists-4.0.0.tgz
-Source1127:         
https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz#/path-key-3.1.1.tgz
-Source1128:         
https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz#/prelude-ls-1.2.1.tgz
-Source1129:         
https://registry.npmjs.org/prettier/-/prettier-3.5.3.tgz#/prettier-3.5.3.tgz
-Source1130:         
https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#/prettier-linter-helpers-1.0.0.tgz
-Source1131:         
https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz#/punycode-2.3.1.tgz
-Source1132:         
https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz#/resolve-from-4.0.0.tgz
-Source1133:         
https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz#/robust-predicates-3.0.2.tgz
-Source1134:         https://registry.npmjs.org/rw/-/rw-1.3.3.tgz#/rw-1.3.3.tgz
-Source1135:         
https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz#/safer-buffer-2.1.2.tgz
-Source1136:         
https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz#/shebang-command-2.0.0.tgz
-Source1137:         
https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz#/shebang-regex-3.0.0.tgz
-Source1138:         
https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz#/strip-json-comments-3.1.1.tgz
-Source1139:         
https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz#/supports-color-7.2.0.tgz
-Source1140:         
https://registry.npmjs.org/synckit/-/synckit-0.11.4.tgz#/synckit-0.11.4.tgz
-Source1141:         
https://registry.npmjs.org/timeago/-/timeago-1.6.7.tgz#/timeago-1.6.7.tgz
-Source1142:         
https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz#/tslib-2.8.1.tgz
-Source1143:         
https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz#/type-check-0.4.0.tgz
-Source1144:         
https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz#/uri-js-4.4.1.tgz
-Source1145:         
https://registry.npmjs.org/which/-/which-2.0.2.tgz#/which-2.0.2.tgz
-Source1146:         
https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz#/word-wrap-1.2.5.tgz
-Source1147:         
https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz#/yocto-queue-0.1.0.tgz
+Source1004:         
https://registry.npmjs.org/@eslint/core/-/core-0.13.0.tgz#/@eslint-core-0.13.0.tgz
+Source1005:         
https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz#/@eslint-eslintrc-3.3.1.tgz
+Source1006:         
https://registry.npmjs.org/@eslint/js/-/js-9.25.1.tgz#/@eslint-js-9.25.1.tgz
+Source1007:         
https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz#/@eslint-object-schema-2.1.6.tgz
+Source1008:         
https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.8.tgz#/@eslint-plugin-kit-0.2.8.tgz
+Source1009:         
https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz#/@humanfs-core-0.19.1.tgz
+Source1010:         
https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz#/@humanfs-node-0.16.6.tgz
+Source1011:         
https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#/@humanwhocodes-module-importer-1.0.1.tgz
+Source1012:         
https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz#/@humanwhocodes-retry-0.3.1.tgz
+Source1013:         
https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.2.tgz#/@humanwhocodes-retry-0.4.2.tgz
+Source1014:         
https://registry.npmjs.org/@pkgr/core/-/core-0.2.4.tgz#/@pkgr-core-0.2.4.tgz
+Source1015:         
https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz#/@popperjs-core-2.11.8.tgz
+Source1016:         
https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz#/@types-estree-1.0.7.tgz
+Source1017:         
https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz#/@types-json-schema-7.0.15.tgz
+Source1018:         
https://registry.npmjs.org/ace-builds/-/ace-builds-1.40.1.tgz#/ace-builds-1.40.1.tgz
+Source1019:         
https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz#/acorn-8.14.1.tgz
+Source1020:         
https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz#/acorn-jsx-5.3.2.tgz
+Source1021:         
https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz#/ajv-6.12.6.tgz
+Source1022:         
https://registry.npmjs.org/anser/-/anser-2.3.2.tgz#/anser-2.3.2.tgz
+Source1023:         
https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz#/ansi-styles-4.3.0.tgz
+Source1024:         
https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz#/argparse-2.0.1.tgz
+Source1025:         
https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz#/balanced-match-1.0.2.tgz
+Source1026:         
https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.5.tgz#/bootstrap-5.3.5.tgz
+Source1027:         
https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz#/brace-expansion-1.1.11.tgz
+Source1028:         
https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz#/callsites-3.1.0.tgz
+Source1029:         
https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz#/chalk-4.1.2.tgz
+Source1030:         
https://registry.npmjs.org/chosen-js/-/chosen-js-1.8.7.tgz#/chosen-js-1.8.7.tgz
+Source1031:         
https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz#/color-convert-2.0.1.tgz
+Source1032:         
https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz#/color-name-1.1.4.tgz
+Source1033:         
https://registry.npmjs.org/commander/-/commander-7.2.0.tgz#/commander-7.2.0.tgz
+Source1034:         
https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz#/concat-map-0.0.1.tgz
+Source1035:         
https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz#/cross-spawn-7.0.6.tgz
+Source1036:         https://registry.npmjs.org/d3/-/d3-7.9.0.tgz#/d3-7.9.0.tgz
+Source1037:         
https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz#/d3-array-3.2.4.tgz
+Source1038:         
https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz#/d3-axis-3.0.0.tgz
+Source1039:         
https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz#/d3-brush-3.0.0.tgz
+Source1040:         
https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz#/d3-chord-3.0.1.tgz
+Source1041:         
https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz#/d3-color-3.1.0.tgz
+Source1042:         
https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.2.tgz#/d3-contour-4.0.2.tgz
+Source1043:         
https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz#/d3-delaunay-6.0.4.tgz
+Source1044:         
https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz#/d3-dispatch-3.0.1.tgz
+Source1045:         
https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz#/d3-drag-3.0.0.tgz
+Source1046:         
https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz#/d3-dsv-3.0.1.tgz
+Source1047:         
https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz#/d3-ease-3.0.1.tgz
+Source1048:         
https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz#/d3-fetch-3.0.1.tgz
+Source1049:         
https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz#/d3-force-3.0.0.tgz
+Source1050:         
https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz#/d3-format-3.1.0.tgz
+Source1051:         
https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.1.tgz#/d3-geo-3.1.1.tgz
+Source1052:         
https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz#/d3-hierarchy-3.1.2.tgz
+Source1053:         
https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz#/d3-interpolate-3.0.1.tgz
+Source1054:         
https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz#/d3-path-3.1.0.tgz
+Source1055:         
https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz#/d3-polygon-3.0.1.tgz
+Source1056:         
https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz#/d3-quadtree-3.0.1.tgz
+Source1057:         
https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz#/d3-random-3.0.1.tgz
+Source1058:         
https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz#/d3-scale-4.0.2.tgz
+Source1059:         
https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz#/d3-scale-chromatic-3.1.0.tgz
+Source1060:         
https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz#/d3-selection-3.0.0.tgz
+Source1061:         
https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz#/d3-shape-3.2.0.tgz
+Source1062:         
https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz#/d3-time-3.1.0.tgz
+Source1063:         
https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz#/d3-time-format-4.1.0.tgz
+Source1064:         
https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz#/d3-timer-3.0.1.tgz
+Source1065:         
https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz#/d3-transition-3.0.1.tgz
+Source1066:         
https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz#/d3-zoom-3.0.0.tgz
+Source1067:         
https://registry.npmjs.org/dagre/-/dagre-0.8.5.tgz#/dagre-0.8.5.tgz
+Source1068:         
https://registry.npmjs.org/dagre-d3/-/dagre-d3-0.6.4.tgz#/dagre-d3-0.6.4.tgz
+Source1069:         
https://registry.npmjs.org/datatables.net/-/datatables.net-2.2.2.tgz#/datatables.net-2.2.2.tgz
+Source1070:         
https://registry.npmjs.org/datatables.net-bs5/-/datatables.net-bs5-2.2.2.tgz#/datatables.net-bs5-2.2.2.tgz
+Source1071:         
https://registry.npmjs.org/debug/-/debug-4.4.0.tgz#/debug-4.4.0.tgz
+Source1072:         
https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz#/deep-is-0.1.4.tgz
+Source1073:         
https://registry.npmjs.org/delaunator/-/delaunator-5.0.1.tgz#/delaunator-5.0.1.tgz
+Source1074:         
https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#/escape-string-regexp-4.0.0.tgz
+Source1075:         
https://registry.npmjs.org/eslint/-/eslint-9.25.1.tgz#/eslint-9.25.1.tgz
+Source1076:         
https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.2.tgz#/eslint-config-prettier-10.1.2.tgz
+Source1077:         
https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.6.tgz#/eslint-plugin-prettier-5.2.6.tgz
+Source1078:         
https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.3.0.tgz#/eslint-scope-8.3.0.tgz
+Source1079:         
https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#/eslint-visitor-keys-3.4.3.tgz
+Source1080:         
https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz#/eslint-visitor-keys-4.2.0.tgz
+Source1081:         
https://registry.npmjs.org/espree/-/espree-10.3.0.tgz#/espree-10.3.0.tgz
+Source1082:         
https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz#/esquery-1.6.0.tgz
+Source1083:         
https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz#/esrecurse-4.3.0.tgz
+Source1084:         
https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz#/estraverse-5.3.0.tgz
+Source1085:         
https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz#/esutils-2.0.3.tgz
+Source1086:         
https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#/fast-deep-equal-3.1.3.tgz
+Source1087:         
https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz#/fast-diff-1.3.0.tgz
+Source1088:         
https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#/fast-json-stable-stringify-2.1.0.tgz
+Source1089:         
https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#/fast-levenshtein-2.0.6.tgz
+Source1090:         
https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz#/file-entry-cache-8.0.0.tgz
+Source1091:         
https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz#/find-up-5.0.0.tgz
+Source1092:         
https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz#/flat-cache-4.0.1.tgz
+Source1093:         
https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz#/flatted-3.3.3.tgz
+Source1094:         
https://registry.npmjs.org/fork-awesome/-/fork-awesome-1.2.0.tgz#/fork-awesome-1.2.0.tgz
+Source1095:         
https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz#/glob-parent-6.0.2.tgz
+Source1096:         
https://registry.npmjs.org/globals/-/globals-14.0.0.tgz#/globals-14.0.0.tgz
+Source1097:         
https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz#/graphlib-2.1.8.tgz
+Source1098:         
https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz#/has-flag-4.0.0.tgz
+Source1099:         
https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz#/iconv-lite-0.6.3.tgz
+Source1100:         
https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz#/ignore-5.3.2.tgz
+Source1101:         
https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz#/import-fresh-3.3.1.tgz
+Source1102:         
https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz#/imurmurhash-0.1.4.tgz
+Source1103:         
https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz#/internmap-2.0.3.tgz
+Source1104:         
https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz#/is-extglob-2.1.1.tgz
+Source1105:         
https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz#/is-glob-4.0.3.tgz
+Source1106:         
https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz#/isexe-2.0.0.tgz
+Source1107:         
https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz#/jquery-3.7.1.tgz
+Source1108:         
https://registry.npmjs.org/jquery-ujs/-/jquery-ujs-1.2.3.tgz#/jquery-ujs-1.2.3.tgz
+Source1109:         
https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz#/js-yaml-4.1.0.tgz
+Source1110:         
https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz#/json-buffer-3.0.1.tgz
+Source1111:         
https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#/json-schema-traverse-0.4.1.tgz
+Source1112:         
https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#/json-stable-stringify-without-jsonify-1.0.1.tgz
+Source1113:         
https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz#/keyv-4.5.4.tgz
+Source1114:         
https://registry.npmjs.org/levn/-/levn-0.4.1.tgz#/levn-0.4.1.tgz
+Source1115:         
https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz#/locate-path-6.0.0.tgz
+Source1116:         
https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz#/lodash-4.17.21.tgz
+Source1117:         
https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz#/lodash.merge-4.6.2.tgz
+Source1118:         
https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz#/minimatch-3.1.2.tgz
+Source1119:         https://registry.npmjs.org/ms/-/ms-2.1.3.tgz#/ms-2.1.3.tgz
+Source1120:         
https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz#/natural-compare-1.4.0.tgz
+Source1121:         
https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz#/optionator-0.9.4.tgz
+Source1122:         
https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz#/p-limit-3.1.0.tgz
+Source1123:         
https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz#/p-locate-5.0.0.tgz
+Source1124:         
https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz#/parent-module-1.0.1.tgz
+Source1125:         
https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz#/path-exists-4.0.0.tgz
+Source1126:         
https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz#/path-key-3.1.1.tgz
+Source1127:         
https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz#/prelude-ls-1.2.1.tgz
+Source1128:         
https://registry.npmjs.org/prettier/-/prettier-3.5.3.tgz#/prettier-3.5.3.tgz
+Source1129:         
https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#/prettier-linter-helpers-1.0.0.tgz
+Source1130:         
https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz#/punycode-2.3.1.tgz
+Source1131:         
https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz#/resolve-from-4.0.0.tgz
+Source1132:         
https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz#/robust-predicates-3.0.2.tgz
+Source1133:         https://registry.npmjs.org/rw/-/rw-1.3.3.tgz#/rw-1.3.3.tgz
+Source1134:         
https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz#/safer-buffer-2.1.2.tgz
+Source1135:         
https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz#/shebang-command-2.0.0.tgz
+Source1136:         
https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz#/shebang-regex-3.0.0.tgz
+Source1137:         
https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz#/strip-json-comments-3.1.1.tgz
+Source1138:         
https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz#/supports-color-7.2.0.tgz
+Source1139:         
https://registry.npmjs.org/synckit/-/synckit-0.11.4.tgz#/synckit-0.11.4.tgz
+Source1140:         
https://registry.npmjs.org/timeago/-/timeago-1.6.7.tgz#/timeago-1.6.7.tgz
+Source1141:         
https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz#/tslib-2.8.1.tgz
+Source1142:         
https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz#/type-check-0.4.0.tgz
+Source1143:         
https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz#/uri-js-4.4.1.tgz
+Source1144:         
https://registry.npmjs.org/which/-/which-2.0.2.tgz#/which-2.0.2.tgz
+Source1145:         
https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz#/word-wrap-1.2.5.tgz
+Source1146:         
https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz#/yocto-queue-0.1.0.tgz
 

++++++ openQA-5.1744914226.24548346.obscpio -> 
openQA-5.1745500773.055f94fe.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1744914226.24548346/assets/javascripts/audit_log.js 
new/openQA-5.1745500773.055f94fe/assets/javascripts/audit_log.js
--- old/openQA-5.1744914226.24548346/assets/javascripts/audit_log.js    
2025-04-17 20:23:46.000000000 +0200
+++ new/openQA-5.1745500773.055f94fe/assets/javascripts/audit_log.js    
2025-04-24 15:19:33.000000000 +0200
@@ -312,48 +312,41 @@
       {
         targets: 6,
         render: function (data, type, row) {
-          const rowData = dataForLink(this);
-          const settings = rowData.settings;
-          const version = settings.VERSION;
-          const build = settings.BUILD;
-          const distri = settings.DISTRI;
-          if (version !== undefined && build !== undefined && distri !== 
undefined) {
-            const link = urlWithBase(
+          return (
+            "<a href='" +
+            urlWithBase(
               '/tests/overview?build=' +
-                encodeURIComponent(build) +
+                encodeURIComponent(row.build) +
                 '&distri=' +
-                encodeURIComponent(distri) +
+                encodeURIComponent(row.distri) +
                 '&version=' +
-                encodeURIComponent(version) +
+                encodeURIComponent(row.version) +
                 '&flavor=' +
                 encodeURIComponent(data)
-            );
-            return `<a href='${link}'>${data}</a>`;
-          } else {
-            return data;
-          }
+            ) +
+            "'>" +
+            data +
+            '</a>'
+          );
         }
       },
       {
         targets: 8,
         render: function (data, type, row) {
-          const rowData = dataForLink(this);
-          const settings = rowData.settings;
-          const version = settings.VERSION;
-          const distri = settings.DISTRI;
-          if (version !== undefined && distri !== undefined) {
-            const link = urlWithBase(
+          return (
+            "<a href='" +
+            urlWithBase(
               '/tests/overview?build=' +
                 encodeURIComponent(data) +
                 '&distri=' +
-                encodeURIComponent(distri) +
+                encodeURIComponent(row.distri) +
                 '&version=' +
-                encodeURIComponent(version)
-            );
-            return `<a href='${link}'>${data}</a>`;
-          } else {
-            return data;
-          }
+                encodeURIComponent(row.version)
+            ) +
+            "'>" +
+            data +
+            '</a>'
+          );
         }
       },
       {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1744914226.24548346/dist/rpm/openQA.spec 
new/openQA-5.1745500773.055f94fe/dist/rpm/openQA.spec
--- old/openQA-5.1744914226.24548346/dist/rpm/openQA.spec       2025-04-17 
20:23:46.000000000 +0200
+++ new/openQA-5.1745500773.055f94fe/dist/rpm/openQA.spec       2025-04-24 
15:19:33.000000000 +0200
@@ -401,6 +401,7 @@
 ln -s %{_datadir}/openqa/script/openqa-clone-custom-git-refspec 
%{buildroot}%{_bindir}/openqa-clone-custom-git-refspec
 ln -s %{_datadir}/openqa/script/openqa-validate-yaml 
%{buildroot}%{_bindir}/openqa-validate-yaml
 ln -s %{_datadir}/openqa/script/setup-db %{buildroot}%{_bindir}/openqa-setup-db
+ln -s %{_datadir}/openqa/script/dump-db %{buildroot}%{_bindir}/openqa-dump-db
 %if %{with python_scripts}
 ln -s %{_datadir}/openqa/script/openqa-label-all 
%{buildroot}%{_bindir}/openqa-label-all
 %endif
@@ -817,7 +818,9 @@
 %{_unitdir}/openqa-scheduler.service.requires/postgresql.service
 %{_unitdir}/openqa-websockets.service.requires/postgresql.service
 %{_datadir}/openqa/script/setup-db
+%{_datadir}/openqa/script/dump-db
 %{_bindir}/openqa-setup-db
+%{_bindir}/openqa-dump-db
 
 %files single-instance
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1744914226.24548346/etc/openqa/openqa.ini 
new/openQA-5.1745500773.055f94fe/etc/openqa/openqa.ini
--- old/openQA-5.1744914226.24548346/etc/openqa/openqa.ini      2025-04-17 
20:23:46.000000000 +0200
+++ new/openQA-5.1745500773.055f94fe/etc/openqa/openqa.ini      2025-04-24 
15:19:33.000000000 +0200
@@ -292,6 +292,8 @@
 #max_online_workers = 1000
 ## Retry delay for limited workers in seconds
 #worker_limit_retry_delay = 900
+## Maximum number of retries with exponential back-off for GruJobs to wait for 
a GruTask to appear in the database
+#wait_for_grutask_retries = 6
 
 [archiving]
 ## Moves logs of jobs which are preserved during the cleanup because they are 
considered important
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1744914226.24548346/lib/OpenQA/Schema/ResultSet/JobTemplates.pm 
new/openQA-5.1745500773.055f94fe/lib/OpenQA/Schema/ResultSet/JobTemplates.pm
--- 
old/openQA-5.1744914226.24548346/lib/OpenQA/Schema/ResultSet/JobTemplates.pm    
    2025-04-17 20:23:46.000000000 +0200
+++ 
new/openQA-5.1745500773.055f94fe/lib/OpenQA/Schema/ResultSet/JobTemplates.pm    
    2025-04-24 15:19:33.000000000 +0200
@@ -32,7 +32,12 @@
             flavor => $args->{product_spec}->{flavor},
             version => $args->{product_spec}->{version},
         });
-    return {error => "Product '$args->{product_name}' is invalid"} unless 
$product;
+    return {
+        error => sprintf(
+            "Product '%s' not found in database (arch: '%s', distri: '%s', 
flavor: '%s', version: '%s')",
+            $args->{product_name}, $args->{arch}, 
$args->{product_spec}->{distri},
+            $args->{product_spec}->{flavor}, $args->{product_spec}->{version})}
+      unless $product;
     my $test_suite;
     if (defined $args->{testsuite_name}) {
         $test_suite = $test_suites->find({name => $args->{testsuite_name}});
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1744914226.24548346/lib/OpenQA/Setup.pm 
new/openQA-5.1745500773.055f94fe/lib/OpenQA/Setup.pm
--- old/openQA-5.1744914226.24548346/lib/OpenQA/Setup.pm        2025-04-17 
20:23:46.000000000 +0200
+++ new/openQA-5.1745500773.055f94fe/lib/OpenQA/Setup.pm        2025-04-24 
15:19:33.000000000 +0200
@@ -225,6 +225,7 @@
             assets_default_limit => 100000,
             assets_max_limit => 200000,
             max_online_workers => 1000,
+            wait_for_grutask_retries => 6,    # exponential, ~4 minutes
             worker_limit_retry_delay => ONE_HOUR / 4,
         },
         archiving => {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1744914226.24548346/lib/OpenQA/Shared/GruJob.pm 
new/openQA-5.1745500773.055f94fe/lib/OpenQA/Shared/GruJob.pm
--- old/openQA-5.1744914226.24548346/lib/OpenQA/Shared/GruJob.pm        
2025-04-17 20:23:46.000000000 +0200
+++ new/openQA-5.1745500773.055f94fe/lib/OpenQA/Shared/GruJob.pm        
2025-04-24 15:19:33.000000000 +0200
@@ -5,6 +5,7 @@
 use Mojo::Base 'Minion::Job', -signatures;
 
 use Mojo::Util qw(dumper);
+use OpenQA::Log qw(log_debug);
 
 sub _grutasks ($self) { $self->minion->app->schema->resultset('GruTasks'); }
 
@@ -14,7 +15,17 @@
         # We have a gru_id and this is the first run of the job
         my $gru = $self->_grutasks->find($gru_id);
         # GruTask might not yet have landed in database due to open transaction
-        return $self->retry({delay => 2}) unless $gru;
+        unless ($gru) {
+            my $max_retries = 
$self->app->config->{misc_limits}->{wait_for_grutask_retries};
+            my $retried = $self->info->{retries};
+            my $delay = 2**(1 + $retried);
+            my $msg = "Could not find GruTask '$gru_id' after $retried 
retries";
+            if ($retried > $max_retries) {
+                return $self->note(stop_reason => "$msg, giving up");
+            }
+            log_debug("$msg, delaying ${delay}s");
+            return $self->retry({delay => $delay});
+        }
     }
     my $err = $self->SUPER::execute;
     return $err unless $gru_id;    # Non-Gru tasks
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1744914226.24548346/package-lock.json 
new/openQA-5.1745500773.055f94fe/package-lock.json
--- old/openQA-5.1744914226.24548346/package-lock.json  2025-04-17 
20:23:46.000000000 +0200
+++ new/openQA-5.1745500773.055f94fe/package-lock.json  2025-04-24 
15:19:33.000000000 +0200
@@ -9,7 +9,7 @@
       "version": "1.0.0",
       "license": "GPL-2.0",
       "dependencies": {
-        "ace-builds": "^1.40.0",
+        "ace-builds": "^1.40.1",
         "anser": "^2.3.2",
         "bootstrap": "^5.3.5",
         "chosen-js": "^1.8.7",
@@ -22,7 +22,7 @@
         "timeago": "^1.6.7"
       },
       "devDependencies": {
-        "eslint": "^9.24.0",
+        "eslint": "^9.25.1",
         "eslint-config-prettier": "^10.1.2",
         "eslint-plugin-prettier": "^5.2.6",
         "prettier": "3.5.3"
@@ -82,9 +82,9 @@
       }
     },
     "node_modules/@eslint/core": {
-      "version": "0.12.0",
-      "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.12.0.tgz";,
-      "integrity": 
"sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg==",
+      "version": "0.13.0",
+      "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.13.0.tgz";,
+      "integrity": 
"sha512-yfkgDw1KR66rkT5A8ci4irzDysN7FRpq3ttJolR88OqQikAWqwA8j5VZyas+vjyBNFIJ7MfybJ9plMILI2UrCw==",
       "dev": true,
       "license": "Apache-2.0",
       "dependencies": {
@@ -119,9 +119,9 @@
       }
     },
     "node_modules/@eslint/js": {
-      "version": "9.24.0",
-      "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.24.0.tgz";,
-      "integrity": 
"sha512-uIY/y3z0uvOGX8cp1C2fiC4+ZmBhp6yZWkojtHL1YEMnRt1Y63HB9TM17proGEmeG7HeUY+UP36F0aknKYTpYA==",
+      "version": "9.25.1",
+      "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.25.1.tgz";,
+      "integrity": 
"sha512-dEIwmjntEx8u3Uvv+kr3PDeeArL8Hw07H9kyYxCjnM9pBjfEhk6uLXSchxxzgiwtRhhzVzqmUSDFBOi1TuZ7qg==",
       "dev": true,
       "license": "MIT",
       "engines": {
@@ -152,19 +152,6 @@
         "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
       }
     },
-    "node_modules/@eslint/plugin-kit/node_modules/@eslint/core": {
-      "version": "0.13.0",
-      "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.13.0.tgz";,
-      "integrity": 
"sha512-yfkgDw1KR66rkT5A8ci4irzDysN7FRpq3ttJolR88OqQikAWqwA8j5VZyas+vjyBNFIJ7MfybJ9plMILI2UrCw==",
-      "dev": true,
-      "license": "Apache-2.0",
-      "dependencies": {
-        "@types/json-schema": "^7.0.15"
-      },
-      "engines": {
-        "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
-      }
-    },
     "node_modules/@humanfs/core": {
       "version": "0.19.1",
       "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz";,
@@ -250,9 +237,9 @@
       "dev": true
     },
     "node_modules/ace-builds": {
-      "version": "1.40.0",
-      "resolved": 
"https://registry.npmjs.org/ace-builds/-/ace-builds-1.40.0.tgz";,
-      "integrity": 
"sha512-wOCyJfNRsq/yLTR7z2KpwcjaInuUs/mosu/OFLGGUA+g+ApD9OJ1AToHDIp0Xpa2koHJ79bmOya73oWjCNbjlA==",
+      "version": "1.40.1",
+      "resolved": 
"https://registry.npmjs.org/ace-builds/-/ace-builds-1.40.1.tgz";,
+      "integrity": 
"sha512-32uwJNwmhqpnYtr6oq8RoO1D6F6tnxisv5f9w2XPX3vi4QruuHNikadHUiHvnxLAV1n5Azv4LFtpItQ5dD1eRw==",
       "license": "BSD-3-Clause"
     },
     "node_modules/acorn": {
@@ -911,20 +898,20 @@
       }
     },
     "node_modules/eslint": {
-      "version": "9.24.0",
-      "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.24.0.tgz";,
-      "integrity": 
"sha512-eh/jxIEJyZrvbWRe4XuVclLPDYSYYYgLy5zXGGxD6j8zjSAxFEzI2fL/8xNq6O2yKqVt+eF2YhV+hxjV6UKXwQ==",
+      "version": "9.25.1",
+      "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.25.1.tgz";,
+      "integrity": 
"sha512-E6Mtz9oGQWDCpV12319d59n4tx9zOTXSTmc8BLVxBx+G/0RdM5MvEEJLU9c0+aleoePYYgVTOsRblx433qmhWQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
         "@eslint-community/eslint-utils": "^4.2.0",
         "@eslint-community/regexpp": "^4.12.1",
         "@eslint/config-array": "^0.20.0",
-        "@eslint/config-helpers": "^0.2.0",
-        "@eslint/core": "^0.12.0",
+        "@eslint/config-helpers": "^0.2.1",
+        "@eslint/core": "^0.13.0",
         "@eslint/eslintrc": "^3.3.1",
-        "@eslint/js": "9.24.0",
-        "@eslint/plugin-kit": "^0.2.7",
+        "@eslint/js": "9.25.1",
+        "@eslint/plugin-kit": "^0.2.8",
         "@humanfs/node": "^0.16.6",
         "@humanwhocodes/module-importer": "^1.0.1",
         "@humanwhocodes/retry": "^0.4.2",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1744914226.24548346/package.json 
new/openQA-5.1745500773.055f94fe/package.json
--- old/openQA-5.1744914226.24548346/package.json       2025-04-17 
20:23:46.000000000 +0200
+++ new/openQA-5.1745500773.055f94fe/package.json       2025-04-24 
15:19:33.000000000 +0200
@@ -12,13 +12,13 @@
   },
   "homepage": "https://github.com/os-autoinst/openQA#readme";,
   "devDependencies": {
-    "eslint": "^9.24.0",
+    "eslint": "^9.25.1",
     "eslint-config-prettier": "^10.1.2",
     "eslint-plugin-prettier": "^5.2.6",
     "prettier": "3.5.3"
   },
   "dependencies": {
-    "ace-builds": "^1.40.0",
+    "ace-builds": "^1.40.1",
     "anser": "^2.3.2",
     "bootstrap": "^5.3.5",
     "chosen-js": "^1.8.7",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1744914226.24548346/script/dump-db 
new/openQA-5.1745500773.055f94fe/script/dump-db
--- old/openQA-5.1744914226.24548346/script/dump-db     1970-01-01 
01:00:00.000000000 +0100
+++ new/openQA-5.1745500773.055f94fe/script/dump-db     2025-04-24 
15:19:33.000000000 +0200
@@ -0,0 +1,8 @@
+#!/bin/bash
+set -euo pipefail
+DUMP_FOLDER=${DUMP_FOLDER:-"/var/lib/openqa/SQL-DUMPS"}
+DAYS_TO_KEEP=${DAYS_TO_KEEP:-"7"}
+[[ $1 = '-h' ]] || [[ $1 = '--help' ]] && echo "Dump the openQA postgresql 
database to ${DUMP_FOLDER} and clean-up backups older than ${DAYS_TO_KEEP} 
days." && exit
+
+pg_dump -Fc -c openqa -f "${DUMP_FOLDER}/$(date -Idate).dump"
+find "${DUMP_FOLDER}" -mtime "+${DAYS_TO_KEEP}" -print0 -delete
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1744914226.24548346/t/14-grutasks.t 
new/openQA-5.1745500773.055f94fe/t/14-grutasks.t
--- old/openQA-5.1744914226.24548346/t/14-grutasks.t    2025-04-17 
20:23:46.000000000 +0200
+++ new/openQA-5.1745500773.055f94fe/t/14-grutasks.t    2025-04-24 
15:19:33.000000000 +0200
@@ -601,15 +601,36 @@
 };
 
 subtest 'waiting gru job' => sub {
+    $t->app->config->{misc_limits}->{wait_for_grutask_retries} = 4;
     my $enq = $app->gru->enqueue(wait_for_grutask => {});
+    my $id = $enq->{minion_id};
     # Simulate that the gru task is not yet visible for the minion server
     $schema->resultset('GruTasks')->find($enq->{gru_id})->delete;
     my $worker = $app->minion->worker->register;
-    my $job = $worker->dequeue(0, {id => $enq->{minion_id}});
-    $job->execute;
+    perform_minion_jobs($t->app->minion);
+    my $job = $t->app->minion->job($id);
     is $job->info->{retries}, 1, 'job retried because there is no GruTasks 
entry';
     is $job->info->{state}, 'inactive', 'state inactive because there is no 
GruTasks entry';
     is $job->info->{finished}, undef, 'finished is not defined';
+
+    subtest 'Giving up on missing GruTask' => sub {
+        # Calling retry() with delay 0 explicitly again to run the next job 
immediately
+        $t->app->minion->job($id)->retry({delay => 0});    # retries=2
+        combined_like { perform_minion_jobs($t->app->minion) } qr{Could not 
find GruTask.*after 2 retries, delaying 8s};
+        is $job->info->{retries}, 3, 'job retried because there is no GruTasks 
entry';
+
+        $t->app->minion->job($id)->retry({delay => 0});    # retries=4
+        combined_like { perform_minion_jobs($t->app->minion) }
+        qr{Could not find GruTask.*after 4 retries, delaying 32s};
+        is $job->info->{retries}, 5, 'job retried because there is no GruTasks 
entry';
+
+        $t->app->minion->job($id)->retry({delay => 0});    # retries=6
+        perform_minion_jobs($t->app->minion);
+        is $job->info->{state}, 'failed', 'Job finally failed';
+        like $job->info->{notes}->{stop_reason}, qr{Could not find GruTask 
'\d+' after 6 retries.*},
+          'Message is logged as job result';
+        is $job->info->{retries}, 6, 'job retried because there is no GruTasks 
entry';
+    };
 };
 
 # prevent writing to a log file to enable use of combined_like in the 
following tests
@@ -801,7 +822,7 @@
     subtest 'successful run triggered via $job->done' => sub {
         my $a_txt = path($job->result_dir, 'a-0.txt')->spew('Foo');
         my $b_txt = path('t/data/14-module-b.txt')->copy_to($job->result_dir . 
'/b-0.txt');
-        $job->done;
+        combined_like { $job->done; } qr/_carry_over_candidate/, 'no 
unexpected log output from resultset';
         $_->discard_changes for ($job, $child_job);
         is($job->result, FAILED, 'job result is failed');
         is($child_job->state, CANCELLED, 'child job cancelled');
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1744914226.24548346/t/api/08-jobtemplates.t 
new/openQA-5.1745500773.055f94fe/t/api/08-jobtemplates.t
--- old/openQA-5.1744914226.24548346/t/api/08-jobtemplates.t    2025-04-17 
20:23:46.000000000 +0200
+++ new/openQA-5.1745500773.055f94fe/t/api/08-jobtemplates.t    2025-04-24 
15:19:33.000000000 +0200
@@ -1074,7 +1074,9 @@
                 id => $job_group_id3,
                 job_group_id => $job_group_id3,
                 error_status => 400,
-                error => ["Product 'opensuse-13.1-DVD-i586' is invalid"],
+                error => [
+"Product 'opensuse-13.1-DVD-i586' not found in database (arch: 'i586', distri: 
'geeko', flavor: 'DVD', version: '13.1')"
+                ],
             },
             'Invalid product'
         );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1744914226.24548346/t/config.t 
new/openQA-5.1745500773.055f94fe/t/config.t
--- old/openQA-5.1744914226.24548346/t/config.t 2025-04-17 20:23:46.000000000 
+0200
+++ new/openQA-5.1745500773.055f94fe/t/config.t 2025-04-24 15:19:33.000000000 
+0200
@@ -180,6 +180,7 @@
             assets_default_limit => 100000,
             assets_max_limit => 200000,
             max_online_workers => 1000,
+            wait_for_grutask_retries => 6,
             worker_limit_retry_delay => ONE_HOUR / 4,
         },
         archiving => {

++++++ openQA.obsinfo ++++++
--- /var/tmp/diff_new_pack.brGFcC/_old  2025-04-25 22:19:55.309080896 +0200
+++ /var/tmp/diff_new_pack.brGFcC/_new  2025-04-25 22:19:55.333081904 +0200
@@ -1,5 +1,5 @@
 name: openQA
-version: 5.1744914226.24548346
-mtime: 1744914226
-commit: 245483462547b9e7772bf597bd7ddd70c89f83ea
+version: 5.1745500773.055f94fe
+mtime: 1745500773
+commit: 055f94fee5dbce696c292af7344c2343d96a3852
 

Reply via email to