Просмотр исходного кода

Merge pull request #8847 from overleaf/jpa-emit-start-of-xref-table

[clsi] try to emit the start of the xref table

GitOrigin-RevId: 6d8348a349572cc997ac5924664428228c00fed1
Jakob Ackermann 4 лет назад
Родитель
Сommit
97624d0c6c
30 измененных файлов с 3278 добавлено и 3189 удалено
  1. 10 6
      services/clsi/app/js/ContentCacheManager.js
  2. 7 1
      services/clsi/app/js/OutputCacheManager.js
  3. 3 1
      services/clsi/app/lib/pdfjs/parseXrefTable.js
  4. 1 1
      services/clsi/scripts/demo-pdfjs-Xref.js
  5. 359 356
      services/clsi/test/unit/js/snapshots/pdfjs/asymptote/XrefTable.json
  6. 148 145
      services/clsi/test/unit/js/snapshots/pdfjs/biber_bibliography/XrefTable.json
  7. 145 142
      services/clsi/test/unit/js/snapshots/pdfjs/epstopdf/XrefTable.json
  8. 135 132
      services/clsi/test/unit/js/snapshots/pdfjs/feynmf/XrefTable.json
  9. 110 107
      services/clsi/test/unit/js/snapshots/pdfjs/feynmp/XrefTable.json
  10. 113 110
      services/clsi/test/unit/js/snapshots/pdfjs/fontawesome/XrefTable.json
  11. 129 126
      services/clsi/test/unit/js/snapshots/pdfjs/fontawesome_xelatex/XrefTable.json
  12. 114 111
      services/clsi/test/unit/js/snapshots/pdfjs/glossaries/XrefTable.json
  13. 109 106
      services/clsi/test/unit/js/snapshots/pdfjs/gnuplot/XrefTable.json
  14. 101 98
      services/clsi/test/unit/js/snapshots/pdfjs/hebrew/XrefTable.json
  15. 148 145
      services/clsi/test/unit/js/snapshots/pdfjs/knitr/XrefTable.json
  16. 182 179
      services/clsi/test/unit/js/snapshots/pdfjs/knitr_utf8/XrefTable.json
  17. 140 137
      services/clsi/test/unit/js/snapshots/pdfjs/latex_compiler/XrefTable.json
  18. 94 91
      services/clsi/test/unit/js/snapshots/pdfjs/lualatex_compiler/XrefTable.json
  19. 128 125
      services/clsi/test/unit/js/snapshots/pdfjs/makeindex-custom-style/XrefTable.json
  20. 111 108
      services/clsi/test/unit/js/snapshots/pdfjs/makeindex/XrefTable.json
  21. 97 94
      services/clsi/test/unit/js/snapshots/pdfjs/minted/XrefTable.json
  22. 156 153
      services/clsi/test/unit/js/snapshots/pdfjs/multibib_bibliography/XrefTable.json
  23. 114 111
      services/clsi/test/unit/js/snapshots/pdfjs/nomenclature/XrefTable.json
  24. 111 108
      services/clsi/test/unit/js/snapshots/pdfjs/references_in_include/XrefTable.json
  25. 114 111
      services/clsi/test/unit/js/snapshots/pdfjs/simple_bibliography/XrefTable.json
  26. 128 125
      services/clsi/test/unit/js/snapshots/pdfjs/subdirectories/XrefTable.json
  27. 168 165
      services/clsi/test/unit/js/snapshots/pdfjs/tikz_feynman/XrefTable.json
  28. 98 95
      services/clsi/test/unit/js/snapshots/pdfjs/xelatex_compiler/XrefTable.json
  29. 1 0
      services/web/app/src/Features/Compile/ClsiManager.js
  30. 4 0
      services/web/test/unit/src/Compile/ClsiManagerTests.js

+ 10 - 6
services/clsi/app/js/ContentCacheManager.js

