django-spire 0.23.7__py3-none-any.whl → 0.23.9__py3-none-any.whl

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 (542) hide show
  1. django_spire/ai/admin.py +11 -11
  2. django_spire/ai/chat/apps.py +1 -0
  3. django_spire/ai/chat/templates/django_spire/ai/chat/widget/dialog_widget.html +1 -1
  4. django_spire/ai/chat/tests/factories.py +15 -0
  5. django_spire/ai/chat/tests/test_controller.py +45 -0
  6. django_spire/ai/chat/tests/test_models.py +301 -0
  7. django_spire/ai/chat/tests/test_prompts.py +48 -0
  8. django_spire/ai/chat/tests/test_responses.py +208 -0
  9. django_spire/ai/chat/tests/test_router/test_base_chat_router.py +66 -6
  10. django_spire/ai/chat/tests/test_router/test_chat_workflow.py +73 -3
  11. django_spire/ai/chat/tests/test_router/test_integration.py +86 -6
  12. django_spire/ai/chat/tests/test_router/test_intent_decoder.py +93 -1
  13. django_spire/ai/chat/tests/test_router/test_message_intel.py +60 -1
  14. django_spire/ai/chat/tests/test_router/test_spire_chat_router.py +110 -0
  15. django_spire/ai/chat/tests/test_urls/test_json_urls.py +202 -1
  16. django_spire/ai/context/tests/__init__.py +0 -0
  17. django_spire/ai/context/tests/test_context.py +188 -0
  18. django_spire/ai/decorators.py +7 -6
  19. django_spire/ai/prompt/tests/test_bots.py +100 -10
  20. django_spire/ai/prompt/tests/test_prompt_intel.py +83 -0
  21. django_spire/ai/prompt/tests/test_prompt_tuning.py +126 -0
  22. django_spire/ai/sms/decorators.py +8 -2
  23. django_spire/ai/sms/tests/test_sms.py +240 -16
  24. django_spire/ai/sms/tests/test_sms_intel.py +42 -0
  25. django_spire/ai/sms/tests/test_webhook.py +155 -7
  26. django_spire/ai/sms/views.py +23 -24
  27. django_spire/ai/tests/test_ai.py +131 -7
  28. django_spire/auth/apps.py +4 -2
  29. django_spire/auth/controller/controller.py +36 -23
  30. django_spire/auth/controller/exceptions.py +9 -0
  31. django_spire/auth/group/admin.py +1 -0
  32. django_spire/auth/group/apps.py +2 -0
  33. django_spire/auth/group/factories.py +17 -8
  34. django_spire/auth/group/forms.py +7 -0
  35. django_spire/auth/group/tests/test_factories.py +146 -0
  36. django_spire/auth/group/tests/test_forms.py +282 -0
  37. django_spire/auth/group/tests/test_models.py +192 -0
  38. django_spire/auth/group/tests/test_querysets.py +98 -0
  39. django_spire/auth/group/tests/test_utils.py +341 -0
  40. django_spire/auth/group/tests/test_views.py +377 -0
  41. django_spire/auth/group/urls/__init__.py +3 -1
  42. django_spire/auth/group/urls/form_urls.py +2 -0
  43. django_spire/auth/group/urls/json_urls.py +3 -0
  44. django_spire/auth/group/urls/page_urls.py +2 -0
  45. django_spire/auth/group/utils.py +6 -2
  46. django_spire/auth/group/views/form_views.py +6 -3
  47. django_spire/auth/group/views/json_views.py +6 -2
  48. django_spire/auth/mfa/admin.py +2 -0
  49. django_spire/auth/mfa/apps.py +2 -0
  50. django_spire/auth/mfa/forms.py +1 -0
  51. django_spire/auth/mfa/querysets.py +9 -2
  52. django_spire/auth/mfa/tests/test_models.py +233 -0
  53. django_spire/auth/mfa/tests/test_utils.py +106 -0
  54. django_spire/auth/mfa/urls/__init__.py +2 -0
  55. django_spire/auth/mfa/urls/page_urls.py +2 -0
  56. django_spire/auth/mfa/urls/redirect_urls.py +2 -0
  57. django_spire/auth/mfa/views/page_views.py +2 -1
  58. django_spire/auth/permissions/consts.py +2 -2
  59. django_spire/auth/permissions/decorators.py +8 -8
  60. django_spire/auth/permissions/permissions.py +28 -35
  61. django_spire/auth/permissions/tests/test_decorators.py +333 -0
  62. django_spire/auth/permissions/tests/test_permissions.py +337 -0
  63. django_spire/auth/permissions/tests/test_tools.py +305 -0
  64. django_spire/auth/permissions/tools.py +21 -15
  65. django_spire/auth/seeding/seed.py +3 -0
  66. django_spire/auth/seeding/seeder.py +2 -0
  67. django_spire/auth/tests/test_controller.py +323 -0
  68. django_spire/auth/tests/test_url_endpoints.py +9 -9
  69. django_spire/auth/tests/test_views.py +406 -0
  70. django_spire/auth/urls/admin_urls.py +2 -0
  71. django_spire/auth/urls/redirect_urls.py +2 -0
  72. django_spire/auth/user/apps.py +2 -0
  73. django_spire/auth/user/forms.py +9 -0
  74. django_spire/auth/user/models.py +1 -1
  75. django_spire/auth/user/services/services.py +1 -0
  76. django_spire/auth/user/tests/factories.py +14 -13
  77. django_spire/auth/user/tests/test_factories.py +166 -2
  78. django_spire/auth/user/tests/test_forms.py +573 -0
  79. django_spire/auth/user/tests/test_models.py +257 -0
  80. django_spire/auth/user/tests/test_services.py +200 -0
  81. django_spire/auth/user/tests/test_tools.py +153 -0
  82. django_spire/auth/user/tests/test_user_factories.py +139 -0
  83. django_spire/auth/user/tests/test_views.py +363 -0
  84. django_spire/auth/user/tools.py +7 -1
  85. django_spire/auth/user/urls/form_urls.py +3 -0
  86. django_spire/auth/user/urls/page_urls.py +3 -0
  87. django_spire/auth/user/views/form_views.py +19 -10
  88. django_spire/auth/user/views/page_views.py +8 -2
  89. django_spire/auth/views/redirect_views.py +14 -9
  90. django_spire/comment/admin.py +2 -0
  91. django_spire/comment/apps.py +2 -0
  92. django_spire/comment/templatetags/comment_tags.py +1 -0
  93. django_spire/comment/tests/test_forms.py +27 -0
  94. django_spire/comment/tests/test_models.py +215 -0
  95. django_spire/comment/tests/test_querysets.py +101 -0
  96. django_spire/comment/tests/test_utils.py +90 -0
  97. django_spire/comment/urls.py +2 -0
  98. django_spire/comment/utils.py +22 -13
  99. django_spire/comment/views.py +1 -1
  100. django_spire/conf.py +8 -6
  101. django_spire/consts.py +1 -1
  102. django_spire/contrib/breadcrumb/apps.py +2 -0
  103. django_spire/contrib/breadcrumb/breadcrumbs.py +18 -18
  104. django_spire/contrib/breadcrumb/tests/test_breadcrumbs.py +198 -0
  105. django_spire/contrib/constructor/__init__.py +3 -3
  106. django_spire/contrib/constructor/constructor.py +15 -15
  107. django_spire/contrib/constructor/django_model_constructor.py +5 -4
  108. django_spire/contrib/constructor/exceptions.py +5 -3
  109. django_spire/contrib/constructor/tests/__init__.py +0 -0
  110. django_spire/contrib/constructor/tests/test_constructor.py +193 -0
  111. django_spire/contrib/form/tests/__init__.py +0 -0
  112. django_spire/contrib/form/tests/test_forms.py +203 -0
  113. django_spire/contrib/generic_views/modal_views.py +2 -1
  114. django_spire/contrib/generic_views/portal_views.py +20 -19
  115. django_spire/contrib/generic_views/tests/__init__.py +0 -0
  116. django_spire/contrib/generic_views/tests/test_views.py +459 -0
  117. django_spire/contrib/help/apps.py +2 -0
  118. django_spire/contrib/help/templatetags/help.py +1 -0
  119. django_spire/contrib/help/tests/__init__.py +0 -0
  120. django_spire/contrib/help/tests/test_templatetags.py +100 -0
  121. django_spire/contrib/options/mixins.py +6 -5
  122. django_spire/contrib/options/tests/factories.py +5 -1
  123. django_spire/contrib/options/tests/test_options.py +234 -0
  124. django_spire/contrib/ordering/exceptions.py +7 -3
  125. django_spire/contrib/ordering/mixins.py +2 -0
  126. django_spire/contrib/ordering/querysets.py +3 -1
  127. django_spire/contrib/ordering/services/processor_service.py +8 -4
  128. django_spire/contrib/ordering/services/service.py +1 -2
  129. django_spire/contrib/ordering/tests/__init__.py +0 -0
  130. django_spire/contrib/ordering/tests/test_ordering.py +165 -0
  131. django_spire/contrib/ordering/validators.py +6 -6
  132. django_spire/contrib/pagination/templatetags/pagination_tags.py +12 -5
  133. django_spire/contrib/pagination/tests/__init__.py +0 -0
  134. django_spire/contrib/pagination/tests/test_pagination.py +179 -0
  135. django_spire/contrib/performance/decorators.py +16 -6
  136. django_spire/contrib/performance/tests/__init__.py +0 -0
  137. django_spire/contrib/performance/tests/test_performance.py +107 -0
  138. django_spire/contrib/queryset/enums.py +3 -1
  139. django_spire/contrib/queryset/filter_tools.py +10 -5
  140. django_spire/contrib/queryset/mixins.py +16 -16
  141. django_spire/contrib/queryset/tests/__init__.py +0 -0
  142. django_spire/contrib/queryset/tests/test_queryset.py +137 -0
  143. django_spire/contrib/seeding/field/base.py +13 -7
  144. django_spire/contrib/seeding/field/callable.py +8 -1
  145. django_spire/contrib/seeding/field/cleaners.py +5 -5
  146. django_spire/contrib/seeding/field/custom.py +20 -10
  147. django_spire/contrib/seeding/field/django/seeder.py +8 -6
  148. django_spire/contrib/seeding/field/enums.py +7 -5
  149. django_spire/contrib/seeding/field/override.py +16 -6
  150. django_spire/contrib/seeding/field/static.py +9 -2
  151. django_spire/contrib/seeding/field/tests/test_base.py +18 -14
  152. django_spire/contrib/seeding/field/tests/test_callable.py +13 -9
  153. django_spire/contrib/seeding/field/tests/test_cleaners.py +51 -38
  154. django_spire/contrib/seeding/field/tests/test_static.py +13 -9
  155. django_spire/contrib/seeding/intelligence/bots/seeder_generator_bot.py +2 -0
  156. django_spire/contrib/seeding/intelligence/intel.py +5 -1
  157. django_spire/contrib/seeding/intelligence/prompts/factory.py +6 -1
  158. django_spire/contrib/seeding/intelligence/prompts/foreign_key_selection_prompt.py +6 -1
  159. django_spire/contrib/seeding/intelligence/prompts/generate_django_model_seeder_prompts.py +2 -0
  160. django_spire/contrib/seeding/intelligence/prompts/generic_relationship_selection_prompt.py +7 -1
  161. django_spire/contrib/seeding/intelligence/prompts/hierarchical_selection_prompt.py +6 -2
  162. django_spire/contrib/seeding/intelligence/prompts/model_field_choices_prompt.py +8 -2
  163. django_spire/contrib/seeding/intelligence/prompts/negation_prompt.py +2 -0
  164. django_spire/contrib/seeding/intelligence/prompts/objective_prompt.py +6 -1
  165. django_spire/contrib/seeding/management/commands/seeding.py +9 -3
  166. django_spire/contrib/seeding/management/example.py +2 -0
  167. django_spire/contrib/seeding/model/base.py +16 -7
  168. django_spire/contrib/seeding/model/config.py +31 -15
  169. django_spire/contrib/seeding/model/django/config.py +13 -13
  170. django_spire/contrib/seeding/model/django/seeder.py +4 -4
  171. django_spire/contrib/seeding/model/django/tests/test_seeder.py +34 -23
  172. django_spire/contrib/seeding/model/enums.py +2 -0
  173. django_spire/contrib/seeding/tests/test_config.py +71 -0
  174. django_spire/contrib/seeding/tests/test_custom.py +35 -0
  175. django_spire/contrib/seeding/tests/test_enums.py +40 -0
  176. django_spire/contrib/seeding/tests/test_intel.py +32 -0
  177. django_spire/contrib/seeding/tests/test_override.py +63 -0
  178. django_spire/contrib/service/__init__.py +2 -2
  179. django_spire/contrib/service/django_model_service.py +16 -15
  180. django_spire/contrib/service/exceptions.py +5 -3
  181. django_spire/contrib/service/tests/__init__.py +0 -0
  182. django_spire/contrib/service/tests/test_service.py +153 -0
  183. django_spire/contrib/session/apps.py +2 -0
  184. django_spire/contrib/session/controller.py +48 -42
  185. django_spire/contrib/session/templatetags/session_tags.py +11 -2
  186. django_spire/contrib/session/tests/test_session_controller.py +117 -53
  187. django_spire/contrib/tests/__init__.py +0 -0
  188. django_spire/contrib/tests/test_utils.py +37 -0
  189. django_spire/contrib/utils.py +4 -1
  190. django_spire/core/apps.py +2 -0
  191. django_spire/core/converters/tests/test_to_data.py +353 -0
  192. django_spire/core/converters/tests/test_to_enums.py +61 -41
  193. django_spire/core/converters/tests/test_to_pydantic.py +138 -109
  194. django_spire/core/converters/to_data.py +29 -10
  195. django_spire/core/converters/to_enums.py +4 -2
  196. django_spire/core/converters/to_pydantic.py +22 -22
  197. django_spire/core/decorators.py +19 -6
  198. django_spire/core/forms/widgets.py +4 -0
  199. django_spire/core/management/commands/spire_startapp_pkg/template/app/apps.py.template +2 -0
  200. django_spire/core/management/commands/spire_startapp_pkg/template/app/urls/__init__.py.template +2 -0
  201. django_spire/core/management/commands/spire_startapp_pkg/template/app/urls/form_urls.py.template +2 -0
  202. django_spire/core/management/commands/spire_startapp_pkg/template/app/urls/page_urls.py.template +2 -0
  203. django_spire/core/maps.py +3 -1
  204. django_spire/core/middleware/maintenance.py +3 -3
  205. django_spire/core/middleware.py +8 -6
  206. django_spire/core/redirect/__init__.py +5 -0
  207. django_spire/core/redirect/generic_redirect.py +1 -2
  208. django_spire/core/redirect/tests/__init__.py +0 -0
  209. django_spire/core/redirect/tests/test_generic_redirect.py +34 -0
  210. django_spire/core/{tests/tests_redirect.py → redirect/tests/test_safe_redirect.py} +55 -81
  211. django_spire/core/shortcuts.py +3 -3
  212. django_spire/core/static/django_spire/css/app-layout.css +1 -1
  213. django_spire/core/static/django_spire/css/app-navigation.css +3 -3
  214. django_spire/core/static/django_spire/css/bootstrap-override.css +4 -0
  215. django_spire/core/tag/admin.py +12 -0
  216. django_spire/core/tag/intelligence/tag_set_bot.py +2 -0
  217. django_spire/core/tag/mixins.py +2 -0
  218. django_spire/core/tag/models.py +2 -0
  219. django_spire/core/tag/querysets.py +2 -0
  220. django_spire/core/tag/service/tag_service.py +6 -3
  221. django_spire/core/tag/tests/test_intelligence.py +9 -9
  222. django_spire/core/tag/tests/test_tags.py +44 -54
  223. django_spire/core/tag/tests/test_tools.py +191 -0
  224. django_spire/core/tag/tools.py +3 -0
  225. django_spire/core/templates/django_spire/card/card.html +5 -2
  226. django_spire/core/templates/django_spire/card/title_card.html +12 -4
  227. django_spire/core/templates/django_spire/infinite_scroll/base.html +1 -0
  228. django_spire/core/templates/django_spire/navigation/side_navigation.html +19 -24
  229. django_spire/core/templates/django_spire/page/full_page.html +46 -16
  230. django_spire/core/templates/django_spire/table/base.html +5 -3
  231. django_spire/core/templatetags/json.py +6 -2
  232. django_spire/core/templatetags/message.py +13 -8
  233. django_spire/core/templatetags/string_formating.py +8 -5
  234. django_spire/core/templatetags/tests/__init__.py +0 -0
  235. django_spire/core/templatetags/tests/test_templatetags.py +427 -0
  236. django_spire/core/templatetags/variable_types.py +17 -9
  237. django_spire/core/tests/test_cases.py +1 -1
  238. django_spire/core/tests/test_conf.py +43 -0
  239. django_spire/core/tests/test_consts.py +28 -0
  240. django_spire/core/tests/test_context_processors.py +93 -0
  241. django_spire/core/tests/test_decorators.py +95 -0
  242. django_spire/core/tests/test_django_spire_utils.py +56 -0
  243. django_spire/core/tests/test_exceptions.py +37 -0
  244. django_spire/core/tests/test_models.py +54 -0
  245. django_spire/core/tests/test_settings.py +45 -0
  246. django_spire/core/tests/test_shortcuts.py +74 -0
  247. django_spire/core/tests/test_urls.py +16 -0
  248. django_spire/core/tests/test_utils.py +58 -0
  249. django_spire/core/urls.py +4 -1
  250. django_spire/core/utils.py +12 -8
  251. django_spire/exceptions.py +16 -1
  252. django_spire/file/admin.py +4 -2
  253. django_spire/file/apps.py +8 -10
  254. django_spire/file/fields.py +7 -7
  255. django_spire/file/forms.py +1 -1
  256. django_spire/file/interfaces.py +15 -15
  257. django_spire/file/mixins.py +1 -4
  258. django_spire/file/models.py +3 -5
  259. django_spire/file/tests/factories.py +59 -0
  260. django_spire/file/tests/test_admin.py +69 -0
  261. django_spire/file/tests/test_apps.py +24 -0
  262. django_spire/file/tests/test_fields.py +114 -0
  263. django_spire/file/tests/test_forms.py +20 -0
  264. django_spire/file/tests/test_interfaces.py +183 -0
  265. django_spire/file/tests/test_models.py +82 -0
  266. django_spire/file/tests/test_querysets.py +102 -0
  267. django_spire/file/tests/test_utils.py +32 -0
  268. django_spire/file/tests/test_views.py +145 -0
  269. django_spire/file/tests/test_widgets.py +82 -0
  270. django_spire/file/tools.py +8 -2
  271. django_spire/file/views.py +7 -3
  272. django_spire/file/widgets.py +12 -12
  273. django_spire/help_desk/admin.py +15 -0
  274. django_spire/help_desk/apps.py +2 -0
  275. django_spire/help_desk/auth/controller.py +2 -0
  276. django_spire/help_desk/choices.py +2 -0
  277. django_spire/help_desk/enums.py +2 -0
  278. django_spire/help_desk/exceptions.py +31 -3
  279. django_spire/help_desk/forms.py +2 -0
  280. django_spire/help_desk/models.py +2 -0
  281. django_spire/help_desk/querysets.py +4 -1
  282. django_spire/help_desk/services/notification_service.py +26 -27
  283. django_spire/help_desk/services/service.py +2 -3
  284. django_spire/help_desk/tests/factories.py +8 -3
  285. django_spire/help_desk/tests/test_admin.py +41 -0
  286. django_spire/help_desk/tests/test_apps.py +41 -0
  287. django_spire/help_desk/tests/test_choices.py +50 -0
  288. django_spire/help_desk/tests/test_controller.py +87 -0
  289. django_spire/help_desk/tests/test_enums.py +18 -0
  290. django_spire/help_desk/tests/test_exceptions.py +37 -0
  291. django_spire/help_desk/tests/test_forms.py +89 -0
  292. django_spire/help_desk/tests/test_models.py +59 -0
  293. django_spire/help_desk/tests/test_querysets.py +38 -0
  294. django_spire/help_desk/tests/test_services/test_notification_service.py +15 -8
  295. django_spire/help_desk/tests/test_services/test_service.py +92 -0
  296. django_spire/help_desk/tests/test_urls/test_form_urls.py +6 -6
  297. django_spire/help_desk/tests/test_urls/test_page_urls.py +8 -9
  298. django_spire/help_desk/tests/test_views/test_form_views.py +46 -19
  299. django_spire/help_desk/tests/test_views/test_page_views.py +32 -9
  300. django_spire/help_desk/urls/__init__.py +4 -1
  301. django_spire/help_desk/urls/form_urls.py +3 -0
  302. django_spire/help_desk/urls/page_urls.py +3 -0
  303. django_spire/help_desk/views/form_views.py +13 -5
  304. django_spire/help_desk/views/page_views.py +11 -3
  305. django_spire/history/activity/admin.py +2 -0
  306. django_spire/history/activity/apps.py +3 -1
  307. django_spire/history/activity/mixins.py +13 -7
  308. django_spire/history/activity/models.py +6 -5
  309. django_spire/history/activity/querysets.py +2 -0
  310. django_spire/history/activity/tests/__init__.py +0 -0
  311. django_spire/history/activity/tests/test_activity.py +176 -0
  312. django_spire/history/admin.py +9 -2
  313. django_spire/history/choices.py +3 -0
  314. django_spire/history/models.py +5 -5
  315. django_spire/history/tests/test_admin.py +93 -0
  316. django_spire/history/tests/test_history.py +101 -0
  317. django_spire/history/tests/test_mixins.py +84 -0
  318. django_spire/history/viewed/admin.py +3 -1
  319. django_spire/history/viewed/apps.py +3 -1
  320. django_spire/history/viewed/models.py +2 -0
  321. django_spire/history/viewed/tests/__init__.py +0 -0
  322. django_spire/history/viewed/tests/test_viewed.py +46 -0
  323. django_spire/knowledge/auth/tests/__init__.py +0 -0
  324. django_spire/knowledge/auth/tests/test_controller.py +116 -0
  325. django_spire/knowledge/collection/admin.py +5 -1
  326. django_spire/knowledge/collection/models.py +3 -1
  327. django_spire/knowledge/collection/seeding/seed.py +1 -0
  328. django_spire/knowledge/collection/services/factory_service.py +10 -11
  329. django_spire/knowledge/collection/services/ordering_service.py +1 -2
  330. django_spire/knowledge/collection/services/service.py +5 -10
  331. django_spire/knowledge/collection/services/tag_service.py +5 -2
  332. django_spire/knowledge/collection/tests/factories.py +28 -1
  333. django_spire/knowledge/collection/tests/test_models.py +48 -0
  334. django_spire/knowledge/collection/tests/test_querysets.py +93 -0
  335. django_spire/knowledge/collection/tests/test_services/test_factory_service.py +100 -0
  336. django_spire/knowledge/collection/tests/test_services/test_services.py +160 -0
  337. django_spire/knowledge/collection/tests/test_urls/test_form_urls.py +21 -3
  338. django_spire/knowledge/collection/tests/test_urls/test_json_urls.py +39 -1
  339. django_spire/knowledge/collection/tests/test_urls/test_page_urls.py +12 -4
  340. django_spire/knowledge/collection/urls/__init__.py +3 -0
  341. django_spire/knowledge/collection/urls/form_urls.py +2 -0
  342. django_spire/knowledge/collection/urls/json_urls.py +2 -0
  343. django_spire/knowledge/collection/urls/page_urls.py +2 -0
  344. django_spire/knowledge/collection/views/form_views.py +4 -4
  345. django_spire/knowledge/collection/views/json_views.py +5 -1
  346. django_spire/knowledge/collection/views/page_views.py +5 -2
  347. django_spire/knowledge/entry/admin.py +7 -1
  348. django_spire/knowledge/entry/forms.py +2 -0
  349. django_spire/knowledge/entry/models.py +2 -0
  350. django_spire/knowledge/entry/seeding/seed.py +3 -0
  351. django_spire/knowledge/entry/services/automation_service.py +5 -4
  352. django_spire/knowledge/entry/services/factory_service.py +7 -5
  353. django_spire/knowledge/entry/services/service.py +4 -7
  354. django_spire/knowledge/entry/services/tag_service.py +0 -1
  355. django_spire/knowledge/entry/services/tool_service.py +1 -0
  356. django_spire/knowledge/entry/services/transformation_services.py +1 -5
  357. django_spire/knowledge/entry/tests/factories.py +1 -2
  358. django_spire/knowledge/entry/tests/test_factory_service.py +20 -0
  359. django_spire/knowledge/entry/tests/test_models.py +41 -0
  360. django_spire/knowledge/entry/tests/test_querysets.py +71 -0
  361. django_spire/knowledge/entry/tests/test_services.py +94 -0
  362. django_spire/knowledge/entry/tests/test_urls/test_form_urls.py +9 -14
  363. django_spire/knowledge/entry/tests/test_urls/test_json_urls.py +48 -5
  364. django_spire/knowledge/entry/tests/test_urls/test_page_urls.py +6 -8
  365. django_spire/knowledge/entry/tests/test_urls/test_template_urls.py +40 -0
  366. django_spire/knowledge/entry/urls/form_urls.py +2 -0
  367. django_spire/knowledge/entry/urls/json_urls.py +2 -0
  368. django_spire/knowledge/entry/urls/page_urls.py +2 -0
  369. django_spire/knowledge/entry/urls/template_urls.py +2 -0
  370. django_spire/knowledge/entry/version/block/choices.py +2 -0
  371. django_spire/knowledge/entry/version/block/data/data.py +1 -0
  372. django_spire/knowledge/entry/version/block/data/list/data.py +8 -13
  373. django_spire/knowledge/entry/version/block/data/list/maps.py +3 -0
  374. django_spire/knowledge/entry/version/block/data/list/meta.py +1 -2
  375. django_spire/knowledge/entry/version/block/data/list/tests/__init__.py +0 -0
  376. django_spire/knowledge/entry/version/block/data/list/tests/test_maps.py +32 -0
  377. django_spire/knowledge/entry/version/block/data/list/tests/test_meta.py +58 -0
  378. django_spire/knowledge/entry/version/block/data/maps.py +3 -6
  379. django_spire/knowledge/entry/version/block/models.py +7 -5
  380. django_spire/knowledge/entry/version/block/seeding/constants.py +5 -4
  381. django_spire/knowledge/entry/version/block/services/service.py +2 -3
  382. django_spire/knowledge/entry/version/block/tests/factories.py +4 -10
  383. django_spire/knowledge/entry/version/block/tests/test_choices.py +56 -0
  384. django_spire/knowledge/entry/version/block/tests/test_data.py +90 -0
  385. django_spire/knowledge/entry/version/block/tests/test_maps.py +37 -0
  386. django_spire/knowledge/entry/version/block/tests/test_models.py +55 -0
  387. django_spire/knowledge/entry/version/block/tests/test_querysets.py +35 -0
  388. django_spire/knowledge/entry/version/block/tests/test_services.py +65 -0
  389. django_spire/knowledge/entry/version/choices.py +2 -0
  390. django_spire/knowledge/entry/version/converters/converter.py +1 -1
  391. django_spire/knowledge/entry/version/converters/docx_converter.py +4 -7
  392. django_spire/knowledge/entry/version/converters/markdown_converter.py +20 -20
  393. django_spire/knowledge/entry/version/maps.py +4 -5
  394. django_spire/knowledge/entry/version/querysets.py +1 -1
  395. django_spire/knowledge/entry/version/seeding/seeder.py +1 -2
  396. django_spire/knowledge/entry/version/services/processor_service.py +5 -4
  397. django_spire/knowledge/entry/version/services/service.py +1 -2
  398. django_spire/knowledge/entry/version/tests/factories.py +2 -2
  399. django_spire/knowledge/entry/version/tests/test_choices.py +18 -0
  400. django_spire/knowledge/entry/version/tests/test_converters/test_docx_converter.py +56 -8
  401. django_spire/knowledge/entry/version/tests/test_converters/test_markdown_converter.py +78 -0
  402. django_spire/knowledge/entry/version/tests/test_maps.py +58 -0
  403. django_spire/knowledge/entry/version/tests/test_models.py +23 -0
  404. django_spire/knowledge/entry/version/tests/test_querysets.py +26 -0
  405. django_spire/knowledge/entry/version/tests/test_services.py +62 -0
  406. django_spire/knowledge/entry/version/tests/test_urls/test_json_urls.py +27 -8
  407. django_spire/knowledge/entry/version/tests/test_urls/test_page_urls.py +15 -8
  408. django_spire/knowledge/entry/version/tests/test_urls/test_redirect_urls.py +38 -0
  409. django_spire/knowledge/entry/version/urls/__init__.py +3 -0
  410. django_spire/knowledge/entry/version/urls/json_urls.py +2 -1
  411. django_spire/knowledge/entry/version/urls/page_urls.py +2 -0
  412. django_spire/knowledge/entry/version/urls/redirect_urls.py +2 -0
  413. django_spire/knowledge/entry/version/views/json_views.py +5 -1
  414. django_spire/knowledge/entry/version/views/page_views.py +10 -3
  415. django_spire/knowledge/entry/version/views/redirect_views.py +5 -1
  416. django_spire/knowledge/entry/views/form_views.py +16 -8
  417. django_spire/knowledge/entry/views/json_views.py +3 -1
  418. django_spire/knowledge/entry/views/page_views.py +8 -2
  419. django_spire/knowledge/entry/views/template_views.py +7 -1
  420. django_spire/knowledge/exceptions.py +2 -1
  421. django_spire/knowledge/intelligence/intel/answer_intel.py +2 -1
  422. django_spire/knowledge/intelligence/intel/entry_intel.py +0 -1
  423. django_spire/knowledge/intelligence/workflows/knowledge_workflow.py +4 -5
  424. django_spire/knowledge/models.py +1 -2
  425. django_spire/knowledge/tests/__init__.py +0 -0
  426. django_spire/knowledge/tests/test_templatetags.py +40 -0
  427. django_spire/knowledge/tests/test_urls/__init__.py +0 -0
  428. django_spire/knowledge/tests/test_urls/test_page_urls.py +24 -0
  429. django_spire/knowledge/urls/__init__.py +2 -0
  430. django_spire/knowledge/urls/page_urls.py +2 -0
  431. django_spire/knowledge/views/page_views.py +8 -3
  432. django_spire/notification/admin.py +3 -1
  433. django_spire/notification/app/admin.py +2 -0
  434. django_spire/notification/app/apps.py +3 -1
  435. django_spire/notification/app/exceptions.py +9 -2
  436. django_spire/notification/app/models.py +8 -4
  437. django_spire/notification/app/processor.py +22 -26
  438. django_spire/notification/app/querysets.py +2 -0
  439. django_spire/notification/app/tests/__init__.py +0 -0
  440. django_spire/notification/app/tests/factories.py +34 -0
  441. django_spire/notification/app/tests/test_apps.py +24 -0
  442. django_spire/notification/app/tests/test_models.py +72 -0
  443. django_spire/notification/app/tests/test_processor.py +111 -0
  444. django_spire/notification/app/tests/test_querysets.py +90 -0
  445. django_spire/notification/app/tests/test_views/__init__.py +0 -0
  446. django_spire/notification/app/tests/test_views/test_json_views.py +48 -0
  447. django_spire/notification/app/tests/test_views/test_page_views.py +19 -0
  448. django_spire/notification/app/urls/__init__.py +3 -1
  449. django_spire/notification/app/urls/json_urls.py +6 -4
  450. django_spire/notification/app/urls/page_urls.py +4 -3
  451. django_spire/notification/app/urls/template_urls.py +4 -2
  452. django_spire/notification/apps.py +4 -1
  453. django_spire/notification/email/admin.py +5 -1
  454. django_spire/notification/email/apps.py +3 -1
  455. django_spire/notification/email/exceptions.py +4 -2
  456. django_spire/notification/email/helper.py +5 -3
  457. django_spire/notification/email/models.py +4 -0
  458. django_spire/notification/email/processor.py +19 -15
  459. django_spire/notification/email/querysets.py +3 -0
  460. django_spire/notification/email/tests/__init__.py +0 -0
  461. django_spire/notification/email/tests/factories.py +35 -0
  462. django_spire/notification/email/tests/test_apps.py +24 -0
  463. django_spire/notification/email/tests/test_models.py +52 -0
  464. django_spire/notification/email/tests/test_processor.py +92 -0
  465. django_spire/notification/email/tests/test_querysets.py +43 -0
  466. django_spire/notification/exceptions.py +17 -2
  467. django_spire/notification/managers.py +7 -1
  468. django_spire/notification/maps.py +4 -1
  469. django_spire/notification/mixins.py +2 -0
  470. django_spire/notification/models.py +3 -1
  471. django_spire/notification/processors/notification.py +12 -5
  472. django_spire/notification/processors/processor.py +2 -0
  473. django_spire/notification/processors/tests/__init__.py +0 -0
  474. django_spire/notification/processors/tests/test_notification.py +106 -0
  475. django_spire/notification/push/admin.py +10 -1
  476. django_spire/notification/push/apps.py +3 -1
  477. django_spire/notification/push/models.py +2 -3
  478. django_spire/notification/push/tests/__init__.py +0 -0
  479. django_spire/notification/push/tests/test_apps.py +24 -0
  480. django_spire/notification/push/tests/test_models.py +28 -0
  481. django_spire/notification/querysets.py +7 -1
  482. django_spire/notification/sms/admin.py +2 -0
  483. django_spire/notification/sms/apps.py +4 -1
  484. django_spire/notification/sms/automations.py +2 -0
  485. django_spire/notification/sms/choices.py +2 -0
  486. django_spire/notification/sms/exceptions.py +19 -5
  487. django_spire/notification/sms/helper.py +33 -23
  488. django_spire/notification/sms/models.py +5 -1
  489. django_spire/notification/sms/processor.py +20 -20
  490. django_spire/notification/sms/querysets.py +2 -0
  491. django_spire/notification/sms/tests/factories.py +33 -0
  492. django_spire/notification/sms/tests/test_apps.py +24 -0
  493. django_spire/notification/sms/tests/test_automation.py +38 -0
  494. django_spire/notification/sms/tests/test_choices.py +15 -0
  495. django_spire/notification/sms/tests/test_consts.py +17 -0
  496. django_spire/notification/sms/tests/test_exceptions.py +27 -0
  497. django_spire/notification/sms/tests/test_helper.py +50 -0
  498. django_spire/notification/sms/tests/test_models.py +81 -0
  499. django_spire/notification/sms/tests/test_processor.py +107 -0
  500. django_spire/notification/sms/tests/test_tools.py +25 -11
  501. django_spire/notification/sms/tools.py +16 -5
  502. django_spire/notification/sms/urls/__init__.py +3 -1
  503. django_spire/notification/sms/urls/media_urls.py +2 -0
  504. django_spire/notification/sms/views/media_views.py +14 -4
  505. django_spire/notification/tests/__init__.py +0 -0
  506. django_spire/notification/tests/factories.py +26 -0
  507. django_spire/notification/tests/test_admin.py +55 -0
  508. django_spire/notification/tests/test_apps.py +30 -0
  509. django_spire/notification/tests/test_automation.py +18 -0
  510. django_spire/notification/tests/test_choices.py +59 -0
  511. django_spire/notification/tests/test_exceptions.py +58 -0
  512. django_spire/notification/tests/test_managers.py +100 -0
  513. django_spire/notification/tests/test_maps.py +31 -0
  514. django_spire/notification/tests/test_models.py +76 -0
  515. django_spire/notification/tests/test_querysets.py +184 -0
  516. django_spire/notification/tests/test_utils.py +23 -0
  517. django_spire/notification/urls.py +3 -1
  518. django_spire/notification/utils.py +3 -1
  519. django_spire/settings.py +3 -0
  520. django_spire/theme/tests/test_context_processor.py +15 -13
  521. django_spire/theme/tests/test_enums.py +2 -2
  522. django_spire/theme/tests/test_filesystem.py +2 -5
  523. django_spire/theme/tests/test_integration.py +12 -12
  524. django_spire/theme/tests/test_model.py +40 -38
  525. django_spire/theme/tests/test_views/test_json_views.py +33 -33
  526. django_spire/theme/urls/json_urls.py +3 -0
  527. django_spire/theme/urls/page_urls.py +3 -0
  528. django_spire/urls.py +19 -15
  529. django_spire/utils.py +13 -4
  530. {django_spire-0.23.7.dist-info → django_spire-0.23.9.dist-info}/METADATA +2 -2
  531. {django_spire-0.23.7.dist-info → django_spire-0.23.9.dist-info}/RECORD +534 -362
  532. {django_spire-0.23.7.dist-info → django_spire-0.23.9.dist-info}/licenses/LICENSE.md +1 -1
  533. django_spire/contrib/options/tests/test_unit.py +0 -148
  534. django_spire/contrib/seeding/tests/test_seeding.py +0 -25
  535. django_spire/core/tests/test_templatetags.py +0 -117
  536. django_spire/core/tests/tests_shortcuts.py +0 -73
  537. django_spire/history/activity/tests.py +0 -3
  538. django_spire/history/activity/views.py +0 -3
  539. django_spire/knowledge/collection/tests/test_services/test_transformation_service.py +0 -71
  540. django_spire/notification/app/tests.py +0 -3
  541. {django_spire-0.23.7.dist-info → django_spire-0.23.9.dist-info}/WHEEL +0 -0
  542. {django_spire-0.23.7.dist-info → django_spire-0.23.9.dist-info}/top_level.txt +0 -0
