Browse Source

Fix File Manager filename column collapse (#3119)

akshayy29 6 hours ago
parent
commit
3c77912044
100 changed files with 40 additions and 21 deletions
  1. 20 0
      frontend/src/__tests__/pages/FileManagerPage.test.tsx
  2. 20 5
      frontend/src/pages/FileManagerPage.tsx
  3. 0 0
      static/assets/ImagePreviewModal-Ievlaptj.js
  4. 0 1
      static/assets/PdfPreviewModal-nY4sL-Df.js
  5. 0 1
      static/assets/SpreadsheetPreviewModal-BV8Qtqkh.js
  6. 0 1
      static/assets/chunk-aKtaBQYM.js
  7. 0 1
      static/assets/index-BdEaCwge.js
  8. 0 1
      static/assets/index-OH4s0d3i.css
  9. BIN
      static/assets/occt-import-js-BhHfLpto.wasm
  10. 0 0
      static/assets/papaparse.min-CR43Mv99.js
  11. 0 0
      static/assets/pdf-D3w6gpdi.js
  12. 0 0
      static/assets/pdf.worker.min-0idpi3xP.js
  13. 0 1
      static/assets/pdf.worker.min-DpOxPwGP.js
  14. BIN
      static/assets/pdfjs/cmaps/78-EUC-H.bcmap
  15. BIN
      static/assets/pdfjs/cmaps/78-EUC-V.bcmap
  16. BIN
      static/assets/pdfjs/cmaps/78-H.bcmap
  17. BIN
      static/assets/pdfjs/cmaps/78-RKSJ-H.bcmap
  18. BIN
      static/assets/pdfjs/cmaps/78-RKSJ-V.bcmap
  19. BIN
      static/assets/pdfjs/cmaps/78-V.bcmap
  20. BIN
      static/assets/pdfjs/cmaps/78ms-RKSJ-H.bcmap
  21. BIN
      static/assets/pdfjs/cmaps/78ms-RKSJ-V.bcmap
  22. BIN
      static/assets/pdfjs/cmaps/83pv-RKSJ-H.bcmap
  23. BIN
      static/assets/pdfjs/cmaps/90ms-RKSJ-H.bcmap
  24. BIN
      static/assets/pdfjs/cmaps/90ms-RKSJ-V.bcmap
  25. BIN
      static/assets/pdfjs/cmaps/90msp-RKSJ-H.bcmap
  26. BIN
      static/assets/pdfjs/cmaps/90msp-RKSJ-V.bcmap
  27. BIN
      static/assets/pdfjs/cmaps/90pv-RKSJ-H.bcmap
  28. BIN
      static/assets/pdfjs/cmaps/90pv-RKSJ-V.bcmap
  29. BIN
      static/assets/pdfjs/cmaps/Add-H.bcmap
  30. BIN
      static/assets/pdfjs/cmaps/Add-RKSJ-H.bcmap
  31. BIN
      static/assets/pdfjs/cmaps/Add-RKSJ-V.bcmap
  32. BIN
      static/assets/pdfjs/cmaps/Add-V.bcmap
  33. BIN
      static/assets/pdfjs/cmaps/Adobe-CNS1-0.bcmap
  34. BIN
      static/assets/pdfjs/cmaps/Adobe-CNS1-1.bcmap
  35. BIN
      static/assets/pdfjs/cmaps/Adobe-CNS1-2.bcmap
  36. BIN
      static/assets/pdfjs/cmaps/Adobe-CNS1-3.bcmap
  37. BIN
      static/assets/pdfjs/cmaps/Adobe-CNS1-4.bcmap
  38. BIN
      static/assets/pdfjs/cmaps/Adobe-CNS1-5.bcmap
  39. BIN
      static/assets/pdfjs/cmaps/Adobe-CNS1-6.bcmap
  40. BIN
      static/assets/pdfjs/cmaps/Adobe-CNS1-UCS2.bcmap
  41. BIN
      static/assets/pdfjs/cmaps/Adobe-GB1-0.bcmap
  42. BIN
      static/assets/pdfjs/cmaps/Adobe-GB1-1.bcmap
  43. BIN
      static/assets/pdfjs/cmaps/Adobe-GB1-2.bcmap
  44. BIN
      static/assets/pdfjs/cmaps/Adobe-GB1-3.bcmap
  45. BIN
      static/assets/pdfjs/cmaps/Adobe-GB1-4.bcmap
  46. BIN
      static/assets/pdfjs/cmaps/Adobe-GB1-5.bcmap
  47. BIN
      static/assets/pdfjs/cmaps/Adobe-GB1-UCS2.bcmap
  48. BIN
      static/assets/pdfjs/cmaps/Adobe-Japan1-0.bcmap
  49. BIN
      static/assets/pdfjs/cmaps/Adobe-Japan1-1.bcmap
  50. BIN
      static/assets/pdfjs/cmaps/Adobe-Japan1-2.bcmap
  51. BIN
      static/assets/pdfjs/cmaps/Adobe-Japan1-3.bcmap
  52. BIN
      static/assets/pdfjs/cmaps/Adobe-Japan1-4.bcmap
  53. BIN
      static/assets/pdfjs/cmaps/Adobe-Japan1-5.bcmap
  54. BIN
      static/assets/pdfjs/cmaps/Adobe-Japan1-6.bcmap
  55. BIN
      static/assets/pdfjs/cmaps/Adobe-Japan1-UCS2.bcmap
  56. BIN
      static/assets/pdfjs/cmaps/Adobe-Korea1-0.bcmap
  57. BIN
      static/assets/pdfjs/cmaps/Adobe-Korea1-1.bcmap
  58. BIN
      static/assets/pdfjs/cmaps/Adobe-Korea1-2.bcmap
  59. BIN
      static/assets/pdfjs/cmaps/Adobe-Korea1-UCS2.bcmap
  60. BIN
      static/assets/pdfjs/cmaps/B5-H.bcmap
  61. BIN
      static/assets/pdfjs/cmaps/B5-V.bcmap
  62. BIN
      static/assets/pdfjs/cmaps/B5pc-H.bcmap
  63. BIN
      static/assets/pdfjs/cmaps/B5pc-V.bcmap
  64. BIN
      static/assets/pdfjs/cmaps/CNS-EUC-H.bcmap
  65. BIN
      static/assets/pdfjs/cmaps/CNS-EUC-V.bcmap
  66. BIN
      static/assets/pdfjs/cmaps/CNS1-H.bcmap
  67. BIN
      static/assets/pdfjs/cmaps/CNS1-V.bcmap
  68. BIN
      static/assets/pdfjs/cmaps/CNS2-H.bcmap
  69. 0 3
      static/assets/pdfjs/cmaps/CNS2-V.bcmap
  70. BIN
      static/assets/pdfjs/cmaps/ETHK-B5-H.bcmap
  71. BIN
      static/assets/pdfjs/cmaps/ETHK-B5-V.bcmap
  72. BIN
      static/assets/pdfjs/cmaps/ETen-B5-H.bcmap
  73. BIN
      static/assets/pdfjs/cmaps/ETen-B5-V.bcmap
  74. 0 3
      static/assets/pdfjs/cmaps/ETenms-B5-H.bcmap
  75. BIN
      static/assets/pdfjs/cmaps/ETenms-B5-V.bcmap
  76. BIN
      static/assets/pdfjs/cmaps/EUC-H.bcmap
  77. BIN
      static/assets/pdfjs/cmaps/EUC-V.bcmap
  78. BIN
      static/assets/pdfjs/cmaps/Ext-H.bcmap
  79. BIN
      static/assets/pdfjs/cmaps/Ext-RKSJ-H.bcmap
  80. BIN
      static/assets/pdfjs/cmaps/Ext-RKSJ-V.bcmap
  81. BIN
      static/assets/pdfjs/cmaps/Ext-V.bcmap
  82. BIN
      static/assets/pdfjs/cmaps/GB-EUC-H.bcmap
  83. BIN
      static/assets/pdfjs/cmaps/GB-EUC-V.bcmap
  84. 0 4
      static/assets/pdfjs/cmaps/GB-H.bcmap
  85. BIN
      static/assets/pdfjs/cmaps/GB-V.bcmap
  86. BIN
      static/assets/pdfjs/cmaps/GBK-EUC-H.bcmap
  87. BIN
      static/assets/pdfjs/cmaps/GBK-EUC-V.bcmap
  88. BIN
      static/assets/pdfjs/cmaps/GBK2K-H.bcmap
  89. BIN
      static/assets/pdfjs/cmaps/GBK2K-V.bcmap
  90. BIN
      static/assets/pdfjs/cmaps/GBKp-EUC-H.bcmap
  91. BIN
      static/assets/pdfjs/cmaps/GBKp-EUC-V.bcmap
  92. BIN
      static/assets/pdfjs/cmaps/GBT-EUC-H.bcmap
  93. BIN
      static/assets/pdfjs/cmaps/GBT-EUC-V.bcmap
  94. BIN
      static/assets/pdfjs/cmaps/GBT-H.bcmap
  95. BIN
      static/assets/pdfjs/cmaps/GBT-V.bcmap
  96. BIN
      static/assets/pdfjs/cmaps/GBTpc-EUC-H.bcmap
  97. BIN
      static/assets/pdfjs/cmaps/GBTpc-EUC-V.bcmap
  98. BIN
      static/assets/pdfjs/cmaps/GBpc-EUC-H.bcmap
  99. BIN
      static/assets/pdfjs/cmaps/GBpc-EUC-V.bcmap
  100. BIN
      static/assets/pdfjs/cmaps/H.bcmap

+ 20 - 0
frontend/src/__tests__/pages/FileManagerPage.test.tsx

@@ -1674,6 +1674,15 @@ describe('FileManagerPage', () => {
 
       // User filter dropdown should not be present
       expect(screen.queryByPlaceholderText('Filter by user')).not.toBeInTheDocument();
+
+      // #3105: the logged-out column set needs the same floors as the
+      // authenticated one, minus the Uploaded By track.
+      const header = screen.getByTestId('file-list-grid-header');
+      const rows = screen.getAllByTestId('file-list-grid-row');
+      for (const el of [header, ...rows]) {
+        expect(el).toHaveClass('min-w-min');
+        expect(el.className).toContain('grid-cols-[24px_minmax(240px,1fr)_100px_100px_100px_minmax(96px,200px)_220px]');
+      }
     });
 
     it('shows "Uploaded By" column and user filter when auth is enabled', async () => {
@@ -1733,6 +1742,17 @@ describe('FileManagerPage', () => {
 
       // Username should be displayed in the column
       expect(screen.getByText('testuser')).toBeInTheDocument();
+
+      // #3105: the authenticated grid has enough fixed-width columns to
+      // squeeze a bare 1fr filename track to zero. Header and rows must share
+      // the same minimum width and non-collapsible filename and tags tracks
+      // so the existing overflow wrapper scrolls instead.
+      const header = screen.getByTestId('file-list-grid-header');
+      const rows = screen.getAllByTestId('file-list-grid-row');
+      for (const el of [header, ...rows]) {
+        expect(el).toHaveClass('min-w-min');
+        expect(el.className).toContain('grid-cols-[24px_minmax(240px,1fr)_120px_100px_100px_100px_minmax(96px,200px)_220px]');
+      }
     });
   });
 

+ 20 - 5
frontend/src/pages/FileManagerPage.tsx

@@ -277,6 +277,17 @@ function filterAndSortFiles(
   return result;
 }
 
+// Keep the filename useful when fixed columns consume the available width,
+// and give the header spacer and row checkbox one shared track so every later
+// column stays aligned. min-w-min lets each auth variant size itself to its
+// intrinsic grid width inside the overflow-x-auto wrapper (#3105). Tags get a
+// floor too: with a 0 minimum they took the squeeze the filename used to take,
+// hitting 0px right where the wrapper starts scrolling.
+const fileListGridColumns = (authEnabled: boolean) => authEnabled
+  ? 'grid-cols-[24px_minmax(240px,1fr)_120px_100px_100px_100px_minmax(96px,200px)_220px]'
+  : 'grid-cols-[24px_minmax(240px,1fr)_100px_100px_100px_minmax(96px,200px)_220px]';
+const fileListGridMinWidth = 'min-w-min';
+
 // New Folder Modal
 interface NewFolderModalProps {
   parentId: number | null;
@@ -3628,7 +3639,10 @@ export function FileManagerPage() {
                     grids that compute `min-content` independently — the header's empty
                     trailing div resolved to 0px, leaving body columns shifted left of
                     their headers. Fixed width keeps header and body in lockstep. */}
-                <div className={`hidden sm:grid ${authEnabled ? 'grid-cols-[auto_1fr_120px_100px_100px_100px_minmax(0,200px)_220px]' : 'grid-cols-[auto_1fr_100px_100px_100px_minmax(0,200px)_220px]'} gap-4 px-4 py-2 bg-bambu-dark-secondary border-b border-bambu-dark-tertiary text-xs text-bambu-gray font-medium`}>
+                <div
+                  data-testid="file-list-grid-header"
+                  className={`hidden sm:grid ${fileListGridColumns(authEnabled)} ${fileListGridMinWidth} gap-4 px-4 py-2 bg-bambu-dark-secondary border-b border-bambu-dark-tertiary text-xs text-bambu-gray font-medium`}
+                >
                   <div className="w-6" />
                   <div>{t('common.name')}</div>
                   {authEnabled && <div>{t('fileManager.uploadedBy', { defaultValue: 'Uploaded By' })}</div>}
@@ -3642,7 +3656,8 @@ export function FileManagerPage() {
                 {filteredAndSortedFiles.map((file) => (
                   <div
                     key={file.id}
-                    className={`grid ${authEnabled ? 'grid-cols-[auto_1fr_120px_100px_100px_100px_minmax(0,200px)_220px]' : 'grid-cols-[auto_1fr_100px_100px_100px_minmax(0,200px)_220px]'} gap-4 px-4 py-3 items-center border-b border-bambu-dark-tertiary last:border-b-0 cursor-pointer hover:bg-bambu-dark/50 transition-colors ${
+                    data-testid="file-list-grid-row"
+                    className={`grid ${fileListGridColumns(authEnabled)} ${fileListGridMinWidth} gap-4 px-4 py-3 items-center border-b border-bambu-dark-tertiary last:border-b-0 cursor-pointer hover:bg-bambu-dark/50 transition-colors ${
                       selectedFiles.includes(file.id) ? 'bg-bambu-green/10' : ''
                     }`}
                     onClick={() => handleFileSelect(file.id)}
@@ -3749,9 +3764,9 @@ export function FileManagerPage() {
                     {/* Prints */}
                     <div className="text-sm text-bambu-gray">{file.print_count > 0 ? `${file.print_count}x` : '-'}</div>
                     {/* Tags (#1268) — clickable chips push into the active
-                        filter; minmax(0,200px) on the column lets the cell
-                        shrink/wrap on narrow viewports without pushing the
-                        Actions cell off-screen. */}
+                        filter; minmax(96px,200px) on the column lets the cell
+                        shrink/wrap on narrow viewports, and the 96px floor
+                        keeps chips readable once the wrapper scrolls (#3105). */}
                     <div className="min-w-0" {...stopRowActivation}>
                       {!file.tags || file.tags.length === 0 ? (
                         <span className="text-xs text-bambu-gray/50">-</span>

File diff suppressed because it is too large
+ 0 - 0
static/assets/ImagePreviewModal-Ievlaptj.js


File diff suppressed because it is too large
+ 0 - 1
static/assets/PdfPreviewModal-nY4sL-Df.js


File diff suppressed because it is too large
+ 0 - 1
static/assets/SpreadsheetPreviewModal-BV8Qtqkh.js


+ 0 - 1
static/assets/chunk-aKtaBQYM.js

@@ -1 +0,0 @@
-var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},c=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},l=(n,r,a)=>(a=n==null?{}:e(i(n)),c(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n)),u=(e=>typeof require<`u`?require:typeof Proxy<`u`?new Proxy(e,{get:(e,t)=>(typeof require<`u`?require:e)[t]}):e)(function(e){if(typeof require<`u`)return require.apply(this,arguments);throw Error('Calling `require` for "'+e+"\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.")});export{l as i,s as n,u as r,o as t};

File diff suppressed because it is too large
+ 0 - 1
static/assets/index-BdEaCwge.js


File diff suppressed because it is too large
+ 0 - 1
static/assets/index-OH4s0d3i.css


BIN
static/assets/occt-import-js-BhHfLpto.wasm


File diff suppressed because it is too large
+ 0 - 0
static/assets/papaparse.min-CR43Mv99.js


File diff suppressed because it is too large
+ 0 - 0
static/assets/pdf-D3w6gpdi.js


File diff suppressed because it is too large
+ 0 - 0
static/assets/pdf.worker.min-0idpi3xP.js


+ 0 - 1
static/assets/pdf.worker.min-DpOxPwGP.js

@@ -1 +0,0 @@
-var e=`/assets/pdf.worker.min-0idpi3xP.js`;export{e as default};

BIN
static/assets/pdfjs/cmaps/78-EUC-H.bcmap


BIN
static/assets/pdfjs/cmaps/78-EUC-V.bcmap


BIN
static/assets/pdfjs/cmaps/78-H.bcmap


BIN
static/assets/pdfjs/cmaps/78-RKSJ-H.bcmap


BIN
static/assets/pdfjs/cmaps/78-RKSJ-V.bcmap


BIN
static/assets/pdfjs/cmaps/78-V.bcmap


BIN
static/assets/pdfjs/cmaps/78ms-RKSJ-H.bcmap


BIN
static/assets/pdfjs/cmaps/78ms-RKSJ-V.bcmap


BIN
static/assets/pdfjs/cmaps/83pv-RKSJ-H.bcmap


BIN
static/assets/pdfjs/cmaps/90ms-RKSJ-H.bcmap


BIN
static/assets/pdfjs/cmaps/90ms-RKSJ-V.bcmap


BIN
static/assets/pdfjs/cmaps/90msp-RKSJ-H.bcmap


BIN
static/assets/pdfjs/cmaps/90msp-RKSJ-V.bcmap


BIN
static/assets/pdfjs/cmaps/90pv-RKSJ-H.bcmap


BIN
static/assets/pdfjs/cmaps/90pv-RKSJ-V.bcmap


BIN
static/assets/pdfjs/cmaps/Add-H.bcmap


BIN
static/assets/pdfjs/cmaps/Add-RKSJ-H.bcmap


BIN
static/assets/pdfjs/cmaps/Add-RKSJ-V.bcmap


BIN
static/assets/pdfjs/cmaps/Add-V.bcmap


BIN
static/assets/pdfjs/cmaps/Adobe-CNS1-0.bcmap


BIN
static/assets/pdfjs/cmaps/Adobe-CNS1-1.bcmap


BIN
static/assets/pdfjs/cmaps/Adobe-CNS1-2.bcmap


BIN
static/assets/pdfjs/cmaps/Adobe-CNS1-3.bcmap


BIN
static/assets/pdfjs/cmaps/Adobe-CNS1-4.bcmap


BIN
static/assets/pdfjs/cmaps/Adobe-CNS1-5.bcmap


BIN
static/assets/pdfjs/cmaps/Adobe-CNS1-6.bcmap


BIN
static/assets/pdfjs/cmaps/Adobe-CNS1-UCS2.bcmap


BIN
static/assets/pdfjs/cmaps/Adobe-GB1-0.bcmap


BIN
static/assets/pdfjs/cmaps/Adobe-GB1-1.bcmap


BIN
static/assets/pdfjs/cmaps/Adobe-GB1-2.bcmap


BIN
static/assets/pdfjs/cmaps/Adobe-GB1-3.bcmap


BIN
static/assets/pdfjs/cmaps/Adobe-GB1-4.bcmap


BIN
static/assets/pdfjs/cmaps/Adobe-GB1-5.bcmap


BIN
static/assets/pdfjs/cmaps/Adobe-GB1-UCS2.bcmap


BIN
static/assets/pdfjs/cmaps/Adobe-Japan1-0.bcmap


BIN
static/assets/pdfjs/cmaps/Adobe-Japan1-1.bcmap


BIN
static/assets/pdfjs/cmaps/Adobe-Japan1-2.bcmap


BIN
static/assets/pdfjs/cmaps/Adobe-Japan1-3.bcmap


BIN
static/assets/pdfjs/cmaps/Adobe-Japan1-4.bcmap


BIN
static/assets/pdfjs/cmaps/Adobe-Japan1-5.bcmap


BIN
static/assets/pdfjs/cmaps/Adobe-Japan1-6.bcmap


BIN
static/assets/pdfjs/cmaps/Adobe-Japan1-UCS2.bcmap


BIN
static/assets/pdfjs/cmaps/Adobe-Korea1-0.bcmap


BIN
static/assets/pdfjs/cmaps/Adobe-Korea1-1.bcmap


BIN
static/assets/pdfjs/cmaps/Adobe-Korea1-2.bcmap


BIN
static/assets/pdfjs/cmaps/Adobe-Korea1-UCS2.bcmap


BIN
static/assets/pdfjs/cmaps/B5-H.bcmap


BIN
static/assets/pdfjs/cmaps/B5-V.bcmap


BIN
static/assets/pdfjs/cmaps/B5pc-H.bcmap


BIN
static/assets/pdfjs/cmaps/B5pc-V.bcmap


BIN
static/assets/pdfjs/cmaps/CNS-EUC-H.bcmap


BIN
static/assets/pdfjs/cmaps/CNS-EUC-V.bcmap


BIN
static/assets/pdfjs/cmaps/CNS1-H.bcmap


BIN
static/assets/pdfjs/cmaps/CNS1-V.bcmap


BIN
static/assets/pdfjs/cmaps/CNS2-H.bcmap


+ 0 - 3
static/assets/pdfjs/cmaps/CNS2-V.bcmap

@@ -1,3 +0,0 @@
-àRCopyright 1990-2009 Adobe Systems Incorporated.
-All rights reserved.
-See ./LICENSEáCNS2-H

BIN
static/assets/pdfjs/cmaps/ETHK-B5-H.bcmap


BIN
static/assets/pdfjs/cmaps/ETHK-B5-V.bcmap


BIN
static/assets/pdfjs/cmaps/ETen-B5-H.bcmap


BIN
static/assets/pdfjs/cmaps/ETen-B5-V.bcmap


+ 0 - 3
static/assets/pdfjs/cmaps/ETenms-B5-H.bcmap

@@ -1,3 +0,0 @@
-àRCopyright 1990-2009 Adobe Systems Incorporated.
-All rights reserved.
-See ./LICENSEá	ETen-B5-H` ^

BIN
static/assets/pdfjs/cmaps/ETenms-B5-V.bcmap


BIN
static/assets/pdfjs/cmaps/EUC-H.bcmap


BIN
static/assets/pdfjs/cmaps/EUC-V.bcmap


BIN
static/assets/pdfjs/cmaps/Ext-H.bcmap


BIN
static/assets/pdfjs/cmaps/Ext-RKSJ-H.bcmap


BIN
static/assets/pdfjs/cmaps/Ext-RKSJ-V.bcmap


BIN
static/assets/pdfjs/cmaps/Ext-V.bcmap


BIN
static/assets/pdfjs/cmaps/GB-EUC-H.bcmap


BIN
static/assets/pdfjs/cmaps/GB-EUC-V.bcmap


+ 0 - 4
static/assets/pdfjs/cmaps/GB-H.bcmap

@@ -1,4 +0,0 @@
-àRCopyright 1990-2009 Adobe Systems Incorporated.
-All rights reserved.
-See ./LICENSE!!�º]aX!!]`�21�>	�p�z�$]‚�"R‚d�-Uƒ7�*„
4„%�+ „Z „{�/…%…<�9K…b�1]†.�"‡‰`]‡,�"]ˆ
-�"]ˆh�"]‰F�"]Š$�"]‹�"]‹`�"]Œ>�"]��"]�z�"]ŽX�"]�6�"]��"]�r�"]‘P�"]’.�"]“�"]“j�"]”H�"]•&�"]–�"]–b�"]—@�"]˜�"]˜|�"]™Z�"]š8�"]›�"]›t�"]œR�"]�0�"]ž�"]žl�"]ŸJ�"] (�"]¡�"]¡d�"]¢B�"]£ �"X£~�']¤W�"]¥5�"]¦�"]¦q�"]§O�"]¨-�"]©�"]©i�"]ªG�"]«%�"]¬�"]¬a�"]­?�"]®�"]®{�"]¯Y�"]°7�"]±�"]±s�"]²Q�"]³/�"]´
�"]´k�"]µI�"]¶'�"]·�"]·c�"]¸A�"]¹�"]¹}�"]º[�"]»9

