codex 1.8.13__tar.gz → 1.8.16__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of codex might be problematic. Click here for more details.

Files changed (1749) hide show
  1. codex-1.8.16/NEWS.md +1707 -0
  2. codex-1.8.16/PKG-INFO +592 -0
  3. codex-1.8.16/README.md +533 -0
  4. codex-1.8.16/bin/icons_transform.py +114 -0
  5. codex-1.8.16/codex/__init__.py +17 -0
  6. codex-1.8.16/codex/librarian/scribe/importer/link/delete.py +106 -0
  7. codex-1.8.16/codex/librarian/scribe/importer/read/foreign_keys.py +159 -0
  8. codex-1.8.16/codex/librarian/scribe/importer/tasks.py +49 -0
  9. codex-1.8.16/codex/librarian/telemeter/scheduled_time.py +69 -0
  10. codex-1.8.16/codex/serializers/browser/choices.py +154 -0
  11. codex-1.8.16/codex/signals/os_signals.py +56 -0
  12. codex-1.8.16/codex/startup/__init__.py +180 -0
  13. codex-1.8.16/codex/startup/logger_init.py +45 -0
  14. codex-1.8.16/codex/static_root/assets/VCheckbox-BY6G_rgf.269e45107a7a.js +1 -0
  15. codex-1.8.16/codex/static_root/assets/VCheckbox-BY6G_rgf.269e45107a7a.js.br +0 -0
  16. codex-1.8.16/codex/static_root/assets/VCheckbox-BY6G_rgf.269e45107a7a.js.gz +0 -0
  17. codex-1.8.16/codex/static_root/assets/VCheckbox-BY6G_rgf.js +1 -0
  18. codex-1.8.16/codex/static_root/assets/VCheckbox-BY6G_rgf.js.br +0 -0
  19. codex-1.8.16/codex/static_root/assets/VCheckbox-BY6G_rgf.js.gz +0 -0
  20. codex-1.8.16/codex/static_root/assets/VCheckboxBtn-zhUZJChm.9761785b500b.js +1 -0
  21. codex-1.8.16/codex/static_root/assets/VCheckboxBtn-zhUZJChm.9761785b500b.js.br +0 -0
  22. codex-1.8.16/codex/static_root/assets/VCheckboxBtn-zhUZJChm.9761785b500b.js.gz +0 -0
  23. codex-1.8.16/codex/static_root/assets/VCheckboxBtn-zhUZJChm.js +1 -0
  24. codex-1.8.16/codex/static_root/assets/VCheckboxBtn-zhUZJChm.js.br +0 -0
  25. codex-1.8.16/codex/static_root/assets/VCheckboxBtn-zhUZJChm.js.gz +0 -0
  26. codex-1.8.16/codex/static_root/assets/VCombobox-D3yUbBJX.341d3f641979.css +1 -0
  27. codex-1.8.16/codex/static_root/assets/VCombobox-D3yUbBJX.341d3f641979.css.br +0 -0
  28. codex-1.8.16/codex/static_root/assets/VCombobox-D3yUbBJX.341d3f641979.css.gz +0 -0
  29. codex-1.8.16/codex/static_root/assets/VCombobox-D3yUbBJX.css +1 -0
  30. codex-1.8.16/codex/static_root/assets/VCombobox-D3yUbBJX.css.br +0 -0
  31. codex-1.8.16/codex/static_root/assets/VCombobox-D3yUbBJX.css.gz +0 -0
  32. codex-1.8.16/codex/static_root/assets/VCombobox-O2BHnDUr.88a9aab6b95b.js +1 -0
  33. codex-1.8.16/codex/static_root/assets/VCombobox-O2BHnDUr.88a9aab6b95b.js.br +0 -0
  34. codex-1.8.16/codex/static_root/assets/VCombobox-O2BHnDUr.88a9aab6b95b.js.gz +0 -0
  35. codex-1.8.16/codex/static_root/assets/VCombobox-O2BHnDUr.js +1 -0
  36. codex-1.8.16/codex/static_root/assets/VCombobox-O2BHnDUr.js.br +0 -0
  37. codex-1.8.16/codex/static_root/assets/VCombobox-O2BHnDUr.js.gz +0 -0
  38. codex-1.8.16/codex/static_root/assets/VDialog-BN4XvYQH.b7408d9d3262.css +1 -0
  39. codex-1.8.16/codex/static_root/assets/VDialog-BN4XvYQH.b7408d9d3262.css.br +0 -0
  40. codex-1.8.16/codex/static_root/assets/VDialog-BN4XvYQH.b7408d9d3262.css.gz +0 -0
  41. codex-1.8.16/codex/static_root/assets/VDialog-BN4XvYQH.css +1 -0
  42. codex-1.8.16/codex/static_root/assets/VDialog-BN4XvYQH.css.br +0 -0
  43. codex-1.8.16/codex/static_root/assets/VDialog-BN4XvYQH.css.gz +0 -0
  44. codex-1.8.16/codex/static_root/assets/VDialog-mZQ1Va-c.d771d0ac6517.js +1 -0
  45. codex-1.8.16/codex/static_root/assets/VDialog-mZQ1Va-c.d771d0ac6517.js.br +0 -0
  46. codex-1.8.16/codex/static_root/assets/VDialog-mZQ1Va-c.d771d0ac6517.js.gz +0 -0
  47. codex-1.8.16/codex/static_root/assets/VDialog-mZQ1Va-c.js +1 -0
  48. codex-1.8.16/codex/static_root/assets/VDialog-mZQ1Va-c.js.br +0 -0
  49. codex-1.8.16/codex/static_root/assets/VDialog-mZQ1Va-c.js.gz +0 -0
  50. codex-1.8.16/codex/static_root/assets/VDivider-CCqJA_fj.b56fac1426ae.css +1 -0
  51. codex-1.8.16/codex/static_root/assets/VDivider-CCqJA_fj.b56fac1426ae.css.br +0 -0
  52. codex-1.8.16/codex/static_root/assets/VDivider-CCqJA_fj.b56fac1426ae.css.gz +0 -0
  53. codex-1.8.16/codex/static_root/assets/VDivider-CCqJA_fj.css +1 -0
  54. codex-1.8.16/codex/static_root/assets/VDivider-CCqJA_fj.css.br +0 -0
  55. codex-1.8.16/codex/static_root/assets/VDivider-CCqJA_fj.css.gz +0 -0
  56. codex-1.8.16/codex/static_root/assets/VDivider-CHTeIL4W.13805a003963.js +1 -0
  57. codex-1.8.16/codex/static_root/assets/VDivider-CHTeIL4W.13805a003963.js.br +0 -0
  58. codex-1.8.16/codex/static_root/assets/VDivider-CHTeIL4W.13805a003963.js.gz +0 -0
  59. codex-1.8.16/codex/static_root/assets/VDivider-CHTeIL4W.js +1 -0
  60. codex-1.8.16/codex/static_root/assets/VDivider-CHTeIL4W.js.br +0 -0
  61. codex-1.8.16/codex/static_root/assets/VDivider-CHTeIL4W.js.gz +0 -0
  62. codex-1.8.16/codex/static_root/assets/VExpansionPanels-B8KjM0Qi.css +1 -0
  63. codex-1.8.16/codex/static_root/assets/VExpansionPanels-B8KjM0Qi.css.br +0 -0
  64. codex-1.8.16/codex/static_root/assets/VExpansionPanels-B8KjM0Qi.css.gz +0 -0
  65. codex-1.8.16/codex/static_root/assets/VExpansionPanels-B8KjM0Qi.e4aca21014f2.css +1 -0
  66. codex-1.8.16/codex/static_root/assets/VExpansionPanels-B8KjM0Qi.e4aca21014f2.css.br +0 -0
  67. codex-1.8.16/codex/static_root/assets/VExpansionPanels-B8KjM0Qi.e4aca21014f2.css.gz +0 -0
  68. codex-1.8.16/codex/static_root/assets/VExpansionPanels-B8bQXRWn.de33285def27.js +1 -0
  69. codex-1.8.16/codex/static_root/assets/VExpansionPanels-B8bQXRWn.de33285def27.js.br +0 -0
  70. codex-1.8.16/codex/static_root/assets/VExpansionPanels-B8bQXRWn.de33285def27.js.gz +0 -0
  71. codex-1.8.16/codex/static_root/assets/VExpansionPanels-B8bQXRWn.js +1 -0
  72. codex-1.8.16/codex/static_root/assets/VExpansionPanels-B8bQXRWn.js.br +0 -0
  73. codex-1.8.16/codex/static_root/assets/VExpansionPanels-B8bQXRWn.js.gz +0 -0
  74. codex-1.8.16/codex/static_root/assets/VForm-Dt0Uesri.5f3eb2e10d58.js +1 -0
  75. codex-1.8.16/codex/static_root/assets/VForm-Dt0Uesri.5f3eb2e10d58.js.br +0 -0
  76. codex-1.8.16/codex/static_root/assets/VForm-Dt0Uesri.5f3eb2e10d58.js.gz +0 -0
  77. codex-1.8.16/codex/static_root/assets/VForm-Dt0Uesri.js +1 -0
  78. codex-1.8.16/codex/static_root/assets/VForm-Dt0Uesri.js.br +0 -0
  79. codex-1.8.16/codex/static_root/assets/VForm-Dt0Uesri.js.gz +0 -0
  80. codex-1.8.16/codex/static_root/assets/VRadioGroup-CU9nYUHk.a25611eb0aff.js +1 -0
  81. codex-1.8.16/codex/static_root/assets/VRadioGroup-CU9nYUHk.a25611eb0aff.js.br +0 -0
  82. codex-1.8.16/codex/static_root/assets/VRadioGroup-CU9nYUHk.a25611eb0aff.js.gz +0 -0
  83. codex-1.8.16/codex/static_root/assets/VRadioGroup-CU9nYUHk.js +1 -0
  84. codex-1.8.16/codex/static_root/assets/VRadioGroup-CU9nYUHk.js.br +0 -0
  85. codex-1.8.16/codex/static_root/assets/VRadioGroup-CU9nYUHk.js.gz +0 -0
  86. codex-1.8.16/codex/static_root/assets/VSelect-BvTTr4RP.be69766e6916.css +1 -0
  87. codex-1.8.16/codex/static_root/assets/VSelect-BvTTr4RP.be69766e6916.css.br +0 -0
  88. codex-1.8.16/codex/static_root/assets/VSelect-BvTTr4RP.be69766e6916.css.gz +0 -0
  89. codex-1.8.16/codex/static_root/assets/VSelect-BvTTr4RP.css +1 -0
  90. codex-1.8.16/codex/static_root/assets/VSelect-BvTTr4RP.css.br +0 -0
  91. codex-1.8.16/codex/static_root/assets/VSelect-BvTTr4RP.css.gz +0 -0
  92. codex-1.8.16/codex/static_root/assets/VSelect-DpnHasju.6b0e31d58987.js +1 -0
  93. codex-1.8.16/codex/static_root/assets/VSelect-DpnHasju.6b0e31d58987.js.br +0 -0
  94. codex-1.8.16/codex/static_root/assets/VSelect-DpnHasju.6b0e31d58987.js.gz +0 -0
  95. codex-1.8.16/codex/static_root/assets/VSelect-DpnHasju.js +1 -0
  96. codex-1.8.16/codex/static_root/assets/VSelect-DpnHasju.js.br +0 -0
  97. codex-1.8.16/codex/static_root/assets/VSelect-DpnHasju.js.gz +0 -0
  98. codex-1.8.16/codex/static_root/assets/VSelectionControl-DFaQ_klW.4c77eed94aca.js +1 -0
  99. codex-1.8.16/codex/static_root/assets/VSelectionControl-DFaQ_klW.4c77eed94aca.js.br +0 -0
  100. codex-1.8.16/codex/static_root/assets/VSelectionControl-DFaQ_klW.4c77eed94aca.js.gz +0 -0
  101. codex-1.8.16/codex/static_root/assets/VSelectionControl-DFaQ_klW.js +1 -0
  102. codex-1.8.16/codex/static_root/assets/VSelectionControl-DFaQ_klW.js.br +0 -0
  103. codex-1.8.16/codex/static_root/assets/VSelectionControl-DFaQ_klW.js.gz +0 -0
  104. codex-1.8.16/codex/static_root/assets/VSelectionControl-R4GtShoa.css +1 -0
  105. codex-1.8.16/codex/static_root/assets/VSelectionControl-R4GtShoa.css.br +0 -0
  106. codex-1.8.16/codex/static_root/assets/VSelectionControl-R4GtShoa.css.gz +0 -0
  107. codex-1.8.16/codex/static_root/assets/VSelectionControl-R4GtShoa.f3ebc2149a3a.css +1 -0
  108. codex-1.8.16/codex/static_root/assets/VSelectionControl-R4GtShoa.f3ebc2149a3a.css.br +0 -0
  109. codex-1.8.16/codex/static_root/assets/VSelectionControl-R4GtShoa.f3ebc2149a3a.css.gz +0 -0
  110. codex-1.8.16/codex/static_root/assets/VTable-MenML-QS.8d54c08274e1.js +1 -0
  111. codex-1.8.16/codex/static_root/assets/VTable-MenML-QS.8d54c08274e1.js.br +0 -0
  112. codex-1.8.16/codex/static_root/assets/VTable-MenML-QS.8d54c08274e1.js.gz +0 -0
  113. codex-1.8.16/codex/static_root/assets/VTable-MenML-QS.js +1 -0
  114. codex-1.8.16/codex/static_root/assets/VTable-MenML-QS.js.br +0 -0
  115. codex-1.8.16/codex/static_root/assets/VTable-MenML-QS.js.gz +0 -0
  116. codex-1.8.16/codex/static_root/assets/VWindowItem-62YwEvjG.b8bdaea824b5.js +1 -0
  117. codex-1.8.16/codex/static_root/assets/VWindowItem-62YwEvjG.b8bdaea824b5.js.br +0 -0
  118. codex-1.8.16/codex/static_root/assets/VWindowItem-62YwEvjG.b8bdaea824b5.js.gz +0 -0
  119. codex-1.8.16/codex/static_root/assets/VWindowItem-62YwEvjG.js +1 -0
  120. codex-1.8.16/codex/static_root/assets/VWindowItem-62YwEvjG.js.br +0 -0
  121. codex-1.8.16/codex/static_root/assets/VWindowItem-62YwEvjG.js.gz +0 -0
  122. codex-1.8.16/codex/static_root/assets/VWindowItem-CWv03gfN.css +1 -0
  123. codex-1.8.16/codex/static_root/assets/VWindowItem-CWv03gfN.css.br +0 -0
  124. codex-1.8.16/codex/static_root/assets/VWindowItem-CWv03gfN.css.gz +0 -0
  125. codex-1.8.16/codex/static_root/assets/VWindowItem-CWv03gfN.ddad20bc51ba.css +1 -0
  126. codex-1.8.16/codex/static_root/assets/VWindowItem-CWv03gfN.ddad20bc51ba.css.br +0 -0
  127. codex-1.8.16/codex/static_root/assets/VWindowItem-CWv03gfN.ddad20bc51ba.css.gz +0 -0
  128. codex-1.8.16/codex/static_root/assets/admin-BStn9kk0.b50ab54d4a08.js +1 -0
  129. codex-1.8.16/codex/static_root/assets/admin-BStn9kk0.b50ab54d4a08.js.br +0 -0
  130. codex-1.8.16/codex/static_root/assets/admin-BStn9kk0.b50ab54d4a08.js.gz +0 -0
  131. codex-1.8.16/codex/static_root/assets/admin-BStn9kk0.js +1 -0
  132. codex-1.8.16/codex/static_root/assets/admin-BStn9kk0.js.br +0 -0
  133. codex-1.8.16/codex/static_root/assets/admin-BStn9kk0.js.gz +0 -0
  134. codex-1.8.16/codex/static_root/assets/admin-menu-8MqbD6SS.de80d9c3a174.js +1 -0
  135. codex-1.8.16/codex/static_root/assets/admin-menu-8MqbD6SS.de80d9c3a174.js.br +0 -0
  136. codex-1.8.16/codex/static_root/assets/admin-menu-8MqbD6SS.de80d9c3a174.js.gz +0 -0
  137. codex-1.8.16/codex/static_root/assets/admin-menu-8MqbD6SS.js +1 -0
  138. codex-1.8.16/codex/static_root/assets/admin-menu-8MqbD6SS.js.br +0 -0
  139. codex-1.8.16/codex/static_root/assets/admin-menu-8MqbD6SS.js.gz +0 -0
  140. codex-1.8.16/codex/static_root/assets/admin-ri1JM4_Z.fc516b4b96f2.js +1 -0
  141. codex-1.8.16/codex/static_root/assets/admin-ri1JM4_Z.fc516b4b96f2.js.br +0 -0
  142. codex-1.8.16/codex/static_root/assets/admin-ri1JM4_Z.fc516b4b96f2.js.gz +0 -0
  143. codex-1.8.16/codex/static_root/assets/admin-ri1JM4_Z.js +1 -0
  144. codex-1.8.16/codex/static_root/assets/admin-ri1JM4_Z.js.br +0 -0
  145. codex-1.8.16/codex/static_root/assets/admin-ri1JM4_Z.js.gz +0 -0
  146. codex-1.8.16/codex/static_root/assets/admin-settings-button-progress-HmQvm62f.6d2798eb3429.js +1 -0
  147. codex-1.8.16/codex/static_root/assets/admin-settings-button-progress-HmQvm62f.6d2798eb3429.js.br +0 -0
  148. codex-1.8.16/codex/static_root/assets/admin-settings-button-progress-HmQvm62f.6d2798eb3429.js.gz +0 -0
  149. codex-1.8.16/codex/static_root/assets/admin-settings-button-progress-HmQvm62f.js +1 -0
  150. codex-1.8.16/codex/static_root/assets/admin-settings-button-progress-HmQvm62f.js.br +0 -0
  151. codex-1.8.16/codex/static_root/assets/admin-settings-button-progress-HmQvm62f.js.gz +0 -0
  152. codex-1.8.16/codex/static_root/assets/browser-BQva2GCO.2748e733040b.js +1 -0
  153. codex-1.8.16/codex/static_root/assets/browser-BQva2GCO.2748e733040b.js.br +0 -0
  154. codex-1.8.16/codex/static_root/assets/browser-BQva2GCO.2748e733040b.js.gz +0 -0
  155. codex-1.8.16/codex/static_root/assets/browser-BQva2GCO.js +1 -0
  156. codex-1.8.16/codex/static_root/assets/browser-BQva2GCO.js.br +0 -0
  157. codex-1.8.16/codex/static_root/assets/browser-BQva2GCO.js.gz +0 -0
  158. codex-1.8.16/codex/static_root/assets/change-password-dialog-CEdhZwC3.c41faf4b7311.js +1 -0
  159. codex-1.8.16/codex/static_root/assets/change-password-dialog-CEdhZwC3.c41faf4b7311.js.br +0 -0
  160. codex-1.8.16/codex/static_root/assets/change-password-dialog-CEdhZwC3.c41faf4b7311.js.gz +0 -0
  161. codex-1.8.16/codex/static_root/assets/change-password-dialog-CEdhZwC3.js +1 -0
  162. codex-1.8.16/codex/static_root/assets/change-password-dialog-CEdhZwC3.js.br +0 -0
  163. codex-1.8.16/codex/static_root/assets/change-password-dialog-CEdhZwC3.js.gz +0 -0
  164. codex-1.8.16/codex/static_root/assets/confirm-dialog-X8W3euvh.d9b87f1eeefe.js +1 -0
  165. codex-1.8.16/codex/static_root/assets/confirm-dialog-X8W3euvh.d9b87f1eeefe.js.br +0 -0
  166. codex-1.8.16/codex/static_root/assets/confirm-dialog-X8W3euvh.d9b87f1eeefe.js.gz +0 -0
  167. codex-1.8.16/codex/static_root/assets/confirm-dialog-X8W3euvh.js +1 -0
  168. codex-1.8.16/codex/static_root/assets/confirm-dialog-X8W3euvh.js.br +0 -0
  169. codex-1.8.16/codex/static_root/assets/confirm-dialog-X8W3euvh.js.gz +0 -0
  170. codex-1.8.16/codex/static_root/assets/datetime-column-CzIyyJDK.f9be11efa2e2.js +1 -0
  171. codex-1.8.16/codex/static_root/assets/datetime-column-CzIyyJDK.f9be11efa2e2.js.br +0 -0
  172. codex-1.8.16/codex/static_root/assets/datetime-column-CzIyyJDK.f9be11efa2e2.js.gz +0 -0
  173. codex-1.8.16/codex/static_root/assets/datetime-column-CzIyyJDK.js +1 -0
  174. codex-1.8.16/codex/static_root/assets/datetime-column-CzIyyJDK.js.br +0 -0
  175. codex-1.8.16/codex/static_root/assets/datetime-column-CzIyyJDK.js.gz +0 -0
  176. codex-1.8.16/codex/static_root/assets/filter-BfEbIpVl.ec48ef2a75bc.js +1 -0
  177. codex-1.8.16/codex/static_root/assets/filter-BfEbIpVl.ec48ef2a75bc.js.br +0 -0
  178. codex-1.8.16/codex/static_root/assets/filter-BfEbIpVl.ec48ef2a75bc.js.gz +0 -0
  179. codex-1.8.16/codex/static_root/assets/filter-BfEbIpVl.js +1 -0
  180. codex-1.8.16/codex/static_root/assets/filter-BfEbIpVl.js.br +0 -0
  181. codex-1.8.16/codex/static_root/assets/filter-BfEbIpVl.js.gz +0 -0
  182. codex-1.8.16/codex/static_root/assets/flag-tab-BtZ098bQ.2c417cda39c8.js +1 -0
  183. codex-1.8.16/codex/static_root/assets/flag-tab-BtZ098bQ.2c417cda39c8.js.br +0 -0
  184. codex-1.8.16/codex/static_root/assets/flag-tab-BtZ098bQ.2c417cda39c8.js.gz +0 -0
  185. codex-1.8.16/codex/static_root/assets/flag-tab-BtZ098bQ.js +1 -0
  186. codex-1.8.16/codex/static_root/assets/flag-tab-BtZ098bQ.js.br +0 -0
  187. codex-1.8.16/codex/static_root/assets/flag-tab-BtZ098bQ.js.gz +0 -0
  188. codex-1.8.16/codex/static_root/assets/forwardRefs-CecUXkvN.css +1 -0
  189. codex-1.8.16/codex/static_root/assets/forwardRefs-CecUXkvN.css.br +0 -0
  190. codex-1.8.16/codex/static_root/assets/forwardRefs-CecUXkvN.css.gz +0 -0
  191. codex-1.8.16/codex/static_root/assets/forwardRefs-CecUXkvN.d595d41108e3.css +1 -0
  192. codex-1.8.16/codex/static_root/assets/forwardRefs-CecUXkvN.d595d41108e3.css.br +0 -0
  193. codex-1.8.16/codex/static_root/assets/forwardRefs-CecUXkvN.d595d41108e3.css.gz +0 -0
  194. codex-1.8.16/codex/static_root/assets/forwardRefs-CnxuGwpi.1c01bc84723c.js +1 -0
  195. codex-1.8.16/codex/static_root/assets/forwardRefs-CnxuGwpi.1c01bc84723c.js.br +0 -0
  196. codex-1.8.16/codex/static_root/assets/forwardRefs-CnxuGwpi.1c01bc84723c.js.gz +0 -0
  197. codex-1.8.16/codex/static_root/assets/forwardRefs-CnxuGwpi.js +1 -0
  198. codex-1.8.16/codex/static_root/assets/forwardRefs-CnxuGwpi.js.br +0 -0
  199. codex-1.8.16/codex/static_root/assets/forwardRefs-CnxuGwpi.js.gz +0 -0
  200. codex-1.8.16/codex/static_root/assets/group-tab-FI6afuX5.a569809fb228.js +1 -0
  201. codex-1.8.16/codex/static_root/assets/group-tab-FI6afuX5.a569809fb228.js.br +0 -0
  202. codex-1.8.16/codex/static_root/assets/group-tab-FI6afuX5.a569809fb228.js.gz +0 -0
  203. codex-1.8.16/codex/static_root/assets/group-tab-FI6afuX5.js +1 -0
  204. codex-1.8.16/codex/static_root/assets/group-tab-FI6afuX5.js.br +0 -0
  205. codex-1.8.16/codex/static_root/assets/group-tab-FI6afuX5.js.gz +0 -0
  206. codex-1.8.16/codex/static_root/assets/http-error-BmuMBbvn.9f6b9dc6dc16.js +1 -0
  207. codex-1.8.16/codex/static_root/assets/http-error-BmuMBbvn.9f6b9dc6dc16.js.br +0 -0
  208. codex-1.8.16/codex/static_root/assets/http-error-BmuMBbvn.9f6b9dc6dc16.js.gz +0 -0
  209. codex-1.8.16/codex/static_root/assets/http-error-BmuMBbvn.js +1 -0
  210. codex-1.8.16/codex/static_root/assets/http-error-BmuMBbvn.js.br +0 -0
  211. codex-1.8.16/codex/static_root/assets/http-error-BmuMBbvn.js.gz +0 -0
  212. codex-1.8.16/codex/static_root/assets/index-DXqyJRWg.58b55c49a1ba.js +1 -0
  213. codex-1.8.16/codex/static_root/assets/index-DXqyJRWg.58b55c49a1ba.js.br +0 -0
  214. codex-1.8.16/codex/static_root/assets/index-DXqyJRWg.58b55c49a1ba.js.gz +0 -0
  215. codex-1.8.16/codex/static_root/assets/index-DXqyJRWg.js +1 -0
  216. codex-1.8.16/codex/static_root/assets/index-DXqyJRWg.js.br +0 -0
  217. codex-1.8.16/codex/static_root/assets/index-DXqyJRWg.js.gz +0 -0
  218. codex-1.8.16/codex/static_root/assets/library-tab-DlGRxHD-.e2e3049de8fe.js +1 -0
  219. codex-1.8.16/codex/static_root/assets/library-tab-DlGRxHD-.e2e3049de8fe.js.br +0 -0
  220. codex-1.8.16/codex/static_root/assets/library-tab-DlGRxHD-.e2e3049de8fe.js.gz +0 -0
  221. codex-1.8.16/codex/static_root/assets/library-tab-DlGRxHD-.js +1 -0
  222. codex-1.8.16/codex/static_root/assets/library-tab-DlGRxHD-.js.br +0 -0
  223. codex-1.8.16/codex/static_root/assets/library-tab-DlGRxHD-.js.gz +0 -0
  224. codex-1.8.16/codex/static_root/assets/main-CWTxsB_K.4890bf9782af.js +34 -0
  225. codex-1.8.16/codex/static_root/assets/main-CWTxsB_K.4890bf9782af.js.br +0 -0
  226. codex-1.8.16/codex/static_root/assets/main-CWTxsB_K.4890bf9782af.js.gz +0 -0
  227. codex-1.8.16/codex/static_root/assets/main-CWTxsB_K.js +34 -0
  228. codex-1.8.16/codex/static_root/assets/main-CWTxsB_K.js.br +0 -0
  229. codex-1.8.16/codex/static_root/assets/main-CWTxsB_K.js.gz +0 -0
  230. codex-1.8.16/codex/static_root/assets/main-CZN13qLI.12debfe1e227.css +5 -0
  231. codex-1.8.16/codex/static_root/assets/main-CZN13qLI.12debfe1e227.css.br +0 -0
  232. codex-1.8.16/codex/static_root/assets/main-CZN13qLI.12debfe1e227.css.gz +0 -0
  233. codex-1.8.16/codex/static_root/assets/main-CZN13qLI.css +5 -0
  234. codex-1.8.16/codex/static_root/assets/main-CZN13qLI.css.br +0 -0
  235. codex-1.8.16/codex/static_root/assets/main-CZN13qLI.css.gz +0 -0
  236. codex-1.8.16/codex/static_root/assets/pager-full-pdf-BPlguGsn.12749407ef31.js +1 -0
  237. codex-1.8.16/codex/static_root/assets/pager-full-pdf-BPlguGsn.12749407ef31.js.br +0 -0
  238. codex-1.8.16/codex/static_root/assets/pager-full-pdf-BPlguGsn.12749407ef31.js.gz +0 -0
  239. codex-1.8.16/codex/static_root/assets/pager-full-pdf-BPlguGsn.js +1 -0
  240. codex-1.8.16/codex/static_root/assets/pager-full-pdf-BPlguGsn.js.br +0 -0
  241. codex-1.8.16/codex/static_root/assets/pager-full-pdf-BPlguGsn.js.gz +0 -0
  242. codex-1.8.16/codex/static_root/assets/pagination-toolbar-BBoV7kGz.3812691bafd5.js +1 -0
  243. codex-1.8.16/codex/static_root/assets/pagination-toolbar-BBoV7kGz.3812691bafd5.js.br +0 -0
  244. codex-1.8.16/codex/static_root/assets/pagination-toolbar-BBoV7kGz.3812691bafd5.js.gz +0 -0
  245. codex-1.8.16/codex/static_root/assets/pagination-toolbar-BBoV7kGz.js +1 -0
  246. codex-1.8.16/codex/static_root/assets/pagination-toolbar-BBoV7kGz.js.br +0 -0
  247. codex-1.8.16/codex/static_root/assets/pagination-toolbar-BBoV7kGz.js.gz +0 -0
  248. codex-1.8.16/codex/static_root/assets/pdf-doc-DY8a-Suh.4ef483220f83.js +372 -0
  249. codex-1.8.16/codex/static_root/assets/pdf-doc-DY8a-Suh.4ef483220f83.js.br +0 -0
  250. codex-1.8.16/codex/static_root/assets/pdf-doc-DY8a-Suh.4ef483220f83.js.gz +0 -0
  251. codex-1.8.16/codex/static_root/assets/pdf-doc-DY8a-Suh.js +372 -0
  252. codex-1.8.16/codex/static_root/assets/pdf-doc-DY8a-Suh.js.br +0 -0
  253. codex-1.8.16/codex/static_root/assets/pdf-doc-DY8a-Suh.js.gz +0 -0
  254. codex-1.8.16/codex/static_root/assets/reader-Dqa95yj4.a16f078ebed6.js +2 -0
  255. codex-1.8.16/codex/static_root/assets/reader-Dqa95yj4.a16f078ebed6.js.br +0 -0
  256. codex-1.8.16/codex/static_root/assets/reader-Dqa95yj4.a16f078ebed6.js.gz +0 -0
  257. codex-1.8.16/codex/static_root/assets/reader-Dqa95yj4.js +2 -0
  258. codex-1.8.16/codex/static_root/assets/reader-Dqa95yj4.js.br +0 -0
  259. codex-1.8.16/codex/static_root/assets/reader-Dqa95yj4.js.gz +0 -0
  260. codex-1.8.16/codex/static_root/assets/relation-chips-DnkUXW6y.ae4d455a85e4.js +1 -0
  261. codex-1.8.16/codex/static_root/assets/relation-chips-DnkUXW6y.ae4d455a85e4.js.br +0 -0
  262. codex-1.8.16/codex/static_root/assets/relation-chips-DnkUXW6y.ae4d455a85e4.js.gz +0 -0
  263. codex-1.8.16/codex/static_root/assets/relation-chips-DnkUXW6y.js +1 -0
  264. codex-1.8.16/codex/static_root/assets/relation-chips-DnkUXW6y.js.br +0 -0
  265. codex-1.8.16/codex/static_root/assets/relation-chips-DnkUXW6y.js.gz +0 -0
  266. codex-1.8.16/codex/static_root/assets/relation-chips-WaEhcyda.870ff99b3d8b.css +1 -0
  267. codex-1.8.16/codex/static_root/assets/relation-chips-WaEhcyda.870ff99b3d8b.css.br +0 -0
  268. codex-1.8.16/codex/static_root/assets/relation-chips-WaEhcyda.870ff99b3d8b.css.gz +0 -0
  269. codex-1.8.16/codex/static_root/assets/relation-chips-WaEhcyda.css +1 -0
  270. codex-1.8.16/codex/static_root/assets/relation-chips-WaEhcyda.css.br +0 -0
  271. codex-1.8.16/codex/static_root/assets/relation-chips-WaEhcyda.css.gz +0 -0
  272. codex-1.8.16/codex/static_root/assets/settings-drawer-CrJwaDTj.0ea90e35f48a.js +2 -0
  273. codex-1.8.16/codex/static_root/assets/settings-drawer-CrJwaDTj.0ea90e35f48a.js.br +0 -0
  274. codex-1.8.16/codex/static_root/assets/settings-drawer-CrJwaDTj.0ea90e35f48a.js.gz +0 -0
  275. codex-1.8.16/codex/static_root/assets/settings-drawer-CrJwaDTj.js +2 -0
  276. codex-1.8.16/codex/static_root/assets/settings-drawer-CrJwaDTj.js.br +0 -0
  277. codex-1.8.16/codex/static_root/assets/settings-drawer-CrJwaDTj.js.gz +0 -0
  278. codex-1.8.16/codex/static_root/assets/settings-drawer-d-7mkVdG.15838d8ecd33.css +1 -0
  279. codex-1.8.16/codex/static_root/assets/settings-drawer-d-7mkVdG.15838d8ecd33.css.br +0 -0
  280. codex-1.8.16/codex/static_root/assets/settings-drawer-d-7mkVdG.15838d8ecd33.css.gz +0 -0
  281. codex-1.8.16/codex/static_root/assets/settings-drawer-d-7mkVdG.css +1 -0
  282. codex-1.8.16/codex/static_root/assets/settings-drawer-d-7mkVdG.css.br +0 -0
  283. codex-1.8.16/codex/static_root/assets/settings-drawer-d-7mkVdG.css.gz +0 -0
  284. codex-1.8.16/codex/static_root/assets/ssrBoot-yM9n-WhK.33a34fb51966.js +1 -0
  285. codex-1.8.16/codex/static_root/assets/ssrBoot-yM9n-WhK.33a34fb51966.js.br +0 -0
  286. codex-1.8.16/codex/static_root/assets/ssrBoot-yM9n-WhK.33a34fb51966.js.gz +0 -0
  287. codex-1.8.16/codex/static_root/assets/ssrBoot-yM9n-WhK.js +1 -0
  288. codex-1.8.16/codex/static_root/assets/ssrBoot-yM9n-WhK.js.br +0 -0
  289. codex-1.8.16/codex/static_root/assets/ssrBoot-yM9n-WhK.js.gz +0 -0
  290. codex-1.8.16/codex/static_root/assets/stats-tab-R3_2S5KJ.1b8dcb544e56.js +1 -0
  291. codex-1.8.16/codex/static_root/assets/stats-tab-R3_2S5KJ.1b8dcb544e56.js.br +0 -0
  292. codex-1.8.16/codex/static_root/assets/stats-tab-R3_2S5KJ.1b8dcb544e56.js.gz +0 -0
  293. codex-1.8.16/codex/static_root/assets/stats-tab-R3_2S5KJ.js +1 -0
  294. codex-1.8.16/codex/static_root/assets/stats-tab-R3_2S5KJ.js.br +0 -0
  295. codex-1.8.16/codex/static_root/assets/stats-tab-R3_2S5KJ.js.gz +0 -0
  296. codex-1.8.16/codex/static_root/assets/task-tab-DcwExi-z.7745f5bdd4f6.js +1 -0
  297. codex-1.8.16/codex/static_root/assets/task-tab-DcwExi-z.7745f5bdd4f6.js.br +0 -0
  298. codex-1.8.16/codex/static_root/assets/task-tab-DcwExi-z.7745f5bdd4f6.js.gz +0 -0
  299. codex-1.8.16/codex/static_root/assets/task-tab-DcwExi-z.js +1 -0
  300. codex-1.8.16/codex/static_root/assets/task-tab-DcwExi-z.js.br +0 -0
  301. codex-1.8.16/codex/static_root/assets/task-tab-DcwExi-z.js.gz +0 -0
  302. codex-1.8.16/codex/static_root/assets/task-tab-DvSJmG8K.css +1 -0
  303. codex-1.8.16/codex/static_root/assets/task-tab-DvSJmG8K.css.br +2 -0
  304. codex-1.8.16/codex/static_root/assets/task-tab-DvSJmG8K.css.gz +0 -0
  305. codex-1.8.16/codex/static_root/assets/task-tab-DvSJmG8K.daf7fb2dfecf.css +1 -0
  306. codex-1.8.16/codex/static_root/assets/task-tab-DvSJmG8K.daf7fb2dfecf.css.br +2 -0
  307. codex-1.8.16/codex/static_root/assets/task-tab-DvSJmG8K.daf7fb2dfecf.css.gz +0 -0
  308. codex-1.8.16/codex/static_root/assets/unauthorized-ChdZFt-1.8a4ba062faeb.css +1 -0
  309. codex-1.8.16/codex/static_root/assets/unauthorized-ChdZFt-1.8a4ba062faeb.css.br +0 -0
  310. codex-1.8.16/codex/static_root/assets/unauthorized-ChdZFt-1.8a4ba062faeb.css.gz +0 -0
  311. codex-1.8.16/codex/static_root/assets/unauthorized-ChdZFt-1.css +1 -0
  312. codex-1.8.16/codex/static_root/assets/unauthorized-ChdZFt-1.css.br +0 -0
  313. codex-1.8.16/codex/static_root/assets/unauthorized-ChdZFt-1.css.gz +0 -0
  314. codex-1.8.16/codex/static_root/assets/unauthorized-DQOfB_66.153b77e5dba9.js +1 -0
  315. codex-1.8.16/codex/static_root/assets/unauthorized-DQOfB_66.153b77e5dba9.js.br +0 -0
  316. codex-1.8.16/codex/static_root/assets/unauthorized-DQOfB_66.153b77e5dba9.js.gz +0 -0
  317. codex-1.8.16/codex/static_root/assets/unauthorized-DQOfB_66.js +1 -0
  318. codex-1.8.16/codex/static_root/assets/unauthorized-DQOfB_66.js.br +0 -0
  319. codex-1.8.16/codex/static_root/assets/unauthorized-DQOfB_66.js.gz +0 -0
  320. codex-1.8.16/codex/static_root/assets/user-tab-BKyrq81A.7412792291c7.js +1 -0
  321. codex-1.8.16/codex/static_root/assets/user-tab-BKyrq81A.7412792291c7.js.br +0 -0
  322. codex-1.8.16/codex/static_root/assets/user-tab-BKyrq81A.7412792291c7.js.gz +0 -0
  323. codex-1.8.16/codex/static_root/assets/user-tab-BKyrq81A.js +1 -0
  324. codex-1.8.16/codex/static_root/assets/user-tab-BKyrq81A.js.br +0 -0
  325. codex-1.8.16/codex/static_root/assets/user-tab-BKyrq81A.js.gz +0 -0
  326. codex-1.8.16/codex/static_root/img/missing-cover-165.ef301b6fcf8c.webp +0 -0
  327. codex-1.8.16/codex/static_root/img/missing-cover-165.webp +0 -0
  328. codex-1.8.16/codex/static_root/manifest.d1e85b766092.json +760 -0
  329. codex-1.8.16/codex/static_root/manifest.d1e85b766092.json.br +0 -0
  330. codex-1.8.16/codex/static_root/manifest.d1e85b766092.json.gz +0 -0
  331. codex-1.8.16/codex/static_root/manifest.json +760 -0
  332. codex-1.8.16/codex/static_root/manifest.json.br +0 -0
  333. codex-1.8.16/codex/static_root/manifest.json.gz +0 -0
  334. codex-1.8.16/codex/static_root/staticfiles.json +1 -0
  335. codex-1.8.16/codex/static_src/img/.picopt_treestamps.yaml +19 -0
  336. codex-1.8.16/codex/static_src/img/missing-cover-165.webp +0 -0
  337. codex-1.8.16/codex/templates/headers-icons.html +5 -0
  338. codex-1.8.16/codex/templates/pwa/headers.html +17 -0
  339. codex-1.8.16/codex/templates/pwa/serviceworker.js +45 -0
  340. codex-1.8.16/codex/urls/root.py +43 -0
  341. codex-1.8.16/codex/views/browser/annotate/order.py +273 -0
  342. codex-1.8.16/codex/views/browser/group_mtime.py +86 -0
  343. codex-1.8.16/codex/views/browser/params.py +31 -0
  344. codex-1.8.16/codex/views/reader/params.py +70 -0
  345. codex-1.8.16/codex/views/settings.py +44 -0
  346. codex-1.8.16/docker/debian.sources +11 -0
  347. codex-1.8.16/docs/NEWS.md +1707 -0
  348. codex-1.8.16/docs/README.md +533 -0
  349. codex-1.8.16/eslint.config.js +173 -0
  350. codex-1.8.16/frontend/eslint.config.js +84 -0
  351. codex-1.8.16/frontend/package-lock.json +7124 -0
  352. codex-1.8.16/frontend/package.json +59 -0
  353. codex-1.8.16/frontend/src/api/v3/base.js +44 -0
  354. codex-1.8.16/frontend/src/api/v3/common.js +121 -0
  355. codex-1.8.16/frontend/src/components/admin/create-update-dialog/create-update-button.vue +37 -0
  356. codex-1.8.16/frontend/src/components/admin/tabs/task-tab.vue +169 -0
  357. codex-1.8.16/frontend/src/stores/browser.js +682 -0
  358. codex-1.8.16/frontend/src/stores/common.js +99 -0
  359. codex-1.8.16/frontend/src/stores/reader.js +688 -0
  360. codex-1.8.16/package-lock.json +10192 -0
  361. codex-1.8.16/package.json +102 -0
  362. codex-1.8.16/pyproject.toml +416 -0
  363. codex-1.8.16/uv.lock +3377 -0
  364. codex-1.8.13/NEWS.md +0 -1692
  365. codex-1.8.13/PKG-INFO +0 -592
  366. codex-1.8.13/README.md +0 -533
  367. codex-1.8.13/bin/icons_transform.py +0 -114
  368. codex-1.8.13/codex/__init__.py +0 -17
  369. codex-1.8.13/codex/librarian/scribe/importer/link/delete.py +0 -106
  370. codex-1.8.13/codex/librarian/scribe/importer/read/foreign_keys.py +0 -159
  371. codex-1.8.13/codex/librarian/scribe/importer/tasks.py +0 -49
  372. codex-1.8.13/codex/librarian/telemeter/scheduled_time.py +0 -68
  373. codex-1.8.13/codex/serializers/browser/choices.py +0 -154
  374. codex-1.8.13/codex/signals/os_signals.py +0 -51
  375. codex-1.8.13/codex/startup/__init__.py +0 -180
  376. codex-1.8.13/codex/startup/logger_init.py +0 -45
  377. codex-1.8.13/codex/static_root/assets/VCheckbox-BwGe90i7.05dba0fbfebd.js +0 -1
  378. codex-1.8.13/codex/static_root/assets/VCheckbox-BwGe90i7.05dba0fbfebd.js.br +0 -0
  379. codex-1.8.13/codex/static_root/assets/VCheckbox-BwGe90i7.05dba0fbfebd.js.gz +0 -0
  380. codex-1.8.13/codex/static_root/assets/VCheckbox-BwGe90i7.js +0 -1
  381. codex-1.8.13/codex/static_root/assets/VCheckbox-BwGe90i7.js.br +0 -0
  382. codex-1.8.13/codex/static_root/assets/VCheckbox-BwGe90i7.js.gz +0 -0
  383. codex-1.8.13/codex/static_root/assets/VCheckboxBtn-CqdpagcB.890842fbdebe.js +0 -1
  384. codex-1.8.13/codex/static_root/assets/VCheckboxBtn-CqdpagcB.890842fbdebe.js.br +0 -0
  385. codex-1.8.13/codex/static_root/assets/VCheckboxBtn-CqdpagcB.890842fbdebe.js.gz +0 -0
  386. codex-1.8.13/codex/static_root/assets/VCheckboxBtn-CqdpagcB.js +0 -1
  387. codex-1.8.13/codex/static_root/assets/VCheckboxBtn-CqdpagcB.js.br +0 -0
  388. codex-1.8.13/codex/static_root/assets/VCheckboxBtn-CqdpagcB.js.gz +0 -0
  389. codex-1.8.13/codex/static_root/assets/VCombobox-DHFthaP6.942336d23612.css +0 -1
  390. codex-1.8.13/codex/static_root/assets/VCombobox-DHFthaP6.942336d23612.css.br +0 -0
  391. codex-1.8.13/codex/static_root/assets/VCombobox-DHFthaP6.942336d23612.css.gz +0 -0
  392. codex-1.8.13/codex/static_root/assets/VCombobox-DHFthaP6.css +0 -1
  393. codex-1.8.13/codex/static_root/assets/VCombobox-DHFthaP6.css.br +0 -0
  394. codex-1.8.13/codex/static_root/assets/VCombobox-DHFthaP6.css.gz +0 -0
  395. codex-1.8.13/codex/static_root/assets/VCombobox-HMiIZRsM.883f0e2ffc0a.js +0 -1
  396. codex-1.8.13/codex/static_root/assets/VCombobox-HMiIZRsM.883f0e2ffc0a.js.br +0 -0
  397. codex-1.8.13/codex/static_root/assets/VCombobox-HMiIZRsM.883f0e2ffc0a.js.gz +0 -0
  398. codex-1.8.13/codex/static_root/assets/VCombobox-HMiIZRsM.js +0 -1
  399. codex-1.8.13/codex/static_root/assets/VCombobox-HMiIZRsM.js.br +0 -0
  400. codex-1.8.13/codex/static_root/assets/VCombobox-HMiIZRsM.js.gz +0 -0
  401. codex-1.8.13/codex/static_root/assets/VDialog-B1OSC1f5.012d5d362d84.js +0 -1
  402. codex-1.8.13/codex/static_root/assets/VDialog-B1OSC1f5.012d5d362d84.js.br +0 -0
  403. codex-1.8.13/codex/static_root/assets/VDialog-B1OSC1f5.012d5d362d84.js.gz +0 -0
  404. codex-1.8.13/codex/static_root/assets/VDialog-B1OSC1f5.js +0 -1
  405. codex-1.8.13/codex/static_root/assets/VDialog-B1OSC1f5.js.br +0 -0
  406. codex-1.8.13/codex/static_root/assets/VDialog-B1OSC1f5.js.gz +0 -0
  407. codex-1.8.13/codex/static_root/assets/VDialog-CpWjrJ0R.610ffc6302d4.css +0 -1
  408. codex-1.8.13/codex/static_root/assets/VDialog-CpWjrJ0R.610ffc6302d4.css.br +0 -0
  409. codex-1.8.13/codex/static_root/assets/VDialog-CpWjrJ0R.610ffc6302d4.css.gz +0 -0
  410. codex-1.8.13/codex/static_root/assets/VDialog-CpWjrJ0R.css +0 -1
  411. codex-1.8.13/codex/static_root/assets/VDialog-CpWjrJ0R.css.br +0 -0
  412. codex-1.8.13/codex/static_root/assets/VDialog-CpWjrJ0R.css.gz +0 -0
  413. codex-1.8.13/codex/static_root/assets/VDivider-6KdInZc6.c4c11ffd8782.js +0 -1
  414. codex-1.8.13/codex/static_root/assets/VDivider-6KdInZc6.c4c11ffd8782.js.br +0 -0
  415. codex-1.8.13/codex/static_root/assets/VDivider-6KdInZc6.c4c11ffd8782.js.gz +0 -0
  416. codex-1.8.13/codex/static_root/assets/VDivider-6KdInZc6.js +0 -1
  417. codex-1.8.13/codex/static_root/assets/VDivider-6KdInZc6.js.br +0 -0
  418. codex-1.8.13/codex/static_root/assets/VDivider-6KdInZc6.js.gz +0 -0
  419. codex-1.8.13/codex/static_root/assets/VDivider-DU47sRrT.3d2e17799e5c.css +0 -1
  420. codex-1.8.13/codex/static_root/assets/VDivider-DU47sRrT.3d2e17799e5c.css.br +0 -0
  421. codex-1.8.13/codex/static_root/assets/VDivider-DU47sRrT.3d2e17799e5c.css.gz +0 -0
  422. codex-1.8.13/codex/static_root/assets/VDivider-DU47sRrT.css +0 -1
  423. codex-1.8.13/codex/static_root/assets/VDivider-DU47sRrT.css.br +0 -0
  424. codex-1.8.13/codex/static_root/assets/VDivider-DU47sRrT.css.gz +0 -0
  425. codex-1.8.13/codex/static_root/assets/VExpansionPanels-Bwkzb0Oy.6614e5f857f1.js +0 -1
  426. codex-1.8.13/codex/static_root/assets/VExpansionPanels-Bwkzb0Oy.6614e5f857f1.js.br +0 -0
  427. codex-1.8.13/codex/static_root/assets/VExpansionPanels-Bwkzb0Oy.6614e5f857f1.js.gz +0 -0
  428. codex-1.8.13/codex/static_root/assets/VExpansionPanels-Bwkzb0Oy.js +0 -1
  429. codex-1.8.13/codex/static_root/assets/VExpansionPanels-Bwkzb0Oy.js.br +0 -0
  430. codex-1.8.13/codex/static_root/assets/VExpansionPanels-Bwkzb0Oy.js.gz +0 -0
  431. codex-1.8.13/codex/static_root/assets/VExpansionPanels-RsCANmDP.5b17872981df.css +0 -1
  432. codex-1.8.13/codex/static_root/assets/VExpansionPanels-RsCANmDP.5b17872981df.css.br +0 -0
  433. codex-1.8.13/codex/static_root/assets/VExpansionPanels-RsCANmDP.5b17872981df.css.gz +0 -0
  434. codex-1.8.13/codex/static_root/assets/VExpansionPanels-RsCANmDP.css +0 -1
  435. codex-1.8.13/codex/static_root/assets/VExpansionPanels-RsCANmDP.css.br +0 -0
  436. codex-1.8.13/codex/static_root/assets/VExpansionPanels-RsCANmDP.css.gz +0 -0
  437. codex-1.8.13/codex/static_root/assets/VForm-J2mEa_og.ff05ef3e7ff4.js +0 -1
  438. codex-1.8.13/codex/static_root/assets/VForm-J2mEa_og.ff05ef3e7ff4.js.br +0 -0
  439. codex-1.8.13/codex/static_root/assets/VForm-J2mEa_og.ff05ef3e7ff4.js.gz +0 -0
  440. codex-1.8.13/codex/static_root/assets/VForm-J2mEa_og.js +0 -1
  441. codex-1.8.13/codex/static_root/assets/VForm-J2mEa_og.js.br +0 -0
  442. codex-1.8.13/codex/static_root/assets/VForm-J2mEa_og.js.gz +0 -0
  443. codex-1.8.13/codex/static_root/assets/VRadioGroup-jPA1T3rE.b041ec78a828.js +0 -1
  444. codex-1.8.13/codex/static_root/assets/VRadioGroup-jPA1T3rE.b041ec78a828.js.br +0 -0
  445. codex-1.8.13/codex/static_root/assets/VRadioGroup-jPA1T3rE.b041ec78a828.js.gz +0 -0
  446. codex-1.8.13/codex/static_root/assets/VRadioGroup-jPA1T3rE.js +0 -1
  447. codex-1.8.13/codex/static_root/assets/VRadioGroup-jPA1T3rE.js.br +0 -0
  448. codex-1.8.13/codex/static_root/assets/VRadioGroup-jPA1T3rE.js.gz +0 -0
  449. codex-1.8.13/codex/static_root/assets/VSelect-BbzE_-2K.a86df90a9d55.css +0 -1
  450. codex-1.8.13/codex/static_root/assets/VSelect-BbzE_-2K.a86df90a9d55.css.br +0 -0
  451. codex-1.8.13/codex/static_root/assets/VSelect-BbzE_-2K.a86df90a9d55.css.gz +0 -0
  452. codex-1.8.13/codex/static_root/assets/VSelect-BbzE_-2K.css +0 -1
  453. codex-1.8.13/codex/static_root/assets/VSelect-BbzE_-2K.css.br +0 -0
  454. codex-1.8.13/codex/static_root/assets/VSelect-BbzE_-2K.css.gz +0 -0
  455. codex-1.8.13/codex/static_root/assets/VSelect-CP3Eb9Go.137c60644b7e.js +0 -1
  456. codex-1.8.13/codex/static_root/assets/VSelect-CP3Eb9Go.137c60644b7e.js.br +0 -0
  457. codex-1.8.13/codex/static_root/assets/VSelect-CP3Eb9Go.137c60644b7e.js.gz +0 -0
  458. codex-1.8.13/codex/static_root/assets/VSelect-CP3Eb9Go.js +0 -1
  459. codex-1.8.13/codex/static_root/assets/VSelect-CP3Eb9Go.js.br +0 -0
  460. codex-1.8.13/codex/static_root/assets/VSelect-CP3Eb9Go.js.gz +0 -0
  461. codex-1.8.13/codex/static_root/assets/VSelectionControl-3mF3UtxV.331471e38863.js +0 -1
  462. codex-1.8.13/codex/static_root/assets/VSelectionControl-3mF3UtxV.331471e38863.js.br +0 -0
  463. codex-1.8.13/codex/static_root/assets/VSelectionControl-3mF3UtxV.331471e38863.js.gz +0 -0
  464. codex-1.8.13/codex/static_root/assets/VSelectionControl-3mF3UtxV.js +0 -1
  465. codex-1.8.13/codex/static_root/assets/VSelectionControl-3mF3UtxV.js.br +0 -0
  466. codex-1.8.13/codex/static_root/assets/VSelectionControl-3mF3UtxV.js.gz +0 -0
  467. codex-1.8.13/codex/static_root/assets/VSelectionControl-RqBzwjYi.css +0 -1
  468. codex-1.8.13/codex/static_root/assets/VSelectionControl-RqBzwjYi.css.br +0 -0
  469. codex-1.8.13/codex/static_root/assets/VSelectionControl-RqBzwjYi.css.gz +0 -0
  470. codex-1.8.13/codex/static_root/assets/VSelectionControl-RqBzwjYi.ee7425525e63.css +0 -1
  471. codex-1.8.13/codex/static_root/assets/VSelectionControl-RqBzwjYi.ee7425525e63.css.br +0 -0
  472. codex-1.8.13/codex/static_root/assets/VSelectionControl-RqBzwjYi.ee7425525e63.css.gz +0 -0
  473. codex-1.8.13/codex/static_root/assets/VTable-KYw5fCd8.311b2d4fb655.js +0 -1
  474. codex-1.8.13/codex/static_root/assets/VTable-KYw5fCd8.311b2d4fb655.js.br +0 -0
  475. codex-1.8.13/codex/static_root/assets/VTable-KYw5fCd8.311b2d4fb655.js.gz +0 -0
  476. codex-1.8.13/codex/static_root/assets/VTable-KYw5fCd8.js +0 -1
  477. codex-1.8.13/codex/static_root/assets/VTable-KYw5fCd8.js.br +0 -0
  478. codex-1.8.13/codex/static_root/assets/VTable-KYw5fCd8.js.gz +0 -0
  479. codex-1.8.13/codex/static_root/assets/VWindowItem-BUML2ecc.a2574b84b5d8.js +0 -1
  480. codex-1.8.13/codex/static_root/assets/VWindowItem-BUML2ecc.a2574b84b5d8.js.br +0 -0
  481. codex-1.8.13/codex/static_root/assets/VWindowItem-BUML2ecc.a2574b84b5d8.js.gz +0 -0
  482. codex-1.8.13/codex/static_root/assets/VWindowItem-BUML2ecc.js +0 -1
  483. codex-1.8.13/codex/static_root/assets/VWindowItem-BUML2ecc.js.br +0 -0
  484. codex-1.8.13/codex/static_root/assets/VWindowItem-BUML2ecc.js.gz +0 -0
  485. codex-1.8.13/codex/static_root/assets/VWindowItem-QQWUVqMX.c22e707ac99c.css +0 -1
  486. codex-1.8.13/codex/static_root/assets/VWindowItem-QQWUVqMX.c22e707ac99c.css.br +0 -5
  487. codex-1.8.13/codex/static_root/assets/VWindowItem-QQWUVqMX.c22e707ac99c.css.gz +0 -0
  488. codex-1.8.13/codex/static_root/assets/VWindowItem-QQWUVqMX.css +0 -1
  489. codex-1.8.13/codex/static_root/assets/VWindowItem-QQWUVqMX.css.br +0 -5
  490. codex-1.8.13/codex/static_root/assets/VWindowItem-QQWUVqMX.css.gz +0 -0
  491. codex-1.8.13/codex/static_root/assets/admin-D7dHJsJ4.5a7b2f5af603.js +0 -1
  492. codex-1.8.13/codex/static_root/assets/admin-D7dHJsJ4.5a7b2f5af603.js.br +0 -0
  493. codex-1.8.13/codex/static_root/assets/admin-D7dHJsJ4.5a7b2f5af603.js.gz +0 -0
  494. codex-1.8.13/codex/static_root/assets/admin-D7dHJsJ4.js +0 -1
  495. codex-1.8.13/codex/static_root/assets/admin-D7dHJsJ4.js.br +0 -0
  496. codex-1.8.13/codex/static_root/assets/admin-D7dHJsJ4.js.gz +0 -0
  497. codex-1.8.13/codex/static_root/assets/admin-DuXJR8qW.c11eb83c62fe.js +0 -1
  498. codex-1.8.13/codex/static_root/assets/admin-DuXJR8qW.c11eb83c62fe.js.br +0 -0
  499. codex-1.8.13/codex/static_root/assets/admin-DuXJR8qW.c11eb83c62fe.js.gz +0 -0
  500. codex-1.8.13/codex/static_root/assets/admin-DuXJR8qW.js +0 -1
  501. codex-1.8.13/codex/static_root/assets/admin-DuXJR8qW.js.br +0 -0
  502. codex-1.8.13/codex/static_root/assets/admin-DuXJR8qW.js.gz +0 -0
  503. codex-1.8.13/codex/static_root/assets/admin-menu-Y-2f4f-t.7c6bffa811c0.js +0 -1
  504. codex-1.8.13/codex/static_root/assets/admin-menu-Y-2f4f-t.7c6bffa811c0.js.br +0 -0
  505. codex-1.8.13/codex/static_root/assets/admin-menu-Y-2f4f-t.7c6bffa811c0.js.gz +0 -0
  506. codex-1.8.13/codex/static_root/assets/admin-menu-Y-2f4f-t.js +0 -1
  507. codex-1.8.13/codex/static_root/assets/admin-menu-Y-2f4f-t.js.br +0 -0
  508. codex-1.8.13/codex/static_root/assets/admin-menu-Y-2f4f-t.js.gz +0 -0
  509. codex-1.8.13/codex/static_root/assets/admin-settings-button-progress-CX4KtKvA.37ae80a378e4.js +0 -1
  510. codex-1.8.13/codex/static_root/assets/admin-settings-button-progress-CX4KtKvA.37ae80a378e4.js.br +0 -0
  511. codex-1.8.13/codex/static_root/assets/admin-settings-button-progress-CX4KtKvA.37ae80a378e4.js.gz +0 -0
  512. codex-1.8.13/codex/static_root/assets/admin-settings-button-progress-CX4KtKvA.js +0 -1
  513. codex-1.8.13/codex/static_root/assets/admin-settings-button-progress-CX4KtKvA.js.br +0 -0
  514. codex-1.8.13/codex/static_root/assets/admin-settings-button-progress-CX4KtKvA.js.gz +0 -0
  515. codex-1.8.13/codex/static_root/assets/browser-CqubhCxg.1e6645d0b01b.js +0 -1
  516. codex-1.8.13/codex/static_root/assets/browser-CqubhCxg.1e6645d0b01b.js.br +0 -0
  517. codex-1.8.13/codex/static_root/assets/browser-CqubhCxg.1e6645d0b01b.js.gz +0 -0
  518. codex-1.8.13/codex/static_root/assets/browser-CqubhCxg.js +0 -1
  519. codex-1.8.13/codex/static_root/assets/browser-CqubhCxg.js.br +0 -0
  520. codex-1.8.13/codex/static_root/assets/browser-CqubhCxg.js.gz +0 -0
  521. codex-1.8.13/codex/static_root/assets/change-password-dialog-CB7sPDF5.74381403a3ef.js +0 -1
  522. codex-1.8.13/codex/static_root/assets/change-password-dialog-CB7sPDF5.74381403a3ef.js.br +0 -0
  523. codex-1.8.13/codex/static_root/assets/change-password-dialog-CB7sPDF5.74381403a3ef.js.gz +0 -0
  524. codex-1.8.13/codex/static_root/assets/change-password-dialog-CB7sPDF5.js +0 -1
  525. codex-1.8.13/codex/static_root/assets/change-password-dialog-CB7sPDF5.js.br +0 -0
  526. codex-1.8.13/codex/static_root/assets/change-password-dialog-CB7sPDF5.js.gz +0 -0
  527. codex-1.8.13/codex/static_root/assets/confirm-dialog-Bc3Bw4Wf.df54617c5796.js +0 -1
  528. codex-1.8.13/codex/static_root/assets/confirm-dialog-Bc3Bw4Wf.df54617c5796.js.br +0 -0
  529. codex-1.8.13/codex/static_root/assets/confirm-dialog-Bc3Bw4Wf.df54617c5796.js.gz +0 -0
  530. codex-1.8.13/codex/static_root/assets/confirm-dialog-Bc3Bw4Wf.js +0 -1
  531. codex-1.8.13/codex/static_root/assets/confirm-dialog-Bc3Bw4Wf.js.br +0 -0
  532. codex-1.8.13/codex/static_root/assets/confirm-dialog-Bc3Bw4Wf.js.gz +0 -0
  533. codex-1.8.13/codex/static_root/assets/datetime-column-zWcVwgyi.03ad8c8b24a1.js +0 -1
  534. codex-1.8.13/codex/static_root/assets/datetime-column-zWcVwgyi.03ad8c8b24a1.js.br +0 -0
  535. codex-1.8.13/codex/static_root/assets/datetime-column-zWcVwgyi.03ad8c8b24a1.js.gz +0 -0
  536. codex-1.8.13/codex/static_root/assets/datetime-column-zWcVwgyi.js +0 -1
  537. codex-1.8.13/codex/static_root/assets/datetime-column-zWcVwgyi.js.br +0 -0
  538. codex-1.8.13/codex/static_root/assets/datetime-column-zWcVwgyi.js.gz +0 -0
  539. codex-1.8.13/codex/static_root/assets/filter-DWF4EaH3.e92b5573507a.js +0 -1
  540. codex-1.8.13/codex/static_root/assets/filter-DWF4EaH3.e92b5573507a.js.br +0 -0
  541. codex-1.8.13/codex/static_root/assets/filter-DWF4EaH3.e92b5573507a.js.gz +0 -0
  542. codex-1.8.13/codex/static_root/assets/filter-DWF4EaH3.js +0 -1
  543. codex-1.8.13/codex/static_root/assets/filter-DWF4EaH3.js.br +0 -0
  544. codex-1.8.13/codex/static_root/assets/filter-DWF4EaH3.js.gz +0 -0
  545. codex-1.8.13/codex/static_root/assets/flag-tab-GTA-yaU7.7c095722ebed.js +0 -1
  546. codex-1.8.13/codex/static_root/assets/flag-tab-GTA-yaU7.7c095722ebed.js.br +0 -0
  547. codex-1.8.13/codex/static_root/assets/flag-tab-GTA-yaU7.7c095722ebed.js.gz +0 -0
  548. codex-1.8.13/codex/static_root/assets/flag-tab-GTA-yaU7.js +0 -1
  549. codex-1.8.13/codex/static_root/assets/flag-tab-GTA-yaU7.js.br +0 -0
  550. codex-1.8.13/codex/static_root/assets/flag-tab-GTA-yaU7.js.gz +0 -0
  551. codex-1.8.13/codex/static_root/assets/forwardRefs-CGimG8CQ.b99b41ed1eed.js +0 -1
  552. codex-1.8.13/codex/static_root/assets/forwardRefs-CGimG8CQ.b99b41ed1eed.js.br +0 -0
  553. codex-1.8.13/codex/static_root/assets/forwardRefs-CGimG8CQ.b99b41ed1eed.js.gz +0 -0
  554. codex-1.8.13/codex/static_root/assets/forwardRefs-CGimG8CQ.js +0 -1
  555. codex-1.8.13/codex/static_root/assets/forwardRefs-CGimG8CQ.js.br +0 -0
  556. codex-1.8.13/codex/static_root/assets/forwardRefs-CGimG8CQ.js.gz +0 -0
  557. codex-1.8.13/codex/static_root/assets/forwardRefs-vX-mze-3.cfdcd69926d9.css +0 -1
  558. codex-1.8.13/codex/static_root/assets/forwardRefs-vX-mze-3.cfdcd69926d9.css.br +0 -0
  559. codex-1.8.13/codex/static_root/assets/forwardRefs-vX-mze-3.cfdcd69926d9.css.gz +0 -0
  560. codex-1.8.13/codex/static_root/assets/forwardRefs-vX-mze-3.css +0 -1
  561. codex-1.8.13/codex/static_root/assets/forwardRefs-vX-mze-3.css.br +0 -0
  562. codex-1.8.13/codex/static_root/assets/forwardRefs-vX-mze-3.css.gz +0 -0
  563. codex-1.8.13/codex/static_root/assets/group-tab-BSr4dJJW.e36d5a728ebc.js +0 -1
  564. codex-1.8.13/codex/static_root/assets/group-tab-BSr4dJJW.e36d5a728ebc.js.br +0 -0
  565. codex-1.8.13/codex/static_root/assets/group-tab-BSr4dJJW.e36d5a728ebc.js.gz +0 -0
  566. codex-1.8.13/codex/static_root/assets/group-tab-BSr4dJJW.js +0 -1
  567. codex-1.8.13/codex/static_root/assets/group-tab-BSr4dJJW.js.br +0 -0
  568. codex-1.8.13/codex/static_root/assets/group-tab-BSr4dJJW.js.gz +0 -0
  569. codex-1.8.13/codex/static_root/assets/http-error-CwCiNlwC.386c711703ef.js +0 -1
  570. codex-1.8.13/codex/static_root/assets/http-error-CwCiNlwC.386c711703ef.js.br +0 -0
  571. codex-1.8.13/codex/static_root/assets/http-error-CwCiNlwC.386c711703ef.js.gz +0 -0
  572. codex-1.8.13/codex/static_root/assets/http-error-CwCiNlwC.js +0 -1
  573. codex-1.8.13/codex/static_root/assets/http-error-CwCiNlwC.js.br +0 -0
  574. codex-1.8.13/codex/static_root/assets/http-error-CwCiNlwC.js.gz +0 -0
  575. codex-1.8.13/codex/static_root/assets/index-DOP9KYca.5d9b48ff6f1a.js +0 -1
  576. codex-1.8.13/codex/static_root/assets/index-DOP9KYca.5d9b48ff6f1a.js.br +0 -0
  577. codex-1.8.13/codex/static_root/assets/index-DOP9KYca.5d9b48ff6f1a.js.gz +0 -0
  578. codex-1.8.13/codex/static_root/assets/index-DOP9KYca.js +0 -1
  579. codex-1.8.13/codex/static_root/assets/index-DOP9KYca.js.br +0 -0
  580. codex-1.8.13/codex/static_root/assets/index-DOP9KYca.js.gz +0 -0
  581. codex-1.8.13/codex/static_root/assets/library-tab-B_PHwUZ-.516218e664f8.js +0 -1
  582. codex-1.8.13/codex/static_root/assets/library-tab-B_PHwUZ-.516218e664f8.js.br +0 -0
  583. codex-1.8.13/codex/static_root/assets/library-tab-B_PHwUZ-.516218e664f8.js.gz +0 -0
  584. codex-1.8.13/codex/static_root/assets/library-tab-B_PHwUZ-.js +0 -1
  585. codex-1.8.13/codex/static_root/assets/library-tab-B_PHwUZ-.js.br +0 -0
  586. codex-1.8.13/codex/static_root/assets/library-tab-B_PHwUZ-.js.gz +0 -0
  587. codex-1.8.13/codex/static_root/assets/main-B8_0rUnw.a9be0875ae25.css +0 -5
  588. codex-1.8.13/codex/static_root/assets/main-B8_0rUnw.a9be0875ae25.css.br +0 -0
  589. codex-1.8.13/codex/static_root/assets/main-B8_0rUnw.a9be0875ae25.css.gz +0 -0
  590. codex-1.8.13/codex/static_root/assets/main-B8_0rUnw.css +0 -5
  591. codex-1.8.13/codex/static_root/assets/main-B8_0rUnw.css.br +0 -0
  592. codex-1.8.13/codex/static_root/assets/main-B8_0rUnw.css.gz +0 -0
  593. codex-1.8.13/codex/static_root/assets/main-BERoK-j2.3915bda15ee5.js +0 -39
  594. codex-1.8.13/codex/static_root/assets/main-BERoK-j2.3915bda15ee5.js.br +0 -0
  595. codex-1.8.13/codex/static_root/assets/main-BERoK-j2.3915bda15ee5.js.gz +0 -0
  596. codex-1.8.13/codex/static_root/assets/main-BERoK-j2.js +0 -39
  597. codex-1.8.13/codex/static_root/assets/main-BERoK-j2.js.br +0 -0
  598. codex-1.8.13/codex/static_root/assets/main-BERoK-j2.js.gz +0 -0
  599. codex-1.8.13/codex/static_root/assets/pager-full-pdf-Bs_Q1Bfa.2408a027dbe1.js +0 -1
  600. codex-1.8.13/codex/static_root/assets/pager-full-pdf-Bs_Q1Bfa.2408a027dbe1.js.br +0 -0
  601. codex-1.8.13/codex/static_root/assets/pager-full-pdf-Bs_Q1Bfa.2408a027dbe1.js.gz +0 -0
  602. codex-1.8.13/codex/static_root/assets/pager-full-pdf-Bs_Q1Bfa.js +0 -1
  603. codex-1.8.13/codex/static_root/assets/pager-full-pdf-Bs_Q1Bfa.js.br +0 -0
  604. codex-1.8.13/codex/static_root/assets/pager-full-pdf-Bs_Q1Bfa.js.gz +0 -0
  605. codex-1.8.13/codex/static_root/assets/pagination-toolbar-CWi6EIET.c440bd1066b0.js +0 -1
  606. codex-1.8.13/codex/static_root/assets/pagination-toolbar-CWi6EIET.c440bd1066b0.js.br +0 -0
  607. codex-1.8.13/codex/static_root/assets/pagination-toolbar-CWi6EIET.c440bd1066b0.js.gz +0 -0
  608. codex-1.8.13/codex/static_root/assets/pagination-toolbar-CWi6EIET.js +0 -1
  609. codex-1.8.13/codex/static_root/assets/pagination-toolbar-CWi6EIET.js.br +0 -0
  610. codex-1.8.13/codex/static_root/assets/pagination-toolbar-CWi6EIET.js.gz +0 -0
  611. codex-1.8.13/codex/static_root/assets/pdf-doc-BFFOclVi.b0ec00bfb616.js +0 -372
  612. codex-1.8.13/codex/static_root/assets/pdf-doc-BFFOclVi.b0ec00bfb616.js.br +0 -0
  613. codex-1.8.13/codex/static_root/assets/pdf-doc-BFFOclVi.b0ec00bfb616.js.gz +0 -0
  614. codex-1.8.13/codex/static_root/assets/pdf-doc-BFFOclVi.js +0 -372
  615. codex-1.8.13/codex/static_root/assets/pdf-doc-BFFOclVi.js.br +0 -0
  616. codex-1.8.13/codex/static_root/assets/pdf-doc-BFFOclVi.js.gz +0 -0
  617. codex-1.8.13/codex/static_root/assets/reader-DxFZyySj.340be27f9b2d.js +0 -2
  618. codex-1.8.13/codex/static_root/assets/reader-DxFZyySj.340be27f9b2d.js.br +0 -0
  619. codex-1.8.13/codex/static_root/assets/reader-DxFZyySj.340be27f9b2d.js.gz +0 -0
  620. codex-1.8.13/codex/static_root/assets/reader-DxFZyySj.js +0 -2
  621. codex-1.8.13/codex/static_root/assets/reader-DxFZyySj.js.br +0 -0
  622. codex-1.8.13/codex/static_root/assets/reader-DxFZyySj.js.gz +0 -0
  623. codex-1.8.13/codex/static_root/assets/relation-chips-C4GQrh_b.f1e80447ddb4.js +0 -1
  624. codex-1.8.13/codex/static_root/assets/relation-chips-C4GQrh_b.f1e80447ddb4.js.br +0 -0
  625. codex-1.8.13/codex/static_root/assets/relation-chips-C4GQrh_b.f1e80447ddb4.js.gz +0 -0
  626. codex-1.8.13/codex/static_root/assets/relation-chips-C4GQrh_b.js +0 -1
  627. codex-1.8.13/codex/static_root/assets/relation-chips-C4GQrh_b.js.br +0 -0
  628. codex-1.8.13/codex/static_root/assets/relation-chips-C4GQrh_b.js.gz +0 -0
  629. codex-1.8.13/codex/static_root/assets/relation-chips-CpiT_4k-.b72d78f512e6.css +0 -1
  630. codex-1.8.13/codex/static_root/assets/relation-chips-CpiT_4k-.b72d78f512e6.css.br +0 -0
  631. codex-1.8.13/codex/static_root/assets/relation-chips-CpiT_4k-.b72d78f512e6.css.gz +0 -0
  632. codex-1.8.13/codex/static_root/assets/relation-chips-CpiT_4k-.css +0 -1
  633. codex-1.8.13/codex/static_root/assets/relation-chips-CpiT_4k-.css.br +0 -0
  634. codex-1.8.13/codex/static_root/assets/relation-chips-CpiT_4k-.css.gz +0 -0
  635. codex-1.8.13/codex/static_root/assets/settings-drawer-BD44Ahju.54110f5e27ec.js +0 -2
  636. codex-1.8.13/codex/static_root/assets/settings-drawer-BD44Ahju.54110f5e27ec.js.br +0 -0
  637. codex-1.8.13/codex/static_root/assets/settings-drawer-BD44Ahju.54110f5e27ec.js.gz +0 -0
  638. codex-1.8.13/codex/static_root/assets/settings-drawer-BD44Ahju.js +0 -2
  639. codex-1.8.13/codex/static_root/assets/settings-drawer-BD44Ahju.js.br +0 -0
  640. codex-1.8.13/codex/static_root/assets/settings-drawer-BD44Ahju.js.gz +0 -0
  641. codex-1.8.13/codex/static_root/assets/settings-drawer-D7bFOc4_.9748ddd58be9.css +0 -1
  642. codex-1.8.13/codex/static_root/assets/settings-drawer-D7bFOc4_.9748ddd58be9.css.br +0 -0
  643. codex-1.8.13/codex/static_root/assets/settings-drawer-D7bFOc4_.9748ddd58be9.css.gz +0 -0
  644. codex-1.8.13/codex/static_root/assets/settings-drawer-D7bFOc4_.css +0 -1
  645. codex-1.8.13/codex/static_root/assets/settings-drawer-D7bFOc4_.css.br +0 -0
  646. codex-1.8.13/codex/static_root/assets/settings-drawer-D7bFOc4_.css.gz +0 -0
  647. codex-1.8.13/codex/static_root/assets/ssrBoot-_TndNOM6.a99eba568e94.js +0 -1
  648. codex-1.8.13/codex/static_root/assets/ssrBoot-_TndNOM6.a99eba568e94.js.br +0 -0
  649. codex-1.8.13/codex/static_root/assets/ssrBoot-_TndNOM6.a99eba568e94.js.gz +0 -0
  650. codex-1.8.13/codex/static_root/assets/ssrBoot-_TndNOM6.js +0 -1
  651. codex-1.8.13/codex/static_root/assets/ssrBoot-_TndNOM6.js.br +0 -0
  652. codex-1.8.13/codex/static_root/assets/ssrBoot-_TndNOM6.js.gz +0 -0
  653. codex-1.8.13/codex/static_root/assets/stats-tab-Dzy_P00k.ea54237a2011.js +0 -1
  654. codex-1.8.13/codex/static_root/assets/stats-tab-Dzy_P00k.ea54237a2011.js.br +0 -0
  655. codex-1.8.13/codex/static_root/assets/stats-tab-Dzy_P00k.ea54237a2011.js.gz +0 -0
  656. codex-1.8.13/codex/static_root/assets/stats-tab-Dzy_P00k.js +0 -1
  657. codex-1.8.13/codex/static_root/assets/stats-tab-Dzy_P00k.js.br +0 -0
  658. codex-1.8.13/codex/static_root/assets/stats-tab-Dzy_P00k.js.gz +0 -0
  659. codex-1.8.13/codex/static_root/assets/task-tab-CW4DQ3KN.81812f9208e5.css +0 -1
  660. codex-1.8.13/codex/static_root/assets/task-tab-CW4DQ3KN.81812f9208e5.css.br +0 -2
  661. codex-1.8.13/codex/static_root/assets/task-tab-CW4DQ3KN.81812f9208e5.css.gz +0 -0
  662. codex-1.8.13/codex/static_root/assets/task-tab-CW4DQ3KN.css +0 -1
  663. codex-1.8.13/codex/static_root/assets/task-tab-CW4DQ3KN.css.br +0 -2
  664. codex-1.8.13/codex/static_root/assets/task-tab-CW4DQ3KN.css.gz +0 -0
  665. codex-1.8.13/codex/static_root/assets/task-tab-DUpMTPbM.bf11c5676008.js +0 -1
  666. codex-1.8.13/codex/static_root/assets/task-tab-DUpMTPbM.bf11c5676008.js.br +0 -0
  667. codex-1.8.13/codex/static_root/assets/task-tab-DUpMTPbM.bf11c5676008.js.gz +0 -0
  668. codex-1.8.13/codex/static_root/assets/task-tab-DUpMTPbM.js +0 -1
  669. codex-1.8.13/codex/static_root/assets/task-tab-DUpMTPbM.js.br +0 -0
  670. codex-1.8.13/codex/static_root/assets/task-tab-DUpMTPbM.js.gz +0 -0
  671. codex-1.8.13/codex/static_root/assets/unauthorized-BBwsmi0O.19d4882b821d.css +0 -1
  672. codex-1.8.13/codex/static_root/assets/unauthorized-BBwsmi0O.19d4882b821d.css.br +0 -0
  673. codex-1.8.13/codex/static_root/assets/unauthorized-BBwsmi0O.19d4882b821d.css.gz +0 -0
  674. codex-1.8.13/codex/static_root/assets/unauthorized-BBwsmi0O.css +0 -1
  675. codex-1.8.13/codex/static_root/assets/unauthorized-BBwsmi0O.css.br +0 -0
  676. codex-1.8.13/codex/static_root/assets/unauthorized-BBwsmi0O.css.gz +0 -0
  677. codex-1.8.13/codex/static_root/assets/unauthorized-CN4zNUwv.6cef38be7edd.js +0 -1
  678. codex-1.8.13/codex/static_root/assets/unauthorized-CN4zNUwv.6cef38be7edd.js.br +0 -0
  679. codex-1.8.13/codex/static_root/assets/unauthorized-CN4zNUwv.6cef38be7edd.js.gz +0 -0
  680. codex-1.8.13/codex/static_root/assets/unauthorized-CN4zNUwv.js +0 -1
  681. codex-1.8.13/codex/static_root/assets/unauthorized-CN4zNUwv.js.br +0 -0
  682. codex-1.8.13/codex/static_root/assets/unauthorized-CN4zNUwv.js.gz +0 -0
  683. codex-1.8.13/codex/static_root/assets/user-tab-BfK1ySCm.24ed1c97836c.js +0 -1
  684. codex-1.8.13/codex/static_root/assets/user-tab-BfK1ySCm.24ed1c97836c.js.br +0 -0
  685. codex-1.8.13/codex/static_root/assets/user-tab-BfK1ySCm.24ed1c97836c.js.gz +0 -0
  686. codex-1.8.13/codex/static_root/assets/user-tab-BfK1ySCm.js +0 -1
  687. codex-1.8.13/codex/static_root/assets/user-tab-BfK1ySCm.js.br +0 -0
  688. codex-1.8.13/codex/static_root/assets/user-tab-BfK1ySCm.js.gz +0 -0
  689. codex-1.8.13/codex/static_root/img/missing-cover-165.f4bb7740084c.webp +0 -0
  690. codex-1.8.13/codex/static_root/img/missing-cover-165.webp +0 -0
  691. codex-1.8.13/codex/static_root/manifest.c30398ff70cf.json +0 -760
  692. codex-1.8.13/codex/static_root/manifest.c30398ff70cf.json.br +0 -0
  693. codex-1.8.13/codex/static_root/manifest.c30398ff70cf.json.gz +0 -0
  694. codex-1.8.13/codex/static_root/manifest.json +0 -760
  695. codex-1.8.13/codex/static_root/manifest.json.br +0 -0
  696. codex-1.8.13/codex/static_root/manifest.json.gz +0 -0
  697. codex-1.8.13/codex/static_root/staticfiles.json +0 -1
  698. codex-1.8.13/codex/static_src/img/.picopt_treestamps.yaml +0 -19
  699. codex-1.8.13/codex/static_src/img/missing-cover-165.webp +0 -0
  700. codex-1.8.13/codex/templates/headers-icons.html +0 -10
  701. codex-1.8.13/codex/templates/pwa/headers.html +0 -17
  702. codex-1.8.13/codex/templates/pwa/serviceworker.js +0 -46
  703. codex-1.8.13/codex/urls/root.py +0 -43
  704. codex-1.8.13/codex/views/browser/annotate/order.py +0 -273
  705. codex-1.8.13/codex/views/browser/group_mtime.py +0 -86
  706. codex-1.8.13/codex/views/browser/params.py +0 -31
  707. codex-1.8.13/codex/views/reader/params.py +0 -70
  708. codex-1.8.13/codex/views/settings.py +0 -43
  709. codex-1.8.13/docker/debian.sources +0 -11
  710. codex-1.8.13/docs/NEWS.md +0 -1692
  711. codex-1.8.13/docs/README.md +0 -533
  712. codex-1.8.13/eslint.config.js +0 -182
  713. codex-1.8.13/frontend/eslint.config.js +0 -91
  714. codex-1.8.13/frontend/package-lock.json +0 -7381
  715. codex-1.8.13/frontend/package.json +0 -59
  716. codex-1.8.13/frontend/src/api/v3/base.js +0 -29
  717. codex-1.8.13/frontend/src/api/v3/common.js +0 -121
  718. codex-1.8.13/frontend/src/components/admin/create-update-dialog/create-update-button.vue +0 -37
  719. codex-1.8.13/frontend/src/components/admin/tabs/task-tab.vue +0 -167
  720. codex-1.8.13/frontend/src/stores/browser.js +0 -682
  721. codex-1.8.13/frontend/src/stores/common.js +0 -99
  722. codex-1.8.13/frontend/src/stores/reader.js +0 -685
  723. codex-1.8.13/package-lock.json +0 -10228
  724. codex-1.8.13/package.json +0 -102
  725. codex-1.8.13/pyproject.toml +0 -414
  726. codex-1.8.13/uv.lock +0 -3459
  727. {codex-1.8.13 → codex-1.8.16}/.dockerignore +0 -0
  728. {codex-1.8.13 → codex-1.8.16}/.gitignore +0 -0
  729. {codex-1.8.13 → codex-1.8.16}/.prettierignore +0 -0
  730. {codex-1.8.13 → codex-1.8.16}/.readthedocs.yaml +0 -0
  731. {codex-1.8.13 → codex-1.8.16}/.remarkignore +0 -0
  732. {codex-1.8.13 → codex-1.8.16}/.shellcheckrc +0 -0
  733. {codex-1.8.13 → codex-1.8.16}/Makefile +0 -0
  734. {codex-1.8.13 → codex-1.8.16}/bin/__init__.py +0 -0
  735. {codex-1.8.13 → codex-1.8.16}/bin/alpha-deploy.sh +0 -0
  736. {codex-1.8.13 → codex-1.8.16}/bin/alpha-test-build-dist.sh +0 -0
  737. {codex-1.8.13 → codex-1.8.16}/bin/benchmark-opds.sh +0 -0
  738. {codex-1.8.13 → codex-1.8.16}/bin/build-choices.sh +0 -0
  739. {codex-1.8.13 → codex-1.8.16}/bin/build-dist.sh +0 -0
  740. {codex-1.8.13 → codex-1.8.16}/bin/circleci/circleci-step-halt.sh +0 -0
  741. {codex-1.8.13 → codex-1.8.16}/bin/circleci/old/circleci-set-dist-cache-key-if-last-commit-equal.sh +0 -0
  742. {codex-1.8.13 → codex-1.8.16}/bin/circleci/old/circleci-set-dist-cache-key-to-current-commit.sh +0 -0
  743. {codex-1.8.13 → codex-1.8.16}/bin/circleci/old/circleci-set-skip-dist-build.sh +0 -0
  744. {codex-1.8.13 → codex-1.8.16}/bin/clean-pycache.sh +0 -0
  745. {codex-1.8.13 → codex-1.8.16}/bin/collectstatic.sh +0 -0
  746. {codex-1.8.13 → codex-1.8.16}/bin/dev-docker.sh +0 -0
  747. {codex-1.8.13 → codex-1.8.16}/bin/dev-module.sh +0 -0
  748. {codex-1.8.13 → codex-1.8.16}/bin/dev-prod-server.sh +0 -0
  749. {codex-1.8.13 → codex-1.8.16}/bin/dev-reverse-proxy.sh +0 -0
  750. {codex-1.8.13 → codex-1.8.16}/bin/dev-server.sh +0 -0
  751. {codex-1.8.13 → codex-1.8.16}/bin/dev-ttabs.sh +0 -0
  752. {codex-1.8.13 → codex-1.8.16}/bin/fix-lint-backend.sh +0 -0
  753. {codex-1.8.13 → codex-1.8.16}/bin/kill-codex.sh +0 -0
  754. {codex-1.8.13 → codex-1.8.16}/bin/kill-eslint_d.sh +0 -0
  755. {codex-1.8.13 → codex-1.8.16}/bin/lint-backend.sh +0 -0
  756. {codex-1.8.13 → codex-1.8.16}/bin/localize-db.sh +0 -0
  757. {codex-1.8.13 → codex-1.8.16}/bin/localize_library.sql +0 -0
  758. {codex-1.8.13 → codex-1.8.16}/bin/makefile-help.mk +0 -0
  759. {codex-1.8.13 → codex-1.8.16}/bin/manage.py +0 -0
  760. {codex-1.8.13 → codex-1.8.16}/bin/pm +0 -0
  761. {codex-1.8.13 → codex-1.8.16}/bin/prettier-nginx.sh +0 -0
  762. {codex-1.8.13 → codex-1.8.16}/bin/roman.sh +0 -0
  763. {codex-1.8.13 → codex-1.8.16}/bin/sortignore.sh +0 -0
  764. {codex-1.8.13 → codex-1.8.16}/bin/test-backend.sh +0 -0
  765. {codex-1.8.13 → codex-1.8.16}/bin/test.sh +0 -0
  766. {codex-1.8.13 → codex-1.8.16}/bin/uml.sh +0 -0
  767. {codex-1.8.13 → codex-1.8.16}/bin/update-deps.sh +0 -0
  768. {codex-1.8.13 → codex-1.8.16}/bin/vendor-diff-package.sh +0 -0
  769. {codex-1.8.13 → codex-1.8.16}/bin/vendor-patch-imports.sh +0 -0
  770. {codex-1.8.13 → codex-1.8.16}/bin/venv-upgrade.sh +0 -0
  771. {codex-1.8.13 → codex-1.8.16}/bin/version.sh +0 -0
  772. {codex-1.8.13 → codex-1.8.16}/codex/applications/__init__.py +0 -0
  773. {codex-1.8.13 → codex-1.8.16}/codex/applications/lifespan.py +0 -0
  774. {codex-1.8.13 → codex-1.8.16}/codex/applications/websocket.py +0 -0
  775. {codex-1.8.13 → codex-1.8.16}/codex/asgi.py +0 -0
  776. {codex-1.8.13 → codex-1.8.16}/codex/choices/__init__.py +0 -0
  777. {codex-1.8.13 → codex-1.8.16}/codex/choices/admin.py +0 -0
  778. {codex-1.8.13 → codex-1.8.16}/codex/choices/browser.py +0 -0
  779. {codex-1.8.13 → codex-1.8.16}/codex/choices/choices_to_json.py +0 -0
  780. {codex-1.8.13 → codex-1.8.16}/codex/choices/notifications.py +0 -0
  781. {codex-1.8.13 → codex-1.8.16}/codex/choices/reader.py +0 -0
  782. {codex-1.8.13 → codex-1.8.16}/codex/choices/search.py +0 -0
  783. {codex-1.8.13 → codex-1.8.16}/codex/choices/statii.py +0 -0
  784. {codex-1.8.13 → codex-1.8.16}/codex/librarian/README.md +0 -0
  785. {codex-1.8.13 → codex-1.8.16}/codex/librarian/__init__.py +0 -0
  786. {codex-1.8.13 → codex-1.8.16}/codex/librarian/bookmark/__init__.py +0 -0
  787. {codex-1.8.13 → codex-1.8.16}/codex/librarian/bookmark/bookmarkd.py +0 -0
  788. {codex-1.8.13 → codex-1.8.16}/codex/librarian/bookmark/latest_version.py +0 -0
  789. {codex-1.8.13 → codex-1.8.16}/codex/librarian/bookmark/tasks.py +0 -0
  790. {codex-1.8.13 → codex-1.8.16}/codex/librarian/bookmark/update.py +0 -0
  791. {codex-1.8.13 → codex-1.8.16}/codex/librarian/bookmark/user_active.py +0 -0
  792. {codex-1.8.13 → codex-1.8.16}/codex/librarian/covers/__init__.py +0 -0
  793. {codex-1.8.13 → codex-1.8.16}/codex/librarian/covers/coverd.py +0 -0
  794. {codex-1.8.13 → codex-1.8.16}/codex/librarian/covers/create.py +0 -0
  795. {codex-1.8.13 → codex-1.8.16}/codex/librarian/covers/path.py +0 -0
  796. {codex-1.8.13 → codex-1.8.16}/codex/librarian/covers/purge.py +0 -0
  797. {codex-1.8.13 → codex-1.8.16}/codex/librarian/covers/status.py +0 -0
  798. {codex-1.8.13 → codex-1.8.16}/codex/librarian/covers/tasks.py +0 -0
  799. {codex-1.8.13 → codex-1.8.16}/codex/librarian/cron/__init__.py +0 -0
  800. {codex-1.8.13 → codex-1.8.16}/codex/librarian/cron/crond.py +0 -0
  801. {codex-1.8.13 → codex-1.8.16}/codex/librarian/librariand.py +0 -0
  802. {codex-1.8.13 → codex-1.8.16}/codex/librarian/memory.py +0 -0
  803. {codex-1.8.13 → codex-1.8.16}/codex/librarian/mp_queue.py +0 -0
  804. {codex-1.8.13 → codex-1.8.16}/codex/librarian/notifier/__init__.py +0 -0
  805. {codex-1.8.13 → codex-1.8.16}/codex/librarian/notifier/notifierd.py +0 -0
  806. {codex-1.8.13 → codex-1.8.16}/codex/librarian/notifier/tasks.py +0 -0
  807. {codex-1.8.13 → codex-1.8.16}/codex/librarian/restarter/__init__.py +0 -0
  808. {codex-1.8.13 → codex-1.8.16}/codex/librarian/restarter/restarter.py +0 -0
  809. {codex-1.8.13 → codex-1.8.16}/codex/librarian/restarter/status.py +0 -0
  810. {codex-1.8.13 → codex-1.8.16}/codex/librarian/restarter/tasks.py +0 -0
  811. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/__init__.py +0 -0
  812. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/__init__.py +0 -0
  813. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/const.py +0 -0
  814. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/create/__init__.py +0 -0
  815. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/create/comics.py +0 -0
  816. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/create/const.py +0 -0
  817. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/create/covers.py +0 -0
  818. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/create/folders.py +0 -0
  819. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/create/foreign_keys.py +0 -0
  820. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/create/link_fks.py +0 -0
  821. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/delete/__init__.py +0 -0
  822. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/delete/comics.py +0 -0
  823. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/delete/covers.py +0 -0
  824. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/delete/folders.py +0 -0
  825. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/failed/__init__.py +0 -0
  826. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/failed/create.py +0 -0
  827. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/failed/failed.py +0 -0
  828. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/failed/query.py +0 -0
  829. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/finish.py +0 -0
  830. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/importer.py +0 -0
  831. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/init.py +0 -0
  832. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/link/__init__.py +0 -0
  833. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/link/const.py +0 -0
  834. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/link/covers.py +0 -0
  835. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/link/many_to_many.py +0 -0
  836. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/link/prepare.py +0 -0
  837. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/link/sum.py +0 -0
  838. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/moved/__init__.py +0 -0
  839. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/moved/comics.py +0 -0
  840. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/moved/covers.py +0 -0
  841. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/moved/folders.py +0 -0
  842. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/query/__init__.py +0 -0
  843. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/query/covers.py +0 -0
  844. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/query/filters.py +0 -0
  845. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/query/foreign_keys.py +0 -0
  846. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/query/links.py +0 -0
  847. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/query/links_fk.py +0 -0
  848. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/query/links_m2m.py +0 -0
  849. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/query/update_comics.py +0 -0
  850. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/query/update_fks.py +0 -0
  851. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/read/__init__.py +0 -0
  852. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/read/aggregate_path.py +0 -0
  853. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/read/const.py +0 -0
  854. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/read/extract.py +0 -0
  855. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/read/folders.py +0 -0
  856. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/read/many_to_many.py +0 -0
  857. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/search/__init__.py +0 -0
  858. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/search/prepare.py +0 -0
  859. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/search/sync_m2m.py +0 -0
  860. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/search/update.py +0 -0
  861. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/statii/__init__.py +0 -0
  862. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/statii/create.py +0 -0
  863. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/statii/delete.py +0 -0
  864. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/statii/failed.py +0 -0
  865. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/statii/link.py +0 -0
  866. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/statii/moved.py +0 -0
  867. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/statii/query.py +0 -0
  868. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/statii/read.py +0 -0
  869. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/statii/search.py +0 -0
  870. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/importer/status.py +0 -0
  871. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/janitor/__init__.py +0 -0
  872. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/janitor/adopt_folders.py +0 -0
  873. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/janitor/cleanup.py +0 -0
  874. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/janitor/failed_imports.py +0 -0
  875. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/janitor/integrity.py +0 -0
  876. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/janitor/janitor.py +0 -0
  877. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/janitor/scheduled_time.py +0 -0
  878. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/janitor/status.py +0 -0
  879. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/janitor/tasks.py +0 -0
  880. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/janitor/update.py +0 -0
  881. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/janitor/vacuum.py +0 -0
  882. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/lazy_importer.py +0 -0
  883. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/priority.py +0 -0
  884. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/scribed.py +0 -0
  885. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/search/__init__.py +0 -0
  886. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/search/const.py +0 -0
  887. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/search/handler.py +0 -0
  888. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/search/optimize.py +0 -0
  889. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/search/prepare.py +0 -0
  890. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/search/remove.py +0 -0
  891. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/search/status.py +0 -0
  892. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/search/sync.py +0 -0
  893. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/search/tasks.py +0 -0
  894. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/status.py +0 -0
  895. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/tasks.py +0 -0
  896. {codex-1.8.13 → codex-1.8.16}/codex/librarian/scribe/timestamp_update.py +0 -0
  897. {codex-1.8.13 → codex-1.8.16}/codex/librarian/status.py +0 -0
  898. {codex-1.8.13 → codex-1.8.16}/codex/librarian/status_controller.py +0 -0
  899. {codex-1.8.13 → codex-1.8.16}/codex/librarian/tasks.py +0 -0
  900. {codex-1.8.13 → codex-1.8.16}/codex/librarian/telemeter/__init__.py +0 -0
  901. {codex-1.8.13 → codex-1.8.16}/codex/librarian/telemeter/stats.py +0 -0
  902. {codex-1.8.13 → codex-1.8.16}/codex/librarian/telemeter/tasks.py +0 -0
  903. {codex-1.8.13 → codex-1.8.16}/codex/librarian/telemeter/telemeter.py +0 -0
  904. {codex-1.8.13 → codex-1.8.16}/codex/librarian/threads.py +0 -0
  905. {codex-1.8.13 → codex-1.8.16}/codex/librarian/watchdog/README.md +0 -0
  906. {codex-1.8.13 → codex-1.8.16}/codex/librarian/watchdog/__init__.py +0 -0
  907. {codex-1.8.13 → codex-1.8.16}/codex/librarian/watchdog/const.py +0 -0
  908. {codex-1.8.13 → codex-1.8.16}/codex/librarian/watchdog/db_snapshot.py +0 -0
  909. {codex-1.8.13 → codex-1.8.16}/codex/librarian/watchdog/dir_snapshot_diff.py +0 -0
  910. {codex-1.8.13 → codex-1.8.16}/codex/librarian/watchdog/emitter.py +0 -0
  911. {codex-1.8.13 → codex-1.8.16}/codex/librarian/watchdog/event_batcherd.py +0 -0
  912. {codex-1.8.13 → codex-1.8.16}/codex/librarian/watchdog/events.py +0 -0
  913. {codex-1.8.13 → codex-1.8.16}/codex/librarian/watchdog/handlers.py +0 -0
  914. {codex-1.8.13 → codex-1.8.16}/codex/librarian/watchdog/observers.py +0 -0
  915. {codex-1.8.13 → codex-1.8.16}/codex/librarian/watchdog/status.py +0 -0
  916. {codex-1.8.13 → codex-1.8.16}/codex/librarian/watchdog/tasks.py +0 -0
  917. {codex-1.8.13 → codex-1.8.16}/codex/librarian/worker.py +0 -0
  918. {codex-1.8.13 → codex-1.8.16}/codex/middleware.py +0 -0
  919. {codex-1.8.13 → codex-1.8.16}/codex/migrations/0001_init.py +0 -0
  920. {codex-1.8.13 → codex-1.8.16}/codex/migrations/0002_auto_20200826_0622.py +0 -0
  921. {codex-1.8.13 → codex-1.8.16}/codex/migrations/0003_auto_20200831_2033.py +0 -0
  922. {codex-1.8.13 → codex-1.8.16}/codex/migrations/0004_failedimport.py +0 -0
  923. {codex-1.8.13 → codex-1.8.16}/codex/migrations/0005_auto_20200918_0146.py +0 -0
  924. {codex-1.8.13 → codex-1.8.16}/codex/migrations/0006_update_default_names_and_remove_duplicate_comics.py +0 -0
  925. {codex-1.8.13 → codex-1.8.16}/codex/migrations/0007_auto_20211210_1710.py +0 -0
  926. {codex-1.8.13 → codex-1.8.16}/codex/migrations/0008_alter_comic_created_at_alter_comic_format_and_more.py +0 -0
  927. {codex-1.8.13 → codex-1.8.16}/codex/migrations/0009_alter_comic_parent_folder.py +0 -0
  928. {codex-1.8.13 → codex-1.8.16}/codex/migrations/0010_haystack.py +0 -0
  929. {codex-1.8.13 → codex-1.8.16}/codex/migrations/0011_library_groups_and_metadata_changes.py +0 -0
  930. {codex-1.8.13 → codex-1.8.16}/codex/migrations/0012_rename_description_comic_comments.py +0 -0
  931. {codex-1.8.13 → codex-1.8.16}/codex/migrations/0013_int_issue_count_longer_charfields.py +0 -0
  932. {codex-1.8.13 → codex-1.8.16}/codex/migrations/0014_pdf_issue_suffix_remove_cover_image_sort_name.py +0 -0
  933. {codex-1.8.13 → codex-1.8.16}/codex/migrations/0015_link_comics_to_top_level_folders.py +0 -0
  934. {codex-1.8.13 → codex-1.8.16}/codex/migrations/0016_remove_comic_cover_path_librarianstatus.py +0 -0
  935. {codex-1.8.13 → codex-1.8.16}/codex/migrations/0017_alter_timestamp_options_alter_adminflag_name_and_more.py +0 -0
  936. {codex-1.8.13 → codex-1.8.16}/codex/migrations/0018_rename_userbookmark_bookmark.py +0 -0
  937. {codex-1.8.13 → codex-1.8.16}/codex/migrations/0019_delete_queuejob.py +0 -0
  938. {codex-1.8.13 → codex-1.8.16}/codex/migrations/0020_remove_search_tables.py +0 -0
  939. {codex-1.8.13 → codex-1.8.16}/codex/migrations/0021_bookmark_fit_to_choices_read_in_reverse.py +0 -0
  940. {codex-1.8.13 → codex-1.8.16}/codex/migrations/0022_bookmark_vertical_useractive_null_statuses.py +0 -0
  941. {codex-1.8.13 → codex-1.8.16}/codex/migrations/0023_rename_credit_creator_and_more.py +0 -0
  942. {codex-1.8.13 → codex-1.8.16}/codex/migrations/0024_comic_gtin_comic_story_arc_number.py +0 -0
  943. {codex-1.8.13 → codex-1.8.16}/codex/migrations/0025_add_story_arc_number.py +0 -0
  944. {codex-1.8.13 → codex-1.8.16}/codex/migrations/0026_comicbox_1.py +0 -0
  945. {codex-1.8.13 → codex-1.8.16}/codex/migrations/0027_import_order_and_covers.py +0 -0
  946. {codex-1.8.13 → codex-1.8.16}/codex/migrations/0028_telemeter.py +0 -0
  947. {codex-1.8.13 → codex-1.8.16}/codex/migrations/0029_comicfts.py +0 -0
  948. {codex-1.8.13 → codex-1.8.16}/codex/migrations/0030_nocase_collation_day_month_indexes_status_types.py +0 -0
  949. {codex-1.8.13 → codex-1.8.16}/codex/migrations/0031_adminflag_banner.py +0 -0
  950. {codex-1.8.13 → codex-1.8.16}/codex/migrations/0032_alter_librarianstatus_preactive.py +0 -0
  951. {codex-1.8.13 → codex-1.8.16}/codex/migrations/0033_alter_librarianstatus_status_type.py +0 -0
  952. {codex-1.8.13 → codex-1.8.16}/codex/migrations/0034_comicbox2.py +0 -0
  953. {codex-1.8.13 → codex-1.8.16}/codex/migrations/0035_fts_optmize.py +0 -0
  954. {codex-1.8.13 → codex-1.8.16}/codex/migrations/__init__.py +0 -0
  955. {codex-1.8.13 → codex-1.8.16}/codex/models/__init__.py +0 -0
  956. {codex-1.8.13 → codex-1.8.16}/codex/models/admin.py +0 -0
  957. {codex-1.8.13 → codex-1.8.16}/codex/models/base.py +0 -0
  958. {codex-1.8.13 → codex-1.8.16}/codex/models/bookmark.py +0 -0
  959. {codex-1.8.13 → codex-1.8.16}/codex/models/comic.py +0 -0
  960. {codex-1.8.13 → codex-1.8.16}/codex/models/fields.py +0 -0
  961. {codex-1.8.13 → codex-1.8.16}/codex/models/functions.py +0 -0
  962. {codex-1.8.13 → codex-1.8.16}/codex/models/groups.py +0 -0
  963. {codex-1.8.13 → codex-1.8.16}/codex/models/identifier.py +0 -0
  964. {codex-1.8.13 → codex-1.8.16}/codex/models/library.py +0 -0
  965. {codex-1.8.13 → codex-1.8.16}/codex/models/named.py +0 -0
  966. {codex-1.8.13 → codex-1.8.16}/codex/models/paths.py +0 -0
  967. {codex-1.8.13 → codex-1.8.16}/codex/models/query.py +0 -0
  968. {codex-1.8.13 → codex-1.8.16}/codex/models/util.py +0 -0
  969. {codex-1.8.13 → codex-1.8.16}/codex/run.py +0 -0
  970. {codex-1.8.13 → codex-1.8.16}/codex/serializers/README.md +0 -0
  971. {codex-1.8.13 → codex-1.8.16}/codex/serializers/__init__.py +0 -0
  972. {codex-1.8.13 → codex-1.8.16}/codex/serializers/admin/__init__.py +0 -0
  973. {codex-1.8.13 → codex-1.8.16}/codex/serializers/admin/flags.py +0 -0
  974. {codex-1.8.13 → codex-1.8.16}/codex/serializers/admin/groups.py +0 -0
  975. {codex-1.8.13 → codex-1.8.16}/codex/serializers/admin/libraries.py +0 -0
  976. {codex-1.8.13 → codex-1.8.16}/codex/serializers/admin/stats.py +0 -0
  977. {codex-1.8.13 → codex-1.8.16}/codex/serializers/admin/tasks.py +0 -0
  978. {codex-1.8.13 → codex-1.8.16}/codex/serializers/admin/users.py +0 -0
  979. {codex-1.8.13 → codex-1.8.16}/codex/serializers/auth.py +0 -0
  980. {codex-1.8.13 → codex-1.8.16}/codex/serializers/browser/__init__.py +0 -0
  981. {codex-1.8.13 → codex-1.8.16}/codex/serializers/browser/filters.py +0 -0
  982. {codex-1.8.13 → codex-1.8.16}/codex/serializers/browser/metadata.py +0 -0
  983. {codex-1.8.13 → codex-1.8.16}/codex/serializers/browser/mixins.py +0 -0
  984. {codex-1.8.13 → codex-1.8.16}/codex/serializers/browser/mtime.py +0 -0
  985. {codex-1.8.13 → codex-1.8.16}/codex/serializers/browser/page.py +0 -0
  986. {codex-1.8.13 → codex-1.8.16}/codex/serializers/browser/settings.py +0 -0
  987. {codex-1.8.13 → codex-1.8.16}/codex/serializers/fields/__init__.py +0 -0
  988. {codex-1.8.13 → codex-1.8.16}/codex/serializers/fields/auth.py +0 -0
  989. {codex-1.8.13 → codex-1.8.16}/codex/serializers/fields/base.py +0 -0
  990. {codex-1.8.13 → codex-1.8.16}/codex/serializers/fields/browser.py +0 -0
  991. {codex-1.8.13 → codex-1.8.16}/codex/serializers/fields/group.py +0 -0
  992. {codex-1.8.13 → codex-1.8.16}/codex/serializers/fields/reader.py +0 -0
  993. {codex-1.8.13 → codex-1.8.16}/codex/serializers/fields/sanitized.py +0 -0
  994. {codex-1.8.13 → codex-1.8.16}/codex/serializers/fields/session.py +0 -0
  995. {codex-1.8.13 → codex-1.8.16}/codex/serializers/fields/stats.py +0 -0
  996. {codex-1.8.13 → codex-1.8.16}/codex/serializers/fields/vuetify.py +0 -0
  997. {codex-1.8.13 → codex-1.8.16}/codex/serializers/homepage.py +0 -0
  998. {codex-1.8.13 → codex-1.8.16}/codex/serializers/mixins.py +0 -0
  999. {codex-1.8.13 → codex-1.8.16}/codex/serializers/models/__init__.py +0 -0
  1000. {codex-1.8.13 → codex-1.8.16}/codex/serializers/models/admin.py +0 -0
  1001. {codex-1.8.13 → codex-1.8.16}/codex/serializers/models/base.py +0 -0
  1002. {codex-1.8.13 → codex-1.8.16}/codex/serializers/models/bookmark.py +0 -0
  1003. {codex-1.8.13 → codex-1.8.16}/codex/serializers/models/comic.py +0 -0
  1004. {codex-1.8.13 → codex-1.8.16}/codex/serializers/models/groups.py +0 -0
  1005. {codex-1.8.13 → codex-1.8.16}/codex/serializers/models/named.py +0 -0
  1006. {codex-1.8.13 → codex-1.8.16}/codex/serializers/models/pycountry.py +0 -0
  1007. {codex-1.8.13 → codex-1.8.16}/codex/serializers/opds/__init__.py +0 -0
  1008. {codex-1.8.13 → codex-1.8.16}/codex/serializers/opds/authentication.py +0 -0
  1009. {codex-1.8.13 → codex-1.8.16}/codex/serializers/opds/urls.py +0 -0
  1010. {codex-1.8.13 → codex-1.8.16}/codex/serializers/opds/v1.py +0 -0
  1011. {codex-1.8.13 → codex-1.8.16}/codex/serializers/opds/v2/__init__.py +0 -0
  1012. {codex-1.8.13 → codex-1.8.16}/codex/serializers/opds/v2/facet.py +0 -0
  1013. {codex-1.8.13 → codex-1.8.16}/codex/serializers/opds/v2/feed.py +0 -0
  1014. {codex-1.8.13 → codex-1.8.16}/codex/serializers/opds/v2/links.py +0 -0
  1015. {codex-1.8.13 → codex-1.8.16}/codex/serializers/opds/v2/metadata.py +0 -0
  1016. {codex-1.8.13 → codex-1.8.16}/codex/serializers/opds/v2/progression.py +0 -0
  1017. {codex-1.8.13 → codex-1.8.16}/codex/serializers/opds/v2/publication.py +0 -0
  1018. {codex-1.8.13 → codex-1.8.16}/codex/serializers/opds/v2/unused.py +0 -0
  1019. {codex-1.8.13 → codex-1.8.16}/codex/serializers/reader.py +0 -0
  1020. {codex-1.8.13 → codex-1.8.16}/codex/serializers/redirect.py +0 -0
  1021. {codex-1.8.13 → codex-1.8.16}/codex/serializers/route.py +0 -0
  1022. {codex-1.8.13 → codex-1.8.16}/codex/serializers/settings.py +0 -0
  1023. {codex-1.8.13 → codex-1.8.16}/codex/serializers/versions.py +0 -0
  1024. {codex-1.8.13 → codex-1.8.16}/codex/settings/README.md +0 -0
  1025. {codex-1.8.13 → codex-1.8.16}/codex/settings/__init__.py +0 -0
  1026. {codex-1.8.13 → codex-1.8.16}/codex/settings/hypercorn.py +0 -0
  1027. {codex-1.8.13 → codex-1.8.16}/codex/settings/hypercorn.toml.default +0 -0
  1028. {codex-1.8.13 → codex-1.8.16}/codex/settings/secret_key.py +0 -0
  1029. {codex-1.8.13 → codex-1.8.16}/codex/settings/timezone.py +0 -0
  1030. {codex-1.8.13 → codex-1.8.16}/codex/settings/whitenoise.py +0 -0
  1031. {codex-1.8.13 → codex-1.8.16}/codex/signals/__init__.py +0 -0
  1032. {codex-1.8.13 → codex-1.8.16}/codex/signals/django_signals.py +0 -0
  1033. {codex-1.8.13 → codex-1.8.16}/codex/startup/db.py +0 -0
  1034. {codex-1.8.13 → codex-1.8.16}/codex/startup/registration.py +0 -0
  1035. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/VCheckbox-CvH8ekHL.016ed8d222c4.css +0 -0
  1036. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/VCheckbox-CvH8ekHL.016ed8d222c4.css.br +0 -0
  1037. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/VCheckbox-CvH8ekHL.016ed8d222c4.css.gz +0 -0
  1038. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/VCheckbox-CvH8ekHL.css +0 -0
  1039. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/VCheckbox-CvH8ekHL.css.br +0 -0
  1040. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/VCheckbox-CvH8ekHL.css.gz +0 -0
  1041. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/VForm-DxBt30-N.138c0b89b6fc.css +0 -0
  1042. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/VForm-DxBt30-N.138c0b89b6fc.css.br +0 -0
  1043. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/VForm-DxBt30-N.138c0b89b6fc.css.gz +0 -0
  1044. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/VForm-DxBt30-N.css +0 -0
  1045. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/VForm-DxBt30-N.css.br +0 -0
  1046. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/VForm-DxBt30-N.css.gz +0 -0
  1047. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/VRadioGroup-Cp9mZ7cb.8e3741381961.css +0 -0
  1048. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/VRadioGroup-Cp9mZ7cb.8e3741381961.css.br +0 -0
  1049. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/VRadioGroup-Cp9mZ7cb.8e3741381961.css.gz +0 -0
  1050. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/VRadioGroup-Cp9mZ7cb.css +0 -0
  1051. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/VRadioGroup-Cp9mZ7cb.css.br +0 -0
  1052. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/VRadioGroup-Cp9mZ7cb.css.gz +0 -0
  1053. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/VTable-BsI6FsWH.css +0 -0
  1054. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/VTable-BsI6FsWH.css.br +0 -0
  1055. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/VTable-BsI6FsWH.css.gz +0 -0
  1056. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/VTable-BsI6FsWH.d4c54d44a5ab.css +0 -0
  1057. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/VTable-BsI6FsWH.d4c54d44a5ab.css.br +0 -0
  1058. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/VTable-BsI6FsWH.d4c54d44a5ab.css.gz +0 -0
  1059. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/admin-DJCVf2PA.7ba26fd73264.css +0 -0
  1060. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/admin-DJCVf2PA.7ba26fd73264.css.br +0 -0
  1061. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/admin-DJCVf2PA.7ba26fd73264.css.gz +0 -0
  1062. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/admin-DJCVf2PA.css +0 -0
  1063. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/admin-DJCVf2PA.css.br +0 -0
  1064. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/admin-DJCVf2PA.css.gz +0 -0
  1065. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/admin-menu-BdgFc4sK.3a1221757854.css +0 -0
  1066. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/admin-menu-BdgFc4sK.3a1221757854.css.br +0 -0
  1067. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/admin-menu-BdgFc4sK.3a1221757854.css.gz +0 -0
  1068. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/admin-menu-BdgFc4sK.css +0 -0
  1069. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/admin-menu-BdgFc4sK.css.br +0 -0
  1070. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/admin-menu-BdgFc4sK.css.gz +0 -0
  1071. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/admin-settings-button-progress-Cks9_KN-.a592809d4008.css +0 -0
  1072. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/admin-settings-button-progress-Cks9_KN-.css +0 -0
  1073. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/browser-CS6VSg0_.9a6e8eda0520.css +0 -0
  1074. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/browser-CS6VSg0_.9a6e8eda0520.css.br +0 -0
  1075. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/browser-CS6VSg0_.9a6e8eda0520.css.gz +0 -0
  1076. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/browser-CS6VSg0_.css +0 -0
  1077. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/browser-CS6VSg0_.css.br +0 -0
  1078. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/browser-CS6VSg0_.css.gz +0 -0
  1079. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/change-password-dialog-DL8UMjmX.526f97e577e7.css +0 -0
  1080. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/change-password-dialog-DL8UMjmX.526f97e577e7.css.br +0 -0
  1081. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/change-password-dialog-DL8UMjmX.526f97e577e7.css.gz +0 -0
  1082. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/change-password-dialog-DL8UMjmX.css +0 -0
  1083. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/change-password-dialog-DL8UMjmX.css.br +0 -0
  1084. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/change-password-dialog-DL8UMjmX.css.gz +0 -0
  1085. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/confirm-dialog-YfC8mRQA.be37e8f67e0f.css +0 -0
  1086. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/confirm-dialog-YfC8mRQA.css +0 -0
  1087. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/copy-to-clipboard-DoUvDJVx.bec27f144aca.js +0 -0
  1088. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/copy-to-clipboard-DoUvDJVx.bec27f144aca.js.br +0 -0
  1089. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/copy-to-clipboard-DoUvDJVx.js +0 -0
  1090. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/copy-to-clipboard-DoUvDJVx.js.br +0 -0
  1091. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/datetime-column-Bt7J1qEf.css +0 -0
  1092. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/datetime-column-Bt7J1qEf.css.br +0 -0
  1093. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/datetime-column-Bt7J1qEf.d83164b4d4cb.css +0 -0
  1094. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/datetime-column-Bt7J1qEf.d83164b4d4cb.css.br +0 -0
  1095. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/flag-tab-CESc_7Pq.2260edfa4c38.css +0 -0
  1096. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/flag-tab-CESc_7Pq.2260edfa4c38.css.br +0 -0
  1097. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/flag-tab-CESc_7Pq.2260edfa4c38.css.gz +0 -0
  1098. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/flag-tab-CESc_7Pq.css +0 -0
  1099. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/flag-tab-CESc_7Pq.css.br +0 -0
  1100. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/flag-tab-CESc_7Pq.css.gz +0 -0
  1101. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/group-tab-CQ_Qw6h8.078d0a9225ba.css +0 -0
  1102. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/group-tab-CQ_Qw6h8.078d0a9225ba.css.br +0 -0
  1103. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/group-tab-CQ_Qw6h8.078d0a9225ba.css.gz +0 -0
  1104. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/group-tab-CQ_Qw6h8.css +0 -0
  1105. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/group-tab-CQ_Qw6h8.css.br +0 -0
  1106. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/group-tab-CQ_Qw6h8.css.gz +0 -0
  1107. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/http-error-CB3k5P-n.82d886ac81c7.css +0 -0
  1108. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/http-error-CB3k5P-n.82d886ac81c7.css.br +0 -0
  1109. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/http-error-CB3k5P-n.82d886ac81c7.css.gz +0 -0
  1110. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/http-error-CB3k5P-n.css +0 -0
  1111. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/http-error-CB3k5P-n.css.br +0 -0
  1112. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/http-error-CB3k5P-n.css.gz +0 -0
  1113. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/index-Czf-fUM7.50a7466d956f.css +0 -0
  1114. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/index-Czf-fUM7.50a7466d956f.css.br +0 -0
  1115. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/index-Czf-fUM7.50a7466d956f.css.gz +0 -0
  1116. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/index-Czf-fUM7.css +0 -0
  1117. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/index-Czf-fUM7.css.br +0 -0
  1118. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/index-Czf-fUM7.css.gz +0 -0
  1119. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/library-tab-DIIxAUNe.10ec98cfe11d.css +0 -0
  1120. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/library-tab-DIIxAUNe.10ec98cfe11d.css.br +0 -0
  1121. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/library-tab-DIIxAUNe.10ec98cfe11d.css.gz +0 -0
  1122. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/library-tab-DIIxAUNe.css +0 -0
  1123. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/library-tab-DIIxAUNe.css.br +0 -0
  1124. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/library-tab-DIIxAUNe.css.gz +0 -0
  1125. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/materialdesignicons-webfont-B7mPwVP_.6e435534bd35.ttf +0 -0
  1126. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/materialdesignicons-webfont-B7mPwVP_.6e435534bd35.ttf.br +0 -0
  1127. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/materialdesignicons-webfont-B7mPwVP_.6e435534bd35.ttf.gz +0 -0
  1128. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/materialdesignicons-webfont-B7mPwVP_.ttf +0 -0
  1129. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/materialdesignicons-webfont-B7mPwVP_.ttf.br +0 -0
  1130. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/materialdesignicons-webfont-B7mPwVP_.ttf.gz +0 -0
  1131. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/materialdesignicons-webfont-CSr8KVlo.8ced95a05e3c.eot +0 -0
  1132. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/materialdesignicons-webfont-CSr8KVlo.8ced95a05e3c.eot.br +0 -0
  1133. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/materialdesignicons-webfont-CSr8KVlo.8ced95a05e3c.eot.gz +0 -0
  1134. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/materialdesignicons-webfont-CSr8KVlo.eot +0 -0
  1135. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/materialdesignicons-webfont-CSr8KVlo.eot.br +0 -0
  1136. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/materialdesignicons-webfont-CSr8KVlo.eot.gz +0 -0
  1137. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/materialdesignicons-webfont-Dp5v-WZN.1d7bcee1b302.woff2 +0 -0
  1138. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/materialdesignicons-webfont-Dp5v-WZN.woff2 +0 -0
  1139. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/materialdesignicons-webfont-PXm3-2wK.026b7ac9c43c.woff +0 -0
  1140. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/materialdesignicons-webfont-PXm3-2wK.woff +0 -0
  1141. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/pagination-toolbar-BMm-LmG-.92cfb20daeb9.css +0 -0
  1142. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/pagination-toolbar-BMm-LmG-.92cfb20daeb9.css.br +0 -0
  1143. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/pagination-toolbar-BMm-LmG-.92cfb20daeb9.css.gz +0 -0
  1144. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/pagination-toolbar-BMm-LmG-.css +0 -0
  1145. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/pagination-toolbar-BMm-LmG-.css.br +0 -0
  1146. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/pagination-toolbar-BMm-LmG-.css.gz +0 -0
  1147. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/pdf-doc-DxqOo2k2.42496ffbf35b.css +0 -0
  1148. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/pdf-doc-DxqOo2k2.42496ffbf35b.css.br +0 -0
  1149. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/pdf-doc-DxqOo2k2.42496ffbf35b.css.gz +0 -0
  1150. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/pdf-doc-DxqOo2k2.css +0 -0
  1151. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/pdf-doc-DxqOo2k2.css.br +0 -0
  1152. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/pdf-doc-DxqOo2k2.css.gz +0 -0
  1153. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/reader-BUEw0RYD.css +0 -0
  1154. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/reader-BUEw0RYD.css.br +0 -0
  1155. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/reader-BUEw0RYD.css.gz +0 -0
  1156. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/reader-BUEw0RYD.e084c3b621d4.css +0 -0
  1157. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/reader-BUEw0RYD.e084c3b621d4.css.br +0 -0
  1158. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/reader-BUEw0RYD.e084c3b621d4.css.gz +0 -0
  1159. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/stats-tab-Dpqh5pF9.8dba36f90032.css +0 -0
  1160. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/stats-tab-Dpqh5pF9.8dba36f90032.css.br +0 -0
  1161. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/stats-tab-Dpqh5pF9.8dba36f90032.css.gz +0 -0
  1162. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/stats-tab-Dpqh5pF9.css +0 -0
  1163. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/stats-tab-Dpqh5pF9.css.br +0 -0
  1164. {codex-1.8.13 → codex-1.8.16}/codex/static_root/assets/stats-tab-Dpqh5pF9.css.gz +0 -0
  1165. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/folder.83168d8d3119.svg +0 -0
  1166. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/folder.83168d8d3119.svg.br +0 -0
  1167. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/folder.83168d8d3119.svg.gz +0 -0
  1168. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/folder.svg +0 -0
  1169. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/folder.svg.br +0 -0
  1170. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/folder.svg.gz +0 -0
  1171. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/imprint.3ca7a779b949.svg +0 -0
  1172. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/imprint.3ca7a779b949.svg.br +0 -0
  1173. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/imprint.3ca7a779b949.svg.gz +0 -0
  1174. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/imprint.svg +0 -0
  1175. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/imprint.svg.br +0 -0
  1176. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/imprint.svg.gz +0 -0
  1177. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/logo-32.5688944495bf.webp +0 -0
  1178. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/logo-32.webp +0 -0
  1179. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/logo-maskable-180.c58d966aa64e.webp +0 -0
  1180. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/logo-maskable-180.webp +0 -0
  1181. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/logo-maskable.aeef5c2fffc8.svg +0 -0
  1182. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/logo-maskable.aeef5c2fffc8.svg.br +0 -0
  1183. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/logo-maskable.aeef5c2fffc8.svg.gz +0 -0
  1184. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/logo-maskable.svg +0 -0
  1185. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/logo-maskable.svg.br +0 -0
  1186. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/logo-maskable.svg.gz +0 -0
  1187. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/logo.00c902973831.svg +0 -0
  1188. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/logo.00c902973831.svg.br +0 -0
  1189. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/logo.00c902973831.svg.gz +0 -0
  1190. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/logo.svg +0 -0
  1191. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/logo.svg.br +0 -0
  1192. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/logo.svg.gz +0 -0
  1193. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/missing-cover.7329518c5972.svg +0 -0
  1194. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/missing-cover.7329518c5972.svg.br +0 -0
  1195. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/missing-cover.7329518c5972.svg.gz +0 -0
  1196. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/missing-cover.svg +0 -0
  1197. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/missing-cover.svg.br +0 -0
  1198. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/missing-cover.svg.gz +0 -0
  1199. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/publisher.82d378fcd601.svg +0 -0
  1200. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/publisher.82d378fcd601.svg.br +0 -0
  1201. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/publisher.82d378fcd601.svg.gz +0 -0
  1202. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/publisher.svg +0 -0
  1203. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/publisher.svg.br +0 -0
  1204. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/publisher.svg.gz +0 -0
  1205. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/series.b092bbac0c2a.svg +0 -0
  1206. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/series.b092bbac0c2a.svg.br +0 -0
  1207. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/series.b092bbac0c2a.svg.gz +0 -0
  1208. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/series.svg +0 -0
  1209. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/series.svg.br +0 -0
  1210. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/series.svg.gz +0 -0
  1211. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/story-arc.884f7b1d95bd.svg +0 -0
  1212. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/story-arc.884f7b1d95bd.svg.br +0 -0
  1213. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/story-arc.884f7b1d95bd.svg.gz +0 -0
  1214. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/story-arc.svg +0 -0
  1215. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/story-arc.svg.br +0 -0
  1216. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/story-arc.svg.gz +0 -0
  1217. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/volume.516ec0c3018d.svg +0 -0
  1218. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/volume.516ec0c3018d.svg.br +0 -0
  1219. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/volume.516ec0c3018d.svg.gz +0 -0
  1220. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/volume.svg +0 -0
  1221. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/volume.svg.br +0 -0
  1222. {codex-1.8.13 → codex-1.8.16}/codex/static_root/img/volume.svg.gz +0 -0
  1223. {codex-1.8.13 → codex-1.8.16}/codex/static_root/pwa/offline.7bfaf9f94bf9.html +0 -0
  1224. {codex-1.8.13 → codex-1.8.16}/codex/static_root/pwa/offline.7bfaf9f94bf9.html.br +0 -0
  1225. {codex-1.8.13 → codex-1.8.16}/codex/static_root/pwa/offline.7bfaf9f94bf9.html.gz +0 -0
  1226. {codex-1.8.13 → codex-1.8.16}/codex/static_root/pwa/offline.html +0 -0
  1227. {codex-1.8.13 → codex-1.8.16}/codex/static_root/pwa/offline.html.br +0 -0
  1228. {codex-1.8.13 → codex-1.8.16}/codex/static_root/pwa/offline.html.gz +0 -0
  1229. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/css/bootstrap-theme.min.1d4b05b397c3.css +0 -0
  1230. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/css/bootstrap-theme.min.1d4b05b397c3.css.br +0 -0
  1231. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/css/bootstrap-theme.min.1d4b05b397c3.css.gz +0 -0
  1232. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/css/bootstrap-theme.min.css +0 -0
  1233. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/css/bootstrap-theme.min.css.51806092cc05.map +0 -0
  1234. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/css/bootstrap-theme.min.css.51806092cc05.map.br +0 -0
  1235. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/css/bootstrap-theme.min.css.51806092cc05.map.gz +0 -0
  1236. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/css/bootstrap-theme.min.css.br +0 -0
  1237. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/css/bootstrap-theme.min.css.gz +0 -0
  1238. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/css/bootstrap-theme.min.css.map +0 -0
  1239. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/css/bootstrap-theme.min.css.map.br +0 -0
  1240. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/css/bootstrap-theme.min.css.map.gz +0 -0
  1241. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/css/bootstrap-tweaks.css +0 -0
  1242. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/css/bootstrap-tweaks.css.br +0 -0
  1243. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/css/bootstrap-tweaks.css.gz +0 -0
  1244. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/css/bootstrap-tweaks.ee4ee6acf9eb.css +0 -0
  1245. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/css/bootstrap-tweaks.ee4ee6acf9eb.css.br +0 -0
  1246. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/css/bootstrap-tweaks.ee4ee6acf9eb.css.gz +0 -0
  1247. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/css/bootstrap.min.css +0 -0
  1248. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/css/bootstrap.min.css.br +0 -0
  1249. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/css/bootstrap.min.css.cafbda9c0e9e.map +0 -0
  1250. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/css/bootstrap.min.css.cafbda9c0e9e.map.br +0 -0
  1251. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/css/bootstrap.min.css.cafbda9c0e9e.map.gz +0 -0
  1252. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/css/bootstrap.min.css.gz +0 -0
  1253. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/css/bootstrap.min.css.map +0 -0
  1254. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/css/bootstrap.min.css.map.br +0 -0
  1255. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/css/bootstrap.min.css.map.gz +0 -0
  1256. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/css/bootstrap.min.f17d4516b026.css +0 -0
  1257. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/css/bootstrap.min.f17d4516b026.css.br +0 -0
  1258. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/css/bootstrap.min.f17d4516b026.css.gz +0 -0
  1259. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/css/default.789dfb5732d7.css +0 -0
  1260. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/css/default.789dfb5732d7.css.br +0 -0
  1261. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/css/default.789dfb5732d7.css.gz +0 -0
  1262. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/css/default.css +0 -0
  1263. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/css/default.css.br +0 -0
  1264. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/css/default.css.gz +0 -0
  1265. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/css/font-awesome-4.0.3.c1e1ea213abf.css +0 -0
  1266. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/css/font-awesome-4.0.3.c1e1ea213abf.css.br +0 -0
  1267. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/css/font-awesome-4.0.3.c1e1ea213abf.css.gz +0 -0
  1268. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/css/font-awesome-4.0.3.css +0 -0
  1269. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/css/font-awesome-4.0.3.css.br +0 -0
  1270. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/css/font-awesome-4.0.3.css.gz +0 -0
  1271. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/css/prettify.a987f72342ee.css +0 -0
  1272. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/css/prettify.a987f72342ee.css.br +0 -0
  1273. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/css/prettify.a987f72342ee.css.gz +0 -0
  1274. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/css/prettify.css +0 -0
  1275. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/css/prettify.css.br +0 -0
  1276. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/css/prettify.css.gz +0 -0
  1277. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/docs/css/base.css +0 -0
  1278. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/docs/css/base.css.br +0 -0
  1279. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/docs/css/base.css.gz +0 -0
  1280. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/docs/css/base.e630f8f4990e.css +0 -0
  1281. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/docs/css/base.e630f8f4990e.css.br +0 -0
  1282. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/docs/css/base.e630f8f4990e.css.gz +0 -0
  1283. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/docs/css/highlight.css +0 -0
  1284. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/docs/css/highlight.css.br +0 -0
  1285. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/docs/css/highlight.css.gz +0 -0
  1286. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/docs/css/highlight.e0e4d973c6d7.css +0 -0
  1287. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/docs/css/highlight.e0e4d973c6d7.css.br +0 -0
  1288. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/docs/css/highlight.e0e4d973c6d7.css.gz +0 -0
  1289. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/docs/css/jquery.json-view.min.a2e6beeb6710.css +0 -0
  1290. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/docs/css/jquery.json-view.min.a2e6beeb6710.css.br +0 -0
  1291. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/docs/css/jquery.json-view.min.a2e6beeb6710.css.gz +0 -0
  1292. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/docs/css/jquery.json-view.min.css +0 -0
  1293. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/docs/css/jquery.json-view.min.css.br +0 -0
  1294. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/docs/css/jquery.json-view.min.css.gz +0 -0
  1295. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/docs/img/favicon.5195b4d0f3eb.ico +0 -0
  1296. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/docs/img/favicon.5195b4d0f3eb.ico.br +0 -0
  1297. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/docs/img/favicon.5195b4d0f3eb.ico.gz +0 -0
  1298. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/docs/img/favicon.ico +0 -0
  1299. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/docs/img/favicon.ico.br +0 -0
  1300. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/docs/img/favicon.ico.gz +0 -0
  1301. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/docs/img/grid.a4b938cf382b.png +0 -0
  1302. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/docs/img/grid.png +0 -0
  1303. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/docs/js/api.18a5ba8a1bd8.js +0 -0
  1304. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/docs/js/api.18a5ba8a1bd8.js.br +0 -0
  1305. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/docs/js/api.18a5ba8a1bd8.js.gz +0 -0
  1306. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/docs/js/api.js +0 -0
  1307. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/docs/js/api.js.br +0 -0
  1308. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/docs/js/api.js.gz +0 -0
  1309. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/docs/js/highlight.pack.479b5f21dcba.js +0 -0
  1310. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/docs/js/highlight.pack.479b5f21dcba.js.br +0 -0
  1311. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/docs/js/highlight.pack.479b5f21dcba.js.gz +0 -0
  1312. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/docs/js/highlight.pack.js +0 -0
  1313. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/docs/js/highlight.pack.js.br +0 -0
  1314. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/docs/js/highlight.pack.js.gz +0 -0
  1315. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/docs/js/jquery.json-view.min.b7c2d6981377.js +0 -0
  1316. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/docs/js/jquery.json-view.min.b7c2d6981377.js.br +0 -0
  1317. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/docs/js/jquery.json-view.min.b7c2d6981377.js.gz +0 -0
  1318. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/docs/js/jquery.json-view.min.js +0 -0
  1319. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/docs/js/jquery.json-view.min.js.br +0 -0
  1320. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/docs/js/jquery.json-view.min.js.gz +0 -0
  1321. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/fonts/fontawesome-webfont.3293616ec0c6.woff +0 -0
  1322. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/fonts/fontawesome-webfont.83e37a11f9d7.svg +0 -0
  1323. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/fonts/fontawesome-webfont.83e37a11f9d7.svg.br +0 -0
  1324. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/fonts/fontawesome-webfont.83e37a11f9d7.svg.gz +0 -0
  1325. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/fonts/fontawesome-webfont.8b27bc96115c.eot +0 -0
  1326. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/fonts/fontawesome-webfont.dcb26c7239d8.ttf +0 -0
  1327. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/fonts/fontawesome-webfont.dcb26c7239d8.ttf.br +0 -0
  1328. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/fonts/fontawesome-webfont.dcb26c7239d8.ttf.gz +0 -0
  1329. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/fonts/fontawesome-webfont.eot +0 -0
  1330. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/fonts/fontawesome-webfont.svg +0 -0
  1331. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/fonts/fontawesome-webfont.svg.br +0 -0
  1332. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/fonts/fontawesome-webfont.svg.gz +0 -0
  1333. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/fonts/fontawesome-webfont.ttf +0 -0
  1334. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/fonts/fontawesome-webfont.ttf.br +0 -0
  1335. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/fonts/fontawesome-webfont.ttf.gz +0 -0
  1336. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/fonts/fontawesome-webfont.woff +0 -0
  1337. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/fonts/glyphicons-halflings-regular.08eda92397ae.svg +0 -0
  1338. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/fonts/glyphicons-halflings-regular.08eda92397ae.svg.br +0 -0
  1339. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/fonts/glyphicons-halflings-regular.08eda92397ae.svg.gz +0 -0
  1340. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/fonts/glyphicons-halflings-regular.448c34a56d69.woff2 +0 -0
  1341. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/fonts/glyphicons-halflings-regular.e18bbf611f2a.ttf +0 -0
  1342. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/fonts/glyphicons-halflings-regular.e18bbf611f2a.ttf.br +0 -0
  1343. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/fonts/glyphicons-halflings-regular.e18bbf611f2a.ttf.gz +0 -0
  1344. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/fonts/glyphicons-halflings-regular.eot +0 -0
  1345. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/fonts/glyphicons-halflings-regular.f4769f9bdb74.eot +0 -0
  1346. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/fonts/glyphicons-halflings-regular.fa2772327f55.woff +0 -0
  1347. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/fonts/glyphicons-halflings-regular.svg +0 -0
  1348. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/fonts/glyphicons-halflings-regular.svg.br +0 -0
  1349. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/fonts/glyphicons-halflings-regular.svg.gz +0 -0
  1350. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/fonts/glyphicons-halflings-regular.ttf +0 -0
  1351. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/fonts/glyphicons-halflings-regular.ttf.br +0 -0
  1352. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/fonts/glyphicons-halflings-regular.ttf.gz +0 -0
  1353. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/fonts/glyphicons-halflings-regular.woff +0 -0
  1354. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/fonts/glyphicons-halflings-regular.woff2 +0 -0
  1355. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/img/glyphicons-halflings-white.9bbc6e960299.png +0 -0
  1356. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/img/glyphicons-halflings-white.png +0 -0
  1357. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/img/glyphicons-halflings.90233c9067e9.png +0 -0
  1358. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/img/glyphicons-halflings.png +0 -0
  1359. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/img/grid.a4b938cf382b.png +0 -0
  1360. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/img/grid.png +0 -0
  1361. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/js/ajax-form.4e1cdcb7acab.js +0 -0
  1362. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/js/ajax-form.4e1cdcb7acab.js.br +0 -0
  1363. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/js/ajax-form.4e1cdcb7acab.js.gz +0 -0
  1364. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/js/ajax-form.js +0 -0
  1365. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/js/ajax-form.js.br +0 -0
  1366. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/js/ajax-form.js.gz +0 -0
  1367. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/js/bootstrap.min.2f34b630ffe3.js +0 -0
  1368. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/js/bootstrap.min.2f34b630ffe3.js.br +0 -0
  1369. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/js/bootstrap.min.2f34b630ffe3.js.gz +0 -0
  1370. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/js/bootstrap.min.js +0 -0
  1371. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/js/bootstrap.min.js.br +0 -0
  1372. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/js/bootstrap.min.js.gz +0 -0
  1373. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/js/coreapi-0.1.1.8851fb9336c9.js +0 -0
  1374. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/js/coreapi-0.1.1.8851fb9336c9.js.br +0 -0
  1375. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/js/coreapi-0.1.1.8851fb9336c9.js.gz +0 -0
  1376. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/js/coreapi-0.1.1.js +0 -0
  1377. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/js/coreapi-0.1.1.js.br +0 -0
  1378. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/js/coreapi-0.1.1.js.gz +0 -0
  1379. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/js/csrf.455080a7b2ce.js +0 -0
  1380. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/js/csrf.455080a7b2ce.js.br +0 -0
  1381. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/js/csrf.455080a7b2ce.js.gz +0 -0
  1382. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/js/csrf.js +0 -0
  1383. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/js/csrf.js.br +0 -0
  1384. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/js/csrf.js.gz +0 -0
  1385. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/js/default.5b08897dbdc3.js +0 -0
  1386. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/js/default.5b08897dbdc3.js.br +0 -0
  1387. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/js/default.5b08897dbdc3.js.gz +0 -0
  1388. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/js/default.js +0 -0
  1389. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/js/default.js.br +0 -0
  1390. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/js/default.js.gz +0 -0
  1391. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/js/jquery-3.7.1.min.2c872dbe60f4.js +0 -0
  1392. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/js/jquery-3.7.1.min.2c872dbe60f4.js.br +0 -0
  1393. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/js/jquery-3.7.1.min.2c872dbe60f4.js.gz +0 -0
  1394. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/js/jquery-3.7.1.min.js +0 -0
  1395. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/js/jquery-3.7.1.min.js.br +0 -0
  1396. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/js/jquery-3.7.1.min.js.gz +0 -0
  1397. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/js/load-ajax-form.8cdb3a9f3466.js +0 -0
  1398. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/js/load-ajax-form.8cdb3a9f3466.js.br +0 -0
  1399. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/js/load-ajax-form.js +0 -0
  1400. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/js/load-ajax-form.js.br +0 -0
  1401. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/js/prettify-min.709bfcc456c6.js +0 -0
  1402. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/js/prettify-min.709bfcc456c6.js.br +0 -0
  1403. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/js/prettify-min.709bfcc456c6.js.gz +0 -0
  1404. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/js/prettify-min.js +0 -0
  1405. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/js/prettify-min.js.br +0 -0
  1406. {codex-1.8.13 → codex-1.8.16}/codex/static_root/rest_framework/js/prettify-min.js.gz +0 -0
  1407. {codex-1.8.13 → codex-1.8.16}/codex/static_root/robots.b6216d61c03e.txt +0 -0
  1408. {codex-1.8.13 → codex-1.8.16}/codex/static_root/robots.txt +0 -0
  1409. {codex-1.8.13 → codex-1.8.16}/codex/static_src/img/folder.svg +0 -0
  1410. {codex-1.8.13 → codex-1.8.16}/codex/static_src/img/imprint.svg +0 -0
  1411. {codex-1.8.13 → codex-1.8.16}/codex/static_src/img/logo-32.webp +0 -0
  1412. {codex-1.8.13 → codex-1.8.16}/codex/static_src/img/logo-maskable-180.webp +0 -0
  1413. {codex-1.8.13 → codex-1.8.16}/codex/static_src/img/logo-maskable.svg +0 -0
  1414. {codex-1.8.13 → codex-1.8.16}/codex/static_src/img/logo.svg +0 -0
  1415. {codex-1.8.13 → codex-1.8.16}/codex/static_src/img/missing-cover.svg +0 -0
  1416. {codex-1.8.13 → codex-1.8.16}/codex/static_src/img/publisher.svg +0 -0
  1417. {codex-1.8.13 → codex-1.8.16}/codex/static_src/img/series.svg +0 -0
  1418. {codex-1.8.13 → codex-1.8.16}/codex/static_src/img/story-arc.svg +0 -0
  1419. {codex-1.8.13 → codex-1.8.16}/codex/static_src/img/volume.svg +0 -0
  1420. {codex-1.8.13 → codex-1.8.16}/codex/static_src/pwa/offline.html +0 -0
  1421. {codex-1.8.13 → codex-1.8.16}/codex/static_src/robots.txt +0 -0
  1422. {codex-1.8.13 → codex-1.8.16}/codex/templates/README.md +0 -0
  1423. {codex-1.8.13 → codex-1.8.16}/codex/templates/headers-script-globals.html +0 -0
  1424. {codex-1.8.13 → codex-1.8.16}/codex/templates/index.html +0 -0
  1425. {codex-1.8.13 → codex-1.8.16}/codex/templates/opds_v1/index.xml +0 -0
  1426. {codex-1.8.13 → codex-1.8.16}/codex/templates/opds_v1/opensearch_v1.xml +0 -0
  1427. {codex-1.8.13 → codex-1.8.16}/codex/templates/pwa/manifest.webmanifest +0 -0
  1428. {codex-1.8.13 → codex-1.8.16}/codex/templates/pwa/serviceworker-register.js +0 -0
  1429. {codex-1.8.13 → codex-1.8.16}/codex/templates/swagger-ui.html +0 -0
  1430. {codex-1.8.13 → codex-1.8.16}/codex/urls/__init__.py +0 -0
  1431. {codex-1.8.13 → codex-1.8.16}/codex/urls/api/__init__.py +0 -0
  1432. {codex-1.8.13 → codex-1.8.16}/codex/urls/api/admin.py +0 -0
  1433. {codex-1.8.13 → codex-1.8.16}/codex/urls/api/auth.py +0 -0
  1434. {codex-1.8.13 → codex-1.8.16}/codex/urls/api/browser.py +0 -0
  1435. {codex-1.8.13 → codex-1.8.16}/codex/urls/api/reader.py +0 -0
  1436. {codex-1.8.13 → codex-1.8.16}/codex/urls/api/root.py +0 -0
  1437. {codex-1.8.13 → codex-1.8.16}/codex/urls/api/v3.py +0 -0
  1438. {codex-1.8.13 → codex-1.8.16}/codex/urls/app.py +0 -0
  1439. {codex-1.8.13 → codex-1.8.16}/codex/urls/const.py +0 -0
  1440. {codex-1.8.13 → codex-1.8.16}/codex/urls/converters.py +0 -0
  1441. {codex-1.8.13 → codex-1.8.16}/codex/urls/opds/__init__.py +0 -0
  1442. {codex-1.8.13 → codex-1.8.16}/codex/urls/opds/authentication.py +0 -0
  1443. {codex-1.8.13 → codex-1.8.16}/codex/urls/opds/binary.py +0 -0
  1444. {codex-1.8.13 → codex-1.8.16}/codex/urls/opds/root.py +0 -0
  1445. {codex-1.8.13 → codex-1.8.16}/codex/urls/opds/v1.py +0 -0
  1446. {codex-1.8.13 → codex-1.8.16}/codex/urls/opds/v2.py +0 -0
  1447. {codex-1.8.13 → codex-1.8.16}/codex/urls/pwa.py +0 -0
  1448. {codex-1.8.13 → codex-1.8.16}/codex/urls/spectacular.py +0 -0
  1449. {codex-1.8.13 → codex-1.8.16}/codex/util.py +0 -0
  1450. {codex-1.8.13 → codex-1.8.16}/codex/version.py +0 -0
  1451. {codex-1.8.13 → codex-1.8.16}/codex/views/README.md +0 -0
  1452. {codex-1.8.13 → codex-1.8.16}/codex/views/__init__.py +0 -0
  1453. {codex-1.8.13 → codex-1.8.16}/codex/views/admin/__init__.py +0 -0
  1454. {codex-1.8.13 → codex-1.8.16}/codex/views/admin/api_key.py +0 -0
  1455. {codex-1.8.13 → codex-1.8.16}/codex/views/admin/auth.py +0 -0
  1456. {codex-1.8.13 → codex-1.8.16}/codex/views/admin/flag.py +0 -0
  1457. {codex-1.8.13 → codex-1.8.16}/codex/views/admin/group.py +0 -0
  1458. {codex-1.8.13 → codex-1.8.16}/codex/views/admin/library.py +0 -0
  1459. {codex-1.8.13 → codex-1.8.16}/codex/views/admin/permissions.py +0 -0
  1460. {codex-1.8.13 → codex-1.8.16}/codex/views/admin/stats.py +0 -0
  1461. {codex-1.8.13 → codex-1.8.16}/codex/views/admin/tasks.py +0 -0
  1462. {codex-1.8.13 → codex-1.8.16}/codex/views/admin/user.py +0 -0
  1463. {codex-1.8.13 → codex-1.8.16}/codex/views/auth.py +0 -0
  1464. {codex-1.8.13 → codex-1.8.16}/codex/views/bookmark.py +0 -0
  1465. {codex-1.8.13 → codex-1.8.16}/codex/views/browser/__init__.py +0 -0
  1466. {codex-1.8.13 → codex-1.8.16}/codex/views/browser/annotate/__init__.py +0 -0
  1467. {codex-1.8.13 → codex-1.8.16}/codex/views/browser/annotate/bookmark.py +0 -0
  1468. {codex-1.8.13 → codex-1.8.16}/codex/views/browser/annotate/card.py +0 -0
  1469. {codex-1.8.13 → codex-1.8.16}/codex/views/browser/bookmark.py +0 -0
  1470. {codex-1.8.13 → codex-1.8.16}/codex/views/browser/breadcrumbs.py +0 -0
  1471. {codex-1.8.13 → codex-1.8.16}/codex/views/browser/browser.py +0 -0
  1472. {codex-1.8.13 → codex-1.8.16}/codex/views/browser/choices.py +0 -0
  1473. {codex-1.8.13 → codex-1.8.16}/codex/views/browser/cover.py +0 -0
  1474. {codex-1.8.13 → codex-1.8.16}/codex/views/browser/download.py +0 -0
  1475. {codex-1.8.13 → codex-1.8.16}/codex/views/browser/filters/__init__.py +0 -0
  1476. {codex-1.8.13 → codex-1.8.16}/codex/views/browser/filters/bookmark.py +0 -0
  1477. {codex-1.8.13 → codex-1.8.16}/codex/views/browser/filters/field.py +0 -0
  1478. {codex-1.8.13 → codex-1.8.16}/codex/views/browser/filters/filter.py +0 -0
  1479. {codex-1.8.13 → codex-1.8.16}/codex/views/browser/filters/group.py +0 -0
  1480. {codex-1.8.13 → codex-1.8.16}/codex/views/browser/filters/search/__init__.py +0 -0
  1481. {codex-1.8.13 → codex-1.8.16}/codex/views/browser/filters/search/field/__init__.py +0 -0
  1482. {codex-1.8.13 → codex-1.8.16}/codex/views/browser/filters/search/field/column.py +0 -0
  1483. {codex-1.8.13 → codex-1.8.16}/codex/views/browser/filters/search/field/expression.py +0 -0
  1484. {codex-1.8.13 → codex-1.8.16}/codex/views/browser/filters/search/field/filter.py +0 -0
  1485. {codex-1.8.13 → codex-1.8.16}/codex/views/browser/filters/search/field/optimize.py +0 -0
  1486. {codex-1.8.13 → codex-1.8.16}/codex/views/browser/filters/search/field/parse.py +0 -0
  1487. {codex-1.8.13 → codex-1.8.16}/codex/views/browser/filters/search/fts.py +0 -0
  1488. {codex-1.8.13 → codex-1.8.16}/codex/views/browser/filters/search/parse.py +0 -0
  1489. {codex-1.8.13 → codex-1.8.16}/codex/views/browser/metadata/__init__.py +0 -0
  1490. {codex-1.8.13 → codex-1.8.16}/codex/views/browser/metadata/annotate.py +0 -0
  1491. {codex-1.8.13 → codex-1.8.16}/codex/views/browser/metadata/const.py +0 -0
  1492. {codex-1.8.13 → codex-1.8.16}/codex/views/browser/metadata/copy_intersections.py +0 -0
  1493. {codex-1.8.13 → codex-1.8.16}/codex/views/browser/metadata/query_intersections.py +0 -0
  1494. {codex-1.8.13 → codex-1.8.16}/codex/views/browser/mtime.py +0 -0
  1495. {codex-1.8.13 → codex-1.8.16}/codex/views/browser/order_by.py +0 -0
  1496. {codex-1.8.13 → codex-1.8.16}/codex/views/browser/page_in_bounds.py +0 -0
  1497. {codex-1.8.13 → codex-1.8.16}/codex/views/browser/paginate.py +0 -0
  1498. {codex-1.8.13 → codex-1.8.16}/codex/views/browser/settings.py +0 -0
  1499. {codex-1.8.13 → codex-1.8.16}/codex/views/browser/title.py +0 -0
  1500. {codex-1.8.13 → codex-1.8.16}/codex/views/browser/validate.py +0 -0
  1501. {codex-1.8.13 → codex-1.8.16}/codex/views/const.py +0 -0
  1502. {codex-1.8.13 → codex-1.8.16}/codex/views/download.py +0 -0
  1503. {codex-1.8.13 → codex-1.8.16}/codex/views/error.py +0 -0
  1504. {codex-1.8.13 → codex-1.8.16}/codex/views/exceptions.py +0 -0
  1505. {codex-1.8.13 → codex-1.8.16}/codex/views/frontend.py +0 -0
  1506. {codex-1.8.13 → codex-1.8.16}/codex/views/lazy_import.py +0 -0
  1507. {codex-1.8.13 → codex-1.8.16}/codex/views/mixins.py +0 -0
  1508. {codex-1.8.13 → codex-1.8.16}/codex/views/opds/__init__.py +0 -0
  1509. {codex-1.8.13 → codex-1.8.16}/codex/views/opds/auth.py +0 -0
  1510. {codex-1.8.13 → codex-1.8.16}/codex/views/opds/authentication_v1.py +0 -0
  1511. {codex-1.8.13 → codex-1.8.16}/codex/views/opds/binary.py +0 -0
  1512. {codex-1.8.13 → codex-1.8.16}/codex/views/opds/const.py +0 -0
  1513. {codex-1.8.13 → codex-1.8.16}/codex/views/opds/urls.py +0 -0
  1514. {codex-1.8.13 → codex-1.8.16}/codex/views/opds/util.py +0 -0
  1515. {codex-1.8.13 → codex-1.8.16}/codex/views/opds/v1/__init__.py +0 -0
  1516. {codex-1.8.13 → codex-1.8.16}/codex/views/opds/v1/data.py +0 -0
  1517. {codex-1.8.13 → codex-1.8.16}/codex/views/opds/v1/entry/__init__.py +0 -0
  1518. {codex-1.8.13 → codex-1.8.16}/codex/views/opds/v1/entry/data.py +0 -0
  1519. {codex-1.8.13 → codex-1.8.16}/codex/views/opds/v1/entry/entry.py +0 -0
  1520. {codex-1.8.13 → codex-1.8.16}/codex/views/opds/v1/entry/links.py +0 -0
  1521. {codex-1.8.13 → codex-1.8.16}/codex/views/opds/v1/facets.py +0 -0
  1522. {codex-1.8.13 → codex-1.8.16}/codex/views/opds/v1/feed.py +0 -0
  1523. {codex-1.8.13 → codex-1.8.16}/codex/views/opds/v1/links.py +0 -0
  1524. {codex-1.8.13 → codex-1.8.16}/codex/views/opds/v1/opensearch_v1.py +0 -0
  1525. {codex-1.8.13 → codex-1.8.16}/codex/views/opds/v2/__init__.py +0 -0
  1526. {codex-1.8.13 → codex-1.8.16}/codex/views/opds/v2/const.py +0 -0
  1527. {codex-1.8.13 → codex-1.8.16}/codex/views/opds/v2/feed.py +0 -0
  1528. {codex-1.8.13 → codex-1.8.16}/codex/views/opds/v2/href.py +0 -0
  1529. {codex-1.8.13 → codex-1.8.16}/codex/views/opds/v2/links.py +0 -0
  1530. {codex-1.8.13 → codex-1.8.16}/codex/views/opds/v2/progression.py +0 -0
  1531. {codex-1.8.13 → codex-1.8.16}/codex/views/opds/v2/publications.py +0 -0
  1532. {codex-1.8.13 → codex-1.8.16}/codex/views/opds/v2/top_links.py +0 -0
  1533. {codex-1.8.13 → codex-1.8.16}/codex/views/public.py +0 -0
  1534. {codex-1.8.13 → codex-1.8.16}/codex/views/pwa.py +0 -0
  1535. {codex-1.8.13 → codex-1.8.16}/codex/views/reader/__init__.py +0 -0
  1536. {codex-1.8.13 → codex-1.8.16}/codex/views/reader/arcs.py +0 -0
  1537. {codex-1.8.13 → codex-1.8.16}/codex/views/reader/books.py +0 -0
  1538. {codex-1.8.13 → codex-1.8.16}/codex/views/reader/page.py +0 -0
  1539. {codex-1.8.13 → codex-1.8.16}/codex/views/reader/reader.py +0 -0
  1540. {codex-1.8.13 → codex-1.8.16}/codex/views/reader/settings.py +0 -0
  1541. {codex-1.8.13 → codex-1.8.16}/codex/views/session.py +0 -0
  1542. {codex-1.8.13 → codex-1.8.16}/codex/views/template.py +0 -0
  1543. {codex-1.8.13 → codex-1.8.16}/codex/views/timezone.py +0 -0
  1544. {codex-1.8.13 → codex-1.8.16}/codex/views/util.py +0 -0
  1545. {codex-1.8.13 → codex-1.8.16}/codex/views/version.py +0 -0
  1546. {codex-1.8.13 → codex-1.8.16}/codex/websockets/README.md +0 -0
  1547. {codex-1.8.13 → codex-1.8.16}/codex/websockets/__init__.py +0 -0
  1548. {codex-1.8.13 → codex-1.8.16}/codex/websockets/aio_queue.py +0 -0
  1549. {codex-1.8.13 → codex-1.8.16}/codex/websockets/consumers.py +0 -0
  1550. {codex-1.8.13 → codex-1.8.16}/codex/websockets/listener.py +0 -0
  1551. {codex-1.8.13 → codex-1.8.16}/docs/DOCKER.md +0 -0
  1552. {codex-1.8.13 → codex-1.8.16}/docs/WINDOWS.md +0 -0
  1553. {codex-1.8.13 → codex-1.8.16/docs}/codex/img/logo.svg +0 -0
  1554. {codex-1.8.13 → codex-1.8.16}/docs/requirements.txt +0 -0
  1555. {codex-1.8.13 → codex-1.8.16}/docs/strange.jpg +0 -0
  1556. {codex-1.8.13 → codex-1.8.16}/docs/style.css +0 -0
  1557. {codex-1.8.13 → codex-1.8.16}/docs/style.material.css +0 -0
  1558. {codex-1.8.13 → codex-1.8.16}/docs/style.mkdocs.css +0 -0
  1559. {codex-1.8.13 → codex-1.8.16}/docs/style.readthedocs.css +0 -0
  1560. {codex-1.8.13 → codex-1.8.16}/frontend/.npmrc +0 -0
  1561. {codex-1.8.13 → codex-1.8.16}/frontend/.prettierignore +0 -0
  1562. {codex-1.8.13 → codex-1.8.16}/frontend/Makefile +0 -0
  1563. {codex-1.8.13 → codex-1.8.16}/frontend/README.md +0 -0
  1564. {codex-1.8.13 → codex-1.8.16}/frontend/bin/dev-server.sh +0 -0
  1565. {codex-1.8.13 → codex-1.8.16}/frontend/bin/fix-lint.sh +0 -0
  1566. {codex-1.8.13 → codex-1.8.16}/frontend/bin/lint.sh +0 -0
  1567. {codex-1.8.13 → codex-1.8.16}/frontend/bin/test.sh +0 -0
  1568. {codex-1.8.13 → codex-1.8.16}/frontend/bin/update-deps.sh +0 -0
  1569. {codex-1.8.13 → codex-1.8.16}/frontend/jsconfig.json +0 -0
  1570. {codex-1.8.13 → codex-1.8.16}/frontend/src/admin.vue +0 -0
  1571. {codex-1.8.13 → codex-1.8.16}/frontend/src/api/v3/admin.js +0 -0
  1572. {codex-1.8.13 → codex-1.8.16}/frontend/src/api/v3/auth.js +0 -0
  1573. {codex-1.8.13 → codex-1.8.16}/frontend/src/api/v3/browser.js +0 -0
  1574. {codex-1.8.13 → codex-1.8.16}/frontend/src/api/v3/notify.js +0 -0
  1575. {codex-1.8.13 → codex-1.8.16}/frontend/src/api/v3/reader.js +0 -0
  1576. {codex-1.8.13 → codex-1.8.16}/frontend/src/api/v3/vuetify-items.js +0 -0
  1577. {codex-1.8.13 → codex-1.8.16}/frontend/src/app.vue +0 -0
  1578. {codex-1.8.13 → codex-1.8.16}/frontend/src/browser.vue +0 -0
  1579. {codex-1.8.13 → codex-1.8.16}/frontend/src/comic-name.js +0 -0
  1580. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/admin/admin-header.vue +0 -0
  1581. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/admin/browser-link.vue +0 -0
  1582. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/admin/create-update-dialog/create-update-dialog.vue +0 -0
  1583. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/admin/create-update-dialog/group-create-update-inputs.vue +0 -0
  1584. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/admin/create-update-dialog/library-create-update-inputs.vue +0 -0
  1585. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/admin/create-update-dialog/relation-picker.vue +0 -0
  1586. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/admin/create-update-dialog/server-folder-picker.vue +0 -0
  1587. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/admin/create-update-dialog/time-text-field.vue +0 -0
  1588. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/admin/create-update-dialog/user-create-update-inputs.vue +0 -0
  1589. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/admin/drawer/admin-menu.vue +0 -0
  1590. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/admin/drawer/admin-settings-button-progress.vue +0 -0
  1591. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/admin/drawer/admin-settings-drawer.vue +0 -0
  1592. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/admin/drawer/admin-settings-panel.vue +0 -0
  1593. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/admin/drawer/status-list-item.vue +0 -0
  1594. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/admin/drawer/status-list.vue +0 -0
  1595. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/admin/group-chip.vue +0 -0
  1596. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/admin/tabs/admin-table.vue +0 -0
  1597. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/admin/tabs/custom-covers-panel.vue +0 -0
  1598. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/admin/tabs/datetime-column.vue +0 -0
  1599. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/admin/tabs/delete-row-dialog.vue +0 -0
  1600. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/admin/tabs/failed-imports-panel.vue +0 -0
  1601. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/admin/tabs/flag-descriptions.json +0 -0
  1602. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/admin/tabs/flag-tab.vue +0 -0
  1603. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/admin/tabs/group-tab.vue +0 -0
  1604. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/admin/tabs/library-tab.vue +0 -0
  1605. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/admin/tabs/library-table.vue +0 -0
  1606. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/admin/tabs/relation-chips.vue +0 -0
  1607. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/admin/tabs/stats-tab.vue +0 -0
  1608. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/admin/tabs/stats-table.vue +0 -0
  1609. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/admin/tabs/tabs.vue +0 -0
  1610. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/admin/tabs/user-tab.vue +0 -0
  1611. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/anchors.scss +0 -0
  1612. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/auth/auth-menu.vue +0 -0
  1613. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/auth/change-password-dialog.vue +0 -0
  1614. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/auth/login-dialog.vue +0 -0
  1615. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/banner.vue +0 -0
  1616. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/book-cover.scss +0 -0
  1617. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/book-cover.vue +0 -0
  1618. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/browser/browser-header.vue +0 -0
  1619. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/browser/card/browser-card-menu.vue +0 -0
  1620. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/browser/card/card.vue +0 -0
  1621. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/browser/card/controls.vue +0 -0
  1622. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/browser/card/order-by-caption.vue +0 -0
  1623. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/browser/card/subtitle.vue +0 -0
  1624. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/browser/drawer/browser-settings-drawer.vue +0 -0
  1625. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/browser/drawer/browser-settings-panel.vue +0 -0
  1626. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/browser/empty.vue +0 -0
  1627. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/browser/main.vue +0 -0
  1628. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/browser/toolbars/breadcrumbs/breadcrumbs.vue +0 -0
  1629. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/browser/toolbars/breadcrumbs/browser-toolbar-breadcrumbs.vue +0 -0
  1630. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/browser/toolbars/browser-toolbar-title.vue +0 -0
  1631. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/browser/toolbars/nav/browser-nav-button.vue +0 -0
  1632. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/browser/toolbars/nav/browser-toolbar-nav.vue +0 -0
  1633. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/browser/toolbars/search/browser-toolbar-search.vue +0 -0
  1634. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/browser/toolbars/search/search-combobox.vue +0 -0
  1635. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/browser/toolbars/search/search-help-text.vue +0 -0
  1636. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/browser/toolbars/search/search-help.vue +0 -0
  1637. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/browser/toolbars/top/browser-toolbar-top.vue +0 -0
  1638. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/browser/toolbars/top/filter-by-select.vue +0 -0
  1639. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/browser/toolbars/top/filter-sub-menu.vue +0 -0
  1640. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/browser/toolbars/top/order-by-select.vue +0 -0
  1641. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/browser/toolbars/top/order-reverse-button.vue +0 -0
  1642. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/browser/toolbars/top/search-button.vue +0 -0
  1643. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/browser/toolbars/top/toolbar-button.vue +0 -0
  1644. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/browser/toolbars/top/top-group-select.vue +0 -0
  1645. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/cancel-button.vue +0 -0
  1646. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/close-button.vue +0 -0
  1647. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/codex-list-item.vue +0 -0
  1648. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/confirm-dialog.vue +0 -0
  1649. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/confirm-footer.vue +0 -0
  1650. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/download-button.vue +0 -0
  1651. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/empty.vue +0 -0
  1652. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/mark-read-button.vue +0 -0
  1653. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/metadata/expand-button.vue +0 -0
  1654. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/metadata/metadata-activator.vue +0 -0
  1655. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/metadata/metadata-body.vue +0 -0
  1656. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/metadata/metadata-chip.vue +0 -0
  1657. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/metadata/metadata-controls.vue +0 -0
  1658. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/metadata/metadata-cover.vue +0 -0
  1659. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/metadata/metadata-dialog.vue +0 -0
  1660. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/metadata/metadata-header.vue +0 -0
  1661. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/metadata/metadata-ratings.vue +0 -0
  1662. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/metadata/metadata-tags.vue +0 -0
  1663. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/metadata/metadata-text.vue +0 -0
  1664. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/metadata/table.scss +0 -0
  1665. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/metadata/tags-table.vue +0 -0
  1666. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/pagination-nav-button.vue +0 -0
  1667. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/pagination-slider.vue +0 -0
  1668. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/pagination-toolbar.vue +0 -0
  1669. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/placeholder-loading.vue +0 -0
  1670. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/reader/book-change-activator.vue +0 -0
  1671. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/reader/book-change-drawer.vue +0 -0
  1672. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/reader/books-window.vue +0 -0
  1673. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/reader/change-column.scss +0 -0
  1674. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/reader/drawer/download-panel.vue +0 -0
  1675. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/reader/drawer/keyboard-shortcuts-panel.vue +0 -0
  1676. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/reader/drawer/keyboard-shortcuts-table.vue +0 -0
  1677. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/reader/drawer/reader-settings-drawer.vue +0 -0
  1678. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/reader/drawer/reader-settings-panel.vue +0 -0
  1679. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/reader/drawer/reader-settings-super-panel.vue +0 -0
  1680. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/reader/empty.vue +0 -0
  1681. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/reader/pager/horizontal-pages.vue +0 -0
  1682. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/reader/pager/page/page-error.vue +0 -0
  1683. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/reader/pager/page/page-img.vue +0 -0
  1684. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/reader/pager/page/page-loading.vue +0 -0
  1685. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/reader/pager/page/page.vue +0 -0
  1686. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/reader/pager/page-change-link.vue +0 -0
  1687. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/reader/pager/pager-full-pdf.vue +0 -0
  1688. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/reader/pager/pager-horizontal.vue +0 -0
  1689. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/reader/pager/pager-vertical.vue +0 -0
  1690. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/reader/pager/pager.vue +0 -0
  1691. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/reader/pager/pdf-doc.vue +0 -0
  1692. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/reader/pager/scale-for-scroll.vue +0 -0
  1693. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/reader/toolbars/nav/reader-book-change-nav-button.vue +0 -0
  1694. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/reader/toolbars/nav/reader-nav-button.vue +0 -0
  1695. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/reader/toolbars/nav/reader-toolbar-nav.vue +0 -0
  1696. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/reader/toolbars/top/reader-arc-select.vue +0 -0
  1697. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/reader/toolbars/top/reader-toolbar-top.vue +0 -0
  1698. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/scale-button.vue +0 -0
  1699. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/settings/button.vue +0 -0
  1700. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/settings/docs-footer.vue +0 -0
  1701. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/settings/opds-dialog.vue +0 -0
  1702. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/settings/opds-url.vue +0 -0
  1703. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/settings/settings-drawer.vue +0 -0
  1704. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/settings/version-footer.vue +0 -0
  1705. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/submit-footer.vue +0 -0
  1706. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/toolbar-select.vue +0 -0
  1707. {codex-1.8.13 → codex-1.8.16}/frontend/src/components/unauthorized.vue +0 -0
  1708. {codex-1.8.13 → codex-1.8.16}/frontend/src/copy-to-clipboard.js +0 -0
  1709. {codex-1.8.13 → codex-1.8.16}/frontend/src/datetime.js +0 -0
  1710. {codex-1.8.13 → codex-1.8.16}/frontend/src/http-error.vue +0 -0
  1711. {codex-1.8.13 → codex-1.8.16}/frontend/src/main.js +0 -0
  1712. {codex-1.8.13 → codex-1.8.16}/frontend/src/platform.js +0 -0
  1713. {codex-1.8.13 → codex-1.8.16}/frontend/src/plugins/router.js +0 -0
  1714. {codex-1.8.13 → codex-1.8.16}/frontend/src/plugins/vue-native-sock.js +0 -0
  1715. {codex-1.8.13 → codex-1.8.16}/frontend/src/plugins/vuetify.js +0 -0
  1716. {codex-1.8.13 → codex-1.8.16}/frontend/src/reader.vue +0 -0
  1717. {codex-1.8.13 → codex-1.8.16}/frontend/src/route.js +0 -0
  1718. {codex-1.8.13 → codex-1.8.16}/frontend/src/stores/admin.js +0 -0
  1719. {codex-1.8.13 → codex-1.8.16}/frontend/src/stores/auth.js +0 -0
  1720. {codex-1.8.13 → codex-1.8.16}/frontend/src/stores/metadata.js +0 -0
  1721. {codex-1.8.13 → codex-1.8.16}/frontend/src/stores/socket.js +0 -0
  1722. {codex-1.8.13 → codex-1.8.16}/frontend/src/stores/store.js +0 -0
  1723. {codex-1.8.13 → codex-1.8.16}/frontend/src/util.js +0 -0
  1724. {codex-1.8.13 → codex-1.8.16}/frontend/tests/unit/reader-nav-button.test.js +0 -0
  1725. {codex-1.8.13 → codex-1.8.16}/frontend/vite.config.js +0 -0
  1726. {codex-1.8.13/codex → codex-1.8.16}/img/folder.svg +0 -0
  1727. {codex-1.8.13/codex → codex-1.8.16}/img/imprint.svg +0 -0
  1728. {codex-1.8.13/codex → codex-1.8.16}/img/logo-maskable.svg +0 -0
  1729. {codex-1.8.13/docs/codex → codex-1.8.16}/img/logo.svg +0 -0
  1730. {codex-1.8.13/codex → codex-1.8.16}/img/missing-cover.svg +0 -0
  1731. {codex-1.8.13/codex → codex-1.8.16}/img/publisher.svg +0 -0
  1732. {codex-1.8.13/codex → codex-1.8.16}/img/series.svg +0 -0
  1733. {codex-1.8.13/codex → codex-1.8.16}/img/story-arc.svg +0 -0
  1734. {codex-1.8.13/codex → codex-1.8.16}/img/volume.svg +0 -0
  1735. {codex-1.8.13 → codex-1.8.16}/strange.jpg +0 -0
  1736. {codex-1.8.13 → codex-1.8.16}/tests/README.md +0 -0
  1737. {codex-1.8.13 → codex-1.8.16}/tests/__init__.py +0 -0
  1738. {codex-1.8.13 → codex-1.8.16}/tests/files/comicbox-2-example.cbz +0 -0
  1739. {codex-1.8.13 → codex-1.8.16}/tests/files/comicbox-2-update.cbz +0 -0
  1740. {codex-1.8.13 → codex-1.8.16}/tests/files/comicbox.example.yaml +0 -0
  1741. {codex-1.8.13 → codex-1.8.16}/tests/files/comicbox.update.yaml +0 -0
  1742. {codex-1.8.13 → codex-1.8.16}/tests/importer/__init__.py +0 -0
  1743. {codex-1.8.13 → codex-1.8.16}/tests/importer/test_basic.py +0 -0
  1744. {codex-1.8.13 → codex-1.8.16}/tests/importer/test_update_all.py +0 -0
  1745. {codex-1.8.13 → codex-1.8.16}/tests/importer/test_update_none.py +0 -0
  1746. {codex-1.8.13 → codex-1.8.16}/tests/nginx-local-codex.conf +0 -0
  1747. {codex-1.8.13 → codex-1.8.16}/tests/test_asgi.py +0 -0
  1748. {codex-1.8.13 → codex-1.8.16}/tests/test_models.py +0 -0
  1749. {codex-1.8.13 → codex-1.8.16}/vulture_ignorelist.py +0 -0