@@ -1,20 +1,20 @@
1
1
  django_spire/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- django_spire/conf.py,sha256=c5Hs-7lk9T15254tOasiQ2ZTFLQIVJof9_QJDfm1PAI,933
3
- django_spire/consts.py,sha256=ab54JzPcaJsVKbgkIP9oB2Dn-58eOdewXxUUZlbYeRw,171
4
- django_spire/exceptions.py,sha256=L5ndRO5ftMmh0pHkO2z_NG3LSGZviJ-dDHNT73SzTNw,48
5
- django_spire/settings.py,sha256=B4GPqBGt_dmkt0Ay0j-IP-SZ6mY44m2Ap5kVSON5YLA,1005
6
- django_spire/urls.py,sha256=mKeZszb5U4iIGqddMb5Tt5fRC72U2wABEOi6mvOfEBU,656
7
- django_spire/utils.py,sha256=kW0HP1xWj8Oz0h1GWs4NflnD8Jq8_F4hABwKTiT-Iyk,1006
2
+ django_spire/conf.py,sha256=3oUB1mtgHRjvbJsxfQWG5uL1KUP9uGig3zdP2dZphe8,942
3
+ django_spire/consts.py,sha256=t8xJZKeg5w7HOvKrg7zQgCDjdqExo49Aay7f11XOD8M,171
4
+ django_spire/exceptions.py,sha256=M7buFvm-K4lK09pH5fVcZ-MxsDIzdpEJBF33Xss5bSw,289
5
+ django_spire/settings.py,sha256=0xImrKpF7VW4wc9jLGO07e2ev6D4-i_TREgpTepLp3I,1042
6
+ django_spire/urls.py,sha256=wQx6R-nXx69MeOF-WmDxcEUM5WmUHGplbY5uZ_HnDp8,703
7
+ django_spire/utils.py,sha256=WWDKmUIiZhLmI6upH2RtQ_p1kSQ69VlxIrn06W5l-BY,1253
8
8
  django_spire/ai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
- django_spire/ai/admin.py,sha256=Zhc27yJTh0j_rTuCi8Z50SVy_FfoB9uUImNxmlu7dC0,3722
9
+ django_spire/ai/admin.py,sha256=7adScAUnQICnfc0H5v_cQxEdjdBS9hSWgi3qnr8CURw,3675
10
10
  django_spire/ai/apps.py,sha256=C5wOVzm-gF9ncRHK81RHrLmd9oCnqYYareeHEnaFKl0,463
11
- django_spire/ai/decorators.py,sha256=2BtoarSfGY_hO_0--M2iVFPGneN9LuiB3dm0QcGAr8g,2352
11
+ django_spire/ai/decorators.py,sha256=26iCpWiXI06QyObgBBXEQi5SQUzCSt9oZaxxqxqb1r8,2481
12
12
  django_spire/ai/mixins.py,sha256=EsfCDxKdJ6CkUoO_ngE2lw2FPkLmbfdMfyBSh5HpJas,686
13
13
  django_spire/ai/models.py,sha256=wG2QkKfNNKCympfBeO7fsFzrLu-ieoet5FovcDn0Phs,2272
14
14
  django_spire/ai/urls.py,sha256=B-R5eDpbAbkloIj4bw-HgU-4pvuS5pMLDY5_CRzh2-c,258
15
15
  django_spire/ai/chat/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
16
  django_spire/ai/chat/admin.py,sha256=PGTQFFH5Fc9tBdKXNFITO4Ca9S7z7ma8vzWSTEKDwxM,1533
17
- django_spire/ai/chat/apps.py,sha256=UQIVzvw8Ax21_SPkeqRmXvLLd0gv6n9IWiygeyrcelw,646
17
+ django_spire/ai/chat/apps.py,sha256=fnxIrmfzCx6sZzbubHfAoZWC1zk1uDDbmD3lTYxgJ8k,647
18
18
  django_spire/ai/chat/choices.py,sha256=_ogoONrHdDmeJWBSnlDJL2Dwhh7b0skWHTHE5TDktzA,203
19
19
  django_spire/ai/chat/message_intel.py,sha256=CF7czj8gpwiaDrkoijLbkoWU9TzD3xtq_Znm0scDeug,1345
20
20
  django_spire/ai/chat/models.py,sha256=ib8SrsBKV0BeTb0sK3HyNiwJhrOZXDThKc8kcKWdw6I,4821
@@ -44,19 +44,24 @@ django_spire/ai/chat/templates/django_spire/ai/chat/message/request_message.html
44
44
  django_spire/ai/chat/templates/django_spire/ai/chat/message/response_message.html,sha256=NZDDVY1nYxvyplQobO3gW6i-sevPZd8pXSIsNacF9Yw,525
45
45
  django_spire/ai/chat/templates/django_spire/ai/chat/page/chat_page.html,sha256=atgCFgXIAIVKnD6oEFzIF7MiUFTrS7GwN8klKRdB7LE,957
46
46
  django_spire/ai/chat/templates/django_spire/ai/chat/section/confirm_delete_section.html,sha256=yJr-zmu4CV7REGnHa2uA_MqgqiftSz-r2bb7U0_5CIY,720
47
- django_spire/ai/chat/templates/django_spire/ai/chat/widget/dialog_widget.html,sha256=-TwiNUfwh81JHjSLPmE-WLM8FR0FxPM9jeL0IZwztlI,5306
47
+ django_spire/ai/chat/templates/django_spire/ai/chat/widget/dialog_widget.html,sha256=I4PAQ8iogoYA9QPL0BuYZX49bncSyLxBSr3t94CY9rI,5311
48
48
  django_spire/ai/chat/templates/django_spire/ai/chat/widget/recent_chat_list_widget.html,sha256=pbn8yyVL2i0ugyS84cmNX-nrr1K-oOAQiHnsjlQ_wYc,132
49
49
  django_spire/ai/chat/templates/django_spire/ai/chat/widget/selection_widget.html,sha256=TTYHwPpa6gyZA7zNAwrzpUd5JdSOOH76L3GpEes9UQA,1633
50
50
  django_spire/ai/chat/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
51
- django_spire/ai/chat/tests/test_router/test_base_chat_router.py,sha256=SgC4S7Ijm_1Mq2lb8r6gO3BUssc1V7mE6wCGuVxrFYQ,3624
52
- django_spire/ai/chat/tests/test_router/test_chat_workflow.py,sha256=DWKcNhoWMYZ3vrsOcOfS_KjCTXbTxBQmuJ0jRggQCGU,4297
53
- django_spire/ai/chat/tests/test_router/test_integration.py,sha256=C8yCr5bNvN4mRtwkyXlhQaeMUpZ7XZwwcmkIUWL5u1g,5753
54
- django_spire/ai/chat/tests/test_router/test_intent_decoder.py,sha256=bC7CjY0UXnd-UZ1K-jlcnmMOBUK35LCytVOvP6sa96w,4935
55
- django_spire/ai/chat/tests/test_router/test_message_intel.py,sha256=1oH0PTEjvnEzZkwrqb6uBoQvfSkPF1XzAxJNY-KytfA,2276
56
- django_spire/ai/chat/tests/test_router/test_spire_chat_router.py,sha256=08P_-maBxV6zbRFZoiruvpp7xvfqRlrx3jec9tcLK2s,3518
51
+ django_spire/ai/chat/tests/factories.py,sha256=VfPj6-r0d30rAHAMenl23SuH5SJxygeKBBk7cEmk34w,317
52
+ django_spire/ai/chat/tests/test_controller.py,sha256=suT3qjLjWVyl8ebwyz23rh3yZiWOQOubD6SMX6qXW9E,1469
53
+ django_spire/ai/chat/tests/test_models.py,sha256=3gCfZfrAXnQSIHdjUsVK9zEBSrMvwrNaUcKz8zl37vs,9369
54
+ django_spire/ai/chat/tests/test_prompts.py,sha256=NtoyMoL54arjgCzKL3wTLJhIMUHu9LK9C887WyE84Go,1560
55
+ django_spire/ai/chat/tests/test_responses.py,sha256=JVXDb-BTCVQMyAQdSgNZXhufvA8KJDktBoKsNsk7dfg,6946
56
+ django_spire/ai/chat/tests/test_router/test_base_chat_router.py,sha256=ezEOjDxFkhVwXhBAY4iEn36xVCVl_qHsFOsy0CmXSyo,5534
57
+ django_spire/ai/chat/tests/test_router/test_chat_workflow.py,sha256=xXJNrEfd-xbFTYBqgD0e4x1o8qa5WuCvNB10InDMIYU,6951
58
+ django_spire/ai/chat/tests/test_router/test_integration.py,sha256=dGCnB0FPytsxxK5FhuCWNqrsGWa_t6u1TwkAGo2gzgk,8462
59
+ django_spire/ai/chat/tests/test_router/test_intent_decoder.py,sha256=bfuiWOG5wr32G8QmypJP6qgqXrcmUsPO0ynXKltHLns,7865
60
+ django_spire/ai/chat/tests/test_router/test_message_intel.py,sha256=Ym_Mgesq0rH1qGWKDZf9y1G8_vIwX-k1i-X9wleu0ko,4279
61
+ django_spire/ai/chat/tests/test_router/test_spire_chat_router.py,sha256=3jdBpzmTnCxHCFEvOW_7SDG-hWJXXmkwMo4Aa31rC64,7739
57
62
  django_spire/ai/chat/tests/test_urls/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
58
63
  django_spire/ai/chat/tests/test_urls/factories.py,sha256=HgZAzsNtFPF1twA6PCP8btRL3-ib6GfE2dr8Mktoy5c,327
59
- django_spire/ai/chat/tests/test_urls/test_json_urls.py,sha256=SJEQdx4eOeLjRc4dYr4AIPRVQ4-1AbubKW_ozkdBDo8,684
64
+ django_spire/ai/chat/tests/test_urls/test_json_urls.py,sha256=wat2GOWrOS5IbApD7_Ulx6B4HHDLkEoTi7R1vSnuMCA,6535
60
65
  django_spire/ai/chat/urls/__init__.py,sha256=TXgZcobB7VRHtMJFismwsIkXH1iRBOjsA0JXzCXs37w,446
61
66
  django_spire/ai/chat/urls/json_urls.py,sha256=atO7QOJxSIS6If65G2md6ZhUqsOYkMyTp2aG9ZLG9VE,351
62
67
  django_spire/ai/chat/urls/message_request_urls.py,sha256=0nmG2lMSUK0TGJPAfq6tKEih8yet8lPRt6zD8fOQGGU,214
@@ -86,6 +91,8 @@ django_spire/ai/context/migrations/0001_initial.py,sha256=r0e7ou4zOcFYCP9pSGQwSX
86
91
  django_spire/ai/context/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
87
92
  django_spire/ai/context/seeding/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
88
93
  django_spire/ai/context/seeding/seed.py,sha256=u-Ae4sfn281lSTEabpoRUU2hfkqGec2vfELxcNQCppA,649
94
+ django_spire/ai/context/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
95
+ django_spire/ai/context/tests/test_context.py,sha256=BgbQ3aFUZtfiP8gla3l3Bq5JrC8k_b0I45HShKUDL30,6202
89
96
  django_spire/ai/migrations/0001_initial.py,sha256=HenKmnLBZq_UujUeDk4sKWbmMq_0yC5Kska52BDTb_U,3190
90
97
  django_spire/ai/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
91
98
  django_spire/ai/prompt/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -99,7 +106,9 @@ django_spire/ai/prompt/system/intel.py,sha256=FYlZML66cL9tFHLMePKi1WAPkRlpHl6XlA
99
106
  django_spire/ai/prompt/system/prompts.py,sha256=pjz3S_rfFeqgGvDjIj_qJ7faE3-N1RvZhyZ7l0bN6-Q,7632
100
107
  django_spire/ai/prompt/system/system_prompt_cli.py,sha256=ymO4yB9TLCguc38qYUTf2ouKAheOFy-Uz2tqre-Ay_w,1283
101
108
  django_spire/ai/prompt/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
102
- django_spire/ai/prompt/tests/test_bots.py,sha256=oIxRwLUSK7Ge1xUn06k-V6ZnEakdfY7SJ6eg1ia4xyg,1405
109
+ django_spire/ai/prompt/tests/test_bots.py,sha256=H3buVscfq2L1mVjDzwXcB8stgqD-xNXJAiNwjVRLiac,4880
110
+ django_spire/ai/prompt/tests/test_prompt_intel.py,sha256=FxVb7JFZHwApgTw7gk0OtuA0lfItHdfmNPxIdIRDQyQ,2333
111
+ django_spire/ai/prompt/tests/test_prompt_tuning.py,sha256=McJPz-uvQxYWId_iB0fDrBiYH4len8osclH7t8J156E,4512
103
112
  django_spire/ai/prompt/tuning/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
104
113
  django_spire/ai/prompt/tuning/bot_tuning_cli.py,sha256=VTVSZDwQlghD9fjz1nCLyTcbPVldoc3r2nOcGOg39ys,1876
105
114
  django_spire/ai/prompt/tuning/bots.py,sha256=wdBC3Cg4baHYJjWNqOABCxspMUDPg3z-dOUeqITOq2E,3601
@@ -111,34 +120,36 @@ django_spire/ai/prompt/tuning/prompts.py,sha256=SqGtUrZ5elyqOlIqYBHd6ExGKrwX7PS9
111
120
  django_spire/ai/sms/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
112
121
  django_spire/ai/sms/admin.py,sha256=mdB4HSqD_pNWVuVEktdGCr9poHhpwPeU6H2qMG1N0kk,1628
113
122
  django_spire/ai/sms/apps.py,sha256=sRi4UI1reoWPlFtvrpkkhprgafNl-DptWWH5iPsmdEM,414
114
- django_spire/ai/sms/decorators.py,sha256=ZnhfaHd2XkdOHFmt9RPl4dcBznNJmR4er8NqH7ESRNM,836
123
+ django_spire/ai/sms/decorators.py,sha256=jlS_EsZQOStDYHVSIYZAhyyD-qW188is5rDgxEuYGqA,1083
115
124
  django_spire/ai/sms/intel.py,sha256=VM_YbXjNx6XPM1hqoejzD73iO6fDm62D-su-i_Biy_Q,107
116
125
  django_spire/ai/sms/models.py,sha256=Ve6sNb7MVKuxQTpkNL06xnkN5v5cFPbjNEZeMErwbMQ,3376
117
126
  django_spire/ai/sms/querysets.py,sha256=VLFtHQtybwVuGCDT_AXrCQtiwnYyBNnDsZMfqJWbFV8,545
118
127
  django_spire/ai/sms/urls.py,sha256=v_ePAgj0GzqFpWUBq1UV4jYxIfWVgohqw-gcJ1WhO9U,200
119
- django_spire/ai/sms/views.py,sha256=o4sH1Qq4iMuWfTmWZblrGvh_j3328cqSaTi9wy7xin0,1631
128
+ django_spire/ai/sms/views.py,sha256=JgU_hpJloNRkreYaXagH2yteJtKeo95Y_t2LzV7su8Q,1645
120
129
  django_spire/ai/sms/intelligence/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
121
130
  django_spire/ai/sms/intelligence/workflows/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
122
131
  django_spire/ai/sms/intelligence/workflows/sms_conversation_workflow.py,sha256=MzkXRqvM5q01S6DjcltSomdIFQFU26xSqykvL0MUV4w,806
123
132
  django_spire/ai/sms/migrations/0001_initial.py,sha256=G1sverIO5VeYGX1gXGd7adsN1IMotkKL3Qo_qbO4Wdo,2780
124
133
  django_spire/ai/sms/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
125
134
  django_spire/ai/sms/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
126
- django_spire/ai/sms/tests/test_sms.py,sha256=l1-sT6rfiagX_nSycNf3QSwd6s1kIC8jc4UcAzRqJj8,1070
127
- django_spire/ai/sms/tests/test_webhook.py,sha256=EV9OO8DGHjzmHRv3C2P7m7ca6bKz3TsvDHh29kCqrzs,1284
135
+ django_spire/ai/sms/tests/test_sms.py,sha256=92fSF7Sc00TqwG7gOeLMTB10D1Bb2XXltNSqadZoGS0,7950
136
+ django_spire/ai/sms/tests/test_sms_intel.py,sha256=E6dw-p0XlnnPrj18uQ-TEmiGebeIs5UoviBB6gGlIBo,1201
137
+ django_spire/ai/sms/tests/test_webhook.py,sha256=sBBomlmpRL2h33lHIOlSTt4-pzXhQj7kDGZf72TZIfY,5823
128
138
  django_spire/ai/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
129
- django_spire/ai/tests/test_ai.py,sha256=Jr38wExt2ccf4Dh-7nZ1bHLTf2awxhzU5fMG9W_5sV4,923
139
+ django_spire/ai/tests/test_ai.py,sha256=Xjt1pWKyQCYVP47ixjEGs7fxkGoXTgRH9MFUoQc5IoQ,5404
130
140
  django_spire/auth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
131
- django_spire/auth/apps.py,sha256=lyDwlwNe-_i2073kkPHGNiHpOF1n91BK43dpOBijs88,441
141
+ django_spire/auth/apps.py,sha256=oiRo6DHzANOojgEIyh0WTLn0_h-TUrbAegqvO8jOSRg,474
132
142
  django_spire/auth/controller/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
133
- django_spire/auth/controller/controller.py,sha256=FkkxbGttCW7MOC7jv8wKXYxfFHlgpNocr_AUiiXt8Zc,2549
143
+ django_spire/auth/controller/controller.py,sha256=_2JRhpAlLkWQEhyfCfh5w8dFoIZ9j2AudhdVUTdrWlA,2974
144
+ django_spire/auth/controller/exceptions.py,sha256=yxoWnl8ZGasdGjmV_ovr_VSTt0Ys6t6uiy-Ii-6yD-c,148
134
145
  django_spire/auth/group/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
135
- django_spire/auth/group/admin.py,sha256=Dky8NfcKF2Egxfd2s09FI10fvtvlZo0U5vogMKdz17E,2038
136
- django_spire/auth/group/apps.py,sha256=zxJHx1FweMSvtNYBqk7nmvJJSnttmKBCIEQLzjkvIRk,582
137
- django_spire/auth/group/factories.py,sha256=XrUEdbPIETFW7BdAaUZu2XCw6FuOPRpbE4JGge2w4lU,395
138
- django_spire/auth/group/forms.py,sha256=SkyjlG3LnI4nBxHZJC1r3z10k2PrMw5TWogB7XsLqAY,1163
146
+ django_spire/auth/group/admin.py,sha256=eMcVZ-MiqdviAieQG5NgEuOMFv7VvTLtQFQ99ZTSHLI,2039
147
+ django_spire/auth/group/apps.py,sha256=EHmm_LSuDqiJ9QDOPNGzUa2yxxKgsSNS8LptP3q7SJE,618
148
+ django_spire/auth/group/factories.py,sha256=l0_b0c0FwrwXcYVMCRGGxeJKtwTW7d-cqjV-xi1pK5Q,695
149
+ django_spire/auth/group/forms.py,sha256=JnEcEkAtCUgQc_ztzj7-qYwfWjPEZNq1qHfaLSHJrE8,1332
139
150
  django_spire/auth/group/models.py,sha256=m_5cxrtz2-Z9Uq9Qxun-kM66yByjL0E3xR1a97VqPG0,1007
140
151
  django_spire/auth/group/querysets.py,sha256=XQG6I6tNCphQgdJIYcbs2r_IXS2THgZAINsDAV0d7Bs,166
141
- django_spire/auth/group/utils.py,sha256=oNrUQQ0ns0O7wcoyKDDv7SVHVW2KK3Jm94usGgLFmhE,2045
152
+ django_spire/auth/group/utils.py,sha256=mYOfuCg7dZeWkV9PVXn1RLu1xSOrB93ezt4pIM8-DCk,2056
142
153
  django_spire/auth/group/migrations/0001_initial.py,sha256=IpjRZsK00ovpSOuV6R5_zs7wMcYAZNYg0rvnCGcM2d0,797
143
154
  django_spire/auth/group/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
144
155
  django_spire/auth/group/templates/django_spire/auth/group/card/detail_card.html,sha256=UQWxNthDiN1e-ypGiaunnTOLiey22uHf4DkSSr9Of7s,936
@@ -169,40 +180,51 @@ django_spire/auth/group/templates/django_spire/auth/group/tab/user_list_card_tab
169
180
  django_spire/auth/group/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
170
181
  django_spire/auth/group/templatetags/permission_tags.py,sha256=nK73ZKVhgCnIAQFpD_e4TZ_hHFt9GyPJCd1tZ_56CgY,256
171
182
  django_spire/auth/group/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
172
- django_spire/auth/group/urls/__init__.py,sha256=efpuo6oZPZJsDS3-UjwkBOrcxKmyWk8M81OwsmZ4fJs,342
173
- django_spire/auth/group/urls/form_urls.py,sha256=bGofmsYfaWi7XRmaWS7zdFXgd8jNrIqNjVQVV_VdfvA,584
174
- django_spire/auth/group/urls/json_urls.py,sha256=uOQqYiYwtFN1KafQSW6vFzzvkMFaRB5jOjFtw21NpMM,423
175
- django_spire/auth/group/urls/page_urls.py,sha256=KarZ6j8PPQCDxuczLDHbJ0ALPM-67ldbJd4_bdOmoL0,302
183
+ django_spire/auth/group/tests/test_factories.py,sha256=PBOTzQsc00PGWSGDPE1a2k8piIy32kQ4Dv0soCO1HyU,5683
184
+ django_spire/auth/group/tests/test_forms.py,sha256=fn8fgQ6aZBegrfcxcAT4qv8nLoZLg2w3obEevmD5of8,10809
185
+ django_spire/auth/group/tests/test_models.py,sha256=cYKLQqLRha_XPYJyOTFPyLFE-KZfhlSP68x5lDXEeeo,7498
186
+ django_spire/auth/group/tests/test_querysets.py,sha256=e3j5zEbQnEOaEbOfSXqGvE6BG1IIJf2gA1daNWLyfK8,3936
187
+ django_spire/auth/group/tests/test_utils.py,sha256=x7R8kDg0OYCrcOsdwCQ0GDV9TOAvVyT3jMgVI2XZgFs,12844
188
+ django_spire/auth/group/tests/test_views.py,sha256=-YwhFCzvp9z9Al2YRWRFdWwHOaLLBCaAvcfWWdhmPLI,15042
189
+ django_spire/auth/group/urls/__init__.py,sha256=tBdheN5HojNmCmlMqCia53iyoUWDWvbZTrlPw6-lr24,378
190
+ django_spire/auth/group/urls/form_urls.py,sha256=c_x-HS0p4kJ5ll6l46vvcKuHE8WXpfsBV-kQA9ZMd80,620
191
+ django_spire/auth/group/urls/json_urls.py,sha256=GynPc0-EfeoGGY6MW5N07V6Y0srCuiSs4NYE6dcMqeM,460
192
+ django_spire/auth/group/urls/page_urls.py,sha256=wGV5to1pQgneipwNCjVTilV8OqrFAcbtpu48QOvbSDc,338
176
193
  django_spire/auth/group/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
177
- django_spire/auth/group/views/form_views.py,sha256=7L70faNeIYfMwjlXzDsIwVrtRedpqI_stmVwnfSZy1g,5426
178
- django_spire/auth/group/views/json_views.py,sha256=pST2eF_RaB_ePspcrXTSB4sosH8z5PqiRrnwq6lJt6Y,3527
194
+ django_spire/auth/group/views/form_views.py,sha256=KfjzreH4AGyR8fPcbq7KHnRoTxyBtQQyUSqXa2WMG6o,5521
195
+ django_spire/auth/group/views/json_views.py,sha256=QYyVGXpuaOd9mTGNFMZYD9aN4LTI6rhPhzm4Y7kaaFY,3556
179
196
  django_spire/auth/group/views/page_views.py,sha256=T8S8Ku3wCRT8LQIO0froB8RReL6ZYUZ79Z3yaK8-Usg,2226
180
197
  django_spire/auth/mfa/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
181
- django_spire/auth/mfa/admin.py,sha256=SacSWYyKe3gvEHsFT5uDdcABmuu6AZ358aGTXJ_2cPg,704
182
- django_spire/auth/mfa/apps.py,sha256=kE0sHpYNzE_vJHfOiooLt10XEvok3dfJ_v8p2TyoGZ0,379
183
- django_spire/auth/mfa/forms.py,sha256=e-zTaa7V47NSrueHzpgkf-tOKzR4On3p_m0l_NjciWQ,928
198
+ django_spire/auth/mfa/admin.py,sha256=dmPVZ6bsdTYPFnHhFRO9RobnvzQ2h57dprDcK4Sq4Z4,740
199
+ django_spire/auth/mfa/apps.py,sha256=_UdqqPDEPOBUVXI8-c5Oth0QpezOegN8v9hUEO9OTRI,415
200
+ django_spire/auth/mfa/forms.py,sha256=81Tm-xIMdob27i4nz6s7PsiOftOs4e0G6Kmueqa4uxc,929
184
201
  django_spire/auth/mfa/models.py,sha256=baebXP-TjDuimFyIh1wD9FKJd5AGz74pMZKCu7cy9YM,2115
