codex 1.8.0a8__tar.gz → 1.8.18__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.
Files changed (1898) hide show
  1. codex-1.8.18/.dockerignore +36 -0
  2. codex-1.8.18/.env.platforms +5 -0
  3. codex-1.8.18/.gitignore +82 -0
  4. codex-1.8.18/.picopt_treestamps.yaml +13 -0
  5. codex-1.8.18/.prettierignore +25 -0
  6. codex-1.8.18/.readthedocs.yaml +10 -0
  7. codex-1.8.18/.remarkignore +82 -0
  8. codex-1.8.18/.shellcheckrc +1 -0
  9. codex-1.8.18/Makefile +280 -0
  10. codex-1.8.18/NEWS.md +1723 -0
  11. codex-1.8.18/PKG-INFO +592 -0
  12. codex-1.8.18/README.md +533 -0
  13. codex-1.8.18/bin/__init__.py +1 -0
  14. codex-1.8.18/bin/alpha-deploy.sh +9 -0
  15. codex-1.8.18/bin/alpha-test-build-dist.sh +11 -0
  16. codex-1.8.18/bin/benchmark-opds.sh +17 -0
  17. codex-1.8.18/bin/build-choices.sh +10 -0
  18. codex-1.8.18/bin/build-dist.sh +12 -0
  19. codex-1.8.18/bin/clean-pycache.sh +3 -0
  20. codex-1.8.18/bin/collectstatic.sh +6 -0
  21. codex-1.8.18/bin/dev-docker.sh +6 -0
  22. codex-1.8.18/bin/dev-module.sh +10 -0
  23. codex-1.8.18/bin/dev-prod-server.sh +4 -0
  24. codex-1.8.18/bin/dev-reverse-proxy.sh +5 -0
  25. codex-1.8.18/bin/dev-server.sh +14 -0
  26. codex-1.8.18/bin/dev-ttabs.sh +7 -0
  27. codex-1.8.18/bin/fix-lint-backend.sh +26 -0
  28. codex-1.8.18/bin/icons_transform.py +114 -0
  29. codex-1.8.18/bin/kill-codex.sh +4 -0
  30. codex-1.8.18/bin/kill-eslint_d.sh +4 -0
  31. codex-1.8.18/bin/lint-backend.sh +39 -0
  32. codex-1.8.18/bin/localize-db.sh +12 -0
  33. codex-1.8.18/bin/localize_library.sql +17 -0
  34. codex-1.8.18/bin/makefile-help.mk +105 -0
  35. codex-1.8.18/bin/manage.py +24 -0
  36. codex-1.8.18/bin/pm +5 -0
  37. codex-1.8.18/bin/prettier-nginx.sh +7 -0
  38. codex-1.8.18/bin/roman.sh +48 -0
  39. codex-1.8.18/bin/sortignore.sh +12 -0
  40. codex-1.8.18/bin/test-backend.sh +14 -0
  41. codex-1.8.18/bin/test.sh +8 -0
  42. codex-1.8.18/bin/uml.sh +5 -0
  43. codex-1.8.18/bin/update-deps.sh +12 -0
  44. codex-1.8.18/bin/vendor-diff-package.sh +34 -0
  45. codex-1.8.18/bin/vendor-patch-imports.sh +6 -0
  46. codex-1.8.18/bin/venv-upgrade.sh +17 -0
  47. codex-1.8.18/bin/version.sh +17 -0
  48. codex-1.8.18/ci/Dockerfile +33 -0
  49. codex-1.8.18/ci/base.Dockerfile +26 -0
  50. codex-1.8.18/ci/builder-base.Dockerfile +35 -0
  51. codex-1.8.18/ci/circleci-step-halt.sh +6 -0
  52. codex-1.8.18/ci/cleanup-repo.py +157 -0
  53. codex-1.8.18/ci/debian.sources +11 -0
  54. codex-1.8.18/ci/dev.Dockerfile +20 -0
  55. codex-1.8.18/ci/dist-builder.Dockerfile +38 -0
  56. codex-1.8.18/ci/docker-build-image.sh +38 -0
  57. codex-1.8.18/ci/docker-compose-exit.sh +4 -0
  58. codex-1.8.18/ci/docker-init.sh +30 -0
  59. codex-1.8.18/ci/docker-push.sh +32 -0
  60. codex-1.8.18/ci/docker-tag-remote-version-as-latest.sh +7 -0
  61. codex-1.8.18/ci/machine-arch.sh +8 -0
  62. codex-1.8.18/ci/machine-env.sh +8 -0
  63. codex-1.8.18/ci/machine-init.sh +11 -0
  64. codex-1.8.18/ci/machine-packages.sh +11 -0
  65. codex-1.8.18/ci/package.Dockerfile +28 -0
  66. codex-1.8.18/ci/python-publish.sh +4 -0
  67. codex-1.8.18/ci/version-checksum.sh +18 -0
  68. codex-1.8.18/ci/version-codex-base.sh +19 -0
  69. codex-1.8.18/ci/version-codex-builder-base.sh +11 -0
  70. codex-1.8.18/ci/version-codex-dist-builder.sh +38 -0
  71. codex-1.8.18/ci/versions-create-env.sh +20 -0
  72. codex-1.8.18/ci/versions-env-filename.sh +4 -0
  73. codex-1.8.18/codex/__init__.py +17 -0
  74. codex-1.8.18/codex/applications/websocket.py +22 -0
  75. codex-1.8.18/codex/choices/admin.py +290 -0
  76. codex-1.8.18/codex/choices/choices_to_json.py +140 -0
  77. codex-1.8.18/codex/librarian/bookmark/latest_version.py +61 -0
  78. codex-1.8.18/codex/librarian/bookmark/tasks.py +37 -0
  79. codex-1.8.18/codex/librarian/covers/tasks.py +40 -0
  80. codex-1.8.18/codex/librarian/librariand.py +202 -0
  81. codex-1.8.18/codex/librarian/restarter/restarter.py +52 -0
  82. codex-1.8.18/codex/librarian/restarter/tasks.py +15 -0
  83. codex-1.8.18/codex/librarian/scribe/importer/const.py +374 -0
  84. codex-1.8.18/codex/librarian/scribe/importer/create/comics.py +169 -0
  85. codex-1.8.18/codex/librarian/scribe/importer/delete/comics.py +71 -0
  86. codex-1.8.18/codex/librarian/scribe/importer/delete/folders.py +34 -0
  87. codex-1.8.18/codex/librarian/scribe/importer/init.py +338 -0
  88. codex-1.8.18/codex/librarian/scribe/importer/link/delete.py +106 -0
  89. codex-1.8.18/codex/librarian/scribe/importer/link/many_to_many.py +90 -0
  90. codex-1.8.18/codex/librarian/scribe/importer/link/prepare.py +135 -0
  91. codex-1.8.18/codex/librarian/scribe/importer/query/foreign_keys.py +203 -0
  92. codex-1.8.18/codex/librarian/scribe/importer/query/update_comics.py +69 -0
  93. codex-1.8.18/codex/librarian/scribe/importer/read/aggregate_path.py +150 -0
  94. codex-1.8.18/codex/librarian/scribe/importer/read/const.py +145 -0
  95. codex-1.8.18/codex/librarian/scribe/importer/read/extract.py +178 -0
  96. codex-1.8.18/codex/librarian/scribe/importer/read/foreign_keys.py +159 -0
  97. codex-1.8.18/codex/librarian/scribe/importer/search/prepare.py +78 -0
  98. codex-1.8.18/codex/librarian/scribe/importer/search/sync_m2m.py +91 -0
  99. codex-1.8.18/codex/librarian/scribe/importer/search/update.py +217 -0
  100. codex-1.8.18/codex/librarian/scribe/importer/tasks.py +49 -0
  101. codex-1.8.18/codex/librarian/scribe/janitor/adopt_folders.py +76 -0
  102. codex-1.8.18/codex/librarian/scribe/janitor/integrity.py +370 -0
  103. codex-1.8.18/codex/librarian/scribe/janitor/update.py +88 -0
  104. codex-1.8.18/codex/librarian/scribe/lazy_importer.py +47 -0
  105. codex-1.8.18/codex/librarian/scribe/priority.py +69 -0
  106. codex-1.8.18/codex/librarian/scribe/scribed.py +119 -0
  107. codex-1.8.18/codex/librarian/scribe/search/const.py +38 -0
  108. codex-1.8.18/codex/librarian/scribe/search/optimize.py +27 -0
  109. codex-1.8.18/codex/librarian/scribe/search/prepare.py +162 -0
  110. codex-1.8.18/codex/librarian/scribe/search/remove.py +64 -0
  111. codex-1.8.18/codex/librarian/scribe/search/sync.py +307 -0
  112. codex-1.8.18/codex/librarian/scribe/tasks.py +32 -0
  113. codex-1.8.18/codex/librarian/scribe/timestamp_update.py +131 -0
  114. codex-1.8.18/codex/librarian/status.py +76 -0
  115. codex-1.8.18/codex/librarian/status_controller.py +202 -0
  116. codex-1.8.18/codex/librarian/telemeter/scheduled_time.py +69 -0
  117. codex-1.8.18/codex/librarian/threads.py +150 -0
  118. codex-1.8.18/codex/librarian/watchdog/db_snapshot.py +92 -0
  119. codex-1.8.18/codex/librarian/watchdog/emitter.py +263 -0
  120. codex-1.8.18/codex/librarian/watchdog/event_batcherd.py +182 -0
  121. codex-1.8.18/codex/librarian/watchdog/tasks.py +32 -0
  122. codex-1.8.18/codex/librarian/worker.py +59 -0
  123. codex-1.8.18/codex/migrations/0034_comicbox2.py +792 -0
  124. codex-1.8.18/codex/migrations/0035_fts_optmize.py +136 -0
  125. codex-1.8.18/codex/models/comic.py +362 -0
  126. codex-1.8.18/codex/models/functions.py +85 -0
  127. codex-1.8.18/codex/models/groups.py +211 -0
  128. codex-1.8.18/codex/run.py +76 -0
  129. codex-1.8.18/codex/serializers/admin/tasks.py +24 -0
  130. codex-1.8.18/codex/serializers/browser/choices.py +154 -0
  131. codex-1.8.18/codex/serializers/browser/settings.py +106 -0
  132. codex-1.8.18/codex/settings/__init__.py +445 -0
  133. codex-1.8.18/codex/signals/os_signals.py +61 -0
  134. codex-1.8.18/codex/startup/__init__.py +180 -0
  135. codex-1.8.18/codex/startup/db.py +128 -0
  136. codex-1.8.18/codex/startup/logger_init.py +45 -0
  137. codex-1.8.18/codex/static_root/assets/VCheckbox-88kXrwku.58c5235b2b8b.js +1 -0
  138. codex-1.8.18/codex/static_root/assets/VCheckbox-88kXrwku.58c5235b2b8b.js.br +0 -0
  139. codex-1.8.18/codex/static_root/assets/VCheckbox-88kXrwku.58c5235b2b8b.js.gz +0 -0
  140. codex-1.8.18/codex/static_root/assets/VCheckbox-88kXrwku.js +1 -0
  141. codex-1.8.18/codex/static_root/assets/VCheckbox-88kXrwku.js.br +0 -0
  142. codex-1.8.18/codex/static_root/assets/VCheckbox-88kXrwku.js.gz +0 -0
  143. codex-1.8.18/codex/static_root/assets/VCheckboxBtn-vSKPu_Dc.6e84ec971447.js +1 -0
  144. codex-1.8.18/codex/static_root/assets/VCheckboxBtn-vSKPu_Dc.6e84ec971447.js.br +0 -0
  145. codex-1.8.18/codex/static_root/assets/VCheckboxBtn-vSKPu_Dc.6e84ec971447.js.gz +0 -0
  146. codex-1.8.18/codex/static_root/assets/VCheckboxBtn-vSKPu_Dc.js +1 -0
  147. codex-1.8.18/codex/static_root/assets/VCheckboxBtn-vSKPu_Dc.js.br +0 -0
  148. codex-1.8.18/codex/static_root/assets/VCheckboxBtn-vSKPu_Dc.js.gz +0 -0
  149. codex-1.8.18/codex/static_root/assets/VCombobox-D3yUbBJX.341d3f641979.css +1 -0
  150. codex-1.8.18/codex/static_root/assets/VCombobox-D3yUbBJX.341d3f641979.css.br +0 -0
  151. codex-1.8.18/codex/static_root/assets/VCombobox-D3yUbBJX.341d3f641979.css.gz +0 -0
  152. codex-1.8.18/codex/static_root/assets/VCombobox-D3yUbBJX.css +1 -0
  153. codex-1.8.18/codex/static_root/assets/VCombobox-D3yUbBJX.css.br +0 -0
  154. codex-1.8.18/codex/static_root/assets/VCombobox-D3yUbBJX.css.gz +0 -0
  155. codex-1.8.18/codex/static_root/assets/VCombobox-GBZalzEL.a219a674e74d.js +1 -0
  156. codex-1.8.18/codex/static_root/assets/VCombobox-GBZalzEL.a219a674e74d.js.br +0 -0
  157. codex-1.8.18/codex/static_root/assets/VCombobox-GBZalzEL.a219a674e74d.js.gz +0 -0
  158. codex-1.8.18/codex/static_root/assets/VCombobox-GBZalzEL.js +1 -0
  159. codex-1.8.18/codex/static_root/assets/VCombobox-GBZalzEL.js.br +0 -0
  160. codex-1.8.18/codex/static_root/assets/VCombobox-GBZalzEL.js.gz +0 -0
  161. codex-1.8.18/codex/static_root/assets/VDialog-2L1AZoAQ.23dd114a0797.js +1 -0
  162. codex-1.8.18/codex/static_root/assets/VDialog-2L1AZoAQ.23dd114a0797.js.br +0 -0
  163. codex-1.8.18/codex/static_root/assets/VDialog-2L1AZoAQ.23dd114a0797.js.gz +0 -0
  164. codex-1.8.18/codex/static_root/assets/VDialog-2L1AZoAQ.js +1 -0
  165. codex-1.8.18/codex/static_root/assets/VDialog-2L1AZoAQ.js.br +0 -0
  166. codex-1.8.18/codex/static_root/assets/VDialog-2L1AZoAQ.js.gz +0 -0
  167. codex-1.8.18/codex/static_root/assets/VDialog-CnS5fpCc.07b0701c7e76.css +1 -0
  168. codex-1.8.18/codex/static_root/assets/VDialog-CnS5fpCc.07b0701c7e76.css.br +0 -0
  169. codex-1.8.18/codex/static_root/assets/VDialog-CnS5fpCc.07b0701c7e76.css.gz +0 -0
  170. codex-1.8.18/codex/static_root/assets/VDialog-CnS5fpCc.css +1 -0
  171. codex-1.8.18/codex/static_root/assets/VDialog-CnS5fpCc.css.br +0 -0
  172. codex-1.8.18/codex/static_root/assets/VDialog-CnS5fpCc.css.gz +0 -0
  173. codex-1.8.18/codex/static_root/assets/VDivider-CCqJA_fj.b56fac1426ae.css +1 -0
  174. codex-1.8.18/codex/static_root/assets/VDivider-CCqJA_fj.b56fac1426ae.css.br +0 -0
  175. codex-1.8.18/codex/static_root/assets/VDivider-CCqJA_fj.b56fac1426ae.css.gz +0 -0
  176. codex-1.8.18/codex/static_root/assets/VDivider-CCqJA_fj.css +1 -0
  177. codex-1.8.18/codex/static_root/assets/VDivider-CCqJA_fj.css.br +0 -0
  178. codex-1.8.18/codex/static_root/assets/VDivider-CCqJA_fj.css.gz +0 -0
  179. codex-1.8.18/codex/static_root/assets/VDivider-CU1BTNwz.760eee3af6db.js +1 -0
  180. codex-1.8.18/codex/static_root/assets/VDivider-CU1BTNwz.760eee3af6db.js.br +0 -0
  181. codex-1.8.18/codex/static_root/assets/VDivider-CU1BTNwz.760eee3af6db.js.gz +0 -0
  182. codex-1.8.18/codex/static_root/assets/VDivider-CU1BTNwz.js +1 -0
  183. codex-1.8.18/codex/static_root/assets/VDivider-CU1BTNwz.js.br +0 -0
  184. codex-1.8.18/codex/static_root/assets/VDivider-CU1BTNwz.js.gz +0 -0
  185. codex-1.8.18/codex/static_root/assets/VExpansionPanels-CZw2i4py.3f4d9334e37b.js +1 -0
  186. codex-1.8.18/codex/static_root/assets/VExpansionPanels-CZw2i4py.3f4d9334e37b.js.br +0 -0
  187. codex-1.8.18/codex/static_root/assets/VExpansionPanels-CZw2i4py.3f4d9334e37b.js.gz +0 -0
  188. codex-1.8.18/codex/static_root/assets/VExpansionPanels-CZw2i4py.js +1 -0
  189. codex-1.8.18/codex/static_root/assets/VExpansionPanels-CZw2i4py.js.br +0 -0
  190. codex-1.8.18/codex/static_root/assets/VExpansionPanels-CZw2i4py.js.gz +0 -0
  191. codex-1.8.18/codex/static_root/assets/VExpansionPanels-Dyw0hWW-.css +1 -0
  192. codex-1.8.18/codex/static_root/assets/VExpansionPanels-Dyw0hWW-.css.br +0 -0
  193. codex-1.8.18/codex/static_root/assets/VExpansionPanels-Dyw0hWW-.css.gz +0 -0
  194. codex-1.8.18/codex/static_root/assets/VExpansionPanels-Dyw0hWW-.e3fa1db9f5b5.css +1 -0
  195. codex-1.8.18/codex/static_root/assets/VExpansionPanels-Dyw0hWW-.e3fa1db9f5b5.css.br +0 -0
  196. codex-1.8.18/codex/static_root/assets/VExpansionPanels-Dyw0hWW-.e3fa1db9f5b5.css.gz +0 -0
  197. codex-1.8.18/codex/static_root/assets/VForm-ABF7_rwX.9420864befd5.js +1 -0
  198. codex-1.8.18/codex/static_root/assets/VForm-ABF7_rwX.9420864befd5.js.br +0 -0
  199. codex-1.8.18/codex/static_root/assets/VForm-ABF7_rwX.9420864befd5.js.gz +0 -0
  200. codex-1.8.18/codex/static_root/assets/VForm-ABF7_rwX.js +1 -0
  201. codex-1.8.18/codex/static_root/assets/VForm-ABF7_rwX.js.br +0 -0
  202. codex-1.8.18/codex/static_root/assets/VForm-ABF7_rwX.js.gz +0 -0
  203. codex-1.8.18/codex/static_root/assets/VRadioGroup-Cd4vGYq7.7187ae803955.js +1 -0
  204. codex-1.8.18/codex/static_root/assets/VRadioGroup-Cd4vGYq7.7187ae803955.js.br +0 -0
  205. codex-1.8.18/codex/static_root/assets/VRadioGroup-Cd4vGYq7.7187ae803955.js.gz +0 -0
  206. codex-1.8.18/codex/static_root/assets/VRadioGroup-Cd4vGYq7.js +1 -0
  207. codex-1.8.18/codex/static_root/assets/VRadioGroup-Cd4vGYq7.js.br +0 -0
  208. codex-1.8.18/codex/static_root/assets/VRadioGroup-Cd4vGYq7.js.gz +0 -0
  209. codex-1.8.18/codex/static_root/assets/VSelect-0nuqEJw0.6b5ec233345b.js +1 -0
  210. codex-1.8.18/codex/static_root/assets/VSelect-0nuqEJw0.6b5ec233345b.js.br +0 -0
  211. codex-1.8.18/codex/static_root/assets/VSelect-0nuqEJw0.6b5ec233345b.js.gz +0 -0
  212. codex-1.8.18/codex/static_root/assets/VSelect-0nuqEJw0.js +1 -0
  213. codex-1.8.18/codex/static_root/assets/VSelect-0nuqEJw0.js.br +0 -0
  214. codex-1.8.18/codex/static_root/assets/VSelect-0nuqEJw0.js.gz +0 -0
  215. codex-1.8.18/codex/static_root/assets/VSelect-Bk-liKeO.3c523c6f73ca.css +1 -0
  216. codex-1.8.18/codex/static_root/assets/VSelect-Bk-liKeO.3c523c6f73ca.css.br +0 -0
  217. codex-1.8.18/codex/static_root/assets/VSelect-Bk-liKeO.3c523c6f73ca.css.gz +0 -0
  218. codex-1.8.18/codex/static_root/assets/VSelect-Bk-liKeO.css +1 -0
  219. codex-1.8.18/codex/static_root/assets/VSelect-Bk-liKeO.css.br +0 -0
  220. codex-1.8.18/codex/static_root/assets/VSelect-Bk-liKeO.css.gz +0 -0
  221. codex-1.8.18/codex/static_root/assets/VSelectionControl-D5YfU-f_.30e6ec955ed3.js +1 -0
  222. codex-1.8.18/codex/static_root/assets/VSelectionControl-D5YfU-f_.30e6ec955ed3.js.br +0 -0
  223. codex-1.8.18/codex/static_root/assets/VSelectionControl-D5YfU-f_.30e6ec955ed3.js.gz +0 -0
  224. codex-1.8.18/codex/static_root/assets/VSelectionControl-D5YfU-f_.js +1 -0
  225. codex-1.8.18/codex/static_root/assets/VSelectionControl-D5YfU-f_.js.br +0 -0
  226. codex-1.8.18/codex/static_root/assets/VSelectionControl-D5YfU-f_.js.gz +0 -0
  227. codex-1.8.18/codex/static_root/assets/VSelectionControl-QzjnSMLF.7d4030a79c8f.css +1 -0
  228. codex-1.8.18/codex/static_root/assets/VSelectionControl-QzjnSMLF.7d4030a79c8f.css.br +0 -0
  229. codex-1.8.18/codex/static_root/assets/VSelectionControl-QzjnSMLF.7d4030a79c8f.css.gz +0 -0
  230. codex-1.8.18/codex/static_root/assets/VSelectionControl-QzjnSMLF.css +1 -0
  231. codex-1.8.18/codex/static_root/assets/VSelectionControl-QzjnSMLF.css.br +0 -0
  232. codex-1.8.18/codex/static_root/assets/VSelectionControl-QzjnSMLF.css.gz +0 -0
  233. codex-1.8.18/codex/static_root/assets/VTable-BsI6FsWH.css +1 -0
  234. codex-1.8.18/codex/static_root/assets/VTable-BsI6FsWH.css.br +0 -0
  235. codex-1.8.18/codex/static_root/assets/VTable-BsI6FsWH.css.gz +0 -0
  236. codex-1.8.18/codex/static_root/assets/VTable-BsI6FsWH.d4c54d44a5ab.css +1 -0
  237. codex-1.8.18/codex/static_root/assets/VTable-BsI6FsWH.d4c54d44a5ab.css.br +0 -0
  238. codex-1.8.18/codex/static_root/assets/VTable-BsI6FsWH.d4c54d44a5ab.css.gz +0 -0
  239. codex-1.8.18/codex/static_root/assets/VTable-DIL2MM0u.fc90d9c291f1.js +1 -0
  240. codex-1.8.18/codex/static_root/assets/VTable-DIL2MM0u.fc90d9c291f1.js.br +0 -0
  241. codex-1.8.18/codex/static_root/assets/VTable-DIL2MM0u.fc90d9c291f1.js.gz +0 -0
  242. codex-1.8.18/codex/static_root/assets/VTable-DIL2MM0u.js +1 -0
  243. codex-1.8.18/codex/static_root/assets/VTable-DIL2MM0u.js.br +0 -0
  244. codex-1.8.18/codex/static_root/assets/VTable-DIL2MM0u.js.gz +0 -0
  245. codex-1.8.18/codex/static_root/assets/VWindowItem-BDJp8s8L.0b5bfa4707df.js +1 -0
  246. codex-1.8.18/codex/static_root/assets/VWindowItem-BDJp8s8L.0b5bfa4707df.js.br +0 -0
  247. codex-1.8.18/codex/static_root/assets/VWindowItem-BDJp8s8L.0b5bfa4707df.js.gz +0 -0
  248. codex-1.8.18/codex/static_root/assets/VWindowItem-BDJp8s8L.js +1 -0
  249. codex-1.8.18/codex/static_root/assets/VWindowItem-BDJp8s8L.js.br +0 -0
  250. codex-1.8.18/codex/static_root/assets/VWindowItem-BDJp8s8L.js.gz +0 -0
  251. codex-1.8.18/codex/static_root/assets/VWindowItem-DqNaT6b1.css +1 -0
  252. codex-1.8.18/codex/static_root/assets/VWindowItem-DqNaT6b1.css.br +0 -0
  253. codex-1.8.18/codex/static_root/assets/VWindowItem-DqNaT6b1.css.gz +0 -0
  254. codex-1.8.18/codex/static_root/assets/VWindowItem-DqNaT6b1.d2f9460fb23b.css +1 -0
  255. codex-1.8.18/codex/static_root/assets/VWindowItem-DqNaT6b1.d2f9460fb23b.css.br +0 -0
  256. codex-1.8.18/codex/static_root/assets/VWindowItem-DqNaT6b1.d2f9460fb23b.css.gz +0 -0
  257. codex-1.8.18/codex/static_root/assets/admin-92gmRgEu.6205bf83c44c.js +1 -0
  258. codex-1.8.18/codex/static_root/assets/admin-92gmRgEu.6205bf83c44c.js.br +0 -0
  259. codex-1.8.18/codex/static_root/assets/admin-92gmRgEu.6205bf83c44c.js.gz +0 -0
  260. codex-1.8.18/codex/static_root/assets/admin-92gmRgEu.js +1 -0
  261. codex-1.8.18/codex/static_root/assets/admin-92gmRgEu.js.br +0 -0
  262. codex-1.8.18/codex/static_root/assets/admin-92gmRgEu.js.gz +0 -0
  263. codex-1.8.18/codex/static_root/assets/admin-CUIgw640.css +1 -0
  264. codex-1.8.18/codex/static_root/assets/admin-CUIgw640.css.br +0 -0
  265. codex-1.8.18/codex/static_root/assets/admin-CUIgw640.css.gz +0 -0
  266. codex-1.8.18/codex/static_root/assets/admin-CUIgw640.e6c404ceee00.css +1 -0
  267. codex-1.8.18/codex/static_root/assets/admin-CUIgw640.e6c404ceee00.css.br +0 -0
  268. codex-1.8.18/codex/static_root/assets/admin-CUIgw640.e6c404ceee00.css.gz +0 -0
  269. codex-1.8.18/codex/static_root/assets/admin-DApM6rdY.612cd417034a.js +1 -0
  270. codex-1.8.18/codex/static_root/assets/admin-DApM6rdY.612cd417034a.js.br +0 -0
  271. codex-1.8.18/codex/static_root/assets/admin-DApM6rdY.612cd417034a.js.gz +0 -0
  272. codex-1.8.18/codex/static_root/assets/admin-DApM6rdY.js +1 -0
  273. codex-1.8.18/codex/static_root/assets/admin-DApM6rdY.js.br +0 -0
  274. codex-1.8.18/codex/static_root/assets/admin-DApM6rdY.js.gz +0 -0
  275. codex-1.8.18/codex/static_root/assets/admin-menu-BdgFc4sK.3a1221757854.css +1 -0
  276. codex-1.8.18/codex/static_root/assets/admin-menu-BdgFc4sK.3a1221757854.css.br +0 -0
  277. codex-1.8.18/codex/static_root/assets/admin-menu-BdgFc4sK.3a1221757854.css.gz +0 -0
  278. codex-1.8.18/codex/static_root/assets/admin-menu-BdgFc4sK.css +1 -0
  279. codex-1.8.18/codex/static_root/assets/admin-menu-BdgFc4sK.css.br +0 -0
  280. codex-1.8.18/codex/static_root/assets/admin-menu-BdgFc4sK.css.gz +0 -0
  281. codex-1.8.18/codex/static_root/assets/admin-menu-CnnC5cvg.3d7078c68764.js +1 -0
  282. codex-1.8.18/codex/static_root/assets/admin-menu-CnnC5cvg.3d7078c68764.js.br +0 -0
  283. codex-1.8.18/codex/static_root/assets/admin-menu-CnnC5cvg.3d7078c68764.js.gz +0 -0
  284. codex-1.8.18/codex/static_root/assets/admin-menu-CnnC5cvg.js +1 -0
  285. codex-1.8.18/codex/static_root/assets/admin-menu-CnnC5cvg.js.br +0 -0
  286. codex-1.8.18/codex/static_root/assets/admin-menu-CnnC5cvg.js.gz +0 -0
  287. codex-1.8.18/codex/static_root/assets/admin-settings-button-progress-CFoAOjnI.9f6785149a29.js +1 -0
  288. codex-1.8.18/codex/static_root/assets/admin-settings-button-progress-CFoAOjnI.9f6785149a29.js.br +0 -0
  289. codex-1.8.18/codex/static_root/assets/admin-settings-button-progress-CFoAOjnI.9f6785149a29.js.gz +0 -0
  290. codex-1.8.18/codex/static_root/assets/admin-settings-button-progress-CFoAOjnI.js +1 -0
  291. codex-1.8.18/codex/static_root/assets/admin-settings-button-progress-CFoAOjnI.js.br +0 -0
  292. codex-1.8.18/codex/static_root/assets/admin-settings-button-progress-CFoAOjnI.js.gz +0 -0
  293. codex-1.8.18/codex/static_root/assets/browser-COl8gT00.20286fbb739e.js +1 -0
  294. codex-1.8.18/codex/static_root/assets/browser-COl8gT00.20286fbb739e.js.br +0 -0
  295. codex-1.8.18/codex/static_root/assets/browser-COl8gT00.20286fbb739e.js.gz +0 -0
  296. codex-1.8.18/codex/static_root/assets/browser-COl8gT00.js +1 -0
  297. codex-1.8.18/codex/static_root/assets/browser-COl8gT00.js.br +0 -0
  298. codex-1.8.18/codex/static_root/assets/browser-COl8gT00.js.gz +0 -0
  299. codex-1.8.18/codex/static_root/assets/browser-DXablENk.588149dbbe27.css +1 -0
  300. codex-1.8.18/codex/static_root/assets/browser-DXablENk.588149dbbe27.css.br +0 -0
  301. codex-1.8.18/codex/static_root/assets/browser-DXablENk.588149dbbe27.css.gz +0 -0
  302. codex-1.8.18/codex/static_root/assets/browser-DXablENk.css +1 -0
  303. codex-1.8.18/codex/static_root/assets/browser-DXablENk.css.br +0 -0
  304. codex-1.8.18/codex/static_root/assets/browser-DXablENk.css.gz +0 -0
  305. codex-1.8.18/codex/static_root/assets/change-password-dialog-CxZCEZi1.4aaab33640ed.js +1 -0
  306. codex-1.8.18/codex/static_root/assets/change-password-dialog-CxZCEZi1.4aaab33640ed.js.br +0 -0
  307. codex-1.8.18/codex/static_root/assets/change-password-dialog-CxZCEZi1.4aaab33640ed.js.gz +0 -0
  308. codex-1.8.18/codex/static_root/assets/change-password-dialog-CxZCEZi1.js +1 -0
  309. codex-1.8.18/codex/static_root/assets/change-password-dialog-CxZCEZi1.js.br +0 -0
  310. codex-1.8.18/codex/static_root/assets/change-password-dialog-CxZCEZi1.js.gz +0 -0
  311. codex-1.8.18/codex/static_root/assets/confirm-dialog-CmcA7udd.8d053b4c2689.js +1 -0
  312. codex-1.8.18/codex/static_root/assets/confirm-dialog-CmcA7udd.8d053b4c2689.js.br +0 -0
  313. codex-1.8.18/codex/static_root/assets/confirm-dialog-CmcA7udd.8d053b4c2689.js.gz +0 -0
  314. codex-1.8.18/codex/static_root/assets/confirm-dialog-CmcA7udd.js +1 -0
  315. codex-1.8.18/codex/static_root/assets/confirm-dialog-CmcA7udd.js.br +0 -0
  316. codex-1.8.18/codex/static_root/assets/confirm-dialog-CmcA7udd.js.gz +0 -0
  317. codex-1.8.18/codex/static_root/assets/datetime-column-C6E5m3gz.8a6bca4ce602.js +1 -0
  318. codex-1.8.18/codex/static_root/assets/datetime-column-C6E5m3gz.8a6bca4ce602.js.br +4 -0
  319. codex-1.8.18/codex/static_root/assets/datetime-column-C6E5m3gz.8a6bca4ce602.js.gz +0 -0
  320. codex-1.8.18/codex/static_root/assets/datetime-column-C6E5m3gz.js +1 -0
  321. codex-1.8.18/codex/static_root/assets/datetime-column-C6E5m3gz.js.br +4 -0
  322. codex-1.8.18/codex/static_root/assets/datetime-column-C6E5m3gz.js.gz +0 -0
  323. codex-1.8.18/codex/static_root/assets/filter-BzihaATM.48f35f293d2b.js +1 -0
  324. codex-1.8.18/codex/static_root/assets/filter-BzihaATM.48f35f293d2b.js.br +0 -0
  325. codex-1.8.18/codex/static_root/assets/filter-BzihaATM.48f35f293d2b.js.gz +0 -0
  326. codex-1.8.18/codex/static_root/assets/filter-BzihaATM.js +1 -0
  327. codex-1.8.18/codex/static_root/assets/filter-BzihaATM.js.br +0 -0
  328. codex-1.8.18/codex/static_root/assets/filter-BzihaATM.js.gz +0 -0
  329. codex-1.8.18/codex/static_root/assets/flag-tab-DSMdNXj5.89c76b2cf7da.js +1 -0
  330. codex-1.8.18/codex/static_root/assets/flag-tab-DSMdNXj5.89c76b2cf7da.js.br +0 -0
  331. codex-1.8.18/codex/static_root/assets/flag-tab-DSMdNXj5.89c76b2cf7da.js.gz +0 -0
  332. codex-1.8.18/codex/static_root/assets/flag-tab-DSMdNXj5.js +1 -0
  333. codex-1.8.18/codex/static_root/assets/flag-tab-DSMdNXj5.js.br +0 -0
  334. codex-1.8.18/codex/static_root/assets/flag-tab-DSMdNXj5.js.gz +0 -0
  335. codex-1.8.18/codex/static_root/assets/forwardRefs-D1jOvm_E.805b3bba506d.css +1 -0
  336. codex-1.8.18/codex/static_root/assets/forwardRefs-D1jOvm_E.805b3bba506d.css.br +0 -0
  337. codex-1.8.18/codex/static_root/assets/forwardRefs-D1jOvm_E.805b3bba506d.css.gz +0 -0
  338. codex-1.8.18/codex/static_root/assets/forwardRefs-D1jOvm_E.css +1 -0
  339. codex-1.8.18/codex/static_root/assets/forwardRefs-D1jOvm_E.css.br +0 -0
  340. codex-1.8.18/codex/static_root/assets/forwardRefs-D1jOvm_E.css.gz +0 -0
  341. codex-1.8.18/codex/static_root/assets/forwardRefs-DDVqP_7z.68c1979a14ef.js +1 -0
  342. codex-1.8.18/codex/static_root/assets/forwardRefs-DDVqP_7z.68c1979a14ef.js.br +0 -0
  343. codex-1.8.18/codex/static_root/assets/forwardRefs-DDVqP_7z.68c1979a14ef.js.gz +0 -0
  344. codex-1.8.18/codex/static_root/assets/forwardRefs-DDVqP_7z.js +1 -0
  345. codex-1.8.18/codex/static_root/assets/forwardRefs-DDVqP_7z.js.br +0 -0
  346. codex-1.8.18/codex/static_root/assets/forwardRefs-DDVqP_7z.js.gz +0 -0
  347. codex-1.8.18/codex/static_root/assets/group-tab-DMpXi96U.cfe5bcd71d4f.js +1 -0
  348. codex-1.8.18/codex/static_root/assets/group-tab-DMpXi96U.cfe5bcd71d4f.js.br +0 -0
  349. codex-1.8.18/codex/static_root/assets/group-tab-DMpXi96U.cfe5bcd71d4f.js.gz +0 -0
  350. codex-1.8.18/codex/static_root/assets/group-tab-DMpXi96U.js +1 -0
  351. codex-1.8.18/codex/static_root/assets/group-tab-DMpXi96U.js.br +0 -0
  352. codex-1.8.18/codex/static_root/assets/group-tab-DMpXi96U.js.gz +0 -0
  353. codex-1.8.18/codex/static_root/assets/http-error-CG5ZS6ig.4b718e3880f4.js +1 -0
  354. codex-1.8.18/codex/static_root/assets/http-error-CG5ZS6ig.4b718e3880f4.js.br +0 -0
  355. codex-1.8.18/codex/static_root/assets/http-error-CG5ZS6ig.4b718e3880f4.js.gz +0 -0
  356. codex-1.8.18/codex/static_root/assets/http-error-CG5ZS6ig.js +1 -0
  357. codex-1.8.18/codex/static_root/assets/http-error-CG5ZS6ig.js.br +0 -0
  358. codex-1.8.18/codex/static_root/assets/http-error-CG5ZS6ig.js.gz +0 -0
  359. codex-1.8.18/codex/static_root/assets/http-error-DUBqZFpY.6f8e0c765b4f.css +1 -0
  360. codex-1.8.18/codex/static_root/assets/http-error-DUBqZFpY.6f8e0c765b4f.css.br +0 -0
  361. codex-1.8.18/codex/static_root/assets/http-error-DUBqZFpY.6f8e0c765b4f.css.gz +0 -0
  362. codex-1.8.18/codex/static_root/assets/http-error-DUBqZFpY.css +1 -0
  363. codex-1.8.18/codex/static_root/assets/http-error-DUBqZFpY.css.br +0 -0
  364. codex-1.8.18/codex/static_root/assets/http-error-DUBqZFpY.css.gz +0 -0
  365. codex-1.8.18/codex/static_root/assets/index-DKVKUS1P.8e7eabf55a41.js +1 -0
  366. codex-1.8.18/codex/static_root/assets/index-DKVKUS1P.8e7eabf55a41.js.br +0 -0
  367. codex-1.8.18/codex/static_root/assets/index-DKVKUS1P.8e7eabf55a41.js.gz +0 -0
  368. codex-1.8.18/codex/static_root/assets/index-DKVKUS1P.js +1 -0
  369. codex-1.8.18/codex/static_root/assets/index-DKVKUS1P.js.br +0 -0
  370. codex-1.8.18/codex/static_root/assets/index-DKVKUS1P.js.gz +0 -0
  371. codex-1.8.18/codex/static_root/assets/library-tab-DAigpHAv.5e8805d53b13.js +1 -0
  372. codex-1.8.18/codex/static_root/assets/library-tab-DAigpHAv.5e8805d53b13.js.br +0 -0
  373. codex-1.8.18/codex/static_root/assets/library-tab-DAigpHAv.5e8805d53b13.js.gz +0 -0
  374. codex-1.8.18/codex/static_root/assets/library-tab-DAigpHAv.js +1 -0
  375. codex-1.8.18/codex/static_root/assets/library-tab-DAigpHAv.js.br +0 -0
  376. codex-1.8.18/codex/static_root/assets/library-tab-DAigpHAv.js.gz +0 -0
  377. codex-1.8.18/codex/static_root/assets/library-tab-DIIxAUNe.10ec98cfe11d.css +1 -0
  378. codex-1.8.18/codex/static_root/assets/library-tab-DIIxAUNe.10ec98cfe11d.css.br +0 -0
  379. codex-1.8.18/codex/static_root/assets/library-tab-DIIxAUNe.10ec98cfe11d.css.gz +0 -0
  380. codex-1.8.18/codex/static_root/assets/library-tab-DIIxAUNe.css +1 -0
  381. codex-1.8.18/codex/static_root/assets/library-tab-DIIxAUNe.css.br +0 -0
  382. codex-1.8.18/codex/static_root/assets/library-tab-DIIxAUNe.css.gz +0 -0
  383. codex-1.8.18/codex/static_root/assets/main-BoDXwnVY.23272ed87e26.js +10 -0
  384. codex-1.8.18/codex/static_root/assets/main-BoDXwnVY.23272ed87e26.js.br +0 -0
  385. codex-1.8.18/codex/static_root/assets/main-BoDXwnVY.23272ed87e26.js.gz +0 -0
  386. codex-1.8.18/codex/static_root/assets/main-BoDXwnVY.js +10 -0
  387. codex-1.8.18/codex/static_root/assets/main-BoDXwnVY.js.br +0 -0
  388. codex-1.8.18/codex/static_root/assets/main-BoDXwnVY.js.gz +0 -0
  389. codex-1.8.18/codex/static_root/assets/main-Dvs59AAp.4a74764fbbb0.css +1 -0
  390. codex-1.8.18/codex/static_root/assets/main-Dvs59AAp.4a74764fbbb0.css.br +0 -0
  391. codex-1.8.18/codex/static_root/assets/main-Dvs59AAp.4a74764fbbb0.css.gz +0 -0
  392. codex-1.8.18/codex/static_root/assets/main-Dvs59AAp.css +1 -0
  393. codex-1.8.18/codex/static_root/assets/main-Dvs59AAp.css.br +0 -0
  394. codex-1.8.18/codex/static_root/assets/main-Dvs59AAp.css.gz +0 -0
  395. codex-1.8.18/codex/static_root/assets/pager-full-pdf-oxeqMYg6.40cb23504322.js +1 -0
  396. codex-1.8.18/codex/static_root/assets/pager-full-pdf-oxeqMYg6.40cb23504322.js.br +3 -0
  397. codex-1.8.18/codex/static_root/assets/pager-full-pdf-oxeqMYg6.40cb23504322.js.gz +0 -0
  398. codex-1.8.18/codex/static_root/assets/pager-full-pdf-oxeqMYg6.js +1 -0
  399. codex-1.8.18/codex/static_root/assets/pager-full-pdf-oxeqMYg6.js.br +3 -0
  400. codex-1.8.18/codex/static_root/assets/pager-full-pdf-oxeqMYg6.js.gz +0 -0
  401. codex-1.8.18/codex/static_root/assets/pagination-toolbar-CXcyeTVQ.c7e64e3c3af4.css +1 -0
  402. codex-1.8.18/codex/static_root/assets/pagination-toolbar-CXcyeTVQ.c7e64e3c3af4.css.br +0 -0
  403. codex-1.8.18/codex/static_root/assets/pagination-toolbar-CXcyeTVQ.c7e64e3c3af4.css.gz +0 -0
  404. codex-1.8.18/codex/static_root/assets/pagination-toolbar-CXcyeTVQ.css +1 -0
  405. codex-1.8.18/codex/static_root/assets/pagination-toolbar-CXcyeTVQ.css.br +0 -0
  406. codex-1.8.18/codex/static_root/assets/pagination-toolbar-CXcyeTVQ.css.gz +0 -0
  407. codex-1.8.18/codex/static_root/assets/pagination-toolbar-Co40mtnt.633d65acba4b.js +1 -0
  408. codex-1.8.18/codex/static_root/assets/pagination-toolbar-Co40mtnt.633d65acba4b.js.br +0 -0
  409. codex-1.8.18/codex/static_root/assets/pagination-toolbar-Co40mtnt.633d65acba4b.js.gz +0 -0
  410. codex-1.8.18/codex/static_root/assets/pagination-toolbar-Co40mtnt.js +1 -0
  411. codex-1.8.18/codex/static_root/assets/pagination-toolbar-Co40mtnt.js.br +0 -0
  412. codex-1.8.18/codex/static_root/assets/pagination-toolbar-Co40mtnt.js.gz +0 -0
  413. codex-1.8.18/codex/static_root/assets/pdf-doc-n5bVW4I-.bfef6ee09979.js +372 -0
  414. codex-1.8.18/codex/static_root/assets/pdf-doc-n5bVW4I-.bfef6ee09979.js.br +0 -0
  415. codex-1.8.18/codex/static_root/assets/pdf-doc-n5bVW4I-.bfef6ee09979.js.gz +0 -0
  416. codex-1.8.18/codex/static_root/assets/pdf-doc-n5bVW4I-.js +372 -0
  417. codex-1.8.18/codex/static_root/assets/pdf-doc-n5bVW4I-.js.br +0 -0
  418. codex-1.8.18/codex/static_root/assets/pdf-doc-n5bVW4I-.js.gz +0 -0
  419. codex-1.8.18/codex/static_root/assets/reader-CGc-avGI.0b32574ff45c.css +1 -0
  420. codex-1.8.18/codex/static_root/assets/reader-CGc-avGI.0b32574ff45c.css.br +0 -0
  421. codex-1.8.18/codex/static_root/assets/reader-CGc-avGI.0b32574ff45c.css.gz +0 -0
  422. codex-1.8.18/codex/static_root/assets/reader-CGc-avGI.css +1 -0
  423. codex-1.8.18/codex/static_root/assets/reader-CGc-avGI.css.br +0 -0
  424. codex-1.8.18/codex/static_root/assets/reader-CGc-avGI.css.gz +0 -0
  425. codex-1.8.18/codex/static_root/assets/reader-mtEW-4Ur.94414ef25dbd.js +2 -0
  426. codex-1.8.18/codex/static_root/assets/reader-mtEW-4Ur.94414ef25dbd.js.br +0 -0
  427. codex-1.8.18/codex/static_root/assets/reader-mtEW-4Ur.94414ef25dbd.js.gz +0 -0
  428. codex-1.8.18/codex/static_root/assets/reader-mtEW-4Ur.js +2 -0
  429. codex-1.8.18/codex/static_root/assets/reader-mtEW-4Ur.js.br +0 -0
  430. codex-1.8.18/codex/static_root/assets/reader-mtEW-4Ur.js.gz +0 -0
  431. codex-1.8.18/codex/static_root/assets/relation-chips-LoXQf75G.d19f09aa25af.js +1 -0
  432. codex-1.8.18/codex/static_root/assets/relation-chips-LoXQf75G.d19f09aa25af.js.br +0 -0
  433. codex-1.8.18/codex/static_root/assets/relation-chips-LoXQf75G.d19f09aa25af.js.gz +0 -0
  434. codex-1.8.18/codex/static_root/assets/relation-chips-LoXQf75G.js +1 -0
  435. codex-1.8.18/codex/static_root/assets/relation-chips-LoXQf75G.js.br +0 -0
  436. codex-1.8.18/codex/static_root/assets/relation-chips-LoXQf75G.js.gz +0 -0
  437. codex-1.8.18/codex/static_root/assets/relation-chips-WaEhcyda.870ff99b3d8b.css +1 -0
  438. codex-1.8.18/codex/static_root/assets/relation-chips-WaEhcyda.870ff99b3d8b.css.br +0 -0
  439. codex-1.8.18/codex/static_root/assets/relation-chips-WaEhcyda.870ff99b3d8b.css.gz +0 -0
  440. codex-1.8.18/codex/static_root/assets/relation-chips-WaEhcyda.css +1 -0
  441. codex-1.8.18/codex/static_root/assets/relation-chips-WaEhcyda.css.br +0 -0
  442. codex-1.8.18/codex/static_root/assets/relation-chips-WaEhcyda.css.gz +0 -0
  443. codex-1.8.18/codex/static_root/assets/settings-drawer-BIiN6OdV.ebe24a7bc52d.js +2 -0
  444. codex-1.8.18/codex/static_root/assets/settings-drawer-BIiN6OdV.ebe24a7bc52d.js.br +0 -0
  445. codex-1.8.18/codex/static_root/assets/settings-drawer-BIiN6OdV.ebe24a7bc52d.js.gz +0 -0
  446. codex-1.8.18/codex/static_root/assets/settings-drawer-BIiN6OdV.js +2 -0
  447. codex-1.8.18/codex/static_root/assets/settings-drawer-BIiN6OdV.js.br +0 -0
  448. codex-1.8.18/codex/static_root/assets/settings-drawer-BIiN6OdV.js.gz +0 -0
  449. codex-1.8.18/codex/static_root/assets/settings-drawer-gve4SGVN.b69b76649962.css +1 -0
  450. codex-1.8.18/codex/static_root/assets/settings-drawer-gve4SGVN.b69b76649962.css.br +0 -0
  451. codex-1.8.18/codex/static_root/assets/settings-drawer-gve4SGVN.b69b76649962.css.gz +0 -0
  452. codex-1.8.18/codex/static_root/assets/settings-drawer-gve4SGVN.css +1 -0
  453. codex-1.8.18/codex/static_root/assets/settings-drawer-gve4SGVN.css.br +0 -0
  454. codex-1.8.18/codex/static_root/assets/settings-drawer-gve4SGVN.css.gz +0 -0
  455. codex-1.8.18/codex/static_root/assets/ssrBoot-xT6ClRIY.95b687ff0b86.js +1 -0
  456. codex-1.8.18/codex/static_root/assets/ssrBoot-xT6ClRIY.95b687ff0b86.js.br +0 -0
  457. codex-1.8.18/codex/static_root/assets/ssrBoot-xT6ClRIY.95b687ff0b86.js.gz +0 -0
  458. codex-1.8.18/codex/static_root/assets/ssrBoot-xT6ClRIY.js +1 -0
  459. codex-1.8.18/codex/static_root/assets/ssrBoot-xT6ClRIY.js.br +0 -0
  460. codex-1.8.18/codex/static_root/assets/ssrBoot-xT6ClRIY.js.gz +0 -0
  461. codex-1.8.18/codex/static_root/assets/stats-tab-D31eq8Ud.dc5fd4b7930a.js +1 -0
  462. codex-1.8.18/codex/static_root/assets/stats-tab-D31eq8Ud.dc5fd4b7930a.js.br +0 -0
  463. codex-1.8.18/codex/static_root/assets/stats-tab-D31eq8Ud.dc5fd4b7930a.js.gz +0 -0
  464. codex-1.8.18/codex/static_root/assets/stats-tab-D31eq8Ud.js +1 -0
  465. codex-1.8.18/codex/static_root/assets/stats-tab-D31eq8Ud.js.br +0 -0
  466. codex-1.8.18/codex/static_root/assets/stats-tab-D31eq8Ud.js.gz +0 -0
  467. codex-1.8.18/codex/static_root/assets/stats-tab-k7Upy0Gl.70f1aedccbd5.css +1 -0
  468. codex-1.8.18/codex/static_root/assets/stats-tab-k7Upy0Gl.70f1aedccbd5.css.br +0 -0
  469. codex-1.8.18/codex/static_root/assets/stats-tab-k7Upy0Gl.70f1aedccbd5.css.gz +0 -0
  470. codex-1.8.18/codex/static_root/assets/stats-tab-k7Upy0Gl.css +1 -0
  471. codex-1.8.18/codex/static_root/assets/stats-tab-k7Upy0Gl.css.br +0 -0
  472. codex-1.8.18/codex/static_root/assets/stats-tab-k7Upy0Gl.css.gz +0 -0
  473. codex-1.8.18/codex/static_root/assets/task-tab-CBiM98yp.4a414c03329c.js +1 -0
  474. codex-1.8.18/codex/static_root/assets/task-tab-CBiM98yp.4a414c03329c.js.br +0 -0
  475. codex-1.8.18/codex/static_root/assets/task-tab-CBiM98yp.4a414c03329c.js.gz +0 -0
  476. codex-1.8.18/codex/static_root/assets/task-tab-CBiM98yp.js +1 -0
  477. codex-1.8.18/codex/static_root/assets/task-tab-CBiM98yp.js.br +0 -0
  478. codex-1.8.18/codex/static_root/assets/task-tab-CBiM98yp.js.gz +0 -0
  479. codex-1.8.18/codex/static_root/assets/task-tab-DvSJmG8K.css +1 -0
  480. codex-1.8.18/codex/static_root/assets/task-tab-DvSJmG8K.css.br +2 -0
  481. codex-1.8.18/codex/static_root/assets/task-tab-DvSJmG8K.css.gz +0 -0
  482. codex-1.8.18/codex/static_root/assets/task-tab-DvSJmG8K.daf7fb2dfecf.css +1 -0
  483. codex-1.8.18/codex/static_root/assets/task-tab-DvSJmG8K.daf7fb2dfecf.css.br +2 -0
  484. codex-1.8.18/codex/static_root/assets/task-tab-DvSJmG8K.daf7fb2dfecf.css.gz +0 -0
  485. codex-1.8.18/codex/static_root/assets/unauthorized-B2rYLD-2.634a6b5154b7.css +1 -0
  486. codex-1.8.18/codex/static_root/assets/unauthorized-B2rYLD-2.634a6b5154b7.css.br +0 -0
  487. codex-1.8.18/codex/static_root/assets/unauthorized-B2rYLD-2.634a6b5154b7.css.gz +0 -0
  488. codex-1.8.18/codex/static_root/assets/unauthorized-B2rYLD-2.css +1 -0
  489. codex-1.8.18/codex/static_root/assets/unauthorized-B2rYLD-2.css.br +0 -0
  490. codex-1.8.18/codex/static_root/assets/unauthorized-B2rYLD-2.css.gz +0 -0
  491. codex-1.8.18/codex/static_root/assets/unauthorized-BOxWOnVY.991e62c35428.js +1 -0
  492. codex-1.8.18/codex/static_root/assets/unauthorized-BOxWOnVY.991e62c35428.js.br +0 -0
  493. codex-1.8.18/codex/static_root/assets/unauthorized-BOxWOnVY.991e62c35428.js.gz +0 -0
  494. codex-1.8.18/codex/static_root/assets/unauthorized-BOxWOnVY.js +1 -0
  495. codex-1.8.18/codex/static_root/assets/unauthorized-BOxWOnVY.js.br +0 -0
  496. codex-1.8.18/codex/static_root/assets/unauthorized-BOxWOnVY.js.gz +0 -0
  497. codex-1.8.18/codex/static_root/assets/user-tab-Bt6GzMfv.54afe0628d27.js +1 -0
  498. codex-1.8.18/codex/static_root/assets/user-tab-Bt6GzMfv.54afe0628d27.js.br +0 -0
  499. codex-1.8.18/codex/static_root/assets/user-tab-Bt6GzMfv.54afe0628d27.js.gz +0 -0
  500. codex-1.8.18/codex/static_root/assets/user-tab-Bt6GzMfv.js +1 -0
  501. codex-1.8.18/codex/static_root/assets/user-tab-Bt6GzMfv.js.br +0 -0
  502. codex-1.8.18/codex/static_root/assets/user-tab-Bt6GzMfv.js.gz +0 -0
  503. codex-1.8.18/codex/static_root/img/missing-cover-165.ef301b6fcf8c.webp +0 -0
  504. codex-1.8.18/codex/static_root/img/missing-cover-165.webp +0 -0
  505. codex-1.8.18/codex/static_root/manifest.90a46b50f06a.json +760 -0
  506. codex-1.8.18/codex/static_root/manifest.90a46b50f06a.json.br +0 -0
  507. codex-1.8.18/codex/static_root/manifest.90a46b50f06a.json.gz +0 -0
  508. codex-1.8.18/codex/static_root/manifest.json +760 -0
  509. codex-1.8.18/codex/static_root/manifest.json.br +0 -0
  510. codex-1.8.18/codex/static_root/manifest.json.gz +0 -0
  511. codex-1.8.18/codex/static_root/staticfiles.json +1 -0
  512. codex-1.8.18/codex/static_src/img/.picopt_treestamps.yaml +19 -0
  513. codex-1.8.18/codex/static_src/img/missing-cover-165.webp +0 -0
  514. codex-1.8.18/codex/templates/headers-icons.html +5 -0
  515. codex-1.8.18/codex/templates/pwa/headers.html +17 -0
  516. codex-1.8.18/codex/templates/pwa/serviceworker.js +45 -0
  517. codex-1.8.18/codex/urls/root.py +43 -0
  518. codex-1.8.18/codex/util.py +29 -0
  519. codex-1.8.18/codex/views/browser/annotate/order.py +273 -0
  520. codex-1.8.18/codex/views/browser/bookmark.py +70 -0
  521. codex-1.8.18/codex/views/browser/cover.py +164 -0
  522. codex-1.8.18/codex/views/browser/filters/filter.py +65 -0
  523. codex-1.8.18/codex/views/browser/filters/search/field/column.py +55 -0
  524. codex-1.8.18/codex/views/browser/filters/search/field/expression.py +176 -0
  525. codex-1.8.18/codex/views/browser/filters/search/parse.py +240 -0
  526. codex-1.8.18/codex/views/browser/group_mtime.py +86 -0
  527. codex-1.8.18/codex/views/browser/params.py +31 -0
  528. codex-1.8.18/codex/views/browser/settings.py +66 -0
  529. codex-1.8.18/codex/views/reader/page.py +119 -0
  530. codex-1.8.18/codex/views/reader/params.py +70 -0
  531. codex-1.8.18/codex/views/session.py +168 -0
  532. codex-1.8.18/codex/views/settings.py +44 -0
  533. codex-1.8.18/codex/views/util.py +43 -0
  534. codex-1.8.18/codex/websockets/consumers.py +52 -0
  535. codex-1.8.18/compose.yaml +80 -0
  536. codex-1.8.18/docs/DOCKER.md +108 -0
  537. codex-1.8.18/docs/NEWS.md +1723 -0
  538. codex-1.8.18/docs/README.md +533 -0
  539. codex-1.8.18/docs/WINDOWS.md +161 -0
  540. codex-1.8.18/docs/requirements.txt +3 -0
  541. codex-1.8.18/docs/strange.jpg +0 -0
  542. codex-1.8.18/docs/style.css +38 -0
  543. codex-1.8.18/docs/style.material.css +13 -0
  544. codex-1.8.18/docs/style.mkdocs.css +38 -0
  545. codex-1.8.18/docs/style.readthedocs.css +21 -0
  546. codex-1.8.18/eslint.config.js +174 -0
  547. codex-1.8.18/frontend/.eslintcache +1 -0
  548. codex-1.8.18/frontend/.npmrc +1 -0
  549. codex-1.8.18/frontend/.prettierignore +7 -0
  550. codex-1.8.18/frontend/Makefile +45 -0
  551. codex-1.8.18/frontend/README.md +15 -0
  552. codex-1.8.18/frontend/bin/dev-server.sh +5 -0
  553. codex-1.8.18/frontend/bin/fix-lint.sh +4 -0
  554. codex-1.8.18/frontend/bin/lint.sh +6 -0
  555. codex-1.8.18/frontend/bin/test.sh +7 -0
  556. codex-1.8.18/frontend/bin/update-deps.sh +5 -0
  557. codex-1.8.18/frontend/eslint.config.js +84 -0
  558. codex-1.8.18/frontend/jsconfig.json +3 -0
  559. codex-1.8.18/frontend/package-lock.json +7166 -0
  560. codex-1.8.18/frontend/package.json +59 -0
  561. codex-1.8.18/frontend/src/admin.vue +37 -0
  562. codex-1.8.18/frontend/src/api/v3/admin.js +130 -0
  563. codex-1.8.18/frontend/src/api/v3/auth.js +49 -0
  564. codex-1.8.18/frontend/src/api/v3/base.js +44 -0
  565. codex-1.8.18/frontend/src/api/v3/browser.js +109 -0
  566. codex-1.8.18/frontend/src/api/v3/common.js +139 -0
  567. codex-1.8.18/frontend/src/api/v3/notify.js +13 -0
  568. codex-1.8.18/frontend/src/api/v3/reader.js +58 -0
  569. codex-1.8.18/frontend/src/api/v3/vuetify-items.js +85 -0
  570. codex-1.8.18/frontend/src/app.vue +90 -0
  571. codex-1.8.18/frontend/src/browser.vue +73 -0
  572. codex-1.8.18/frontend/src/choices/admin-flag-choices.json +10 -0
  573. codex-1.8.18/frontend/src/choices/admin-status-titles.json +50 -0
  574. codex-1.8.18/frontend/src/choices/admin-tasks.json +251 -0
  575. codex-1.8.18/frontend/src/choices/browser-choices.json +192 -0
  576. codex-1.8.18/frontend/src/choices/browser-defaults.json +24 -0
  577. codex-1.8.18/frontend/src/choices/browser-map.json +57 -0
  578. codex-1.8.18/frontend/src/choices/reader-choices.json +40 -0
  579. codex-1.8.18/frontend/src/choices/reader-map.json +14 -0
  580. codex-1.8.18/frontend/src/choices/search-map.json +280 -0
  581. codex-1.8.18/frontend/src/choices/websocket-messages.json +12 -0
  582. codex-1.8.18/frontend/src/comic-name.js +80 -0
  583. codex-1.8.18/frontend/src/components/admin/admin-header.vue +104 -0
  584. codex-1.8.18/frontend/src/components/admin/browser-link.vue +23 -0
  585. codex-1.8.18/frontend/src/components/admin/create-update-dialog/create-update-button.vue +37 -0
  586. codex-1.8.18/frontend/src/components/admin/create-update-dialog/create-update-dialog.vue +185 -0
  587. codex-1.8.18/frontend/src/components/admin/create-update-dialog/group-create-update-inputs.vue +125 -0
  588. codex-1.8.18/frontend/src/components/admin/create-update-dialog/library-create-update-inputs.vue +148 -0
  589. codex-1.8.18/frontend/src/components/admin/create-update-dialog/relation-picker.vue +46 -0
  590. codex-1.8.18/frontend/src/components/admin/create-update-dialog/server-folder-picker.vue +146 -0
  591. codex-1.8.18/frontend/src/components/admin/create-update-dialog/time-text-field.vue +28 -0
  592. codex-1.8.18/frontend/src/components/admin/create-update-dialog/user-create-update-inputs.vue +121 -0
  593. codex-1.8.18/frontend/src/components/admin/drawer/admin-menu.vue +68 -0
  594. codex-1.8.18/frontend/src/components/admin/drawer/admin-settings-button-progress.vue +59 -0
  595. codex-1.8.18/frontend/src/components/admin/drawer/admin-settings-drawer.vue +42 -0
  596. codex-1.8.18/frontend/src/components/admin/drawer/admin-settings-panel.vue +13 -0
  597. codex-1.8.18/frontend/src/components/admin/drawer/status-list-item.vue +104 -0
  598. codex-1.8.18/frontend/src/components/admin/drawer/status-list.vue +107 -0
  599. codex-1.8.18/frontend/src/components/admin/group-chip.vue +53 -0
  600. codex-1.8.18/frontend/src/components/admin/tabs/admin-table.vue +25 -0
  601. codex-1.8.18/frontend/src/components/admin/tabs/custom-covers-panel.vue +92 -0
  602. codex-1.8.18/frontend/src/components/admin/tabs/datetime-column.vue +53 -0
  603. codex-1.8.18/frontend/src/components/admin/tabs/delete-row-dialog.vue +55 -0
  604. codex-1.8.18/frontend/src/components/admin/tabs/failed-imports-panel.vue +142 -0
  605. codex-1.8.18/frontend/src/components/admin/tabs/flag-descriptions.json +10 -0
  606. codex-1.8.18/frontend/src/components/admin/tabs/flag-tab.vue +157 -0
  607. codex-1.8.18/frontend/src/components/admin/tabs/group-tab.vue +191 -0
  608. codex-1.8.18/frontend/src/components/admin/tabs/library-tab.vue +74 -0
  609. codex-1.8.18/frontend/src/components/admin/tabs/library-table.vue +267 -0
  610. codex-1.8.18/frontend/src/components/admin/tabs/relation-chips.vue +47 -0
  611. codex-1.8.18/frontend/src/components/admin/tabs/stats-tab.vue +212 -0
  612. codex-1.8.18/frontend/src/components/admin/tabs/stats-table.vue +93 -0
  613. codex-1.8.18/frontend/src/components/admin/tabs/tabs.vue +81 -0
  614. codex-1.8.18/frontend/src/components/admin/tabs/task-tab.vue +169 -0
  615. codex-1.8.18/frontend/src/components/admin/tabs/user-tab.vue +135 -0
  616. codex-1.8.18/frontend/src/components/anchors.scss +17 -0
  617. codex-1.8.18/frontend/src/components/auth/auth-menu.vue +52 -0
  618. codex-1.8.18/frontend/src/components/auth/change-password-dialog.vue +241 -0
  619. codex-1.8.18/frontend/src/components/auth/login-dialog.vue +207 -0
  620. codex-1.8.18/frontend/src/components/banner.vue +36 -0
  621. codex-1.8.18/frontend/src/components/book-cover.scss +6 -0
  622. codex-1.8.18/frontend/src/components/book-cover.vue +160 -0
  623. codex-1.8.18/frontend/src/components/browser/browser-header.vue +53 -0
  624. codex-1.8.18/frontend/src/components/browser/card/browser-card-menu.vue +71 -0
  625. codex-1.8.18/frontend/src/components/browser/card/card.vue +180 -0
  626. codex-1.8.18/frontend/src/components/browser/card/controls.vue +96 -0
  627. codex-1.8.18/frontend/src/components/browser/card/order-by-caption.vue +92 -0
  628. codex-1.8.18/frontend/src/components/browser/card/subtitle.vue +140 -0
  629. codex-1.8.18/frontend/src/components/browser/drawer/browser-settings-drawer.vue +19 -0
  630. codex-1.8.18/frontend/src/components/browser/drawer/browser-settings-panel.vue +150 -0
  631. codex-1.8.18/frontend/src/components/browser/empty.vue +86 -0
  632. codex-1.8.18/frontend/src/components/browser/main.vue +177 -0
  633. codex-1.8.18/frontend/src/components/browser/toolbars/breadcrumbs/breadcrumbs.vue +129 -0
  634. codex-1.8.18/frontend/src/components/browser/toolbars/breadcrumbs/browser-toolbar-breadcrumbs.vue +24 -0
  635. codex-1.8.18/frontend/src/components/browser/toolbars/browser-toolbar-title.vue +103 -0
  636. codex-1.8.18/frontend/src/components/browser/toolbars/nav/browser-nav-button.vue +100 -0
  637. codex-1.8.18/frontend/src/components/browser/toolbars/nav/browser-toolbar-nav.vue +47 -0
  638. codex-1.8.18/frontend/src/components/browser/toolbars/search/browser-toolbar-search.vue +38 -0
  639. codex-1.8.18/frontend/src/components/browser/toolbars/search/search-combobox.vue +97 -0
  640. codex-1.8.18/frontend/src/components/browser/toolbars/search/search-help-text.vue +271 -0
  641. codex-1.8.18/frontend/src/components/browser/toolbars/search/search-help.vue +73 -0
  642. codex-1.8.18/frontend/src/components/browser/toolbars/top/browser-toolbar-top.vue +64 -0
  643. codex-1.8.18/frontend/src/components/browser/toolbars/top/filter-by-select.vue +183 -0
  644. codex-1.8.18/frontend/src/components/browser/toolbars/top/filter-sub-menu.vue +246 -0
  645. codex-1.8.18/frontend/src/components/browser/toolbars/top/order-by-select.vue +57 -0
  646. codex-1.8.18/frontend/src/components/browser/toolbars/top/order-reverse-button.vue +58 -0
  647. codex-1.8.18/frontend/src/components/browser/toolbars/top/search-button.vue +39 -0
  648. codex-1.8.18/frontend/src/components/browser/toolbars/top/toolbar-button.vue +16 -0
  649. codex-1.8.18/frontend/src/components/browser/toolbars/top/top-group-select.vue +69 -0
  650. codex-1.8.18/frontend/src/components/cancel-button.vue +14 -0
  651. codex-1.8.18/frontend/src/components/close-button.vue +20 -0
  652. codex-1.8.18/frontend/src/components/codex-list-item.vue +13 -0
  653. codex-1.8.18/frontend/src/components/confirm-dialog.vue +115 -0
  654. codex-1.8.18/frontend/src/components/confirm-footer.vue +28 -0
  655. codex-1.8.18/frontend/src/components/download-button.vue +120 -0
  656. codex-1.8.18/frontend/src/components/empty.vue +27 -0
  657. codex-1.8.18/frontend/src/components/mark-read-button.vue +85 -0
  658. codex-1.8.18/frontend/src/components/metadata/expand-button.vue +8 -0
  659. codex-1.8.18/frontend/src/components/metadata/metadata-activator.vue +51 -0
  660. codex-1.8.18/frontend/src/components/metadata/metadata-body.vue +150 -0
  661. codex-1.8.18/frontend/src/components/metadata/metadata-chip.vue +179 -0
  662. codex-1.8.18/frontend/src/components/metadata/metadata-controls.vue +169 -0
  663. codex-1.8.18/frontend/src/components/metadata/metadata-cover.vue +71 -0
  664. codex-1.8.18/frontend/src/components/metadata/metadata-dialog.vue +177 -0
  665. codex-1.8.18/frontend/src/components/metadata/metadata-header.vue +295 -0
  666. codex-1.8.18/frontend/src/components/metadata/metadata-ratings.vue +50 -0
  667. codex-1.8.18/frontend/src/components/metadata/metadata-tags.vue +91 -0
  668. codex-1.8.18/frontend/src/components/metadata/metadata-text.vue +254 -0
  669. codex-1.8.18/frontend/src/components/metadata/table.scss +8 -0
  670. codex-1.8.18/frontend/src/components/metadata/tags-table.vue +67 -0
  671. codex-1.8.18/frontend/src/components/pagination-nav-button.vue +41 -0
  672. codex-1.8.18/frontend/src/components/pagination-slider.vue +54 -0
  673. codex-1.8.18/frontend/src/components/pagination-toolbar.vue +26 -0
  674. codex-1.8.18/frontend/src/components/placeholder-loading.vue +27 -0
  675. codex-1.8.18/frontend/src/components/reader/book-change-activator.vue +71 -0
  676. codex-1.8.18/frontend/src/components/reader/book-change-drawer.vue +120 -0
  677. codex-1.8.18/frontend/src/components/reader/books-window.vue +109 -0
  678. codex-1.8.18/frontend/src/components/reader/change-column.scss +6 -0
  679. codex-1.8.18/frontend/src/components/reader/drawer/download-panel.vue +79 -0
  680. codex-1.8.18/frontend/src/components/reader/drawer/keyboard-shortcuts-panel.vue +65 -0
  681. codex-1.8.18/frontend/src/components/reader/drawer/keyboard-shortcuts-table.vue +157 -0
  682. codex-1.8.18/frontend/src/components/reader/drawer/reader-settings-drawer.vue +19 -0
  683. codex-1.8.18/frontend/src/components/reader/drawer/reader-settings-panel.vue +339 -0
  684. codex-1.8.18/frontend/src/components/reader/drawer/reader-settings-super-panel.vue +21 -0
  685. codex-1.8.18/frontend/src/components/reader/empty.vue +41 -0
  686. codex-1.8.18/frontend/src/components/reader/pager/horizontal-pages.vue +75 -0
  687. codex-1.8.18/frontend/src/components/reader/pager/page/page-error.vue +58 -0
  688. codex-1.8.18/frontend/src/components/reader/pager/page/page-img.vue +99 -0
  689. codex-1.8.18/frontend/src/components/reader/pager/page/page-loading.vue +33 -0
  690. codex-1.8.18/frontend/src/components/reader/pager/page/page.vue +136 -0
  691. codex-1.8.18/frontend/src/components/reader/pager/page-change-link.vue +76 -0
  692. codex-1.8.18/frontend/src/components/reader/pager/pager-full-pdf.vue +36 -0
  693. codex-1.8.18/frontend/src/components/reader/pager/pager-horizontal.vue +129 -0
  694. codex-1.8.18/frontend/src/components/reader/pager/pager-vertical.vue +177 -0
  695. codex-1.8.18/frontend/src/components/reader/pager/pager.vue +86 -0
  696. codex-1.8.18/frontend/src/components/reader/pager/pdf-doc.vue +133 -0
  697. codex-1.8.18/frontend/src/components/reader/pager/scale-for-scroll.vue +88 -0
  698. codex-1.8.18/frontend/src/components/reader/toolbars/nav/reader-book-change-nav-button.vue +64 -0
  699. codex-1.8.18/frontend/src/components/reader/toolbars/nav/reader-nav-button.vue +88 -0
  700. codex-1.8.18/frontend/src/components/reader/toolbars/nav/reader-toolbar-nav.vue +163 -0
  701. codex-1.8.18/frontend/src/components/reader/toolbars/top/reader-arc-select.vue +158 -0
  702. codex-1.8.18/frontend/src/components/reader/toolbars/top/reader-toolbar-top.vue +224 -0
  703. codex-1.8.18/frontend/src/components/scale-button.vue +26 -0
  704. codex-1.8.18/frontend/src/components/settings/button.vue +59 -0
  705. codex-1.8.18/frontend/src/components/settings/docs-footer.vue +43 -0
  706. codex-1.8.18/frontend/src/components/settings/opds-dialog.vue +74 -0
  707. codex-1.8.18/frontend/src/components/settings/opds-url.vue +104 -0
  708. codex-1.8.18/frontend/src/components/settings/settings-drawer.vue +123 -0
  709. codex-1.8.18/frontend/src/components/settings/version-footer.vue +95 -0
  710. codex-1.8.18/frontend/src/components/submit-footer.vue +66 -0
  711. codex-1.8.18/frontend/src/components/toolbar-select.vue +75 -0
  712. codex-1.8.18/frontend/src/components/unauthorized.vue +89 -0
  713. codex-1.8.18/frontend/src/copy-to-clipboard.js +14 -0
  714. codex-1.8.18/frontend/src/datetime.js +58 -0
  715. codex-1.8.18/frontend/src/http-error.vue +104 -0
  716. codex-1.8.18/frontend/src/main.js +33 -0
  717. codex-1.8.18/frontend/src/platform.js +15 -0
  718. codex-1.8.18/frontend/src/plugins/router.js +66 -0
  719. codex-1.8.18/frontend/src/plugins/vue-native-sock.js +16 -0
  720. codex-1.8.18/frontend/src/plugins/vuetify.js +87 -0
  721. codex-1.8.18/frontend/src/reader.vue +79 -0
  722. codex-1.8.18/frontend/src/route.js +28 -0
  723. codex-1.8.18/frontend/src/stores/admin.js +202 -0
  724. codex-1.8.18/frontend/src/stores/auth.js +106 -0
  725. codex-1.8.18/frontend/src/stores/browser.js +682 -0
  726. codex-1.8.18/frontend/src/stores/common.js +99 -0
  727. codex-1.8.18/frontend/src/stores/metadata.js +259 -0
  728. codex-1.8.18/frontend/src/stores/reader.js +688 -0
  729. codex-1.8.18/frontend/src/stores/socket.js +180 -0
  730. codex-1.8.18/frontend/src/stores/store.js +8 -0
  731. codex-1.8.18/frontend/src/util.js +11 -0
  732. codex-1.8.18/frontend/tests/unit/__snapshots__/reader-nav-button.test.js.snap +9 -0
  733. codex-1.8.18/frontend/tests/unit/reader-nav-button.test.js +68 -0
  734. codex-1.8.18/frontend/vite.config.js +106 -0
  735. codex-1.8.18/img/logo.svg +132 -0
  736. codex-1.8.18/mock_comics/__init__.py +1 -0
  737. codex-1.8.18/mock_comics/bigbook.py +52 -0
  738. codex-1.8.18/mock_comics/mock_comics.py +327 -0
  739. codex-1.8.18/mock_comics/mock_comics.sh +5 -0
  740. codex-1.8.18/package-lock.json +10250 -0
  741. codex-1.8.18/package.json +102 -0
  742. codex-1.8.18/pyproject.toml +425 -0
  743. codex-1.8.18/strange.jpg +0 -0
  744. codex-1.8.18/tests/files/comicbox-2-example.cbz +0 -0
  745. codex-1.8.18/tests/files/comicbox-2-update.cbz +0 -0
  746. codex-1.8.18/tests/files/comicbox.example.yaml +147 -0
  747. codex-1.8.18/tests/importer/test_basic.py +880 -0
  748. codex-1.8.18/tests/importer/test_update_all.py +771 -0
  749. codex-1.8.18/tests/importer/test_update_none.py +165 -0
  750. codex-1.8.18/uv.lock +3712 -0
  751. codex-1.8.18/vulture_ignorelist.py +3 -0
  752. codex-1.8.0a8/.gitignore +0 -81
  753. codex-1.8.0a8/LICENSE +0 -674
  754. codex-1.8.0a8/PKG-INFO +0 -592
  755. codex-1.8.0a8/README.md +0 -533
  756. codex-1.8.0a8/codex/__init__.py +0 -17
  757. codex-1.8.0a8/codex/applications/websocket.py +0 -22
  758. codex-1.8.0a8/codex/choices/admin.py +0 -289
  759. codex-1.8.0a8/codex/choices/choices_to_json.py +0 -140
  760. codex-1.8.0a8/codex/librarian/bookmark/latest_version.py +0 -65
  761. codex-1.8.0a8/codex/librarian/bookmark/tasks.py +0 -36
  762. codex-1.8.0a8/codex/librarian/covers/tasks.py +0 -39
  763. codex-1.8.0a8/codex/librarian/librariand.py +0 -198
  764. codex-1.8.0a8/codex/librarian/restarter/restarter.py +0 -55
  765. codex-1.8.0a8/codex/librarian/restarter/tasks.py +0 -13
  766. codex-1.8.0a8/codex/librarian/scribe/importer/const.py +0 -369
  767. codex-1.8.0a8/codex/librarian/scribe/importer/create/comics.py +0 -172
  768. codex-1.8.0a8/codex/librarian/scribe/importer/delete/comics.py +0 -68
  769. codex-1.8.0a8/codex/librarian/scribe/importer/delete/folders.py +0 -33
  770. codex-1.8.0a8/codex/librarian/scribe/importer/init.py +0 -338
  771. codex-1.8.0a8/codex/librarian/scribe/importer/link/delete.py +0 -106
  772. codex-1.8.0a8/codex/librarian/scribe/importer/link/many_to_many.py +0 -88
  773. codex-1.8.0a8/codex/librarian/scribe/importer/link/prepare.py +0 -132
  774. codex-1.8.0a8/codex/librarian/scribe/importer/query/foreign_keys.py +0 -203
  775. codex-1.8.0a8/codex/librarian/scribe/importer/query/update_comics.py +0 -59
  776. codex-1.8.0a8/codex/librarian/scribe/importer/read/aggregate_path.py +0 -110
  777. codex-1.8.0a8/codex/librarian/scribe/importer/read/const.py +0 -144
  778. codex-1.8.0a8/codex/librarian/scribe/importer/read/extract.py +0 -128
  779. codex-1.8.0a8/codex/librarian/scribe/importer/read/foreign_keys.py +0 -145
  780. codex-1.8.0a8/codex/librarian/scribe/importer/search/const.py +0 -50
  781. codex-1.8.0a8/codex/librarian/scribe/importer/search/prepare.py +0 -85
  782. codex-1.8.0a8/codex/librarian/scribe/importer/search/sync_m2m.py +0 -84
  783. codex-1.8.0a8/codex/librarian/scribe/importer/search/update.py +0 -271
  784. codex-1.8.0a8/codex/librarian/scribe/importer/tasks.py +0 -49
  785. codex-1.8.0a8/codex/librarian/scribe/janitor/adopt_folders.py +0 -81
  786. codex-1.8.0a8/codex/librarian/scribe/janitor/integrity.py +0 -375
  787. codex-1.8.0a8/codex/librarian/scribe/janitor/update.py +0 -88
  788. codex-1.8.0a8/codex/librarian/scribe/lazy_importer.py +0 -51
  789. codex-1.8.0a8/codex/librarian/scribe/priority.py +0 -65
  790. codex-1.8.0a8/codex/librarian/scribe/scribed.py +0 -130
  791. codex-1.8.0a8/codex/librarian/scribe/search/optimize.py +0 -30
  792. codex-1.8.0a8/codex/librarian/scribe/search/remove.py +0 -44
  793. codex-1.8.0a8/codex/librarian/scribe/search/sync.py +0 -398
  794. codex-1.8.0a8/codex/librarian/scribe/tasks.py +0 -31
  795. codex-1.8.0a8/codex/librarian/scribe/timestamp_update.py +0 -135
  796. codex-1.8.0a8/codex/librarian/status.py +0 -76
  797. codex-1.8.0a8/codex/librarian/status_controller.py +0 -194
  798. codex-1.8.0a8/codex/librarian/telemeter/scheduled_time.py +0 -68
  799. codex-1.8.0a8/codex/librarian/threads.py +0 -148
  800. codex-1.8.0a8/codex/librarian/watchdog/db_snapshot.py +0 -92
  801. codex-1.8.0a8/codex/librarian/watchdog/emitter.py +0 -264
  802. codex-1.8.0a8/codex/librarian/watchdog/event_batcherd.py +0 -182
  803. codex-1.8.0a8/codex/librarian/watchdog/tasks.py +0 -31
  804. codex-1.8.0a8/codex/librarian/worker.py +0 -32
  805. codex-1.8.0a8/codex/migrations/0034_comicbox2.py +0 -789
  806. codex-1.8.0a8/codex/migrations/0035_alter_librarianstatus_status_type.py +0 -72
  807. codex-1.8.0a8/codex/models/comic.py +0 -378
  808. codex-1.8.0a8/codex/models/functions.py +0 -83
  809. codex-1.8.0a8/codex/models/groups.py +0 -211
  810. codex-1.8.0a8/codex/run.py +0 -76
  811. codex-1.8.0a8/codex/serializers/admin/tasks.py +0 -24
  812. codex-1.8.0a8/codex/serializers/browser/choices.py +0 -154
  813. codex-1.8.0a8/codex/serializers/browser/settings.py +0 -107
  814. codex-1.8.0a8/codex/settings/__init__.py +0 -424
  815. codex-1.8.0a8/codex/signals/os_signals.py +0 -51
  816. codex-1.8.0a8/codex/startup/__init__.py +0 -180
  817. codex-1.8.0a8/codex/startup/db.py +0 -130
  818. codex-1.8.0a8/codex/startup/logger_init.py +0 -45
  819. codex-1.8.0a8/codex/static_root/assets/VCheckbox-DUW6_hDa.1ef41a544a92.js +0 -1
  820. codex-1.8.0a8/codex/static_root/assets/VCheckbox-DUW6_hDa.1ef41a544a92.js.br +0 -0
  821. codex-1.8.0a8/codex/static_root/assets/VCheckbox-DUW6_hDa.1ef41a544a92.js.gz +0 -0
  822. codex-1.8.0a8/codex/static_root/assets/VCheckbox-DUW6_hDa.js +0 -1
  823. codex-1.8.0a8/codex/static_root/assets/VCheckbox-DUW6_hDa.js.br +0 -0
  824. codex-1.8.0a8/codex/static_root/assets/VCheckbox-DUW6_hDa.js.gz +0 -0
  825. codex-1.8.0a8/codex/static_root/assets/VCheckboxBtn-C-lQiBqA.9a3b577ca744.js +0 -1
  826. codex-1.8.0a8/codex/static_root/assets/VCheckboxBtn-C-lQiBqA.9a3b577ca744.js.br +0 -0
  827. codex-1.8.0a8/codex/static_root/assets/VCheckboxBtn-C-lQiBqA.9a3b577ca744.js.gz +0 -0
  828. codex-1.8.0a8/codex/static_root/assets/VCheckboxBtn-C-lQiBqA.js +0 -1
  829. codex-1.8.0a8/codex/static_root/assets/VCheckboxBtn-C-lQiBqA.js.br +0 -0
  830. codex-1.8.0a8/codex/static_root/assets/VCheckboxBtn-C-lQiBqA.js.gz +0 -0
  831. codex-1.8.0a8/codex/static_root/assets/VCombobox-DHFthaP6.942336d23612.css +0 -1
  832. codex-1.8.0a8/codex/static_root/assets/VCombobox-DHFthaP6.942336d23612.css.br +0 -0
  833. codex-1.8.0a8/codex/static_root/assets/VCombobox-DHFthaP6.942336d23612.css.gz +0 -0
  834. codex-1.8.0a8/codex/static_root/assets/VCombobox-DHFthaP6.css +0 -1
  835. codex-1.8.0a8/codex/static_root/assets/VCombobox-DHFthaP6.css.br +0 -0
  836. codex-1.8.0a8/codex/static_root/assets/VCombobox-DHFthaP6.css.gz +0 -0
  837. codex-1.8.0a8/codex/static_root/assets/VCombobox-DN068PcH.e48a063e22c8.js +0 -1
  838. codex-1.8.0a8/codex/static_root/assets/VCombobox-DN068PcH.e48a063e22c8.js.br +0 -0
  839. codex-1.8.0a8/codex/static_root/assets/VCombobox-DN068PcH.e48a063e22c8.js.gz +0 -0
  840. codex-1.8.0a8/codex/static_root/assets/VCombobox-DN068PcH.js +0 -1
  841. codex-1.8.0a8/codex/static_root/assets/VCombobox-DN068PcH.js.br +0 -0
  842. codex-1.8.0a8/codex/static_root/assets/VCombobox-DN068PcH.js.gz +0 -0
  843. codex-1.8.0a8/codex/static_root/assets/VDialog-CNXFr29h.1b503cbf1c8a.js +0 -1
  844. codex-1.8.0a8/codex/static_root/assets/VDialog-CNXFr29h.1b503cbf1c8a.js.br +0 -0
  845. codex-1.8.0a8/codex/static_root/assets/VDialog-CNXFr29h.1b503cbf1c8a.js.gz +0 -0
  846. codex-1.8.0a8/codex/static_root/assets/VDialog-CNXFr29h.js +0 -1
  847. codex-1.8.0a8/codex/static_root/assets/VDialog-CNXFr29h.js.br +0 -0
  848. codex-1.8.0a8/codex/static_root/assets/VDialog-CNXFr29h.js.gz +0 -0
  849. codex-1.8.0a8/codex/static_root/assets/VDialog-CpWjrJ0R.610ffc6302d4.css +0 -1
  850. codex-1.8.0a8/codex/static_root/assets/VDialog-CpWjrJ0R.610ffc6302d4.css.br +0 -0
  851. codex-1.8.0a8/codex/static_root/assets/VDialog-CpWjrJ0R.610ffc6302d4.css.gz +0 -0
  852. codex-1.8.0a8/codex/static_root/assets/VDialog-CpWjrJ0R.css +0 -1
  853. codex-1.8.0a8/codex/static_root/assets/VDialog-CpWjrJ0R.css.br +0 -0
  854. codex-1.8.0a8/codex/static_root/assets/VDialog-CpWjrJ0R.css.gz +0 -0
  855. codex-1.8.0a8/codex/static_root/assets/VDivider-CMJgJBsn.ba01c6098f6a.js +0 -1
  856. codex-1.8.0a8/codex/static_root/assets/VDivider-CMJgJBsn.ba01c6098f6a.js.br +0 -0
  857. codex-1.8.0a8/codex/static_root/assets/VDivider-CMJgJBsn.ba01c6098f6a.js.gz +0 -0
  858. codex-1.8.0a8/codex/static_root/assets/VDivider-CMJgJBsn.js +0 -1
  859. codex-1.8.0a8/codex/static_root/assets/VDivider-CMJgJBsn.js.br +0 -0
  860. codex-1.8.0a8/codex/static_root/assets/VDivider-CMJgJBsn.js.gz +0 -0
  861. codex-1.8.0a8/codex/static_root/assets/VDivider-DU47sRrT.3d2e17799e5c.css +0 -1
  862. codex-1.8.0a8/codex/static_root/assets/VDivider-DU47sRrT.3d2e17799e5c.css.br +0 -0
  863. codex-1.8.0a8/codex/static_root/assets/VDivider-DU47sRrT.3d2e17799e5c.css.gz +0 -0
  864. codex-1.8.0a8/codex/static_root/assets/VDivider-DU47sRrT.css +0 -1
  865. codex-1.8.0a8/codex/static_root/assets/VDivider-DU47sRrT.css.br +0 -0
  866. codex-1.8.0a8/codex/static_root/assets/VDivider-DU47sRrT.css.gz +0 -0
  867. codex-1.8.0a8/codex/static_root/assets/VExpansionPanels-DlvNPW3D.996da93a53cd.js +0 -1
  868. codex-1.8.0a8/codex/static_root/assets/VExpansionPanels-DlvNPW3D.996da93a53cd.js.br +0 -0
  869. codex-1.8.0a8/codex/static_root/assets/VExpansionPanels-DlvNPW3D.996da93a53cd.js.gz +0 -0
  870. codex-1.8.0a8/codex/static_root/assets/VExpansionPanels-DlvNPW3D.js +0 -1
  871. codex-1.8.0a8/codex/static_root/assets/VExpansionPanels-DlvNPW3D.js.br +0 -0
  872. codex-1.8.0a8/codex/static_root/assets/VExpansionPanels-DlvNPW3D.js.gz +0 -0
  873. codex-1.8.0a8/codex/static_root/assets/VExpansionPanels-RsCANmDP.5b17872981df.css +0 -1
  874. codex-1.8.0a8/codex/static_root/assets/VExpansionPanels-RsCANmDP.5b17872981df.css.br +0 -0
  875. codex-1.8.0a8/codex/static_root/assets/VExpansionPanels-RsCANmDP.5b17872981df.css.gz +0 -0
  876. codex-1.8.0a8/codex/static_root/assets/VExpansionPanels-RsCANmDP.css +0 -1
  877. codex-1.8.0a8/codex/static_root/assets/VExpansionPanels-RsCANmDP.css.br +0 -0
  878. codex-1.8.0a8/codex/static_root/assets/VExpansionPanels-RsCANmDP.css.gz +0 -0
  879. codex-1.8.0a8/codex/static_root/assets/VForm-g3pClFlH.e59cff7f285e.js +0 -1
  880. codex-1.8.0a8/codex/static_root/assets/VForm-g3pClFlH.e59cff7f285e.js.br +0 -0
  881. codex-1.8.0a8/codex/static_root/assets/VForm-g3pClFlH.e59cff7f285e.js.gz +0 -0
  882. codex-1.8.0a8/codex/static_root/assets/VForm-g3pClFlH.js +0 -1
  883. codex-1.8.0a8/codex/static_root/assets/VForm-g3pClFlH.js.br +0 -0
  884. codex-1.8.0a8/codex/static_root/assets/VForm-g3pClFlH.js.gz +0 -0
  885. codex-1.8.0a8/codex/static_root/assets/VRadioGroup-Bv8An5nC.47fec3aea984.js +0 -1
  886. codex-1.8.0a8/codex/static_root/assets/VRadioGroup-Bv8An5nC.47fec3aea984.js.br +0 -0
  887. codex-1.8.0a8/codex/static_root/assets/VRadioGroup-Bv8An5nC.47fec3aea984.js.gz +0 -0
  888. codex-1.8.0a8/codex/static_root/assets/VRadioGroup-Bv8An5nC.js +0 -1
  889. codex-1.8.0a8/codex/static_root/assets/VRadioGroup-Bv8An5nC.js.br +0 -0
  890. codex-1.8.0a8/codex/static_root/assets/VRadioGroup-Bv8An5nC.js.gz +0 -0
  891. codex-1.8.0a8/codex/static_root/assets/VSelect-5V0L32ek.d6eedd1c4964.js +0 -1
  892. codex-1.8.0a8/codex/static_root/assets/VSelect-5V0L32ek.d6eedd1c4964.js.br +0 -0
  893. codex-1.8.0a8/codex/static_root/assets/VSelect-5V0L32ek.d6eedd1c4964.js.gz +0 -0
  894. codex-1.8.0a8/codex/static_root/assets/VSelect-5V0L32ek.js +0 -1
  895. codex-1.8.0a8/codex/static_root/assets/VSelect-5V0L32ek.js.br +0 -0
  896. codex-1.8.0a8/codex/static_root/assets/VSelect-5V0L32ek.js.gz +0 -0
  897. codex-1.8.0a8/codex/static_root/assets/VSelect-DQPZyfSb.57477277e7dd.css +0 -1
  898. codex-1.8.0a8/codex/static_root/assets/VSelect-DQPZyfSb.57477277e7dd.css.br +0 -0
  899. codex-1.8.0a8/codex/static_root/assets/VSelect-DQPZyfSb.57477277e7dd.css.gz +0 -0
  900. codex-1.8.0a8/codex/static_root/assets/VSelect-DQPZyfSb.css +0 -1
  901. codex-1.8.0a8/codex/static_root/assets/VSelect-DQPZyfSb.css.br +0 -0
  902. codex-1.8.0a8/codex/static_root/assets/VSelect-DQPZyfSb.css.gz +0 -0
  903. codex-1.8.0a8/codex/static_root/assets/VSelectionControl-DnfftqAx.556b8bb83bdc.js +0 -1
  904. codex-1.8.0a8/codex/static_root/assets/VSelectionControl-DnfftqAx.556b8bb83bdc.js.br +0 -0
  905. codex-1.8.0a8/codex/static_root/assets/VSelectionControl-DnfftqAx.556b8bb83bdc.js.gz +0 -0
  906. codex-1.8.0a8/codex/static_root/assets/VSelectionControl-DnfftqAx.js +0 -1
  907. codex-1.8.0a8/codex/static_root/assets/VSelectionControl-DnfftqAx.js.br +0 -0
  908. codex-1.8.0a8/codex/static_root/assets/VSelectionControl-DnfftqAx.js.gz +0 -0
  909. codex-1.8.0a8/codex/static_root/assets/VSelectionControl-RqBzwjYi.css +0 -1
  910. codex-1.8.0a8/codex/static_root/assets/VSelectionControl-RqBzwjYi.css.br +0 -0
  911. codex-1.8.0a8/codex/static_root/assets/VSelectionControl-RqBzwjYi.css.gz +0 -0
  912. codex-1.8.0a8/codex/static_root/assets/VSelectionControl-RqBzwjYi.ee7425525e63.css +0 -1
  913. codex-1.8.0a8/codex/static_root/assets/VSelectionControl-RqBzwjYi.ee7425525e63.css.br +0 -0
  914. codex-1.8.0a8/codex/static_root/assets/VSelectionControl-RqBzwjYi.ee7425525e63.css.gz +0 -0
  915. codex-1.8.0a8/codex/static_root/assets/VTable-CQyv0wyO.1740239d481b.css +0 -1
  916. codex-1.8.0a8/codex/static_root/assets/VTable-CQyv0wyO.1740239d481b.css.br +0 -0
  917. codex-1.8.0a8/codex/static_root/assets/VTable-CQyv0wyO.1740239d481b.css.gz +0 -0
  918. codex-1.8.0a8/codex/static_root/assets/VTable-CQyv0wyO.css +0 -1
  919. codex-1.8.0a8/codex/static_root/assets/VTable-CQyv0wyO.css.br +0 -0
  920. codex-1.8.0a8/codex/static_root/assets/VTable-CQyv0wyO.css.gz +0 -0
  921. codex-1.8.0a8/codex/static_root/assets/VTable-DwXTycqf.626c254120d6.js +0 -1
  922. codex-1.8.0a8/codex/static_root/assets/VTable-DwXTycqf.626c254120d6.js.br +0 -0
  923. codex-1.8.0a8/codex/static_root/assets/VTable-DwXTycqf.626c254120d6.js.gz +0 -0
  924. codex-1.8.0a8/codex/static_root/assets/VTable-DwXTycqf.js +0 -1
  925. codex-1.8.0a8/codex/static_root/assets/VTable-DwXTycqf.js.br +0 -0
  926. codex-1.8.0a8/codex/static_root/assets/VTable-DwXTycqf.js.gz +0 -0
  927. codex-1.8.0a8/codex/static_root/assets/VWindowItem-CRKodQol.663a9ed570f5.js +0 -1
  928. codex-1.8.0a8/codex/static_root/assets/VWindowItem-CRKodQol.663a9ed570f5.js.br +0 -0
  929. codex-1.8.0a8/codex/static_root/assets/VWindowItem-CRKodQol.663a9ed570f5.js.gz +0 -0
  930. codex-1.8.0a8/codex/static_root/assets/VWindowItem-CRKodQol.js +0 -1
  931. codex-1.8.0a8/codex/static_root/assets/VWindowItem-CRKodQol.js.br +0 -0
  932. codex-1.8.0a8/codex/static_root/assets/VWindowItem-CRKodQol.js.gz +0 -0
  933. codex-1.8.0a8/codex/static_root/assets/VWindowItem-ChYLiXSE.a9c679a2977e.css +0 -1
  934. codex-1.8.0a8/codex/static_root/assets/VWindowItem-ChYLiXSE.a9c679a2977e.css.br +0 -0
  935. codex-1.8.0a8/codex/static_root/assets/VWindowItem-ChYLiXSE.a9c679a2977e.css.gz +0 -0
  936. codex-1.8.0a8/codex/static_root/assets/VWindowItem-ChYLiXSE.css +0 -1
  937. codex-1.8.0a8/codex/static_root/assets/VWindowItem-ChYLiXSE.css.br +0 -0
  938. codex-1.8.0a8/codex/static_root/assets/VWindowItem-ChYLiXSE.css.gz +0 -0
  939. codex-1.8.0a8/codex/static_root/assets/admin-BqW0weON.8f6c13fd9ec2.js +0 -1
  940. codex-1.8.0a8/codex/static_root/assets/admin-BqW0weON.8f6c13fd9ec2.js.br +0 -0
  941. codex-1.8.0a8/codex/static_root/assets/admin-BqW0weON.8f6c13fd9ec2.js.gz +0 -0
  942. codex-1.8.0a8/codex/static_root/assets/admin-BqW0weON.js +0 -1
  943. codex-1.8.0a8/codex/static_root/assets/admin-BqW0weON.js.br +0 -0
  944. codex-1.8.0a8/codex/static_root/assets/admin-BqW0weON.js.gz +0 -0
  945. codex-1.8.0a8/codex/static_root/assets/admin-C2Ip50qb.1b25eed056ba.js +0 -1
  946. codex-1.8.0a8/codex/static_root/assets/admin-C2Ip50qb.1b25eed056ba.js.br +0 -0
  947. codex-1.8.0a8/codex/static_root/assets/admin-C2Ip50qb.1b25eed056ba.js.gz +0 -0
  948. codex-1.8.0a8/codex/static_root/assets/admin-C2Ip50qb.js +0 -1
  949. codex-1.8.0a8/codex/static_root/assets/admin-C2Ip50qb.js.br +0 -0
  950. codex-1.8.0a8/codex/static_root/assets/admin-C2Ip50qb.js.gz +0 -0
  951. codex-1.8.0a8/codex/static_root/assets/admin-DJCVf2PA.7ba26fd73264.css +0 -1
  952. codex-1.8.0a8/codex/static_root/assets/admin-DJCVf2PA.7ba26fd73264.css.br +0 -0
  953. codex-1.8.0a8/codex/static_root/assets/admin-DJCVf2PA.7ba26fd73264.css.gz +0 -0
  954. codex-1.8.0a8/codex/static_root/assets/admin-DJCVf2PA.css +0 -1
  955. codex-1.8.0a8/codex/static_root/assets/admin-DJCVf2PA.css.br +0 -0
  956. codex-1.8.0a8/codex/static_root/assets/admin-DJCVf2PA.css.gz +0 -0
  957. codex-1.8.0a8/codex/static_root/assets/admin-menu-BKYBVovM.8b2fd527feda.js +0 -1
  958. codex-1.8.0a8/codex/static_root/assets/admin-menu-BKYBVovM.8b2fd527feda.js.br +0 -0
  959. codex-1.8.0a8/codex/static_root/assets/admin-menu-BKYBVovM.8b2fd527feda.js.gz +0 -0
  960. codex-1.8.0a8/codex/static_root/assets/admin-menu-BKYBVovM.js +0 -1
  961. codex-1.8.0a8/codex/static_root/assets/admin-menu-BKYBVovM.js.br +0 -0
  962. codex-1.8.0a8/codex/static_root/assets/admin-menu-BKYBVovM.js.gz +0 -0
  963. codex-1.8.0a8/codex/static_root/assets/admin-menu-hpyUS8ku.18284a11084d.css +0 -1
  964. codex-1.8.0a8/codex/static_root/assets/admin-menu-hpyUS8ku.18284a11084d.css.br +0 -0
  965. codex-1.8.0a8/codex/static_root/assets/admin-menu-hpyUS8ku.18284a11084d.css.gz +0 -0
  966. codex-1.8.0a8/codex/static_root/assets/admin-menu-hpyUS8ku.css +0 -1
  967. codex-1.8.0a8/codex/static_root/assets/admin-menu-hpyUS8ku.css.br +0 -0
  968. codex-1.8.0a8/codex/static_root/assets/admin-menu-hpyUS8ku.css.gz +0 -0
  969. codex-1.8.0a8/codex/static_root/assets/admin-settings-button-progress-BcsRN1LK.bdc3ca33f5a9.js +0 -1
  970. codex-1.8.0a8/codex/static_root/assets/admin-settings-button-progress-BcsRN1LK.bdc3ca33f5a9.js.br +0 -3
  971. codex-1.8.0a8/codex/static_root/assets/admin-settings-button-progress-BcsRN1LK.bdc3ca33f5a9.js.gz +0 -0
  972. codex-1.8.0a8/codex/static_root/assets/admin-settings-button-progress-BcsRN1LK.js +0 -1
  973. codex-1.8.0a8/codex/static_root/assets/admin-settings-button-progress-BcsRN1LK.js.br +0 -3
  974. codex-1.8.0a8/codex/static_root/assets/admin-settings-button-progress-BcsRN1LK.js.gz +0 -0
  975. codex-1.8.0a8/codex/static_root/assets/browser-BxgjC3t-.ffdd3301600f.js +0 -1
  976. codex-1.8.0a8/codex/static_root/assets/browser-BxgjC3t-.ffdd3301600f.js.br +0 -0
  977. codex-1.8.0a8/codex/static_root/assets/browser-BxgjC3t-.ffdd3301600f.js.gz +0 -0
  978. codex-1.8.0a8/codex/static_root/assets/browser-BxgjC3t-.js +0 -1
  979. codex-1.8.0a8/codex/static_root/assets/browser-BxgjC3t-.js.br +0 -0
  980. codex-1.8.0a8/codex/static_root/assets/browser-BxgjC3t-.js.gz +0 -0
  981. codex-1.8.0a8/codex/static_root/assets/browser-Cdi7U5ku.bab9fccf0326.css +0 -1
  982. codex-1.8.0a8/codex/static_root/assets/browser-Cdi7U5ku.bab9fccf0326.css.br +0 -0
  983. codex-1.8.0a8/codex/static_root/assets/browser-Cdi7U5ku.bab9fccf0326.css.gz +0 -0
  984. codex-1.8.0a8/codex/static_root/assets/browser-Cdi7U5ku.css +0 -1
  985. codex-1.8.0a8/codex/static_root/assets/browser-Cdi7U5ku.css.br +0 -0
  986. codex-1.8.0a8/codex/static_root/assets/browser-Cdi7U5ku.css.gz +0 -0
  987. codex-1.8.0a8/codex/static_root/assets/change-password-dialog-HgA0CORX.1028163b5339.js +0 -1
  988. codex-1.8.0a8/codex/static_root/assets/change-password-dialog-HgA0CORX.1028163b5339.js.br +0 -0
  989. codex-1.8.0a8/codex/static_root/assets/change-password-dialog-HgA0CORX.1028163b5339.js.gz +0 -0
  990. codex-1.8.0a8/codex/static_root/assets/change-password-dialog-HgA0CORX.js +0 -1
  991. codex-1.8.0a8/codex/static_root/assets/change-password-dialog-HgA0CORX.js.br +0 -0
  992. codex-1.8.0a8/codex/static_root/assets/change-password-dialog-HgA0CORX.js.gz +0 -0
  993. codex-1.8.0a8/codex/static_root/assets/confirm-dialog-CxSqELz_.14faaeb29572.js +0 -1
  994. codex-1.8.0a8/codex/static_root/assets/confirm-dialog-CxSqELz_.14faaeb29572.js.br +0 -0
  995. codex-1.8.0a8/codex/static_root/assets/confirm-dialog-CxSqELz_.14faaeb29572.js.gz +0 -0
  996. codex-1.8.0a8/codex/static_root/assets/confirm-dialog-CxSqELz_.js +0 -1
  997. codex-1.8.0a8/codex/static_root/assets/confirm-dialog-CxSqELz_.js.br +0 -0
  998. codex-1.8.0a8/codex/static_root/assets/confirm-dialog-CxSqELz_.js.gz +0 -0
  999. codex-1.8.0a8/codex/static_root/assets/datetime-column-rZsFnTUM.d63b1f84c50e.js +0 -1
  1000. codex-1.8.0a8/codex/static_root/assets/datetime-column-rZsFnTUM.d63b1f84c50e.js.br +0 -0
  1001. codex-1.8.0a8/codex/static_root/assets/datetime-column-rZsFnTUM.d63b1f84c50e.js.gz +0 -0
  1002. codex-1.8.0a8/codex/static_root/assets/datetime-column-rZsFnTUM.js +0 -1
  1003. codex-1.8.0a8/codex/static_root/assets/datetime-column-rZsFnTUM.js.br +0 -0
  1004. codex-1.8.0a8/codex/static_root/assets/datetime-column-rZsFnTUM.js.gz +0 -0
  1005. codex-1.8.0a8/codex/static_root/assets/filter-CZcRVxSc.5d1d9164ac58.js +0 -1
  1006. codex-1.8.0a8/codex/static_root/assets/filter-CZcRVxSc.5d1d9164ac58.js.br +0 -0
  1007. codex-1.8.0a8/codex/static_root/assets/filter-CZcRVxSc.5d1d9164ac58.js.gz +0 -0
  1008. codex-1.8.0a8/codex/static_root/assets/filter-CZcRVxSc.js +0 -1
  1009. codex-1.8.0a8/codex/static_root/assets/filter-CZcRVxSc.js.br +0 -0
  1010. codex-1.8.0a8/codex/static_root/assets/filter-CZcRVxSc.js.gz +0 -0
  1011. codex-1.8.0a8/codex/static_root/assets/flag-tab-2Ll3YGPX.74f9a0136fb3.js +0 -1
  1012. codex-1.8.0a8/codex/static_root/assets/flag-tab-2Ll3YGPX.74f9a0136fb3.js.br +0 -0
  1013. codex-1.8.0a8/codex/static_root/assets/flag-tab-2Ll3YGPX.74f9a0136fb3.js.gz +0 -0
  1014. codex-1.8.0a8/codex/static_root/assets/flag-tab-2Ll3YGPX.js +0 -1
  1015. codex-1.8.0a8/codex/static_root/assets/flag-tab-2Ll3YGPX.js.br +0 -0
  1016. codex-1.8.0a8/codex/static_root/assets/flag-tab-2Ll3YGPX.js.gz +0 -0
  1017. codex-1.8.0a8/codex/static_root/assets/forwardRefs-BGipb1NY.101a28110d2a.js +0 -1
  1018. codex-1.8.0a8/codex/static_root/assets/forwardRefs-BGipb1NY.101a28110d2a.js.br +0 -0
  1019. codex-1.8.0a8/codex/static_root/assets/forwardRefs-BGipb1NY.101a28110d2a.js.gz +0 -0
  1020. codex-1.8.0a8/codex/static_root/assets/forwardRefs-BGipb1NY.js +0 -1
  1021. codex-1.8.0a8/codex/static_root/assets/forwardRefs-BGipb1NY.js.br +0 -0
  1022. codex-1.8.0a8/codex/static_root/assets/forwardRefs-BGipb1NY.js.gz +0 -0
  1023. codex-1.8.0a8/codex/static_root/assets/forwardRefs-B_sUWZn6.5114f206ca9c.css +0 -1
  1024. codex-1.8.0a8/codex/static_root/assets/forwardRefs-B_sUWZn6.5114f206ca9c.css.br +0 -0
  1025. codex-1.8.0a8/codex/static_root/assets/forwardRefs-B_sUWZn6.5114f206ca9c.css.gz +0 -0
  1026. codex-1.8.0a8/codex/static_root/assets/forwardRefs-B_sUWZn6.css +0 -1
  1027. codex-1.8.0a8/codex/static_root/assets/forwardRefs-B_sUWZn6.css.br +0 -0
  1028. codex-1.8.0a8/codex/static_root/assets/forwardRefs-B_sUWZn6.css.gz +0 -0
  1029. codex-1.8.0a8/codex/static_root/assets/group-tab-hByOodup.17ce8aae7db5.js +0 -1
  1030. codex-1.8.0a8/codex/static_root/assets/group-tab-hByOodup.17ce8aae7db5.js.br +0 -0
  1031. codex-1.8.0a8/codex/static_root/assets/group-tab-hByOodup.17ce8aae7db5.js.gz +0 -0
  1032. codex-1.8.0a8/codex/static_root/assets/group-tab-hByOodup.js +0 -1
  1033. codex-1.8.0a8/codex/static_root/assets/group-tab-hByOodup.js.br +0 -0
  1034. codex-1.8.0a8/codex/static_root/assets/group-tab-hByOodup.js.gz +0 -0
  1035. codex-1.8.0a8/codex/static_root/assets/http-error-BG99vdG1.b2db362dd13f.js +0 -1
  1036. codex-1.8.0a8/codex/static_root/assets/http-error-BG99vdG1.b2db362dd13f.js.br +0 -0
  1037. codex-1.8.0a8/codex/static_root/assets/http-error-BG99vdG1.b2db362dd13f.js.gz +0 -0
  1038. codex-1.8.0a8/codex/static_root/assets/http-error-BG99vdG1.js +0 -1
  1039. codex-1.8.0a8/codex/static_root/assets/http-error-BG99vdG1.js.br +0 -0
  1040. codex-1.8.0a8/codex/static_root/assets/http-error-BG99vdG1.js.gz +0 -0
  1041. codex-1.8.0a8/codex/static_root/assets/http-error-CB3k5P-n.82d886ac81c7.css +0 -1
  1042. codex-1.8.0a8/codex/static_root/assets/http-error-CB3k5P-n.82d886ac81c7.css.br +0 -0
  1043. codex-1.8.0a8/codex/static_root/assets/http-error-CB3k5P-n.82d886ac81c7.css.gz +0 -0
  1044. codex-1.8.0a8/codex/static_root/assets/http-error-CB3k5P-n.css +0 -1
  1045. codex-1.8.0a8/codex/static_root/assets/http-error-CB3k5P-n.css.br +0 -0
  1046. codex-1.8.0a8/codex/static_root/assets/http-error-CB3k5P-n.css.gz +0 -0
  1047. codex-1.8.0a8/codex/static_root/assets/index-ab7P5Bab.12abede3cd43.js +0 -1
  1048. codex-1.8.0a8/codex/static_root/assets/index-ab7P5Bab.12abede3cd43.js.br +0 -0
  1049. codex-1.8.0a8/codex/static_root/assets/index-ab7P5Bab.12abede3cd43.js.gz +0 -0
  1050. codex-1.8.0a8/codex/static_root/assets/index-ab7P5Bab.js +0 -1
  1051. codex-1.8.0a8/codex/static_root/assets/index-ab7P5Bab.js.br +0 -0
  1052. codex-1.8.0a8/codex/static_root/assets/index-ab7P5Bab.js.gz +0 -0
  1053. codex-1.8.0a8/codex/static_root/assets/library-tab-5StL67ei.0fad8998a237.css +0 -1
  1054. codex-1.8.0a8/codex/static_root/assets/library-tab-5StL67ei.0fad8998a237.css.br +0 -0
  1055. codex-1.8.0a8/codex/static_root/assets/library-tab-5StL67ei.0fad8998a237.css.gz +0 -0
  1056. codex-1.8.0a8/codex/static_root/assets/library-tab-5StL67ei.css +0 -1
  1057. codex-1.8.0a8/codex/static_root/assets/library-tab-5StL67ei.css.br +0 -0
  1058. codex-1.8.0a8/codex/static_root/assets/library-tab-5StL67ei.css.gz +0 -0
  1059. codex-1.8.0a8/codex/static_root/assets/library-tab-CbVRgrCk.4d5322f66c55.js +0 -1
  1060. codex-1.8.0a8/codex/static_root/assets/library-tab-CbVRgrCk.4d5322f66c55.js.br +0 -0
  1061. codex-1.8.0a8/codex/static_root/assets/library-tab-CbVRgrCk.4d5322f66c55.js.gz +0 -0
  1062. codex-1.8.0a8/codex/static_root/assets/library-tab-CbVRgrCk.js +0 -1
  1063. codex-1.8.0a8/codex/static_root/assets/library-tab-CbVRgrCk.js.br +0 -0
  1064. codex-1.8.0a8/codex/static_root/assets/library-tab-CbVRgrCk.js.gz +0 -0
  1065. codex-1.8.0a8/codex/static_root/assets/main-693Xq5cv.40008d4a0dcd.js +0 -39
  1066. codex-1.8.0a8/codex/static_root/assets/main-693Xq5cv.40008d4a0dcd.js.br +0 -0
  1067. codex-1.8.0a8/codex/static_root/assets/main-693Xq5cv.40008d4a0dcd.js.gz +0 -0
  1068. codex-1.8.0a8/codex/static_root/assets/main-693Xq5cv.js +0 -39
  1069. codex-1.8.0a8/codex/static_root/assets/main-693Xq5cv.js.br +0 -0
  1070. codex-1.8.0a8/codex/static_root/assets/main-693Xq5cv.js.gz +0 -0
  1071. codex-1.8.0a8/codex/static_root/assets/main-B8_0rUnw.a9be0875ae25.css +0 -5
  1072. codex-1.8.0a8/codex/static_root/assets/main-B8_0rUnw.a9be0875ae25.css.br +0 -0
  1073. codex-1.8.0a8/codex/static_root/assets/main-B8_0rUnw.a9be0875ae25.css.gz +0 -0
  1074. codex-1.8.0a8/codex/static_root/assets/main-B8_0rUnw.css +0 -5
  1075. codex-1.8.0a8/codex/static_root/assets/main-B8_0rUnw.css.br +0 -0
  1076. codex-1.8.0a8/codex/static_root/assets/main-B8_0rUnw.css.gz +0 -0
  1077. codex-1.8.0a8/codex/static_root/assets/pager-full-pdf-BjR2RW3n.89fde37b9a1e.js +0 -1
  1078. codex-1.8.0a8/codex/static_root/assets/pager-full-pdf-BjR2RW3n.89fde37b9a1e.js.br +0 -0
  1079. codex-1.8.0a8/codex/static_root/assets/pager-full-pdf-BjR2RW3n.89fde37b9a1e.js.gz +0 -0
  1080. codex-1.8.0a8/codex/static_root/assets/pager-full-pdf-BjR2RW3n.js +0 -1
  1081. codex-1.8.0a8/codex/static_root/assets/pager-full-pdf-BjR2RW3n.js.br +0 -0
  1082. codex-1.8.0a8/codex/static_root/assets/pager-full-pdf-BjR2RW3n.js.gz +0 -0
  1083. codex-1.8.0a8/codex/static_root/assets/pagination-toolbar-741OafNw.4f9155469274.css +0 -1
  1084. codex-1.8.0a8/codex/static_root/assets/pagination-toolbar-741OafNw.4f9155469274.css.br +0 -0
  1085. codex-1.8.0a8/codex/static_root/assets/pagination-toolbar-741OafNw.4f9155469274.css.gz +0 -0
  1086. codex-1.8.0a8/codex/static_root/assets/pagination-toolbar-741OafNw.css +0 -1
  1087. codex-1.8.0a8/codex/static_root/assets/pagination-toolbar-741OafNw.css.br +0 -0
  1088. codex-1.8.0a8/codex/static_root/assets/pagination-toolbar-741OafNw.css.gz +0 -0
  1089. codex-1.8.0a8/codex/static_root/assets/pagination-toolbar-BiRAGarK.78d10e3a792c.js +0 -1
  1090. codex-1.8.0a8/codex/static_root/assets/pagination-toolbar-BiRAGarK.78d10e3a792c.js.br +0 -0
  1091. codex-1.8.0a8/codex/static_root/assets/pagination-toolbar-BiRAGarK.78d10e3a792c.js.gz +0 -0
  1092. codex-1.8.0a8/codex/static_root/assets/pagination-toolbar-BiRAGarK.js +0 -1
  1093. codex-1.8.0a8/codex/static_root/assets/pagination-toolbar-BiRAGarK.js.br +0 -0
  1094. codex-1.8.0a8/codex/static_root/assets/pagination-toolbar-BiRAGarK.js.gz +0 -0
  1095. codex-1.8.0a8/codex/static_root/assets/pdf-doc-Cxhh9veI.23ae192282cc.js +0 -372
  1096. codex-1.8.0a8/codex/static_root/assets/pdf-doc-Cxhh9veI.23ae192282cc.js.br +0 -0
  1097. codex-1.8.0a8/codex/static_root/assets/pdf-doc-Cxhh9veI.23ae192282cc.js.gz +0 -0
  1098. codex-1.8.0a8/codex/static_root/assets/pdf-doc-Cxhh9veI.js +0 -372
  1099. codex-1.8.0a8/codex/static_root/assets/pdf-doc-Cxhh9veI.js.br +0 -0
  1100. codex-1.8.0a8/codex/static_root/assets/pdf-doc-Cxhh9veI.js.gz +0 -0
  1101. codex-1.8.0a8/codex/static_root/assets/reader-C_ekcGCq.61c8768ed7df.js +0 -2
  1102. codex-1.8.0a8/codex/static_root/assets/reader-C_ekcGCq.61c8768ed7df.js.br +0 -0
  1103. codex-1.8.0a8/codex/static_root/assets/reader-C_ekcGCq.61c8768ed7df.js.gz +0 -0
  1104. codex-1.8.0a8/codex/static_root/assets/reader-C_ekcGCq.js +0 -2
  1105. codex-1.8.0a8/codex/static_root/assets/reader-C_ekcGCq.js.br +0 -0
  1106. codex-1.8.0a8/codex/static_root/assets/reader-C_ekcGCq.js.gz +0 -0
  1107. codex-1.8.0a8/codex/static_root/assets/reader-HE07eoaG.8626eeb7c718.css +0 -1
  1108. codex-1.8.0a8/codex/static_root/assets/reader-HE07eoaG.8626eeb7c718.css.br +0 -0
  1109. codex-1.8.0a8/codex/static_root/assets/reader-HE07eoaG.8626eeb7c718.css.gz +0 -0
  1110. codex-1.8.0a8/codex/static_root/assets/reader-HE07eoaG.css +0 -1
  1111. codex-1.8.0a8/codex/static_root/assets/reader-HE07eoaG.css.br +0 -0
  1112. codex-1.8.0a8/codex/static_root/assets/reader-HE07eoaG.css.gz +0 -0
  1113. codex-1.8.0a8/codex/static_root/assets/relation-chips-BJa3zS3b.0fc59d112776.js +0 -1
  1114. codex-1.8.0a8/codex/static_root/assets/relation-chips-BJa3zS3b.0fc59d112776.js.br +0 -0
  1115. codex-1.8.0a8/codex/static_root/assets/relation-chips-BJa3zS3b.0fc59d112776.js.gz +0 -0
  1116. codex-1.8.0a8/codex/static_root/assets/relation-chips-BJa3zS3b.js +0 -1
  1117. codex-1.8.0a8/codex/static_root/assets/relation-chips-BJa3zS3b.js.br +0 -0
  1118. codex-1.8.0a8/codex/static_root/assets/relation-chips-BJa3zS3b.js.gz +0 -0
  1119. codex-1.8.0a8/codex/static_root/assets/relation-chips-CcFgPQOM.0b468249b62e.css +0 -1
  1120. codex-1.8.0a8/codex/static_root/assets/relation-chips-CcFgPQOM.0b468249b62e.css.br +0 -0
  1121. codex-1.8.0a8/codex/static_root/assets/relation-chips-CcFgPQOM.0b468249b62e.css.gz +0 -0
  1122. codex-1.8.0a8/codex/static_root/assets/relation-chips-CcFgPQOM.css +0 -1
  1123. codex-1.8.0a8/codex/static_root/assets/relation-chips-CcFgPQOM.css.br +0 -0
  1124. codex-1.8.0a8/codex/static_root/assets/relation-chips-CcFgPQOM.css.gz +0 -0
  1125. codex-1.8.0a8/codex/static_root/assets/settings-drawer-CpS_aX4Z.9d4d9533d033.css +0 -1
  1126. codex-1.8.0a8/codex/static_root/assets/settings-drawer-CpS_aX4Z.9d4d9533d033.css.br +0 -0
  1127. codex-1.8.0a8/codex/static_root/assets/settings-drawer-CpS_aX4Z.9d4d9533d033.css.gz +0 -0
  1128. codex-1.8.0a8/codex/static_root/assets/settings-drawer-CpS_aX4Z.css +0 -1
  1129. codex-1.8.0a8/codex/static_root/assets/settings-drawer-CpS_aX4Z.css.br +0 -0
  1130. codex-1.8.0a8/codex/static_root/assets/settings-drawer-CpS_aX4Z.css.gz +0 -0
  1131. codex-1.8.0a8/codex/static_root/assets/settings-drawer-_3XwKnOZ.d2fca6defe05.js +0 -2
  1132. codex-1.8.0a8/codex/static_root/assets/settings-drawer-_3XwKnOZ.d2fca6defe05.js.br +0 -0
  1133. codex-1.8.0a8/codex/static_root/assets/settings-drawer-_3XwKnOZ.d2fca6defe05.js.gz +0 -0
  1134. codex-1.8.0a8/codex/static_root/assets/settings-drawer-_3XwKnOZ.js +0 -2
  1135. codex-1.8.0a8/codex/static_root/assets/settings-drawer-_3XwKnOZ.js.br +0 -0
  1136. codex-1.8.0a8/codex/static_root/assets/settings-drawer-_3XwKnOZ.js.gz +0 -0
  1137. codex-1.8.0a8/codex/static_root/assets/ssrBoot-DYCTuClQ.b44e73e1499c.js +0 -1
  1138. codex-1.8.0a8/codex/static_root/assets/ssrBoot-DYCTuClQ.b44e73e1499c.js.br +0 -0
  1139. codex-1.8.0a8/codex/static_root/assets/ssrBoot-DYCTuClQ.b44e73e1499c.js.gz +0 -0
  1140. codex-1.8.0a8/codex/static_root/assets/ssrBoot-DYCTuClQ.js +0 -1
  1141. codex-1.8.0a8/codex/static_root/assets/ssrBoot-DYCTuClQ.js.br +0 -0
  1142. codex-1.8.0a8/codex/static_root/assets/ssrBoot-DYCTuClQ.js.gz +0 -0
  1143. codex-1.8.0a8/codex/static_root/assets/stats-tab-Bm_-Ryds.10af923ccdf8.js +0 -1
  1144. codex-1.8.0a8/codex/static_root/assets/stats-tab-Bm_-Ryds.10af923ccdf8.js.br +0 -0
  1145. codex-1.8.0a8/codex/static_root/assets/stats-tab-Bm_-Ryds.10af923ccdf8.js.gz +0 -0
  1146. codex-1.8.0a8/codex/static_root/assets/stats-tab-Bm_-Ryds.js +0 -1
  1147. codex-1.8.0a8/codex/static_root/assets/stats-tab-Bm_-Ryds.js.br +0 -0
  1148. codex-1.8.0a8/codex/static_root/assets/stats-tab-Bm_-Ryds.js.gz +0 -0
  1149. codex-1.8.0a8/codex/static_root/assets/stats-tab-Dpqh5pF9.8dba36f90032.css +0 -1
  1150. codex-1.8.0a8/codex/static_root/assets/stats-tab-Dpqh5pF9.8dba36f90032.css.br +0 -0
  1151. codex-1.8.0a8/codex/static_root/assets/stats-tab-Dpqh5pF9.8dba36f90032.css.gz +0 -0
  1152. codex-1.8.0a8/codex/static_root/assets/stats-tab-Dpqh5pF9.css +0 -1
  1153. codex-1.8.0a8/codex/static_root/assets/stats-tab-Dpqh5pF9.css.br +0 -0
  1154. codex-1.8.0a8/codex/static_root/assets/stats-tab-Dpqh5pF9.css.gz +0 -0
  1155. codex-1.8.0a8/codex/static_root/assets/task-tab-CW4DQ3KN.81812f9208e5.css +0 -1
  1156. codex-1.8.0a8/codex/static_root/assets/task-tab-CW4DQ3KN.81812f9208e5.css.br +0 -2
  1157. codex-1.8.0a8/codex/static_root/assets/task-tab-CW4DQ3KN.81812f9208e5.css.gz +0 -0
  1158. codex-1.8.0a8/codex/static_root/assets/task-tab-CW4DQ3KN.css +0 -1
  1159. codex-1.8.0a8/codex/static_root/assets/task-tab-CW4DQ3KN.css.br +0 -2
  1160. codex-1.8.0a8/codex/static_root/assets/task-tab-CW4DQ3KN.css.gz +0 -0
  1161. codex-1.8.0a8/codex/static_root/assets/task-tab-DdFZN_NF.2fa5c14c097a.js +0 -1
  1162. codex-1.8.0a8/codex/static_root/assets/task-tab-DdFZN_NF.2fa5c14c097a.js.br +0 -0
  1163. codex-1.8.0a8/codex/static_root/assets/task-tab-DdFZN_NF.2fa5c14c097a.js.gz +0 -0
  1164. codex-1.8.0a8/codex/static_root/assets/task-tab-DdFZN_NF.js +0 -1
  1165. codex-1.8.0a8/codex/static_root/assets/task-tab-DdFZN_NF.js.br +0 -0
  1166. codex-1.8.0a8/codex/static_root/assets/task-tab-DdFZN_NF.js.gz +0 -0
  1167. codex-1.8.0a8/codex/static_root/assets/unauthorized-BBwsmi0O.19d4882b821d.css +0 -1
  1168. codex-1.8.0a8/codex/static_root/assets/unauthorized-BBwsmi0O.19d4882b821d.css.br +0 -0
  1169. codex-1.8.0a8/codex/static_root/assets/unauthorized-BBwsmi0O.19d4882b821d.css.gz +0 -0
  1170. codex-1.8.0a8/codex/static_root/assets/unauthorized-BBwsmi0O.css +0 -1
  1171. codex-1.8.0a8/codex/static_root/assets/unauthorized-BBwsmi0O.css.br +0 -0
  1172. codex-1.8.0a8/codex/static_root/assets/unauthorized-BBwsmi0O.css.gz +0 -0
  1173. codex-1.8.0a8/codex/static_root/assets/unauthorized-C7QkM-2L.c4ab0c298f6f.js +0 -1
  1174. codex-1.8.0a8/codex/static_root/assets/unauthorized-C7QkM-2L.c4ab0c298f6f.js.br +0 -0
  1175. codex-1.8.0a8/codex/static_root/assets/unauthorized-C7QkM-2L.c4ab0c298f6f.js.gz +0 -0
  1176. codex-1.8.0a8/codex/static_root/assets/unauthorized-C7QkM-2L.js +0 -1
  1177. codex-1.8.0a8/codex/static_root/assets/unauthorized-C7QkM-2L.js.br +0 -0
  1178. codex-1.8.0a8/codex/static_root/assets/unauthorized-C7QkM-2L.js.gz +0 -0
  1179. codex-1.8.0a8/codex/static_root/assets/user-tab-GSZppBHI.fcf50d91004a.js +0 -1
  1180. codex-1.8.0a8/codex/static_root/assets/user-tab-GSZppBHI.fcf50d91004a.js.br +0 -0
  1181. codex-1.8.0a8/codex/static_root/assets/user-tab-GSZppBHI.fcf50d91004a.js.gz +0 -0
  1182. codex-1.8.0a8/codex/static_root/assets/user-tab-GSZppBHI.js +0 -1
  1183. codex-1.8.0a8/codex/static_root/assets/user-tab-GSZppBHI.js.br +0 -0
  1184. codex-1.8.0a8/codex/static_root/assets/user-tab-GSZppBHI.js.gz +0 -0
  1185. codex-1.8.0a8/codex/static_root/img/missing-cover-165.f4bb7740084c.webp +0 -0
  1186. codex-1.8.0a8/codex/static_root/img/missing-cover-165.webp +0 -0
  1187. codex-1.8.0a8/codex/static_root/manifest.27f259e865a0.json +0 -760
  1188. codex-1.8.0a8/codex/static_root/manifest.27f259e865a0.json.br +0 -0
  1189. codex-1.8.0a8/codex/static_root/manifest.27f259e865a0.json.gz +0 -0
  1190. codex-1.8.0a8/codex/static_root/manifest.json +0 -760
  1191. codex-1.8.0a8/codex/static_root/manifest.json.br +0 -0
  1192. codex-1.8.0a8/codex/static_root/manifest.json.gz +0 -0
  1193. codex-1.8.0a8/codex/static_root/staticfiles.json +0 -1
  1194. codex-1.8.0a8/codex/static_src/img/.picopt_treestamps.yaml +0 -19
  1195. codex-1.8.0a8/codex/static_src/img/missing-cover-165.webp +0 -0
  1196. codex-1.8.0a8/codex/templates/headers-icons.html +0 -10
  1197. codex-1.8.0a8/codex/templates/pwa/headers.html +0 -17
  1198. codex-1.8.0a8/codex/templates/pwa/serviceworker.js +0 -46
  1199. codex-1.8.0a8/codex/urls/root.py +0 -43
  1200. codex-1.8.0a8/codex/util.py +0 -29
  1201. codex-1.8.0a8/codex/views/browser/annotate/order.py +0 -273
  1202. codex-1.8.0a8/codex/views/browser/bookmark.py +0 -58
  1203. codex-1.8.0a8/codex/views/browser/cover.py +0 -162
  1204. codex-1.8.0a8/codex/views/browser/filters/filter.py +0 -65
  1205. codex-1.8.0a8/codex/views/browser/filters/search/field/column.py +0 -57
  1206. codex-1.8.0a8/codex/views/browser/filters/search/field/expression.py +0 -174
  1207. codex-1.8.0a8/codex/views/browser/filters/search/parse.py +0 -235
  1208. codex-1.8.0a8/codex/views/browser/group_mtime.py +0 -86
  1209. codex-1.8.0a8/codex/views/browser/params.py +0 -51
  1210. codex-1.8.0a8/codex/views/browser/settings.py +0 -80
  1211. codex-1.8.0a8/codex/views/reader/page.py +0 -126
  1212. codex-1.8.0a8/codex/views/reader/params.py +0 -71
  1213. codex-1.8.0a8/codex/views/session.py +0 -138
  1214. codex-1.8.0a8/codex/views/settings.py +0 -42
  1215. codex-1.8.0a8/codex/views/util.py +0 -56
  1216. codex-1.8.0a8/codex/websockets/consumers.py +0 -53
  1217. codex-1.8.0a8/pyproject.toml +0 -390
  1218. codex-1.8.0a8/tests/files/comicbox-2-example.cbz +0 -0
  1219. codex-1.8.0a8/tests/files/comicbox-2-update.cbz +0 -0
  1220. codex-1.8.0a8/tests/files/comicbox.example.yaml +0 -144
  1221. codex-1.8.0a8/tests/files/comicbox.yaml +0 -144
  1222. codex-1.8.0a8/tests/importer/test_basic.py +0 -1409
  1223. codex-1.8.0a8/tests/importer/test_update_all.py +0 -718
  1224. codex-1.8.0a8/tests/importer/test_update_none.py +0 -71
  1225. {codex-1.8.0a8 → codex-1.8.18}/codex/applications/__init__.py +0 -0
  1226. {codex-1.8.0a8 → codex-1.8.18}/codex/applications/lifespan.py +0 -0
  1227. {codex-1.8.0a8 → codex-1.8.18}/codex/asgi.py +0 -0
  1228. {codex-1.8.0a8 → codex-1.8.18}/codex/choices/__init__.py +0 -0
  1229. {codex-1.8.0a8 → codex-1.8.18}/codex/choices/browser.py +0 -0
  1230. {codex-1.8.0a8 → codex-1.8.18}/codex/choices/notifications.py +0 -0
  1231. {codex-1.8.0a8 → codex-1.8.18}/codex/choices/reader.py +0 -0
  1232. {codex-1.8.0a8 → codex-1.8.18}/codex/choices/search.py +0 -0
  1233. {codex-1.8.0a8 → codex-1.8.18}/codex/choices/statii.py +0 -0
  1234. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/README.md +0 -0
  1235. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/__init__.py +0 -0
  1236. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/bookmark/__init__.py +0 -0
  1237. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/bookmark/bookmarkd.py +0 -0
  1238. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/bookmark/update.py +0 -0
  1239. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/bookmark/user_active.py +0 -0
  1240. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/covers/__init__.py +0 -0
  1241. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/covers/coverd.py +0 -0
  1242. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/covers/create.py +0 -0
  1243. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/covers/path.py +0 -0
  1244. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/covers/purge.py +0 -0
  1245. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/covers/status.py +0 -0
  1246. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/cron/__init__.py +0 -0
  1247. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/cron/crond.py +0 -0
  1248. {codex-1.8.0a8/codex/librarian/watchdog → codex-1.8.18/codex/librarian}/memory.py +0 -0
  1249. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/mp_queue.py +0 -0
  1250. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/notifier/__init__.py +0 -0
  1251. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/notifier/notifierd.py +0 -0
  1252. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/notifier/tasks.py +0 -0
  1253. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/restarter/__init__.py +0 -0
  1254. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/restarter/status.py +0 -0
  1255. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/__init__.py +0 -0
  1256. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/importer/__init__.py +0 -0
  1257. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/importer/create/__init__.py +0 -0
  1258. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/importer/create/const.py +0 -0
  1259. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/importer/create/covers.py +0 -0
  1260. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/importer/create/folders.py +0 -0
  1261. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/importer/create/foreign_keys.py +0 -0
  1262. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/importer/create/link_fks.py +0 -0
  1263. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/importer/delete/__init__.py +0 -0
  1264. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/importer/delete/covers.py +0 -0
  1265. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/importer/failed/__init__.py +0 -0
  1266. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/importer/failed/create.py +0 -0
  1267. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/importer/failed/failed.py +0 -0
  1268. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/importer/failed/query.py +0 -0
  1269. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/importer/finish.py +0 -0
  1270. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/importer/importer.py +0 -0
  1271. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/importer/link/__init__.py +0 -0
  1272. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/importer/link/const.py +0 -0
  1273. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/importer/link/covers.py +0 -0
  1274. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/importer/link/sum.py +0 -0
  1275. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/importer/moved/__init__.py +0 -0
  1276. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/importer/moved/comics.py +0 -0
  1277. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/importer/moved/covers.py +0 -0
  1278. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/importer/moved/folders.py +0 -0
  1279. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/importer/query/__init__.py +0 -0
  1280. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/importer/query/covers.py +0 -0
  1281. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/importer/query/filters.py +0 -0
  1282. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/importer/query/links.py +0 -0
  1283. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/importer/query/links_fk.py +0 -0
  1284. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/importer/query/links_m2m.py +0 -0
  1285. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/importer/query/update_fks.py +0 -0
  1286. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/importer/read/__init__.py +0 -0
  1287. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/importer/read/folders.py +0 -0
  1288. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/importer/read/many_to_many.py +0 -0
  1289. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/importer/search/__init__.py +0 -0
  1290. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/importer/statii/__init__.py +0 -0
  1291. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/importer/statii/create.py +0 -0
  1292. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/importer/statii/delete.py +0 -0
  1293. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/importer/statii/failed.py +0 -0
  1294. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/importer/statii/link.py +0 -0
  1295. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/importer/statii/moved.py +0 -0
  1296. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/importer/statii/query.py +0 -0
  1297. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/importer/statii/read.py +0 -0
  1298. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/importer/statii/search.py +0 -0
  1299. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/importer/status.py +0 -0
  1300. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/janitor/__init__.py +0 -0
  1301. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/janitor/cleanup.py +0 -0
  1302. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/janitor/failed_imports.py +0 -0
  1303. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/janitor/janitor.py +0 -0
  1304. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/janitor/scheduled_time.py +0 -0
  1305. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/janitor/status.py +0 -0
  1306. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/janitor/tasks.py +0 -0
  1307. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/janitor/vacuum.py +0 -0
  1308. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/search/__init__.py +0 -0
  1309. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/search/handler.py +0 -0
  1310. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/search/status.py +0 -0
  1311. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/search/tasks.py +0 -0
  1312. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/scribe/status.py +0 -0
  1313. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/tasks.py +0 -0
  1314. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/telemeter/__init__.py +0 -0
  1315. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/telemeter/stats.py +0 -0
  1316. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/telemeter/tasks.py +0 -0
  1317. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/telemeter/telemeter.py +0 -0
  1318. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/watchdog/README.md +0 -0
  1319. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/watchdog/__init__.py +0 -0
  1320. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/watchdog/const.py +0 -0
  1321. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/watchdog/dir_snapshot_diff.py +0 -0
  1322. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/watchdog/events.py +0 -0
  1323. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/watchdog/handlers.py +0 -0
  1324. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/watchdog/observers.py +0 -0
  1325. {codex-1.8.0a8 → codex-1.8.18}/codex/librarian/watchdog/status.py +0 -0
  1326. {codex-1.8.0a8 → codex-1.8.18}/codex/middleware.py +0 -0
  1327. {codex-1.8.0a8 → codex-1.8.18}/codex/migrations/0001_init.py +0 -0
  1328. {codex-1.8.0a8 → codex-1.8.18}/codex/migrations/0002_auto_20200826_0622.py +0 -0
  1329. {codex-1.8.0a8 → codex-1.8.18}/codex/migrations/0003_auto_20200831_2033.py +0 -0
  1330. {codex-1.8.0a8 → codex-1.8.18}/codex/migrations/0004_failedimport.py +0 -0
  1331. {codex-1.8.0a8 → codex-1.8.18}/codex/migrations/0005_auto_20200918_0146.py +0 -0
  1332. {codex-1.8.0a8 → codex-1.8.18}/codex/migrations/0006_update_default_names_and_remove_duplicate_comics.py +0 -0
  1333. {codex-1.8.0a8 → codex-1.8.18}/codex/migrations/0007_auto_20211210_1710.py +0 -0
  1334. {codex-1.8.0a8 → codex-1.8.18}/codex/migrations/0008_alter_comic_created_at_alter_comic_format_and_more.py +0 -0
  1335. {codex-1.8.0a8 → codex-1.8.18}/codex/migrations/0009_alter_comic_parent_folder.py +0 -0
  1336. {codex-1.8.0a8 → codex-1.8.18}/codex/migrations/0010_haystack.py +0 -0
  1337. {codex-1.8.0a8 → codex-1.8.18}/codex/migrations/0011_library_groups_and_metadata_changes.py +0 -0
  1338. {codex-1.8.0a8 → codex-1.8.18}/codex/migrations/0012_rename_description_comic_comments.py +0 -0
  1339. {codex-1.8.0a8 → codex-1.8.18}/codex/migrations/0013_int_issue_count_longer_charfields.py +0 -0
  1340. {codex-1.8.0a8 → codex-1.8.18}/codex/migrations/0014_pdf_issue_suffix_remove_cover_image_sort_name.py +0 -0
  1341. {codex-1.8.0a8 → codex-1.8.18}/codex/migrations/0015_link_comics_to_top_level_folders.py +0 -0
  1342. {codex-1.8.0a8 → codex-1.8.18}/codex/migrations/0016_remove_comic_cover_path_librarianstatus.py +0 -0
  1343. {codex-1.8.0a8 → codex-1.8.18}/codex/migrations/0017_alter_timestamp_options_alter_adminflag_name_and_more.py +0 -0
  1344. {codex-1.8.0a8 → codex-1.8.18}/codex/migrations/0018_rename_userbookmark_bookmark.py +0 -0
  1345. {codex-1.8.0a8 → codex-1.8.18}/codex/migrations/0019_delete_queuejob.py +0 -0
  1346. {codex-1.8.0a8 → codex-1.8.18}/codex/migrations/0020_remove_search_tables.py +0 -0
  1347. {codex-1.8.0a8 → codex-1.8.18}/codex/migrations/0021_bookmark_fit_to_choices_read_in_reverse.py +0 -0
  1348. {codex-1.8.0a8 → codex-1.8.18}/codex/migrations/0022_bookmark_vertical_useractive_null_statuses.py +0 -0
  1349. {codex-1.8.0a8 → codex-1.8.18}/codex/migrations/0023_rename_credit_creator_and_more.py +0 -0
  1350. {codex-1.8.0a8 → codex-1.8.18}/codex/migrations/0024_comic_gtin_comic_story_arc_number.py +0 -0
  1351. {codex-1.8.0a8 → codex-1.8.18}/codex/migrations/0025_add_story_arc_number.py +0 -0
  1352. {codex-1.8.0a8 → codex-1.8.18}/codex/migrations/0026_comicbox_1.py +0 -0
  1353. {codex-1.8.0a8 → codex-1.8.18}/codex/migrations/0027_import_order_and_covers.py +0 -0
  1354. {codex-1.8.0a8 → codex-1.8.18}/codex/migrations/0028_telemeter.py +0 -0
  1355. {codex-1.8.0a8 → codex-1.8.18}/codex/migrations/0029_comicfts.py +0 -0
  1356. {codex-1.8.0a8 → codex-1.8.18}/codex/migrations/0030_nocase_collation_day_month_indexes_status_types.py +0 -0
  1357. {codex-1.8.0a8 → codex-1.8.18}/codex/migrations/0031_adminflag_banner.py +0 -0
  1358. {codex-1.8.0a8 → codex-1.8.18}/codex/migrations/0032_alter_librarianstatus_preactive.py +0 -0
  1359. {codex-1.8.0a8 → codex-1.8.18}/codex/migrations/0033_alter_librarianstatus_status_type.py +0 -0
  1360. {codex-1.8.0a8 → codex-1.8.18}/codex/migrations/__init__.py +0 -0
  1361. {codex-1.8.0a8 → codex-1.8.18}/codex/models/__init__.py +0 -0
  1362. {codex-1.8.0a8 → codex-1.8.18}/codex/models/admin.py +0 -0
  1363. {codex-1.8.0a8 → codex-1.8.18}/codex/models/base.py +0 -0
  1364. {codex-1.8.0a8 → codex-1.8.18}/codex/models/bookmark.py +0 -0
  1365. {codex-1.8.0a8 → codex-1.8.18}/codex/models/fields.py +0 -0
  1366. {codex-1.8.0a8 → codex-1.8.18}/codex/models/identifier.py +0 -0
  1367. {codex-1.8.0a8 → codex-1.8.18}/codex/models/library.py +0 -0
  1368. {codex-1.8.0a8 → codex-1.8.18}/codex/models/named.py +0 -0
  1369. {codex-1.8.0a8 → codex-1.8.18}/codex/models/paths.py +0 -0
  1370. {codex-1.8.0a8 → codex-1.8.18}/codex/models/query.py +0 -0
  1371. {codex-1.8.0a8 → codex-1.8.18}/codex/models/util.py +0 -0
  1372. {codex-1.8.0a8 → codex-1.8.18}/codex/serializers/README.md +0 -0
  1373. {codex-1.8.0a8 → codex-1.8.18}/codex/serializers/__init__.py +0 -0
  1374. {codex-1.8.0a8 → codex-1.8.18}/codex/serializers/admin/__init__.py +0 -0
  1375. {codex-1.8.0a8 → codex-1.8.18}/codex/serializers/admin/flags.py +0 -0
  1376. {codex-1.8.0a8 → codex-1.8.18}/codex/serializers/admin/groups.py +0 -0
  1377. {codex-1.8.0a8 → codex-1.8.18}/codex/serializers/admin/libraries.py +0 -0
  1378. {codex-1.8.0a8 → codex-1.8.18}/codex/serializers/admin/stats.py +0 -0
  1379. {codex-1.8.0a8 → codex-1.8.18}/codex/serializers/admin/users.py +0 -0
  1380. {codex-1.8.0a8 → codex-1.8.18}/codex/serializers/auth.py +0 -0
  1381. {codex-1.8.0a8 → codex-1.8.18}/codex/serializers/browser/__init__.py +0 -0
  1382. {codex-1.8.0a8 → codex-1.8.18}/codex/serializers/browser/filters.py +0 -0
  1383. {codex-1.8.0a8 → codex-1.8.18}/codex/serializers/browser/metadata.py +0 -0
  1384. {codex-1.8.0a8 → codex-1.8.18}/codex/serializers/browser/mixins.py +0 -0
  1385. {codex-1.8.0a8 → codex-1.8.18}/codex/serializers/browser/mtime.py +0 -0
  1386. {codex-1.8.0a8 → codex-1.8.18}/codex/serializers/browser/page.py +0 -0
  1387. {codex-1.8.0a8 → codex-1.8.18}/codex/serializers/fields/__init__.py +0 -0
  1388. {codex-1.8.0a8 → codex-1.8.18}/codex/serializers/fields/auth.py +0 -0
  1389. {codex-1.8.0a8 → codex-1.8.18}/codex/serializers/fields/base.py +0 -0
  1390. {codex-1.8.0a8 → codex-1.8.18}/codex/serializers/fields/browser.py +0 -0
  1391. {codex-1.8.0a8 → codex-1.8.18}/codex/serializers/fields/group.py +0 -0
  1392. {codex-1.8.0a8 → codex-1.8.18}/codex/serializers/fields/reader.py +0 -0
  1393. {codex-1.8.0a8 → codex-1.8.18}/codex/serializers/fields/sanitized.py +0 -0
  1394. {codex-1.8.0a8 → codex-1.8.18}/codex/serializers/fields/session.py +0 -0
  1395. {codex-1.8.0a8 → codex-1.8.18}/codex/serializers/fields/stats.py +0 -0
  1396. {codex-1.8.0a8 → codex-1.8.18}/codex/serializers/fields/vuetify.py +0 -0
  1397. {codex-1.8.0a8 → codex-1.8.18}/codex/serializers/homepage.py +0 -0
  1398. {codex-1.8.0a8 → codex-1.8.18}/codex/serializers/mixins.py +0 -0
  1399. {codex-1.8.0a8 → codex-1.8.18}/codex/serializers/models/__init__.py +0 -0
  1400. {codex-1.8.0a8 → codex-1.8.18}/codex/serializers/models/admin.py +0 -0
  1401. {codex-1.8.0a8 → codex-1.8.18}/codex/serializers/models/base.py +0 -0
  1402. {codex-1.8.0a8 → codex-1.8.18}/codex/serializers/models/bookmark.py +0 -0
  1403. {codex-1.8.0a8 → codex-1.8.18}/codex/serializers/models/comic.py +0 -0
  1404. {codex-1.8.0a8 → codex-1.8.18}/codex/serializers/models/groups.py +0 -0
  1405. {codex-1.8.0a8 → codex-1.8.18}/codex/serializers/models/named.py +0 -0
  1406. {codex-1.8.0a8 → codex-1.8.18}/codex/serializers/models/pycountry.py +0 -0
  1407. {codex-1.8.0a8 → codex-1.8.18}/codex/serializers/opds/__init__.py +0 -0
  1408. {codex-1.8.0a8 → codex-1.8.18}/codex/serializers/opds/authentication.py +0 -0
  1409. {codex-1.8.0a8 → codex-1.8.18}/codex/serializers/opds/urls.py +0 -0
  1410. {codex-1.8.0a8 → codex-1.8.18}/codex/serializers/opds/v1.py +0 -0
  1411. {codex-1.8.0a8 → codex-1.8.18}/codex/serializers/opds/v2/__init__.py +0 -0
  1412. {codex-1.8.0a8 → codex-1.8.18}/codex/serializers/opds/v2/facet.py +0 -0
  1413. {codex-1.8.0a8 → codex-1.8.18}/codex/serializers/opds/v2/feed.py +0 -0
  1414. {codex-1.8.0a8 → codex-1.8.18}/codex/serializers/opds/v2/links.py +0 -0
  1415. {codex-1.8.0a8 → codex-1.8.18}/codex/serializers/opds/v2/metadata.py +0 -0
  1416. {codex-1.8.0a8 → codex-1.8.18}/codex/serializers/opds/v2/progression.py +0 -0
  1417. {codex-1.8.0a8 → codex-1.8.18}/codex/serializers/opds/v2/publication.py +0 -0
  1418. {codex-1.8.0a8 → codex-1.8.18}/codex/serializers/opds/v2/unused.py +0 -0
  1419. {codex-1.8.0a8 → codex-1.8.18}/codex/serializers/reader.py +0 -0
  1420. {codex-1.8.0a8 → codex-1.8.18}/codex/serializers/redirect.py +0 -0
  1421. {codex-1.8.0a8 → codex-1.8.18}/codex/serializers/route.py +0 -0
  1422. {codex-1.8.0a8 → codex-1.8.18}/codex/serializers/settings.py +0 -0
  1423. {codex-1.8.0a8 → codex-1.8.18}/codex/serializers/versions.py +0 -0
  1424. {codex-1.8.0a8 → codex-1.8.18}/codex/settings/README.md +0 -0
  1425. {codex-1.8.0a8 → codex-1.8.18}/codex/settings/hypercorn.py +0 -0
  1426. {codex-1.8.0a8 → codex-1.8.18}/codex/settings/hypercorn.toml.default +0 -0
  1427. {codex-1.8.0a8 → codex-1.8.18}/codex/settings/secret_key.py +0 -0
  1428. {codex-1.8.0a8 → codex-1.8.18}/codex/settings/timezone.py +0 -0
  1429. {codex-1.8.0a8 → codex-1.8.18}/codex/settings/whitenoise.py +0 -0
  1430. {codex-1.8.0a8 → codex-1.8.18}/codex/signals/__init__.py +0 -0
  1431. {codex-1.8.0a8 → codex-1.8.18}/codex/signals/django_signals.py +0 -0
  1432. {codex-1.8.0a8 → codex-1.8.18}/codex/startup/registration.py +0 -0
  1433. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/VCheckbox-CvH8ekHL.016ed8d222c4.css +0 -0
  1434. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/VCheckbox-CvH8ekHL.016ed8d222c4.css.br +0 -0
  1435. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/VCheckbox-CvH8ekHL.016ed8d222c4.css.gz +0 -0
  1436. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/VCheckbox-CvH8ekHL.css +0 -0
  1437. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/VCheckbox-CvH8ekHL.css.br +0 -0
  1438. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/VCheckbox-CvH8ekHL.css.gz +0 -0
  1439. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/VForm-DxBt30-N.138c0b89b6fc.css +0 -0
  1440. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/VForm-DxBt30-N.138c0b89b6fc.css.br +0 -0
  1441. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/VForm-DxBt30-N.138c0b89b6fc.css.gz +0 -0
  1442. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/VForm-DxBt30-N.css +0 -0
  1443. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/VForm-DxBt30-N.css.br +0 -0
  1444. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/VForm-DxBt30-N.css.gz +0 -0
  1445. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/VRadioGroup-Cp9mZ7cb.8e3741381961.css +0 -0
  1446. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/VRadioGroup-Cp9mZ7cb.8e3741381961.css.br +0 -0
  1447. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/VRadioGroup-Cp9mZ7cb.8e3741381961.css.gz +0 -0
  1448. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/VRadioGroup-Cp9mZ7cb.css +0 -0
  1449. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/VRadioGroup-Cp9mZ7cb.css.br +0 -0
  1450. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/VRadioGroup-Cp9mZ7cb.css.gz +0 -0
  1451. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/admin-settings-button-progress-Cks9_KN-.a592809d4008.css +0 -0
  1452. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/admin-settings-button-progress-Cks9_KN-.css +0 -0
  1453. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/change-password-dialog-DL8UMjmX.526f97e577e7.css +0 -0
  1454. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/change-password-dialog-DL8UMjmX.526f97e577e7.css.br +0 -0
  1455. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/change-password-dialog-DL8UMjmX.526f97e577e7.css.gz +0 -0
  1456. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/change-password-dialog-DL8UMjmX.css +0 -0
  1457. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/change-password-dialog-DL8UMjmX.css.br +0 -0
  1458. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/change-password-dialog-DL8UMjmX.css.gz +0 -0
  1459. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/confirm-dialog-YfC8mRQA.be37e8f67e0f.css +0 -0
  1460. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/confirm-dialog-YfC8mRQA.css +0 -0
  1461. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/copy-to-clipboard-DoUvDJVx.bec27f144aca.js +0 -0
  1462. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/copy-to-clipboard-DoUvDJVx.bec27f144aca.js.br +0 -0
  1463. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/copy-to-clipboard-DoUvDJVx.js +0 -0
  1464. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/copy-to-clipboard-DoUvDJVx.js.br +0 -0
  1465. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/datetime-column-Bt7J1qEf.css +0 -0
  1466. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/datetime-column-Bt7J1qEf.css.br +0 -0
  1467. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/datetime-column-Bt7J1qEf.d83164b4d4cb.css +0 -0
  1468. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/datetime-column-Bt7J1qEf.d83164b4d4cb.css.br +0 -0
  1469. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/flag-tab-CESc_7Pq.2260edfa4c38.css +0 -0
  1470. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/flag-tab-CESc_7Pq.2260edfa4c38.css.br +0 -0
  1471. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/flag-tab-CESc_7Pq.2260edfa4c38.css.gz +0 -0
  1472. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/flag-tab-CESc_7Pq.css +0 -0
  1473. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/flag-tab-CESc_7Pq.css.br +0 -0
  1474. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/flag-tab-CESc_7Pq.css.gz +0 -0
  1475. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/group-tab-CQ_Qw6h8.078d0a9225ba.css +0 -0
  1476. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/group-tab-CQ_Qw6h8.078d0a9225ba.css.br +0 -0
  1477. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/group-tab-CQ_Qw6h8.078d0a9225ba.css.gz +0 -0
  1478. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/group-tab-CQ_Qw6h8.css +0 -0
  1479. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/group-tab-CQ_Qw6h8.css.br +0 -0
  1480. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/group-tab-CQ_Qw6h8.css.gz +0 -0
  1481. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/index-Czf-fUM7.50a7466d956f.css +0 -0
  1482. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/index-Czf-fUM7.50a7466d956f.css.br +0 -0
  1483. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/index-Czf-fUM7.50a7466d956f.css.gz +0 -0
  1484. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/index-Czf-fUM7.css +0 -0
  1485. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/index-Czf-fUM7.css.br +0 -0
  1486. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/index-Czf-fUM7.css.gz +0 -0
  1487. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/materialdesignicons-webfont-B7mPwVP_.6e435534bd35.ttf +0 -0
  1488. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/materialdesignicons-webfont-B7mPwVP_.6e435534bd35.ttf.br +0 -0
  1489. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/materialdesignicons-webfont-B7mPwVP_.6e435534bd35.ttf.gz +0 -0
  1490. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/materialdesignicons-webfont-B7mPwVP_.ttf +0 -0
  1491. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/materialdesignicons-webfont-B7mPwVP_.ttf.br +0 -0
  1492. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/materialdesignicons-webfont-B7mPwVP_.ttf.gz +0 -0
  1493. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/materialdesignicons-webfont-CSr8KVlo.8ced95a05e3c.eot +0 -0
  1494. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/materialdesignicons-webfont-CSr8KVlo.8ced95a05e3c.eot.br +0 -0
  1495. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/materialdesignicons-webfont-CSr8KVlo.8ced95a05e3c.eot.gz +0 -0
  1496. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/materialdesignicons-webfont-CSr8KVlo.eot +0 -0
  1497. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/materialdesignicons-webfont-CSr8KVlo.eot.br +0 -0
  1498. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/materialdesignicons-webfont-CSr8KVlo.eot.gz +0 -0
  1499. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/materialdesignicons-webfont-Dp5v-WZN.1d7bcee1b302.woff2 +0 -0
  1500. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/materialdesignicons-webfont-Dp5v-WZN.woff2 +0 -0
  1501. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/materialdesignicons-webfont-PXm3-2wK.026b7ac9c43c.woff +0 -0
  1502. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/materialdesignicons-webfont-PXm3-2wK.woff +0 -0
  1503. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/pdf-doc-DxqOo2k2.42496ffbf35b.css +0 -0
  1504. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/pdf-doc-DxqOo2k2.42496ffbf35b.css.br +0 -0
  1505. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/pdf-doc-DxqOo2k2.42496ffbf35b.css.gz +0 -0
  1506. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/pdf-doc-DxqOo2k2.css +0 -0
  1507. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/pdf-doc-DxqOo2k2.css.br +0 -0
  1508. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/assets/pdf-doc-DxqOo2k2.css.gz +0 -0
  1509. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/folder.83168d8d3119.svg +0 -0
  1510. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/folder.83168d8d3119.svg.br +0 -0
  1511. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/folder.83168d8d3119.svg.gz +0 -0
  1512. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/folder.svg +0 -0
  1513. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/folder.svg.br +0 -0
  1514. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/folder.svg.gz +0 -0
  1515. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/imprint.3ca7a779b949.svg +0 -0
  1516. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/imprint.3ca7a779b949.svg.br +0 -0
  1517. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/imprint.3ca7a779b949.svg.gz +0 -0
  1518. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/imprint.svg +0 -0
  1519. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/imprint.svg.br +0 -0
  1520. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/imprint.svg.gz +0 -0
  1521. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/logo-32.5688944495bf.webp +0 -0
  1522. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/logo-32.webp +0 -0
  1523. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/logo-maskable-180.c58d966aa64e.webp +0 -0
  1524. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/logo-maskable-180.webp +0 -0
  1525. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/logo-maskable.aeef5c2fffc8.svg +0 -0
  1526. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/logo-maskable.aeef5c2fffc8.svg.br +0 -0
  1527. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/logo-maskable.aeef5c2fffc8.svg.gz +0 -0
  1528. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/logo-maskable.svg +0 -0
  1529. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/logo-maskable.svg.br +0 -0
  1530. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/logo-maskable.svg.gz +0 -0
  1531. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/logo.00c902973831.svg +0 -0
  1532. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/logo.00c902973831.svg.br +0 -0
  1533. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/logo.00c902973831.svg.gz +0 -0
  1534. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/logo.svg +0 -0
  1535. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/logo.svg.br +0 -0
  1536. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/logo.svg.gz +0 -0
  1537. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/missing-cover.7329518c5972.svg +0 -0
  1538. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/missing-cover.7329518c5972.svg.br +0 -0
  1539. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/missing-cover.7329518c5972.svg.gz +0 -0
  1540. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/missing-cover.svg +0 -0
  1541. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/missing-cover.svg.br +0 -0
  1542. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/missing-cover.svg.gz +0 -0
  1543. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/publisher.82d378fcd601.svg +0 -0
  1544. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/publisher.82d378fcd601.svg.br +0 -0
  1545. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/publisher.82d378fcd601.svg.gz +0 -0
  1546. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/publisher.svg +0 -0
  1547. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/publisher.svg.br +0 -0
  1548. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/publisher.svg.gz +0 -0
  1549. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/series.b092bbac0c2a.svg +0 -0
  1550. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/series.b092bbac0c2a.svg.br +0 -0
  1551. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/series.b092bbac0c2a.svg.gz +0 -0
  1552. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/series.svg +0 -0
  1553. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/series.svg.br +0 -0
  1554. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/series.svg.gz +0 -0
  1555. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/story-arc.884f7b1d95bd.svg +0 -0
  1556. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/story-arc.884f7b1d95bd.svg.br +0 -0
  1557. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/story-arc.884f7b1d95bd.svg.gz +0 -0
  1558. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/story-arc.svg +0 -0
  1559. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/story-arc.svg.br +0 -0
  1560. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/story-arc.svg.gz +0 -0
  1561. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/volume.516ec0c3018d.svg +0 -0
  1562. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/volume.516ec0c3018d.svg.br +0 -0
  1563. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/volume.516ec0c3018d.svg.gz +0 -0
  1564. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/volume.svg +0 -0
  1565. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/volume.svg.br +0 -0
  1566. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/img/volume.svg.gz +0 -0
  1567. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/pwa/offline.7bfaf9f94bf9.html +0 -0
  1568. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/pwa/offline.7bfaf9f94bf9.html.br +0 -0
  1569. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/pwa/offline.7bfaf9f94bf9.html.gz +0 -0
  1570. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/pwa/offline.html +0 -0
  1571. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/pwa/offline.html.br +0 -0
  1572. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/pwa/offline.html.gz +0 -0
  1573. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/css/bootstrap-theme.min.1d4b05b397c3.css +0 -0
  1574. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/css/bootstrap-theme.min.1d4b05b397c3.css.br +0 -0
  1575. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/css/bootstrap-theme.min.1d4b05b397c3.css.gz +0 -0
  1576. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/css/bootstrap-theme.min.css +0 -0
  1577. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/css/bootstrap-theme.min.css.51806092cc05.map +0 -0
  1578. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/css/bootstrap-theme.min.css.51806092cc05.map.br +0 -0
  1579. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/css/bootstrap-theme.min.css.51806092cc05.map.gz +0 -0
  1580. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/css/bootstrap-theme.min.css.br +0 -0
  1581. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/css/bootstrap-theme.min.css.gz +0 -0
  1582. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/css/bootstrap-theme.min.css.map +0 -0
  1583. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/css/bootstrap-theme.min.css.map.br +0 -0
  1584. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/css/bootstrap-theme.min.css.map.gz +0 -0
  1585. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/css/bootstrap-tweaks.css +0 -0
  1586. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/css/bootstrap-tweaks.css.br +0 -0
  1587. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/css/bootstrap-tweaks.css.gz +0 -0
  1588. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/css/bootstrap-tweaks.ee4ee6acf9eb.css +0 -0
  1589. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/css/bootstrap-tweaks.ee4ee6acf9eb.css.br +0 -0
  1590. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/css/bootstrap-tweaks.ee4ee6acf9eb.css.gz +0 -0
  1591. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/css/bootstrap.min.css +0 -0
  1592. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/css/bootstrap.min.css.br +0 -0
  1593. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/css/bootstrap.min.css.cafbda9c0e9e.map +0 -0
  1594. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/css/bootstrap.min.css.cafbda9c0e9e.map.br +0 -0
  1595. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/css/bootstrap.min.css.cafbda9c0e9e.map.gz +0 -0
  1596. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/css/bootstrap.min.css.gz +0 -0
  1597. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/css/bootstrap.min.css.map +0 -0
  1598. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/css/bootstrap.min.css.map.br +0 -0
  1599. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/css/bootstrap.min.css.map.gz +0 -0
  1600. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/css/bootstrap.min.f17d4516b026.css +0 -0
  1601. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/css/bootstrap.min.f17d4516b026.css.br +0 -0
  1602. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/css/bootstrap.min.f17d4516b026.css.gz +0 -0
  1603. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/css/default.789dfb5732d7.css +0 -0
  1604. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/css/default.789dfb5732d7.css.br +0 -0
  1605. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/css/default.789dfb5732d7.css.gz +0 -0
  1606. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/css/default.css +0 -0
  1607. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/css/default.css.br +0 -0
  1608. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/css/default.css.gz +0 -0
  1609. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/css/font-awesome-4.0.3.c1e1ea213abf.css +0 -0
  1610. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/css/font-awesome-4.0.3.c1e1ea213abf.css.br +0 -0
  1611. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/css/font-awesome-4.0.3.c1e1ea213abf.css.gz +0 -0
  1612. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/css/font-awesome-4.0.3.css +0 -0
  1613. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/css/font-awesome-4.0.3.css.br +0 -0
  1614. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/css/font-awesome-4.0.3.css.gz +0 -0
  1615. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/css/prettify.a987f72342ee.css +0 -0
  1616. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/css/prettify.a987f72342ee.css.br +0 -0
  1617. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/css/prettify.a987f72342ee.css.gz +0 -0
  1618. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/css/prettify.css +0 -0
  1619. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/css/prettify.css.br +0 -0
  1620. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/css/prettify.css.gz +0 -0
  1621. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/docs/css/base.css +0 -0
  1622. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/docs/css/base.css.br +0 -0
  1623. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/docs/css/base.css.gz +0 -0
  1624. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/docs/css/base.e630f8f4990e.css +0 -0
  1625. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/docs/css/base.e630f8f4990e.css.br +0 -0
  1626. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/docs/css/base.e630f8f4990e.css.gz +0 -0
  1627. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/docs/css/highlight.css +0 -0
  1628. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/docs/css/highlight.css.br +0 -0
  1629. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/docs/css/highlight.css.gz +0 -0
  1630. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/docs/css/highlight.e0e4d973c6d7.css +0 -0
  1631. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/docs/css/highlight.e0e4d973c6d7.css.br +0 -0
  1632. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/docs/css/highlight.e0e4d973c6d7.css.gz +0 -0
  1633. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/docs/css/jquery.json-view.min.a2e6beeb6710.css +0 -0
  1634. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/docs/css/jquery.json-view.min.a2e6beeb6710.css.br +0 -0
  1635. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/docs/css/jquery.json-view.min.a2e6beeb6710.css.gz +0 -0
  1636. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/docs/css/jquery.json-view.min.css +0 -0
  1637. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/docs/css/jquery.json-view.min.css.br +0 -0
  1638. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/docs/css/jquery.json-view.min.css.gz +0 -0
  1639. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/docs/img/favicon.5195b4d0f3eb.ico +0 -0
  1640. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/docs/img/favicon.5195b4d0f3eb.ico.br +0 -0
  1641. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/docs/img/favicon.5195b4d0f3eb.ico.gz +0 -0
  1642. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/docs/img/favicon.ico +0 -0
  1643. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/docs/img/favicon.ico.br +0 -0
  1644. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/docs/img/favicon.ico.gz +0 -0
  1645. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/docs/img/grid.a4b938cf382b.png +0 -0
  1646. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/docs/img/grid.png +0 -0
  1647. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/docs/js/api.18a5ba8a1bd8.js +0 -0
  1648. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/docs/js/api.18a5ba8a1bd8.js.br +0 -0
  1649. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/docs/js/api.18a5ba8a1bd8.js.gz +0 -0
  1650. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/docs/js/api.js +0 -0
  1651. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/docs/js/api.js.br +0 -0
  1652. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/docs/js/api.js.gz +0 -0
  1653. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/docs/js/highlight.pack.479b5f21dcba.js +0 -0
  1654. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/docs/js/highlight.pack.479b5f21dcba.js.br +0 -0
  1655. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/docs/js/highlight.pack.479b5f21dcba.js.gz +0 -0
  1656. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/docs/js/highlight.pack.js +0 -0
  1657. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/docs/js/highlight.pack.js.br +0 -0
  1658. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/docs/js/highlight.pack.js.gz +0 -0
  1659. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/docs/js/jquery.json-view.min.b7c2d6981377.js +0 -0
  1660. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/docs/js/jquery.json-view.min.b7c2d6981377.js.br +0 -0
  1661. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/docs/js/jquery.json-view.min.b7c2d6981377.js.gz +0 -0
  1662. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/docs/js/jquery.json-view.min.js +0 -0
  1663. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/docs/js/jquery.json-view.min.js.br +0 -0
  1664. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/docs/js/jquery.json-view.min.js.gz +0 -0
  1665. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/fonts/fontawesome-webfont.3293616ec0c6.woff +0 -0
  1666. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/fonts/fontawesome-webfont.83e37a11f9d7.svg +0 -0
  1667. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/fonts/fontawesome-webfont.83e37a11f9d7.svg.br +0 -0
  1668. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/fonts/fontawesome-webfont.83e37a11f9d7.svg.gz +0 -0
  1669. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/fonts/fontawesome-webfont.8b27bc96115c.eot +0 -0
  1670. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/fonts/fontawesome-webfont.dcb26c7239d8.ttf +0 -0
  1671. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/fonts/fontawesome-webfont.dcb26c7239d8.ttf.br +0 -0
  1672. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/fonts/fontawesome-webfont.dcb26c7239d8.ttf.gz +0 -0
  1673. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/fonts/fontawesome-webfont.eot +0 -0
  1674. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/fonts/fontawesome-webfont.svg +0 -0
  1675. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/fonts/fontawesome-webfont.svg.br +0 -0
  1676. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/fonts/fontawesome-webfont.svg.gz +0 -0
  1677. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/fonts/fontawesome-webfont.ttf +0 -0
  1678. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/fonts/fontawesome-webfont.ttf.br +0 -0
  1679. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/fonts/fontawesome-webfont.ttf.gz +0 -0
  1680. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/fonts/fontawesome-webfont.woff +0 -0
  1681. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/fonts/glyphicons-halflings-regular.08eda92397ae.svg +0 -0
  1682. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/fonts/glyphicons-halflings-regular.08eda92397ae.svg.br +0 -0
  1683. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/fonts/glyphicons-halflings-regular.08eda92397ae.svg.gz +0 -0
  1684. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/fonts/glyphicons-halflings-regular.448c34a56d69.woff2 +0 -0
  1685. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/fonts/glyphicons-halflings-regular.e18bbf611f2a.ttf +0 -0
  1686. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/fonts/glyphicons-halflings-regular.e18bbf611f2a.ttf.br +0 -0
  1687. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/fonts/glyphicons-halflings-regular.e18bbf611f2a.ttf.gz +0 -0
  1688. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/fonts/glyphicons-halflings-regular.eot +0 -0
  1689. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/fonts/glyphicons-halflings-regular.f4769f9bdb74.eot +0 -0
  1690. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/fonts/glyphicons-halflings-regular.fa2772327f55.woff +0 -0
  1691. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/fonts/glyphicons-halflings-regular.svg +0 -0
  1692. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/fonts/glyphicons-halflings-regular.svg.br +0 -0
  1693. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/fonts/glyphicons-halflings-regular.svg.gz +0 -0
  1694. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/fonts/glyphicons-halflings-regular.ttf +0 -0
  1695. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/fonts/glyphicons-halflings-regular.ttf.br +0 -0
  1696. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/fonts/glyphicons-halflings-regular.ttf.gz +0 -0
  1697. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/fonts/glyphicons-halflings-regular.woff +0 -0
  1698. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/fonts/glyphicons-halflings-regular.woff2 +0 -0
  1699. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/img/glyphicons-halflings-white.9bbc6e960299.png +0 -0
  1700. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/img/glyphicons-halflings-white.png +0 -0
  1701. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/img/glyphicons-halflings.90233c9067e9.png +0 -0
  1702. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/img/glyphicons-halflings.png +0 -0
  1703. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/img/grid.a4b938cf382b.png +0 -0
  1704. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/img/grid.png +0 -0
  1705. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/js/ajax-form.4e1cdcb7acab.js +0 -0
  1706. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/js/ajax-form.4e1cdcb7acab.js.br +0 -0
  1707. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/js/ajax-form.4e1cdcb7acab.js.gz +0 -0
  1708. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/js/ajax-form.js +0 -0
  1709. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/js/ajax-form.js.br +0 -0
  1710. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/js/ajax-form.js.gz +0 -0
  1711. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/js/bootstrap.min.2f34b630ffe3.js +0 -0
  1712. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/js/bootstrap.min.2f34b630ffe3.js.br +0 -0
  1713. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/js/bootstrap.min.2f34b630ffe3.js.gz +0 -0
  1714. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/js/bootstrap.min.js +0 -0
  1715. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/js/bootstrap.min.js.br +0 -0
  1716. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/js/bootstrap.min.js.gz +0 -0
  1717. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/js/coreapi-0.1.1.8851fb9336c9.js +0 -0
  1718. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/js/coreapi-0.1.1.8851fb9336c9.js.br +0 -0
  1719. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/js/coreapi-0.1.1.8851fb9336c9.js.gz +0 -0
  1720. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/js/coreapi-0.1.1.js +0 -0
  1721. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/js/coreapi-0.1.1.js.br +0 -0
  1722. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/js/coreapi-0.1.1.js.gz +0 -0
  1723. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/js/csrf.455080a7b2ce.js +0 -0
  1724. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/js/csrf.455080a7b2ce.js.br +0 -0
  1725. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/js/csrf.455080a7b2ce.js.gz +0 -0
  1726. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/js/csrf.js +0 -0
  1727. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/js/csrf.js.br +0 -0
  1728. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/js/csrf.js.gz +0 -0
  1729. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/js/default.5b08897dbdc3.js +0 -0
  1730. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/js/default.5b08897dbdc3.js.br +0 -0
  1731. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/js/default.5b08897dbdc3.js.gz +0 -0
  1732. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/js/default.js +0 -0
  1733. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/js/default.js.br +0 -0
  1734. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/js/default.js.gz +0 -0
  1735. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/js/jquery-3.7.1.min.2c872dbe60f4.js +0 -0
  1736. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/js/jquery-3.7.1.min.2c872dbe60f4.js.br +0 -0
  1737. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/js/jquery-3.7.1.min.2c872dbe60f4.js.gz +0 -0
  1738. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/js/jquery-3.7.1.min.js +0 -0
  1739. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/js/jquery-3.7.1.min.js.br +0 -0
  1740. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/js/jquery-3.7.1.min.js.gz +0 -0
  1741. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/js/load-ajax-form.8cdb3a9f3466.js +0 -0
  1742. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/js/load-ajax-form.8cdb3a9f3466.js.br +0 -0
  1743. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/js/load-ajax-form.js +0 -0
  1744. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/js/load-ajax-form.js.br +0 -0
  1745. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/js/prettify-min.709bfcc456c6.js +0 -0
  1746. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/js/prettify-min.709bfcc456c6.js.br +0 -0
  1747. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/js/prettify-min.709bfcc456c6.js.gz +0 -0
  1748. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/js/prettify-min.js +0 -0
  1749. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/js/prettify-min.js.br +0 -0
  1750. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/rest_framework/js/prettify-min.js.gz +0 -0
  1751. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/robots.b6216d61c03e.txt +0 -0
  1752. {codex-1.8.0a8 → codex-1.8.18}/codex/static_root/robots.txt +0 -0
  1753. {codex-1.8.0a8 → codex-1.8.18}/codex/static_src/img/folder.svg +0 -0
  1754. {codex-1.8.0a8 → codex-1.8.18}/codex/static_src/img/imprint.svg +0 -0
  1755. {codex-1.8.0a8 → codex-1.8.18}/codex/static_src/img/logo-32.webp +0 -0
  1756. {codex-1.8.0a8 → codex-1.8.18}/codex/static_src/img/logo-maskable-180.webp +0 -0
  1757. {codex-1.8.0a8 → codex-1.8.18}/codex/static_src/img/logo-maskable.svg +0 -0
  1758. {codex-1.8.0a8 → codex-1.8.18}/codex/static_src/img/logo.svg +0 -0
  1759. {codex-1.8.0a8 → codex-1.8.18}/codex/static_src/img/missing-cover.svg +0 -0
  1760. {codex-1.8.0a8 → codex-1.8.18}/codex/static_src/img/publisher.svg +0 -0
  1761. {codex-1.8.0a8 → codex-1.8.18}/codex/static_src/img/series.svg +0 -0
  1762. {codex-1.8.0a8 → codex-1.8.18}/codex/static_src/img/story-arc.svg +0 -0
  1763. {codex-1.8.0a8 → codex-1.8.18}/codex/static_src/img/volume.svg +0 -0
  1764. {codex-1.8.0a8 → codex-1.8.18}/codex/static_src/pwa/offline.html +0 -0
  1765. {codex-1.8.0a8 → codex-1.8.18}/codex/static_src/robots.txt +0 -0
  1766. {codex-1.8.0a8 → codex-1.8.18}/codex/templates/README.md +0 -0
  1767. {codex-1.8.0a8 → codex-1.8.18}/codex/templates/headers-script-globals.html +0 -0
  1768. {codex-1.8.0a8 → codex-1.8.18}/codex/templates/index.html +0 -0
  1769. {codex-1.8.0a8 → codex-1.8.18}/codex/templates/opds_v1/index.xml +0 -0
  1770. {codex-1.8.0a8 → codex-1.8.18}/codex/templates/opds_v1/opensearch_v1.xml +0 -0
  1771. {codex-1.8.0a8 → codex-1.8.18}/codex/templates/pwa/manifest.webmanifest +0 -0
  1772. {codex-1.8.0a8 → codex-1.8.18}/codex/templates/pwa/serviceworker-register.js +0 -0
  1773. {codex-1.8.0a8 → codex-1.8.18}/codex/templates/swagger-ui.html +0 -0
  1774. {codex-1.8.0a8 → codex-1.8.18}/codex/urls/__init__.py +0 -0
  1775. {codex-1.8.0a8 → codex-1.8.18}/codex/urls/api/__init__.py +0 -0
  1776. {codex-1.8.0a8 → codex-1.8.18}/codex/urls/api/admin.py +0 -0
  1777. {codex-1.8.0a8 → codex-1.8.18}/codex/urls/api/auth.py +0 -0
  1778. {codex-1.8.0a8 → codex-1.8.18}/codex/urls/api/browser.py +0 -0
  1779. {codex-1.8.0a8 → codex-1.8.18}/codex/urls/api/reader.py +0 -0
  1780. {codex-1.8.0a8 → codex-1.8.18}/codex/urls/api/root.py +0 -0
  1781. {codex-1.8.0a8 → codex-1.8.18}/codex/urls/api/v3.py +0 -0
  1782. {codex-1.8.0a8 → codex-1.8.18}/codex/urls/app.py +0 -0
  1783. {codex-1.8.0a8 → codex-1.8.18}/codex/urls/const.py +0 -0
  1784. {codex-1.8.0a8 → codex-1.8.18}/codex/urls/converters.py +0 -0
  1785. {codex-1.8.0a8 → codex-1.8.18}/codex/urls/opds/__init__.py +0 -0
  1786. {codex-1.8.0a8 → codex-1.8.18}/codex/urls/opds/authentication.py +0 -0
  1787. {codex-1.8.0a8 → codex-1.8.18}/codex/urls/opds/binary.py +0 -0
  1788. {codex-1.8.0a8 → codex-1.8.18}/codex/urls/opds/root.py +0 -0
  1789. {codex-1.8.0a8 → codex-1.8.18}/codex/urls/opds/v1.py +0 -0
  1790. {codex-1.8.0a8 → codex-1.8.18}/codex/urls/opds/v2.py +0 -0
  1791. {codex-1.8.0a8 → codex-1.8.18}/codex/urls/pwa.py +0 -0
  1792. {codex-1.8.0a8 → codex-1.8.18}/codex/urls/spectacular.py +0 -0
  1793. {codex-1.8.0a8 → codex-1.8.18}/codex/version.py +0 -0
  1794. {codex-1.8.0a8 → codex-1.8.18}/codex/views/README.md +0 -0
  1795. {codex-1.8.0a8 → codex-1.8.18}/codex/views/__init__.py +0 -0
  1796. {codex-1.8.0a8 → codex-1.8.18}/codex/views/admin/__init__.py +0 -0
  1797. {codex-1.8.0a8 → codex-1.8.18}/codex/views/admin/api_key.py +0 -0
  1798. {codex-1.8.0a8 → codex-1.8.18}/codex/views/admin/auth.py +0 -0
  1799. {codex-1.8.0a8 → codex-1.8.18}/codex/views/admin/flag.py +0 -0
  1800. {codex-1.8.0a8 → codex-1.8.18}/codex/views/admin/group.py +0 -0
  1801. {codex-1.8.0a8 → codex-1.8.18}/codex/views/admin/library.py +0 -0
  1802. {codex-1.8.0a8 → codex-1.8.18}/codex/views/admin/permissions.py +0 -0
  1803. {codex-1.8.0a8 → codex-1.8.18}/codex/views/admin/stats.py +0 -0
  1804. {codex-1.8.0a8 → codex-1.8.18}/codex/views/admin/tasks.py +0 -0
  1805. {codex-1.8.0a8 → codex-1.8.18}/codex/views/admin/user.py +0 -0
  1806. {codex-1.8.0a8 → codex-1.8.18}/codex/views/auth.py +0 -0
  1807. {codex-1.8.0a8 → codex-1.8.18}/codex/views/bookmark.py +0 -0
  1808. {codex-1.8.0a8 → codex-1.8.18}/codex/views/browser/__init__.py +0 -0
  1809. {codex-1.8.0a8 → codex-1.8.18}/codex/views/browser/annotate/__init__.py +0 -0
  1810. {codex-1.8.0a8 → codex-1.8.18}/codex/views/browser/annotate/bookmark.py +0 -0
  1811. {codex-1.8.0a8 → codex-1.8.18}/codex/views/browser/annotate/card.py +0 -0
  1812. {codex-1.8.0a8 → codex-1.8.18}/codex/views/browser/breadcrumbs.py +0 -0
  1813. {codex-1.8.0a8 → codex-1.8.18}/codex/views/browser/browser.py +0 -0
  1814. {codex-1.8.0a8 → codex-1.8.18}/codex/views/browser/choices.py +0 -0
  1815. {codex-1.8.0a8 → codex-1.8.18}/codex/views/browser/download.py +0 -0
  1816. {codex-1.8.0a8 → codex-1.8.18}/codex/views/browser/filters/__init__.py +0 -0
  1817. {codex-1.8.0a8 → codex-1.8.18}/codex/views/browser/filters/bookmark.py +0 -0
  1818. {codex-1.8.0a8 → codex-1.8.18}/codex/views/browser/filters/field.py +0 -0
  1819. {codex-1.8.0a8 → codex-1.8.18}/codex/views/browser/filters/group.py +0 -0
  1820. {codex-1.8.0a8 → codex-1.8.18}/codex/views/browser/filters/search/__init__.py +0 -0
  1821. {codex-1.8.0a8 → codex-1.8.18}/codex/views/browser/filters/search/field/__init__.py +0 -0
  1822. {codex-1.8.0a8 → codex-1.8.18}/codex/views/browser/filters/search/field/filter.py +0 -0
  1823. {codex-1.8.0a8 → codex-1.8.18}/codex/views/browser/filters/search/field/optimize.py +0 -0
  1824. {codex-1.8.0a8 → codex-1.8.18}/codex/views/browser/filters/search/field/parse.py +0 -0
  1825. {codex-1.8.0a8 → codex-1.8.18}/codex/views/browser/filters/search/fts.py +0 -0
  1826. {codex-1.8.0a8 → codex-1.8.18}/codex/views/browser/metadata/__init__.py +0 -0
  1827. {codex-1.8.0a8 → codex-1.8.18}/codex/views/browser/metadata/annotate.py +0 -0
  1828. {codex-1.8.0a8 → codex-1.8.18}/codex/views/browser/metadata/const.py +0 -0
  1829. {codex-1.8.0a8 → codex-1.8.18}/codex/views/browser/metadata/copy_intersections.py +0 -0
  1830. {codex-1.8.0a8 → codex-1.8.18}/codex/views/browser/metadata/query_intersections.py +0 -0
  1831. {codex-1.8.0a8 → codex-1.8.18}/codex/views/browser/mtime.py +0 -0
  1832. {codex-1.8.0a8 → codex-1.8.18}/codex/views/browser/order_by.py +0 -0
  1833. {codex-1.8.0a8 → codex-1.8.18}/codex/views/browser/page_in_bounds.py +0 -0
  1834. {codex-1.8.0a8 → codex-1.8.18}/codex/views/browser/paginate.py +0 -0
  1835. {codex-1.8.0a8 → codex-1.8.18}/codex/views/browser/title.py +0 -0
  1836. {codex-1.8.0a8 → codex-1.8.18}/codex/views/browser/validate.py +0 -0
  1837. {codex-1.8.0a8 → codex-1.8.18}/codex/views/const.py +0 -0
  1838. {codex-1.8.0a8 → codex-1.8.18}/codex/views/download.py +0 -0
  1839. {codex-1.8.0a8 → codex-1.8.18}/codex/views/error.py +0 -0
  1840. {codex-1.8.0a8 → codex-1.8.18}/codex/views/exceptions.py +0 -0
  1841. {codex-1.8.0a8 → codex-1.8.18}/codex/views/frontend.py +0 -0
  1842. {codex-1.8.0a8 → codex-1.8.18}/codex/views/lazy_import.py +0 -0
  1843. {codex-1.8.0a8 → codex-1.8.18}/codex/views/mixins.py +0 -0
  1844. {codex-1.8.0a8 → codex-1.8.18}/codex/views/opds/__init__.py +0 -0
  1845. {codex-1.8.0a8 → codex-1.8.18}/codex/views/opds/auth.py +0 -0
  1846. {codex-1.8.0a8 → codex-1.8.18}/codex/views/opds/authentication_v1.py +0 -0
  1847. {codex-1.8.0a8 → codex-1.8.18}/codex/views/opds/binary.py +0 -0
  1848. {codex-1.8.0a8 → codex-1.8.18}/codex/views/opds/const.py +0 -0
  1849. {codex-1.8.0a8 → codex-1.8.18}/codex/views/opds/urls.py +0 -0
  1850. {codex-1.8.0a8 → codex-1.8.18}/codex/views/opds/util.py +0 -0
  1851. {codex-1.8.0a8 → codex-1.8.18}/codex/views/opds/v1/__init__.py +0 -0
  1852. {codex-1.8.0a8 → codex-1.8.18}/codex/views/opds/v1/data.py +0 -0
  1853. {codex-1.8.0a8 → codex-1.8.18}/codex/views/opds/v1/entry/__init__.py +0 -0
  1854. {codex-1.8.0a8 → codex-1.8.18}/codex/views/opds/v1/entry/data.py +0 -0
  1855. {codex-1.8.0a8 → codex-1.8.18}/codex/views/opds/v1/entry/entry.py +0 -0
  1856. {codex-1.8.0a8 → codex-1.8.18}/codex/views/opds/v1/entry/links.py +0 -0
  1857. {codex-1.8.0a8 → codex-1.8.18}/codex/views/opds/v1/facets.py +0 -0
  1858. {codex-1.8.0a8 → codex-1.8.18}/codex/views/opds/v1/feed.py +0 -0
  1859. {codex-1.8.0a8 → codex-1.8.18}/codex/views/opds/v1/links.py +0 -0
  1860. {codex-1.8.0a8 → codex-1.8.18}/codex/views/opds/v1/opensearch_v1.py +0 -0
  1861. {codex-1.8.0a8 → codex-1.8.18}/codex/views/opds/v2/__init__.py +0 -0
  1862. {codex-1.8.0a8 → codex-1.8.18}/codex/views/opds/v2/const.py +0 -0
  1863. {codex-1.8.0a8 → codex-1.8.18}/codex/views/opds/v2/feed.py +0 -0
  1864. {codex-1.8.0a8 → codex-1.8.18}/codex/views/opds/v2/href.py +0 -0
  1865. {codex-1.8.0a8 → codex-1.8.18}/codex/views/opds/v2/links.py +0 -0
  1866. {codex-1.8.0a8 → codex-1.8.18}/codex/views/opds/v2/progression.py +0 -0
  1867. {codex-1.8.0a8 → codex-1.8.18}/codex/views/opds/v2/publications.py +0 -0
  1868. {codex-1.8.0a8 → codex-1.8.18}/codex/views/opds/v2/top_links.py +0 -0
  1869. {codex-1.8.0a8 → codex-1.8.18}/codex/views/public.py +0 -0
  1870. {codex-1.8.0a8 → codex-1.8.18}/codex/views/pwa.py +0 -0
  1871. {codex-1.8.0a8 → codex-1.8.18}/codex/views/reader/__init__.py +0 -0
  1872. {codex-1.8.0a8 → codex-1.8.18}/codex/views/reader/arcs.py +0 -0
  1873. {codex-1.8.0a8 → codex-1.8.18}/codex/views/reader/books.py +0 -0
  1874. {codex-1.8.0a8 → codex-1.8.18}/codex/views/reader/reader.py +0 -0
  1875. {codex-1.8.0a8 → codex-1.8.18}/codex/views/reader/settings.py +0 -0
  1876. {codex-1.8.0a8 → codex-1.8.18}/codex/views/template.py +0 -0
  1877. {codex-1.8.0a8 → codex-1.8.18}/codex/views/timezone.py +0 -0
  1878. {codex-1.8.0a8 → codex-1.8.18}/codex/views/version.py +0 -0
  1879. {codex-1.8.0a8 → codex-1.8.18}/codex/websockets/README.md +0 -0
  1880. {codex-1.8.0a8 → codex-1.8.18}/codex/websockets/__init__.py +0 -0
  1881. {codex-1.8.0a8 → codex-1.8.18}/codex/websockets/aio_queue.py +0 -0
  1882. {codex-1.8.0a8 → codex-1.8.18}/codex/websockets/listener.py +0 -0
  1883. {codex-1.8.0a8 → codex-1.8.18/docs}/codex/img/logo.svg +0 -0
  1884. {codex-1.8.0a8/codex → codex-1.8.18}/img/folder.svg +0 -0
  1885. {codex-1.8.0a8/codex → codex-1.8.18}/img/imprint.svg +0 -0
  1886. {codex-1.8.0a8/codex → codex-1.8.18}/img/logo-maskable.svg +0 -0
  1887. {codex-1.8.0a8/codex → codex-1.8.18}/img/missing-cover.svg +0 -0
  1888. {codex-1.8.0a8/codex → codex-1.8.18}/img/publisher.svg +0 -0
  1889. {codex-1.8.0a8/codex → codex-1.8.18}/img/series.svg +0 -0
  1890. {codex-1.8.0a8/codex → codex-1.8.18}/img/story-arc.svg +0 -0
  1891. {codex-1.8.0a8/codex → codex-1.8.18}/img/volume.svg +0 -0
  1892. {codex-1.8.0a8 → codex-1.8.18}/tests/README.md +0 -0
  1893. {codex-1.8.0a8 → codex-1.8.18}/tests/__init__.py +0 -0
  1894. {codex-1.8.0a8 → codex-1.8.18}/tests/files/comicbox.update.yaml +0 -0
  1895. {codex-1.8.0a8 → codex-1.8.18}/tests/importer/__init__.py +0 -0
  1896. {codex-1.8.0a8 → codex-1.8.18}/tests/nginx-local-codex.conf +0 -0
  1897. {codex-1.8.0a8 → codex-1.8.18}/tests/test_asgi.py +0 -0
  1898. {codex-1.8.0a8 → codex-1.8.18}/tests/test_models.py +0 -0