codex-1.8.16/NEWS.md ADDED
@@ -0,0 +1,1707 @@
1
+ # 📜 Codex News
2
+
3
+ <img src="codex/img/logo.svg" style="
4
+ height: 128px;
5
+ width: 128px;
6
+ border-radius: 128px;
7
+ " />
8
+
9
+ ## v1.8.16
10
+
11
+ - Don't support Python 3.14 until dependencies do.
12
+
13
+ ## v1.8.15
14
+
15
+ - Performance
16
+ - Replace axios with xior AJAX library.
17
+
18
+ ## v1.8.14
19
+
20
+ - Fixes
21
+ - Fix settings not saving in reader and sometimes in browser.
22
+ - Fix shutdown and restart signals on Windows.
23
+
24
+ ## v1.8.13
25
+
26
+ - Fixes
27
+ - Fix import crash when metadata import is disabled.
28
+
29
+ ## v1.8.12
30
+
31
+ - Fixes
32
+ - Fix publishers and series tags disappearing. Use Library Force Update to
33
+ restore them.
34
+ - Fix credit role order in tags screen.
35
+
36
+ ## v1.8.11
37
+
38
+ - Fixes
39
+ - Restarting Codex with Codex would still crash. More comprehensive fix.
40
+
41
+ ## v1.8.10
42
+
43
+ - Fixes
44
+ - Restarting Codex with Codex would crash, so Auto-Update restarts were
45
+ broke.
46
+ - Sorry non-docker homies! Thanks @professionaltart.
47
+ - Fix universes not being search indexed (very rare).
48
+ - More reliable re-render for browser page slider and navigation buttons.
49
+
50
+ ## v1.8.9
51
+
52
+ - Fixes
53
+ - Attempt to fix not saving new stat values if update doesn't update comic
54
+ metadata.
55
+ - Attempt to fix import bug where update metadata is disposed of before it
56
+ can be applied.
57
+ - Attempt to fix browser page slider not updating to match the current
58
+ folder.
59
+
60
+ ## v1.8.8
61
+
62
+ - Fixes
63
+ - Fix import crash on some Metron tagged comics with a primary identifier
64
+ source.
65
+
66
+ ## v1.8.7
67
+
68
+ - Fixes
69
+ - Make Full Text Search table smaller. Some irrelevant fields and data were
70
+ causing exponential bloat, crippling large libraries.
71
+ - Fix search by field for string fields, identifiers and issue.
72
+ - Fix overflow on browser card titles.
73
+
74
+ ## v1.8.6
75
+
76
+ - Fixes
77
+ - Scale search index sync batch size with memory. Large search sync query
78
+ was preventing search sync of large databases on small machines.
79
+
80
+ ## v1.8.5
81
+
82
+ - Fixes
83
+ - Better fix for persistent settings. Old fix could lead to settings that
84
+ never clear.
85
+
86
+ ## v1.8.4
87
+
88
+ - Fixes
89
+ - Fix not importing page_count when import metadata is off, leads to
90
+ unreadable books.
91
+ - Fix persistent settings.
92
+
93
+ ## v1.8.3
94
+
95
+ - Fixes
96
+ - Fix searching by string like fields in the search bar like 'path'.
97
+ - Fix minor search update exception when there's nothing search related to
98
+ update on import.
99
+
100
+ ## v1.8.2
101
+
102
+ - Fixes
103
+ - Force docker logs (all stdout logs) to colorize output.
104
+
105
+ ## v1.8.1
106
+
107
+ - Fixes
108
+ - Fix minor search update exception.
109
+
110
+ ## v1.8.0
111
+
112
+ - Features
113
+ - Support
114
+ [MetronInfo.xml v1.0 Schema](https://metron-project.github.io/docs/category/metroninfo)
115
+ for comic metadata.
116
+ - Support CB7 (7zip) comic archives.
117
+ - Search Indexing now also done in the import phase which is faster than
118
+ syncing from the db:
119
+ - 20k comics both imported and indexed in 9 minutes on my old macbook at
120
+ a rate of 30 comics per second. Half a million comics might take less
121
+ than 5 hours on the same machine.
122
+ - However this update replaces the search index and Codex will sync the
123
+ search index when it starts.
124
+ - Fewer database updates when comics change metadata or don't change
125
+ metadata at all means fewer and faster update imports.
126
+ - New Tags:
127
+ - Add Universes. Main Characters, and Main Team marked with a ★.
128
+ - Metron tags can provide links to web databases for each tag.
129
+ - New Import Metadata on Demand Admin Flag.
130
+ - Add manual Import Abort task for admins.
131
+ - Browser tab titles show route and page title, no longer show custom
132
+ banner.
133
+ - Logging format changed.
134
+
135
+ - Fixes
136
+ - Reading Order in reader was not always defaulting to your last Browser Top
137
+ Group.
138
+ - Fixed filtering on Critical Rating and FileType
139
+ - Fixed searching on Critical Rating field.
140
+ - Bug displaying Age Rating, Original Format, Scan Info, Tagger in metadata.
141
+ - Fixed database locking crashes.
142
+ - Attempt to fix major version change CSRF errors by forcing logout if CSRF
143
+ errors occur.
144
+
145
+ - Dev
146
+ - Uses Comicbox 2.0 see
147
+ [Comicbox NEWS for all details](https://github.com/ajslater/comicbox/blob/main/NEWS.md)
148
+
149
+ ## v1.7.15
150
+
151
+ - Fixes
152
+ - Fix unable to change top group to folders or story arcs if on root browse
153
+ page.
154
+
155
+ ## v1.7.14
156
+
157
+ - Fixes
158
+ - Fix Reader jumping back into the same book when changing to a new book.
159
+
160
+ ## v1.7.13
161
+
162
+ - Fixes
163
+ - Fix Reader Reading Order dropdown unable to change reading order.
164
+ - Fix loading root browser pages greater than 1 as a new route.
165
+ - Missing books error screen had no toolbars, could not close it.
166
+ - Fix docker configuration for Synology by creating a comicbox config
167
+ directory.
168
+ - Wait to load browser and reader pages until login tried with a cookie.
169
+
170
+ - Features
171
+ - Experimental `CODEX_BROWSER_MAX_OBJ_PER_PAGE` env variable. Default
172
+ is 100.
173
+
174
+ ## v1.7.12
175
+
176
+ - Fixes
177
+ - Crash downloading comics when user is in a group.
178
+ - User last active activity was often not recorded.
179
+
180
+ - Features
181
+ - Animate Pages option toggle in reader settings
182
+
183
+ ## v1.7.11
184
+
185
+ - Fixes
186
+ - Fix importing of story arc tags
187
+
188
+ ## v1.7.10
189
+
190
+ - Fixes
191
+ - Fix occasional import link tags crash.
192
+
193
+ ## v1.7.9
194
+
195
+ - Fixes
196
+ - Tags page layout fixes.
197
+
198
+ ## v1.7.8
199
+
200
+ - Features
201
+ - Tags page layout changes with more notes from @beville.
202
+
203
+ - Fixes
204
+ - Tags for simple comic fields were incorrectly taken from the first comic
205
+ in a group.
206
+ - Filter menu wasn't populating for top folder.
207
+ - Librarian status tasks would appear out of order.
208
+
209
+ ## v1.7.7
210
+
211
+ - Fixes
212
+ - Fix Librarians Statuses not loading in UI.
213
+ - Tags screen crash with untagged series or volumes.
214
+ - Fix tags screen Mark Read confirmation names.
215
+ - Order Tags Contributors by relevance not alphabetically.
216
+
217
+ ## v1.7.6
218
+
219
+ - Features
220
+ - Always Show Filenames setting for browser cards.
221
+ - Tags page layout changes with notes from @beville.
222
+
223
+ - Fixes
224
+ - Fix import crash on files with escapable html characters or utf-8 chars in
225
+ the filename.
226
+ - Fix page range crash in reader.
227
+ - Fix overzealous escaping of html in metadata strings.
228
+ - Fix group tags not aggregated properly in metadata screen for folders and
229
+ story arcs.
230
+
231
+ ## v1.7.5
232
+
233
+ - Fixes
234
+ - More granular websocket notifications means the web UI does fewer more
235
+ targeted data updates.
236
+ - Prevent deactivating and deprivileging the logged in user.
237
+ - Fix resetting active flag when resetting admin user with environment
238
+ variable.
239
+ - Fix crash in auto-update when unable to determine current Codex version.
240
+
241
+ ## v1.7.4
242
+
243
+ - Fixes
244
+ - Fix setting bookmarks and book settings bug.
245
+ - Sanitize HTML out of imported comic metadata fields and admin inputs.
246
+
247
+ ## v1.7.3
248
+
249
+ - Features
250
+ - Browser Order By Child Count.
251
+ - Customized site title option in Admin Flags.
252
+ - Codex logs are now compressed when rotated.
253
+ - Support OPDS v2.0 Progression (streaming) draft proposal from Aldiko.
254
+
255
+ - Fixes
256
+ - Browser Group Mark Read/Unread obeys browser filters.
257
+ - Fixed bad redirect when to deep linking into browser Folders or Story
258
+ Arcs.
259
+ - Fixed order by name for issues disregarding volume names in browser and
260
+ reader
261
+ - Fix display of name and filename on browser cards.
262
+ - Fix batching import of Contributors to prevent crash on large imports.
263
+ - Fixed an OPDS Metadata crash.
264
+
265
+ ## v1.7.2
266
+
267
+ - Features
268
+ - Download entire groups of comics from the browser and metadata screens.
269
+
270
+ - Fixes
271
+ - Fix reader page API sometimes crashing.
272
+
273
+ ## v1.7.1
274
+
275
+ - Features
276
+ - Always display filename for comics on browser cards in Folder View
277
+ - Detect .jxl extension (JPEG XL) as a comic page.
278
+
279
+ - Fixes
280
+ - Fix ignoring MacOS resource forks in archives.
281
+ - Don't redirect to issue view on first search in Folder View
282
+
283
+ ## v1.7.0
284
+
285
+ - Features
286
+ - Search
287
+ - Use SQLite Full Text Search v5 for search engine.
288
+ - Search syntax has changed. See the help popup at the end of the search
289
+ bar.
290
+ - Use faster db column lookups for some search bar queries. Thanks
291
+ @bmfrosty.
292
+ - You may remove the directory `config/whoosh_index`.
293
+ - Integrity Checks
294
+ - Faster more comprehensive db integrity checks run every night instead of
295
+ at startup.
296
+ - Integrity checks can run on startup with environment variables documented
297
+ in README.
298
+
299
+ - Fixes
300
+ - Actually fix browser opening reader at correct bookmark.
301
+ - Also fixes progress calculation on browser cards.
302
+ - Fixed crashes when the upstream codex version is not accessible.
303
+ - Fixed possible race conditions with nightly maintenance.
304
+
305
+ ## v1.6.19
306
+
307
+ - Fixes
308
+ - Fix browser opening reader at correct bookmark.
309
+ - Fix for browser triple tap bug for android tablet browsers in desktop
310
+ mode.
311
+ - Fix populating arcs in reading order menu in reader.
312
+ - Fix submitting old arc to reader API.
313
+ - Fix Version API blocking. Add check version admin task.
314
+ - Fix Library "Poll Every" validation.
315
+ - Fix Metadata dialog not scrolling sometimes.
316
+ - Fix file extension for downloaded PDF pages.
317
+
318
+ ## v1.6.18
319
+
320
+ - Yanked. Broken Reader.
321
+
322
+ ## v1.6.17
323
+
324
+ - Features
325
+ - Admin Action buttons now responsive to view size.
326
+
327
+ - Fixes
328
+ - Auto update wasn't comparing versions well.
329
+ - Possible fix for initializing admin flags crash.
330
+
331
+ ## v1.6.16
332
+
333
+ - Fixes
334
+ - Import may have been marking mounted drive's comics modified
335
+ inappropriately.
336
+ - Import crash when moving comics.
337
+ - Relink deep orphan folders in the db instead of recreating them.
338
+ - Do not adopt orphan folders deleted from the filesystem.
339
+ - Admin Tab change password for user broke.
340
+ - More robust ui cache busting on library update.
341
+ - Fix minor error on metadata text boxes with null values.
342
+
343
+ ## v1.6.15
344
+
345
+ - Fixes
346
+ - Fix more Metadata links to browser groups not computing and resolving
347
+ properly.
348
+
349
+ ## v1.6.14
350
+
351
+ - Fixes
352
+ - Fix Metadata links to browser groups not resetting topGroup properly.
353
+
354
+ ## v1.6.13
355
+
356
+ - Fixes
357
+ - Admin Panel Link was showing in the admin panel, not in the browser or
358
+ reader.
359
+
360
+ ## v1.6.12
361
+
362
+ - Features
363
+ - Native Windows installation instructions in the README thanks to
364
+ @professionaltart.
365
+ - Anonymously send stats to improve Codex. See admin/flags for description
366
+ and opt-out.
367
+
368
+ - Fixes
369
+ - Detect iOS devices in Desktop Mode for proper iOS tap behavior.
370
+
371
+ ## v1.6.9, v1.6.10, v1.6.11
372
+
373
+ - Yanked. Bad network behavior. Broken javascript.
374
+
375
+ ## v1.6.8
376
+
377
+ - Fixes
378
+ - Fix OPDS streaming in lazy metadata mode for Chunky-like readers which
379
+ require a page count.
380
+
381
+ ## v1.6.7
382
+
383
+ - Fixes
384
+ - OPDS authorization for some readers
385
+ - Remove superfluous debug exception trace on timezone endpoint.
386
+
387
+ ## v1.6.6
388
+
389
+ - Fixes
390
+ - User creation in admin panel broke.
391
+ - There was confusing UI on admin panel unauthorized screen.
392
+
393
+ ## v1.6.5
394
+
395
+ - Fixes:
396
+ - Fix logout button not working.
397
+
398
+ ## v1.6.4
399
+
400
+ - Fixes:
401
+ - Reader crash loading reader order arcs.
402
+ - OPDS datetimes now uniformly served in iso format.
403
+ - Fix browser filter menus clearing and loading irregularities.
404
+ - Fix parsing negative issue numbers in filenames.
405
+ - Log common non-ComicBookInfo archive comments with less alarm.
406
+ - Removed
407
+ - LOGLEVEL=VERBOSE deprecated for a long time. Use LOGLEVEL=DEBUG
408
+
409
+ ## v1.6.3
410
+
411
+ - Features
412
+ - Reader inherits the last browser view, with filters, as it's default
413
+ reading arc.
414
+ - When browser page is less than 1, redirect to parent. When 1 and empty,
415
+ show empty page.
416
+ - Fix
417
+ - The cover api was not accepting http basic (opds) authentication.
418
+
419
+ ## v1.6.2
420
+
421
+ - Fixes
422
+ - Fix pagination with more than 100 comics in the browser.
423
+
424
+ ## v1.6.1
425
+
426
+ - Features
427
+ - Add a retry button on book load error and page load error pages.
428
+
429
+ - Fixes
430
+ - Fix unable to login if anonymous users prohibited.
431
+ - Fix filter crash.
432
+ - Metadata was showing incorrect groups for individual comics
433
+
434
+ ## v1.6.0
435
+
436
+ - Features
437
+ - Custom Covers for Folders, Publishers, Imprints, Series and Story Arcs.
438
+ - Browser setting to choose Dynamic or First group covers. Thanks @Thakk.
439
+ - Breadcrumbs in the browser
440
+ - Reader can read by Volumes as well as by Series, Folder and StoryArc.
441
+ - More compact UI controls.
442
+ - Metadata tags can click to browse filtered on that tag.
443
+ - Experimental API throttling support. Search the README for "throttle".
444
+ - Add websocket updates for anonymous sessions
445
+ - Speed and caching optimizations.
446
+ - Fixes
447
+ - OPDS http basic authorization fixed.
448
+ - Groups with the same name in different cases collapse into one group in
449
+ the browser.
450
+ - Order By respects browser show groups settings.
451
+ - Fixed re-import of urls and identifiers.
452
+ - Fixed cleanup of some foreign keys when no longer used.
453
+ - Clean up all orphan folders on startup instead of first pass
454
+ - Fix creating bookmarks.
455
+ - Update browser sessions for user when users finish a book.
456
+
457
+ ## v1.5.19
458
+
459
+ - Fixes
460
+ - Metadata crash on folders.
461
+
462
+ ## v1.5.18
463
+
464
+ - Fixes
465
+ - Ignore comic pages from dotfiles and macOS resource forks.
466
+
467
+ ## v1.5.17
468
+
469
+ - Fixes
470
+ - Fix background color of browser card controls since vuetify update.
471
+
472
+ ## v1.5.16
473
+
474
+ - Fixes
475
+ - Fix creating and updating exclude groups.
476
+ - More Web & url tags parsed from metadata.
477
+
478
+ ## v1.5.15
479
+
480
+ - Fixes
481
+ - OPDS streaming broken for some clients (Chunky) without metadata.
482
+ - OPDS redirects for empty pages or 404's were crashing.
483
+ - OPDS uses filename fallback for title if missing metadata.
484
+
485
+ ## v1.5.14
486
+
487
+ - Features
488
+ - Relative folder path is now searchable if Folder View enabled.
489
+ - More granular caching hopefully for better performance.
490
+ - Fixes
491
+ - OPDS redirects were crashing.
492
+ - Null search was crashing metadata for single comics
493
+ - Fix a breakage with fast file static file serving.
494
+ - Change browser order by to something sensible when search cleared.
495
+
496
+ ## v1.5.13
497
+
498
+ - Fixes
499
+ - Fix root folder for library sometimes not created on import.
500
+ - Fix redirect loop in browser when all members of a group deleted.
501
+ - Fix browser pagination buttons not advancing.
502
+ - Fix OPDS v2 crash
503
+ - Fix browser throbber not appearing when making query.
504
+
505
+ ## v1.5.12
506
+
507
+ - Fixes
508
+ - Fix Folder browser offset pagination bug for folder with books and no
509
+ folders.
510
+
511
+ ## v1.5.11
512
+
513
+ - Fixes
514
+ - Fix erroneous Folder View page out of bounds redirect.
515
+
516
+ ## v1.5.10
517
+
518
+ - Fixes
519
+ - Folder view was not showing all the books on mixed folder & book pages.
520
+ - Shutdown and Restart admin tasks were not working.
521
+
522
+ ## v1.5.9
523
+
524
+ - Fixes
525
+ - Crash when reading comics in folder view introduced in v1.5.8
526
+
527
+ ## v1.5.8
528
+
529
+ - Fixes
530
+ - No search results was returning every comic instead of no comics.
531
+ - issue: field searching returned no results.
532
+ - issue_number, community_rating, & critical rating no longer require two
533
+ digits of precision.
534
+ - Excess books included in reader arc/folder/series.
535
+ - Features
536
+ - Even Lazier import when Import Metadata Admin flag turned off.
537
+ - issue: field search now combines numeric and suffix parts.
538
+
539
+ ## v1.5.7
540
+
541
+ - Fixes
542
+ - Pagination crash with more than 100 folders.
543
+ - Experimental fix for Synology Docker CHOWN_PYTHON_SITE_PACKAGES=1
544
+
545
+ ## v1.5.6
546
+
547
+ - Fixes
548
+ - Fix sqlite limit crash when importing > \~1000 web urls.
549
+
550
+ ## v1.5.5
551
+
552
+ - Fixes
553
+ - Attempt to fix import crash processing too much metadata at once. Allow
554
+ undocumented env variable to manipulate this: CODEX_FILTER_BATCH_SIZE
555
+ (default: 900)
556
+ - Fix search engine update crash for large collections.
557
+
558
+ ## v1.5.4
559
+
560
+ - Fixes
561
+ - Django 5 broke root_path prefixing from the asgi server. Work around it.
562
+
563
+ ## v1.5.3
564
+
565
+ - Fixes
566
+ - Mouse horizontal scroll broken on Firefox.
567
+
568
+ ## v1.5.2
569
+
570
+ - Fixes
571
+ - OPDS titles were showing as "Unknown" for comics with tagged volumes.
572
+ - OPDS v2 was crashing.
573
+ - Cover displayed for group browser with Name ordering was inconsistent.
574
+ - Enable mouse drag horizontal scrolling in reader zoom mode.
575
+
576
+ ## v1.5.1
577
+
578
+ - Fixes
579
+ - OPDS v1 was not rendering any data.
580
+
581
+ ## v1.5.0
582
+
583
+ - **Warning**
584
+ - The main database path has changed from `db.sqlite3` to `codex.sqlite3`
585
+ - This version forces a rebuild of the search index (not the main database)
586
+ - Fixes
587
+ - Some integrity checks weren't running on startup.
588
+ - The metadata page would sometimes crash for Admins.
589
+ - Moving a comic to a subfolder would crash.
590
+ - Moving a deep subfolders would crash.
591
+ - Moving a comic to the root folder would send the comic to the phantom
592
+ zone.
593
+ - Updating comics would sometimes not delete removed tags.
594
+ - Series & Volumes no longer updated too often on import.
595
+ - Admin Actions was polling all libraries when one selected.
596
+ - OPDS was showing repeated titles.
597
+ - Vertical scroller tracking and updating improved.
598
+ - Page filenames are now sorted case insensitively which should improve
599
+ order.
600
+ - Features
601
+ - Admin Exclude groups compliment the existing Include groups.
602
+ - New metadata tags: Monochrome, Tagger, GTIN, Review, Identifiers, &
603
+ Reading Direction. Available when comics are re-imported (Force Update
604
+ recommended).
605
+ - Identifiers metadata tag replaces the "Web" tag.
606
+ - Reads ComicInfo.xml and other formats from the PDF keywords field. You can
607
+ write ComicInfo.xml to PDFs with comictagger.
608
+ - Reading Direction reader setting replaces Reader's vertical & horizontal
609
+ views.
610
+ - Supports the MetronInfo metadata format (rare).
611
+ - Filesystem events filtered to only the ones Codex handles.
612
+ - Double-click to zoom on pages in reader.
613
+ - Read PDF with browser in a new tab link.
614
+ - Experimental checkbox for caching entire comic or PDF in the browser.
615
+ - Admin Flag for disabling most metadata import.
616
+ - Dev
617
+ - Using comicbox v1 for metadata import.
618
+
619
+ ## v1.4.3
620
+
621
+ - Fixes
622
+ - Crash on undecodable characters in metadata.
623
+ - Search terms weren't applying to filter choices population.
624
+ - Fix name ordering. Show series & volume in browser cards if it affects
625
+ name ordering.
626
+ - Shrink reader page change boxes to let toolbar activate on corner clicks.
627
+ - Dev
628
+ - Big lint update.
629
+
630
+ ## v1.4.2
631
+
632
+ - Fixes
633
+ - Groups were not aggregating children properly when searched.
634
+ - Search could break Folder View.
635
+ - Changing the browser 'Order By' would sometimes not apply.
636
+ - Attempt to fix stale books appearing on reader load.
637
+
638
+ ## v1.4.1
639
+
640
+ - Fixes
641
+ - A bug that prevented folder view from displaying under some circumstances.
642
+
643
+ ## v1.4.0
644
+
645
+ - Features
646
+ - Story Arc Top Group in Web & OPDS Browsers
647
+ - Support multiple Story Arcs per comic.
648
+ - Supports Mylar CSV StoryArc / StoryArcNumber extension to ComicInfo.xml
649
+ - Show only filter options that affect the current browse level.
650
+ - Reader has a Series/Folder/Story Arc order selector.
651
+ - Reader shows filename instead of metadata title if you've been browsing in
652
+ File View
653
+ - Downloads now use the original filename from disk.
654
+ - Fix
655
+ - Folder was view displayed but crashed in OPDS even if disabled by admin.
656
+
657
+ ## v1.3.14
658
+
659
+ - Features
660
+ - Better metadata extraction for PDFs.
661
+ - Support for ComicInfo StoryArcNumber, Review and GTIN tags.
662
+ - Order by Story Arc Number
663
+ - Do not detect .cbr files if unrar is not on the path.
664
+ - Display filename for comics in browser file view.
665
+ - Fixes
666
+ - Import of ComicInfo Tags metadata.
667
+ - Never removed old missing metadata when updated.
668
+ - Error on moving folders.
669
+ - Fix saving last route between sessions.
670
+ - Better error messages if unrar is not on the path.
671
+ - Removed
672
+ - Remove support for unrar.cffi
673
+
674
+ ## v1.3.13
675
+
676
+ - Fixes
677
+ - Group cover sometimes showing wrong cover for order.
678
+ - Rare import crash.
679
+
680
+ ## v1.3.12
681
+
682
+ - Features
683
+ - OPDS 2 Last Read link.
684
+ - Fixes
685
+ - Books without bookmarks could break parts of the reader.
686
+ - Remove clipboard UI hints when clipboard isn't available.
687
+
688
+ ## v1.3.11
689
+
690
+ - Features
691
+ - Last Read Order By option for web and OPDS.
692
+ - Some Order By options now have a default descending order.
693
+ - OPDS 1 special top links limited to 100 entries.
694
+ - Fix
695
+ - OPDS 1 links did not include filters or order information.
696
+ - OPDS 1 page streaming broke.
697
+
698
+ ## v1.3.10
699
+
700
+ - Fixes
701
+ - Crash when reading from folder view.
702
+
703
+ ## v1.3.9
704
+
705
+ - Features
706
+ - Experimental OPDS 2.0 Support.
707
+ - Create all comic covers admin task.
708
+ - Faster Metadata pages for web and OPDS.
709
+ - Fixes
710
+ - Two pages mode broken.
711
+ - Credits not imported bug.
712
+ - Failed imports not removed when file removed bug.
713
+
714
+ ## v1.3.8
715
+
716
+ - Fixes
717
+ - Fix Basic Authentication not enabled for OPDS Cover, Page, and Download
718
+ views.
719
+ - Tune low memory algorithm slightly lower for memory constrained systems.
720
+ - Dev
721
+ - Use makefile and moved most scripts into bin.
722
+
723
+ ## v1.3.7
724
+
725
+ - Feature
726
+ - Metadata page links to groups to browse to.
727
+ - Fixes
728
+ - Crash when moving comics.
729
+ - Container memory limits weren't detected for Linux kernels before 4.5
730
+ - Reader
731
+ - Horizontal Reader was slow for comics with high page counts.
732
+ - Vertical scroller was not tracking pages in fitTo Width or Orig modes.
733
+ - Validation error detecting child and parent library paths incorrectly.
734
+ - Dev
735
+ - Django 4.2
736
+
737
+ ## v1.3.6
738
+
739
+ - Fixes
740
+ - Much lower memory tuning. Environment variables control tuning.
741
+ - Possible fix for vertical scroller page tracking for tall images.
742
+
743
+ ## v1.3.5
744
+
745
+ - Fixes
746
+ - OPDS sorting and filtering broke.
747
+ - Fixed Download URLs for clients that ignore headers like Chunky.
748
+ - Update Search Index now checks for more missing entries.
749
+
750
+ ## v1.3.4
751
+
752
+ - Fixes
753
+ - Number out of range errors for issue when search indexing.
754
+ - Total child pages of folders and groups sometimes overcounted, displaying
755
+ half unread folders.
756
+ - Reader: Vertical Scroll
757
+ - Remove black bottom margin from images.
758
+ - Was loading every page in a comic at once.
759
+ - Page tracking did not work with images larger than viewport width.
760
+
761
+ ## v1.3.3
762
+
763
+ - Fixes
764
+ - Number out of range errors when search indexing.
765
+ - Possible Search Index Remove Stale and Abort jobs not scheduled properly.
766
+ - OPDS missing entry ids rejected by Panels reader.
767
+ - Downloads had an extra period in the suffix.
768
+
769
+ ## v1.3.2
770
+
771
+ - Fixes
772
+ - Reader Fit To settings broken
773
+ - Possible files marked modified too often.
774
+
775
+ ## v1.3.1
776
+
777
+ - Fixes
778
+ - An import crash in create foreign keys.
779
+ - Admin table dates were always in UTC so sometime off by a day.
780
+
781
+ ## v1.3.0
782
+
783
+ ### I remember... my whole life. Everything
784
+
785
+ - Features
786
+ - Codex stable in 1GB RAM environments. Faster with more.
787
+ - Codex uses unrar-cffi if available. Not required.
788
+ - Browser
789
+ - Navigate to top button.
790
+ - Filter by File Type.
791
+ - OPDS
792
+ - Top links display only at catalog root.
793
+ - Extended metadata moved to alternate links.
794
+ - Admin
795
+ - Search Indexer Remove Stale Records task much faster.
796
+ - Comic import speedups.
797
+ - Fancier sortable admin tables.
798
+ - Removed `max_db_ops` config variable.
799
+ - Fixes
800
+ - Reader vertical scroll lost its place in Fit To Width or Orig mode.
801
+ - OPDS downloaded files all had the same name.
802
+ - Search Index
803
+ - More robust against bad data.
804
+ - Some search fields were case sensitive.
805
+ - Admin
806
+ - Graceful shutdown when Docker container stops.
807
+ - Codex was backing up on every startup.
808
+ - Status for batched imports (large imports or low memory) now reflects
809
+ total instead of single batch.
810
+
811
+ ## v1.2.9
812
+
813
+ - Features
814
+ - Vertical scroll option for reader.
815
+ - Faster search index removes.
816
+ - Admin Users tab shows last user activity date.
817
+ - OPDSE PSE 1.2 extension for Panels `pse:lastReadDate`
818
+ - Fixes
819
+ - Fixed next and previous book keyboard shortcuts.
820
+ - Improved OPDS acquisition page performance by removing more "categories"
821
+ metadata.
822
+
823
+ ## v1.2.8
824
+
825
+ - Features
826
+ - Search Index
827
+ - Improved search indexing times.
828
+ - Admin Flag to adjust nightly full optimization.
829
+ - OPDS
830
+ - "Newest Issues" Link replaced by "Recently Added" after user feedback.
831
+ - Fixes
832
+ - Volume tags were often not scanned. Recommend using Force Reimport on all
833
+ libraries.
834
+ - OPDS
835
+ - Fix navigation links not inheriting view settings of current page.
836
+ - Removed populating categories in OPDS to experiment with performance
837
+ issues.
838
+ - Fix OPDS pse lastRead tag.
839
+ - Block library polling during database updates, fixes reindexing.
840
+
841
+ ## v1.2.7
842
+
843
+ - Fixes
844
+ - Trap final search index commit errors and try again without merging
845
+ segments.
846
+ - Fix moving folders assigned no parent folder, displaying them in root.
847
+
848
+ ## v1.2.6
849
+
850
+ - Fixes
851
+ - Impose memory limits on search index writers.
852
+ - Impose items before write limits search index writer.
853
+ - Sort comics by path for the reader navigation when in Folder View.
854
+ - Remove inappropriate vertical scroll bars from page images.
855
+
856
+ ## v1.2.5
857
+
858
+ - Features
859
+ - In Folder View the reader navigates by folder instead of series.
860
+ - Fixes
861
+ - OPDS crash on missing 24 hour time setting input required.
862
+
863
+ ## v1.2.4
864
+
865
+ - Features
866
+ - User configurable 24 hour time format.
867
+ - Reader
868
+ - Displays covers as one page even in two page mode.
869
+ - Read in Reverse mode.
870
+ - Keymaps for adjusting page by one page in two page mode.
871
+ - Previous and Next book navigation buttons and keymaps.
872
+ - Fixes
873
+ - OPDS:
874
+ - Fix acquisition feed timeouts on large libraries by removing most m2m
875
+ fields that populated OPDS categories
876
+ - Fix pagination
877
+ - Show series name in comic title.
878
+ - Experiment: don't show top links or entry facets on pages > 1
879
+ - Reader:
880
+ - Two pages mode would skip pages.
881
+ - Next/prev book goes to correct page for Right To Left tagged books.
882
+ - Fix occasional error setting reader settings.
883
+ - Fixed noop poll event happening on comic cover creation.
884
+
885
+ ## v1.2.3
886
+
887
+ - Fixes
888
+ - Prevent search indexing starting over if it encounters errors.
889
+ - Fix download buttons.
890
+ - Fix admin settings drawer obscuring small screens.
891
+ - Fix scroll bars showing inapproporately on admin tables.
892
+ - Fix OPDS authors having 'i' appended.
893
+
894
+ ## v1.2.2
895
+
896
+ - Fixes
897
+ - Fix all items removed from search index after update.
898
+ - Speedups to cleaning up search engine ghosts.
899
+
900
+ ## v1.2.1
901
+
902
+ - Fixes
903
+ - Crash on building a fresh database.
904
+ - Fixed an importer crash when it tried to wait for changing files.
905
+ - Disabling Library Poll prevented manual polling.
906
+ - More explicit Poll Every hints in edit dialog.
907
+ - Repository link didn't open a new window.
908
+
909
+ ## v1.2.0
910
+
911
+ ### What kind of Heaven uses bounty hunters?
912
+
913
+ - Features
914
+ - Faster and more robust PDF support. Codex no longer depends on the poppler
915
+ library.
916
+ - LOGLEVEL=VERBOSE deprecated in favor of DEBUG
917
+ - Stats page API accessible via API key as well as admin login.
918
+ - Fixes
919
+ - Some Librarian Status messages would appear never to finish.
920
+ - Development
921
+ - The multiprocessing method is now S P A W N 💀 on all platforms.
922
+ - Websockets are now handled by customized Django channels
923
+ - aioprocessing Queue communicates between librarian and channels.
924
+
925
+ ## v1.1.6
926
+
927
+ - Fixes
928
+ - Fix rare deletion and recreation of all comics when inodes changed.
929
+
930
+ ## v1.1.5
931
+
932
+ - Features
933
+ - Admin Stats tab
934
+ - Libraries can have a poll delay longer than 1 day.
935
+ - Fixes
936
+ - Crash when removing comics.
937
+ - Admin Create & Update dialogs would get stuck open on submit.
938
+ - Delete expired and corrupt sessions every night.
939
+ - More liberal touch detection for more devices.
940
+
941
+ ## v1.1.4
942
+
943
+ - Fixes
944
+ - Multiprocessing speedup for large search engine indexing jobs
945
+ - Writes search engine data in segments.
946
+ - Search engine segment combiner optimizer runs nightly (and manually).
947
+
948
+ ## v1.1.3
949
+
950
+ - Fixes
951
+ - Fix some OPDS browsers unable to read comics.
952
+
953
+ ## v1.1.2
954
+
955
+ - Fixes
956
+ - Fix unable to initialize database on first run
957
+
958
+ ## v1.1.0
959
+
960
+ ### Whoosh
961
+
962
+ - Features
963
+ - Switch to Whoosh Search Engine.
964
+ - You may delete `config/xapian_index`.
965
+ - May run on Windows now?
966
+ - Moved db backups to `config/backups`.
967
+ - Backup database before migrations.
968
+ - Removed
969
+ - Do not store search history for combobox across sessions.
970
+ - Fixes
971
+ - Fix Admin Library folder picker.
972
+ - Uatu does a better job of ignoring device changes.
973
+ - Don't pop out of folder mode on searches.
974
+ - Fix showing error on unable to load comic image.
975
+
976
+ ## v1.0.3
977
+
978
+ - Features
979
+ - Force update all failed imports admin task.
980
+ - Fixes
981
+ - Fix moving folders to subfolder orphans folders bug.
982
+ - Fix id does not exist redirect loop.
983
+
984
+ ## v1.0.2
985
+
986
+ - Features
987
+ - Support for Deflate64 zip compression algorithm.
988
+ - Fixes
989
+ - Fix Failed Imports not retrying import when updated.
990
+ - Make db updates more durable and possibly problem comics paths in log.
991
+ - Discard orphan websocket connections from the connection pool.
992
+ - Fix Admin Status drawer closing at wrong time.
993
+
994
+ ## v1.0.1
995
+
996
+ - Features
997
+ - Justify order-by field in browser cards.
998
+ - Fixes
999
+ - Fixed next book change drawer opening settings drawer.
1000
+ - Fixed zero padding on browser card issue numbers.
1001
+
1002
+ ## v1.0.0
1003
+
1004
+ ### Vue 3
1005
+
1006
+ - Features
1007
+ - Removed old django admin pages.
1008
+ - Shutdown task for admins.
1009
+ - Configure logging with environment variables. See README.
1010
+ - Fixes
1011
+ - Fix displaying error in login dialog.
1012
+ - Fix saving community & critical rating filters to session
1013
+ - Fix fit to screen not enlarging pages smaller than screen.
1014
+ - Developer
1015
+ - Frontend is now Vuetify 3 over Vue 3. Using options API.
1016
+
1017
+ ## v0.14.5
1018
+
1019
+ - Fixes
1020
+ - Fix crash on decoding some comics metadata charset encoding.
1021
+
1022
+ ## v0.14.4
1023
+
1024
+ - Fixes
1025
+ - Fix login not available when AdminFlag Enable Non Users was unset.
1026
+ - Fix server PicklingError logging bug.
1027
+
1028
+ ## v0.14.3
1029
+
1030
+ - Fixes
1031
+ - Fix root_path configuration
1032
+
1033
+ ## v0.14.2
1034
+
1035
+ - Fixes
1036
+ - Fix Librarian process hanging due to logging deadlock.
1037
+ - Fix reader keyboard shortcut help.
1038
+ - Fix book change drawer appearing in the middle of books.
1039
+
1040
+ ## v0.14.1
1041
+
1042
+ - Fixes
1043
+ - Resolve ties in browser ordering with default comic ordering.
1044
+ - Always close book change drawer before reader opens.
1045
+
1046
+ ## v0.14.0
1047
+
1048
+ ### Sliding Pages
1049
+
1050
+ - Features
1051
+ - Animated sliding pages on reader.
1052
+ - Comic & PDF pages display loading, rendering and password errors.
1053
+ - Fixes
1054
+ - Filters with compound names were not loading choices.
1055
+ - Show only usable filters for current view as filter choices.
1056
+ - Allow filtering by None values when None values exist.
1057
+ - Handle an iOS bug with downloading pages and comics inside a PWA.
1058
+ - Fixed PDF failure to render on load and after changing settings.
1059
+ - Login & Change Password dialogs no longer activate Reader shortcuts by
1060
+ accident.
1061
+
1062
+ ## v0.13.0
1063
+
1064
+ ### Admin Panel
1065
+
1066
+ - Features
1067
+ - Single Page Admin Panel.
1068
+ - Users may now change their own passwords.
1069
+ - OPDS
1070
+ - Use facets for known User Agents that support them. Default to using entry
1071
+ links.
1072
+ - Gain a Newest Issues facet, a Start top link and a Featured / Oldest
1073
+ Unread link.
1074
+ - More metadata tags.
1075
+ - Special thanks to @beville for UX research and suggestions
1076
+ - HTTP Basic auth only used for OPDS.
1077
+ - Frontend components do lazy loading, should see some speedups.
1078
+ - Fixes
1079
+ - Fixed imprints & volume levels not displaying sometimes.
1080
+ - Fix large images & downloads for some OPDS clients.
1081
+ - Developer
1082
+ - API v3 is more restful.
1083
+ - /api/v3/ displays API documentation.
1084
+ - Vite replaces Vue CLI.
1085
+ - Pina replaces Vuex.
1086
+ - Vitest replaces Jest.
1087
+ - Django livereload server and debug toolbar removed.
1088
+
1089
+ ## v0.12.2
1090
+
1091
+ - Fixes
1092
+ - Fix OPDS downloading & streaming for Chunky Comic Reader.
1093
+ - Hack in facets as nav links for Panels & Chunky OPDS readers.
1094
+
1095
+ ## v0.12.1
1096
+
1097
+ - Fixes
1098
+ - Disable article ignore on name sort in folder view.
1099
+ - Fix browser navigation bug with issues top group.
1100
+
1101
+ ## v0.12.0
1102
+
1103
+ ### Syndication
1104
+
1105
+ - Features
1106
+ - OPDS v1, OPDS Streaming & OPDS Search support.
1107
+ - Codex now accepts HTTP Basic authentication.
1108
+ - If you run Codex behind a proxy that accepts HTTP Basic credentials that
1109
+ are different than those for Codex, be sure to disable authorization
1110
+ forwarding.
1111
+ - Larger browser covers.
1112
+ - Sort by name ignores leading articles in 11 languages.
1113
+ - Fixes
1114
+ - Use defusexml to load xml metadata for safety.
1115
+ - Removed process naming. My implementation was prone to instability.
1116
+
1117
+ ## v0.11.0
1118
+
1119
+ ### Task Monitor
1120
+
1121
+ - Features
1122
+ - Librarian tasks in progress appear in the settings side drawer for
1123
+ adminstratiors.
1124
+ - Covers are now created on demand by the browser, rather than on import.
1125
+ - Browser Read filter.
1126
+ - Fixes
1127
+ - Bookmark progress bar updates in browser after closing book.
1128
+ - Metadata web links fix.
1129
+
1130
+ ## v0.10.10
1131
+
1132
+ - Features
1133
+ - Reader nav toolbar shows position in series.
1134
+
1135
+ - Fixes
1136
+ - Fix inability to log in when Enable Non Users admin flag is unset.
1137
+ - Simplify Admin Library delete confirmation page to prevent OOM crash.
1138
+ - Move controls away from iphone notch and home bar.
1139
+
1140
+ ## v0.10.9
1141
+
1142
+ - Fixes
1143
+ - Fix null bookmark and count fields in metadata
1144
+ - Fix indeterminate finished state when children have bookmark progress.
1145
+ - Fix maintenance running inappropriately on first run. Crashed xapian
1146
+ database.
1147
+ - Fix reader metadata keymap
1148
+
1149
+ - Features
1150
+ - Progressive Web App support
1151
+ - Reader "Shrink to" settings replaced by "Fit to"
1152
+
1153
+ - Special Thanks
1154
+ - To ToxicFrog, who's been finding most of these bugs I'm fixing for a
1155
+ while.
1156
+
1157
+ ## v0.10.8
1158
+
1159
+ - Fixes
1160
+ - Fixed reader nav clicks always showing the toolbars.
1161
+ - Attempt to fix unwanted browser toolbars when treated as mobile app
1162
+ - Wait half a second before displaying reader placeholder spinner.
1163
+ - Fix metadata missing search query.
1164
+ - Fix metadata cache busting.
1165
+
1166
+ - Features
1167
+ - Accessibility enhancements for screen readers.
1168
+
1169
+ ## v0.10.7
1170
+
1171
+ - Features
1172
+ - Browser tries to scroll to closed book to keep your place.
1173
+
1174
+ - Fixes
1175
+ - Fixed missing lower click area on browser cards.
1176
+ - Fixed session bookmark interfering with logged in user bookmark.
1177
+
1178
+ ## v0.10.6
1179
+
1180
+ - Broken docker container
1181
+
1182
+ ## v0.10.5
1183
+
1184
+ - Features
1185
+ - Reader shrink to screen setting becomes fit to screen and embiggens small
1186
+ images.
1187
+ - Reader changing to the next book now has visual feedback and requires two
1188
+ clicks.
1189
+
1190
+ - Fixes
1191
+ - Removed vertical scrollbars when Reader shrunk to height.
1192
+ - Don't disturb the view when top group changes from higher to lower.
1193
+
1194
+ ## v0.10.4
1195
+
1196
+ - Fixes
1197
+ - Fix double tap for non-iOS touch devices.
1198
+
1199
+ - Features
1200
+ - Shrink to Screen reader setting.
1201
+ - Reader throbber if a page takes longer than a quarter second to load.
1202
+
1203
+ ## v0.10.3
1204
+
1205
+ - Fixes
1206
+ - Fix PDF going blank when settings change.
1207
+ - Remove vestigial browser scrollbars when they're not needed. Thanks to
1208
+ ToxicFrog.
1209
+ - Fix cover cleanup maintenance task.
1210
+
1211
+ ## v0.10.2
1212
+
1213
+ - Fixes
1214
+ - URLS dictate view over top group. Fixes linking into views.
1215
+ - Fix possible cover generation memory leak.
1216
+ - Build a deadfall trap for search indexer zombies. Use Offspring's brains
1217
+ as bait.
1218
+
1219
+ ## v0.10.1
1220
+
1221
+ - Fixes
1222
+ - Linked old top level comics orphaned by library folders migration.
1223
+
1224
+ ## v0.10.0
1225
+
1226
+ ### Portable Document Format
1227
+
1228
+ - Features
1229
+ - PDF support. Optional poppler-utils binary package needed to generate PDF
1230
+ cover thumbnails.
1231
+ - CBT support. Tarball comic archives.
1232
+ - Alphanumeric issue support. Requires rescanning existing comics.
1233
+ - Individual top level folders for each library.
1234
+ - Don't duplicate folder name in filename sort.
1235
+
1236
+ - Fixes
1237
+ - Comic file suffixes now matched case insensitively.
1238
+ - Finished comics count as 100% complete for bookmark aggregation.
1239
+ - Mark all folder descendant comics un/read recursively instead of immediate
1240
+ children.
1241
+ - Don't leak library root paths in Folder View for non-admins in the API.
1242
+ - Fixed aggregation bug showing inaccurate data when viewing group metadata.
1243
+ - More accurate Name sorting.
1244
+ - Fixed default start page for RTL comics.
1245
+ - Disabled reading links for empty comics.
1246
+ - Shield radiation from Venus to reduce zombie incidents.
1247
+
1248
+ ## v0.9.14
1249
+
1250
+ - Fixes
1251
+ - Fix comicbox config crash.
1252
+ - Use codex config namespace (\~/.config/codex) so codex doesn't interfere
1253
+ with standalone comicbox configs.
1254
+ - Comic issue numbers display to two decimal points instead of using ½
1255
+ glyphs.
1256
+
1257
+ - Features
1258
+ - Filename order by option. Disabled if the "Enable Folder View" Admin Flag
1259
+ is off.
1260
+
1261
+ ## v0.9.13
1262
+
1263
+ - Fixes
1264
+ - Fix root_path configuration for running codex in url sub-paths
1265
+ - Parse new filename patterns for metadata.
1266
+ - Slightly faster comic cover generation.
1267
+
1268
+ ## v0.9.12
1269
+
1270
+ - Fixes
1271
+ - Fix setting global reader settings.
1272
+ - Fixed reader settings not applying due to caching.
1273
+ - Bust reader caches when library updates.
1274
+ - Reader titles smaller and wrap on mobile.
1275
+ - Fixed deep linking into reader.
1276
+
1277
+ - Features
1278
+ - Disable reader prev/next touch swiping for phone sized browsers.
1279
+
1280
+ ## v0.9.11
1281
+
1282
+ - Fixes
1283
+ - Fixed covers not creating on import.
1284
+ - Covers update in browser when updated on disk.
1285
+ - Create missing covers on startup.
1286
+ - Bust browser cache when library updates.
1287
+ - Reader settings were not applying in some cases.
1288
+ - Fixed crash updating latest codex software version from the internet.
1289
+ - Fixed crash loading admin page.
1290
+
1291
+ - Features
1292
+ - Codex processes show names in ps and thread names on Linux.
1293
+ - Add Poll libraries action to FailedImports Admin Panel.
1294
+ - Space and shift-space previous and next reader shortcuts.
1295
+ - Reader settings UI redesigned to be clearer.
1296
+
1297
+ ## v0.9.10
1298
+
1299
+ Yanked. Crash loading admin page.
1300
+
1301
+ ## v0.9.9
1302
+
1303
+ - Fixes
1304
+ - Fixed combining CBI credits with other format credits
1305
+ - Failed imports notification appears only for new failed imports.
1306
+
1307
+ - Features
1308
+ - Update search index daily.
1309
+ - Clean up orphan comic covers every night.
1310
+
1311
+ ## v0.9.8
1312
+
1313
+ - Fixes
1314
+ - Fixed search index update crash while database is still updating.
1315
+ - Fixed issues larger than 99 bug.
1316
+ - Fixed issue not imported due to metadata cleaning bug.
1317
+ - Fixed crash updating search index while library was still updating.
1318
+ - Thread error trapping and diagnostics to root out zombie process issue.
1319
+ - Sort numeric terms in filter menus numerically not alphabetically.
1320
+ - Fixed comic name display wrapping in browser.
1321
+
1322
+ - Features
1323
+ - More comprehensive metadata sanitizing before import.
1324
+ - Reduced time checking to see if files have finished writing before import.
1325
+ - Uniform format for metadata parsing logging.
1326
+ - Credits sorted by last name.
1327
+
1328
+ ## v0.9.7
1329
+
1330
+ - Fixes
1331
+ - Coerce decimal values into valid ranges and precision before importing.
1332
+
1333
+ - Features
1334
+ - Clean up unused foreign keys once a day instead of after every import.
1335
+ - Clean up unused foreign keys librarian job available in admin panel.
1336
+
1337
+ ## v0.9.6
1338
+
1339
+ - Fixes
1340
+ - Don't open browser when a library changes when reading a comic.
1341
+ - Fixed crash creating illegal dates on import.
1342
+
1343
+ - Features
1344
+ - Replace description field with more common ComicInfo comments field.
1345
+ - Log files now rotate by size instead of daily.
1346
+ - Log path for failed imports and cover creation.
1347
+
1348
+ ## v0.9.5
1349
+
1350
+ - Fixed
1351
+ - Use an allow list for importing metadata to prevent crashes.
1352
+
1353
+ ## v0.9.4
1354
+
1355
+ - Fixes
1356
+ - Fixed crash when importing comments metadata.
1357
+
1358
+ ## v0.9.3
1359
+
1360
+ - Fixes
1361
+ - Import credits data for CBI and CIX tagged comics.
1362
+ - More liberal metadata decimal parsing.
1363
+
1364
+ ## v0.9.2
1365
+
1366
+ - Fixes
1367
+ - Fix rare migration bug for Cover Artist role.
1368
+
1369
+ ## v0.9.1
1370
+
1371
+ - Fixes
1372
+ - Fix to library group integrity checker
1373
+
1374
+ ## v0.9.0
1375
+
1376
+ ### Private Libraries
1377
+
1378
+ - Features
1379
+ - Libraries may have access restricted to certain user groups.
1380
+ - The "Critical Rating" tag is now a decimal value.
1381
+ - The "Community Rating" tag replaced "User Rating" tag, a decimal value.
1382
+ - Cover Credits role replaced by "Cover Artist".
1383
+ - Reader has a "Download Page" button.
1384
+ - Metadata dialog highlights filtered items.
1385
+ - Metadata dialog is faster.
1386
+ - Admin Queue Job for creating missing comic covers.
1387
+
1388
+ ## v0.8.0
1389
+
1390
+ ### Search
1391
+
1392
+ - Features
1393
+ - Metadata search field in browser
1394
+ - Settings dialogs replaced with side drawers
1395
+ - Changed some keyboard shortcuts in reader.
1396
+ - "group by" renamed to "top group".
1397
+ - Admin panel gained a Queue Jobs page.
1398
+ - Fixes
1399
+ - Browser does a better job of remembering your last browser view on first
1400
+ load.
1401
+ - Reader's "close book" button now does a better job returning you to your
1402
+ last browser view.
1403
+ - Metadata panel cleanup and fix some missing fields.
1404
+ - Binary Dependencies
1405
+ - Codex now requires the Xapian library to run as a native application
1406
+ - Drop Support
1407
+ - The linux/armhf platform is no longer published for Docker.
1408
+ - License
1409
+ - Codex is GPLv3
1410
+
1411
+ ## v0.7.5
1412
+
1413
+ - Fixes
1414
+ - Fix integrity cleanup check for old comic_folder relations that prevented
1415
+ migrations.
1416
+
1417
+ ## v0.7.4
1418
+
1419
+ - Fixes
1420
+ - Fix integrity cleanup check for more types of integrity errors that may
1421
+ have prevented clean db migrations.
1422
+ - Fix last filter, group, sort not loading properly for some new views.
1423
+
1424
+ ## v0.7.3
1425
+
1426
+ - Fixes
1427
+ - Fix crash updating latest version.
1428
+ - Fix a folder not found crash in folder view.
1429
+ - Features
1430
+ - Database indexing speedups.
1431
+
1432
+ ## v0.7.2
1433
+
1434
+ - Fixes
1435
+ - Fix another integrity check bug
1436
+
1437
+ ## v0.7.1
1438
+
1439
+ - Fixes
1440
+ - Fix and integrity check crash that happened with an older databases.
1441
+ - Features
1442
+ - Added `CODEX_SKIP_INTEGRITY_CHECK` env var.
1443
+
1444
+ ## v0.7.0
1445
+
1446
+ ### Feels Snappier
1447
+
1448
+ - Database Migration
1449
+ - v0.7.0 changes the database schema. Databases run with v0.7.0+ will not
1450
+ run on previous versions of codex.
1451
+
1452
+ - Features
1453
+ - Big speed up to importing comics for large imports.
1454
+ - Speed up creating comic covers on large imports.
1455
+ - Admin Panel options for polling (formerly "scanning") and watching events
1456
+ have changed names.
1457
+ - Admin Panel task added to regenerate all comic covers.
1458
+ - Browser Admin Menu option added for polling all Libraries on demand.
1459
+ - Comics with no specified Publishers, Imprints and Series no longer have
1460
+ induced default names for these but have no name like Volumes.
1461
+ - Codex repairs database integrity on startup.
1462
+ - Codex backs up the database every night.
1463
+ - Autodetect server timezone (for logging).
1464
+ - Use TZ and TIMEZONE environment variables to explicitly set server
1465
+ timezone.
1466
+ - Added `VERBOSE` logging level to help screen out bulk `DEBUG` messages
1467
+ from dependencies.
1468
+ - Truncated logging messages for easier reading.
1469
+
1470
+ - Fixes
1471
+ - Fixed metadata screen displaying incorrect information.
1472
+ - Now compatible with python 3.10.
1473
+
1474
+ ## v0.6.8
1475
+
1476
+ - Fixes
1477
+ - Fixes some import bugs with filename parsing when there are no tags
1478
+ - Fixed two page view toggle hotkey
1479
+ - Features
1480
+ - Browser now tells you what kind of items you're looking at.
1481
+ - Reader swiping navigation
1482
+ - Reader keyboard shortcut help dialog
1483
+ - Tentative linux/armhf support. No way for me to test this
1484
+ - Vacuum the sqlite database once a day to prevent bloat
1485
+ - Corrupt database rebuild procedure. See README.
1486
+
1487
+ ## v0.6.7
1488
+
1489
+ - Dark admin pages and fix template overrides.
1490
+
1491
+ ## v0.6.6
1492
+
1493
+ - Automate multi-arch builds
1494
+
1495
+ ## v0.6.5
1496
+
1497
+ - Build Docker images for amd64 & arm64 manually.
1498
+
1499
+ ## v0.6.4
1500
+
1501
+ - Fix reader bug that only displayed first page
1502
+
1503
+ ## v0.6.3
1504
+
1505
+ - Add LOGLEVEL environment variable.
1506
+ - Set to DEBUG to see everything.
1507
+ - Removed DEV environment variable.
1508
+ - Possible fix for newly imported covers not displaying.
1509
+
1510
+ ## v0.6.2
1511
+
1512
+ - Fixes
1513
+ - Fixed intermittent Librarian startup crash in docker.
1514
+ - Fixed DEBUG environment variable to be able to run in production.
1515
+ - Dev
1516
+ - Added DEV environment variable for dev environment.
1517
+
1518
+ ## v0.6.1
1519
+
1520
+ - Fixes
1521
+ - Fix librarian startup crash. Prevented admin actions from happening.
1522
+
1523
+ ## v0.6.0
1524
+
1525
+ ### Better Filtering and Sorting
1526
+
1527
+ - Features
1528
+ - New Filters
1529
+ - New sort options: Updated Time and Maturity Rating
1530
+ - New frontend URL scheme
1531
+ - New API
1532
+ - Added time to the browse card when sorting by time fields
1533
+ - Browser pagination footer now remains fixed on the page
1534
+ - Browser pagination footer is now a slider to handle larger collections
1535
+ - Notifications now appear in reader as well as browser
1536
+ - On comic import failure, log the path as well as the reason
1537
+ - Codex version information moved to Browser > Settings
1538
+ - Fixes
1539
+ - Fixed a bug importing Story Arc Series Groups and Genres. Requires
1540
+ re-import to correct.
1541
+ - Fixed a bug with sorting that grouped improperly and showed the wrong
1542
+ covers for reverse sorts.
1543
+ - Scanning notifications on login not disappearing bug squashed
1544
+ - Fixed a bug where the browser settings menu wouldn't close when opening a
1545
+ dialog
1546
+
1547
+ ## v0.5.18
1548
+
1549
+ - Fixes
1550
+ - Fix filters not changing display bug
1551
+
1552
+ ## v0.5.17
1553
+
1554
+ - Fixes
1555
+ - Fix root_path not parsing bug
1556
+
1557
+ ## v0.5.16
1558
+
1559
+ - Fixes
1560
+ - Fix broken startup when parsing json shared between front and back end
1561
+
1562
+ ## v0.5.15
1563
+
1564
+ - Features
1565
+ - Metadata popup is now faster.
1566
+ - Metadata popup now shows created_at, updated_at and path (if admin).
1567
+ - Removed numeric and common password validators. Made the minimum length 4.
1568
+
1569
+ ## v0.5.14
1570
+
1571
+ - Features
1572
+ - Metadata view for browse containers. Also observes filters.
1573
+ - Covers now regenerate on re-import.
1574
+
1575
+ - Fixes
1576
+ - Fix scanning notification
1577
+ - Fix unable to delete libraries bug
1578
+
1579
+ ## v0.5.13
1580
+
1581
+ - Features
1582
+ - Admin Flag for automatically updating codex
1583
+ - Force updates from the admin panel with an Admin Flag action
1584
+ - Snackbar for notifying about failed imports
1585
+
1586
+ ## v0.5.12
1587
+
1588
+ - Features
1589
+ - Admin page for failed imports
1590
+ - Snackbar tells admins when scans are happening
1591
+ - Report the latest version available in the browser footer tooltip
1592
+ - Admin flag for disabling codex for non-users
1593
+
1594
+ ## v0.5.11
1595
+
1596
+ - Features
1597
+ - Browser rows now adapt to browse tile size
1598
+ - Browser covers for containers now match data we're sorting by
1599
+ - Serve static files faster
1600
+ - Fixes
1601
+ - Reader fix settings for all comics were not setting properly
1602
+ - Fix bookmarks for sessions that aren't logged in
1603
+
1604
+ ## v0.5.10
1605
+
1606
+ - Fixes
1607
+ - Fix filtering bugs
1608
+ - Fix mark read/unread bugs
1609
+ - Fix reader settings not setting properly
1610
+ - Fix reader images positioning
1611
+ - Fix minor crash closing books with uninitialized browser app
1612
+
1613
+ ## v0.5.9
1614
+
1615
+ - Fixes
1616
+ - Fix sorting for folder view
1617
+ - Fix import bugs
1618
+ - Features
1619
+ - Display sort key value in browse tile
1620
+ - Display standard image for missing covers
1621
+ - Slightly more helpful 404 page
1622
+
1623
+ ## v0.5.8
1624
+
1625
+ - Upload mistake with 0.5.7. This is just a version bump.
1626
+
1627
+ ## v0.5.7
1628
+
1629
+ - Fixes
1630
+ - Fix import crashes
1631
+ - Remove scan locks on startup
1632
+
1633
+ - Features
1634
+ - Allow credits with an empty role
1635
+ - Pagination of large browse results
1636
+ - Center comic pages better
1637
+ - Add download link to browser menu
1638
+ - Log to files as well as console
1639
+
1640
+ ## v0.5.6
1641
+
1642
+ - Fixes
1643
+ - Websocket path security wasn't handling leading slashes well. Skip it.
1644
+
1645
+ ## v0.5.5
1646
+
1647
+ - Fixes
1648
+ - Revert to whitenoise 5.1.0 which works with subpaths
1649
+
1650
+ ## v0.5.4
1651
+
1652
+ - Fixes
1653
+ - Fix crash on start if all static dirs do not exist.
1654
+
1655
+ ## v0.5.3
1656
+
1657
+ - Fixes
1658
+ - Fixed login bug introduces in v0.5.3 (thanks hubcaps)
1659
+ - Fixed filtering bug introduced in v0.5.2
1660
+ - Features
1661
+ - Versioned API
1662
+ - Toast popup for admins indicating libraries are scanning.
1663
+ - Periodic frontend refresh during long scans.
1664
+ - Codex version displayed in browser footer
1665
+
1666
+ ## v0.5.2
1667
+
1668
+ - Features
1669
+ - Lazy load filter choices when the menu opens
1670
+ - Documentation moved into admin panel
1671
+ - Fixes
1672
+ - Fix multiprocessing for Windows
1673
+
1674
+ ## v0.5.1
1675
+
1676
+ - Minor bugfixes.
1677
+
1678
+ ## v0.5.0
1679
+
1680
+ ### First useful working version
1681
+
1682
+ - Productionized alpha release
1683
+
1684
+ ## v0.4.0
1685
+
1686
+ ### Polished UI
1687
+
1688
+ - Polished VueJS frontend
1689
+
1690
+ ## v0.3.0
1691
+
1692
+ ### I'm a frontend developer!
1693
+
1694
+ - Single Page VueJS frontend PoC without much styling
1695
+
1696
+ ## v0.2.0
1697
+
1698
+ ### It's alive
1699
+
1700
+ - Working application with all initial features
1701
+ - Django frontend
1702
+
1703
+ ## v0.1.0
1704
+
1705
+ ### Hello world
1706
+
1707
+ - Proof of concept.