185
- django_spire/auth/mfa/querysets.py,sha256=0nkJjYBvuw8_REapKGxCW3h4ozSsMgldlkaLvrBGAag,269
202
+ django_spire/auth/mfa/querysets.py,sha256=6Mb8Y0gRwle7GS29GbM9zeNkspfMYMuqVDGH8qYWVSA,447
186
203
  django_spire/auth/mfa/utils.py,sha256=E8ydMNWWRl8xXT9f717c8k_5ge_Q6r_8fUBWlhl5Atg,376
187
204
  django_spire/auth/mfa/migrations/0001_initial.py,sha256=DzS_kB7AE_sBf3jGE0wcdvaGQZNbpPOp0b-CRT_di-Y,1104
188
205
  django_spire/auth/mfa/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
189
206
  django_spire/auth/mfa/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
190
- django_spire/auth/mfa/urls/__init__.py,sha256=2o1bgfG1DH8Er4tK1Bwyb4GiNdxWkK982aN6-xFB8Wo,247
191
- django_spire/auth/mfa/urls/page_urls.py,sha256=1lQ_PEztg7d2Qx5-jjQQhDEOKUeODLyC8rKE40g5keA,196
192
- django_spire/auth/mfa/urls/redirect_urls.py,sha256=S6XgKg7cuybn9V2nWGukSaoV_L6qZzLdvoabkMZT6WM,241
207
+ django_spire/auth/mfa/tests/test_models.py,sha256=8AfmyGK6ZQj6d2ZKLdcSy9tgroCf30hsxBmwhFyj0Vc,8673
208
+ django_spire/auth/mfa/tests/test_utils.py,sha256=YnTtTTosIsnomxKLXfGyod_O-K6d70hl6EvOEu2Bp1U,4247
209
+ django_spire/auth/mfa/urls/__init__.py,sha256=9RzWg9L8flw92E2OrPBMnd9OZmgV_PI3X6Vzbyfl8zY,283
210
+ django_spire/auth/mfa/urls/page_urls.py,sha256=Z43X039mLKK34nBt8kzj0LROxDudE_4mX823cYarcWQ,232
211
+ django_spire/auth/mfa/urls/redirect_urls.py,sha256=D0prNqhpscNM5YxurvIRaZXEBsvGwaZYDfvGa-RRemQ,277
193
212
  django_spire/auth/mfa/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
194
- django_spire/auth/mfa/views/page_views.py,sha256=EF9s6tqVqG2OTr9PZq5GJkHWGSkgmGPktPtnMFqpi8E,1148
213
+ django_spire/auth/mfa/views/page_views.py,sha256=4AtGYMCxt-ShqRWJ_Rv36M81i7nYAIevZzC_T-bzvqY,1149
195
214
  django_spire/auth/mfa/views/redirect_views.py,sha256=Wl3m7dyboB5nMk8LmFT_IbxqjxrXCIvPkKWSLK7I77Y,641
196
215
  django_spire/auth/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
197
216
  django_spire/auth/permissions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
198
- django_spire/auth/permissions/consts.py,sha256=Sm7Oqq-lfOLpViar6yiZI2DPBYmNvbYBG6kkY1ugsag,551
199
- django_spire/auth/permissions/decorators.py,sha256=LA169sW50UUDlnpuAJuUmRzb_nvGWrR_AsyNlKXWiBE,1502
200
- django_spire/auth/permissions/permissions.py,sha256=089AidHUVx0DcpGtfJ9DAN38dyUmoUuEp8cIem8O-Is,6187
201
- django_spire/auth/permissions/tools.py,sha256=vfoI6KNLHVSaEzo1YSdNoStna0OLaoY5Xb3UBnt-DRo,2460
217
+ django_spire/auth/permissions/consts.py,sha256=jQdFq2k4h3C_T84Dh8Ux7ENHf5dI-wmxwY3oBTbpWVI,555
218
+ django_spire/auth/permissions/decorators.py,sha256=G9wlpkNuIyJPjnMJPQJ43Y8wDIDXE2zB0_zh7qQHC2A,1470
219
+ django_spire/auth/permissions/permissions.py,sha256=k-E0wevCseke6fsJOw85JtCUXJj509L-YGgMaskJNsc,5981
220
+ django_spire/auth/permissions/tools.py,sha256=x4-W8azO0d5kEqBLqKyVs7d6ANl1vNI8AoQYVmCsKxA,2462
202
221
  django_spire/auth/permissions/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
222
+ django_spire/auth/permissions/tests/test_decorators.py,sha256=393c5-Y5O3jVzgrkFdLVhVz_HPCLeHUrLnQizs8zKYQ,10501
223
+ django_spire/auth/permissions/tests/test_permissions.py,sha256=Ya_OlbSHJDXMCucuZiS3X2mRDgKctNByg73d05OYI1A,13222
224
+ django_spire/auth/permissions/tests/test_tools.py,sha256=u0MEfLL2tK66NaAbULh2uugDaavJp6j_fHfVCercLxI,11354
203
225
  django_spire/auth/seeding/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
204
- django_spire/auth/seeding/seed.py,sha256=TDbGgJb5XADk4STs5jU7VvHb9qWFWE1hhqjqsCCgn74,92
205
- django_spire/auth/seeding/seeder.py,sha256=t50d-13t2oEAHG1vgQ41qXMyq0tmPQ3jjZuFlR-BZug,722
226
+ django_spire/auth/seeding/seed.py,sha256=b21AS_ze8R1uNWGfISuiHrCZNx_TmjtgjcmrS_PLq3w,129
227
+ django_spire/auth/seeding/seeder.py,sha256=POlRoejucDD__iWCoLH6m5KesRjuBeWxM_fXf1jsg5E,758
206
228
  django_spire/auth/templates/django_spire/auth/password_reset_email.html,sha256=OazFHAbgGE_zOR3Iq3DiR7-f9r2_d5-2UOz65V8bxT8,641
207
229
  django_spire/auth/templates/django_spire/auth/form/login_form.html,sha256=7Lr4lMuNePni-eg_P5bhgcnRWTdpH3ccAVqgKmvrdbg,864
208
230
  django_spire/auth/templates/django_spire/auth/mfa/mfa_form.html,sha256=iFsNsQAiTcYc0x1jnDyPOMrlCpuFqtZh57XbnFlvxOk,756
@@ -219,21 +241,23 @@ django_spire/auth/templates/django_spire/auth/page/password_reset_key_form_page.
219
241
  django_spire/auth/templates/django_spire/auth/page/password_reset_page.html,sha256=rD6umz8bpUo8DauI4_RZUhPPSf2DnswAIg_ptCHAh08,763
220
242
  django_spire/auth/templates/django_spire/auth/page/password_set_form_page.html,sha256=kTOX7Z8PIQby4cHRh6F7W_bNwI4aO23MdyPnKL5HXFg,675
221
243
  django_spire/auth/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
222
- django_spire/auth/tests/test_url_endpoints.py,sha256=1OkAKyTqqb1KwWgGyVqGC7cUAyjjXlANSuRgwijsduo,1135
244
+ django_spire/auth/tests/test_controller.py,sha256=xSFnI1UdcxAizDhwFpsJtOpIxFXO64TBM389YcstExU,11591
245
+ django_spire/auth/tests/test_url_endpoints.py,sha256=DqgC5Wn9ZwDsQ1leHjTNfH2FToXJGCce7Y3r63u6jI4,1110
246
+ django_spire/auth/tests/test_views.py,sha256=K-sfixoDGb4FIwDI_Gs37HohNYgRSQFhJ98SmIOjg4M,15300
223
247
  django_spire/auth/urls/__init__.py,sha256=DnzwrIwkRXt6bLdTr_11fQSiX4syltE6I7wX_vXGnpw,481
224
- django_spire/auth/urls/admin_urls.py,sha256=pdufxnI9fM26iDtbGEb-Cjtz7BRqNVmxLd1egDWPak0,1408
225
- django_spire/auth/urls/redirect_urls.py,sha256=EBbIz4dnY3Kg79xrr6CKgUN8qfySYd7MIUWKzzK3FFc,304
248
+ django_spire/auth/urls/admin_urls.py,sha256=gBQCNDueQ0aav3E5NBX9UZTlMALU7Mo4RiEbQOT3_QQ,1444
249
+ django_spire/auth/urls/redirect_urls.py,sha256=ibus6lgDbe18834waDCevJaFxUHHUit7uvyJYM6dXAA,340
226
250
  django_spire/auth/user/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
227
251
  django_spire/auth/user/admin.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
228
- django_spire/auth/user/apps.py,sha256=NDPPMe6-Ud4C31cC95-Nsm3jCEb0txHLAxcNBG9f0x0,579
252
+ django_spire/auth/user/apps.py,sha256=GWgJg5Em9Nwvg_clMFTcbk2TOQWlj_tDyNYLfAOehrc,615
229
253
  django_spire/auth/user/factories.py,sha256=zYdM4GmHwhIwZaOHgUCIdRIjTvfLTL-Kwe9u6ZA9EIg,396
230
- django_spire/auth/user/forms.py,sha256=PPi1QZ7RWll8rMDP9rlOAcopQjXJfJ8-F6E5P6DfPZ8,2713
231
- django_spire/auth/user/models.py,sha256=vHhMTaS80y-D-V5NnRxz5HoDv0eHbX3jbd190I4ndFA,1012
232
- django_spire/auth/user/tools.py,sha256=LhlJS9hDhxS7zzqwtlSGfDqxcGxCcSCczX8sY0PVqn0,350
254
+ django_spire/auth/user/forms.py,sha256=Nd9zu7slUK0dOLvfc5mkP6teG96Sx_9wFqV6_aplJ_s,2932
255
+ django_spire/auth/user/models.py,sha256=xF_UwCvnK8jbubI72sLIDm0IhTZ_Ph1KLMNHxn-b8hY,1017
256
+ django_spire/auth/user/tools.py,sha256=VDAHJYtPqZlmi8QGCeJ2ODSqtNTzNmZfsCdSBUvxjCc,443
233
257
  django_spire/auth/user/migrations/0001_initial.py,sha256=PnRD6PjcoXu0MHtmS7ps34x2PQAxAY2frXDaMaaZ0ps,792
234
258
  django_spire/auth/user/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
235
259
  django_spire/auth/user/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
236
- django_spire/auth/user/services/services.py,sha256=b2lOx0I_Dj6wFapBwpzZs57hSnl_zgBU91PyTAM64iI,736
260
+ django_spire/auth/user/services/services.py,sha256=anBUWpaOkCINekF_RJf4OTjpYGHoUFBAJA3vLxCj_m0,737
237
261
  django_spire/auth/user/templates/django_spire/auth/user/card/detail_card.html,sha256=KhNLoZY2pgkc0Wib_mJVzjfwdpqxQKfsQfaFh17GJ4U,1849
238
262
  django_spire/auth/user/templates/django_spire/auth/user/card/form_card.html,sha256=Rr18Oy9shGh0h_cJo2To_iTy2v9RYuUYpCViQ9GoBHs,262
239
263
  django_spire/auth/user/templates/django_spire/auth/user/card/group_form_card.html,sha256=IrR3zOze25UsIOQqUvUZsu-2yTDuj_yBtNBiqg3EofI,215
@@ -255,29 +279,35 @@ django_spire/auth/user/templates/django_spire/auth/user/page/register_form_page.
255
279
  django_spire/auth/user/templates/django_spire/auth/user/tab/list_card_tab_section.html,sha256=Xj0dQwyt6vmNfCVmh389dXgSekuX_oQVlgwV2h1yXXU,174
256
280
  django_spire/auth/user/templates/django_spire/auth/user/tab/list_card_tabs.html,sha256=CEkRqL6or2RHmqAdEokvwZqiG9HovQfwg7DOH0VOi2c,536
257
281
  django_spire/auth/user/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
258
- django_spire/auth/user/tests/factories.py,sha256=H4KKEqj7K6le1C0qTVmfC5AADPHYboQAbu4WZgheDe4,786
259
- django_spire/auth/user/tests/test_factories.py,sha256=XtwLd0IHMdRp0drPPQ-tH-xGnr1eXY6Ap07GyUumuF4,161
282
+ django_spire/auth/user/tests/factories.py,sha256=WCy5byHF6BLprq2vR57dIA1IKScBsGXnqQanrXDOSUg,750
283
+ django_spire/auth/user/tests/test_factories.py,sha256=PCiE6NGT2PRQE9UyBBZ21X707moh8LQmpBG529zeY-w,6306
284
+ django_spire/auth/user/tests/test_forms.py,sha256=z1I7hdp-UCY0zvsyninzmGnuAMUoxNjSpQ9zTTOJGCo,17714
285
+ django_spire/auth/user/tests/test_models.py,sha256=dtc0YSdIF5ApORdSULBcH5UzneNXLLuIucy6z4f1gwE,9418
286
+ django_spire/auth/user/tests/test_services.py,sha256=2znaUTH0DG7AZ2ysUSC_gGR_W1rZFRspBHXLzjpic0k,8134
287
+ django_spire/auth/user/tests/test_tools.py,sha256=5SFv0m0Z0sgx-m4-MxHCnj5MuhH4M3h1kQi2M2xHrT8,6235
260
288
  django_spire/auth/user/tests/test_unit.py,sha256=kNBxVaD4o9AG76NvUU-SWmU-8AGLJv85C0VxjIzMetM,294
289
+ django_spire/auth/user/tests/test_user_factories.py,sha256=o1eLvbZfPq2-u1xhmJr506WXMnwjWMBMq8b9hNI3oeA,4694
290
+ django_spire/auth/user/tests/test_views.py,sha256=eDW3oTrwor_rMFaVZy9_fJkkE2NBfjA46XfaMGY9Vd4,14480
261
291
  django_spire/auth/user/urls/__init__.py,sha256=Qc1bukCPX5f989Dx0vbr3iN65h7FdR4btk-wzf-Q2Sw,251
262
- django_spire/auth/user/urls/form_urls.py,sha256=_S21SqIr8NFbJefOY243A9QoH6yRHZurg3zSK2KByEc,351
263
- django_spire/auth/user/urls/page_urls.py,sha256=-LLHhnjUp-o9tzZ9SbwmhyyYqOEo79s9jm7K5WuXXqE,253
292
+ django_spire/auth/user/urls/form_urls.py,sha256=GSiIcLaslLZPQToRDsnOlZQ75xdKGK_46Uhk8yYJ8ec,388
293
+ django_spire/auth/user/urls/page_urls.py,sha256=n3LugI46WrXY1Xy-sYebIsCx4g9kXqWGJRbFncvpiLU,290
264
294
  django_spire/auth/user/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
265
- django_spire/auth/user/views/form_views.py,sha256=pq6DusBfi5ODwfEzoVMs2fSWMK1SUIjf9rAdOr_dxC0,4250
266
- django_spire/auth/user/views/page_views.py,sha256=Ve_i5gpYnGDzoUqeCmaMMZbPDgNqJX3pRVxWvjwyJ08,1779
295
+ django_spire/auth/user/views/form_views.py,sha256=nInrlFZ_iEjULIH416iz2OA9MY2Uw3hPVMYJLgdzZk0,4383
296
+ django_spire/auth/user/views/page_views.py,sha256=CsjCHjcLxO02tZ3aeWjijdWSiU7k56iqDaMPW8cTQoU,2015
267
297
  django_spire/auth/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
268
298
  django_spire/auth/views/admin_views.py,sha256=CI-am-SMGsQo0hpNTWFG-4XcSBzdBATqVEsZL3NnIpg,2455
269
- django_spire/auth/views/redirect_views.py,sha256=xaCUeUNzN6eSqOjaxPBV6IumdbVus2Mwl22b_C078UQ,906
299
+ django_spire/auth/views/redirect_views.py,sha256=DDh060a3y3Y-ynqssn04clmGwZKZg_Nelc8Wf4z6dtI,1006
270
300
  django_spire/comment/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
271
- django_spire/comment/admin.py,sha256=U8ZapPJ6aniL0ENZ1VwpSfmzaC-9KW0ccU5z3VnjhAs,1446
272
- django_spire/comment/apps.py,sha256=kUaCY2WU2hzsRhKuqdo-fmGF8dq_5gHjXEBjnVjPZzg,452
301
+ django_spire/comment/admin.py,sha256=s2EU8oiPb06Yg0YtIBMB3uJ1hTCz_QlDK1PUvk4gK2g,1482
302
+ django_spire/comment/apps.py,sha256=G1C8lsTcmn75R1hytomjEgvncQiAqUHVMrTEuW-1EQ0,488
273
303
  django_spire/comment/factories.py,sha256=74Fo_PzET7AwDLj7JEe50Q92NSxgO14lJnDtmoPx97s,258
274
304
  django_spire/comment/forms.py,sha256=KOwOxMsOQ1YUkhnX183B7qUpYha3s7zqa423HKmtzo8,482
275
305
  django_spire/comment/mixins.py,sha256=ar7vnJEEsVUvUcyrFLTBvivTWhmIb0OjUI_8oNWF3nY,843
276
306
  django_spire/comment/models.py,sha256=jj1YGrgK8sjB1IDmEAJP7kivAAPeYwQlsMfC63zV7pU,2694
277
307
  django_spire/comment/querysets.py,sha256=iopM6CDK0IntTFJ_7-_HMT3iQFSW0QpnI_Ypj-umXHc,486
278
- django_spire/comment/urls.py,sha256=VD1tNdEFmKv5O7FlSQpelvLxmV5_n-lkMowP8TjIxZc,579
279
- django_spire/comment/utils.py,sha256=9-bDjC8EXCZuhjP2-XFIYBlnbuG45bsgxyqPTBlkQjM,1578
280
- django_spire/comment/views.py,sha256=vsLu0wxflTgewP6IFxg52nu9zXngvjIWWv_8coXM-HA,4251
308
+ django_spire/comment/urls.py,sha256=YBYs6E4UAorqXuFeHI6uC_XixltzksgwF5ipnUtZgJ4,615
309
+ django_spire/comment/utils.py,sha256=hKVigXGlkNpy1nvle_zvz9Y5-lPGKWTliTD8_TMDzKg,1857
310
+ django_spire/comment/views.py,sha256=gursVrpadqsMr0WYb_5_fMQNg6dZ8Hvdr0AOaZ0XupA,4251
281
311
  django_spire/comment/widgets.py,sha256=gZdh7Rm0gZMA344hvCOcE1X_6IMbq3ONkNxJRkKt4Gg,938
282
312
  django_spire/comment/migrations/0001_initial.py,sha256=S4-j2eszRZZ7tKRz0wrqltKgs2waTa9KTknURHCa7Gw,1894
283
313
  django_spire/comment/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -300,54 +330,73 @@ django_spire/comment/templates/django_spire/comment/modal/comment_modal.html,sha
300
330
  django_spire/comment/templates/django_spire/comment/modal/comment_reply_modal.html,sha256=aLG9o_U6wOdpGIOOl7kbcKQZCm-aIUP-nVdRzLvIPgo,689
301
331
  django_spire/comment/templates/django_spire/comment/widget/tagging_widget.html,sha256=TUPp3UweA9hT0fJ2nEfrTk6wYB2QuEBC9Bu4S1VEOB4,6889
302
332
  django_spire/comment/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
303
- django_spire/comment/templatetags/comment_tags.py,sha256=3I8nvjksGNBEEPrX8AdVf3URNIfDg8iNTMmAJ6GO8PM,703
333
+ django_spire/comment/templatetags/comment_tags.py,sha256=JMBN93GbpchJfWmqSXCr6y5Jw_MRxYvVq_xP_PmfLHw,704
304
334
  django_spire/comment/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
335
+ django_spire/comment/tests/test_forms.py,sha256=Ih53hjyS1lasqMOpzQKY0P1Lb6RDDP6OhoQzXorDfj4,917
336
+ django_spire/comment/tests/test_models.py,sha256=IeIHOlgng0yBrCN_rszyo69oDl9KZvHuhvHVrY1Kemw,7397
337
+ django_spire/comment/tests/test_querysets.py,sha256=01nhMO9Wpi_flkSA41d4l5Il8MaSqdIuJoQqOEb1uwM,3475
338
+ django_spire/comment/tests/test_utils.py,sha256=x5WQvkXOoult5V4RIUjSp4qK6Q-wEgqVm-BnyL1qWyU,3371
305
339
  django_spire/contrib/__init__.py,sha256=Cw4KTzAMKPQucNRy541gYSe9ph_JtA1rRrILaYVsb1w,100
306
- django_spire/contrib/utils.py,sha256=y8CYWE1P6kWHS8dnNZHJilF_zBUU0oriyWtC0GidrBk,130
340
+ django_spire/contrib/utils.py,sha256=IuNcM6ft6whrkPuoDkB100JqUYGZomgXMnTZeCoUvSQ,168
307
341
  django_spire/contrib/breadcrumb/__init__.py,sha256=Cw4KTzAMKPQucNRy541gYSe9ph_JtA1rRrILaYVsb1w,100
308
- django_spire/contrib/breadcrumb/apps.py,sha256=u6pmpk4FAcBShmoEykUqspobvbhkkJuUOE-n9uWzjKA,212
309
- django_spire/contrib/breadcrumb/breadcrumbs.py,sha256=k6g8fEfcjMlzwvB2S_iimSaAnHoaVct8gIAT6bo3b24,2048
342
+ django_spire/contrib/breadcrumb/apps.py,sha256=8rDWD4nAyAdH0QTHHOqXDPv6tVJTLilJeRV0-YBH2Uw,248
343
+ django_spire/contrib/breadcrumb/breadcrumbs.py,sha256=H_Cpcsli9X4GsSQ1xa_ylKWCJxw9uzUj0_RxP61hOGs,2128
310
344
  django_spire/contrib/breadcrumb/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
311
- django_spire/contrib/constructor/__init__.py,sha256=DjACil4sVPH2YCeQYbA0eIw43X6yPmXeST05NL_XINM,345
312
- django_spire/contrib/constructor/constructor.py,sha256=Xy7JHQNMHH5u-6XKY9ADqjXbcE_fYH3wRmnXPlZZfZ0,2943
313
- django_spire/contrib/constructor/django_model_constructor.py,sha256=91EUls76hG8W4gyVtKB42-I4DIrH-EKiDJdhbB_8FT4,1180
314
- django_spire/contrib/constructor/exceptions.py,sha256=JPNZlwkNOMb8XhFiLODAjaPcLJu3vZiFlP7rmrgHlTw,117
345
+ django_spire/contrib/breadcrumb/tests/test_breadcrumbs.py,sha256=gGdmR8m4jH-raAHA7popA1vX1-I4hCCWBNUi7kLdleM,5864
346
+ django_spire/contrib/constructor/__init__.py,sha256=lcBPE05Oa4wNmZRGNSscJ9zPxYuPobPmj8O1Dm78h1c,338
347
+ django_spire/contrib/constructor/constructor.py,sha256=QjOBGMI4vFR-4vnGNcYlf9W9NBIa2vB6-Y8BPKQmgGI,2973
348
+ django_spire/contrib/constructor/django_model_constructor.py,sha256=KSaazWoQaaOJ6goKDz_J-OZuPRSLLgpqEBUa4xUPo-k,1145
349
+ django_spire/contrib/constructor/exceptions.py,sha256=xvoa6Uqunk0aLBRzxQsENNI25BzZSaSwa7XW55k4B0k,142
350
+ django_spire/contrib/constructor/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
351
+ django_spire/contrib/constructor/tests/test_constructor.py,sha256=AHChGKpkgnOK8ZJs0nnz5RJtlQhGIOc9hhej8K-JEBQ,5753
315
352
  django_spire/contrib/form/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
316
353
  django_spire/contrib/form/confirmation_forms.py,sha256=K0H-8f-Ysv24aFT2mOGzCNVOyFtS7OrX7_NgHS7FW2k,1276
317
354
  django_spire/contrib/form/utils.py,sha256=9XZzUuSDqebXiX_0HhSungLi0Wvk30SIAYEU-qPKB7g,1127
318
355
  django_spire/contrib/form/templates/django_spire/contrib/form/button/form_submit_button.html,sha256=3wMz2az0G2Cx_f_g-nJjISITWHOIAIlUKEQz3dLq8Zk,1298
356
+ django_spire/contrib/form/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
357
+ django_spire/contrib/form/tests/test_forms.py,sha256=OjeY2ebWoQ_MFSixbIrbjA-Yw6UqL-tRd1ikDV-2uIY,6506
319
358
  django_spire/contrib/gamification/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
320
359
  django_spire/contrib/gamification/static/django_spire/css/contrib/gamification/gamification.css,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
321
360
  django_spire/contrib/gamification/templates/django_spire/contrib/gamification/effect/kapow.html,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
322
361
  django_spire/contrib/generic_views/__init__.py,sha256=fJU5nY61oqFCK-osl1Hnr7W2FKc_ZWeFuEkADWqCKzA,245
323
- django_spire/contrib/generic_views/modal_views.py,sha256=nDiVW9uIqNGYQx6hbY_H1YoiXg-FEKOCFow2z0qQk4A,2041
324
- django_spire/contrib/generic_views/portal_views.py,sha256=03_CUGvdAC6TKp9d_wg5TO_mykhfTJLdSSlKsjzUzkA,7894
362
+ django_spire/contrib/generic_views/modal_views.py,sha256=0YYZ3lC1qZqSP-dMXQw78s0V9JKD8DPHyR5xqtDg89k,2087
363
+ django_spire/contrib/generic_views/portal_views.py,sha256=HKwFaYnQBlp7WMlCCM4ia7hC56dMOPSnf6mYDjyzQHM,7957
364
+ django_spire/contrib/generic_views/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
365
+ django_spire/contrib/generic_views/tests/test_views.py,sha256=K646EzO9a5mFZKvYn94Wez4_fQSy5vm5bcvTb2T0v5I,13571
325
366
  django_spire/contrib/help/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
326
- django_spire/contrib/help/apps.py,sha256=UM1IoIMFNaVaQdUfACTMfUkm541TqNhOMqlp9X47zBc,193
367
+ django_spire/contrib/help/apps.py,sha256=Xbg0T0jSzKkOEeyoU2fHdycuurFpYAC67rKigNG743o,229
327
368
  django_spire/contrib/help/templates/django_spire/contrib/help/help_button.html,sha256=ikym1hVCy1OuBJnU0CWhi-aCPCrLsfP3stCs0OV3PFk,162
328
369
  django_spire/contrib/help/templates/django_spire/contrib/help/help_modal.html,sha256=kuLlVZsaSPyWUphB9dx1TO7IlqArOj6nXqzu7hcRKKw,1237
329
370
  django_spire/contrib/help/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
330
- django_spire/contrib/help/templatetags/help.py,sha256=6Ub0LWJ7-6Mmb1K_45bdZT882e5Wrx5h0k6Z9ehrrSY,859
371
+ django_spire/contrib/help/templatetags/help.py,sha256=D65Y3nvZ0Zc5Pmwvxp4YeaAJ9PlQtcz_lev_jnoQMDI,860
372
+ django_spire/contrib/help/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
373
+ django_spire/contrib/help/tests/test_templatetags.py,sha256=mfArOnlWP5WMNJ_YAbaZ2iGhN1CbL-jXh5-t68bQ91o,3415
331
374
  django_spire/contrib/options/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
332
- django_spire/contrib/options/mixins.py,sha256=69XZ7mqJWeSATSYsIjWZH08Un-F64w8hwTPvZ_pxJJI,1283
375
+ django_spire/contrib/options/mixins.py,sha256=AmuwKaM_xeXQ07vUg8zlDNxUqvlXGUE7xCTldYV2I4Y,1272
333
376
  django_spire/contrib/options/options.py,sha256=sG-t3tz5WuI0QBxXZWkQQV7j3LYVnOwyye26fj0gtww,3571
334
377
  django_spire/contrib/options/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
335
- django_spire/contrib/options/tests/factories.py,sha256=RN5orLZxl9V3szd3REJ7KpFekZlj8oYA9moSks0rl9A,1505
336
- django_spire/contrib/options/tests/test_unit.py,sha256=un3-_UkequLlnBW1jM0K4622R4U4FIn5Qg4ClgnFsXs,5574
378
+ django_spire/contrib/options/tests/factories.py,sha256=ikOprVpyFNO6DgbMuiHhmFNxWfAX6NgpjNCJ04arF8M,1562
379
+ django_spire/contrib/options/tests/test_options.py,sha256=40EOxhSXVHjxEPTwmz7AgDiPVlw4xYVn3_pVGXIbj1I,7356
337
380
  django_spire/contrib/ordering/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
338
- django_spire/contrib/ordering/exceptions.py,sha256=ebNUrHIsCNkWLOdej8643q7QwwA3Xa5mo_R2jIzh3gA,105
339
- django_spire/contrib/ordering/mixins.py,sha256=T0Gz-AeRft34UVoY2oVe3nbRF61D-xk765qdRXYYmts,296
340
- django_spire/contrib/ordering/querysets.py,sha256=qtRd6UpnYUjdKRm4RvbYxckhCtJbB_y7-TrS0Vqifwk,91
341
- django_spire/contrib/ordering/validators.py,sha256=ZqY-teh6zEPlGhSEicYUvzvCLXxRfBvmNjnWIuTh_8Q,1497
381
+ django_spire/contrib/ordering/exceptions.py,sha256=LRU70NEavsazLlSUXAKNl9zJp4Z2-maWc0UeydgTu0A,136
382
+ django_spire/contrib/ordering/mixins.py,sha256=XmopfwXNgAme-OGBpz71xO0_kCvV4Vkk-hIommognos,332
383
+ django_spire/contrib/ordering/querysets.py,sha256=xZM2gj6Xi7YLW6M2i27DQaRM8ZQAOaO1iaee3bCdtIo,124
384
+ django_spire/contrib/ordering/validators.py,sha256=R5MF8tmOEIryUgMQ5EiGNhZPyKPW5pjtBVqSHxNtef8,1473
342
385
  django_spire/contrib/ordering/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
343
- django_spire/contrib/ordering/services/processor_service.py,sha256=20EbsKOLw2CkAiuX-sn87DrYCxcA53CH02ThezT51xA,3252
344
- django_spire/contrib/ordering/services/service.py,sha256=4GJzz0TOjin0nUDGSvMyiYHj487NO4Lfdw3G_zNKh9M,468
386
+ django_spire/contrib/ordering/services/processor_service.py,sha256=Bap3tDkt7wCL6ZmL2xbZ0iN5FfVNi9ucg7rx8VX1QDk,3306
387
+ django_spire/contrib/ordering/services/service.py,sha256=452-KLqEBXzudt45TqSv3rTfw2QOljBT_oaOorwa4zI,462
388
+ django_spire/contrib/ordering/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
389
+ django_spire/contrib/ordering/tests/test_ordering.py,sha256=4VnhCYM6mIYGQsi2HVfsG03evHdQJoAyQ0cr4WomKxw,5631
345
390
  django_spire/contrib/pagination/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