@@ -0,0 +1,36 @@
1
+ __pycache__
2
+ .circleci
3
+ .coverage*
4
+ .docker-token
5
+ .DS_Store
6
+ .env*
7
+ .eslintcache
8
+ .git
9
+ .mypy_cache
10
+ .picopt_treestamps.yaml
11
+ .pypi-token
12
+ .pytest_cache
13
+ .ropeproject
14
+ .venv*
15
+ *.egg-info
16
+ *.py[co]
17
+ *~
18
+ *Dockerfile
19
+ cache
20
+ codex/static_build
21
+ codex/static_root
22
+ comics
23
+ config
24
+ dev*
25
+ docker-compose*
26
+ docker*
27
+ MANIFEST
28
+ mock_comics
29
+ monkeytype.sqlite3
30
+ node_modules
31
+ test-results
32
+ TODO.md
33
+ update-builder-requirement.sh
34
+ version.sh
35
+ !dist
36
+ !docker/debian.sources
@@ -0,0 +1,5 @@
1
+ #!/bin/sh
2
+ # platforms to use for building with docker
3
+ # shellcheck disable=SC2034
4
+ PLATFORMS=linux/amd64,linux/arm64
5
+ #,linux/armhf blocked on https://github.com/pyca/cryptography/issues/6286
@@ -0,0 +1,82 @@
1
+ __pycache__/
2
+ __pypackages__/
3
+ __snapshots__
4
+ .cache
5
+ .coverage
6
+ .coverage.*
7
+ .dmypy.json
8
+ .docker-token
9
+ .DS_Store
10
+ .eggs/
11
+ .env
12
+ .env-*
13
+ .env.package
14
+ .env.pushover
15
+ .eslintcache
16
+ .hypothesis/
17
+ .installed.cfg
18
+ .ipynb_checkpoints
19
+ .mypy_cache/
20
+ .nox/
21
+ .npm
22
+ .pypi-token
23
+ .pypirc
24
+ .pyre/
25
+ .pytest_cache/
26
+ .Python
27
+ .python-version
28
+ .ropeproject
29
+ .scrapy
30
+ .spyderproject
31
+ .spyproject
32
+ .tox/
33
+ .venv*
34
+ .webassets-cache
35
+ *.cover
36
+ *.egg
37
+ *.egg-info/
38
+ *.log
39
+ *.manifest
40
+ *.mo
41
+ *.pot
42
+ *.py,cover
43
+ *.py[cod]
44
+ *.sage.py
45
+ *.so
46
+ *.spec
47
+ *~
48
+ *$py.class
49
+ build/
50
+ celerybeat-schedule
51
+ celerybeat.pid
52
+ codex/static_build/
53
+ codex/static_root/
54
+ comics
55
+ config
56
+ coverage.xml
57
+ develop-eggs/
58
+ dist/
59
+ dmypy.json
60
+ docs/_build/
61
+ docs/site
62
+ downloads/
63
+ eggs/
64
+ env.bak/
65
+ env/
66
+ ENV/
67
+ frontend/components.d.ts
68
+ frontend/coverage
69
+ frontend/src/choices/
70
+ htmlcov/
71
+ instance/
72
+ jspm_packages/
73
+ lib/
74
+ lib64/
75
+ MANIFEST
76
+ monkeytype.sqlite3
77
+ node_modules
78
+ nosetests.xml
79
+ pip-delete-this-directory.txt
80
+ pip-log.txt
81
+ test-results
82
+ TODO.md
@@ -0,0 +1,13 @@
1
+ config:
2
+ bigger: false
3
+ convert_to: []
4
+ formats:
5
+ - GIF
6
+ - JPEG
7
+ - PNG
8
+ - WEBP
9
+ ignore: []
10
+ keep_metadata: true
11
+ recurse: true
12
+ symlinks: true
13
+ .: 1657150080.593595
@@ -0,0 +1,25 @@
1
+ __pycache__
2
+ .circleci
3
+ .git
4
+ .mypy_cache
5
+ .pytest_cache
6
+ .ruff_cache
7
+ .venv*
8
+ /config
9
+ /node_modules
10
+ /site
11
+ /test-results
12
+ cache
13
+ codex/_vendor
14
+ codex/static_build
15
+ codex/static_root
16
+ codex/static_src/img/*.svg
17
+ codex/templates/**/*.html
18
+ codex/templates/**/*.xml
19
+ codex/templates/pwa/manifest.webmanifest
20
+ comics
21
+ dist
22
+ frontend
23
+ package-lock.json
24
+ uv.lock
25
+ webpack-stats.json
@@ -0,0 +1,10 @@
1
+ version: 2
2
+ build:
3
+ os: "ubuntu-24.04"
4
+ tools:
5
+ python: "3"
6
+ python:
7
+ install:
8
+ - requirements: docs/requirements.txt
9
+ mkdocs:
10
+ configuration: mkdocs.yml
@@ -0,0 +1,82 @@
1
+ __pycache__/
2
+ __pypackages__/
3
+ __snapshots__
4
+ .cache
5
+ .coverage
6
+ .coverage.*
7
+ .dmypy.json
8
+ .docker-token
9
+ .DS_Store
10
+ .eggs/
11
+ .env
12
+ .env-*
13
+ .env.package
14
+ .env.pushover
15
+ .eslintcache
16
+ .hypothesis/
17
+ .installed.cfg
18
+ .ipynb_checkpoints
19
+ .mypy_cache/
20
+ .nox/
21
+ .npm
22
+ .pypi-token
23
+ .pypirc
24
+ .pyre/
25
+ .pytest_cache/
26
+ .Python
27
+ .python-version
28
+ .ropeproject
29
+ .scrapy
30
+ .spyderproject
31
+ .spyproject
32
+ .tox/
33
+ .venv*
34
+ .webassets-cache
35
+ *.cover
36
+ *.egg
37
+ *.egg-info/
38
+ *.log
39
+ *.manifest
40
+ *.mo
41
+ *.pot
42
+ *.py,cover
43
+ *.py[cod]
44
+ *.sage.py
45
+ *.so
46
+ *.spec
47
+ *~
48
+ *$py.class
49
+ build/
50
+ celerybeat-schedule
51
+ celerybeat.pid
52
+ codex/static_build/
53
+ codex/static_root/
54
+ comics
55
+ config
56
+ coverage.xml
57
+ develop-eggs/
58
+ dist/
59
+ dmypy.json
60
+ docs/_build/
61
+ docs/site
62
+ downloads/
63
+ eggs/
64
+ env.bak/
65
+ env/
66
+ ENV/
67
+ frontend/components.d.ts
68
+ frontend/coverage
69
+ frontend/src/choices/
70
+ htmlcov/
71
+ instance/
72
+ jspm_packages/
73
+ lib/
74
+ lib64/
75
+ MANIFEST
76
+ monkeytype.sqlite3
77
+ node_modules
78
+ nosetests.xml
79
+ pip-delete-this-directory.txt
80
+ pip-log.txt
81
+ test-results
82
+ TODO.md
@@ -0,0 +1 @@
1
+ external-sources=true
codex-1.8.18/Makefile ADDED
@@ -0,0 +1,280 @@
1
+ SHELL := /usr/bin/env bash
2
+
3
+ ## Show version. Use V variable to set version
4
+ ## @category Update
5
+ V :=
6
+ .PHONY: version
7
+ ## Show or set project version
8
+ ## @category Update
9
+ version:
10
+ bin/version.sh $(V)
11
+
12
+ .PHONY: install-deps
13
+ ## Update pip and install node packages
14
+ ## @category Install
15
+ install-deps:
16
+ BREW_PREFIX=$(brew --prefix)
17
+ export LDFLAGS="-L${BREW_PREFIX}/opt/openssl@3/lib"
18
+ export CPPFLAGS="-I${BREW_PREFIX}/opt/openssl@3/include"
19
+ export PKG_CONFIG_PATH="${BREW_PREFIX}/opt/openssl@3/lib/pkgconfig"
20
+ pip install --upgrade pip
21
+ npm install
22
+
23
+ .PHONY: install-frontend
24
+ ## Install frontend
25
+ ## @category Install
26
+ install-frontend:
27
+ cd frontend && make install
28
+
29
+ .PHONY: install-dev
30
+ ## Install dev requirements
31
+ ## @category Install
32
+ install-dev: install-deps install-frontend
33
+ uv sync --no-install-project
34
+
35
+ .PHONY: install
36
+ ## Install for production
37
+ ## @category Install
38
+ install-prod: install-deps
39
+ uv sync --no-install-project --no-dev
40
+
41
+ .PHONY: install-all
42
+ ## Install with all extras
43
+ ## @category Install
44
+ install-all: install-deps install-frontend
45
+ uv sync --no-install-project --all-extras
46
+
47
+ .PHONY: clean
48
+ ## Clean pycaches
49
+ ## @category Build
50
+ clean:
51
+ ./bin/clean-pycache.sh
52
+
53
+ .PHONY: clean-frontend
54
+ ## Clean static_build
55
+ ## @category Build
56
+ clean-frontend:
57
+ cd frontend && make clean
58
+
59
+ .PHONY: build-choices
60
+ ## Build JSON choices for frontend
61
+ ## @category Build
62
+ build-choices:
63
+ ./bin/build-choices.sh
64
+
65
+ .PHONY: build-frontend
66
+ ## Build frontend
67
+ ## @category Build
68
+ build-frontend: build-choices
69
+ cd frontend && make build
70
+
71
+ .PHONY: build-icons
72
+ ## Build all icons from source
73
+ ## @category Build
74
+ build-icons:
75
+ uv run --group build bin/icons_transform.py
76
+
77
+ .PHONY: collectstatic
78
+ ## Collect static files for django
79
+ ## @category Build
80
+ collectstatic: build-icons build-frontend
81
+ bin/collectstatic.sh
82
+
83
+ .PHONE: django-check
84
+ ## Django check
85
+ ## @category Build
86
+ django-check:
87
+ bin/pm check
88
+
89
+ .PHONY: build-backend
90
+ ## Build python package
91
+ ## @category Build
92
+ build-backend: collectstatic
93
+ uv build
94
+
95
+ .PHONY: build
96
+ ## Build python package
97
+ ## @category Build
98
+ build: build-backend
99
+
100
+ .PHONY: publish
101
+ ## Publish package to pypi
102
+ ## @category Deploy
103
+ publish:
104
+ uv publish
105
+
106
+ .PHONY: update
107
+ ## Update dependencies
108
+ ## @category Update
109
+ update:
110
+ ./bin/update-deps.sh
111
+
112
+ .PHONY: kill-eslint_d
113
+ ## Kill eslint daemon
114
+ ## @category Lint
115
+ kill-eslint_d:
116
+ bin/kill-eslint_d.sh
117
+
118
+ .PHONY: fix-frontend
119
+ ## Fix only frontend lint errors
120
+ ## @category Fix
121
+ fix-frontend:
122
+ cd frontend && make fix
123
+
124
+ .PHONY: fix-backend
125
+ ## Fix only backend lint errors
126
+ ## @category Fix
127
+ fix-backend:
128
+ ./bin/fix-lint-backend.sh
129
+
130
+ .PHONY: fix
131
+ ## Fix front and back end lint errors
132
+ ## @category Fix
133
+ fix: fix-backend fix-frontend
134
+
135
+ .PHONY: typecheck
136
+ ## Static typecheck
137
+ ## @category Lint
138
+ typecheck:
139
+ uv run --group lint --no-dev basedpyright .
140
+
141
+ .PHONY: ty
142
+ ## Static typecheck with ty
143
+ ## @category Lint
144
+ ty:
145
+ uv run --group typecheck --no-dev ty check .
146
+
147
+ .PHONY: zuban
148
+ ## Static typecheck with zuban
149
+ ## @category Lint
150
+ zuban:
151
+ uv run --group typecheck --no-dev zuban check
152
+
153
+
154
+ .PHONY: lint-frontend
155
+ ## Lint the frontend
156
+ ## @category Lint
157
+ lint-frontend:
158
+ cd frontend && make lint
159
+
160
+ .PHONY: lint-backend
161
+ ## Lint the backend
162
+ ## @category Lint
163
+ lint-backend:
164
+ ./bin/lint-backend.sh
165
+
166
+ .PHONY: lint
167
+ ## Lint front and back end
168
+ ## @category Lint
169
+ lint: lint-backend lint-frontend
170
+
171
+ .PHONY: uml
172
+ ## Create a UML class diagram
173
+ ## #category Lint
174
+ uml:
175
+ bin/uml.sh
176
+
177
+ .PHONY: cycle
178
+ ## Detect Circular imports
179
+ ## @category Lint
180
+ cycle:
181
+ uvx pycycle --ignore node_modules,.venv --verbose --here
182
+
183
+ .PHONY: test-frontend
184
+ ## Run frontend tests
185
+ ## Test
186
+ ## @category Test
187
+ test-frontend: build-choices
188
+ cd frontend && make test
189
+
190
+ .PHONY: test-backend
191
+ ## Run backend tests. Use T variable to run specific tests
192
+ ## @category Test
193
+ T :=
194
+ test-backend: collectstatic django-check
195
+ ./bin/test-backend.sh $(T)
196
+
197
+ .PHONY: test
198
+ ## Run Tests.
199
+ ## @category Test
200
+ test: test-frontend test-backend
201
+
202
+ .PHONY: benchmark-opds
203
+ ## Time opds requests
204
+ ## @category Test
205
+ benchmark-opds:
206
+ bin/benchmark-opds.sh
207
+
208
+ .PHONY: dev-frontend-server
209
+ ## Run the vite dev frontend
210
+ ## @category Run Server
211
+ dev-frontend-server:
212
+ cd frontend && make dev-server
213
+
214
+ .PHONY: dev-server
215
+ ## Run the dev webserver
216
+ ## @category Test
217
+ dev-server:
218
+ ./bin/dev-server.sh
219
+
220
+ .PHONY: dev-prod-server
221
+ ## Run a bundled production webserver
222
+ ## @category Run Server
223
+ dev-prod-server: build-frontend collectstatic
224
+ ./bin/dev-prod-server.sh
225
+
226
+ .PHONY: dev-ttabs
227
+ ## Run the vite dev frontend and dev-server in ttabs
228
+ ## @category Run Server
229
+ dev-ttabs:
230
+ ./bin/dev-ttabs.sh
231
+
232
+ .PHONY: dev-reverse-proxy
233
+ ## Run an nginx reverse proxy to codex in docker
234
+ ## @category Run Server
235
+ dev-reverse-proxy:
236
+ ./bin/dev-reverse-proxy.sh
237
+
238
+ .PHONY: dev-docker
239
+ ## Restart codex in docker
240
+ ## @category Run Server
241
+ dev-docker:
242
+ ./bin/dev-docker.sh
243
+
244
+ ## Module to run
245
+ ## @category Run Server
246
+ M :=
247
+ .PHONY: dev-module
248
+ ## Run a single codex module in dev mode
249
+ ## @category Run Server
250
+ dev-module:
251
+ ./bin/dev-module.sh $(M)
252
+
253
+ .PHONY: kill
254
+ ## Kill lingering codex processes
255
+ ## @category Run Server
256
+ kill:
257
+ bin/kill-codex.sh || true
258
+
259
+ .PHONY: news
260
+ ## Show recent NEWS
261
+ ## @category Deploy
262
+ news:
263
+ head -40 NEWS.md
264
+
265
+ .PHONY: docs
266
+ ## Build doc site
267
+ ## @category Docs
268
+ docs:
269
+ uv run --only-group docs --no-dev mkdocs build --strict --site-dir docs/site
270
+
271
+ .PHONY: docs-server
272
+ ## Build doc site
273
+ ## @category Docs
274
+ docs-server:
275
+ uv run --only-group docs mkdocs serve --open --dirty
276
+
277
+
278
+ .PHONY: all
279
+
280
+ include bin/makefile-help.mk