BIN
static/assets/pdfjs/cmaps/GB-V.bcmap


BIN
static/assets/pdfjs/cmaps/GBK-EUC-H.bcmap


BIN
static/assets/pdfjs/cmaps/GBK-EUC-V.bcmap


BIN
static/assets/pdfjs/cmaps/GBK2K-H.bcmap


BIN
static/assets/pdfjs/cmaps/GBK2K-V.bcmap


BIN
static/assets/pdfjs/cmaps/GBKp-EUC-H.bcmap


BIN
static/assets/pdfjs/cmaps/GBKp-EUC-V.bcmap


BIN
static/assets/pdfjs/cmaps/GBT-EUC-H.bcmap


BIN
static/assets/pdfjs/cmaps/GBT-EUC-V.bcmap


BIN
static/assets/pdfjs/cmaps/GBT-H.bcmap


BIN
static/assets/pdfjs/cmaps/GBT-V.bcmap


BIN
static/assets/pdfjs/cmaps/GBTpc-EUC-H.bcmap


BIN
static/assets/pdfjs/cmaps/GBTpc-EUC-V.bcmap


BIN
static/assets/pdfjs/cmaps/GBpc-EUC-H.bcmap


BIN
static/assets/pdfjs/cmaps/GBpc-EUC-V.bcmap


BIN
static/assets/pdfjs/cmaps/H.bcmap


Some files were not shown because too many files changed in this diff