346
391
  django_spire/contrib/pagination/pagination.py,sha256=m6gcDSfHLoy-DS2_Qlw-k8ZcN5DIaJb0yKzfynVrbJk,282
347
392
  django_spire/contrib/pagination/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
348
- django_spire/contrib/pagination/templatetags/pagination_tags.py,sha256=xE3zTDJZDdDvWf6D7fMyg_Vi0PW37OA3aZxCjOHDp4I,1173
393
+ django_spire/contrib/pagination/templatetags/pagination_tags.py,sha256=eQn808YU1ZM_tzs0EglcdKeQ7EZ-o-yrncW2a1oTreY,1371
394
+ django_spire/contrib/pagination/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
395
+ django_spire/contrib/pagination/tests/test_pagination.py,sha256=7NjW1Q-81Ivq0-qE6506k9i9vlyjvyHuLDF3M3ZK0ho,5377
349
396
  django_spire/contrib/performance/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
350
- django_spire/contrib/performance/decorators.py,sha256=xOjXX-3FVOEWqr2TTTqdh4lkIhmHTlROevOVgXDeyt8,507
397
+ django_spire/contrib/performance/decorators.py,sha256=vCENOqcmXoEvi1Y3Uw55J21zB-ZvpWk7rRo2jqyg8pc,731
398
+ django_spire/contrib/performance/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
399
+ django_spire/contrib/performance/tests/test_performance.py,sha256=wVNzrUEG0bTMcvJrqkSWkAE27LSyJMxrRZRd04ZKDQM,3029
351
400
  django_spire/contrib/progress/__init__.py,sha256=pvd6_7puMDWStjZqcwsWEulpeGupQPv2fladV1IiaXg,631
352
401
  django_spire/contrib/progress/enums.py,sha256=nwyfKxQno_ghGGTbpK8lRO1cY7dCfbxnnsQ4cSbkXBw,194
353
402
  django_spire/contrib/progress/mixins.py,sha256=V84LRtniFDLK2E5dKcSZNh-a1zTf9Ee7QXg1rDfoFHo,895
@@ -360,84 +409,95 @@ django_spire/contrib/progress/static/django_spire/js/contrib/progress/progress.j
360
409
  django_spire/contrib/progress/templates/django_spire/contrib/progress/card/card.html,sha256=2Ajv0UBJEGwc4InVe69aLe2u4K56yh2JAuvO6uH24j8,3353
361
410
  django_spire/contrib/progress/templates/django_spire/contrib/progress/modal/content.html,sha256=Qxer-q4GBC5h8onzno2NUlPrXluw_tO1kWlGComQ98E,5232
362
411
  django_spire/contrib/queryset/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
363
- django_spire/contrib/queryset/enums.py,sha256=nGUHwCVOCBfVXo-lrgyqRoEaMq0ZQAGOWnjALSFPjJU,108
364
- django_spire/contrib/queryset/filter_tools.py,sha256=o7OBB3Jjtyoj7aaWspkFKS2bv0BeMIigXz7DVvt6Ueo,1087
365
- django_spire/contrib/queryset/mixins.py,sha256=-fnk0nmfTUBa7dbA0Eb6ou82x0b5Kj5NnDtH654yDf8,2217
412
+ django_spire/contrib/queryset/enums.py,sha256=dkzI464Q53huqtNGfnM-biuKpHUQU78WwuWvt3Pm8mI,145
413
+ django_spire/contrib/queryset/filter_tools.py,sha256=V_s6pG2uyqvoTNtBXXXNKXE69ipwexxWAR-X30H1-XI,1129
414
+ django_spire/contrib/queryset/mixins.py,sha256=d4MxbW888gucV_sCEgGUwfQbIKWY2xFsBzqO1MvW4m0,2201
415
+ django_spire/contrib/queryset/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
416
+ django_spire/contrib/queryset/tests/test_queryset.py,sha256=XWJAFJ2q-XrD_u0ZzU8QAGuuPmPBEy3kKRVDWuwL96Y,4863
366
417
  django_spire/contrib/seeding/__init__.py,sha256=mHKO8a7fCAf70BWYjgyGgBDfssPtb3Pp9IxCVVI_4-M,112
367
418
  django_spire/contrib/seeding/field/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
368
- django_spire/contrib/seeding/field/base.py,sha256=SK8EYSsLgMRgosY8bRb3X27RpL7cq55VETf6Q_pYYr4,1198
369
- django_spire/contrib/seeding/field/callable.py,sha256=9H0ui7voZsVTv6ebty1jmjrsq95vEFMS-LNyaRaYGzM,442
370
- django_spire/contrib/seeding/field/cleaners.py,sha256=TGlpAotuYZuTUHIBpJ_dLgBpU2_k7miR09zKEc6WX20,934
371
- django_spire/contrib/seeding/field/custom.py,sha256=MVH36YKu3Ky2noomSNahuBG9rhQ65YtAJnGIYH-4yPE,2355
372
- django_spire/contrib/seeding/field/enums.py,sha256=uP0Wu9RKzV97dxua5xZTx3y7byTB9a_isIc9CUDumTQ,169
419
+ django_spire/contrib/seeding/field/base.py,sha256=QzNaursSsGIZB9JDYSyV7xCts8B7MddZYzjVFA9kVro,1356
420
+ django_spire/contrib/seeding/field/callable.py,sha256=tRg_MwV_5ZYz4r2gnXx9tsFTpNa3E5eWdKO3E7cJReM,568
421
+ django_spire/contrib/seeding/field/cleaners.py,sha256=uOSaNGpto83F3xMwW7gP48YyLB32pILT8_B2M7X4WRo,967
422
+ django_spire/contrib/seeding/field/custom.py,sha256=FMtJBmRRfUy4TQvGBABLsxd_DNmXakxZpZwvKaDgjRI,2596
423
+ django_spire/contrib/seeding/field/enums.py,sha256=hWa6enbeZEilg7JZaen5WjjP9vZduseAjEOhHzg8lIM,205
373
424
  django_spire/contrib/seeding/field/llm.py,sha256=rXwQZC6SpJmJA26PJ4GyKQZ6OL68CTAALnjXLjp8sVw,1186
374
- django_spire/contrib/seeding/field/override.py,sha256=8THTppZMPve2LgxzRdkVL0TPSGmlFUpGWaVemcwm3LM,1078
375
- django_spire/contrib/seeding/field/static.py,sha256=qxO3Nh5zt7_PlDmweMeHDzlzP3l8jMI9Bi_QpNLFSW8,339
425
+ django_spire/contrib/seeding/field/override.py,sha256=xdHnSlNloOBzBHQVG7STf744HYicy0JkHx1vNauznkw,1276
426
+ django_spire/contrib/seeding/field/static.py,sha256=wUE4uFrFGxZXUJ7dGBC0BZJq9QYBGk5rJcMoLpIvdVY,471
376
427
  django_spire/contrib/seeding/field/django/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
377
- django_spire/contrib/seeding/field/django/seeder.py,sha256=vbgMrQyuXgzIT7q1P51L_DqjylsJfrL6O4IGvgYgoPc,4748
428
+ django_spire/contrib/seeding/field/django/seeder.py,sha256=qpRwXwPQ7HHReTOyjlkB8TZZ-oBJJeqr6LEDnnKluXc,4787
378
429
  django_spire/contrib/seeding/field/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
379
- django_spire/contrib/seeding/field/tests/test_base.py,sha256=HoTFTuoPXRBZAgRKrN4CBnpRkm2HkDKvVBiGczospd4,745
380
- django_spire/contrib/seeding/field/tests/test_callable.py,sha256=FUhtZbCeTAnyCyWJdfO6t4hyY--Q2xi4-lhX8-brUEM,600
381
- django_spire/contrib/seeding/field/tests/test_cleaners.py,sha256=BaYDZ6axbd6SYUlYorYuKtJwy0_ERlZZ60HQTckUgfE,2196
382
- django_spire/contrib/seeding/field/tests/test_static.py,sha256=9Y_eVVwYIcwQBmZ7B8KLWU8DRBnO10xvstlO5l3msVo,558
430
+ django_spire/contrib/seeding/field/tests/test_base.py,sha256=Pmf69oXhVEvUoaQE2XODRDp5DmoUenbCmj7POeqDnk8,796
431
+ django_spire/contrib/seeding/field/tests/test_callable.py,sha256=f5eMcjvFgwzKzjAG9sal-H5jbFdfC84VCI7QzD61qMY,627
432
+ django_spire/contrib/seeding/field/tests/test_cleaners.py,sha256=D6fA50CWHTaoq5qJa6_t9STGflaYHAMoTgpJau1ODJU,2211
433
+ django_spire/contrib/seeding/field/tests/test_static.py,sha256=Dhz2WVgx_oEIwyi5RCR5hYcmNvwN5NQIYExMsksE4eE,585
383
434
  django_spire/contrib/seeding/intelligence/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
384
- django_spire/contrib/seeding/intelligence/intel.py,sha256=1w9cdz-l8W27_293XgdhHQkobS0T5QLGzfrDRMeO6JY,219
435
+ django_spire/contrib/seeding/intelligence/intel.py,sha256=hNJTHxP-7XsNJgYt4jDS_RXoAEtkVrH7xoSSms4Az58,302
385
436
  django_spire/contrib/seeding/intelligence/bots/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
386
437
  django_spire/contrib/seeding/intelligence/bots/field_seeding_bots.py,sha256=7NxwPG9q1k48acB6E1P9Tu2wIO5eaLR7ZgSZpQuz9yE,1050
387
- django_spire/contrib/seeding/intelligence/bots/seeder_generator_bot.py,sha256=YOIIdhWgtO_xh611qxP0D4-qIq_dz791pN2iCKhfebU,976
438
+ django_spire/contrib/seeding/intelligence/bots/seeder_generator_bot.py,sha256=UxbEJyFkKrqPC1mCnAfqSgkja62l-arlPtyM7aRqQCc,1012
388
439
  django_spire/contrib/seeding/intelligence/prompts/__init__.py,sha256=mFUv-rFIm2COBcHf_Gabby6UJn2abIW-itqcDWKyiTU,447
389
- django_spire/contrib/seeding/intelligence/prompts/factory.py,sha256=XGoJeI-EWYv4o0t2Xo0s8HBqcBalYgDmoCQNcp8rztY,638
390
- django_spire/contrib/seeding/intelligence/prompts/foreign_key_selection_prompt.py,sha256=e-FFmFbxcJuJrEpKkVSq87XqgW0bkdwAF2U0PECpkvQ,778
391
- django_spire/contrib/seeding/intelligence/prompts/generate_django_model_seeder_prompts.py,sha256=rz-e-lOvG_dhzEL7izQOUxQGw1KeJ0MlJz_ceqEmuGg,2383
392
- django_spire/contrib/seeding/intelligence/prompts/generic_relationship_selection_prompt.py,sha256=1L6bRbtgilhjYm05SRyJ91SVgMEySbsLc-9QrHe_2ME,1955
393
- django_spire/contrib/seeding/intelligence/prompts/hierarchical_selection_prompt.py,sha256=CU5-6ea6JS77hzIgqZB9Yvz4CBjLXyyfW2kGIffKUJY,1817
394
- django_spire/contrib/seeding/intelligence/prompts/model_field_choices_prompt.py,sha256=p4n6XB75G_rOd3dFTW45f8MY_9YyY6EfLUeFw0brjjs,576
395
- django_spire/contrib/seeding/intelligence/prompts/negation_prompt.py,sha256=zU0jbfK8ARswZ69TBiLsU9K9RM4uqOlgaRVf8ECX8RI,344
396
- django_spire/contrib/seeding/intelligence/prompts/objective_prompt.py,sha256=RscWw7kf0DhGMcTwQ9UqPkv4HjUTnU9AmrT2IFWA-0s,476
440
+ django_spire/contrib/seeding/intelligence/prompts/factory.py,sha256=RcFqcNDLc4_knEux4l1VgP921dNASr3XrA5JQhlQY9A,730
441
+ django_spire/contrib/seeding/intelligence/prompts/foreign_key_selection_prompt.py,sha256=roTmuaX-jzV2QWzMorVE5aVwz8GqHN8Ln6ELN4GjAxg,870
442
+ django_spire/contrib/seeding/intelligence/prompts/generate_django_model_seeder_prompts.py,sha256=5_8sWud-MJn8E03Fc8ld1yq1TzHPodYxZe7GMNv6W3U,2419
443
+ django_spire/contrib/seeding/intelligence/prompts/generic_relationship_selection_prompt.py,sha256=5bMsVAxYdherxVwgcBbk8Un41d7LNs1fNMqzepDmsjI,2048
444
+ django_spire/contrib/seeding/intelligence/prompts/hierarchical_selection_prompt.py,sha256=PWyIkgzV8bHvgLkHd8IUreriJ84UdcGS7rMBJ3HbGE4,1908
445
+ django_spire/contrib/seeding/intelligence/prompts/model_field_choices_prompt.py,sha256=V_ic6Dx-ce9HMyrA1IPjmPo-1QjPq95junS3BcM4IAc,673
446
+ django_spire/contrib/seeding/intelligence/prompts/negation_prompt.py,sha256=U_p40q7UJLyjL4wd2w2vznJSfjszKHoPS_Rih_dpNV0,380
447
+ django_spire/contrib/seeding/intelligence/prompts/objective_prompt.py,sha256=JHoVCjrAZYLpOaO3GkGBcivVq_VnTloNidFfYnaLXzA,568
397
448
  django_spire/contrib/seeding/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
398
- django_spire/contrib/seeding/management/example.py,sha256=gVRnd5prEbIFgehoUOL8TMYiLgSHI5SxK7fQU2VFTkc,632
449
+ django_spire/contrib/seeding/management/example.py,sha256=PHVjw5FC3nqY6-QpP_TuG5GonSpLr3tRqq2RREoTyCc,668
399
450
  django_spire/contrib/seeding/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
400
- django_spire/contrib/seeding/management/commands/seeding.py,sha256=MQKYtw2HmoKbBfQAy_ajmxXgRTmzurmF__b0DE3v_wk,1617
451
+ django_spire/contrib/seeding/management/commands/seeding.py,sha256=ILVxWzX8IYeaZTtt8vsbIPlHEhJQEARyC2Rktpdni0w,1765
401
452
  django_spire/contrib/seeding/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
402
- django_spire/contrib/seeding/model/base.py,sha256=76YEN472kCa4ZrI9pl612NpyElGtIIK7G-R4JA7ysD8,3215
403
- django_spire/contrib/seeding/model/config.py,sha256=ithRH5Em1ixKCVRMGenQsdRaOGuS0BkNMIicsRWH1-c,2049
404
- django_spire/contrib/seeding/model/enums.py,sha256=jLh6araHD6LrhzCvex8-xNQQLru2Y6XxjPKkiC0ISCo,129
453
+ django_spire/contrib/seeding/model/base.py,sha256=Cfmwq1XcJJS8I63AtCSXsPyHttJH1k9u9MPpppufROQ,3436
454
+ django_spire/contrib/seeding/model/config.py,sha256=gB1ru5qUdavfynV1p-oOUew5-JLFmvLrJRcnB7uiDW8,2303
455
+ django_spire/contrib/seeding/model/enums.py,sha256=5rNGos-0BpNvfLrc9OhM0ocbkC-b6yWmBFCYtUQxd4g,165
405
456
  django_spire/contrib/seeding/model/django/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
406
- django_spire/contrib/seeding/model/django/config.py,sha256=_-JlbDw_ELvb-i_XC32LMwFwG4axK0mXoqwYvjae3NA,1891
407
- django_spire/contrib/seeding/model/django/seeder.py,sha256=IZ3yMZKXr0vXdxF750V2KNbndGCwCtuhVGW4Cmgqh3U,1897
457
+ django_spire/contrib/seeding/model/django/config.py,sha256=u01cA6baINvGzg-RuYnMSV6PocMfGpAlDANiUs5Nqio,1904
458
+ django_spire/contrib/seeding/model/django/seeder.py,sha256=1ZANj6sltbInmR0W4tY2Fc0V7buqR8e-2KuCSb7cvLs,1904
408
459
  django_spire/contrib/seeding/model/django/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
409
- django_spire/contrib/seeding/model/django/tests/test_seeder.py,sha256=bsWy5kSf4YjFh06QrfWhOGwkZX-C2ejqqrdH4GL0WKE,1838
460
+ django_spire/contrib/seeding/model/django/tests/test_seeder.py,sha256=Eexf7DqZbOogMFGiwHqdtVZD3hHBOO1KTnYhrjoYO9U,1942
410
461
  django_spire/contrib/seeding/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
411
- django_spire/contrib/seeding/tests/test_seeding.py,sha256=Tz5yfWQvGERs9uvq4k5PsA1InWnN0Evw95LReS6ibgE,766
412
- django_spire/contrib/service/__init__.py,sha256=FgCGyb56locbexMgGhYUm_NlsC9kMP15SaJznC5C9Nc,223
413
- django_spire/contrib/service/django_model_service.py,sha256=urQoEcrj2w3zxEILX0nrvehAHm1hKfYjSkakpjTjfxE,2809
414
- django_spire/contrib/service/exceptions.py,sha256=cQZitr-CiSJ1Aeah3L4kNYcFcicCGMu5AQtEI3TwiUE,113
462
+ django_spire/contrib/seeding/tests/test_config.py,sha256=hKowb5Wfaj1DN8hBMV54F4n2iEX6e7IqDaDSROFEOeU,2256
463
+ django_spire/contrib/seeding/tests/test_custom.py,sha256=yamexixtZp9_AJzuxo9U1XWZf8wrxpkqjtJZSfZjvyg,1168
464
+ django_spire/contrib/seeding/tests/test_enums.py,sha256=tpysk3dKDtOXfD-0ebqSTBbanUQDyhP0xI35kjsOyqo,1282
465
+ django_spire/contrib/seeding/tests/test_intel.py,sha256=Hi6Jr91nBIPoLGt4KtRZO4-uGq5gTCMltJ8tHMgDCUs,980
466
+ django_spire/contrib/seeding/tests/test_override.py,sha256=8eliLQBsQ7n1-ARqXLQdZOcrWDD8XhWfYoc_iaDaktM,1843
467
+ django_spire/contrib/service/__init__.py,sha256=EB44rklqr317T2tDXDW5qocfQDE7b4f2UFjf7DAWj-0,215
468
+ django_spire/contrib/service/django_model_service.py,sha256=gky7mEqKw1s7YNa2y2IhlKefBABIZAb_R1QmDVPHqfI,2824
469
+ django_spire/contrib/service/exceptions.py,sha256=nIfh1kjeCN94eZE12zR4cGtvn3xKC2WAr_1KVakU28E,138
470
+ django_spire/contrib/service/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
471
+ django_spire/contrib/service/tests/test_service.py,sha256=p1d_L4P5TcPlD_imFHWmBMoToU-vJY4RGUrLxqbXhRE,5094
415
472
  django_spire/contrib/session/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
416
- django_spire/contrib/session/apps.py,sha256=e2lvkf3lZIFYMsgzsdIb97kP3TSYF8W2u26lb0qqZkw,221
417
- django_spire/contrib/session/controller.py,sha256=wXnBmoRz_HBOvsxjkndv76AEG7itmTwoXZq6LcwPjME,2926
473
+ django_spire/contrib/session/apps.py,sha256=zrDjGlxth4TvLZel-CSGt-CQa-S8Xs92sM-uq5m7d58,257
474
+ django_spire/contrib/session/controller.py,sha256=4kOTDw4URLy3pCBWqWfwuOKEHzpjNT6iKVDU8-uH7Zk,3022
418
475
  django_spire/contrib/session/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
419
- django_spire/contrib/session/templatetags/session_tags.py,sha256=wVlW5_d6AMsMWqCwCgX39r6nS5NS6vbl7hmi_ZrVKmg,459
476
+ django_spire/contrib/session/templatetags/session_tags.py,sha256=9N6vOFItIdTGgGydQNoL8yQZHqCxPp-PS7SqpsevylI,668
420
477
  django_spire/contrib/session/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
421
- django_spire/contrib/session/tests/test_session_controller.py,sha256=KSRBWSKnEe5lkeFnuzUpmF81vcyeQp3J3bHAIKXjcFc,4016
478
+ django_spire/contrib/session/tests/test_session_controller.py,sha256=85e8dAjH6Tp4ovq4h99XSE11V2_9IAKqyep3F6c2xVM,6043
479
+ django_spire/contrib/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
480
+ django_spire/contrib/tests/test_utils.py,sha256=h6TDzpKfW-eJopWIWIkWoX2Cpp7qM0tRQChZwC-VkDE,1035
422
481
  django_spire/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
423
- django_spire/core/apps.py,sha256=nIhw9qtKP_5yVHMY7EpMvDlxjkdTWLwmDXNqD4F6dCg,279
482
+ django_spire/core/apps.py,sha256=teUBiCGzTxAcfSKt6GPyfAvE5INsY_ap2_6kLxi1jyY,315
424
483
  django_spire/core/context_processors.py,sha256=v2m0ilcDGTIzrPznK3gQvL3_YXSq749aCO1VydXFRdI,1506
425
- django_spire/core/decorators.py,sha256=-zRi8lSRqbGMTxBEJ3Ek7sLmowgpLDMhC0at80Fu8vo,674
426
- django_spire/core/maps.py,sha256=5q48KuTT7NB-oLFTKpL7A3QuCQHAjdEZvp_JPQdlRy0,1508
427
- django_spire/core/middleware.py,sha256=KlzcJ5DLi8FZsk5Ccku-pDh7mLcWJhdhHRRHJAPuzOc,938
484
+ django_spire/core/decorators.py,sha256=0p_dbdv6UMGI3UO7YgwNGq6I3T2MAYi-JxruilA3Hw4,979
485
+ django_spire/core/maps.py,sha256=tG6YOZ8p-ThZ-G0bFnVkFzE8p5C8qbrEQsecXoOnbTQ,1544
486
+ django_spire/core/middleware.py,sha256=YbQtHlwVTUlCbIQmEjn9hVlNlIZqaHDyVY65StveOlU,1059
428
487
  django_spire/core/models.py,sha256=-4p4u2zWd6huWzfWMoTdHxOEtNzWd8VQWQGzO5M1eYQ,223
429
- django_spire/core/shortcuts.py,sha256=hNmF-Ugp55zNfEsDTGbN9mftrALqZAxNXubO_n3GTm8,2767
430
- django_spire/core/urls.py,sha256=A0ylc3k9QuPJrWzNEyvqj7aTxaCNKB0StsZ4jTB76dc,509
431
- django_spire/core/utils.py,sha256=IrLFwuvhQzsa11wMDNumnHfnkdLBxkkRri6mtjGDXuQ,1003
488
+ django_spire/core/shortcuts.py,sha256=Zb5N2Zn968XshvE_DN9LEYQcQkz_2cljMUGcfBBk_A8,2761
489
+ django_spire/core/urls.py,sha256=fSM-gohKowwNkh976CAM2MX0hsOCCdu10Ykax0861ac,537
490
+ django_spire/core/utils.py,sha256=QMgdcOy07mLVKjp_onfyfSdqQ7nfInd_xvMyvNEhXjA,1066
432
491
  django_spire/core/converters/__init__.py,sha256=ruwegt86KWKPn9VldOXftTLL-r67R3Pm7xawppw6YVg,226
433
- django_spire/core/converters/to_data.py,sha256=ysl8i_lDHhwvWAT8h-Sbikc2Z01ztfHA_bVxXo2S7O8,4485
434
- django_spire/core/converters/to_enums.py,sha256=JloDeeKtC6pwYmTrX8yg7552y1WgwxjoqUPrXKf6yKA,221
435
- django_spire/core/converters/to_pydantic.py,sha256=ffSAma6cUt7-pg-j8dFZ1pFsDYUhhGrhnI8u_hPCJpQ,5902
492
+ django_spire/core/converters/to_data.py,sha256=9DwKtQHU6x3_lJPEgdELkHhY1DAyfPhDNsqLQzUkuwU,4693
493
+ django_spire/core/converters/to_enums.py,sha256=Jxp9h3lUgR0-zbxJBLZUPtMztQ7fG4-JbTeMTElU-mU,249
494
+ django_spire/core/converters/to_pydantic.py,sha256=39Fw7BALFkeRP9sERzqYCPVtnBNwwzKLU4GTGghgg2I,5823
436
495
  django_spire/core/converters/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
437
- django_spire/core/converters/tests/test_to_enums.py,sha256=OQZcvGgUJV6OvkJNmVPCnj_45s2Sx-tkUF7ZYvBD4Qs,2612
438
- django_spire/core/converters/tests/test_to_pydantic.py,sha256=4muzY4wQJBE1BfL3qB-ePl9km_k-wIemL8M_Qtt9mIA,8358
496
+ django_spire/core/converters/tests/test_to_data.py,sha256=fuFC7r7v1-SBPYeIoWM96laq2gX-sR8zt_cywGyq2Z8,10329
497
+ django_spire/core/converters/tests/test_to_enums.py,sha256=WDijVkoyE0hiLAU1HAI6-wngxvRW_ZylyNfUiLFTy2I,2891
498
+ django_spire/core/converters/tests/test_to_pydantic.py,sha256=WDltjFZxXKq3mVCBSe-RTB1JyvkxOIxwwNmr3vLKUAg,8554
439
499
  django_spire/core/forms/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
440
- django_spire/core/forms/widgets.py,sha256=_XgJZ9SoMJ4yz-NhLCAOppSvEWk_5JLUtn3I3_lbEkQ,654
500
+ django_spire/core/forms/widgets.py,sha256=xnwtPgPOWl8UkqMlIumSoCq98VTXgd76Iu3OLZI0zyk,692
441
501
  django_spire/core/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
442
502
  django_spire/core/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
443
503
  django_spire/core/management/commands/spire_remove_migration.py,sha256=G3dibVdzvEm9ZMfE_czOk6SyPDn5IEpJ3m1nw-rxuYs,1755
@@ -457,7 +517,7 @@ django_spire/core/management/commands/spire_startapp_pkg/user_input.py,sha256=kj
457
517
  django_spire/core/management/commands/spire_startapp_pkg/validator.py,sha256=q6fsyRmR1kcN2eAFu-5pDaadJ05FDog7N23eR215Yx0,3322
458
518
  django_spire/core/management/commands/spire_startapp_pkg/template/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
459
519
  django_spire/core/management/commands/spire_startapp_pkg/template/app/__init__.py.template,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
460
- django_spire/core/management/commands/spire_startapp_pkg/template/app/apps.py.template,sha256=hry02l60eqkUVUraogSZ9XRoZAFqrUkJw51U0KOcBuc,393
520
+ django_spire/core/management/commands/spire_startapp_pkg/template/app/apps.py.template,sha256=KG--onS7UQG7a1KUe142OzejZb3sBGOXSedSY-lU9Yw,429
461
521
  django_spire/core/management/commands/spire_startapp_pkg/template/app/forms.py.template,sha256=zdHsuTjk_fM2s7o0_JgcHioIZKxBcmo4vziHXYEYHmA,361
462
522
  django_spire/core/management/commands/spire_startapp_pkg/template/app/models.py.template,sha256=U5-5feDcgy63uPiuxm5mwrtsoC61ExAIyhK1c-pK3iY,1406
463
523
  django_spire/core/management/commands/spire_startapp_pkg/template/app/querysets.py.template,sha256=my06IPSuiyKw1Goj7-cAMWRIRWDSY0RFpkrmFYLwuiE,539
@@ -491,9 +551,9 @@ django_spire/core/management/commands/spire_startapp_pkg/template/app/tests/test
491
551
  django_spire/core/management/commands/spire_startapp_pkg/template/app/tests/test_views/__init__.py.template,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
492
552
  django_spire/core/management/commands/spire_startapp_pkg/template/app/tests/test_views/test_form_views.py.template,sha256=ZXbAwKt9jl9Wv_ho-DoBQGdhRpPXld7PFbIFWfPLCMo,196
493
553
  django_spire/core/management/commands/spire_startapp_pkg/template/app/tests/test_views/test_page_views.py.template,sha256=ZXbAwKt9jl9Wv_ho-DoBQGdhRpPXld7PFbIFWfPLCMo,196
494
- django_spire/core/management/commands/spire_startapp_pkg/template/app/urls/__init__.py.template,sha256=oLUVg3_pnCtG-wRGA38vmLU7J__SIw1xUtrhi0EvlQI,252
495
- django_spire/core/management/commands/spire_startapp_pkg/template/app/urls/form_urls.py.template,sha256=D2ReVjflX_ZIVU3xGJzokHWnWdwpLEfW92gAMQxo-Pw,641
496
- django_spire/core/management/commands/spire_startapp_pkg/template/app/urls/page_urls.py.template,sha256=f3y2mJCP92HrLMw37T7xSUc1E6Ky8ZnqiFIzJYnM3jc,262
554
+ django_spire/core/management/commands/spire_startapp_pkg/template/app/urls/__init__.py.template,sha256=fPEmfEX9UIIFXQ5Xh570s8Np3NGJgJSUtVBT6OHQndA,288
555
+ django_spire/core/management/commands/spire_startapp_pkg/template/app/urls/form_urls.py.template,sha256=a0v-kIjlbcpMKeSQmfRUs00DeYAAyCfmVLDSZyJMmfs,677
556
+ django_spire/core/management/commands/spire_startapp_pkg/template/app/urls/page_urls.py.template,sha256=PR3pHMcuHyxVd6fd_q5TQIs1n9lowhfRSJIBie_9yr8,298
497
557
  django_spire/core/management/commands/spire_startapp_pkg/template/app/views/__init__.py.template,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
498
558
  django_spire/core/management/commands/spire_startapp_pkg/template/app/views/form_views.py.template,sha256=np31b1k9htY_alOGc9VqDasomtiQRUfNtRKVObAP3H4,4548
499
559
  django_spire/core/management/commands/spire_startapp_pkg/template/app/views/page_views.py.template,sha256=QMozesEIYhDMhsvVJH_MxgobE-SVnczP5dRmTdxyMFM,1409
@@ -506,19 +566,22 @@ django_spire/core/management/commands/spire_startapp_pkg/template/templates/page
506
566
  django_spire/core/management/commands/spire_startapp_pkg/template/templates/page/${form_page_template_name}.html.template,sha256=JdUCGpWgCvwg328dgAkCA9b7MGTyQG2EZs_Dol8c-pM,346
507
567
  django_spire/core/management/commands/spire_startapp_pkg/template/templates/page/${list_page_template_name}.html.template,sha256=Ve0RVvWjMU6m33wXdDv10MkDoEFKWULuu-1_BK-O4aI,254
508
568
  django_spire/core/middleware/__init__.py,sha256=BvBwVHLVebknJkObtKk_s5OqaIJaAmnavTvnnv4TBO8,149
