ismail c5f76b3855
Some checks are pending
Build and Push Docker Image / build (push) Waiting to run
updates
2026-05-11 14:45:30 +03:00

124 KiB
Raw Permalink Blame History

Instructions

  • Following Playwright test failed.
  • Explain why, be concise, respect Playwright best practices.
  • Provide a snippet of code with the fix, if possible.

Test info

  • Name: workflows/observation-lifecycle.spec.ts >> Observation Lifecycle >> submit observation via public form gets tracking code
  • Location: e2e/tests/workflows/observation-lifecycle.spec.ts:9:7

Error details

Test timeout of 60000ms exceeded.
Error: page.waitForSelector: Test timeout of 60000ms exceeded.
Call log:
  - waiting for locator('form') to be visible
    136 × locator resolved to hidden <form method="post" id="pasteform" name="pasteform" action="https://dpaste.com/">…</form>

Page snapshot

- generic [active] [ref=e1]:
  - banner [ref=e2]:
    - heading "FieldError at /observations/new/" [level=1] [ref=e3]
    - generic [ref=e4]: "Cannot resolve keyword 'is_active' into field. Choices are: action_sla_configs, address, ai_recommend, appreciation_badges, appreciation_categories, appreciation_stats, appreciations, bulk_survey_jobs, call_center_interactions, call_records, capacity, ceo, ceo_id, cfo, cfo_id, city, code, comment_action_plans, comment_imports, communication_requests, complaint_categories, complaint_requests, complaint_sla_configs, complaint_templates, complaint_thresholds, complaints, coo, coo_id, created_at, departments, display_name, display_name_ar, doctor_rating_jobs, email, escalation_rules, executive_metrics, explanation_sla_configs, feedbacks, generated_reports, his_visits, id, inquiries, inquiry_sla_configs, journey_instances, journey_templates, kpi_reports, kpi_values, license_number, medical_director, medical_director_id, metadata, name, name_ar, notification_settings, notification_settings_logs, observation_sla_configs, observations, on_call_schedules, organization, organization_id, patient_comments, patients, phone, physician_ratings, predictive_insights, presentations, px_actions, qi_projects, rcas, references_referencedocument_related, references_referencefolder_related, report_templates, routing_rules, saved_reports, source_usage_records, source_users, staff, standard_compliance_records, status, survey_template_mappings, survey_templates, surveys_surveyinstance_related, updated_at, users"
    - table [ref=e5]:
      - rowgroup [ref=e6]:
        - 'row "Request Method: GET" [ref=e7]':
          - rowheader "Request Method:" [ref=e8]
          - cell "GET" [ref=e9]
        - 'row "Request URL: http://localhost:8000/observations/new/" [ref=e10]':
          - rowheader "Request URL:" [ref=e11]
          - cell "http://localhost:8000/observations/new/" [ref=e12]
        - 'row "Django Version: 6.0.1" [ref=e13]':
          - rowheader "Django Version:" [ref=e14]
          - cell "6.0.1" [ref=e15]
        - 'row "Exception Type: FieldError" [ref=e16]':
          - rowheader "Exception Type:" [ref=e17]
          - cell "FieldError" [ref=e18]
        - row [ref=e19]:
          - rowheader "Exception Value:" [ref=e20]
          - cell [ref=e21]:
            - generic [ref=e22]: "Cannot resolve keyword 'is_active' into field. Choices are: action_sla_configs, address, ai_recommend, appreciation_badges, appreciation_categories, appreciation_stats, appreciations, bulk_survey_jobs, call_center_interactions, call_records, capacity, ceo, ceo_id, cfo, cfo_id, city, code, comment_action_plans, comment_imports, communication_requests, complaint_categories, complaint_requests, complaint_sla_configs, complaint_templates, complaint_thresholds, complaints, coo, coo_id, created_at, departments, display_name, display_name_ar, doctor_rating_jobs, email, escalation_rules, executive_metrics, explanation_sla_configs, feedbacks, generated_reports, his_visits, id, inquiries, inquiry_sla_configs, journey_instances, journey_templates, kpi_reports, kpi_values, license_number, medical_director, medical_director_id, metadata, name, name_ar, notification_settings, notification_settings_logs, observation_sla_configs, observations, on_call_schedules, organization, organization_id, patient_comments, patients, phone, physician_ratings, predictive_insights, presentations, px_actions, qi_projects, rcas, references_referencedocument_related, references_referencefolder_related, report_templates, routing_rules, saved_reports, source_usage_records, source_users, staff, standard_compliance_records, status, survey_template_mappings, survey_templates, surveys_surveyinstance_related, updated_at, users"
        - 'row "Exception Location: /home/ismail/projects/HH/.venv/lib/python3.12/site-packages/django/db/models/sql/query.py, line 1832, in names_to_path" [ref=e23]':
          - rowheader "Exception Location:" [ref=e24]
          - cell "/home/ismail/projects/HH/.venv/lib/python3.12/site-packages/django/db/models/sql/query.py, line 1832, in names_to_path" [ref=e25]
        - 'row "Raised during: apps.observations.views.observation_create_public" [ref=e26]':
          - rowheader "Raised during:" [ref=e27]
          - cell "apps.observations.views.observation_create_public" [ref=e28]
        - 'row "Python Executable: /home/ismail/projects/HH/.venv/bin/python3" [ref=e29]':
          - rowheader "Python Executable:" [ref=e30]
          - cell "/home/ismail/projects/HH/.venv/bin/python3" [ref=e31]
        - 'row "Python Version: 3.12.3" [ref=e32]':
          - rowheader "Python Version:" [ref=e33]
          - cell "3.12.3" [ref=e34]
        - 'row "Python Path: [''/home/ismail/projects/HH'', ''/home/ismail/projects/HH'', ''/usr/lib/python312.zip'', ''/usr/lib/python3.12'', ''/usr/lib/python3.12/lib-dynload'', ''/home/ismail/projects/HH/.venv/lib/python3.12/site-packages'', ''__editable__.px360-0.1.0.finder.__path_hook__'', ''/home/ismail/projects/HH'']" [ref=e35]':
          - rowheader "Python Path:" [ref=e36]
          - cell "['/home/ismail/projects/HH', '/home/ismail/projects/HH', '/usr/lib/python312.zip', '/usr/lib/python3.12', '/usr/lib/python3.12/lib-dynload', '/home/ismail/projects/HH/.venv/lib/python3.12/site-packages', '__editable__.px360-0.1.0.finder.__path_hook__', '/home/ismail/projects/HH']" [ref=e37]:
            - code [ref=e39]: "['/home/ismail/projects/HH', '/home/ismail/projects/HH', '/usr/lib/python312.zip', '/usr/lib/python3.12', '/usr/lib/python3.12/lib-dynload', '/home/ismail/projects/HH/.venv/lib/python3.12/site-packages', '__editable__.px360-0.1.0.finder.__path_hook__', '/home/ismail/projects/HH']"
        - 'row "Server time: Thu, 07 May 2026 21:32:59 +0300" [ref=e40]':
          - rowheader "Server time:" [ref=e41]
          - cell "Thu, 07 May 2026 21:32:59 +0300" [ref=e42]
  - main [ref=e43]:
    - generic [ref=e44]:
      - heading "Traceback Switch to copy-and-paste view" [level=2] [ref=e45]:
        - text: Traceback
        - button "Switch to copy-and-paste view" [ref=e47] [cursor=pointer]
      - list [ref=e49]:
        - listitem [ref=e50]:
          - code [ref=e51]: /home/ismail/projects/HH/.venv/lib/python3.12/site-packages/django/core/handlers/exception.py
          - text: ", line 55, in inner"
          - list [ref=e53]:
            - listitem [ref=e54] [cursor=pointer]:
              - text: response = get_response(request) ^^^^^^^^^^^^^^^^^^^^^
              - generic [ref=e55]: 
          - group [ref=e56]:
            - generic "Local vars" [ref=e57] [cursor=pointer]
        - listitem [ref=e58]:
          - code [ref=e59]: /home/ismail/projects/HH/.venv/lib/python3.12/site-packages/django/core/handlers/base.py
          - text: ", line 198, in _get_response"
          - list [ref=e61]:
            - listitem [ref=e62] [cursor=pointer]:
              - text: response = wrapped_callback(request, *callback_args, **callback_kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
              - generic [ref=e63]: 
          - group [ref=e64]:
            - generic "Local vars" [ref=e65] [cursor=pointer]
        - listitem [ref=e66]:
          - code [ref=e67]: /home/ismail/projects/HH/apps/observations/views.py
          - text: ", line 237, in observation_create_public"
          - list [ref=e69]:
            - listitem [ref=e70] [cursor=pointer]:
              - text: "\"hospitals\": Hospital.objects.filter(is_active=True).order_by(\"name_en\"), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"
              - generic [ref=e71]: 
          - group [ref=e72]:
            - generic "Local vars" [ref=e73] [cursor=pointer]
        - listitem [ref=e74]:
          - code [ref=e75]: /home/ismail/projects/HH/.venv/lib/python3.12/site-packages/django/db/models/manager.py
          - text: ", line 87, in manager_method"
          - list [ref=e77]:
            - listitem [ref=e78] [cursor=pointer]:
              - text: return getattr(self.get_queryset(), name)(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
              - generic [ref=e79]: 
          - group [ref=e80]:
            - generic "Local vars" [ref=e81] [cursor=pointer]
        - listitem [ref=e82]:
          - code [ref=e83]: /home/ismail/projects/HH/.venv/lib/python3.12/site-packages/django/db/models/query.py
          - text: ", line 1542, in filter"
          - list [ref=e85]:
            - listitem [ref=e86] [cursor=pointer]:
              - text: return self._filter_or_exclude(False, args, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
              - generic [ref=e87]: 
          - group [ref=e88]:
            - generic "Local vars" [ref=e89] [cursor=pointer]
        - listitem [ref=e90]:
          - code [ref=e91]: /home/ismail/projects/HH/.venv/lib/python3.12/site-packages/django/db/models/query.py
          - text: ", line 1560, in _filter_or_exclude"
          - list [ref=e93]:
            - listitem [ref=e94] [cursor=pointer]:
              - text: clone._filter_or_exclude_inplace(negate, args, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
              - generic [ref=e95]: 
          - group [ref=e96]:
            - generic "Local vars" [ref=e97] [cursor=pointer]
        - listitem [ref=e98]:
          - code [ref=e99]: /home/ismail/projects/HH/.venv/lib/python3.12/site-packages/django/db/models/query.py
          - text: ", line 1570, in _filter_or_exclude_inplace"
          - list [ref=e101]:
            - listitem [ref=e102] [cursor=pointer]:
              - text: self._query.add_q(Q(*args, **kwargs)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
              - generic [ref=e103]: 
          - group [ref=e104]:
            - generic "Local vars" [ref=e105] [cursor=pointer]
        - listitem [ref=e106]:
          - code [ref=e107]: /home/ismail/projects/HH/.venv/lib/python3.12/site-packages/django/db/models/sql/query.py
          - text: ", line 1671, in add_q"
          - list [ref=e109]:
            - listitem [ref=e110] [cursor=pointer]:
              - text: clause, _ = self._add_q(q_object, can_reuse) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
              - generic [ref=e111]: 
          - group [ref=e112]:
            - generic "Local vars" [ref=e113] [cursor=pointer]
        - listitem [ref=e114]:
          - code [ref=e115]: /home/ismail/projects/HH/.venv/lib/python3.12/site-packages/django/db/models/sql/query.py
          - text: ", line 1703, in _add_q"
          - list [ref=e117]:
            - listitem [ref=e118] [cursor=pointer]:
              - text: child_clause, needed_inner = self.build_filter(
              - generic [ref=e119]: 
          - group [ref=e120]:
            - generic "Local vars" [ref=e121] [cursor=pointer]
        - listitem [ref=e122]:
          - code [ref=e123]: /home/ismail/projects/HH/.venv/lib/python3.12/site-packages/django/db/models/sql/query.py
          - text: ", line 1551, in build_filter"
          - list [ref=e125]:
            - listitem [ref=e126] [cursor=pointer]:
              - text: lookups, parts, reffed_expression = self.solve_lookup_type(arg, summarize) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
              - generic [ref=e127]: 
          - group [ref=e128]:
            - generic "Local vars" [ref=e129] [cursor=pointer]
        - listitem [ref=e130]:
          - code [ref=e131]: /home/ismail/projects/HH/.venv/lib/python3.12/site-packages/django/db/models/sql/query.py
          - text: ", line 1358, in solve_lookup_type"
          - list [ref=e133]:
            - listitem [ref=e134] [cursor=pointer]:
              - text: _, field, _, lookup_parts = self.names_to_path(lookup_splitted, self.get_meta()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
              - generic [ref=e135]: 
          - group [ref=e136]:
            - generic "Local vars" [ref=e137] [cursor=pointer]
        - listitem [ref=e138]:
          - code [ref=e139]: /home/ismail/projects/HH/.venv/lib/python3.12/site-packages/django/db/models/sql/query.py
          - text: ", line 1832, in names_to_path"
          - list [ref=e141]:
            - listitem [ref=e142] [cursor=pointer]:
              - text: raise FieldError( ^
              - generic [ref=e143]: 
          - group [ref=e144]:
            - generic "Local vars" [ref=e145] [cursor=pointer]
    - generic [ref=e146]:
      - heading "Request information" [level=2] [ref=e147]
      - heading "USER" [level=3] [ref=e148]
      - paragraph [ref=e149]: AnonymousUser
      - heading "GET" [level=3] [ref=e150]
      - paragraph [ref=e151]: No GET data
      - heading "POST" [level=3] [ref=e152]
      - paragraph [ref=e153]: No POST data
      - heading "FILES" [level=3] [ref=e154]
      - paragraph [ref=e155]: No FILES data
      - heading "COOKIES" [level=3] [ref=e156]
      - paragraph [ref=e157]: No cookie data
      - heading "META" [level=3] [ref=e158]
      - table [ref=e159]:
        - rowgroup [ref=e160]:
          - row "Variable Value" [ref=e161]:
            - columnheader "Variable" [ref=e162]
            - columnheader "Value" [ref=e163]
        - rowgroup [ref=e164]:
          - row "ADMIN_URL 'admin/'" [ref=e165]:
            - cell "ADMIN_URL" [ref=e166]
            - cell "'admin/'" [ref=e167]:
              - generic [ref=e168]: "'admin/'"
          - row "AI_MAX_TOKENS '********************'" [ref=e169]:
            - cell "AI_MAX_TOKENS" [ref=e170]
            - cell "'********************'" [ref=e171]:
              - generic [ref=e172]: "'********************'"
          - row "AI_MODEL 'openrouter/google/gemini-2.5-flash-lite'" [ref=e173]:
            - cell "AI_MODEL" [ref=e174]
            - cell "'openrouter/google/gemini-2.5-flash-lite'" [ref=e175]:
              - generic [ref=e176]: "'openrouter/google/gemini-2.5-flash-lite'"
          - row "AI_TEMPERATURE '0.3'" [ref=e177]:
            - cell "AI_TEMPERATURE" [ref=e178]
            - cell "'0.3'" [ref=e179]:
              - generic [ref=e180]: "'0.3'"
          - row "ALLOWED_HOSTS 'localhost,127.0.0.1'" [ref=e181]:
            - cell "ALLOWED_HOSTS" [ref=e182]
            - cell "'localhost,127.0.0.1'" [ref=e183]:
              - generic [ref=e184]: "'localhost,127.0.0.1'"
          - row "BUNDLED_DEBUGPY_PATH '/home/ismail/.vscode/extensions/ms-python.debugpy-2026.6.0-linux-x64/bundled/libs/debugpy'" [ref=e185]:
            - cell "BUNDLED_DEBUGPY_PATH" [ref=e186]
            - cell "'/home/ismail/.vscode/extensions/ms-python.debugpy-2026.6.0-linux-x64/bundled/libs/debugpy'" [ref=e187]:
              - generic [ref=e188]: "'/home/ismail/.vscode/extensions/ms-python.debugpy-2026.6.0-linux-x64/bundled/libs/debugpy'"
          - row "CELERY_BROKER_URL 'redis://localhost:6379/0'" [ref=e189]:
            - cell "CELERY_BROKER_URL" [ref=e190]
            - cell "'redis://localhost:6379/0'" [ref=e191]:
              - generic [ref=e192]: "'redis://localhost:6379/0'"
          - row "CELERY_RESULT_BACKEND 'redis://localhost:6379/0'" [ref=e193]:
            - cell "CELERY_RESULT_BACKEND" [ref=e194]
            - cell "'redis://localhost:6379/0'" [ref=e195]:
              - generic [ref=e196]: "'redis://localhost:6379/0'"
          - row "CELERY_TASK_ALWAYS_EAGER 'False'" [ref=e197]:
            - cell "CELERY_TASK_ALWAYS_EAGER" [ref=e198]
            - cell "'False'" [ref=e199]:
              - generic [ref=e200]: "'False'"
          - row "CHI_API_KEY '********************'" [ref=e201]:
            - cell "CHI_API_KEY" [ref=e202]
            - cell "'********************'" [ref=e203]:
              - generic [ref=e204]: "'********************'"
          - row "CHI_API_URL '********************'" [ref=e205]:
            - cell "CHI_API_URL" [ref=e206]
            - cell "'********************'" [ref=e207]:
              - generic [ref=e208]: "'********************'"
          - row "CHROME_DESKTOP 'code.desktop'" [ref=e209]:
            - cell "CHROME_DESKTOP" [ref=e210]
            - cell "'code.desktop'" [ref=e211]:
              - generic [ref=e212]: "'code.desktop'"
          - row "CLUTTER_BACKEND 'x11'" [ref=e213]:
            - cell "CLUTTER_BACKEND" [ref=e214]
            - cell "'x11'" [ref=e215]:
              - generic [ref=e216]: "'x11'"
          - row "COLORTERM 'truecolor'" [ref=e217]:
            - cell "COLORTERM" [ref=e218]
            - cell "'truecolor'" [ref=e219]:
              - generic [ref=e220]: "'truecolor'"
          - row "COMPIZ_CONFIG_PROFILE 'mint'" [ref=e221]:
            - cell "COMPIZ_CONFIG_PROFILE" [ref=e222]
            - cell "'mint'" [ref=e223]:
              - generic [ref=e224]: "'mint'"
          - row "CONTENT_LENGTH ''" [ref=e225]:
            - cell "CONTENT_LENGTH" [ref=e226]
            - cell "''" [ref=e227]:
              - generic [ref=e228]: "''"
          - row "CONTENT_TYPE 'text/plain'" [ref=e229]:
            - cell "CONTENT_TYPE" [ref=e230]
            - cell "'text/plain'" [ref=e231]:
              - generic [ref=e232]: "'text/plain'"
          - row "DATABASE_URL 'postgres://px360:px360@localhost:5433/px360'" [ref=e233]:
            - cell "DATABASE_URL" [ref=e234]
            - cell "'postgres://px360:px360@localhost:5433/px360'" [ref=e235]:
              - generic [ref=e236]: "'postgres://px360:px360@localhost:5433/px360'"
          - row "DBUS_SESSION_BUS_ADDRESS 'unix:path=/run/user/1000/bus,guid=38a3de50bcef636dcf5cf4aa69fafc12'" [ref=e237]:
            - cell "DBUS_SESSION_BUS_ADDRESS" [ref=e238]
            - cell "'unix:path=/run/user/1000/bus,guid=38a3de50bcef636dcf5cf4aa69fafc12'" [ref=e239]:
              - generic [ref=e240]: "'unix:path=/run/user/1000/bus,guid=38a3de50bcef636dcf5cf4aa69fafc12'"
          - row "DBUS_STARTER_ADDRESS 'unix:path=/run/user/1000/bus,guid=38a3de50bcef636dcf5cf4aa69fafc12'" [ref=e241]:
            - cell "DBUS_STARTER_ADDRESS" [ref=e242]
            - cell "'unix:path=/run/user/1000/bus,guid=38a3de50bcef636dcf5cf4aa69fafc12'" [ref=e243]:
              - generic [ref=e244]: "'unix:path=/run/user/1000/bus,guid=38a3de50bcef636dcf5cf4aa69fafc12'"
          - row "DBUS_STARTER_BUS_TYPE 'session'" [ref=e245]:
            - cell "DBUS_STARTER_BUS_TYPE" [ref=e246]
            - cell "'session'" [ref=e247]:
              - generic [ref=e248]: "'session'"
          - row "DEBUG 'True'" [ref=e249]:
            - cell "DEBUG" [ref=e250]
            - cell "'True'" [ref=e251]:
              - generic [ref=e252]: "'True'"
          - row "DEFAULT_FROM_EMAIL 'noreply@px360.sa'" [ref=e253]:
            - cell "DEFAULT_FROM_EMAIL" [ref=e254]
            - cell "'noreply@px360.sa'" [ref=e255]:
              - generic [ref=e256]: "'noreply@px360.sa'"
          - row "DESKTOP_SESSION 'mate'" [ref=e257]:
            - cell "DESKTOP_SESSION" [ref=e258]
            - cell "'mate'" [ref=e259]:
              - generic [ref=e260]: "'mate'"
          - row "DEV_SMS_RECIPIENT '+966566703794'" [ref=e261]:
            - cell "DEV_SMS_RECIPIENT" [ref=e262]
            - cell "'+966566703794'" [ref=e263]:
              - generic [ref=e264]: "'+966566703794'"
          - row "DISPLAY ':0'" [ref=e265]:
            - cell "DISPLAY" [ref=e266]
            - cell "':0'" [ref=e267]:
              - generic [ref=e268]: "':0'"
          - row "DJANGO_SETTINGS_MODULE 'config.settings.dev'" [ref=e269]:
            - cell "DJANGO_SETTINGS_MODULE" [ref=e270]
            - cell "'config.settings.dev'" [ref=e271]:
              - generic [ref=e272]: "'config.settings.dev'"
          - row "EMAIL_API_ENABLED '********************'" [ref=e273]:
            - cell "EMAIL_API_ENABLED" [ref=e274]
            - cell "'********************'" [ref=e275]:
              - generic [ref=e276]: "'********************'"
          - row "EMAIL_API_KEY '********************'" [ref=e277]:
            - cell "EMAIL_API_KEY" [ref=e278]
            - cell "'********************'" [ref=e279]:
              - generic [ref=e280]: "'********************'"
          - row "EMAIL_API_URL '********************'" [ref=e281]:
            - cell "EMAIL_API_URL" [ref=e282]
            - cell "'********************'" [ref=e283]:
              - generic [ref=e284]: "'********************'"
          - row "EMAIL_BACKEND 'django.core.mail.backends.smtp.EmailBackend'" [ref=e285]:
            - cell "EMAIL_BACKEND" [ref=e286]
            - cell "'django.core.mail.backends.smtp.EmailBackend'" [ref=e287]:
              - generic [ref=e288]: "'django.core.mail.backends.smtp.EmailBackend'"
          - row "EMAIL_ENABLED 'True'" [ref=e289]:
            - cell "EMAIL_ENABLED" [ref=e290]
            - cell "'True'" [ref=e291]:
              - generic [ref=e292]: "'True'"
          - row "EMAIL_HOST 'localhost'" [ref=e293]:
            - cell "EMAIL_HOST" [ref=e294]
            - cell "'localhost'" [ref=e295]:
              - generic [ref=e296]: "'localhost'"
          - row "EMAIL_HOST_PASSWORD '********************'" [ref=e297]:
            - cell "EMAIL_HOST_PASSWORD" [ref=e298]
            - cell "'********************'" [ref=e299]:
              - generic [ref=e300]: "'********************'"
          - row "EMAIL_HOST_USER ''" [ref=e301]:
            - cell "EMAIL_HOST_USER" [ref=e302]
            - cell "''" [ref=e303]:
              - generic [ref=e304]: "''"
          - row "EMAIL_PORT '2525'" [ref=e305]:
            - cell "EMAIL_PORT" [ref=e306]
            - cell "'2525'" [ref=e307]:
              - generic [ref=e308]: "'2525'"
          - row "EMAIL_PROVIDER 'console'" [ref=e309]:
            - cell "EMAIL_PROVIDER" [ref=e310]
            - cell "'console'" [ref=e311]:
              - generic [ref=e312]: "'console'"
          - row "EMAIL_USE_TLS 'False'" [ref=e313]:
            - cell "EMAIL_USE_TLS" [ref=e314]
            - cell "'False'" [ref=e315]:
              - generic [ref=e316]: "'False'"
          - row "FC_FONTATIONS '1'" [ref=e317]:
            - cell "FC_FONTATIONS" [ref=e318]
            - cell "'1'" [ref=e319]:
              - generic [ref=e320]: "'1'"
          - row "GATEWAY_INTERFACE 'CGI/1.1'" [ref=e321]:
            - cell "GATEWAY_INTERFACE" [ref=e322]
            - cell "'CGI/1.1'" [ref=e323]:
              - generic [ref=e324]: "'CGI/1.1'"
          - row "GDK_BACKEND 'x11'" [ref=e325]:
            - cell "GDK_BACKEND" [ref=e326]
            - cell "'x11'" [ref=e327]:
              - generic [ref=e328]: "'x11'"
          - row "GDMSESSION 'mate'" [ref=e329]:
            - cell "GDMSESSION" [ref=e330]
            - cell "'mate'" [ref=e331]:
              - generic [ref=e332]: "'mate'"
          - row "GDM_LANG 'en_US'" [ref=e333]:
            - cell "GDM_LANG" [ref=e334]
            - cell "'en_US'" [ref=e335]:
              - generic [ref=e336]: "'en_US'"
          - row "GIO_LAUNCHED_DESKTOP_FILE '/usr/share/applications/code.desktop'" [ref=e337]:
            - cell "GIO_LAUNCHED_DESKTOP_FILE" [ref=e338]
            - cell "'/usr/share/applications/code.desktop'" [ref=e339]:
              - generic [ref=e340]: "'/usr/share/applications/code.desktop'"
          - row "GIO_LAUNCHED_DESKTOP_FILE_PID '2736'" [ref=e341]:
            - cell "GIO_LAUNCHED_DESKTOP_FILE_PID" [ref=e342]
            - cell "'2736'" [ref=e343]:
              - generic [ref=e344]: "'2736'"
          - row "GIT_ASKPASS '********************'" [ref=e345]:
            - cell "GIT_ASKPASS" [ref=e346]
            - cell "'********************'" [ref=e347]:
              - generic [ref=e348]: "'********************'"
          - row "GNOME_KEYRING_CONTROL '********************'" [ref=e349]:
            - cell "GNOME_KEYRING_CONTROL" [ref=e350]
            - cell "'********************'" [ref=e351]:
              - generic [ref=e352]: "'********************'"
          - row "GPG_AGENT_INFO '/run/user/1000/gnupg/S.gpg-agent:0:1'" [ref=e353]:
            - cell "GPG_AGENT_INFO" [ref=e354]
            - cell "'/run/user/1000/gnupg/S.gpg-agent:0:1'" [ref=e355]:
              - generic [ref=e356]: "'/run/user/1000/gnupg/S.gpg-agent:0:1'"
          - row "GSM_SKIP_SSH_AGENT_WORKAROUND 'true'" [ref=e357]:
            - cell "GSM_SKIP_SSH_AGENT_WORKAROUND" [ref=e358]
            - cell "'true'" [ref=e359]:
              - generic [ref=e360]: "'true'"
          - row "GTK3_MODULES 'xapp-gtk3-module'" [ref=e361]:
            - cell "GTK3_MODULES" [ref=e362]
            - cell "'xapp-gtk3-module'" [ref=e363]:
              - generic [ref=e364]: "'xapp-gtk3-module'"
          - row "GTK_MODULES 'gail:atk-bridge'" [ref=e365]:
            - cell "GTK_MODULES" [ref=e366]
            - cell "'gail:atk-bridge'" [ref=e367]:
              - generic [ref=e368]: "'gail:atk-bridge'"
          - row "GTK_OVERLAY_SCROLLING '0'" [ref=e369]:
            - cell "GTK_OVERLAY_SCROLLING" [ref=e370]
            - cell "'0'" [ref=e371]:
              - generic [ref=e372]: "'0'"
          - row "HIS_API_URL '********************'" [ref=e373]:
            - cell "HIS_API_URL" [ref=e374]
            - cell "'********************'" [ref=e375]:
              - generic [ref=e376]: "'********************'"
          - row "HIS_API_USERNAME '********************'" [ref=e377]:
            - cell "HIS_API_USERNAME" [ref=e378]
            - cell "'********************'" [ref=e379]:
              - generic [ref=e380]: "'********************'"
          - row "HIS_RATINGS_API_URL '********************'" [ref=e381]:
            - cell "HIS_RATINGS_API_URL" [ref=e382]
            - cell "'********************'" [ref=e383]:
              - generic [ref=e384]: "'********************'"
          - row "HOME '/home/ismail'" [ref=e385]:
            - cell "HOME" [ref=e386]
            - cell "'/home/ismail'" [ref=e387]:
              - generic [ref=e388]: "'/home/ismail'"
          - row "HTTP_ACCEPT 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7'" [ref=e389]:
            - cell "HTTP_ACCEPT" [ref=e390]
            - cell "'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7'" [ref=e391]:
              - generic [ref=e392]: "'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7'"
          - row "HTTP_ACCEPT_ENCODING 'gzip, deflate, br, zstd'" [ref=e393]:
            - cell "HTTP_ACCEPT_ENCODING" [ref=e394]
            - cell "'gzip, deflate, br, zstd'" [ref=e395]:
              - generic [ref=e396]: "'gzip, deflate, br, zstd'"
          - row "HTTP_ACCEPT_LANGUAGE 'en-US'" [ref=e397]:
            - cell "HTTP_ACCEPT_LANGUAGE" [ref=e398]
            - cell "'en-US'" [ref=e399]:
              - generic [ref=e400]: "'en-US'"
          - row "HTTP_CONNECTION 'keep-alive'" [ref=e401]:
            - cell "HTTP_CONNECTION" [ref=e402]
            - cell "'keep-alive'" [ref=e403]:
              - generic [ref=e404]: "'keep-alive'"
          - row "HTTP_HOST 'localhost:8000'" [ref=e405]:
            - cell "HTTP_HOST" [ref=e406]
            - cell "'localhost:8000'" [ref=e407]:
              - generic [ref=e408]: "'localhost:8000'"
          - row "HTTP_SEC_CH_UA '\"HeadlessChrome\";v=\"147\", \"Not.A/Brand\";v=\"8\", \"Chromium\";v=\"147\"'" [ref=e409]:
            - cell "HTTP_SEC_CH_UA" [ref=e410]
            - cell "'\"HeadlessChrome\";v=\"147\", \"Not.A/Brand\";v=\"8\", \"Chromium\";v=\"147\"'" [ref=e411]:
              - generic [ref=e412]: "'\"HeadlessChrome\";v=\"147\", \"Not.A/Brand\";v=\"8\", \"Chromium\";v=\"147\"'"
          - row "HTTP_SEC_CH_UA_MOBILE '?0'" [ref=e413]:
            - cell "HTTP_SEC_CH_UA_MOBILE" [ref=e414]
            - cell "'?0'" [ref=e415]:
              - generic [ref=e416]: "'?0'"
          - row "HTTP_SEC_CH_UA_PLATFORM '\"Windows\"'" [ref=e417]:
            - cell "HTTP_SEC_CH_UA_PLATFORM" [ref=e418]
            - cell "'\"Windows\"'" [ref=e419]:
              - generic [ref=e420]: "'\"Windows\"'"
          - row "HTTP_SEC_FETCH_DEST 'document'" [ref=e421]:
            - cell "HTTP_SEC_FETCH_DEST" [ref=e422]
            - cell "'document'" [ref=e423]:
              - generic [ref=e424]: "'document'"
          - row "HTTP_SEC_FETCH_MODE 'navigate'" [ref=e425]:
            - cell "HTTP_SEC_FETCH_MODE" [ref=e426]
            - cell "'navigate'" [ref=e427]:
              - generic [ref=e428]: "'navigate'"
          - row "HTTP_SEC_FETCH_SITE 'none'" [ref=e429]:
            - cell "HTTP_SEC_FETCH_SITE" [ref=e430]
            - cell "'none'" [ref=e431]:
              - generic [ref=e432]: "'none'"
          - row "HTTP_SEC_FETCH_USER '?1'" [ref=e433]:
            - cell "HTTP_SEC_FETCH_USER" [ref=e434]
            - cell "'?1'" [ref=e435]:
              - generic [ref=e436]: "'?1'"
          - row "HTTP_UPGRADE_INSECURE_REQUESTS '1'" [ref=e437]:
            - cell "HTTP_UPGRADE_INSECURE_REQUESTS" [ref=e438]
            - cell "'1'" [ref=e439]:
              - generic [ref=e440]: "'1'"
          - row "HTTP_USER_AGENT ('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like ' 'Gecko) Chrome/147.0.7727.15 Safari/537.36')" [ref=e441]:
            - cell "HTTP_USER_AGENT" [ref=e442]
            - cell "('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like ' 'Gecko) Chrome/147.0.7727.15 Safari/537.36')" [ref=e443]:
              - generic [ref=e444]: ('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like ' 'Gecko) Chrome/147.0.7727.15 Safari/537.36')
          - row "IM_CONFIG_PHASE '1'" [ref=e445]:
            - cell "IM_CONFIG_PHASE" [ref=e446]
            - cell "'1'" [ref=e447]:
              - generic [ref=e448]: "'1'"
          - row "LANG 'en_US.UTF-8'" [ref=e449]:
            - cell "LANG" [ref=e450]
            - cell "'en_US.UTF-8'" [ref=e451]:
              - generic [ref=e452]: "'en_US.UTF-8'"
          - row "LANGUAGE 'en_US'" [ref=e453]:
            - cell "LANGUAGE" [ref=e454]
            - cell "'en_US'" [ref=e455]:
              - generic [ref=e456]: "'en_US'"
          - row "LC_ADDRESS 'ar_SA.UTF-8'" [ref=e457]:
            - cell "LC_ADDRESS" [ref=e458]
            - cell "'ar_SA.UTF-8'" [ref=e459]:
              - generic [ref=e460]: "'ar_SA.UTF-8'"
          - row "LC_IDENTIFICATION 'ar_SA.UTF-8'" [ref=e461]:
            - cell "LC_IDENTIFICATION" [ref=e462]
            - cell "'ar_SA.UTF-8'" [ref=e463]:
              - generic [ref=e464]: "'ar_SA.UTF-8'"
          - row "LC_MEASUREMENT 'ar_SA.UTF-8'" [ref=e465]:
            - cell "LC_MEASUREMENT" [ref=e466]
            - cell "'ar_SA.UTF-8'" [ref=e467]:
              - generic [ref=e468]: "'ar_SA.UTF-8'"
          - row "LC_MONETARY 'ar_SA.UTF-8'" [ref=e469]:
            - cell "LC_MONETARY" [ref=e470]
            - cell "'ar_SA.UTF-8'" [ref=e471]:
              - generic [ref=e472]: "'ar_SA.UTF-8'"
          - row "LC_NAME 'ar_SA.UTF-8'" [ref=e473]:
            - cell "LC_NAME" [ref=e474]
            - cell "'ar_SA.UTF-8'" [ref=e475]:
              - generic [ref=e476]: "'ar_SA.UTF-8'"
          - row "LC_NUMERIC 'ar_SA.UTF-8'" [ref=e477]:
            - cell "LC_NUMERIC" [ref=e478]
            - cell "'ar_SA.UTF-8'" [ref=e479]:
              - generic [ref=e480]: "'ar_SA.UTF-8'"
          - row "LC_PAPER 'ar_SA.UTF-8'" [ref=e481]:
            - cell "LC_PAPER" [ref=e482]
            - cell "'ar_SA.UTF-8'" [ref=e483]:
              - generic [ref=e484]: "'ar_SA.UTF-8'"
          - row "LC_TELEPHONE 'ar_SA.UTF-8'" [ref=e485]:
            - cell "LC_TELEPHONE" [ref=e486]
            - cell "'ar_SA.UTF-8'" [ref=e487]:
              - generic [ref=e488]: "'ar_SA.UTF-8'"
          - row "LC_TIME 'en_US.UTF-8'" [ref=e489]:
            - cell "LC_TIME" [ref=e490]
            - cell "'en_US.UTF-8'" [ref=e491]:
              - generic [ref=e492]: "'en_US.UTF-8'"
          - row "LESSCLOSE '/usr/bin/lesspipe %s %s'" [ref=e493]:
            - cell "LESSCLOSE" [ref=e494]
            - cell "'/usr/bin/lesspipe %s %s'" [ref=e495]:
              - generic [ref=e496]: "'/usr/bin/lesspipe %s %s'"
          - row "LESSOPEN '| /usr/bin/lesspipe %s'" [ref=e497]:
            - cell "LESSOPEN" [ref=e498]
            - cell "'| /usr/bin/lesspipe %s'" [ref=e499]:
              - generic [ref=e500]: "'| /usr/bin/lesspipe %s'"
          - row "LOGNAME 'ismail'" [ref=e501]:
            - cell "LOGNAME" [ref=e502]
            - cell "'ismail'" [ref=e503]:
              - generic [ref=e504]: "'ismail'"
          - row [ref=e505]:
            - cell "LS_COLORS" [ref=e506]
            - cell [ref=e507]:
              - generic [ref=e508]: "'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:'"
          - row "MANAGERPID '1170'" [ref=e509]:
            - cell "MANAGERPID" [ref=e510]
            - cell "'1170'" [ref=e511]:
              - generic [ref=e512]: "'1170'"
          - row "MATE_DESKTOP_SESSION_ID 'this-is-deprecated'" [ref=e513]:
            - cell "MATE_DESKTOP_SESSION_ID" [ref=e514]
            - cell "'this-is-deprecated'" [ref=e515]:
              - generic [ref=e516]: "'this-is-deprecated'"
          - row "MEMORY_PRESSURE_WATCH '/sys/fs/cgroup/user.slice/user-1000.slice/user@1000.service/session.slice/dbus.service/memory.pressure'" [ref=e517]:
            - cell "MEMORY_PRESSURE_WATCH" [ref=e518]
            - cell "'/sys/fs/cgroup/user.slice/user-1000.slice/user@1000.service/session.slice/dbus.service/memory.pressure'" [ref=e519]:
              - generic [ref=e520]: "'/sys/fs/cgroup/user.slice/user-1000.slice/user@1000.service/session.slice/dbus.service/memory.pressure'"
          - row "MEMORY_PRESSURE_WRITE 'c29tZSAyMDAwMDAgMjAwMDAwMAA='" [ref=e521]:
            - cell "MEMORY_PRESSURE_WRITE" [ref=e522]
            - cell "'c29tZSAyMDAwMDAgMjAwMDAwMAA='" [ref=e523]:
              - generic [ref=e524]: "'c29tZSAyMDAwMDAgMjAwMDAwMAA='"
          - row "MOH_API_KEY '********************'" [ref=e525]:
            - cell "MOH_API_KEY" [ref=e526]
            - cell "'********************'" [ref=e527]:
              - generic [ref=e528]: "'********************'"
          - row "MOH_API_URL '********************'" [ref=e529]:
            - cell "MOH_API_URL" [ref=e530]
            - cell "'********************'" [ref=e531]:
              - generic [ref=e532]: "'********************'"
          - row "MSHASTRA_PASSWORD '********************'" [ref=e533]:
            - cell "MSHASTRA_PASSWORD" [ref=e534]
            - cell "'********************'" [ref=e535]:
              - generic [ref=e536]: "'********************'"
          - row "MSHASTRA_SENDER_ID 'M556999091'" [ref=e537]:
            - cell "MSHASTRA_SENDER_ID" [ref=e538]
            - cell "'M556999091'" [ref=e539]:
              - generic [ref=e540]: "'M556999091'"
          - row "MSHASTRA_USERNAME 'M556999091'" [ref=e541]:
            - cell "MSHASTRA_USERNAME" [ref=e542]
            - cell "'M556999091'" [ref=e543]:
              - generic [ref=e544]: "'M556999091'"
          - row "NVM_BIN '/home/ismail/.nvm/versions/node/v24.12.0/bin'" [ref=e545]:
            - cell "NVM_BIN" [ref=e546]
            - cell "'/home/ismail/.nvm/versions/node/v24.12.0/bin'" [ref=e547]:
              - generic [ref=e548]: "'/home/ismail/.nvm/versions/node/v24.12.0/bin'"
          - row "NVM_CD_FLAGS ''" [ref=e549]:
            - cell "NVM_CD_FLAGS" [ref=e550]
            - cell "''" [ref=e551]:
              - generic [ref=e552]: "''"
          - row "NVM_DIR '/home/ismail/.nvm'" [ref=e553]:
            - cell "NVM_DIR" [ref=e554]
            - cell "'/home/ismail/.nvm'" [ref=e555]:
              - generic [ref=e556]: "'/home/ismail/.nvm'"
          - row "NVM_INC '/home/ismail/.nvm/versions/node/v24.12.0/include/node'" [ref=e557]:
            - cell "NVM_INC" [ref=e558]
            - cell "'/home/ismail/.nvm/versions/node/v24.12.0/include/node'" [ref=e559]:
              - generic [ref=e560]: "'/home/ismail/.nvm/versions/node/v24.12.0/include/node'"
          - row "OPENROUTER_API_KEY '********************'" [ref=e561]:
            - cell "OPENROUTER_API_KEY" [ref=e562]
            - cell "'********************'" [ref=e563]:
              - generic [ref=e564]: "'********************'"
          - row "PAPERSIZE 'a4'" [ref=e565]:
            - cell "PAPERSIZE" [ref=e566]
            - cell "'a4'" [ref=e567]:
              - generic [ref=e568]: "'a4'"
          - row "PATH '/home/ismail/projects/HH/.venv/bin:/home/ismail/projects/HH/.venv/bin:/home/ismail/.opencode/bin:/home/ismail/.local/bin:/home/ismail/.opencode/bin:/home/ismail/.nvm/versions/node/v24.12.0/bin:/home/ismail/.cargo/bin:/home/ismail/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/ismail/.vscode/extensions/ms-python.debugpy-2026.6.0-linux-x64/bundled/scripts/noConfigScripts'" [ref=e569]:
            - cell "PATH" [ref=e570]
            - cell "'/home/ismail/projects/HH/.venv/bin:/home/ismail/projects/HH/.venv/bin:/home/ismail/.opencode/bin:/home/ismail/.local/bin:/home/ismail/.opencode/bin:/home/ismail/.nvm/versions/node/v24.12.0/bin:/home/ismail/.cargo/bin:/home/ismail/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/ismail/.vscode/extensions/ms-python.debugpy-2026.6.0-linux-x64/bundled/scripts/noConfigScripts'" [ref=e571]:
              - generic [ref=e572]: "'/home/ismail/projects/HH/.venv/bin:/home/ismail/projects/HH/.venv/bin:/home/ismail/.opencode/bin:/home/ismail/.local/bin:/home/ismail/.opencode/bin:/home/ismail/.nvm/versions/node/v24.12.0/bin:/home/ismail/.cargo/bin:/home/ismail/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/ismail/.vscode/extensions/ms-python.debugpy-2026.6.0-linux-x64/bundled/scripts/noConfigScripts'"
          - row "PATH_INFO '/observations/new/'" [ref=e573]:
            - cell "PATH_INFO" [ref=e574]
            - cell "'/observations/new/'" [ref=e575]:
              - generic [ref=e576]: "'/observations/new/'"
          - 'row "PS1 (''\\\\[\\x1b]633;A\\x07\\\\](px360) \\\\[\\x1b]633;A\\x07\\\\]\\\\[\\\\e]0;\\\\u@\\\\h: '' ''\\\\w\\\\a\\\\]${debian_chroot:+($debian_chroot)}\\\\[\\\\033[01;32m\\\\]\\\\u@\\\\h\\\\[\\\\033[00m\\\\]:\\\\[\\\\033[01;34m\\\\]\\\\w\\\\[\\\\033[00m\\\\]\\\\$ '' ''\\\\[\\x1b]633;B\\x07\\\\]\\\\[\\x1b]633;B\\x07\\\\]'')" [ref=e577]':
            - cell "PS1" [ref=e578]
            - 'cell "(''\\\\[\\x1b]633;A\\x07\\\\](px360) \\\\[\\x1b]633;A\\x07\\\\]\\\\[\\\\e]0;\\\\u@\\\\h: '' ''\\\\w\\\\a\\\\]${debian_chroot:+($debian_chroot)}\\\\[\\\\033[01;32m\\\\]\\\\u@\\\\h\\\\[\\\\033[00m\\\\]:\\\\[\\\\033[01;34m\\\\]\\\\w\\\\[\\\\033[00m\\\\]\\\\$ '' ''\\\\[\\x1b]633;B\\x07\\\\]\\\\[\\x1b]633;B\\x07\\\\]'')" [ref=e579]':
              - generic [ref=e580]: "('\\\\[\\x1b]633;A\\x07\\\\](px360) \\\\[\\x1b]633;A\\x07\\\\]\\\\[\\\\e]0;\\\\u@\\\\h: ' '\\\\w\\\\a\\\\]${debian_chroot:+($debian_chroot)}\\\\[\\\\033[01;32m\\\\]\\\\u@\\\\h\\\\[\\\\033[00m\\\\]:\\\\[\\\\033[01;34m\\\\]\\\\w\\\\[\\\\033[00m\\\\]\\\\$ ' '\\\\[\\x1b]633;B\\x07\\\\]\\\\[\\x1b]633;B\\x07\\\\]')"
          - row "PWD '/home/ismail/projects/HH'" [ref=e581]:
            - cell "PWD" [ref=e582]
            - cell "'/home/ismail/projects/HH'" [ref=e583]:
              - generic [ref=e584]: "'/home/ismail/projects/HH'"
          - row "PYDEVD_DISABLE_FILE_VALIDATION '1'" [ref=e585]:
            - cell "PYDEVD_DISABLE_FILE_VALIDATION" [ref=e586]
            - cell "'1'" [ref=e587]:
              - generic [ref=e588]: "'1'"
          - row "PYTHONSTARTUP '/home/ismail/.config/Code/User/workspaceStorage/be2a9b869fd4f54d8616f8f370827124/ms-python.python/pythonrc.py'" [ref=e589]:
            - cell "PYTHONSTARTUP" [ref=e590]
            - cell "'/home/ismail/.config/Code/User/workspaceStorage/be2a9b869fd4f54d8616f8f370827124/ms-python.python/pythonrc.py'" [ref=e591]:
              - generic [ref=e592]: "'/home/ismail/.config/Code/User/workspaceStorage/be2a9b869fd4f54d8616f8f370827124/ms-python.python/pythonrc.py'"
          - row "PYTHON_BASIC_REPL '1'" [ref=e593]:
            - cell "PYTHON_BASIC_REPL" [ref=e594]
            - cell "'1'" [ref=e595]:
              - generic [ref=e596]: "'1'"
          - row "QT_ACCESSIBILITY '1'" [ref=e597]:
            - cell "QT_ACCESSIBILITY" [ref=e598]
            - cell "'1'" [ref=e599]:
              - generic [ref=e600]: "'1'"
          - row "QT_FONT_DPI '96'" [ref=e601]:
            - cell "QT_FONT_DPI" [ref=e602]
            - cell "'96'" [ref=e603]:
              - generic [ref=e604]: "'96'"
          - row "QT_SCALE_FACTOR '1'" [ref=e605]:
            - cell "QT_SCALE_FACTOR" [ref=e606]
            - cell "'1'" [ref=e607]:
              - generic [ref=e608]: "'1'"
          - row "QUERY_STRING ''" [ref=e609]:
            - cell "QUERY_STRING" [ref=e610]
            - cell "''" [ref=e611]:
              - generic [ref=e612]: "''"
          - row "REMOTE_ADDR '127.0.0.1'" [ref=e613]:
            - cell "REMOTE_ADDR" [ref=e614]
            - cell "'127.0.0.1'" [ref=e615]:
              - generic [ref=e616]: "'127.0.0.1'"
          - row "REMOTE_HOST ''" [ref=e617]:
            - cell "REMOTE_HOST" [ref=e618]
            - cell "''" [ref=e619]:
              - generic [ref=e620]: "''"
          - row "REQUEST_METHOD 'GET'" [ref=e621]:
            - cell "REQUEST_METHOD" [ref=e622]
            - cell "'GET'" [ref=e623]:
              - generic [ref=e624]: "'GET'"
          - row "RUN_MAIN 'true'" [ref=e625]:
            - cell "RUN_MAIN" [ref=e626]
            - cell "'true'" [ref=e627]:
              - generic [ref=e628]: "'true'"
          - row "SCRIPT_NAME ''" [ref=e629]:
            - cell "SCRIPT_NAME" [ref=e630]
            - cell "''" [ref=e631]:
              - generic [ref=e632]: "''"
          - row "SECRET_KEY '********************'" [ref=e633]:
            - cell "SECRET_KEY" [ref=e634]
            - cell "'********************'" [ref=e635]:
              - generic [ref=e636]: "'********************'"
          - row "SERVER_NAME 'localhost'" [ref=e637]:
            - cell "SERVER_NAME" [ref=e638]
            - cell "'localhost'" [ref=e639]:
              - generic [ref=e640]: "'localhost'"
          - row "SERVER_PORT '8000'" [ref=e641]:
            - cell "SERVER_PORT" [ref=e642]
            - cell "'8000'" [ref=e643]:
              - generic [ref=e644]: "'8000'"
          - row "SERVER_PROTOCOL 'HTTP/1.1'" [ref=e645]:
            - cell "SERVER_PROTOCOL" [ref=e646]
            - cell "'HTTP/1.1'" [ref=e647]:
              - generic [ref=e648]: "'HTTP/1.1'"
          - row "SERVER_SOFTWARE 'WSGIServer/0.2'" [ref=e649]:
            - cell "SERVER_SOFTWARE" [ref=e650]
            - cell "'WSGIServer/0.2'" [ref=e651]:
              - generic [ref=e652]: "'WSGIServer/0.2'"
          - row "SESSION_EXPIRE_AT_BROWSER_CLOSE 'False'" [ref=e653]:
            - cell "SESSION_EXPIRE_AT_BROWSER_CLOSE" [ref=e654]
            - cell "'False'" [ref=e655]:
              - generic [ref=e656]: "'False'"
          - row "SESSION_MANAGER 'local/ismail-Latitude-5500:@/tmp/.ICE-unix/1199,unix/ismail-Latitude-5500:/tmp/.ICE-unix/1199'" [ref=e657]:
            - cell "SESSION_MANAGER" [ref=e658]
            - cell "'local/ismail-Latitude-5500:@/tmp/.ICE-unix/1199,unix/ismail-Latitude-5500:/tmp/.ICE-unix/1199'" [ref=e659]:
              - generic [ref=e660]: "'local/ismail-Latitude-5500:@/tmp/.ICE-unix/1199,unix/ismail-Latitude-5500:/tmp/.ICE-unix/1199'"
          - row "SHELL '/bin/bash'" [ref=e661]:
            - cell "SHELL" [ref=e662]
            - cell "'/bin/bash'" [ref=e663]:
              - generic [ref=e664]: "'/bin/bash'"
          - row "SHLVL '1'" [ref=e665]:
            - cell "SHLVL" [ref=e666]
            - cell "'1'" [ref=e667]:
              - generic [ref=e668]: "'1'"
          - row "SMS_API_ENABLED '********************'" [ref=e669]:
            - cell "SMS_API_ENABLED" [ref=e670]
            - cell "'********************'" [ref=e671]:
              - generic [ref=e672]: "'********************'"
          - row "SMS_API_KEY '********************'" [ref=e673]:
            - cell "SMS_API_KEY" [ref=e674]
            - cell "'********************'" [ref=e675]:
              - generic [ref=e676]: "'********************'"
          - row "SMS_API_URL '********************'" [ref=e677]:
            - cell "SMS_API_URL" [ref=e678]
            - cell "'********************'" [ref=e679]:
              - generic [ref=e680]: "'********************'"
          - row "SMS_ENABLED 'False'" [ref=e681]:
            - cell "SMS_ENABLED" [ref=e682]
            - cell "'False'" [ref=e683]:
              - generic [ref=e684]: "'False'"
          - row "SMS_PROVIDER 'mshastra'" [ref=e685]:
            - cell "SMS_PROVIDER" [ref=e686]
            - cell "'mshastra'" [ref=e687]:
              - generic [ref=e688]: "'mshastra'"
          - row "SSH_AUTH_SOCK '********************'" [ref=e689]:
            - cell "SSH_AUTH_SOCK" [ref=e690]
            - cell "'********************'" [ref=e691]:
              - generic [ref=e692]: "'********************'"
          - row "SYSTEMD_EXEC_PID '1205'" [ref=e693]:
            - cell "SYSTEMD_EXEC_PID" [ref=e694]
            - cell "'1205'" [ref=e695]:
              - generic [ref=e696]: "'1205'"
          - row "TERM 'xterm-256color'" [ref=e697]:
            - cell "TERM" [ref=e698]
            - cell "'xterm-256color'" [ref=e699]:
              - generic [ref=e700]: "'xterm-256color'"
          - row "TERM_PROGRAM 'vscode'" [ref=e701]:
            - cell "TERM_PROGRAM" [ref=e702]
            - cell "'vscode'" [ref=e703]:
              - generic [ref=e704]: "'vscode'"
          - row "TERM_PROGRAM_VERSION '1.115.0'" [ref=e705]:
            - cell "TERM_PROGRAM_VERSION" [ref=e706]
            - cell "'1.115.0'" [ref=e707]:
              - generic [ref=e708]: "'1.115.0'"
          - row "TZ 'Asia/Riyadh'" [ref=e709]:
            - cell "TZ" [ref=e710]
            - cell "'Asia/Riyadh'" [ref=e711]:
              - generic [ref=e712]: "'Asia/Riyadh'"
          - row "USER 'ismail'" [ref=e713]:
            - cell "USER" [ref=e714]
            - cell "'ismail'" [ref=e715]:
              - generic [ref=e716]: "'ismail'"
          - row "UV '/home/ismail/.local/bin/uv'" [ref=e717]:
            - cell "UV" [ref=e718]
            - cell "'/home/ismail/.local/bin/uv'" [ref=e719]:
              - generic [ref=e720]: "'/home/ismail/.local/bin/uv'"
          - row "UV_RUN_RECURSION_DEPTH '1'" [ref=e721]:
            - cell "UV_RUN_RECURSION_DEPTH" [ref=e722]
            - cell "'1'" [ref=e723]:
              - generic [ref=e724]: "'1'"
          - row "VIRTUAL_ENV '/home/ismail/projects/HH/.venv'" [ref=e725]:
            - cell "VIRTUAL_ENV" [ref=e726]
            - cell "'/home/ismail/projects/HH/.venv'" [ref=e727]:
              - generic [ref=e728]: "'/home/ismail/projects/HH/.venv'"
          - row "VIRTUAL_ENV_PROMPT 'px360'" [ref=e729]:
            - cell "VIRTUAL_ENV_PROMPT" [ref=e730]
            - cell "'px360'" [ref=e731]:
              - generic [ref=e732]: "'px360'"
          - row "VSCODE_DEBUGPY_ADAPTER_ENDPOINTS '/home/ismail/.vscode/extensions/ms-python.debugpy-2026.6.0-linux-x64/.noConfigDebugAdapterEndpoints/endpoint-bb55ad0d4cf04cdd.txt'" [ref=e733]:
            - cell "VSCODE_DEBUGPY_ADAPTER_ENDPOINTS" [ref=e734]
            - cell "'/home/ismail/.vscode/extensions/ms-python.debugpy-2026.6.0-linux-x64/.noConfigDebugAdapterEndpoints/endpoint-bb55ad0d4cf04cdd.txt'" [ref=e735]:
              - generic [ref=e736]: "'/home/ismail/.vscode/extensions/ms-python.debugpy-2026.6.0-linux-x64/.noConfigDebugAdapterEndpoints/endpoint-bb55ad0d4cf04cdd.txt'"
          - row "VSCODE_GIT_ASKPASS_EXTRA_ARGS '********************'" [ref=e737]:
            - cell "VSCODE_GIT_ASKPASS_EXTRA_ARGS" [ref=e738]
            - cell "'********************'" [ref=e739]:
              - generic [ref=e740]: "'********************'"
          - row "VSCODE_GIT_ASKPASS_MAIN '********************'" [ref=e741]:
            - cell "VSCODE_GIT_ASKPASS_MAIN" [ref=e742]
            - cell "'********************'" [ref=e743]:
              - generic [ref=e744]: "'********************'"
          - row "VSCODE_GIT_ASKPASS_NODE '********************'" [ref=e745]:
            - cell "VSCODE_GIT_ASKPASS_NODE" [ref=e746]
            - cell "'********************'" [ref=e747]:
              - generic [ref=e748]: "'********************'"
          - row "VSCODE_GIT_IPC_HANDLE '/run/user/1000/vscode-git-4aa301eaf0.sock'" [ref=e749]:
            - cell "VSCODE_GIT_IPC_HANDLE" [ref=e750]
            - cell "'/run/user/1000/vscode-git-4aa301eaf0.sock'" [ref=e751]:
              - generic [ref=e752]: "'/run/user/1000/vscode-git-4aa301eaf0.sock'"
          - row "VSCODE_PYTHON_AUTOACTIVATE_GUARD '1'" [ref=e753]:
            - cell "VSCODE_PYTHON_AUTOACTIVATE_GUARD" [ref=e754]
            - cell "'1'" [ref=e755]:
              - generic [ref=e756]: "'1'"
          - row "WHATSAPP_ENABLED 'False'" [ref=e757]:
            - cell "WHATSAPP_ENABLED" [ref=e758]
            - cell "'False'" [ref=e759]:
              - generic [ref=e760]: "'False'"
          - row "WHATSAPP_PROVIDER 'console'" [ref=e761]:
            - cell "WHATSAPP_PROVIDER" [ref=e762]
            - cell "'console'" [ref=e763]:
              - generic [ref=e764]: "'console'"
          - row "XAUTHORITY '********************'" [ref=e765]:
            - cell "XAUTHORITY" [ref=e766]
            - cell "'********************'" [ref=e767]:
              - generic [ref=e768]: "'********************'"
          - row "XDG_CONFIG_DIRS '/etc/xdg/xdg-mate:/etc/xdg'" [ref=e769]:
            - cell "XDG_CONFIG_DIRS" [ref=e770]
            - cell "'/etc/xdg/xdg-mate:/etc/xdg'" [ref=e771]:
              - generic [ref=e772]: "'/etc/xdg/xdg-mate:/etc/xdg'"
          - row "XDG_CURRENT_DESKTOP 'MATE'" [ref=e773]:
            - cell "XDG_CURRENT_DESKTOP" [ref=e774]
            - cell "'MATE'" [ref=e775]:
              - generic [ref=e776]: "'MATE'"
          - row "XDG_DATA_DIRS '/usr/share/mate:/usr/share/mate:/usr/share/gnome:/home/ismail/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share'" [ref=e777]:
            - cell "XDG_DATA_DIRS" [ref=e778]
            - cell "'/usr/share/mate:/usr/share/mate:/usr/share/gnome:/home/ismail/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share'" [ref=e779]:
              - generic [ref=e780]: "'/usr/share/mate:/usr/share/mate:/usr/share/gnome:/home/ismail/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share'"
          - row "XDG_GREETER_DATA_DIR '/var/lib/lightdm-data/ismail'" [ref=e781]:
            - cell "XDG_GREETER_DATA_DIR" [ref=e782]
            - cell "'/var/lib/lightdm-data/ismail'" [ref=e783]:
              - generic [ref=e784]: "'/var/lib/lightdm-data/ismail'"
          - row "XDG_RUNTIME_DIR '/run/user/1000'" [ref=e785]:
            - cell "XDG_RUNTIME_DIR" [ref=e786]
            - cell "'/run/user/1000'" [ref=e787]:
              - generic [ref=e788]: "'/run/user/1000'"
          - row "XDG_SEAT_PATH '/org/freedesktop/DisplayManager/Seat0'" [ref=e789]:
            - cell "XDG_SEAT_PATH" [ref=e790]
            - cell "'/org/freedesktop/DisplayManager/Seat0'" [ref=e791]:
              - generic [ref=e792]: "'/org/freedesktop/DisplayManager/Seat0'"
          - row "XDG_SESSION_CLASS 'user'" [ref=e793]:
            - cell "XDG_SESSION_CLASS" [ref=e794]
            - cell "'user'" [ref=e795]:
              - generic [ref=e796]: "'user'"
          - row "XDG_SESSION_DESKTOP 'mate'" [ref=e797]:
            - cell "XDG_SESSION_DESKTOP" [ref=e798]
            - cell "'mate'" [ref=e799]:
              - generic [ref=e800]: "'mate'"
          - row "XDG_SESSION_PATH '/org/freedesktop/DisplayManager/Session0'" [ref=e801]:
            - cell "XDG_SESSION_PATH" [ref=e802]
            - cell "'/org/freedesktop/DisplayManager/Session0'" [ref=e803]:
              - generic [ref=e804]: "'/org/freedesktop/DisplayManager/Session0'"
          - row "XDG_SESSION_TYPE 'x11'" [ref=e805]:
            - cell "XDG_SESSION_TYPE" [ref=e806]
            - cell "'x11'" [ref=e807]:
              - generic [ref=e808]: "'x11'"
          - row "_ '/home/ismail/.local/bin/uv'" [ref=e809]:
            - cell "_" [ref=e810]
            - cell "'/home/ismail/.local/bin/uv'" [ref=e811]:
              - generic [ref=e812]: "'/home/ismail/.local/bin/uv'"
          - row "wsgi.errors <_io.TextIOWrapper name='<stderr>' mode='w' encoding='utf-8'>" [ref=e813]:
            - cell "wsgi.errors" [ref=e814]
            - cell "<_io.TextIOWrapper name='<stderr>' mode='w' encoding='utf-8'>" [ref=e815]:
              - generic [ref=e816]: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='utf-8'>
          - row "wsgi.file_wrapper <class 'wsgiref.util.FileWrapper'>" [ref=e817]:
            - cell "wsgi.file_wrapper" [ref=e818]
            - cell "<class 'wsgiref.util.FileWrapper'>" [ref=e819]:
              - generic [ref=e820]: <class 'wsgiref.util.FileWrapper'>
          - row "wsgi.input <django.core.handlers.wsgi.LimitedStream object at 0x74e6a71deb30>" [ref=e821]:
            - cell "wsgi.input" [ref=e822]
            - cell "<django.core.handlers.wsgi.LimitedStream object at 0x74e6a71deb30>" [ref=e823]:
              - generic [ref=e824]: <django.core.handlers.wsgi.LimitedStream object at 0x74e6a71deb30>
          - row "wsgi.multiprocess False" [ref=e825]:
            - cell "wsgi.multiprocess" [ref=e826]
            - cell "False" [ref=e827]:
              - generic [ref=e828]: "False"
          - row "wsgi.multithread True" [ref=e829]:
            - cell "wsgi.multithread" [ref=e830]
            - cell "True" [ref=e831]:
              - generic [ref=e832]: "True"
          - row "wsgi.run_once False" [ref=e833]:
            - cell "wsgi.run_once" [ref=e834]
            - cell "False" [ref=e835]:
              - generic [ref=e836]: "False"
          - row "wsgi.url_scheme 'http'" [ref=e837]:
            - cell "wsgi.url_scheme" [ref=e838]
            - cell "'http'" [ref=e839]:
              - generic [ref=e840]: "'http'"
          - row "wsgi.version (1, 0)" [ref=e841]:
            - cell "wsgi.version" [ref=e842]
            - cell "(1, 0)" [ref=e843]:
              - generic [ref=e844]: (1, 0)
      - heading "Settings" [level=3] [ref=e845]
      - heading "Using settings module config.settings.dev" [level=4] [ref=e846]:
        - text: Using settings module
        - code [ref=e847]: config.settings.dev
      - table [ref=e848]:
        - rowgroup [ref=e849]:
          - row "Setting Value" [ref=e850]:
            - columnheader "Setting" [ref=e851]
            - columnheader "Value" [ref=e852]
        - rowgroup [ref=e853]:
          - 'row "ABSOLUTE_URL_OVERRIDES {}" [ref=e854]':
            - cell "ABSOLUTE_URL_OVERRIDES" [ref=e855]
            - 'cell "{}" [ref=e856]':
              - generic [ref=e857]: "{}"
          - row "ADMINS []" [ref=e858]:
            - cell "ADMINS" [ref=e859]
            - cell "[]" [ref=e860]:
              - generic [ref=e861]: "[]"
          - row "AI_MAX_TOKENS '********************'" [ref=e862]:
            - cell "AI_MAX_TOKENS" [ref=e863]
            - cell "'********************'" [ref=e864]:
              - generic [ref=e865]: "'********************'"
          - row "AI_MODEL 'openrouter/google/gemini-2.5-flash-lite'" [ref=e866]:
            - cell "AI_MODEL" [ref=e867]
            - cell "'openrouter/google/gemini-2.5-flash-lite'" [ref=e868]:
              - generic [ref=e869]: "'openrouter/google/gemini-2.5-flash-lite'"
          - row "AI_TEMPERATURE 0.3" [ref=e870]:
            - cell "AI_TEMPERATURE" [ref=e871]
            - cell "0.3" [ref=e872]:
              - generic [ref=e873]: "0.3"
          - row "ALLOWED_HOSTS ['localhost', '127.0.0.1', '0.0.0.0', '.ngrok-free.app', 'micha-nonparabolic-lovie.ngrok-free.dev']" [ref=e874]:
            - cell "ALLOWED_HOSTS" [ref=e875]
            - cell "['localhost', '127.0.0.1', '0.0.0.0', '.ngrok-free.app', 'micha-nonparabolic-lovie.ngrok-free.dev']" [ref=e876]:
              - generic [ref=e877]: "['localhost', '127.0.0.1', '0.0.0.0', '.ngrok-free.app', 'micha-nonparabolic-lovie.ngrok-free.dev']"
          - row "ANALYSIS_BATCH_SIZE 2" [ref=e878]:
            - cell "ANALYSIS_BATCH_SIZE" [ref=e879]
            - cell "2" [ref=e880]:
              - generic [ref=e881]: "2"
          - row "ANALYSIS_ENABLED True" [ref=e882]:
            - cell "ANALYSIS_ENABLED" [ref=e883]
            - cell "True" [ref=e884]:
              - generic [ref=e885]: "True"
          - row "APPEND_SLASH True" [ref=e886]:
            - cell "APPEND_SLASH" [ref=e887]
            - cell "True" [ref=e888]:
              - generic [ref=e889]: "True"
          - row "AUTHENTICATION_BACKENDS '********************'" [ref=e890]:
            - cell "AUTHENTICATION_BACKENDS" [ref=e891]
            - cell "'********************'" [ref=e892]:
              - generic [ref=e893]: "'********************'"
          - row "AUTH_PASSWORD_VALIDATORS '********************'" [ref=e894]:
            - cell "AUTH_PASSWORD_VALIDATORS" [ref=e895]
            - cell "'********************'" [ref=e896]:
              - generic [ref=e897]: "'********************'"
          - row "AUTH_USER_MODEL '********************'" [ref=e898]:
            - cell "AUTH_USER_MODEL" [ref=e899]
            - cell "'********************'" [ref=e900]:
              - generic [ref=e901]: "'********************'"
          - row "BASE_DIR PosixPath('/home/ismail/projects/HH')" [ref=e902]:
            - cell "BASE_DIR" [ref=e903]
            - cell "PosixPath('/home/ismail/projects/HH')" [ref=e904]:
              - generic [ref=e905]: PosixPath('/home/ismail/projects/HH')
          - 'row "CACHES {''default'': {''BACKEND'': ''django.core.cache.backends.locmem.LocMemCache''}}" [ref=e906]':
            - cell "CACHES" [ref=e907]
            - 'cell "{''default'': {''BACKEND'': ''django.core.cache.backends.locmem.LocMemCache''}}" [ref=e908]':
              - generic [ref=e909]: "{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}}"
          - row "CACHE_MIDDLEWARE_ALIAS 'default'" [ref=e910]:
            - cell "CACHE_MIDDLEWARE_ALIAS" [ref=e911]
            - cell "'default'" [ref=e912]:
              - generic [ref=e913]: "'default'"
          - row "CACHE_MIDDLEWARE_KEY_PREFIX '********************'" [ref=e914]:
            - cell "CACHE_MIDDLEWARE_KEY_PREFIX" [ref=e915]
            - cell "'********************'" [ref=e916]:
              - generic [ref=e917]: "'********************'"
          - row "CACHE_MIDDLEWARE_SECONDS 600" [ref=e918]:
            - cell "CACHE_MIDDLEWARE_SECONDS" [ref=e919]
            - cell "600" [ref=e920]:
              - generic [ref=e921]: "600"
          - row "CELERY_ACCEPT_CONTENT ['json']" [ref=e922]:
            - cell "CELERY_ACCEPT_CONTENT" [ref=e923]
            - cell "['json']" [ref=e924]:
              - generic [ref=e925]: "['json']"
          - row "CELERY_BEAT_SCHEDULER 'config.celery_scheduler:PatchedDatabaseScheduler'" [ref=e926]:
            - cell "CELERY_BEAT_SCHEDULER" [ref=e927]
            - cell "'config.celery_scheduler:PatchedDatabaseScheduler'" [ref=e928]:
              - generic [ref=e929]: "'config.celery_scheduler:PatchedDatabaseScheduler'"
          - row "CELERY_BROKER_URL 'redis://localhost:6379/0'" [ref=e930]:
            - cell "CELERY_BROKER_URL" [ref=e931]
            - cell "'redis://localhost:6379/0'" [ref=e932]:
              - generic [ref=e933]: "'redis://localhost:6379/0'"
          - row "CELERY_RESULT_BACKEND 'redis://localhost:6379/0'" [ref=e934]:
            - cell "CELERY_RESULT_BACKEND" [ref=e935]
            - cell "'redis://localhost:6379/0'" [ref=e936]:
              - generic [ref=e937]: "'redis://localhost:6379/0'"
          - row "CELERY_RESULT_SERIALIZER 'json'" [ref=e938]:
            - cell "CELERY_RESULT_SERIALIZER" [ref=e939]
            - cell "'json'" [ref=e940]:
              - generic [ref=e941]: "'json'"
          - row "CELERY_TASK_ALWAYS_EAGER False" [ref=e942]:
            - cell "CELERY_TASK_ALWAYS_EAGER" [ref=e943]
            - cell "False" [ref=e944]:
              - generic [ref=e945]: "False"
          - row "CELERY_TASK_EAGER_PROPAGATES True" [ref=e946]:
            - cell "CELERY_TASK_EAGER_PROPAGATES" [ref=e947]
            - cell "True" [ref=e948]:
              - generic [ref=e949]: "True"
          - row "CELERY_TASK_SERIALIZER 'json'" [ref=e950]:
            - cell "CELERY_TASK_SERIALIZER" [ref=e951]
            - cell "'json'" [ref=e952]:
              - generic [ref=e953]: "'json'"
          - row "CELERY_TASK_TIME_LIMIT 1800" [ref=e954]:
            - cell "CELERY_TASK_TIME_LIMIT" [ref=e955]
            - cell "1800" [ref=e956]:
              - generic [ref=e957]: "1800"
          - row "CELERY_TASK_TRACK_STARTED True" [ref=e958]:
            - cell "CELERY_TASK_TRACK_STARTED" [ref=e959]
            - cell "True" [ref=e960]:
              - generic [ref=e961]: "True"
          - row "CELERY_TIMEZONE 'Asia/Riyadh'" [ref=e962]:
            - cell "CELERY_TIMEZONE" [ref=e963]
            - cell "'Asia/Riyadh'" [ref=e964]:
              - generic [ref=e965]: "'Asia/Riyadh'"
          - row "COMPLAINT_LINK_EXPIRY_DAYS 7" [ref=e966]:
            - cell "COMPLAINT_LINK_EXPIRY_DAYS" [ref=e967]
            - cell "7" [ref=e968]:
              - generic [ref=e969]: "7"
          - row "CORS_ALLOW_ALL_ORIGINS True" [ref=e970]:
            - cell "CORS_ALLOW_ALL_ORIGINS" [ref=e971]
            - cell "True" [ref=e972]:
              - generic [ref=e973]: "True"
          - row "CSRF_COOKIE_AGE 31449600" [ref=e974]:
            - cell "CSRF_COOKIE_AGE" [ref=e975]
            - cell "31449600" [ref=e976]:
              - generic [ref=e977]: "31449600"
          - row "CSRF_COOKIE_DOMAIN None" [ref=e978]:
            - cell "CSRF_COOKIE_DOMAIN" [ref=e979]
            - cell "None" [ref=e980]:
              - generic [ref=e981]: None
          - row "CSRF_COOKIE_HTTPONLY False" [ref=e982]:
            - cell "CSRF_COOKIE_HTTPONLY" [ref=e983]
            - cell "False" [ref=e984]:
              - generic [ref=e985]: "False"
          - row "CSRF_COOKIE_NAME 'csrftoken'" [ref=e986]:
            - cell "CSRF_COOKIE_NAME" [ref=e987]
            - cell "'csrftoken'" [ref=e988]:
              - generic [ref=e989]: "'csrftoken'"
          - row "CSRF_COOKIE_PATH '/'" [ref=e990]:
            - cell "CSRF_COOKIE_PATH" [ref=e991]
            - cell "'/'" [ref=e992]:
              - generic [ref=e993]: "'/'"
          - row "CSRF_COOKIE_SAMESITE 'Lax'" [ref=e994]:
            - cell "CSRF_COOKIE_SAMESITE" [ref=e995]
            - cell "'Lax'" [ref=e996]:
              - generic [ref=e997]: "'Lax'"
          - row "CSRF_COOKIE_SECURE False" [ref=e998]:
            - cell "CSRF_COOKIE_SECURE" [ref=e999]
            - cell "False" [ref=e1000]:
              - generic [ref=e1001]: "False"
          - row "CSRF_FAILURE_VIEW 'django.views.csrf.csrf_failure'" [ref=e1002]:
            - cell "CSRF_FAILURE_VIEW" [ref=e1003]
            - cell "'django.views.csrf.csrf_failure'" [ref=e1004]:
              - generic [ref=e1005]: "'django.views.csrf.csrf_failure'"
          - row "CSRF_HEADER_NAME 'HTTP_X_CSRFTOKEN'" [ref=e1006]:
            - cell "CSRF_HEADER_NAME" [ref=e1007]
            - cell "'HTTP_X_CSRFTOKEN'" [ref=e1008]:
              - generic [ref=e1009]: "'HTTP_X_CSRFTOKEN'"
          - row "CSRF_TRUSTED_ORIGINS ['https://*.ngrok-free.app', 'https://*.ngrok.app', 'https://micha-nonparabolic-lovie.ngrok-free.dev']" [ref=e1010]:
            - cell "CSRF_TRUSTED_ORIGINS" [ref=e1011]
            - cell "['https://*.ngrok-free.app', 'https://*.ngrok.app', 'https://micha-nonparabolic-lovie.ngrok-free.dev']" [ref=e1012]:
              - generic [ref=e1013]: "['https://*.ngrok-free.app', 'https://*.ngrok.app', 'https://micha-nonparabolic-lovie.ngrok-free.dev']"
          - row "CSRF_USE_SESSIONS False" [ref=e1014]:
            - cell "CSRF_USE_SESSIONS" [ref=e1015]
            - cell "False" [ref=e1016]:
              - generic [ref=e1017]: "False"
          - 'row "DATABASES {''default'': {''ATOMIC_REQUESTS'': False, ''AUTOCOMMIT'': True, ''CONN_HEALTH_CHECKS'': False, ''CONN_MAX_AGE'': 0, ''ENGINE'': ''django.db.backends.postgresql'', ''HOST'': ''localhost'', ''NAME'': ''px360'', ''OPTIONS'': {}, ''PASSWORD'': ''********************'', ''PORT'': 5433, ''TEST'': {''CHARSET'': None, ''COLLATION'': None, ''MIGRATE'': True, ''MIRROR'': None, ''NAME'': None}, ''TIME_ZONE'': None, ''USER'': ''px360''}}" [ref=e1018]':
            - cell "DATABASES" [ref=e1019]
            - 'cell "{''default'': {''ATOMIC_REQUESTS'': False, ''AUTOCOMMIT'': True, ''CONN_HEALTH_CHECKS'': False, ''CONN_MAX_AGE'': 0, ''ENGINE'': ''django.db.backends.postgresql'', ''HOST'': ''localhost'', ''NAME'': ''px360'', ''OPTIONS'': {}, ''PASSWORD'': ''********************'', ''PORT'': 5433, ''TEST'': {''CHARSET'': None, ''COLLATION'': None, ''MIGRATE'': True, ''MIRROR'': None, ''NAME'': None}, ''TIME_ZONE'': None, ''USER'': ''px360''}}" [ref=e1020]':
              - generic [ref=e1021]: "{'default': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_HEALTH_CHECKS': False, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.postgresql', 'HOST': 'localhost', 'NAME': 'px360', 'OPTIONS': {}, 'PASSWORD': '********************', 'PORT': 5433, 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'px360'}}"
          - row "DATABASE_ROUTERS []" [ref=e1022]:
            - cell "DATABASE_ROUTERS" [ref=e1023]
            - cell "[]" [ref=e1024]:
              - generic [ref=e1025]: "[]"
          - row "DATA_UPLOAD_MAX_MEMORY_SIZE 2621440" [ref=e1026]:
            - cell "DATA_UPLOAD_MAX_MEMORY_SIZE" [ref=e1027]
            - cell "2621440" [ref=e1028]:
              - generic [ref=e1029]: "2621440"
          - row "DATA_UPLOAD_MAX_NUMBER_FIELDS 10000" [ref=e1030]:
            - cell "DATA_UPLOAD_MAX_NUMBER_FIELDS" [ref=e1031]
            - cell "10000" [ref=e1032]:
              - generic [ref=e1033]: "10000"
          - row "DATA_UPLOAD_MAX_NUMBER_FILES 100" [ref=e1034]:
            - cell "DATA_UPLOAD_MAX_NUMBER_FILES" [ref=e1035]
            - cell "100" [ref=e1036]:
              - generic [ref=e1037]: "100"
          - row "DATETIME_FORMAT 'N j, Y, P'" [ref=e1038]:
            - cell "DATETIME_FORMAT" [ref=e1039]
            - cell "'N j, Y, P'" [ref=e1040]:
              - generic [ref=e1041]: "'N j, Y, P'"
          - row "DATETIME_INPUT_FORMATS ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M']" [ref=e1042]:
            - cell "DATETIME_INPUT_FORMATS" [ref=e1043]
            - cell "['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M']" [ref=e1044]:
              - generic [ref=e1045]: "['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M']"
          - row "DATE_FORMAT 'N j, Y'" [ref=e1046]:
            - cell "DATE_FORMAT" [ref=e1047]
            - cell "'N j, Y'" [ref=e1048]:
              - generic [ref=e1049]: "'N j, Y'"
          - row "DATE_INPUT_FORMATS ['%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y']" [ref=e1050]:
            - cell "DATE_INPUT_FORMATS" [ref=e1051]
            - cell "['%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y']" [ref=e1052]:
              - generic [ref=e1053]: "['%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y']"
          - row "DEBUG True" [ref=e1054]:
            - cell "DEBUG" [ref=e1055]
            - cell "True" [ref=e1056]:
              - generic [ref=e1057]: "True"
          - row "DEBUG_PROPAGATE_EXCEPTIONS False" [ref=e1058]:
            - cell "DEBUG_PROPAGATE_EXCEPTIONS" [ref=e1059]
            - cell "False" [ref=e1060]:
              - generic [ref=e1061]: "False"
          - row "DECIMAL_SEPARATOR '.'" [ref=e1062]:
            - cell "DECIMAL_SEPARATOR" [ref=e1063]
            - cell "'.'" [ref=e1064]:
              - generic [ref=e1065]: "'.'"
          - row "DEFAULT_AUTO_FIELD 'django.db.models.BigAutoField'" [ref=e1066]:
            - cell "DEFAULT_AUTO_FIELD" [ref=e1067]
            - cell "'django.db.models.BigAutoField'" [ref=e1068]:
              - generic [ref=e1069]: "'django.db.models.BigAutoField'"
          - row "DEFAULT_CHARSET 'utf-8'" [ref=e1070]:
            - cell "DEFAULT_CHARSET" [ref=e1071]
            - cell "'utf-8'" [ref=e1072]:
              - generic [ref=e1073]: "'utf-8'"
          - row "DEFAULT_EXCEPTION_REPORTER 'django.views.debug.ExceptionReporter'" [ref=e1074]:
            - cell "DEFAULT_EXCEPTION_REPORTER" [ref=e1075]
            - cell "'django.views.debug.ExceptionReporter'" [ref=e1076]:
              - generic [ref=e1077]: "'django.views.debug.ExceptionReporter'"
          - row "DEFAULT_EXCEPTION_REPORTER_FILTER 'django.views.debug.SafeExceptionReporterFilter'" [ref=e1078]:
            - cell "DEFAULT_EXCEPTION_REPORTER_FILTER" [ref=e1079]
            - cell "'django.views.debug.SafeExceptionReporterFilter'" [ref=e1080]:
              - generic [ref=e1081]: "'django.views.debug.SafeExceptionReporterFilter'"
          - row "DEFAULT_FROM_EMAIL 'noreply@px360.sa'" [ref=e1082]:
            - cell "DEFAULT_FROM_EMAIL" [ref=e1083]
            - cell "'noreply@px360.sa'" [ref=e1084]:
              - generic [ref=e1085]: "'noreply@px360.sa'"
          - row "DEFAULT_INDEX_TABLESPACE ''" [ref=e1086]:
            - cell "DEFAULT_INDEX_TABLESPACE" [ref=e1087]
            - cell "''" [ref=e1088]:
              - generic [ref=e1089]: "''"
          - row "DEFAULT_TABLESPACE ''" [ref=e1090]:
            - cell "DEFAULT_TABLESPACE" [ref=e1091]
            - cell "''" [ref=e1092]:
              - generic [ref=e1093]: "''"
          - row "DEV_SMS_RECIPIENT '+966566703794'" [ref=e1094]:
            - cell "DEV_SMS_RECIPIENT" [ref=e1095]
            - cell "'+966566703794'" [ref=e1096]:
              - generic [ref=e1097]: "'+966566703794'"
          - row "DISALLOWED_USER_AGENTS []" [ref=e1098]:
            - cell "DISALLOWED_USER_AGENTS" [ref=e1099]
            - cell "[]" [ref=e1100]:
              - generic [ref=e1101]: "[]"
          - row "DJANGO_APPS ['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles']" [ref=e1102]:
            - cell "DJANGO_APPS" [ref=e1103]
            - cell "['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles']" [ref=e1104]:
              - generic [ref=e1105]: "['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles']"
          - row "EMAIL_BACKEND 'django.core.mail.backends.smtp.EmailBackend'" [ref=e1106]:
            - cell "EMAIL_BACKEND" [ref=e1107]
            - cell "'django.core.mail.backends.smtp.EmailBackend'" [ref=e1108]:
              - generic [ref=e1109]: "'django.core.mail.backends.smtp.EmailBackend'"
          - row "EMAIL_HOST 'localhost'" [ref=e1110]:
            - cell "EMAIL_HOST" [ref=e1111]
            - cell "'localhost'" [ref=e1112]:
              - generic [ref=e1113]: "'localhost'"
          - row "EMAIL_HOST_PASSWORD '********************'" [ref=e1114]:
            - cell "EMAIL_HOST_PASSWORD" [ref=e1115]
            - cell "'********************'" [ref=e1116]:
              - generic [ref=e1117]: "'********************'"
          - row "EMAIL_HOST_USER ''" [ref=e1118]:
            - cell "EMAIL_HOST_USER" [ref=e1119]
            - cell "''" [ref=e1120]:
              - generic [ref=e1121]: "''"
          - row "EMAIL_LOGO_URL 'http://localhost:8000/static/img/HH_P_H_Logo.png'" [ref=e1122]:
            - cell "EMAIL_LOGO_URL" [ref=e1123]
            - cell "'http://localhost:8000/static/img/HH_P_H_Logo.png'" [ref=e1124]:
              - generic [ref=e1125]: "'http://localhost:8000/static/img/HH_P_H_Logo.png'"
          - row "EMAIL_PORT 2525" [ref=e1126]:
            - cell "EMAIL_PORT" [ref=e1127]
            - cell "2525" [ref=e1128]:
              - generic [ref=e1129]: "2525"
          - row "EMAIL_SSL_CERTFILE None" [ref=e1130]:
            - cell "EMAIL_SSL_CERTFILE" [ref=e1131]
            - cell "None" [ref=e1132]:
              - generic [ref=e1133]: None
          - row "EMAIL_SSL_KEYFILE '********************'" [ref=e1134]:
            - cell "EMAIL_SSL_KEYFILE" [ref=e1135]
            - cell "'********************'" [ref=e1136]:
              - generic [ref=e1137]: "'********************'"
          - row "EMAIL_SUBJECT_PREFIX '[Django] '" [ref=e1138]:
            - cell "EMAIL_SUBJECT_PREFIX" [ref=e1139]
            - cell "'[Django] '" [ref=e1140]:
              - generic [ref=e1141]: "'[Django] '"
          - row "EMAIL_TIMEOUT None" [ref=e1142]:
            - cell "EMAIL_TIMEOUT" [ref=e1143]
            - cell "None" [ref=e1144]:
              - generic [ref=e1145]: None
          - row "EMAIL_USE_LOCALTIME False" [ref=e1146]:
            - cell "EMAIL_USE_LOCALTIME" [ref=e1147]
            - cell "False" [ref=e1148]:
              - generic [ref=e1149]: "False"
          - row "EMAIL_USE_SSL False" [ref=e1150]:
            - cell "EMAIL_USE_SSL" [ref=e1151]
            - cell "False" [ref=e1152]:
              - generic [ref=e1153]: "False"
          - row "EMAIL_USE_TLS False" [ref=e1154]:
            - cell "EMAIL_USE_TLS" [ref=e1155]
            - cell "False" [ref=e1156]:
              - generic [ref=e1157]: "False"
          - row "EXTERNAL_NOTIFICATION_API '********************'" [ref=e1158]:
            - cell "EXTERNAL_NOTIFICATION_API" [ref=e1159]
            - cell "'********************'" [ref=e1160]:
              - generic [ref=e1161]: "'********************'"
          - row "FACEBOOK_ACCESS_TOKEN '********************'" [ref=e1162]:
            - cell "FACEBOOK_ACCESS_TOKEN" [ref=e1163]
            - cell "'********************'" [ref=e1164]:
              - generic [ref=e1165]: "'********************'"
          - row "FACEBOOK_PAGE_ID '938104059393026'" [ref=e1166]:
            - cell "FACEBOOK_PAGE_ID" [ref=e1167]
            - cell "'938104059393026'" [ref=e1168]:
              - generic [ref=e1169]: "'938104059393026'"
          - row "FILE_UPLOAD_DIRECTORY_PERMISSIONS None" [ref=e1170]:
            - cell "FILE_UPLOAD_DIRECTORY_PERMISSIONS" [ref=e1171]
            - cell "None" [ref=e1172]:
              - generic [ref=e1173]: None
          - row "FILE_UPLOAD_HANDLERS ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler']" [ref=e1174]:
            - cell "FILE_UPLOAD_HANDLERS" [ref=e1175]
            - cell "['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler']" [ref=e1176]:
              - generic [ref=e1177]: "['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler']"
          - row "FILE_UPLOAD_MAX_MEMORY_SIZE 2621440" [ref=e1178]:
            - cell "FILE_UPLOAD_MAX_MEMORY_SIZE" [ref=e1179]
            - cell "2621440" [ref=e1180]:
              - generic [ref=e1181]: "2621440"
          - row "FILE_UPLOAD_PERMISSIONS 420" [ref=e1182]:
            - cell "FILE_UPLOAD_PERMISSIONS" [ref=e1183]
            - cell "420" [ref=e1184]:
              - generic [ref=e1185]: "420"
          - row "FILE_UPLOAD_TEMP_DIR None" [ref=e1186]:
            - cell "FILE_UPLOAD_TEMP_DIR" [ref=e1187]
            - cell "None" [ref=e1188]:
              - generic [ref=e1189]: None
          - row "FIRST_DAY_OF_WEEK 0" [ref=e1190]:
            - cell "FIRST_DAY_OF_WEEK" [ref=e1191]
            - cell "0" [ref=e1192]:
              - generic [ref=e1193]: "0"
          - row "FIXTURE_DIRS []" [ref=e1194]:
            - cell "FIXTURE_DIRS" [ref=e1195]
            - cell "[]" [ref=e1196]:
              - generic [ref=e1197]: "[]"
          - row "FORCE_SCRIPT_NAME None" [ref=e1198]:
            - cell "FORCE_SCRIPT_NAME" [ref=e1199]
            - cell "None" [ref=e1200]:
              - generic [ref=e1201]: None
          - row "FORMAT_MODULE_PATH None" [ref=e1202]:
            - cell "FORMAT_MODULE_PATH" [ref=e1203]
            - cell "None" [ref=e1204]:
              - generic [ref=e1205]: None
          - row "FORM_RENDERER 'django.forms.renderers.DjangoTemplates'" [ref=e1206]:
            - cell "FORM_RENDERER" [ref=e1207]
            - cell "'django.forms.renderers.DjangoTemplates'" [ref=e1208]:
              - generic [ref=e1209]: "'django.forms.renderers.DjangoTemplates'"
          - row "GOOGLE_CREDENTIALS_FILE 'client_secret.json'" [ref=e1210]:
            - cell "GOOGLE_CREDENTIALS_FILE" [ref=e1211]
            - cell "'client_secret.json'" [ref=e1212]:
              - generic [ref=e1213]: "'client_secret.json'"
          - row "GOOGLE_LOCATIONS []" [ref=e1214]:
            - cell "GOOGLE_LOCATIONS" [ref=e1215]
            - cell "[]" [ref=e1216]:
              - generic [ref=e1217]: "[]"
          - row "GOOGLE_TOKEN_FILE '********************'" [ref=e1218]:
            - cell "GOOGLE_TOKEN_FILE" [ref=e1219]
            - cell "'********************'" [ref=e1220]:
              - generic [ref=e1221]: "'********************'"
          - row "HIS_API_PASSWORD '********************'" [ref=e1222]:
            - cell "HIS_API_PASSWORD" [ref=e1223]
            - cell "'********************'" [ref=e1224]:
              - generic [ref=e1225]: "'********************'"
          - row "HIS_API_URL '********************'" [ref=e1226]:
            - cell "HIS_API_URL" [ref=e1227]
            - cell "'********************'" [ref=e1228]:
              - generic [ref=e1229]: "'********************'"
          - row "HIS_API_USERNAME '********************'" [ref=e1230]:
            - cell "HIS_API_USERNAME" [ref=e1231]
            - cell "'********************'" [ref=e1232]:
              - generic [ref=e1233]: "'********************'"
          - row "HIS_RATINGS_API_URL '********************'" [ref=e1234]:
            - cell "HIS_RATINGS_API_URL" [ref=e1235]
            - cell "'********************'" [ref=e1236]:
              - generic [ref=e1237]: "'********************'"
          - row "IGNORABLE_404_URLS []" [ref=e1238]:
            - cell "IGNORABLE_404_URLS" [ref=e1239]
            - cell "[]" [ref=e1240]:
              - generic [ref=e1241]: "[]"
          - row "INSTAGRAM_ACCESS_TOKEN '********************'" [ref=e1242]:
            - cell "INSTAGRAM_ACCESS_TOKEN" [ref=e1243]
            - cell "'********************'" [ref=e1244]:
              - generic [ref=e1245]: "'********************'"
          - row "INSTAGRAM_ACCOUNT_ID '17841431861985364'" [ref=e1246]:
            - cell "INSTAGRAM_ACCOUNT_ID" [ref=e1247]
            - cell "'17841431861985364'" [ref=e1248]:
              - generic [ref=e1249]: "'17841431861985364'"
          - row "INSTALLED_APPS ['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'rest_framework', 'rest_framework_simplejwt', 'rest_framework_simplejwt.token_blacklist', 'django_filters', 'drf_spectacular', 'django_celery_beat', 'apps.core', 'apps.accounts', 'apps.organizations', 'apps.journeys', 'apps.surveys', 'apps.complaints', 'apps.feedback', 'apps.callcenter', 'apps.social', 'apps.px_action_center', 'apps.analytics', 'apps.physicians', 'apps.projects', 'apps.integrations', 'apps.notifications', 'apps.ai_engine', 'apps.dashboard', 'apps.appreciation', 'apps.observations', 'apps.px_sources', 'apps.references', 'apps.standards', 'apps.simulator', 'apps.reports', 'apps.rca', 'apps.executive_summary', 'apps.presentations', 'django_extensions']" [ref=e1250]:
            - cell "INSTALLED_APPS" [ref=e1251]
            - cell "['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'rest_framework', 'rest_framework_simplejwt', 'rest_framework_simplejwt.token_blacklist', 'django_filters', 'drf_spectacular', 'django_celery_beat', 'apps.core', 'apps.accounts', 'apps.organizations', 'apps.journeys', 'apps.surveys', 'apps.complaints', 'apps.feedback', 'apps.callcenter', 'apps.social', 'apps.px_action_center', 'apps.analytics', 'apps.physicians', 'apps.projects', 'apps.integrations', 'apps.notifications', 'apps.ai_engine', 'apps.dashboard', 'apps.appreciation', 'apps.observations', 'apps.px_sources', 'apps.references', 'apps.standards', 'apps.simulator', 'apps.reports', 'apps.rca', 'apps.executive_summary', 'apps.presentations', 'django_extensions']" [ref=e1252]:
              - generic [ref=e1253]: "['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'rest_framework', 'rest_framework_simplejwt', 'rest_framework_simplejwt.token_blacklist', 'django_filters', 'drf_spectacular', 'django_celery_beat', 'apps.core', 'apps.accounts', 'apps.organizations', 'apps.journeys', 'apps.surveys', 'apps.complaints', 'apps.feedback', 'apps.callcenter', 'apps.social', 'apps.px_action_center', 'apps.analytics', 'apps.physicians', 'apps.projects', 'apps.integrations', 'apps.notifications', 'apps.ai_engine', 'apps.dashboard', 'apps.appreciation', 'apps.observations', 'apps.px_sources', 'apps.references', 'apps.standards', 'apps.simulator', 'apps.reports', 'apps.rca', 'apps.executive_summary', 'apps.presentations', 'django_extensions']"
          - row "INTERNAL_IPS []" [ref=e1254]:
            - cell "INTERNAL_IPS" [ref=e1255]
            - cell "[]" [ref=e1256]:
              - generic [ref=e1257]: "[]"
          - row "LANGUAGES [('en', 'English'), ('ar', 'Arabic')]" [ref=e1258]:
            - cell "LANGUAGES" [ref=e1259]
            - cell "[('en', 'English'), ('ar', 'Arabic')]" [ref=e1260]:
              - generic [ref=e1261]: "[('en', 'English'), ('ar', 'Arabic')]"
          - row "LANGUAGES_BIDI ['he', 'ar', 'ar-dz', 'ckb', 'fa', 'ug', 'ur']" [ref=e1262]:
            - cell "LANGUAGES_BIDI" [ref=e1263]
            - cell "['he', 'ar', 'ar-dz', 'ckb', 'fa', 'ug', 'ur']" [ref=e1264]:
              - generic [ref=e1265]: "['he', 'ar', 'ar-dz', 'ckb', 'fa', 'ug', 'ur']"
          - row "LANGUAGE_CODE 'en-us'" [ref=e1266]:
            - cell "LANGUAGE_CODE" [ref=e1267]
            - cell "'en-us'" [ref=e1268]:
              - generic [ref=e1269]: "'en-us'"
          - row "LANGUAGE_COOKIE_AGE None" [ref=e1270]:
            - cell "LANGUAGE_COOKIE_AGE" [ref=e1271]
            - cell "None" [ref=e1272]:
              - generic [ref=e1273]: None
          - row "LANGUAGE_COOKIE_DOMAIN None" [ref=e1274]:
            - cell "LANGUAGE_COOKIE_DOMAIN" [ref=e1275]
            - cell "None" [ref=e1276]:
              - generic [ref=e1277]: None
          - row "LANGUAGE_COOKIE_HTTPONLY False" [ref=e1278]:
            - cell "LANGUAGE_COOKIE_HTTPONLY" [ref=e1279]
            - cell "False" [ref=e1280]:
              - generic [ref=e1281]: "False"
          - row "LANGUAGE_COOKIE_NAME 'django_language'" [ref=e1282]:
            - cell "LANGUAGE_COOKIE_NAME" [ref=e1283]
            - cell "'django_language'" [ref=e1284]:
              - generic [ref=e1285]: "'django_language'"
          - row "LANGUAGE_COOKIE_PATH '/'" [ref=e1286]:
            - cell "LANGUAGE_COOKIE_PATH" [ref=e1287]
            - cell "'/'" [ref=e1288]:
              - generic [ref=e1289]: "'/'"
          - row "LANGUAGE_COOKIE_SAMESITE None" [ref=e1290]:
            - cell "LANGUAGE_COOKIE_SAMESITE" [ref=e1291]
            - cell "None" [ref=e1292]:
              - generic [ref=e1293]: None
          - row "LANGUAGE_COOKIE_SECURE False" [ref=e1294]:
            - cell "LANGUAGE_COOKIE_SECURE" [ref=e1295]
            - cell "False" [ref=e1296]:
              - generic [ref=e1297]: "False"
          - row "LINKEDIN_ACCESS_TOKEN '********************'" [ref=e1298]:
            - cell "LINKEDIN_ACCESS_TOKEN" [ref=e1299]
            - cell "'********************'" [ref=e1300]:
              - generic [ref=e1301]: "'********************'"
          - row "LINKEDIN_ORGANIZATION_ID None" [ref=e1302]:
            - cell "LINKEDIN_ORGANIZATION_ID" [ref=e1303]
            - cell "None" [ref=e1304]:
              - generic [ref=e1305]: None
          - row "LOCALE_PATHS [PosixPath('/home/ismail/projects/HH/locale')]" [ref=e1306]:
            - cell "LOCALE_PATHS" [ref=e1307]
            - cell "[PosixPath('/home/ismail/projects/HH/locale')]" [ref=e1308]:
              - generic [ref=e1309]: "[PosixPath('/home/ismail/projects/HH/locale')]"
          - row "LOCAL_APPS ['apps.core', 'apps.accounts', 'apps.organizations', 'apps.journeys', 'apps.surveys', 'apps.complaints', 'apps.feedback', 'apps.callcenter', 'apps.social', 'apps.px_action_center', 'apps.analytics', 'apps.physicians', 'apps.projects', 'apps.integrations', 'apps.notifications', 'apps.ai_engine', 'apps.dashboard', 'apps.appreciation', 'apps.observations', 'apps.px_sources', 'apps.references', 'apps.standards', 'apps.simulator', 'apps.reports', 'apps.rca', 'apps.executive_summary', 'apps.presentations']" [ref=e1310]:
            - cell "LOCAL_APPS" [ref=e1311]
            - cell "['apps.core', 'apps.accounts', 'apps.organizations', 'apps.journeys', 'apps.surveys', 'apps.complaints', 'apps.feedback', 'apps.callcenter', 'apps.social', 'apps.px_action_center', 'apps.analytics', 'apps.physicians', 'apps.projects', 'apps.integrations', 'apps.notifications', 'apps.ai_engine', 'apps.dashboard', 'apps.appreciation', 'apps.observations', 'apps.px_sources', 'apps.references', 'apps.standards', 'apps.simulator', 'apps.reports', 'apps.rca', 'apps.executive_summary', 'apps.presentations']" [ref=e1312]:
              - generic [ref=e1313]: "['apps.core', 'apps.accounts', 'apps.organizations', 'apps.journeys', 'apps.surveys', 'apps.complaints', 'apps.feedback', 'apps.callcenter', 'apps.social', 'apps.px_action_center', 'apps.analytics', 'apps.physicians', 'apps.projects', 'apps.integrations', 'apps.notifications', 'apps.ai_engine', 'apps.dashboard', 'apps.appreciation', 'apps.observations', 'apps.px_sources', 'apps.references', 'apps.standards', 'apps.simulator', 'apps.reports', 'apps.rca', 'apps.executive_summary', 'apps.presentations']"
          - row [ref=e1314]:
            - cell "LOGGING" [ref=e1315]
            - cell [ref=e1316]:
              - generic [ref=e1317]: "{'disable_existing_loggers': False, 'filters': {'require_debug_true': {'()': 'django.utils.log.RequireDebugTrue'}}, 'formatters': {'simple': {'format': '{levelname} {message}', 'style': '{'}, 'verbose': {'format': '{levelname} {asctime} {module} ' '{process:d} {thread:d} {message}', 'style': '{'}}, 'handlers': {'console': {'class': 'logging.StreamHandler', 'formatter': 'verbose', 'level': 'INFO'}, 'file': {'backupCount': 10, 'class': 'logging.handlers.RotatingFileHandler', 'filename': PosixPath('/home/ismail/projects/HH/logs/px360.log'), 'formatter': 'verbose', 'level': 'INFO', 'maxBytes': 15728640}, 'integration_file': {'backupCount': 10, 'class': 'logging.handlers.RotatingFileHandler', 'filename': PosixPath('/home/ismail/projects/HH/logs/integrations.log'), 'formatter': 'verbose', 'level': 'INFO', 'maxBytes': 15728640}}, 'loggers': {'apps': {'handlers': ['console', 'file'], 'level': 'DEBUG', 'propagate': False}, 'apps.integrations': {'handlers': ['console', 'integration_file'], 'level': 'INFO', 'propagate': False}, 'django': {'handlers': ['console', 'file'], 'level': 'DEBUG', 'propagate': False}}, 'version': 1}"
          - row "LOGGING_CONFIG 'logging.config.dictConfig'" [ref=e1318]:
            - cell "LOGGING_CONFIG" [ref=e1319]
            - cell "'logging.config.dictConfig'" [ref=e1320]:
              - generic [ref=e1321]: "'logging.config.dictConfig'"
          - row "LOGIN_ATTEMPT_TIMEOUT_MINUTES 30" [ref=e1322]:
            - cell "LOGIN_ATTEMPT_TIMEOUT_MINUTES" [ref=e1323]
            - cell "30" [ref=e1324]:
              - generic [ref=e1325]: "30"
          - row "LOGIN_REDIRECT_URL '/'" [ref=e1326]:
            - cell "LOGIN_REDIRECT_URL" [ref=e1327]
            - cell "'/'" [ref=e1328]:
              - generic [ref=e1329]: "'/'"
          - row "LOGIN_URL '/accounts/login/'" [ref=e1330]:
            - cell "LOGIN_URL" [ref=e1331]
            - cell "'/accounts/login/'" [ref=e1332]:
              - generic [ref=e1333]: "'/accounts/login/'"
          - row "LOGOUT_REDIRECT_URL '/accounts/login/'" [ref=e1334]:
            - cell "LOGOUT_REDIRECT_URL" [ref=e1335]
            - cell "'/accounts/login/'" [ref=e1336]:
              - generic [ref=e1337]: "'/accounts/login/'"
          - row "LOGS_DIR PosixPath('/home/ismail/projects/HH/logs')" [ref=e1338]:
            - cell "LOGS_DIR" [ref=e1339]
            - cell "PosixPath('/home/ismail/projects/HH/logs')" [ref=e1340]:
              - generic [ref=e1341]: PosixPath('/home/ismail/projects/HH/logs')
          - row "MANAGERS []" [ref=e1342]:
            - cell "MANAGERS" [ref=e1343]
            - cell "[]" [ref=e1344]:
              - generic [ref=e1345]: "[]"
          - row "MAX_LOGIN_ATTEMPTS 5" [ref=e1346]:
            - cell "MAX_LOGIN_ATTEMPTS" [ref=e1347]
            - cell "5" [ref=e1348]:
              - generic [ref=e1349]: "5"
          - row "MEDIA_ROOT PosixPath('/home/ismail/projects/HH/media')" [ref=e1350]:
            - cell "MEDIA_ROOT" [ref=e1351]
            - cell "PosixPath('/home/ismail/projects/HH/media')" [ref=e1352]:
              - generic [ref=e1353]: PosixPath('/home/ismail/projects/HH/media')
          - row "MEDIA_URL '/media/'" [ref=e1354]:
            - cell "MEDIA_URL" [ref=e1355]
            - cell "'/media/'" [ref=e1356]:
              - generic [ref=e1357]: "'/media/'"
          - row "MESSAGE_STORAGE 'django.contrib.messages.storage.fallback.FallbackStorage'" [ref=e1358]:
            - cell "MESSAGE_STORAGE" [ref=e1359]
            - cell "'django.contrib.messages.storage.fallback.FallbackStorage'" [ref=e1360]:
              - generic [ref=e1361]: "'django.contrib.messages.storage.fallback.FallbackStorage'"
          - row "MIDDLEWARE ['django.middleware.security.SecurityMiddleware', 'whitenoise.middleware.WhiteNoiseMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.locale.LocaleMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'apps.core.middleware.TenantMiddleware', 'apps.core.middleware.DepartmentRespondentMiddleware', 'apps.px_sources.middleware.SourceUserRestrictionMiddleware', 'apps.px_sources.middleware.SourceUserSessionMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'apps.accounts.middleware.ActivityLoggingMiddleware']" [ref=e1362]:
            - cell "MIDDLEWARE" [ref=e1363]
            - cell "['django.middleware.security.SecurityMiddleware', 'whitenoise.middleware.WhiteNoiseMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.locale.LocaleMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'apps.core.middleware.TenantMiddleware', 'apps.core.middleware.DepartmentRespondentMiddleware', 'apps.px_sources.middleware.SourceUserRestrictionMiddleware', 'apps.px_sources.middleware.SourceUserSessionMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'apps.accounts.middleware.ActivityLoggingMiddleware']" [ref=e1364]:
              - generic [ref=e1365]: "['django.middleware.security.SecurityMiddleware', 'whitenoise.middleware.WhiteNoiseMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.locale.LocaleMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'apps.core.middleware.TenantMiddleware', 'apps.core.middleware.DepartmentRespondentMiddleware', 'apps.px_sources.middleware.SourceUserRestrictionMiddleware', 'apps.px_sources.middleware.SourceUserSessionMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'apps.accounts.middleware.ActivityLoggingMiddleware']"
          - 'row "MIGRATION_MODULES {}" [ref=e1366]':
            - cell "MIGRATION_MODULES" [ref=e1367]
            - 'cell "{}" [ref=e1368]':
              - generic [ref=e1369]: "{}"
          - row "MONTH_DAY_FORMAT 'F j'" [ref=e1370]:
            - cell "MONTH_DAY_FORMAT" [ref=e1371]
            - cell "'F j'" [ref=e1372]:
              - generic [ref=e1373]: "'F j'"
          - row "MSHASTRA_PASSWORD '********************'" [ref=e1374]:
            - cell "MSHASTRA_PASSWORD" [ref=e1375]
            - cell "'********************'" [ref=e1376]:
              - generic [ref=e1377]: "'********************'"
          - row "MSHASTRA_SENDER_ID 'M556999091'" [ref=e1378]:
            - cell "MSHASTRA_SENDER_ID" [ref=e1379]
            - cell "'M556999091'" [ref=e1380]:
              - generic [ref=e1381]: "'M556999091'"
          - row "MSHASTRA_USERNAME 'M556999091'" [ref=e1382]:
            - cell "MSHASTRA_USERNAME" [ref=e1383]
            - cell "'M556999091'" [ref=e1384]:
              - generic [ref=e1385]: "'M556999091'"
          - 'row "NOTIFICATION_CHANNELS {''email'': {''enabled'': True, ''provider'': ''console''}, ''sms'': {''enabled'': False, ''provider'': ''mshastra''}, ''whatsapp'': {''enabled'': False, ''provider'': ''console''}}" [ref=e1386]':
            - cell "NOTIFICATION_CHANNELS" [ref=e1387]
            - 'cell "{''email'': {''enabled'': True, ''provider'': ''console''}, ''sms'': {''enabled'': False, ''provider'': ''mshastra''}, ''whatsapp'': {''enabled'': False, ''provider'': ''console''}}" [ref=e1388]':
              - generic [ref=e1389]: "{'email': {'enabled': True, 'provider': 'console'}, 'sms': {'enabled': False, 'provider': 'mshastra'}, 'whatsapp': {'enabled': False, 'provider': 'console'}}"
          - row "NUMBER_GROUPING 0" [ref=e1390]:
            - cell "NUMBER_GROUPING" [ref=e1391]
            - cell "0" [ref=e1392]:
              - generic [ref=e1393]: "0"
          - row "OPENROUTER_API_KEY '********************'" [ref=e1394]:
            - cell "OPENROUTER_API_KEY" [ref=e1395]
            - cell "'********************'" [ref=e1396]:
              - generic [ref=e1397]: "'********************'"
          - row "OPENROUTER_MODEL 'google/gemma-3-27b-it:free'" [ref=e1398]:
            - cell "OPENROUTER_MODEL" [ref=e1399]
            - cell "'google/gemma-3-27b-it:free'" [ref=e1400]:
              - generic [ref=e1401]: "'google/gemma-3-27b-it:free'"
          - row "PASSWORD_COMPLEXITY '********************'" [ref=e1402]:
            - cell "PASSWORD_COMPLEXITY" [ref=e1403]
            - cell "'********************'" [ref=e1404]:
              - generic [ref=e1405]: "'********************'"
          - row "PASSWORD_HASHERS '********************'" [ref=e1406]:
            - cell "PASSWORD_HASHERS" [ref=e1407]
            - cell "'********************'" [ref=e1408]:
              - generic [ref=e1409]: "'********************'"
          - row "PASSWORD_MIN_LENGTH '********************'" [ref=e1410]:
            - cell "PASSWORD_MIN_LENGTH" [ref=e1411]
            - cell "'********************'" [ref=e1412]:
              - generic [ref=e1413]: "'********************'"
          - row "PASSWORD_RESET_TIMEOUT '********************'" [ref=e1414]:
            - cell "PASSWORD_RESET_TIMEOUT" [ref=e1415]
            - cell "'********************'" [ref=e1416]:
              - generic [ref=e1417]: "'********************'"
          - row "PREPEND_WWW False" [ref=e1418]:
            - cell "PREPEND_WWW" [ref=e1419]
            - cell "False" [ref=e1420]:
              - generic [ref=e1421]: "False"
          - 'row "REST_FRAMEWORK {''DEFAULT_AUTHENTICATION_CLASSES'': ''********************'', ''DEFAULT_FILTER_BACKENDS'': [''django_filters.rest_framework.DjangoFilterBackend'', ''rest_framework.filters.SearchFilter'', ''rest_framework.filters.OrderingFilter''], ''DEFAULT_PAGINATION_CLASS'': ''rest_framework.pagination.PageNumberPagination'', ''DEFAULT_PERMISSION_CLASSES'': [''rest_framework.permissions.IsAuthenticated''], ''DEFAULT_SCHEMA_CLASS'': ''drf_spectacular.openapi.AutoSchema'', ''PAGE_SIZE'': 50}" [ref=e1422]':
            - cell "REST_FRAMEWORK" [ref=e1423]
            - 'cell "{''DEFAULT_AUTHENTICATION_CLASSES'': ''********************'', ''DEFAULT_FILTER_BACKENDS'': [''django_filters.rest_framework.DjangoFilterBackend'', ''rest_framework.filters.SearchFilter'', ''rest_framework.filters.OrderingFilter''], ''DEFAULT_PAGINATION_CLASS'': ''rest_framework.pagination.PageNumberPagination'', ''DEFAULT_PERMISSION_CLASSES'': [''rest_framework.permissions.IsAuthenticated''], ''DEFAULT_SCHEMA_CLASS'': ''drf_spectacular.openapi.AutoSchema'', ''PAGE_SIZE'': 50}" [ref=e1424]':
              - generic [ref=e1425]: "{'DEFAULT_AUTHENTICATION_CLASSES': '********************', 'DEFAULT_FILTER_BACKENDS': ['django_filters.rest_framework.DjangoFilterBackend', 'rest_framework.filters.SearchFilter', 'rest_framework.filters.OrderingFilter'], 'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination', 'DEFAULT_PERMISSION_CLASSES': ['rest_framework.permissions.IsAuthenticated'], 'DEFAULT_SCHEMA_CLASS': 'drf_spectacular.openapi.AutoSchema', 'PAGE_SIZE': 50}"
          - row "ROOT_URLCONF 'config.urls'" [ref=e1426]:
            - cell "ROOT_URLCONF" [ref=e1427]
            - cell "'config.urls'" [ref=e1428]:
              - generic [ref=e1429]: "'config.urls'"
          - row "SECRET_KEY '********************'" [ref=e1430]:
            - cell "SECRET_KEY" [ref=e1431]
            - cell "'********************'" [ref=e1432]:
              - generic [ref=e1433]: "'********************'"
          - row "SECRET_KEY_FALLBACKS '********************'" [ref=e1434]:
            - cell "SECRET_KEY_FALLBACKS" [ref=e1435]
            - cell "'********************'" [ref=e1436]:
              - generic [ref=e1437]: "'********************'"
          - row "SECURE_BROWSER_XSS_FILTER True" [ref=e1438]:
            - cell "SECURE_BROWSER_XSS_FILTER" [ref=e1439]
            - cell "True" [ref=e1440]:
              - generic [ref=e1441]: "True"
          - row "SECURE_CONTENT_TYPE_NOSNIFF True" [ref=e1442]:
            - cell "SECURE_CONTENT_TYPE_NOSNIFF" [ref=e1443]
            - cell "True" [ref=e1444]:
              - generic [ref=e1445]: "True"
          - row "SECURE_CROSS_ORIGIN_OPENER_POLICY 'same-origin'" [ref=e1446]:
            - cell "SECURE_CROSS_ORIGIN_OPENER_POLICY" [ref=e1447]
            - cell "'same-origin'" [ref=e1448]:
              - generic [ref=e1449]: "'same-origin'"
          - 'row "SECURE_CSP {}" [ref=e1450]':
            - cell "SECURE_CSP" [ref=e1451]
            - 'cell "{}" [ref=e1452]':
              - generic [ref=e1453]: "{}"
          - 'row "SECURE_CSP_REPORT_ONLY {}" [ref=e1454]':
            - cell "SECURE_CSP_REPORT_ONLY" [ref=e1455]
            - 'cell "{}" [ref=e1456]':
              - generic [ref=e1457]: "{}"
          - row "SECURE_HSTS_INCLUDE_SUBDOMAINS False" [ref=e1458]:
            - cell "SECURE_HSTS_INCLUDE_SUBDOMAINS" [ref=e1459]
            - cell "False" [ref=e1460]:
              - generic [ref=e1461]: "False"
          - row "SECURE_HSTS_PRELOAD False" [ref=e1462]:
            - cell "SECURE_HSTS_PRELOAD" [ref=e1463]
            - cell "False" [ref=e1464]:
              - generic [ref=e1465]: "False"
          - row "SECURE_HSTS_SECONDS 0" [ref=e1466]:
            - cell "SECURE_HSTS_SECONDS" [ref=e1467]
            - cell "0" [ref=e1468]:
              - generic [ref=e1469]: "0"
          - row "SECURE_PROXY_SSL_HEADER None" [ref=e1470]:
            - cell "SECURE_PROXY_SSL_HEADER" [ref=e1471]
            - cell "None" [ref=e1472]:
              - generic [ref=e1473]: None
          - row "SECURE_REDIRECT_EXEMPT []" [ref=e1474]:
            - cell "SECURE_REDIRECT_EXEMPT" [ref=e1475]
            - cell "[]" [ref=e1476]:
              - generic [ref=e1477]: "[]"
          - row "SECURE_REFERRER_POLICY 'same-origin'" [ref=e1478]:
            - cell "SECURE_REFERRER_POLICY" [ref=e1479]
            - cell "'same-origin'" [ref=e1480]:
              - generic [ref=e1481]: "'same-origin'"
          - row "SECURE_SSL_HOST None" [ref=e1482]:
            - cell "SECURE_SSL_HOST" [ref=e1483]
            - cell "None" [ref=e1484]:
              - generic [ref=e1485]: None
          - row "SECURE_SSL_REDIRECT False" [ref=e1486]:
            - cell "SECURE_SSL_REDIRECT" [ref=e1487]
            - cell "False" [ref=e1488]:
              - generic [ref=e1489]: "False"
          - row "SERVER_EMAIL 'root@localhost'" [ref=e1490]:
            - cell "SERVER_EMAIL" [ref=e1491]
            - cell "'root@localhost'" [ref=e1492]:
              - generic [ref=e1493]: "'root@localhost'"
          - row "SESSION_CACHE_ALIAS 'default'" [ref=e1494]:
            - cell "SESSION_CACHE_ALIAS" [ref=e1495]
            - cell "'default'" [ref=e1496]:
              - generic [ref=e1497]: "'default'"
          - row "SESSION_COOKIE_AGE 43200" [ref=e1498]:
            - cell "SESSION_COOKIE_AGE" [ref=e1499]
            - cell "43200" [ref=e1500]:
              - generic [ref=e1501]: "43200"
          - row "SESSION_COOKIE_DOMAIN None" [ref=e1502]:
            - cell "SESSION_COOKIE_DOMAIN" [ref=e1503]
            - cell "None" [ref=e1504]:
              - generic [ref=e1505]: None
          - row "SESSION_COOKIE_HTTPONLY True" [ref=e1506]:
            - cell "SESSION_COOKIE_HTTPONLY" [ref=e1507]
            - cell "True" [ref=e1508]:
              - generic [ref=e1509]: "True"
          - row "SESSION_COOKIE_NAME 'sessionid'" [ref=e1510]:
            - cell "SESSION_COOKIE_NAME" [ref=e1511]
            - cell "'sessionid'" [ref=e1512]:
              - generic [ref=e1513]: "'sessionid'"
          - row "SESSION_COOKIE_PATH '/'" [ref=e1514]:
            - cell "SESSION_COOKIE_PATH" [ref=e1515]
            - cell "'/'" [ref=e1516]:
              - generic [ref=e1517]: "'/'"
          - row "SESSION_COOKIE_SAMESITE 'Lax'" [ref=e1518]:
            - cell "SESSION_COOKIE_SAMESITE" [ref=e1519]
            - cell "'Lax'" [ref=e1520]:
              - generic [ref=e1521]: "'Lax'"
          - row "SESSION_COOKIE_SECURE False" [ref=e1522]:
            - cell "SESSION_COOKIE_SECURE" [ref=e1523]
            - cell "False" [ref=e1524]:
              - generic [ref=e1525]: "False"
          - row "SESSION_ENGINE 'django.contrib.sessions.backends.db'" [ref=e1526]:
            - cell "SESSION_ENGINE" [ref=e1527]
            - cell "'django.contrib.sessions.backends.db'" [ref=e1528]:
              - generic [ref=e1529]: "'django.contrib.sessions.backends.db'"
          - row "SESSION_EXPIRE_AT_BROWSER_CLOSE False" [ref=e1530]:
            - cell "SESSION_EXPIRE_AT_BROWSER_CLOSE" [ref=e1531]
            - cell "False" [ref=e1532]:
              - generic [ref=e1533]: "False"
          - row "SESSION_FILE_PATH None" [ref=e1534]:
            - cell "SESSION_FILE_PATH" [ref=e1535]
            - cell "None" [ref=e1536]:
              - generic [ref=e1537]: None
          - row "SESSION_SAVE_EVERY_REQUEST True" [ref=e1538]:
            - cell "SESSION_SAVE_EVERY_REQUEST" [ref=e1539]
            - cell "True" [ref=e1540]:
              - generic [ref=e1541]: "True"
          - row "SESSION_SERIALIZER 'django.contrib.sessions.serializers.JSONSerializer'" [ref=e1542]:
            - cell "SESSION_SERIALIZER" [ref=e1543]
            - cell "'django.contrib.sessions.serializers.JSONSerializer'" [ref=e1544]:
              - generic [ref=e1545]: "'django.contrib.sessions.serializers.JSONSerializer'"
          - row "SETTINGS_MODULE 'config.settings.dev'" [ref=e1546]:
            - cell "SETTINGS_MODULE" [ref=e1547]
            - cell "'config.settings.dev'" [ref=e1548]:
              - generic [ref=e1549]: "'config.settings.dev'"
          - row "SHORT_DATETIME_FORMAT 'm/d/Y P'" [ref=e1550]:
            - cell "SHORT_DATETIME_FORMAT" [ref=e1551]
            - cell "'m/d/Y P'" [ref=e1552]:
              - generic [ref=e1553]: "'m/d/Y P'"
          - row "SHORT_DATE_FORMAT 'm/d/Y'" [ref=e1554]:
            - cell "SHORT_DATE_FORMAT" [ref=e1555]
            - cell "'m/d/Y'" [ref=e1556]:
              - generic [ref=e1557]: "'m/d/Y'"
          - row "SIGNING_BACKEND 'django.core.signing.TimestampSigner'" [ref=e1558]:
            - cell "SIGNING_BACKEND" [ref=e1559]
            - cell "'django.core.signing.TimestampSigner'" [ref=e1560]:
              - generic [ref=e1561]: "'django.core.signing.TimestampSigner'"
          - row "SILENCED_SYSTEM_CHECKS []" [ref=e1562]:
            - cell "SILENCED_SYSTEM_CHECKS" [ref=e1563]
            - cell "[]" [ref=e1564]:
              - generic [ref=e1565]: "[]"
          - 'row "SIMPLE_JWT {''ACCESS_TOKEN_LIFETIME'': ''********************'', ''BLACKLIST_AFTER_ROTATION'': True, ''REFRESH_TOKEN_LIFETIME'': ''********************'', ''ROTATE_REFRESH_TOKENS'': ''********************'', ''UPDATE_LAST_LOGIN'': True}" [ref=e1566]':
            - cell "SIMPLE_JWT" [ref=e1567]
            - 'cell "{''ACCESS_TOKEN_LIFETIME'': ''********************'', ''BLACKLIST_AFTER_ROTATION'': True, ''REFRESH_TOKEN_LIFETIME'': ''********************'', ''ROTATE_REFRESH_TOKENS'': ''********************'', ''UPDATE_LAST_LOGIN'': True}" [ref=e1568]':
              - generic [ref=e1569]: "{'ACCESS_TOKEN_LIFETIME': '********************', 'BLACKLIST_AFTER_ROTATION': True, 'REFRESH_TOKEN_LIFETIME': '********************', 'ROTATE_REFRESH_TOKENS': '********************', 'UPDATE_LAST_LOGIN': True}"
          - row "SITE_URL 'http://localhost:8000'" [ref=e1570]:
            - cell "SITE_URL" [ref=e1571]
            - cell "'http://localhost:8000'" [ref=e1572]:
              - generic [ref=e1573]: "'http://localhost:8000'"
          - 'row "SLA_DEFAULTS {''action'': {''critical'': 24, ''high'': 48, ''low'': 120, ''medium'': 72}, ''complaint'': {''critical'': 12, ''high'': 24, ''low'': 72, ''medium'': 48}}" [ref=e1574]':
            - cell "SLA_DEFAULTS" [ref=e1575]
            - 'cell "{''action'': {''critical'': 24, ''high'': 48, ''low'': 120, ''medium'': 72}, ''complaint'': {''critical'': 12, ''high'': 24, ''low'': 72, ''medium'': 48}}" [ref=e1576]':
              - generic [ref=e1577]: "{'action': {'critical': 24, 'high': 48, 'low': 120, 'medium': 72}, 'complaint': {'critical': 12, 'high': 24, 'low': 72, 'medium': 48}}"
          - 'row "SPECTACULAR_SETTINGS {''DESCRIPTION'': ''Patient Experience 360 Management System API'', ''SERVE_INCLUDE_SCHEMA'': False, ''TITLE'': ''PX360 API'', ''VERSION'': ''1.0.0''}" [ref=e1578]':
            - cell "SPECTACULAR_SETTINGS" [ref=e1579]
            - 'cell "{''DESCRIPTION'': ''Patient Experience 360 Management System API'', ''SERVE_INCLUDE_SCHEMA'': False, ''TITLE'': ''PX360 API'', ''VERSION'': ''1.0.0''}" [ref=e1580]':
              - generic [ref=e1581]: "{'DESCRIPTION': 'Patient Experience 360 Management System API', 'SERVE_INCLUDE_SCHEMA': False, 'TITLE': 'PX360 API', 'VERSION': '1.0.0'}"
          - row "STATICFILES_DIRS [PosixPath('/home/ismail/projects/HH/static')]" [ref=e1582]:
            - cell "STATICFILES_DIRS" [ref=e1583]
            - cell "[PosixPath('/home/ismail/projects/HH/static')]" [ref=e1584]:
              - generic [ref=e1585]: "[PosixPath('/home/ismail/projects/HH/static')]"
          - row "STATICFILES_FINDERS ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder']" [ref=e1586]:
            - cell "STATICFILES_FINDERS" [ref=e1587]
            - cell "['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder']" [ref=e1588]:
              - generic [ref=e1589]: "['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder']"
          - row "STATIC_ROOT PosixPath('/home/ismail/projects/HH/staticfiles')" [ref=e1590]:
            - cell "STATIC_ROOT" [ref=e1591]
            - cell "PosixPath('/home/ismail/projects/HH/staticfiles')" [ref=e1592]:
              - generic [ref=e1593]: PosixPath('/home/ismail/projects/HH/staticfiles')
          - row "STATIC_URL '/static/'" [ref=e1594]:
            - cell "STATIC_URL" [ref=e1595]
            - cell "'/static/'" [ref=e1596]:
              - generic [ref=e1597]: "'/static/'"
          - 'row "STORAGES {''default'': {''BACKEND'': ''django.core.files.storage.FileSystemStorage''}, ''staticfiles'': {''BACKEND'': ''whitenoise.storage.CompressedManifestStaticFilesStorage''}}" [ref=e1598]':
            - cell "STORAGES" [ref=e1599]
            - 'cell "{''default'': {''BACKEND'': ''django.core.files.storage.FileSystemStorage''}, ''staticfiles'': {''BACKEND'': ''whitenoise.storage.CompressedManifestStaticFilesStorage''}}" [ref=e1600]':
              - generic [ref=e1601]: "{'default': {'BACKEND': 'django.core.files.storage.FileSystemStorage'}, 'staticfiles': {'BACKEND': 'whitenoise.storage.CompressedManifestStaticFilesStorage'}}"
          - row "SURVEY_NEGATIVE_THRESHOLD 3" [ref=e1602]:
            - cell "SURVEY_NEGATIVE_THRESHOLD" [ref=e1603]
            - cell "3" [ref=e1604]:
              - generic [ref=e1605]: "3"
          - row "SURVEY_TOKEN_EXPIRY_DAYS '********************'" [ref=e1606]:
            - cell "SURVEY_TOKEN_EXPIRY_DAYS" [ref=e1607]
            - cell "'********************'" [ref=e1608]:
              - generic [ref=e1609]: "'********************'"
          - 'row "TASKS {''default'': {''BACKEND'': ''django.tasks.backends.immediate.ImmediateBackend''}}" [ref=e1610]':
            - cell "TASKS" [ref=e1611]
            - 'cell "{''default'': {''BACKEND'': ''django.tasks.backends.immediate.ImmediateBackend''}}" [ref=e1612]':
              - generic [ref=e1613]: "{'default': {'BACKEND': 'django.tasks.backends.immediate.ImmediateBackend'}}"
          - 'row "TEMPLATES [{''APP_DIRS'': True, ''BACKEND'': ''django.template.backends.django.DjangoTemplates'', ''DIRS'': [PosixPath(''/home/ismail/projects/HH/templates'')], ''OPTIONS'': {''context_processors'': [''django.template.context_processors.debug'', ''django.template.context_processors.request'', ''django.contrib.auth.context_processors.auth'', ''django.contrib.messages.context_processors.messages'', ''django.template.context_processors.i18n'', ''apps.core.context_processors.sidebar_counts'', ''apps.core.context_processors.hospital_context'', ''apps.accounts.context_processors.acknowledgement_counts'']}}]" [ref=e1614]':
            - cell "TEMPLATES" [ref=e1615]
            - 'cell "[{''APP_DIRS'': True, ''BACKEND'': ''django.template.backends.django.DjangoTemplates'', ''DIRS'': [PosixPath(''/home/ismail/projects/HH/templates'')], ''OPTIONS'': {''context_processors'': [''django.template.context_processors.debug'', ''django.template.context_processors.request'', ''django.contrib.auth.context_processors.auth'', ''django.contrib.messages.context_processors.messages'', ''django.template.context_processors.i18n'', ''apps.core.context_processors.sidebar_counts'', ''apps.core.context_processors.hospital_context'', ''apps.accounts.context_processors.acknowledgement_counts'']}}]" [ref=e1616]':
              - generic [ref=e1617]: "[{'APP_DIRS': True, 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [PosixPath('/home/ismail/projects/HH/templates')], 'OPTIONS': {'context_processors': ['django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', 'django.template.context_processors.i18n', 'apps.core.context_processors.sidebar_counts', 'apps.core.context_processors.hospital_context', 'apps.accounts.context_processors.acknowledgement_counts']}}]"
          - row "TENANCY_ENABLED True" [ref=e1618]:
            - cell "TENANCY_ENABLED" [ref=e1619]
            - cell "True" [ref=e1620]:
              - generic [ref=e1621]: "True"
          - row "TENANT_FIELD 'hospital'" [ref=e1622]:
            - cell "TENANT_FIELD" [ref=e1623]
            - cell "'hospital'" [ref=e1624]:
              - generic [ref=e1625]: "'hospital'"
          - row "TENANT_ISOLATION_LEVEL 'strict'" [ref=e1626]:
            - cell "TENANT_ISOLATION_LEVEL" [ref=e1627]
            - cell "'strict'" [ref=e1628]:
              - generic [ref=e1629]: "'strict'"
          - row "TENANT_MODEL 'organizations.Hospital'" [ref=e1630]:
            - cell "TENANT_MODEL" [ref=e1631]
            - cell "'organizations.Hospital'" [ref=e1632]:
              - generic [ref=e1633]: "'organizations.Hospital'"
          - row "TEST_NON_SERIALIZED_APPS []" [ref=e1634]:
            - cell "TEST_NON_SERIALIZED_APPS" [ref=e1635]
            - cell "[]" [ref=e1636]:
              - generic [ref=e1637]: "[]"
          - row "TEST_RUNNER 'django.test.runner.DiscoverRunner'" [ref=e1638]:
            - cell "TEST_RUNNER" [ref=e1639]
            - cell "'django.test.runner.DiscoverRunner'" [ref=e1640]:
              - generic [ref=e1641]: "'django.test.runner.DiscoverRunner'"
          - row "THIRD_PARTY_APPS ['rest_framework', 'rest_framework_simplejwt', 'rest_framework_simplejwt.token_blacklist', 'django_filters', 'drf_spectacular', 'django_celery_beat']" [ref=e1642]:
            - cell "THIRD_PARTY_APPS" [ref=e1643]
            - cell "['rest_framework', 'rest_framework_simplejwt', 'rest_framework_simplejwt.token_blacklist', 'django_filters', 'drf_spectacular', 'django_celery_beat']" [ref=e1644]:
              - generic [ref=e1645]: "['rest_framework', 'rest_framework_simplejwt', 'rest_framework_simplejwt.token_blacklist', 'django_filters', 'drf_spectacular', 'django_celery_beat']"
          - row "THOUSAND_SEPARATOR ','" [ref=e1646]:
            - cell "THOUSAND_SEPARATOR" [ref=e1647]
            - cell "','" [ref=e1648]:
              - generic [ref=e1649]: "','"
          - row "TIME_FORMAT 'P'" [ref=e1650]:
            - cell "TIME_FORMAT" [ref=e1651]
            - cell "'P'" [ref=e1652]:
              - generic [ref=e1653]: "'P'"
          - row "TIME_INPUT_FORMATS ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']" [ref=e1654]:
            - cell "TIME_INPUT_FORMATS" [ref=e1655]
            - cell "['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']" [ref=e1656]:
              - generic [ref=e1657]: "['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']"
          - row "TIME_ZONE 'Asia/Riyadh'" [ref=e1658]:
            - cell "TIME_ZONE" [ref=e1659]
            - cell "'Asia/Riyadh'" [ref=e1660]:
              - generic [ref=e1661]: "'Asia/Riyadh'"
          - row "TWILIO_ACCOUNT_SID ''" [ref=e1662]:
            - cell "TWILIO_ACCOUNT_SID" [ref=e1663]
            - cell "''" [ref=e1664]:
              - generic [ref=e1665]: "''"
          - row "TWILIO_AUTH_TOKEN '********************'" [ref=e1666]:
            - cell "TWILIO_AUTH_TOKEN" [ref=e1667]
            - cell "'********************'" [ref=e1668]:
              - generic [ref=e1669]: "'********************'"
          - row "TWILIO_MESSAGING_SERVICE_SID ''" [ref=e1670]:
            - cell "TWILIO_MESSAGING_SERVICE_SID" [ref=e1671]
            - cell "''" [ref=e1672]:
              - generic [ref=e1673]: "''"
          - row "TWILIO_PHONE_NUMBER ''" [ref=e1674]:
            - cell "TWILIO_PHONE_NUMBER" [ref=e1675]
            - cell "''" [ref=e1676]:
              - generic [ref=e1677]: "''"
          - row "TWITTER_BEARER_TOKEN '********************'" [ref=e1678]:
            - cell "TWITTER_BEARER_TOKEN" [ref=e1679]
            - cell "'********************'" [ref=e1680]:
              - generic [ref=e1681]: "'********************'"
          - row "TWITTER_USERNAME None" [ref=e1682]:
            - cell "TWITTER_USERNAME" [ref=e1683]
            - cell "None" [ref=e1684]:
              - generic [ref=e1685]: None
          - row "URLIZE_ASSUME_HTTPS False" [ref=e1686]:
            - cell "URLIZE_ASSUME_HTTPS" [ref=e1687]
            - cell "False" [ref=e1688]:
              - generic [ref=e1689]: "False"
          - row "USE_I18N True" [ref=e1690]:
            - cell "USE_I18N" [ref=e1691]
            - cell "True" [ref=e1692]:
              - generic [ref=e1693]: "True"
          - row "USE_THOUSAND_SEPARATOR False" [ref=e1694]:
            - cell "USE_THOUSAND_SEPARATOR" [ref=e1695]
            - cell "False" [ref=e1696]:
              - generic [ref=e1697]: "False"
          - row "USE_TZ True" [ref=e1698]:
            - cell "USE_TZ" [ref=e1699]
            - cell "True" [ref=e1700]:
              - generic [ref=e1701]: "True"
          - row "USE_X_FORWARDED_HOST False" [ref=e1702]:
            - cell "USE_X_FORWARDED_HOST" [ref=e1703]
            - cell "False" [ref=e1704]:
              - generic [ref=e1705]: "False"
          - row "USE_X_FORWARDED_PORT False" [ref=e1706]:
            - cell "USE_X_FORWARDED_PORT" [ref=e1707]
            - cell "False" [ref=e1708]:
              - generic [ref=e1709]: "False"
          - row "WSGI_APPLICATION 'config.wsgi.application'" [ref=e1710]:
            - cell "WSGI_APPLICATION" [ref=e1711]
            - cell "'config.wsgi.application'" [ref=e1712]:
              - generic [ref=e1713]: "'config.wsgi.application'"
          - row "X_FRAME_OPTIONS 'DENY'" [ref=e1714]:
            - cell "X_FRAME_OPTIONS" [ref=e1715]
            - cell "'DENY'" [ref=e1716]:
              - generic [ref=e1717]: "'DENY'"
          - row "YEAR_MONTH_FORMAT 'F Y'" [ref=e1718]:
            - cell "YEAR_MONTH_FORMAT" [ref=e1719]
            - cell "'F Y'" [ref=e1720]:
              - generic [ref=e1721]: "'F Y'"
          - row "YOUTUBE_API_KEY '********************'" [ref=e1722]:
            - cell "YOUTUBE_API_KEY" [ref=e1723]
            - cell "'********************'" [ref=e1724]:
              - generic [ref=e1725]: "'********************'"
          - row "YOUTUBE_CHANNEL_ID 'UCKoEfCXsm4_cQMtqJTvZUVQ'" [ref=e1726]:
            - cell "YOUTUBE_CHANNEL_ID" [ref=e1727]
            - cell "'UCKoEfCXsm4_cQMtqJTvZUVQ'" [ref=e1728]:
              - generic [ref=e1729]: "'UCKoEfCXsm4_cQMtqJTvZUVQ'"
  - contentinfo [ref=e1730]:
    - paragraph [ref=e1731]:
      - text: Youre seeing this error because you have
      - code [ref=e1732]: DEBUG = True
      - text: in your Django settings file. Change that to
      - code [ref=e1733]: "False"
      - text: ", and Django will display a standard page generated by the handler for this status code."

Test source

  1   | import { test, expect } from '@playwright/test';
  2   | import { RoleAuthHelper } from '../../helpers/helpers';
  3   | 
  4   | test.describe('Observation Lifecycle', () => {
  5   |   test.describe.configure({ mode: 'serial' });
  6   | 
  7   |   let trackingCode = '';
  8   | 
  9   |   test('submit observation via public form gets tracking code', async ({ page }) => {
  10  |     await page.goto('/observations/new/');
> 11  |     await page.waitForSelector('form');
      |                ^ Error: page.waitForSelector: Test timeout of 60000ms exceeded.
  12  | 
  13  |     const timestamp = Date.now();
  14  | 
  15  |     const titleInput = page.locator('input[name="title"]');
  16  |     if (await titleInput.count() > 0) {
  17  |       await titleInput.fill(`E2E Test Observation ${timestamp}`);
  18  |     }
  19  | 
  20  |     await page.fill('textarea[name="description"]', `E2E automated test observation ${timestamp}. Please ignore.`);
  21  | 
  22  |     await page.click('button[type="submit"]');
  23  |     await page.waitForLoadState('domcontentloaded');
  24  |     await page.waitForTimeout(3000);
  25  | 
  26  |     const pageText = await page.textContent('body');
  27  |     const match = pageText?.match(/OBS-\w+/);
  28  |     if (match) {
  29  |       trackingCode = match[0];
  30  |     }
  31  | 
  32  |     const success = pageText?.includes('submitted') || pageText?.includes('success') || pageText?.includes('thank') || !!match;
  33  |     expect(success || true).toBeTruthy();
  34  |   });
  35  | 
  36  |   test('observation appears in admin list', async ({ page }) => {
  37  |     const auth = new RoleAuthHelper(page);
  38  |     await auth.login('hospital_admin');
  39  | 
  40  |     await page.goto('/observations/');
  41  |     await page.waitForLoadState('domcontentloaded');
  42  |     await page.waitForTimeout(2000);
  43  | 
  44  |     const table = page.locator('table.w-full, table');
  45  |     expect(await table.count()).toBeGreaterThan(0);
  46  | 
  47  |     if (trackingCode) {
  48  |       const searchInput = page.locator('input[name="search"]');
  49  |       if (await searchInput.count() > 0) {
  50  |         await searchInput.fill(trackingCode);
  51  |         await searchInput.press('Enter');
  52  |         await page.waitForLoadState('domcontentloaded');
  53  |         await page.waitForTimeout(1000);
  54  | 
  55  |         const tableText = await table.textContent();
  56  |         const found = tableText?.includes(trackingCode);
  57  |         expect(found || true).toBeTruthy();
  58  |       }
  59  |     }
  60  |   });
  61  | 
  62  |   test('observation list has filters and statistics', async ({ page }) => {
  63  |     const auth = new RoleAuthHelper(page);
  64  |     await auth.login('hospital_admin');
  65  | 
  66  |     await page.goto('/observations/');
  67  |     await page.waitForLoadState('domcontentloaded');
  68  |     await page.waitForTimeout(2000);
  69  | 
  70  |     const filterForm = page.locator('form#filterForm, form[method="get"]');
  71  |     const hasFilters = await filterForm.count().then(c => c > 0);
  72  |     expect(hasFilters).toBeTruthy();
  73  |   });
  74  | 
  75  |   test('observation detail page loads with status and actions', async ({ page }) => {
  76  |     const auth = new RoleAuthHelper(page);
  77  |     await auth.login('hospital_admin');
  78  | 
  79  |     await page.goto('/observations/?status=new');
  80  |     await page.waitForLoadState('domcontentloaded');
  81  |     await page.waitForTimeout(2000);
  82  | 
  83  |     const firstRow = page.locator('tr.observation-row, table tbody tr').first();
  84  |     const hasRows = await firstRow.count().then(c => c > 0);
  85  |     if (!hasRows) {
  86  |       test.skip();
  87  |       return;
  88  |     }
  89  | 
  90  |     const viewLink = firstRow.locator('a[href*="/observations/"]').first();
  91  |     if (await viewLink.count() > 0) {
  92  |       await viewLink.click();
  93  |     } else {
  94  |       await firstRow.click();
  95  |     }
  96  | 
  97  |     await page.waitForLoadState('domcontentloaded');
  98  |     await page.waitForTimeout(1500);
  99  | 
  100 |     const pageText = await page.textContent('body');
  101 |     expect(pageText).toContain('OBS-');
  102 |   });
  103 | 
  104 |   test('observation status change form exists on detail page', async ({ page }) => {
  105 |     const auth = new RoleAuthHelper(page);
  106 |     await auth.login('hospital_admin');
  107 | 
  108 |     await page.goto('/observations/');
  109 |     await page.waitForLoadState('domcontentloaded');
  110 |     await page.waitForTimeout(2000);
  111 |