@@ -119,22 +119,26 @@ async function doUpdateInternal(contentDir, filePath, size, checkDeadline) {
 
   checkDeadline('after init HashFileTracker')
 
-  const rawTable = await parseXrefTable(filePath, size, checkDeadline)
-  rawTable.sort((a, b) => {
+  const { xRefEntries, startXRefTable } = await parseXrefTable(
+    filePath,
+    size,
+    checkDeadline
+  )
+  xRefEntries.sort((a, b) => {
     return a.offset - b.offset
   })
-  rawTable.forEach((obj, idx) => {
+  xRefEntries.forEach((obj, idx) => {
     obj.idx = idx
   })
 
   checkDeadline('after parsing')
 
   const uncompressedObjects = []
-  for (const object of rawTable) {
+  for (const object of xRefEntries) {
     if (!object.uncompressed) {
       continue
     }
-    const nextObject = rawTable[object.idx + 1]
+    const nextObject = xRefEntries[object.idx + 1]
     if (!nextObject) {
       // Ignore this possible edge case.
       // The last object should be part of the xRef table.
@@ -204,7 +208,7 @@ async function doUpdateInternal(contentDir, filePath, size, checkDeadline) {
   //       Let the next compile use the already written ranges.
   const reclaimedSpace = await tracker.deleteStaleHashes(5)
   await tracker.flush()
-  return [ranges, newRanges, reclaimedSpace]
+  return [ranges, newRanges, reclaimedSpace, startXRefTable]
 }
 
 function getStatePath(contentDir) {

+ 7 - 1
services/clsi/app/js/OutputCacheManager.js

@@ -392,7 +392,12 @@ module.exports = OutputCacheManager = {
               return callback(null, outputFiles)
             }
             if (err) return callback(err, outputFiles)
-            const [contentRanges, newContentRanges, reclaimedSpace] = result
+            const [
+              contentRanges,
+              newContentRanges,
+              reclaimedSpace,
+              startXRefTable,
+            ] = result
 
             if (Settings.enablePdfCachingDark) {
               // In dark mode we are doing the computation only and do not emit
@@ -400,6 +405,7 @@ module.exports = OutputCacheManager = {
             } else {
               outputFile.contentId = Path.basename(contentDir)
               outputFile.ranges = contentRanges
+              outputFile.startXRefTable = startXRefTable
             }
 
             timings['compute-pdf-caching'] = timer.done()

+ 3 - 1
services/clsi/app/lib/pdfjs/parseXrefTable.js

@@ -16,7 +16,9 @@ async function parseXrefTable(path, size, checkDeadline) {
     checkDeadline('pdfjs: after parseStartXRef')
     await manager.ensureDoc('parse')
     checkDeadline('pdfjs: after parse')
-    return manager.pdfDocument.catalog.xref.entries
+    const xRefEntries = manager.pdfDocument.xref.entries
+    const startXRefTable = manager.pdfDocument.xref.topDict?.get('Prev')
+    return { xRefEntries, startXRefTable }
   } finally {
     file.close()
   }

+ 1 - 1
services/clsi/scripts/demo-pdfjs-Xref.js

@@ -5,7 +5,7 @@ const pdfPath = process.argv[2]
 
 async function main() {
   const size = (await fs.promises.stat(pdfPath)).size
-  const xRefEntries = await parseXrefTable(pdfPath, size)
+  const { xRefEntries } = await parseXrefTable(pdfPath, size)
   console.log('Xref entries', xRefEntries)
 }
 

+ 359 - 356
services/clsi/test/unit/js/snapshots/pdfjs/asymptote/XrefTable.json

@@ -1,356 +1,359 @@
-[
-  {
-    "offset": 0,
-    "gen": 0,
-    "free": true
-  },
-  {
-    "offset": 123103,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 123422,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 15,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 216,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 1084,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 1244,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 4001,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 4155,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 4297,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 4933,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 5309,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 5498,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 30250,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 31471,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 38404,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 39046,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 40166,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 40906,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 65560,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 74702,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 81705,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 97182,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 104117,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 111195,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 118571,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 6,
-    "gen": 0
-  },
-  {
-    "offset": 6,
-    "gen": 1
-  },
-  {
-    "offset": 6,
-    "gen": 2
-  },
-  {
-    "offset": 6,
-    "gen": 3
-  },
-  {
-    "offset": 6,
-    "gen": 4
-  },
-  {
-    "offset": 6,
-    "gen": 5
-  },
-  {
-    "offset": 6,
-    "gen": 6
-  },
-  {
-    "offset": 6,
-    "gen": 7
-  },
-  {
-    "offset": 6,
-    "gen": 8
-  },
-  {
-    "offset": 6,
-    "gen": 9
-  },
-  {
-    "offset": 6,
-    "gen": 10
-  },
-  {
-    "offset": 6,
-    "gen": 11
-  },
-  {
-    "offset": 6,
-    "gen": 12
-  },
-  {
-    "offset": 6,
-    "gen": 13
-  },
-  {
-    "offset": 6,
-    "gen": 14
-  },
-  {
-    "offset": 6,
-    "gen": 15
-  },
-  {
-    "offset": 6,
-    "gen": 16
-  },
-  {
-    "offset": 6,
-    "gen": 17
-  },
-  {
-    "offset": 6,
-    "gen": 18
-  },
-  {
-    "offset": 6,
-    "gen": 19
-  },
-  {
-    "offset": 6,
-    "gen": 20
-  },
-  {
-    "offset": 6,
-    "gen": 21
-  },
-  {
-    "offset": 6,
-    "gen": 22
-  },
-  {
-    "offset": 6,
-    "gen": 23
-  },
-  {
-    "offset": 6,
-    "gen": 24
-  },
-  {
-    "offset": 6,
-    "gen": 25
-  },
-  {
-    "offset": 6,
-    "gen": 26
-  },
-  {
-    "offset": 6,
-    "gen": 27
-  },
-  {
-    "offset": 6,
-    "gen": 28
-  },
-  {
-    "offset": 6,
-    "gen": 29
-  },
-  {
-    "offset": 6,
-    "gen": 30
-  },
-  {
-    "offset": 6,
-    "gen": 31
-  },
-  {
-    "offset": 6,
-    "gen": 32
-  },
-  {
-    "offset": 6,
-    "gen": 33
-  },
-  {
-    "offset": 6,
-    "gen": 34
-  },
-  {
-    "offset": 6,
-    "gen": 35
-  },
-  {
-    "offset": 6,
-    "gen": 36
-  },
-  {
-    "offset": 6,
-    "gen": 37
-  },
-  {
-    "offset": 6,
-    "gen": 38
-  },
-  {
-    "offset": 6,
-    "gen": 39
-  },
-  {
-    "offset": 6,
-    "gen": 40
-  },
-  {
-    "offset": 6,
-    "gen": 41
-  },
-  {
-    "offset": 6,
-    "gen": 42
-  },
-  {
-    "offset": 6,
-    "gen": 43
-  },
-  {
-    "offset": 6,
-    "gen": 44
-  },
-  {
-    "offset": 6,
-    "gen": 45
-  },
-  {
-    "offset": 6,
-    "gen": 46
-  },
-  {
-    "offset": 6,
-    "gen": 47
-  },
-  {
-    "offset": 6,
-    "gen": 48
-  },
-  {
-    "offset": 6,
-    "gen": 49
-  },
-  {
-    "offset": 6,
-    "gen": 50
-  },
-  {
-    "offset": 6,
-    "gen": 51
-  },
-  {
-    "offset": 6,
-    "gen": 52
-  },
-  {
-    "offset": 6,
-    "gen": 53
-  },
-  {
-    "offset": 6,
-    "gen": 54
-  },
-  {
-    "offset": 6,
-    "gen": 55
-  }
-]
+{
+  "xRefEntries": [
+    {
+      "offset": 0,
+      "gen": 0,
+      "free": true
+    },
+    {
+      "offset": 123103,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 123422,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 15,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 216,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 1084,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 1244,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 4001,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 4155,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 4297,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 4933,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 5309,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 5498,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 30250,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 31471,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 38404,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 39046,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 40166,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 40906,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 65560,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 74702,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 81705,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 97182,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 104117,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 111195,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 118571,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 6,
+      "gen": 0
+    },
+    {
+      "offset": 6,
+      "gen": 1
+    },
+    {
+      "offset": 6,
+      "gen": 2
+    },
+    {
+      "offset": 6,
+      "gen": 3
+    },
+    {
+      "offset": 6,
+      "gen": 4
+    },
+    {
+      "offset": 6,
+      "gen": 5
+    },
+    {
+      "offset": 6,
+      "gen": 6
+    },
+    {
+      "offset": 6,
+      "gen": 7
+    },
+    {
+      "offset": 6,
+      "gen": 8
+    },
+    {
+      "offset": 6,
+      "gen": 9
+    },
+    {
+      "offset": 6,
+      "gen": 10
+    },
+    {
+      "offset": 6,
+      "gen": 11
+    },
+    {
+      "offset": 6,
+      "gen": 12
+    },
+    {
+      "offset": 6,
+      "gen": 13
+    },
+    {
+      "offset": 6,
+      "gen": 14
+    },
+    {
+      "offset": 6,
+      "gen": 15
+    },
+    {
+      "offset": 6,
+      "gen": 16
+    },
+    {
+      "offset": 6,
+      "gen": 17
+    },
+    {
+      "offset": 6,
+      "gen": 18
+    },
+    {
+      "offset": 6,
+      "gen": 19
+    },
+    {
+      "offset": 6,
+      "gen": 20
+    },
+    {
+      "offset": 6,
+      "gen": 21
+    },
+    {
+      "offset": 6,
+      "gen": 22
+    },
+    {
+      "offset": 6,
+      "gen": 23
+    },
+    {
+      "offset": 6,
+      "gen": 24
+    },
+    {
+      "offset": 6,
+      "gen": 25
+    },
+    {
+      "offset": 6,
+      "gen": 26
+    },
+    {
+      "offset": 6,
+      "gen": 27
+    },
+    {
+      "offset": 6,
+      "gen": 28
+    },
+    {
+      "offset": 6,
+      "gen": 29
+    },
+    {
+      "offset": 6,
+      "gen": 30
+    },
+    {
+      "offset": 6,
+      "gen": 31
+    },
+    {
+      "offset": 6,
+      "gen": 32
+    },
+    {
+      "offset": 6,
+      "gen": 33
+    },
+    {
+      "offset": 6,
+      "gen": 34
+    },
+    {
+      "offset": 6,
+      "gen": 35
+    },
+    {
+      "offset": 6,
+      "gen": 36
+    },
+    {
+      "offset": 6,
+      "gen": 37
+    },
+    {
+      "offset": 6,
+      "gen": 38
+    },
+    {
+      "offset": 6,
+      "gen": 39
+    },
+    {
+      "offset": 6,
+      "gen": 40
+    },
+    {
+      "offset": 6,
+      "gen": 41
+    },
+    {
+      "offset": 6,
+      "gen": 42
+    },
+    {
+      "offset": 6,
+      "gen": 43
+    },
+    {
+      "offset": 6,
+      "gen": 44
+    },
+    {
+      "offset": 6,
+      "gen": 45
+    },
+    {
+      "offset": 6,
+      "gen": 46
+    },
+    {
+      "offset": 6,
+      "gen": 47
+    },
+    {
+      "offset": 6,
+      "gen": 48
+    },
+    {
+      "offset": 6,
+      "gen": 49
+    },
+    {
+      "offset": 6,
+      "gen": 50
+    },
+    {
+      "offset": 6,
+      "gen": 51
+    },
+    {
+      "offset": 6,
+      "gen": 52
+    },
+    {
+      "offset": 6,
+      "gen": 53
+    },
+    {
+      "offset": 6,
+      "gen": 54
+    },
+    {
+      "offset": 6,
+      "gen": 55
+    }
+  ],
+  "startXRefTable": 123422
+}

+ 148 - 145
services/clsi/test/unit/js/snapshots/pdfjs/biber_bibliography/XrefTable.json

@@ -1,145 +1,148 @@
-[
-  {
-    "offset": 0,
-    "gen": 0,
-    "free": true
-  },
-  {
-    "offset": 59313,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 59561,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 15,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 216,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 734,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 784,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 913,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 1028,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 1528,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 9787,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 18282,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 33607,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 45579,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 58005,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 14,
-    "gen": 0
-  },
-  {
-    "offset": 14,
-    "gen": 1
-  },
-  {
-    "offset": 14,
-    "gen": 2
-  },
-  {
-    "offset": 14,
-    "gen": 3
-  },
-  {
-    "offset": 14,
-    "gen": 4
-  },
-  {
-    "offset": 14,
-    "gen": 5
-  },
-  {
-    "offset": 14,
-    "gen": 6
-  },
-  {
-    "offset": 14,
-    "gen": 7
-  },
-  {
-    "offset": 14,
-    "gen": 8
-  },
-  {
-    "offset": 14,
-    "gen": 9
-  },
-  {
-    "offset": 14,
-    "gen": 10
-  },
-  {
-    "offset": 14,
-    "gen": 11
-  },
-  {
-    "offset": 14,
-    "gen": 12
-  },
-  {
-    "offset": 14,
-    "gen": 13
-  },
-  {
-    "offset": 14,
-    "gen": 14
-  },
-  {
-    "offset": 14,
-    "gen": 15
-  },
-  {
-    "offset": 14,
-    "gen": 16
-  }
-]
+{
+  "xRefEntries": [
+    {
+      "offset": 0,
+      "gen": 0,
+      "free": true
+    },
+    {
+      "offset": 59313,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 59561,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 15,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 216,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 734,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 784,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 913,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 1028,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 1528,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 9787,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 18282,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 33607,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 45579,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 58005,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 14,
+      "gen": 0
+    },
+    {
+      "offset": 14,
+      "gen": 1
+    },
+    {
+      "offset": 14,
+      "gen": 2
+    },
+    {
+      "offset": 14,
+      "gen": 3
+    },
+    {
+      "offset": 14,
+      "gen": 4
+    },
+    {
+      "offset": 14,
+      "gen": 5
+    },
+    {
+      "offset": 14,
+      "gen": 6
+    },
+    {
+      "offset": 14,
+      "gen": 7
+    },
+    {
+      "offset": 14,
+      "gen": 8
+    },
+    {
+      "offset": 14,
+      "gen": 9
+    },
+    {
+      "offset": 14,
+      "gen": 10
+    },
+    {
+      "offset": 14,
+      "gen": 11
+    },
+    {
+      "offset": 14,
+      "gen": 12
+    },
+    {
+      "offset": 14,
+      "gen": 13
+    },
+    {
+      "offset": 14,
+      "gen": 14
+    },
+    {
+      "offset": 14,
+      "gen": 15
+    },
+    {
+      "offset": 14,
+      "gen": 16
+    }
+  ],
+  "startXRefTable": 59561
+}

+ 145 - 142
services/clsi/test/unit/js/snapshots/pdfjs/epstopdf/XrefTable.json

@@ -1,142 +1,145 @@
-[
-  {
-    "offset": 0,
-    "gen": 0,
-    "free": true
-  },
-  {
-    "offset": 31354,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 31614,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 15,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 216,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 727,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 777,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 909,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 1017,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 19127,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 19313,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 19557,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 19948,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 20677,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 23321,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 30318,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 15,
-    "gen": 0
-  },
-  {
-    "offset": 15,
-    "gen": 1
-  },
-  {
-    "offset": 15,
-    "gen": 2
-  },
-  {
-    "offset": 15,
-    "gen": 3
-  },
-  {
-    "offset": 15,
-    "gen": 4
-  },
-  {
-    "offset": 15,
-    "gen": 5
-  },
-  {
-    "offset": 15,
-    "gen": 6
-  },
-  {
-    "offset": 15,
-    "gen": 7
-  },
-  {
-    "offset": 15,
-    "gen": 8
-  },
-  {
-    "offset": 15,
-    "gen": 9
-  },
-  {
-    "offset": 15,
-    "gen": 10
-  },
-  {
-    "offset": 15,
-    "gen": 11
-  },
-  {
-    "offset": 15,
-    "gen": 12
-  },
-  {
-    "offset": 15,
-    "gen": 13
-  },
-  {
-    "offset": 15,
-    "gen": 14
-  }
-]
+{
+  "xRefEntries": [
+    {
+      "offset": 0,
+      "gen": 0,
+      "free": true
+    },
+    {
+      "offset": 31354,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 31614,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 15,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 216,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 727,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 777,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 909,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 1017,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 19127,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 19313,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 19557,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 19948,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 20677,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 23321,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 30318,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 15,
+      "gen": 0
+    },
+    {
+      "offset": 15,
+      "gen": 1
+    },
+    {
+      "offset": 15,
+      "gen": 2
+    },
+    {
+      "offset": 15,
+      "gen": 3
+    },
+    {
+      "offset": 15,
+      "gen": 4
+    },
+    {
+      "offset": 15,
+      "gen": 5
+    },
+    {
+      "offset": 15,
+      "gen": 6
+    },
+    {
+      "offset": 15,
+      "gen": 7
+    },
+    {
+      "offset": 15,
+      "gen": 8
+    },
+    {
+      "offset": 15,
+      "gen": 9
+    },
+    {
+      "offset": 15,
+      "gen": 10
+    },
+    {
+      "offset": 15,
+      "gen": 11
+    },
+    {
+      "offset": 15,
+      "gen": 12
+    },
+    {
+      "offset": 15,
+      "gen": 13
+    },
+    {
+      "offset": 15,
+      "gen": 14
+    }
+  ],
+  "startXRefTable": 31614
+}

+ 135 - 132
services/clsi/test/unit/js/snapshots/pdfjs/feynmf/XrefTable.json

@@ -1,132 +1,135 @@
-[
-  {
-    "offset": 0,
-    "gen": 0,
-    "free": true
-  },
-  {
-    "offset": 27064,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 27312,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 15,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 216,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 713,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 763,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 892,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 1007,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 1235,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 4832,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 12199,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 19196,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 26341,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 13,
-    "gen": 0
-  },
-  {
-    "offset": 13,
-    "gen": 1
-  },
-  {
-    "offset": 13,
-    "gen": 2
-  },
-  {
-    "offset": 13,
-    "gen": 3
-  },
-  {
-    "offset": 13,
-    "gen": 4
-  },
-  {
-    "offset": 13,
-    "gen": 5
-  },
-  {
-    "offset": 13,
-    "gen": 6
-  },
-  {
-    "offset": 13,
-    "gen": 7
-  },
-  {
-    "offset": 13,
-    "gen": 8
-  },
-  {
-    "offset": 13,
-    "gen": 9
-  },
-  {
-    "offset": 13,
-    "gen": 10
-  },
-  {
-    "offset": 13,
-    "gen": 11
-  },
-  {
-    "offset": 13,
-    "gen": 12
-  },
-  {
-    "offset": 13,
-    "gen": 13
-  },
-  {
-    "offset": 13,
-    "gen": 14
-  }
-]
+{
+  "xRefEntries": [
+    {
+      "offset": 0,
+      "gen": 0,
+      "free": true
+    },
+    {
+      "offset": 27064,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 27312,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 15,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 216,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 713,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 763,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 892,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 1007,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 1235,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 4832,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 12199,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 19196,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 26341,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 13,
+      "gen": 0
+    },
+    {
+      "offset": 13,
+      "gen": 1
+    },
+    {
+      "offset": 13,
+      "gen": 2
+    },
+    {
+      "offset": 13,
+      "gen": 3
+    },
+    {
+      "offset": 13,
+      "gen": 4
+    },
+    {
+      "offset": 13,
+      "gen": 5
+    },
+    {
+      "offset": 13,
+      "gen": 6
+    },
+    {
+      "offset": 13,
+      "gen": 7
+    },
+    {
+      "offset": 13,
+      "gen": 8
+    },
+    {
+      "offset": 13,
+      "gen": 9
+    },
+    {
+      "offset": 13,
+      "gen": 10
+    },
+    {
+      "offset": 13,
+      "gen": 11
+    },
+    {
+      "offset": 13,
+      "gen": 12
+    },
+    {
+      "offset": 13,
+      "gen": 13
+    },
+    {
+      "offset": 13,
+      "gen": 14
+    }
+  ],
+  "startXRefTable": 27312
+}

+ 110 - 107
services/clsi/test/unit/js/snapshots/pdfjs/feynmp/XrefTable.json

@@ -1,107 +1,110 @@
-[
-  {
-    "offset": 0,
-    "gen": 65535,
-    "free": true
-  },
-  {
-    "offset": 4964,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 5023,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 5234,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 15,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 734,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 799,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 933,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 1104,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 1947,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 1992,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 2182,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 2427,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 2597,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 2822,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 2989,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 3239,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 3271,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 3328,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 3740,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 4270,
-    "gen": 0,
-    "uncompressed": true
-  }
-]
+{
+  "xRefEntries": [
+    {
+      "offset": 0,
+      "gen": 65535,
+      "free": true
+    },
+    {
+      "offset": 4964,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 5023,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 5234,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 15,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 734,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 799,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 933,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 1104,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 1947,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 1992,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 2182,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 2427,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 2597,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 2822,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 2989,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 3239,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 3271,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 3328,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 3740,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 4270,
+      "gen": 0,
+      "uncompressed": true
+    }
+  ],
+  "startXRefTable": 6682
+}

+ 113 - 110
services/clsi/test/unit/js/snapshots/pdfjs/fontawesome/XrefTable.json

@@ -1,110 +1,113 @@
-[
-  {
-    "offset": 0,
-    "gen": 0,
-    "free": true
-  },
-  {
-    "offset": 31058,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 31307,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 15,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 216,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 678,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 728,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 855,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 970,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 1203,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 18852,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 30165,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 11,
-    "gen": 0
-  },
-  {
-    "offset": 11,
-    "gen": 1
-  },
-  {
-    "offset": 11,
-    "gen": 2
-  },
-  {
-    "offset": 11,
-    "gen": 3
-  },
-  {
-    "offset": 11,
-    "gen": 4
-  },
-  {
-    "offset": 11,
-    "gen": 5
-  },
-  {
-    "offset": 11,
-    "gen": 6
-  },
-  {
-    "offset": 11,
-    "gen": 7
-  },
-  {
-    "offset": 11,
-    "gen": 8
-  },
-  {
-    "offset": 11,
-    "gen": 9
-  },
-  {
-    "offset": 11,
-    "gen": 10
-  },
-  {
-    "offset": 11,
-    "gen": 11
-  }
-]
+{
+  "xRefEntries": [
+    {
+      "offset": 0,
+      "gen": 0,
+      "free": true
+    },
+    {
+      "offset": 31058,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 31307,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 15,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 216,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 678,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 728,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 855,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 970,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 1203,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 18852,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 30165,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 11,
+      "gen": 0
+    },
+    {
+      "offset": 11,
+      "gen": 1
+    },
+    {
+      "offset": 11,
+      "gen": 2
+    },
+    {
+      "offset": 11,
+      "gen": 3
+    },
+    {
+      "offset": 11,
+      "gen": 4
+    },
+    {
+      "offset": 11,
+      "gen": 5
+    },
+    {
+      "offset": 11,
+      "gen": 6
+    },
+    {
+      "offset": 11,
+      "gen": 7
+    },
+    {
+      "offset": 11,
+      "gen": 8
+    },
+    {
+      "offset": 11,
+      "gen": 9
+    },
+    {
+      "offset": 11,
+      "gen": 10
+    },
+    {
+      "offset": 11,
+      "gen": 11
+    }
+  ],
+  "startXRefTable": 31307
+}

+ 129 - 126
services/clsi/test/unit/js/snapshots/pdfjs/fontawesome_xelatex/XrefTable.json

@@ -1,126 +1,129 @@
-[
-  {
-    "offset": 0,
-    "gen": 0,
-    "free": true
-  },
-  {
-    "offset": 6344,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 15,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 216,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 707,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 757,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 887,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 990,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 1257,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 1679,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 2052,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 4249,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 4343,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 5387,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 5481,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 5519,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 15,
-    "gen": 0
-  },
-  {
-    "offset": 15,
-    "gen": 1
-  },
-  {
-    "offset": 15,
-    "gen": 2
-  },
-  {
-    "offset": 15,
-    "gen": 3
-  },
-  {
-    "offset": 15,
-    "gen": 4
-  },
-  {
-    "offset": 15,
-    "gen": 5
-  },
-  {
-    "offset": 15,
-    "gen": 6
-  },
-  {
-    "offset": 15,
-    "gen": 7
-  },
-  {
-    "offset": 15,
-    "gen": 8
-  },
-  {
-    "offset": 15,
-    "gen": 9
-  },
-  {
-    "offset": 15,
-    "gen": 10
-  }
-]
+{
+  "xRefEntries": [
+    {
+      "offset": 0,
+      "gen": 0,
+      "free": true
+    },
+    {
+      "offset": 6344,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 15,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 216,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 707,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 757,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 887,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 990,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 1257,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 1679,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 2052,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 4249,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 4343,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 5387,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 5481,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 5519,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 15,
+      "gen": 0
+    },
+    {
+      "offset": 15,
+      "gen": 1
+    },
+    {
+      "offset": 15,
+      "gen": 2
+    },
+    {
+      "offset": 15,
+      "gen": 3
+    },
+    {
+      "offset": 15,
+      "gen": 4
+    },
+    {
+      "offset": 15,
+      "gen": 5
+    },
+    {
+      "offset": 15,
+      "gen": 6
+    },
+    {
+      "offset": 15,
+      "gen": 7
+    },
+    {
+      "offset": 15,
+      "gen": 8
+    },
+    {
+      "offset": 15,
+      "gen": 9
+    },
+    {
+      "offset": 15,
+      "gen": 10
+    }
+  ],
+  "startXRefTable": 6344
+}

+ 114 - 111
services/clsi/test/unit/js/snapshots/pdfjs/glossaries/XrefTable.json

@@ -1,111 +1,114 @@
-[
-  {
-    "offset": 0,
-    "gen": 0,
-    "free": true
-  },
-  {
-    "offset": 34767,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 35015,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 15,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 216,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 678,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 728,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 856,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 971,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 1394,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 10990,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 19087,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 33769,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 12,
-    "gen": 0
-  },
-  {
-    "offset": 12,
-    "gen": 1
-  },
-  {
-    "offset": 12,
-    "gen": 2
-  },
-  {
-    "offset": 12,
-    "gen": 3
-  },
-  {
-    "offset": 12,
-    "gen": 4
-  },
-  {
-    "offset": 12,
-    "gen": 5
-  },
-  {
-    "offset": 12,
-    "gen": 6
-  },
-  {
-    "offset": 12,
-    "gen": 7
-  },
-  {
-    "offset": 12,
-    "gen": 8
-  },
-  {
-    "offset": 12,
-    "gen": 9
-  },
-  {
-    "offset": 12,
-    "gen": 10
-  }
-]
+{
+  "xRefEntries": [
+    {
+      "offset": 0,
+      "gen": 0,
+      "free": true
+    },
+    {
+      "offset": 34767,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 35015,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 15,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 216,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 678,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 728,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 856,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 971,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 1394,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 10990,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 19087,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 33769,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 12,
+      "gen": 0
+    },
+    {
+      "offset": 12,
+      "gen": 1
+    },
+    {
+      "offset": 12,
+      "gen": 2
+    },
+    {
+      "offset": 12,
+      "gen": 3
+    },
+    {
+      "offset": 12,
+      "gen": 4
+    },
+    {
+      "offset": 12,
+      "gen": 5
+    },
+    {
+      "offset": 12,
+      "gen": 6
+    },
+    {
+      "offset": 12,
+      "gen": 7
+    },
+    {
+      "offset": 12,
+      "gen": 8
+    },
+    {
+      "offset": 12,
+      "gen": 9
+    },
+    {
+      "offset": 12,
+      "gen": 10
+    }
+  ],
+  "startXRefTable": 35015
+}

+ 109 - 106
services/clsi/test/unit/js/snapshots/pdfjs/gnuplot/XrefTable.json

@@ -1,106 +1,109 @@
-[
-  {
-    "offset": 0,
-    "gen": 0,
-    "free": true
-  },
-  {
-    "offset": 23295,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 23543,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 15,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 216,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 671,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 721,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 847,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 955,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 7385,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 15752,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 22721,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 11,
-    "gen": 0
-  },
-  {
-    "offset": 11,
-    "gen": 1
-  },
-  {
-    "offset": 11,
-    "gen": 2
-  },
-  {
-    "offset": 11,
-    "gen": 3
-  },
-  {
-    "offset": 11,
-    "gen": 4
-  },
-  {
-    "offset": 11,
-    "gen": 5
-  },
-  {
-    "offset": 11,
-    "gen": 6
-  },
-  {
-    "offset": 11,
-    "gen": 7
-  },
-  {
-    "offset": 11,
-    "gen": 8
-  },
-  {
-    "offset": 11,
-    "gen": 9
-  },
-  {
-    "offset": 11,
-    "gen": 10
-  }
-]
+{
+  "xRefEntries": [
+    {
+      "offset": 0,
+      "gen": 0,
+      "free": true
+    },
+    {
+      "offset": 23295,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 23543,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 15,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 216,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 671,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 721,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 847,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 955,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 7385,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 15752,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 22721,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 11,
+      "gen": 0
+    },
+    {
+      "offset": 11,
+      "gen": 1
+    },
+    {
+      "offset": 11,
+      "gen": 2
+    },
+    {
+      "offset": 11,
+      "gen": 3
+    },
+    {
+      "offset": 11,
+      "gen": 4
+    },
+    {
+      "offset": 11,
+      "gen": 5
+    },
+    {
+      "offset": 11,
+      "gen": 6
+    },
+    {
+      "offset": 11,
+      "gen": 7
+    },
+    {
+      "offset": 11,
+      "gen": 8
+    },
+    {
+      "offset": 11,
+      "gen": 9
+    },
+    {
+      "offset": 11,
+      "gen": 10
+    }
+  ],
+  "startXRefTable": 23543
+}

+ 101 - 98
services/clsi/test/unit/js/snapshots/pdfjs/hebrew/XrefTable.json

@@ -1,98 +1,101 @@
-[
-  {
-    "offset": 0,
-    "gen": 0,
-    "free": true
-  },
-  {
-    "offset": 24490,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 24739,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 15,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 216,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 657,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 707,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 833,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 948,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 1290,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 13083,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 23411,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 11,
-    "gen": 0
-  },
-  {
-    "offset": 11,
-    "gen": 1
-  },
-  {
-    "offset": 11,
-    "gen": 2
-  },
-  {
-    "offset": 11,
-    "gen": 3
-  },
-  {
-    "offset": 11,
-    "gen": 4
-  },
-  {
-    "offset": 11,
-    "gen": 5
-  },
-  {
-    "offset": 11,
-    "gen": 6
-  },
-  {
-    "offset": 11,
-    "gen": 7
-  },
-  {
-    "offset": 11,
-    "gen": 8
-  }
-]
+{
+  "xRefEntries": [
+    {
+      "offset": 0,
+      "gen": 0,
+      "free": true
+    },
+    {
+      "offset": 24490,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 24739,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 15,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 216,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 657,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 707,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 833,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 948,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 1290,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 13083,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 23411,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 11,
+      "gen": 0
+    },
+    {
+      "offset": 11,
+      "gen": 1
+    },
+    {
+      "offset": 11,
+      "gen": 2
+    },
+    {
+      "offset": 11,
+      "gen": 3
+    },
+    {
+      "offset": 11,
+      "gen": 4
+    },
+    {
+      "offset": 11,
+      "gen": 5
+    },
+    {
+      "offset": 11,
+      "gen": 6
+    },
+    {
+      "offset": 11,
+      "gen": 7
+    },
+    {
+      "offset": 11,
+      "gen": 8
+    }
+  ],
+  "startXRefTable": 24739
+}

+ 148 - 145
services/clsi/test/unit/js/snapshots/pdfjs/knitr/XrefTable.json

@@ -1,145 +1,148 @@
-[
-  {
-    "offset": 0,
-    "gen": 0,
-    "free": true
-  },
-  {
-    "offset": 43550,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 43799,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 15,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 216,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 734,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 784,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 913,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 1021,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 1546,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 5794,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 12915,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 23660,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 30657,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 42604,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 14,
-    "gen": 0
-  },
-  {
-    "offset": 14,
-    "gen": 1
-  },
-  {
-    "offset": 14,
-    "gen": 2
-  },
-  {
-    "offset": 14,
-    "gen": 3
-  },
-  {
-    "offset": 14,
-    "gen": 4
-  },
-  {
-    "offset": 14,
-    "gen": 5
-  },
-  {
-    "offset": 14,
-    "gen": 6
-  },
-  {
-    "offset": 14,
-    "gen": 7
-  },
-  {
-    "offset": 14,
-    "gen": 8
-  },
-  {
-    "offset": 14,
-    "gen": 9
-  },
-  {
-    "offset": 14,
-    "gen": 10
-  },
-  {
-    "offset": 14,
-    "gen": 11
-  },
-  {
-    "offset": 14,
-    "gen": 12
-  },
-  {
-    "offset": 14,
-    "gen": 13
-  },
-  {
-    "offset": 14,
-    "gen": 14
-  },
-  {
-    "offset": 14,
-    "gen": 15
-  },
-  {
-    "offset": 14,
-    "gen": 16
-  }
-]
+{
+  "xRefEntries": [
+    {
+      "offset": 0,
+      "gen": 0,
+      "free": true
+    },
+    {
+      "offset": 43550,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 43799,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 15,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 216,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 734,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 784,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 913,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 1021,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 1546,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 5794,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 12915,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 23660,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 30657,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 42604,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 14,
+      "gen": 0
+    },
+    {
+      "offset": 14,
+      "gen": 1
+    },
+    {
+      "offset": 14,
+      "gen": 2
+    },
+    {
+      "offset": 14,
+      "gen": 3
+    },
+    {
+      "offset": 14,
+      "gen": 4
+    },
+    {
+      "offset": 14,
+      "gen": 5
+    },
+    {
+      "offset": 14,
+      "gen": 6
+    },
+    {
+      "offset": 14,
+      "gen": 7
+    },
+    {
+      "offset": 14,
+      "gen": 8
+    },
+    {
+      "offset": 14,
+      "gen": 9
+    },
+    {
+      "offset": 14,
+      "gen": 10
+    },
+    {
+      "offset": 14,
+      "gen": 11
+    },
+    {
+      "offset": 14,
+      "gen": 12
+    },
+    {
+      "offset": 14,
+      "gen": 13
+    },
+    {
+      "offset": 14,
+      "gen": 14
+    },
+    {
+      "offset": 14,
+      "gen": 15
+    },
+    {
+      "offset": 14,
+      "gen": 16
+    }
+  ],
+  "startXRefTable": 43799
+}

+ 182 - 179
services/clsi/test/unit/js/snapshots/pdfjs/knitr_utf8/XrefTable.json

@@ -1,179 +1,182 @@
-[
-  {
-    "offset": 0,
-    "gen": 0,
-    "free": true
-  },
-  {
-    "offset": 75299,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 75548,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 15,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 216,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 790,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 840,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 975,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 1083,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 2128,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 13799,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 23682,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 31867,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 36116,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 50352,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 61569,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 73516,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 16,
-    "gen": 0
-  },
-  {
-    "offset": 16,
-    "gen": 1
-  },
-  {
-    "offset": 16,
-    "gen": 2
-  },
-  {
-    "offset": 16,
-    "gen": 3
-  },
-  {
-    "offset": 16,
-    "gen": 4
-  },
-  {
-    "offset": 16,
-    "gen": 5
-  },
-  {
-    "offset": 16,
-    "gen": 6
-  },
-  {
-    "offset": 16,
-    "gen": 7
-  },
-  {
-    "offset": 16,
-    "gen": 8
-  },
-  {
-    "offset": 16,
-    "gen": 9
-  },
-  {
-    "offset": 16,
-    "gen": 10
-  },
-  {
-    "offset": 16,
-    "gen": 11
-  },
-  {
-    "offset": 16,
-    "gen": 12
-  },
-  {
-    "offset": 16,
-    "gen": 13
-  },
-  {
-    "offset": 16,
-    "gen": 14
-  },
-  {
-    "offset": 16,
-    "gen": 15
-  },
-  {
-    "offset": 16,
-    "gen": 16
-  },
-  {
-    "offset": 16,
-    "gen": 17
-  },
-  {
-    "offset": 16,
-    "gen": 18
-  },
-  {
-    "offset": 16,
-    "gen": 19
-  },
-  {
-    "offset": 16,
-    "gen": 20
-  },
-  {
-    "offset": 16,
-    "gen": 21
-  },
-  {
-    "offset": 16,
-    "gen": 22
-  }
-]
+{
+  "xRefEntries": [
+    {
+      "offset": 0,
+      "gen": 0,
+      "free": true
+    },
+    {
+      "offset": 75299,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 75548,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 15,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 216,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 790,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 840,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 975,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 1083,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 2128,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 13799,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 23682,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 31867,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 36116,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 50352,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 61569,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 73516,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 16,
+      "gen": 0
+    },
+    {
+      "offset": 16,
+      "gen": 1
+    },
+    {
+      "offset": 16,
+      "gen": 2
+    },
+    {
+      "offset": 16,
+      "gen": 3
+    },
+    {
+      "offset": 16,
+      "gen": 4
+    },
+    {
+      "offset": 16,
+      "gen": 5
+    },
+    {
+      "offset": 16,
+      "gen": 6
+    },
+    {
+      "offset": 16,
+      "gen": 7
+    },
+    {
+      "offset": 16,
+      "gen": 8
+    },
+    {
+      "offset": 16,
+      "gen": 9
+    },
+    {
+      "offset": 16,
+      "gen": 10
+    },
+    {
+      "offset": 16,
+      "gen": 11
+    },
+    {
+      "offset": 16,
+      "gen": 12
+    },
+    {
+      "offset": 16,
+      "gen": 13
+    },
+    {
+      "offset": 16,
+      "gen": 14
+    },
+    {
+      "offset": 16,
+      "gen": 15
+    },
+    {
+      "offset": 16,
+      "gen": 16
+    },
+    {
+      "offset": 16,
+      "gen": 17
+    },
+    {
+      "offset": 16,
+      "gen": 18
+    },
+    {
+      "offset": 16,
+      "gen": 19
+    },
+    {
+      "offset": 16,
+      "gen": 20
+    },
+    {
+      "offset": 16,
+      "gen": 21
+    },
+    {
+      "offset": 16,
+      "gen": 22
+    }
+  ],
+  "startXRefTable": 75548
+}

+ 140 - 137
services/clsi/test/unit/js/snapshots/pdfjs/latex_compiler/XrefTable.json

@@ -1,137 +1,140 @@
-[
-  {
-    "offset": 0,
-    "gen": 65535,
-    "free": true
-  },
-  {
-    "offset": 25097,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 25156,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 25367,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 15,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 854,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 919,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 1074,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 1245,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 18343,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 18388,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 18752,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 19071,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 19360,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 19604,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 19770,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 20007,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 20174,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 20424,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 20456,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 20525,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 23109,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 23500,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 24229,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 24641,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 24741,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 24985,
-    "gen": 0,
-    "uncompressed": true
-  }
-]
+{
+  "xRefEntries": [
+    {
+      "offset": 0,
+      "gen": 65535,
+      "free": true
+    },
+    {
+      "offset": 25097,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 25156,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 25367,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 15,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 854,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 919,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 1074,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 1245,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 18343,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 18388,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 18752,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 19071,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 19360,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 19604,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 19770,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 20007,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 20174,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 20424,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 20456,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 20525,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 23109,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 23500,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 24229,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 24641,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 24741,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 24985,
+      "gen": 0,
+      "uncompressed": true
+    }
+  ],
+  "startXRefTable": 26815
+}

+ 94 - 91
services/clsi/test/unit/js/snapshots/pdfjs/lualatex_compiler/XrefTable.json

@@ -1,91 +1,94 @@
-[
-  {
-    "offset": 0,
-    "gen": 0,
-    "free": true
-  },
-  {
-    "offset": 3568,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 3777,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 15,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 216,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 643,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 693,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 819,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 934,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 1118,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 1210,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 2555,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 3030,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 12,
-    "gen": 0
-  },
-  {
-    "offset": 12,
-    "gen": 1
-  },
-  {
-    "offset": 12,
-    "gen": 2
-  },
-  {
-    "offset": 12,
-    "gen": 3
-  },
-  {
-    "offset": 12,
-    "gen": 4
-  },
-  {
-    "offset": 12,
-    "gen": 5
-  }
-]
+{
+  "xRefEntries": [
+    {
+      "offset": 0,
+      "gen": 0,
+      "free": true
+    },
+    {
+      "offset": 3568,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 3777,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 15,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 216,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 643,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 693,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 819,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 934,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 1118,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 1210,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 2555,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 3030,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 12,
+      "gen": 0
+    },
+    {
+      "offset": 12,
+      "gen": 1
+    },
+    {
+      "offset": 12,
+      "gen": 2
+    },
+    {
+      "offset": 12,
+      "gen": 3
+    },
+    {
+      "offset": 12,
+      "gen": 4
+    },
+    {
+      "offset": 12,
+      "gen": 5
+    }
+  ],
+  "startXRefTable": 3777
+}

+ 128 - 125
services/clsi/test/unit/js/snapshots/pdfjs/makeindex-custom-style/XrefTable.json

@@ -1,125 +1,128 @@
-[
-  {
-    "offset": 0,
-    "gen": 0,
-    "free": true
-  },
-  {
-    "offset": 16762,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 16877,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 17142,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 24335,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 32164,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 32412,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 15,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 216,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 671,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 721,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 856,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 973,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 1318,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 2218,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 13,
-    "gen": 0
-  },
-  {
-    "offset": 13,
-    "gen": 1
-  },
-  {
-    "offset": 13,
-    "gen": 2
-  },
-  {
-    "offset": 13,
-    "gen": 3
-  },
-  {
-    "offset": 13,
-    "gen": 4
-  },
-  {
-    "offset": 13,
-    "gen": 5
-  },
-  {
-    "offset": 13,
-    "gen": 6
-  },
-  {
-    "offset": 13,
-    "gen": 7
-  },
-  {
-    "offset": 13,
-    "gen": 8
-  },
-  {
-    "offset": 13,
-    "gen": 9
-  },
-  {
-    "offset": 13,
-    "gen": 10
-  },
-  {
-    "offset": 13,
-    "gen": 11
-  }
-]
+{
+  "xRefEntries": [
+    {
+      "offset": 0,
+      "gen": 0,
+      "free": true
+    },
+    {
+      "offset": 16762,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 16877,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 17142,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 24335,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 32164,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 32412,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 15,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 216,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 671,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 721,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 856,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 973,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 1318,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 2218,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 13,
+      "gen": 0
+    },
+    {
+      "offset": 13,
+      "gen": 1
+    },
+    {
+      "offset": 13,
+      "gen": 2
+    },
+    {
+      "offset": 13,
+      "gen": 3
+    },
+    {
+      "offset": 13,
+      "gen": 4
+    },
+    {
+      "offset": 13,
+      "gen": 5
+    },
+    {
+      "offset": 13,
+      "gen": 6
+    },
+    {
+      "offset": 13,
+      "gen": 7
+    },
+    {
+      "offset": 13,
+      "gen": 8
+    },
+    {
+      "offset": 13,
+      "gen": 9
+    },
+    {
+      "offset": 13,
+      "gen": 10
+    },
+    {
+      "offset": 13,
+      "gen": 11
+    }
+  ],
+  "startXRefTable": 32412
+}

+ 111 - 108
services/clsi/test/unit/js/snapshots/pdfjs/makeindex/XrefTable.json

@@ -1,108 +1,111 @@
-[
-  {
-    "offset": 0,
-    "gen": 0,
-    "free": true
-  },
-  {
-    "offset": 16778,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 16893,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 17109,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 24938,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 25186,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 15,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 216,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 650,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 700,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 836,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 953,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 1298,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 2103,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 12,
-    "gen": 0
-  },
-  {
-    "offset": 12,
-    "gen": 1
-  },
-  {
-    "offset": 12,
-    "gen": 2
-  },
-  {
-    "offset": 12,
-    "gen": 3
-  },
-  {
-    "offset": 12,
-    "gen": 4
-  },
-  {
-    "offset": 12,
-    "gen": 5
-  },
-  {
-    "offset": 12,
-    "gen": 6
-  },
-  {
-    "offset": 12,
-    "gen": 7
-  },
-  {
-    "offset": 12,
-    "gen": 8
-  }
-]
+{
+  "xRefEntries": [
+    {
+      "offset": 0,
+      "gen": 0,
+      "free": true
+    },
+    {
+      "offset": 16778,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 16893,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 17109,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 24938,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 25186,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 15,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 216,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 650,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 700,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 836,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 953,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 1298,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 2103,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 12,
+      "gen": 0
+    },
+    {
+      "offset": 12,
+      "gen": 1
+    },
+    {
+      "offset": 12,
+      "gen": 2
+    },
+    {
+      "offset": 12,
+      "gen": 3
+    },
+    {
+      "offset": 12,
+      "gen": 4
+    },
+    {
+      "offset": 12,
+      "gen": 5
+    },
+    {
+      "offset": 12,
+      "gen": 6
+    },
+    {
+      "offset": 12,
+      "gen": 7
+    },
+    {
+      "offset": 12,
+      "gen": 8
+    }
+  ],
+  "startXRefTable": 25186
+}

+ 97 - 94
services/clsi/test/unit/js/snapshots/pdfjs/minted/XrefTable.json

@@ -1,94 +1,97 @@
-[
-  {
-    "offset": 0,
-    "gen": 0,
-    "free": true
-  },
-  {
-    "offset": 20679,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 20927,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 15,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 216,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 650,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 700,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 826,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 934,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 1252,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 8248,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 20115,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 11,
-    "gen": 0
-  },
-  {
-    "offset": 11,
-    "gen": 1
-  },
-  {
-    "offset": 11,
-    "gen": 2
-  },
-  {
-    "offset": 11,
-    "gen": 3
-  },
-  {
-    "offset": 11,
-    "gen": 4
-  },
-  {
-    "offset": 11,
-    "gen": 5
-  },
-  {
-    "offset": 11,
-    "gen": 6
-  },
-  {
-    "offset": 11,
-    "gen": 7
-  }
-]
+{
+  "xRefEntries": [
+    {
+      "offset": 0,
+      "gen": 0,
+      "free": true
+    },
+    {
+      "offset": 20679,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 20927,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 15,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 216,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 650,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 700,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 826,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 934,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 1252,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 8248,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 20115,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 11,
+      "gen": 0
+    },
+    {
+      "offset": 11,
+      "gen": 1
+    },
+    {
+      "offset": 11,
+      "gen": 2
+    },
+    {
+      "offset": 11,
+      "gen": 3
+    },
+    {
+      "offset": 11,
+      "gen": 4
+    },
+    {
+      "offset": 11,
+      "gen": 5
+    },
+    {
+      "offset": 11,
+      "gen": 6
+    },
+    {
+      "offset": 11,
+      "gen": 7
+    }
+  ],
+  "startXRefTable": 20927
+}

+ 156 - 153
services/clsi/test/unit/js/snapshots/pdfjs/multibib_bibliography/XrefTable.json

@@ -1,153 +1,156 @@
-[
-  {
-    "offset": 0,
-    "gen": 0,
-    "free": true
-  },
-  {
-    "offset": 29506,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 29621,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 29918,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 30033,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 30274,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 30389,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 30644,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 42802,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 43050,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 15,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 216,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 695,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 746,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 900,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 1017,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 1286,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 2443,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 13147,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 16,
-    "gen": 0
-  },
-  {
-    "offset": 16,
-    "gen": 1
-  },
-  {
-    "offset": 16,
-    "gen": 2
-  },
-  {
-    "offset": 16,
-    "gen": 3
-  },
-  {
-    "offset": 16,
-    "gen": 4
-  },
-  {
-    "offset": 16,
-    "gen": 5
-  },
-  {
-    "offset": 16,
-    "gen": 6
-  },
-  {
-    "offset": 16,
-    "gen": 7
-  },
-  {
-    "offset": 16,
-    "gen": 8
-  },
-  {
-    "offset": 16,
-    "gen": 9
-  },
-  {
-    "offset": 16,
-    "gen": 10
-  },
-  {
-    "offset": 16,
-    "gen": 11
-  },
-  {
-    "offset": 16,
-    "gen": 12
-  },
-  {
-    "offset": 16,
-    "gen": 13
-  }
-]
+{
+  "xRefEntries": [
+    {
+      "offset": 0,
+      "gen": 0,
+      "free": true
+    },
+    {
+      "offset": 29506,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 29621,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 29918,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 30033,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 30274,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 30389,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 30644,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 42802,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 43050,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 15,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 216,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 695,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 746,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 900,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 1017,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 1286,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 2443,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 13147,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 16,
+      "gen": 0
+    },
+    {
+      "offset": 16,
+      "gen": 1
+    },
+    {
+      "offset": 16,
+      "gen": 2
+    },
+    {
+      "offset": 16,
+      "gen": 3
+    },
+    {
+      "offset": 16,
+      "gen": 4
+    },
+    {
+      "offset": 16,
+      "gen": 5
+    },
+    {
+      "offset": 16,
+      "gen": 6
+    },
+    {
+      "offset": 16,
+      "gen": 7
+    },
+    {
+      "offset": 16,
+      "gen": 8
+    },
+    {
+      "offset": 16,
+      "gen": 9
+    },
+    {
+      "offset": 16,
+      "gen": 10
+    },
+    {
+      "offset": 16,
+      "gen": 11
+    },
+    {
+      "offset": 16,
+      "gen": 12
+    },
+    {
+      "offset": 16,
+      "gen": 13
+    }
+  ],
+  "startXRefTable": 43050
+}

+ 114 - 111
services/clsi/test/unit/js/snapshots/pdfjs/nomenclature/XrefTable.json

@@ -1,111 +1,114 @@
-[
-  {
-    "offset": 0,
-    "gen": 0,
-    "free": true
-  },
-  {
-    "offset": 34102,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 34350,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 15,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 216,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 678,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 728,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 856,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 971,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 1514,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 10973,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 19139,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 33047,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 12,
-    "gen": 0
-  },
-  {
-    "offset": 12,
-    "gen": 1
-  },
-  {
-    "offset": 12,
-    "gen": 2
-  },
-  {
-    "offset": 12,
-    "gen": 3
-  },
-  {
-    "offset": 12,
-    "gen": 4
-  },
-  {
-    "offset": 12,
-    "gen": 5
-  },
-  {
-    "offset": 12,
-    "gen": 6
-  },
-  {
-    "offset": 12,
-    "gen": 7
-  },
-  {
-    "offset": 12,
-    "gen": 8
-  },
-  {
-    "offset": 12,
-    "gen": 9
-  },
-  {
-    "offset": 12,
-    "gen": 10
-  }
-]
+{
+  "xRefEntries": [
+    {
+      "offset": 0,
+      "gen": 0,
+      "free": true
+    },
+    {
+      "offset": 34102,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 34350,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 15,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 216,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 678,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 728,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 856,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 971,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 1514,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 10973,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 19139,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 33047,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 12,
+      "gen": 0
+    },
+    {
+      "offset": 12,
+      "gen": 1
+    },
+    {
+      "offset": 12,
+      "gen": 2
+    },
+    {
+      "offset": 12,
+      "gen": 3
+    },
+    {
+      "offset": 12,
+      "gen": 4
+    },
+    {
+      "offset": 12,
+      "gen": 5
+    },
+    {
+      "offset": 12,
+      "gen": 6
+    },
+    {
+      "offset": 12,
+      "gen": 7
+    },
+    {
+      "offset": 12,
+      "gen": 8
+    },
+    {
+      "offset": 12,
+      "gen": 9
+    },
+    {
+      "offset": 12,
+      "gen": 10
+    }
+  ],
+  "startXRefTable": 34350
+}

+ 111 - 108
services/clsi/test/unit/js/snapshots/pdfjs/references_in_include/XrefTable.json

@@ -1,108 +1,111 @@
-[
-  {
-    "offset": 0,
-    "gen": 0,
-    "free": true
-  },
-  {
-    "offset": 9449,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 9564,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 9730,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 17293,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 17541,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 15,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 216,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 650,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 700,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 835,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 952,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 1097,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 1758,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 12,
-    "gen": 0
-  },
-  {
-    "offset": 12,
-    "gen": 1
-  },
-  {
-    "offset": 12,
-    "gen": 2
-  },
-  {
-    "offset": 12,
-    "gen": 3
-  },
-  {
-    "offset": 12,
-    "gen": 4
-  },
-  {
-    "offset": 12,
-    "gen": 5
-  },
-  {
-    "offset": 12,
-    "gen": 6
-  },
-  {
-    "offset": 12,
-    "gen": 7
-  },
-  {
-    "offset": 12,
-    "gen": 8
-  }
-]
+{
+  "xRefEntries": [
+    {
+      "offset": 0,
+      "gen": 0,
+      "free": true
+    },
+    {
+      "offset": 9449,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 9564,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 9730,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 17293,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 17541,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 15,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 216,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 650,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 700,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 835,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 952,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 1097,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 1758,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 12,
+      "gen": 0
+    },
+    {
+      "offset": 12,
+      "gen": 1
+    },
+    {
+      "offset": 12,
+      "gen": 2
+    },
+    {
+      "offset": 12,
+      "gen": 3
+    },
+    {
+      "offset": 12,
+      "gen": 4
+    },
+    {
+      "offset": 12,
+      "gen": 5
+    },
+    {
+      "offset": 12,
+      "gen": 6
+    },
+    {
+      "offset": 12,
+      "gen": 7
+    },
+    {
+      "offset": 12,
+      "gen": 8
+    }
+  ],
+  "startXRefTable": 17541
+}

+ 114 - 111
services/clsi/test/unit/js/snapshots/pdfjs/simple_bibliography/XrefTable.json

@@ -1,111 +1,114 @@
-[
-  {
-    "offset": 0,
-    "gen": 0,
-    "free": true
-  },
-  {
-    "offset": 37282,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 37530,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 15,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 216,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 678,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 728,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 856,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 971,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 1322,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 9581,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 24286,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 36258,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 12,
-    "gen": 0
-  },
-  {
-    "offset": 12,
-    "gen": 1
-  },
-  {
-    "offset": 12,
-    "gen": 2
-  },
-  {
-    "offset": 12,
-    "gen": 3
-  },
-  {
-    "offset": 12,
-    "gen": 4
-  },
-  {
-    "offset": 12,
-    "gen": 5
-  },
-  {
-    "offset": 12,
-    "gen": 6
-  },
-  {
-    "offset": 12,
-    "gen": 7
-  },
-  {
-    "offset": 12,
-    "gen": 8
-  },
-  {
-    "offset": 12,
-    "gen": 9
-  },
-  {
-    "offset": 12,
-    "gen": 10
-  }
-]
+{
+  "xRefEntries": [
+    {
+      "offset": 0,
+      "gen": 0,
+      "free": true
+    },
+    {
+      "offset": 37282,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 37530,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 15,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 216,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 678,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 728,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 856,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 971,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 1322,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 9581,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 24286,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 36258,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 12,
+      "gen": 0
+    },
+    {
+      "offset": 12,
+      "gen": 1
+    },
+    {
+      "offset": 12,
+      "gen": 2
+    },
+    {
+      "offset": 12,
+      "gen": 3
+    },
+    {
+      "offset": 12,
+      "gen": 4
+    },
+    {
+      "offset": 12,
+      "gen": 5
+    },
+    {
+      "offset": 12,
+      "gen": 6
+    },
+    {
+      "offset": 12,
+      "gen": 7
+    },
+    {
+      "offset": 12,
+      "gen": 8
+    },
+    {
+      "offset": 12,
+      "gen": 9
+    },
+    {
+      "offset": 12,
+      "gen": 10
+    }
+  ],
+  "startXRefTable": 37530
+}

+ 128 - 125
services/clsi/test/unit/js/snapshots/pdfjs/subdirectories/XrefTable.json

@@ -1,125 +1,128 @@
-[
-  {
-    "offset": 0,
-    "gen": 0,
-    "free": true
-  },
-  {
-    "offset": 48194,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 48442,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 15,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 216,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 699,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 749,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 878,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 1000,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 8546,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 9072,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 10659,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 18919,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 35129,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 47101,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 14,
-    "gen": 0
-  },
-  {
-    "offset": 14,
-    "gen": 1
-  },
-  {
-    "offset": 14,
-    "gen": 2
-  },
-  {
-    "offset": 14,
-    "gen": 3
-  },
-  {
-    "offset": 14,
-    "gen": 4
-  },
-  {
-    "offset": 14,
-    "gen": 5
-  },
-  {
-    "offset": 14,
-    "gen": 6
-  },
-  {
-    "offset": 14,
-    "gen": 7
-  },
-  {
-    "offset": 14,
-    "gen": 8
-  },
-  {
-    "offset": 14,
-    "gen": 9
-  },
-  {
-    "offset": 14,
-    "gen": 10
-  },
-  {
-    "offset": 14,
-    "gen": 11
-  }
-]
+{
+  "xRefEntries": [
+    {
+      "offset": 0,
+      "gen": 0,
+      "free": true
+    },
+    {
+      "offset": 48194,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 48442,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 15,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 216,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 699,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 749,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 878,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 1000,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 8546,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 9072,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 10659,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 18919,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 35129,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 47101,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 14,
+      "gen": 0
+    },
+    {
+      "offset": 14,
+      "gen": 1
+    },
+    {
+      "offset": 14,
+      "gen": 2
+    },
+    {
+      "offset": 14,
+      "gen": 3
+    },
+    {
+      "offset": 14,
+      "gen": 4
+    },
+    {
+      "offset": 14,
+      "gen": 5
+    },
+    {
+      "offset": 14,
+      "gen": 6
+    },
+    {
+      "offset": 14,
+      "gen": 7
+    },
+    {
+      "offset": 14,
+      "gen": 8
+    },
+    {
+      "offset": 14,
+      "gen": 9
+    },
+    {
+      "offset": 14,
+      "gen": 10
+    },
+    {
+      "offset": 14,
+      "gen": 11
+    }
+  ],
+  "startXRefTable": 48442
+}

+ 168 - 165
services/clsi/test/unit/js/snapshots/pdfjs/tikz_feynman/XrefTable.json

@@ -1,165 +1,168 @@
-[
-  {
-    "offset": 0,
-    "gen": 0,
-    "free": true
-  },
-  {
-    "offset": 2924,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 3039,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 4606,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 4721,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 7754,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 7870,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 11668,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 21077,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 28498,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 35464,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 35699,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 15,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 216,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 703,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 754,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 909,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 1026,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 2161,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 18,
-    "gen": 0
-  },
-  {
-    "offset": 18,
-    "gen": 1
-  },
-  {
-    "offset": 18,
-    "gen": 2
-  },
-  {
-    "offset": 18,
-    "gen": 3
-  },
-  {
-    "offset": 18,
-    "gen": 4
-  },
-  {
-    "offset": 18,
-    "gen": 5
-  },
-  {
-    "offset": 18,
-    "gen": 6
-  },
-  {
-    "offset": 18,
-    "gen": 7
-  },
-  {
-    "offset": 18,
-    "gen": 8
-  },
-  {
-    "offset": 18,
-    "gen": 9
-  },
-  {
-    "offset": 18,
-    "gen": 10
-  },
-  {
-    "offset": 18,
-    "gen": 11
-  },
-  {
-    "offset": 18,
-    "gen": 12
-  },
-  {
-    "offset": 18,
-    "gen": 13
-  },
-  {
-    "offset": 18,
-    "gen": 14
-  },
-  {
-    "offset": 18,
-    "gen": 15
-  },
-  {
-    "offset": 18,
-    "gen": 16
-  }
-]
+{
+  "xRefEntries": [
+    {
+      "offset": 0,
+      "gen": 0,
+      "free": true
+    },
+    {
+      "offset": 2924,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 3039,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 4606,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 4721,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 7754,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 7870,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 11668,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 21077,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 28498,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 35464,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 35699,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 15,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 216,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 703,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 754,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 909,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 1026,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 2161,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 18,
+      "gen": 0
+    },
+    {
+      "offset": 18,
+      "gen": 1
+    },
+    {
+      "offset": 18,
+      "gen": 2
+    },
+    {
+      "offset": 18,
+      "gen": 3
+    },
+    {
+      "offset": 18,
+      "gen": 4
+    },
+    {
+      "offset": 18,
+      "gen": 5
+    },
+    {
+      "offset": 18,
+      "gen": 6
+    },
+    {
+      "offset": 18,
+      "gen": 7
+    },
+    {
+      "offset": 18,
+      "gen": 8
+    },
+    {
+      "offset": 18,
+      "gen": 9
+    },
+    {
+      "offset": 18,
+      "gen": 10
+    },
+    {
+      "offset": 18,
+      "gen": 11
+    },
+    {
+      "offset": 18,
+      "gen": 12
+    },
+    {
+      "offset": 18,
+      "gen": 13
+    },
+    {
+      "offset": 18,
+      "gen": 14
+    },
+    {
+      "offset": 18,
+      "gen": 15
+    },
+    {
+      "offset": 18,
+      "gen": 16
+    }
+  ],
+  "startXRefTable": 35699
+}

+ 98 - 95
services/clsi/test/unit/js/snapshots/pdfjs/xelatex_compiler/XrefTable.json

@@ -1,95 +1,98 @@
-[
-  {
-    "offset": 0,
-    "gen": 0,
-    "free": true
-  },
-  {
-    "offset": 8578,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 15,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 216,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 658,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 708,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 837,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 940,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 1191,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 1627,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 7676,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 7784,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 7822,
-    "gen": 0,
-    "uncompressed": true
-  },
-  {
-    "offset": 12,
-    "gen": 0
-  },
-  {
-    "offset": 12,
-    "gen": 1
-  },
-  {
-    "offset": 12,
-    "gen": 2
-  },
-  {
-    "offset": 12,
-    "gen": 3
-  },
-  {
-    "offset": 12,
-    "gen": 4
-  },
-  {
-    "offset": 12,
-    "gen": 5
-  },
-  {
-    "offset": 12,
-    "gen": 6
-  }
-]
+{
+  "xRefEntries": [
+    {
+      "offset": 0,
+      "gen": 0,
+      "free": true
+    },
+    {
+      "offset": 8578,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 15,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 216,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 658,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 708,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 837,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 940,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 1191,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 1627,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 7676,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 7784,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 7822,
+      "gen": 0,
+      "uncompressed": true
+    },
+    {
+      "offset": 12,
+      "gen": 0
+    },
+    {
+      "offset": 12,
+      "gen": 1
+    },
+    {
+      "offset": 12,
+      "gen": 2
+    },
+    {
+      "offset": 12,
+      "gen": 3
+    },
+    {
+      "offset": 12,
+      "gen": 4
+    },
+    {
+      "offset": 12,
+      "gen": 5
+    },
+    {
+      "offset": 12,
+      "gen": 6
+    }
+  ],
+  "startXRefTable": 8578
+}

+ 1 - 0
services/web/app/src/Features/Compile/ClsiManager.js

@@ -579,6 +579,7 @@ const ClsiManager = {
         f.contentId = file.contentId
         f.ranges = file.ranges || []
         f.size = file.size
+        f.startXRefTable = file.startXRefTable
         f.createdAt = new Date()
       }
       outputFiles.push(f)

+ 4 - 0
services/web/test/unit/src/Compile/ClsiManagerTests.js

@@ -147,6 +147,7 @@ describe('ClsiManager', function () {
             // gets dropped by JSON.stringify
             contentId: undefined,
             size: undefined,
+            startXRefTable: undefined,
           },
           {
             url: `/project/${this.project_id}/user/${this.user_id}/build/1234/output/output.log`,
@@ -178,6 +179,7 @@ describe('ClsiManager', function () {
                   build: 1234,
                   contentId: '123-321',
                   ranges: [{ start: 1, end: 42, hash: 'foo' }],
+                  startXRefTable: 42,
                   size: 42,
                 },
                 {
@@ -209,6 +211,7 @@ describe('ClsiManager', function () {
             build: 1234,
             contentId: '123-321',
             ranges: [{ start: 1, end: 42, hash: 'foo' }],
+            startXRefTable: 42,
             size: 42,
             createdAt: new Date(),
           },
@@ -422,6 +425,7 @@ describe('ClsiManager', function () {
             // gets dropped by JSON.stringify
             contentId: undefined,
             size: undefined,
+            startXRefTable: undefined,
           },
           {
             url: `/project/${this.submission_id}/build/1234/output/output.log`,