509
- django_spire/core/middleware/maintenance.py,sha256=IMeG_irw0MrrkoheDYoeBq7JiwTpdCFKNK3CmQT4VBw,911
569
+ django_spire/core/middleware/maintenance.py,sha256=QWtsC7F1mQ7XcZSwyjLUeDmW3XwyWqgfa8ow03_fS4M,917
510
570
  django_spire/core/migrations/0001_initial.py,sha256=kbwHzfNnEf10O1rvqjXPhTyMT0ThZll_YtxHxDpq9GY,675
511
571
  django_spire/core/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
512
- django_spire/core/redirect/__init__.py,sha256=ubAsz_h3ufwgNNkdtqiJQDgXc6DodE2LTUyBwi9dgkE,71
513
- django_spire/core/redirect/generic_redirect.py,sha256=mbW0Gclaybe2PbhM_BwdJ5WuCJDX2Gti4BxlG9q7Yxw,1234
572
+ django_spire/core/redirect/__init__.py,sha256=A8r71gHmeJW8wefR6tbeJlxonvM_rqD67anTo5kCtzA,111
573
+ django_spire/core/redirect/generic_redirect.py,sha256=LcF6lC62hLQzHeAnzkEGbjGVewD6nXr8RR6PVxgTGO0,1229
514
574
  django_spire/core/redirect/safe_redirect.py,sha256=FGxURTuosytCE6Ypv6JkJjxGv3uHxLWgxtjmOLG8qE0,2891
575
+ django_spire/core/redirect/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
576
+ django_spire/core/redirect/tests/test_generic_redirect.py,sha256=6S7uI2LwWYsrnmMrWqUADGfQbnugeSiXxkeEvUYArMs,995
577
+ django_spire/core/redirect/tests/test_safe_redirect.py,sha256=AgkXEcUzYV03Zu8oqm-QWh4xmMk-ZiJC4UklZHu5X64,6632
515
578
  django_spire/core/static/django_spire/css/app-background.css,sha256=9O7qhtRw98dIHjTO0ZWYhnAov19RZc4M3QNl4jHx7Xw,12160
516
579
  django_spire/core/static/django_spire/css/app-border.css,sha256=z_DT3sB5tNQFu4Y7gSqYFn_bpOmEgEgJCrNmAnmSGDI,3439
517
580
  django_spire/core/static/django_spire/css/app-button.css,sha256=iUPOFgXp2v_gsNBeX8-CoDEWg_oIBAF1khNue2bdq40,8095
518
581
  django_spire/core/static/django_spire/css/app-default.css,sha256=RLVP_vLlkNx_UpNmMmgO73R3UUB_h3sVHt8I2z_iPVk,315
519
582
  django_spire/core/static/django_spire/css/app-import.css,sha256=HMoCBzxpPXvOqxj_BOo_yqtYvODFouRbKqs4Wgg_rOU,418
520
- django_spire/core/static/django_spire/css/app-layout.css,sha256=Wwnbf3tJ3khvTAC2DgzXPtgfR3rWyfMzQ1wljCNsOLo,458
521
- django_spire/core/static/django_spire/css/app-navigation.css,sha256=G4P2FR2PU3DDI4oEtvS7TQPbDwRAJdCevwPEvoyVx3c,2504
583
+ django_spire/core/static/django_spire/css/app-layout.css,sha256=jHPzucn16bE6B2tIo6IfTCNXFzQFe0ZxlIG4_y4mzrA,458
584
+ django_spire/core/static/django_spire/css/app-navigation.css,sha256=maHVWpbWXKu0O7UPvKgETwRS9Jj2mFhINLF-C3UFvUk,2584
522
585
  django_spire/core/static/django_spire/css/app-offcanvas.css,sha256=SxDsONE1eqERJ1gDAP8chjoJ0aD0Q1VHBPqRWJi8-Mw,178
523
586
  django_spire/core/static/django_spire/css/app-override.css,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
524
587
  django_spire/core/static/django_spire/css/app-page.css,sha256=pB-sSZc9NEUkkMcCfzzrCfeiggGmhONn8Eid5HLs8c0,363
@@ -527,7 +590,7 @@ django_spire/core/static/django_spire/css/app-template.css,sha256=D5ORspwfokNqRW
527
590
  django_spire/core/static/django_spire/css/app-text.css,sha256=YQYhTsXux7vVuZhzsyHV5TuPCpKam8F14GiOnMcGOyk,10141
528
591
  django_spire/core/static/django_spire/css/app-theme.css,sha256=6vxu-tNDS4i1wWwLxdkCuiucN_ZKzGqwZmqZ8Vcwzk0,421
529
592
  django_spire/core/static/django_spire/css/bootstrap-extension.css,sha256=KJAAz64fGLQn_3TP-PxTrD7-M8JDebC96HMmi2bivAs,13654
530
- django_spire/core/static/django_spire/css/bootstrap-override.css,sha256=BJYXU2Cz9NCGAlNunAOLi8TCIwDb4NqMdp_wonh_6E8,10471
593
+ django_spire/core/static/django_spire/css/bootstrap-override.css,sha256=J6t5aNYeuAxMJlvjWz5L8pe7nsAKceNH0nzmckz8PuE,10526
531
594
  django_spire/core/static/django_spire/css/bootstrap.css,sha256=GEgESnyGv91X48AEz35ovTv1fF8JPaB_VZB-JXJjdb0,155840
532
595
  django_spire/core/static/django_spire/css/flatpickr.min.css,sha256=RXPAyxHVyMLxb0TYCM2OW5R4GWkcDe02jdYgyZp41OU,16081
533
596
  django_spire/core/static/django_spire/css/themes/input.css,sha256=dHY08qEODw-L1xbelx2q-5zu7g9hznVw3Ii3INKlQKU,738
@@ -590,17 +653,19 @@ django_spire/core/static/django_spire/js/ui.js,sha256=Xrnw6cMmddCiUKC7iAJn1U7lk3
590
653
  django_spire/core/table/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
591
654
  django_spire/core/table/enums.py,sha256=QzyjZTEeonEPEFCGFOLQT-siHOED_woyy2w9ECbV8rM,533
592
655
  django_spire/core/tag/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
593
- django_spire/core/tag/mixins.py,sha256=jbBlg-ycTUE7SX1j08iRE2cu8_9j6dp5eI2uzeoYC7Y,707
594
- django_spire/core/tag/models.py,sha256=XBxDvfwl_k0dWxm9eClD1jxzVu--gRLQu5FMwmzY8Xs,817
595
- django_spire/core/tag/querysets.py,sha256=vLdAV9KRTn-B9G9vhB4tQ3j-iNyz6OVZR5E9nVvAZY8,263
596
- django_spire/core/tag/tools.py,sha256=SyYRrYhjwu-TFnUeHRq82J21n5aVe8Wwy-iO5GGvvd8,2142
656
+ django_spire/core/tag/admin.py,sha256=MQSNiOKmGzsZFam9Ee5M-Sgsq3e5xl09wsOZn4ks3dc,256
657
+ django_spire/core/tag/mixins.py,sha256=HXH65s45nKm9w9cKyXuekUwmcGI1Ja8hX8yp6ew8Wp4,743
658
+ django_spire/core/tag/models.py,sha256=reIzJv5ZxouGylXOt6U48H4K-wd1YcZsm96J40QcL1Q,853
659
+ django_spire/core/tag/querysets.py,sha256=-_AuxK7pjtIxD0B77HWuBRXy3sV7i8z-kUO7YDCn_Os,299
660
+ django_spire/core/tag/tools.py,sha256=OIgTi6QWXjdxsg7dhw3OxtanWUBb61scGQTP-fDkT4Y,2179
597
661
  django_spire/core/tag/intelligence/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
598
- django_spire/core/tag/intelligence/tag_set_bot.py,sha256=1kIZjt3NB52z1HMOocuGZn0LCng0zuqwmw1tzycxua8,1345
662
+ django_spire/core/tag/intelligence/tag_set_bot.py,sha256=GVUTF18Ua0TsMN60hccDh2kQWpzWfHlutWP4Cm4hMAc,1381
599
663
  django_spire/core/tag/service/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
600
- django_spire/core/tag/service/tag_service.py,sha256=R_YUQsSYn4kDhKjfeOvoGUQalPwsJoBe2H5186-cA-k,2534
664
+ django_spire/core/tag/service/tag_service.py,sha256=1dexFuiQ99AuOfk9ZJrlgrsLT8SRWSB-aD0QjJu6q2M,2607
601
665
  django_spire/core/tag/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
602
- django_spire/core/tag/tests/test_intelligence.py,sha256=qYRecu9qfRgiSdZbcuHPgCZrX_V_oC8CMoi6aiuwRTg,1073
603
- django_spire/core/tag/tests/test_tags.py,sha256=kLpu41VQhM2fYDNR1ce-uiTMNYGcovwNho7H-Wo-Tks,3827
666
+ django_spire/core/tag/tests/test_intelligence.py,sha256=cEkFedjlimF2GpjYHKTTQG5k9TzeoPCAxiZqwZbc0jg,1042
667
+ django_spire/core/tag/tests/test_tags.py,sha256=rGHBrEpEtttrjlzr3NqHrOuWlqBWbOHkxnH5792OXvs,3703
668
+ django_spire/core/tag/tests/test_tools.py,sha256=F_ooLaKQWCOuek4enAQPjQYTr-wKAQ7d4nKOgfcYyZs,5947
604
669
  django_spire/core/templates/django_spire/403.html,sha256=35OX-3z-Yi6Igx9DTAcxNwWiZ17wXdm4wYGML4U2pns,37
605
670
  django_spire/core/templates/django_spire/404.html,sha256=91sTr518M2YxQ8X3GlzDsNP6IVo3MW07tbHdcLBL8Iw,235
606
671
  django_spire/core/templates/django_spire/500.html,sha256=8N-aqCoafjq2mFcjLZv-BkAEqRh2bzJ2SqojlboS8g4,247
@@ -637,12 +702,12 @@ django_spire/core/templates/django_spire/button/success_outlined_button.html,sha
637
702
  django_spire/core/templates/django_spire/button/warning_button.html,sha256=KUlpESYRvZ4GklLhn5YBKnvjDJOaTARrLxv8Fpd-hNU,108
638
703
  django_spire/core/templates/django_spire/button/warning_dark_button.html,sha256=5bqj3HO1Qwye0qgRsQ4jpPje-w62JQz3yyAAUthUGzc,113
639
704
  django_spire/core/templates/django_spire/button/warning_outlined_button.html,sha256=_PLvsB6wCRoDcAien0f57urCSY_FcCkL8zWDDsNUbE0,117
640
- django_spire/core/templates/django_spire/card/card.html,sha256=nF4s17lygR6vpm2JaOsCY2ge9ABntI3-GMd-KpMGHlY,266
705
+ django_spire/core/templates/django_spire/card/card.html,sha256=Nryuc1qgmSncY8t4ZZ2Bofs2Kr9D1VX1L5H6O-lhqSw,391
641
706
  django_spire/core/templates/django_spire/card/delete_confirmation_form_card.html,sha256=A-IrDQHKgQ1iveGJJ9EKsvs-TUW0eVY8uTcWM4dmQ_4,1097
642
707
  django_spire/core/templates/django_spire/card/delete_form_card.html,sha256=7nAZ0LuIq9l2BwNiBny_C__Q9EUXYQ_CM1aFXrafd6c,212
643
708
  django_spire/core/templates/django_spire/card/form_card.html,sha256=bctVy9CeHuf05xsuE-zEsQVOaq24Igjq6xTKgv2AO4Y,391
644
709
  django_spire/core/templates/django_spire/card/infinite_scroll_card.html,sha256=EM57LOCjuKqJZfsTwNmzRB3I8lzvRLcXdmpq8h7c-q0,261
645
- django_spire/core/templates/django_spire/card/title_card.html,sha256=igzwDLWuotqggSBUinQam2eIN6gAk0p6S6BB6O-ij-M,1048
710
+ django_spire/core/templates/django_spire/card/title_card.html,sha256=5ahO5PoB3ZPiluEZI7FqwB8E9t-BqVmj-uLSVh2RYPQ,1424
646
711
  django_spire/core/templates/django_spire/container/container.html,sha256=Dfr7K8xgEbg3CZYxMleLjjiQGyRS-GNJdPySA4OYY8U,867
647
712
  django_spire/core/templates/django_spire/container/form_container.html,sha256=FZwZs4gnIYkurV5u8v6fj2rbrm4WDX16jyUSTMniEtw,313
648
713
  django_spire/core/templates/django_spire/container/infinite_scroll_container.html,sha256=L3sPkIQG99SFJpkuYOg_RnlYFFobxE0B-weuDqUwiv0,2494
@@ -669,7 +734,7 @@ django_spire/core/templates/django_spire/forms/elements/dict_element.html,sha256
669
734
  django_spire/core/templates/django_spire/forms/elements/list_element.html,sha256=NbKavjm9qlSUnl5sao3xZILT-bW-TmIFB3Bqy0NfZkg,682
670
735
  django_spire/core/templates/django_spire/forms/elements/value_element.html,sha256=LaOR2ggmf-J_cPCVHjNoD4l_858zHCRA58T_ZB3EIkE,57
671
736
  django_spire/core/templates/django_spire/forms/widgets/json_tree_widget.html,sha256=dykf6xYRZ477i6SgcGR3TSnxDwLsu2p3FR45hEr4DF8,1489
672
- django_spire/core/templates/django_spire/infinite_scroll/base.html,sha256=--8DAhRYwAfowKWKLrnfdvh4rNTeBXyziE82fReFfnc,10875
737
+ django_spire/core/templates/django_spire/infinite_scroll/base.html,sha256=andr8RsgAVoDuFVV5q5DTCRPQ9xuRrXWaUM7tvcVR2Y,10934
673
738
  django_spire/core/templates/django_spire/infinite_scroll/scroll.html,sha256=5new-JbLIo6D9zurYN39hy41moJDj_2obeY1v9VWk_Q,4311
674
739
  django_spire/core/templates/django_spire/infinite_scroll/element/footer.html,sha256=22yxDuYB2vKqaDaMsARStrYTYoHtPGYmK6Xl9XQdwH8,391
675
740
  django_spire/core/templates/django_spire/item/infinite_scroll_item.html,sha256=NMx3jQwtcKJiKtzbQXaXI3eWOtnJFiZhCI13tLTxSnc,1011
@@ -690,7 +755,7 @@ django_spire/core/templates/django_spire/modal/content/modal_title_content.html,
690
755
  django_spire/core/templates/django_spire/modal/element/model_close_element.html,sha256=yxeesbfVS5PK08UH7IUacBhdtLA7KyIQjK7FrkAOvb8,71
691
756
  django_spire/core/templates/django_spire/navigation/mobile_navigation.html,sha256=btXoeLihu3jd_7XzKrZiwaBgffDiLoDorMSxhYrnhc4,997
692
757
  django_spire/core/templates/django_spire/navigation/navigation_links.html,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
693
- django_spire/core/templates/django_spire/navigation/side_navigation.html,sha256=qiI4LMRx45JhCco22jYdXAvDy4L8BQcaXj56FgeRYOk,2285
758
+ django_spire/core/templates/django_spire/navigation/side_navigation.html,sha256=FZe-wajX_WWhRNfpKRDLuYnmtDuMhg5Bxn1tcUPOpqQ,2052
694
759
  django_spire/core/templates/django_spire/navigation/top_navigation.html,sha256=TzIBqa-1McH2HWIi7Yp8hEvT8MmznnbWZoEigXVUBwQ,4116
695
760
  django_spire/core/templates/django_spire/navigation/accordion/nav_accordion.html,sha256=etJNDg2Hal_16A7qBrqRjuQ3KKtfeGY_KpjFOyUubcQ,1246
696
761
  django_spire/core/templates/django_spire/navigation/accordion/settings_nav_accordion.html,sha256=5jy4VBU199bG_-WPmWVhe5bZYWsm03bzZC6XqGK2XFM,794
@@ -703,7 +768,7 @@ django_spire/core/templates/django_spire/page/center_card_page.html,sha256=CqUtX
703
768
  django_spire/core/templates/django_spire/page/delete_confirmation_form_page.html,sha256=kmAA2eeD-5s3oAdS-HdFwbqHnzPlqihqh5JwxMJIP_o,168
704
769
  django_spire/core/templates/django_spire/page/delete_form_page.html,sha256=0ZYlWgl3eVq2OTbu_C0UiHVfSIbj2gg_iJ7xeafHVu4,240
705
770
  django_spire/core/templates/django_spire/page/form_full_page.html,sha256=5yp3EfOC2LlcTc0PYQ5MLuQvuw1QFPsMtnPvRdP0A2g,299
706
- django_spire/core/templates/django_spire/page/full_page.html,sha256=HijZKeAlEwXVA2andd8A6RMpSTvaZ3aC6FVGDwSTJyc,12182
771
+ django_spire/core/templates/django_spire/page/full_page.html,sha256=XJrbSTxVK5Poh5HDHSC-Rf4LmFU-CE2BnUN5ejLmJYE,13234
707
772
  django_spire/core/templates/django_spire/page/infinite_scroll_list_page.html,sha256=q5rUOwuiMVHqE1ptOJ_NKzWE_TtZXN7z5WmBDToT-Rg,234
708
773
  django_spire/core/templates/django_spire/page/page.html,sha256=D6qoyoo3E0_Qu8qov6c2YaYbJQ-LnZnCLKHb5bN0sOs,397
709
774
  django_spire/core/templates/django_spire/speech/speech_recognition.html,sha256=0SiRq9L4wFPFl_c8WnwflsYFfQ2wVUPi7aklEPdZPjQ,805
@@ -711,7 +776,7 @@ django_spire/core/templates/django_spire/speech/speech_synthesis.html,sha256=25H
711
776
  django_spire/core/templates/django_spire/tab/tab.html,sha256=1zSIX0Xk337VV9Qa4tvoSJlhoT2LDTfEfCwJvESNG-Q,1964
712
777
  django_spire/core/templates/django_spire/tab/element/tab_section_element.html,sha256=tEo0ENKhss74ll8HcFE9_kml35vusAfiMQHpudh3aEc,181
713
778
  django_spire/core/templates/django_spire/tab/element/tab_trigger_element.html,sha256=9VmMhfEGa3ARHerwyXojtQWyIkUj9sOPGhckcQR3h6k,442
714
- django_spire/core/templates/django_spire/table/base.html,sha256=O1tjCuNDd1s8d6Tqoo14xMZw89sTmfJJuAJV6dN5H4k,7197
779
+ django_spire/core/templates/django_spire/table/base.html,sha256=Bu0ijKNIaPJ8cTgp3HW1xwAX_uUwXayORmjTwKEVWYg,7270
715
780
  django_spire/core/templates/django_spire/table/element/child_row.html,sha256=B0fIXw3-p7YREdNtpIBwijCom6RS64Lrzj-teRuvvKI,1916
716
781
  django_spire/core/templates/django_spire/table/element/expandable_row.html,sha256=sAzzUeGishdYRUqs9t4lduxuxZaOzUYNhMfMytRLq90,1516
717
782
  django_spire/core/templates/django_spire/table/element/footer.html,sha256=fVxbDrVj4C9jIswkri7B2Dr4nEr2Lf_EPPULMU3mRs0,312
@@ -725,30 +790,40 @@ django_spire/core/templates/django_spire/tag/element/tag.html,sha256=Zx2HyGd-A01
725
790
  django_spire/core/templates/django_spire/wizard/wizard.html,sha256=iPkdo5O9mh3IQnhFijP9ZQXOaJDzhHGLmZo2Y49QnJ4,2266
726
791
  django_spire/core/templates/django_spire/wizard/wizard_page.html,sha256=emW5W2z_mkGERsbw3A9tFJoUOwhxa4Efr8thtZ_gHkI,75
727
792
  django_spire/core/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
728
- django_spire/core/templatetags/json.py,sha256=2XY8hQZrJOSmGMblL8bLRYD9hvUSQvhYaSJvwGaKzwU,280
729
- django_spire/core/templatetags/message.py,sha256=y70pMv1ddttJ41c11O1S7h7v8h_gTtJVdXe67J4Ld3g,491
793
+ django_spire/core/templatetags/json.py,sha256=eObuKcQRBeUAKe-PQL6R4y1VXiBCQG_s1j2JcnQe_Yw,313
794
+ django_spire/core/templatetags/message.py,sha256=FmqL2L08Fg5QVJotTgHsg8KgA5aqPjXyX7-ED4OtnjM,617
730
795
  django_spire/core/templatetags/spire_core_tags.py,sha256=5hUxjSMV9W4PBAo_P8C166pbhhBiaanmENGPETxKCRU,4546
731
- django_spire/core/templatetags/string_formating.py,sha256=pE5ID0-cvOKfmbAIixVXEW3LN8_XLEF_OlpztHkiILk,444
732
- django_spire/core/templatetags/variable_types.py,sha256=LFk9NO-LKBTBnXu04jLJ_miOKyuO-KAvqaBM8jwzg7s,686
796
+ django_spire/core/templatetags/string_formating.py,sha256=OYTAjdmL3Evd_HiBTDMO3UrpgEIHwIgYjeuZRHjFUMs,530
797
+ django_spire/core/templatetags/variable_types.py,sha256=7TX2aE2HKRdED5Nnqm8W9zXQ4HeYkdZf-tfLUzqpgdQ,908
798
+ django_spire/core/templatetags/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
799
+ django_spire/core/templatetags/tests/test_templatetags.py,sha256=NBeo3ynSGAoeImvblueDVJKHAMj1gmUUgZeiBHBWwI8,12365
733
800
  django_spire/core/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
734
- django_spire/core/tests/test_cases.py,sha256=YNRgzIbtoTXd8mYzXUnk4boZP20jpOK4zFg43Abrc6k,565
735
- django_spire/core/tests/test_templatetags.py,sha256=TeatYH84vI5pIF1XdiDM6xcaTdubryzCw-I4Qh9dWIU,3442
736
- django_spire/core/tests/tests_redirect.py,sha256=z-E1ffePbpcq4FwmJjMYaVso4RSV-Q0Fo8FQ1XtuVxk,7281
737
- django_spire/core/tests/tests_shortcuts.py,sha256=4yJx_n6uFv99dOUNMfw4H91bFhS2cJ46vItnvSnW7WE,2634
801
+ django_spire/core/tests/test_cases.py,sha256=rSDr_vnMk5U-yBOR0OkotEkbemAlOGDuj5mN7ovNcWk,497
802
+ django_spire/core/tests/test_conf.py,sha256=zFiqwCPjxaSb2-qLuVg7YsMwDsfiNZPHL4U8axZR5LY,1324
803
+ django_spire/core/tests/test_consts.py,sha256=c0CrLjiW7Eqdpp5YtaMIO7XYLjoPVFUYmKOBJNHB8aM,821
804
+ django_spire/core/tests/test_context_processors.py,sha256=4yS1F1lqUu3iqaQW4vqp9h7dSJL9NafTK98Swbw4vZk,3445
805
+ django_spire/core/tests/test_decorators.py,sha256=kKHjurRLHOtekP089y32vOiPFZmFYRx9ag2TBfuozlw,3087
806
+ django_spire/core/tests/test_django_spire_utils.py,sha256=FGDhRsbDwWNZCnR2FnJHBNTqRb301aP5RHvP8qPeS1Q,1595
807
+ django_spire/core/tests/test_exceptions.py,sha256=W59d3eBppK21bdLxBExIFxkwBT6rtGJ6gb5kMCU9h-8,1180
808
+ django_spire/core/tests/test_models.py,sha256=wJ1L50C3sJEjZMFOxy-siQTKCPqumlz9sIaBDyKP9F8,1492
809
+ django_spire/core/tests/test_settings.py,sha256=0D7ebP6ZFzL80adTWyHlkduQ947Gf3h48j7Iqgz7z8g,1803
810
+ django_spire/core/tests/test_shortcuts.py,sha256=azTlLQURa5yM9V1G4gUZthh5FxuTlP4NpAB17e8uIGk,2625
811
+ django_spire/core/tests/test_urls.py,sha256=-WIWv8LcBL88MSHMtxT-tyYu3Dhw881ATjwFlfB4cE8,422
812
+ django_spire/core/tests/test_utils.py,sha256=V4b5IDbKtuTtumzUSozjH7lLaFAvEoWLRQN128ouf4U,1960
738
813
  django_spire/file/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
739
- django_spire/file/admin.py,sha256=3zTkTiDt9NjLGLW-mZxsPjdnqD5mk4fkjdcIu3VkP_c,1034
740
- django_spire/file/apps.py,sha256=AGDhviujlmpQLYjNdF6UKnHYjo7wsYVCQUR5gZ8DAS4,932
741
- django_spire/file/fields.py,sha256=VcxNZ65SlzfClzxc3yYg9PZhM81HEF-cLAe6Dqi0T_c,1196
742
- django_spire/file/forms.py,sha256=pEAW1y2bCzYgS_RJaJGTcePjT0Ip1ayNJh1_dTM0HC4,657
743
- django_spire/file/interfaces.py,sha256=YRwFMXl5SxUyP7nA-DuykwDJc7O8irmowGUXV_AqKEA,6277
744
- django_spire/file/mixins.py,sha256=jSRljAO61EEVs74L0Ap74zfnE6Ful4Gsw7pe4wu7HGU,618
745
- django_spire/file/models.py,sha256=FZCuThGV6cjKRvXWaDfxwzZTopVvGw51eEarcLHmiJ8,1506
814
+ django_spire/file/admin.py,sha256=hp9hNUedSima_KaUTXzEcLvYc8leU4inRFUqZcSy048,1076
815
+ django_spire/file/apps.py,sha256=Jt9zQqAFhVVL4U6z7NwGHO6Pd0pC-nTT96H1co-5urA,913
816
+ django_spire/file/fields.py,sha256=TZoWSAdIs3VPsZSF1vSTTeXfFJOvy66NstCBdCSKVCI,1207
817
+ django_spire/file/forms.py,sha256=dY6lkNUwqK88hk6_afzhqm65FAkmv2SkomjBQOcxsZY,657
818
+ django_spire/file/interfaces.py,sha256=6KzaKKFZQor7lDC-lXRbMUx1M370DqZXRjIC2STx0KY,6337
819
+ django_spire/file/mixins.py,sha256=48RUo1j3gFqsPGgNJQTpN48zl6Fs0qxxEQwVGKjQBwM,594
820
+ django_spire/file/models.py,sha256=YYp4yn9Jv_Uh3t_D2OcQOKzKwgTzv4jDzr_ZKRBQcKk,1517
746
821
  django_spire/file/queryset.py,sha256=RNIVCFd-Z0sQCz2UfHfvR-fYOhoztVduf9WO-NlhiKM,289
747
- django_spire/file/tools.py,sha256=QHKk0YNNDxks2VtkqmM0UKf3LXcrhIlUUZuNnWCNZ74,936
822
+ django_spire/file/tools.py,sha256=9fFRXfpraOiXpo0NUjIG3chcRg6lyqg4dlFBA9qmwrA,1053
748
823
  django_spire/file/urls.py,sha256=BadfH7ba7X4PDCmGhUEVqY3FFBfqaTqqOF1eNJxfR8A,364
749
824
  django_spire/file/utils.py,sha256=gI8aVCw9-a4TJs3dRx2Ld5btlW1zcP5Ut22Rqpn7Aj0,157
750
- django_spire/file/views.py,sha256=pUL69C0XziDrRz2urP-xcIWiOgfwOSRV_rXgTbVCdVw,1034
751
- django_spire/file/widgets.py,sha256=ylS_FExzTfnDgW-0DCw79CtAM_ILSDjszUrUsO_3JD0,1282
825
+ django_spire/file/views.py,sha256=GT4D2fdWaq6_pYGXdxREUkQz0xZ_lLw0KjoMHuL1jDc,1085
826
+ django_spire/file/widgets.py,sha256=fmBEAU0-np1Anwzal4r-n1GJNPuyakCB3ThtNAbWiDM,1414
752
827
  django_spire/file/migrations/0001_initial.py,sha256=i7Btgk8Zst7mcEugZN3WMkeUcI44i0Ga_JrRuWk1fwc,1833
753
828
  django_spire/file/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
754
829
  django_spire/file/templates/django_spire/file/card/demo_detail_card.html,sha256=EzeZ2QSrexVNiepmO5zuW0yh6Xhs-I8M_Ktsy7X329s,287
@@ -764,21 +839,33 @@ django_spire/file/templates/django_spire/file/page/version_list_page.html,sha256
764
839
  django_spire/file/templates/django_spire/file/widget/multiple_file_widget.html,sha256=S779P8wFfWKb7AYUbvYb006zxntrlAvv5Z43XHVfL3I,108
765
840
  django_spire/file/templates/django_spire/file/widget/single_file_widget.html,sha256=P7R0TCDO-8tomlK3fDn5AgDDBDLJ1M3kfWPj-scPCq4,106
766
841
  django_spire/file/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
842
+ django_spire/file/tests/factories.py,sha256=tSK1Td9OP43sI3BksO-9zdmAPWGe7XXgckY24_m9ZF4,1519
843
+ django_spire/file/tests/test_admin.py,sha256=e9Rz_vpxLibOqycjJ5khl3GktjMUBs3MI5NhM34eF2s,2183
844
+ django_spire/file/tests/test_apps.py,sha256=JBVM76pQc8Z-ztw-RYMS_BI44Gl8wQoes8Da48cfzAk,779
845
+ django_spire/file/tests/test_fields.py,sha256=X9P5CHtyLjwXqSKKNLBn8iXPZ0sQ99NTA82dN29aGGY,3123
846
+ django_spire/file/tests/test_forms.py,sha256=L7ZjmiMf8uOlmxJYpI-94Ka0i32lyW0YyxIvpEnMDdc,565
847
+ django_spire/file/tests/test_interfaces.py,sha256=zSslqV_LmcbHMxK78zcXECP-SwpHgNdFrm-0PWLG9mI,5438
848
+ django_spire/file/tests/test_models.py,sha256=MmXLgVhwNj9LEshsWlGkd4X-v4sUTjjegdRAnj9oZhc,2155
849
+ django_spire/file/tests/test_querysets.py,sha256=M69M9man-dfTZFGIjr1_yjizTrcRbL2XAfCk2JZD6GY,2804
850
+ django_spire/file/tests/test_utils.py,sha256=lGWod2RAn8kSRvWnkPWSSKvDcWIus_9JswrW-Hidcvg,817
851
+ django_spire/file/tests/test_views.py,sha256=R0dTDnFvLfV28TNfNWzCX3y5_gvsIOXHqd2aV2pTe5c,4383
852
+ django_spire/file/tests/test_widgets.py,sha256=7EnWXAJ0uAr6s4dnJ5_Xz5UnDQi7Tp-9K6axoS-qnYg,2258
767
853
  django_spire/help_desk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
768
- django_spire/help_desk/apps.py,sha256=I7I0yjDyCpCuOONM3B8sXMyiSfQDQwpxPMJ1HJyoMbw,705
769
- django_spire/help_desk/choices.py,sha256=7rDwl0GitKVegMRE-LgyktgdyioE6Gz0VHe0W3_hyXY,477
770
- django_spire/help_desk/enums.py,sha256=N1MYqpQJCBoWmPQc_WkQiZHIHs-F6G4v6BmLkAScvFk,115
771
- django_spire/help_desk/exceptions.py,sha256=r62M0AgOEvmgbE53s3S2KmIDmyFaPMbkCFgNNPSuUyY,147
772
- django_spire/help_desk/forms.py,sha256=8BVR_A2qG5suTOWh9iK1NaC6iozRkkqOuOu5Ima7lRw,416
773
- django_spire/help_desk/models.py,sha256=4570poBmU5sC4woEiFXyK9z-tWV6RVQpSlZo5Ma2A-A,1479
774
- django_spire/help_desk/querysets.py,sha256=lBonO3hGNP2xn_SQ5UCIJ3BJA6i32lOhUW73N4d5M6M,115
854
+ django_spire/help_desk/admin.py,sha256=RoFUTVUWWhxOYwIUim9nk3LlFErG2nD4QKf0G4Zw57o,617
855
+ django_spire/help_desk/apps.py,sha256=eyT0B5tkVS-a3R0l9M8VKgrgvmhed2QDDK0kyQtUq_4,741
856
+ django_spire/help_desk/choices.py,sha256=rPiems6FVpJwin_F-Ub2GvT-NwWq7bfp_HtmyrFNwqk,513
857
+ django_spire/help_desk/enums.py,sha256=0TmTC4jd4I8KxiSo1pMovAHejH1uYrIN8jdZ7i6z0P4,151
858
+ django_spire/help_desk/exceptions.py,sha256=ZCLRwLy78e7VpUnI_OnozXYPsTCDjugsc2ritttZo0Q,1101
859
+ django_spire/help_desk/forms.py,sha256=V7ia0DPEyUpOSX6I0rk5NYzjxwqQh0TpOTBdk5FYa5M,452
860
+ django_spire/help_desk/models.py,sha256=mjpkJuFdjgFFIuHU2EGmGDX-vf2ZuopqVWSF_I4JRLw,1515
861
+ django_spire/help_desk/querysets.py,sha256=KcEqA0tftALhgh5kJL9ruukTPic9gIL9_F6SPN7d3BE,153
775
862
  django_spire/help_desk/auth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
776
- django_spire/help_desk/auth/controller.py,sha256=QMaqPxPE3GBeZzrrq4APVs2YpFoBf40IPBtQ3xB8-n4,584
863
+ django_spire/help_desk/auth/controller.py,sha256=CPf8gUZJsp10J2uBtbGoT6LTpJmM2BtDJd21Cnn7_NM,620
777
864
  django_spire/help_desk/migrations/0001_initial.py,sha256=4oI_DcnBb8alLHWGpDJ57pyjLByjI-DPHPzdEYn-2JM,1875
778
865
  django_spire/help_desk/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
779
866
  django_spire/help_desk/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
780
- django_spire/help_desk/services/notification_service.py,sha256=XFyIANNxc0EljivxCVQvLWiXyKqvtKftJ3SqV8P20F4,5922
781
- django_spire/help_desk/services/service.py,sha256=_Wiy5AbaHKEcCwd5OB3qWTxBG_ff1xrODfiruhE8iZA,829
867
+ django_spire/help_desk/services/notification_service.py,sha256=XJBoF-Ff6NIq5ylPk30FeMEmBpLQvCFg1FKrA1AyY98,5703
868
+ django_spire/help_desk/services/service.py,sha256=Zf7HUssvL3GESpi1IvHas9kEaZdVW5LT2DmuH1E3hP0,823
782
869
  django_spire/help_desk/templates/django_spire/help_desk/card/ticket_detail_card.html,sha256=hohFASLmSqiifmX48BlyWzP16GQO5tztEJChnSVboaI,1440
783
870
  django_spire/help_desk/templates/django_spire/help_desk/card/ticket_form_card.html,sha256=m9OVz8hbb_mTniJjIytEiuEE431XpxngbSEsQt5kntM,351
784
871
  django_spire/help_desk/templates/django_spire/help_desk/card/ticket_list_card.html,sha256=Onw3V-hmwRr5GQgOagIii0KdKUCvUiYNFnBY5gOypd8,763
@@ -792,193 +879,234 @@ django_spire/help_desk/templates/django_spire/help_desk/page/ticket_detail_page.
792
879
  django_spire/help_desk/templates/django_spire/help_desk/page/ticket_form_page.html,sha256=u6aJ8hHvJp-t0gzl6qjnTWwIDN05kCQxq833K115VFw,250
793
880
  django_spire/help_desk/templates/django_spire/help_desk/page/ticket_list_page.html,sha256=GlYlKVT20ZFZ3Mrs5pyymUEKhETPraqWP2GjocQiZbg,250
794
881
  django_spire/help_desk/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
795
- django_spire/help_desk/tests/factories.py,sha256=JEiLVKpcteakt0vaV1xqPOIUiYRSl-hDSKHPM5CItwU,812
882
+ django_spire/help_desk/tests/factories.py,sha256=2bfD2wvIwKe_yKhFrpDcLWw_dTm8uQ8E9sYyOL8uVG4,877
883
+ django_spire/help_desk/tests/test_admin.py,sha256=r4tjn07nNj2nicxwuySpDWYcbyi4ER2ZO5jBKjXaKz4,1533
884
+ django_spire/help_desk/tests/test_apps.py,sha256=JIUkDB0daPWeieCtHHy0fFf1eRLEJLZz_88pzn_LLlM,1338
885
+ django_spire/help_desk/tests/test_choices.py,sha256=FfComGIM_s-yTM9aleX1WBUT73REj0g_zdGLi9_kjaI,1545
886
+ django_spire/help_desk/tests/test_controller.py,sha256=ull1snxj3yQpvqci4ePIqKYP_yDm_WpIMv_VtbbqUtM,3216
887
+ django_spire/help_desk/tests/test_enums.py,sha256=H1S8I3N0Zww8u0Z8XB7LB2qYiVMHvCSJFQjjc9S2kes,541
888
+ django_spire/help_desk/tests/test_exceptions.py,sha256=qWsE18PytUN0U9PikOA5T68os0pwcU9oh1W4C9hXSv4,1624
889
+ django_spire/help_desk/tests/test_forms.py,sha256=8QXg_uEPqN_YiOlISZ5E36KL4aUK_w_QuxkIp8ffp2M,3142
890
+ django_spire/help_desk/tests/test_models.py,sha256=tOq7DzZ3mO39i0mpwOXWU96ouCX9GL0ooTF-Lio16W4,2189
891
+ django_spire/help_desk/tests/test_querysets.py,sha256=UaQ61RpGcpW8lOOXIEEnBDA2RwwFhx6Ms-Fh2ICYD4k,1332
796
892
  django_spire/help_desk/tests/test_services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
797
- django_spire/help_desk/tests/test_services/test_notification_service.py,sha256=CXGQOifpu-O-PbNXa5xVbtA7d7F67QWwl3mWLpHouyg,2261
893
+ django_spire/help_desk/tests/test_services/test_notification_service.py,sha256=Yk71dUvMWgwlCggM9rD3X7kYvJo6H_-BwWKEvpsbjOk,2311
894
+ django_spire/help_desk/tests/test_services/test_service.py,sha256=p6a1grw3g7e6yQsbzzsS7rmSXZKWgZPvX3C6fLho2Ek,3284
798
895
  django_spire/help_desk/tests/test_urls/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
799
- django_spire/help_desk/tests/test_urls/test_form_urls.py,sha256=4dUOS4o0CwADyYF_DNLYs7cMFEY10bIDiiKqhH912BM,749
800
- django_spire/help_desk/tests/test_urls/test_page_urls.py,sha256=uSgfUYTbOm57IZHAMfB3EUFaHppTiv4LBLY4xm1Cc80,1120
896
+ django_spire/help_desk/tests/test_urls/test_form_urls.py,sha256=31_QFQ83N2pIqSSQjXyznaayqCj5ZcG1QCXvhevBBhA,749
897
+ django_spire/help_desk/tests/test_urls/test_page_urls.py,sha256=CCVWvbSFWq6MFIlxyRdbKoDGvy3BKuB0JdD1agmnvNQ,1102
801
898
  django_spire/help_desk/tests/test_views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
802
- django_spire/help_desk/tests/test_views/test_form_views.py,sha256=c6a5bSGp1rmkQpOfbAyrbkwX8K_kCcQ2Ono9kUWYwR4,2137
803
- django_spire/help_desk/tests/test_views/test_page_views.py,sha256=U5L1g4StJPE7TvQB_N0DiFZStqgmcmYaLDHPRwy4SBM,1485
804
- django_spire/help_desk/urls/__init__.py,sha256=1brA4Cm1xcXAPbmfbXpNqjMWNdV3T0JW-j-_t6lbSYU,254
805
- django_spire/help_desk/urls/form_urls.py,sha256=xZKpHPHjyKayO9MwUM36r7xUvvzXBzTYfgrQNd_Xoo8,273
806
- django_spire/help_desk/urls/page_urls.py,sha256=Yv06Y-o8kAqUxcvSR1wkl7IguNQfXIlg1fm7LOdt8UI,333
899
+ django_spire/help_desk/tests/test_views/test_form_views.py,sha256=7Jc2L7u0yYVtdOHclfBi33Z7ZC3ltVbzy-xQyT76xGM,2777
900
+ django_spire/help_desk/tests/test_views/test_page_views.py,sha256=BJ6terlWB1avUfMrLJMXPecdjr7w8j7Yn2e7fVAUBg8,2202
901
+ django_spire/help_desk/urls/__init__.py,sha256=Q_OljCu77-9YNSFDyci-e2oDSCAtE8GfJI2zslm7u5A,292
902
+ django_spire/help_desk/urls/form_urls.py,sha256=4wjEnyzKpGUuNQdwo6-sZN6fodmIb06rBmGHNunDT2o,310
903
+ django_spire/help_desk/urls/page_urls.py,sha256=rJCHLKBGVmVJKfk0u7jc35l6RwpCW1PLLr4WtXfWbbk,370
807
904
  django_spire/help_desk/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
808
- django_spire/help_desk/views/form_views.py,sha256=S45TTLPGGDIz7mgTJjQDIuAIpGFyQ_eeZCDA3yvVuFU,2333
809
- django_spire/help_desk/views/page_views.py,sha256=Wq1YyTEQqSmKM4-SWlQHuuKS5zh31WxBnpz2WGVxyRw,1433
905
+ django_spire/help_desk/views/form_views.py,sha256=ZNtzPKKhaDI377hcXS_YG3E9alT3KR1_-CBIglspDho,2592
906
+ django_spire/help_desk/views/page_views.py,sha256=pMPG5jmLBdXHZOE8LIc5uqs7vs8CR3cEC4fJv42WnG4,1703
810
907
  django_spire/history/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
811
- django_spire/history/admin.py,sha256=wNWX4hel9QfT2uME_V7-_IoA9V3AA8dhBk4Nw3F0Isg,886
908
+ django_spire/history/admin.py,sha256=_oue3wJjD-hk_xahhxrphj-1YfY55Q5zlQ6u7SvI3eA,954
812
909
  django_spire/history/apps.py,sha256=pVcuuIfcu0kk4-TbmKguTxVmeZfWCz8-dHzbENFa9DY,396
813
- django_spire/history/choices.py,sha256=tlMhIqGGeUaibw93yppqKUV4Lm3kCHzxx3NKWMsL4a4,274
910
+ django_spire/history/choices.py,sha256=NvKwg-pX-QHl8TZQji8ZuEdZ4v4CHNHdj-kJx0RdjR4,311
814
911
  django_spire/history/mixins.py,sha256=uQKZ0qlIWChPNwxCM59dwejKnnQV_c2zDWn4rsAg5qw,1617
815
- django_spire/history/models.py,sha256=G886OmKoV7XPzg4x2sf7WJDazFi8YuQP9pz6E1r3CI4,1215
912
+ django_spire/history/models.py,sha256=MGMOeUjJkI9SI1MCuxqabXwmj9G_4rKDZF-pAyxA5BQ,1168
816
913
  django_spire/history/querysets.py,sha256=12tWQVBE2-q3-95tskRtrzo5UgZdLSrmnXXz5smck-E,347
817
914
  django_spire/history/activity/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
818
- django_spire/history/activity/admin.py,sha256=6EqpbfRY8IOvhJctoa66MMkJBPm6lk27NUNrpo3hPIo,1934
819
- django_spire/history/activity/apps.py,sha256=y0YWtYpAuhaCY_i51Mpmi_83L7z_Re5Q0OkiJHq-BMs,408
820
- django_spire/history/activity/mixins.py,sha256=9CTb9hWjElOQo5T2co_fdbImmXcKjTaQ46MFv1tTeZk,1199
821
- django_spire/history/activity/models.py,sha256=d0RIseFt3e1fjYWgKQhKL4jLesrMfyNpSmVcv8WE8vg,2470
822
- django_spire/history/activity/querysets.py,sha256=gJa_4HXRlcafceDRXIlqH10xf4orWVifB8Mm8V2juNE,148
823
- django_spire/history/activity/tests.py,sha256=mrbGGRNg5jwbTJtWWa7zSKdDyeB4vmgZCRc2nk6VY-g,60
915
+ django_spire/history/activity/admin.py,sha256=ggx784yMrR9Pa-TVpjk5J5JCdNNGdYGSH_KJG3Z1u5o,1970
916
+ django_spire/history/activity/apps.py,sha256=DNcIYQpozIT5jA2xfKAMJ7COQ9VcIl2w46zoUFhaVWw,445
917
+ django_spire/history/activity/mixins.py,sha256=cL7Wv46-3u0V9p8_gAZtQkwRokOxcO_On_uEhiY1PIw,1268
918
+ django_spire/history/activity/models.py,sha256=ke2N6wHswcxOH0BPRUSAlfFGP0EhkFoyjxAChAl0IDE,2486
919
+ django_spire/history/activity/querysets.py,sha256=xEjIYG5waGNGXQHWuWJnebROTfirCOcdiJJSxChzY1s,184
824
920
  django_spire/history/activity/utils.py,sha256=Tt2Elt6ci-6ILOva8SxQHHuOFUg2yu6wknX7l70x6Lg,599
825
- django_spire/history/activity/views.py,sha256=xc1IQHrsij7j33TUbo-_oewy3vs03pw_etpBWaMYJl0,63
826
921
  django_spire/history/activity/migrations/0001_initial.py,sha256=dctWUdc1iWHOEDEuZuWVXr8ejVfF7V72YWpkx_rmWr8,2844
827
922
  django_spire/history/activity/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
923
+ django_spire/history/activity/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
924
+ django_spire/history/activity/tests/test_activity.py,sha256=xwUYZGcAJWFLGcFJBRUl9FapTrLxdkbmmpeOqsPcn-A,5759
828
925
  django_spire/history/migrations/0001_initial.py,sha256=u29oWy075jyBn3q71E3vcz2N1LjjUe31h1FzY8qGhso,1342
829
926
  django_spire/history/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
830
927
  django_spire/history/static/django_spire/js/history.js,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
831
928
  django_spire/history/templates/django_spire/activity/card/list_card.html,sha256=FE8kplw_rSNohb7JaLWjpgKS8WE-IDpYerO57NTercQ,519
832
929
  django_spire/history/templates/django_spire/activity/item/activity_item.html,sha256=0AJCmD7RtVRAgyGbhB-341wtxdUyPbjA5KXsv1SV5KE,694
833
930
  django_spire/history/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
931
+ django_spire/history/tests/test_admin.py,sha256=JYk1Me2bNxfKyvYdPGbRUat9ZdH5SoSDxrjl72UqxIM,3141
932
+ django_spire/history/tests/test_history.py,sha256=ruTuA6n9hjq7FnRrgULB3WQYoAzy20o2uhsJ8TBpT84,3492
933
+ django_spire/history/tests/test_mixins.py,sha256=5YgV3PbCel6ysoVpirIS_m-8Fjf5J2f_TzskU86ds6M,3147
834
934
  django_spire/history/viewed/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
835
- django_spire/history/viewed/admin.py,sha256=34aOdzYpXDlnmkGx9dS5J8DTO4w_rdXyp3YBBuxdzzs,1074
836
- django_spire/history/viewed/apps.py,sha256=6-ZttN6JRwIGfliEtLB-7giWPdWJsg4p1RyEPPnJFZk,402
935
+ django_spire/history/viewed/admin.py,sha256=Aef8zhGcj9qMGY5ll562eZZq8YEdc-uzL4HuOMxeX2k,1109
936
+ django_spire/history/viewed/apps.py,sha256=LJm8LtbsXm-a5OL_-47qksQj98DvkVUJr67F8TvO-I0,439
837
937
  django_spire/history/viewed/mixins.py,sha256=1dh1NBrIBbI2u8QlImksM-d_pF4SSHlYJgYCORyiFAU,656
838
- django_spire/history/viewed/models.py,sha256=t8izyaB-5BoRcMcgEkUVvl4CE9wmNEIeQ3WWAW86vp0,990
938
+ django_spire/history/viewed/models.py,sha256=CwdAFnxjMaMciGrwmxY1JUDGOh6Kw9jmpgA7fLjFZ5E,1026
839
939
  django_spire/history/viewed/migrations/0001_initial.py,sha256=SPCpR92fdgIdCKWvNejZqApqIBxsunNdxYZb0f7tVJU,1356
840
940
  django_spire/history/viewed/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
941
+ django_spire/history/viewed/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
942
+ django_spire/history/viewed/tests/test_viewed.py,sha256=JWHahBbFWgUcnnDdSerfgRWYE7k7nnc8790I6U7c-G4,1367
841
943
  django_spire/knowledge/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
842
944
  django_spire/knowledge/admin.py,sha256=fOF1RT1SQjiqAxQ8_BgrSWATykVkd4r8N6rihEYLWk0,348
843
945
  django_spire/knowledge/apps.py,sha256=jxay3Kf1otlVCaPWcs3sYbatzaJOGK4K4e8jgbmQsuE,750
844
- django_spire/knowledge/exceptions.py,sha256=CVe-sXRR8Sw30n-qJuDT12HYekmxD65DIm13-ip4gmk,96
845
- django_spire/knowledge/models.py,sha256=HknEl6GeoDwjyF7Hn9fEsAKR-73p6qDJVRbudvqATXo,596
946
+ django_spire/knowledge/exceptions.py,sha256=K1j-3ECk2xdM9pmViDJtIq9l3lv0xMMibfm71cC1ZMo,93
947
+ django_spire/knowledge/models.py,sha256=Zjd-qUUqUjYkDwpmYx4DX9PoECod9qsdPXeosEWVM9Y,590
846
948
  django_spire/knowledge/auth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
847
949
  django_spire/knowledge/auth/controller.py,sha256=ktTJ7gjtbYmCYESZnK97q7_fPojTAScZXRysg2F_86Y,929
950
+ django_spire/knowledge/auth/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
951
+ django_spire/knowledge/auth/tests/test_controller.py,sha256=3C1AmIT1M5eeH0lc0PK4SMW0nGXXAuuUwQpHIgRpiYk,4525
848
952
  django_spire/knowledge/collection/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
849
- django_spire/knowledge/collection/admin.py,sha256=9OKEgiSDiSHX6ZwB11l6mCx-jdF4VKfOe-SwFBdjKK4,1370
953
+ django_spire/knowledge/collection/admin.py,sha256=0kYUMjUMc_z57flONPCivWmBA36Y8srubu43kiTdguU,1427
850
954
  django_spire/knowledge/collection/forms.py,sha256=7JovVxNzE67hSydDa-1JGK4U4zPyzOj605QyEl0JkP8,238
851
- django_spire/knowledge/collection/models.py,sha256=69ol2B-ytH6mJ48afFywPhENQNnM37gAsX-Grjim-g4,2387
955
+ django_spire/knowledge/collection/models.py,sha256=L8ldHka8MPXLK9raRU48sdqR_VmtRwUIpIFvxzHRpo8,2393
852
956
  django_spire/knowledge/collection/querysets.py,sha256=JzrCudpAzO45cVt-sqdXva8LMJB5wiwSL1zS2eki47E,2485
853
957
  django_spire/knowledge/collection/seeding/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
854
- django_spire/knowledge/collection/seeding/seed.py,sha256=i4VEvScJvZ1SUV9ukKZp0qdh_owyLyVSHGgl8vIzhwQ,303
958
+ django_spire/knowledge/collection/seeding/seed.py,sha256=Xg2DLKublJ1Xusf566ng8oZ9R6rfekA9txIUQjyeRKo,304
855
959
  django_spire/knowledge/collection/seeding/seeder.py,sha256=Zgrl-S0iAwK6LU2pMmRIdr87kAvrPtQ7GLJlONUSBlM,1523
856
960
  django_spire/knowledge/collection/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
857
- django_spire/knowledge/collection/services/factory_service.py,sha256=92DLZODSRPF-iA9r3Jgys2GzbC39KssGEk9eOJ5wZjs,1298
858
- django_spire/knowledge/collection/services/ordering_service.py,sha256=vTkSdt1lVT4VxSK3GhZibj8FPDDy5butwPkVzqmm07g,1243
961
+ django_spire/knowledge/collection/services/factory_service.py,sha256=HgqX4TfMQaCBXvpM0FfpmKgK9ZIKDyJQ8REathyTmtg,1238
962
+ django_spire/knowledge/collection/services/ordering_service.py,sha256=wQ9jD9vkjQCLTRdtDn94nCoC8RkrV0uFElDS96o3Gu8,1242
859
963
  django_spire/knowledge/collection/services/processor_service.py,sha256=3ArKBndoL3HEvH_1EBqfiw7AnbFYZ0WmBgcPV8BHdLQ,911
860
- django_spire/knowledge/collection/services/service.py,sha256=g2agKPcnoccjjAw0P5Sj9CVYOA6qU4vNZwn0g4hFvE4,1962
861
- django_spire/knowledge/collection/services/tag_service.py,sha256=o1HnL0-du0XCGIl_8nMGMgW9AzEQE-AWbGOoBN_cQb0,1774
964
+ django_spire/knowledge/collection/services/service.py,sha256=sS8h8EUy0BNmvY9ag1cpMrjKCcKRMlEdE56XvcmqDnE,1932
965
+ django_spire/knowledge/collection/services/tag_service.py,sha256=6bz8We8rjjsS9MtVQ2DTL1OaLh1isa87ZjRgAyygfJM,1784
862
966
  django_spire/knowledge/collection/services/tool_services.py,sha256=tnOL23zJ_x7vKBH4PtR7a0AzYnmfLxHcEpYHIWzu9Kc,984
863
967
  django_spire/knowledge/collection/services/transformation_service.py,sha256=KDCLBSdT9sszjtwtDO2yWdT-iwGpxmCwhIRN6MvEvTU,3450
864
968
  django_spire/knowledge/collection/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
865
- django_spire/knowledge/collection/tests/factories.py,sha256=NUu4OliEZIQL9c05RPIPdzYP3Dtn1szLZxP4Wl-kX2w,429
969
+ django_spire/knowledge/collection/tests/factories.py,sha256=NN6SmQ-V5R6bwST7Db1v7yghE9BhYp04iuL_stGck8M,1131
970
+ django_spire/knowledge/collection/tests/test_models.py,sha256=5FR5FRc9sxMukX05RklSvmpWGe4ckjT1nxSbi0TFIKA,1686
971
+ django_spire/knowledge/collection/tests/test_querysets.py,sha256=kXTkf70RCGFWKeXjGw2TIUAj8NaL0MMiVjuMMSvtPrc,3444
866
972
  django_spire/knowledge/collection/tests/test_services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
867
- django_spire/knowledge/collection/tests/test_services/test_transformation_service.py,sha256=bRUqJB4m6aqssmfhfwvVMCAF9LRfCtFFQpjjEu-Ivos,2912
973
+ django_spire/knowledge/collection/tests/test_services/test_factory_service.py,sha256=K0eFzBNDqKUDgD3ncz1xzBuNdQZ-kFrMuua_Uhsx8iw,3364
974
+ django_spire/knowledge/collection/tests/test_services/test_services.py,sha256=DfQywqjBuYURksi7ikUabzfGa235Te1u-WRD4esHmtQ,6259
868
975
  django_spire/knowledge/collection/tests/test_urls/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
869
- django_spire/knowledge/collection/tests/test_urls/test_form_urls.py,sha256=9IMILT4N4sdhbFQkmTLbZ80bAo2uHHxBIVdWnQ-mBEE,460
870
- django_spire/knowledge/collection/tests/test_urls/test_json_urls.py,sha256=QpHJmdOplc6oJLrSVsqp5BghGiNfVLch1ET80Sq8nVo,741
871
- django_spire/knowledge/collection/tests/test_urls/test_page_urls.py,sha256=449h2eosHaDfYIV7GHiZEi1Veg8dWxBbbA5YHdcvOQ8,853
872
- django_spire/knowledge/collection/urls/__init__.py,sha256=ws9b6CQEHtcBdkHo1BPLecCokGmDxDlnrVZJ0y8X-Cw,429
873
- django_spire/knowledge/collection/urls/form_urls.py,sha256=yHU3sbaA3w-m9rVvon6nXsCCOEX7Cya4QJdVk6Dd6Gc,355
874
- django_spire/knowledge/collection/urls/json_urls.py,sha256=XZp5wt8m9x38Uuy1dhegqZ4qlJLZK2EgJsLltx97o0Q,195
875
- django_spire/knowledge/collection/urls/page_urls.py,sha256=M8zZJJzVmMx7QUc3uGIrjyb8-Kz00fz7u0mHYqFZf3M,280
976
+ django_spire/knowledge/collection/tests/test_urls/test_form_urls.py,sha256=H_GStR6SFAj4afGzZGefbKIxz4Aj6RB1Uinl1uLo8FU,1166
977
+ django_spire/knowledge/collection/tests/test_urls/test_json_urls.py,sha256=0TLm2snBN_vIW53dOGtPYzu4Wlkghb_I2654-mMQOfY,2093
978
+ django_spire/knowledge/collection/tests/test_urls/test_page_urls.py,sha256=VyRrOefeWjVLU1oXUz0N3fyhqUVbbAY8gCBpNFxbXPI,1126
979
+ django_spire/knowledge/collection/urls/__init__.py,sha256=TiYtDQ6yl0vJLTa1oEzIghBAnilX-lRJfFKzoJG0JSc,466
980
+ django_spire/knowledge/collection/urls/form_urls.py,sha256=C3iRCd0-_FNvAZ46ZCJzDzP_lFJuacQjhkT3AU7LTJQ,391
981
+ django_spire/knowledge/collection/urls/json_urls.py,sha256=v--1CZWXPAnaivyIOoxolZ8VGW4dbFqYZspoQ1xpff8,231
982
+ django_spire/knowledge/collection/urls/page_urls.py,sha256=uCy7uppI05OwajqeJwbEbPL2ptG2diaKp_ZpuGXcf5A,316
876
983
  django_spire/knowledge/collection/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
877
- django_spire/knowledge/collection/views/form_views.py,sha256=jh9pV6SBF7gqflvFooKVU4EFS34eTqRK-Nt22iqAlRg,3038
878
- django_spire/knowledge/collection/views/json_views.py,sha256=uzSD83O7p-L5Oh8jo_Ejh-4lbo5zXjLkZGe0cn6SXSw,1030
879
- django_spire/knowledge/collection/views/page_views.py,sha256=jiKsIqi9pvSY5KbLLGDdTHSPHXmnd-7oyYXckF2ONh4,2045
984
+ django_spire/knowledge/collection/views/form_views.py,sha256=pv-xWnlvmP3e55Uoxp6bcI_4Jp-A5M9W9w9CaN99hyY,3021
985
+ django_spire/knowledge/collection/views/json_views.py,sha256=wjxZlXh_PDJlZ4Bzr5Kc39_GC33Ih-1EascCHyUliDc,1087
986
+ django_spire/knowledge/collection/views/page_views.py,sha256=h2Aknkhf2sclRPKf4-fFGdEl4vj2O2dMv72axthRmUo,2105
880
987
  django_spire/knowledge/entry/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
881
- django_spire/knowledge/entry/admin.py,sha256=pY-0sYx24Su0y7sb1I2-GMCZxFEZj9oXhRckEdHNKno,1568
882
- django_spire/knowledge/entry/forms.py,sha256=Mhol37dMJP-pnex5IPxQVdchYcFBXnGzcWoY0SkU7lo,339
883
- django_spire/knowledge/entry/models.py,sha256=S7UV7UbWJZMyw_Tj2Y5IAJ3ShBbFp-H7i-E2Ll74IdE,2138
988
+ django_spire/knowledge/entry/admin.py,sha256=QO6R8LPy_XB3iMcEltbZbr6zdA4GtvaqJr8kcJi2HdY,1661
989
+ django_spire/knowledge/entry/forms.py,sha256=E7ArWJtW9UZfK2T1zVanuCO5cPz8McQDQhldznZHMQg,375
990
+ django_spire/knowledge/entry/models.py,sha256=klDF6i5EXcee5NDZ_vgbZssH3dZWESkxZXHalCxN6H4,2174
884
991
  django_spire/knowledge/entry/querysets.py,sha256=uD7eoxGvyzTdom55xrwBzGoS7bs3dGVixioQhvM_hs8,1284
885
992
  django_spire/knowledge/entry/seeding/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
886
- django_spire/knowledge/entry/seeding/seed.py,sha256=n7ereq118GuqV1luNih7nuVpkrZpkBgPWt0FuE4Bl88,105
993
+ django_spire/knowledge/entry/seeding/seed.py,sha256=VuK7V4BFzlZPRtkgdwZYkPD6PdhPS0b2RXJya-VVmMU,142
887
994
  django_spire/knowledge/entry/seeding/seeder.py,sha256=AqClwSzrFYWU59VsbUMJiN1Dh4P6Dvax-M3gqhoZoQM,2069
888
995
  django_spire/knowledge/entry/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
889
- django_spire/knowledge/entry/services/automation_service.py,sha256=0_Ypk5cXhGvkQLkmKBArFTrE_sZhXCnBencmuJeLxMI,1826
890
- django_spire/knowledge/entry/services/factory_service.py,sha256=bgUEHjdc9u2mxUJFy26qYOxUiJRHmhtcoH6AG3xzU0I,1379
996
+ django_spire/knowledge/entry/services/automation_service.py,sha256=pA5B5RLr4cOORmJ4rP9KP_JyN1qNK3eiSrsFyxYSV_0,1808
997
+ django_spire/knowledge/entry/services/factory_service.py,sha256=KwqDL0lGVFefPfHg8udmVKElTLbPsiE0v8RtRdTg-C8,1368
891
998
  django_spire/knowledge/entry/services/processor_service.py,sha256=sfAM5ku7Td4k0jCe2szyoR72Bt1_OS75UKh7YPL4l2s,494
892
- django_spire/knowledge/entry/services/service.py,sha256=-A8_UcmQ8aLvkRNzGzTMA4faN9UWOd5pdlFlujB1YHI,1912
893
- django_spire/knowledge/entry/services/tag_service.py,sha256=y5iYeWD4yi3aL4V8bbDIMvzVzqmcaqFSl5tQx5KlJtQ,792
894
- django_spire/knowledge/entry/services/tool_service.py,sha256=QL6w8t284LfSOJrQaF46uWInd4t413WYxcXCWsat_jE,1083
895
- django_spire/knowledge/entry/services/transformation_services.py,sha256=6WPQxW-_XATi8HCwshtJjoYbQFJcIdCqFaADHnTyk1U,2687
999
+ django_spire/knowledge/entry/services/service.py,sha256=pxuyOjf5CqXJ2cPgvyVsVG2SZIjaQd32kNV4Mv_ffMo,1898
1000
+ django_spire/knowledge/entry/services/tag_service.py,sha256=bzK4rK16U2r41AFbgxJ6fcp5KlRtgUA0K36q6BqbWDE,791
1001
+ django_spire/knowledge/entry/services/tool_service.py,sha256=-ZW--LDEan1wnfnOEi9Pen8juLHLTLqvtWSJd1tosRw,1084
1002
+ django_spire/knowledge/entry/services/transformation_services.py,sha256=2hliE8hGDdBcJnE-G6n3jvtakXsLLwGehAs7a9ArKxM,2616
896
1003
  django_spire/knowledge/entry/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
897
- django_spire/knowledge/entry/tests/factories.py,sha256=gV6CK11SmLw2aE-g6WQc4m7eDodzoH94iCmqHn5PTXI,448
1004
+ django_spire/knowledge/entry/tests/factories.py,sha256=eZ-J3zlTwdXyhwLtcYU3cJuMX4qIpc1EH3X0hMU_Eg0,481
1005
+ django_spire/knowledge/entry/tests/test_factory_service.py,sha256=ukEfmUUabMHmeD441ZZ3Wd78YlqPVt5orlaINjgKkFg,626
1006
+ django_spire/knowledge/entry/tests/test_models.py,sha256=iC5wbVnm7y8CykBWPydmMHrq_1Rwe12wOn1QfrWUGSA,1476
1007
+ django_spire/knowledge/entry/tests/test_querysets.py,sha256=M6wYFt5aoAqF0WYgtuX-Q0w_ifZeCqRNh2Ol--Vg_jk,2921
1008
+ django_spire/knowledge/entry/tests/test_services.py,sha256=Bzj2Je8Y8NZBu7CubLMcoVH7vgL9MpqdyLGh86vTkoc,3422
898
1009
  django_spire/knowledge/entry/tests/test_urls/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
899
- django_spire/knowledge/entry/tests/test_urls/test_form_urls.py,sha256=2qdccOuN-CblCfXGHhRNz7m54FoIfX-_VBphoSxVQdM,1756
900
- django_spire/knowledge/entry/tests/test_urls/test_json_urls.py,sha256=zd0SjgS9IvvxX9JVb9bLnMT7KvOVcQo7E2TN6-nJEQQ,919
901
- django_spire/knowledge/entry/tests/test_urls/test_page_urls.py,sha256=LKmiRozD1w9kSkyYsrluFWayVLMw3ObV4-84v75_mzU,923
1010
+ django_spire/knowledge/entry/tests/test_urls/test_form_urls.py,sha256=rEMlYwcEiOWqQBRPlYtBrlz6Cn-mpLqte4PcJhoUg0k,1731
1011
+ django_spire/knowledge/entry/tests/test_urls/test_json_urls.py,sha256=wGmw1cn7Z3Vw1vokIiGgym-d36J8bVUDASXo59ktYTc,2541
1012
+ django_spire/knowledge/entry/tests/test_urls/test_page_urls.py,sha256=bOlRwrOuM5kPPqk7JNv0cQ4CKa5iLMk02vyYshZ2op4,1047
1013
+ django_spire/knowledge/entry/tests/test_urls/test_template_urls.py,sha256=_Y26H2tLHZP6nECR6YtVCUqsqIEOVw4gjx8Ca6KXneQ,1282
902
1014
  django_spire/knowledge/entry/urls/__init__.py,sha256=WddmUO15jviauYQR6iH1Duv3pNN4-BHZyOhFnMTpDfg,559
903
- django_spire/knowledge/entry/urls/form_urls.py,sha256=rBHTANwNRsmOSeOQM0WbGlTsBXcA44nrodKjbkZ0r8k,410
904
- django_spire/knowledge/entry/urls/json_urls.py,sha256=zWQCExLLDqh1dBUzmd88yIMDVBaNeyBfsi-VOSKTuWI,268
905
- django_spire/knowledge/entry/urls/page_urls.py,sha256=Z87nwCwxTKQO9ZrJlYYt3mx7GgFcpVHKcg95Q5cpaYs,196
906
- django_spire/knowledge/entry/urls/template_urls.py,sha256=WtJGpuIc72A_EFtL-vNOtxwAWPD0gL1xGVTtBfa96Kg,223
1015
+ django_spire/knowledge/entry/urls/form_urls.py,sha256=5Nw4xDzaXB6CTO8ppLrPpTwO_iN4QphlCTsq2guCUuk,446
1016
+ django_spire/knowledge/entry/urls/json_urls.py,sha256=RKqwPJfFsaD3D_8Ct1K7LSzJJ9CES4WieMaxTXqEJOo,304
1017
+ django_spire/knowledge/entry/urls/page_urls.py,sha256=HMD955ExAzB-mam_fpQE2nUZbZcLIPFzMCESSg8tnvk,232
1018
+ django_spire/knowledge/entry/urls/template_urls.py,sha256=nDXVus9pW-N3kurbjxJ9-sHPruQ0XvBqbuE2DUUx4gA,259
907
1019
  django_spire/knowledge/entry/version/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
908
1020
  django_spire/knowledge/entry/version/admin.py,sha256=-I7UDBdaFODaziJya5UWWKhzckVKrbVcvvkzOrqYpzQ,638
909
- django_spire/knowledge/entry/version/choices.py,sha256=HQLCzgTQpskkcJ7s1PbvYTmHd-E8aKJsuWKz5gowg7k,163
1021
+ django_spire/knowledge/entry/version/choices.py,sha256=0hpRsKdGuMBNXsRg-foNtF4vtHrCBnAY-eKAnPYQeKU,199
910
1022
  django_spire/knowledge/entry/version/consts.py,sha256=BXLllSze2dOz2ye6kJPtl3nfrlNO1kDER1HLZHpGP9o,30
911
- django_spire/knowledge/entry/version/maps.py,sha256=UJ_3-dD8p3-boQ_dT0pclXogYavDaFlrb_BSg19TE0k,319
1023
+ django_spire/knowledge/entry/version/maps.py,sha256=SXG2DcVORMioCND5G2GqGi7h-LZSKpL-RsPbwHny3qw,309
912
1024
  django_spire/knowledge/entry/version/models.py,sha256=4qG-dsXzlHSXClpUK8d_pnXvU0316RuqKVSVbuEeR2w,1464
913
- django_spire/knowledge/entry/version/querysets.py,sha256=RMMAWMdcqJ8n_TK8l2LUINRfbsVYec2DRi8l8groCR4,479
1025
+ django_spire/knowledge/entry/version/querysets.py,sha256=jRyQkp3Gul7xw6zNYnodXGjG7yJso6V4C1dVWCOM3nY,480
914
1026
  django_spire/knowledge/entry/version/block/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
915
1027
  django_spire/knowledge/entry/version/block/admin.py,sha256=mFcVIU2P02MaBPkf_UADPnY24nMzuHcAQa95r0tP2N0,535
916
- django_spire/knowledge/entry/version/block/choices.py,sha256=A_QbRGJJOIBtrevoJN6TBwNHvl3QT4n-DBJYHxTwRgM,140
1028
+ django_spire/knowledge/entry/version/block/choices.py,sha256=O-a5vhs-xl3J1nVjKFZ28kBdDefbtleglD5e05odJew,176
917
1029
  django_spire/knowledge/entry/version/block/constants.py,sha256=rClZzAMRu603_mAqOPn9OKw-8Eomck69Cg0ehwbh8X8,22
918
- django_spire/knowledge/entry/version/block/models.py,sha256=J7hnHWQqz_fdzOz3e5tA6RdxnW-wz-M4yIwURfsdYwA,2357
1030
+ django_spire/knowledge/entry/version/block/models.py,sha256=0V2SZtQ1Qk7G8hnkK8HZ-ClOBWU4SL-wg2cJ9C4t5Tc,2402
919
1031
  django_spire/knowledge/entry/version/block/querysets.py,sha256=WGJbcpG2RhL5IHHbBkyGoVWB0Bfl8TeA6lgEj2bkFek,806
920
1032
  django_spire/knowledge/entry/version/block/data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
921
- django_spire/knowledge/entry/version/block/data/data.py,sha256=bGjlu-kpvcAUdtMD4Xqglu1Y-LJUJvyP4FfnlMvdPNs,1101
1033
+ django_spire/knowledge/entry/version/block/data/data.py,sha256=6bnisj5tgLIbKe992oTjgkC4M2YOANGmDYTQxf4hpTc,1102
922
1034
  django_spire/knowledge/entry/version/block/data/heading_data.py,sha256=BO9u8oBmEAAM0r6NyfW7K-OWfJhJ02M1u-UbPvUwuDE,472
923
- django_spire/knowledge/entry/version/block/data/maps.py,sha256=G8vDDRAca0T1aHlygdp3UhNN1QwI3N-8fIXJ_EWalHI,700
1035
+ django_spire/knowledge/entry/version/block/data/maps.py,sha256=HpmLGKJJO_2e0-3usX5TwcNkJ2Lj8lsHamxuCmTsdR8,682
924
1036
  django_spire/knowledge/entry/version/block/data/text_data.py,sha256=_i3NPte_SRUczVBFk5T3buWHdju2uOpsWfTQZsxkprI,415
925
1037
  django_spire/knowledge/entry/version/block/data/list/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
926
1038
  django_spire/knowledge/entry/version/block/data/list/choices.py,sha256=-wmuZ7qPc-b-4Uk_uFwW3rFPjHiRrPC1GGTn4eXk3gw,401
927
- django_spire/knowledge/entry/version/block/data/list/data.py,sha256=ZvA54sR883qw5fVH2qzdqt4p8WSGQOFvkBJ5MKtjlB4,3388
928
- django_spire/knowledge/entry/version/block/data/list/maps.py,sha256=aus83oh5h2SXdip2z9gpXbRwMKpq1HanywTw6h2z_Wg,582
929
- django_spire/knowledge/entry/version/block/data/list/meta.py,sha256=o1ddEnVS4lSZWbuAwRgOVThtjEP_vEkmlOxwM9QtCRU,363
1039
+ django_spire/knowledge/entry/version/block/data/list/data.py,sha256=IdKu98mVpALtBvnE7rxVu6u2K3J4shLybinK8t3Xv2s,3344
1040
+ django_spire/knowledge/entry/version/block/data/list/maps.py,sha256=9U_Hd9tT0F48iH-DpsAKFo7x7rRv5VsmTgMqUtC2prI,585
1041
+ django_spire/knowledge/entry/version/block/data/list/meta.py,sha256=Ut5En0PrNYVR9S93SRXKyLWRpDNr1Ejr2CNCGeDn1ck,357
1042
+ django_spire/knowledge/entry/version/block/data/list/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1043
+ django_spire/knowledge/entry/version/block/data/list/tests/test_maps.py,sha256=bhHKrmgcqmZmOTRHcLuhzbVSmORIkwsXzaMNtRlYV6I,1342
1044
+ django_spire/knowledge/entry/version/block/data/list/tests/test_meta.py,sha256=ssnjBr4YzjQu2soal7GanG20NbhAdTeUqy-DF2af-ks,2240
930
1045
  django_spire/knowledge/entry/version/block/seeding/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
931
- django_spire/knowledge/entry/version/block/seeding/constants.py,sha256=cFjWloJLkx1Ov1AAUHRDeghqqh4QtiY9ho-iAn2uIDw,18528
1046
+ django_spire/knowledge/entry/version/block/seeding/constants.py,sha256=hRM4rX5L95oLbEuhDIly1G5akMRd4-kSN8zuVVpcDHE,18553
932
1047
  django_spire/knowledge/entry/version/block/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
933
1048
  django_spire/knowledge/entry/version/block/services/factory_service.py,sha256=sxqxOJfKfc9K5NpmPa3Ry33ZoLtf1WtdhsaIcwkrDDc,1647
934
- django_spire/knowledge/entry/version/block/services/service.py,sha256=9wz_2Rn3iWienOUjjiE5ngaHcjyAywAVPhBP-DmyS7s,508
1049
+ django_spire/knowledge/entry/version/block/services/service.py,sha256=FeZVasdeRGTxLBUbsf1EaCZe47A1saJ4vOicR4rxhuo,503
935
1050
  django_spire/knowledge/entry/version/block/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
936
- django_spire/knowledge/entry/version/block/tests/factories.py,sha256=T2_3E6n9JBFe4PhhTPAKcaJsRGm6aHR_gl2FyHAae5s,1133
1051
+ django_spire/knowledge/entry/version/block/tests/factories.py,sha256=gdJdbWSH0hBInQgpKHHEuBrlLx093eRodE5T9UI8C2U,1135
1052
+ django_spire/knowledge/entry/version/block/tests/test_choices.py,sha256=W24WIdc4S-l2dLBz_C6h0vWZRcUd48FKQmi1nuiLtEc,1790
1053
+ django_spire/knowledge/entry/version/block/tests/test_data.py,sha256=1pdVEhMVCCIYBFXomZmOim9w3dLbxggNl2R4CABoboE,3245
1054
+ django_spire/knowledge/entry/version/block/tests/test_maps.py,sha256=RfwcPltBioU8qlFVrGLoVcfhuop1fZafUqs2Fg1Mz04,1867
1055
+ django_spire/knowledge/entry/version/block/tests/test_models.py,sha256=0K3wxPeDNtXh6M3cnIuBNQGobwRU-eEOc3BwxLbMHj4,2575
1056
+ django_spire/knowledge/entry/version/block/tests/test_querysets.py,sha256=lKMYKoRpBR4vULcnrsap3sRUJQVcfUUTtzeRs6v3W10,1350
1057
+ django_spire/knowledge/entry/version/block/tests/test_services.py,sha256=nUvVSP7Vw5CYHx0mAXKch0W-R5Xx0ug5vR0ZWTGlxB4,2474
937
1058
  django_spire/knowledge/entry/version/converters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
938
- django_spire/knowledge/entry/version/converters/converter.py,sha256=0zbM7FTCpXe_O8gfsVc4V0Pg4cks7HMZi4SXJQ_HIEw,584
939
- django_spire/knowledge/entry/version/converters/docx_converter.py,sha256=lVpgUHium1JzStvx1em1TkpvXPvGgvF_eEK53V_7V6A,2570
940
- django_spire/knowledge/entry/version/converters/markdown_converter.py,sha256=Y2xSbb3KknIkBakJEp2H66k0_zgkA4jBoeKu_7X9-DE,8399
1059
+ django_spire/knowledge/entry/version/converters/converter.py,sha256=SOk5lRu-UirwKX4GNWRDRm5GQQ3uIaE2q3KPCrVjwBg,584
1060
+ django_spire/knowledge/entry/version/converters/docx_converter.py,sha256=RST4Pzt9PRD5erYqWWPb58JTwxHHoSg2a5VdyQspCV4,2556
1061
+ django_spire/knowledge/entry/version/converters/markdown_converter.py,sha256=6DPXqz-orAcdIESqRRgIDQrgId5eKTLAlHh_G9sXffM,8333
941
1062
  django_spire/knowledge/entry/version/intelligence/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
942
1063
  django_spire/knowledge/entry/version/intelligence/bots/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
943
1064
  django_spire/knowledge/entry/version/intelligence/bots/markdown_format_llm_bot.py,sha256=6oM0G8uKGgT21fmTqUkDp4Y8Q5ZTLlabZaBHe-kuy3w,858
944
1065
  django_spire/knowledge/entry/version/seeding/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
945
- django_spire/knowledge/entry/version/seeding/seeder.py,sha256=q-SJLIvwJpIrnjMi01UvB8sVELFDgVM_uYxifBEXI0E,2669
1066
+ django_spire/knowledge/entry/version/seeding/seeder.py,sha256=MaoAWIRWK3RhgjtFoUqelPereTosLCWl-Z3CPdkZ1zA,2663
946
1067
  django_spire/knowledge/entry/version/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
947
- django_spire/knowledge/entry/version/services/processor_service.py,sha256=DlC9dyx3e0qHRnZeimDIwUaYfBZftoNyrIxYT3uO8Hk,2387
948
- django_spire/knowledge/entry/version/services/service.py,sha256=qQvy4k9Zwyi1p7d2eu97-OmKDZrI96PFNaHQ7E5RQuI,506
1068
+ django_spire/knowledge/entry/version/services/processor_service.py,sha256=kH83THS0CB0tiNHOO-YtJzrDFQQjs_96ouviV5pIdNs,2363
1069
+ django_spire/knowledge/entry/version/services/service.py,sha256=vdTncCOH-dR_em7bd-i11A1Lfa64r4tEuc6JWkParSY,500
949
1070
  django_spire/knowledge/entry/version/services/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
950
1071
  django_spire/knowledge/entry/version/services/tests/test_processor_service.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
951
1072
  django_spire/knowledge/entry/version/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
952
- django_spire/knowledge/entry/version/tests/factories.py,sha256=vQ-6O2mgsE70UWDaxCk7_60Rpg2roOpSvxoSb8pI5KQ,594
1073
+ django_spire/knowledge/entry/version/tests/factories.py,sha256=r9COWi90d5IWIiFIG-CJEve9lPPlk0ADEU6dRqRVvQc,653
1074
+ django_spire/knowledge/entry/version/tests/test_choices.py,sha256=lYMr3I9eidv31nbNzsfB8J63MVkv696M4Mmdaj9lCIY,620
1075
+ django_spire/knowledge/entry/version/tests/test_maps.py,sha256=ssnjBr4YzjQu2soal7GanG20NbhAdTeUqy-DF2af-ks,2240
1076
+ django_spire/knowledge/entry/version/tests/test_models.py,sha256=CzZ-zxJvmYuOEr378xp_VvdaDCjDG0Q0v74IsJ6Nyxc,961
1077
+ django_spire/knowledge/entry/version/tests/test_querysets.py,sha256=AcIwhwO1-jHKVHGekNPmlqlneC6Jo0-KU35EaWgI1Vs,1099
1078
+ django_spire/knowledge/entry/version/tests/test_services.py,sha256=lAI_gJ1ioAeeuJWrUk08tkdLLoecWgtnX1sL6uerqf8,2776
953
1079
  django_spire/knowledge/entry/version/tests/test_converters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
954
- django_spire/knowledge/entry/version/tests/test_converters/test_docx_converter.py,sha256=1Fz83IMyfPplEVy7q0GW4jwm_TKI53lOPAE3aJ8uV1o,1594
1080
+ django_spire/knowledge/entry/version/tests/test_converters/test_docx_converter.py,sha256=hXyhQ2fw3kSpPieyWI73AY4_BSmlHLmLJ9gKkEss6Ds,3379
1081
+ django_spire/knowledge/entry/version/tests/test_converters/test_markdown_converter.py,sha256=_2iA0dxQQ9m2UEanNNiy9jt6U1avhclXwH__5x9hdkU,3419
955
1082
  django_spire/knowledge/entry/version/tests/test_urls/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
956
- django_spire/knowledge/entry/version/tests/test_urls/test_json_urls.py,sha256=WFN-aR6NmZGNKv03Jlw10YR730JYpbydYHDQPPbbkJI,1161
957
- django_spire/knowledge/entry/version/tests/test_urls/test_page_urls.py,sha256=l3k7lXeRNbbtIXZtt8LLDacDozYjTzinSCAjJdPeGC4,946
958
- django_spire/knowledge/entry/version/urls/__init__.py,sha256=e0MeLIxK5W4H68nK3A5TKbD7ZJFwFFJ2bZNhh2T-4uk,394
959
- django_spire/knowledge/entry/version/urls/json_urls.py,sha256=w1QWnVGHHIrLgXJYoDBJB0q07WCZzQTBeBotLtXQjoE,414
960
- django_spire/knowledge/entry/version/urls/page_urls.py,sha256=z8pfK548b4xr6UIE3pnPNTUjSeZaeBac2MQeL4VyJTo,204
961
- django_spire/knowledge/entry/version/urls/redirect_urls.py,sha256=9X7UqKYIxwDRVPHTwT1zywpWybD1hJ923p3cX1itZ5Q,219
1083
+ django_spire/knowledge/entry/version/tests/test_urls/test_json_urls.py,sha256=2c3RfeTKxoXGLj95jmKhQ7nbEog4pIf7-WVvUKewoic,2048
1084
+ django_spire/knowledge/entry/version/tests/test_urls/test_page_urls.py,sha256=sdR7fKJQ3DVmUaVLDiiOp79JIkdgUjKidFLoRsAsprE,1388
1085
+ django_spire/knowledge/entry/version/tests/test_urls/test_redirect_urls.py,sha256=5ELI_4E8O6RZjRcfQ4b4bBtxmoH4qjEnaoTY-p5Y5OI,1550
1086
+ django_spire/knowledge/entry/version/urls/__init__.py,sha256=tSxgsNjjYckn9aCdFcf7IESX0St8n2eomlva2Wym7pY,431
1087
+ django_spire/knowledge/entry/version/urls/json_urls.py,sha256=Ld_trobAdbe_7wETrc_r-Go16C143Bfa0cQ5QQmA9gk,449
1088
+ django_spire/knowledge/entry/version/urls/page_urls.py,sha256=fIVB7SWgvXSFelEf6Bp8M5PpdXTvbyV2q824WbrrW48,240
1089
+ django_spire/knowledge/entry/version/urls/redirect_urls.py,sha256=4i8fH4dKkEAVi3x1Mamt_Io9MrRCfuH65qfNcBBZFCY,255
962
1090
  django_spire/knowledge/entry/version/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
963
- django_spire/knowledge/entry/version/views/json_views.py,sha256=gauZ4YvUks7GNWR212aaPKgE6ym5YDKVLChKWGfqljs,1180
964
- django_spire/knowledge/entry/version/views/page_views.py,sha256=rRoaqlChmcnWVLO02smw_zIHrec-3MtQ-FcDGzOQZh0,1698
965
- django_spire/knowledge/entry/version/views/redirect_views.py,sha256=m6RPYfBcnOq-iU2QND56IfCHU7wCqF9aOiQUCbqP_Aw,754
1091
+ django_spire/knowledge/entry/version/views/json_views.py,sha256=-0V3YSVncZtz829BXdi1FIgcVCDqIVM3mJ2WCspTFtA,1237
1092
+ django_spire/knowledge/entry/version/views/page_views.py,sha256=VWhrsFcBu-2DZyT-8somFl2vcECYBdZ3kOyB735QnRA,1846
1093
+ django_spire/knowledge/entry/version/views/redirect_views.py,sha256=t77IKd9nrh9Lw1J5g0gnurfQCBwrlptFhf0c3Ifvvv4,811
966
1094
  django_spire/knowledge/entry/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
967
- django_spire/knowledge/entry/views/form_views.py,sha256=AMpCr6W1TDeV7GwPY6EtpGnWJ-y-ckcRI8DKdJDKgtA,4256
968
- django_spire/knowledge/entry/views/json_views.py,sha256=UqfKcJZ908y2UmKBBF0PoQj1-a6liQBbEt4RD7dwEeI,1761
969
- django_spire/knowledge/entry/views/page_views.py,sha256=piqmMm7WXuaiy-shGXfcP3bAcJN8oh3Y4MxfBzFiK70,819
970
- django_spire/knowledge/entry/views/template_views.py,sha256=Y-3JnslI_hj4WesN8dJbpImhUZSSjxpWErqV5aL9ecI,1188
1095
+ django_spire/knowledge/entry/views/form_views.py,sha256=kfnAeJyWKJBqYAstRG-MzREFh3TysQdp6_8mZdp1WLQ,4330
1096
+ django_spire/knowledge/entry/views/json_views.py,sha256=2S2JoxDlCQmj-UH0cOuf6z6NuRjXdk73P7LSmvhPQq8,1763
1097
+ django_spire/knowledge/entry/views/page_views.py,sha256=P8umbYZyCt1a8Ih9R6TNO-KM57LpXMOZcC3xDgsWmvE,916
1098
+ django_spire/knowledge/entry/views/template_views.py,sha256=_F7OPzFea0KOfuGs92eT7pT1nfKU4vij30jAWdlqe8E,1281
971
1099
  django_spire/knowledge/intelligence/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
972
1100
  django_spire/knowledge/intelligence/router.py,sha256=4nPcIJJPHtwGgBXrLZiZaSNrfHDADrE5wCznvQOOm2s,802
973
1101
  django_spire/knowledge/intelligence/bots/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
974
1102
  django_spire/knowledge/intelligence/bots/knowledge_answer_bot.py,sha256=VGS8w25OoJjflBIrPOo9WOvWxceSIIwJ77c-FxSExJk,1501
975
1103
  django_spire/knowledge/intelligence/bots/knowledge_entries_bot.py,sha256=B8GBBZdpN-PIu1o_N1X55yvelJWC8U7yxRu_0ruwvxU,1642
976
1104
  django_spire/knowledge/intelligence/intel/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
977
- django_spire/knowledge/intelligence/intel/answer_intel.py,sha256=wEo6uqj4bbv6IoYYPA1fD3Q-8UocS2dURa_jJHYuRcU,77
978
- django_spire/knowledge/intelligence/intel/entry_intel.py,sha256=VgP8l5i8JML6G12kj2nwxP85Cknv00ktb6nrKzInJTE,569
1105
+ django_spire/knowledge/intelligence/intel/answer_intel.py,sha256=FhTi9uSWZB-0eJ8fW12K9IH2pLwTve-syY9FAqtdVMA,112
1106
+ django_spire/knowledge/intelligence/intel/entry_intel.py,sha256=80zysVtOEfO5a_kLppqK1vj_PtI2B_mAEclikKn8tag,568
979
1107
  django_spire/knowledge/intelligence/intel/message_intel.py,sha256=24z1dindbrHGLJH0e8oILxOQopnggLJeam8MMvdgUTc,529
980
1108
  django_spire/knowledge/intelligence/workflows/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
981
- django_spire/knowledge/intelligence/workflows/knowledge_workflow.py,sha256=zfEEDB6b4OI07YtAvzzpCHTssIrdt7twg2_t7iofIpY,2745
1109
+ django_spire/knowledge/intelligence/workflows/knowledge_workflow.py,sha256=EbMXQx0Y7aeSmsjLJo3AmApvXynaLMb8hldJV2_rDXQ,2693
982
1110
  django_spire/knowledge/migrations/0001_initial.py,sha256=0oAx4e0Tu1wbcMwQZ4I_B2X_EGdEA9Qz_UBdVNGc3yE,5487
983
1111
  django_spire/knowledge/migrations/0002_alter_entryversionblock_type.py,sha256=Eg8tLjDO0nJ3go_jgVvoqwYKFOpYUUyNtZtLI2V3IQQ,527
984
1112
  django_spire/knowledge/migrations/0003_alter_collection_order_alter_entry_order_and_more.py,sha256=nIIUg1lHQ1iLbPlOulwZgzHrP1erGMYVXDaEdDXv4ik,749
@@ -1032,32 +1160,35 @@ django_spire/knowledge/templates/django_spire/knowledge/sub_navigation/item/entr
1032
1160
  django_spire/knowledge/templates/django_spire/knowledge/sub_navigation/widget/collection_entry_sub_navigation_widget.html,sha256=m9dzz9rxVCb_T5dKeo1spYWKRGogTZ07snKIfau0njA,6121
1033
1161
  django_spire/knowledge/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1034
1162
  django_spire/knowledge/templatetags/spire_knowledge_tags.py,sha256=n3eHc8QZplOi9ovD8qbfzp66F91tdm6q8z1YPcnmVOM,622
1035
- django_spire/knowledge/urls/__init__.py,sha256=IOa6Mc7QzZHtgGaXTCIoJ0WjL2IvSwwAHkUqEydMMYA,354
1036
- django_spire/knowledge/urls/page_urls.py,sha256=FzvEqJtwsEn0gwULgedZtGMoOjALwRXodaUyPD4kmMg,170
1163
+ django_spire/knowledge/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1164
+ django_spire/knowledge/tests/test_templatetags.py,sha256=Mk4j-ACmRqhRugpsPXKmJFbLOV36jg-rIDYJ7CrDxT0,1555
1165
+ django_spire/knowledge/tests/test_urls/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1166
+ django_spire/knowledge/tests/test_urls/test_page_urls.py,sha256=nKlORgE05Gn1lU8BMs3LYybSssOUzdtoKieDVhAC1GE,744
1167
+ django_spire/knowledge/urls/__init__.py,sha256=uC6MWr_ZXu0Y0Fx2tnlYoidTcGApQwmbFdSPgI_C2qQ,390
1168
+ django_spire/knowledge/urls/page_urls.py,sha256=K7fs2SWJKuM-jxXWjpRG0rsaOnVVy2j9qKRmEjNy9qc,206
1037
1169
  django_spire/knowledge/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1038
- django_spire/knowledge/views/page_views.py,sha256=pLliM1yGQpD-czVayZYMi68eaCjUGEVZ-uNinNr-7oA,877
1170
+ django_spire/knowledge/views/page_views.py,sha256=WdNW8ranxuAS2GkoVLvvrVqWgxN-o9PTYSZ4KXxQj2E,1011
1039
1171
  django_spire/notification/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1040
- django_spire/notification/admin.py,sha256=Z2tY4wnH2JTfE68X7XBuJQaa3VNffl-KL2iwH7nP-ZM,1054
1041
- django_spire/notification/apps.py,sha256=L8IAv8_KFRCXmRvHnaAlNm73ATXPsRbZZvKTaoF5spg,905
1172
+ django_spire/notification/admin.py,sha256=Upl86FjJc0Z3zfuZmHa9O531E5SkJf5Sb_Dq7xoGf9E,1091
1173
+ django_spire/notification/apps.py,sha256=-IsLc-C0a1hyhsZMITlNl4Yb81O4ag0Forslrc1F_aw,970
1042
1174
  django_spire/notification/automations.py,sha256=malmYlZ0OuEgLbJD_zqNyHRes9_-PG5fFc7D7ldwpnM,318
1043
1175
  django_spire/notification/choices.py,sha256=1GSjvCA3FKofC4rEDSBsUGqY-uKnLnyKNtw6ia33_qM,474
1044
- django_spire/notification/exceptions.py,sha256=gD_rJkZ0t6Pn13FJqf9p5uT0QWEJ58igyPEAIYYbtzo,119
1045
- django_spire/notification/managers.py,sha256=QzRIRRffua5yl71RDQzGQPk7FHN9UfVMwX2aWuf2MbQ,1595
1046
- django_spire/notification/maps.py,sha256=iTZnuro23HX4tg069FS148sZY9CbVlKZ83Jvh0WiIBI,622
1047
- django_spire/notification/mixins.py,sha256=deGNC_SD7P9NfM2exFvbZlpOF_daMTW9zzeWre0zXfA,294
1048
- django_spire/notification/models.py,sha256=51DxAW0XeBSKx7BhPKQ-YabG1VzoKgJ_EoxhFd3-UL8,2140
1049
- django_spire/notification/querysets.py,sha256=Tq1UjVTyD3xOMBAsNDyx6BNPS-8rwIGs4JrlnCeg3jM,3860
1050
- django_spire/notification/urls.py,sha256=cewnrbbMe5A7zExvYX19BmOJPpcpcKGgpXzGZs5CIJw,249
1051
- django_spire/notification/utils.py,sha256=cc2qHoKHv9xUfqkUljN2hPSPUmgnXS30dIez3exlBRI,253
1176
+ django_spire/notification/exceptions.py,sha256=8wCoLVH_nohDvGRQHLxhQqodGnPMPAA584hpd-2Mh0M,575
1177
+ django_spire/notification/managers.py,sha256=_gBzkKZrZSoy2QcBjTWT0kc6bhP32nhmNSaroFJnsro,1688
1178
+ django_spire/notification/maps.py,sha256=T9W9R7B-D7WdasgvH8_02NjzQPPsHjSAYdAWfzwXCnA,660
1179
+ django_spire/notification/mixins.py,sha256=XUNij4Q4nLqqXMLGJ0TGuto7S58L3_u-28TU9SNE4aI,330
1180
+ django_spire/notification/models.py,sha256=AL7v0XTaTC5j3zxS5XfY5fImQmAc6QbhOn_yFesLlf4,2147
1181
+ django_spire/notification/querysets.py,sha256=pVz4dcQ0-dDe5NNUyJwexhUZ04PZRAql2Zo4Tj6Ario,3953
1182
+ django_spire/notification/urls.py,sha256=_Rvn4894yQ8fAQrea9R_q_jxikh8wDECqxpvoRFeyKY,285
1183
+ django_spire/notification/utils.py,sha256=JDqtwitnHfw8WUpTCsRTTzc2aLUu_dQEFNPO-aFC3L4,290
1052
1184
  django_spire/notification/app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1053
- django_spire/notification/app/admin.py,sha256=WG6Ig6ASaIq2NKLiWD4Go-rEJK8I0gPJE0ceMN921Qw,270
1054
- django_spire/notification/app/apps.py,sha256=lzttQ75ldEakrDip9Dzz4ofZzWpQj8dHnV2gZTMdGaA,413
1185
+ django_spire/notification/app/admin.py,sha256=xoNTS8tQdbuF2DetVZewqfd9YnSG0tLbbc1CYD4Jcy0,306
1186
+ django_spire/notification/app/apps.py,sha256=q7DeAPuFwSlwjaKzOmJO2VsbpPFbgbXHmrNhChPUa2w,450
1055
1187
  django_spire/notification/app/context_data.py,sha256=r8U2IzaptkcF673yKjSvzY1fiTTPFMLqMcdvjhohhOw,1063
1056
- django_spire/notification/app/exceptions.py,sha256=CBCMuzm8I8kYW67qBHpZwKB5YordzufjsJ7prKcOo2E,122
1057
- django_spire/notification/app/models.py,sha256=-vWoB2Hjacp5KDg-do-9YdVNgMW8ML5oN7vFXsh2-u8,2081
1058
- django_spire/notification/app/processor.py,sha256=Di_sgwvAHbq7aO7p3J6LTFRmYNgfa5qxsOSqIYwefeI,2873
1059
- django_spire/notification/app/querysets.py,sha256=K0vXsFUtKoXumVXAqYdrUYTOqHnexTYmsbgNjKl02xI,1819
1060
- django_spire/notification/app/tests.py,sha256=mrbGGRNg5jwbTJtWWa7zSKdDyeB4vmgZCRc2nk6VY-g,60
1188
+ django_spire/notification/app/exceptions.py,sha256=xTvF3ckm1lyJyzIDZhaEXSkNYommVcrBL6NThQpLtec,309
1189
+ django_spire/notification/app/models.py,sha256=03pltELFwwGdpJkrm2V60Kt_q_h3M_ORPbFjg6wf2MM,2098
1190
+ django_spire/notification/app/processor.py,sha256=qV4nK37vMpoL9CDEgB8diAG1oBQrEt97a_T2sE9pOx8,2543
1191
+ django_spire/notification/app/querysets.py,sha256=gEi26CfQlLkSGHyWsKFvRbxcOmoCAIjcbe_SqCHr0ns,1821
1061
1192
  django_spire/notification/app/migrations/0001_initial.py,sha256=ecwU6tJ5qZBKl3uAgpv_L74OUepxYgLvr3ssRYSfxxs,1439
1062
1193
  django_spire/notification/app/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1063
1194
  django_spire/notification/app/templates/django_spire/notification/app/card/list_card.html,sha256=lpBbGkZG3CcAP1E6ztm_GbW60lO-0CGnaeE2pfKRSmQ,275
@@ -1066,60 +1197,101 @@ django_spire/notification/app/templates/django_spire/notification/app/dropdown/n
1066
1197
  django_spire/notification/app/templates/django_spire/notification/app/element/notification_bell.html,sha256=fwXOY5yi76jQOx5wZQky2mfAs0DFIOwBDwJwOZCdw-8,440
1067
1198
  django_spire/notification/app/templates/django_spire/notification/app/item/notification_item.html,sha256=TwLbKo33MHbyKrBalQTTJ_vqXBLyygNduPe1GdzfN7s,1231
1068
1199
  django_spire/notification/app/templates/django_spire/notification/app/page/list_page.html,sha256=9cEpntq9BQLWdIKa2cq77-KDFivzNPfPKnvQiuLl0fs,166
1069
- django_spire/notification/app/urls/__init__.py,sha256=x5LtGu5lHANaFbB-6WIzXIkQ_fdjVLr5QPWvUgELfsA,370
1070
- django_spire/notification/app/urls/json_urls.py,sha256=ZLOg5ZSIYIqCicfinGsvqWB5uis54r3ex8Upsh4724k,395
1071
- django_spire/notification/app/urls/page_urls.py,sha256=F5aqfAooAo3ktwwZSHC5wgVIwqXjA5BqxyYtPZEs1Sk,273
1072
- django_spire/notification/app/urls/template_urls.py,sha256=WLAcXMHjGhbBt_qLmWXLEeLU0C9aXU2PcxXYs3XDzt4,297
1200
+ django_spire/notification/app/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1201
+ django_spire/notification/app/tests/factories.py,sha256=V0NHRQ-cY-HkSN4jegEFoNk6pVdrTJL6YaQ7hwtxIO8,1280
1202
+ django_spire/notification/app/tests/test_apps.py,sha256=xo94F1iYXoHmkDkGlDMcRpxXoF0U83YWoK2Zm5kHgD4,863
1203
+ django_spire/notification/app/tests/test_models.py,sha256=1YZETm2gjCqx8k0n2l2hA02EZT7sEildkAWE_U4IkJY,3061
1204
+ django_spire/notification/app/tests/test_processor.py,sha256=0TNXgJDpDBRk3RT9Jy44Vd1MQ6qFw0qZa4jcaZP7Z-M,3909
1205
+ django_spire/notification/app/tests/test_querysets.py,sha256=MzsZyBYI70iLgTFjD0wyXdci09UaQqJi6qoT__f8J-g,3428
1206
+ django_spire/notification/app/tests/test_views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1207
+ django_spire/notification/app/tests/test_views/test_json_views.py,sha256=A6d6buPmYVK_cloYzeTDClWhwstqATeXEfewVo41GaY,1587
1208
+ django_spire/notification/app/tests/test_views/test_page_views.py,sha256=VIcCcwyRD-y0fpHoXrUqoJ3qQLpDXxPZe-TxsdfxfmE,610
1209
+ django_spire/notification/app/urls/__init__.py,sha256=Scogp1Oni-8fJU80cffWj0UoA43tfRaZ43PgjofrW2Y,406
1210
+ django_spire/notification/app/urls/json_urls.py,sha256=r-ly6mxXcByH4x54gkTC1-AmwVVA7HiQd-a_5lnL1uU,427
1211
+ django_spire/notification/app/urls/page_urls.py,sha256=K2jwK-zoY0N-kcQ4tsYmUZtnKm5m0-b2KHv4bCU2xC0,302
1212
+ django_spire/notification/app/urls/template_urls.py,sha256=j6d3-yZu9NY47m69a-JhcnxXnM20x5Xi5qWE4A78zVk,331
1073
1213
  django_spire/notification/app/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1074
1214
  django_spire/notification/app/views/json_views.py,sha256=WhdbbeZyzf408vHMUgMQ9ERbawQk085A-Nlrxzve56U,1466
1075
1215
  django_spire/notification/app/views/page_views.py,sha256=Wt6vUoD3qS2b8K3JFj-YKbE81oF0F3Tfi_IEOoadKoA,961
1076
1216
  django_spire/notification/app/views/template_views.py,sha256=4yNJdw-KBLRqK16HMx13geCHjb4wLBjrw8TAcXU9fiE,1173
1077
1217
  django_spire/notification/email/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1078
- django_spire/notification/email/admin.py,sha256=qpz1nfYx9oy_Bvnkc5wtZktP_7KNzBOjPwIG1s2G7A8,264
1079
- django_spire/notification/email/apps.py,sha256=xePF3Rnc2IEWxFF-jO_vNi-ynl-WGQ4yCvX6itfLfaE,419
1080
- django_spire/notification/email/exceptions.py,sha256=pzDVfTzIEBlBKCIrSscVWZbIZ1F-xsHpWHA1R2_zF2s,124
1081
- django_spire/notification/email/helper.py,sha256=qwBrphhmrN0RE7nvqUsQq_lGYm5tZ9Mnwfl-5-Gm7Yw,2167
1082
- django_spire/notification/email/models.py,sha256=aB7y_ZGCZ90i_H4EBpZ-Pea7GCfBuRdlo3oUuHP8lL0,1452
1083
- django_spire/notification/email/processor.py,sha256=BzrgqpBTazvsqB5KzN64WTfAMmuScjUtGgflvEU1ZpY,3292
1084
- django_spire/notification/email/querysets.py,sha256=xXjax8Ce35Fs5nET9Abzw-4J1BIvgUDOn1Xxt8iiLzE,1217
1218
+ django_spire/notification/email/admin.py,sha256=KY7AbmQkc07HeQcpiTgcyohemrUBY5eHpniUkD1mLeU,316
1219
+ django_spire/notification/email/apps.py,sha256=H3ukWNu1aYgNEYsXQwH6WlIAvF0wGl4UBdOWXF-UBm0,456
1220
+ django_spire/notification/email/exceptions.py,sha256=yc6-EIvGAIdCGr5Z7PA9jXli91OGfyi_M6u9wCZj0Rk,148
1221
+ django_spire/notification/email/helper.py,sha256=TSyYFovL_oLYjbZY3NKz6p_o5dqU9Guh8OFrr5wj4S4,2181
1222
+ django_spire/notification/email/models.py,sha256=T6jqrEo84epZksgCS80km84ZHLvSrzL8PTn7C3KDTTI,1490
1223
+ django_spire/notification/email/processor.py,sha256=ejmFpYLK5x-83uSSmFDNC_QKbVN9QZvccQE5WQcS3YI,3129
1224
+ django_spire/notification/email/querysets.py,sha256=AnNKllYIZ2MHET0wGoA1phhxGZRDUGel4hLnzLdTip0,1220
1085
1225
  django_spire/notification/email/migrations/0001_initial.py,sha256=o8BObuOTRl3IqqLuEWpYXMs4qh4-7eY3TVD004pWYb0,1029
1086
1226
  django_spire/notification/email/migrations/0002_emailnotification_bcc_emailnotification_cc_and_more.py,sha256=M2cafrh7ESAdpUQhfIYziGRAcTLVqjTVwn2A6H3zqq4,907
1087
1227
  django_spire/notification/email/migrations/0003_emailnotification_attachments.py,sha256=MXQx_8WFD3IMe6bykcowavouoD2aG2VVAOpxjGWK7Ec,597
1088
1228
  django_spire/notification/email/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1229
+ django_spire/notification/email/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1230
+ django_spire/notification/email/tests/factories.py,sha256=gRPY3tArIH3G_rFLvNR8ow4F3K2VFJEE8CdMWo7dl5g,1230
1231
+ django_spire/notification/email/tests/test_apps.py,sha256=bA4gg5NQdnZC7IcQ1RTGxahG9VAbGtcQEqBvsRbjyWU,883
1232
+ django_spire/notification/email/tests/test_models.py,sha256=MoFQDDUtWZ1eMo2D4C8ZX9Tm6g2yV0BsbeMbWzGGehE,1958
1233
+ django_spire/notification/email/tests/test_processor.py,sha256=4VHtfuqiTMS6f65Hh0-nJjq8Eh3enWf_4CDoDTJ_xGE,3440
1234
+ django_spire/notification/email/tests/test_querysets.py,sha256=dISShOk2JSCzViJyXXsQeGqS5vpLj_g9uM5zHWAfRl0,1705
1089
1235
  django_spire/notification/migrations/0001_initial.py,sha256=0KQFckVRQQvMtMRwQaFwJfcZ6U38rRboJpqlr7DpvgE,2594
1090
1236
  django_spire/notification/migrations/0002_pushnotification.py,sha256=5Vlz3V1LycFpZK-HJVA6kJnFPPB27Il_LD6kDBwa1dg,999
1091
1237
  django_spire/notification/migrations/0003_delete_pushnotification.py,sha256=8P3RL5h1x_lwzbZYQGBwRHUXPQ3ytAjfzKMpR-tt5_A,321
1092
1238
  django_spire/notification/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1093
1239
  django_spire/notification/processors/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
1094
- django_spire/notification/processors/notification.py,sha256=S4PYiq-e1dkxgpNLqn2s6t77kOVQWXpXPZ4oW5iIemA,2399
1095
- django_spire/notification/processors/processor.py,sha256=35MMinH3vmwyJsbTfTw99KY2YGKGDUuFJuz30pSXLdQ,882
1240
+ django_spire/notification/processors/notification.py,sha256=XvhYCLLwOHmFModRdzuGQdDmaL9y5jMgvRPY_IMT3so,2461
1241
+ django_spire/notification/processors/processor.py,sha256=ilqCz8NxpSrkoWHIJ7LZwdY0BFqLShD8jvtjwUP0tm0,918
1242
+ django_spire/notification/processors/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1243
+ django_spire/notification/processors/tests/test_notification.py,sha256=wWcct40wciWyQkVdLNYjejGZvH-5CiqHkXB9iomJp1Q,4012
1096
1244
  django_spire/notification/push/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1097
- django_spire/notification/push/admin.py,sha256=suMo4x8I3JBxAFBVIdE-5qnqZ6JAZV0FESABHOSc-vg,63
1098
- django_spire/notification/push/apps.py,sha256=k24ECjSl_j45HwLIIPBLQXNxDv_UaSd7kQukfrRi4b4,416
1099
- django_spire/notification/push/models.py,sha256=ITKjSvPFjt5kyGh9QD_riKiERTaH50ejHrOuFt8i6dQ,295
1245
+ django_spire/notification/push/admin.py,sha256=vOnlnxaGWeByPPZeezH5NcFwWZjXbfN7ZcUen1X5i5g,377
1246
+ django_spire/notification/push/apps.py,sha256=DZe2op0Zv4GWLYkSrhP0jxJzaAq9axZ0shJ7xdlSBx4,453
1247
+ django_spire/notification/push/models.py,sha256=-bscyFeMwxqSNpYg97UxtcK_ywN1vTEy6LShQy9mQ6c,301
1100
1248
  django_spire/notification/push/migrations/0001_initial.py,sha256=gyMpiujIVhv_kQsQg6107s0oKH3CCasE2AJwydw-FMg,964
1101
1249
  django_spire/notification/push/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1250
+ django_spire/notification/push/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1251
+ django_spire/notification/push/tests/test_apps.py,sha256=xwMVrSFFS1ODMo-iomXSgC5SeSiXZbfWBwUrkDm8_HM,873
1252
+ django_spire/notification/push/tests/test_models.py,sha256=buz7ZjRn5uJ6oz37mW64QFv3DTd_B52zYtqekBHckL0,1002
1102
1253
  django_spire/notification/sms/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1103
- django_spire/notification/sms/admin.py,sha256=G5-SOqJrYKqM1BolSQdZznsYKpZf4G_mdMuGAD_rZxM,1201
1104
- django_spire/notification/sms/apps.py,sha256=eibqrExXbE6HJF4EqwyZsGG0w0nBcvhFs8DSUXuVkhQ,729
1105
- django_spire/notification/sms/automations.py,sha256=awD5o9CiLWGkTd27yXOe_Y6hwFjqTU0LH-cjeNtz4g0,532
1106
- django_spire/notification/sms/choices.py,sha256=0RKkCenjHFcb4UWLg-FDBi6uhVTPn6ndSayFrgcvjFc,131
1254
+ django_spire/notification/sms/admin.py,sha256=rWfM83Fhzej7-x4S0dLbVeGjMh3cAc2Y-mBYMMpT6Ak,1237
1255
+ django_spire/notification/sms/apps.py,sha256=n0CQZwmJjnPyXQRhGr7qmjfY_XHHejYUKgDWn8Iv5xs,794
1256
+ django_spire/notification/sms/automations.py,sha256=zwMPxtuUXqF6ygqgIYbm-PrR4Dbz1OTsYYhr_9aKeeI,568
1257
+ django_spire/notification/sms/choices.py,sha256=oNhjOsAQEFknRTI3w18WM8tNpUIdbTauv0R7e9JK3KM,167
1107
1258
  django_spire/notification/sms/consts.py,sha256=xxemtnpNS9A16IAyx1kdM38c9jRD8GbCF675r2pTVeg,111
1108
- django_spire/notification/sms/exceptions.py,sha256=Rn2vI6Shb1Twwfls9aC8K4hHCJcUUqWiblshopduKko,302
1109
- django_spire/notification/sms/helper.py,sha256=ykqlb1WgVKDai32PA7sCn7OHu0KDdJjVia5BPx0n-U0,4191
1110
- django_spire/notification/sms/models.py,sha256=wN0Dp_oNK2Yqr5haZZoNY7CaQxeKsCsXLCE4C8kX8as,2517
1111
- django_spire/notification/sms/processor.py,sha256=m9ANkBlC7SkNA_-KDQOKp4eJSWGfbpfI_zSDc5fRzdg,3010
1112
- django_spire/notification/sms/querysets.py,sha256=JZq6boVJ2Zy42CYaXujDr8W58GB6Fd-oFGjydq_5ONU,398
1113
- django_spire/notification/sms/tools.py,sha256=i298RVplsNwsrt9xlNyZmsk0DFAscGQkrIOVvJobk-I,1630
1259
+ django_spire/notification/sms/exceptions.py,sha256=ZuMscwBzQ842rCaV-d_eXd_79j6kltumzXPncBGQEvk,709
1260
+ django_spire/notification/sms/helper.py,sha256=DmUBb9kM7m9gNhZVDVEUhtTTtdqm5z3wBY_oaunfpqw,4161
1261
+ django_spire/notification/sms/models.py,sha256=cjo60V54qRXODfV3uoi4GsNH3zpFaTDK4HRzaroZc1s,2559
1262
+ django_spire/notification/sms/processor.py,sha256=5xscuGUaBjTNyiXc2Yu7BXZg8ckdm-_MhQzq_iOULEM,2747
1263
+ django_spire/notification/sms/querysets.py,sha256=osN3Bh6v0O79CbPpIBniC9k_yD3NWm7AGQmyXzvXWLo,434
1264
+ django_spire/notification/sms/tools.py,sha256=WU2egTDTc90KvNBoxv9S8DS9GEdzfC9ew7kQ-PVXLCQ,1759
1114
1265
  django_spire/notification/sms/migrations/0001_initial.py,sha256=dm0NHUfDt6QBCd5zJ0Nk6WE59CihRj3V8BbpH2qJZwA,1026
1115
1266
  django_spire/notification/sms/migrations/0002_smstemporarymedia_smsnotification_media_url_and_more.py,sha256=-DwecvVMggwqWZExRyjJvE4MGe2hk8aXJ5rfl3QvUwg,1645
1116
1267
  django_spire/notification/sms/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1117
1268
  django_spire/notification/sms/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1118
- django_spire/notification/sms/tests/test_tools.py,sha256=4Hx5SQ3t3TZLURX7hs3kzRYc4L_992q1SYmam1p5qFM,1744
1119
- django_spire/notification/sms/urls/__init__.py,sha256=9R6ee7PseGpAiiraEU0m4eeF8G8ixYMC5kJTUcItnoM,173
1120
- django_spire/notification/sms/urls/media_urls.py,sha256=fYAW8LWMwUe5nP2QuWWdnhuSyv-0PX4nIw0vjbabENQ,271
1269
+ django_spire/notification/sms/tests/factories.py,sha256=ae70Tgc8Z4PcJSgieCV9IUhlu2nyaMaib6OBOKI1OWE,1156
1270
+ django_spire/notification/sms/tests/test_apps.py,sha256=xmD9T5Anbeg9dP6rpBi1AroZNGapXQVTajBso-1RF5c,863
1271
+ django_spire/notification/sms/tests/test_automation.py,sha256=VhqG8Tw5IohTbBFbrGCIms2KQN6gsNRAfqFBRUtkoZQ,1338
1272
+ django_spire/notification/sms/tests/test_choices.py,sha256=4JQT7PaceEIIhFxSRiqrMFAox2RBaUEYsNEPGSLeQnk,509
1273
+ django_spire/notification/sms/tests/test_consts.py,sha256=vrNPN_My2zsY_l3tBw7GLglhrSc89ov1HQ-62mn9r5E,590
1274
+ django_spire/notification/sms/tests/test_exceptions.py,sha256=JWTGLjDDadB6DPvwHV2KOxrgFowzh7TVPtCeAf8I-2s,886
1275
+ django_spire/notification/sms/tests/test_helper.py,sha256=rLRyqjc2ts6PhxE4LwazFEwkhRFWOyA4OST9uoaZR2w,1892
1276
+ django_spire/notification/sms/tests/test_models.py,sha256=OwHI2Dl47c7mw4h6sDR93YMX15x-wYJkdvgG3hSGFas,3079
1277
+ django_spire/notification/sms/tests/test_processor.py,sha256=Hmp4iPG2OpJH0astuCXjwc9x2u7X23VE8dj001kGLto,3653
1278
+ django_spire/notification/sms/tests/test_tools.py,sha256=6Maqmeqa9PluX1B589WHyISHX0hrryG7ZL5nEfaM0ic,2073
1279
+ django_spire/notification/sms/urls/__init__.py,sha256=Qo1dV0DoYwDHn-JLQsgbc8QUVGkc7zfdto1j1Tla700,209
1280
+ django_spire/notification/sms/urls/media_urls.py,sha256=prbEW39D40cG2O7VB8UHb2AMsozOS15ETKVPUZAMnjY,307
1121
1281
  django_spire/notification/sms/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1122
- django_spire/notification/sms/views/media_views.py,sha256=STrTC1irBSHEFQ0SZfUhpBI9Xmc6luWDf7Lembfd5Ic,1080
1282
+ django_spire/notification/sms/views/media_views.py,sha256=ZEZ9tGfQBM1w9zL12qRMG9nzgbKFfszx-_9ws0sILfU,1260
1283
+ django_spire/notification/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1284
+ django_spire/notification/tests/factories.py,sha256=r4bwi7bMdeyq-UWfyeDBzwK0bCLUFf5FC9PK3zDlbE8,786
1285
+ django_spire/notification/tests/test_admin.py,sha256=AxLAKoDtPbZqsuH2Vu0UFkIqhUgCx25O-Y3vRTQ1NHk,1993
1286
+ django_spire/notification/tests/test_apps.py,sha256=4KjSY-XfbM5wxCdYeFNZ8ZD7IcDuDOKYFAKAce88QQc,1103
1287
+ django_spire/notification/tests/test_automation.py,sha256=cusD_ssQbwqH009x-AGk04OdwuElUkW7Kx8jWSDdeP8,676
1288
+ django_spire/notification/tests/test_choices.py,sha256=EHsl26NXe_Wn3u4mrnoWYoh-K2p-1fAgaX6j__OwZOs,1776
1289
+ django_spire/notification/tests/test_exceptions.py,sha256=JnIByhBL30YHFj11J8CLgtZ05SWjbRlpp7dGh70MZxg,2211
1290
+ django_spire/notification/tests/test_managers.py,sha256=WV0OTtrwDs76UVnqRi8QI9yH6CGl2wBMNphIBAOmJ7A,4169
1291
+ django_spire/notification/tests/test_maps.py,sha256=WACHARmn8iNpdaNJVpZUU6e5FuoBOeS272v2iyon9mw,1627
1292
+ django_spire/notification/tests/test_models.py,sha256=HczDW62-t2EiHqoJ1qfHcyQr_lXktxbtjAI6dcLod1o,2992
1293
+ django_spire/notification/tests/test_querysets.py,sha256=RXvepDL_VWBAHt0VSvsLAYFvcrZuw3mrIeCZE4uX7ZI,6148
1294
+ django_spire/notification/tests/test_utils.py,sha256=K4WjKihiIVG15r56RVNG7ECgo9ImvLEyjIcD5kOloUs,842
1123
1295
  django_spire/profiling/__init__.py,sha256=V5zHoTaqGCOU-gfwkGQI01XcXeRYoAjO103yDkk1tIQ,251
1124
1296
  django_spire/profiling/panel.py,sha256=SSVlqlk31bTxGlmI-iM2G66MrdgVCPGujOAyyBlUGOk,9548
1125
1297
  django_spire/profiling/middleware/__init__.py,sha256=K6wjo7xUhOAJaB5Vbqa5JRf3EQM78NwToz_VtW3zz78,148
@@ -1187,21 +1359,21 @@ django_spire/theme/templates/django_spire/theme/section/color_section_card.html,
1187
1359
  django_spire/theme/templates/django_spire/theme/section/typography_section.html,sha256=VWvstH1qXBYWSgRWm0Gwge7wNNvZ1AzPGXkKk61e73w,5668
1188
1360
  django_spire/theme/templates/django_spire/theme/section/typography_section_card.html,sha256=cgshyWYzFF__fcAXTxxxMd2jAb6TGAjTIL-GZI4dsHs,155
1189
1361
  django_spire/theme/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1190
- django_spire/theme/tests/test_context_processor.py,sha256=1fNUaUZzAqm160VNNEn04lBXyFSU3cWYuKdA2TTnjGc,2992
1191
- django_spire/theme/tests/test_enums.py,sha256=-s4zUD8F08dzoVfBkjwjpfzmX6X4h8hZ4x9k8EGsmvo,765
1192
- django_spire/theme/tests/test_filesystem.py,sha256=o18Hqkf7iUE1XYP2GfN-upnTFYM3nhzuU9e0Jq3RmZQ,6629
1193
- django_spire/theme/tests/test_integration.py,sha256=QTRHxQWy-c8Uz2K_P8aipxRDOSuEvWVRHsib6fQGNPs,1869
1194
- django_spire/theme/tests/test_model.py,sha256=-VY82o0d3-9fNJjZEaYf9UKW2obsVBr2iVQeGdAsXLs,6940
1362
+ django_spire/theme/tests/test_context_processor.py,sha256=-KKHbJsu0Vr64fmQxTslJzraoUrdZbYy8Vgibxo8vYQ,2883
1363
+ django_spire/theme/tests/test_enums.py,sha256=Id1CyG2B9js5Xo8K3mI_bIpPiZ-B89UmS3kMEbqhGS8,747
1364
+ django_spire/theme/tests/test_filesystem.py,sha256=7Hi4MDZs_B8omqyJ3ZLP5CGYp77-Roex7TrTrG-TOkc,6528
1365
+ django_spire/theme/tests/test_integration.py,sha256=3q2_ZjXPUw5OpIDYB3GMKU8c79_HOujCkaBa64Q24e8,1780
1366
+ django_spire/theme/tests/test_model.py,sha256=-SjyYi-EbOUcyknBZnTWu1ehwxOAmge0nO9GhQgYmI0,6612
1195
1367
  django_spire/theme/tests/test_views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1196
- django_spire/theme/tests/test_views/test_json_views.py,sha256=Hws7ZZIZPzUN-RIWtL1_2LVY9ugqxswxZT4VEy0I_gk,4428
1368
+ django_spire/theme/tests/test_views/test_json_views.py,sha256=8dFo9s8dMAqq4HOeNn-NiyxV3cUymxAQsoNfqY-GPEM,4179
1197
1369
  django_spire/theme/urls/__init__.py,sha256=0AGqZ-kWrE50HwlFRH_t19qO7CH1OqGLtPrf6PDhjF8,249
1198
- django_spire/theme/urls/json_urls.py,sha256=CHqKcicKQpKI3OrlxTOQKgdYvzHWZDgScqpCDu9r7oU,247
1199
- django_spire/theme/urls/page_urls.py,sha256=S8nkKkgbhG3XHI3uMUL-piOjXIrRkuY2UlM_JNX4L3Q,641
1370
+ django_spire/theme/urls/json_urls.py,sha256=EKwdvHbsiKdgmRn9gmKhaaYsh5Skkrp3rMQtCv3lzdA,284
1371
+ django_spire/theme/urls/page_urls.py,sha256=Oak3x_xwQEb01NKdrsB1nk6yPaOEnheuSG1msQC7Kc8,678
1200
1372
  django_spire/theme/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1201
1373
  django_spire/theme/views/json_views.py,sha256=PWwVTaty0BVGbj65L5cxex6JNhc-xVAI_rEYjbJWqEM,1893
1202
1374
  django_spire/theme/views/page_views.py,sha256=WenjOa6Welpu3IMolY56ZwBjy4aK9hpbiMNuygjAl1A,3922
1203
- django_spire-0.23.7.dist-info/licenses/LICENSE.md,sha256=tlTbOtgKoy-xAQpUk9gPeh9O4oRXCOzoWdW3jJz0wnA,1091
1204
- django_spire-0.23.7.dist-info/METADATA,sha256=NY3tdv-HT8M7IrLFbnRDxJtMCYxoanCmUPR7PDyy0Uk,5127
1205
- django_spire-0.23.7.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
1206
- django_spire-0.23.7.dist-info/top_level.txt,sha256=xf3QV1e--ONkVpgMDQE9iqjQ1Vg4--_6C8wmO-KxPHQ,13
1207
- django_spire-0.23.7.dist-info/RECORD,,
1375
+ django_spire-0.23.9.dist-info/licenses/LICENSE.md,sha256=ZAeCT76WvaoEZE9xPhihyWjTwH0wQZXQmyRsnV2VPFs,1091
1376
+ django_spire-0.23.9.dist-info/METADATA,sha256=pZhtFdrVEEo-IDoUkT28tzpPjfN-SFkXAKi1EWvcS-U,5127
1377
+ django_spire-0.23.9.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
1378
+ django_spire-0.23.9.dist-info/top_level.txt,sha256=xf3QV1e--ONkVpgMDQE9iqjQ1Vg4--_6C8wmO-KxPHQ,13
1379
+ django_spire-0.23.9.dist-info/RECORD,,